From 0a934cff6849af62ea48d51334cd4e694187188a Mon Sep 17 00:00:00 2001 From: Evgeny Date: Thu, 10 May 2018 13:19:10 -0500 Subject: [PATCH 001/691] Initial commit --- CMakeLists.txt | 103 ++++ DEBIAN/postinst | 19 + DEBIAN/prerm | 18 + LICENSE | 21 + RPM/rpm_post | 1 + RPM/rpm_postun | 1 + Readme.txt | 9 + _clang-format | 60 +++ cmake_modules/env.cmake | 107 +++++ cmake_modules/utils.cmake | 116 +++++ doc/ROC_profiler_API.pptx | Bin 0 -> 1117508 bytes doc/ROC_profiler_spec_v_1_2_3.docx | Bin 0 -> 96135 bytes inc/roctracer.h | 230 +++++++++ script/hipap.py | 189 ++++++++ src/CMakeLists.txt | 11 + src/core/roctracer.cpp | 420 +++++++++++++++++ src/util/exception.h | 47 ++ src/util/hsa_rsrc_factory.cpp | 572 +++++++++++++++++++++++ src/util/hsa_rsrc_factory.h | 283 +++++++++++ src/util/logger.h | 169 +++++++ test/MatrixTranspose/Makefile | 36 ++ test/MatrixTranspose/MatrixTranspose | Bin 0 -> 1980792 bytes test/MatrixTranspose/MatrixTranspose.cpp | 269 +++++++++++ test/MatrixTranspose/MatrixTranspose.o | Bin 0 -> 2013216 bytes test/MatrixTranspose/Readme.md | 100 ++++ test/MatrixTranspose/log.txt | 31 ++ 26 files changed, 2812 insertions(+) create mode 100644 CMakeLists.txt create mode 100644 DEBIAN/postinst create mode 100644 DEBIAN/prerm create mode 100644 LICENSE create mode 100644 RPM/rpm_post create mode 100644 RPM/rpm_postun create mode 100644 Readme.txt create mode 100644 _clang-format create mode 100644 cmake_modules/env.cmake create mode 100644 cmake_modules/utils.cmake create mode 100644 doc/ROC_profiler_API.pptx create mode 100644 doc/ROC_profiler_spec_v_1_2_3.docx create mode 100644 inc/roctracer.h create mode 100755 script/hipap.py create mode 100644 src/CMakeLists.txt create mode 100644 src/core/roctracer.cpp create mode 100644 src/util/exception.h create mode 100644 src/util/hsa_rsrc_factory.cpp create mode 100644 src/util/hsa_rsrc_factory.h create mode 100644 src/util/logger.h create mode 100644 test/MatrixTranspose/Makefile create mode 100755 test/MatrixTranspose/MatrixTranspose create mode 100644 test/MatrixTranspose/MatrixTranspose.cpp create mode 100644 test/MatrixTranspose/MatrixTranspose.o create mode 100644 test/MatrixTranspose/Readme.md create mode 100644 test/MatrixTranspose/log.txt diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000000..c74ed4c781 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,103 @@ +################################################################################ +## +## Copyright (c) 2016 Advanced Micro Devices, Inc. All rights reserved. +## +## MIT LICENSE: +## Permission is hereby granted, free of charge, to any person obtaining a copy of +## this software and associated documentation files (the "Software"), to deal in +## the Software without restriction, including without limitation the rights to +## use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +## of the Software, and to permit persons to whom the Software is furnished to do +## so, subject to the following conditions: +## +## The above copyright notice and this permission notice shall be included in all +## copies or substantial portions of the Software. +## +## THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +## IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +## FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +## AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +## LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +## OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +## SOFTWARE. +## +################################################################################ + +cmake_minimum_required ( VERSION 3.5.0 ) + +## Verbose output. +set ( CMAKE_VERBOSE_MAKEFILE TRUE CACHE BOOL "Verbose Output" FORCE ) + +## Set module name and project name. +set ( ROCTRACER_NAME "roctracer" ) +set ( ROCTRACER_TARGET "${ROCTRACER_NAME}64" ) +set ( ROCTRACER_LIBRARY "lib${ROCTRACER_TARGET}" ) +project ( ${ROCTRACER_TARGET} ) + +## Adding default path cmake modules +list ( APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake_modules" ) +## Include common cmake modules +include ( utils ) +## Set build environment +include ( env ) + +## Setup the package version. +get_version ( "1.0.0" ) +message ( "-- LIB-VERSION: ${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}" ) + +set ( BUILD_VERSION_MAJOR ${VERSION_MAJOR} ) +set ( BUILD_VERSION_MINOR ${VERSION_MINOR} ) +set ( BUILD_VERSION_PATCH ${VERSION_PATCH} ) +set ( LIB_VERSION_STRING "${BUILD_VERSION_MAJOR}.${BUILD_VERSION_MINOR}.${BUILD_VERSION_PATCH}" ) +if ( DEFINED VERSION_BUILD AND NOT ${VERSION_BUILD} STREQUAL "" ) + message ( "VERSION BUILD DEFINED ${VERSION_BUILD}" ) + set ( BUILD_VERSION_PATCH "${BUILD_VERSION_PATCH}-${VERSION_BUILD}" ) +endif () +set ( BUILD_VERSION_STRING "${BUILD_VERSION_MAJOR}.${BUILD_VERSION_MINOR}.${BUILD_VERSION_PATCH}" ) + +## Set target and root/lib/test directory +set ( TARGET_NAME "${ROCTRACER_TARGET}" ) +set ( ROOT_DIR "${CMAKE_CURRENT_SOURCE_DIR}" ) +set ( LIB_DIR "${ROOT_DIR}/src" ) +#set ( TEST_DIR "${ROOT_DIR}/test" ) + +## Build library +include ( ${LIB_DIR}/CMakeLists.txt ) + +## Set the VERSION and SOVERSION values +set_property ( TARGET ${TARGET_NAME} PROPERTY VERSION "${LIB_VERSION_STRING}" ) +set_property ( TARGET ${TARGET_NAME} PROPERTY SOVERSION "${BUILD_VERSION_MAJOR}" ) + +## If the library is a release, strip the target library +if ( "${CMAKE_BUILD_TYPE}" STREQUAL release ) + add_custom_command ( TARGET ${ROCTRACER_TARGET} POST_BUILD COMMAND ${CMAKE_STRIP} *.so ) +endif () + +## Build tests +#add_subdirectory ( ${TEST_DIR} ${PROJECT_BINARY_DIR}/test ) + +## Install information +install ( TARGETS ${ROCTRACER_TARGET} LIBRARY DESTINATION ${ROCTRACER_NAME}/lib ) +install ( FILES ${CMAKE_CURRENT_SOURCE_DIR}/inc/roctracer.h DESTINATION ${ROCTRACER_NAME}/include ) + +## Packaging directives +set ( CPACK_PACKAGE_NAME "${ROCTRACER_NAME}-dev" ) +set ( CPACK_PACKAGE_VENDOR "AMD" ) +set ( CPACK_PACKAGE_VERSION_MAJOR ${BUILD_VERSION_MAJOR} ) +set ( CPACK_PACKAGE_VERSION_MINOR ${BUILD_VERSION_MINOR} ) +set ( CPACK_PACKAGE_VERSION_PATCH ${BUILD_VERSION_PATCH} ) +set ( CPACK_PACKAGE_CONTACT "Advanced Micro Devices Inc." ) +set ( CPACK_PACKAGE_DESCRIPTION_SUMMARY "ROCTRACER library for AMD HSA runtime API extension support" ) +set ( CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE" ) + +## Debian package specific variables +set ( CPACK_DEBIAN_PACKAGE_DEPENDS "hsa-rocr-dev" ) +set ( CPACK_DEBIAN_PACKAGE_HOMEPAGE "https://github.com/RadeonOpenCompute/HSA-RocProfiler" ) +set ( CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA "${CMAKE_CURRENT_SOURCE_DIR}/DEBIAN/postinst;${CMAKE_CURRENT_SOURCE_DIR}/DEBIAN/prerm" ) + +## RPM package specific variables +set ( CPACK_RPM_PACKAGE_DEPENDS "hsa-rocr-dev" ) +set ( CPACK_RPM_PRE_INSTALL_SCRIPT_FILE "${CMAKE_CURRENT_SOURCE_DIR}/RPM/rpm_post" ) +set ( CPACK_RPM_POST_UNINSTALL_SCRIPT_FILE "${CMAKE_CURRENT_SOURCE_DIR}/RPM/rpm_postun" ) + +include ( CPack ) diff --git a/DEBIAN/postinst b/DEBIAN/postinst new file mode 100644 index 0000000000..bd84d5d799 --- /dev/null +++ b/DEBIAN/postinst @@ -0,0 +1,19 @@ +#/bin/bash + +set -e + +do_ldconfig() { + echo /opt/rocm/libroctracer/lib > /etc/ld.so.conf.d/libhsa-roctracer64.conf && ldconfig +} + +case "$1" in + configure) + do_ldconfig + ;; + abort-upgrade|abort-remove|abort-deconfigure) + echo "$1" + ;; + *) + exit 0 + ;; +esac diff --git a/DEBIAN/prerm b/DEBIAN/prerm new file mode 100644 index 0000000000..84562f4a95 --- /dev/null +++ b/DEBIAN/prerm @@ -0,0 +1,18 @@ +#!/bin/bash + +set -e + +rm_ldconfig() { + rm -f /etc/ld.so.conf.d/libhsa-roctracer64.conf && ldconfig +} + +case "$1" in + remove) + rm_ldconfig + ;; + purge) + ;; + *) + exit 0 + ;; +esac diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000000..73e11eb87e --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2017 ROCm Core Technology + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/RPM/rpm_post b/RPM/rpm_post new file mode 100644 index 0000000000..ea165c9ad3 --- /dev/null +++ b/RPM/rpm_post @@ -0,0 +1 @@ +echo /opt/rocm/libroctracer/lib > /etc/ld.so.conf.d/libhsa-roctracer64.conf && ldconfig diff --git a/RPM/rpm_postun b/RPM/rpm_postun new file mode 100644 index 0000000000..70472adf56 --- /dev/null +++ b/RPM/rpm_postun @@ -0,0 +1 @@ +rm -f /etc/ld.so.conf.d/libhsa-roctracer64.conf && ldconfig diff --git a/Readme.txt b/Readme.txt new file mode 100644 index 0000000000..8a95e5cc5e --- /dev/null +++ b/Readme.txt @@ -0,0 +1,9 @@ +ROC Profiler/Traces library. +Callback and Activity APIs + +The library source tree: + - doc - Documentation + - inc/roctracer.h - Library public API + - src - Library sources + - core - Library API sources + - util - Library utils sources diff --git a/_clang-format b/_clang-format new file mode 100644 index 0000000000..0c81671e05 --- /dev/null +++ b/_clang-format @@ -0,0 +1,60 @@ +--- +Language: Cpp +# BasedOnStyle: Google +AccessModifierOffset: -1 +ConstructorInitializerIndentWidth: 4 +AlignEscapedNewlinesLeft: false +AlignTrailingComments: true +AlignConsecutiveAssignments: false +AlignOperands: false +AllowAllParametersOfDeclarationOnNextLine: true +AllowShortBlocksOnASingleLine: false +AllowShortIfStatementsOnASingleLine: true +AllowShortLoopsOnASingleLine: true +AllowShortFunctionsOnASingleLine: All +AlwaysBreakAfterDefinitionReturnType: false +AlwaysBreakTemplateDeclarations: false +AlwaysBreakBeforeMultilineStrings: true +BreakBeforeBinaryOperators: false +BreakBeforeTernaryOperators: true +BreakConstructorInitializersBeforeComma: false +BinPackParameters: true +ColumnLimit: 100 +ConstructorInitializerAllOnOneLineOrOnePerLine: true +ExperimentalAutoDetectBinPacking: false +IndentCaseLabels: true +IndentWrappedFunctionNames: false +IndentFunctionDeclarationAfterType: false +MaxEmptyLinesToKeep: 2 +KeepEmptyLinesAtTheStartOfBlocks: false +NamespaceIndentation: None +ObjCSpaceAfterProperty: false +ObjCSpaceBeforeProtocolList: false +PenaltyBreakBeforeFirstCallParameter: 1 +PenaltyBreakComment: 300 +PenaltyBreakString: 1000 +PenaltyBreakFirstLessLess: 120 +PenaltyExcessCharacter: 1000000 +PenaltyReturnTypeOnItsOwnLine: 200 +DerivePointerAlignment: false +PointerAlignment: Left +SpacesBeforeTrailingComments: 2 +Cpp11BracedListStyle: true +Standard: Auto +IndentWidth: 2 +TabWidth: 8 +UseTab: Never +BreakBeforeBraces: Attach +SpacesInParentheses: false +SpacesInAngles: false +SpaceInEmptyParentheses: false +SpacesInCStyleCastParentheses: false +SpacesInContainerLiterals: true +SpaceBeforeAssignmentOperators: true +ContinuationIndentWidth: 4 +CommentPragmas: '^ IWYU pragma:' +ForEachMacros: [ foreach, Q_FOREACH, BOOST_FOREACH ] +SpaceBeforeParens: ControlStatements +DisableFormat: false +SortIncludes: false +... diff --git a/cmake_modules/env.cmake b/cmake_modules/env.cmake new file mode 100644 index 0000000000..8cc0642116 --- /dev/null +++ b/cmake_modules/env.cmake @@ -0,0 +1,107 @@ +## Build is not supported on Windows plaform +if ( WIN32 ) + message ( FATAL_ERROR "Windows build is not supported." ) +endif () + +## Compiler Preprocessor definitions. +add_definitions ( -D__linux__ ) +add_definitions ( -DUNIX_OS ) +add_definitions ( -DLINUX ) +add_definitions ( -D__AMD64__ ) +add_definitions ( -D__x86_64__ ) +add_definitions ( -DAMD_INTERNAL_BUILD ) +add_definitions ( -DLITTLEENDIAN_CPU=1 ) +add_definitions ( -DHSA_LARGE_MODEL= ) +add_definitions ( -DHSA_DEPRECATED= ) +add_definitions ( -D__HIP_PLATFORM_HCC__ ) + +## Linux Compiler options +set ( CMAKE_CXX_FLAGS "-std=c++11") +set ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall" ) +set ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror" ) +set ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror=return-type" ) +set ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fexceptions" ) +set ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=hidden" ) +set ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-math-errno" ) +set ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-threadsafe-statics" ) +set ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fmerge-all-constants" ) +set ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fms-extensions" ) +set ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fmerge-all-constants" ) +set ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC" ) + +set ( CMAKE_SHARED_LINKER_FLAGS "-Wl,-Bdynamic -Wl,-z,noexecstack" ) + +set ( CMAKE_SKIP_BUILD_RPATH TRUE ) + +## CLANG options +if ( "$ENV{CXX}" STREQUAL "/usr/bin/clang++" ) + set ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -ferror-limit=1000000" ) +endif() + +## Enable debug trace +if ( DEFINED ENV{CMAKE_DEBUG_TRACE} ) + add_definitions ( -DDEBUG_TRACE=1 ) +endif() + +## Enable direct loading of AQL-profile HSA extension +if ( DEFINED ENV{CMAKE_LD_AQLPROFILE} ) + add_definitions ( -DROCP_LD_AQLPROFILE=1 ) +endif() + +## Make env vars +if ( NOT DEFINED CMAKE_BUILD_TYPE OR "${CMAKE_BUILD_TYPE}" STREQUAL "" ) + if ( DEFINED ENV{CMAKE_BUILD_TYPE} ) + set ( CMAKE_BUILD_TYPE $ENV{CMAKE_BUILD_TYPE} ) + endif() +endif() +if ( NOT DEFINED CMAKE_PREFIX_PATH AND DEFINED ENV{CMAKE_PREFIX_PATH} ) + set ( CMAKE_PREFIX_PATH $ENV{CMAKE_PREFIX_PATH} ) +endif() + +set ( HIP_INC_DIR $ENV{HIP_INC_DIR} ) + +## Extend Compiler flags based on build type +string ( TOLOWER "${CMAKE_BUILD_TYPE}" CMAKE_BUILD_TYPE ) +if ( "${CMAKE_BUILD_TYPE}" STREQUAL debug ) + set ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -ggdb" ) + set ( CMAKE_BUILD_TYPE "debug" ) +else () + set ( CMAKE_BUILD_TYPE "release" ) +endif () + +## Extend Compiler flags based on Processor architecture +if ( ${CMAKE_SYSTEM_PROCESSOR} STREQUAL "x86_64" ) + set ( NBIT 64 ) + set ( NBITSTR "64" ) + set ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -m64 -msse -msse2" ) +elseif ( ${CMAKE_SYSTEM_PROCESSOR} STREQUAL "x86" ) + set ( NBIT 32 ) + set ( NBITSTR "" ) + set ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -m32" ) +endif () + +## Find hsa-runtime headers/lib +find_file ( HSA_RUNTIME_INC "hsa.h" ) +if ( "${HSA_RUNTIME_INC_PATH}" STREQUAL "" ) + find_file ( HSA_RUNTIME_INC "hsa/hsa.h" ) +endif() +find_library ( HSA_RUNTIME_LIB "libhsa-runtime${NBIT}.so" ) +get_filename_component ( HSA_RUNTIME_INC_PATH ${HSA_RUNTIME_INC} DIRECTORY ) +get_filename_component ( HSA_RUNTIME_LIB_PATH ${HSA_RUNTIME_LIB} DIRECTORY ) + +find_library ( HSA_KMT_LIB "libhsakmt.so" ) +get_filename_component ( HSA_KMT_LIB_PATH ${HSA_KMT_LIB} DIRECTORY ) + +set ( API_PATH ${HSA_RUNTIME_INC_PATH} ) + +## Basic Tool Chain Information +message ( "----------------NBIT: ${NBIT}" ) +message ( "-----------BuildType: ${CMAKE_BUILD_TYPE}" ) +message ( "------------Compiler: ${CMAKE_CXX_COMPILER}" ) +message ( "----Compiler-Version: ${CMAKE_CXX_COMPILER_VERSION}" ) +message ( "-----HSA-Runtime-Inc: ${HSA_RUNTIME_INC_PATH}" ) +message ( "-----HSA-Runtime-Lib: ${HSA_RUNTIME_LIB_PATH}" ) +message ( "------------API-path: ${API_PATH}" ) +message ( "-----CMAKE_CXX_FLAGS: ${CMAKE_CXX_FLAGS}" ) +message ( "---CMAKE_PREFIX_PATH: ${CMAKE_PREFIX_PATH}" ) +message ( "---------HIP_INC_DIR: ${HIP_INC_DIR}" ) diff --git a/cmake_modules/utils.cmake b/cmake_modules/utils.cmake new file mode 100644 index 0000000000..3e4d77357d --- /dev/null +++ b/cmake_modules/utils.cmake @@ -0,0 +1,116 @@ +################################################################################ +## +## The University of Illinois/NCSA +## Open Source License (NCSA) +## +## Copyright (c) 2014-2017, Advanced Micro Devices, Inc. All rights reserved. +## +## Developed by: +## +## AMD Research and AMD HSA Software Development +## +## Advanced Micro Devices, Inc. +## +## www.amd.com +## +## Permission is hereby granted, free of charge, to any person obtaining a copy +## of this software and associated documentation files (the "Software"), to +## deal with the Software without restriction, including without limitation +## the rights to use, copy, modify, merge, publish, distribute, sublicense, +## and#or sell copies of the Software, and to permit persons to whom the +## Software is furnished to do so, subject to the following conditions: +## +## - Redistributions of source code must retain the above copyright notice, +## this list of conditions and the following disclaimers. +## - Redistributions in binary form must reproduce the above copyright +## notice, this list of conditions and the following disclaimers in +## the documentation and#or other materials provided with the distribution. +## - Neither the names of Advanced Micro Devices, Inc, +## nor the names of its contributors may be used to endorse or promote +## products derived from this Software without specific prior written +## permission. +## +## THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +## IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +## FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +## THE CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR +## OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +## ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +## DEALINGS WITH THE SOFTWARE. +## +################################################################################ + +## Parses the VERSION_STRING variable and places +## the first, second and third number values in +## the major, minor and patch variables. +function( parse_version VERSION_STRING ) + + string ( FIND ${VERSION_STRING} "-" STRING_INDEX ) + + if ( ${STRING_INDEX} GREATER -1 ) + math ( EXPR STRING_INDEX "${STRING_INDEX} + 1" ) + string ( SUBSTRING ${VERSION_STRING} ${STRING_INDEX} -1 VERSION_BUILD ) + endif () + + string ( REGEX MATCHALL "[0123456789]+" VERSIONS ${VERSION_STRING} ) + list ( LENGTH VERSIONS VERSION_COUNT ) + + if ( ${VERSION_COUNT} GREATER 0) + list ( GET VERSIONS 0 MAJOR ) + set ( VERSION_MAJOR ${MAJOR} PARENT_SCOPE ) + set ( TEMP_VERSION_STRING "${MAJOR}" ) + endif () + + if ( ${VERSION_COUNT} GREATER 1 ) + list ( GET VERSIONS 1 MINOR ) + set ( VERSION_MINOR ${MINOR} PARENT_SCOPE ) + set ( TEMP_VERSION_STRING "${TEMP_VERSION_STRING}.${MINOR}" ) + endif () + + if ( ${VERSION_COUNT} GREATER 2 ) + list ( GET VERSIONS 2 PATCH ) + set ( VERSION_PATCH ${PATCH} PARENT_SCOPE ) + set ( TEMP_VERSION_STRING "${TEMP_VERSION_STRING}.${PATCH}" ) + endif () + + if ( DEFINED VERSION_BUILD ) + set ( VERSION_BUILD "${VERSION_BUILD}" PARENT_SCOPE ) + endif () + + set ( VERSION_STRING "${TEMP_VERSION_STRING}" PARENT_SCOPE ) + +endfunction () + +## Gets the current version of the repository +## using versioning tags and git describe. +## Passes back a packaging version string +## and a library version string. +function ( get_version DEFAULT_VERSION_STRING ) + + parse_version ( ${DEFAULT_VERSION_STRING} ) + + find_program ( GIT NAMES git ) + + if ( GIT ) + + execute_process ( COMMAND "git describe --dirty --long --match [0-9]* 2>/dev/null" + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} + OUTPUT_VARIABLE GIT_TAG_STRING + OUTPUT_STRIP_TRAILING_WHITESPACE + RESULT_VARIABLE RESULT ) + + if ( ${RESULT} EQUAL 0 ) + + parse_version ( ${GIT_TAG_STRING} ) + + endif () + + endif () + + set( VERSION_STRING "${VERSION_STRING}" PARENT_SCOPE ) + set( VERSION_MAJOR "${VERSION_MAJOR}" PARENT_SCOPE ) + set( VERSION_MINOR "${VERSION_MINOR}" PARENT_SCOPE ) + set( VERSION_PATCH "${VERSION_PATCH}" PARENT_SCOPE ) + set( VERSION_BUILD "${VERSION_BUILD}" PARENT_SCOPE ) + +endfunction() diff --git a/doc/ROC_profiler_API.pptx b/doc/ROC_profiler_API.pptx new file mode 100644 index 0000000000000000000000000000000000000000..bca9e932bbd1a6288a47b16667fa314e883d49cb GIT binary patch literal 1117508 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 z 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 kcj1 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 z%0DRp6tnN|o|oR}e_n~FCz!d%PdD8<>k3cwJn>7ROnxol$B5+sHq1l=58&}CB}TL} zy=FG1FxyFBF69kV`563yS7;|7qUoHAL)$%j*qgTS8lc{7(*+aUS(6GR zHsD2WMCu_Zt8tABx3kPkbmXfe#7I49cq71ayC+I$71d6}gE-8WV5fgkiU*0|XZ2EJ z#9o3I`&fhSfBnIPvELMO7s9+LU4q0SBZ!9>>3xN-PdPT4NmUo-8q8_HLMONR-g^Jh zJpk|+vc*Zn$UQV^ShPjNGh7#nUCd)|5faKmcJE=0rk1hBWJn2?)Xj7c!UGdx&`sS_ z1M;MX`NfHtyU*8QsDt?X5{eI%1CiYbH|S_urf(c4K+7gXhe1@je14=|F2UPl`I_fi z>TeW(x7l;YOw(QS;Zak}En$gf^v+lDQd(-zm?1=g+gy` z?$_NeP2}e-$Pt&3S{i67`KP<_s?HDUqdQj$&s%QJq_FPMm&LbMo9}%o#>#b;-X4T` zZ%Y|h4W0bsj=)@O^Nwg}cVhB#ODK9^V!d4^<^Wt|cfP-tYolgVQ|}fglJ@v)B$xlQ z5U99URuH0;l4}1X=j%0d1iY}VhH;Af!}z6p-q7fbn_KR3&>%;PUF0SGsoF=#+O^0F z30qR+Bhh{kI2U;aN3KWwsaZrgTh{Eezx(mI5YDz~NMLvIYXPNK=wFoY$>wM$w_!`$ zR#Y6ee%c^QOrrI2@$@LU5lXwZFh@12Zq=K=US*nw&GbwC00l>Z3(L*N;9l5J8MSn# zB$h7US|a`q`xX86q)EBog78^tiP(v2%TyOx_QujfO;r_R;GC)haCtg`qG#aku0VRN z0~H&Uwaem>on{^;7oIPJYa`Ad4)ZR)S-h$ca9(i;H7a*J%eQJ%VCj$8yg2Dfa2 z5QGFOwc%!Q|DI9CYj8X1PeQp#>2qQs<+{PITP8KtjVb^!4MX_S5zr8Lk7`lIZx**wGSS-1EA8D?n~`!%GvJk%|hh zWdO$}iECqW@|)P(P!U@6a;GgDoFw_O*QT@P0p{lHkn-35g%IqF*gx?W5qrc@RybFP zn+Vn^;$^PxR|9eJ_*E<$eC}J<3$I-Z08&(An>MfC`0+$zNXrI5)l(4Y=kgy9xG^{% zKUVz>hM;Y%TYb>@F^X|aoeWi)mh!@T-%w!Cl&r#-0P>j{i_bScUtcwxLymTMQ)_!A ze{Bf;J%8?Pfw-XK;*GN5{%i#zcZ~&S= z{TwBZd3oLOCr|_=9oOzp%3Q(`~nKE21rnf6_5ZMlJK1DRvuQ2hzawqZ3`s){eoKW7Brc&f7V`y~l z-=F=a|E_ENEDwBB?_Huc*6^Kg!^-I*RPkf2l|b5t^I0TBfF1DS=&tV7o+*(1V_DNB zrN#cZ*o6nkNSd3RKpcoHMS_|eHg77s4&5*~35Btd$;6kD53oYp^^z<>jINgj z#_5=vkR0org6(_s%0`n@I-}Z}E3i?uh3OWiBy}?5UeuOv@AMl?p+tq*jnIwc)9)t5 zQ-#3$xXm0*!3e6Gw5h5szxntr`LDx#rx8W zjnUkwlLtnTbibD$_)M%{3MR0^p5PRK;!{F?3 zQp>FutXewNF@=~Y8Pr$kSwLzwQ#v!B9$P;_aR*nQRVAG-8g-P5;t9&#PEHd z{NOZIlC=>Znk@&a6K1;{hG@ReaGlezYx7pynx7B3TqE>9^-G5oNwxroaP>#-R4YZd zY8@^NPTktCJ~AK9aQ8k3z=;s}KX1=X5EwB>6dlbMs=Kn5!I*^RA zQtZe3+W(c32SeKM0y&p;#x}4v$Vw3@2%@qxsxY!eF#hEK1Yy{}MPspxV`t1T0gNua zplm0+L>ankkTaoxSj2y@wf@4rOCN)2)u0ZBuLJyasVV4*zH7Zp{?22mDbyY`zTwg_ zi&{cj!u6>%u^`6Ljq@ixKZ)9L=8@c5vL#;gIiWlZB3d!+EU-J)&r6?)r3ii`zU;ZK zX6q9_X_J<;@K@RTymz|ajD2G<)6c%m|DvulUOHItqrep*pIJ6U|H@ruxzp`B-?uro zG7+)7l)a_Y)};3C+FP*sHD&W|7+}^mtq9mo2sYKsAl? zt2YH>K(oYyHM@(Eh^PA}-jV0H@PwSBr9P`w|Cr&waw@86{I-B1Rl{#@x=g>^{KvB@ z5`3m9(d#StTaiVzSv&8dX3z3m54+kuGlzNzx(Fo)MsfwrD_@+9wx;;)whi%L5+OmY zv-TyG>>%^6hu$l*i30BgQuMhQ)RpII2X&)8eiN0vdvkL1T3mgpz*L6N8?MSmh5pOR z*i;`sfJvHOE%biyyw{8)nBSi5-foVqZCbxjLRg|`xG>vyu*ITy=Wb0@42$Kw31f`16`9EVr zLr-wdVic7sgMmC-s)IZQx|4j)U1|5|A8r|v2hlfeycR4KgtxML&m~#5mZx63&h)iy zYx4Pk6rnP9%~|r#ALTciqI`^KMsTScFK)adx6;CNz4+E+0&TH?Rr;P-yp;_{G9<9^ z8#v=$Y7g4V7Xttml}1S)XiayM+5Kgf-Sg#!Rbx?DblA!RZD^?(Z!NAhj{G-Rd`$?O8Q)FK>3e#wq+*&V`q>0O5jE+;v$;P~_LMyx8E5iKZxcY}HGQV|qtEBjyNZ8V~bqgVFjw=U!M zbp1l<4cV5wH{Zst0sCviU6YDA)df}p>38UL}rEHO7Q5Ng6Z_`bHc!xx-MzQ=}%olG;ZDF2wJSait*} zCb5W;>BlivqLteqL;&ruB9rgyCG%mW?bLR__43pJ@sOiDtZdaid69uZfJKkN7kxbn z2(MGyyzxz9!e>z-d@8yi{>GbR)o5*`iz5v{oJ}NE96g|?ruNBsATzd`|CCS6sXsDT zt?e-2@}GPo`rpyJq3&z&UwOHQ$3eR1q5r!)7|xA4Ji7`q4O3HSIWsIDgk(dP2jLzM ziu)Oa8RW!h)8H{M*P`gptrqQ#cGjHI<~0M@npPKn5WI@s2_~ zfjXmjQn{|v$;-b+J@G~sTo$_PYr4{FM|pb+k29#2P-R-T53ALaWT6`o=vN!c!INC~ zo_I1nH>6cDtfV#R9*Y)x1_2wAo-1ZeOglbN@QyFHm3zIYYDRAK6(s7Tg6hQiAjE&0*Z&V&@BPpA`^Il4MhUf7i<%*#MXUC% zS_u*oO08;X)vUcos1DSMz150DQG2hJD&AiTye1Exr$v=?1a=p&; zdOnXMV&86bYlwGNKk!9bj(X#;Tdrc%%=+ioi00ts4-k$pjW&eFT02(H?O@g?NT4?< z*ziCFsAG~B6qqGLyrPjybYD`dBm=&$l4I3Z6s9MJ$-4!u2y$hj8Sg6}ZUa}H(@e*A zrz}qNEYoaJByA(Mr(Mn_?)VTdUPy1h@Xqr^(AtNX3E-W5n%#7fei(uy@j zCJ{U_5zS6HvxX0Y)o@+M`L!M5aMmPx#(*(pq={N%xfTgr92{?!2{Ur4)z1>ZK6(@1 zODFEn{BTU-iFm)Fp9v*73rD!tY?17QB1FSF>CA5o*S5n#ET=woZEq1-=3KvJq3SGF+QSV_h&-}$@Shi-za>S*rICg0~PoM>}{I}Fe&8;*R$ z6j7?@WAvVMpnG;W+;D!4Y3*MdilT41iI7PIr)3x2q*tZWZAEnEF;_+Kq>bo|4Xq7) zHOA5W1b@B;UzNISEM!jY2-UU#EdHeco$&CY7D9Tf!j8j1z6XjIKSM>g|CUiAM>o^0 zAd7!1!_KnGCNDrAk1NBDUyt22+!bG_ab!DdI+C;atk)+B6f+E4R*i*>$=Zx5o57YZ z2qnMEzO1*#u8Ve{*;>t5dxC64fX(-|l-tWN0zUHj*|zy=b|Im5+359$tJd7h`M=1k zQke&279tAeG+6d`Ofjw2bZn6Ab2;eA>fCDd*T#o`f*@m+r>z5FJDX zlnjV0ro@%1ht?Me_x>QY@G4_K$$mr}W8i@mA-CVLq?T<*+N{zU!A+|-TJ%x$zeF`n zs`<}A*`~K}72_I8nE)6hTfbAJuiX;+5=D(-?~mYdU--94xzwiZoAM)W`?^i-{D{`-8E$`eBwovb6dlOK$_5%3{k zSo?jBE-N&q&;PN>J5)OACck@1Fa4)PU!}S}&0&{fi~3l)F-iT_pxJ6oH}_9~vXVz< zD#}wfKqZ^iq~LKHTvkW%3}t92s#y3{az{3mu(pMlktnJ)c26v zzXf_}R89m@9am!pEj3iVM2Owi-{g&KmIP;r+KW9&rI%Nmahr06xG@zf1aHWFt8Z zpv8w+TJK6FyXpY?-#_nC=JV~^*oB^r1JfVPB+WT*Uw)IqFG|$uVxU)Zn|Br$CB;*9 z)1CAv;y`acnjMBT(weg`{;4rpL_2xEe-1dJV@7lJ&2%@3k+Rv7EW}qmsWBg~GaJ8A zI2U1Vy=HzDAw%4>7~6%HE(mhate7U&;#X!=*k zgHhjrzwbh|UU#ut&xLj-l(7`Q>rJub{s0oyBdj-VJ<~QiY7Q_jI-ZSxvx)m zXVT1e-!BQ@_&>)luasI^okTS~cx^DFmddHq+qd+$RQhVlN4M$|{HGOM)5{&We_362 z;9psy^v-8S8bZ8yrZd#9CAy=qc*?`Zc^4W#*XM21vd^cjZ)X{dxc>W5;Q~`-*x3M> z?$(cPVRTpLK?f=|xZqyBfBaIR~1G4ubu5VQ_EXpkSk5&1&a{)NjGEHV?&3pd;73&_DB zI&qp9v?LVQI-w5CC|v*+&w5IVneGSIDT@a#wtnZ_je7CvqXUX+K zJ}FeT@D~n{rk*0A+1dP z^tI|2U3Vdn7_w*@;Y>VlWX*q%~kB6Eo zjmkES(ye5x;4IN;SD(ecz8)s&!JY5GmS}@>?jPjLy=5lYFJhFfQ#V(n3uo!FtGw1N z_C$b8`OB?|3cOXPD3Y6d? zU-A1QNcy9PANPw{9sjpO`UB4WC;VW+&f&(B!e!gw@@9>Z3 z8Dqu?)BElYn(HA)+s*)%>ZcpN>Q@If7yprO0ZL~tG)X%Rodvt0#~JIs3%~N7jqs_r z63R-GKFheZ)?IVF^11nfp6OS-uC6 zw7OzRG1LU}-MZg(QrUW%Sw{58_E6D*id*}_L{0a++h-jB*OSpvAu2y;Z+PatrV0P% z;S!>21&5icw)+LTNxAko3>=~E!YU2(vd*li83MA)CP3mK8}afInQQ@^J~2Sr^C*Pq zm%jSrLh0?li6e(kUMh}df3q77sa8&h>4XDCff_w`bza|`m&sO;N)W++o#$31E%Mc1JF;2VceDV=At`P=Pur~9?Rv5fpwceCs6b}v0O=_#nly(XFS zykO#{zHN`SprGeTX^-&D_^%}PnD;7giqNdLIjj7sOiSF|=y6V5VfF|%Skg%RJ$)MF8=9r6q zy$|TGEV1ewr4&}ybFV()pDb8Q;`3`aX@~HVZ+ESo6NAhw0j4c8 z`X$qekByk3^|t5*55_)hZfTzT_EA+&nT$6wboRdbo?Fi? zRy?rTh@2S&7yJGSRMIGTag{9S%Njp(lkj1+J^d*co=YDbN_o5jV6W(y*=+ATTPaU=Je@VJ*SJalddW9E zl!%B>cXi6&FKi}{K~_R|@R|wT`yVo2MtCu-N2ZDMpRT!>05S-sh0B2fYDd7^;!T4m zIpkbfpHHTX8RLIq&m(e0Iq6h5jCaK;eAyH0`wGbhtQM%@p%Qp!9h@zFvHN)34r}0d zQei`xJg@c&3eFihXC6)ZqHlXw`{1kdPQ5qp6FfL~gmRZMcgLKy4@Zj){`mdNSH!Os zrG^;sIX3`1YM(x6iy)q-@xwpgg!yP;rUvU(GZoddYgE70e-Lfl|!FHCa& zKTt2ppL?c3H5A7v$J2N2&5HEW{aeq{Sr|V0=NiSQQ$R&vlJAC2CZ0ZJUeZ&^hyA^i z;WRA9i4R}eMHw{x{$rc#?DuxLSXm!)sjOI}i@3Yj!S@H8EWEVrcdqgNehjkd5~AAG zHsOgm8R7!ud9t+Jo=T0eyM0@6dgO72#@ux$U%cChpc}bKhmGMfu4A|F9~{uu$^&^9 zsF|5)e!*WC)9#5&Mm>@nHl{PDP}PKr@t9OsO@sM&mV;G{syslP>!J(y>NwZPMEtCD`~5zs0;6eD%s2WJjSI;x z&97hX2&BXO!TGt=$BDs99UXiNHIU%Si#(OjK@BW%PZZ81*!D`kefxGf@&7mOYjJjD zb|ts$vY9mff%V>ZPKct!nlucAQTi8HK=%FTw#i-l5XWYQ&kn%`s|?Or#3K=D&ZL&M$^R<7Xx6_P7FPz@hA6vHh%(2 z{QG)B;-kD5=@O{DqlGTmb(`Ufw-de5+-i{QM~n*OZ~d1)xO4NS4W4*uTp#=gVW|?7 z`5KXDcx!XRCyy*cxjX2#eg}(q-y=KbMxD}9X&xczOqI(y+)$S{+`wQ0my^86ZoakH zH@1~J`N(v;baK1EsUff9w9LuRW%Y$J&|RtCnFqa<&f41?sddi1xZZzn1ObVk9whco z@=+?~)Mu?Cl-G(x0HnT-Hmc;Z@5XsSzPlCF>d(3>_2u`?8$(1^#eRT@%%W-{D= z-GlG$UP(f1_v??z`qpoT^nduv-hL4KYg_$q(NA7o4ek6sP^Br2o%-BwUJbZ0=nn8P zRc`VQOXrPWok=uBRB)?j@0W+x7rObL%=dY>aT9zx{A||-%jnK_HqA_SRsv4L;j_qp z1C<@vP)*6pKa~axXNh?4-L1iviGOb|Y|wc@J%JCK*A>_C+?Pw|yhp^COix>)vu&z; z)h;eC+`QxbS%>?FCyL{{`2CCU=sAAosH=6Uu)2=(+Z@WNWQqCl06$9>W!lZhZ9!ih zoo7^`^f` zHm`GuSxWM=A-Goj`+2{J-7KfV_T9|(7S@@~pkJawO3b9Fjl&!kcCXH=oObo*JA2?8 z1gI}V`75515y4eg!&8mArfV31uKalQb1r9Ee{2|@#Zcn2n^$%Pv}m;BCzk|sqZw^qS^Apu1K}}>uuUXxjq8O*w zGalyK#czE$b$?io+>PI-)i#&t_38ux3I=35%eiyQ2?2MQRpae+iN;it$n!x0|DR9TwL4{k+~rdE|y)Zuc(F- z5=|#1SwRbQO#dU%%^KE??humQgjkAelSYtZ;7l3PPJnh4xxSlsJPQ}$gJ_##-`Z!3 zn?cv>tRjCAkS_!ohCjkHI1j#~fQI9QDpnXt#BoD#q5OCTckGs1e;jmNcDy6r#pTUDF@fLa1i44I2Y+wMp+N3dXLS~t zYdBKjamp>F5<5>Ek>N&{qq}adHntPvLr>`!XSC`(HZ_$En_Z6_mN7`8t5n`es-m6C z&+mM4lraA=UIX%_J|#?v;Q?5(%Rel&#Ni)!P^LD>xjxoaOv5QSul^qhI`2`GvWoTQ zA(jcpJG;JCs`Ko_wcoNdUqF<@;B~%u+YCA1@6BFIEM zeG|3McFxNFwt1#&@%(ihMR}#_(&q)JbqK&2YTBz}zY~E7FlZZiHe!pgz>)x2)gCe= z0ahdp^NX569U(~^+8Bl}n<0^YTLLk9Kk!DFsDa0i=c!tRw3f8NSqCwV*RA^P3aklO z{iorauv?P%L~hrsfRKK0qOPPD1_mGro(s-5}0jIX_yI}9DZMngU1mSNQ zG{sOWh}`#xSK_-X9hSRaxKQ)X-90?@sk+cfcbM0&kidVV!?`L= zul(E+EjoObx7&h_zB%^)4Z5r;{J%H+8^fJvf!9V=jL`J6sMG>+h=dnQ$Kpv}}nuurC zB32-Y;0M14;)ddjibs<=(e{k%khx(L1w0C3SkLAkZ8{c5GTob`Q}R$Xal|iKK;*fo z%7V(L>9qQ2idX3hp82gmZgrh(pHZWh9L!OP4xBU3l6Oq@QpUR-Q9F{ylsWsegCtn} z>7R^x&tG@yy<86+YQhnJT!ej^2mN!#jqALAte5rF`z_PW)Ud3rbQ0mLNawA|e-b9! za=!wmU*P`jekK;>3<B$H&nM3~1v!wp0jB17__vf9FeG8I>!rA_%|>6@ zFvyMe?g!TEg_)2Wq@oqV6o`@b8c0k`b~*p;k-}=Ur%^v8U4*VrREd&qa+1v%A%xLJ zA>L>X#R?CFpwu;3Avew1^ecPK4AFxK(8qn%(zQbqRysW(?aeP|7K%anB096RujWzj zC`CgqN=6_zufBzz8n@&4w;?0QhzAQHSE^*LlvV_+uk@83tnK17wk_o7+x%U@O$N5= z*~5nB%l>vj!$VcJgV1whC{BHv|0-G~+nbo@t_V_qfiEksPIv#MbzG!uV#Hbz9p^g^ zqLdud_qscY8Guq)h+Vi2>s#eD@XPO1E%(4F;Nx*u$+7NG!q0Up=yR|}A$SA~gv@V( z^K@aha1ib%VWsJ!&0@u0l}X5bY$N#*>j%^+%vLXHCHt#>l$dJA2!c^F5C)Z^CWT8% zNsxe0DZ`_WW~*#BP|>j7ebZ%=IWNb$W|<`Y%JoD4YOfF`EAe5okLsA>uoKpiEj-;+5EqB{bjNJ{zux8_10(F{KEd6$OXPg zR&Swgt-%V8GKrlcUvPf1_r`2RO5Ll$ctZ(+|EgKPX(ZDg6-CItaLp^ppyHHq7tzvf9@3+o+u7|v-R zsQ+Rsgkn!1eDyu0XiGA$!fM+Y|J}|~!v2aosQH9GsPP%&q9b-LTmD-Gs-szjZBNGM zE^+(XBye#gu#>1Wa@P_=p9R#+l}@18{b5{75z!TekT)Zf5bH29Y*8hHgc%8Wb&=eJX!V(ndCho~gVyDx z_mLC5CicRfCJsXIXKJWyz&vcZqp?5@Bv5AEIc7#*3pe^{p!z{4m(TAHYsAU2$w(=| zxJ$pFI+=Cv{U2VZHwOG=qT8rA`(_HrBiTMg*9U1Qzsz8>9)iGAbPu7##_XEFr!PR$ z!FCeZ4UXY{1BE@($Q0*_@|RwyE5axT%k#NsNQ~@J*}kN3tBTBW*#BVc-1^^&_R3M0 zuHRJ6S4=lgW2Yn~0w1blqiGPYr}p-*_2^h3=i8avyt-5O=Q~!8Pvd$&Kaok|79QHB zuHfr>^6e7yX>GIDUD4J3_R6`PMB`~I9^Ldq_b=SS8sRm&18pVd@ZB&T{$ zrdXPqti549HzZ7@n2cKl9O~aL4~|RDUJoSc^&}?f_8O%;q|N=l(tI6-P%I{;E-$iy z@WGvIp9z?YnsB27jbaaj)gTH5kz&DHNI0cT&tgdQb8$YmQkgDD(TYcuBq*iRyHyN} z6nrYkd6VU7)xDpb1_#i!DK>ht#)?|C29Upz1c|@AoZP*XV#-s=HpvSPd=lm{*0KBl zMEEv_H7;%*OA+QolH0N#NUt?ez%uR4AUwm@6i5`gU^XuD_}$mCFeAR5eC>U|7F@C; ziB-ofnpbmI%NET&FBa8$%X_K0tl8tSw7X#&n@O~26}zd4-O~t!&mN3X3=0#?cvFT1j*mM&DxgBCkVjG5W$j?$Q5VjGw_8fQYH++fKBaR$wJL3s~ z7V%bAY}@15VAPW1CS7q(JC#a#^|nFv41@nPLy=-@EX-F~u4e8fu9R?Vp^d}%NR9l{ z^YfSDXt85dnG<^I9mDS+zo#fJk;MMM~O zF#!;>oD?rvKX|5{IC}~lQO}ByB5lt>j$#j>)}hxwprSYKtwYB4ckT}E{4&HMRjypW z*(|KkbaJ4~x#G6$mga$-#7D~Y9t?K>sn;MOvEJkkxTC;bSe=3tsmPu!S2Wa{o>uHu z0RfwZ!c`qasC$wco3mFBZjLf4bl1DV=ZscI@ntKHPx9FMP4o5iJ$Soly0~xYsvp0j zz-KS?8IG5|)^CpO-8fYIToj#}hB*+R_PH%m2o~{U`?rye!ca-lGeet}v3Disibg-! z|DGQ9k`Fj?ZqA_jZbfb6PN5;>UR?X3?4#m-V}9%iVm?wv_0h=w(`gC>)vuC6$7fu= zAuvP1!O$;%{xSeIW_ITRneE@sv<`O~2+M6XyB#5v{+g_pbCxLMg~_9$f>8SO(_gyz z>^`dD_}zAL(!u*QcXTvf{o-ZE1dJ@Lua9H^T*@AB}~m0Ory0D9}vCG7P6 z5G0@IT(ULS8Zz}8Rh-_rnf;>>Atouds+cL703YdAqsgSg9^at~HpyZGvjW%!SSR-@ zmK_elA*wI#%tL^Xh7L^jhPw%~PgWLY^>v`|VNU0jY-&+5D?;hFR-Tvss%hW-F0ls! zIZr}FJp({4v8!rGiruJ1QU+@>d;aKAXVkY_27eZ@tUkG7HnPUMLE_&_hE1R<*8lR8 z&6fWH($v($4FbL;w>#UbS_H3!GS^e8KodtB!&?z>l>iENiKvcS*I8W(oFI@q8%Mw2JgHA=oOzmgt(N*$*V8@s;lZzq3q__aAhxM3_t zgJDt*97XODto$;Zy#S}L_+#~EX>zGjxbM{=)*(_Squ0}^N1f)Q@xJpR&E-J0T{3^* zX7f1$t|LtsTSEepV2MEfdmI&mPKGRci)JFe_>8KsR zR&G0NOtI*<`XnEDV<%#ZGMlZTjD=3(ezHZG1T;)B@zQ@trk|@QkH8{nwv-|syVt-f zisKkijC>__Cki_LUktxOk_Zy>XB#?Ih^`U1tejt1Be1MH6>M@~c*Zk=^+v z3c1yDVZM1E))@Vrc6pJ@r#_-AWX)}-aB+r(JWvdza_>P+fbixus}1V!8(-XCEA5TG z328oFSyFB4P><))dj^l+9j|VR<+<1SsKQ2%;rvZoaQN}9W0QfEZ*-SOD{9K(iA}+h zkMU8dh-#@@H`2RER*SZeUT_;h2M+LS9Dpnonl&-5*CULMOxw#hQL9s4S%i*S@82g; z6u|L6IFfwDfeI;)I&3ZNQtB!{wf;^aQ5IEuXo^TDN~($XqcUvLii_B9r@?I``|z`x zt;SYEC_1_uDH&#KBSz4hiU_S-9fG(H)5re5sfdNS1`N6V=aW2JQ58|0+ZF7Q0GMSI`&nmH+pc_pcn*_?^Z7 z4L2Tq<%1fV2;=gHS6&kXW>)Ln?@KHyjv~J;;$}qnhpAMW)_o5&JrvPN+ZcVvPJU1u zbxyKpG{iOecd$OVfGlCuTE&p(UTjQ_ih9y&M6|K%5bS%|okwXYp3iuYvQpoyUxejd zL9@M0sLlw1kOnk&KCDvYtf^kTG1{8;OwCZL?shn+etYk+<#8WG&Tr}ES#oWXKz}Pp z0|&KpxhLE5hS)pB1e^;(#wM6k%Tcs`+Z?|!#D z)u(MkYNfNW?ulbh z9zg+z*1f+1p(2IeQ~V1_BSvstRRQ2(0_@>Yh0S7slz_7OQ?ra(KTrnO#yKWu zvU=WE!r^qGHc`&k)=#TMi@d3?;OmV)xzyk@B(P~2bHgH@i{$X?dAie;er57qb@Sv< zkg5ZNnv!BExvo{WZsgiB_dy;A#w~AHOFmsHcHD6CD{NGI8=ds$fR=CXys*h|46bbPT+ralb**x59fuXazeLOV*k~^eRhrzE`PqEf)2W>t0D$gB)3 zwo~j#0i-zvMBGw&RA~shp^6X~P>cfH_)0BPYYNxxea0ZdAQ$qI=TA%h>-}Fh|H-!F zDm#E`A!nTFf5+Q7+(#(X+O)MKA0Nl78-F}g*N4J;u z7Opb9**e#yt}YiIU&X@bIs}<<7Ds6viN08a?6a$L-Ls3z2!vF|sMo>^1Kt&l0j&`@ zo1P=INn}mt8UWlWs*APFq!~#zIT+j8C^^Pktgg)Qt^Hix7DxmLE&ecF3f`-zcm{DV zrApCAS#?Bd8s{BD7V_A#Rhrxu3?(JLCu(M9HbX3$`I}IYs0oEs{q)eCj{Z!_gc(ayu)ON(HOO zd)$rPYx$U^^v*8$FJ9p^@->zti)lzah7bq#KF z%@)0J+vN{?eP`#tSsWBrQrD@3i+2@Y(YUv~E4uFA>sb+`)BFDaCCiP$~_0I+vn2m*H7cF|guTg+YDSAoXpqxCTurD1+ z`&%rCoOdR(ZjU1f|<{`Rvo6D}_y}#dRt-0jjZ&N1qa$%tTNmixEBwqhXkuDMT0R zO;_m2)kmT&dk?Dh{CAs5gQV8(lrf?3jasx22>rt3diQF3V4H<)XvM#o;X|Xo(E7C1 zhA){`l8Z3ddZi1{57GsuzZGVnkt^>xstq+q&U8*|mb=ZQUz%(KQ2wFg9y5X4@+EoO zzr%KeFx+PtWbbNRot@XW>8JoU{H$R$eNkwoWY*>)k=%@bo;NvIr%-RsBp>?Vz>zv> zr(NiT%A7*-4Igkkd)k4;KSwB`|6Q)C!Qu73aV1N0dgYHRoIs=aZjqUGXYX>#9dN zly|IuY|bOJ-CN$|y*Mbq`uq2N*;CLyXwtG)0$?cAurKJ;Kr+i08~YCoO6gUr=7f%C zBjQ{HwclvuO)wi~ieKOR>%RbRsdG)F&Yg4t_Lj!FJ+bF{G+gfh(R+RG=Kee)a>+{l zAL+VsyUVpj$5z)Y)&J@TZ%}w|IK}{w!en4KSC^meVm-n4HOUzj5k;_0<7BWNbMvpP zXVhU>A7@=09V(HYa^r>J*Bf(nJQu#(Y+G}~qi{RmjKEsAjePVw&RAXy_mARoO2eGJ zQIMJsg{IHSB_D4~5Rd2@u*9TgbN+1zW})!izbY2WW+N|pPsT5+!_GI{jO|FprwdGb zpoA=(#Vw8&6|%k@p;(mVIg%KSF1~Ze9-fnBYqkb3kxaO!9JBt`WXrSq&+PN!+-NHINW@BzaswfMD+(@Adj<#*KHt}cg{l4PyhEY$X`2Nj!6BGCg#@k%0Y;5~` z>OG6^qCdQ^PY~Gf8>Ya|s#2?+JhuIT4&pr4+QB{1)TH<}ifjq04D%f8IQf6i^3Jo6 zYtIHRojngH&{#spNyhZ-0#Urf2LsJHwW2$$OYU!w97~3ZQERX!cmEg z0ZO?=D;8wVUH`2`m<`ULWP_xKVPvK(Pz0W^VG$F;_gz*KW9n^x31!_2jU42YpXD^* zd${BnIhd!CIZ$Xl4STlV)0o?ytqST*k{{bCL*k|nkhm!&f^V7C*bZ9U_fI%N--XSm zCH8xd2X}Y&O^jyGlOFPE7xs|MUO(E#Fxl2uG#?k+=+U0N@Yz zOjGbjiA<%DZ-2S`pIOyV{nE&O(5^JgEE=Hrw2|%IZP#v3sMxE`5~8v0!D3R{%Y$2w zcpibe@Uh}k*QxklWqh?)|J!#C5=zD`z#ZPO>1hqushsiB3DAH+#b`8FqEVzF5s$yq zDyu0wW}a}3heKqdKCDca;CXG0)!f4kTwil4Q-kr!I$=73n`ND4I?ZiXK2ccvd#GH$ z(CWJf)8{MAbC05lXKZ}VVHLHdggLl zo!1?!ca99ZBwMr=JX-xYSx)~O50y*dwno!9f^{c051b+?4Eaom<7~K~2oKZWf2Tma zO~XHE!dpkvXcDtuk&!kkQw>8Yul3tyCcy+>HiftiAGoe#m|=q#bAOIQWhUhNiW)>D zj`zPmtVkO|-)iW{>av=y6!j{~jp8YSw_>=TMuW8Hnb*Pl%*GSJC=HYiF{8SkGdaJ? z^r!Vnt7LIGCK-Ohuo$Es*-aF{BFW^pZ~LQB&H9$-2t%F_jfki~YhlB5w1i<4E(|zw z9`i>8BrW@MMPb3ofKVEhy0S1k!MjJSkOkrXZI`3dB*)tvm^P?Qixj#%sCxYI8G0uuno-Eb-ukt%GWJY-HWUO37mF<2S%+J)dfB^WP}CS$}HTAY1% z!vlajKi1>bFezOUD(%;Pd~az<6DYQbX2d|{qm$V_L#5=H1rA3giu0=rb00q~Kq2rI znWj4Z_*QT)VZYE(an0oMZzt=q6cHB|(fhF#%=dgaD}~>zzz=*x(-QsRK*{HnX$O=Q z<~zigN9^A72f4YuY~HL1z7&nV-=y&~9F(8>!>yn13%WdnDNtLA%!s>{J^Ny&P0>L4 zo$f14wdz$Ddc=0L4pqThW%6i?{Ib?!mcH=z#5Zh^x21{Pwff@d>o}yKtQ?Y_lP5Ph zWO&P-Cc~(KXR+4Ho?m{C2qUAG$}{|J0lEJ z(+1=eASt|$?F`qR0$Acc>vfuba&mdUvCJ~wiyn+=@p>aN%v#r%RkTbc1sm)UEq{xaP;_-?TBMIboMFaA0SRI zD@XG~T!(nN7JAJCz;X93x1TxH+1u=SkO{?$#Na@kz}pGniJGrjycqhDK(7Ao=Fe#5 zgrVIROM<<2)7COj+zoQZvhBFCbc&ky@pHfWkQZE!2CH=e&<@J7t?80CzL6Glcv8*Q zaT*bbTz1*~)K%~1sh*`?d;gh-lPBvt$`GmynKrVrR=p25Z_vCs9v$|&bd~|V1lp5n zHd7|}0&s#kuHL)8a%@Kvv?wFtz}lK$cZ$=R>s(e)s9PuUW%tvRDYF9wZ|(N)x0Jr< zRol*zU0kTUHvTRWt-ixUUdQI^*Qtf$?p-ufe9oNA^cg58luYN=$N&mksX)O2_%fYT zkEThHiPE2fn^G&Dz@=lCl75b5FY%&BkF7qf`xG;3I;NzUStx$S7k&By2O5%OrLu?d zfV(DuU^3PspBC_@2DVt5jQ8_Y=P;}GcLBu@l7&3%d=IeVbDja&C9@o!A7;Nu)1*;l znluo7MDoGBemfBHKzzm&C&vSlqzzdDQ1fGlXK1>pW3YvdEh*1TteAf1oG>fQ#<-N?H4LaZ|?a4s@Y&SCa$$y993 zNfH35fg8pN-f(ESK1}pfK}I0REFJHNeU3j4(@vmo9xCMzB-`J16P3jMEb&vW)GFIE zpGW@v@>inGS8O%>;aGNSzPT^%mp_^OC=;)jkgJM_9=hjFCQ^9i9& z=20)jQ6dS`3<6a}TJiExaij4l1ck8+$>xC9@bp1EJsqIfK8o#w^HTb7-Ev6`{>wFH z_cH*1>YB+f;y&*WATO;+Q*9I`1*K1D?*oZIYe)1DoP+JOxum}=8b+*r+nawVLC+L0 zE3df%KV?NiPGkUjpZm#BI>WnYtb;wIi=N4Z76EM&Ho7+gk>jVqFk9^tBIlhC#ozP& zcVmxfH)ZGzO&^u?HAntjKd``8Q))$Bf>Z47^k_RT@#_f8yVd`4#HNEhb$}+R`~#0t z2VAV_qMPTAO!h-d_#je5{&d6<4SDo7OWAqVS$uVz_pkEmB5bPTV))AS>Qw!b|7_;! z_=(jOQegDzbBFi|xnzglzNGa&jZ=EUd6?&O-kCjFBO)t{ysRLvV?NB96apVE>uJP3 zRko2OI|!dx42+R5+7U0^#Cdn;io0gd{s3~a?yPz#fofv~PQW*chC_sW+C3;>;ZqszuVvguq08|!uKU`EkHlbWTYUnk3=q3r1 zZx)+8+y{Jc)I`S@*oSL&jGaFs>bI?{Dj020#$1%v|D{$te5t+thCL$m*hf_MM&b)hR+b@=#Uzv_VFsiTveLb9po(|vtyN5e7cfF>sXC3P@zAKE@uGK1wa%|{TDdNvu7e@1E&vMw(z=C%RAvAey&;2mUByVTQvXNa>1EHkjB0F~e52Sqe$ne9>c;-n4~vN-Uzo zquRp?*?K7|VR=6y3Eux~LKvlmQ-7@>kb@ zEhsp4V06!2?K$<5ErlFuS+$??J3Fda`~zJr#RHtV=&<0aq%HR&wTg5h`<^!jeXK^} zI=`){CZUM@66*Kjzv@xvaFRkwzlTDK1J>;sHrq;rFlOpV0d`+kEZE>0<0xX#e@rrn zx>E!168nem{A0q*r5EwLUL?r|*6y3&(^-8kX<_rjr{o9l!xF_Og@bku?b+%Aqxs?G z`vw}yJ!h?M+8V{xkw&*Ef>TfzW#B230cYb8ytL%^evCb%%6=%lCcou_A0Y#+K||F$ zcd5w(J-b?dLdg5(hCA2(-KkYB<5Jl3&cOR}!Bog+{P(!{UFWlK*qPqlZGoS)DJ#VK zpBFBxjp6mq=Nk2tF7yqqB8Rn(_Ue|($=yWSE}Tt0=!#fhb>Yfia1eriH}iAKj`yWf z11;cSU8|nBwez4j26!F(Y!Lgt_MrDG5koJ8&>EsfOB7NwfD-udc)|ivvTx9EwR%vBXJfovm z{@nE?{K5Wl26h*Hw&J6mJ?)xUl>7zYAQ&_O?C`bxaXHA@_$rC!r{q0Q;>1mN4I+KG zJ+JcltlBKXsy(=K$+S{fg2UTW9$Mo1{x^OBSfd&DO8f4RxAH%F5mSzDbZSkpwPT?p z#>!i#>n^E+P(*CXmvak0sWw^y$V%ib; zCdE^Yajz)KUp45cs&mnuwfTBizOUKfRh&3;r&(&6CAC252Q4%Vc(A9^lvn+U`DQS} zx1Ix4e7i{VF;y_(6W*tjTxIIV=#h@I`^(J1nc{lVV=7@JvVm6~3N+PR!t4E5=Xb<$ zJvv#6O#$NJ0WQ9BvZ}2HFoP0(eZyWLwfQrcTt!imxZfL0*@rC(GaQ-#O-VMToADO? z)wj)l>&;8v)pQM0B>{azDOE7qQ(fd22F~se*8>{$pa=E8l9`$Q(badYo)7P-sTNBb z%*9cS+Km^=UtY%ROib*|pXFH}LdY~dav}co{@!ISFp4ROuz=7j4?Mb$FYdUlolK#^ z`W`zBr33~zQER~5@tJhFlt_avN|oozt85jJmHCKAP!+kR4>kw7=+tEuN+qH%RocJHSC8ovf2zTziiYpK!SnpcQiMcJGP9_N^n4>dhx z14W%>msX2u9x#W~pys)iP1LgEc0oXWw8&yDT`!TlekR?%;h`I@?zRhLrj5K}%L8+$ zH@ha?TBzzFlW!bXVT?Jdt-X@>$gCRfAL|=^!X{fociVREIO4nvl9aUv85gi6gT_@Y zl|^iyVT*b&k+H30Ba|o1sNZx0W9UP^^+nQh7*L3>{h~|@Jg{TUfem!MbSgrg7CkKqOWbr321 zijy1T&au`qg?S+3*vX_W6ng97qTY^(S&dg8o++eqFiYh(04tgdmH6tVyjMH`mmizk z{kKoXCK^&nwNBh;1r&f|_2D3!Mn0t(Rhs?|4Bm&y&wKgyV1j=ys&)h|AkL z3OgSABYUx}uBUi`yWsh}u73IFs;=Xr^2#;rZ1{>SFzncRg~4@TBSxr{A#7J)`L|jY zC^9mt>m25u@$|)~7&8`~Q2mm8^V@JWNyREnmNXcU6dWa7++sCiu-iK}-+CnU5-bKD zPRdWvF9NM7@~7>lM;J~seJ--2zuuIYT`7rMEu}Q0h=FV310jnfK)$|7z`RIE#WK~` zU=F=oW_gL^=UXkNs(qql;PgM)DWf>4kextR#I@ZszU!p>|3t+JmwgW3JXSb)mf9(U zZN7KY?9Z*!xNpoge>`*=i0^#FFw4|cajvkbh0;(b9Tlv9$D^Z9%lr9wGuB!?kkHaX>dY>I?X=9F^|X*6d! zrGBr^@B01@|GF-&ad~ae$MbQ&-)_v(L+mj2|Dr9_D$?h9tFL1g^H_wNpZoM8|F;f5v-0ElxdZ$xle#qmD~VXYg@~u($3pS9K+o#67ZUck#5Xch#BA-V!3t zsO1e%F*Ty=Syp1=$>BRMxaCK~iGqY60HHlu)~tqQ<@p-MSE=DCP1mFYRa2130(@T$ zf@5-JM+2n_GzwHV2P*uV0FMycbearZ^VxA5tmgbPwS^rNb{)PPT6OFCykwN+K6!ek z_8I8oxMaj2Ys1p~_g;hFd5Zra^WEke;qzo%23n6Qtt>(1NH;#$WupBP3kvEp2We^@ z@Ozq!O!R@umK`b!2W=9w$ni-I7pln|Vc6aW`v_?-YXOPZA%sSdIhM|n=QM_$ET5ET zBevy;xRc~jDGvA#f!#;;rxv!C)}YxwqP5SCR}^IC1xK5XHS_YpO-2<8TA$_dnLZN! z0-qzLSTip~eMmC1&lJC)%mT~A03nkAE!rpr=V}d-1B@WURxRzaziI^ZTD@-x>l4Y* z?AZ4%WzGp;R6KWOEt^G3Ykx-b8mHUDax>pAiTCv6t4}7f<(L_pO)(*$FLgYh>O|Q0 z)Eio5xH=iCX}!S@9Y%dtZYre;u{>HuO|qXhkwDD5uRQAXnUlQg4;zq%vp&$?>J8J; ziNzC-y^ z)K3x)vT%-gWz)6HM?Ehsf|rGSVJF=`2ZYY=9KE8VSp+t!uT6(|6`1rM*0~W_eeB#{ zwZ>h4+AGP;02!sbXeZfne&UN|C!PIU?TQabgyLPuUrmV9-<{Dce)4}m`y^X&Bx*aK zceWU9IX~>0IQef~%79lulMYv(V=8-MOj%{uBjwtk zoy-=%wLRx7n;LkF=`Wqi&McU?1JD?^!Wpm8%{#QO4FSWTT#dYcy1g4Cjm+HAt3f#` zyVws4b@=lwB-)Qa;V2Z;EndX^`4(&*@8UR z!23v|*Wv1(MPqq=W0g}4E0fmGF5~wU`M(;b9^^Ow6Mzn7@p;2ThK)TWhZ80+f;e* z1vaeQUaJGz5+LLWqs_m8q{4|wpquw#rJ&7>4YXCsi|b5?ON5iF+ewOAmxf$i_!Lk1 zNl`PNUX^EkM_3J^gD9@UC^Evp-=0HUK6{GK-@v3><)X6s;QQ>y=iX=NN)?n%-m>~c zd#4}yW8czwo=~&bOWNPpuszZFe+%yWZU+Bko-Vp8?X}!yAuf5N@p1w`GuEX)0#H*H z7<;!!*h0i}h}E2mVag-EH^WpHl5jEmr0vY6wrynN%wb>sU} zlxuFhGlO-vUO)LJ97pR$ArLT=4p^TWb&qtV&_g>MsLWZQts<6zW;rB)g%yP zReQ76TPl&1nOrud==i|%Z0z-JfT#0p!|phvQX>jHd%vc~f#rwWPSWCOq;qIU{L$zYP-dy)&zH4zVE#l}aP*68&=iW4)1U|@R=IOB~ z?|yImJAB8O0|81pvd6ydqlH+o_Q~JWku~0o9+~b%S$ne_a&|e9Uf(PiqxUb}iJ-^K z7I)L9g$Q~*FR~E`tn7TNRBqV@SeOCC@R?q4CKI1!VTl~DQCtr zojguIgZOP1^3`h@U_Lyy3>Q{wPR;fp^$|gtXe)#s{cZ6gwe*J~%PTYeW^!nR@O(Hdh|-A!$e+&Jm25y ziX)+Iq$GZEKyEEV8xgOW%nT0g6MRh5oR9;Rntu`nz;jo`9BV%JWGPr)@p49dGL-HT zx#^keCx7UDN-z45?3kAd`a}2{BKmJgt8_}F0QM=R`nOf{6!;N3+J|RWdc`;A$}_}_ z_%QNxHyEXJlL=#=mg0M%UqY^)=sNO>{+coI#y{j2fjxxd$w;EsB4d|C_|*nM-Tqu% z-oK@r9@5f$KW@gM5l0X1|D4(~LlEhQvscuB<}v>X=opeF%FWu~dfiq}%$q_JD9c=> z?=G%(h$m{O;OQYZNIXo1ILjXRnVRR)B3WU3!kbUEr+m<+tr~Wp2KUa^J(QnQGXBwO zW3NeneR|cmH!tha)ksD9pNr-T0TSFL=RJa$P?yaHmp>+54Cn7`PA)ukK01C1tba!{ zyJ+)r_Z6wjDH|p7abJZcGsuw_pENLiQPF0#> zj{c`LEt7z?Rrh&8>)|Kk3cr8A@i$t*D2okdSof^6ix^?!Ju)zN8Z~mXP?xQoH)uGZKa>AaQC@5Kt2vCU4YCp` z`=QoD9}(O%jvlhC@pO&WZY;geX0|Z*woVU@YKWiI|!ztei zht#hfzyZfbmX-BU-!+xWB*%;K0i6_y{MRqLu;B3>GXtR9Lck%U6f?nv2x&Q~rx{Ow z=_MXR&yLpt2s~^n?OvyhHw|}#vMg2OtC=Ee*_oV_a%b4-zf2vE(C>zCoTpLXQ7{;M zZT479^#2>n|A(&KxSDpf4U~p*JNnE1{@92|K%Tj2PZU4;8d~W@s=E=ORR}NqB*Tw7 zrCl-~p7ddje+c1MDbooYt^vl%x$E;^)q*P9W;6pj!y*sGKj zGYji5V7@I7@^W}i(i0l{X7R4|S$7i5a&~dgmHgZGq`idyT?4MzWh#bF9=KKARr*}i z=W5+`peK6w@%J#n)zWW@FI7J#b}xt7T?xcb#lQ!A*f-t3y#bC#GBhtKwN|x)%cDTi zZW>vh8FaL8b!v0@+^4{EQ%D>k3Kcn41r*o&xP5L}cKbXeerx@>UX;MuS&l z5imzLN6k;M!psH8bh`=jBG0|)Ta^^eH*S%5q*>>lq_El5FKmvgCWE7E84e3EfFwkB zAXixWOszS%xh1dobH1NLFJwk9EePMWG}!uD>7{=%pb7E(d*$`_17C>EBxLhG_)0 z@2usj7fMXDsKv@-PEt5@9!_Ay9K7fvz)<>=RnYtlm!rkoFP-*%|DB3D^5xcSX7xJ~ z3fR(@JUg!U?(g4Fo8y+Td=+%m*JqchRX^72=?uQEd8H(m<-M?9 zpjG;@bz@*Pw&3|j4y86<2ymX6gFit`PAq2wclv%HF@Nt+T(H}m*8jIwyP_}1ns4i$*M4%ovSbwV5Bn2#r$ zYF>M7XUM5%Ci-K{AkRhhXOFnV?l?yLuKi7Hy_G!15H|1-2bLKD)LxD5N^V#sc2OgRE z%)jb7w^KK^0^wk3&3a3rbW~v3&fERfDF3oOmlMfOJYzLP4f;wxnLNJrut`B@24RL= z-psjT&D<6|iLMlLTbRCOZi>qv!nWfdso*fr>;>pIyk5V7ah-oW0n^xhvHWP-NJ;c` z5XY%}*6)EFf%&8>v%Ydgfhc(-M^bNSiACL|vwn-wml&Bx2Q4MKg^-Ywm#m_b5B}mr z^yR%%)fMYW7B5?y!&)4_1hqC>G#v^GcP;s62_5mXXQcvABiLk3{y zt36EG&p#fr_)S`D_gXW;esx}WT{ii=mVhG>3`iKSA*Lqe6*`hE6Gyt#uU~TsTCn~` zl3|ShNgvES+a{#KGJi&#Q|FYkR%k}u5PNb<_@K*Hs0qe1Su&eH&@sQ16OgKNR}M%qED|!Ps^fI+t$f7zkkyB&Cy^dc zSkd)6Q#C*p0wEjj;xF}rCEuuw#=6~ub2A0SJsF?4inr{95{rEE8Xibrk)B>`pSd^_ zdZ!$a;Bw@2tzda)M03_ z0Q-CS$i1Wb_Ao=%DvnUTUJ~SQznz@WpHokR}iWcaVV#@^# zhgYq2V;8|vR5W{H83b=Wi4tgC*@&sOE5s5$_6SN+D^zjfQ_;jsS2ztAjp== zoO~r2t5$Ohi~5^wsLNaM!7~DUxwsvG**B*;jvdWLT7`&J%> z-i|%>e>c{EC_Bz0l&m&~{II-B@CdzNKnf~eBrlKrG~>T#u38D@uLt^fLAei249Zw= z7-4(M9N=EH86Gr3SFKQzXceBv`ha^Aek;^Z#M8_bptYZ8&UWhgn|)-ZECnSk`X^R; z?Dyf9LnXi^OTc&QrUEkcqh(NDK>oj<^Oyj-JttDB_AY>Gc)PromY7;ge*O5{H2Z7s zvtQf?AKgI8SGEx6X%fPyf*Xy;7GHonM(G>vxl5}do_fT4o@YPT1w-?p=Wg#D${-aw zM1R(Wv--%4sSBfWJQ}^1uW0Bw5PosjB7aT)8grkgg?li^qt2x=OsAtcs;?FO?7GqV z*!9o4loS!C2PDi$+MC68Gm@4CA6EEJ-;9u_F71E$;}4S?<^QqaW@sRr*nKS@whggT z+6xl<`RHa|afZ3s%pP>H6942Jg4bL?=a5+U2X3I-W;nn-PFVV}57m+hUXGJ7{t2zG zOdlC`ZN0W;J4rbV^ip5(3n~~?e~BFgxqg3$t=(yUAzTb@XcEj3=jf0c+FF{a#183$ zpRe2xFmfA4#2as4i#XEOo*@LveP3DT>dS%-4 zH?pK5r~UDPQg*Ajm*VO20ZK%u_{FCs;~R08JI|N+v_-rGYH60A;{;IHigC0CyCss` zxvm?D8wkfOSS{F5HudG;WvQ>~p_9xfn29tSuix`67_^TTYxVS)H-A8Z;yv)ps@wf^`w&fr0Ot z>1L*d$vYPmJvDHh1~8oh)d+u>b#eEN(BvBQJVt<8mLwOD2`!WlL^}WmWM$@e0M^+; zK8zbta#NsaQ84Du82>rD`i6LH^93a>>z6ocUa$Kt9$$M%wZxg1Y0n(AcfQ~2m#ncC zHbKDo=)yt6J3DQ+;+?+QAoeO{f21$ZkPZTxv~}wyyN~ zf_o2%t6tXt2(_(1A-3&4lJB<|ciARv3}}^G*EV5XAXP5cg1-hb9^nXsUS>7_ry@)+ z5kn;*3h3BEKBgV_-SD(fr%H< zJh;!TS$w>pmE~{N!|Ad5`kjV^X4`4W5U4be zGeH=MQ0FSL8&8FzePMwotob1HhcYA&>8x_|ffto#G3H7Mp`8lu1e+|7by69VXU8$7 zDPJGU1yf~8r-P-xjieqQ2Tc0}z`!M{^hzOXSSNWFTFKI+y*8&O9!WbT_ExX($kgQg z>Cw0Bu@3~VOuv`>@M}QG!%skywy8df9Z!poSf7G$DrPUa(T2;6Qs^NgZhf*{G1_rB=`pdgJpQiU z!xLLVL1pIGya;S2(5IudG9`+TY7n61IUYv7zdN*#(T6_l?_!o>qJSBvTlTG}zoX}?_pHwnQ{DUG7@&QMq(Lnuf>5}axY%<)UK~_F8 z9lL2{W{_~*cp-*KPxp6u$4)hncpKMmS)GgeKZ!SBA^s=pAKvNj9zWh>F3d-UM_VdT z>zW*(dJ9GZCO8OryqjR0#KLXjZYS~uZrx&r!@T^1)EdRk*HILp?IWF}v=K;F6eKK3 zf=fVooR1D1%~)I);R)N??S3HnxPEwm0r(XfZr7`o$s87tFJ}Y$BBxUSK4m(k4wY3= zlf8I-s_XkhFJYeyV8&hygZR0y!=B%JJ5zk4!S9L>iF}t4_(DDep##K+)IuLulsYx~ zd{waL@tc&LuXEMI{L*WzH`i|*=wA*wS`~`{q!J;L=k?oyD@0!34~^=%uhZ;VPMmos zM4}l&P?3Hx2J4SJ=w8tK$~?{ZPsjfWv~nuZgR&mc7KO$gwc&}-!yJ}p(?QyXQqD9C zaM&V1kcJ2?cG!(_+V5|Y!>HnXrj77a&bC;wvZc;a&f%E$+N@nK`JxqiN+f+b)YdE+Wm2t?sDy5ZB;zxkvU#*6Z$}6 zUiEa-)n`*u=f{h6tO+bG8Lr#Fl#PKSp_Z(CX4|EUWT%yqB9?3{UC^SUa&V_OI@1{K zVY2OEC=!kDs8<`hRI+k*TF@BZ7sz{v*MNjy%6?s(?riMH`njZb^@YsE ztkW}w0tUID92x0-$kli(6L#=6tMhOq{{zfwd8Odb*;)gFIbHT}X|yHp7@qdo`gC+P zf-DXeZ(!0yh{M+v4T{t{F0GTcyvc5rwcAC|6-uCLns@41u^VpgzhZ)drNY0I(w~e8&X0`Q z*3vWsN{B5S+UaK>umyRr`gwHf4fyNIeI3DR=QW7kfb%_|*oy_;YUDht#(YpGeGAK$ ze;wo}jm*BkNWzEYzy_{A!z{RG1k-g-Z;njm)H5Df+SRivxxW=L0DQ7#>0RF~dI`LF z-isfZZeWj^6ttR3r`3F@#Vx67Ge|iZ*bPg&^ac+uDCRA>qJH5eLno*%#B5Nf+Iz0! zb-je+=*>)>l;g|6t*Ic#cNgimT!2J+vL4d0xa8$Fj3z0 zS2y;tYZ+d6kb}`C#Il50Pk+xN>wW#TwKIa&E|);lPXAo(PA zRU(&Bp%?E9xS$qEU%NqOR$Tqh*}U!g5_03G6^!sp4_8Ur5iTWv0@W1Qhc z4$h|M+Dezg+KcKa zm$5i#jUL8Viq)q{PW}2eTmPfcpM1z1C90ImD5NRkFY{y#ylpi%Gly^8jMH&Bps4r9b=e~{X*|*%e%+f{kCCrBk|Lp?|6cpi8h!KGSKzFU z@0&?5x%#Wk95&#eNZR?-1Mr9rZDTw_!xUre-xZf$XXQT4$0nTA9yN`AdGqD=E;r#n zUpv9K2P1C#iut{dFOMsyfwZ6Cgb#uk@geF_*pRS? ztV|P3eyWEXx4lth{ZsQk9IsPI+K!;aDjACkjFIK>DUqopi>NGfJ=X1mNSznomV-GN z)0E~Afg69atL{&IH{tW%fEmm!z(a6Df#amRUj4sbHMk&d<1iZb`gf}pbH7ae;99$m zAeZcD2D_6JLlm>I|+E7ukC+po^0<~h}FrrpHCdYD9_uPmJoM01my;$ z#ZErjsRMmMEMpQhb-cTJcTK~$Zgo=7w!Rz;({*bPI~>k`7q(8N?M$xNmJ-*<8a7l#`=fE$MP62h_izN|`MqdNXC1x^=TI5WSq?YcTvcFl@CnDB5FI-njHh#H# zG>deI`Ec4)G{Ox?y#^$*G zl0(dIUK~ppngSPS1yQj-2|Y@TVklNct<8-p7guW9nDL;f)V2{=>}s>?9nQ5cOHau$ zb~9EY!?p0@y1CD$)dtu`R|A%`KVgGWPNRwGvFShXZ*QSGXc*^L( z|DDP^O=*%Z1X5#u@mAcA51l{Vv`pp;3n(<_mM^6S`?}snuDh?KRJ`r_DWmD0^sCXL z>3G=|kHV2||J#f_-b+<581aq$QT47q^Q@4Vm&{@E$#m~EFE11&IQ|lpnDJ#;%gP8& zzhYS$NS781^B;F)wdDP5?*1H7{5|jt4zN8|PX1t-8JsCLp3oPu3wHiuu5&o}T+d!q zf5J94&|uhFIM~5;zLI<8u&`~%2xxaKLKQ++x^h!~N>9_e=q_%0Fdp~ONBI3v6kKtu_kxF;`}m_yOsu@vl(qg zb+i)GgB+`{uh27r{UW%hws1^1KF`)`xq5FtAZmhCK)0HH67!{MYT1I%Tztal*ziWYW{18jxR z&0GizAgoQidvuaKQT1#xhl#jjyHZQmpBedKCiodd80p4*(4rm(7<7Hp{fy|f#FIkzoOWgfAxF0^wrT4qH1%M z)rQ7&Dmnc0gcz}LL`bGABfae#&rj;sZbr`3hvizv?Az=R@9)Mt_PXOfS6LYgq`Po= zu14L1ypXhjfNj6hnclfNw{0u7eDy1%KAdopBCagB<#TkaGIPR0-BIJsF%&-W98m< zC)5`E7(D z+p@-s{@CpWRr0#RC=7k8rfu**XhngYTC#fkz`b~dv}qtR2aa;l7WsGoF(|btEb4rH z2UXH+7Ho#%snGbxye90x0luGr*&_Vw^&LV)z74E7+^|Ec1rT-bFU;L-a~NVN=k|Up zb38T~T>J|tkJp;7otxNNuH{V{syU&S5(5vWf27tvuYK}u(*1<7<3IB&xn{sEcaL^~aYLTJJvvsp<_JP<5}^AZD^Hrv`xFLIH7LRHC zULEy}JpS$3;QMCMvgQ(-I+zSXW~zbYAjtZ7}wo}LPm{a@7pc6V9Sj-Lde%}?Q zVof6GTKjT)#jY4BfmT7$ogY&LW;!RI?snWYKS8d`;H`YXWDhgMXj-1UTvh#a{FUM# z*3>t?j&_J%;6ZaK#3KDmmc_-CWq|{A)-9M^>C>MqSuu!HD)*K%Z^m4Rkp%(yb@>}` zQig?XXEL*P_hkWPC9Q!X2ww4{Q~_E+L3kL%hVzslD?8^wcrzx8O1Jr%?BMeatuwxPt_Zp(vVZ^QPi(2sB8aq+XwwqbH!|c6~23F6P+EnG*R27l?{U07xU~&G=4*6R& zVw+A&bSS;w2>N66}^}ZdQ zIOksCO>$`z8lqJOU-JG}I%?KE&Rj6Yl&}7+cgCK<|GEpcKEqDcGK&9M?Wi4|SJ!u; zHTth`A}MfWs;ntJBmx9#8G58ul0VI&gSHBWm*9?}FL4OUL;~K2Bl^#$lEQp&Vf=~c zEszyrPrIZzFDkE}vPy2*&ln-3yk47>H(WO0+dqV>#1Ntncw$S4qT(9w5*!@jw}e2l z&1FiWGoC8|cNWvyIB{lnE@hdM!8tfkXV?x#bsZlX&Y{r$1zB*oSk>TN)Khlf=c}KYImQkAKF`G=)xc?>uxn zTp@U`Hz}!?J^_XgwldXIVXsHB`I?w(mmG&91^yd34zL=u2I;Nw?g{enCnkCV|bL8fLp%u40JoL8iKnz89AE8f<*f!qr0-N6TF7URHjk$c#Kz7miOKm4+`DpF?%!wbtc9aR= zy+`{yn^$n;im0yl)^tLMH%~AByn&#=TVaSfLPKCd2fa-;+hm_#I_q3&HtaW_jz=PN z1>D8F;n(E$uto!x<%NmeWV0sdCrevXd2?)!uG+sl$K{MYz|ix%jlmg_Kihs}HSDAW_VCQ+oIxO*6lDsC(9LR!8{eei}nbG21&UYw&GgvfD(7avZXM<(s$k zFZUVy{R>9xRcT3>W&^j$1uFTc-ZA45~3N(7oS@o&@ ze{!R$90#h|l$mFSM6ciTmFnIGrny(DUq9cV%|70KIXkk}@`=G>B{0a>npfIA|^Ny~)Mqsf1N#yvmB%()%rQTnvVC;cVX!C_potfDVYxCo% z89{L*7v>iEqqQw_{>#Cmy~f{x2P$9^;=pK8j9iK zW3Uuv*x}3JnJu=|;w(F8Za$`m=1uu5$6k^&Qy%)RzH#o~lIUxx6%1FRv43>9Ae-}}I{&K8IG-ie6h3{q zn)c~a#P_fh)c>FU7CVId%S1r`4hcdWPHkZ1XaDGue+kf~O9$CuHP1`9NyeDGTs>Rn zr!IJrYPp;df-_oS6o}as?Q8*J;2Y&TR7}E30NzTtdZ|IdP~NaStbq(OMKq5IWd-yZ z%PNt>&hBYD5longKBhnwBT{K{DUr{6`%8@ay#s?>l^_tA)ahd>rq*@;axXHGlnrqI zRHLtilnsas1?h-|;pYG+bmmSerZLy+_CU6Wr$5Zw0hXmUq^{)XD)jPxh=Fcrk_*7w zd9_nn%Hrqt4brHDRX<1^Cok&*a59#}309Z;4m|*JZ~pt7}`?RGE-6;R+jSp)k5%M34VnR zou^Nva5V&u8Wpb*{7rV59p;~an@|OBL;tJg|#uC=T?&I+>OgJa*6Ha(6yl}>G~3t z``Vq@yrTdVABNi7DNyC|^U-R@nv(S*^Gzlz$~61Ivkc~>iWMTnb$gUAyp7;`O!5D) z^`Dkoy0`%KdiDKB%=g5$zisBUf*!YAYVX$iQP2LSOkI7XB$9;+Qb2GvkG$Y1^Z%p0 z)vD8|G_W+f_%Ya2cD-~GT;@>JU)~<>BZc~0nSsZf1?WA;P(BmI3OM`QZA;#_4H>vA zGi~2OAgSL3y|$-_=)ar-P$(Q`x$(p1W=Kv!MfrfN#xazh#0WO)EC5?Jflz zp(o#dzX~ENdlVPw)4ZFJ@(L;@j#V3uiSlLh`;}keuU-G=Wv?Yy_CnX~-NW)2&M0ZS zfjSfUN--C2GoyMoJ^05dCnKkru6kCZdY{ROoLZKAK_)jnz=ckQeu09l*$RSg5!RR7 z(I%Br`m>Y4zYOkGWChblr&{(HzPhLWlcK9mXzz)-5F-}CRwsKV0qB*Y&Rdp3yWm1~ znR6H+8P5GYAi=NZPcJ@YQBB(`wKUVNu>)n=;axl)ejtkkw~PUw-pu(}@(v!wX#Rsb zfc_j2-U`D2wL^2tRPP?}D!w%p(w^vLWmanVj!!;LJ?~+krKs`ls;R;mTpHX14q?Dp zrXb0jngRp|GzaBn-3>C2Q6@b^+={$31-c-WfGC@A7x3(Jgzl+8N;Ub?Ue(pW}rym~4Z6OKJd3RjkbzCzF-aW^eCIh)+S zJuScLli#UPl5^p`hxJG9$_CT5mC0yJQ~N6em6+C67O1v%Fbk5@0nNV&@SOpg+ob!s zYWJR|&Puz+y9Vm0Cj2&jTBaZy%n+Zut*Mo!dt5pJ0b()y`6S{jt+%F>qqpWH%uK;k;mf1thCDUwN;8O5j?~ zf1x%J^L+hb3vP0M{@H!R=$l7wvs76Z-UGcJUUw*QG8(eU)VT0iT#vY7-C z@OhDG=k&0m|6zO{B#Bg#s`(4WJkE~VI zl=CYlpqj_>RKU-#LU$VcZ0dKj?yJgkX7Z~Stp-s62hjlY<>Qb@nD+BU`fid|$Q=eL zB&BQeqFyTlE7cf#rO#$@)lQ`)t0G_TC1r-!Ub`}NKzQUUyj>@)`WMHD=vX^f@(AB1 z`5cvuiiE!-f86p-5g+mM2(h~xQU9aH(TgL7B!`m;&oAZv8INrfNp&||C9|rOlgnqG z8>lKN&r~~!R0xqR<93i1N&$&Vz zBECCT8uBVNhhF&5l^Le zE|=z^s0@3}!s%d-P=rP%D0BNv(#rS1zH8b}cC0uFOY6Rv5`z*ZAm^dBEG`_1_QzYY z_g(-}wj@l*9kTiLW&Rg6C^-LG}@^!=Cmqe8@}*&aZU9UzS1mcULJe*LZRI+-Gd7vsl!y zUMDy5qS(q7<;UUL%^aT|SDlhV?03#IF+>jwQn%FZoWb%S&%v%SU4}}NRMO`?eJw0z zMY!kr!h~tDl#^XC4iN9l4b#Ah9UXOUcvv%?<>rN7U)Ks1<_&<$l-RZ{(dNhW#Jg%v zZ3(hKGeQI@E9iCvSs<&0{7`$F`{XKJ;>*&oiXI8C5pBuaO}KN(U2+02qt6m{EDqPt zsiH?wD!t}h?4@CeqHGzvcF`M#UwY!8qwBl*&5rK!ozfcFsG(PK0R~du!H#Jb?&5|5 z;V)UjK5}$Ch;0|6Vu%LOO@Y$k&fVe3Q8>%A>sI}S%7!At$oOzdn_Td619wC?Qa-VM zxjTTsws+yd8pOEG$561~H5_MIfSJMSfK`0)M43C|JDl>Pqq9M<-hPoKwBSIN+3?Pq z!-M!dDvh^;S;_l{9@~a`yJ=P5&*-eSqoUvCxj8=#s|~&N4xR+|N1sJpIgu1uks4~F zK&#AGrYx0ryM9Yzr!bWMtcc+?hD_n=L*&U}%-#r#PMf?)j^vq@C%4TF2*xdzdy>g^ zi7=!$$TDZOxQ`f99qdD!26h!NHD8YbxUSYFi{H`Bw2y3g*!Dm*odza!aHbCXd#NLv zqp}K^xkZ)dcnK-^*S9(Cpbbw(>%Qcc>L=~D-s72TGe?-_wfhy5A=g#8qdX9d%5)jd za}Tylr`h$=W0CWCpqTYfJ)UZinlvSFQ9ojwg20Ie`T8QT0UDD-vgKvo12Ew zOt-{pGQx%dzF;Sbr)=`%hsGqwoAiibo-ebyUSDAzci6T-Gwq=;Y=#6fqw|Y`lZy4_6vkm!!GAb za>ZIRxysAcWl4qqMt>oA1X4Kh5LbS znv3FQ#!BeGHnY#=#C3L~O|!`KOjlnsRJ;60p9{DkfROfx(1xFrGaS{n1PDcSo7!>i zQpK%(n7h*ykaQ+<9%558lSQ`yBE6JJ(L2wyS%j3GDBZbn-O_5R4L9{7@E`u(jGiyM zS@j}n{Z7$TOfprCUzS>PUlg-mI-!VG1&A4;Pgkdr?A__fRU{7*JVdB$)LT@ScT;sF z1a8>4d_{}O#()Z<3Ll^At|=m~b%W}lY*{xQ1X_C{ZFBxP8E=e;Nt&6NTvX(_etkW4 zj$TvBv+i^!rq!l3Vun#+&H!h&woY}_^{<_q%;e(K?Vq!sC)vgO4#o$;24(t>%V>Oeu!+S=?Ehpfpb|(kB;!D zyG^nGWj24eXv$S9t{o7bPFTXY<#IpDQ3v1>RooVpo(vG?+~11Tlpgn+``i{i*EDAv zYpX&`C)v|R3B{Om_}s}VvHgAMMX8^&ON(<&qo7Ub>Cv0LGV-AVf-yhQ`HE%pTm{;_ zMZ;*uz&J?SviZZ-ZqDj-BS^B7G|qI5G62q!FZaNq53+GL>X}egb6P#Xzc?I#L9S(> z(S7tau~^@^Kfm{#2DsC(aX}95GS*vA{@BhKgm!!92G*PcH~+tQdiQvy|2O`Bn8Or` zq_=aLb10G1oQl{ShHWY5ii(_%a}23SiOu;isxh08^I4SB2(>xHoDT^(pAYHx`h36N z+i(Bv&mEqx>v>(*<8glsYHGZrR7wt_4G-ZU$`=g+HiA%;y<7)^N@l#8kMecmJWyBm zrFQuF=;kk+yQ^HjL97(cv&uBY+aQ>vT-Gm0=2)G5)5C=6Iys1xll*|LF=;tUPHgS& zE(3$m#{P}Zi#!EhdS~;0Yt#Do-TPE*tYWyZpyuzUf76yvng5T#{QvH_|LU;#v@1zn zsav(xmuMw9>sj&wF&)(WEMR-9y;v@cM5wg;Wr32V7?2xePk|+=5e%rfke>9gJNa_9 zpyMrmUcVC3#WQKc@Mcom%&_U;QHQVN@o$`Yv^k`OoOSh}dgmusmd=BOH(~=kQv>}{ zT=$Z?GGHG8%3kaBxKUu6;V+E5mhP^WMt0AAE#?UTS_-UQ+6jN({x1!4(GRs++vvXw zwN(wOFFx_lENola+?P4nMw6u?lXdstmrHDNge@I>U!6PG8BT#FKeL2&Dgcs->}V!Sl zy6aKm=w$IVX)+T*A|-(4NzimtGZ!f{;pjl(v6`>c|B91K0&@GykhgdO|NYPeC+4Zd z=HYowfGK;uV2WN81+jUV>!Dn_Uc6i&i?K0;`|+!BP^A9n+hW*0X}y*+)Gw^z>IHH^ zh$?K{#s2?@4=CraXV2COrZ~m0n4y=Ak#&DT?3BG=S18YYEct@c{G9mt{sp%X#f(`d z?%)jAoteSqCE_Rr7aZ;H@D^v^D5ZU?-!UzOQbZpNCW15URL!VL?1`|N&TNltDbtZQ%O2DgF z!U)BjCY<+P%>IqgaYsHOb4Dwvhpgbcv5O_xY<(@#j@~$L9F&Esc=E+XSj;0 z)g}j|Mri|W-QX7|%_O5XUvf6Di^ZrnljWI>GN#1L=m~?|P_;Dh{FOcO2_wHWz<=E} z(nPyTa%aG%S$dZr>jvPOuHrVNpjm>NBkEI&40+<&cu*5E$Redli)k2Z7^JK=-p3pav0rwZq9GjyuV!oqOJh@-6v#71=rmygL z|BTcalU(5zAWriIOQ^gvPtm%4b*I8A5??^8b3P+ZPUf_aD`3L9>l{pXw<=!?c zyL#X&K>)RZgpi&rT8ejn%|Au zm|UaqgC{Qqx6i1$pf-Af{i(bgFhk)9=c`6Fce_pk&KoXC?fzst^^O=zP78iKC*X7)J#^R~AnVvt?YM1i{@1WgAS4%>X6se9=o zqrA{pFWtDj^~0VAX4%toYUbooM5@V(Vs20HyFUV^Zk#eHV0FZMtF(hT#U6a3^o00< z|8scEaKc@-(u)k9k-C;~jIgB|lBqD#EV59&ptt?ve{bu2IoH83&Bl~AKANu+N&>Y% z1GjBw{(iq!)aRjqDlBrct_eyQn)N!w!Jj=L&x<(W#xEMon$|tg*7}BSWFfx06VYJJ zl9S3 z+2GRpr2nFk=v66kNwLXNzB6(4BCAr88Jbq)<-zJYu0NxFQe3}(watjsnz8WJKek{_ zsPAhb>uYP?%~eEuMy+H%9*%kXFLQm(=D`$T{$)lg2u@edPBsl4XAL)*XfX^q8+W-- zzt%MeXM!n`Bijn9wWUc|0P8844~y%EdoN1H z$qp_}_`X)#R41FWqj~daa}7bTm%E`K+M883^&pz?JAKV5%>Wo(e9#uepSL9GP&leK zd2OSlV{nNUX?Qo|Ak`Y}YKUH@Q{Qo#>|7)9Q8S!5r49ZgST9ywqV}G?|G=cF+U;QSqj=% zRX&k!K_!Edr|>Z|#9aRdan$v`f-qjQyU?s;Z<@!ZT2i?$-wFfNzOlXG-pP1{EMO)SOk*=$v(h*;d#eCuF;^|&`sKUM4C~8&Ah+SA z`GNjat-AdvvnPcgJSyp-)yh9S<8w$4gI2%mG{jB<42@Hr35njCYm$UQ21I9^6{g)7 z$l6KAg!=y#+)>ZZS=CI#^CEd;8V2}O>(4-E5K4eGI|&Q2fY%g7FSI0=-d`BAXr>S- zp$IEh8A!WJT68^2a(w{H6fsl8LAIKw)UNVK0Bfd4Y7hV+A0@E7OBm^;N0L66&RyE@ zcU!on^~v*j)~1@!x=Jqcm~}baC%(%X6n>o-TFkMBeKGdTr8# zzzNyG18jD~+cpdP@&d*Axq?hc!9LD7K<84FFnfA72g79Uv95K)RuiG#IT7zwRNoQ) zOm(`?dKh)1i`pe};m1+hQP(r*=+ksB8o}gl+2kE+4<>F4)7`i?%jd9s5TFz0DWOeD zSf+UXnQgl6MayOn4NK8$h0?T{kl2Byx1wKQ?k^Ww|Yw#B$As&J0R4_3KXxl?L8P3#0{gK0}vm%4F>8iof%^ zp95Sv%u4wHC`tCww-g(C(A(K=rC$jvEGe3AnIl3z2ds7K-(n~1zxGcE_VP`Ei%+~H z;wb^+Hetr)QxDwyV%vN)s_yw?<)^Gns(XJ@9HjRLOslj8&HZycgm{r2Af!j8YI*gs z_mfth%GA;F%ui20yx_|DW9to{T2%Xd@W%EZ$=MFnIXDxk$$YCf(zq9$%K}#Q_|cb{ zWaT#4thG+A3HUuaIU2P1$RpC+Lu>cbZH`vf!ps`?wPQ20%*t)EhS>uqqY_c+Jw6ac zV^59!N>zX&sT!JTtmjk5Dk|Mt(lIs}+gZDP?h`p`ivLQFhfv7=(%r4kyfMxiuo7iRIMUz=`4YVPxEBJm z5pu63AO;?0m!q4t_ECp-g5B3inKZa1nAlD}~v++uvdlBO50T8j#m7ZyZwjCwNbrnHnHaHi(5 z-2QU6V(bO|(|YzkPK}5xg+)s1Sv#}@==CVbv&GJ{PuAF3S<70bPFJtg5i?RAn=f(g-gD}Lk_TUK!xeV7?AwH}L7&~KK z#n1u(hYe?eqe;KYPIzchbV+09z*L&=bKdjeMREM2Q*L5lP{i$+*&(>(t$32B^nySHNLx+jX&%jui}bd`I3oT`HlN8FbPoC zx6s*ykv&qt6ZdprRfFM&P{y3j%9&6+5v;kRx2kPt5yyBj?IQ?!OjBuK%CVUV{qi~X zaoFX(H*?KrBS|A5={iCI&mV*F61>?T#t$hb!r`p{61V$OG_3KIY_F)@s^MSH(J4aT z&cN-jydVpk=*67cV!rhv`J;fmkm1xhe8Gt7r4b^y5Li1$S{6sH0%z2RQId%puFDy3 z^c#nNaRenfFh@)z8HBK3K0Iv5{gWjYQC%}x7-%F1`HbQx-b;J^U0(q2@EQRJcN9`>dly5h@yBWJgJ9+g~Z)h+LNmoe^_C zK}LTAVxF`^jKB2ZWbk2mb%?5+H9B`?+7wccf@B@}1W#`Fp$U zxIs5OrOv=C7mpRj8YsVV4FVkIP{mG8gEAy|O4gu6+F))}8V?CRPz)>3Lf7(0Z^Xug z-l?|$z<$M+1@^?+-mJpgX+JmQ!W?KM#TChQu&~vQ&Q^tkoW@}V;{rG~fWEN(-*4Ds-f@`% znyd?P_`}wRzqgW(H+YRj?PzsA>lSB>2aOjRHgmMtKfy{<^-}oWFCTxJyfeA{W8vbu zD%-){9i}U*VwarSt4jj!vOl%!rRiVu3g-1&Yh2tyha(qkCxylfdO~y$|G=gj(rmV- za-GuDT#-le@8%DR8vAeXh6ZKn74TrWBrYyU$!?DIb>_QCcmD1VDtmced1Dv7JSxuP zW!6nD7B&YJ792nSTvaeo7iVtwNcDau>e30VbQ>>@HpxQ?>EW%Iij6rd1J~nX&eGO@ znL!Uzw{7W@CwBoNpVcUwQBU;)KCVhe$yrQY0Y{4@w-@s{xA8KqIFiG_+93!)6;6lH zVj6bGhA1A=>?FJU5G;`zzx6wy7Ru%N{ zH^zwYkC~#jOqbcqYwaP01$JI-%e)tWY0s6VOXA6Lfy_v;GT0f(1wLx*`TfT)rbKOS zX#V;m+r!Bu0s4=#&=DBTTgVwS7gKU*$dW+zGja(KiSahD)|4S@9-K@O>p4rZP2;fzTv0HB>UKo8dM$QmV%cWmGt*odaTjt zUZgOx0#lWBUwQ#qR*`E~b*<&&SJQf}D|qy|K`lsUslo%C==VjPsky}j{_~M~w#^?t zRj|Xw?B8n|i6q1Y1~-zzbSA@`te6%?C4qMB;Of~_A@Y)lgMv8f>|P4ABN01$Oio~r z>4rqGIZ2G4dtIpgEz9{%+jZTpx2{i#c?7Ewu+IET)G!f{EG^v8b1755mDtVW)L93< zH4kbjzgrhOU2#md#6@(sYNYhUwEHLUz2uYIU4lzZ0eeUBbUlRJi%f^@{AcF_cGBBX z)A8@V2m~y=GMuP)zc<`xv;TZn{T;W>1=Kp>Vi?c;!|`i0^Gt^Y&wIL+H?bWxK`Y8ZR!@^vBb)ncG@;nmfm-2( zemVdGj{xzqu?eZ|<=5Gb#XF0IZG6C*#Xx&Qo9q28-H)N6IP^;P8X47dYlu6N7?&dg z*9l;Q1x!uq2Ct$ot^O>?4{#gq&@3OVbbnY}TdeW#7sPnb?BLJyOKyT+9cK7um`piZ zne@ECxJbjv8Mnj3Be5vMNj!r2_>+TQLy0_VesLb%k7k8X#@xOn%6^`lAe{(Zz!wZP zb*yZ&U6GvL7iybvd_obCmBOq#Fef{JlE5F`Ko*oW>Kar=GI2g;p4rYzqfZUC%E*nv z=-Nuwq%aq58mqZD3!pw1fHv4kZfE#E~ zY1bPPUpd^XGek9*v`VHVCp}2w=w!{kk>L*5t~fb3)&7xMclW3H8lLVokJkq?O6;3# z!Z&6tC3Bai=|_JnicZG=|F!hwwKGCOM~-~)4zH12Pfz?z%?BqRL?PiNKnw*r$gyG3 zkDRgwn2xZ#POsQ+Q6c=Sk*_2cliOAn|72}3|Bk7VWq*ptnNeFP$+VijBVr}W-J$q7 zG106(3MBs}$0n z%bkJ@<8kJ>OxfpU{;CAORsicMu)-9!%&KhxCztlRYYz>WtoQW0e-)sNgeOe8UgTRv zSJ>VQP4OSC9on4<(u_tQ&+YaGzIZjhXy4UdHU62shJF=1Ze%~W%7)PbsyEMi9s8d; zBiiqYd6UbaGbNG-1W}eeQCx&?fJQ1`Oa(YAIU0u@i;~t$#=l@8WFJ9V=8SOgPZVw& za^}MMy~R5xk;URIsk;3e7uKOQcrn)^_Skl@sX*GUBAIj~fMkeBF~(uN%R0erio&D4 zp$sP@wURQk+)))n2i7=;AUUx!B(TjZ_g(FhzNNT(DKdf9-gH; zt(tevcM2Za3-nIhaw{zRmN$C%N{^h!nEhaBZZ6T!Fa7M)zpAgrJ_GIxQ`HN97$9z{ zXEF#IJRSatnuE;YnG6k7RaZ3mUL2A=H-l>$HmmXDmI-%YMl>2RU2gi^+MJAkb_d}e zKm+UQOJW3@w$qBXHv~Im!{?{oS+{=la}5Sr=H}}-<~%5+{SGelSA^})6)4to7O?-b z<4hP73qBSP=h3oI-N?_;yw+rHPO1hfcA_)RxaJLr*LES0#^Ix=CfPcW{&`o;qTS$9 z`$!G>SnBw<+jG-KR^9J5o3*#iKu9wt(VR_Rh3(((XJkbHk3u4O*h z?Pt1MHi##$@aiYh)$hhrG& zX*yh4>!T|A{RaeNR9$zDI3NrH62EoCdnI4;ujTWpwjR)#{yP@>um7`sa8fJxb=ej4 z?-oAs=w*bKD>+d5zo0mpzMddJR4gij@=J1Him3tr!Ee8bwfzp~S2rsSWpbxb5v*XB zJ7%78%-&1h!T&+Ctv+7npTY}!NrDpJdpn)6xWwT3ZSYqqKGXKs*Q`|i_mX(Z?emzA zrc$H)FUQ!h&u5|~R=`-^t`PfFo-ny>ra~AEGs4kfBfbFghL%86pi*6m$ z1+A~k&bTZwz6npv4w%Q5myQrhJhWo7!fT*Fc4Q*j#QVVuIh_ za{&z~cO_g%Jv%zs7}qJbeh%!uVRS__cu}3cbfybGfmjGv-v?vm%q8xon$qMIdJ%Mb z`e>R{-H*(N7dkZ%52M9$RqyX}#w_K7WH2j;`|6LPQPGHjwO5y-(`91U;@8X+Z}`|N zrS8Q;F%Y<%bPl_P+bbuZ(=Bh;Odt$cpQFRiOFi>d&N!(atU)+WaM=0WP&U48ny3ty zq08E#>rzms9jg)(h(938?GmJ-wnsYYjo-nSv+=h=L<1JVEv{-QjX48<(j#9E%bivm zK*=S(O}AS>{#_L%7Z_<-kA&l#(xS{>3NWqdKQ7rnd26=S6w3&ga_#zAVNruXN*_LS^9jYW(@#V`6Oyu_27T&Iy`vx zFIxD2o8 z02gHI2BEPJ+Vqvox=edpHfjI7TVqUVIYJ-vGRKVuULWk0gv(o@L>RU;qV^ko0c9oH znzm~b;~r<4dm~sv7&0fITI>*-Q5O{Nk}AH(E*K8T)8EkGcIO{k`7VlpmR5pHKODVS zcE{xU<#Dc~W0BH^j+4=eweQ1pIIkw)<1*c6gy_={d zo_ovg-ZXRI0Q!I)$EzVvF7oUhS8Ede8O1MRDU?S}GH^yINfw z?F6O&DP*|T+s8_cvA!66#vT#4)@R=kx4hiS z9#FX(3?kV0^LK$&Y%N`r``0FfGJxw2TU$LA__knKNW)`Hg)PTvN3OOo)S zBt|1VNK;f*Ybj74p*@Yo>Df(D|4Gre!CA&m+RjIb!`oA|V44N9#Xg~M%wFS_UD)13 zEyFkK-(L(?yKLMzVip)epZMy06nZMcYJU1VPe>G)Jw83J!{ab&4R_6RGhOY6xi?iK z4$KY(3%E1!o(_~1;z87b`S-ZCwH?U(m?1X#GKneB1&eOOL<0+#Fts)Yf~D+j-4(8NL@5@YrO0KhJ^K`4sC+B2kOPPORw!woiqhz(>eo6fH=#C)M6Z69rlkL;< zusRi7iC;u^JfhSvKwbZ;WP%-~>)8_o0PsFN#&kJKI{dumBL{8EI7w=i5yuonZqe@d zK}w_V71KmYpV@qrvf4<$WET3vwp-l9oTmQ!x9*KG|Ls-Gq0tCX{2?D*p?V)+Kmm5g(T^X%hd+ae9@G$s0*`qImITOk=CBRI&cds8!uTw)QQ5&W^@dvvYVr#5>Hq zE6z#LLh);N64II|RiQ2*3+WnUx)oVS1Jf*sGl=&$MX)rh_Ht7U4Cu-i3z%uhC zo;RGz8t>gZX=z|Lh0Pt~3+1PTe}Oj3S=Wxe5`DjDJwJuuZyJkaPvu|#X|*;{2{mhL z@J)6NG+H-cdY2sbe&~YHU&W=WH(;vO=#5*+(H$BxWrc-b{}I@m z>-5CWUuqnu)1ZcPDpX2O2zdm4;*9W*i(XJ1y6dl(Z$pa#M z4E~8;cQSTlbcxM&N8OsVco}Mxxu~#il+v&kagr0hMOWGduIo;}s{p+^qbr?}!Y z-%TqM{>^LTgwE!E_$}(rc4ix%;_Jm^ro?1ek6fol$?{r8-=-`qUiSiqC(>4C2;IS@ zpNLx!70ZeuwmX=nnG3qd_e-1qv2N@S-@YCHI~yKEnNJyRu2{03WFkd;lFPP8QHny@ zDYY%4jS-Yc56fOH`Fo%3aF)U7ZRL2m%Od;ddQ=)O9GhS4YWq5i2jMk$*;i!lPF_Y zJI58vwD@;|0!r-3NCSdJ$I3_N5)xCk@{^~Zwlmj8A{O9Z=dt(YK`9@4+^@-huKF}* zr4=gq<(I<9!v{t@((?luhBE~Mm!ggW*fn>2pTNkZ4b!Tu*UomR6?9FOa@d(E*F>{| zKsCRyD_PefE>KAqOWa80z1u z;Kq)gq>P#OxF1oJJb*c!(!`~>cI3*KyL8mGg}t@PcxGg1(ABf6pX{{^X^ZFRf3k-c z8|^jXv>>4To=uqS3UqxgXt^H$MwjUv5QxneJt;9yq=-~$=I4O%APa(w9eu@EKPe2@ z(~yEzYXRywvvq%B(((m_Id$t?42zsal@@U(D%0JlX-(7tz!ZlzSK@_{JXm`*q)3I9 z9;pbhg|+%On7j;Ptn_fmxK&`N zwq8?E{0kE_7X|n3@Z%0vZTP|L2#S3N{m|H*8+I#Tz2lh>0=DRbSjARp@+_&lRtpMcM zo%LS2mN+~UbyMk0{sXMCXTNH`-*iF8Vt7OU%Y|PW$-clXKhHJWV2;`Tk8TG$F}tX{ zRn?Kx97NSO;_=nkXhz$q<`**U4c(@KP=ywfYrmK zJR$CFKBx#acp#`uce0M4pv$Zh-u3o!u&Lns%~R`bjysGRi*m^Cwzu*N9=Oi9p3M{v zohoO>H^^5el{jRO z`G4_0o3O>e!Ntmdoy2TGP??=3+ypM?WQA&*Rw(>cT#6)L_t?J*^C613Fh5q` znf!Cb%`!4340KcU%DeBa(lmL!mvS^EUY|7TKca%kPJL!Fw%X@*5s@$L$u*462REY` zW4*PCp zE5iPp;MsZEt1agn(Zb7;gP#SUm2Pks%#sf!-?BoUb6!UR4aw;`? z9k#oz7*B^*#~)o@6-JGiyH`);nDlyWEd&O&!y43|;_M5`144E=w3MHn;{!d|GYB(} z%*Q};Q@K`L9dQvhUn?5|&>PoZ-(M1;uT}g0>w}nn%~GaSv*aaw%Q8I#(uZGP4fJhw z*7{P}IJ+e^sv$M*Nnu4PYX{*=rS)X^U zzsbPnz>_v=wqs>GT!!rGFs58dz7c-w^F9Y&cS0`Bj|~$g;7|B{gL~ z{&7h}9I@`&ep>4@XG^8K;P*IJY^F>XSS!DgnIY5A*<#yJmnfPo(5PA~vtIg#k2;tJ8)B*zd05ionTbRb`cw@bXYmGqN#W9{ zST0H(zj8nQv4BT_Mw5$8r7GgpR2Za#7-8Cdin#+n z)8@6n?#vq|@E8ZPQ@#I`hScnxtXuP*zB-PASPmv(==9|Nxh|)osM^MR9}22{jS8}y z_qaK>Z&zs!uBsm|GQ4&V7^S;OJLhAeBp~k&-XejSaR9x_zC0F1d~1Hr;dEpOnQ>8a zXX%=(EDceABHw~z&q~fboWmh;Z;Eb{wg*fw8)GZDn3?iSx4qNB`==B?WaeZe+Yx3L zg`e)tTlfEMb43!G%Oq&Xb|u}!$dL9Ool(?Mc(m!;Q;s9}1rX_xmjb&5=J>E^zC8TS zKH$u73NkhvXEC6%1f1U|#sxl#M0Q4+N%uQcJ|Oim?ty1R_r#?B`VS}vt&}Us@CI5n zF&bUzS-n|mX|1HsyVfP;j~uJnyLa_QME9SpFKJldKJxs}LM|Nk_n%^&&A2>3 zglj{vPtsmlmgsL`e^Y53$GviDD1kNutf4=0p2z(^~n8 z9eQn!1qD1*<9wbBvcXiRtX0w?C`nFSDBj|$Wvjp18f;NzPhLE3lq8eRe@ulEMnT!5 zs>VT6@(Ex+*8sn5W7sZ!^RV_|l9)sY`ExB0^r{YT}X?;z05 z9&md}lWX0ui0Z=I)+Pa0#G|CX6k?uK6>SwkKKlq>RWX%#z-&Bx{wp-!) zbV;^OJf^xYp6JY5vvLs87?bEZ2`OWZ4Qqy`dDH%yuql=%x8O}s)NAtxME}gG1V8OX zjZ@VZ(R)kJ9a2mNm3S@(V;X4iP=fb(5kF#TWrYVawA0wc`GIDnIX<{>VuC<`5PS0l z(@c5EVA_LCsTEn5xvkr>Tx_RlD;&b)^4q8G%(jgp)aoc%UYWUh8IcKqfJVE|WFBYX z5N%TA&zY;2wAu-24|nP_;}}?;Zud0S1U>-SPXh{M=J54RxSmy+yh?6}mL zpP&{#`jW&xzwT?t?Ptc&S)T`}*<3;gl9Jg@_n zXO(kyzEx^zfk3@y#;{406?auL7rlRGflX71E0If(lEY&DvL=G8nlp1+@K)xOk(8TP z9P|Tp>OR=Ll8roq1bvrPzhm2~=ovqN*Tb(`^J^~zF-MaL(q{^eXdcNys7;s`x{fo` z&8Rm49+Xc%%r+1?BUytn%(FAzQD2@cs`1FaHd!M4(__zAtgezzl_G4WiyBWzMs0YA z$1GWA1{#f*B*vhkh%?bhJ@P^glUa*2ygirMuM(Wg>18p=TiJ3pMS8sj-Pjm^+0(it z&&X(Zblko+LOJ6+yLWvJUsuJGYZG}2pi?b8S7xXqUkBBhksIE*}NP6U6!3(n}<44HCuXcKeq)h{-5&ZBc3^8 zJ=LJmb~m{a&9u`vM!%bCM*H8^JX9EPe5%5l2Ln$Hf9Iz-T1S~Jq?(m&_1ra)9=SU= zBmI!O?Bfq@cODcykbCikQ)5c;D(&a_AUEf&(IFO{!D`vqHY4WD!$;7c9MlfD{+l6Y zx7V|O!w|Elv#9e@K6PXTH-=rdxgSHVniWbw*JX`2zf<7F-niae;uWg4=*h(hFl}aB z|M=3y?8}ylUuBMs4xmUMg4dOn>3VT8Cuw%qnLl40;*uAiMq}3q{1ehE{{M7#Izt_n z;BkPYmwL0VPSh3>_lZ;kFPUBs>0WjOt9&yuP@F=y0dNPGsApC$;Y7=O1Iaf*C{aG< zQ$K%Ycf4VJ9CE`DrP`bAN6`*>%2#J6wV;C9@P=tKJ80|OIXPoJkYm5hl=$S&P+t{v za%j{HG_V5*!#6X7BXy*Pi_^KoG7+P3EbYFXH<7z_1N<&>b<;S%1GQ0v>R~&*^e9cy z-Y2eLSdYZx*gV=wxS&4tEO>7`k(%ajde~Gc5l3aZt1+UwE1+utz^9a5)*68mo5J|GWJo)SS4Mc6{cd6HM6%C#-3*-th@LAj_?!sfXpptL#P zdV_i@W(|75dcI_;YD;IlW!WDuIH8c{FEKc0>kD%oe=ts@1pWEpmsR$!ylO@Do7KU4 zT;I!7%@!%ioF!<7O_Si@M@7=`BU_$f)J;(Gme$z?Ps35N;fixmBmWc}wE{iw)p=o& zJCam_Ua7~2;231B@;^EQoiF?!8@4C#gxQad7CPj(L;1!!c7LE7Jg*Z5=unzD{^j=9 z6_uaAF7f7SyQTZV$Zj>xOX^aiX7`!LoNceMUsR+28G^tR9Gn@26m-l@cWpq>%EGq-=YC1(IBH zhw(ml%)~UoJhyG1yi_AbREb+bo0E9~XHzL3aeZzeT4o}qffg6!z}#(}@8>E$W`WSE z11A@}3eJP;wFZ9((?iJqmj-6;E{vELhJ(1$+!MU(bKBs6#5#L47FKWdy^Jh1f$NoOc<pCE&L#*~bO>oH6OQ%!;@7Hxj8?qYpmu=FgYW2I1hmzyHOc+sHAU3ma!>2eeiKlh z+B#R?eDXE+3UtlvRdKUYYO_GLpG4s5=cJZY7LS&PCObQQT zrW#K)0Ta0R$8E2#&nyWQRE&x}KRuMYe&sZ~Lb#PLlcpm67ekIK<;xbFS*Jb8{T26m z%(SSt1hp+qO4nc}h1|C&5cb!%6cRWpw@6g76%<%~*-z$GE${yL3Qd(u46&Lam-8Yu z#cCzg`SXB`cG(Myo}hpRJuu^9l>WqKXYm}*`aRn!%2L2(EAyyDl|ycW2)o?fU7ah@mA%8kOi0O9>hL}cqF`N1qd zuv{jWlbq2`k7J(4+|o2cp8?4w))Rn?f}(7JSDB8IOj1s10EFrDnV>sU@EZBnS{%|B zMqS&!1pnj<%>n1x@xF3Sv$9BGIW9I|3ArA=@2yqlinrG?;D3dVPYct$x7Y8+IT{SY z6|^xW6^_Xsymt*`1;yT=SsC%$FLo$oqcQE<9uygQD7Y%d9E>?NJHuU@N1h_BL8WM2x3IY(`U}Q8$TN>g8L7gZ6( z^$Jc$p0lL{qSRs4_sY$Z|B)f0GQ=TVT>ryfH%7}Z34X^ZN>H!2j_L!(K&rpj{1Vor z0T=z{Woj|8jLGuwP6&`EJ1d9!yJ0-Km}PcT`KMD9N)zfQ$s+pVPRon)EbXK_Bi0r z5EOWA+?yfSP!^nFZ*y(9uOWHFPOHXWnUA%TAuGixn#+QHKT|8Po~&A;HswKF$-kdQ zZL3#+wkl`r);#n!veo54kaR--1 zt_(6}HVK#kp-n57fe7N!p;uMsvF|cLxhnjn5zJ0<7n8x5ye+MK%OaBmh|hOfK{(db zg5T<0io)rA^c&Y8GBFkWyJ*u3Kq7!A z-n#Q9-Fpi4BEZGCC#8WWDRS1Ic|A`E4$a4g6-@oNs(vc-C$98xCw@8ZHQ?7)a2&v48do5cpgJnpR>m}0TC;; zmg?*$77HjLb2`lGkPL8nhIWzzDf7a}oUDN|PbeV-qFLp7V-!yRGy2nMiXQ8^;vuu{ z>YrN@+ty%NvpjwLzY<*~d-G@{`|4L?9WLmO$~O(d`HSZruiw1kV}%6JDw#`wePL+y z`Id-3ulwlbe!fMCs6r1)U6TK3g=>?E1VkbwTDpIcn9SP}N1uPFiD)-Z(Fh`#OHV_c zs@^Jj01mLPw&`~|=UGYFmk_Qp;wdrniu&^gkuU6uLBHp!JzM=+X~{8o3>vb4Dr}!*(GUzhnhJL&}c=jFxlqd-Pe1ugmk#kWkPDqzD_5Kl3=BOBbl zvb+m^2~`VfF%<7$y3(&T*J$;JFUX$#VdK%3Ufe>GT=5U`=r5`11DgE~`6HxRqm*xW zcn3UUr-^__rL}G5bj)tzEb1H6zR^y;`|a2v2$$dsJ!x}pZqe56lFC5<&2K)tWxS}? z^}d5EbFW!Eed~MkeaGul*K>&WFH-{Lip4muBpuTX^y~5kXWvkO*+p81Z;Ii9^QQ9_ z_bOAPFwDP{1aKRJCzAF0S@JuJiK%)8YVdw7$0I`vRLK?OSP5g-Ejrpf`hUTsg(P1M zGbhtoWon}$fC4}-zt6ZMO#;-B%m~VWY%kQOR?Lw?!THmac2hJ;4r4oFj>xw20 z-oyVET8DO><8Y^K3M9YZ{YA>mp?Ge>n8N(`Nu1F}kuqjQ^daCtL!%_>G9r2$5xyHmhP$VSR33gGFaQH=K#*jGt1c`IJcioTFJrn_srKrtipE zOL1WiFC@3jT*WwHm@VoC_z2RaA?#tk5SdmP$*<`bE~GuqX-Le@Fv^6=(^nrW|L2-| zM9f_k{&3@Yq9zjb|55ec(QNKA?(;h*=j5FHAZIaxr%hOvq6XV;mgFpV4)RHH$7V*ZY(^{Z139 zmX_3Q0vgyI@&TduTppzdD&||6F?A$?ZtT45fCVD9sy zDdU9lQ&~zP3%y21{~m*Tvh*)_qin~*o5P@l6GSn>p@Oa%b2E%S@Zye^VxA)<&5jh# zLs13mEs&J&Da3d9r3FGk5096w;x~k5_iDQv8xb}u=T___8mR@+tD=RJ{x=@*#9J^0 z`Yznk4CEoVGOxzGGiI8E&`;PHl7eF`3cwl+)16v zm1kXuSef;SZ{S?ccTV6O6;XaSH`bu4Dg=c1?W&(}ccT#M__O`#0}v+Mko5_O4!edC zLnwd=rrG#o6ic=#AK=b*0IV)3e(GJHab5pRek1lz7(U0n+@*@Ef`e&}me_hdI?P@; z%0d6GtC>X%R0J#aGcWJ~Xs^z?9;Ne{)f!B?2Sy_!Bwik3we7SbacJbL?a<2~ZF65s zR?Bd!1_%%C+4vV}pJx@lxxnO2b@tHtq5aX(I6qLqX(Cqgi`cobzHY7Eoy^f7jb0en zJ+^z`w`%$o+|I|V`I8~152u%m6X$nNY>0};d7>$wZQm!e@wx8 zMFt9z&p?z1qX9eE#w1;_B`BRVufXzZpW!ZukJyEUGNJ--{@hbnF?{PT$@?|+t^5zI_US4%yd;A@u1 z>OUo%ZxiQj--G;_hohBS8vm>ocAAt{F=o>L9i@knG@VvGsP>`lE$g7FPH# zib}h<8a|b$4ZAW_K+nBeOB*=@E@e@A!PdfD=n$80-|s3W*G^m*N0lYI$h}wUNde|6 zc<^mJ2#rs8gSN*B_D}!rt$3$R06vdI!G=Ej0&5;RW!&L?-gP0=5&b&aoCM9qU7@DI zU@6Jh6X#(#r*%{C%LKVgC6{c=9qyps47?Cg?B~@=*gREri~ASY++jUCtqyd0QJV}} zQtRTx_aBW}Nb(l(<#>rP7mK(HA)|C$XjTtZnc{Bk-#Zx+brl(l%1`HST?-b(8%iGq-nY>De5 zCs`*mX~OvoLM9~Q^{a;Us>Hs3TAbBZ8T9gW>-CwJ`0e0H>KXRJ6re@4%#>3Z5dLgJ zm$$OLGwKEYi0N0oP_tC%&Bj${fK2$Of3%3+y&Ut+$09;p{6)2THc{Y$XF>!Wk_i~wz`yHf4ab=P<StICo<<+Es0}_fMrt3-bu6WtLz_%;nLcnur0N@neY9zp+c#L-%|>AVBsp`r zV;no~UW<_EL*w2U&y;6|9$&e!plO`X?M~H*)vTyxQP(e`S2QdPzi!@7Q!;0s#w1&v z<}2}CvJ}fva~Q8S($RVOP&2BA=L-Fwneu79K7@uu1hjyvk&7fpF?^DrDJ<>N;|js6 zaQ*!yWyOrB4o~2n-P{J{dV0!&UwV&ZXM%JMiT`3G{ps{Pm1+=v(Jjhy8qLfjkm>oH znG#X(y{nuzdpH+#zuiZnjyuuCh(_o{r8aD7>pM*RkNErSb{2OWjB5UDpYJDP8nHwX z_ILs&g&yARp=1h#Q|}#1e{!wWy*xg}R$%IUhi$#`1iE#Y5L%-txE@ijMt!cIEX|=K z+5zeCCwZxrgr85dHu~-n5fuzdN)Po*aU6VHufvy!p4;ZsNhp%M;)mJ4TCXk;ropJg zOgTBsSYI8nJ_y%iKX9oK7)Q~e>5Le4?n}?AA*-jj!hf+YdlU(edrmK1bcO1c2i+e- zIsd`eV{z9d%htEBj)G>diURF<%0LmhXty*IUM;F z>JU0L=_5*mkA~2toXt?(hAa0mj<)pKA2=+_Bs|mV^~4<8X}M!D273vQ=1$Yun$!9# zUdjA7)UJrW@)X$CEWHgMGSftqC)#vTkOxVZus8FgV=Zp3JiD71B3iP&b)=1Z3Ly%K z2{YYNtt(o384p5#pB0|0SR54yWq6CL)84CtogdrqRF*x-=z?dbq@qiy31rg`XLjM* zj0S=`Ti$>Y$Xt!{`+P8>!|+#-`}y;Et-uIPiBw5MlgLO!S27I zPqKNgTxiR|LTWaMkYs{`)PqYmYp>twVB1V;eb)CBA*RU$e*a~h{lP^O8La4MpGR*M z&@mEAmykB8y++mP%eQJ!mbv_pG{^0)mI_iH2y%{1BmxG0`$hZ`frfDC*$(rfP&}tB z2ic0*Ua~M~FghhfI{KJf%I3Orp-b*YKC8~N`SRJ-F+&03GMw;4j`-gFj|8p~rOo$3OPDE8v1*>~PFpk8&oU zN=(JRien)?m?u3L*VbT$*SrKoqSStH8i}5Q)VjV@tgQ)dBI#!abxLIk8UHYf^w2E} zVsj7NS?~*D^TsSAtd}N+)mH~8R%^iJ;L=jgJubAI+L(s^=e*#}m+ zQJ(xayykg_O?q#9YJU!@MEN#_7Fly!_4c{Q z?R4>CpLSJK#dFL>Q@F<;%>CKj`w^Ts`v8KMnuokrv#rf zJk)!shqs!+*nAcArV=l)9!6{45?UNw!*L^220@DA8^QehAke>E#DlvAGpavrVTP+1 zkiJ6hI5<;&Fs{==lMB5KbD+hz^rl<{{@Z?>!?qsv)qnh26%ti_H>)8{UE%JXJ+Wcym-xjTKs|@!P)p>6$cQ%Y=_UBc;0H zzdM79B1u%=6@OH|9jYW7-#+?w=DxH4LC;X4Ro4|V-PvJyzAdf~nYS%eGyks0^fykO z+7O^74u5{bTF!6UyHA4l!v932KXPX;# zYa^IPsvXJN#tvK`ddsp;MfK}~evqc}BDBQ7N|WH(x%p$yNZ-Pu_6_R$u}n4{oQ)^~`uy>7vnQ4# zAlNgCImH2x=QU#$WC_tUNufOd2g$-R7jiExYZ6gBu*L_54A%`mC>kdon~OKv8XBd= zxQOF)kg#O0P3G?pVml01HhGzEDfe>!MEKl-{qQrn~3g>Z?^dtbliwg*g-rPx+MX~DCu%xww_C>u9Hqi#U6)RMg|U^J_> znI|gJ348ao8K|=F;_yrlO+eO?5Ye8<)KI=oBRxrm@0SFGTs|a1GCp!$mzSFS@|61c zfjO7hulzd6fDh)D$#ozjL&T4e8`|9K3@!Do$%Jx@DD|Th02-+wg-R8Lh>pw;u9}Yl zG0M5ZSYys2Ua=8c<#Ri2`?wNTNWl8^Xidm!_ynVdgX+2K3;KzHbmo`>qyseDD9Jyu zNRm*Sl%akU&Pec8Mm>w&?R=UupsMWCysgzVpE0sR^$Pf(F`SU#_!D*zid_q)I>|cz z!BQNwC&HSigzfe83E;w@1?p91a{j0S0-o39{Xk~Kxauj@V)A|^d)}CS8Stsffvnzg zN<-_!E^av^{j+9)tZ;J@t95Ps3$1mkfMKJO>`w!rD@^V&Zk4iiv^+Bm0Cr*cHo1xO zB|;;Ag3-WN1GmjRQFr{`o0Bm8^)$qdbxX zQ4FN~4R%4=pTIgVK)PH>2UO0d4OpAc(64HN4&rSl|K=}WF^4igzsE&&(=@wt?%>zw zU%qh$qo>&L)~@PQEjiVojPA|~KE}5Fn6!RE@6@VvUJ|>U)l9b(oyG$Fj*{?jzjk)z^K9Yd+YC^G7=XFQJ+>i9xIa=NO7mq zH=#}VzZSAv-rhwM6yJa=F^4Y8K6g?tU+eAv`XW__!`xw5QRdshgNei@d=QiGShwIx z!aKRLH%giE3+tCY9?XGqpXyY>8lRU6zE>S94M&~WiwI<@ep95&7-GA+CVy$^q`1(z zPUWyXRL9D8Zp}sfxb_|_T zqPOU)q*W>J3oJ3r6~LhKW^>MR1~2z~`^#P=uPM(Bxof>ARy^720akCmfRmfooI346 z8}D3ap~XOJ2)}VJjUD4(4x$E%)K;QofKBd6{@-Kd!gxU=D{!3(jeTHczdM z#p|Rb3>r|}xHX+FVf2c^b>+0~s2c9ErTPmAVIy*&a%!e$Z_rxbl>hz}%cB_g93{Ow zL2zxS53CnXbd}xaa~n&X10rL5tA`z4m2Oj4tM=Dn&uMvMF0{(8Lq!&DPD7u|4D*La zN_nK6Z)YwIeYQMp`rS?1vjtkc4Kf_JCNn4q-y6B-r?JvxK`{Z zSH769B5a9D_(2@EmTDWeCjU`=JwJ9W;SIKIXW4gjEpK_%!}Fh|RARzU##@)X@UW0^keTL)}`>83kwVV+h!8 zAOl@Sf5|}_v>=|WC4+ziSE&$Gat*zJpXIf}bVlbfrtmRs0oa=g!VW`bQWl1BLj*yg z|NJ7O(d{;26a>tJs?y2*mT@baaf4k5n9S7$27l9%fdUyaDZ@m-J}PGqaEi$@{ZVAu z97wk6PPc2ld9%G&H)kh9r?LD(mPWBgGoraY;YxW4 zWZl}X0S?4Ieo`T2aUO?(^G5s^0a5i+RVRREZ>8-+-6by1W3b4-f0WN}AI?v>vJkaT z0A^~hPum&SckTht7||lqZ?G);&j1H$xx3_8+a-DB10}}3q)pGCT0HmUCgwo`1RmSI zR(0{7^7@!?HA+g*#JrWL_#;L%VC~-9^$%f|YhXiK0vF%mcEgkUuXLK!o|@yFo#$JD zH6e4l-}k8~Q!}fBA3|mhiMgpS z&jHc0dl5QMj9$ns4o3VQ#Lvnw-m$1~EP-T-UcauB2br2z$&SvY8v6Dx{;fBRSn{J& z1xbp>m3Mlidh*OWut=QFyQxdMFfbg)bQu?Ntxf|gS!d)lhSV=lxnwSXzeH!v^5)zP za4JK_myg`xx`P&bGPep}KWvpS^{%k(S@f3uw8CO~girD`RBM4|=u_A7`Y0#42CwEc zWTC1QM`NLbr1^z~PD9VEB{y5(!Po zCh(Jp271K?ZhyLa4UB3b?$b*Vz+W+({BMZ=Ubd1_G~K-sbYa+V`^*8vV|fM6vl!pV}FhITrA%lS4Q&> z_sQzI2%Sk7{{D?COx1RA6)OA?0LqgjJLlZE=*H#5Fj&v2)e!|!e}wsZB|M`ZZJOZ& zk?a?j>{BUT(+bQnvmyJ$vCi$DUr7_P{{-n;9~-HBw`v1T`B4f3H8KrIdKFoM)$}vF zx~tgFe`rcHJ&I&F-qD2g7fp@S;kf=jZXnh|LAF(kkCuKeU7mG~As6Gr@+Za`ehD^xx2@~fp!Dn1!5VCGh$hJ8w+KH? zUR~gTraP4X;wx%qrIyw30_~|H)4o-XQz7Pz6;K?j(#9s}a_CS?%}IAG%NEw_3oFTC z(DWDP!RE9_t{0hD*g$kcG0Y5?W)L{IK=HsiD=gL;Bc>*;pmD?U3I#uo9y}_MP43mH zaMu`&VfFN>Pb(Q%cfSi@_gfAI$ggo2PMtK?X%!@XE^xLY|FyalPKsFR5&i9J_;w2@ zn@at8MD=b-b7j(t1)H|L#4<^2k)=uia>@(t_7@-gzj z3LaU6-p=#D2M(2?+0zy6;|k7^$Dh{DT)7j%R!k4UnV4hOfoaQ_AP398{wk|8+Y=_e zW#gcK5An+e**jc-GFjDLWuhN93`u#f#uOgNrsv7Mo)k_e4@jJ+-VyE?nEwN$4=H*r9q`Whj}8EdN)$JbID|*3Xc*)`nRq{KJFsp!&qWu^jyrX{?b` zm2zOtvHXG%YLnj83e#;4(%byvdUIi&&alpl;6{6u5A6AlG2atZ^8T`~R|PBHh!%wT zcCra8#aahP6_{5H85KQt>pId=b{aECzxf~I7c!zM2mM|zC0OcY+3^2Hyn#`5*o3P4 zT-%$>^`zi&I_Kk!gWO>U3^5#Ujn`HNlh@V6my%Au?OREg-gVkHD?kxrJh&y9>>${8 zd2#C3BtMs)Xe39@Ns6-_CS7KF9_x2&>o}Ye2qE!jO9cKzDAc7%>Qrk_`->td1`p;O zhAi=`!1~z*M?Z(58cyt*yXxK}SxeKZl_|E(fs%rY>jS*)Sf*)gkfZMe=bL=HVfMp$ z-HPMkbEGOAw0wwXwlfcs~$#=G#-q~V} z?YVe#1$!o*fCIdJUkgJi-h<~bD99%z8K*f@TA8mxRYhNcAY2WcOB9%_w7Ka}5THb| z6Vc7I>B`Y59u<2%R!y4t9Cq@1sNTq@nHz((4(EPF&uZS#bFeT4TLm*1&*0*}XA`w@ z&x?Ri8G5F`LQghWKT>R6rP0BzkV;7-5cE7N>O_FxHFmn5*?%4G2cttYLya@>-eWsD z4*4hUB072Eh6@bR)%A-C+sk3=jX)^AHq3=lBZ&`wNDMNEaOj3V zBp5F1(87)q4II3RyYQK?4|jU=D(iI7qJ=D3vi%(27nJe!kVJqk{c1koQ+<2$(*uh~ zS-L0aJ(aa8%xF~*(P9E+jVSI3LIvs|0|NH6t;XJ*=>{&*L~=0Q?ijZaKZM!a4F5A<`J+KZ}?)PC;w)_nK-By*PIwc4aXBq{%C zgs8cr=<&iNdzQf{6A5`2`z+jmr>AII`<|iot#oZAaGHPyn5qO4AA#g<(=V>T!wsHE zv>Wc_J0|*P*oc0;9#L+`GA)^W@L4`9!1LV$?b(LwDpCR;s+OI%<(Q>9;tfUvGR7~# zbYrC#v!mzHI88*jrotVtL`^#6Fl7#bUl0BGTLNT=7=()?E_;7SWabr0x8>X#lmS++ zZE$^H9Sw6YDU+8`+z(Y`FRyu7x!^|Rh-~m}lyN*8yKVvS)jx>;tM;eK~i>+7d?oX`q zvXSbbY_$V;M{nhUsZxaKg47JT;~7Z2V7y-=P0XNg-?h@YPbyxE@_iVh?@t0YPPBns zAAnLDgvGQ9uPC`MGsonbHz!rTLaKm?u@O9N&4mQ=^U3onsBbVxZkg;sRxlYm4S*g>!C*6+t=3zLYgjQX>RVXDD zxyX(!fqnC`-5#sJ8f=6+D^ZhvcB*xHDSwWgX2U)9k1|46X}^Kej@q!CZ_rhENbLTF zm1nSX-X(%BYB6Ois~EHp@YJ|(;lz0ZD7J8050N9~ZZ8GuV`LsYSEXER&XdueMifd6 z4e(Yt-`aH0`D6eU6~;)%K(IbnOv?CwN>0{Jb1du00BX}x2gG)^Lg)ux9Ze_Xts2$5 zbVVJF6^8LYOu14Bfi+@4aK*EwEQ$>R8pNt$0DYD%j(`0Q|0tuaJ< zc`3Ug=y;&upqDg8qiE!Qp$jtp;XwW{SvHC32znQ6Zdgz8<0z-kv;^l`s&|NAP1a>W zHp<*pAGZo`f<~s0f0HJS2jfkJ2*VESiQS7NW!w0J+rQjTJmIFGMwjb2fafh!>U4g> z4RlaQf8;7E*cAEvFH1k8oYyfU^CTE+pF1UJb*sAv7pc;8u4ph)(%1U85=|i>x_}P8 zCP3>Q663HMtGbvkj$bvUeGCQG%=b$>i0QP?lWWe5%nIV9l-&*Meh;ti53lc3>fV>S7_82K`UfoC(Go6kxwBNjgv{;ZU#y(MqE>FB*bj z<6ib;L0;$M!$zR&7fML(B*@(Moje<;N3{s%Dt^_R$o7Zaisfuy2#_M15_Wcp3+n&o z9evTHFaXug+GRIuf!ewP=vz=nMkUkS_^#$M`+m3Ip%SZn;TI=G@adRy-Q#>oDs z6aH7IdS}_Nc>))odZ4ZLj}ngG0YHPUV500oLx~r=)yTefjiU2lsMA0xG5c1sxI!sQ z)9TG_^J(Tkdb-mw>{WDV2Y(V~i-Qb(WJcfEte}l^zYm$`CA zHC>@e;SYy;^Rr~4$&Q2wFK{LFrjlosNC1hvgV(JE9@>%)qh*tZV4LOV{rWI3C!`Sq zlF1C9K2J-D4Al0`L|05Kf_6#;5)}-Y22EZB@Z~j%=VD>+SVO3w1I35!f#9X2?ZGv8 zi&8Owhi?Y3^3=Vx#Y%&U{xzk;2V;mrD41d~0P@3q8(VMg$4L1G*1vI<0ZMdM``aaM zr84ht^!*k!$Q+eJMD4{>Av9l4_v{P? zYxCm{`uma0g>j2n??5q&N_}ho{ax_kcsAJKOkJEd0$jpi&TzBdG#PCqyZN!h6Dg5b zx{%)#fZakm`O%@%Ocq{yG3;h2Ew7;7M5=E=wW$iXbG z04BU?z?rEJ#4XdFLz}QV@>bhgD%o33VKP!J3ZTUfGKt!ziT7o>yZX*6rWFrIAeEA( z*`L#iGAl8|^DHSb9~R!lLskA(};;aY4#&i_TEt`g?B!5unw*93Z>YdYX)-#;R-M@PJ9EG5vroOa_DIiv6dxx2f3zWz&{Aqd!^J1Wm-VX&BCXCd){vbedMWJn_nT zSB8h(p>=;^3P&+%sjV@=^$FO5xG@XGvm8x|mfTSvU=>(k`FUO>0TbBDP~jZ&@c?g4 z2Uo>>jOnnW((+zYzM^~dK8Z1ke5sKj{3iu`%G-f0zu&wL09+u$b<^4CxY!Q1ho?f<+` z5A&59MOrAoInRbJ^y*z%wzk-0e&?KI>lCC=_LTeF$RH2v>dZQzrP6{d%qO}BYPPMv z31Jin4*mB_E#&a~7J5HspmX>@c=ZY;BxL8CT4UgoOsj@cxgx8vcD~-V{x|mFc{V{7 z32t(pLZT^6oo9^~y#t%KGu!%R)q&t^74^Fk1to|vh=Lc_cB@v&@PIN4k zt+w7W+_0mSJnUa>{=8NB?13;X`l|zMDM$CK2i(K|D7;d!%AVB>S?j>uu1QZw*)%N> zn&h6s+M6M}UC+gRes~I_*;-Pz>h11t+WF*LbT1dH&%M~apCQ~x(aY(-`73V8TQ}jA z^i~r1Z~oV%?I$@U%hwngvm9fYq~0+k;pPNa5?Ppx6lQ&#zdM;k85r;vW%i+Ua}h(+ z3Oc_Pbi5s3XjpUln26w8XF?m7NGbvsqFElQ2t_u@Mjli#a1r&L6@H<9N=7o1I5UJ1 zgG#YvETmlwjP_{J`tjJqpG@^2mR}k;uY1MJp6j>j$$r^Zzukx(_1VFOda-elB@Kqt z*$77qFZg@zsld_AK>z#fNz>VxFq?)$--Kolw?9UA%=S0r(xvEMs$n!LnLm&1EzLaX+Nb2?Rsx}uY)~WzJcmh@rWhv3}fI(V3 zg9WTh?O&iLB>75NFJSYfr|X@~QKRI{(gw4a;0H8aGF`sNtO07ka z(Ypf8u5UwShTJQIrOYuDMa7KR32TPAF_jXfr(v36{KD#4@!e!cMf=_J>9>8!-HCHC z$D*M7<#;bIYtzj2OQO)q@laQ0JF}MFmoJ zuGABqjB9I&arQHTV-bhug%p=?imrAp^K9@~ar7eC-}EN8hl)`C5qtxoRCHYKVkeVW zG5mXY$Q$&s8O?9?7pu^MQh?P&7$k1%)_N((3fEtI#gPY`+F;J!}n4LR##I z;FYyPBcQI7o804RIF7!g%5$}(J{9B*kEtG+>}7(;+x)rHD+0{p-x$L?`gZZ@=b`Ugy|%fG{+%-eEOQ$;$57W};$mUnP`dY`#gOhy|5JAky%TJlRPPnT zOevza;}H%+Jw}KYcI9$WOmlX$JjUzX#B1v3)7e&P{#5=WZf-jgj?EH;KbK4W;qt9# z>$t04d;BC;;=kEg?f9KLN47I`$OWZ!-VTXHPtQDPcoMs!KPeXetd(p3)Hk|LGJVUMZijTk~DLsmpf&v$shaq8J8+Qkoc-I%; z{qudJ`Vk0dgots$P5`OXswkpWL%#Tt9(knTP|If^oDbA|M$i6hHkw z-O+fIi7+AuNjKm#m_^W=p#EXLK^{@7zgEgF4pC$gt}VwKUCql09uf-&gbT7gx$y854EhxvT4zq$ zbJiPfH10N|u>6GJZpNIWe}Z>ImaYnjjNiwZA5`AeOb<9VMb5Xx>LcV;^W}bRa;fsMob^Q_xCQVib83dMf%8i z<=%V8s6T>vhpiHaM2@I~{A7@GY?gZ?I2f5E$m_EQbR~^{33Hy z?;S^M)9K&zQ@|u(jJw_x+;Y0RP7DbJPUwRnwUX1r;~ILsOshr_PR3x2_{J|63`*;} z@NFJ;twR>Rf!hx@#Xs9L_m>5wy^cDG2_g12h6QFq_zgR_TIU&8PwsK~ux*zVc^%c^ z%+D0>ZLOra5;`8VOk7zV`<<%*{CaHd5w{fxKn;Nf{Ug#aO&B_nux z9R@$SBWG&!6EC|}IBoq`U?_cMq#^SizrxoXS(-B+0@RRowlB1~doE!YQBhaqsTN=e z6DI-jvoqEXK!joSUgf~D5sE>h6O*0HOg4YSMj)tT${c&U**rYSCYGqih3U&(U6RFr z>+c2qRq7R*?5)sb_mY8DMYs0f?&^`Qtp7_%VR!D#RwSSmPzp7FaqJKR0ORA*VJE?% zzgi!_=4az;#)%meU%sr}=$!?R+VqnjJyQYBRUXO{p$5Q9`DCc`4l z|HcV2DOyw?jkwOMmf`u_MmxNQT@Hk}(9JmwLF}~swK^BtkPeq#U8-x;qQeot*$uY{ zU4DfzJ2cT@$G*GF<9^gwmZj=H<9|X8vTT2b3a%gR4xe@!?*HieA1=!Occ{;lp$!w? zxHVYro~idPG*;fPigjK(%O48d7S+z-CwwFH+BTXDi7X`1-O#ejb0vIP!o7jgk#GP< zmB@Z)X)8DZ`L@CoIL=vvG23}SH1S(AH)vFHpW?nWx6tPr9|m}{xlN$WmnX*gbnK= zTual3#yviHz`?|XSUG@idTZHN+8$N*3=0+G)$D9=2ggtzLSFM$&(XBF5%Ud9?ESL! z0MU5O5XpRFK4(yJ5JCVblX;Z;w92txKZrmje)mS``~H1Uyg@3h;hbiYYt&k(NMA(v zq%F+Csw0P9LweD7ww5}&2G(1ncLjoKX(yKN{yC_|GtDSZN@f#pMcABxp1{CQuMnom zrj_qy;zNF!o87!pa#+r+vw6j3=l%ShXBt*l-ZJH1JSh`;n%WQMSpu;DP5La(KOQ#j zVEPCk*vNLM6irr1f`0Y&xyBS;pXVN_<*?1Cd}AgcXxu<4>!mBraD9A_F|8gEP-rAx zP2TYdLuw_XI=v*Xv_OT!ImdyYRs5*qKQu}v>tk(de%+BonX)*%%XEsU*W+84xY>tDt%>Tn`B6-^xq@PV^m23`3g@Nv84MnL8`1a?=e!Idp-DZqa=z*u_VY5&w~ocZwy-PxeXl7Zm&R4tx| z+$#q8Z|rO=%B6hHK-ZXvN;+ebDjetA2vzT`8wIu)rK6X;B7#%5`=i}O3?5=oC{fug zU`s%|89}$j!Xrh88j%{DuSDK+Fof_tR4s(lVh7r(1|=F{VN9ftUm|6MV*C}F14O6m zRhlIw)mSdKL6ozwCMHTk61u7MV+neF@-W>zX-a1X(74J>i2XM|eQ}dHm%ISDT`Bh= zg)i|qeGN%J6Zg(V8!8tEi+t=B95t}=F+aPO=l+5$S7LQAI?aafGXF*E*hf<9%31e5 zf%G+UMGzgtMadL{lxA$THY^#{!~GXCfyS=?)q0Su_SzHf3gnhj;Ufl8ycAESdanxD zvTtD^<@AvY#Un(b=-p*IO{1dHHvr~}*Qc%y1l6q#iY6=yol)A!c%hE&ukxkNpl?sv z7V|uzlGSiD^%wYg#&ZEsb~3wlCnbl_ZZueDZUp9_Cd|G1p2Ld3@ZdfMp7Rex_5E3R z_hz3?Wb5zmXF(5WM{Q`)k^jw<^2+qpLyq%w#U_)o;1jQ(}#%o z0J$t(5UVV7*)o2@76!tB@FL$&uM{5dtqP$;n+J=@z|wP3kLVi66A+nZtvHl#mGJ9`zh&VD@SAbYr-0A zI-aeZke4m9@UP<81i%j@J(_ip#cuHWesI+sboIo`UwNc}lBHbr!G8w$aCf2E8Kyf` zG+sX}EEwg25UR5KsTtJQu?FIE(Gtry9ZpHobpjdW=ZZM}#-I%gctB*>8Rb8ncC*2T z8o?{-BZYFAj>=3`2^zJwy{viN4S^0DVAiR`hyPG%3x3W08&hE=Q(H&pHA4RV{qN82 zWMk-GYpcm7dbNg1^uShQ10xb1Hsk1Dq(yAd&^SXPB&7V@wC**~v8aXlr!xm|HO!6M zs1u5NcLFSSl0xaUR0rwKcti{2Bo=b={EunhnI28rPr>APHn-K5YF2dA>Pu70M_<44 z^*9Z#qjp5njA@2k`u4_RSFCP!#bL`}N5Gqpkbh&i-A;igeG1B^18#gHmw! z4l`bEl-~Teq4*4Gk-ux=^tx=xiUjmnrHUe^v8vX9g!*EQvxUU0Arph5_M39Ra4SDr z$Xw)PAx_p(%zhY^5O+@zH7Lt}Ss1LrmBfDcf@Si-!@D_p*1+iJNk-1H#rZ;tUNf!_ zeYL*o^_C@n`-wROzxu@={Z4f4zi%fF7k(ldbCnq8n6I9p;w*^+SUO7EYuxN?$PF2V z(KN+ew*r27kVZwN&{xe-azK}h_HS@AXHkhnUt-+JkE!p_>3)iwr|Rhwb$U{$#L@1~ z#y|HPNNc1l#U9jcW4q7>NsVP8iSkoiH6xe)o0b%QpG4ScjR0D*tD4Gy%;RYayNc?Q zZGp`tPQ7Ih)Q1HgOg#Oq1@#~|MuVko&ezi22Dwy0GjXD4IEJ0oYNR46!1ruO3>L6d zNo??#lAXNT<~=9GMv3y>I;Mw(F4q!O{8&>DE$X(5zZZf?vgTp7#v8v!pJiui-6JwQ z5LEW~<+}lMTp4!Dwy7en+2K&I@fn`3;jwM;eCJ>FZ4i>(*bhmp3yVUVK0VV&abt+H zb-d8O)!~|znzM;I&7_c>|2^P=1@8altZWh{=&QD;3~M|OmJ&Z}$Ny{3`0-{a_@{w( zTi5){j^GbE$vPQwgbq5CN)Mmo;5zOxA~=D1_p=qin5oELdV%uEZ^s44GO7h6*GZ6> z(>ixv-hNOF^wU!ySt=le%8dUqi+kVlFLL9a^W@J!yg$E46*kHUl*`KozqmBi0Sq)V zzU?l(Hm|4X3f%%7$|o%OhD4xWRhobX?^$GwTK%4UP><~ZJ&7{Zj8-3b$Fc2Fx_ ze^wczwJRZjhCz6ll=4I=c|O3|2-8R`vh%xKO^%(g{Hq%kj@IHoT#OaK!)1#Wg$bawOrRo;xgP;VU~4Rn-J~A6TE>f$=Uh| ze~NEOB`y&2(7hicw^z>6j&EIJg}$q(N&9mrxH$cIIO24K!|K5!1D?L?AQGnLHmLb7 ztJOo4B%ioJeT;A8SO(g)AjXzXn@%3dgpgg=jlq|7XhUll@EUQ`3}LL2WOISf9MK-l zUtjPSI!augk$P-ds(G+NHEEnr#G6ZZe>!1$PNoB3W?SQ0mLY{~2QHc6dQcf8uMkZTKq2GHBZ-T?0vbei&<|9 zyVSO<SAlQR?tseXWiraQuz?jYRsLzhhq-SFOFGdBuB+0() z?<&>XJ8ucQqpwE^D*h>+7z_deYXz^zNw_DG+Uo(#=FELtCj9QCKJ@mjniVHur_7qz zO!Bf2U?u4#IQIM02VVWRzvnl-9Kq$Nt`#d@GaDn)+PqNSIXUtBx-meJDLD_+(NXBi(&P=N%`a?`M!k0%2mW($UCp^d0 z0u$8se;2cWlQ55~&&?>glbj)C3|2u%S+)tXf94N2fj58rdS6E33;vDMM<7%K$(nx@ z6Mep_Sg)BQh9Y&Q0hz{gp%w&#w?**UO8V(udoZh6M2sk+kulS|THeJVW+k6(kxT2d z)R|Tn0)E5@aMq~A6e-_Cj}A7qJR3f#%?D$W*Df4h;%#GqOH3vvu-v~_NH$1-$qltg z6Z}~&cmbP$a*JvVO@FoS8ZPW=CseHQTwhedaID#CKSu6uu z=N8tO26-Z|`o9u~3SFel)V)#!XByT!XRg;V1=q$eF5TQ*0&^e@>jb9zCthfMiQgz| z2j#%C4H$?ZhC(CFF9-*UrsjcCLKZa*U}D#P&Ojqoc;;fI&S~+?Sz?ZX=!y+aE)pfj zNOZM)25=dIUfkAFsAF$_%f79wzkoCN%YAR9cc8JcUh)I~ejiX`vI{c6I^p1f_jyVEy58 z9+Tw<*#c*M;|#Qg>Bv1tbJisP7ep4KIgjV(7nv+9lk9M0Y)V`eD6V|^-zrdefb%#j=JE~(nWBA4y56+k z)_1Sq4po2VI3Z2-+TcWX?LbC$SE@3>sOzo2#?FrSfF^rYraCxll0HjKuZ3O(Xt@s! zZcM5M*}1)WlRKg6u?fT`Nc7BBbWF*SfJ4q2jXkGrf@|Od@g|2$%_{WR-?IUSF+J4L zHYnBUfif=%PhY6htk@D_uGJh+-Jn-3+8B#8&&c!5w;#*i^8)L!uHM?KD|41}7@K&# z;A?XPh!bD9Jnl8B^f5rw2}b_TAlu8_8h~UmN}SKQ6rr$SEt1@fhoi4Xw|xSy-JH3Kx+NPfUWEOut!nth zjB)xU^6K?)d04XAxF3SqBL(+GlDsV;A#D5}t64c%{q~8jZmT-HwO<-HODr2+8%a&~O)T$Mruy2C2&sh(?h7?r`=0S9C5jlpe-Z(VoyM zS4#_&NGaD%UA1|yS1CAE(SA6TId>j1EAnbiPER&yz1u5((h&4dUF`S*e5?vfnQmI; ziz|g%{=Z<`vmon(b=HOUAEspm`ss21R2ehF`z}caAE6~A@pS%3Z#>1lwAk@Gu<(q8 zXW#fGo}4G07Y>LE7)Z+^|A(yi@Mims|G#6e8Z}!*l@Oz)!`@Xb2@(>aA6siQYLD1z zbkUljS_IV)iQ0RXmMUu0me`|a>^+SA&gG8*MIf%}&0z%*C3I^3h<1+01Fzgm_}Pn?5R?A#(wHB7FVq(g#4S`?5d-ZZnF8L;t^GCb@z9jI5H-p{K_)q=1KH{kfn9LRhVJW{0ao|+mQ3>+NP zIId)p7L@9l4>h&jdFbDuuo}=yw~&0#R_4*0$#d2z=JZvV8h017zmoyNGsZJ9SEP6Lv_LMHW3Lill)m*E3lngWN9>1_ehQQow04?8LB zVjkAd4x$tEPexudmC=6i-yh$@{NJeD%$fI~E2H!1zD`YfJF(7TrqoNjLNL;G4@lO= z^e|W06Cb-BNX@1uv?TU1YoNyMywk!tIuj95Y8@|R!&dW;1esdJezL8mb)!D51s>dU z7`S(`R>rJ%3^ymO-bsZX`u6>a`~jE0f`r&EIf|xifZ}#jJm6u7#CymUgCi&uweMwP zjx8r1<(x$zA-4&Z0$2FmKc~CB5r=GnYY+^bwRZM6B&$8!Q1YqtM;Y6<18^W-*8swx zueW<8P^&mtf1mRis1~?Ir9kuz!j7`KlKgh4rVuIWxItTcHEj5+MVd!7YtTkr6M22Z zdlfzOyK>_?qH3db(c~S^rNF?HPJa-mO8?%KUwg}?78N`yUP#3p1V`rwP-Sxl0KK!ZjJ#LQH zgc1S2MIcqttEGM?Xa&A$Vt^ z5NzBa%go-{Y|)EIDT(aZq-5EBvr8|1P%1JXj~fpjHa=ni4vNs-P7S1rH8(y_o)u9f z7*gBY8rab>LxV`kS)0c-EyX4c4KMx9EdK^Ku<~krb0~A_5kgsY%#dl7C?cGf=w;lm zPmd}kP@evG@AcSRxVszgX*fI2X0`Ep-;la%5HQP}=90i3#hwkUNj(ge=KH(ZV=g_H z)X|HQPQv9c%vN#5C^M*3QG?(t{!xbP1|NoJ{SD?7OoIC>moXfB80t&_MsI+cOA1E~Mksb@9L#m+0ge=yp=ka9y)b z{A~>=RI1lucr!(W?=9s0B9pFb8_SMrk`KHG3YI};Vhp|`A6OUfAwnIQtDZ`RN{-qO zxcC>EinnufbKg``A`xA1mb)W8U*&b2dV+1~2JV;GHs7Eu#QgkbQg^z=z?{btKs{FS zAMG8VdYWxClgP@Oluz8SItFut@6y-tW8xF0oF3CmEso^*-`_ za#KCkY&%L+OzCjSb5Nh11jX+UG^^RU18O7w$8Y@Lx|R!5f?e4?fsHX1A{uhvW~RD# zvbQW+zjyr4J&T)bGv4Gf_nIPyiHwV$JMpgd~P^;hNX#c??I+g+sp^ZO{G$=gdNLnQ(2Q$LOlw~T*_IVr^4ZhuLsNR%11jymKem!;RT-pwfM!EhQ8IiD z$H3PGL{kg0j?c4QxDX6bU_7)@UGf+@_ZBxO3HYP5>Ze{!mr^iN7c9Ib{k%qax}qa~ zbMl>8C|=k>SRhoa)z7hmUtN;9%Bj#$iXzdDiwQhsNDck&Es<|V_7(HyhBHN)K#c0T zg!k(;ql}Hpd{fo!2R&TTAqJ|H$5oknBR(S2aEl6Z{S%g$qB=ABBwXL84Qh1^tMupZ zcBV^$klTE40NsRQIe%1mD04B5l-YOcK|2UDGJ#XgiOA4eDvV??_|*aIpY3c5LyV3Q zW%6j{B0r+$MF9PBmLabVN#V7Bg>A zp>28owc}HNZ`QQ4~o?N1^Vd=Ms$7V(whNF@S(idvScSqI6-YW+1A#_xFjaT zW-?r$a>sExI5QpcIK6jg<^#8x2=mQ-V`^gzC`21f$sQOr=rbMNm-&>1H+*4LH738Y z^VN}tFcXW*?E0_DK2uC5|FMi8agbqcG*AcgD0Gd@6xj&uHU5rrXu*5Q@w5wwA|L1; zCG&R4@3takFzAz3>Ktf`r<9snv&YbxxK(wfl>p9?W*WFxB(<5ciL?;ff+2ZrsL3qYGA$6GbLDB8G1_$`NOi zVtx8qj(CMSDX-|tbj2o~66XY#f%6=9r75^oF`f(h^l(vz{hDv6>mk(I3{GaYzN-M) zkstqAt=c2ThTOom?ANj()K$*p=G!NFx1AGEc1!hu=Yn6OWu46~>TDH-BH z;S;E4GG0e=8lKuI6F6X}Ip_m=haVsDZ|#jVH-|Z7+wzgA3wz=B2J;rP1|fhxNB9jY z)j6q6`hy+wjG5oNSm79I0Xz%UHJOT-^3!x&eWmg_wm36@ue3wIeEr{)aItFuPp!A_ zJB3&0i%3m;N?q zMR%ifvukA0_SeHBmGycxC-<6)Yq()JEIn2YQ@#T5a%Hkk9;J>Xs%u}X&7oI+qp$^& z{!hpB%M&5zUsfewdL!JS*rLKu!;M@-E43h~om|-J~^Cdl!rB%_& z+d0}hdDuO_IUD(}*eiBYz49IXkgel>NK(9~j#_iC2ThL0mZkNNW53Iu!^1^|0NC^O z??0WYUmQHkCmWaY$hwdmsz32Ck>XPa8-64iurw5}{K7#HnIjxu0^S=$l>WWMp>3&TMlvs-muJ(A*ri$@9nre4_! zmP&sD2geu<7+!K=%Ooa!v|k~hjE;>MH6*Oy`+D!h8ThX9xWo)&iaeU?M~Yrtx2jKC zrO@T`i!le>^-hLm8z_U7{+UL3+YedHU?PS%{AeR@s)#g1IC=$DWZ%oHuC>W)@M8&EuJou zHCrw&FSc%aZc#E_^}I%8j3L?B;v+mD;pLF3aRL#i&ANl2B;}#eYu0WaS46bp15d1BUeRZfcxCXU<;paJW zyU=AY|Hg}Pc_Am*|Al3vuJ)9~#O#3|GL%KOMeV^%9_DWty}^xll41@_SrO1s8tA*7 zr=(czt(cgAvw?I$P#*>)P{Q((*kj<+*?tXp?@zILtYX{RP^DxRXkpIMJ<&eEIoD=Q z&33U^*%nl!6@hQ2^3|sEulhH9ID-sjr6BaL4dq1}YQ=qiqTKvKTLvBNMtji-yRmZ5 zf6P9kb(y64RG%)}KqKz@JL}LWp4gI1^=|W?4EGELzWA!hPOm7FYy5KbJAo)XR#x#o zM_n!5BVZa8X#g5CR}v0W3kPIlbOxI#>91>gkoyoksV*icbCYU`m^5|j-`L&Y1-^$m*RAU>sIi3WMA9)D_WtHS#8HAWqw(VH0T~ zp%;wiwys@FiS+Ke;9%7B5nPuVHWxCE(x)}2H4I+&NXO26G|UJZT<{yi<}Yn7%-Rb6 zZerv>2Z?s&4O_dz2{-Ne`W_^}mZY0TOwxwu17DB-=*qY;Z`LHif%D}vT+HAQ;FtwoQ2!-9hB9ib;I-SqZM4fmhKz;<=pyK?@K;OGALI;Y6<1KCM zMRmQ+pFOL61<2CX{iLB!`eirst5r~Mz9pX(hn+}K2bfU@F5>Kq!~mM&IrF3A6Hi>bn|%sOd15L}G22#0LXuX+9($*Wz{BlqbhbdcNcdc|JAm zWFsV<|0e@$7%rDMT>5b#ogV}5&P`4RLrlltNzyR5vC=Cs(3LI3#}Yp{f0i>&{cX;( z^Q2B#CV=)S^QgoXfxwgLh@fKEr4MkEi{hy|1>Qt?4Vekj?39&W)8Xw+cjbdkNeXqf z7ip)obxAJnZH;N=0I1PENp9m}AG{tH z@V2u1o=$=gOd=vX&5UAe@*_Arx_;7K2xg=k@~)QTt8QAx6PoLK$oFe|QMLRzw~991 z!|-FkmE)s$v-q^|lP!+p{arWNP@TDzzd-{~ft%N|O=!T^hFcecyFe@wvsLu-eGv!- zjn`+pxRMCyD*>>U4M1=E%5@PEDgiv9L3+1@qBf$-Jd$jzD#m(mr90rS{_}GD&a57> z1nx&M#o)2bKWi#R#EDZX1%Ju1m@yOoc^`ie0W7Mfg+VmSNLv?PR^}Gr%&XA-;%iHX+O{~-vU!+X-S)+nL$TCArBP*{5-|Wce{>iiKPw9 z%ciI9f$qxQa5&hx!y;wd%^fjhnCvDGFr|gH<9@Re$b59z*g#`oNMD0j$~WZ!C8mgs z4o(ss6>|=rP5q81Hz=uf9!cc&DczJ{sOswdYGdC3;-tCDUX2jaYIe;M{;2&24HbOW zfM+k;AKH9WRr0+1HM;s1&k1dIuo#c0%X9r?^ml4y$iO0>=;fc{s1bf9Um{w}96fk$cWf$e+ zGlHJj21Bjw#A*@d79Uhmltlv!rKL{1cX!zvDHUEag>)*)F zT?5r9vNJ0#FX!!=&pkY~L#vcGo5$Xzc@n0YT8{P3sarYIJA-Qm%6xwXtY&$Db6-OT zOoMJBDLZxR=ON>0o{xTO8{!RNn`Jh2KIC3(o!e;1WOZSh=U6+N1!X614ZS_*ukO2= zDXbkl5T9hC7QRp^tnNK^;CFD5Qx1%dIf7IO?FO3dyS4ZJ{GOEct$82t$nd3?>J9_zJaf~`Wl|h5~mAHNTt)Q9YM)r&Pu1hVVujC1Yjcy4$wI8yGA9NyHuaqy>+>etIf<-|?$BciZ zCck!UW??7%L<$w zgN@!#-8#+kn|nU71m>o{P6?r7!N(mXRVRB5m^IiKm6Mx&7`Qi)fL!*WMYB{g>lLxq z%IJsf8}vCVAGu+t2LS4Jr6FMa4%DIw%Cixl9H>TXLi&cfCHh&pu-xeQJo^%(z?m-&v5pBLc2X~EnT?Ni#7Lp2Euz#c8lQCwlmRD3M zwggv;5~2Q(>od}dx9O**{O;Ws1Gh0~(TAlh|8cTWd$c4=S%@~I6`@M8IRmL$6Sykv zEjfk-I-zD@3Uts<19?UdU)6KfwPAP;yi-kg-*&FEa5RV@q{#@<8-03s|7IV;Z1v90 zfR2aH^}^4FS7~Av%6%{t$c=cW&`KD6R!R={5gY=Z`Q)U1&_Y=teL~Jm5lu zqxEiy?(%)fyw8>Nk&WF!I$liF>0UqTPo8{$(%(2YyLS3aY zUz%Jokupkr8=MJ91Rzugj2FRL1oI`ypU0BFz;ib3*Hzks>c4WFVscoS7+;CgC&ahT z@^;4>`il}}qzk$Ld0i1jGQe~hbM|>JdVHCR^{{p_c~$|$!bx-Gl@(X1j7;(C_B%B4 zTB<*YPD53=_a`3!FJocFak4VQx`dU7Ue`^B2ME7z$inP15*c%7b?>mlc=j`IPbN6> za~XHyucrciJwQ~hvlh*v26J9#r0ssOMyVYCtk<_=U@m5LaJC73csto0 zZpaB%1mDaOcc>MDwScI%hYBnl1xdH2d00Th>pK7>EX6Aqo+|%I#ao7}L?&1pKVNnhRV0M$dvgJQjT&h>i{^K9|CB_(#_%DB<# z2+?V(mhg;4YG*|gnrkuii}fpTGg8y}304S}u+6Ml7t^0kOyh>VYQbmjg4S88>SLs- z6P1p^jk5EPUq`Ou5wcdKFL6B*n)e7!!Wnu!9-;FJOxdqTiX9#pXs|o)8^zTWD?TZ* zg1j#r^*7MfqeMe*8MIcSp`aFqnJ?mm{N6L>A*7-@wWtW41Q^kpL`Ry_8G!d&)raVq z^Awo{{xptMxu5pOqr+F|ldUo+EdJF3z=WxJmlJ@>$@jhb?8|R2c8)do>-#t~&X3nN z4?r_3o8K-bB|e+gA!t`!EINN&?437+`JM`LJ!IdUFBJH?G_)B@ampgb19Jl7gzUM! zeEb`%-gZ4LBzh1WipRc!l;+gH&tl zs~`B#*q4KOaqlk2%U8d1D*@2MW&=q$LKKFPJll?0pPB1KyDeT)uXcMaY^OAAp0Mot zRDGnP>PrJToz=1{JbpdPFl?EeY*X{o?i(P}37!DWT zKsJ&ZJ%%5gV?(Ie{*|58iG&;k@BX4I?rREn9MDvd!-zF4RH&5K)Usli<)`pRAF$MG z<=b^o*$>@6={^bOOIR|dztmg(8N>YhxgPx;9m$t%Jkd`gp#HAI)k7&})SRn<+QUa3 zkNrZU+9l2Cv?Lz8y0RBe7l;h2zixSd3^#?@sch{<)KAPe;?W6? zgFS196h`U%LY@3wd>?7$O9y4Ij0YX-zw_%(HGX|8@+tbP|Bia;VUF;aZ-2aqn#U({ z0EtneGhn0gE8QFSrH!y^wt`BRv@>XfunF~oKEjEj=}cClR8Fc_xZRV(4;vo0Qps0rP*=O}~i~`Sfqj-}%^|}`&!ZZrP6U~#z^?1`7 zUt}XCLcCQnVjyc@Hqu-+!npgE?=UxqA*)!&=>1)HG6lgCMWjqa$sp0*2AfT#Oo7hU5;*hX zeU*~rB^s&w*C;;*I@V>}NF|WCI^YK(xP}Y3$>tR_rbK3{xj*dK)h}J?@%2%Rt$M(8 z^OC8ou8zt61I}l|3EMQ1(|S|{ljjSshKV;K*%r!Y%0ifm?wIL)WziSB2udS$z~W&2 zX3-kjcpYd;{@S}&?|NSa>!rw|)K2?(Pd1EMvEH63tLxsY6@7En!l=T|5)BlnReZoO z)$hvI!ctBOfX|kDSZ^ZGs|eyjv_TU6Qe^-c05NTv`~PgJ3h9mD?Hq~pUaTCscbN=W z0YGFCBsT`h&{}Jcp_1bUOy#Pm*X}%1G8ITmnFyKxn8ElhFHV(*fQ;{i##g2Yw#8DJ zfbb|VcYtgUE(PQ2&mAMXq9;t{=-52+SJ#$X;*=snqGVnQTGN+reLNE6htW#k&3|1u z%rNIdGzu$jgu?@KWS$9%4A(<$8WVPR)5y}_qhaBnkFvyWz3kvMY?q6{A$)pHKA6|U z47*PJgpW(+DOc7CR^3t~NG9)GV#>(nxqDMG#*BAMTJUk6WfmOaV}Wcl&1)Nk0q{PJ zBDAoL(!$Xss#8FHDI$5ZliEb=`&VRDaanqB_CtHf0AI4CGB|6Zy=s?v+O#^Koa7j6 zBq$|tjE-ORGx)LFYtn(~i;+pQ$9%}JWO9?S=ew~Hj{fBME>z1!)hG{w!gJ@Cu$U}M z%-o-$vMoJr%F=2|$m&%5Oovg0FNPul$Z8xKw4j35o60wd5j0vUfhT-iJKbr02lv)a zU0fZE8bWN|+A-D)+H9iqX(N{qCtVzks3`YZ%RZ-nb z2KTYzi|xKZe@yhVa~cAEZ4DqI`*-ZPeUP%3a=F^V1GF&Ipg$L+d%M~F8K>3om!ezi z6BEvrD4q7=__&TG1@2{qdWU-UBCE-he9)Nv0QB5j{NS$_$R45pA%C>W0Y#=>=hKc2 zadVo;ns;vjmI7Dx_Mxfu#X=kJIEl*s4L5%M(uWUTOBZtgfp|J8_({a&=^AkSdpx_l zK=YS(xQLBy!M{nskbl60F6%pk06R7BqrPnIad|+4U2|xucKE-mTY8lE{ln>hj@@ky zb{Ae%>P6Ek7ipf;V|{jyZCO|E5u_#XTC{Z2Nw|TN0yPo;=9)%E&mCV%RkDc=epDzN zytC5&Mg3ssM#AEhBDc%Xda(`g*pFiwxTObSU&eo{(Fd+?lucJ{dTuhlEH9oxt2Ow1 zu+cjR|1>nnH#0a}H}9pCq>`c5cF-$`V)`2|xuP(17tc`@&35I{-JBxh%|ByG74jnq z8#p7<6^2UpWH_Wl12 zgn`G&P|_4*ZLC}QIz<@SkYM*Q zYH4P$Pv~M}gsoRL_@Cer5U`)MH^?Rn(BMn*>k_}buaeMZ15KK2NP8OKp-o6~1qGNJD+|aCc zBBRL_hY|m?o=lXzS)FiZ%05`vd~%v#Tl%1**Y|k7Izh&Ego?uP7?(LihldJkqsaG2f!LP zu7J*m;&B*&S;tA$SC_%pBTe3#;ViCyiRh{77Rq<_+H~11#RjO~QUh74ZH|ZO zuxgtw1QWdKi6D@AL^Mgx2~PFb=AR1~W!f9&8#@sv9j$aP!pFaU;!rEHs{Az~|3pUU zwhM?)y~yUdf~f}&3TKS|_;N6uDRoP|%q$PlzTqV)LPgHsU-ee|3c*TFuw0@%ZhEgU z@FW>w=&mf6|68%U&L-2S@B?kuhrlhCXO)O7Ne)j?Q%Waq6SmMCkoSQsSIr$;_&2R8 zt0PxBz~E;9O*Vb$U9g(;B96@EN2-0+T!humpjf*GR3zoY7|P?S>*n>x&Fm)@BE#I6 zPYcE84j4mClM)Q=!Gpcl!Pd{>>9BCLB5Xs>=&#B`am5pQ=he%MGsXr`U95w`H;7Z(;2jE^N8eR(GIrOW~ z5G|;*K*bp+q%Fzg)3XxN-tHtj2mh;wh9PHDa(A#BFE@k3CU&=ozIm7pjT;S|!F5F~ zmv6^)EDqQu*U5ffj5Y~&Q!_rCm83bz8T*E?(FjkI+;vS9(fHc7))7KO1|DbX9`9@9 z(9VGE-Y#6bvAFOkI1T^z1|GqXbJ<@t0+E*;?xolei%XNC#mdOE0*`>A?JJf@u$J^9 z?{9%GqRl!CG}tp0O|EGKpK+o1EH2h2k2TeLjv!_$rhOljX2~ixspk~GfRLtU^`IDv zOxamzPW$kJ!HEH*Egve-2|Bt^53s2C()Cl|tAPwkO{i5#_lXC%>B09piV4#v8M+TZ zE_u9kKr;~wNcoVHa$VQwg)7>U7Iue4@n&S3DeV?0meu;PpFd2bc!(#FKpP_&)0!Hw zBfh_&zej4pz^{a^K}CyScCITmGl(YV*#> zsGX)g)^Ixq@#OWx#Fwm8nldfGH`f<#?xCINEVFswB*B3R6401M;u)P*yt1nJz z{-^*TnDeM7M>jq@-OESCm-AfGul3eJ;iC`U;^0axD`mj>{jb-bySgeAJK4{b?S0jMMyLzAwbJNBaw*+qL|P19LYx=EaI4b;*~;Stu6=A{*2V zh?`T}+%O`^bo%7w{EDG>bJ#asbAPB@oV20# ztR}$2Z)@Ize=C~hxrI`3C7bNWg6hC{>_@HM15ttL2P9`%{{{wZ`klIBLJw+mOtPln z=~HipxJPE1#2YC5Yl2d#dG3BL?PvxLL-e;HV*F@zE13)`B^U-7bEp=_{P8MUqslKz z!yhi97u{D|X5){r^#u^Tr7+LH3Gflgel;jM!bBVZgj2~!SSNu84O3*(hqZF@oJJd-#cNMDw+_I zh;l|HRGJe0Ud5s%%oqf?I zDvV^i8l;f}=9+E=*)Gx3&y?xp>p9L4$?eInV;$76tG|gPDj>?T!aA7745PWVkoQ@P zFx$Dt+c6;eMk;=-zSE#%4F~#<)wXoi0hh%+e@k5a$3P_P>dMN8loZ|J_(-P9rgF!; zuwgklt*jrWIF-m%Q&V%zPqTN5to|b(2p3J4I#gq1thV1-$PMp-w^+C&j`mi2m_qK? zuTUELj&hnYuenoB+)5t9sAwhaFjSx6RINMIwplYg#ihpchR`?vj$+$JM*%3d%1|fo z%P9xxbJMBy+{)Z|1$uAmzPiuMTgrGjnZrf6{0mb8srCGn8WF^xQ(PxIF-sKgUi`b7 zjq#WYfm_d~Z-hc|S!hbdzmpy#tnfbI=CRhA3hfWZIR5&z6-pfFE=IHZm7YcAw4o# zUY+K*N=@ugM?oY&u9`vtN_f8;_Csx?2o*K}WB)39A$`cGvF{KJ`Gzj~s-3)jqnUty z%JmEe9RET(DV?D5FFm8sFmU&?Qcb(8%|>+-j!0!giRcBjn-Sh|rT zwADxNdV6&94?uu%Bc5BLgL28nwdn`GCz0+)9~H3iGMPG<`~jyVh}tid`bRlD1ncT$ zl@z{7?fA1iBmKtJ**s7C?=NYwnti#_UvR#eL%E-#oU&ck-=>1JIf9wVCQ%|B&jMqFEw0Nl$XORh>bxv$0B^9L zab3AQ;f>UQX%#!hCF`?W-|e8&iPGmln;!do_p(dvMs`k2C&EppoFJgZPWil!8xdkE zi*>kv=PJk$%qZBa4U-wtqIbAC@ZUt5WEBhViqc*vJz>Gk=euWCf(9&az_azHvHMOoJ20 zLXwh}YWcfsnF{^mE81!3%kmR79XxuN4+x&~%oguzmG8?#W}MIA7N8y*n&EkQkmq6b z;qJzzzN3E}IDLY6IGTpcQIiArl>@HZvctW;hQGi5;=!*UsXn~Cet`7YTl@7#E!jtK zvn0Do!cgZ5aQWpIu-4_gjD;)P9P{2Xn-W+e;FC<+>9s_UA$=FN(`%k~yUSiaJgBx}^2F1^x z9TliCoLe|5wqi!k%l=LSa|p~@NF>hD!L(E9R8pDbsNWYi)Rx+{6UI9)anNOk12m8( zYLHX*QVUJ-9!B(+4+<}mu=8QN#mOME4UuGYupjG;Ub-}AEl%2zLychB(X~|hB-yyn zfSXT@U4DlK{{(If^FEQ9+>6qCXALa@UupVIvlrXxQ?dnUdZclFBBv#a-0+w#6{z8Q zPnR`C4NA5xRQ5fDt;@=N?t9xliK|KgaGpJYte>4w-qA_CID_0;S4WHkq_gejF?9jM z8<@agz4n_-ElEA|U4OSVKTjcz=2jRE|64ZHgniFCHvfBjBjdF{+6A6M}A!8@7W=qQ-Hjsaw+Q8D#@=JaXA*2^F+BC zWqi%@`ezlmw?&EJ&n29tFe(on@zxx`oR_I4wM}p0YD@z66C^})?>43{WC^YCjTZDTk4Qpg-x9Le*Zx`9HP7H+V$!( zI}YZ?eM8=voeknSr<%nj4!SM4pVGoe3DaI`v!N%#Z}AI*o4BlhqWgPH+$$GHyV?^d zh!*O_1!KXD132rcJf{7TI}3QJc%`q(_67l$)KG)3ip?z-QwMd zNSR4#n^la2`4@~U($G4$G5klj8dx7+xIFus$mwV#PD5o55xc3=s36wjIXJZQ?JN)0 zEAyrF3SKY?m|M{MYPY#i55dI(y6DnYP0RWgz3;OWBrPS83j`)CR&y(KBA$2`UxTsA zF!mu7Jqk^m%nB_q(r7R+YvA5jNm)fzhO)p|iz>Ri46gt`h)D76lxKH@5}pj$Nb%ek z&lOk2-oJY*-Kx*_+3j!_lxJwMu3^8j{%IF&KWz&b@E}9d!^j`7zzj6G^#|yqZNN`xR-GgMqiX7~$ zmBtI3Kq~)-KXbvUGdvR6lX03Bw*UX@%%kpK6j@ttajGBPJ;|mKBWC=r z;dA3gDB)&ZR;FVnGL0a$UofU<|J`!F68Jnl-ddySwPJUHL(xYcd?g|z2chojfE66^ zFD1N5hWSmO)}S1kEEVar6swxutpHfHF@yYZ_OVy%>&&8BFXLcPFPp`xb_ZoBmih<;c zq!8c@VVnT137CHb5}Cf`!V>|R+tS1(o5heH*}!t1sq3J+cV1Ns>r|p<-7I1dtDRUz zqvRU!3aAxSmtO7j58Vo)mZNo~5oupyL5UJ7RT%nVkD1{EC$>-a%GYKT-c=4-TNze) zj8}pq@Pul|u0Si5hlz0vf$5s)kH*&?ohR~+^?L|^y*HnAZM!f?SZhqpyRw8s@>w$V z7-)YVU|<4#So(`8NJBf>8f<&Zhroc|lH`ZZCg6)i9(y`9Gu7QQ9W58k zOspYHTA1mjcgyQF6NE2|c(GMFl)H9dLD>_M5%E@XJBUxMRowUqg49`ut^KApVdp-H zw@LIRj}yLnE2R+#R5IjE>IiXjH7Y7G zk9&K-EPbQT(2=Syk>k^rs5c`N(zrnus$k4FVFNKFM!Rq^V({SdM5UVK5W|jBN46dL z+)J57>$p(2VF;#p(9(ZU-R-TA!(IRNWT>kiI6jclSDKv zm+Fz8E8%Vnku_XW9?R?S*^HtK)_gesAlC8Kof~qQe2jXmH})5p9w%#9cY>Jy2Q{DH z=1sPplm3Mq2TE}IaLG=IJ>jN-UHy>A>?gL(%c`@(bQ@J}^Du`>p7SS;r4~kYQ$us- za#9Ler@L@d;uHhDui6sT|B@U?d|tI$RY?L;B|O!Y={@RJPq5DXX>ft%6z3Z_tS(Rh z_H|_db~&QJ1h?Su_NV_hBHITSJL!F7)_G3Y!hmsb7*Hrc6ygE0V}+P>frJFU5^2p0 zJ%@ftatM2z26{GSR{hw({7Z7Qo{>&Vx8_KsX4c>6qg9VmiU?j2c`g=-XoPzRgo@c- z$>ok@u(g@kNYH-)?;$5ak3 zMQKp&l28!Ut7L5b&TF2#@b z?m4Rp_cOTbx-#{^Pm}$xZ3Q@9yD;}65q&~Qn_j27I2|rJwEuCQPG9`{MxIu^DJn6u z$98&QaR!^#4)fmGE-@3;P6|EQOMlg3y|!DJ7MSg&ZTbzdzri=$pgbgLH@_j%+C*(( z`r00HOA7L{C9>$62K?3x`z0duyYdYa`tiYMBheYPhH{4+GoD#C|7lLk$zdH_(x6o~ zJfEzUUEX7D)Cc2BK051vFsl5jYPL}@j&hy+{?FY&eZR~d!&E_G_gj5CO^Cj=F+KA4 z0OhoMQdx$w$xzu+$VJ+$4NA4wBdVUKT{iY%Sp;bBC>S|Dp%y^6ws1p;2GS7aqxmSH zKShKhk?ShGNZnyQnk?h*xCVTc6v$fUOkAFQN9=fRjwQo$!J@L!Bu5P`kSaEJTeU6) zGjo}*LD1|b70kvc^lIM6XQuN$Xv&kuWHwXeei5`&(laT3uHGA$Ik%;cd>UmVWU+TJ$k-quz082_opDe@HY_g2mMX@aE|Dqq=bRck)<ZH5!`p4elAI*A_!Ffa%Cn1_#?bD0* zFgDOqe7@Q?FWwMvzVvp(CgIZNRMU>#0h|6f&;Nz4FV{@uHc8I5QrK|_Apt-H(ja5X`B{rLi?yi>i!phm29OV8q3aM;2#yt zib`WNne^Vul?}1K;7)q=6w=>Wm#H#oV>jHC`mRn>t|G-!7_(;Hm+^WOCCJzCshW1V z^2q_Om6Gq>2>16rSCzm2gf!{{5}>qLG7<` z%2U=abn;OOQO>lt@^rmgaRbu6w#HDDe93`iV&2kB7EetQap|i`nqr_lc7f%$X8&K~6JPKx5ZfUf z*6Skiv8~yI`Ku4==KUL*7R76=GRA*)Te5gwoZ6>u!0?K=Cl(0=G*nG)45YH0>_WUC zSmL|AuQF9=94$;hqntS6I~VDniA|<-olBO#5Q{YWL$i2wEpE&l{{OJ`-qCFSfBbh4 z)pXd^)-FL&qiS#cpn?R6z1!-rcWgqJ(H23q2&#xgQG0KyC|a>&#HuF5-jrXyf86K( z-RIo?${%q~&UIY!zFx2AOOXg{N5|}Ri?u1~^|Jf|yVf})p1`4LDy8x%!?5LL zS9)~|fHH*3@qbmUZvLu{pNPH{zPe-4bQXNUm#(_V(LhaBC&Y7S)T>uOo9D8KRRaYa zTx`PplMCWnP2>nQ)rb8hx)p~8l76%(_|kx+oIVRA+(#s+Z$9`q&Y~UCk(_vsDy94u zg1pmScmrSpPFd)Hi0bK!SOe2kM6&69l|bfcVj3b7<}K_UTie+__IX6(%iAPN@I;*9PmT?4nqf5^G8zBk?51&9jy>nL!HzNCdM^tv?6b|e$B*6#14T*8YSR-Ip9K@hOy(feFmzk;hZWyAH zs6@vy7Th-d@>Y$fffeyrI{EpGEuzxhB4%3LGAE@U?;xx5-e6$7&~4H7@|45>C$p61oid_qsdmd5z5TXOnN780xJP zgS0uW>81O?EoihD`{O8*?{Uh%6S0$>4HQ;uQ{&$Y@t|{nDoEXRVMgohkU)o>o1ELe zkIOrdl-+D3aSU&J*VSsCU)F5yqO({)n{I11>vNu8qRrz>Wca5=mjfmp1tX(;H$G@A z``i-5lTO9^3&zAZcMoMrZ$U2(Diw)TswDN#pKfGCr;tQqCAFjPQ_Zt&LACNnuN`LU zhhe1|%WZ_u-5eeQrC5c|2DLIm_RUTlAM=8biJfNt3nMit%J|q(4i_L>G|=rzKu6DL zL+M^&sq#19_`M>lf%Zb%tqivZ3!tPCF0)`Jw5bEdN_dac6RHd)(T_>s`LRDSs}PhS`>b3-t% zsrinao5DBC8OXoQdJm3H^Yy2T+mA9ZE{pid=J12w?7Nfe5XH8*JybN^!KXV%vD~Yj znMwu^D)!>E83G-DFs7U&K;JUb%yFs!HMQjc(VyG%Nha1tx9+ z2+NYSYwC!dLHj1ieVRY-Y1qFrj>aEH=``8>4$Y36{N-8E0;ci>w$x@U+5hnK;MDuC z3^nY(6rOeHjBUx*IsU(i|IP6khP{P<66oM56Yd4AaY zW@pt%T8{ZL)`UrYpgJ&MOUX5UW_#IuYAi_=KI(Nf>47Vl#3E}bUPK+4tpU7Qik#BN zNE4LIq&c*!Qc_b;DP#PFdAIkf7;jYj(xf@BID)4n+g`4^3jA_a>e%}F&fq(p^@&gJ z?X4@3LelX7b zk=hcMpDjAIfLrw3+6BcDlJn5CN_p<`Lm$xiiL6dRX5eB1)IU;ZoM|efAX3aJUJoUf zmSKaZVRFWU2a8e`Td9X;whzAPBgUq8mFnLDpQFU+h3W4P4lEU8R1WiXlXBm(pbP}1 zf0)@;Be;7<83Uw|K)9+Wcw9bFF)$OaOv*bogpD*_TF zyDEYOBgtXB`~dbMwjXQ;{w?BGD!WG?cv*KuC+fSB)S-q>AWdI2$8OV7NtV8XltVU@ zM4${gl-#DK;T4kA6z9_rRkmG7bi3l=rrS|ewJr8TtO${D-wy#uJKomt<{OJ-LlraS z`ynnc#sW99)E!RR8A4*9>(%~y`Xbrt7p>+*DuAu2;pp+c%;!aMK`}865e3;*0;z?= zn!j3pujb_=iz2J>zS7>c3G62{Jw9X#z>a+O2(f~ zIev1QWkj2QDK>sm%DxHdk@Qu8<|8_ALb6|)BLT9lO!hqIY$W01GMbk2#_H zM+(_8O25C}rsaxTe?55h()z}xxa^NigX;i!xF-zmZI#0yYQbqr&+JNb^gR(t3HWH? z*wzjCzWkj1Tb?R5!!Z_aa@t^0EuE2yCZ!Y;>vs|Avtp5ZVpL(@V7-v+I$H8J+O|#1 zVgqk@A2uw`nuyjVJ=B(DDy@sWU(MOo6rQ|@j8Tz6S%7Ho@0y3n!In$oC6J%XQDQn` zxmLmK;$qR*+Y&+Ge1PdZAis{HASLo8xnR`ok$5$?%_FynggndZFq(-E|C&+Pyb|Cg z48}LSqWgTm4wkDXH3q9aYRx_ue!0G+I{*Fe&vR$mOEWB&Vyy!QS0wgNpr>^+Cy%Yn&CkJdaab32 z6NRrvZZUy{ZsT;d2%ffN(TVCH5Z2Tk(tu+`;jR&D?m#OEHSY?i=!BUsWhP6d4`_(?)6TJBYHo%_dg$aNsU@haz5grWbp0}!%GR& zfmNmbtxl#BeG0@vC0fjaGm1&~-{*J?DdmI9qGs;Fig#2UEgY3fT=AmI-_*oK9x&mG zoB)wIb4dn^`wCAsS2M@kL{)OKCuwaQ_@Ir=faa$Qq+$=ig}*SbN$*$gvEo~s*S?wGlWyaNXS&nwM8r&RdZ-&BVLYkNfdjbYY8DBDnyTs0 z99qL>%Gn0@M;9CLvkJ>{QXlOnP~#1vvUhLZ3SlRSGoY;BrKV^j=*5d%1Rp~sKE|QM zLEkMhFEb6lNn*Y_AA#8Dk2$|JvU=Y~^Of0yF%}^01KwsgmEP*oZLIqSV9I0{{!f|T zAkPqoWi@ivoA*EyOGDkH`iqFa@FG|{i`SRT$9`Ryox{uF?p-|O`~fu8g0gqNTM^K8 zn9Mma5q)ui4hQ_3#tSWibu|B{#-seTOv+l8&h>yzGUVTH$N6B1P-fB{MpJX@QlLcW zG3RCg!ONk+Io%|uB0aqC-EL-PMS^@#cLp^nbzrXWLP>P1il%v9GQ*oPVpb0-{NT4#<}o3H?QL%uiPJg=sk>i zAz;X&GGDu5&MwIQl}*_X@hhBJyr6{lt#2=wWvxye3A?mzv1IRNkffJnkYr?`dGx+$ zNRiXkNj0 zaHHyQ1>KcE_AYd)eInr~Bb+QIlAd)LZw@QfO%;5v)NYddU|mwAhC-HGKMM6(nM+e< zf!Bv-`Rg5_?KG8ABwmDO;SXJ-F5V7Vmyl^*g3Lpt$#>P-MBk(`og1c@XD7{sMKl@a z4v7`~%QF-TR6XGSTRo55-DtRgpk!(D<{%VAM?{3!th%Mqae)tGJ4LRf2SNC;f^nU= zVFTQi#nCjbO3L{2ZrS{kcQj18cgdeN^_r~9bXj45I#S|7T^QrON9?INvUi7z>2$8U0j2TMS^pucA`qzO{gL~Oqw8N@x2i)D-%1C zt{80N=W>I;LqYZhIz@d%tz8?id6bVr{J;UF z*}t+fTzp-|N29sI#Gt+PsF42b%mN}eN?i(jM4RbvlQ&RJtqdn;K#KUxl3*%vqb?^L zU`oD6rvzRk3zI#QSUw2)gy~R8#_n$xJgT*Gmxdhxz5$K6BvbNrvs(+VDp#a zL#WxC2fH`^?jHW|>Q|}juYhQ2OtjAM^G!btlCw(IwtG6RB-6De|6SVK$!#FI*xyNg9Mk;S`*n(F{0^BtqtE^?D~9@oQudSleiAKYNMbA zt>6g0Gc97hQe}R-!)%uw%Wi&at~`ivDs|7q(y(2JUepo zFvJ2KeKflI)H-D!`qgM--8hwDb2iMQyKHvK9n`~?;Etb3sLi>PJ~gxWhDB;+UO3F> z;PWy*CcQJyFKFdBu)n{zX4R^63X@s8#@xxcKG!(ZK(kmswUS|o9n4~s$J9Iq6fTOH zEJmur6xP3D)CU68oQJm%=?01pm8;r?cG`tTBP*pdp)R%Sf2K;_Fd|RxI*J#r%>3CL zXrwnvT)QGmo`^Hb$5nXjye_Hn-GLFc9lZNR3wZ?8FT8AU<{4iMyKgS7ERr~qjS2f0 z*|XB5z_T_ne-C*hape6T5#mhkRH+`aBz?D2k9b{@(b#4=VAFQ8Vs57z@j;5zLr}TW z_vzllj`N`Pmms_A#@Y6JGUwf2Jed9;+`n(X%_)dQSI+|f7JS4SvlTVAa9y1#`%v~y zD`Mc~^EM6(HJV-7T0sTsihXLn#x1dzYKv)b5Q5Xrk8RkR@Ehcx@@hKR!FP-~huY(* zT^t0n;~IC*h)L$Pk?c660}49h86G7%dAA;l!-{ua5E|jX62RRZHC*@p#JiBsYrs!?0aDRMhHAY#OEo{b4@}GY^F^_)0X94z;kC@qyWvzXCRX?B zwbgNP0jt-4GRhAGBFMnZ)aO&T6FHJxh21+($u+OJXKcqLP6hi76iYta)}j|1riWcQ zJXG8VvdA^hx2-k5zV&rFq%{-%p+y*uW7`eJ!x&a=;SOK>%Wwv>H+R0eyyf_h;RzhT zx-Ctv8-~U3;U~pEFG1UcsSAZew|d81TSBvP**TaY%t!fCh8m#FL(*GP8VW7?7uQip zyska$saChlZlV40hBti{Q=+;|vQ-&k+rU+51L?pHB7tw@_g`jL(PQpqV>5cLZYn zTxIyNaJvGbV5X$qkBoTUrTePI5%YjdI2^wdBG?-(Z6&^oe;YcefH{C9^)n>joW3A9 zS)V1B>LIk8dSk618_$r#4pHegD?v<&E5@d#utW1{0l#xPvqKhhG64FuPg|t7%>wJ6 zrrL&hVnMDmt`}g;0+?yh6&fg{VTVPAQjFBg|A8(Rj3D&bl_F2wHp*n+v_}SrlHShc zaQlFd-3(dyo*wHjDTyg3MIcTrf}DKE9)#^fiIrSRTZ-NWE?k3%x~{UD zGOJsNRDYSmD9yuC{z|w@@VEYTfAxAkm|nfxR4n0L*?Qb}x(9w5jH>OyMa3;Dq^|U@ zhUObpSCg17fkHUHNk~WI{FKuciYCdyw|lXIl)&il&jetj;g1f>qH2e95(-5I`BgOgvj$dT4LBbfF zgjM4XAXVT*N*q_X_jj^W@$M*jdh9Ba&*@i5XV{veEQ#$bzsI_;a=5CT4Xe<{liS%xt|S}vWbKm$=oWxKuHQfw7*4`092T~g=FL7eXb zS6`eqKJaVW`%WE66L6nm;4-gt?@UyY!VM~Xfsbb49f-khL3l#)2iN}dM!v(S+RI6J zo?-=>ZGRIdC8$%1mDVmEv@euI8IoLONv^!tzS&$wc-X9}*3`QT_tVF%ljiNOLn zB2tkQH^Q^Z7{xK<8`0dgviCZ4`7&VX@|mOjUg^a{@DM^eY3DAjFyVxzH>)v=n0BkB zGdVc8OZMu4ixLMac#NAH>s%Sr8gWQ;6@jc!=}F9|s|mR;(4Y6THfr6PsOA0EQ&+Yn zz?8{Ot5m?X$gw8CK+NvvmWnyYb!Lj&z0lg4LGoS2Z?5<~Z}S&b@FI@4?y3$ND0J6? z=efLtz0V3H#pBx`ZTxvx?fs55e1O@He>xJXK_A5$%PAyUG`@wZ!p)!85NrrmY zC>uZAfG)RL-a}U}$A<>#ro>sGowY4ngHhcpOw~Hpt@f*tZMO z5zvEO`;aU4&a3PN7BL}F^BVf2PiGUp05(Ain_8nKk1-8<6;eN1caDNi*BQ3AWLhWG zmKMu!a}mQpb=_SNTKFTBF;^lSofy#cD;t3E7tpHcnVj4QD5qUbYGAq3{0epY=N%7n zzJrnG_2CuTT+Gk@Xn^hG)5Id$3U|^sCXb2_sJx&8|LYro58G=$3)GN@6E=;3T0`s0 z>YdBGBVHQpD2b{@mF^EGyVc8F%@q$!4A(9Q8p5~l2oCRmeNls?h60A~r+Z{5AYTq( zlwU)Fc03uiJO&@O4cKa0xpB|7zsS$8OB7}@5mFZmsa`4ae0DthT_MwRr*E$&a_f>^ zV-lTQ!iTNLWL~?@`D!B{_(0CVQ2nBQshwu9Pj~CO())^M|Cg3O>PX|4U{jvcz+XHO z(edx>0aWN;wfyLNvq6PoJ(WZA95OOc**?+9b2T~A%~WHSdp^wV{Tw8%@s9$62486q z)~1w-9`o^xRq_w;sEyM&Yb%$8h^eZI?2F$|ZaMS*G*6n3?S6m|Cg?UoUYy*mLCRih zoR{8`kCIbp?B(zr%m*okbp&eyj9t{C7f(aGWFUCbK-az8OW7oXUmKxfveNTko}Tno zk_i3<)s?kAdoQw-~*=o@^=+kmdCZ%Ig z!F**?(NmbOIh47dLJ_Yy(<6Vf_znqfaLD$RHe=SC_PA?(1^y`x|K z<~q8Ccwzya+AuKO+@IljzVhZ$eKb%gV7fjFz-6cw0ugYS^;aDA1>FLbrrB>>>@LNy zo8G@z3Pk%~tmnok9Sww}(w_Z?FyN%c(Kev2dU7=?o#LE5^g~C$VmEwHtewZ|$p4y} z%;ch5w4YLWfDIjZCf&#Z zAe$E$VEXo-j9IC2vcoS#N*xR{aN7eGe+Lc(7v9#Bpz1bvCd#O$DVPn8e#h4>rF>{% zb+v;yWf_PbF@#8{igAeFo;$j>tn$bLu9xVvA_5#wmyYY|TzZDSVgF0qmW&OCB?y=6 zK7m@O!0Dpxzvmc2EZ}ep+&tr=SA1;oeBpTayj8rBpl?1AVExKxMoKIr>$ z0U$a`#=}Pmmg$$@mCi?Fi@;2u@wDG&ZR>}Uc5401ul5UHmPw0q&%o?x%(t<}`k7K% z4Zd5n`-8-fa(8Xv?S$PHZYa;huVe;~l}F#lH>T#>2s4jI);@ZP{SM}z&8L?L45`Cp zS6GykzN{h`vEPZg?Crmi>{UHPV z(p$TuI#~8o*bsGPyo{QDAOJ9N@&VDQW*ufMU2P*fZPJ84#f4K5q25D~-@J}*g1q}^ z0ptlSosPYq-vg0%{Sz>AHM6BIUNv?Gof~{A&Ic^i+QyUpi4q5JLxqnGpGr(CC4WXE zxQ$=%y4B1&H)!17oY_R0)^GbPvAh}aVDkIJW)HoC{hBHxqs++)X_9znp80^wZej&jwI>hB)nw>T4NJ)Wr?j0SF8=cA zOsf)663RNa3q{OoHSf z?cq7vSKDTOK4FeFZG0*QDBw(mji)xw8DzTtqyKhn6R7F3*)SmE?Kovs1a;Nu(BZZ8trYIpi@jECre#t*u*l-(OGxjy(fpi5X1tO?Vv~cvXbitgfxE z2O>Rpgw)D|FA**%O%y=;Q7{B`x9=v>H?4y$ji+0BwK{`l`kT?`r}5HlPN-BYpW*-X{1z&(U3|B{FW1vkA0l>G5n-D<$Q zUB6~NiD%&9=wM)dg}^X~b}v4|>tN*2z*G{#+|4Q33np6ig|=W z)XX%8jf-Tj&on<9FGD}dLk1;t&)O8uVl*Sh_UYg3udB4VG`wIwEz%VGl~0+D{(|)& z)XXS8IR*0cF4c=9d=S*pdfiBVKhrN=5oUri{i?wj6;+ zTZgPE&%AzCdAiry{<+}tm&eBb+2YjI8strFH*&>!7!^O-_-7DfH~;@P5hy~YvzzT{ zQzyPfjRDmm(%CRVaZ*L}QQJ z3iZvYRh}LW8H(jz1GH%ANO9n0o{@S69Ck22BorM=d6M#Gw}&bZ+?4P5^Y%dnbisAM zYpbn*_HJ&iSyADD5u|GQvQ2m$Yb-mhXx^K7!Pj|E$YPVLv6>4|o!mvR95z-v+AcSO z`?R1u2)iobFe2YuxTn|EUQtQ_FA^fEZO-NFCgvlavXsIL&G4w@7$-325(>L_d=v)C z--Xvr#TL72w7F`;Y+lX(IA$#H%-vUB1@NlO^%|?2f;%ImFtAc|lAA;bWjE#dGX$_5 zc%+uF%8&!FGE^@yUH1A8w(ASzGU0z*i6aiUKyRwIeTVCvw#&M4&v2?|-dBJU5 zj}2S}k6r-Z@Cw4|DPl%Qh#1S$+ue(~iGWm@SNV7=&w}RwnZTm5kUpy1w7Z2t%YQtrhu4pHp8i79neQ2mZWc!ZzzfMnasbz|P=zHnj{E;N9Cx~uX zZP{uA&cEel8uO}Z>AI+(i1G>=k7ATE-x|47%$WAft{wlzs>bc}sqG+Go&^7TnT%5KM_`7;DJctTco!s% zGqn07pMr*_O*E+TIp<|b1eIF$JOOZDTViDopm$U*SN?{Bi&%EY8&^EG<&#XxaHtE1 zv3>qv&?kP)2b0SBxHr!C1Lt+mxUYvd&|2-c?72QELqueHbtBfr;KprYWsYK-;J>;O zz3t*HH*hi7-4t)KkDf^0Aw0kHxLXsf+!68#m@NcEpE2evg>)QoW_p;>8=l4put{E| zk#+HI_CV&_gNfQpd`45W**xOPn?Sx9eL<&T+G)obH$u&qh_{Lm)?rM-8+WwH2%<;W zNpUg}XFB*n~Jj1bBj5KA99@Z6=Y`_^Oo1uH0d)dgXCO?G3+Mi>Iw(P2G3WOzA9|Ikf;< zOU&#-(DCL{a>S1?V0h@;9`PQ{Yu}2TBj{1#Y{B%};(NQF_AnsVImc$20&px+$NnGB zBVWkZb6`Nx(}R`P@c*{e>1d)~uhu51@}^ZWkIb&Q#n%)3vnh$D)tY@QOk#>(!S&U% zrMKi;THNnJK1m@xPedD=!>}_?)lUXyj7`)6eysCqx>zwz8W_;J8;cE%w`QXroyilm z+(*uHnp-3L{2j)T?WOByW4yxgOa_9w7u!K>v5mAJ9uVs^sB0#!u~E|Z=DK2!y?aDs z1CmOaZLD@HDJ#_+Jc&LkIe)m>=`ggqt?jtYyAi^l?wPGL+gJFWUj6E~w>lagHU}E+&=Dk)Qg>0es?ryB@z?@$ErSGv3#QLLL-OB@g$KM+Xg$t7>OD z8;R{82CBy~d*gq$e^pXW9A&#VL^g35o_i%m``nuc`@bVjHkUp(M;-st-1hewtqUqk zj%GM-Ic?KC=RVw(B9YZjm_{45qK(cE)B5;~zCmy_z6oPVU1y;nqgI~fmKbS8BwRTo z%6vi|^o~+fW6))*Or(Wc^Rt$G$D`~^f0&?(O+gIxhkAJAb*hFo<)4NN4PTsfRP`(y zw7SKs^>)LxRztb2dwpHH{3NWOYJ5vj_Hp^l6f~nmZk+j9ysezXoh^av^wHk?PjgmMI_CVcZ|2x%a2CB(9EH|Mjq~bpY2+-NFR0Ry z*6VtwrLP#NEF)37Y~?^ZUdv>%B6+3QD$~1Gk<)5RLp5KyoJlL@+!d- z0DlNLHHef^MXbIBE=V46#u?D~nD_wu0Dn!VwA;(!l6WNBJX@*lv?^M+AhYQvmG<=X z;u5@32WY4wKH2qzd03KBZ$^U-I_c8q7O$1ZG@madoruIJysJHcevZe6D!SOW+ z7<_2*v8^a$ri8X#xR8x4Zo~Gcm%-nu^}kd*HMS7*=ut%LnJ)l+FWr<)$wWMLPcJP` z>mRqii(2`MOR$8u#O)Y){#oj+d9L}wwW7~sd|epHOFsOERkxyP4A1tB!uJ29Slq*G zY!$QY*B$dgiVl$H-FA(k8{)%T&ydtJ|Hj}&e$uMYqn*b!&sL?07WIT0t2OWu@KiOt zk2yJXs(z6*u!&H!K@ul2yqs#?_(&!CckNTvo!{*9m20T&PjXShc|shPyLn2!)~%h_ z*1J4jKil3`T_HFfBo(h?#;MT_8m6^OlznaE%BPW3+t>VWz4^BVr~ufOp~jW~W*JE& z?;dTW{iM`--Ey{}+VbP4bz1J|Ys~K6dKGYqSk&eDq+`gk9s@pq3R3n=pNnh2i2n9u zf>}K8<3mvQ>9IBRxk%q{6<2!*AF={##NFRfe++?_UzUNi&4GdvK+!bPV+m(FR3?sQ zU^!cuw5$s*Z7dDgdnB1Q1W{0RhBMOc(;_)`SZ30@^g`cAjdPmpa@u0+5=4EO;cH)= z!(fG;G3--97W>~n_9h5`$rsP5TunuFh4xS%S%MC~KtTqrTaVeWaikCfl(A=oa;%%P z6yu5@ywcCv=9c`eWC$U>)$SZndW9JM7^P}dw@5b7z%5+g@Ek0-hYYO9kjQ2#=C)p$ z>idMYHr(8_j?wKkWL1f-VK-7>7LhjkQ=X-6?`)7V5nO`H7}MALX|bENcIuDfIv|8F zwE`1>)m12k>TEHlXH5ZSVxv=Tt4QhUf^mvShW+0A6+^Zk>`neSVT)Ba(N*y@@WglO zLhwI&+fZhajNLlEqG1(-!icWb>(>4$l&t=~OhfF-U)ItCO1r2=6jSb}ViDD-6u7aW zC&({^J!nR$`c+Qx5qahIc#6L~$OTk1+Qb~KSkM71wZCtub-i85i>GHfnI1Yqo-!># zU|__Lg_``amlhgG-$zz=rNS86I4%R0-_UOL-Z!2M6eNBar)gz^f(RP28Y)OR(~4W( zLDWXCqtLpS#uC(_JR!M+Y6b8`gcYj z&|;A{>{<1DZ)>59Il5^7t#Xr+eDvQuXaEJFU)08%qs1@GLGrr0s)L9%Uq67eQoY<} zV*=Qc#G3-YRs+hGfgnz}|~GF)xAHy#KC1x_Ryml(MC1jKaAq_vV`f+8~ms zRD_QY_*?uEoe@z`BADK=dcE+ea#qFzQI$6-GHtlKsJ;hDhMVG5SEa?dTCk=s7pIQz z{vJ#}7{Af>r|a)pVWkxXnUyf zVc6wv9M!YqO<>aJ88j?!#Y77eyAdxS=$8zl7{}mS(=% zM0n^|YiNZ#uSwMT)y-Qs6}|EV=F}?^nEFfn)^&+BE?j}dHZ@^0Zff>P|4cRmT#5RP z4Jmyyg^wCvwvubmuo0>keRiprzJ3etqPHo|VcPn6x}o11+_e;Mkw*v zzb*MmuFvny)o;~xm_LH7IUjhREItOJtDj&f{0gkVWhMbk~;JKhcX3(DD>YU0!?KicX> zBNX+nb5WkT{V;CjPm2TP$=7;PO+audVZvx&|luj>ZMf@ z(o|gxVcjVgS0WqkT-yX&nYRY7Cwx@r-yC`Ef_Rzv^g5{^CkAEImhZz0dkD^9Kb)); zs^_G08TJgYQ5G~b`h`=Fb)9H4PnbWTl`Iz-I3wJ7&62+=W{n*wn&10^ldJXQf9mz4sSJ{Jd!cQ)CH%Gg=N6t@GL8wBV{q5o zOH0v!Q~hx9+@YJ%VpsisQF%^|ZQLpSCAhmv3-?5ng*wKT{>&poUnADSm@qA3d%KHe z=RT{AIp;3_bc85M!zNl|sS<$k68-H>XHT(2OGIl{Fj6RT)gy0k;N|1;^N@P?PG zkTf-lCsXkqf!b$d#{rT*=3ICnH_{|*sy6EQp4!g*;bST(3Ql?A@uPfq??^Fp6U_7b zSyG9hxKmcP*XjqEioMm!wZCzd%AaX=33bz;oMutFy;=U2;AaQ8m6-@*ntg8M1?2#F zFz??Ovf4uXiyGkvlzPoZJ{L0)G-?gTj6aZA?XXyRr5ZDRDvyO4KzU@V*q;5)!9vsBtCh;v=%Yo zWl%eqkD;|_yFEVHtNcwPypS34E=dDjJ5|o~@GS^R3_RthKES6n_2C;v>q(x}1znJ8 zNw!i?LAK@3Our-kXsfG@tX!Z#) z>?-y@7drC8dDpx!s!tZaBje)7RP<*8HBJ{nJ;h1eV?+ym7_uf zC6FJvJiux65ctxZZ6s`1)5o;mND?zMkT{q67>E6F#{ zmtU=SbiBztttKW|`p6>F*e}<(SDZy%%ez){Xi8qB~NAtmM_6*rz7H@-Br7cD}A;X)m z_cWsGvY=N3Y*8`&4h8QSu8L&wKHuJ&Cv{&B=G69saF9<~Uopw`md3rhn_<_IeDV9M z+U1>msb1`aV#%h)tK^q?>>Zb$R$vkZaH8uQkZy}FU#83!z5H6lq`fChIo1NyA`mi4 zam*iMehSE>3WOL|SZEc)aGC9_xWUm}#_uovx3=6`fz=HgOQBti|<8GW4E zB?`U(vocI82@!jzXU5YhL-=Hh?BEc6KBBtxX$)p10NvTk0NXP!_RsSzd%9914O)iu zYBA}O&jyMpyOi06*Ua+eh+!x3dlZdTLm93 ziDb)%P?g*q&!3*3m7RN?pCv{e08)od4l!r%zx-{aoFM(&v(t=up4f50DjkZsCYi_D zr?05lqK&r2i7)_K+C!qeKhucn_XIaHQJyyP6V}+`S&3ni$4CuS7-c3<{q&MCKt(>= zyZ!r8n1^9jW|fGAIC%^5F33{WEw+Fz`%gjFq;y=(*(=3EFMx0Q@=fzlpOT zN)UebAB19zK4=}kf176b#?CS3eN_Ij+zL{q%ZU^&5Pg1ld11>5V4{^04lmed0xi+K z-wut~iUkGXiDu2G1~cm#t^dV*+yLesHis6>$*4b)8MK&Od>s2d(W~~ESj}X?sSWb8 zhZI>JkF<+l2!Z=SFYi>S8+pGW=+ltuC_t18L*bKb>$|4D&esFcAN_6xUg#Z0z z88oLkeJewZnV-DE;|h$CrZ^*G5~c6F5>D*7b#q+4F(ZR7t@-0c5zM9*OvfEn3fG8oHW(wcPD!-6`pAcrpm}l2%1)G znTo#Hp8UB|_*(w?tD+7pB;?A==igV5Nf-15B}@#SCmNY_-pZIDoiRxH&s+#QICDR_ z7=FCpGe^bFosUM&&utDxod=!F*J?$ZMy>df2ufO$CuJ?w>D~tX^TF`Zb*@baiQI8y zgj`<>v8q;MoK~Ux$rg^Ej%Ceq_2YpEqlmBLMp z$QRdXsRJwI3+~wxwZt`P5}ALrNexi#pZ>8a=q%poKa5IPJB+SpFuO-hWV0*q*<^NW z@PM>Ki&uKtG%3_8Xgve-9U8c>Brivt8cvJl<)hOlEXtJG;Q!AlVE@)F zy8P@xks7ysffy4$i0F?k@Mh|z01CTQ`&0K^MCxAG*2s$~ht_@2;MNHCzr3r0dn09t zfq+IY98DtN+Ib|bg*TA_n0u#(W@v=Q4)E%1yZ)4=AkEiB-!ZAbyR|3(`;RcMlY9hw z9QGzmaUBiYNe#{znwYv4`yFz@tgOFt16&>)`8`xpN5T<^k|2fKz?dV#3kQ~$>l+8tyQ#hQ;eY_T?&a(iybtm0E(_>svAo@Gib{sy9_)xg{#G35G+3s}t9zhVX{mtpUj>W{noWm&!0 zq4?3Og?fm@rkW2wfiyj^3gKY&BmHDBHIxyz$j?vRkxe%Blk??AM2Z%CNNpPq`@JY> zv(&CALk4f4hau87BGGk5S~&bl^L3@WCS*C0o?zyJ&IJXjq>N0*Mv`eBO&+vAyIPFl zDhhy8hYZ_{?+4fC?DEo^vd8yaS}RXn_TFaq%+STIY&#a${5F;_ZNbYidJVFQa;~Eh%v{{BtCi z|5scpqIpP*!T864uHI_pPzirA9SQeYbdttj_F>!tuj1-LT*c_ba<~tdSky1I9kJ;S ziwnwL+~hRQ5dV>p9135SeoGEC)N&=Jvdw;eyUP3o4ri?;=p zkGWHj?~1}N-hrTtm;UDt3?8;*qII@ytBLRBgHyfAD48r4>?+0`5DoDe&h(L4b|Ti= zt#*B^`kBe<^q2I4{l5>X@CF;=Av4#_anOxaZEo@J1&kThZN(#BMF_bcWgjd+XpAXv z2|uE+&B7o@BkzneyjH{xX@{d+rO{GIY8M5n1z1PrH_RbZ5_?%Ehptq~?7 zgR_0qRSrj{Xj`R>7!(XY^~$vUGR{{W*MVKxVOv_zHrwol9y0LLvNZxf@-52f>_l>b zS5&0_4^!{r&-4TS{cjGTPa%htbHYL)IiD+)VH?{}&N)=%kkg!xC6VLi%p7XW$eB5x z${~a@bDHxZIZV!Hy7#>w-^cI%{RceE-q-uOUa#l#JB~LS4$JREH{YC! zd!N1T_8@HnOKSCp|4MI(eOuawH-4RYR~2!+E^%bMzLLM`ejRq3L~Z*7COXWsQxrYF zxOB52?}k(^#WPu4`eUcx=v}@-rA*Musy9D>bLIl$ue5yt)&(8|Z}=PKtpN>r7YoMS zTf~p#*$an-#^j%JON(Kjz72&w^tw)IugkiyBR2Tvy}vBsGRA?-Dt2$nqX9-r{EC0C0LsV)YL&B?;Pzj;e3;F1faF9LrEKWg)vzVDwCaCQB z%H2IJ+=38$Ol#}MzyI_6^(`y2Vo(=gQl}y8@2+edqSR8=c(j>yCbQg9iChyk0*_Fr z1%I`)yEBT3z7t(KjSu;*QqFgeh#;3ZV`;&c^}3^CS7o}klJ421CEw1lS;0h(y?6X} zhvrmyn69lvd>!7;pI{pVfK_~NOGd3SJk^_fNq*~O2kV%p2O81?VH$9J;VVbZKO>WL5lj3csm`*z!K*i5`) zn`l(GaoI=1N`l1vn^`zro7Fj9x5z)kW>hYXi(BFrdF@kJhS6lfolS7@Wq_olY8S_Z zcV$x2M#@k{W{o4C8w8-!;))h9jB@m*8v#1gA30xYqb_zY7ZgMvZyyQ#DHvZt9mo7v z^L~=pA~`TAEvq~nWX1HSN(1Q#*X+xTFt?}N3iN+2`T+dhXXA3HpH10JV6~66VI$^m z6mA~Yh8GG(9IwDm!unc{&y@mpR$d33%)JiSpXdIxg-4x;S8npvt`A3%P+Q@EK@~OB zE{^)Sfrwc(6O;SfZ@zElH-1%0x~P19s6PdRaCTh#C9b*UCS&0NExFY>RsEa=W0{7raA;!4)31&(|+*W!~4{FHAhSixDVHTLbG zb*y={*5re7U=TE)s^T%lYFTGzoa#ntCu!q8)~?@*BiMCIPY^yTfi)~`d#Ab8yjR|1 zftpwov$bA`n&;MgY@=`YKvrvK14}|ff53tUb>`&XxcRe`oYYj)vW@Sb|LknmzWt+DHca-wu+9zE@ZZBWQ2vVbN2n19%zBRdra==n^e{)Cmp7%MC&GG+gZA zSYeFl0!3HNMQpFya>!kDKDn)+q?1uJHxvTELv(wjhDIldS$jkUsaP)#R&fCQdQClg zY3Iv_i*z_5m)x?HwP>e2+hy1 z#}j-+vlK;mWXy}#Qq6y@I+#T5fTQpnXyYSXp&WtgGFx%auVt69cFn% zRA2?@cF@kn!V&!Xf);RvADnUjjdav^V3sA|)c*QRi#tDd)N7Vo2+}te!>;E$P2v=7 zk~0}h5karZL^0?`p_w|R2=5{=vurZ6=MUFq zC!sx9qK3aYgfprqN#$sFrv9 zq{q*s!Oz9$QNF;W?m?i<8TZBE>ZP`zLk3-rryj}iyt6nRObQ?w4!^9cL(?B`q@nP= zg0!oFq~neLt?cT!N}_vI%GixgRd1@R#_@h_3;p}2t?l2wyv{jKnJ8}U#P3)BK~3Eb zXK{m=chChF)+y{Y!61djhZxj033xqO-dY&pl0U%I<7-DN&(f-TdfG>f->ITPT!4$| zz5vAPDV>N#&_FyxQpl}R!U$LyzNz-ekuuT|=S zLWeQ1+-%s26-5`e3>x8 z@*wD7m4zVAF#q=%4jU|dw)<^O$%^AbPmSm>ZFLaLq$(k?b8?XJ0#tXSHlYpE^x)sc zK-(fLr-kQ{jDh9N=Q}A4W9^^hrE)ZT75jN#a(jZtN^3r@x4kzeYS}T)Iwl)e#L?%) zxjl7U{*MH_=7>s^oFWgYtLc|CIQ7%1=?$&iW+CiE@U7cVs8ilE6*}u!O9=}gR9&yZ zx59{(rly(6;cU!#ht>A8oCJJSXw;SA+(>}L1^V0zl~k~QetZ@*YvaFM!v=zkcf)<; z@_Tq5-<7Ga@7;6q^z;)G(7G1!cX^*GL{yWi$4nGCt%vCVqj1rAzJ@uE)l{dYw~gj^ zlZ#I^1xoC-i(Ib%`nDhQ$LZwBUS+evtHz|7p=|!Ht&ZJxCpffBT98o=`-WB~%3r;A zlHf!Cc|gzxm0fJah_fpWYsm*Lo z>#1%pODm@<=>Dzy+K{dj%uXxf*U9BkjO#zCq3xNL^IrX$`bQ;jD4~|T@3M!`*=0Kt z$n$@4XNUA~)#spe{^I9wpN}(l)Q!u)8pb=SIXe@Ag46bRr5{z90g~&tZMUkp$5Ac; zz$h9(Y_h=osHuYJb{43nd%SXMukl;`M;Gg3=UkF*$NXoPZ%JV$+N%;wjm>l7f`2u*Ddiq5Ij88H6gm@rvZBx|Im(zN%cJxAS z(rrf-$2#AZ&9$$o{@}zr*g?W|+pXVivu|cGwA%sh(}Z06Kp1G%`|cgW-OrD80cO2< zJeY)6Jpj;s{Nm!kRe>4SwEkt5oU(1zBUz2%oI!K3oLxVuKQf_z+e0RO12viCS-c4# zYYwARx*{$%9fDL|8QMz5RJ%cwi0S}lk_D%lWqD73V~8 zELIJijHB7AKl}{%YZd5f&i2#_+Tu`9Qd@JX^`_^m7}5EcUZ(u>(*7*jnUR;NW;ZyO ziTusBppE950HNS=a^F?@O%WGv$1f3{zs)AL9Y$_Sq9q1S4I*KcVV^h!O!Dp+iqk01Pd{a6 z+)9bMArsJHe9*PFul>Kvh1q|@(vr86qNnl~Q|A8t%KpckFMRE<-aO$Zo_0{^(h<4N z6Bu2g3BXU^1{R(h)bZ&Y6GHIze5|3ol7I;NKHXQcN zW$vB3VhEkFnv(-4H{)TpNKDe=cp>TPd!NzWsXz8iZXpXqVTQCh)|r^z?Nt$B1~t#@3(tBhoSytkP^H~D%F>t*|WBz;+Gl@ZG^;V>YISnK(tqu%ZF_!jW$`y;`g zQIhwsl{G9&`qSwbbxAlPF}iR`aJ0*m4AwsfmZrY{Ws zlU}MlJ;{Oda+b?hIf4{1ta>fl)7X)~`ZQC|BU`F$=(qh6^l|CgY<|h)g1&sIWS-TN z5(diz{hr$@d1Iq`x&;3}PKia5l8Ie*9T!4g+&xUQm3N6_K$t_H+yJ^=H;muqh!Zau ztYHwXVP;2u?dvch6qu;~9fIuL)?*PzL#}8Sm@t3KRDGsQRg9l#2_8t zsNE%>hf2-T*Jin5M!`&K?HL&z)eQhv)M-6d%UjLbmGU78aptcL8iMF)lMz@}*`V%xd4XW%}l!>&92UpD!7>a*HQ zo7GwJG4F<@-q7cdubl3oT5R6Z!+5GU53mLBAYL0!$q=l-(#KFqO?&{O-sLu}9^C;PV(%?7qTBy(tkJ5=YxeCF?I@QcYGnN4I0+Re(usiI=y*vGe->r08${ncTs06$x$WvO-YuRA8qWk09+rK%5J zDosSLF|8Lb`%t@KWxAR{vA(C~fMGUVX5p+Oi!w0p{QfG~@s=_5{E$_Pr)}lsh>SH@ z_IxCNBKY`Fa2cbs9r^_A77hzH&k>wUvu)<21xmc5B;R;FKPP^bMej?0xi z<7W>kx+)G7vH%iPyEM+o0aHtXR&(sPw|~huiJ&i%bR!51Jd|S#ooI4KyI9CiZ@*ym zoOKkCz~d&G4}cJO8qn*TV1wsSqEg1u}0h zZ7iXIsVxZjv`y`gYzIC+2_VkDaIi+c>>PBH@Y0}eZ@vgBTGkaL~y-4DZP4KAigT@1|z`pvW;Q>c+Q}WH6Tg2m5s)% zmtXQQPEk-9j>jSF{IE#(k@+19_TG3Io{V>!N09zf7Hd)Y-)`DxkB^($uiW~>bzkF} z)^tWVWdG0ky@0*r=Ah&KmnZx9R+`Vl^rYfN(0?C>j>DsT%CrICFr!km|ycHL9}h;x3Squ*gcb`qtIky*QLL{h2Ed6refa>&r1B~ z3^!}p10~Odg#o9IhN?YNSyLwRn>#_oDj+GvEK<cXJQenB6xVKuL0%45pp%PnI1g7_FN@1gVlyRDQ8k#1K08$j=670x4FFxF6RRhpfO zbCJCBFNDYb4wTXocr>%hszHk*{=bvNsl$P`hp)D7vvk(^>#F!%7GZz9S1s}I z7>Ip8k@f2vVQMZ=WUu?JVK4CDWWin@BX4hJ^1lXrZJ%vfY*R@FHNNqU_nne3POQmM*Y zhvM4s>#q398eh;*ikX$pUSX zUiW!u8B(=`=^8t|Lhl?{7KiH%4JkQ-xyQ17hg8w`7P|hPWd-Pv?P!9k%tMw(Qu zPL=w*J+a0xyF0NIJrrOv4?Zx0{DRDQdUy^Qv%Zj6T57-D-mWZ`oMcAF&mva?5PVcF z0=`pY|Hva94GxFUL2k5tHe7yQ5qYtZ;UBJcU{H$YXPsrr8^%^=Y~Z zK;f^ociUM0h=$d%C5SNlaxv=+U1Uxm_2g6|67*FSe%)u0?U~8x#d=22^oA|ZQ-7rN ziSl)G4(ZHFq(xuYQwnOFu71W)timMMA8G^;WcAG=5gyA=KYd`48;zU4ys3I5!pifi z$Xi+B`qDQCJskxA)N#F*!*GxB3q#nZw8HDDF0*b=?U9zx-Ye6TV>Vvbn_V|@1n#vz zhNam&d>mI{_4fTU8riMLl7}h$fw@lN?N265_D=6~n-cZSS$rcJ%yP=KIoo=Ay2Lox zUN{NNN(f)us^)qtSj(rpz-4y!Z&51m+hiztwrTs95Ebj65eOEKuHF6I7%KO=M4VQSpdy&6yG z#k1qzjHVy`tug+`x4;Un__7?ZTyQ20E2Snr5u{Isx`KfCzhSI1K!M;3$^=)?(QcV_ z&%#gJj09!uGw*u zy2ixCe^MFvsW9uVcU592Vb2J9ShvT>SX34n^?qW?Z@SN~$oHk3X@%D~uUdnkVTDH? z)wXway0h-nZv$dK=X*1jO#zpQ-LFL z>QF~Z&O4u_D>c6B*vY#t?rcypP zi%GBS&hOq2KsmEK2KiJdb(>dJ;kv1TRNN^qtf z^|4tM=_s@Rd#q36x=FKlP4ifV;H{b-&1n_KnU=uWAy|ko>p!)he+PvKvoyB?lw*G1!PaX%Ei}L`yb?YhmcoCG#8KpSzZ?}^vm?@#JHFyK73V+=(A+_7@h*&z7Ci zK-!wX8sY58l~A1>s$C6r9=y-x2Zj1=@zR!qhdM8#@AO29yd|UmvD_gRaNN^9JHpqJ%Q1jM}0kw@q(((k!*4Tt_Q(tfq#?%t7*oD6%=^=H==Bh z^lQlb{4z+@UhydUm6@Z|)h$M=;0OnvxnRkO7ZDNWE=%Fup*y_Os=A!q?R+)V={%`kG5Du&rmBCn11@#q zcYmadOxv1l3!&)V==#_=AL@95UM=J-Pe3hbTu;gLJY=-Y@>wN{I&mB_P9N8xWc7dB z4gWh%2y3c0IoRs_p^d2j(!bVL3T&}^&1v;cU5P1n8U?8gyoDLmu4QJ~G-DQkuqe@- zP?(-ZqA%~H82N(thVxB-RF%83T-OeDtD`;0Wk5F!e}xEW#fVR_sDkBNJob_1A7>;G zKOLh+Y=>YUEvT+jA_Fp?J-U@P{Ty}D5~F$Saps!IjTQra2ckW7BahLrC2bI-)zk6T zlu7Lz@d$_W@QVqA6k+gDI5@Bz9K06u! zJ8HP}RP+zB;j8`wZbUj~jAZ9j^_4MXZ+ndBQm5||{=iQtQ`Q(sPw%E=ldmp)Tlcv= z)JoJtM=x-|t|O^KFCaD5*9}fSqm>EP(cTVdbW5VQh!gOd@%JP%4q0GmorG(tbb(Hs zQWW%!c+_ephqj)sqiv?-%W%DL2uEZii>LN2@|c&Oq|Ghvml(l8NU|qllA*lGJ{b`2 zd3TE!KD7X(k@ZuhiwHIKqsEAI441{A%+vhtWP3_}v;}oQU%Y24sh3!l%bn`&jyX#D zI<&A_zo%+kyJG>@dqA+oi((oFjHhY5Oq?V^^_K1q}M3L7Bf%gOdd;8#7C zVoyakac5%7n6^Yyqg^y?I;k}Smm*G4(L(myHJsgO#efv!UkY{f06SmDUby`T{mKb~ zCe+XvN0_f+Po4t`3Pe*MJfqX!z84`Gq2mFb|I2QJWKU&EczlsTRU)73t5Y~YJ#Edh zGKxY&t1Mgyv3oG}QZ#9`el@Frd{mD_+|0f5hUMB)A2l2Ry@AVlV7w&^%$HBnn(d80 zIjSfb)M-4{?GU@_#*meuJsIg_381sc&kTRv1fheXBc&?1iriXM1ipvCg;_va089$o z%B=$z)#Bir=qKpJo!GjZ78j-@Hzq9mIGp_Ifs^Ei9=+q=mZWuypwb%y z;s=ms)^~@$u@^tAdWXa43~D&34B5MPnuU{!ZfL50pgTXLt9p<=G^`4pWjO#ZZ;bfN z8uDodqc00-v_FpHb9?(F);$W3nmRVOw~a1ti6F+Hf(sw>dnqJ6?D6}YR5=fTvfSc$ z0v!H*%9!mm38lfa1jIIn$4m!jViLE&}y;3t7s5u*6P4b;+MCA!s)DFi1a^qe|*OJDI)8mNK(pQ(t`)OF8P=eS! zm(krQV$k+A%H5zC>YV%jj~pj8d@S*6Uh{4G*`!}(A4}F|`bXIQIP3e1QZia30EKZx zoOvbWf@bVThi!g+O<`ds{ zQv%V@kHBZe4WeWIxhB)O1KMS!M0a1MVjR4dPv)0VD2YJB4zE{ApzO%}jWzypmeyL` zt~|GEKx!A)(?utr_)JtS1Z=4Q(*`8=-YrBe(u5yn$>B6t0Hk4MDGIya@0HnK9N)pNtsng+?^oMKXizFgXpMVq7q^_|AP-VYz8paZL!$%@*FWM| z^|Alk8Vs}Cex1v?xdMViwGupzx&Q3;r3xLTx7NBTklANMWGI5F0kRjpIC;qf2{BDY-!v_cY>>>Q+s>`_C-Hu(!AW|FenNhJ z-S1)sC^UO_=y?Kg@~^|zL9;<(+4H(1eh=JN1Dz>=yoqYpr7UO#SmNrFRSDHRdU}ot z*@WEsRF0*p+Pl^a%8qZ92S>}I4oCdfrsbWkmMsp0*+|OARiFLyKB4tUt@FmS!-IdF z!N)tT6ra}f;-E+`i`kW>NVoMP3T%IN>%T_NlNQU?V7`h&Mkka(1SRDA{)VQu0<~H| z)pt_SZSwId%~?&CTbXWH`+~8}amB;DCBf@7T3+8ekKj{pVput~U8z^%X8Q@k+c)@c z3?ilGHI2&p*6+2)dK{juSoGv2pB`@rAiGtiYIz*(_t9lwH(jwB=EgVH8lR7jhODTy zJvK0ReqD>LyjwLwY4Z~!ZVc;7wH{?3Tc*&)=6r$r*E^#oW0!JCb%~tLzqybsD-lE| zW1_?I-)d?=!snbu7oNX{punwmSFM1Tpt5OCxgAa(*KuNVO#=mS#N@7Z_&3)_+ zVdH1<{|i5yHw0*tHgq*C^<4$_b0q4r8;q*f7`;|+Z0a=A{&Wx`X_e7;bxK-L$OwIz zI{8Z_`!QYC1)py_!+3n`^9F1#Y4OHcy6clm*Eg$aOPtfKZ8b=_@xAm{NMroY2zAkh~RR(CBjd7?~?cb|k8<`DzpbPDl z;Cqski)eQeUntSxXBF)=^`O0V3$7H*Cug@37yvk$1OlUtUYswQSu(6Y0lk}Vg2VN+ z9lv7v4LhBu=7YKQqtLSYiA@IA?}c|GW>kySNP7r|Mi;nE+?K45atzne zlc?v4Z;J;pk2(yruW1K0Q2^q)g8ztSV4U`aLBG_r^7`JBe;5dv-8OHistZW-KD4b zTu6{rDjE{5FEF{&M_MEUjrT})|Ea3XpaYE*@HN~W9;7W_0liy}Gk-LgCH(}&$>$7| zCS;nv3}J(YP_&INgn4~8)_KqXO*AHix}td-DXq= ziwH_S;VhS6fFV9K8SuBsJ922d#9b6fRtqs+tNWqy(24a0ugYHz(nu(5gJz}_#b17I z3$H4;60;UpE-Nk_ahKRAG1D9Q<|hYT%#gjA(SkZN*!;%pM@rzTQ3 zw1r>zr~)Zw^hi2X$Iym(@Y}0Rle_LI36sAX(7wE~zV9vzYIeN`W?x_vatPAZ_TISn zlLPK=ZXXCj>qcqk-C`=^_kxpQt`Y)i;HRvH95xr3qu*4%v6l48a9aMn%4Y*Mw{C(3 z13)3JpF1$QNV|>Egf(7fLtqKrmO_M4EomnLhz(abR=>@gAXcvPNe@E>An*6HXGu}t z?SQ8xWK_WiymqEHtxlmWbpp!@PxjC;U6S;`5VMa?n*jE6&WI zHJuj&=(OvLu+mKGEN|4CeA`&f&AOjMbP-d<{FGncZz^M68~Cl5%FK0r}-?DWAxauNdKwpmFa3UD;wGl67k~;+Yb9U=O~S-x?VvyGrK|7Mas^90qX)i zIJcPuv*YczOu3;3tm-O&y;yp9$Qv^WypYzmr}zrZWkGtfxUJVzKSN)HI{e%cw8boO zrg5@*9kGFIB)!uq$}E$a=TNg=qNU6%eD<$W$k7I&BvfNX^UsZqvU2mri|ab)aufr! z<3U3`sv$fFG=N{oms&TR7GcU(EK9Rr`q(ug&H+nDFwtdScy_-2Jms!KxdW6>cV2>J zc6j8)F7*{X+RRKYyFj^sEOrz4w_|2P`tu)xT5zCL?$BfyCInNVw&^1c#sRy>@Y7#9Dzt?M)y#3H*63 zkX4Gx)wNt{gItqsqy0w#3q~esvU{kw;JV;V4%v~bzkKD{B~#@6Z^MuOq|9A?G*9p@ zP8p%qA1AuR%_%ykI={dMJNAaa*&h85{yzzMGO{!6;+JhV-HjV38n8o#;p4|mB(7f< z+6Xkz&u%?0v)9F!+B&+3Hq}`|HoEe(pM9}3a&5))a^Wm$?IIX=mrDJ0);+Mddpu>j ze;JG~3ptMr+Ue6;r_7x9yR;_Qoc8^tszl+tMYCOJT3)8gSk+*ReX*>9l|cb)W9LDU z)V7w-xNNA|vtWWTSBjaRQGK%PuTojHne7p`as~Yq%EVH!%ULBkB_ic{f4GBUu4f3J znthCeebO_daiEkvwZV60GrQy!#V8q_$UUk9^?GT- z5Y6N>t52H4ERO{a8J=B;uN^q+n%J%MB<{Ca@~L{D0#eZ^P;>fRx}*2khL+cpxqXThZt z*)fj`7`ef1U28+k@6YL6QOUZX*`M<|y^lTmwFE&Ynjjm5U82Ky5Pmq^OdBSCknjnI zKf>k8nU(;QODYX)5WjmJQaaC&ls>QNLKWSn<$&3!4zxDRae|}IvTIn?cT!?|`4S7{g%*XEE=_@o)am{tdW~h)I7%-#krs z-B-bolkB&PPy=d6#9z2=H+g>1&V$aQ?5en7J~Cd~6SD%)9dOqXFklf9!!VeNUM?%i zBS+US_-Tp-G7ymchzW4$li9v{EJG#(IxCP;eC+qtMaGi5tiu?>2np3)$wfIUM9~sH z_XSc*>7LdXWv9yOwS7cNZH#zt)H5_7*^oouA<3MZTTS}@*8h@H>CwA~MNRcVoZ|QE zK-@lvqg~C{fiOB)#__T-i=Qh~QBwm=R<)qkqq3~=VL88_CY)ylnOb}O#YlJ!b5LX- zm8vMHfZH+wk#wQjf^XnoKkORyn<~-D@d3Qyuvx;WK^C3#8Il z_sH)zIG|@YliVnbd8f(=oAfqEz^v0G-?>>4Kv-byKh3K*^^bUEI3<|%(xUbFQ=t67q@m=y=T8j2a9DW1(?u5{7c{DW3L4W zb}(p!w4rkmLCsoi#sH3Oz~UmLa7;psTf2WCH3KX2$jNGxLBrk2>q)-Ht5;@Ox=BiPSlW{(je2v$ZkE$qEf=E>gUVk{_-PV_pLs)f zHiw2HiK1W58J{WW=dQp)NjY?oRww_ANvL4xvFX6SU$`4(X3{|h7G4CA-PgK25+JVufWPjWMs z^kl-MV8S?NHGYQhF&~&-$%MMOG~8oCpF5JEX*qpwJU_?8C@eejqhkXc)+Pr2+I^Eh z=aN@ObdtZE$Le$GGp-j4TlD=lw6NZ=j`>t`bIBjHy*?1y$C#sx?OaHWU$x_Va=Bap z@r2@j&dN{gI6*gS=YAYNLREQTEoGj%C;_1dwTlzqf|mBbI2CI!UenNOAPWkW;%sX< zyGi$*P*2uX2>4ZuLFGe{bGotJEK->l)_#6jj9-i41Km3R6wr6VQO5Vna$QmpVM=2L z>i|(Ee9oNudq9C`+ zG|cQK!Wlw$tFgIpY(wZalll_vSl~&%bPD}Qouoaxd6yB!bGB+}_hwith!~WlB|w)! zduf2*iLZdQ=CuCirkcAyFUgw;RsEd0_4@K3`_G68GZ0$OeRvtIdsXUJ(!^D3&Ja%~ zZ)dx2Z`5NS=u8(2U}yz&C*P>=-#L@~=ZRPfU51%FP+j4^vY=}aN9NA8JOij5FYVeU znN@U`cDV{M{v&$Pt;^APHRC3`Pflkb>srH8mCUrKJX7jvC+;Cm-X1i(5>H8ww`i7^ z*{AKotNpZ0&*X#-k*KSVGV)!wO^mLE=vJf{u_(_S2Gadr+o`C~nbUi`{cOsRdo@Fb znb)w9+kR+IlWsXMTmHAFi6baKJ5Y>oH1+b~=~rKY_8Yvbx&GN~hAm-d)SXsfu|jTm zRAC_MW%A$ZOaQLYpfF&2Jz1lBZg*}?$nq=rC%8tfr)$aA|9~7{>V)qgm6#t;=Z~aN z+hZ(h)ox|f>6U(!%e3ps0e|(qmu1h4$t)DJ3Nq1o(l)bCk<#_m5yIQke= z`*Y-`3gQJG)%a#zZl@~x$xpXJ1)Q0qKb!|OCft7QP*Jg^c>SlmXYYf8W$%i))2TE$ z+oo845uWKofY#&uY+`Kv&Udu zPNP!*N}zn`i-^>~_ZvsZ&5%KT+{ng$&INhS3%NbC@j4V|0BZl4!w5L1>fE)+B7jtEkatG zR@A!Fj#sB8*%az83K~i>vF8(f#$N+qbWkaVFDYBfJ6TFj8picsmOkF*%f*4cj|cKTcoW8!ohx_x#5pO#Wyks6-}2_Y!d&IOm)hVHsyxNxf@fxX5gy< z4#;)MC2u-s?lJ~VqhidfCa!Dwl$C7{C!eLjd#!h4N87^?noNB4P4AuIu-D^CQuvsv z@oy(%bu9v4%x&M*xLyC_grb8D+!JjRWrrjF9piThig}A1k357~I+zXp-sl?YVm6Q} zh&u+_dfNFxu^r~#8dD}<$y9cZ4tGbPo>q-zICZxXs>gDc>Xnq;4U}bSDkPJ&?;K1j zu-t&eAXarld;HQE{CzKn8%~*_;qYEvL5XHm>PAswY_T5mta}fLiQ;?77`W$;wV&Kk z@AgT_~lGk1zm4P{of(^bV2?liCFfJO)=8!`KXe6`+S zXp;dbWo2zX1TiwmeSIe$gPRG?S+G0KJd()A9rLkEeCWWy^)qhalMr?QG#tEl6d!Q& zd_nrdaHw1CnqyHGv??$RpgDXkkkEcq2&HvEm?xQZ7mM5{Tko{h*F zt9_+~>T>}wh)TI*uhQysT+&zNKaTCSe@X~m)$^2ttHY{aX%SU;SO#(#l&<`f=6z*& zi6|@}S1@E%pDO?P>9mM8m?mE75zo(PavRhbL*}TawqY2E9Pj&tL}0qiHn+HH5%hATz zCO1Qk=}kgcJxh=^`d-<1X86T9iXkAfvEDTvt z6?-jcsrjP&zmc&#?~l$i8ArOEJQLY_`p!xN1wq49))!?Jm`)Wyv^Pp`ljWK>dT@q* zr(n!oGY3|h_VP)ZfxpeUyjsUH_59I2m+p0Uq8;yM)UeU`_h1wGrm`hAs^fKoWQuHc zV+kmzA*07*?ZlhtfTaGWNtj>|SGj=#_hD++TwunhVa`oQ^=bSSBvq70NMFPWs`sg6 z1^E3_QEHf!llQ1-AA{8ruu3lyRpY{WJnjlNjeG&C{_j+yp^Zm)`Osq?zQNnriV+<; zhwS^xv_;v&_Z%UFhb=+&7!9@RU)kl^g5%DE(DhHQ-ASrLkilZ*et&m#5~u7cWA4gc z!~&~&v;9dHID!mvTAX*bPPpao@u8by>MTQaD_>5=VHvU&ONo(L!Idspjfs|#Y{Tw= znB9{js?`4e)@0jXU0dsT<&c5q33K2%ngf}~ojem939D@cs z9*Siz`W=6;IK^CLX<$42Hf{BJ$nQ$}S^Yy)h-s-t0_I{U%JXH*)bztu7M9~*SrJI8 z_;^?hBZ??Tf+o}Pg4G1Nw!CCtmlls1-@g8mVgjl7%o=D1Sfp2r4-yK+{h&iYJ|g@(Hg`Z!^B%~>|JW% z_?%C)o$iCRKRTN9>A5Tk2TMD{`RRu->_2$qw~aEuQ6S^bmOLpzK+z}*wv(9& zs)UJVwdB3PS7Sy%J)Q2_8lWrQ2j_@JKWd6)%bU(Pfzryi0SAGA*5;+((NnCO76V>Mx~}4Gl~4wA_W60!BW3}RQ23ElJnYdHV;F1EukG0Uv7&^ z2KG7s+9lv7(JsQ)&>xwql*e*cytV&oDhABU^JzKb`m{jtYz6BSB+rfhh@APtqls- z*SM^=6z|!MQdAbZ-tG(HBR59U$flZ~OnpE+qsYcB`jZ>igkJ4*#a>X4b@y(}XYMkc z8)tuKro=NFz9xYkMjSuLdZHhu6aHj){o=?Mlz07Y?codO4-+Z^2@dX>SW$%P=u1Eb z?KS$-5aD+TNG$nLjWpK1L67z+efF*{P}<#DoOIWv6p-l4GUK0mmk}(hn_L?xJ_hD5 zceTGD>tWU>89>a@Fp%FyF&C0gX5$U_uW?cIY9p}SG$zg#d# zV<^}WJeDVQr4^RQL-NlD$O86V3>+gz0U8A8eb208Oue;v?OYg#0qsU(IYPVqO?q=A>w9bz{00jTtbHy8-LEf})~gEwT-};8f+Cf7wJvA1CM3ZgCtMc%9@F#cIg@cGzLIMQxr;D ztQ1iMrj3wyqKb@XJh-JL`HRLJd9k@kXqeS17?H$|>8sa~l;EnxoI;;p8D9VTR9l28 z*NgY5=;1CbQTbfF=PP6S>Rg})SxqclS$imL(ui2EqDW5*r@sR4 zMvH_hBC%@4R&A-GMs0~b>Sx5>s_tCR@!ZFK{SV*q`Mlq+^L0jjl?O4DeF+{~yG^M} z^Y))-NN+3{`Er5JpcFS`hYh>mf&$909SNx74+xInk?K5iLI62}#Mn9qtq+a@x8FJ=6^UW9CK?UF5Z*rFmTE$7EDI>s6jZYD_bwM| z?+0sj@)8|2ChRFOrZP*V=q<(dMVWOBdy_peqSN)MH6H-)ddxO|+}rgOop+b3#3uaw zp$kMm(Rt8RXiDSu1OnVe$*K7mN(!LdMxiBk7D zV21iso)0U5!b>4k9S+XE-474GsB3d!=v7lUdkzKa{LkNGx{u7lsO3ecNUn9GZwQEL zQP)-6`ihkphF z5k#%}$6~i}>*CDE(kWP}aH#O@9AgjK~8Aw^;O3X-YRR6?H(et7;!V+fVNstoc6mcg9xv2SM<5Re`r91^gms z^vk#8t-X|T^1p4ZPIv4Ke`mCf^8Aj(4W;|~i;J!!^g-g)quGqJzQd4e}oe9BpMV<<{%@q5Od2LZ=mS*`-tMpzgq+8LvNT+le2N@dA-f9}%&=Y{K< zqQ$v&oFSC&0ybA^H)wJ9MTezWiQtbVKeoWclCX)a^X6stgu7lO0iIOv>wk(Cy@afR z=+a3M#OKMQ8L4)d>^uyrv5m}I>bdQM!T(IALC1jOpc)Y==Q|>g?`Vu17RR>V@HNgK zd@3feiqOZ=`P++t4?oOgzyt463u)|*bpgBM?nHijJ+}{7);~AgU(L4dITnJcx$_n` z!KVxdNhnSo?dg-M{c6p*GKk}QMixkW&)h_%<`I`Jm#o~($73m%^p#c~v@v%hzyR!F z4A$`AYJ_-`M6&8E&qmkkzeSN!mLp0|rn_qLkC(3J0|5Mv>0aSssN(Y*8vVcTc#S2F z5oA7f>@g`>nLJ9U$ZO~b6ArHaz>Xy)ij;YN8%od0wDmS{m90}@_fvK8CQzFjE`72K zeqA*3sbP+Y3Z9#ioFDnFG&lLOVQ$hEFnV}iRXVL+Yj9hpkIlT&WP7U7+_hiBKX zH3FO;p1>TMW!bcJIhkgkQy&&&OWvxAnl?ZF_kWKH(QE2yJR|rZeNt9%b63N~AU_o} z;WtF0G7*hO$Q*Ve?g8-8`r)F)pn6LC(3|7U-XhkXF0eW?-;0sAtc0~YZ-{XWPF^?7 zTSVBqiK-4GaDhH6?IriTfg;yz@S-^1+=wc`OclAy{Ie?n00}MnFm9mP9>I`M;*w=l zD2}QS$Us7-iVFQFUBxf7$&iWSJCacQ){bJdT!yjMo^5BtoJ+(fo8IU>179gHm7Rv3 zxG?~5c>vaaWL6;0UJokH)_=Lz?vJ&GDi?6oW;Kq&STqgTxBT@? zicwV7sxEa#yu)buXH@+x%GPgx zr{GftEy~p>YC`>t<_Mp+E1Fm;f(;!)|}3a*#~KTM#tNDB5xCBl*^CqhMb zr}Ku_upD#gFmCwJUS}+s7DMw^UL4#3PK!T4m67~3m!OH__pUtUVA~qow7POlr>V#^ z0156_F=i|lqG%h^8}eKABbe;xigQD5DXl=Pi&N!oWjI!^)T^%t_BZ;}W|?rst`^-) z<%IZ)-`ZK$6D3>pgaZf0{mU2TlE>PGeFq}3zYqE(vwz-Je93Wur#O7nH}XtP>sIrp58 zGVGrhkI6n%1^WHCMKHSN+5R6hj+THJB~r@P-D3aXpZxji-mD#>(^4jV3I}Q9w0Z${{GT<)NRFds7ZyM~^vK@8JdYe38h` z@?U6&IJnH-xUad@)O!TJskE^`H0R3go|~P?W~!n zWunp~7#}KTIf(Uc=u9bp??iu6Gk;CI)XA)X)i{8Z>>RN@y*s-7Wa^Ljcd78F&^~_R z_wgfx`jsm`vJpmv72zzdbVN>1zG&0Y_p%lZL-t=P3^%p2Q(j(Cd^i$=pl{-ocqM04^t+U;^jJq=AZ(Vh_ zn~uTZ;Tv(0twGl{so#IxvWN^zRTsF}KXAaQ7sMTfL^r8xd`_o?HYI2lr;m64c^!q= z)84~Tohq-1@t2*+uVF{xyA_IeI5O27GV+Ya;*7hSm~mJvTb56cqYDw0SbtP-<3F>; zj;%labZXMI^dg2Is5NHh;$Hpr{iyyh^>R(4iuJz}hWV3=x0V!e;w9HS_~H5OIm;Gu zgXT{kdkw+egDYP~Y#Z7`{7JKOkIhn-)@H~|<@TnQkQzE&ir|qaTaRLz` ziQ3w$fX{G9WId>m2*=q@<~VgHS(3go?|V+HizDs@qm}=S{_E7Ivw0MpsoAL)o6LbKZXb_&r?d+Qf)nggq5h z9XGYcRA8ow^5&hJo@++=?{%2Ri0m9Ug=@h!xJaW!-$*G8HogQ+ey!jwUqOdfE{-poj<{kj~Ui`XfNVo|9LmcUOOnJ0$W&m z{Xv}la&>3Jn3nRK4at|Qh?{mq-H2+xH2D|rXTJZQ8 zqwpiMd4`@7N#P~?2x#wG@Hrr4_~=6EivaiKIHv9F1#5nLH7J;WDWutvQk+0o>K>eo zy)Y+4Iu(0KO46%lJ{9S}Nh!_k)$W(Kex}(ma~Gl2@m_IG3!ze8F@DzPYTa?VS%34z z%^I)6!WG4^$s5*cZm}+_8Ba}C9+gc;{X%T3>x3~Lj}X2WEl!Z$`8j$1-C0od>-5c4 z|8TivvLg9YQgm1T`;*jVgWrdz1h^Lqr1a3Dr>?nt?8?9d*VM;-D4F;v^=NYhdPG@< zZC0>BDD}}km!Gre{=%!;g@CjXVVYxG>wFy}Xe?rj_&7U^Sl!UeSQB7d6Mbr!huJ@k zzHKax{k(jcZf{m|PgZu@{@*Y?Uyx7x|B50K!vz#-o{enznFKeB>0IjGmO#wBhfln1 zo&mrS>fncm(5%&jWf+_uPFXc5@3_muw0|6J(*_p8EveD2$vocs|BcG#%Khd_kFcVN zuquY%EZnWHEdkiVDSFpSfhN>A@6S}~v6D-GhibZGUg|e# zie*PpX|2F$f2~Gn@R#H@!KB<~%_J8i1m_C5{f3ZlWrf}TanR>8mJV=M_v$^&^ho5x zmG}!}4;#4{I!IVEPipyFQw~zNyAd!Cu8{eJiO*59fqeqD^^Qd4T*X$U!Xx30pJwQy zKN=XUUj03!QvISYntNzh4a#OONlPo`&tJ-8LSTOtj9H}I@Qg~+eh6jG zAz?(=kQiDjNTZL-kU|a0_E+&wfK9cMlm8r5dB2Y=VT&* zuso?(05e#pKY5h%)}-xDa%aO-Y<-Yw@e94)7YujT1at~_p5P}GGURP0Jm6?kh~3P9 zeY?mog}2l=JDM)`1z6x07&LahT5iv^D*v6OOBfrfgt=-c&2J48^Wx-s*rf0FJKGWarzkFtK6wUuUIxcEoD=G47&>9P*toqbF?YRx}Vwk8VR;f{CI4!e_b%9Brs!LlH9rWMZCYL&%C~DSA9*>L?i3$%=QyyUR%P#^YGkoCxNu)U}~*Y ztsleTr!KcQKQ3K9*MTWw%py%)Sd+JQzaMS>70(U}i$vv&KDJSh!9oq|&KDPKvqR1* zd72vW=0!G9A@wdKVZ0xrEVA6(3<3a9Ub3l9x~)_{ zq1LdeC9VFO44_zMK2EhIcE72NJo<*yBC~qvNCx8>{ywY0XkS2MR1%t381aY>?UHE*WwLcrmB*nosok;As|0S@=wrln z%|f&MvGULHf4n8!*(oKhr=-F`dZphfUrh4%UxS@ACw^G%1YW#Rk2>hYs7JdG#zK8c zN88TN#KMosvPWCF`C#=6=fT+}4Jy@{_Tyh$vysl(GByMl7DB3a5+nco_=(`QuSjZe z$tB;_>993}cTK6VsG4VGP}rb9$+_hCR3u+)`MD=&8g z%cj14C61?HNR!vBwu{fieNf|Nh8J$yZ6m9aaB8;UYLxRL$!(y{kNTYS9vJCIk|rbw zf2`S4vI={WkV#c>wBSdy4C*3yiKGXe6r!UK#<#wlj^lxbta{2b#iqyc`#xXJXY7EO ztuJT8{54zcAwHJ4DfE}a_X!9k^2yW&f!;67{ds!se5*6j*;H?yeAI}L* z2+y!|X4j;Z=rn^`^6km)lB<~xc{qgAlc}p}P$toLemLyw6HHcGj1?$=CjskD!1UUl zwN7CmF@nNpf1An)arI%0lAFfkuDdn(0Xx)DZ{!bAT!+Tj z4@I;|?4efBmugz`l<8Vd=%#halebP0&VEuDWnrC)V#5FUvV4lpxW~4$8Cjs+?H@STAa};eRt6J!% zw#PGv9~Ua53o|ug$oe1YqlsQL^LO+50-M;NZ13oih4A5b%h$1w8&fsSu7FE@;X(aY z{??&cG#>$w^r94@CD2m?G`+)XK_IJWz3}_xs!mkN#mJ!-Ci9$EEU-g5O+I#i=^Ni2Bd}ad;3Z zLyCz^MhB%N{mtiIY|Z1sg^M_9xfRGiF68q#-}rhDI@&2P6ts*E$#_c!4B_zi`cjZwsx~p6%{846 z^DJVM^a{ddm8+#aJlA%)rq5cR?5NXjD^7CA-XEV@`F3a+-{+d^idB-Tz2mV;{8tR~ zd^qpUWZr^Ik1P*ywx`F)?Wz}}tgH;iyuAjG2$gOi>k;(?M!wZkM+cqN5Q9%~4ejAI z6#~rl0@caV&(}9h+uw`x4}C{KZai<<)#F?A`Qi7kGVkMFnAX`mM%=TTVgl=I;i601z_g0a-gg)-%_}d7JYeM=fkd(KSJ-M_d{#q zKD_ke9RdU3eR~Xq>sLgMVY7M94GFvsNxFdq6TUlMQu8?aG;rZg=Z+@Q;E{5UmMzl# zT692W7;?@%aN;TNs30;B_C5$;s-tvR|6-m3CyHri0L>zrx?0f)sD(k*5(qhb_yW`|mMI4oH7i zIH3TmJgx?-h7Gt+bfk_-ae~DmXnr)yR?O>oEthcdQ->6}i6ny}XHx9L9UJT-o@Z~h zedbNIn>wT)L!6#HZV5cR9~j_b}YB= zrrDU#xW0Vts!7KV@IG+g2; z@-%J^j$G|?w6ggTp{84lwa$SD7v&C5NmSRx(wMy&h7@J((Y$|3yKy~97J+WxU{G*!;>vSg7%3QK#fy!x9(}fhd=X_>>>AS13mrSlP(s`bU2l7 zCNhwi*ZzyJR}tQo^Nf(*iNYgRgexgOil-{V*cyP1hpS;-F-kZ63NQTAhnkEWHg__m zCZCr5?sc1Q5402Y+&{g_N$}X??n0R%g{@6JS$~DZZE9;Ki=B(EE#VPt$>)?f!D{4Q zo?#{3>acPBp1)5bdOigo1XfT`&(^03Ya)%6ytgTatO&80|5ph0(e>$2WV0TMMh%-q50EA z0+fD*TY5w9eX@9AAKCBi;I7Am-m(vYdrGWM8|KqRf71dO|31sn;4Z>}^*Tw~J6@py zo%Mjyr*K3ZWVc)okLcf3e?7l-<*H+0-V<-h-<^-**8_9jh(@Ospi0J?v{9(h^@7*Z zhpJ*+!9Bt%=++#xsMwmrk4KcA_&AgHpUvjQBS52(KSgQE1?~e%D+>{z+p}^MV7mxa zI!Id`u`8vnz@riiP3(9~p+(Wl9BM>H*zn48wJZme zK;}ccB0xgl6kUy$9`oyYBS!BhLWzMUN&g*L(Df;9aVjEP&C62+ETMxk2kgAt;|F5IeZS1%}&7v z>q@^=<&IkRcXqQ>1IxP(`8~Z%&+hPU_j-kWZhq!`-p)1Fo~jeH>EQ)Cv+AP}-PY-P z=4((goql8F--{x%8xP-xX=1}F<*=Pdi+*ho;n2M74#SG~CwU5ZXmy4*<%7N_11yA{of^hum=B?Pje(R$r8Rdfx8i&4b^J1X;0&mrl3ivan-SNd}58N1G0>)j?Bd5WlPe z;TC2af?p?qq!5tEC)6J%;gn!2tb$;EituoXRi6)12fexXcadROBYU&&e1Z%rp@}+P zj*YzJxEFAK3$~(2I^2_QdH-cpX0@uWPiGCm3<%0jocZ*!2m^qyg4NVQKg7%+cJg8~7$FjgN85wGR=PsIQ`i6G_XO+4+i6n4v29IV z9Iawk{@c}zJUz&YghdXvhlbv!h|jlZjhP2gC8WsjYqI>d^lG;ML#%2{YdHCM=hg6n zYRG=(A{sa}!sp?=P33FV{uSt7nCIc+?;6;<$~Is8a|C_%=7Pu$!#%LiPV>?sYMA>? z`Ce4YnbHR(B+g%at}991&u&WIR<4gSwdYNr?kzdcr{a385>f;X@>l2~jVAZKDb{XL zD0s{}534);dOn)D>?g4!t}%W4WVt*0(Ic~Mt+XUmn3n1+?H5>8V~GL=t64Hgp%pr) zgcdv#vHDoJEw6y3F#9_EE9`1QiC%%FR1}udh?MYKQ)C`lHtrsW*7%a1%B0=%o4W`8 z8!rOeL`n-5H*^I*S9M$c$Mtptod5Qt{u87XTZpOo6eU4pZ7~KxLBTx|_4xf{a4n-2 zPIV@2(5E=Rb#To$21avvWR2Q%hQGLy9~n{o@qB!B+nBoj%IWm!qTaru4{eC58!G_H zx;0(xri{U;mm!e5>l68#Yh|n!7yl@${D~vBFC+WM_N4Etw>STgyAkK()Gcute|yI~ z5W7N!Tl?JPp-Od4tUl@Wl6&~G*IraV%s5PHC22J{0j~c0<>mM02pQSLAB9@<7=$<8 zVUG`h7f2;7TZckYRz zL;Q^MXZr(B#Y-`C(%Zn5tL=b1jsBW(>N@{WW=_!N&Ms3UdVu)#rP$`q@7lbF28r-| zFH&PaA;Y^K4JzAQKD9=0R*m2cg2{{h-3Z$M0@se%LH_G_K58{|vu`(HKkw#U0WL#~ zgXEuq>OecUC$1?gE1as)ocA`P`}%)bh5Y+_df8`xUixWk=KraoJM6<)1EDWQ3IjYx zPwmK#|7v~w%MZPwdpH=9`P=sB?WsmniasZKbFBZzJpBhb=NKcN>C`pEOHaDFyGFNF ze*H<|bx9ISsqOmfXAdEJA6|{cu4!gB3FnuW}EGOAoL(XV#PrqKUnQG-~Q7k!*=ni$92!Nab-M}DCUsV1649LG;H{kF=Gn{ocd z7(HW7YP9|&-rKTs|B6=TA{TB*7z9V;j$}_}y`#7tsPS=YhAtlIIRUmBX%eg_nJ+sd z$eZ9Rle(WT!-xf23|TzvSMLFbl)2Ma)%{1vdN&!yl}#Gi)FHxKrx-SX;vP?^y8!F> z6}_?XUm136pZ(cqY!SlqjW?gfu20|oi}*fS*6X$vTNMwL%$zUH7qNP%9D=p)|P za&3&ggQ2+eahMHT;(nMde%tSyqad{)ojoG}^i{#fF@Lr!+iut+Fs;x0Uu#je*!^RN zbZR&J%2*LjwP_gzkF}wT2pGA{SY+d1mk*e|%jzxCY=*LAGNUpCNMudmHkLv$cO77o zq7z`zSvgG&Y#0|+AfwA`<60&vwVs*L8y(9Vct1NLW&K|dn&YWLwL+O`u#HBMW9u2N zi*nMdK}cVUPoU@(%t?&aE1^WKNE_pQ}Q16NzD}6=G6PX@iKV{z@qss5ssX|O6Ap&5E z?~|gV;|V~sSmYI001`VhsG-6cG`Tzqqm&lHJJp?$%X|z#eub6XgA(DiZ(voOG>ydg zcR}<9M)KwZ;1=~NBfa9s4JK$nMyzU^m* zb4UziZ~yGC;ri}APAt8V8l24c)YNJ%00})*E-+Il;Ro~@P)>OC#*PYs_ZS^$Uz}Z? zJZ&l?j#1qmq!&@<{JE_|(qrkoz6lTc-sDw$^j>vhzswCNsvIW2kb=RiIEZaV(~RbL(npxaQ5w;sXf;(Rqr)>4IQSBve6d7vu>v5% zm?&(@vDn7;!>I1gI@Y6Im4w8N)y>^CCj?4+c@aU_c8aTY^9nUPfVg->D^hs?(##yF%WaC3tR{Id73gh0* zZB+A#NtD?B!O3&(uOH!UedG_{vRgBAgcN><*B33HRjmc*aaXU0u61}@+%Ik6d{8fw zuWu)=wbwuG{jh!$wvkQjM+UZ7rhB9Yn-M>?6@@?+t(pVBsU)|HTOQ*mBm6UwRv!L1==T+j2O5PkVX#i9#zDziCc(A=);nQ{r%q zapK{x4K`iJuMR^-rkg(_kZ5c5fq{w-FS3Uz#L2MUF%uUN?G@jXinLG-2Cz=5gkN5} zcX~j#(HwdDmq7n9jq*nQ8w>dB0Kl^b?>?PTPaRx;*VYm`UFrSp{_F1bo*q8$oSBiO zTyo%o5a0oWh=q-7=U|7+VYzifc-rv2) zqsN)>bK3mB_aWR%_&~!B$}HGajN9xMu7slbyU&)e|ACJ-B+%p-~C1a3w(iIO* z)KBe!l#s<1*n{J2|bERLZ9#n>NlMS-y>}LuxLU`d0+qi>KO= z!^VdS)f`V(x>pmI7mZGk0$2P(H1EwnOdAaPSMmbz=&@2fptOJO%SG~9`9eBj>Fy=} z_B7#b@D}m=+tkh9OV~>9<3#*S?Sx@y_$y_Fh(9cPz zDEx-lc4nI$=7!*EV)kfdk z`Gc_jf#dwj?~}{_-gve`b=jbNNWF*m#Y@7ud1tELQbQ@m=sJcgKe`2P#h=goh%jl!eYzhRz$nRgg#fnp>We7SHi6a15Po(}S;G-0q zA#KND zQ@;e;ydnlu#vimd)n_}{#DLv}#DU4b&SKNY3>yD2rGy%f zlJO>7u!5W)J#yL9e@!IzR+axm`;#MbWx$x)cGDqGD`TGMID_iNU=d}CCscK(rzu-a zS$JMVdF=i>afH;2?8lzft#-br5dF$?h8t_AhpJ7fNE=8VL;>>62l#*<30Jeg&j$&U zi;iuWzT3D!wn>k~+jM2umd#m0qlv*bTc>#;vT>pKF~4W>Y2Xf=7wU|wYmG~<)B0p7 zNK2@)CrGedR1*sjojj$^qQU%KK@7`-OpVwQ`;M25s$snhZUb(YixE(^S01KlR8lRE z-sUf@PJ^_f?3uGLJ=>5PA(IQ>pT5LF#C^4WA!&mcI z54!gZD*(}_41xuT68<@KtK9EebN9c-;9MJ#Rtsuy2H# z?;1DF(>=;1i33)k22sZRrONn~xU9<6A%53P&R!z!AO4Cd*w4GvHAWmB(u#4I&6Tah zx)xnu4uQ`_HwMwF2JtJ-n!ZV{Edt)DFj|cr$45ppC6QgFkzptVkHdZOm(miPfU(fD z`n4gFl}O;ieKx6#(d>PLYT2NeDdQbn34E1;I8Kk5t;rWdvK6j5FCO>ybOp5`P4pl8 zS3 zMu_&E%9mk2RBt%{*1oVitJdmWRhi$=EtWbNB!Hxb=IU=wA0;D>Cm)4Jte2`Q`*m*J zn)Nt-nhN1-&~<|l*){t{n6R6_tM34kXAo|e-YpGpdAJW-ts6gjQ*KorE;kV-u#ufd z=vAh;r9QXG$|fhziM(n;G^PJb#lsu=_Q{ka&N^QGC?{|@w@*y(#HMB&GuM!hD~de-8ynf^H;YMg zFs0r3Z(RlPqDOw%bcFohnF_@_k!kzW+S{!rYtltvyua6zW~un-%Fe-yOV?Xa5}zkt zbm8EDX6VYv!Mack!^uIOKIKP!4uFd72B1aE1Ap6@Y=no>ny5vIHnbsT@l9I_#_K9O z>nk6e47*9XX>{Bf_vVQ@KofBu6m-)Gd*lw3Uh41y$5K=}2w@MmAIaNIBQc*qA~eq$Q*_ z)KHe;S?_}VcZX>|d3H5!bzq~i6x*{aZjI6IjE+1(z@40$p8ylSU4Ms?qq^F&J(@tY zb+duoDV<6Ns4{!b(S3n=ut6)Xy=$mrnO0=b^j17mqtBDew=u$o5h?`5u;ae+xpLLQOW8!7~$~eK> zrRRRdbRejw$LU#fG?O=p5x|*p^3aA|?euRFRR)uq&U_V!KmH004zRerKkgsVnp9&2@NE%dP()`veAlbt2(D*-)^%gCKwAeqy;$lGzd zewCv{yVfK+V07O2@^a5%bK0wcPoI~a?gbt0iCk_Jei*?nMVvjntWQ;4pN;%q zHA}_EnwPJ#9<{N5l12D%pWlvr?>~`EnJK6S*Tte?zG}sjr5eJNGy_GKYjk6DP&6&V zbkUs$MW)Oeyx5Y<{2OSl6gSVPHXnMF3YTliV-$mPDz3-pJfy$zodcu>ebz^bOGoxP zo7xf#?%&6G3kE4!sDj09^XokY=YBru^6p~uek;o`nW6K|o%&9l5+Iod!DtCIk0l~6VcuKCIWfiq#Rm^1qnd3TdW)NFmbge|W7#+g;J0wpC2#teWZ_fv!0nn2?vucmH zKJiKV56adL=aH$mAo_~H_kV4=2G|ooSGuBqMMeUiG~2MR(`3tMLMRku?nUXZo>k${ z#@qF@Uqx?gq8{Q(1RPNL!w_VGM%|{ zqRaFb1USF#iW=!X0p?}+GZt(7rYR^mm%P7Xc?ZZX48M90E-+8?)btFDD|wT5l)cP* zviz!!Ex|xwVA#DWFOYI%@W*DpS@csg)BHgHxA%%sgt@hUJ9YVtR8*u~~M+_>2 zPx#&I!G3g-a-Y}pAVrqeZ`~UbV!M$rdwn5f{aVtRV%{<=I*F{>NvuisoI_1yI`)Tr z`KVm_H>C0hpq@^cH!ucAZE%_wcum}m(j_W(jZ$kl%v||K?8FRKTV|xWrh!CWl6^Ey zB(h`}XhTecwtWnH%c|z?09>!yeOW8I-;ljL)#hXfzH@l+XTbb?XI>P!dk&x-!|AEt zpW14f&{u7vQ*L|SJVoN!p@}&wT^^w?8I4?LgDe=DUCuHmm|RH>YW7!I#dz>kCXX1^~ew(Ei4 zFGu_Ij&0POpfUGT8@DtH56+d#ygjF0SoXz2ls|2eB^pT9Oyob~jx9}}zE%2&*LVoO zgFK)qg#YFMFL0;Z`gz*1k3{vpO zuoY$qr`@BXIH~Tb{C1YUz5!?=&rsN0(U0pSw>A`ESp7 zu*OIf3@GKcu``m>k6G^u z^$rMBs&8>@u`KEdFWW?H3AG^akH}Pt_0;q1)X`n5L)4(H6ni0+H;kGoZxM>VgM;s9ZgUPF1RsMn)th^cEE$xJy@dUwYz9A}dV&^1D5FZ<#w{oisky2w| z|G{c8#&R;64Ss|B{d^q4AYMY$c_U9yrtop`o%^GzHzr{0C5sDTiL4C+_ZN!ZtNEbH zhD|DxsGg`iQm)x0D5Gg|XbR+i%ao|ptKt!rcHO4y;vyfDMe4nJw1=<2L!MVs09Zsn zSWUr=nCH+U5W!S&gYHh9qlBn9l;PXP?gxS6+yEu_NosTVi*w6ioM3dc4Lo6xs+ga5 zZ+j;6yi|`Kkf-(Cs?iL7h2*fj2>dFn?>US*r3A(gn zw%sdri<13QuX&qlH#zfm5UkWjBj47*-GS8|%ikP-nQe14;QcV1J;Fg)Id)b{rOvk?@1e06~Mnpl4k#G6beLEnxR6N5QJpI$$FDtzOMc)x8 zLv|pR7}Z9nT=L=`pNn##o`#nbd5)0VX;z#G3`&%H;P-@+m|{fQ0izdo2T8l^+!cuv zUv9?)Ivfjhz%% ztDBQe8;G-EK2SIrh}y)ER!D;((X!+}-z^a-%Okr1O60p6%PTDwubo?K{6RzRwB{|( z2wE=#W1M*X_oO7%`xJ|ctHwPo$JX6bpm7C4y}|r(21mgj`iDBL7fdJUz5FRAQFHudIp-`*0Qbm^T}4LFC7 z^trthuZY+6du8!`NsTrNEsp#R@!hhIh3y#S*?c8_yNl#2KmD!U!Y0OH@0Q$sbS|KVwO;L2R!geWz_0dvFu)o6dD@8^=dB6@X`IIY#aSPPz8y>nIVs% z1jqKDN`V?Q!>-J(Hp?M{9os_8FUZR7MV8x$OJ#T9anoyZ>Q!aSJ#UK>^S3tOVJDyT zo(37m>2vB}#OQu6HkSMXSEgMFOp_kAc|6^za%Cc`H z(v}(8E{asef2B-tz+XQ3Dd_}U>w2YXkvoYP7iBp%)zZCX2sX^4W?P7bGkUs%DyYqN+PUX%D5Ok1NZ%W#e}nkis%u$Yv_l zY%76_l@U&Ewi3o*Ek?Jjc6h#(?!87z8N(?#Z0Me^0LuQejoIi?>F?9@xM6qcM+)Yf ze?|CK5AS~9xJ%E0i@9g#lcbHmZ+jzpmVOX6w=nKLe|Mt;Zm@_G0b~CtW2_KEMIbh) z?VD$T+yD+q{0Jb)a{@IAb7OL2%rD3@Wk{ZyI1Ea|nX%KS?fEl^icigpw z!yTe2#bAHrSoPNw_q4|v3u*GEBh_z+m^4`qdc5*g|HT#_NGJ{gr}*IN!aH)|!w-D6 zd-q@6<$3sU_C{v!OTtU6+74Z8%M7?!flm8pHy)jw^1QDf`0fGXGbfYMY*pLvUMY?k|37Py>Ht=n1dnH2)Q1KvCJe`uQNX=fy8mCXAak8VI zUmAgkT!Qm#`-BY&SS(8gA&yr6yw!WDg6apuo|vj(cm<;)aQw&`^3%k@@fw4dK^lgG@$1xk8{i7 zvXuH5A|4+iPOTz69WTP+YS{O3qNg+y?mNYvY+q==lNtKSXqAfGMcB)55pPbSVsa=|A>$ynbi(Wv!RCQTBx5*vI?V zc?jW-z6imdpN3!85RaRlrfgEzy1RamtF3uuK7Ti7=%d)!eOJIT4umDtxLNlgif)Hr z&!YY7&VB?Dm>gkn7)|QK>5;UkEIR7$k5Za3Ba(R)gqZJ)a^~Km*r|0{*p|WsvTX>% znd3o42Roj;=iu@Nxw{1we-M4{>nw7C-VIiE3qS35K76G8Vm^37o~OJ zOnkiwRh31tC&Il%WmE;j9a~@4Iy`LUsdFbgwA}oTP(*T_9EE|4ZtR~ngJ3X-ykXe+ zz@~DTdxAx9H4ThJaHXr?QmV{OuuNtSbdugwsCBO6CUiLadGecAen1p`!1=uyol&f{ zCu6?Qv%^aARrY8u0S*CEo@j8=P~yYiJ$V>pM}VK9;b2NcTT=yWpKjSx*d%byP zJ!=U{5r5?&DqPdG{qgHF?w^jhs<6UtVe6$xJ8L4Dn6$obdpjCE1#Z|>2z)0U?vk;i z=xB~V@`>psR$i-Hzg4H``4`JN|IOqlc-b&Elc0UShd&~E^bGr_H zxJ*vVUey`yEe}q&TD66h$nO?Ufqa9=Jm!&&@J7Y$3?e8*Z$4{(Ez$p-3L1X(gjaHs z+Hd6_fr~u>UuT}SyPlt64@6;0m+2_YNp@Upcr*FscMD{t9ie$@lrt3H8 z&pQ^5eTLvOGQnT%9xpNADIGK|0SFTb8k(WtK9!%%;b{$c)4NeUXDge4^NkusC6$%%eWjl~<&0&zg5PTT?Qp|hGtgd+YRZ{nI)pSEj zsmt9&I^(4wo#|GOOPhyZqhgwlNeeWL3)*)(PA9nVMPrmK_gA7Dwi#=X)qK*#^JPD@2d_CWbwdbYI@$Q#U> zp{3p)Tfoi%Jt*+{C=KYSMjtZKEKPMr-QH#{kh`!BtdY@f#;a2yW?1pOMy~B? zK(R4)mH$D~izOJ#8i6vD!NUm~O{L0b5aksg76yfLjNvg&@^!EL`fy1F6lD!rRNhGel~JM0;WVcB_pg>hGZeso zMKFAd!d1HcGLQ?$yu?m>%18fP@)%ld1n?#a`^*9IZUfK`dg^psjc*jT1wW3w;=I4v zO}Xmxks>DUc2Zxzjf}vi65_uxw1vpYWxH&Z~%$vlS)v(1KI~u!R}Ps5vUfD1+(z)E7Oh zgq?Bx#^v~cY>{w^ocDT7b}wW)u(j`wI|8Ky{?+Jgy3t`mGSx;0nGw34=4bkaYwzYp z*0XBwIkG3B=C z$7)%1ifQds$jh&-)<21BIO+9`W>cBmVqL{f(l3Kr_r<`Ud*Ft85G>1ujIOuWgJpRf z?PZi+QRH6c!O;hPfDxX8>`Nb}m>xd>ngo2+8kWF9zrFt}!+j&$Pb|~xsNG^VGtmDq zl_*!u=+M4c+cy$Au<)c&#q~4$$9!|^IVXrT!^)d6r}?@BIHX;S=LuAF7{fM_ZJkAO+n-JZ~~`kf{Y zbr-6Zmw&h}B~*5XN7H;ticj$fq*Vw~qtIkkFv^y%{nVEk^(o?97QZ69wG$}}mlmCj zT?44iT&ZpIFi{x?Suw(qYb>?9Dqy^W1_j7EOzB9+~c(qr1D$Xqb zk$`x8^*lZLFne4_+SQ~5F@5W3J?1^?Wixsm+jPvM!gd{7?0x7nK6)Y;)G7yxuJuRN%Wrvr1 zIJ&+2?^wK}Ki4-?Q%*yi%qClhM^teEWfN5BHmNLw|M1zP8E@Vc@w2^#WQr)k12C`7 z#p}nA-2PK>mFM>;zwAptj}{ztlT^tA@|t9v(NI32tGJ8DNajXA3Fhv6V-Wmk)Xwl5 zMES|&K!%uLFnRBJYIOYfHEykh9TEbT?+GTVkyYH7GG*!oSc9U2&BsyUd(=M)eT zxV&nAG%*vj+gU!V+UT?Jl^AI3N`|peD>d6Oo7I>%?cha8^;<>l$YzfY==O=%{PsQh zP^PV6lp;Lhl=y_2#sHWXZ^Tu}=K|xAe>uPM-Eb~KF2Ey~OaA+Kc=0csA1F_1szt|C zL+9QjLD?EE|LP=1fBD+Y%4Qnq+QWAa_2pyy&;Lsc>h8=XME@{y)end)v#9PK6R~uQJmIeevKcLAju<-B{$mS9aXa5$|J*v+22Ho>W|C}nxEw*0ehEa zTd{vP8G3E$9fibPSTCh$q1czVEB<+u8L2)d38@O+z(l%#)$uVFA9-(~f7FYn_~=Pt z3LeesGK|(g8iE8E@GSc25rjTzno&cPha?J3^!zzlk)A?*{D;`dYte(vX{ zG+%G)@KZ^qNX8nZE(Z(0rl2=A{3$)xQGiOdBk%R_rOA_TAQxjg59=!PG2yAkw+$QJ ze-(z_WFY4E?HH`2%757|wJ(Dk{Np7@WdB~@vcJHAO}dN~7_l9)Z)yd%$Mh&PM`Z_1 z7m14oYc_(^#Z>A&}rm5rWVRd7o{cNXwNz=q$fIpZjXbUBe7_I7l(JE&h56^`#+a%(R*Nh<*AbV=?&N+R?!71$}Ah_{CAd{g#F@Vw}zlu zKIj5wCP@7M$VkM1i%-b4aOfp=bce_9$RAJ$Xwey4l;goCx8go8rr=XRIybFU zl^y_v+$=#klxa;)=I`7abB3V7eddgVpR81$n-A^|x63E%=seGs0~}bkrHDE|bG^^Y zgeU)Uizz(1&r^~XgY~{a90k%pXd}2>`I-G#{%vyzi5Lc1)W|6#62J>tpT`p$O+gG% z>=dP7M#k%|12zp(W6aVJQ-D6RWOcmxsfkkpa13K=skKg)o8M%aAtVLI=zv#PV*P|V zKfoSw*+}X~#`XBO`RAuf4UNe1lmTGS&GvZ)DbL59&d%M=%wLj~g%jQPvUl#xsffrT zQ-hs!B4Oo%ZC~#+X(rKOnv{yBfw|8B>MaGxU=Sa|WNu7DR4`9pB}!OGqtnwM5-Xq~ zS8|tCb(He?n?_5kI~7SI2KrWSt{s_SZclxs8T^w1f;2%Z%^%ep%3q7tuKoQ0VdN6S z5~I$4M9#pP2v+eV13W#ETrSs~SzoZe++xH34K}mLY6EF;>*`fOmX#Np{0P~0%Y~Uu ztH_K9YtQC$DDw?1&CPOs$%Hj>R8A~F_J}puN!v-Z*!CKSgvaB9SwpzzGBn8Jl=7$h zECYUi;bIE>#_j3o^>7Ic%02u!^XC$`qo*kwp}|K3DW5^8RQTzeZ=O00XMZ{JSgv)G z9ibyBP+X5+&ea93BFF4Jqe5wdk;h^#5L@dWFb(VOECE`=JY)q_zl#`38nJ)!jp&eNg$gtMiWLJ!YBK|_1IOXypiWYerxoJ^tvw&)+I3y z%9ag|QAwqN^b-M1-Yojln(KeYn1ej6VigIm9TMu;$l_(z!+G6E#c@{|-q1jg){y$( znAG7Li)-4RK_?TTR`aBBK=G=6P&m}_HFQC7wcWy)xW5=dCs$6FEi_ArdRz?8bT}9%Any`auG?DltGK*+|9~Q+W?5)s! zhs>_rWLoWM+c?gX;@f!X0;SiksWYl8rwDT+WCuxau&!~bY##i=9qw+5_+3(Qmn|Dj zRIq)C@@u3QlDBe})`JU2jo&P^?6tHNe67PjCovW;%B{-kSWU>eOgvw zJHYASyrWR2uFztmZJ*q3UOfDQkat+dDG_sh-krV&%y^$_!8<0;n$7ux++2Y50o3hX z2ti#IFbYKL%hO~P{}*}shJtw~-anI&;<2i+E0ne-pW>e!rI5b&$6%e=RN6NhP5GKL zt%0&ItC-k9FY&69#W-fpOQ$?`K`J@AE741nQo^w&){fb6>Tfy|&%2FApW4F@pG;Q& zMUMsTn$-@MU38NHsLgdXe}9bJF!adno5=tT;JQeFi!z6H(&x?=?e8oS6e^PQTk(vR z7L-)dZ-*SN4HZ=ecY+_^t7z^3*Ze51S5tD9Pz%4ucy9hXWOYZnJ39(9GO~O~I$rAq&;(ej$AilMd{OKOcr|CL=ca+_%IUf%dG^9OnAG_{g~UjNV0Y6PP4=R^zs zclw3AF9pJ9KEk}oqip~=C-H%D;1ycY(078tmGpN=@2pNYcB-kTFkLt{CMh;!f*b3r z9-mXghd_IS6Gc(D)ghQ*{G5v%Ssv;&H1Mhe=l?egnGf~*=zBO~D<5{qj$fs>TE9KJ zBAT~;v*zbG{KJvAVICcm@6y;)oa*SN6d5ZPitc+4t3!#eY({_3U9OmJdsQ)LX5ITcu^aHC=AzCp_OJFJhw`Q6YP{0wq00Xo zA)MPD;Smg#Z$qX8X9N!Rl|TAyIq(G*5b9fqF7pTr?V2@^$7)wZZK%|{cHV5oz&r8i zdork(6BM(sbUaTOTKWAMmla$UrrZ-5OR%ITg3A_!S8~z zrD(-HPpAck3V&3aC-9nyd+L1G?-#x1pIVdnst^2y(|`oI-5Jy4(_XIsLtBsE1~idAom z#fOky!~VVcr!1~#D0msA#f zRJ%R^@c=Npm`C0|RVnNQXH#b6xR|vFh#vhpC{@_@62M>BIv;>~GMS*aN*%FEZT~kE^TF6*y=&k}#QpO``LETVJ@J@Ga$MFMPCN!YWFbH_qoV<*lJb*>J(pHRfbF6Q??*v4&;9 znxs{|@0NVK+`)YI`G8`n>nDRD4X$uy&w+RIZCpLwnD>d|LsEcxa9bTGxudBBMo#<4 z%4QmTSU3USbpc2WG~*5yUIy`Z zjIk*8cE>>VO>@1O==>KEL&`>RXAs?(>i5Fp+)=y9+M1dH40ptYmJ7c+tp=Vp51k4| z&HJS&cZo8MD%c`qXgi)+eA|&03nwS8V`=~p%0j%c35&$v`F6^B~wV&E{t-Jn0nzBM#ZCzA2g$V0v7QJt+U z!4#`aK&9rkr+b&Td6%;EwAePT0eUkSHzzX^jKKjdLxB;1i=B5x7{#|$>`cX{RIF`+ zhh(hK&ZIYfn6K$M<2nmnF>Lzkn%*l*kJAf7#MmT@o3+^i26SjvM zZ3{Lx`%lj#r3MCVBsVvQPB!GUsPbMC*U(L4=);2_xWoN*C0s=Qzr~MKuWRgTxhxgq zFadmAJ_Mz()C~)TKX5TTUyYZ*Kmir}K3f-APOPO(!c}1qz2-&cFCs!~6sFwVdIfh3 z5V_c)&8?}wtG<5W+Kl8P)sTra{4Tt>Ihzv^s6w@cnbtwnNc$bXNz!HU4-Dbi-e3IM z9PB@6q1@C!2|^3W7Zqy}=0G7IR^f1&gach3_^f2hhUF z5J7RfiOm1rz&T0!qgYS4Pd}LEn`mnJchjIb?#w*REbjZNR-V`%!R-u(4Ip80<$gIIk9vB_(?2-O@S^ zS%RLbO#|m(9=Vx6nKWE~4c)YL7C5X5crHhvU!2!^39mi*rRQRWdo7hisc#Q>Wy2Ik z1JH=Z7mP@K9ZM4npicB)|NVsU(I?*4Uo+J=KK45bfsX%EkbWNs@sa|ftdpX&bWuNT zxwe&kJNHs4{F$4aV7m}Vks3f>UJpvg90|&p=kkB%w25FzdD-xvPUE|kV2R%lp$GiA z$%NXf_F`J+PkR_GC+xxM`1q+d%8u`LS>>PD@rmw}K9}zG$T9EZ$6AX&#BVWGjOgbT z`R|@Eb!X6C28ZXhvAoxg(->-O<-yxr+;|luRN$!Z{6~(g({RKt!f%r*^E>$czE2b! zj=dkzf556hQn}=&eRfSQ>7&8LYgF;z_RkuQYgP(=J)1N2u72(_gxH0rxla5IB(mW6D2fP}N z>@!LVCw;$Wuq|p(L3P|x|Bz*Zr@ z9s3_yu^8g21BLia$nq)Y`ztkIuUW@lp!B6gcw$Hu+=MCA>KOP06ibs}!vAby= zS)Z=L8_iBRvB5tCC@{x^LLS0e2XZR<QB<$z6~>E%^X^k7BKGaMovZmT4TRCtGH@ zEf1Wm+88&RXhRI#v_Zu0Ni_^(`*su*a%WREOXz|a5@wnrzafd!X^cbi-+hyZ97r5QTORUYb0d7iP0zDTrN?bjZg0?kLzRR0sM^tnRC8QKwlAC}go5zlXPqXd(QkpU8#jC8y4z0(5t_}Xa$C`8jt4v7 z6B!y_;K(|dkC94FvV-*1)#1VLMq)Sh!Y(bXZe;wv9!vYQ%ERy*%MQuBoWB?I+nF(f zK*19f_y(iZiSsS#i~xwxsJzejUyeG)PGCf&H1>&#R$>g+Jf&z3obgRWK&eO0ca_3t z)mf2-p~m8ax^czZccoK#H`593Q5|R>n%~tli?j+IGJbkYhElRfiW4{qHY(RXL%_a9 ztEJR>iP610(T~>usmUrIfLe8?&qch6B6|>(PclsSiP$y%a9J0tkIy9vXoSgwRW)iqkuk#!VuuRxzEtX_1^MpHb(6tQXQz-D_G zRao&OEs3{jM}Ybw;TpRJk_)FrH=h)IPfXJ?lnq19Q_vb(B2Tc%&w$@U@%X!oY{ zy(lm3T;B_1P*`2wY5edJXIh`G`J zoMwS74+cR?3{nB*orrGUP)lp(WETp^Xq>jc9PV9-B7SZ!CuYnP(QnE-sE!|&9!0sF zpN)@}vRNEJXUG(sjNoTd&=^P!&Qe2(tdYX{x&;UoTee{2;vdR6!6A*Szf7rIxY$pe>{LcdcuuodJWI%4=c&&OLa3 z*rXTmVz5sJz0E8LD_!FW5N$5o)Ynn|^@eI)zT}WVyj>5R)W_Kp_W8m6OKB zuOT`yD;Ljshc9r4n@ab$J}G=k*0bDQO$!M==~V*!nn_KcG)iFlsvPvzQlBo^=;wu; zu5Vupg<3N|>%nR5YCr+H_^4S0d-+#1p=0orlWoXb@0HlK@=50*?TXF6Q&T|(3_uGC zcb?p9iAlx6MFU3uw=pMjeN%EIFX{iPwH~5hsb|{+C0e_44HMydY*SCZ=E{e;j6IN7 z3i^yR)BYCWGi*Bq%>Y8#LT1Uap7*XLBDq-ew!?$hK2{w1v$Y;1=O)TqyqYV5I@P!j zXDc(&7jDe6<~gvVVgeEEbX4$ou=hBi_qZX|E6^vlJ;mx)#rTi2j>FPp?lUtGGqT3I zNw@B3$@pGETC1;!V}UOmIcy{)S~J`yFqLV$fN;zQLZ3sN4=VXo&=(_H@%`t?jl4g1 zZ1XYH(3+pkeZaJAPj@=0%87LIHvUNCrsH;MoTl6=yC^1hl4XN=cwh7pkGp))Vb{XQ z6oUx6+o$x;-$Tfc+5hg?n34@su6IaX@TZe*zam;{9jr`Eu81q@tG}p%I%ep25xPklFonO+U?hJstS0ris(?tXe&vFyoUd&_F-^`*YU>6`;xP>j=ZQ`hscRJ0|=|A_zEX(O>-7UyU z_3BOCqU%nDgplp6kgk+(RJp0i)6;XRu}YZx+KXp) zi$7mTWeGViq>EJE(>~sqXl)&J9wk`o4Fg|De&LRJz$wGU{+|kswEs^n#g*oKW*S-S zE^2|%XXs4zfYu2P&Q2b72Ij09n-BvHP;0LOUYeosr2OIsvr07ACAeS!la!5P`L9PD z7yTNJzk3h$VYp1cU-VwrN_nr+S!bHwQPpjNa(V&K1TKGJ6#)yCi}l7KWrG#3aH)WT zFi|~aoT_9Q0^%2m$9$s^)40LP$KC3Fk~4@ib;@WUoo63~Yy0Pw6WjQxws*=*RZ7kZ zFm9x<_6uSa$4OLgg;{Oi@*p8nzYC~|-jMjkbhx3$4!v+294o8!y)c<-2;gfe`T#%t zcURu`&auyFvN;v4IeyXyq~arag+fv(nJ+b1EbjIhL8OU!^xaG2^)0glEI9pL`ZtZ( z2(i-R9ghEftdB~+KHTNN9UYgk-d3(NMHHV0!E!v#n>J&GQNsRc%*@hbLwBK2bO&w6 zxZ8h~I;QX^vhJB><}L3DL@!gBca8m>p2Ghm;z3pVciNwZc4xG55L?GJl;BretRy92 zi|`nuym{7Qe=722?#9DBg8A~tnhLm^*-@CU^J`Kd-(8;KM)R}VQ5{o2q+F8!s?EZw zUmXM#gc}(iX}j1aV-r{Q`JEB{lr~ zfjl-wWN~T6P2VPD8nVKL1f5ZCnsOCrFHKydyU!) zvm5=8W}q~-n~texVX=Klg&oKP6qQ~XXcH?;@Q|QWOS-LB2J7J;?h(D1Trw#OSTdwQ+V}Do zXeh3nd{4fboQoI~j+R3T->#%>e@B@Efc*)lfFcB#pbx0kO=6#oY(yW zK*2-LZOAhZ!}VeURaNd`QXM9c*Ra`2`L$#$?QY$dRp4y~1U(~`x_%ziS~4`}iJznf;kHlJ_uGO*#V) z7gdXQ3vE)IxUeA*jdBwdAZxUzsLhOt^_ zm@}!QwPsDa+r)Rv`M|{Qo7Z@9)*CK8NPV1!AeHz{F{XdyWab|mX;m~06)h_H=Scd{6p7Jz2ia4?m++x>qn_J3>ee4BSKb zyn4d=RM>B;m%H(RCHUvrKG*h2z5uB?m^$Kq|Nddx#Xl#%nN)e#H27(FUrX3t1bH)N zkcT3N9te^45LlWt9a6)7Z>IKYE)qDpZMDmqw*pEy*y+(fYy4cziYa1LDL&#ixI}Fm zi)p-RKIsh&hE=U*Cmb$(N;p(RhXr57;nqJ@%;1D)rERC7_?TNGXUwyAqsxv8HAR3U zUuKTt&(32GZa+Sto;ZldX7P>(m7gKHR=Dsw2pwe-jWB%hW~_3HYG9O*dxv1H@y(T7 zXAU;K=lPma_NlJwpPRjVRi>mvqPX(h$k;_8VK}^PZSJeJC#3v{sO`TMW9rF%{kv%wgD;4=ziL`O(bi)2OAl#+|3@+o*?) zhmAv&SdH(NqwUFk7_HFDj6%k;&tZL^{PVc=EFZ~LF?QFqmAk8+H@^cVG~7L|?k!(> zRC#SJv#BmnZnW_UJO<;Z&J@psnjt~|D~#_dzzu7uPho7|t<#S-e0%pW5x@NS1>@Yw z-H3ms^FRCx7%D28ZajVDe&K>kRGcXan`J?2>e|n3DC|3LaAKRiy4nq<+!g2QE zC(ZKBE{P@$H;zrp1#+>_-tO$yh6t4K@!0hQX zgf^FGR`Ie|^isu5j}vtE=QZi^$!?(k!Hw!f2T@ zWMuOjK<^&-+j~k>J>!MW@p};Xlq3Hw_3n!oXz9w3E&y!2+*GM2KbTqbJ&fwb5mU5s zjVTzl3y~x0hARzL2q_MXLC;gfbA|fD-iaZ`(|G6!5ucNDjzVL zh*a{45(=1dS?;_6cbI}M&dINL$2Y^{bHCC)hVRundD9MNLj5E&ByO9YWE&LrQDvF` zJ(+2WEuo(UZyTKNKMbOD2|PY;R`kDY)3gY7WwZ=+wXIP0BFZ!Cij{4*c?-iC*C}e6 z_5%En9_JKO7c>czSX-5%r4m<`B;0b*Ie#Cb~>3al!B$n7fBDk{XUQbSdpdv)h@gVQDG=k0zBtz`810d}@0;PJ2Cdoe7&-a@n zY|LgI+m7eVq-bZsb28Q*_+e(sg=>`A0GL+lM{AL9c6AXU8CWO5f0V{1YD11Y|1R3OM&BJaPuSEq2-q?-uN)fcxawM(qkE`OJ;(u;YCUj}El zd?&M&zJPRQRy>-tM}bcxv! z0l(PDGx5cgco*lNN%$0_rEgBl!d?_G?MnTuo`#&_QlW!_{geSvR;mNGR0yv5f{wC> zhLw2^%M&O*?9^Wsb=c5fu=Vxu5S zC&^Ls4W~QjCDarHKQklPK6XW~nmZH-oEGlw=~lcm{AFvHMwyZP?o|3FlYuXk39A0wOFhXtXcWCs={Us}wrRT|Bg)WqHLhZX-q+*)Uqe3dQh!D+k#SFOjb%an%& z|0JrKZnbp>h;L~cCV^%Zggbo= ze)`}9OVNkFv<$bZL)=Iy?@td8ylK9M`Y-D=pP>v!{KT{}6ORDf&xcklP|Y~+{+Zhr z2M77;3Jho-#o8^D(vPj&)^@>zBso&WdL2)gYwO9O z(IL+AVj%QtjWo3tdctvbaMW6D8Fs{FfvMOyt7yGvdyszimHpTl@&GZaW%F@x|Wwu(yP-IUR&}#5A#g`-_a*pEav`t?)y9D z5ai)SUXk)%=bd#N-~TETOSX#JWf7Bw3Zm>LCYOG!{}Z5 z7r9n=Ez*+ju~f%^NUoKAxVC-9eRWHh@LJw{d2WZl%fjAevBLS%*eNgsH2_|k$kLTEc@n5Rj2h)N#Xa6~1;X7k; zBE4<-Y7Ey4)TvF%*xSY)NHU}K-`8MM+N)=@oyh|UboNtXxh%`pYO)iS(Tq7*Gx~Z} z7Pv?}|HI7`^?IQIQAsL)r{`YS%vqM2Mgq8G72G8^k$Pu^u4CBwWlB_x2d1c0tsJCT z_z=k7#j;6GOAP^FD+qMsfq1F&5%*Zg1Z{=~d#e{F&a$%Il}0<$21&zMTY6grvtuW7 zl})YupaBb_y9eZ?-IhgRw`cO{e9PUs&Y&I+-(RSyo4Pb%;heMpg~CycEvBaGk&EWhO{PKIKT)F+%_R_T z7~%8@n33HbE+L&%G@0#C_`_ggQA1Aaba}eQRFuy5?=xTq@mG?X2;-c;QZ(lMydb<} zzk#*VP53gb^RXozr8VTrG@j9jMwLs(I?H;+%&~hl=5Ml_gR~-!P7P( z7trfNn5QlYlPDby*YQ)|TEAgx{4h88ui!e_rmofCml(NFsF$@e^Ay2WUi1t_bD*MA zilb6%d{MOmUwO#A$F)*avC)(5zOiCNn*4F3Y}`{)u>pL%daqAsdw5=!MEQlTc*S0h z(F5mEh-cVPcHkIusUCeePQWfXyKbD8)jIxqJy1~@@YH_t{oUb5K{E=by{#u^_~GiC zzg%{ItKtPeZhvOq&vtxHa~*p;_Uivu2mhx~I4`vfkB@WiI&dQX`-y<}Uu9^?`;vM6 z_Wwg{v~Ni?!iMP>A2`y!_N?ZzP+MV2STr@AMKr>5C(X3 z;jZFbpb6PA0?bJKB$lC;!~g17v(_0%j!B}2N32A zk$2@isQ$<|vj?!|JN2zB7vV4tnP#b(u9oHxXtGJfL%C=odcUUVsiBS_HFAvmsqT{` zNHu)3i8?HXp9?41k z4o80n2z&sBKAWIU@zU!TO%$UT1qY5U$_X;lD4Ynx4VQc)yn&vd=-w-b}g(4{u-fzoMJ=maB zh`F}{e(V48Vhn)(%N=aZFCHnHzGjeety7RylS1p~&I2oh>%4tL!MbtVaJ&FN>ixC` zRZ<{5P$u$)a~5}WaTJ&a35K${l(Y|SM`B}}{xa9Ck&JaUW-B>4>7*LkneiGcMV7PH zLPydeKOJ>&4=a}GOdNTLV}s=SS+^k9%oR2+TU;0uXSB@n-K$41z#5QS`O0$)rFqaK zw6H!w@P)69+(UHAO5fd}Iw%`A7_x94;sPviL9!TWyOb5~CGA&#CYaxSyc`|E=zn@B z%iBxywIvJ`5%`cP^7DBiHUNRD!WCoyU>(vLcY!E3^RLu?ag;+kPG0L=-f?+6X$(8yaz@bJ-KgZo&QU_s?X=+*ni zJZ>0wiILdG!db=onY+@2`r*~~dUUhk!Tv}3nZ7BD-Ick?59v6^Xk@?LvngwvNsV?! zkvsNhf8*a;Pf6hL?TtU`kx)=BR1~Q>??|1p*$ISyIi+@J3?IkPW(pIEKZ`*@NBS-Ao^2w-9xkPT7%gm`5JgM5zOV%MXDExI@ z5+DhRVxqN10LgH)xbWwM;@PyMU}3q>>M>wLB}tqa?|52VEaa^S?+)doZ`^{jJ}3fl zr6d1%(!Zr32YR1VxzeK^X-<}C?iutErI5>w*N>|s!DDW-EJBaN(R|Jj1s#x5|B@8n z&9sEt*oU1{e?9SqPs}%%W*x7l??ttrO%C1Ta$WgeUTfpP)<^wJNKrH(=ksvs;I-$bbXkr^z^I-1Ibo#c+wcn6)@T)1BU06FR~I$O0! zSz=kiFpEJSa6O%&9?W{XP{lT-rtl)=waAaQVf2plk5&-Ovmo{7{hje7yBkaH0pGn9 zc8*LWZ_ciVc3nb z+2)T&TsjQ~yJO)GE}=G(Zr128N@%RP=&TUq)lgiY^t!+-CU3UZe9%6SD1voF2o|Eu zMj7h)W_{*XMX)Y@8`FgpP*Ux1R8s=^A&QHhq6jPpm6q#|<36OCS$nA#F($VZ9ix&yEA z!!M`ej#fs(^A!>};Idm%2l!?9R@=j6_r{*a7xZfkX$?4hk)G8sh{Wu}Y$JRd5qR*2 z8 zRZT;|xs<5_p*^>)Bv=8GK?SozOxe^C$$gIHEOAfu;O!Yw*_uSNyy5%IFmC@-=IscX zoMA1X#x*iij*0&6@qHRpeZt%3h89Ll5m5AxM3{}G0*pK-*y#M8JImr&OvQI5yIsvp z%ilFjuT$~-eoJ67qryoObgkaP+EW#62*AXVzu4M0c)nn$DMZp0{jx5g#i(rR{S+qH zi^!ldd|M^OTOkQf7+66XY}LN1oEor|XNq^v{3NK!vPo`e1WYgKza)GS!@U`l(kZ2j zk0w-(KDtqS-y;NaGfV6?3N9)h{Y$Q|H;!D=Z$WXcQMlesO0g!r*J-Z2;CgZ$ufu9M$p z!-{9fkcZ*90dn}3qU=|N=z2j-HZyP5XKfFAMnX2R*MVZvBCuJAsIZu7nkas0_BFqj z=dOniW{(-_IkNH%0IS3oJ+>juVSjs?K#F)(f2Hf}+GVqQ8RMrkp2lErRdHEL6F^`9xn&r(!&g~Y*l z>k?21MTsXz6YP=U`g??K_z1T!5Q$y6lo1wTA``5bbuD#$Pv1*u8Y(RsjoHY@%LIiA zin!4{V)F4Am7h&U;L)5(=_Ck#C01;|@PimbmW%o*ba?H)$0I|*$Xi@ozhZtoXySbZ zDE{uj%izYusBn*-Mh5c80+J?AdcEsmxY`R$Wrn8ROfsVSdrV&R5O=4^W{UdM+tD8K zTJQ}kYphvz7oB=MSDZXpKqxXA9{dMmKFD6<;;cjPd6qmiZjualn*N$S>Q0;);*hF| zF!2qS&xHQofDtgv2aSU_Bd>8Ac1|ra8VniW@T-!XKFQ+{CM^47?76s3?zP1#;px}q zXw3qok7*%VB26@PU+=oggYeYk0urR=i|{8i1=WX00_U^sJIiLzxKYM^rigr61?YP% z$(sl*O_W(lW?}LdW`t(16GinmHyUGl{xa6juUXRPUPqWdVlb=a+ak zzFd~kXG6Mg|FozX&<=9_k4!{Wam1#A9(;Iq)&zb3TqcwAaq{(PkQ$VUL0eC5jx9I% zCAKHqO)xAaBW71Ym(Zotv{zWzWRvO_G`dEH)?k(9l$6G89&S|FAh)ivl_B-p#zR~p zri9?>;I6vT>TGQToOigRLqNvP{iP?0n*u9>PM!wyi+1Gv~@{YT1#ik6F+(5pTYfhTk?=&U&z+B(1Qeq|MQxkp+b3_FuPn<8Bj zFE5X-zPFwqSZ)l4o&JApy>~R*5BT>TL5+S(OI5X2HK^TT#;jI}ksvW@cW5j2-h}Ev zt;8m18#1icCT2?&Eh(<>WMeP9O7r+o zY4=Dd%&F-l^=N-T?gVOWG|Z@Vvd;dKdGzqK?flVHCHiq`V7J`LO@)Rv4@BtR1tKwF z0+=^G5{w#QarpagK4C>PjHIh1hhA5ST6?7qU-}0~_2B#3P~n+`wNm*WKN$*c>#u=> zu+UPi$p(*lfkzL+JUWe4)%~SS*J@K^5yxWir5FxZ7ADt9a{a%(2uO7jYT^;d?#oMz zEw!w(1RhO>UMNju^XE)o!S_>Kk^Vr~9{mF0J^cE*MG;*w{I-2*LqIggZ6@Fwc4x9t zz3#OOKji4wkY~>Rn^5 zJ+cKk)gI}txqrWV{qQXh{n@qmMbT*C*{~LV<;j@Kok^!ZliiBd;i_5VDQjua3-IaR#?gJe$Yj!8;+^ z@Q~(6mwQ-+(!}YH@sQ)V2C?7!Z~OmH=GRu9u=TA4?>*kna~nGsc|)X!9KW?#WD88T zRrdS_U8TCW`_an2Q~gH{p1n-B@=pq~O|qRkxFW1#F#=H_Q}w`@369(?;g_QwX4DYfoy3`_Tv03V7e-yc#?8q)NKAdyUfdZ4(m#J>Y%i( zo3)Z_HRDmj@UD!iYuD0+)bgN)V$0h?1kH{sM!Co>J$0E(x*pmn$Dv&OLsj%G$seJ^ za~5!VMRMcbS*OXyjK%+4BL1IU!>E14c=0tI&R0XzK)_P?h1DpB><+(3*k=Y9H(}W5 zoTAZ7(pW$N)rhY@i*n+^&b`W%U2tyZTgpSWaG;wEJJrae*U|geb4A*V%L6pBd1K1B^FQ7SlM}6+;m+FDEsA5LDd|`3wQM<+ zxjgP^FC!dg9^&PhpTm@z{FHQ_)muU~LPqIpH`%?GFj@iLg-}i-O}%WsmLfxe&m)aU zgZW>$P~H&b>~ANU-ju~}#~X6BY(COPY2L<*@W~`DLoX@M@nV=jlxbZ@6B=4Bw+{KX zjs%GN^I4C*bAVqI`uBhVcE5W$>bnH00-l)b4Q_*fjZI($DwKGH!4#cMEl>mD-wglEcw}OLhP+bjQI%4I);@$ zAyJsZi_4)GH=sATVEW2zYG(O%^BwKPp(z3Og25{&O$g-K&_ zhEW^?d^$pgt$X8gZl)7oA|+?MCQDWbW+ zV-jO(Ng96RWeez;NXRw$VyGGJsN|a%&O3?8HV{-3$-wE4Y8sVO9HEM<*+$vsSg4n$ z_*IL|4wgJ0Ytc-mbP(VCHXeYt57{J=HA7nvrc3z6K#jcoYxv#bUuUHrNR=IHr7|aq z*vLlQ^2+YU1M{G{3Uy|rn$C}tOo)H!+NAcklWjpc3JXi_>I_t}AoIsI8Lym|Lwf5! z!B#8Eb@p=(9o-b(8dcw?-8!kWo70LJB$JhMR!u9(3BQhRgo$#&N%I{Sc9uDDS$a|@ zOH_B7KTucmRIhl|Vz+(bc<^+;aDti(fQIk?7SdBb={RNgIHWe6`X5o7j`1fuYiEm9 zXWw?$nhBa`2XZTngu^M8qcQ*gnLH-L8c*Vnbi<(ROYPO}dfE*P$_yXVd-sX~{bc`U zu`8%07Kb6--B4ZI^|9rbyQ>56;Ik@vfEEscGcQk(A%DGVXg|a+!A} z)=HIkQl8rFYWaMAP_A|Bp(K){;|7ObHk~uMhZ*&amF8@Rx7g*;fx}dBPJk!Ja525* z_RO$M6&Ny7%`6=Ci+>&Avw0E2BKP;TGjBws_{!>=neH8*+%A3hx#8DYH96~QDPyu< z@NNDym7SludQ_nskL4KE)Snz}D-sD*#O5Yp1*`t+*=qHtnc$*zy?7phvGlc`BR_r({EglaJ=N#J!6<)SOX=J3q%HUTcP;M2K5$W$wXH0qh z8y2{zhL`VA-jZs(<=_9YjiFx*Fpfoewf4F8;Zn z+6G7%K`e|6>Pp(FwqyeFR{hYjRKptQmLvDjJorrqbROK?g}@z$zjsM4DVpFLVH}tK ze4f58&bh|$H50F61s^-tju9J{I6!1c`0{Ola%X*G5~jSM7?l3}X3@ifza|X^x@slc zaBcYxLTf;wMXpmz!=dHb*BRH@<3L4*YD$e`tjn)RX2o>kE7zoW{GAy7r7tBbhj2ZEE?w9yX>|0Y`&E0^n83iDbQYoFWLWm zHRW}?Ujhh2XHo?;1)McBobF2nAB~mL)FpmYN5VkY>_aaE1Z`ESi(K$+TFDrbk^OqK zXHcZKh+jTHFqA%~mnJuB%l+oIozO7dmCNIJZ}A9|dD(k13H_8EYr_dCzky~tRa!f` zhuASD5p0BxKFXi=?-@AOvq`Gz+mg_^WvBmpwS&4w+ps87n(!2$R!;ywH+sqv-T_G3 z0P`EGg~#MfAO9{t0TnvY<4G6Yj_%t}^YZeu<^Uj%>iDUTF1Uy8>WlN)gT3p1vnZ>q z%lo2#WAC=SxV_<~n45s-SlONV&|-VIyF66-?O@ycY}#yN>;H}u>)v6^L4L^0+j*f| zER3pEhwX{7G#7a@vI*A*cy*R=M@_*<=x~=Py>5vu5EjVQK5;wj4b#HQx&BLRROG&> z;C+?L3-C)Vua6&)JW0u(3MF=T3`KQCcQNO^;G{WvzukVaQ}$**=^r5H-+xoD7YQ1O zjYgjovd*)V_-|{ii*wB&2Jr~Iix!3~s8t!n1z*)OCceNUD3Vp^52ZIFa5&1j`(n6h zpt1D}*z9%y6(BtlIRmMzD~>H-#HL&6qMfb})VZPxXb4)Bbmr4w6)Tzjif6;p)jR=o zyaJv3L8~h3d65lUCXC6<9T*Apcb%(ncPhSmW|AC2g$)w$T{Q`B|CkkP zpdj#dkn$eX;P&bP9>ifm>IlpR7_k|C!n8}IY^RZY{{Zl}&_*}<7q#b}h|n(QEqaqG zOrC6&iUjWA%@4}$EzOw5BlROq%$oLFNna57EpIwZb9TwsMW9|phS|jn5X)mYAj|X@ z*F|!^(;<8L77t(1h=7;peeo)jkN2-Ymmrf8YEd0t{H`V4iw;~c1_0inPp_pJ54bOq zS`|hbU|^}(ZfQanjs$YQVZtK9*VSMlUoXC*zjtH(ec55kc4oSTNk0$o4af@LeowOX zjb+6QvHfk0F$YHX!FP*c|@5bl1Ivva@F3KIPG=I~&TqfcS~112*%l5>zdS!*gG~G8EGc&@qxi zch}qjYMD`c*0`xAhKnax9JaHB!i8&@d=6=)4A7=>&6CrF-89XUfm8jy#nSK-rK7#G z{oGymvy-!`@ROdiuG7=CGs-D@z~NB%(b{h5ndJU<>F$tbQV7tBK13Wc?vN)!dqUA+ zhoT;fEJ7iNsk4;!G&!5L)nK%_(0F5|f6-c?-~_OFe7$}gh#hYVeBz$IVqu=#^|1Qp z?&L2GlJj+1=dO<5vooZWGVnb({n>oAbme(1{CVp#+Ge+zpC2tm6?VADzsAX{r)4_} z_#ry3>E(@517)!%tT~#FJ|S}&OM*5KK0e~NU&?*+&+EM-8DLoLT?uYoB-ywfNS z`LRZ)1>31Oac;`}eK5#)3>VcwX>-APghU>)Xf!-bJ>_~g7|Y^M6Fu{z&vp$p-rqaD zdZ@3Z>Nv&bY$rEh_cm642ANtK_TT*K19#rL+eNKHIRy_Z7pHoKCC#l_wfX|^uch>m zGAxvO}@*#G~}f!e#A4vf?q;J#wm(%%gzSx z{JiN4h`eq^yv6mbL0gfHABy?s!|)szB49hNRtaK?#V_w={jL1S9m|QtI*wh>w|q(R zaV37szm1j6U}UPy0H^U?|JH)NUGE5yUF=Ur+F}gFMocQ5zg@0Br-du1L?%9E_b)X6 zeOnC{k%}0bSOR>?oPN?TPkw~h&zy-tz9H1xninbP$F_`Jep?#5~C7CfeM2ox>%ejE(n1YOs7Ddt>tAzQiQ zkdqH-1g>~?Ra@Y+ioIfMFa7={uN{b>>;i&k0TI1d4AVSIo(Mg$b&#lRJ&F?IxRsx& zoneQM$tf6RHk;35)Y9j17I@w}@n1vrg2TJXl)~vHch+dCgw&wb4J~o{L$IsubF%*d zX$&wvTI2Oy*7kBpXSuV!riq+txQbAX&+91eMKNIv7c?!y)SqwuPtr49+H8i6>VGJ( zr|eL?30XCCw~kJ5WMpLukQ8fSsxUbuFrl`x5q~VS@THAs#i1uNYczVw_=K~`cb&eV zSgXyMy#yew@IeWE?TEG2q(+g0sF34-aUrHKafrG=c`PosJ68=dvRH&w@$D|Ln^Tz+ zxrLV`WZJg4N`?nyAkxUT`cI>``)Fkrh_i9y+M9nsNy?MN**O+TR87wKiPk3MOSH}j zbb6z`Swb{7#uH9V_2&&R-=B=O?QU{yN7*iWsuia<{Z%ZTaG_SMmD^Hx!Rr-HZD6r= z*ZayEU8&Q-R-Y6?V}3h!j=4n5l(#4NcHsH=EwPF?YQnQ4KbH;f(?*kx^8Y(M{GWv6 z8MU{>_47G@7qi<0_;UDvVmq_V+$rP@X)_vA?xVe>_YU>f-E$g<<2%e%+h3d*J+&^Z zFb8})!!f_gZ1dep*As82tbD{}tSkM#$(%1w0XAcnytjzIWB}mbSNpL}{-F`D27o>z zzonI0f#w&sCT@tBN}jo)mg%a2n#2^SWB=(Y9D*M}ETu9K1`W~F=zh8n0u2R--^X9z zco^r=fj4^Jrc^c-V;FL?BR{Tx)r+1VcrC|noo-lRv;%Iuy<(?9+1(I*s~R7oC~05+y!Z8j_QQNA|K-lvk^A% zwE#iiKn>EMgnE7y#v5GwFm>KpGTe^i>Or4L$?E);R{o8P^tk}iKHS8RU}hgXFTIz{ zWdwxjs|UiD)Lx~0+cNN`ENSc&^iR3R;J|o&TY29)R#RvT8s&`ScM`jgM_MSwuW;7)T6QtM_h zDN+v&#(4Gdh8YQ9yzwCCv1>l$_|)rVK+GQzkzO zc!l_sH{!Jf5RebHxwVKF?t?wKWN1aXtY8C$-i97Re8EPA+&=7iW#$6!OnnEI{#rPR zX!MN{$aYRgd2Wy3fTnn$n+9fNV=lTbS|8Ci6&J(Usw4Ws z>Z*g}#T!AlWyNc;HY3s7W|svC#s$MV#^m#&Njw1l^SwQfT)&i=zQE;>5`##HjzVkj zOU!FXV?VmykV7Mod)210nP5zOCt#-<}LU+~Ld}g;*obH;4=DNwvXu#uC;ZH z8S@>W>8YyMc>Q3=4+dqpVMjQ9Mp!Tl)@Y z2_x1myBZy7fWjB<&Yrr8UkN{{`8BQ){M=qW*rgN@ELU?Znz+WZd|*ooWH$URC4Azu zlb&Lu{%c0)3zZIg7HFOFPjIJuA%@BU+$`oJ>aA06SjriUq#~ZO_H3x~2-?hnX7;*W z@ZbD@M&Pr^sUyWFg)4oX8>wVJ64vJSFF&;3hzhZqt^j|(=*Q^N)>~5L=HosJRo_tC z`NC{J?Z5OVvI1_fv>yI=&Wx29DsdV%ott3 zlxM;fU+`bSh@UxDB=lcug%+fcb7VzNQV-^5n@6YGrt;Cjqji5vh*B=uk z>C-TRAOAlwOkLAizr!3;(XZg-bMTrb=G?$_2oc}e-zIu}@8*SNP88|ixVR{5m2!bgN2$a{{ISpXl0?6{kQ+m? zIX$8q2nT$(ZF#v%LT(KJ(OLdXT#njNKD4r(;p~Tw8T@7xVPt)8uIku77O$r8#>*koKpAxuGT>9&%~;fo}Eqj4OA5>EYszQd8>z({|v& z4?*>phhsDI<~D~vSJ7d0X2#Ez^qlCMk5?Am3|SsBw!lo=Mvpexq`^9mQ?3-Uwm5eW z`LRo_GARaNcfk5hARuTvvz1~^KHDzdQctO+J8@tnz-i2m0ZZ;|Fjr#V?l`8}FX6;D z%NkJhsqZCgztG?4@-!Dp-R~-&!4PXYRN;4)|Hy8(ZPiPb61X(rG;>Q(# z&C!0=%C0fLGn5Da849j(8E*|kZyso7ye^{X?j6jvejGb83!(j=PUZg_gcvMsPL!4D zJLl&T>aUkZ4?_GD#JafT%1TT6pO6`Hl0!bZ?K%2$!J5Uiy0&kqyIz}r`QOv713nz~ z1t9YU=kkL$C2}R=D0E>DLmtY^yVh;oBR_N2V`(ifd9bKOeH85w!hF}WMHFj(P2Y_C zrY7e~QVt#QQ)zQ_>x9X}iXo))Uj?8aiPkM-FeXuonH62n$rq=%WOsN2Vdz-*9Cg9k zePywJBcSl_Psn%lv?YcPw>Kc`DM?IKTvu6vcCS5?-)&6Ua^cl2t3I#gnI#bLu?m`#i_)k-cFqX29B}1o{QG{pyb$H*yYH&nLISYkJvGzCDXGl7ia3qMh8?C3ML znO00D9n&mJYh`f}&8DjcJ=g#^Bv#lAKm|nqB>p|vxC)j*nZ4;~$W!q+28uXGxxwcv&9QJ9ldQ8O zeu+UT(v{>F(a-qWlH-~QrcmFtkqM$$*4G0Io`{7-|L#7 z1v3R26e41-5FxQDp4|SysMuBFLZ)@lmS5^{>Y;sULbXUU-dl=Cj8 z3I!xa*!VWsU21*SsAj7VmNO6OV0D+w;qG4s=YzJH`^B&BHDk2W3Z#RM5L0J0Tvw(* zV$&I|17!wMS?bJ6f3B%%i0=*06!x!fmMYIvoR@4$3BGg?2P(;d5*#6pqLANNq2J%T z#JRBjPqCRTm#$tb6hTp3anqojaUS?r?ts3=(N%@@#S2u<9(^0G#p;PEpHEN4*SF^< zPE#u=?zA2t42269{{vdzUPIx}I06po-@;kcPUh*8fx!Di&i~Q5O`IOmlMX^>D{eIElpVT#g7*gks`Wk?G@zkAK;PlmLw27_rsr#ct^qudjrW>%#95@h+-ODpXllYe(LyQij`ij8=aN zc4=00xe0SOaYS|MUbA~oB`*AWA~t|6dwOiJCztz4-+y#<$}^~W@g1mJ(Bt6y=y{YV z+T4&|`pO5>fz@L+sicX;e~!VH0d1Xbw)rpoDR#*`)UL93%>`UsR*oei1Y9Z$cHMU) zv#Bnel5^Rv@-Axnb5@#i=p~lRJyVjagjm(UUkxaQyw;5ipb5p9iV@^qkIRk4%DBua zjw;qaFxO9I)dK4kzXh`=9NX|jmQ|Y?UuzU=nXf~X8)BeV=~ zZzmia9z6sboS6#aFG<=mmOt^{7f-w%8r=x0(15a)uaXE`Q@=~vYeacIK8 zz_%%coal(zDv~h+i3#WgfE|fmcp{zP_QGaJO=iRj>8UBO0r7QEfF#f#`y|O5?1?*b%)^%@?V8#JF?pmpo?(B`_@+)Q8{avple zD86&77Q?%;LX7p>{pA=nf)caQZ%@EhKf`733aLFI`w20Cv6Z30@xu{}c$cBw2UXt7 z_f^a0lLe^WBT#IOiv@E|$vEhS*>k12;Go?U1Kx%w#?9}9&a{>m6LvS!!oP4f?b zdT7JI_T!R&Eow0Ym%|Q#F@s9olES$3g4S1FTM)m~wyzE!P&hS}ukLaU(f9WBxY7NG8V4Ks8NCqA=QTKmF}Hg;au zDz>ZtYc6N?YBB^NGijU*lPssRubatBo1z(zu&zhC^f0tLpfW05}11&?3zeg01`v+ERS>}`3E#b11fDf`n4rG!>Y z>g@FRCdrpXl`$J}`cMxo^2}L=NZ>{FIxKF_xrr{`Qla1Z2LXA>A!tJzX90Rie>FL5 z1pM-oYoQ|4IXz?RK`8)vT*XKzP@cm%<*Ji^2q zfG9^n;Q*6zSDC#^m!(%(ZA^_O0bdRkN?*$Xd6}AZcghR_AH@13rjog42PS6kbNQHp z^&p?TB&xH#=D7ogn3dT~*{mR}s|>fy=6!?&-p97Y`&CanCWr8B7a7^>wRW?uR)fZ$ABJ zUtwUjLWHcrzp{t?P*1~>*!8pIH@CApd|FVS9S+j;ZoL6SG35Yj4R=&p=v$K>!u5SJ z(bERnRua>kygTJ3n#b?4N$(5t4J`_@B!SKbndo_)izvqQW4#Av4Ekow2(xLw6qULa zIflY`F-ELpQX+|6dUNJ=0{{(Wd6jw53BLrOxGH7wRiFAD9O{$aWwur(DG6rbKAh^nmPm5cH|Bhv z^FA@842}SkyD>6ox7u`V5oh3grnFDQ4z{aoS|-&qcf+AabODs2R-**{WA;a7q17q> zBa?>>nEgFG|Jr0s-8e5)c~vEsl=PN8`kY!)x4!%6$Wq0k%LVezS4GBmj}!iI7a#qM z9&}o`>O3BtH{d++I+QSZ<8oV?K1+KId|Xng880t*h`wlKVvdzHxl9oSs_f zzdoZ(?fHS_WJ~mS$f9z~M=z6_Eik?Qa(GwbNkFZZO`oSl*NmbaxRX2HxoLBUXrR6j zTZF!-Zyv}dg&jN#98gb5CTNGsN5&X0Luva@;vdEMBcd3mq*& zFaT80&>+eTy0{~lKv4zsS<8mM{=Ud#KvhC4jRSIRrWXZwzrvB*pd2?*Tr~CcL*b%a(;4G{ifGPh+|HWY$x+i8r$sg8FyTy?wk>qVcxy-K z=Z~{D;BkAJT=@Ry6E>y(HN^1DY1k2MNMnCnK||sg`m?nuY@@$1Om`_7H{d@3$kEei z07-zVDSO#xq9t@FWt@TX>7`q{3_=6+-OaAyq!S@Xt;ObaIgyHcyS-cHsIuM1|9+a{88hpQUmHF5d^QGHX|UVP>Qb|7w)c z(^M$?ie0Am?)tg}ysH~bx@;<5KphaPMcn%}(RY<8iHooKIr;W-pL7>}A&j)W?r0oW z=;RB33ed)7aotoAaQ%HTZb;W~T=-7s(pMzI$38uy{PIk608)FdL}GEa0F*nzP(6YP zLBmK;(+UH1qLqb`OiKhFkq2j&rH=vAnJ#!H1bgHLQy&zvpF7QcHN^NHU!GBMVN9lhJs&by&_G($6xbb{kL~Yf$_^9Chyh5luuMx z>?AidZb1S>0~tft?to?dv-b8{S+Z;o{~W0bw`0b=!!|m^SHHp-Q`jSvhBB_D`LA;2 z;HCVwz-E=PLn|UqIpyNrBc5VEuxcNE9ql`*dL9=EsD^azuByEv`}0>^xL%#KIqZ0} zms`;g98a#Gbi3MApM0VH)uy>nG^h&fj~J-^}VUwZS=Zntgasuu+93QWaWnvP}_2FMo8a?x!Nd6Vkk$gV{`sJJLL z2bi4$Xk*Hm4KtmCZf=<7e1E`YDyntQ>|E(s*sHX4O98OQuR&P`>92}KRHlHDnTIph zO8+douT*8*{hlT73`@Dt${ed)cK^##b&ZtCR!`{^s8sFCr?lVmc-IqK{s(5r*GHS_ zj}Rc6g)IMnRsvdQelmTJb`}DHef(SS@v@7!n6ZUb8UTugs7?im%*oFg&@GZrP65)7iz`-W~(3pnJM&7d~@eh=GvyC=q`Qx?57HwhV%VU+IJ zsJJ|tOzSf?q%c00;Ypu9G-GYEP;RFfr@5JKI>~&2M3pa_xqaG;tK$@VSd{S;em$VL6eTLZK*rjn3F3AQfg&pu~$aop&_ zAn~s?rHA4@7;1a;?-UZyhasg?XFAA^^e>-UcE$A3eR92osPtV7Qy_tr3@E z*eMYK@l|-O2mbmLs6iJ=Nr=NOrT@qPs^3M>aK;cO3T3J0I;Otcgn_IE*p!~=r6{>7 z6nD#@P3r8qpg^Mm=9F|OFNZOEJN4ty2eC>}QVk%vJZRJb8+Kd^6U24WTIMC;ei_NzZmuwPq81b(OXJ#)Wu_!pmN!Tbn_8d||okx(R zmp%aHBFLCrA~LTYW?0Rr=){ahqP0dvvzU?yU*8DxSqwmXCDNapT)c=suF5@f`ev)V zH+BD(W_~k)aZrmt=TA+X!a_gQisRagFC60#ggys47rUJhqO9tNp2dl zV8EYySsV3`D~kn?NV*dTg-9~U4IF^j6M$fy@=pP-{FdJ(crHg^^d)3+KIhm!w<$1q zqFbAg;&*Bo4cr3l`Nvx6Y{mhavfMjNiTCF} zwlN)rZb7oQ*1Gbys$cbCx#JDQR$4^!Kiix@Q(&iZY2rnlQh~CLI-8IbewF5@aCFh* z!hec!L_<}@$*mg)2(O+0zA)=0g?HGARQknk_gp7gm#)n+X3j!*mpKnE@cp36C5j73W(M)bw0{R`ZpcZQy=aqJ;Sez zppzZB@CU-DrMOI{+|%!_XB@8%srF}XXW9*`rQr<9CyR33Yuhi~KKCaZz>+>4%6!|L z5WZ$H4bdR($>j_?3sZt6!zS*ut*UZC*D{{(9jffeOCl#ic78O9GmB185`b_}ZsR$_ z(6%V@OTz;xDJ}V&_GH!O#7Ud+kMtl>oFA?Eij;C)d&w&G#n7&MbzyJ>>_|^V;Ky*( zt@?%5`(4y`AE;(D4y!-4Gq`+|VRHjH4e(fte(qd-6*P7*WB$uAKk$8PAWf(Y_W0B> zIA|X15j`SAE&JqbSkX13!ZYbrw>T(;8b5DGNyGK#z~e%GG<}C3BYN0NhvCK4(YF=J z1>5Si%&m2E3c#>T7>Hk}qD(@9@KrmBcm>J#YO<%aic5L$<-35t~Pb ziET*%Xi&YNY(Y2ensvh9g(7tbKGm?wInj!7lF3Gdm~3_P1IgyUweK5)W#*9zlRlXL znv(&S;|be8g$omIl6V9OsR&wT{-ej%OCkDdz9m@>zxC7|O$!a;bhL7ko>yi(PZPPQ zGXm+rU)I8K!APT`k8~^z18$j-Ee)WBZ?@v^GvjnVqsxn4V8yOrpssu`?R=M71_RAHU491WCh&PMm=V-uz`fG3-yEl8{0=@e-ucc>swl5?ZN1FEP zuPUDu8++*!^^D907GWB50Mjl(!&35-H=rDLS^KXcXzkkmelKFt+}+{T>5N#vr3E%s z&jo_OxOX$h>L@H`F;AfRSw--SEVUkqE&gTaR!BtC{+4C=^te$o%7=DW!7jmi>aJGh zZHgt#jV|NQRQ&|${w9D0E>{*E)F~tRb-LaDj>;-yN*z6e8;IU0-B6R**-oKv7x79z ze@vhs25lTVv*ZXSYgE2VNQ|Fg5gDs@J*Yh}_YnB`&}zAJ&W0SqC(dKmB4u&u^L$d7 zwtQGhKSe=oWln^@Df;U16$%Z+n+Ek#)fdDBnnftIp=)%M*GI z<6Y_h#w`BtlfYF<@q?wGZUS~676$(baUc4XvEi`E9+|C~|3zi?R>%J4vIGKu1H_E@ zdYLEtDG{P9IfU-teBC=*qW8raNE!Rt$*9bPdB{cNV4j;6!LI80u@(TKDSp9%NTkt-^+TB>-c0?(gHs>&Sd>u+v?^P0xc|fJq@?sQAgZG4|D$3h;l3Y6_YvLC5q4 z4hB%aji@OWA>3(j(A?Y7P=3jFW|IfE0Y^y6EE)W#gFQ+aEB|%VyI{Gi%>Q(Kq6?GPfM5+ z$$$pf?j)n=8N5|0cT(_E58JhYt@=(Iv7WXqRpPY;b^8`sPP;$}DM)Wh0oR8dTz)G;GAujt^S>`7$io&bcD#egy zqs?|3VFVAQ*DzDJ7*HU&sadwxxmWaMN+dK>zMWRnZU2n0p?u(}s!3-c!N6X}wLMuk z7I2)~99m8Wj>IyJ{zA!i-biFfjl~<;bSt#jFf$ONeKGEx8U7qzCtv2O1=QD-*v_0} zXKEx1P!?6GiJBl$m?46(*`r2M}DMVI8j4q+ctv zYwb{C=PY^JO?IwHASi@Iov!H1SVIvuz)ctiH`TvNnnaQ!U2LXZ=R<(IOvV|71-K*> zx6@7AD?bCV=IkWNl={w7H8&4wv}g1W;ze}8=3a!jXiiyXRrOojAZzN!o5j?HuY>-_ z&#&M1e9LG&_UJ>kBICs)zg5?afIP0G5AEyTZ-MWQA@GAcjy;^!$=s2uEwy_!Nw{>- ze?y9DsT=cpt?FNu&D5F^^hPnOq#qiq`!%5+4unM%0RlX5R4+FNAKk{BN(@8{3FDR5Kn2sku*M#Vi5`RO!IQ%oOj2 znk~{yV2aw>9W{?Rk_yT)|BQtBXTYH0yD}2}dHeIqQx3?L=n^@>%J$lqD=NJ@)1Jk= zsQ>O0<^hRm|MP{nKwXHyTV(q?iKhhtwWs`pf`w|8zilX?(AD~C40;I0VB#!7LS*Gg z2ZhekYd4@#OYNxc$zg}TOCcI2(Se>>)IESk~$p>Ma@Zn6*9C=?dkB?Q0;CX)Ij@3YG8@4X*7 zl_2Kx?lo+iLKuu=w)>uOIm)ft%}h+O$I8P`1JNe)!}d-R!j!l!9G-sMMcZ-vNaj8D zKar-a?pN1;4;`;vLBn8cHWl-GC4eshAA-|p2caRxN-&Wu&E}?)`z%;Ndn#wth_h&# zB?|uzLEH3~eWcbn;zr+8w5U+cBi7@ z!n3Y-zEui0nR38W;YfEnBk4(>t#y{xnA;1XKB#(T9SO@1`#v({7me?xSNs$Eo-soB znXSo#J4N1UKL$U^QdZ@E%YJ^VU=&*p24(ln+!P4Wk0H8MVv^o$X^e_UjW2;7ntm*F ziW{bj?8={dsGE#Avjx!CpW3yK$p1?40nQ1}>v`e{(yN7jpC(PE^Q2n(Y`#TvS2dB49a0&$g!J+!oy)dZe zX;rYp)rFPu1SV{{F>w~-tr#e*&!W>g7IDq^<7-~<`;QMlzqY781k2hU@+yOUR0#+aQLGaxp9XH!owl^?U;YUzvb!eKv=>141 z^_{N+*Il~GeEYku440{FxeWixQ2vlQJhEa|)hsn;P z^w+?w{1`N)_Fd0}Dgo3|lV#WLWK!2Vd#*QFz%PxiJKqz(Hx=I#b5C!*XAZTv;`!ewpX%iIW6zUJ^Z%ch{^s6pSB$QY zyMT({ z)94vyJTD*)bcNT&iZwlxGs;SNgb@~-81GC@zlP0n(4B^0R%e6gd)$NE)T3s47_iGH zhjtBx5l$)bFA*2b6GQubvPyd}-C;)i2lWcWy8=Gb3@f`HE4K}-sNuQuAUvv*lrSyI z)P-1ApR@JR7c-P@_*OL`U)wzX=7^gskeXTpbe*xD&+{+jJ zL;2$%C=3(7 zq_QqvPb#%)?^mNsm?D|tLQV^;03Q$c3v7I0sAwt?xG)Osp1{p-^6kykW+A)y<_gCH zon!_ULbx|krjfRpgZTDdS4xd6b4`j!gfc{2B^#aez8#n=a`C-|E=cg9sYEYJ&gixZ z3d0@47!A5uIxRMM0%YAGaz|S5@B<&3G3ZIK&4oZoy(Y2eAC{32m_EbJdrr$8EyNy) zF(w-?qPT{SMZPxvW(QX_J9zPRfM_FbnXv(SCSPXttnl%;JlKIpH?=UyukXFH_=Wj0 zEu-?!Uc5jT(>ADr3ImAVr~H^~$)14g`@xP6yCm51^w{^+RS(H*q}?ru1R8!n6U|FH zVtv5heF_!s?yq|#BZ@^deE!xxsEK-$SI4f~UI=W=mgbMBDHwjkP{@=seKAb@<-k{~ zoon|TONfrQePt^Zr(FtqC2B9fl~(0%fA?_ej%Or{wH9)-Epa;f(~B$2Q86MaI3GAu zd;x1g-J5Aub}=)a1*GR4Sts10kNy6;5nhz|{cC~gOgRV$MvnMGavUV~t4+eBl~-nf zlD!p;NNz@JI!TN*-qn2I*g8L;EVqwa^u4bo4C!E;b3;$C311dWT2V6wJ~%Dv)M$s# zA#vD%<2=@-w_0U2zk*W72|OApZi7C}4$EL<_Jwr$-{+uMqa`QO4xdt6<{saB=lp6% z1*h-4EkBg8gdv7BAA745OMTM=h(q_YH=Q%Hg;P2kS1*w`e}ICW#LR#U20-T|1P#$e zX}r{ocYqcmdH+i{ot8+fuuu@jHWeHmFmJr+?I~J!GwPILfw>hb{-+Q;*UWv9eR3N;lGbM= zr*iV`{;jobDY0SVQ*oB$!kMw}Di4wKqFPI$^C2x&C#;Z>GN>r+b6UHT;6HxF3hlgW;-{$eVaUS{Pu(?i|z(E;ab@K%mthH zTiO`tKG7KdY)wyIy%GK#7DLQee~A=mUbJqV5lVO2wjlDpjJKJpBdwLq7`#;Q9 z8|My7laiVk)Eer;+XZ=T%KJuR0iQpop4Y2;uYA1O?F%Sq0N@#2_J)nn&>=s!isk-Q zb`RA#+OP{<-&m$*zRE!(Q)A+9-V!(SJExpIhH*d1$+0F2#i1B4HSIo=l-R<2>$+e&pq`uE@GiUbE!eF zQhASgmu5qkoBjVH>%G5{{Nw+Ba7IJRk(DzQNloijZqdv%Cy;)(^ZOkSNMEwsZ!5w3&ua-;-pTD`h! zU6}UlAl_r4-lOKOw8Z$wplJHxaH7BG-`lFKPsy2&m4SzHUH*et9chJ}YzzTY1Y#n3 z(riD$pX`WsN*^l&`!#l*=}sR{T8Bj--n$tt1uFn54$C?GJ_X=-oIMST4BnK#dIB2F zy-)Iyr!ri){2lW$k=n3GL|V*u@uZ@x7kph(!&0 zq-pKP5+Ks#*2mGw$igcCbbd_z{|@kB>~$x#9HWrtU}c&)#B5Y+~S6@K9op;#hS>w8`r5t(2Z9t=mV#5A$w{-DHv>TN#yHx zjZ5P9AC-+qtp2!Ov+u?v7c{*zv)*P22#0VAl7F&uPJR@mxgLxP&?Za$TqYx-3xUpn|bbWYvy_P@<#KHVO_}4K7SjW$k&?;IyiPIJOd(soY`wR@QYrTMFz~7;KC=LDX)%B6xOV6sh89mPn>g`7*;0R%4A4IM=(Ij5h#5POnat@0+HZg$3D@!^}y{y z1V&ID0_riXH1P@txAj=A7f-llDG!jv0H*!!s;J-I5eW05Njd;ZXA`2guU7Nt zM#G!nug7jlELXRIKXQDsoG1Aoo8HO~SIoX91c>eNZ&Yp$n-DNp45&1K%4FV|EWA_i z5m-AqS{i;$6J@~@!T(td2nNTne3bhPC+2U*`0Afa?(5DR;{PoMs!!)4t zDJv%ok;0?=n@qY;R$xw4gb@=1J_b_h*~{m_31c9zf*rAX@lEldKzR`c33?b7-f}II zJIV!{>7(rR!c^}@i>|5PBL-{;c6Qqabu_9PY!S{fVUY5S0mZ;1Gr#8Cc3%+y@lyGH z`H#||I^3WeNW;%u5mgt?y%nj@QsV#x$YD3?@c7Go%;SmCF*~5G%U_PZ7U{N3y{=er z-9{pxil>W4LNB3L+r1REz3$BoEH7A=5p~=}uld~oXOaGd0D9vWP<~u`q{+?#2SC=! z9T+jq;kJ=v-cxRavM;IGlkXY!u80q#mmjJ~8Af?>J^CK_P!wpit@sl7GRYZRCHYv> z6YwE__A~n5NwgS1eGbY_a$`b>2egRPqn>d8(!JF~6_3X``@`YzNg^BftSxb~6MJJ= zyv~#5*L^$--_;Fp*1|JJn*wN6ALH*HB^b~C31kGj0N}kcprtgd*l>}p1UNSyg((UX9=gi@AS?H-$q_?$t zO*VTxG!;iuWI_lvNu|CCS!Xn>0I2O|C6PVEEa>-2%QqFH`oRMRrkX3_B>Zsh!MTLK zcO#aX&B3Gi-c8L=@z+Is)~e-^7#H?65I2=28@hEUAEFuckVtS6celC`_MmzF>TP`@ zfzRFG?AgOzJpEkTuunmrCkMuC#()&8avHVA^L&JRedGI{&lG`6HFfO*ZlWdVIO>m} z_oi@5fQ??n@~w!%))S$NFGHs?yOwv^XGer1VXb5KQ0iK^hAez?dF)5n1BdnKFcxTY znAuqiN#D(7R?+p^{Hz&ZvO1t{rX|SjR#wUc?sWit;)|_m&+-1W>Tx7`q&q;jEA7R> z%30b=^8=)waNVp{z1noeVu#0nV^7r{?v&*nDk8# z${m)e9hrbr&Bny4saSxPcE}iQT8y?f@K?rvduBQ*o7+s&SFmnuOg&uQt7w+xUEh(iMbNq8PfR z#S3@o+Z;m2zf~IF=Pi$FM~o$ljVuo&;u~z@J(xebZ#AH5LPA#sYM_4wW8p?sP>mH# z88afjbe$bK7u29BwYsYiia0KLCd|Eg5$m#TxkVIEt#uZltg(&HOju9ecMe!m9H_qQ zLKvT0`!0J_?epul`8^V$B-fcxO{u)^7J;Ax5i+iKQ1n7T7P>0^m3^pd>Yvdv4E}=K zTN?qdK%FUuEGg4AIw&5*SuVHYUlWOtsd9dl`nL8}ezG$#3!C>q&{Mwvp325UO1;7y zs9)g-C}xwC|Mb+mTE3l`D)2Ojj?d2ujCY4m>TT*3v(_}O?{Qmh6EEly%|LB8*CFrq z{9(h~dM03%GL+~h(eb=H#5n*IL3~kn#lU`6(~K?=QCOH_)%wyw&e_f{-LJaKaPrfa zADLROM4r_}3qS9c-cmgEd36Dewa5^66=A=#o0S)P^c;8tap&*grrw73A628Yz0ReZ zN6f~AMUUtVM0S|O6`5=i4n?lU}D+g<$6#&yq=Z8|!07oi0O=XeEf3J5y7O@U(I_iWwO1;$8|30NZ?(%$7-sp{q{82IW%=`R}!nQt&v}; z_@sSoxjeMoV9BJpXjIkMe$+(kH2F$rqzJsB)7?~YCyE^shKNKAw*LA286sm$ zw^Hg++KgG%*VE~t=llKJl3tkChbD{4wmR{ZF3`vsZe-te0WL(}O((G^uZ4Nl0KxJS z+Ww<^QyBA6Hx~7hkHK}53e1_KrC%L?6p(Evn9>!UV*9f@SGBe=9PHXoFahA3Yj!>o z?<=)&ttZ_lF<~v4|K+;4wfLPd>`c)A$If({^x$Vl;uP^?UoCUQJ6G2!86iS|| z&^lT&r|lbw%qqvSjH~O(Ltz!G=Q1=EO7VgKeQJa9gOG-53iJeV?(sRDJur~k4bE5y zG>ftbz0?QJe7s1Zvk+5&St+PSbJk~A-Ow5&0#GauxS^bB0=u>%<*%>6r~!NjXG%;e z*x(p7b zyH;?F@=N=!>z64>avUcQ6M}N|)z7))9Bbj=m zRihq|zAmej2`y2VLWg4AoNo((WyjPRn(E6-Q;)1-d%?NrZl3{g%r`wPkf`$41=uL6 zWU%L35TmETk_%O?3&<2PVT;ex&y@0IvR`Jho_dWn(tkiy`B2J}6m6F*!%>Ik{>o#} z+he?%@J5F%^l75It>6GSCqV?4g92DVK1(P@at!f^RMY{u%5{%lRzBCQAzl8)(jWrM zW!8Vma#(-XQslPOqn`6zFzm~7vXWFZm5~ZKQaBD0X)g@hgJe&%N zNpt6V`JkLKVNZy?i}$DCwAv!r5;k_=^(A;SKSsK&~zSu3+sjhFz zFdH%c5W^W?7j*)bJK<+IHdQhSZ+>M@5h(k)lt;?<3BB>j>3Y~F;~)1&Uyh(Qwoq3c z)IY177kCN_IbY4@)?jwc8erUCJdj#((dL5&$^i?58MFM!DM_xafy z%CB*=kCe}EQ`aq!F}D(AGsSZj>T`NC;ZZt^5v0(DOe80V)+z3|$KXNG0evO-gd;Rp zpO_xFc$C+4jOBcobGeR$iNnttD^e!|JbG9PuakZHEmRwyXQnUgCoE9x+J^3)+((=v zI`cBgJVq>XnQdj(ItB8LY)t&+c#RwNFeZx4 z?K0TPRn~LybQi8^$n+1Q={HvUms*;s zbq_coe(pm1ENh2KOVT}-QVna0o5~iDG=GWhD0<<{lDqSVu08Zm zWZJ{jE4-S#vb~iN54m0_!Wr9a#h1INTzSKo&L3LMvSI`H*%;F6H%(7%mD(iPhIpJx zDsxK=1be=@m>sKtMn9Zdl*GmOT@_EiRscD24yaI{<#CWtb4^W3ve!Gz9A1^HGP?kP zqo4CvuQ=E6*Fs_@+wt-q9xyz)29M5^C!&|T^-t7_I_|&F$DZt1@w`yIonTfg^<%M| z7}{$Yq;I-mP8!yeTc>*X*=VEaC!t?h>ShXZpxuOvfd`E-o+oE>B>6Td@`e4Db}H8H>#!An!-fZP;XenMk%+Z!`$k)d zk!i^1d_6z#)B&yxfT+vQYC0Xz4_aG_AUJJYOlQu{^0G|pm`D8ZP9I~md>&m2b+27d zeWD(<)d%g$vJCm~SZB|3Uto6lA+5r#Oi;yl3RX+2@r$STOu()=Czn{)4^y`lj2cm= z@Bu=QkJI=(tB>o$ z@PBPh3`Sy(sg2f{!rnta4{H^&)9dH&2yy@M&WaC-1LV^hrt7lmuKn?y4RuN%scnun zyqgqyP3u}OI7e5t;up@I%h&8S)5p3UwY{2`c7K@hO?{b4Q>Hc2hx0#$$?KiRorfUB|pj;rTC1a^L?)zjWIzDf$r;LKO%LN%`+1$L0bQ zVc-GvjlJFc3rRRCqKBwEJzL~6b{wQe1`GQHEj!np@Mh#$}kb~xY&HIc# zX$v&t)vL?i|NcI#BHvs6O7ERL+iX4{EyG+-?>cqTA}lTmE9FP(1u{^8nT211hIDfX z0%v-P7c_93cR=bvlvSuHu6RLDgE2?{1>cfqb=`)wQo>ZP*5h7Ft1U*}h=h1FWU*)O z3JCfR+Zo&$Q0NEa>pZ68C`65t^MKUCQ825iqphU_6rLOb%dQ$Xp)iR8aY?>skx`&c zo-?`(;k6Bx8x+` ztMC9x&}T8gz3XrW4oC;-y`E=g6AY>l#34nBP|EkU8qyomrL0cntJISYl`T8r+y_b} z9k^jLeQk_XR)|%bWKcF!q%rU&JukZeZ*|LxqK|jg8J@dq{FEgo951(&4%e~m;eKPl z@o53)L44SqYPj^AaUy-IhH*N;ND<^W4Q5Jr6^{qvDx0pwL2iwuJ_)kk)ut9N)X60e zp636f>Dw7|y|=BAqmJQa(G%@Am5C|$*d2*2 zgs|)x&BFc;GT+D+3n{B2OKc$g$)AfCcdzh`ppG~HB!=xVJvn>}+5bzu8}jcDxcqlB z_ltjTS{WLde>V33A6uTrPMaE5g|O{5#0xZii17lyWHs?#isStuRn2}>?|-n(TG-$7 zTD<$aWyrs^tF~K;94gIu;Rg-*S8`G~JwKNE`!-I4D|~%cy&K6vF_u>HeWj&%%u*_> z!a&+-vc}lwX1p(@bM2~s@<9wVhf*WIv!;@2$*Rlirt`Jg=l%3d?e}$|uh*BWDY0Jn z)RcOw>zHW(gkfCXHB)bU+@go2V|{wc~^BXbwAn1>Yly13(zVu(?u#VYU zgxgc>jK2hpE^6G_D>jGrOnPo$vK}to*hDEo=1`)2%;}$xO8hq#*i0Lxr&>p1Id0l* z3l6P~II6Y;eh@TgXz1Q~V2<^mnNRNa54eADCyXI#eilni;z83lokm4ya`k+?suGje z`Ap|A@P8=^$w`zBq4%!N*^UbJPTX)s@^$(L=dqU3J�Znc;+B9X4;9FN4^LmFg9L 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%0DIH7r?(yW6J1D9)Bb1isHkV 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 literal 0 HcmV?d00001 diff --git a/doc/ROC_profiler_spec_v_1_2_3.docx b/doc/ROC_profiler_spec_v_1_2_3.docx new file mode 100644 index 0000000000000000000000000000000000000000..e92477ccf913ec2bdbd88d4eb0c374dd3c4eb7c4 GIT binary patch literal 96135 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

p^l+wN$mp*B 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 UX#@fSAN*$ot|8ljha|-R0cM`3B>(^b literal 0 HcmV?d00001 diff --git a/inc/roctracer.h b/inc/roctracer.h new file mode 100644 index 0000000000..8e48ef3621 --- /dev/null +++ b/inc/roctracer.h @@ -0,0 +1,230 @@ +//////////////////////////////////////////////////////////////////////////////// +// +// The University of Illinois/NCSA +// Open Source License (NCSA) +// +// Copyright (c) 2014-2015, Advanced Micro Devices, Inc. All rights reserved. +// +// Developed by: +// +// AMD Research and AMD HSA Software Development +// +// Advanced Micro Devices, Inc. +// +// www.amd.com +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to +// deal with the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: +// +// - Redistributions of source code must retain the above copyright notice, +// this list of conditions and the following disclaimers. +// - Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimers in +// the documentation and/or other materials provided with the distribution. +// - Neither the names of Advanced Micro Devices, Inc, +// nor the names of its contributors may be used to endorse or promote +// products derived from this Software without specific prior written +// permission. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +// THE CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR +// OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +// ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +// DEALINGS WITH THE SOFTWARE. +// +//////////////////////////////////////////////////////////////////////////////// + +//////////////////////////////////////////////////////////////////////////////// +// +// ROC Profiler API +// +// The goal of the implementation is to provide a HW specific low-level +// performance analysis interface for profiling of GPU compute applications. +// The profiling includes HW performance counters (PMC) with complex +// performance metrics and thread traces (SQTT). The profiling is supported +// by the SQTT, PMC and Callback APIs. +// +// The library can be used by a tool library loaded by HSA runtime or by +// higher level HW independent performance analysis API like PAPI. +// +// The library is written on C and will be based on AQLprofile AMD specific +// HSA extension. The library implementation requires HSA API intercepting and +// a profiling queue supporting a submit callback interface. +// +//////////////////////////////////////////////////////////////////////////////// + +#ifndef INC_ROCTRACER_H_ +#define INC_ROCTRACER_H_ + +#include + +#include +#include + +#define ROCTRACER_VERSION_MAJOR 1 +#define ROCTRACER_VERSION_MINOR 0 + +#ifdef __cplusplus +extern "C" { +#endif // __cplusplus + +//////////////////////////////////////////////////////////////////////////////// +// Returning library version +uint32_t roctracer_version_major(); +uint32_t roctracer_version_minor(); + +//////////////////////////////////////////////////////////////////////////////// +// Library errors enumaration +typedef enum { + ROCTRACER_STATUS_SUCCESS = 0, + ROCTRACER_STATUS_ERROR = 1, + ROCTRACER_STATUS_UNINIT = 2, + ROCTRACER_STATUS_BREAK = 3, + ROCTRACER_STATUS_BAD_DOMAIN = 4, + ROCTRACER_STATUS_HIP_API_ERR = 5, +} roctracer_status_t; + +//////////////////////////////////////////////////////////////////////////////// +// Returning the last error +const char* roctracer_error_string(); + +//////////////////////////////////////////////////////////////////////////////// +// Traced runtime API domains + +// Traced API domains +typedef enum { + ROCTRACER_API_DOMAIN_ANY = 0, // HIP API domain + ROCTRACER_API_DOMAIN_HIP = 1, // HIP API domain +} roctracer_api_domain_t; + +// Traced calls ID enumeration +typedef hip_cb_id_t roctracer_hip_api_cid_t; + +// Correlation ID type +typedef uint64_t roctracer_correletion_id_t; + +// Return method name by given API domain and call ID +// NULL returned on the error and the library errno is set +const char* roctracer_get_api_name( + roctracer_api_domain_t domain, // API domain + roctracer_hip_api_cid_t cid); // API call ID + +//////////////////////////////////////////////////////////////////////////////// +// Callback API +// +// ROC profiler frontend provides support for runtime API callbacks and activity +// records logging. The API callbacks provide the API calls arguments and are +// called on different phases, on enter, on exit, on kernel completion. +// Methods return non-zero on error and library errno is set. + +// API callback phase +typedef enum { + ROCTRACER_API_PHASE_ENTER = 0, + ROCTRACER_API_PHASE_EXIT = 1, + ROCTRACER_API_PHASE_COMPLETE = 2, +} roctracer_feature_kind_t; + +// API calback data +typedef hip_cb_fun_t roctracer_api_callback_t; + +// Enable runtime API callbacks +int roctracer_enable_api_callback( + roctracer_api_domain_t domain, // runtime API domain + uint32_t cid, // API call ID + roctracer_api_callback_t callback, // callback function pointer + void* arg); // [in/out] callback arg + +// Disable runtime API callbacks +int roctracer_disable_api_callback( + roctracer_api_domain_t domain, // runtime API domain + uint32_t cid); // API call ID + +//////////////////////////////////////////////////////////////////////////////// +// Activity API +// +// The activity records are asynchronously logged to the pool and can be associated +// with the respective API callbacks using the correlation ID. Activity API can +// be used to enable collecting of the records with timestamping data for API +// calls and the kernel submits. +// Methods return non zero on error and library errno is set. + +// Roctracer pool type +typedef void roctracer_pool_t; + +// Activity record +typedef hip_act_record_t roctracer_record_t; + +// Return next record +static inline int roctracer_next_record( + const roctracer_record_t* record, // [in] record ptr + const roctracer_record_t** next) // [out] next record ptr +{ + *next = (record + 1); + return ROCTRACER_STATUS_SUCCESS; +} + +// Tracer allocator type +typedef void (*roctracer_allocator_t)( + char** ptr, // memory pointer + size_t size, // memory size + void* arg); // allocator arg + +// Pool callback type +typedef void (*roctracer_buffer_callback_t)( + const char* begin, // [in] available buffered trace records + const char* end, // [in] end of buffered trace records + void* arg); // [in/out] callback arg + +// Tracer properties +typedef struct { + uint32_t mode; // roctracer mode + size_t buffer_size; // buffer size + roctracer_allocator_t alloc_fun; // memory alocator function pointer + void* alloc_arg; // memory alocator function pointer + roctracer_buffer_callback_t buffer_callback_fun; // tracer record callback function + void* buffer_callback_arg; // tracer record callback arg +} roctracer_properties_t; + +// Create tracer memory pool +// The first invocation sets the default pool +int roctracer_open_pool( + const roctracer_properties_t* properties, // tracer pool properties + roctracer_pool_t** pool = NULL); // [out] returns tracer pool if not NULL, + // otherwise sets the default one if it is not set yet + // otherwise the error is generated + +// Close tracer memory pool +int roctracer_close_pool( + roctracer_pool_t* pool = NULL); // [in] memory pool, NULL is a default one + +// Return current default pool +// Set new default pool if the argument is not NULL +roctracer_pool_t* roctracer_default_pool( + roctracer_pool_t* pool = NULL); // [in] new default pool if not NULL + +// Enable activity records logging +int roctracer_enable_api_activity( + roctracer_api_domain_t domain, // runtime API domain + uint32_t activity_kind, // activity kind + roctracer_pool_t* pool = NULL); // memory pool, NULL is a default one + +// Disable activity records logging +int roctracer_disable_api_activity( + roctracer_api_domain_t domain, // runtime API domain + uint32_t activity_kind); // activity kind + +// Flush available activity records +int roctracer_flush_api_activity( + roctracer_pool_t* pool = NULL); // memory pool, NULL is a default one + +#ifdef __cplusplus +} // extern "C" block +#endif // __cplusplus + +#endif // INC_ROCTRACER_H_ diff --git a/script/hipap.py b/script/hipap.py new file mode 100755 index 0000000000..2533affbf6 --- /dev/null +++ b/script/hipap.py @@ -0,0 +1,189 @@ +#!/usr/bin/python +import os, sys, re + +HEADER = "hip_cbstr.h" +REC_MAX_LEN = 1024 + +def fill_api_map(out, api_name, args_str): + args_list = [] + + args_str = re.sub(r'^\s*', r'', args_str); + args_str = re.sub(r'\s*$', r'', args_str); + args_str = re.sub(r'\s*,\s*', r',', args_str); + args_str = re.sub(r'\s+', r' ', args_str); + + for arg_pair in args_str.split(','): + arg_pair = re.sub(r'\s+=\s+\S+$', '', arg_pair); + m = re.match("^(.*)\s(\S+)$", arg_pair); + if m: args_list.append((m.group(1), m.group(2))) + + out[api_name] = args_list; + +# hipError_t hipSetupArgument(const void* arg, size_t size, size_t offset); +def parse_api(inp, out): + end_pattern = re.compile("Texture"); + beg_pattern = re.compile("^hipError_t"); + api_pattern = re.compile("^hipError_t\s+([^\(]+)\(([^\)]*)\)"); + + found = 0 + record = "" + line_num = -1 + + for line in inp.readlines(): + record += re.sub(r'^\s+', r' ', line[:-1]) + line_num += 1 + + if len(record) > REC_MAX_LEN: + print "Error: bad record \"" + record + "\"\nfile '" + hfile + ", line (" + str(line_num) + ")" + break; + + if beg_pattern.match(record): found = 1 + + if found: + m = api_pattern.match(record) + if m: + found = 0 + if end_pattern.search(record): break + fill_api_map(out, m.group(1), m.group(2)) + else: continue + + record = "" + +############################################################# + +if (len(sys.argv) != 2): + print >>sys.stderr, "Usage:", sys.argv[0], " " + sys.exit(1) + +hfile = sys.argv[1] +if not os.path.isfile(hfile): + print >>sys.stderr, "Error: input file '" + hfile + "' not found" + sys.exit(1) + +inp = open(hfile, 'r') +api_map = {} +parse_api(inp, api_map) + +api_map['hipLaunchKernel'] = [('void*', 'kernel'), ('hipStream_t', 'stream')] + +f = open(HEADER, 'w') +f.write('// automatically generated sources\n') +f.write('#ifndef HIP__CBSTR_H__\n'); +f.write('#define HIP__CBSTR_H__\n'); + +# Generating the callbacks function type +f.write('\n// HIP API callbacks function type\n\ +struct hip_cb_data_t;\n\ +typedef void (*hip_cb_fun_t)(const hip_cb_data_t* data, void* arg);\n\ +') + +# Generating the callbacks ID enumaration +f.write('\n// HIP API callbacks ID enumaration\n') +f.write('enum hip_cb_id_t {\n') +cb_id = 0 +for name in api_map.keys(): + f.write(' HIP_API_ID_' + name + ' = ' + str(cb_id) + ',\n') + cb_id += 1 +f.write(' HIP_API_ID_NUMBER = ' + str(cb_id) + ',\n') +f.write('};\n') + +# Generating the callbacks data structure +f.write('\n// HIP API callbacks data structure\n') +f.write( +'struct hip_cb_data_t {\n' + +' const char* name;\n' + +' hip_cb_id_t id;\n' + +' uint32_t correlation_id;\n' + +' bool on_enter;\n' + +' union {\n' +) +for name, args in api_map.items(): + if len(args) != 0: + f.write(' struct {\n') + for arg_tuple in args: + f.write(' ' + arg_tuple[0] + ' ' + arg_tuple[1] + ';\n') + f.write(' } ' + name + ';\n') +f.write( +' } args;\n' + +'};\n' +) + +# Generating the callbacks args data filling macros +f.write('\n// HIP API callbacks args data filling macros\n') +for name, args in api_map.items(): + f.write('#define INIT_' + name + '_CB_ARGS_DATA(cb_data) { \\\n') + for arg_tuple in args: + arg_type = arg_tuple[0]; + arg_name = arg_tuple[1]; + f.write(' cb_data.args.' + name + '.' + arg_name + ' = (' + arg_type + ')' + arg_name + '; \\\n'); + f.write('};\n') +f.write('#define INIT_CB_ARGS_DATA(cb_id, cb_data) INIT_##cb_id##_CB_ARGS_DATA(cb_data)\n') + +# Generating the callbacks table +f.write('\n// HIP API callbacks table\n') +f.write('\ +struct hip_cb_table_t {\n\ + struct { hip_cb_fun_t act; hip_cb_fun_t fun; void* arg; } arr[HIP_API_ID_NUMBER];\n\ +};\n\ +#define HIP_CALLBACKS_TABLE hip_cb_table_t HIP_API_callbacks_table{};\n\ +') +f.write('\ +inline bool HIP_SET_ACTIVITY(uint32_t id, hip_cb_fun_t fun, void* arg = NULL) {\n\ + (void)arg;\n\ + extern hip_cb_table_t HIP_API_callbacks_table;\n\ + if (id < HIP_API_ID_NUMBER) {\n\ + HIP_API_callbacks_table.arr[id].act = fun;\n\ + return true;\n\ + }\n\ + return false;\n\ +}\n') +f.write('\ +inline bool HIP_SET_CALLBACK(uint32_t id, hip_cb_fun_t fun, void* arg) {\n\ + extern hip_cb_table_t HIP_API_callbacks_table; \n\ + if (id < HIP_API_ID_NUMBER) {\n\ + HIP_API_callbacks_table.arr[id].fun = fun;\n\ + HIP_API_callbacks_table.arr[id].arg = arg;\n\ + return true;\n\ + }\n\ + return false;\n\ +}\n') + +# Generating the callback spawning class +f.write('\n// HIP API callbacks spawning class macro\n\ +#define CB_SPAWNER_OBJECT(cb_id) \\\n\ + class api_callbacks_spawner_t { \\\n\ + public: \\\n\ + api_callbacks_spawner_t(hip_cb_data_t& cb_data) : cb_data_(cb_data) { \\\n\ + hip_cb_id_t id = HIP_API_ID_##cb_id; \\\n\ + cb_data_.id = id; \\\n\ + cb_data_.correlation_id = UINT_MAX; \\\n\ + cb_data_.name = #cb_id; \\\n\ + extern const hip_cb_table_t* getApiCallbackTabel(); \\\n\ + const hip_cb_table_t* cb_table = getApiCallbackTabel(); \\\n\ + cb_act_ = cb_table->arr[id].act; \\\n\ + cb_fun_ = cb_table->arr[id].fun; \\\n\ + cb_arg_ = cb_table->arr[id].arg; \\\n\ + cb_data_.on_enter = true; \\\n\ + if (cb_act_ != NULL) cb_act_(&cb_data_, NULL); \\\n\ + if (cb_fun_ != NULL) cb_fun_(&cb_data_, cb_arg_); \\\n\ + } \\\n\ + ~api_callbacks_spawner_t() { \\\n\ + cb_data_.on_enter = false; \\\n\ + if (cb_act_ != NULL) cb_act_(&cb_data_, NULL); \\\n\ + if (cb_fun_ != NULL) cb_fun_(&cb_data_, cb_arg_); \\\n\ + } \\\n\ + private: \\\n\ + hip_cb_data_t& cb_data_; \\\n\ + hip_cb_fun_t cb_act_; \\\n\ + hip_cb_fun_t cb_fun_; \\\n\ + void* cb_arg_; \\\n\ + }; \\\n\ + hip_cb_data_t cb_data{}; \\\n\ + INIT_CB_ARGS_DATA(cb_id, cb_data); \\\n\ + api_callbacks_spawner_t api_callbacks_spawner(cb_data); \n\ +') + +f.write('#endif // HIP__CBSTR__'); + +print "Header '" + HEADER + "' is generated" +############################################################# diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt new file mode 100644 index 0000000000..b0f3da3c7c --- /dev/null +++ b/src/CMakeLists.txt @@ -0,0 +1,11 @@ +# +# Build dynamic Library object +# +set ( TARGET_LIB "${TARGET_NAME}" ) +set ( LIB_SRC + ${LIB_DIR}/core/roctracer.cpp + ${LIB_DIR}/util/hsa_rsrc_factory.cpp +) +add_library ( ${TARGET_LIB} SHARED ${LIB_SRC} ) +target_include_directories ( ${TARGET_LIB} PRIVATE ${LIB_DIR} ${ROOT_DIR} ${HSA_RUNTIME_INC_PATH} ${HIP_INC_DIR} ) +target_link_libraries( ${TARGET_LIB} PRIVATE ${HSA_RUNTIME_LIB} c stdc++) diff --git a/src/core/roctracer.cpp b/src/core/roctracer.cpp new file mode 100644 index 0000000000..1a39f86d6c --- /dev/null +++ b/src/core/roctracer.cpp @@ -0,0 +1,420 @@ +#include "inc/roctracer.h" + +#include +#include +#include +#include +#include + +#include "util/exception.h" +#include "util/hsa_rsrc_factory.h" +#include "util/logger.h" + +#define PUBLIC_API __attribute__((visibility("default"))) +#define CONSTRUCTOR_API __attribute__((constructor)) +#define DESTRUCTOR_API __attribute__((destructor)) + +#define PTHREAD_CALL(call) \ + do { \ + int err = call; \ + if (err != 0) { \ + errno = err; \ + perror(#call); \ + abort(); \ + } \ + } while (0) + +#define HSART_CALL(call) \ + do { \ + hsa_status_t status = call; \ + if (status != HSA_STATUS_SUCCESS) { \ + std::cerr << "HSA-rt call '" << #call << "' error(" << std::hex << status << ")" \ + << std::dec << std::endl << std::flush; \ + abort(); \ + } \ + } while (0) + +#define API_METHOD_PREFIX \ + int err = 0; \ + try { + +#define API_METHOD_SUFFIX \ + } \ + catch (std::exception & e) { \ + ERR_LOGGING(__FUNCTION__ << "(), " << e.what()); \ + err = roctracer::GetExcStatus(e); \ + } \ + return err; + +/////////////////////////////////////////////////////////////////////////////////////////////////// +// Internal library methods +// +namespace roctracer { + +int GetExcStatus(const std::exception& e) { + const util::exception* roctracer_exc_ptr = dynamic_cast(&e); + return (roctracer_exc_ptr) ? static_cast(roctracer_exc_ptr->status()) : 1; +} + +class GlobalCounter { + public: + typedef std::mutex mutex_t; + typedef uint64_t counter_t; + + static counter_t Increment() { + std::lock_guard lock(mutex_); + return ++counter_; + } + + private: + static mutex_t mutex_; + static counter_t counter_; +}; +GlobalCounter::mutex_t GlobalCounter::mutex_; +GlobalCounter::counter_t GlobalCounter::counter_ = 0; + +class MemoryPool { + public: + typedef std::mutex mutex_t; + + static void allocator_default(char** ptr, size_t size, void* arg) { + (void)arg; + if (*ptr == NULL) { + *ptr = reinterpret_cast(malloc(size)); + } else if (size != 0) { + *ptr = reinterpret_cast(realloc(ptr, size)); + } else { + free(*ptr); + *ptr = NULL; + } + } + + MemoryPool(const roctracer_properties_t& properties) { + // Assigning pool allocator + alloc_fun_ = allocator_default; + alloc_arg_ = NULL; + if (properties.alloc_fun != NULL) { + alloc_fun_ = properties.alloc_fun; + alloc_arg_ = properties.alloc_arg; + } + + // Pool definition + buffer_size_ = properties.buffer_size; + const size_t pool_size = 2 * buffer_size_; + pool_begin_ = NULL; + alloc_fun_(&pool_begin_, pool_size, alloc_arg_); + if (pool_begin_ == NULL) EXC_ABORT(ROCTRACER_STATUS_ERROR, "pool allocator failed"); + pool_end_ = pool_begin_ + pool_size; + buffer_begin_ = pool_begin_; + buffer_end_ = buffer_begin_ + buffer_size_; + write_ptr_ = buffer_begin_; + + // Consuming read thread + read_callback_fun_ = properties.buffer_callback_fun; + read_callback_arg_ = properties.buffer_callback_arg; + consumer_arg_ = consumer_arg_t{this, true, NULL, NULL}; + PTHREAD_CALL(pthread_mutex_init(&read_mutex_, NULL)); + PTHREAD_CALL(pthread_cond_init(&read_cond_, NULL)); + PTHREAD_CALL(pthread_create(&consumer_thread_, NULL, reader_fun, &consumer_arg_)); + } + + ~MemoryPool() { + Flush(); + allocator_default(&pool_begin_, 0, alloc_arg_); + } + + template + void* Write(const Record& record) { + std::lock_guard lock(write_mutex_); + char* next = write_ptr_ + sizeof(Record); + if (next > buffer_end_) { + if (write_ptr_ == buffer_begin_) EXC_ABORT(ROCTRACER_STATUS_ERROR, "buffer size(" << buffer_size_ << ") is less then the record(" << sizeof(Record) << ")"); + spawn_reader(buffer_begin_, buffer_end_); + buffer_begin_ = (buffer_end_ == pool_end_) ? pool_begin_ : buffer_end_; + buffer_end_ = buffer_begin_ + buffer_size_; + write_ptr_ = buffer_begin_; + next = write_ptr_ + sizeof(Record); + } + Record* ptr = reinterpret_cast(write_ptr_); + *ptr = record; + write_ptr_ = next; + return reinterpret_cast(ptr); + } + + void Flush() { + if (write_ptr_ > buffer_begin_) { + spawn_reader(buffer_begin_, write_ptr_); + sync_reader(&consumer_arg_); + buffer_begin_ = write_ptr_; + } + } + + private: + struct consumer_arg_t { + MemoryPool* obj; + bool valid; + const char* begin; + const char* end; + }; + + static void reset_reader(consumer_arg_t* arg) { + reinterpret_cast*>(&(arg->valid))->store(false, std::memory_order_release); + } + + static void sync_reader(const consumer_arg_t* arg) { + while(arg->valid) PTHREAD_CALL(pthread_yield()); + } + + static void* reader_fun(void* consumer_arg) { + consumer_arg_t* arg = reinterpret_cast(consumer_arg); + roctracer::MemoryPool* obj = arg->obj; + + reset_reader(arg); + + while (1) { + PTHREAD_CALL(pthread_mutex_lock(&(obj->read_mutex_))); + while (arg->valid == false) { + PTHREAD_CALL(pthread_cond_wait(&(obj->read_cond_), &(obj->read_mutex_))); + } + obj->read_callback_fun_(arg->begin, arg->end, obj->read_callback_arg_); + reset_reader(arg); + PTHREAD_CALL(pthread_mutex_unlock(&(obj->read_mutex_))); + } + + return NULL; + } + + void spawn_reader(const char* data_begin, const char* data_end) { + sync_reader(&consumer_arg_); + PTHREAD_CALL(pthread_mutex_lock(&read_mutex_)); + consumer_arg_ = consumer_arg_t{this, true, data_begin, data_end}; + PTHREAD_CALL(pthread_cond_signal(&read_cond_)); + PTHREAD_CALL(pthread_mutex_unlock(&read_mutex_)); + } + + // pool allocator + roctracer_allocator_t alloc_fun_; + void* alloc_arg_; + + // Pool definition + size_t buffer_size_; + char* pool_begin_; + char* pool_end_; + char* buffer_begin_; + char* buffer_end_; + char* write_ptr_; + mutex_t write_mutex_; + + // Consuming read thread + roctracer_buffer_callback_t read_callback_fun_; + void* read_callback_arg_; + consumer_arg_t consumer_arg_; + pthread_t consumer_thread_; + pthread_mutex_t read_mutex_; + pthread_cond_t read_cond_; +}; + +class Timer { + public: + typedef uint64_t timestamp_t; + typedef long double freq_t; + + Timer() { + timestamp_t timestamp_hz = 0; + HSART_CALL(hsa_system_get_info(HSA_SYSTEM_INFO_TIMESTAMP_FREQUENCY, ×tamp_hz)); + timestamp_factor_ = (freq_t)1000000000 / (freq_t)timestamp_hz; + } + + // Return timestamp in 'ns' + timestamp_t timestamp_ns() { + timestamp_t timestamp; + HSART_CALL(hsa_system_get_info(HSA_SYSTEM_INFO_TIMESTAMP, ×tamp)); + return timestamp_t((freq_t)timestamp * timestamp_factor_); + } + + private: + // Timestamp frequency factor + freq_t timestamp_factor_; +}; + +CONSTRUCTOR_API void constructor() { + util::Logger::Create(); +} + +DESTRUCTOR_API void destructor() { + util::HsaRsrcFactory::Destroy(); + util::Logger::Destroy(); +} + +// Activity callback to generate an activity record +void ActivityCallback( + roctracer_record_t* record, + uint32_t activity_kind, + const void* callback_data, + void* arg) +{ + static Timer timer; + + const hip_cb_data_t* data = reinterpret_cast(callback_data); + MemoryPool* pool = reinterpret_cast(arg); + if (pool == NULL) EXC_ABORT(ROCTRACER_STATUS_ERROR, "ActivityCallback pool is NULL"); + if (data->phase == ROCTRACER_API_PHASE_ENTER) { + *record = {}; + record->name = data->name; + record->activity_kind = activity_kind; + record->begin_ns = timer.timestamp_ns(); + // Correlation ID generating + const auto correlation_id = GlobalCounter::Increment(); + record->correlation_id = correlation_id; + const_cast(data)->correlation_id = correlation_id; + } else { + record->end_ns = timer.timestamp_ns(); + pool->Write(*record); + } +} + +util::Logger::mutex_t util::Logger::mutex_; +util::Logger* util::Logger::instance_ = NULL; +MemoryPool* memory_pool = NULL; +} + +/////////////////////////////////////////////////////////////////////////////////////////////////// +// Public library methods +// +extern "C" { + +// Returns library vesrion +PUBLIC_API uint32_t roctracer_version_major() { return ROCTRACER_VERSION_MAJOR; } +PUBLIC_API uint32_t roctracer_version_minor() { return ROCTRACER_VERSION_MINOR; } + +// Returns the last error +PUBLIC_API const char* roctracer_error_string() { + return strdup(roctracer::util::Logger::LastMessage().c_str()); +} + +// Return method name by given API domain and call ID +// NULL returned on the error and the library errno is set +PUBLIC_API const char* roctracer_get_api_name(roctracer_api_domain_t domain, roctracer_hip_api_cid_t cid) { + return NULL; +} + +// Enable runtime API callbacks +PUBLIC_API int roctracer_enable_api_callback( + roctracer_api_domain_t domain, + uint32_t cid, + roctracer_api_callback_t callback, + void* user_data) +{ + API_METHOD_PREFIX + switch (domain) { + case ROCTRACER_API_DOMAIN_HIP: { + hipError_t hip_err = hipRegisterApiCallback(cid, callback, user_data); + if (hip_err != hipSuccess) HIP_EXC_RAISING(ROCTRACER_STATUS_HIP_API_ERR, "hipRegisterApiCallback error(" << hip_err << ")"); + break; + } + default: + EXC_RAISING(ROCTRACER_STATUS_BAD_DOMAIN, "invalid domain ID(" << domain << ")"); + } + API_METHOD_SUFFIX +} + +// Enable runtime API callbacks +PUBLIC_API int roctracer_disable_api_callback( + roctracer_api_domain_t domain, + uint32_t cid) +{ + API_METHOD_PREFIX + switch (domain) { + case ROCTRACER_API_DOMAIN_HIP: { + hipError_t hip_err = hipRemoveApiCallback(cid); + if (hip_err != hipSuccess) HIP_EXC_RAISING(ROCTRACER_STATUS_HIP_API_ERR, "hipRemoveApiCallback error(" << hip_err << ")"); + break; + } + default: + EXC_RAISING(ROCTRACER_STATUS_BAD_DOMAIN, "invalid domain ID(" << domain << ")"); + } + API_METHOD_SUFFIX +} + +// Return default pool and set new one if parameter pool is not NULL. +roctracer_pool_t* roctracer_default_pool(roctracer_pool_t* pool) { + roctracer_pool_t* p = reinterpret_cast(roctracer::memory_pool); + if (pool != NULL) roctracer::memory_pool = reinterpret_cast(pool); + if (p == NULL) EXC_RAISING(ROCTRACER_STATUS_UNINIT, "default pool is not initialized"); + return p; +} + +// Open memory pool +PUBLIC_API int roctracer_open_pool( + const roctracer_properties_t* properties, + roctracer_pool_t** pool) +{ + API_METHOD_PREFIX + if ((pool == NULL) && (roctracer::memory_pool != NULL)) { + EXC_RAISING(ROCTRACER_STATUS_ERROR, "default pool already set"); + } + roctracer::MemoryPool* p = new roctracer::MemoryPool(*properties); + if (p == NULL) EXC_RAISING(ROCTRACER_STATUS_ERROR, "MemoryPool() error"); + if (pool != NULL) *pool = p; + else roctracer::memory_pool = p; + API_METHOD_SUFFIX +} + +// Close memory pool +PUBLIC_API int roctracer_close_pool(roctracer_pool_t* pool) { + API_METHOD_PREFIX + roctracer_pool_t* ptr = (pool == NULL) ? roctracer_default_pool() : pool; + roctracer::MemoryPool* memory_pool = reinterpret_cast(ptr); + delete(memory_pool); + if (pool == NULL) roctracer::memory_pool = NULL; + API_METHOD_SUFFIX +} + +// Enable activity records logging +PUBLIC_API int roctracer_enable_api_activity( + roctracer_api_domain_t domain, + uint32_t activity_kind, + roctracer_pool_t* pool) +{ + API_METHOD_PREFIX + if (pool == NULL) pool = roctracer_default_pool(); + switch (domain) { + case ROCTRACER_API_DOMAIN_HIP: { + const hipError_t hip_err = hipRegisterActivityCallback(activity_kind, roctracer::ActivityCallback, pool); + if (hip_err != hipSuccess) HIP_EXC_RAISING(ROCTRACER_STATUS_HIP_API_ERR, "hipRegisterActivityCallback error(" << hip_err << ")"); + break; + } + default: + EXC_RAISING(ROCTRACER_STATUS_BAD_DOMAIN, "invalid domain ID(" << domain << ")"); + } + API_METHOD_SUFFIX +} + +// Disable activity records logging +PUBLIC_API int roctracer_disable_api_activity( + roctracer_api_domain_t domain, + uint32_t activity_kind) +{ + API_METHOD_PREFIX + switch (domain) { + case ROCTRACER_API_DOMAIN_HIP: { + const hipError_t hip_err = hipRemoveActivityCallback(activity_kind); + if (hip_err != hipSuccess) HIP_EXC_RAISING(ROCTRACER_STATUS_HIP_API_ERR, "hipRemoveActivityCallback error(" << hip_err << ")"); + break; + } + default: + EXC_RAISING(ROCTRACER_STATUS_BAD_DOMAIN, "invalid domain ID(" << domain << ")"); + } + API_METHOD_SUFFIX +} + +// Flush available activity records +PUBLIC_API int roctracer_flush_api_activity(roctracer_pool_t* pool) { + API_METHOD_PREFIX + if (pool == NULL) pool = roctracer_default_pool(); + roctracer::MemoryPool* memory_pool = reinterpret_cast(pool); + memory_pool->Flush(); + API_METHOD_SUFFIX +} + +} // extern "C" diff --git a/src/util/exception.h b/src/util/exception.h new file mode 100644 index 0000000000..71fb87a28b --- /dev/null +++ b/src/util/exception.h @@ -0,0 +1,47 @@ +#ifndef SRC_UTIL_EXCEPTION_H_ +#define SRC_UTIL_EXCEPTION_H_ + +#include + +#include +#include +#include + +#define EXC_ABORT(error, stream) \ + { \ + std::ostringstream oss; \ + oss << __FUNCTION__ << "(), " << stream; \ + std::cout << oss.str() << std::endl; \ + abort(); \ + } + +#define EXC_RAISING(error, stream) \ + { \ + std::ostringstream oss; \ + oss << __FUNCTION__ << "(), " << stream; \ + throw roctracer::util::exception(error, oss.str()); \ + } + +#define HIP_EXC_RAISING(error, stream) \ + { \ + EXC_RAISING(error, "HIP error: " << stream); \ + } + +namespace roctracer { +namespace util { + +class exception : public std::exception { + public: + explicit exception(const uint32_t& status, const std::string& msg) : status_(status), str_(msg) {} + const char* what() const throw() { return str_.c_str(); } + uint32_t status() const throw() { return status_; } + + protected: + const uint32_t status_; + const std::string str_; +}; + +} // namespace util +} // namespace roctracer + +#endif // SRC_UTIL_EXCEPTION_H_ diff --git a/src/util/hsa_rsrc_factory.cpp b/src/util/hsa_rsrc_factory.cpp new file mode 100644 index 0000000000..4893813534 --- /dev/null +++ b/src/util/hsa_rsrc_factory.cpp @@ -0,0 +1,572 @@ +/********************************************************************** +Copyright ©2013 Advanced Micro Devices, Inc. All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted +provided that the following conditions are met: + +<95> Redistributions of source code must retain the above copyright notice, this list of +conditions and the following disclaimer. +<95> Redistributions in binary form must reproduce the above copyright notice, this list of +conditions and the following disclaimer in the documentation and/or + other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR +IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT +SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY + DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS + OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +********************************************************************/ + +#include "util/hsa_rsrc_factory.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include + +#ifndef AQL_PROFILE_READ_API_ENABLE +#define AQL_PROFILE_READ_API_ENABLE 0 +#endif + +namespace roctracer { +namespace util { + +// Callback function to get available in the system agents +hsa_status_t HsaRsrcFactory::GetHsaAgentsCallback(hsa_agent_t agent, void* data) { + hsa_status_t status = HSA_STATUS_ERROR; + HsaRsrcFactory* hsa_rsrc = reinterpret_cast(data); + const AgentInfo* agent_info = hsa_rsrc->AddAgentInfo(agent); + if (agent_info != NULL) status = HSA_STATUS_SUCCESS; + return status; +} + +// This function checks to see if the provided +// pool has the HSA_AMD_SEGMENT_GLOBAL property. If the kern_arg flag is true, +// the function adds an additional requirement that the pool have the +// HSA_AMD_MEMORY_POOL_GLOBAL_FLAG_KERNARG_INIT property. If kern_arg is false, +// pools must NOT have this property. +// Upon finding a pool that meets these conditions, HSA_STATUS_INFO_BREAK is +// returned. HSA_STATUS_SUCCESS is returned if no errors were encountered, but +// no pool was found meeting the requirements. If an error is encountered, we +// return that error. +static hsa_status_t +FindGlobalPool(hsa_amd_memory_pool_t pool, void* data, bool kern_arg) { + hsa_status_t err; + hsa_amd_segment_t segment; + uint32_t flag; + + if (nullptr == data) { + return HSA_STATUS_ERROR_INVALID_ARGUMENT; + } + + err = hsa_amd_memory_pool_get_info(pool, HSA_AMD_MEMORY_POOL_INFO_SEGMENT, + &segment); + CHECK_STATUS("hsa_amd_memory_pool_get_info", err); + if (HSA_AMD_SEGMENT_GLOBAL != segment) { + return HSA_STATUS_SUCCESS; + } + + err = hsa_amd_memory_pool_get_info(pool, + HSA_AMD_MEMORY_POOL_INFO_GLOBAL_FLAGS, &flag); + CHECK_STATUS("hsa_amd_memory_pool_get_info", err); + + uint32_t karg_st = flag & HSA_AMD_MEMORY_POOL_GLOBAL_FLAG_KERNARG_INIT; + + if ((karg_st == 0 && kern_arg) || + (karg_st != 0 && !kern_arg)) { + return HSA_STATUS_SUCCESS; + } + + *(reinterpret_cast(data)) = pool; + return HSA_STATUS_INFO_BREAK; +} + +// This is the call-back function for hsa_amd_agent_iterate_memory_pools() that +// finds a pool with the properties of HSA_AMD_SEGMENT_GLOBAL and that is NOT +// HSA_AMD_MEMORY_POOL_GLOBAL_FLAG_KERNARG_INIT +hsa_status_t FindStandardPool(hsa_amd_memory_pool_t pool, void* data) { + return FindGlobalPool(pool, data, false); +} + +// This is the call-back function for hsa_amd_agent_iterate_memory_pools() that +// finds a pool with the properties of HSA_AMD_SEGMENT_GLOBAL and that IS +// HSA_AMD_MEMORY_POOL_GLOBAL_FLAG_KERNARG_INIT +hsa_status_t FindKernArgPool(hsa_amd_memory_pool_t pool, void* data) { + return FindGlobalPool(pool, data, true); +} +#if 0 +// Callback function to find and bind kernarg region of an agent +hsa_status_t HsaRsrcFactory::FindMemRegionsCallback(hsa_region_t region, void* data) { + hsa_region_global_flag_t flags; + hsa_region_segment_t segment_id; + + hsa_region_get_info(region, HSA_REGION_INFO_SEGMENT, &segment_id); + if (segment_id != HSA_REGION_SEGMENT_GLOBAL) { + return HSA_STATUS_SUCCESS; + } + + AgentInfo* agent_info = (AgentInfo*)data; + hsa_region_get_info(region, HSA_REGION_INFO_GLOBAL_FLAGS, &flags); + if (flags & HSA_REGION_GLOBAL_FLAG_COARSE_GRAINED) { + agent_info->coarse_region = region; + } + + if (flags & HSA_REGION_GLOBAL_FLAG_KERNARG) { + agent_info->kernarg_region = region; + } + + return HSA_STATUS_SUCCESS; +} +#endif +// Constructor of the class +HsaRsrcFactory::HsaRsrcFactory(bool initialize_hsa) : initialize_hsa_(initialize_hsa) { + hsa_status_t status; + // Initialize the Hsa Runtime + if (initialize_hsa_) { + status = hsa_init(); + CHECK_STATUS("Error in hsa_init", status); + } + // Discover the set of Gpu devices available on the platform + status = hsa_iterate_agents(GetHsaAgentsCallback, this); + CHECK_STATUS("Error Calling hsa_iterate_agents", status); + + // Get AqlProfile API table + aqlprofile_api_ = {0}; +#ifdef ROCP_LD_AQLPROFILE + status = LoadAqlProfileLib(&aqlprofile_api_); +#else + status = hsa_system_get_extension_table(HSA_EXTENSION_AMD_AQLPROFILE, 1, 0, &aqlprofile_api_); +#endif + CHECK_STATUS("aqlprofile API table load failed", status); + + // Get Loader API table + loader_api_ = {0}; + status = hsa_system_get_extension_table(HSA_EXTENSION_AMD_LOADER, 1, 0, &loader_api_); + CHECK_STATUS("loader API table query failed", status); +} + +// Destructor of the class +HsaRsrcFactory::~HsaRsrcFactory() { + for (auto p : cpu_list_) delete p; + for (auto p : gpu_list_) delete p; + if (initialize_hsa_) { + hsa_status_t status = hsa_shut_down(); + CHECK_STATUS("Error in hsa_shut_down", status); + } +} + +hsa_status_t HsaRsrcFactory::LoadAqlProfileLib(aqlprofile_pfn_t* api) { + void* handle = dlopen(kAqlProfileLib, RTLD_NOW); + if (handle == NULL) { + fprintf(stderr, "Loading '%s' failed, %s\n", kAqlProfileLib, dlerror()); + return HSA_STATUS_ERROR; + } + dlerror(); /* Clear any existing error */ + + api->hsa_ven_amd_aqlprofile_error_string = + (decltype(::hsa_ven_amd_aqlprofile_error_string)*) + dlsym(handle, "hsa_ven_amd_aqlprofile_error_string"); + api->hsa_ven_amd_aqlprofile_validate_event = + (decltype(::hsa_ven_amd_aqlprofile_validate_event)*) + dlsym(handle, "hsa_ven_amd_aqlprofile_validate_event"); + api->hsa_ven_amd_aqlprofile_start = + (decltype(::hsa_ven_amd_aqlprofile_start)*) + dlsym(handle, "hsa_ven_amd_aqlprofile_start"); + api->hsa_ven_amd_aqlprofile_stop = + (decltype(::hsa_ven_amd_aqlprofile_stop)*) + dlsym(handle, "hsa_ven_amd_aqlprofile_stop"); +#if AQL_PROFILE_READ_API_ENABLE + api->hsa_ven_amd_aqlprofile_read = + (decltype(::hsa_ven_amd_aqlprofile_read)*) + dlsym(handle, "hsa_ven_amd_aqlprofile_read"); +#endif // AQL_PROFILE_READ_API_ENABLE + api->hsa_ven_amd_aqlprofile_legacy_get_pm4 = + (decltype(::hsa_ven_amd_aqlprofile_legacy_get_pm4)*) + dlsym(handle, "hsa_ven_amd_aqlprofile_legacy_get_pm4"); + api->hsa_ven_amd_aqlprofile_get_info = + (decltype(::hsa_ven_amd_aqlprofile_get_info)*) + dlsym(handle, "hsa_ven_amd_aqlprofile_get_info"); + api->hsa_ven_amd_aqlprofile_iterate_data = + (decltype(::hsa_ven_amd_aqlprofile_iterate_data)*) + dlsym(handle, "hsa_ven_amd_aqlprofile_iterate_data"); + + return HSA_STATUS_SUCCESS; +} + +// Add system agent info +const AgentInfo* HsaRsrcFactory::AddAgentInfo(const hsa_agent_t agent) { + // Determine if device is a Gpu agent + hsa_status_t status; + AgentInfo* agent_info = NULL; + + hsa_device_type_t type; + status = hsa_agent_get_info(agent, HSA_AGENT_INFO_DEVICE, &type); + CHECK_STATUS("Error Calling hsa_agent_get_info", status); + + if (type == HSA_DEVICE_TYPE_CPU) { + agent_info = new AgentInfo{}; + agent_info->dev_id = agent; + agent_info->dev_type = HSA_DEVICE_TYPE_CPU; + agent_info->dev_index = cpu_list_.size(); + + status = hsa_amd_agent_iterate_memory_pools(agent, FindStandardPool, &agent_info->cpu_pool); + CHECK_ITER_STATUS("hsa_amd_agent_iterate_memory_pools(cpu pool)", status); + status = hsa_amd_agent_iterate_memory_pools(agent, FindKernArgPool, &agent_info->kern_arg_pool); + CHECK_ITER_STATUS("hsa_amd_agent_iterate_memory_pools(kern arg pool)", status); + agent_info->gpu_pool = {}; + + cpu_list_.push_back(agent_info); + cpu_agents_.push_back(agent); + } + + if (type == HSA_DEVICE_TYPE_GPU) { + agent_info = new AgentInfo{}; + agent_info->dev_id = agent; + agent_info->dev_type = HSA_DEVICE_TYPE_GPU; + hsa_agent_get_info(agent, HSA_AGENT_INFO_NAME, agent_info->name); + strncpy(agent_info->gfxip, agent_info->name, 4); + agent_info->gfxip[4] = '\0'; + hsa_agent_get_info(agent, HSA_AGENT_INFO_WAVEFRONT_SIZE, &agent_info->max_wave_size); + hsa_agent_get_info(agent, HSA_AGENT_INFO_QUEUE_MAX_SIZE, &agent_info->max_queue_size); + hsa_agent_get_info(agent, HSA_AGENT_INFO_PROFILE, &agent_info->profile); + agent_info->is_apu = (agent_info->profile == HSA_PROFILE_FULL) ? true : false; + hsa_agent_get_info(agent, static_cast(HSA_AMD_AGENT_INFO_COMPUTE_UNIT_COUNT), &agent_info->cu_num); + hsa_agent_get_info(agent, static_cast(HSA_AMD_AGENT_INFO_MAX_WAVES_PER_CU), &agent_info->waves_per_cu); + hsa_agent_get_info(agent, static_cast(HSA_AMD_AGENT_INFO_NUM_SIMDS_PER_CU), &agent_info->simds_per_cu); + hsa_agent_get_info(agent, static_cast(HSA_AMD_AGENT_INFO_NUM_SHADER_ENGINES), &agent_info->se_num); + hsa_agent_get_info(agent, static_cast(HSA_AMD_AGENT_INFO_NUM_SHADER_ARRAYS_PER_SE), &agent_info->shader_arrays_per_se); + + agent_info->cpu_pool = {}; + agent_info->kern_arg_pool = {}; + status = hsa_amd_agent_iterate_memory_pools(agent, FindStandardPool, &agent_info->gpu_pool); + CHECK_ITER_STATUS("hsa_amd_agent_iterate_memory_pools(gpu pool)", status); +#if 0 + // Initialize memory regions to zero + agent_info->kernarg_region.handle = 0; + agent_info->coarse_region.handle = 0; + // Find and Bind Memory regions of the Gpu agent + hsa_agent_iterate_regions(agent, FindMemRegionsCallback, agent_info); +#endif + + // Set GPU index + agent_info->dev_index = gpu_list_.size(); + gpu_list_.push_back(agent_info); + gpu_agents_.push_back(agent); + } + + if (agent_info) agent_map_[agent.handle] = agent_info; + + return agent_info; +} + +// Return systen agent info +const AgentInfo* HsaRsrcFactory::GetAgentInfo(const hsa_agent_t agent) { + const AgentInfo* agent_info = NULL; + auto it = agent_map_.find(agent.handle); + if (it != agent_map_.end()) { + agent_info = it->second; + } + return agent_info; +} + +// Get the count of Hsa Gpu Agents available on the platform +// +// @return uint32_t Number of Gpu agents on platform +// +uint32_t HsaRsrcFactory::GetCountOfGpuAgents() { return uint32_t(gpu_list_.size()); } + +// Get the count of Hsa Cpu Agents available on the platform +// +// @return uint32_t Number of Cpu agents on platform +// +uint32_t HsaRsrcFactory::GetCountOfCpuAgents() { return uint32_t(cpu_list_.size()); } + +// Get the AgentInfo handle of a Gpu device +// +// @param idx Gpu Agent at specified index +// +// @param agent_info Output parameter updated with AgentInfo +// +// @return bool true if successful, false otherwise +// +bool HsaRsrcFactory::GetGpuAgentInfo(uint32_t idx, const AgentInfo** agent_info) { + // Determine if request is valid + uint32_t size = uint32_t(gpu_list_.size()); + if (idx >= size) { + return false; + } + + // Copy AgentInfo from specified index + *agent_info = gpu_list_[idx]; + + return true; +} + +// Get the AgentInfo handle of a Cpu device +// +// @param idx Cpu Agent at specified index +// +// @param agent_info Output parameter updated with AgentInfo +// +// @return bool true if successful, false otherwise +// +bool HsaRsrcFactory::GetCpuAgentInfo(uint32_t idx, const AgentInfo** agent_info) { + // Determine if request is valid + uint32_t size = uint32_t(cpu_list_.size()); + if (idx >= size) { + return false; + } + + // Copy AgentInfo from specified index + *agent_info = cpu_list_[idx]; + return true; +} + +// Create a Queue object and return its handle. The queue object is expected +// to support user requested number of Aql dispatch packets. +// +// @param agent_info Gpu Agent on which to create a queue object +// +// @param num_Pkts Number of packets to be held by queue +// +// @param queue Output parameter updated with handle of queue object +// +// @return bool true if successful, false otherwise +// +bool HsaRsrcFactory::CreateQueue(const AgentInfo* agent_info, uint32_t num_pkts, + hsa_queue_t** queue) { + hsa_status_t status; + status = hsa_queue_create(agent_info->dev_id, num_pkts, HSA_QUEUE_TYPE_MULTI, NULL, NULL, + UINT32_MAX, UINT32_MAX, queue); + return (status == HSA_STATUS_SUCCESS); +} + +// Create a Signal object and return its handle. +// @param value Initial value of signal object +// @param signal Output parameter updated with handle of signal object +// @return bool true if successful, false otherwise +bool HsaRsrcFactory::CreateSignal(uint32_t value, hsa_signal_t* signal) { + hsa_status_t status; + status = hsa_signal_create(value, 0, NULL, signal); + return (status == HSA_STATUS_SUCCESS); +} + +// Allocate memory for use by a kernel of specified size in specified +// agent's memory region. +// @param agent_info Agent from whose memory region to allocate +// @param size Size of memory in terms of bytes +// @return uint8_t* Pointer to buffer, null if allocation fails. +uint8_t* HsaRsrcFactory::AllocateLocalMemory(const AgentInfo* agent_info, size_t size) { + hsa_status_t status = HSA_STATUS_ERROR; + uint8_t* buffer = NULL; + size = (size + MEM_PAGE_MASK) & ~MEM_PAGE_MASK; + status = hsa_amd_memory_pool_allocate(agent_info->gpu_pool, size, 0, (void**)&buffer); + // Only GPU can access the memory + if (status == HSA_STATUS_SUCCESS) { + hsa_agent_t agents_list[1] = {agent_info->dev_id}; + status = hsa_amd_agents_allow_access(1, agents_list, NULL, buffer); + } + uint8_t* ptr = (status == HSA_STATUS_SUCCESS) ? buffer : NULL; + printf("AllocateLocalMemory %p\n", ptr); + return ptr; +} + +// Allocate memory to pass kernel parameters. +// Memory is alocated accessible for all CPU agents and for GPU given by AgentInfo parameter. +// @param agent_info Agent from whose memory region to allocate +// @param size Size of memory in terms of bytes +// @return uint8_t* Pointer to buffer, null if allocation fails. +uint8_t* HsaRsrcFactory::AllocateKernArgMemory(const AgentInfo* agent_info, size_t size) { + hsa_status_t status = HSA_STATUS_ERROR; + uint8_t* buffer = NULL; + if (!cpu_agents_.empty()) { + size = (size + MEM_PAGE_MASK) & ~MEM_PAGE_MASK; + status = hsa_amd_memory_pool_allocate(cpu_list_[0]->kern_arg_pool, size, 0, (void**)&buffer); + // Both the CPU and GPU can access the kernel arguments + if (status == HSA_STATUS_SUCCESS) { + auto agents_vec = cpu_agents_; + agents_vec.push_back(agent_info->dev_id); + status = hsa_amd_agents_allow_access(agents_vec.size(), &agents_vec[0], NULL, buffer); + } + } + uint8_t* ptr = (status == HSA_STATUS_SUCCESS) ? buffer : NULL; + printf("AllocateKernargMemory %p\n", ptr); + return ptr; +} + +// Allocate system memory accessible by both CPU and GPU +// @param agent_info Agent from whose memory region to allocate +// @param size Size of memory in terms of bytes +// @return uint8_t* Pointer to buffer, null if allocation fails. +uint8_t* HsaRsrcFactory::AllocateSysMemory(const AgentInfo* agent_info, size_t size) { + hsa_status_t status = HSA_STATUS_ERROR; + uint8_t* buffer = NULL; + if (!cpu_agents_.empty()) { + size = (size + MEM_PAGE_MASK) & ~MEM_PAGE_MASK; + status = hsa_amd_memory_pool_allocate(cpu_list_[0]->cpu_pool, size, 0, (void**)&buffer); + // Both the CPU and GPU can access the memory + if (status == HSA_STATUS_SUCCESS) { + auto agents_vec = cpu_agents_; + agents_vec.push_back(agent_info->dev_id); + status = hsa_amd_agents_allow_access(agents_vec.size(), &agents_vec[0], NULL, buffer); + } + } + uint8_t* ptr = (status == HSA_STATUS_SUCCESS) ? buffer : NULL; + printf("AllocateSysMemory %p\n", ptr); + return ptr; +} + +// Copy data from GPU to host memory +bool HsaRsrcFactory::CopyToHost(const hsa_agent_t& agent, void* dst, const void* src, size_t size) { + hsa_status_t status = HSA_STATUS_ERROR; + if (!cpu_agents_.empty()) { + hsa_signal_t s = {}; + hsa_status_t status = hsa_signal_create(1, 0, NULL, &s); + if (status == HSA_STATUS_SUCCESS) { + status = hsa_amd_memory_async_copy(dst, cpu_agents_[0], src, agent, size, 0, NULL, s); + if (status == HSA_STATUS_SUCCESS) { + if (hsa_signal_wait_scacquire(s, HSA_SIGNAL_CONDITION_LT, 1, UINT64_MAX, HSA_WAIT_STATE_BLOCKED) != 0) { + status = HSA_STATUS_ERROR; + } + } + status = hsa_signal_destroy(s); + } + } + return (status == HSA_STATUS_SUCCESS); +} +bool HsaRsrcFactory::CopyToHost(const AgentInfo* agent_info, void* dst, const void* src, size_t size) { + return CopyToHost(agent_info->dev_id, dst, src, size); +} + +// Loads an Assembled Brig file and Finalizes it into Device Isa +// @param agent_info Gpu device for which to finalize +// @param brig_path File path of the Assembled Brig file +// @param kernel_name Name of the kernel to finalize +// @param code_desc Handle of finalized Code Descriptor that could +// be used to submit for execution +// @return bool true if successful, false otherwise +bool HsaRsrcFactory::LoadAndFinalize(const AgentInfo* agent_info, const char* brig_path, + const char* kernel_name, hsa_executable_t* executable, hsa_executable_symbol_t* code_desc) { + hsa_status_t status = HSA_STATUS_ERROR; + + // Build the code object filename + std::string filename(brig_path); + std::clog << "Code object filename: " << filename << std::endl; + + // Open the file containing code object + hsa_file_t file_handle = open(filename.c_str(), O_RDONLY); + if (file_handle == -1) { + std::cerr << "Error: failed to load '" << filename << "'" << std::endl; + assert(false); + return false; + } + + // Create code object reader + hsa_code_object_reader_t code_obj_rdr = {0}; + status = hsa_code_object_reader_create_from_file(file_handle, &code_obj_rdr); + if (status != HSA_STATUS_SUCCESS) { + std::cerr << "Failed to create code object reader '" << filename << "'" << std::endl; + return false; + } + + // Create executable. + status = hsa_executable_create_alt(HSA_PROFILE_FULL, + HSA_DEFAULT_FLOAT_ROUNDING_MODE_DEFAULT, NULL, executable); + CHECK_STATUS("Error in creating executable object", status); + + // Load code object. + status = hsa_executable_load_agent_code_object(*executable, agent_info->dev_id, + code_obj_rdr, NULL, NULL); + CHECK_STATUS("Error in loading executable object", status); + + // Freeze executable. + status = hsa_executable_freeze(*executable, ""); + CHECK_STATUS("Error in freezing executable object", status); + + // Get symbol handle. + hsa_executable_symbol_t kernelSymbol; + status = hsa_executable_get_symbol(*executable, NULL, kernel_name, agent_info->dev_id, 0, + &kernelSymbol); + CHECK_STATUS("Error in looking up kernel symbol", status); + + // Update output parameter + *code_desc = kernelSymbol; + return true; +} + +// Print the various fields of Hsa Gpu Agents +bool HsaRsrcFactory::PrintGpuAgents(const std::string& header) { + std::clog << header << " :" << std::endl; + + const AgentInfo* agent_info; + int size = uint32_t(gpu_list_.size()); + for (int idx = 0; idx < size; idx++) { + agent_info = gpu_list_[idx]; + + std::clog << "> agent[" << idx << "] :" << std::endl; + std::clog << ">> Name : " << agent_info->name << std::endl; + std::clog << ">> APU : " << agent_info->is_apu << std::endl; + std::clog << ">> HSAIL profile : " << agent_info->profile << std::endl; + std::clog << ">> Max Wave Size : " << agent_info->max_wave_size << std::endl; + std::clog << ">> Max Queue Size : " << agent_info->max_queue_size << std::endl; +// std::clog << ">> Kernarg Region Id : " << agent_info->coarse_region.handle << std::endl; + std::clog << ">> CU number : " << agent_info->cu_num << std::endl; + std::clog << ">> Waves per CU : " << agent_info->waves_per_cu << std::endl; + std::clog << ">> SIMDs per CU : " << agent_info->simds_per_cu << std::endl; + std::clog << ">> SE number : " << agent_info->se_num << std::endl; + std::clog << ">> Shader Arrays per SE : " << agent_info->shader_arrays_per_se << std::endl; + } + return true; +} + +uint64_t HsaRsrcFactory::Submit(hsa_queue_t* queue, void* packet) { + const uint32_t slot_size_b = 0x40; + + // adevance command queue + const uint64_t write_idx = hsa_queue_load_write_index_relaxed(queue); + hsa_queue_store_write_index_relaxed(queue, write_idx + 1); + while ((write_idx - hsa_queue_load_read_index_relaxed(queue)) >= queue->size) { + sched_yield(); + } + + uint32_t slot_idx = (uint32_t)(write_idx % queue->size); + uint32_t* queue_slot = (uint32_t*)((uintptr_t)(queue->base_address) + (slot_idx * slot_size_b)); + uint32_t* slot_data = (uint32_t*)packet; + + // Copy buffered commands into the queue slot. + // Overwrite the AQL invalid header (first dword) last. + // This prevents the slot from being read until it's fully written. + memcpy(&queue_slot[1], &slot_data[1], slot_size_b - sizeof(uint32_t)); + std::atomic* header_atomic_ptr = reinterpret_cast*>(&queue_slot[0]); + header_atomic_ptr->store(slot_data[0], std::memory_order_release); + + // ringdoor bell + hsa_signal_store_relaxed(queue->doorbell_signal, write_idx); + + return write_idx; +} + +HsaRsrcFactory* HsaRsrcFactory::instance_ = NULL; +HsaRsrcFactory::mutex_t HsaRsrcFactory::mutex_; + +} // namespace util +} // namespace roctracer diff --git a/src/util/hsa_rsrc_factory.h b/src/util/hsa_rsrc_factory.h new file mode 100644 index 0000000000..b946c969bf --- /dev/null +++ b/src/util/hsa_rsrc_factory.h @@ -0,0 +1,283 @@ +/********************************************************************** +Copyright ©2013 Advanced Micro Devices, Inc. All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted +provided that the following conditions are met: + +<95> Redistributions of source code must retain the above copyright notice, this list of +conditions and the following disclaimer. +<95> Redistributions in binary form must reproduce the above copyright notice, this list of +conditions and the following disclaimer in the documentation and/or + other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR +IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT +SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY + DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS + OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +********************************************************************/ + +#ifndef _HSA_RSRC_FACTORY_H_ +#define _HSA_RSRC_FACTORY_H_ + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#define HSA_ARGUMENT_ALIGN_BYTES 16 +#define HSA_QUEUE_ALIGN_BYTES 64 +#define HSA_PACKET_ALIGN_BYTES 64 + +#define CHECK_STATUS(msg, status) \ + if (status != HSA_STATUS_SUCCESS) { \ + const char* emsg = 0; \ + hsa_status_string(status, &emsg); \ + printf("%s: %s\n", msg, emsg ? emsg : ""); \ + exit(1); \ + } + +#define CHECK_ITER_STATUS(msg, status) \ + if (status != HSA_STATUS_INFO_BREAK) { \ + const char* emsg = 0; \ + hsa_status_string(status, &emsg); \ + printf("%s: %s\n", msg, emsg ? emsg : ""); \ + exit(1); \ + } + +namespace roctracer { +namespace util { +static const unsigned MEM_PAGE_BYTES = 0x1000; +static const unsigned MEM_PAGE_MASK = MEM_PAGE_BYTES - 1; +typedef decltype(hsa_agent_t::handle) hsa_agent_handle_t; + +// Encapsulates information about a Hsa Agent such as its +// handle, name, max queue size, max wavefront size, etc. +struct AgentInfo { + // Handle of Agent + hsa_agent_t dev_id; + + // Agent type - Cpu = 0, Gpu = 1 or Dsp = 2 + uint32_t dev_type; + + // APU flag + bool is_apu; + + // Agent system index + uint32_t dev_index; + + // GFXIP name + char gfxip[64]; + + // Name of Agent whose length is less than 64 + char name[64]; + + // Max size of Wavefront size + uint32_t max_wave_size; + + // Max size of Queue buffer + uint32_t max_queue_size; + + // Hsail profile supported by agent + hsa_profile_t profile; +#if 0 + // Memory region supporting kernel parameters + hsa_region_t coarse_region; + + // Memory region supporting kernel arguments + hsa_region_t kernarg_region; +#endif + // CPU/GPU/kern-arg memory pools + hsa_amd_memory_pool_t cpu_pool; + hsa_amd_memory_pool_t gpu_pool; + hsa_amd_memory_pool_t kern_arg_pool; + + // The number of compute unit available in the agent. + uint32_t cu_num; + + // Maximum number of waves possible in a Compute Unit. + uint32_t waves_per_cu; + + // Number of SIMD's per compute unit CU + uint32_t simds_per_cu; + + // Number of Shader Engines (SE) in Gpu + uint32_t se_num; + + // Number of Shader Arrays Per Shader Engines in Gpu + uint32_t shader_arrays_per_se; +}; + +class HsaRsrcFactory { + public: + typedef std::recursive_mutex mutex_t; + + static HsaRsrcFactory* Create(bool initialize_hsa = true) { + std::lock_guard lck(mutex_); + if (instance_ == NULL) { + instance_ = new HsaRsrcFactory(initialize_hsa); + } + return instance_; + } + + static HsaRsrcFactory& Instance() { + if (instance_ == NULL) instance_ = Create(false); + hsa_status_t status = (instance_ != NULL) ? HSA_STATUS_SUCCESS : HSA_STATUS_ERROR; + CHECK_STATUS("HsaRsrcFactory::Instance() failed", status); + return *instance_; + } + + static void Destroy() { + std::lock_guard lck(mutex_); + if (instance_) delete instance_; + instance_ = NULL; + } + + // Return system agent info + const AgentInfo* GetAgentInfo(const hsa_agent_t agent); + + // Get the count of Hsa Gpu Agents available on the platform + // @return uint32_t Number of Gpu agents on platform + uint32_t GetCountOfGpuAgents(); + + // Get the count of Hsa Cpu Agents available on the platform + // @return uint32_t Number of Cpu agents on platform + uint32_t GetCountOfCpuAgents(); + + // Get the AgentInfo handle of a Gpu device + // @param idx Gpu Agent at specified index + // @param agent_info Output parameter updated with AgentInfo + // @return bool true if successful, false otherwise + bool GetGpuAgentInfo(uint32_t idx, const AgentInfo** agent_info); + + // Get the AgentInfo handle of a Cpu device + // @param idx Cpu Agent at specified index + // @param agent_info Output parameter updated with AgentInfo + // @return bool true if successful, false otherwise + bool GetCpuAgentInfo(uint32_t idx, const AgentInfo** agent_info); + + // Create a Queue object and return its handle. The queue object is expected + // to support user requested number of Aql dispatch packets. + // @param agent_info Gpu Agent on which to create a queue object + // @param num_Pkts Number of packets to be held by queue + // @param queue Output parameter updated with handle of queue object + // @return bool true if successful, false otherwise + bool CreateQueue(const AgentInfo* agent_info, uint32_t num_pkts, hsa_queue_t** queue); + + // Create a Signal object and return its handle. + // @param value Initial value of signal object + // @param signal Output parameter updated with handle of signal object + // @return bool true if successful, false otherwise + bool CreateSignal(uint32_t value, hsa_signal_t* signal); + + // Allocate local GPU memory + // @param agent_info Agent from whose memory region to allocate + // @param size Size of memory in terms of bytes + // @return uint8_t* Pointer to buffer, null if allocation fails. + uint8_t* AllocateLocalMemory(const AgentInfo* agent_info, size_t size); + + // Allocate memory tp pass kernel parameters + // Memory is alocated accessible for all CPU agents and for GPU given by AgentInfo parameter. + // @param agent_info Agent from whose memory region to allocate + // @param size Size of memory in terms of bytes + // @return uint8_t* Pointer to buffer, null if allocation fails. + uint8_t* AllocateKernArgMemory(const AgentInfo* agent_info, size_t size); + + // Allocate system memory accessible from both CPU and GPU + // Memory is alocated accessible to all CPU agents and AgentInfo parameter is ignored. + // @param agent_info Agent from whose memory region to allocate + // @param size Size of memory in terms of bytes + // @return uint8_t* Pointer to buffer, null if allocation fails. + uint8_t* AllocateSysMemory(const AgentInfo* agent_info, size_t size); + + // Copy data from GPU to host memory + bool CopyToHost(const hsa_agent_t& agent, void* dst, const void* src, size_t size); + bool CopyToHost(const AgentInfo* agent_info, void* dst, const void* src, size_t size); + + // Loads an Assembled Brig file and Finalizes it into Device Isa + // @param agent_info Gpu device for which to finalize + // @param brig_path File path of the Assembled Brig file + // @param kernel_name Name of the kernel to finalize + // @param code_desc Handle of finalized Code Descriptor that could + // be used to submit for execution + // @return true if successful, false otherwise + bool LoadAndFinalize(const AgentInfo* agent_info, const char* brig_path, const char* kernel_name, + hsa_executable_t* hsa_exec, hsa_executable_symbol_t* code_desc); + + // Print the various fields of Hsa Gpu Agents + bool PrintGpuAgents(const std::string& header); + + // Submit AQL packet to given queue + static uint64_t Submit(hsa_queue_t* queue, void* packet); + + // Return AqlProfile API table + typedef hsa_ven_amd_aqlprofile_1_00_pfn_t aqlprofile_pfn_t; + const aqlprofile_pfn_t* AqlProfileApi() const { return &aqlprofile_api_; } + + // Return Loader API table + const hsa_ven_amd_loader_1_00_pfn_t* LoaderApi() const { return &loader_api_; } + + private: + // System agents iterating callback + static hsa_status_t GetHsaAgentsCallback(hsa_agent_t agent, void* data); + + // Callback function to find and bind kernarg region of an agent + static hsa_status_t FindMemRegionsCallback(hsa_region_t region, void* data); + + // Load AQL profile HSA extension library directly + static hsa_status_t LoadAqlProfileLib(aqlprofile_pfn_t* api); + + // Constructor of the class. Will initialize the Hsa Runtime and + // query the system topology to get the list of Cpu and Gpu devices + HsaRsrcFactory(bool initialize_hsa); + + // Destructor of the class + ~HsaRsrcFactory(); + + // HSA was initialized + const bool initialize_hsa_; + + // Add an instance of AgentInfo representing a Hsa Gpu agent + const AgentInfo* AddAgentInfo(const hsa_agent_t agent); + + static HsaRsrcFactory* instance_; + static mutex_t mutex_; + + // Used to maintain a list of Hsa Gpu Agent Info + std::vector gpu_list_; + std::vector gpu_agents_; + + // Used to maintain a list of Hsa Cpu Agent Info + std::vector cpu_list_; + std::vector cpu_agents_; + + // System agents map + std::map agent_map_; + + // AqlProfile API table + aqlprofile_pfn_t aqlprofile_api_; + + // Loader API table + hsa_ven_amd_loader_1_00_pfn_t loader_api_; +}; + +} // namespace util +} // namespace roctracer + +#endif // _HSA_RSRC_FACTORY_H_ diff --git a/src/util/logger.h b/src/util/logger.h new file mode 100644 index 0000000000..8e34a11873 --- /dev/null +++ b/src/util/logger.h @@ -0,0 +1,169 @@ +#ifndef SRC_UTIL_LOGGER_H_ +#define SRC_UTIL_LOGGER_H_ + +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include + +namespace roctracer { +namespace util { + +class Logger { + public: + typedef std::recursive_mutex mutex_t; + + template Logger& operator<<(const T& m) { + std::ostringstream oss; + oss << m; + if (!streaming_) + Log(oss.str()); + else + Put(oss.str()); + streaming_ = true; + return *this; + } + + typedef void (*manip_t)(); + Logger& operator<<(manip_t f) { + f(); + return *this; + } + + static void begm() { Instance().ResetStreaming(true); } + static void endl() { Instance().ResetStreaming(false); } + + static const std::string& LastMessage() { + Logger& logger = Instance(); + std::lock_guard lck(mutex_); + return logger.message_[GetTid()]; + } + + static Logger* Create() { + std::lock_guard lck(mutex_); + if (instance_ == NULL) instance_ = new Logger(); + return instance_; + } + + static void Destroy() { + std::lock_guard lck(mutex_); + if (instance_ != NULL) delete instance_; + instance_ = NULL; + } + + static Logger& Instance() { + Create(); + return *instance_; + } + + private: + static uint32_t GetPid() { return syscall(__NR_getpid); } + static uint32_t GetTid() { return syscall(__NR_gettid); } + + Logger() : file_(NULL), dirty_(false), streaming_(false), messaging_(false) { + const char* path = getenv("ROCTRACER_LOG"); + if (path != NULL) { + file_ = fopen("/tmp/roctracer_log.txt", "a"); + } + ResetStreaming(false); + } + + ~Logger() { + if (file_ != NULL) { + if (dirty_) Put("\n"); + fclose(file_); + } + } + + void ResetStreaming(const bool messaging) { + std::lock_guard lck(mutex_); + if (messaging) { + message_[GetTid()] = ""; + } else if (streaming_) { + Put("\n"); + dirty_ = false; + } + messaging_ = messaging; + streaming_ = messaging; + } + + void Put(const std::string& m) { + std::lock_guard lck(mutex_); + if (messaging_) { + message_[GetTid()] += m; + } + if (file_ != NULL) { + dirty_ = true; + flock(fileno(file_), LOCK_EX); + fprintf(file_, "%s", m.c_str()); + fflush(file_); + flock(fileno(file_), LOCK_UN); + } + } + + void Log(const std::string& m) { + const time_t rawtime = time(NULL); + tm tm_info; + localtime_r(&rawtime, &tm_info); + char tm_str[26]; + strftime(tm_str, 26, "%Y-%m-%d %H:%M:%S", &tm_info); + std::ostringstream oss; + oss << "<" << tm_str << std::dec << " pid" << GetPid() << " tid" << GetTid() << "> " << m; + Put(oss.str()); + } + + FILE* file_; + bool dirty_; + bool streaming_; + bool messaging_; + + static mutex_t mutex_; + static Logger* instance_; + std::map message_; +}; + +} // namespace util +} // namespace roctracer + +#define ERR_LOGGING(stream) \ + { \ + roctracer::util::Logger::Instance() << "error: " << roctracer::util::Logger::begm \ + << stream << roctracer::util::Logger::endl; \ + } + +#define INFO_LOGGING(stream) \ + { \ + roctracer::util::Logger::Instance() << "info: " << roctracer::util::Logger::begm << stream \ + << roctracer::util::Logger::endl; \ + } + +#define WARN_LOGGING(stream) \ + { \ + std::cerr << "ROCProfiler: " << stream << std::endl; \ + roctracer::util::Logger::Instance() << "warning: " << roctracer::util::Logger::begm << stream \ + << roctracer::util::Logger::endl; \ + } + +#ifdef DEBUG +#define DBG_LOGGING(stream) \ + { \ + roctracer::util::Logger::Instance() << roctracer::util::Logger::begm << "debug: \"" \ + << stream << "\"" < < < < \ + " in " << __FUNCTION__ << " at " << __FILE__ << " line " << __LINE__ \ + << roctracer::util::Logger::endl; \ + } +#endif + +#endif // SRC_UTIL_LOGGER_H_ diff --git a/test/MatrixTranspose/Makefile b/test/MatrixTranspose/Makefile new file mode 100644 index 0000000000..0d21e8ebd0 --- /dev/null +++ b/test/MatrixTranspose/Makefile @@ -0,0 +1,36 @@ +ROOT_PATH=../.. +LIB_PATH=$(ROOT_PATH)/b +LIB_NAME=roctracer64 + +export HCC_HOME=/home/evgeny/git/compute/out/ubuntu-16.04/16.04/hcc +HIP_PATH=/home/evgeny/git/compute/external/hip/hip +HIPCC=$(HIP_PATH)/bin/hipcc + +SOURCES = MatrixTranspose.cpp +OBJECTS = $(SOURCES:.cpp=.o) + +EXECUTABLE=./MatrixTranspose +export LD_LIBRARY_PATH=$(LIB_PATH) + +.PHONY: test + + +all: $(EXECUTABLE) test + +CXXFLAGS =-g -DCOMPILE_HIP_ATP_MARKER=1 -I$(ROOT_PATH) +CXX=$(HIPCC) + + +$(EXECUTABLE): $(OBJECTS) + $(HIPCC) $(OBJECTS) -o $@ -L/home/evgeny/git/compute/out/ubuntu-16.04/16.04/hcc/lib -lmcwamp_hsa -L$(LIB_PATH) -l$(LIB_NAME) + + +test: $(EXECUTABLE) + HCC_PROFILE=1 $(EXECUTABLE) + + +clean: + rm -f $(EXECUTABLE) + rm -f $(OBJECTS) + rm -f $(HIP_PATH)/src/*.o + diff --git a/test/MatrixTranspose/MatrixTranspose b/test/MatrixTranspose/MatrixTranspose new file mode 100755 index 0000000000000000000000000000000000000000..769110b31e62bca866fee07814e2bc1a0d225bbc GIT binary patch literal 1980792 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%0Dee{Mx0ycrW18-%X;w3wC96H0M`7 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

seGjKXIf`a9MxINoxer1|vnH>p{f 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

h9{9n#|i@aP-q>9&*Hw-u;z7MW^n1^%FLp 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

c#E(36}VBfiUM@~6{#R0m9 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≪rsgFzWl-NRWlF4kEog4)KZfZ%|@h2J`72k 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

%(d&mD{7=;Lnjl_?u}hI$^*euvP<-Q!yf+%rm< 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%0ArRWcvjUqcY%E9m$I(wl+w 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

7wj?(Jv!uCC?=Cm46Dfp^W z-HnUQP#QQv{r4=+3~u$fywTPR7h$sPbS~`RX%$rc;kAV!>_f2sUURp52lzjHZdk9= zr%TUXn4|MplQ}-OY+}C-1q}Cw`H_b7JA zYY{TH$l#P$PUEBpa@TOl6T+w$hTGhM0HmJ4Bsa6BZuEp`XV`2-#f5yeG%sB;@YcCm zyUn0;nQsO{pU_nvd$4JB6NHejr+iDW~*ATSfAPfYtURsEzwj!<&;S=PbfOG5EVrWS=YfG)-GQz z6w-DWHU3S!%yGfI2@%K};NVuGXFFRZK&y0b^ul!s*VV`yz4l16J5!;LLshI9J(oA` zyFzE9C&#uElRBiMC?C8dv0ufEDY4&s?z4OYTsYc*lRZ8E8cTZ@vL%m=EUr2-#;#6Xw4O^zMUmBM=>e8NN zY1TS|6rpueE~=O{T!Tij!DME!bK2#4gAgpL4^Wtm_Y_+sDa=A7oH)Z{grJQxa2Re4 z+g)+yV-3MX853s^*=I}=d>msB*ynDN8yuf|_Q(!uh#V<7lw7&3gP;zf#?1mzvD(^I2T7F$yr8YWqk@>M%qRim65 zN{yefbLNvQ&=Anv3%i5*Ym`;nId zl~2rcZ%($cHg6NHOlylW`KLw8_e>ZE!4rf`$=G=>twnm4IlmITS8uBmg-?7+(E5O+ zq&f-rRlLk9j=8kM^Nwi2op_wvDfACbzDvRTZRd5CMbtVHI;KH9o0wo}Q#ad9EQY&>&9tk*WiPueyf5~dYHI5b#JtWnu@LXL2=c__CqU+}0S{wh|R;d>kO zbj&R7o$>cF?oxcT+D9%B*@x4ECMHyKcD;#)>T50UIFpkN?BX_g60$c(YF%>ym1fW&gKk%=Nf?2-8Q-4w~B z70s<-Oq@-B#Q7=<2$!GhucA+#Jmh5v6{`sEVn#%Z)8tHUhQ9nKSaWbs#Hi6k4h(xG z*vp&=t846Gb=H_|>>LM?NptzJHrJ@dRak}+c(m6%j?_R}%SLsx)zI7^o9SxMK$Rii zy+?+pVzE2`I@^WVSQ4&7b>4D`lHkZC!OaL_Zo}Sw3b2^Yg?Kaz`k_Ag6JEc&tc*@W zmRjEPe7M0hDFQQ5?i5F^yOA{UJ0$Sh<~4(zO?p_HdoWq&SK?qYC{D< zXuJ4oC+>slcHV(;ES+~^)m?(dOB#)|d%aW65mMh&GL}<0NBpJ~NyfTh{79xvLZ^$2 z>IP{`(S^=Vv{l@Wnhkz-H{LL?A{&>6q!mIDBihBQ^b%WXwUFpxVYq5}*Xd#bD&iMz zRjN4HkT$#5er-&`dWf;Mi0yFz5f9BMv+`FXPZdKGwB4di4?{dg10M=&;^PDmebW~1 zbh`D1U)ufopjUkw7d-o89P67QRs+% zI7@($sFI|q=lse#5m6K*rzs!o^;%aZyiCgOR9r@=HOo|ghIgpAkEZGVf&!{gUO2E2 z@kz(_q9`?#AJY>FP1*c_HLDacai*JnOktKGQVr|iFAGR8z^eyHQ^9iBrXa^Ejv+5S z*m}eMsz%@Z#)Gs2Ajmq}u+)Zy0s3U1;U8w9JaN-Ti}pl40E=4PETQRb)C*EehzE8W z=utAj?@TBX!31&Vt_QoOjOZB$z?=@47~evI-!5CXJvxz)Co5Bqj%{C=g{U*>23EA} zulQJ;8Drx-b8xr$nTJ%Lfv%L`hKB^X3UYBP8C=X_p}m!&HCSMxNz*fD z!)mjYTB1NM;mz)dH5(J(FiA_kjZkbgs#q7louYCqzT9*qh5|r86-P?eV>NTMVZlDk zcH$1Sxl`~p3S+cwX%>fF)9Mb%$jA@EPuGXFE~wLg1x|iT-IEfXp5JU-Xm<1v$Yypa z-*MWcQ5L6Eb8CW}q4@Q zJ%CNF(IYZvQ0)ol3u?c>djsA;;C`G#

=roi?mns3ENZ5<6L))PNKP*Y^O!Ofxo< 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 literal 0 HcmV?d00001 diff --git a/test/MatrixTranspose/MatrixTranspose.cpp b/test/MatrixTranspose/MatrixTranspose.cpp new file mode 100644 index 0000000000..df57c8b900 --- /dev/null +++ b/test/MatrixTranspose/MatrixTranspose.cpp @@ -0,0 +1,269 @@ +/* +Copyright (c) 2015-2016 Advanced Micro Devices, Inc. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +*/ + +#include +#include + +// hip header file +#include "hip/hip_runtime.h" +#include "hip/hip_cbstr.h" +#include "inc/roctracer.h" + +#define WIDTH 1024 + + +#define NUM (WIDTH * WIDTH) + +#define THREADS_PER_BLOCK_X 4 +#define THREADS_PER_BLOCK_Y 4 +#define THREADS_PER_BLOCK_Z 1 + +// Device (Kernel) function, it must be void +// hipLaunchParm provides the execution configuration +__global__ void matrixTranspose(hipLaunchParm lp, float* out, float* in, const int width) { + int x = hipBlockDim_x * hipBlockIdx_x + hipThreadIdx_x; + int y = hipBlockDim_y * hipBlockIdx_y + hipThreadIdx_y; + + out[y * width + x] = in[x * width + y]; +} + +// CPU implementation of matrix transpose +void matrixTransposeCPUReference(float* output, float* input, const unsigned int width) { + for (unsigned int j = 0; j < width; j++) { + for (unsigned int i = 0; i < width; i++) { + output[i * width + j] = input[j * width + i]; + } + } +} + +void init_tracing(); +void finish_tracing(); + +int main() { + init_tracing(); + + float* Matrix; + float* TransposeMatrix; + float* cpuTransposeMatrix; + + float* gpuMatrix; + float* gpuTransposeMatrix; + + hipDeviceProp_t devProp; + hipGetDeviceProperties(&devProp, 0); + + std::cout << "Device name " << devProp.name << std::endl; + + int i; + int errors; + + int iterations = 10; + begin: + + Matrix = (float*)malloc(NUM * sizeof(float)); + TransposeMatrix = (float*)malloc(NUM * sizeof(float)); + cpuTransposeMatrix = (float*)malloc(NUM * sizeof(float)); + + // initialize the input data + for (i = 0; i < NUM; i++) { + Matrix[i] = (float)i * 10.0f; + } + + // allocate the memory on the device side + hipMalloc((void**)&gpuMatrix, NUM * sizeof(float)); + hipMalloc((void**)&gpuTransposeMatrix, NUM * sizeof(float)); + + // Memory transfer from host to device + hipMemcpy(gpuMatrix, Matrix, NUM * sizeof(float), hipMemcpyHostToDevice); + + // Lauching kernel from host + hipLaunchKernel(matrixTranspose, dim3(WIDTH / THREADS_PER_BLOCK_X, WIDTH / THREADS_PER_BLOCK_Y), + dim3(THREADS_PER_BLOCK_X, THREADS_PER_BLOCK_Y), 0, 0, gpuTransposeMatrix, + gpuMatrix, WIDTH); + + // Memory transfer from device to host + hipMemcpy(TransposeMatrix, gpuTransposeMatrix, NUM * sizeof(float), hipMemcpyDeviceToHost); + + // CPU MatrixTranspose computation + matrixTransposeCPUReference(cpuTransposeMatrix, Matrix, WIDTH); + + // verify the results + errors = 0; + double eps = 1.0E-6; + for (i = 0; i < NUM; i++) { + if (std::abs(TransposeMatrix[i] - cpuTransposeMatrix[i]) > eps) { + errors++; + } + } + if (errors != 0) { + printf("FAILED: %d errors\n", errors); + } else { + printf("PASSED!\n"); + } + + // free the resources on device side + hipFree(gpuMatrix); + hipFree(gpuTransposeMatrix); + + // free the resources on host side + free(Matrix); + free(TransposeMatrix); + free(cpuTransposeMatrix); + + if ((errors == 0) && (--iterations != 0)) goto begin; + + finish_tracing(); + return errors; +} + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// HIP Callbacks/Activity tracing +// + +// Macro to check ROC-tracer calls status +#define ROCTRACER_CALL(call) \ + do { \ + int err = call; \ + if (err != 0) { \ + std::cerr << roctracer_error_string() << std::endl << std::flush; \ + abort(); \ + } \ + } while (0) + +struct ihipModuleSymbol_t { + uint64_t _object; // The kernel object. + uint32_t _groupSegmentSize; + uint32_t _privateSegmentSize; + std::string _name; // TODO - review for performance cost. Name is just used for debug. +}; + +// HIP API callback function +extern "C" void hip_api_callback( + uint32_t domain, + uint32_t cid, + const void* callback_data, + void* arg) +{ + (void)arg; + const hip_cb_data_t* data = reinterpret_cast(callback_data); + fprintf(stdout, "<%s id(%u)\tcorrelation_id(%u) %s> ", + data->name, + cid, + data->correlation_id, + (data->phase == ROCTRACER_API_PHASE_ENTER) ? "on-enter" : "on-exit"); + if (data->phase == ROCTRACER_API_PHASE_ENTER) { + switch (cid) { + case HIP_API_ID_hipMemcpy: + fprintf(stdout, "dst(%p) src(%p) size(0x%x) kind(%u)", + data->args.hipMemcpy.dst, + data->args.hipMemcpy.src, + (uint32_t)(data->args.hipMemcpy.sizeBytes), + (uint32_t)(data->args.hipMemcpy.kind)); + break; + case HIP_API_ID_hipMalloc: + fprintf(stdout, "ptr(%p) size(0x%x)", + data->args.hipMalloc.ptr, + (uint32_t)(data->args.hipMalloc.sizeBytes)); + break; + case HIP_API_ID_hipFree: + fprintf(stdout, "ptr(%p)", + data->args.hipFree.ptr); + break; + case HIP_API_ID_hipModuleLaunchKernel: + fprintf(stdout, "kernel(%s) straem(%p)", + data->args.hipModuleLaunchKernel.f->_name.c_str(), + data->args.hipModuleLaunchKernel.stream); + break; + case HIP_API_ID_hipLaunchKernel: + fprintf(stdout, "kernel(%p) straem(%p)", + data->args.hipLaunchKernel.kernel, + data->args.hipLaunchKernel.stream); + break; + case HIP_API_ID_hipKernel: + fprintf(stdout, "kernel(\"%s\") start(%lu) end(%lu)", + data->args.hipKernel.name, + data->args.hipKernel.start, + data->args.hipKernel.end); + break; + default: + break; + } + } else { + switch (cid) { + case HIP_API_ID_hipMalloc: + fprintf(stdout, "*ptr(0x%p)", + *(data->args.hipMalloc.ptr)); + break; + default: + break; + } + } + fprintf(stdout, "\n"); fflush(stdout); +} + +// Activity tracing callback +// hipMalloc id(3) correlation_id(1): begin_ns(1525888652762640464) end_ns(1525888652762877067) +void activity_callback(const char* begin, const char* end, void* arg) { + const roctracer_record_t* record = reinterpret_cast(begin); + const roctracer_record_t* next = NULL; + ROCTRACER_CALL(roctracer_next_record(record, &next)); + fprintf(stdout, "\tActivity records:\n"); fflush(stdout); + while (reinterpret_cast(next) <= end) { + fprintf(stdout, "\t%s id(%u)\tcorrelation_id(%lu): begin_ns(%lu) end_ns(%lu)\n", + record->name, + record->activity_kind, + record->correlation_id, + record->begin_ns, + record->end_ns); fflush(stdout); + record = next; + ROCTRACER_CALL(roctracer_next_record(record, &next)); + } +} + +// Initialize function +void init_tracing() { + // Enable HIP API callbacks + ROCTRACER_CALL(roctracer_enable_api_callback(ROCTRACER_API_DOMAIN_HIP, HIP_API_ID_hipMemcpy, hip_api_callback, NULL)); + ROCTRACER_CALL(roctracer_enable_api_callback(ROCTRACER_API_DOMAIN_HIP, HIP_API_ID_hipMalloc, hip_api_callback, NULL)); + ROCTRACER_CALL(roctracer_enable_api_callback(ROCTRACER_API_DOMAIN_HIP, HIP_API_ID_hipFree, hip_api_callback, NULL)); + ROCTRACER_CALL(roctracer_enable_api_callback(ROCTRACER_API_DOMAIN_HIP, HIP_API_ID_hipLaunchKernel, hip_api_callback, NULL)); + ROCTRACER_CALL(roctracer_enable_api_callback(ROCTRACER_API_DOMAIN_HIP, HIP_API_ID_hipModuleLaunchKernel, hip_api_callback, NULL)); + ROCTRACER_CALL(roctracer_enable_api_callback(ROCTRACER_API_DOMAIN_HIP, HIP_API_ID_hipKernel, hip_api_callback, NULL)); + + // Enable HIP activity tracing + roctracer_properties_t properties{}; + properties.buffer_size = 0x100; + properties.buffer_callback_fun = activity_callback; + ROCTRACER_CALL(roctracer_open_pool(&properties)); + ROCTRACER_CALL(roctracer_enable_api_activity(ROCTRACER_API_DOMAIN_HIP, HIP_API_ID_hipMemcpy)); + ROCTRACER_CALL(roctracer_enable_api_activity(ROCTRACER_API_DOMAIN_HIP, HIP_API_ID_hipMalloc)); + ROCTRACER_CALL(roctracer_enable_api_activity(ROCTRACER_API_DOMAIN_HIP, HIP_API_ID_hipFree)); + ROCTRACER_CALL(roctracer_enable_api_activity(ROCTRACER_API_DOMAIN_HIP, HIP_API_ID_hipLaunchKernel)); + ROCTRACER_CALL(roctracer_enable_api_activity(ROCTRACER_API_DOMAIN_HIP, HIP_API_ID_hipModuleLaunchKernel)); + ROCTRACER_CALL(roctracer_enable_api_activity(ROCTRACER_API_DOMAIN_HIP, HIP_API_ID_hipKernel)); +} + +void finish_tracing() { + ROCTRACER_CALL(roctracer_close_pool()); +} + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// diff --git a/test/MatrixTranspose/MatrixTranspose.o b/test/MatrixTranspose/MatrixTranspose.o new file mode 100644 index 0000000000000000000000000000000000000000..fd58d278a3a6f0e6df794dd7e64f7c55a3f011e1 GIT binary patch literal 2013216 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

DN$M7FC+y*M!KjRHX zC{me{Mr@$M9U1R?ItKBk3(00MGltRb!-Y#X77@YK{^m+{VIJby5IDeYN z`@T=BdrhR%a2DqY$@sN9KST=f6btes{(~NN6n8Gg&iw8iwW*ZW<4Y( zG-g{bgzbPY|Mig4l${WdtvBju-}T3BJ!E=)kMC3H*+~))A44;KH0f{ZhO~tmhmJf0 zvraE1NOn-1#7;4|hof;9LqGWSn7BW2ZaqYl%ty+7l2EbhNxp#f5PA*>ispd3Vgw@t za@L&gl|!%J4fA4*;>6NFMNeb=tK+y3x3FG9@mWf=<8g8N?YcQN8Dw-jP2 znvU}HVVTOIHG1L^N9Hl+=Z@u@kg+xl4N6FpxQ8`O?d2NHt;~;(#}gUoQ2PNX>DA*4 z9{65m3XuUAH*SU3kjHc*G`AiC<0%-w?n>$R1WbVAWYCqCCvN1>&~kV0x8f525K32+ z>8mWr+$@y~QV#&upW>I|PkP_ZdltySZhBvaI>%EuQV``2a=L~K@IFS^x^yteb#9x- ze;{v1BCpH`!*Hbgz_vxVfnkqp^LHfcao=UO*F&sShOnrY>HO&nxsPQ76m_=qr_J}V zG*P}x?qeBz>F;Clvz$8ZF?Syes`qr}eJoNeKY;sK&VJf*_WM|@^BCHnJP22YiMjOp zhGb!bTs|>#{CaLYZf-p8MLy4CZahvV&SV}As|aRvPZqFyA|V1|L}z{Jv9>ObwMk5& z*9E@p#^dJtPjmezMC+$f3F5xcT>l9j7(LezW9gVD8+j(~fPSe5QOewUa`x@uJI`@F z`OCfkG`Ic~HDhl5DVD10%Cq9!`cqk1maG?^TYrjf9hQl>^%-;PDY*{Jtyh`rzs~hv z=lZWQ8{r3U0CVLR6e&8kFm(;`y+psD^BQTJh<{_ zgYF24_kXPP>(#YG|IDa-N8CRuuT_>k*?~Y`!`$)F^?uVtML){w`q4iDT&yThHxn|t z&cC%=KgRPRRee+07SET_Ld=@sWKGUFjE{cM(;;p7jPr7f6MDUiMx;`olBDm6}^FUeBu^)_IZe*jNM?y#N(2A1T(r$yeU_AdbYbqiP=|5Sw1 zl6*a*a*F-SYt8mw!V}e5WmG<w>+C+|H2;jubQf;rkJZ6J=@)*@-fa;+Wwnm zjfJHBtHf#hS9=?uNUXA=77AmJ4H(ws3Qg@*MS&k%0|9jJgxG%vz7TjK66q_C$B(@I zyXQ|Vh+iEaZNq18{|gYQ&2R|X=rk`tSK4lTfe~#4v`xm>U{r4ahs-5;P zVyXQnkmnKRhe`+%eP_=8QCOjB)Ps_kv;QVbeOwF;9(>OJp@upCpLm-&|BuLQ;)#V? zJv3~3dHR2@r+(%Y(KEN@(B34=f#Ur!432cSu*`D&BbJ-3$7IJzG^AL};%-MMP7Hl- ztoM7x=B-5uH^1J{jprPAr9|}Hmw*j?C$J_ClZfAvu#^YD$6>;Sc=egy=c4JuI8Z?Q z6i8&Bwq)@;4+}eYc_~<7)2O=l_y#~Au5}zajkR;K&kir0d?w0iKO#m`$II{C-3F0P zj=d*0E&Kn4x2~v4Hru@i(#T_FJpDG2?NVjjDx0?0y6rKMi>tYwMHBy|?n#`HBiTg0 z^c%=&Q+`PI??E?H3E$JsLhs4%MablnLVr+qd4NOTJ{%(@9Vh7gu{eOmW<`Iq$WoMC zBA)A5wLjT0@=r_JM{ffw>b-YgWtnDJ1K6tt(2|@Xeq3m;hNxd|!;4DhBB5Nw!CwJe~oDj~4z-H@JzogQDe9!Jx zztsNZKY%Hph*?C_cPMixMDFWiKXc^tE8BPJTFjR0ND-y-vSVjT!8^Tzm1Rn@BwM^R zm!0a0e)UwLVo9_FA*1Qf=J4=S&MI_+xSoDCu>me^ z#kgJst~z;AyPcIM*5J9j{FTY>&V!I3OWx7yRZ0=>LqJ%g}R*E-TR!o z&?Mep?zg)p9wYWYuvvH=Od{&Q1pce*q1#DsJk(+1gaOYV>PqOb-oNt6w&D$+>;OO9 z4{{Tv6O%*v;rAn`^0L%X)=MUA#i?$!#a@?ry)L9k*~sc(}8Dbd^h)vg^4eOv=@<++me#oW_oC$>r6W?6h!* zlW-P%uQHW7F5AuJ-s~r&hG=&5CTpLBKCQURt zw1!wSP9^CTqF*gfD{iofsW@e?g2JyURz40NdQovPMtGjk4mq@5NgePabMlowWCE2} zwi7Hz`QXuf)PeEk9q4r)gdDm$_^660$~f#sy!3lwfPww9&YojiRsv~9dryp^#^|L@ zsU3>`KBzUZ@%s9phcLSIVP!{AxPH(dCo(R6s(8byQ|%)cs>1w6=G6WMdEd3lXr7ND zE`iPV`lZxE2aEH&V1v+tXhNC00zvs6C|>_e`=@`(m4ruq4ZuN0*B@?wgjWhtI$3Dn z=HJ(oHl)pv3u&zS&ikfSHzJqRDgWiDvk*DqA-#}ZYktCSVXUuYe+WtsRopMocdGXO zvqRs9?_@F@HJ!0Q+m}bn`&?q_&tquyU(e@!ez*T0b|OXN7mni;h8B@#_;1+9^Ee+B z#m)93wl8?3_}Yn8;sf#Bdwgo!%5Qx3g+J9jW+W@%;`=L<>(S=MAe0}Z&2mxS8eh^S z4M}XYbUwbix7b5mUdX4^J(^RCG86mhD8}b6G?{|47xo8mR$jU*fpv^7G70Y$u>#yf$yTd)XHElrJQXe_V(z3ED^=}+Q4I0Sf5xJGntmVN^# z^f>3R7fsJ&zJkUldF+u9R)5yVSnn^XkKf(LX76g5Bf0?}$LFgI?!QH>zapmSA-^$i;fAwcN!o_2O)+uBG2l z0mnwS_|n*|AKRZiB@CSOu1leX;Y!5qB|>c1dusYOK&XWw9qj4rq-&Dwa>7{;82m@4 z0q1+*`H+=K%l#*#=kQD^~FaH zot)n@_DoOvldcHHMt{ze!)uOdbyJhmEbX2UwEfAiyMwx1*A4Y4j@P{9xjK2ccbCNE z(>;>%#E!8zzshV{IwM{&dtJw~cklFTkV4UM*4M}+&LE~rq_E&fq+H!WT~6OVvTwe> zz`0 zxmfhl!0HKQG%;{VnHYPK6 z0Wo#M;5c<=p_?GYTgy^!$!ASc?9Lr3C;|1*WAIBof>kEE{Oi83eXI&SKK!&O+Z9Sn zY4aGcBh8P|aJbelzMp%>`8etR>k=u-rv5A1*Ce7sz1FVkLhY))N?(@3^g(k=NY41A zM_ik<;V9;lX#G&h;T^CmRjs4X7b&g6Uo+`)pWILB`e=y+%hjBOY4``BLvA$I^FJ`TT`)8duAHROz|<0CUyR;`qE`Wga>^czRPuOjda{ zbO=yRsF6M@%zP-0L5_e4;sSZdKB_yQT{<)?1O8Rw<2b%jWsB}0uY`wEd)NxijPQND zzHp}gQ64%*u6D`}<1bD;q1q84n2pP&dy~lN80K`e}h}$j-KU^PE-6iqrTI>!Z-VR+){0u z;|rXhFr$9Vjpxkt_DO#N6@%?<+@}`rHaDIFzskl^V*uYiw%V7A8`8&pj`jY9h9kRs z{~`|eD_Sr8piR?Nd~%))P()IxlRx!|dmLZNhm&dfqW0%daJ?s{KMfD19?d$5X1~@O zC3K%sH}mbwx|xroi4g6W5=%-ry7Ra7OA<=WY|m2jCHiiG6E1F8DE)rG{`^3q1XfK= zbUMXkyhme#S;mVTjxG(7dPU25$!UKRx4~}kg29eNHW-(!CWkR2R!GG+Xn!RpnJxWP z`#qzswTxf+^DmtKPO0wPz@)dol)e}Xo!fkr&?6L*7}t;0sh)joB(|y1tebMWPtJ|i zNPR|pr2Zn^A9x}2S-6Ys`OIg%)bUX({~z3Z*F<5tln_d4pR)p)5&Hp6c%d*5Ed4p0 z(yYN!>`8R8E)^_sC}N^;8?xZ~GR~o$-2|8Ge51FLoDGitw?1WGd)yhPW9poz%&BNt zpGr>^H*Ew)+Mky`(c`HxK-bH!=p#S1i0&CQ-#Wo{2#Z_$x%C4Ze$>|wKyg2E>jwt^Wvm}?{nv~o1UfoAa}|NEm2e9Q+){~= zLmTw+t_fMzj193m>4}vW@kA%k?-jAd5?vZBsE8kHw+&Os`?0)WPjTW=!JU`Vt{iUB zLw7IkPsMLL59QeLGw-g67Y<5yRp)WXC)R`M^fEAPeYOD4B=MH#vv7BdMf8Pa1j_fX zQvHSJH6GKIo($LJT@u-#i{=Mp+-Q^=e?!b9bB&nGix&iA-G&^f8n1^0KgbcsSTEN2 zOwZi-42r}JrWOyKxZsC9pM~;xf%93&!oSG*ESyw-?(PzD|5RFx;CRy9{?jjGsd%Jj zlFUygpU!Rn>D>4e#&KWl{VQ|hPkY^H$IEj6$_9J?3ZWOUe`RjIY3{rUc<;IMCZf6X zCVm*_P0Y3TbL~CGWo0WGW-?@nnro@!N2#@HFNgiAbMsBQ#QH^_Z{nI}-I}VWRO+H$ z**@u(EypV%bStp@Q9D|Ca16(&$exO=ZQr{fH`e#<_FZyp)RR0{!V!=4etUQCw{>>A za#tH}p`7Oik(0@S~6&pCD^J*X_#R)QL%P7|y4J~GYE_ck3u6oz?oDV;{1`6?0ezL-F0{3T*>k+lO!EtmM zPJzUl)cDL!%%3iTRGOmC-*!AGy5nt|p2sgjg~9;)(A$a=e!r?5S1OwTE04>kgfPuj zpN@^b4KL{9-TJYR>|34|@h5cRNZ*C#<#0yFqoSXSl{PuuRAo$F^lzwKcw^+yGDxCt zB`4Y*RS|j27z_uSBJ@aM+0HaEF(&B5X^!0vhF z33(31ACZ5RQT?Y^hEk-_D1LW*^z{Epawwm%?^fXAc-zPmB2BJ+*H1!N_hnxDF4^nq zzPzG+^uJ0rMxHo<_nvFth2y=TzsKbpoWc<=<*8H(@>vcQZy){D^vf-(oE`?Kwz?3E z$0s`RclvXBDx4Zj3#186e-wBNF#UnRvwzTpRbMTyJ3ik4?h90l5F3#tM>j0*Xdjgm zQ~36JR>HFVj#J-S_l#bl}H zk4J+uA8n9F?mTJ8EZw<>~&RXYRhKTJh${VW}?i zP`TpuqI*IAjcjj2K4rB7Y}q|Ih?*~3iaE4BK6*^@s;a8!XQ`$*n@PBgzXu#6DIZOxET5ZF?ogSWU}^1)j~)@Sf16fA7bYo~ zt;Y`vqa=3+QfbKNVx>cN#|!nyAqs>gDv$05<~6u4MI)b8F6W9Xj(;V2-%BXI*IBom zrr=n`6&bCJr110UZj@&z%Bcgif(WBNz4a3 zNoLtH#r*_>o_}#dHln+e(JDiG5js4^+@J}TWF6fOB}-7kiK1N)>C_4xTLKOf}v)7rka;*L);-<6Fo zj6)fpMiF;B=y`R1zZ7oCmS@s>k6%Fj$X7%&7x?M+9zUO&Rh}^}L4lmoGICfRftM7) zDP^C^Wug)-&!)9L*A`{1&<)qMR}U&hT7fP4_IYzfm)!UG_Jw18sF~7cP ztoIAMd%qC7P~C8(t+d}FDCfg?EfxP56;gi?R2^I~A(7dfS{1i6`VMf zk*8su5l$pJZ{R>*~wC321)P32jdO4Is*4%MI1 zV=`Io*s)R5k@;otK;FE*HxeC%ug| z&8I*7?0(gc_)3|D$B`>o$F@SNrW^z$hjRD>&t%s+&Q#KJ19B8!#{8GZkjx%5LSw!W z0*IJ~JzQC})3F$TR69}bARxZujxxeFYXn0M#Q`!SI}S$e zyVi=-{wS78pLi8|EVtg&b8rJUy{D(|2Z2BL5) z0!u-e=K*x7eW?9Op~@w^t{NiKD9m`71xq)*cr~$6I7jaf5`Hue@DUk~q9jhDB<@y4 zdG}pebqx4X-v~)dp`8X@94E(k$RasLC2-i&E|hI~_?yrXT7=Vh8xpfQb50n7HQ6ug zd$IDV4%F;)jZX9{zE3*dA$&&sF(H{_k}l?XUg=dnC7vcMPh8(6sqlU)sX1xlczkDu zytaQvo)@ZRo{N9?`fQdx?O#N$vV;Q|Zy)zBp}p5bmfGLAQ|ekAZ^1GkQ>wgY`R>k}N2m=^;TO?F zaVZ`CAI3*|Hy@hF*@20dgLk|BsrJ!_oyGH285nq^)bxmlqQkjKroqA4QyezERo*__ zdj$XB#Qd6hvAhYmqjBz~zE3*5Qa$50IPcQh4^ zv!GBp21`VmxjX!ZW$mL&nC68L)+M0K)1r4wl_s7yEH zFFIjq?GvezvT!2rizO1Fp&)QWiH)aEf?k#?o~GlV;}W7;SY2AxvKMMO3bpJ-3RKH` z@kvW#0*z}*E$@)$LAAUtroi#qI0+N{9>XKYPrMC`RT{0mc$SV&aDI>8F?q^W7Z)Dr zNVIr=)bS%@y@%UJSAYy$PC!2};9ggg{}6{t>lAsG<^a7z%dWbI3~QWs&6&5pNNmKO6{pQ z&#gN5;j*RQtoA8A9-}d^L=mfCz47`}SQ4E0Bj-bE6|eZfj#FLklS{No-UF-L4-VbZ z$Up8e#{H3%ab8->&#CdGG=#9%xZQ(A`2)#aM4i#@vCW&&KQY?(ls(61?G2rBcK8(^ zdpYyb{JOZb&-ERX4pE%HHAeo#L?myq^pY=D==4CRKdMOEHa(ccpWCblqbDh5*2iYs zNaE88DPPC}d3-q{O!Rn@K2R0hyMBDm$D*lmx|zE9TV)%JH?ra}vDd74&-KmIt|=W~ zb!pyoV~KzG7BstoPU<0)H5j7sW{tz9W_Uh_AgGxe`M&HhfxCvFeVa=bHbPdbhxUQs4v*xb8>ntXrCUrYI;xWzY$_ms|reE%^S zzlwc9#`xFs9gmXs>4oXv*|+#BKOf+%%Q&&VO*cZwgrK!}d$;SNQ-^_Vel$44yPAP$ixIk7*X}5uQZTkKhla z*pK{mXzE_I?pYU}9l;0%O34+0*P_6c!3D+fL68kD0}EsTvn9#E;?Nkr?1WaGlCfnA znmzP4^H<0*v`-!0eq1rwdYX(&=4Ih~U0SZz#qGxtS2yqqVHC37AOJ%; zsbwnH^bliZO)~7;)0J_0al9jaKKO-kF%~p|a%IT~uPk9}nVk76O=RCetR&M{b@PFT~Ao$o4y`eF%R?Qh{;MV$YV<23bL=JUkv?eelSlsA?+Ae zZm#l8y-INs#_k??HPW4V6`qJQ;8p07ZW`}M_ebJ*=93G+8#%??6pk;ED-$_(?id|9 zF(0OX!d)kX;)R*FbluYSuu%ONvLWo%pJ9s12V>ea$37aKL^?Xn@$U;8KRTQKy7RTo z-M?hK&ebO$!}xK87VjGS@0s-h`DYBI73?$a51??H$EUE?pp-$X*&;fCi z_<5snO^eLg$ji<%JY zPEQSAo)SIM6;3~))gK2qMD@1ZVuBl0E@E>xH-<%CL^AY zX)aIbPljnEO%0Zz17D&pa)q~onn#}Liv6vNQcgN^axb9~)R)@gmu570M*6PriA0fa zZ&r@h8XtfltnctIP6)a4E|%IaRCAa5!2?04OZ29v@jD=Av7)}HhcUdd~Nvx=a&=HG|JD*Q;DPnhcUTMnuKd-yB@Q({>6Ef0D&>b zyWOWxA!8DL$W!U<;?`#O89Dpp0*;3U`60W~*221G)HjU>5Qj)|_#Jr$jC+|4H4e{ZVvwsk6;2jjKOMkM}nWn$mBtQzzB?w0CfT17Bgqf0!$>b2l|4t+qPnyy}P_uk!83QFRk?U03BUsQf9X@_2q2kBiHS<50ovB7<}xPmcHf zZK4MmUaQ<$M0%j)44#UW%!~?wdn9d^pBZ&=zH=aKy{7c7bOj6e3#Z>xB0(xXMEoFn zp0NeY$7c)E`qUaSau^fwqNqC{{A-Jgzg|4_kMoO*k9Y%lL^g;l{f7Fq=2A}!=;BQ` zUNCmlCn9qL-_@#9`6RgCu}JQkKJ?stcv*}Khz;O4ulZ5|W#CO55`x4--_8}U|3{SU zf%ZqHkT%@$0bT14gTD%sT!;Q=PI|w^+}GuvRFLj>TX{dter|k6aNavwcxq<#fV~riD?B>8q@lBw9Q4cMu5odB*QQHvNCg z`*NYQ$}e~8$r@ACy1qTM*SO|J64pci_5wBNZc;a-priIpKYf72#=mA&|;)z}*H8G4(d^ z1KLo^V2c-9vLP+54#1#@4}BXV|8sieBOa(o3@DDz68lv9j@uBa!SNBB@Yd8I2w=U z>Gas1qR~;l8kYor>2};~z4AcmtN>OGq;M zW@j!irs4wlD`6a)io`)0N4CLY@KGEZUcf&FM=Aa)m&j(^zvSZ;?JM8b1p$_+0K49r z2q3`-_#-H(45GAMprUSm`Z9fsv5^c|kvGM-Vi1#|wU5&ribqC&$I@kl3b8ClfKbQ|iKgYKJ zxp;6c9`qfmxp)u`8SRz$(^=xtbBJe9Ii>ycanW2nC~@dH=r3un&n{kWDZd|jJebI@ zF^<@k#v8s-L9h^y{~~Bf0)WhTTjQ5Nd(V{)66)hu#&=v_MuJ

It+W$NY$h3;YpZ zjT~}8fLqq*hnTdqVi{$OIz9f?s&5IWHG0s_hnZwc`0V>nGvk|;aeYL7=f;Du{-()4 ziG7Pb#q)*FBR+tCdid}WiJRSW#Z>&B>K{1Mnc=@WGW^?*M*jpFdP(~y;Q#XPpCA)2 zw149JBXN6&mAdhs7eA0L^8xV`Kf4$4cxP-+SaXdc!?^W0{#QQQruOGX_tXg4y>k

2z-7PO@vj67wZZkV~ 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�eD8y7j7avSJURD(oCC|WB{H~ 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 z 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 z z5?=sZlK)!8Nr`_O z_%7flWjQ|vF7Hc9{(k}&|3FIqr*u1hQu6NyT*@aU|9s$Gz)8t}yyB$9*8_hh_(@sL zxynyU{*MBG8u&@c|4HR1CI9z;KLh-v8fki#$ome=hJY;H2dLsN$r=zo|GW@!tR!xskH`KPf*c`JXx4$&Hl! zF9t4hBPD;Y;-th+2EHr!NmaEX^l$^S9nqPL{v z|2%L^wG1iwe**m3z)8vfAaEH+NXh@4xeg~Kz5uwa>yfgY6~HA9Bqe_xxU`d${BKZx zQu1E~T-r%W{x1TT_aY_#&lM*nzT-UCPEwY$2kjKV`mqFH-WqRB=+`hX8*j>Lq14 zuLdstNJ{=qz@;Ba$^T~MCnf(UflEJqk z1DA21l>DoJiye`Yefs0;|l7GrVhm#WD z2Y46wNr^90oRoMKxb!2b;G%Eqw0u(XzZ1CV8!7p(P<~SKe-*gsGb#DM2fPb7Df$1T zI4SXGE^_T8WjQYaF7hEI|5D)6PEzu(P<~SKj{ui;l9K;S;9bB;$$y#Rq{P1jT;xg0 za=rsx#v@YlKL}jfNlN~|1DA1%l>B?X+_jUG{L_Jp97xH(LUB^!BfzDdq%7ww;8HIs z`9A<$?1Gg1pHO~M^4|tr?1Gg1KLajuASM6yiycl%{H4IfE=XC zT0SZ9_bEoun-1Rlr66Ny$F}TC=#`K08(4!HOMQu2RKaZ=*{ z16=Hjl;uo$g?nF8^6#xUDe;4WOMFYpa*hW6BH*OtA6A@{`1!y^pGjHHyMcEBCnf(E z6elHq5AYX*pOp9`ijxxG?I0&NQsN7Ni+?5+T=Z?J@{^LkAGoxil>8IGyMU9D|02an ziGLcn_-9g<^EKdm0VgH@{fd(k-|=8qFDdbT6(=QrC~&ElRB(CUa;5(TT;7Y6{C8_Pq{RQC<&YA8+99srNr~?UT>Jy6 z#Zm7*ij$JR2e|YvDeO|e?D+h z;%1q%FH+)Nz(vla7RUR}0lph>Qt}@O93nNO#NP^hDsWQb7XyC*a8j0k4RCocQu2QW zxYSEZ{#${IUXc<9Wc7;F;!_+Z<%`Y<6G+Z8^TN~-GZaCt|TKBSLOM8~B%XreA`J`vrG0RtVmok5s z_q1nOE%SF-PkNTET%Pr;JLegGm-DlXN99%i?UttqthQmc~6Ir$bFjo+y3M7emlM*?q+Ks(2|VbpcNTU#>TP~6i+gKGd!I2 z8$8MQO%F63m&2Ba$4aAP)sf0j$=Xk9K|PrkB~Q{V%KawGX58=co~B!r`(4^Ax%$#A z%Ka+)S%yXF&oXMuvnc#B!=j=m4Hkt*c@~AoITnSdITnSdITj^Pvn>iwb1Vu^b1Vu^ zGb~E#Ot&a`l5SCWl3`JJl3`JJl3`KqNk->pSQLJfVNrO}ibc)Nv?zI!Zc*+xSvKQ- zm-jT?qTKJ&#Ng^nw;K1W>}MGkr9aE4EzhFx%M6Q(o-|k#9_3jS9_LsTp5|B-p5|DT zJk7Q!Jk7BvJk7BvJk78usWaW89`Ndb#m zI8dIbmxjyr!MWwi=)}OXfl_I(Qj&j1@l3=tM;Fe3tsNxdY`s-%IlE)ZfbkzJg`SYWp0^nOf7lfuYgSamvj8kyh7S z`@~l!zsc+$k!Y);8K7yxV9nA&)E_?>5>W)&{nmcLQ&FZSw}kpE?nuoxL~5T zdZe%BtJgo%-gmw}W8GxUs@C(TzV#gIah!-HF3pLCBrsJe2b@{e&KCC6D$$@3#5z`I zCB-V;=Ag9Ko#!5*W~gq0J*#g11{xg8;YNedT$Jh~GWmB})gl`oky)m!3LR(a+s+NO zDpZp+)3ORe83ziOU2mpF%|R?qWyU|#-fuQ=_UL$JjD4R~nPpFZM-=3xDgREZO&a8- zX_>Mra-69(&8v^E9jW;Dl0VYwnrqqkZuXB%52U<7b=^H<+wYc~MgbOZjc} zQ{zm@z^J5?a-V0mXO7IgmuYkG&nB&zC+v~rA0`QY|lPYBR|Nsf!HR zg-MHimM|52C`u&Z{^Q*l{Vu!9 zBOdK_UvmCiB-2e9qD$tQ@;W`4Xo|m#eX2r6dMm$mJ~NfkET5FheV)_flGE~yX==O} z+s0}f-R&P)T`dhCt9d(-KXSWR`7>Lp&wW!-T)yPyRL5o7Wyfv&Gpn7m@r|*5U4;tzgX)s?1$U1SI*TC~V#$P}Fxpt7@z9{Ej@g$t3L3U9caCA-;Rw4$T% zz?vsJ%P-|-yor6@PuZcc{B}mmFd5|qD=@hn*)4JmE<<9u9Jx)B z8MAgL7JZsGNf&goE96>EE=O*YP=ap~)`Ido4*qwnGE|gi7iOQM_MhUKeoQrq-ld2$3`XF?Brno$`Zj``!w=% zjyca*^%vQ_t_<4kuD~V@u3-tJkK>vBBeT8sDV4*q=C;=HXS$ZT?z!uHS6qHuqb0v= zQ;m2s>y22nYF&D4Vjiy!DBV|I;hWikIbYm}A8{2C#e zkne(iOzsOW8GB{akiTO=Vto&v*)~@1e904zps{_du z-?&umQ*9s$%5Pn?L@d(*RGc#%uur`-Eo+`Ib%8lkmipYcwCQv}eqa}#wW-Ov)AJ<=59lA?HS00Wus z2XXR1R8L%cUOx%%K){>P$k|{Exbo}oo;6Y}kN0h?jriqt4`g-YLeIgz^gwR=gWqKu zZ@}YZ7!}?8MK;vS19c>n7`cs970G!M<-nV$lZ<|p*B59ff0-T01xy;v`Cm2BR=@o<40I#baW zx6rLzqe||Ti%ZZxWec0ljFX$|GFrzSa(-7`6Tak5x_Ap&8iK;a4!!(-_Pg*hYWExP za-U~*ulu=|T(i~Z#+`bZ)yl3r_N{Ew%QKNV)*XN?G|Ln_rL3;@w}F2JIfR zsmh$!*m?Sk%;u88HCRi`Z!&ixW=J#Kg@|1>xw1@dL5!=ReX0#>nnIc@8;>O3%V?J0 zu9*A0$Ue zPBj9zTazl)Jr~FM#%mjn9WReejEzoIk6JKT8!Od@$A-G+FB=}KZ!8U!@#DeLSb2PS znceVP!$fm+wO(3{$ZQN-i%+k{fLg!)xqftf4UTdQmul#zp81K2macsDG1YGfg^;&fT=!){t&}c>eQ5~*~ zZNxtg9j{_rXZIXAK!Vdcu{h! zTwYly0-*O>#ed;BvT z$f?R*1GbZfM*GURZ$M0C)hHGm@z!$hz^Z!pyi#ct?*vv{M=$}&9#H|>T^THoi}Y&s zi6bh@mK_6Zb{{r(R>*zCv87{Ym6olVS6aDz)$EcSC0tcs=vZo__)$tJb1Oqg5-h`$ zp3)K6HiiGz%k?U%AA%^PX|u=H)|X))4Oq~y`rtU`lzruX^vXnC_N**lRi9g_Zyc+l zQQfmkD@yBY{rIV9%d&MbanEw%M&B-k1P&UjE!D0+R=P>b@;ctr192W{6?}Phe55*b z*kMN=0o`9Ve9ZDWSbd(os;6}7O6VlmRyk4CSFS`6BkPA*=kVyd>dY~z)cy}Tx^zh02r`cIhk4o?V?kf7a|-bE*sHFI+ggys)P{r+;pL zwYxgMzklvP&ny%PO{(^Hq1o~x-7|Y;b}#6j*F9rkL3PeRPu~n}9EH@izj@E__GWwg z>ce;JV4i#H4!C6ROWPaVlCx-0snlPsmuo}#*Q!c+WTZO2SQNZB`r9mAvjch8j)*?h z%0qB!P(5srTs%-7ny3nU$vt#vskC}zt=#D$58PTw3BGQ;TpvXRqazdbE?fOrxi-F7 z8v^d`?nR57p*Uya+A`ho+B-thIl6kgrYYCDYDMbkZ0TCI^(pohI$J!NkN?w3Iw+D} zv-4r>yCWcdIE;y^m8po!_uMLrn|W{8&h@kOE1=4n_2u#Y#Y3a8lxg7CfApGr=j~wf zI~W?2>=4na1~FPylXth>UNxVtY;W8RN{bfRD_|CPE4P~z-t|P50afatCZCbDSdfmU0?`7NmV?};Lk$3a5X%se%!zw1! zeuWs26TaE2q~&`>pmkZp^Jvh*xJ9<<|E+=aSGD}A+3u&?#hp}j17t9=8gVERnCK8W z^tXDbYToj4Z7|M1A{Q*?gG$hC);ef2nX2hcEb;Db6y#i`ZQHZA zV?V;Tl_a>a9Z{}SplEE9@8OpGU#MTMt07$TqIV~K^K8h;dTBGVZ<-99K+S2dSM`)g zP+NA0c$+99kfB8fn0-0W^mgsrYd*2J7L34IohUXkziK>0RB>u&AL+ z%v(3LDnNP#D^YXS7Pd-l82-Ifb~8eK!Q>cM)E{#;*Y@vw%^Ps}xiwN3zgYKG9;r_( zTIAAIGQkzUs!cq1X0n@Bk$J{}e8bR#iPbka zF7I5SvqAX%Kfk08j6Cd7haQyB-o~kgdOnwMMM@ddSo4*2Y)w>F%icPQN&+7UXMMyS z$#F4b6j5{W!AQ~IpYfD;=G)VzOHocHf68hD6zB0({%Xv5JtET%+qp89Xo_d*zcfm+ z{ehUJbJ_`MKJ*JeBzQr!RDr5vNMikkcPWjm9Ws@p_$Dnm=a$tb)(}zefbX0N4R49L`870$Nw`SWbqW#jC$c2sVzAXWIl3COfiw$l7+Sm z6^RCiRi%mQ5TfA{f-9NunVarcib+;4t1}DznDLx<{|_(L_Qdi{h(z65Zy2D@Ski=bv;Ubn^m)qb!-9gT z@uleCmM1+{RbX&oTKrSLVvmM`j!kSDBpG{3QOUaOv17E^(Qz~MG96Wd3{s@$?Tjx@ zLEKwN_GX25PEonVEFHmi37qEag$cVD9m7z|;$yCj?B6T)aY@_QN_qm>f6*?f=94^5b9&*d=A`DW557mt3-%=s*= zG_=}$U^$x?YDr!oBT{tpXxVmQTRXA7j3fQBp!<=vEY8OP$ny3}k|@xB6=5)&Yok-|*^-N|D@xd^D9iVyKG|boj@rogjDFLm zyOaWv=%CAtIm_Gs(%7^%s|mewwK80e)pPj2MQID0qrf5@c0dfo*8BEZV&;ZO;iTmH<(-f5}WNV|fd9Ro1-FKjeF+S)<2nZ;$|0#3%c3)r3w zrR)fAp7#W%Z%GQO;Gv$!NBb(nDiz7&9#CO1zp@5SW5m4a7b+3w8d8Un5uQ}Q5u@#5l(5idQ@po~s-|92+ z&81is=EF4=xQ|9NW{_6m9nL3*Gtm)je#53Ww}4^IVSKIKS!8zmVUCY>itr>$8N|{& zC%(A_HI3;g!m^wEVs}gS+R_LVxCq8X#q)2IugMJmfYzb24?B^H4bBb2MeL~++GfsO zKtv%E)CZAvaY`4qM&gNvMhIx@j#YjC5iG#ER82n2amnHJgSE;aAoHs; zVzby-`@T1qTY(91Cu+m)d)9<}f1rm6daF>MT_N)G}4HWtavdj2w{s`SQ4VzqC zXNDCP_>rVrdd=DAvMbx43*r(r*^wq|osi5h7j138YaaE(aZmxoRy<7<7;h|nZ@%%9 zCfl;i#N`S7SSZ3!W>#O7DV|-e`A7UJn z)X#hHb)QKw)Ww_AitBLn5woQnpRy@M3fyqypB4#RI}DwTUQa}i9~Quef4ucEaS zcn68oJ6s@M;MV8)7qBj{)VFrPt-f4+cg*f0a|(B)x+w+TWO|nyM7Rw@U&u;3$<#3Z zq;kn@2o2on5;l;DML%THFVEt(o&r*I>eVpURu4b;2pvVFAgv~|m@JF@r8(#O`6JzC zYfSL0=F4}b3VpFvem}Gncuz=fpXbvuTXGOfTXNg6`GH1ToFhHT#fZ)*1GeE{SK5I; zV;3C~-w~QLY@2UxX%ZhKdt3N%mmiuVooVIgvXfL++t&_YJ;#~eUf>;exO4^?CDgf3}S1h0JytxbUqev4}m(WwwK*9DT}Q%Y_@A`xW^ z!cGoojXx+@q&fe7`ec^XxGiVVBHX^Z2FF<|qeD0&fIX?hI7k%iOX)Rz=R|Q^W=enB z67${bC|YOoGBFC1V3D$T1ujLLX3mZD7?FXt>eTIGajA~gn-R0a9{%kcPq$$=V@j{a zl*@KX0-4?w1A5Kf+i-@`?XLUg?+Ut?RBu4L&Rh|9!@ndTf^FqV4_&Af^V9T&R=bzV z&K1$I)&iqR16ErDPqD2AZ}&7VWr}TJJUKWo2|AhZJTb&iyVTplKy7HKGy?sPX>y?0 zHb69Yyq3lsS!2r$3Ktn*1s?h<995bB-M&i?1$iPg#b+W{wckCm}gMkRA&* zr|o^KA62y1|Br1ILrgkeUT^oc|LsY3Ack|*0}e3rugytM+HfJ3YZA#WE`52 z9c^+D(p-OTWKK=ja;!$Nu?Td&d6fFCaMx1i2njduH=H3s*lS+@uvbYRF1H%!=mt6Q z)xjPyyn)AC*C!dcSF*D`%~%bj|+~qSRc@_cr@LPJ6622dgjG-JCVMP{AKQ1 z&v%@}c;=FyHkB%ax7%)`xl?mSR{FaqFa5pqkEje$C`|wAwWEc}RJxp#0a>y6whA>m zt_1xWGk@GY)c#l$A#=>n>`Fnml+K7UrhNNMg9=BN!~&9RFdQ4jH8)5+?!G0V_Ib;- zF%!oydi9|`G?4`c@fo;~rCwbYIz)PD^o@}iG6RPhOU$CrXurAKfXgFT zAK<;F+jXF!B^DW~ zi#F^~f8% z7=l$V=_uUd(QBUf=@vRL$hHi&Wv_AP$8OHC*>Ffw71BAQncr}NHDk{}%-L9z4f1Gz zz>CBtgI0kuO6u(3rjD{oG3H z+05dva)gOSKHZcm(@*>$_{;3a1OGn6PRkiZ5ltA~n88M)@K&5q5ln!STWsvT03W@c zZ)+`1=E?k}_aQ9|hxUFOt9tM#lDckKi4145w*CHYtu}RF$~WtVG14_SFOMAg z1nZfxKN6=|<)oF34eY)dzo|gHc;FJV&jZO=FK?&~9EkPa^y!(y zq711b#%O&cyC4^qR{~pnBq<~tQQpLtAr^WHa-BiOjjlu|<*J$Z_sh}D( z9j|Hcmy(4i^OI+*Pm7M*NVaCEij2wit{1|KM$OUlV%ndQ{0~;KTA2l)T^R?qdd|$Y*c_b{r04p(qvjT zr1+%l)+!s`QV`XyW3@>a^{WLAhD@>=^TN(Ae?ZyYeyKe=uzRIR{x4FBUUSYC?WmO1 zi=>Z2*boI>NXwpgUNjiAmL|mrF$?Q?&L>5od~6_WxIVOv2|JT<8rpxWVf(pL_YNi+ z!_35WKgrpuko3nbOpT0wDkcBs+PQjTDL|6{B%h`GhZHAIIts#ojO(B5W- z%%0q9tubh92H#Lj?5Q38H@n}NMgJLd_Nk#x+@TdsaW)MxiWQU*Wfc1{(sb{~x*c{e zgg26#6P}iJ(b2M{D-K#!8Ly4i&1JW7Vw4x0*M|GnR?T~|Qqu=7Gur1^=SHIo= zx*gYG!&5hf`}b?|ECA!=zhaK(+ay7eQd&7L923S=1$Sa%T0>O)33mV3!56 zlQ(yT;KW889NYj2+S>x7pV#r*Hh;NsESGN~pbmrKV$IvBhRlvNr$pJLU z7nrjT)WV}Ac98LDcO=rW6&iqhr+FqNYP_5DiwJwoiMy+CGN$|<);IP;(o+1q`1z|a zff7&9-2T0WnZ6$m8nW(>aKK7LJPqBBd5C8*ORu5=Xy!WH-s^s9b1rU@7 zcgy|G=z}Bk8vAVa=l<;Wke9qI8c$-Y5IvHn!Y;giy~o7d(0D)H*14BPdsXInW6m7&Yx0Sq*aPxz*ACU=d)ld0u@SIgllvD= z%-7WXY-P03t78#$^5~$IUdKvL@9~Zm-xxn?=W8Y-(|U816lHQ_e+S!X)_hIJtJslc zEbHOpYo`A_c}9(I6mG3l>==H~XmlVx2GG5bMHl_*U zvBsV>mkqFQd`u>b(@@ESL9lN#{bN?`1|Bx9)+K=0_M+W!L@scov6K{ZoqjUZ;_whF z%zXE`eB-Se=;)i8TaMSR>aR`U^QpK}IC#yhC1lmSe3#d2&UznTWm}$Uxm?sy`0`9} zr|S#e#->jqnvDWWH}Qcj@Puj!x1|kZ#$y(8cUf?XG@OunH)}z=oW#A6ZjV;9Vawcp zb)L`1V&+e~_*N}h)6$kE_rY7MC50Q>XWghx2vTIu!Rt8dt*B^b3~P*0S>~YK_=-i$ zr?oeWPuk$tuUZ`XS?jmWXg_`5Qi-i(Jfee`R0v_#?aVieRI-hEPB5N9E4haQGpyrQ zXv3rAQ>1(u&Rf!ogTK-+L}xp(@jyLAR8Z`xRcF6xYw>d@RzCJRZait3qWE>loRE1j! z=aLIIr`@~thR|RK{W*VS7AG>3NgPZ|KaI9aO2`;qQq@YN=!3*v{JLaI-nkR8PUxX$ z@RK}2>bX;U2*1UBv4#jiKkNOBJ(2$mfxY$5|STtyud0WHf z`z{ZcX;$Uui)TNQbk$`z2&^o-8cI|HJ;{+5;EQPf-Q;QxYp&LMe`%}O`>Zb z+U$$>ag82S;T2=Z;)(US>pnK{i>|5T)7IYY9-XIpeZ_Z0lNn;u0g)qaY-DO05n<=1vGJm6|;0dGb>J^>K>vWU&y(1xN~VO*yPk##Nv>Y zNoY!}mv0+Bb@2q)mB^G~Hg?&Z^bT)YftT~$;2cS>`G9^RQx5{KEZ5-?N6dw1rRZQz z44JNuIX_5h<{szx=0=+am>iSa2X!oT$sZWI{-f6nToCKVlyI_hS_2X5rZMMPI#{wf z{R1j;Z!{gvcm|>CkN7EKk+g<|p+qm_OsiQ-yf#T^#3xx_;X#Z^MRzW?vRy9&V z@BY2Ivt|v|(IXlg<%@cW!J*Nz-6YGe>EnZ`*sGF1b4j{sF-kx2T*eiYXy)5F1(M4$ zUgKlJ;9KkMzq|Q9zdI70GGS6k&-rT#$r@vHt`{$4%zo9A;W8Q3cKKfYgc-&)v4KxbiFAU&wv`zw2C2mPnKy6EvpRl2ynRfyNbUgd z{0{jrdXUx89llG~7@W0`Wxm)nFWe*VzX)e`Vv3Wq^P*RwCcC6a)WNxITfgl!&sylM z%-;SoSj8vV0>w$0>1gW5dQTl|^Gv$nOm^q=>$aCHY3J(a>Fr0QjM?MysyQ!vKwUjv z9Wxg;`F6Vfyp@@KTrAQ_waU!Izr;EkyjIPR{CA0qm_z%SF&9sZMO?7VYf8C)U4dm; zJ0o^;M;$Q>YKxsAnBU!!BP-uKQhuXLdhe;)R!(yFS`tK&I__r*T3eexBZWl1oVwYi zHer4|lfLSZAWtDK22B-1byvDN+4Pz%bG5ZdMXxW9_ct|rPH*H>tG#CRXQSFqTN~V^ zEOOMzZxnAw6aQ)E<~x#eB39i-up5g%hhC^{@`>~KDvyVgG1yY{XYozjq1TQl)JKEc zPx24g+PNt8WQlph^c=ObtxcP^1vBO)zv0LcozAtti)S0X2HW|N+*3{c&=a@&{+o(0 zoX;fdP7g(sTz)1J?ah4q*W#u7=7>@@lp1?#1y(7Kl`FOSMsoptDgcl@y{9^Cfl4<;mK2yuZ-1UP`=oBhk zBb$3nyhl@YwV^9gxtzW@y)!RtyiaMXZ9#YTYz;wY_PQ~DyVIy;krK4L$QXJHJJE0- z3w_QU?f&>`i%oc?7_L)x9;|89wa__Z+*FDC!KCRA%u_DoyKdWClyt%=^9}Qs1>S@t zg49o!KOuqS48#q#kJN9r?1~V`^INU4-}ahQKltS6nep1{!TRv%MBS`BkSz|qbE=OQ z(7N`xFOF|Se;@W^IGeyUA&M_l$tUv#&EVLGd1#caZYeJ{DTmlwRv)2@g1>zo| z&E43D4E+uIA5MxfMf(KzmiHzk+)4CM`!DKoe~bPpov~`<}7MFEi2Z>oklrd~{qa zJ*TQA+m6lUPZH-YVzr+AqfDC8E!ZT8cZ|*lSk3bbE72ANd79!=Sd=~6@+RIUfW5wz zH4P$eAvdKu-7nuo>OeWs`>0|0Zf~JYTo=L`0D|S`x258-#NMM@X)jq2dYLQ!+!%6m zEuVtTjJ3TZwdv?Gl6AO#1rv{PTp&GB+n}F@bAh;d$=1vr#?mWh|7+AO_Xe`a`t09+x!Lub-i{F?nO-D0AjVIGAnQL3|i?P4nkjTME0{NG^smG4&Uk6flr%jVxBIhGRoT*l+VG&23%r0}ur66JYp$jRv$gn3h zm22_Pc%Rr)NYf4@$*XNlf9A3`I=EIbE3TxL zZOdWqsuJ`S*K|&Q4&9`#%W|-4-3L!*+eNQger%#+t@>oBPCSmWa>tgo@!H7h=t3cw zTEj=MOv(SACiq2r51 z{|#+Pj&8+@Np6V=lA`djvYGYU7pc5lQY^@_x$IT|c+ca)d}qln-E_`YbAj#?xOIFd z!Aiilfjt*TDecUd5bA3+({5;xuJx(#HBXX!Y5(}>m`j+hygV^*$L`8nvcyd1Rrfw) zV0X$$m&)1YJ-I1^SyHHZMmn>pTt(5+yP|cE=SB!!Z%DhO=BxiYQOeopJ~n<{6?L1-4dbok`ufICzTJ6#E4J0SvjMi7 zxkJhJUm(ObEz*sU5gE-Ev=^BW&bxWW|V`8IC?Qmv(S|LDqgvowZTE8 zZ#ORJKg_Iu_0|^bj|n=YF)(#M)z?=E3DzJG0U=uXKQsQ;#&>Ts5fH^I_JR{sVvgho zl3U%C8{Y$DO~S8}HiRI!R*OD2pUHe|s}0Vw^?#T7F_Yod#db@YKR+7n1$=UR@BM?c zxxhGDk7#vL>&(IWUmw$&ldn@1Y#wIGL=H<1=HTE~v+zRG#d57%pVR+Eh^=w)cxSX@9P~!G=24@N}*2Sn*EL z5laS%^&1kq4g3{)ZuaOV96TM3F2=7Xxb5RH|Fw-MSZ`^eFGw9mTbrX2%p-{-RlaeP zuy(INZ5cOocoKDE+>cA}FaKwhDsc1IORkDctsgv(b)&*CATA0=ZKS;{on^@f>fKnV7R~gf3XoO2nsT$ zPGZzh#Mo2wDAv@SY9AsYi@RBM61tx5%YvYc6ZNLA?jnC{II=G64$8@XK2z%DK!Pi7 zR!z8bx7w7&etyVYlDXPYUcbi7d@cj){2tO+`M`YWt3Kta~;xLXUR58UPa0?dVlJJ@}CCTyxgy3isIP zn7Q~^3cDd`pEJkGN?ql&*aqA|9p>Ci={fOnKx}m@$L+n>9Qvd*lT+x->yy3KT0ynuD^1-}zjd@$JaMc(}e8wqWD z;_+x~V1Vl5m6rX||JLi!Wc^)~8o;-vcKV9X)c6XDDXHykJri86RH|cjvyNxb3x2|` z{jNUXo4(ol$uYZ@7F!%mo9#F*)rA&cILphmSd93+KzW8nD>zl=&+WNXl6_ttsZU^t z--v;I142Uk$&LEPG4S@91NfyHFKLMh#9eO3d30<79TQ9krn&KXWd{m`u9vEGSi!WT z!@fSf4?8%NgwrP7FNpm`>v1`lT(4#J`!BDzUTqpbLxcOfOVtTnHi!=)VhQ-O-%!D1 zxC`z2JBhAEXI^~1w$EgIlc!uxFI zkQOB{vlA|QiCr7!osKIa z_#h(zt1yw@i2Xn&NE5fw)|in?TZ|1cbHgo7b6LT0lWqU_w3rx2Jo9v3i|#@O873S2 zm>)Z3dCjaEWSCf9gR8{Kwef_$SjQP#7|{~*5;wi(jeAfpTgv7wg;Q-WeQW(N6A&Lx zY_yNud~*0Iw&dO*#H1%{CD3t0Mr_}oY|LA;^(?vZ_L4`JmI~Z2!53Ci) z1xwuB;R4a%?HaGq+ggWT0;`>klqgt66`64XCYYLoD)wc$3Y4yoxpv|cfFhS^I#>D{ef{iujT>~A9?uWmi&R4{bnu82YVSa{|>ti z+p)HdQR2U2PAMFOG+@ZgP8A8NpdWj_IrJB`k-DVNE^fSqQ34(W@}e``u*JB}&$=TA z%||&?gg_6Xz0#Up2yTzR_FfIh3-x1r!I)heiKTw7`eG~E(`Kz!RT9ZYFUywVKXXoe zKAE~y<%=#p(@uP&?$^(zeYWH!+fa+xnAWHiFX8ueZK_GUK$q;BId%U~m(@W0Yq!yi zFaQy|_}Zsb07Yg)a)HEu?4d1cj31ndWTfETD`C9#6I4aaquKtPr)@CX4l@4szHqbe zTy1&0!nhL&r?tMYW8|_kxl#&Nl3Wsa`pc;hb}Mwrt_(zdr!ELzZR;N$F3F*X%$Wa6o6=B{{FPhcCHhSw`g3b2u?bEyPKfPuw^Mqh^Lmg^c?Kf9GpFP`> zsZT0av34FF*4?wCU&WFU%seAHe^zi76b8w;843)hl>s$(<_rsN8f}^2H2DrcpccJCbc$m_0!LCw`B_+hRsM zCo-|B@3*|~a+dZAH{Lm~#~3rXp#v^{%`H^?aG}D#lashDz&9jv3cl|6io!vAv&_7t zqPt!5AFqi_Ja!SzEbAGn@bAY4_w@ z)?Rah$jr`1?H}f&>)RT5T3$qqCKC4DFsG_;}<>Y+nSsWFGuFwPEsez_?zTrv)e98e$>F zptwc!v?s&;>28xuX|bB6Br5Gjz9&PD{)87KB50R{_1$HY6YwGrFh5fKx)Sadv9q(& zc{tT3608IC*5fQheAVZ!ZDJU9juNQoo?qEPLZ~Cl82tv9SI0-HLx&x9~kzxj}Ie1Ff>}O%j$^#hn+vm#*wc5rtQC9>p#ZftK(mv^zs>#7#)W*le^B_ zC&o7)@ea+7t_SQ4`0`IE={x6oBC`}Wo9xE646&)j)3k9#!~v07P!%ed;8 zHJhFN*STAo%C!?vhd~;L)iCGsEG7{e<}uB5N7W-o3$r%vbuj3YAjnVr@8N9@DG3qZ z%>4ObGTrfkyVW>k=R9t$7#NL?Kj2pSgScIWd*I;Z<&LA^(76 zn;9GHaL>g8`=|NR!LeUtt>8E7H*Xzbk9+Z?`I2-ukn61MW}4)_eseu9DoU+7zh|<% zQRb2p%+BYst>#OD{wAJfv}ce<;;9^wOl*t`{DE^_Z&8Q(6aq!G>b@9UH8*{k6?ft)fWQ*)O%|BYaIFH^M(3@v)5nhBaA4-veWFw`zEx1E*`;~hhrTyH)Daj^N}8oj{e<`%V$OE# zBoU6bQ-sL+o}DS{HW%Dnh9O8b;swR0*-dq?J3A7uy9Oz|i+-;qruTSNx-j)=^{s;e zjk);;49CMECNV78S|h`aJ!O;^Oo(3kHI^9(PLGWp%uPW9cxOE|X4ak2iiJXgxK6>} z74J^-z@~BUdxut`F@ROgM(*DC@0~Z9a#=I$S=5z?Ghsj#^_p`&%3|)pm$jV-*@hEM z9D)&E^;gYPUrD2ot}N-iV~%L{s?z$wT4iwk=y<<*p}%%9Qh}D{6H#`Ki|ME#D#2`- zo?;!r2o|`YrRbJ+_h_31FW~#OGGfogQlePWQ<=}t;#QvOqa%p*?0pJwyT!BvOQ z4IHk~xEBMC{}I z*^!^r`H5UXe(y}1=2h^D;e5)>d6+#5b6B z|Lpe0eg_*j*;eo&NAtjmbOm8ow<5NNu(OpPyMZ>S+U)ATs9LF;KHd?PmfX~O+KPni z0?yi66s=_D%5ekZeV@*W4K>XW#drcRSd)KC)b-jMDdljY7npD0*^6ZaH;;l_X&qo%0uSLSHxa8D@!6O=Z$8ayMR!z28|F9JuMECOAy!w zbLz{Ywk7DtVABF?#hp5^c*CW~DPLbtnscbd z*?F|Z^Wg2MijkJLWQD<8lV*r@_7 z4rCyBi0-3orFcJb6%6-!&FUv=gRhO)24o)+cB!24=EyNM=2)<_e@CJ7*qg)P*1YY^ zM4_42Q*)Oz2XfqP{gF4aA4>R?4kA#=HQ41Fd&J;_AEp`|yLM~{D?mte$jYb-e>6mb z)oxwe-5?CXTVMsbkyk$y@oZF-TcHl5WoWm7RXo2gj@Bew;GE6bt9h&42Tj zBPr$9!jzn;_KkPEtp*J={2kNVGl0`Msp zXk*-TkgJK-HFQi#?6QNXxq0I@yq4f2&ChgrRd<@1U?P_qzIaKPHj#**sYM(8H;e>2 zCopHf+&d53VZ+t_S{dID9>o>M;}i9*yw%609gYyE6?|;#mg~JfyOTCJ7i?E#*5hkn zoKd@Eo*UMjL zxw{na2hk~Mx?Sq0aB=fsl zeZo+34_|+lw$w(0TWeRkb8XT8;!vfm8FS_MH;{GaTB!?^Ac1&RW_9!__ePhBi|k!x z&dv}Ts=fW|sRhP-T)=cq#_jLUdflu5uF2}Uy#rp#-*;bZFI?0l(&V=d&c4q(iA;C1 zXp!jS+A)`b9Vri2^;Czxj>J$lIV+DQ%$?j9<&`r-WnKH9WEUd2r9y9F58cu9#-}KD zES_p;$o{=4wuj#*-&_yCfR_68@2#CH2>pQw11>k*G833?pJ2{?jd}wa?-+*o zASmwo`8d;U#G({&@~3ohIC@+afvdCU{~)$D$B+zDSZ_|w$!o~iRw#hV%*6ZT z#@AFX^X8lM_er6q7UBCtp4yPc{mfkT4@OrlX;4eidnjV&W!0s`@>To3og#@u-+H8{ z>7Hv5fLr;tDIa?S^pDPsqKd{08W#Kx>%f`GU|BX}E%uPc4R}5hp!#Pz4Va1#4DDj( zOr9z7Wn@GXjY{LSZ)Z;Gng4Ok=v>yM*L<40y_+>tT#Qv|W}Pfx`gn}3+3%edMk?3J zvWm=5f(sp2Ca$|kExKusb$p41ju{!)e>|q&*t6qNIA_Ih@`v;D)Ex`4f2jJ{Hh$+y z!z@tmZ_AwiWj^q|6=;-mY3jP*qqi@1iLhM9e&>6WuQVGS76{}kyapqxIIj1;dy!Fp z$6x3zBXwzWa42Jvp*t^1azB{PYjkvY_<0N)${XT?Del4eX3nH4+4f*x;w^j9y|(1) zm$nf#y0=J)WpDoo+prB^>5ll@Wxp;cX)pNOOhSX{H81ezdTm}%vb^!ml9eMT3wYsG zcD2Ji@Xc7z$7-*oBv2aM4!qu_`^F;$6<(nMwINn(<;QmH;1_^yi9S3NERA_{ z*4H%sI0zDSd*g2GLW_sYPoFWAFN9~eQ&v=Rq!msJ zv0$ZcyYLTM9dE*nl9+tHn_PrCdPyFzZF(0-bwjqLu&j2s`|IWKe)N6LiO_X4- z#l41#-_qn`5_u-cw%NXkRxr);z4--eB=Q2W%>%(6Y5aB^pKX;_Tyk{24dzB=;k-dj zN8_x#@I(>;9NvZELa-Iu2)h9=T_LghJmwRoElGQ6OH;ittw%w-Gc#YmjGeu0&+=@q z$ax!kxGTI^ZLC(URM*Ry&xi+?H*43W?B|L-fi%pfXD3DM;@Sa~9Q;en8+{f=~PWt0VGTd*DN-^W!?Qw!)ryLn87nAmOF#Y5ARDp?r zT%X1R1OM(ir3|iJ;3RY4qY3+UR^V?J4pVcDSEWg0(T5?ls>b7gW|rf4OnjP>G15vy ztV{9Mr+0ifKWf{F>C);=d7;}9^FeO#vxBy+Imdw1AaXdQcRN%RcSziR07cypkS8OJ zbc0QD>7+UQUX8i(es4rMSq*MU7#$iyXq>SrA$mArRzI<8M_h%x`n)_Xz@CrWrclOP z%Lv1jJvgmHk7R`notmRv>HVAY1MO<9!|i)Vz#^f6+pG1B4s8++UoT3Y@3%iJ-EIhLNi8;)JVRA>Eymyhd`zew4uciBAjs`|LQ%V7drUC?q)yQM z46xXOqMNq4P0ac-Etg>aJulPiH<6k<7f@T^X63f_*d9_Rd-uP#C50}0cUwqZ%=m|A zu>6jzf1ns{Z-N8}g9m8W$%`}9nxT0NgYbJrzBUJ5&27h#HP%< zc)x3K#L2Fx9*eG+fUm?2RB?s3`3DYdwi9$2AXp7ZlwjU?PUNE-v;f=QG}?AUG(tW7 zN3XeKSN}t%z)P#wV*4?_rJ9WJf~n7w;d^<|sNdjtQ8NS28Q6mL?^rVCJf8myuNZL= zM$+b6ip)Zj2@9%Yte$7D{yO0x1Z~+s?jM&=9t>%qW4j8!j^1m;otX~&z{5{ zZ*Ye`aA@>KR2}*7NS5@9*^`Wu{5Y=$AVD}{?#1e1V7QH|RWWNTRHZ+Rx6U0SZ{~SB z`L6P|G>BMe5O}UMZBYZ3Oq>w9+-b=8)zelE{~1mz=pf z&E%)f|3NM7zM1Y*zSokNu5D|qe_`G{<2sdOjdm(ELD@wQ-VWeIgs8z?!0eSZY z4a59!gOIuAG%8IrG)&TMCl3{@E3|~3aM08IRpgUymyBEDDtP_Z9VwqkZ*?OL7Hdz{ z8~4qLiKMX2LfU%rn~gShStN!+ zx|AZ%yP*Kr6^%?F58=LfCN6y=ch5#^CcdWpH!Gy^RbU7@_2bS3rz3ov9ShU5Vsk;j=S+PMDJ$IPa7ERPvk5v1Q7^&mKgX1g9b!<8uF`vTB&RKrw%;c>aiuAAQb0k)p zH}XS8LF=NRp(QmARE+5od4X@>`mvZaZGg&tv8|s($coW?0_(h32^<}!%2>0-#i++=S9%30q&De>=(mGc&0DZ($(n6x_0VV^q__@_LUt3*>^9H+ zOxCj=Gd=U!9P{9#4CQ<{+4&E4hq0v3+gk6XU+i9**}{3|q|9dv%wxA|>kCTS4@5Vkx{&#u^*1`c_kP@qn!%?;fUWH`6&pPOjy#H0%X8H?m71h+kG$&1T;G zMMbx*4aZQ~zg93))N7{wzRiwlEqCTW4)ODs`Cw-2eYnnrAs8Fy@XIfyX!hqE1KpXA zSajC*i#gGE|Kyt%xX54)M#A#=>NY-H(`$bBKnp8S#YLK@>qSdZ#ZGDtZ6|YzV1tg+ z_oAK`Svp#Zv7^27#fYKvAlyLRS9_&X)d(GuPPTebmlc(fVd&!FJB&7N)KUW(~ z3_3Qn%hci2KhT#)UZQBXNrFKv++4t8a7Atn^w;ozdA10f(3t?y|{5Q3QSesZE4o-rFggDvaym> zF7c5Pl|K9=In^e2GWBxRVz9cw9Cn=Qb0n2uplCOuv8F6?xoZ~9<&e~C7aRIK{Fqpt z=l=Q|+S1XK`cyGvJ3aDh9`+aCMWKe(jkse;EHpHxjW5CVT)9^4OK@q6xQ~uKY%qw} zQ&Caa9`hvA%#Z(5WjFDE`pdkdW9FS$V16QGJi{FLEsp$8s?8P>bl^^+(X~hq^_RlU zA;C1ey&2OjeOtld$Lu+`r;A60+?d(Db*8gdgs%k$FsvA4BDp%}KGa?QKY zOW03{xvbMP43m;%?RWz|bu=-7+rseaM5NGzTwJet+PTe|njA&lpda|wMh5fEk3?DD z*kzsJd1qvIO9$!e1$+M%En1JUe#HFjFpe{Fg0o&8skqI75`;gc$r#jp1z_+^S~`6w z)+=1P)w<^Bi-YFP_{v~BIAP=xN7)^|pKPdKbTThe&CY?eP*f}t5{&yT6d|Mh0B-GV zqQb>DLu9B-<1TY^-_}TFHtbL_zt24#-e{8zqp|J!CfR*Nt1cQfpZ!>54(>Ay_7Y@% zfx%ixtx}zk1FrZoLwpeg7t$Q~`0jOvf!*T2XdBG}i>346a=>W*ehD4dwtQNMDr~#M z_GxsCC)yOS!sdV7X>#-TyEBs%R-c<{1~-U>GnE`oYD@Ky2f2~gnl_%WiA|$<7_HY# z;dd}wnR>Uc_{Q~AquhOy$ zI1+xC)m)B!e9meMuKh<=B-b6-Zy0Xoo?-92DW+nnJih{p3$YIC%;n7R_^?t40pSN?4AX?%cg*yfFZ?_GA`^PP!E}T% zpx1n&?a#{WYpy!I6$^>JBXmF)d)IrGLTl(t@wV-)U%A<{E}nnyZ|t;4g?BeT z!7WU3Z|?mm!Cp%Pd$_vJeME4EQ5ojKb!?|s6CIEa#%mx@94TXu6s^cdH*quP<4o7- z<_7Uy7UAvAU%YA(u>mgDnDg|u-XfAi;Wto;y6nEw_yRXVPr4#=QMFn0)45e!yjILn zn-#x^o1Wh&HF@((`s;%EA6`Py=FeqCQ>~TnV!pHWKQ0;$mgdy_!&N;D_a-4@d{0Wf zT)T3@(D+5&G}%A8wr{9<&@j&VOyC19+%~!A!7;^b$Q^|zmUE`<$?bOf)|snNS>8MI z2jZe7ug3i4G&Aoz)aobO%+P<0#QcUkr0m+Ieo_VL$nPV94C1cbUg@0UptgmnnvRv8 z-s2rBKB*tr=y1`qG|;oc4OV}m!8>W3#gYf83w>1LH%_RMNU2KzsV^%3WaeD{-MAcY zQOvC8znG(65Nov?#=$WzjecvsF{oufS^HFWd!Jr4|DC+eMOQCu2U;a^{Tr=mP~N3g zc29ISKCYF+?2q+?2~o?RP?q$%oNtoFC;4=g*~|-nQl=xe(0Gz1Hr>E`Qb265N~OdLZRCSfnasupamJH*l^LuU5k-S32s`fApIE zKhr4(y4>Q?Lrrp)gUhAIMki_;IHKC%&3x+^TFr66;idfdLI*XRLHhSAqu4cb?GB3) zU*SeO>rFCM!#>CvC{^e=9M+S;zby3EE;ZdWCU@PKod>nA0)J#%<5bpmxa(o)(^>ww z=HoGMaFcx*zR?3Z-#5R&G2>v2i-oKj&vU(^`T66N^~7{bjjb1E?6%iFDsn^GkFjp( zx_ld6_Zh$jm_TB?N&f@qVex5r?J{~#Xvn`*%AdBh}1U49(W&suf(;a#XLbhdW zTyX*05Mv=uV=%ED&y@gN%A@m*~kkCUC0wk1>Q1Z@qW_M?wa?(kb6a0Js&*!7l z^UTc7&d$#6&h{oNsb5|yG}lBW*opO;Y&L<~gSrtm>W(Z~PqTV5rnhZ4MTVD!Xdh_+QPz4L{d9q01APbXe1vC5iBx`wIcaj0rx>UiwSN5BNY_uz$+4c%K675M`#>9$tvFboG6zJqkVRHL zLhTCxNBGEhjDwlXYq+4PqUZ7&SZi(*r?gL;Mi=1D3^p2S3kCK7W7XKK$?=xNX|78- z?F|%ZP6u0UWMZ>bS8C6A$8`gee_WfBIMxp^YLZIaFWCt6vvD?mZ2L>~OZ;?yqdA1E zsME?B%(3C6zZSFE(O8df-w}XjF;_wtHxsa zAN6?s8(078W~{s9XmqzN@+Sl2?B{uTS72NP(DeyiuNIKHlP7Swuh#rp%&WB(0&V?D z*4R9YWuav!Xs8v-8oWym8&|+5RfTq2Aa-Sf_r4!<&f>j1R5zp=I|Iz0!CqsG@+)$C zjh60vBa|{4&ZuDeaB1QQzT=$_9qZkGRUw+jn6T*A8(*jd!?AJeJneFM#!?=z& ze7clR8N=Fcd1_|nivL41aJ`PN{-hk2B_LdK=t}NRBq93^8d( z;EYkWWGzLb;@7<5u(C@(v5iK-g8j2M_t@KdU}?#IWk)7S&c#}pC!n~+P?n?oZw}u0 zZLA-hF}u?`Zx$cy6>MlvVE9t6F82miithXw&Bm54^*UmXf%T#2G{m)< zW1XoECq9xUoy^xvi>}=6{chf{VB#N4J>-U#?4Tk?A`YC zU3<6JfcIk;JV4y z)cbueIJlS9PljWbss+2#-|^ZAO!+)8(#{jLz;okCnyyr5#_XM)cT#5tdtYu7_zhkM zLqV?8HeRcVDOlkKqhqZBc|tcfdDZ?O zo1^~=Ma0GruhRLWvQsvjZtA9kXbgEGmW^I_lu72YZJVeV_`MCT{$=7gUPGiCLyYgu zqf{-}mrG00PWHU-nr~9Ys{pw+4Hn#EYS3?>!@8Jd3g(Y@nc*eX zjW2YZ>)sfaDKe&_g>q7kK7eF_*cl+oqq^_hPCJ=)ps%vo%fuY+{g0*Ex%g0Ntiii3 zc~8?fbWg)TqX;L#NQVjQHy@4@>!`h~u;>W}YC+HDi-hVf}6 zVA+K_ph7!v{+T&}d2xShjdoFG_p5;B;N4qI5~TQLE@*S>*r)}cw=mdsr_KyAHSR-$ zfU&`m;N`4+bSeFLCz~wx57+}?@K<}(NW4+g(P3%cs9xraCQWhDa`i^HH`uQ}CfIMX z&G|0*echeE_Pt+wchM!br|+7=Wi{T#mAT)Wi#Ilv%~(2rp*w-8P5#3c*6dp=zCGP< zaVsiq6wliBexhaT5Az1I5tCviX=!{0b2-bwJ6OBi)0-IUsHvg(P(y0Qt-P<`Pkk&q ztvtKrlS&s;er-i&hbU+;dDzY|1;pxzPCa;%ocp|dOmeb<`Rw>CbIGhJE3;qP7u_7Z zKh|)aFqMwHUr1MBTlXW13tqg~zb{cfvfHwz=op0cm7U%tBHij`Q54qX$!>!V}ds=NII$PW> z*&<-C#NrK(m6%WGsfjz6ozbTp&&~oM)13`<)O(>)a{p&(m#eGixR`wfsJZOPbMZq} z+h5z!cH(0mPp4iFr<+O(lO6NUy!O`PQq_G9J zwmG2@?>%4cAT1*9^0!hx)+h$&y&Rjowu#669o@8p;CY%j_4=@}__7;`3R_IdIJYq2 zpayF&RPpmZKVFE{BinUiMU?8FIsI&0u4?G{ja3q<{z_ATuw!>JR;t->;iQ;d3sQ*&^1xq)RKB{PG`@dknI zu;(lv$5!+-%O2-QcSy#MA*IDc)A=^Z)*0|$Lp)I^G|;7H5G-) z(~1JK1g@R^;r=Emlg$m^o6BZ^pGMY`W|idwsIRR=Q8LUZ`a9q6e!3qsV1k z=TM`$#w=@^&c#6Yk1};E{p;x?5XDR@pZ)G~UdB8qI=+p{gXa;Z`y8<%kX+RlL#9kS zh9%oYs=P8^y-G^475Q#0WZ&J~;7tNhH22bK>A7VQ|ztPD@HqwYE-J{BT4WwlfWRASj((|_FFjQ+j7Q2$(t zTjzKf=FIfj3YDay`-4)kB5FsaKD{FsOqx1lL)vXhzrokk)#hr~IbdZ*?2~20xoqvh zSC4htSzGS9xUTU!Zn5#IX@mv$bf|*>pZf2A>@?}>Cv;(UdgvhN-Uc4QQJlGVy%4So0TD8`2 zdd!Bg9(Cc19aI?cIyP1TY_g5fMQbZgF>9SVdAS;*k9lshX3wSOl?Q3Nac~)#%!3D6 zWwfAgs?)&IU)7>%YK*GDs9Tt*?bGZrkj2T3lUnU zw^1KwO6%;lIWwArzUvw}Q9Y+due#=*_+1;cJYU;Gbf|D(ReemuOMi!xnC z)f?X^ybJ7j9u?h(KrfPjPE9I|Msd+zH5q3ebnyikfEK_ z1l^pGv5qfSjlo@8#cEHxU9r1WdRN8o%;QV;{yU@3b}l=07^#lzwYxFq3>T&28kzG! zT^8uo`jcgyI*%w@Be~Muidc=$C6HDz2pZb>k$3j5DZT(^btgrqU`&UIn{sDl{s* zyPo8mVh5faEOf7O%LC}*&hpCxM&E4<&i|P?}E@4>T?;7!|$Z_VngRoFDU+ABT0<5qxi`_>cu zNGD(0n}VdJSc(>?Ty5N~){MuRFiO?eZLC}7U6qV+aeuK{kaPu8*7INVbl_(v;tz^; z(MGn5W4)c=6uaxKhtJjUyLx)$Q!vCHV9SdzWmFmd9g490r$vkIJmD_oatpCps(B~V zRS9-<2c6q>BwX2+Ss>M=ez0d%_Bu6kN5|VKdO8BayO!OQp{2Q!WHAnv*xM~u@Y<4j z)c?0*GiCi93>VOL56}ju+p~Q=gW4_CBB6}Pg@13_3kO^sTxN=;v${(Lsl62qYfo_P zgtz~|x25Lb#Yc<>l3Yh1oe7T93AVXw9DwE8hSyL`Zks=ywqnknjk@Rg|LHtdY=7~W z-;F1(GYyujj7`30H7>|`QC-kN&JM=_<=8xAMQyt2L^|Z5ZBBdej{(-!x7OuJyQwTH-sY<=8^*_{x4V&F8F}CqMh=afyKv^bwgs)T zX7d25Ot>3Ssto2w3ERL2gka?@mWDGPd(Vl z^j6Sp^s_LSGBLQ}5@U@rRLiB%TZ+2rrU^KT<#4*mDQn~M?0L9!diHcWC&%Wr%e%^I zf=*lh%GjVn@rS~_4bVci&RY;lgwjIza!x>&p7*d%NrrQvHTKaIaDyQYL178i|p zsXQo_$~sOn+^^t0Iv1}i82Ep>-^vkR$JpQ@C#f?@wuA_u1 zm@;c@N2`@v$l@y>+wio<6aI2Dy*u81rJq5B!EUMw&wU^G8J9Z;B$U#-CH)f7{5|i%JH;K0h zQ`%`j%5TMz!;I$UCsXlOBxt-@Bp2GPisET~%zx3~{LRM5Dx9*6A7&}Os-0xLj#g-P zoCfv#d(O`(JDY6`uk6^1(WPr`sd`AP>~ur_iB3W|9b9&${Zu~rZqUY#{rs5+&8JO|=r__7{8a8=&7OMbta<+vJ8U||*kOh< z({t*^s^?e)!6JLPVXF++2-cecLowmQbW+M^`-*Xk4{wTdb=U>VK`m|^Wpe<*6gt@r zT~aIxqoK0k+!w5Swsl7fkDP+IKA=kO=@ygp3aTq}{rJxI;1BO=WvK}+asA=BOo!EW0?cdLu6U?L@op9YVIi%KOW}BUi9%Jtk=SD3~@AQnG|5uTd zuSxew$PxiD5SR$}^3OlZ*u-4E<3xJcY$TmGvS5NXHaI1Ib6smIomWXC{Rg$Tw$buz zxas!l*9;4i1zLZtI%-R#N8 zlm&VDyni^OD-$m2fw;^-dm=I;>C8mZ?LIRm@zyl>#RccmI36ZbD|vVe)eSD;VEa` z_?PR^8G}Dr%Vxt;)CB3$DHm|v=%(irLjsFiV}M|C`TZE?>UvseF@09sJdBNzvqX2j z*<*U#mF`jnO`J$~9a{&(`7d3r+hQp~|8d0LR!=E=V81|egVmpHmq{w)1jH@S`wIR+ zeSFScliyNUG?)HIJ{cAa{LWt5mN|RTll%W=yhp12_|)nZWjkKBZ?{gc$v0~$6Z

    8;PpU_F7aH{(g0)VP|od&isVjndGo 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 fRr~&^?5BOQKg{uSE5O=o#X#M$F5pY literal 0 HcmV?d00001 diff --git a/test/MatrixTranspose/Readme.md b/test/MatrixTranspose/Readme.md new file mode 100644 index 0000000000..ab5dbdc958 --- /dev/null +++ b/test/MatrixTranspose/Readme.md @@ -0,0 +1,100 @@ +## Writing first HIP program ### + +This tutorial shows how to get write simple HIP application. We will write the simplest Matrix Transpose program. + +## HIP Introduction: + +HIP is a C++ runtime API and kernel language that allows developers to create portable applications that can run on AMD and other GPU’s. Our goal was to rise above the lowest-common-denominator paths and deliver a solution that allows you, the developer, to use essential hardware features and maximize your application’s performance on GPU hardware. + +## Requirement: +For hardware requirement and software installation [Installation](https://github.com/ROCm-Developer-Tools/HIP/INSTALL.md) + +## prerequiste knowledge: + +Programmers familiar with CUDA, OpenCL will be able to quickly learn and start coding with the HIP API. In case you are not, don't worry. You choose to start with the best one. We'll be explaining everything assuming you are completely new to gpgpu programming. + +## Simple Matrix Transpose + +Here is simple example showing how to write your first program in HIP. +In order to use the HIP framework, we need to add the "hip_runtime.h" header file. SInce its c++ api you can add any header file you have been using earlier while writing your c/c++ program. For gpgpu programming, we have host(microprocessor) and the device(gpu). + +## Device-side code +We will work on device side code first, Here is simple example showing a snippet of HIP device side code: + +`__global__ void matrixTranspose(hipLaunchParm lp, ` +` float *out, ` +` float *in, ` +` const int width, ` +` const int height) ` +`{ ` +` int x = hipBlockDim_x * hipBlockIdx_x + hipThreadIdx_x; ` +` int y = hipBlockDim_y * hipBlockIdx_y + hipThreadIdx_y; ` +` ` +` out[y * width + x] = in[x * height + y]; ` +`} ` + +`__global__` keyword is the Function-Type Qualifiers, it is used with functions that are executed on device and are called/launched from the hosts. +other function-type qualifiers are: +`__device__` functions are Executed on the device and Called from the device only +`__host__` functions are Executed on the host and Called from the host + +`__host__` can combine with `__device__`, in which case the function compiles for both the host and device. These functions cannot use the HIP grid coordinate functions (for example, "hipThreadIdx_x", will talk about it latter). A possible workaround is to pass the necessary coordinate info as an argument to the function. +`__host__` cannot combine with `__global__`. + +`__global__` functions are often referred to as *kernels, and calling one is termed *launching the kernel*. + +Next keyword is `void`. HIP `__global__` functions must have a `void` return type, and the first parameter to a HIP `__global__` function must have the type `hipLaunchParm`, which is for execution configuration. Global functions require the caller to specify an "execution configuration" that includes the grid and block dimensions. The execution configuration can also include other information for the launch, such as the amount of additional shared memory to allocate and the stream where the kernel should execute. + +After `hipLaunchParm`, Kernel arguments follows next(i.e., `float *out, float *in, const int width, const int height`). + +The kernel function begins with +` int x = hipBlockDim_x * hipBlockIdx_x + hipThreadIdx_x;` +` int y = hipBlockDim_y * hipBlockIdx_y + hipThreadIdx_y;` +here the keyword hipBlockIdx_x, hipBlockIdx_y and hipBlockIdx_z(not used here) are the built-in functions to identify the threads in a block. The keyword hipBlockDim_x, hipBlockDim_y and hipBlockDim_z(not used here) are to identify the dimensions of the block. + +We are familiar with rest of the code on device-side. + +## Host-side code + +Now, we'll see how to call the kernel from the host. Inside the main() function, we first defined the pointers(for both, the host-side as well as device). The declaration of device pointer is similar to that of the host. Next, we have `hipDeviceProp_t`, it is the pre-defined struct for hip device properties. This is followed by `hipGetDeviceProperties(&devProp, 0)` It is used to extract the device information. The first parameter is the struct, second parameter is the device number to get properties for. Next line print the name of the device. + +We allocated memory to the Matrix on host side by using malloc and initiallized it. While in order to allocate memory on device side we will be using `hipMalloc`, it's quiet similar to that of malloc instruction. After this, we will copy the data to the allocated memory on device-side using `hipMemcpy`. +` hipMemcpy(gpuMatrix, Matrix, NUM*sizeof(float), hipMemcpyHostToDevice);` +here the first parameter is the destination pointer, second is the source pointer, third is the size of memory copy and the last specify the direction on memory copy(which is in this case froom host to device). While in order to transfer memory from device to host, use `hipMemcpyDeviceToHost` and for device to device memory copy use `hipMemcpyDeviceToDevice`. + +Now, we'll see how to launch the kernel. +` hipLaunchKernel(matrixTranspose, ` +` dim3(WIDTH/THREADS_PER_BLOCK_X, HEIGHT/THREADS_PER_BLOCK_Y), ` +` dim3(THREADS_PER_BLOCK_X, THREADS_PER_BLOCK_Y), ` +` 0, 0, ` +` gpuTransposeMatrix , gpuMatrix, WIDTH ,HEIGHT); ` + +HIP introduces a standard C++ calling convention to pass the execution configuration to the kernel (this convention replaces the `Cuda <<< >>>` syntax). In HIP, +- Kernels launch with the `"hipLaunchKernel"` function +- The first five parameters to hipLaunchKernel are the following: + - **symbol kernelName**: the name of the kernel to launch. To support template kernels which contains "," use the HIP_KERNEL_NAME macro. In current application it's "matrixTranspose". + - **dim3 gridDim**: 3D-grid dimensions specifying the number of blocks to launch. In MatrixTranspose sample, it's "dim3(WIDTH/THREADS_PER_BLOCK_X, HEIGHT/THREADS_PER_BLOCK_Y)". + - **dim3 blockDim**: 3D-block dimensions specifying the number of threads in each block.In MatrixTranspose sample, it's "dim3(THREADS_PER_BLOCK_X, THREADS_PER_BLOCK_Y)". + - **size_t dynamicShared**: amount of additional shared memory to allocate when launching the kernel. In MatrixTranspose sample, it's '0'. + - **hipStream_t**: stream where the kernel should execute. A value of 0 corresponds to the NULL stream.In MatrixTranspose sample, it's '0'. +- Kernel arguments follow these first five parameters. Here, these are "gpuTransposeMatrix , gpuMatrix, WIDTH ,HEIGHT". + +Next, we'll copy the computed values/data back to the device using the `hipMemcpy`. Here the last parameter will be `hipMemcpyDeviceToHost` + +After, copying the data from device to memory, we will verify it with the one we computed with the cpu reference funtion. + +Finally, we will free the memory allocated earlier by using free() for host while for devices we will use `hipFree`. + +## How to build and run: +Use the make command and execute it using ./exe +Use hipcc to build the application, which is using hcc on AMD and nvcc on nvidia. + +## More Info: +- [HIP FAQ](https://github.com/ROCm-Developer-Tools/HIP/docs/markdown/hip_faq.md) +- [HIP Kernel Language](https://github.com/ROCm-Developer-Tools/HIP/docs/markdown/hip_kernel_language.md) +- [HIP Runtime API (Doxygen)](http://rocm-developer-tools.github.io/HIP) +- [HIP Porting Guide](https://github.com/ROCm-Developer-Tools/HIP/docs/markdown/hip_porting_guide.md) +- [HIP Terminology](https://github.com/ROCm-Developer-Tools/HIP/docs/markdown/hip_terms.md) (including Rosetta Stone of GPU computing terms across CUDA/HIP/HC/AMP/OpenL) +- [hipify-clang](https://github.com/ROCm-Developer-Tools/HIP/hipify-clang/README.md) +- [Developer/CONTRIBUTING Info](https://github.com/ROCm-Developer-Tools/HIP/CONTRIBUTING.md) +- [Release Notes](https://github.com/ROCm-Developer-Tools/HIP/RELEASE.md) diff --git a/test/MatrixTranspose/log.txt b/test/MatrixTranspose/log.txt new file mode 100644 index 0000000000..c1a0f0c912 --- /dev/null +++ b/test/MatrixTranspose/log.txt @@ -0,0 +1,31 @@ +HCC_PROFILE=2 ./MatrixTranspose +Device name Device 67df + ptr(0x7ffd20812ac8) size(0x400000) + *ptr(0x0x901800000) + ptr(0x7ffd20812ac0) size(0x400000) + *ptr(0x0x901e00000) + dst(0x901800000) src(0x7f8d7de53010) size(0x400000) kind(1) + + kernel(0x457010) straem((nil)) + kernel(_Z15matrixTransposeN8hip_impl17Empty_launch_parmEPfS1_i) straem((nil)) + + + dst(0x7f8d7d567010) src(0x901e00000) size(0x400000) kind(2) + kernel("_Z15matrixTransposeN8hip_impl17Empty_launch_parmEPfS1_i") start(83839566647773) end(83839568478493) + + +PASSED! + ptr(0x901800000) + + ptr(0x901e00000) + +Activity records: + hipMalloc id(3) correlation_id(1): begin_ns(1525888625904709559) end_ns(1525888625904912781) + hipMalloc id(3) correlation_id(2): begin_ns(1525888625904916451) end_ns(1525888625905101986) + hipMemcpy id(101) correlation_id(3): begin_ns(1525888625905109198) end_ns(1525888625906165995) + hipModuleLaunchKernel id(118) correlation_id(5): begin_ns(1525888625906184286) end_ns(1525888625906210781) + hipLaunchKernel id(38) correlation_id(4): begin_ns(1525888625906171593) end_ns(1525888625906212767) + hipKernel id(133) correlation_id(7): begin_ns(1525888625908107416) end_ns(1525888625908114094) + hipMemcpy id(101) correlation_id(6): begin_ns(1525888625906214261) end_ns(1525888625908785157) + hipFree id(80) correlation_id(8): begin_ns(1525888625924823273) end_ns(1525888625924893910) + hipFree id(80) correlation_id(9): begin_ns(1525888625924896385) end_ns(1525888625924922452) From 5151f6ce04b3228cf3780585a412a1518ab667ac Mon Sep 17 00:00:00 2001 From: Evgeny Date: Fri, 25 May 2018 01:26:36 -0500 Subject: [PATCH 002/691] betta version --- CMakeLists.txt | 34 ------ inc/roctracer.h | 17 ++- src/CMakeLists.txt | 2 +- src/core/roctracer.cpp | 125 +++++++++++++++++--- src/util/exception.h | 2 - test/MatrixTranspose/Makefile | 16 ++- test/MatrixTranspose/MatrixTranspose | Bin 1980792 -> 0 bytes test/MatrixTranspose/MatrixTranspose.cpp | 144 +++++++++++------------ test/MatrixTranspose/MatrixTranspose.o | Bin 2013216 -> 0 bytes 9 files changed, 207 insertions(+), 133 deletions(-) delete mode 100755 test/MatrixTranspose/MatrixTranspose delete mode 100644 test/MatrixTranspose/MatrixTranspose.o diff --git a/CMakeLists.txt b/CMakeLists.txt index c74ed4c781..84c0fa8cfa 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -67,37 +67,3 @@ include ( ${LIB_DIR}/CMakeLists.txt ) ## Set the VERSION and SOVERSION values set_property ( TARGET ${TARGET_NAME} PROPERTY VERSION "${LIB_VERSION_STRING}" ) set_property ( TARGET ${TARGET_NAME} PROPERTY SOVERSION "${BUILD_VERSION_MAJOR}" ) - -## If the library is a release, strip the target library -if ( "${CMAKE_BUILD_TYPE}" STREQUAL release ) - add_custom_command ( TARGET ${ROCTRACER_TARGET} POST_BUILD COMMAND ${CMAKE_STRIP} *.so ) -endif () - -## Build tests -#add_subdirectory ( ${TEST_DIR} ${PROJECT_BINARY_DIR}/test ) - -## Install information -install ( TARGETS ${ROCTRACER_TARGET} LIBRARY DESTINATION ${ROCTRACER_NAME}/lib ) -install ( FILES ${CMAKE_CURRENT_SOURCE_DIR}/inc/roctracer.h DESTINATION ${ROCTRACER_NAME}/include ) - -## Packaging directives -set ( CPACK_PACKAGE_NAME "${ROCTRACER_NAME}-dev" ) -set ( CPACK_PACKAGE_VENDOR "AMD" ) -set ( CPACK_PACKAGE_VERSION_MAJOR ${BUILD_VERSION_MAJOR} ) -set ( CPACK_PACKAGE_VERSION_MINOR ${BUILD_VERSION_MINOR} ) -set ( CPACK_PACKAGE_VERSION_PATCH ${BUILD_VERSION_PATCH} ) -set ( CPACK_PACKAGE_CONTACT "Advanced Micro Devices Inc." ) -set ( CPACK_PACKAGE_DESCRIPTION_SUMMARY "ROCTRACER library for AMD HSA runtime API extension support" ) -set ( CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE" ) - -## Debian package specific variables -set ( CPACK_DEBIAN_PACKAGE_DEPENDS "hsa-rocr-dev" ) -set ( CPACK_DEBIAN_PACKAGE_HOMEPAGE "https://github.com/RadeonOpenCompute/HSA-RocProfiler" ) -set ( CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA "${CMAKE_CURRENT_SOURCE_DIR}/DEBIAN/postinst;${CMAKE_CURRENT_SOURCE_DIR}/DEBIAN/prerm" ) - -## RPM package specific variables -set ( CPACK_RPM_PACKAGE_DEPENDS "hsa-rocr-dev" ) -set ( CPACK_RPM_PRE_INSTALL_SCRIPT_FILE "${CMAKE_CURRENT_SOURCE_DIR}/RPM/rpm_post" ) -set ( CPACK_RPM_POST_UNINSTALL_SCRIPT_FILE "${CMAKE_CURRENT_SOURCE_DIR}/RPM/rpm_postun" ) - -include ( CPack ) diff --git a/inc/roctracer.h b/inc/roctracer.h index 8e48ef3621..f804b8b8eb 100644 --- a/inc/roctracer.h +++ b/inc/roctracer.h @@ -65,7 +65,7 @@ #include #include -#include +#include #define ROCTRACER_VERSION_MAJOR 1 #define ROCTRACER_VERSION_MINOR 0 @@ -158,14 +158,27 @@ int roctracer_disable_api_callback( typedef void roctracer_pool_t; // Activity record +#if 0 typedef hip_act_record_t roctracer_record_t; +typedef hip_dispatch_record_t roctracer_dispatch_record_t; +typedef hip_copy_record_t roctracer_memcpy_record_t; +typedef hip_barrier_record_t roctracer_barrier_record_t; +#else +typedef hip_act_record_t roctracer_record_t; +typedef hip_copy_record_t roctracer_async_record_t; +typedef roctracer_async_record_t roctracer_dispatch_record_t; +typedef roctracer_async_record_t roctracer_memcpy_record_t; +typedef roctracer_async_record_t roctracer_barrier_record_t; +#endif // Return next record static inline int roctracer_next_record( const roctracer_record_t* record, // [in] record ptr const roctracer_record_t** next) // [out] next record ptr { - *next = (record + 1); + *next = (record->async) ? + reinterpret_cast(record) + 1 : + record + 1; return ROCTRACER_STATUS_SUCCESS; } diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index b0f3da3c7c..e0c90879be 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -8,4 +8,4 @@ set ( LIB_SRC ) add_library ( ${TARGET_LIB} SHARED ${LIB_SRC} ) target_include_directories ( ${TARGET_LIB} PRIVATE ${LIB_DIR} ${ROOT_DIR} ${HSA_RUNTIME_INC_PATH} ${HIP_INC_DIR} ) -target_link_libraries( ${TARGET_LIB} PRIVATE ${HSA_RUNTIME_LIB} c stdc++) +target_link_libraries( ${TARGET_LIB} PRIVATE ${HSA_RUNTIME_LIB} c stdc++ ${HIP_INC_DIR}/../lib/libhip_hcc.so ) diff --git a/src/core/roctracer.cpp b/src/core/roctracer.cpp index 1a39f86d6c..af33702ff2 100644 --- a/src/core/roctracer.cpp +++ b/src/core/roctracer.cpp @@ -46,6 +46,9 @@ } \ return err; +// HCC API declaration +extern "C" void HSAOp_set_activity_record(const uint64_t& record); + /////////////////////////////////////////////////////////////////////////////////////////////////// // Internal library methods // @@ -99,7 +102,8 @@ class MemoryPool { } // Pool definition - buffer_size_ = properties.buffer_size; + buffer_size_shift_ = properties.buffer_size; + buffer_size_ = 1 << buffer_size_shift_; const size_t pool_size = 2 * buffer_size_; pool_begin_ = NULL; alloc_fun_(&pool_begin_, pool_size, alloc_arg_); @@ -109,6 +113,10 @@ class MemoryPool { buffer_end_ = buffer_begin_ + buffer_size_; write_ptr_ = buffer_begin_; + // Pool references + buffer_refs_ = new uint32_t[buffer_refs_count_]; + memset(buffer_refs_, 0, sizeof(uint32_t) * buffer_refs_count_); + // Consuming read thread read_callback_fun_ = properties.buffer_callback_fun; read_callback_arg_ = properties.buffer_callback_arg; @@ -124,8 +132,9 @@ class MemoryPool { } template - void* Write(const Record& record) { + Record* getRecord() { std::lock_guard lock(write_mutex_); + char* next = write_ptr_ + sizeof(Record); if (next > buffer_end_) { if (write_ptr_ == buffer_begin_) EXC_ABORT(ROCTRACER_STATUS_ERROR, "buffer size(" << buffer_size_ << ") is less then the record(" << sizeof(Record) << ")"); @@ -136,9 +145,15 @@ class MemoryPool { next = write_ptr_ + sizeof(Record); } Record* ptr = reinterpret_cast(write_ptr_); - *ptr = record; write_ptr_ = next; - return reinterpret_cast(ptr); + + *ptr = {}; + return ptr; + } + + template + void Write(const Record& record) { + *getRecord() = record; } void Flush() { @@ -149,6 +164,9 @@ class MemoryPool { } } + void incrementRef(void* ptr) { buffer_refs_[calc_buffer_index(ptr)] += 1; } + void decrementRef(void* ptr) { buffer_refs_[calc_buffer_index(ptr)] -= 1; } + private: struct consumer_arg_t { MemoryPool* obj; @@ -176,6 +194,10 @@ class MemoryPool { while (arg->valid == false) { PTHREAD_CALL(pthread_cond_wait(&(obj->read_cond_), &(obj->read_mutex_))); } + + const uint32_t buffer_index = obj->calc_buffer_index(arg->begin); + while(obj->buffer_refs_[buffer_index] != 0) PTHREAD_CALL(pthread_yield()); + obj->read_callback_fun_(arg->begin, arg->end, obj->read_callback_arg_); reset_reader(arg); PTHREAD_CALL(pthread_mutex_unlock(&(obj->read_mutex_))); @@ -192,11 +214,14 @@ class MemoryPool { PTHREAD_CALL(pthread_mutex_unlock(&read_mutex_)); } + uint32_t calc_buffer_index(const void* ptr) const { return ((uintptr_t)ptr - (uintptr_t)pool_begin_) >> buffer_size_shift_; } + // pool allocator roctracer_allocator_t alloc_fun_; void* alloc_arg_; // Pool definition + size_t buffer_size_shift_; size_t buffer_size_; char* pool_begin_; char* pool_end_; @@ -205,6 +230,10 @@ class MemoryPool { char* write_ptr_; mutex_t write_mutex_; + // Pool references + uint32_t* buffer_refs_; + static const uint32_t buffer_refs_count_ = 2; + // Consuming read thread roctracer_buffer_callback_t read_callback_fun_; void* read_callback_arg_; @@ -246,10 +275,9 @@ DESTRUCTOR_API void destructor() { util::Logger::Destroy(); } -// Activity callback to generate an activity record void ActivityCallback( - roctracer_record_t* record, uint32_t activity_kind, + roctracer_record_t** record, const void* callback_data, void* arg) { @@ -259,17 +287,82 @@ void ActivityCallback( MemoryPool* pool = reinterpret_cast(arg); if (pool == NULL) EXC_ABORT(ROCTRACER_STATUS_ERROR, "ActivityCallback pool is NULL"); if (data->phase == ROCTRACER_API_PHASE_ENTER) { - *record = {}; - record->name = data->name; - record->activity_kind = activity_kind; - record->begin_ns = timer.timestamp_ns(); + *record = pool->getRecord(); + (*record)->activity_kind = activity_kind; + (*record)->begin_ns = timer.timestamp_ns(); // Correlation ID generating - const auto correlation_id = GlobalCounter::Increment(); - record->correlation_id = correlation_id; - const_cast(data)->correlation_id = correlation_id; + uint64_t correlation_id = data->correlation_id; + if (correlation_id == 0) { + correlation_id = GlobalCounter::Increment(); + const_cast(data)->correlation_id = correlation_id; + } + (*record)->correlation_id = correlation_id; + // Passing record to HCC + HSAOp_set_activity_record(correlation_id); } else { - record->end_ns = timer.timestamp_ns(); - pool->Write(*record); + (*record)->end_ns = timer.timestamp_ns(); + // Clearing record in HCC + HSAOp_set_activity_record(0); + } +} + +// HCC activity record type +struct hcc_record_t { + uint32_t op_id; // operation id, dispatch/copy/barrier + uint32_t command_id; // command kind + uint32_t async; // aysnc record, 0/1 + uint64_t correlation_id; // activity correlation ID + uint64_t begin_ns; // host begin timestamp, nano-seconds + uint64_t end_ns; // host end timestamp, nano-seconds + int device_id; + uint64_t stream_id; + size_t bytes; +}; + +void ActivityAsyncCallback( + uint32_t op_id, + void* record, + void* arg) +{ + if (op_id == 0) { + // HIP record Sync + roctracer_record_t* record_ptr = reinterpret_cast(record); + *reinterpret_cast(arg) = record_ptr->correlation_id; + } else { + if (sizeof(hcc_record_t) != sizeof(roctracer_memcpy_record_t)) EXC_ABORT(ROCTRACER_STATUS_ERROR, "record types missmatch"); + MemoryPool* pool = reinterpret_cast(arg); + switch (op_id) { + // Dispatch record + case 1: { + roctracer_dispatch_record_t* record_ptr = pool->getRecord(); + *record_ptr = *reinterpret_cast(record); + break; + } + // Memcpy record + case 2: { + roctracer_memcpy_record_t* record_ptr = pool->getRecord(); + *record_ptr = *reinterpret_cast(record); + break; + } + // Barrier record + case 3: { + roctracer_barrier_record_t* record_ptr = pool->getRecord(); + *record_ptr = *reinterpret_cast(record); + break; + } + // Unknown ID + default: + EXC_ABORT(ROCTRACER_STATUS_ERROR, "Unknown op ID"); + } +#if 0 + std::cout << "ActivityAsyncCallback " << record_ptr->name + << " id(" << op_id << "." << record_ptr->activity_kind << ")" + << " record(" << record << ")" + << " correlation_id(" << record_ptr->correlation_id << ")" + << " time-ns(" << start << ":" << end << ")" + << " arg(" << arg << ")" + << std::endl << std::flush; +#endif } } @@ -380,7 +473,7 @@ PUBLIC_API int roctracer_enable_api_activity( if (pool == NULL) pool = roctracer_default_pool(); switch (domain) { case ROCTRACER_API_DOMAIN_HIP: { - const hipError_t hip_err = hipRegisterActivityCallback(activity_kind, roctracer::ActivityCallback, pool); + const hipError_t hip_err = hipRegisterActivityCallback(activity_kind, roctracer::ActivityCallback, roctracer::ActivityAsyncCallback, pool); if (hip_err != hipSuccess) HIP_EXC_RAISING(ROCTRACER_STATUS_HIP_API_ERR, "hipRegisterActivityCallback error(" << hip_err << ")"); break; } diff --git a/src/util/exception.h b/src/util/exception.h index 71fb87a28b..96c91c0804 100644 --- a/src/util/exception.h +++ b/src/util/exception.h @@ -1,8 +1,6 @@ #ifndef SRC_UTIL_EXCEPTION_H_ #define SRC_UTIL_EXCEPTION_H_ -#include - #include #include #include diff --git a/test/MatrixTranspose/Makefile b/test/MatrixTranspose/Makefile index 0d21e8ebd0..861a0e21c9 100644 --- a/test/MatrixTranspose/Makefile +++ b/test/MatrixTranspose/Makefile @@ -1,28 +1,32 @@ ROOT_PATH=../.. LIB_PATH=$(ROOT_PATH)/b LIB_NAME=roctracer64 +ROC_LIBS=-L$(LIB_PATH) -l$(LIB_NAME) + +HIP_PATH=/home/evgeny/work/roc-1.8.x/hip +HCC_PATH=/home/evgeny/work/roc-1.8.x/hcc/b -export HCC_HOME=/home/evgeny/git/compute/out/ubuntu-16.04/16.04/hcc -HIP_PATH=/home/evgeny/git/compute/external/hip/hip HIPCC=$(HIP_PATH)/bin/hipcc +HCC_LIBS=-L$(HCC_PATH)/lib -lmcwamp_hsa SOURCES = MatrixTranspose.cpp OBJECTS = $(SOURCES:.cpp=.o) EXECUTABLE=./MatrixTranspose -export LD_LIBRARY_PATH=$(LIB_PATH) +export LD_LIBRARY_PATH=$(LIB_PATH):$(HIP_PATH)/lib:$(HCC_PATH)/lib +export HCC_HOME=$(HCC_PATH) .PHONY: test -all: $(EXECUTABLE) test +all: clean $(EXECUTABLE) test -CXXFLAGS =-g -DCOMPILE_HIP_ATP_MARKER=1 -I$(ROOT_PATH) +CXXFLAGS =-g -I$(ROOT_PATH) -I$(ROOT_PATH)/inc CXX=$(HIPCC) $(EXECUTABLE): $(OBJECTS) - $(HIPCC) $(OBJECTS) -o $@ -L/home/evgeny/git/compute/out/ubuntu-16.04/16.04/hcc/lib -lmcwamp_hsa -L$(LIB_PATH) -l$(LIB_NAME) + $(HIPCC) $(OBJECTS) -o $@ $(HCC_LIBS) $(ROC_LIBS) test: $(EXECUTABLE) diff --git a/test/MatrixTranspose/MatrixTranspose b/test/MatrixTranspose/MatrixTranspose deleted file mode 100755 index 769110b31e62bca866fee07814e2bc1a0d225bbc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1980792 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%0Dee{Mx0ycrW18-%X;w3wC96H0M`7 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

    seGjKXIf`a9MxINoxer1|vnH>p{f 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

    h9{9n#|i@aP-q>9&*Hw-u;z7MW^n1^%FLp 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

    c#E(36}VBfiUM@~6{#R0m9 zmrj*I)rX-FP~Y})UI%F`0BkhJ?JOf4sQAoA-dkmbK?q+saOd1WL=z1%90AyHDL2Nt zgR+`Ps-a>+LTj8T=H_$j@LGaHn%}ALs_tmhD}h{*@QIUj*aRg*LW_j{BbI=D0<-i$ zr#xuDItndqdAL8g3ywJM>Fpcf?YK7Va0DtXb=lUF_d9vEJ8fWJFoBtca2uF-)D{s~ zJD+B^4wWI+vn;0-6vUCTDY{JG!vfIfCUF0_6da4B0fLDSvFRR+i{g=Ju>L#R9_VjQ z+{|&wb*F4h#Y#q`30#;lJ<;MbE0qAYp$6k4RiL*jQerNjdp0b=NIA?t9_ss6MivAWpPA+6|Bwep?J>(yKp-2 z3=*q5RVYn3V+AW5~iqcSWZABBkpbK=|zh?;U!P}Y1=HQ$q4QR91R0YdG!9Pf7nH@H%m=)B+{ofET?nbAqefqbd~+vbR;*c?Qss=i4VwPhs=n z0H(VWPJg$v*Lnq@nn>2^40tSm)F? zy8}`Y{M2inmAoh?oCzXp+rOS2h=lI3$|wEX(0Xn= zYpaT2?uPselJj*lB?tT@PTHblqAom{wE^0@2&VH@zxNj zXqye-aUR@OE(>gSMp1>0=2|$?%c^S~GDH1e6km&QnTsFg_rpw$Ey9fl{z~)NzGiO! zUqM%yBq$Sl*DRK}EbBQhUN!0q!jgdX*^wTHd%g((ocLQNe_HZ=dGm)015^=>puvLQ zVHMajsg`A(sA!fonuDVWcn%4O_$Mk2m?{n!lG4~y_7u4?63|3cXq@zIAWpr+e{3@< z7d2@#_e!>Rsb->zA(57-6A{d8*~V7teLD*Sk;}5If*y)G&~aMmxQp1LOO9B@msmtG zLj?AJKjJ&~$R25*6(G-_K3`1SVIlTU1&3|@Ggl&BAfMls=>8@C;6_VHlvQc0x#;kGMa{p7ZyUNfosDP^EW+lv@1`_$K@4eRic?f`Xd^y|_b zkAgeRL{FGTvz6P|OL0Mr^7?~?D@T?WpoNd4)eiIK6CP-C2~8L`u^CN}+GGyAAS|~! zKNeP#Z-Fzv6J6_a^$w1h?~Px%RyUE@Vc6uZA_DKC2t0oa=Fc;D)M5fC5w!za@48Vw zQeft#GN=)(mgQx#9dZNElflI^YH7?(XYQtHfsG()*rN$IWe>ds<`^%PTTT*396V3& zvL|h9I@MbRw+$7?pwaBK)E`c3Jm{%F#j`CTHv%!JJxVAC^Sm3g;rwWfc|kHXlO&3n z#UcZGAhe^Dnc~8C(I=p*zwtdZ+x!O}pzW)uaW{%h3D$+D-L=@-N%Y|+VMI+#7 zyzIoH-^|S;+;!4{@_}8YU|!o=;D~hC-kfV|F^64N%+kW%(Vh16RIVp{AuJy^uf5>r z+Ybr527tGM2ffC5Ic+rU9XL3IJ5of|^8;wn{f@wy$ z>8I96umfK5fXb1EcYEO4R_x-WV~fwhqNq&!4Lo%iXBC4d7zhyaj{m}eU{kpflmHkn zkg)pP?E4Vj}+X~Hvg}CQ4cm@t{ z=Anzp=kk65u`_3F8nQlSkL#E#m_H(i4v1}rG=?{R=Q)P*%O1L2PNBzGns@;3nNyub z#w~VAFNG;XKyE(&DK`(4qcR}U548=u($(fioRTe{^O@|_(dYciWbz(qG_T6Nn*F}~ z2&ci4pcK>N)Sfsf6X*I5#{z;R^y=IPr?J>Tal3;0FNpAMhdsdCnO~VKlYkAYj^EPRw3`asF)N$&d17H;qgFCLcOvFO6$<0rNYRd7Ll&_@h$QK z4>i|e^WFilAT+SKT8~#KNmzF;2%hh{8|X4h68=b%m?b_^YN`Q`_K~Fo$|4I(vAJeL z7TNh=gIi&@d!IIg&3HhN&3l5PhC_OcvOlp7n$xlA78G%&%W@KTCUXhqieiyomqcow z-Cv{y)GVIX?&XkL-rG-VNvZ?iZ3?NyjDOlt%CETiE5YFWFBp!wyYtXtMp`2rtxo_QHS ztpf)_DtYW>>_##|)(KlKqKgg8cq=X@q)rl+i|gqbCEBDlfQVMqp2NKsHUC@9;n zKnl%u-O)PAOfiyGEAc|WKbhU%I9TYylb?rn$A)>HcA+4Co~y~4wjiqt?3&Y47rI#$ zRm#D1jBRteV|rl66Sq9v)YR`cn(v+@BOXzQ4md=$k%-RJeDAy@?xmYgx!NZL@t{5EUqM6kb)lVjw0`OyU=c-#ggN{o{qU9Ju91G zvG#O6ao@anoUky+#7LodL<~s8dCDOzGSiR*=?bTF{Ph^AIa8=L^Z3R^Tg3x@ z?ScLZt?=GlbTM~Ft5?Fzz8Z+eADuDd`5t{DDX*ebJDBQ4iN^VTD2_JJ@Z2xa0x_j>y{tnlQO2Qa z{>Kzyd9f1;;JBjBUWh~3JJ0aF#gaW6teLo)O0*W<{;FilroR-17?KclwHhZHlWsIy zzUnNOvpkvH4%QH!iy$lp_`X@YW1lNOvlg<2i*tbLyrqRMe9_w^w~0OCLZe)JEyHA3 zRs)+bqibHFb4H`N;~SwkUa^w}#*7?KSVKApry0zWY`g^4TaOv65Qta7ENph{NK#ll zTXDz)8j&4{%wo0@3#G40{zR(sk9vNQj#&dT!G$j<1tR#sI|xLAykdU-Y1aR4OG0N}Hh+ zbe_etKqAe`flOGlZ8T;k52X{3RALi95nVcX!CV4KOEhhBbK1LR0~Z&7qQGpzJ;#}k zeJAO+@n%foZ~K_l9}1LnaI*3jc55u@; zQF#(UbLMK507dDZLw71d=|Kd-@$eE zTPJA%P~Abe^FBAXt)~^4wUNE(gaRyBHaBeVJG>&HdOpWyxqveJq&v zxH=l-qK>%fa0lN7P=j9c6-#KLAsRNm29D<{I*VNiHf-VRXz$0!gz$bv5micTw0ZuA z%)8$I=$m=Fy3Mt)z`QniyocHAXJYx+t7HpMp$Y9(ZgzPd)049YK;e7yx#&ozM}?A@ zIc{LXvA}9dojU_!6RPFK!uVcq$rR$mb}rX`mpKkQhgg<%(g99bH(3N%9rgCYX<=}6 zB81RYEUwWEzOYnN!&VgA=Pd?DA23gREr|Mhhjr@x&Jf+r9mL&JxqlNTECgHMX;vL3 zb_REF_T@X9ZE_%j@P-mLsPqcJ-1E3}0fMkzVZ*JYnqgCbRnd*+Vz_0Hj6q810qy6phJ-51_qiTZOw&V+~5i~Gx&=ja3IZIYc|&zCfJkiM%%y( zOc%}r9S9Ga_pcGfwJz@#5)r21pfL@$@dQZ$Qz`yycaxj{;T=9rixwI%!A;!zUYRNEi~_d3zc0&PIg-8n}D zFHkxCii%jFrW-IH{S=p-LXpVDtY$gn@!46Ma_v8uMR?o+-C?*ya)zDq7B-~|<+&A5 zIJe=j${fxN8lR6``d3~$7;rok5-!49Oom;ru1g*fj8agBxom;7(}@Wiq{+|? zIGnFD4>?jYi`?Aur@8!`s5-50;AdIr)14oB4%XObSXsRY_>j5>%u!ORh}vP$ zQk)3g?~2Tog;MCJa;vt`El*LKsW1Ce&m~IrfBKahapBop=Igkk$+K1ZVtzUBmy2p+ zX-+S`xoW(?y?*exBD<>|;H1fxuKBau3kP+;KA&E=z(vv~x1H<>W+Zl`cPtli+r#O0 z-0MW2IZ1mbzJMwkC#=LTN1OeADN?<@d4}#b67xsNkfOCqzETCkk-q^1sc=`(QK_8b zhzr$Jtn~O1uUPS6`G7=+D>q@FN6b~LKY{TMPtJ6~1E>qeC?|KEh)6<69RVbF6u+ig z^EaRPxL7}hwaSHYpcoYdG>^~avUT{aVoYBHV~W|{XBNym;nQ4r^@0YF`eVn}LNvl; z+_>CvloLG;F4rpZu-n$71ETbNNLb?QvbqVt1YI3vmdJrWG42Qz>IYdocLUrRb(#%I z5jr^c$%#0igWb;h=$1h2II3b-q9s6p`z&7$l%NJ3L?S6!w;uO}bHrEjt7RBvONaXS zOQUJ|yC`KP%UvDaZS4UHO@x^Y$T-NESBFb?clEX{5{pXU&HQY-%$k{M^HTAC!2m_} zAYE~5fL#;U?qE^kVM(+jZIUP&^g|ItDN-qkV1U*`=d6+@1O0MXz}W2N*FwZ@7pj4kH{p*)@Kwrj2lzri~DJiP4ho0nmmv9fUlLN+4ej}X--Ic9@Y)*kgvn*KCQ3_XZrS#mg@PEQd|QaQR)S!300!p$Hqz3 z#Uwd6;UYkJXPKEl^VXmIlg8=(_FfDyq=l)F4!mDt)->a1qWH!#S|D2IMx(SY|W@*A;yb)@&HqOF-^Tg9FvnCB4B0@y!l z4vY!9rt?T>iZE`P4Hq``6k5%nA=Qbsb@_2W)n<&j@LpMafL;!Obw{DI&&=3bY7)g^ zAFbfkRyJUVz~watnBlQT2pXAsZmjWF5x3^Kh30v10dA++cQ=_7xCa=s#=2U4OX4_} zX{1%4C>UvT(7s%osIJJK@#4AxaohQM*J95P;Bm4_T+eKL>DI$#e8m1nP$zQ^-%RDS z(f|j5%hm`-`TU>A%k6`_+`me8Y*^2)SHURMKTBK>Oz$8T6jH_md*7;O2>csY-*PL~ znSe&Qw#e!htKRI{&wVv+!Z-ymJ@cj@r3Gx^fv?v1-yW(Jg#cT>!Wx@av4mR0b51}k zuK8)piKx)B8$?jX{P8m$IP<+cR2#q=#&&iSj5%QvGd~sVu_v9i0R*Im!cj!MaLnfT zefNWM!3q|73Xn*vzM4h1q=3z^CN%;skuTw%iZ(5-wxJ%;=+DkEi8#PQI-sY9Blw^REp3doap{m=rl;&kp8dE?7)329n zIKM)0>^PxRAZ=B*Rq*o2V_4Ek$D9z{aorJeRRIgmwA{Ii^1xo_|^|>o& zZY5Q%*+fd*-Ue3$zN`$gkqs=YLL~8pnK`dS%G!oXma|YzxBe>?dWwH6K zI~q9CjLYN@X|NY~MAXX^`m+L6nX?A-RTkD*lj~wn$Cv|`?V9hq+Y|niHxw@E#on2o zZ;7;~Pj0eL;>H0QwcvdAyMH2u%~b0!&hbWw7r~U?ui}0Y>RU`8#(d+p6v!8% z*OO%{1?WS!6HOhp04K4W&)OSf5aOJarFtuIe())02K_1-ttZX}PnrA9XYplkgS?1v zv@s&Uu}|5h4+ltJ$dvi1PrPME=nMPF%<6|x(VEwyE`s#Ud5D6UQ{p%G$Zb6+X<@&z zm`DP+*eUh|6qgJoCE9-*%}YP^{NR|?om^iR9qeWHmJ|60@St;!1eme?&MsF$m5tr` zGr=%U0nVoPIy_(?7z$29+^NxXriw0nghe_$uCWrGUhcJ*qxJ(x2zu3Fza(TF-s@l&A43)TwYDJB2>0aw)m z>(tRpL^9;3CpDrhlPlQ4?KPnN7%c1Mm1w?kxyZiKaT(Ko;`i;7N;Zcjpm+1sni)5yLRC9WR@FxbCMYLc!{*JN{xa9N5KC(_U1(6%x4=B|n29W{SPsbp) zx>3Q&c?q3qPP|1rxDMyRK**`R(AwA0)!S!wUM*0$e2K;5CCrPR((|AoV&e?lu9fy? z9Xos~Hb!d&cm%ZF?6u$r)uyMb8QlfgSKL`x)CYHZHiJesSGfbs)|C5BQ!;(@vm9w= z)XFuP!S^ta1LQypy58bd;UgK*wZRB4e)#oZ{iw)nqanuBJ=lWMjGK<``Yd;IU~Lmj z1MO{)`nLjTcJX(yrH{vEMAX%~mCaNV>G0+F{T82lKgClm$rI)GT_CHRw7BSeH3J4~TKE`8!rz1)tcpW;3D42g-5GO9NnlhdI!oKK6^Y&yeb#@yZdA}I0KFRkq z&n=(v);BvM*T7&w=hFlRdv7*PDQ&kv*lQavlNUB{cEpnrNc zmAag2sQkt%TWRoVO@TYh>c*TmZDW{PxtJL6Ipovd9KP*~gg<6)F#z84bY2a(!p-v* z=6hQDHSm>4usLES8GLzOi7LAoTR`qMaejr>>C7pkWV?odMwSFK$O{Ij${+$0ECrau6URJ-p-htnv7ixPwJvKA}U zS+Qtvmd*x?M2`o(D-%b~hBeH2aJsKRNp>hK9yi@Pa7C#HJ5agl}Z$h=JTGPS_j*-K90uC($E-xKX-dj!(E!Q6M`u-Ie<#>yvyS-7C9twnBt z_7qwnGF9_`UpfTrs-F|GmoW*pc>5sFdq~m zjQSkj6bNVac|Vq%J=iNX=j*nLFg6u-n*#EkKDklLF0+--Al)-2siMq zEb?+0{@IUP=O_$wMf7ZiG`%Q4DCJF2iAufu{c6+F*0DG2Hib{~A-LM4cAcV6h}e5G zi1a(ZQ8530vZS-N-nqEWc%8q5Q8h$Z@SctUARwmx%Znwu9^ixwiH@+EjoX18i@zzc z4d0BQ1*Jzlve|k^Z~6_mt|alkKo0xXV54GoG@`Qu$i}FFfeExFbdDImT2$lM_%SA{ z*7{eIdx}VdV&J@8xAW)1yx$j(g;coNk}$Ep@*H5xYbWCrg3$|KylwV5ou^*9)znI} zb^!diMzi?YA_~LTv7Q1r;85m8E{CU><=R@;s}Q}1+`77Z!MswCwv2YVy<%lc9)-hk7c~pXR7mLH{}%@Z7$MN2See>!!ri2@?*%M1)*>9(D!a)=I04$P|eINbkRWPwGC!K|}x6+6_D>+a)2 z)E!>neywK~o)EUZkp>b^sb6ONzoo;O9H?>t8jq%j(Cm>b=WZF5nS*iPL?~JjPLWF& zYjd{HkEo=3x&Qma5i*_f37Nd8$@1-dmlIx7xYn*=elDD~A7ZvuAaQXpaTDRL<$Aem z8BS!Un>;9?7~KlcB{*E(^&Y9>D45jvsqpRJN`2B@Q*i2I;I8hvTM122=8B8}Us8?c z2M2lDQ?@IXtJ1SJzZBvNd;g`Lj|Z0}0VC+hh8Zl(F%YG=My7EHAPe$U@MI#WQxC;A zIcn(C3VGy55UxK$Nm;N1qtIaTPQO@-Vi6>V5_&>XdH`J9 znVcT*i3eoj{KwevKv{#$J8yD@4MEr~FkgH`K$!}pH0L|vT1k660I4ZB{eh#Dxk7VC z-aI%E_sNQ_A8jrg$l`Z5mu|&^DLGm84$_vK4fA-rV?3V`)kcIs>N9}r-tREk&5iqq z#<2h1gOU;RvUu^iIA<-TX?EHx8s2g0itJk@$^)K!C^rRJOVJMtl%$QzvSt)(!YI`y zZe!hmyDBkpah+^t!cZ_GJ!=r@AkGfeZ#I^sjd+M7XvbVCyWT2%u7-B?f+L^Iu5y4a zC1KjAGU7X&!uDTCT6E_LXBy=xP)xtpo!C_|N4ta0C69!ZZ9;-nCO=q7m0YI=Fk+f4 z(F5F4*Rt~*>d%!VOAx@F=#mwbE$IVzC$X7Crwqddu-yZnHOu5|UnNk-MJy7|5qsg^ z%W~m>)4>T#ETwdp4N|LBft_bNJE8U;Xjy7B&pyEjB%DWJoe8SbHEg0Y4)`l+8_J<* z&ChR#t(e{2sC%AXtLs?an%oDU@;g_GgGtIbaqYme+_KJ00kA_gAai64iBWjxMhC?F z3g)ky3*d88cHq{Ez3>q)7QYXfla>t@apKyHh<73tDk$#oSp#SyibXIFqMlIL+Ns~PS_qt}QR{6aFbKq#${NjgO!!;b~q@!^wOplEeSiDMb%hOPnC!k^NWTb0sp4zL(I5J{W z6Yc4}9ga?u9O{A*rQ)K@K`%K+1|xCWfr~X=PM?C%D$Jje&n4!RK)1u8V#_BI*1#4} zpAmkUKf?Kd^rHo}6hn)QG(QfToO*Cu`+Ywbb-rG$@&YH1u;=vRKjx-jtz+N}vcw4Y zXf(5yIosl9US`l5Mn!NvPYzat+rYKN3mtOJ?fKqbW7ZGQZ&yVT@%NhLBZWK8Q9>0A zV>Y>1w(=B^`1G+2#XXl&+t%l<*xKkz(uS0GqXuzJ*eE{oW_f!ZMy0f;f5RUYQHP`q zbSMLZ94Qk5O5uaF#h9*m6&Jb(Fontj4fncSI-7Lth8N@j6{}+AsQ7R_tNj4qBFrs7 zKuTM&aF~(wXf{>sn?-=oE-Q+b^>O_Rg7f#XkfmI*^bfPNSXCBT?}7}?;(Z8(YFRWA zqa$oLoIQjI9Ll`}lasibU5U~omWv9lAV{+z3(@MM%_~-Z! zVy1l?oqYH4{ax|%JLk-YO^@g|!V-KN`B&X-3%dH&iX857Da&CDn5i7Qakbv7z?>fIJ<#F|l=%RHxp1-@x}=yC2B9)@?K1+; z4lb5>OyDctoGdX=vqKSmDz&<9Kiq;)7Kt#24Vd&9O!icdt$I7ivMqdPI9 zTk`t4dQ2yHbXL(sA`ul6+xTu&ta#TshV!rjQSywQ|F6gaYr=gJHbuY+2#N@K`PW~` zGSN$SoY>8tBqXJcEEa+`)?Dh}T$jtid6f|9pHs-?Aw3&mx?DYLPPyB&yM9ywYlkx3 z*#3EfvjAkv2L^fAJ|o&GfkME~Xf$tLCX*;wH!IVVu}cH z>?lcG;oJ(|Af6T=Ina|b2*5hl>Y{WP=EduklogXsjcm-r?F1Y+>f0z3kF*9qfdERdK z@e`O~EO>UV6AL3@Ay~e&2fJU@8tm}2XWi(__27)bFYP45&<{-zot^dqu5Y>J`A|q; zNzNmf*5v&de04n}TC{iN`%t0*EJ1#v9Mj{jbhj!f{-~GCy3Okm`j6vI6h1}dfpCEx z4g8c{M!}%a7=@o=5a3Io`pf(ke0+M7$J`lRe2-DeN) z)JRRr-tj%QV5Xs0&2HJcnPq}YqVLL11Gqhcj*n8y+F>6vWuOvDT_s0TfnA47-)u^5 z-W|Lht9DbCUWp^B4!uwWB~bn4nlln&YbOD!qd1zKUI{`C7=Az~-)f%^Xpn`jCl_sR+cvrT{nW*4`&9LH@25? z%rt-d0RU*~ate)kVofeUk2Y;Xq_=@7=r16!)`0Fpzv)IkG$;ppsXI3?aVjqw6P6mg zLiVmpl84S!_!Ljlz>=TdXr5cl9HnWAhnTTs*~}bs$%zqsq`k3h*FInQAC^n4M8b0Wo9NGJ$rUWSTY< zb&84lHfJkRVY(zlFJrL0oaU$2stc~+|Bp77shGy%m0|Kd{0q^{VRF`t-Wul%bO|_U zK3jonCLz*2U;?l zFY5`em;8FQ+|Z{-!q2aYzz!dP6TIYMv@5D^RPj&q>d-Q$XC~FCj6m#`ye%FqF+a;j z^>KNTYa86*mzAU4V%3VZA69q1{5oyS=$nh{*Klu0U)uu6$V1Hw znGYVVug84v$38c`*^p+g1l!gq#VBodGqm&0Z*bK?Y>aaNUE)z!5AC;aG@o{R{xikM z`Z?*?*R)6A{q;cc^&rbJk_5X}(qET7&K&feI&TcggQG>;8~eHEzNbKG`wy)D^UtND zo5^2i4(8TjvTpoXw|4tiF8ZW;JerEA*HgGG31C6xF|04wk`{NoWJzs zqb$;4ur51sK|t*afLt^3^JWndN%4$?C3$Y5a7!)-33_DC5>*VN3wjoJ7NJn5H;RO1 zF_33&nj7zw__`v}eo0s>UOY^faSe_aE<89Lcec_QAMLbh!>=nU9~P4{GKV3WiY)8w zg_jGaRZ@6jL$*_Z6TWItz>7#vV8gr>(oa01h^s zLpLXnxG(U1tcL2G-`)=E)4*ogf#B4Y3_Eq+QEgVc*6hRU!Zmm@Wd=G?_@ONbjVkhMrK(smsT%hZ-<=6ymfppIRUWy zJmTDIH~*BW3(Yiamv{hh+ur3}VY$|`2OhY6d)6aKl3GSYO#vu}TheCFqrUm}XTpuf z$tb;oD}mpy)LB8!y1##uNRcQJlE>7l1SH+Q0Gp8e%++qKJ;wRX0&0p^g&^ihu@ge32)>^dxeu5~UZJmX#baoBcFAr)ArDg`UoQ&zy<=wx1&~l+e;;eOlY#RjX%UU)SM{P!){s%Mj+cXo zF46hvCN~szzk3PYL->}(ninmsfgyPg><DWb_z^Sp>uvmuQ`38G%C|P%d7}2^3#*dF0^c! zbJI&*w?K^W5kAfrfHr_vKag`k6tF6@J;Z%G=W)9{)?xNcOsurK7n<>eN%NUW%(oPC z9L_L-LbZo0uykV&*? z(YSFFCPX84;CA-fQTp8H{ZXPf*FR-Bw*YGiu$kRFA_v3=CR0sz z(e2l8-NvFtZUCIhsqF3Jq$JF95*qfFO)55aphq4%oK+7kV_W?aglvu&$NeldT}w-2 zaF`;^X6L61yh=>G27OP_>Z$qOdC;-|-8;k{C;Y)Xn9y@nXj8V+E;g<~t#@7YBgoWR zN@~As?s`9ute!S!wilJ}N#-9jle&r$!XbwuFiAaS<94);zI=C?HAT-y3iOjM2HcJ9 z)(6E8vHSKyYoD3d&omQv>E*}XiNc!<*_M1(l})w0W;+>yOh9J}40_fz9E&Qv_|{L> zhw)n?c@bvXU0ygY8n6W8diXV*B+Y8I zY#Wnrhf~=g)fU#p%&$I>^1wt!_Gc-*iqH;@EN<<>Alef@legqBFMWV|pfhbt*Q-se zRx>SuTzbA-&fY#c`&SuG@J=@oaTY`jo*UG3Wq77fLIkXWtpTJOik$|3;=67vUFBt> zmOO}1N4~FlE+mEHMPJ&5Yc%s#L@T1mZMx0qZS8Oq94o9uFvs@bjQJp^ zZLMvE9xotw{LiH5nd;t+%!-s>=HsE%UuJp*J)m@t z{tB1lG-ZOnYZ)i226!~H7J~2^oDJ!!w1OpF!Z~Ny2WDfU4Pki3oiDsG>&XG09CafW zE34Pt?lkN`lf0 z*D^Hs<=|Qu5Z69n7T8?Mws4RFx8nWb{4DiHSLD19+o5vhd^)wY9>PAseC9&B@&gV( z!*lAU<@*pYo3r*|)FG?I+fT9spEl+I$hkpMD=L16-n_zM5P*(uGk2VTBX+1mjRZ9j zIS1VAdWV>bgWUl=I_tv?x!s6B7TZ24yMuzi%o9b^YWA9B9zC0D<2f1Y3^^Z29wK{( zR9tvn(ACz`Xz;&><``2;-v(9TKegsB^p`QC>2LeTirtN=hQOJrz6L)Y#g9#^;bUw3 z*abhv<3|&ITUT8hQHR#dZ&pBJ{~@w9t^ea17F&ixF>wC`g&E}ULjib zwRNMzq$PDzfwYw0+!(%B~+Oggo8N{CeR@#;EcfV>GH#?;(fe}E#@An6WMcMAM_ z30F{uwC~iN5GLKp|7!E_?-#j*kHPn<+pFqY;olpWwh7Xf*LA}`H!*1g zBz?PKUWmk{R$qziTn-+*%DN-rLx?DC^&i$93#6C%IrwVokE3Ee(o8HC z+cjvlD)C=~phPTIh+HC85+Y$Ge~nh+k+2do$gFO{e+`a0oRw&5@l_$>*ZLt<)Ig60 z?^;F1y~8BK3JY+oT=%L8|8@Y0_Br zIyDK)5F)=$MTTh9r17C5S=yRZnRB3w+Fjv8h*aii+oZ|*{S&20)70zKBrHRS{5lmG zqEVBkhl(`ScS48hqh=QW29jZrTKhvNO^8(RK2`NA;LB`X2+YB1083_2H&apKJAvH| zAHkzSME2LiVm&=tefELXre-NWkCP4ys2vRt36ZAFl&bo@fOZZ)NKI(w>Z+UJoV`KI z_$O@gfabX|zlh}7%us`~GTX+7{docM1) zYF4Q-kXl;>FA9;$m|s=@0hHm<7QpNO#4_-sX0<8<3AKm7i$bI_&aA3$iqPP7KDC<{SqSe>pt5rk7oN7B4NMIiT2AQ*?wW`&ei?;u5F!1gVqs9APh5T89%-u z@c(B3!s`0qLx?yi3}1wVlcWCV`o-|nHT)`$e7!?7%T<9m!gW}x5N&}}hfg8{BP3PF zZJ|22>2QLI8FUZ-h9ZAGeAMj)A3}sm5#;Oxr2F_e8fhyNLLxDlM!oqSKSiTD4c@l6 zXN9Wdf=!_ktVxJm3Dz4TVZA?z)+;1c@8jWmZ5IcvWI8gVWf+LwCh#Fd>I&l_p;4JL zsV`6IGC?%#R9mG=B;$|83Xw~sT0%4$8==LR)Be1dj8&2dqp|iD< z;F}PsE=FMEb-Ateli{&X=yF?u9|X#pn2HkkAw1P^6?_Ph(c7&DK!}yOSW}XgxNBm+@ z%{}}R7E7q+DtKOqR4n7eZ}WpxY-j!T@Ywg5M8$SOi2-C>!9SrlPLS~}cwUIa*Y2vp z2pRFe`kuk7;pegR6^c=)k&77tKN0E~5AUvGBFa$x{Hno-8fW461%p2UKQE)NPz>T6 zi+;@Cnt*5w7DMP~F*bpTRLq%GgPTCOR{**G%)v|G=hgHTN+9ewk{?F&M%Zx$JR(FI zf5whNBQ`A|?(e|w5}O>H9IHws#%}^LC`2le;iS;0#B+%8<8_JWKpP2RHZc`tnRwm; z-zGB=bhJa5LZe#FuSeb=#*dM$KOagY&^e2#o5Rb*{_jGGLd0t7ueR(T2~(>6Vq*U^ z`YN1Xs!AZvzXz`gkxIDUa(*ekb{TR09{LIxYdOD+c7dQLGF^z&Qih&Fvm7R--^}ll zB64W-9;R+7C0+odFGP}dK% z0h6(J^$bvjMg>~wd59mwxl)gqb)|ZbkS7X`5Q!^{S%pURTEY1Zze`*J!Kqor1Y`&m zh71uR^%P(%GQ^`iHAt?OI zp=b+s&EK1#AI6~8`5AoF2qPZ0x;u5X1GH}FVM2b%brk*W?P z)L}(Jv~^ImK8Y;8kW{s!ygI1bJvNsYsi{FEIBs(h+P!pgCagJv-q>%DR$)Qgo1k?X~#gh<$wx%{eXijY)O zPUojoQ#w2nRBRbBXerZC72g9Iz4j>h5F*vWz*%TijRnr<=rU(gkI(Z+GRn(TC4}s- zCLwYqRB?z#<192)@fBVzRPogw$#rizlabYzZvovK4Ie@zRx`Z5i65j|EWG}jF7hO* zEx z=aHa&b&tVwbNO9@|6it8g`{5fNcifL@M<@|N?O~#DkK`dJE&HV1h3+M4FCCkD9XZr z?9fssqRb%t$NqUV?w`|6gU{G_@|FUO$2t2-WK!-6JZcdJv$hy5KUSKV>tAyzNh|E@Z?|k zNrE^%P;%gNn13|E>&9#k{}brF4W1Vweifgi35&BnM>l<~zY~7mlwYTk7eL8@8!}dv zOkmi+91{brGb4)7kU|@ zawecgB*zEGREPwR+3^t?lqF;O3cqU|9~#p)JQ6e-ZDP%8rtU12Ag~i6%~kM)5a)Tc z4+(OHNQc2w?{RT7DApGe5($I#h2H0#X$d$nRQ@iKKTIj|An9Wdd@N%12HL zkvIuX6mrs|Sx$yX$jSY=IK@dJDNat{rxYhAc_e6zsl}c)F&WWNJ^NKcBTm|$9>R|i zC+$2v$|Hf`z}6~Ly*IR?diKN`Q{6DE+EjlMX@}tl-11m9%)VIr#R zhI<=+u1MIyn#Zdeo(0-<{2087wA#M|?aNF9{A+5SsH%G>OnbKO%`oZFy4Ms5^~3b1|jKT_zOR#hv8kOZHDdRVen{n7(9|41|cDjco;NEhQXt`VfZ&!i^h|O zL6d530Xp-1HS+w2#PdzxYa%-F{D;JIO%k39P4Qevn&;baX^Q6_$?{y2G|zYAw^4o@ z9wsptlIHIo{FvsiN3;C(NS41sQvB5<;jc$?{N0zURs7W?&EJvG+=hpVzen*~#NUUB zznUcc6`JC&kTid1aA}Ia9?9}olbFBt8^Bb{^V`JV$Lf%@m`Nn&k2P$fNXVqYkf=9g z8z4@@9z8Z>1bkfvUk9HtbbI)^62Bf>J!}+w9}aCA@<`RN-Qjza{cajQ34eV1Usl4X zJX{~H8w=Ezx#BT6)(_O}3#2zy=NdX14uD@Ysb&^1r+xxFxD%I%+NI&g)U`dBL|uD` zx^@VYsA~^V*M#JCts5HK@DO$F9{9>#Ta912YnZAcU7KaU+pfL&zU>+=@xjB~wI{e@ z>e|n#Yb%)qg&OXfCIwyFkW0itZ&*oP+k{D5Bk9*P8q1&&@D)d61$>nz<5zC-NZ=JT zxdBJx5H0{M3earR=QA-Fm4o5Y&oFg=tm|nK;7gf=v#nt!39u%K01FLS!Ae<3*y)-( z>W_f(ui(Ng$)-zwS<|eZ_DEKyHA!^F;ZX36(dKEAG*4)%c|uanyG=KR&B#5PW}D}c zZ1XgUn`el9ga5Y)T4~pV8|?hoBx#?})ch9`iUOpTf^cDfN9gjbzSbluPiU$<>?{V-Dyx#!_1*m z;OkQOD$O~ZpH#ysBsH8<`6(@JotkD_=#gv-HHlkD&ABIN&MMoSA&t67}mA%0ho%)mn2a!R?Qj z1cD)Od&t?)z~wL!4d)Fx7rw5-ucwe8Z1O=9JO?TU{;#>*dKe=@v;*L`Z8U9JRl`M4 z%=SKQ=nX&{4ntP6tZK-0@VyDYKRe_~_}YzMAFaO(zK-IzKwQnR=ZKxtR6)$n|I(yY zLvDf>mqQuDUK@%o%1SKm_^JkUFWUG?n3bkxH|wsP$uwkM4YHJ&)y-6@`8D!jE>RCM zmxZLb`~`lBNS4djFiCS6S!-ah8%`$Heo?>0to>?;hOE6s)0nll`!r(hSSVUpI}5*C z)-J=ZmbG{DTZ*;MsDhZaFKE)LI%MrDOd1KzVM)~_VfCN+G0p0CndVqcd~Nu56BK2P zl3pPxz7FH36kj)HlIH8-P|ynG>#1Z8R%3^GW5#FraR5L9K7@o!kc}C)>58lp_DEI< zYmz8oGQHdL>lk`zIFFE!CP`z2hANMdkdUZ{j4O7JHpU~_#%Pk5N@T=Xew$F4ZHp#J zTZFbj&=w)-wtO<$7LR1xqDk5)j)bsN!+A6))8H%AO-6Akez!((1%Bmz|2SHgN3wNk zlCH~u_r-OMg|AZAEc|ZkT8>}2uD7`^>b@Otk7Vo8BpL8Q=EEl78Kj%R|LCs}j32~A z6ibHjnp86jF+meQ^f!3uWsnsD@l%;d#`g*W@vE>aR}hFF4h>`w--KTo#COAY0r5+@ z01w39!$cG{@;~a)SNoTuHe3x2`ltzhha4gJ|1YjVOr!?gL=9RF)ivBi4O$sA2q&*J zXe@kp4dMd)1~DqCFgde)$$vc=xL(vMWgA~ad3eQ)Mf{&V&{QHHd69C-SehFS0T4n2;iN)_+MfzE2 zG#?(crf)bu$27t~A7k3l@NUgRHn`@|EKKl77AEYaN@L}FfF@a((8#2ZLHVqFHA!HC zM{_XYIDT0vS|L#%EKE32)ygp8R3;%CIV#t%95{6@(_4{KdsPwb6V;Y`d88duH555I z3uCKW5TsdXd7InuI(=tne#-4B&&q3cqFA=16mV{ToxE zxdOk0r1<(CKSd-94F1g|%~urL!F85LSarjUs#?_LO-$PoX(v~aVbL^E=0YR>+Uq~n5(0W@kq8Yn#7G6 zikuk<+N$BSDl#pz;Jc{%<@nvI`&Iardwx`dWiGYJ_S_@c$~4KV473EW-`X+wEIiHFN=h>mNx^kg)nbHf4%2Y1G;~x^ zh)mO|MjsbLQ>zaFW>t3}?K1rM1Ad%< zrCbAwv-$}9Rt4Iewz5?}gWvuKKX8XgbpzJ1BYy0O9|z&b$@oDVco$-AxL-He<6ARp zkR74x;kTVoE8~jCB~082dv(6m%0h$YxFwG-@N-Nft$YpBkagmjdNiw*J(BfIg#2E>?XQ{Z1s z6DbrL@LlGckcc0GuDCd&*(va2O|nv`Niqe#36}L9Y}i#*L+^m^m`S@~ef6+g;rm!{ z{Hs1$HS|IFKFfX|azA`uj^8gF@*ViP3cubzh8wDC5r~|@vou%c_R!fc9~I zknGESRSh=)ZTAojpKH{#?^QuPL(p#QfFHZVN6j>T;1Q^C3f5RR874jx9|mH>Q?_)W z(G>bo)zFRLxs}l0hDWO!hQRmp`5m%um^g2$_r+Qc!jB{H1CNiY89NMG1^+z{PaFsJ z4M7`X0IxKRB0w*{qa@2}`9yvPi$)r*a~;DpbU?s#5L_J##lUxhtF!RCg{#Z(s|EAj zsw4*U3z>wR9JXo*uBWen7dS|@8sBB$c|JdhHb;U~*D?(uW)P&hR99nzRJSt;+si>J zAz{t1%#PUkF7+Z~{Ck*0Pu&X7fV0&N{C=M4O+aWEPj2cq8(7|MjikMX;0obLa7Y^V zB90x*zv2vpmBHFGp^$k@Lme@Auj=~wiiQI{q*i<2r zps-E-h)Ywj(j!@$s!0yn4d2l6a}?At9b}c_NINhQ)RbvBfLfKpG`RW{oM!XzqX$18c?mu)z;75|v>#XFw_EVzZv40( zKOVu471i)@9e$$^%+9UG4Yk$J;Kxh&@ji%7kX&5-2GZWdk9XX!AK)Wz;>S>s^y=;L zV;p`o;>R)gaXfs~G;t@-0%qh;?Yw@7F*BG5ubT}ot7>>DMBAdF$_!l%#NpuQZFqTA z{af(8z%Su=Y<__m`Vr8Y@b_g^L*Iw*-SB`Sh3{vp3P${MP;Kp@#$3R(ec^qi zZ3wjGOv7OraY}u|;1F%A&w&7M3dFDL2XpleTLA4Fns#cv8MZCH4XqgQo-O?+`hkB9 zqS7@DO9$D)*M7l|qR3!}#sF<4cJ9imp}W9$+()+Mi&aB+fbV1R`&BhVu~W0)`-myE z)S1<~I_`|7xz4<&ALPz_plQ$7 zi@fn@S6N{Y8ux;P;YcoTJiIIXo2A+yhs)i;-Lxnl~k2SS3fc7}Qi!&2w4aX`P z@^ARQwGICTv?o=&hwoEs@$;{k*v17Se)edLpP%OETJSl>&#Qq^jKN;upF!6Metw5Z z$U4E#Be#GzECw6S!lmBWo=N-$ya$qmKyiQmp%VxwN!UnD6QDSmpVN(;hE-aSe{{6U zQ~fHfTM#sIN%W1&{WqXRLz{uQ_rOaq@rRrS-&eu+ZRZW03txvr_D9-e{5S$XPQ;JX+{ZomZ3TV=C!qZT z{;XNSO}idc)EQ{k-a6WtUo&w>Xy}MD2i3l=Xz-F5v3+&zOJUkuRSnOFXyl96ZaCGL z7q~<)1!lw!)wP2a4GrOljjL;GL$tb0s_Q<266IaADYc7g-w%prC+M z0Z|l01S^OQ5gTH|g4jS%KO2gu*s=TBC>9j^|DH2t=iUVT{yfiaX5Ld~&Y5<0cXn?) z+}py=A*{62?8pBoarWbU z=|_!`;o6UBnDV2IX+PSS@}mtYKiZJ?<5pD@+m9OqKfbTX)~xiMf^0wT3H(?mM|L_( zqEJEh(xUv>Mv-hkreVsDHl~7lm$vb{^y-DX8>i3+rK%X+{}W6w+}+PtAPQ^6^AX49xudo3gpUNB86|Z6<#8RZOp_xciD`WO5qn3#)EH~6n<4< zx@4~6hZdN+QZm{Ym+}OvxJNN^6|a@0>{A%qe619=F;hjifov*fygnA*0EKx9JCAzd z%vcr${Ux|;PSuaqpA)(0t!R@qd3EJn^fMPXd?MzWwK zR8XO;@dQf`6^QpFAa$EU2a%>Lq|`>MdZMvay>*s~l&ap785mV>yTYgmboD+~n5rJP z%5Ga$Rnx|TYKmOx*^#92CRxo^sG9cT1iP9k#mvp1s@W(5qiVKOnC-e(h#+fx*yd^aZ!EM{irSq zVy-)YE%Ooj4le>Zsc# zYg7T;IP!K$8YFL**pR+mLNywW?%__RQz4#e$!Bc*@GW@I#!uiD5eq+UdxcV!2zBcA zf2SK%;JrBXm1xdj+%{DJU3tb38UeagLHC0P5Z&z55Ec{Bq>OKRYKU!6J2@9BN%pgP zMQE|Y$eH?iSsEsvm!(1Sd6|Z&W2pXPL;87H8fN;+QdKPXNBN474cR+6S149YR@yiX z*~ZNQljeAnDmITIW$Tn_cEyg{s zFbddp%cWt`xHL!_ryyN6Fm%VNE?@i8RH66v3Mk*8&gAds3!7F zy=IDwD{M99p$ezTN!hC*+upXexN6KJ6m~F`qF#wh!=$}wkhE7rbWN(J9UId2reVh3 zeyUi@UJY6H4z(+6**jX{v@|JuHDud6))rUxPE=U2Wp5fL?M;KEy&B?GRlbR7L)zXn z%-B0i6>Hh6Ae?t9(fWVxkPwXcS3dws>GFrKgKE6kp+(lBXn8YJ!2kTqY~ zkhV7sGxj!9#ai}i$g;P!U17`KDy!1UUJcpycDKb<`yQh(+&eb&RT?JkO@lUbRBS`) zDXoSO@#!h{B)d$j$|DqRbx94`RUTuDt13@WnB67QFj?g^NH&p%tS)Iox{1;-(?l~= zu~rjl$ZDd?>^f@uZC=Um)hdW-dh!B+na_-d($9kuZAppZAjajh8cTTt70vC zHDuZQm|bDZ-e(kU*{dPj-WP0fW$$YWv+Yg8q`hg7v{yrxy*8xnO~Z`6@2O%fdo^U) z`=woB%if&|x9ruBZSP)NT-p1V!fbofFllcZB<lsd($vuZ~Xmk7^b|RM2AQk zvg~c3xY!8G-o^^I?A4HM??JY>vbR!Uw!LYXv^Ncs_G-wo*M_vcX_&FMy(-pfUkzFI zR@)Vp_WEVGINgI~yGdENDU!!3mRvZ`nc_qXGqE`$s}rzRMW9c^b6TWFC>gpycVdx9 z>r8BQtTF?VPcV7|U1ZhC@guPw85s5m;)=N&(6epMX-?Ki6gPsZF~jlCKza$KSMX1& zEc~b&09?J`P(P_+L+Zkxw{hI0v<^lw@If^sYzQ|Y_%)b~P_FhWZ$;Z;ud+W3te=!1 z{fLj+i9Jn_TwiAZlA;tv%O8W`_e~QAk#63S+zm;sa{{I1{^vOeskP1}RSl;DQNS@>a(Fy5ZPdljfR?iPyKk0tmf?({VsUy}i)m z%^qa>W?fFta6RvxK=Dfvm;&l(vv|Ak~QTND) zmD~!)DXH5KPcK=^ZH}{1)IIe?S7ui_&K#%idd+(~vTogWTG1+G!`YpYEvEX^35o0; z$Xo>TBXvXZtS(X5nUBo1PPT{JhRcbNjg5O-abNK%GHjn4`;7jtK?N6n268>lKBcn$ zCg}A^xsZIXrV;Y!_M}DKuBl5%m6Z5MW6J|93#~$>`QyeL1)s8?6+w8rkiFMM%?jLG z!KwIJuU9cs(MoI@>-R=$+95WL%n;s9n%3T?Q5}T$4QTYeok$;>rpmie(N4B$vb-^x zcCJke+~&Qm8D`gD2;AqjpQVa;)aDA@HPz!E1Ep=vPb6|LVX8Xh4FBjEDb{>%v{skq(BZC|Cfh~tYZRA3X>D<=K zP|~V+@m*letBa0I@1jQ@V!s_kV2WzzQ+bVY0R@~G+bpVlSgdl?_uVML5 zgNwWDG>2&1OhM1gpLB%~n{h;{9cni2ac3hhn=|N_R6CLX=OVn_awWJMIvY^r{7o&4V65x9ffn5K(x<>W&DP0a2hHFbj{ zDiBLm4v4+oDI_ZMTqj92e*G3#6vfZQM;+Jzc{=V;C@TIFeDv*y$~T#F53(7I7{T;q zvv}p%CCw@NEEt9yeV?LoyvQX=<+ylpFQ_KWXRVD!k^q6Ib6dbC;a#H2<5S&Gzhg;faxhsEGcUK*NQt3ugisg^O@@3U9*MEnI_hsPJi=!-cQn z94Y(&=V;-#IL8YA#5rD=1!=FaAf2v!$QR4%` zrAu`BXs2|xPFIW49Xfqdv~;IV4~>;(LpAF>(<`NrjCBrjN-5~#^ttiU2Q+`bQ0YH9 zJu+TesAb3b&AKh<0bAu|m@{bBwh≪rsgFzWl-NRWlF4kEog4)KZfZ%|@h2J`72k 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

    %(d&mD{7=;Lnjl_?u}hI$^*euvP<-Q!yf+%rm< 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%0ArRWcvjUqcY%E9m$I(wl+w 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

    7wj?(Jv!uCC?=Cm46Dfp^W z-HnUQP#QQv{r4=+3~u$fywTPR7h$sPbS~`RX%$rc;kAV!>_f2sUURp52lzjHZdk9= zr%TUXn4|MplQ}-OY+}C-1q}Cw`H_b7JA zYY{TH$l#P$PUEBpa@TOl6T+w$hTGhM0HmJ4Bsa6BZuEp`XV`2-#f5yeG%sB;@YcCm zyUn0;nQsO{pU_nvd$4JB6NHejr+iDW~*ATSfAPfYtURsEzwj!<&;S=PbfOG5EVrWS=YfG)-GQz z6w-DWHU3S!%yGfI2@%K};NVuGXFFRZK&y0b^ul!s*VV`yz4l16J5!;LLshI9J(oA` zyFzE9C&#uElRBiMC?C8dv0ufEDY4&s?z4OYTsYc*lRZ8E8cTZ@vL%m=EUr2-#;#6Xw4O^zMUmBM=>e8NN zY1TS|6rpueE~=O{T!Tij!DME!bK2#4gAgpL4^Wtm_Y_+sDa=A7oH)Z{grJQxa2Re4 z+g)+yV-3MX853s^*=I}=d>msB*ynDN8yuf|_Q(!uh#V<7lw7&3gP;zf#?1mzvD(^I2T7F$yr8YWqk@>M%qRim65 zN{yefbLNvQ&=Anv3%i5*Ym`;nId zl~2rcZ%($cHg6NHOlylW`KLw8_e>ZE!4rf`$=G=>twnm4IlmITS8uBmg-?7+(E5O+ zq&f-rRlLk9j=8kM^Nwi2op_wvDfACbzDvRTZRd5CMbtVHI;KH9o0wo}Q#ad9EQY&>&9tk*WiPueyf5~dYHI5b#JtWnu@LXL2=c__CqU+}0S{wh|R;d>kO zbj&R7o$>cF?oxcT+D9%B*@x4ECMHyKcD;#)>T50UIFpkN?BX_g60$c(YF%>ym1fW&gKk%=Nf?2-8Q-4w~B z70s<-Oq@-B#Q7=<2$!GhucA+#Jmh5v6{`sEVn#%Z)8tHUhQ9nKSaWbs#Hi6k4h(xG z*vp&=t846Gb=H_|>>LM?NptzJHrJ@dRak}+c(m6%j?_R}%SLsx)zI7^o9SxMK$Rii zy+?+pVzE2`I@^WVSQ4&7b>4D`lHkZC!OaL_Zo}Sw3b2^Yg?Kaz`k_Ag6JEc&tc*@W zmRjEPe7M0hDFQQ5?i5F^yOA{UJ0$Sh<~4(zO?p_HdoWq&SK?qYC{D< zXuJ4oC+>slcHV(;ES+~^)m?(dOB#)|d%aW65mMh&GL}<0NBpJ~NyfTh{79xvLZ^$2 z>IP{`(S^=Vv{l@Wnhkz-H{LL?A{&>6q!mIDBihBQ^b%WXwUFpxVYq5}*Xd#bD&iMz zRjN4HkT$#5er-&`dWf;Mi0yFz5f9BMv+`FXPZdKGwB4di4?{dg10M=&;^PDmebW~1 zbh`D1U)ufopjUkw7d-o89P67QRs+% zI7@($sFI|q=lse#5m6K*rzs!o^;%aZyiCgOR9r@=HOo|ghIgpAkEZGVf&!{gUO2E2 z@kz(_q9`?#AJY>FP1*c_HLDacai*JnOktKGQVr|iFAGR8z^eyHQ^9iBrXa^Ejv+5S z*m}eMsz%@Z#)Gs2Ajmq}u+)Zy0s3U1;U8w9JaN-Ti}pl40E=4PETQRb)C*EehzE8W z=utAj?@TBX!31&Vt_QoOjOZB$z?=@47~evI-!5CXJvxz)Co5Bqj%{C=g{U*>23EA} zulQJ;8Drx-b8xr$nTJ%Lfv%L`hKB^X3UYBP8C=X_p}m!&HCSMxNz*fD z!)mjYTB1NM;mz)dH5(J(FiA_kjZkbgs#q7louYCqzT9*qh5|r86-P?eV>NTMVZlDk zcH$1Sxl`~p3S+cwX%>fF)9Mb%$jA@EPuGXFE~wLg1x|iT-IEfXp5JU-Xm<1v$Yypa z-*MWcQ5L6Eb8CW}q4@Q zJ%CNF(IYZvQ0)ol3u?c>djsA;;C`G#

    =roi?mns3ENZ5<6L))PNKP*Y^O!Ofxo< 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 diff --git a/test/MatrixTranspose/MatrixTranspose.cpp b/test/MatrixTranspose/MatrixTranspose.cpp index df57c8b900..90ffc84251 100644 --- a/test/MatrixTranspose/MatrixTranspose.cpp +++ b/test/MatrixTranspose/MatrixTranspose.cpp @@ -21,13 +21,11 @@ THE SOFTWARE. */ #include -#include // hip header file -#include "hip/hip_runtime.h" -#include "hip/hip_cbstr.h" -#include "inc/roctracer.h" +#include +#define ITERATIONS 1 #define WIDTH 1024 @@ -55,12 +53,11 @@ void matrixTransposeCPUReference(float* output, float* input, const unsigned int } } +int iterations = ITERATIONS; void init_tracing(); void finish_tracing(); int main() { - init_tracing(); - float* Matrix; float* TransposeMatrix; float* cpuTransposeMatrix; @@ -76,68 +73,70 @@ int main() { int i; int errors; - int iterations = 10; - begin: + init_tracing(); + while (iterations-- > 0) { - Matrix = (float*)malloc(NUM * sizeof(float)); - TransposeMatrix = (float*)malloc(NUM * sizeof(float)); - cpuTransposeMatrix = (float*)malloc(NUM * sizeof(float)); - - // initialize the input data - for (i = 0; i < NUM; i++) { - Matrix[i] = (float)i * 10.0f; - } - - // allocate the memory on the device side - hipMalloc((void**)&gpuMatrix, NUM * sizeof(float)); - hipMalloc((void**)&gpuTransposeMatrix, NUM * sizeof(float)); - - // Memory transfer from host to device - hipMemcpy(gpuMatrix, Matrix, NUM * sizeof(float), hipMemcpyHostToDevice); - - // Lauching kernel from host - hipLaunchKernel(matrixTranspose, dim3(WIDTH / THREADS_PER_BLOCK_X, WIDTH / THREADS_PER_BLOCK_Y), - dim3(THREADS_PER_BLOCK_X, THREADS_PER_BLOCK_Y), 0, 0, gpuTransposeMatrix, - gpuMatrix, WIDTH); - - // Memory transfer from device to host - hipMemcpy(TransposeMatrix, gpuTransposeMatrix, NUM * sizeof(float), hipMemcpyDeviceToHost); - - // CPU MatrixTranspose computation - matrixTransposeCPUReference(cpuTransposeMatrix, Matrix, WIDTH); - - // verify the results - errors = 0; - double eps = 1.0E-6; - for (i = 0; i < NUM; i++) { - if (std::abs(TransposeMatrix[i] - cpuTransposeMatrix[i]) > eps) { - errors++; + Matrix = (float*)malloc(NUM * sizeof(float)); + TransposeMatrix = (float*)malloc(NUM * sizeof(float)); + cpuTransposeMatrix = (float*)malloc(NUM * sizeof(float)); + + // initialize the input data + for (i = 0; i < NUM; i++) { + Matrix[i] = (float)i * 10.0f; } + + // allocate the memory on the device side + hipMalloc((void**)&gpuMatrix, NUM * sizeof(float)); + hipMalloc((void**)&gpuTransposeMatrix, NUM * sizeof(float)); + + // Memory transfer from host to device + hipMemcpy(gpuMatrix, Matrix, NUM * sizeof(float), hipMemcpyHostToDevice); + + // Lauching kernel from host + hipLaunchKernel(matrixTranspose, dim3(WIDTH / THREADS_PER_BLOCK_X, WIDTH / THREADS_PER_BLOCK_Y), + dim3(THREADS_PER_BLOCK_X, THREADS_PER_BLOCK_Y), 0, 0, gpuTransposeMatrix, + gpuMatrix, WIDTH); + + // Memory transfer from device to host + hipMemcpy(TransposeMatrix, gpuTransposeMatrix, NUM * sizeof(float), hipMemcpyDeviceToHost); + + // CPU MatrixTranspose computation + matrixTransposeCPUReference(cpuTransposeMatrix, Matrix, WIDTH); + + // verify the results + errors = 0; + double eps = 1.0E-6; + for (i = 0; i < NUM; i++) { + if (std::abs(TransposeMatrix[i] - cpuTransposeMatrix[i]) > eps) { + errors++; + } + } + if (errors != 0) { + printf("FAILED: %d errors\n", errors); + } else { + printf("PASSED!\n"); + } + + // free the resources on device side + hipFree(gpuMatrix); + hipFree(gpuTransposeMatrix); + + // free the resources on host side + free(Matrix); + free(TransposeMatrix); + free(cpuTransposeMatrix); + } - if (errors != 0) { - printf("FAILED: %d errors\n", errors); - } else { - printf("PASSED!\n"); - } - - // free the resources on device side - hipFree(gpuMatrix); - hipFree(gpuTransposeMatrix); - - // free the resources on host side - free(Matrix); - free(TransposeMatrix); - free(cpuTransposeMatrix); - - if ((errors == 0) && (--iterations != 0)) goto begin; - finish_tracing(); + return errors; } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // HIP Callbacks/Activity tracing // +#if 1 +#include // Macro to check ROC-tracer calls status #define ROCTRACER_CALL(call) \ @@ -165,7 +164,7 @@ extern "C" void hip_api_callback( { (void)arg; const hip_cb_data_t* data = reinterpret_cast(callback_data); - fprintf(stdout, "<%s id(%u)\tcorrelation_id(%u) %s> ", + fprintf(stdout, "<%s id(%u)\tcorrelation_id(%lu) %s> ", data->name, cid, data->correlation_id, @@ -182,14 +181,14 @@ extern "C" void hip_api_callback( case HIP_API_ID_hipMalloc: fprintf(stdout, "ptr(%p) size(0x%x)", data->args.hipMalloc.ptr, - (uint32_t)(data->args.hipMalloc.sizeBytes)); + (uint32_t)(data->args.hipMalloc.size)); break; case HIP_API_ID_hipFree: fprintf(stdout, "ptr(%p)", data->args.hipFree.ptr); break; case HIP_API_ID_hipModuleLaunchKernel: - fprintf(stdout, "kernel(%s) straem(%p)", + fprintf(stdout, "kernel(\"%s\") straem(%p)", data->args.hipModuleLaunchKernel.f->_name.c_str(), data->args.hipModuleLaunchKernel.stream); break; @@ -199,8 +198,7 @@ extern "C" void hip_api_callback( data->args.hipLaunchKernel.stream); break; case HIP_API_ID_hipKernel: - fprintf(stdout, "kernel(\"%s\") start(%lu) end(%lu)", - data->args.hipKernel.name, + fprintf(stdout, "start(%lu) end(%lu)", data->args.hipKernel.start, data->args.hipKernel.end); break; @@ -228,12 +226,15 @@ void activity_callback(const char* begin, const char* end, void* arg) { ROCTRACER_CALL(roctracer_next_record(record, &next)); fprintf(stdout, "\tActivity records:\n"); fflush(stdout); while (reinterpret_cast(next) <= end) { - fprintf(stdout, "\t%s id(%u)\tcorrelation_id(%lu): begin_ns(%lu) end_ns(%lu)\n", - record->name, + fprintf(stdout, "\tid(%u.%u.%u)\tcorrelation_id(%lu) host_ns(%lu:%lu)\n", + record->async, + record->op_id, record->activity_kind, record->correlation_id, record->begin_ns, - record->end_ns); fflush(stdout); + record->end_ns + ); + fflush(stdout); record = next; ROCTRACER_CALL(roctracer_next_record(record, &next)); } @@ -245,25 +246,24 @@ void init_tracing() { ROCTRACER_CALL(roctracer_enable_api_callback(ROCTRACER_API_DOMAIN_HIP, HIP_API_ID_hipMemcpy, hip_api_callback, NULL)); ROCTRACER_CALL(roctracer_enable_api_callback(ROCTRACER_API_DOMAIN_HIP, HIP_API_ID_hipMalloc, hip_api_callback, NULL)); ROCTRACER_CALL(roctracer_enable_api_callback(ROCTRACER_API_DOMAIN_HIP, HIP_API_ID_hipFree, hip_api_callback, NULL)); - ROCTRACER_CALL(roctracer_enable_api_callback(ROCTRACER_API_DOMAIN_HIP, HIP_API_ID_hipLaunchKernel, hip_api_callback, NULL)); ROCTRACER_CALL(roctracer_enable_api_callback(ROCTRACER_API_DOMAIN_HIP, HIP_API_ID_hipModuleLaunchKernel, hip_api_callback, NULL)); - ROCTRACER_CALL(roctracer_enable_api_callback(ROCTRACER_API_DOMAIN_HIP, HIP_API_ID_hipKernel, hip_api_callback, NULL)); // Enable HIP activity tracing roctracer_properties_t properties{}; - properties.buffer_size = 0x100; + properties.buffer_size = 8; properties.buffer_callback_fun = activity_callback; ROCTRACER_CALL(roctracer_open_pool(&properties)); ROCTRACER_CALL(roctracer_enable_api_activity(ROCTRACER_API_DOMAIN_HIP, HIP_API_ID_hipMemcpy)); ROCTRACER_CALL(roctracer_enable_api_activity(ROCTRACER_API_DOMAIN_HIP, HIP_API_ID_hipMalloc)); ROCTRACER_CALL(roctracer_enable_api_activity(ROCTRACER_API_DOMAIN_HIP, HIP_API_ID_hipFree)); - ROCTRACER_CALL(roctracer_enable_api_activity(ROCTRACER_API_DOMAIN_HIP, HIP_API_ID_hipLaunchKernel)); ROCTRACER_CALL(roctracer_enable_api_activity(ROCTRACER_API_DOMAIN_HIP, HIP_API_ID_hipModuleLaunchKernel)); - ROCTRACER_CALL(roctracer_enable_api_activity(ROCTRACER_API_DOMAIN_HIP, HIP_API_ID_hipKernel)); } void finish_tracing() { ROCTRACER_CALL(roctracer_close_pool()); } - +#else +void init_tracing() {} +void finish_tracing() {} +#endif //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// diff --git a/test/MatrixTranspose/MatrixTranspose.o b/test/MatrixTranspose/MatrixTranspose.o deleted file mode 100644 index fd58d278a3a6f0e6df794dd7e64f7c55a3f011e1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2013216 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

    DN$M7FC+y*M!KjRHX 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

    It+W$NY$h3;YpZ zjT~}8fLqq*hnTdqVi{$OIz9f?s&5IWHG0s_hnZwc`0V>nGvk|;aeYL7=f;Du{-()4 ziG7Pb#q)*FBR+tCdid}WiJRSW#Z>&B>K{1Mnc=@WGW^?*M*jpFdP(~y;Q#XPpCA)2 zw149JBXN6&mAdhs7eA0L^8xV`Kf4$4cxP-+SaXdc!?^W0{#QQQruOGX_tXg4y>k

    2z-7PO@vj67wZZkV~ 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�eD8y7j7avSJURD(oCC|WB{H~ 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 z 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 z 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

      8;PpU_F7aH{(g0)VP|od&isVjndGo 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 fRr~&^?5BOQKg{uSE5O=o#X#M$F5pY From 21d6c00bb63b651ba647717ab7f4841b164b9ab2 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Fri, 25 May 2018 22:39:22 -0500 Subject: [PATCH 003/691] more features --- inc/roctracer.h | 12 ++++++-- src/core/roctracer.cpp | 37 ++++++++++++++++++++++-- test/MatrixTranspose/Makefile | 4 +-- test/MatrixTranspose/MatrixTranspose.cpp | 21 ++++++++++---- 4 files changed, 61 insertions(+), 13 deletions(-) diff --git a/inc/roctracer.h b/inc/roctracer.h index f804b8b8eb..b635cb85df 100644 --- a/inc/roctracer.h +++ b/inc/roctracer.h @@ -99,7 +99,7 @@ const char* roctracer_error_string(); // Traced API domains typedef enum { - ROCTRACER_API_DOMAIN_ANY = 0, // HIP API domain + ROCTRACER_API_DOMAIN_ANY = 0, // Any domain ROCTRACER_API_DOMAIN_HIP = 1, // HIP API domain } roctracer_api_domain_t; @@ -112,8 +112,14 @@ typedef uint64_t roctracer_correletion_id_t; // Return method name by given API domain and call ID // NULL returned on the error and the library errno is set const char* roctracer_get_api_name( - roctracer_api_domain_t domain, // API domain - roctracer_hip_api_cid_t cid); // API call ID + const uint32_t& domain, // API domain + const uint32_t& cid); // API call ID + +// Return activity name by given API domain operation ID and activity kind +// NULL returned on the error and the library errno is set +const char* roctracer_get_activity_name( + const uint32_t& domain, // API domain + const uint32_t& kind); // Activity kind //////////////////////////////////////////////////////////////////////////////// // Callback API diff --git a/src/core/roctracer.cpp b/src/core/roctracer.cpp index af33702ff2..172ec8f304 100644 --- a/src/core/roctracer.cpp +++ b/src/core/roctracer.cpp @@ -46,8 +46,17 @@ } \ return err; +#define API_METHOD_CATCH(X) \ + } \ + catch (std::exception & e) { \ + ERR_LOGGING(__FUNCTION__ << "(), " << e.what()); \ + } \ + (void)err; \ + return X; + // HCC API declaration extern "C" void HSAOp_set_activity_record(const uint64_t& record); +extern "C" const char* HSAOp_get_name(const uint32_t& id); /////////////////////////////////////////////////////////////////////////////////////////////////// // Internal library methods @@ -387,8 +396,32 @@ PUBLIC_API const char* roctracer_error_string() { // Return method name by given API domain and call ID // NULL returned on the error and the library errno is set -PUBLIC_API const char* roctracer_get_api_name(roctracer_api_domain_t domain, roctracer_hip_api_cid_t cid) { - return NULL; +PUBLIC_API const char* roctracer_get_api_name(const uint32_t& domain, const uint32_t& cid) { + API_METHOD_PREFIX + switch (domain) { + case ROCTRACER_API_DOMAIN_HIP: { + return hipApiName(cid); + break; + } + default: + EXC_RAISING(ROCTRACER_STATUS_BAD_DOMAIN, "invalid domain ID(" << domain << ")"); + } + API_METHOD_CATCH(NULL) +} + +// Return activity name by given API domain and activity kind +// NULL returned on the error and the library errno is set +PUBLIC_API const char* roctracer_get_activity_name(const uint32_t& domain, const uint32_t& kind) { + API_METHOD_PREFIX + switch (domain) { + case ROCTRACER_API_DOMAIN_HIP: { + return HSAOp_get_name(kind); + break; + } + default: + EXC_RAISING(ROCTRACER_STATUS_BAD_DOMAIN, "invalid domain ID(" << domain << ")"); + } + API_METHOD_CATCH(NULL) } // Enable runtime API callbacks diff --git a/test/MatrixTranspose/Makefile b/test/MatrixTranspose/Makefile index 861a0e21c9..eb93cbe96e 100644 --- a/test/MatrixTranspose/Makefile +++ b/test/MatrixTranspose/Makefile @@ -3,8 +3,8 @@ LIB_PATH=$(ROOT_PATH)/b LIB_NAME=roctracer64 ROC_LIBS=-L$(LIB_PATH) -l$(LIB_NAME) -HIP_PATH=/home/evgeny/work/roc-1.8.x/hip -HCC_PATH=/home/evgeny/work/roc-1.8.x/hcc/b +HIP_PATH?=/home/evgeny/work/roc-1.8.x/hip +HCC_PATH?=/home/evgeny/work/roc-1.8.x/hcc/b HIPCC=$(HIP_PATH)/bin/hipcc HCC_LIBS=-L$(HCC_PATH)/lib -lmcwamp_hsa diff --git a/test/MatrixTranspose/MatrixTranspose.cpp b/test/MatrixTranspose/MatrixTranspose.cpp index 90ffc84251..c564303650 100644 --- a/test/MatrixTranspose/MatrixTranspose.cpp +++ b/test/MatrixTranspose/MatrixTranspose.cpp @@ -165,7 +165,7 @@ extern "C" void hip_api_callback( (void)arg; const hip_cb_data_t* data = reinterpret_cast(callback_data); fprintf(stdout, "<%s id(%u)\tcorrelation_id(%lu) %s> ", - data->name, + roctracer_get_api_name(ROCTRACER_API_DOMAIN_HIP, cid), cid, data->correlation_id, (data->phase == ROCTRACER_API_PHASE_ENTER) ? "on-enter" : "on-exit"); @@ -188,12 +188,12 @@ extern "C" void hip_api_callback( data->args.hipFree.ptr); break; case HIP_API_ID_hipModuleLaunchKernel: - fprintf(stdout, "kernel(\"%s\") straem(%p)", + fprintf(stdout, "kernel(\"%s\") stream(%p)", data->args.hipModuleLaunchKernel.f->_name.c_str(), data->args.hipModuleLaunchKernel.stream); break; case HIP_API_ID_hipLaunchKernel: - fprintf(stdout, "kernel(%p) straem(%p)", + fprintf(stdout, "kernel(%p) stream(%p)", data->args.hipLaunchKernel.kernel, data->args.hipLaunchKernel.stream); break; @@ -226,14 +226,23 @@ void activity_callback(const char* begin, const char* end, void* arg) { ROCTRACER_CALL(roctracer_next_record(record, &next)); fprintf(stdout, "\tActivity records:\n"); fflush(stdout); while (reinterpret_cast(next) <= end) { - fprintf(stdout, "\tid(%u.%u.%u)\tcorrelation_id(%lu) host_ns(%lu:%lu)\n", - record->async, + const char * name = (record->op_id == 0) ? + roctracer_get_api_name(ROCTRACER_API_DOMAIN_HIP, record->activity_kind) : + roctracer_get_activity_name(ROCTRACER_API_DOMAIN_HIP, record->activity_kind); + fprintf(stdout, "\t%s op(%u) id(%u)\tcorrelation_id(%lu) time_ns(%lu:%lu)", + name, record->op_id, record->activity_kind, record->correlation_id, record->begin_ns, record->end_ns ); + if (record->op_id != 0) { + const roctracer_async_record_t* async_record = reinterpret_cast(record); + fprintf(stdout, " device_id(%d) stream_id(%lu)", async_record->device_id, async_record->stream_id); + if (record->op_id == 2) fprintf(stdout, " bytes(0x%zx)", async_record->bytes); + } + fprintf(stdout, "\n"); fflush(stdout); record = next; ROCTRACER_CALL(roctracer_next_record(record, &next)); @@ -250,7 +259,7 @@ void init_tracing() { // Enable HIP activity tracing roctracer_properties_t properties{}; - properties.buffer_size = 8; + properties.buffer_size = 16; properties.buffer_callback_fun = activity_callback; ROCTRACER_CALL(roctracer_open_pool(&properties)); ROCTRACER_CALL(roctracer_enable_api_activity(ROCTRACER_API_DOMAIN_HIP, HIP_API_ID_hipMemcpy)); From 53b9f54af8643ec013b75b60f8175ef4ca2e2199 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Fri, 1 Jun 2018 19:09:18 -0500 Subject: [PATCH 004/691] adding roctracer_id_string; domain any; HIP/HCC domains --- inc/roctracer.h | 69 +++++------ src/core/roctracer.cpp | 140 +++++++++-------------- test/MatrixTranspose/Makefile | 3 +- test/MatrixTranspose/MatrixTranspose.cpp | 42 +++---- 4 files changed, 97 insertions(+), 157 deletions(-) diff --git a/inc/roctracer.h b/inc/roctracer.h index b635cb85df..87ec3fb5f8 100644 --- a/inc/roctracer.h +++ b/inc/roctracer.h @@ -99,9 +99,11 @@ const char* roctracer_error_string(); // Traced API domains typedef enum { - ROCTRACER_API_DOMAIN_ANY = 0, // Any domain - ROCTRACER_API_DOMAIN_HIP = 1, // HIP API domain -} roctracer_api_domain_t; + ROCTRACER_DOMAIN_ANY = 0, // Any domain + ROCTRACER_DOMAIN_HIP_API = 1, // HIP domain + ROCTRACER_DOMAIN_HCC_OPS = 2, // HCC domain + ROCTRACER_DOMAIN_NUMBER +} roctracer_domain_t; // Traced calls ID enumeration typedef hip_cb_id_t roctracer_hip_api_cid_t; @@ -109,18 +111,15 @@ typedef hip_cb_id_t roctracer_hip_api_cid_t; // Correlation ID type typedef uint64_t roctracer_correletion_id_t; -// Return method name by given API domain and call ID +// Validates tracing domains revisions consistency +roctracer_status_t roctracer_validate_domains(); + +// Return ID string by given domain and activity/API ID // NULL returned on the error and the library errno is set -const char* roctracer_get_api_name( +const char* roctracer_id_string( const uint32_t& domain, // API domain const uint32_t& cid); // API call ID -// Return activity name by given API domain operation ID and activity kind -// NULL returned on the error and the library errno is set -const char* roctracer_get_activity_name( - const uint32_t& domain, // API domain - const uint32_t& kind); // Activity kind - //////////////////////////////////////////////////////////////////////////////// // Callback API // @@ -140,16 +139,16 @@ typedef enum { typedef hip_cb_fun_t roctracer_api_callback_t; // Enable runtime API callbacks -int roctracer_enable_api_callback( - roctracer_api_domain_t domain, // runtime API domain - uint32_t cid, // API call ID - roctracer_api_callback_t callback, // callback function pointer - void* arg); // [in/out] callback arg +roctracer_status_t roctracer_enable_api_callback( + roctracer_domain_t domain, // runtime API domain + uint32_t cid, // API call ID + roctracer_api_callback_t callback, // callback function pointer + void* arg); // [in/out] callback arg // Disable runtime API callbacks -int roctracer_disable_api_callback( - roctracer_api_domain_t domain, // runtime API domain - uint32_t cid); // API call ID +roctracer_status_t roctracer_disable_api_callback( + roctracer_domain_t domain, // runtime API domain + uint32_t cid); // API call ID //////////////////////////////////////////////////////////////////////////////// // Activity API @@ -164,25 +163,15 @@ int roctracer_disable_api_callback( typedef void roctracer_pool_t; // Activity record -#if 0 typedef hip_act_record_t roctracer_record_t; -typedef hip_dispatch_record_t roctracer_dispatch_record_t; -typedef hip_copy_record_t roctracer_memcpy_record_t; -typedef hip_barrier_record_t roctracer_barrier_record_t; -#else -typedef hip_act_record_t roctracer_record_t; -typedef hip_copy_record_t roctracer_async_record_t; -typedef roctracer_async_record_t roctracer_dispatch_record_t; -typedef roctracer_async_record_t roctracer_memcpy_record_t; -typedef roctracer_async_record_t roctracer_barrier_record_t; -#endif +typedef hip_ops_record_t roctracer_async_record_t; // Return next record static inline int roctracer_next_record( const roctracer_record_t* record, // [in] record ptr const roctracer_record_t** next) // [out] next record ptr { - *next = (record->async) ? + *next = (record->op_id != 0) ? reinterpret_cast(record) + 1 : record + 1; return ROCTRACER_STATUS_SUCCESS; @@ -212,14 +201,14 @@ typedef struct { // Create tracer memory pool // The first invocation sets the default pool -int roctracer_open_pool( +roctracer_status_t roctracer_open_pool( const roctracer_properties_t* properties, // tracer pool properties roctracer_pool_t** pool = NULL); // [out] returns tracer pool if not NULL, // otherwise sets the default one if it is not set yet // otherwise the error is generated // Close tracer memory pool -int roctracer_close_pool( +roctracer_status_t roctracer_close_pool( roctracer_pool_t* pool = NULL); // [in] memory pool, NULL is a default one // Return current default pool @@ -228,18 +217,18 @@ roctracer_pool_t* roctracer_default_pool( roctracer_pool_t* pool = NULL); // [in] new default pool if not NULL // Enable activity records logging -int roctracer_enable_api_activity( - roctracer_api_domain_t domain, // runtime API domain - uint32_t activity_kind, // activity kind +roctracer_status_t roctracer_enable_api_activity( + roctracer_domain_t domain, // runtime API domain + uint32_t activity_kind, // activity kind roctracer_pool_t* pool = NULL); // memory pool, NULL is a default one // Disable activity records logging -int roctracer_disable_api_activity( - roctracer_api_domain_t domain, // runtime API domain - uint32_t activity_kind); // activity kind +roctracer_status_t roctracer_disable_api_activity( + roctracer_domain_t domain, // runtime API domain + uint32_t activity_kind); // activity kind // Flush available activity records -int roctracer_flush_api_activity( +roctracer_status_t roctracer_flush_api_activity( roctracer_pool_t* pool = NULL); // memory pool, NULL is a default one #ifdef __cplusplus diff --git a/src/core/roctracer.cpp b/src/core/roctracer.cpp index 172ec8f304..cdd68bb993 100644 --- a/src/core/roctracer.cpp +++ b/src/core/roctracer.cpp @@ -34,8 +34,15 @@ } \ } while (0) +#define HIPAPI_CALL(call) \ + do { \ + hipError_t err = call; \ + if (err != hipSuccess) \ + HIP_EXC_RAISING(ROCTRACER_STATUS_HIP_API_ERR, #call " error(" << err << ")"); \ + } while (0) + #define API_METHOD_PREFIX \ - int err = 0; \ + roctracer_status_t err = ROCTRACER_STATUS_SUCCESS; \ try { #define API_METHOD_SUFFIX \ @@ -63,9 +70,9 @@ extern "C" const char* HSAOp_get_name(const uint32_t& id); // namespace roctracer { -int GetExcStatus(const std::exception& e) { +roctracer_status_t GetExcStatus(const std::exception& e) { const util::exception* roctracer_exc_ptr = dynamic_cast(&e); - return (roctracer_exc_ptr) ? static_cast(roctracer_exc_ptr->status()) : 1; + return (roctracer_exc_ptr) ? static_cast(roctracer_exc_ptr->status()) : ROCTRACER_STATUS_ERROR; } class GlobalCounter { @@ -147,12 +154,13 @@ class MemoryPool { char* next = write_ptr_ + sizeof(Record); if (next > buffer_end_) { if (write_ptr_ == buffer_begin_) EXC_ABORT(ROCTRACER_STATUS_ERROR, "buffer size(" << buffer_size_ << ") is less then the record(" << sizeof(Record) << ")"); - spawn_reader(buffer_begin_, buffer_end_); + spawn_reader(buffer_begin_, write_ptr_); buffer_begin_ = (buffer_end_ == pool_end_) ? pool_begin_ : buffer_end_; buffer_end_ = buffer_begin_ + buffer_size_; write_ptr_ = buffer_begin_; next = write_ptr_ + sizeof(Record); } + Record* ptr = reinterpret_cast(write_ptr_); write_ptr_ = next; @@ -297,6 +305,7 @@ void ActivityCallback( if (pool == NULL) EXC_ABORT(ROCTRACER_STATUS_ERROR, "ActivityCallback pool is NULL"); if (data->phase == ROCTRACER_API_PHASE_ENTER) { *record = pool->getRecord(); + (*record)->domain = ROCTRACER_DOMAIN_HIP_API; (*record)->activity_kind = activity_kind; (*record)->begin_ns = timer.timestamp_ns(); // Correlation ID generating @@ -315,64 +324,15 @@ void ActivityCallback( } } -// HCC activity record type -struct hcc_record_t { - uint32_t op_id; // operation id, dispatch/copy/barrier - uint32_t command_id; // command kind - uint32_t async; // aysnc record, 0/1 - uint64_t correlation_id; // activity correlation ID - uint64_t begin_ns; // host begin timestamp, nano-seconds - uint64_t end_ns; // host end timestamp, nano-seconds - int device_id; - uint64_t stream_id; - size_t bytes; -}; - void ActivityAsyncCallback( uint32_t op_id, void* record, void* arg) { - if (op_id == 0) { - // HIP record Sync - roctracer_record_t* record_ptr = reinterpret_cast(record); - *reinterpret_cast(arg) = record_ptr->correlation_id; - } else { - if (sizeof(hcc_record_t) != sizeof(roctracer_memcpy_record_t)) EXC_ABORT(ROCTRACER_STATUS_ERROR, "record types missmatch"); - MemoryPool* pool = reinterpret_cast(arg); - switch (op_id) { - // Dispatch record - case 1: { - roctracer_dispatch_record_t* record_ptr = pool->getRecord(); - *record_ptr = *reinterpret_cast(record); - break; - } - // Memcpy record - case 2: { - roctracer_memcpy_record_t* record_ptr = pool->getRecord(); - *record_ptr = *reinterpret_cast(record); - break; - } - // Barrier record - case 3: { - roctracer_barrier_record_t* record_ptr = pool->getRecord(); - *record_ptr = *reinterpret_cast(record); - break; - } - // Unknown ID - default: - EXC_ABORT(ROCTRACER_STATUS_ERROR, "Unknown op ID"); - } -#if 0 - std::cout << "ActivityAsyncCallback " << record_ptr->name - << " id(" << op_id << "." << record_ptr->activity_kind << ")" - << " record(" << record << ")" - << " correlation_id(" << record_ptr->correlation_id << ")" - << " time-ns(" << start << ":" << end << ")" - << " arg(" << arg << ")" - << std::endl << std::flush; -#endif - } + MemoryPool* pool = reinterpret_cast(arg); + roctracer_async_record_t* record_ptr = pool->getRecord(); + *record_ptr = *reinterpret_cast(record); + record_ptr->domain = ROCTRACER_DOMAIN_HCC_OPS; } util::Logger::mutex_t util::Logger::mutex_; @@ -394,28 +354,24 @@ PUBLIC_API const char* roctracer_error_string() { return strdup(roctracer::util::Logger::LastMessage().c_str()); } -// Return method name by given API domain and call ID -// NULL returned on the error and the library errno is set -PUBLIC_API const char* roctracer_get_api_name(const uint32_t& domain, const uint32_t& cid) { +// Validates tracing domains revisions consistency +PUBLIC_API roctracer_status_t roctracer_validate_domains() { API_METHOD_PREFIX - switch (domain) { - case ROCTRACER_API_DOMAIN_HIP: { - return hipApiName(cid); - break; - } - default: - EXC_RAISING(ROCTRACER_STATUS_BAD_DOMAIN, "invalid domain ID(" << domain << ")"); - } - API_METHOD_CATCH(NULL) + HIPAPI_CALL(hipValidateActivityRecord()); + API_METHOD_SUFFIX } -// Return activity name by given API domain and activity kind +// Return ID string by given domain and activity/API ID // NULL returned on the error and the library errno is set -PUBLIC_API const char* roctracer_get_activity_name(const uint32_t& domain, const uint32_t& kind) { +PUBLIC_API const char* roctracer_id_string(const uint32_t& domain, const uint32_t& id) { API_METHOD_PREFIX switch (domain) { - case ROCTRACER_API_DOMAIN_HIP: { - return HSAOp_get_name(kind); + case ROCTRACER_DOMAIN_HIP_API: { + return hipApiName(id); + break; + } + case ROCTRACER_DOMAIN_HCC_OPS: { + return HSAOp_get_name(id); break; } default: @@ -425,15 +381,17 @@ PUBLIC_API const char* roctracer_get_activity_name(const uint32_t& domain, const } // Enable runtime API callbacks -PUBLIC_API int roctracer_enable_api_callback( - roctracer_api_domain_t domain, +PUBLIC_API roctracer_status_t roctracer_enable_api_callback( + roctracer_domain_t domain, uint32_t cid, roctracer_api_callback_t callback, void* user_data) { API_METHOD_PREFIX switch (domain) { - case ROCTRACER_API_DOMAIN_HIP: { + case ROCTRACER_DOMAIN_ANY: + cid = 0; + case ROCTRACER_DOMAIN_HIP_API: { hipError_t hip_err = hipRegisterApiCallback(cid, callback, user_data); if (hip_err != hipSuccess) HIP_EXC_RAISING(ROCTRACER_STATUS_HIP_API_ERR, "hipRegisterApiCallback error(" << hip_err << ")"); break; @@ -445,13 +403,15 @@ PUBLIC_API int roctracer_enable_api_callback( } // Enable runtime API callbacks -PUBLIC_API int roctracer_disable_api_callback( - roctracer_api_domain_t domain, +PUBLIC_API roctracer_status_t roctracer_disable_api_callback( + roctracer_domain_t domain, uint32_t cid) { API_METHOD_PREFIX switch (domain) { - case ROCTRACER_API_DOMAIN_HIP: { + case ROCTRACER_DOMAIN_ANY: + cid = 0; + case ROCTRACER_DOMAIN_HIP_API: { hipError_t hip_err = hipRemoveApiCallback(cid); if (hip_err != hipSuccess) HIP_EXC_RAISING(ROCTRACER_STATUS_HIP_API_ERR, "hipRemoveApiCallback error(" << hip_err << ")"); break; @@ -471,7 +431,7 @@ roctracer_pool_t* roctracer_default_pool(roctracer_pool_t* pool) { } // Open memory pool -PUBLIC_API int roctracer_open_pool( +PUBLIC_API roctracer_status_t roctracer_open_pool( const roctracer_properties_t* properties, roctracer_pool_t** pool) { @@ -487,7 +447,7 @@ PUBLIC_API int roctracer_open_pool( } // Close memory pool -PUBLIC_API int roctracer_close_pool(roctracer_pool_t* pool) { +PUBLIC_API roctracer_status_t roctracer_close_pool(roctracer_pool_t* pool) { API_METHOD_PREFIX roctracer_pool_t* ptr = (pool == NULL) ? roctracer_default_pool() : pool; roctracer::MemoryPool* memory_pool = reinterpret_cast(ptr); @@ -497,15 +457,17 @@ PUBLIC_API int roctracer_close_pool(roctracer_pool_t* pool) { } // Enable activity records logging -PUBLIC_API int roctracer_enable_api_activity( - roctracer_api_domain_t domain, +PUBLIC_API roctracer_status_t roctracer_enable_api_activity( + roctracer_domain_t domain, uint32_t activity_kind, roctracer_pool_t* pool) { API_METHOD_PREFIX if (pool == NULL) pool = roctracer_default_pool(); switch (domain) { - case ROCTRACER_API_DOMAIN_HIP: { + case ROCTRACER_DOMAIN_ANY: + activity_kind = 0; + case ROCTRACER_DOMAIN_HIP_API: { const hipError_t hip_err = hipRegisterActivityCallback(activity_kind, roctracer::ActivityCallback, roctracer::ActivityAsyncCallback, pool); if (hip_err != hipSuccess) HIP_EXC_RAISING(ROCTRACER_STATUS_HIP_API_ERR, "hipRegisterActivityCallback error(" << hip_err << ")"); break; @@ -517,13 +479,15 @@ PUBLIC_API int roctracer_enable_api_activity( } // Disable activity records logging -PUBLIC_API int roctracer_disable_api_activity( - roctracer_api_domain_t domain, +PUBLIC_API roctracer_status_t roctracer_disable_api_activity( + roctracer_domain_t domain, uint32_t activity_kind) { API_METHOD_PREFIX switch (domain) { - case ROCTRACER_API_DOMAIN_HIP: { + case ROCTRACER_DOMAIN_ANY: + activity_kind = 0; + case ROCTRACER_DOMAIN_HIP_API: { const hipError_t hip_err = hipRemoveActivityCallback(activity_kind); if (hip_err != hipSuccess) HIP_EXC_RAISING(ROCTRACER_STATUS_HIP_API_ERR, "hipRemoveActivityCallback error(" << hip_err << ")"); break; @@ -535,7 +499,7 @@ PUBLIC_API int roctracer_disable_api_activity( } // Flush available activity records -PUBLIC_API int roctracer_flush_api_activity(roctracer_pool_t* pool) { +PUBLIC_API roctracer_status_t roctracer_flush_api_activity(roctracer_pool_t* pool) { API_METHOD_PREFIX if (pool == NULL) pool = roctracer_default_pool(); roctracer::MemoryPool* memory_pool = reinterpret_cast(pool); diff --git a/test/MatrixTranspose/Makefile b/test/MatrixTranspose/Makefile index eb93cbe96e..88483385ee 100644 --- a/test/MatrixTranspose/Makefile +++ b/test/MatrixTranspose/Makefile @@ -18,10 +18,11 @@ export HCC_HOME=$(HCC_PATH) .PHONY: test +ITERATIONS?=10 all: clean $(EXECUTABLE) test -CXXFLAGS =-g -I$(ROOT_PATH) -I$(ROOT_PATH)/inc +CXXFLAGS =-g -I$(ROOT_PATH) -I$(ROOT_PATH)/inc -DITERATIONS=$(ITERATIONS) CXX=$(HIPCC) diff --git a/test/MatrixTranspose/MatrixTranspose.cpp b/test/MatrixTranspose/MatrixTranspose.cpp index c564303650..9c0bb9d809 100644 --- a/test/MatrixTranspose/MatrixTranspose.cpp +++ b/test/MatrixTranspose/MatrixTranspose.cpp @@ -25,7 +25,9 @@ THE SOFTWARE. // hip header file #include -#define ITERATIONS 1 +#ifndef ITERATIONS +# define ITERATIONS 100 +#endif #define WIDTH 1024 @@ -148,13 +150,6 @@ int main() { } \ } while (0) -struct ihipModuleSymbol_t { - uint64_t _object; // The kernel object. - uint32_t _groupSegmentSize; - uint32_t _privateSegmentSize; - std::string _name; // TODO - review for performance cost. Name is just used for debug. -}; - // HIP API callback function extern "C" void hip_api_callback( uint32_t domain, @@ -165,7 +160,7 @@ extern "C" void hip_api_callback( (void)arg; const hip_cb_data_t* data = reinterpret_cast(callback_data); fprintf(stdout, "<%s id(%u)\tcorrelation_id(%lu) %s> ", - roctracer_get_api_name(ROCTRACER_API_DOMAIN_HIP, cid), + roctracer_id_string(ROCTRACER_DOMAIN_HIP_API, cid), cid, data->correlation_id, (data->phase == ROCTRACER_API_PHASE_ENTER) ? "on-enter" : "on-exit"); @@ -189,7 +184,7 @@ extern "C" void hip_api_callback( break; case HIP_API_ID_hipModuleLaunchKernel: fprintf(stdout, "kernel(\"%s\") stream(%p)", - data->args.hipModuleLaunchKernel.f->_name.c_str(), + hipKernelNameRef(data->args.hipModuleLaunchKernel.f), data->args.hipModuleLaunchKernel.stream); break; case HIP_API_ID_hipLaunchKernel: @@ -222,13 +217,10 @@ extern "C" void hip_api_callback( // hipMalloc id(3) correlation_id(1): begin_ns(1525888652762640464) end_ns(1525888652762877067) void activity_callback(const char* begin, const char* end, void* arg) { const roctracer_record_t* record = reinterpret_cast(begin); - const roctracer_record_t* next = NULL; - ROCTRACER_CALL(roctracer_next_record(record, &next)); + const roctracer_record_t* end_record = reinterpret_cast(end); fprintf(stdout, "\tActivity records:\n"); fflush(stdout); - while (reinterpret_cast(next) <= end) { - const char * name = (record->op_id == 0) ? - roctracer_get_api_name(ROCTRACER_API_DOMAIN_HIP, record->activity_kind) : - roctracer_get_activity_name(ROCTRACER_API_DOMAIN_HIP, record->activity_kind); + while (record < end_record) { + const char * name = roctracer_id_string(record->domain, record->activity_kind); fprintf(stdout, "\t%s op(%u) id(%u)\tcorrelation_id(%lu) time_ns(%lu:%lu)", name, record->op_id, @@ -244,28 +236,22 @@ void activity_callback(const char* begin, const char* end, void* arg) { } fprintf(stdout, "\n"); fflush(stdout); - record = next; - ROCTRACER_CALL(roctracer_next_record(record, &next)); + ROCTRACER_CALL(roctracer_next_record(record, &record)); } } // Initialize function void init_tracing() { + // Check tracer domains consitency + ROCTRACER_CALL(roctracer_validate_domains()); // Enable HIP API callbacks - ROCTRACER_CALL(roctracer_enable_api_callback(ROCTRACER_API_DOMAIN_HIP, HIP_API_ID_hipMemcpy, hip_api_callback, NULL)); - ROCTRACER_CALL(roctracer_enable_api_callback(ROCTRACER_API_DOMAIN_HIP, HIP_API_ID_hipMalloc, hip_api_callback, NULL)); - ROCTRACER_CALL(roctracer_enable_api_callback(ROCTRACER_API_DOMAIN_HIP, HIP_API_ID_hipFree, hip_api_callback, NULL)); - ROCTRACER_CALL(roctracer_enable_api_callback(ROCTRACER_API_DOMAIN_HIP, HIP_API_ID_hipModuleLaunchKernel, hip_api_callback, NULL)); - + ROCTRACER_CALL(roctracer_enable_api_callback(ROCTRACER_DOMAIN_ANY, 0, hip_api_callback, NULL)); // Enable HIP activity tracing roctracer_properties_t properties{}; - properties.buffer_size = 16; + properties.buffer_size = 8; properties.buffer_callback_fun = activity_callback; ROCTRACER_CALL(roctracer_open_pool(&properties)); - ROCTRACER_CALL(roctracer_enable_api_activity(ROCTRACER_API_DOMAIN_HIP, HIP_API_ID_hipMemcpy)); - ROCTRACER_CALL(roctracer_enable_api_activity(ROCTRACER_API_DOMAIN_HIP, HIP_API_ID_hipMalloc)); - ROCTRACER_CALL(roctracer_enable_api_activity(ROCTRACER_API_DOMAIN_HIP, HIP_API_ID_hipFree)); - ROCTRACER_CALL(roctracer_enable_api_activity(ROCTRACER_API_DOMAIN_HIP, HIP_API_ID_hipModuleLaunchKernel)); + ROCTRACER_CALL(roctracer_enable_api_activity(ROCTRACER_DOMAIN_ANY, 0)); } void finish_tracing() { From 8dd94db8d17c930fe2f5581208882245016f74d2 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Mon, 4 Jun 2018 15:43:09 -0500 Subject: [PATCH 005/691] minor changes --- README.md | 25 ++++++++++++++++++++++++ Readme.txt | 9 --------- cmake_modules/env.cmake | 2 +- test/MatrixTranspose/Makefile | 8 ++------ test/MatrixTranspose/MatrixTranspose.cpp | 10 ---------- 5 files changed, 28 insertions(+), 26 deletions(-) create mode 100644 README.md delete mode 100644 Readme.txt diff --git a/README.md b/README.md new file mode 100644 index 0000000000..11d114c2c7 --- /dev/null +++ b/README.md @@ -0,0 +1,25 @@ +ROC Tracer library, Callback/Activity APIs + +The library source tree: + - doc - Documentation + - inc/roctracer.h - Library public API + - src - Library sources + - core - Library API sources + - util - Library utils sources + - test - test suit + - MatrixTranspose - test based on HIP MatrixTranspose sample + +Environment: +$ export HIP_PATH= +$ export HCC_HOME= +$ export CMAKE_PREFIX_PATH=/opt/rocm/lib:/opt/rocm/include/hsa + +To build: +$ cd /roctracer/build +$ cmake .. +$ make + +To rebuild and run test: +$ export ITERATIONS= +$ cd /roctracer/test/MatrixTranspose +$ make diff --git a/Readme.txt b/Readme.txt deleted file mode 100644 index 8a95e5cc5e..0000000000 --- a/Readme.txt +++ /dev/null @@ -1,9 +0,0 @@ -ROC Profiler/Traces library. -Callback and Activity APIs - -The library source tree: - - doc - Documentation - - inc/roctracer.h - Library public API - - src - Library sources - - core - Library API sources - - util - Library utils sources diff --git a/cmake_modules/env.cmake b/cmake_modules/env.cmake index 8cc0642116..a99d09057c 100644 --- a/cmake_modules/env.cmake +++ b/cmake_modules/env.cmake @@ -58,7 +58,7 @@ if ( NOT DEFINED CMAKE_PREFIX_PATH AND DEFINED ENV{CMAKE_PREFIX_PATH} ) set ( CMAKE_PREFIX_PATH $ENV{CMAKE_PREFIX_PATH} ) endif() -set ( HIP_INC_DIR $ENV{HIP_INC_DIR} ) +set ( HIP_INC_DIR "$ENV{HIP_PATH}/include" ) ## Extend Compiler flags based on build type string ( TOLOWER "${CMAKE_BUILD_TYPE}" CMAKE_BUILD_TYPE ) diff --git a/test/MatrixTranspose/Makefile b/test/MatrixTranspose/Makefile index 88483385ee..7c22cd4afe 100644 --- a/test/MatrixTranspose/Makefile +++ b/test/MatrixTranspose/Makefile @@ -3,18 +3,14 @@ LIB_PATH=$(ROOT_PATH)/b LIB_NAME=roctracer64 ROC_LIBS=-L$(LIB_PATH) -l$(LIB_NAME) -HIP_PATH?=/home/evgeny/work/roc-1.8.x/hip -HCC_PATH?=/home/evgeny/work/roc-1.8.x/hcc/b - HIPCC=$(HIP_PATH)/bin/hipcc -HCC_LIBS=-L$(HCC_PATH)/lib -lmcwamp_hsa +HCC_LIBS=-L$(HCC_HOME)/lib -lmcwamp_hsa SOURCES = MatrixTranspose.cpp OBJECTS = $(SOURCES:.cpp=.o) EXECUTABLE=./MatrixTranspose -export LD_LIBRARY_PATH=$(LIB_PATH):$(HIP_PATH)/lib:$(HCC_PATH)/lib -export HCC_HOME=$(HCC_PATH) +export LD_LIBRARY_PATH=$(LIB_PATH):$(HIP_PATH)/lib:$(HCC_HOME)/lib .PHONY: test diff --git a/test/MatrixTranspose/MatrixTranspose.cpp b/test/MatrixTranspose/MatrixTranspose.cpp index 9c0bb9d809..03fcf1ca56 100644 --- a/test/MatrixTranspose/MatrixTranspose.cpp +++ b/test/MatrixTranspose/MatrixTranspose.cpp @@ -187,16 +187,6 @@ extern "C" void hip_api_callback( hipKernelNameRef(data->args.hipModuleLaunchKernel.f), data->args.hipModuleLaunchKernel.stream); break; - case HIP_API_ID_hipLaunchKernel: - fprintf(stdout, "kernel(%p) stream(%p)", - data->args.hipLaunchKernel.kernel, - data->args.hipLaunchKernel.stream); - break; - case HIP_API_ID_hipKernel: - fprintf(stdout, "start(%lu) end(%lu)", - data->args.hipKernel.start, - data->args.hipKernel.end); - break; default: break; } From a179c518576f5381c7e620e79a1235a65df4a461 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Mon, 4 Jun 2018 16:16:08 -0500 Subject: [PATCH 006/691] minor changes --- test/MatrixTranspose/Makefile | 2 +- test/MatrixTranspose/MatrixTranspose.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/test/MatrixTranspose/Makefile b/test/MatrixTranspose/Makefile index 7c22cd4afe..a302d4eb98 100644 --- a/test/MatrixTranspose/Makefile +++ b/test/MatrixTranspose/Makefile @@ -14,7 +14,7 @@ export LD_LIBRARY_PATH=$(LIB_PATH):$(HIP_PATH)/lib:$(HCC_HOME)/lib .PHONY: test -ITERATIONS?=10 +ITERATIONS?=100 all: clean $(EXECUTABLE) test diff --git a/test/MatrixTranspose/MatrixTranspose.cpp b/test/MatrixTranspose/MatrixTranspose.cpp index 03fcf1ca56..4ba2fac9f3 100644 --- a/test/MatrixTranspose/MatrixTranspose.cpp +++ b/test/MatrixTranspose/MatrixTranspose.cpp @@ -238,7 +238,7 @@ void init_tracing() { ROCTRACER_CALL(roctracer_enable_api_callback(ROCTRACER_DOMAIN_ANY, 0, hip_api_callback, NULL)); // Enable HIP activity tracing roctracer_properties_t properties{}; - properties.buffer_size = 8; + properties.buffer_size = 12; properties.buffer_callback_fun = activity_callback; ROCTRACER_CALL(roctracer_open_pool(&properties)); ROCTRACER_CALL(roctracer_enable_api_activity(ROCTRACER_DOMAIN_ANY, 0)); From 76192d1cd33c72b4c0e54c5961364b589681d3f2 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Tue, 5 Jun 2018 00:44:23 +0000 Subject: [PATCH 007/691] minor changes --- README.md | 6 +++--- test/MatrixTranspose/Makefile | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 11d114c2c7..8762cf2830 100644 --- a/README.md +++ b/README.md @@ -9,9 +9,9 @@ The library source tree: - test - test suit - MatrixTranspose - test based on HIP MatrixTranspose sample -Environment: -$ export HIP_PATH= -$ export HCC_HOME= +Environment example: +$ export HIP_PATH=/opt/rocm/hip +$ export HCC_HOME=/opt/rocm/hcc $ export CMAKE_PREFIX_PATH=/opt/rocm/lib:/opt/rocm/include/hsa To build: diff --git a/test/MatrixTranspose/Makefile b/test/MatrixTranspose/Makefile index a302d4eb98..ab1ad4c78e 100644 --- a/test/MatrixTranspose/Makefile +++ b/test/MatrixTranspose/Makefile @@ -1,5 +1,5 @@ ROOT_PATH=../.. -LIB_PATH=$(ROOT_PATH)/b +LIB_PATH=$(ROOT_PATH)/build LIB_NAME=roctracer64 ROC_LIBS=-L$(LIB_PATH) -l$(LIB_NAME) From af058c22ede8c3b0d84d3b3112c7479dcb1a52ac Mon Sep 17 00:00:00 2001 From: Evgeny Date: Tue, 5 Jun 2018 00:55:32 +0000 Subject: [PATCH 008/691] clean up --- test/MatrixTranspose/log.txt | 31 ------------------------------- 1 file changed, 31 deletions(-) delete mode 100644 test/MatrixTranspose/log.txt diff --git a/test/MatrixTranspose/log.txt b/test/MatrixTranspose/log.txt deleted file mode 100644 index c1a0f0c912..0000000000 --- a/test/MatrixTranspose/log.txt +++ /dev/null @@ -1,31 +0,0 @@ -HCC_PROFILE=2 ./MatrixTranspose -Device name Device 67df - ptr(0x7ffd20812ac8) size(0x400000) - *ptr(0x0x901800000) - ptr(0x7ffd20812ac0) size(0x400000) - *ptr(0x0x901e00000) - dst(0x901800000) src(0x7f8d7de53010) size(0x400000) kind(1) - - kernel(0x457010) straem((nil)) - kernel(_Z15matrixTransposeN8hip_impl17Empty_launch_parmEPfS1_i) straem((nil)) - - - dst(0x7f8d7d567010) src(0x901e00000) size(0x400000) kind(2) - kernel("_Z15matrixTransposeN8hip_impl17Empty_launch_parmEPfS1_i") start(83839566647773) end(83839568478493) - - -PASSED! - ptr(0x901800000) - - ptr(0x901e00000) - -Activity records: - hipMalloc id(3) correlation_id(1): begin_ns(1525888625904709559) end_ns(1525888625904912781) - hipMalloc id(3) correlation_id(2): begin_ns(1525888625904916451) end_ns(1525888625905101986) - hipMemcpy id(101) correlation_id(3): begin_ns(1525888625905109198) end_ns(1525888625906165995) - hipModuleLaunchKernel id(118) correlation_id(5): begin_ns(1525888625906184286) end_ns(1525888625906210781) - hipLaunchKernel id(38) correlation_id(4): begin_ns(1525888625906171593) end_ns(1525888625906212767) - hipKernel id(133) correlation_id(7): begin_ns(1525888625908107416) end_ns(1525888625908114094) - hipMemcpy id(101) correlation_id(6): begin_ns(1525888625906214261) end_ns(1525888625908785157) - hipFree id(80) correlation_id(8): begin_ns(1525888625924823273) end_ns(1525888625924893910) - hipFree id(80) correlation_id(9): begin_ns(1525888625924896385) end_ns(1525888625924922452) From c908c1b57228cfe7572d108cd0536d51674d1beb Mon Sep 17 00:00:00 2001 From: Evgeny Date: Thu, 14 Jun 2018 14:24:20 -0500 Subject: [PATCH 009/691] latest documentation revision --- doc/ROC_profiler_API.pptx | Bin 1117508 -> 0 bytes doc/ROC_profiler_spec_v1_2_7.docx | Bin 0 -> 103641 bytes doc/ROC_profiler_spec_v_1_2_3.docx | Bin 96135 -> 0 bytes 3 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 doc/ROC_profiler_API.pptx create mode 100644 doc/ROC_profiler_spec_v1_2_7.docx delete mode 100644 doc/ROC_profiler_spec_v_1_2_3.docx diff --git a/doc/ROC_profiler_API.pptx b/doc/ROC_profiler_API.pptx deleted file mode 100644 index bca9e932bbd1a6288a47b16667fa314e883d49cb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1117508 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 z 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 kcj1 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 z%0D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�Znc;+B9X4;9FN4^LmFg9L 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%0DIH7r?(yW6J1D9)Bb1isHkV zw4Y1+#)(a9Q5s;AtxoB*3rYnE9k2{t!De)vxnen-#Z}(!qaXK^?gpysLC}wgna+W4 zhrqndBkrv>xI$PO5T;FOKnX2-)^!m}7gB7q*1iz_xNtJYuyNRQRMuMjH^((M7`mTA z%B=gJh<_wp?9+;_atuQuBA4MeMMj#3PQRu{nJ5Bx>~{X>gd_?@2#o$0z~nW;>i~!_ z0)DsuGnur0^d_{}4nUA!2*&2;G0txfBuqpqcac)f*<0%7v?Y z8A5v$Lanc?Z1tL#Q6QdMo~g^0d0n}7d*QetW*fHdlGzgxpUZueu6p3nk_l1qaXk!P zmJ0g29ED>JA|j#MTe|8O3}2h5(W#uw=JjjK)~gYs1NTN%qo}2*!>`t!o*W6k%5-fG zuBq)lPni4uGRFk%{*8bxINUjZ9PIV)>*(yu8HJ@9aSE9DN>qdQ9~Uw1>P$wh(wjfX zoxnYwTzNZxgS1KXcTpr#TEcmj5-b&XjTtC1#(okB_GmyStubzM6#mw?{rU5g)O+!c z_c9ZoI4wzgZ)cFfT@=9|f(s5`#Wer4{dYQYCzvt$)N?hvS>?^(tZmE7Tn~vGN%%fo zi7aUty>WQB9~f-n)o;UHT;&WtB+M}V?i+WjwCvT{9GZ4Q@=W+8n$Uzayvrgg^cOz- zH#W8MytmFR#X7TgP)u~jJwtY@l28EJ{1GuMhfXA5Fj}OS-4ueu=&AZqRWeAiuQZsX ze2`6`d%wLYR!OMy<8hmDWRWSYz7zGHGm3+S-tlq4#cWZ|B59Ab;s~$gvuiek{Nst8@SR%yD))(|>lo*Ziy4U z8&T++-UeqFo`rqke`>p9$l5HdfIKTUv{>b zWK0S{E3`fx+>YEcBQ=p7stkq&rI%1CO67}%+^b0jg`+BPlFgKX%K2#6InkC>-Ud>` zy*W#|nz`&e?X|s{X#vUakD94SLK3?@tG7v<5I%uCm#rrkq*d-luhp;CYG2>n=z2bS zNrk*@Qv+LDK-ro;j06;$xX&R#x;2x7)yMs}$zZwx=Yl67z&kC#jADljIyzYy~H@P|E#h!QkfFqkWi?}C)Cz##l$PdLVv(l;+pO@g| zD)(Mf7bNYb;pBY+W4MB0*hD=>N5-R)`xsO6;P#xhf{&>B9@E2OVm)?P-BN7|LGM8Z z8nI?;Eg}ZL-jNArNRCSzK0g6~&Mn@5dL3V~Q#?a+Pw96F5Av+`>s8IzE%ncSlaKX5~6y~+Cv zd|$GadC-ro zW)Tvf7j}!;b8tk~%*zKY%W^1WoxkEpP=tOQQl&Hi+AJ>fQYr$Utmvse`wQZEmz-DZ zqC>N5PHCZI6_aA@O$5Q7oqCrBVb*m|7x`4sC3JX&`_I2-z3L)KnJ}v^X)Gl)_h$d2 zx8oPO`6rZtLta=x_%21E29Ju-H|@B4IkAG@AYZu$oZ>P&-*SK{-f{F&H<>Rlr$B)I zJ64dgGKLq}Lz<&oy)AJLx$^#L%hN#^RTMBAvK0oLxE8IE%pA|rJ{T=Wo0FC~M6DS5 zc&J@D8;Yk-bz}>18PWJg_D)hX3xzWaKakH0SIy+Rg_XJ`{GCsw1-|fdgESTh}`+zB{rJvV^#O+CN+5Cb&5E8VuNo@1+QC}I{zrp4s`Jg$AO)9;<{HA-zF zIua`2#ao=3_yi&@cte{r!<}Mt?%BBta0h?&<~-Gt<@|R!b{W^G{KGLcd5+1g%@Ot@Z0_%|l~`za`$6bcKy+2(Wo{D=<1!fve11{lNwqcG zwP3;_A!-JQ?FrbVLLZ+0Mg%upVU=cs)2as58td&DzabK=7hASHPX%E+u8i8=eN=Ly zPJ6R^7^JiG-*T&J z>)k}><4*78?}0`>@ozA!lSO7eH=9}p{Z7 zC}L>k5Wy6mj^hd(C<3BL$BSNignL_DP)Y-~cehag%_yW4hpI;DF9j|6uD>XG>-W6? zn7xW}e6H^OD(s4xSvjF|_zB+i$-SQCh7=_)VXsN^p}Wn+*3y02Rlb5l1<88xNla_o zp&U_s;f8?ERwBqg;7tP>MK1-g%%766VwVg$w^VaQiVC>{MKzohh0y3)8glUxc!L}p zFe%kdid#J#Sp-0Z0pv=Oab}Go)ShF=Th+unjrPmbO-Fu@Er+M!PD&r!R_Eb9kd7z2 zGKG&15{XD|Z+Gf)g!Ygw>$hdm5tBf4Gs1Uda^}aadC_DYKV(4;bw(sQky15KB97n^^fl@i zk8x#3oV?T+Hb`S{gKm8+9E zQWx)KM@x!0aX9I4om2R};OwYrYfYxJ-{HAewNmi$AAGJc;aAqtrWooz@8c5^j~Et= z6DQ0($so;6J~aLZojUn)w)uc|Q*3wgzhxI@YOx$$81wVX5A%j08$^t zer?j|Z7-K9-1Bza>9mDSqPB_hCgi}t+9UeT?bNNHoxG_nRCv&T zs6^Y=gWFxhPaC~sPG=5+k+WnK`|=`aQwV_fJ>wzNc?)pX7t{U9p!g_5sL?05gAlmy z7$?&f=iD{lJ?k2We^3#BS2volhQ*bKZheadH7=hE38K|#cP7p2Oa#N_*WnVv5#kz1y?lMFOazRa0$*~uxVHdc%^0unx5CrBW@MSqT-vd`V zZKx3Xs`sv0HN4M5T}1~5lG+~7W2B2})h1%WP`<41@&Gpb8{r&~WBr9CZvgI445psqAkw@H@Vf50F9 z)ZLld00SwL_vS4jz~`xa?4H6AzHpfLH9n!?f&l8g<$xh6a9q1|2lQ`uAX@v98g=f~ zMteL$_xnq9ipF$8X0rOC4BPA2lXI=XkvcYj1OjUe(=Ns)zq+ww)FTwJufv7F+@41@ z87=65AUe>W+QZ9S;okIOCXCHJdDy{(fY5|06Lh5be54(|UD|UVVy6QUViTW!Rtyrz zPYZ!rXh~Pxp4Z@F)!2DRVaV}RT8xJEOGD zI`F-4gG>utPiCsorq*eY`DDKaqQ;tju8SqR<@#SKdHr70wB_(2z^YA* zB>Mw2dKw8)qR$q-zzR$TBrh*|gN@1=M*_(tw@WsxPhg!YCz<12 zg$GL8FXR>1te#=lsaK188j(V zVxivS*CEsR?Ij2`%}n70O@+cF5xFzwjZynU7GSV@vGtns7Cfb~@$-mB`Ebo29=CEz zL+cm8V_WW}RhIV*=Is^q`$&=yEVwN{_;7U!9vpabW9>DWXyPUt0hN`>*bT_q+#@?w z-?AgFNV3m4eeCWf+yDqDVh!tg#-%a1Zp{^s=n~{>MspcnNyR`@`igpbJu^x ziBib)Z4CFPU*B?j^2tK>&e0zs*zI57Tjs4Y@?({ng7o>sciImpB7k>vW2kPR{kMc}JUxhBlf--*O}QMOM2GYgc_~vg0o)M{26ll(TlBd9nDx&dI_Oo^sJUW<197)it!f%L*qde)tcB8%e&4u zKU4O99jOqGfH5tjY`$z0fmf3*5m0d#nFL}Ij$YoBqKd=U1prhFA5IGmz-zsooOdb)KRIW1DXLN_)($jOpIKTb_VAn7T zRE@m4d{UDgcGy{l3TxDt;I z8?BvcSO(yeTcM`UBE7Z`VGkz_?SpGbHKl-}zLNLujKAo{#I0BJhP{^;84Cv-U1szw z>60zggIo?ZG!~aSC%<;Hy9r*|ihfKui`yUGM4-&uaKc~Qr|Ry@1gV0@)a zH1fqjadkubmk@s&w)o!Ac?f;6+w#(+QNoQ_*=rgp9_k!9*Q(-~PKWG2>40`PI%Ft| zIJT$^)JE300`l*!&8POmag2OQH-L7)=fdBFqtoDgZN>L%5p;I2>$bXku#V$5icIPf-m3t&)Q>`JxyLC zsz03`ik1Ui$5GzW`6>L-olXoVvF>-HPTby0vV+P1NNvC>M{!={aqE}UV{8zRj>TEW z`nC#t{FQL@NOG7Be2F@cIw$SXDd!#_h&r^1=p8Z-I>E-hW_#Itz@a}Q!ff}2Bf0Rm z08Cf6U&MP}OPF8QFR?(u=4+}bF#17S5rro;)vHLUg?@8%e=dCU*0_7H6vOJPPnk@#k(;NYnlBWJTE1m{J9c z8)Pjq0PEzMh_Cd9EIKX=Kc|wS7|~3TiKiXw5QGU(t9A&$>z5RoTR8Z#QVkwQ3N#&h z4yi9hYHczKd<2TV&Oha9gIJQuL$m?&!r`Hyd5-JH^f!I?1l~WO$;PnFC)~_NlhHQG7Vw+nOBMd9wRdbx#^PHYuzA+lz(ml!Inm!OnunJ`k zUurQ9@>3wIkqS5!C$MwY+X`!T-V!~Hm~%thRI5DzYR!F5a6!0qnaWbEdpR&?-#pB# z-mLW>8;6Z#k4ol6EkWqUir~Vof1Cc)Ka-QRcP{O7lt#Cu=~eqILFU#n80PKf+)8Y7B1-_Bx=Rk24 z)7d7#Tz~>WTN90`a6TI#R7Tw@J>29E_N(r6cQu%)T<5R-y1Fb{qU1lYE~fN-+$?vh zF-!XJaMj03PnI-W#;;chc4H~pn7;qmi)yZyTLf&7oUfu3lx)F;Zezrj;i=OB`WY#i zbMmjti-9c-5P@Bbf@W&v(TdkLDRjY4Ej9~=UaX;`A8^yW3Sthyzfc*Y+_$l!T&=*1 zZ`R^)DeuiTfd^HCJUk*b!GIz{rc3M`@mju@enn%X%oHuOK z1TCn1OV}bljnHd$@B1cJ6CX75U5(pq=C?;pn4?)6JUENcSlve)?RlB(kvaRNfXNl* zd||orV57f+M{^SRR+1bPd~Q_f<~mvUo8jMgQ6|r{>-!J@7a|MzSWXo$%-NVeLW)n0 zTbtMY6UX8VbE{f`{nG8ALTi>nr5mO4Oe9slU{Trnd-BB!YuV5}Fhx$9@7@qJ95kQQ zmZoX~zRkyRs6bkY!DO`q8j2gv#Fj?HPAYOZoq5T|u;`tXtcY5GNKoJ%PjiYFgyg zAv{=vt@t#MJGp3VJ%IUjKp1cFaH#0c{t0c~a4uKC=_)OGB+UWdzB;uOBs&AVEz8(H z;01~McjvJt`U&6C81R2m^2Ci{wfvBy6;FE9@;ecH`BwAcbnGZ_7jayuUu+L*0ks*g@OWs2G%*kZR%Y2~ za}o^~2(?}X0b$>23c`dy@gvf{?3>>5 zqDd%#u>wIa)d1m!N_mH)#4JK&JKjn}F#pHV7u}%UhRQ>U`0dF-xXLu(-!v8h0u(|f zn^F;F^t?8|02)8)_$i;`N9ehPi6h}GpP7~;=6xOJVr?RXLi0GIQ`@TI?9#w}q2#2c zu4bT?H4P>$k-?i@C>%9+(SED{qfnC$*G$54l=p30-NeE`<9i0HZ7#y7h8pjhH9>Je%j!UshNjuMTjMqpFqSlybx`c1J<^`;U;p}0_Ohr7dI;_nsW(Ey9_|m(F)LnNJN#s(rc0ejKjtV6s_57drp}apJvU?FyY8;v zxL++LrmI<2hPS@1{#q8ooW~A$XwDfsfn^mv{)+!3z6R7&BBG_cE^dbtDfBE#aho^^KIFI1lgIxt}uEj9px_ zv^+OEUJqgjb>FJIl^YLe~3bx<7GqB!qf=Y?y%4=J_ zfjLbG_3d&|@JgFg)a*FTFHS=HI>X<$Nr+W*@jZAqG*a@Vfh6*0mzHm^yju6(ne3TYFQ zG}>A`y+9&{?>9CPCD4*=oR*0ITv3a=ybjH4UIdn1F1df=%NMhm!~UA5NY@Lo!X8pJ z0h_&*!Bw&5w6>{9V@TvOB_r57CGrc@_YbkQCWo(w?^3;;>}6jNd*hVow*t8;5=1HR49 zwK{Hx8@%3@yx0!n%wxO(MqRCI$23!`jv`blLW41g@U^3*-}crDbl9I6enzY;v?G(S zF`M~ekKhpRhirS~=fv2OzXfCuamNGqd=o_zUK?oqMUYV8v_xY4OXT}ooQ)msFQ#%| ztNKwBXvIsLJ$8NDt(VsSTLKUx^I_}7hL&$NjT~l`BKxJUs|Tt$KVhwRn>7z^JImN8 z)Av%+N-)&}J3R?8{fKrewX6l?)P4^cQY}`^)yOkYH;xv7#q{dOdCeCKJ?YOB)LM|a zUh$`nwURdp z^9S3S6$|%o_DV4MgVjV*4db#CyQB;7bB4>~R1Ff3KZqZGp*?!4$oy(O*&x9N-N*qm z(06zAhY4zT#Y#rF_oT+iIL&h1ll6&b%90$r_TipKXzYG%B8Fh`FJHa)_u95YyhvL( zzsSnM4W0D$ybsLp0z5z}+IwLv=*S_p`vzQF%-42<$EdYO&1sXTtIV0!`5=GJ&Qzcs zXQeN3txskzf&e8z3danL3@f*s{V}d9Cy^SUR(e5WWH(RVcu;oGplp(F^?EU&_6F8-6Yh%nuX1f54v? zPt9TPZ9)Qan|b4F4x>g>7gMi@H~vC)h>r=NqzEVwv!zs20X{03X}J0?W~MG|P7ILK z&wp3NhfHn6*#y`f**vsqXdjzLOjUVHw;^iL89d*IxSeVo_^ZK%6W!auf#I>mQXm#- z-hIkeIA2;lDwnfrkhPdM3=0e6=`>`=*w*!8k|dt!?7$n!L;L{sFmU-eI=3CcOei6c^v+*F|9pDq1A} znKxM9fs=aPn@uEgGP=>UxmjJ6ja39DuFMDY{20X&eJ06P-IO{P-&qc_!8bxs4df4= zH@<7q#Br`q<}Ot&M&9FNe!W~cs=441Pc5VQ3dS8*C;^Ry9QT>BdD8!&BJbwiVC!*? zsj1}Yfd)`;7mjnio;DO~sNXR-X!08PWc;6+X~}(CxqJUQ1_ko0*mSx<=|hGM%o7}Z zw+qBGz5?`TQ=aMwgFxI});}1WI(7v3-tt$`W4Z0UJb{9gX~&T%of$D2^w#X`qQdkU z@JKs&HhYj3>Sa7YNHg_i{6Ywa?W)7Bk|t$#ez-v-REIt$warLh+)zwlboShio>d?N zRoFwW-Ro@sE^a49rp7@O(a_Wo`#JrcD@)Lc? zo6}h}CKhx87MyhcAUb`k(oMBb3!Rd}#(3sO5Ib}mk|7@s?64tb)7tKh%->dxe}2cr z(xpf<7m-z3H@p;807e|>4hc5L&-kAyZ-XIve1#hTKh(P`> znu2bBH4pXNAwx<-kIu)E( z&D(a#Bh%TCl=F)FT0+HGXzX*-44ZUKKZ)k#?kIqI#7|YbBH${X$_1b6xT>~UF36nv zI3X$Y;YriE&Sm#I%BRd*LKoOfLOE2B*VCJQ%lPwdwr<#sI@*tEdP5no+&A53wf|bM zL1lt04~*vE2Z?h|C)ri!?01^ehF`Pa^}Bbq7dF=TT7S~}@B3Cx9UX=43M*reb?$jx zVaUY{YunI4*zJ||r##6pJpViKo`mpGwHH4|RN233ZWNBS8pv8oxE7IwbDVJg<&`D0 zvIOpRdlr%61&oTFf!O@x2Pek*D_b22BDA?K+8RpWs0?~@ALlt902{i_p3UGMQsPr7 zm#1&L$2JWYN%^O76FbuX>iL*JWBt)r%Ua!msnQ`I;eEx$uyb7*{7pPU6;C4`n;PPGIcU_!4Bwa(5{+kgLK zIUHR&I^3OgJv&{nJoCJ@qtUl@QF=Gn=iqT1wq$yZKDf;9gCECl-}rIwRSsy$a9h4e zh#B2@IlonFAjMzbL7O=__t)Cs=9cG929Woz*5GQ7sm{nLwP3nzsgspN5m+pYcPA?V?oe=2t?1qnhS&!_|w zYQmnLS;jJ#inaps`p#^06#RA_RRhd#$Jt(v@!uZzjNkFpH#`s|1kO*E{Dz3k{+7>d zIzs3dk-?qmvn75fDutM3|GluQ=2jMF$qOpIu~4}-eG#L$Wg%5dg=A4B{yvLZ1jNF% zs?Yj|a}h?b9BlN$Ow5L#({G%M=jqu*k(2A!co8e^xMBlif-*`h zb?1!x+xilyu!r74SUARjctQdpo7bDH6}|uTZ;Do!iN_UI=BFiuX_72AvseB z=iL(P@&*^#{=GWz6`=8YN{oy~tC@$YjX--zn ze2>)+#WD_48d;KFk5ISI{$0H?xHtX3*gEg1B;)t*gPMw^l_MMOP#ifb_ln8|3Me?r zou=mAd!%MV%LVR%Rw#nGa&Ilo%+wOiy)`H9y?Xe5&-0w$dCvKr!~dKEH#hfnectca ztDL6U?C)drcYOKcT{Efwad4He#fZq@2$%ht2{ENMezfxY57NJ7ga14J)BFej!51|! zojGn2-cwWF@$YSWG0aMgMb%GN#TdO?a6FFebo-o*Mb=+Id|i=!2_Kgor9~5O(87`< ztx+nSZQ15o{g}fbM7h}_I})zKt94e?Mroa~Yatrxm4B6lcCQT?YXRvK$OZk`04jA)GkY?SiPP+lfe>S)Etk4+s{dR0mL2RYxy z{AQTljrC+;5Sq$Gm-&m)M+q8#C|B(5_8Di=6ejEz8)R;V^!+Ob5D5Yh3Hn%s%guB& z_xm7=OSqNmXO|Z>`l2%|3fNJRh}bilv(gPBoLw+99l!!mm;1KDS&)%!a}ok`xiv+o zz>>XrEC!fNLGVl+KRB8k-GWnJWPxu^8_Cr(o?UEJ?&kiZ6%x%^;l-u8rlOD8kmW_W zL1+r1QB8e%X2>Qd?4`i zh$dXm$TGs8*WQ5HmIkV;|C-}7$^EI6#L&#}jp6&3!!O7?F%|u(#n_I^E>Khr_R-c| zApQ;z)ve-7#LBlR>!VgwectWb6GECjF`te%Xy420$8Tx3>)eN^E|=kGM;FO(B51HY%(88e)uLhZ9XqU2< zputTao}K7}uDOI1$-QiUErxebm9*9Wq{!UeIbqWfqn;^#*&4{a!I7Xr0> zP4*Qu{}a^}`6U!2im0R4le=%o2i@u}v}3W{3Ib|-skOtuAjKsrZMnNveh-f9@!OAU zBPu3l^B*rvbLgnYRyDYVN|uK@v|OvyJ2Bld2dT9R#^mQ`rUEltv zLyvgazfLK^&CQvkh3@YvO2^LiA>A^vTd=7CUI{-CDceR%A-;+w#vN3{YDy>_`J_|y z;w@U^Q$eiPXeWt)o>@{@oa0V7c3;0Q*?W6_IV>Y-J_M6x?AzNa<-UTwO1l)AR+qhU zg1;$|&FhvGK%aw);BE!12E;7^_3wDPO4j0`VrJgN$1?!nE z9KL)Qe(glNg=lK6%UfAL(uH4Nbes=^!fVIJV7{@AXp`!@*W&tHU8gA7cd~T#l7i8J zytzK9yS>g`Fb-Jx(S z2hem+rA*A<)>qAJ{dH6=Mypzo^jYF**8bLOmsF~rRT$CUywd4T98s{Js%3V~`qzI< zvl5II)yWT)f$xt-zWr`=8Q&nR zqJ3)a4z8GX1p6a<3YVLPw|(Fe<@?OS+Lm#bPQ9|aX?$epQMj(vx554C-Ca?5CD66p z_0kkc;gS_+sc3FHCX% zEgT^!6B%$}{yUbRI{lOZJI=cnB;kMS$*4PPIW`a?g+DE50cf+nZ`_<}sWx~qM|IH5 zmX!y1@{Mj8?cr!A5QxhCoc1G3N|b?drgXWj*>2yB`pIlC?oY|R9&+o$qQRE?f11p= zokxpsl`Fr;>kyVt=TDGoj2A-DyNEE+Da!FhaDMoMk*55fy;m`2)EC@-|N4CE-)a2& zInn6nLZ8zLm*2kTBGJ^HP54zkDi-EYVrWs82_UWv@{PC-tOD-$>X;4m(@61}dGT!+ zNtqRDCTcI@m^;7=M-4|=J^$yBOQC@aYqwQX>-x$h6H_UtN+hs1k7+7*Zgocm#h}_!>%TGZ7g(^9kq~9kWtoehSn|A?Zc)gnrLrSw{3?OXj1Y=v!Z8RdN{$ev!pQ~{;yung#hfNV`Mj8ZQLFxPxLyi zx&75;E?k|kT`)3@SQ#X}WL+Nl!I;>;f_hM5dp>MGV@Aw5Kr>e~JZ z&4Ez)Kf8dIf3EX$Wr4aKtfvNeV)6n0j~+j@1#^2;@*vAE!EI!k9u;iT^SMz1fYcSf zLbQi0RyYBdAmRZo$sr?^G2ni2C?{Y!A-@OshRyxUF1YpJFW1_RfyS&wy4rflUVTiD zfMEAP5QNv&SKCxB-@;1dFp>nvPvP$(<&=!^hPQ6G$4Ixj&pO0SL z_mc%O;E1fIO9_7P1!i{m)Ng? zi%B&GyXO^>aDl-Oyz(*)ohkF=fu%db84cTG`0e*&uXAzMMgqC8eGZ0=-_(W}S`r39 zv@P7h3A~-ca1InaGe?5-Ds{b*%l=Ar;(idyce0FKM)e&eK0h63t%(g$7YyfRQf9bQ z=R3~fW4H6?(oIz%C`5IT)xomm^Vm_!l4a%fb&>X|6YcG)xx2MOp%n}-QLfp z6;%yY*`E+45r2FapRLH*-?_xFA?r!r<&_(*yLipP^*Dg5^cD{srleB>)77NIM+UgX z!eqpL6Z*022w;}UQNAaDSlbZ&;>m=%{s^41`aq6^oPxa_%r{I@)pz4h^keslL1;Af zXebU`G%BaGH5l&2vZJJ^V3^7=lD6&a1W#QVGC0*E&WFe7&Z`F$8+biTd==v$Y~Y>b zpeuntHrx`^gGrM8BbwTduvS8ccg!e(Sc>V^+;@^&fSBoVw4=Dr|hVFVz?y*=P1h zZGzuiVJp2Ln3qrTjYP$sTP?UP9x>1sL4%wEaAZ>_At5m^5Zv25CyZn8X(0K**{0E6 zF!04YwLv^)?jdywc|Ew8;8{vzMG}PGT|j0Yjfm8Pt4#ae=UHpLm6y7scw|#3Ya8xA zVKR?Ff5|KJNnh(&2sxVN-!(tHG1JEx)HC5DDSdhVHQZ7Y0;&GW&cWSV%Mop0RO~?Q*e5kX!So)V*Kz|dg3YwnX*7ENxTxIhhBU?Fl9w< z4B%(#qc_*_r_Q%SYSNr)nz>tev3kAgz!deNL6nY++Tk-RwIJu5wdM*Gt?pG2zwb;P z<>se)Qyq@~wmTf}&HL}M67LOqjCQ!Mu4tD~XQ|wKM>A@{zRTD~Mf8*2Kq=G@wjo<{ zh2A(`;b=oUxxwDiw<;#o`4^*m%fBUqcc)%81_g9asMbB<$4^#Wj4vKJex15XulsB1 zwDCN&z-QHz4B6n(f08>a1yu0{_ zeJYyD!J~gM&ZX+OrgAN*sBA@rdz1z)rV*M9`~s#$RT|x1Woyec`F|4_MfH)A2$Zn= z5wXpRAnRbW_MJMLxfwIaPGu49=<)5y&C0KJBmF%HSD{~yUa#rcX&*t;0h@F3LJOuV zi>4WDd1&uNhlE7Uu&v1y#qGb$S4wYCAk)7>;1iorgeZV@qBOtO#Jzb^`uiXc4|z_81y=Haom*={$P zg%1chMg!84u+QFYbIST(?qk7g&EBIzWE8!py6@+(anoTy{u{AF*<6b&XJo?`j)d5Z zC+i=;E0Z77W3_l?e12N5ynaE{t&aOsXN2kM?zPror050~8yM126sNGQ&cc z2osdd1SH$dd9JT#z2EhGB;@2K`uYN&i&z*Nru~4I{e8LA&wba^BhQrbg~xfM;TMb9 zmB$7hY=5pF^pl-0uH3atbX5zPaJv^WEsPH#ecZ44Fwyw$RkWAYuuAQRN0rR=IpYD= z)ySO6x7w(!Lq~4XHZP&8EA9HvsE$+c`%8XSu~F7=#TeX6m= zX$;LI8uizm^fOdocSlZU$?QL09~8%qjHGR3bH?`^a+Cg`iY@mUNe9RNlgb^G8zSS4 zc8#=3m;BkDBuKKVa?D>2bAqQm5d(7gR0}HWKfP9@QKy^RqZ%br-G}nd53bG}7Wy6S zC`sHT88xIW`J6wOlN26_(w(+NP+9`&-$Y{hp5V0O32aKg|Mq-vdOhpdH%HT6hzuuz z3~5R1S?vq0oBi#t5`(V4nRUFBT>qZ11HQigN1W-ly5*fI4DnCkACg_q_TEd<@UE50 z{}Unpw=i&0yx&5OzNu22p?tJb`EJ-kfxejow+g;8sW;kaN&bnH}jOmyT?Ll-Mss6zCP}8hxQjKhTeC-?AOiy~fbL1-Z>3KGCbc zB+-zA8Us>kQ8;AR5`l7`JnR{2YqWGwN>0MqI{72a^Vk5I?C?^U6X~hrFymMArQMo}SqW)S-?weJWh*c~QnpdM%jj>o zMhiHVN9Z?!D08SLd5LHh_&^{7&o)|yk%Pm$p2w*>nrTivQ;7nSK4eP{RU6Sz{m%T}%uo4)yztAv9CQ$-I#(c&Xj~ zYs`Jo{g{0Nj!%%;xq4RKl@<)f95x()!|L1sokY<)?+gJO(OX|k2^3m3xCTn74x!E?)jWIE=t%fAv6%sXXZ?ZR^@9k8t}!aMtL5iDv| zS~!Q{{Y=`W#r(Qjm^Xe*g<13_5sQ8lsd<^bT34%w%0a6_g*O@IkAhCxfhAcjnS^AK zL8ZW&lD>SyM5h3}{#fSc1z5+qe8cXY{L$JBKH7McU|2@+{^cl)%MksYrz}`);wAQq z!Gr}vUv4@ZAT-?nK|#Gp@MaP3uM+y>I@W>uFMOwxg77zDG zg<~MMrNhlfvF0MUd`~X7Zz)QOL7NODcc%AyrJBMzwSC&S`)Kh9EVG8SQTpx z=eKhl-e~&OvnE-!^4fohIt%5P!t83+zGbVg%g)8{3gj~~Z@&|B@9pJ<40vO~l*{Ib zjt!CQ&qPRXf=As0_Qj^g8fe|piJF4l8g-Z0lKHwO13zUGbpOj@awF57P|3xe3#Epq zolSP39Y;sEH&|CcS-mec zd;^NJrevxd(Cj^(hqPktC*>*1Tkm5X6{Dfd%z&IUx`Qocsasf-sV@!u*0t~RGSrvL z8q#`Di*BLN)WcWMs21Ys3RNU>lh)`ThDFUJOXNSAA6fEyHhonhTYYHn_Hc1l1#MC1 zn$i{RgW3GPW_;&8Kg|b7pBtpeT*+{4e@9AFzLq2Tu2x;V(2{JVblpSKzmI#r+;YAj zDixpcSb3eE{Y^)~%r|-7mXG_9=6(9I9e7Xk9vj5(mNuRZay;-Eh zF~3EbmEQ5ctsa4tJc z1tbeHY`;A$buJ!+zfLTjifh#R>z9 zxhfpp5Q$%^7l(ca=^t9w+QnzrdZr$Y?C-_WT(MoDr)nMxH#cDH8}7V3L5C-mMw5Xy z3cXp?T^&eZ7W~lVrGCSwF=PsFMLCmr!LZTr%a|@dR>cthDW8kEyK_qtOp#>giAQq3 zNT!_-EUYA5pH{es7RRgN^G8X4AqT>Xgq;CM3q@f~))6v>TEATI+?pmZ%pFn*LBXLg znX@bnW7cA#@(C*F6Ola@=Me;juK;^z1$&6c(9%(VzR|||_|?8cXSeKo-knGj%hJ&L zJ^e~EmlYiuSDUH(N-axM_=i%|iW{{DZYRi5AnJzkr}AB0V}tI|XTr{ZMpFh>HdQ4V z6}u}n?>dZZDQ&04RY#G>IWy&*2ne3rKl9&Rv%_g!V1mY03{!|BvL{H6Z}FeSm{%cj z*Bm+02#QZunQu%~OKgxDw^esdW=O#jEA)W1f#McrU{1^y?h}_xnQQsGe=gandxTI+ zQ?LKUY6u7;MjBDHPFIeu+0rruS+kwd?LbsLt&}R&{kdoxLQgyB&!M7`87|c~I&e;Y z$D~2(v`*mC^2>wll#vM5u3DFCAjkF}2X%tJ1rPQEqbUlg4rA_5d0iOkFNWqRw;Lc4QV z)Vtz8iL;y{Y{G4{sFijT=?0-Iu=Vx2qSRZv)w&a;m*P1YD&$Ru1;@a=Vi7?nyibqZ z0kp563t*#zMG#UdlHPc^LEMP_2`^A}=8k*{n{f-|QSXt{EZvjuBtj8@tJv)GE$RZb@ni9;C>qiRw|P4dS_$!7@`~7cOx>WWOaQ(c9;#U{~qn z-kpB-=kqbZ`DJhcrDggL->@%}v4m8Yc7JxXwAgJE-%4|9wrGARn#0oMVPO7HJnPUs ztIw{BFOamBh4Yup@XV>V95MBEyuVsT}zpEXw4a_;V? zR2!&6j)baI&F=$V{s{9B8%P=W#IZptoTop@*jsfkVvH@d*Q=6vYUSX+-1)S=$M9V8 z_YW-Jo82#!N~Go0Tl8ht+XGaCLCv9yI6$IN`GFS0UUD_O4<&ncwNkZ0Gm zWs9r(S9zQ#Q$Ft1=;puUb1_T3Yv6c#7=T4MQ2(mu+H6W3K`r%jg`>H9+f1Y4PkDPdk@U_xN8^X1tYvzltLlbq>A5h7 zfYw_Vwzdubdx^?sG1iH>7d!KG1PoY=R=>EQOF!`h=6t5Wo;@`UHclk_Ezx{{wzm|b zm9I{L&ut`WQKhnj9t3ze?!Xy z09od`@AY1?3aEXeSG#|oToN1yfn5Ff`e@m`G=0+6XaRh~;ha0TaU-Bvkw=e7PllJylBiB)SnZfOIG=lZlZR=kDJ#yUj z8H2{8XB2a^Mqu8R+r%TGJCT@TE1C{BP zyJ_VYc_}le8!5LcEi$Wy)u%8@O~h=)>?%y*==(NG5D$vh(py<(C1e`|3XSPL80(jP zv{&%Q7nwKo8v{#dcS8;FP)pshFCg>XqmYxuX?f38 z9h2%CcRxvsHTcPw5?e63SNej{uhn2`zK(AfqIXPn&$=sJF$rfml3uu+iXS>UpZ@*% z|Ig_C8<~tzycGNKpJi6ALQ94pqWz#mS2}$kCw|y~4$^g9i)# z=q<+_UDavdk%m`6%1kn{({ew?_^mMTa!`^zDCDd6P`gwD5g4_ebR3z^~J zA8FVx=H%}H7v`UwYMX)RKzU~!_Pm=-?eu<+);&#;%!DuChe9(OIJ<;5ldeq+^@ZzZ zJW2&d{kX87KL~n|_ezdVRjzHR|GQ0uo~K}J1T7J;c zBkhS)Z-jiX`P-+jzJLu+TK0$(?4OF1Q@SXP zZ9rXaiMtwZAPXuOn$v?a%e3VMZCslUhkr9j`jAIaeEY!zswskd^`L+kS*cg~IY8VF z)FNOqiMtoWX%v~?n3xvxo1reCPgODXfq5kYFVVuWa5EgW*^&ibHeWiY<7DPvc2Z@L z7`tC;&)jb2yEdCYA~zdid0d=g)E}|X|1Rm$9d~>=!wfLvQO7CCc#$0i_PTCR?hQp@ zR+0d8-((GrVAZ~~QeYsRpTckt^+pvuPDw^nnYr|%Y37tE80{8an;hQ92}QhqOINB% zm-nSc_3FK(K6u@~R|wS(+S#mw7eB0pSI*zA-%-jamQz&Ijg~Yt-3j-`qdkX&r7K{1c=xh&lE11-(Ja!6bYQENt?Ai__ zHjw-yEh5drJ)UPLP_~Q%&l}u%UYL~$kJd#e#R5k!zsrnACA~@40M9I*(QIL~!twk{ zip;A}+_>r+o@4Om)w_8FT1?eXj$?vm|7irs8(9Hr%r|-TeN#y@7D9nOXBQkHBJCEc zr~$SO?=x&;9RMt3vAOmQ6O5o+9%qHJ%Pi4bFO5sm^e1?njSZZ)I*|TRQ1Dq*W1~kZ z%eZT>X9fco-Q4x20CmBEot7@y|WB3e-M5i0j!d zsC}n;!g%RI38ve%sdTc|t#bcT%DtJU2xLjlMAcxt+sF!&36%@CYKij-65h~AF4o#r zx-VjMUYZZkH2qd+b7$_BOq`K7Odw7pZTkrcTf@&xByjY;6pKJ9{oB#2^;R8M)98+? zpzMzGym>6!O5RY)eyr9VC&l9qxe~8^OP%XLw(p1ig~~fvRB%3boHzm4_@GMsq3CR?kb2SQD99#4!>AS$QAVnowh*Z`sqSWGBC~ z7zZjTL*`#faq65u}=vGWG! zdb_(z|8{TlKKt!7T72yn=_4zhGVApL$}3hXjE?+*b#d%VP!+*%u(suuuLIU9^_COz z+MjYWU9unbQ=kN*$?!w!_1xtJaJcQ^bJZvfEHrTnBP$>kxp0l~R-YYQoar@Vonx70 z-BPvBtb6l|qu{AVhx&b|iSic*r=TaM7T^uZnB%uMJB6QPu2;5=T@Ycgr{79)`Qb20 zCzz2K*(nW>p-qzXQhAW=^^Y$!#?-TqELaA<8d^WT(kV?%brHu650mEC_Dn*i)T8$I zIODSQv}`p)M{e34sj%i5_ok>t^KKiS{sq}8?6Wf9_xUVjFKKWZwBuJP32 zit(yXrtbCfZqu|u9JcHB6+2Mn)oLSQ*);M;($vivfRwlbmumWD+>_%jvGB7}iR0U- ztTiQS`l0KV&QxDQt2}I>Bd!W|kdu$R`gJK$9xvxNXMIDCP|ZpmZ)Mz{{@1Zq1Vl-G zawk4eh%SRrgkj2$SMrxy#x6K_R0aC=J?A1o#()#{XT{AP{mlpeQ@N*w?40xCS4zW< zhMKQn>PKJAI?^)D{^6o|*;TlZ5iJ&{-k4zkQ7If!MabDJvLo}7i1YzjKL({~mL=M& z`eFZ6+@0>V1mxXmq|GJ=AtxyST?aE#VaoO^ei#(}EbGYp+-@DF{!eW`PGmg$+qzG_ zPdPn`xbHR<csA$Z&;%XibK@G3FervSmm)mBZ|c`GqV> zw37t~P}pcqv4leIlAC&K^)Sb}-&-Xxnt9>1^>TKm%L4ZDgx$#U!%uxI8C4v)aNY#S z)dUW@ED-%#R3YOPu7?jmGIU@xS}bFG`Z6JFNK3!+{PZ(78OOZROZoeN_jD1)iSNyO zmYBm0!Te`8Ni!e~%?^F{w=?R(+)OqvH3LDp0xibOqt;YLSvBTFi_o|c!BQ#1-G@e#;YiahaWRDOM!)_P z47a_ro~tZ$Z=r1hlyOVPCgwCHaWW%RG;Q#wZd%?`Gto=ZX~!l-QZ0G-0KBS$a3(`= zk`v1xTkLlhmTf>%ewW;woctvZoW|JwyLe)YP<1SWs_=$;?y|K{WG+tNNkseRIom4(?>F0~SwBdE-)) z^W=K0n4}B>>!X~bIUkNI%}uyCqpUtVHSydd-r3Kpn>e5EWt5}A7?$DapX{*O2@?+u zSqgbmzVv%@_7jJn_w!l{d%ct0tvmIo@%1y$;*UrBfQ_A1RgdL9$KW3CfG~XBc=BDt zH7V0wNy5zccB_envUMxXJIL!XyIXtbf_;y9Fee2+fmpm1r{0IpkPU`sg+O&RB@33Q z(Y4ylERB$6wV54Ec>h-x!s==!WFZ_mcJ`#*O{!zt$B7&CNwTIi4PNC|m2Ful*Ui?= z>#F@Xwi2hCpAe27U|S@#afA`oFihy873a(iC0D+|K_jZ{wA)R9z30C;`8;Rm%vb-O z(Q#BVP*ZPqVZU1j#u+wVc?tuZ=}ctn9f|QxeMrK#O^|JZH^lyczTT}x zV90(ihXZmvROYckKLmG^IJuaibV4w;VlaoqD|#N&-%sfD1dE+$cd2HY_Ywq-ku5?x z78*vBF!Uih4VQHUJ3W(t0bAkl{P_hzW%m>m88T>!#z}~am;QC}PQ+K+jJ^Q*N5032 zTqrwhtTVNm!dN}+IrT7SUBbHG44xY;b?eVkp1SqXFYV!s1TcZ46_{p?2%QJ$vF~ny zX-}P)n~b5%%9@`efr#G?#X4=Xu||cET22jY=fAUC-{(*w#}_ZiO^2$6PjcNSdQ6!{ z<#LoL-4XiEKF;|#?6r!#+#xh<5E5`S|%{3g^x%!%u93M@ijq8L7 zZ?C7|Q+}RJPcn$6vO$05vZQx5ZS9%7+FctMP5JZ)!MeuVDKa+>z@q>K7x_tpi9tcE zJnSJs=idZ9-v5JFrJERQa2UK4+lBLiVQ3V=g~LYWj`a~akq(Qx2jVQ>x8G!pmvaL| zPV~raVuu7%bK1Xj;J6Ce6P#1?Z*U!^9=aj!RJ5koOV#34I7L$m-o}kFMBQ{PMM@pE@=x^7gM(tn5yKt zJ4I>rEymK1|DyHJ6ML%yaUQCObbDRP+~I;~n4nXlTLa&DWz0J*ev{EK{;S zji}!M_-_~19lkQ{m7X=KJbu3HcY5%zOd2D?M0fAlPs+=;KIKsC&vgfrU;)l(h`H0| zKghrUv77Sof6?~&T|A*|!EUk)BKS{Fzg?R>YYP1KXjC;glKM1byhk|WnZh_c&7(Sa ziHC_+a~LVNk=pVIr_{Zy;y(ZbD&468&3`Q_saZ=OrNbRAj)cO znMMF{XH`FAs`YX);sRpXNf^~qv6rqaxiF3u@MV+Foswj4xPqokqf`u~46a`GAt``P zQIizJ^oC`j&ZDP(gcmpWAl-}mr#uw5EGrx%os9@7hGeIJ#}J=!Pm`o$*&|lEKB||V z9ohZj9@yuXbNwls4HfA>N3-%JE3+fs1KwPkLV#t!7cLP97|z|&tKmAg2CnAi*o32Q z0|?Ahm^ASK!%f5I&Of^mW05!O|e^pmbjOyg+$LnD{(nqAT5UXLV3kz@T@${-nMr{L<49vFTeR(?0FpYc}$6O3aUeRwF_qLuM<3>tTJU}G*Bz4a;y zEAG|0CAp~#KId<<{*3RQ64#q#MEl!*PC02rJVye&M~p#nK2i3E#`o;?&UP5O9awG? zE_Ye){dvt&UJX-G{V$$@Zy0P&@Q@bFo8@P;AlVRcBpYpgc9b1rqzdWmfN7sAd_~;e zG68zXF7@bM1JM~c;5uN$zzO*2ckemEC|irbhvR%Uy{jf#$gL2RUswg!J$o_8$FQu%;klB1jt;_ludW;ynDI* zpX3Zm*3w6p^EkbDS4&p~Hn)mnuF=)YpH~;&RLGsKor}&fMXO71KnE<)r|)8}b2TU^ zc-{o!8L}-|pdbwkb%YZs<~kp(s}5cC5kC9K5^Vgqlg`rfaknGc(*aq(E$0A}uxOb3 zbJuPE0F2o?NO$;DubuXRM%-Q7wAGtcd8V+RocL2Yob&YR`2&W4AbroDd|8Sv@rB@r z_dsB>K%Vb6Jl#h;;3FRWH8^M!j5`h(yRlHjCSc?pD?5i{!2BSO)7qX51043^oc*tXTg%+EL{-YExgC6J5OG zVAft&>qmN8#%sn*`>FjvN@hPj)={KptG^+SUzPZ1U+sSc9qm4(VszAESL}oV1-ux> zVXb99XIhJW{sj$`F{Vv9_^gsHmqfNuz;e+tIDvq-3{WkwjOOkgV6sMMO9U$8Iz)!^ z;dPi}!G&CmsZcZ|_qDYVTT7I5hw=AdN5NkjM(@X-o@jVpPU-P#5@|8Yikj*F%aCnz zF1^ORRn$W2P4b1Oa7LRvrw=^7b%twJ#bUkFw0y2Kt_>ybMfH)m^}Q_1yb7^-&2vN& zGT2kDDnhlB@hx#3HU9HzfQa&67`fKpTu+Z`RGySGc^d{LZj8iA_0g%N_S6OixIYi-ULBDNZtz8*ndw_#;z^2PBkr47do0 zm}oer;d0$4!syllK5wR$OpI)6>yf>ED^>j17A5ZQD}}EGTCXMRDo}q&7Sk(_*KGH% zjX98cIJU_^q^~=`r2i0)87>UmZFPb@f|*Li_tV%k{OUnX#9nZYy4dN?II3rVCz>H; zTfMC5+u;tI;vVqw5u^dNUNF%}uhGb)-Z*y~%=;X%41*OcFDpQaroktV9EpQ_mjJs{ ziCL&#s(kNeN(*K8*l+g-LdElQUj$L^JU~Z}G-}+?$+o6u{W`6$n&0yX-z{AAG2re- zbR91TRlfLu#iQRlr{tGgaG^B9X%ipS6%Fik^R%6xNd|TPqHr%v%1N z{%CYa@C5)Bkev`0&nG|R+JT|@UYx>XdHN}gyO#r;99{&W>p!xO++ZFfKD@gU;a$Wf zR-F<~6biS!YwdQPEpB;VLPF{2I)xSUyn0f8*(%_a@4wZx|N3r#)QFk%**e!W<-hgp zxtM6&Taq-0=flf4++Td(8z65`;so(aIJ?6FJgIEBkwYaA2EqNOe8|6RZuDYx*(&wUf)AvCZKZ89NYE%@STn<=`*+1j2KJJ%>z#Q zkjrB+jBYRKMIO{zq+xHjBv@O0p=r_fA-Q>7NiOW4u!ArVP39n@6s1^{!)g%JfvDl| z0g5^n`r!KRW%w=RkCmCz{dj@$f{LATwym(nfrm9iZ{aI2NXx|egh;UuuLg=21VnmR zKmSo@;!(=cz)xJw!P%k<%g1pDY2}b_^7E! zTPYg6Z$=j!2#pD)Ho)~#IRxIvaG!g+m1Rg;yAzl^lW1AkL(8`mcBN@?Yh8z=9p$3U z;rt}~!GyuWIUF>J##141#1obAEwu4r%c_==5kTy8t&81O^Gx599FQCTJ7}7-$NP^j zcC6{#qGOIYt=cRLTwK~!{0>R1)71xA3oC7Kt~{M@k!y*w#^okt8Nj_9k1X`O@VI0N zg8>a8f6IrqQ@E*Qa`2Xf(yyD(Q^ljmgQOWE%g5eR@b|pXs~x9{o>+7EyN;IIdB?_f zNXOeI+zd!fqCPLd>00)era2!yamtCISbv|7I-V%90Wxi8Hcy;jIk$H%amQ(n9hF#9 zxf2|2)uk}dgY)lN2QSXPkU86Ka`fX1*g|A%53H+J^wNWu3i3*^NmiH!Web<3e!-LO97irQ?$O=wWnFPH_E^!E zS>K2A(o4?lg~Qd)SN1)PQ*rjnvC`z2Iv(g!&u?Bo*MC~|#!VB&NyX(im}o*=dSxpY zlP-BcOVt+7-q0y!-fy9wFP9=;9~i!}cdL3^`23?cqYBcWW0EOFUh{@3O#zYAheBb` z_H_DCwyPVFWmV7r$c(DEhEo}oU9-n}t1z{r^0m#>H2JhT3w|?&53eQpes$XKICXH= z3*8uQBJB!O`{lWx_y&DwzquO6=%kV8gPwt~9Ly~Hkw<`U*dzGp_-VFY3|sh3ZPN9D zNdP#|adWN969|e`b@Err>Ydt}dqnm+c}FjJ6eyfI7i+WB&^F%*y<+qe4ci1e!?VW_ zWA2P=`FdpA$ADxWv`Qd2%kXAbhgA}aOuM_0RJB}^!+v~SH+-`oc77qT1tUUvH0t~8 zp=PYu6W-C;iEHpW0;|=U_aQdN`D-xe&;hW>WlTW8d{EE1mHSKps~dam+xvZEprUY0 zGJvujgPKx%v)qv1%b4gC2fjSUFh#g8=q3INkj#*hbnAo*prUYHV360EJ^ai5_g+Rp zj*I6%HZg_383aIJP5S5xt|1ntt(O4e1JX?v!}4sUYlr^c=;64&`z$?DXRc)Rvmq zDOhHAPmN978Ydp%9&jPLOIU_GAn29D^3q)a&ZWZRi-puRi@fZ$`U;$`+IWq_YaO+< zA#`MkV_DG$scN@FIBi|K>oBg zKfam`zW($p)Bb0g&@!>bd0jmB)Kh)eq0b^GF7gASNKNQ4B@p(9F?^I|v7h~M^W3Qt z>Gr?o)wb`!n;`)+w)^)6o*)0u|8K;R+D82tz5O1lf0ZT1;oYGfZi=JS@jSq(>qM;T z#T*4$i!T_Z3IOxkFozk3RsQolDixlfXkxowxtWu;?w=X&5A3gBFEMW{DOT2q=l2`k zXj*h9z+QbyD6^7 z{1rm^vcwl)LvS_Fq5}~Dx_*ujw4S;@PGmrnF8d2z!mDzl7_p=u=8F8PHx+r`OUj6u z^Ft#LQu7+0#V$PJYGrD-Zo&2;1qs+MHHb7cDrAu}gyqRgPaj!xZD_4}xO4~*ARHZa z%CVB<;w5A)oO9q&c(J8U4~>Z+S~JYN?_U95ym<2^Cs%YA=sB*+0Gh{K8xPQo)V&@4 z-Xkx@2R|BhCmLy_Dx969fv)?Sm;H!6Ou;6p0ct>>dekD#K;xdk9#Agdc zj4yb(N8Ccxzy0RTDe{Iemk3Q3z+vx5<$-_KhztihilfAlGoAjK9(h?~eZ2;^X#`YI z`?&|Q<46z>`VpIr;~lu|)LUHRYtw4r z&7%D&gFm6aJXXFf%UEA!cglhuq}?%-Ieq72D0DAXM_I&FfL?}>gt;{#sn?<7(0|{^+RD#_WeCq7KAn<6{Ed*xHjaVc@xHGxFljR%jHY`Rl#Qz^+!GmA z3>QuGG0?M#d+`u{<(z?o^QWDR{Ep4_;qbu^rvu^72c>sacdjS@vdMux-Z)y{qJBIo5C8^JQD^4YyX`6RNPqQnJJa_H5U=iv!3p)K&!#Z7QN zLrGGk*8~LpnEcQ2OLo-i2!Dp@fgL?od#h0Cu*$@aBiB>^5m$qi@K`vX|HOL8R_?oI z7iz|M9<%*jlPqTU+hj zVT;|W9U@jyT2#fX5t~rsOIx+oiY<2S6)K8aH7Yi-RfE`j_2zf(J?Gw=KXOja$w|)1 zC!g~g@8|RJ+~~|-Y|{(*di3Hv@5-=0jDPn%*?%DUmb9obyVhP4hbhY3qo(yH`&6P+ zU^B2of8#LmC1+cr^FZdpdZ>hsBgNjOi1w35JVC&>D#4!I zEckb?Y^1yR{(gl6xl6ix${#oR-uVi8K_DDwi=ON(>q}^`hir*>(Cm4yvoouddE6TT zL>kO=84Fs^;$?_IS-(F3P{t>Jt%{TYASH@NN@eydoIdD{D=Tqk;`8>?$pSCttE>06 z3DzCptWC3hBs?maj+dHLC(81ncaEfh7<700Xn}XA=r&|Uj zc3%y?w3`|L=mt*B_EwItpHz30hbA28#_8jlXJf^U^uNAou4mvZ3*Y)qEH zv;4}#1E!(_&=|mA_U+Q=0sGch0()9`0r@P?+NTMyy5|p(gPyrDDP2D28J|fx03KmZXKQF^`q2`G; zu5+}_cGm`1yRdIXlc!P*S$?v2S;2r=Z}8N?S4r5y!zZDRBU&m-5B-nhr@T&OMm}y7 z*JEiXQwE#1&k~YMTkTM;xo?|T_v&M{eTo!MW)p&65dMZt5KheH_e$&SDQowK8eIvR zOIX%9)pa*qVv4EWklT72d83OAmQXxY{~YT$b1-x0T5|{VKZKRHd#Y@*e(}0WpV?%( zHN8TlHhPVk*i;f}7R<-MtI^Y=YVDOaUkqd-`g1>A7?Bbd7B0MnQ&R&X-Inqwvk z0lP{sS8?O?zx*nOrKi*1wVF6;UupQP+!Bel9a zS89>`ZY;ZdMc1*p6ds7sFPk7Z60GIZwBfg`2|G)g`t^33G+ROq&8vmU&`P3u69DRG zUWr%^*S0b(l44xaZYuTeFaAsiF?rl+@Ex@ZJ&5b4?iry0as0V~Hi)8zn;eJU%+<4f1cn%9GZcD`DBwaAsad7g1Oz4y+Z7FLWGFL`KKW+ zbxZxc`u?xGqq#qA0MV=@SpfYYzoT!4Au>>7SHO#~#81FPU~~4Nikwk1Wm>Yb2VOu; z*o_NwcS4|$2B-yYDfI!M0L9ahPAdlWX)s8N0iHJuC6wk3q@&iXp?&^GJkOUH#B~R& z!`DJodzE@eL%_3Kt2*;=L65lLDohR}>HsBZLTJNyG4UYa?uiRz9`+^in zVOjU;TI`On4@F#VA-lk`(MYWB(7{styzacs*DS5V_=nme)KL)wCS-iS4?U=P_&;PF zW!ir!Tpa%?6)es-?3tTGrO!(E`7IX40Y-#9d9?zknf3wiJQlYx#(?y&PAiFgy3o&Di!0a?>VL3T6Z5lG=PL3YYLKCNxq zpv1wL;6G!QZ7gaiig7BF8myhnpBoJlpWm2#Axu`H!9LX}f56llh@_JYq6-8Yf!50Lt)t+?V3Qy57igI7mm}3bBA8+(qRafO zU76DIT*-rR+luwCEY)gQfq?REg34VYj2(0@@ea%Rm{v!)z}kF=e#-?V$^N&d%U)ss zkfqh4f;OpS2Jowce#VGP(Ewr?4r(pvU`%&m4ZSE58nT=8UGJY=EW}N|=xGRJ<}HZ- zj-VuAEvJ6tyn^hjdXYft2PP$@ig@a$md-Uij!)6zmH#mV1y<@eXB?Ql|b zG-CC)&}K6}V=A&FV#HmxMlNlTLftLOakt|Blp37wKnc6>sdDabwQ^F`_STSJuNFZ> ziV`_Ofz(jJ&VA<#?U#0 zK6J~Cqu4F_@P9(p9YsrqvumQEC!98Nr1n4V`jGORe=gstpFAwTw>^_`YaBleNGHoJ zStUX4a4Kqr#{|q%Zw4?!Pw94-zn{w0To5!A2|M2z(4B!3k%>j{5G(__*)`I7rXjWA zXXULq)7c(Ext2--Vzz_&FH}z?b}&qzx%};P|2j547F@4!s3nu&rl8=SWx~y*Qu8j+ z3)Fw??J-GJ#T8~B)J(`CT29}nP-e?Ony^rG121}xVaxzqGNb<{;*x&MKGoQWeMsr*>zh0KV$1DvzZPr;`5~SlWQ*F&Yj~JX&9O zAVt=)yDhDj(N|=f6X=w)DOFQx%@)>k#V#2%A9U09bzB-;hzfh-Yd!*(|wh#^dIy+BOMDl z5CN_G*!{2Y6n2e_G}ax5_3b7Cl2Sp2@3*H^7n;~w2a|=?f{~~0`ZXWPDS8sMV&i^% zyI*x`Yb&E7XOjuO=7r%6xu}Exej=&I&Op&ZB3@u)}u5D1=xZD6=;@%n^a7^b^LP-b0wO#(=q&kb23)tTjrOf7I{Z<4&Z9A#_ z0RGl&6NWl{$&j8Da&aWBEwBmSO^JY9P~*=W&yiN^!D{mQTu|TeekteBs;eNL zsWg%b$b0*lqt{W#AE`N45_0Xb%?)63B5qL0ay4l=R1ZqOeZD_7rMc|SDqSz>gRYW^ zU&B`4;3{l<`+v?^elrlS3`7@C-W3x2J6?tuXQVHaPNKP$ZcpX+=B54KKfO4b?^*XB zd^OAoD*Jb1@_)f=9a~D(cEd-1_zzLn^|VX%cKcEc;5wIkAt(++2~N}lM3OaNI@ADZ zq@*9+A)cIw(L!|#^l-p{oUkA$#2S@J(T!cI7pVu?wxo^T}`Yq=s2ll zbe6VnMwIV=myn^IM~}AXjSt9jbP_(go6CI`=EKEEH$4jCaN&N%MB$pXF#+yQ8~_o9W~(VxSudzp^2PB4vcK z-b(PwV0zFU9T54smHz9X_@k>k#1Bc#KkjTr-bq(e7@|7l&i}`wCYRo<{AnCQ|45L% zdG$QyEb%i|n_0mZIp{;C2x6CHj4QTP25tSVTtttT#OD<-7;U2Sa$mrM<1@lSkZH$ zJBb()K4#SVN*a{*)f4fY@h9|@)KC5qe`o@N1ur4nZ}25DKGXga-}qe&X^}gb+M6)u z80hrap6GglA8hh_f%NX|(Cq1s?yOVwF{c6%&%^1$K|$M)zd-sGG1*i5@+paU2S0W< zgH-qHub;s>Q5-+)w10{>GiwECJ%M%J-!NbZfyX)!o-!hKV zGd&FJ_DRf(2IP~0^8JT_V${S1&wyMG;8UWmPOc~@m5hEwjaiz6Pj<-Q5{Ot8xN0ed zmv!P5`1966^IQLvU-u^zm04+sp9I>SG_V^CXRgD1k=^r2&E+(`Kp@`#)`DC~(V^9j zh~IZuo|R#kYTqMRs?q!Hz>}7;|2!RvR)38hsq%k(lSqd21c03kWU6$s%YtoM@xh)x zMi#&A03pdtw2RMB^{IR_6*Pi7rbX!MW38V3(WbBWB-9_a$fHz8af$Tkwrw=+N*7^@WiDOG)ju)1IKbE$f~kQgBCc z;{5t|kz8&jz%QE=?4i%M&JCx7V#4{_+V{1jP=y@yu>RzsU=t|*WNWqg^4e8o(fy&% z9dCJXaum;A>7mNeC@WjCWUchNVSHz^DyJc>$wSOqLp3DZ zo52U&>U^(x2gnSvWh^anr0QxY(|)R?&K+{OM}jtOovK=fx7Os?kL`DjuV{&7r*ye z>~3Li;`|np$L3DC@u{}!kdKjz7%rV?B9;R~nT>FtOLcalR&NP5Q~Of>xh+VLnr_tJ z{4!Vi#g%=oYx48hbRhi?8a(K^VVwR*5Ri;v@!amgL zXN;$5B8Z~P-kD^BAHt*wZ~>L1{t+70b?!S;_A(}$wE*E6xA*Om)I~I}L~O+(Q?m3- z=mAL)AGNs!1PrLH76Rw#X&I^y*bi=!vu&tu>(-b)Z-M5YjV)IGCwbl?Q|Qde=yuE1 zY6O@$)6pkD>+*Vt-cK}aKH`JoXN%5&U4A@ME~#eQix*A@qRgOnvn^l6h&5xE3c9^L z->x)@+pFH6y0;OJNZRRhjpRBQi4@jlpV*HNJD-j9lZY1Oor&ds&|l~jR1@H4%HgU9 z%Ac)GY@1ABJB2vBS04Mf_qWLF9gEd|Vi6Z_mskFgrKigIk43fFTY0gtJ8?Yr*%2q_ zJDjHeL*}E|&1BEk(>_k?4!1iJHuaQd-)4in?b){1i#ycbI47x2!k^wukoS7+R^?_66*cIB)3X_=~5u7ORv^#>ddaE}p^xu)Pd zr6^pZ@1bd#&z8&J<{RS9x;8)wiDHHlSkU!YhBgD;FtF}>p+#c}tYj5R;k z3hOmy%DH?!R3h3&y0IlZq^{k$Au^tiFiu)rY;mhjA`@wDy_=}`t2=hf<1e5y3H z8}bn9kfU@+4h;o~<~`vhK15erRwy;LH89w|8ytu7=LfTknzTEv8kasbH}(2-+on!R zo5UjeuK8Bl1lf@8@woEmM;B|8|GtGEH8#zm3i&#)#40AcSWlkOsETEIHw)aoVmXWU zA(BuRLvNaBy}sXUd?x!Wx~L6DTbpmgf!T1$>rQcaV4wdi`c0~hN#4Qd^;X!Q; zwG~)t(u9G(L2tA5$ohk_R`Q%exWcL{e9I72>B)xV4D`IzQ4Hq*Pbx^y5Hz$K?p-2( zUdS&_A3VTrZ&7zu*rbVw_VX_>EhUFp8^BO&TKMF@0|FQZwLG9M>wpuiH(k54Fm;HE z?rrS^!}NG~uN2l*!qP95lw=uH#XRWYv7V~~SIC9hcj!Vn$taUz5d79tqhYYbCY(^O zT8lobHnJrlD__-Ui6KpUJ}s)~`SLQXJZVhWLWd8a{?Jh9ZeaGd_dtkF;()fJOOe%& zd;#gC*;c6S zt@XSPpcwMBXgRN6#DDUtUKGX(8^w25`qrKacUyJ-fi;o_{8fHcP^6k9J5SD*y&)q^ zsWYPwUH;ZChB}{P*(I!5-4ioK{ zmZ%#de6afWq}R08mYiRSk1Dl^0R{AZwkJ}-u2)@O!ysO^jT-ihcqudE{rM1U2+b3j zJG*hViOHIrqeH=%B75oLyZ{E5#1-uV*KjB#KzURMLdy@V9Wx|#0KWCK_-CaixMUHv za1WL*h0vne1rLb2mwbfkhwIk#NUTXl&V_5ZeNIxR#uV8e{BhY}0qOxwf$uKFrc+&y zEEs4OQiH^m!;a(8;JHQd-J%hSYu3 zOtjnTLkd!rBavI}x;;ff#dng;1fFxjs-M}KzM+}BM{W_oIcWDF-5%@!%$tYxUeAWw z`!ZGQ<;hDXIP}A3!`G#fbpBh8E$-71Tq3IUgtFdHF-nl9B%_%S#&(0&6;PT}>FIr7 zJk4faliI>>FT3N!S5NDIN75h0?=poImRw7eRIxtEFND(&0&CClA(33Nr~gbki|;|L zNuWKs+WeHCpCXgrGcSNOEElWGvKMsFV%b=41Z zkm}u)tC9g>uv?;J!Hi@#?A%AUx8}=rg|d^k`1YRJo_WpuZEo{g5@3_Jp zPg%IJBIw4uquuMw+c>k9kjO>k$EyWvD`l)iMHZn9b+`op+cUoUV?Pi{dy8=U(dGag z89j?%i8_bBJ@Fv+ z*7M{0yI^L8LHs0wxezC^4+DLMBG3K#ij32_?-l@cvuBqENGvAw;zWHoY@zye#^l^O z@HU3r6eRC`ezvR+LWl$m^e#qQL=b28)9Yh1CxT_lBKi%$*eKy8uJ3VTB^VPs7ilG8 zu9*27`KLus%n^^t)az&3#CR#SSM2*>`(OX&&Ew%k=pCE3P5 z{cu746ryz%CnB3@7q$&denob1&u7QJ$oicT!O*!UWj*Nabfd#(GLQ9A3wje@H--dY z5SQ$>;@ggVx`2QUBo6J}xpQ|mbeF;KxRWvPGx;tmr+S6@zINqNIA*68La#)ws?_Cq zO4We1Mtc&F<=IsOuooZZ#eqM$I?jfW3FyN3{hW|%-x8#uaspe?enws+I;XG%Vw_!$ z9IrZEoax}%z%O1=&TJYgy|=8!FOI=azgh1W(jWX=;JUoEw@I7&J?FkVLceyQMLPa6 z6sUgvD_HVfYv9>gk<#mVwH}{;H+6jyeHRRmLfURhT+Qne5qt7D~+3GBJY%E110mOKcf3n*P3Tk)=5# zZwTFRlDpvRKWr9hMT>g8*u0M8KTA(@*dwIqHpi+5h0&#z zP#v0EWyh%10Gc<2Z`lS;XwXqdDwZ`WKd*8@u3eK(@!Bcb+fV19J8 z(@lhO(&_fPqLbFd8hx+03xY2f!sZ~;FGJ}86UU4{nRlb}V>oi+MVr{yB++Qc7Vt${ z1kPnaH8Fyv5YRvE>XOcr;@g5|oR9H$9FrXyR)2X(xVrh97d1;fDoh~zt7W>HJq||H zj+&zyr4U~MX&=OYWRdq+SrqwDpFfWgvt(&ys?7v-5O4KdV*y)HHbrY0f(K3WuxVYo zXB2=r9fs5hPWmt*k=a&wHKwyoDQ&t?TAuP47I4%+hbWe~rm&#pF3We81pW+s-`JeF zZk9j-WqP?mhAhMwRX5fCm*H&LJOSR*s^%?0CL(lW!gc29;$u6D4zkEH?Hjxtl5-g~ zbl69n5^IIRpT_{I^kye&!`{lTDLV8J{2}g-$5I@+FH>oBHznFrYqRYeZUIEQm1$RK))o0L9jKx>LTm~6nC4YNigIBA^zA_P|nua%);tqBTt z16q|-k%iP7gsZ`jx#EV%sZ4*$5XW2&IRk3#_((IY3tO&+lrwEmE)M+R;}xz zwqhpoSi7)6HGE;hvWU#M4Q!0m#bNJ0;TDWu&yXT@vY!xLayT8j@S?PEL}x&<9o(M7 zhs=B^)PGpVBvrLu{Y9u(cPN|$#EcHm88rr&UKTUmfi+y#eV=j{_sw${-u3cK!rT5~BG}8C#86qHO&6os7&~unDC3M05 zo@!EU`ikNHpP>|HL33vH5jLo44NP?UME$>jitSj*uFJR&LtU+u2o_1f#wEP_5HVrU zFr3M&IAjkq9I-#ve6osy!+2lMWEueo7XQ*mM`zu@Uz7hwLA@@_A=%6A?`1 zAJP2*3J7brG@H=(A(9?2E?ayFWqgOgsO9U`Z^H#Jh2RJlbQf8eXb}5eg!u4;!N$8b z#n1tgq?cPezu)Gm$@{(>EFU#+^@>&>(s+b0HY}Uqna9M5+Y251yX&MlUf0Mt^8Z4Ev|AiV@T0O|s zHq;_`GS8b?43!Ai!72iQU}g+&WS|*-AEb#9MhGGpxnB^Y!UZi>>#t6bcw#dXN~)ku zzK$s`=~NKxzv^=gJPEbtg+|6UsEXCI*9kLBO0Lzx74pPF8^*bDv3qOT0&gC+> zVOwca_lV6-4MlE>Bga;(%U<;>8M@=cvrdjazp};{1WHm9UM(r$TlYn|o2a#j%AhYw zsMxtO9XzOFvB;LYE0)MAPibQGWN&!+E=D-%SA|QmT`PF9*;~~(b@t#a7`)=EOd<*s zHGoC#>K);{(Phvv4F7jo5>TW}8z39eMRb9(#q9=rk>@hHA&viQEoB@n^>P&5TFA~) zufpz`J?vp^{CN`e(?VOE)bEY`n=Q8e->8$lVXr{%tyCp@8=}I>BQluN@bGG1G;n{L z7O^3Fhdned{O@nxA6+%8xOU2Jqa==M?YtFPr+RdV;6!5u|sp6Zz9PNM6?a$CT|oDb};hY_zLIT7+23;r^N4@sa8*^7EKA2 zjSrmO8uF)M{TB&1vWm``1v=1hxMgqtzN$GzNo7TjL> z>ie(MoBs}ie?P=vH8G4s#FT9f#nZV2jzE{ojL(e@J*;y&TR67^WTD^72HVFXrSgq? zlo&?4Nk{DVWogb#mSji%vt{SZ%VY1$h26~9O(F*T>yw`E&q$;luA*g9f&?vg1mYgh z1+ltu#j)G3zMxfKAD^o1>!LjJD92G%zzd>|;AkAet%QO3#>NtcJA38Bv!Q)%*W+K$ z1!Ry0fK$^ZcS2XcQ%+3CyDktOyuhN}XMy^b|GV7!2H(2sD)zUz=X&w}!p0DEO{9qe zQ0pqQ%3?m00R3<mv-`T#L&)Y26@(98!D}rD`my2=6H6Y=L3S)$l0h_>LqVh z6Rdp0jIdtT)85)8j-;Wu%j8|}`+h|=X;&rUhmN+#yv{U(ixgs^qK+Z1jL~;$k=fNa z4^6|c<-Eu^T?cvL@)%I$B>P(bLzJH2%=$~MWik&2+r+U_|GLw8$i47@V_!PD^oRz- z!K9b@XO><9e&OIsdyVCDg(a7XC*fdDP1bOAWBI)io_8j%%Lx+{g)t-+_Z7M_wW+kzRqOpELaXoD&CP@-C&x(q0BM zCMD~^;%>1tj|xOz>u(CEv83YED}6z|UK!(@f<+(0J4x<9i1ZZ)?R_BA00q^0nbB>n zhpO>W`g$})Ok#T47!NzjP{WHzW3nI-k*ey%Cs0Fa>x$aO zk0~a;wfP5h?A5+?!0?{K0R?lB5i{KkZZK7ggzXs5*|WH$+AK1AfY$pE$U}Jp?b@Nd ziudG9G(4pr7)T)65vGC(>*JcRyuL=3WC##C5V;ae`ig;?3`~*FN2**)o{iu`9v4o^ zxsQpG%+u%7R@~)F{48m{Lj^?nR7IB8AS4rTda-h%>WJ`lqUf!NuGxxlt#J4LlE3zk^%Ap< z4EwvrCSZLbG`1}wiVs@7_5E}KOyQUJl z1(y8Q`#n$2B_d_e@f$}ZJS#QK;$#Tf+JfgSE#^Zni61dOa6KD)Z-zKD=7pF5COAe%4%}alw@mHc?WqQA*1`Kfw~L@bjb`?}h`R zYaQi@w9_(_G(2#Z2HoHosYIr#B-h%BL@vZ-IOQ}gDmk`&Z{tGG8(_u^0s~-aO7e|e zuaGnD-$uASnMDJi`lMdqN+=>q4ST|6cGTms(X+uFyEKaxchLJmh<{zuubO zH4saGeeX=a4G`ZNOV|M-Hl=dp{zDC|ZD-g+`VcM)Nk#fl=n%yNNoNW#- zJ;-ueh=h&0v)A7W)D#I1Uq-WDj z6~3kBbCyY@{0BDpW%9P){4RU1bUyBk(Q+0$(hr&*aLtEd;=oJ@cRYCFV~&VMuQFS zC^gQl5x3U=68C?&0Snx6BU&%_QiyUu;SKx)kH0O++8CZN0TLmLz2x(w*!`z0ZK2|s z9JzS+h{%5?1A?8XP_A6;Vi4JS($B@SIh!zO?Z4~p+7RC4t8ez|*FV<3b>zVh;L1?L zwm)?n?%T>+muLN=o~4{~q!?_rB3Yr`t+trwdw*YN5GJcS6`C-UVy|2*-?hv&xqji8 z2_B`}Rahcf4U}|Lqh;|37?fvcac)(PdUzx zB8LibJDFgCz&f0)v9eDC){(J#J})Ta@j7FsvO}%@^}A2{H}A-F&|xxe?^Gz3r~`5I zOyI7|)9T;zoDvg^C+M)XFDLjPrztW&kPQx#9Px88*V=@H$XbH~3l>K~%h#rfDI1R0 zUcF`Eb`1?Z_}z=b0{pe?|Cx0&8ZnCB$s5Hoe*14-xrfZO_?@T(R?CI0pi{39vrYos zH0xMcDX}Y_rfnNCh!u?5P^5lBEk=@MU{`AFai*=_4K8p|pp9ohKt`L#jgBz_W(u!g zkCsrXYwy>)K6VXQs5osPSY5PN5(nX)Q=8efgsuu>eSVT$p(p?tqR?QZ$*56Q9FOY` zP{Ed7T03ACzvi~As5%N9r9-&1g+yU~@Kv;0f@jONarCGE~-f*h6GJ?U<3 zwZh+ero7T)BpKc_wf=pc2VrF;mE+t4nD;(R+%a3o#kCn-o+Has|E+8&*TAnBF%Q=( z>96s(T!eF|RSV;H<#c&J$DnPEq9_QS;m;u|MZia7UlMB^_>1#R)yVm$6RAECD}jp* zp_;1Ebdqt3ya?jw!m7&0k!fM-#v`vqW==TgZoWxF-6bJZ$sdoN>RvmfIXy8E06a%BaFL~ z*P=Uly-<&*G|OIt(IcVAAZ$6n#nSE8B$YaK-{1EEpOOtZ&uFC%9=WgIrH+60*(acl z6+dRNc)K>c79dIRSMe9}_9Sx$@N>%Sj6SCam!U?Br*5B(TLEb3`5vvENO$sBteaPf zIl^X=Qp8eDlmBSUv0%Cyf1mtzRYO6O%@(Ewi&DqI0L~FO#4bnDMjrf{s=H@W-GXw0 zF72z@38Wa2gP_~0{3M`hS_3tFttcvFO zV@_aOFx;u+55i!eERlAcjojw}W$}v>Lp3bR?3W_-q**GKo?Je?@NrOk9$)V$8rDJU#xldyGm*!+<3G;&$D-^|Xl0X_QtRxDA ziYMi#FI<-%h>8{SrDZ07dTl;5D!$qn37zDVF?}9Mfd-_mP$=oY`cNcMVTmx|aRCh! z#n$F7FnYhaIv1~w^(to)<4gv34&R%Uq*MO#I&1cOy`KKw+#~ta72!x~f0opem$2Oq z*2$4cy=;3*goI<$aE)kS+H?v|cYE@?Nl8xXT=umy0?bC}FBRu;v1$Qts4tzZGR`3k z6u0~LD^JeuGj7h}5RYoF5b|NeRk@wd#dnO{B-OU$jJ2 z(#0QH!CNzB2@~0hRtrFob)BG47IN>@v34rq_~>er`2b19>L?$8EJxZmVfo?T1?!iU z6#OHK(H|Xd1q2{Nx&eNT7m=g`#m7h8v`3f9_xy8q@kXtlD>;+@(P>+p9>y|zs| z$0?5Z;6h`zfCi3f!_~%XazsnZ6n^dDlkDc?hN_Usaod{A7}ta=6i#Zs@}Iq&g@FbD zOzJxPmE?ps{iT;CZMB7J$phYZwQOT4s{1guvAnE)QNbs(<@->2O$)19*Sj>5bNAv4 z#P@_rdJGvnUhvW)67@e?vn;*PDG5r}2CC15tC!@>-ph?!c`~BLfQa1!zNj7cf7iT} z1W2-6_iGF3JyS}0sMX;W5QJ>{^S+i`C^01|ZiTV$*-0|Du>vonVlKcSc6QP5P7zJq z>!*w!I`-Ba87;I1jdCtqOm15H$+<2XAzThm-3L$2)s}~tj)t_kXO7FL+$5G|8;fhZ zqiDpsU;VS=UEFZTn)Q+mnjv2d3` z>O!%Q%#@bopS#U22ax!6mc7eWn2^gQ9WuEy>fy^?s`s~wxOAx|qgFqShM`L^mRk5!5`5u%thq-LxO z`gdetC`(K+n-J2z2HSkP=7_#LBQ9JdPa@#*VZ~`B39lY6bOUIfkLhm1zdeww`FTy) zg(y;sk!Ru-!?Z)!A+J|Ldjn3*I)#4P^hJ0I^(=;V<)6ytPT2e#3dJ<`)`t9`JG(H; z#oBC_=FWV~*_L0@%lmtZFlh3(87OXzQQBi2f^Qh)kjhjZenPEJ|BpME)gAT}ZgD02-ImPUM{;*;EwepH*gmMJ(z12jRD#bwXxPP4$z2%}W2#u;a|>YT)p0Yh zjCJ9%nK2{#6e@GWn<+v69E-b0{L>k$^n}QA4&sC^{eC@S(=EW=|0%=-*0_W>Enf%Z z25t5qSILAA-Y6+Bkl)1^`*J(oDMcdCDfT5PYlVQEcOq-GUyTMFt&JydI>w>*II7A; zb%J_P?E3B<|IhyTSiIV8*sLfsG;2QxE^)D(bEhJmGU(x4OkL~o*1cJ^;j>9QdAZt< zgr+IsM^=yUeY4LoLQir)w(Lt0W%ysiKJZkY`#v<)-lpdUR|L6SZ41N4evoq9?;%|R zH^BMMxsm0)Umlr@bll?<6`?9m_S2ORrjxD9pYioplo!pLo5 z;vcOG-8}c!Qqdmq_o4cFOJ7H+pJ`8wgTlcJH-&XyYyUiVm8Bs!(fptx7)58w_zq>P zRZ>Bx&}>TgjFa*#^$LmI!i&4iGiE zNP)rH32IfMla96F^I<071>}MMbQ2~?w9xyfoKU>Chq%!CjBduSEyw`hI4=#`>1~de zlZ7(chRR^6#4skvPKmzOX0j9%{9xcF0Y>hZY|s_2DKPc)z7wXDsWy*cJdx5$>!&*Z zQnDC7Ge+cA4@97vUofZIBhu^^Xg%q}vol|r(7|QpFkb2Db*i!W<)q3~xuv9W#Q{+r zU{nzxH_^O_DOaDxP%!B@AzyP6L=u0y)Y&{LH);EgJfhTF_|14<)V2Pj?zwG%AyCZC zol(fshta}t9#tVgA`lsU>#QEe7LKvZZ*waBqlk$fe-Un4Ti(J-jrpVRQ#(&R572~= z+uVmNy;Hj72PU`Y$6xn{3&`a^B4%tPX1WEEu6C$yem(!d9pGbu%9cCBAqJuGMk`rkd zwq46u5kfh{q(?l4=6Bk_?gy4ijjrrub)X*d+xWEUz3sQ}WsEgU6LUY`m}$Lc+ED6& z739*yPU!R4X&e3>ac9b1kt3>OqJA_yNh^qB*%7WS=iDK_tm1Ojm!R zwJIM}zUT``+!T(|rA<`{MS@dF+hBcpG#=t~P`VbQ&Xp-(^#V&E1Pvdk)EJ6+Sx4Eh zi;aFwnW@|vSDEd$@var!7WnwV3tj5#SFca$s+uT!Wk}K+0iN$#N#&II5Apjkl_z_B z0^^2kgquA5lX}i|Y>W~{@JXHlSM3Ih?rB_poWg5&z;j6|y%2rXGdA+b0`mZUxn|4F zLaW5=xP68qY&qJOfTBDl47CTIY|0D>s$v;kd`A$Fkt%DiJ-$rbE!#=PWat;NjA70f z_y|uLwj7C^0eG*o${Ub;$bAp^fA8{zr)SfPF5wIdw+ zpxx!NAN|4Qrte0EZAprhd}K-^@UGCp$ajv3DQ2);Ak;FHoQW|bJEQC$VY=NL_#fXX7fISfL8mv39Rp6ncv&=`^ z#0bzQ03>5xs+@>l$CbS|=%|DxICu4DK|{caNp{T12c#OWGAoJ)Ty)m_*HxS8rpZ2% zyh*XzU1<8L`Dxo}^}=MXS-D82$~`7H^1$imi)=!YT2_{A`^!xqzwgjDG*_nQ(GrY? zFY!%syrj+`dI?hVV(vXtmno^GuP(=s$HH6tO5ax>`^9z0LS*oAYBGu{#Y>@47_6mq zUL3!<>D4vtW4p2T<-^{mOk>=WW zUZ#6^I4E7GRG>mHcgc`s$?BNq+%X$N^=p&Yt3o;K>LfWgxX@?UOwvo&C$h5ygpta> zNQVM%2<9v^=U?nBUQqq#V*GBzEVXm4nD1$Go6jK<*ZQ8a2g{)tdJ;~+wc;ivtZw^V z{FZrLI;Y!ww%>jXXPUq!WCs$K{$u+pH!{+LPA_;333J1BSVqc>nFr@hTOm=OM;E1Uxx}#u+PdEC(&(Z&%~%yHL!a5aH#O za>B2;_oCoV+(WmrKRhgLP-QM)#uWHCmlmln)q8#fIa4tk z$6Br$s*w2G`wyxS5?_q^hR9>`S_{@m*<(c&{fNbtTbQjnxo0(bv2bbcb{JsX00_3g z+!D?@czCu3pfTk6n`~^jvy5&1_5N>nZQ<>ema5waZ4ZfuN+CjT?-TM3_sA;V6RP|9 z?TU06nT+2uVYEkun<9?K4v5FZ>ko8cX{2TH|Ly;goB5R-$;WK0(bp_HMbcInA6u6I ztT4K?t}gUXRXW>05N^)gYJq(=zAu-nUnXL4kGybWIJTY(Lf)u*51INnl$@y%7Dy|pA`M%%;jk2o{8_$ryyU^t@%M6 z#p9z#rw_N|{MTI$85V55Z~M}Czrc0FO+%p0kvLtF-edId?fX2=wYL3erY{ zIq!3_E-$>C&&TXH`%Ac0e$2#^*{-PW%YoY7Keg%$pdn&GDFTt>4|wc^=>+e@3Q(%d zqk>AS>3AH=NP>D~+Rwh5*YNcet9S8=a#Ra7&h-yW+43_5T?8Zi5q5dM!C!9eN>^k? zjkA89yIc_~H{>1pXY#M3_n!r~CQELMne~fI(3|+m4C&vSQ^C3mSgUb^HJ-aw!5CK7Ut3JDk^?|G5ECTFWYG^zHCd=Z;}%)c5Z;) z-vi!*9Hd8S?*4|D?zsWDdJ0GRNQqB$lV=HE3j9R^ku+3M>Y6;=7CTV{4(5;+f<~{V zc>+B=ns9R+Lpy{yJ*smGwElyiK2S6<0?hNnVx99b z=Isj3bv{Vy^IADjgc_I=;>Ov*f_L*vaH#}0D(DaDr zInJ>C!VP7JyeB+8ShyMUBH*P0O_BFMSIB6SOW=bC2;nMXq@1h-Wo9O4PCr2m17X?Z zF3o0gL;kpiSW=4#M_A@<)Q;fc4+Y;A{!DDu=EjEVJ^&h0&riCS*~Y7)Tzs6Q%8F41 zGDV02X>OhBzD~x))yb0lSsIo+RS^{bx5namn(DKO*N&|79c-U{ulv^VZj71?PZpZ` zl(|gpR6cFF8BGpypo6Bc~s&_-w zC2te>O<=;Vq1nk}KCYLIL?I|`t2l|th1>U$n%=%QPBviC?~dhPVWEDyGpe816X!t1W`O3Ew zEY^lFWft1h@x624=Q_9~^_7yptEAymoU(tv!S1|k8XcGK-r64ihdzQ1_VCWV7stc^ zY|b)NG+j{MSUMN_jZI#51PoT_TF#t3|No!*|5dyO!bnjUv_LS~N77FQ?`N0bEU=8PqX5GcvVk{)J~oAGpf5+CauKu!idsiAB5R|gE}ZH zL5?aZUGH@RhMA%1YZ!}!k!ta=nGE) z-mkj3&wIC5Ve{&Mxa-cxFr?1)cL8LxD8uulVN1FWL`y#6%t4fN0{oggsN zVE%HA3_z2GA$&2sro71IxUKwa*=R0BDGgviaj{LR^4{XZv@L-xL8X|#mU8WLT796k zyB}vQLL#o{cXb_-B!gs}_X$Zy62AuVqwY_4;!TBFu=&y^4Q~a&)U(YmJ3O=tF$@uFIPR-$&T!h4}-GWXek+&j?Ro zX$CeJlIwB92Q+9LG=f`5YQ8!c7{uEh25DF#8RW)Ge6zw0;Iihdn+A_5r=br`KDbR# z5`Zsn(yM2Fq`zdpSIdwz{Udg^SWihiKV$kh-|zp{NEc36SMJG7s-w=45&TttB~|(l zp;E5tv1Qw|{=)0qy4uznadMX3gx7Dq0eeAXcI4DPsbAHuT^tvu!H(TN613~P_^zc# zD4^)V3%aHnw;DG=Y2Gi~$6IyrBNb~IEVRv*=7%o*epMx2U;m90%MnV`(kikSqk1hF z*5gMXYz%!7XvRer8y|0M({uay6^ z?v8i+RKNXYM4aXr+Jo)D21vFNz1`G*wSc`e8JQbz@@8UKNRY3@NN(P}RT#3@Ekn&ry90dxH>0z;_8 zlJhL#do0rSDh7GJpX557xrvjC-N^>Ykx@8y!7^pc0%Z}=(&x9G;o6-T7q%G?e!Iz0 zyO)4NUxlVBpU+ak%)&zTNeyV4pR&3*LcaIbKsrwbnX+S%S}q z2V;I^m0PG-6b(m14_~}m7{784>8Ij4H^L9!NfB!(@#sShhT#nUnI_RP;;JHJuIpil?9#jy1+w;$Rno5A6UwT3k0EGt?aRVo#-*Q3gQ=$7$2r>H zb6wAJn@AJ9%Zk(Qzg?)Ic`Q7&kC*`I@aP7^F`t_!DHUpKm`O7bU6ZzEO7p-eHF_jM zM5%Q1L3tBFjsa=U(+8^Iztxy2n?xXaMp=drGc2P9#+eA>r>fYP;^7g95#Lcl^{v#u z#Z@(@6mp6Fc+KSW^rK5(9yl_&Qi`m!tg-%lcX5n+cu8G99+wJee=ov*rROm#>Zx`UWd>*Qj2HLLZNJ2guq zsxkEoLXGx{Kadh(2qA&_rO>eHLJZ1njb}!iAo0lF_0>t!L)1$93k|p1)DmO>VTNo& z-rSEIhwtz1ti6e8tUk@Uv-fT&0&{=k6^7>CrH=u@A%Ay4c^79Z4*Cb?_Hyq-Mq@Tz zNrn9K6PfHc9|&xgD;AV941E<}dfUttyX53qJ1+U@X@`dtQyCN`oF0aN5b41ANvqO6 zf@lLV(<{!139w=#OM>6xGNu2KpQ@4hOhGT2zGOwnu|M#sMOm<-Pw1qlq z+KQqk?_we-bIhxG8ZT^85AahtqK9%y0YvQkg>i3Fe46l2)6_UHOZ%s@A0sNF${!?c z9{ko1pcA3%+^4_(QK3tm>#YMDfML{(AVY4-}lu@Fr8-RjwnOU}h2m$Pe-_gvBq zE5#e`7-JU;^AU83YifzMBtg`t{r~K7#xGh>;{Di?*>A6_b|I;iQ(m{+9qDF?PkSU!Gi zpo~DI?r&*9BP+$&=Uxv)z<{pmDvwhueoOO=s40=JxN~mD05c_=h$whnJ4%d|$t0g< z(I>}cANyQaPw_!yxC>Z+uB8_i<$_FeBO;!EBvJhCy4vAZ_xCb{lw< zrnVb>fE;$uq{HJUOh5n~3CKF&S{O%Xm;MZHQQDp;ujH9Pdf|SzaMo%NTdZ7>0Zfwg zh<lK@RV87r&<`lfCUjD**C zc@Iu5DgBNOes*@J1By;Z`RkTP++Qil(*1#eogOdkoGpzl&KFxlT;O5T*JD{!*S-ZH zPl-3t-D(Ml@08huOnFD$U7^mMG{LEE2FeGcp(@Qhb%R}bJ^RR6zt`)0`lBG2Yw(d- zntUm91O3l$5@AIJ(xh!_W6T;lKeV0vRyVr*+@Oe{O^vUl10t|~)m8?#lk#oYJ!_K6~^Eovv!X~<{{ zDS*ycYTdj4viHv-JP|SGaac?U>)D<3>)@MA0(UqWeM5eyrkaum6Kyq3m$cvHC7{={Y92$LU1RQ8jkTDQ@B{^{F{=o|ysD!z}; zj`5B$`bHm&ybEqA*gFF1o1iY`X$w-v8sLIKJ((@ZuSwYpVg;QdUPJJAFIrgCajqQ; zQgCzX3gwqA>+d;R5$YyTog+d1}75J&wAR7 zy7~8%BAfPk0C@!Y)aRkap*ELS<^nMWLd+W_USbvUGKT51bVmB-FX-*?IEPNdADTKf z&2u-^<#L51xLTgkpIm0nL+iv0vseA?U7U@< z{@s+q(qP;2^KWdr6^gVDA1duEg`m7oB4h1Uy}9dE0Z|ccI`nj*Q zxEQ-Hl{98zW>NytIA7rQasV>$P6eIVw<}7I;*`AzsQcGN9vP1hN0NvOnb|PWi{Q%% zdAqFIgiY_Yc|TTMN`1VR`uD7D3^cE{u4by^jLM0k=10zjNCZ$*IX8@12Vb5%Z^$29 z1lhh^D1N9~hbC`I*^(naLia~w_iXwD{px$=W#88CJ938Ua_X*~@0-!NLJeQ^Ab`el zhBTs<89Ai>>PU`o&>}D1XnI-R*@d=Y$y`11=6<@_`+Pi4f>7<~AFOB>^S>-ms4hZm z?M)$*GtM4HtK%(iaw8g`J?ca41MYfUN8ocB45Ii!m^WVFm0F?3w)dmPmsK*FALVHT24VLM2$_lcj9R5tD>oULbnp`m>S_CI&mP9u8J6BCBU!vDNjm1esqdxxO zvVZsdm@g&wK{zP$;IDK70n3-`k{(*<12%o?Bz=jd0tknLSBaPU%Ujs!w}o2$$M8f6 zK8v@@Ws<3NJS7Foy4)S>dX6nL(!`{^#F@WUa3y5h@0{xXM37mEVUMO_71LD^o##Qes0`jV1e z!Ar+pVR8-lqO2u(ZHTGuo+Z7|9B>R-8+I6!wi6Fz}Lu89h$ z-WmauU6WRXQD5G*$u%$I9WVG1HZ4OCx8HGELF|b_!C(BB&#(^mawK4xH*}BE$tnMF z>uzT@Y@Xb_le0{sd6Y(7k>#LxA{VtIpquZjwH}mK;QG{5-pRoLYr>IbTm3Jw`CY?u z#E5%i3wo^blkoK1axc^&`Yl-y-vI2hIMj#hi?L#(WRjPoG)!J>E>^bGV6%6JFxIve%Ko*{V6QeF2PHHgo+nh6 z!D?{B10&ARM2dzVc-7+RdJwC^Db+k4wAs-R6GK>Sm^!E(_4+E+goTaFvO5rZi5>Ndt|BwU4*fc}WUEBjasb zWdHMrwEjzx(Z}GDvKG8~$YA+7q}CIU{nF3%bZM^^8b&zX@FtzGuRdZ>PjB5u*AKA| zn-BVB=dJ4nS|EL$Xd0@TwXYdH@de|*{$?gDqo*TI`2gjU%L@(m05!;c*OT&tzRQZquW-Lb0lr>_(*Bf6~zu9-$lyDK`i*VTGrbIYuXahbl`AKrv{q3mnBi1{AD zp0q)ij7mub-0_v$Jr@e<(KXG0>m)Qz15Noz^;Sdm6`5T&M;^gNgUb?_#3ly|x}L0} zauV2foSv@#xA6B>rw0r}uUqkWU5)rxRUh}?FOqri`XYAUK1 zgEY9_EZR2v71?>y7VX)4nxr+u4A{(uMZULq=l%Z#Xa9#-;Xl;U6Yi^+@x)T%NRf5G zDCUYJXN6j&4`)7;F4%2?;WjDS>X=9tcI5P|ZKpnJ#nd{@Kqo?H)E`Xr8Qc<74M&r~ zmYSCm9}0&?;`>XW2iBb~AQa+V_e<}zv+VGLd^vPs$4(T;+o~e2(+I7y+~P3j-V*bD zS~1~AbP@|rVx?^FC+yeRBzt(GK6%0M%~@z$?7h;zJ)fPJ1SZ>+d{=5NmW$&mNVB^O zm6RGqOoq2c!vL5^td{&HTQqxs1Xw56BN$aUuKs{8cWR_djY!G9l;%wRr52+@fWG)Y z^Hf(=h|h2YsI}1ENyfd1%$l!haU>K^JT43tlc4dFLv*{M9FQ#@&hW;0Q&L`Q!S}b> zrH-IRElv3=m>%xaFL_c8qzUOH$}GU9z7t(@0aOJ}$HeFzIL@_ z?CT9n@5>K3Cj$Et%R0D;bgC+8Z5FC&#ei9K60w=93t65cZoQJ(Ksb=8E!GgIc%jD78d9t6c_Qri;EMielw zTtFNjBm^(dD}EH960={6J8d`Ff+75L!lb*Pjh zu7AaEK(x96&RJ=`l*t)fm3c6mj=Tc>uSCVRi}-Vw?d==9kvNTJy%Y47?n1r>^Iv%?Fcxv|+N+Wg}$cnl=2$C}70X1{a1% z1oUU}badoj+%XHQvIT@arzqsGrWO3~G?}#8pWH2^{**8J4SNwk@_0bBlHKQxj9&KZ zzunZt5EC1LaWcs7BHpUo%?HUSVc?S@=C$>;apxilqh|A4E`M;^@d0eHwrGY zGOr#!*3r>ssY8G$lTUnRR^Ldwh=_dkrxt7{^ykpMG4$C5@Qr$3k=svuq%^4EidNxh zEN&eC#IZLnbe(nbTT;khNvIqlzHAwDy1U&xnGF(H z)z3a>WkqZ!`UXA-4uoEPk_WfP2P4j*WCPRWUc?^2f||m?&Jnc?fl7M3!i+`x(8?O` zzOBB!MQFy{{B&f(6Vrd`Eb#ku76LHl`py=u#e0qQ7(|!W4lal_z~_P`2Qxm1O=SS` z=s$>!z60iUeY2E$ugkE%_}H8dE6_Y-Z(kb39;NO4I(!QY=7ZA;3zsBT{`8RrK6iGB zS4y#lRCP?>og+zp7CPms(qk_s>xLDoeJ}5%O1KQ-!0$PIJxRM$oI6~E3wU_9 zWHj;ih_}8O8TFQ_o2|vg4G-Ysy!~>WHQwn7Oslh9IO5OsH&)5pB6rCU2<5eNFl7$* zp=7y2`YIcUibo=~GQWuGg9maORj^4YLOyw6h5mem5WM_#eYKO!z-K7#jIcA9Py^IQ z5=2bt$r2_rEMDApe$D;*Q$$2$NcD#XFB@OqOJi7m{3&6M0zFDo5W3id;BaTaFHuL$ zq*NQ*a)*_wtUsriEGL-NkD*8xUp6$Euc0$CUR>qZovQk07rkQE`MsvLH2r${y^TeerXh>wX^;py z%3G;ipyhyL%-`5?7^Pxz$#2X~pH7VhfBx-M9o8&xT-H1*5@bB!kQ zkLKqmom+zEG*t$>8>807kE3N1wiSQ)@ZyS!B=XUJ5g*9?uV%VlV9v;mP)-0|iDfMo zDf&q%;J`E$)3aj5F=&VzL7TR!UKqvE^uVmn#~{Do4QUBn7fw`wrYCFLmJQ2>TQp+Y zD3*NNlpWb-{7~SDH>5gZ@+9%5niG@m8(d>C9JBYv^z2@ERDCsX4DYwB!nR}J_5TmU zmI@swdW3&qLzfTz@+G@V==)aU4}SS~g3n7N@jX?Ik*qR;rYvv#z=Q@z5{4)S6i5>t zI!K2pwlGZ+_=DAWU`t2ZM+C3mE=nUGCl4%on_{p5{+BA~womvUJxUiT^ECl-KdWZ* z-Y~1knUjFoeKQ-%4Zly?AiigeIzXmbh_-6NQU|o>2q>(%OFa6&RaH|!eU%Q7;PDQx zg4}O--l?=2Z+KAYiJk_gq>q3)>~_qP-;^7?p8C{P;oFv{nAt|Tj684UrblLIrkWRy z9w&S9%tk1=5ypj?@$u$ONf(UU*m)XB(MYF}{22i#l;9UKPdWlzQo}hS1Oh`NXr)G> zaWh)gB@pW54TToT0AT}wrE{;#Hobtvc1ro?#ZX)sm0aE@G4B6ngu-g<0NVWf$yL5e z2{1glQPmRzl|&ui3kBZ1XcOag{qA2+mex}?-HwlcN?QMu-v5qS%DV;7;P3}u*GFEq zan2?-eC-&}3M2OCRN^S0QKHTSDnMLiTsb(^dUsf(S@Sq~=~Y2Ohy=5(ub!UrUDf6* zU&>x{M+XXKx$)WSXTy{LOyMBHFFRj(Mx91Df_QGX49^Qku%4M{jX4tNZce?7bh%V z{nf>za#yAYjAe2Uf`=R`E+#! zBT023d%1M{AN-~ldzMu$7ooU~bJ+Wa&eQLU$SCJt)osGpZrlSj`LSrMzkJJ5o3F5u z?0fjpz%}m7zIJb>@x;j?*mg$?4$sPWuY^>gvV5h$CI~(4+B2dCh3uaez6TI;=OREk!IubXzH!e}HE4KranzdBu*T2rG*0%egdgz3N1hOpLO zC1dY@He$rpX9dvowkUJgc|2{Yi>ikGrd7WC-EjrrAf8SVo=j3AhI>C2irTy$@dvxt z*7tOBP4ChP`6%M$TH?oswu7X7=tLt)Nqf#76r5EmO|1lBe^b2O(Cc5R+~>`92WAxe z;DBqix=8_5GddS6a-Hw86juo4R@z6rj}}BCba)Fbi+oZU_r}Ooe$?9ZqI?+R*B_#i zrglflIdM3=6KtnBFWmj>kIn&)MV6|~7Tps|^X_lLHLwkmN|v}*_ez_ zhgWzyF*~7euiu5*1a-mfaulA#ce=x>uWddHUHV4~mHu>>>2bP*=^-Ee6DRt(YF4(n(}zldvjF#Co% z`U&Ag_ZYWr{$%LmX3(C5&FjZ4@}o!)Z%KEv&t%kS+U zN}XhO;PcoVLy(92iAMU$V)m%mHDvWh{V=TxdbICL_orIrVc!7yUo0pLc9i+V^J^)2 zn;N$f@ubsGeR$t^yk6EB$A!}{z<~E7cyZ>Z#Q{pkiR^|}V{?XGve=3!+ku2d=Rw)X z*FSM0UGYCJHspJ^6;D=lYjP?do_CV*H&~xILTI|08YF zQ{y9PBB&4&MXLi^UNjN^o)#>_U8KN)Mu-`HA%I$(BxBYy^{WeL>4=zi=RHPmr0JEA zzMiQo9BgdvK>L10)@H1tI6<_iI$>LC`{2MA>cZmo*#)~$@`4F-YNNd;q~xZMgZ*_h zviU}{sdp+J>Uzm2+ZISO2D`@m$OwVHwd#bgefXh`SFU}i=#HRZZcMvQTpIZ}gt5Do zk;RV$$B^zVZ=+4t@+QHE|H`_7$zht}E4!ze#KOA}H{TBlxNObr=b>|}JB~k*duo%h zx+li9ADX2+LcPzYU1kg*((?ALD~ZV`F=cR8TwL~0)xf0X;CBKVnt1<^=;Dwv{1+L+ z)SH%NtjDT55fZcI6@xKD^F@9@Q!gq_Wo&fWB7UrMm^tnqd4Ho$`YRpal z2@i1OjQx2?`L%Z98zAXq(BN zb`a!4sw%2FXJ-w~h7t|u8iR1&ebQ<+`O6RETFxz;va%==h0e{in$nj4&rkHD@2IdHh^j=1^vUuh)0RhMY%RGH|^bngm}5Xw|F5re2SHbou_iu0nPF zUz11U0jo6Xd=v*dRDz+w0%Oo+1>nq5r&kTeL<|iT&a$uUx*zSz1^oN7nDs1LvqNUT z{3Qy>{HHllDQ!Fw>7rT#f2vz8@;W11-8l9fJDt@b_j-P4==)Fn3Dd^ZB^{5jl z8LMe`5!ruU=TpmGRJWK=Z+RPI*4mBO5RNcv!@IZXU-U z8R2+VUUNjX&eEm^9}%hiR`Xi4{WQHeLml#)CSNVJp}a|MTfg4b6mK?};k2X=`QIMT z%u69y7MEd~SPCGJBD}7#O-slbrvFI_Z#6<^EKGW=e(^HsMRl>KU-L!@^`pFWD;zE3 zq@#8tTiYlMQ$tmvuWS$BhJF1pY8*|+FWHbzP4eDjU}usv{(MwX5-B>VL}7KYVp-g51{>MEGa-;l9`Wck?5Z#iJaOw7s`TX zuG_BJwgd>g%tIanew#GYR*5n8zN3ecdsMr2lRc(1>Y%z=Nxr6SDA?GE%mq!v#<{w@ zpVM!>&yRpl^k($+_7fm`@96u(3e@9rev6+Z{mo`P@M6#5Z(5XyEG0r&4|_Qu_Nb+K z5he-X^Jj~qQU%IHBL;NYFggm0bAf|^irx)|xq)=1n!VJDxY*{H%$7629tB*$b*8Kr zd6pwm9XjTUs(XvHSn8OpakX;IY!Rxjv{PJJZH)Fj(Si~k`&{(USNWreF+6XW0q1Am zl!Mf2rpU~;^Q`3J=??jmi6?z>tdEDCcYbYzA?Cx1=B0)`+WiS-f4&HUK8#=HKJYiz zdwudq{%AgkH)vpE-9jZwp@eQEiJJDpVImgW=)4c6+M}R&=u0Ov zjJDw2V4_I2dko1V#bT&z6%DYAM$acRHd-W?g_4X)vDvXh zJK{#E_h-uK{}^b{>t>yo@zk|*#g{g52?+eCJ5sp$#_F!{t`=)iCtG>3uzmTB`G=Ve zsN2f!RoCUu#9*ljtaiTrwZo4_i~J7`MBP~~G2Q0Y=V9d^*T$PUy)&1>qrSVY0lj1y zYU(=4GST7NE|{LZ1gOunaOGM@&L#>UdN&+^^4;OP)KOg2G1(5i+&=2Tfp4k!!b-Z) zIr;TJ@xIXV2nWIYK|N{c194rs-8MxU(YqNY3=V?==0oomwk)OK@;AG`$57C}OG2nn z!WVN<@lgLYJaa?_IBY7~{yXLv+lh4Pr$=|bkH?sIFG6h^(ZtqE4L)sd192@`Lp3S0 zhp$MTheL3wo~fhmmVvbp7mYA2jd0z{;V`q2FY&kT4<$QH^L4zxuT(kZ2Mnh54I=RJ zab{uny?>OL{z6sPgPuErgo_rEkJk&**$2_SwfNG$jZei_61Kd=ZKaX2;fOqz(JIPO zP*lQv@{Xa3{#(4>jev;Huqoc1@~^t;NYWntX5XWwhe4KE>0hJy$F*;*;=G?pIlOxp zdOWTJ&X)XtjN<>9VLMRfJwNV#P42Z>P*z)0 zlTv3k?B3)7;Iv{j-4+WivCD{NUUWB@+>+MBCwodKvE6-i_LNwME27oA@yKNJlMQAf`q5Am3%6`8YwVXGLBiE|ZlW(^9 zDwv)Y25T960YyRekosW?c5)-mF}H#V-5kRF}KDD@|qG5+5;p$6R@erSu=R@z~yoUXS7TKHG(kq#{iMe zcNs91K&>cWGH^lQC}Otizkde8+cXuqi8xWXFmQLyA=#J5vz>Dk-fnqYALmPWFymk6 z_ki??J(F72w9(sL;0yN?NCr$P?2txKS%SWo#dv8rFM2@u#)4i6@aaKP`l&$5yEcM# z?N%LZ2S8u$=oS5QON}`c7t)ZY=hfTat7WeaVRHhRbtlUzVzG6<>}|LWe#2A-OFSWs zxe)`i*}t=N9!66CAq!Bc>L&7z(REkmC6aajJNn*NAK0G`0jjp^NJ=YFAXMYYnecQ%K#7{Gj1{`c&#??zwd~Bj5mK)JVoTtg_ z?r&n%=k%~hUIsOKut%o;Aq=LeH`xkPrSK0f;IXz!-+TRiQu4y{eYhN;L z16oxjsg8;Y<6YH|oa;TqZmHXo)trRtF*K|8&PU&x$>=Dj@JyC@9u+hMTGbBNnQY>B zNj)KE8v%pJSTh^ENEX1~?1R_mg zjhvk1mg4Sv|A*4mWy)}mYfZ5 zfe&>W<_wF?a19JDn&t;PY4Q`oKygayYV<#Vm9lP_o&$uOZ z3`__)oZTh^aC^aZB|Et`cL|ezVi*WMD{{WM;db+b$lm&p`M+rWr$1vn(PlNdyPL&{ zy{T%*!v;RO>gSZLCw2G!$`CC18w2!If{whJ?>J6umiW}~5b+5j2g2&$P`Ga57SBKJTVY=QAcC~Gs>K+uP;9OnzXIOpYc z)lrh>-w`BzT{l}&%g)9N%D zEk+p<5#MwJTsNMtb@)Pq#{<#Vixa*Fny7qLOflP3#!1Vg6J?4B?(4?>n3Lgnh^9 z7Hp34FLZnU)5m|_@&GE1#w^&!v=jyc<=jk>Gm=v_Eg{>afEkE+%!bo;?vwh(u?C6I z5Q-iro;s(R>h-IJ#YVT;;4s<`RiI*^Ce#&vNv1X%tCY{!`s%G5j@8P&~_G-ZYu>SwwJ^I(Y z=We$9D&{IdAc$qHY46^jz$LdQ?KDrjC=`t62qw`4tBz0e(P}zK>j%^SDGo+F8-=Ru z`cMOWp_FW-`|$N?KHv~eJ#NkG@p5Ilb{s`Fx+Y>WaHq%tdl^|MS>W)>dAnZpy>3nw zsqIVZHqtCUj4t2Phd?oVuj8zNUdx&WnzHC|9t2;`v&7w|(PF){-2XnSpE84@$H(`q z7X?a7!ZyN8-DI5`Y3x+^3ZD(Hl5Wk@IgdXNi}kKkBvw$v6dxN>6qH2#e4aB>zaz-^ zYUr1~T}zt8r`Yh9jxGIOME=xaqriV#ctHfY4S2c{I$01!y!nVT9CF5p}*KapOMQP0o%2n zlC1aGp5j)VMB+^%{J%6^g#Z;FXQ{YW>s@pz3umj48c!KpHYFCaoAUWi;C$_*%Y z3at{*4Dxvw8PTX`8<1n>*hu3@?VnmLYMTF$GipLGwlK{71B+{DgAl!u!L#}UM>=2m zWlQ7vS3=?aA7?54a4}i38_7y6lr*mBFH+KGuh5%3mfCNg-VqV~?Wv8o>zqVJ9vvax z?%M0-5lVCB#J3%m_hehPEnUcDzSut%Jf1_r>5@w{BcP!XU==oMVDP+#&5Q2gwGAu# z32)BSh%dE|v&OXnutzNu11QIBX;rGo(VCMQI01N1B&tTG7VtDed(;gm*_k9( zBt!1n@GXi*(*E(TEPa>ale+(6oFm#tD^H;>4U6!735`dh^~UvqcssF52&ASZI+dm< zL#Q^>A)+$uL^_|(NHj{+GyDl&767ptR4cR2XL8y{9R7=ZA~s$7WDTbXe|=7+M*3OW zQI0pi&kJY}mva^o$6;hjFpyqgID=$Rt}1v*BBS+|Wy3Y^0hzU~Ea5OMO!Hw_+$p@z z+vXE}My+O!qDq6w?n43V2u2>0dj(Hlwc;?K+3r2OKw0)QkJNE>Po^np?AEozE$cR& z#Y$>T7?|&VWHn(Dv!OPIyHfvl-$}0T=4EeCxVOZ_)S=ZXXBNH??A*uF&PukO;{PK1z5vBuZ**7MLML*PFPehy4yzMUQ& z^d#xKf!v_xcsl#tj~oOPpV-F_L(N{c{$pM`z?oq+SU>aBNX&h7&BTVqz~pY%@V*_h zyccM>L%fPZ6i7o%B=W->GGIqr2|j_Y00qc@QKJ5^$ScbL1yewta&>VCo6^tL^!oRq zS(SJt!cz*=c(_d2k2QQj!rYju@&Z!&NK$^m7|n*pX9RgZ<`*u+#g~8W7NGf4Qj2kQh)P)xF{!GhX)kf1(Pd3WPCbcqeC7(2-|veiX5xWO5?T@A@#ejD{{6{n{6)hs z5Un^|V98udkEe&Pzas9@z+e(>wUyT3qy>^;sgWhLZyBS=I7uo){!O48N_-l z@2|GM$%G2}^I%WaE7u6#@a!*iDKT~{MJvb2B{~r~`!NRnRRQ1aA?OSJ1&g&JL|Cl$ z0+2IZlqqy5HT;{L$^9?rgNw_%>c%2eB91>CrgWT%{p@+XqhnPR8HmyHt*xJS>Il9i zn`^f^h&sfV>;x*^{`VzyW0!D!cXv9|4qWI11gl|ucCf00_!EBZA%9taZ4i95LM$F` za94eJg;^hGLAs4GqPyKHab}&$wZ@6WqDXLuH-jX~SE)X|EPrmX#+M)wKYvch#BQHn zc<`On+OMgptY><1A-F)zc*Azna@*uC{gV}h>}YACWONnc#7-gP^?rl(%%j66F&KC003D!C=cW6_ z0|no=`Bg%rUe+ejr{(hOn}i3PB}x;J88^67u=0x=R{mYq}aIk0jW zm9%yvi>fn1Usg}8t=T;VzhV3iaegG0EUetG+EE$fTETJAbO zXxtH)HziZaw*bq@aE;1xGJ>U#QwCNv?*v+AysX&vl*Ru8%OL$?otpilH^8+q$o%Ms zGKwPgR`40otq=>3+5mySO=^j?U5rkR7ilI$VYk4P=q8)1$PkF(}|^MeC~( z81b^+_v{1L2+jy;3Oxdue<@d%Zw90I|51UU(+o3^)s|>pR)j<&|4H&#N0xbgM z8`FN@UixPIXxzwbF={d@g3U#An4AsYdy&aKF0#bQZGb z&}gNk#n8{7$DhI4z^_G|9!8|Zc>raX$WcF?L=Zr6(yS0lzAjl#6A~015aO{ z(_0wF7s8ZIZVOLD#Tf!^bJ>#7;&e(+sBl&dHWwZcnz1)lYHa(FIyZGBfo>l@9 zt0U1wKB-e9-UZ8vLtL`XKD1#|7a%*isOX_NNWd|8$2J5O2zR(9qJcUhhDc}&5<`7q$_ZQ-Pvw&M70F;arY?W%a!()K^oL2d#kPKB0X6C_U>!WK4osW} zz$F96r!gT7%Wi~!l1qGC6*D#C?BCfLhCrqUhv9*GNlp?mq)`wb9Y>`1!VA;04>F`frdDDMX;dc-RPZFX8^gdRxP zGCN`Nb3bQ}(Hg2>X2DZn$-aof(Sh;t|ve>t_2A&pnxD}b`I22TH0a#)}#NzXwmgbp5g+(2zTyXl#=>7p8Xrs zaUb$Bt5@Xz?~OIRwV+9{=uroU7;HFrboliv!(4Z|?H9Z;>Qz=p!je#fC)akTqB-Kw z0xd?VVV=YT7uyHtO_uPAYF)hb+~v`+?R(iUjmzYEucxc;luwEW!KYl|+Blv8UzL98 zj24(=@TnR&Gs}r&;Q$ysy4^VTa)sj$SCoFBiUyI+i#FyK+EVj?7xjj|1Bol;qw2bY zTQ<%7d>%>Jt;=A%BCyY)HB0O2!#@V5U*0uyKQ?I*t5$W&NT(|{lPPMI-+Sy;*~NU% zmoXoL-A@2v_g{of|72>CxA6^97oM*C;8FX;<~@q^SVm=fB~QcX9>XCk`B5d4Z`y5Q zXxbH1N9l&o%^}O9SwCwhQ?qjg9=u9E;(}4*&Y{HJLeCyC(I(~{^>QA`$ znnLe}--sV|aC`K|?#=Ed)G@PX+8L(9bTFw6GmfEH+*QSK&6eD+CEc1jKU*-(E#@Wc zyK(Lzv`kKEpLbdn zOW3LWwxd$g&R`X7%FwKN;jipu#r;Id=R7?L=cHlN=Tla-|w8q_xuaHAMg8p z@48;E=W`u|Ui@_AOEEi5N*G^nWfud%jaFCz3Z!y^S645-iG7Os8g8FYug~(fyfu^x zO-EL)1I_yb&>zrPBKKjkxN-4etOSrY2{jqKbSg!rIH&dXK70H0k<`}NH`Gd0Cn;;g zzT#^>?w1QDYagl3{S<{~qrS0~giJYF{*eR~-?V=P5q=~$-<9B_SnPp>{;4TTHYvGQ z!OuHTA~U3fx6&VIM!dr1k^NGpG&t#IlMg&cagUi+N0T6+dHbZ!&QPQU71ON4&7Gf_ zCa_JsLCBk&PU&mEMe{e0cz9Ttfc^pFY8PTo(#|Nc#zir!6R+^WB#3pRY>1~R1icSx zwklL-?<*qL$~2D1c`-bpnTb~}pIif|!1J9t(*eZOD?pRA6X{heN3Eac@DfUKb`*%_ zIPm8Y$CE!B=>2IvOq*`=Y~h)9{?1Fy#b>Sb0w%o@gQ5mJn!9D)vTsje{867VX-FyibS%Yxh44K%QXN0kC!I%_feoNtSQ6-9&w#LH|SS0<7 zEA*GP5nHALo%sB7$nw}$lNKSP)>$bwxyPyaH0#njUH;i+TC9og9x@`%lE1&tT*owJ z37_0B6-~Uk4fr!v%JlP3@{*>AYLDQ;tTKMC-ADc}0rx=#f+K!l3{JtKT+zy12Ud1P zRgqdRz;V&X;}Ohh4UffAF^o%z#a*2^m`d0&ryL`xbd7q>r%p~%j#GX&f13KR-|lOG z+?P`;{3c9@ASgxX<;xGcaJ%q#!!UcH|@U_uel(6j4DW^1;b zeGWMNcTG_qO&Z+#a?~phFV3+{16Jnt`LAT>o5%qWZ<#~26+#cFtQpR*?qPtdU(F2k z2-wD$JC&^<0Y%CRlSlXiU$5>?LI?Pe4TlN#CIK*}UJs;Ya4*uAdsZB>{qfP_dd98D z;(6We(l-yQ4_FUEL4UV~weRp2=i1e!4z@DdDh~Qr)Fe#rl$%zkjbae;>VQ`ZzZ#am zbaKqnW$8jhZ?}qmTqrL{E$U1NzxE!Oo;GqG{(vW!_bSWxph3QVePZhh;O=|2rTV~} zsy_$_3ko_UDBNqMRzf;Q7%7%N#MABJ1LfJ$2;9Y;{O!|J9-ziUH{3TWj1~s@3Me9% zx8zn$J6L~m^B8*Aadh{2u9|3x)xm6u5SI4N^EWO?7mTdVx9RUrFAmr-9k)ITf8L(V z8bvQ@4W{TvFRW;)9ON`cx{LW8*dQptGLYh_F`D6YOU-i+#VVK&%2nH`T3g8?Z_8jT z2cQoq2J?vfxaIN3l+vWs>YAFKU%vs%w$TbvrBnAb|L~#sv6A4EzZq)K@Z7`4Xc*op zJa}!N>%$o1;g&Z;yG&~W))xP%SwvsiG()sAr-&ozVd+Jyl~oGpjlc}rTnx&CtL5MP z&GwJF+j@8_^U`$7oHTa@_(O@hZ%Gd#>jI`OOxHboQV|xSqh-0B0(v!Dg`%4mB0SSj zD1S|7%|iQkDT%P=!fC+uR!NaW!bXG4mu+Xx6h7?^nlFyA4iuRndCUX5Gv>Ga-c(+G)H zla^wdu|5|es4nI4LQAILtw+Y{y8lu>YuA5wcavd(r;^uLY5NWRhMv{i*)X7@eD}$J zLY|c^`^-rT+v&mBgUwoqf*}k3$Et#+B`QI4#~4!nmyHfNtQPI0vsa|DIN;2;f=;I$ zJ?o}F$huG6zL|5$aT({HzNUr(1BA;zN6MNVt-|90Vlqc^RIM^%etwju77!%t3|xLbBX*bF^1N9?68~E2a#Au z#A(d!b!&p(tsF-A_mT<;RS8v6IAmy?$39DlGG{Mzj^FUf(74mNO^kp+oawB;` zAV}IS>fi;#`|tB<^tjm&UNxV~eF6W{jz>jR74%LIw+USf`JV|c&LlUTlR1N%-5$J? zYI_t#r?@L;x4YsYnronxr}(dw=A@}2*P4*Q;zZAz<{it1vGDOL)(iV@Y-4Zy0khNL zCVxi!v)z|}X`hJAawoAQZgmn#MJz=ezXjz(>a~CBI0_MGf#uNpI}|C(a)$B@-h~#! z7A0~sdeT{y8F`w8682v~=5OWvBO)~^ogl3Y>Q!U~6l2AOmZy`sCHM|zGOkbA(JA^w zr4F<(S_6kE{(%Q%lm#rU?V1wYRK-~&E$LIQCVZmQq$(H#z}LCP`lN`cXI1N|Sq;G* zc`6B$zC1Lg``|+j_tasUVU0n&GLh{`MWPRQI0(*c#zm&aTtb>&odX_Xt5_MD1g=a@ z#@_UaDjHQr@|Z~h<3-cO#oKcqf=?Nxakb zR4UpdxuWb!Zd{3dNlfK>D`_CCX(D(u6=f+tOp3zB>bR;-8E{F|wOxBhKA4f_0?DVM zomo>rZysTbXHRw*woH#ae+kL~yhHJq@BOjwAfsxR(TNlBa2tMubaHih)z% zyw$EGfc3%8!(n-K+^JQdEvbK9e9Xl&I-j@rd@k*KI0FwoU1_^UDVjt9o|BFL2Hj zFjM#3BF87_GQRH=fu%?lVUp3G^!kFOr#81`PDAVBK!*$tlcy7Y8~s}t=~T_k7nigSMhBH%#%4Zf*%I$sP5wu}EsM)wseJHJsR&egqmx@b zeTjZtE#Sb!upEjf=2jCDr!o@huwUyw(VOjY&nDGRQ{fzkAW^43Sb06O2Ipi7!i)4yT!&_GVFY z5u5R?A@t8n=a4tD&iW|I*NJ^^Bx!M-fgEv6W~g|3Qm9l#%h}%4r&w;N4!y*#D|CG3 zf;Z&#O-t0R&Ez}-y60Kw(b<<7g}PhIYg8fb;9P}??MUjJd*TY48ds~{PDK&@HrRO@ z7B>80ruTOz!4L2m&BO!A9Y~fua;@e9UY~_>Mu-Z|Y^g=3ohLBK4NR(uXpJH-F;+(e zAHub}zIoVC^MwAjEnS%MM0qd$wY?1#_-cg4h~95H<06=Ty0k-3E~=O>+$dnp&8UeRw)g8gGM6!?l;lO(9lXnD(k-Uo#m$ zfQ(;Fe;o1qDm=AxU|}3We_+7Ed@HbCv8L#jXkkUTi&NN#6F&bZ8X+jRee? zP;05Mk#DmFE#yN?>Jv-pO=bqXt4-<`BqZI}Gi)WcxTOtB^R1?|emyC@8TSmoVp??` zi_Gq6)asB2&+*@_6Q7BIsn&PIzkM&lS33fig^J$DwFe`y%k8u09%~Lf)GTjUwz}lu z1mtU73C!+0?c$iwaXwt_vljd65&F?av(qfJWe4=rRdy1(UuE(j#Im1@J?=WQD8%yl zyCOjX#c>`)h(v<_x?>y8GA9DPLK?vaosD8cn2vDH>rJp6<^EbP5wIZo;k0q@nzz0l7c#OcldY({nKx$LPL*HFzg83{!mJ@N zX(#JI|M0fI08Uu-hqfPinOk z{f9mD5rmI4(M43iDY_u*4J}9OGm=fZKTHy!VD(f|d3`!E#W?5hfUgFr!<)~@GmXW; zQl!ddeDx$!Tli;SB6ugvSPRwV1Wcci%g86s9W|}+Mu4f(0W7E~5PPSAv^rSM>x+D5 zAb@G{a4Jv-TH2sR=rCC{A^hOf+5%3Q1DoB7v1JfmTT5N6cK0#1D zL*l>znl@$++0L*NXaCPCPLOTcR6+(6->f5KMIscKnumy*vHo!cmWT@Bb&?|_Op7ty z_qx#?<&H6i8cd)2Pd@0YA%xsCf(?s;z?{~!M=zwoPh6R!u_H1iB2#C^pl<+m=zzAd zxfEY5lQLZ+w5jF)EL94&(e{YJ(i`ibe(pBK)wd)+ zp0Ed90A2Bp4U;_$UjBQQd27hW2l`7;kgY!Pecex9K!tO}C%e=VI{5wspF0{gARUl0 zt_S5@WIL07#VC7QTN@E^>uDcoNldJFm9MI_IX)w^1DD;N)A&aZX#z8w5k|Ju&1MTmG#K>bnkiifx8rh>Ho#jy6&Hu;RIFhLxog)Trj{qN1w zENu$H$a@^28`qv@7Vsh?dKY#@Z}*$2Xnp8l8hkbpQ85 z#p-&N#7Zu(Vf^YXLif=eB~4+hlQ{fwwh)j&hh3h=dQLQNGC5+_%4oH(cFv?yig51h zQL6G+bT_dG=XR<9j3cH&e8No|6fK%g;7i~kCp+FvXTSadsP%PctyS~6DLzq@4Y`63 z=;Pz+BM0`Yp=-HImW@)iw&>i3=y{(Fdck_Gs#-e+3f#T6Tzx@@qEqp3Xw|2&>>eP) zQc1{TV*G%Iu5@F&$(ZMxbkB zCHo8p)WJD#!BS?Xx#q>;TxdU2j_8@}vRo3yH(g@vXxAV3^@4au=xO9pK5xnYzi$UGosf@sE?CvweW$+R=YD%4 z?U`-Q{iUj@);)PeOmwT%5?p%BoXMidbh*Iq{I_N(fVh8{b zk1y{aRIJDv4a$}nH!)bpOC^>=uO*M13kw|F!cDRdeo1ia*8^ z&~9*r_eU?r8j_04^8WYjrXU{m!Ym^_9Ub7zgY&#}{*UJ+8-u{~j3j6W=Pk8w-UqQP z;8rxHoyexHlfrdo$h z{F}vt%2fB8$s$uLvxGi^h44{OI=T9Dc%r@Y37nsz zV{714`2^GfANdun(Hv()g^C!Ga6o0j=g#VJ_0eKGFU};b-k+#dQi;krHa{JXe_CW$ z9!Wuy+u=-5q?>-ZQC*E6fhqqw$cj;RaU1|bA-L=qQoTo2 zn!}&1rTnr`R}%cG>(WJ88i89=CUaPm;c-C+JNrs^_V2?2lpYaZSP{l`p_u5S*< zc{H5Z%f2JH&yr6Or2*hXu#d&>W;syS3eH&-z7+5Q?ou89BL!6i`KoQqn8uGH=vK}* z%;DYFJQpPf;o+Vd0?!Ey1^Te0fSSm7dERD5UhzIW`vi+wgduh8j2|xxX1Ny-yo&S5 zm_h`RIcE}r$)39})AS2%(AW5bKazrXU;K6FQ_U=-E@iFYc%o9yhg?XSHD|Xni^3<;RU^bvzj&uLAMsf~JU$tc z(V03otf=R%0RFCU)r)%>{>04iw+x*nvD(Lre;v`zq9<|*0DJso_XKf+WXhVD4@52s5aI0dd3Jlz+*Ea zHHmM77zN_jhNhp-LzCVor_*(y}?j~yog!mFwT^1il_IblB`CtFYLxBKk-cp>js+QV9UWM4V z$+r1Z0?XVw_dB^cBI+Z@FD~5tM5em|D&wt19Fo@h#yPB${GUEi0j6W?w|MPV#`KsL zA#zU7!L9jAi9_}SMj2+VAWAr|MO7)R>Qxls2VOimKfrrGBu6cI2@#<^YwyhLb{nG1 z7nM8JI1kJ`oFHz;eLp;aJ)bKH=>~lOFEu<2b&tno>72{=M(ZTEtZ7M99mt zY?;-;ck;_~Q#$^?CM{$;F2pFmA`j$5cC~H^WrKge$N4yom)@}q8y~gk({8+VeDlH2?dR^RCf3Asc&g=kaIjuF>OpCwYRsVUiEWRs{~=>-YuqVhY$2FNp_M zt1;%2-bX}WmCj9^Y&ABY$9sOlAzpcNUeP`5dZ)hgqf1l@_zt?C*B9*7K>Klg- zU&KP{jgl`76{kVog#?9(9@d+anxjY+H`0f%pD&*aWQ|z-IdcEj43dCPvRD5&DC|>S z4l2om9Lgw`8LAV%(>P4^HK^!SDi&p*`b@Iho()Zr;?;L}nwyr~?|$I^{wdOqRU5DM zS&0l38H;ij9@(QgAOmyb?8$}jl&7!g9Go^?A_O`zVJ}C0q5OWSE&q)uKb%pH;Gn9! zfe#mc;v0P-U3?M_Q~flqnXC+b+RG9p&0ix!PLraqU`YB%aeEf6aqI?s`#xbx$ZWaj z1=ic9CdF>g;m)=&m)-Jr>87D$UX8DXB0tF2J6sRE&)aF;^J+8~URM=stOpj`y?w>U zv)ECZVyKdRNJo*n#Qi=nCWNa6S>ynowjkT*YfU4BjH()@$D^t$nyK7gmsuSX1VZ+; zfm0f~rSs`an!5gLj630L9CFsjm9^D52DsmVIHCHHK0s|5EW%CTE=v+mukRIrQQ)cc zlKX6#DzqKVYs^;2nPbCERuYnZMMiofRDEctx;<+;3Kt~WWJot@_y&;aNuvjoj@kmL zT)(87ahVubp;~eJnXg($HphC5uRxg3Izc4u#$-wi4D;gsy7yAV&3j6`>7|pi>EG;_7$BmIo(_Lri-#J`_R&l;5kbYow*n5uSdPcUWX!Q*cLBi0Y_>cAtJ;!*fpE{+3T18A-{XIwym>iKMWt(*4 z_+io`>F(FI1{}A~>9n9FgGuo@+jjz1hJP<#F8zvtf=op#-Gw2d;)+O-*d)QgZnL+y zYl+)qraxbEexSkcXt7W-#J9YB`5%OtP+vl+&F0Dv_33Byl5fvgG-1I~{=oX;i1@;^ zfx_xS8(Xr9_R1X=fV@4&(_Trv!dJ}ya*h*h@(fYSAcDflcGI(e4?6_Kitb9oJ9#QH zai=Nfyf9$%q^I0@=zP(q?xpI#zrWet11r+mNM*ckfuqO{b%ci8j?h~zrC&+m`uZdB zf&JTGQ_s!`nAh+(GDY(tz>xkwN31lR%9`6hHn+g63!51o9q;2`|Lh<6=huY21hY>^ zR5mZ@;uK@#vaP>g$dY`J`LOAF)CaQ1-hZW9O9Y${=;b&6 zkkn4*st6zm3NHsQk8a+cm&RnXa&A+vhnr)csirD^1Q_A8D6x-k2D$dP;xdll-nVRo zzn`5ISj|4YES=CE#g(61l2sL}p7YXfoz!qsS2{~|QeL~lWT(pj>D8YDLYUFBjdy}) z-6h}e_9wM_FFZ_)sEi3}<#1~>9zupp(X_Mz`kGvhke8idA+LQDo%wN?FgY-@=D*zD zbDhH7Z`e@7-~u7}>bN1ES3|_3)_elPswUw0(GPUb%(F!4k9ErRo>&e?Q)At2Tr!y{ z6hCVi{T#Lrt>NKIJ5|=ZEA?7IjCTv}rw^YSbs1aX4bnY5GvVF<$rp+9bkT>cFRK}kK&(08*}z{#CfM@b*l^Ws09G%$+}s-!y8pf0Br*< zDdr$QAFh+BXM-6-3VGdj+DMOMQ|0RJYHWT5N(!$wSV2oVVpa9#+K36FWp#oMe*C~Q zz{52{QOlKt`c)Oz7f+T$*?f{EW(b zcNfXi9D_kh#S^hY$Ml4Q)m3i%GH%Kv>VUoI(aO22!Vi1ozK7%?d&_PAwa?>ylCzc@ z$-#P0FXMeqsV)70QHJHuLV`#3vb3qpg{qKzcLj4r-@ZCHb8Tg$12426F$@siTLpUE zp*A<)XB_>-d9cU-pBzia7eYvfY?ISs@{63zTWaJ;ztot8M?xwBX=J#T+Op_wt9&<2 zmVK1*9oDiS7&s(B2=KGpwq8ab%Pxz>M1KOMy8GUT->{pBE~<0%^_FM5E!n01(RxEg zWHM3H)IG|4viHm7X=&WfD`@(%H@Erh=m>OAOVcr;6eEO62hdjbq&@>Op@Tq^i$!X3 zAhU#yjnuwul`p{!uL#^y5Ge;V9@U)wL+J();yTUCK?~ySeS*3xjD;zuoMbHXp$dT) zq!@O6gT!Y1zTY}6fEWRrsDaUUIFB-lZtD7QE&=-UP(Ij7vMRCT{6J;g+y9ik-C$@X zc2F8`LAwgUZ$6BBiV~n9jVv`Vm!|4=EvzSnhDgwj*?_cgMn{Xz;&W+TY(#}q>>m~` zP#Pqb4spuZocv`*XjGB*v*9pYEip|6Y-a+5LxBbhI3Zn@qHs$I(1$kgwYz~JXvQkR zyEmV~E`{BQWK`{TzlC#WW z{@9D`Xs+k{-2i?(=WI7wOI@T8tmE4Pt4k)na{By?s1kh$S(OO71vH^0V!*D^riY^3 z10QSFdPX>a-=M$h&FgV2cTtnb;0WP0j=f~ug`3i9s4xE{GV(;WOt`cJxd`bII;OIM zMk3k;nZgfU_-2zuvr6}9t&J2?L_b9+$6iBfAGF4vPvGR!>u(f*2;XiyBgpG%KTp?> zcz;!Xfrr)Ngl%x?gK~nzl{Zyq1|J%^$Dl}B-c8Rsjg*L=?xtyJCSXetlg<9f`z+E% zE5UT7vMRrxRD9X4cx(fVw3yH-t%rk;-^>P(Y~5Q@w4A*#)mNt3xV*c`*kV^5kM#@s z=!{VvMYjIarCV%W73#?nsk|!*;`JyX@BL{nR*}_*m2#233w9*W=k6-v(0|LnFughN zUK2z%!KJPa@+Gf8|spuDiA%G%gI)y-GZL!y zfMadJknUAZ&b_V;`UWkGjA!HWmyzCdW1|aFmF||;8=AWC>Vv8B0XY0jr)Sz%Hm-P| zvHbB^UJ+TbV!;w|)g%G+-pK-4CN+zsj?8hboIkuQ1x(Mex^FZK15Ki zy#Js>GU#m|`T#8=xhOT+1GxDWS|LI&OA}#UXhg;-iyzE7S=mg2re&{;gSYRI_0U=9 zFjS=N0aR^*{4s0zuJiaVzRz&_B^6RTvIgUfeY?u4k2_={-|fu!HS$6^V)6c zw|EjJzEx;%SWwyRmE{jauj$OY28O@Puz#F`7ANWjmgA)pHDA@AESECuW4E@i;X8A5 z9dK;8O?$wQP(io7WNRnfr_=JFNX_&NOQMJ+1%YSe7`FeCC%!QpG*s@h->D-qo0M z1K>|6248Wtb9DbZ%>VH3BYJaUtVr_iLRTpKyq{Dydb1Lz%DM26Z3wN#mM?lxJMu{D z2a~X@6IfezKtPxdE{w+ruID@kyFE=u@Zb%RK3Z?3vRWG)$M^}lhmM)ymoqLGXEnig z52Tw{AIN?Ce1Y|sxX$r}No47->t3e`bTn?sJG)3Wd zo#aNPY?~eqx|w@r-(=KebM%c12S70z+GMHzPk%@&^P_4LXeQl+oKo^bvk8jdVqSN2lz4SGS&}IW(3dF zIzqJsL-l)RI_Ug~T__PnvqI>VRd;w~?L);n?RB8(@|TwMSzk=bXd*-)JviP<=ATlm z;hF)MZ;v&~x!UHNi5^)!mCEFZyDwFt*a>x;UjFv8OMD9OVXAV6{7TMHv;Z#~=SH7* zYQtnDZm3_SgQ}Qv37jq~Oce-tG^*BjnAv+fs^~o&VWY>fX<1+@u)MrveM`TQ!k#(f za3!a#h?&#PKsB)5g2~uDoybM{1#PLC!Vt5b%6&tY@p2?Wi!aA8_v>F z^V};$pBqTRM4!9=zk*px^mI zg1EInkhcEaAyFXR=tTBDGnK%ISY%X@`n|V0cp98%Y}mLtB1{O5nAMnw2Z9}))ExQ0 zTV1m>4DpPAe|CFcAYRWgj|0VZdsfFc72K80|GQ^h`zSj0Ckrp+ijyUtW9doeBGY4W z)2e3N}8^jbBI3@qD9#a?i$D&R@REiAb+Okoq{eSDtb8|C^?c zS*r3J?BM&&@(A(Ju)}t_E#*I?-#LJP`Kt;F5gW5?j4yxkQ&Y93sf#!VSamj+}>OrB|HPuR&8y&*7!{bYwbLL4#N=hmaze| z^YdlY>{{{q3G>dEbo2e)ciwc2_;?;JY51(Fb$tDKgk63^-GINgIKFP+V)Mg)ukQ_F zdhj1SE(DpnCCzFRQRZ=HY}sADP$!)V+sTc^Ty-=;XcL={6du8*2dSH5ORg=C@@Gx; ze(8xC)HPn|T&LM-QCP1X4t?rVx7&*x)_e3$?MhGU`wowVRBv%nP2V$7>U8I1KkadZs-+%IaUq02*2#y9HLo&kr4o`D zL(h8)1nF|Z)B$>=siEiu$^xmicIqeLG8yXIv_l|9~A%0t>B5h=3(Q{<}pk!f`q(&IKI;}-S(GaJEU+a6x%g-XV z^26w4^1G=Bv@>1j=0BORE3_ZeMXU++{p7D&yC>cM{_|K3bC7%_=^;m?EZ@v;cDOjJ zje{SBKr-7p`&;4LjMCZ!Nsh=4?~~|NwMAbWG9J;qI`6{%Uec#jZDw!#&q<XWs5@4D16jv-iEeOkX=HC%)R$Vw`yp zzz-~Wk^YY!m9M}iKBWc_o`ua@ZIA-Qne3#p)p{H8gO@*Zd~r8l|K`!OkE_*gR9eM6 z#ko3)0;&YqbK*Z040MqPfO`T2P5oz=*73K$)tQ+xGZw&So+jJsx0@OmB5S6J3}ys*LWLq^QzqCGN8cQN zlNpHvh&89+r%1FHGuulek0CV;TLB)(3&v5Z|I&$lsS#TCA z4i`CH{9%6dimnoCY zwD^dp!Q7xk6#K;joW!~?e<0iLH?3s5=YMH*BQdizg?Unk9ws;@A9!_8-d}hy#_J5 z!01u#@>}pIs}r}TW@)H|7zQLJwe_w|Ch@j6^9kj)94TTC%^IP$p>dtE@hL;_EQww@ zf4me+E8ZLRMy)o!Fx57d6iE*U+ey>J&zOC0|A+e9${VaYsjjH?71x6ib^3&Zwp4Dl zy}7e^H7D1y^StQq+psU(M;7&u@Og=?A4t*Byvf4Vnlur1mF=Y(Zu?brlaCi^-?CK0 zOJQJhOvXK1>gvltD)6v787Cn5g5~|IJs#>!4+C45skP%vsml(I*6XD6mPy5jF!#ps z->*@_;+UloqIrP`mFKN-=>|VgKm6|ZVdZv?aWDKLz*>{>J8hdkg=b}vaVYawsSE9Q>)YC^V`S@e9!yB zeowt*`ht#lIs0gE`P;wOi{DMw7h}(S4rs}Wb7UnK@YA%Z8%IGi*K6T<70Inz?K?tw z#b<{%&x6B$ypKfgRAiJU2YtxaG?m>JUd3ayS)+1UQjXla8i0FDlgWPZs>~}3Kb$&8 z!yVW4I)V{S#VPIY-qz!qeX~PR?rzxAxmiR*I^2tn<9E#jC1O@^Zg(&dy#;>2-Q|w9 zA|T976ezGis}2JchB^g@_3K@HRmX%}@mjrb%oWU*St{3Ia`+nk7uEHp-SP=SjaoEv zw5n0g881@Guz13l2HDuhOC*0!3rL$a)M}O5=f||}N~6Zm8SM|3+h+8zos}lt(x?qm ztzCkT>?RGkgaI!>I6i6Fvp8e7#)MigsxT-`qh{a?vl6d(Q-#oE=;2bT(h~Cf z!t~qNIGLz(^liKiPmf8=k^{Y{YK8AuO&rZB3K&}JvOvPmCc73l7zP>O9D21udMO4e zML&^V)8f%XFX?xq9`_B7jU?~Mzv-N%9%34Tm$YNQLiq^8aku0{mMLebo9ei3?;97W@bf}y zvh;ISb(WL%T*p=((oQv7;qDJaEf zqZ&-NrO>Kg9LG33j4^j-yAV2+|0CEa+`u~M>!Ub2CuLVrfzMl*Ho!xI6vz(vZ9v2K z@7|o-Ni(_%52(|R9+UY~_0EGozUtAMlj}{cXcQ!^HhpTKnjr}K=v&#dM^Tu-pWhH> z;s~rhGaW_sle8SF(E)7RSY4~|; zIof4||ZWc@^8j%E0Oh465#_j8T+;TIv*GFi`4&kyu6-<%nRG(QsVFJ_?IiaxQ!ymYaYe%^s?w4FbhDA)FmWi zUJ3Acr2E9PBqec7JaPAHe9YT*pTt)+cwG5>#g(G=j(>x0+n{Y}v^S?PMbR9eCGPb_ z?JWpTopS%7vy3=z+2bAgf&HlkwuJ!s%^`_ss{{to2ndj#z-jE74a#7?ewVOai~vE)}#SCm6FN2=i>235zM-9l^O` zX7qWe@e|=4l!sLBI>uVn&ZnF{EkXxy+q#y`8|10th@avow_f&zXUQG3 zq8QH~Mb1p(kVxr|UhH(?#>yxgdt~q3PUa`BzkWq-- z`g%T=100#McOh+e*EYmXTV{BZ6+KVI4u0o9kYQ|SD3nT^f*)deY@37c;cJ8Y<_aQZ zRL2;a@u*oCc7=hBHRaEUkN?VESNFK38E*5*_DU}9Ezzlj^&j0nW8grwh)6>%@!-h1;4tz!yF6jcO-2;WQ zDr)(wMq!h!&n5PLQoAd@s|n&wm!T!Gjl+WSaw~o9%!y39&J~fl|A{T_H{{{vFOkO; z1yup1eEXCoKWywazQ>KhR!4#=Mr!Il8sepm63^hdrSIZWgyOSaU*2DEl9-JDku@&z ztyFqoVii%GoZDwxkxOJ>$^3kYY)Bu|mxQ$V(XU?vSqb20qIkO}JG@j9GWtZ}n^xmu zdPz_flNfgG%T;SjsIkNj%XJqVIcg- zf31n>h@s90pbwYn*k_G;X7D$r&&K8rtZY!^JHksRoa$J>UOB!jeCc`N^lr(}0WYTG zD)ib=z9>Zbw%LE*)H@%8GhlJx()^eXRyUvyv>jgpYfhc4yxoi+yedO)uy0oP%hSz$ zpp(#}-YSyNbGPP+JULVdid6O4SrR=h>M97IJ=_;Q2nKA;c>O$>eqJ&hv==o+8qD3( z;Hew_6=}b~%^-wxh1xyF68YA{FU3BO^{!UcNG9z+4TgmA;Uuu1)6^2p8IwO92jlI? znxcg5dIcQUL7elIL~bq&qqweO`V?E0q3MUK*oKo)lqiCMuX3;IzOoJz^k8V^U6{W! zi|*0?6MbC!C&<3Mx;tJST(FA%^)j#I$02msi<=bt$7*^?!^gU49%)2xp#l*}-x(D^KLav@jR)&H72BBuJQv%b_x z8*2trrSVl|9Y@DOEod9WK-4N2*~0fdMnnh>hB8C4y?9?^Ay9=bE$|^|^umjYJ>AHq zp6+e(rb?>+Vikcr0XqSk^^a%FmK6E~ID?_kWItq?gKnNM_ivDEr|C*u`7u;{k#yLF z1Sf>(0#(FF=H3?Hmc z%yX{|G!Qj}`)kEfqP~y;gI^jAlLIPyC2&Bwh=U(BB5|8UhV&OfdTN?*kS)%JR|VS0 zZD|0~)5{%ZDD_$0ewo~QH5o`GZDhe)AlgJKqyC`m?IFZizpl%{#Xt#ey@**O<~LhtozWv>nwZ^5rc_MD6A)v^5K2Xzi}mIJ%q`W=)|ciT-f~XTpQ|f9QJR{Z zq?Z(Lb5b)HEZ`ig08m}miY5^h0Q5=CCkV7cyQkrar$b9FvSOolWOgyJIimJ|+YJ>P zoy7ueja1h34QNz3Rz4|DV&8_SZyv?A=$x#QJu>N~eSA7WkcSAUW1$FiS(~arKtPmb zhbigmP?Z?Nb~b^q@sj_F0Qsd;lh*{0#$02COvrr=#Anu@Fkq*58ys8ozs;oAEXkT8 zgFi+K)}pDjd#3{&1k=GaDQ~s&zH;eG5!P>R98n)Uxi{4H0;cruk*|8dGXHG5(AGJ* zY(CMw!l!UCAo)V5U#CaLK2{q-Va6dIwD#nOaqcyJOwN!9F9xq`Jk7xZ2Z*}=YkE7? z@a-OrxA!{2synA&5}b2msKijO{&NL6ScttCttf=Y&2J0peE9L?x=XokcEdEHwv>FX zqfzC0Vctlsh?^!P+nLxD7=KCG+UlNAoeT-?Xm^yKmt2~aw`Nc+tE?YU_*obrReuS{zy|XbXi>++Bk^6eupmoj{QmiU(-Xpn>2H#cA;(El#jM zTHM`k?#!Ke-??AT%=x;{nRE8qYyF;Q`9zX^b>qg;$tljWpEeBpb&VsjZHj;jDOWIY zgdni)&13L;|Cd6#+Gkkbru?5A2w54<1=cRY2v{zbfUo+fBzknp(oI^X`J8GdMFFlR zc+udg<&}EHnsp(A(4C;A>$bV;+q?KohV`qpB-Op*dkzZKGFz@Rst+bamyL&wrE;n| zQr0%Ay@xaD%%?Mu_wOjCaaUA~j~9-cDVTNfiCTub3wd08`;3mb9RKhZ0;@4g^#)m2 zJ`Dz_^S#qzz=bl-bx{wm=gx#_lfYbaw7Jr(N6OclF|o*K?5Ddwc?uLFkq*^zIa6ia zqaQv6&T~R1k6A)0Ic}uPaZ3(yrIB)!hB(?t&e2-W(=1gyQhs|FAP4_u8CIA8wuXUT zasjFIgAMv0bZ>rp4*3tuUFeBg z$EL;KPN)W+*VO&+$8+q%<$&6%5Z_|YK?aE4;3N1EfWX2QnTlwHn zxJ++GLHo_P6%-6*>&@AAONiM@QMe2lf6FkB^@`vhE8zNb2clC3rWs=lmFUY;aaEPC zTk64KPM)ujEA;=BTHWZ;4$M5w1EY7Vzxs=xsLRk6CHN*Wu1`uZhw%Xn!$&@UExT-H zuCM2@p9z6lVCrmg=SZjx?`X@{8zRt$;XpT z6pmGpM8HxC<3oTn4S)k!swb_@uHi~k8bwbC?i!p{fe>Mt!T_+J>|kwJ2LO{V-{ z&mfaQUwqYaxQI&8N514M6yLMwzr4s=q~?x_SW}8Mk655D!W$+$2R>&Vi6d0gTLGV7 zhH1UR8j90JGr}EjfsMZ_K-g#^+G0QgOiu$SE`;$Fj8XO-G>c_x%c8s5;Nn;%o*J*| zE3+vMwpZONg1Q-V)@mT55@u6ExYJy@@A6i4Jp)VZ1&cktXC~tTQV;mDTn#?-rRis% zd`RgTEbQSV(bqGe%F|&V$;Z;M{*R^9P`J@ZpPD^Y#+uqnv!Wr6*A2*n2Z-uwI~_o+ zuaWKpq82j|!EA;aV3Fsq3K#i}6>7(EgWui%mE?TBarwu}p1{>xnu%ooLo4GY54UAD z(Vsd}b-wL>0em6z8pzuG@GjE%AW0cn z1pkLmqf__%cJHK9+%`uIxZ%6;u8hkf0|JY(^4;`Qp`k>s+Za(V+W@p>9w??XfD3Ql zxJHq>SBO7~Xq2oExdOC6(XWG@TrO@3hY=^NcL%Ip$pT!`#nHa4My(Xw#qT+b@#@ju zKTNH7neMKll+&)eAZMsUeEz3&rsmPU5x4A~DWkIUfv&gFkRIQwy9;N+hDY4uwTmy! zLq{2uI0&U(+7;?>5J3JwZiiFNvrcfZ0o?qjAx7iTBXaaUIJWZJMf`!;yOGOkV=IJk zHA|M`%h)1)-+)=JHtD?`ee|xN_XzI!Bi>|ZVJzP0yk_t;b+U z*O>IN+WLkgbED>8W0frK9)EaHeRxSrXPtEymRfcCmch1aB?*m397IiJOuqGhq0Yuvf|>VD1g;@XP8Bg(-uk$|I5`u`S=3e+zU$WqBo}@s&|5S z^LfxB$UmXSuj?W5yDy{0&`;=UN9YC0jys$qCa>02Pc?&6i@v+$5K@2o^k=JjHbS~K%xwB; z`++B&bH_Oj4iVm1u!@h}i1uuXa(N*=-LHSEIF}X*IaLsulF9oVVIhVZSZT{R8}D`` z!@)r0#>Px8#&na9SEd#aBS+MT7m7$98N*EQ1My5-jh1s^5yHExlCbcz%sgn z;FZ4m04KV!g%RC);O>^n2>b6d(_Q~(wI|qs6JVcH$#LLgE~an90oS$HQxe+bG={|} z8u{xxQnhNfGE(s!>siRA(j2SIs;QlE(hk)^m<_(0>;-}nqZ8^>BYH=qvTfN?5hg5{f9rXRa1-_^(SFfz4SBsMN3tR{cPR717g{eOEg|M7xPkYht}i(w}Fm<5MRKMQai ze(>$($o8WZvSLfjh#e=}zEoOO=3yDiS-TB}QzDewDw-`7;&6tDp6LK>ttAWcS4u{~x11y09fbapTz3&o~ zi3W-EhoEXu`B0F6%1IG+n?`quD_s-Z-$bEvlFYQjKe^IEb&P!W?L=gA;5@`sJgkbh z&*`oEB~RAfy87M8!2IRG?8=;Bs#LAkKtbrWn`ciCEBWIQca&_-jqnb&>wj$t3as2bz3nMLH%k&fR}kVerY<0(ri?k2Ai%pZb0IbFt7|Faz~Gr%5S# z$A@>)DH=$&2^HWdP&Ddz%E}O*{N%Z)%2LrC##b^PT=Ja{>W@O-(-&lC^5xmvb8lFu zb>Glq19NTLQbobWEPp{t$-C%Et4sz{!32

      nQ+FlYq@zd7cF_G93|5fL+MU7iaMb4|r`?{!V8J|~48Cftg=8^`jK`O<{ zkf@R7N&Pt^Tzs1>d^=NzgbesUr(W5WtlDS(Q;hRWXyi4c{Lofrr%|^Se(X$3c9MHp zG}I21qKwb+r=lIQeN93~OG^1vF|uLks>#;)6!J08P4iV>0NNIh99E(>C5BK4wBPa%7 zAzfJ*Ri_V&I$0tqkPwN7*L*LY5I|Z|CU&tB zzmN|x%}0Nqcu(nJBcBC*L$X{R$Pl?D<=rOpkPj_iL~kH-2O*M1U<+Vww{^}jT-veT zrp=s|&!HlbKJd-XFqJ znCnVl?zR%VqEF6Y6hidT6g(U`WO7KdPS%_PXh-Mihi(Q#;SM0(rVW$kgz@U4NgVvA zf&z8a3E!F{oL}{_rEhfB91MR&<3BDGU?7#%c;rb!~YHLHHN z)39))4D7#};?997p-MhZxGx`DFA2;(h4i0g;c~1xd6eRrnA~^StFy=eHx3`v{-^8@ z>umj}U;-Ev8H)eWV|iD*&STX4OH8*fNI#?%ojY@MhBCw+OY2M>+msT10dA&Wz&Yf4kL6DA56EmEgCok zt`q*M1$gZecVjAeK6C+>Jza7$cstQnhXOGkuiZAFku!&X5gKy9qTI6ZaA_M#s!vKA zxaf@EqGSYbg@^C#~De z?1f1JbAFeA^8S)mOAuy$*_E#W-5csn8#?TIsw7tme;F%gQsY(28ajh@Mmg!o2o=)n zbDZc^N0k;SR@k^|;}nw+tGiP=l~l#r{eHi&tv|ZyJVWSMe#@YkI`PU5W>`h62n&TN z@?_XN5mt3Iz}J3;UIcZ_soBae4JA3@3`_+KJjkX0_L@Dh<8}9dWT(tV&$!aMi6ZnJ zDI=%2Ck9Um6&<}i_~2TbGCI{&1b*2jCVV!qE(RnWzO3Fo`L*p&1F~Lp#wlQ5ngkMu zTd_U(pNW80)eAop98TkA$j7DZRjf^q`iawd|9Qi|Z7QpESe;BK0LqkBI+fB;_uiy3(QX}Cl-$JW8iE2_aOIWJwM}OeJ8RTa8~opH1!hV6}>nea}A#s)lU>r4t<{$j}FFLv_h1rL8V zVJ_|X1x1vH$K=ua)OQ|!YHvdIlfG(n6l+K5s%%->cjfZYf#r#VvWW>V7-y#TkBK&>!r6>$1*# z?qCap$kg;s#7m%cwlZg~Cr*hUOIp7^OjypR^TDEy%;j%AqwCPG3aQzy2MsBMXDj6&wcQ zl#_)QV8ZapD&=%8V52LdP+6s%EO$_1k>;~uN!?XyA|b2;qZ!LNAQh#}^A*HZlvB%7>fvj{Tk=z^&^GO9Z-y%ZC5+Gr#)Jg4pf3=$Dh8VTS+8 z8s2R4OR--MF_d*Gt&M%Cn&ft+#`bG?WuyIkzkV|)WDi2O$n?gbiy~gdhw&&G7&dCr zZtf4}co?69aJV^W$)Q`LC12JsUqn{8(lpu?-jgu&>&^WM0`qLfFzC(Nn2LFVGjwm$ zW08dSHMdx`l1>>ow@i~+!X%7Awn$S&V3w!0rEn+HlTRBw$1A7f`HKUd~ZlE4+ zi2hpm0@(FQutl0Kv-&nO(2sU8z3}AhIzk6s3L}U-#fnEslg{b{Cu{K`FC_lnqw}lYa{1xN{{hiQKnjB}+T4u= z-+#lR@wM>dR@s$N@C94R8^pxR&P*x2cMe7uNp9co*hLDAO3 zl#)){@#Du>ACt3?lqqa!xlmsjAvKM-Qv7 z93QU#1N&y!{X1l6K$@o=zJ}G|%JMVir}l^63y15x&x@-d1+N{RE&n8)*R8e4NU81N ze6-iWCorbRBvPwn3TVh5yTZJ$Uq*TT-KiZ@zW6f?GKOr+SoPde80+@nOWw!q`Sjpm zCwd!}jonAnkd=dxwD&Fc!?TO9bX@Vz7WsU&hTrSwA_f0@W3e66iEV$oPAXh4I6=|<%M`(c#v-y;V;E`JX`HG<5LJs$ zsPY9n7R-tPqfdFINV17lP9!^HK6Fu+LjT@-n@{8;L~z zr#Iw-vYP>gGmy&cCmQ`3M68}|Y&pZ;m8!yg$zviSu)43o*|Ysne)v`jbw`Cc*L1^Q z3%rpze)A(Z_X;44?~my8`Tve(>`{ z=%U1sqLKrZQG0&Ck1R=iL=yTlnhy_FM$^YL+_>X1PS__^%*@=z`LXU)~~2 zNnwg&Mt@tc{R6In^P;R6@370%>A3I_vo3QW`lKu7yRcPWI{c&wGVyp>+u66_>kGfV zrcD`%#U=3T-z--|Pa@d*I4y{k0AO6NPXrNU_KI0IlzSCKNHo4~FD00nC9ck?ZDFP_ z>~%T5VjlxsT)7+o@oK4x5a%utx&kFp)~N$j9o`vL*a{?H$_x->I+u#j$^Z00G~oUNkKoh1E6Fj>)eMms+yi0ne>CcjS0*Ld=L&f^BSpv6*h zHZ;!m*4+Y#!ud%%QoX>#9{_x3r0cdR9x2KkJ;8bCWEiQ!vq`G3k|OaC9F(DQcZ9PC zvrCpT32*+^k?%~qYTNGpNM#h?>PRH@^+=8zp%~0w2DGCF*T$2@up;zvv$3TgrGg5z z=a1$r04iyZyaMDP3LgGG^9MhFnw-Eu3` z3r2iu*Ac1}JeQmEHM%@K7QGGC&yC>n-{k?gjXY`=|G#QgP5`X%uiTrIX zo#UoRJWd|=m9iN7TP`0TM`n|egDVY8_&IAG@Q&cOsGRX%f8FLOKmm%(Id2sem=v2C z@iFIAG!*QV&2lEyJA*l*K5?w(J1RDpem)Mm7X9FXl{}npcQ68wFj@YT^Cprc6LQGm zQGpNkW?I37UOdEp3clz#=;m126-$?;)VN2GD-0hTc->sSYrPBVP+^231SOS&34{Fd0!7fIQ=|Tdd)?;Qrv@O^_INji+P0{2SY>D9XE8t3hHmBpS zH3Z$7D@VTUy*jmhFQtDNvBVF?Bv&?BpR`Owt<=QkbF7i{j8m=`DZSQn(Pq$Av9Ef)0(8!fPZ9 zQHuqLP^(pl%nJmi6Q2?cz&@7ZpTIkrDreH{KlCf| zJ5iudRTp<#0j= zNsH!N_(kdjPlG6~xWDVPwLo{xdH(gk{|{Af;nn0H|NU=tiAX9TpdV^9NT(nmwGB3q zl8{c3ZifOYAR*n&0!DX>B1p>^-Q6kDdhh!?_c_1s{Rixv?d-a)^S)lM=kxKfkW4+f z0E&Xpa;e~dSwbI|eV^g&?hG`%%A!I=K+F!a8@f40f3iQ~Y}1fV$r}o0KOCU{(xa~6 zzJ;m8I`m5EM;gQK7_YxjZFH)HD>j33ai&a_4>GeMMmnIk2aDv=(_}V@k|c_!iL3(_ zCOFwBS>+V9f@FF|2cyoa-OJm+edy4CYtBo_O9F615Nb+fG8@IescuM+*YnOuRHB`G zezUUAQpomjsY;L=N->-gD^q5NIH_h`9I2kcM6dTYYtP3jLTP|`b$Vs_6LH8_^<-WC zW^Eh4zDWmMz20@JTYTO4|68u7hAv`h4+y86Rk!WZ=>t&d8hEo|3u3mcnbuUJyHX^tzp1maW}P4LFZ!sh`@ zy(UIbCS?uHq@7{~Xlb}UD2{$(?Ttd5`}L)f2jyqAYP)MM;(iHEuH2m>R-%fVj&K_T zUr~TrgN2)| zgehx(rVZKfL6ZdYuEn&)lc=T)|$*&cz z+8oQQn5XI*z7-#vN5jSM7S?xm>tlet^jj8OBxI-uha<$_P);9GDCrmDU<3{@x%rOY9LZhdrb2KA@f#fm?R zW`s5}=}#vzMAJLgrM>}r36IIJO;HZHt6o=z(Do#_xa2re7H`_jaD%P%mZV)eN5#=- zQ@*n9W+8X0Jc+v}w@wAW4#fJD)s()UPjXW6GZ}iQgd3PFZlz1f>8Xj}A)w3%1GA&S z5BHvgqRLtRw2(#c+=o3)aZg&(=1TFC2RZ**c4u^K2vn7bg36fs_IIs9-AeX{skB4S z8X2Yq{lI(oXKloFd2&--V}711N9<^B_GhyS+SqUVGLfqNm!hSX+w_M}bviTX$lKww z9_6^s7UM@S+HxD&NjB5q5~+>e_h9{a+^zs=tQz>2_C`~?1kL6Vh~4AX`fLyB7G@+}d56CD)rT49PeS|!xbDA}rkXtUpI4k$bzB#Gr-RQ+*|RxQOubTR3XFew zMTPEP<8n@Je;HpYMe}jv4vpl1d0~*q*1WjBH}c%LZ6}Ukj;|{;o%CXVai1zD2O6(q z)_D-y^E>weR2L)x60_S(N86X(o~WESxu4U(O%2NxK2uSS>FUQ7Z zyT}`*X&#>&)!A&OBW6AVPd47RQ_}N>$7o*!2<=9}@^MmukWBka7>!^8_3 z>)v26b!KUx%F=^LnG`*+)|or&8n}GjY6oE!80vl2KS+6MPaKJHTzL z=_tPl^qO9br;Uk~$BhVF4OT0T5a=!>0f+Uf8UE|^{s{7}W*<1s4TPwDp%|GI*=<;n zIr!&jcGBJQBP68(Q$e$G9`Y-UnM!TM>Zz{DIh?Y(Z88%2bhG+mrvDSio|efxo3!Op z5+ObOeAoa9&^cr1Wu(hmMD-Vf<7(eeW`w3(!b}TffL{_R@9_?wT;_w>Y?xOlp0m@5 zs5GVkZ}&czh?L!v0f0DlTH-Ry%X`rUtY&|53t?2g<*1P|{og7%3x)mcFvCX7~f|I^~}Ix!==PhnqKU z@}3{OcoR$;|BcGed|E`3k^YZj$>S+_4orK^E8{vTx|l@Tx!RRcy;_(Fe2?a!+Wv>Z zJ3?@&?3zXjhIQH8{LO2S|KG)ETxpIl@MDIaqCTvI7!5<*(eLEH~dg0|a1-vyl=%mtJ#c9_b8N zA&m~wC)Wf?o0iEGbhWQvqO)t1BwmBMVD*!i^HF$VwO?{^E=sZXuF^2#iwIj#8ht6g z!HZo?kjdtOV)it|Pw(_c)**P^v|fqo?@gHU6!YVA9sX2Lk&_b4=j!QFNWA(olc@=U zZ$GHJmI5-w*F3{t?lFnIqHJ2GOAy%eM?>!s7|CRCQJ`Mk;u(bwAyw3&(szE}=x{0( zpnZ|tpulYeDyo~IEP~5WMrdv!%KXM0_?k|X2tKXBy4DBX`i^7n_Gfi)W3+U%j;GB4 zgBPW~3%(IxDksc-Z;T?PE+TU5d1O+vrrLd*M5gJjCJct2f`?t#euOKh6}ac;VU=%( za?b-cR2F|EJGdvMH|TB?4+-%z=gYDsA^Ar>M>lixK7X&&fcA7^(QN^U2M^Ao{|`Yu4l=yJ$HckRbf|GiHL=jGRf6EEY*B!VOzf{Pk%lmT&(J zWvGPzPqE|7Uc#HSU)Z4n_7z$L85&20^bN+8O_84t=6%u$^kCr`?=@&2J|q0$C)qAP z;HW&%$Nq9u`OJDlX56-9n4}VB9q{1WHzh=A1mr#9zh&Ikcc+Z(JmFK|nVN zFmFTc_{sC!Ux*86|0g+0v~&QBPXjp#Kb|?)5~vvcV!^g zb@-0&B6TVPq9Xp6NeXvpAV*mcCcp4(x{lI^V29xVplB!i{AUC@NtJI0gBSNilUAS5 zI3d<930aopNm z#4NBw$0S))zQ}_r)F5!|!jA`Xf}C&d;Rt`kM5Qb3+=lhWF#O zkVv1kum1vsN5})q#yZmOPKQ{h&bkxkKI_;SBbBL9_#TC`MFnl5Xo(Io;{_8$jRD`J zL}Td)H}F#-dO}%SKcl3&{JsaAkDVtJ7HAT^?Tw9wk=MuqAnoh-J>#Zc@CpLg=3t5zJ4>pnP}^sQf^{6Hu^ zRn^ToFUN4bNn2GoRw>P@#*{v^qAt4mXYgjA{nK65>_7j03@S?&MnH_2pLn*dhAFIW zce+{?wOjnJiFv+rxQK_?U!>3dzlU#W^H@u8D(EnlntfL33RVq%I(q+2M>;>_!hwXt zsu=>KscuG!xf;$T6PLT+=OZ}p1nBU9 zRTH7>p4kO<7z~Kpv`bXICz8|oQb#P+rL50<%wh8{39qr^?oPpsfePKH^1|WVv8N6O zj{bM8(K1VhqDI+QebU?9tHqU-mA}u=i1J!i+a2v@NV194NZRPX5FjHYI<&w{iU)76 z#;uQrBVh0Tvs9_OdPx$63>|SN`A8)NbLIBBT`z<%2o(%uK z_bbg=`@f-?|DTKj5pBu?OfG<%V0MAb9MEvEsGgyHBq~eE63Lwmdti9of+(-t2}OBb z!d5~PR6rz;{zz4y4AtC9!tjU3cR4*LVEmXLs5+SwO~Rc zvRD!~%gpZ3-W4>j$3|v8U&7gGl*|aY`5ECEXW_TS>)g3&n?rBoA^F?S?GhS$ zNB69(dz3RArXCd2GhH2GE)Jt@r9|mVsF&!=dPi zn$zXuvobX?E6t-4{D<2qxw_Dxooa{lrYZr22*~3PJ+!Z)h_s9;I82vesdSamKm{$o z)NRIjNxqVIJShxh5#|{p$r|^zUV5hxah2>3+0%&80!l)`x)AD{=oE@9FtG$im<9yuMa@cg2VWV!>#m1Qwv%*OpLVv&!-f8|%XjRP<);!^t9Er5@j z>B%UcRvSVxprC~dTGiKV+5oX@a<(y{-9s< z9I|Tpo~lQQ{IEaX1{JE@I7G~>)XUPvBjm@b2p z{}|B0vP+dq@<_RyYHICTpF1VO+*F*fE83`!j5d(6y%9CavI0~_h!C+nH85V$U1Heb zEZZ|n@A|-Q$yrtceNJEX{#4S)YC z83Q51EN!IE2wsofrXS|_AGrl|@lEX7&J6N#D%yqR{ZlvjeJL~#1lTIL_rO{?|DXBy z;V+`5FAr}?P7s-z#+@SbJ$*pFM7>#|{ z_l67K9xJABKCn&a zS1(HPNhp0#N->fnlmx@s2RW3+#zT_DbI0Rj<5LsGqkb8v`2~Jac>=$h23!3D9AO%L z0Oj%k4K<|6!jpuf+s> zQM~hW8_YFf?Js&ndSP$hTso6Or%U>Uxf`=E#_Tk;_0rsO=1(1oL)E2i*)IC~tLZBJ zDEzTs4u#o^NF##4ynnDOdQrct;ijVoWCa?&Q4STAs2==f=*xtuEN7o$hfJ~Wjsh^e zll{mxh{<1pMQ4^-W8Zb$v}0^=xHa+1I%=8W4X23xINO~<$w_;W_Q60xIuwf|JO6tt#Q!^gL~_W>UBf@h2AWG8lmdW ziv#TZcmtbdTk}=^jk+L8ERh3#?!V=6{>4`7|B{X0-N)L#<80*2&~y+jk#|w$NqD+l z=guEb6cxz+(AC%lX2gi$v6?-;cSB)8BCN(@ld?`tv(UcP>PQiJ+(+5^MDa&%qI9TG4wZ{?@Ve%I@< z;g67B_oTXS_qjv@bYfnz?AkMd$b@s1KfOq#lTL*5JMnySfo>GSw+Q>UswpEjbK@dc zP#+Hk{gY65ZO(zr^0Lh@-6O^${&54TEK2C_UmvIfx`k{Eh>Pn;tKC#9;F@T}6?|-K2SIo7EGj2SlTt-6H4hPnR)SQ0ZIX(Qk%n{YB1FEZ80wkIH860LtI?-5dhJ zorQi^smCk|y6d(2?|S?@s?DAV`85TBhghaOQ@ zU&u^eSC|amDh?IYs6{)@tHUoihb^S1m!*8gdw;`ulW7SjF%2z4CHj>{_2=&JswM%~ z9P7|rJL%Aqm&pXnqOj@`ud1hQ`aV&9>Yx|BNOcZV=_Z=4xhFVSsCK}5^g^1s&9^o` z0&JYWI+yWu+K%gjev*j^!f-R}cyX}Vyzxxgh`dt$G9pv^c?k$Jb4ajm)#iH5ba@f? z;R-huPYZc%0~?K&88(laFj~X)2E&h+-yrzHH8~HTF95;I9Xhaz zR^U0q&4*V6GXx>F6BNBqQShj3F52I?sz{g=iU)80`|_uCp=#=QQ7zb|J;wQO<4QP1 z-Zxj3qslwEe}jFbXUhIR`~3g)v$z509_Ia}MT+-7K&kYV2Xp8F&)!v zbN-l9pSt@agM(@4jAjXCIdjc$<8QXBC_w4JCP(vkR5vBbtGPN^_i3##PdNbh5Ab^Pyf87A4i+MZrkDxVJDs z6rffja_){-u)1bUn#{Ofd*TU%E;k*<^;CRVCpA*z4~KO^dAvdaVnU0qDQy6KV;*{V zNf2gaom7PgB-lim%ua46q0nDmLRA#OH!~k$0@Q^oPRJZ^}6w&ufL&+q5o3diSZgULykEo9CCY{2=;yIdJ#^`@y^5JH%E8$ z3t@gx4UrmUZPUYMrSL?TDsDXFop_v4%>0LJewE7Q<%h&MHr(bWyNVr7NCGbg5UmN+wZBT#V@6TIS=wrwqWr#Y3azwej$zp=1KNj6$*8ONtHTUFf0S z^K#N%2EPwi?C}{&CS;4#KB>O(Dkd=+99U;ClQLFRxK2D>YqpNmgi9uFNBDX?FU#Rx zMIaL?37jhXK=1nUa^m<@3O4dDgQ5jNYV%LTmCOiRn^QotY5q?dIv28f-0!*nY}Ro0 ze!lnc43mpeT}-AB>RC2bWP6QY)r&s>{n;+0ly%ZXOHa{bi5#es!7q>fi>AGoi_bc6 z8#ERI%L;4j6lXBQ&RF&C960(mVr&(AQD8Y2(XzQk-f@Uce!8^$cZq z{_Pj2p(W+yeU-Co!41vFt04d85L&k@0?z*I;MJvxUFr}G-s%3<$Q#w4N*67}f0_eEK*{U2@9j4!J>^mAS|D50CyC9Pk7$4GTCP(5 znk?KEI}4QFF9@JYNlI1x!_A-Rm}mB{lwh~COhSBIY)zG0{_=FoJLI1l8lY?3zG@N) z*^uLL>re2)`Vakn*U$kl|1d2ou{j6mXm8~X~G77>5f8H;TdiCOZ+P$ZZ#JoV7Dl+L@n@OJ1h$!Sz zUhsP)ksy~|cV(==^OBSYkiTSinC}W!8Y?{gF#V>W;W+b~Z=~v>h~RN`o+CkShNR3k zw6V_)XIkxZ80#*3C4lg>46bWv&ZZJQr6Wc}l8P{a(H8?D1GApTbw4!t1M8W|?o-9E z{reT>Q0dxWr23oW8M8h`Pf~(bIwSA^)Ji|t44#T@cR&S1hoX}I)Oxmc2dACS2sBkr zgYSt|6rw>TH8puhoc6WR$P4`@JxuW7aBW`fFaTz_T* z6U{42yM|(y63KZIPTulYT)UUOY~3CI-%TZdXW)V4!-9~Yqkk9PvpHhiLhKu4@Oqf> zr=KAN$UB}ypYQqDN~yi@z8ewu*Y8LvJ;j<(kcmq^%(%ll*g5M8koPEFJH>EjtNWnj zDk_lBLYG80{d93M20H^A`3H(9BSj@(kD+S)n$UJxD?wM>A>vi`RzV9 z-KnbkTBQy+c$mRup2cSW))Be4zn40{kFBX~=Qur2Z`5}_oDVHMZx{eRZM<#`7HTz* zdvIuQ5d7M;*3D2lwNwF# za)ZKE<}pp_e|$;Gr0LLR=MS~SF0yGDau4K((=hH0h_p;bEKxKv7jl zcLB})L%ZO;*4fa);*|~jUKz!MyHd%s%t4ejV;<@GWz$**T8IqpDm130EX>RDH2Am7 zs(t|fsRiG=rJ*RIhiHlzg8CHxj_+GP zi``k%oK{5r1;|zqTi!^;@?rH(#JO7p_8C>UBx=<(1_IV~M@~1qm0u zd~^9IZ?Za3+8~$VG^5expn(^`@fc4<`UR?WeXJk^)VCfXeieCvH)@Z(Mkcu+F9;!>mH9(hnlD#?0kwhSbVMyxWdn$7d9U45i zAp2FTpL_`RZuFYo_xt)SpgmCSjF6M%;wrz@ro z`e5XQ{Bq$O7td7o1kgb>-VP7@Z{x$>zoe~4RPn*J@n+{wKiNewVE)_pMIb3CUU$Lx zOR8=Gu@a9lpc2e09X1Q%Dpo|Y80J6_Glhl&9{tiL;0wz93?CRt=CGdORl>~*68h;* zEIzDOtt4Mcfo7{de2%3BWM5THoe|@&z0H`$*JM?l3xtR_Wg6SahEqtpaKHDSWxUL$ zZJj6V*iQ9CzgRsXRm@0#c=tL-x_#TeBC(9naE0uu{==Tt)byU6tr28X7Saf?pemB5 zCZ{||X2dt-)9#;*ZRcsAEH;U}J`fl{XhYHJnl%P`hH#z&sv8xiHW0chsDMYC+m3tQ z8w$?#*MB|hZzy~W*X`nxzOKydcL1eBsjaUxvN(1-pZ@xNIbm`6D!8ESTf@2BD$9WF zx>9Oun%RC|P>UtIfXtd|yIBTJYfeL}?higylw?g_1oVR{ikJ}+ygI+$N9R@Uf33<- zZZj$b;ue&55zmo^e6k^h)|JasN#U6H`2)OUiPka>>nN>f9NWHLXRRqdkf=Cu&QV12 zoMe|fAy>3#U#jvYXShb?*akDO4^gMgac+*VZ{7;Mk482_d2Q-f<@49U)bkPzN`!4y zLuQVrj-VyHo532dhpgLJzuwS|yh7tF_#}(^5U*Nc*^>;hMk=4*c*J=r$9c6&Ft)(b zZJ;Wf=`JOj_49LCPmEiCfE+#j95{HzB(lv*^iB5RI>%u%2lQi4nhn$*PdazOY#}ke zq?UN&$u16If)yIXNCjY8;%mHTtZ>f#{od3`uAD!x@c~@k*Za=SnzwJk)hEO;^wi{+ z{?y80gYhR@ws$pJic7cy5%%aVPnDR2(gRTy7+I{$DEg9}Q~5Rf>pRcl+XPi)&f!J^ zXR*7LI%O31?;hDXyxb6XK9foksBo9c+jchDcLB7_V(#71PY<5julwp8vnh#Y5AK(e z0wfIt@B2KcFbErYAY1YIfcdIdj-9!^Zu_!hmCwMwk}Me~ZP}=v$ZFi~wurLZlp-YO zOZtEAA)#$91C43|ljrb7s=^uL*0*WHn!)q`YxAngpSM-@57K0MP5zpoN_2RNH@y0n z<(5;YSK`f=N5CG6yIi_ zS5&>uhAC~Ytd(0pwYOu>AzJ{B>fzzc<_ZIPa2cnH$z4`LmHcbimc#J;wzcbxMSBV27IMUz%>DZRZ!1W@h&6 z$b7=Mw8R#bW_JCRiT&d0gz#LnaT7K97gSA$$sgM|hx;->LCJ9Z-^mj9_{)taJo)_q zZ~XHOBTB*<2ELC-gfWSIx)Dr)b+b?GJ7g&lrFG;=^o>r=-yu;aC5;W#B$p!YmBjVC z%T9Q0g&Fx=wp1TWjc$AVfE5K?S$|z^bVTi}QlPa2)(;Vj=}$2W<9?oxA21!<=ouV~ zkbmp_7Uc-7!|)p^br)plmR>;lg2gK$7=jMg>Gwfju)b7guQL&-#)l~|8DDLSIaVIXW;M6wP zQvi_Io3K+{MMO2#EsexJX3_vPhwSS&n(T07q1h>!P19 z?cKxz3*h_@=FA$|Y*rS&w~FHR{kXP;oJ6a=>4-THeNxBh&K+&v>Yraww$_8P-X?kvn*Gz|V6c>Qh}BQiCyf+Wb` z<4J9cDz8&S8+8o2<|E4}3ndklap!3y@aU3XRF3=Uf^9TqVGNHe* z%MTzb0H}TjftKJzXmhUbC!NkhL1t?;IypKeRVR2I--1F6a2*)OYGPjjBQ^N^Qnb;^ zyMVAH&mw^A*sZXcEY`8MI(TyT57AB}OHU+(+~`$pUOZf46`LYorm6&B*a@I`25lxnFS4(`*cOy%|(O{4^poPzRUi+m)3%}{9;N!@o81I5Gvz3-+ za1?H#$61aG8ghDn>HD|vlKGeU&RW!8syI z{n@dwVaVV z_Y{@smRHki)q%O?A(OFxGISCe(=Uh+r8{ajvx%ccaJ zSW;>$%>ylbM9oij0ri0w;l^yL{7;j=t_<)erW$ZQ;P>dd6xw_zt$_7SvS8!QofBkG zeWxAwRO8DbbqZW1((BXHqhc>@d%`3kkP+%2FNHrOF^gd|q?7GAc_%Pz)o4?JCz&1g z<*enjlvL{ft0mj3*;b)7VQALh{kQZL`rTu^Zbuq^HbNi}lGyw_BbcxOnAxCjqJV}X z3UrV^wF%Hap*)v-UKLPn3g*kN?Eg~V9NomZykU1uIvht;6Rku%ieBWn_RAWPrR8)( zZTFAvrr1{_>uJeF_P#HR08ARz;d%GQpkZye$p{b_O)68RFTxj@G|+dZi=!~86jfx zWj5YVZ??L(^by8DK`t)ZXG1&koj?jWx6DCF11~SQTy5ppEPpiGxS9c4clXs zM%?YrTI)1>>oeAaZYp0~viI{E=`%Mz@4-%kEjM#2cLx6ncEmT}E9MOSX=qp#FlX0dH&EKgMTzM6lQ%C8UMW? ziJ5)$M>a*%6_G96?R@Uv&@Zl2LM<=IqA33MspH!I>A=a=NnM*ylf0;mk3+6iPRi~n zjBCtNjwk=m?~5vnY+&ZrU^XykIK4wwfgCKC4J=6?@k-m&Bd!LU9`H(PVagG|)uz z4+v#wT0iugdG!o`R@2rNt50XdlouMg9f;8x%4bi{&h6fic>ux~ME$*Yg3|2O^`LvJFAi*kwJO5YA9NmZ#-pP9=nZM`vqnzln^*RP|p&PhFYK*VlEF9tZ( zMK3kxjRAJeRp&iioXBv@fEPy#84Ipzr& zTS2Z5BfE0u>{yi_Qt{UY*O6i(sE(dJSJ*YdgB5aY_X8GCRGH=0r87T|j<@&$MG`Dj zRRufbQc2MQizD^`PSwZiLpjnanBE&Md4mk6SUHKO`QF+*RI|dNS*^K;|+T7oYNPC7^8O zXB-reS6Y)5T?Kdw;5E`qgcZv7Lnjo;m|(|sQ>&{#UILi7`i4_wF3+~Z(m;g>$qdI8 zhJ8m175bggZMALd-hsBHzK>L5$rFm?M&=;0%v-8x5?zs5lFZ&}7X~<%Oss#79}j!* zDwpYuAapQ=`GiP7jf2T^5?m@7BJ9ce6qLKg^P03ijGmi_=602NQdA{=Z8rD?j?s>Y zHusu)WBh$ga}tiKC7Qp@ykzWoNc04+h$N$pT%ib#k#5mMkE@nxax+;AcxS3z+VLi@ z0xX=CbQ!AhZGD6(kn` ziHaF{Z8GnXa#K1~6Vznh&=hufRAtSPAnIv0vml^rv6$8@U6J|E$1nB~l~_-eccAIS zw7+PTx>5SXM%FwN02g#ga7~F4fWqHg&Z%9HoB*&&j=SbCu8~|&wKNi-Z&eg@Rj{ED z`kAUfa6_S;SUPmLZuNXNX8r8SEl|Jjf(P~%pwGqBJJb1NwII#`1ZYKc4d*s>5hp; z?cp9YRRr(lK7=SgLT5t~4XrVpr-?2>=n8R~LNIv<9S>byt2SD?6sE%na15&0f)`*^ zzoYLJN0s|y?k0Tzf={%`T%3PjVJ9C32|;Mx|Lh1 zbMd4|NW!*r_b2ucVOgZyM3)e*}J-V=-2rp9vr+>`@SlVXh0g-(8P! zSPtZn?iG1Rg3SN!C&+IAMxx!N%s!Dbh#w#1tzkPIezh<{oTB!QEx zojx$$qNZcfP^MSz3BnXU(8^8TDNiROBYnPEo3&ZoGwc`R%8E1dZjQUi33y3q&oDdg zG1*mBwO};0e*FCnWyA&6`4Cl>`&i zloYZKA9`n~F@eBlW~~1UHm28GBJ4Ri4XZ2m58gkpN&aVWGgm&m0o#%aayMe1$Zf3M!bI6@LEG9Xh1cF+!uyhpXOX8}ew&`j92J0CZjgFcp>-Y1BFaodK6M7FH^o?E_w5(?i!NYB(${ zd9R~%Y^>+OtnI=Bjyy>W=;hp8a@nS6KP6-Z!haY#=$Ex#neI<}Bmcs;M|mV*D>wePu`3`h8itcxtJE7TG#;grWGL8qPlBXIUqKBsAb547 zPH;!ObYx1`I!-$6QooC>AWLQz zliRjj`fbzkV=P}Ickw+pqmN9zte8TYC1xSgBLh==Xu#Bc5~v!ct{=^O5>Q{&0}I_} zwkbjpt9D6DO#kddPHkj1Stj@TDJf8ah}AyzoO4HDAlOiO4yu}TtMCV>B*6`l9IZ6e zNZY66!qzZ%1+3q_1J~XWTF%o*UBBPCqZxsier+y$@*hicvYPH<{#~Y1J2Wa2M7AEW z&0vSTHCR~Q#cbkou{noW;mBlQ-s&HW&NNAEnJm{ya1Y13wM7FEWpeN zj6au(|LNj;hs!Ihe!Y1<-t}Sf4l>=!2ndrAP;I*{+%D>wY7f6W!(CpLVZ`&+pU*Pk;cR-7USDpTK&_Y<}kpT4!@u7P(I`A zL)FUB9L(U2DuOBuVGI1!q@+4KER4^q#+?0?m4sYdv+RG+bog3d|B&xT=G6SC4`W#B z?3eOPay^!w9FuFfrQu)kuO`&9lzTzQm2L80NT0V5Vkz~0Mp9BKdxq`B z^TO|YZY!N?@(x0)QpN8c{TArY(cHcTGE&Byh@Qs7O?gbB_Z~gfC)KA6b?IQhaVCS? z4#m^c7)L?*@hSTfy?uJJoT|^3iO7M^r@HF?d0|&ua6NL{Qledr2u)SaF72Zp@h4P5 z%W>y6-K;4uZr%o2D2Gt?G2Ug0bhC(83;(pE&Gkc?jc%>FR30S!L0=QbxJR+XLxVBa zDEK1XgL2TiHVcf~RdY)^fB5E*aBu^dHFEEv|LWPNKS+p+gm7S5vN!+ko=E~ajCMi} zfwoK~du1QUA%FRNP6Jn2ha8XIs`HEt!1&IK3evr9`}%8?PM4oHHptH^ zKXkC`NSdWRGrbiB5d9CSto8qy|8rtUl`q$h*>_6*5z9FI({vgq@xcfg#4RBHV}k0V ze3B+NySUO1{M%FJb@``su8mmUp!E8R=dkuK>3|aXtCzK(St_lPUmPx`mc0-iC~JJ( zFNK@53b7ns>=502y^z9y!1v7h6RdE$Ba3bJ?Jw3@1J1H-TXi;UE2Qk7kK3O}^S#zJYD&7i)gVwkpHz}g=>h=VErsZvzB#O~NOVQ#Qmq1-bpj`$hbWWQRDahG}| z-ub9$VCECqRyxo=HwlM9z!i9&*XZOvFjPZP1*wIPck#*7GmZbAxIqDo-_d*2&4ULk z|4`Y0Z6Vaus&-=QZGF!rAZP=nNMF4&lMOK*=)G%9fd#P4J@{slcS1)))sR8|2gb`Tar(6_%pGpBy5(SP5Lwb4-zU4{Y4w zOJlisg5kG;73mQku+=UoOvsh>Dg(1oYi@=?wNfvWSjp#jDu1cX?Xb4WoCD@3QioF4 zpY`|^g0fxbqZVzkyN8El@|0OY#PXj33S@z*Voxn`6BAT-iQsl-Z9wyR`nxnJOPNpW z!_j_^Q8_>Q{B|}o#SuCnIK*V1*T5~TY8p7gLc!0Xh%K_1Cl; zH()c#orEhFM9n$u>Jb^vettBg%dcGX0?h5GvU3qq!w z=@L9i@^-OYkKu`OT=!2M|5cmz*6)5u{P3~B(sqbh5A3yEhUXj$z~wHWUR$G8sZ@rN zVv$5uII|!k+BL!3ft~KjhqK{+UtK`95oi)yfG{J1VqK8Lvd;C?kqo=$+aeN$CdOOE zI@;!QZTMY;8YYK#ssi))Yof8ja?+~6hCXrHpu5C}pY}#d=x9ScVc`ML1~AR~J)|S7 zy`YMed9PR_Q%ns(`6eDEosZ#AobmChOnsL>(`d{-b^DJp3I6f-+3#~~2 z1P-*|8kE7ZFVygMB&yhnS(30;3p+EirWWCfl{OkW8487h&nau&-9PF@#=(RB?5UlZ za=tHkN={JW%IJ>%K|b}4ZwLEQFY2*S#pFzjZzez31uG3^67wj*M22tNH)fdSAR8FU zcEtt?R!GU028Dm;YTDnWOeqKSokxP!7DQE5W07Wp-@4eK1o{JMhD#yF#4E4h zxmT{V?AIhr4a%!`b2I2TVK>n_1vX^di49-h6(x7Jkgrf zh0HRp;+~Ix+yo2D|2ez87EW~x7*+G&I1S0!of}!_RC?7hpyD>)`tRd8=MUF$17Xa3 zJwi{MPHbN7a-0ZWkIJ10`n_hl>-^$%nZHw=l%o7XW^THZ@X%oW#KsG=tN~YS&e`XQ z;|0In3+po9mQGxYti0RHoSga!(P8sRM?UcmA6X@LptTt)&5Q-vD-73ddpj2t_GYZ5 zS<$_{rNyZ|^tkQpY6Ek2G88irGh)?X8Fp52wzBJwb&X=N>U`aPwLLK58nvksvLJtb z<-WTT^8!0SIP@oFolacF>`qJ%`R=Z)pHBQb3*1fE&+cf8oqXYTxPys9P+=w;w;Pw)@D&fA@V ziLCS2=9L*8EzQorCNmk)2c0d;0fetMr}(;{BRWu~@`8PDSFZOcdzDD1zM^8-T&BW5 zbUtXWAaK?(V}LgbRYZh&dP;@3mbJgZ-Rb!_fFfq@h9N-7>Xx$N~| z$Xzo#^Li1;uo(;a;H-iZ$DV}S>&CbSKeOIe1!1AL*!lhWiH#Xe>gV_w6DwDnGgo2Z z!FuKmM{{ajZ!Cd{J@NbZGgmj48Ywa98CG^S*Rwl!>aU_6kX@TAwJTwjJFfr!{c5~f zd%(Pe#vhlLkwy$IYLR!|?TycCs2Ud^I{dU)+^Oq!_a^RP{T5f<*0VZ9sW|T;8vhlL z5PcratBFtsfrg=QRhui;0(tLRc-?E=hxrR;)a zwpqhkriET5oaZ(Gbc7kf!d;A~4|`N|8BgaeJs2o@3Ot3bxy*hxDFalQg zZ##*Z3mrN0N&J*k$*F+Z1?XqSA8Mw=&X*9eKK&4fz)a*HHs|#U4LtGuwEUDhe|&{3 zXWfhaThXuddWpWbKPfOOo3nSQMk)TVdI2dc|9mgTHXnN} z%iP71H}7Yk;gn_38S^#pAc>}!eX(;=ZU1}NL45$#!lMWU^0*Iiw5t$vA0IQH`zD(Y z7w`1`tU(mWhRIX9tui#63G}{=AL&)j8EHVcw2eF&kiRSTLwuoV=s?SSte{WYcgD{~ zIl7ej=#%Zme`H)Nv!Pvol)&c$fA16LnklBd2L4R{+oZww!M2Ul77oyBy<;f}-4@ue z(Q+=3b}{%>L2BWW_;s9UNzB3e=4UTw&(v+*B))B8}BdW3#; z?CIg{kXE&Y+rW7SdEYD3KVKD>VANZ`Z2)HLLB6wZ*hRki5zH^D0RiQAM_10Ysrn=s|lJIXHlv9xs+ z{x8h(I4bHprmUPphc0#>mu8$R;o#M-p(DG8v@gsF{bNgKV5-?+!-iSjp-3IdVlt>x zX)>r@3KztA%3@X-co^i~aOQ=(q{gzaoni;@=!u~#i(MX^Dr#c;#$?yarqH)m9@k>R z>KIh#t1L6tVsrKGczq7K>*JE|`(%NQxa-s8E!OsjDvG%uIWg??+SMCXRxdU7Z4^Jl ze&BIWaiOsPrEB@Bjq4YimeV&edL-6h)l_T4Kx2;?$PW#_+ZzC4jM%b_HyK*H3YV;F_R-E0P+1ZTH@L#rnget+Q6(Onz#vq@2; z0ierBrfQvV`qk!_ZC=98=d1>^wyZ`)(Se5{PrnT7DY8R$9>F#9tJT}~oyWt=xZkh9 zXedFg?sZ(;wr{Xg(-hck_dgc-GyZ@=n%xccIy71)TNc*(K0olg2wZvsv{+%2u0Xw9 zsjxf0eHP9AbZFt}V|^f8n!8%?0$1VSYwRb{s^Ey4W|wAmS`Rpp)#yPeX!y==cS8N1 zHbd47o?mtBZ+NkxE)82Et=T{3F8S#g@33EcTEK0o=*a8}RM(KOXTM-9N|52qZe&lB zoOSKeKWge^3p9QU@g!kJ6ki!JJ`kD(1w3ctuQse(YJc)LJ0&^4Y^ZExUi_jzB#`qM z@9W!mT+@89+uY>xqOkGFubLE>wgF>6_HebRvVb4de_GV*^1W$C6Z$UzrFt3bP29zs_Bkrt#PT=MZD8lxs zO9MptCS?8sx&)yOWv3|WpsKI}z)4C>UbO0qL4cwR6f`yf761<}BL@UQ|9HNE006q7 z003-oiGza+v#qI#r6IGWt)aOoE0d|MnM;C#q^c73;N)!wU%HmnI7R9QGu(Kj*@60* z3XEE{o-jfY5o|csFfuVB?n$*5GLTJy+-#m4y@)7A6}D)9aAZ!2+?O^T>O+6Mu3LUI zW++{to@OGqfQz`_-Y_)KuU)UAtXR*HJaZMo;bgSJfiAU#f9v3^h`$;{{ z%84dUS-E^@f8w-)12UK_Bjr-FBAA9mhZ}`YIHQu<}k4SG|(KiKT^4JS_nbjmF z9K2f^`IpcL8snxQ)q zp1OU^qS?EhB{?q2I*RSL=bf3&Dx9o>SMc$A(2g#?f?xv}d3U|2f0f4K0*~xXD$v008o+ttB<%?nA(~$|Lv2N$-~y>Ol#bpkQ=uP?+7G3Ch(J5dju{I zyViz#eJR?Y4Z*3vtOS2BV>_w9=JavMy4cg7`x1V=UFS8GkGcn2OnV*$jI-=p@DGm@AXMFFjuQv)A zFcJ{)5X{=i-YmpT?%t!_H(O$=OQZInA$-WIw|$f7)%2_zOpr&vbq>iWcXuG*@u;)l zSTbM$k%0#l^UF&|4NkI=@Hn608Uq7~T^{=~b?ZC)7+RIsH%+fp=t}X7Xks|5cNB?E zTl{HhZGGa|c}yTPjTT~sReL96hFc=g`;>d4ed`V1^A@5{D?`Fcaq3amv!2S2J_hU+ z7$1r9+QAFxz!+HJA08_~I1mNasN=<&7cZW>e5`<~?K9nI<2yGrAMN9N<%ViShF#S~ zvln)2ZU`d13u*hMAs9^xB8%0bsy|$Dl>V$uJB(^n=hyd?>&Q0!Yv^LEMHt zT1d@^H2iH!`95Fh=Z6F%RL_UK7jp$);mIt1ujj4nSvZjQ^VK%^0FS=WFLr|Y{(N2x zdV6L*N+Iohy1!-a^*G)Ey*+ll1FI){h4&%-o^Pi8NQ9n`%e&rQ*AF3p!do>+LPb3B zN0d$>sGg{eFwk)|9;^|&$SNsDiUpW>-)5nw+CJV+k&d(UL9B6I3wTHf;Px$jBC{ORo;in1jdX!ImpxQ6`+7K5lFC`(elTqqBbr;f*s>KY6_woFLhM@dXOZ3 zUJIjHR%=s^S5VX2k8vkbdTap%@<-M~Ca2JBWcG{{kxa|@mL;@(gdjR`%Blcq2cfTb zL=O;n3{5Yn)EjR48LOnTb1If3WX}_-LCOIRLZs$40pW%lT6Bv%j2jCV4c3psQwBGm z)X&tK2Y3bcC~~_%Y#o8c17X5u?Ugh3<#(ht($yn}i~7F~_m}E-U1x2V_89oC5KPY` z$3HBm6vfG~FfRv+v9pTG_34|jRP=i`s~WJ22b8y|no8g^iO8->N}3Mv{w&$UM3pk* z`Ljx-LBC|P(0bp4I`xhCs-MZe6|OTRI<4@)TN`O*4tW8m(er6OsDaTz&eAr2rM7-> zFNXshX&S*Z@V9T>)P-w>1w8hcWZs({{@m)#N|U77XYzRx%eE90OTwi=6 zb@fLQHD$6bENOTssG+9cjSG9S!jvT&0!__I$10yYWLX!xX4hwYJp^E(%ci}wZ1gNa zqzx>1?$*O5UyK@zOa&`1u1hI)=wv3QQsoB7VLMz)0t66#UX`%a6wyMm&8_*TWk0Fm zLT?nL;YnAFIjAMNL@eNHHRE&hrl#fVv1?DgQOmK?gVJRk`+#U>5ivRz4%}GIuK`@b z1_j3Tq>j04sA?r+7VWe-jx4pp%+Qv(YF}i#rWRTgWZ((_L_CbQKyj*G@K2Up&!%vULIO9b0t;0=_ z%SNwWAQh?h?iA5EqVtxn`Pu4Y`&RyfdIhy(=EX|v3T6zwBuIF>h{Ejl{UMdK_aeV2 zUlcto#b(#v<>Siq2bac3^>nj)v(=I(Tn?vAgWKcJZI&sx8E@W>%$H|YdrvFisAuKc zqx5B~`Ojp=W-_FWK%n5C4gcHeq-7k<-Z511oxD%gf=fX+Yi_78i_T3c7Kk>wKPr+~ z70f98gN(jb$$WOf7Rzun{EoQmL35}OA0#Udcx*%c#vdeBl4oW1?T-!$eov8?p2^7P zN;C*mX+Q8P+|%t6g4WhQUfmI2*+e*aLc8I`)bF2cj)i}-g&_Cw$`Wkg1hQP7tR@Uh zzOAFfechn7qdU2E`D!CSMhe_VJjqzo7@_%Z3C~weHsszyiA?G%qCl8m%WQnddbg6~m{37kTxX ze#zjZWH9)L-otGbv88MI?E3v%yKCjuMJxmM&Avhc0J#6*n;F~N+M3$Ah`72~*gHA@ zWqG5NMC^K5(AzamNGUc06YHgW@f>iJ41iM|i`jyWbY~V`D-aBZZ8%prxH}1X6 z%m?cRl-znqqHs#2F%>86zEqKH)h*LQFauA867o7$oWpgUtI%{Uz4Z z#(PJPem?f3X<-P7!(06F9PT_SeaFsp_2n|e+0bGRZ`s*Hmd#If4!ZkNS=7g7__m!2 zN1qudo)&DK2N4$ujLF3%6%STr6{`wi06M$j!0xZ*$BY+@-0*S-g$*Z*TwB65$m-EC9TZ*1vUo*#GACXevY!a$|SlJrnn@5yzh6 zgEV(g9+u=+&S=Qnq=uEU;?0xhqoSxTs}TGXh>(J3>hF|~DnnWv9W)laUpGGXDyIGBhW-CtTm|9SUH6!s?RbOUkvc`8Z6-?2uN=}b}v z=EHihEV-%YTTi*l>HE{5*ixnIxM{J7C>&CMxwy&fex>kZ>v0y5ToSP(z$ZW?B%Z%P z%D(-<;(#o*7{4oew}+mI2#5YBxP97H=iafbEu~zBnxgT@%8T+|^N0~UFTZuh_}ZiN z$g^|tjPaZSfbpx@(0Yl8E9C(j5R#i=*&{ae{3h?W#r&I~#6rskO)F4*yxaPLkPw)a z?T6A1i6dtZB}4$jKx&nfcdQK#ssNYeuaT3tyw=^cw$W{k?*StXKM}(F8e zhd{kpaTRkJt#uFM9b9I$tafB>q+L~bC1^^Cpx6@(X)ZigYytT-9Eq&QIHZRp1}n`& zB~^)Oz;2zm1?B0NpTN8_i9a8_)k-kk9${Vv+7@}A%CxIsvN|!!&GSHPHF$$zFbRCW zdp(-CzCUIQzML;Ip9|+g>HEIj z#U3i?``$if3-Q-*aE}5k#x`VkS^U2(9+|R+;*Yt0I?9zq zzKiCenhH3joDFnOtH9>knqT$_yb|d(gVg@9m^cTxP?3I4(mZq#AeDLS{SRaN?F^DU6!0KV~4LYT@@K9sLoY z!z3IIw@+D){#jdtRB{bqNf!_TDJt(9!Y_!1nQAeT(^tW zepH?4kZ*siNyHb2NJIt%tE#wm=3PKt<#uOeJjTWC;sdd!&N)KDW*X~ig7BP9tTUUx zBz|?(&pT}M!-dC&k&CYCvxkul+RLsm)1Z~ zO^ChrB%XeY#();_(Wr47TcVvnp8^XxoRRz#iH2#`=&=|jy()2Gy|+m!O>N7EiS7a9 zGA;vE?*K8Uxb9M-q9XCIr(Tz_o+PIhCAymV#uW>*W5H-d%Sv^@LTMN}b*GkT@K=oC zUsh}?NrsXS)R@&{$Ep2w9_1u00@J7na4{>DJx~!i>yQkmYkpfC9yHY|riiKTJwvg8 z0{b2j#o0E=M3hL1zjQ@i1WS1RVjs6$WSl+S(_yBWfkj|km&Mc~pkeuPx`PzsYL25E zsCN+|M^O3ThjH2-RxuBokS5?jv8dCRV)o_pIWLx{XwtaL$MfrUyDymLy0q9x5};or zY^FNMWD1C>t!iUJ1CXr34j-L$(V&La*R1Z<1&7>|bcTE$`HPvn;-*akzSM}-o{W4C z#yDMXf<7eXO)Nl5ID(EEj#>|yQSvQM=40vA`P6}LSVa9e5^23}Rf8SvH>oazonQ%x z#}}bDhSY4ud~9*6D7$EG`hb^+Kjay=;k78BZ&_(!w=8_4JF6%3-X^DK+)(xcTb}1q zz1S+RdD?i6Y2QU|F{d7gKj$=vYqk0igT#++(Z{Ibyh`FY-PYr^a6l;PS*6+$y@>7N zt#9@&Orl{fdbLyiL**$7J;{#+@29ZT=!w(E?x^jm+wS}CdWw&M5vvcOIMv%NKN~l# zRlPblOHkg@`HmJzrHjL;DxU_HD4+Ph9z-^=NOxY-&@jd>r+i6QFXe^P_*v_PrBZJ1 zhXwWfZYq)Yc0dfeA^3Rx>~n(S&dbNVYB5yS6AYiK>^r78|< z5yk6tJNd5l()xC878^W4Sn%~uT>o}P^Be^+Ln+{Ij>Vni>>j!n7_c z8OPCmyzI}Vg_I6k8kXOCASgoRb@M(w80CCq`SR@PmneWbP28*JCC|FSFevdl@WP?^9r6N>`%KFjc=N)d; ztfO}tT{H=-^2kM*ak>vs^kM5c?tLE^ruj4zH~xU6wS8M!wlKXNG7U&%$uD3>t0un- zFD$MT>$%xKp-U18$Q-ff3EIy~Ok4?T-g^svOhDSe=GhK-3>*?6+~L|Ai3F}8({vao zrEvBH>zI%@s|`qg!d_}O1rlS%aDuRH>txgmRHk}JI<2kV}1Uic(1oh z!4G&I8HS&fV(YI1;soQkH+j&y+C7Il%mQb-!_mE5j+P4T4R0G%OpLBK5U)ude@tF= zg!l<0pfwChQ70}PAk~dqn2eJj&d`PJBEnu^L|8PwKVoh`1zQ^Su8Ojn>g6W zcqNc1j6F7ByxMvsQkKtLD{Pe4E-JUWQi-lQOZsfYz4b7+BxalvOfg#cd8J!Wc z;<|5rItlS=nIrZuBkNErsEJ34$uK@x90^c@vyrl4Us7Spox>jQsT$QO-VO7vHinpuPB7FIyf$!CIF_R@@g0aWsdQ-zU8j21x8K7nn zXtknG`BNy-=XNuqa7i@{(N9}U;H{B0tXs9{7rju-yvoy;iRb&V6(ok-;XUDw%^ECk zV66p@-W<+|uzObwb6XecdL6Oue>;`UO)09HHs|LwLH>e8MEp2jxVw&k%^o;#pnNr= z{or6|_XVi*D3F`2wyDuhT8y>eowB3ihs=v1`0b82%BVq2eNAXmoo?QTc~%(C644lA znHTsa7|Qvv48^ABPVpi~BIEgF5CfS|q4;Ot!ikxyIR9*ODjLww<{Ix`+6WQcv;Iot zfO5M25g|eV;4cC*08H$S6`kxIoWaw1uC_*YhL$!=Rt~1-pe4{209{&KN*n+I0Rb=o zzW|_Bz*hhiB;;RjaDoQEVc=n4prK(9;oxB5kr9!Rkr0uPP*5?^QBW~Zk&w`F(J`>F zad2>u(eOUtVt>HI#=-vUMCHvj`35C;K(f}j9EVn9G) zK!ExIqyPW}4ESpQy5Rpv5Rl+&1Y_zE5Rt$P4d?(!2q-8>XsExg8qDnj{vH600fR}- zDguk8WC%y$h|T67p9@d@V@)|Aiq? zvMXQV7&%QN;!<&JQ(ylj+TSGmeOhenidXyn(_1L;(dty;YV5w^l>GLt{kNv3Z?P;IiXpxl-=H0 zqM-IF!2>rySG7jM)(Bf$Ew)@eH2g&3CdAx#@Xgb(hP7RPBir@BH$zLe&&L{PyuMVR z{SOI`vBAiRxCpc>wCen|ez#C;owq=1tk^=q_gIv%O$MiNv;Mbz;;F21V2l&m@`8Ju z74Gk~RoN8WTe5_I)z!GbSGShn$e%=^YSQi6ax=e`_l)0Rla;6|tsw1ViuR3deM2b8 zi+GsK_=j-+I#y%9m3CP%QamNs2}%&h>*y<3c6Cq%LqYMua2$F=9uJ)}9RZ^XCD_ zPD&6UAjw;xW}%a28R)0beytnp&*3s}*B~e8G0wCD&5G&A_=#s zs^RY~^j1!)2Mo{gARNpBEW8tW1ok&NZF=}LF#NI}m6M|ozM+t_r-X@D458~L@(~tf zy^ef10Ipu?&GxT!R=x;mZF(q(v{=wy(`4`TCr@`LiGDCb={qzilnzme6DFI2TT4<$ z`{6C?ZM&t9>JeT!kZ<*D+wjzc)-HC?Uu(1OpJ6xXz#g%YgEmG$KZ8=sa>udqZZ1?C z5J8t?D2A;F@t;X=_6lux4+KEH$e(UVBiZe97D5^2{Dt+HGLLZ56?RAlY`|F!98~XK zP&?w|1U?B-PK>d=3Yv!|6Jik#yd6L4rae2Fd&1^gqm0)NJKD1$P$qLBR~49`ODKxT z>En1qf$Q|OmE75yNi<)rP4@lOFK$Lpg6{SEo#T8b>)Hbq8$u3NOq!e0pyNjgVKtQ5 z;3-S0*Vrl+Vk{-H2&C-V{J=q04>E2k`%O|~%~ie$h3FEz5u9{=v7*cCs5|Hdiv{@) z>U0J6ywI$B+X0V@JQlUCJInKq(rLoEeia}r>3Fp&{t537BH8p_z zL7$B+w3XE;NcC%A!54YXWfKnQu71VY6nN&+e73$Yoi~SjHa6s@?*`BF6v=8NFXt04 z2Jmh(e_`?#zGjZ*=h;Og0bWYZHQ2)*<291t&bIRvjux-1>a1x$p}2Cya@6wKBK=^& zE}@)yYU=S@vfgQZpLqWSP<0VDuU&JcxPoX)kGH=eJa;LC!Lu*GE zMSQ7>033D_1FiI7UWKkELl4uKXlGp7v=L~c(5t3JOTL+BV763+M9@L)`K=H>c-f;i zOoqR*+i6Q1nY7nLnXHmr1iobD1AQ|EJ*#II6i?KCm{LNMgmg;3<@%W?ZZ9-nbB8dF zT8gGIf1!AvI7GER!9=C`RUC0PJ(#M{uvaf^c_&+UTb)23I{ zv3JW!Hhyubum@MpK%nV#^>kJF9Sv9!uL|1ycX|GCPLKbUUL6p?B62AM?g~F&zPwM; z_MJQL_#ta2&kVEaeG}(tymuj8yC?0td+FlSI6kE_C5sB|f$fxi%k45x%;f|(60>b4 z%Yn?eAUOy?@?J~!epvEOTD<<+7WUb1c@sZS%ctbwR!?_PL9WYYTb|*ey~Wp%`MbsN z{f)0rwr*D2>!}#F#v$D4_J39ZVj7*DkqS+gMK%yq?zB@HEE}wCYirLSMll^u6I~LOB(>~nW&E~FN>~l-( zS?4WU^)w&i->eQT(AAYBwnFlegfI=rU#D5aUmJ7!H|6p=`9J-NZZm&A=U+-klk>1E z@rM7^Z_fFzHvZ|+)ggFVCvhs4xknIOz^z^<;b{Axln%I!4~qT$tVv0|S*H$W>n-kn zy%??TG|iJIi-kSHtE*882E}K~CaQG3Vkho++o;u(A~MkTz)qZkwLJ~^jx`~LjafPm zP*b;dZeF2vU$=8d^e#9S&E-y?yS|$rQ{z0 zx9}+NjhK8N73)MLKq-^*m zD(S<%Qoq#+a=n^gM>mDG3v5>-4D)C6KeB1A!`m87j#Gu66G1#B{$P{ySvIRHEMRb@ za@Gk_`V=>4EN+;;m{rw!Zrhe`dM z9kGG4_$syiV2^y7qQzBbhtyAzV&hJFCRAMKCOCiHS$OTd!xii2X!?CeKx^S*eaxxv zQxF@=34C=|`OrK6D?$@6#bBiNFG_cZplkA6VEEyblvpoU-wn$yY9ca%N#n5 zO=A2sQdj!L*Y)JCQjlVP2m&BKbKm~NR?;W%4Z&6t1K_~i-)Z@@$uSs8h^%Fci2ePH z{qJWwOr>QqWjgp&pOt!Zj`BJ~=|{{{71Fg-v^(Ero~O14jMQLEuVITzNB_lCIxXf~ zBb`Loqf%56f6JDbc#sU%1?oY;*h<1M#;2{A;ApF1FfB?zp_<3a2!?W$@baLta%DH` z=Q{RMc~0X|##k;Fi=}dUb(H`#CAq3e-Ki8sl~2NqBe6Yiu^o;R(S$grA4eQSP8jaj zn%D|cXAWW#w5z})DYf5l|BL!}l&aBfpQHY1+k-W!+i`~{3~f=gajNKL zao>V1{t40xIv*0T0r-{#!lCtrP*nc<B`E^B$;tmQHZLl(dDAXh5CGDf7&km`2z(vk%nkV12zL8J8}?#E=XyW95~S{U>8dBnRDVkGjIY<- zw#@x4^BX*7*#7BqfL#wX7GU9v5YTTYBo{T`k!r;(FVG|f*Wa1#0Tq5PW~l1(-4GhM zZH;sMrg}>KHk-k{yE8PeU2B<3Kdj_rz91v(mS2-Gyb0uQg;`}lHFcxS` z4D}v@BJ=(>^p10;2XW=y33qj-#h>0VQDYA`3bpa^GMe>~jkn}HE0folm=UK6kD+I) z_?+eL>93o^j%??eYQ{1DNlnk9(pBa)7WG==EM?md{WOI)xbl1>mgw-imR8w^pKU*( z9ngwJR$~}w-#-iqg8;dK${;|OBM1=egC^#zKrw1gORuEi+jZbJyW_o+flV3arWboF zF-dwg$P4#|Opx;S68p-K0L;CD>lT9dCUxHt!tkh8YN`vejiHttYr;f#8z9&{FpkZ^ zrv+f?i@wSOGjqHtuYwQ5Ud7xPD{?+aF2ZW=QSQfZzSDeu<@t*#iIk+1{}gQJ+6|r? z%MMl*e$-k%>)6Pu*Cc`fu{_;t>wnGwP>Z9@LQI2`>8i>B>!**53eHRubz>$^g<)1m z?xv57$O6tgjDwYapTcb@8`r#3Gas>at`I&952^TTf_JA)RR96_DPPB(?=+58YmsZC zaClvmWfos2OOv@VXgw8FazKEfUcaYp(gTZs=B%^x8r}y+L4d=VSHH3B%Efo%|A8&` zOsDJJhk59=?-Z=+Q;&qUS+d_fB%ad$nK?Ylf5Br00kUPTK>(KLb-x2%G@vXk2#|&G zZWjB`T+1`vzy6|Nlm1go;5!!B_#6iLrBzObf{o8T2oRISQ8(o+RLrnBKGsAOmJ?>| zl8`kb#2yDL1zFQZ4&~>wu(PM(D~PY9Xo|vU)g%O}nx9AkOyU^s{kDX< zqoKB#17{^?u+H&jZNIC(0;t5#Y#-?-d>unJU;(@IL-Ed-L&x>)z_WO)i^*(#z4wqU{)J!rA(XTGaW??XoN2T;I&&jVyK9JNstPaz~71Q@8s(*!#A zHJY8gZ|$cw$G{J5B#6J`;Gf<>QT^~;odN-jy70Yun&gPGC&t#SbHyv&H zPp0v;&ZQlR0(Nbr@qUJ3bvd&LG8v~1!5~R!cBGt4lCq3Z1_meBeP^Br0kpEeyutuc za=f9hyexT@kut>{s!OaA$S~I>;of<{4gUac_v4>8RGVPmXRxh2yqc34m#Ol*vn@6g z`8CWw7|(#y@mBASuwSGYPaSlD?MyMeXqCA1`VA;^t=+E`QsFJML#T=S_%)#yX*62? zV!V=uiyOl(=7X>Bxx>}y0r3$22NE66*ONjiwO<+Qt3rIG%4#Nu+-{S3CDkxfg2=$j z-gm}XqtF4ilMP~U!1(*|fsK5J+P?i!pHGd`y{oraK1CaxDD>py5RurrOX+^y%wYuf zQ5@q=emHtoZj(FK>*BZ41O>d>F*ML$^SH z<>Fn`#O-FAYHx3C<;JPYoRI4V?G}ym*>A_w;(fHNLFq_?w}Q@T$Pqbz)Hpb^mqCD? zj>m8;)!BCWXYn-R{+U&a$Q`8N=z96a;eF3Dwmui)n{UKu=Z+_fz9wAsj`sY@jv>|w<<3wt&8*^I+bAK=H+x89c!TF2XMlqn zJg!*C&%sH&9b<|WH7l!P6xy{#Mlu0SAEkd7_dC&j8W$#2pVq_Kz6{kz=OEk+Uu<+1 zvv#l0%JZ;gYDlX#n9caM+KbavbcV2-{52{7ji{yy!_RCp;?}aYvSLFpi+1*oA(Q)S z`l?#nrYl3H@E1G$)N}Y0x9%EDKF$i;7Pr@K7eTP~qXYbds*HEI`)%R26@se0C3YAF z>SoVF7o;-YmUi`boR@s0x}j$~DZE9eI&nSZAN%zvI3X}iu!@RPLw!BXwNxdsyDXX0;(Ye^1YCLFlAeFFgydYWQ5&z!st`7rPdRKDTz8FW2g5Qkx~m9)~q zAHx46S5lOB!qZJ$eqHnJNz~%h!MgH$m7m(hQY#DKq##8@E26`TkVW*cXgV;;||vRh-$RYI7mCC-g>T_myL zyX#(pLWz=?ud{N&$@qlbd3NSpDQ_KElNyTQXscK^->o+Oj^VLSre%>}#}QAoT=@|5 zBg16D%ryPlK86Gyn7E^WZMjnH-!A+ts%7`nW!T2tHR1v|jNwluLM9gkhdhyBC}Rr| z@q67`Av}ev6r;VquBB0ZZ0boq#fDt5AVju=t-KDI9#RZ&I_%1K?7TeG+)WvCL5)uF0r}RC zm|;vFyy z&kA?Uiadc@W>6THErjDaZ)SCWVO?!ZF9@LUeb$(~IsLoq4eqYvN63)1HS`W)LMguR z?pVbpV8V2ur91T3i7@#hc)c&&!w0Ddrn|BBx=PDX{8;vH`&vCD{7)M(*qcoiDSre2Uf0 zwI&UH_$_T`x3W#JbK{gMQdgFjcu$)+2;+r9aRr$08D~^29JggO+Gn!1v<447MPUu@ zYos0A;H$1)_fCpyoRekC#_|NO_9)*oi?06uJJKmEd7%F_)K{SKw)Q55N5s92%c|Na z>wba#wy6G&kq5x<<7>fNo{&Yf^TUs8!}fMY<6Nyerp!WyeM6O3+qYxFHeV=zz5is) z1-!eMv$)*7MC?ESQSOJ3w_MlF*o{xzi-i^SGU}$Y^@TPC@P6T49h8pAuW*p0*k(M9<`%=oy4`)>(a-+0o#;Hj|Fb;*u<0fVCAuScKgDAqz~Yy z`D7EYaq2EzSpwdz#BvsCpkx^%{}0^}^Ogkyn2#fEp#_Cx z8{pn*wj!>?l#PZqJHArB)Kq`g@83(Xp0~*B`dq5)TJ)D`1wYqhTDFX@|MfV-&hlR* zu^u9UX}F%R%0?MqUr*H3MJg$*i=(_i{39;OkK?9tHk5nNsznDiapxECKtP07Ze6)(tD6lnRsV(9-bU^0&X1(W?RnCySSWd92$`(H5G|ANW>FJQ7? zvsrwkV3^qh80_$Gmh5pbx!anZrHNQziC~9p(yVZWQ|I7GRicC?Akv3x^-v^XG9D;0 zN?u`VQ_ERdqz6-_M@V{MVg$qEp3q}gz+s>b1d=T!k_2$m@01FZz+sdQM5+>Oo)HeA zYuO~MTYh|DtFwRMWq;Z4@SC-ffFS(gI**XkEz6K|-fgF*WkBl{8Z5T7%p`+)vyvv) zk1bQG8lVZ2GkFbb7l@`m_UENLpBRFvrUp1OCS5hNBwb`%`ICd;_S4dfeb?aI4A;FM zko(1#GkZ7dP-=T)#E1P+{(`Uha$is*%lu;bZSn9ZbScCg^Az!{(5WFUVt(|YsfD_} z%tI1;Fm2eFZn8Ld$LM;0l@?7;PHs#N6(=NC2-$UHI}On@#0ynj$7?-gR9?gK*IpW` ztMcm6OoC@wFWn()i5^X?2)}k-cCW+Z+MbwA-SrP|l6E?|r&eGVh2)obwA;zO#nXXI zR@O)gpr)z_UE<;TEj}v}dtm$|k{CwMiqt_5RhVWfe$?x0jj{-xiV#OuZBQD9Qyx5q z^e)DXPda`-rJ0$pRY1~ht3xEb=|W^dF!=Agk0w-TqdNKT`;PwPBSq=)-{oouMd`i3c=e>xjK#bu zCSuv3N0kga5BIySl)kr_+bS&y-U*(SC)<0E@=ShNdANHzDj{$U4RA1cU0GT#?BPrr zf8%C^hNEBUH@8w!O8^2O?jN9-m4G`rVKJ) zTwuGW>|9(7tTQXG(O+CJi7{zK=&dza&|jbqt?ARqT5l z4%US%>>eYNCjE@^(Hl3eTqRqk#}p-Lkau=o95EK{So5T!rW04~;lvLsC7&k<|IM-G z5hBNlb!WC+^C2XB4pHcP*z6p;2mUA05rnH}oRH6In_^kNe_ctE`!P|Znt0M!QwG2n zrn9JC%F$Hf6~&Z3$Un-P{)($7D0DP!mhf46VR6k&BD#ACmI$%6XpBWyKT?IP;fV6S zzXA$)19L>*`yn#RzWUOIO)=BW93+SIW38|ce%u-nYC(n2l!;z!QGd~TyhP~i>I2My z;NDH>`zzzRDCfIe@?Qrw=f+ohGBeM!-#3>)+Mp8NhE3l%C^aI?2Li6y%9<60Z+Rnj zJRRcA0Y5BCa-!-QZMyCrKDM_b+j`qDakKKJaJ>x(=r1_)tpfu-s}M3a5?WqQn@nA` zjKalXOsfqZ*B#YHrn@`9c@r0_8xWyI&JIOpQiLdYhD~Ih^(~txbgotl*W?>zq&F2< zexi4n*K3_b-TOGQt@Euuh5PPn31<9pIMq2&3_A=N+xpLrk(@li5;P&2WoAKxkL+*r zc2jbgwumT?9NIOH_qJCE@r7hC*7g;! z?ks!rl-$s-dT=|#zhrEK0+uK}gp^E@KvnoSKgDl`QXJhs;%Rn%tStovL+N09RIrG9 z3RQ(ey{)MKW)=OSKHDaoEFOz3x)AivVJb_&N$SJ%=(bz|OJ}?15fJsuL-P6CBJ-^S z=m+FH{-$SSmdqK$#diAqb*zI|GW??RG1bh;K{X-AU= zKULR&cp6!gvc8Y5hdjvq(7N(1xkXNfi~H>#O40}KufRA0Q`QRcrE4xwb4&P z#;nWpYQ47;dfDBZTXyRw_Vs+F42~qo*04m|wYSf&_T=|UKfAYqEntiN zc^mw_xle(R^J}bGEtL*UiIh~~#zF_)r`=m&xOCUo^c`M!97Y7D<0$?I_>UG7K2%*4 zy-1S{_2c{~O!d?KV}2dg-~G;gc8|BY5Pt{fGIRDRyJ9rA(bpdzG#k#o(xCdYi5faj zwQnBrq0t@zb!w`3*_aLe9;gVl#YKr+&Z{HIAm}Q7gQ#O~tlb}NoEG2%LA^$M3-O#f zXY-cc*Za25_|nInmMi4UiIVf)h2hzr!1kifrLm42Az@a?frmJGi8-M7nD1|1_ z)7yj0EAPyeTCWrRAtuiZyGICx6jO}#_0MP)hZ7{X035(WRKn$U&{+<1hcGu|Wg{jL zb786?%$a=CLT+NDQyG3Qo@eTOn({Zd;5|YN3!9oqxmGIy%Y6E>y z&GL;cCQ1tNBl1^;L0|B!ZB;^6*ttOs7%6VL53J%39r5y?JW2{)oL!g0JNrN zme;93+qGr-NzJA-yC{C&qaAOo-ITY&WlEA$&?3}j>kq_84Ex22bv=tBJz7XbjmL7q zn_XFw!tout28PKu><|f0&~1DQ_TYzzJAZLb!OI6C^|7a~=iUhlCzlqzF9P*fg-#n) zPjON1n*(QRLxujO>}}80odHT%r(y;&84w%lBtsr{JkTDt%k^rEuO6n##0ZlB$&%pA z3Nk3g5BGfMA}=S-Jl1RT1z3Z5bl#qQ;bOHsW!9Bd{TUUAMlkp|8ggqnb{0d2yafX$Ujj$F~#|a-B9(+xlpHc7K zVC#P76JtoA5BHXol*N>{;@Z_)lm6`P%P6aWCN5&wV}Z5%9Sl_joLTtzZA&BeyzYml zPPc7w6e*1hco8@0-J1geaT&_jJ4dX=bg{}$?r}q<*ujXfR+`anHqMomvdQcf#O`tX z1f@&)e0_fJ?3H*Bcf;!z05Jl>Midrfm9{9pB{{6i46&C)ionQR*sf1O-yr`WG)Pc~ z{jr6*Nz<>-&u~C#|7q{1>~ZDK)*Od=!dGKWg;F!&4i^S>jeyI3{%yI;dIlxx4p|_5 z^+cQQOlN$$WLMElTTw8Q5dRqE{TX_81nA+@ck8Zl6F z_+Z|EYD(lMk8mMC(RpBs2f9PSxlZIocqkds4xvqR#*EU9qcY{@gtBv@_^fr^M)Zz94 zfsXzMOuI^XIv3(2v0sL$Yv0sgOE^qbQw?2%tQRmfx(|!J3yx(o5oC*@u&#pylqXZ} zTJzS>-%E+IL-kQ9p}JPUA=Bj2naH;_y5}LT?HbFz>$q2VuPmU(OVS9r|KVv!%ok=bdvXA zaK3T;`N9DSd0@2u_?~-*f0x?H{K=+9@-mEn>*&f*kVA3nve5dI82-{`WJJt zHR`eG*e;#Tj)#N6+VvDIhGGj0gxOBch4|*FO2G$i-Zzf*JDQ#{qY8k8uA!1%e0FK5 z^AJ?QrM-G*T)d)L%yxFfy?G?%@4n&70X~~4=`RBHfycPxFfv5@2p3J*A#pxmDr7=$ z6k9uAh5xV&4|n5b(fiu8_0^B@U@;>?lIm5GPloP44`iC8TDnG4I4>GGt6v+MU{yr0 z&Ep`dR@E=amiuyloD#NbMQf9xr@{6{FI!r;4pz+*kW0B8{rq_2#A6i?mUiuv2{w^ByD$WYYRvjsuU9fNoMSR?EY2fxBhuTYrVySP*I>Oz) zWX8*GxgS3bRf{GsV$COm*MaG&`2M;VY40s8}qLFZGvn;B-GgYUJv#z=G`kh^j`SOIP zE@mcFVph7E{i4ghSha-vKa^fenw(<2C1a=+sT6hhT275494zDb;P@1VTB^CIy1W6M zgM_+fk3 zo}Uh3$4wFUrN5C8^Vx8^e~g&EY@Ia_OEj{BpwK1aPW}zecG{I+laK?M&lcj8Ccov|X5So^iqR9(y$T#pDFmrLx&IBIrTq;& ztlb#&F_RGDApZ!1t1ww@;CRL zQBKB=)5MuCE(0-^)lGN}WV7SuKqQHVx5llF7?D|3mk55zd?=(|GnvJA-1E5)hB)_E zj?+A@->`;~D!Ofj^0uTq+fw=7B)Zh!y}ofBAduv|b;`XyM?BqQLf-NZg++@UpdUOoL zgcQ$n)9$9j8zf-*vzM-l>HbN(aC0cFRd8L-<}=gH0<`kSuSutGODDOTb>Br@;$db2yCV`(nPI7Del)&g`K%8hwX5K=yd~f)X4HA z9Ipb9te!XDX>7PB(rF;psbbVX2Z{LxPYf=x-8i`*c@?{Isu82ihY z8%lLnwMs7)DlUZ98n|+@?&G8rJ+>HH|6qG-$>vip?|7{^8<7K^Cl#&lFX&YpvIQe} z5h_l!%BR`*24-f04~T-3QqI8%!>^Z}>_`GVg(P^AiQy!@kt8LwZ9%alNz6XE>*MgT zLGYBNQgK%Y(m5dLn<|(Gylz&KG~iLkVm#|RXq$Xnh(qm&Zszy{oZN#4+;zCxk~kBl z=qrurk35|>+(I&4J?{1l0UN8Q+OW{PaG0&B5Y(MM&FwxhthMyzt^SZgtTCL#Savb4 zmi9pLAN1LSj1A06%eT18w@E(P57OIWd*;aWSigRTir=eXptT|)^c2Df41|Qk^hU!3 zO#q7>NqmqsCO~tpF*pyL&@`RNi%9A;un!8b4~AZpj?{gch+Mm9&(rHj2)`gc7zn8% zlBXnXUub?TX}>=RT(q8HtqzBbG_$y&AUFxt-r=bGDbmQdoK>e4Ny=ZO$zQZOtgOg} zj_?Gfu8#{MM)ia(o)yUm_T3v7hU&y)J7C@!g>mdX=cJs~3m^ess2isd8V6;Cnebmx zV@h@Lh1p0^W!mmujg(rJtKC_p$f;M}u=s8;{xo2zS$yi?g?+;n__`|3#ae^bD0M%_ zcN;uQ5{4Wg4}}ZH&PMi^Oed#M1aCxQ?(1S%-$>qw$)s0sxEp_kH0a-vAd&avVOWEW zBQJKcE_cY+*{KVLq`lzSt)$lwqoA@K$xCm1?4vGrpM6stidVK}4)U&cM=-RLwPg)N z=z(EkuIcXm{?{#a!sloSPq8pkr7T~SAV=`X;#@@#Tm*-&#iV&rJYZn!P+dgSQtWjY zkdU$VQFw%RcpVFE{Y-eZcCD4CcMFk6EIc9`Ua$_DXLJS=!q!V85$#tez2jdmi#S); zE9|4QmLK*Tdxd(msq#4YH(TkUaqnqx4g zUD-ot+q?^OE$Kv6^4yBs%TVxsFV;NQ$TI1|=( z$=OhYykVcZ_$4FgT5(sNB`3;D45eU1PY^wkzny5Mcl_+_5RxAHp#ENAp!0r8h$qB5 zNJdA8qO8+Vu);m`t&&u&^~V2*L9UTa{V>6x@zHc`1r;MuD|06`3~6gkh10uP5!5dH zRis|0=E(s5i$K~OX|4q1=%&@Le~6OFInI(Wv7wXXzK*mgLdxf|Zj$j+cFVO$ja>wm z_FLb47f#zqiS;%NH@4!L7mp8Xcs>bq*lf$aOqBiD7_Rqms|)3-GqJgGH;Fig702`8(~~ zbFqx|MA@Ox`_~Mo425~`Gfr|g$S(HO>3(bCATJ1=xy-OH!_q6GN0)t2uyx&6^howk zZz}yEt-{*WR?6sWtZ6zGqT6@dd9Z5!ODTp^lckIzGW&Hsk0_ZvbgjW>wDE4Qqa)%S zy=35&n_x-=PKk!ghL8K~s4a6pQR5?Vier2i`#nVtySPPHXbi<=Uy7az;clH!<%C}9 zEJ@yq!1SvL+WKxz9(vjF(=?d@@t+@#OFnU?ftZd%*VN9yC?6!WVpK^YLxvKKus_@d z>2|v{95eYpPsP_n!G_(ToXy-{DA8y9IC*exhrw-OH>rv7h13;lVK8f>8*2-vRiWvd zACClz@CV-zlPa)GyFNw**y?S79nAmKkP~^$El`>85fqufm|hItzJXk_>QR39%NA+x z2O}~R5U(uIQ8K%yO20ZWD-g)V|U)u>zxFVEFa^s<)UBGJD+7^4&b6=lY zl%0%5NgRI{s=ZRqRLc)E>Xv*N!LWlF6RrKd(?`!)1cd3X5CEE$)FMyHu|-Vj95AhE zBJ)$*mp;;M{xPkqTnNg|P&_XD#Ca{qp&b&VmSciYUJW*4QwsJ4_pSHH3P9By;n^(L z5Et>OZ*SLG!&4emk*V?bn@jEl+A*S=khl9;$L8AT?+1TrbyQsn`JOL%ZOAw$z9uQB z?rmGnxcI+HwFu>*OUnm>h#Jy{lLMu~hLji8e8AHCJKQjphl+Cidu3MBTL_@#|N+eDcsU&}&An{3OKM-w{`Gjc#@~@n_beuocl}cB2D$NxG4yKQc4=-;gC^Knae0qYhRjqat0MUuO68mTM0$ z9<)`nGFc;z$fb#{&eg!ERFG@6fSDt`v62ir{lJ_ILU)RhwSVkpmn(0Y(4T7N0_E=0 za`ry8+(T+U{uX*~{t#|qAo74lHB!dS5xVZ`P-ha8W?_3sFK+EW|5}hYLQxgyZ0jd{d9y5({ZB7FFP_V)e%3Z|z-_k9Wt=-ctrC$z;dpCOq9F zxvG7d28~2;bN$Xv{k929ihDebh~GYc_&N<=;k&rx6_3cx>?9C>>Sy5E4aOo9bg>?J z3L9KraXb2f?b9T9x$6o4iLl^TMH->)Ei$l(ABg}=57V6{tNe1pjpAXZ&Ci)RZ|;tQ zC02YF@U4nOt*mH_pzDHNl-n~&A%jO+robg~>J867WPz+Vk}4SOwjUXNWs|F=*&DYnnx z&_Am;a58K}%)pv1%%13QqyiN<;WOhJ@OOxYWq}synUhz{yeXKX^{^U1X>OrgTi%$# zQ+P_5%&GgaL7;(A3ue(W0rk(c|+u=KC1G9Xtu$TY#{5t_spFG0dxe&+4 zQy;}-F-ng*R5wM`e*WTH9O%ICOPr<$-$6A}`0RTfLP*mzW_K=4?B|-eo!<>u5jU!Y zq|e=t5#qEjGA*_wotZHZY5$6hnNPb)-KwO-LWy1L7woF?EWOiK6#e5SdXLLqY_r~h zke=)C3l&M!wubqbxpko|VH_%I={wSmP23z>3JNh`avCWUO|m;vEz-)T0E29L16pOT zq3=zj=y=diIMA<#UX|5)LuXSlE>bb=@&)5!o&Z|8ZOz_Ck2_}s{EzyL_f}{tOR`U! znq-1$0gi=5%Ud7ECl8nXGxe!S|M`~&sp>e72&RBN*d`s86rgO6w9x3P{%jtCIX~nX9jOZH6?F@F^z`3Qz3u_JKd!@80kbrWMlIqXbU%h;P`h8fEXvEQo zgQqc)KvM|c7DfBA(5)|9L8RV4eQhKrJ+7=9mmZ@UJR1^)<4|K-*c3z*jp$bE@!OGZ|$VcVd4Ba`8tBra^rcOe$6C?xm1hlej=clOHEH>l8)< z%GJkT58h8^cDB?ToFUexAD+qtc&Bz!W)q?M`_W!$=8Gna3rX&GVg??~5?uH_547z< zzDa!y+Y_s@Y~SM{p+mg@f>-8k3=ZrR^yh2}fZDuSl~WmO)VfR^k30e3My9i5X3(X;W)Q88mX-0?4YMy7AdUTAZ4#f>7>-$R*#Do>NkC>Ju!ts*A zVjpiVk@#j@=csy+F{!AE3+H$jdn9T_;6))TMh)J!n=qg(S3@V3wx?7t(0;@tt_up) zU`}xGwv_?buBznoe3sw&)YnF6uQmpc4Y!U8A}ZcVwo3xvCK=r2&)vLn&(wRf<6VQ@ zr!TXtAjB}+a(weXt&bYIdG6@KnM7^{66H)wdyw%CR0@nB=2uWDvy#H|3slCm;rrS4_BmrOz{MH9Hij^QU%gAs(R(gFU^Q&w zfe`wZnSU!mqGouGj(^q{KLhN7RowvJ>jQLP^avDy+3mp=u>vCsoXD|f&=KpIj*)eB zd?Pxz2pG{0%Xz)134Y3S*8O;w&?_(z!4&4z&HJwX^GtWGq3uN3;XRd3Cjj9uR$&!h z6rq@xQ)fS;f>w&XTPxO^$EepzW*9}Lxm^X{;T-s|VmOe24dHlJK~mRYa|BLM_*t7k zrvvmb7u^ZP$jJ=44}l751&w~8&kB_Qv+*J`%Qc48x^*28{W4s=3P}cvl7X^~_`DJN z8d4>d_I-CuL0mcTIS?uEmME8gJGw%xGxfX=vs8VUtX<*;!`=>Bo)cWcp0XE)-eoEk z=sjR-!G-Gq2VRTLY=%GmZYqYOZKYUfzA0NXkuK&%WwlVFhQ7H`lx^z18@QeDLU-+y z+vz~Gr^c>tz;YNGe}lHEqm#{@ZlkAp04pN690$lW;TPBh)xi}Y;Mx@W^7AZ+1v{5$^ayQK3c@JkECWh*+&mna z;0Ia`HU4>~2&@1fh76*m zmzhj9x(Q7ZMX8EF({bAZEiAius01ZI&(c%#VxsTM<)b=hwV)T}!Iz?Lj~z}u zh^i31J*{hjxH!wflEe^>o4-&5`qp-hDb^28$9hYx0Au+#$^vO2Fke6&SnEa(U573P z7QV^T!+X;Rd%tK@^m0P{dsfP7q3b5TQE0?}%caICtHs_$<{nWSX7V{Fr{>I!Njx8S zJh(40by&~{Da`{&pwxJU9|eh4(}D_#6WQ`V6R0=(pAd1d?m}Zg&xXv*h&25d{(DBb zP}XSfi$z}{AHZx7Qn1VG!M6QnE!_*w&`G@(x}$T3DuHgIG(-+=ALl}s(booV42Mmqod!lmxV_6ab za&;j$$3%OnwINuCA^1B|};yrgkj^qjRsoE>$^Q2ijPwSp?VaS7EuDT|LQpPZ-dhM{Z6*=C~p0a0eYK>tFs zmZX+^!;hJnTp~w)^)A@IhtSjCR>K6RJb62p&PY<_7$?1jd>qfoS zlCtGYCjX!RF-iZe(9im~Q@p=!iBc`ywZz98x&9*PtO}ECUh&jnbNZOc2yIhr*Z5%SUUOaLzD7@BPhEQH3O9!OVBM6SNBX_2 zaJaxmt1@^PJ1;`k?>dF>x;d!?wNCD)*p#w%w$W0x$ylln99fd3r@*e46~NxvRgk&m zhl9saGrX6cN9J=^xlK)Rf!DzU&`Se)aDJZ^Z5fI`n@Ww#=}l#&`BbBjVvw?~Ye-oo zl>We7TkS%5RC2B@TwuFU>G#X|!T2Rz?hVhgqsMB!^Khk&C+2h0Jb$LIMqVMvKALt} zyQd$gY{zHId^J;c{C2CIswupc>ZE#QlNr>b8r~Jzpc0C$>#lMBWM;daPDuv+yp?aX zM|ZUA^0~I!d%2qM9p$QSv{|804jy|0OC4VcmR}kuZS$!=xv!XmM_eGwKAKHmWBZTg zA!9LNEz8lVcGc#_V=)oG`Bo4ezlMOW#7+KcZp zW~Al&G{fiZ^O~$NntYxa4O2$SD7V?`M`37I+r6t)KXiC~aMelypY!z5SluRPTp$#7 zQG{K>c{i6%-#%uMeV~g^h3l6R+nToN`si^g@a_9)&{BpK`XycKv^r*CI!)1H)5zPb z@0p={|M1+!1-5Lbmln12>+46IoebLEh><3Jk-ZaQ(5T02=er)osoy5`#Yy+ zj_VKd z&$*1wrKdgqj=6cfyS-~YGzPtw=a*X3y3t%&xh{C-J#FW@Mn;MXoN|M6n`QvS*61!h zX^m>*>ybU=uZCg0Ib5F&W%nKtZ*R>ihuz4F;N>{39*_V-{l?7loX;o)@wUEy~J%rq((!U!|u3pZI zqbtX@{ILntoAYwF3nmTEVU^}xXykh3)+iqgae>V9olrDQW(c|3lJ9Rdw|T9n^Uvpl zp8S%!vG|88I4Cc_gl_gl5X_>QX`ScK>!vU{zYX;}AS%x_xq3GUv}+p|Sj!FVQllX% zZoXevjA_Q#EUDhQR?i*Rf4UMX!`oatr%2}cxE$sRrAcZeoXb_dRWlmTMu8cakA`=5 zpHs>YC0t;+IUPCYFwzX$FzzNujbP1aCEDLh?&wi=^C_~G5mH_kLXLED*ZNR40ZdC#eGC>S{+AyL{6fg z<*syBK=wfRsI}Gpk zp2h6gYh3Bq>P_>?<^?U&9)&d1sucV6+xiHARyoIItlquA0;}YXQ*=E5w^Ht|kh|$c zeM;I3o^$2i(|tFn^ccI-&zO>2sW$ui`GnE5)|1S0)rTo$&3k%iSI&#oyY!3j*e>yG zM(m`ga!MOM`;BwS6L5hqJ*7h{trF81S|#(`K7R>nIjzHI$~@-MsayIbxBw0&++J3I9;P9d!Xooj1~Ktr({F=u?*e;R4gD3@>InP|JZnm65gsok=V(kv9_x zWS0NTfEdeVxh&6fYXLEamRVJ0aS-z}17aLR zmmqvWKul41`Ay+4M&vn8j-xKD!qc>{B_6gM3yb1luf@QGSqQ8S3&PO~YF7AhguEJF zV#w>YK-U(TZ;y2OP=32&TiXLv3Y$ey%Q)t=d|MO*V+9_E-1dlqEd|iF#HjX(Lxq#} z1Q7-LoHNQ=a6h9;nM`7EfAtCu?u(+JWH?Md@dVpqbrBlK0)KV-4gXo5Hfy@Bl`!Fe zQkLt8+Y#4(9#5luH?oPq)AJ^jN=b`WRO3W607smIW-5Q4x$(C%3Uba%QaZXH0u^3` zE%cE}qId@6v!VmZP+@qqrYgigctJvwZ~pR?_VN{HXsd3-ez11j+98Q`-Uk$5c)$lwHEbTbOMOImPu<%RBW#h7$b8VA+QU19spxl<$_%qB5zw?#tw<3)4#D z9I_8|F)0>xmt#gOl=Y~VdhARx^usyZZy5TO@i^$#9`y_^uzoiT3J;$BRPAT`>fLS2 zzUD@pPz^@INqb=Q@^p*7X-ZSMS#a`n#bI+fk(+pid~4NTJf{W6*r@kIHO2R+VHD#5KN(l6a-ui6%d^{LVEQj@#u);;ex+)oZg5vE2~B90YUWw0G$)pCO8<-I%%qKIROzpB)_-RWRb%Rgj?P~PmY(zv~=NwPUCHo|7BUS!?>&)%2z zII3)0{*}`E)Ghj5=IKheB``K%gTZF7O{>*n27}EEHov~XWM-wSGHW_@&aFDvE~%7Y z2*S9FEqSUa7gJWUvMFl}bbuDhDvR61!Swb25Q{E@KfSOa0<)h_D zyqF{)e`r&js}!2{d*5$0py{`vd$8zQTY3ldvgzqyb@H+8m9&?IFxxIF##gLHzV>Xh zsI4i%s|=kYLpY_?3T{g`US@!?HL@T|ysMYzc(}-$UQ%s4FdLd*SHbGMwjx@FHOt$I zxv)R-ip{eN=ro(~Jnw*!z}iv_n+BDp4#r{k9!eHuL3mi-APVs{O7;wpO=#H{QL>}H zI3_og>>8zZ9BSw=rnQ++d6yktf;pM8a$xclLX~D-1`Z0o4bqS+2PF+6e9 zt9=eMPQuM2Uf-~eXtyV1ZtmBBd0MAkmLPN)t)8k|h;YM}07Oznq z&;gqZrKd2ITrlh`wfIWRQgwsPXCS1k3jr;y0KwEf#jOlL?V~1fua|9`)@DJ{WUo)) zRx8FR4X_$#pWB|Jh*Boj$`#@|_iE_jT7!*7adRfz&6>q2Qw{|fHD$LzJpBrG>iSlX zPvF=z>-|B5?6o&>OYn~(WUs-osg=KokiBiq?-Tq8j!ilIDniBr5x|D%?d|Y0gzWZ_ znHxAZ9<8@d~o@ZU#edqR+KlESF>P&<-9 z?pSO%2|u&gprLNRhTsujWwGJ65Zb>xi|uQW-e*nmpsoEoXls9z3ib&ggc2}D!^jg2 z>`O!7C)1`r#f!+-lqu+iFNOaD{}d}CaRQ?rSkV`-q6aMWfQ25g(2r1*!d)c<jN;dD2#VOA(<4&CUIp(3Z@4Ihywb=Rqq#PP0*8Q4O{_W9he6(l;Y z7+`3vO9jjoxHyLTW`!4=q1#-JV{BbtrW_WBV}lhUug|dz*%f+aunny$B3E%c-)X7^ z0iY1D_j9(m9&y9cQ)dZr6sc&&K6g~#7oiT>0xiH#NZ7e`H$ah`1PE%5D{jqRYpWG9 zdy{MiE4D7u>Ue;c?dq75dETe;wFtbco0dWnZ^iRc3eG9wmD2HwACX&v5(t2#@g*xW zE41taqnq*SBOPSw_}kV)@T;{yG(Hbc%W-{9vw9_WbE!L08?Q{9Xb#VaaF(pxS;Tf5 zLyX1wwsp#WZul^~km?%XU`IO79AtZ5_o*(e_VK0b1^AX=qU*BNWpiV2cy%1%X)+M1 zYqeQzo9iXeADRv`RTESc#h zmf+6-Tb}3WX$trWV9PVkGC>+|(~;h^k@pFH&P1B};k#hV+x_qEGk5QpNK=u&0=5|U zV9URmj`UkY6gV-`Ier<40wc&j0ib{p@{72~SGh&RyRmk!5sC?&_!_qeeTlF8xKEG% zy#nff61(WB)*tMmAHjWJ#V~&l?mLEczly{E7U1_mFZ%n@i|%Peqse*$CL+HP6Z)J) z1b=};7XLD)c`w|=^k&lo&k6bSU6bV{3KGua_E>3|U_j!#6xguSOh3?D% z&%vMuP%qi#HHRn=h-su;?l?r1>d}@?m+jq1pDI__E+onFp`Kgof9_4qBNowMRkP>jD5X&*#wB?16#tz2wYcNrbOXhG!&*i3}y z>lLf6`Pw((0^VNt5<(jpSujQ@2s6!870TGia7Cn4NW&opQh4 z`H3Az2X^Uq^&t_pEwuF^1>p6ChPdIXNkyWLXL`S~b|UN^6?(qvP)ocehz|o(1XHd$s|??=A;4`ov+xk3-U|{DuX<7hIZoe3Qk<_aG=3;OZW32PG&}R!L>`mfL^ni zhzu4`lu_y^c%NX_b&dn>`OI#6bX_iKp5{riDwv*2b}*JFm-ZTRCnwcae_ookV2WFD zhRjrWjwd`1Ni%)q( zlRdnTwo~5V5qTlgtz0de3)OU5Nw-?kc_lBB2-aO4G>mz}K5jak>n9$T zQCN-32)dXMN~1QiOL4O66X`h+L`q@P+|qW85yVk9KYKlZk*B8TI@`Y>H3hUB&A?}P zd)n17NYGP}MF>}~HCkV1*AOL)a4rMR|fy zN04ry8$9z|-xHkmIi~Zb=kWQ5bv6jyc)Zzo3)=Aa>@-QaFmwYP2kXl+F*GzC!!u)0 zCBsAvccjGt+>ICMNWx*N&yu|{ffn@D+Fd5&AYJj>#hVGTnZcKJK3-lno8i_7#(k3D z$S<0@&6Gp=M9&>Wem|Eho(!GxFkY}DUdG%aKJPwVxA{Wk=TN!q=Jq}_RN$OZ<>4<* z9IAQz{ObwU`gJ%&f8AR0Cy|Jz)W2DI>j}a8dns=bB=m;@4R0Cz^~pyVj8R|23_k<+ zhT6ey$~Pm-^d#N%)4)CS8QjxHREy0nABJ0hH*D`ieHltNc9I`J`QEAiA4mBZ%MCujxL06Y{rufHS^7UHG3xU3_=5>4K zMZ;_QvYZ}#QuMlvrGD8WJ7)3u3ClahPxJYczSmF?FCIGAEi+F#U!RD3-A3qGJMRj2 zy|#vLL5b97jI&z_eu#30{sZ|)IfLmjVDTAU93{K%u*Gqbd|->;jx7#_dH{Yq_1UD`&97JF(7IJoUj=*F2#T5pCG zP+T6Dz#apG{usgOF^`K>HFtOwb|I2LP6F~Yjo9{bPBx|nyGN|oG}cONK!}hO(RTEF zDspQRTD=B>C4*Y%BG#_QbS{upa)tsbOF2!w_zMHaP2LThfVp3TAOh~hxTZsqN!DeFsf9KM_Qlo|7Ovs} z<~}KBmR0O5(_FAxyFO(XHEPxXsLX6;AEz4vSykwapKalZK_zv-&LO?pn$2iW+NGel zJxTlh5z8)adOmKo;}I0&{=`6Vh__IGEW{X{U(PWp(}+ofG3F6h@laVEI#B~9Uu|$` zak!XgcyFkihFW9`<^U;$dciN6(z#IFgtXHr*~2>qR*iMdUQ!11C7y%n6EhFtpU#E-(5Oi(l1xk;>J67)|OGmuRJLnEdGIv{PVPb3oeS>5Ts_$((;;r)mb)4-Pm|7WwPO5;= z!@?6DOhL`=1!mQ1?)r)uv(VdO2&|M?FarWJW@l@Dvp&dYSe-2x&q+xGj@+hcYgv`l z(w@kR!_Y{!iM+?~NaC$bId2k4y)G|atLZYnxY)(c>z8{8)fhe3rCgtbRHn;EGlGyD zL@j$C=ktBKEd0Q)ORUwoj#8% zyo3MVf&%}6|D{;qx2n(A+46m6mA}<}=J-#0hY4-?J=BJ6&Ika9xKbJWYm#>*01F`W->mIJ`!s_H zINEPxr426q+TK^IY_ne@Vzue9=$hL$(@p&_*qq>K!&RXS1(}!gnQHDLeH|fGSHPRt z@(Z?EwkOhw@WSOJc+;>L-K}&GrK5`nUm~K*XFcw?ygjLe<=d1NX`L|_*|mukMrph~ zt_GoZjEZxm9~>L#jwV=yps|D%cW>}Ua9VNFHAty-S%oCCxA3Z^4mm$zK2`y=LQr;F zuh?yEA=H#aPtP-oKFqI4(=L~q)0@X2)$KKGl$^as>SRkWtV9G(uw0z9ga%w%;l0h1 zV!hN@xWs6pJtXTSiy@QuRy0nWKxgqb=qb9gxgm^7;@aS7_H& z>zxQ^tdc?sI30Arc%6Pc*Nz&gq0P7_KlU0v%fVSsR*aYuCJWRC8J{;uDs8=bixpP{ zP}eO@^8r6!?D}I7%f~&0blAI`$ei)XH^7!T~2B0oUdli6(#G7)!Qqo4)s%X z*&A`}%|T+RWRPU3wXkzeOH)2DdMXsmF!5HCAXUj8>(ZJz`d&P?$4aaLhmE%(B}V=> z@UH>0hA<$RC5i$H7 zXLQ%zg?h^KJ1!X0o8g)-R2%~qjBP*h-Tea$w6X3UkP zF_SZEHQ&vU-tv<$A_doMc#!aMLsKhKv2O|brqWssXoU6wV>zp9-H4ex0n62$g-95^ zw|3znSs?_o(!(vVs`ygrk)m?A<8^g`kiwL;u3XF*6kgpDJP;=A2aYX0y*XSBnqAbxgBs(f}?y`i1v7^~1Mg zOMi%mIMv~vO@9^-acbq=rT-!iQIwS;u8VKsA>I-k$%tR&A->u7?mw5IBBwfhC9wAu z9-{PjT?Vvb{#Q)Hdowp4BG$?M!(6H3|GopfNk|5yk0^|^w!ciLi zPCyR9NCLlsatMmiUq$6!gv(wneg9rcWj~0@y;J*tA}V)#H_an^x;u8nugZyiH*9yG zi?N>lmwednXx476|BbR`zb?~p_&bfyBVTOpP!>0c} zh52~&_XF^J0G{`N=bPeu=*|23meU&$`X4v+@DBF;hiIxD znFs3mSDfD9K_@fphI_2I7{|x>(8(FMt!di`1Y2{j_PSb_C6P;@FC8b{KTjqs4q*yt?TE>dUiMdT zFZ8ra^H_?L_NB=saU~uv1x=VOb7o6Nl4Hn1usKjAm@QvVq7a%|Rdr7k&K!unzOnEi zci=_b2xf9@?Y&F#Z9-g3Zxy%fdZkeublshiWNFJbLN>fp&fudtTjBY|-0tZi-7**&!4cI`Z7GE` zI$M+lz6#Fg#l#lORx$}BL>Ag7*pjvaqwbZGI<{zyM!Aq^2h!)dm;{Oqg)A4d;8<|O zuw>a2s9OG>Csf6h6CSzrGBCxHilMXKCm2a9yi~J@v>C=L6uT9+=Z+n4BuI9p`*!OP zWoasLdLRi5szP;pJd`li495SI6}lCoYMGPJBiy?&_26XoFuvUuE4Y zd`bkF2u|fy$J5KTEr1bDs^@O_E!ZooZ26KjDjOt$s*e$jm46)uFcL zuc|6ImJZl%&p@;=E1WombpbZ6ZwRYXd&y$-yh3*Jmer~v2Dt9bnzZ8;RBhF?w{r@M zcc2M5*5l0u2m@N06%eW^YieelmRtF-aZ=$l3({5A_gV%p$+BL%g&MhAw&^8Em-o?J ziX~F!x>=K@Lb#2lBHK89o-Le~;B?}WtGv@XY;m+M0^Nx$&(5mE%>Vwa0%!R1m*qHu7L>s!@Z1Z~RhXzzcVZQNq4NRX< z=+yZm;TeJ`41Y zzUg|GM_3*8$n&yf!90?@z8p$w$gvz9OJ2(5YswkK9I=57BDD}0DBGn)FL!Xejd8Rz zu7*|^Qy4NAEM|^gy094m=Z$|p900+*Tx1{Z9GuvJf@BG`(bRB8sStWti;ZZ2l+?u( zm>C?W!y7sYkq}7!U-%Kz-z2z;z^dOJ-v=M;hZY8<>k#SlT@tcAjQsF_Pz0j??|Yc(n9PT4 zTy554Y$QU_L@-5S{o9zFk5&6!VLs!Q4r{;D=iJn3Rex8+ci#OrTI%=11OJ{t`ulHQ zQ&Vqcyh~-lK@2{gXZu+y_uqUum9OUIrEZ;%6`$MTq~m{AMkmXXVX>Utnsaz|Tz8N3 zqVAs)9{d0F%*ALD#!;G_uH z+8#y_8vS;)gHbp2Yugpn^L7PaW=;NKxSk&Qy|yZDnZH$c_|Go9ZB>L*5%QPaig5VJ z+ts&jSiD#F_CMW7dE-4dn!mhB3}q!>y-D7*7GCx`z`N{xy20|?HuUFW6!g?Q-!0`p z6F4%C+aW(NMZz$COX#(#0}WBnsty=RK+`Y%tj(Eg^|B{2bOvvPr$>7>-2B&nEpDHu zUwdOO<`upX@mOaJGcq2RCa*7pWTD*yDIV@hP}2Sc^o%=69qytOI&Y>#hGk57$@x9@rJ>G_Yj`kt3x-njkp zFsNQ$KE>zkX=C|50WW#^<>~q78koxcXWP6dtMTz%!8*&*q5q%9?)|G8jPu~}Jj})C z<^ulQT)dct?=%-Ejp5kn>WrQRO(G=mCA}zwBB`IN3jd$%S&W#%=v_Q?rhc38_~i9Z zf4&-#$o(=5yG^>^xrm_=5`OaWaS9vV{kwrUtlQz?-!u?mf+nEpz{syJXT~?NQTgeU zH@|N=gS}|$y?dS^_N2AgLgV&(`VQJP&enHO8)WimVdX^EBSeZ1$OfYUfG&2TNrrU0-U@@ z7$z|IQ-|VSKmhtrES`e;YJ~rr(Dt8Jmj5vt$N%{-P_GQsFBVPko{4(d zRefcmo_1D$z(f%+34iJZ{q=_}-rjvgQw_J&vExB=4qc$+4;zlREI{`}_JFY){YPo) z(RO?ouV2<7bMcx2>G(AeK=IVzeDx1P!_82z_2E{;D)L+5Dh@U21q z`;_NlsD4{R^}?drX3crjo_S@kUejm3Zm^)YRhlsPW6%RcVbm1#@C7S1=3~snmrT`X zo9ZzAj49q*6>s?Kl~MV`jJ!qiMQ*9QL$|$s^>M@f4zzrJ?0Ptkh{IfF3LO54jZ& zLjG?=$p7S!?gu0Px8yX86YjgS`fK9c*JpKv#<7=W$Y3p?Pj?RQW_XySV3_r%V!eX&j#aIo^5y zSQVK52m0|`6&!lf6ns8?8N+Xagm)5yQ;`3w)2wfy&;RQd^ZXFfdkE=0g!FzuNRL_2 zUPtdcmtojBG>(t)%g>dQ`f5klSEN5|0-u&aOyFqfFrRrCl<11G-?_x3DtEOlWeHIo zc@fVGaXzC~TXY4sQpgU@;8hpqL4K7Bt_$m-sVllc+&w{iZQ80fVA^8YNbAdN*Q#rG zQbapt{n^wNuMudv3Bua7V5N$!^LhuY;(e`q3gIL$4f+n8U9i1sk-ahl1ZIopP0NR8 zGU->|v9mqzR80v=YO~k@5}Ojcy?nKzMRgJU-AwYil0wVGhcRe(o^5MvdER;f3!&;T z{NXKn1tl?;gDWYP`C_f^m$7q8(3I#IXp#{L9Fz67R@q&BHh1=^v#>7iPbD86ji4!9 z&9~ebD0ewvnalH0(7>d?KzS=sRk5Ns_JP~ar)~ou*9yhAJ94)p_Tj~`k;6vXIPST; zTBNL^J+{oL?CgXL2|El>MjBgF@ zh_ZlpETl!QWjpGW13iZCUHq`S9xvWC=JpAmON84t@(c}>WL|7-)6T4`+ibLRDEmO; zda87p%-5bzj4)b}Too^t+&s#HY{P@TMp3GvkqoP47@ydlP*p?shAoInQ5NrTUte_W ztN@`zfJqce>cYV$d9Y&*UYaUvi!$G>`@q|2i0gF!pS?5dauit-^k1n{{YcLs7O~8n z+vl+F2*l2ud0-VnLLheO*S8Q6Ss9rTRe7`SbkDsNJj9WRkcG=}H~ZY&-0U_{A*%q1 z3`Kn?XKXR6qzOvEO!s&*^DWbu*|9n8uRDa)S;&Nd9%9zKcN$=nm!Wjgt(*8q*zIeN z43#aKA2f!8X10Te`*FH@M1faCaFQoR>BQltg46*F6Q~FUZ19C#nBx}(Ya}_`8U6%a z9PhA$Wf+9+cgLh};80SLD>0E!6S(v3Y*MbMR@eI| z3h+0l9`1??aMZR>WTvd#aFdkT<$75&^TA5Z={v;Q#CyL!ixiA`_u|-Y9LBis`*ufQ zZDC$7=ef1-BiJ=({7P`pv$p!AvsPE`_#`i-K{2{{s*@_?J#$yK8Ryym^D5p3MZEjqQx z&11VgLR!Yr<8OhZ>>&zH+>D}!TPl>B%GsZ><48NPv5Dx;N_47*sXjzKssw22yjyKb zSqAhOQl_Z9+V|_p%y&XUL=WTMU3qE)JDlvt2Hb0yPTNz60meKbf++9@vF_D)tUUaN zXy9(*NM@~T9@W|;xxBDPa&?1cg;b~#uMH99f$Fx}>{?X_soHCsnGM5ULZ?Zf`Ce-= z0&n(?nq8{F*m?T4_Rnh>a^Z3%)yrN3yYn5~muM-Tb`j8SLTDdoFdJC{yYuYa&Qr5( z-N zKWx|DI_#zxqs7`G?SY;HX}I#73_N<+ON`qdC{-5-S_&g*Begg8(`r+gxws(G!(u3u zKhKnONRL_tHO92d9pKK?c6id#1I0QClQ`sXn)XdhA7*LKoht$jF9(+nhN)%qm&BqO zs3GR&*g3f27*hs>CWS;wU>p8cN}@RA$9XL6Hk$|x4m=8Gz1p6^UOpK&N1>UfBP#jQ z!oglStf^0J{=$}b&)osqMJmNGWlk(;9GWsj5#5)>yreh5#leGnolRyb9EK~v36F+R z$YBV145H8WHj?I;uZ^d`IYil#W^!Sx!~301i_SpdF?hbmCTJP}q|FUU2wfZ`5>-Cz zW3?Azy2OuLoSg#502G+;;10={$KZYn)8?ISS`FpUf0c#IfMHlR>2Hzf#jToDQWm7a)IV=L|g9EoWj=t=H~SjYg9m}ov0 zFYGDFQ~m(lWOSQnv2VK%PH5_}YX*Q1mB)ipqPR9_Ah0Yq6jpsmZ_?dxDtjs~4~9rt zST|o_Osh_nbfr$aCP8DT0ZjbesMBUkN5{itlK1f5 z9JGrKOSL3z@*SGsyUT@TvAb%N?e-~9gq(-f0n}3WXv4Ut$4rs86?q~kGKL1ibs&V4 z6Hv~7uaFiuO45~GE14~Km}lLk->PYSS4eBax6_GoiXFg%b$;gkYg^r|lhxhSqiT{? z#7BybuQuhe?32SD5OBHWauS4G31nH;$hXQU_kwajO3&jmIiw{8?bWtm2L1wq!j0Mq zL~wwsk0EkApKViaoi9U0Q77lD5^WvoRUjTAUUtbR6{@csV9^SxzzqZ^k=q5=II2a?t1uetMc&=y0e7t8^Z+yAIY=LC#FQll^iXFZ5QBuZYh1E#cvk28 z9&H8&ZMmJbc?#4Y+K4G}&nBFd;qaQ3@az;wsTSQH6THVpbL6D9OO?5>m@&1wVq2TX zEh)*#cnJu*Der=Rh#di#*YyZ;w%sc3Z9#~bWVOLRN;2I6{WS8 zO(IZ)Q5hl4yGth(L0r!v&q97C3Hh-`M3WF4obsOI#=4A+#i4v~#z5XdC#STJwJ$5C zJ}g?xn{p{^_bhlv=Sk&u$&FYl#;ptO1hdS^YgvuD2{^hV52QdQX~PPUzKc;ev!)DZ z&b@34hUzh4kKkCP@r4lI$Lm8)14IVG{hev5SYDy1Jj9-D4oY457Zhd>7%~TW@Gxk- zSj;k~A>8?Z;4p|g=q8BH54BLAu4m;a(1mJ+WOST2P0d<~qKEoZ;Qf9+TsVvKz_DRMW%ts@+c#IZ!}D*rZPsGfdpAdvYei+eW`5NQ)h#F84D<**Yb)LXk_| zP*o$Q4S9FA8wMmFV;T#cJ%>O(cv1=b@i=B|@^wFW<~Lu;7CtK$PUai!qTPtq@pw5c z9ZYRs)WoysUveYwk-$G@!(%2e&msr6E&`>y%hlFxbG>(Wql26q^jJMQr&70wt#M1{ zHK%?LIST8GcJI=b!ffR`*UNY9VpzEAUQbi+whDp*&a)vOwT^NxQ9%T+YKo1Q`%m5X zUg1E_GE8q|Oxoh`jS5bnq#(n!;+?DBo@HepI6^dAgwd*NAIfZuKL}&6v+Ib@fg&!` zHHbphZ|x)1ZGEWs2)0m6n)2N~O_Z|i&J!_8;!Ht(5y%Gz+zQRy;NZ{5QlD+WQs6ahW}L=1{c1}6 z+J`@&3%|eK7OQ-%Q~4D5ak0wx=I+}|UCKl9z}uwcPyG3SgO=^UcQ^?784g+!Qa(B8nU3XL0qZG6^Y_DUqJwr0!#t6(NJ63^vilwNrHnnt)nuktJ z^xjw>3R*=snHT+>Bod}Ta~$cg7~b^puxGb!N!Kz!OAMB@ZQ&&B)MW#4Fi*DUv0X)* zgrdm+nJQ5bA^GYw5b?GTZfA>;l7tTrK?U6vhd$l}<2pzVp0uFm1*ig?^|mwuKlTpT zJ!T$V(M%D`#+xuYqPRkOQ{t@y8$sfb7{|NLqaR#kFvUX4t72OF@+5_4 zzV@BS4JjZIB9FeGP6IQ;d^J{F)sg51J*hir8@Mc$$jnYaTJVD~ zR*}2|tw4k3I#E2naNI3;U$u?G78@W;;}(i8c06kB(6^ThV(+ooAs`JDQB8uR6bJM$ ziw^E+f+fgZ0P13(^ta^j6!>O({Yi3I=kf<0iJu{d7v=E&zQoUv!&Bgb4(_q5psA6{AR!GU2-@cz9WZ!a=*!+$Y}lnX{_P3zlG5*nYQ1-jO`!p#=toAB#I@q z_6txvGitvA#WOGVn^4$i3fq5wx&Qm2ut$I+ZF(7QyXl8;;kJ1j3QHUSr?-kZkR&Tg zIe~igWG&vAn~a|M;M`?8z6bC4(O@H4^3&#i-%f3Yi;1o50xeXbwu$}Fa#n%60oGH0 z(;HA~%;Cm4Yg8zx2>U>h{Z>`BBY*7r121bkxIUkB1$EJ8bI^CD;ux4%T7X^9Xk~P+ z$*!Rev<+V??25VR6)zanRWiW5M=Hi{N(T@KKe4y|hE?Hm)aQY0NjKNnk3(YVj_!Q` zeoo$JdDJflFwoaDzFk#s)v8SR=$S)Xo$EVyO9MFRS$-&!2jzh{c*gJX6le+- zU>T(o1mBwtqJI?+l5JTQ1j#p|t;weYKuzGizrt?66 zWL{ zZM|LOAt+AnJE59=AK?uG8PYS7t5`0B?M=0!3lQQDa>!W+@N*POw^usT_J#_qPg%TC z{))NnZv;MHu@3$1x*&nx6G+|F z$;(W0`OIm#<$fSA_{~}H?f`xtdcGZEPl503#aw@jo%sE27+`rVf4dFyWtqM#zn=#5 zbpgJFGkj&{U}!n<@%*`()_$pdyS%I~3wrdw{?bH!@wZ>Ae?Ncqx7pXOj^&>%fAmYV zWR0&+&rdDCUS8<YppIzWM^5rwAYXQ2(!`pyV&(a<=Vnzb+LaA7=cu&5MkMF~0g5 zZ(R=`r>aNZWd!UySH$u)Kg5QW5x(%jlBoWN9S&c81z`EKk_^PayFcwPj*-T zpyvVSq%WR_TLe%5fAy}l7;Ns1c%3pREFsD)G!K?=j*45n?{FmBW~DG5xhw{W{ZQ-p z;(5?c#6f^Y25l9SUiVQGdW)+mfY^kW^0KM#N=={{1TjU`_IccakqyTUv#`0S(k?~Y zy&q9GmkOmLZ43=noxm!{3Qq@ZYBe%fdAJT|2M(xM+q>v3MyP<$qdM0UzA4W1o@a(0c4 zHfz|RsLXij37Cdv^6F%mU7YpMWw46sja?oD+ax9q*wP4~D}H^?DWFJpr+Ms(D{O(FPCf!4^~0+BQK zG2k6ey?sLk5+@O2GY-rScjtV%T=RIOFEMlTH;cIeOZNg&a_BG9Q%c}10zz0+XC3`O7?G-y#2k187%u`@=Br=G{ z2qSDR9z17eW4L%rAcujTEBQQDx>so^j5=B0-lkTlCzDG&9=b;!0~#iNk&KCQ&tS2xESe3(#EMs^(gr2^M5&1E2r;l5!a1pgvpOzke62miE^2_ywP3qs` zL*9~{^FPHl0FUn-+ql3 z1OBy{{!tT+zH6fKzt2QJSN4wu`npxHlooo&YHvTS_NUeUwA!Cm`$Ma(j=M1YL91<} zi`BLti+=gJ=pTj4RoqzkzCXE7f$n9TYa?D4{kW=I@bTuguZ#XWQJkw`NA4sA_kjL7 zA9QY}I6CzpXu94w06g4JlDMTHy$RQ?x+&ZcEuZA0YhNAAtN$5@!Z z**lH^rWA$_MH&m;wAU-oX;buwu=Y(9th-{<)u69jQ3NQ=?_F?4fO68$Dp}|Pj3{Fd zq-oleCkD`OO@7UhJn@f@re#u^hpL}ov6%H91Ar5-Mg@pB? zRHyFIsdy&#=L^@}06$jRW&|@nFtcKN*%r-dTT&?%-q&} z{zD1gI{v;vhA4lX2+av@Z1u>|NMv2w zq%v{b=uk1OPg%KGn`?ALMP(}-V&f9iumFRyA8!CWX2D%U#AmBTkb!ixy+RG(i`@o{ z8?)W!C$p7DV8+_R!|0pUCd)H!J_~z34*RukEypQIBa1UK#&k0<+$zR%LOraXZ@=0 z=G@;<9MAdXC(h%X96Md7Z(SHzGi@URuTD<0b&aiKTAy2F-^};-^V93eL~YGH2w2K zlUHNz<;RadT80fT#~K%;%GTNvM)V)UOw9gi4f?W=oaR}}liyoBwe#Zp-2<(f8{(A5!Cj`0#gaIHIq*Y}Cr zgRr)4o#4B=$2^!wQ`lf5E^KA=7x{@&9XkR?tR>;X*QA7c1C z{`hX3WK=d@_Fr-Q@zs?R~w+ywQ(?IfCE@MXrQAI~6RO)c}7t0_aGMY*GQ&c@}g)oE|K zB3Hy9xsm3+3#)a1L+%?a!!^@q@hsoEa8t++T{<^j!k^nM53w*FCl=}gk`m$F-qOjV zknn~a?QOkD1k2p)Xx-Z=w+8dikT5mbZs(tm=~Ey(Y)&1Rmq4-ax94kvMs%!hcoZAw z92AYQ59Cmw2cV#d!|C?>DJj=J{0E@ZE9AU9ls}J79}E0Rbb6(xRp9sNbTFb^d?p(E zL3Dbhrd54?fKCVV2hr*EF20FU6#wP_An=C#zaO#GBIcKR!GnG&0SFT$mM>=hXDREY zG&zg#OL*o_;>vs6@%X^=mk|1F*>30;VtJNQnf~@GxrMjCKHog6oVJ(r<=t64KtN5$eL&GHX3(j9)DQ~_9U%BMnyE9}G$ zkf2NFrs!d4XL^9K?N93g*wZ$*LIHu18z4>rnj-+{%ICVIhla$UlFsFbmJ}?B+q0J# zHD;(VLr{EJBfQ33aA|@AGINWfPLVYW^yO|Q<_)qKqhom6EK!#X=k_waY5nVu zmp|d_WfSo6Z@c7p{M)bgvC6t%^lbWNUsus(`M+7z^;CC^-u-1kUAp%_mUQ3Wezv*0 zzqT2E?xQYun579{-FwBtrQJ5=fZu+DZ;+Wsm@V?`&VQb-#UiO|ENQ?))&+ zub>g>l3}jf#k&*X9rc&(VwpCk-?obhRo{x}a^k!y6K7JyVP6=-K-jjphOgrto~QaC zI>+V2`Q*9`w;4hUxN65Ejt|04Joyk*YgQbcAqL4fa*BYEKTB{mZ`-{YIEH$x+ZODT zH5m|~)L`N#@HS|mbg)qIis;H7bFhnF1_$ZrPY$T}**Q ziFJRS?P3DPNfiCBg5M=kUOQa+2krc0;p5%(c*|+~KY|YeB32(Fy2V}-6KjslC00*+5;<`#q**NaY=xkX60_qk|w&7YM z(Ib1uE6$H6W+CNt<=28mVR$CFD2YTmMN#)IBq6g?BP>8;I`tpV+?1b5cWbD0E>y|F z{;cuMS{AbHVYfugZQ%qb#^@40HVaa%oUy{?#gTX^i!B0UlORipa6O456QR1V>_ex2 ztcG`+jUXHC4RH-DTTcwQK3ltO32GfIq8@SR2+YJGf;_xBFpEmyU);bpk3 z0)O}LowGDW{^s!AU)7N)KEBZZP?rtRU(^RW4AJ2|5cwzgK22NKIoB?}xBq1C%a#*I zx^-VgQCEAHy9-SW>J#k<#B5_`k2`iagd{*9BrJ)^CpzMPhjX*{>-|r1au6Va0Aafd ziORmH1}RCeT)DnAW#&qJq_J;F<2Jk;$z5Z{;|+4Q_WZbDpcUfNTrqQMC>wtaep407 zWc9EFwAvdv|Oc~vb)xxl`)zL;4_JtX07}Ds67|+iQD<(^OgFb4{-UwdLnBG zlG48N)5RBIXZy4Q(^j+wdd&S{%>b;aG-#kjgdX3GsZ<_f=VlYcc>4#Z%IS?|l zRI^tRn&keZa2cWeyrApNUw(hm$~$9vypqmP|HY(eerNL=vp#$27EMqjd*GT@`0*Px zG&RG0FxFOHgvW62DWH%HEK~@~DtzEtBc4y_V8GTI4E3V#y|5%CR?sNPqpM=I7rSi$?mXVr0&OW4Sn9`oTv92ds3nw z%SGv~Hf+vyalzfBuweJ!YRO(Aefuy-ycrN#G~PVVBthqSKzS6 zzzRv;U6$d19C~sB!usB#G`vZfFrs-0T&D;)Jsq(ltENl2@9EoOtu~lHzG(}SVSwYnWu6yJ8F$!_duoMCYl-_sdC_H6 zdzl#0liI>40aH;h2eSki=yX(+-;GSe))UQKvIk2B2Ha+ZI{d0dngi#}KDI~$*Jt*1 z_@PA_xIVLXBmx&{#2oihO`y%=VHRnis9|k$c#)JPz_}erzpzbWL+KmaI|1Pyj8^C1Hilg2$Gt z<$PDv;EI}OJ9Z#Ez{A|Y)MOR7 z$Zu24QtiLL%_lbMPO+pp5Owfz@)!0}DFtAngH{XSCvp9$3NX&_9K5#-er;{O+8O|i z+AwX@)>3rPw`REo~PhFx`_8A{%iQA1c>73vxIQCgZ)r()z(T?hSsqX6Q~ zd3~l@Iy{aFxiNvqPZ5O`_?tAHP3CBLL>9h)mzlxG9G4cjLM9EzHu-B!7qvitWeNX< zQ!)8#6#ZW4@{~WZb_jY#J_Q%3wIWK(p>9ebA`a16s6zo9bx9P@uq! zpnto6e@lXCa2vx|rDhr`{-&66!$Q#%|BW)FvFfWP;{HUg%}Q_(nq0I%lZFKzOMjtp zX)-(oVAy|w2xj0olfM!PTOO!m$^KzZR0F(2^VPVbDS`HJs{JGxoIh&ABIMsfF74s+XlV2VYG<&ZT~g5p{fNR zz!2IKL^%9rqeX4$uSL%q!~cUGw|22fZ`#T&_V4U5Hs*`b4uHLLR;FL z&&GcnozC{3%uc{w(Lj;(xTJ2l13$r_9GT3oN)os#4s{Z_-JhNjgHK&kSpsNSCWewd zk&7DOWL2`A20%4>2-K7VbyZJ?Wur~^(>Ds}s`sGhusslN@D_~Ag44LVSwXKDK#2+r z4~OiaFMKl1LJWJ~biHqk={RR%tqG_@A7Oh(Uw!NW9rOsWk%fO1e8*Z83yJ$B=U|ot zl*%gb1mS0Zv5DkVjrK%_ov&o5vv`!Oi7VvL;i;J`sO`u)Zi@vm3ns0nt)&a|)%}9- zneZt9?{};bF{Nn2)>aGpgV?qqGq-URSMH;`Z5P!p2rwR7Ws?HaMwtU?BjDKeHRDfQ zu=_`9;;f#aWhdYg1D|-c@Wcu~IQVt7yCj3!zyAr#g)aVDTgmXrrS(&2j$tV*mkvn9 z&MQa|9q`;j#03AQYdVfOc7L`S{GWh{+B-mtqt(|}|RJ{-?f7ZPBUl%UVdzHtV`&7D_?dz%MTe?l>%yLN_br!ePm(n8H zDGg@BWSuS1?bc(>d{3k^##ETgi&62eRO_eSrp>o%s)Zw3+D<;FG%GoC1U=8(%*A|V zUcbA!EljbpLUxi*n0eG; zUGG??HF#q6VnNf#a-D4{HD{PhF7icTlACsx&!U*@YN>9Mx0mJ(*B2g}^b(le>U%$V ztK^>a+v;#8KW5xD(32r*F@*j`Nrv&a`1)s3q`m;~V=)m8);`+tp(}HTLZQ*qW>?pJH=jS(=mnGMcll&iX@XatYr>o8n($iTfg7ewp{F+AEtApkETe0}$5+ja z#7G%f3^Ji4l)El_^PHS&jqae77&!(nzm@J2s>My@nXk5W(5)k4V^##+!IS6c9*Arm zzQl*c@0VS=HG5v79Gd-5U}h}f^{knA?kz<6>56{tSawNye(N`%WqjwnCg!Y zs#3hoH`2v=sc*8y;eA22$~DPsV+!BK(}&`del_mXj}osuw(E(BGPH|V9qXaHFeh`J z>!{-R`E594iq7p#N_j8dF-~uOJ1NRVdX^k^`{lINq(vKF?$v9LnL$&uhY7kjd1}t+ zveg}kwSn>|bteOP`F@}8R2w%O{l1|2Qd=6x!$sP>A14xtTg{o}8{OM0%NX8_n?;;< z?IhZ@cDB*EwT;{MU80|;ye-SlTzH@G#$AR_)c|Q#niChJ&LlIR>T-W^N7tV;C-+`o zY7fAvuIlOof3Ni#IMXaVPRk8r*?O>Q=7TuDX>unLQZ@~l?Y+HR z6`s>MrI3~tx--vmyqpy(%eT9d^fJqpTWrmC+KkcW>UGmjB)I2Zh8{JG^#{9>d+N0E z3ATSz!ON|J^4NU1S75nsfEmZnPUuh1++gs+0z}^eWwN)T9N&WhAy|>*++V zCM6*B_GOiG!%4#yP?qinCKJ60WvmZd;bpFLka&-!JAl>1Eg`W(U=7C!1GV6V~E| zr`l4~n!~D@)kih%y_=g3M~Sy|VaeY&XM#1T8EUqr4IbW7#XAXgc)QexEHiD$t(Q_e zGryW&H5c;BJSDZCGnwvyvvu+9wnNt!qLM1t8KEmoXK4^d~75VIFGxPeqQelFz@)$jE6>R5H|CSI^0e_2PBFEt)1_`9Lz|I zxWn!Ab3o~|K#lJ2kVlzk+#%dK*14IrO2Y5}mACcL)jNlNJ%Uv3E?wW<6)+D2in0YP zUBAOm?~u*e2%b%hbaWcDA^ro&^2^OW@8;VXE}(y|kV<8XLH)aLc7MWx_zaeZ+x?0E z4I+sza$;Wa3eltugSVALlvPOqBE|Y;VnsYUQQ?x$A^E~dxz~;<^Fo?Qa^N4|iHm|U z(=5{%gE>CB0Ku)VuK2lQtZFz(f>WP}T4OrKEj4|nuiCjY2i{d6iMY%N$~q?2zX-t1 z);KNS^omIka3j*3>+E(*{P?v~uUFfz)rv^{`(OW$vT$--f$KV56q2Cbj0P8`TB&8AdC>guX;oGE-VnJHw}Ou>t|=>nHYW`j88Z;m;I zAMNFotA|}>8k$K=+RvoMQCwO!YEAy@bZM`6EN=&zpwJ(4b<( z(IW;?({udEX=S~E=nAUgzL9>hN!F3u9;VMEVk-zc$8%I0Vxk9PybVw~5&(HfYF zeQ54zCIuqwxX&H*uWYD2{{a6pC+I#p3+P&^{OG%YPBy2|wXmtiT@E#J2B?{1fevk| z-RyKOOay*VS>48NH^TJx@M1pkUKQm^`$eg$YarONq{~xXa-jIa4N422NUwq^B+VxE zHdU?VWy$a!$j4Tak)_c=#6_8hL^Ufgsa%{ywMR)aNz-Adwvx(AQ>MRxB|S7mK}_)l z@z4;XSPFXM&VCMVu_>htH{^g|YO2|TLnBV*nS$u<5{}Jmst3K<3z|e{?oAo?RLPlw zmw))}J#t(BpymVBQuq40@E&IexVet1P|{)dNX)SeSG)xN9g61SDk;}p$=2kR1ROL* zam4lq43cYeSC3-qR&;=mKTzcnOo=-P%5w<*1U{Df_dY!2a zz^n{eOqS$s{k*d`JenjSn$6+{S@m_Qr>m9#qE^ z!YzbHU|_S2ii^p=j>GYj(lYtFHN4f@!1@;-l*AazoQJ>hkhy^^y<$;&b<_85#L+e@a;KEvxV{S4sAf^@q_nP_N z5Jq3-BHVSw=$X)NgfJLevVs-YNdn|PIz@np6*<9*2pJG~g|#BV1XriBrbtxIG;C8> z!_)1RDbLokS6B-1b$gdzNPPS>3ikwie^QfeLL-o61ggX)1lt5Jeql8L z5cfkQ;|+y7!nbbmK?{;Aq|#y`NGxfV&kFv{(?l%KBbL9$Sin=U`!w)g`H6^9ejNd) zb=T4bkbh=MPd9#1XZ>0wLHVKJJRDa=`?Ze$4bnR9Bh(4eI)U?Xp;{+eDkeUDv=5TU z(I}?*R3^KnU6KOJ3xN>zH^=J*_z{8VZ|<*ZM$g>qs=}9_F%3lSh}`XwyT0lm*>g|l zp#@U39TJ@)3MF@eN^tApmkT4wgs+wyQpp0%gk-eam@xW+(2Ne9FC3T*-{%b?X%Lbr zCQd7LAu{`7n&Weu^W|9cq{I|g5Q72XZH@rpHa-Oq#0*}b862C6y5oMqhyIuE<`aXs;&aX zu%i^vc{WMc(M=vQI;#eLXihCTOq7w%vw2+iXj@_U-w=iITPqA5ylkn4qFSobkou|! ztkekodUquOT`XmL*Ag}|>%NmLOY)y7Cf1Ay=ND^DuUw)MH`JdWEPe6w@0qKKRLZApf0UhrImYKvFn{H{J5PQXb zwh#px28I}h*vX&I20&RnxJZ)Cv&jP9Q5%opAutiR5V#PygoDdgx`&{Jpyeykf<2m( zMGSlTt|$??BXW0w+^rUBcTW(9m%NiS9?1j$wvrbv&$6n|Oj0c$qw>pAEnCaCc#vdG zmtg&5D}x15Js1rLJY7t)A<+|s0ixRRJ41>M{lUtZB)PwOQR{#@{xUfH;vpf)KXTPu zM2z9FYFtrfGo=}}18<@TbM6$M=w3bYo;&ru`RFOZ58BqtE3qKvl0tFM0pFbx3xv^^ z=hx&UUGGZr=xB`vEGY3AScrAAz=)v8^O-{6-M1tnAjt6um?t7Q>^sD+JV|_`fNR-R zXFCNiRxd&pW)4&hg&fNXX`&j4Y6!0yUe^){efRxhiT4VIlFb4`b15cB4E=BL$_Rc$ z#E@91OSVv6e6Xn`!^NpmhOK_EifkmNLeT)~9eMC-c2T5nAr&Vn3RDCm)iP8a-av}l zP^&g4YdI{aw3tlh1H;t-)#o-wJrmXU;YlW{FWRavMw6nB&6&DKVW5|vQyC{^4LuW2 zl3Ax_4fiq{*xux(WGi9xSE<(sUOtSkxP;RL&o|+#X>G@X5AfFYLq6I?mTdK-!e?Is zpi)RCbLn+9;iFI?9?S3Jv3L}0e8zP!R6DK)BB=O~s(W=+9duo=x+ohC0pc#0;Ds ztWg_P(E#d4`THA(mQ4(44D`io$CP;?%_KP?&AW;NvkzWxc~HXB9L?e~!XLQ;o=Guz z4j0^au6Gx;R&*DTui#Scj%(3e)#Wy{m<&gmVf{2e_f-x%Y-OS)#E^gSH6P5 zK|oL%ki1nW1f>x$3O+Ib8yvN-S}p_iC3vG6j@Cmr(!ig~<`gus_K*53iYcq>ls%nH zObeD_+@s&m4SQDfx6!2em4#-kUfPr+b#>U*=xO~a-0^4{ z6m--7pj1g7tUCcS>`^r?L}1T1Q?9|NJyhNJV>%4gVYI=kh5 zxH}P7552h;UvuPsxQ|fJn0+vgYeVMc3o8!0Oy9hzZNE{5Q`>22{ee?KZj<-rPm3ah zCPlSwi|8yW<&q1xCqgI0BGB^4%25CJgP>$H49x_d zIU+Lh3&Pv469=j5eh&~>caqO7u&sKo(W)0K)k5pF^V}%B-W58nN{;%QqW?Hqe2JtI zN&R(_+G%BT1t6%5Pfk7LL*lan%d%m&rT;wQLtx3JG?4cJ0P{B|03!hVa)52)>f8jv z)snv{_Jdv(@w_kE^ZtkOT?hyK@K@*m5K%d&s1Sw|Y$9y#=B(B$EhKS8AW9$_oy66^ zmR@J7@hXj#SLsc64eIL}udj~J&U&5`V@r@skQ^mri;fJAG(#aqHuBIUyuD0&8g?N_ z$fq+oHZ=bH&54X0laVuv!=db7Lipv(VLw z0U$X7NCL=<2V}l}FIM3`rx+lTCx|47ynIAvJK1>PG5O_^o=Ncq!GFUIk@N$Ser^f) z$G2R2tUUZ7VL10lUg1g>S!O=7NE3z=Yl+~vwaiQoArfd3Xhv)8*>8rRBFCj0Tu%#a9rC+dQ6EbpL4k-3NGYP7$UTw!{jxGOV4)789Ep(Z5t4YQys2h5 z91FK)BgMzD@zL0^u_+we)tq&4Cd_D}H_kCJ(bgNf1o*5PifXA!L+Y!drAi|#MlsVU zDSoX{QasTpU#?M7Jkcmbqg<9)_jFTQDUDb3g(!|MR~(qhuyCQS{yDK!S+ijnLo^7{ zAn})P#hk)Ynyw1L--r(RNje0xm*^0pLoQ0b$>Il*=cCecVzqw)#S2vyGgDK(QxnHJ zeOD3D2*kn>3WH&_UX!r3_bmrL5L!Z#7P8yd=i6ab7sbH8pt zuNk%@8M11}YVSy}O9-N6V><4t7QC-!dpKvNJeXp1vr#NO+3U5Soa}s&7>!tnsH={D z4jvE^^K??+&JIC0)!JP;TPTdG&LHXF-!Nf~P8h)Z`5X&fkp;yS#TLYHoMU$4U^t*$ z{6o%)5%~zPA^+^0i6qAg&nzm0;RKrqo4cjr;l-TfWFbK(LFf6=Nfy_MlpK|kwg0_) zArCqxPD1$KFogGBR!p?UIVL17T0;h%IFvk)tncW0bfPYPLv`_An(^OjodKnQ=!|pB zN?dftX6-pf1q%p;zmY{eRFSOyf)YDnDos!2pk9; z_RG!gLd|!y8ceMG*W=TiI{!^!Zm-JveGr^HO{WV;=0kwfZA`!!7jSN^pThN-Q0u2@ zE|p4dt~m2Zh5rqb3ipvmDn2xcD^>;)lo458Oa>9;fAcd4ak!?~{1iuJ(j+MMfJ z;i>a_SLn1VxsW%fr9@ifnILxf-yn9lkA4X|&?u|fwr4y{i1A$h^d9QSGeJPhWLsIl zyFv@Fj{Ry;_?4{Nh=O-WdvAh43P@mCw&*e<#Ms^T0b}>SL1XuH{%gjL<~`e}fKl_Y z9}JpEJeUwy6-2_ue9-whr!ER4Xuk&`B)K&2_tAeAGfS$!-ozGiT^do_Jx8`T@d|RE z#;P+g!`ycrIR`2V#_D!fAh$BUv-eI|3|bX-KTMajRBj^FnKIen`MLk zWD16-sEciB#O?fgcB{uC$0nKW!>jH?)Yv8L43XN2We)a^CYR;}p>Xce?4MLZ^v_8P z?L8A&YTO@`A`i;WnW#|InI^*>q}#}js^TKa%0tt+>v#pJ>vK~09eE-Dxi>p~vGyX8 z!W%LAAQSOASYj*H4u$5pemZCP6G)IivjWia0R;Kq;MlUr3H~(yr0pzqb;Yx?Dk*?G z)~^-2ra2l*)~M}BmIIn<%HQ8OwCo2r1^xZ)wPVV>kYaG?mM%TX5&1)|F> z`Cau{KQ`@N7Qq8)HsL=L^_+ueAE9GIz3cc`V3^$j`eH zA5wmsOt$RuUb87lmZ#&XE;;bIr0ZK!Z;inl(*U1keG2E_^WI%6wo$`BJWIyt45)vh z>c=4+#TB^>UD(pNznVQC(5*Dfrsxge&or%_fx4bhSu&_D_-cWvQ57@~imHQ2@!z$w zH4e7GGWm_3h!p?3OUeNQ)U~c9Sxf5Q|N5UpBS~gcLILMge+~1^iE2ciwbzMA@l4iD z+rM8lKJxhQfBmnU!?J%I)D0<`NoBc6jzL^vr2us^#MVlAK<&Ra2P!o3e(6HrJd17#y&FtHDQpF0bbrn4d1JzO1W~tttmis_W@Q zaT*S?IvV=&-rmLr{JimKTr+D!r`I*Jwqs5vhs~_(s-BzungIzn6iGJ?l^UChN}1N~ z;50*XFj%?}`+dy@t{rmcG|;Cb4?sg*?@ID0`t#|BN+KwZ@J9=NLRSyH`=os1BEiK+ zyyssGhwDm@f_J*uK$_pCngt|#Y{C<710e7a3f9!191}oZ*HsytL)cQaAqZr1YM|H# z-=;fI4g3j&NLyi3-!i8Yo3aPyR9BEUjyrS}1^OveC-^Q$d+oDJy1X&Gx{0D~)Xo5u!VhpxRr}FlA3C6Vn1DnsbB5_U|RzkrG%!3?U}g z#JC!_+|E+jW|exIs?!jaH;6{PcyA%sDr7r_=6&HFx(n>Kx8RiqHx+Z{q3rJ2jRJ2Y z%&@(CJtM|Pcbf@t`|vIV8*3@J?BH=}p`&1wLmf?aM-(8^{x?LV4~jJLzAoAOTAwFDyIU-DSVgtr?i##FEyQ9qk%ga!vqF;Q za)CR8iVU9>x5``)-bNQ^tHo+~H9Pem-@O)1#t?j6VeZxW&k*$p_KSx94H1oqi^hRN zo*3ij7F}P#449sY;sIquShSPlgqSU2d>O*^9^m7u&u{yP>N}DBMD>N%E6`ehrzESt zTl*kVtRut_VnPz*D&3sxY(nAwjK(E#$O#%Zkhdg$zLXemz0?WZ<%w!Jnrf5$$yu>Q za=@3BKT%HE?N28E;=_b2pH7Ro9Mn05^KdqAolHMiKP?(Vi8`wTU04&J40bucwUlvO zPq-snJ@T%7``!>e5eGf73ES5Q1R)Ly-w83FktnEc4r%XXGMQtsS~#a6Iw`0pdhgQo z9;|bYwvEI4#Lx$#_Xshcktp}nRM-^BAIlH8|VH@09e;zbMiifBuUwzi-oc zW`g$K1ky9fNwW}A7`paa^kgxZ^z|K=5u5$%t?S|?%aWEStNmk18e$9LX$#hCxX2Ko z8(E0@ikmKlYI6(aXeN)NoTP((&va0Pqbr|#>U{scTFE)&7epkm+MBkB4vle62}GHL zQ3n;ggdKUOE}AH_J5=Qm7Q$uv>XG+!ukQ`95V3RlV70u1D$Ct76J5X&`YwgO9WNGL zdoz}7|5d1ARMfFhmFTT_>aBg-0>68X)JI>NUGG+li322kg$s^Dl5Fw$d5|OwC(%6u z=ZE%GMdVa`Y&M#HU{lr69i$|+7JKkrLTc?;W-U^r?{}NXj+-wM+=#iJ2d!9?Q*G3L zX~uu=9z{5AM+A}Pl6;WK@V`MO!+nH0AtvLvgM7-#Fv8md=J?$B+A0Z5!RlWjj`5;j=*aafALzq-_AjEt|ntZD|*kXs=c}_ITB`@LNo#)@bqy1_` z$(#(OQ#SJwBwetLUhUf@7`gyJhuybJ0DZxxag&-Sn2tB5L#KWTpf4qZ@{eyR-n|p= zt4o&=3D_qAfxOM-=~O0gE#Ciz@HXn`YN^iDGPW}cHV%YBtO5{8ASjF5ju#=r6vXqN zzz@CM?A(O*RR`N$JH+0tlZ4iNM1(djLK~?N!5`yoqb7>%yWYD;?A(MMsSp)K=_B}v zJ-g5`%2l0@4@CLI*j#ej&W-iIyBE&eq>x6)d>KBO?2Y6Ilzu-bt(LT0_~1n?a<}@2 zKooKrX$wR?QyUIhB#hsOtU!iy1(q&kw-~#TkVz~Q=Fg!?=1@iUG7`<*gl6A0p zO}d!Qr*mhgGhsXClkm3vHudybE1mB$oB1LII(@7v3*frGq9mi43VDS5*n|3WN0SqFXKYwBWCik|1fHi z;j?1#?D88bV}DG!oqG_WN+?Fe?;v^o-vU_s>5DRuKAHV@Ar?5a)kCj=^ED?1?wEm# zf=ELVSZ~e8X-st3iTazO4;TL8(#c$bi7+msL!S%9lg^Tn;Dbba#GC)g_VGZpXHH14 zM}oab`=lh;Bf(y1u_eIz3i?Q}M}j>P>_rfl@ecMfIWEI*-(7Y9dw8^7>=n~&A&INx zx)KMdvEBc#2-ek}1AjF!!FV~2ThYI2O5hqPxPG0$_?shvaUXdEhRi-W&h#aOhS}~C z5uS#K@wcExP<2tLx{Me

      yf95xcr|IPvZMMdwvkib8*)x*OP1TkF)Oji`-_q6Ce zQizKR`%Yej_2zhSXO@OO-}0-X0~* zp?aou&=Wk6cRugP_ML`Uo97V2islFu$&q3@Ct*%X5Vd_4wM}??lGO7H*BH>`PGm6Ac9k5eTkY6YQAKMQU z^?iB~qR)lmX?e$!+(8m#?SWY!Z(Y$?Jvye>{LKl&Bd*u3O9*E(70edshBAAUGf*k1 zYtB>(o#97SW89J~iB%Lyx#dGbB$u}2hlom~u<23!gyGxR4CL#%0UJ8w;VbfNZ>{SHxjs!z-^a861c4%lECd_b|H}AWbXyxE%9eQq|#z_ZgHO_ z_GrfwDi1_CCOSD~seR3MU~wmpQqYW^iCgtFRS$J+ zD#+_>Y0yJ!QC zIdvveXZOl4qWXyHi-myCOilT|7Vm?XK1GUdawls{iSYr0#4i`CSbUoYB->UMXgk+- z^b;2Iq-6#{q`4%{loE^SvzUPlFBEx(F9h+H5qB=2EYfU_EqHl5X*)|@UH#p%Dk*?5 ztozs9HeJ&kjU{W;hBebcQ%(8%8;3eJq%q*oYsZv%AX``N^{xdftHaNJzR=$#$}~CjI?w zDE)cU2%1xme(;Uz{1n33>HvpX*SeNuE#ZEmnWm^VC2e#9m{zoBK{cc<+G@1fbOawm ze|w}_hN|0?q5;%7@&IdWAcK@ z&rK~$H5`3OnFja=&(3;sHZ!Z)ls%nHOv?ciHXmrYgPNrx60QKEBlm9j}N3#WJ;~QV|pZQ*@qY%(uv;dxU|nZy2;l%%Vmu z-By}ig*j^J4aG3Y#tZQm(3dfBr%GK8D$`W3tA<7PZ=E7zEK*#REi|d`NG*Q7Eda}D zv>h##7@lLPWi2vgO;uyIlA&B1H@jdn+3c=@J(`p@OqNb*&NwF~imEOyi*Tf)>yC*J zWL01Kkd0K0SRP-53G>5QYFFqJLje@kZ*82|CJ%+*micWgFm9}*xFG~CKsrx<=S`C- ze{7dia3u_rhGXNzcIJz7;t5V{op_>&Ik9a|Y}>YNTa#pB+va}%Ztd0XO?Ov!^~GED zcGc68p8d7ibRW6A%8{$ zU@z#OOBQL3Brho2)M`pkx^>22Q1eB|k`hlq8z%9dvRMFLU&OY_QESg;N3c{VI#;!; zeFV!)v)t4gZlM z&Bpx0$zaaj##bCWNo^n&Rid&2se$uo(8eNpNGq0>n+K7m-oRWZI-J|#>Q^ZizLzY{ z_{h>K;Cg%@XM;-%tx1jJMIuNL?1fA3buc3$>L~it@%*)c)eT2BF~AC=|FjqJyYT?| z8#HC?J?1k-EC4Mjlv;kN3a&{-ggAZ{h=$=iO^#A3gAGTD$AAF?vkJv~Ht^po*Jf8> z!ay_ML1Jh&*+e&rKdL4r(peRm`Wv@)U(un{x&fhk! z@&nbH-I==)94BxiB_pe8)`5sI=^F(XYVsPBXSh=_S(mFK?GB@~qqxR+=b`6n2>m)i z8y4dG88{63LIA_ia6Vxp7`1K*Rn0T4 zfbvX*kG4c$>DmqK^gg=IK47la)ieMXw>2LoD|b*=tk<{-te$Ts69T6J=x+u6dbyJC z)UzXi`!pu)2De^nk5%{vR)pTxBmRIN5S?Evq*rwt{ZU&D>ZXn9?Gz20bw6RJn=c~| zrReO8h!Zayic|+pz_DpfU1Z18JBkj666w^g7RPW+*qL6A$Cef-&pQ{E7Lyv`s+4t? zZ>6kAs;K9bumSp{y#u4yeb_+?cjwMjzai^dvd=rPeQ?+Hp~d@W^QT(as0r; zPezf$);s$M+m$`V)4bR}gYsrl;z7JvEJGQ;Y%XEL{Zt&*HQeb;pe)7ntV?~S0^T37 z|KcE%RLN7fZBO+xfvcsv%Ms&_M6%|qFITByTT&~qPAKbxJPHeow(jFH>N8}0*YMwF zvaF=5D?pJ*E{Oa#khG?J4)?h3ZE=RJ-4bI%L`6flm=L`A)ZOWH^3inxh zOyr`XlxPD2Sz;gTN`EyG-?+tz2m7l_iObsH6AC~Rek-rMKh&ke5L*TqU$w zmwp%cc_CNV!fC9DAmxldV@D*yjH(U|E)Y1dHX^96NZutWvkinZf5zND#QGbH{uG#) zk5lLSB3!xDH%GsMyWF0(=M5B27WQ#7ScTdj!x7Xf4uw2L(ikS3T#yv}SRDX4SUu0o z==D1Vot$G(=H9%cz3Gv0vCL|A>PEfS(eT`@ItW0XXBJb``<~suwro_KfwxFL7tUI@ z_y#_cR8|Vxs?t3on%=L?3y&Bf#78w92BM{9%IR>cp6BUSxSWVzSFl2den=qcf*M!vg<@rlJ;6YYs$bURAgLM zc`m$o;!7sZ%-e1{-N3&?s{G1Mr9>X##sGdnLqL3eo$Ex|WQ^kaB*hg~&C^z)KDTr= z2eE=3zx!HtJV|yji0NB3)b$0}&!1Zq35;G&JV-OMM_SkV189EXvy~^V`58>}Y`q*# z+8s_t30S5K%9O3Yj9i4K*(mg0z?XVTJu-IbyvqAN&B%IHd%g8_Io)td^-%uFpYCt6 z;t+WLyZ}zX2&PHuqs3VgZ2NBYe0(H?etph7ei1`Xkn&w^%FRknpm^6k@OZspY!Sdd z(fHy$ZzA_#RGXy*x|Au$Y3I{E%2tS`FbkA&Rm3Z6lAZU}b!X;nOaMhgN3)W~YAan%@Odu>=WlAb%8^Mj z$D8rGCa<~l#%a}eHHQ#)n zph*$zjC}1ZKy~_v(`J_kzd@vNnm9qe%S2)SyVjv#8HWw2qh_2PX})c+3mz^)AOq62 zO@o^`z*PC}sdkwi8DQ(L`td}q_vMhCA^2{>A%ndGzebLNz5f~ogS_#u2b-hX3I7By zZd^xJ>?6W$NxP5VPC7p~4}DP*WQ&H-bN7qZav%=$3R(=w!4W4xYk@VE#3j8DtODyr z0%~z?gr;3v1W8GAkCI}`%D^chCZ|I7Rx@dRl5{eos)%kxKuQt?$m<;J*4EjN!?(x()_+X5n*{pT>4lfP!~M>~ z-GQxZFqEjSWbh$C(ZnC3@mOt^0c%KhlR@iQHOB}+(DMm*pTREGpJs(R{UETv=c7cSXbk6BFSVUG>ohxO;l*+j> z>OSXcmIyb(?mxmy!z?sjhX5Nd1$t}63X0#oZ81(3PB_)09r^!koKei{?CV*iUBoZ; ze;;08x`^j;h_tAnSSCyjqJlU}3uvb0 zeSY|3--dA{L~@Vo?ECBz4PbI--TtaK$tI&E`FC;e7sTx1gAQwI;!{!9RIWd}{bRyo zn*5&^J3)KF(IG9Frll&};UPnu`SU*&I^Vz)s;_v;QqleCUVfgZCt55d#YN7hQ^kv= z`_%T8Mp^;_v8?izwbaN-K7M5>w%5@Xs}Kw}4S6%B>h1Pfg=gdvRZc|lu{fmefU|8M zutIU|F#*`%rN#B#YTL$DY=_a6C|uPDe)?vvXlI2~CJPlMFB!E3wX0@~9Ph8hg*n6J zk{rniAumiEv?Kv7<8hOED0eVUeE*~bQ=tA+BlPER^2{>zlBJezTnb zs57s!jm18cD}I&y*$rmOMM(#*eSES5ww2B~ygy0iC*{X@+uoAH$S5kxU91H%F>>%>6as`z zOR`~URPp2@QKa>+m0#`6kJ3zpr|dQf&n;%5C`Y>AV$CQnu(2cyw-ZT-d@$Vc8++i? zb;#7$7{W#D|EsG9eL_QTu@gb+$@-WbtfSn z|6bAA_)(W{&b>qq_rLtYh%!B-0Y&`{gNIr7J2RJKk^nE49$RmI1xLG1J=l{7caEJH zmvKOZDk9I@Dh$|*ZTJl(9ImV%0FRV@SHEaBu#HPhKZBMOWFfUf$zHK-!Ivx(=WINc z2S2^TgwO4`5j{@q7(Y(x2zRFcW@oAs6iAcl^a6bNnK0v#{ysr>A@IHEZ=>VaSD{^8 zwYM^Tm2Q?$7D-#v+|W$-irMY;5zL8)okZc8nn_ZghZn*3OMQuKMzx2QR34~_C1LO% z@ypeM$@4Aq-(@dTDBkzPIYoh5QkE8G47$5#-AE-r2nu=iJF}8yv_F!d`clij&_qhBJ{=0Qv7uh>yLg*$G zRhur$tLnybNbINYQ1i2T%nI|5(-YqP1R5?&t5*_`MlF!%1@+=uJTT%KoKElM^PUJN#WqJ zrq&DZU&j&Jk&0pyTE>TmD(LtH6!@cZ4C3?^hPj>Uhl>WFN-;7KN#}<^;lrer5hE)^ z2E(WA`>XIx3Neoh0ANw}VLh?-F1*H!rR-SVzxD1X#5{5fvvRE!G-)?PKXPL~Blx|| z{J4=3Db2mb|H3%UUoW+%WkCoY=zX^)y!9I~be5*X{VO4Ik7A}=-MA}Bne7vZ zx)%wV-hclq>F@Cyg}8;3bMhk>uw*gQaLgym%uTS@omr7^i>AO2bR^Q~Wc}*E6nJC@ zz=ns(63kiIH0;u?_)4An<2aS5iq0w%k?me3V>B*(ZR2~k4P-h-KESA@Se^EHF!-g_ zq$O&_Mjge~Q0?>trusX)JLw#{6ATA$D;$zF!99b`LK(5z#whwz!cuBbh{7Y}X@R2X zp-7^Ju;az-9_5KF{p$lf ze4{MXx&3ToY3VQYr?GB(cso#LV6KbS!#0WzoPeLdWD0LK{W8n;B~h4x1Uj z;Y;R_0K6`Rk1FRmuX2o?MKMt7B}a{OFC(vfRV7S`&}mC^qc69*YB#m_V$Ne#{EqFe zngg^`iq0Pww=pRQ%k{0Jr2l%!42e96Ry_|BI_Xg~HE`dpiT#Wl?@_K=HIy#B-=xN; zW2KV!D(xUdEdlN(CxvJk{X*%)jM%xvQcx(|jcGDJWa=0mWhv^Hl!GN^y=eKT>rbLZ z(#i#CzS;A+mej9$)w1#_?jrFSK+&A&x-SxU$B#44bT--GNDq$thn*2C^c2OHjA_iY zZNhf0%nb$aF zq9jt;!1={s>hl-XVhwKhvBddO=_>PP%qzgH^(~6#zEXvQr|sW2f0>9?vRFRp?kwtf zaRJQ(`V1Ct0s}t?m%>8#KdbdAWQ{h-dl_>|kdCqjdlImdjRHP{0xs)|V>pLaFxLB< zIFnM_qIFh-jbzTC54aFstM)@dn;yRAsKHw}A4H!)(U`8Jai8P99}S2Lo&E2!F6rIX zI#O&v<%Wip$o$Q^u26oS@Io(Lxe-&3G_2f~KsxPA3eyC=U`d&E1DrfCQEEaaw1tIm9MR<+Gfcyw)@%C*D8c|V$!IoOz8 zhfpx_5C(y{|MiHt6I0vrO1V$}o9HH)fUj7J1S59!Irjndz(VPQz3cwvbN>`tV8dpW ztVIgN(cdv-{gM+_QRt~u9#YUs5WT1KbEX0Jz<%YxkqWm$xPCRq<)alWE{JJwWEeM^ zePQwdn7?68ukpnwvU~W z^tjBqh*Ue7#Un(0!`KglZAJS+ZP4_*J@lBs(AFcYk=!B0MzowhqXPz*_aCS-!poNc zqK~s$9io(GQ6ehu&#VQNCPha^%2i48$oyGRQ{G^hrh^*>ZCzNaiz3*29 z4@rVogPdUVfXoUs9NjSFY%hv%sym^$6y|v#9}4DOV+^M@iKhEu!^9yE6-fjKF-8?^qs(w@DMfh5D1)n3pIOPrdc)Pm7aqWIMFO#y0z%{h>dd?tAkGnQj*(I0(zC3 zbyq(er~dKo%q@`}U~|spZa$jScX1zpoZl8{BmQ}>0ABKUahX$T+8KMfDf0leK6|xo zEGO9}fUExD3?{tM=c4Q@P#hg$gyGXPJ>kK^V^Q1y{`H41f(;TGCLpkRbNcI8gtKnI z%U_R3;a;>C>8g8ljd(%aI(tbZa4F*MK%vZGZN_`9&%cX^dsr}#%R7OA(Co0dAzl1x zL`)AGrCK0u$WaqsNNG}y+gqo^Vg=LOy)j-=p`O7es*OH011Zjh5+juHjlmhzxbaw9 zmR_EFuetV(-W~&`19#1G4$W*n;IV!NL^hZgYs)qoJ34mpu@0>vaJscu6u4G{q?XhS zOL#ml-@P;|sNe+Tq~Flz9K$~S#|hpJMaP_on+Sh{$;%|YPgJ(|+ez!??^Tp+Ru|&L z3;3#ScxeTE?P|R4pSk0*9=+2K{f8cZzohjYJ$cB4VoVvZ3WPRN4g1Po3sQjph+574 zb&&?pHb>n-mz!Zkux2R~|(`Y* z-y*AAoBJJL^Wj`ChP}LR5W+s7kJ&>W-urL0@#~D=jz67?gz#D#>EI{k362ZCWXUh0`x+W% z1^U9frVc1pO?o5{LFkjomRK`+4xiJN{c*ZcVMdVG^Q9f^|EC|j^+tFV9s+`Z2Lb}{ zzxw}2Iop4fpKEKY>~UfHT*-X}4l7*9iCQJRVXsjeYx4H8^)>^&m8^JN{v>nMJ7^bw zbxGnKK^Y*ztObRnMLF}o-e);FQLnz;0TUR-sVHxQ=BP&a>`27Sd;5dXqBCb&$YfCA z4=@)1C6Vz|W-<;(DSKBvZ|>{iqW-zxr?iboiFxW0JJpzvgyq;W$&97RHKr-u0kxHr z`Lu{q?vr8~k2*6;bj%t;x5Oc*hP?f4Mnfj(MXX?2RS7v`4Ur!x;{>>RA)PSuJjv36 z(pWsOt2R}Df#}SfM+}xg&aiBe zu*pvZ0&h#q0!F5_s5bRgId~eVm>pKURtELh(C6 z)9^kRoXGngOGk*;SIFCeQ;ClBE3q?0-!i263iM3t6IBF7lhtl_7jLI}*9TJr;Z23l ztc22fKd=G*`9V!j)7yQx}qSlF``P6?;^LR!7h( ziyGFi#L?iGfHRk>)Oj*!+lXwFs-VEjEnvlucg~DgoSrt#g@N=6#5VQypPHv?^vLHp zh0>5sfQ5d`q7HD&<_Sj>0itMa{9H7((nVtkQ@6d6MwpNJcgW(~5Ya}~5K4h~V*mqH zcunZI(-;iA^234yQRos>Hi;J8Vauo{J6t#sgM^BZEq8HnXM593E;Ja%K-&x-Se_(W zBsMnIL(0RMwarbwybG1gR(DK8_Z#~j@8N=-PV;eov%mf^U^;yA<=uHYw#>Y><{|$$ zNX#vD-1D*5dW48aUfN$GKC*<4NTbjfR$Lr{A{_y_&t*waiO|KU@_e}1rV01W7(!{3 zBj-EVoOy^TO{ysX_ijI6Uo0}r(d!!~{ag;QJ&1gi&X@WmY?Qi}R>mBkwNy+V?*J0+ zpzJ5O(5GCb&Ml_lP5Weaw(Vxwg;>8pPk4|kal@0{OgyBmecoW|6s zAo;>|6~6>y1+QH+IL#h`Ya4&e{5uMAsIN&bf(DCHQ8^>BaHTM+;snb^o;&{6tefjR zgJRbS(X$kioFg}L!bT>7Mx4IG+YVVrshw`^t2MmkI(F#JV?#T`qo>!bqV|A)uSz2z zAv3A=VutEXL*${(t*nfHO3~#TeuPyOT|^_Tfx*}9`&V+VXhI-jFqqBf4T|Tk* zrmX?tpj>8OU#s%h>^VnzIIo&;zgYQh`IT#WwQs509#bk@tbYJvCUN?bXwPY`K9aX( zQ+o}%Ub#GWoY14(gerQ`vnzm@Azf{$$QG;EdvsgM9}|Bfu#axqFSvp_R#Z6F46UjY z=Vvq+_Rt>F3ot7pPdealt?Muy0Bq}`=>xWc*;6zU{r@@kYji|&td(54#oDvwJq;+u zVq_%@4|N4AMC^vJ#ln^0=JW+D4$mJWVCNrJvIzw*rFiP;goan=N1gcNKon$#?oUSq z>F=d(vjDmElJgs6XOJjD8OKMuONR1Lh5MQkLau-5@n#qH!5-wXSRMbob)Ch zCHj=HUl$Ccc)4Ex#SG@rwOa=`(mZPM{p)nRK#39s0W*^$CMyT2lXXs zKn+jn1{Nbwv(S$ud{894T&IV0KC<%x6+K9Cg@B+I37I_TRlpwyLEqhGKy@{DSTnm+ z9TXh4yR4+X714L*6io zf85;$m>j`sUF13R^BsqWqTR12XBPXjyA8O8-~r~wW!YcQF6ERPcAc{waC*fGP+Qlo zPyOT9-Z-aiYwzJ@;<1!;Orpa@^E#9mQm6|iS^Gm6LtCw?-86d+J@UnCcMqPnd1Bow zTRL|(9Oe>>5HGLT(5f=h4ez1$l8NDBh_B5xuM;eNMNcaxGY}{fYPdn0k#n8QHRpq9(_}3mO|;jv8&~MiAov!vJ-Awh%;Q2nc4K|APVl z4M69_t2TS1H~d1Md3hzqwQT50G|QXE^&`IzSgmH@AmQ*EN0SE$;^jHYEa8yP1^4-G zRbKqxMany*e>WPFB%a50Vp`R$N;+?-8K->Q0kQrFQ}sh-cpULu$W2k~rY+WYeY#)n z?U{7PiwcMFBl9g%9ktORI`sT}e^C&Ov4oDG(71qYssfP ztq8)mV5>j%If@Gu53n z%<3DZEq>^*oD!O~I82DZ^FYWplZ&=1g^+dxJqTi<9_N9@Z?0fdx*F6Ax=GA ziVgtOX}IPU(w$Y0>4b}Rc#h~H1q3=zr_Gop<3yJyK_{lBufP#_U3Vr}pYzl`1E=PC zU*q5sq-(!87(fzGdoXU1XcDB~aCJonQNd^vGdF;>0cRyQQiM(R~&=HPN0VzB5vvXk{zW-H@oZXXE~^u;D!HW;#mA771Q_ zVik{%|7~~g4;N#ryedw5Ts?vHHIghIiXk4#vMcUdYcAvhDDx}lKw7fU<_MF1v55cj z$Wg`_=Yc+^k&|i0ZXEJ}Ck;w!ZRsF=^R$vb_S|&W!>d`RJ6D^*3c<<|S>RwM3D$(| zmZQ*QjlhATeaHy)ewJ7U@cdSS=h~lvUp2z)_O1Og9kAF(Br4R5mAw>rL&gq<-DvUl zkvLqyPvZDja!kHJsUwFgYR4U53k;2uF-+JeI)DzIJ0cms;Uif=)^W_q4_JTdtu}m4 zY2LrabHk~_wr__(g1R_%32$}ShR|O~fPb%6J1y5-#Bs0vW3nYbe&N+=k@VZRNt;c% zAfL7A$kvNBb%J5%Q)pJQ?eN?-i&z8}ElKObw=cwy*5G*$RPxHC$hgaXY4<(&B8@_# zf{r~IJh`l=YAC<}Mn|3Nc7WFB(-^LWh(I1)zMqUKx?ln<$ckB_C*pV9SKvvH1_TE8 z=wRJbI6dY)Vt`?iTtV6Bl53k-hsptrn3Pj_qu8G8eH_+ZwJ0)pGI#na2$cljp8JuRVFrYQ7SE@W@GJp9;0?GP^rdgWybR2YNoIZ$l(n2ceR z!w$9TWNjWazU~AHq^h*B*&2jkN_4y%y1LriO9bnskh%d1=CAH5F(PIck#D4V=ta5q z(8@Z3`=g>Rb@466NEb`DhHRiXbH~;^?37?kwmA3d4$E?WHD%6(ejAo}Kc{xvzI%k&@VQL6z>*z?%-T#^om`h1FT9*Hf0Cfo z&vAc>d3%2Dp5^&MbRo?*?@Hu7TjIlLsO8rYSBqIvy=6|6=)tod@M?8#WC!-riS*6g zPv~=Vv)km?FwW`2=sy48o%W|iUZ&ZmN-AS}bo!w2d6*oc@&>dWt__M7p%xsjC|1Vq zWA#Ze6SE}`wB~g(Z#T_YlS^lz^}v!lvA0Sd`>Yi^FH!J5QBqg`A1H*pzHGlB|{ z{T@65UqO)VSUd{=x+p-6GtgD_lmIg9fab!(&$zK>ve;SdQn z3OzgRCs5XyU!9_+u5cQ{1^dNTi6L33cyQ$fDEjh3DtFm>2_somK0cNEkhdBbYg#xZ z+o(ebeNE{|a*YE`^LV0JQyT1GKR7fi&P0@wz>Pg~I6i0GnRK8R*3LvQxS1Nw-F;BO zFVOnu)`5nWk@d*3@O0);7*DR!hinEUuCTnAHfc>h*r>FNsUcHKq2w)Bi_RsO7USqe zghPLJGr=l3^>~py)B%Z+k~Eb~nNrK(u@jZ1t{hDn?CT@jq?z?N2BY_6E<`WJkUh$9 z6M~D-HOP~m4G-ULFKFOf4(FcL7FWX1s0iL3Jubo#<$;)FRg8pk$8i}YKtEZkTams41l;F?+9?xGF8qCAutv?A1i6j3Y;Lm&ZG#368^RGBWsv$s_x$oX+v0b|j zz0*aG@)wA?jT8m^)ltwFXxVQ=Xq!5i^v)9+N-SP@n9l5umF_kPzRvMwxi-xn?kqw{ZK0m|D zDG-w%Cg@F5mPsudd~De_$pU4nagR6F zqJ>3b-MMIN2cP`hwtD#x>KtP^mHA->R$85(xcuggbZ(L{tt{!F7==ZtKC7D$)w!Te zvo-}3EuY)ApNDroYS$P6sWtBp7{ zw*Q>J^cg|aGsF4JmUQQ327kMLgq7KCV0v7Iy)6>khb;wVIh|2GJx3PW@+($;U>eHCRNXFLxX+EoGm-?wf{vh zka*E@_kQuC@j9O~P5P7oztPJZR%}UQp)BMrdU58;%%nyO{ry|WZ2+$4Y!orZkiron z{p&-0mVqf1(Yt@WZcGikle@Witpxgmzr|p=-9%M`W35>|iREj|AW+{jI~IPwmHOr5$Db_4gkTrv&(?|@-k3D5N7 zQ=bOT+vB{dU&k-Do{#a1zAM661I-_`R<*jmYD0f9EtKzOqxCL&9Ef=I;rXidR=I_cI z2tIEC#u{82y$-uNukPAOEo9wiSI)T$<`rn9(qw1#zl3HtP)V!&ksNgpkYdgIroD5?Oy*v)T0-8^qi(2bu*GNQsz~7W%{K zO6q_{&T|9rc)m9YP0j7MS?BtcDQX5ziIgbPIT*^M)x(4Pn)X5VgohrPUP}fh3h1As z7e{9)&KVL)STJ)GVGO*MRU;DU0h5%s`3dRIMXG)Np-eQ8W}l49f(mJW1XQb!wWT=| z7T#lBL9=^aj{42N&-F+KhLUki0_iqmEG~7h+xgoL1$ZhngMsy{lVSduEK^2614h^g zIt_X=EKx*P*^Mn@xcu3d|qpWu$j)_!pWPI@(KtRr|CE z%-6V&B3FfHI*;ZCV^b&M!qWK1;tyO$rNWNJM?E=IlM43pXR%z#s=9`Hou@O;(5;DIo`Aih^;gNROI$-W!Qd4CN^qtsIy$p zISd0i0zl;>qr?~IG<3g2sPP^9RyL_*x=UvB*Vo1p*qu4P{p9v(<8T{?EEfRjK!wwT zMfx;F+-hjcL=KaW?aKfJ*)6}d-bX1Y`yO}%UUHrI(xZcsQ_edfj?Aw&uDnm5YI{>K zWgh$d{`8+9$U@nwT={^&@&f{te;_ciwRQRz1-*Y!5c1y?6z1amO~J{`KNKkc7X<{? z!!gU~0&BP~b<&Y94~dP9U9Z+M&1yszc96SLqD+URNoyCMZqAN3_uxhiP^!_OGO0!c zL>$^5AM`hm(D@zWlqceL4YoWq;=YmPC}A5{Rfb7b82iDfXiCgAgAsM$Yt2xvLwv#8z9zKqn@XZ2^ zKQjGNM(9HcEujvN!!xxR;t?1{w1{`FG7C_s8@b4Q)GSRV4|BGl)H@*_Hl6z)@pFGs zq<6)*TxC8(d>|&Fr?+q=BNJsoE1oz4NuhK7`+(d==0T)@ z@DxGywd0dIrm53%?&72oH%k`pEGeN=L$T6B50=PhkiOkXjv-hL21zg3Mfw|pyO##m z^Sg6r`IS~QGl|XHfBc6Ih($X3@z>M;ua)q3LH+MmLezBKCvZl1s2%NVJV}?DlE5&n zX%PsuS!fvRYPF8yqN;pb+g_30UPjpW`$U`j>%<>QV|29v#`6J$OT8S;pXiSJ4S>X$ zMuAFtir0nk?LNF`vMl;#dE9NOA}SozSW@AjuMPO4hBktv)hR@zu|+YXV_{Db$p_`u z%S_(bGrnniW@v>48UY-9B(H{{`gZAe0^8j7j|xOtHJj)IMrD-OMz~!m73B4htFAX^ zb#MQ%cOb9Xw?PL40H~4vRW$eu{C|1}YU?&@{7Bw43%=@)j3_JQ2Lb5f{*=}W`T2qb zR3Z@=p3!QzI*sl88zpb@-BsN)b#+9A!E1gC+{%JmO{PZ^Y3plR+I;m`li_p9*Ug7Z zcyP#rdQWRoa^3I1@lzIN3E-!A9pz_t#U4-C$9o+M_j)c(=94koa_S69ICF zbC!ZGEUlo@J!FFjmSWBdTpoD)?ho1KM9BwXOS{Ekub8Iq{dL>3L8Q1rdGhc$KU9=5 z^lzQXE&b@~@=&pr5&_MQIz3^{tV$c>L>AP7W#KKPN%XlGLRUw5?j?0ok$vJgl7!a5s4cJjb200(GWPQKH$WpEN{&U5We+(Em zL<%9$FY$5BP#sOYE2@w_rM+0X;Y}A-90%fC;E#--{Nv!ee`a;chM+T)qFb$Qq(Ck^R z1((mg4@AYN!74ZW^Z7wY;yg$`s!=4r$hb?hcWA>WQQCr2+t4@600V0!4BG`kGQye7 zvI~bEuRAs2kB_gz-L8%c3mtKFJIqIcaIg8peb#KC6#C|O&v2qP-1gt5VQ%%oB2V00 zk>*d3sw>Os)69+z4)y(x{#~w#HsI&;sTnY5P&nRS{_y(nM-M@^Au2HDlBL(872(~| zrl2n1ZRd6E5Pja66t|ChD=G6h!z~Gv%C*WW-~-`5|Ean(*5)bOp(W@c3cuVYv}C9a z?2$!56Tvqu<*E%0WIE*4%v6avKb4gk=4_bXCUcnLX$cMq#2e((l*jQ#P)pO^t?@a= z{Exw;rGLkM{UeYJLH<8y>+gbGVbZp31_RRYHpQ(kzYhg}dNmwXS(0eh6I<0f!44Ks z)jG!*NBwU3>H)o8rfTjexPN2wxa+vTtNp#mXvXdg;v|YRG8ICLc_f&Q`R4bq;X^RQ zlv0)wY`W<|4_@oGmUo-weBU~tp-BqV&!p&XJ4fkIxfjtEj4}}r*hi053KJp7fZwF| z+w2R4{ksVb!zFIAM{ZkQOccj0-)H#c6Pg~XQ+xAqafN5a45XhS9(9P*@@FxQ}2hJ#kXTW(!*V4UXZ^ zxc|{2kBwPIOVo3YUQE@sbh{Tj)N3uhU3$V%}#Ww z*YNo`DNwal8E)tVhPvSzHOt=8EWqHYS!#Fxgub)0LQJZ$auA)ZSU%pNKkDWr<81%p zj!Sn5{iwsh{g>Glb<<~xt-g$ZS7tvFjlYEmFka{ZqlOIt{G}NGfM9KGWUfzdZmn-> z%t&WpXKebu^1cH=k`$E?1%QDA07f4d;QbtcEbMG(=?(w`Kmh(41iW7Y5Cn{D4U7Rs zJs%@r@9Tgd0NDRt!2d^p|5yI8{cQ&Ox8;8+?>zuy7=RkU2ndD@07nJ`B7?mT0Qvy{ za4^UZ$N#+*000au02~Mj{Rs*T0u1oC>3?h=%Z7x4213BVA^|?kKp;3cB;+T=zg_?b z142MT0g$1IP+%BQ1<>^EiP67bD=?8P_~-318)G!9VZp`=Dk?Pw4=!S|i@BzhP;wxD z_=AA>aPb)m67s*?0|CeokVK3qPyz}c9#EnEnGEXD;`8cyXLki1@<~Y1F%$!s8oZr^~@IbJS6#doK_)sA+yXh-VX{ z?L9(H=L$nlWJW+i$oyDO-a%m7K?#ihvD$}fJv5;Lqk=4=px|-Fz?JX@A1&n<<9{PG zm05%d9N~4>)iF7sA4-3XmF7x+;oIcA^AVRv#Y`NbbA9+tLFB`-eeS`hv>l@&>z$K8 zP=uR*eCL0x-F-|!^v1IF4mk19U1$${O5vRzg$i?XLU z`PptWw?@GUzKu9 z4+7i8D4Tr*9M^o8e1u-iYgYbz9{0)YEShe(5!ft9G9q;3OK>Un2PV7IzTUkWXa=xw zy{PmBu9stSS55xR`jwpO-XuDweTDai)#I%VAVM_Vp**4@|j>(TM-;=(d617cJX0s}%r_0{sSIu844E_{{`w|Xa^`&05KM5FK@3C%T8*~g z*vWh-I{&(Tg8&)4{!$uEkV#W8`AoZZl4q2Q%PZafI{+*3C27-{R>aJw zSeEBr`8a&yRbjYtM7RmPyt?sJ(y3|UMQbN}fWskykmWT{*IjxQZ6hvg64ps)DfJXQ zN9U}9hYO8G;yV+V;FGF6mG>rcM0|T@5&<4tfS|#CH z4~-)A{_D8VCPjq}2yk@cwKB=zL=1$}QJqH*8xK$VSctH}^@SA3HWvO;PT;xW zg}G}I(7I`Co*QfH!q-tB7u`EQT>yZpsRr0J)MRb#+Tv#hvH=)z&v^EY7a}UpT-AkT zG&&Pc+Et2ZN&7|29M@?~DA2t21}zuq)wlF2$^HBRN}P$aV=x^)&BFv?6JSHGsy#|w zEHk1L@oXe44wT8SsMX_T#wVJ^O=-7YzuaVt=UB*?PWV`?JSy|okO(=WVm7z+eST}t zvi+?03MhUD76j|nxN{0`RF3&DU&*o-Vod>KyH*G{N zFME4bT2*1XETAR$p>xB(%s~sgw}7X=#IFWcmZ6LZH6v;lRwdsHpZ!hu%$G_J5s3yUR?CVpfk>O9+)P@^wC*TzzN0fF5zawUUs z9!6Tls+{QGj1S0K-63>ScD~O#N?~IBA>2dh=?@|NCO!;rxY>HZj#L&1_GuD%VZD{9 zd>382MR=1j;B0x`n{gWTV&LbU);nP89nb=^9Dr#}X0n@tuupIlc6*y0`L%F|h1)RJGko^R8ByS-oL z&Ymu&y$6o5j6$Zj3{tSlCId{ksRT!B?0Bb!mqSB{)=;me! zPli>P69dD=1+fJK4Tcd!Q7HMHXbxl5I5}83T+K*$UbT@eU_S_gR65ZQU?Pna=2dai zJe_@^HN+T7wrKxZxYq%m9df0?v8+z((%|he;KDxLB@2xM=`*qi+*L{I$~q_A(MCmU z<*WhO0IT3qFynW#T+==V2I%P#f6w<+3VjKAuQhqO@E!1z`Voqg zlha+_*X^|j`Ne20D>dGhq3xF7JbvwQu!B+`R!MRBL{^ z{GLS6$rgd_(EIM!HbV<`OTCy!V*)E`geLCT!*LNaXVMhPep~gkwYja0a=Vo)DM>Q_&v>zm^8wa=1BO_CO7CJb0)8kTA@wTUO;239LuI^RD&RLpL*0MHRE}z3ChR#p=`)<&P*&X@b6oSvG?1xKi4|$V7zJ6^>nZfhy!KknG(|63ud`-vJU3OQ zlqWQqF;N1%AgO+=styaaYAJ+r4|r(p+1$8 zD!jNwi`Yf6bdP-aarQK)XO$WH%Q$MDMS{+~)_n-S6vdPb1-8pAtvt?jb1#bA5^t! z^R+oQIZt?rB2J$~C7nsh$wTiW4SCTXrfQ{)E->whU&tkN*dAyRX?!kKlC=x(71aK& zb|24jhNGgqyfDA`nHpA=pv@ll7~gv4kowtKPBE_Vt2p!PuKyvO{FZb6kj%$Hiuv)Q zeE77|mYzm`VSb@MUjMIn{iF7;c+K-qyl(tEUWXS~nOl=t5)#5D*Z~kodtn^Mu4rf; zPZuXZ7%tjshzpZqME#5oG#i&zVqB@+U3$;BCTS%CxHW!z#8+$2`n4J~`9nPN6UoVQAcclQEA?s7yW5JLGn0JtqH$ZLbW918CY@9D@5I!Ce=Jpo_cP;sgoq5L|-?2*C-m5Og7U zAZUQa-5s(x!Cgagyzf_cbysyirn_fqdgPhu>QRr6+NM8Cz%Kqrz zwq%h=zKH$A zZ#pu1R*3V3pgZ*PI4i;03n~0-gtM>1k?mTJZpJV{Ux5+5yk;+v4AKH)m)o^kg;!~r zwgO1sAyALDD}WqLJfIGP}w+loGp*0xc3 zD|_zaI}RFgYl>EzL3Afr(0S=Lw_DYGe6vfP(Y)Nr$0m}e>L#01Vc!T}F%ZHYofVoE zN!p6H+Ue|o85#;gs+}3prJ7n49uaM4iC*eXK;`;xA(=tisXJ&a^TIc$B)_W|$qh3r zwSWqyL9g@d(BI$LwmMUdc8S?pejZ~_Z@rhM?MTf5Oi*}T(I7(OIo%=&YGJOGx$htq zRj$V5M5K&;ShRthclI=8&2K&_J36TkqO1_X^L()@hf4aUQJD(Q(DyzLT&1~+YA}`B zqs0vly4Wwuc|4CbZ!MI)-X?NSu|BIQe}H11&-%r08s+IRIhc-%WGs{#u*^l3<*=*h zH$oV^BvG=6<2R|PbqZ3k`;rX8c#|t~741dS7)ji(|5_^D3r0&ovq7u@_o`Cdh`&Go zW_pKJibf7X1`{ecR<1w)11!I|Bf?%EEbr*pzToz}ix9-mxUN4#&0avaNmB1Ui`p(h zee@t3#nVus9}LHRWrVb72c4Vk&RHiKg8{1b-*aTg{prj+PKK?9XrkErN4tHg`~{??|vqA!{lhxoJo2 z-Hqj%uwP?Qzwt%!4jz7e;r)_DK-zUxX zK%cVpKaO2VQpoSJMi+?bno^hh%^f+&s`r|g$vP1c?+a$-;elG-m4eNea||0av+#@h zMZ?CX;ne069yr-e2NW#aNefp+%uWxe+k+kYM=cr)j z?ZV|ps>@Ys3AiP%RdB7jm2QV~_zS#Js-(9q20Q(&TbyQFDT>6Ck1s7?rq0;9vc#pi zw$)mv?7I5tShsnmlN9VTDB|$9WaQgrrVQIGO~aSiJTfkJYW3AwMwbmVeZ~$9z0vfU z3ljRyu+M}=0-ZFL^pxu$&F;*_>QypK_Qy-pCKP;dMr6ZPraaDJ57e{zo zIWk#<7uXPYNXc4*ID|QkHWzxnmoHU{tb3lN76D7Aw}#KCN?PNonMl}O2!g4v9u}Mm z^eIPa=Z03K4-`FthrE@RgVKNpUq*X#(gr(R5*|+|Hs7)wjcT|jV7T17UpGmd zXjLtRnSbtKSEeQspAb0Fw7p9Iit)}anmg?i^L7qNc70EI&Zj+d5;Maw6=6YjXRniA zKI=vy3P!H&0&Y+I{iDr^Y1xFsMt00{bKA1}$c|K!9yrtP~J~*5+ zFHgg#k#&&dr|>Ob19AV_3b3SE?XCM!l}h@ffgtqUj`Z=4%0S*gMWfs*@T~r}cDgt< ziz=wy_?Q#xJg(h=9r=FMTCbWN*i0V)ZmU%v0G9%Y^ZvDa-oiS*~h25*ZF) zI&J{~H4C1F4yFBk*G$>Q7fF-I*Q$G;)gx4xbqhf?)QZ}Atz&cCvaSm1L$Q9V$9zUo z9HzI=pR^Jl8Jzs*OFv{(YsgqJ93+s_>QB`SZ=+8p=TX^s)QgFHF3QF!c7sz4un0oS zUd4I3)-Z~GiK3(8GA_&4Asi&WR?;)%WUT$clLe0N$CSEEm(+hyHxS|3c8nP>nDRi@ z6vb~#FDNXjrQ62HthvbR?i^d=F^pvufZIUV7>MtDJ|feZCAev7MJ^pjxv>?x5ZiwK zQhV{UT))e>{nEKYX-knq`7wlX=BDkcdC7gfn}l@md>^&q887PKu@i!Uhbng5Ni@Ky ziBh4_1s`XKifW5!K61lbWhhQaC|}4ei%MqTeWd~{84Id^k_bX{iIiNj;_pa=mQ+=Q#3Zw=`wi>B#V6ba>`I*VQH)fkH z{#u(IjjACs^}x4^E!g#Vtip}W~^7PUYi_N)Y< zH;2#T;*2Yqy=<_Z13GcKm11Ae_2>AmjkDkLwSKzSM{Kdb_DWJpXC!%JYsKvno{lez zze&dqb4V*eAEhx2O|&AvfOok9bd>#4{1aA+i$ikbdm752pI|N(?Hs&tZE;_{b~@^v zpZfh#p8o*vJkIA*jOEZ4QYi8?2xQ-0{u(Tr=!hC`DB8!TJ-=y;jz`)KSY%WjY{=b; z_-F{0E!6e+B}|#i#W+Tkbwt6(-E96&JYkCCv?^?+k}_9s*>jwOh+4iuf-#3!g6=&n z38AD!+J#ow(@)~()e7m^?IhnW%bQRKN98?+L;sROe5PQ7e}K_xqv!mRXUTtneD{9< zqrDF^qN!w){Unx_Oda}KwOLz%f2qD+UxwAR`~$$Gl+7g>FjFZ1cq0CY3#Vjw{R4=5 zklFD!*z)eVF(+S2N!md;4%ShVti8za7u&7=IC7v65eT||8HsUHjik(NSa#K)2R}ud zGs09T39^X55?DFJ0z;~Lcl5)`6sdULCh9)%#hAHt|0PKrqFp4xm8NOi54hOmW9=RT z;AF+d$eo-Sv+8vC=aq1HKZ8)7Hxq=dIL<0Tp+2D!{7NmLy{smGpkI5AEWC){=ac3q zdlJzrV4ior(0inJ2Fz-1lzJsab}TYZ=q7QgDw{(H(5SDIA6>CSr1Zb#|MyN3rpx?` z5gh(764UG-K-F3Dlj{w~9rkQEmzb_m>r zcJk?P`bjlKuwc|klL$GPU^~0)b$MXr79bs6u+MSM^OPD-jT^%QX_kN}w>ViqX|1*4 zX%i!BGdWHtGQ3Ia0qrK! zc^FQ@GIKJ10mQ(hw&%%T?|ld#3admwdz2Jpuc$O(%jAXLg&+@9mBG~Q57+ku z`Is04L(#_vqNF$b>F;^7vJ~ZA>gSJR4&AL=K$xsTc7w&!GgH2jEz{)4J=~u&!Wh=IqwtDA8jP@6g^b*+K6vX zCSba;uLN>sj#4WVP+uS6ZrB#m;)oz+V-d}FfpS`WJtc26mmNqqYwTSu5O-N1J12!z zf2&!OB3)fDK|a$HP6uR|v3b1e3r-jSeG;W5l6VU|-ek+fc7LTeV&`3INMU$*8FuSw zprU|!N>>5d*FgH^Fmex|0ZEX)-naQZKTYRu@%Mgj*W2Uqp#S$*OHEp7sgUc&{zFQ2 z#`VLSJIg=M*LvrRS7#Q|4dt}q_#qB=8sh(ff(#IQexd(#WNrkCxZ zlh0dqacgJ=-?gQa2d&%Q);QZZ0B1aX4&G6(hn0;l}k?C?l(fbCo z*{9YiHBg@i)3*6v%m?9Ym0~ygX)el1x*~f&9s5c0^GbrxeW$syS5=LCW*XtM8x~dCQ;i*T3w`Cwa#~tUiXRe+rPYkBL${ zo_KoZ4}XZc2vAU2y}lhe()~^_{k|}^=MNtK&PmSeb*QGrPnn`a*W6SMYv6tV_9R5j z!>~v|<&h3Ar6+D|$(0RdSEvdCkQ?jg&!x9t*|JdZ)TkjdoxbmP`K~~pGvMJ_eDJma zZV;fN^dY^3!ESNGwaPDc+~!xu&DRcJUn{L(X*(?^O!Vjq;vH*f?I?mPMr#RV~ZGL6_M> zNPu}hVGpT+4?`j0pDm?bGc0}QA|6)cG2p2vK8MBPjdOt|tf>P${H;Ahcl2mM&3v-T z2*cw0%-KB62sBQ#GVozZ?m)U1YO?zG7R`zx z2P0{v&fNWuved6roU8TOqH6Azs#EvprpOb#>+JgqJQhz>*Q&+zZhZi1;G`e&b4Qqi z;@Pl$&d2$C&FXP8y4&3*!-Cgd|9e7JKjHs)mH+F313!<4 z+q-yeO(on{l>gDfRZ*7L1ptr(005*LB$StwI`hD_7l!%{tN{i9>fE>>2_(n!fC2|}{$CO=0Deqpoe@xPHBbZNHx5!u(q1~`X;L$>t(pTPqw zvLN$F(0nw4qIuq%W{DNdr}6r)4uGWv=DNLFVgnlr1yeQ_jlyY`FzWI{Pmw=!RH<)~mt$u>Jd!@E7-@~`$NPb8v- zs}q&8&>`elMI(3{FEeXvq$~2VDdsVSdJvT;6SyY3&eMBAeFQ}uVCp)%8)=h<-2bXT ze!SVANKn@|sVJjRUPJg^VgfpheuP?4UaL2Y_4sb3Dgk^$a84EOtA!XQb4U1~3!@f9 zTMOUgdJUCdfyPh^H>I&(5?JniBkSnTxp1y}x+n+)Q;@9}8MUSHcAAC{J)uzQ0)J*` zA9aC+pnWXvn9@r&?5#S6|FByUq0O52WHD&aOw3%2h`>N$WPHmU&qG`a1bRVKF8}gYI2dufsnm>V{K*9N zUqB#)-xl#81t8~H@ibc*AZ5D|aq>A95XWdznU=_`I!t21amQM#hcM;#BRR3&0_>x$ zmrEgvK)08Hy4{+#4R1C2ioOkg7v8!!>f@t_hVVz8Sk31fcZ~fg6`KcI3sm6m&I55B zwhUvziwjEsBR=s%5Dk@E)N>Go*EGi@I0MbZY7FVBqZQu|>l`(kJjPq-%SVf?4p5%6 z!n;ZF}*8ukKD8o-wa^W^EIE*oGVJhUbNrsle6Zgiv`!<7>s_6CXI zIF3*(j^e_f$ymFOL2Gs(q+Dd}o$$vx$diHoX8#uS65Pr=&(ds+Bat~P^~s;!9}~VZ z+Qf#6Z@m=Q&w!S6wNA{w4kKMY7v zGWHFyJRp`t*8;|aJ=W}7BtRTE=F*AOK&|4P9u>xX8yXe}7(+M}Duonf4MfLa1yc)3 zv3<2VbCIQgzEtk{6#1u1ktM zYEyWH6KhRC-O%j;MDOukmq4SWP1mWrvX_6X5Ak?|krskCas?B0Xps4D2^P6@KrFam z_8}zUgEhgLDl3v=F9@@N8blOBKgIr<0wW23Mr#m8uCOhGZ|MaTD>Ec9&~-4zVEXj5d4$*R-HQ1l}S(3^A$ zTsT36K(_|H$UzZI2IB>Dat^cr4Ql5wbjNOieM}~?Jj~s7OA3cOVw>K;iTG$hq&&V4w2r}C@ zLrJkdFe9);O0oXI@rMYAE5}q5K7di`{TzrkC-vi7aTjVEmIrL@Xp!?pZKX4`6M&u^ zv&vx9-97DLDsKTmVck9XWz=m0d=pK_^P;({q5T9kh5bQ32u;!ZZ_nE2=Q5)rKphz9 zy;GHUWz;wyHYGt*!W|edD706>y|kYYKEysh2P)gJA1T&;`9eseiquF#FeE7ScrfI$ z*jl=$GA_BN?xAazugRh`-4>WmiTa^W+;+cTre|Fj7J6;^S$GfUuDI2?>H{9|xULoD zfAEd^OH>MdV%E$MY4q2+5HJo}=0StM78dFDh#kiTtyz1c;M`Gd0Fv-k-QCy^cKTHi z;ics|cj6;c{~7cU;*Zx<7VcaMkGQo_siE*AtCFV`h!(v=u=b;sHI?ZTqR0Uoe8-uW zY%>zQ$R3KGVl!fARsHmM`Q4)F>5&6?(zUUdZqBQuq|>Z0(uVmFe?(3+BO*6ob|*|{ ziE}H|hWxJ4V#$5`oyTj1)+GZ{+83IW$(L=kuulFTnLYr}kF2?xM|4iG=!G`_W}oaw zpfg>juQ=7D_vvx|PmW{YqKmZH-S|X~`)S04YmESWROSwwRZ?>?MmqSDJL1o}4?YQ= za=*@-4?6+vRAZHfsu-=oQy0}Q`Tkio{_HWU--?i>UHjGLy4CV+FLGmjVK?gA-_5#w z*;(9A(v&1A=(}Hgpzl#WO6+R`0?X5f^iUUjhBW>y_ILm{01scm7Y^D|lsG|)Jxkld zSv^Z|t{2kCx^3`cPK)4Btm-Z35B$>A(3S`LDyO53AlD^^x8GXNsYN}l8ouVGjA?(9@$h04DA3ik?0cY-Kyp4_m_ychfRN zRsT?=_jbbj${JL6s_XG^92F1pQFTe;K5<>H|HVQWqZxl;mmD9y&F4r&f-x1ww4W^~ zSSbfP&{KBS%|X7Q&zKb=L(YY>t?4#Gs_zYaf@|k267Ya6Z>u#}$#T$Lg)4_FnV) z!Opv_kSj4rsAZM^`>*kSAK|3IT!DJ>jDy)X&5&z3=eVwl9a@SF!RIsUWKUJqd?UH# zYvitQUIg|%G7Wf~N2`ZCgQW9hq);Bvu^qjk><6^w`Lcr~cqbDIn3p`ClHv+dSn+%# z81FvMr#XW%ZmumsxkFQN7CG(QS(O$h6u5X*n{}qBQJjdlY{GDlweI+}2ZqL%nHt_? z{tYJA{E(OkJoxkUd~2qs(AZL*XVPA*^)aNNaBYVM^Lq)CITlW}@G;|t*q`Sd*u4VFg-!Jj&+I@Xu#gfJqT&D3CsE#ckLuiX z4TTb3UJx3HBV%kQ{Y!D{j!5Lb>rQ2x#+IuB&=(1=%W?6XV%2n?LaS?m#zjn?zefr4 z14toZGBZ7rVUDj5R#8|!q|j9(!mLtX@h2c`>vHiWPl(C*HqhC{hh`kWSP(x^YByQnzt92=fw;tQi_JnH}DZ_peYI3$+xj2)Qb?AWSmc%tjvzZi4Lm zgN2$SSjOCY9M#1)_J&C)JlnXMZlecVn-qyY{G8kd^O*0OjJ7OrNy`b{I-XKy-3OOv zK$b3@H?7IiF%A=zk9&|G&VT6qSY zS@iRtGYCOrZNyW}KRD8b|91HOQ}8SBU)FTE9x}B^-LtdH$EAq3XhM?zQV;|f%#q{B zeq<%kbQ)z0=ImLAzaa=#CcmnEWlegO*&uiD?)Sn6jl$5(y*@OE?^O;w0&vXc)*} zD5xFXi#w_PdR59~I>Y^qEo6G^r;I(Ios||c#&Q7aTLf`LFOs#eA))@OFFiex{Aj%e z&T#aqj4FzB>^P;vK%^>CTRx8^87|G5`wytWb##MT^RH%D)GFSSz4{ViI82%$l%HbF zx|t@6%!y>mFWWOsJ%QzSSMpWd81TOUJ|My0$}AAF1N$qU5b$J(8JBpzfloaiO-)hlLI!W0EErp0k9?z3ca?VBoJoe)%*Dzd22 zX`dji=o5hW6A;XTR2~ymlm|ALyAD@}rzCD$#MA~xkgqLb%Asu$KVfrt!1d_bc%ZhR zp$FXw{GC8yn^lk+cMp!A41xkbegKg6mj z&F5YZygi8>_<&2Zhl6qlKKyF*;n&L#zoLJ5pTpyOMf6?J@3%2`LGFRK15tS3?YNO1 zcsp(;54;;U$02on4{Q(M&066H@Mf({2k_oD2Rg>@WswKK$4oEa3-|)QfG^++_yYbv zfq}aV-N6N#zAfL3=XaIqz^!afPrIG5y}SAxR8AA*`yRx0jkH-^!SfsQc5RwdurC9> zCUL)jV*xlOz+oxFaV^8V9Eug+gKMR%KMgo_=arHGu~&qCBee+BOIzJEy?^1;Gwep{ z*ayhzcP%C+x@M$D=i9%ge@=rKMPE&SO<%EfFJY;#8XwgE_(N@`=Mjfwy^F`b8X0!S z{|uE=D?TvZHMZ}n(UYEf-gCp?AM{gS0=opME9V2NH1-ZMa|Edi4naXfvki7>;}Alv zCM7%Gw+eFhL|sb1K<(nzj_h|{Yf8f|V)KtmnB7HnwHS5Y?*fDAzM7PIv`y+?Tg2iCKSJ>hV*K7yJ?ir-Q4MzPAY zw)gvo8GHj7N3f$5Z#M9E(3tkiu&XtVp1-qc8GvtXAJmUC_<93BI$#a+VD;L+qVH<; z2DAQ|(*6jb{)N%d_gmPeNz?e&Th`Oax?I5yk|GF&&V3Nd?l(4d6~LbWWcm$e6N?l; zL*S3B$Csu4J1q8!eX`(31Z!AsI)HC54Q%@B%DiG?Z&V66?tT5ZAh0Gb7C^t;*txeLBR zP*G>62i9Q_(pnHhQoXDDiaOK3K(<`3g=N|M>2M5^uwR_;?Q>Gd25MK}~&Fz*;xz z9jG`o0CoP}g1Uv;Ll72y-h;o;sCKQndJkE_0!k+ zA@XoQ=8FXxf~{J?R|NjN2l37T92K(QN3;gpUoSMnqX7=C_O>|jfC`BO1}(Qo`6d9` z5i>2Aq1yx`ja4WF>2>9zvxANJTmXVxNgD7U=%5S-qYwKbBn?{z1&k*}BNXHe+I9BT z(?Zj2JCa7a818p?l*B|6j-QV9OljE1{Q!-IHFF3FGkxvkH;l-y6U2i-kPd(o4UqjN zX}G0&?xe;ac!xjOXKWmF>}fxq@-J#Xb?rZ=KYRGl@#*jQE7JW2VhixO$91neH$jaTVVQQ2gW8GN^7U>2!A@I!BIjZ2TwoUdD|`v#CwtmG!Fu?8}*3>(sCX& z$pi-)f=fSjo%Or7I2i=#mM@<2)@za+u(F_xq)^NgPdB-y>y;R|^;Kv5%C=44&?TA< ze;<6oLke6U2l`j|d+mT3zej)iwd-YqgGjG#9@Biyj)PoRCbZiB{M%o2-Sh}>+tA@r zVDrcPPyLupcAxgltCSPa*~6EMSM`5;Z$E4NNrOZH0000$1B1>YyWED{?T2>F{-{&M3%a%?wJkx0S!Bm~P_vVd^j5x7m z*4Kad`R4k?Put_&?y!G-roU2WFSh%O!{u)O{`J}4ewZ)Q*^9f=W`DW4KJ2%z&pvMN z&i?StzyI6UAI|T#rxU(*_X4-r-<{uFygs`+oo>%xy}G-&+TLvLzB=4)_W<7=jyIbV z{&{@=>SlBN@&5MZ#o^|5bK1S#UGGjGUm2ys+0$(fug~s}`}3z;yu8_691nMgcc*p9 z`QhEW-Np9lf6rGOf6sFtFX@Mi`)-PxkI;9!x5v%#QBR&;XT8YeC4MN#t_XDd~vlo zZZ1ySBk{_b!%?GLBzUykcv`}>=}Zm|N7 zr{|GuHy2lLwile}A~d!u@c5f870k{aF`0ygH`%ajxit4zOd#-R1U&r4(;YAFsC) zbNFWW_ifo<{^|biw8I@AR{TFPf`2rC?S4J^&rstZKHhHUc5}Liw)~48_MnjSdUyN% z?sz;LzujL#-T!3|+r4|YJ>mho&1w5RGL4D~0Pp^m*`=6>&R0r%C6)Wu1&9(d3fhGnaLA{F-c{uo|=N(lt?4jubsSmvu3r za#@!UGhbOHojahTuY06nX za}A4xkF7bM_$)Nn4If*>Lglm2F$QiEJO1O(=~@rI=DN1R`*a-!mq9nv3nPHJ~t2iGHK8itd$#y z%0Mgc6kR`B#lf{#<940Csn*_e7NCuqlgdCFQ-!e^(-hTSZEW&fI>x&oAi)T43a{Px zH9!W{18rR}!rfr2sO1APxa9*fBbTU+)ACsW(&(B4t#Xx*4U435i8@yde~ydV@@u>; zm5;y&FN``U$9;(o+9fXQpu2Q8Q}}8Gv4ndR5FM%A0ph0coX|Lj)ln5oEs~BpHU2)) zfP8ZVW8*70sT}zFNj7&rf~*y{VmkXNj2dqf1;n|)^`Q7Nxn7sx1R0c=GGFy2HpOS5 z>Qwp6RV+s?w;J^18d8HB0umMX=(;WM$PpJgSJoZ2kB_YzNuu4CE+L)!M%`oJj93pa z2QJZJi{W=0P8mMx;cF9+Xfn5aQ>DqTnUDh4gK4`k+Y@8svYuc#{ zzJ4&Y)~HQHQ0*O+sBvH@!rh|c5hV~W$jvLyEgwig=4{<~FGOty4#V;H2|5XL3QEB_ zIgrfPj|pD$_!NlA{7r-RoC%o_eBd(|5YF*YN2_?eZ4%fep9LU-+>#EQMFZ*F?wDki z6GjkS=ChEsZhW@0&cX2rJ(uWIQ9?}MoXWes(EUat9p|)>*FC z)`rCMNY){&<#%%!8`WMQokwjLfaP)41HxtPZ12L|Bwl4947+iNsXoBuk6?m4wR;{_$Tu9~mR>6{lyE)7Gj;&sE9uK7OoRFX?F-VDKfO?QH~u(yvDTW(*GC86!dLCK3oq5Vi~Tz z!)L)-4lnRtu*AS?hYKmfn}#HfEmoehvr{D=P1$LTu<9pl1s~gVMzBcJbsjU>2^PSm zGegz%O`TGaYvOX6yei`0n+zQ_kjcjeN9%aZ1SIfkIgrk|i<URpJoNbv^>^hA?U! zwc&57Vf}^YKy1|ZIs=}_M-7DY9cN7KRNsKKNVUot$+|cbN~5~ttWS!+kBy0E%z)&; zrDG8@@%M4Ma(nHT5U9rh;&_Dvi02U{kisj3Kx*T1gAlkCb1qiSZk=BhVUFlgx%PTv zdBg(BS9z7xd7lQK1#mH*bzi)JM=UNFuQ(D_FZ?;tRL%ligsl<~H+WvzMQ?b1)WsNh z#NyIQRdB>~VSbW@9TO14t79%XC#>M)GS5>0X@$Q}a)a|xmtu0<9%LnHV%A<*3q@;T ze!!jt8((4)ENn%X#qCaYRr5EkUNw$1Z5tm!Gmdu*fIfB}I|C7F)voy<*d0W)n(IM} z-EwQ$t>GC!AXBj9JxpFLhmQ$7a|$H!o)U+Z&9gW_BIjbzHld0Q5-;#;gu1zNYdMwS z*<&|t6-GT>YutuR?|A*xfuV3q;a3+ET?;^3p^VF~Y&4aQ*DCQ@03zi1yw*a`0{Fd< z0Yo6Kc+SBa#936UfJ~ml_a+$Lp9nAp4$U&L+6ztzruGq+dw?e zQ+THm=a$~VXYso^n=;j%)q%k|612_nwXhK0ncy)v9vJ}%+={J^AD$NjQn{z~-j~Yt z!28A-7my*1Ae6{wF2K=n9Sx@O%7YKia0cmvAA&?9SQ;N&G?`~gJp4BInm)P2nGlf9 zS*K6F3+ps1#jPa}a3PKu%l$SGm#Izk*>|4N^f@+Ox$^}91Gi#DSKb}yi^)^C#sVTLzz>YT+|D67}O|j4zM|v&d(zsm^Q2 zzS$&Le=r9g9r`9!D?B1IVHUbFJkDBu7K3Yi_kQvbU?uQ=3g5x(`1}lAIqUSpR9<5N z(j){tT0nx(4dkaPoL2#vf@hk#3%-8!ZE%TBrv%?PLvGX}h1J$iM-8O%sz`vh=e-eO z*$VomL50k%a?q;q2yFEea(e(o==cm~bs%uW3ECU1*4)kxo&Bsi|uKnAz4!A8Y> zFz(fbvAGy{wiQSf|}sH<=M#)w7~g7FjkPx5}a^1L`}loz@qu6gU>v( z5HJKUToZ-05I~W5e^rPfai+TJX~LWW5k`=7=6olteFfBOhGadjGXW{w{{ZRS{{(Of z-X8*_apn+GRNR+@yn+^v=)^q}5TP$1WbZla1d=#M3PoieV}znT?-&3QxvvM3c~vA7 zR|IQWLYM*)g&jKx&;>6OR#zoo3pEJ7F*H|sd>Xnck;|>CsfBA``1mYzJ$PmzbQ=V# zjJTdhu3@;&JJ!Molh+QzG)D88n^yDOAdtapA7Mt#bAu5}+tKF$DSW2})`+mPA+G9& za5qF#0^${y&O$t$1z0!5tMXBs#JzLW@J;+~8voH*z~_nQ6M;0IuZr-&T;G6H-dPG- zmo1&SXuPl|1xPB?j>d=fK#EwHH!dBk8@K+^n!&3t(ORMMy%1h0j@Av%@FO?{_l-b; z7v3if9!bE>O}>7jGm7U&qjQ$mkbwlAbBNAsZbN_=zKdibJYI-+3}3+!;ez8M@UHN_ zfaoy-;cnjX3VZayaz-4(YG~ky6|zz>IB6CTYVsWv5v)eg>!>>4e+p!9P7%RsxDSrW zM!t_SCKq@F7LynD%fu7{ukFSZHTNYkBMPOyF=pp^)+3e$a>O{!xMHz}?@R^ahk*FP z`%q#vgZFyG>W1ZW3PiA$O(nt0H0>nBG-0;88axh;-E$NZ?(F$%79HBZ!7~Vy3Wm zb#VlAhsz*1p^gD$@cm3cCinF)E%S(WDf34dbb;^fOEWlO z)z6rC+?ds3o*Y5AORZ&IJG7{DvR0i}q_eh_uaXSX$>$WvlY{Aer+Nl=;r1}f(hdBPcCpjeC7~43t9zE!847yAOhnusA~g`fOviqN3J??ADq|e16(>a zR%ryW^De~Pq#a_pIme?9AX%8X=5yn#r1{QIPRcC^`y_IUk@qZMo55{- z(bn>aA4uc1(4xJdAw>tv8Omxp;+(G-E%>=&Oy!l7VtnEKRmH@_xfqbnb*HR-p?n0^ z6dun3nN~n-5k_Er;5`e)uIf8Q)^-&>YUeXQrK*6t@HiNOYvg-|fFzy`FJ2GM?20#q z*D-)pz8Vo4D!$JMNE7DNOM5&^P=)uhm0*OO4JBA1BU6IpF-nM<_u&JX+=i5>0^jEf zr14W+O4LGcM2W_5P60$X{|!jxS=|z?z+r(59=R4UiY_40NN);#<8zv<6J(v7;&t@0 zdNireD#>@wo=OT)u-7Rh&T4=(o?R&^I=-u{AOsV1G{eMm86e2ur$+&iR^xIr{5b{8 zf!_@blIK)`41U54f)c~?A!RLY0SS|P^iqxCyCF)AP4JCv(HD-G$-8Gtvy-1YSz4Ha z&jL&1JN!#mf#*X?H=gsV(w)#*3KAa#FVjQibr~SN2uQS?zm=hbuzrT|yf>l@+XWjk zoUls{$mC}`mJx>Fv!+sf7gkxPcW`?>trmFIw3&1AGM!L210w8~Dd35mb(R@4&wc?B zPKB=P)GK-of+@wj_9{3ZuSryG9FI?{ww_z0s>9%xuNoV8PZp5L^P|;Zw)xl)@ALW` zkjyK^6@%uss@jnGEL5j0kF$VG-g8==3H-E+>g?pXr-ktRXm#FmmR7w=JZD$E);#A> zeKg$H11UTkUc)+qha)lbGp}mIf}|FSxC`y?ou;|8kcqUf!8R3RADuiwbhj)X7ZB}DhM{`r0zB6Vn8hK76wu|_pd!p9_7>l?jj&ssE*a)0?*9V zvG(k6Bu37>>#8PkWYvGTtfwhF16aWVcxC}e;9jOZY$V}`^*nNI${D`vuR#rXT;CLe zK;b!|^S<@A`st`gZ(4PpcWE$|e6M0#$4~RIY14Su9uT4Pw`pGmiRviyk2a$sU#CD4 zKPkT%FPugXWbo{MTMnJe%^(t|tG-$7csCu8#4FOxn#g$-5TR3c88M#0Xf|4YK2mc^ z`1OP4U@Zm23+Iyq>3m0g^U|*@G!G}k?*@j#f1Lt|<6TEU3hzE^K{amQT9AI7qOJ3< z1;jSa>{@V%SIe8&annMq!gC@57On?T3n%KW&3J-VMVooO1jyuB&;~=ndzgR>-ci^h zI0Z*m&kui}WCuU5rX?q^&X$6(l?laG41%&UEEfQoS$0O5TOKql{gZUa1#&-T=g?-2kJd0Y=fsH3-O4DS{O z;`nLJ4b0APyEB7u8ZeN_Eniov@F=G%m-+8N^|ecYuHc36$f#>Aa&jaHr{e+XoOyQ}J?97A zIpOy)x`S`z@8i~{RRNh=Kw{wQ6hWKe9V!Ug6yI?TB=9}b9TUg9c!3D#;`E>$-xbq? z$$Ym;U&UCi2Vg?{ES(;(6sSGuAr>C7^r$_rCiQ45=OH~A%e_ob)^eW(#0zUX*~Ir5 z_2h)zQ9u%}XY~w1%;%@5#BF>py778eFTU~!tXCbl2kg}d*~wmQ;gJLop}yUlwmf?8 z@TbDqx*a^y>sUaXL3XGwKToK`pYrNUAIb=;ad=6qMi62QAdTnW`qY6}p!zg{pJdY~ zXf(ZMC@E?iN(+0(@S>LI4}b{2{syFTzBAUTm~<@+kSAWN9$Hz>#a2p)XLSculvmV- zj*9ok53>%ds*zP5oRVHSXJ4>%k` zVg4Kkk3rYMfYsq_W4NICX(R(ai|?WzUMa`*z$?ou-^1(5StpRr{ST1AhbSK5--X-6`d`w}3N_fn5!HLnAXwp3 z7}*H5>XEI`(LS@7 zzbS$bUX7hPdLI8w15&|9V2tOvCm=$sIgRbSbAFn24j)Hi;(IuNR9^L+%a99*@w`)Z zT03|=H?2>++J}W*d8`Sf^Qz)>%UEzk8y>X*v7A?}MZz;#SR{^Dq^Gl4kehQtWHeoz zozE#;qc8%G+2*=~pn&hjn~0rxEVB^aWiWjlyaQs2zt%Z}jeLLb41V&HlV*sXpX&i6 z@ou0Qjp9`VAcNOjXY@*#?HD!p^+2+)=8~>FXEzav^Pahx{17Zf)|yw7W;TIGdNW(i z{m;z7^I!RyMFoCh4iI4n>?}s?eRWhEOSdls2ojt?aCevB7Th5aG!O{E1|2N81^3_( zYzPDx+;y1+U-BKg_w5cc-Hv;P0POu}X1V0(Sc$^k zQAP!D6ev(w(oPO~Ob@%??-|)5w0AkXY+P!&q6AfxIE=1Q`jiZtWD35?t6F7Y%(1zO~XkqHOhNQEPOWP8tZD~c!-_QN=a^y_sb_BLnk#l>$4e}R} z=-*HDkjMm;*9$H&fQ|)j;bU4WME{ytZIOYj|ZKAbeqZpw$MCVgNiQ1TwO&v$mWP|;=ulB@wqxQv0CG(gw8 zV|RsPoo802zHS#VH}95JsK1Zz~jX&fo|M*K5zFTzq&X&I=A$O2s@~UZSh@F;iO&e zzS7Is+D8SzzNXE$JFLx&tX!U=L&S`HqI5#rDa)^cYa-;yATH6)_EgU3b9_^KpM5hy z4q?5l(Z{n|j6assjy&KakAHmE|KIn(EU|K^xyMC7K&nJQ!1=$+fv%o*f9o`ucD;?RyyJJ510Y)=x1Z2~Z(F;B(7vbjPM?cp zE|2hmcw#Ml3&;O)39bR0JQSua>Ok_aO=%6+S!{@MoOfE`;K&f^&pk%6G6?CQ_z5Yu3xdqCdii5stA7Gs}aQA zV#UB0r_+D3n%!qTZ)Oz^vfQ=ao69yjm9!Z{wl1J(L)$eyj!R8@_?mUMsbJN*!7a(V z%?~Dzy1Sy0l-~>*bN5oKmEjBZo;^zpg19(%fE`pHN>+}%Zc~{(ps3%O`%KJ(S!^Ab zcXKrRL&U^HM*MviPwFoONpwQc5UzoU-e~VL(PIaW)x8i!RfvuOCyG1nB%)5U1Qu06 zAfQ8H9HZ*KRqH!VMo|w1-Hjzj38pGH(-zF#U#Sccl7;5Rl#kc%!8#OZdyJO;Um20U z2Qp`w_+s^^+k&!Ud`AaR9dKbKf~E$I+>bzPfw!vD3tSOnNCATLp|~>&QkYG0#VZ^g zFJ~6*Rv?WSI^zHc%D1h-V2XA+SuJk= zb2Yq|M~IBHZ(RjI9#oR!gqa=C%Y#M{V>Zr1+DH8kSzR6}5re<#E2a&wcV$Ike&gr} z|IpDLj^Ne^L29EoI=XTQgNSA>Z5+j}KAj5Ur_{r)Ya!dQbedflB1*F483|8~uUMJ5 zOEZlq?Z=`#K3ClQ#YoZ7-(MiIISTl~<#((b?x=P9Ahs2esqku*)@Poc{oB!dCwzYz zJQZ7Ue+erOY(#Yt95F6uBw zKB1Jv{BjikH$!{h_?JOFzqs)uoxHZ102rq#q=66>#wnmFOK$4xm}l~3M%)0Gd&LC> zaY|h0iQq$t;nP$5F-~5WB<(W&5o1IXqU76bBN(y+UU`|G=k^Y;vILbFrp4R5P&XU* z;{}pxN>r^hQMzx)9M<4T!H?wCa=jY-HYMpFy!K(%zrFPDv#Yj^#;W*}+vXu06oxXR2b((M8*66gd<@y!atVL>qgMD_ z7I07Cv}+yG}e!YP{;+{2DY7*Kzw56zpT%pZsn`6mezNAM(y=x96aQVQt$Pf&yF>OjYoopUtB)dO!aF_jbEwGkdDnjcRb3E8@x{oPXMxs zJ&ewC0m3;oM8k+#{4_BFB|@J)`<{($V7(BVgCD%*eKz(pDYN621$}q4ANON<+7kdz z5W@Yaj=tAsu7GsV=J3bCLm^O@^cmn|x$92tt^0YB0+LHUAL5R()wAK`QRFnXtQb!5 zYW+&7N(iTXkZZm$*5n5T0xR>nf(Ve9XkbfZf6(#AK<(TWM%SMv8aY))Gf;$tF--+* z)Fu2;!h!a$QVI77n_L!z2{kzptQLW}H5yl*&ja zH@b{8X`_AlPYhMHPAm^<(qJrV(jfnZ9*?S^JZbODCy*(GFbl+DXpYBX(EL}tjl~!) zBPYzwp&*q03p#DyfMf7D8>&EwGrBaZz_GO7sBeOSoBj(-qdJVHRvm1# zy+JG@Z#X%OX1~BkSDQZ(9k4lt7Q{4*8Dcq)X`#UH%Evx)8EYfop@oH43VzOgsV&27 zTTGKgF~iOMsVEdpzZe=+L-I4y2Ej~&Ke)PpRC+-Z3&P7jgNvxbFWaHDQY9nMIsXpp zdudVVTQ}{lpA;!J;Q{%iv>%^3>uMtrdp|MbpTQlBwTWZM`;#Hfv!^B><@f`t3Q466 zp1P)kiE5Y$i#0KAcN(SAEW;1t_+^Y7XE8ad8AcX)4JUEgYZ&@LXX0|@x%XCw|Cvh9?iehcN75M2s7WG=F$QL^;Xwm&~GTz3h-n@V`m19OT zW+>%1xE^QJ5}ECPtbXeIS=;?EF6K!STh;l0@Jaag)J9u@pVP27?_Uk0|5f=XmjTuP zsQi=5-zAW#cfHbHh>tLfq8Oa-SvX5S`RZ)TH9Wj6s5m3@#%W`uWnMUf>@3~G<}2%G zeQkYl?j#0`E($rq_21U{%Z*B5TyR5thT*%UVad~3gpj_wDIfm6Yo^1~El-}Qd{BRl zh1vETvv3mp^qf)2AhcK=ew#S-Fw<20by4FWKJEflw@s+mzvYEl!k~@4?kVYIpV}8* z+;SIi7H7k+bXbK+RSIcrkD;_p7$*Z4t0dR?k&3pqB27{8YX{)Y<7{OsiKJ(KEbJ_q zVw5#y8{6vcM6RmKpkq62&ensU#3X#4j+01B{NP#|EN!sKZ6f|NfU}%Ix=CRXZ29%I zr|Q!0VR?m)R8{>6n=Bs11wK$@g8=5yjG-VEJ-C+zoKn}lbI>oOco|qsjy_ql z>f1k*nDh zEMu%^P+lctt2dXoA79KvYrM~^-T5Z0(hZLt{@XX|W6%L?Th>SVha7T70GfdIkP>S; zVV}rvXS?Zq)`=L-KCV)gAwTW8e65QY`&v22VVpA8k41J-<@a_9_XBFW2j_(;QcV+U z6AuR(*Gn(1zjPrX9F+Zk==c*KbIc@F0v{Kz$ z03lT%J_KMNHCMTiBIV&3>%&ay+rzsg*$HnGW3{;*m22``G10xD>}oGRMt5AEMW#*7M7;IN_axUf2254+ zmYhk)Z%C+YPIg)NM>vf84;ClqxxG0W9#_g^776tQ%pe2S5!1v9Gvd?zd88a;h4)h` z{Ak*U5iAB`vY#Gz=3w!0=l%R@*Lgn)2v=%tk$ZX=3hAzQxC*s4l3~^1ajTuF8|R?3*^2p+{2@9meXU@sT$A9qI^HHh(Z2{ipRsJB zo+YlZxmXEyt8B9gtGp}UyrhUIoZR03uo*Z*QB?H$3|uBJoLs1Py_FN-Uwva+52L%d zFxo8*y?)m&V%)SD$_d`ipVkCRirmRlb@SIsK9YKNcgi$>`?B+D*Uy5DQo$|0`i5;UdKgiLffTR@l{mFC&P*sH`Lz_OSpU4KeqVE-zU?1CBf$zzHJ#&K*kRMJXrO@fs0E% zwQr`!l#8xK^z=;x{92wM*)P1L=&F?=Pl_jBZ%~m^W)S?-sUf2&qP?8X;RBP9$jCBO zuVn640Ty!)?d4Dpf0ml=10}T-Agmf%p;~`anLc1EK{ar!to~uw#Jwb=DYhH)$N;FW5+vm>wkVt^zPFotxc4Gv1amEL zeWbL2?!jZkXYxEC$CgizDLqWCKA0pdDG%F?bHfw~TR4)hk$8H;T2<|?=p1&Rw>43F zIIKg}UaISwXp&Xkn}|35VOY0|>AIH)z{9UdCPez9h}n$%$G6n@!?EV?YsY15^!cY3 z&j|9(6q1TH3sxGvO^E%VGmnal+tR)Si3+i4+H9c5dDSBdcjo~}1jI~XxoGr`Z1YG? z7n!apF{)2(S&iJOaCXhF2G5l$EorDyO*LESlNN*Hnild(7y}rxpZp?S?L1o~SCH!5 zzeXlYk5=@N?SA9&*+0H1Ibeps*PkdIL<9t41ZD)Y&n~V&dwqL5E^Ai{`?tbzX$^{NxI+sin&L3nQrxv>dyIYJNp2QI7Q*QmQ2(_#|S zzG9cW18F|vb3Zr+u@VpJwoY_DTw2JXbU~%w8chan@Y$j`3`vXWs2VlL`XUY5q>jmA zzf&HHj{`H>TP$D8LBz;?DtRq1>0n(Sla5;6m$^k8vWVl>S+@Gt@Vz$7UV~bRcY81A zmi@e&bLMMUxZ>%zxIvzr{`J*n3!?Y>pOYWEN(y^*K2gk1+M`53L;Sb){>t9;hYtT# z-=DdgsB@7KnR5{SmU`m<&k{XW71_m&`F#C;ef1{*n7RCR5U)^$#Z^=pyO~r$N!4sf z-^O~aZKr_Eb&omX@m3Sk8Y1_Br=}2)Q)Kg&m;y^e{kh-my$w=iPw!98mlGWnB=sx1 z3f|p4%IL5|f|6WW0q&?Dz_NuAVs^bG?vx=#VSN^}Y}e`|JEm!q&#kl9?T9OhMc6@K ze27Wk-ivRD3dH2OH`2MI6K~6fxV<96D6G6QXN@Ut@Ra6RN9kHCE{a5Nw!N70UqSjO zD^UH|BAxq0{gK>@;J^9M|C9TaewD%q;>MMOhpf{4LXdBEq+vz-kQz9yBdA2KMm-R0 zj@;@iW9SvgDR~TAcQ4LzR3YWf==j2z#w0?1e#eqG?8byt!w`j-+GEqPZWmxP7F*Nc zk=WM1<@@Upk>yp@E|wL7su(hUYO_Od z^`L=KV)V{c??VEq2uxHgQ-kXt9e~vI>?QokpdXO_NH&CqXbv>{GiGp^Iy(M!-T!Oy ze}=_(Lk>&axGk^tB+**>YJYV*VWvxc%HfcCWx`voRKvguIISy4x&+B zy}ZI?sWpk0L32|oN<{^PfIb?SPMc zkVoy#jwuo2BAOG7#!f54=|m@Sj1~i#>?p>W&u7)eB+#yhU*j-j!3wY!WGY0XFry1N zFpsN|u77I_owDRv_qVZ8%na{DW8+>3SGjjmih($C`+3YoSxEJ_s69AHaiaa`=f%ST zr@CO~sux4p=G>fTzXcbK;tu6J!nX|L)rA;bsb!XM&l{^Ggp7;Fso}(MZhMug=3ky` z0qZSQI9^!cV>1^_S7D^bL=SWV8aZGZzKg^(Wd>`~Gsm5{z zBq}JZ9ZUq8JWQlm66o#vR__j&(`4%i9hSyT)MacIE9%h|RZ&=em#$E#=tYL~Wi&Bn z2R!~3*DlQVf8n%{9lASwRxC)aDA*%4Ls3Z?!L~2P zbjd1>1EZcPH3esoEP4R(qbb(j{9LAH)&}_57;;l-L3%@B9EM1g_|7pePE@(a9I>L+ z6l76uTv5yswA$SvythoLMtY;&UXG<3AoFE|tEUk2Gl?S5p(LHzxOn!R^NO2m?i|MkPZ~ACjmYO3wQ3lV=i%E~_7y zNb;ww>3*~B|Af1#;A)<*S+9t@87sKMOHc+wgVjIr#)jn)(x7M22e-^cUG8XfY*u#p z%PN~aO?T4HBNW~o=sb>D{(m~x2rvBHq(PzJh{lPSp>HyzhWxN zO=Ky>`0N`KSRzMxFw%b5^lppEX(Yl7s89;%o#mYw3?g-ha}GB8aP)?x3e2saHJYS< z$zge)WWj?bBlAiX*QFeT@jKtU_i^~?UX&QQ?Rq^VI=R#gpwrCM67JrsXEOpf#IKSq zGOINrbpr<`SEy`Kg7Ok9f4-=3Go;+A*Y?r{$bI9fw2b$blxkd_mmSECU)N^Kt3D+s zdNbgYIO@<_e3U?`b{cQ(VVwfI*?{(=EP70C|va4$2N5-qpl%IMG z;jTy+w8^G;(VmQ+k&c*sC`ap@>g&-PtWw`86ko}bS&rPjIoys$%dVI$c55roTW9!C zdSR8@l$CkR>w`^^{B85)ifQx~1V-%1pge(=WGuNqt!xL{_DijsTwtDOoxX0g{N)Qi zTZsN*6)F+YDod&NsrWQV%5@{W@*d=ctB6^)x zTb6s-H-~Dc_6D_2?#X?88%y?y;BRP@S3a5o38tP`hUUwSVn=?oNXoNNbkADGt@shb z7uiQ-xs7E9`I1|@fJ0dt9pMSWj8Y6Y>1+MDku}+#c76M|cy9(Pj7i%kD#>Eq;xg+e z=DDbZgx^Z6A|`}Io|2%;SHiWqA&lCb>jbuDFmTH*)2uJf=7T!9!-xB+j_}pUyf*Hx zzwaaWxAB`#R&L5u(B(!!KzR8t3wO8p^zLu}j~*rssCRKc&1)1}WPXXNy(b0aacYIU zQMCI65gq+eS1FzX6-X+yN>8e1NA=p2=FGkrihk%0f|ck_Jj+Z4gqE%->m$p5q#1GT z&!!yv>cxKgB_ojSHMhCSiJh2;7_qhi$~98(n`8;vNZ2#q60kDg=HPH$0!K>v;W~6JiHi?(t#vk z1_&T*?i6{sE)LDp>6$W1$0}I4e?F-tbgmyt#8HzCme=$aE#fGv4{()yV}&$M3&|vP z71N_fRKv%Mj!_Jf=DfR!E>bO`8JhINs8*jP4?m1uuTHYahLv zlD)lXUKxQ~$26!2?z|HB>f5&lWskN~`sXXS%t~S`QrGzexwsO9C8N%@U`?OSikXs`iTRuTW{J}!06-{d?+DaYNvMJk8S_Ma@ApKjw{3;!$5B|`XZYsJ1{ zNhQvnc5&S%HqHfhl~$v(hljJ-HFa~{H0b=#jpmgY8_sxd(Qft6FrpC5{7~@c8JT>y zk?FrX)V&9_>2~2rJ{;MX8)rK1K7WA9W-BMM^_if;%O5>Nui*_dOuo)_OG^)}t>`|x zZl^nkjFNs22PS?VtuRolC{r|sv7G%CBx4SG<91rR1_WBxtlSL14p*jK=1ePJP+m@b zULOezLv@D^8wZ{Eh0+^DJ}!p-TwH+Wx~VStSGgzF3Rf(?ul#(swyttZlnNf_PLaDGH!&{_mSxrzg&JfA3|0nYUgfE zK&>U6{w7C2ruc(MjJ06(Ulr0`JTUdMuvP+2>Ar^;qVHu_qHu}ghflyuX|jk~{-app)vLzxTn*}2=RX1ISLT;SYT%k9`+Fbuz-_;*6!l&%2Rc_`UEeOB`V zP%xe^gG-HeKb;g#bF}rnIdeLS{P*Ax=c=gfT+LLNoV~A$-`LTIp{c{0wb`%|vRzY< z(dq-=56Nbc{-J~l+?EMR6WdNYV(qor)O?59}V4N98m@D8;2K{OIy`Mpn&Zg|cfj_HAs# zFtU$5{4mxQd-k=ErBb#UWeZ6m`xZ*dk`T#|JxZ4PM)ifM?zv{J=Q`)y_j%59&Oh&S z&w1ZZ;Oo7jsnCp3xIoI<1Mu}mPb|*Ln~qLhMp)!~CFrEEps|`XqujYp)^_t@NEEt)8j0J!DUUQmD>nx+3Gjicuwpt#;;~e5f?8tsOI=S#`M&G|$HW*dBu}aS^zzkiw6z9Fs!d6qp1|R_cW$Ci88Ue2U!19d=sS;qJy2KPjDL$yp zWO+o>k*hIG>;fK)QVX8C<`v6_?~2Oy0`bYkf{UEP>Nj->$D3+MP9Y)qrma3%1YXAw z2wO9uQ!TUQTOCvx-*6?x^QWIVNmKA#4wl>bfV#QhH66`nCCc6=BL?xE+h{G~GB+Gsptm-=UasksXc0RY#~Y|DPAk+P zd2RddOZzTZ-Rbl>9MD`S=)p!)GL$jadH|>Vu`rBqybVf}Cl9|lNu%O=hEtcOJk+nh zX>HTY^lDSIIPG1^izn3bZSt}qg@f&rmcF;}YBTKC_#zsFh&mGt#wwM@FUi)edcu$+ z^&Zyv_@{v7I9^#+j#L=@t6@M#dWd75-D!CS^TaG5gE`W`g6lJ_lt;cIM(5<0ekqSi zMT{JVRuSW(GsYZox;dUxfMJ-mt9~t>Q zyGiGsQp~3mZdb6v2Cz53BGVz?L_cnq_l|z0#QJd7<=kW?l?eUqFBtufHxA%ildJ|Q z)Cy0JZ%Er@kSBI`azOjhP@yukUWe&2w7>r_K!&o)&!AuZs$#?Q_Hz;Y{9Bzm)S_I(eAsbG(oMQl!UsRPL68vWzZ5@Q6AIOL;1i zREpGSK@hHz4i#NziF;Emjk582&Oj#P$*6A;y>urI@!cCAS&(yHE0& ze4b{AtxViz+?1T;v%3MUjdeNr%cZhX-K|cBODp~TkhN^V5SW*YQe;KfT2=zy|7MNF zLh;jK%`BJ9C9(G(;2s`K7!{92o{LeVqpD;bJw2kC@SEAn9F18On0lXwDq+C3ma|!+ z7nrOdYOOJxbF@A+NlesIDloY-8~BmR#dln`@9bjFd!q!6p0VNkxP2cWC*nfHyI9CB z80NW#hy&{>H*Wj%%I` z`b3k=`?8RyBjqlN_A(c^BSo$?KAbD_c&l>aGyfaByv9;fZS_L~SiP$LrL!@1)2wAro zr1*xG_=i~hr?1-^Rk7#Jwl__|`*p6^0k(k~O0Dsv%Wv}80S$ml`Vv!sZD~P@r=>&j z=QSoWpz++>&~y>ExV7ntZ7p%sq<= z$MnCpsL3rAJ-lPD%>=1vK`_mUE(}$~bZy0WOQ(c9eNv`|?-p#y>Z8h(n(7l7vdgT+ z^jukgAPeUfL$NXYw#Tyb7=8h|De%qFj|6KDxTDc(gF0Q}UZokaB7M`3QtGqe8&6nM zW^nukO-$W_oobXuqs5RIf8tx%VGYzKHGV`^46=}j|`qt}yEqn<% z_#rhS9j#xDmeDn7y5qM{CvQOUsX&X*lG9mz8Mm|M(v_JDe*03-fT!Y0u`=diEUBs= zLmnxFGkSh0yW_L{*@>bTAI-vmnjL&G<1~_Sai(+pk84MQIP%aH0=VE&TOT8o_;A|5 z>$nE*Ap_Cj!vm&qK36$${1bWA9K~0ts7u%uLzF+x@jri1J!ZRPfD%1Jzn)|-q=s0w zyr`Cr##}BhJE!KzP9r}*?dbjvH#?UB{6=e*^U0F zq4vOEYWSl7f32Ybx@lC5@ZbnD5?4Xt)xJdjQNxGL6JBo!DYTIjvonScu=mw)Z?^yL z{2)pc2LQ19Wj(;o9r<(ae+eAWNPpop#_udcE)B9Ea=7JMz z9du9kgG!k=qrWC|(1Y9$vNI$AVn>pg?VWi%RBPP8XY8_POLVhL3qp1(*&?ZnA|;W* zSi)Fl?Ak_~Y~426Z0)FIQY6`zn@FN8jnYPu%92QVA2at}bIzQ@y#4#W$7g&jpXclO z?Z4+ak2AZPPPB{gx9;knbk+g1f$x8Kwd|oKaFz@j-$=VUT6oCj`i__^8{939;OBlK z$}37Ggon!n$#u$MqZIyyf(rS%oh9RwSPW)zk`n`a_)PA^7Ap9S92eu^GeJRQjWAzA zxLrtK5dGmZxyS2?oy$cnM!CmDxJDB_^*76vhcspR=sQW|H5;vOo-6R6EK{z1$4jwA z#g1<*ILKEbX@=pr>kFeU{O!tP*XT$NK5nn57H-ylIm>qBu869&yq0Qen4{yc{Jz!x zU8T-HLTx+qhX-g_e}!-5v}K80W{ zB6H95O_=C9g^oZMgWY(1{ECP_Dx(N38;`Uc7RVCVwCbS?E+}{DK;74h-1q_NcbaLg zj}5i{S;tsQvVcfEKcHtF1wCElONFQs$rKN_ch|MoG?yS?vieN2J% zmulz0iR46{Yj@LvCwTeSb{D%F#w1MyMafyzEQ}uFMY8b0j9y<^4h)8qd)mT5Aq3L2 zg-_6Sb}pZH@G)=kp;x5pW6LJ1s+5nZRl2Eqkfk%)L)^WbEjOJ>x)q)N+Q7+NdB0eC z%-r$aX`=;Ab+{n+!s!B8Be(P8^&Nh}L7d}_ zwW5~0H9E@A_Km2GWczklOJ#SA3cqSuQ%_XXEDqD@A-++gx%L&Bbr}5Rbw$|bh32X` z*RSAuo|5&X$L(FWJiT%D6w$2fL&LU0E)QDB*Jbw}Jtnag-i^ccQMDBH_>;+Fg`(z#@-4t}MP;EH9^f9X?x+-ZJzwMJdF z^>O3ag%wst*Gtf0QW_ks9u4*ob#ZFFK{J*Atk22;(C-B04#df(dQ zky9#{SdWF-W>rFHiti(1bY2~5PzYY?_2UojZ#OW*Uh_;T&W#x46Pd_0Eohuz8? zZOj}pQWVWqVlO@b7F=lmx^6R?2_B&e@n}jDNlNv+mBhQ$b?D#S|d_@ zYWHY9_ub9_?@qra1LH-u)E|+g)-@kjsA5y!9jK!SO6K*oM~vsKxog=TiqQ$vs!42G zR}y{Z_^F(g`#Jwe@E8)U4DP~Uezw{Hg07v^p5vC69 zwmkHBB*A#RbpKA{ipiSz{muI?$LlnVKQZ|3wTf@6_SeV8wW|>w_l>$pjV5@f2Mh2t zIZqW-~VyA)V1C6}T%bQC6`n1?own-&F>{nix8ZLyEHpg;)dzJOY zQ=TV1lRpeC3)?5vw!Ukz$k8ornG&jDIb5M1V~va#9x`uyw3e!$63Me@r_zc3XxjB8 z-lZNV`3yftKkfZettyi6POJO$v9{40O%Z{V9eePZj@&y{o4}Fc%b(S9)xO2NtP*%s z)UJ3JXPZrKRJ#^6kfS51DZF_?d9CkH*DKV%Hly{x4tDwV4#c!#O2x^=4%C18 zBXa)vh7&d$@`{I!j1|;%{R-7L@D@n;WgA1ZoZUBN{o9$GH4VrBgc_k8V1SI@wcmljsEa;%hEM;Yu| z|6cceVr}dOiIX16`P5WzgA8Y(O=&V0n-cdePzqll9+JuL)KN0mBS&Z6SLqSKf+j=# z-kncIt#5FrJj=lsZ2H>?pDQeU@;1+99`X13HP+j!Z#;Bg*>)X+Tg9L2VbNk$XxiV! zb4z59bkT2vo7RfG+AYKzdTrUo<&K*#$HJn5*F z$rs0T*-e~*UpZ_xHxg96ESH2{(fyKdl=D^8Ye^;N_kiIaPxrP5x6Fyiz}AZ8d1kMT zU2wpjZ{rrZC2_jnD#iI|DM93ugQ@ueE-@=)686=pNy<=)HE-PfgY&&;(kqF{i8V33 z`I>g&H6o^cr@s%J^C>tibbn!ThBa2hFu1oPPq&#$9q;EDK@nbcbaoQ zqW@}r=Tp%%o2+%i3ac>oZp)gZvv(7v{Dwvv)(APc21QEtFS(Qx&at_&OmuyewohTo zZoRpKBHC(-y5!HzMgliw+uJFA8?M&QKSdPmPqlRL7B=1*WLWDNH`dkNbt`K_;cIp=jD_Cr5P-T8fN-Am4#KL^F^RKK2~Cs|LM@0`pVfnkVqyF$vYe( zg9s#-smx=y9t!aJPR`^6_474=2tY;;g4M^45Q0BRLw)Kqd|=V2*^_cGzyJ)EhYVZ{ zlHODsLh|?ZB#<;14Ei@ZQ#1Hq(iZWf(X@YqhMR*%(?X?{**&p9mQ)F73|Uf5R2sV8 z6a~>}y1zkF5JIErqtZ%0NDA!-_VfjEEri%qUYJ2+7;|c=0^ABu_6;PW!k7hBfWSV8 zqD@T`U2ld~(Wzo!Zo|M)VL0%BRun5NXKQv)_ca7F7z zlXqe;!j4Rg4fx2wP%@;ZF@B_po*V4=LRy{yzKRE8T|n0sz#X7wBsjB!)wayMnHe zn=Wjj(R-Kd$_K9r!0|XicrAnY^&M9x^q+VVnGgc;YsQbz>+zZ8-9B1?JPf)$D4F2K z4jFyU=<4XkGm%kaQ4785qoaG>*+Qf1mr5obv!9S| z5t(qPO3*|PZFD6R2C{`l?_8MCP^TyjVh4?$MVZOa$gU1%hsB`gihCH|U%G>y6QU4?T-AD+KBwyp?2t9lC+$*1c6s$rC4^2|HkvIo>Ux5C(onKR3_E1@TpCIy>|%$^ zo<~E;e!JNr|Bgck?_r0G-pdpyw7oF_1;xM|UQojKGLaDq3SGnSf`Z=AeLKR0Lk(&z z^w1k>y!FimbX;%2Qa};--1PM`9sx}+eT=`Ojkv5ZllBovn_3fqZ3u;F82IW;(#$-> z<(5Z{`hl;YQ@IO}P+a)2nQ@24p%ZW4pCV2q(CS~z%gy*{u96Gi4h&` zU%?g{J)5JWNtJA&(Mu3II;x5-GTxisW0~xKC05{#fY6LV>mPCw8O|Ba*^93=O z9?hNB%s9lb#7_RKj|PsV0>T`MGosCmLySt=`R?>)kcF18WTDaSS#XGsI^5(x zHUOr_8s+@&XXY_>3*gm|x~(UR23D@zV4n(_HT3&t;UU(Tkr%eX5`br~0_Qml&&<<8 zOdHP$@5qTjUR{=~dv#(K9^(9@z8xOr13Wp9H=y!{VzI0(J(Ke>>ONe5*%Cb$Mz9!6 z6|gasSHe9D53vf~^X;2_4dzD$Sr^J1fhY00!kr2+hJnjJ8mP zbnJX^SSxiNoaZDy3lA~ec+wj&$o@>7H#3j1u!q|tvn4)X8DxXcAR9pC?Orf5kFmW7 z=RJ3fP&Ea2-frr`dDbek@DTHX#xB*LQ&rW8#h>f7XXa@lHetz)tyhtG7r_llmL)2a zKQne};qtoRCo`--vwa*im{9%gGMbsk*fNCkqzp|yq#(-6Z8ZxI(VypXNY(Gsx?Rmnrf62=svRAqz%FbZ3Y56Zd#tdb|P;f)Yx>IE_p({EDR;&+KJE;4--LCoe32h`z3{X#8(*rVi1J{;gk^+NS?#Uqh7k;q7V@NY?*PNwQ4~@awwNAaHA*2j1 z5zK$bM#(;*0q#V+ufO`vAOeeN(N!WrVNnTUmwNVT+RBB%F}{Jr6Hw>aahOFVI_lx9 z&T;E~Z0{wIfjeEXu)8XG@eBeXz@6afNzX}t`g()}k^;TRJGOwgr`@q8&?9up>YD06 z;0Uq;KK{#@VXw*He>z=AnR8L diff --git a/doc/ROC_profiler_spec_v1_2_7.docx b/doc/ROC_profiler_spec_v1_2_7.docx new file mode 100644 index 0000000000000000000000000000000000000000..fb59aff680d731881e651b931e6ff928e4685b25 GIT binary patch literal 103641 zcmeFXgOevgw=LSXZTECf+cu_c+qV1Hw#{kVwr$(CZQuFMc`xF=cmITQGb1uGYVWGt zRkc>G%#1BB1qy}+1OWsE1O!A3gnqwTI1CH~lnM<5gbD-&q9tr+>uh4{tfvgHH*wOT zbGNZ3$_E3X%mo7Z=l_4p|KKk$m?9^4z<@M#BmRL;qNf%O3mK#;!&%!g0v=9swbVpW zh53`n3;uqEO<@zXnxw3i-z8#cy6xFhhr8BrfoT;%5hmfOR`=jI4r4!0eWi--ss5R% zT}P5G6GJ-Mk7R4qm2HzKX->b-**msva*%*sDZ&QLe`2-ZM)u$r^0B{z}Iuq6~PbuPA-$DhuT-@ zhJze1r%1H)mZ)@Nns#|iDY5og*o1IK&59>Jnmho^y+vyyum}^ujeM6{yEv5Nt*i}b zt1G18Z$8_5bg3eDe!s-XPmM#ls$?}$s}t(r^(745Bzt^rVbvyG?KlRvwp7KFb z5N-*9TxaZVI(9u&;a=;2^rYu?<{>uD_wbWdlx}do7YmI0 zLJ+DjkZ}Fv>?dgWxIp~e8iAx;e9#xm(>KKIi44yL#3kI=``#$`+sTwKbY(P+pAY5^jQutzzN(0 zeg)2TDXjNl70A*X&2C_=K|*OsNTY77TCRM5@vN?b=$sjdP0TMO&U!dy{&Cq&(z(S+ zQGt)>f?j^p9nkvdbO%Zf?kr+-U$)6V+PK*M z?RuR-<@3Z=rfAFGPc%5z4D{rg@rIQ!IJcd1=N<(;B}3uCG|+j_;q)I~rrIc)-zO2r z*!*la#2Srydv>^)I)V@XMDYLQN2dR#jK)8UJR}eh9uO3;o1LRE{eP3h*v`ns=ATmj zMt%t{Yhe z0umvI2SWbm@n6vV-$8lleP(;m-hBK6@s1zFV((yALbc3eoKp@Pi#;xZw~+<|NjZvQ zL!Ck{nlPgGh4ba{MJA(IPr6pW&mk^OKDrV+p4{Q(Hv{ zIf?8o04&wuGI0LI(Q2{MJpq|?Qjt=f-VE-8H|ghgyTku;^7FcKsNT{vhosI2UQye5 z5MJ=bar)8iq)q9rNeHKMV{UF<9b28EL6JfO9!ZqHd`%5VxSG6R3=}&c(p#tq}Qjpns@2V(@k| zabJ2iBKUSYlONO({V5nPDUP6i9{?*|3cGRt9@6l5yI0-Rm+>V^e!xOJEbMf*IcU)A zoGSCE46Xd8y~j3%_{7f=m{PJbI;*7)rcy^!Cxg1*(`G(~lz;mc>ZT|o(l(g_R$uC; zQz7u!dr^+mPX)7W{d$>?TJpk1ozwa}3aFlP*RnC2;o}zUI-x#?nL`n+eQ6$Ud@l#p z0hHqBJke~ZaR0JKZsY}@5;K66AC*Gz>F@3`x?p}>$@?|Jz&4w~k6_-eUYrb5Sa+*9 zAk(T2tm9(*e&L1_FV%V+68Y^OQ{LCy7rI!DC?8$wXF+6B_jxbn6ogX|8y9HShyG+XZxj`hy8#~d&= z#A5fw^lf6-ZH{Q|SzQ8U zk$RQ}a|hW%eq|w6yha^&31xuDLIBqO8Zq8o9iE`G^#8ABis4JC$YMlDaABCMCRsA# zr;=-`jw|4E)B2hQh#IYj*afVZJ2X_^9%P||TjNZ&hcjKh21cG!jC{`=t6+P-1Xk4L z2=S9GtEZHaSv_9$#Qf4@2qWgf$8_(-4-Cvv)(n(X(M`G)co1Hkv%jh~2x!EpWm5Xh zdvMmJwfoI`#{Rb;dpVya)f3VN3t!E}Oiz})s;3kM()`cL>}`^7CAMDI#+xU;G}A;v z^(Se^{gn%zL(X5S22$u_8;0V)1uVL|8g=Tj#eOx^7#UQGqKBuJv_>QnX@*lg?yqVq zbp~gr2&ese`-Ae8^d+xF)~yOV1EL9djMp3BK`*Al?iH}OKL@$2xUSZyKc;%Yj?1T1 z)lSjl_r*an2387$6)6zT=ODB;O6Ux1EUQ8FS6pIfQp{ytYH12VmUN8|O4G`SaqzAr zENCO@b1c7CPM-`egdrCX@)p%X@%!daBtb&U#KC-ziRM*3-P7-y~(7Kxu+6F6Qnl|wyipl-^H1KgFD#=fJNtkMaXeDR@Xt8NYCO{}6Eqdxx zvJ3132I&uFXzEjPKqD#fQd1xsQgQ<$!W74AYN?^Q@MIdICSff^RZ*Nd($N8e(n?Gn z3AqDxFjKcI83~+&)nunoaMa99RYA}))Io_%1F7i7!jK_XmLO7)bhEf|fs%CckgZ8S z4bTIkkH0{d*m-tzGm>@8Ya<4di8knp*H3V%Ujf~92{F%JM&zWIZ^M#~YY)-MgBAY_ zSb%O~oAx@8!GHbLaHv*|$LM-y++Z^{n6`9MthNRPY14wt$v=W=(Ft_#O+nllRh+`6xBdq|X%e~R!ngr_uI=OV>+h(pX?ciXxxpWq&UA$9u^e!#?!gMe?y zUA*Emf1;K*8Ey9^pdLaR&bEOoMDwWxw(p^mZv@kzmhSvX8RidCER*q*bbnx&V#OOa zOtxsY=uqe)iN4lsHu~s}HidPiiZ=StfyJHWDD*o@Vwy8}&WUtJGLtHQ-m{H7Xj+X8KyQL~H@kV3PQn!P*>UZ{_oKUK z0_FntFg?X{Pq*U0z26b4E#U8akeVXuO5*&J!h~{ZH@956Fi414pB5-JXu)*Ia&!Fa zpSFtJ%;I`^+5brDV`9ft?U%WOT-x|&p~8*a;X0^;1w`~e@MK`RMV}N_hEZW)`;SGJ z2D2z=q~#s$!e`=zjbFv8C^d|b1Z6=272xN%o@(;@{P7=*`XOOFnC_L8#jT3*>`hmw z>RyJl6~kXWc*XVDF!(v3z=nE;e%`_TFiY9PJ$FQ%LEA0h7nG5rwSgY5;oTz&*Orl< zq%`KN!)O(##yeHgrdYI$5g8)hMfOHR1Z}y%{hm)6Ff~7M9w$ysgujW|Uz7;tI6GR; zNN#fAVsz%S;5ItYKuPHA+x5gqs6^Ct>wVM1>4*qWS4MHrMSimc@39cH|JKY5)tthf zj^yG}3BUo_VPzS=<^h>1LDKz=Z(e-9e`QFyH2-@eG+V%e@&m8XI5L-Ca7*gT2F$V; zV>Zy0oCBS{9wa(LB=dYpNpNO)ddWRyY!T)Ck9p$VrB!YgGg=9PQ-n$N@aNUhG9p$x zQ`yCtL-`DAsEJKgg7XaFEN^K01a@NsPxD5UQ}HixChUzXGrcXa6t19URI7nguf^_XY!XaPpfmt7O$TaLm+YK_mfZi%U+~7&;%gXy1nfl%vOlpft zyv$Z0!gH-KkP^DX9s%7O6wIKT4SZz9eP#}YV1TEx9ZxMQi~CM$k@fq zS0S^z9radgT0|8lDxuB~{ zZE6T@MxIOvt??=f3CDi>MPaIyT?i;Pr;!o%yvDyFJ(o3105rn(vi9HSz|*Gg|8Tz` z6;0%wB-#1s1@*N;&_UMh(vUGoNMT#A226lg=r!kN1{DDv(ej5;XZN%QHwTr{mnaFf zDV^ENjEs+h<3}L#1a^LmQ;$8S`h6GIM7`VUg4FsIYo7EwW|xEkPL3Mz;L6}4EzJC> zGWG%ttUS{s79$qT)0CQylqt91TOfovqgn*ba1%Jv=+Y-$(VtjPjjo5OkXkz$jpQPL9#``YG~g@>nv?M|q7S@(Mb6n^ z{7i)%C(o{OKo8jWh96&hopnUf`-11BGc!Cf#S&`I<#pZmis3jUp{_L^tjmehwGPN^ zcgpE^P|2Rq%6UXwa{6PCu4*q5E4zl_vQ7n2ruif9uA~Iouk$3hX92c}J*E-iB&KnQ zE3cH%M>h@K&|()E?O^lDzukB5X6*w9C$Vfyb`A>yiz(9X%a zHg1|yX(fb`;Auhm2h=={M(RnfcUcSRL zk5?(*x|NvEb>JARFwYDV#B6W#lU(`P03U-{F+VI~EnI4V(#k*)$^_L?r^POA(K*-b zfVU*xl1eC$;}`omq9)`|gZ7UuO^V(1=WI^yeCv97rsDYM zeHgchHzEI+5Rep521`yqraD2Dt?$$xyCAKgjjPx?SQl6q^eHVpTdVLyQu#5i(ZERj z!-d{)MHrsWl=x`p{Bjuk;0==9YDXL(b+J7bF%4QDT0c?P6yZkrhgH}#Kr>+dGGy}q zd5on&(j~~0tBc*;GCC`m&rXaStDNdQzeYT&6Fc_L%zIzgh7DxExAP=xPh>21z7J+k z;1^wIl1b0TP!)(vF*O~Qf8Smg4O&ka+r)Y80nT}|W)x31_H+eT5~_1p4Y|BhetEaY zN4#3HK?jhvWB>Kf3n{&UnX+rs*Yo(uTr5}Pl<4}{a&)+7XP&|Gquii*Qf`r=+#1n9F@+r$= z$lp25RnY&ntlGsM?B088=KgT#1sfN4I1+GLg3&VF$L?UH=hOMLJRK+8;ph4IK6L-j z3J@hm=L$7l-#Rx5izyb`<+73;Hw@ryZg4mA-Ve@J4m30^eta&|_=?XDHFK zL9@W{RFLi^q2X#dH&#_Yp`ml@nP15*z+>bXRLa*DK)ioaa~)3_{k}->MsC_4y)`Ip zSCBVV*pRn0S~xjZZm}apfy;S7FAlJLd{2TN?k&7zeDng9Rvh$U#qBP?TwZ)B*L2(C zB#u7Oy}P(64;6v%%yRG1;LyEajAslj`bH~A^ z>yCSted@MP7H^HPR{=wGzxYc(sIsYRkG}3SjjzE+BM3z$E3c>vP1WtR&do~m0~Wla z{3!%BbOSC(8&DQ=j;(25&Ah~F!?YggH%Tox#EuFm3Gt>9+*{i;iR25(0sl^IM- z<}5yZX7`iIYje|AY(K9^GR^okJBtN>^MrQ&WvtGDEaZZ>FdKlZ?Hj(YKCGwbwT!ZwWbBEbcwUKbn8n`&gQfa;(b=-wNc1W_lbiq3gyubU<}OZ9Jy zVtux8H4FRSa6Gv*JJ* zo%2uwNCa!aVtmvusyyS8eAfs_B3IblL2-PAOJ_-LFDNDizp0*Ha$K0qH`JSYPTtB>9sgRk# z1%s>qxA1Aum`ycp;ur1XH%yk7YJFAGlS=LoW16vZph2P*!PvK~n{Tk#Hvf_Hb_riQH0n`f+EK$`Qq1CvS?2lZ7q(& z6pl4wy;*rCmM)bz#p{fBz-85WfE~)6;A+U9=IV{BUD#kC_#4pFID|ngVtgU4|HR*1 zoq1=mGwc{TX^tn16+C9MPbYl;<7R;N+`!~^6gBgyyH{l17=1k|9GXeW2Mr;)m&8Df z$<}k$dD!HaHG0%A4>*dFgG@9j!iqg)PgW!5sfUg2^rgD_MKJbk1#GPGdzkc1rkk9n z9yQiW^}fn0DVaArVS{igU3j5BWQo+d|CkLrwWtRq3vHrNu@9OInWIKK%3k_Y7E~u; zB8n^=>!YkI0pT{6;1BR9Jdi7bqv^_ATrk&4gdDa)NmV3}@95%3IcKU)}BGpxahC}^u z6sl5p-B(sp0SurYuH|MGNRm3^p*d>PuIxN4C8w>=tFypGiY0DICqPrDI5;Nji8sJ- z#7?d@n9YKLGwS7>5Bi*-U0|ERylOC>zTV(Ar+#WC!Wly4>zD<9-qaez!rXb!`EfCie#V;(d}ZN! z2&+wHjJl-%7Br0Yj&??np>uK>k$u|e5y1w+WBz$H&|LD(N2~Z5&tPR2kC9#TBX!P2 zKnADyu&r>YQ@{rV_8(7Uj%iRez+pyl)T685S}01es1;CSCsOgT%+3LNRPBu2zc$zG zcuROLhBpTLQF+>72m0vbzv3embqBuDomAo=ItULlr$yfwdEjDDxe1oQ(azJoa+S{C zYl$vmvMS+NZsNJ?uS>J@Y)~nfMeByuocc`vR^>7xSBw1`tSQ!1hLqG9MC|Eox@b`$-nJ*{yv=h?aVVR7Z?jQ|=d{R7b15CtQyttrcLC~__}P}x z1hvdf6o{3AkZDbC^BF{bP@|X+DxO@kQWL1FjQU~Ihp<){dFh7aTqF?W}`54;lWS_S-LNJ#AyT? zT&aH!3X4C~AzC9_-Pb)M;53i+CaHcl8X%dR-bHnHTt{nrKAZYipg@ zfLn!TOUAYRce%R5_&iJH0GKdNgby5sDkh zbu|lLb48hZl*H0*oJ4X^xvIYoy;E(9s(9ZGs`wd6X=1R_e8V9- zIzC4@-c$;z9!3OzjDeadKz2_z2p_u53AiJbLMqka73tMmYox}6C$Hlk=v&YOCGQ5(kmks{~yD1M2mgHa<0zJU{z|mivOaXNIev4sss@W zEf?v`PyAANFkU~gh)}U$rc|Mxr$x2*Pc)8O?)sSyE$`V&-pwYUz(3-&Z8tjMyO_ zNPmH8sRzv&M2>3TOhPHa&MVZOVw1_;Ym~OyxE)&`2V0 zmJVKhvp>LA($Oj_y(OS5HRI9zR}~fSIqw=4u<06U(e4&IL`g`@ z=pbb07zVzUp%e$JTaV%Vn#zZhVoMTs)+T=nbFvg#B6XW1Z(0L}-BYe`w{|%aVtDU= zzxqOc_wC8a!`QtovR*+`WtpC)?r4k$@MIk8nfNP+a6WuD zNz;qeJkX$YFiBP67K;{e*2ZtHer908M>K56b^lUHqj^Uz-pM*!VdGWi&d$*p@n=Nc zf2g)Xyo*{(_>{GLF^jh8EE|SpN<5XR;~vb|p2)c0=O8v4@IS*S+X*0>BjJ;FLpNob zxHbF)pF;v5|K+SxlQ<7KVOLhWYAZ)2Awmw#t7XKi$Llj#wpUl_!Y(>LeIjN#yXy>w z#}lKdLh4C4-CrexB7@Qv)(5Z(g^^HC>l-AY3CgpHXmgHPzFh@Z1A#pc4NXFI z85DjprG<%xm+b|ns*REPKqgAKL#qjm2E|Em=KW}1>#;U0=J~5mnbqbrwEwX??0@w+ zBu?DcTTI0aWPp>g?NtTyJo&YFUJzVqqdVn^o@=72_^RJ^FXJbRLxChf5!+5mmT*VM z97hq5NAnbGp_5Nkf27DMOwwiQ`y=hV`S)5M?4YB8Mc4sPi4Jy+QMtZxXI{zMfU?-w zT!EoE(q!5m(0Q7vx9%ibDS=&&wf@`afbJO>V#tsa5E(Uz0I4d9<{mPIbV3oi%4lOF zVBmQSo39VY9oYHg7($R(S}V#!7}e6(17Jj?iZgzXRP@LrGj%-3b-2O{b3G zeTE0)Zz}p*81^@RhMLubH#WPgIX{QFUZ?l-Cll`YJfBCJKUzqM)esp(#7-X^nr?rx z^_T$ne3-vmG>af6TQI7yj7f%8*gJHSosUz_@L z(+sxrFH<5x%- zWO`yf}kvu|lt;dp20*V7W#Ul|em&KI>JCB?=X3?oLCT z%L0mM!zy1#zP#kw`MR#Zrp~Z{ZQy`^F3G;=VB|9u)OObm5s)5E3K>&^$Z*e`{$ZUO zU6H2zSTFo@WsBGO<&c)Kk=#9ven&jG%bVQKUU#7G@>R>I7DxCXY%5q9X z2a1nT0z9IZy$|MG?ygg!PYw!Hq(tkbp9=dKZ>1ot#oi9#W$dsKn2kUKk2i##ema#; zv^;2L7sFxePO)E10IY2Zqz(J`^^g??V(#A#KF@Q9k|O$a zUIe~eH+#+uY(%C!#t28#J~s!V3c9%B?GUcctO&IWwmNh$~)8$!x=Vk)m5)@MV#Y00KqCw$0&3B}Wa$;G_YBaJ8eRmk8p@y3IT318S{(8swX!Cje{hUIF2A;DV zW#4jJRPdK$!#OlQyM`ug+$kr_lP@h9EgLZ?THJcAR=Bn!J_MoZARk)GMDQ?4A;;$J z)v(PDw>E1^zZM~s2(=`%VnN3RBn#iiIYve5V&gSRttT2p{_4+p*~m&5D0 zeB;UQCou#j(nrq=zC29Dy+bjtA+t!UEHR!eO}6S4Bej=;@FNLAbQet_WbXjDXey2g zT%s^oo?!N>zqT5OCo&Wi4FqzL?z;taY5Z<{{|wrCw#deRH^bHnUi?J90ZCL)0IN?e>*;(z4hK}!eQ$$$T7T7+Ge+eE47Y62^ z(CrB!(?TsCtyk(BT?Z0~0F+NZQF~1UTkiH**zP>N9M>)4ci0OZ;E0IEoN|vR^$R`n zq=ok-Oi2t3e(f+;vwimwRK%8b;VJ}L(lFSCMlUtd7$J0>m2CN0D_V2FY3MC74KAH( zvycSuXm+^ac-&SzbHD0u5bDZNDab2yvb5BLDV13Kl?P&0gx`;QBmS6d=4&X2-sg2( z)t)}`_6k5c&6nv0>8~x)k?COk2)=M_Hke!ppB&D)z1d5`x?2soa_@B2a}6@WVnuhD zEi1n>%s<$|T)TfU7fIeCrQah~Q^|MB)5ty1Tl2O~&PHAYo3Qqsn17W{p)XxPn%q|9 zQt7cuv-m+5LwYp=v}fRoq2m4>!mMHo-{r{o@wr%ghtLMrgoYqY^@v!SKNO9D+QCg_ zc+)U{MyiLzc7~a7q_bx(_+6%gG{8_h2+ewh6b-3pJMrL=J`lHZ3hrSF5bb^w*;5Gl zX$j>*QxEV9IVfb%&vnK33Nya!3VNd>GOZm z@E3#Yh<+m-UDMCBf!meiUdW+*5Asdj+ms~IpptMl4#R^cJ8)x@&f}?3&n;5j-7g-Z z&~*6!kJ!yczMw_u=2k(Rxb&i+mEQvn{!IH_=U_evBBA{J-eTAhLr-{hUcjKDlUN%>64qQcT zM(`Dx`8eJ;!VK|sV_^85uNS-%XwF&d{#tYiIfo4w&mvC)(N)bGG!W9hA2DjwxHY&DC1eviEJ((e2o$2|WEXQqMn z#3M{k^mBYBK#knld-LMGyLJUt^mpD)B6d}euk6JA`r-w(zzTDypM9+FC0#r_@N^CE30JW22K8vI zX>_lx?KBUSZ5^fG$79XDal!XSO6f|3OofkaZo|J3c>p^_T%OUFtc^ z1UPSJvl{FQDdR01{JJ~bg#hzpm>woIe-iv&7~N+Y3ETStBMWTVitv~uKLUo7@`xoQ zQ~xOB51dMinfi_b$s1$W>+!}k;{f+JKdSJ{#|Yj4!5zrw`iPYG2#nKUZq36@NKxRK zgYl7ELtZeC5kkMjiJf~hc2oIER=#vGAtbv>jUtr}rc~Fy2J-jKW&7mw@t=y>K)vd6 z@>e@tot^^v5&Q~^{vS6xxv8<652-HOr>|*11;CqBg-)_)-S@M`;*K!bXYtooL&pQI zLOb2F^xYojR{q5EnS{k`_ILRYUmDC+;`ggUtD)Sf>cjPXHYV8`&Tmv3u2P*$?dQRg zxhEwZYYd0rMhc#=5b7xJp-P66M8zX(M;C|hi$zXWd^Kesm#2l1wMJIwXw?@3ANPg& zYaB#Hhs7=)r6;|8(Wg(tapgQk^=PuX$e@*ab-$hw*~v z%RFTiu8`HX8GR)D-Sm1==V;F&-sa$W(EnGn+D|%0}Dqb7vCP92$*;qMhwpKpxPu>nc!@l+WWMgYAdg{K2aGX}XAuVXFJ!Web17VXmG(!{r4RFPm*^oLyKeRZggC ztDIdpaCDY(iGaI&ey++WLY%4VuW+t3oLHNK+ju@~?h@UjJ}li*x5t5~tM*Iq9ZDT_ z+mm9YR#o?gS=vW>xZ^VH#@pwpr)saerf-+v0@$qK zxPJ+ybZ5UwU${Eu7i;!t#oTG!n@~22tyUBho7Yp9w5}Bzlj&NsJJ^iCRJ*B}ylmXv zX)B_r2vdd&0(58Txh~%V8JKXgz9kHHwK|`j9hHFSPRtJ^0EyWS!L!WQRT5L_GS!ho zR9}9dpj)5b9(*+o>I%K-A?Q;*S23F@_^PeK6G0c>mj_INik5Ld;1GEs+D1m z*}X5D3DwU&eZJPOrMAUYK$kX_=kB+g29;_^%k0E^?oHDTAdj(I5k@{aHhHep-g})V z?W@}^R+4?UmjCR{Emaj(4eC$AeAmfphj8hc>)Z;9c*~1XHNetsBc%}PCAMj&;W!uM zQ_t)x-;KBZsaOE=xpB#+Wid^Y6-Vgdu}+V-#Xfi;L$zQz?F;01t>#YS>pAX7D-?r% zyU9vsDiDbM+I+&Tnyl?;i`gwOV|`Dl;-`Ym5wfJ)V9Iyw;m$~Hv1cpoL5mjGiBl9tY;^+^P#-wU|D%@bceq` zRqvq=Fo*j3kTP>*80_{wF=2{xLFQdOF*)`-wzai7v7!Z%X8yp$7oSp6>DC-RCHeST?}p4&iCY6_0+ih zuzRjs@NaK9XEYG|vKm)(L4GyIQq%B`N`{~1Y-wz#@%3ax{gqs!eeq@Px0`cwuK~Xvnm z*grUMrU%!d>6?m7pT?4?$ zgh|gxN(QJVD^(^h#$ z&D$@)*58lhcN4<-zYgmr9V!U+D+i&^GA&eawg_J_^KIudgwxZV>278$;M#f5KWiV; zzr^MaXKLmdf7spfvidsK{zmpn3i&Z40O@SPRt5zD8Gz?}GnAkItF8+j%w1X{&Q11X zMh~fJa(rpu*;Qmg+r#oAT4pw~-0CRBl`tBx(X5w1NKGLuak$CCzyn~dmKN4sowlM7 z_Dmnr*D;4&!mD9wm8BT~j~@eiPy7b8?lF4E8CF=I6> zv2*VTgA>eWL=9gypdp^%jag0|I_ACb1LB*aGp8xAaBz~c0u`$h@w?;>M8_T><1XR( z->lXjrmA&N{0^s7!MMGP2})8*@vBeTb~XbS*-P1BysLj#(9d_rL&yh_#4_IMb)vv< ziJ*ZTP--fa@H}fyI_;ws z1RA51Ng%iaxuiTOWbc5Ktcy0lA@y_TI$)R!T*9!8h|72SwmRte$!9L*9dA8T zmfH%riksX}bA0_RKxhh0JH+2Ka@yHWh*uLFsNI02ARgdfe8R#zit`w6ilOy<2{8b@ zaQn3*C~YvUOS1C88Qj`+x+eyTvwet4DGo1gwIB^`N(1!pVXF6$U(b9w9S-i&ViJ^4 z25>((rKXsR>*`1~1;(~khA)p#hef06#!#DWEB7~KKbOfLlGtr5EEVm_3<1h-Y%(62 zWEmj)Vjiat)X7T1^~~ARa!Z*4SfSg*1`!2rn3S4yWQvoD!BFG2T)c73bV;DishCla z2UEP$cFNMv&AD6!Y*-tZ_>7gKw}!yPn6FsjNsK-n6>p1^ZG!@dx7W^J%ZY$fpy3~- z=kA}2BQ2F883U-LO!_m1xFHKcRh^=&Jv*R{9TV=t5|<6fvmBH6U4iT=Ph+p98xsE5 zS*#bYK`I290@|fb9<>Vst=$VD!wa$7_ZJRi`gHWkG__Jt`)ZJ=a`0)^^vr~A>ZvSG7YNSEI;xpaJsQjXJ#ODi<$=E~%k#xvY&V=0fz*ppXzH+XBnRPNsL_Xl?DLKCrKqaGTlNdd zv0!S|O6l=BMc+9f?9u*4<_9#Z%?wb+gi`e184U;%X7ZXV3Q zxhfq;&~^O5TU3V$ywRk2&FwY>3;$|}i5QLEFSYh1^d0V^(k|>laE;OvoA2SrVkX!i znkq5mdByM+tT@tUaV9rB-8g!l(7eiD;;LP-JmWs0=nY#m)w~{LYS*^K+n>bO;8Ogn z%Rr?ts6EoTvP_rx8@*lIscc@A9Wua+{MnE5DU@57X_GU|0I zLmDL|3QlG*moT2-u0L9loavP_5_H-km&^E0V)U4%VU^PwtH4)0Ls4r10x>66O9Wp^ zF{g*%F>*vIi=ay9oNFw>dV$EqkmPwFA*h15`h{lR^w_YQWzlIbS#y&LO*}{p%*nI; zY)h)HDMZTn#Fm`g;tyNVHhT-3=4C*V0aD!@CMe|r(4jbjZL!K-Dky9tp@k{GOAHjq)86_;`E`uUA~LY8}GAkNTQZH;I~A6NlzB+i;sv z^Rha)#xQ=lY!_DxTPkQIM!3mi=GWgNu48aBHF$Rf#M{m#2Q0!a#D%(OhUnQRua6Q3 zmKIsURIXe#Cght4@tHoYf;;kP7Jx}02=}NNy6y#=Y}@B zA7PHCBsvm3H+Su6pB#ZkX5Ved%(c24jirps`nU6nu@{tOF};Peuk6(p`>K%H=$t_3 zZ)b;*2l}WF(k-DghETGbskvBYvehVaAYhfmSFTJJhKSGpHI+tSpuh-T5b55;M~vzba`*(--^6n*pXe z2B%PkIni=Oe9r@|IC3F(W22;8Ja{j%ZG=K&Z440CGH{I^GW{7hToYI(xpMYie)bK^ zFo{?&0yhv)W*MnqC8T(^d`)MqutzEZ5rzKTj+DeF2&t{?P;?>dU2H7xzmWby|FicVQ_wDiH;Bf?Z2^ui7R3spzc7x*O(ky35uYgBKk-g(c zdJ!45^1|bSinc&Sw++&0M6`gT z5#ry~R&{0GQHHl_A5)}8iHi@KlJMqeohja%Ua3IVXj$8yWdaT`!J>{rWBw|Cx-<{l zQKW8T-5GW;Iv>kduFncZq29TyY&k0z9 z#8v3m{|L%>5M$~_&C*~z;@#5nTI;vmS_8K<2!b00uPE1=RlZ1htU4WqI8Z(x$1n$B zbIz9rc#lt{wLI0Hfawte*Z2+eUh1hF_4S)#HAW?{@QKm+?i09>@NeQ10%fUsnwv+4I5uA=K*F^!{uwsWE)Wi3u=1G#*qBXZlT`~r9)a;%{PT*s!mrEM5(cx)X|p%Wc_W0LwwP1tEKpEfw^b4Os_T7BEI}EB0Edkl2$*=3#o3}sns*M zS8YWr3T>5=`dXBobv+3QnwBmO4d(lOGAFCv&Qvnr@F)S49{`8Z^S?O%HUvSwbT{cCx6r@lg@jDXUu6>x z_E^uL)-xt9YJ>F9F<9GB%1Vk`G*+OY2jiD^3PnQu8!j+A`!@vnV*+to;^veYTX!3$ zROagR_{Ej|F)$8VXZ)_FU%ORrZmqKtD{H<}u-MQ50Bs946Fo9o_THez^s91- zZ0JQYCi6^K*_Eya(X#8+QhtI|vo`^BOa&*VqO;QMMrxgnF0S;tjkUa{sQEU?uP)f% zw3U8Nk!#pO0HF#YW?T*9@!toNSjjcXr50ywMsNy#tXS^7S*N2n2 zJMg}XVBDH4 zfxO8kXfYrhD0ugfEI34{Nj=rA>ev|}cKb9BJL5$=zW%xEKQr1Sf6@qzDcSg|C+zl$ z%6y?7I79kf+W-LjG|+p%zaP1pM2zFNHv85cy*cYX_~PFFVL#wi@{}~*VR^4$*^h;F z=G`Wgyf2*&es`2vke&f+)@*8>1Z4zPx+b`2+Lu~B@J3%&Gil>+{}?AIuj|Qly0M%( z=rVOkHvakjY42Cr3W_MQh5!;pf%uohK}6rBk@6_7mLX%FXZ z4rn5KCM%M*)oV>yr4IdS%yvEQ8*f>mngZ_tw>#thMZ5f`ffamcjm{cQquDwJOBs~N zlKP@|dg?_2Pe{4+sn(NMki%8OkroUuZw#|@b23+WYC{697H?Q`FQ>M~C!pAOx%(aZ zKeNKec}c;pOTdn~UY5noWd$KV0zc?ekHL?s%^Bo7xDUI2 z&&BD@->;apO8TVScZ#Z2(@)!>@3g8_5_1xq+kf4@JHzhv0A3L$066*_{qIJj*Mw9c z&S4q=>IhCE?PzUX}KWvg*<)_AEau z0n`VGJ!HzuWZHr~Yb}zNl0i%TQwHqexOd8rFu;&34S9m zwqFg54_67$@loQ#|3zSs`hRaBGzDySfO>yR$m)Xkhg`5U%Po|8DGV+}G zp0Q?_BEW~jxn#r7e>`M>E7LT7Nd5MY5B;BE%*8{F$X9a1{r19c^=WcAUjM+G`(~x*8bujzX;=T|Jo~YP5&n0zy%%w3HA#T;xp{M3wuLa zzPsf5h?7HVz8@^Xes}p6W{<O(zp(Hf2j9xwjF>Dkqp9C;RNC+Bp8VyenDD`J!Bmba80HZ~7BBBRj z-z+1a9@)@qk&Yi2^Z4}e)SyLw%ZvBtKbGoSUVeOI{Bl339$&shNqUdg{G5P)e*E(E z{6h;&_5N2gzdP6X=(6@y)c?COj4{g4JG=OVT|5f5AKAqtTlhwHf%HNs4?#zXes_k<%q&3t@An?d2{+6+2^?l)>P6if`(oM9$n zBs$3b&n6-Q_R1l2pNJ4n;oy|l^DB}*_HUwtv(Ae*zfG?}ACncm8C(HJLdAEyxZAbTGZWw;U=z|~x!N;`3?_K^k>hi~wNpE-g(+o;q z?(#>TGj%#Kh!F3c{?~N+NA~{q0C-Hw^HHRHnUm-1jaC#oIKd3P3!~JO74~DtqafDn zoOcDZhaw99p~-pvs|8B)!;ps~3;I7v`LDHB-9M@JANimT4#?$)pdR)QefYKSx4;j= zC<*-gwSRo*CC3lWAh2E149U0VLxv{&NO{9ouO5j^2FpXV?TLOtZVgdiM+UJ4ZbH3T8=2!moU z@t&mbU(Ag@{3ss_^~ntXi>&QGtSeho8plCJk{d8ILeBbo0xyDzIkIewYpJXt5*4c-i7*~5G5a1&7Yv;%VqP=qh!zQ z2>fo^gkhW-oCQCFlmCvyxKGc52m_Zb*Mp^v*CKoTWi?9cd=OAX~13h_Bs^~s_-L_OFPpK}$z|Mi5a zykH}*Ir+jPl{egN$6Fs4+@BdOAKtis>@`2&JAuEGA8`Ef%WwGszfaP?dXheRKs|ax zU{5`szQr2?K~ao^9~|;w1fFz`Ct?MLqR7yw(@Fp}H1MAiE8ZRQeVA97DGItw-Fv9NC+anWMp_p_;-Z=FGYCZD|{bcS?vF& zDLbV98`j`Ps~~|4F#(<G&&L=0*8N(HRG%+(>X8Z}K!h zT5v4zQGD^%uEqV+z59yv}jWiIZ&nswihRox&yZISu0*ir`j_~ zYKkOiY}Z$-Nji+n56PkwH@9`6h5Tx{A-D@?Y+2{l5c)MC36j_s7hR?Tcz00)MnS8q zU2jU0IMvbVKq){w5)=z7@T4nvotYedd6onIWe__QFcttbbe5<+CQ*EvjeR8OF4pI> zEL@w8mXFnpt8G;et+~_OqSGdtoxpjWEeg(#F0x~Sb_<6&ETbwTC%LrV!?3h9hjyl@3O~kenUfQuKO;GE#$&JUSqbI zV{tBBDL2}mZ{|9>PElQ9*p4>21D|cVf?}xDI0OV-^@22wt$;U(Jh&)E`&xf1!%jdU zFz^NxG(rcHjl%Dc6P{9Gpmli)MN==EG=vJ5nMOL0L(Z7G0(`)iU0AfSDpK9!95|N= z>RsnsAjpx-s~h&Mb{+{1jlDsuMNWJDbM_DoZ#~?cA_i_-7u0LJ9papKg$b24+}Ydk zIBS5GOG9_J+-`!?CgU$gH$RL79kjY=7`ZoG>`+{fx=|qoG$Xz9bs4Wgq7YS+y)B@| zH~7pdFr-Vos^<;W+L(C@;!^DKWq-j?ur9+!f)_h0c4ur(^qnOoxMVqg6^O}A%Qjdm zA)*6>e(TJDT7b3<)~>Eb)LLBH7{XZ%988-E#^AY$OOrAl?$|y8F)!1R}(W2 z>tZB$Opf^#I3I478AGS#UW%L@Vz@S(@2H?=8{F|i3)i}K#ue5oJbT?CqITv2RqWzg zoHa9PHORCeeV;`@>ZZZpZw_Wp^_*<{ykF>(ji2}6hGLE=_7PlQ>h0m+4Qw(uh`Re6E- z_-mA_eZ#YO69lt(nR#62=h5+o2)9g7RZ92GYH^)8n7=bnl(wo@$J z+sbjhoVX2E&jo{`+hUPxi3}w(=4{b9T6Ch7ZYex8D23fXj-Z47vxyHL#_H{RW497b~dR6^_IA-aujB=1_! z^oX~dm<(5(?3?KEM#-Rrm1cq`COl7NN4X{`+>h4_DdyN+9=6c`^R_VETe!lq!dZlt&rKGgv85X#AQ+$i5ev?PU*1B$~RHxew z3$Nzc3QO`uqXNu6!o-N5a5?B%Pn_RS3jr5N(IS+$#8m_2g(#s=uOU0ycLTeglW}r} zlT*T{nNZ;S6<;1weu;N;Af7`T)-;nTRBM{qtMW>S$OhM82c@?w3Tbf+)6J{mI)I|C z8(vu{&Jw&WV`ZVayAv)74BzvIs9JM0Oo>>m3Ax1j6Q-bcD$dro%tmj=6Ua&JehXo< zCK4+^Ej`mCqt2?iRICNtbV`C;Z6s>0Msi>ig?X5Dt!wCw*mc1*Cq{xRW>wvs{8-E+ zL{8SurO7;S>#hUtoOwyJXedZ(^6l+b*o%D{7GW+N1N5w*^!#}69gbJXg+YlNvYSsO zw6b2d@GD?5qwE{9OlortU2pagWvD!=i&Q&!n{>ZDt}z4YM_yFUS1oi=_h<5au|1Il z=j1_egqYoR@B{(OqN8g@J-PDgb|hJ~?^Tsz_B+o#tTnyeh(^P0&K}(*v;<*20Q;nT zg|fO?h1*%j+WtP4`+>o3y(z$aVVJNHHfK3)?X$@0ejv*o(f~?*-7y;-ch&a7q3253 z*6BK=OPV+a@(oE-ZNXg}n;<1}?fV_uCHpDdtC6)XiY;cvar)|t#! zEM+|47T4lRk^0(*R;?Q|*vye7Hfvx7SuR6ggwX94#;9|sjRX(G`~X)jOVDt$ICYkm zlDK`%WJSspYZn$Pk6r?KtUFr|tgjKstWPt}tS*GMaB>3C4S8PW?pahf?386@cTwgp zb3!9=W*v3XC1Yw|kaR$u36ylflucnypI>ZSZ~&}bK)j}B1m!Oov?tT^ z3pD}#a#7pscA1LF++D#6W2~w9mSNDs&KVj~@bmG+Nw%iZQnzjZ_Y#0Wv1R72-<_OP z^y35Et#PM9rCcUQf?jupTZX_l=L4%8j>qb>o$Jl{bZwSoFT}5_16OnPsc&W4SXDvi z;8#&(qLn5DSAr1F=e2j^wM<4=r|n4aw8V=mbCRU(Hl`%^dXk)!;V3PqL`~h1$`y2O zoV+_nRDM0dgdc735DBsw9Hc6uqriSuF8wP87aMqr<6PnA6S#*FC~e$=EIbA7 zCwNzqBAy`2eoz8{%pU+Kll@dY@CCfQKrWNPQoXl&6#+5Mi_2jnZ!ZR2NnRk&!2L)t z&_#weW6-)0m9y3qm7p&(_;e2Yw`ZK%o#?#Qd~*ad=;$c&&+W8Xy5Kw zml;A5`@VB+tV}Bige0`E{pxp^KQpg)pJWu0$b>{}nORi{Da^W0A&E#ugu8#fh5Mr5 zl3dYV*4G3hEB4m!Z8cagY7jP9^;NHLLcRi(G@$W<8qnc@VIk;s>!_m(5cg1uH(Vb)WgbTV?nQ0&DDxVWwDlRPSy^>uxgoNw2kg( zbG#A`xOG|BEvPfIF=?%*h31?eS9w9kbX&IdTs?2-t?{;6X?bg{(!A15Djd+WYWREw z%oA?gR-cbBO}l!lS< zQy$om9Ovf^c!jy+ky`fjIs_9O(X(1DWinqbtGgAi8%l31upZS? zWHqOHGtJ6nH&I)@<%4vR#T)O|}{(8ZUa%MwBM-EZf|f z4#Qv_d{dDIqb@Fcc|O~PHX7u2vq-clW^YuWNWQq`uswmkrwbwY#G4X*KH7!wWWexq zdl$k)3OF6`&Mt(^NtzY=*tS=)N~3XBpXf`zZVx-crZ;BtO^Kgtt8p1)qX8>D#~w zk3U5)yCm`mmOx;mzCIj)3@_wiD;z(U`&UA*pM6;=_s=x2O)Huw=U$xYW}5)?APph` z=;`+WJt(&w0)1F)d*AF9qY?Baf=>~*06oa8OkqBS`4r}l?14sIru~~O!hN6Hz#^_Z3~Ggm ziSv`Hz4gNZeWAT><~Jm@W%KR&c+}XA1a57uO$vc+d+I1zS@V5lR_T{Y)6KfSV0CF& zvs;B~X_Q^!)2_E&(VOvX;*gQ25%p`#RPjX4sk_xYGB8=IR$sM^Wp(B{h{SHhou+u^ zHVf6@;S8f0lSRf9O;ngZBX#LTDPKY8j+s@+Y(zE_Ll8}hoENvO`H{Z#;By4?f7&8U zq=3@_KV%Vpfxh&gS*!mJC`?XdW8MRWVJZ2@=mmx3UyNP^Ctt9TrrzDxHbuh}4ZnNW zce5f6=}jwlztKC@$Rg41lgo`)t+dNZTkIJ539{T9y$chT6h~e#ih||wYH>6Wv!jl< z!)9H*R@Kc`AZ;2$?qW zX`woVZ7!42LI^w&6ppl@S>pzp&ed;tSXgWpYuAdTfy}r z-AgMP-+;`=d%P#2 z*3CWM3w$e32Ea%!J>C-sytBtUe%#~z*lg-tXnd1|1IURPgzOx1kelJ{1R`j%45LOFkSrNHmg>uWw>W1nKoi(#q zD3T-)`8hN6S35P27Yn1sAUi_D(QYP9+a$WG=3Q~d=Gu`{ax@&)?NOCxIA5MXId(9p z&lc@2J;$}W?=jLybUd@gzzuxdY3F8?!1jA3Y1-=;OmAGzH=TT=fw=>eoi`#MqSP@E z9g<6R9HYDC%D65}cf-o81@{%)8g@K4uFg|fSiA0@34({@~Rx}_Y4TpKB)TOdqqczdy zTn{zoCTn)LZhwg|-RjvVO_JRMe6AXuxsbt6*x0S}7Q#J9CkB zvx-|BNfK=+t1jiaO`0?}e!sHPR0?Trcq>oQ2l%tXp;FZ}pb1AbO6>FCPfMa{NdDsZ z1I6K$bD0WcBJ$wx%g$#az-B@6`kr zx)O-0R2fK>fp2YqiZgql-ju>$Vwx{0{J;S^@#tx@R*=Rzs=HHLa7sf}T)`ZWKc?eX zx3a(ObcYOMAuXDl)pmvKXw$L9QkLpvz2#=&1^5UHQF*6^fb5nki)Yzct<}_XPMycg zlL15&3J4YG5sShK!wXrGf@?N!wVByux#Y{X9EIQb=CIe0R~65xjz;rvKoqGig(+Q@ zEQH=tm9i&HcY~$Awt9%L8DP+8GjvJa$PRluVmGrWS=lr^eQ6&lkx_R6Y8K0 zH>gf$$7GwNP{0<0r8%_(chwrsmXH9^ayE-hjCok%B^~V zXu$Aax2pt+JAXRhohktxjelJw*k7e!QNgLqe_|-i{O@x*0vIM^0oe0EQ#F)kNDaW( zd$otS*)xX;pt#ICVK@m-gCB%95j=dehVKC+&VcXhfBl0Y(7+%DU&8hej;X}oUOPa5 zuZLYA!1tFv5a7#8CkXK6xElnxB7qi*A+R66LImbf&Hgu#-)`jhRSBGop-Z0%{$Rrs zz@NGu{80)%;})P&>`$>j#r}6=e`{sOWgM?!KhzXo@}h#}fmkTdW1_TdHK^VQ)&tWW zlX?Uz;m`tYi(P{$&m~RLs<_6^rjSN4y~RMU6-X0v1~q{;EPmqHoA_jZf4t7lEP6Ex z@U_2~$-Q+&b7$Omh7f~7VT#GRR%bU{wO=Y_*QI_vFTm4rCo8(TZc>XzqsU_j;@0w- zh=c)6mD|MyC44G^J?rYW7DqF-6W=tT8KOPaw0kJ99J2R$% z4@aevP-{Th8pPPsUQ`7iUO8}CgLA%y3m=I|gU>6nenL$8c);j$b4}yOq zX}~*U(yg~K>2K>6c&Q%HwJhVYy#hyXzyH7Z5y1k%h~Uq)WU^Kqud%Z6^d$ERr@ZErH0g%Of2Pz6CW%vq`b_>pOLn@Q91etfQLibyQJ0UTD> zGAAjDjEYX7By*^r;xGCs1HU_gCDl(;{WR52a}Yfv-FJnpSc&1(QUzN$gNdQ^EPM*B z#|yX5G^J6qC=cg^V$4y8W-NHZ#9=G4yAexh9JZSC(3`Low|23)7M>at>zi)QQi%ee zC8i_xbOsa+M@l6?ys`Q*1?xEW~1z+0I~ZhQJtuc4BJJ!yHwP=p3}=Mt_e;1nD0bW zZmo+^*eWkWfaabgY?Vv_rvpAq*osCe2FHJwQg>%(&D%jWxg-a39aL$Aj(k2iLGFuk z9D^!BAStM(pqhf}dqI_JmMWZdTjdU@F1oci-~*0gOC*Q#tgnwZxp}r+s4x5FlBCf{ zX^48pR6>!qSm=3WqpCLZRxhgBY%GRw+um5RfX$}E+IX{14D}p)HgyF=TS-iA5f-qT z4eA{^Uu%vvemz(;d~7^uD%?V7>#b6Dv+jHOBJ7VlS;<`h$B)`5nwsR~q6U}q=~`U2 zRJ!a;5ZM-t4!YRjRJS#nXIE9F2ia7;FE^$Gze#U*qcOs`!p3K|;trYE^|o0wP`Nc3 zRB;Z93;ZjH!{Y05c15c6~l$G3I-6oU!gn3k#w zsk-p3)rB>07_A#^aQ4*(56_XrHn=%3dWJaDg|R(jhRduZ5R^{%LwhvGMi{ix=Yg)U zSrAii;f)pxp$iijG9A>)-l9~R#_fAHzAqHF3P)#GrQ#-scvG=F={0GG9nT12FepqY zIzj`{of9*jqHkUdC zKPeW=y-}g;%DTag`Zfm+uve zvbo&mEzE!**B%t1h6ZcSvWdy20_CL%Qf|(&n9KD#^ZJU6c{z(B{aH?4H;`&}B5di2 z{4_@$PpKezz>gnw{Ax`KfE)MlsNcuC6kIje5=+nkx9?>nL>U5)9lRJy?4zc@hGSl; zE>oayPin)Z0GR^hr^QiQ9@>G{t=va!xISAEy>`2TjYiZEf$9@l*~nNG_B)h2hNSgU zC|c?`I~tEAv23?{P@_(a`n$?#oNrV+;eezya@c-$$S^X-bNEC=*WMg26;(xd+gsYH zR$EH8+$3dk%1@l!s>kz6%TP+B?2BA;X;UM;t5D6xh@V9R_WLEO$W~>Kt2SM$2ctz+ zTviLSVJ|>MZ8HYE15`*=A>s6=ccf`Ho(IAXdwgt*BV@uA!~7 z+aZ&y8d*Sw?{)Wr&jI{=+}-7vKAL^w#Cqm*Vb&%upVX#WEDaEF5>|gAd^PLl66R0=&o*W-z$Zx$- zl;g8>2dL-GXlA2y1#-|;x;WML*!|J;Fvo{Ho8!acXm!(kJ(}Lf=viJ<6mqdBco>dm zNot;SG`)z0N7KvoH%HSK;AlE5k3C~FSgwg`zdM4f6&-iB&>+{>n3m>4^DQy5F-8`) zO(Z+QiuQ1+s7;-RJClMyO~)@eKBL`4?hKV2XHx9?X|SnYQM-**giYb4Ux!U!BNWNz zaEe79D97g&T)~g@@X|v54?#2xNtEZ&x115Yfhl_G>saSQod}EJB$>2c$9KZ@%5fBi z$C)Y|;JEuQk@&v}`lYSE4IsFMr z!Zau~fBKW-JJBq12tv?@vc~QJjWiPrj-o0mf#gAtMaO==9nb+fo-u}iflYA{h@hWc zOC}JMMrZ^^qF0Qi4R5Y=$1)dz063C1No$COKTVVmcg+zOFqUJ^&#|hzUQ=|$NuZBU zqqjBvMf9X@tc?A0@%{w&O5hcv(+YU}j`1%N#Os@RI*0SX*kGBWSMz@4-aZ*!{@HB= z_VLeZiOu}izyD9hQJ22%s7l7OGLjnB`wIT$P1OuodrwCyQoa+emMwbI{rW6a&(UQ!Gptns+CSgK0inFm$$sV$DZF&3 z-4nzsDI6Z|e!3+I==^7?-sRhQzS#}eMb{#pnW|>U1&SVMSDrjo-KhJZtlAz}E#1wi zrWn}j%JoHIVVGcrq(wQt6DFHmHml;8IhZsH~%k^Kh!(k8U7&_d>_@ZQF7JdI&`E z)KbD4loQnp`7L0`xA=EBOK|*>jt)MYI}!Ny=h5F+9mhJBYxj>Fu#^;lDX5;AINYV* z26iKuUVzI0gTP8-R;`Iy{CB7x;W~i$KmsV=w+r7mZFdK*alRIwWuaffMVtmZ@;0iciyZ;)Fe9N&~z^dU)UjN8U{Aalt^YoGI|G2O@UCOKQ|IW46 zLqQ3A@-N`{I17Eih|y7V1R)tJQk(9X#rf0OZ)Wo;N6Xu)=R2TGaLBJ$r7VE~1@UXo z>5SMrEA}66*DhmJBwa7=B0>T+?`u=0dwHKInxKV9Dt&z!0VeVv*AXt}uEdG%FCNJ1 z*m%B?=-)^eyRpyspyi?3SluUmd0y}UR{R{-1X@!RJfsXE+%KBI*zD}CI zT4PA5@D9!5;bh+-X+A#uM#kvR7;bN1vgpZQ&SX!|2H~mE@M(0ohO->X^i83Y1 zD@0kU9}=Z*ewZl#ApMak{XL3e9@E&*NDKn{+k5nn1Y=5lDfRtI>I>!F5%nEP!0XgU z5@=3HOwT&L6H*@m!zgtWNWDsZ-!ZoF@rC}xs5}k^K8?zUi6rZ{{saz#2{QV-XWZrq z5s-^9-2>l5jTv{eS$gyRjl-%N&Wac{YhHI2s|~Q2eB9@vLkiTc+z} zhI}p@C9D|xCH*29ib>n5Wad0|Ggsk zy#FjgwM<3uSrL5uipRQW!ivKr%JcluihrUq589+9DDybjZWlDhOoBRazXo<9?V`1@`lno{69DKK5!@66tS|K4P*E2pjFYUA6 z|LfoX_dtpMd-`Ah{(m<_ty7vx8TQV_{WC`52blNIS+!?F{dY5FYL5J21o&b^1VZzv zbWf#ws*e47b*vVj67=?G5|8aE5M|qkhE3hQDOoV3os=&*!onQZGlX!*9|v2&it=1FFJ_lr+KG?9!JT*; zqAiP%%rASPA2(Gd+NTjGq&i~+jfZ7|-qPstozD)NQpvOuQfoYqJ1Z0I3H|CEqa6@f zgkh3%yiX?{Upkohi2z68LlI7eypSZqlgqKZmPnN>FUE+kubUl6`NYM2j9Hvz>%?g3 zMcIQ>Y?R&mbZY^EN9U&gnDhJ*7je3@p)f+`*jEI9rVYK48%Pib6={{mx^h!<%2?$Zl+nw$2HQz z$2=!kQa96Sb-PbbLqGlk-rJXgoSC`mn5uDDtP?nQEyDo4Jc7mhXZ*k`U4e!f&m}mM z`ReaX&Tyjww2%%i)9^#{{=HtX154+3 zapzYElLRmhYX17VJH4pMa0t)7^$ zRUP%L#w!N*yg=FYR3#%`)?3&-iePWcr#$W=Ub6Eanr41TqN~e$TDXW`56kcGz^o_6 z>X%aB(P@T&rPm@50`bxIqXQ1HffCieyX+c4P%;;{HGT+Ht$1lR9E`vm|3I_3*v97J z_U5G3&Li*5*`m$??uyREpxrZD48i<8-wkvNMLk9xC^;M9yw_}h@hFgd_;?ztI=?|+ zwd0rk0GYjc;hW#^Dwzl%Av815SE{*pMTZD=;Gm9rO@y9XRe^x()&}ZnpwzzTt*!_> zPT^^vi0ur^R5Oc!^uTGold*JD_w-Q7mA1!Shrpjc^>wawZyI3aBru!Qu-MBbo<>-b z&7X<7{^7+IKQol|32*shzsA6M81|~XK~iu6#?!Y;isQ#qN%5;C#aB=-fKWM>4f>lZ z&Tn{@B#<2UNtVx_oAzIy$lYI8uUJoY`RVsEdG1qi2L009DHP*~Pjbq9vAJJ!&^!kV z`>r^N6c+<@?wab8Dd-}quGFv>pBq^2b2ZZp{`ps^tAtuns1rRsS^R)N6#koXezf`S z)bb7Gj?QauR^-TlI=qvrMc+UzI&Xl*i5y_74{|v`21nQ#;}Xv?2#n-DWbHg8;ykDb zb$w}}d%*DZtjy)s*w2y1bk@=MRN%1mRbO>u$Audz1}BzvSo&lSAkV+?XPenR)yChb z2GDr|=8)tq-CsN`A`IgQ8Xi=5(G5PSZ}HP=29LuSVam%T{*Q^}ac1<{b=_`YsJl8E z3p7TtQD?NYP|Q^&Nz zQaDMcExNxYO&wOr&;$DVIS=?bhKbko5^yI2?%YjzF=R3*&b(A?KP1QF$3t?AFQw#| zlB4xAJWrQQkEciN5(zSvZpQ?9UOuJ-nG)nBf&{^%WO_U~7@SCsd7h-$S5X*|W1b=M z%mst^xMkH=(~2yZtm$rWuYg|`&mu9M;+=0!HbgUiZ?5{w@)z202>bX_;~7ssnl zkOU7SH!gJiaJtY>WV`00XfJRXUy_L|Ly*WLSpYZqzX=qEbBPYe<2w=UN0;uQ{Z!+4 z3LY_nn{CxpR7X{s;zVT~Rh);vKDMgg`g`^VI;Wzk7{{jQE#w#h;rV!8N~6DBD`sef zXFsMGR()Al#7rP{UCU5!fA2%l_VLCDzwX`Q`a5BS=&~03MHch4AIKkmqcc|ZKQm_! zIen$|JZFdW=52vK~%}Egyb~&L#aPhca^(|DG65RJyPlA8g zs^jVE{-o0W4){lW=Q=^*0hO??4f+lU>iAC7rZKvd64W=BU~kpULxRFs0zn@rd+P^i zi1l_t5A*hCH0^7tJ$I$fq?`0>Hpx`ir(x1mVy6;2mDraj7IrU8MRvMNzkiob(^^0Y z@@Lw&Gm&f62!8h7fb~}(N6|1c!T&5dEcqTx%<>)i77K~uP!2slinl4=?(z1L zKp+Sd<{qhv-aC`4zQU_d9Lv906#4NsBP?nEjLJ{ke(Dur!_B)~>KtJSf{CgXKZsIv zvU`b`6O-ls(qV|}=uQ;kdZpnMbKbu_kB&J%C#v`Js=#|Rj=5W4yg7iSsGIBTmRK`B zHj5K@FrjREd@1F@@5h7J&s+k=+_z!9#G5pV5%43K_yHF_ne5nki zu!HEQk@hcp&og@t5JMIX**CWXkF`Dvi%D2CdZ!P;Pvh9WDxL=8L zucaMbXXQ6xi};)p1LMMLJHN~PeUJ~B^7r@R@0)W*5uU(l^hR#^5)(^k8~reEfA&1> zR}-_Bnsa}BU)32g`{&p7%hf8HM0Il$OG#6K7 z_Ua=vG(eZgoWv;#j=X0NBHtg`a{2-7At|#6L(#W%5dPJi zoT&OBFZWW_=V4gmQ1t-<;iAtZ$Dss&YwFlnm|iH+Qg%t%C1sb}*yT-(A?22oTYeX} zJfcJX(tKEs#K}jR&keO@6GL+`i|;R{@*tH5SLMM|G0vkOFTW_3A8t2*x%{{ra+{|v zZsN7SbXY|5=uRkdX_R8{C}5dpwVoHH$qSt)7$Grz7$Hdk#nOd-a?C23!M4b%4UTSg@HpFdf5vyD(+W6F^Do?;rjw@f;r%*o+z9v4`ffh35+#d< zA&K(*w3B0eBjauD8!F}}iUvN9VhojvhEz1%E*gHmP$bar&y!`84|fx7@(7HPND>(y z--)~~(WR6OQ-peEggWF8lq3-B)-0m0FdJ8W+@g4ww}Pe-Chp?#7_-qY7<~^jiwkwf zL`4Ded9FI9YGf2Wc*>Kf&$NYSCJ#y-FMZWlGm7eZjJ_=Pl@|^d|#Zz(U z4LRX=DM&C&5NQR!b z!C(XaCXYqxjn;;~(G&SKCIXen)TERkxGvfDE#px$Bs z%mU~9JrCATa`HxrNhL3mWiwNb+MTvdQdDH*7nh8TjM&}+i|HQGT~|&uAK4Zk$KzVR zoj!`#Z#0{YfsDDPX?I#;iWGlCg1N;|O`)B zqQm`aaE_MA42=X>$*kwm-LdS(s981L1eb*^yk1?AE}a0=g&k*IRp_ZwI#f<$Z$3A| z)pF?vq#;-?y>+wMc}<-k*O{Qm+zAX7^VFC+o^f4JjpVht$xA$!F`relZxs^v>5uRK zQjvj5smO_2u&8-;E`9iIg@UI-x?Y`Ae|-NRe)d@@c4?r^P7SigqAj~nKwVhT!*RX% zW@tpt^_)EG-MF_aQs>C!dwLLV4 zowDt~U)&NXB-E@GL^*f-wV9YfHnmwgus0~^T=eRgq;Y|enE2>U2di`E1hYr#ocPn# z0;?qIf@lCyDp@3yy_PHNEX`1Ur@TR@X^;2pWOX>&i%`p{j4vtGET(Ls-{)}pfaLOs zNEuRoHX5p09Tz{W0a8{dd}o9R8P{m;KXL_5LMr&J5&AtMhxEvj zI7CyTA#>ffPOH_cv(9nqO~=}q<114hdi&%1|GE6j)zu&0|1Yg#c=;DRep14XKTFgt zdF1?4{6rYx+Y1tRTA~17Sdh+4#=`g9$PYr1KOba!w(Y*v=r`ALm)M>a@6hepR^7In zEY85UO!rFXBZTl7$>GuYdPkB(W%8qv9dq1aar3Bq?|Rabcco55R>=-2LA_ReG?o%1 z-g(LS>5^kPcvWm5Z?!P~SO@%Y+UVIsxUwj##eH>lnTA)s& z+2cX9sC)K#{3ZA4X3g#ln6i($|9SR#C`~wwx}Qc@7iR&h!p zF3;}Q`VCXY7V!=%tj#XH8e8%J*6UkilPwquj;s_TTX;I5dgXfj>Y_IoNjK&*KJZhn zuIKP$QDNuyJ^7PR_ag2s~!O3K;DYIX*1-GU^aZueUwUW+JV zA|;1@?n@Hr$#S}S7d@<3M;FEpQrOr@+yoI>FRe-nixTe8H$!Mbj0rETBB^(p;VMM` zUOfIPJu4|ed~gzi#5*rKA>vXY7q{(ttd26PK7u!$PZCwQ)oM+tI_G1md#S`O1_I|S-Nzlr4_c8#p?5Y<&lkeJ75gt&@k6a$O^|fU)yeNJs%@0 zXDFNo?veyRU!J3hFVmZ`k68x)TmCjs&o()gQJ3)~{W!ZJ zH5}WvZQD*xk`vpuZQHhO+qP}n#!2$!y5DE5@8|T?bgx;B+O?~?YVA>B;w)KQp_^#~ zT0Ls(Z9wY+~d`BKyw`ZKv5eDI>W!~EgVXWQ*L>l>hxJHJ0=`y|-WD^b%o z`}JOgzo;xzSDxfv6cd`hVR=;4w7E@8P^D!i=5d$9fOY zEs|N2eIdH^+I=S^5{h%bskvWmgqNSY{bQv4H=(xcZ@wa4|D0X*P7r#NU;X$;e4)o& z$nI5h1*JZyuP8DpKj#=Z1#bVuSEf{_(OTuFSWjF=0G8ISb1<`5l>S$jg9%2z)U}dP zl;D-t*aXrQwJ$tJY-7ee?>Hn^V&we(%P)bGMXp^;LNu1=CBc{pJ3qXZUgw@%-SjY84KOGmwN zWMlZ8`ymU5@47fuNU!%mXNNmRc0nBae^2EG3s&x&U%6x5`ze{4gq4dFZ-s+Hy_O<` z0UE>rE<2>c)E@Zq{dlBdsf8AzcEapf=@3aPVz-3InA>C;$urxmYI>h2*d2zI(jM^} zYDlDVJd_v5hAu>uPkZ!Pu|Vb2Nq3%wyL9e_cW7JM!40GI`l-epSu#eM#UPmxVpY_RG`NDY=I7?K2try0Dli)q!C8Sz<8%i4*MZXDaD1glWLk?4)6XE5a2~*y&ab6{5 zu>6BFO@g0Avw?hB$5eESn9nokW5oqdnE#S6&at(gN;si4;ifonRo zDh!w60Z&Y0koD3Dt8#%S*aBP2_*H+YupYrE$S^>q-uSakW^bgh9!3{(Ve??YMwor> zf20r1pWx+1f5`D9*3s#M;!{O}LJHjq-j=LyykvLNzr0b!&~L7_oy0!pNo?`#tSQww z$WJtlgcoY37qvczv%@@FT}FM^A_|Xts*T2IDxH^Xk|vZ7V)^TM#3*lCW0%pyZ-<6x z+`pB?I;8HAjC(0POzSYn3BSe5gHnCf6;vj{jYoJJ=TmATsMKVH+TLax?C$aYjiujb zTd{_YI+|+9{>6-CacK#W)qCQ=#5jah56 zpZ7w;B8-q2`gmN8#dptknV^1|D&)?U$<|XTkrgl8!I5+>aXWoRGIJ#i)Ais)T%$gW z<<;4eFzof)ljXVTu)r7G2iP7n4&k2;bRst+)tKL4p3XlwYRipZQ|bhRJ4?bK9{=)`(?K z+q8mI&w*=9S#96$Sg*5X6l)`6OYtXXpvxdu&8F8pBOF(Cei{8D0;N{l0^t>=4r=qf zW6B4&q98^Wr8eJjm#gq#x~yvC@>ckmGmLX!y2}H4eOG@#Glfg{xtHh(zdipAUv9C} zIKilQ<05A74gqsk*eG`@i>gb&9%ZASh-hQOzG)6%WkBkhDAb%SH9J8urYbvo(J|3F z$(9_?GdgrbV(7bfECb<@t1l|8s{D-})xncFp5x`AM`w!5h)(7Z??meo&18*rl&ol# z@z-p+!v5EB31C4#+RBMX%-yZ~VVzhC=hhlk@tg0Lh^x=(jq{!!=)>r%?{Rd|dLuXS z%KMRX+AV#2DUW4mdozM=w&`L!{>h4&B1UWx^)ZmB>o*P0^fIi=bd#qu>FAuVft0@* zBGGSnHv!(*1}UM7I12AScVE=F6WMmIdYcu?%mgv2Xl#1wf8~EdU(Uo_-R$Vhm4?A; z|7p44YxD4{wS&9e;B*O0u$FIas@P+RsQAXw(O68MFl2{MmB-SPsbClM_$`m{)xc;@ zC`%t;u2T?E7dGE^-T^0k1aD*Q4$kSiv(W6#o|;Xdpt&Ojiqr>;S_kBab1vFvu3le|`By*m|Ro$_fXE`kf60_qyolA;C3 z?=|L}pC|8@+n@8yq2hnj1)q?VHp{T%Rrv~!4q-}!N}5t@eY{=P-g6X|zU7a-p0;yM zU^Pvt9H$kIhk6MVsq=*2#09g5^YUWez_`bI9v+-OV^Xx7EE4eP!QlJ@nu^=Y5aY?_wW?YXDnfrHtdZanm=PH2%H zY?=4qQLEB=Q47}~mbzv1Zy1Aq?KaDNzfm%$YgDV#o(NZPlno$ zOXV6NZ@1_>X-=xmXt^(QeSS7z8NZgSMPcWUuA!R&8~H0n%l_WPX~P=gSwjUMB`b8) zF@7=g0i}doMkXhtQC3nJxuX}vnploS?L429VfJwSZD5ST$&r({E!g>|`Ez-_bpBZR zc9ByhCxxtoY6bKLC^)_m;gchE6&#_8<3ew^b$|*>Sz*+0;Hl0mWsP!pMgjW|fhj$? zX`h{(l@d}bd&-KnlYSwH2#SbOb~KU$+6SOJvMFOGNAGkydxN>BcEM6AlxzeVoK!&h zUbzxg^6z(nN+j$#P%_G-mbiCvN$4_r*Y;e*vlANt@1DT@j-mjW5IL16h<`)6EAb+; ze80S2-mj!etss`q5AD4#sH=EZ9f?=dJAWi_bHK7eU1a>C@Ggk{h?nJ#`MkVW*y!_? zVmY=t@G2QmlKA1Qa4c0@I*2Ss&e1~k(J3(!>!J72*>&o%qclOMo73o_$E?z=!PY_l z*G!>@K7!x-B%vk3da}|_*G1S#P+ZGa#X91t0_0&{-!DdEd%<}wW$WwQY^fC{i>Z530JygZtVUz42a@xL zRD->IU*)bRB~DY9(r1zZ$L-Uh3zPxBmphBA6+j$KfJ%^RnR66Dtlt8wUlL3}a)(L! z*s;0e{om8kjtaG!aj9>lkWemGze(OL>6xOG37^+qz6%wrUQtCFxOUXi1Ti=B-Z+4S zlaezwMyHNas{~`>HSfq9zp@8o8V~JObw_c1BB%{Pn|ke~38ZO1L2v#5B%q>)grWs| zUlL!cTqj@&iZo@~0#ic*A0K#0)BoO5C{8@+VWyBj!81VWA@z|Y<;A6ea4dng?3-Bw zbK@dngTJ7wf!D$5;Y!K1)x+71K~xPQYJiWi0P~<1kRIBhb0FGEtMk0wTn(v-36}gw zgxj=Sl??P?&bhKY*~43(C)(ZIG|%-(`)`7xOblCOpP_X8jK!e)^#Fb7=24ia;dFUUxDWX{T2$k|%tygo+m2xvNLtD644zohR{D?JwuscMk zqoU&)RdlKV>U~zG0o8qhKNubdyvekCsC(_EsW>kP3HI&0WR@UoRUW4AJ4be1k~duH zajba^Y~=dDT=~{GU;6|eSo^_;i@mof$0J<)Q-(p+;}|1Lo|d8Qz&;YG1Q6upLXbw7 zx&TE^00ATorWn_`Ve>GlRCaG@mm`bC#?X0^>1!;wnjY&XDS$+*Wk=&KDMi8vpac-W zS7jvRIx`H2r1X(AlD^H_8@kH^EsJcG%ul!?no{7?uw@^Kp2)1Z+UopMjw)hR9rnGx z{+q0V%VaP~wVMkvLceppYFSCJ0nMAK^AC9+P$(gHxNOuj{^q(P6@ieoEE&%YEPf;_ zrtXJSD2lFh8T-AxoUQ1E4CodTL>00UI}rP`>W&L4UNH!4n0$H~O|_w%(e;%`f5H!} zyUM2L7CB2iSju-@UC4P7r>nHq0iT(t#j05K3YL5^=*II~lO>g_1mh~5PTED@e&^?r z*6|<3T9w97>$nnY^Mr?##y z!ODv@(7q|<8s$<0ExTA1<4T76L9gkdt`yHMgBGw!Lz1l`NO{X;vD^yQD@~f!Y-WvK zbks%DH8*m8FyKG*BJdP;Ct!#?|NOaKJxrx>XWK?vQ_L=Q+RRM0-uw}_kD*K^n`AVX zud<&jh;2cxTa05pB4YF+C$H7X*Wn`{J$-Q3ae=$%l3u?gR%9{I-K%h#HLvRn)(=M%Six-F8{M)YCSI&5HH%p&5P*lw zWMJmA*EW6})|owg-^YN&^5pxyvq=ui_%T&-;0GOrsPLpzCDAqYL(Z>0s4vqSa3kWx zceH0EtZh**RTu}M9BN&%V4j^SwPsolK{MsJRNCB`%ESa}Hs$1Z19UtwyT#a@9WXg8 zV5UrtVU%dek`UF`uOjEInHo67TKXR_tl+Uq#+7&(+T!{Te2CPxTaBHQnIr{Z5DHlt zMO+PD%@Y<7HiUoJcO3K51vk&Dk|q%0x|NdC>{nv0`bu|724g5+?wtb^-TIgVMdJ ziC3fCg_%^$exs^bJgoua~J;!WWSnj+zv%;se_{$2W5D z-uAnij=+;kMzR?bafBP&Abq_F*RL513wHs}$>CtFXa3O|sSL3}s$_v^)E4iwK>DlZ zBysI6Oh6_oT`~xd_{|H->JC@578J$@k`{-n4o6nR!W6#hXu#2b9Vs`uitSKH7OI4D4f z`@w-e7Hhe3oLDQqsdI;G3U5}}&t{u}2vqg$-<;udkrtRwoQ{Y=H;hXGe^LA=xkeVT zJcohfT`r!%FIm~^5W|)r{4>sOigF(Y|I^rO@Rk?mbaS#S05Om=);e!G=E+!+)dnHK zL!k3>I3InZ)*s0VVrmv%JDi(4$3L!VMkF`Ffy8-pG_O<~XHX0-c6*EiwHC%(Arr+j z%vIJZHhqE4uIYSGL1va3Q$au{j-PzVs!`pe+@5x1D^!!6IHd!00VC?Hf^R$|At*9> z<5W?RmA0i&74U9$@Mk^h%4_ApH-MR&^Ud2Y%4jLO#V2T;RxhbP--3qSi0-pT3 z2^ZkwW9{iV8(CKEjhstAo_KCmV9F6;_)no#s;IlPvXhx66wAywghk?+R|OM;*=TDi z?y9x~GNQv=?5`k0@UvkT`JjshMa2V4@p5HsMzSmJRS&TSW9p22w@IZ&TKxS#UPE_I zZ#cjM;`!5ZzQD}scZE~zeZ3n&J%VFv3vM;DL{j}WqgW1k3>b`>jIICZr9r2gP*52b zWt+U#ZCB&h#thFrER=EC2$EX*!l3*1atv`T-5U?O)AF>lDecwV+1`_zF1TM}w%SkDu4}zZB+S%o`C3KXq+^I%uOmV_6-q(O zq_YZtt&-KM(j#w&;HnpF;&|RhHAmv1X18`3dl~J44Pk0pAGH)2WF}GIA{2>FOa2TVhnp6cn^SBB z63e||^+r8A2eu(~|6<?#KaY! zB#OSGZl-f9^veZ7g3$D!L3|L+bSko>9>)-QncYn?TBU?Gru7WeRXn<;8w5Z=;0E+A zBM5k;L7-H8&NZ80%7wpQW!h!B$LoFFjU7xv1SU# zS_Uos0q&e=#pEO^HPLJUM>$u{kyC+STeBTeDvF~Q(-!6fk-{-Adzwkiw4gUIyonzt z6BVA__>~oDxzj@@P1)p=jh~NZd(m`2tA-YG-nLvG=j1UCFtr2YT|jc_FiFtHui<1k zo-;eo!c<4oNY(9ehm((an=Aye+f<{LM`2e=c%9Hs^|`nEu59uXO)7@%P~r-rTN;Y^ z*qz2tvK1p`{1U{H zT^IiU8OGI|XEcZDr_(}1qND$r#&NyluEVzb4daxXPCSsQZaUkR{{qe^eJCEj-p%Vf z>lCkX?9g2_Isj~AhfyOvQ&MlW0Udow9DB2U4n3HkxKYwU3~~a=2u(xYg;7-V)OT`B zC_6!`R@9A#QS!Xpg%r=9_sbms#Yv~NPOMV-G+D7Wx_zE0jU#409%VlRyt$Y@pP~Z0 z_39tS48T40N%J!weUwJT;Wrgu^yt@eh;^{7nRW$CFL3Yn7Sl>eJqJI^K5i^AFUqb6 zrRT&)8-VX*B$i46I|pA&06>fg1tvE8>r7gU(?9;x-x~|8t_*+T*@Xc!vbkH!@Ci+}=V-fp(2J@s&cjOnl`E6E#TRdkj=curXrnFZl>! zkL86W8Wng!*#LwxsLX;jQR=5RkN{;WO`okhNle~J`>N>Dl-csqO|MYbo0Md$VyVEY z_JSq@Bq^mVvro);YO)r#xXvu*(zM%Q&o*=UU=P+LRa(GV8`ZtvR|+AmOV=j7TPwAPqnB4f?_2AG0qAiKc@R`SHF$R+8fJJVNsxt*JmUi z0QE-~J0o%j)<8vU!jpauvu< zmoYnlG>&o@!`eWLnKr}?K(^e!MEp-`S?C0DO=Mi(^d)IT&V@#pQEzQOu$4zY29=c#E3K1O96LPC}Q--#Vv?!`|<24bjmM16EXjGAt)G3jSQ zrU_BL$#o?Q@p2I`gtBnqd=*iUzW9+-`K)!SPoMw0<&5)ZQCM1bCcM z3tr{DYx#6n_qZ42h#Rk!ys=>(7b4WdW_iEzmHrUpq`|^J9?NML9&YOgGL4)2l*WIg zg4R3=N9uZP_;t+aheicUQO}zy5bZ>h0FX(MkUJgm;t&hKs~S(lqK;ja;`4X2haF;m z?s%JeL^sQ|cQ~2<86IsL;N=EDE07lX?eC?^_0L4*F@}PayLN<_6->#pNZqHDO>P5w zT0y96R;6d^JQ28bWXyEQ0p=c6*mDiz%R=>95aqf<$y3tVQ1uBvP$E2986*w4WuZ+D zhK2Zkxw34tXF!m_NpD$pw8M{Oazw5Vy<5+~;>sMR4V7ah%B+NJU};Ih)hYv<5{@4p zSVClA9M%>bN06@h^^_ST2MI{uFTWN9Yk0}JKniOXN z`XlMqqLIzC4tD35vtgET*ruk=FX9aEenL+-cQ?PaKAP5e|M={Kyrv>@9(}%@e3|{R~O8jg)JnFwMdJ~>hs~m~*?D?3aVY!9XQgN%Td!_I6 zUw{K|wmZv;hDoKi_q@YFeKLWfXqO2FJFH)S_7sm)=C65M%#4jX|GSo$i;qmnox@`T z-#OyCXT}SFJ-=W)t3A+gwWCtU0g(k0hr~NgUNZdPv+oIGJCHv{e!+ZgkDPP)V~*%V z^@X4j9v~`MUdV2|IwlTWFkYgb@nUHM0q^G-1uEnD+(G0(iTr~-gPkatET{xBL=|*R z!$4S*Sjl~&{3PF$T#8^w)M016s@-3GAjcks30jKwVd;v_VhXWd#Q zLQmbAr?G~9J$NLq+Eu@SEj(~3P?3K9tCaMPbNwpb(q^=*`?_JF%*0NcakSeZdklxP z%$V;8$n3m~2w(Hlz1!uphqUiMim=K6a7#EqjC*@13?E8Bj5Kc<^h);#&A=p#;xsLT z`P>BF-%K$`jfZMamTd#71A&34-_P}otq9il;MiO z-rTnn5rPc?Zfj&_us|dbb2VMtDzbf=&dG|ezW0y5?cX}GZS4jh%y5EL(RShb<(vW4 z5zrq~lIg%md0Eu*Gku%cNsd!OyoQm=$XK~`Gs=b*K}Zuv@Zph7K&ht8G;vh8MNmTF z;H7HoCwd6%L2ZOXu>G>A>y)T>e+cSyvEnYy-J#}3MeSS94rFf#Xd0M?q$f1tqTdwa zb&&DFL#S(3JNOkjJq6ra?kr(`LR2svYrGeBB39;!#km|RN24}Uc=afqlw(9vs1#Xc z@D+lm2ax95lKT9uD2u0%QjjomR7@0lRA>V|i+`F!UA8OuP)4$*XoQjt9M`$%xy#w( z*rtnQ%B?^NWlO7@RArLU0A=4tt|e^%`I1d|xxE1F=dvlMh5~tpN}*0i1R5Pr(Vl^iwif?VcFpNA zxhUy4E?XUwDI{R<5V3jjTSec3`o)SKv1`TT?HiV$CUtff%=-zC%bH2X5QDS+bZ|= z5QaBbtTQE?K~G|;%}{_ys?Bs!cX;tBP8F(DBLLQm<`SW#E)v!*jM?2Av~x|LN16FHfPSC%Y zkV+EujKJCF34nS7WCKtWU{m>|P&=ov<$P?KtR=V=xrS_l8MA$0u1{r0OS!*5*}?m7 zP>NDJ3~lH37R3wEF%h3^GIX!V?$ntV?cl2dmn5v&Z-9-_z5=gtdZaXpRg%e5lL#r? zeGdptB$ED=SocgQDt`rQ!Xz`>u|5UyZKfcaN3ZSLU&MoA{;Z z<=l7~gD>`Q9~#8{Bq;ORU96?zWClTrVxbAl5?HB+Lw3ckn%I}9RWs794jE0Mw(w8h zaM_g|xNbSQ{J*M634R9~m5It?%O)b~J(b8IZrwg#BCD7E6Omh>8|tos87D)yBdH3K z0C--mE(TQ$Iz`F;&6slXu=2Fz5FZ#QL2I9D<`LOq{oxM|_`uUzZ^^ z!XHVvXtUX}oWdyFRfx~La?;4d+$0hb^Jg8ThXpsB&1ex;>lDp>o`mV_uNoWRx~%~c4VV-7!!Py^~_9V<@#kaKN;XB$!^Hn@zx&AnEMFhoB`w0OLvsZA3 zCn#465A0?!!!1s%Cn?MYtYz*8sK^7{2?U>WRtz8wANcjNX^G}+ctDLecq0|JFgBI< zki+RVasmAHBe&4ughU{yRlJA-aa4OCI$j&htm!u@_H@r9vwo0EmVV6i?6=&d=rFb& zMt8Aq`s=@xd~-~~bJjrj0V;*+dn#)9C9bP*!tcy_dFb!xmNn>#q$Va1nPNZZqxfUa zXk5{Pk5SG@ifo+pr(9;Nf8zKvCPmdQlqDJN?P9{(gUf$TbHW+kO{ISAGj+H)Qc4i~hs<=sjJ4Lo5a zvviaihdn?LmZ~N(QT}+$ilMu(x}Itdn4OcEig<_Rk16~-Fx2?eHMn_|`>GEr%lQO@ zsZ^0|YZSFY&jo1p3Wz|WXg3q}wdgy^%WIDtq#9$GckalbvUv5pbp;y=V*EqlWnseeEVal`#*?MtX*!+)+1)ktgUHsGj8?;fRM(w5!it<;$voC z;fzvjFs*iI6s+9&Li>GsoLF8T+GX+u6=$^ffom1#CSn~L@K0Y(!84A&Tw%AUVyum7 z&3kK^9OGqdYxAC7qlXvEf8@t<+B5kc0mAaGVFTuSbdr^o2aF4`QllI;OX9TVrm**L zxWr@zdVKuuy!v))YIHp?Y|Y0u2kV-z+0d$!#j)$cT$A^M0Zo@1BcMc{z%wik_*-Y= z5OYiLCi#r7wzkkh>?X4{vFht%FtraXtJF5|nQuRje6!p`!6ClFmJqXBnb;@<^bz7h zw;b{RN(5u2LT=S+yMM7g5^zKriHBW6b|HyjF6a%g32yh@j2)0s929z*JKzfn?m{5F z599tOOk~WZe!oK@w->vUt>m(-%Q6Rc$h#rkiTW0*Ei=Ct)j7c-x7$j<<}wf>V(FuJ z*~ls*Wlw6JoBL@HL?eK%$dFURu8%A62lOs!#zzoq(=GOIuskT(g9}iY4C|@i-iwE5 zPl(UY()~n?XUy|FXb6S=EoV-+k6)H2RhIlK7GlbW;%fMvt32AGt?&^H4H?yRhO)$2 z-f{64fq-Ku4AAU=IUa3x$~rde<4NDyFpi$?DP~$7D!s|{25L>_@&4`USycP*7};4A z!^s$M(;Ts&zQG5>;zO9#($##N`49}zxM~WnNfrxQO%1vY2^fiL;4*G3Z5nK}U*?;C14}Mis&Hnq&r*B?gDG~w*AFvG`^~IM-sH@%7TSVKW z=?86;=bI+au3bHxm^`Gc!^|HJ${lw|St-Z^A!=sZ>yT|kS4|`&I82}mV~DYP&wg6t z926K2lg?2UEUefhGoAD#3&tWkS1zd~NHo$$0h7;Xlg>f3FNN06LTs^9*}W~WnFpJ0 z4ysnW0X#nJ-<;2R@JaznOl=9|-?WW3_Vn7Z{+xf*6|U0|+=jr;vhOF?-?pR-@3%a z%jR{%#?`s;$#lH*#KRc{yqKwPa?`5ia#m^0T+B%`HkrW8kBsm}!sYkUp;%&x`TXIsefkwR2FG?B-sF>DT=;ryKz+x8`m`R@l>4 z@kyWSofZeUYs!lP|G@0&#jDh$u4e9d-`|iDc`A1>T8k3M`D6k6@pnWYCOjkUeNf#Z zFG7#%*o6{3NhYU?9npz8V#cNZ?PKzjPK-SMUK8Wc70`4~gsvI<#V!*_Kd~ zi3t1n__5SCjxqGHRn7QXr6_t*v(6`B1m@33BuhPTRIOs|U~0%#pI+rl%cZN%OR*z{ zXbkFA^9ZIEoc0`o4r1GmHveVoj7>)(2-mfW5*5oHg=$@8xn|-;xA)SuG9w6xJj}_kG9-}Gz%w)#J*!()t~>h#Qv1* z@SZJwkZnFhcNkYVUju~>P42F#sH%WU@7QE#InBLIxrejepX9~-jN1|IxF2%NbA*X_ zSZMwK;pWnHQn@g_UKiQkIZu2(Uf>lV1PQ>12I+uA0P#FwdcCj&KnUZ35HA=1HQ|I>dnyUV=VtQR^ z>mbcm26cimxI;5=lKz0}0Wf$`o9)BFQdi)@*{aDKI4?0*oBYX8CfVUU;^N%h{LO?w zDADzZ1ai+gBa=+1Zlk_OP7)r@!~|hXxz@PPJxJ(`rapo=&i8SA)iqU7B9v0j9op&9 zQO*MCGiGCE+N9~f6;9IH=ndwbY_>o-5+Gq1XF8aGiK-k103dF@x79xRcg^ih(Qh_? z&rxL329e?rfY1-JuLyuFcg~>03n;IPG;gn1+sU8DW9nD>|9RmTJq6DS8y`wsf5L&_ zrvW8wr4F4YM;`TNVohgyAwAF408v^3tD3K0$rm zq?aVCS-)c^q_3E=^q@;|Z(9m_k3hM3oPv-C9C}8!fTd@#UVG_W3?oN>3-8ojbg#74 z%IDghX8gbs`^R@pNiZdkgu;)U*5dO&*i4&=c@lv6AlQ8bH=`kpSq;nyLIqEa3xaIb9qR>Wf8Z6mgu%@>qfB=)9-!6Yl6OInfvVgjIsi6a!VcWq4+FWhOI6 zT<{3GG0`=yb_X{-y35 zn=yTOv377c2^CTqe(sv8igPvfr~W;~7gr?~4Sg-k9o6`NsKqNJW+@eJQKC$x22;wH z00@iqUQfOXAh-^>r|@u&wzsrmJ@dN2p~&KlFRW%7$3V7^M{z!NLekaS$lT%%L&tER zur*rIZ0@+3ppObzW?5KGO^Ch7)da6A4zNmhv8IT|jC2))$ zLN_Z$@e-7W$6LN9Y^C@4`CF1}1iwFfs01(G2(1Uq-AV+E^-&&nR$;(5r1E_Tt z6Zv2RrU$eIBLJp`sKE*61uZa)g-RO914ys~M9>pYGsk2J53z^`kHci)GmHu4K{j)@ z1qms5kc}==)P;cYnr0IiH+D-Pe^kANkYOC>1M1l!awC|GBj+OZ@LCwYo7KtA$Y#l# zDW6;{>dPSsmFV>%a{nP;HJ%T1yMiTz@7+0=l8ARm%z~aJfS%2sEe0n3<9Ag^mib!^ z4t}7#x&i!5aKAVBd1d0cpksJuQkWEx0Q-L?FYoxth>y1N{x83dSH)BRps2u{Y&%h% z`gNoPljik5A$Xgh?-P$+n}IQrWsF}cIaPX;eG8M48juajDygSlevUza?Ux1sUdKw9 z_D*gSSttQW&)^$JT>o^AID^v7r=G_j#(_rw{9k9gPf#C$y&peUyqh+MVhz0u5OI1; zX;XJZ3JYMwehFtoYwg1?S&wnZ5KU_>?I{wplF_5sAY-Okz*pZ|Jx6u!@oP$n1xJx; zO4GtuzgM(xl(n_BQNPhL$Exyo#mF;9ILQeGGN>p${)LMAy`gUPv+Ih1mso1goMCT5 zuKm>)Un`(KHOeoA{oGFLX1F^p6qKu~kS_|aP_NDqDi|kb{U9gN5SJ(ILFe3PG@%YZ zRFU2IvkU;k$I4sXym!mXgfs3_m7{&B@ZAE4(6 zm1)?*d%_`Vo*(f8s+>Wv0>S?6Kvl2Q^A21o`?`sER4Tz*1X(Ge2%nFvKyabZI+=v? zMKGq|A@sr=aj#|>ojV;W$s@1+CFLTLO8NY0IUlTC0!1+qf-PWMqHb}_C07CINpW<0*HobH+>QXxTj_m2qB!* zpogD3;OWYpj|$;eoQ&yHeAxAPZT&ObnXUPK?QZt2|0F-^^C=^4O7Bwb{#&qRAk(5@ zAy25 zXJ2be&cImh!|CGPMSvz(1rH^b3wK>&P3}R1y3Mtez30?pQqP5+Ck7Ur`Sv4YgXBpq zHoD?Au`{BAG=G_nwqT(D_~D|$&Ozh;LQnuLhaI`6;>fZ(>{D@)G!+pwurHHK1w$X@ zmC4XsxB#AxqL9uPkd0u{@1EI)Ho?-}h090gfhe`xV|?KXF+E{YdOml`!rWSe*&Y9@O}%m&cqfnz=1uu39z(FXt}r{*K(3?6t*J6Mf)+P>%>qvQ9tIpo=_e5?XcX zv{v-drJR~9K?T6+AAP7Ywsv<)76xhXaF)hk?EYxt&DC!@(dwCqa(;#Ak%-dv0*dWH z{(zJE#I+&W5zK(1jKwG@jetCK#E@1b%fmKvnRu=`)U0(I>L<&)TEqAkm_0=Nc%t00 zkXZabF%U-c6ynk~Zgc-$~V zRdg%u4kh;f7p|-N(TjvAsfGxt{08A=gm8oUs#q@~2Y#LdE@6ZCniB$3JuFKA&QoTZ zm=X%`+~tOylgY`t{Sj&;8q~B}^$}jq=w)J@oD+al@FC!t=*0_Ij|~Kb>zHNRHUnxH zCIj}u4+q5zauVCtCLCn@udE*C#UKb}fV}}00LrjyCFU3Hf?@MaVP@~fSb$v<3B=Do z^^@OT82(@YumFisMfT0dy1qY$Y=jLK{yTk$z^p!mFc9 z6-)%KdP>37pt8Wud#E)~D3w45A|D3Bu%lO1Hv z!6KdwHpFH?xe~Q4EJJuNT;7oXI5IAD=)5q7Fu^#ys+#2wIWmp*035UDE7L~N$->vcz%w;Cdzr|`Yx5GV_QV59Tf_BA~`%Q_y9J z{+soHGy<~OAV^25cj~q9)^h&%2A=82cnMFUc;(*IzISwQWnKfcXUzYba!y{iWXTXV z>FO$EPeL*M9y3or1s&2bKq*h4B&Pe(fikhYL=-XQbqYJs&f{A9Xk#xD#a(aEx6DoC3ggT60na#HOuq;7i!2)ch7Zc` zpg9lO;D|C4h9Fzjqx2SC~O-7LK1#yQ#x(jSjZ4%%mEQ zZD5-qEk3uZ5w$xkM~~W!;M}4!0TOD`O73C^djqIoRX`=)<)*2w%_Nt_11yfq@lI-f zmv&Kc+R$b@`;cx&6(uJlUv>$Zey1%>t;{K~{!{dHDku(#mc}B`6_PiTW?LAdonThd zs|oNpvCj>&nu)S%V7}>p8$`aTIcKaR{~JEGNsQQ?g0wgi!@QYr0qA^xi1>;<^5H?E zz+UKo8z~LhG{m|S{;&Kr-mw=)FVg27j&{t4NOP810P-?1iAIScflvS~c?B(}93oj- z%hDu-2(Fn&^+-Gw)_~#KR1$7^3NA;0Af|0Q!CEyKH>~X|C!)xr4@^lnO@#SlI025+ zL6QUCEgHXoZ=@c6_~FL0ooL(rMHFc}yN}M_6*_wPR{#KI;Qy53l{oX~-?$jxBI4(% zK4`!V^DUbi-g(69Y^IGO?C2s2pr|^ynaG;hQShxLtd5s!k_|!HGJGx;H&HLLP-7Vq zM>FQ4#dc4-IJhun2Kqfrb)>;!oGy(SlLI=e{VhK?8+VOK#b+?@i^&!Zy z(AnFadVNnD9((!)1y9cCG_0MsrH1irE?v1yop^$$)Wx`eFqmHI{)=@Tc0Ywm?)NeSTut_hDd=g_?AFkLXre6g`q z`a*u00q1S8t#aPyF*mwVBw7MRi~7I8FnEeMS${H$7Quw*Cu{RVhr9jtY!S#;>`Vc~ z+c5_tp8ldDor&d%h}rA zMd}j+50o4WWh<-mq@Y2%rl`(3OnHU1P0S9o+y=r*aoGi*$Y zls8aBFf6X8W?^8A)x(#`A@20gkv*O+@1Nnb(!9j?H}s5|LFgb$kDvnz)0I52B8_zb zpq&}~#GHosVs5^I;Nc`}?aU&_cQDa4Sr=DO5wR?Fd6B*;(X06xFpgyQ7$(ps(Bkw# z=!v|S-jzcsVO6Ei;)ERo_Yj}yYCk5!pACwCElACANvjCNSUu&{cg~*&%u;7 zohC*(M48FHR!Lz|s){mjFQLM^za=lTJSrA?*sed;Fant$cPgc`AO(RvSTDJzBefO; z(@RtCOP}VKJt~!K>|KRcrw|%JNP0iO2W*Zi%>2YEf6?RU9Pa&^T52URm$NwMTB3Z* z@DWi!LSCb}0X;T&W0q8BHHkt>Ncd=%jKK6%Eu|LPP~@7x7rmd?APx?0c^8rO<6w{2 z+w)NS&_n@fum2ujBr4Vr@;!t^v6TB1=?0YE9m5qdtsw9F7EAuo2=-j=N)9UiUY1k8 z5bh+FVN+9{bn7})-4sud?uLhgLAF;dzYKV%J8O!H&o|hrzif z*-yLsEOc=$VqomZJKpopH#ZcNEj=@0tY9#@;w@PUKJv?SSw*X26=f9#14BfHwRo~uZ_(aSKENUm&SO`@Wt?Dd-HI5 zo94*K@@IKv{rh?vbbHw8;^4+zuBQSITe>)tmooInyQdZ}5(kfQLm*KjV1(6ti^10E ze!HCYC2uEuu)d2}V@dm%A(BP%!TuNfxtja4kIW+!eC5nlh)6{effcYshmAPes=O~- z@gD8RHErK(LJq(hrQ(j#pUKRkQ5FM%#1c1FQo;@-RWE4`W>)@H)$kfkWK5?J%vpgyvJ{N)FLkv<+qU&pK5;ZmYH|kV~v#H(8 z5wU2=;t1)`K3gvfU03;2retRUcD!}cbUe8*ra*{5f?*1*O3U49Y_r{FX1mP{ZM)6P%*@IDsF{TQb=`Em8UYLlieTT#UUjn&?x@kFZZ@}bylOuef!jMsI$Sj&Lk3( zQ06B6;Y9{sRiT5BW&}tDd*2aNk>$h_8ocMqZmyB#W~0$TY@id>8~qN^1%+Z+%z&N5 zRcoBZ+1pa5>E`c>N9f=VAHo!*@f~2Ru$Bz5&npo&_z@biMYR@%c7a2Vf1os3ouiVk z!U0pz0hfK>=uL^8X!qPRdFWV0J%CH*u9M#@fCIk34}OxH<)X7|f8;SsSZBp&06!D4 zL|pBzq&N4rVY*Tq@BF;QkYT>L+eSpyfZu@b%n)EPdI4yBP+(4?7!ikZ)q%}mrK0p)Udy2g>haW~atocRobkukXyzJbyyEq}h30iFHb_iAiQ2s&lA?m`JMq@MP}NRK?A_%n~K) zj|P3akD`r@rE9g(})>4cA=L7b)vxPm!|UAF!G)kcw_&F<9KFxMd&|#*pPPl zDjD4tquLqsOjLL2_k9d`Y&HvO?aVG?eGo1m8LhsO=m4TfktYpu_#3;7C#xf3xl|T5 z8MI4>CS|(%<;^?4XC>7Ekht>}$@|l7oNuDG;C|_V0Om+Vm=BrbU{4^6Y{t=q6X%c% zDg;6(o+^Cpqi%C#Ni@2|<9C0koLR++ThzDc2L0PS^D5+ZmLAXb$K#W)wL$xBsWh=rgHfFEz~z(nbpQCdd!61I77ICO#4+oOy$=-k$j`%i$Q8VrIJA!{ZPNg?ulep?Zkz+@ zU-hkqWBM{oVGoE*z${_w4;wgiS&Q?|SH?*uITiKa3 z!!ygX8=*@52t_i2lWk8E*MAV3t;fE!sH-|8Mo?Z9ho(h9us<3+Zwalfigy06P-V;( z=--4&ta%9!&k)8QhqQ8n}89jy~M>XHE_Ak^mko!4( z`sx;xU^BaT*AlLsR5gHfYPVCULG;`A<`~fZof0dCFby!q6&ZXPmi3H?Hd)n?=!}ME~_Z5|BNhRoI@NHA$)QS zhs{V^fxII|Xr66kFX(zcMW1gl2t1eprfaCn3nDlC%N=%Nh*1MVCiGwQ@E9^tY~i&# zy;&-%+b7GD6#)1E*Pf(P9~Mo@ce#)q{cD!+b{+TO$&4SO7AT+z*J=+OkuHx##P_a8 zeezh!bM+V|JI{uHq`<74Js?Yj)q09rqq0zJ*=NT@tTB28eGHi8l zBk2_ZfrY{d*)7%GiExEkq38)@#`3t^J$Jk(BD8iakQ){m{O9x2gK_@fkL^ zOk^h>Jf1xIHh*_Fnr3JBS{qKjO_O&P1=Y(0SIMXOR$TMQ5^PYCT9O*2GU0^vou746 zK6ohP#wRO>%4TBii{JWr7HZ|AHIP}K)>)rYEz6+^3D2Pj6KlD;6;Vvv^~S0ia0&DsRNdJV(d z^@C<}o?E`t-=6j`G=8PL7#MaC%17#L7J7s~ER2kX9RETdl!2IAQX(xCsLEuX{n0^r z6?NC0vdvypk5z3q%yjlRY3X~ube;wWncaK&Jq>l_oEYcy`<0Jd241JxXe3L&JtEBhjB=nDh94LcO!9J|HoGc?Ec{#348~D%N*moJ2z40;M-~Fk6e1a< znLID&X@3#INEhvvmI^isGf1PsRZJ)2b>S23A~Kl2(HeDU#4R%f7aT7cqK_yMNEj3L zQ(pPFY)yf%&(6(Iq#qZyb@qZLmtdNs!eCgna2_+deNRmxKr5%$YHqVP4C-m1qrmJe zy=|e{RMk?cZA<|&@tUUB(E=jzFV_xyn%1S4VFf74s%|z)u@&`%RHt%d6%Mu(r@NYi z86TVA23{2a>fX4-&hw#GmCmhq`j@pIITQaMd#YNd0I#fwQ59jJ0&WFE5WYWX%swOBD{2se4z&H3Nig~-bQJp?!t#@E(cLN$^U~HBLDE*<^1@cxLP?jglu{sfrR@cI6!t(Hn-!opjQ3q?RBjPA>STn2W zX_^eJ1!Of{3U8|S>kFEY%#3@HgfGJ^Yg(=hl^)i)V{K(aYvH;L=s$my^iikymD_p- zO}zH)%R08DinlDQp}{MyD*Ob5@V@4iePa%2NL)ML*b~JEb_k;dc6Nz3&*wv8x!wjE3SSSmI=MAy zmmtGiX2ZfC{yR@#9*R*OWfU;tw0E?rf)mJ-3Wd?DsK`-zVPVPqLLcS^kczl29*_mP z$9rt|Q3Hq-A++X*v4@(L_R?M{w^91e3x=Qm;1I32lUa=*l?|K_Y~=a0QN&hKw7>UvPE;z@Ti$j5mXw!%pgKa^;tBnc(#t9zxgzOy zA=A{5qn$2o`Mz zWtxd_IakZlOVjpqPI3ORG1F~>oiMVsHkglbs`wY9AYNKn_^K?H*V&m22U?315Z^>E z48Kzv10dc$Ri>m$Y%B95!OI-49uPEmrSgV>41!05HSn9CeUk zGz!4BSYKz*w-K`z5424I9ZJ0q+s-WJy>fK?FPIOV1>cY)+c+pIS7!opp!`6bPX&RP z@ujyC;>-w$`ho>$2U|58+hsBYH{Hh5I!}vQbnKW3L&Mk62KgS#Mfr4;e@qU^anJNe zd9P6To9NSA`SeW8e*(CZ6uV9MUm5T9WN-A|l1lQy^TCb4A1$*ASwQE-+Oi&-15tY? z%#V4LTN0SdtG5iFouF$Cchn+<({)|dsg^hztaBwPxLF*H{}zBzWPm{Ez!*c*E5WAXq3#Fq z(^A03a>uPctTU6b=~043{Ph}quG2bMt^J0^#w7r?X-p=gw9E^8rjXc9c7nS|$4N`Z z{h~QM?m$v3I^QZ&A1Yd{8ruFFf>J_hvt$3*oQYX*o!672?eAue7p&SJmr7Xuza2ZV zGF~Mxr{H$fY{?J+eAT@+4s_If2K@-$Us~*-o9i@99qNEj5k`h}ZUI$McI$n|dh5YfR!B0T7@^a7^Ojj{V(Sube9dSO z$D(l|<?Ksd_s#lSAH*(kEG{X>b81ia4o-WXiH-^&TnAJ0Aj z0O0HETqnwUmm9+y{o6^j*%6<3X`<>TB}+G`D8_8buD083l(1bvBtPZ-0q^1B+KwtXUsoDa zG{b&kIt_2rX10jinG5K-xfH}J!8W9^l|nWRc!nu5ApX8QbgF-zUIEg!@K}`X{miLu zAD_0vkr`Us-~hg|HQ$kP9=YvRQ@rgZ=9-OI9%MDy`?$b_{Bso(%D{psPpO6r}xuk*KCC5uzRjZ`m; zef5?hzq-sRxp_2yLkBG! zT24~?(FwZQ6LcqMbSL67GX^B%d<$naJBLk3_6Aw8n5%13cpP1yPZW`Vom+&%_s_CI zUKbfXx?C>5ak?_~IFz4pyeODsp)RSHMHo+%4#m@EZsd`B>5oLE%I2}A@U1fR(k9CHS1eU^#7C+7N z4OHuCs^{WaE!(4|{GKZSQ_aFz8v+2Ii`8dz_slrYpmR0D@r)8_r=a7{y1 z@in&YF~QmADM~VR5MXSOh6^rpmavSeqkIx|Oh@`m;yt}~ChTz<_yqK}E@-6g*m9{x zdV{D67Qj7MgSL9JmdCF6e4Uq+(slJo1RbnTexcGI-Gd1J5mZlbNim{m^6K_|{!A8< zSyd3WNlAz8u7SXWlYW?5N|(A&;Zn5-2VXRDw|NP)eKJM6)g6yOp!4#QbX!-E5R(}9 z9{>aZQi$*saP`?(q1)-yix{D8{t($s1g~KHz_<#DREaE!pl2F<1fAj9U50&qSeVV$ z4GyIvaEx@?9P!ycfIKGN&hA=3mQ3W40`r@trRvcQJUu%4b`0HZVH7DdqU=+aTi&qy zfD*n6-jdG;{z=@HtGJkp)liQB>XVcmGysVd0;Nsl3@fTz3u^rWLchmED6JeouaYH{7Ea@*%#yW{4$@To4O^ z7?@BME5u+MkYu%8d_}0}dCVw+?Ay@2(H#U)g87f$qg$`#I!hYv&5TFz zbS?wirLYlb5OW<7hNCpyZIO~lI!@*|oY2%KBuR=peZE2$=j5L+h!bDTi4)aJZL*B= z9S5+%=sIIL_`4Q3Bs&YQ_Ps5KLYzX!dOqjTRj!Fh9IRobF6H1ELWZtL$8H)|bt!6= zBT3+87g8A9=?a1^%G7ye}#@V)#p_5q*@_4Q6@9^^H8%w;BP4YR5 zm5U*9W60-j*wJq&$61n+$$~x@ighPP$b%P$ml!O5--~gBJG+{&x?%!imiM+E;Z>X9 zv$wJ;zpIM{a-`|yc^2P{I1Dg`qrDY8wx3ZM(pGgx=Vj7VT9og|GT$b;KciLOlUz1| zR+TI6_2y(JB!m=o6T_L41pq# zv1KD}pL_#QHc1Z-wwM#;neLGnLeFQ7_T}tTZIq#M5eH#kX);;}^=1){l_TFh5xoEI zzI=LBxK&CDIL^iU{0rqX|KkF65I13v<1fST+*M_3;Xv6tTD3jtIKgN&@fe=QFun0$ zfkM#ijT8byTDedc0yzQm% zBEd+3xUnUkbE7*Yg01Xd`%MwP6Y8BMb+60Ll7464n0~ZFSeD+gH=<>2B^at?@x(q# z$k!Jbe~XBEl||00r`;hO?v)<1&yG3#gYXhl_9li2;_qPY%a$sZAuAhpQU3^OjY0`( zBPDl#DIGTAIqk|7Tgu?o#hW71SY2wa+jsT&h*~G2>ah!QmvO7SK8$1^e!C@uI-$B* zBZ#Ea+0bmlJd!S#Xc@Kw-)G$`W5)8ATP$rljXF zSqq_TT#_V(E!CHIKA;+dHQj@G2N-#{v8>I9oEjyuWjyy?EIFEK&So13NogpxuW{`Tb9|^Gn#= z_1x&4-U_;Pwq78fpO%q9D$s1M7}uR2jR<%)+3?oH%vwFH1CfQ z*f3FMD@sx4)YalLPe`~Ep$tU=M>h*2g(b@fg&ui~TY7u|C!(u=rX?dh&!YmEd?$2X zjQ>UJiq7#j1NDj4zXGEYx`apuEdoK0I*0!5x&8CE&DCFTL74&a-Ko|PHO*UJCbc=O zyZze|%GeSI0VcWUX8xwZg;fMM+Kr^rdd;R=tLPpadI7XrKl;ZM(Qra59cp_G{V>um zJWYRl4i|3L?+@RG-7JFb59@P{IiJ|8J1aS?gRG#K0sm(2rD>F`KY#9%dNArPu)BsG z#&ui+;O=_05#rFHmpFFK8=Tf_zrf=RS!WYv3!E?{urB39ZngltGg%La1(5y0b66v- zOgb&S>x@q0uMm$9KOcmUe@v(86Y+{E2gViJx#ec#Ll#|bG=SGgl{ zOi4^fE8%+EtJ3u2z-||73K;)`o*J zBL%;KZ4t{{nYw)ALa6_4ukUdT1~+Q?y)7+}%;k6;w}Gp-Z_M8Gx%#fMQqaNpn37C{D4F?(Do-&5=wW$ggZ%0 zD@>9b1`RAPcF2>-mPiv(Hjm?#-Eq26K}MkG^QA4sKWO^@JAQTaIVUOLqwwPe0FeIo z`2Rg}mVZWmuBBnK*M#BS{o@NPw^%nP8skbVVabj+4Q*5=)_5(YYX-%noHPtv)CT@_ z%cI3D>`&MpS>+$@9(8R2Z{BZ+lIGs;=JADQBCc^W?<+Skyijqx1&Z-cF@G3c2&Lem z&_R!o<;>-x|4>tBX3KTGZN=;@5$!^|ABp~+=rj671pd3#8W}+%I3k}8hKt^eE?OwP zl`T3Uw#8_Sl;he{z7VUJm>L$VEZ`2A0S^pQ?z?aVCxP%U7k^rmhQ)eRT6b_?=RsgH zk~;A8z-e=R)5847wErvZhkQ)n_Zm9~h}YfC{GpE7xxic1D)}BfG`Fp916ZXF=yIhh z*-Jl-;GKh)@;1tqW$Ue{NO6@4G5m>6iHb5wOZ@?>N}Ab+bxldU8;H3Zyr!t!k*b`8 zpN>%Pnd@CjR7@yuu*@?4Vd213($3rNkR`&h8bYamT>6~8A)xoO5*+tCJdNO;iR?JL zJj}kJor6`WUMZc#G_0&`NzjIoBdL>%yXKP|?pkCEM$LfPu>Xj&RDbZ+3WnyfYCDV_ zgEcm|q7~IUspKn|xkx}pE}K3}Z*J@dnsvT*!GLrPus5holw(B~7?zxx~0$(nC5eULVw6N`BE!9&ceehio| z_*G)37hWb}coZNC%5r3L$lVHE^ROV><2T+JXQBnhggV$yCTQnuVH>u{$L@KPorH#x z4N%G5QWYtLr4!Hy!Hp%f`a?e?=1lpY!q?yG#o;C^s-Ay zZUUp`eSOG2)vb43d=f?v=?j0@p$OjSc`(ELB=bRWM6`z@r4H`&((l~#(xLdkbe^lJ z+4RuA!iIP%G!x_j<6g2@^-96tW`leadKyW`4$udSj*EQkud%%shYa_HKvgZ9t3w*V zSpYP`&GV&)JR%OdFm{42X80AwfDgNY6x-Bgqk_=xs+{wGpdxAO4#wD*Bm{#zP^&f<-NB4;rl( z%F~#UQaZ13YM&hMZ@=Ky9du{=;{^gQlJ)^{a$c<7oJJxMT0i zvi9H#Z2trrj=%#nuM)us*qRYj#_aTbXKXFlS?<$~v$o?Yz8bKHO&@tH z&|yjq;3{jAkNlcb#LSth=`kBov&qT|HqxN}_XpEXZWzozzi-SFTht^){eCXcOJYtXnrJ?>Sz?K_2ex8WjRnG} zlP*xwymS*Ps_BS5U|y;C)JY1xdXv5}Bgwt=(&-GndhVLX`-pKBS6g3QqP*_}Te>2g zqmxdj#r-MLytGhcE1OE_v6QOK9VPyEZ$Bew&w~VNh=1bG+O-+q0SrhsB`?RbAd27itHW&*+kvq;PT{+z0b=j9#-8@ z2O(B6)Evm|{GJ==qLPd?iaO5X_#_;X$rM;^oxBz4E((}0l@0%Ly2HloQ+9>Q*!n^{ zX3ds6Y2uIal-boq1qJHr_D~#cWMDJ~*p*!9iJ+>rr!!*mxaO`MKO|TlQrVyOAi)Y- zq&1)*^jp7=X;2ri=uuvVMub+h#8p3tAZ_L#4jpe_4tL*omEWo&rnbc=@93Y9nRalL zF$`b2W~sy~v?LES)XXykr(Af5DQoN^wh3Q9e(j4K!+v`IP=0

      ^c@*_}0f1LY%!R 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 literal 0 HcmV?d00001 diff --git a/doc/ROC_profiler_spec_v_1_2_3.docx b/doc/ROC_profiler_spec_v_1_2_3.docx deleted file mode 100644 index e92477ccf913ec2bdbd88d4eb0c374dd3c4eb7c4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 96135 zcmeFX1C!`Lw>3Pr?U^&SZQJ(D8QZpP+qP}nwrzX9bMI4M)r+5S-%hG4slAixbk?f1 zvODrpz#u39U;q#R004ggP#@NcMgRc-QXv5VkO3fow1jMJoQ!Rp^pxH0j2(4o-K?z$ z3P6C!^8kSU<^R9-KX?X)Qsm?g=@Eu+#XoTg_0*!F!Gly~IO;k_LBk2Jmz&9|(SH+p zKtHZA$*hCcl9aUyx`i!Fc07CQvDX_f(Jdp$!X!M^>K`2@pzIc?u2oSz)xWZ|>k0Gi zBr$ID479|rJbsR?TGqhCLCbY2*03174!Or!)Z-=b`xJ^_=Anvm?S}*7VhupQ3^==w z7Pvq{k*Dyict7Eq*D$Dky5=rZh}%%9Y&LpuR2Zxqd3#U0BlrM6NM!Q$ko${Vu@D31 z6$zH#6P0dF(yva)CDxycn&Hl=Sa8J0k_Q2~wrQ;Sm!KlJ5bsm#mWFe^m9^d5>x-!Q zTF&>MoU2KkKCaLTQsa=Wt5}TH>IFM_eDOoKh@W0sS+t4PI?seS`7leFrhO0;gjz$u zR|l-GkO=2}e+-;f0udlv!4^)Dn|cQC{lo(p09dz-9<&aLPJ7>GA7kTukG@z$XonX1FhIC21t5w7 z@i$J-e}hI&3dJw1;0Qa!hkP+SeM3y2iE*5PoWqU0AH3pf!J(ApSZ!-m9@YLK_xBeV zK>mNDKVCdm>+QdY>_2ux|D(U2gRzw(9qoVh|Bv?ngSq~{JbG0^zr`Ru4F7H5ci?=t z!bU$vp)8%@+$P34IE0pjH1g(}#p=&D_u3ke&iP-l$%VzlISs1ro429RMcA1D*P`cx*GxY&W62Av`0 zi^Mj@XbXyGYAh>yI+Cn-gDNPjyRP{QkHX&4;qYK;$b86fx=$|?Z6wW~(})vHKGxem z8cllpw%A!Z0+0Vh@c-sVmj9NF#=nR>H~;_+00f|`t%DKWe@J3vYv^qKPbvRPBL9EF z0RGd-f7$=DTT}9+>>xdY$gB95&=HTlVjlNW6L!!N4M=!(rZgU53y~+((Jdwxi-fsx zy=->0|$by+Y2~#adC^_{zC}Fq|PADZH#aSKP(50~Z#h?3TIe?-@`j6WQ zT_-^|2Gg8A>Xncs&FFFc%38 zfcP)tzoGfRg7V7y)8T-#_4HSX<#umEIh)gTf$PmC>)SaO2pAGlqKzbINv(Mj-5)pV zdhO(6wQHnnhkIPS;g2@VpK~Wyt0q@xfX#&Fm5=JkB9e2xUmo0zC5$)!W6oWsVBd~zP-=BNF-_c&u(~!#8kUmHX^&@MJg#Rv|+-Lyx4*v&moe{=U*Bd;b_w?%Db#vQRCH#54NOgETcM@I7Z z3lN_!RX6d+=(4%F7|otu(GXsK!m6X8PB1z_y#9Z3EOM4t3SG8Z~#rDcM ztx&zhuY&=W!=TpC4v;75e3`|{(l5xJwH&gF31K$gH>Zb2eL0JIx4DXw@ zxB9jc+@_tu$7)&xm*MvZQxF$#%Y?*l_^j1TjpGl6CH4w56D8?4NkC#u(zZ#~s*$)8 zPc?j8A!*Bl`XD-`?jT8yx}6|4Nz_A**SAUN+g2pQn)<>$&*EC7=%d7MDdKl&{|E`b z%>A)Vi4%@NC3cSmX$_(c@1mw>NJ5IVlF&&|mq>aM&t6CBOe!7j>Jkf^3fbb&KqJmT z8^V~yt4Hiz5km#$2+k{S%Kccvx|+&xyT`?NycKMn4hoB`8sGYhM>~Z zK!7(xyNAGy)jWfAbds(4FOsXWPn+3>{vNbC_Y!5V;YHKdzF)_sTLdv{y~vmHEi${o z1+V2?Z;q6v9|9@vJS`rnQNt(8>9-4;(^-x*BPuEF_gbgp&_@iPx0+3=Pw~isba2S4 z&kF?jK;ffeBecOc!nO%D~J>y*Rhg6NCh!Lr7!mc$Da8Oo@Gx2WiSAD zHvP<7@*uEJ+P|nY3{gXac1JOSPVKBM=uV?mYk$y0a4mX@@hD@GM|UxJ=8^z>;rwo? zGX{pwnWzFL$RMEfHbb-xWXDuZVv|Zq{QEina79=Zzw{Bh>&9p$sDns3G>h}n*}2>A zYPBSI8p+1Jfp&+Bv^03?Bc>m|7|&Z3zvdAZG@a61iF&|`Em9|*278OJE_kwMpt=ie zjT*TSb%z=nXY8B1$n79@#_tSHG7d^C1bo2;Hkx|T(~N~c!E7#r!~lBfFXh8he(>Y& zDelLT!W7E8uo`O$oY_R5)3U3N>`Nw9wvKG9Vq?F#ch|>Hy?7WBH4FV;I)+}J;0 zFqBJhI)=}n#li(VC5wOuf#?)Xgk?lI`XWRQMF(FqJ?xt{f!PO9vcCn85^?H~c)iUt zRHLM`<+Anx)&8l_n1u~SXDRYW-W+Gsx2X>F*wAk>m+I%P{s3a?@@n-8YiUTtn)wSJ z^-_cP3G~JY(EbQBrT0!|xLHid^!R53bhMkg0?q~aZFTTqwEWPfCZw(*JZNuv`c5XkDf;FU%f`D5u5MvAM0v_Yge>{_f$%-0a=3FD@0 zd#rG(A95aYUMavC35)hDI48_8HO*gnge2soQh?)N1+xyHJHWh1 zuN;7E03MbT9FPuMcdmw0gSx`lvv(3x1U;0PaVZMO7kIPFiiIjZykkMJ)UbsjadTc7 znSaU`_2b9(_T2x?<*$?Ao-9Sxw1sQ!Y+_wllGojC3T9kPfQ=IRJ%@SzPp3v-##8Tl=P z({A)KatChkr}owz`3m{Um-VGG237OIp|yvnPYho{Mv4{}Vxo2%I#sxakhEmIK1)4Z znLr8ZNlTgR#3Dp|_z%HVXlFu!l)N<5*mwuj1OZguNZ>du4Ys|Ah!FQ6F{H-eZw@L!# zF#_#>mOv!M!YlP>g_%CWE_5Gk$>fz-UeTJV1j^mwQO&l93zTnf=zAr(loa?9E7n`H z=V-~bgB2i}-~(Mo<(vD#C z1EZZaM*(8-+xxIQY^~J2g#|CwV}j7S)Th=7bhmZv_&;4pq90~yZ^ zJaVo{cu&k`{}uXoewrKj7$xvA;-H;-p`r9f+bR}JnrD|v3^zw{ALTv`!8KsVqnE!< zxP$AeWKGFED26?X)a+jC8P=Y`pd-k@{RtR*7i!=JWDRsZ2<*w4+t8QOm)ZA;0puCr z81U#S_Sv}~&0A2KiX-qvj^=*;3~*A5J4V*x+?r9vC%a_Sn_(nPq(Af{l4^^9f{cP6 zWxzQ)ugAtqCjS#GFMDJ$a+jU(mbLeVe!#62Cp!by@e0ENvP(V*>Ai~ax4-s}x5zG{ zHb}_6Ifvy2TuF}gxoVrlI|G5=#plf!beTfl%WFx5iPF<y*#P%mJ~oh<^;GXJ7t z9J;J{dWGTDY_5u%Kb^77#yd7DS-et*#b!nYd`p7qDmTGLSVRp2*`SV_!rsIDyWvnG zo-z85WyuWUf5u5F=9qpyfK1*CJ`t`xjnUJ%9!$p0XOP&Pz}1R9c}C>nQ+}cWKf)1T zn(7)Ri=#vT!{WI2U+-cUIm&lGm>OiF7vVowGGRp_XW`e5tE#G2gAkMNF2RNz9}$YO z%|{o)Osvixa7_*Pw&!UdtV5|0lJlXDflEJ} z;MVx-h*7k=W5r^argtUN)qcLIrB!AU2|Mm??wG)+JcpD8t+wzECxYc`h_9xH* z_o6{1?BVyPq*j%3A=LzqjirSqY$QciNL4eEi#>_-G94l_Y6d@c;b8#&CTmUIFBYs(w2h z>ZAU&5^Thh%8BKR3I_<=?L$Kx`l44)0@~t84 z$1;qxVs>uocWn2&dhVJRf=mGIVP^44?vXN~CN?$(?zF(AuY(5X$cRp0UyU+rSD%;cb8m z>lIq6N@sIV++iYCig#!5sdI1E_Cd^;O};R%?@>@44uk6DNW^SK{XuyBM_By;7nC=L z;V^!Dy(Wl829~-<6E@Xyqs{_R&>r!~MI{y$_eZDIye*@uTgshM^fK*ZV#<8k(aWm8 zTzzu;wHTLoQKl?kcU2(i8#I6E=?T`C>b+GLle!eek;1PDN(I5D< zDJ`c7mX@%&D`+Sz0P(N-V_@N+?AIdYuQwkKyml2-V@Y>4%?9=3{{oc)xlJ6{6iYH{ z5MNZKN$js)6su00h5w;Nt*99ild!4hGLmx3X$BCcjz}w41%dhd@BUvTqrO2&>RGcm zzw6q1KQ^diLEZ`B-h>J>RConTH@gVO5ES?i6#o3LH1N(DVW|7&1|ngo8vTPiOILEu zgy(qO=21k&qt{kssbQ7CWWIJ3_VYI0eegha&WsjFuy+ZjnDFU?+P} z-@md>bX19HD455uZHE^{hN6V)#w#%Yni+`k{@eLR-BNKSCgrUhKBdr<>*U#7b4|Z( zrc4I%j96jQFp^?1lV)ducZ}tSl(CaYA;fwD36YbAfV_5}Dar)S1`vWuED;U|Oj)f{ zHTb^16E#!bB}{%EA6@ti4_IhI&X~+-s*abcv-Cu#P;=LncVW^h`H-N$Yqa$kjvZ%U zooIm~yq4-M)+@jw2QkK4pZ2g(KjfeHOe^PY#Q4ZT%-rzbhR*n-5DSH(W+(}K)HrL? z9w;t892EL3aD=F#a@VJHNxwf&zYrrI-pji?sU+`%Jk}S+ms6?gT?ca$J;cgzyWNO)o=|rxXi`tGSkvgLmbLx|=p{v?&^vgbgy<7;Yh8X8; zmcj_cL`ZE|>b>`YkkTI$X#@d$JmvaDEGOX(q_$QtkhBVlI5Pg~&623cZ+zfVH@_`J zEb+GKy*Bp5rJaPBG%S8?c)Hn2r0owmFmOVW<0cVI@uSN;>!1pjhn{k7zI>~QHJbubn{pt)@tirlq;1#E=Hccz zCYHbu07}{!Y9e@yJr1iCV~nIlJPa|6jPnG7@?5tY~2Urae+ts2{>UdXdKue*aJ1f7od#u>&2(Cp7du}#6S{`jYMO)P^GYOb~(k3LQf*I zl4UvjJ8)`Uh{W+giWCKNzz~u0V%b=hqWW-N0^?$ke%hHe_$=SazabU^z7PczevLH; zFJ{~DL*t=vu1tgoEmJ^)@%fnCnqbn7d@D(pj9=j>riIC6PNU3psRCb?SB$Dp`()Q{ys(>-7P-R0x7Sf1TH@iJsX@G=s z<@7kI>-VcQ2nYF(iBf>sqnB=fcO(r(&35=qP%Le=ID>*>t)h1P(gFRaak$>@emg+T zZY%4Iv2HsC)!qbZky~UgI2BF?Xunfe&ymLWWkpX#RPCCi@cF9c-AS56mKjnNOcEU~ zJ(k2(d&{-#oH6rQ2TPidk6-*dsCX1|4+N4@%#g=G**C8#4Jvy}8=K3oCdf^gId!O_ zvo|x&I_1ln(5l-kfi|Vt&^W>nC&J~O{pFlR9|S&`R?|JaqE% zgtYtaA9k>efrqTAZb)V%1Y;mGTlfds!Xh(#q^yF^0M)YtjPaHLgkswfTsjQy>+vA1 zegh9?d&HaU?rN{jQmK_&eI6~$QUZ?`1s<(B56fx^N>3up$Uwrz`dJL}0Od7?qBug% zzfGZ!<##zConta&g04mYbe{v5LRR^@!#_0qfkwM~p_kr;b|@|I!(Iw`s2n0DWHTfi zVu|udZ4WyNPt0S;6SRJK?2@iqVm8J6scqzEGNBL(H>ApaLwJBB5u>SW>He1{#4YJITqSEKNRy<5&~ z>aqj_vsup`=Zya5D+qaa&I@#B!)}QJ!T~Y?KAOU?oRwUt_aguzlhoGmyVKOGY)T4x za;XsVY`|yT3oLb)2o~YMEU7=!bnRDrBuQ zi>ms0z~?|~1p|anIbitU&GCp%r2Bvk;_^&{=NP5Q??XHFhk6( ztAlLhp1eEwP&~$Pr=ovcNwHa~BB-kD*?3i<6Xhp_Gc;JW8#`D=1_?DE_^SbHl4Oy0 z%xPwH>Wqv!s&3VF&lF;Vn+f6%;;#jv%t{obVpOeF$1bTUAkQhTO^)hU2g2L(5Q?k= z1aTD^S^noEZpWa20TCKWso&Jq3M=uMYb|Xk)sAE+4Z*O0_^oyrPGDq8ArwuLAWeYp z^r`A+EcE`HoS)FUtDJ^T^e+b1gnxAyYrk|Ei*TcJD0Q$WdfsCd@#B1nBOmBlkq;1{ zlS8fNa9GinvFKBkKDo?~eXbOWuqp*51>reQr)%key`dvGQQF*YyFC^X$|yqwVUd{p z_>#|N?lX)K1BYf@8XSGiO<@{?b`D+EqgLl{7%GJbk`R}Y*Ji9heO{5z_m~e0vRjBu z{IndYLZgm1|6g|#=mLG1Y=M=otY)7LuNyx%ADR%nTbiP?_Id3xubs!!May#WQbo&TS{bsOT$=`J`rh> z6|8Y>d691)P^4Tr`m@{6XaCUJ{Z6rB7Lx4T$ShM8x{GsPcc(=(;dDu$h+1}WgVnAG zif^kU7gnQrUlN1(n}|?|AXD&VxN04GQ=q$0^R1cd-59rPuZAkl&+fGFGY&2$3nqYS z_6E|(dqJu>WQ7tr?`pvvrE3Yn5L1GdfCD{Bg=7 zg}POL^8@(7cX@N|Wt;vL!-yBvCSj-$1AJy9>&OUpd5#ebAJ1eO;;?XJgeixGV=IgZLqnwDtdK=> zX~q}i0en-eBgRcB8vF?dBZ}^Rq*(Ts2J><13Pe_1{(bfRq0_WBby}F%^ApszQ zyPD*pXRP#=j^iVAs&#g-fazyvxD*5Vf;bc_yO$b>#RZcfIvouPF}ut()3!{66^o5F z6Tc0cw_lqP1fkrAZvY{`R3xoO4$ofkkP6Qn!R2Chaf=#yI|y5Q0G0tms=^6M&eft7 z_c~pD$rcN;WgPMgFOJ!o@}@7&!C*8P>oHi%Bx(c!Inn^*&;S$xbBG~f{v-7g3;o{{ zhda$ps{#0owm1e=7E2J_CTXA?3v_X-0oeRkIHgM{E72{(^r(;#2}b7kRwe}p`J2V0 z8@k&+Oc2rFKnv&=!t6F z+7bfj0!_NCgiATQjFm<~h-DQQM#a}pEKi>#1yF;6Fu*SN;wZPJ^08scE@9}tJ_z~0 z4XB0vI;H&2803Cq61=Wx3cNG&O4Gg(x(uzM_y}xF#YPI*VED0ty-<#ofFB6SxZ}Tp z%>Hww-0-}VXfAYYMlS-_Qr`&=&Oedv9n@XF^pi3O*F~g=)}ivxCd7?U^WK2<+9$+t zkxa-&;3ZrQu>a*fpr?lr{-Zg#=w|suG|qd$lZ_{S0;pIlP^ydoah%Kjqfj3NIPY*Q zPOz1x{bFdXz-8xs^Zo0bLdeY;D8l7$6>YZWj~|D^nXzh_`3E;Dt5CUgHaYA$P#sX6 zW0IZY8X41;|a4iwe8FvB5-gm&Fia2g&Upo+>*WE1YL`@afJ$6^Ce+CCDRHL!=ss2`^GFT z_b*l|1c2-`?M#FvCv$>A>sn7S{WH6m(Di2)YMRoDLm~%ea(vjBKJ*xq?<<9ST?F~% z4i!7!y61paMq2x=5bg`qWd6MyVYdYqb<-i+HmP-X=9-A5!oz)`5fxXn#^YbTYQBDs zGYK=zriM&v&-ur@D~3h}sFp)FVcl7Gl%?wK!}_x6uiuWfIWO7T`?@MY4cjeBMGyP* zdQ8&(Hqh^O^-i-eSDuxc$Y_*hquy1vFD7Ccc$(tRDB?0^Fnu%k9~>y-^P-!*E;{bwS&Z#vI7`yS`|<*12L}!Ex9ERqkBEu!l;yp&Ytd zNyb^Rp&I$CHs>VR)`hu$Ymaq*D{;bbK;Ny%hR{(LoAtRe=k+OJ`pI&z40rL*cVhKBY90 z-T! zMVFJ)*Rs(87w&~os}+)hONRnP8BRd&;d&s)0UiW@+Pnv~=q^_Ca_hVqoV?&5g%Dkq z=g8i}5j`@&@HlPP&Ktx_#L8-~lLNgKNP}NS_<8zl$6y!Y8Wl92f>nXGch^vX1T7`n z-KelIJMY16>%NnA4drNE4Q!i|(cblYrf2>EYZed9R#xY-;WBah^;!^<1nJdB>PiXS zjG=uh)H}Og%;6Kxt=oZ(DhvDc)Tqt5Jkb&4*rx7PU~F}>x2fhpren_qX{h(Yxtl0a!2?~I^fBr|5wZdLW=~ts!o6ow^=Rj z!ON$+{i6L8{7+Ma5R~`357H2Kjz>+5r2q!1HVS_#ZmYpMt552+eB#;how2x~ zr@ZOjYCbq5To$k5Sr70s!;^iqzoix!Wwh^`w@m%~Of|x_7s)J&)Vz=xD{BX((1$?- z5KEVR^ckZNUCn9Avhc3jrIPXs` z8e*PphUHY9(cQE9T>V?Bc(id3ihEIXz1w1}afmPSq%^Zu8~S7&k*#}be6}9a)I`+~ zq{1U+3L2aJ^u2V>iJ_fiz!aSyf8TdxUp54w4WvJ56*ZPwq-j{;Y0BA-dGAng8XNIc zSQc>vgQ!M2`YuvEyjGoDStkimBMB$a8fhTWc_UCP_0^vPJ%JgxeH=nRy9ycKygphqX$*(&nV9*+)pN2WP++gErqz46FPAMc4NOQ$2&?(zWl;mcgA=-V z;ddL9A&?y1dIBvAi=_Afx&d}N;eI@<*-xK?kzHAGjF_3kn!?k+Mu4}1NZ!PWd&Wf{ z0AL9!;G+4AgM}Kc2)}!v;Ue>k7r55XF-%yLHYhFwEBm!)?{m6d*ZpI)z`%(>9#mhr zpcC;!hxn2hBBu1h3j+BF?mDgzo-iz>$LG+CApr9^F3P)+h>@bpHrpxX9t4nW^NolV zP=yFDv?=o8ZytUDP@5l^;IZHpWRv#H_?G0V%iWTawr_|9MYr;bW8&>&-C7cb_5#di zi!R&Gs7k_Oi+P1Ot?~=33zY?2#e2ohB*g<1T|MFwYt=Q3)8h8FeunK|B|Qywvom+~ zJr3MdbcRvz7niCneYNDItJP3L?2JJrQu{@_-g&XA{yT&0a*ST$T_0jtAN zo*9pvZ^BL9BAbKEXC47UF{X0x&tvs;Xd)E-*r%AxB9Tp*spnn%UH7>V>4y|(1zG2g z!;|$HsL$HCv7TBym zX2l{&Io@j!BdgJvWv<08Hw-A5N*|CbgrGxR?eQYQR?Pdqsvu20nZUH|L;wpWC=5;I z^i8!yxe=yB^%$v%N$tnVq&dq~LrnD;5-D)T+#$|+fG$R3=*W6W z(DQ+`UrZtLyUrt zS%zy&x_1M;GTejiv`nTj9~{4v4lwjQdg*sdI^;Qh8G&wn-`IHOVlo%6CFK5>pX1&f z`Zau4kL|C(PDwwXb&OayfXm(HVvz8!DCS zZK;xM!v@EEKdVi5t&UBK|g1cy)t4@)sTa%Foc|6@UJUY_BFTor>Xg6!n z9m`i+9gkT_uA&dZxp0(h=&j!O#!GJH;nP4had1I3X72;+N!Lh@EEFjfiJh61mr}P2 zFJ1~gH<+ojjpmkTTGhI)J|4RcoX<7N7|%A974|ecNwqd54*gWeTSzr`Gd7t+8HGB?gEiUd%H5_WJHS(QZ*f2Jfbcyc!BRJV9BikO0uWtFWB`c1boZcmLBmb(r z7n+0E%|foGR>o)036bL#sKq-Pm)EsX65R=qETmMe?;8|{s{9c_Xs*P7OP z#^BqTh=xpm3y0=8s(Ft{6K`mEj32zC(V;|vcOHUHwdE-qtUDIsGMW~9X!z`A3#eZC z4R1Q5P$k-x^xr1#n&Qy;GTh^_gWzg=wYN_FX5ByB3a$>A zY7i_&3Yp5;8zl&(|n#T^t2k_MV+tOy)3JD#*5$8jcemE3F4UUns|2PgxmMXG%KH?* zXS&LdUdCP?-|X%_U8&$!vvup0qxa?_=%}LLJyBFBRMqQ)kt%7LCOm1VmCurmb{x4o zTeEVd8OdsLQrjK+ygMF=neQq+J_;u7IUYp1=x;CjoEWnu3rQxN!=0xeIz=80o*cce z6|PuM{Ghw~+U;fJ&1A(Qt~{-hdZ?4GY`Q+8dOW;Ya3^ePET+1u_#xYs3G(DpjW4L4 z<|khq^+-YqC25fZbn2j6u0Tm3l(xTE5_o$EIh&e-Zhk++V zT&Ykr_6cgFr4vP}uf)ysd19)eoyYj6g|hb>wM;E+Sz9M|!4~g|{9${3>_@N)hzaJ&?7}=_3A(laMuGN|D=Q(Vr zES7jF7OkYrhAYOg*U21xEF;@5-nG;)H*!KUD>qZ_t(vfu0;3jCZGziwilQtvcD78a z`}T8f(*lZtL=zI&qyA(hoE?l%Fu76%8_i4D0b+LuC7Fy)zJ7;Y?H`&GarcK!g7XmF>?!I~ZY%z=3G*WDx6}r#+ zQX~ZnKKi2#3g{lo=9XA@ygEs_F85#kG{k2@3FJN0rokpkbz%;besvkIp_qwc0)GXTNn1Zf%WC&Hdt{UIwm3yb;oJpJ>XQ&Ntwh-z( z3;Q@IWa}J2k#T@;ZJC+ax|u%Gi7s+qvk9pE#qTt^QEd6>$wT3GA#muBtvt?*(V(Do znm@_*cq@ucS}!kW+`c(dK>koTqQ9_2_RzJr2sV)Sf!tQu$=Y4EsWGqIHsht3F~2_v zC@Jk`BwD$Qf_}o*S%mWEW5jlx>4DPhd;7ieK5r~ATe$62oWD)=96bNK+fhgsfQu>* z0@7vAS65CB)IjO`J$b-!tYLYckzSK7B%BQtbfm%Ln=Z$j?#bZ<0J1R%EKrbXx?Yb~ z&7)U8`o6J>P9ct@6mA9_zt4j?eHraUqef_i181offL4vgpf;fk9v~^BtnKeVB1}f* zo8<9?1aKBI|0KE(nt^8CF^ct+lQUvOv*P31Z|3#d8cH!WFPG#&q!_j;5KC}Tyf4Dx z7qI2m#5$8?HvmN6YtHISue92+*im1nof#$1$O4ajV{t=@)o{=HKn(KDDIFtI4FUpm z`M$iFrGzR1#}!1Ek9(B*JAE=()c>uhuD4|GF=-%sS?Sv`JxFMrul=7BB(GloZ7+Hl&Z?m0Lzw!7P zNA{AaE>(Iu=@>TpfTj+J)cJ6`A0Z@$|D$JnR5o76h9Qyc8@I{UOY~e$4^MF1c@BC@ z9mCAEY8rjDx*9%v!I^w^0*j~Rj|>;{W^doalL6!nU_~ffm4xN??#Vy=_4>jy@<@1R z>PN*-g;0MOROs-S*_4eZ7G7AsB8f*Ai9ZG`u6zKIM zzy9C2NCt6G%LeeD9! zTh!r-b}9Pgd!@NA;p952?+)F&?S_;3dnXeKioc{5MNq$cSr*ns9y4)iJ7~Uj-Y@cD zX*=}hOz^!KNOD*YyYSUw=1ldA-lS>62wmxRb}90qqG@f3^p&(PIwPmO4atKzv%-;# zQ#W1Yh%A^1ENtmH98d}(=gFaf27+X;FHl9q`vl;iQcS5}0#u4Ko(-`~o$>GIYn*np zKtu<60hk4-p!5=2xQMYjhysa*ztBODL{2NaN>U3RinC|x+^UV;d4~SU#WPSPOETQS zig~)}pCgONWXc@C%fa%P5VF9PCtn|JDn+OwGbv&P`{GoKt>B|}HSyOKVjYk=(?~6e zLyNAWRgdn~>Z^f`3E?a|0)4`29CjmJ!$u?nXitIi`@2gWB5P)_ur z?psd>#b-YZTE9)SUsN0gZTmp0&BZEq5iY0{@?b7WC<&`9Y^&AbY|RnnhAOEJLb%4y z?1{>#;shklt1j{CB|4Tx(#ORx_+sbd1?vNO3Ttyv_BM?@RQA)X<6(AWc(j)!W!flR z8IxAq`EqTE088sI_J;VCnJkgHX9gzCUYT_ zm+fNUcU#veYugpkK?T#Yr&xy@ipwjAq=92LL}bn(by94KfOd2-1;VxOl|=U&6PfCr zhUVG|@r2|-Aau!t4;MZMqLFT!#HZD2OyS_osFXeemBm`^^@1{&H+G{xKXYe9yH_To zkde4XDxcp~`kp0T-DtG*)~j9>di{=CO_M;3wFsp#58K>$%GpCHYQKc3aU7>sD^q3A@&PwrHs@EmD|B&;5n4Eiho-TkUv%>&W7}r&>n%TULZy7>~3l3 z0uj1DmW(d;<-)|Otf=d6uVkE(g-PIZaS^(vUfIv=qR@^^r~(6HD3$YBom_Lh@|=*# zcAxbQElp`)McwfSv>N~tPujQF76GhG>Bd_y`eBWwp6Dfml3HDlKX+- zVuHH|%s0cw>Tez`qQ?#dLkK=^umpYB51-GyN4yVRn;sKwFKynqYtj95z}98}{?Y9; z@t1eWf!Tl(7!yq1NoCLls+R>NDc5%I(rfk%`|`FQy17KDQn_(06Ej*?8-$7hXp?Z$ z5$E^zjq*2|AgaBp(Qi0>xE!urj$148M5JQUa4{YN}EC%BbXQOzNr^(Rya>&&FQ|d zrH;nl#I(PhL@liXF(aW)9^gQH7mIHeXZzv3s6IN4)Ob&S#t2Y%#f1-!u;tl6HhdA* z2Ggn@{r(WANQDnXspBZ`czl^r00kfcoXeqEJ+JhIWeD+2emxC-gxnpXC2gNcyDP*L z0(by&e3LhDqkwD(e6vS+S(c_P>Wy_GgA#o)kN;=n`hEDg+fhtxoDV(b?0L%S%W@D2 z?N&Iu`wrZ;KfS7@&8V%ij_rON?|mJ5I|+g&%;6!ggBfasu(&?RhO(&frH-=>MS0oC zUcz*8U=TSh#q=E|#hFGOult?L4Xt``%_WcX1_3%teSn$q*kd`DBjpK>+iIg#eqqv% z6HVi!oc+ebYM=ji0&+#*Z8{-80K>dTbm5deIJ|i>aj@bf!t;z#7q;{Wv`-+;mebX- zbs6pvN`z?Qef@$2n+uuc23P=8SxiMez`4<^NppU~-T9^7@MIfOyxwch61w9PA zJk<)llCz?LX^1i`48U3u+}C@RNu0)9lw*5?>+9lGv2yxk86bsMZ4MGote2QnZ}a|V z#fNvOds8de#E;O`2@B1)fRVs$`NbLQp{<0QGq0j9r`nSvboC9Ce7CgkY)&+Rp=KfprQ)No45Q?7y0@OF!R9JkYh%512E{bPf?x!2C> z6$4X;tGp*7ognB+?Dv^Wgy(KjbE6Gg(mM4Mqa-zqNi`UK#1*dA9J2J*#6V;~>ejLR zO+7a{hd|;CIA&tLkrN=YP6wjR66H~d(P#%g$NP;}xSMzFOBw|XF`3=YsUx4}Z?Gm0 z{(GK4>^tez#TMVe-y!K=4s@R20lUP0dUKs@iIqhCslcz#3q71oIXG9==KJ^1a@Hra z)5plwT$urZ6JP7vKc*~OJBv(Qqp}w`g z*SPaOxZeFfTp|Jp@B{BWkX!O+=>Q)q8q&RrK&M>~XGI7G3<3iqIYyp!W2wwQr!OX#^ z<%+hFAYx~j<+mz5MWnh`EPOK1`@b4i*E#1Rc~UG8MP*EVve}E`aW&_6oI93}7_lJ; z>+5HLiL%xorB9(1l2;mx4xzW(l!@c!zbJ0N7%1{_NlV>_$GumV24!(`WT~6BEHfz~ zu$2{BnI0JtmQsSWAg%@5w8=5U8lUv>t^?gR^rxMD=hT>@olXpRYX1ydl!{>rtfWW` zAF$pWvGmv~_yQ}RSNL>B&M_sV{s+4pJ?&{`w~MWj|S0 zWhtFiiswOFh=nKN8)cnUK*Q^VdLScNY0tpeQ)pe42t#}oL3qwvUN!<0Av1#PH5fN0 zvSG8V4bC*eRA-cuaS8mj2_-@|y{!AFNqR}etR?X35`w@WkVbLZYCFU`zsH#+ieI1n z2yrNcPAks3nO%H`X69JSo|W{>Qbgq$7Y}S0{{|)1 z>V7tKa0FdO6L8>mh^)q)IZboVO9k#{@fI--w&Jf~VTc1Qvync;b{r;(gT*mkIO{kJ zU~949n(X=3O|*oUwkB|!T@PtgsOhf!=qY}VSvZuF-0pEQ%F3@V;3*^2YoWmoTw-wp z$^yn}Fy*;|8NZyO>|;!99ieDHq1cBk^b%UB(`r<+t#(Q5Wx!}E-o!eoj&4OtdYsb@ z_hP(M;+1(tKCoLel)@1kO4n|4lcrurP-$Jfity}EO47K9gf`O4Zgr=>Si2M)N|fj9 zjC6ubE=3SIY2$=da7@qM4DpHML=93c3Hu&}rwB^~SUrv?hM5+1MOZb$OYp*{Vh48`Fk@3z^0(?89A2 zwmqE|5-zIRomTi=nPjE=)@Xg-O~%LYAH)U#@P^eP|rz>SWl8tEkM$G5_z72vaL<-I18Ba!#~GL_t#5!Y8>dP zi6**bqL`N^rU;dW(k#6*n8`3DdSY#h_wL>Zy#mqP52quuwG#9a0+8MsX$Y>-Di070D7nFq zQ*^7=%?EIoyFt{IawyEr7x0+_;IJ?EUFW|0a2~IrAo#_S$54a!kx?JvV*o~de2*J6 z8p3)!K%+ja$M-^`j_wC8`oKjWxadCv7kLQhoD}mLEG%g6T+rbnRNhXF%ihDz=lR@p zS6Utw)qz=JAyr#&IF3V4z|JOO5($AHbO!Ap%1I?JB)rMy$UMGemMJtK&+iUVTU9H+ z2~Q|d_`8JPT9$A;F&=PqBtvxhHabOM2nCoyFLd@Fc5rdUf_@@uc`h5{l@i;eraQD z!#7q8lmOZ~LC5)CIJ|Jr9*vv?<$3+h?<|XK2YF~|< zOIH$F?YRp*%$6s|Z1)Jd27=G_r*x$?#qr6GFwH^zS+pD5@(vq4fkCf9qQ7JRQp?JJ zZ9J)`sO{awqt}f;$U6{cu=wCO@!96{*;f*!!0!e&A2y#4Z1aI_{*$mxvhuo#^e0!3 zvX9lHkJY2M_E3Npq5&VPM?W~?-B+(1^|9DqK@aGc3?xGUw&y@%h`ROxBtC$|2axyx z5>HDvs}8YApkEIpS}kW4hV6|cH7|Hgc0SHmZnjzpv`L2Cc55Y8S?oq}Gxv1@z`F0|0CvdPnurqX9!~o4=L)?Q` z7LNM%9NX{*EgbctekAyV7LMK`_}vRf_u&j)0tnVivGrnTuCDQ18Di6@de340?^q(_j8%Sswe| z`#dl*cQ+;qdb_F~S3sLfy|LBy8FiPOqx8+sDQH<)t zX^+`0AQ+~Qhx&XuuOb8!4-dbURuOud$nBPk<0Gx&+b#d)RCI5>`4|uVc`CX$lI$Vm z)6PMLWaR(uy5U_v-tsXFZxX|pd9!Y>$E2rTriY=%%6)r!7#xFdvFRa_fFNujbQhc+ zqd;;9`Q8VoM{scb(vJ#Ge=Qzk!gm8b=%Z%$oVUCA$1lQg+`jfoEc(AlVi|!)K!W`O z)_Wq#-UC;C!si<>eK!j-NJA9USN}~)h1>D+*D`kx@BD*aPJb}y{oaQ7hh%;7)2fHJ zMW>2%;vIOe<}3~I#2~M_M>?te9N6B7em#w%OtV*-;suEPuL&6cGo;PwYx|4`j_Dx3 zg9l;+gp$y}17Q*ZF>HXIcUg205`uxW-I`XC5F@WG_{ z(dB=kF2}yy<@aekzue`IJZJ25qK6P4o&N9X^!p@bZw-LQ%#fcU<@3alUvGt@(B6-! z?_C(Bkbzfx?syc$I-T>TfOevY!hdLn$p30UX?^O`v}OHLPtr}{f2LLJ_Q_@Ukx$Fs zPFH>k>wZh&r(e5%3xjYQC1G&8_qR_Sa{T1>fbEnfpZbT>?Zfjy*y+hZzi<-PZdYu# z8~areZmYNld-tImK4l#`?N<~MKm1fyN!KKQ|3J$>oAye)OhSu}i=3Z%&HEe%La2u{ z@DPNf&~rf1-9r%aCSgzvCjP9A>utgCpPwoEtGLmpALYxkyqn?wCaeArtIPlCndATc zU{H4qsvqk=0gHNEZM|brw-wj#U{N?kK+jRo6BgA64*aoZwU0d6@9>CaKkz`FLj;8Q zZpQH%2WV~%HxN3wh%KtJ=N+H=>qkALzZhCFPlDUk=f>bfBB_CJK@1*4OW%Ku?WXJ3X{ASvOVVvr{AK#Ia6xcgfe#pu16fQT%|AELq zU$}hZCXkQG{nwh@j|=d3ll!&^|J9S5gvbX^7!r%6`S8Z=W3PD;-w6Dbyolq^Uw+Gr_+yg(yC>>2#R7P z{NT!KO$c zeTamo5*|lkqIb}}*%aYFE8+i}%?=EW63n<)_QR(5G0X2}`4B7ucoL1`{(5-o7V~82 zy2nr`eLSBrV9F3XMR*MK)7--U+yVj(+~Og$#%rM;u`h*w1b-hxHOA2{`K`b6`^n9B zQS$5U*W1;QFr4b+h2Nq>Vj%f@Gy$Q+H!T;7Nm z%nM?n$Q9e%E~vy89C2yI}2Ie3&~bxFk>G;0`c+ANgW zT*{<4%W-PH4Wz^MqM!0e-#YEY)Dvsz5OlRwr*1IE6@I2%C_3YSlp6>xVk1xUy$#0# zAH^qs0j~nJJh0e>6R3=>jH|;im>1!mh8EX!hU_Ry1Ft7HlG`0N4_G^%%ZJ*xND3Ll z=9!DL-6So><-0^GXU1hwXj^_hH3;s+=_c!58e(-$NP;9b#c8EbA-p~=qkt{}P~TZI?J>UGD}nYG$D<;go0eAg z)r6~^F7xl(;$D1(Qw0?Y3K)439!A=w7`B(-h@BcHfE@bW4e=z=JVKDV+T|W*ZTUbNNhp z(dKxu7SVZ3rvSrFWaKVXAV|HOK&d%$1*|vvuFZg zj%0q_uwP0Hjv8ns<+R^D=b-)k=zknjAe&bYT-DCCj|tfp7F5=7>zLd9qyes6y7ksm z(+Cen#-H?79HT6|Xm!#sa-)0Lt~l>kdW96wg!GT+X}kc5Vz#u{iv%@+&S!RkA#LJU z9c!o-`ox!rQ?bFP-3?vE+H8yieR8s5eZ)kf>nu6JW!nv^aF$%O%)qWPGIN1#aCIj@ zEkI_2UFT;#y4qaY=)!R+Q1&!2HmbU66g<)0F-RwpP^)-_u{t1W1%}Z?a8-)k(I&Z+ zglF_pCw+NpDDx=M>p8K-Ftg7knF9>$*9)7A zLSr4wT-V*wQY*@f&2>#eGzPW%y0VpebBVdu(lbH!J@o_`3Ik8cx3)p`S$3yyNFs_5~@1Ixj1T8a@8Qq zhE|(&3}?$Duylst1-5E|Jz}CdVPz_^F-X`xWJ|i)@O+;=B+r)IVuop_x=i4J&XR)S z>tu^f43c6d6P{@cYB3PJP=ph1s`W%?ImERYz)&5lIp`v?hPzor)XBP}rxZTZBnZ74 zJHI&RHXU1saO)BAQYT6US;{TqRLK~MH44x(q+Q}hJXs`jjaL@5U%Krc)#2zk)tE+A zAym1{B!<_|Qwc3*=3I(>|~qZz~^kTZcU6_gLT5tTWcqC^NT-&S*QU?Nj}>69vG`Ep`BFL%lW3^ zS-c6uNj%Mbt_|{Ne?f#xCM=iKDzGZ)JaMsLt)u!r?YPK%!-b8ro~7AZwQ=86;(9uA z8>|)uouaRWlxv9sB@^ao(>YqSGdnk?Hc1g)0yFqRDsjBs%|WOWxB!uylyn;dYmqfs zombYY7Ehf~Nb!#8!8X)FHe}cZuw=w$r7_egyW*GadI83;l3^vqG#esXPx!SAEm5l2 zmvB+FtE$vZmC3fr`7Cz0cp!L24sGFG3v=JNR0A&Yvc4{`aJ}$B5nHf^t5_OG`HQu; z6_T@w))v8s^UXq91{>mf_N4%&XAD;`BrOgEiF0mESB^(2`yI`)AlJHVB-0MHZ;lD+ z@oY1n(>UB{+pEKiDL6|Zhb}WihsE53Y6iLR-a6wjlHlgLZt$r|Nu_ z3T=QW>RffF z;AI-ClIE=s_)K8$-hQ*qY%WN>p6!d@D`?4iRk!{OgNjv@0X54N@F|^rf zGeFFPK!{1#`hii55<(1;zP^Qs$jr!8WJYDxJ?B=HcnA}OwB>RfU(5I2zL$THfz`S3 zv2#{HOZBp~;RP_}at|6^;$N&wqFJH*hG*Wu99WhMEg-3DOep_`+Pq6;`Wf9(w5H>tkf}D$aZnC zvfj!EqZH^Zo;HgIMAcw1?=fx+4ldpCHpT*OMpQafDyQfAk2qG?xj1oh$Q zFq<_V8kc&BmA!5chgC{zs>Fj{iUx3J44LI+5}lD zk$8E}oo}S=>N2+6X?U^}kEbI=u2)vBT*8W30D-2m&4}ozB&D$oW44Vfs4_M026u$8 zL;8>oq$ee!C9tj5fgM4^F^8B{0W96VCQLDC33P2~Lf?j^ zY;0KIZqTW9A!G_HmjN$ZlOb7A+Y?DAR7qfD2p!l1vRn(b@ACn;xQH-kt{Z}iB?h}0 z38_N}9AL8KC9kGtpqIqKUtOewyca?R(HUz+2{yxEC%pSZQ>dzKSCkqa3pF?}OUi61 z*)$wdKSIHIsX1j%wZ{S>;@rklG-&`NIT+{~1Gh>i#m5D5+92cIV2_stv_(+3f$XkY z*8zpfTq+GLC?OtF6ePr<29X*1c5k@Ma?>>z4X8F(7{V5A#QFv1(yq|R+$Ec5?7-E+ zC1E9Eq$9Tn{MwN+zDK3opaemU+ktSS#RqxEoe-&pL#9F0Ve8$N2&h$x^=_ltwMF-8 zlxP67y&Fu{GDEu+m?9x{0wsH=bg#FizgU0{3(c!oTd3|s>#G7r#6~Z zf$mmy)85Chq)a{cjOK`wT6cq#c+{{ka0=)^S-~kRb_h(=S!|>GTN6?Cj2EJ_J(A1q zu!%f$fkY%YTq9YEiF6Zm9w!MkX+)X>UZlIhW$Bcwc6SvnRFExqrKFgH9RR)6EH)gS za7l1*C8>+Rj55J#Ir2_5^QrIe2D^iXmBX|=S!Tbdn)y_B{BH1PtIanDJ5@PLP^4aJ&3U4!Wcq{XEonCRf zyJp;r%-bVJ5K2Du1mQpM1kEm;yL0BVBj8`Rgr#GF8j7JU$}>_x^Z-mgxHPOQNzksHfEmb|#RUKeAV5Ms1ZR=&1X z;kF6At!2*!S3RP~9@H6dY@D}{U1{`IP|>AZ+|$bp>;<2HNQ> zQ?U(PEG%G?F<5P!oEv$bht38$*7y;3;v@UTHnDfQvXmNaSbMX=F1nu0H`0O6%VR<6i6;lqib(*s&ULFuB*ph?H5aso zw?z=bq1$*_IR!9Wn%k3JjGi08RgIL3@eFQ_%qJF`83q7>^rFqeyRkW>81!>bwUm=; z%lCaa%!%nd0GUqY@{JGYZt&HS^Wwu%=qqPtJ-`y@Wlhv!xWjf3vKY(&M|ZkqU6F*Y zIV8-34oqBziSX#QHqj^&CBb>kOf^*F?E1@EI|zCO8EmT+BC3s~DC7P9M9Z;Lhe)af zD^{b2A*1Rode--DoUb>kA_cPFGsif*994IoWZCVlXLfB}9j@FZ_K~Pt@_iA7wg3`f zMO?$t*A(2x6Iv%pzB3zC|H_B6yZdlf+!noYiTN(4iCL((CBW>%DSL|yssM0k54uu4LS_ZD5b4JnSyAQ-$YLIV}7XdaX0v$(8sT6e9TkWH!$iNxRq+t2>F@D$J*Gq1ABu}iU&vIG8VJoDV}eY z9NKu2pj6DIgt%xEmbVTsSLf43z&F4OATmfX3NWFpOS;JqJnq1q%dup^-Cz>lxE^~X z7H8lz5A4h^B%vDAX2r2)GFDu8KB+gRfIl|fu6G-&Lo!I&) zP8%l+uLzM_VL@WgeVBLnZ7yn-CT7Q?bvoAlRaBO_v0@09yaBi_fd#q1!8C??&8p#= z14Px#j1nY0kSM{sqKFhpAtHlwJ3XY(pp#8Dt?W5jSva)l8{a~wl?Ix#B3-1Q659eW)1lM#I!On0@R;5tY8J>@774_P$2D6ixPu^^dxO{Y zrYz3t?&^t|*@VflKLFZsUSAi!TvRw1#jUnTiLfQqBX#3Y;^4;0G64zrQcI?YU|9-= z0S@nOh!3hDCti$lc+;=%th^r1h2I}cXd+Y}3r-*Nl%04?6~Rz{H~21KJ$!cG9_l1) z&Qq7Id%mid#T-kWP97WlmIi)jk5mdGH({ldsKOabGy_QBh{d@GrpE3h~6PbZ`)YKm^yeYfr z0mCDIh2c##@b3)oUIG7AY#k+GtbiY5b8tOS05rgOwwB-+luR2C~m5x?E} zHGEZUCcg;Av6pNjYC+BQF$JjfwlI7zba(hQWN%&3jKOjlLfat62!(RT$ejl^iiTTq z7_K^xQJ}FMV>ba;*5ITr1j;#`cPZC^`()@OdF?g;&@kj~i$3<6y!7GAqh&17yd9|N z1e<8q4_qhjc}?yHA9^}sIQ8RczGaO^u9Mr*Kk}NqZ}1z}$^F&aqxtMLLG^=wW1yeq zQNN9WeC4QJ=@HqFQ;+C(_W6BaLEe3dRtPWYfnP@#z6mVA)2nQp`|>MZ_lCp$JNeuT zmH2g`k>5ZW9_P_gzd{-AIvBH8Xi~xW>=lAB{4-}DiC@-Lf3k)rYk0DTzYJ?=E_DTJ z_AhvaFb~K8+ewb6(7KeCXS-!%9`qpl+AAbClz;}PJa}F__Uswq>!IfA6NN!osjlFK z?=0y^W>+eUH;u}qL%bkQQbvQ4kWKLx)-$wAU5w=BZg8V|UBdOAA)C3`<@=*TD+e2? zD9+)T0j0asX1#)&y~b@C>sZEd#`nTd2l5KEd<{MyBE{u1+gX6udA3oO83b(Ou!V#D zCLFZ3@7nzyopPsa64pQw(umHI|K<|x7y8JD3xEp-)c>PZ1Fh9%h z_*#C2IlN2`9}BvCggM*|PW0h@=D_Ziz$4GMmVAUc+zo!4m+*)=f!=KwD^m{~< z-eDTwCTUFKKHt-f$zSo4I1@s^cSbR(`MeN{yNJ&#p}0%&yvf_Rt7iPi%k^j8#xrl@ znYZzm&)e|VOBW}n=6!%h_yem=G=fxt45Zz=!9l13=bSX_Ox*G&nIGvPCt{975cO&| z&B+A;iZd-^B+ukXUc9|k@g`xnD%(rhnUkjwE-1MfN4eVXNxU z8)!CeLgxh7q5;+B&Wv~E@uDIFmsfG!=!{O7PL#5JSA>ThK3(e=?AHehaofUaY{N|o_>_ocsKZw)W)AZ$8QYYUoGt)rZ#?+)p%7$H!;oW zGv##2dB>pt#aZxh06!)@-wv_6!3R;M9zcAfa&cr-THw_+#@`NzgxDW zKU%fVc={PjCmpE|FV3g$k6zm|f9dI^wLe>>19H+=_g+{XKDbIJIO+2${Sp8)z#rY? zLG+<(BOb>D-WD)zW}1sg1V@K0(VYl1StNxpJlt04ipk8; z)QDLSY7C$o(v5l9)K`TjFf59iqPp>T!bVVt2Xu5osxQhh;RBsV1&(>u#eY#wF=CR$BNQ|B`!wUeaR{m@c0J z`_S5LDvN6e&Ak-qNIf_m7sD3fxHmo2E{Ff9?@TdB)FuffGM z?bFqRmHOO=)5&e6Zn&qVW?lpeQo$W1CgjCgDwYd`l6#VTw?B7Vs#Nt-7Ihum!`dNm zywl#by}=|^s_j&yoHwknShL#D7_u=>g5t4JATGyr-w?@8D9(-nX=e@Z6_p+K9f>gT znL64DzR4#%rDpX87Vj)=%DRBzs2Qt;MhpL+|tjJBZ>W(1u;2(hKQK?&&?Q38`# z@7C9xKV6&pI4qXePB)!=p+e|xtL}#eWsM-$K`0ZvyFqKkx2vWw*It0!2_L z37vbN<@5{)@>P|N`(qjo%szy#Jtq8YtLwK@*uB%|$>jEQ)QieT*F!Wt6+cg3{)kg^MGe*E{&q6Z0;jASV-;$4O(`>|NxXn2q5O zEs5@W=3L9wQ0s23VF+d?U3(c@;V_z9Hx+;$<(`r6~bt({Wedo4Z;LG7| z5Yl;L9eFSyMD|J?PWsNJhqYt}z(4NJhCj ziLZS+_u)e{d^{(9f4t4%xEp*;jB$LNxN*Ao{)vzAa{FxB8^~`2e*S zPt<;*_7k{{wP8gvF^%w54y7-&Ico$7s!OF zTS$I!+t&s1mCUNTUr{SbAzYw4o_9KTra2~dVR$@VH~`#TOG#YNu-V# z^NP&J5Pt1|XA~$#y;7-67Z6k#Iv|eYrYKoJzclGFMbpU3Z%s?2I3?_{tvMnCEDxa7 z3V-d>Cu)BHwOQg?yWw8}wHFUj8~p{;zB{5{aht%OtL-OlKXLns+rJ67&5$I)=!2{6 z*ZBD8fg`AJXx|8--w6&Z%r~VjPq$7b60xiH-01>%q0%-3nDD-tWQ+YGYsz85ZQ%vC zS6uc5wEk8AL!p*$W|n2$$fh zA;ZdQQM9LQZLQEf_=4MjabXvW6r+JnKKZGixcx!g<^<3%(Er}J4Zehv-^*abA0jsP zYug&B8L<}#M!f(w1}&(?D`?{o`OIH?=C3{T*Pi)nibhlUFXgY@@mb z>?k55?7BpxsyRu$Y^MCRtyh9=+mCKG=dX$N<(|LR-t*Tsn*Sw#%>l%YjJ7NTnEEDg zt%x%cXV)`3Y9^s`{u=mR{+d7MuT|gXuh}xMH>XvA*#fT~v7-{9*!<|RheZtb3j_gB zbW03!*mmK5kD9AWKkBP<>OnMzpL7t=i6o#s!v+gt%3t%0Hzhxx`D^cn$mzqlM5Jf_ z+DA6>O;wni8;!U%;?sZW7Q@%v{M(m&GNw(B-KS(oCT-UL^{Hu-I7#z;62Dygk54xm z@F|$8ao30ar|Hdy^!5F5lGL|%wn>!?!L8ZBKK|67lC-a;O5SfYNt&d+U8-+HBKg$y z`&*a%@86M}Hx;+PbEvP%?Gq14)KAN4Pny>+E)E=ftpjlv`TJZ4Vu6sq%9!drj;p)x z<4KyHr0GeT{`{oLJ>bs%<68wSV}ndv1vgU)K`L#oOpW;6p_PJlaN*IqrD(JvLK&ay zu;%1mJ(VR4rh#r7GjCQR=C56? z0heUC$8Ut``-K1JR>6lkg+bA{$-iQ&;HxWxLgGp7dk5VWcCLU5Kgu?JAg?dt`X)1bBsJ}af@|Vc| zOpG6|wqT7ddwW)6mcp`P#jI?|;f{5=HXV`6LXd)_b9dU-b9_VY8ayF1(_0crx^R#t zlW%kBxp5=D6eVtVJ&yg#iN_vUi0pZ}l92wS$}4txt)voN3|S~3>K1I$RG7s_SXMmw z)!IyWP_*0QNs{zF6o!0U!Y7}iMP#+MbSf7j-jIX!MsFg)GNBctyO45eaIb=eu}M}d zugc@Q!DSDXConC5Y~3xYV}k`us6sr359bsVjiK}9?Q4O`^77-_lye{c0o3W06JCj2EV6HJ0nQNd%3X>Qm0qeG*4geP^X>wLF)8+m4Jd6BR>5nia^x= zdyh*^W+q?%Cd}!TtM6s<)>4PnlBOH}fFuzgCrJnaz2jygo*e1Pk?1E!dU7P%R`F0L zKj$y}oFiS4`%V>L36ANQ=}3*2%N`bVscNzgfmfyr7>ll)H;a~w)Y=Ltf?fb|^sy8L zKu4|)1=BYa4i`)+2aKfPQP@^)WE^lqMOc#Nw+EEh*gYYQh)*R>mK|brR-@Qo&B(mK z7HgbXeq&~_t_|Fx1gDtRX~{kAcb-o^3c_nsvN) znI{Jo%m6)glh_MucNJ89WNqvNxaoO>Wtq)#01E>Qd`Hz)oMJtSR`X}@9ZyuN4{bX#6M?b6kzkjT&bMdff+~ffLSw=iT;B!$~1gE~{ z@z`e`PeH$&VE5$lPagl|@qZ;AZ-5feYQGXL9$nBxbGBO?;e+fs%1TN}VcYWQ20@nR zIqt_VR^E22A3-C~CBvM<#jBEZbNwY;EHlRVC0tCZ`a;B}9p`ls*`p%%>&)nTaA~wMq07hPfEc^zJdkYhfsIIJW8{d0{zmsyCzJiz&6UVcyF)!iby#YPL z#UBb6(;!*kr@v3Qm_!H)!~Rv|cPc8^_WSO}cK%rM@wk*6^>gw;!sP5j#1{B#F}b(o zW3hmrGI(`VsPRokjt3dyX&x*ijiB9_q-HjeK1Mm1PMi zs9QYMZvDGKm+EXct8RD9LW}Xp&$30^ZAEcG6o^cWVa`>Ew(Lp`a32eq*t^|xQ@$6d zJ-~&%r;8=xoi)BG?grZqaSGI2WVTt(u2^{qxT(qzf~`HewH7@`Wbbo44NKe zY0|}gq?bEo)IEBZKUP_8di9OL@-t6(6#|@F_@m8t8o4{@!+pFz+I%-1_0)!!;Wium z;pRJgYKr{L=DWYEBT>Blp#P;#0nktCjXLzf?hz6B6a1d0JseW5oqTWemd0Hh)Yc?e z^b%v9fA1r*_0EU6{XIhb+o;%~-^XA0*mRb}pT6Q{4@(lxgYAd)2N4*9zvwVSB=)=a z3j}R6*8+wi3PIB+DSMK#Cn@`DkTQ~yxAt%G2$^@Sp?TNk>=A0<#*y6vmbrlsI`~kZ zlLVU!YlIc<$~vNh1lHUbS+wo_aND|aliAcNrhKPh!)?w=7JdrbY)$S>@Wz=K($quW z&3%3eDx>QIiBn~B`M?!O@2Ma*b90?}ILodMR$uChr?2;rO`X;9# zLRIZ+TMfcx*6~cSCi>tq3=MM0=5ZKNXAoO@{gn#ElrMbzDuANw2E|H8SW7mS2ABRK{vcRyfve~JR zWNJNS1D{a-gz~>Kly`cZlE1Bh!W$^(y+c#0R#OFM)8W|~X{?sV5M%aU^wmBZ*s}~9 zUaDiNiCyU{dR-QQ+qIG9r^+c(fELmiQOsh^t#$+4Bi?OEXDOF+cQ`9yX6;sWNnV#T zPb=`&KE~u@=%l-6A>l9&lg#dEe3KC7Tg}U>!VSP7TS4N`P2xIEAoM+ z7v@+oXH>@LfxSEGixeajCj+m0O2qMkLS-}^YfQH`7}yas%r(mp$N;eG9DfwGWoLm0 zCK@F1SwP`K0zeQ9gX6!VfWm(_>A)%Y@^t}$->)6`)8+re!iiI`=EsZyp%&OnSO&d~ z!>@b-)Mt$!Vp1J``UIXt;z=Z)MB@9_acW!+B=`G#0;W~BwrzEYu!5=d>KkG-Cw1r- zN-cXrND)%W*0@-wwcxr)9@vg?EfSZHF1275In*BoWpvUCOg;Tf1Cr34)a{C8(7oSs z(V$#jlC#A$-vIm7VJ#`63Nwso%bvB`tM%@R9}`3>(d2rq840Q!YjwV{2-Un?35D17 zY;=$L`2fQ=;((I=*^Fj`MwBKJO5~t@7SAD)oGxGiHTrok5Ddc|vH`sP(7xoO>z*`D z6=<@HbSfG6K>6ox@Q(`8{9wP?uLWtQ_{@6-eJ{&d3@0=;H>5}!2-U>rk;uQEMf``{E6XD z4F4-&IMggO{3{F(rt7~g)3b5TTIjF6svPO1{MffW>*=}Tdtd#2~= zVWwxI=i~+;r~4nEf^Xj82C?=>G_3(Odrbcm+I*M@Ih6DK~&CXbaiXN zKIoD!wqDvWWjB28DH=t16#v{)^G>Dz&)&B#Ic_6sz6!&?#vSc0@hWLHtO#B0n$zyC zsV>Lajfsg0mV~OJOCn{Gs&=0fj+l2ie|BGQo@5CSln4sE=~4u!{Ne64Ns)=Xe3?ij z66#1dEQ@d?9DE7w&FNgECIoMRx5)aIeG5@_ z&inPLWesP%_tQK3KhdmC4WHCqU}js|ZBz@4UIu@2h&ZtM`~ft*QI!_@29pAgmNJ^liu6^N#Ujgoih_Z$Cvd zujiOrce9G0be6Bn z1Lc4J@)1W-?Hf4O)UBc>Bj1G{B+f__Vy6n}Ry?g^Nu=lZ*PrgDx8v!}9pQ`f7#r;~ za)}izoXBdz`7;Wlcq|IN=4c&aZaIO1T>D{(7UfJaOtUxbZJ81WgWaj#Glx7*v5&`` ziZA7Iih2jNCX>`I%cQS+o6qyNn8(gD{&}W}6W1%Le6K{J(G(an%sG;xT-^IewY7S>t(0`53ofEgNGjf!Rpy_qlNxXW;ZwYT$cQP_2`mgmy`s$eV=H`PIf=eu-Z} zuI{F$4_-(iDyM(LPssD192>uXrz)w7v|mH&3hvX8{4aTPmHrG7^)?yb?jyh1Km6^6 zayi>>jmum)Mv-gXcabws{8;4PUY$i`jzy+!7~N=&z*jWMd4U6)yrIiE&OsEXJ$s9w zNT40n8jg0pwM_yoRAkFE&D12gRf_B>-Ws`A^Q9M{RMfgnjI~}LFbe|gi{D3od24c1 ziywJz<>&uo&Ssf=8yu(x%FQoh@=*9p9t-`5rGfJ0?{{~t*P+3CJh#~f?8*!BU9?OG z^U>|Ow_M`2=7@Pe&U2bA_p-?q70zzj zCeH9{It~4Z>~Is^e9!t^61=`wzCI%#Ap4K|n#i@A=G3C7Gc3D1r>P zI5nbb){t&bk|I?5xo9+#j@p^T8GSiMQ@Hppoox0B1Z0*?4*CRPV zH$fCzED-B;u6S!zMOm}tV!B+Cc^uZN@&$ysO^G~0%`ya6rm$2^X84e7<;i(P`R+#~ zdZ}sQECP|Oh;mviRES(pm;Ip~k zlURjBMI!rpWnyOph1X}{q2jx=ng;48)knf!Pv3}Ej-7*HMta2afx#;CJf)-Gl+ zeYl9h)fy7;*(-5GH5_;P6H6kLxg`s}kvk>eN>*zAT5gU^MpFZq1DdYgM-PWn72>F=ZW$x4t_%&W*JX8O)HSSLyk#EZs8i@vwT>}zC|#mMjTMH!6a)H9=PHAr~NTkrLM$CVxbq*U0^1 zyFv9KG5S~A#H?OtYIYkWIkp(Zdqwe9N8-c47rOH?44Nm<4bjP9|Ew;NQN$>o43eaARjGm z>?btxk^Mq`%|>CDog7Ve|3BOAqRIgm8S9MWg8WJmFj?{DO#PlZ9UT`)f85NSg{?$h zD)5%5`oPkzpeXOzG;Orw9H~9X^S?qd^GqmqHiC1o=?5iuN3BTg=2M^TSGYHuZCXjH zRgggZ1@YHO;tvMl6GUA{%CJJ=#m8LrKip)Vb%!K zj}yzJ4})cbWfof|Zi08=W{FwAp0-lOD8c@uw7<6rexrY^ksms!ejkX2hf!)Vh;;g< zqbs)>BQk~2?hNhp8RyKM_>A-T5?Bp*t;6?C=p$3rBr0bf;6rUM&;b|8uvTrQpfZ$R zNG|%iUpNAY4~P$lf8@Z(3FZL#azj2(h|)`G5AVqdKy8v+PAv~wMn5~WghvE*w3kaI z`p=t_6PKcac^iLTWro(BXcJvcymH!KvvgTJoquZs}FG_}q|riRuBmaB?D`jhW% z3J)!jPZ;FLsS6CA=n1zw4^3oSd{U7*GR=P6P+XFrYEQUapGCDcxy1AYP2ZtCLANRn zKI?GtwBBdkKcVoR2bg8(lGaSwEUq@-WOf)Y&>!XI$~_>7&f1fU#RnwOOJKub!{s)- zLZR=>*{M(aV}znOpr`3(N2cUTgg@Ewv`s$M#&f>)>Q$b?2vwbl!e_6r&rvPae(Pm( z>?`N?a=uyGQ!4K(g2Sj7)h}8^Yd36`&q#39@ zfVD3KAu+40ys;d_GRu>64{pC>%*dJR6_71emJG;txOuc6+42kuE0H=ijh)z~1O!e>{ena!HN?w+YF3Lg<_D;MY8DAoAhLD3RF9^&WOzuHbn)<}1rty)<~eqAbiCqA6Fqv`6T7T{h0 zYDxr(KarZ|R}@J!(l*6=R7ht03MV?QiqzaPy4_Bkx0D3_IdcMesL#rxO^*3MXDrPC zbDYSE)UgB=mO#%9$=n!N-QI&3xScUDhW^6j+i;?p)2b!8A`GwgsxFutm>Zbe;pSFv zNfN9LtW6kelW}FKXgs5dWmqzer`9rA73hc)#uOrwi-0G9C&%MSs|-)}elCTuE}b-R z_CsEQ)Xm#)ahx9OoLow`7H94d$nI&~z7en7! z(ztB6lBrJBj&7+ut7PxQIlcH2SS48HMaM5`1JW#0)vH!hiZGf0Wl>ThCA(iZ5iErB z=i*GIVQJHN?Ln?E^8($My;xw7e?h*BmP#VtHc2;U@LZW!@zF7gc1EVjZ}!4*-1K2| zy<>1@ZO}D3v27a@+qP}nwl%SnJGMQs?POxxw#}30J>OSv)u}qwwXgkW|Jk^D_3G}u z`p(Q@0|EvGmz@-UON!Fsu#4Ei{gT_7D3N+(7tPMcGAy92`|lF4DRh9rX4Mri+4u?O zYzJ?{h<;Oa39DHc9C5%q+MhpvFNbB+R4cdt`iJjiHwXpZLHVlMbtPXO#gV@o94Z#m zKBeIP3os3N&LG)-_927x^lRScI0YbOi4xmls20a{`yD7TF5SWkM+7XwXraZG4E zu+pqkiv_dMgwV!4zN?alb|LfdBG|W_%xgh|rGyMOz7~2?9vJ~9-xfX7 z^GGp@M6nm1b(2l--$RPysLtDt-UCV6%qj=$240fF8&zDAmv)OHasSk0DJ~6~n^atE8`2-zm(w-TZBnl;^J4 z1;imDCaGxR!JM%?4#dqG=Oa#>aWk5 zZ*?Np&!dSSVFG?ikA6vb5plkV<5h=gM?hvE@*0BlN7efYkL^u_K~Ck4&Ve`B>izMh zbQU2Vjhzm~-0!=i=dppg%pTNS`PFk+aR@e29tkmIS;HA>C*dJYAA^&wJu)3Hl1a?; zv?3e3kS<{-YTeEHi4{7F?)|(bU>V3mg+2+p=2K8urXeCx{p`p6Ja*hp4!V{)o#Lhp z^3^^viP~2g(M^+S z!zv}cMDZd2)bsTs^D=OEtoSZxx%&o!QHB1#%j4V0%j4C@kyG2*sZMg>#hr8nj^)fQig zJ92H1e-&9y)jWxR_BCGJzO+5D5KTI<9K86NOw4kC)Y8nD=qOLNka4%^#wPrTvRwf! z?nhZ!%s4+EQe(zTX~rsnemhuc?o~{?^4cv)G}$DE%dWJN8#26IXv+X3UP%iQheeai zpM+z!1SQ4#$@Z-@X`lDkdj*IQTwpxL{CYe<85Kk;!YV%o{Fi#$uMC%1ouI02wv0P@ zWAm#lWs-VF#`G}taGT5`T>-N(>{YRb0}CcyqWTM271iTVvWx77_u@jvNP%fVLg%&B zzLYeSoy}$CP-;wI+(rr8GqTZI@rv3sHFk*toaE2&0;+YZy zhs23>Cm@`ISHQ~u_b!HHpkng-Wn)1J_{|_K&GR%bLWDYCiVc8B_fqUk4gd4r*|Q{3 zEkBA%-NhV-tnfjdx#Z`jRnoFp{=owslAIqL2(WOFDp3~|3ek`U0p*b0aQ%BYg~aR4 z@U7riVWp-cu6m)vg-Cb_YvitA6Ghfnf2j~~0y7QbKZO-}Vg zE{ga~k;9+uI4p)iTsb)>@L^B)1qOZ8-7pL$cf1_5Fmj+4s#AS6NrCmm0C-5FSRL8- zMk5byS^;Q5f{3eHVU@b6z&UenTl1?o!@^1g zmbx$ZaPN4_W2#H>9?%{^rA3?9e?2NZ+%KHY?e1tVA{>^HZp}*E8Z~$c_-( zU}KkjPJ390(iojt5vmy`VHzbndsb$lA`Sgzid}a2k=LOK6r%Wq~J~QU~O9|cVO!Ghu<0;L}*UT?5 znxt+;ot~WIjYqySr`m)XHpb#=s_ajiSC(5TEpdWkb^UXYRv@-LGGa{jT}-R*+K*iv z)#)>73EwY?_>O!75uFqg~BuZOO1E{_p?v4MCNv+98yW3sxpoBjo?3^R&jlt|-8hIO{@VqaO5yca$rlx`Xpi>j z^a78#h0VE5CRji#W&Ew_L)P`m8s|(eA3k?09+e_YAKN{cv@MgYO`_K6)l}(4_Ko#fWcQi1b-?Ubcu-^vb@2Yw1r5GMZx$ zYc#hDfQx|C^-E0-S11XRn7g#ZBc$9S*Am06pWG}!#zB?I*w}mc=IMhWxFH{j{@O7* z;N(2&MK33m6IOYPx+bSVVapKSM}IL)&EKEPU;9&orW%1N%|!K9uv9hxcksd}H30(% zpG22tovG`faPbsRv^ux!t2{ENU^F9c_vkq!3MXtG;@Ne0Ce0%Cu3aS{m%pZ zKI1A!bMqg<44hy+IFB4S)xr@`qo=7%vI%C;WU>iPl{x9s0w%J8dGd+#Zo*7Riq{>N zAkSs5a!kgMNyN-hJGr*8(Jjx8MVyqp`kfGAvMv`c(_mP}k?6#!ZPV?8R87c~j=!d0 z?{8pj>)2B2io$a9*hQo|^i1S;ylztJAhjyvs=&lh*`^-v#yKU=+pqg{ofqk zGQ;N#iujqgTx1FNXC_!R1Fdbjw_HMBH`}sNeTek;Wp5^QZ(jDFmv9K zwBU*NV@yD<(roY_M^e-W@o)sssTK9Rsne@yLz36CEllnT#)ej`YRBmra$U3NeLwg9 zx3H?ntVa$*^q67YuI;!8PJXnsKK6C^K<6=U3WbYTpN2J>OGN!R72bLG75yOyKF%wj zw!S<0O?h~>2@qYL(f`uDmH7Pr-OfqfeB3W(RO`?8(~PzfRNQ_kw7uP|^o8*=|C3C& zr`+b@+Z*V0SaT7--O&EKr%ZcHPZ=%W`tTp6Lx(RRlJloDs^**b&bGOET_RP>Y-VtA zXPG>^$dVJTijfCI35Migb3G%KxAt?@2}r9rnU%6FF8rHPhZ_10vp3l^IOTb910{T? z@M0oi{Q1DJbKUOPCZ3l@(Q=x+DU8_08(!yNpvSYpmPR(~QUz~kC)C87LfhkwF@2*1 zfxMAyw4pq9AWd)*2gM~zWa;0!T5fN54?@z)D!nK=_ywaK#pj{zuj2E4e-elm4vMfT zuzDVv@ZDSqKEw{sB&(~lpye~ga~9enjI~wWdvY{fC7i3t?@S967|IQB==287juMn8 z@`qb;nKh1v966x20~^W5g`?z!ki*U-wA-zuAUm|F7Wl>}e#l@eJ}t-li9Uj$N_HRg zN*cWrg*iU<4e&|-lNlssiPV?)Lvp7K>*R*1XKlyqLFfLH z1{}8`4RH*r%15bxq0ZD6)t%fq$aJV4od7u2+wP#PR3ZCZ+i-X@ifq~Nwm!YMyT0SjIxp?B=@0P6o|4gKH5H z8~Ai8I5odA{e z{m_%&&K~qHU^g()%>nux9s0GfK%YW(u5>RUPj6u3zj}W80euAh@-uw8y+=G26)~=c z_uCEn08Z_mDl(ohnn9nkA*N6x^^$6j=X!5_xKMy1)^8Hw7a_^u2I6}l!qz(A@55pz zLU$P6iDs;j;rr%#3upI<8rB8rWb`n;88*KkhOxi@wT0Q~2-9_Y^1UJ3GkTr~<}ys) z+NMlSB6**DK+4RmU~{;u9bVAmyZr?Yxe*+!1i4XLkX5xUG_Y^LhNjBFqaM8z&Y~SK z$sIr{P9ljG3SvJ!qOEZBBrn5+Q)nQMszGLx6cnRWt0)CZ1fJiM-qQLAVv}qoLKqZA zDuZ89d_&{Z5$|S>y|%x9bFvB>0t?<%j5tp*{6;$C4*wP$6j@2#&Lv$1-XBYTK>=Ffs9Cw^dRiJXuNq6^@-2}w!!rGDQOAey`Yec=ud$S{jg9_QIB;lT5%YpR_ zMh0v2k8*hQU8*3lhExN5JtbTSGIb4&PH-7GJd@B4d5UR2W*m{@A0me;08K;=kyG$s zp?wsJOGeG4^hQ?n zAHCHcL=S^JdC<2qh~Z1|2)(7JzIbh*5gP0eVk8j0*46xj7lRQvq4n%Sfje~4LdoT` zGlATTUn$RGK}gLsc7s`7___XKq&uAKI6E77iLL2Tp&EcTkV*8Jx832-_PKJqJ>|4#7=l|GPtD5!3zAFL(T=+79ao z5>qc?7kFn?7C$lhU$?E#TLnNXf6MZQg)ntR#Q6>gu(9 z@^t?k9bX(>UEhcICSKo%b}yDpA1|--DzA!)+c4;gXf?O!3v5Oq7n2Wq;$+aPlqQhF z^MV!~Fy5za5`DK7caK>5eSYMxockke~R2RsuI0)m`uOw|JnY|Ba*OnR5-mvjBzI6hCG z?rYeQn$L*$(02wrZ~FA;x@tmTv#^a9ZL$Ij4%M8PP&te_%6FHnmM8mrMJ5dx(ed!%9rwFxInL<4+8C7K$;pN ziRTUr#svIpXVE{1*XFS$(DO>Ke4+z6>)=qGEupC%+H-z($yGBG1M7n@cxZ#kQpNQk zS8I*?{9&w`SDL&`2$y>fifd|@`(Fy}qs2K|5v}>Nm$59wPvmg-N#nJwOddwjeAhl= zTwfb0YkSdz{_^Dl4~I@#a~B~2W?2VxJnB%n2|~1-%B5;ottS?V(x-P$NAMhU<#?$U z3ErQJd7;1gR_EmBv$osc-eCA-0q{}W0u%Xzjhw`cvd&ek-MO!W(lmQ;H>8zxi1xZB z1$mZM5YuiB@?3Kg8ZVM3;KvAqxKglcxNCcMJzbm2GUnAeLbQ!|8Pyc$%uYnd+Dr`fAD@bYoPPztsQ$TrzP%aT*(43MSvCj)RuIqArN>9 znIM#zX`j~8Tbf)iEy(s!H2aLq$2Tr=$T@xTV{U{vgSpVI#&i0(#` zz)V<{vM&ug)Y_QBqAT%FY1HsEOl(!r2P4$w#^dDFacD;8AGKmIy-dsu4OVm=@$_rM zDtHJ%kCy-mWh^fy-_1|fgs>U}iLk&toJ~*{RZwKuxxQ;772)!EL*V+Q4`BQoJCKsV zNT07Y*3i0l93qK4D*n>btFo+*J>%oUc6BMd-Afj1X1AP|`O9W+&RMQCf2x5>hIW-@ zZ84xBCZpJ^Smq&=#*q8q&vBL90`=X-{)?!5lNKj{o$EGw;rY@Ywp<+zc($GlC|vF^ zO3vB!;KpjO5&SV!%iki<@hCXb*}fqa3%P3xgg9&|m~j!8X2ro5qQibg2LeW#yY#LY z3g%FE&Co_}hlU0~&PBdVbcea!B`uX48Lt@M>2y^Q!@)AvNleTH0oGEuF}hE%K_lX& zLZY1Mnz7B)t=?Y7vwmfyX^0k9A?x&eGbgnTq`PaPCCbFJ7z|UE+J?!V-g$!QVPcTm z8#)_jlaDYl=$G$h5dt+4v+3|ydDX>EaWggLcwvygMS_2Tt@$z5aEFSp`>ihMu>sC) z_{IoliLD>!R3Ccc{Vp!U$0Q!i#cCigxBW@Pn+BP`Y7Tsop4k!CbFX zT<18iX(g|aVkUoTfGop^vV@Cj?W;ykr)Wzh^&vs*`}F4*!h}cbR|EgqNl6`^>X>T1 zdw6A0>Zo+DYKblxKU?{H><^|OhO*e|vtKygp{-Q}T=Z4%7z{Mvke65m?&t^uE%Vcz z>j?K2MQNA@QzhMNrtj0u5X?|w|F;*IP~=i$;|+M1s0ADZ9NIbr!<%OH7}Bb@;R+0c zoMR<7xG5A3&=9MagW~IitE;H5VY1|^cFSJJs054sHm1BC-fW%T+Rhv@WS@2dVR&n! zGcOF=f3L&Vs7|TC>ub3Jcwdy#1lV~3Q|#S`Hb|1Ocft?kSd|#j+j4eAawEOoJPtRP ze%;Xmy{h3~iy?nu_}Am4>E^6DdUEHuRN=d~{Q7}RYO?=jM!@4T*DR^6r_|J<@88FTJ0xX?s? z)a2e}=h4H)OnuP*ZpjY+xb5fGrJxU$6X5tm}WT-H?bz zDeGr51*9x#3Xb^%gKSD`Eh8xqctGvJ7H4;JW=~?5Hr~t-GFnX7^Fcr0$>oAtD_g2P z4dX4^blZAcr&Kas6xZp`tMsUMbB!0@1)%1d9M1^VQD>DT=2jROYlZ8yWsUF@=h|ri z8T^9`PsqhQo3$~;n=D1WPN-rWq=s>np1kOGq$``4K?S8*uHiP|D;6a31Q(= z&Szp#HH`j($@ zEB0Xqk>t(cG9TQR^S(rn0cnYNy9Pvu{dP>WK0@>q_78m!R(3+kPjI)PMFF2z-;o%9 zJwH5sYbLHNrLXRA0#q_llBI;pj%D5L_`Q@gVswS-FAvasZ$z)%ni-s{rFf9Q6>#ag z{r_!$0eiPG-89D;0h8$btIt7ImR*FJxXB@45h$6(V~d3#cV3Ry1VMNB;wd@srbutA zIiFOX!eR@2e=@?lsV(`hE_{F|?jA)XnERL_V|;v*m=5(j7WP_X>849|HL=1YE8R9Q z?djQ-T?WyHB|aXLh?RRa4r$%0%mbk(|204AH=?jGEUheT46|s>XjhARl=u5H8Qk#I zEzPT+9epao(?_vg{A>;(_in&Sj=aRsnh=#KQ8iM@DXkLqg>C;MIq5lTK!Yr#Bzjgd z@Xt6&b4BpP`T_%Ma-#@tZZ0sI(Ex)6Ld1C{qu@s7lD#STAdi80w%T&^eu49IfC#nD z)>1`p?h}hOuDh>v%6Cujb_(U|)$~sw7Cn2ie9DZF^ITv5iLrNBAf7!Gw|z?PSNBu2 zh5z58?ac2=qsv#Lnx!HUXAkG>zVm}(Wn#QHskhZGK{xWZBK|$N#4ePu4&}ehctOAs zm{)g&G@VUMbBJUsRm(X9v%wUS2ZQJb5K{4!v*fk8@%4A;7MiWoz7|@>U9U&p`q?*{ zP_>gfuL-)kVEO7Rp@O+?(RwYG_0IJ`)JnZ={$d{UGR-9Gjj4g9G>V48!>f(f&@=Il zHPA{jmg00@m6yRqda1lKAq#0-w~X}g&C{G(0HduW$4L83&H-}t%>3@RV0prmzICd& zv{NYhGRzo}fdT~BA2nj+lF~NlzzHmp-89{Q#U9wKS7)Dm?q_{`@UZkzxNSbRYX^|< z7_XUERothsIHe6dFX!6B3pP1Z#Ms=rP3z|@awPC2)bYOyy45PpQ4|?1KJ-P(EwQvr ztcdTr#=7z8USHQ`Rz~`KvqtqXF3y4cbw~82+etv(u1DLvOKn7yF5-y(wWC{XLa~k3 zu4IMo>WSke9`N@%d|CpMe0}F48I@yxAi}s=ZuYE{2Hessx^2@x4Je$Eca--@Mx!Y; zT*&c)E|)I>?)0QuaB#3ySelM${OWY1PcVg30!f97T}fWfKA~pZ%tx#5>lXX)tIlxD zxkQGaD*L0_d2qD-$fE)}I(~0PT(E8liYERqCjm6@01>Ym+#(S#_-WlR_@L%M@CByH zNUVS%(IZH`v8qsf$q3|X9eaA4fZGM?gPUF=pZ~6LLQ=ZA(6Fz1j`nj!jTV=_ zMnuhWZ7Tm~GZ|F|b+QfBC;foA_fvkc=xnd1c%X;_c7R@4-bIBT;FCiQ)sy-SD?w22 z9lz;KqM1$H5f(;br}$}l^u*K)i|JDffv(6;*g}ytq$Yg;#mE~VvPDL5rgw5XO&-v) z*B;U5KZnn+2}u>-4EkDZ%b{YZVH6uM-!6`xuEH&d(%S~)0KT;ZWUe6;Ko-nAUSR-5 z^i?Rh<^a*gL}#ALno;sP8tWc(fEiaKXXeaJcKd2Kvjbdz>)9`)(Z_*t(c}$QXxVSj z2Ao3uvwY~J=b{MuJOA<3s7CZ^BepFmupdAS=Yx)XL}#@Edx~HG2gE~XUv5R3I>rP0 z6Wi)IATYl~tgKQ;7NK>C-QxcP0)P7R9C?C-=i%&Z_`JWc$|)Ngy!_c}nNjZp=w&5v z6A&6O!N{FdGCU;v;4?{_M$%e zamHPQrlw+dIPz(;pB;=RU5*BNtm29QjPc%3c*oJa#xp_*|8Wr7vsKig2 zqcCFNEZHzn(uSbir>vYt{b8jnNQ4?hR1pdDJ2TYb16oG-?gKh?_c-lYka_5j=|X35 z3afIkNFQf0LIkh`YNw$=7DjHdkM;Zkekx@zNMLmw1s+5Zl!zm`(Am$KP*wq9gGlz5 zC9oI~Wm@4HoqaF+&wcFS6>3As6;ZfjT=p5 zzgtSe<4+s+#OC=cdRoW8Mz$hkC}lOwEQQ$BYt_FYmkzii$36A8!dSauVvwHx7c{zo zQf6V+5}qw9lyPkP>%sf+Shl4S%dP7FU)PHFe_Sj2|JSuLC~cA8%4CHv?tW;d9|J*^ zNa5MGjD&%BxB1i_(~sR8aouMINB>TsAPYinA4!=itE|-I#lh3SgyF31Oi7Q|FA8G<%xM%nL+NhQ?(yX>P|5C_$Va;`Mr zEcR~#ChWg-dSf<2HAFTMTrHCCumYk}=BD*iDB^t$fkbJ8Qg@G%(uuA^y{@li+1|(Jk#i6*%4F5Du1jt(0(- z+|we>w?#O8_6_8n4FqH@il(*@Kw6Xt+Y)>m+pYNxLKB3Q!3~IQN_$Qu%US?8MOZ?N zjz|#Y)nP7=$E>+7HPOIQ8xTG~Pm0`Crp3YWIV*jjb_#Z~0SyB>rt~3$n>KQ&BE4Q= zNuT~n0#gL()L*>Mh%TMYMocB5{4BPaIZzcHkPWTr?<-xOpjE$rf3vh8O+Z$Q>0)2l z2|{qTV?NfZi7So%GQKo{d|;;n2I|UBH^;JmdZV+7Qn!KtSS8sZ(#f)CS%U_j_U3{( zQ0CNXO@Vg!27UJ9@my}MAN5{;5%$f4ZqVCc4hn~2K7+;h>h;S|`Uy1hMxsOTe)@_5 zoz67W>VHxQAK35PsdFi?H~mxBeQV4$wc<*Dy1a*3+u7vhbjn`W12mszfF56jG$(*Z!)inWt{9mrq%w zC=X5jYp1_2q*V9ibo_5ImUrxZ4*&WWkSg6>IM0@ZZ(IlE0!pWdaqtezXf@7I5f}d; zc|lcyI!)pCP)R?!q@abfVm@3v+|Tn7cq;Z1YZSX8R^U;OAntFwKbc52KR$g8BlC*c zAobfG_7hrk4-F`_sVtR|);uE(-~ry5HfE2-(Hiz$IZCHF9do;Gg?SJ!R_vESpMV-g zkF&uxLv&W_ev=DN@+~|9M~+Fc79e!QSAB8Lj5O@4k)p)HICFJ%-N0bzo?v*;AwFg* z^n`XcPUer>RMD~yC-!)JKnEzZfhEKuJ<{TmM`8UrX0|no8TKh*bT=v)N~MdiTxc(1 zK<2Z6$7r>DOO8|9qDD{7uF@i%a;{1D*WxcRw&jR^&Km_n-H0h=l5|usT?W#i71%t@ zueRf0ZET#?h!;C6wT_^kE1Po8+Z0hZPZp;HCM_8-@UCl>*HKS6K69B&$d_apB|*qY zwQ1z^YtJc{DjgMX`I_Wl42AnAdSjE+nr$BS9WN+)rkcit$&l{)H@|2#hM2T;-^jI_ z#Ge1b*r6M*lY>QI{kRvD)>P%w$}xLkDO;UQclKIZi>7;=Srd^Iv zMC@Y2RN)jeUUC4JfEXKZAng$fVy#v*WIXg&1r+YBFT7vY{JriuW14grev(#|_EW0G>kZP1Gf~SH&B63sKBlkG(^H#j9a}(^g2~9W6 zl6{284lmBzss0Uim)(gCU&4}HH(ijub|p{xUsJYf;7~Ulbs_Q-@qW&DVtx9#{r&zl z%WA{)g^7&wq%T!%J~|f)uobM$YCF=bNa#yy7Mu=0<`RV*v^OQDb$%o9+Em&VfhHv9 ztD(|lJO6dsT{a_xNaT#C$aqxsstJkg8RzF!;eLru(jxED!|ih4+2|0r{eOi|sp3|U zt9oZS^HY)C!e@-I%;8%(Y>|W9mYOO_uFS6H^P=U1`!0u&b4^V`TBhwJBHDIc{hdsI zr>LzyESaFXyKj^oH4ip*PgV1B6kI!kz8{=EDcu zEy>nr&yBP^=CoO7n`TI5-RnypbV4FVY2s%cbLi7< zp!ozEo!*M;-jN0g0`50)_i6}W8(ir34F%rrPQ>uKP<{R>#$=Su?P2*G z#!us~Pn%^Zd;Qyj>ZExDWHRiorxQc55Hzz-S^wsXD5O60a$&{vQxKouJ>0Q+8@Z|H z|16Ue6DFGk#X|ko8@eUIGUxESlZ?Xs?leV71WhU$5a$ZtIo+FOlX-5YLA`L5o-CKF z;hd5OpXKlVMyr-m;ODL>YrC4T*=N+qd0Tz8zaM$_S8tte7O5F`OIxX zX)oxQ6P;(;9-WVOwK5ZsP*gUeFBW}xk4efPK`7~%=zw*5Q6#J*HWADA-yPW8L8YKm zp9TpCYh5#BOjRX&MyKltB?*6adZj$-!M0$o$CKVk-eu!2dD$asSI|8l8LJID*+aX)-Xd{OEnoiMtlWIygZJLP&Dq!0#Q*I0N7xe+6B}&zPx_zVz$_Tud$J z_Uz?B7jP#AllJL8$PzWkv-AnG&cnfnRW2&~kCvE8kfsRhG!3@~k{WL05e~+%;M$Lb zJ_VRCz4RN(4(gLa-KGKu^!yHxC2hjp-u2!s7CWY3!=s!FMiC;D>oWQbUITGPkjQnk3*iE$RXt8)<5y8Zq;+hbU z&Qfx`vtQQ$ThHrRl$>0>^ z=$K3iMd+*?wwt=EnVv@S*Du>K4k=WsJ zWS1x8&Cex?UjYaZ&PvN7jm|gYIbH&`6gzM$U4Xx);+mHI^k-84Hft!XVN7aRutzJn9^YqF$}^X=64BWc30+0S+uA#hz=f9m z`@S$f<*NY9DoA?L5YcHGGUH&;wf$E2$7x^dPYY2!pT8D+Dc#ExzLcHw>#N;y(&iVE zJ|+U!IN%$y`{-8B(?#Y+WATEf}_4U-WCPCG~VnMIPEUmB?4i(+MJgMF9bv#j(zB6J8# zO|}7z<%bGJ?|Q%$8epS|X1jQqHxUY1<|~%u{$sO$w~oucda-5Uh|_3@9|bH4b#MUb zkXQjVmQ(G~GC{xbRX2BOPiy54{-HM7IRldKNl1i`j=6H)+rl)32{aoz<(S>FXvbE4 ztz+8cG3=Xm;&|dH88@D#7LKDUj%X4BBXjh@g5r+_jVT!laf^|FlMjb=fbXG6CfRuq z8bPrAeP@00v+5F|7qzpR))5wl{PC@sfOmIf=5D48YG9r&>nlM|;ow%bb~C#y>ZTs1 zBjoJC--in#tRrUTw|odk0DgUa1pR_7ZxuvJ1~Siw4#re4efa}BJ#<^nd}N)@vhTLw z)(SHv#p|!;bQO68O1^szVP0%CB~|_jKfgI86(Tk+bwT)kviSqRVu`(@k+|$y980Oc zkwXpJ?AW8cEqm_^vUdDt3{lBD|5EOKIbQf_pIB#Xov&>;8<4*}p764#Jk~B;g!RI9 zwP4@3@P}+&xN~iPv1Ds7S1%W8Dju{mdOOlrD~lazFNZqi4?L$K@_%G3REl@y%K7Jw zI+-o$ls?p~-8q`~TFBO$_i6``l(_w+;+dus4rZEkm;*-uK@y`M5(#fwK|-#zLDR39 z463&)M__4U!KH9FpuPdmXO2G=;5Iiu?O)O{K5jP-D*lANxoum+*j&1Du_~vheaCSv zOuwfvzS>gW;-`GxdJ3S;c+S*}3gNpKM~#9#)tqXr8rwL(8%-0b5J8m5!!cTM_FkNM zxUfelEyM9OJYCT1B zm=kHV<8vjMoiB{d9`}a$Tdx99@m61mkI#NSNZr5Ok(^+c{jxkVJ5&mlj0sD<<}14v zQ_rm_FV@H5**qsVO^>qQBH%*9&f0z9MyV=AMysHreH_?j7D|6wWWSe~>uF!;N}6YNGxV0kNf+}(DhFx~{se4a(=yRdRHFYnH&qN8 zW42j=A|{RsGUCN3D)pX}e#n8XiO&ur+vJK)cmAX<{x&YArCcuX^ZDMMio5=93H9R_ z_RL1?&GZsA7Td2Zb>QXHF|fPHsk#!_sc%UZ+sKt9)b_h87U3O#gGdUzU8&MSs&(tA zT1kKeT58+His$a2Cr(Q~nF>gQdS;5=w2!^rSi&!I3Cos5u9k5%Nhq$=!hq6QZu{;a z4d>&5ZCO{TO;lWv{RB;o7B86nXEZhrlr{vys9dqb6;Osa1e1Cg{%8G{2Q6( zJ<2pGCqW?tBGB+TDF8wIm^$uS*s)8^85}zJ7-JO5K^&4of183+@((C??DRwMJhSV( z2S?`@HeFdKjr*obMnn`yfbR2NZkc`X8Bdwr4A*e_v<;yEsOd4+|3cA7E}AG_9JP%I zRoS5Xe5(e2)QSKl+X41iCVO!*j*iR9MNN6Xk+ToKwI0GIuJW&!MJ>R2wRm)5xs8oj zPl~ONj?N4wtF5g;+c4MfjgVKjxdYr5iBH5dY_QwY^UK%p@3&a~A}Tg1`)}QHg7a$s z3p%u6i*J2d*tr!9tK7xw)V3WjEHg@RqpJI3>)gPF&rO2Ge->r9NgWb8Vf!ker2k_@ zXVIPk2m0_RTd1G;l+)*MY4`~L&MaDw*giRMe@3`iGIdfZLAAy_FIE$cG~yKEinTF2 z%&bs~8?VI#1pk-_BBAa4)tAH@M{@D_mp}YF;5qHaupa{{>?QKY+7XOp%=+1}BqOze z;)-H>88dM_QC{`-p!SenOB4{|b~HGG5bB~C9bA8A*6unnezBzY7UMe~36rjTV4}4E zPoy*2;4zwS$!&QP8NBnO?MSGJXkMB2Dc(W#BfX{sI0QS0fZ`_CfqSqYyD1M%Xr;$& zTE};sMsNy8j=StBilW{XNVx=TN@+(A)If&B)*Zco*WcjBx;R&_zkO(R%$sU2;|IyJ zH#;`SR%SqNuFCafvs5D4Pz)=%mq~v{U~5WG$}pwfG8nP!M@&1s9ganhJRau?e-fM> zs=Te_O6Bs2Odg&#u_W?Upt!PhJ$%VENQh#hZ+aHHc=;0bQgQgmQ>goU*!U+6`yV(g zFJl0?`^qUnh;9UiD>^9mzvZ(UrkrCiZtXciVrJU=sXT&|J(njF2

      p^l+wN$mp*B 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 UX#@fSAN*$ot|8ljha|-R0cM`3B>(^b From 70851fab51b81d4d0775fd08ffb07f797bbb504b Mon Sep 17 00:00:00 2001 From: Evgeny Date: Fri, 15 Jun 2018 10:31:01 -0500 Subject: [PATCH 010/691] minor change --- README.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 8762cf2830..1061284423 100644 --- a/README.md +++ b/README.md @@ -10,16 +10,16 @@ The library source tree: - MatrixTranspose - test based on HIP MatrixTranspose sample Environment example: -$ export HIP_PATH=/opt/rocm/hip -$ export HCC_HOME=/opt/rocm/hcc -$ export CMAKE_PREFIX_PATH=/opt/rocm/lib:/opt/rocm/include/hsa + export HIP_PATH=/opt/rocm/hip + export HCC_HOME=/opt/rocm/hcc + export CMAKE_PREFIX_PATH=/opt/rocm/lib:/opt/rocm/include/hsa To build: -$ cd /roctracer/build -$ cmake .. -$ make + cd /roctracer/build + cmake .. + make To rebuild and run test: -$ export ITERATIONS= -$ cd /roctracer/test/MatrixTranspose -$ make + export ITERATIONS= + cd /roctracer/test/MatrixTranspose + make From 45100f532de8a980b99c8dab9c8a5f1942e6f917 Mon Sep 17 00:00:00 2001 From: eshcherb <33529668+eshcherb@users.noreply.github.com> Date: Fri, 15 Jun 2018 13:27:24 -0500 Subject: [PATCH 011/691] Update README.md From 9086dee75d4ba24def044163485d1d4e76003435 Mon Sep 17 00:00:00 2001 From: eshcherb <33529668+eshcherb@users.noreply.github.com> Date: Fri, 15 Jun 2018 13:49:29 -0500 Subject: [PATCH 012/691] Update README.md --- README.md | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 1061284423..f20093433d 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,6 @@ -ROC Tracer library, Callback/Activity APIs +# ROC-tracer + +ROC tracer library. Callback/Activity APIs The library source tree: - doc - Documentation @@ -9,17 +11,23 @@ The library source tree: - test - test suit - MatrixTranspose - test based on HIP MatrixTranspose sample -Environment example: +## Environment example +``` export HIP_PATH=/opt/rocm/hip export HCC_HOME=/opt/rocm/hcc export CMAKE_PREFIX_PATH=/opt/rocm/lib:/opt/rocm/include/hsa +``` -To build: +## To build +``` cd /roctracer/build cmake .. make +``` -To rebuild and run test: +## To rebuild and run test +``` export ITERATIONS= cd /roctracer/test/MatrixTranspose make +``` From b71675077a4554074b75c3fe3ff20f19cf443cc0 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Mon, 18 Jun 2018 12:58:08 -0500 Subject: [PATCH 013/691] deleting consumer thread on pool destruction --- inc/roctracer.h | 22 +++++++++++----------- src/core/roctracer.cpp | 6 ++++++ test/MatrixTranspose/MatrixTranspose.cpp | 24 +++++++++++++----------- 3 files changed, 30 insertions(+), 22 deletions(-) diff --git a/inc/roctracer.h b/inc/roctracer.h index 87ec3fb5f8..fcd1aaf79c 100644 --- a/inc/roctracer.h +++ b/inc/roctracer.h @@ -99,9 +99,9 @@ const char* roctracer_error_string(); // Traced API domains typedef enum { - ROCTRACER_DOMAIN_ANY = 0, // Any domain - ROCTRACER_DOMAIN_HIP_API = 1, // HIP domain - ROCTRACER_DOMAIN_HCC_OPS = 2, // HCC domain + ROCTRACER_DOMAIN_ANY = 0, // Any domain + ROCTRACER_DOMAIN_HIP_API = 1, // HIP domain + ROCTRACER_DOMAIN_HCC_OPS = 2, // HCC domain ROCTRACER_DOMAIN_NUMBER } roctracer_domain_t; @@ -140,15 +140,15 @@ typedef hip_cb_fun_t roctracer_api_callback_t; // Enable runtime API callbacks roctracer_status_t roctracer_enable_api_callback( - roctracer_domain_t domain, // runtime API domain - uint32_t cid, // API call ID - roctracer_api_callback_t callback, // callback function pointer - void* arg); // [in/out] callback arg + roctracer_domain_t domain, // runtime API domain + uint32_t cid, // API call ID + roctracer_api_callback_t callback, // callback function pointer + void* arg); // [in/out] callback arg // Disable runtime API callbacks roctracer_status_t roctracer_disable_api_callback( - roctracer_domain_t domain, // runtime API domain - uint32_t cid); // API call ID + roctracer_domain_t domain, // runtime API domain + uint32_t cid); // API call ID //////////////////////////////////////////////////////////////////////////////// // Activity API @@ -218,13 +218,13 @@ roctracer_pool_t* roctracer_default_pool( // Enable activity records logging roctracer_status_t roctracer_enable_api_activity( - roctracer_domain_t domain, // runtime API domain + roctracer_domain_t domain, // runtime API domain uint32_t activity_kind, // activity kind roctracer_pool_t* pool = NULL); // memory pool, NULL is a default one // Disable activity records logging roctracer_status_t roctracer_disable_api_activity( - roctracer_domain_t domain, // runtime API domain + roctracer_domain_t domain, // runtime API domain uint32_t activity_kind); // activity kind // Flush available activity records diff --git a/src/core/roctracer.cpp b/src/core/roctracer.cpp index cdd68bb993..a80e323934 100644 --- a/src/core/roctracer.cpp +++ b/src/core/roctracer.cpp @@ -143,7 +143,13 @@ class MemoryPool { } ~MemoryPool() { + std::lock_guard lock(write_mutex_); + Flush(); + PTHREAD_CALL(pthread_cancel(consumer_thread_)); + void *res; + PTHREAD_CALL(pthread_join(consumer_thread_, &res)); + if (res != PTHREAD_CANCELED) EXC_ABORT(ROCTRACER_STATUS_ERROR, "consumer thread wasn't stopped correctly"); allocator_default(&pool_begin_, 0, alloc_arg_); } diff --git a/test/MatrixTranspose/MatrixTranspose.cpp b/test/MatrixTranspose/MatrixTranspose.cpp index 4ba2fac9f3..9819efe4f3 100644 --- a/test/MatrixTranspose/MatrixTranspose.cpp +++ b/test/MatrixTranspose/MatrixTranspose.cpp @@ -232,20 +232,22 @@ void activity_callback(const char* begin, const char* end, void* arg) { // Initialize function void init_tracing() { - // Check tracer domains consitency - ROCTRACER_CALL(roctracer_validate_domains()); - // Enable HIP API callbacks - ROCTRACER_CALL(roctracer_enable_api_callback(ROCTRACER_DOMAIN_ANY, 0, hip_api_callback, NULL)); - // Enable HIP activity tracing - roctracer_properties_t properties{}; - properties.buffer_size = 12; - properties.buffer_callback_fun = activity_callback; - ROCTRACER_CALL(roctracer_open_pool(&properties)); - ROCTRACER_CALL(roctracer_enable_api_activity(ROCTRACER_DOMAIN_ANY, 0)); + // Check tracer domains consitency + ROCTRACER_CALL(roctracer_validate_domains()); + // Enable HIP API callbacks + ROCTRACER_CALL(roctracer_enable_api_callback(ROCTRACER_DOMAIN_ANY, 0, hip_api_callback, NULL)); + // Enable HIP activity tracing + roctracer_properties_t properties{}; + properties.buffer_size = 12; + properties.buffer_callback_fun = activity_callback; + ROCTRACER_CALL(roctracer_open_pool(&properties)); + ROCTRACER_CALL(roctracer_enable_api_activity(ROCTRACER_DOMAIN_ANY, 0)); } void finish_tracing() { - ROCTRACER_CALL(roctracer_close_pool()); + ROCTRACER_CALL(roctracer_disable_api_callback(ROCTRACER_DOMAIN_ANY, 0)); + ROCTRACER_CALL(roctracer_disable_api_activity(ROCTRACER_DOMAIN_ANY, 0)); + ROCTRACER_CALL(roctracer_close_pool()); } #else void init_tracing() {} From 6dee8519e8c5f3820c83aa8dbc652eb52b890afc Mon Sep 17 00:00:00 2001 From: Evgeny Date: Mon, 18 Jun 2018 21:43:40 -0500 Subject: [PATCH 014/691] callbacks sync --- inc/roctracer.h | 3 ++- src/core/roctracer.cpp | 8 ++++---- test/MatrixTranspose/MatrixTranspose.cpp | 10 +++++----- 3 files changed, 11 insertions(+), 10 deletions(-) diff --git a/inc/roctracer.h b/inc/roctracer.h index fcd1aaf79c..b91037348e 100644 --- a/inc/roctracer.h +++ b/inc/roctracer.h @@ -87,7 +87,8 @@ typedef enum { ROCTRACER_STATUS_UNINIT = 2, ROCTRACER_STATUS_BREAK = 3, ROCTRACER_STATUS_BAD_DOMAIN = 4, - ROCTRACER_STATUS_HIP_API_ERR = 5, + ROCTRACER_STATUS_BAD_PARAMETER = 5, + ROCTRACER_STATUS_HIP_API_ERR = 6, } roctracer_status_t; //////////////////////////////////////////////////////////////////////////////// diff --git a/src/core/roctracer.cpp b/src/core/roctracer.cpp index a80e323934..704e1aba8e 100644 --- a/src/core/roctracer.cpp +++ b/src/core/roctracer.cpp @@ -396,7 +396,7 @@ PUBLIC_API roctracer_status_t roctracer_enable_api_callback( API_METHOD_PREFIX switch (domain) { case ROCTRACER_DOMAIN_ANY: - cid = 0; + if (cid != HIP_API_ID_ANY) HIP_EXC_RAISING(ROCTRACER_STATUS_BAD_PARAMETER, "DOMAIN_ANY and cid != HIP_API_ID_ANY"); case ROCTRACER_DOMAIN_HIP_API: { hipError_t hip_err = hipRegisterApiCallback(cid, callback, user_data); if (hip_err != hipSuccess) HIP_EXC_RAISING(ROCTRACER_STATUS_HIP_API_ERR, "hipRegisterApiCallback error(" << hip_err << ")"); @@ -416,7 +416,7 @@ PUBLIC_API roctracer_status_t roctracer_disable_api_callback( API_METHOD_PREFIX switch (domain) { case ROCTRACER_DOMAIN_ANY: - cid = 0; + if (cid != HIP_API_ID_ANY) HIP_EXC_RAISING(ROCTRACER_STATUS_BAD_PARAMETER, "DOMAIN_ANY and cid != HIP_API_ID_ANY"); case ROCTRACER_DOMAIN_HIP_API: { hipError_t hip_err = hipRemoveApiCallback(cid); if (hip_err != hipSuccess) HIP_EXC_RAISING(ROCTRACER_STATUS_HIP_API_ERR, "hipRemoveApiCallback error(" << hip_err << ")"); @@ -472,7 +472,7 @@ PUBLIC_API roctracer_status_t roctracer_enable_api_activity( if (pool == NULL) pool = roctracer_default_pool(); switch (domain) { case ROCTRACER_DOMAIN_ANY: - activity_kind = 0; + if (activity_kind != HIP_API_ID_ANY) HIP_EXC_RAISING(ROCTRACER_STATUS_BAD_PARAMETER, "DOMAIN_ANY and activity_kind != HIP_API_ID_ANY"); case ROCTRACER_DOMAIN_HIP_API: { const hipError_t hip_err = hipRegisterActivityCallback(activity_kind, roctracer::ActivityCallback, roctracer::ActivityAsyncCallback, pool); if (hip_err != hipSuccess) HIP_EXC_RAISING(ROCTRACER_STATUS_HIP_API_ERR, "hipRegisterActivityCallback error(" << hip_err << ")"); @@ -492,7 +492,7 @@ PUBLIC_API roctracer_status_t roctracer_disable_api_activity( API_METHOD_PREFIX switch (domain) { case ROCTRACER_DOMAIN_ANY: - activity_kind = 0; + if (activity_kind != HIP_API_ID_ANY) HIP_EXC_RAISING(ROCTRACER_STATUS_BAD_PARAMETER, "DOMAIN_ANY and activity_kind != HIP_API_ID_ANY"); case ROCTRACER_DOMAIN_HIP_API: { const hipError_t hip_err = hipRemoveActivityCallback(activity_kind); if (hip_err != hipSuccess) HIP_EXC_RAISING(ROCTRACER_STATUS_HIP_API_ERR, "hipRemoveActivityCallback error(" << hip_err << ")"); diff --git a/test/MatrixTranspose/MatrixTranspose.cpp b/test/MatrixTranspose/MatrixTranspose.cpp index 9819efe4f3..a2b14676a0 100644 --- a/test/MatrixTranspose/MatrixTranspose.cpp +++ b/test/MatrixTranspose/MatrixTranspose.cpp @@ -151,7 +151,7 @@ int main() { } while (0) // HIP API callback function -extern "C" void hip_api_callback( +void hip_api_callback( uint32_t domain, uint32_t cid, const void* callback_data, @@ -235,18 +235,18 @@ void init_tracing() { // Check tracer domains consitency ROCTRACER_CALL(roctracer_validate_domains()); // Enable HIP API callbacks - ROCTRACER_CALL(roctracer_enable_api_callback(ROCTRACER_DOMAIN_ANY, 0, hip_api_callback, NULL)); + ROCTRACER_CALL(roctracer_enable_api_callback(ROCTRACER_DOMAIN_ANY, HIP_API_ID_ANY, hip_api_callback, NULL)); // Enable HIP activity tracing roctracer_properties_t properties{}; properties.buffer_size = 12; properties.buffer_callback_fun = activity_callback; ROCTRACER_CALL(roctracer_open_pool(&properties)); - ROCTRACER_CALL(roctracer_enable_api_activity(ROCTRACER_DOMAIN_ANY, 0)); + ROCTRACER_CALL(roctracer_enable_api_activity(ROCTRACER_DOMAIN_ANY, HIP_API_ID_ANY)); } void finish_tracing() { - ROCTRACER_CALL(roctracer_disable_api_callback(ROCTRACER_DOMAIN_ANY, 0)); - ROCTRACER_CALL(roctracer_disable_api_activity(ROCTRACER_DOMAIN_ANY, 0)); + ROCTRACER_CALL(roctracer_disable_api_callback(ROCTRACER_DOMAIN_ANY, HIP_API_ID_ANY)); + ROCTRACER_CALL(roctracer_disable_api_activity(ROCTRACER_DOMAIN_ANY, HIP_API_ID_ANY)); ROCTRACER_CALL(roctracer_close_pool()); } #else From 6d6cf059b0f9770cebbc4a04244aedd3c66cfcba Mon Sep 17 00:00:00 2001 From: Evgeny Date: Tue, 19 Jun 2018 10:03:19 -0500 Subject: [PATCH 015/691] cleanup --- doc/ROC_profiler_spec_v1_2_7.docx | Bin 103641 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 doc/ROC_profiler_spec_v1_2_7.docx diff --git a/doc/ROC_profiler_spec_v1_2_7.docx b/doc/ROC_profiler_spec_v1_2_7.docx deleted file mode 100644 index fb59aff680d731881e651b931e6ff928e4685b25..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 103641 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

      ^c@*_}0f1LY%!R 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 From 5c5cc0c63ff61314313c1b64c8a2018a1e767af4 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Tue, 19 Jun 2018 11:22:32 -0500 Subject: [PATCH 016/691] API declaration fix --- src/core/roctracer.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/core/roctracer.cpp b/src/core/roctracer.cpp index 704e1aba8e..816315ebf4 100644 --- a/src/core/roctracer.cpp +++ b/src/core/roctracer.cpp @@ -429,7 +429,7 @@ PUBLIC_API roctracer_status_t roctracer_disable_api_callback( } // Return default pool and set new one if parameter pool is not NULL. -roctracer_pool_t* roctracer_default_pool(roctracer_pool_t* pool) { +PUBLIC_API roctracer_pool_t* roctracer_default_pool(roctracer_pool_t* pool) { roctracer_pool_t* p = reinterpret_cast(roctracer::memory_pool); if (pool != NULL) roctracer::memory_pool = reinterpret_cast(pool); if (p == NULL) EXC_RAISING(ROCTRACER_STATUS_UNINIT, "default pool is not initialized"); From ab9f15454fcca0ef8090535bb98946f7086cc4e5 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Fri, 22 Jun 2018 19:02:42 +0000 Subject: [PATCH 017/691] update --- src/core/roctracer.cpp | 108 ++++++++++++++++++++--------------------- 1 file changed, 53 insertions(+), 55 deletions(-) diff --git a/src/core/roctracer.cpp b/src/core/roctracer.cpp index 816315ebf4..e42a943418 100644 --- a/src/core/roctracer.cpp +++ b/src/core/roctracer.cpp @@ -129,22 +129,16 @@ class MemoryPool { buffer_end_ = buffer_begin_ + buffer_size_; write_ptr_ = buffer_begin_; - // Pool references - buffer_refs_ = new uint32_t[buffer_refs_count_]; - memset(buffer_refs_, 0, sizeof(uint32_t) * buffer_refs_count_); - // Consuming read thread read_callback_fun_ = properties.buffer_callback_fun; read_callback_arg_ = properties.buffer_callback_arg; - consumer_arg_ = consumer_arg_t{this, true, NULL, NULL}; + consumer_arg_.set(this, NULL, NULL, true); PTHREAD_CALL(pthread_mutex_init(&read_mutex_, NULL)); PTHREAD_CALL(pthread_cond_init(&read_cond_, NULL)); PTHREAD_CALL(pthread_create(&consumer_thread_, NULL, reader_fun, &consumer_arg_)); } ~MemoryPool() { - std::lock_guard lock(write_mutex_); - Flush(); PTHREAD_CALL(pthread_cancel(consumer_thread_)); void *res; @@ -154,9 +148,38 @@ class MemoryPool { } template - Record* getRecord() { + void Write(const Record& record) { std::lock_guard lock(write_mutex_); + getRecord(record); + } + void Flush() { + std::lock_guard lock(write_mutex_); + if (write_ptr_ > buffer_begin_) { + spawn_reader(buffer_begin_, write_ptr_); + sync_reader(&consumer_arg_); + buffer_begin_ = (buffer_end_ == pool_end_) ? pool_begin_ : buffer_end_; + buffer_end_ = buffer_begin_ + buffer_size_; + write_ptr_ = buffer_begin_; + } + } + + private: + struct consumer_arg_t { + MemoryPool* obj; + const char* begin; + const char* end; + std::atomic valid; + void set(MemoryPool* obj_p, const char* begin_p, const char* end_p, bool valid_p) { + obj = obj_p; + begin = begin_p; + end = end_p; + valid.store(valid_p); + } + }; + + template + Record* getRecord(const Record& init) { char* next = write_ptr_ + sizeof(Record); if (next > buffer_end_) { if (write_ptr_ == buffer_begin_) EXC_ABORT(ROCTRACER_STATUS_ERROR, "buffer size(" << buffer_size_ << ") is less then the record(" << sizeof(Record) << ")"); @@ -170,40 +193,16 @@ class MemoryPool { Record* ptr = reinterpret_cast(write_ptr_); write_ptr_ = next; - *ptr = {}; + *ptr = init; return ptr; } - template - void Write(const Record& record) { - *getRecord() = record; - } - - void Flush() { - if (write_ptr_ > buffer_begin_) { - spawn_reader(buffer_begin_, write_ptr_); - sync_reader(&consumer_arg_); - buffer_begin_ = write_ptr_; - } - } - - void incrementRef(void* ptr) { buffer_refs_[calc_buffer_index(ptr)] += 1; } - void decrementRef(void* ptr) { buffer_refs_[calc_buffer_index(ptr)] -= 1; } - - private: - struct consumer_arg_t { - MemoryPool* obj; - bool valid; - const char* begin; - const char* end; - }; - static void reset_reader(consumer_arg_t* arg) { - reinterpret_cast*>(&(arg->valid))->store(false, std::memory_order_release); + arg->valid.store(false); } static void sync_reader(const consumer_arg_t* arg) { - while(arg->valid) PTHREAD_CALL(pthread_yield()); + while(arg->valid.load() == true) PTHREAD_CALL(pthread_yield()); } static void* reader_fun(void* consumer_arg) { @@ -214,13 +213,10 @@ class MemoryPool { while (1) { PTHREAD_CALL(pthread_mutex_lock(&(obj->read_mutex_))); - while (arg->valid == false) { + while (arg->valid.load() == false) { PTHREAD_CALL(pthread_cond_wait(&(obj->read_cond_), &(obj->read_mutex_))); } - const uint32_t buffer_index = obj->calc_buffer_index(arg->begin); - while(obj->buffer_refs_[buffer_index] != 0) PTHREAD_CALL(pthread_yield()); - obj->read_callback_fun_(arg->begin, arg->end, obj->read_callback_arg_); reset_reader(arg); PTHREAD_CALL(pthread_mutex_unlock(&(obj->read_mutex_))); @@ -232,7 +228,7 @@ class MemoryPool { void spawn_reader(const char* data_begin, const char* data_end) { sync_reader(&consumer_arg_); PTHREAD_CALL(pthread_mutex_lock(&read_mutex_)); - consumer_arg_ = consumer_arg_t{this, true, data_begin, data_end}; + consumer_arg_.set(this, data_begin, data_end, true); PTHREAD_CALL(pthread_cond_signal(&read_cond_)); PTHREAD_CALL(pthread_mutex_unlock(&read_mutex_)); } @@ -253,10 +249,6 @@ class MemoryPool { char* write_ptr_; mutex_t write_mutex_; - // Pool references - uint32_t* buffer_refs_; - static const uint32_t buffer_refs_count_ = 2; - // Consuming read thread roctracer_buffer_callback_t read_callback_fun_; void* read_callback_arg_; @@ -298,9 +290,9 @@ DESTRUCTOR_API void destructor() { util::Logger::Destroy(); } -void ActivityCallback( +roctracer_record_t* ActivityCallback( uint32_t activity_kind, - roctracer_record_t** record, + roctracer_record_t* record, const void* callback_data, void* arg) { @@ -310,23 +302,25 @@ void ActivityCallback( MemoryPool* pool = reinterpret_cast(arg); if (pool == NULL) EXC_ABORT(ROCTRACER_STATUS_ERROR, "ActivityCallback pool is NULL"); if (data->phase == ROCTRACER_API_PHASE_ENTER) { - *record = pool->getRecord(); - (*record)->domain = ROCTRACER_DOMAIN_HIP_API; - (*record)->activity_kind = activity_kind; - (*record)->begin_ns = timer.timestamp_ns(); + record->domain = ROCTRACER_DOMAIN_HIP_API; + record->activity_kind = activity_kind; + record->begin_ns = timer.timestamp_ns(); // Correlation ID generating uint64_t correlation_id = data->correlation_id; if (correlation_id == 0) { correlation_id = GlobalCounter::Increment(); const_cast(data)->correlation_id = correlation_id; } - (*record)->correlation_id = correlation_id; + record->correlation_id = correlation_id; // Passing record to HCC HSAOp_set_activity_record(correlation_id); + return record; } else { - (*record)->end_ns = timer.timestamp_ns(); + record->end_ns = timer.timestamp_ns(); + pool->Write(*record); // Clearing record in HCC HSAOp_set_activity_record(0); + return NULL; } } @@ -336,14 +330,15 @@ void ActivityAsyncCallback( void* arg) { MemoryPool* pool = reinterpret_cast(arg); - roctracer_async_record_t* record_ptr = pool->getRecord(); - *record_ptr = *reinterpret_cast(record); + roctracer_async_record_t* record_ptr = reinterpret_cast(record); record_ptr->domain = ROCTRACER_DOMAIN_HCC_OPS; + pool->Write(*record_ptr); } util::Logger::mutex_t util::Logger::mutex_; util::Logger* util::Logger::instance_ = NULL; MemoryPool* memory_pool = NULL; +std::mutex memory_pool_mutex; } /////////////////////////////////////////////////////////////////////////////////////////////////// @@ -430,9 +425,10 @@ PUBLIC_API roctracer_status_t roctracer_disable_api_callback( // Return default pool and set new one if parameter pool is not NULL. PUBLIC_API roctracer_pool_t* roctracer_default_pool(roctracer_pool_t* pool) { + std::lock_guard lock(roctracer::memory_pool_mutex); roctracer_pool_t* p = reinterpret_cast(roctracer::memory_pool); if (pool != NULL) roctracer::memory_pool = reinterpret_cast(pool); - if (p == NULL) EXC_RAISING(ROCTRACER_STATUS_UNINIT, "default pool is not initialized"); + //if (p == NULL) EXC_RAISING(ROCTRACER_STATUS_UNINIT, "default pool is not initialized"); return p; } @@ -442,6 +438,7 @@ PUBLIC_API roctracer_status_t roctracer_open_pool( roctracer_pool_t** pool) { API_METHOD_PREFIX + std::lock_guard lock(roctracer::memory_pool_mutex); if ((pool == NULL) && (roctracer::memory_pool != NULL)) { EXC_RAISING(ROCTRACER_STATUS_ERROR, "default pool already set"); } @@ -455,6 +452,7 @@ PUBLIC_API roctracer_status_t roctracer_open_pool( // Close memory pool PUBLIC_API roctracer_status_t roctracer_close_pool(roctracer_pool_t* pool) { API_METHOD_PREFIX + std::lock_guard lock(roctracer::memory_pool_mutex); roctracer_pool_t* ptr = (pool == NULL) ? roctracer_default_pool() : pool; roctracer::MemoryPool* memory_pool = reinterpret_cast(ptr); delete(memory_pool); From eb2e63aa2872af464457a1f1259b8ffaabaf5ea2 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Tue, 17 Jul 2018 00:08:41 +0000 Subject: [PATCH 018/691] minor refactoring --- src/core/roctracer.cpp | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/src/core/roctracer.cpp b/src/core/roctracer.cpp index e42a943418..75d701a580 100644 --- a/src/core/roctracer.cpp +++ b/src/core/roctracer.cpp @@ -169,7 +169,7 @@ class MemoryPool { MemoryPool* obj; const char* begin; const char* end; - std::atomic valid; + volatile std::atomic valid; void set(MemoryPool* obj_p, const char* begin_p, const char* end_p, bool valid_p) { obj = obj_p; begin = begin_p; @@ -233,8 +233,6 @@ class MemoryPool { PTHREAD_CALL(pthread_mutex_unlock(&read_mutex_)); } - uint32_t calc_buffer_index(const void* ptr) const { return ((uintptr_t)ptr - (uintptr_t)pool_begin_) >> buffer_size_shift_; } - // pool allocator roctracer_allocator_t alloc_fun_; void* alloc_arg_; @@ -276,6 +274,8 @@ class Timer { return timestamp_t((freq_t)timestamp * timestamp_factor_); } + freq_t timestamp_factor() const { return timestamp_factor_; } + private: // Timestamp frequency factor freq_t timestamp_factor_; @@ -329,16 +329,21 @@ void ActivityAsyncCallback( void* record, void* arg) { + static Timer timer; + MemoryPool* pool = reinterpret_cast(arg); roctracer_async_record_t* record_ptr = reinterpret_cast(record); record_ptr->domain = ROCTRACER_DOMAIN_HCC_OPS; + record_ptr->begin_ns *= timer.timestamp_factor(); + record_ptr->end_ns *= timer.timestamp_factor(); pool->Write(*record_ptr); } util::Logger::mutex_t util::Logger::mutex_; util::Logger* util::Logger::instance_ = NULL; MemoryPool* memory_pool = NULL; -std::mutex memory_pool_mutex; +typedef std::recursive_mutex memory_pool_mutex_t; +memory_pool_mutex_t memory_pool_mutex; } /////////////////////////////////////////////////////////////////////////////////////////////////// @@ -425,7 +430,7 @@ PUBLIC_API roctracer_status_t roctracer_disable_api_callback( // Return default pool and set new one if parameter pool is not NULL. PUBLIC_API roctracer_pool_t* roctracer_default_pool(roctracer_pool_t* pool) { - std::lock_guard lock(roctracer::memory_pool_mutex); + std::lock_guard lock(roctracer::memory_pool_mutex); roctracer_pool_t* p = reinterpret_cast(roctracer::memory_pool); if (pool != NULL) roctracer::memory_pool = reinterpret_cast(pool); //if (p == NULL) EXC_RAISING(ROCTRACER_STATUS_UNINIT, "default pool is not initialized"); @@ -438,7 +443,7 @@ PUBLIC_API roctracer_status_t roctracer_open_pool( roctracer_pool_t** pool) { API_METHOD_PREFIX - std::lock_guard lock(roctracer::memory_pool_mutex); + std::lock_guard lock(roctracer::memory_pool_mutex); if ((pool == NULL) && (roctracer::memory_pool != NULL)) { EXC_RAISING(ROCTRACER_STATUS_ERROR, "default pool already set"); } @@ -452,7 +457,7 @@ PUBLIC_API roctracer_status_t roctracer_open_pool( // Close memory pool PUBLIC_API roctracer_status_t roctracer_close_pool(roctracer_pool_t* pool) { API_METHOD_PREFIX - std::lock_guard lock(roctracer::memory_pool_mutex); + std::lock_guard lock(roctracer::memory_pool_mutex); roctracer_pool_t* ptr = (pool == NULL) ? roctracer_default_pool() : pool; roctracer::MemoryPool* memory_pool = reinterpret_cast(ptr); delete(memory_pool); From c7f47586753e9479b607f19741277e4dce20d084 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Tue, 7 Aug 2018 03:25:55 -0500 Subject: [PATCH 019/691] adding prof-protocol layer --- CMakeLists.txt | 2 + cmake_modules/env.cmake | 7 +- inc/roctracer.h | 62 ++++------ inc/roctracer/hsa_rt_utils.hpp | 97 ++++++++++++++++ inc/roctracer/prof_protocol.h | 85 ++++++++++++++ inc/roctracer_hcc.h | 51 +++++++++ inc/roctracer_hip.h | 61 ++++++++++ src/CMakeLists.txt | 2 +- src/core/roctracer.cpp | 138 +++++++++-------------- src/util/exception.h | 19 ++-- test/MatrixTranspose/Makefile | 25 ++-- test/MatrixTranspose/MatrixTranspose.cpp | 59 +++++----- 12 files changed, 427 insertions(+), 181 deletions(-) create mode 100644 inc/roctracer/hsa_rt_utils.hpp create mode 100644 inc/roctracer/prof_protocol.h create mode 100644 inc/roctracer_hcc.h create mode 100644 inc/roctracer_hip.h diff --git a/CMakeLists.txt b/CMakeLists.txt index 84c0fa8cfa..8fe7662bf2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -40,6 +40,8 @@ list ( APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake_modules" ) include ( utils ) ## Set build environment include ( env ) +## Set test target +add_custom_target( mytest COMMAND make -C "${CMAKE_CURRENT_SOURCE_DIR}/test/MatrixTranspose" ) ## Setup the package version. get_version ( "1.0.0" ) diff --git a/cmake_modules/env.cmake b/cmake_modules/env.cmake index a99d09057c..c5106e5782 100644 --- a/cmake_modules/env.cmake +++ b/cmake_modules/env.cmake @@ -58,6 +58,7 @@ if ( NOT DEFINED CMAKE_PREFIX_PATH AND DEFINED ENV{CMAKE_PREFIX_PATH} ) set ( CMAKE_PREFIX_PATH $ENV{CMAKE_PREFIX_PATH} ) endif() +set ( HCC_INC_DIR "$ENV{HCC_PATH}/include" ) set ( HIP_INC_DIR "$ENV{HIP_PATH}/include" ) ## Extend Compiler flags based on build type @@ -92,8 +93,6 @@ get_filename_component ( HSA_RUNTIME_LIB_PATH ${HSA_RUNTIME_LIB} DIRECTORY ) find_library ( HSA_KMT_LIB "libhsakmt.so" ) get_filename_component ( HSA_KMT_LIB_PATH ${HSA_KMT_LIB} DIRECTORY ) -set ( API_PATH ${HSA_RUNTIME_INC_PATH} ) - ## Basic Tool Chain Information message ( "----------------NBIT: ${NBIT}" ) message ( "-----------BuildType: ${CMAKE_BUILD_TYPE}" ) @@ -101,7 +100,7 @@ message ( "------------Compiler: ${CMAKE_CXX_COMPILER}" ) message ( "----Compiler-Version: ${CMAKE_CXX_COMPILER_VERSION}" ) message ( "-----HSA-Runtime-Inc: ${HSA_RUNTIME_INC_PATH}" ) message ( "-----HSA-Runtime-Lib: ${HSA_RUNTIME_LIB_PATH}" ) -message ( "------------API-path: ${API_PATH}" ) +message ( "-------------HCC-Inc: ${HCC_INC_DIR}" ) +message ( "-------------HIP-Inc: ${HIP_INC_DIR}" ) message ( "-----CMAKE_CXX_FLAGS: ${CMAKE_CXX_FLAGS}" ) message ( "---CMAKE_PREFIX_PATH: ${CMAKE_PREFIX_PATH}" ) -message ( "---------HIP_INC_DIR: ${HIP_INC_DIR}" ) diff --git a/inc/roctracer.h b/inc/roctracer.h index b91037348e..4120bbf50f 100644 --- a/inc/roctracer.h +++ b/inc/roctracer.h @@ -63,9 +63,9 @@ #define INC_ROCTRACER_H_ #include +#include -#include -#include +#include "inc/roctracer/prof_protocol.h" #define ROCTRACER_VERSION_MAJOR 1 #define ROCTRACER_VERSION_MINOR 0 @@ -89,6 +89,7 @@ typedef enum { ROCTRACER_STATUS_BAD_DOMAIN = 4, ROCTRACER_STATUS_BAD_PARAMETER = 5, ROCTRACER_STATUS_HIP_API_ERR = 6, + ROCTRACER_STATUS_HCC_OPS_ERR = 7, } roctracer_status_t; //////////////////////////////////////////////////////////////////////////////// @@ -98,22 +99,8 @@ const char* roctracer_error_string(); //////////////////////////////////////////////////////////////////////////////// // Traced runtime API domains -// Traced API domains -typedef enum { - ROCTRACER_DOMAIN_ANY = 0, // Any domain - ROCTRACER_DOMAIN_HIP_API = 1, // HIP domain - ROCTRACER_DOMAIN_HCC_OPS = 2, // HCC domain - ROCTRACER_DOMAIN_NUMBER -} roctracer_domain_t; - -// Traced calls ID enumeration -typedef hip_cb_id_t roctracer_hip_api_cid_t; - -// Correlation ID type -typedef uint64_t roctracer_correletion_id_t; - -// Validates tracing domains revisions consistency -roctracer_status_t roctracer_validate_domains(); +// Activity domain type +typedef activity_domain_t roctracer_domain_t; // Return ID string by given domain and activity/API ID // NULL returned on the error and the library errno is set @@ -129,26 +116,18 @@ const char* roctracer_id_string( // called on different phases, on enter, on exit, on kernel completion. // Methods return non-zero on error and library errno is set. -// API callback phase -typedef enum { - ROCTRACER_API_PHASE_ENTER = 0, - ROCTRACER_API_PHASE_EXIT = 1, - ROCTRACER_API_PHASE_COMPLETE = 2, -} roctracer_feature_kind_t; - -// API calback data -typedef hip_cb_fun_t roctracer_api_callback_t; +typedef activity_rtapi_callback_t roctracer_rtapi_callback_t; // Enable runtime API callbacks roctracer_status_t roctracer_enable_api_callback( - roctracer_domain_t domain, // runtime API domain + activity_domain_t domain, // runtime API domain uint32_t cid, // API call ID - roctracer_api_callback_t callback, // callback function pointer + activity_rtapi_callback_t callback, // callback function pointer void* arg); // [in/out] callback arg // Disable runtime API callbacks roctracer_status_t roctracer_disable_api_callback( - roctracer_domain_t domain, // runtime API domain + activity_domain_t domain, // runtime API domain uint32_t cid); // API call ID //////////////////////////////////////////////////////////////////////////////// @@ -160,21 +139,15 @@ roctracer_status_t roctracer_disable_api_callback( // calls and the kernel submits. // Methods return non zero on error and library errno is set. -// Roctracer pool type -typedef void roctracer_pool_t; - -// Activity record -typedef hip_act_record_t roctracer_record_t; -typedef hip_ops_record_t roctracer_async_record_t; +// Activity record type +typedef activity_record_t roctracer_record_t; // Return next record static inline int roctracer_next_record( - const roctracer_record_t* record, // [in] record ptr - const roctracer_record_t** next) // [out] next record ptr + const activity_record_t* record, // [in] record ptr + const activity_record_t** next) // [out] next record ptr { - *next = (record->op_id != 0) ? - reinterpret_cast(record) + 1 : - record + 1; + *next = record + 1; return ROCTRACER_STATUS_SUCCESS; } @@ -200,6 +173,9 @@ typedef struct { void* buffer_callback_arg; // tracer record callback arg } roctracer_properties_t; +// Tracer memory pool type +typedef void roctracer_pool_t; + // Create tracer memory pool // The first invocation sets the default pool roctracer_status_t roctracer_open_pool( @@ -219,13 +195,13 @@ roctracer_pool_t* roctracer_default_pool( // Enable activity records logging roctracer_status_t roctracer_enable_api_activity( - roctracer_domain_t domain, // runtime API domain + activity_domain_t domain, // runtime API domain uint32_t activity_kind, // activity kind roctracer_pool_t* pool = NULL); // memory pool, NULL is a default one // Disable activity records logging roctracer_status_t roctracer_disable_api_activity( - roctracer_domain_t domain, // runtime API domain + activity_domain_t domain, // runtime API domain uint32_t activity_kind); // activity kind // Flush available activity records diff --git a/inc/roctracer/hsa_rt_utils.hpp b/inc/roctracer/hsa_rt_utils.hpp new file mode 100644 index 0000000000..ea6cf32f28 --- /dev/null +++ b/inc/roctracer/hsa_rt_utils.hpp @@ -0,0 +1,97 @@ +//////////////////////////////////////////////////////////////////////////////// +// +// The University of Illinois/NCSA +// Open Source License (NCSA) +// +// Copyright (c) 2014-2015, Advanced Micro Devices, Inc. All rights reserved. +// +// Developed by: +// +// AMD Research and AMD HSA Software Development +// +// Advanced Micro Devices, Inc. +// +// www.amd.com +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to +// deal with the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: +// +// - Redistributions of source code must retain the above copyright notice, +// this list of conditions and the following disclaimers. +// - Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimers in +// the documentation and/or other materials provided with the distribution. +// - Neither the names of Advanced Micro Devices, Inc, +// nor the names of its contributors may be used to endorse or promote +// products derived from this Software without specific prior written +// permission. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +// THE CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR +// OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +// ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +// DEALINGS WITH THE SOFTWARE. +// +//////////////////////////////////////////////////////////////////////////////// + +#ifndef INC_ROCTRACER_HSA_RT_UTILS_HPP_ +#define INC_ROCTRACER_HSA_RT_UTILS_HPP_ + +#include + +#include +#include + +#define HSART_CALL(call) \ + do { \ + hsa_status_t status = call; \ + if (status != HSA_STATUS_SUCCESS) { \ + std::cerr << "HSA-rt call '" << #call << "' error(" << std::hex << status << ")" \ + << std::dec << std::endl << std::flush; \ + abort(); \ + } \ + } while (0) + +namespace hsa_rt_utils { + +// HSA runtime timer implementation +class Timer { + public: + typedef uint64_t timestamp_t; + typedef long double freq_t; + + Timer() { + timestamp_t timestamp_hz = 0; + HSART_CALL(hsa_system_get_info(HSA_SYSTEM_INFO_TIMESTAMP_FREQUENCY, ×tamp_hz)); + timestamp_rate_ = (freq_t)1000000000 / (freq_t)timestamp_hz; + } + + // Returns HSA runtime timestamp rate + freq_t timestamp_rate() const { return timestamp_rate_; } + + // Convert a given timestamp to ns + timestamp_t timestamp_to_ns(const timestamp_t ×tamp) const { + return timestamp_t((freq_t)timestamp * timestamp_rate_); + } + + // Return timestamp in 'ns' + timestamp_t timestamp_ns() const { + timestamp_t timestamp; + HSART_CALL(hsa_system_get_info(HSA_SYSTEM_INFO_TIMESTAMP, ×tamp)); + return timestamp_to_ns(timestamp); + } + + private: + // Timestamp rate + freq_t timestamp_rate_; +}; + +} // namespace hsa_rt_utils + +#endif // INC_ROCTRACER_HSA_RT_UTILS_HPP_ diff --git a/inc/roctracer/prof_protocol.h b/inc/roctracer/prof_protocol.h new file mode 100644 index 0000000000..95dbb76016 --- /dev/null +++ b/inc/roctracer/prof_protocol.h @@ -0,0 +1,85 @@ +//////////////////////////////////////////////////////////////////////////////// +// +// The University of Illinois/NCSA +// Open Source License (NCSA) +// +// Copyright (c) 2014-2015, Advanced Micro Devices, Inc. All rights reserved. +// +// Developed by: +// +// AMD Research and AMD HSA Software Development +// +// Advanced Micro Devices, Inc. +// +// www.amd.com +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to +// deal with the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: +// +// - Redistributions of source code must retain the above copyright notice, +// this list of conditions and the following disclaimers. +// - Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimers in +// the documentation and/or other materials provided with the distribution. +// - Neither the names of Advanced Micro Devices, Inc, +// nor the names of its contributors may be used to endorse or promote +// products derived from this Software without specific prior written +// permission. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +// THE CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR +// OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +// ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +// DEALINGS WITH THE SOFTWARE. +// +//////////////////////////////////////////////////////////////////////////////// + +#ifndef INC_ROCTRACER_PROF_PROTOCOL_H_ +#define INC_ROCTRACER_PROF_PROTOCOL_H_ + +// Traced API domains +typedef enum { + ACTIVITY_DOMAIN_ANY = 0, // Any domain + ACTIVITY_DOMAIN_HIP_API = 1, // HIP domain + ACTIVITY_DOMAIN_HCC_OPS = 2, // HCC domain + ACTIVITY_DOMAIN_NUMBER = 3 +} activity_domain_t; + +// API calback type +typedef void (*activity_rtapi_callback_t)(uint32_t domain, uint32_t cid, const void* data, void* arg); + +// API callback phase +typedef enum { + ACTIVITY_API_PHASE_ENTER = 0, + ACTIVITY_API_PHASE_EXIT = 1 +} r_feature_kind_t; + +// Trace record types +// Correlation id +typedef uint64_t activity_correlation_id_t; + +// Activity record type +struct activity_record_t { + uint32_t domain; // activity domain id + uint32_t op_id; // operation id, dispatch/copy/barrier + uint32_t activity_kind; // activity kind + activity_correlation_id_t correlation_id; // activity correlation ID + uint64_t begin_ns; // host begin timestamp + uint64_t end_ns; // host end timestamp + int device_id; // device id + uint64_t stream_id; // stream id + size_t bytes; // data size bytes +}; + +// Activity sync calback type +typedef activity_record_t* (*activity_sync_callback_t)(uint32_t cid, activity_record_t* record, const void* data, void* arg); +// Activity async calback type +typedef void (*activity_async_callback_t)(uint32_t op, void* record, void* arg); + +#endif // INC_ROCTRACER_PROF_PROTOCOL_H_ diff --git a/inc/roctracer_hcc.h b/inc/roctracer_hcc.h new file mode 100644 index 0000000000..159014d3f2 --- /dev/null +++ b/inc/roctracer_hcc.h @@ -0,0 +1,51 @@ +//////////////////////////////////////////////////////////////////////////////// +// +// The University of Illinois/NCSA +// Open Source License (NCSA) +// +// Copyright (c) 2014-2015, Advanced Micro Devices, Inc. All rights reserved. +// +// Developed by: +// +// AMD Research and AMD HSA Software Development +// +// Advanced Micro Devices, Inc. +// +// www.amd.com +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to +// deal with the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: +// +// - Redistributions of source code must retain the above copyright notice, +// this list of conditions and the following disclaimers. +// - Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimers in +// the documentation and/or other materials provided with the distribution. +// - Neither the names of Advanced Micro Devices, Inc, +// nor the names of its contributors may be used to endorse or promote +// products derived from this Software without specific prior written +// permission. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +// THE CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR +// OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +// ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +// DEALINGS WITH THE SOFTWARE. +// +//////////////////////////////////////////////////////////////////////////////// + +#ifndef INC_ROCTRACER_HCC_H_ +#define INC_ROCTRACER_HCC_H_ + +#include +#include + +#include "roctracer.h" + +#endif // INC_ROCTRACER_HCC_H_ diff --git a/inc/roctracer_hip.h b/inc/roctracer_hip.h new file mode 100644 index 0000000000..899f7e0cca --- /dev/null +++ b/inc/roctracer_hip.h @@ -0,0 +1,61 @@ +//////////////////////////////////////////////////////////////////////////////// +// +// The University of Illinois/NCSA +// Open Source License (NCSA) +// +// Copyright (c) 2014-2015, Advanced Micro Devices, Inc. All rights reserved. +// +// Developed by: +// +// AMD Research and AMD HSA Software Development +// +// Advanced Micro Devices, Inc. +// +// www.amd.com +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to +// deal with the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: +// +// - Redistributions of source code must retain the above copyright notice, +// this list of conditions and the following disclaimers. +// - Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimers in +// the documentation and/or other materials provided with the distribution. +// - Neither the names of Advanced Micro Devices, Inc, +// nor the names of its contributors may be used to endorse or promote +// products derived from this Software without specific prior written +// permission. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +// THE CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR +// OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +// ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +// DEALINGS WITH THE SOFTWARE. +// +//////////////////////////////////////////////////////////////////////////////// + +#ifndef INC_ROCTRACER_HIP_H_ +#define INC_ROCTRACER_HIP_H_ + +#include + +#include "roctracer.h" + +#ifdef __cplusplus +extern "C" { +#endif // __cplusplus + +// Traced calls ID enumeration +typedef hip_api_id_t roctracer_hip_api_cid_t; + +#ifdef __cplusplus +} // extern "C" block +#endif // __cplusplus + +#endif // INC_ROCTRACER_HIP_H_ diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index e0c90879be..ac992fc1d0 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -7,5 +7,5 @@ set ( LIB_SRC ${LIB_DIR}/util/hsa_rsrc_factory.cpp ) add_library ( ${TARGET_LIB} SHARED ${LIB_SRC} ) -target_include_directories ( ${TARGET_LIB} PRIVATE ${LIB_DIR} ${ROOT_DIR} ${HSA_RUNTIME_INC_PATH} ${HIP_INC_DIR} ) +target_include_directories ( ${TARGET_LIB} PRIVATE ${LIB_DIR} ${ROOT_DIR} ${HSA_RUNTIME_INC_PATH} ${HIP_INC_DIR} ${HCC_INC_DIR} ) target_link_libraries( ${TARGET_LIB} PRIVATE ${HSA_RUNTIME_LIB} c stdc++ ${HIP_INC_DIR}/../lib/libhip_hcc.so ) diff --git a/src/core/roctracer.cpp b/src/core/roctracer.cpp index 75d701a580..49920af165 100644 --- a/src/core/roctracer.cpp +++ b/src/core/roctracer.cpp @@ -1,4 +1,6 @@ #include "inc/roctracer.h" +#include "inc/roctracer_hcc.h" +//#include "inc/roctracer_hip.h" #include #include @@ -6,6 +8,7 @@ #include #include +#include "inc/roctracer/hsa_rt_utils.hpp" #include "util/exception.h" #include "util/hsa_rsrc_factory.h" #include "util/logger.h" @@ -24,16 +27,6 @@ } \ } while (0) -#define HSART_CALL(call) \ - do { \ - hsa_status_t status = call; \ - if (status != HSA_STATUS_SUCCESS) { \ - std::cerr << "HSA-rt call '" << #call << "' error(" << std::hex << status << ")" \ - << std::dec << std::endl << std::flush; \ - abort(); \ - } \ - } while (0) - #define HIPAPI_CALL(call) \ do { \ hipError_t err = call; \ @@ -61,10 +54,6 @@ (void)err; \ return X; -// HCC API declaration -extern "C" void HSAOp_set_activity_record(const uint64_t& record); -extern "C" const char* HSAOp_get_name(const uint32_t& id); - /////////////////////////////////////////////////////////////////////////////////////////////////// // Internal library methods // @@ -256,31 +245,6 @@ class MemoryPool { pthread_cond_t read_cond_; }; -class Timer { - public: - typedef uint64_t timestamp_t; - typedef long double freq_t; - - Timer() { - timestamp_t timestamp_hz = 0; - HSART_CALL(hsa_system_get_info(HSA_SYSTEM_INFO_TIMESTAMP_FREQUENCY, ×tamp_hz)); - timestamp_factor_ = (freq_t)1000000000 / (freq_t)timestamp_hz; - } - - // Return timestamp in 'ns' - timestamp_t timestamp_ns() { - timestamp_t timestamp; - HSART_CALL(hsa_system_get_info(HSA_SYSTEM_INFO_TIMESTAMP, ×tamp)); - return timestamp_t((freq_t)timestamp * timestamp_factor_); - } - - freq_t timestamp_factor() const { return timestamp_factor_; } - - private: - // Timestamp frequency factor - freq_t timestamp_factor_; -}; - CONSTRUCTOR_API void constructor() { util::Logger::Create(); } @@ -290,52 +254,51 @@ DESTRUCTOR_API void destructor() { util::Logger::Destroy(); } -roctracer_record_t* ActivityCallback( +roctracer_record_t* SyncActivityCallback( uint32_t activity_kind, roctracer_record_t* record, const void* callback_data, void* arg) { - static Timer timer; + static hsa_rt_utils::Timer timer; - const hip_cb_data_t* data = reinterpret_cast(callback_data); + const hip_api_data_t* data = reinterpret_cast(callback_data); MemoryPool* pool = reinterpret_cast(arg); if (pool == NULL) EXC_ABORT(ROCTRACER_STATUS_ERROR, "ActivityCallback pool is NULL"); - if (data->phase == ROCTRACER_API_PHASE_ENTER) { - record->domain = ROCTRACER_DOMAIN_HIP_API; + if (data->phase == ACTIVITY_API_PHASE_ENTER) { + record->domain = ACTIVITY_DOMAIN_HIP_API; record->activity_kind = activity_kind; record->begin_ns = timer.timestamp_ns(); // Correlation ID generating uint64_t correlation_id = data->correlation_id; if (correlation_id == 0) { correlation_id = GlobalCounter::Increment(); - const_cast(data)->correlation_id = correlation_id; + const_cast(data)->correlation_id = correlation_id; } record->correlation_id = correlation_id; // Passing record to HCC - HSAOp_set_activity_record(correlation_id); + Kalmar::CLAMP::SetActivityRecord(correlation_id); return record; } else { record->end_ns = timer.timestamp_ns(); + Kalmar::CLAMP::GetActivityCoord(&(record->device_id), &(record->stream_id)); pool->Write(*record); // Clearing record in HCC - HSAOp_set_activity_record(0); + Kalmar::CLAMP::SetActivityRecord(0); return NULL; } } -void ActivityAsyncCallback( +void AsyncActivityCallback( uint32_t op_id, void* record, void* arg) { - static Timer timer; + static hsa_rt_utils::Timer timer; MemoryPool* pool = reinterpret_cast(arg); - roctracer_async_record_t* record_ptr = reinterpret_cast(record); - record_ptr->domain = ROCTRACER_DOMAIN_HCC_OPS; - record_ptr->begin_ns *= timer.timestamp_factor(); - record_ptr->end_ns *= timer.timestamp_factor(); + roctracer_record_t* record_ptr = reinterpret_cast(record); + record_ptr->domain = ACTIVITY_DOMAIN_HCC_OPS; pool->Write(*record_ptr); } @@ -360,24 +323,17 @@ PUBLIC_API const char* roctracer_error_string() { return strdup(roctracer::util::Logger::LastMessage().c_str()); } -// Validates tracing domains revisions consistency -PUBLIC_API roctracer_status_t roctracer_validate_domains() { - API_METHOD_PREFIX - HIPAPI_CALL(hipValidateActivityRecord()); - API_METHOD_SUFFIX -} - // Return ID string by given domain and activity/API ID // NULL returned on the error and the library errno is set PUBLIC_API const char* roctracer_id_string(const uint32_t& domain, const uint32_t& id) { API_METHOD_PREFIX switch (domain) { - case ROCTRACER_DOMAIN_HIP_API: { - return hipApiName(id); + case ACTIVITY_DOMAIN_HCC_OPS: { + return Kalmar::CLAMP::GetCmdName(id); break; } - case ROCTRACER_DOMAIN_HCC_OPS: { - return HSAOp_get_name(id); + case ACTIVITY_DOMAIN_HIP_API: { + return hipApiName(id); break; } default: @@ -390,15 +346,16 @@ PUBLIC_API const char* roctracer_id_string(const uint32_t& domain, const uint32_ PUBLIC_API roctracer_status_t roctracer_enable_api_callback( roctracer_domain_t domain, uint32_t cid, - roctracer_api_callback_t callback, + roctracer_rtapi_callback_t callback, void* user_data) { API_METHOD_PREFIX switch (domain) { - case ROCTRACER_DOMAIN_ANY: - if (cid != HIP_API_ID_ANY) HIP_EXC_RAISING(ROCTRACER_STATUS_BAD_PARAMETER, "DOMAIN_ANY and cid != HIP_API_ID_ANY"); - case ROCTRACER_DOMAIN_HIP_API: { - hipError_t hip_err = hipRegisterApiCallback(cid, callback, user_data); + case ACTIVITY_DOMAIN_ANY: + if (cid != 0) HIP_EXC_RAISING(ROCTRACER_STATUS_BAD_PARAMETER, "DOMAIN_ANY and cid != 0"); + cid = HIP_API_ID_ANY; + case ACTIVITY_DOMAIN_HIP_API: { + hipError_t hip_err = hipRegisterApiCallback(cid, (void*)callback, user_data); if (hip_err != hipSuccess) HIP_EXC_RAISING(ROCTRACER_STATUS_HIP_API_ERR, "hipRegisterApiCallback error(" << hip_err << ")"); break; } @@ -415,9 +372,10 @@ PUBLIC_API roctracer_status_t roctracer_disable_api_callback( { API_METHOD_PREFIX switch (domain) { - case ROCTRACER_DOMAIN_ANY: - if (cid != HIP_API_ID_ANY) HIP_EXC_RAISING(ROCTRACER_STATUS_BAD_PARAMETER, "DOMAIN_ANY and cid != HIP_API_ID_ANY"); - case ROCTRACER_DOMAIN_HIP_API: { + case ACTIVITY_DOMAIN_ANY: + if (cid != 0) HIP_EXC_RAISING(ROCTRACER_STATUS_BAD_PARAMETER, "DOMAIN_ANY and cid != 0"); + cid = HIP_API_ID_ANY; + case ACTIVITY_DOMAIN_HIP_API: { hipError_t hip_err = hipRemoveApiCallback(cid); if (hip_err != hipSuccess) HIP_EXC_RAISING(ROCTRACER_STATUS_HIP_API_ERR, "hipRemoveApiCallback error(" << hip_err << ")"); break; @@ -468,16 +426,24 @@ PUBLIC_API roctracer_status_t roctracer_close_pool(roctracer_pool_t* pool) { // Enable activity records logging PUBLIC_API roctracer_status_t roctracer_enable_api_activity( roctracer_domain_t domain, - uint32_t activity_kind, + uint32_t activity_id, roctracer_pool_t* pool) { API_METHOD_PREFIX if (pool == NULL) pool = roctracer_default_pool(); switch (domain) { - case ROCTRACER_DOMAIN_ANY: - if (activity_kind != HIP_API_ID_ANY) HIP_EXC_RAISING(ROCTRACER_STATUS_BAD_PARAMETER, "DOMAIN_ANY and activity_kind != HIP_API_ID_ANY"); - case ROCTRACER_DOMAIN_HIP_API: { - const hipError_t hip_err = hipRegisterActivityCallback(activity_kind, roctracer::ActivityCallback, roctracer::ActivityAsyncCallback, pool); + case ACTIVITY_DOMAIN_ANY: + if (activity_id != 0) HIP_EXC_RAISING(ROCTRACER_STATUS_BAD_PARAMETER, "DOMAIN_ANY and activity_id != 0"); + roctracer_enable_api_activity(ACTIVITY_DOMAIN_HCC_OPS, hc::HSA_OP_ID_ANY, pool); + roctracer_enable_api_activity(ACTIVITY_DOMAIN_HIP_API, HIP_API_ID_ANY, pool); + break; + case ACTIVITY_DOMAIN_HCC_OPS: { + const bool err = Kalmar::CLAMP::SetActivityCallback(activity_id, (void*)roctracer::AsyncActivityCallback, (void*)pool); + if (err == true) HCC_EXC_RAISING(ROCTRACER_STATUS_HCC_OPS_ERR, "Kalmar::CLAMP::SetActivityCallback error"); + break; + } + case ACTIVITY_DOMAIN_HIP_API: { + const hipError_t hip_err = hipRegisterActivityCallback(activity_id, (void*)roctracer::SyncActivityCallback, (void*)pool); if (hip_err != hipSuccess) HIP_EXC_RAISING(ROCTRACER_STATUS_HIP_API_ERR, "hipRegisterActivityCallback error(" << hip_err << ")"); break; } @@ -490,14 +456,22 @@ PUBLIC_API roctracer_status_t roctracer_enable_api_activity( // Disable activity records logging PUBLIC_API roctracer_status_t roctracer_disable_api_activity( roctracer_domain_t domain, - uint32_t activity_kind) + uint32_t activity_id) { API_METHOD_PREFIX switch (domain) { - case ROCTRACER_DOMAIN_ANY: - if (activity_kind != HIP_API_ID_ANY) HIP_EXC_RAISING(ROCTRACER_STATUS_BAD_PARAMETER, "DOMAIN_ANY and activity_kind != HIP_API_ID_ANY"); - case ROCTRACER_DOMAIN_HIP_API: { - const hipError_t hip_err = hipRemoveActivityCallback(activity_kind); + case ACTIVITY_DOMAIN_ANY: + if (activity_id != 0) HIP_EXC_RAISING(ROCTRACER_STATUS_BAD_PARAMETER, "DOMAIN_ANY and activity_id != 0"); + roctracer_disable_api_activity(ACTIVITY_DOMAIN_HCC_OPS, hc::HSA_OP_ID_ANY); + roctracer_disable_api_activity(ACTIVITY_DOMAIN_HIP_API, HIP_API_ID_ANY); + break; + case ACTIVITY_DOMAIN_HCC_OPS: { + const bool err = Kalmar::CLAMP::SetActivityCallback(activity_id, NULL, NULL); + if (err == true) HCC_EXC_RAISING(ROCTRACER_STATUS_HCC_OPS_ERR, "Kalmar::CLAMP::SetActivityCallback(NULL) error"); + break; + } + case ACTIVITY_DOMAIN_HIP_API: { + const hipError_t hip_err = hipRemoveActivityCallback(activity_id); if (hip_err != hipSuccess) HIP_EXC_RAISING(ROCTRACER_STATUS_HIP_API_ERR, "hipRemoveActivityCallback error(" << hip_err << ")"); break; } diff --git a/src/util/exception.h b/src/util/exception.h index 96c91c0804..a14f9d4e55 100644 --- a/src/util/exception.h +++ b/src/util/exception.h @@ -6,24 +6,29 @@ #include #define EXC_ABORT(error, stream) \ - { \ + do { \ std::ostringstream oss; \ oss << __FUNCTION__ << "(), " << stream; \ std::cout << oss.str() << std::endl; \ abort(); \ - } + } while (0) #define EXC_RAISING(error, stream) \ - { \ + do { \ std::ostringstream oss; \ oss << __FUNCTION__ << "(), " << stream; \ throw roctracer::util::exception(error, oss.str()); \ - } + } while (0) + +#define HCC_EXC_RAISING(error, stream) \ + do { \ + EXC_RAISING(error, "HCC error: " << stream); \ + } while(0) #define HIP_EXC_RAISING(error, stream) \ - { \ - EXC_RAISING(error, "HIP error: " << stream); \ - } + do { \ + EXC_RAISING(error, "HIP error: " << stream); \ + } while(0) namespace roctracer { namespace util { diff --git a/test/MatrixTranspose/Makefile b/test/MatrixTranspose/Makefile index ab1ad4c78e..7c22dbb3a2 100644 --- a/test/MatrixTranspose/Makefile +++ b/test/MatrixTranspose/Makefile @@ -3,35 +3,30 @@ LIB_PATH=$(ROOT_PATH)/build LIB_NAME=roctracer64 ROC_LIBS=-L$(LIB_PATH) -l$(LIB_NAME) -HIPCC=$(HIP_PATH)/bin/hipcc -HCC_LIBS=-L$(HCC_HOME)/lib -lmcwamp_hsa - +EXECUTABLE=./MatrixTranspose SOURCES = MatrixTranspose.cpp OBJECTS = $(SOURCES:.cpp=.o) -EXECUTABLE=./MatrixTranspose -export LD_LIBRARY_PATH=$(LIB_PATH):$(HIP_PATH)/lib:$(HCC_HOME)/lib +ITERATIONS?=100 + +HIPCC=$(HIP_PATH)/bin/hipcc + +CXX=$(HIPCC) +CXXFLAGS =-g -I$(ROOT_PATH) -I$(ROOT_PATH)/inc -DITERATIONS=$(ITERATIONS) + +export LD_LIBRARY_PATH=$(LIB_PATH) +#export LD_LIBRARY_PATH=$(LIB_PATH):$(HIP_PATH)/lib .PHONY: test -ITERATIONS?=100 - all: clean $(EXECUTABLE) test -CXXFLAGS =-g -I$(ROOT_PATH) -I$(ROOT_PATH)/inc -DITERATIONS=$(ITERATIONS) -CXX=$(HIPCC) - - $(EXECUTABLE): $(OBJECTS) $(HIPCC) $(OBJECTS) -o $@ $(HCC_LIBS) $(ROC_LIBS) - test: $(EXECUTABLE) HCC_PROFILE=1 $(EXECUTABLE) - clean: rm -f $(EXECUTABLE) rm -f $(OBJECTS) - rm -f $(HIP_PATH)/src/*.o - diff --git a/test/MatrixTranspose/MatrixTranspose.cpp b/test/MatrixTranspose/MatrixTranspose.cpp index a2b14676a0..4ddce2a8eb 100644 --- a/test/MatrixTranspose/MatrixTranspose.cpp +++ b/test/MatrixTranspose/MatrixTranspose.cpp @@ -56,8 +56,8 @@ void matrixTransposeCPUReference(float* output, float* input, const unsigned int } int iterations = ITERATIONS; -void init_tracing(); -void finish_tracing(); +void start_tracing(); +void stop_tracing(); int main() { float* Matrix; @@ -75,8 +75,8 @@ int main() { int i; int errors; - init_tracing(); while (iterations-- > 0) { + start_tracing(); Matrix = (float*)malloc(NUM * sizeof(float)); TransposeMatrix = (float*)malloc(NUM * sizeof(float)); @@ -128,8 +128,8 @@ int main() { free(TransposeMatrix); free(cpuTransposeMatrix); + stop_tracing(); } - finish_tracing(); return errors; } @@ -138,7 +138,8 @@ int main() { // HIP Callbacks/Activity tracing // #if 1 -#include +#include +#include // Macro to check ROC-tracer calls status #define ROCTRACER_CALL(call) \ @@ -158,13 +159,13 @@ void hip_api_callback( void* arg) { (void)arg; - const hip_cb_data_t* data = reinterpret_cast(callback_data); + const hip_api_data_t* data = reinterpret_cast(callback_data); fprintf(stdout, "<%s id(%u)\tcorrelation_id(%lu) %s> ", - roctracer_id_string(ROCTRACER_DOMAIN_HIP_API, cid), + roctracer_id_string(ACTIVITY_DOMAIN_HIP_API, cid), cid, data->correlation_id, - (data->phase == ROCTRACER_API_PHASE_ENTER) ? "on-enter" : "on-exit"); - if (data->phase == ROCTRACER_API_PHASE_ENTER) { + (data->phase == ACTIVITY_API_PHASE_ENTER) ? "on-enter" : "on-exit"); + if (data->phase == ACTIVITY_API_PHASE_ENTER) { switch (cid) { case HIP_API_ID_hipMemcpy: fprintf(stdout, "dst(%p) src(%p) size(0x%x) kind(%u)", @@ -211,46 +212,46 @@ void activity_callback(const char* begin, const char* end, void* arg) { fprintf(stdout, "\tActivity records:\n"); fflush(stdout); while (record < end_record) { const char * name = roctracer_id_string(record->domain, record->activity_kind); - fprintf(stdout, "\t%s op(%u) id(%u)\tcorrelation_id(%lu) time_ns(%lu:%lu)", + fprintf(stdout, "\t%s op(%u) id(%u)\tcorrelation_id(%lu) time_ns(%lu:%lu) device_id(%d) stream_id(%lu)", name, record->op_id, record->activity_kind, record->correlation_id, record->begin_ns, - record->end_ns + record->end_ns, + record->device_id, + record->stream_id ); - if (record->op_id != 0) { - const roctracer_async_record_t* async_record = reinterpret_cast(record); - fprintf(stdout, " device_id(%d) stream_id(%lu)", async_record->device_id, async_record->stream_id); - if (record->op_id == 2) fprintf(stdout, " bytes(0x%zx)", async_record->bytes); - } + if (record->op_id == hc::HSA_OP_ID_COPY) fprintf(stdout, " bytes(0x%zx)", record->bytes); fprintf(stdout, "\n"); fflush(stdout); ROCTRACER_CALL(roctracer_next_record(record, &record)); } } -// Initialize function -void init_tracing() { - // Check tracer domains consitency - ROCTRACER_CALL(roctracer_validate_domains()); - // Enable HIP API callbacks - ROCTRACER_CALL(roctracer_enable_api_callback(ROCTRACER_DOMAIN_ANY, HIP_API_ID_ANY, hip_api_callback, NULL)); - // Enable HIP activity tracing +// Start tracing routine +void start_tracing() { + std::cout << "# START #############################" << std::endl << std::flush; + // Allocating tracing pool roctracer_properties_t properties{}; properties.buffer_size = 12; properties.buffer_callback_fun = activity_callback; ROCTRACER_CALL(roctracer_open_pool(&properties)); - ROCTRACER_CALL(roctracer_enable_api_activity(ROCTRACER_DOMAIN_ANY, HIP_API_ID_ANY)); + // Enable HIP API callbacks + ROCTRACER_CALL(roctracer_enable_api_callback(ACTIVITY_DOMAIN_ANY, 0, hip_api_callback, NULL)); + // Enable HIP activity tracing + ROCTRACER_CALL(roctracer_enable_api_activity(ACTIVITY_DOMAIN_ANY, 0)); } -void finish_tracing() { - ROCTRACER_CALL(roctracer_disable_api_callback(ROCTRACER_DOMAIN_ANY, HIP_API_ID_ANY)); - ROCTRACER_CALL(roctracer_disable_api_activity(ROCTRACER_DOMAIN_ANY, HIP_API_ID_ANY)); +// Stop tracing routine +void stop_tracing() { + ROCTRACER_CALL(roctracer_disable_api_callback(ACTIVITY_DOMAIN_ANY, 0)); + ROCTRACER_CALL(roctracer_disable_api_activity(ACTIVITY_DOMAIN_ANY, 0)); ROCTRACER_CALL(roctracer_close_pool()); + std::cout << "# STOP #############################" << std::endl << std::flush; } #else -void init_tracing() {} -void finish_tracing() {} +void start_tracing() {} +void stop_tracing() {} #endif //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// From db0c1959b19d50388e854273d2e3e77fc8e898d2 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Wed, 8 Aug 2018 13:43:01 -0500 Subject: [PATCH 020/691] update --- README.md | 8 ++++++-- test/MatrixTranspose/Makefile | 24 ++++++++++++------------ 2 files changed, 18 insertions(+), 14 deletions(-) diff --git a/README.md b/README.md index f20093433d..93689e27f9 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,7 @@ The library source tree: ## Environment example ``` export HIP_PATH=/opt/rocm/hip - export HCC_HOME=/opt/rocm/hcc + export HCC_PATH=/opt/rocm/hcc export CMAKE_PREFIX_PATH=/opt/rocm/lib:/opt/rocm/include/hsa ``` @@ -27,7 +27,11 @@ The library source tree: ## To rebuild and run test ``` - export ITERATIONS= + - Set iterations number, 100 by default + export ITERATIONS= + + - Set HCC_HOME env var to use custom HCC build + cd /roctracer/test/MatrixTranspose make ``` diff --git a/test/MatrixTranspose/Makefile b/test/MatrixTranspose/Makefile index 7c22dbb3a2..56780b1237 100644 --- a/test/MatrixTranspose/Makefile +++ b/test/MatrixTranspose/Makefile @@ -1,23 +1,21 @@ -ROOT_PATH=../.. -LIB_PATH=$(ROOT_PATH)/build -LIB_NAME=roctracer64 -ROC_LIBS=-L$(LIB_PATH) -l$(LIB_NAME) +ROOT_PATH = ../.. +LIB_PATH = $(ROOT_PATH)/build +LIB_NAME = roctracer64 +ROC_LIBS = -L$(LIB_PATH) -l$(LIB_NAME) -EXECUTABLE=./MatrixTranspose -SOURCES = MatrixTranspose.cpp -OBJECTS = $(SOURCES:.cpp=.o) +EXECUTABLE = ./MatrixTranspose +SOURCES = MatrixTranspose.cpp +OBJECTS = $(SOURCES:.cpp=.o) -ITERATIONS?=100 +ITERATIONS ?= 100 -HIPCC=$(HIP_PATH)/bin/hipcc +HIP_PATH ?= /opt/rocm/hip +HIPCC = $(HIP_PATH)/bin/hipcc CXX=$(HIPCC) CXXFLAGS =-g -I$(ROOT_PATH) -I$(ROOT_PATH)/inc -DITERATIONS=$(ITERATIONS) export LD_LIBRARY_PATH=$(LIB_PATH) -#export LD_LIBRARY_PATH=$(LIB_PATH):$(HIP_PATH)/lib - -.PHONY: test all: clean $(EXECUTABLE) test @@ -30,3 +28,5 @@ test: $(EXECUTABLE) clean: rm -f $(EXECUTABLE) rm -f $(OBJECTS) + +.PHONY: all test clean From a27f63b110f2ad3351f3ee8265a22cdc90ca5c1f Mon Sep 17 00:00:00 2001 From: Evgeny Date: Wed, 8 Aug 2018 15:47:30 -0500 Subject: [PATCH 021/691] licensing annotation --- LICENSE | 14 ++++---- README.md | 4 +++ inc/roctracer.h | 62 ++++++++++++---------------------- inc/roctracer/hsa_rt_utils.hpp | 62 ++++++++++++---------------------- inc/roctracer/prof_protocol.h | 62 ++++++++++++---------------------- inc/roctracer_hcc.h | 62 ++++++++++++---------------------- inc/roctracer_hip.h | 62 ++++++++++++---------------------- src/core/roctracer.cpp | 22 ++++++++++++ src/util/exception.h | 22 ++++++++++++ src/util/hsa_rsrc_factory.cpp | 38 ++++++++++----------- src/util/hsa_rsrc_factory.h | 38 ++++++++++----------- src/util/logger.h | 22 ++++++++++++ 12 files changed, 217 insertions(+), 253 deletions(-) diff --git a/LICENSE b/LICENSE index 73e11eb87e..9e78331e70 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,4 @@ -MIT License - -Copyright (c) 2017 ROCm Core Technology +Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -9,13 +7,13 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/README.md b/README.md index 93689e27f9..863257a76c 100644 --- a/README.md +++ b/README.md @@ -32,6 +32,10 @@ The library source tree: - Set HCC_HOME env var to use custom HCC build + /roctracer/build$ make mytest + + or + cd /roctracer/test/MatrixTranspose make ``` diff --git a/inc/roctracer.h b/inc/roctracer.h index 4120bbf50f..9aab43e4e5 100644 --- a/inc/roctracer.h +++ b/inc/roctracer.h @@ -1,44 +1,24 @@ -//////////////////////////////////////////////////////////////////////////////// -// -// The University of Illinois/NCSA -// Open Source License (NCSA) -// -// Copyright (c) 2014-2015, Advanced Micro Devices, Inc. All rights reserved. -// -// Developed by: -// -// AMD Research and AMD HSA Software Development -// -// Advanced Micro Devices, Inc. -// -// www.amd.com -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to -// deal with the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: -// -// - Redistributions of source code must retain the above copyright notice, -// this list of conditions and the following disclaimers. -// - Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimers in -// the documentation and/or other materials provided with the distribution. -// - Neither the names of Advanced Micro Devices, Inc, -// nor the names of its contributors may be used to endorse or promote -// products derived from this Software without specific prior written -// permission. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -// THE CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR -// OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, -// ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -// DEALINGS WITH THE SOFTWARE. -// -//////////////////////////////////////////////////////////////////////////////// +/* +Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +*/ //////////////////////////////////////////////////////////////////////////////// // diff --git a/inc/roctracer/hsa_rt_utils.hpp b/inc/roctracer/hsa_rt_utils.hpp index ea6cf32f28..9cc96759c4 100644 --- a/inc/roctracer/hsa_rt_utils.hpp +++ b/inc/roctracer/hsa_rt_utils.hpp @@ -1,44 +1,24 @@ -//////////////////////////////////////////////////////////////////////////////// -// -// The University of Illinois/NCSA -// Open Source License (NCSA) -// -// Copyright (c) 2014-2015, Advanced Micro Devices, Inc. All rights reserved. -// -// Developed by: -// -// AMD Research and AMD HSA Software Development -// -// Advanced Micro Devices, Inc. -// -// www.amd.com -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to -// deal with the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: -// -// - Redistributions of source code must retain the above copyright notice, -// this list of conditions and the following disclaimers. -// - Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimers in -// the documentation and/or other materials provided with the distribution. -// - Neither the names of Advanced Micro Devices, Inc, -// nor the names of its contributors may be used to endorse or promote -// products derived from this Software without specific prior written -// permission. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -// THE CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR -// OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, -// ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -// DEALINGS WITH THE SOFTWARE. -// -//////////////////////////////////////////////////////////////////////////////// +/* +Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +*/ #ifndef INC_ROCTRACER_HSA_RT_UTILS_HPP_ #define INC_ROCTRACER_HSA_RT_UTILS_HPP_ diff --git a/inc/roctracer/prof_protocol.h b/inc/roctracer/prof_protocol.h index 95dbb76016..5acd0c1e6b 100644 --- a/inc/roctracer/prof_protocol.h +++ b/inc/roctracer/prof_protocol.h @@ -1,44 +1,24 @@ -//////////////////////////////////////////////////////////////////////////////// -// -// The University of Illinois/NCSA -// Open Source License (NCSA) -// -// Copyright (c) 2014-2015, Advanced Micro Devices, Inc. All rights reserved. -// -// Developed by: -// -// AMD Research and AMD HSA Software Development -// -// Advanced Micro Devices, Inc. -// -// www.amd.com -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to -// deal with the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: -// -// - Redistributions of source code must retain the above copyright notice, -// this list of conditions and the following disclaimers. -// - Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimers in -// the documentation and/or other materials provided with the distribution. -// - Neither the names of Advanced Micro Devices, Inc, -// nor the names of its contributors may be used to endorse or promote -// products derived from this Software without specific prior written -// permission. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -// THE CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR -// OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, -// ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -// DEALINGS WITH THE SOFTWARE. -// -//////////////////////////////////////////////////////////////////////////////// +/* +Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +*/ #ifndef INC_ROCTRACER_PROF_PROTOCOL_H_ #define INC_ROCTRACER_PROF_PROTOCOL_H_ diff --git a/inc/roctracer_hcc.h b/inc/roctracer_hcc.h index 159014d3f2..8cedebe498 100644 --- a/inc/roctracer_hcc.h +++ b/inc/roctracer_hcc.h @@ -1,44 +1,24 @@ -//////////////////////////////////////////////////////////////////////////////// -// -// The University of Illinois/NCSA -// Open Source License (NCSA) -// -// Copyright (c) 2014-2015, Advanced Micro Devices, Inc. All rights reserved. -// -// Developed by: -// -// AMD Research and AMD HSA Software Development -// -// Advanced Micro Devices, Inc. -// -// www.amd.com -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to -// deal with the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: -// -// - Redistributions of source code must retain the above copyright notice, -// this list of conditions and the following disclaimers. -// - Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimers in -// the documentation and/or other materials provided with the distribution. -// - Neither the names of Advanced Micro Devices, Inc, -// nor the names of its contributors may be used to endorse or promote -// products derived from this Software without specific prior written -// permission. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -// THE CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR -// OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, -// ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -// DEALINGS WITH THE SOFTWARE. -// -//////////////////////////////////////////////////////////////////////////////// +/* +Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +*/ #ifndef INC_ROCTRACER_HCC_H_ #define INC_ROCTRACER_HCC_H_ diff --git a/inc/roctracer_hip.h b/inc/roctracer_hip.h index 899f7e0cca..c0a5ccce5e 100644 --- a/inc/roctracer_hip.h +++ b/inc/roctracer_hip.h @@ -1,44 +1,24 @@ -//////////////////////////////////////////////////////////////////////////////// -// -// The University of Illinois/NCSA -// Open Source License (NCSA) -// -// Copyright (c) 2014-2015, Advanced Micro Devices, Inc. All rights reserved. -// -// Developed by: -// -// AMD Research and AMD HSA Software Development -// -// Advanced Micro Devices, Inc. -// -// www.amd.com -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to -// deal with the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: -// -// - Redistributions of source code must retain the above copyright notice, -// this list of conditions and the following disclaimers. -// - Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimers in -// the documentation and/or other materials provided with the distribution. -// - Neither the names of Advanced Micro Devices, Inc, -// nor the names of its contributors may be used to endorse or promote -// products derived from this Software without specific prior written -// permission. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -// THE CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR -// OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, -// ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -// DEALINGS WITH THE SOFTWARE. -// -//////////////////////////////////////////////////////////////////////////////// +/* +Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +*/ #ifndef INC_ROCTRACER_HIP_H_ #define INC_ROCTRACER_HIP_H_ diff --git a/src/core/roctracer.cpp b/src/core/roctracer.cpp index 49920af165..b081bff88d 100644 --- a/src/core/roctracer.cpp +++ b/src/core/roctracer.cpp @@ -1,3 +1,25 @@ +/* +Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +*/ + #include "inc/roctracer.h" #include "inc/roctracer_hcc.h" //#include "inc/roctracer_hip.h" diff --git a/src/util/exception.h b/src/util/exception.h index a14f9d4e55..33cda9df71 100644 --- a/src/util/exception.h +++ b/src/util/exception.h @@ -1,3 +1,25 @@ +/* +Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +*/ + #ifndef SRC_UTIL_EXCEPTION_H_ #define SRC_UTIL_EXCEPTION_H_ diff --git a/src/util/hsa_rsrc_factory.cpp b/src/util/hsa_rsrc_factory.cpp index 4893813534..6eba3c19d6 100644 --- a/src/util/hsa_rsrc_factory.cpp +++ b/src/util/hsa_rsrc_factory.cpp @@ -1,26 +1,24 @@ -/********************************************************************** -Copyright ©2013 Advanced Micro Devices, Inc. All rights reserved. +/* +Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. -Redistribution and use in source and binary forms, with or without modification, are permitted -provided that the following conditions are met: +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -<95> Redistributions of source code must retain the above copyright notice, this list of -conditions and the following disclaimer. -<95> Redistributions in binary form must reproduce the above copyright notice, this list of -conditions and the following disclaimer in the documentation and/or - other materials provided with the distribution. +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT -SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY - DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -********************************************************************/ +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +*/ #include "util/hsa_rsrc_factory.h" diff --git a/src/util/hsa_rsrc_factory.h b/src/util/hsa_rsrc_factory.h index b946c969bf..845da985f2 100644 --- a/src/util/hsa_rsrc_factory.h +++ b/src/util/hsa_rsrc_factory.h @@ -1,26 +1,24 @@ -/********************************************************************** -Copyright ©2013 Advanced Micro Devices, Inc. All rights reserved. +/* +Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. -Redistribution and use in source and binary forms, with or without modification, are permitted -provided that the following conditions are met: +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -<95> Redistributions of source code must retain the above copyright notice, this list of -conditions and the following disclaimer. -<95> Redistributions in binary form must reproduce the above copyright notice, this list of -conditions and the following disclaimer in the documentation and/or - other materials provided with the distribution. +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT -SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY - DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -********************************************************************/ +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +*/ #ifndef _HSA_RSRC_FACTORY_H_ #define _HSA_RSRC_FACTORY_H_ diff --git a/src/util/logger.h b/src/util/logger.h index 8e34a11873..d0b9640737 100644 --- a/src/util/logger.h +++ b/src/util/logger.h @@ -1,3 +1,25 @@ +/* +Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +*/ + #ifndef SRC_UTIL_LOGGER_H_ #define SRC_UTIL_LOGGER_H_ From d7a1ec8e4fd7d649b62012239a1594126a9aa5cb Mon Sep 17 00:00:00 2001 From: eshcherb <33529668+eshcherb@users.noreply.github.com> Date: Sun, 26 Aug 2018 18:02:53 -0500 Subject: [PATCH 022/691] Update README.md --- README.md | 50 +++++++++++++++++++++++++++++--------------------- 1 file changed, 29 insertions(+), 21 deletions(-) diff --git a/README.md b/README.md index 863257a76c..54e12e1029 100644 --- a/README.md +++ b/README.md @@ -11,31 +11,39 @@ The library source tree: - test - test suit - MatrixTranspose - test based on HIP MatrixTranspose sample -## Environment example +## To build and run test ``` - export HIP_PATH=/opt/rocm/hip - export HCC_PATH=/opt/rocm/hcc + cd + + - CLone roctracer and custom branches of HIP/HCC: + git clone -b amd-master https://github.com/ROCmSoftwarePlatform/roctracer.git + git clone -b roctracer-hip-frontend-180826 https://github.com/eshcherb/HIP.git + git clone --recursive -b roctracer-hip-frontend-180823 https://github.com/eshcherb/hcc.git + + - Set environment: + export HIP_PATH=/HIP + export HCC_PATH=/hcc + export HCC_HOME=/hcc/lib export CMAKE_PREFIX_PATH=/opt/rocm/lib:/opt/rocm/include/hsa -``` -## To build -``` - cd /roctracer/build - cmake .. - make -``` - -## To rebuild and run test -``` - - Set iterations number, 100 by default - export ITERATIONS= - - - Set HCC_HOME env var to use custom HCC build - - /roctracer/build$ make mytest - - or + - Build HCC: + cd /hcc + mkdir build && cd build && cmake -DUSE_PROF_API=1 .. && make -j + + - Build HIP: + cd /HIP && mkdir build && cd build && cmake -DUSE_PROF_API=1 .. && make -j + ln -s HIP/build HIP/lib + + - Build ROCtracer + cd /roctracer && mkdir build && cd build && cmake .. && make -j + - To run test + make mytest + + or cd /roctracer/test/MatrixTranspose make + + Set test iterations number, 100 by default + export ITERATIONS= ``` From 022da9184fa8329111b8ce1b9ff6257af40b1805 Mon Sep 17 00:00:00 2001 From: eshcherb <33529668+eshcherb@users.noreply.github.com> Date: Sun, 26 Aug 2018 18:03:33 -0500 Subject: [PATCH 023/691] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 54e12e1029..ad5b6216e6 100644 --- a/README.md +++ b/README.md @@ -44,6 +44,6 @@ The library source tree: cd /roctracer/test/MatrixTranspose make - Set test iterations number, 100 by default + set test iterations number, 100 by default export ITERATIONS= ``` From 324623cbac0f253ad95046602b65b1000a78d14a Mon Sep 17 00:00:00 2001 From: Evgeny Date: Sun, 26 Aug 2018 19:11:31 -0500 Subject: [PATCH 024/691] API update --- inc/roctracer.h | 74 +++++++++++++----------- inc/roctracer/prof_protocol.h | 6 +- src/core/roctracer.cpp | 54 ++++++++++------- test/MatrixTranspose/MatrixTranspose.cpp | 16 +++-- 4 files changed, 82 insertions(+), 68 deletions(-) diff --git a/inc/roctracer.h b/inc/roctracer.h index 9aab43e4e5..9de39ceae4 100644 --- a/inc/roctracer.h +++ b/inc/roctracer.h @@ -85,13 +85,13 @@ typedef activity_domain_t roctracer_domain_t; // Return ID string by given domain and activity/API ID // NULL returned on the error and the library errno is set const char* roctracer_id_string( - const uint32_t& domain, // API domain - const uint32_t& cid); // API call ID + const uint32_t& domain, // tracing domain + const uint32_t& id); // activity ID //////////////////////////////////////////////////////////////////////////////// // Callback API // -// ROC profiler frontend provides support for runtime API callbacks and activity +// ROC tracer provides support for runtime API callbacks and activity // records logging. The API callbacks provide the API calls arguments and are // called on different phases, on enter, on exit, on kernel completion. // Methods return non-zero on error and library errno is set. @@ -100,15 +100,17 @@ typedef activity_rtapi_callback_t roctracer_rtapi_callback_t; // Enable runtime API callbacks roctracer_status_t roctracer_enable_api_callback( - activity_domain_t domain, // runtime API domain - uint32_t cid, // API call ID - activity_rtapi_callback_t callback, // callback function pointer - void* arg); // [in/out] callback arg + activity_domain_t domain, // runtime API domain + uint32_t kind, // API kind + uint32_t id, // API call ID + activity_rtapi_callback_t callback, // callback function pointer + void* arg); // [in/out] callback arg // Disable runtime API callbacks roctracer_status_t roctracer_disable_api_callback( - activity_domain_t domain, // runtime API domain - uint32_t cid); // API call ID + activity_domain_t domain, // runtime API domain + uint32_t kind, // API kind + uint32_t id); // API call ID //////////////////////////////////////////////////////////////////////////////// // Activity API @@ -124,8 +126,8 @@ typedef activity_record_t roctracer_record_t; // Return next record static inline int roctracer_next_record( - const activity_record_t* record, // [in] record ptr - const activity_record_t** next) // [out] next record ptr + const activity_record_t* record, // [in] record ptr + const activity_record_t** next) // [out] next record ptr { *next = record + 1; return ROCTRACER_STATUS_SUCCESS; @@ -133,24 +135,24 @@ static inline int roctracer_next_record( // Tracer allocator type typedef void (*roctracer_allocator_t)( - char** ptr, // memory pointer - size_t size, // memory size - void* arg); // allocator arg + char** ptr, // memory pointer + size_t size, // memory size + void* arg); // allocator arg // Pool callback type typedef void (*roctracer_buffer_callback_t)( - const char* begin, // [in] available buffered trace records - const char* end, // [in] end of buffered trace records - void* arg); // [in/out] callback arg + const char* begin, // [in] available buffered trace records + const char* end, // [in] end of buffered trace records + void* arg); // [in/out] callback arg // Tracer properties typedef struct { - uint32_t mode; // roctracer mode - size_t buffer_size; // buffer size - roctracer_allocator_t alloc_fun; // memory alocator function pointer - void* alloc_arg; // memory alocator function pointer - roctracer_buffer_callback_t buffer_callback_fun; // tracer record callback function - void* buffer_callback_arg; // tracer record callback arg + uint32_t mode; // roctracer mode + size_t buffer_size; // buffer size + roctracer_allocator_t alloc_fun; // memory alocator function pointer + void* alloc_arg; // memory alocator function pointer + roctracer_buffer_callback_t buffer_callback_fun; // tracer record callback function + void* buffer_callback_arg; // tracer record callback arg } roctracer_properties_t; // Tracer memory pool type @@ -159,34 +161,36 @@ typedef void roctracer_pool_t; // Create tracer memory pool // The first invocation sets the default pool roctracer_status_t roctracer_open_pool( - const roctracer_properties_t* properties, // tracer pool properties - roctracer_pool_t** pool = NULL); // [out] returns tracer pool if not NULL, - // otherwise sets the default one if it is not set yet - // otherwise the error is generated + const roctracer_properties_t* properties, // tracer pool properties + roctracer_pool_t** pool = NULL); // [out] returns tracer pool if not NULL, + // otherwise sets the default one if it is not set yet + // otherwise the error is generated // Close tracer memory pool roctracer_status_t roctracer_close_pool( - roctracer_pool_t* pool = NULL); // [in] memory pool, NULL is a default one + roctracer_pool_t* pool = NULL); // [in] memory pool, NULL is a default one // Return current default pool // Set new default pool if the argument is not NULL roctracer_pool_t* roctracer_default_pool( - roctracer_pool_t* pool = NULL); // [in] new default pool if not NULL + roctracer_pool_t* pool = NULL); // [in] new default pool if not NULL // Enable activity records logging roctracer_status_t roctracer_enable_api_activity( - activity_domain_t domain, // runtime API domain - uint32_t activity_kind, // activity kind - roctracer_pool_t* pool = NULL); // memory pool, NULL is a default one + activity_domain_t domain, // runtime API domain + uint32_t kind, // activity kind + uint32_t id, // activity ID + roctracer_pool_t* pool = NULL); // memory pool, NULL is a default one // Disable activity records logging roctracer_status_t roctracer_disable_api_activity( - activity_domain_t domain, // runtime API domain - uint32_t activity_kind); // activity kind + activity_domain_t domain, // runtime API domain + uint32_t kind, // activity kind + uint32_t id); // activity ID // Flush available activity records roctracer_status_t roctracer_flush_api_activity( - roctracer_pool_t* pool = NULL); // memory pool, NULL is a default one + roctracer_pool_t* pool = NULL); // memory pool, NULL is a default one #ifdef __cplusplus } // extern "C" block diff --git a/inc/roctracer/prof_protocol.h b/inc/roctracer/prof_protocol.h index 5acd0c1e6b..42501f7355 100644 --- a/inc/roctracer/prof_protocol.h +++ b/inc/roctracer/prof_protocol.h @@ -47,9 +47,9 @@ typedef uint64_t activity_correlation_id_t; // Activity record type struct activity_record_t { uint32_t domain; // activity domain id - uint32_t op_id; // operation id, dispatch/copy/barrier - uint32_t activity_kind; // activity kind - activity_correlation_id_t correlation_id; // activity correlation ID + uint32_t kind; // activity kind + uint32_t activity_id; // activity id + activity_correlation_id_t correlation_id; // activity correlation ID uint64_t begin_ns; // host begin timestamp uint64_t end_ns; // host end timestamp int device_id; // device id diff --git a/src/core/roctracer.cpp b/src/core/roctracer.cpp index b081bff88d..77913082e4 100644 --- a/src/core/roctracer.cpp +++ b/src/core/roctracer.cpp @@ -289,7 +289,7 @@ roctracer_record_t* SyncActivityCallback( if (pool == NULL) EXC_ABORT(ROCTRACER_STATUS_ERROR, "ActivityCallback pool is NULL"); if (data->phase == ACTIVITY_API_PHASE_ENTER) { record->domain = ACTIVITY_DOMAIN_HIP_API; - record->activity_kind = activity_kind; + record->kind = activity_kind; record->begin_ns = timer.timestamp_ns(); // Correlation ID generating uint64_t correlation_id = data->correlation_id; @@ -367,17 +367,19 @@ PUBLIC_API const char* roctracer_id_string(const uint32_t& domain, const uint32_ // Enable runtime API callbacks PUBLIC_API roctracer_status_t roctracer_enable_api_callback( roctracer_domain_t domain, - uint32_t cid, + uint32_t kind, + uint32_t id, roctracer_rtapi_callback_t callback, void* user_data) { API_METHOD_PREFIX switch (domain) { case ACTIVITY_DOMAIN_ANY: - if (cid != 0) HIP_EXC_RAISING(ROCTRACER_STATUS_BAD_PARAMETER, "DOMAIN_ANY and cid != 0"); - cid = HIP_API_ID_ANY; + if (id != 0) HIP_EXC_RAISING(ROCTRACER_STATUS_BAD_PARAMETER, "DOMAIN_ANY: id != 0"); + id = HIP_API_ID_ANY; case ACTIVITY_DOMAIN_HIP_API: { - hipError_t hip_err = hipRegisterApiCallback(cid, (void*)callback, user_data); + if (kind != 0) HIP_EXC_RAISING(ROCTRACER_STATUS_BAD_PARAMETER, "DOMAIN_HIP_API: kind != 0, not supported"); + hipError_t hip_err = hipRegisterApiCallback(id, (void*)callback, user_data); if (hip_err != hipSuccess) HIP_EXC_RAISING(ROCTRACER_STATUS_HIP_API_ERR, "hipRegisterApiCallback error(" << hip_err << ")"); break; } @@ -390,15 +392,17 @@ PUBLIC_API roctracer_status_t roctracer_enable_api_callback( // Enable runtime API callbacks PUBLIC_API roctracer_status_t roctracer_disable_api_callback( roctracer_domain_t domain, - uint32_t cid) + uint32_t kind, + uint32_t id) { API_METHOD_PREFIX switch (domain) { case ACTIVITY_DOMAIN_ANY: - if (cid != 0) HIP_EXC_RAISING(ROCTRACER_STATUS_BAD_PARAMETER, "DOMAIN_ANY and cid != 0"); - cid = HIP_API_ID_ANY; + if (id != 0) HIP_EXC_RAISING(ROCTRACER_STATUS_BAD_PARAMETER, "DOMAIN_ANY: id != 0"); + id = HIP_API_ID_ANY; case ACTIVITY_DOMAIN_HIP_API: { - hipError_t hip_err = hipRemoveApiCallback(cid); + if (kind != 0) HIP_EXC_RAISING(ROCTRACER_STATUS_BAD_PARAMETER, "DOMAIN_HIP_API: kind != 0, not supported"); + hipError_t hip_err = hipRemoveApiCallback(id); if (hip_err != hipSuccess) HIP_EXC_RAISING(ROCTRACER_STATUS_HIP_API_ERR, "hipRemoveApiCallback error(" << hip_err << ")"); break; } @@ -448,24 +452,28 @@ PUBLIC_API roctracer_status_t roctracer_close_pool(roctracer_pool_t* pool) { // Enable activity records logging PUBLIC_API roctracer_status_t roctracer_enable_api_activity( roctracer_domain_t domain, - uint32_t activity_id, + uint32_t kind, + uint32_t id, roctracer_pool_t* pool) { API_METHOD_PREFIX if (pool == NULL) pool = roctracer_default_pool(); switch (domain) { case ACTIVITY_DOMAIN_ANY: - if (activity_id != 0) HIP_EXC_RAISING(ROCTRACER_STATUS_BAD_PARAMETER, "DOMAIN_ANY and activity_id != 0"); - roctracer_enable_api_activity(ACTIVITY_DOMAIN_HCC_OPS, hc::HSA_OP_ID_ANY, pool); - roctracer_enable_api_activity(ACTIVITY_DOMAIN_HIP_API, HIP_API_ID_ANY, pool); + if (kind != 0) HIP_EXC_RAISING(ROCTRACER_STATUS_BAD_PARAMETER, "DOMAIN_ANY: kind != 0"); + if (id != 0) HIP_EXC_RAISING(ROCTRACER_STATUS_BAD_PARAMETER, "DOMAIN_ANY: id != 0"); + roctracer_enable_api_activity(ACTIVITY_DOMAIN_HCC_OPS, hc::HSA_OP_ID_ANY, 0, pool); + roctracer_enable_api_activity(ACTIVITY_DOMAIN_HIP_API, 0, HIP_API_ID_ANY, pool); break; case ACTIVITY_DOMAIN_HCC_OPS: { - const bool err = Kalmar::CLAMP::SetActivityCallback(activity_id, (void*)roctracer::AsyncActivityCallback, (void*)pool); + if (id != 0) HIP_EXC_RAISING(ROCTRACER_STATUS_BAD_PARAMETER, "DOMAIN_HCC_OPS: id != 0, not supported"); + const bool err = Kalmar::CLAMP::SetActivityCallback(kind, (void*)roctracer::AsyncActivityCallback, (void*)pool); if (err == true) HCC_EXC_RAISING(ROCTRACER_STATUS_HCC_OPS_ERR, "Kalmar::CLAMP::SetActivityCallback error"); break; } case ACTIVITY_DOMAIN_HIP_API: { - const hipError_t hip_err = hipRegisterActivityCallback(activity_id, (void*)roctracer::SyncActivityCallback, (void*)pool); + if (kind != 0) HIP_EXC_RAISING(ROCTRACER_STATUS_BAD_PARAMETER, "DOMAIN_HIP_API: kind != 0, not supported"); + const hipError_t hip_err = hipRegisterActivityCallback(id, (void*)roctracer::SyncActivityCallback, (void*)pool); if (hip_err != hipSuccess) HIP_EXC_RAISING(ROCTRACER_STATUS_HIP_API_ERR, "hipRegisterActivityCallback error(" << hip_err << ")"); break; } @@ -478,22 +486,26 @@ PUBLIC_API roctracer_status_t roctracer_enable_api_activity( // Disable activity records logging PUBLIC_API roctracer_status_t roctracer_disable_api_activity( roctracer_domain_t domain, - uint32_t activity_id) + uint32_t kind, + uint32_t id) { API_METHOD_PREFIX switch (domain) { case ACTIVITY_DOMAIN_ANY: - if (activity_id != 0) HIP_EXC_RAISING(ROCTRACER_STATUS_BAD_PARAMETER, "DOMAIN_ANY and activity_id != 0"); - roctracer_disable_api_activity(ACTIVITY_DOMAIN_HCC_OPS, hc::HSA_OP_ID_ANY); - roctracer_disable_api_activity(ACTIVITY_DOMAIN_HIP_API, HIP_API_ID_ANY); + if (kind != 0) HIP_EXC_RAISING(ROCTRACER_STATUS_BAD_PARAMETER, "DOMAIN_ANY: kind != 0"); + if (id != 0) HIP_EXC_RAISING(ROCTRACER_STATUS_BAD_PARAMETER, "DOMAIN_ANY: id != 0"); + roctracer_disable_api_activity(ACTIVITY_DOMAIN_HCC_OPS, hc::HSA_OP_ID_ANY, 0); + roctracer_disable_api_activity(ACTIVITY_DOMAIN_HIP_API, 0, HIP_API_ID_ANY); break; case ACTIVITY_DOMAIN_HCC_OPS: { - const bool err = Kalmar::CLAMP::SetActivityCallback(activity_id, NULL, NULL); + if (id != 0) HIP_EXC_RAISING(ROCTRACER_STATUS_BAD_PARAMETER, "DOMAIN_HCC_OPS: id != 0, not supported"); + const bool err = Kalmar::CLAMP::SetActivityCallback(kind, NULL, NULL); if (err == true) HCC_EXC_RAISING(ROCTRACER_STATUS_HCC_OPS_ERR, "Kalmar::CLAMP::SetActivityCallback(NULL) error"); break; } case ACTIVITY_DOMAIN_HIP_API: { - const hipError_t hip_err = hipRemoveActivityCallback(activity_id); + if (kind != 0) HIP_EXC_RAISING(ROCTRACER_STATUS_BAD_PARAMETER, "DOMAIN_HIP_API: kind != 0, not supported"); + const hipError_t hip_err = hipRemoveActivityCallback(id); if (hip_err != hipSuccess) HIP_EXC_RAISING(ROCTRACER_STATUS_HIP_API_ERR, "hipRemoveActivityCallback error(" << hip_err << ")"); break; } diff --git a/test/MatrixTranspose/MatrixTranspose.cpp b/test/MatrixTranspose/MatrixTranspose.cpp index 4ddce2a8eb..52350d67e9 100644 --- a/test/MatrixTranspose/MatrixTranspose.cpp +++ b/test/MatrixTranspose/MatrixTranspose.cpp @@ -211,18 +211,16 @@ void activity_callback(const char* begin, const char* end, void* arg) { const roctracer_record_t* end_record = reinterpret_cast(end); fprintf(stdout, "\tActivity records:\n"); fflush(stdout); while (record < end_record) { - const char * name = roctracer_id_string(record->domain, record->activity_kind); - fprintf(stdout, "\t%s op(%u) id(%u)\tcorrelation_id(%lu) time_ns(%lu:%lu) device_id(%d) stream_id(%lu)", + const char * name = roctracer_id_string(record->domain, record->activity_id); + fprintf(stdout, "\t%s\tcorrelation_id(%lu) time_ns(%lu:%lu) device_id(%d) stream_id(%lu)", name, - record->op_id, - record->activity_kind, record->correlation_id, record->begin_ns, record->end_ns, record->device_id, record->stream_id ); - if (record->op_id == hc::HSA_OP_ID_COPY) fprintf(stdout, " bytes(0x%zx)", record->bytes); + if (record->kind == hc::HSA_OP_ID_COPY) fprintf(stdout, " bytes(0x%zx)", record->bytes); fprintf(stdout, "\n"); fflush(stdout); ROCTRACER_CALL(roctracer_next_record(record, &record)); @@ -238,15 +236,15 @@ void start_tracing() { properties.buffer_callback_fun = activity_callback; ROCTRACER_CALL(roctracer_open_pool(&properties)); // Enable HIP API callbacks - ROCTRACER_CALL(roctracer_enable_api_callback(ACTIVITY_DOMAIN_ANY, 0, hip_api_callback, NULL)); + ROCTRACER_CALL(roctracer_enable_api_callback(ACTIVITY_DOMAIN_ANY, 0, 0, hip_api_callback, NULL)); // Enable HIP activity tracing - ROCTRACER_CALL(roctracer_enable_api_activity(ACTIVITY_DOMAIN_ANY, 0)); + ROCTRACER_CALL(roctracer_enable_api_activity(ACTIVITY_DOMAIN_ANY, 0, 0)); } // Stop tracing routine void stop_tracing() { - ROCTRACER_CALL(roctracer_disable_api_callback(ACTIVITY_DOMAIN_ANY, 0)); - ROCTRACER_CALL(roctracer_disable_api_activity(ACTIVITY_DOMAIN_ANY, 0)); + ROCTRACER_CALL(roctracer_disable_api_callback(ACTIVITY_DOMAIN_ANY, 0, 0)); + ROCTRACER_CALL(roctracer_disable_api_activity(ACTIVITY_DOMAIN_ANY, 0, 0)); ROCTRACER_CALL(roctracer_close_pool()); std::cout << "# STOP #############################" << std::endl << std::flush; } From cb735a1241d0d9280424e9c554b2df57b3701714 Mon Sep 17 00:00:00 2001 From: eshcherb <33529668+eshcherb@users.noreply.github.com> Date: Sun, 26 Aug 2018 19:27:36 -0500 Subject: [PATCH 025/691] Update README.md --- README.md | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index ad5b6216e6..11e8bf79ae 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,14 @@ # ROC-tracer +``` +ROC-tracer library, Runtimes Generic Callback/Activity APIs. +The goal of the implementation is to provide a generic independent from +specific runtime profiler to trace API and asyncronous activity. -ROC tracer library. Callback/Activity APIs +The API provides functionality for registering the runtimes API callbacks and +asyncronous activity records pool support. +``` The library source tree: - - doc - Documentation - inc/roctracer.h - Library public API - src - Library sources - core - Library API sources @@ -11,6 +16,12 @@ The library source tree: - test - test suit - MatrixTranspose - test based on HIP MatrixTranspose sample +## Documentation +``` + - API description: inc/roctracer.h + - Code exaple: test/MatrixTranspose/MatrixTranspose.cpp +``` + ## To build and run test ``` cd From cab6cf997006f80a8a32589ef447b98fbd305961 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Sun, 26 Aug 2018 19:29:56 -0500 Subject: [PATCH 026/691] inline doc update --- inc/roctracer.h | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/inc/roctracer.h b/inc/roctracer.h index 9de39ceae4..006fa96ada 100644 --- a/inc/roctracer.h +++ b/inc/roctracer.h @@ -22,20 +22,14 @@ THE SOFTWARE. //////////////////////////////////////////////////////////////////////////////// // -// ROC Profiler API +// ROC Tracer API // -// The goal of the implementation is to provide a HW specific low-level -// performance analysis interface for profiling of GPU compute applications. -// The profiling includes HW performance counters (PMC) with complex -// performance metrics and thread traces (SQTT). The profiling is supported -// by the SQTT, PMC and Callback APIs. +// ROC-tracer library, Runtimes Generic Callback/Activity APIs. +// The goal of the implementation is to provide a generic independent from +// specific runtime profiler to trace API and asyncronous activity. // -// The library can be used by a tool library loaded by HSA runtime or by -// higher level HW independent performance analysis API like PAPI. -// -// The library is written on C and will be based on AQLprofile AMD specific -// HSA extension. The library implementation requires HSA API intercepting and -// a profiling queue supporting a submit callback interface. +// The API provides functionality for registering the runtimes API callbacks and +// asyncronous activity records pool support. // //////////////////////////////////////////////////////////////////////////////// From dd19d85644629333a0990804dec3393d0acaffc4 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Mon, 5 Nov 2018 02:31:37 -0600 Subject: [PATCH 027/691] API normalizing --- README.md | 11 ++++--- inc/roctracer.h | 17 +++++------ src/core/roctracer.cpp | 38 ++++++++---------------- test/MatrixTranspose/MatrixTranspose.cpp | 14 ++++----- 4 files changed, 34 insertions(+), 46 deletions(-) diff --git a/README.md b/README.md index 11e8bf79ae..d98665f5aa 100644 --- a/README.md +++ b/README.md @@ -34,15 +34,18 @@ The library source tree: - Set environment: export HIP_PATH=/HIP export HCC_PATH=/hcc - export HCC_HOME=/hcc/lib + export HCC_HOME=/hcc/build export CMAKE_PREFIX_PATH=/opt/rocm/lib:/opt/rocm/include/hsa - Build HCC: - cd /hcc - mkdir build && cd build && cmake -DUSE_PROF_API=1 .. && make -j + cd /hcc && mkdir build && cd build + cmake -DUSE_PROF_API=1 -DPROF_API_HEADER_PATH=/roctracer/inc/roctracer .. + make -j - Build HIP: - cd /HIP && mkdir build && cd build && cmake -DUSE_PROF_API=1 .. && make -j + cd /HIP && mkdir build && cd build + cmake -DUSE_PROF_API=1 -DPROF_API_HEADER_PATH=/roctracer/inc/roctracer .. + make -j ln -s HIP/build HIP/lib - Build ROCtracer diff --git a/inc/roctracer.h b/inc/roctracer.h index 006fa96ada..89911f2f01 100644 --- a/inc/roctracer.h +++ b/inc/roctracer.h @@ -80,7 +80,8 @@ typedef activity_domain_t roctracer_domain_t; // NULL returned on the error and the library errno is set const char* roctracer_id_string( const uint32_t& domain, // tracing domain - const uint32_t& id); // activity ID + const uint32_t& id, // activity ID + const uint32_t& kind); // activity kind //////////////////////////////////////////////////////////////////////////////// // Callback API @@ -93,17 +94,15 @@ const char* roctracer_id_string( typedef activity_rtapi_callback_t roctracer_rtapi_callback_t; // Enable runtime API callbacks -roctracer_status_t roctracer_enable_api_callback( +roctracer_status_t roctracer_enable_callback( activity_domain_t domain, // runtime API domain - uint32_t kind, // API kind uint32_t id, // API call ID activity_rtapi_callback_t callback, // callback function pointer void* arg); // [in/out] callback arg // Disable runtime API callbacks -roctracer_status_t roctracer_disable_api_callback( +roctracer_status_t roctracer_disable_callback( activity_domain_t domain, // runtime API domain - uint32_t kind, // API kind uint32_t id); // API call ID //////////////////////////////////////////////////////////////////////////////// @@ -170,20 +169,18 @@ roctracer_pool_t* roctracer_default_pool( roctracer_pool_t* pool = NULL); // [in] new default pool if not NULL // Enable activity records logging -roctracer_status_t roctracer_enable_api_activity( +roctracer_status_t roctracer_enable_activity( activity_domain_t domain, // runtime API domain - uint32_t kind, // activity kind uint32_t id, // activity ID roctracer_pool_t* pool = NULL); // memory pool, NULL is a default one // Disable activity records logging -roctracer_status_t roctracer_disable_api_activity( +roctracer_status_t roctracer_disable_activity( activity_domain_t domain, // runtime API domain - uint32_t kind, // activity kind uint32_t id); // activity ID // Flush available activity records -roctracer_status_t roctracer_flush_api_activity( +roctracer_status_t roctracer_flush_activity( roctracer_pool_t* pool = NULL); // memory pool, NULL is a default one #ifdef __cplusplus diff --git a/src/core/roctracer.cpp b/src/core/roctracer.cpp index 77913082e4..91990730d0 100644 --- a/src/core/roctracer.cpp +++ b/src/core/roctracer.cpp @@ -347,11 +347,11 @@ PUBLIC_API const char* roctracer_error_string() { // Return ID string by given domain and activity/API ID // NULL returned on the error and the library errno is set -PUBLIC_API const char* roctracer_id_string(const uint32_t& domain, const uint32_t& id) { +PUBLIC_API const char* roctracer_id_string(const uint32_t& domain, const uint32_t& id, const uint32_t& kind) { API_METHOD_PREFIX switch (domain) { case ACTIVITY_DOMAIN_HCC_OPS: { - return Kalmar::CLAMP::GetCmdName(id); + return Kalmar::CLAMP::GetCmdName(kind); break; } case ACTIVITY_DOMAIN_HIP_API: { @@ -365,9 +365,8 @@ PUBLIC_API const char* roctracer_id_string(const uint32_t& domain, const uint32_ } // Enable runtime API callbacks -PUBLIC_API roctracer_status_t roctracer_enable_api_callback( +PUBLIC_API roctracer_status_t roctracer_enable_callback( roctracer_domain_t domain, - uint32_t kind, uint32_t id, roctracer_rtapi_callback_t callback, void* user_data) @@ -378,7 +377,6 @@ PUBLIC_API roctracer_status_t roctracer_enable_api_callback( if (id != 0) HIP_EXC_RAISING(ROCTRACER_STATUS_BAD_PARAMETER, "DOMAIN_ANY: id != 0"); id = HIP_API_ID_ANY; case ACTIVITY_DOMAIN_HIP_API: { - if (kind != 0) HIP_EXC_RAISING(ROCTRACER_STATUS_BAD_PARAMETER, "DOMAIN_HIP_API: kind != 0, not supported"); hipError_t hip_err = hipRegisterApiCallback(id, (void*)callback, user_data); if (hip_err != hipSuccess) HIP_EXC_RAISING(ROCTRACER_STATUS_HIP_API_ERR, "hipRegisterApiCallback error(" << hip_err << ")"); break; @@ -390,9 +388,8 @@ PUBLIC_API roctracer_status_t roctracer_enable_api_callback( } // Enable runtime API callbacks -PUBLIC_API roctracer_status_t roctracer_disable_api_callback( +PUBLIC_API roctracer_status_t roctracer_disable_callback( roctracer_domain_t domain, - uint32_t kind, uint32_t id) { API_METHOD_PREFIX @@ -401,7 +398,6 @@ PUBLIC_API roctracer_status_t roctracer_disable_api_callback( if (id != 0) HIP_EXC_RAISING(ROCTRACER_STATUS_BAD_PARAMETER, "DOMAIN_ANY: id != 0"); id = HIP_API_ID_ANY; case ACTIVITY_DOMAIN_HIP_API: { - if (kind != 0) HIP_EXC_RAISING(ROCTRACER_STATUS_BAD_PARAMETER, "DOMAIN_HIP_API: kind != 0, not supported"); hipError_t hip_err = hipRemoveApiCallback(id); if (hip_err != hipSuccess) HIP_EXC_RAISING(ROCTRACER_STATUS_HIP_API_ERR, "hipRemoveApiCallback error(" << hip_err << ")"); break; @@ -450,9 +446,8 @@ PUBLIC_API roctracer_status_t roctracer_close_pool(roctracer_pool_t* pool) { } // Enable activity records logging -PUBLIC_API roctracer_status_t roctracer_enable_api_activity( +PUBLIC_API roctracer_status_t roctracer_enable_activity( roctracer_domain_t domain, - uint32_t kind, uint32_t id, roctracer_pool_t* pool) { @@ -460,19 +455,16 @@ PUBLIC_API roctracer_status_t roctracer_enable_api_activity( if (pool == NULL) pool = roctracer_default_pool(); switch (domain) { case ACTIVITY_DOMAIN_ANY: - if (kind != 0) HIP_EXC_RAISING(ROCTRACER_STATUS_BAD_PARAMETER, "DOMAIN_ANY: kind != 0"); if (id != 0) HIP_EXC_RAISING(ROCTRACER_STATUS_BAD_PARAMETER, "DOMAIN_ANY: id != 0"); - roctracer_enable_api_activity(ACTIVITY_DOMAIN_HCC_OPS, hc::HSA_OP_ID_ANY, 0, pool); - roctracer_enable_api_activity(ACTIVITY_DOMAIN_HIP_API, 0, HIP_API_ID_ANY, pool); + roctracer_enable_activity(ACTIVITY_DOMAIN_HCC_OPS, hc::HSA_OP_ID_ANY, pool); + roctracer_enable_activity(ACTIVITY_DOMAIN_HIP_API, HIP_API_ID_ANY, pool); break; case ACTIVITY_DOMAIN_HCC_OPS: { - if (id != 0) HIP_EXC_RAISING(ROCTRACER_STATUS_BAD_PARAMETER, "DOMAIN_HCC_OPS: id != 0, not supported"); - const bool err = Kalmar::CLAMP::SetActivityCallback(kind, (void*)roctracer::AsyncActivityCallback, (void*)pool); + const bool err = Kalmar::CLAMP::SetActivityCallback(id, (void*)roctracer::AsyncActivityCallback, (void*)pool); if (err == true) HCC_EXC_RAISING(ROCTRACER_STATUS_HCC_OPS_ERR, "Kalmar::CLAMP::SetActivityCallback error"); break; } case ACTIVITY_DOMAIN_HIP_API: { - if (kind != 0) HIP_EXC_RAISING(ROCTRACER_STATUS_BAD_PARAMETER, "DOMAIN_HIP_API: kind != 0, not supported"); const hipError_t hip_err = hipRegisterActivityCallback(id, (void*)roctracer::SyncActivityCallback, (void*)pool); if (hip_err != hipSuccess) HIP_EXC_RAISING(ROCTRACER_STATUS_HIP_API_ERR, "hipRegisterActivityCallback error(" << hip_err << ")"); break; @@ -484,27 +476,23 @@ PUBLIC_API roctracer_status_t roctracer_enable_api_activity( } // Disable activity records logging -PUBLIC_API roctracer_status_t roctracer_disable_api_activity( +PUBLIC_API roctracer_status_t roctracer_disable_activity( roctracer_domain_t domain, - uint32_t kind, uint32_t id) { API_METHOD_PREFIX switch (domain) { case ACTIVITY_DOMAIN_ANY: - if (kind != 0) HIP_EXC_RAISING(ROCTRACER_STATUS_BAD_PARAMETER, "DOMAIN_ANY: kind != 0"); if (id != 0) HIP_EXC_RAISING(ROCTRACER_STATUS_BAD_PARAMETER, "DOMAIN_ANY: id != 0"); - roctracer_disable_api_activity(ACTIVITY_DOMAIN_HCC_OPS, hc::HSA_OP_ID_ANY, 0); - roctracer_disable_api_activity(ACTIVITY_DOMAIN_HIP_API, 0, HIP_API_ID_ANY); + roctracer_disable_activity(ACTIVITY_DOMAIN_HCC_OPS, hc::HSA_OP_ID_ANY); + roctracer_disable_activity(ACTIVITY_DOMAIN_HIP_API, HIP_API_ID_ANY); break; case ACTIVITY_DOMAIN_HCC_OPS: { - if (id != 0) HIP_EXC_RAISING(ROCTRACER_STATUS_BAD_PARAMETER, "DOMAIN_HCC_OPS: id != 0, not supported"); - const bool err = Kalmar::CLAMP::SetActivityCallback(kind, NULL, NULL); + const bool err = Kalmar::CLAMP::SetActivityCallback(id, NULL, NULL); if (err == true) HCC_EXC_RAISING(ROCTRACER_STATUS_HCC_OPS_ERR, "Kalmar::CLAMP::SetActivityCallback(NULL) error"); break; } case ACTIVITY_DOMAIN_HIP_API: { - if (kind != 0) HIP_EXC_RAISING(ROCTRACER_STATUS_BAD_PARAMETER, "DOMAIN_HIP_API: kind != 0, not supported"); const hipError_t hip_err = hipRemoveActivityCallback(id); if (hip_err != hipSuccess) HIP_EXC_RAISING(ROCTRACER_STATUS_HIP_API_ERR, "hipRemoveActivityCallback error(" << hip_err << ")"); break; @@ -516,7 +504,7 @@ PUBLIC_API roctracer_status_t roctracer_disable_api_activity( } // Flush available activity records -PUBLIC_API roctracer_status_t roctracer_flush_api_activity(roctracer_pool_t* pool) { +PUBLIC_API roctracer_status_t roctracer_flush_activity(roctracer_pool_t* pool) { API_METHOD_PREFIX if (pool == NULL) pool = roctracer_default_pool(); roctracer::MemoryPool* memory_pool = reinterpret_cast(pool); diff --git a/test/MatrixTranspose/MatrixTranspose.cpp b/test/MatrixTranspose/MatrixTranspose.cpp index 52350d67e9..707aaa885a 100644 --- a/test/MatrixTranspose/MatrixTranspose.cpp +++ b/test/MatrixTranspose/MatrixTranspose.cpp @@ -161,7 +161,7 @@ void hip_api_callback( (void)arg; const hip_api_data_t* data = reinterpret_cast(callback_data); fprintf(stdout, "<%s id(%u)\tcorrelation_id(%lu) %s> ", - roctracer_id_string(ACTIVITY_DOMAIN_HIP_API, cid), + roctracer_id_string(ACTIVITY_DOMAIN_HIP_API, cid, 0), cid, data->correlation_id, (data->phase == ACTIVITY_API_PHASE_ENTER) ? "on-enter" : "on-exit"); @@ -211,7 +211,7 @@ void activity_callback(const char* begin, const char* end, void* arg) { const roctracer_record_t* end_record = reinterpret_cast(end); fprintf(stdout, "\tActivity records:\n"); fflush(stdout); while (record < end_record) { - const char * name = roctracer_id_string(record->domain, record->activity_id); + const char * name = roctracer_id_string(record->domain, record->activity_id, record->kind); fprintf(stdout, "\t%s\tcorrelation_id(%lu) time_ns(%lu:%lu) device_id(%d) stream_id(%lu)", name, record->correlation_id, @@ -220,7 +220,7 @@ void activity_callback(const char* begin, const char* end, void* arg) { record->device_id, record->stream_id ); - if (record->kind == hc::HSA_OP_ID_COPY) fprintf(stdout, " bytes(0x%zx)", record->bytes); + if (record->activity_id == hc::HSA_OP_ID_COPY) fprintf(stdout, " bytes(0x%zx)", record->bytes); fprintf(stdout, "\n"); fflush(stdout); ROCTRACER_CALL(roctracer_next_record(record, &record)); @@ -236,15 +236,15 @@ void start_tracing() { properties.buffer_callback_fun = activity_callback; ROCTRACER_CALL(roctracer_open_pool(&properties)); // Enable HIP API callbacks - ROCTRACER_CALL(roctracer_enable_api_callback(ACTIVITY_DOMAIN_ANY, 0, 0, hip_api_callback, NULL)); + ROCTRACER_CALL(roctracer_enable_callback(ACTIVITY_DOMAIN_ANY, 0, hip_api_callback, NULL)); // Enable HIP activity tracing - ROCTRACER_CALL(roctracer_enable_api_activity(ACTIVITY_DOMAIN_ANY, 0, 0)); + ROCTRACER_CALL(roctracer_enable_activity(ACTIVITY_DOMAIN_ANY, 0)); } // Stop tracing routine void stop_tracing() { - ROCTRACER_CALL(roctracer_disable_api_callback(ACTIVITY_DOMAIN_ANY, 0, 0)); - ROCTRACER_CALL(roctracer_disable_api_activity(ACTIVITY_DOMAIN_ANY, 0, 0)); + ROCTRACER_CALL(roctracer_disable_callback(ACTIVITY_DOMAIN_ANY, 0)); + ROCTRACER_CALL(roctracer_disable_activity(ACTIVITY_DOMAIN_ANY, 0)); ROCTRACER_CALL(roctracer_close_pool()); std::cout << "# STOP #############################" << std::endl << std::flush; } From 06e268fbc1cd8fdfb3280924616a0e2da44f5cae Mon Sep 17 00:00:00 2001 From: Evgeny Date: Thu, 8 Nov 2018 05:01:01 -0600 Subject: [PATCH 028/691] hip_prof_(api/str).h moving under hcc_detail dir --- inc/roctracer_hip.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/inc/roctracer_hip.h b/inc/roctracer_hip.h index c0a5ccce5e..988dc4a55e 100644 --- a/inc/roctracer_hip.h +++ b/inc/roctracer_hip.h @@ -23,7 +23,7 @@ THE SOFTWARE. #ifndef INC_ROCTRACER_HIP_H_ #define INC_ROCTRACER_HIP_H_ -#include +#include #include "roctracer.h" From d4f03f0244d6271e7abf212788e5711b67017c46 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Fri, 9 Nov 2018 23:56:28 -0600 Subject: [PATCH 029/691] removing HCC_PATH --- cmake_modules/env.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake_modules/env.cmake b/cmake_modules/env.cmake index c5106e5782..a163245b74 100644 --- a/cmake_modules/env.cmake +++ b/cmake_modules/env.cmake @@ -58,7 +58,7 @@ if ( NOT DEFINED CMAKE_PREFIX_PATH AND DEFINED ENV{CMAKE_PREFIX_PATH} ) set ( CMAKE_PREFIX_PATH $ENV{CMAKE_PREFIX_PATH} ) endif() -set ( HCC_INC_DIR "$ENV{HCC_PATH}/include" ) +set ( HCC_INC_DIR "$ENV{HCC_HOME}/include" ) set ( HIP_INC_DIR "$ENV{HIP_PATH}/include" ) ## Extend Compiler flags based on build type From 6b3719051f7d22fc2c1a3fcc0ce0a099298f7f37 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Sat, 10 Nov 2018 21:33:34 -0600 Subject: [PATCH 030/691] package generators deb/rpm/tgz --- CMakeLists.txt | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 8fe7662bf2..4a455c5743 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -69,3 +69,35 @@ include ( ${LIB_DIR}/CMakeLists.txt ) ## Set the VERSION and SOVERSION values set_property ( TARGET ${TARGET_NAME} PROPERTY VERSION "${LIB_VERSION_STRING}" ) set_property ( TARGET ${TARGET_NAME} PROPERTY SOVERSION "${BUILD_VERSION_MAJOR}" ) + +## If the library is a release, strip the target library +if ( "${CMAKE_BUILD_TYPE}" STREQUAL release ) + add_custom_command ( TARGET ${ROCTRACER_TARGET} POST_BUILD COMMAND ${CMAKE_STRIP} *.so ) +endif () + +message ( "---------Install-Dir: ${CMAKE_INSTALL_PREFIX}/${ROCTRACER_NAME}" ) +install ( TARGETS ${ROCTRACER_TARGET} LIBRARY DESTINATION ${ROCTRACER_NAME}/lib ) +install ( FILES ${CMAKE_CURRENT_SOURCE_DIR}/inc/roctracer.h DESTINATION ${ROCTRACER_NAME}/include ) +install ( FILES ${CMAKE_CURRENT_SOURCE_DIR}/inc/roctracer_hip.h DESTINATION ${ROCTRACER_NAME}/include ) +install ( FILES ${CMAKE_CURRENT_SOURCE_DIR}/inc/roctracer_hcc.h DESTINATION ${ROCTRACER_NAME}/include ) +install ( FILES ${CMAKE_CURRENT_SOURCE_DIR}/inc/roctracer/prof_protocol.h DESTINATION ${ROCTRACER_NAME}/include ) + +## Packaging directives +set ( CPACK_GENERATOR "DEB" "RPM" "TGZ" ) +set ( CPACK_PACKAGE_NAME "${ROCTRACER_NAME}-dev" ) +set ( CPACK_PACKAGE_VENDOR "AMD" ) +set ( CPACK_PACKAGE_VERSION_MAJOR ${BUILD_VERSION_MAJOR} ) +set ( CPACK_PACKAGE_VERSION_MINOR ${BUILD_VERSION_MINOR} ) +set ( CPACK_PACKAGE_VERSION_PATCH ${BUILD_VERSION_PATCH} ) +set ( CPACK_PACKAGE_CONTACT "Advanced Micro Devices Inc." ) +set ( CPACK_PACKAGE_DESCRIPTION_SUMMARY "AMD ROCTRACER library" ) +set ( CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE" ) + +## Debian package specific variables +set ( CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA "${CMAKE_CURRENT_SOURCE_DIR}/DEBIAN/postinst;${CMAKE_CURRENT_SOURCE_DIR}/DEBIAN/prerm" ) + +## RPM package specific variables +set ( CPACK_RPM_PRE_INSTALL_SCRIPT_FILE "${CMAKE_CURRENT_SOURCE_DIR}/RPM/rpm_post" ) +set ( CPACK_RPM_POST_UNINSTALL_SCRIPT_FILE "${CMAKE_CURRENT_SOURCE_DIR}/RPM/rpm_postun" ) + +include ( CPack ) From 44986fcbda810dedb35263c4994193d5676a48bd Mon Sep 17 00:00:00 2001 From: Evgeny Date: Sun, 11 Nov 2018 00:53:10 -0600 Subject: [PATCH 031/691] cmake packaging fix --- CMakeLists.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 4a455c5743..9550c5f5c2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -76,11 +76,12 @@ if ( "${CMAKE_BUILD_TYPE}" STREQUAL release ) endif () message ( "---------Install-Dir: ${CMAKE_INSTALL_PREFIX}/${ROCTRACER_NAME}" ) +set ( CPACK_PACKAGING_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX} ) install ( TARGETS ${ROCTRACER_TARGET} LIBRARY DESTINATION ${ROCTRACER_NAME}/lib ) install ( FILES ${CMAKE_CURRENT_SOURCE_DIR}/inc/roctracer.h DESTINATION ${ROCTRACER_NAME}/include ) install ( FILES ${CMAKE_CURRENT_SOURCE_DIR}/inc/roctracer_hip.h DESTINATION ${ROCTRACER_NAME}/include ) install ( FILES ${CMAKE_CURRENT_SOURCE_DIR}/inc/roctracer_hcc.h DESTINATION ${ROCTRACER_NAME}/include ) -install ( FILES ${CMAKE_CURRENT_SOURCE_DIR}/inc/roctracer/prof_protocol.h DESTINATION ${ROCTRACER_NAME}/include ) +install ( FILES ${CMAKE_CURRENT_SOURCE_DIR}/inc/roctracer/prof_protocol.h DESTINATION ${ROCTRACER_NAME}/include/roctracer ) ## Packaging directives set ( CPACK_GENERATOR "DEB" "RPM" "TGZ" ) From 1bceac618b8f6424985ada5ef2af8db5506ea30c Mon Sep 17 00:00:00 2001 From: eshcherb <33529668+eshcherb@users.noreply.github.com> Date: Sun, 11 Nov 2018 18:40:07 -0600 Subject: [PATCH 032/691] Update README.md --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index d98665f5aa..f0730aeeb2 100644 --- a/README.md +++ b/README.md @@ -33,7 +33,6 @@ The library source tree: - Set environment: export HIP_PATH=/HIP - export HCC_PATH=/hcc export HCC_HOME=/hcc/build export CMAKE_PREFIX_PATH=/opt/rocm/lib:/opt/rocm/include/hsa From 270613e3a6a2d9ae507c72cda95944e5047cc2aa Mon Sep 17 00:00:00 2001 From: Evgeny Date: Sun, 11 Nov 2018 23:32:43 -0600 Subject: [PATCH 033/691] activity id fix --- src/core/roctracer.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/core/roctracer.cpp b/src/core/roctracer.cpp index 91990730d0..3186207eae 100644 --- a/src/core/roctracer.cpp +++ b/src/core/roctracer.cpp @@ -277,7 +277,7 @@ DESTRUCTOR_API void destructor() { } roctracer_record_t* SyncActivityCallback( - uint32_t activity_kind, + uint32_t activity_id, roctracer_record_t* record, const void* callback_data, void* arg) @@ -289,7 +289,7 @@ roctracer_record_t* SyncActivityCallback( if (pool == NULL) EXC_ABORT(ROCTRACER_STATUS_ERROR, "ActivityCallback pool is NULL"); if (data->phase == ACTIVITY_API_PHASE_ENTER) { record->domain = ACTIVITY_DOMAIN_HIP_API; - record->kind = activity_kind; + record->activity_id = activity_id; record->begin_ns = timer.timestamp_ns(); // Correlation ID generating uint64_t correlation_id = data->correlation_id; From 48db2cddc3b1866eeea36cfbb3850966c99b698f Mon Sep 17 00:00:00 2001 From: eshcherb <33529668+eshcherb@users.noreply.github.com> Date: Mon, 12 Nov 2018 00:19:31 -0600 Subject: [PATCH 034/691] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f0730aeeb2..177c72d273 100644 --- a/README.md +++ b/README.md @@ -48,7 +48,7 @@ The library source tree: ln -s HIP/build HIP/lib - Build ROCtracer - cd /roctracer && mkdir build && cd build && cmake .. && make -j + cd /roctracer && mkdir build && cd build && cmake -DCMAKE_INSTALL_PREFIX=/opt/rocm .. && make -j - To run test make mytest From a52d7b36a92aa985de64dc1128c13cc3dc86f3a5 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Mon, 12 Nov 2018 10:15:56 -0600 Subject: [PATCH 035/691] pre/post package scripts install dir name fix --- DEBIAN/postinst | 2 +- DEBIAN/prerm | 2 +- RPM/rpm_post | 2 +- RPM/rpm_postun | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/DEBIAN/postinst b/DEBIAN/postinst index bd84d5d799..b09a3c139b 100644 --- a/DEBIAN/postinst +++ b/DEBIAN/postinst @@ -3,7 +3,7 @@ set -e do_ldconfig() { - echo /opt/rocm/libroctracer/lib > /etc/ld.so.conf.d/libhsa-roctracer64.conf && ldconfig + echo /opt/rocm/roctracer/lib > /etc/ld.so.conf.d/libroctracer64.conf && ldconfig } case "$1" in diff --git a/DEBIAN/prerm b/DEBIAN/prerm index 84562f4a95..886d3e174a 100644 --- a/DEBIAN/prerm +++ b/DEBIAN/prerm @@ -3,7 +3,7 @@ set -e rm_ldconfig() { - rm -f /etc/ld.so.conf.d/libhsa-roctracer64.conf && ldconfig + rm -f /etc/ld.so.conf.d/libroctracer64.conf && ldconfig } case "$1" in diff --git a/RPM/rpm_post b/RPM/rpm_post index ea165c9ad3..a19ea861f1 100644 --- a/RPM/rpm_post +++ b/RPM/rpm_post @@ -1 +1 @@ -echo /opt/rocm/libroctracer/lib > /etc/ld.so.conf.d/libhsa-roctracer64.conf && ldconfig +echo /opt/rocm/roctracer/lib > /etc/ld.so.conf.d/libroctracer64.conf && ldconfig diff --git a/RPM/rpm_postun b/RPM/rpm_postun index 70472adf56..a737490bb1 100644 --- a/RPM/rpm_postun +++ b/RPM/rpm_postun @@ -1 +1 @@ -rm -f /etc/ld.so.conf.d/libhsa-roctracer64.conf && ldconfig +rm -f /etc/ld.so.conf.d/libroctracer64.conf && ldconfig From 3ddb17864f969f18a5f2ce3cfb2f2943d8ef2ce1 Mon Sep 17 00:00:00 2001 From: eshcherb <33529668+eshcherb@users.noreply.github.com> Date: Mon, 12 Nov 2018 11:26:10 -0600 Subject: [PATCH 036/691] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 177c72d273..9c7d2eba5b 100644 --- a/README.md +++ b/README.md @@ -48,7 +48,7 @@ The library source tree: ln -s HIP/build HIP/lib - Build ROCtracer - cd /roctracer && mkdir build && cd build && cmake -DCMAKE_INSTALL_PREFIX=/opt/rocm .. && make -j + cd /roctracer && mkdir build && cd build && cmake -DCMAKE_INSTALL_PREFIX=/opt/rocm -DLOCAL_BUILD=1 .. && make -j - To run test make mytest From 48d69df3ee3e5ac1ab8dd98d19120dded3b2f778 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Tue, 13 Nov 2018 17:09:58 -0600 Subject: [PATCH 037/691] packaging --- CMakeLists.txt | 29 +++++++++++++++++-------- README.md | 2 +- cmake_modules/env.cmake | 7 ++++++ inc/{roctracer => ext}/hsa_rt_utils.hpp | 2 +- inc/{roctracer => ext}/prof_protocol.h | 0 inc/roctracer.h | 2 +- inc/roctracer_hcc.h | 5 +++++ inc/roctracer_hip.h | 1 + src/CMakeLists.txt | 2 +- src/core/roctracer.cpp | 4 ++-- test/MatrixTranspose/Makefile | 2 +- 11 files changed, 40 insertions(+), 16 deletions(-) rename inc/{roctracer => ext}/hsa_rt_utils.hpp (99%) rename inc/{roctracer => ext}/prof_protocol.h (100%) diff --git a/CMakeLists.txt b/CMakeLists.txt index 9550c5f5c2..f34cffe0cb 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -71,17 +71,28 @@ set_property ( TARGET ${TARGET_NAME} PROPERTY VERSION "${LIB_VERSION_STRING}" ) set_property ( TARGET ${TARGET_NAME} PROPERTY SOVERSION "${BUILD_VERSION_MAJOR}" ) ## If the library is a release, strip the target library -if ( "${CMAKE_BUILD_TYPE}" STREQUAL release ) - add_custom_command ( TARGET ${ROCTRACER_TARGET} POST_BUILD COMMAND ${CMAKE_STRIP} *.so ) -endif () +#if ( "${CMAKE_BUILD_TYPE}" STREQUAL release ) +# add_custom_command ( TARGET ${ROCTRACER_TARGET} POST_BUILD COMMAND ${CMAKE_STRIP} *.so ) +#endif () -message ( "---------Install-Dir: ${CMAKE_INSTALL_PREFIX}/${ROCTRACER_NAME}" ) +## Install and packaging +set ( CMAKE_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX}/${ROCTRACER_NAME} ) set ( CPACK_PACKAGING_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX} ) -install ( TARGETS ${ROCTRACER_TARGET} LIBRARY DESTINATION ${ROCTRACER_NAME}/lib ) -install ( FILES ${CMAKE_CURRENT_SOURCE_DIR}/inc/roctracer.h DESTINATION ${ROCTRACER_NAME}/include ) -install ( FILES ${CMAKE_CURRENT_SOURCE_DIR}/inc/roctracer_hip.h DESTINATION ${ROCTRACER_NAME}/include ) -install ( FILES ${CMAKE_CURRENT_SOURCE_DIR}/inc/roctracer_hcc.h DESTINATION ${ROCTRACER_NAME}/include ) -install ( FILES ${CMAKE_CURRENT_SOURCE_DIR}/inc/roctracer/prof_protocol.h DESTINATION ${ROCTRACER_NAME}/include/roctracer ) +message ( "---------Install-Dir: ${CMAKE_INSTALL_PREFIX}" ) + +add_custom_target ( inc-link ALL WORKING_DIRECTORY ${PROJECT_BINARY_DIR} + COMMAND ${CMAKE_COMMAND} -E create_symlink ../${ROCTRACER_NAME}/include inc-link ) +add_custom_target ( so-link ALL WORKING_DIRECTORY ${PROJECT_BINARY_DIR} + COMMAND ${CMAKE_COMMAND} -E create_symlink ../${ROCTRACER_NAME}/lib/${ROCTRACER_LIBRARY}.so so-link ) + +## Install information +install ( TARGETS ${ROCTRACER_TARGET} LIBRARY DESTINATION lib ) +install ( FILES ${CMAKE_CURRENT_SOURCE_DIR}/inc/roctracer.h DESTINATION include ) +install ( FILES ${CMAKE_CURRENT_SOURCE_DIR}/inc/roctracer_hip.h DESTINATION include ) +install ( FILES ${CMAKE_CURRENT_SOURCE_DIR}/inc/roctracer_hcc.h DESTINATION include ) +install ( FILES ${CMAKE_CURRENT_SOURCE_DIR}/inc/ext/prof_protocol.h DESTINATION include/ext ) +install ( FILES ${PROJECT_BINARY_DIR}/inc-link DESTINATION ../include RENAME ${ROCTRACER_NAME} ) +install ( FILES ${PROJECT_BINARY_DIR}/so-link DESTINATION ../lib RENAME ${ROCTRACER_LIBRARY}.so ) ## Packaging directives set ( CPACK_GENERATOR "DEB" "RPM" "TGZ" ) diff --git a/README.md b/README.md index 9c7d2eba5b..177c72d273 100644 --- a/README.md +++ b/README.md @@ -48,7 +48,7 @@ The library source tree: ln -s HIP/build HIP/lib - Build ROCtracer - cd /roctracer && mkdir build && cd build && cmake -DCMAKE_INSTALL_PREFIX=/opt/rocm -DLOCAL_BUILD=1 .. && make -j + cd /roctracer && mkdir build && cd build && cmake -DCMAKE_INSTALL_PREFIX=/opt/rocm .. && make -j - To run test make mytest diff --git a/cmake_modules/env.cmake b/cmake_modules/env.cmake index a163245b74..d5a91eff7e 100644 --- a/cmake_modules/env.cmake +++ b/cmake_modules/env.cmake @@ -43,6 +43,13 @@ if ( DEFINED ENV{CMAKE_DEBUG_TRACE} ) add_definitions ( -DDEBUG_TRACE=1 ) endif() +## Enable HIP/HCC local build +if ( DEFINED LOCAL_BUILD ) + add_definitions ( -DLOCAL_BUILD=${LOCAL_BUILD} ) +else() + add_definitions ( -DLOCAL_BUILD=1 ) +endif() + ## Enable direct loading of AQL-profile HSA extension if ( DEFINED ENV{CMAKE_LD_AQLPROFILE} ) add_definitions ( -DROCP_LD_AQLPROFILE=1 ) diff --git a/inc/roctracer/hsa_rt_utils.hpp b/inc/ext/hsa_rt_utils.hpp similarity index 99% rename from inc/roctracer/hsa_rt_utils.hpp rename to inc/ext/hsa_rt_utils.hpp index 9cc96759c4..346e671077 100644 --- a/inc/roctracer/hsa_rt_utils.hpp +++ b/inc/ext/hsa_rt_utils.hpp @@ -45,7 +45,7 @@ class Timer { public: typedef uint64_t timestamp_t; typedef long double freq_t; - + Timer() { timestamp_t timestamp_hz = 0; HSART_CALL(hsa_system_get_info(HSA_SYSTEM_INFO_TIMESTAMP_FREQUENCY, ×tamp_hz)); diff --git a/inc/roctracer/prof_protocol.h b/inc/ext/prof_protocol.h similarity index 100% rename from inc/roctracer/prof_protocol.h rename to inc/ext/prof_protocol.h diff --git a/inc/roctracer.h b/inc/roctracer.h index 89911f2f01..483ce6c331 100644 --- a/inc/roctracer.h +++ b/inc/roctracer.h @@ -39,7 +39,7 @@ THE SOFTWARE. #include #include -#include "inc/roctracer/prof_protocol.h" +#include "ext/prof_protocol.h" #define ROCTRACER_VERSION_MAJOR 1 #define ROCTRACER_VERSION_MINOR 0 diff --git a/inc/roctracer_hcc.h b/inc/roctracer_hcc.h index 8cedebe498..f55586e351 100644 --- a/inc/roctracer_hcc.h +++ b/inc/roctracer_hcc.h @@ -23,8 +23,13 @@ THE SOFTWARE. #ifndef INC_ROCTRACER_HCC_H_ #define INC_ROCTRACER_HCC_H_ +#if (LOCAL_BUILD == 1) #include #include +#else +#include +#include +#endif #include "roctracer.h" diff --git a/inc/roctracer_hip.h b/inc/roctracer_hip.h index 988dc4a55e..d365dd9444 100644 --- a/inc/roctracer_hip.h +++ b/inc/roctracer_hip.h @@ -23,6 +23,7 @@ THE SOFTWARE. #ifndef INC_ROCTRACER_HIP_H_ #define INC_ROCTRACER_HIP_H_ +#include #include #include "roctracer.h" diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index ac992fc1d0..46dc131c27 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -7,5 +7,5 @@ set ( LIB_SRC ${LIB_DIR}/util/hsa_rsrc_factory.cpp ) add_library ( ${TARGET_LIB} SHARED ${LIB_SRC} ) -target_include_directories ( ${TARGET_LIB} PRIVATE ${LIB_DIR} ${ROOT_DIR} ${HSA_RUNTIME_INC_PATH} ${HIP_INC_DIR} ${HCC_INC_DIR} ) +target_include_directories ( ${TARGET_LIB} PRIVATE ${LIB_DIR} ${ROOT_DIR} ${ROOT_DIR}/inc ${HSA_RUNTIME_INC_PATH} ${HIP_INC_DIR} ${HCC_INC_DIR} ) target_link_libraries( ${TARGET_LIB} PRIVATE ${HSA_RUNTIME_LIB} c stdc++ ${HIP_INC_DIR}/../lib/libhip_hcc.so ) diff --git a/src/core/roctracer.cpp b/src/core/roctracer.cpp index 3186207eae..1f4c887ff2 100644 --- a/src/core/roctracer.cpp +++ b/src/core/roctracer.cpp @@ -22,7 +22,7 @@ THE SOFTWARE. #include "inc/roctracer.h" #include "inc/roctracer_hcc.h" -//#include "inc/roctracer_hip.h" +#include "inc/roctracer_hip.h" #include #include @@ -30,7 +30,7 @@ THE SOFTWARE. #include #include -#include "inc/roctracer/hsa_rt_utils.hpp" +#include "ext/hsa_rt_utils.hpp" #include "util/exception.h" #include "util/hsa_rsrc_factory.h" #include "util/logger.h" diff --git a/test/MatrixTranspose/Makefile b/test/MatrixTranspose/Makefile index 56780b1237..96f5aa9568 100644 --- a/test/MatrixTranspose/Makefile +++ b/test/MatrixTranspose/Makefile @@ -13,7 +13,7 @@ HIP_PATH ?= /opt/rocm/hip HIPCC = $(HIP_PATH)/bin/hipcc CXX=$(HIPCC) -CXXFLAGS =-g -I$(ROOT_PATH) -I$(ROOT_PATH)/inc -DITERATIONS=$(ITERATIONS) +CXXFLAGS =-g -I$(ROOT_PATH) -I$(ROOT_PATH)/inc -DLOCAL_BUILD=1 -DITERATIONS=$(ITERATIONS) export LD_LIBRARY_PATH=$(LIB_PATH) From b7467b99957c04f9901538198c8ca7ea01fee8fd Mon Sep 17 00:00:00 2001 From: Evgeny Date: Tue, 13 Nov 2018 18:44:44 -0600 Subject: [PATCH 038/691] preloading local libmcwamp_hsa.so --- test/MatrixTranspose/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/MatrixTranspose/Makefile b/test/MatrixTranspose/Makefile index 96f5aa9568..1c0022498f 100644 --- a/test/MatrixTranspose/Makefile +++ b/test/MatrixTranspose/Makefile @@ -23,7 +23,7 @@ $(EXECUTABLE): $(OBJECTS) $(HIPCC) $(OBJECTS) -o $@ $(HCC_LIBS) $(ROC_LIBS) test: $(EXECUTABLE) - HCC_PROFILE=1 $(EXECUTABLE) + HCC_PROFILE=1 LD_PRELOAD=$(HCC_HOME)/lib/libmcwamp_hsa.so $(EXECUTABLE) clean: rm -f $(EXECUTABLE) From 036f7d48a1e10066489c701b2700c6beecba8f21 Mon Sep 17 00:00:00 2001 From: eshcherb <33529668+eshcherb@users.noreply.github.com> Date: Tue, 13 Nov 2018 18:51:56 -0600 Subject: [PATCH 039/691] Update README.md --- README.md | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index 177c72d273..d271882cec 100644 --- a/README.md +++ b/README.md @@ -28,8 +28,8 @@ The library source tree: - CLone roctracer and custom branches of HIP/HCC: git clone -b amd-master https://github.com/ROCmSoftwarePlatform/roctracer.git - git clone -b roctracer-hip-frontend-180826 https://github.com/eshcherb/HIP.git - git clone --recursive -b roctracer-hip-frontend-180823 https://github.com/eshcherb/hcc.git + git clone -b roctracer-hip-frontend-181113 https://github.com/eshcherb/HIP.git + git clone --recursive -b roctracer-hip-frontend-181113 https://github.com/eshcherb/hcc.git - Set environment: export HIP_PATH=/HIP @@ -38,12 +38,12 @@ The library source tree: - Build HCC: cd /hcc && mkdir build && cd build - cmake -DUSE_PROF_API=1 -DPROF_API_HEADER_PATH=/roctracer/inc/roctracer .. + cmake -DUSE_PROF_API=1 -DPROF_API_HEADER_PATH=/roctracer/inc/ext .. make -j - Build HIP: cd /HIP && mkdir build && cd build - cmake -DUSE_PROF_API=1 -DPROF_API_HEADER_PATH=/roctracer/inc/roctracer .. + cmake -DUSE_PROF_API=1 -DPROF_API_HEADER_PATH=/roctracer/inc/ext .. make -j ln -s HIP/build HIP/lib @@ -51,12 +51,11 @@ The library source tree: cd /roctracer && mkdir build && cd build && cmake -DCMAKE_INSTALL_PREFIX=/opt/rocm .. && make -j - To run test - make mytest - - or - cd /roctracer/test/MatrixTranspose - make + make mytest + + - To install + make install - set test iterations number, 100 by default - export ITERATIONS= + or + make package && dpkg -i *.deb ``` From 8a093089a0f8f070e2e5fdf3b2f35127f2e9bfb2 Mon Sep 17 00:00:00 2001 From: eshcherb <33529668+eshcherb@users.noreply.github.com> Date: Tue, 13 Nov 2018 18:52:33 -0600 Subject: [PATCH 040/691] Update README.md --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index d271882cec..6107193dce 100644 --- a/README.md +++ b/README.md @@ -55,7 +55,6 @@ The library source tree: - To install make install - or make package && dpkg -i *.deb ``` From 8e618d15b1fbc018714fedfd05492803e98e89cc Mon Sep 17 00:00:00 2001 From: eshcherb <33529668+eshcherb@users.noreply.github.com> Date: Tue, 13 Nov 2018 19:01:26 -0600 Subject: [PATCH 041/691] Update README.md --- README.md | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 6107193dce..480e4c9f51 100644 --- a/README.md +++ b/README.md @@ -37,15 +37,13 @@ The library source tree: export CMAKE_PREFIX_PATH=/opt/rocm/lib:/opt/rocm/include/hsa - Build HCC: - cd /hcc && mkdir build && cd build - cmake -DUSE_PROF_API=1 -DPROF_API_HEADER_PATH=/roctracer/inc/ext .. - make -j + cd /hcc && mkdir build && cd build && + cmake -DUSE_PROF_API=1 -DPROF_API_HEADER_PATH=/roctracer/inc/ext .. && make -j - Build HIP: - cd /HIP && mkdir build && cd build - cmake -DUSE_PROF_API=1 -DPROF_API_HEADER_PATH=/roctracer/inc/ext .. - make -j - ln -s HIP/build HIP/lib + cd /HIP && mkdir build && cd build && + cmake -DUSE_PROF_API=1 -DPROF_API_HEADER_PATH=/roctracer/inc/ext .. && make -j + ln -s /HIP/build /HIP/lib - Build ROCtracer cd /roctracer && mkdir build && cd build && cmake -DCMAKE_INSTALL_PREFIX=/opt/rocm .. && make -j From 65d8c3be396aa991cc1453e62a837cd755e17444 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Fri, 23 Nov 2018 00:08:36 -0600 Subject: [PATCH 042/691] process/thread IDs in API records --- inc/ext/prof_protocol.h | 18 +++++++++++++----- src/core/roctracer.cpp | 13 ++++++++----- test/MatrixTranspose/MatrixTranspose.cpp | 20 ++++++++++++++++---- 3 files changed, 37 insertions(+), 14 deletions(-) diff --git a/inc/ext/prof_protocol.h b/inc/ext/prof_protocol.h index 42501f7355..c31027e404 100644 --- a/inc/ext/prof_protocol.h +++ b/inc/ext/prof_protocol.h @@ -20,8 +20,8 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -#ifndef INC_ROCTRACER_PROF_PROTOCOL_H_ -#define INC_ROCTRACER_PROF_PROTOCOL_H_ +#ifndef INC_EXT_PROF_PROTOCOL_H_ +#define INC_EXT_PROF_PROTOCOL_H_ // Traced API domains typedef enum { @@ -52,8 +52,16 @@ struct activity_record_t { activity_correlation_id_t correlation_id; // activity correlation ID uint64_t begin_ns; // host begin timestamp uint64_t end_ns; // host end timestamp - int device_id; // device id - uint64_t stream_id; // stream id + union { + struct { + int device_id; // device id + uint64_t queue_id; // queue id + }; + struct { + uint32_t process_id; // device id + uint32_t thread_id; // thread id + }; + }; size_t bytes; // data size bytes }; @@ -62,4 +70,4 @@ typedef activity_record_t* (*activity_sync_callback_t)(uint32_t cid, activity_re // Activity async calback type typedef void (*activity_async_callback_t)(uint32_t op, void* record, void* arg); -#endif // INC_ROCTRACER_PROF_PROTOCOL_H_ +#endif // INC_EXT_PROF_PROTOCOL_H_ diff --git a/src/core/roctracer.cpp b/src/core/roctracer.cpp index 1f4c887ff2..2c22e3d84a 100644 --- a/src/core/roctracer.cpp +++ b/src/core/roctracer.cpp @@ -29,6 +29,8 @@ THE SOFTWARE. #include #include #include +#include +#include #include "ext/hsa_rt_utils.hpp" #include "util/exception.h" @@ -276,7 +278,7 @@ DESTRUCTOR_API void destructor() { util::Logger::Destroy(); } -roctracer_record_t* SyncActivityCallback( +roctracer_record_t* HIP_SyncActivityCallback( uint32_t activity_id, roctracer_record_t* record, const void* callback_data, @@ -303,7 +305,8 @@ roctracer_record_t* SyncActivityCallback( return record; } else { record->end_ns = timer.timestamp_ns(); - Kalmar::CLAMP::GetActivityCoord(&(record->device_id), &(record->stream_id)); + record->process_id = syscall(__NR_getpid); + record->thread_id = syscall(__NR_gettid); pool->Write(*record); // Clearing record in HCC Kalmar::CLAMP::SetActivityRecord(0); @@ -311,7 +314,7 @@ roctracer_record_t* SyncActivityCallback( } } -void AsyncActivityCallback( +void HCC_AsyncActivityCallback( uint32_t op_id, void* record, void* arg) @@ -460,12 +463,12 @@ PUBLIC_API roctracer_status_t roctracer_enable_activity( roctracer_enable_activity(ACTIVITY_DOMAIN_HIP_API, HIP_API_ID_ANY, pool); break; case ACTIVITY_DOMAIN_HCC_OPS: { - const bool err = Kalmar::CLAMP::SetActivityCallback(id, (void*)roctracer::AsyncActivityCallback, (void*)pool); + const bool err = Kalmar::CLAMP::SetActivityCallback(id, (void*)roctracer::HCC_AsyncActivityCallback, (void*)pool); if (err == true) HCC_EXC_RAISING(ROCTRACER_STATUS_HCC_OPS_ERR, "Kalmar::CLAMP::SetActivityCallback error"); break; } case ACTIVITY_DOMAIN_HIP_API: { - const hipError_t hip_err = hipRegisterActivityCallback(id, (void*)roctracer::SyncActivityCallback, (void*)pool); + const hipError_t hip_err = hipRegisterActivityCallback(id, (void*)roctracer::HIP_SyncActivityCallback, (void*)pool); if (hip_err != hipSuccess) HIP_EXC_RAISING(ROCTRACER_STATUS_HIP_API_ERR, "hipRegisterActivityCallback error(" << hip_err << ")"); break; } diff --git a/test/MatrixTranspose/MatrixTranspose.cpp b/test/MatrixTranspose/MatrixTranspose.cpp index 707aaa885a..7dadf38cc6 100644 --- a/test/MatrixTranspose/MatrixTranspose.cpp +++ b/test/MatrixTranspose/MatrixTranspose.cpp @@ -212,14 +212,26 @@ void activity_callback(const char* begin, const char* end, void* arg) { fprintf(stdout, "\tActivity records:\n"); fflush(stdout); while (record < end_record) { const char * name = roctracer_id_string(record->domain, record->activity_id, record->kind); - fprintf(stdout, "\t%s\tcorrelation_id(%lu) time_ns(%lu:%lu) device_id(%d) stream_id(%lu)", + fprintf(stdout, "\t%s\tcorrelation_id(%lu) time_ns(%lu:%lu)", name, record->correlation_id, record->begin_ns, - record->end_ns, - record->device_id, - record->stream_id + record->end_ns ); + if (record->domain == ACTIVITY_DOMAIN_HIP_API) { + fprintf(stdout, " process_id(%u) thread_id(%u)", + record->process_id, + record->thread_id + ); + } else if (record->domain == ACTIVITY_DOMAIN_HCC_OPS) { + fprintf(stdout, " device_id(%d) queue_id(%lu)", + record->device_id, + record->queue_id + ); + } else { + fprintf(stderr, "Bad domain %d\n", record->domain); + abort(); + } if (record->activity_id == hc::HSA_OP_ID_COPY) fprintf(stdout, " bytes(0x%zx)", record->bytes); fprintf(stdout, "\n"); fflush(stdout); From 8f4cece27ebe26f7e00b8ce2a129b3e0d0adfba8 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Wed, 28 Nov 2018 12:36:11 -0600 Subject: [PATCH 043/691] HSA API callbacks and hsa test --- .gitignore | 9 + CMakeLists.txt | 9 +- inc/ext/hsa_rt_utils.hpp | 23 +- inc/ext/prof_protocol.h | 5 +- inc/hsa_prof_str.h | 4206 +++++++++++++++++++++++++++++++++ inc/roctracer.h | 16 +- inc/roctracer_hsa.h | 74 + script/hipap.py | 438 +++- script/hsaap.py | 424 ++++ src/CMakeLists.txt | 1 + src/core/roctracer.cpp | 67 +- test/CMakeLists.txt | 43 + test/MatrixTranspose/Makefile | 2 +- test/run.sh | 55 + test/tool/tool.cpp | 61 + 15 files changed, 5326 insertions(+), 107 deletions(-) create mode 100644 .gitignore create mode 100644 inc/hsa_prof_str.h create mode 100644 inc/roctracer_hsa.h create mode 100755 script/hsaap.py create mode 100644 test/CMakeLists.txt create mode 100755 test/run.sh create mode 100644 test/tool/tool.cpp diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000000..b27d714e28 --- /dev/null +++ b/.gitignore @@ -0,0 +1,9 @@ +.* +!.gitignore +*.o +*.exe +*.swp +*.Po +b +build +test/hsa diff --git a/CMakeLists.txt b/CMakeLists.txt index f34cffe0cb..0b623e463e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -41,7 +41,9 @@ include ( utils ) ## Set build environment include ( env ) ## Set test target -add_custom_target( mytest COMMAND make -C "${CMAKE_CURRENT_SOURCE_DIR}/test/MatrixTranspose" ) +add_custom_target( mytest + COMMAND make -C "${CMAKE_CURRENT_SOURCE_DIR}/test/MatrixTranspose" + COMMAND ${PROJECT_BINARY_DIR}/run.sh) ## Setup the package version. get_version ( "1.0.0" ) @@ -61,7 +63,7 @@ set ( BUILD_VERSION_STRING "${BUILD_VERSION_MAJOR}.${BUILD_VERSION_MINOR}.${BUIL set ( TARGET_NAME "${ROCTRACER_TARGET}" ) set ( ROOT_DIR "${CMAKE_CURRENT_SOURCE_DIR}" ) set ( LIB_DIR "${ROOT_DIR}/src" ) -#set ( TEST_DIR "${ROOT_DIR}/test" ) +set ( TEST_DIR "${ROOT_DIR}/test" ) ## Build library include ( ${LIB_DIR}/CMakeLists.txt ) @@ -75,6 +77,9 @@ set_property ( TARGET ${TARGET_NAME} PROPERTY SOVERSION "${BUILD_VERSION_MAJOR}" # add_custom_command ( TARGET ${ROCTRACER_TARGET} POST_BUILD COMMAND ${CMAKE_STRIP} *.so ) #endif () +## Build tests +add_subdirectory ( ${TEST_DIR} ${PROJECT_BINARY_DIR}/test ) + ## Install and packaging set ( CMAKE_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX}/${ROCTRACER_NAME} ) set ( CPACK_PACKAGING_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX} ) diff --git a/inc/ext/hsa_rt_utils.hpp b/inc/ext/hsa_rt_utils.hpp index 346e671077..eaddb27db7 100644 --- a/inc/ext/hsa_rt_utils.hpp +++ b/inc/ext/hsa_rt_utils.hpp @@ -27,6 +27,7 @@ THE SOFTWARE. #include #include +#include #define HSART_CALL(call) \ do { \ @@ -45,10 +46,13 @@ class Timer { public: typedef uint64_t timestamp_t; typedef long double freq_t; + typedef decltype(hsa_system_get_info)* hsa_system_get_info_fn_t; - Timer() { + // Initialization + inline void init(const hsa_system_get_info_fn_t& get_info_fn) { + hsa_system_get_info_fn = get_info_fn; timestamp_t timestamp_hz = 0; - HSART_CALL(hsa_system_get_info(HSA_SYSTEM_INFO_TIMESTAMP_FREQUENCY, ×tamp_hz)); + HSART_CALL(get_info_fn(HSA_SYSTEM_INFO_TIMESTAMP_FREQUENCY, ×tamp_hz)); timestamp_rate_ = (freq_t)1000000000 / (freq_t)timestamp_hz; } @@ -66,8 +70,23 @@ class Timer { HSART_CALL(hsa_system_get_info(HSA_SYSTEM_INFO_TIMESTAMP, ×tamp)); return timestamp_to_ns(timestamp); } + timestamp_t timestamp_fn_ns() const { + timestamp_t timestamp; + HSART_CALL(hsa_system_get_info_fn(HSA_SYSTEM_INFO_TIMESTAMP, ×tamp)); + return timestamp_to_ns(timestamp); + } + + Timer() { + init(hsa_system_get_info); + } + + Timer(hsa_system_get_info_fn_t f) { + init(f); + } private: + // hsa_system_get_info function + hsa_system_get_info_fn_t hsa_system_get_info_fn; // Timestamp rate freq_t timestamp_rate_; }; diff --git a/inc/ext/prof_protocol.h b/inc/ext/prof_protocol.h index c31027e404..8f22d8d685 100644 --- a/inc/ext/prof_protocol.h +++ b/inc/ext/prof_protocol.h @@ -26,9 +26,10 @@ THE SOFTWARE. // Traced API domains typedef enum { ACTIVITY_DOMAIN_ANY = 0, // Any domain - ACTIVITY_DOMAIN_HIP_API = 1, // HIP domain + ACTIVITY_DOMAIN_HSA_API = 1, // HSA domain ACTIVITY_DOMAIN_HCC_OPS = 2, // HCC domain - ACTIVITY_DOMAIN_NUMBER = 3 + ACTIVITY_DOMAIN_HIP_API = 3, // HIP domain + ACTIVITY_DOMAIN_NUMBER = 4 } activity_domain_t; // API calback type diff --git a/inc/hsa_prof_str.h b/inc/hsa_prof_str.h new file mode 100644 index 0000000000..2565008aea --- /dev/null +++ b/inc/hsa_prof_str.h @@ -0,0 +1,4206 @@ +// automatically generated + +/* +Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +*/ + +///////////////////////////////////////////////////////////////////////////// +// +// HSA API tracing primitives +// +// 'CoreApiTable', header 'hsa.h', 125 funcs +// 'AmdExtTable', header 'hsa_ext_amd.h', 40 funcs +// 'ImageExtTable', header 'hsa_ext_image.h', 13 funcs +// 'AmdExtTable', header 'hsa_api_trace.h', 40 funcs +// +///////////////////////////////////////////////////////////////////////////// + +#ifndef INC_HSA_PROF_STR_H_ +#define INC_HSA_PROF_STR_H_ + +// section: API ID enumeration + +enum hsa_api_id_t { + // block: CoreApiTable API + HSA_API_ID_hsa_init = 0, + HSA_API_ID_hsa_shut_down = 1, + HSA_API_ID_hsa_system_get_info = 2, + HSA_API_ID_hsa_system_extension_supported = 3, + HSA_API_ID_hsa_system_get_extension_table = 4, + HSA_API_ID_hsa_iterate_agents = 5, + HSA_API_ID_hsa_agent_get_info = 6, + HSA_API_ID_hsa_queue_create = 7, + HSA_API_ID_hsa_soft_queue_create = 8, + HSA_API_ID_hsa_queue_destroy = 9, + HSA_API_ID_hsa_queue_inactivate = 10, + HSA_API_ID_hsa_queue_load_read_index_scacquire = 11, + HSA_API_ID_hsa_queue_load_read_index_relaxed = 12, + HSA_API_ID_hsa_queue_load_write_index_scacquire = 13, + HSA_API_ID_hsa_queue_load_write_index_relaxed = 14, + HSA_API_ID_hsa_queue_store_write_index_relaxed = 15, + HSA_API_ID_hsa_queue_store_write_index_screlease = 16, + HSA_API_ID_hsa_queue_cas_write_index_scacq_screl = 17, + HSA_API_ID_hsa_queue_cas_write_index_scacquire = 18, + HSA_API_ID_hsa_queue_cas_write_index_relaxed = 19, + HSA_API_ID_hsa_queue_cas_write_index_screlease = 20, + HSA_API_ID_hsa_queue_add_write_index_scacq_screl = 21, + HSA_API_ID_hsa_queue_add_write_index_scacquire = 22, + HSA_API_ID_hsa_queue_add_write_index_relaxed = 23, + HSA_API_ID_hsa_queue_add_write_index_screlease = 24, + HSA_API_ID_hsa_queue_store_read_index_relaxed = 25, + HSA_API_ID_hsa_queue_store_read_index_screlease = 26, + HSA_API_ID_hsa_agent_iterate_regions = 27, + HSA_API_ID_hsa_region_get_info = 28, + HSA_API_ID_hsa_agent_get_exception_policies = 29, + HSA_API_ID_hsa_agent_extension_supported = 30, + HSA_API_ID_hsa_memory_register = 31, + HSA_API_ID_hsa_memory_deregister = 32, + HSA_API_ID_hsa_memory_allocate = 33, + HSA_API_ID_hsa_memory_free = 34, + HSA_API_ID_hsa_memory_copy = 35, + HSA_API_ID_hsa_memory_assign_agent = 36, + HSA_API_ID_hsa_signal_create = 37, + HSA_API_ID_hsa_signal_destroy = 38, + HSA_API_ID_hsa_signal_load_relaxed = 39, + HSA_API_ID_hsa_signal_load_scacquire = 40, + HSA_API_ID_hsa_signal_store_relaxed = 41, + HSA_API_ID_hsa_signal_store_screlease = 42, + HSA_API_ID_hsa_signal_wait_relaxed = 43, + HSA_API_ID_hsa_signal_wait_scacquire = 44, + HSA_API_ID_hsa_signal_and_relaxed = 45, + HSA_API_ID_hsa_signal_and_scacquire = 46, + HSA_API_ID_hsa_signal_and_screlease = 47, + HSA_API_ID_hsa_signal_and_scacq_screl = 48, + HSA_API_ID_hsa_signal_or_relaxed = 49, + HSA_API_ID_hsa_signal_or_scacquire = 50, + HSA_API_ID_hsa_signal_or_screlease = 51, + HSA_API_ID_hsa_signal_or_scacq_screl = 52, + HSA_API_ID_hsa_signal_xor_relaxed = 53, + HSA_API_ID_hsa_signal_xor_scacquire = 54, + HSA_API_ID_hsa_signal_xor_screlease = 55, + HSA_API_ID_hsa_signal_xor_scacq_screl = 56, + HSA_API_ID_hsa_signal_exchange_relaxed = 57, + HSA_API_ID_hsa_signal_exchange_scacquire = 58, + HSA_API_ID_hsa_signal_exchange_screlease = 59, + HSA_API_ID_hsa_signal_exchange_scacq_screl = 60, + HSA_API_ID_hsa_signal_add_relaxed = 61, + HSA_API_ID_hsa_signal_add_scacquire = 62, + HSA_API_ID_hsa_signal_add_screlease = 63, + HSA_API_ID_hsa_signal_add_scacq_screl = 64, + HSA_API_ID_hsa_signal_subtract_relaxed = 65, + HSA_API_ID_hsa_signal_subtract_scacquire = 66, + HSA_API_ID_hsa_signal_subtract_screlease = 67, + HSA_API_ID_hsa_signal_subtract_scacq_screl = 68, + HSA_API_ID_hsa_signal_cas_relaxed = 69, + HSA_API_ID_hsa_signal_cas_scacquire = 70, + HSA_API_ID_hsa_signal_cas_screlease = 71, + HSA_API_ID_hsa_signal_cas_scacq_screl = 72, + HSA_API_ID_hsa_isa_from_name = 73, + HSA_API_ID_hsa_isa_get_info = 74, + HSA_API_ID_hsa_isa_compatible = 75, + HSA_API_ID_hsa_code_object_serialize = 76, + HSA_API_ID_hsa_code_object_deserialize = 77, + HSA_API_ID_hsa_code_object_destroy = 78, + HSA_API_ID_hsa_code_object_get_info = 79, + HSA_API_ID_hsa_code_object_get_symbol = 80, + HSA_API_ID_hsa_code_symbol_get_info = 81, + HSA_API_ID_hsa_code_object_iterate_symbols = 82, + HSA_API_ID_hsa_executable_create = 83, + HSA_API_ID_hsa_executable_destroy = 84, + HSA_API_ID_hsa_executable_load_code_object = 85, + HSA_API_ID_hsa_executable_freeze = 86, + HSA_API_ID_hsa_executable_get_info = 87, + HSA_API_ID_hsa_executable_global_variable_define = 88, + HSA_API_ID_hsa_executable_agent_global_variable_define = 89, + HSA_API_ID_hsa_executable_readonly_variable_define = 90, + HSA_API_ID_hsa_executable_validate = 91, + HSA_API_ID_hsa_executable_get_symbol = 92, + HSA_API_ID_hsa_executable_symbol_get_info = 93, + HSA_API_ID_hsa_executable_iterate_symbols = 94, + HSA_API_ID_hsa_status_string = 95, + HSA_API_ID_hsa_extension_get_name = 96, + HSA_API_ID_hsa_system_major_extension_supported = 97, + HSA_API_ID_hsa_system_get_major_extension_table = 98, + HSA_API_ID_hsa_agent_major_extension_supported = 99, + HSA_API_ID_hsa_cache_get_info = 100, + HSA_API_ID_hsa_agent_iterate_caches = 101, + HSA_API_ID_hsa_signal_silent_store_relaxed = 102, + HSA_API_ID_hsa_signal_silent_store_screlease = 103, + HSA_API_ID_hsa_signal_group_create = 104, + HSA_API_ID_hsa_signal_group_destroy = 105, + HSA_API_ID_hsa_signal_group_wait_any_scacquire = 106, + HSA_API_ID_hsa_signal_group_wait_any_relaxed = 107, + HSA_API_ID_hsa_agent_iterate_isas = 108, + HSA_API_ID_hsa_isa_get_info_alt = 109, + HSA_API_ID_hsa_isa_get_exception_policies = 110, + HSA_API_ID_hsa_isa_get_round_method = 111, + HSA_API_ID_hsa_wavefront_get_info = 112, + HSA_API_ID_hsa_isa_iterate_wavefronts = 113, + HSA_API_ID_hsa_code_object_get_symbol_from_name = 114, + HSA_API_ID_hsa_code_object_reader_create_from_file = 115, + HSA_API_ID_hsa_code_object_reader_create_from_memory = 116, + HSA_API_ID_hsa_code_object_reader_destroy = 117, + HSA_API_ID_hsa_executable_create_alt = 118, + HSA_API_ID_hsa_executable_load_program_code_object = 119, + HSA_API_ID_hsa_executable_load_agent_code_object = 120, + HSA_API_ID_hsa_executable_validate_alt = 121, + HSA_API_ID_hsa_executable_get_symbol_by_name = 122, + HSA_API_ID_hsa_executable_iterate_agent_symbols = 123, + HSA_API_ID_hsa_executable_iterate_program_symbols = 124, + + // block: AmdExtTable API + HSA_API_ID_hsa_amd_coherency_get_type = 125, + HSA_API_ID_hsa_amd_coherency_set_type = 126, + HSA_API_ID_hsa_amd_profiling_set_profiler_enabled = 127, + HSA_API_ID_hsa_amd_profiling_async_copy_enable = 128, + HSA_API_ID_hsa_amd_profiling_get_dispatch_time = 129, + HSA_API_ID_hsa_amd_profiling_get_async_copy_time = 130, + HSA_API_ID_hsa_amd_profiling_convert_tick_to_system_domain = 131, + HSA_API_ID_hsa_amd_signal_async_handler = 132, + HSA_API_ID_hsa_amd_async_function = 133, + HSA_API_ID_hsa_amd_signal_wait_any = 134, + HSA_API_ID_hsa_amd_queue_cu_set_mask = 135, + HSA_API_ID_hsa_amd_memory_pool_get_info = 136, + HSA_API_ID_hsa_amd_agent_iterate_memory_pools = 137, + HSA_API_ID_hsa_amd_memory_pool_allocate = 138, + HSA_API_ID_hsa_amd_memory_pool_free = 139, + HSA_API_ID_hsa_amd_memory_async_copy = 140, + HSA_API_ID_hsa_amd_agent_memory_pool_get_info = 141, + HSA_API_ID_hsa_amd_agents_allow_access = 142, + HSA_API_ID_hsa_amd_memory_pool_can_migrate = 143, + HSA_API_ID_hsa_amd_memory_migrate = 144, + HSA_API_ID_hsa_amd_memory_lock = 145, + HSA_API_ID_hsa_amd_memory_unlock = 146, + HSA_API_ID_hsa_amd_memory_fill = 147, + HSA_API_ID_hsa_amd_interop_map_buffer = 148, + HSA_API_ID_hsa_amd_interop_unmap_buffer = 149, + HSA_API_ID_hsa_amd_image_create = 150, + HSA_API_ID_hsa_amd_pointer_info = 151, + HSA_API_ID_hsa_amd_pointer_info_set_userdata = 152, + HSA_API_ID_hsa_amd_ipc_memory_create = 153, + HSA_API_ID_hsa_amd_ipc_memory_attach = 154, + HSA_API_ID_hsa_amd_ipc_memory_detach = 155, + HSA_API_ID_hsa_amd_signal_create = 156, + HSA_API_ID_hsa_amd_ipc_signal_create = 157, + HSA_API_ID_hsa_amd_ipc_signal_attach = 158, + HSA_API_ID_hsa_amd_register_system_event_handler = 159, + HSA_API_ID_hsa_amd_queue_intercept_create = 160, + HSA_API_ID_hsa_amd_queue_intercept_register = 161, + HSA_API_ID_hsa_amd_queue_set_priority = 162, + HSA_API_ID_hsa_amd_memory_async_copy_rect = 163, + HSA_API_ID_hsa_amd_runtime_queue_create_register = 164, + + // block: ImageExtTable API + HSA_API_ID_hsa_ext_image_get_capability = 165, + HSA_API_ID_hsa_ext_image_data_get_info = 166, + HSA_API_ID_hsa_ext_image_create = 167, + HSA_API_ID_hsa_ext_image_import = 168, + HSA_API_ID_hsa_ext_image_export = 169, + HSA_API_ID_hsa_ext_image_copy = 170, + HSA_API_ID_hsa_ext_image_clear = 171, + HSA_API_ID_hsa_ext_image_destroy = 172, + HSA_API_ID_hsa_ext_sampler_create = 173, + HSA_API_ID_hsa_ext_sampler_destroy = 174, + HSA_API_ID_hsa_ext_image_get_capability_with_layout = 175, + HSA_API_ID_hsa_ext_image_data_get_info_with_layout = 176, + HSA_API_ID_hsa_ext_image_create_with_layout = 177, + + HSA_API_ID_NUMBER = 178, + HSA_API_ID_ANY = 179, +}; + +// section: API arg structure + +struct hsa_api_data_t { + uint64_t correlation_id; + uint32_t phase; + union { + // block: CoreApiTable API + struct { + } hsa_init; + struct { + } hsa_shut_down; + struct { + hsa_system_info_t attribute; + void* value; + } hsa_system_get_info; + struct { + uint16_t version_minor; + bool* result; + uint16_t extension; + uint16_t version_major; + } hsa_system_extension_supported; + struct { + void* table; + uint16_t version_minor; + uint16_t extension; + uint16_t version_major; + } hsa_system_get_extension_table; + struct { + hsa_status_t (* callback)(hsa_agent_t agent,void* data); + void* data; + } hsa_iterate_agents; + struct { + hsa_agent_info_t attribute; + void* value; + hsa_agent_t agent; + } hsa_agent_get_info; + struct { + uint32_t private_segment_size; + void* data; + hsa_agent_t agent; + hsa_queue_t** queue; + void (* callback)(hsa_status_t status,hsa_queue_t* source,void* data); + uint32_t group_segment_size; + hsa_queue_type32_t type; + uint32_t size; + } hsa_queue_create; + struct { + uint32_t features; + hsa_region_t region; + hsa_queue_t** queue; + hsa_signal_t doorbell_signal; + hsa_queue_type32_t type; + uint32_t size; + } hsa_soft_queue_create; + struct { + hsa_queue_t* queue; + } hsa_queue_destroy; + struct { + hsa_queue_t* queue; + } hsa_queue_inactivate; + struct { + const hsa_queue_t* queue; + } hsa_queue_load_read_index_scacquire; + struct { + const hsa_queue_t* queue; + } hsa_queue_load_read_index_relaxed; + struct { + const hsa_queue_t* queue; + } hsa_queue_load_write_index_scacquire; + struct { + const hsa_queue_t* queue; + } hsa_queue_load_write_index_relaxed; + struct { + const hsa_queue_t* queue; + uint64_t value; + } hsa_queue_store_write_index_relaxed; + struct { + const hsa_queue_t* queue; + uint64_t value; + } hsa_queue_store_write_index_screlease; + struct { + const hsa_queue_t* queue; + uint64_t expected; + uint64_t value; + } hsa_queue_cas_write_index_scacq_screl; + struct { + const hsa_queue_t* queue; + uint64_t expected; + uint64_t value; + } hsa_queue_cas_write_index_scacquire; + struct { + const hsa_queue_t* queue; + uint64_t expected; + uint64_t value; + } hsa_queue_cas_write_index_relaxed; + struct { + const hsa_queue_t* queue; + uint64_t expected; + uint64_t value; + } hsa_queue_cas_write_index_screlease; + struct { + const hsa_queue_t* queue; + uint64_t value; + } hsa_queue_add_write_index_scacq_screl; + struct { + const hsa_queue_t* queue; + uint64_t value; + } hsa_queue_add_write_index_scacquire; + struct { + const hsa_queue_t* queue; + uint64_t value; + } hsa_queue_add_write_index_relaxed; + struct { + const hsa_queue_t* queue; + uint64_t value; + } hsa_queue_add_write_index_screlease; + struct { + const hsa_queue_t* queue; + uint64_t value; + } hsa_queue_store_read_index_relaxed; + struct { + const hsa_queue_t* queue; + uint64_t value; + } hsa_queue_store_read_index_screlease; + struct { + hsa_status_t (* callback)(hsa_region_t region,void* data); + void* data; + hsa_agent_t agent; + } hsa_agent_iterate_regions; + struct { + hsa_region_info_t attribute; + hsa_region_t region; + void* value; + } hsa_region_get_info; + struct { + hsa_profile_t profile; + uint16_t* mask; + hsa_agent_t agent; + } hsa_agent_get_exception_policies; + struct { + bool* result; + uint16_t version_minor; + hsa_agent_t agent; + uint16_t extension; + uint16_t version_major; + } hsa_agent_extension_supported; + struct { + void* ptr; + size_t size; + } hsa_memory_register; + struct { + void* ptr; + size_t size; + } hsa_memory_deregister; + struct { + hsa_region_t region; + void** ptr; + size_t size; + } hsa_memory_allocate; + struct { + void* ptr; + } hsa_memory_free; + struct { + const void* src; + void* dst; + size_t size; + } hsa_memory_copy; + struct { + hsa_access_permission_t access; + void* ptr; + hsa_agent_t agent; + } hsa_memory_assign_agent; + struct { + hsa_signal_t* signal; + uint32_t num_consumers; + const hsa_agent_t* consumers; + hsa_signal_value_t initial_value; + } hsa_signal_create; + struct { + hsa_signal_t signal; + } hsa_signal_destroy; + struct { + hsa_signal_t signal; + } hsa_signal_load_relaxed; + struct { + hsa_signal_t signal; + } hsa_signal_load_scacquire; + struct { + hsa_signal_t signal; + hsa_signal_value_t value; + } hsa_signal_store_relaxed; + struct { + hsa_signal_t signal; + hsa_signal_value_t value; + } hsa_signal_store_screlease; + struct { + hsa_signal_t signal; + uint64_t timeout_hint; + hsa_wait_state_t wait_state_hint; + hsa_signal_value_t compare_value; + hsa_signal_condition_t condition; + } hsa_signal_wait_relaxed; + struct { + hsa_signal_t signal; + uint64_t timeout_hint; + hsa_wait_state_t wait_state_hint; + hsa_signal_value_t compare_value; + hsa_signal_condition_t condition; + } hsa_signal_wait_scacquire; + struct { + hsa_signal_t signal; + hsa_signal_value_t value; + } hsa_signal_and_relaxed; + struct { + hsa_signal_t signal; + hsa_signal_value_t value; + } hsa_signal_and_scacquire; + struct { + hsa_signal_t signal; + hsa_signal_value_t value; + } hsa_signal_and_screlease; + struct { + hsa_signal_t signal; + hsa_signal_value_t value; + } hsa_signal_and_scacq_screl; + struct { + hsa_signal_t signal; + hsa_signal_value_t value; + } hsa_signal_or_relaxed; + struct { + hsa_signal_t signal; + hsa_signal_value_t value; + } hsa_signal_or_scacquire; + struct { + hsa_signal_t signal; + hsa_signal_value_t value; + } hsa_signal_or_screlease; + struct { + hsa_signal_t signal; + hsa_signal_value_t value; + } hsa_signal_or_scacq_screl; + struct { + hsa_signal_t signal; + hsa_signal_value_t value; + } hsa_signal_xor_relaxed; + struct { + hsa_signal_t signal; + hsa_signal_value_t value; + } hsa_signal_xor_scacquire; + struct { + hsa_signal_t signal; + hsa_signal_value_t value; + } hsa_signal_xor_screlease; + struct { + hsa_signal_t signal; + hsa_signal_value_t value; + } hsa_signal_xor_scacq_screl; + struct { + hsa_signal_t signal; + hsa_signal_value_t value; + } hsa_signal_exchange_relaxed; + struct { + hsa_signal_t signal; + hsa_signal_value_t value; + } hsa_signal_exchange_scacquire; + struct { + hsa_signal_t signal; + hsa_signal_value_t value; + } hsa_signal_exchange_screlease; + struct { + hsa_signal_t signal; + hsa_signal_value_t value; + } hsa_signal_exchange_scacq_screl; + struct { + hsa_signal_t signal; + hsa_signal_value_t value; + } hsa_signal_add_relaxed; + struct { + hsa_signal_t signal; + hsa_signal_value_t value; + } hsa_signal_add_scacquire; + struct { + hsa_signal_t signal; + hsa_signal_value_t value; + } hsa_signal_add_screlease; + struct { + hsa_signal_t signal; + hsa_signal_value_t value; + } hsa_signal_add_scacq_screl; + struct { + hsa_signal_t signal; + hsa_signal_value_t value; + } hsa_signal_subtract_relaxed; + struct { + hsa_signal_t signal; + hsa_signal_value_t value; + } hsa_signal_subtract_scacquire; + struct { + hsa_signal_t signal; + hsa_signal_value_t value; + } hsa_signal_subtract_screlease; + struct { + hsa_signal_t signal; + hsa_signal_value_t value; + } hsa_signal_subtract_scacq_screl; + struct { + hsa_signal_value_t expected; + hsa_signal_t signal; + hsa_signal_value_t value; + } hsa_signal_cas_relaxed; + struct { + hsa_signal_value_t expected; + hsa_signal_t signal; + hsa_signal_value_t value; + } hsa_signal_cas_scacquire; + struct { + hsa_signal_value_t expected; + hsa_signal_t signal; + hsa_signal_value_t value; + } hsa_signal_cas_screlease; + struct { + hsa_signal_value_t expected; + hsa_signal_t signal; + hsa_signal_value_t value; + } hsa_signal_cas_scacq_screl; + struct { + hsa_isa_t* isa; + const char* name; + } hsa_isa_from_name; + struct { + hsa_isa_info_t attribute; + hsa_isa_t isa; + void* value; + uint32_t index; + } hsa_isa_get_info; + struct { + hsa_isa_t code_object_isa; + bool* result; + hsa_isa_t agent_isa; + } hsa_isa_compatible; + struct { + hsa_callback_data_t callback_data; + hsa_code_object_t code_object; + void** serialized_code_object; + size_t* serialized_code_object_size; + hsa_status_t (* alloc_callback)(size_t size,hsa_callback_data_t data,void** address); + const char* options; + } hsa_code_object_serialize; + struct { + void* serialized_code_object; + size_t serialized_code_object_size; + hsa_code_object_t* code_object; + const char* options; + } hsa_code_object_deserialize; + struct { + hsa_code_object_t code_object; + } hsa_code_object_destroy; + struct { + hsa_code_object_info_t attribute; + hsa_code_object_t code_object; + void* value; + } hsa_code_object_get_info; + struct { + hsa_code_symbol_t* symbol; + hsa_code_object_t code_object; + const char* symbol_name; + } hsa_code_object_get_symbol; + struct { + hsa_code_symbol_t code_symbol; + void* value; + hsa_code_symbol_info_t attribute; + } hsa_code_symbol_get_info; + struct { + hsa_status_t (* callback)(hsa_code_object_t code_object,hsa_code_symbol_t symbol,void* data); + hsa_code_object_t code_object; + void* data; + } hsa_code_object_iterate_symbols; + struct { + hsa_profile_t profile; + hsa_executable_state_t executable_state; + hsa_executable_t* executable; + const char* options; + } hsa_executable_create; + struct { + hsa_executable_t executable; + } hsa_executable_destroy; + struct { + hsa_executable_t executable; + hsa_code_object_t code_object; + const char* options; + hsa_agent_t agent; + } hsa_executable_load_code_object; + struct { + hsa_executable_t executable; + const char* options; + } hsa_executable_freeze; + struct { + hsa_executable_info_t attribute; + hsa_executable_t executable; + void* value; + } hsa_executable_get_info; + struct { + hsa_executable_t executable; + void* address; + const char* variable_name; + } hsa_executable_global_variable_define; + struct { + hsa_executable_t executable; + void* address; + hsa_agent_t agent; + const char* variable_name; + } hsa_executable_agent_global_variable_define; + struct { + hsa_executable_t executable; + void* address; + hsa_agent_t agent; + const char* variable_name; + } hsa_executable_readonly_variable_define; + struct { + hsa_executable_t executable; + uint32_t* result; + } hsa_executable_validate; + struct { + hsa_executable_t executable; + const char* symbol_name; + hsa_executable_symbol_t* symbol; + hsa_agent_t agent; + int32_t call_convention; + const char* module_name; + } hsa_executable_get_symbol; + struct { + hsa_executable_symbol_info_t attribute; + hsa_executable_symbol_t executable_symbol; + void* value; + } hsa_executable_symbol_get_info; + struct { + hsa_status_t (* callback)(hsa_executable_t exec,hsa_executable_symbol_t symbol,void* data); + hsa_executable_t executable; + void* data; + } hsa_executable_iterate_symbols; + struct { + hsa_status_t status; + const char** status_string; + } hsa_status_string; + struct { + const char** name; + uint16_t extension; + } hsa_extension_get_name; + struct { + uint16_t* version_minor; + bool* result; + uint16_t extension; + uint16_t version_major; + } hsa_system_major_extension_supported; + struct { + void* table; + size_t table_length; + uint16_t extension; + uint16_t version_major; + } hsa_system_get_major_extension_table; + struct { + bool* result; + uint16_t* version_minor; + hsa_agent_t agent; + uint16_t extension; + uint16_t version_major; + } hsa_agent_major_extension_supported; + struct { + hsa_cache_info_t attribute; + hsa_cache_t cache; + void* value; + } hsa_cache_get_info; + struct { + hsa_status_t (* callback)(hsa_cache_t cache,void* data); + void* data; + hsa_agent_t agent; + } hsa_agent_iterate_caches; + struct { + hsa_signal_t signal; + hsa_signal_value_t value; + } hsa_signal_silent_store_relaxed; + struct { + hsa_signal_t signal; + hsa_signal_value_t value; + } hsa_signal_silent_store_screlease; + struct { + const hsa_signal_t* signals; + uint32_t num_signals; + hsa_signal_group_t* signal_group; + const hsa_agent_t* consumers; + uint32_t num_consumers; + } hsa_signal_group_create; + struct { + hsa_signal_group_t signal_group; + } hsa_signal_group_destroy; + struct { + hsa_signal_group_t signal_group; + hsa_wait_state_t wait_state_hint; + hsa_signal_t* signal; + const hsa_signal_value_t* compare_values; + hsa_signal_value_t* value; + const hsa_signal_condition_t* conditions; + } hsa_signal_group_wait_any_scacquire; + struct { + hsa_signal_group_t signal_group; + hsa_wait_state_t wait_state_hint; + hsa_signal_t* signal; + const hsa_signal_value_t* compare_values; + hsa_signal_value_t* value; + const hsa_signal_condition_t* conditions; + } hsa_signal_group_wait_any_relaxed; + struct { + hsa_status_t (* callback)(hsa_isa_t isa,void* data); + void* data; + hsa_agent_t agent; + } hsa_agent_iterate_isas; + struct { + hsa_isa_info_t attribute; + hsa_isa_t isa; + void* value; + } hsa_isa_get_info_alt; + struct { + hsa_profile_t profile; + hsa_isa_t isa; + uint16_t* mask; + } hsa_isa_get_exception_policies; + struct { + hsa_isa_t isa; + hsa_round_method_t* round_method; + hsa_flush_mode_t flush_mode; + hsa_fp_type_t fp_type; + } hsa_isa_get_round_method; + struct { + hsa_wavefront_info_t attribute; + hsa_wavefront_t wavefront; + void* value; + } hsa_wavefront_get_info; + struct { + hsa_status_t (* callback)(hsa_wavefront_t wavefront,void* data); + hsa_isa_t isa; + void* data; + } hsa_isa_iterate_wavefronts; + struct { + const char* module_name; + hsa_code_symbol_t* symbol; + hsa_code_object_t code_object; + const char* symbol_name; + } hsa_code_object_get_symbol_from_name; + struct { + hsa_code_object_reader_t* code_object_reader; + hsa_file_t file; + } hsa_code_object_reader_create_from_file; + struct { + hsa_code_object_reader_t* code_object_reader; + const void* code_object; + size_t size; + } hsa_code_object_reader_create_from_memory; + struct { + hsa_code_object_reader_t code_object_reader; + } hsa_code_object_reader_destroy; + struct { + hsa_profile_t profile; + hsa_default_float_rounding_mode_t default_float_rounding_mode; + hsa_executable_t* executable; + const char* options; + } hsa_executable_create_alt; + struct { + hsa_code_object_reader_t code_object_reader; + hsa_executable_t executable; + hsa_loaded_code_object_t* loaded_code_object; + const char* options; + } hsa_executable_load_program_code_object; + struct { + hsa_code_object_reader_t code_object_reader; + hsa_executable_t executable; + hsa_loaded_code_object_t* loaded_code_object; + const char* options; + hsa_agent_t agent; + } hsa_executable_load_agent_code_object; + struct { + hsa_executable_t executable; + const char* options; + uint32_t* result; + } hsa_executable_validate_alt; + struct { + hsa_executable_symbol_t* symbol; + hsa_executable_t executable; + const char* symbol_name; + const hsa_agent_t* agent; + } hsa_executable_get_symbol_by_name; + struct { + hsa_status_t (* callback)(hsa_executable_t exec,hsa_agent_t agent,hsa_executable_symbol_t symbol,void* data); + hsa_executable_t executable; + void* data; + hsa_agent_t agent; + } hsa_executable_iterate_agent_symbols; + struct { + hsa_status_t (* callback)(hsa_executable_t exec,hsa_executable_symbol_t symbol,void* data); + hsa_executable_t executable; + void* data; + } hsa_executable_iterate_program_symbols; + + // block: AmdExtTable API + struct { + hsa_amd_coherency_type_t* type; + hsa_agent_t agent; + } hsa_amd_coherency_get_type; + struct { + hsa_amd_coherency_type_t type; + hsa_agent_t agent; + } hsa_amd_coherency_set_type; + struct { + hsa_queue_t* queue; + int enable; + } hsa_amd_profiling_set_profiler_enabled; + struct { + bool enable; + } hsa_amd_profiling_async_copy_enable; + struct { + hsa_signal_t signal; + hsa_agent_t agent; + hsa_amd_profiling_dispatch_time_t* time; + } hsa_amd_profiling_get_dispatch_time; + struct { + hsa_signal_t signal; + hsa_amd_profiling_async_copy_time_t* time; + } hsa_amd_profiling_get_async_copy_time; + struct { + uint64_t* system_tick; + hsa_agent_t agent; + uint64_t agent_tick; + } hsa_amd_profiling_convert_tick_to_system_domain; + struct { + hsa_signal_t signal; + hsa_amd_signal_handler handler; + hsa_signal_condition_t cond; + hsa_signal_value_t value; + void* arg; + } hsa_amd_signal_async_handler; + struct { + void (* callback)(void* arg); + void* arg; + } hsa_amd_async_function; + struct { + uint64_t timeout_hint; + uint32_t signal_count; + hsa_signal_condition_t* conds; + hsa_signal_t* signals; + hsa_signal_value_t* values; + hsa_signal_value_t* satisfying_value; + hsa_wait_state_t wait_hint; + } hsa_amd_signal_wait_any; + struct { + const hsa_queue_t* queue; + const uint32_t* cu_mask; + uint32_t num_cu_mask_count; + } hsa_amd_queue_cu_set_mask; + struct { + hsa_amd_memory_pool_info_t attribute; + hsa_amd_memory_pool_t memory_pool; + void* value; + } hsa_amd_memory_pool_get_info; + struct { + hsa_status_t (* callback)(hsa_amd_memory_pool_t memory_pool,void* data); + void* data; + hsa_agent_t agent; + } hsa_amd_agent_iterate_memory_pools; + struct { + void** ptr; + uint32_t flags; + hsa_amd_memory_pool_t memory_pool; + size_t size; + } hsa_amd_memory_pool_allocate; + struct { + void* ptr; + } hsa_amd_memory_pool_free; + struct { + hsa_signal_t completion_signal; + const void* src; + void* dst; + uint32_t num_dep_signals; + hsa_agent_t src_agent; + const hsa_signal_t* dep_signals; + hsa_agent_t dst_agent; + size_t size; + } hsa_amd_memory_async_copy; + struct { + hsa_amd_agent_memory_pool_info_t attribute; + void* value; + hsa_amd_memory_pool_t memory_pool; + hsa_agent_t agent; + } hsa_amd_agent_memory_pool_get_info; + struct { + const uint32_t* flags; + const hsa_agent_t* agents; + const void* ptr; + uint32_t num_agents; + } hsa_amd_agents_allow_access; + struct { + hsa_amd_memory_pool_t src_memory_pool; + hsa_amd_memory_pool_t dst_memory_pool; + bool* result; + } hsa_amd_memory_pool_can_migrate; + struct { + uint32_t flags; + const void* ptr; + hsa_amd_memory_pool_t memory_pool; + } hsa_amd_memory_migrate; + struct { + void* host_ptr; + int num_agent; + hsa_agent_t* agents; + void** agent_ptr; + size_t size; + } hsa_amd_memory_lock; + struct { + void* host_ptr; + } hsa_amd_memory_unlock; + struct { + size_t count; + void* ptr; + uint32_t value; + } hsa_amd_memory_fill; + struct { + uint32_t num_agents; + size_t* metadata_size; + uint32_t flags; + hsa_agent_t* agents; + const void** metadata; + void** ptr; + int interop_handle; + size_t* size; + } hsa_amd_interop_map_buffer; + struct { + void* ptr; + } hsa_amd_interop_unmap_buffer; + struct { + const hsa_ext_image_descriptor_t* image_descriptor; + hsa_ext_image_t* image; + hsa_agent_t agent; + hsa_access_permission_t access_permission; + const void* image_data; + const hsa_amd_image_descriptor_t* image_layout; + } hsa_amd_image_create; + struct { + hsa_amd_pointer_info_t* info; + hsa_agent_t** accessible; + void* (* alloc)(size_t); + void* ptr; + uint32_t* num_agents_accessible; + } hsa_amd_pointer_info; + struct { + void* userdata; + void* ptr; + } hsa_amd_pointer_info_set_userdata; + struct { + hsa_amd_ipc_memory_t* handle; + void* ptr; + size_t len; + } hsa_amd_ipc_memory_create; + struct { + void** mapped_ptr; + const hsa_amd_ipc_memory_t* handle; + const hsa_agent_t* mapping_agents; + size_t len; + uint32_t num_agents; + } hsa_amd_ipc_memory_attach; + struct { + void* mapped_ptr; + } hsa_amd_ipc_memory_detach; + struct { + uint64_t attributes; + hsa_signal_t* signal; + uint32_t num_consumers; + const hsa_agent_t* consumers; + hsa_signal_value_t initial_value; + } hsa_amd_signal_create; + struct { + hsa_signal_t signal; + hsa_amd_ipc_signal_t* handle; + } hsa_amd_ipc_signal_create; + struct { + hsa_signal_t* signal; + const hsa_amd_ipc_signal_t* handle; + } hsa_amd_ipc_signal_attach; + struct { + hsa_amd_system_event_callback_t callback; + void* data; + } hsa_amd_register_system_event_handler; + struct { + hsa_agent_t agent_handle; + uint32_t private_segment_size; + void* data; + hsa_queue_t** queue; + void (* callback)(hsa_status_t status,hsa_queue_t* source,void* data); + uint32_t group_segment_size; + hsa_queue_type32_t type; + uint32_t size; + } hsa_amd_queue_intercept_create; + struct { + hsa_queue_t* queue; + hsa_amd_queue_intercept_handler callback; + void* user_data; + } hsa_amd_queue_intercept_register; + struct { + hsa_queue_t* queue; + hsa_amd_queue_priority_t priority; + } hsa_amd_queue_set_priority; + struct { + hsa_signal_t completion_signal; + const hsa_pitched_ptr_t* src; + const hsa_dim3_t* src_offset; + const hsa_dim3_t* dst_offset; + const hsa_pitched_ptr_t* dst; + const hsa_signal_t* dep_signals; + uint32_t num_dep_signals; + const hsa_dim3_t* range; + hsa_agent_t copy_agent; + hsa_amd_copy_direction_t dir; + } hsa_amd_memory_async_copy_rect; + struct { + hsa_amd_runtime_queue_notifier callback; + void* user_data; + } hsa_amd_runtime_queue_create_register; + + // block: ImageExtTable API + struct { + hsa_ext_image_geometry_t geometry; + uint32_t* capability_mask; + const hsa_ext_image_format_t* image_format; + hsa_agent_t agent; + } hsa_ext_image_get_capability; + struct { + const hsa_ext_image_descriptor_t* image_descriptor; + hsa_ext_image_data_info_t* image_data_info; + hsa_agent_t agent; + hsa_access_permission_t access_permission; + } hsa_ext_image_data_get_info; + struct { + const void* image_data; + const hsa_ext_image_descriptor_t* image_descriptor; + hsa_ext_image_t* image; + hsa_agent_t agent; + hsa_access_permission_t access_permission; + } hsa_ext_image_create; + struct { + size_t src_row_pitch; + const hsa_ext_image_region_t* image_region; + hsa_agent_t agent; + size_t src_slice_pitch; + const void* src_memory; + hsa_ext_image_t dst_image; + } hsa_ext_image_import; + struct { + size_t dst_slice_pitch; + const hsa_ext_image_region_t* image_region; + hsa_agent_t agent; + size_t dst_row_pitch; + hsa_ext_image_t src_image; + void* dst_memory; + } hsa_ext_image_export; + struct { + const hsa_dim3_t* src_offset; + const hsa_dim3_t* dst_offset; + hsa_agent_t agent; + const hsa_dim3_t* range; + hsa_ext_image_t src_image; + hsa_ext_image_t dst_image; + } hsa_ext_image_copy; + struct { + hsa_ext_image_t image; + const void* data; + const hsa_ext_image_region_t* image_region; + hsa_agent_t agent; + } hsa_ext_image_clear; + struct { + hsa_ext_image_t image; + hsa_agent_t agent; + } hsa_ext_image_destroy; + struct { + const hsa_ext_sampler_descriptor_t* sampler_descriptor; + hsa_agent_t agent; + hsa_ext_sampler_t* sampler; + } hsa_ext_sampler_create; + struct { + hsa_agent_t agent; + hsa_ext_sampler_t sampler; + } hsa_ext_sampler_destroy; + struct { + hsa_ext_image_geometry_t geometry; + hsa_ext_image_data_layout_t image_data_layout; + const hsa_ext_image_format_t* image_format; + uint32_t* capability_mask; + hsa_agent_t agent; + } hsa_ext_image_get_capability_with_layout; + struct { + const hsa_ext_image_descriptor_t* image_descriptor; + hsa_ext_image_data_layout_t image_data_layout; + size_t image_data_row_pitch; + hsa_agent_t agent; + hsa_access_permission_t access_permission; + size_t image_data_slice_pitch; + hsa_ext_image_data_info_t* image_data_info; + } hsa_ext_image_data_get_info_with_layout; + struct { + const hsa_ext_image_descriptor_t* image_descriptor; + hsa_ext_image_data_layout_t image_data_layout; + size_t image_data_row_pitch; + hsa_agent_t agent; + size_t image_data_slice_pitch; + hsa_access_permission_t access_permission; + const void* image_data; + hsa_ext_image_t* image; + } hsa_ext_image_create_with_layout; + } args; +}; + +#if PROF_API_IMPL +namespace roctracer { +namespace hsa_support { + +// section: API callback functions + +typedef CbTable cb_table_t; +extern cb_table_t cb_table; + +// block: CoreApiTable API +static hsa_status_t hsa_init_callback() { + hsa_api_data_t api_data{}; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_init, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_init, &api_data, api_callback_arg); + hsa_status_t ret = CoreApiTable_saved.hsa_init_fn(); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_init, &api_data, api_callback_arg); + return ret; +} +static hsa_status_t hsa_shut_down_callback() { + hsa_api_data_t api_data{}; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_shut_down, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_shut_down, &api_data, api_callback_arg); + hsa_status_t ret = CoreApiTable_saved.hsa_shut_down_fn(); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_shut_down, &api_data, api_callback_arg); + return ret; +} +static hsa_status_t hsa_system_get_info_callback(hsa_system_info_t attribute, void* value) { + hsa_api_data_t api_data{}; + api_data.args.hsa_system_get_info.attribute = attribute; + api_data.args.hsa_system_get_info.value = value; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_system_get_info, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_system_get_info, &api_data, api_callback_arg); + hsa_status_t ret = CoreApiTable_saved.hsa_system_get_info_fn(attribute, value); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_system_get_info, &api_data, api_callback_arg); + return ret; +} +static hsa_status_t hsa_system_extension_supported_callback(uint16_t extension, uint16_t version_major, uint16_t version_minor, bool* result) { + hsa_api_data_t api_data{}; + api_data.args.hsa_system_extension_supported.version_minor = version_minor; + api_data.args.hsa_system_extension_supported.result = result; + api_data.args.hsa_system_extension_supported.extension = extension; + api_data.args.hsa_system_extension_supported.version_major = version_major; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_system_extension_supported, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_system_extension_supported, &api_data, api_callback_arg); + hsa_status_t ret = CoreApiTable_saved.hsa_system_extension_supported_fn(extension, version_major, version_minor, result); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_system_extension_supported, &api_data, api_callback_arg); + return ret; +} +static hsa_status_t hsa_system_get_extension_table_callback(uint16_t extension, uint16_t version_major, uint16_t version_minor, void* table) { + hsa_api_data_t api_data{}; + api_data.args.hsa_system_get_extension_table.table = table; + api_data.args.hsa_system_get_extension_table.version_minor = version_minor; + api_data.args.hsa_system_get_extension_table.extension = extension; + api_data.args.hsa_system_get_extension_table.version_major = version_major; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_system_get_extension_table, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_system_get_extension_table, &api_data, api_callback_arg); + hsa_status_t ret = CoreApiTable_saved.hsa_system_get_extension_table_fn(extension, version_major, version_minor, table); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_system_get_extension_table, &api_data, api_callback_arg); + return ret; +} +static hsa_status_t hsa_iterate_agents_callback(hsa_status_t (* callback)(hsa_agent_t agent, void* data), void* data) { + hsa_api_data_t api_data{}; + api_data.args.hsa_iterate_agents.callback = callback; + api_data.args.hsa_iterate_agents.data = data; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_iterate_agents, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_iterate_agents, &api_data, api_callback_arg); + hsa_status_t ret = CoreApiTable_saved.hsa_iterate_agents_fn(callback, data); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_iterate_agents, &api_data, api_callback_arg); + return ret; +} +static hsa_status_t hsa_agent_get_info_callback(hsa_agent_t agent, hsa_agent_info_t attribute, void* value) { + hsa_api_data_t api_data{}; + api_data.args.hsa_agent_get_info.attribute = attribute; + api_data.args.hsa_agent_get_info.value = value; + api_data.args.hsa_agent_get_info.agent = agent; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_agent_get_info, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_agent_get_info, &api_data, api_callback_arg); + hsa_status_t ret = CoreApiTable_saved.hsa_agent_get_info_fn(agent, attribute, value); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_agent_get_info, &api_data, api_callback_arg); + return ret; +} +static hsa_status_t hsa_queue_create_callback(hsa_agent_t agent, uint32_t size, hsa_queue_type32_t type, void (* callback)(hsa_status_t status, hsa_queue_t* source, void* data), void* data, uint32_t private_segment_size, uint32_t group_segment_size, hsa_queue_t** queue) { + hsa_api_data_t api_data{}; + api_data.args.hsa_queue_create.private_segment_size = private_segment_size; + api_data.args.hsa_queue_create.data = data; + api_data.args.hsa_queue_create.agent = agent; + api_data.args.hsa_queue_create.queue = queue; + api_data.args.hsa_queue_create.callback = callback; + api_data.args.hsa_queue_create.group_segment_size = group_segment_size; + api_data.args.hsa_queue_create.type = type; + api_data.args.hsa_queue_create.size = size; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_queue_create, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_create, &api_data, api_callback_arg); + hsa_status_t ret = CoreApiTable_saved.hsa_queue_create_fn(agent, size, type, callback, data, private_segment_size, group_segment_size, queue); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_create, &api_data, api_callback_arg); + return ret; +} +static hsa_status_t hsa_soft_queue_create_callback(hsa_region_t region, uint32_t size, hsa_queue_type32_t type, uint32_t features, hsa_signal_t doorbell_signal, hsa_queue_t** queue) { + hsa_api_data_t api_data{}; + api_data.args.hsa_soft_queue_create.features = features; + api_data.args.hsa_soft_queue_create.region = region; + api_data.args.hsa_soft_queue_create.queue = queue; + api_data.args.hsa_soft_queue_create.doorbell_signal = doorbell_signal; + api_data.args.hsa_soft_queue_create.type = type; + api_data.args.hsa_soft_queue_create.size = size; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_soft_queue_create, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_soft_queue_create, &api_data, api_callback_arg); + hsa_status_t ret = CoreApiTable_saved.hsa_soft_queue_create_fn(region, size, type, features, doorbell_signal, queue); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_soft_queue_create, &api_data, api_callback_arg); + return ret; +} +static hsa_status_t hsa_queue_destroy_callback(hsa_queue_t* queue) { + hsa_api_data_t api_data{}; + api_data.args.hsa_queue_destroy.queue = queue; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_queue_destroy, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_destroy, &api_data, api_callback_arg); + hsa_status_t ret = CoreApiTable_saved.hsa_queue_destroy_fn(queue); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_destroy, &api_data, api_callback_arg); + return ret; +} +static hsa_status_t hsa_queue_inactivate_callback(hsa_queue_t* queue) { + hsa_api_data_t api_data{}; + api_data.args.hsa_queue_inactivate.queue = queue; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_queue_inactivate, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_inactivate, &api_data, api_callback_arg); + hsa_status_t ret = CoreApiTable_saved.hsa_queue_inactivate_fn(queue); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_inactivate, &api_data, api_callback_arg); + return ret; +} +static uint64_t hsa_queue_load_read_index_scacquire_callback(const hsa_queue_t* queue) { + hsa_api_data_t api_data{}; + api_data.args.hsa_queue_load_read_index_scacquire.queue = queue; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_queue_load_read_index_scacquire, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_load_read_index_scacquire, &api_data, api_callback_arg); + uint64_t ret = CoreApiTable_saved.hsa_queue_load_read_index_scacquire_fn(queue); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_load_read_index_scacquire, &api_data, api_callback_arg); + return ret; +} +static uint64_t hsa_queue_load_read_index_relaxed_callback(const hsa_queue_t* queue) { + hsa_api_data_t api_data{}; + api_data.args.hsa_queue_load_read_index_relaxed.queue = queue; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_queue_load_read_index_relaxed, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_load_read_index_relaxed, &api_data, api_callback_arg); + uint64_t ret = CoreApiTable_saved.hsa_queue_load_read_index_relaxed_fn(queue); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_load_read_index_relaxed, &api_data, api_callback_arg); + return ret; +} +static uint64_t hsa_queue_load_write_index_scacquire_callback(const hsa_queue_t* queue) { + hsa_api_data_t api_data{}; + api_data.args.hsa_queue_load_write_index_scacquire.queue = queue; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_queue_load_write_index_scacquire, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_load_write_index_scacquire, &api_data, api_callback_arg); + uint64_t ret = CoreApiTable_saved.hsa_queue_load_write_index_scacquire_fn(queue); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_load_write_index_scacquire, &api_data, api_callback_arg); + return ret; +} +static uint64_t hsa_queue_load_write_index_relaxed_callback(const hsa_queue_t* queue) { + hsa_api_data_t api_data{}; + api_data.args.hsa_queue_load_write_index_relaxed.queue = queue; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_queue_load_write_index_relaxed, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_load_write_index_relaxed, &api_data, api_callback_arg); + uint64_t ret = CoreApiTable_saved.hsa_queue_load_write_index_relaxed_fn(queue); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_load_write_index_relaxed, &api_data, api_callback_arg); + return ret; +} +static void hsa_queue_store_write_index_relaxed_callback(const hsa_queue_t* queue, uint64_t value) { + hsa_api_data_t api_data{}; + api_data.args.hsa_queue_store_write_index_relaxed.queue = queue; + api_data.args.hsa_queue_store_write_index_relaxed.value = value; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_queue_store_write_index_relaxed, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_store_write_index_relaxed, &api_data, api_callback_arg); + CoreApiTable_saved.hsa_queue_store_write_index_relaxed_fn(queue, value); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_store_write_index_relaxed, &api_data, api_callback_arg); +} +static void hsa_queue_store_write_index_screlease_callback(const hsa_queue_t* queue, uint64_t value) { + hsa_api_data_t api_data{}; + api_data.args.hsa_queue_store_write_index_screlease.queue = queue; + api_data.args.hsa_queue_store_write_index_screlease.value = value; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_queue_store_write_index_screlease, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_store_write_index_screlease, &api_data, api_callback_arg); + CoreApiTable_saved.hsa_queue_store_write_index_screlease_fn(queue, value); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_store_write_index_screlease, &api_data, api_callback_arg); +} +static uint64_t hsa_queue_cas_write_index_scacq_screl_callback(const hsa_queue_t* queue, uint64_t expected, uint64_t value) { + hsa_api_data_t api_data{}; + api_data.args.hsa_queue_cas_write_index_scacq_screl.queue = queue; + api_data.args.hsa_queue_cas_write_index_scacq_screl.expected = expected; + api_data.args.hsa_queue_cas_write_index_scacq_screl.value = value; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_queue_cas_write_index_scacq_screl, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_cas_write_index_scacq_screl, &api_data, api_callback_arg); + uint64_t ret = CoreApiTable_saved.hsa_queue_cas_write_index_scacq_screl_fn(queue, expected, value); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_cas_write_index_scacq_screl, &api_data, api_callback_arg); + return ret; +} +static uint64_t hsa_queue_cas_write_index_scacquire_callback(const hsa_queue_t* queue, uint64_t expected, uint64_t value) { + hsa_api_data_t api_data{}; + api_data.args.hsa_queue_cas_write_index_scacquire.queue = queue; + api_data.args.hsa_queue_cas_write_index_scacquire.expected = expected; + api_data.args.hsa_queue_cas_write_index_scacquire.value = value; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_queue_cas_write_index_scacquire, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_cas_write_index_scacquire, &api_data, api_callback_arg); + uint64_t ret = CoreApiTable_saved.hsa_queue_cas_write_index_scacquire_fn(queue, expected, value); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_cas_write_index_scacquire, &api_data, api_callback_arg); + return ret; +} +static uint64_t hsa_queue_cas_write_index_relaxed_callback(const hsa_queue_t* queue, uint64_t expected, uint64_t value) { + hsa_api_data_t api_data{}; + api_data.args.hsa_queue_cas_write_index_relaxed.queue = queue; + api_data.args.hsa_queue_cas_write_index_relaxed.expected = expected; + api_data.args.hsa_queue_cas_write_index_relaxed.value = value; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_queue_cas_write_index_relaxed, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_cas_write_index_relaxed, &api_data, api_callback_arg); + uint64_t ret = CoreApiTable_saved.hsa_queue_cas_write_index_relaxed_fn(queue, expected, value); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_cas_write_index_relaxed, &api_data, api_callback_arg); + return ret; +} +static uint64_t hsa_queue_cas_write_index_screlease_callback(const hsa_queue_t* queue, uint64_t expected, uint64_t value) { + hsa_api_data_t api_data{}; + api_data.args.hsa_queue_cas_write_index_screlease.queue = queue; + api_data.args.hsa_queue_cas_write_index_screlease.expected = expected; + api_data.args.hsa_queue_cas_write_index_screlease.value = value; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_queue_cas_write_index_screlease, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_cas_write_index_screlease, &api_data, api_callback_arg); + uint64_t ret = CoreApiTable_saved.hsa_queue_cas_write_index_screlease_fn(queue, expected, value); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_cas_write_index_screlease, &api_data, api_callback_arg); + return ret; +} +static uint64_t hsa_queue_add_write_index_scacq_screl_callback(const hsa_queue_t* queue, uint64_t value) { + hsa_api_data_t api_data{}; + api_data.args.hsa_queue_add_write_index_scacq_screl.queue = queue; + api_data.args.hsa_queue_add_write_index_scacq_screl.value = value; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_queue_add_write_index_scacq_screl, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_add_write_index_scacq_screl, &api_data, api_callback_arg); + uint64_t ret = CoreApiTable_saved.hsa_queue_add_write_index_scacq_screl_fn(queue, value); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_add_write_index_scacq_screl, &api_data, api_callback_arg); + return ret; +} +static uint64_t hsa_queue_add_write_index_scacquire_callback(const hsa_queue_t* queue, uint64_t value) { + hsa_api_data_t api_data{}; + api_data.args.hsa_queue_add_write_index_scacquire.queue = queue; + api_data.args.hsa_queue_add_write_index_scacquire.value = value; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_queue_add_write_index_scacquire, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_add_write_index_scacquire, &api_data, api_callback_arg); + uint64_t ret = CoreApiTable_saved.hsa_queue_add_write_index_scacquire_fn(queue, value); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_add_write_index_scacquire, &api_data, api_callback_arg); + return ret; +} +static uint64_t hsa_queue_add_write_index_relaxed_callback(const hsa_queue_t* queue, uint64_t value) { + hsa_api_data_t api_data{}; + api_data.args.hsa_queue_add_write_index_relaxed.queue = queue; + api_data.args.hsa_queue_add_write_index_relaxed.value = value; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_queue_add_write_index_relaxed, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_add_write_index_relaxed, &api_data, api_callback_arg); + uint64_t ret = CoreApiTable_saved.hsa_queue_add_write_index_relaxed_fn(queue, value); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_add_write_index_relaxed, &api_data, api_callback_arg); + return ret; +} +static uint64_t hsa_queue_add_write_index_screlease_callback(const hsa_queue_t* queue, uint64_t value) { + hsa_api_data_t api_data{}; + api_data.args.hsa_queue_add_write_index_screlease.queue = queue; + api_data.args.hsa_queue_add_write_index_screlease.value = value; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_queue_add_write_index_screlease, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_add_write_index_screlease, &api_data, api_callback_arg); + uint64_t ret = CoreApiTable_saved.hsa_queue_add_write_index_screlease_fn(queue, value); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_add_write_index_screlease, &api_data, api_callback_arg); + return ret; +} +static void hsa_queue_store_read_index_relaxed_callback(const hsa_queue_t* queue, uint64_t value) { + hsa_api_data_t api_data{}; + api_data.args.hsa_queue_store_read_index_relaxed.queue = queue; + api_data.args.hsa_queue_store_read_index_relaxed.value = value; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_queue_store_read_index_relaxed, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_store_read_index_relaxed, &api_data, api_callback_arg); + CoreApiTable_saved.hsa_queue_store_read_index_relaxed_fn(queue, value); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_store_read_index_relaxed, &api_data, api_callback_arg); +} +static void hsa_queue_store_read_index_screlease_callback(const hsa_queue_t* queue, uint64_t value) { + hsa_api_data_t api_data{}; + api_data.args.hsa_queue_store_read_index_screlease.queue = queue; + api_data.args.hsa_queue_store_read_index_screlease.value = value; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_queue_store_read_index_screlease, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_store_read_index_screlease, &api_data, api_callback_arg); + CoreApiTable_saved.hsa_queue_store_read_index_screlease_fn(queue, value); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_store_read_index_screlease, &api_data, api_callback_arg); +} +static hsa_status_t hsa_agent_iterate_regions_callback(hsa_agent_t agent, hsa_status_t (* callback)(hsa_region_t region, void* data), void* data) { + hsa_api_data_t api_data{}; + api_data.args.hsa_agent_iterate_regions.callback = callback; + api_data.args.hsa_agent_iterate_regions.data = data; + api_data.args.hsa_agent_iterate_regions.agent = agent; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_agent_iterate_regions, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_agent_iterate_regions, &api_data, api_callback_arg); + hsa_status_t ret = CoreApiTable_saved.hsa_agent_iterate_regions_fn(agent, callback, data); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_agent_iterate_regions, &api_data, api_callback_arg); + return ret; +} +static hsa_status_t hsa_region_get_info_callback(hsa_region_t region, hsa_region_info_t attribute, void* value) { + hsa_api_data_t api_data{}; + api_data.args.hsa_region_get_info.attribute = attribute; + api_data.args.hsa_region_get_info.region = region; + api_data.args.hsa_region_get_info.value = value; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_region_get_info, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_region_get_info, &api_data, api_callback_arg); + hsa_status_t ret = CoreApiTable_saved.hsa_region_get_info_fn(region, attribute, value); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_region_get_info, &api_data, api_callback_arg); + return ret; +} +static hsa_status_t hsa_agent_get_exception_policies_callback(hsa_agent_t agent, hsa_profile_t profile, uint16_t* mask) { + hsa_api_data_t api_data{}; + api_data.args.hsa_agent_get_exception_policies.profile = profile; + api_data.args.hsa_agent_get_exception_policies.mask = mask; + api_data.args.hsa_agent_get_exception_policies.agent = agent; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_agent_get_exception_policies, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_agent_get_exception_policies, &api_data, api_callback_arg); + hsa_status_t ret = CoreApiTable_saved.hsa_agent_get_exception_policies_fn(agent, profile, mask); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_agent_get_exception_policies, &api_data, api_callback_arg); + return ret; +} +static hsa_status_t hsa_agent_extension_supported_callback(uint16_t extension, hsa_agent_t agent, uint16_t version_major, uint16_t version_minor, bool* result) { + hsa_api_data_t api_data{}; + api_data.args.hsa_agent_extension_supported.result = result; + api_data.args.hsa_agent_extension_supported.version_minor = version_minor; + api_data.args.hsa_agent_extension_supported.agent = agent; + api_data.args.hsa_agent_extension_supported.extension = extension; + api_data.args.hsa_agent_extension_supported.version_major = version_major; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_agent_extension_supported, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_agent_extension_supported, &api_data, api_callback_arg); + hsa_status_t ret = CoreApiTable_saved.hsa_agent_extension_supported_fn(extension, agent, version_major, version_minor, result); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_agent_extension_supported, &api_data, api_callback_arg); + return ret; +} +static hsa_status_t hsa_memory_register_callback(void* ptr, size_t size) { + hsa_api_data_t api_data{}; + api_data.args.hsa_memory_register.ptr = ptr; + api_data.args.hsa_memory_register.size = size; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_memory_register, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_memory_register, &api_data, api_callback_arg); + hsa_status_t ret = CoreApiTable_saved.hsa_memory_register_fn(ptr, size); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_memory_register, &api_data, api_callback_arg); + return ret; +} +static hsa_status_t hsa_memory_deregister_callback(void* ptr, size_t size) { + hsa_api_data_t api_data{}; + api_data.args.hsa_memory_deregister.ptr = ptr; + api_data.args.hsa_memory_deregister.size = size; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_memory_deregister, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_memory_deregister, &api_data, api_callback_arg); + hsa_status_t ret = CoreApiTable_saved.hsa_memory_deregister_fn(ptr, size); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_memory_deregister, &api_data, api_callback_arg); + return ret; +} +static hsa_status_t hsa_memory_allocate_callback(hsa_region_t region, size_t size, void** ptr) { + hsa_api_data_t api_data{}; + api_data.args.hsa_memory_allocate.region = region; + api_data.args.hsa_memory_allocate.ptr = ptr; + api_data.args.hsa_memory_allocate.size = size; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_memory_allocate, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_memory_allocate, &api_data, api_callback_arg); + hsa_status_t ret = CoreApiTable_saved.hsa_memory_allocate_fn(region, size, ptr); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_memory_allocate, &api_data, api_callback_arg); + return ret; +} +static hsa_status_t hsa_memory_free_callback(void* ptr) { + hsa_api_data_t api_data{}; + api_data.args.hsa_memory_free.ptr = ptr; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_memory_free, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_memory_free, &api_data, api_callback_arg); + hsa_status_t ret = CoreApiTable_saved.hsa_memory_free_fn(ptr); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_memory_free, &api_data, api_callback_arg); + return ret; +} +static hsa_status_t hsa_memory_copy_callback(void* dst, const void* src, size_t size) { + hsa_api_data_t api_data{}; + api_data.args.hsa_memory_copy.src = src; + api_data.args.hsa_memory_copy.dst = dst; + api_data.args.hsa_memory_copy.size = size; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_memory_copy, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_memory_copy, &api_data, api_callback_arg); + hsa_status_t ret = CoreApiTable_saved.hsa_memory_copy_fn(dst, src, size); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_memory_copy, &api_data, api_callback_arg); + return ret; +} +static hsa_status_t hsa_memory_assign_agent_callback(void* ptr, hsa_agent_t agent, hsa_access_permission_t access) { + hsa_api_data_t api_data{}; + api_data.args.hsa_memory_assign_agent.access = access; + api_data.args.hsa_memory_assign_agent.ptr = ptr; + api_data.args.hsa_memory_assign_agent.agent = agent; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_memory_assign_agent, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_memory_assign_agent, &api_data, api_callback_arg); + hsa_status_t ret = CoreApiTable_saved.hsa_memory_assign_agent_fn(ptr, agent, access); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_memory_assign_agent, &api_data, api_callback_arg); + return ret; +} +static hsa_status_t hsa_signal_create_callback(hsa_signal_value_t initial_value, uint32_t num_consumers, const hsa_agent_t* consumers, hsa_signal_t* signal) { + hsa_api_data_t api_data{}; + api_data.args.hsa_signal_create.signal = signal; + api_data.args.hsa_signal_create.num_consumers = num_consumers; + api_data.args.hsa_signal_create.consumers = consumers; + api_data.args.hsa_signal_create.initial_value = initial_value; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_signal_create, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_create, &api_data, api_callback_arg); + hsa_status_t ret = CoreApiTable_saved.hsa_signal_create_fn(initial_value, num_consumers, consumers, signal); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_create, &api_data, api_callback_arg); + return ret; +} +static hsa_status_t hsa_signal_destroy_callback(hsa_signal_t signal) { + hsa_api_data_t api_data{}; + api_data.args.hsa_signal_destroy.signal = signal; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_signal_destroy, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_destroy, &api_data, api_callback_arg); + hsa_status_t ret = CoreApiTable_saved.hsa_signal_destroy_fn(signal); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_destroy, &api_data, api_callback_arg); + return ret; +} +static hsa_signal_value_t hsa_signal_load_relaxed_callback(hsa_signal_t signal) { + hsa_api_data_t api_data{}; + api_data.args.hsa_signal_load_relaxed.signal = signal; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_signal_load_relaxed, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_load_relaxed, &api_data, api_callback_arg); + hsa_signal_value_t ret = CoreApiTable_saved.hsa_signal_load_relaxed_fn(signal); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_load_relaxed, &api_data, api_callback_arg); + return ret; +} +static hsa_signal_value_t hsa_signal_load_scacquire_callback(hsa_signal_t signal) { + hsa_api_data_t api_data{}; + api_data.args.hsa_signal_load_scacquire.signal = signal; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_signal_load_scacquire, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_load_scacquire, &api_data, api_callback_arg); + hsa_signal_value_t ret = CoreApiTable_saved.hsa_signal_load_scacquire_fn(signal); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_load_scacquire, &api_data, api_callback_arg); + return ret; +} +static void hsa_signal_store_relaxed_callback(hsa_signal_t signal, hsa_signal_value_t value) { + hsa_api_data_t api_data{}; + api_data.args.hsa_signal_store_relaxed.signal = signal; + api_data.args.hsa_signal_store_relaxed.value = value; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_signal_store_relaxed, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_store_relaxed, &api_data, api_callback_arg); + CoreApiTable_saved.hsa_signal_store_relaxed_fn(signal, value); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_store_relaxed, &api_data, api_callback_arg); +} +static void hsa_signal_store_screlease_callback(hsa_signal_t signal, hsa_signal_value_t value) { + hsa_api_data_t api_data{}; + api_data.args.hsa_signal_store_screlease.signal = signal; + api_data.args.hsa_signal_store_screlease.value = value; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_signal_store_screlease, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_store_screlease, &api_data, api_callback_arg); + CoreApiTable_saved.hsa_signal_store_screlease_fn(signal, value); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_store_screlease, &api_data, api_callback_arg); +} +static hsa_signal_value_t hsa_signal_wait_relaxed_callback(hsa_signal_t signal, hsa_signal_condition_t condition, hsa_signal_value_t compare_value, uint64_t timeout_hint, hsa_wait_state_t wait_state_hint) { + hsa_api_data_t api_data{}; + api_data.args.hsa_signal_wait_relaxed.signal = signal; + api_data.args.hsa_signal_wait_relaxed.timeout_hint = timeout_hint; + api_data.args.hsa_signal_wait_relaxed.wait_state_hint = wait_state_hint; + api_data.args.hsa_signal_wait_relaxed.compare_value = compare_value; + api_data.args.hsa_signal_wait_relaxed.condition = condition; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_signal_wait_relaxed, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_wait_relaxed, &api_data, api_callback_arg); + hsa_signal_value_t ret = CoreApiTable_saved.hsa_signal_wait_relaxed_fn(signal, condition, compare_value, timeout_hint, wait_state_hint); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_wait_relaxed, &api_data, api_callback_arg); + return ret; +} +static hsa_signal_value_t hsa_signal_wait_scacquire_callback(hsa_signal_t signal, hsa_signal_condition_t condition, hsa_signal_value_t compare_value, uint64_t timeout_hint, hsa_wait_state_t wait_state_hint) { + hsa_api_data_t api_data{}; + api_data.args.hsa_signal_wait_scacquire.signal = signal; + api_data.args.hsa_signal_wait_scacquire.timeout_hint = timeout_hint; + api_data.args.hsa_signal_wait_scacquire.wait_state_hint = wait_state_hint; + api_data.args.hsa_signal_wait_scacquire.compare_value = compare_value; + api_data.args.hsa_signal_wait_scacquire.condition = condition; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_signal_wait_scacquire, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_wait_scacquire, &api_data, api_callback_arg); + hsa_signal_value_t ret = CoreApiTable_saved.hsa_signal_wait_scacquire_fn(signal, condition, compare_value, timeout_hint, wait_state_hint); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_wait_scacquire, &api_data, api_callback_arg); + return ret; +} +static void hsa_signal_and_relaxed_callback(hsa_signal_t signal, hsa_signal_value_t value) { + hsa_api_data_t api_data{}; + api_data.args.hsa_signal_and_relaxed.signal = signal; + api_data.args.hsa_signal_and_relaxed.value = value; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_signal_and_relaxed, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_and_relaxed, &api_data, api_callback_arg); + CoreApiTable_saved.hsa_signal_and_relaxed_fn(signal, value); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_and_relaxed, &api_data, api_callback_arg); +} +static void hsa_signal_and_scacquire_callback(hsa_signal_t signal, hsa_signal_value_t value) { + hsa_api_data_t api_data{}; + api_data.args.hsa_signal_and_scacquire.signal = signal; + api_data.args.hsa_signal_and_scacquire.value = value; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_signal_and_scacquire, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_and_scacquire, &api_data, api_callback_arg); + CoreApiTable_saved.hsa_signal_and_scacquire_fn(signal, value); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_and_scacquire, &api_data, api_callback_arg); +} +static void hsa_signal_and_screlease_callback(hsa_signal_t signal, hsa_signal_value_t value) { + hsa_api_data_t api_data{}; + api_data.args.hsa_signal_and_screlease.signal = signal; + api_data.args.hsa_signal_and_screlease.value = value; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_signal_and_screlease, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_and_screlease, &api_data, api_callback_arg); + CoreApiTable_saved.hsa_signal_and_screlease_fn(signal, value); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_and_screlease, &api_data, api_callback_arg); +} +static void hsa_signal_and_scacq_screl_callback(hsa_signal_t signal, hsa_signal_value_t value) { + hsa_api_data_t api_data{}; + api_data.args.hsa_signal_and_scacq_screl.signal = signal; + api_data.args.hsa_signal_and_scacq_screl.value = value; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_signal_and_scacq_screl, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_and_scacq_screl, &api_data, api_callback_arg); + CoreApiTable_saved.hsa_signal_and_scacq_screl_fn(signal, value); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_and_scacq_screl, &api_data, api_callback_arg); +} +static void hsa_signal_or_relaxed_callback(hsa_signal_t signal, hsa_signal_value_t value) { + hsa_api_data_t api_data{}; + api_data.args.hsa_signal_or_relaxed.signal = signal; + api_data.args.hsa_signal_or_relaxed.value = value; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_signal_or_relaxed, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_or_relaxed, &api_data, api_callback_arg); + CoreApiTable_saved.hsa_signal_or_relaxed_fn(signal, value); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_or_relaxed, &api_data, api_callback_arg); +} +static void hsa_signal_or_scacquire_callback(hsa_signal_t signal, hsa_signal_value_t value) { + hsa_api_data_t api_data{}; + api_data.args.hsa_signal_or_scacquire.signal = signal; + api_data.args.hsa_signal_or_scacquire.value = value; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_signal_or_scacquire, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_or_scacquire, &api_data, api_callback_arg); + CoreApiTable_saved.hsa_signal_or_scacquire_fn(signal, value); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_or_scacquire, &api_data, api_callback_arg); +} +static void hsa_signal_or_screlease_callback(hsa_signal_t signal, hsa_signal_value_t value) { + hsa_api_data_t api_data{}; + api_data.args.hsa_signal_or_screlease.signal = signal; + api_data.args.hsa_signal_or_screlease.value = value; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_signal_or_screlease, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_or_screlease, &api_data, api_callback_arg); + CoreApiTable_saved.hsa_signal_or_screlease_fn(signal, value); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_or_screlease, &api_data, api_callback_arg); +} +static void hsa_signal_or_scacq_screl_callback(hsa_signal_t signal, hsa_signal_value_t value) { + hsa_api_data_t api_data{}; + api_data.args.hsa_signal_or_scacq_screl.signal = signal; + api_data.args.hsa_signal_or_scacq_screl.value = value; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_signal_or_scacq_screl, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_or_scacq_screl, &api_data, api_callback_arg); + CoreApiTable_saved.hsa_signal_or_scacq_screl_fn(signal, value); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_or_scacq_screl, &api_data, api_callback_arg); +} +static void hsa_signal_xor_relaxed_callback(hsa_signal_t signal, hsa_signal_value_t value) { + hsa_api_data_t api_data{}; + api_data.args.hsa_signal_xor_relaxed.signal = signal; + api_data.args.hsa_signal_xor_relaxed.value = value; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_signal_xor_relaxed, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_xor_relaxed, &api_data, api_callback_arg); + CoreApiTable_saved.hsa_signal_xor_relaxed_fn(signal, value); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_xor_relaxed, &api_data, api_callback_arg); +} +static void hsa_signal_xor_scacquire_callback(hsa_signal_t signal, hsa_signal_value_t value) { + hsa_api_data_t api_data{}; + api_data.args.hsa_signal_xor_scacquire.signal = signal; + api_data.args.hsa_signal_xor_scacquire.value = value; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_signal_xor_scacquire, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_xor_scacquire, &api_data, api_callback_arg); + CoreApiTable_saved.hsa_signal_xor_scacquire_fn(signal, value); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_xor_scacquire, &api_data, api_callback_arg); +} +static void hsa_signal_xor_screlease_callback(hsa_signal_t signal, hsa_signal_value_t value) { + hsa_api_data_t api_data{}; + api_data.args.hsa_signal_xor_screlease.signal = signal; + api_data.args.hsa_signal_xor_screlease.value = value; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_signal_xor_screlease, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_xor_screlease, &api_data, api_callback_arg); + CoreApiTable_saved.hsa_signal_xor_screlease_fn(signal, value); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_xor_screlease, &api_data, api_callback_arg); +} +static void hsa_signal_xor_scacq_screl_callback(hsa_signal_t signal, hsa_signal_value_t value) { + hsa_api_data_t api_data{}; + api_data.args.hsa_signal_xor_scacq_screl.signal = signal; + api_data.args.hsa_signal_xor_scacq_screl.value = value; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_signal_xor_scacq_screl, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_xor_scacq_screl, &api_data, api_callback_arg); + CoreApiTable_saved.hsa_signal_xor_scacq_screl_fn(signal, value); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_xor_scacq_screl, &api_data, api_callback_arg); +} +static hsa_signal_value_t hsa_signal_exchange_relaxed_callback(hsa_signal_t signal, hsa_signal_value_t value) { + hsa_api_data_t api_data{}; + api_data.args.hsa_signal_exchange_relaxed.signal = signal; + api_data.args.hsa_signal_exchange_relaxed.value = value; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_signal_exchange_relaxed, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_exchange_relaxed, &api_data, api_callback_arg); + hsa_signal_value_t ret = CoreApiTable_saved.hsa_signal_exchange_relaxed_fn(signal, value); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_exchange_relaxed, &api_data, api_callback_arg); + return ret; +} +static hsa_signal_value_t hsa_signal_exchange_scacquire_callback(hsa_signal_t signal, hsa_signal_value_t value) { + hsa_api_data_t api_data{}; + api_data.args.hsa_signal_exchange_scacquire.signal = signal; + api_data.args.hsa_signal_exchange_scacquire.value = value; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_signal_exchange_scacquire, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_exchange_scacquire, &api_data, api_callback_arg); + hsa_signal_value_t ret = CoreApiTable_saved.hsa_signal_exchange_scacquire_fn(signal, value); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_exchange_scacquire, &api_data, api_callback_arg); + return ret; +} +static hsa_signal_value_t hsa_signal_exchange_screlease_callback(hsa_signal_t signal, hsa_signal_value_t value) { + hsa_api_data_t api_data{}; + api_data.args.hsa_signal_exchange_screlease.signal = signal; + api_data.args.hsa_signal_exchange_screlease.value = value; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_signal_exchange_screlease, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_exchange_screlease, &api_data, api_callback_arg); + hsa_signal_value_t ret = CoreApiTable_saved.hsa_signal_exchange_screlease_fn(signal, value); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_exchange_screlease, &api_data, api_callback_arg); + return ret; +} +static hsa_signal_value_t hsa_signal_exchange_scacq_screl_callback(hsa_signal_t signal, hsa_signal_value_t value) { + hsa_api_data_t api_data{}; + api_data.args.hsa_signal_exchange_scacq_screl.signal = signal; + api_data.args.hsa_signal_exchange_scacq_screl.value = value; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_signal_exchange_scacq_screl, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_exchange_scacq_screl, &api_data, api_callback_arg); + hsa_signal_value_t ret = CoreApiTable_saved.hsa_signal_exchange_scacq_screl_fn(signal, value); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_exchange_scacq_screl, &api_data, api_callback_arg); + return ret; +} +static void hsa_signal_add_relaxed_callback(hsa_signal_t signal, hsa_signal_value_t value) { + hsa_api_data_t api_data{}; + api_data.args.hsa_signal_add_relaxed.signal = signal; + api_data.args.hsa_signal_add_relaxed.value = value; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_signal_add_relaxed, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_add_relaxed, &api_data, api_callback_arg); + CoreApiTable_saved.hsa_signal_add_relaxed_fn(signal, value); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_add_relaxed, &api_data, api_callback_arg); +} +static void hsa_signal_add_scacquire_callback(hsa_signal_t signal, hsa_signal_value_t value) { + hsa_api_data_t api_data{}; + api_data.args.hsa_signal_add_scacquire.signal = signal; + api_data.args.hsa_signal_add_scacquire.value = value; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_signal_add_scacquire, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_add_scacquire, &api_data, api_callback_arg); + CoreApiTable_saved.hsa_signal_add_scacquire_fn(signal, value); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_add_scacquire, &api_data, api_callback_arg); +} +static void hsa_signal_add_screlease_callback(hsa_signal_t signal, hsa_signal_value_t value) { + hsa_api_data_t api_data{}; + api_data.args.hsa_signal_add_screlease.signal = signal; + api_data.args.hsa_signal_add_screlease.value = value; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_signal_add_screlease, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_add_screlease, &api_data, api_callback_arg); + CoreApiTable_saved.hsa_signal_add_screlease_fn(signal, value); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_add_screlease, &api_data, api_callback_arg); +} +static void hsa_signal_add_scacq_screl_callback(hsa_signal_t signal, hsa_signal_value_t value) { + hsa_api_data_t api_data{}; + api_data.args.hsa_signal_add_scacq_screl.signal = signal; + api_data.args.hsa_signal_add_scacq_screl.value = value; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_signal_add_scacq_screl, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_add_scacq_screl, &api_data, api_callback_arg); + CoreApiTable_saved.hsa_signal_add_scacq_screl_fn(signal, value); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_add_scacq_screl, &api_data, api_callback_arg); +} +static void hsa_signal_subtract_relaxed_callback(hsa_signal_t signal, hsa_signal_value_t value) { + hsa_api_data_t api_data{}; + api_data.args.hsa_signal_subtract_relaxed.signal = signal; + api_data.args.hsa_signal_subtract_relaxed.value = value; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_signal_subtract_relaxed, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_subtract_relaxed, &api_data, api_callback_arg); + CoreApiTable_saved.hsa_signal_subtract_relaxed_fn(signal, value); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_subtract_relaxed, &api_data, api_callback_arg); +} +static void hsa_signal_subtract_scacquire_callback(hsa_signal_t signal, hsa_signal_value_t value) { + hsa_api_data_t api_data{}; + api_data.args.hsa_signal_subtract_scacquire.signal = signal; + api_data.args.hsa_signal_subtract_scacquire.value = value; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_signal_subtract_scacquire, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_subtract_scacquire, &api_data, api_callback_arg); + CoreApiTable_saved.hsa_signal_subtract_scacquire_fn(signal, value); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_subtract_scacquire, &api_data, api_callback_arg); +} +static void hsa_signal_subtract_screlease_callback(hsa_signal_t signal, hsa_signal_value_t value) { + hsa_api_data_t api_data{}; + api_data.args.hsa_signal_subtract_screlease.signal = signal; + api_data.args.hsa_signal_subtract_screlease.value = value; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_signal_subtract_screlease, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_subtract_screlease, &api_data, api_callback_arg); + CoreApiTable_saved.hsa_signal_subtract_screlease_fn(signal, value); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_subtract_screlease, &api_data, api_callback_arg); +} +static void hsa_signal_subtract_scacq_screl_callback(hsa_signal_t signal, hsa_signal_value_t value) { + hsa_api_data_t api_data{}; + api_data.args.hsa_signal_subtract_scacq_screl.signal = signal; + api_data.args.hsa_signal_subtract_scacq_screl.value = value; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_signal_subtract_scacq_screl, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_subtract_scacq_screl, &api_data, api_callback_arg); + CoreApiTable_saved.hsa_signal_subtract_scacq_screl_fn(signal, value); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_subtract_scacq_screl, &api_data, api_callback_arg); +} +static hsa_signal_value_t hsa_signal_cas_relaxed_callback(hsa_signal_t signal, hsa_signal_value_t expected, hsa_signal_value_t value) { + hsa_api_data_t api_data{}; + api_data.args.hsa_signal_cas_relaxed.expected = expected; + api_data.args.hsa_signal_cas_relaxed.signal = signal; + api_data.args.hsa_signal_cas_relaxed.value = value; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_signal_cas_relaxed, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_cas_relaxed, &api_data, api_callback_arg); + hsa_signal_value_t ret = CoreApiTable_saved.hsa_signal_cas_relaxed_fn(signal, expected, value); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_cas_relaxed, &api_data, api_callback_arg); + return ret; +} +static hsa_signal_value_t hsa_signal_cas_scacquire_callback(hsa_signal_t signal, hsa_signal_value_t expected, hsa_signal_value_t value) { + hsa_api_data_t api_data{}; + api_data.args.hsa_signal_cas_scacquire.expected = expected; + api_data.args.hsa_signal_cas_scacquire.signal = signal; + api_data.args.hsa_signal_cas_scacquire.value = value; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_signal_cas_scacquire, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_cas_scacquire, &api_data, api_callback_arg); + hsa_signal_value_t ret = CoreApiTable_saved.hsa_signal_cas_scacquire_fn(signal, expected, value); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_cas_scacquire, &api_data, api_callback_arg); + return ret; +} +static hsa_signal_value_t hsa_signal_cas_screlease_callback(hsa_signal_t signal, hsa_signal_value_t expected, hsa_signal_value_t value) { + hsa_api_data_t api_data{}; + api_data.args.hsa_signal_cas_screlease.expected = expected; + api_data.args.hsa_signal_cas_screlease.signal = signal; + api_data.args.hsa_signal_cas_screlease.value = value; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_signal_cas_screlease, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_cas_screlease, &api_data, api_callback_arg); + hsa_signal_value_t ret = CoreApiTable_saved.hsa_signal_cas_screlease_fn(signal, expected, value); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_cas_screlease, &api_data, api_callback_arg); + return ret; +} +static hsa_signal_value_t hsa_signal_cas_scacq_screl_callback(hsa_signal_t signal, hsa_signal_value_t expected, hsa_signal_value_t value) { + hsa_api_data_t api_data{}; + api_data.args.hsa_signal_cas_scacq_screl.expected = expected; + api_data.args.hsa_signal_cas_scacq_screl.signal = signal; + api_data.args.hsa_signal_cas_scacq_screl.value = value; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_signal_cas_scacq_screl, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_cas_scacq_screl, &api_data, api_callback_arg); + hsa_signal_value_t ret = CoreApiTable_saved.hsa_signal_cas_scacq_screl_fn(signal, expected, value); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_cas_scacq_screl, &api_data, api_callback_arg); + return ret; +} +static hsa_status_t hsa_isa_from_name_callback(const char* name, hsa_isa_t* isa) { + hsa_api_data_t api_data{}; + api_data.args.hsa_isa_from_name.isa = isa; + api_data.args.hsa_isa_from_name.name = name; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_isa_from_name, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_isa_from_name, &api_data, api_callback_arg); + hsa_status_t ret = CoreApiTable_saved.hsa_isa_from_name_fn(name, isa); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_isa_from_name, &api_data, api_callback_arg); + return ret; +} +static hsa_status_t hsa_isa_get_info_callback(hsa_isa_t isa, hsa_isa_info_t attribute, uint32_t index, void* value) { + hsa_api_data_t api_data{}; + api_data.args.hsa_isa_get_info.attribute = attribute; + api_data.args.hsa_isa_get_info.isa = isa; + api_data.args.hsa_isa_get_info.value = value; + api_data.args.hsa_isa_get_info.index = index; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_isa_get_info, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_isa_get_info, &api_data, api_callback_arg); + hsa_status_t ret = CoreApiTable_saved.hsa_isa_get_info_fn(isa, attribute, index, value); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_isa_get_info, &api_data, api_callback_arg); + return ret; +} +static hsa_status_t hsa_isa_compatible_callback(hsa_isa_t code_object_isa, hsa_isa_t agent_isa, bool* result) { + hsa_api_data_t api_data{}; + api_data.args.hsa_isa_compatible.code_object_isa = code_object_isa; + api_data.args.hsa_isa_compatible.result = result; + api_data.args.hsa_isa_compatible.agent_isa = agent_isa; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_isa_compatible, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_isa_compatible, &api_data, api_callback_arg); + hsa_status_t ret = CoreApiTable_saved.hsa_isa_compatible_fn(code_object_isa, agent_isa, result); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_isa_compatible, &api_data, api_callback_arg); + return ret; +} +static hsa_status_t hsa_code_object_serialize_callback(hsa_code_object_t code_object, hsa_status_t (* alloc_callback)(size_t size, hsa_callback_data_t data, void** address), hsa_callback_data_t callback_data, const char* options, void** serialized_code_object, size_t* serialized_code_object_size) { + hsa_api_data_t api_data{}; + api_data.args.hsa_code_object_serialize.callback_data = callback_data; + api_data.args.hsa_code_object_serialize.code_object = code_object; + api_data.args.hsa_code_object_serialize.serialized_code_object = serialized_code_object; + api_data.args.hsa_code_object_serialize.serialized_code_object_size = serialized_code_object_size; + api_data.args.hsa_code_object_serialize.alloc_callback = alloc_callback; + api_data.args.hsa_code_object_serialize.options = options; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_code_object_serialize, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_code_object_serialize, &api_data, api_callback_arg); + hsa_status_t ret = CoreApiTable_saved.hsa_code_object_serialize_fn(code_object, alloc_callback, callback_data, options, serialized_code_object, serialized_code_object_size); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_code_object_serialize, &api_data, api_callback_arg); + return ret; +} +static hsa_status_t hsa_code_object_deserialize_callback(void* serialized_code_object, size_t serialized_code_object_size, const char* options, hsa_code_object_t* code_object) { + hsa_api_data_t api_data{}; + api_data.args.hsa_code_object_deserialize.serialized_code_object = serialized_code_object; + api_data.args.hsa_code_object_deserialize.serialized_code_object_size = serialized_code_object_size; + api_data.args.hsa_code_object_deserialize.code_object = code_object; + api_data.args.hsa_code_object_deserialize.options = options; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_code_object_deserialize, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_code_object_deserialize, &api_data, api_callback_arg); + hsa_status_t ret = CoreApiTable_saved.hsa_code_object_deserialize_fn(serialized_code_object, serialized_code_object_size, options, code_object); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_code_object_deserialize, &api_data, api_callback_arg); + return ret; +} +static hsa_status_t hsa_code_object_destroy_callback(hsa_code_object_t code_object) { + hsa_api_data_t api_data{}; + api_data.args.hsa_code_object_destroy.code_object = code_object; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_code_object_destroy, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_code_object_destroy, &api_data, api_callback_arg); + hsa_status_t ret = CoreApiTable_saved.hsa_code_object_destroy_fn(code_object); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_code_object_destroy, &api_data, api_callback_arg); + return ret; +} +static hsa_status_t hsa_code_object_get_info_callback(hsa_code_object_t code_object, hsa_code_object_info_t attribute, void* value) { + hsa_api_data_t api_data{}; + api_data.args.hsa_code_object_get_info.attribute = attribute; + api_data.args.hsa_code_object_get_info.code_object = code_object; + api_data.args.hsa_code_object_get_info.value = value; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_code_object_get_info, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_code_object_get_info, &api_data, api_callback_arg); + hsa_status_t ret = CoreApiTable_saved.hsa_code_object_get_info_fn(code_object, attribute, value); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_code_object_get_info, &api_data, api_callback_arg); + return ret; +} +static hsa_status_t hsa_code_object_get_symbol_callback(hsa_code_object_t code_object, const char* symbol_name, hsa_code_symbol_t* symbol) { + hsa_api_data_t api_data{}; + api_data.args.hsa_code_object_get_symbol.symbol = symbol; + api_data.args.hsa_code_object_get_symbol.code_object = code_object; + api_data.args.hsa_code_object_get_symbol.symbol_name = symbol_name; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_code_object_get_symbol, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_code_object_get_symbol, &api_data, api_callback_arg); + hsa_status_t ret = CoreApiTable_saved.hsa_code_object_get_symbol_fn(code_object, symbol_name, symbol); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_code_object_get_symbol, &api_data, api_callback_arg); + return ret; +} +static hsa_status_t hsa_code_symbol_get_info_callback(hsa_code_symbol_t code_symbol, hsa_code_symbol_info_t attribute, void* value) { + hsa_api_data_t api_data{}; + api_data.args.hsa_code_symbol_get_info.code_symbol = code_symbol; + api_data.args.hsa_code_symbol_get_info.value = value; + api_data.args.hsa_code_symbol_get_info.attribute = attribute; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_code_symbol_get_info, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_code_symbol_get_info, &api_data, api_callback_arg); + hsa_status_t ret = CoreApiTable_saved.hsa_code_symbol_get_info_fn(code_symbol, attribute, value); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_code_symbol_get_info, &api_data, api_callback_arg); + return ret; +} +static hsa_status_t hsa_code_object_iterate_symbols_callback(hsa_code_object_t code_object, hsa_status_t (* callback)(hsa_code_object_t code_object, hsa_code_symbol_t symbol, void* data), void* data) { + hsa_api_data_t api_data{}; + api_data.args.hsa_code_object_iterate_symbols.callback = callback; + api_data.args.hsa_code_object_iterate_symbols.code_object = code_object; + api_data.args.hsa_code_object_iterate_symbols.data = data; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_code_object_iterate_symbols, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_code_object_iterate_symbols, &api_data, api_callback_arg); + hsa_status_t ret = CoreApiTable_saved.hsa_code_object_iterate_symbols_fn(code_object, callback, data); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_code_object_iterate_symbols, &api_data, api_callback_arg); + return ret; +} +static hsa_status_t hsa_executable_create_callback(hsa_profile_t profile, hsa_executable_state_t executable_state, const char* options, hsa_executable_t* executable) { + hsa_api_data_t api_data{}; + api_data.args.hsa_executable_create.profile = profile; + api_data.args.hsa_executable_create.executable_state = executable_state; + api_data.args.hsa_executable_create.executable = executable; + api_data.args.hsa_executable_create.options = options; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_executable_create, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_create, &api_data, api_callback_arg); + hsa_status_t ret = CoreApiTable_saved.hsa_executable_create_fn(profile, executable_state, options, executable); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_create, &api_data, api_callback_arg); + return ret; +} +static hsa_status_t hsa_executable_destroy_callback(hsa_executable_t executable) { + hsa_api_data_t api_data{}; + api_data.args.hsa_executable_destroy.executable = executable; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_executable_destroy, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_destroy, &api_data, api_callback_arg); + hsa_status_t ret = CoreApiTable_saved.hsa_executable_destroy_fn(executable); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_destroy, &api_data, api_callback_arg); + return ret; +} +static hsa_status_t hsa_executable_load_code_object_callback(hsa_executable_t executable, hsa_agent_t agent, hsa_code_object_t code_object, const char* options) { + hsa_api_data_t api_data{}; + api_data.args.hsa_executable_load_code_object.executable = executable; + api_data.args.hsa_executable_load_code_object.code_object = code_object; + api_data.args.hsa_executable_load_code_object.options = options; + api_data.args.hsa_executable_load_code_object.agent = agent; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_executable_load_code_object, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_load_code_object, &api_data, api_callback_arg); + hsa_status_t ret = CoreApiTable_saved.hsa_executable_load_code_object_fn(executable, agent, code_object, options); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_load_code_object, &api_data, api_callback_arg); + return ret; +} +static hsa_status_t hsa_executable_freeze_callback(hsa_executable_t executable, const char* options) { + hsa_api_data_t api_data{}; + api_data.args.hsa_executable_freeze.executable = executable; + api_data.args.hsa_executable_freeze.options = options; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_executable_freeze, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_freeze, &api_data, api_callback_arg); + hsa_status_t ret = CoreApiTable_saved.hsa_executable_freeze_fn(executable, options); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_freeze, &api_data, api_callback_arg); + return ret; +} +static hsa_status_t hsa_executable_get_info_callback(hsa_executable_t executable, hsa_executable_info_t attribute, void* value) { + hsa_api_data_t api_data{}; + api_data.args.hsa_executable_get_info.attribute = attribute; + api_data.args.hsa_executable_get_info.executable = executable; + api_data.args.hsa_executable_get_info.value = value; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_executable_get_info, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_get_info, &api_data, api_callback_arg); + hsa_status_t ret = CoreApiTable_saved.hsa_executable_get_info_fn(executable, attribute, value); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_get_info, &api_data, api_callback_arg); + return ret; +} +static hsa_status_t hsa_executable_global_variable_define_callback(hsa_executable_t executable, const char* variable_name, void* address) { + hsa_api_data_t api_data{}; + api_data.args.hsa_executable_global_variable_define.executable = executable; + api_data.args.hsa_executable_global_variable_define.address = address; + api_data.args.hsa_executable_global_variable_define.variable_name = variable_name; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_executable_global_variable_define, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_global_variable_define, &api_data, api_callback_arg); + hsa_status_t ret = CoreApiTable_saved.hsa_executable_global_variable_define_fn(executable, variable_name, address); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_global_variable_define, &api_data, api_callback_arg); + return ret; +} +static hsa_status_t hsa_executable_agent_global_variable_define_callback(hsa_executable_t executable, hsa_agent_t agent, const char* variable_name, void* address) { + hsa_api_data_t api_data{}; + api_data.args.hsa_executable_agent_global_variable_define.executable = executable; + api_data.args.hsa_executable_agent_global_variable_define.address = address; + api_data.args.hsa_executable_agent_global_variable_define.agent = agent; + api_data.args.hsa_executable_agent_global_variable_define.variable_name = variable_name; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_executable_agent_global_variable_define, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_agent_global_variable_define, &api_data, api_callback_arg); + hsa_status_t ret = CoreApiTable_saved.hsa_executable_agent_global_variable_define_fn(executable, agent, variable_name, address); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_agent_global_variable_define, &api_data, api_callback_arg); + return ret; +} +static hsa_status_t hsa_executable_readonly_variable_define_callback(hsa_executable_t executable, hsa_agent_t agent, const char* variable_name, void* address) { + hsa_api_data_t api_data{}; + api_data.args.hsa_executable_readonly_variable_define.executable = executable; + api_data.args.hsa_executable_readonly_variable_define.address = address; + api_data.args.hsa_executable_readonly_variable_define.agent = agent; + api_data.args.hsa_executable_readonly_variable_define.variable_name = variable_name; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_executable_readonly_variable_define, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_readonly_variable_define, &api_data, api_callback_arg); + hsa_status_t ret = CoreApiTable_saved.hsa_executable_readonly_variable_define_fn(executable, agent, variable_name, address); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_readonly_variable_define, &api_data, api_callback_arg); + return ret; +} +static hsa_status_t hsa_executable_validate_callback(hsa_executable_t executable, uint32_t* result) { + hsa_api_data_t api_data{}; + api_data.args.hsa_executable_validate.executable = executable; + api_data.args.hsa_executable_validate.result = result; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_executable_validate, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_validate, &api_data, api_callback_arg); + hsa_status_t ret = CoreApiTable_saved.hsa_executable_validate_fn(executable, result); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_validate, &api_data, api_callback_arg); + return ret; +} +static hsa_status_t hsa_executable_get_symbol_callback(hsa_executable_t executable, const char* module_name, const char* symbol_name, hsa_agent_t agent, int32_t call_convention, hsa_executable_symbol_t* symbol) { + hsa_api_data_t api_data{}; + api_data.args.hsa_executable_get_symbol.executable = executable; + api_data.args.hsa_executable_get_symbol.symbol_name = symbol_name; + api_data.args.hsa_executable_get_symbol.symbol = symbol; + api_data.args.hsa_executable_get_symbol.agent = agent; + api_data.args.hsa_executable_get_symbol.call_convention = call_convention; + api_data.args.hsa_executable_get_symbol.module_name = module_name; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_executable_get_symbol, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_get_symbol, &api_data, api_callback_arg); + hsa_status_t ret = CoreApiTable_saved.hsa_executable_get_symbol_fn(executable, module_name, symbol_name, agent, call_convention, symbol); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_get_symbol, &api_data, api_callback_arg); + return ret; +} +static hsa_status_t hsa_executable_symbol_get_info_callback(hsa_executable_symbol_t executable_symbol, hsa_executable_symbol_info_t attribute, void* value) { + hsa_api_data_t api_data{}; + api_data.args.hsa_executable_symbol_get_info.attribute = attribute; + api_data.args.hsa_executable_symbol_get_info.executable_symbol = executable_symbol; + api_data.args.hsa_executable_symbol_get_info.value = value; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_executable_symbol_get_info, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_symbol_get_info, &api_data, api_callback_arg); + hsa_status_t ret = CoreApiTable_saved.hsa_executable_symbol_get_info_fn(executable_symbol, attribute, value); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_symbol_get_info, &api_data, api_callback_arg); + return ret; +} +static hsa_status_t hsa_executable_iterate_symbols_callback(hsa_executable_t executable, hsa_status_t (* callback)(hsa_executable_t exec, hsa_executable_symbol_t symbol, void* data), void* data) { + hsa_api_data_t api_data{}; + api_data.args.hsa_executable_iterate_symbols.callback = callback; + api_data.args.hsa_executable_iterate_symbols.executable = executable; + api_data.args.hsa_executable_iterate_symbols.data = data; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_executable_iterate_symbols, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_iterate_symbols, &api_data, api_callback_arg); + hsa_status_t ret = CoreApiTable_saved.hsa_executable_iterate_symbols_fn(executable, callback, data); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_iterate_symbols, &api_data, api_callback_arg); + return ret; +} +static hsa_status_t hsa_status_string_callback(hsa_status_t status, const char** status_string) { + hsa_api_data_t api_data{}; + api_data.args.hsa_status_string.status = status; + api_data.args.hsa_status_string.status_string = status_string; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_status_string, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_status_string, &api_data, api_callback_arg); + hsa_status_t ret = CoreApiTable_saved.hsa_status_string_fn(status, status_string); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_status_string, &api_data, api_callback_arg); + return ret; +} +static hsa_status_t hsa_extension_get_name_callback(uint16_t extension, const char** name) { + hsa_api_data_t api_data{}; + api_data.args.hsa_extension_get_name.name = name; + api_data.args.hsa_extension_get_name.extension = extension; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_extension_get_name, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_extension_get_name, &api_data, api_callback_arg); + hsa_status_t ret = CoreApiTable_saved.hsa_extension_get_name_fn(extension, name); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_extension_get_name, &api_data, api_callback_arg); + return ret; +} +static hsa_status_t hsa_system_major_extension_supported_callback(uint16_t extension, uint16_t version_major, uint16_t* version_minor, bool* result) { + hsa_api_data_t api_data{}; + api_data.args.hsa_system_major_extension_supported.version_minor = version_minor; + api_data.args.hsa_system_major_extension_supported.result = result; + api_data.args.hsa_system_major_extension_supported.extension = extension; + api_data.args.hsa_system_major_extension_supported.version_major = version_major; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_system_major_extension_supported, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_system_major_extension_supported, &api_data, api_callback_arg); + hsa_status_t ret = CoreApiTable_saved.hsa_system_major_extension_supported_fn(extension, version_major, version_minor, result); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_system_major_extension_supported, &api_data, api_callback_arg); + return ret; +} +static hsa_status_t hsa_system_get_major_extension_table_callback(uint16_t extension, uint16_t version_major, size_t table_length, void* table) { + hsa_api_data_t api_data{}; + api_data.args.hsa_system_get_major_extension_table.table = table; + api_data.args.hsa_system_get_major_extension_table.table_length = table_length; + api_data.args.hsa_system_get_major_extension_table.extension = extension; + api_data.args.hsa_system_get_major_extension_table.version_major = version_major; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_system_get_major_extension_table, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_system_get_major_extension_table, &api_data, api_callback_arg); + hsa_status_t ret = CoreApiTable_saved.hsa_system_get_major_extension_table_fn(extension, version_major, table_length, table); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_system_get_major_extension_table, &api_data, api_callback_arg); + return ret; +} +static hsa_status_t hsa_agent_major_extension_supported_callback(uint16_t extension, hsa_agent_t agent, uint16_t version_major, uint16_t* version_minor, bool* result) { + hsa_api_data_t api_data{}; + api_data.args.hsa_agent_major_extension_supported.result = result; + api_data.args.hsa_agent_major_extension_supported.version_minor = version_minor; + api_data.args.hsa_agent_major_extension_supported.agent = agent; + api_data.args.hsa_agent_major_extension_supported.extension = extension; + api_data.args.hsa_agent_major_extension_supported.version_major = version_major; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_agent_major_extension_supported, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_agent_major_extension_supported, &api_data, api_callback_arg); + hsa_status_t ret = CoreApiTable_saved.hsa_agent_major_extension_supported_fn(extension, agent, version_major, version_minor, result); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_agent_major_extension_supported, &api_data, api_callback_arg); + return ret; +} +static hsa_status_t hsa_cache_get_info_callback(hsa_cache_t cache, hsa_cache_info_t attribute, void* value) { + hsa_api_data_t api_data{}; + api_data.args.hsa_cache_get_info.attribute = attribute; + api_data.args.hsa_cache_get_info.cache = cache; + api_data.args.hsa_cache_get_info.value = value; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_cache_get_info, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_cache_get_info, &api_data, api_callback_arg); + hsa_status_t ret = CoreApiTable_saved.hsa_cache_get_info_fn(cache, attribute, value); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_cache_get_info, &api_data, api_callback_arg); + return ret; +} +static hsa_status_t hsa_agent_iterate_caches_callback(hsa_agent_t agent, hsa_status_t (* callback)(hsa_cache_t cache, void* data), void* data) { + hsa_api_data_t api_data{}; + api_data.args.hsa_agent_iterate_caches.callback = callback; + api_data.args.hsa_agent_iterate_caches.data = data; + api_data.args.hsa_agent_iterate_caches.agent = agent; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_agent_iterate_caches, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_agent_iterate_caches, &api_data, api_callback_arg); + hsa_status_t ret = CoreApiTable_saved.hsa_agent_iterate_caches_fn(agent, callback, data); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_agent_iterate_caches, &api_data, api_callback_arg); + return ret; +} +static void hsa_signal_silent_store_relaxed_callback(hsa_signal_t signal, hsa_signal_value_t value) { + hsa_api_data_t api_data{}; + api_data.args.hsa_signal_silent_store_relaxed.signal = signal; + api_data.args.hsa_signal_silent_store_relaxed.value = value; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_signal_silent_store_relaxed, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_silent_store_relaxed, &api_data, api_callback_arg); + CoreApiTable_saved.hsa_signal_silent_store_relaxed_fn(signal, value); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_silent_store_relaxed, &api_data, api_callback_arg); +} +static void hsa_signal_silent_store_screlease_callback(hsa_signal_t signal, hsa_signal_value_t value) { + hsa_api_data_t api_data{}; + api_data.args.hsa_signal_silent_store_screlease.signal = signal; + api_data.args.hsa_signal_silent_store_screlease.value = value; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_signal_silent_store_screlease, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_silent_store_screlease, &api_data, api_callback_arg); + CoreApiTable_saved.hsa_signal_silent_store_screlease_fn(signal, value); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_silent_store_screlease, &api_data, api_callback_arg); +} +static hsa_status_t hsa_signal_group_create_callback(uint32_t num_signals, const hsa_signal_t* signals, uint32_t num_consumers, const hsa_agent_t* consumers, hsa_signal_group_t* signal_group) { + hsa_api_data_t api_data{}; + api_data.args.hsa_signal_group_create.signals = signals; + api_data.args.hsa_signal_group_create.num_signals = num_signals; + api_data.args.hsa_signal_group_create.signal_group = signal_group; + api_data.args.hsa_signal_group_create.consumers = consumers; + api_data.args.hsa_signal_group_create.num_consumers = num_consumers; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_signal_group_create, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_group_create, &api_data, api_callback_arg); + hsa_status_t ret = CoreApiTable_saved.hsa_signal_group_create_fn(num_signals, signals, num_consumers, consumers, signal_group); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_group_create, &api_data, api_callback_arg); + return ret; +} +static hsa_status_t hsa_signal_group_destroy_callback(hsa_signal_group_t signal_group) { + hsa_api_data_t api_data{}; + api_data.args.hsa_signal_group_destroy.signal_group = signal_group; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_signal_group_destroy, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_group_destroy, &api_data, api_callback_arg); + hsa_status_t ret = CoreApiTable_saved.hsa_signal_group_destroy_fn(signal_group); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_group_destroy, &api_data, api_callback_arg); + return ret; +} +static hsa_status_t hsa_signal_group_wait_any_scacquire_callback(hsa_signal_group_t signal_group, const hsa_signal_condition_t* conditions, const hsa_signal_value_t* compare_values, hsa_wait_state_t wait_state_hint, hsa_signal_t* signal, hsa_signal_value_t* value) { + hsa_api_data_t api_data{}; + api_data.args.hsa_signal_group_wait_any_scacquire.signal_group = signal_group; + api_data.args.hsa_signal_group_wait_any_scacquire.wait_state_hint = wait_state_hint; + api_data.args.hsa_signal_group_wait_any_scacquire.signal = signal; + api_data.args.hsa_signal_group_wait_any_scacquire.compare_values = compare_values; + api_data.args.hsa_signal_group_wait_any_scacquire.value = value; + api_data.args.hsa_signal_group_wait_any_scacquire.conditions = conditions; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_signal_group_wait_any_scacquire, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_group_wait_any_scacquire, &api_data, api_callback_arg); + hsa_status_t ret = CoreApiTable_saved.hsa_signal_group_wait_any_scacquire_fn(signal_group, conditions, compare_values, wait_state_hint, signal, value); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_group_wait_any_scacquire, &api_data, api_callback_arg); + return ret; +} +static hsa_status_t hsa_signal_group_wait_any_relaxed_callback(hsa_signal_group_t signal_group, const hsa_signal_condition_t* conditions, const hsa_signal_value_t* compare_values, hsa_wait_state_t wait_state_hint, hsa_signal_t* signal, hsa_signal_value_t* value) { + hsa_api_data_t api_data{}; + api_data.args.hsa_signal_group_wait_any_relaxed.signal_group = signal_group; + api_data.args.hsa_signal_group_wait_any_relaxed.wait_state_hint = wait_state_hint; + api_data.args.hsa_signal_group_wait_any_relaxed.signal = signal; + api_data.args.hsa_signal_group_wait_any_relaxed.compare_values = compare_values; + api_data.args.hsa_signal_group_wait_any_relaxed.value = value; + api_data.args.hsa_signal_group_wait_any_relaxed.conditions = conditions; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_signal_group_wait_any_relaxed, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_group_wait_any_relaxed, &api_data, api_callback_arg); + hsa_status_t ret = CoreApiTable_saved.hsa_signal_group_wait_any_relaxed_fn(signal_group, conditions, compare_values, wait_state_hint, signal, value); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_group_wait_any_relaxed, &api_data, api_callback_arg); + return ret; +} +static hsa_status_t hsa_agent_iterate_isas_callback(hsa_agent_t agent, hsa_status_t (* callback)(hsa_isa_t isa, void* data), void* data) { + hsa_api_data_t api_data{}; + api_data.args.hsa_agent_iterate_isas.callback = callback; + api_data.args.hsa_agent_iterate_isas.data = data; + api_data.args.hsa_agent_iterate_isas.agent = agent; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_agent_iterate_isas, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_agent_iterate_isas, &api_data, api_callback_arg); + hsa_status_t ret = CoreApiTable_saved.hsa_agent_iterate_isas_fn(agent, callback, data); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_agent_iterate_isas, &api_data, api_callback_arg); + return ret; +} +static hsa_status_t hsa_isa_get_info_alt_callback(hsa_isa_t isa, hsa_isa_info_t attribute, void* value) { + hsa_api_data_t api_data{}; + api_data.args.hsa_isa_get_info_alt.attribute = attribute; + api_data.args.hsa_isa_get_info_alt.isa = isa; + api_data.args.hsa_isa_get_info_alt.value = value; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_isa_get_info_alt, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_isa_get_info_alt, &api_data, api_callback_arg); + hsa_status_t ret = CoreApiTable_saved.hsa_isa_get_info_alt_fn(isa, attribute, value); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_isa_get_info_alt, &api_data, api_callback_arg); + return ret; +} +static hsa_status_t hsa_isa_get_exception_policies_callback(hsa_isa_t isa, hsa_profile_t profile, uint16_t* mask) { + hsa_api_data_t api_data{}; + api_data.args.hsa_isa_get_exception_policies.profile = profile; + api_data.args.hsa_isa_get_exception_policies.isa = isa; + api_data.args.hsa_isa_get_exception_policies.mask = mask; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_isa_get_exception_policies, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_isa_get_exception_policies, &api_data, api_callback_arg); + hsa_status_t ret = CoreApiTable_saved.hsa_isa_get_exception_policies_fn(isa, profile, mask); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_isa_get_exception_policies, &api_data, api_callback_arg); + return ret; +} +static hsa_status_t hsa_isa_get_round_method_callback(hsa_isa_t isa, hsa_fp_type_t fp_type, hsa_flush_mode_t flush_mode, hsa_round_method_t* round_method) { + hsa_api_data_t api_data{}; + api_data.args.hsa_isa_get_round_method.isa = isa; + api_data.args.hsa_isa_get_round_method.round_method = round_method; + api_data.args.hsa_isa_get_round_method.flush_mode = flush_mode; + api_data.args.hsa_isa_get_round_method.fp_type = fp_type; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_isa_get_round_method, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_isa_get_round_method, &api_data, api_callback_arg); + hsa_status_t ret = CoreApiTable_saved.hsa_isa_get_round_method_fn(isa, fp_type, flush_mode, round_method); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_isa_get_round_method, &api_data, api_callback_arg); + return ret; +} +static hsa_status_t hsa_wavefront_get_info_callback(hsa_wavefront_t wavefront, hsa_wavefront_info_t attribute, void* value) { + hsa_api_data_t api_data{}; + api_data.args.hsa_wavefront_get_info.attribute = attribute; + api_data.args.hsa_wavefront_get_info.wavefront = wavefront; + api_data.args.hsa_wavefront_get_info.value = value; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_wavefront_get_info, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_wavefront_get_info, &api_data, api_callback_arg); + hsa_status_t ret = CoreApiTable_saved.hsa_wavefront_get_info_fn(wavefront, attribute, value); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_wavefront_get_info, &api_data, api_callback_arg); + return ret; +} +static hsa_status_t hsa_isa_iterate_wavefronts_callback(hsa_isa_t isa, hsa_status_t (* callback)(hsa_wavefront_t wavefront, void* data), void* data) { + hsa_api_data_t api_data{}; + api_data.args.hsa_isa_iterate_wavefronts.callback = callback; + api_data.args.hsa_isa_iterate_wavefronts.isa = isa; + api_data.args.hsa_isa_iterate_wavefronts.data = data; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_isa_iterate_wavefronts, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_isa_iterate_wavefronts, &api_data, api_callback_arg); + hsa_status_t ret = CoreApiTable_saved.hsa_isa_iterate_wavefronts_fn(isa, callback, data); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_isa_iterate_wavefronts, &api_data, api_callback_arg); + return ret; +} +static hsa_status_t hsa_code_object_get_symbol_from_name_callback(hsa_code_object_t code_object, const char* module_name, const char* symbol_name, hsa_code_symbol_t* symbol) { + hsa_api_data_t api_data{}; + api_data.args.hsa_code_object_get_symbol_from_name.module_name = module_name; + api_data.args.hsa_code_object_get_symbol_from_name.symbol = symbol; + api_data.args.hsa_code_object_get_symbol_from_name.code_object = code_object; + api_data.args.hsa_code_object_get_symbol_from_name.symbol_name = symbol_name; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_code_object_get_symbol_from_name, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_code_object_get_symbol_from_name, &api_data, api_callback_arg); + hsa_status_t ret = CoreApiTable_saved.hsa_code_object_get_symbol_from_name_fn(code_object, module_name, symbol_name, symbol); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_code_object_get_symbol_from_name, &api_data, api_callback_arg); + return ret; +} +static hsa_status_t hsa_code_object_reader_create_from_file_callback(hsa_file_t file, hsa_code_object_reader_t* code_object_reader) { + hsa_api_data_t api_data{}; + api_data.args.hsa_code_object_reader_create_from_file.code_object_reader = code_object_reader; + api_data.args.hsa_code_object_reader_create_from_file.file = file; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_code_object_reader_create_from_file, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_code_object_reader_create_from_file, &api_data, api_callback_arg); + hsa_status_t ret = CoreApiTable_saved.hsa_code_object_reader_create_from_file_fn(file, code_object_reader); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_code_object_reader_create_from_file, &api_data, api_callback_arg); + return ret; +} +static hsa_status_t hsa_code_object_reader_create_from_memory_callback(const void* code_object, size_t size, hsa_code_object_reader_t* code_object_reader) { + hsa_api_data_t api_data{}; + api_data.args.hsa_code_object_reader_create_from_memory.code_object_reader = code_object_reader; + api_data.args.hsa_code_object_reader_create_from_memory.code_object = code_object; + api_data.args.hsa_code_object_reader_create_from_memory.size = size; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_code_object_reader_create_from_memory, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_code_object_reader_create_from_memory, &api_data, api_callback_arg); + hsa_status_t ret = CoreApiTable_saved.hsa_code_object_reader_create_from_memory_fn(code_object, size, code_object_reader); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_code_object_reader_create_from_memory, &api_data, api_callback_arg); + return ret; +} +static hsa_status_t hsa_code_object_reader_destroy_callback(hsa_code_object_reader_t code_object_reader) { + hsa_api_data_t api_data{}; + api_data.args.hsa_code_object_reader_destroy.code_object_reader = code_object_reader; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_code_object_reader_destroy, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_code_object_reader_destroy, &api_data, api_callback_arg); + hsa_status_t ret = CoreApiTable_saved.hsa_code_object_reader_destroy_fn(code_object_reader); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_code_object_reader_destroy, &api_data, api_callback_arg); + return ret; +} +static hsa_status_t hsa_executable_create_alt_callback(hsa_profile_t profile, hsa_default_float_rounding_mode_t default_float_rounding_mode, const char* options, hsa_executable_t* executable) { + hsa_api_data_t api_data{}; + api_data.args.hsa_executable_create_alt.profile = profile; + api_data.args.hsa_executable_create_alt.default_float_rounding_mode = default_float_rounding_mode; + api_data.args.hsa_executable_create_alt.executable = executable; + api_data.args.hsa_executable_create_alt.options = options; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_executable_create_alt, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_create_alt, &api_data, api_callback_arg); + hsa_status_t ret = CoreApiTable_saved.hsa_executable_create_alt_fn(profile, default_float_rounding_mode, options, executable); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_create_alt, &api_data, api_callback_arg); + return ret; +} +static hsa_status_t hsa_executable_load_program_code_object_callback(hsa_executable_t executable, hsa_code_object_reader_t code_object_reader, const char* options, hsa_loaded_code_object_t* loaded_code_object) { + hsa_api_data_t api_data{}; + api_data.args.hsa_executable_load_program_code_object.code_object_reader = code_object_reader; + api_data.args.hsa_executable_load_program_code_object.executable = executable; + api_data.args.hsa_executable_load_program_code_object.loaded_code_object = loaded_code_object; + api_data.args.hsa_executable_load_program_code_object.options = options; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_executable_load_program_code_object, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_load_program_code_object, &api_data, api_callback_arg); + hsa_status_t ret = CoreApiTable_saved.hsa_executable_load_program_code_object_fn(executable, code_object_reader, options, loaded_code_object); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_load_program_code_object, &api_data, api_callback_arg); + return ret; +} +static hsa_status_t hsa_executable_load_agent_code_object_callback(hsa_executable_t executable, hsa_agent_t agent, hsa_code_object_reader_t code_object_reader, const char* options, hsa_loaded_code_object_t* loaded_code_object) { + hsa_api_data_t api_data{}; + api_data.args.hsa_executable_load_agent_code_object.code_object_reader = code_object_reader; + api_data.args.hsa_executable_load_agent_code_object.executable = executable; + api_data.args.hsa_executable_load_agent_code_object.loaded_code_object = loaded_code_object; + api_data.args.hsa_executable_load_agent_code_object.options = options; + api_data.args.hsa_executable_load_agent_code_object.agent = agent; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_executable_load_agent_code_object, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_load_agent_code_object, &api_data, api_callback_arg); + hsa_status_t ret = CoreApiTable_saved.hsa_executable_load_agent_code_object_fn(executable, agent, code_object_reader, options, loaded_code_object); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_load_agent_code_object, &api_data, api_callback_arg); + return ret; +} +static hsa_status_t hsa_executable_validate_alt_callback(hsa_executable_t executable, const char* options, uint32_t* result) { + hsa_api_data_t api_data{}; + api_data.args.hsa_executable_validate_alt.executable = executable; + api_data.args.hsa_executable_validate_alt.options = options; + api_data.args.hsa_executable_validate_alt.result = result; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_executable_validate_alt, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_validate_alt, &api_data, api_callback_arg); + hsa_status_t ret = CoreApiTable_saved.hsa_executable_validate_alt_fn(executable, options, result); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_validate_alt, &api_data, api_callback_arg); + return ret; +} +static hsa_status_t hsa_executable_get_symbol_by_name_callback(hsa_executable_t executable, const char* symbol_name, const hsa_agent_t* agent, hsa_executable_symbol_t* symbol) { + hsa_api_data_t api_data{}; + api_data.args.hsa_executable_get_symbol_by_name.symbol = symbol; + api_data.args.hsa_executable_get_symbol_by_name.executable = executable; + api_data.args.hsa_executable_get_symbol_by_name.symbol_name = symbol_name; + api_data.args.hsa_executable_get_symbol_by_name.agent = agent; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_executable_get_symbol_by_name, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_get_symbol_by_name, &api_data, api_callback_arg); + hsa_status_t ret = CoreApiTable_saved.hsa_executable_get_symbol_by_name_fn(executable, symbol_name, agent, symbol); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_get_symbol_by_name, &api_data, api_callback_arg); + return ret; +} +static hsa_status_t hsa_executable_iterate_agent_symbols_callback(hsa_executable_t executable, hsa_agent_t agent, hsa_status_t (* callback)(hsa_executable_t exec, hsa_agent_t agent, hsa_executable_symbol_t symbol, void* data), void* data) { + hsa_api_data_t api_data{}; + api_data.args.hsa_executable_iterate_agent_symbols.callback = callback; + api_data.args.hsa_executable_iterate_agent_symbols.executable = executable; + api_data.args.hsa_executable_iterate_agent_symbols.data = data; + api_data.args.hsa_executable_iterate_agent_symbols.agent = agent; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_executable_iterate_agent_symbols, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_iterate_agent_symbols, &api_data, api_callback_arg); + hsa_status_t ret = CoreApiTable_saved.hsa_executable_iterate_agent_symbols_fn(executable, agent, callback, data); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_iterate_agent_symbols, &api_data, api_callback_arg); + return ret; +} +static hsa_status_t hsa_executable_iterate_program_symbols_callback(hsa_executable_t executable, hsa_status_t (* callback)(hsa_executable_t exec, hsa_executable_symbol_t symbol, void* data), void* data) { + hsa_api_data_t api_data{}; + api_data.args.hsa_executable_iterate_program_symbols.callback = callback; + api_data.args.hsa_executable_iterate_program_symbols.executable = executable; + api_data.args.hsa_executable_iterate_program_symbols.data = data; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_executable_iterate_program_symbols, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_iterate_program_symbols, &api_data, api_callback_arg); + hsa_status_t ret = CoreApiTable_saved.hsa_executable_iterate_program_symbols_fn(executable, callback, data); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_iterate_program_symbols, &api_data, api_callback_arg); + return ret; +} + +// block: AmdExtTable API +static hsa_status_t hsa_amd_coherency_get_type_callback(hsa_agent_t agent, hsa_amd_coherency_type_t* type) { + hsa_api_data_t api_data{}; + api_data.args.hsa_amd_coherency_get_type.type = type; + api_data.args.hsa_amd_coherency_get_type.agent = agent; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_amd_coherency_get_type, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_coherency_get_type, &api_data, api_callback_arg); + hsa_status_t ret = AmdExtTable_saved.hsa_amd_coherency_get_type_fn(agent, type); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_coherency_get_type, &api_data, api_callback_arg); + return ret; +} +static hsa_status_t hsa_amd_coherency_set_type_callback(hsa_agent_t agent, hsa_amd_coherency_type_t type) { + hsa_api_data_t api_data{}; + api_data.args.hsa_amd_coherency_set_type.type = type; + api_data.args.hsa_amd_coherency_set_type.agent = agent; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_amd_coherency_set_type, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_coherency_set_type, &api_data, api_callback_arg); + hsa_status_t ret = AmdExtTable_saved.hsa_amd_coherency_set_type_fn(agent, type); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_coherency_set_type, &api_data, api_callback_arg); + return ret; +} +static hsa_status_t hsa_amd_profiling_set_profiler_enabled_callback(hsa_queue_t* queue, int enable) { + hsa_api_data_t api_data{}; + api_data.args.hsa_amd_profiling_set_profiler_enabled.queue = queue; + api_data.args.hsa_amd_profiling_set_profiler_enabled.enable = enable; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_amd_profiling_set_profiler_enabled, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_profiling_set_profiler_enabled, &api_data, api_callback_arg); + hsa_status_t ret = AmdExtTable_saved.hsa_amd_profiling_set_profiler_enabled_fn(queue, enable); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_profiling_set_profiler_enabled, &api_data, api_callback_arg); + return ret; +} +static hsa_status_t hsa_amd_profiling_async_copy_enable_callback(bool enable) { + hsa_api_data_t api_data{}; + api_data.args.hsa_amd_profiling_async_copy_enable.enable = enable; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_amd_profiling_async_copy_enable, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_profiling_async_copy_enable, &api_data, api_callback_arg); + hsa_status_t ret = AmdExtTable_saved.hsa_amd_profiling_async_copy_enable_fn(enable); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_profiling_async_copy_enable, &api_data, api_callback_arg); + return ret; +} +static hsa_status_t hsa_amd_profiling_get_dispatch_time_callback(hsa_agent_t agent, hsa_signal_t signal, hsa_amd_profiling_dispatch_time_t* time) { + hsa_api_data_t api_data{}; + api_data.args.hsa_amd_profiling_get_dispatch_time.signal = signal; + api_data.args.hsa_amd_profiling_get_dispatch_time.agent = agent; + api_data.args.hsa_amd_profiling_get_dispatch_time.time = time; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_amd_profiling_get_dispatch_time, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_profiling_get_dispatch_time, &api_data, api_callback_arg); + hsa_status_t ret = AmdExtTable_saved.hsa_amd_profiling_get_dispatch_time_fn(agent, signal, time); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_profiling_get_dispatch_time, &api_data, api_callback_arg); + return ret; +} +static hsa_status_t hsa_amd_profiling_get_async_copy_time_callback(hsa_signal_t signal, hsa_amd_profiling_async_copy_time_t* time) { + hsa_api_data_t api_data{}; + api_data.args.hsa_amd_profiling_get_async_copy_time.signal = signal; + api_data.args.hsa_amd_profiling_get_async_copy_time.time = time; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_amd_profiling_get_async_copy_time, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_profiling_get_async_copy_time, &api_data, api_callback_arg); + hsa_status_t ret = AmdExtTable_saved.hsa_amd_profiling_get_async_copy_time_fn(signal, time); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_profiling_get_async_copy_time, &api_data, api_callback_arg); + return ret; +} +static hsa_status_t hsa_amd_profiling_convert_tick_to_system_domain_callback(hsa_agent_t agent, uint64_t agent_tick, uint64_t* system_tick) { + hsa_api_data_t api_data{}; + api_data.args.hsa_amd_profiling_convert_tick_to_system_domain.system_tick = system_tick; + api_data.args.hsa_amd_profiling_convert_tick_to_system_domain.agent = agent; + api_data.args.hsa_amd_profiling_convert_tick_to_system_domain.agent_tick = agent_tick; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_amd_profiling_convert_tick_to_system_domain, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_profiling_convert_tick_to_system_domain, &api_data, api_callback_arg); + hsa_status_t ret = AmdExtTable_saved.hsa_amd_profiling_convert_tick_to_system_domain_fn(agent, agent_tick, system_tick); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_profiling_convert_tick_to_system_domain, &api_data, api_callback_arg); + return ret; +} +static hsa_status_t hsa_amd_signal_async_handler_callback(hsa_signal_t signal, hsa_signal_condition_t cond, hsa_signal_value_t value, hsa_amd_signal_handler handler, void* arg) { + hsa_api_data_t api_data{}; + api_data.args.hsa_amd_signal_async_handler.signal = signal; + api_data.args.hsa_amd_signal_async_handler.handler = handler; + api_data.args.hsa_amd_signal_async_handler.cond = cond; + api_data.args.hsa_amd_signal_async_handler.value = value; + api_data.args.hsa_amd_signal_async_handler.arg = arg; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_amd_signal_async_handler, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_signal_async_handler, &api_data, api_callback_arg); + hsa_status_t ret = AmdExtTable_saved.hsa_amd_signal_async_handler_fn(signal, cond, value, handler, arg); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_signal_async_handler, &api_data, api_callback_arg); + return ret; +} +static hsa_status_t hsa_amd_async_function_callback(void (* callback)(void* arg), void* arg) { + hsa_api_data_t api_data{}; + api_data.args.hsa_amd_async_function.callback = callback; + api_data.args.hsa_amd_async_function.arg = arg; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_amd_async_function, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_async_function, &api_data, api_callback_arg); + hsa_status_t ret = AmdExtTable_saved.hsa_amd_async_function_fn(callback, arg); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_async_function, &api_data, api_callback_arg); + return ret; +} +static uint32_t hsa_amd_signal_wait_any_callback(uint32_t signal_count, hsa_signal_t* signals, hsa_signal_condition_t* conds, hsa_signal_value_t* values, uint64_t timeout_hint, hsa_wait_state_t wait_hint, hsa_signal_value_t* satisfying_value) { + hsa_api_data_t api_data{}; + api_data.args.hsa_amd_signal_wait_any.timeout_hint = timeout_hint; + api_data.args.hsa_amd_signal_wait_any.signal_count = signal_count; + api_data.args.hsa_amd_signal_wait_any.conds = conds; + api_data.args.hsa_amd_signal_wait_any.signals = signals; + api_data.args.hsa_amd_signal_wait_any.values = values; + api_data.args.hsa_amd_signal_wait_any.satisfying_value = satisfying_value; + api_data.args.hsa_amd_signal_wait_any.wait_hint = wait_hint; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_amd_signal_wait_any, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_signal_wait_any, &api_data, api_callback_arg); + uint32_t ret = AmdExtTable_saved.hsa_amd_signal_wait_any_fn(signal_count, signals, conds, values, timeout_hint, wait_hint, satisfying_value); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_signal_wait_any, &api_data, api_callback_arg); + return ret; +} +static hsa_status_t hsa_amd_queue_cu_set_mask_callback(const hsa_queue_t* queue, uint32_t num_cu_mask_count, const uint32_t* cu_mask) { + hsa_api_data_t api_data{}; + api_data.args.hsa_amd_queue_cu_set_mask.queue = queue; + api_data.args.hsa_amd_queue_cu_set_mask.cu_mask = cu_mask; + api_data.args.hsa_amd_queue_cu_set_mask.num_cu_mask_count = num_cu_mask_count; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_amd_queue_cu_set_mask, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_queue_cu_set_mask, &api_data, api_callback_arg); + hsa_status_t ret = AmdExtTable_saved.hsa_amd_queue_cu_set_mask_fn(queue, num_cu_mask_count, cu_mask); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_queue_cu_set_mask, &api_data, api_callback_arg); + return ret; +} +static hsa_status_t hsa_amd_memory_pool_get_info_callback(hsa_amd_memory_pool_t memory_pool, hsa_amd_memory_pool_info_t attribute, void* value) { + hsa_api_data_t api_data{}; + api_data.args.hsa_amd_memory_pool_get_info.attribute = attribute; + api_data.args.hsa_amd_memory_pool_get_info.memory_pool = memory_pool; + api_data.args.hsa_amd_memory_pool_get_info.value = value; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_amd_memory_pool_get_info, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_memory_pool_get_info, &api_data, api_callback_arg); + hsa_status_t ret = AmdExtTable_saved.hsa_amd_memory_pool_get_info_fn(memory_pool, attribute, value); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_memory_pool_get_info, &api_data, api_callback_arg); + return ret; +} +static hsa_status_t hsa_amd_agent_iterate_memory_pools_callback(hsa_agent_t agent, hsa_status_t (* callback)(hsa_amd_memory_pool_t memory_pool, void* data), void* data) { + hsa_api_data_t api_data{}; + api_data.args.hsa_amd_agent_iterate_memory_pools.callback = callback; + api_data.args.hsa_amd_agent_iterate_memory_pools.data = data; + api_data.args.hsa_amd_agent_iterate_memory_pools.agent = agent; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_amd_agent_iterate_memory_pools, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_agent_iterate_memory_pools, &api_data, api_callback_arg); + hsa_status_t ret = AmdExtTable_saved.hsa_amd_agent_iterate_memory_pools_fn(agent, callback, data); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_agent_iterate_memory_pools, &api_data, api_callback_arg); + return ret; +} +static hsa_status_t hsa_amd_memory_pool_allocate_callback(hsa_amd_memory_pool_t memory_pool, size_t size, uint32_t flags, void** ptr) { + hsa_api_data_t api_data{}; + api_data.args.hsa_amd_memory_pool_allocate.ptr = ptr; + api_data.args.hsa_amd_memory_pool_allocate.flags = flags; + api_data.args.hsa_amd_memory_pool_allocate.memory_pool = memory_pool; + api_data.args.hsa_amd_memory_pool_allocate.size = size; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_amd_memory_pool_allocate, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_memory_pool_allocate, &api_data, api_callback_arg); + hsa_status_t ret = AmdExtTable_saved.hsa_amd_memory_pool_allocate_fn(memory_pool, size, flags, ptr); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_memory_pool_allocate, &api_data, api_callback_arg); + return ret; +} +static hsa_status_t hsa_amd_memory_pool_free_callback(void* ptr) { + hsa_api_data_t api_data{}; + api_data.args.hsa_amd_memory_pool_free.ptr = ptr; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_amd_memory_pool_free, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_memory_pool_free, &api_data, api_callback_arg); + hsa_status_t ret = AmdExtTable_saved.hsa_amd_memory_pool_free_fn(ptr); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_memory_pool_free, &api_data, api_callback_arg); + return ret; +} +static hsa_status_t hsa_amd_memory_async_copy_callback(void* dst, hsa_agent_t dst_agent, const void* src, hsa_agent_t src_agent, size_t size, uint32_t num_dep_signals, const hsa_signal_t* dep_signals, hsa_signal_t completion_signal) { + hsa_api_data_t api_data{}; + api_data.args.hsa_amd_memory_async_copy.completion_signal = completion_signal; + api_data.args.hsa_amd_memory_async_copy.src = src; + api_data.args.hsa_amd_memory_async_copy.dst = dst; + api_data.args.hsa_amd_memory_async_copy.num_dep_signals = num_dep_signals; + api_data.args.hsa_amd_memory_async_copy.src_agent = src_agent; + api_data.args.hsa_amd_memory_async_copy.dep_signals = dep_signals; + api_data.args.hsa_amd_memory_async_copy.dst_agent = dst_agent; + api_data.args.hsa_amd_memory_async_copy.size = size; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_amd_memory_async_copy, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_memory_async_copy, &api_data, api_callback_arg); + hsa_status_t ret = AmdExtTable_saved.hsa_amd_memory_async_copy_fn(dst, dst_agent, src, src_agent, size, num_dep_signals, dep_signals, completion_signal); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_memory_async_copy, &api_data, api_callback_arg); + return ret; +} +static hsa_status_t hsa_amd_agent_memory_pool_get_info_callback(hsa_agent_t agent, hsa_amd_memory_pool_t memory_pool, hsa_amd_agent_memory_pool_info_t attribute, void* value) { + hsa_api_data_t api_data{}; + api_data.args.hsa_amd_agent_memory_pool_get_info.attribute = attribute; + api_data.args.hsa_amd_agent_memory_pool_get_info.value = value; + api_data.args.hsa_amd_agent_memory_pool_get_info.memory_pool = memory_pool; + api_data.args.hsa_amd_agent_memory_pool_get_info.agent = agent; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_amd_agent_memory_pool_get_info, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_agent_memory_pool_get_info, &api_data, api_callback_arg); + hsa_status_t ret = AmdExtTable_saved.hsa_amd_agent_memory_pool_get_info_fn(agent, memory_pool, attribute, value); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_agent_memory_pool_get_info, &api_data, api_callback_arg); + return ret; +} +static hsa_status_t hsa_amd_agents_allow_access_callback(uint32_t num_agents, const hsa_agent_t* agents, const uint32_t* flags, const void* ptr) { + hsa_api_data_t api_data{}; + api_data.args.hsa_amd_agents_allow_access.flags = flags; + api_data.args.hsa_amd_agents_allow_access.agents = agents; + api_data.args.hsa_amd_agents_allow_access.ptr = ptr; + api_data.args.hsa_amd_agents_allow_access.num_agents = num_agents; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_amd_agents_allow_access, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_agents_allow_access, &api_data, api_callback_arg); + hsa_status_t ret = AmdExtTable_saved.hsa_amd_agents_allow_access_fn(num_agents, agents, flags, ptr); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_agents_allow_access, &api_data, api_callback_arg); + return ret; +} +static hsa_status_t hsa_amd_memory_pool_can_migrate_callback(hsa_amd_memory_pool_t src_memory_pool, hsa_amd_memory_pool_t dst_memory_pool, bool* result) { + hsa_api_data_t api_data{}; + api_data.args.hsa_amd_memory_pool_can_migrate.src_memory_pool = src_memory_pool; + api_data.args.hsa_amd_memory_pool_can_migrate.dst_memory_pool = dst_memory_pool; + api_data.args.hsa_amd_memory_pool_can_migrate.result = result; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_amd_memory_pool_can_migrate, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_memory_pool_can_migrate, &api_data, api_callback_arg); + hsa_status_t ret = AmdExtTable_saved.hsa_amd_memory_pool_can_migrate_fn(src_memory_pool, dst_memory_pool, result); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_memory_pool_can_migrate, &api_data, api_callback_arg); + return ret; +} +static hsa_status_t hsa_amd_memory_migrate_callback(const void* ptr, hsa_amd_memory_pool_t memory_pool, uint32_t flags) { + hsa_api_data_t api_data{}; + api_data.args.hsa_amd_memory_migrate.flags = flags; + api_data.args.hsa_amd_memory_migrate.ptr = ptr; + api_data.args.hsa_amd_memory_migrate.memory_pool = memory_pool; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_amd_memory_migrate, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_memory_migrate, &api_data, api_callback_arg); + hsa_status_t ret = AmdExtTable_saved.hsa_amd_memory_migrate_fn(ptr, memory_pool, flags); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_memory_migrate, &api_data, api_callback_arg); + return ret; +} +static hsa_status_t hsa_amd_memory_lock_callback(void* host_ptr, size_t size, hsa_agent_t* agents, int num_agent, void** agent_ptr) { + hsa_api_data_t api_data{}; + api_data.args.hsa_amd_memory_lock.host_ptr = host_ptr; + api_data.args.hsa_amd_memory_lock.num_agent = num_agent; + api_data.args.hsa_amd_memory_lock.agents = agents; + api_data.args.hsa_amd_memory_lock.agent_ptr = agent_ptr; + api_data.args.hsa_amd_memory_lock.size = size; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_amd_memory_lock, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_memory_lock, &api_data, api_callback_arg); + hsa_status_t ret = AmdExtTable_saved.hsa_amd_memory_lock_fn(host_ptr, size, agents, num_agent, agent_ptr); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_memory_lock, &api_data, api_callback_arg); + return ret; +} +static hsa_status_t hsa_amd_memory_unlock_callback(void* host_ptr) { + hsa_api_data_t api_data{}; + api_data.args.hsa_amd_memory_unlock.host_ptr = host_ptr; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_amd_memory_unlock, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_memory_unlock, &api_data, api_callback_arg); + hsa_status_t ret = AmdExtTable_saved.hsa_amd_memory_unlock_fn(host_ptr); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_memory_unlock, &api_data, api_callback_arg); + return ret; +} +static hsa_status_t hsa_amd_memory_fill_callback(void* ptr, uint32_t value, size_t count) { + hsa_api_data_t api_data{}; + api_data.args.hsa_amd_memory_fill.count = count; + api_data.args.hsa_amd_memory_fill.ptr = ptr; + api_data.args.hsa_amd_memory_fill.value = value; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_amd_memory_fill, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_memory_fill, &api_data, api_callback_arg); + hsa_status_t ret = AmdExtTable_saved.hsa_amd_memory_fill_fn(ptr, value, count); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_memory_fill, &api_data, api_callback_arg); + return ret; +} +static hsa_status_t hsa_amd_interop_map_buffer_callback(uint32_t num_agents, hsa_agent_t* agents, int interop_handle, uint32_t flags, size_t* size, void** ptr, size_t* metadata_size, const void** metadata) { + hsa_api_data_t api_data{}; + api_data.args.hsa_amd_interop_map_buffer.num_agents = num_agents; + api_data.args.hsa_amd_interop_map_buffer.metadata_size = metadata_size; + api_data.args.hsa_amd_interop_map_buffer.flags = flags; + api_data.args.hsa_amd_interop_map_buffer.agents = agents; + api_data.args.hsa_amd_interop_map_buffer.metadata = metadata; + api_data.args.hsa_amd_interop_map_buffer.ptr = ptr; + api_data.args.hsa_amd_interop_map_buffer.interop_handle = interop_handle; + api_data.args.hsa_amd_interop_map_buffer.size = size; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_amd_interop_map_buffer, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_interop_map_buffer, &api_data, api_callback_arg); + hsa_status_t ret = AmdExtTable_saved.hsa_amd_interop_map_buffer_fn(num_agents, agents, interop_handle, flags, size, ptr, metadata_size, metadata); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_interop_map_buffer, &api_data, api_callback_arg); + return ret; +} +static hsa_status_t hsa_amd_interop_unmap_buffer_callback(void* ptr) { + hsa_api_data_t api_data{}; + api_data.args.hsa_amd_interop_unmap_buffer.ptr = ptr; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_amd_interop_unmap_buffer, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_interop_unmap_buffer, &api_data, api_callback_arg); + hsa_status_t ret = AmdExtTable_saved.hsa_amd_interop_unmap_buffer_fn(ptr); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_interop_unmap_buffer, &api_data, api_callback_arg); + return ret; +} +static hsa_status_t hsa_amd_image_create_callback(hsa_agent_t agent, const hsa_ext_image_descriptor_t* image_descriptor, const hsa_amd_image_descriptor_t* image_layout, const void* image_data, hsa_access_permission_t access_permission, hsa_ext_image_t* image) { + hsa_api_data_t api_data{}; + api_data.args.hsa_amd_image_create.image_descriptor = image_descriptor; + api_data.args.hsa_amd_image_create.image = image; + api_data.args.hsa_amd_image_create.agent = agent; + api_data.args.hsa_amd_image_create.access_permission = access_permission; + api_data.args.hsa_amd_image_create.image_data = image_data; + api_data.args.hsa_amd_image_create.image_layout = image_layout; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_amd_image_create, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_image_create, &api_data, api_callback_arg); + hsa_status_t ret = AmdExtTable_saved.hsa_amd_image_create_fn(agent, image_descriptor, image_layout, image_data, access_permission, image); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_image_create, &api_data, api_callback_arg); + return ret; +} +static hsa_status_t hsa_amd_pointer_info_callback(void* ptr, hsa_amd_pointer_info_t* info, void* (* alloc)(size_t), uint32_t* num_agents_accessible, hsa_agent_t** accessible) { + hsa_api_data_t api_data{}; + api_data.args.hsa_amd_pointer_info.info = info; + api_data.args.hsa_amd_pointer_info.accessible = accessible; + api_data.args.hsa_amd_pointer_info.alloc = alloc; + api_data.args.hsa_amd_pointer_info.ptr = ptr; + api_data.args.hsa_amd_pointer_info.num_agents_accessible = num_agents_accessible; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_amd_pointer_info, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_pointer_info, &api_data, api_callback_arg); + hsa_status_t ret = AmdExtTable_saved.hsa_amd_pointer_info_fn(ptr, info, alloc, num_agents_accessible, accessible); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_pointer_info, &api_data, api_callback_arg); + return ret; +} +static hsa_status_t hsa_amd_pointer_info_set_userdata_callback(void* ptr, void* userdata) { + hsa_api_data_t api_data{}; + api_data.args.hsa_amd_pointer_info_set_userdata.userdata = userdata; + api_data.args.hsa_amd_pointer_info_set_userdata.ptr = ptr; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_amd_pointer_info_set_userdata, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_pointer_info_set_userdata, &api_data, api_callback_arg); + hsa_status_t ret = AmdExtTable_saved.hsa_amd_pointer_info_set_userdata_fn(ptr, userdata); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_pointer_info_set_userdata, &api_data, api_callback_arg); + return ret; +} +static hsa_status_t hsa_amd_ipc_memory_create_callback(void* ptr, size_t len, hsa_amd_ipc_memory_t* handle) { + hsa_api_data_t api_data{}; + api_data.args.hsa_amd_ipc_memory_create.handle = handle; + api_data.args.hsa_amd_ipc_memory_create.ptr = ptr; + api_data.args.hsa_amd_ipc_memory_create.len = len; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_amd_ipc_memory_create, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_ipc_memory_create, &api_data, api_callback_arg); + hsa_status_t ret = AmdExtTable_saved.hsa_amd_ipc_memory_create_fn(ptr, len, handle); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_ipc_memory_create, &api_data, api_callback_arg); + return ret; +} +static hsa_status_t hsa_amd_ipc_memory_attach_callback(const hsa_amd_ipc_memory_t* handle, size_t len, uint32_t num_agents, const hsa_agent_t* mapping_agents, void** mapped_ptr) { + hsa_api_data_t api_data{}; + api_data.args.hsa_amd_ipc_memory_attach.mapped_ptr = mapped_ptr; + api_data.args.hsa_amd_ipc_memory_attach.handle = handle; + api_data.args.hsa_amd_ipc_memory_attach.mapping_agents = mapping_agents; + api_data.args.hsa_amd_ipc_memory_attach.len = len; + api_data.args.hsa_amd_ipc_memory_attach.num_agents = num_agents; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_amd_ipc_memory_attach, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_ipc_memory_attach, &api_data, api_callback_arg); + hsa_status_t ret = AmdExtTable_saved.hsa_amd_ipc_memory_attach_fn(handle, len, num_agents, mapping_agents, mapped_ptr); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_ipc_memory_attach, &api_data, api_callback_arg); + return ret; +} +static hsa_status_t hsa_amd_ipc_memory_detach_callback(void* mapped_ptr) { + hsa_api_data_t api_data{}; + api_data.args.hsa_amd_ipc_memory_detach.mapped_ptr = mapped_ptr; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_amd_ipc_memory_detach, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_ipc_memory_detach, &api_data, api_callback_arg); + hsa_status_t ret = AmdExtTable_saved.hsa_amd_ipc_memory_detach_fn(mapped_ptr); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_ipc_memory_detach, &api_data, api_callback_arg); + return ret; +} +static hsa_status_t hsa_amd_signal_create_callback(hsa_signal_value_t initial_value, uint32_t num_consumers, const hsa_agent_t* consumers, uint64_t attributes, hsa_signal_t* signal) { + hsa_api_data_t api_data{}; + api_data.args.hsa_amd_signal_create.attributes = attributes; + api_data.args.hsa_amd_signal_create.signal = signal; + api_data.args.hsa_amd_signal_create.num_consumers = num_consumers; + api_data.args.hsa_amd_signal_create.consumers = consumers; + api_data.args.hsa_amd_signal_create.initial_value = initial_value; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_amd_signal_create, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_signal_create, &api_data, api_callback_arg); + hsa_status_t ret = AmdExtTable_saved.hsa_amd_signal_create_fn(initial_value, num_consumers, consumers, attributes, signal); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_signal_create, &api_data, api_callback_arg); + return ret; +} +static hsa_status_t hsa_amd_ipc_signal_create_callback(hsa_signal_t signal, hsa_amd_ipc_signal_t* handle) { + hsa_api_data_t api_data{}; + api_data.args.hsa_amd_ipc_signal_create.signal = signal; + api_data.args.hsa_amd_ipc_signal_create.handle = handle; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_amd_ipc_signal_create, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_ipc_signal_create, &api_data, api_callback_arg); + hsa_status_t ret = AmdExtTable_saved.hsa_amd_ipc_signal_create_fn(signal, handle); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_ipc_signal_create, &api_data, api_callback_arg); + return ret; +} +static hsa_status_t hsa_amd_ipc_signal_attach_callback(const hsa_amd_ipc_signal_t* handle, hsa_signal_t* signal) { + hsa_api_data_t api_data{}; + api_data.args.hsa_amd_ipc_signal_attach.signal = signal; + api_data.args.hsa_amd_ipc_signal_attach.handle = handle; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_amd_ipc_signal_attach, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_ipc_signal_attach, &api_data, api_callback_arg); + hsa_status_t ret = AmdExtTable_saved.hsa_amd_ipc_signal_attach_fn(handle, signal); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_ipc_signal_attach, &api_data, api_callback_arg); + return ret; +} +static hsa_status_t hsa_amd_register_system_event_handler_callback(hsa_amd_system_event_callback_t callback, void* data) { + hsa_api_data_t api_data{}; + api_data.args.hsa_amd_register_system_event_handler.callback = callback; + api_data.args.hsa_amd_register_system_event_handler.data = data; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_amd_register_system_event_handler, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_register_system_event_handler, &api_data, api_callback_arg); + hsa_status_t ret = AmdExtTable_saved.hsa_amd_register_system_event_handler_fn(callback, data); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_register_system_event_handler, &api_data, api_callback_arg); + return ret; +} +static hsa_status_t hsa_amd_queue_intercept_create_callback(hsa_agent_t agent_handle, uint32_t size, hsa_queue_type32_t type, void (* callback)(hsa_status_t status, hsa_queue_t* source, void* data), void* data, uint32_t private_segment_size, uint32_t group_segment_size, hsa_queue_t** queue) { + hsa_api_data_t api_data{}; + api_data.args.hsa_amd_queue_intercept_create.agent_handle = agent_handle; + api_data.args.hsa_amd_queue_intercept_create.private_segment_size = private_segment_size; + api_data.args.hsa_amd_queue_intercept_create.data = data; + api_data.args.hsa_amd_queue_intercept_create.queue = queue; + api_data.args.hsa_amd_queue_intercept_create.callback = callback; + api_data.args.hsa_amd_queue_intercept_create.group_segment_size = group_segment_size; + api_data.args.hsa_amd_queue_intercept_create.type = type; + api_data.args.hsa_amd_queue_intercept_create.size = size; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_amd_queue_intercept_create, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_queue_intercept_create, &api_data, api_callback_arg); + hsa_status_t ret = AmdExtTable_saved.hsa_amd_queue_intercept_create_fn(agent_handle, size, type, callback, data, private_segment_size, group_segment_size, queue); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_queue_intercept_create, &api_data, api_callback_arg); + return ret; +} +static hsa_status_t hsa_amd_queue_intercept_register_callback(hsa_queue_t* queue, hsa_amd_queue_intercept_handler callback, void* user_data) { + hsa_api_data_t api_data{}; + api_data.args.hsa_amd_queue_intercept_register.queue = queue; + api_data.args.hsa_amd_queue_intercept_register.callback = callback; + api_data.args.hsa_amd_queue_intercept_register.user_data = user_data; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_amd_queue_intercept_register, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_queue_intercept_register, &api_data, api_callback_arg); + hsa_status_t ret = AmdExtTable_saved.hsa_amd_queue_intercept_register_fn(queue, callback, user_data); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_queue_intercept_register, &api_data, api_callback_arg); + return ret; +} +static hsa_status_t hsa_amd_queue_set_priority_callback(hsa_queue_t* queue, hsa_amd_queue_priority_t priority) { + hsa_api_data_t api_data{}; + api_data.args.hsa_amd_queue_set_priority.queue = queue; + api_data.args.hsa_amd_queue_set_priority.priority = priority; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_amd_queue_set_priority, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_queue_set_priority, &api_data, api_callback_arg); + hsa_status_t ret = AmdExtTable_saved.hsa_amd_queue_set_priority_fn(queue, priority); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_queue_set_priority, &api_data, api_callback_arg); + return ret; +} +static hsa_status_t hsa_amd_memory_async_copy_rect_callback(const hsa_pitched_ptr_t* dst, const hsa_dim3_t* dst_offset, const hsa_pitched_ptr_t* src, const hsa_dim3_t* src_offset, const hsa_dim3_t* range, hsa_agent_t copy_agent, hsa_amd_copy_direction_t dir, uint32_t num_dep_signals, const hsa_signal_t* dep_signals, hsa_signal_t completion_signal) { + hsa_api_data_t api_data{}; + api_data.args.hsa_amd_memory_async_copy_rect.completion_signal = completion_signal; + api_data.args.hsa_amd_memory_async_copy_rect.src = src; + api_data.args.hsa_amd_memory_async_copy_rect.src_offset = src_offset; + api_data.args.hsa_amd_memory_async_copy_rect.dst_offset = dst_offset; + api_data.args.hsa_amd_memory_async_copy_rect.dst = dst; + api_data.args.hsa_amd_memory_async_copy_rect.dep_signals = dep_signals; + api_data.args.hsa_amd_memory_async_copy_rect.num_dep_signals = num_dep_signals; + api_data.args.hsa_amd_memory_async_copy_rect.range = range; + api_data.args.hsa_amd_memory_async_copy_rect.copy_agent = copy_agent; + api_data.args.hsa_amd_memory_async_copy_rect.dir = dir; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_amd_memory_async_copy_rect, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_memory_async_copy_rect, &api_data, api_callback_arg); + hsa_status_t ret = AmdExtTable_saved.hsa_amd_memory_async_copy_rect_fn(dst, dst_offset, src, src_offset, range, copy_agent, dir, num_dep_signals, dep_signals, completion_signal); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_memory_async_copy_rect, &api_data, api_callback_arg); + return ret; +} +static hsa_status_t hsa_amd_runtime_queue_create_register_callback(hsa_amd_runtime_queue_notifier callback, void* user_data) { + hsa_api_data_t api_data{}; + api_data.args.hsa_amd_runtime_queue_create_register.callback = callback; + api_data.args.hsa_amd_runtime_queue_create_register.user_data = user_data; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_amd_runtime_queue_create_register, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_runtime_queue_create_register, &api_data, api_callback_arg); + hsa_status_t ret = AmdExtTable_saved.hsa_amd_runtime_queue_create_register_fn(callback, user_data); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_runtime_queue_create_register, &api_data, api_callback_arg); + return ret; +} + +// block: ImageExtTable API +static hsa_status_t hsa_ext_image_get_capability_callback(hsa_agent_t agent, hsa_ext_image_geometry_t geometry, const hsa_ext_image_format_t* image_format, uint32_t* capability_mask) { + hsa_api_data_t api_data{}; + api_data.args.hsa_ext_image_get_capability.geometry = geometry; + api_data.args.hsa_ext_image_get_capability.capability_mask = capability_mask; + api_data.args.hsa_ext_image_get_capability.image_format = image_format; + api_data.args.hsa_ext_image_get_capability.agent = agent; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_ext_image_get_capability, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_ext_image_get_capability, &api_data, api_callback_arg); + hsa_status_t ret = ImageExtTable_saved.hsa_ext_image_get_capability_fn(agent, geometry, image_format, capability_mask); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_ext_image_get_capability, &api_data, api_callback_arg); + return ret; +} +static hsa_status_t hsa_ext_image_data_get_info_callback(hsa_agent_t agent, const hsa_ext_image_descriptor_t* image_descriptor, hsa_access_permission_t access_permission, hsa_ext_image_data_info_t* image_data_info) { + hsa_api_data_t api_data{}; + api_data.args.hsa_ext_image_data_get_info.image_descriptor = image_descriptor; + api_data.args.hsa_ext_image_data_get_info.image_data_info = image_data_info; + api_data.args.hsa_ext_image_data_get_info.agent = agent; + api_data.args.hsa_ext_image_data_get_info.access_permission = access_permission; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_ext_image_data_get_info, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_ext_image_data_get_info, &api_data, api_callback_arg); + hsa_status_t ret = ImageExtTable_saved.hsa_ext_image_data_get_info_fn(agent, image_descriptor, access_permission, image_data_info); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_ext_image_data_get_info, &api_data, api_callback_arg); + return ret; +} +static hsa_status_t hsa_ext_image_create_callback(hsa_agent_t agent, const hsa_ext_image_descriptor_t* image_descriptor, const void* image_data, hsa_access_permission_t access_permission, hsa_ext_image_t* image) { + hsa_api_data_t api_data{}; + api_data.args.hsa_ext_image_create.image_data = image_data; + api_data.args.hsa_ext_image_create.image_descriptor = image_descriptor; + api_data.args.hsa_ext_image_create.image = image; + api_data.args.hsa_ext_image_create.agent = agent; + api_data.args.hsa_ext_image_create.access_permission = access_permission; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_ext_image_create, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_ext_image_create, &api_data, api_callback_arg); + hsa_status_t ret = ImageExtTable_saved.hsa_ext_image_create_fn(agent, image_descriptor, image_data, access_permission, image); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_ext_image_create, &api_data, api_callback_arg); + return ret; +} +static hsa_status_t hsa_ext_image_import_callback(hsa_agent_t agent, const void* src_memory, size_t src_row_pitch, size_t src_slice_pitch, hsa_ext_image_t dst_image, const hsa_ext_image_region_t* image_region) { + hsa_api_data_t api_data{}; + api_data.args.hsa_ext_image_import.src_row_pitch = src_row_pitch; + api_data.args.hsa_ext_image_import.image_region = image_region; + api_data.args.hsa_ext_image_import.agent = agent; + api_data.args.hsa_ext_image_import.src_slice_pitch = src_slice_pitch; + api_data.args.hsa_ext_image_import.src_memory = src_memory; + api_data.args.hsa_ext_image_import.dst_image = dst_image; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_ext_image_import, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_ext_image_import, &api_data, api_callback_arg); + hsa_status_t ret = ImageExtTable_saved.hsa_ext_image_import_fn(agent, src_memory, src_row_pitch, src_slice_pitch, dst_image, image_region); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_ext_image_import, &api_data, api_callback_arg); + return ret; +} +static hsa_status_t hsa_ext_image_export_callback(hsa_agent_t agent, hsa_ext_image_t src_image, void* dst_memory, size_t dst_row_pitch, size_t dst_slice_pitch, const hsa_ext_image_region_t* image_region) { + hsa_api_data_t api_data{}; + api_data.args.hsa_ext_image_export.dst_slice_pitch = dst_slice_pitch; + api_data.args.hsa_ext_image_export.image_region = image_region; + api_data.args.hsa_ext_image_export.agent = agent; + api_data.args.hsa_ext_image_export.dst_row_pitch = dst_row_pitch; + api_data.args.hsa_ext_image_export.src_image = src_image; + api_data.args.hsa_ext_image_export.dst_memory = dst_memory; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_ext_image_export, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_ext_image_export, &api_data, api_callback_arg); + hsa_status_t ret = ImageExtTable_saved.hsa_ext_image_export_fn(agent, src_image, dst_memory, dst_row_pitch, dst_slice_pitch, image_region); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_ext_image_export, &api_data, api_callback_arg); + return ret; +} +static hsa_status_t hsa_ext_image_copy_callback(hsa_agent_t agent, hsa_ext_image_t src_image, const hsa_dim3_t* src_offset, hsa_ext_image_t dst_image, const hsa_dim3_t* dst_offset, const hsa_dim3_t* range) { + hsa_api_data_t api_data{}; + api_data.args.hsa_ext_image_copy.src_offset = src_offset; + api_data.args.hsa_ext_image_copy.dst_offset = dst_offset; + api_data.args.hsa_ext_image_copy.agent = agent; + api_data.args.hsa_ext_image_copy.range = range; + api_data.args.hsa_ext_image_copy.src_image = src_image; + api_data.args.hsa_ext_image_copy.dst_image = dst_image; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_ext_image_copy, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_ext_image_copy, &api_data, api_callback_arg); + hsa_status_t ret = ImageExtTable_saved.hsa_ext_image_copy_fn(agent, src_image, src_offset, dst_image, dst_offset, range); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_ext_image_copy, &api_data, api_callback_arg); + return ret; +} +static hsa_status_t hsa_ext_image_clear_callback(hsa_agent_t agent, hsa_ext_image_t image, const void* data, const hsa_ext_image_region_t* image_region) { + hsa_api_data_t api_data{}; + api_data.args.hsa_ext_image_clear.image = image; + api_data.args.hsa_ext_image_clear.data = data; + api_data.args.hsa_ext_image_clear.image_region = image_region; + api_data.args.hsa_ext_image_clear.agent = agent; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_ext_image_clear, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_ext_image_clear, &api_data, api_callback_arg); + hsa_status_t ret = ImageExtTable_saved.hsa_ext_image_clear_fn(agent, image, data, image_region); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_ext_image_clear, &api_data, api_callback_arg); + return ret; +} +static hsa_status_t hsa_ext_image_destroy_callback(hsa_agent_t agent, hsa_ext_image_t image) { + hsa_api_data_t api_data{}; + api_data.args.hsa_ext_image_destroy.image = image; + api_data.args.hsa_ext_image_destroy.agent = agent; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_ext_image_destroy, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_ext_image_destroy, &api_data, api_callback_arg); + hsa_status_t ret = ImageExtTable_saved.hsa_ext_image_destroy_fn(agent, image); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_ext_image_destroy, &api_data, api_callback_arg); + return ret; +} +static hsa_status_t hsa_ext_sampler_create_callback(hsa_agent_t agent, const hsa_ext_sampler_descriptor_t* sampler_descriptor, hsa_ext_sampler_t* sampler) { + hsa_api_data_t api_data{}; + api_data.args.hsa_ext_sampler_create.sampler_descriptor = sampler_descriptor; + api_data.args.hsa_ext_sampler_create.agent = agent; + api_data.args.hsa_ext_sampler_create.sampler = sampler; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_ext_sampler_create, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_ext_sampler_create, &api_data, api_callback_arg); + hsa_status_t ret = ImageExtTable_saved.hsa_ext_sampler_create_fn(agent, sampler_descriptor, sampler); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_ext_sampler_create, &api_data, api_callback_arg); + return ret; +} +static hsa_status_t hsa_ext_sampler_destroy_callback(hsa_agent_t agent, hsa_ext_sampler_t sampler) { + hsa_api_data_t api_data{}; + api_data.args.hsa_ext_sampler_destroy.agent = agent; + api_data.args.hsa_ext_sampler_destroy.sampler = sampler; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_ext_sampler_destroy, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_ext_sampler_destroy, &api_data, api_callback_arg); + hsa_status_t ret = ImageExtTable_saved.hsa_ext_sampler_destroy_fn(agent, sampler); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_ext_sampler_destroy, &api_data, api_callback_arg); + return ret; +} +static hsa_status_t hsa_ext_image_get_capability_with_layout_callback(hsa_agent_t agent, hsa_ext_image_geometry_t geometry, const hsa_ext_image_format_t* image_format, hsa_ext_image_data_layout_t image_data_layout, uint32_t* capability_mask) { + hsa_api_data_t api_data{}; + api_data.args.hsa_ext_image_get_capability_with_layout.geometry = geometry; + api_data.args.hsa_ext_image_get_capability_with_layout.image_data_layout = image_data_layout; + api_data.args.hsa_ext_image_get_capability_with_layout.image_format = image_format; + api_data.args.hsa_ext_image_get_capability_with_layout.capability_mask = capability_mask; + api_data.args.hsa_ext_image_get_capability_with_layout.agent = agent; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_ext_image_get_capability_with_layout, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_ext_image_get_capability_with_layout, &api_data, api_callback_arg); + hsa_status_t ret = ImageExtTable_saved.hsa_ext_image_get_capability_with_layout_fn(agent, geometry, image_format, image_data_layout, capability_mask); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_ext_image_get_capability_with_layout, &api_data, api_callback_arg); + return ret; +} +static hsa_status_t hsa_ext_image_data_get_info_with_layout_callback(hsa_agent_t agent, const hsa_ext_image_descriptor_t* image_descriptor, hsa_access_permission_t access_permission, hsa_ext_image_data_layout_t image_data_layout, size_t image_data_row_pitch, size_t image_data_slice_pitch, hsa_ext_image_data_info_t* image_data_info) { + hsa_api_data_t api_data{}; + api_data.args.hsa_ext_image_data_get_info_with_layout.image_descriptor = image_descriptor; + api_data.args.hsa_ext_image_data_get_info_with_layout.image_data_layout = image_data_layout; + api_data.args.hsa_ext_image_data_get_info_with_layout.image_data_row_pitch = image_data_row_pitch; + api_data.args.hsa_ext_image_data_get_info_with_layout.agent = agent; + api_data.args.hsa_ext_image_data_get_info_with_layout.access_permission = access_permission; + api_data.args.hsa_ext_image_data_get_info_with_layout.image_data_slice_pitch = image_data_slice_pitch; + api_data.args.hsa_ext_image_data_get_info_with_layout.image_data_info = image_data_info; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_ext_image_data_get_info_with_layout, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_ext_image_data_get_info_with_layout, &api_data, api_callback_arg); + hsa_status_t ret = ImageExtTable_saved.hsa_ext_image_data_get_info_with_layout_fn(agent, image_descriptor, access_permission, image_data_layout, image_data_row_pitch, image_data_slice_pitch, image_data_info); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_ext_image_data_get_info_with_layout, &api_data, api_callback_arg); + return ret; +} +static hsa_status_t hsa_ext_image_create_with_layout_callback(hsa_agent_t agent, const hsa_ext_image_descriptor_t* image_descriptor, const void* image_data, hsa_access_permission_t access_permission, hsa_ext_image_data_layout_t image_data_layout, size_t image_data_row_pitch, size_t image_data_slice_pitch, hsa_ext_image_t* image) { + hsa_api_data_t api_data{}; + api_data.args.hsa_ext_image_create_with_layout.image_descriptor = image_descriptor; + api_data.args.hsa_ext_image_create_with_layout.image_data_layout = image_data_layout; + api_data.args.hsa_ext_image_create_with_layout.image_data_row_pitch = image_data_row_pitch; + api_data.args.hsa_ext_image_create_with_layout.agent = agent; + api_data.args.hsa_ext_image_create_with_layout.image_data_slice_pitch = image_data_slice_pitch; + api_data.args.hsa_ext_image_create_with_layout.access_permission = access_permission; + api_data.args.hsa_ext_image_create_with_layout.image_data = image_data; + api_data.args.hsa_ext_image_create_with_layout.image = image; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + cb_table.get(HSA_API_ID_hsa_ext_image_create_with_layout, &api_callback_fun, &api_callback_arg); + api_data.phase = 0; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_ext_image_create_with_layout, &api_data, api_callback_arg); + hsa_status_t ret = ImageExtTable_saved.hsa_ext_image_create_with_layout_fn(agent, image_descriptor, image_data, access_permission, image_data_layout, image_data_row_pitch, image_data_slice_pitch, image); + api_data.phase = 1; + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_ext_image_create_with_layout, &api_data, api_callback_arg); + return ret; +} + +// section: API intercepting code + +// block: CoreApiTable API +static void intercept_CoreApiTable(CoreApiTable* table) { + CoreApiTable_saved = *table; + table->hsa_init_fn = hsa_init_callback; + table->hsa_shut_down_fn = hsa_shut_down_callback; + table->hsa_system_get_info_fn = hsa_system_get_info_callback; + table->hsa_system_extension_supported_fn = hsa_system_extension_supported_callback; + table->hsa_system_get_extension_table_fn = hsa_system_get_extension_table_callback; + table->hsa_iterate_agents_fn = hsa_iterate_agents_callback; + table->hsa_agent_get_info_fn = hsa_agent_get_info_callback; + table->hsa_queue_create_fn = hsa_queue_create_callback; + table->hsa_soft_queue_create_fn = hsa_soft_queue_create_callback; + table->hsa_queue_destroy_fn = hsa_queue_destroy_callback; + table->hsa_queue_inactivate_fn = hsa_queue_inactivate_callback; + table->hsa_queue_load_read_index_scacquire_fn = hsa_queue_load_read_index_scacquire_callback; + table->hsa_queue_load_read_index_relaxed_fn = hsa_queue_load_read_index_relaxed_callback; + table->hsa_queue_load_write_index_scacquire_fn = hsa_queue_load_write_index_scacquire_callback; + table->hsa_queue_load_write_index_relaxed_fn = hsa_queue_load_write_index_relaxed_callback; + table->hsa_queue_store_write_index_relaxed_fn = hsa_queue_store_write_index_relaxed_callback; + table->hsa_queue_store_write_index_screlease_fn = hsa_queue_store_write_index_screlease_callback; + table->hsa_queue_cas_write_index_scacq_screl_fn = hsa_queue_cas_write_index_scacq_screl_callback; + table->hsa_queue_cas_write_index_scacquire_fn = hsa_queue_cas_write_index_scacquire_callback; + table->hsa_queue_cas_write_index_relaxed_fn = hsa_queue_cas_write_index_relaxed_callback; + table->hsa_queue_cas_write_index_screlease_fn = hsa_queue_cas_write_index_screlease_callback; + table->hsa_queue_add_write_index_scacq_screl_fn = hsa_queue_add_write_index_scacq_screl_callback; + table->hsa_queue_add_write_index_scacquire_fn = hsa_queue_add_write_index_scacquire_callback; + table->hsa_queue_add_write_index_relaxed_fn = hsa_queue_add_write_index_relaxed_callback; + table->hsa_queue_add_write_index_screlease_fn = hsa_queue_add_write_index_screlease_callback; + table->hsa_queue_store_read_index_relaxed_fn = hsa_queue_store_read_index_relaxed_callback; + table->hsa_queue_store_read_index_screlease_fn = hsa_queue_store_read_index_screlease_callback; + table->hsa_agent_iterate_regions_fn = hsa_agent_iterate_regions_callback; + table->hsa_region_get_info_fn = hsa_region_get_info_callback; + table->hsa_agent_get_exception_policies_fn = hsa_agent_get_exception_policies_callback; + table->hsa_agent_extension_supported_fn = hsa_agent_extension_supported_callback; + table->hsa_memory_register_fn = hsa_memory_register_callback; + table->hsa_memory_deregister_fn = hsa_memory_deregister_callback; + table->hsa_memory_allocate_fn = hsa_memory_allocate_callback; + table->hsa_memory_free_fn = hsa_memory_free_callback; + table->hsa_memory_copy_fn = hsa_memory_copy_callback; + table->hsa_memory_assign_agent_fn = hsa_memory_assign_agent_callback; + table->hsa_signal_create_fn = hsa_signal_create_callback; + table->hsa_signal_destroy_fn = hsa_signal_destroy_callback; + table->hsa_signal_load_relaxed_fn = hsa_signal_load_relaxed_callback; + table->hsa_signal_load_scacquire_fn = hsa_signal_load_scacquire_callback; + table->hsa_signal_store_relaxed_fn = hsa_signal_store_relaxed_callback; + table->hsa_signal_store_screlease_fn = hsa_signal_store_screlease_callback; + table->hsa_signal_wait_relaxed_fn = hsa_signal_wait_relaxed_callback; + table->hsa_signal_wait_scacquire_fn = hsa_signal_wait_scacquire_callback; + table->hsa_signal_and_relaxed_fn = hsa_signal_and_relaxed_callback; + table->hsa_signal_and_scacquire_fn = hsa_signal_and_scacquire_callback; + table->hsa_signal_and_screlease_fn = hsa_signal_and_screlease_callback; + table->hsa_signal_and_scacq_screl_fn = hsa_signal_and_scacq_screl_callback; + table->hsa_signal_or_relaxed_fn = hsa_signal_or_relaxed_callback; + table->hsa_signal_or_scacquire_fn = hsa_signal_or_scacquire_callback; + table->hsa_signal_or_screlease_fn = hsa_signal_or_screlease_callback; + table->hsa_signal_or_scacq_screl_fn = hsa_signal_or_scacq_screl_callback; + table->hsa_signal_xor_relaxed_fn = hsa_signal_xor_relaxed_callback; + table->hsa_signal_xor_scacquire_fn = hsa_signal_xor_scacquire_callback; + table->hsa_signal_xor_screlease_fn = hsa_signal_xor_screlease_callback; + table->hsa_signal_xor_scacq_screl_fn = hsa_signal_xor_scacq_screl_callback; + table->hsa_signal_exchange_relaxed_fn = hsa_signal_exchange_relaxed_callback; + table->hsa_signal_exchange_scacquire_fn = hsa_signal_exchange_scacquire_callback; + table->hsa_signal_exchange_screlease_fn = hsa_signal_exchange_screlease_callback; + table->hsa_signal_exchange_scacq_screl_fn = hsa_signal_exchange_scacq_screl_callback; + table->hsa_signal_add_relaxed_fn = hsa_signal_add_relaxed_callback; + table->hsa_signal_add_scacquire_fn = hsa_signal_add_scacquire_callback; + table->hsa_signal_add_screlease_fn = hsa_signal_add_screlease_callback; + table->hsa_signal_add_scacq_screl_fn = hsa_signal_add_scacq_screl_callback; + table->hsa_signal_subtract_relaxed_fn = hsa_signal_subtract_relaxed_callback; + table->hsa_signal_subtract_scacquire_fn = hsa_signal_subtract_scacquire_callback; + table->hsa_signal_subtract_screlease_fn = hsa_signal_subtract_screlease_callback; + table->hsa_signal_subtract_scacq_screl_fn = hsa_signal_subtract_scacq_screl_callback; + table->hsa_signal_cas_relaxed_fn = hsa_signal_cas_relaxed_callback; + table->hsa_signal_cas_scacquire_fn = hsa_signal_cas_scacquire_callback; + table->hsa_signal_cas_screlease_fn = hsa_signal_cas_screlease_callback; + table->hsa_signal_cas_scacq_screl_fn = hsa_signal_cas_scacq_screl_callback; + table->hsa_isa_from_name_fn = hsa_isa_from_name_callback; + table->hsa_isa_get_info_fn = hsa_isa_get_info_callback; + table->hsa_isa_compatible_fn = hsa_isa_compatible_callback; + table->hsa_code_object_serialize_fn = hsa_code_object_serialize_callback; + table->hsa_code_object_deserialize_fn = hsa_code_object_deserialize_callback; + table->hsa_code_object_destroy_fn = hsa_code_object_destroy_callback; + table->hsa_code_object_get_info_fn = hsa_code_object_get_info_callback; + table->hsa_code_object_get_symbol_fn = hsa_code_object_get_symbol_callback; + table->hsa_code_symbol_get_info_fn = hsa_code_symbol_get_info_callback; + table->hsa_code_object_iterate_symbols_fn = hsa_code_object_iterate_symbols_callback; + table->hsa_executable_create_fn = hsa_executable_create_callback; + table->hsa_executable_destroy_fn = hsa_executable_destroy_callback; + table->hsa_executable_load_code_object_fn = hsa_executable_load_code_object_callback; + table->hsa_executable_freeze_fn = hsa_executable_freeze_callback; + table->hsa_executable_get_info_fn = hsa_executable_get_info_callback; + table->hsa_executable_global_variable_define_fn = hsa_executable_global_variable_define_callback; + table->hsa_executable_agent_global_variable_define_fn = hsa_executable_agent_global_variable_define_callback; + table->hsa_executable_readonly_variable_define_fn = hsa_executable_readonly_variable_define_callback; + table->hsa_executable_validate_fn = hsa_executable_validate_callback; + table->hsa_executable_get_symbol_fn = hsa_executable_get_symbol_callback; + table->hsa_executable_symbol_get_info_fn = hsa_executable_symbol_get_info_callback; + table->hsa_executable_iterate_symbols_fn = hsa_executable_iterate_symbols_callback; + table->hsa_status_string_fn = hsa_status_string_callback; + table->hsa_extension_get_name_fn = hsa_extension_get_name_callback; + table->hsa_system_major_extension_supported_fn = hsa_system_major_extension_supported_callback; + table->hsa_system_get_major_extension_table_fn = hsa_system_get_major_extension_table_callback; + table->hsa_agent_major_extension_supported_fn = hsa_agent_major_extension_supported_callback; + table->hsa_cache_get_info_fn = hsa_cache_get_info_callback; + table->hsa_agent_iterate_caches_fn = hsa_agent_iterate_caches_callback; + table->hsa_signal_silent_store_relaxed_fn = hsa_signal_silent_store_relaxed_callback; + table->hsa_signal_silent_store_screlease_fn = hsa_signal_silent_store_screlease_callback; + table->hsa_signal_group_create_fn = hsa_signal_group_create_callback; + table->hsa_signal_group_destroy_fn = hsa_signal_group_destroy_callback; + table->hsa_signal_group_wait_any_scacquire_fn = hsa_signal_group_wait_any_scacquire_callback; + table->hsa_signal_group_wait_any_relaxed_fn = hsa_signal_group_wait_any_relaxed_callback; + table->hsa_agent_iterate_isas_fn = hsa_agent_iterate_isas_callback; + table->hsa_isa_get_info_alt_fn = hsa_isa_get_info_alt_callback; + table->hsa_isa_get_exception_policies_fn = hsa_isa_get_exception_policies_callback; + table->hsa_isa_get_round_method_fn = hsa_isa_get_round_method_callback; + table->hsa_wavefront_get_info_fn = hsa_wavefront_get_info_callback; + table->hsa_isa_iterate_wavefronts_fn = hsa_isa_iterate_wavefronts_callback; + table->hsa_code_object_get_symbol_from_name_fn = hsa_code_object_get_symbol_from_name_callback; + table->hsa_code_object_reader_create_from_file_fn = hsa_code_object_reader_create_from_file_callback; + table->hsa_code_object_reader_create_from_memory_fn = hsa_code_object_reader_create_from_memory_callback; + table->hsa_code_object_reader_destroy_fn = hsa_code_object_reader_destroy_callback; + table->hsa_executable_create_alt_fn = hsa_executable_create_alt_callback; + table->hsa_executable_load_program_code_object_fn = hsa_executable_load_program_code_object_callback; + table->hsa_executable_load_agent_code_object_fn = hsa_executable_load_agent_code_object_callback; + table->hsa_executable_validate_alt_fn = hsa_executable_validate_alt_callback; + table->hsa_executable_get_symbol_by_name_fn = hsa_executable_get_symbol_by_name_callback; + table->hsa_executable_iterate_agent_symbols_fn = hsa_executable_iterate_agent_symbols_callback; + table->hsa_executable_iterate_program_symbols_fn = hsa_executable_iterate_program_symbols_callback; +}; +static void intercept_AmdExtTable(AmdExtTable* table) { + AmdExtTable_saved = *table; + +// block: AmdExtTable API + table->hsa_amd_coherency_get_type_fn = hsa_amd_coherency_get_type_callback; + table->hsa_amd_coherency_set_type_fn = hsa_amd_coherency_set_type_callback; + table->hsa_amd_profiling_set_profiler_enabled_fn = hsa_amd_profiling_set_profiler_enabled_callback; + table->hsa_amd_profiling_async_copy_enable_fn = hsa_amd_profiling_async_copy_enable_callback; + table->hsa_amd_profiling_get_dispatch_time_fn = hsa_amd_profiling_get_dispatch_time_callback; + table->hsa_amd_profiling_get_async_copy_time_fn = hsa_amd_profiling_get_async_copy_time_callback; + table->hsa_amd_profiling_convert_tick_to_system_domain_fn = hsa_amd_profiling_convert_tick_to_system_domain_callback; + table->hsa_amd_signal_async_handler_fn = hsa_amd_signal_async_handler_callback; + table->hsa_amd_async_function_fn = hsa_amd_async_function_callback; + table->hsa_amd_signal_wait_any_fn = hsa_amd_signal_wait_any_callback; + table->hsa_amd_queue_cu_set_mask_fn = hsa_amd_queue_cu_set_mask_callback; + table->hsa_amd_memory_pool_get_info_fn = hsa_amd_memory_pool_get_info_callback; + table->hsa_amd_agent_iterate_memory_pools_fn = hsa_amd_agent_iterate_memory_pools_callback; + table->hsa_amd_memory_pool_allocate_fn = hsa_amd_memory_pool_allocate_callback; + table->hsa_amd_memory_pool_free_fn = hsa_amd_memory_pool_free_callback; + table->hsa_amd_memory_async_copy_fn = hsa_amd_memory_async_copy_callback; + table->hsa_amd_agent_memory_pool_get_info_fn = hsa_amd_agent_memory_pool_get_info_callback; + table->hsa_amd_agents_allow_access_fn = hsa_amd_agents_allow_access_callback; + table->hsa_amd_memory_pool_can_migrate_fn = hsa_amd_memory_pool_can_migrate_callback; + table->hsa_amd_memory_migrate_fn = hsa_amd_memory_migrate_callback; + table->hsa_amd_memory_lock_fn = hsa_amd_memory_lock_callback; + table->hsa_amd_memory_unlock_fn = hsa_amd_memory_unlock_callback; + table->hsa_amd_memory_fill_fn = hsa_amd_memory_fill_callback; + table->hsa_amd_interop_map_buffer_fn = hsa_amd_interop_map_buffer_callback; + table->hsa_amd_interop_unmap_buffer_fn = hsa_amd_interop_unmap_buffer_callback; + table->hsa_amd_image_create_fn = hsa_amd_image_create_callback; + table->hsa_amd_pointer_info_fn = hsa_amd_pointer_info_callback; + table->hsa_amd_pointer_info_set_userdata_fn = hsa_amd_pointer_info_set_userdata_callback; + table->hsa_amd_ipc_memory_create_fn = hsa_amd_ipc_memory_create_callback; + table->hsa_amd_ipc_memory_attach_fn = hsa_amd_ipc_memory_attach_callback; + table->hsa_amd_ipc_memory_detach_fn = hsa_amd_ipc_memory_detach_callback; + table->hsa_amd_signal_create_fn = hsa_amd_signal_create_callback; + table->hsa_amd_ipc_signal_create_fn = hsa_amd_ipc_signal_create_callback; + table->hsa_amd_ipc_signal_attach_fn = hsa_amd_ipc_signal_attach_callback; + table->hsa_amd_register_system_event_handler_fn = hsa_amd_register_system_event_handler_callback; + table->hsa_amd_queue_intercept_create_fn = hsa_amd_queue_intercept_create_callback; + table->hsa_amd_queue_intercept_register_fn = hsa_amd_queue_intercept_register_callback; + table->hsa_amd_queue_set_priority_fn = hsa_amd_queue_set_priority_callback; + table->hsa_amd_memory_async_copy_rect_fn = hsa_amd_memory_async_copy_rect_callback; + table->hsa_amd_runtime_queue_create_register_fn = hsa_amd_runtime_queue_create_register_callback; +}; +static void intercept_ImageExtTable(ImageExtTable* table) { + ImageExtTable_saved = *table; + +// block: ImageExtTable API + table->hsa_ext_image_get_capability_fn = hsa_ext_image_get_capability_callback; + table->hsa_ext_image_data_get_info_fn = hsa_ext_image_data_get_info_callback; + table->hsa_ext_image_create_fn = hsa_ext_image_create_callback; + table->hsa_ext_image_import_fn = hsa_ext_image_import_callback; + table->hsa_ext_image_export_fn = hsa_ext_image_export_callback; + table->hsa_ext_image_copy_fn = hsa_ext_image_copy_callback; + table->hsa_ext_image_clear_fn = hsa_ext_image_clear_callback; + table->hsa_ext_image_destroy_fn = hsa_ext_image_destroy_callback; + table->hsa_ext_sampler_create_fn = hsa_ext_sampler_create_callback; + table->hsa_ext_sampler_destroy_fn = hsa_ext_sampler_destroy_callback; + table->hsa_ext_image_get_capability_with_layout_fn = hsa_ext_image_get_capability_with_layout_callback; + table->hsa_ext_image_data_get_info_with_layout_fn = hsa_ext_image_data_get_info_with_layout_callback; + table->hsa_ext_image_create_with_layout_fn = hsa_ext_image_create_with_layout_callback; +}; + +// section: API get_name function + +static const char* GetApiName(const uint32_t& id) { + switch (id) { + // block: CoreApiTable API + case HSA_API_ID_hsa_init: return "hsa_init"; + case HSA_API_ID_hsa_shut_down: return "hsa_shut_down"; + case HSA_API_ID_hsa_system_get_info: return "hsa_system_get_info"; + case HSA_API_ID_hsa_system_extension_supported: return "hsa_system_extension_supported"; + case HSA_API_ID_hsa_system_get_extension_table: return "hsa_system_get_extension_table"; + case HSA_API_ID_hsa_iterate_agents: return "hsa_iterate_agents"; + case HSA_API_ID_hsa_agent_get_info: return "hsa_agent_get_info"; + case HSA_API_ID_hsa_queue_create: return "hsa_queue_create"; + case HSA_API_ID_hsa_soft_queue_create: return "hsa_soft_queue_create"; + case HSA_API_ID_hsa_queue_destroy: return "hsa_queue_destroy"; + case HSA_API_ID_hsa_queue_inactivate: return "hsa_queue_inactivate"; + case HSA_API_ID_hsa_queue_load_read_index_scacquire: return "hsa_queue_load_read_index_scacquire"; + case HSA_API_ID_hsa_queue_load_read_index_relaxed: return "hsa_queue_load_read_index_relaxed"; + case HSA_API_ID_hsa_queue_load_write_index_scacquire: return "hsa_queue_load_write_index_scacquire"; + case HSA_API_ID_hsa_queue_load_write_index_relaxed: return "hsa_queue_load_write_index_relaxed"; + case HSA_API_ID_hsa_queue_store_write_index_relaxed: return "hsa_queue_store_write_index_relaxed"; + case HSA_API_ID_hsa_queue_store_write_index_screlease: return "hsa_queue_store_write_index_screlease"; + case HSA_API_ID_hsa_queue_cas_write_index_scacq_screl: return "hsa_queue_cas_write_index_scacq_screl"; + case HSA_API_ID_hsa_queue_cas_write_index_scacquire: return "hsa_queue_cas_write_index_scacquire"; + case HSA_API_ID_hsa_queue_cas_write_index_relaxed: return "hsa_queue_cas_write_index_relaxed"; + case HSA_API_ID_hsa_queue_cas_write_index_screlease: return "hsa_queue_cas_write_index_screlease"; + case HSA_API_ID_hsa_queue_add_write_index_scacq_screl: return "hsa_queue_add_write_index_scacq_screl"; + case HSA_API_ID_hsa_queue_add_write_index_scacquire: return "hsa_queue_add_write_index_scacquire"; + case HSA_API_ID_hsa_queue_add_write_index_relaxed: return "hsa_queue_add_write_index_relaxed"; + case HSA_API_ID_hsa_queue_add_write_index_screlease: return "hsa_queue_add_write_index_screlease"; + case HSA_API_ID_hsa_queue_store_read_index_relaxed: return "hsa_queue_store_read_index_relaxed"; + case HSA_API_ID_hsa_queue_store_read_index_screlease: return "hsa_queue_store_read_index_screlease"; + case HSA_API_ID_hsa_agent_iterate_regions: return "hsa_agent_iterate_regions"; + case HSA_API_ID_hsa_region_get_info: return "hsa_region_get_info"; + case HSA_API_ID_hsa_agent_get_exception_policies: return "hsa_agent_get_exception_policies"; + case HSA_API_ID_hsa_agent_extension_supported: return "hsa_agent_extension_supported"; + case HSA_API_ID_hsa_memory_register: return "hsa_memory_register"; + case HSA_API_ID_hsa_memory_deregister: return "hsa_memory_deregister"; + case HSA_API_ID_hsa_memory_allocate: return "hsa_memory_allocate"; + case HSA_API_ID_hsa_memory_free: return "hsa_memory_free"; + case HSA_API_ID_hsa_memory_copy: return "hsa_memory_copy"; + case HSA_API_ID_hsa_memory_assign_agent: return "hsa_memory_assign_agent"; + case HSA_API_ID_hsa_signal_create: return "hsa_signal_create"; + case HSA_API_ID_hsa_signal_destroy: return "hsa_signal_destroy"; + case HSA_API_ID_hsa_signal_load_relaxed: return "hsa_signal_load_relaxed"; + case HSA_API_ID_hsa_signal_load_scacquire: return "hsa_signal_load_scacquire"; + case HSA_API_ID_hsa_signal_store_relaxed: return "hsa_signal_store_relaxed"; + case HSA_API_ID_hsa_signal_store_screlease: return "hsa_signal_store_screlease"; + case HSA_API_ID_hsa_signal_wait_relaxed: return "hsa_signal_wait_relaxed"; + case HSA_API_ID_hsa_signal_wait_scacquire: return "hsa_signal_wait_scacquire"; + case HSA_API_ID_hsa_signal_and_relaxed: return "hsa_signal_and_relaxed"; + case HSA_API_ID_hsa_signal_and_scacquire: return "hsa_signal_and_scacquire"; + case HSA_API_ID_hsa_signal_and_screlease: return "hsa_signal_and_screlease"; + case HSA_API_ID_hsa_signal_and_scacq_screl: return "hsa_signal_and_scacq_screl"; + case HSA_API_ID_hsa_signal_or_relaxed: return "hsa_signal_or_relaxed"; + case HSA_API_ID_hsa_signal_or_scacquire: return "hsa_signal_or_scacquire"; + case HSA_API_ID_hsa_signal_or_screlease: return "hsa_signal_or_screlease"; + case HSA_API_ID_hsa_signal_or_scacq_screl: return "hsa_signal_or_scacq_screl"; + case HSA_API_ID_hsa_signal_xor_relaxed: return "hsa_signal_xor_relaxed"; + case HSA_API_ID_hsa_signal_xor_scacquire: return "hsa_signal_xor_scacquire"; + case HSA_API_ID_hsa_signal_xor_screlease: return "hsa_signal_xor_screlease"; + case HSA_API_ID_hsa_signal_xor_scacq_screl: return "hsa_signal_xor_scacq_screl"; + case HSA_API_ID_hsa_signal_exchange_relaxed: return "hsa_signal_exchange_relaxed"; + case HSA_API_ID_hsa_signal_exchange_scacquire: return "hsa_signal_exchange_scacquire"; + case HSA_API_ID_hsa_signal_exchange_screlease: return "hsa_signal_exchange_screlease"; + case HSA_API_ID_hsa_signal_exchange_scacq_screl: return "hsa_signal_exchange_scacq_screl"; + case HSA_API_ID_hsa_signal_add_relaxed: return "hsa_signal_add_relaxed"; + case HSA_API_ID_hsa_signal_add_scacquire: return "hsa_signal_add_scacquire"; + case HSA_API_ID_hsa_signal_add_screlease: return "hsa_signal_add_screlease"; + case HSA_API_ID_hsa_signal_add_scacq_screl: return "hsa_signal_add_scacq_screl"; + case HSA_API_ID_hsa_signal_subtract_relaxed: return "hsa_signal_subtract_relaxed"; + case HSA_API_ID_hsa_signal_subtract_scacquire: return "hsa_signal_subtract_scacquire"; + case HSA_API_ID_hsa_signal_subtract_screlease: return "hsa_signal_subtract_screlease"; + case HSA_API_ID_hsa_signal_subtract_scacq_screl: return "hsa_signal_subtract_scacq_screl"; + case HSA_API_ID_hsa_signal_cas_relaxed: return "hsa_signal_cas_relaxed"; + case HSA_API_ID_hsa_signal_cas_scacquire: return "hsa_signal_cas_scacquire"; + case HSA_API_ID_hsa_signal_cas_screlease: return "hsa_signal_cas_screlease"; + case HSA_API_ID_hsa_signal_cas_scacq_screl: return "hsa_signal_cas_scacq_screl"; + case HSA_API_ID_hsa_isa_from_name: return "hsa_isa_from_name"; + case HSA_API_ID_hsa_isa_get_info: return "hsa_isa_get_info"; + case HSA_API_ID_hsa_isa_compatible: return "hsa_isa_compatible"; + case HSA_API_ID_hsa_code_object_serialize: return "hsa_code_object_serialize"; + case HSA_API_ID_hsa_code_object_deserialize: return "hsa_code_object_deserialize"; + case HSA_API_ID_hsa_code_object_destroy: return "hsa_code_object_destroy"; + case HSA_API_ID_hsa_code_object_get_info: return "hsa_code_object_get_info"; + case HSA_API_ID_hsa_code_object_get_symbol: return "hsa_code_object_get_symbol"; + case HSA_API_ID_hsa_code_symbol_get_info: return "hsa_code_symbol_get_info"; + case HSA_API_ID_hsa_code_object_iterate_symbols: return "hsa_code_object_iterate_symbols"; + case HSA_API_ID_hsa_executable_create: return "hsa_executable_create"; + case HSA_API_ID_hsa_executable_destroy: return "hsa_executable_destroy"; + case HSA_API_ID_hsa_executable_load_code_object: return "hsa_executable_load_code_object"; + case HSA_API_ID_hsa_executable_freeze: return "hsa_executable_freeze"; + case HSA_API_ID_hsa_executable_get_info: return "hsa_executable_get_info"; + case HSA_API_ID_hsa_executable_global_variable_define: return "hsa_executable_global_variable_define"; + case HSA_API_ID_hsa_executable_agent_global_variable_define: return "hsa_executable_agent_global_variable_define"; + case HSA_API_ID_hsa_executable_readonly_variable_define: return "hsa_executable_readonly_variable_define"; + case HSA_API_ID_hsa_executable_validate: return "hsa_executable_validate"; + case HSA_API_ID_hsa_executable_get_symbol: return "hsa_executable_get_symbol"; + case HSA_API_ID_hsa_executable_symbol_get_info: return "hsa_executable_symbol_get_info"; + case HSA_API_ID_hsa_executable_iterate_symbols: return "hsa_executable_iterate_symbols"; + case HSA_API_ID_hsa_status_string: return "hsa_status_string"; + case HSA_API_ID_hsa_extension_get_name: return "hsa_extension_get_name"; + case HSA_API_ID_hsa_system_major_extension_supported: return "hsa_system_major_extension_supported"; + case HSA_API_ID_hsa_system_get_major_extension_table: return "hsa_system_get_major_extension_table"; + case HSA_API_ID_hsa_agent_major_extension_supported: return "hsa_agent_major_extension_supported"; + case HSA_API_ID_hsa_cache_get_info: return "hsa_cache_get_info"; + case HSA_API_ID_hsa_agent_iterate_caches: return "hsa_agent_iterate_caches"; + case HSA_API_ID_hsa_signal_silent_store_relaxed: return "hsa_signal_silent_store_relaxed"; + case HSA_API_ID_hsa_signal_silent_store_screlease: return "hsa_signal_silent_store_screlease"; + case HSA_API_ID_hsa_signal_group_create: return "hsa_signal_group_create"; + case HSA_API_ID_hsa_signal_group_destroy: return "hsa_signal_group_destroy"; + case HSA_API_ID_hsa_signal_group_wait_any_scacquire: return "hsa_signal_group_wait_any_scacquire"; + case HSA_API_ID_hsa_signal_group_wait_any_relaxed: return "hsa_signal_group_wait_any_relaxed"; + case HSA_API_ID_hsa_agent_iterate_isas: return "hsa_agent_iterate_isas"; + case HSA_API_ID_hsa_isa_get_info_alt: return "hsa_isa_get_info_alt"; + case HSA_API_ID_hsa_isa_get_exception_policies: return "hsa_isa_get_exception_policies"; + case HSA_API_ID_hsa_isa_get_round_method: return "hsa_isa_get_round_method"; + case HSA_API_ID_hsa_wavefront_get_info: return "hsa_wavefront_get_info"; + case HSA_API_ID_hsa_isa_iterate_wavefronts: return "hsa_isa_iterate_wavefronts"; + case HSA_API_ID_hsa_code_object_get_symbol_from_name: return "hsa_code_object_get_symbol_from_name"; + case HSA_API_ID_hsa_code_object_reader_create_from_file: return "hsa_code_object_reader_create_from_file"; + case HSA_API_ID_hsa_code_object_reader_create_from_memory: return "hsa_code_object_reader_create_from_memory"; + case HSA_API_ID_hsa_code_object_reader_destroy: return "hsa_code_object_reader_destroy"; + case HSA_API_ID_hsa_executable_create_alt: return "hsa_executable_create_alt"; + case HSA_API_ID_hsa_executable_load_program_code_object: return "hsa_executable_load_program_code_object"; + case HSA_API_ID_hsa_executable_load_agent_code_object: return "hsa_executable_load_agent_code_object"; + case HSA_API_ID_hsa_executable_validate_alt: return "hsa_executable_validate_alt"; + case HSA_API_ID_hsa_executable_get_symbol_by_name: return "hsa_executable_get_symbol_by_name"; + case HSA_API_ID_hsa_executable_iterate_agent_symbols: return "hsa_executable_iterate_agent_symbols"; + case HSA_API_ID_hsa_executable_iterate_program_symbols: return "hsa_executable_iterate_program_symbols"; + + // block: AmdExtTable API + case HSA_API_ID_hsa_amd_coherency_get_type: return "hsa_amd_coherency_get_type"; + case HSA_API_ID_hsa_amd_coherency_set_type: return "hsa_amd_coherency_set_type"; + case HSA_API_ID_hsa_amd_profiling_set_profiler_enabled: return "hsa_amd_profiling_set_profiler_enabled"; + case HSA_API_ID_hsa_amd_profiling_async_copy_enable: return "hsa_amd_profiling_async_copy_enable"; + case HSA_API_ID_hsa_amd_profiling_get_dispatch_time: return "hsa_amd_profiling_get_dispatch_time"; + case HSA_API_ID_hsa_amd_profiling_get_async_copy_time: return "hsa_amd_profiling_get_async_copy_time"; + case HSA_API_ID_hsa_amd_profiling_convert_tick_to_system_domain: return "hsa_amd_profiling_convert_tick_to_system_domain"; + case HSA_API_ID_hsa_amd_signal_async_handler: return "hsa_amd_signal_async_handler"; + case HSA_API_ID_hsa_amd_async_function: return "hsa_amd_async_function"; + case HSA_API_ID_hsa_amd_signal_wait_any: return "hsa_amd_signal_wait_any"; + case HSA_API_ID_hsa_amd_queue_cu_set_mask: return "hsa_amd_queue_cu_set_mask"; + case HSA_API_ID_hsa_amd_memory_pool_get_info: return "hsa_amd_memory_pool_get_info"; + case HSA_API_ID_hsa_amd_agent_iterate_memory_pools: return "hsa_amd_agent_iterate_memory_pools"; + case HSA_API_ID_hsa_amd_memory_pool_allocate: return "hsa_amd_memory_pool_allocate"; + case HSA_API_ID_hsa_amd_memory_pool_free: return "hsa_amd_memory_pool_free"; + case HSA_API_ID_hsa_amd_memory_async_copy: return "hsa_amd_memory_async_copy"; + case HSA_API_ID_hsa_amd_agent_memory_pool_get_info: return "hsa_amd_agent_memory_pool_get_info"; + case HSA_API_ID_hsa_amd_agents_allow_access: return "hsa_amd_agents_allow_access"; + case HSA_API_ID_hsa_amd_memory_pool_can_migrate: return "hsa_amd_memory_pool_can_migrate"; + case HSA_API_ID_hsa_amd_memory_migrate: return "hsa_amd_memory_migrate"; + case HSA_API_ID_hsa_amd_memory_lock: return "hsa_amd_memory_lock"; + case HSA_API_ID_hsa_amd_memory_unlock: return "hsa_amd_memory_unlock"; + case HSA_API_ID_hsa_amd_memory_fill: return "hsa_amd_memory_fill"; + case HSA_API_ID_hsa_amd_interop_map_buffer: return "hsa_amd_interop_map_buffer"; + case HSA_API_ID_hsa_amd_interop_unmap_buffer: return "hsa_amd_interop_unmap_buffer"; + case HSA_API_ID_hsa_amd_image_create: return "hsa_amd_image_create"; + case HSA_API_ID_hsa_amd_pointer_info: return "hsa_amd_pointer_info"; + case HSA_API_ID_hsa_amd_pointer_info_set_userdata: return "hsa_amd_pointer_info_set_userdata"; + case HSA_API_ID_hsa_amd_ipc_memory_create: return "hsa_amd_ipc_memory_create"; + case HSA_API_ID_hsa_amd_ipc_memory_attach: return "hsa_amd_ipc_memory_attach"; + case HSA_API_ID_hsa_amd_ipc_memory_detach: return "hsa_amd_ipc_memory_detach"; + case HSA_API_ID_hsa_amd_signal_create: return "hsa_amd_signal_create"; + case HSA_API_ID_hsa_amd_ipc_signal_create: return "hsa_amd_ipc_signal_create"; + case HSA_API_ID_hsa_amd_ipc_signal_attach: return "hsa_amd_ipc_signal_attach"; + case HSA_API_ID_hsa_amd_register_system_event_handler: return "hsa_amd_register_system_event_handler"; + case HSA_API_ID_hsa_amd_queue_intercept_create: return "hsa_amd_queue_intercept_create"; + case HSA_API_ID_hsa_amd_queue_intercept_register: return "hsa_amd_queue_intercept_register"; + case HSA_API_ID_hsa_amd_queue_set_priority: return "hsa_amd_queue_set_priority"; + case HSA_API_ID_hsa_amd_memory_async_copy_rect: return "hsa_amd_memory_async_copy_rect"; + case HSA_API_ID_hsa_amd_runtime_queue_create_register: return "hsa_amd_runtime_queue_create_register"; + + // block: ImageExtTable API + case HSA_API_ID_hsa_ext_image_get_capability: return "hsa_ext_image_get_capability"; + case HSA_API_ID_hsa_ext_image_data_get_info: return "hsa_ext_image_data_get_info"; + case HSA_API_ID_hsa_ext_image_create: return "hsa_ext_image_create"; + case HSA_API_ID_hsa_ext_image_import: return "hsa_ext_image_import"; + case HSA_API_ID_hsa_ext_image_export: return "hsa_ext_image_export"; + case HSA_API_ID_hsa_ext_image_copy: return "hsa_ext_image_copy"; + case HSA_API_ID_hsa_ext_image_clear: return "hsa_ext_image_clear"; + case HSA_API_ID_hsa_ext_image_destroy: return "hsa_ext_image_destroy"; + case HSA_API_ID_hsa_ext_sampler_create: return "hsa_ext_sampler_create"; + case HSA_API_ID_hsa_ext_sampler_destroy: return "hsa_ext_sampler_destroy"; + case HSA_API_ID_hsa_ext_image_get_capability_with_layout: return "hsa_ext_image_get_capability_with_layout"; + case HSA_API_ID_hsa_ext_image_data_get_info_with_layout: return "hsa_ext_image_data_get_info_with_layout"; + case HSA_API_ID_hsa_ext_image_create_with_layout: return "hsa_ext_image_create_with_layout"; + }; + return "unknown"; +}; + +};}; +#endif // PROF_API_IMPL + +#endif // INC_HSA_PROF_STR_H \ No newline at end of file diff --git a/inc/roctracer.h b/inc/roctracer.h index 483ce6c331..d9d886ba1b 100644 --- a/inc/roctracer.h +++ b/inc/roctracer.h @@ -71,7 +71,7 @@ typedef enum { const char* roctracer_error_string(); //////////////////////////////////////////////////////////////////////////////// -// Traced runtime API domains +// Traced runtime domains // Activity domain type typedef activity_domain_t roctracer_domain_t; @@ -83,6 +83,11 @@ const char* roctracer_id_string( const uint32_t& id, // activity ID const uint32_t& kind); // activity kind +// Set properties +roctracer_status_t roctracer_set_properties( + roctracer_domain_t domain, // tracing domain + void* propertes); // tracing properties + //////////////////////////////////////////////////////////////////////////////// // Callback API // @@ -91,18 +96,19 @@ const char* roctracer_id_string( // called on different phases, on enter, on exit, on kernel completion. // Methods return non-zero on error and library errno is set. +// Runtime API callback type typedef activity_rtapi_callback_t roctracer_rtapi_callback_t; // Enable runtime API callbacks roctracer_status_t roctracer_enable_callback( - activity_domain_t domain, // runtime API domain + activity_domain_t domain, // tracing domain uint32_t id, // API call ID activity_rtapi_callback_t callback, // callback function pointer void* arg); // [in/out] callback arg // Disable runtime API callbacks roctracer_status_t roctracer_disable_callback( - activity_domain_t domain, // runtime API domain + activity_domain_t domain, // tracing domain uint32_t id); // API call ID //////////////////////////////////////////////////////////////////////////////// @@ -170,13 +176,13 @@ roctracer_pool_t* roctracer_default_pool( // Enable activity records logging roctracer_status_t roctracer_enable_activity( - activity_domain_t domain, // runtime API domain + activity_domain_t domain, // tracing domain uint32_t id, // activity ID roctracer_pool_t* pool = NULL); // memory pool, NULL is a default one // Disable activity records logging roctracer_status_t roctracer_disable_activity( - activity_domain_t domain, // runtime API domain + activity_domain_t domain, // tracing domain uint32_t id); // activity ID // Flush available activity records diff --git a/inc/roctracer_hsa.h b/inc/roctracer_hsa.h new file mode 100644 index 0000000000..473bb27ad1 --- /dev/null +++ b/inc/roctracer_hsa.h @@ -0,0 +1,74 @@ +/* +Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +*/ + +#ifndef INC_ROCTRACER_HSA_H_ +#define INC_ROCTRACER_HSA_H_ +#include + +#include +#include +#include + +#include "ext/prof_protocol.h" +#include "roctracer.h" + +namespace roctracer { +namespace hsa_support { +template +class CbTable { + public: + typedef std::mutex mutex_t; + + CbTable() { + std::lock_guard lck(mutex_); + for (int i = 0; i < N; i++) { + callback_[i] = NULL; + arg_[i] = NULL; + } + } + + void set(uint32_t id, activity_rtapi_callback_t callback, void* arg) { + std::lock_guard lck(mutex_); + callback_[id] = callback; + arg_[id] = arg; + } + + void get(uint32_t id, activity_rtapi_callback_t* callback, void** arg) { + std::lock_guard lck(mutex_); + *callback = callback_[id]; + *arg = arg_[id]; + } + + private: + activity_rtapi_callback_t callback_[N]; + void* arg_[N]; + mutex_t mutex_; +}; + +extern CoreApiTable CoreApiTable_saved; +extern AmdExtTable AmdExtTable_saved; +extern ImageExtTable ImageExtTable_saved; +}; +}; + +#include "inc/hsa_prof_str.h" +#endif // INC_ROCTRACER_HSA_H_ diff --git a/script/hipap.py b/script/hipap.py index 2533affbf6..fe29b73da7 100755 --- a/script/hipap.py +++ b/script/hipap.py @@ -4,26 +4,74 @@ import os, sys, re HEADER = "hip_cbstr.h" REC_MAX_LEN = 1024 -def fill_api_map(out, api_name, args_str): - args_list = [] - +############################################################# +# Filling API map with API call name and args +def filtr_api_args(args_str): args_str = re.sub(r'^\s*', r'', args_str); args_str = re.sub(r'\s*$', r'', args_str); args_str = re.sub(r'\s*,\s*', r',', args_str); args_str = re.sub(r'\s+', r' ', args_str); + args_str = re.sub(r'void \*', r'void* ', args_str); + args_str = re.sub(r'(enum|struct) ', '', args_str); + return args_str +def list_api_args(args_str): + args_list = [] for arg_pair in args_str.split(','): - arg_pair = re.sub(r'\s+=\s+\S+$', '', arg_pair); + arg_pair = re.sub(r'\s+=\s+\S+$','', arg_pair); m = re.match("^(.*)\s(\S+)$", arg_pair); - if m: args_list.append((m.group(1), m.group(2))) + if m: + arg_type = m.group(1) + arg_name = m.group(2) +# m = re.match("^(.*_t)\s(.*)$", arg_type) +# if m: +# arg_type = m.group(1) +# arg_name = m.group(2) + args_list.append((arg_type, arg_name)) + return args_list; - out[api_name] = args_list; +def filtr_api_types(args_str): + args_str = filtr_api_args(args_str) + args_list = list_api_args(args_str) + types_str = '' + for arg_tuple in args_list: + types_str += arg_tuple[0] + ', ' + return types_str +def norm_api_types(types_str): + types_str = re.sub(r'uint32_t,', r'unsigned int,', types_str) + types_str = re.sub(r'unsigned,', r'unsigned int,', types_str) + return types_str + +def filtr_api_opts(args_str): + args_str = filtr_api_args(args_str) + args_list = list_api_args(args_str) + opts_list = [] + for arg_tuple in args_list: + opts_list.append(arg_tuple[1]) + return opts_list + +def fill_api_map(out, api_name, args_str): + args_str = filtr_api_args(args_str) + out[api_name + '.a'] = args_str + out[api_name] = list_api_args(args_str) + +def patch_args(api_opts, eta_opts, content): + api_opts_list = api_opts.split(','); + eta_opts_list = eta_opts.split(','); + length = len(api_opts_list) + for index in range(0, length): + content = re.sub(' ' + api_opts_list[index], ' ' + eta_opts_list[index], content) + return content +############################################################# +# Parsing API header # hipError_t hipSetupArgument(const void* arg, size_t size, size_t offset); -def parse_api(inp, out): - end_pattern = re.compile("Texture"); +def parse_api(inp_file, out): beg_pattern = re.compile("^hipError_t"); api_pattern = re.compile("^hipError_t\s+([^\(]+)\(([^\)]*)\)"); + end_pattern = re.compile("Texture"); + + inp = open(inp_file, 'r') found = 0 record = "" @@ -34,47 +82,185 @@ def parse_api(inp, out): line_num += 1 if len(record) > REC_MAX_LEN: - print "Error: bad record \"" + record + "\"\nfile '" + hfile + ", line (" + str(line_num) + ")" + print "Error: bad record \"" + record + "\"\nfile '" + inp_file + ", line (" + str(line_num) + ")" break; if beg_pattern.match(record): found = 1 - if found: + if found != 0: + record = re.sub("\s__dparm\([^\)]*\)", '', record); m = api_pattern.match(record) if m: found = 0 if end_pattern.search(record): break - fill_api_map(out, m.group(1), m.group(2)) + out[m.group(1)] = filtr_api_args(m.group(2)) else: continue record = "" - + + inp.close() ############################################################# +# Patching API implementation +# hipError_t hipSetupArgument(const void* arg, size_t size, size_t offset) { +# HIP_INIT_CB(hipSetupArgument, arg, size, offset); +def patch_content(inp_file, api_map, out): + beg_pattern = re.compile("^hipError_t"); + api_pattern = re.compile("^hipError_t\s+([^\(]+)\(([^\)]*)\)\s*{"); + target_pattern = re.compile("^(\s*HIP_INIT[^\(]*)(_API\()(.*)\);\s*$"); -if (len(sys.argv) != 2): - print >>sys.stderr, "Usage:", sys.argv[0], " " + inp = open(inp_file, 'r') + + api_name = "" + api_valid = 0 + api_valid_always = 1 + + content = '' + sub_content = '' + record = '' + line_num = -1 + found = 0 + + for line in inp.readlines(): + record += re.sub(r'^\s+', r' ', line[:-1]) + line_num += 1 + + if len(record) > REC_MAX_LEN: + print "Error: bad record \"" + record + "\"\nfile '" + inp_file + ", line (" + str(line_num) + ")" + break; + + if beg_pattern.match(record): found = 1 + + if found != 0: + record = re.sub("\s__dparm\([^\)]*\)", '', record); + m = api_pattern.match(record) + if m: + found = 0 + api_name = m.group(1); + if api_name in api_map: + api_args = filtr_api_args(m.group(2)) + eta_args = api_map[api_name] + api_types = filtr_api_types(api_args) + eta_types = filtr_api_types(eta_args) + if api_types != eta_types: + api_types = norm_api_types(api_types) + eta_types = norm_api_types(eta_types) + if api_types == eta_types: + if api_name in out: + print "Error: API redefined \"" + api_name + "\", record \"" + record + "\"\nfile '" + inp_file + ", line (" + str(line_num) + ")" + sys.exit(1) + api_valid = 1 + out[api_name] = filtr_api_opts(api_args) + elif not api_name in out: + api_diff = '\t\t' + inp_file + " line(" + str(line_num) + ")\n\t\tapi: " + api_types + "\n\t\teta: " + eta_types + print "\t" + api_name + ':\n' + api_diff + '\n' + + content += sub_content + sub_content = '' + else: + sub_content += line + continue + + if (api_valid_always == 1) || (api_valid == 1): + m = target_pattern.match(line) + if m: + api_valid = 0 + if not re.search("_CB_API\(", line): + print (api_name); + api_label = api_name + if m.group(3) != "": api_label += ', ' + line = m.group(1) + '_CB' + m.group(2) + api_label + m.group(3) + ");\n" + + content += line + record = "" + + inp.close() + + if len(out) != 0: + return content + else: + return '' + +# srcs path walk +def patch_src(api_map, src_path, src_patt, out): + pattern = re.compile(src_patt) + src_path = re.sub(r'\s', '', src_path) + for src_dir in src_path.split(':'): + print "Patching " + src_dir + " for '" + src_patt + "'" + for root, dirs, files in os.walk(src_dir): + for fnm in files: + if pattern.search(fnm): + file = root + '/' + fnm + print "\t" + file + content = patch_content(file, api_map, out); + if content != '': + f = open(file, 'w') + f.write(content) + f.close() +############################################################# +# main +# Usage +if (len(sys.argv) < 2): + print >>sys.stderr, "Usage:", sys.argv[0], " [patched srcs path]" sys.exit(1) -hfile = sys.argv[1] -if not os.path.isfile(hfile): - print >>sys.stderr, "Error: input file '" + hfile + "' not found" +# API header file given as an argument +api_hfile = sys.argv[1] +if not os.path.isfile(api_hfile): + print >>sys.stderr, "Error: input file '" + api_hfile + "' not found" sys.exit(1) -inp = open(hfile, 'r') +# API declaration map api_map = {} -parse_api(inp, api_map) +# API options map +opts_map = {} -api_map['hipLaunchKernel'] = [('void*', 'kernel'), ('hipStream_t', 'stream')] +# Parsing API header +parse_api(api_hfile, api_map) + +# Patching API implementation sources +# Sources path is given as an argument +if len(sys.argv) == 3: + src_path = sys.argv[2] + src_patt = "\.cpp$" + patch_src(api_map, src_path, src_patt, opts_map) + +# Converting api map to map of lists +for name in api_map.keys(): + args_str = api_map[name]; + +# Printing not found APIs +if len(opts_map) != 0: + for name in api_map.keys(): + args_str = api_map[name]; + api_map[name] = list_api_args(args_str) + if not name in opts_map: + print "Not found: " + name +############################################################# +# Generating the header +#api_map['hipLaunchKernel'] = [ +# ('void*', 'kernel'), +# ('hipStream_t', 'stream') +#] +#api_map['hipKernel'] = [ +# ('const char*', 'name'), +# ('uint64_t', 'start'), +# ('uint64_t', 'end') +#] f = open(HEADER, 'w') f.write('// automatically generated sources\n') -f.write('#ifndef HIP__CBSTR_H__\n'); -f.write('#define HIP__CBSTR_H__\n'); +f.write('#ifndef _HIP_CBSTR_H\n'); +f.write('#define _HIP_CBSTR_H\n'); +f.write('#include \n'); +f.write('#include \n'); # Generating the callbacks function type f.write('\n// HIP API callbacks function type\n\ struct hip_cb_data_t;\n\ -typedef void (*hip_cb_fun_t)(const hip_cb_data_t* data, void* arg);\n\ +struct hip_act_record_t;\n\ +typedef void (*hip_cb_fun_t)(uint32_t domain, uint32_t cid, const void* data, void* arg);\n\ +typedef void (*hip_cb_act_t)(uint32_t cid, hip_act_record_t** record, const void* data, void* arg);\n\ +typedef void (*hip_cb_async_t)(uint32_t op_id, void* record, void* arg);\n\ ') # Generating the callbacks ID enumaration @@ -87,14 +273,22 @@ for name in api_map.keys(): f.write(' HIP_API_ID_NUMBER = ' + str(cb_id) + ',\n') f.write('};\n') +# Generating the callbacks ID enumaration +f.write('\n// Return HIP API string\n') +f.write('static const char* hip_api_name(const uint32_t& id) {\n') +f.write(' switch(id) {\n') +for name in api_map.keys(): + f.write(' case HIP_API_ID_' + name + ': return "' + name + '";\n') +f.write(' };\n') +f.write(' return "unknown";\n') +f.write('};\n') + # Generating the callbacks data structure f.write('\n// HIP API callbacks data structure\n') f.write( 'struct hip_cb_data_t {\n' + -' const char* name;\n' + -' hip_cb_id_t id;\n' + -' uint32_t correlation_id;\n' + -' bool on_enter;\n' + +' uint64_t correlation_id;\n' + +' uint32_t phase;\n' + ' union {\n' ) for name, args in api_map.items(): @@ -112,78 +306,138 @@ f.write( f.write('\n// HIP API callbacks args data filling macros\n') for name, args in api_map.items(): f.write('#define INIT_' + name + '_CB_ARGS_DATA(cb_data) { \\\n') - for arg_tuple in args: - arg_type = arg_tuple[0]; - arg_name = arg_tuple[1]; - f.write(' cb_data.args.' + name + '.' + arg_name + ' = (' + arg_type + ')' + arg_name + '; \\\n'); + opts_list = [] + if name in opts_map: + opts_list = opts_map[name] + for ind in range(0, len(args)): + arg_tuple = args[ind] + arg_type = arg_tuple[0] + fld_name = arg_tuple[1] + arg_name = arg_tuple[1] + if len(opts_list) != 0: + arg_name = opts_list[ind] + f.write(' cb_data.args.' + name + '.' + fld_name + ' = (' + arg_type + ')' + arg_name + '; \\\n') f.write('};\n') f.write('#define INIT_CB_ARGS_DATA(cb_id, cb_data) INIT_##cb_id##_CB_ARGS_DATA(cb_data)\n') -# Generating the callbacks table -f.write('\n// HIP API callbacks table\n') +# Generating the method for the API string, name and parameters +f.write('\n') +f.write('#if 0\n') +f.write('// HIP API string method, method name and parameters\n') +f.write('const char* hipApiString(hip_cb_id_t id, const hip_cb_data_t* data) {\n') +f.write(' std::ostringstream oss;\n') +f.write(' switch (id) {\n') +for name, args in api_map.items(): + f.write(' case HIP_API_ID_' + name + ':\n') + f.write(' oss << "' + name + '("') + for ind in range(0, len(args)): + arg_tuple = args[ind] + arg_name = arg_tuple[1] + if ind != 0: f.write(' << ","') + f.write('\n << " ' + arg_name + '=" << data->args.' + name + '.' + arg_name) + f.write('\n << ")";\n') + f.write(' break;\n') +f.write(' default: oss << "unknown";\n') +f.write(' };\n') +f.write(' return strdup(oss.str().c_str());\n') +f.write('};\n') +f.write('#endif\n') + +# Generating the activity record type f.write('\ -struct hip_cb_table_t {\n\ - struct { hip_cb_fun_t act; hip_cb_fun_t fun; void* arg; } arr[HIP_API_ID_NUMBER];\n\ +\n\ +// HIP API activity record type\n\ +// Base record type\n\ +struct hip_act_record_t {\n\ + uint32_t domain; // activity domain id\n\ + uint32_t op_id; // operation id, dispatch/copy/barrier\n\ + uint32_t activity_kind; // activity kind\n\ + uint64_t correlation_id; // activity correlation ID\n\ + uint64_t begin_ns; // host begin timestamp, nano-seconds\n\ + uint64_t end_ns; // host end timestamp, nano-seconds\n\ };\n\ -#define HIP_CALLBACKS_TABLE hip_cb_table_t HIP_API_callbacks_table{};\n\ -') -f.write('\ -inline bool HIP_SET_ACTIVITY(uint32_t id, hip_cb_fun_t fun, void* arg = NULL) {\n\ - (void)arg;\n\ - extern hip_cb_table_t HIP_API_callbacks_table;\n\ - if (id < HIP_API_ID_NUMBER) {\n\ - HIP_API_callbacks_table.arr[id].act = fun;\n\ - return true;\n\ - }\n\ - return false;\n\ -}\n') -f.write('\ -inline bool HIP_SET_CALLBACK(uint32_t id, hip_cb_fun_t fun, void* arg) {\n\ - extern hip_cb_table_t HIP_API_callbacks_table; \n\ - if (id < HIP_API_ID_NUMBER) {\n\ - HIP_API_callbacks_table.arr[id].fun = fun;\n\ - HIP_API_callbacks_table.arr[id].arg = arg;\n\ - return true;\n\ - }\n\ - return false;\n\ -}\n') - -# Generating the callback spawning class -f.write('\n// HIP API callbacks spawning class macro\n\ -#define CB_SPAWNER_OBJECT(cb_id) \\\n\ - class api_callbacks_spawner_t { \\\n\ - public: \\\n\ - api_callbacks_spawner_t(hip_cb_data_t& cb_data) : cb_data_(cb_data) { \\\n\ - hip_cb_id_t id = HIP_API_ID_##cb_id; \\\n\ - cb_data_.id = id; \\\n\ - cb_data_.correlation_id = UINT_MAX; \\\n\ - cb_data_.name = #cb_id; \\\n\ - extern const hip_cb_table_t* getApiCallbackTabel(); \\\n\ - const hip_cb_table_t* cb_table = getApiCallbackTabel(); \\\n\ - cb_act_ = cb_table->arr[id].act; \\\n\ - cb_fun_ = cb_table->arr[id].fun; \\\n\ - cb_arg_ = cb_table->arr[id].arg; \\\n\ - cb_data_.on_enter = true; \\\n\ - if (cb_act_ != NULL) cb_act_(&cb_data_, NULL); \\\n\ - if (cb_fun_ != NULL) cb_fun_(&cb_data_, cb_arg_); \\\n\ - } \\\n\ - ~api_callbacks_spawner_t() { \\\n\ - cb_data_.on_enter = false; \\\n\ - if (cb_act_ != NULL) cb_act_(&cb_data_, NULL); \\\n\ - if (cb_fun_ != NULL) cb_fun_(&cb_data_, cb_arg_); \\\n\ - } \\\n\ - private: \\\n\ - hip_cb_data_t& cb_data_; \\\n\ - hip_cb_fun_t cb_act_; \\\n\ - hip_cb_fun_t cb_fun_; \\\n\ - void* cb_arg_; \\\n\ - }; \\\n\ - hip_cb_data_t cb_data{}; \\\n\ - INIT_CB_ARGS_DATA(cb_id, cb_data); \\\n\ - api_callbacks_spawner_t api_callbacks_spawner(cb_data); \n\ +// Async record type\n\ +struct hip_async_record_t : hip_act_record_t {\n\ + int device_id;\n\ + uint64_t stream_id;\n\ +};\n\ +// Dispatch record type\n\ +struct hip_dispatch_record_t : hip_async_record_t {};\n\ +// Barrier record type\n\ +struct hip_barrier_record_t : hip_async_record_t {};\n\ +// Memcpy record type\n\ +struct hip_copy_record_t : hip_async_record_t {\n\ + size_t bytes;\n\ +};\n\ +// Generic async operation record\n\ +typedef hip_copy_record_t hip_ops_record_t;\n\ ') -f.write('#endif // HIP__CBSTR__'); +# # Generating the callbacks table +# f.write('\n// HIP API callbacks table\n') +# f.write('\ +# struct hip_cb_table_t {\n\ +# struct { hip_cb_fun_t act; hip_cb_fun_t fun; void* arg; } arr[HIP_API_ID_NUMBER];\n\ +# };\n\ +# #define HIP_CALLBACKS_TABLE hip_cb_table_t HIP_API_callbacks_table{};\n\ +# ') +# f.write('\ +# inline bool HIP_SET_ACTIVITY(uint32_t id, hip_cb_fun_t fun, void* arg = NULL) {\n\ +# (void)arg;\n\ +# extern hip_cb_table_t HIP_API_callbacks_table;\n\ +# if (id < HIP_API_ID_NUMBER) {\n\ +# HIP_API_callbacks_table.arr[id].act = fun;\n\ +# return true;\n\ +# }\n\ +# return false;\n\ +# }\n') +# f.write('\ +# inline bool HIP_SET_CALLBACK(uint32_t id, hip_cb_fun_t fun, void* arg) {\n\ +# extern hip_cb_table_t HIP_API_callbacks_table; \n\ +# if (id < HIP_API_ID_NUMBER) {\n\ +# HIP_API_callbacks_table.arr[id].fun = fun;\n\ +# HIP_API_callbacks_table.arr[id].arg = arg;\n\ +# return true;\n\ +# }\n\ +# return false;\n\ +# }\n') +# +# # Generating the callback spawning class +# f.write('\n// HIP API callbacks spawning class macro\n\ +# #define CB_SPAWNER_OBJECT(cb_id) \\\n\ +# class api_callbacks_spawner_t { \\\n\ +# public: \\\n\ +# api_callbacks_spawner_t(hip_cb_data_t& cb_data) : cb_data_(cb_data) { \\\n\ +# hip_cb_id_t id = HIP_API_ID_##cb_id; \\\n\ +# cb_data_.id = id; \\\n\ +# cb_data_.correlation_id = UINT_MAX; \\\n\ +# cb_data_.name = #cb_id; \\\n\ +# extern const hip_cb_table_t* getApiCallbackTabel(); \\\n\ +# const hip_cb_table_t* cb_table = getApiCallbackTabel(); \\\n\ +# cb_act_ = cb_table->arr[id].act; \\\n\ +# cb_fun_ = cb_table->arr[id].fun; \\\n\ +# cb_arg_ = cb_table->arr[id].arg; \\\n\ +# cb_data_.on_enter = true; \\\n\ +# if (cb_act_ != NULL) cb_act_(&cb_data_, NULL); \\\n\ +# if (cb_fun_ != NULL) cb_fun_(&cb_data_, cb_arg_); \\\n\ +# } \\\n\ +# ~api_callbacks_spawner_t() { \\\n\ +# cb_data_.on_enter = false; \\\n\ +# if (cb_act_ != NULL) cb_act_(&cb_data_, NULL); \\\n\ +# if (cb_fun_ != NULL) cb_fun_(&cb_data_, cb_arg_); \\\n\ +# } \\\n\ +# private: \\\n\ +# hip_cb_data_t& cb_data_; \\\n\ +# hip_cb_fun_t cb_act_; \\\n\ +# hip_cb_fun_t cb_fun_; \\\n\ +# void* cb_arg_; \\\n\ +# }; \\\n\ +# hip_cb_data_t cb_data{}; \\\n\ +# INIT_CB_ARGS_DATA(cb_id, cb_data); \\\n\ +# api_callbacks_spawner_t api_callbacks_spawner(cb_data); \n\ +# ') + +f.write('#endif // _HIP_CBSTR\n'); print "Header '" + HEADER + "' is generated" ############################################################# diff --git a/script/hsaap.py b/script/hsaap.py new file mode 100755 index 0000000000..fe4e215b88 --- /dev/null +++ b/script/hsaap.py @@ -0,0 +1,424 @@ +#!/usr/bin/python +import os, sys, re + +OUT='inc/hsa_prof_str.h' +API_TABLES_H = 'hsa_api_trace.h' +API_HEADERS_H = ( + ('CoreApiTable', 'hsa.h'), + ('AmdExtTable', 'hsa_ext_amd.h'), + ('ImageExtTable', 'hsa_ext_image.h'), + ('AmdExtTable', API_TABLES_H), +) + +LICENSE = \ +'/*\n' + \ +'Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved.\n' + \ +'\n' + \ +'Permission is hereby granted, free of charge, to any person obtaining a copy\n' + \ +'of this software and associated documentation files (the "Software"), to deal\n' + \ +'in the Software without restriction, including without limitation the rights\n' + \ +'to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n' + \ +'copies of the Software, and to permit persons to whom the Software is\n' + \ +'furnished to do so, subject to the following conditions:\n' + \ +'\n' + \ +'The above copyright notice and this permission notice shall be included in\n' + \ +'all copies or substantial portions of the Software.\n' + \ +'\n' + \ +'THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n' + \ +'IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n' + \ +'FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n' + \ +'AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n' + \ +'LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n' + \ +'OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n' + \ +'THE SOFTWARE.\n' + \ +'*/\n' + +############################################################# +# Error handler +def fatal(module, msg): + print >>sys.stderr, module + ' Error: "' + msg + '"' + sys.exit(1) + +# Get next text block +def NextBlock(pos, record): + if len(record) == 0: return pos + + space_pattern = re.compile(r'(\s+)') + word_pattern = re.compile(r'([\w\*]+)') + if record[pos] != '(': + m = space_pattern.match(record, pos) + if not m: + m = word_pattern.match(record, pos) + if m: + return pos + len(m.group(1)) + else: + fatal('NextBlock', "bad record '" + record + "' pos(" + str(pos) + ")") + else: + count = 0 + for index in range(pos, len(record)): + if record[index] == '(': + count = count + 1 + elif record[index] == ')': + count = count - 1 + if count == 0: + index = index + 1 + break + if count != 0: + fatal('NextBlock', "count is not zero (" + str(count) + ")") + if record[index - 1] != ')': + fatal('NextBlock', "last char is not ')' '" + record[index - 1] + "'") + return index + +############################################################# +# API table parser class +class API_TableParser: + def fatal(self, msg): + fatal('API_TableParser', msg) + + def __init__(self, header, name): + self.name = name + + if not os.path.isfile(header): + self.fatal("file '" + header + "' not found") + + self.inp = open(header, 'r') + + self.beg_pattern = re.compile('^\s*struct\s+' + name + '\s*{\s*$') + self.end_pattern = re.compile('^\s*};\s*$') + self.array = [] + self.parse() + + # normalizing a line + def norm_line(self, line): + return re.sub(r'^\s+', r' ', line[:-1]) + + # check for start record + def is_start(self, record): + return self.beg_pattern.match(record) + + # check for end record + def is_end(self, record): + return self.end_pattern.match(record) + + # check for declaration entry record + def is_entry(self, record): + return re.match(r'^\s*decltype\(([^\)]*)\)', record) + + # parse method + def parse(self): + active = 0 + for line in self.inp.readlines(): + record = self.norm_line(line) + if self.is_start(record): active = 1 + if active != 0: + if self.is_end(record): return + m = self.is_entry(record) + if m: + self.array.append(m.group(1)) + +############################################################# +# API declaration parser class +class API_DeclParser: + def fatal(self, msg): + fatal('API_DeclParser', msg) + + def __init__(self, header, array, data): + if not os.path.isfile(header): + self.fatal("file '" + header + "' not found") + + self.inp = open(header, 'r') + + self.end_pattern = re.compile('\);\s*$') + self.data = data + for call in array: + if call in data: + self.fatal(call + ' is already found') + self.parse(call) + + # api record filter + def api_filter(self, record): + record = re.sub(r'\sHSA_API\s', r' ', record) + record = re.sub(r'\sHSA_DEPRECATED\s', r' ', record) + return record + + # check for start record + def is_start(self, call, record): + return re.search('\s' + call + '\s*\(', record) + + # check for API method record + def is_api(self, call, record): + record = self.api_filter(record) + return re.match('\s+\S+\s+' + call + '\s*\(', record) + + # check for end record + def is_end(self, record): + return self.end_pattern.search(record) + + # parse method args + def get_args(self, record): + struct = { 'ret': '', 'args': '', 'astr': {}, 'alst': []} + record = re.sub(r'^\s+', r'', record) + record = re.sub(r'\s*(\*+)\s*', r'\1 ', record) + rind = NextBlock(0, record) + struct['ret'] = record[0:rind] + pos = record.find('(') + end = NextBlock(pos, record); + args = record[pos:end] + args = re.sub(r'^\(\s*', r'', args) + args = re.sub(r'\s*\)$', r'', args) + args = re.sub(r'\s*,\s*', r',', args) + struct['args'] = re.sub(r',', r', ', args) + if len(args) == 0: return struct + + pos = 0 + args = args + ',' + while pos < len(args): + ind1 = NextBlock(pos, args) # type + ind2 = NextBlock(ind1, args) # space + if args[ind2] != '(': + while ind2 < len(args): + end = NextBlock(ind2, args) + if args[end] == ',': break + else: ind2 = end + name = args[ind2:end] + else: + ind3 = NextBlock(ind2, args) # field + m = re.match(r'\(\s*\*\s*(\S+)\s*\)', args[ind2:ind3]) + if not m: + self.fatal("bad block3 '" + args + "' : '" + args[ind2:ind3] + "'") + name = m.group(1) + end = NextBlock(ind3, args) # the rest + item = args[pos:end] + struct['astr'][name] = item + struct['alst'].append(name) + if args[end] != ',': + self.fatal("no comma '" + args + "'") + pos = end + 1 + + return struct + + # parse given api + def parse(self, call): + record = '' + active = 0 + found = 0 + api_name = '' + prev_line = '' + + self.inp.seek(0) + for line in self.inp.readlines(): + record += ' ' + line[:-1] + record = re.sub(r'^\s*', r' ', record) + + if active == 0: + if self.is_start(call, record): + active = 1 + m = self.is_api(call, record) + if not m: + record = ' ' + prev_line + ' ' + record + m = self.is_api(call, record) + if not m: + self.fatal("bad api '" + line + "'") + + if active == 1: + if self.is_end(record): + args = self.get_args(record) + self.data[call] = args + active = 0 + found = 0 + + if active == 0: record = '' + prev_line = line + +############################################################# +# API description parser class +class API_DescrParser: + def fatal(self, msg): + fatal('API_DescrParser', msg) + + def __init__(self, out_file, hsa_dir, api_table_h, api_headers, license): + out_macro = re.sub(r'[\/\.]', r'_', out_file.upper()) + '_' + + self.content = '' + self.api_names = [] + self.api_calls = {} + self.api_id = {} + + api_data = {} + api_list = [] + ns_calls = [] + + for i in range(0, len(api_headers)): + (name, header) = api_headers[i] + + if i < len(api_headers) - 1: + api = API_TableParser(hsa_dir + api_table_h, name) + api_list = api.array + self.api_names.append(name) + self.api_calls[name] = api_list + else: + api_list = ns_calls + ns_calls = [] + + for call in api_list: + if call in api_data: + self.fatal("call '" + call + "' is already found") + + API_DeclParser(hsa_dir + header, api_list, api_data) + + for call in api_list: + # Not-supported functions + if not call in api_data: ns_calls.append(call) + # API ID map + self.api_id[call] = 'HSA_API_ID_' + call + + self.api_data = api_data + self.ns_calls = ns_calls + + self.content += "// automatically generated\n\n" + license + '\n' + + self.content += "/////////////////////////////////////////////////////////////////////////////\n" + self.content += "//\n" + self.content += "// HSA API tracing primitives\n" + self.content += "//\n" + for (name, header) in api_headers: + self.content += "// '" + name + "', header '" + header + "', " + str(len(self.api_calls[name])) + ' funcs\n' + for call in self.ns_calls: + self.content += '// ' + call + ' was not parsed\n' + self.content += "//\n" + self.content += "/////////////////////////////////////////////////////////////////////////////\n" + self.content += '\n' + self.content += '#ifndef ' + out_macro + '\n' + self.content += '#define ' + out_macro + '\n' + + self.add_section('API ID enumeration', ' ', self.gen_id_enum) + self.add_section('API arg structure', ' ', self.gen_arg_struct) + + self.content += '\n' + self.content += '#if PROF_API_IMPL\n' + self.content += 'namespace roctracer {\n' + self.content += 'namespace hsa_support {\n' + self.add_section('API callback functions', '', self.gen_callbacks) + self.add_section('API intercepting code', '', self.gen_intercept) + self.add_section('API get_name function', ' ', self.gen_get_name) + self.content += '\n};};\n' + self.content += '#endif // PROF_API_IMPL\n' + self.content += '\n' + + self.content += '#endif // ' + out_macro + + # add code section + def add_section(self, title, gap, fun): + n = 0 + self.content += '\n// section: ' + title + '\n\n' + fun(-1, '-', '-', {}) + for index in range(len(self.api_names)): + last = (index == len(self.api_names) - 1) + name = self.api_names[index] + if n != 0: + if gap == '': fun(n, name, '-', {}) + self.content += '\n' + self.content += gap + '// block: ' + name + ' API\n' + for call in self.api_calls[name]: + fun(n, name, call, self.api_data[call]) + n += 1 + fun(n, '-', '-', {}) + + # generate API ID enumeration + def gen_id_enum(self, n, name, call, data): + if n == -1: + self.content += 'enum hsa_api_id_t {\n' + return + if call != '-': + self.content += ' ' + self.api_id[call] + ' = ' + str(n) + ',\n' + else: + self.content += '\n' + self.content += ' HSA_API_ID_NUMBER = ' + str(n) + ',\n' + self.content += ' HSA_API_ID_ANY = ' + str(n + 1) + ',\n' + self.content += '};\n' + + # generate API args structure + def gen_arg_struct(self, n, name, call, struct): + if n == -1: + self.content += 'struct hsa_api_data_t {\n' + self.content += ' uint64_t correlation_id;\n' + self.content += ' uint32_t phase;\n' + self.content += ' union {\n' + return + if call != '-': + self.content += ' struct {\n' + for (var, item) in struct['astr'].items(): + self.content += ' ' + item + ';\n' + self.content += ' } ' + call + ';\n' + else: + self.content += ' } args;\n' + self.content += '};\n' + + # generate API callbacks + def gen_callbacks(self, n, name, call, struct): + if n == -1: + self.content += 'typedef CbTable cb_table_t;\n' + self.content += 'extern cb_table_t cb_table;\n' + self.content += '\n' + if call != '-': + call_id = self.api_id[call]; + ret_type = struct['ret'] + self.content += 'static ' + ret_type + ' ' + call + '_callback(' + struct['args'] + ') {\n' + self.content += ' hsa_api_data_t api_data{};\n' + for var in struct['astr']: + self.content += ' api_data.args.' + call + '.' + var + ' = ' + var + ';\n' + self.content += ' activity_rtapi_callback_t api_callback_fun = NULL;\n' + self.content += ' void* api_callback_arg = NULL;\n' + self.content += ' cb_table.get(' + call_id + ', &api_callback_fun, &api_callback_arg);\n' + self.content += ' api_data.phase = 0;\n' + self.content += ' if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, ' + call_id + ', &api_data, api_callback_arg);\n' + if ret_type != 'void': + self.content += ' ' + ret_type + ' ret =' + self.content += ' ' + name + '_saved.' + call + '_fn(' + ', '.join(struct['alst']) + ');\n' + self.content += ' api_data.phase = 1;\n' + self.content += ' if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, ' + call_id + ', &api_data, api_callback_arg);\n' + if ret_type != 'void': + self.content += ' return ret;\n' + self.content += '}\n' + + # generate API intercepting code + def gen_intercept(self, n, name, call, struct): + if n > 0 and call == '-': + self.content += '};\n' + if n == 0 or (call == '-' and name != '-'): + self.content += 'static void intercept_' + name + '(' + name + '* table) {\n' + self.content += ' ' + name + '_saved = *table;\n' + if call != '-': + self.content += ' table->' + call + '_fn = ' + call + '_callback;\n' + + # generate API name function + def gen_get_name(self, n, name, call, struct): + if n == -1: + self.content += 'static const char* GetApiName(const uint32_t& id) {\n' + self.content += ' switch (id) {\n' + return + if call != '-': + self.content += ' case ' + self.api_id[call] + ': return "' + call + '";\n' + else: + self.content += ' };\n' + self.content += ' return "unknown";\n' + self.content += '};\n' + +############################################################# +# main +# Usage +if len(sys.argv) != 3: + print >>sys.stderr, "Usage:", sys.argv[0], " " + sys.exit(1) +else: + ROOT = sys.argv[1] + '/' + HSA_DIR = sys.argv[2] + '/' + +descr = API_DescrParser(OUT, HSA_DIR, API_TABLES_H, API_HEADERS_H, LICENSE) + +out_file = ROOT + OUT +print 'Generating "' + out_file + '"' +f = open(out_file, 'w') +f.write(descr.content[:-1]) +f.close() +############################################################# diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 46dc131c27..de9c01cae5 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -9,3 +9,4 @@ set ( LIB_SRC add_library ( ${TARGET_LIB} SHARED ${LIB_SRC} ) target_include_directories ( ${TARGET_LIB} PRIVATE ${LIB_DIR} ${ROOT_DIR} ${ROOT_DIR}/inc ${HSA_RUNTIME_INC_PATH} ${HIP_INC_DIR} ${HCC_INC_DIR} ) target_link_libraries( ${TARGET_LIB} PRIVATE ${HSA_RUNTIME_LIB} c stdc++ ${HIP_INC_DIR}/../lib/libhip_hcc.so ) +execute_process ( COMMAND sh -xc "${ROOT_DIR}/script/hsaap.py ${ROOT_DIR} ${HSA_RUNTIME_INC_PATH}" ) diff --git a/src/core/roctracer.cpp b/src/core/roctracer.cpp index 2c22e3d84a..0e19cf6fc3 100644 --- a/src/core/roctracer.cpp +++ b/src/core/roctracer.cpp @@ -24,6 +24,9 @@ THE SOFTWARE. #include "inc/roctracer_hcc.h" #include "inc/roctracer_hip.h" +#define PROF_API_IMPL 1 +#include "inc/roctracer_hsa.h" + #include #include #include @@ -332,6 +335,17 @@ util::Logger* util::Logger::instance_ = NULL; MemoryPool* memory_pool = NULL; typedef std::recursive_mutex memory_pool_mutex_t; memory_pool_mutex_t memory_pool_mutex; + +namespace hsa_support { +// callbacks table +cb_table_t cb_table; +// Table of function pointers to HSA Core Runtime +CoreApiTable CoreApiTable_saved{}; +// Table of function pointers to AMD extensions +AmdExtTable AmdExtTable_saved{}; +// Table of function pointers to HSA Image Extension +ImageExtTable ImageExtTable_saved{}; +} } /////////////////////////////////////////////////////////////////////////////////////////////////// @@ -353,6 +367,10 @@ PUBLIC_API const char* roctracer_error_string() { PUBLIC_API const char* roctracer_id_string(const uint32_t& domain, const uint32_t& id, const uint32_t& kind) { API_METHOD_PREFIX switch (domain) { + case ACTIVITY_DOMAIN_HSA_API: { + return roctracer::hsa_support::GetApiName(id); + break; + } case ACTIVITY_DOMAIN_HCC_OPS: { return Kalmar::CLAMP::GetCmdName(kind); break; @@ -376,9 +394,22 @@ PUBLIC_API roctracer_status_t roctracer_enable_callback( { API_METHOD_PREFIX switch (domain) { - case ACTIVITY_DOMAIN_ANY: - if (id != 0) HIP_EXC_RAISING(ROCTRACER_STATUS_BAD_PARAMETER, "DOMAIN_ANY: id != 0"); - id = HIP_API_ID_ANY; + case ACTIVITY_DOMAIN_ANY: { + if (id != 0) EXC_RAISING(ROCTRACER_STATUS_BAD_PARAMETER, "DOMAIN_ANY: id != 0"); + roctracer_enable_callback(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_ANY, callback, user_data); + roctracer_enable_callback(ACTIVITY_DOMAIN_HIP_API, HIP_API_ID_ANY, callback, user_data); + break; + } + case ACTIVITY_DOMAIN_HSA_API: { + if (id == HSA_API_ID_ANY) { + for (uint32_t i = 0; i < HSA_API_ID_NUMBER; i++) { + roctracer::hsa_support::cb_table.set(i, callback, user_data); + } + } else { + roctracer::hsa_support::cb_table.set(id, callback, user_data); + } + break; + } case ACTIVITY_DOMAIN_HIP_API: { hipError_t hip_err = hipRegisterApiCallback(id, (void*)callback, user_data); if (hip_err != hipSuccess) HIP_EXC_RAISING(ROCTRACER_STATUS_HIP_API_ERR, "hipRegisterApiCallback error(" << hip_err << ")"); @@ -515,4 +546,34 @@ PUBLIC_API roctracer_status_t roctracer_flush_activity(roctracer_pool_t* pool) { API_METHOD_SUFFIX } +// Set properties +PUBLIC_API roctracer_status_t roctracer_set_properties( + roctracer_domain_t domain, + void* propertes) +{ + API_METHOD_PREFIX + switch (domain) { + case ACTIVITY_DOMAIN_HSA_API: { + HsaApiTable* table = reinterpret_cast(propertes); + roctracer::hsa_support::intercept_CoreApiTable(table->core_); + roctracer::hsa_support::intercept_AmdExtTable(table->amd_ext_); + roctracer::hsa_support::intercept_ImageExtTable(table->image_ext_); + break; + } + case ACTIVITY_DOMAIN_HCC_OPS: + case ACTIVITY_DOMAIN_HIP_API: + EXC_RAISING(ROCTRACER_STATUS_BAD_DOMAIN, "properties are not supported, domain ID(" << domain << ")"); + default: + EXC_RAISING(ROCTRACER_STATUS_BAD_DOMAIN, "invalid domain ID(" << domain << ")"); + } + API_METHOD_SUFFIX +} + +// HSA-runtime tool on-load method +PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, uint64_t failed_tool_count, + const char* const* failed_tool_names) { + roctracer_set_properties(ACTIVITY_DOMAIN_HSA_API, (void*)table); + return true; +} + } // extern "C" diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt new file mode 100644 index 0000000000..542aeb0374 --- /dev/null +++ b/test/CMakeLists.txt @@ -0,0 +1,43 @@ +################################################################################ +# Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +# THE SOFTWARE. +################################################################################ + +cmake_minimum_required ( VERSION 2.8.12 ) +set ( CMAKE_VERBOSE_MAKEFILE TRUE CACHE BOOL "Verbose Output" FORCE ) + +set ( RUN_SCRIPT "${TEST_DIR}/run.sh" ) +set ( TEST_HSA "${TEST_DIR}/hsa/test" ) +execute_process ( COMMAND sh -xc "if [ ! -e ${TEST_DIR}/hsa ] ; then git clone https://github.com/ROCmSoftwarePlatform/hsa-class.git ${TEST_DIR}/hsa; fi" ) +execute_process ( COMMAND sh -xc "if [ -e ${TEST_DIR}/hsa ] ; then cd ${TEST_DIR}/hsa && git pull --rebase; fi" ) + +## Util sources +file( GLOB UTIL_SRC "${TEST_HSA}/util/*.cpp" ) + +## Build test library +set ( TEST_LIB "tool" ) +set ( TEST_LIB_SRC ${TEST_DIR}/tool/tool.cpp ${UTIL_SRC} ) +add_library ( ${TEST_LIB} SHARED ${TEST_LIB_SRC} ) +target_include_directories ( ${TEST_LIB} PRIVATE ${TEST_HSA} ${ROOT_DIR} ${HSA_RUNTIME_INC_PATH} ) +target_link_libraries ( ${TEST_LIB} ${ROCTRACER_TARGET} ${HSA_RUNTIME_LIB} c stdc++ dl pthread rt ) + +set ( TEST_DIR ${TEST_HSA} ) +add_subdirectory ( ${TEST_DIR} ${PROJECT_BINARY_DIR}/test/hsa ) +execute_process ( COMMAND sh -xc "cp ${RUN_SCRIPT} ${PROJECT_BINARY_DIR}" ) diff --git a/test/MatrixTranspose/Makefile b/test/MatrixTranspose/Makefile index 1c0022498f..c4cae4c539 100644 --- a/test/MatrixTranspose/Makefile +++ b/test/MatrixTranspose/Makefile @@ -3,7 +3,7 @@ LIB_PATH = $(ROOT_PATH)/build LIB_NAME = roctracer64 ROC_LIBS = -L$(LIB_PATH) -l$(LIB_NAME) -EXECUTABLE = ./MatrixTranspose +EXECUTABLE = ./MatrixTranspose.exe SOURCES = MatrixTranspose.cpp OBJECTS = $(SOURCES:.cpp=.o) diff --git a/test/run.sh b/test/run.sh new file mode 100755 index 0000000000..b562f06421 --- /dev/null +++ b/test/run.sh @@ -0,0 +1,55 @@ +#!/bin/sh + +################################################################################ +# Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +# THE SOFTWARE. +################################################################################ + +# enable tools load failure reporting +export HSA_TOOLS_REPORT_LOAD_FAILURE=1 +# test trace +export ROC_TEST_TRACE=1 + +# kernels loading iterations +export ROCP_KITER=1 +# kernels dispatching iterations per kernel load +# dispatching to the same queue +export ROCP_DITER=1 +# GPU agents number +export ROCP_AGENTS=1 +# host threads number +# each thread creates a queue pre GPU agent +export ROCP_THRS=1 + +#eval ./test_hsa/ctrl + +# paths to ROC profiler and oher libraries +export LD_LIBRARY_PATH=$PWD +# ROC profiler library loaded by HSA runtime +export HSA_TOOLS_LIB="test/libtool.so libroctracer64.so" +export LD_PRELOAD="libroctracer64.so" + +eval ./test/hsa/ctrl + +#valgrind --leak-check=full $tbin +#valgrind --tool=massif $tbin +#ms_print massif.out. + +exit 0 diff --git a/test/tool/tool.cpp b/test/tool/tool.cpp new file mode 100644 index 0000000000..f8b46c14d2 --- /dev/null +++ b/test/tool/tool.cpp @@ -0,0 +1,61 @@ +/* +Copyright (c) 2015-2016 Advanced Micro Devices, Inc. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +*/ + +#include +#include +#include + +#define PUBLIC_API __attribute__((visibility("default"))) +#define CONSTRUCTOR_API __attribute__((constructor)) +#define DESTRUCTOR_API __attribute__((destructor)) + +typedef hsa_rt_utils::Timer::timestamp_t timestamp_t; +hsa_rt_utils::Timer timer; +thread_local timestamp_t begin_timestamp = 0; + +// HSA API callback function +void hsa_api_callback( + uint32_t domain, + uint32_t cid, + const void* callback_data, + void* arg) +{ + (void)arg; + + const hsa_api_data_t* data = reinterpret_cast(callback_data); + if (data->phase == ACTIVITY_API_PHASE_ENTER) { + begin_timestamp = timer.timestamp_fn_ns(); + } else { + timestamp_t duration_ns = (cid == HSA_API_ID_hsa_shut_down) ? 0 : timer.timestamp_fn_ns() - begin_timestamp; + fprintf(stdout, "%s,%luns\n", roctracer_id_string(domain, cid, 0), duration_ns); + } +} + +extern "C" { +// HSA-runtime tool on-load method +PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, uint64_t failed_tool_count, + const char* const* failed_tool_names) { + timer.init(table->core_->hsa_system_get_info_fn); + roctracer_enable_callback(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_ANY, hsa_api_callback, NULL); + return true; +} +} From cb8334f4d5e7b3ca4064c1787020c15d329ff1c0 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Mon, 3 Dec 2018 08:29:29 -0600 Subject: [PATCH 044/691] trace HSA API args --- inc/hsa_prof_str.h | 2525 +++++++++++++++++++++++++++++++++++++++---- inc/roctracer_hsa.h | 77 ++ script/hsaap.py | 81 +- test/CMakeLists.txt | 2 +- test/run.sh | 2 +- test/tool/tool.cpp | 12 +- 6 files changed, 2502 insertions(+), 197 deletions(-) diff --git a/inc/hsa_prof_str.h b/inc/hsa_prof_str.h index 2565008aea..79ddb5ff76 100644 --- a/inc/hsa_prof_str.h +++ b/inc/hsa_prof_str.h @@ -232,6 +232,12 @@ enum hsa_api_id_t { struct hsa_api_data_t { uint64_t correlation_id; uint32_t phase; + union { + hsa_status_t hsa_status_t_retval; + uint64_t uint64_t_retval; + hsa_signal_value_t hsa_signal_value_t_retval; + uint32_t uint32_t_retval; + }; union { // block: CoreApiTable API struct { @@ -1162,6 +1168,7 @@ static hsa_status_t hsa_init_callback() { api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_init, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_init_fn(); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_init, &api_data, api_callback_arg); return ret; @@ -1174,6 +1181,7 @@ static hsa_status_t hsa_shut_down_callback() { api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_shut_down, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_shut_down_fn(); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_shut_down, &api_data, api_callback_arg); return ret; @@ -1188,38 +1196,41 @@ static hsa_status_t hsa_system_get_info_callback(hsa_system_info_t attribute, vo api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_system_get_info, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_system_get_info_fn(attribute, value); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_system_get_info, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_system_extension_supported_callback(uint16_t extension, uint16_t version_major, uint16_t version_minor, bool* result) { hsa_api_data_t api_data{}; - api_data.args.hsa_system_extension_supported.version_minor = version_minor; - api_data.args.hsa_system_extension_supported.result = result; api_data.args.hsa_system_extension_supported.extension = extension; api_data.args.hsa_system_extension_supported.version_major = version_major; + api_data.args.hsa_system_extension_supported.version_minor = version_minor; + api_data.args.hsa_system_extension_supported.result = result; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_system_extension_supported, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_system_extension_supported, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_system_extension_supported_fn(extension, version_major, version_minor, result); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_system_extension_supported, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_system_get_extension_table_callback(uint16_t extension, uint16_t version_major, uint16_t version_minor, void* table) { hsa_api_data_t api_data{}; - api_data.args.hsa_system_get_extension_table.table = table; - api_data.args.hsa_system_get_extension_table.version_minor = version_minor; api_data.args.hsa_system_get_extension_table.extension = extension; api_data.args.hsa_system_get_extension_table.version_major = version_major; + api_data.args.hsa_system_get_extension_table.version_minor = version_minor; + api_data.args.hsa_system_get_extension_table.table = table; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_system_get_extension_table, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_system_get_extension_table, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_system_get_extension_table_fn(extension, version_major, version_minor, table); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_system_get_extension_table, &api_data, api_callback_arg); return ret; @@ -1234,59 +1245,63 @@ static hsa_status_t hsa_iterate_agents_callback(hsa_status_t (* callback)(hsa_ag api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_iterate_agents, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_iterate_agents_fn(callback, data); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_iterate_agents, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_agent_get_info_callback(hsa_agent_t agent, hsa_agent_info_t attribute, void* value) { hsa_api_data_t api_data{}; + api_data.args.hsa_agent_get_info.agent = agent; api_data.args.hsa_agent_get_info.attribute = attribute; api_data.args.hsa_agent_get_info.value = value; - api_data.args.hsa_agent_get_info.agent = agent; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_agent_get_info, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_agent_get_info, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_agent_get_info_fn(agent, attribute, value); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_agent_get_info, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_queue_create_callback(hsa_agent_t agent, uint32_t size, hsa_queue_type32_t type, void (* callback)(hsa_status_t status, hsa_queue_t* source, void* data), void* data, uint32_t private_segment_size, uint32_t group_segment_size, hsa_queue_t** queue) { hsa_api_data_t api_data{}; - api_data.args.hsa_queue_create.private_segment_size = private_segment_size; - api_data.args.hsa_queue_create.data = data; api_data.args.hsa_queue_create.agent = agent; - api_data.args.hsa_queue_create.queue = queue; - api_data.args.hsa_queue_create.callback = callback; - api_data.args.hsa_queue_create.group_segment_size = group_segment_size; - api_data.args.hsa_queue_create.type = type; api_data.args.hsa_queue_create.size = size; + api_data.args.hsa_queue_create.type = type; + api_data.args.hsa_queue_create.callback = callback; + api_data.args.hsa_queue_create.data = data; + api_data.args.hsa_queue_create.private_segment_size = private_segment_size; + api_data.args.hsa_queue_create.group_segment_size = group_segment_size; + api_data.args.hsa_queue_create.queue = queue; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_queue_create, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_create, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_queue_create_fn(agent, size, type, callback, data, private_segment_size, group_segment_size, queue); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_create, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_soft_queue_create_callback(hsa_region_t region, uint32_t size, hsa_queue_type32_t type, uint32_t features, hsa_signal_t doorbell_signal, hsa_queue_t** queue) { hsa_api_data_t api_data{}; - api_data.args.hsa_soft_queue_create.features = features; api_data.args.hsa_soft_queue_create.region = region; - api_data.args.hsa_soft_queue_create.queue = queue; - api_data.args.hsa_soft_queue_create.doorbell_signal = doorbell_signal; - api_data.args.hsa_soft_queue_create.type = type; api_data.args.hsa_soft_queue_create.size = size; + api_data.args.hsa_soft_queue_create.type = type; + api_data.args.hsa_soft_queue_create.features = features; + api_data.args.hsa_soft_queue_create.doorbell_signal = doorbell_signal; + api_data.args.hsa_soft_queue_create.queue = queue; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_soft_queue_create, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_soft_queue_create, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_soft_queue_create_fn(region, size, type, features, doorbell_signal, queue); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_soft_queue_create, &api_data, api_callback_arg); return ret; @@ -1300,6 +1315,7 @@ static hsa_status_t hsa_queue_destroy_callback(hsa_queue_t* queue) { api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_destroy, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_queue_destroy_fn(queue); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_destroy, &api_data, api_callback_arg); return ret; @@ -1313,6 +1329,7 @@ static hsa_status_t hsa_queue_inactivate_callback(hsa_queue_t* queue) { api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_inactivate, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_queue_inactivate_fn(queue); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_inactivate, &api_data, api_callback_arg); return ret; @@ -1326,6 +1343,7 @@ static uint64_t hsa_queue_load_read_index_scacquire_callback(const hsa_queue_t* api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_load_read_index_scacquire, &api_data, api_callback_arg); uint64_t ret = CoreApiTable_saved.hsa_queue_load_read_index_scacquire_fn(queue); + api_data.uint64_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_load_read_index_scacquire, &api_data, api_callback_arg); return ret; @@ -1339,6 +1357,7 @@ static uint64_t hsa_queue_load_read_index_relaxed_callback(const hsa_queue_t* qu api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_load_read_index_relaxed, &api_data, api_callback_arg); uint64_t ret = CoreApiTable_saved.hsa_queue_load_read_index_relaxed_fn(queue); + api_data.uint64_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_load_read_index_relaxed, &api_data, api_callback_arg); return ret; @@ -1352,6 +1371,7 @@ static uint64_t hsa_queue_load_write_index_scacquire_callback(const hsa_queue_t* api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_load_write_index_scacquire, &api_data, api_callback_arg); uint64_t ret = CoreApiTable_saved.hsa_queue_load_write_index_scacquire_fn(queue); + api_data.uint64_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_load_write_index_scacquire, &api_data, api_callback_arg); return ret; @@ -1365,6 +1385,7 @@ static uint64_t hsa_queue_load_write_index_relaxed_callback(const hsa_queue_t* q api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_load_write_index_relaxed, &api_data, api_callback_arg); uint64_t ret = CoreApiTable_saved.hsa_queue_load_write_index_relaxed_fn(queue); + api_data.uint64_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_load_write_index_relaxed, &api_data, api_callback_arg); return ret; @@ -1406,6 +1427,7 @@ static uint64_t hsa_queue_cas_write_index_scacq_screl_callback(const hsa_queue_t api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_cas_write_index_scacq_screl, &api_data, api_callback_arg); uint64_t ret = CoreApiTable_saved.hsa_queue_cas_write_index_scacq_screl_fn(queue, expected, value); + api_data.uint64_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_cas_write_index_scacq_screl, &api_data, api_callback_arg); return ret; @@ -1421,6 +1443,7 @@ static uint64_t hsa_queue_cas_write_index_scacquire_callback(const hsa_queue_t* api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_cas_write_index_scacquire, &api_data, api_callback_arg); uint64_t ret = CoreApiTable_saved.hsa_queue_cas_write_index_scacquire_fn(queue, expected, value); + api_data.uint64_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_cas_write_index_scacquire, &api_data, api_callback_arg); return ret; @@ -1436,6 +1459,7 @@ static uint64_t hsa_queue_cas_write_index_relaxed_callback(const hsa_queue_t* qu api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_cas_write_index_relaxed, &api_data, api_callback_arg); uint64_t ret = CoreApiTable_saved.hsa_queue_cas_write_index_relaxed_fn(queue, expected, value); + api_data.uint64_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_cas_write_index_relaxed, &api_data, api_callback_arg); return ret; @@ -1451,6 +1475,7 @@ static uint64_t hsa_queue_cas_write_index_screlease_callback(const hsa_queue_t* api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_cas_write_index_screlease, &api_data, api_callback_arg); uint64_t ret = CoreApiTable_saved.hsa_queue_cas_write_index_screlease_fn(queue, expected, value); + api_data.uint64_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_cas_write_index_screlease, &api_data, api_callback_arg); return ret; @@ -1465,6 +1490,7 @@ static uint64_t hsa_queue_add_write_index_scacq_screl_callback(const hsa_queue_t api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_add_write_index_scacq_screl, &api_data, api_callback_arg); uint64_t ret = CoreApiTable_saved.hsa_queue_add_write_index_scacq_screl_fn(queue, value); + api_data.uint64_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_add_write_index_scacq_screl, &api_data, api_callback_arg); return ret; @@ -1479,6 +1505,7 @@ static uint64_t hsa_queue_add_write_index_scacquire_callback(const hsa_queue_t* api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_add_write_index_scacquire, &api_data, api_callback_arg); uint64_t ret = CoreApiTable_saved.hsa_queue_add_write_index_scacquire_fn(queue, value); + api_data.uint64_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_add_write_index_scacquire, &api_data, api_callback_arg); return ret; @@ -1493,6 +1520,7 @@ static uint64_t hsa_queue_add_write_index_relaxed_callback(const hsa_queue_t* qu api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_add_write_index_relaxed, &api_data, api_callback_arg); uint64_t ret = CoreApiTable_saved.hsa_queue_add_write_index_relaxed_fn(queue, value); + api_data.uint64_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_add_write_index_relaxed, &api_data, api_callback_arg); return ret; @@ -1507,6 +1535,7 @@ static uint64_t hsa_queue_add_write_index_screlease_callback(const hsa_queue_t* api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_add_write_index_screlease, &api_data, api_callback_arg); uint64_t ret = CoreApiTable_saved.hsa_queue_add_write_index_screlease_fn(queue, value); + api_data.uint64_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_add_write_index_screlease, &api_data, api_callback_arg); return ret; @@ -1539,23 +1568,24 @@ static void hsa_queue_store_read_index_screlease_callback(const hsa_queue_t* que } static hsa_status_t hsa_agent_iterate_regions_callback(hsa_agent_t agent, hsa_status_t (* callback)(hsa_region_t region, void* data), void* data) { hsa_api_data_t api_data{}; + api_data.args.hsa_agent_iterate_regions.agent = agent; api_data.args.hsa_agent_iterate_regions.callback = callback; api_data.args.hsa_agent_iterate_regions.data = data; - api_data.args.hsa_agent_iterate_regions.agent = agent; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_agent_iterate_regions, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_agent_iterate_regions, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_agent_iterate_regions_fn(agent, callback, data); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_agent_iterate_regions, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_region_get_info_callback(hsa_region_t region, hsa_region_info_t attribute, void* value) { hsa_api_data_t api_data{}; - api_data.args.hsa_region_get_info.attribute = attribute; api_data.args.hsa_region_get_info.region = region; + api_data.args.hsa_region_get_info.attribute = attribute; api_data.args.hsa_region_get_info.value = value; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; @@ -1563,38 +1593,41 @@ static hsa_status_t hsa_region_get_info_callback(hsa_region_t region, hsa_region api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_region_get_info, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_region_get_info_fn(region, attribute, value); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_region_get_info, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_agent_get_exception_policies_callback(hsa_agent_t agent, hsa_profile_t profile, uint16_t* mask) { hsa_api_data_t api_data{}; + api_data.args.hsa_agent_get_exception_policies.agent = agent; api_data.args.hsa_agent_get_exception_policies.profile = profile; api_data.args.hsa_agent_get_exception_policies.mask = mask; - api_data.args.hsa_agent_get_exception_policies.agent = agent; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_agent_get_exception_policies, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_agent_get_exception_policies, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_agent_get_exception_policies_fn(agent, profile, mask); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_agent_get_exception_policies, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_agent_extension_supported_callback(uint16_t extension, hsa_agent_t agent, uint16_t version_major, uint16_t version_minor, bool* result) { hsa_api_data_t api_data{}; - api_data.args.hsa_agent_extension_supported.result = result; - api_data.args.hsa_agent_extension_supported.version_minor = version_minor; - api_data.args.hsa_agent_extension_supported.agent = agent; api_data.args.hsa_agent_extension_supported.extension = extension; + api_data.args.hsa_agent_extension_supported.agent = agent; api_data.args.hsa_agent_extension_supported.version_major = version_major; + api_data.args.hsa_agent_extension_supported.version_minor = version_minor; + api_data.args.hsa_agent_extension_supported.result = result; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_agent_extension_supported, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_agent_extension_supported, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_agent_extension_supported_fn(extension, agent, version_major, version_minor, result); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_agent_extension_supported, &api_data, api_callback_arg); return ret; @@ -1609,6 +1642,7 @@ static hsa_status_t hsa_memory_register_callback(void* ptr, size_t size) { api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_memory_register, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_memory_register_fn(ptr, size); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_memory_register, &api_data, api_callback_arg); return ret; @@ -1623,6 +1657,7 @@ static hsa_status_t hsa_memory_deregister_callback(void* ptr, size_t size) { api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_memory_deregister, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_memory_deregister_fn(ptr, size); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_memory_deregister, &api_data, api_callback_arg); return ret; @@ -1630,14 +1665,15 @@ static hsa_status_t hsa_memory_deregister_callback(void* ptr, size_t size) { static hsa_status_t hsa_memory_allocate_callback(hsa_region_t region, size_t size, void** ptr) { hsa_api_data_t api_data{}; api_data.args.hsa_memory_allocate.region = region; - api_data.args.hsa_memory_allocate.ptr = ptr; api_data.args.hsa_memory_allocate.size = size; + api_data.args.hsa_memory_allocate.ptr = ptr; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_memory_allocate, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_memory_allocate, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_memory_allocate_fn(region, size, ptr); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_memory_allocate, &api_data, api_callback_arg); return ret; @@ -1651,14 +1687,15 @@ static hsa_status_t hsa_memory_free_callback(void* ptr) { api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_memory_free, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_memory_free_fn(ptr); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_memory_free, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_memory_copy_callback(void* dst, const void* src, size_t size) { hsa_api_data_t api_data{}; - api_data.args.hsa_memory_copy.src = src; api_data.args.hsa_memory_copy.dst = dst; + api_data.args.hsa_memory_copy.src = src; api_data.args.hsa_memory_copy.size = size; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; @@ -1666,37 +1703,40 @@ static hsa_status_t hsa_memory_copy_callback(void* dst, const void* src, size_t api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_memory_copy, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_memory_copy_fn(dst, src, size); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_memory_copy, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_memory_assign_agent_callback(void* ptr, hsa_agent_t agent, hsa_access_permission_t access) { hsa_api_data_t api_data{}; - api_data.args.hsa_memory_assign_agent.access = access; api_data.args.hsa_memory_assign_agent.ptr = ptr; api_data.args.hsa_memory_assign_agent.agent = agent; + api_data.args.hsa_memory_assign_agent.access = access; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_memory_assign_agent, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_memory_assign_agent, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_memory_assign_agent_fn(ptr, agent, access); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_memory_assign_agent, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_signal_create_callback(hsa_signal_value_t initial_value, uint32_t num_consumers, const hsa_agent_t* consumers, hsa_signal_t* signal) { hsa_api_data_t api_data{}; - api_data.args.hsa_signal_create.signal = signal; + api_data.args.hsa_signal_create.initial_value = initial_value; api_data.args.hsa_signal_create.num_consumers = num_consumers; api_data.args.hsa_signal_create.consumers = consumers; - api_data.args.hsa_signal_create.initial_value = initial_value; + api_data.args.hsa_signal_create.signal = signal; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_signal_create, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_create, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_signal_create_fn(initial_value, num_consumers, consumers, signal); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_create, &api_data, api_callback_arg); return ret; @@ -1710,6 +1750,7 @@ static hsa_status_t hsa_signal_destroy_callback(hsa_signal_t signal) { api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_destroy, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_signal_destroy_fn(signal); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_destroy, &api_data, api_callback_arg); return ret; @@ -1723,6 +1764,7 @@ static hsa_signal_value_t hsa_signal_load_relaxed_callback(hsa_signal_t signal) api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_load_relaxed, &api_data, api_callback_arg); hsa_signal_value_t ret = CoreApiTable_saved.hsa_signal_load_relaxed_fn(signal); + api_data.hsa_signal_value_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_load_relaxed, &api_data, api_callback_arg); return ret; @@ -1736,6 +1778,7 @@ static hsa_signal_value_t hsa_signal_load_scacquire_callback(hsa_signal_t signal api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_load_scacquire, &api_data, api_callback_arg); hsa_signal_value_t ret = CoreApiTable_saved.hsa_signal_load_scacquire_fn(signal); + api_data.hsa_signal_value_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_load_scacquire, &api_data, api_callback_arg); return ret; @@ -1769,16 +1812,17 @@ static void hsa_signal_store_screlease_callback(hsa_signal_t signal, hsa_signal_ static hsa_signal_value_t hsa_signal_wait_relaxed_callback(hsa_signal_t signal, hsa_signal_condition_t condition, hsa_signal_value_t compare_value, uint64_t timeout_hint, hsa_wait_state_t wait_state_hint) { hsa_api_data_t api_data{}; api_data.args.hsa_signal_wait_relaxed.signal = signal; + api_data.args.hsa_signal_wait_relaxed.condition = condition; + api_data.args.hsa_signal_wait_relaxed.compare_value = compare_value; api_data.args.hsa_signal_wait_relaxed.timeout_hint = timeout_hint; api_data.args.hsa_signal_wait_relaxed.wait_state_hint = wait_state_hint; - api_data.args.hsa_signal_wait_relaxed.compare_value = compare_value; - api_data.args.hsa_signal_wait_relaxed.condition = condition; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_signal_wait_relaxed, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_wait_relaxed, &api_data, api_callback_arg); hsa_signal_value_t ret = CoreApiTable_saved.hsa_signal_wait_relaxed_fn(signal, condition, compare_value, timeout_hint, wait_state_hint); + api_data.hsa_signal_value_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_wait_relaxed, &api_data, api_callback_arg); return ret; @@ -1786,16 +1830,17 @@ static hsa_signal_value_t hsa_signal_wait_relaxed_callback(hsa_signal_t signal, static hsa_signal_value_t hsa_signal_wait_scacquire_callback(hsa_signal_t signal, hsa_signal_condition_t condition, hsa_signal_value_t compare_value, uint64_t timeout_hint, hsa_wait_state_t wait_state_hint) { hsa_api_data_t api_data{}; api_data.args.hsa_signal_wait_scacquire.signal = signal; + api_data.args.hsa_signal_wait_scacquire.condition = condition; + api_data.args.hsa_signal_wait_scacquire.compare_value = compare_value; api_data.args.hsa_signal_wait_scacquire.timeout_hint = timeout_hint; api_data.args.hsa_signal_wait_scacquire.wait_state_hint = wait_state_hint; - api_data.args.hsa_signal_wait_scacquire.compare_value = compare_value; - api_data.args.hsa_signal_wait_scacquire.condition = condition; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_signal_wait_scacquire, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_wait_scacquire, &api_data, api_callback_arg); hsa_signal_value_t ret = CoreApiTable_saved.hsa_signal_wait_scacquire_fn(signal, condition, compare_value, timeout_hint, wait_state_hint); + api_data.hsa_signal_value_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_wait_scacquire, &api_data, api_callback_arg); return ret; @@ -1966,6 +2011,7 @@ static hsa_signal_value_t hsa_signal_exchange_relaxed_callback(hsa_signal_t sign api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_exchange_relaxed, &api_data, api_callback_arg); hsa_signal_value_t ret = CoreApiTable_saved.hsa_signal_exchange_relaxed_fn(signal, value); + api_data.hsa_signal_value_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_exchange_relaxed, &api_data, api_callback_arg); return ret; @@ -1980,6 +2026,7 @@ static hsa_signal_value_t hsa_signal_exchange_scacquire_callback(hsa_signal_t si api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_exchange_scacquire, &api_data, api_callback_arg); hsa_signal_value_t ret = CoreApiTable_saved.hsa_signal_exchange_scacquire_fn(signal, value); + api_data.hsa_signal_value_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_exchange_scacquire, &api_data, api_callback_arg); return ret; @@ -1994,6 +2041,7 @@ static hsa_signal_value_t hsa_signal_exchange_screlease_callback(hsa_signal_t si api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_exchange_screlease, &api_data, api_callback_arg); hsa_signal_value_t ret = CoreApiTable_saved.hsa_signal_exchange_screlease_fn(signal, value); + api_data.hsa_signal_value_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_exchange_screlease, &api_data, api_callback_arg); return ret; @@ -2008,6 +2056,7 @@ static hsa_signal_value_t hsa_signal_exchange_scacq_screl_callback(hsa_signal_t api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_exchange_scacq_screl, &api_data, api_callback_arg); hsa_signal_value_t ret = CoreApiTable_saved.hsa_signal_exchange_scacq_screl_fn(signal, value); + api_data.hsa_signal_value_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_exchange_scacq_screl, &api_data, api_callback_arg); return ret; @@ -2118,8 +2167,8 @@ static void hsa_signal_subtract_scacq_screl_callback(hsa_signal_t signal, hsa_si } static hsa_signal_value_t hsa_signal_cas_relaxed_callback(hsa_signal_t signal, hsa_signal_value_t expected, hsa_signal_value_t value) { hsa_api_data_t api_data{}; - api_data.args.hsa_signal_cas_relaxed.expected = expected; api_data.args.hsa_signal_cas_relaxed.signal = signal; + api_data.args.hsa_signal_cas_relaxed.expected = expected; api_data.args.hsa_signal_cas_relaxed.value = value; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; @@ -2127,14 +2176,15 @@ static hsa_signal_value_t hsa_signal_cas_relaxed_callback(hsa_signal_t signal, h api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_cas_relaxed, &api_data, api_callback_arg); hsa_signal_value_t ret = CoreApiTable_saved.hsa_signal_cas_relaxed_fn(signal, expected, value); + api_data.hsa_signal_value_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_cas_relaxed, &api_data, api_callback_arg); return ret; } static hsa_signal_value_t hsa_signal_cas_scacquire_callback(hsa_signal_t signal, hsa_signal_value_t expected, hsa_signal_value_t value) { hsa_api_data_t api_data{}; - api_data.args.hsa_signal_cas_scacquire.expected = expected; api_data.args.hsa_signal_cas_scacquire.signal = signal; + api_data.args.hsa_signal_cas_scacquire.expected = expected; api_data.args.hsa_signal_cas_scacquire.value = value; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; @@ -2142,14 +2192,15 @@ static hsa_signal_value_t hsa_signal_cas_scacquire_callback(hsa_signal_t signal, api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_cas_scacquire, &api_data, api_callback_arg); hsa_signal_value_t ret = CoreApiTable_saved.hsa_signal_cas_scacquire_fn(signal, expected, value); + api_data.hsa_signal_value_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_cas_scacquire, &api_data, api_callback_arg); return ret; } static hsa_signal_value_t hsa_signal_cas_screlease_callback(hsa_signal_t signal, hsa_signal_value_t expected, hsa_signal_value_t value) { hsa_api_data_t api_data{}; - api_data.args.hsa_signal_cas_screlease.expected = expected; api_data.args.hsa_signal_cas_screlease.signal = signal; + api_data.args.hsa_signal_cas_screlease.expected = expected; api_data.args.hsa_signal_cas_screlease.value = value; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; @@ -2157,14 +2208,15 @@ static hsa_signal_value_t hsa_signal_cas_screlease_callback(hsa_signal_t signal, api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_cas_screlease, &api_data, api_callback_arg); hsa_signal_value_t ret = CoreApiTable_saved.hsa_signal_cas_screlease_fn(signal, expected, value); + api_data.hsa_signal_value_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_cas_screlease, &api_data, api_callback_arg); return ret; } static hsa_signal_value_t hsa_signal_cas_scacq_screl_callback(hsa_signal_t signal, hsa_signal_value_t expected, hsa_signal_value_t value) { hsa_api_data_t api_data{}; - api_data.args.hsa_signal_cas_scacq_screl.expected = expected; api_data.args.hsa_signal_cas_scacq_screl.signal = signal; + api_data.args.hsa_signal_cas_scacq_screl.expected = expected; api_data.args.hsa_signal_cas_scacq_screl.value = value; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; @@ -2172,36 +2224,39 @@ static hsa_signal_value_t hsa_signal_cas_scacq_screl_callback(hsa_signal_t signa api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_cas_scacq_screl, &api_data, api_callback_arg); hsa_signal_value_t ret = CoreApiTable_saved.hsa_signal_cas_scacq_screl_fn(signal, expected, value); + api_data.hsa_signal_value_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_cas_scacq_screl, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_isa_from_name_callback(const char* name, hsa_isa_t* isa) { hsa_api_data_t api_data{}; - api_data.args.hsa_isa_from_name.isa = isa; api_data.args.hsa_isa_from_name.name = name; + api_data.args.hsa_isa_from_name.isa = isa; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_isa_from_name, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_isa_from_name, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_isa_from_name_fn(name, isa); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_isa_from_name, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_isa_get_info_callback(hsa_isa_t isa, hsa_isa_info_t attribute, uint32_t index, void* value) { hsa_api_data_t api_data{}; - api_data.args.hsa_isa_get_info.attribute = attribute; api_data.args.hsa_isa_get_info.isa = isa; - api_data.args.hsa_isa_get_info.value = value; + api_data.args.hsa_isa_get_info.attribute = attribute; api_data.args.hsa_isa_get_info.index = index; + api_data.args.hsa_isa_get_info.value = value; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_isa_get_info, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_isa_get_info, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_isa_get_info_fn(isa, attribute, index, value); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_isa_get_info, &api_data, api_callback_arg); return ret; @@ -2209,32 +2264,34 @@ static hsa_status_t hsa_isa_get_info_callback(hsa_isa_t isa, hsa_isa_info_t attr static hsa_status_t hsa_isa_compatible_callback(hsa_isa_t code_object_isa, hsa_isa_t agent_isa, bool* result) { hsa_api_data_t api_data{}; api_data.args.hsa_isa_compatible.code_object_isa = code_object_isa; - api_data.args.hsa_isa_compatible.result = result; api_data.args.hsa_isa_compatible.agent_isa = agent_isa; + api_data.args.hsa_isa_compatible.result = result; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_isa_compatible, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_isa_compatible, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_isa_compatible_fn(code_object_isa, agent_isa, result); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_isa_compatible, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_code_object_serialize_callback(hsa_code_object_t code_object, hsa_status_t (* alloc_callback)(size_t size, hsa_callback_data_t data, void** address), hsa_callback_data_t callback_data, const char* options, void** serialized_code_object, size_t* serialized_code_object_size) { hsa_api_data_t api_data{}; - api_data.args.hsa_code_object_serialize.callback_data = callback_data; api_data.args.hsa_code_object_serialize.code_object = code_object; + api_data.args.hsa_code_object_serialize.alloc_callback = alloc_callback; + api_data.args.hsa_code_object_serialize.callback_data = callback_data; + api_data.args.hsa_code_object_serialize.options = options; api_data.args.hsa_code_object_serialize.serialized_code_object = serialized_code_object; api_data.args.hsa_code_object_serialize.serialized_code_object_size = serialized_code_object_size; - api_data.args.hsa_code_object_serialize.alloc_callback = alloc_callback; - api_data.args.hsa_code_object_serialize.options = options; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_code_object_serialize, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_code_object_serialize, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_code_object_serialize_fn(code_object, alloc_callback, callback_data, options, serialized_code_object, serialized_code_object_size); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_code_object_serialize, &api_data, api_callback_arg); return ret; @@ -2243,14 +2300,15 @@ static hsa_status_t hsa_code_object_deserialize_callback(void* serialized_code_o hsa_api_data_t api_data{}; api_data.args.hsa_code_object_deserialize.serialized_code_object = serialized_code_object; api_data.args.hsa_code_object_deserialize.serialized_code_object_size = serialized_code_object_size; - api_data.args.hsa_code_object_deserialize.code_object = code_object; api_data.args.hsa_code_object_deserialize.options = options; + api_data.args.hsa_code_object_deserialize.code_object = code_object; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_code_object_deserialize, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_code_object_deserialize, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_code_object_deserialize_fn(serialized_code_object, serialized_code_object_size, options, code_object); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_code_object_deserialize, &api_data, api_callback_arg); return ret; @@ -2264,14 +2322,15 @@ static hsa_status_t hsa_code_object_destroy_callback(hsa_code_object_t code_obje api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_code_object_destroy, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_code_object_destroy_fn(code_object); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_code_object_destroy, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_code_object_get_info_callback(hsa_code_object_t code_object, hsa_code_object_info_t attribute, void* value) { hsa_api_data_t api_data{}; - api_data.args.hsa_code_object_get_info.attribute = attribute; api_data.args.hsa_code_object_get_info.code_object = code_object; + api_data.args.hsa_code_object_get_info.attribute = attribute; api_data.args.hsa_code_object_get_info.value = value; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; @@ -2279,21 +2338,23 @@ static hsa_status_t hsa_code_object_get_info_callback(hsa_code_object_t code_obj api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_code_object_get_info, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_code_object_get_info_fn(code_object, attribute, value); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_code_object_get_info, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_code_object_get_symbol_callback(hsa_code_object_t code_object, const char* symbol_name, hsa_code_symbol_t* symbol) { hsa_api_data_t api_data{}; - api_data.args.hsa_code_object_get_symbol.symbol = symbol; api_data.args.hsa_code_object_get_symbol.code_object = code_object; api_data.args.hsa_code_object_get_symbol.symbol_name = symbol_name; + api_data.args.hsa_code_object_get_symbol.symbol = symbol; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_code_object_get_symbol, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_code_object_get_symbol, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_code_object_get_symbol_fn(code_object, symbol_name, symbol); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_code_object_get_symbol, &api_data, api_callback_arg); return ret; @@ -2301,22 +2362,23 @@ static hsa_status_t hsa_code_object_get_symbol_callback(hsa_code_object_t code_o static hsa_status_t hsa_code_symbol_get_info_callback(hsa_code_symbol_t code_symbol, hsa_code_symbol_info_t attribute, void* value) { hsa_api_data_t api_data{}; api_data.args.hsa_code_symbol_get_info.code_symbol = code_symbol; - api_data.args.hsa_code_symbol_get_info.value = value; api_data.args.hsa_code_symbol_get_info.attribute = attribute; + api_data.args.hsa_code_symbol_get_info.value = value; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_code_symbol_get_info, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_code_symbol_get_info, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_code_symbol_get_info_fn(code_symbol, attribute, value); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_code_symbol_get_info, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_code_object_iterate_symbols_callback(hsa_code_object_t code_object, hsa_status_t (* callback)(hsa_code_object_t code_object, hsa_code_symbol_t symbol, void* data), void* data) { hsa_api_data_t api_data{}; - api_data.args.hsa_code_object_iterate_symbols.callback = callback; api_data.args.hsa_code_object_iterate_symbols.code_object = code_object; + api_data.args.hsa_code_object_iterate_symbols.callback = callback; api_data.args.hsa_code_object_iterate_symbols.data = data; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; @@ -2324,6 +2386,7 @@ static hsa_status_t hsa_code_object_iterate_symbols_callback(hsa_code_object_t c api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_code_object_iterate_symbols, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_code_object_iterate_symbols_fn(code_object, callback, data); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_code_object_iterate_symbols, &api_data, api_callback_arg); return ret; @@ -2332,14 +2395,15 @@ static hsa_status_t hsa_executable_create_callback(hsa_profile_t profile, hsa_ex hsa_api_data_t api_data{}; api_data.args.hsa_executable_create.profile = profile; api_data.args.hsa_executable_create.executable_state = executable_state; - api_data.args.hsa_executable_create.executable = executable; api_data.args.hsa_executable_create.options = options; + api_data.args.hsa_executable_create.executable = executable; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_executable_create, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_create, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_executable_create_fn(profile, executable_state, options, executable); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_create, &api_data, api_callback_arg); return ret; @@ -2353,6 +2417,7 @@ static hsa_status_t hsa_executable_destroy_callback(hsa_executable_t executable) api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_destroy, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_executable_destroy_fn(executable); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_destroy, &api_data, api_callback_arg); return ret; @@ -2360,15 +2425,16 @@ static hsa_status_t hsa_executable_destroy_callback(hsa_executable_t executable) static hsa_status_t hsa_executable_load_code_object_callback(hsa_executable_t executable, hsa_agent_t agent, hsa_code_object_t code_object, const char* options) { hsa_api_data_t api_data{}; api_data.args.hsa_executable_load_code_object.executable = executable; + api_data.args.hsa_executable_load_code_object.agent = agent; api_data.args.hsa_executable_load_code_object.code_object = code_object; api_data.args.hsa_executable_load_code_object.options = options; - api_data.args.hsa_executable_load_code_object.agent = agent; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_executable_load_code_object, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_load_code_object, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_executable_load_code_object_fn(executable, agent, code_object, options); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_load_code_object, &api_data, api_callback_arg); return ret; @@ -2383,14 +2449,15 @@ static hsa_status_t hsa_executable_freeze_callback(hsa_executable_t executable, api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_freeze, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_executable_freeze_fn(executable, options); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_freeze, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_executable_get_info_callback(hsa_executable_t executable, hsa_executable_info_t attribute, void* value) { hsa_api_data_t api_data{}; - api_data.args.hsa_executable_get_info.attribute = attribute; api_data.args.hsa_executable_get_info.executable = executable; + api_data.args.hsa_executable_get_info.attribute = attribute; api_data.args.hsa_executable_get_info.value = value; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; @@ -2398,6 +2465,7 @@ static hsa_status_t hsa_executable_get_info_callback(hsa_executable_t executable api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_get_info, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_executable_get_info_fn(executable, attribute, value); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_get_info, &api_data, api_callback_arg); return ret; @@ -2405,14 +2473,15 @@ static hsa_status_t hsa_executable_get_info_callback(hsa_executable_t executable static hsa_status_t hsa_executable_global_variable_define_callback(hsa_executable_t executable, const char* variable_name, void* address) { hsa_api_data_t api_data{}; api_data.args.hsa_executable_global_variable_define.executable = executable; - api_data.args.hsa_executable_global_variable_define.address = address; api_data.args.hsa_executable_global_variable_define.variable_name = variable_name; + api_data.args.hsa_executable_global_variable_define.address = address; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_executable_global_variable_define, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_global_variable_define, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_executable_global_variable_define_fn(executable, variable_name, address); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_global_variable_define, &api_data, api_callback_arg); return ret; @@ -2420,15 +2489,16 @@ static hsa_status_t hsa_executable_global_variable_define_callback(hsa_executabl static hsa_status_t hsa_executable_agent_global_variable_define_callback(hsa_executable_t executable, hsa_agent_t agent, const char* variable_name, void* address) { hsa_api_data_t api_data{}; api_data.args.hsa_executable_agent_global_variable_define.executable = executable; - api_data.args.hsa_executable_agent_global_variable_define.address = address; api_data.args.hsa_executable_agent_global_variable_define.agent = agent; api_data.args.hsa_executable_agent_global_variable_define.variable_name = variable_name; + api_data.args.hsa_executable_agent_global_variable_define.address = address; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_executable_agent_global_variable_define, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_agent_global_variable_define, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_executable_agent_global_variable_define_fn(executable, agent, variable_name, address); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_agent_global_variable_define, &api_data, api_callback_arg); return ret; @@ -2436,15 +2506,16 @@ static hsa_status_t hsa_executable_agent_global_variable_define_callback(hsa_exe static hsa_status_t hsa_executable_readonly_variable_define_callback(hsa_executable_t executable, hsa_agent_t agent, const char* variable_name, void* address) { hsa_api_data_t api_data{}; api_data.args.hsa_executable_readonly_variable_define.executable = executable; - api_data.args.hsa_executable_readonly_variable_define.address = address; api_data.args.hsa_executable_readonly_variable_define.agent = agent; api_data.args.hsa_executable_readonly_variable_define.variable_name = variable_name; + api_data.args.hsa_executable_readonly_variable_define.address = address; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_executable_readonly_variable_define, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_readonly_variable_define, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_executable_readonly_variable_define_fn(executable, agent, variable_name, address); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_readonly_variable_define, &api_data, api_callback_arg); return ret; @@ -2459,6 +2530,7 @@ static hsa_status_t hsa_executable_validate_callback(hsa_executable_t executable api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_validate, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_executable_validate_fn(executable, result); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_validate, &api_data, api_callback_arg); return ret; @@ -2466,25 +2538,26 @@ static hsa_status_t hsa_executable_validate_callback(hsa_executable_t executable static hsa_status_t hsa_executable_get_symbol_callback(hsa_executable_t executable, const char* module_name, const char* symbol_name, hsa_agent_t agent, int32_t call_convention, hsa_executable_symbol_t* symbol) { hsa_api_data_t api_data{}; api_data.args.hsa_executable_get_symbol.executable = executable; + api_data.args.hsa_executable_get_symbol.module_name = module_name; api_data.args.hsa_executable_get_symbol.symbol_name = symbol_name; - api_data.args.hsa_executable_get_symbol.symbol = symbol; api_data.args.hsa_executable_get_symbol.agent = agent; api_data.args.hsa_executable_get_symbol.call_convention = call_convention; - api_data.args.hsa_executable_get_symbol.module_name = module_name; + api_data.args.hsa_executable_get_symbol.symbol = symbol; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_executable_get_symbol, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_get_symbol, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_executable_get_symbol_fn(executable, module_name, symbol_name, agent, call_convention, symbol); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_get_symbol, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_executable_symbol_get_info_callback(hsa_executable_symbol_t executable_symbol, hsa_executable_symbol_info_t attribute, void* value) { hsa_api_data_t api_data{}; - api_data.args.hsa_executable_symbol_get_info.attribute = attribute; api_data.args.hsa_executable_symbol_get_info.executable_symbol = executable_symbol; + api_data.args.hsa_executable_symbol_get_info.attribute = attribute; api_data.args.hsa_executable_symbol_get_info.value = value; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; @@ -2492,14 +2565,15 @@ static hsa_status_t hsa_executable_symbol_get_info_callback(hsa_executable_symbo api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_symbol_get_info, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_executable_symbol_get_info_fn(executable_symbol, attribute, value); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_symbol_get_info, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_executable_iterate_symbols_callback(hsa_executable_t executable, hsa_status_t (* callback)(hsa_executable_t exec, hsa_executable_symbol_t symbol, void* data), void* data) { hsa_api_data_t api_data{}; - api_data.args.hsa_executable_iterate_symbols.callback = callback; api_data.args.hsa_executable_iterate_symbols.executable = executable; + api_data.args.hsa_executable_iterate_symbols.callback = callback; api_data.args.hsa_executable_iterate_symbols.data = data; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; @@ -2507,6 +2581,7 @@ static hsa_status_t hsa_executable_iterate_symbols_callback(hsa_executable_t exe api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_iterate_symbols, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_executable_iterate_symbols_fn(executable, callback, data); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_iterate_symbols, &api_data, api_callback_arg); return ret; @@ -2521,77 +2596,82 @@ static hsa_status_t hsa_status_string_callback(hsa_status_t status, const char** api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_status_string, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_status_string_fn(status, status_string); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_status_string, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_extension_get_name_callback(uint16_t extension, const char** name) { hsa_api_data_t api_data{}; - api_data.args.hsa_extension_get_name.name = name; api_data.args.hsa_extension_get_name.extension = extension; + api_data.args.hsa_extension_get_name.name = name; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_extension_get_name, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_extension_get_name, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_extension_get_name_fn(extension, name); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_extension_get_name, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_system_major_extension_supported_callback(uint16_t extension, uint16_t version_major, uint16_t* version_minor, bool* result) { hsa_api_data_t api_data{}; - api_data.args.hsa_system_major_extension_supported.version_minor = version_minor; - api_data.args.hsa_system_major_extension_supported.result = result; api_data.args.hsa_system_major_extension_supported.extension = extension; api_data.args.hsa_system_major_extension_supported.version_major = version_major; + api_data.args.hsa_system_major_extension_supported.version_minor = version_minor; + api_data.args.hsa_system_major_extension_supported.result = result; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_system_major_extension_supported, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_system_major_extension_supported, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_system_major_extension_supported_fn(extension, version_major, version_minor, result); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_system_major_extension_supported, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_system_get_major_extension_table_callback(uint16_t extension, uint16_t version_major, size_t table_length, void* table) { hsa_api_data_t api_data{}; - api_data.args.hsa_system_get_major_extension_table.table = table; - api_data.args.hsa_system_get_major_extension_table.table_length = table_length; api_data.args.hsa_system_get_major_extension_table.extension = extension; api_data.args.hsa_system_get_major_extension_table.version_major = version_major; + api_data.args.hsa_system_get_major_extension_table.table_length = table_length; + api_data.args.hsa_system_get_major_extension_table.table = table; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_system_get_major_extension_table, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_system_get_major_extension_table, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_system_get_major_extension_table_fn(extension, version_major, table_length, table); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_system_get_major_extension_table, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_agent_major_extension_supported_callback(uint16_t extension, hsa_agent_t agent, uint16_t version_major, uint16_t* version_minor, bool* result) { hsa_api_data_t api_data{}; - api_data.args.hsa_agent_major_extension_supported.result = result; - api_data.args.hsa_agent_major_extension_supported.version_minor = version_minor; - api_data.args.hsa_agent_major_extension_supported.agent = agent; api_data.args.hsa_agent_major_extension_supported.extension = extension; + api_data.args.hsa_agent_major_extension_supported.agent = agent; api_data.args.hsa_agent_major_extension_supported.version_major = version_major; + api_data.args.hsa_agent_major_extension_supported.version_minor = version_minor; + api_data.args.hsa_agent_major_extension_supported.result = result; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_agent_major_extension_supported, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_agent_major_extension_supported, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_agent_major_extension_supported_fn(extension, agent, version_major, version_minor, result); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_agent_major_extension_supported, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_cache_get_info_callback(hsa_cache_t cache, hsa_cache_info_t attribute, void* value) { hsa_api_data_t api_data{}; - api_data.args.hsa_cache_get_info.attribute = attribute; api_data.args.hsa_cache_get_info.cache = cache; + api_data.args.hsa_cache_get_info.attribute = attribute; api_data.args.hsa_cache_get_info.value = value; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; @@ -2599,21 +2679,23 @@ static hsa_status_t hsa_cache_get_info_callback(hsa_cache_t cache, hsa_cache_inf api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_cache_get_info, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_cache_get_info_fn(cache, attribute, value); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_cache_get_info, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_agent_iterate_caches_callback(hsa_agent_t agent, hsa_status_t (* callback)(hsa_cache_t cache, void* data), void* data) { hsa_api_data_t api_data{}; + api_data.args.hsa_agent_iterate_caches.agent = agent; api_data.args.hsa_agent_iterate_caches.callback = callback; api_data.args.hsa_agent_iterate_caches.data = data; - api_data.args.hsa_agent_iterate_caches.agent = agent; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_agent_iterate_caches, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_agent_iterate_caches, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_agent_iterate_caches_fn(agent, callback, data); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_agent_iterate_caches, &api_data, api_callback_arg); return ret; @@ -2646,17 +2728,18 @@ static void hsa_signal_silent_store_screlease_callback(hsa_signal_t signal, hsa_ } static hsa_status_t hsa_signal_group_create_callback(uint32_t num_signals, const hsa_signal_t* signals, uint32_t num_consumers, const hsa_agent_t* consumers, hsa_signal_group_t* signal_group) { hsa_api_data_t api_data{}; - api_data.args.hsa_signal_group_create.signals = signals; api_data.args.hsa_signal_group_create.num_signals = num_signals; - api_data.args.hsa_signal_group_create.signal_group = signal_group; - api_data.args.hsa_signal_group_create.consumers = consumers; + api_data.args.hsa_signal_group_create.signals = signals; api_data.args.hsa_signal_group_create.num_consumers = num_consumers; + api_data.args.hsa_signal_group_create.consumers = consumers; + api_data.args.hsa_signal_group_create.signal_group = signal_group; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_signal_group_create, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_group_create, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_signal_group_create_fn(num_signals, signals, num_consumers, consumers, signal_group); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_group_create, &api_data, api_callback_arg); return ret; @@ -2670,6 +2753,7 @@ static hsa_status_t hsa_signal_group_destroy_callback(hsa_signal_group_t signal_ api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_group_destroy, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_signal_group_destroy_fn(signal_group); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_group_destroy, &api_data, api_callback_arg); return ret; @@ -2677,17 +2761,18 @@ static hsa_status_t hsa_signal_group_destroy_callback(hsa_signal_group_t signal_ static hsa_status_t hsa_signal_group_wait_any_scacquire_callback(hsa_signal_group_t signal_group, const hsa_signal_condition_t* conditions, const hsa_signal_value_t* compare_values, hsa_wait_state_t wait_state_hint, hsa_signal_t* signal, hsa_signal_value_t* value) { hsa_api_data_t api_data{}; api_data.args.hsa_signal_group_wait_any_scacquire.signal_group = signal_group; + api_data.args.hsa_signal_group_wait_any_scacquire.conditions = conditions; + api_data.args.hsa_signal_group_wait_any_scacquire.compare_values = compare_values; api_data.args.hsa_signal_group_wait_any_scacquire.wait_state_hint = wait_state_hint; api_data.args.hsa_signal_group_wait_any_scacquire.signal = signal; - api_data.args.hsa_signal_group_wait_any_scacquire.compare_values = compare_values; api_data.args.hsa_signal_group_wait_any_scacquire.value = value; - api_data.args.hsa_signal_group_wait_any_scacquire.conditions = conditions; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_signal_group_wait_any_scacquire, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_group_wait_any_scacquire, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_signal_group_wait_any_scacquire_fn(signal_group, conditions, compare_values, wait_state_hint, signal, value); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_group_wait_any_scacquire, &api_data, api_callback_arg); return ret; @@ -2695,40 +2780,42 @@ static hsa_status_t hsa_signal_group_wait_any_scacquire_callback(hsa_signal_grou static hsa_status_t hsa_signal_group_wait_any_relaxed_callback(hsa_signal_group_t signal_group, const hsa_signal_condition_t* conditions, const hsa_signal_value_t* compare_values, hsa_wait_state_t wait_state_hint, hsa_signal_t* signal, hsa_signal_value_t* value) { hsa_api_data_t api_data{}; api_data.args.hsa_signal_group_wait_any_relaxed.signal_group = signal_group; + api_data.args.hsa_signal_group_wait_any_relaxed.conditions = conditions; + api_data.args.hsa_signal_group_wait_any_relaxed.compare_values = compare_values; api_data.args.hsa_signal_group_wait_any_relaxed.wait_state_hint = wait_state_hint; api_data.args.hsa_signal_group_wait_any_relaxed.signal = signal; - api_data.args.hsa_signal_group_wait_any_relaxed.compare_values = compare_values; api_data.args.hsa_signal_group_wait_any_relaxed.value = value; - api_data.args.hsa_signal_group_wait_any_relaxed.conditions = conditions; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_signal_group_wait_any_relaxed, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_group_wait_any_relaxed, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_signal_group_wait_any_relaxed_fn(signal_group, conditions, compare_values, wait_state_hint, signal, value); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_group_wait_any_relaxed, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_agent_iterate_isas_callback(hsa_agent_t agent, hsa_status_t (* callback)(hsa_isa_t isa, void* data), void* data) { hsa_api_data_t api_data{}; + api_data.args.hsa_agent_iterate_isas.agent = agent; api_data.args.hsa_agent_iterate_isas.callback = callback; api_data.args.hsa_agent_iterate_isas.data = data; - api_data.args.hsa_agent_iterate_isas.agent = agent; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_agent_iterate_isas, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_agent_iterate_isas, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_agent_iterate_isas_fn(agent, callback, data); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_agent_iterate_isas, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_isa_get_info_alt_callback(hsa_isa_t isa, hsa_isa_info_t attribute, void* value) { hsa_api_data_t api_data{}; - api_data.args.hsa_isa_get_info_alt.attribute = attribute; api_data.args.hsa_isa_get_info_alt.isa = isa; + api_data.args.hsa_isa_get_info_alt.attribute = attribute; api_data.args.hsa_isa_get_info_alt.value = value; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; @@ -2736,14 +2823,15 @@ static hsa_status_t hsa_isa_get_info_alt_callback(hsa_isa_t isa, hsa_isa_info_t api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_isa_get_info_alt, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_isa_get_info_alt_fn(isa, attribute, value); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_isa_get_info_alt, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_isa_get_exception_policies_callback(hsa_isa_t isa, hsa_profile_t profile, uint16_t* mask) { hsa_api_data_t api_data{}; - api_data.args.hsa_isa_get_exception_policies.profile = profile; api_data.args.hsa_isa_get_exception_policies.isa = isa; + api_data.args.hsa_isa_get_exception_policies.profile = profile; api_data.args.hsa_isa_get_exception_policies.mask = mask; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; @@ -2751,6 +2839,7 @@ static hsa_status_t hsa_isa_get_exception_policies_callback(hsa_isa_t isa, hsa_p api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_isa_get_exception_policies, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_isa_get_exception_policies_fn(isa, profile, mask); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_isa_get_exception_policies, &api_data, api_callback_arg); return ret; @@ -2758,23 +2847,24 @@ static hsa_status_t hsa_isa_get_exception_policies_callback(hsa_isa_t isa, hsa_p static hsa_status_t hsa_isa_get_round_method_callback(hsa_isa_t isa, hsa_fp_type_t fp_type, hsa_flush_mode_t flush_mode, hsa_round_method_t* round_method) { hsa_api_data_t api_data{}; api_data.args.hsa_isa_get_round_method.isa = isa; - api_data.args.hsa_isa_get_round_method.round_method = round_method; - api_data.args.hsa_isa_get_round_method.flush_mode = flush_mode; api_data.args.hsa_isa_get_round_method.fp_type = fp_type; + api_data.args.hsa_isa_get_round_method.flush_mode = flush_mode; + api_data.args.hsa_isa_get_round_method.round_method = round_method; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_isa_get_round_method, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_isa_get_round_method, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_isa_get_round_method_fn(isa, fp_type, flush_mode, round_method); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_isa_get_round_method, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_wavefront_get_info_callback(hsa_wavefront_t wavefront, hsa_wavefront_info_t attribute, void* value) { hsa_api_data_t api_data{}; - api_data.args.hsa_wavefront_get_info.attribute = attribute; api_data.args.hsa_wavefront_get_info.wavefront = wavefront; + api_data.args.hsa_wavefront_get_info.attribute = attribute; api_data.args.hsa_wavefront_get_info.value = value; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; @@ -2782,14 +2872,15 @@ static hsa_status_t hsa_wavefront_get_info_callback(hsa_wavefront_t wavefront, h api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_wavefront_get_info, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_wavefront_get_info_fn(wavefront, attribute, value); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_wavefront_get_info, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_isa_iterate_wavefronts_callback(hsa_isa_t isa, hsa_status_t (* callback)(hsa_wavefront_t wavefront, void* data), void* data) { hsa_api_data_t api_data{}; - api_data.args.hsa_isa_iterate_wavefronts.callback = callback; api_data.args.hsa_isa_iterate_wavefronts.isa = isa; + api_data.args.hsa_isa_iterate_wavefronts.callback = callback; api_data.args.hsa_isa_iterate_wavefronts.data = data; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; @@ -2797,51 +2888,55 @@ static hsa_status_t hsa_isa_iterate_wavefronts_callback(hsa_isa_t isa, hsa_statu api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_isa_iterate_wavefronts, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_isa_iterate_wavefronts_fn(isa, callback, data); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_isa_iterate_wavefronts, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_code_object_get_symbol_from_name_callback(hsa_code_object_t code_object, const char* module_name, const char* symbol_name, hsa_code_symbol_t* symbol) { hsa_api_data_t api_data{}; - api_data.args.hsa_code_object_get_symbol_from_name.module_name = module_name; - api_data.args.hsa_code_object_get_symbol_from_name.symbol = symbol; api_data.args.hsa_code_object_get_symbol_from_name.code_object = code_object; + api_data.args.hsa_code_object_get_symbol_from_name.module_name = module_name; api_data.args.hsa_code_object_get_symbol_from_name.symbol_name = symbol_name; + api_data.args.hsa_code_object_get_symbol_from_name.symbol = symbol; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_code_object_get_symbol_from_name, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_code_object_get_symbol_from_name, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_code_object_get_symbol_from_name_fn(code_object, module_name, symbol_name, symbol); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_code_object_get_symbol_from_name, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_code_object_reader_create_from_file_callback(hsa_file_t file, hsa_code_object_reader_t* code_object_reader) { hsa_api_data_t api_data{}; - api_data.args.hsa_code_object_reader_create_from_file.code_object_reader = code_object_reader; api_data.args.hsa_code_object_reader_create_from_file.file = file; + api_data.args.hsa_code_object_reader_create_from_file.code_object_reader = code_object_reader; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_code_object_reader_create_from_file, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_code_object_reader_create_from_file, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_code_object_reader_create_from_file_fn(file, code_object_reader); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_code_object_reader_create_from_file, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_code_object_reader_create_from_memory_callback(const void* code_object, size_t size, hsa_code_object_reader_t* code_object_reader) { hsa_api_data_t api_data{}; - api_data.args.hsa_code_object_reader_create_from_memory.code_object_reader = code_object_reader; api_data.args.hsa_code_object_reader_create_from_memory.code_object = code_object; api_data.args.hsa_code_object_reader_create_from_memory.size = size; + api_data.args.hsa_code_object_reader_create_from_memory.code_object_reader = code_object_reader; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_code_object_reader_create_from_memory, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_code_object_reader_create_from_memory, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_code_object_reader_create_from_memory_fn(code_object, size, code_object_reader); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_code_object_reader_create_from_memory, &api_data, api_callback_arg); return ret; @@ -2855,6 +2950,7 @@ static hsa_status_t hsa_code_object_reader_destroy_callback(hsa_code_object_read api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_code_object_reader_destroy, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_code_object_reader_destroy_fn(code_object_reader); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_code_object_reader_destroy, &api_data, api_callback_arg); return ret; @@ -2863,47 +2959,50 @@ static hsa_status_t hsa_executable_create_alt_callback(hsa_profile_t profile, hs hsa_api_data_t api_data{}; api_data.args.hsa_executable_create_alt.profile = profile; api_data.args.hsa_executable_create_alt.default_float_rounding_mode = default_float_rounding_mode; - api_data.args.hsa_executable_create_alt.executable = executable; api_data.args.hsa_executable_create_alt.options = options; + api_data.args.hsa_executable_create_alt.executable = executable; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_executable_create_alt, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_create_alt, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_executable_create_alt_fn(profile, default_float_rounding_mode, options, executable); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_create_alt, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_executable_load_program_code_object_callback(hsa_executable_t executable, hsa_code_object_reader_t code_object_reader, const char* options, hsa_loaded_code_object_t* loaded_code_object) { hsa_api_data_t api_data{}; - api_data.args.hsa_executable_load_program_code_object.code_object_reader = code_object_reader; api_data.args.hsa_executable_load_program_code_object.executable = executable; - api_data.args.hsa_executable_load_program_code_object.loaded_code_object = loaded_code_object; + api_data.args.hsa_executable_load_program_code_object.code_object_reader = code_object_reader; api_data.args.hsa_executable_load_program_code_object.options = options; + api_data.args.hsa_executable_load_program_code_object.loaded_code_object = loaded_code_object; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_executable_load_program_code_object, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_load_program_code_object, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_executable_load_program_code_object_fn(executable, code_object_reader, options, loaded_code_object); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_load_program_code_object, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_executable_load_agent_code_object_callback(hsa_executable_t executable, hsa_agent_t agent, hsa_code_object_reader_t code_object_reader, const char* options, hsa_loaded_code_object_t* loaded_code_object) { hsa_api_data_t api_data{}; - api_data.args.hsa_executable_load_agent_code_object.code_object_reader = code_object_reader; api_data.args.hsa_executable_load_agent_code_object.executable = executable; - api_data.args.hsa_executable_load_agent_code_object.loaded_code_object = loaded_code_object; - api_data.args.hsa_executable_load_agent_code_object.options = options; api_data.args.hsa_executable_load_agent_code_object.agent = agent; + api_data.args.hsa_executable_load_agent_code_object.code_object_reader = code_object_reader; + api_data.args.hsa_executable_load_agent_code_object.options = options; + api_data.args.hsa_executable_load_agent_code_object.loaded_code_object = loaded_code_object; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_executable_load_agent_code_object, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_load_agent_code_object, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_executable_load_agent_code_object_fn(executable, agent, code_object_reader, options, loaded_code_object); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_load_agent_code_object, &api_data, api_callback_arg); return ret; @@ -2919,46 +3018,49 @@ static hsa_status_t hsa_executable_validate_alt_callback(hsa_executable_t execut api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_validate_alt, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_executable_validate_alt_fn(executable, options, result); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_validate_alt, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_executable_get_symbol_by_name_callback(hsa_executable_t executable, const char* symbol_name, const hsa_agent_t* agent, hsa_executable_symbol_t* symbol) { hsa_api_data_t api_data{}; - api_data.args.hsa_executable_get_symbol_by_name.symbol = symbol; api_data.args.hsa_executable_get_symbol_by_name.executable = executable; api_data.args.hsa_executable_get_symbol_by_name.symbol_name = symbol_name; api_data.args.hsa_executable_get_symbol_by_name.agent = agent; + api_data.args.hsa_executable_get_symbol_by_name.symbol = symbol; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_executable_get_symbol_by_name, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_get_symbol_by_name, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_executable_get_symbol_by_name_fn(executable, symbol_name, agent, symbol); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_get_symbol_by_name, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_executable_iterate_agent_symbols_callback(hsa_executable_t executable, hsa_agent_t agent, hsa_status_t (* callback)(hsa_executable_t exec, hsa_agent_t agent, hsa_executable_symbol_t symbol, void* data), void* data) { hsa_api_data_t api_data{}; - api_data.args.hsa_executable_iterate_agent_symbols.callback = callback; api_data.args.hsa_executable_iterate_agent_symbols.executable = executable; - api_data.args.hsa_executable_iterate_agent_symbols.data = data; api_data.args.hsa_executable_iterate_agent_symbols.agent = agent; + api_data.args.hsa_executable_iterate_agent_symbols.callback = callback; + api_data.args.hsa_executable_iterate_agent_symbols.data = data; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_executable_iterate_agent_symbols, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_iterate_agent_symbols, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_executable_iterate_agent_symbols_fn(executable, agent, callback, data); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_iterate_agent_symbols, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_executable_iterate_program_symbols_callback(hsa_executable_t executable, hsa_status_t (* callback)(hsa_executable_t exec, hsa_executable_symbol_t symbol, void* data), void* data) { hsa_api_data_t api_data{}; - api_data.args.hsa_executable_iterate_program_symbols.callback = callback; api_data.args.hsa_executable_iterate_program_symbols.executable = executable; + api_data.args.hsa_executable_iterate_program_symbols.callback = callback; api_data.args.hsa_executable_iterate_program_symbols.data = data; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; @@ -2966,6 +3068,7 @@ static hsa_status_t hsa_executable_iterate_program_symbols_callback(hsa_executab api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_iterate_program_symbols, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_executable_iterate_program_symbols_fn(executable, callback, data); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_iterate_program_symbols, &api_data, api_callback_arg); return ret; @@ -2974,28 +3077,30 @@ static hsa_status_t hsa_executable_iterate_program_symbols_callback(hsa_executab // block: AmdExtTable API static hsa_status_t hsa_amd_coherency_get_type_callback(hsa_agent_t agent, hsa_amd_coherency_type_t* type) { hsa_api_data_t api_data{}; - api_data.args.hsa_amd_coherency_get_type.type = type; api_data.args.hsa_amd_coherency_get_type.agent = agent; + api_data.args.hsa_amd_coherency_get_type.type = type; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_amd_coherency_get_type, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_coherency_get_type, &api_data, api_callback_arg); hsa_status_t ret = AmdExtTable_saved.hsa_amd_coherency_get_type_fn(agent, type); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_coherency_get_type, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_amd_coherency_set_type_callback(hsa_agent_t agent, hsa_amd_coherency_type_t type) { hsa_api_data_t api_data{}; - api_data.args.hsa_amd_coherency_set_type.type = type; api_data.args.hsa_amd_coherency_set_type.agent = agent; + api_data.args.hsa_amd_coherency_set_type.type = type; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_amd_coherency_set_type, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_coherency_set_type, &api_data, api_callback_arg); hsa_status_t ret = AmdExtTable_saved.hsa_amd_coherency_set_type_fn(agent, type); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_coherency_set_type, &api_data, api_callback_arg); return ret; @@ -3010,6 +3115,7 @@ static hsa_status_t hsa_amd_profiling_set_profiler_enabled_callback(hsa_queue_t* api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_profiling_set_profiler_enabled, &api_data, api_callback_arg); hsa_status_t ret = AmdExtTable_saved.hsa_amd_profiling_set_profiler_enabled_fn(queue, enable); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_profiling_set_profiler_enabled, &api_data, api_callback_arg); return ret; @@ -3023,14 +3129,15 @@ static hsa_status_t hsa_amd_profiling_async_copy_enable_callback(bool enable) { api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_profiling_async_copy_enable, &api_data, api_callback_arg); hsa_status_t ret = AmdExtTable_saved.hsa_amd_profiling_async_copy_enable_fn(enable); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_profiling_async_copy_enable, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_amd_profiling_get_dispatch_time_callback(hsa_agent_t agent, hsa_signal_t signal, hsa_amd_profiling_dispatch_time_t* time) { hsa_api_data_t api_data{}; - api_data.args.hsa_amd_profiling_get_dispatch_time.signal = signal; api_data.args.hsa_amd_profiling_get_dispatch_time.agent = agent; + api_data.args.hsa_amd_profiling_get_dispatch_time.signal = signal; api_data.args.hsa_amd_profiling_get_dispatch_time.time = time; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; @@ -3038,6 +3145,7 @@ static hsa_status_t hsa_amd_profiling_get_dispatch_time_callback(hsa_agent_t age api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_profiling_get_dispatch_time, &api_data, api_callback_arg); hsa_status_t ret = AmdExtTable_saved.hsa_amd_profiling_get_dispatch_time_fn(agent, signal, time); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_profiling_get_dispatch_time, &api_data, api_callback_arg); return ret; @@ -3052,21 +3160,23 @@ static hsa_status_t hsa_amd_profiling_get_async_copy_time_callback(hsa_signal_t api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_profiling_get_async_copy_time, &api_data, api_callback_arg); hsa_status_t ret = AmdExtTable_saved.hsa_amd_profiling_get_async_copy_time_fn(signal, time); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_profiling_get_async_copy_time, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_amd_profiling_convert_tick_to_system_domain_callback(hsa_agent_t agent, uint64_t agent_tick, uint64_t* system_tick) { hsa_api_data_t api_data{}; - api_data.args.hsa_amd_profiling_convert_tick_to_system_domain.system_tick = system_tick; api_data.args.hsa_amd_profiling_convert_tick_to_system_domain.agent = agent; api_data.args.hsa_amd_profiling_convert_tick_to_system_domain.agent_tick = agent_tick; + api_data.args.hsa_amd_profiling_convert_tick_to_system_domain.system_tick = system_tick; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_amd_profiling_convert_tick_to_system_domain, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_profiling_convert_tick_to_system_domain, &api_data, api_callback_arg); hsa_status_t ret = AmdExtTable_saved.hsa_amd_profiling_convert_tick_to_system_domain_fn(agent, agent_tick, system_tick); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_profiling_convert_tick_to_system_domain, &api_data, api_callback_arg); return ret; @@ -3074,9 +3184,9 @@ static hsa_status_t hsa_amd_profiling_convert_tick_to_system_domain_callback(hsa static hsa_status_t hsa_amd_signal_async_handler_callback(hsa_signal_t signal, hsa_signal_condition_t cond, hsa_signal_value_t value, hsa_amd_signal_handler handler, void* arg) { hsa_api_data_t api_data{}; api_data.args.hsa_amd_signal_async_handler.signal = signal; - api_data.args.hsa_amd_signal_async_handler.handler = handler; api_data.args.hsa_amd_signal_async_handler.cond = cond; api_data.args.hsa_amd_signal_async_handler.value = value; + api_data.args.hsa_amd_signal_async_handler.handler = handler; api_data.args.hsa_amd_signal_async_handler.arg = arg; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; @@ -3084,6 +3194,7 @@ static hsa_status_t hsa_amd_signal_async_handler_callback(hsa_signal_t signal, h api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_signal_async_handler, &api_data, api_callback_arg); hsa_status_t ret = AmdExtTable_saved.hsa_amd_signal_async_handler_fn(signal, cond, value, handler, arg); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_signal_async_handler, &api_data, api_callback_arg); return ret; @@ -3098,25 +3209,27 @@ static hsa_status_t hsa_amd_async_function_callback(void (* callback)(void* arg) api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_async_function, &api_data, api_callback_arg); hsa_status_t ret = AmdExtTable_saved.hsa_amd_async_function_fn(callback, arg); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_async_function, &api_data, api_callback_arg); return ret; } static uint32_t hsa_amd_signal_wait_any_callback(uint32_t signal_count, hsa_signal_t* signals, hsa_signal_condition_t* conds, hsa_signal_value_t* values, uint64_t timeout_hint, hsa_wait_state_t wait_hint, hsa_signal_value_t* satisfying_value) { hsa_api_data_t api_data{}; - api_data.args.hsa_amd_signal_wait_any.timeout_hint = timeout_hint; api_data.args.hsa_amd_signal_wait_any.signal_count = signal_count; - api_data.args.hsa_amd_signal_wait_any.conds = conds; api_data.args.hsa_amd_signal_wait_any.signals = signals; + api_data.args.hsa_amd_signal_wait_any.conds = conds; api_data.args.hsa_amd_signal_wait_any.values = values; - api_data.args.hsa_amd_signal_wait_any.satisfying_value = satisfying_value; + api_data.args.hsa_amd_signal_wait_any.timeout_hint = timeout_hint; api_data.args.hsa_amd_signal_wait_any.wait_hint = wait_hint; + api_data.args.hsa_amd_signal_wait_any.satisfying_value = satisfying_value; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_amd_signal_wait_any, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_signal_wait_any, &api_data, api_callback_arg); uint32_t ret = AmdExtTable_saved.hsa_amd_signal_wait_any_fn(signal_count, signals, conds, values, timeout_hint, wait_hint, satisfying_value); + api_data.uint32_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_signal_wait_any, &api_data, api_callback_arg); return ret; @@ -3124,22 +3237,23 @@ static uint32_t hsa_amd_signal_wait_any_callback(uint32_t signal_count, hsa_sign static hsa_status_t hsa_amd_queue_cu_set_mask_callback(const hsa_queue_t* queue, uint32_t num_cu_mask_count, const uint32_t* cu_mask) { hsa_api_data_t api_data{}; api_data.args.hsa_amd_queue_cu_set_mask.queue = queue; - api_data.args.hsa_amd_queue_cu_set_mask.cu_mask = cu_mask; api_data.args.hsa_amd_queue_cu_set_mask.num_cu_mask_count = num_cu_mask_count; + api_data.args.hsa_amd_queue_cu_set_mask.cu_mask = cu_mask; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_amd_queue_cu_set_mask, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_queue_cu_set_mask, &api_data, api_callback_arg); hsa_status_t ret = AmdExtTable_saved.hsa_amd_queue_cu_set_mask_fn(queue, num_cu_mask_count, cu_mask); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_queue_cu_set_mask, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_amd_memory_pool_get_info_callback(hsa_amd_memory_pool_t memory_pool, hsa_amd_memory_pool_info_t attribute, void* value) { hsa_api_data_t api_data{}; - api_data.args.hsa_amd_memory_pool_get_info.attribute = attribute; api_data.args.hsa_amd_memory_pool_get_info.memory_pool = memory_pool; + api_data.args.hsa_amd_memory_pool_get_info.attribute = attribute; api_data.args.hsa_amd_memory_pool_get_info.value = value; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; @@ -3147,37 +3261,40 @@ static hsa_status_t hsa_amd_memory_pool_get_info_callback(hsa_amd_memory_pool_t api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_memory_pool_get_info, &api_data, api_callback_arg); hsa_status_t ret = AmdExtTable_saved.hsa_amd_memory_pool_get_info_fn(memory_pool, attribute, value); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_memory_pool_get_info, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_amd_agent_iterate_memory_pools_callback(hsa_agent_t agent, hsa_status_t (* callback)(hsa_amd_memory_pool_t memory_pool, void* data), void* data) { hsa_api_data_t api_data{}; + api_data.args.hsa_amd_agent_iterate_memory_pools.agent = agent; api_data.args.hsa_amd_agent_iterate_memory_pools.callback = callback; api_data.args.hsa_amd_agent_iterate_memory_pools.data = data; - api_data.args.hsa_amd_agent_iterate_memory_pools.agent = agent; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_amd_agent_iterate_memory_pools, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_agent_iterate_memory_pools, &api_data, api_callback_arg); hsa_status_t ret = AmdExtTable_saved.hsa_amd_agent_iterate_memory_pools_fn(agent, callback, data); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_agent_iterate_memory_pools, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_amd_memory_pool_allocate_callback(hsa_amd_memory_pool_t memory_pool, size_t size, uint32_t flags, void** ptr) { hsa_api_data_t api_data{}; - api_data.args.hsa_amd_memory_pool_allocate.ptr = ptr; - api_data.args.hsa_amd_memory_pool_allocate.flags = flags; api_data.args.hsa_amd_memory_pool_allocate.memory_pool = memory_pool; api_data.args.hsa_amd_memory_pool_allocate.size = size; + api_data.args.hsa_amd_memory_pool_allocate.flags = flags; + api_data.args.hsa_amd_memory_pool_allocate.ptr = ptr; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_amd_memory_pool_allocate, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_memory_pool_allocate, &api_data, api_callback_arg); hsa_status_t ret = AmdExtTable_saved.hsa_amd_memory_pool_allocate_fn(memory_pool, size, flags, ptr); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_memory_pool_allocate, &api_data, api_callback_arg); return ret; @@ -3191,58 +3308,62 @@ static hsa_status_t hsa_amd_memory_pool_free_callback(void* ptr) { api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_memory_pool_free, &api_data, api_callback_arg); hsa_status_t ret = AmdExtTable_saved.hsa_amd_memory_pool_free_fn(ptr); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_memory_pool_free, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_amd_memory_async_copy_callback(void* dst, hsa_agent_t dst_agent, const void* src, hsa_agent_t src_agent, size_t size, uint32_t num_dep_signals, const hsa_signal_t* dep_signals, hsa_signal_t completion_signal) { hsa_api_data_t api_data{}; - api_data.args.hsa_amd_memory_async_copy.completion_signal = completion_signal; - api_data.args.hsa_amd_memory_async_copy.src = src; api_data.args.hsa_amd_memory_async_copy.dst = dst; - api_data.args.hsa_amd_memory_async_copy.num_dep_signals = num_dep_signals; - api_data.args.hsa_amd_memory_async_copy.src_agent = src_agent; - api_data.args.hsa_amd_memory_async_copy.dep_signals = dep_signals; api_data.args.hsa_amd_memory_async_copy.dst_agent = dst_agent; + api_data.args.hsa_amd_memory_async_copy.src = src; + api_data.args.hsa_amd_memory_async_copy.src_agent = src_agent; api_data.args.hsa_amd_memory_async_copy.size = size; + api_data.args.hsa_amd_memory_async_copy.num_dep_signals = num_dep_signals; + api_data.args.hsa_amd_memory_async_copy.dep_signals = dep_signals; + api_data.args.hsa_amd_memory_async_copy.completion_signal = completion_signal; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_amd_memory_async_copy, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_memory_async_copy, &api_data, api_callback_arg); hsa_status_t ret = AmdExtTable_saved.hsa_amd_memory_async_copy_fn(dst, dst_agent, src, src_agent, size, num_dep_signals, dep_signals, completion_signal); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_memory_async_copy, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_amd_agent_memory_pool_get_info_callback(hsa_agent_t agent, hsa_amd_memory_pool_t memory_pool, hsa_amd_agent_memory_pool_info_t attribute, void* value) { hsa_api_data_t api_data{}; + api_data.args.hsa_amd_agent_memory_pool_get_info.agent = agent; + api_data.args.hsa_amd_agent_memory_pool_get_info.memory_pool = memory_pool; api_data.args.hsa_amd_agent_memory_pool_get_info.attribute = attribute; api_data.args.hsa_amd_agent_memory_pool_get_info.value = value; - api_data.args.hsa_amd_agent_memory_pool_get_info.memory_pool = memory_pool; - api_data.args.hsa_amd_agent_memory_pool_get_info.agent = agent; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_amd_agent_memory_pool_get_info, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_agent_memory_pool_get_info, &api_data, api_callback_arg); hsa_status_t ret = AmdExtTable_saved.hsa_amd_agent_memory_pool_get_info_fn(agent, memory_pool, attribute, value); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_agent_memory_pool_get_info, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_amd_agents_allow_access_callback(uint32_t num_agents, const hsa_agent_t* agents, const uint32_t* flags, const void* ptr) { hsa_api_data_t api_data{}; - api_data.args.hsa_amd_agents_allow_access.flags = flags; - api_data.args.hsa_amd_agents_allow_access.agents = agents; - api_data.args.hsa_amd_agents_allow_access.ptr = ptr; api_data.args.hsa_amd_agents_allow_access.num_agents = num_agents; + api_data.args.hsa_amd_agents_allow_access.agents = agents; + api_data.args.hsa_amd_agents_allow_access.flags = flags; + api_data.args.hsa_amd_agents_allow_access.ptr = ptr; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_amd_agents_allow_access, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_agents_allow_access, &api_data, api_callback_arg); hsa_status_t ret = AmdExtTable_saved.hsa_amd_agents_allow_access_fn(num_agents, agents, flags, ptr); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_agents_allow_access, &api_data, api_callback_arg); return ret; @@ -3258,21 +3379,23 @@ static hsa_status_t hsa_amd_memory_pool_can_migrate_callback(hsa_amd_memory_pool api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_memory_pool_can_migrate, &api_data, api_callback_arg); hsa_status_t ret = AmdExtTable_saved.hsa_amd_memory_pool_can_migrate_fn(src_memory_pool, dst_memory_pool, result); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_memory_pool_can_migrate, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_amd_memory_migrate_callback(const void* ptr, hsa_amd_memory_pool_t memory_pool, uint32_t flags) { hsa_api_data_t api_data{}; - api_data.args.hsa_amd_memory_migrate.flags = flags; api_data.args.hsa_amd_memory_migrate.ptr = ptr; api_data.args.hsa_amd_memory_migrate.memory_pool = memory_pool; + api_data.args.hsa_amd_memory_migrate.flags = flags; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_amd_memory_migrate, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_memory_migrate, &api_data, api_callback_arg); hsa_status_t ret = AmdExtTable_saved.hsa_amd_memory_migrate_fn(ptr, memory_pool, flags); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_memory_migrate, &api_data, api_callback_arg); return ret; @@ -3280,16 +3403,17 @@ static hsa_status_t hsa_amd_memory_migrate_callback(const void* ptr, hsa_amd_mem static hsa_status_t hsa_amd_memory_lock_callback(void* host_ptr, size_t size, hsa_agent_t* agents, int num_agent, void** agent_ptr) { hsa_api_data_t api_data{}; api_data.args.hsa_amd_memory_lock.host_ptr = host_ptr; - api_data.args.hsa_amd_memory_lock.num_agent = num_agent; - api_data.args.hsa_amd_memory_lock.agents = agents; - api_data.args.hsa_amd_memory_lock.agent_ptr = agent_ptr; api_data.args.hsa_amd_memory_lock.size = size; + api_data.args.hsa_amd_memory_lock.agents = agents; + api_data.args.hsa_amd_memory_lock.num_agent = num_agent; + api_data.args.hsa_amd_memory_lock.agent_ptr = agent_ptr; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_amd_memory_lock, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_memory_lock, &api_data, api_callback_arg); hsa_status_t ret = AmdExtTable_saved.hsa_amd_memory_lock_fn(host_ptr, size, agents, num_agent, agent_ptr); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_memory_lock, &api_data, api_callback_arg); return ret; @@ -3303,21 +3427,23 @@ static hsa_status_t hsa_amd_memory_unlock_callback(void* host_ptr) { api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_memory_unlock, &api_data, api_callback_arg); hsa_status_t ret = AmdExtTable_saved.hsa_amd_memory_unlock_fn(host_ptr); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_memory_unlock, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_amd_memory_fill_callback(void* ptr, uint32_t value, size_t count) { hsa_api_data_t api_data{}; - api_data.args.hsa_amd_memory_fill.count = count; api_data.args.hsa_amd_memory_fill.ptr = ptr; api_data.args.hsa_amd_memory_fill.value = value; + api_data.args.hsa_amd_memory_fill.count = count; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_amd_memory_fill, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_memory_fill, &api_data, api_callback_arg); hsa_status_t ret = AmdExtTable_saved.hsa_amd_memory_fill_fn(ptr, value, count); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_memory_fill, &api_data, api_callback_arg); return ret; @@ -3325,19 +3451,20 @@ static hsa_status_t hsa_amd_memory_fill_callback(void* ptr, uint32_t value, size static hsa_status_t hsa_amd_interop_map_buffer_callback(uint32_t num_agents, hsa_agent_t* agents, int interop_handle, uint32_t flags, size_t* size, void** ptr, size_t* metadata_size, const void** metadata) { hsa_api_data_t api_data{}; api_data.args.hsa_amd_interop_map_buffer.num_agents = num_agents; - api_data.args.hsa_amd_interop_map_buffer.metadata_size = metadata_size; - api_data.args.hsa_amd_interop_map_buffer.flags = flags; api_data.args.hsa_amd_interop_map_buffer.agents = agents; - api_data.args.hsa_amd_interop_map_buffer.metadata = metadata; - api_data.args.hsa_amd_interop_map_buffer.ptr = ptr; api_data.args.hsa_amd_interop_map_buffer.interop_handle = interop_handle; + api_data.args.hsa_amd_interop_map_buffer.flags = flags; api_data.args.hsa_amd_interop_map_buffer.size = size; + api_data.args.hsa_amd_interop_map_buffer.ptr = ptr; + api_data.args.hsa_amd_interop_map_buffer.metadata_size = metadata_size; + api_data.args.hsa_amd_interop_map_buffer.metadata = metadata; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_amd_interop_map_buffer, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_interop_map_buffer, &api_data, api_callback_arg); hsa_status_t ret = AmdExtTable_saved.hsa_amd_interop_map_buffer_fn(num_agents, agents, interop_handle, flags, size, ptr, metadata_size, metadata); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_interop_map_buffer, &api_data, api_callback_arg); return ret; @@ -3351,87 +3478,93 @@ static hsa_status_t hsa_amd_interop_unmap_buffer_callback(void* ptr) { api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_interop_unmap_buffer, &api_data, api_callback_arg); hsa_status_t ret = AmdExtTable_saved.hsa_amd_interop_unmap_buffer_fn(ptr); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_interop_unmap_buffer, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_amd_image_create_callback(hsa_agent_t agent, const hsa_ext_image_descriptor_t* image_descriptor, const hsa_amd_image_descriptor_t* image_layout, const void* image_data, hsa_access_permission_t access_permission, hsa_ext_image_t* image) { hsa_api_data_t api_data{}; - api_data.args.hsa_amd_image_create.image_descriptor = image_descriptor; - api_data.args.hsa_amd_image_create.image = image; api_data.args.hsa_amd_image_create.agent = agent; - api_data.args.hsa_amd_image_create.access_permission = access_permission; - api_data.args.hsa_amd_image_create.image_data = image_data; + api_data.args.hsa_amd_image_create.image_descriptor = image_descriptor; api_data.args.hsa_amd_image_create.image_layout = image_layout; + api_data.args.hsa_amd_image_create.image_data = image_data; + api_data.args.hsa_amd_image_create.access_permission = access_permission; + api_data.args.hsa_amd_image_create.image = image; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_amd_image_create, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_image_create, &api_data, api_callback_arg); hsa_status_t ret = AmdExtTable_saved.hsa_amd_image_create_fn(agent, image_descriptor, image_layout, image_data, access_permission, image); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_image_create, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_amd_pointer_info_callback(void* ptr, hsa_amd_pointer_info_t* info, void* (* alloc)(size_t), uint32_t* num_agents_accessible, hsa_agent_t** accessible) { hsa_api_data_t api_data{}; - api_data.args.hsa_amd_pointer_info.info = info; - api_data.args.hsa_amd_pointer_info.accessible = accessible; - api_data.args.hsa_amd_pointer_info.alloc = alloc; api_data.args.hsa_amd_pointer_info.ptr = ptr; + api_data.args.hsa_amd_pointer_info.info = info; + api_data.args.hsa_amd_pointer_info.alloc = alloc; api_data.args.hsa_amd_pointer_info.num_agents_accessible = num_agents_accessible; + api_data.args.hsa_amd_pointer_info.accessible = accessible; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_amd_pointer_info, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_pointer_info, &api_data, api_callback_arg); hsa_status_t ret = AmdExtTable_saved.hsa_amd_pointer_info_fn(ptr, info, alloc, num_agents_accessible, accessible); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_pointer_info, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_amd_pointer_info_set_userdata_callback(void* ptr, void* userdata) { hsa_api_data_t api_data{}; - api_data.args.hsa_amd_pointer_info_set_userdata.userdata = userdata; api_data.args.hsa_amd_pointer_info_set_userdata.ptr = ptr; + api_data.args.hsa_amd_pointer_info_set_userdata.userdata = userdata; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_amd_pointer_info_set_userdata, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_pointer_info_set_userdata, &api_data, api_callback_arg); hsa_status_t ret = AmdExtTable_saved.hsa_amd_pointer_info_set_userdata_fn(ptr, userdata); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_pointer_info_set_userdata, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_amd_ipc_memory_create_callback(void* ptr, size_t len, hsa_amd_ipc_memory_t* handle) { hsa_api_data_t api_data{}; - api_data.args.hsa_amd_ipc_memory_create.handle = handle; api_data.args.hsa_amd_ipc_memory_create.ptr = ptr; api_data.args.hsa_amd_ipc_memory_create.len = len; + api_data.args.hsa_amd_ipc_memory_create.handle = handle; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_amd_ipc_memory_create, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_ipc_memory_create, &api_data, api_callback_arg); hsa_status_t ret = AmdExtTable_saved.hsa_amd_ipc_memory_create_fn(ptr, len, handle); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_ipc_memory_create, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_amd_ipc_memory_attach_callback(const hsa_amd_ipc_memory_t* handle, size_t len, uint32_t num_agents, const hsa_agent_t* mapping_agents, void** mapped_ptr) { hsa_api_data_t api_data{}; - api_data.args.hsa_amd_ipc_memory_attach.mapped_ptr = mapped_ptr; api_data.args.hsa_amd_ipc_memory_attach.handle = handle; - api_data.args.hsa_amd_ipc_memory_attach.mapping_agents = mapping_agents; api_data.args.hsa_amd_ipc_memory_attach.len = len; api_data.args.hsa_amd_ipc_memory_attach.num_agents = num_agents; + api_data.args.hsa_amd_ipc_memory_attach.mapping_agents = mapping_agents; + api_data.args.hsa_amd_ipc_memory_attach.mapped_ptr = mapped_ptr; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_amd_ipc_memory_attach, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_ipc_memory_attach, &api_data, api_callback_arg); hsa_status_t ret = AmdExtTable_saved.hsa_amd_ipc_memory_attach_fn(handle, len, num_agents, mapping_agents, mapped_ptr); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_ipc_memory_attach, &api_data, api_callback_arg); return ret; @@ -3445,23 +3578,25 @@ static hsa_status_t hsa_amd_ipc_memory_detach_callback(void* mapped_ptr) { api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_ipc_memory_detach, &api_data, api_callback_arg); hsa_status_t ret = AmdExtTable_saved.hsa_amd_ipc_memory_detach_fn(mapped_ptr); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_ipc_memory_detach, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_amd_signal_create_callback(hsa_signal_value_t initial_value, uint32_t num_consumers, const hsa_agent_t* consumers, uint64_t attributes, hsa_signal_t* signal) { hsa_api_data_t api_data{}; - api_data.args.hsa_amd_signal_create.attributes = attributes; - api_data.args.hsa_amd_signal_create.signal = signal; + api_data.args.hsa_amd_signal_create.initial_value = initial_value; api_data.args.hsa_amd_signal_create.num_consumers = num_consumers; api_data.args.hsa_amd_signal_create.consumers = consumers; - api_data.args.hsa_amd_signal_create.initial_value = initial_value; + api_data.args.hsa_amd_signal_create.attributes = attributes; + api_data.args.hsa_amd_signal_create.signal = signal; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_amd_signal_create, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_signal_create, &api_data, api_callback_arg); hsa_status_t ret = AmdExtTable_saved.hsa_amd_signal_create_fn(initial_value, num_consumers, consumers, attributes, signal); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_signal_create, &api_data, api_callback_arg); return ret; @@ -3476,20 +3611,22 @@ static hsa_status_t hsa_amd_ipc_signal_create_callback(hsa_signal_t signal, hsa_ api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_ipc_signal_create, &api_data, api_callback_arg); hsa_status_t ret = AmdExtTable_saved.hsa_amd_ipc_signal_create_fn(signal, handle); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_ipc_signal_create, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_amd_ipc_signal_attach_callback(const hsa_amd_ipc_signal_t* handle, hsa_signal_t* signal) { hsa_api_data_t api_data{}; - api_data.args.hsa_amd_ipc_signal_attach.signal = signal; api_data.args.hsa_amd_ipc_signal_attach.handle = handle; + api_data.args.hsa_amd_ipc_signal_attach.signal = signal; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_amd_ipc_signal_attach, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_ipc_signal_attach, &api_data, api_callback_arg); hsa_status_t ret = AmdExtTable_saved.hsa_amd_ipc_signal_attach_fn(handle, signal); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_ipc_signal_attach, &api_data, api_callback_arg); return ret; @@ -3504,6 +3641,7 @@ static hsa_status_t hsa_amd_register_system_event_handler_callback(hsa_amd_syste api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_register_system_event_handler, &api_data, api_callback_arg); hsa_status_t ret = AmdExtTable_saved.hsa_amd_register_system_event_handler_fn(callback, data); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_register_system_event_handler, &api_data, api_callback_arg); return ret; @@ -3511,19 +3649,20 @@ static hsa_status_t hsa_amd_register_system_event_handler_callback(hsa_amd_syste static hsa_status_t hsa_amd_queue_intercept_create_callback(hsa_agent_t agent_handle, uint32_t size, hsa_queue_type32_t type, void (* callback)(hsa_status_t status, hsa_queue_t* source, void* data), void* data, uint32_t private_segment_size, uint32_t group_segment_size, hsa_queue_t** queue) { hsa_api_data_t api_data{}; api_data.args.hsa_amd_queue_intercept_create.agent_handle = agent_handle; - api_data.args.hsa_amd_queue_intercept_create.private_segment_size = private_segment_size; - api_data.args.hsa_amd_queue_intercept_create.data = data; - api_data.args.hsa_amd_queue_intercept_create.queue = queue; - api_data.args.hsa_amd_queue_intercept_create.callback = callback; - api_data.args.hsa_amd_queue_intercept_create.group_segment_size = group_segment_size; - api_data.args.hsa_amd_queue_intercept_create.type = type; api_data.args.hsa_amd_queue_intercept_create.size = size; + api_data.args.hsa_amd_queue_intercept_create.type = type; + api_data.args.hsa_amd_queue_intercept_create.callback = callback; + api_data.args.hsa_amd_queue_intercept_create.data = data; + api_data.args.hsa_amd_queue_intercept_create.private_segment_size = private_segment_size; + api_data.args.hsa_amd_queue_intercept_create.group_segment_size = group_segment_size; + api_data.args.hsa_amd_queue_intercept_create.queue = queue; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_amd_queue_intercept_create, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_queue_intercept_create, &api_data, api_callback_arg); hsa_status_t ret = AmdExtTable_saved.hsa_amd_queue_intercept_create_fn(agent_handle, size, type, callback, data, private_segment_size, group_segment_size, queue); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_queue_intercept_create, &api_data, api_callback_arg); return ret; @@ -3539,6 +3678,7 @@ static hsa_status_t hsa_amd_queue_intercept_register_callback(hsa_queue_t* queue api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_queue_intercept_register, &api_data, api_callback_arg); hsa_status_t ret = AmdExtTable_saved.hsa_amd_queue_intercept_register_fn(queue, callback, user_data); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_queue_intercept_register, &api_data, api_callback_arg); return ret; @@ -3553,28 +3693,30 @@ static hsa_status_t hsa_amd_queue_set_priority_callback(hsa_queue_t* queue, hsa_ api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_queue_set_priority, &api_data, api_callback_arg); hsa_status_t ret = AmdExtTable_saved.hsa_amd_queue_set_priority_fn(queue, priority); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_queue_set_priority, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_amd_memory_async_copy_rect_callback(const hsa_pitched_ptr_t* dst, const hsa_dim3_t* dst_offset, const hsa_pitched_ptr_t* src, const hsa_dim3_t* src_offset, const hsa_dim3_t* range, hsa_agent_t copy_agent, hsa_amd_copy_direction_t dir, uint32_t num_dep_signals, const hsa_signal_t* dep_signals, hsa_signal_t completion_signal) { hsa_api_data_t api_data{}; - api_data.args.hsa_amd_memory_async_copy_rect.completion_signal = completion_signal; + api_data.args.hsa_amd_memory_async_copy_rect.dst = dst; + api_data.args.hsa_amd_memory_async_copy_rect.dst_offset = dst_offset; api_data.args.hsa_amd_memory_async_copy_rect.src = src; api_data.args.hsa_amd_memory_async_copy_rect.src_offset = src_offset; - api_data.args.hsa_amd_memory_async_copy_rect.dst_offset = dst_offset; - api_data.args.hsa_amd_memory_async_copy_rect.dst = dst; - api_data.args.hsa_amd_memory_async_copy_rect.dep_signals = dep_signals; - api_data.args.hsa_amd_memory_async_copy_rect.num_dep_signals = num_dep_signals; api_data.args.hsa_amd_memory_async_copy_rect.range = range; api_data.args.hsa_amd_memory_async_copy_rect.copy_agent = copy_agent; api_data.args.hsa_amd_memory_async_copy_rect.dir = dir; + api_data.args.hsa_amd_memory_async_copy_rect.num_dep_signals = num_dep_signals; + api_data.args.hsa_amd_memory_async_copy_rect.dep_signals = dep_signals; + api_data.args.hsa_amd_memory_async_copy_rect.completion_signal = completion_signal; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_amd_memory_async_copy_rect, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_memory_async_copy_rect, &api_data, api_callback_arg); hsa_status_t ret = AmdExtTable_saved.hsa_amd_memory_async_copy_rect_fn(dst, dst_offset, src, src_offset, range, copy_agent, dir, num_dep_signals, dep_signals, completion_signal); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_memory_async_copy_rect, &api_data, api_callback_arg); return ret; @@ -3589,6 +3731,7 @@ static hsa_status_t hsa_amd_runtime_queue_create_register_callback(hsa_amd_runti api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_runtime_queue_create_register, &api_data, api_callback_arg); hsa_status_t ret = AmdExtTable_saved.hsa_amd_runtime_queue_create_register_fn(callback, user_data); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_runtime_queue_create_register, &api_data, api_callback_arg); return ret; @@ -3597,141 +3740,149 @@ static hsa_status_t hsa_amd_runtime_queue_create_register_callback(hsa_amd_runti // block: ImageExtTable API static hsa_status_t hsa_ext_image_get_capability_callback(hsa_agent_t agent, hsa_ext_image_geometry_t geometry, const hsa_ext_image_format_t* image_format, uint32_t* capability_mask) { hsa_api_data_t api_data{}; - api_data.args.hsa_ext_image_get_capability.geometry = geometry; - api_data.args.hsa_ext_image_get_capability.capability_mask = capability_mask; - api_data.args.hsa_ext_image_get_capability.image_format = image_format; api_data.args.hsa_ext_image_get_capability.agent = agent; + api_data.args.hsa_ext_image_get_capability.geometry = geometry; + api_data.args.hsa_ext_image_get_capability.image_format = image_format; + api_data.args.hsa_ext_image_get_capability.capability_mask = capability_mask; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_ext_image_get_capability, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_ext_image_get_capability, &api_data, api_callback_arg); hsa_status_t ret = ImageExtTable_saved.hsa_ext_image_get_capability_fn(agent, geometry, image_format, capability_mask); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_ext_image_get_capability, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_ext_image_data_get_info_callback(hsa_agent_t agent, const hsa_ext_image_descriptor_t* image_descriptor, hsa_access_permission_t access_permission, hsa_ext_image_data_info_t* image_data_info) { hsa_api_data_t api_data{}; - api_data.args.hsa_ext_image_data_get_info.image_descriptor = image_descriptor; - api_data.args.hsa_ext_image_data_get_info.image_data_info = image_data_info; api_data.args.hsa_ext_image_data_get_info.agent = agent; + api_data.args.hsa_ext_image_data_get_info.image_descriptor = image_descriptor; api_data.args.hsa_ext_image_data_get_info.access_permission = access_permission; + api_data.args.hsa_ext_image_data_get_info.image_data_info = image_data_info; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_ext_image_data_get_info, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_ext_image_data_get_info, &api_data, api_callback_arg); hsa_status_t ret = ImageExtTable_saved.hsa_ext_image_data_get_info_fn(agent, image_descriptor, access_permission, image_data_info); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_ext_image_data_get_info, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_ext_image_create_callback(hsa_agent_t agent, const hsa_ext_image_descriptor_t* image_descriptor, const void* image_data, hsa_access_permission_t access_permission, hsa_ext_image_t* image) { hsa_api_data_t api_data{}; - api_data.args.hsa_ext_image_create.image_data = image_data; - api_data.args.hsa_ext_image_create.image_descriptor = image_descriptor; - api_data.args.hsa_ext_image_create.image = image; api_data.args.hsa_ext_image_create.agent = agent; + api_data.args.hsa_ext_image_create.image_descriptor = image_descriptor; + api_data.args.hsa_ext_image_create.image_data = image_data; api_data.args.hsa_ext_image_create.access_permission = access_permission; + api_data.args.hsa_ext_image_create.image = image; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_ext_image_create, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_ext_image_create, &api_data, api_callback_arg); hsa_status_t ret = ImageExtTable_saved.hsa_ext_image_create_fn(agent, image_descriptor, image_data, access_permission, image); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_ext_image_create, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_ext_image_import_callback(hsa_agent_t agent, const void* src_memory, size_t src_row_pitch, size_t src_slice_pitch, hsa_ext_image_t dst_image, const hsa_ext_image_region_t* image_region) { hsa_api_data_t api_data{}; - api_data.args.hsa_ext_image_import.src_row_pitch = src_row_pitch; - api_data.args.hsa_ext_image_import.image_region = image_region; api_data.args.hsa_ext_image_import.agent = agent; - api_data.args.hsa_ext_image_import.src_slice_pitch = src_slice_pitch; api_data.args.hsa_ext_image_import.src_memory = src_memory; + api_data.args.hsa_ext_image_import.src_row_pitch = src_row_pitch; + api_data.args.hsa_ext_image_import.src_slice_pitch = src_slice_pitch; api_data.args.hsa_ext_image_import.dst_image = dst_image; + api_data.args.hsa_ext_image_import.image_region = image_region; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_ext_image_import, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_ext_image_import, &api_data, api_callback_arg); hsa_status_t ret = ImageExtTable_saved.hsa_ext_image_import_fn(agent, src_memory, src_row_pitch, src_slice_pitch, dst_image, image_region); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_ext_image_import, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_ext_image_export_callback(hsa_agent_t agent, hsa_ext_image_t src_image, void* dst_memory, size_t dst_row_pitch, size_t dst_slice_pitch, const hsa_ext_image_region_t* image_region) { hsa_api_data_t api_data{}; - api_data.args.hsa_ext_image_export.dst_slice_pitch = dst_slice_pitch; - api_data.args.hsa_ext_image_export.image_region = image_region; api_data.args.hsa_ext_image_export.agent = agent; - api_data.args.hsa_ext_image_export.dst_row_pitch = dst_row_pitch; api_data.args.hsa_ext_image_export.src_image = src_image; api_data.args.hsa_ext_image_export.dst_memory = dst_memory; + api_data.args.hsa_ext_image_export.dst_row_pitch = dst_row_pitch; + api_data.args.hsa_ext_image_export.dst_slice_pitch = dst_slice_pitch; + api_data.args.hsa_ext_image_export.image_region = image_region; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_ext_image_export, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_ext_image_export, &api_data, api_callback_arg); hsa_status_t ret = ImageExtTable_saved.hsa_ext_image_export_fn(agent, src_image, dst_memory, dst_row_pitch, dst_slice_pitch, image_region); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_ext_image_export, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_ext_image_copy_callback(hsa_agent_t agent, hsa_ext_image_t src_image, const hsa_dim3_t* src_offset, hsa_ext_image_t dst_image, const hsa_dim3_t* dst_offset, const hsa_dim3_t* range) { hsa_api_data_t api_data{}; - api_data.args.hsa_ext_image_copy.src_offset = src_offset; - api_data.args.hsa_ext_image_copy.dst_offset = dst_offset; api_data.args.hsa_ext_image_copy.agent = agent; - api_data.args.hsa_ext_image_copy.range = range; api_data.args.hsa_ext_image_copy.src_image = src_image; + api_data.args.hsa_ext_image_copy.src_offset = src_offset; api_data.args.hsa_ext_image_copy.dst_image = dst_image; + api_data.args.hsa_ext_image_copy.dst_offset = dst_offset; + api_data.args.hsa_ext_image_copy.range = range; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_ext_image_copy, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_ext_image_copy, &api_data, api_callback_arg); hsa_status_t ret = ImageExtTable_saved.hsa_ext_image_copy_fn(agent, src_image, src_offset, dst_image, dst_offset, range); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_ext_image_copy, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_ext_image_clear_callback(hsa_agent_t agent, hsa_ext_image_t image, const void* data, const hsa_ext_image_region_t* image_region) { hsa_api_data_t api_data{}; + api_data.args.hsa_ext_image_clear.agent = agent; api_data.args.hsa_ext_image_clear.image = image; api_data.args.hsa_ext_image_clear.data = data; api_data.args.hsa_ext_image_clear.image_region = image_region; - api_data.args.hsa_ext_image_clear.agent = agent; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_ext_image_clear, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_ext_image_clear, &api_data, api_callback_arg); hsa_status_t ret = ImageExtTable_saved.hsa_ext_image_clear_fn(agent, image, data, image_region); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_ext_image_clear, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_ext_image_destroy_callback(hsa_agent_t agent, hsa_ext_image_t image) { hsa_api_data_t api_data{}; - api_data.args.hsa_ext_image_destroy.image = image; api_data.args.hsa_ext_image_destroy.agent = agent; + api_data.args.hsa_ext_image_destroy.image = image; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_ext_image_destroy, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_ext_image_destroy, &api_data, api_callback_arg); hsa_status_t ret = ImageExtTable_saved.hsa_ext_image_destroy_fn(agent, image); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_ext_image_destroy, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_ext_sampler_create_callback(hsa_agent_t agent, const hsa_ext_sampler_descriptor_t* sampler_descriptor, hsa_ext_sampler_t* sampler) { hsa_api_data_t api_data{}; - api_data.args.hsa_ext_sampler_create.sampler_descriptor = sampler_descriptor; api_data.args.hsa_ext_sampler_create.agent = agent; + api_data.args.hsa_ext_sampler_create.sampler_descriptor = sampler_descriptor; api_data.args.hsa_ext_sampler_create.sampler = sampler; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; @@ -3739,6 +3890,7 @@ static hsa_status_t hsa_ext_sampler_create_callback(hsa_agent_t agent, const hsa api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_ext_sampler_create, &api_data, api_callback_arg); hsa_status_t ret = ImageExtTable_saved.hsa_ext_sampler_create_fn(agent, sampler_descriptor, sampler); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_ext_sampler_create, &api_data, api_callback_arg); return ret; @@ -3753,34 +3905,36 @@ static hsa_status_t hsa_ext_sampler_destroy_callback(hsa_agent_t agent, hsa_ext_ api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_ext_sampler_destroy, &api_data, api_callback_arg); hsa_status_t ret = ImageExtTable_saved.hsa_ext_sampler_destroy_fn(agent, sampler); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_ext_sampler_destroy, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_ext_image_get_capability_with_layout_callback(hsa_agent_t agent, hsa_ext_image_geometry_t geometry, const hsa_ext_image_format_t* image_format, hsa_ext_image_data_layout_t image_data_layout, uint32_t* capability_mask) { hsa_api_data_t api_data{}; - api_data.args.hsa_ext_image_get_capability_with_layout.geometry = geometry; - api_data.args.hsa_ext_image_get_capability_with_layout.image_data_layout = image_data_layout; - api_data.args.hsa_ext_image_get_capability_with_layout.image_format = image_format; - api_data.args.hsa_ext_image_get_capability_with_layout.capability_mask = capability_mask; api_data.args.hsa_ext_image_get_capability_with_layout.agent = agent; + api_data.args.hsa_ext_image_get_capability_with_layout.geometry = geometry; + api_data.args.hsa_ext_image_get_capability_with_layout.image_format = image_format; + api_data.args.hsa_ext_image_get_capability_with_layout.image_data_layout = image_data_layout; + api_data.args.hsa_ext_image_get_capability_with_layout.capability_mask = capability_mask; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_ext_image_get_capability_with_layout, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_ext_image_get_capability_with_layout, &api_data, api_callback_arg); hsa_status_t ret = ImageExtTable_saved.hsa_ext_image_get_capability_with_layout_fn(agent, geometry, image_format, image_data_layout, capability_mask); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_ext_image_get_capability_with_layout, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_ext_image_data_get_info_with_layout_callback(hsa_agent_t agent, const hsa_ext_image_descriptor_t* image_descriptor, hsa_access_permission_t access_permission, hsa_ext_image_data_layout_t image_data_layout, size_t image_data_row_pitch, size_t image_data_slice_pitch, hsa_ext_image_data_info_t* image_data_info) { hsa_api_data_t api_data{}; + api_data.args.hsa_ext_image_data_get_info_with_layout.agent = agent; api_data.args.hsa_ext_image_data_get_info_with_layout.image_descriptor = image_descriptor; + api_data.args.hsa_ext_image_data_get_info_with_layout.access_permission = access_permission; api_data.args.hsa_ext_image_data_get_info_with_layout.image_data_layout = image_data_layout; api_data.args.hsa_ext_image_data_get_info_with_layout.image_data_row_pitch = image_data_row_pitch; - api_data.args.hsa_ext_image_data_get_info_with_layout.agent = agent; - api_data.args.hsa_ext_image_data_get_info_with_layout.access_permission = access_permission; api_data.args.hsa_ext_image_data_get_info_with_layout.image_data_slice_pitch = image_data_slice_pitch; api_data.args.hsa_ext_image_data_get_info_with_layout.image_data_info = image_data_info; activity_rtapi_callback_t api_callback_fun = NULL; @@ -3789,19 +3943,20 @@ static hsa_status_t hsa_ext_image_data_get_info_with_layout_callback(hsa_agent_t api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_ext_image_data_get_info_with_layout, &api_data, api_callback_arg); hsa_status_t ret = ImageExtTable_saved.hsa_ext_image_data_get_info_with_layout_fn(agent, image_descriptor, access_permission, image_data_layout, image_data_row_pitch, image_data_slice_pitch, image_data_info); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_ext_image_data_get_info_with_layout, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_ext_image_create_with_layout_callback(hsa_agent_t agent, const hsa_ext_image_descriptor_t* image_descriptor, const void* image_data, hsa_access_permission_t access_permission, hsa_ext_image_data_layout_t image_data_layout, size_t image_data_row_pitch, size_t image_data_slice_pitch, hsa_ext_image_t* image) { hsa_api_data_t api_data{}; + api_data.args.hsa_ext_image_create_with_layout.agent = agent; api_data.args.hsa_ext_image_create_with_layout.image_descriptor = image_descriptor; + api_data.args.hsa_ext_image_create_with_layout.image_data = image_data; + api_data.args.hsa_ext_image_create_with_layout.access_permission = access_permission; api_data.args.hsa_ext_image_create_with_layout.image_data_layout = image_data_layout; api_data.args.hsa_ext_image_create_with_layout.image_data_row_pitch = image_data_row_pitch; - api_data.args.hsa_ext_image_create_with_layout.agent = agent; api_data.args.hsa_ext_image_create_with_layout.image_data_slice_pitch = image_data_slice_pitch; - api_data.args.hsa_ext_image_create_with_layout.access_permission = access_permission; - api_data.args.hsa_ext_image_create_with_layout.image_data = image_data; api_data.args.hsa_ext_image_create_with_layout.image = image; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; @@ -3809,6 +3964,7 @@ static hsa_status_t hsa_ext_image_create_with_layout_callback(hsa_agent_t agent, api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_ext_image_create_with_layout, &api_data, api_callback_arg); hsa_status_t ret = ImageExtTable_saved.hsa_ext_image_create_with_layout_fn(agent, image_descriptor, image_data, access_permission, image_data_layout, image_data_row_pitch, image_data_slice_pitch, image); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_ext_image_create_with_layout, &api_data, api_callback_arg); return ret; @@ -4196,11 +4352,2014 @@ static const char* GetApiName(const uint32_t& id) { case HSA_API_ID_hsa_ext_image_get_capability_with_layout: return "hsa_ext_image_get_capability_with_layout"; case HSA_API_ID_hsa_ext_image_data_get_info_with_layout: return "hsa_ext_image_data_get_info_with_layout"; case HSA_API_ID_hsa_ext_image_create_with_layout: return "hsa_ext_image_create_with_layout"; - }; + } return "unknown"; -}; +} };}; #endif // PROF_API_IMPL +// section: API output stream + +typedef std::pair hsa_api_data_pair_t; +inline std::ostream& operator<< (std::ostream& out, const hsa_api_data_pair_t& data_pair) { + const uint32_t cid = data_pair.first; + const hsa_api_data_t& api_data = data_pair.second; + switch(cid) { + // block: CoreApiTable API + case HSA_API_ID_hsa_init: { + out << "hsa_init("; + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_shut_down: { + out << "hsa_shut_down("; + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_system_get_info: { + out << "hsa_system_get_info("; + typedef decltype(api_data.args.hsa_system_get_info.attribute) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_system_get_info.attribute) << ", "; + typedef decltype(api_data.args.hsa_system_get_info.value) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_system_get_info.value); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_system_extension_supported: { + out << "hsa_system_extension_supported("; + typedef decltype(api_data.args.hsa_system_extension_supported.extension) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_system_extension_supported.extension) << ", "; + typedef decltype(api_data.args.hsa_system_extension_supported.version_major) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_system_extension_supported.version_major) << ", "; + typedef decltype(api_data.args.hsa_system_extension_supported.version_minor) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_system_extension_supported.version_minor) << ", "; + typedef decltype(api_data.args.hsa_system_extension_supported.result) arg_val_type_t3; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_system_extension_supported.result); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_system_get_extension_table: { + out << "hsa_system_get_extension_table("; + typedef decltype(api_data.args.hsa_system_get_extension_table.extension) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_system_get_extension_table.extension) << ", "; + typedef decltype(api_data.args.hsa_system_get_extension_table.version_major) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_system_get_extension_table.version_major) << ", "; + typedef decltype(api_data.args.hsa_system_get_extension_table.version_minor) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_system_get_extension_table.version_minor) << ", "; + typedef decltype(api_data.args.hsa_system_get_extension_table.table) arg_val_type_t3; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_system_get_extension_table.table); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_iterate_agents: { + out << "hsa_iterate_agents("; + typedef decltype(api_data.args.hsa_iterate_agents.callback) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_iterate_agents.callback) << ", "; + typedef decltype(api_data.args.hsa_iterate_agents.data) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_iterate_agents.data); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_agent_get_info: { + out << "hsa_agent_get_info("; + typedef decltype(api_data.args.hsa_agent_get_info.agent) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_agent_get_info.agent) << ", "; + typedef decltype(api_data.args.hsa_agent_get_info.attribute) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_agent_get_info.attribute) << ", "; + typedef decltype(api_data.args.hsa_agent_get_info.value) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_agent_get_info.value); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_queue_create: { + out << "hsa_queue_create("; + typedef decltype(api_data.args.hsa_queue_create.agent) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_create.agent) << ", "; + typedef decltype(api_data.args.hsa_queue_create.size) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_create.size) << ", "; + typedef decltype(api_data.args.hsa_queue_create.type) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_create.type) << ", "; + typedef decltype(api_data.args.hsa_queue_create.callback) arg_val_type_t3; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_create.callback) << ", "; + typedef decltype(api_data.args.hsa_queue_create.data) arg_val_type_t4; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_create.data) << ", "; + typedef decltype(api_data.args.hsa_queue_create.private_segment_size) arg_val_type_t5; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_create.private_segment_size) << ", "; + typedef decltype(api_data.args.hsa_queue_create.group_segment_size) arg_val_type_t6; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_create.group_segment_size) << ", "; + typedef decltype(api_data.args.hsa_queue_create.queue) arg_val_type_t7; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_create.queue); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_soft_queue_create: { + out << "hsa_soft_queue_create("; + typedef decltype(api_data.args.hsa_soft_queue_create.region) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_soft_queue_create.region) << ", "; + typedef decltype(api_data.args.hsa_soft_queue_create.size) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_soft_queue_create.size) << ", "; + typedef decltype(api_data.args.hsa_soft_queue_create.type) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_soft_queue_create.type) << ", "; + typedef decltype(api_data.args.hsa_soft_queue_create.features) arg_val_type_t3; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_soft_queue_create.features) << ", "; + typedef decltype(api_data.args.hsa_soft_queue_create.doorbell_signal) arg_val_type_t4; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_soft_queue_create.doorbell_signal) << ", "; + typedef decltype(api_data.args.hsa_soft_queue_create.queue) arg_val_type_t5; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_soft_queue_create.queue); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_queue_destroy: { + out << "hsa_queue_destroy("; + typedef decltype(api_data.args.hsa_queue_destroy.queue) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_destroy.queue); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_queue_inactivate: { + out << "hsa_queue_inactivate("; + typedef decltype(api_data.args.hsa_queue_inactivate.queue) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_inactivate.queue); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_queue_load_read_index_scacquire: { + out << "hsa_queue_load_read_index_scacquire("; + typedef decltype(api_data.args.hsa_queue_load_read_index_scacquire.queue) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_load_read_index_scacquire.queue); + out << ") = " << api_data.uint64_t_retval; + break; + } + case HSA_API_ID_hsa_queue_load_read_index_relaxed: { + out << "hsa_queue_load_read_index_relaxed("; + typedef decltype(api_data.args.hsa_queue_load_read_index_relaxed.queue) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_load_read_index_relaxed.queue); + out << ") = " << api_data.uint64_t_retval; + break; + } + case HSA_API_ID_hsa_queue_load_write_index_scacquire: { + out << "hsa_queue_load_write_index_scacquire("; + typedef decltype(api_data.args.hsa_queue_load_write_index_scacquire.queue) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_load_write_index_scacquire.queue); + out << ") = " << api_data.uint64_t_retval; + break; + } + case HSA_API_ID_hsa_queue_load_write_index_relaxed: { + out << "hsa_queue_load_write_index_relaxed("; + typedef decltype(api_data.args.hsa_queue_load_write_index_relaxed.queue) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_load_write_index_relaxed.queue); + out << ") = " << api_data.uint64_t_retval; + break; + } + case HSA_API_ID_hsa_queue_store_write_index_relaxed: { + out << "hsa_queue_store_write_index_relaxed("; + typedef decltype(api_data.args.hsa_queue_store_write_index_relaxed.queue) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_store_write_index_relaxed.queue) << ", "; + typedef decltype(api_data.args.hsa_queue_store_write_index_relaxed.value) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_store_write_index_relaxed.value); + out << ") = void"; + break; + } + case HSA_API_ID_hsa_queue_store_write_index_screlease: { + out << "hsa_queue_store_write_index_screlease("; + typedef decltype(api_data.args.hsa_queue_store_write_index_screlease.queue) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_store_write_index_screlease.queue) << ", "; + typedef decltype(api_data.args.hsa_queue_store_write_index_screlease.value) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_store_write_index_screlease.value); + out << ") = void"; + break; + } + case HSA_API_ID_hsa_queue_cas_write_index_scacq_screl: { + out << "hsa_queue_cas_write_index_scacq_screl("; + typedef decltype(api_data.args.hsa_queue_cas_write_index_scacq_screl.queue) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_cas_write_index_scacq_screl.queue) << ", "; + typedef decltype(api_data.args.hsa_queue_cas_write_index_scacq_screl.expected) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_cas_write_index_scacq_screl.expected) << ", "; + typedef decltype(api_data.args.hsa_queue_cas_write_index_scacq_screl.value) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_cas_write_index_scacq_screl.value); + out << ") = " << api_data.uint64_t_retval; + break; + } + case HSA_API_ID_hsa_queue_cas_write_index_scacquire: { + out << "hsa_queue_cas_write_index_scacquire("; + typedef decltype(api_data.args.hsa_queue_cas_write_index_scacquire.queue) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_cas_write_index_scacquire.queue) << ", "; + typedef decltype(api_data.args.hsa_queue_cas_write_index_scacquire.expected) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_cas_write_index_scacquire.expected) << ", "; + typedef decltype(api_data.args.hsa_queue_cas_write_index_scacquire.value) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_cas_write_index_scacquire.value); + out << ") = " << api_data.uint64_t_retval; + break; + } + case HSA_API_ID_hsa_queue_cas_write_index_relaxed: { + out << "hsa_queue_cas_write_index_relaxed("; + typedef decltype(api_data.args.hsa_queue_cas_write_index_relaxed.queue) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_cas_write_index_relaxed.queue) << ", "; + typedef decltype(api_data.args.hsa_queue_cas_write_index_relaxed.expected) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_cas_write_index_relaxed.expected) << ", "; + typedef decltype(api_data.args.hsa_queue_cas_write_index_relaxed.value) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_cas_write_index_relaxed.value); + out << ") = " << api_data.uint64_t_retval; + break; + } + case HSA_API_ID_hsa_queue_cas_write_index_screlease: { + out << "hsa_queue_cas_write_index_screlease("; + typedef decltype(api_data.args.hsa_queue_cas_write_index_screlease.queue) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_cas_write_index_screlease.queue) << ", "; + typedef decltype(api_data.args.hsa_queue_cas_write_index_screlease.expected) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_cas_write_index_screlease.expected) << ", "; + typedef decltype(api_data.args.hsa_queue_cas_write_index_screlease.value) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_cas_write_index_screlease.value); + out << ") = " << api_data.uint64_t_retval; + break; + } + case HSA_API_ID_hsa_queue_add_write_index_scacq_screl: { + out << "hsa_queue_add_write_index_scacq_screl("; + typedef decltype(api_data.args.hsa_queue_add_write_index_scacq_screl.queue) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_add_write_index_scacq_screl.queue) << ", "; + typedef decltype(api_data.args.hsa_queue_add_write_index_scacq_screl.value) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_add_write_index_scacq_screl.value); + out << ") = " << api_data.uint64_t_retval; + break; + } + case HSA_API_ID_hsa_queue_add_write_index_scacquire: { + out << "hsa_queue_add_write_index_scacquire("; + typedef decltype(api_data.args.hsa_queue_add_write_index_scacquire.queue) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_add_write_index_scacquire.queue) << ", "; + typedef decltype(api_data.args.hsa_queue_add_write_index_scacquire.value) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_add_write_index_scacquire.value); + out << ") = " << api_data.uint64_t_retval; + break; + } + case HSA_API_ID_hsa_queue_add_write_index_relaxed: { + out << "hsa_queue_add_write_index_relaxed("; + typedef decltype(api_data.args.hsa_queue_add_write_index_relaxed.queue) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_add_write_index_relaxed.queue) << ", "; + typedef decltype(api_data.args.hsa_queue_add_write_index_relaxed.value) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_add_write_index_relaxed.value); + out << ") = " << api_data.uint64_t_retval; + break; + } + case HSA_API_ID_hsa_queue_add_write_index_screlease: { + out << "hsa_queue_add_write_index_screlease("; + typedef decltype(api_data.args.hsa_queue_add_write_index_screlease.queue) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_add_write_index_screlease.queue) << ", "; + typedef decltype(api_data.args.hsa_queue_add_write_index_screlease.value) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_add_write_index_screlease.value); + out << ") = " << api_data.uint64_t_retval; + break; + } + case HSA_API_ID_hsa_queue_store_read_index_relaxed: { + out << "hsa_queue_store_read_index_relaxed("; + typedef decltype(api_data.args.hsa_queue_store_read_index_relaxed.queue) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_store_read_index_relaxed.queue) << ", "; + typedef decltype(api_data.args.hsa_queue_store_read_index_relaxed.value) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_store_read_index_relaxed.value); + out << ") = void"; + break; + } + case HSA_API_ID_hsa_queue_store_read_index_screlease: { + out << "hsa_queue_store_read_index_screlease("; + typedef decltype(api_data.args.hsa_queue_store_read_index_screlease.queue) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_store_read_index_screlease.queue) << ", "; + typedef decltype(api_data.args.hsa_queue_store_read_index_screlease.value) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_store_read_index_screlease.value); + out << ") = void"; + break; + } + case HSA_API_ID_hsa_agent_iterate_regions: { + out << "hsa_agent_iterate_regions("; + typedef decltype(api_data.args.hsa_agent_iterate_regions.agent) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_agent_iterate_regions.agent) << ", "; + typedef decltype(api_data.args.hsa_agent_iterate_regions.callback) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_agent_iterate_regions.callback) << ", "; + typedef decltype(api_data.args.hsa_agent_iterate_regions.data) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_agent_iterate_regions.data); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_region_get_info: { + out << "hsa_region_get_info("; + typedef decltype(api_data.args.hsa_region_get_info.region) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_region_get_info.region) << ", "; + typedef decltype(api_data.args.hsa_region_get_info.attribute) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_region_get_info.attribute) << ", "; + typedef decltype(api_data.args.hsa_region_get_info.value) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_region_get_info.value); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_agent_get_exception_policies: { + out << "hsa_agent_get_exception_policies("; + typedef decltype(api_data.args.hsa_agent_get_exception_policies.agent) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_agent_get_exception_policies.agent) << ", "; + typedef decltype(api_data.args.hsa_agent_get_exception_policies.profile) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_agent_get_exception_policies.profile) << ", "; + typedef decltype(api_data.args.hsa_agent_get_exception_policies.mask) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_agent_get_exception_policies.mask); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_agent_extension_supported: { + out << "hsa_agent_extension_supported("; + typedef decltype(api_data.args.hsa_agent_extension_supported.extension) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_agent_extension_supported.extension) << ", "; + typedef decltype(api_data.args.hsa_agent_extension_supported.agent) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_agent_extension_supported.agent) << ", "; + typedef decltype(api_data.args.hsa_agent_extension_supported.version_major) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_agent_extension_supported.version_major) << ", "; + typedef decltype(api_data.args.hsa_agent_extension_supported.version_minor) arg_val_type_t3; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_agent_extension_supported.version_minor) << ", "; + typedef decltype(api_data.args.hsa_agent_extension_supported.result) arg_val_type_t4; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_agent_extension_supported.result); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_memory_register: { + out << "hsa_memory_register("; + typedef decltype(api_data.args.hsa_memory_register.ptr) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_memory_register.ptr) << ", "; + typedef decltype(api_data.args.hsa_memory_register.size) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_memory_register.size); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_memory_deregister: { + out << "hsa_memory_deregister("; + typedef decltype(api_data.args.hsa_memory_deregister.ptr) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_memory_deregister.ptr) << ", "; + typedef decltype(api_data.args.hsa_memory_deregister.size) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_memory_deregister.size); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_memory_allocate: { + out << "hsa_memory_allocate("; + typedef decltype(api_data.args.hsa_memory_allocate.region) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_memory_allocate.region) << ", "; + typedef decltype(api_data.args.hsa_memory_allocate.size) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_memory_allocate.size) << ", "; + typedef decltype(api_data.args.hsa_memory_allocate.ptr) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_memory_allocate.ptr); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_memory_free: { + out << "hsa_memory_free("; + typedef decltype(api_data.args.hsa_memory_free.ptr) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_memory_free.ptr); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_memory_copy: { + out << "hsa_memory_copy("; + typedef decltype(api_data.args.hsa_memory_copy.dst) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_memory_copy.dst) << ", "; + typedef decltype(api_data.args.hsa_memory_copy.src) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_memory_copy.src) << ", "; + typedef decltype(api_data.args.hsa_memory_copy.size) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_memory_copy.size); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_memory_assign_agent: { + out << "hsa_memory_assign_agent("; + typedef decltype(api_data.args.hsa_memory_assign_agent.ptr) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_memory_assign_agent.ptr) << ", "; + typedef decltype(api_data.args.hsa_memory_assign_agent.agent) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_memory_assign_agent.agent) << ", "; + typedef decltype(api_data.args.hsa_memory_assign_agent.access) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_memory_assign_agent.access); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_signal_create: { + out << "hsa_signal_create("; + typedef decltype(api_data.args.hsa_signal_create.initial_value) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_create.initial_value) << ", "; + typedef decltype(api_data.args.hsa_signal_create.num_consumers) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_create.num_consumers) << ", "; + typedef decltype(api_data.args.hsa_signal_create.consumers) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_create.consumers) << ", "; + typedef decltype(api_data.args.hsa_signal_create.signal) arg_val_type_t3; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_create.signal); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_signal_destroy: { + out << "hsa_signal_destroy("; + typedef decltype(api_data.args.hsa_signal_destroy.signal) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_destroy.signal); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_signal_load_relaxed: { + out << "hsa_signal_load_relaxed("; + typedef decltype(api_data.args.hsa_signal_load_relaxed.signal) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_load_relaxed.signal); + out << ") = " << api_data.hsa_signal_value_t_retval; + break; + } + case HSA_API_ID_hsa_signal_load_scacquire: { + out << "hsa_signal_load_scacquire("; + typedef decltype(api_data.args.hsa_signal_load_scacquire.signal) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_load_scacquire.signal); + out << ") = " << api_data.hsa_signal_value_t_retval; + break; + } + case HSA_API_ID_hsa_signal_store_relaxed: { + out << "hsa_signal_store_relaxed("; + typedef decltype(api_data.args.hsa_signal_store_relaxed.signal) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_store_relaxed.signal) << ", "; + typedef decltype(api_data.args.hsa_signal_store_relaxed.value) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_store_relaxed.value); + out << ") = void"; + break; + } + case HSA_API_ID_hsa_signal_store_screlease: { + out << "hsa_signal_store_screlease("; + typedef decltype(api_data.args.hsa_signal_store_screlease.signal) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_store_screlease.signal) << ", "; + typedef decltype(api_data.args.hsa_signal_store_screlease.value) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_store_screlease.value); + out << ") = void"; + break; + } + case HSA_API_ID_hsa_signal_wait_relaxed: { + out << "hsa_signal_wait_relaxed("; + typedef decltype(api_data.args.hsa_signal_wait_relaxed.signal) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_wait_relaxed.signal) << ", "; + typedef decltype(api_data.args.hsa_signal_wait_relaxed.condition) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_wait_relaxed.condition) << ", "; + typedef decltype(api_data.args.hsa_signal_wait_relaxed.compare_value) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_wait_relaxed.compare_value) << ", "; + typedef decltype(api_data.args.hsa_signal_wait_relaxed.timeout_hint) arg_val_type_t3; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_wait_relaxed.timeout_hint) << ", "; + typedef decltype(api_data.args.hsa_signal_wait_relaxed.wait_state_hint) arg_val_type_t4; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_wait_relaxed.wait_state_hint); + out << ") = " << api_data.hsa_signal_value_t_retval; + break; + } + case HSA_API_ID_hsa_signal_wait_scacquire: { + out << "hsa_signal_wait_scacquire("; + typedef decltype(api_data.args.hsa_signal_wait_scacquire.signal) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_wait_scacquire.signal) << ", "; + typedef decltype(api_data.args.hsa_signal_wait_scacquire.condition) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_wait_scacquire.condition) << ", "; + typedef decltype(api_data.args.hsa_signal_wait_scacquire.compare_value) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_wait_scacquire.compare_value) << ", "; + typedef decltype(api_data.args.hsa_signal_wait_scacquire.timeout_hint) arg_val_type_t3; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_wait_scacquire.timeout_hint) << ", "; + typedef decltype(api_data.args.hsa_signal_wait_scacquire.wait_state_hint) arg_val_type_t4; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_wait_scacquire.wait_state_hint); + out << ") = " << api_data.hsa_signal_value_t_retval; + break; + } + case HSA_API_ID_hsa_signal_and_relaxed: { + out << "hsa_signal_and_relaxed("; + typedef decltype(api_data.args.hsa_signal_and_relaxed.signal) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_and_relaxed.signal) << ", "; + typedef decltype(api_data.args.hsa_signal_and_relaxed.value) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_and_relaxed.value); + out << ") = void"; + break; + } + case HSA_API_ID_hsa_signal_and_scacquire: { + out << "hsa_signal_and_scacquire("; + typedef decltype(api_data.args.hsa_signal_and_scacquire.signal) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_and_scacquire.signal) << ", "; + typedef decltype(api_data.args.hsa_signal_and_scacquire.value) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_and_scacquire.value); + out << ") = void"; + break; + } + case HSA_API_ID_hsa_signal_and_screlease: { + out << "hsa_signal_and_screlease("; + typedef decltype(api_data.args.hsa_signal_and_screlease.signal) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_and_screlease.signal) << ", "; + typedef decltype(api_data.args.hsa_signal_and_screlease.value) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_and_screlease.value); + out << ") = void"; + break; + } + case HSA_API_ID_hsa_signal_and_scacq_screl: { + out << "hsa_signal_and_scacq_screl("; + typedef decltype(api_data.args.hsa_signal_and_scacq_screl.signal) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_and_scacq_screl.signal) << ", "; + typedef decltype(api_data.args.hsa_signal_and_scacq_screl.value) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_and_scacq_screl.value); + out << ") = void"; + break; + } + case HSA_API_ID_hsa_signal_or_relaxed: { + out << "hsa_signal_or_relaxed("; + typedef decltype(api_data.args.hsa_signal_or_relaxed.signal) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_or_relaxed.signal) << ", "; + typedef decltype(api_data.args.hsa_signal_or_relaxed.value) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_or_relaxed.value); + out << ") = void"; + break; + } + case HSA_API_ID_hsa_signal_or_scacquire: { + out << "hsa_signal_or_scacquire("; + typedef decltype(api_data.args.hsa_signal_or_scacquire.signal) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_or_scacquire.signal) << ", "; + typedef decltype(api_data.args.hsa_signal_or_scacquire.value) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_or_scacquire.value); + out << ") = void"; + break; + } + case HSA_API_ID_hsa_signal_or_screlease: { + out << "hsa_signal_or_screlease("; + typedef decltype(api_data.args.hsa_signal_or_screlease.signal) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_or_screlease.signal) << ", "; + typedef decltype(api_data.args.hsa_signal_or_screlease.value) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_or_screlease.value); + out << ") = void"; + break; + } + case HSA_API_ID_hsa_signal_or_scacq_screl: { + out << "hsa_signal_or_scacq_screl("; + typedef decltype(api_data.args.hsa_signal_or_scacq_screl.signal) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_or_scacq_screl.signal) << ", "; + typedef decltype(api_data.args.hsa_signal_or_scacq_screl.value) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_or_scacq_screl.value); + out << ") = void"; + break; + } + case HSA_API_ID_hsa_signal_xor_relaxed: { + out << "hsa_signal_xor_relaxed("; + typedef decltype(api_data.args.hsa_signal_xor_relaxed.signal) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_xor_relaxed.signal) << ", "; + typedef decltype(api_data.args.hsa_signal_xor_relaxed.value) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_xor_relaxed.value); + out << ") = void"; + break; + } + case HSA_API_ID_hsa_signal_xor_scacquire: { + out << "hsa_signal_xor_scacquire("; + typedef decltype(api_data.args.hsa_signal_xor_scacquire.signal) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_xor_scacquire.signal) << ", "; + typedef decltype(api_data.args.hsa_signal_xor_scacquire.value) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_xor_scacquire.value); + out << ") = void"; + break; + } + case HSA_API_ID_hsa_signal_xor_screlease: { + out << "hsa_signal_xor_screlease("; + typedef decltype(api_data.args.hsa_signal_xor_screlease.signal) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_xor_screlease.signal) << ", "; + typedef decltype(api_data.args.hsa_signal_xor_screlease.value) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_xor_screlease.value); + out << ") = void"; + break; + } + case HSA_API_ID_hsa_signal_xor_scacq_screl: { + out << "hsa_signal_xor_scacq_screl("; + typedef decltype(api_data.args.hsa_signal_xor_scacq_screl.signal) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_xor_scacq_screl.signal) << ", "; + typedef decltype(api_data.args.hsa_signal_xor_scacq_screl.value) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_xor_scacq_screl.value); + out << ") = void"; + break; + } + case HSA_API_ID_hsa_signal_exchange_relaxed: { + out << "hsa_signal_exchange_relaxed("; + typedef decltype(api_data.args.hsa_signal_exchange_relaxed.signal) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_exchange_relaxed.signal) << ", "; + typedef decltype(api_data.args.hsa_signal_exchange_relaxed.value) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_exchange_relaxed.value); + out << ") = " << api_data.hsa_signal_value_t_retval; + break; + } + case HSA_API_ID_hsa_signal_exchange_scacquire: { + out << "hsa_signal_exchange_scacquire("; + typedef decltype(api_data.args.hsa_signal_exchange_scacquire.signal) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_exchange_scacquire.signal) << ", "; + typedef decltype(api_data.args.hsa_signal_exchange_scacquire.value) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_exchange_scacquire.value); + out << ") = " << api_data.hsa_signal_value_t_retval; + break; + } + case HSA_API_ID_hsa_signal_exchange_screlease: { + out << "hsa_signal_exchange_screlease("; + typedef decltype(api_data.args.hsa_signal_exchange_screlease.signal) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_exchange_screlease.signal) << ", "; + typedef decltype(api_data.args.hsa_signal_exchange_screlease.value) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_exchange_screlease.value); + out << ") = " << api_data.hsa_signal_value_t_retval; + break; + } + case HSA_API_ID_hsa_signal_exchange_scacq_screl: { + out << "hsa_signal_exchange_scacq_screl("; + typedef decltype(api_data.args.hsa_signal_exchange_scacq_screl.signal) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_exchange_scacq_screl.signal) << ", "; + typedef decltype(api_data.args.hsa_signal_exchange_scacq_screl.value) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_exchange_scacq_screl.value); + out << ") = " << api_data.hsa_signal_value_t_retval; + break; + } + case HSA_API_ID_hsa_signal_add_relaxed: { + out << "hsa_signal_add_relaxed("; + typedef decltype(api_data.args.hsa_signal_add_relaxed.signal) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_add_relaxed.signal) << ", "; + typedef decltype(api_data.args.hsa_signal_add_relaxed.value) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_add_relaxed.value); + out << ") = void"; + break; + } + case HSA_API_ID_hsa_signal_add_scacquire: { + out << "hsa_signal_add_scacquire("; + typedef decltype(api_data.args.hsa_signal_add_scacquire.signal) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_add_scacquire.signal) << ", "; + typedef decltype(api_data.args.hsa_signal_add_scacquire.value) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_add_scacquire.value); + out << ") = void"; + break; + } + case HSA_API_ID_hsa_signal_add_screlease: { + out << "hsa_signal_add_screlease("; + typedef decltype(api_data.args.hsa_signal_add_screlease.signal) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_add_screlease.signal) << ", "; + typedef decltype(api_data.args.hsa_signal_add_screlease.value) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_add_screlease.value); + out << ") = void"; + break; + } + case HSA_API_ID_hsa_signal_add_scacq_screl: { + out << "hsa_signal_add_scacq_screl("; + typedef decltype(api_data.args.hsa_signal_add_scacq_screl.signal) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_add_scacq_screl.signal) << ", "; + typedef decltype(api_data.args.hsa_signal_add_scacq_screl.value) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_add_scacq_screl.value); + out << ") = void"; + break; + } + case HSA_API_ID_hsa_signal_subtract_relaxed: { + out << "hsa_signal_subtract_relaxed("; + typedef decltype(api_data.args.hsa_signal_subtract_relaxed.signal) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_subtract_relaxed.signal) << ", "; + typedef decltype(api_data.args.hsa_signal_subtract_relaxed.value) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_subtract_relaxed.value); + out << ") = void"; + break; + } + case HSA_API_ID_hsa_signal_subtract_scacquire: { + out << "hsa_signal_subtract_scacquire("; + typedef decltype(api_data.args.hsa_signal_subtract_scacquire.signal) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_subtract_scacquire.signal) << ", "; + typedef decltype(api_data.args.hsa_signal_subtract_scacquire.value) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_subtract_scacquire.value); + out << ") = void"; + break; + } + case HSA_API_ID_hsa_signal_subtract_screlease: { + out << "hsa_signal_subtract_screlease("; + typedef decltype(api_data.args.hsa_signal_subtract_screlease.signal) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_subtract_screlease.signal) << ", "; + typedef decltype(api_data.args.hsa_signal_subtract_screlease.value) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_subtract_screlease.value); + out << ") = void"; + break; + } + case HSA_API_ID_hsa_signal_subtract_scacq_screl: { + out << "hsa_signal_subtract_scacq_screl("; + typedef decltype(api_data.args.hsa_signal_subtract_scacq_screl.signal) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_subtract_scacq_screl.signal) << ", "; + typedef decltype(api_data.args.hsa_signal_subtract_scacq_screl.value) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_subtract_scacq_screl.value); + out << ") = void"; + break; + } + case HSA_API_ID_hsa_signal_cas_relaxed: { + out << "hsa_signal_cas_relaxed("; + typedef decltype(api_data.args.hsa_signal_cas_relaxed.signal) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_cas_relaxed.signal) << ", "; + typedef decltype(api_data.args.hsa_signal_cas_relaxed.expected) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_cas_relaxed.expected) << ", "; + typedef decltype(api_data.args.hsa_signal_cas_relaxed.value) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_cas_relaxed.value); + out << ") = " << api_data.hsa_signal_value_t_retval; + break; + } + case HSA_API_ID_hsa_signal_cas_scacquire: { + out << "hsa_signal_cas_scacquire("; + typedef decltype(api_data.args.hsa_signal_cas_scacquire.signal) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_cas_scacquire.signal) << ", "; + typedef decltype(api_data.args.hsa_signal_cas_scacquire.expected) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_cas_scacquire.expected) << ", "; + typedef decltype(api_data.args.hsa_signal_cas_scacquire.value) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_cas_scacquire.value); + out << ") = " << api_data.hsa_signal_value_t_retval; + break; + } + case HSA_API_ID_hsa_signal_cas_screlease: { + out << "hsa_signal_cas_screlease("; + typedef decltype(api_data.args.hsa_signal_cas_screlease.signal) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_cas_screlease.signal) << ", "; + typedef decltype(api_data.args.hsa_signal_cas_screlease.expected) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_cas_screlease.expected) << ", "; + typedef decltype(api_data.args.hsa_signal_cas_screlease.value) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_cas_screlease.value); + out << ") = " << api_data.hsa_signal_value_t_retval; + break; + } + case HSA_API_ID_hsa_signal_cas_scacq_screl: { + out << "hsa_signal_cas_scacq_screl("; + typedef decltype(api_data.args.hsa_signal_cas_scacq_screl.signal) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_cas_scacq_screl.signal) << ", "; + typedef decltype(api_data.args.hsa_signal_cas_scacq_screl.expected) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_cas_scacq_screl.expected) << ", "; + typedef decltype(api_data.args.hsa_signal_cas_scacq_screl.value) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_cas_scacq_screl.value); + out << ") = " << api_data.hsa_signal_value_t_retval; + break; + } + case HSA_API_ID_hsa_isa_from_name: { + out << "hsa_isa_from_name("; + typedef decltype(api_data.args.hsa_isa_from_name.name) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_isa_from_name.name) << ", "; + typedef decltype(api_data.args.hsa_isa_from_name.isa) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_isa_from_name.isa); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_isa_get_info: { + out << "hsa_isa_get_info("; + typedef decltype(api_data.args.hsa_isa_get_info.isa) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_isa_get_info.isa) << ", "; + typedef decltype(api_data.args.hsa_isa_get_info.attribute) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_isa_get_info.attribute) << ", "; + typedef decltype(api_data.args.hsa_isa_get_info.index) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_isa_get_info.index) << ", "; + typedef decltype(api_data.args.hsa_isa_get_info.value) arg_val_type_t3; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_isa_get_info.value); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_isa_compatible: { + out << "hsa_isa_compatible("; + typedef decltype(api_data.args.hsa_isa_compatible.code_object_isa) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_isa_compatible.code_object_isa) << ", "; + typedef decltype(api_data.args.hsa_isa_compatible.agent_isa) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_isa_compatible.agent_isa) << ", "; + typedef decltype(api_data.args.hsa_isa_compatible.result) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_isa_compatible.result); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_code_object_serialize: { + out << "hsa_code_object_serialize("; + typedef decltype(api_data.args.hsa_code_object_serialize.code_object) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_code_object_serialize.code_object) << ", "; + typedef decltype(api_data.args.hsa_code_object_serialize.alloc_callback) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_code_object_serialize.alloc_callback) << ", "; + typedef decltype(api_data.args.hsa_code_object_serialize.callback_data) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_code_object_serialize.callback_data) << ", "; + typedef decltype(api_data.args.hsa_code_object_serialize.options) arg_val_type_t3; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_code_object_serialize.options) << ", "; + typedef decltype(api_data.args.hsa_code_object_serialize.serialized_code_object) arg_val_type_t4; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_code_object_serialize.serialized_code_object) << ", "; + typedef decltype(api_data.args.hsa_code_object_serialize.serialized_code_object_size) arg_val_type_t5; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_code_object_serialize.serialized_code_object_size); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_code_object_deserialize: { + out << "hsa_code_object_deserialize("; + typedef decltype(api_data.args.hsa_code_object_deserialize.serialized_code_object) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_code_object_deserialize.serialized_code_object) << ", "; + typedef decltype(api_data.args.hsa_code_object_deserialize.serialized_code_object_size) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_code_object_deserialize.serialized_code_object_size) << ", "; + typedef decltype(api_data.args.hsa_code_object_deserialize.options) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_code_object_deserialize.options) << ", "; + typedef decltype(api_data.args.hsa_code_object_deserialize.code_object) arg_val_type_t3; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_code_object_deserialize.code_object); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_code_object_destroy: { + out << "hsa_code_object_destroy("; + typedef decltype(api_data.args.hsa_code_object_destroy.code_object) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_code_object_destroy.code_object); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_code_object_get_info: { + out << "hsa_code_object_get_info("; + typedef decltype(api_data.args.hsa_code_object_get_info.code_object) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_code_object_get_info.code_object) << ", "; + typedef decltype(api_data.args.hsa_code_object_get_info.attribute) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_code_object_get_info.attribute) << ", "; + typedef decltype(api_data.args.hsa_code_object_get_info.value) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_code_object_get_info.value); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_code_object_get_symbol: { + out << "hsa_code_object_get_symbol("; + typedef decltype(api_data.args.hsa_code_object_get_symbol.code_object) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_code_object_get_symbol.code_object) << ", "; + typedef decltype(api_data.args.hsa_code_object_get_symbol.symbol_name) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_code_object_get_symbol.symbol_name) << ", "; + typedef decltype(api_data.args.hsa_code_object_get_symbol.symbol) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_code_object_get_symbol.symbol); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_code_symbol_get_info: { + out << "hsa_code_symbol_get_info("; + typedef decltype(api_data.args.hsa_code_symbol_get_info.code_symbol) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_code_symbol_get_info.code_symbol) << ", "; + typedef decltype(api_data.args.hsa_code_symbol_get_info.attribute) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_code_symbol_get_info.attribute) << ", "; + typedef decltype(api_data.args.hsa_code_symbol_get_info.value) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_code_symbol_get_info.value); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_code_object_iterate_symbols: { + out << "hsa_code_object_iterate_symbols("; + typedef decltype(api_data.args.hsa_code_object_iterate_symbols.code_object) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_code_object_iterate_symbols.code_object) << ", "; + typedef decltype(api_data.args.hsa_code_object_iterate_symbols.callback) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_code_object_iterate_symbols.callback) << ", "; + typedef decltype(api_data.args.hsa_code_object_iterate_symbols.data) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_code_object_iterate_symbols.data); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_executable_create: { + out << "hsa_executable_create("; + typedef decltype(api_data.args.hsa_executable_create.profile) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_create.profile) << ", "; + typedef decltype(api_data.args.hsa_executable_create.executable_state) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_create.executable_state) << ", "; + typedef decltype(api_data.args.hsa_executable_create.options) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_create.options) << ", "; + typedef decltype(api_data.args.hsa_executable_create.executable) arg_val_type_t3; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_create.executable); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_executable_destroy: { + out << "hsa_executable_destroy("; + typedef decltype(api_data.args.hsa_executable_destroy.executable) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_destroy.executable); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_executable_load_code_object: { + out << "hsa_executable_load_code_object("; + typedef decltype(api_data.args.hsa_executable_load_code_object.executable) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_load_code_object.executable) << ", "; + typedef decltype(api_data.args.hsa_executable_load_code_object.agent) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_load_code_object.agent) << ", "; + typedef decltype(api_data.args.hsa_executable_load_code_object.code_object) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_load_code_object.code_object) << ", "; + typedef decltype(api_data.args.hsa_executable_load_code_object.options) arg_val_type_t3; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_load_code_object.options); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_executable_freeze: { + out << "hsa_executable_freeze("; + typedef decltype(api_data.args.hsa_executable_freeze.executable) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_freeze.executable) << ", "; + typedef decltype(api_data.args.hsa_executable_freeze.options) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_freeze.options); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_executable_get_info: { + out << "hsa_executable_get_info("; + typedef decltype(api_data.args.hsa_executable_get_info.executable) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_get_info.executable) << ", "; + typedef decltype(api_data.args.hsa_executable_get_info.attribute) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_get_info.attribute) << ", "; + typedef decltype(api_data.args.hsa_executable_get_info.value) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_get_info.value); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_executable_global_variable_define: { + out << "hsa_executable_global_variable_define("; + typedef decltype(api_data.args.hsa_executable_global_variable_define.executable) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_global_variable_define.executable) << ", "; + typedef decltype(api_data.args.hsa_executable_global_variable_define.variable_name) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_global_variable_define.variable_name) << ", "; + typedef decltype(api_data.args.hsa_executable_global_variable_define.address) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_global_variable_define.address); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_executable_agent_global_variable_define: { + out << "hsa_executable_agent_global_variable_define("; + typedef decltype(api_data.args.hsa_executable_agent_global_variable_define.executable) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_agent_global_variable_define.executable) << ", "; + typedef decltype(api_data.args.hsa_executable_agent_global_variable_define.agent) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_agent_global_variable_define.agent) << ", "; + typedef decltype(api_data.args.hsa_executable_agent_global_variable_define.variable_name) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_agent_global_variable_define.variable_name) << ", "; + typedef decltype(api_data.args.hsa_executable_agent_global_variable_define.address) arg_val_type_t3; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_agent_global_variable_define.address); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_executable_readonly_variable_define: { + out << "hsa_executable_readonly_variable_define("; + typedef decltype(api_data.args.hsa_executable_readonly_variable_define.executable) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_readonly_variable_define.executable) << ", "; + typedef decltype(api_data.args.hsa_executable_readonly_variable_define.agent) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_readonly_variable_define.agent) << ", "; + typedef decltype(api_data.args.hsa_executable_readonly_variable_define.variable_name) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_readonly_variable_define.variable_name) << ", "; + typedef decltype(api_data.args.hsa_executable_readonly_variable_define.address) arg_val_type_t3; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_readonly_variable_define.address); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_executable_validate: { + out << "hsa_executable_validate("; + typedef decltype(api_data.args.hsa_executable_validate.executable) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_validate.executable) << ", "; + typedef decltype(api_data.args.hsa_executable_validate.result) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_validate.result); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_executable_get_symbol: { + out << "hsa_executable_get_symbol("; + typedef decltype(api_data.args.hsa_executable_get_symbol.executable) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_get_symbol.executable) << ", "; + typedef decltype(api_data.args.hsa_executable_get_symbol.module_name) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_get_symbol.module_name) << ", "; + typedef decltype(api_data.args.hsa_executable_get_symbol.symbol_name) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_get_symbol.symbol_name) << ", "; + typedef decltype(api_data.args.hsa_executable_get_symbol.agent) arg_val_type_t3; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_get_symbol.agent) << ", "; + typedef decltype(api_data.args.hsa_executable_get_symbol.call_convention) arg_val_type_t4; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_get_symbol.call_convention) << ", "; + typedef decltype(api_data.args.hsa_executable_get_symbol.symbol) arg_val_type_t5; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_get_symbol.symbol); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_executable_symbol_get_info: { + out << "hsa_executable_symbol_get_info("; + typedef decltype(api_data.args.hsa_executable_symbol_get_info.executable_symbol) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_symbol_get_info.executable_symbol) << ", "; + typedef decltype(api_data.args.hsa_executable_symbol_get_info.attribute) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_symbol_get_info.attribute) << ", "; + typedef decltype(api_data.args.hsa_executable_symbol_get_info.value) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_symbol_get_info.value); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_executable_iterate_symbols: { + out << "hsa_executable_iterate_symbols("; + typedef decltype(api_data.args.hsa_executable_iterate_symbols.executable) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_iterate_symbols.executable) << ", "; + typedef decltype(api_data.args.hsa_executable_iterate_symbols.callback) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_iterate_symbols.callback) << ", "; + typedef decltype(api_data.args.hsa_executable_iterate_symbols.data) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_iterate_symbols.data); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_status_string: { + out << "hsa_status_string("; + typedef decltype(api_data.args.hsa_status_string.status) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_status_string.status) << ", "; + typedef decltype(api_data.args.hsa_status_string.status_string) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_status_string.status_string); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_extension_get_name: { + out << "hsa_extension_get_name("; + typedef decltype(api_data.args.hsa_extension_get_name.extension) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_extension_get_name.extension) << ", "; + typedef decltype(api_data.args.hsa_extension_get_name.name) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_extension_get_name.name); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_system_major_extension_supported: { + out << "hsa_system_major_extension_supported("; + typedef decltype(api_data.args.hsa_system_major_extension_supported.extension) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_system_major_extension_supported.extension) << ", "; + typedef decltype(api_data.args.hsa_system_major_extension_supported.version_major) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_system_major_extension_supported.version_major) << ", "; + typedef decltype(api_data.args.hsa_system_major_extension_supported.version_minor) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_system_major_extension_supported.version_minor) << ", "; + typedef decltype(api_data.args.hsa_system_major_extension_supported.result) arg_val_type_t3; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_system_major_extension_supported.result); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_system_get_major_extension_table: { + out << "hsa_system_get_major_extension_table("; + typedef decltype(api_data.args.hsa_system_get_major_extension_table.extension) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_system_get_major_extension_table.extension) << ", "; + typedef decltype(api_data.args.hsa_system_get_major_extension_table.version_major) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_system_get_major_extension_table.version_major) << ", "; + typedef decltype(api_data.args.hsa_system_get_major_extension_table.table_length) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_system_get_major_extension_table.table_length) << ", "; + typedef decltype(api_data.args.hsa_system_get_major_extension_table.table) arg_val_type_t3; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_system_get_major_extension_table.table); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_agent_major_extension_supported: { + out << "hsa_agent_major_extension_supported("; + typedef decltype(api_data.args.hsa_agent_major_extension_supported.extension) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_agent_major_extension_supported.extension) << ", "; + typedef decltype(api_data.args.hsa_agent_major_extension_supported.agent) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_agent_major_extension_supported.agent) << ", "; + typedef decltype(api_data.args.hsa_agent_major_extension_supported.version_major) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_agent_major_extension_supported.version_major) << ", "; + typedef decltype(api_data.args.hsa_agent_major_extension_supported.version_minor) arg_val_type_t3; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_agent_major_extension_supported.version_minor) << ", "; + typedef decltype(api_data.args.hsa_agent_major_extension_supported.result) arg_val_type_t4; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_agent_major_extension_supported.result); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_cache_get_info: { + out << "hsa_cache_get_info("; + typedef decltype(api_data.args.hsa_cache_get_info.cache) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_cache_get_info.cache) << ", "; + typedef decltype(api_data.args.hsa_cache_get_info.attribute) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_cache_get_info.attribute) << ", "; + typedef decltype(api_data.args.hsa_cache_get_info.value) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_cache_get_info.value); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_agent_iterate_caches: { + out << "hsa_agent_iterate_caches("; + typedef decltype(api_data.args.hsa_agent_iterate_caches.agent) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_agent_iterate_caches.agent) << ", "; + typedef decltype(api_data.args.hsa_agent_iterate_caches.callback) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_agent_iterate_caches.callback) << ", "; + typedef decltype(api_data.args.hsa_agent_iterate_caches.data) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_agent_iterate_caches.data); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_signal_silent_store_relaxed: { + out << "hsa_signal_silent_store_relaxed("; + typedef decltype(api_data.args.hsa_signal_silent_store_relaxed.signal) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_silent_store_relaxed.signal) << ", "; + typedef decltype(api_data.args.hsa_signal_silent_store_relaxed.value) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_silent_store_relaxed.value); + out << ") = void"; + break; + } + case HSA_API_ID_hsa_signal_silent_store_screlease: { + out << "hsa_signal_silent_store_screlease("; + typedef decltype(api_data.args.hsa_signal_silent_store_screlease.signal) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_silent_store_screlease.signal) << ", "; + typedef decltype(api_data.args.hsa_signal_silent_store_screlease.value) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_silent_store_screlease.value); + out << ") = void"; + break; + } + case HSA_API_ID_hsa_signal_group_create: { + out << "hsa_signal_group_create("; + typedef decltype(api_data.args.hsa_signal_group_create.num_signals) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_group_create.num_signals) << ", "; + typedef decltype(api_data.args.hsa_signal_group_create.signals) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_group_create.signals) << ", "; + typedef decltype(api_data.args.hsa_signal_group_create.num_consumers) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_group_create.num_consumers) << ", "; + typedef decltype(api_data.args.hsa_signal_group_create.consumers) arg_val_type_t3; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_group_create.consumers) << ", "; + typedef decltype(api_data.args.hsa_signal_group_create.signal_group) arg_val_type_t4; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_group_create.signal_group); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_signal_group_destroy: { + out << "hsa_signal_group_destroy("; + typedef decltype(api_data.args.hsa_signal_group_destroy.signal_group) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_group_destroy.signal_group); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_signal_group_wait_any_scacquire: { + out << "hsa_signal_group_wait_any_scacquire("; + typedef decltype(api_data.args.hsa_signal_group_wait_any_scacquire.signal_group) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_group_wait_any_scacquire.signal_group) << ", "; + typedef decltype(api_data.args.hsa_signal_group_wait_any_scacquire.conditions) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_group_wait_any_scacquire.conditions) << ", "; + typedef decltype(api_data.args.hsa_signal_group_wait_any_scacquire.compare_values) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_group_wait_any_scacquire.compare_values) << ", "; + typedef decltype(api_data.args.hsa_signal_group_wait_any_scacquire.wait_state_hint) arg_val_type_t3; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_group_wait_any_scacquire.wait_state_hint) << ", "; + typedef decltype(api_data.args.hsa_signal_group_wait_any_scacquire.signal) arg_val_type_t4; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_group_wait_any_scacquire.signal) << ", "; + typedef decltype(api_data.args.hsa_signal_group_wait_any_scacquire.value) arg_val_type_t5; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_group_wait_any_scacquire.value); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_signal_group_wait_any_relaxed: { + out << "hsa_signal_group_wait_any_relaxed("; + typedef decltype(api_data.args.hsa_signal_group_wait_any_relaxed.signal_group) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_group_wait_any_relaxed.signal_group) << ", "; + typedef decltype(api_data.args.hsa_signal_group_wait_any_relaxed.conditions) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_group_wait_any_relaxed.conditions) << ", "; + typedef decltype(api_data.args.hsa_signal_group_wait_any_relaxed.compare_values) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_group_wait_any_relaxed.compare_values) << ", "; + typedef decltype(api_data.args.hsa_signal_group_wait_any_relaxed.wait_state_hint) arg_val_type_t3; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_group_wait_any_relaxed.wait_state_hint) << ", "; + typedef decltype(api_data.args.hsa_signal_group_wait_any_relaxed.signal) arg_val_type_t4; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_group_wait_any_relaxed.signal) << ", "; + typedef decltype(api_data.args.hsa_signal_group_wait_any_relaxed.value) arg_val_type_t5; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_group_wait_any_relaxed.value); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_agent_iterate_isas: { + out << "hsa_agent_iterate_isas("; + typedef decltype(api_data.args.hsa_agent_iterate_isas.agent) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_agent_iterate_isas.agent) << ", "; + typedef decltype(api_data.args.hsa_agent_iterate_isas.callback) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_agent_iterate_isas.callback) << ", "; + typedef decltype(api_data.args.hsa_agent_iterate_isas.data) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_agent_iterate_isas.data); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_isa_get_info_alt: { + out << "hsa_isa_get_info_alt("; + typedef decltype(api_data.args.hsa_isa_get_info_alt.isa) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_isa_get_info_alt.isa) << ", "; + typedef decltype(api_data.args.hsa_isa_get_info_alt.attribute) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_isa_get_info_alt.attribute) << ", "; + typedef decltype(api_data.args.hsa_isa_get_info_alt.value) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_isa_get_info_alt.value); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_isa_get_exception_policies: { + out << "hsa_isa_get_exception_policies("; + typedef decltype(api_data.args.hsa_isa_get_exception_policies.isa) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_isa_get_exception_policies.isa) << ", "; + typedef decltype(api_data.args.hsa_isa_get_exception_policies.profile) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_isa_get_exception_policies.profile) << ", "; + typedef decltype(api_data.args.hsa_isa_get_exception_policies.mask) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_isa_get_exception_policies.mask); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_isa_get_round_method: { + out << "hsa_isa_get_round_method("; + typedef decltype(api_data.args.hsa_isa_get_round_method.isa) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_isa_get_round_method.isa) << ", "; + typedef decltype(api_data.args.hsa_isa_get_round_method.fp_type) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_isa_get_round_method.fp_type) << ", "; + typedef decltype(api_data.args.hsa_isa_get_round_method.flush_mode) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_isa_get_round_method.flush_mode) << ", "; + typedef decltype(api_data.args.hsa_isa_get_round_method.round_method) arg_val_type_t3; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_isa_get_round_method.round_method); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_wavefront_get_info: { + out << "hsa_wavefront_get_info("; + typedef decltype(api_data.args.hsa_wavefront_get_info.wavefront) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_wavefront_get_info.wavefront) << ", "; + typedef decltype(api_data.args.hsa_wavefront_get_info.attribute) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_wavefront_get_info.attribute) << ", "; + typedef decltype(api_data.args.hsa_wavefront_get_info.value) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_wavefront_get_info.value); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_isa_iterate_wavefronts: { + out << "hsa_isa_iterate_wavefronts("; + typedef decltype(api_data.args.hsa_isa_iterate_wavefronts.isa) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_isa_iterate_wavefronts.isa) << ", "; + typedef decltype(api_data.args.hsa_isa_iterate_wavefronts.callback) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_isa_iterate_wavefronts.callback) << ", "; + typedef decltype(api_data.args.hsa_isa_iterate_wavefronts.data) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_isa_iterate_wavefronts.data); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_code_object_get_symbol_from_name: { + out << "hsa_code_object_get_symbol_from_name("; + typedef decltype(api_data.args.hsa_code_object_get_symbol_from_name.code_object) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_code_object_get_symbol_from_name.code_object) << ", "; + typedef decltype(api_data.args.hsa_code_object_get_symbol_from_name.module_name) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_code_object_get_symbol_from_name.module_name) << ", "; + typedef decltype(api_data.args.hsa_code_object_get_symbol_from_name.symbol_name) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_code_object_get_symbol_from_name.symbol_name) << ", "; + typedef decltype(api_data.args.hsa_code_object_get_symbol_from_name.symbol) arg_val_type_t3; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_code_object_get_symbol_from_name.symbol); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_code_object_reader_create_from_file: { + out << "hsa_code_object_reader_create_from_file("; + typedef decltype(api_data.args.hsa_code_object_reader_create_from_file.file) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_code_object_reader_create_from_file.file) << ", "; + typedef decltype(api_data.args.hsa_code_object_reader_create_from_file.code_object_reader) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_code_object_reader_create_from_file.code_object_reader); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_code_object_reader_create_from_memory: { + out << "hsa_code_object_reader_create_from_memory("; + typedef decltype(api_data.args.hsa_code_object_reader_create_from_memory.code_object) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_code_object_reader_create_from_memory.code_object) << ", "; + typedef decltype(api_data.args.hsa_code_object_reader_create_from_memory.size) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_code_object_reader_create_from_memory.size) << ", "; + typedef decltype(api_data.args.hsa_code_object_reader_create_from_memory.code_object_reader) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_code_object_reader_create_from_memory.code_object_reader); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_code_object_reader_destroy: { + out << "hsa_code_object_reader_destroy("; + typedef decltype(api_data.args.hsa_code_object_reader_destroy.code_object_reader) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_code_object_reader_destroy.code_object_reader); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_executable_create_alt: { + out << "hsa_executable_create_alt("; + typedef decltype(api_data.args.hsa_executable_create_alt.profile) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_create_alt.profile) << ", "; + typedef decltype(api_data.args.hsa_executable_create_alt.default_float_rounding_mode) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_create_alt.default_float_rounding_mode) << ", "; + typedef decltype(api_data.args.hsa_executable_create_alt.options) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_create_alt.options) << ", "; + typedef decltype(api_data.args.hsa_executable_create_alt.executable) arg_val_type_t3; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_create_alt.executable); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_executable_load_program_code_object: { + out << "hsa_executable_load_program_code_object("; + typedef decltype(api_data.args.hsa_executable_load_program_code_object.executable) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_load_program_code_object.executable) << ", "; + typedef decltype(api_data.args.hsa_executable_load_program_code_object.code_object_reader) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_load_program_code_object.code_object_reader) << ", "; + typedef decltype(api_data.args.hsa_executable_load_program_code_object.options) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_load_program_code_object.options) << ", "; + typedef decltype(api_data.args.hsa_executable_load_program_code_object.loaded_code_object) arg_val_type_t3; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_load_program_code_object.loaded_code_object); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_executable_load_agent_code_object: { + out << "hsa_executable_load_agent_code_object("; + typedef decltype(api_data.args.hsa_executable_load_agent_code_object.executable) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_load_agent_code_object.executable) << ", "; + typedef decltype(api_data.args.hsa_executable_load_agent_code_object.agent) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_load_agent_code_object.agent) << ", "; + typedef decltype(api_data.args.hsa_executable_load_agent_code_object.code_object_reader) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_load_agent_code_object.code_object_reader) << ", "; + typedef decltype(api_data.args.hsa_executable_load_agent_code_object.options) arg_val_type_t3; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_load_agent_code_object.options) << ", "; + typedef decltype(api_data.args.hsa_executable_load_agent_code_object.loaded_code_object) arg_val_type_t4; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_load_agent_code_object.loaded_code_object); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_executable_validate_alt: { + out << "hsa_executable_validate_alt("; + typedef decltype(api_data.args.hsa_executable_validate_alt.executable) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_validate_alt.executable) << ", "; + typedef decltype(api_data.args.hsa_executable_validate_alt.options) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_validate_alt.options) << ", "; + typedef decltype(api_data.args.hsa_executable_validate_alt.result) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_validate_alt.result); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_executable_get_symbol_by_name: { + out << "hsa_executable_get_symbol_by_name("; + typedef decltype(api_data.args.hsa_executable_get_symbol_by_name.executable) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_get_symbol_by_name.executable) << ", "; + typedef decltype(api_data.args.hsa_executable_get_symbol_by_name.symbol_name) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_get_symbol_by_name.symbol_name) << ", "; + typedef decltype(api_data.args.hsa_executable_get_symbol_by_name.agent) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_get_symbol_by_name.agent) << ", "; + typedef decltype(api_data.args.hsa_executable_get_symbol_by_name.symbol) arg_val_type_t3; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_get_symbol_by_name.symbol); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_executable_iterate_agent_symbols: { + out << "hsa_executable_iterate_agent_symbols("; + typedef decltype(api_data.args.hsa_executable_iterate_agent_symbols.executable) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_iterate_agent_symbols.executable) << ", "; + typedef decltype(api_data.args.hsa_executable_iterate_agent_symbols.agent) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_iterate_agent_symbols.agent) << ", "; + typedef decltype(api_data.args.hsa_executable_iterate_agent_symbols.callback) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_iterate_agent_symbols.callback) << ", "; + typedef decltype(api_data.args.hsa_executable_iterate_agent_symbols.data) arg_val_type_t3; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_iterate_agent_symbols.data); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_executable_iterate_program_symbols: { + out << "hsa_executable_iterate_program_symbols("; + typedef decltype(api_data.args.hsa_executable_iterate_program_symbols.executable) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_iterate_program_symbols.executable) << ", "; + typedef decltype(api_data.args.hsa_executable_iterate_program_symbols.callback) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_iterate_program_symbols.callback) << ", "; + typedef decltype(api_data.args.hsa_executable_iterate_program_symbols.data) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_iterate_program_symbols.data); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + + // block: AmdExtTable API + case HSA_API_ID_hsa_amd_coherency_get_type: { + out << "hsa_amd_coherency_get_type("; + typedef decltype(api_data.args.hsa_amd_coherency_get_type.agent) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_coherency_get_type.agent) << ", "; + typedef decltype(api_data.args.hsa_amd_coherency_get_type.type) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_coherency_get_type.type); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_amd_coherency_set_type: { + out << "hsa_amd_coherency_set_type("; + typedef decltype(api_data.args.hsa_amd_coherency_set_type.agent) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_coherency_set_type.agent) << ", "; + typedef decltype(api_data.args.hsa_amd_coherency_set_type.type) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_coherency_set_type.type); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_amd_profiling_set_profiler_enabled: { + out << "hsa_amd_profiling_set_profiler_enabled("; + typedef decltype(api_data.args.hsa_amd_profiling_set_profiler_enabled.queue) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_profiling_set_profiler_enabled.queue) << ", "; + typedef decltype(api_data.args.hsa_amd_profiling_set_profiler_enabled.enable) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_profiling_set_profiler_enabled.enable); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_amd_profiling_async_copy_enable: { + out << "hsa_amd_profiling_async_copy_enable("; + typedef decltype(api_data.args.hsa_amd_profiling_async_copy_enable.enable) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_profiling_async_copy_enable.enable); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_amd_profiling_get_dispatch_time: { + out << "hsa_amd_profiling_get_dispatch_time("; + typedef decltype(api_data.args.hsa_amd_profiling_get_dispatch_time.agent) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_profiling_get_dispatch_time.agent) << ", "; + typedef decltype(api_data.args.hsa_amd_profiling_get_dispatch_time.signal) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_profiling_get_dispatch_time.signal) << ", "; + typedef decltype(api_data.args.hsa_amd_profiling_get_dispatch_time.time) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_profiling_get_dispatch_time.time); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_amd_profiling_get_async_copy_time: { + out << "hsa_amd_profiling_get_async_copy_time("; + typedef decltype(api_data.args.hsa_amd_profiling_get_async_copy_time.signal) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_profiling_get_async_copy_time.signal) << ", "; + typedef decltype(api_data.args.hsa_amd_profiling_get_async_copy_time.time) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_profiling_get_async_copy_time.time); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_amd_profiling_convert_tick_to_system_domain: { + out << "hsa_amd_profiling_convert_tick_to_system_domain("; + typedef decltype(api_data.args.hsa_amd_profiling_convert_tick_to_system_domain.agent) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_profiling_convert_tick_to_system_domain.agent) << ", "; + typedef decltype(api_data.args.hsa_amd_profiling_convert_tick_to_system_domain.agent_tick) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_profiling_convert_tick_to_system_domain.agent_tick) << ", "; + typedef decltype(api_data.args.hsa_amd_profiling_convert_tick_to_system_domain.system_tick) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_profiling_convert_tick_to_system_domain.system_tick); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_amd_signal_async_handler: { + out << "hsa_amd_signal_async_handler("; + typedef decltype(api_data.args.hsa_amd_signal_async_handler.signal) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_signal_async_handler.signal) << ", "; + typedef decltype(api_data.args.hsa_amd_signal_async_handler.cond) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_signal_async_handler.cond) << ", "; + typedef decltype(api_data.args.hsa_amd_signal_async_handler.value) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_signal_async_handler.value) << ", "; + typedef decltype(api_data.args.hsa_amd_signal_async_handler.handler) arg_val_type_t3; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_signal_async_handler.handler) << ", "; + typedef decltype(api_data.args.hsa_amd_signal_async_handler.arg) arg_val_type_t4; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_signal_async_handler.arg); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_amd_async_function: { + out << "hsa_amd_async_function("; + typedef decltype(api_data.args.hsa_amd_async_function.callback) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_async_function.callback) << ", "; + typedef decltype(api_data.args.hsa_amd_async_function.arg) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_async_function.arg); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_amd_signal_wait_any: { + out << "hsa_amd_signal_wait_any("; + typedef decltype(api_data.args.hsa_amd_signal_wait_any.signal_count) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_signal_wait_any.signal_count) << ", "; + typedef decltype(api_data.args.hsa_amd_signal_wait_any.signals) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_signal_wait_any.signals) << ", "; + typedef decltype(api_data.args.hsa_amd_signal_wait_any.conds) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_signal_wait_any.conds) << ", "; + typedef decltype(api_data.args.hsa_amd_signal_wait_any.values) arg_val_type_t3; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_signal_wait_any.values) << ", "; + typedef decltype(api_data.args.hsa_amd_signal_wait_any.timeout_hint) arg_val_type_t4; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_signal_wait_any.timeout_hint) << ", "; + typedef decltype(api_data.args.hsa_amd_signal_wait_any.wait_hint) arg_val_type_t5; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_signal_wait_any.wait_hint) << ", "; + typedef decltype(api_data.args.hsa_amd_signal_wait_any.satisfying_value) arg_val_type_t6; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_signal_wait_any.satisfying_value); + out << ") = " << api_data.uint32_t_retval; + break; + } + case HSA_API_ID_hsa_amd_queue_cu_set_mask: { + out << "hsa_amd_queue_cu_set_mask("; + typedef decltype(api_data.args.hsa_amd_queue_cu_set_mask.queue) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_queue_cu_set_mask.queue) << ", "; + typedef decltype(api_data.args.hsa_amd_queue_cu_set_mask.num_cu_mask_count) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_queue_cu_set_mask.num_cu_mask_count) << ", "; + typedef decltype(api_data.args.hsa_amd_queue_cu_set_mask.cu_mask) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_queue_cu_set_mask.cu_mask); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_amd_memory_pool_get_info: { + out << "hsa_amd_memory_pool_get_info("; + typedef decltype(api_data.args.hsa_amd_memory_pool_get_info.memory_pool) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_pool_get_info.memory_pool) << ", "; + typedef decltype(api_data.args.hsa_amd_memory_pool_get_info.attribute) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_pool_get_info.attribute) << ", "; + typedef decltype(api_data.args.hsa_amd_memory_pool_get_info.value) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_pool_get_info.value); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_amd_agent_iterate_memory_pools: { + out << "hsa_amd_agent_iterate_memory_pools("; + typedef decltype(api_data.args.hsa_amd_agent_iterate_memory_pools.agent) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_agent_iterate_memory_pools.agent) << ", "; + typedef decltype(api_data.args.hsa_amd_agent_iterate_memory_pools.callback) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_agent_iterate_memory_pools.callback) << ", "; + typedef decltype(api_data.args.hsa_amd_agent_iterate_memory_pools.data) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_agent_iterate_memory_pools.data); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_amd_memory_pool_allocate: { + out << "hsa_amd_memory_pool_allocate("; + typedef decltype(api_data.args.hsa_amd_memory_pool_allocate.memory_pool) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_pool_allocate.memory_pool) << ", "; + typedef decltype(api_data.args.hsa_amd_memory_pool_allocate.size) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_pool_allocate.size) << ", "; + typedef decltype(api_data.args.hsa_amd_memory_pool_allocate.flags) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_pool_allocate.flags) << ", "; + typedef decltype(api_data.args.hsa_amd_memory_pool_allocate.ptr) arg_val_type_t3; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_pool_allocate.ptr); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_amd_memory_pool_free: { + out << "hsa_amd_memory_pool_free("; + typedef decltype(api_data.args.hsa_amd_memory_pool_free.ptr) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_pool_free.ptr); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_amd_memory_async_copy: { + out << "hsa_amd_memory_async_copy("; + typedef decltype(api_data.args.hsa_amd_memory_async_copy.dst) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_async_copy.dst) << ", "; + typedef decltype(api_data.args.hsa_amd_memory_async_copy.dst_agent) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_async_copy.dst_agent) << ", "; + typedef decltype(api_data.args.hsa_amd_memory_async_copy.src) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_async_copy.src) << ", "; + typedef decltype(api_data.args.hsa_amd_memory_async_copy.src_agent) arg_val_type_t3; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_async_copy.src_agent) << ", "; + typedef decltype(api_data.args.hsa_amd_memory_async_copy.size) arg_val_type_t4; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_async_copy.size) << ", "; + typedef decltype(api_data.args.hsa_amd_memory_async_copy.num_dep_signals) arg_val_type_t5; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_async_copy.num_dep_signals) << ", "; + typedef decltype(api_data.args.hsa_amd_memory_async_copy.dep_signals) arg_val_type_t6; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_async_copy.dep_signals) << ", "; + typedef decltype(api_data.args.hsa_amd_memory_async_copy.completion_signal) arg_val_type_t7; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_async_copy.completion_signal); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_amd_agent_memory_pool_get_info: { + out << "hsa_amd_agent_memory_pool_get_info("; + typedef decltype(api_data.args.hsa_amd_agent_memory_pool_get_info.agent) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_agent_memory_pool_get_info.agent) << ", "; + typedef decltype(api_data.args.hsa_amd_agent_memory_pool_get_info.memory_pool) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_agent_memory_pool_get_info.memory_pool) << ", "; + typedef decltype(api_data.args.hsa_amd_agent_memory_pool_get_info.attribute) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_agent_memory_pool_get_info.attribute) << ", "; + typedef decltype(api_data.args.hsa_amd_agent_memory_pool_get_info.value) arg_val_type_t3; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_agent_memory_pool_get_info.value); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_amd_agents_allow_access: { + out << "hsa_amd_agents_allow_access("; + typedef decltype(api_data.args.hsa_amd_agents_allow_access.num_agents) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_agents_allow_access.num_agents) << ", "; + typedef decltype(api_data.args.hsa_amd_agents_allow_access.agents) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_agents_allow_access.agents) << ", "; + typedef decltype(api_data.args.hsa_amd_agents_allow_access.flags) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_agents_allow_access.flags) << ", "; + typedef decltype(api_data.args.hsa_amd_agents_allow_access.ptr) arg_val_type_t3; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_agents_allow_access.ptr); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_amd_memory_pool_can_migrate: { + out << "hsa_amd_memory_pool_can_migrate("; + typedef decltype(api_data.args.hsa_amd_memory_pool_can_migrate.src_memory_pool) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_pool_can_migrate.src_memory_pool) << ", "; + typedef decltype(api_data.args.hsa_amd_memory_pool_can_migrate.dst_memory_pool) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_pool_can_migrate.dst_memory_pool) << ", "; + typedef decltype(api_data.args.hsa_amd_memory_pool_can_migrate.result) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_pool_can_migrate.result); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_amd_memory_migrate: { + out << "hsa_amd_memory_migrate("; + typedef decltype(api_data.args.hsa_amd_memory_migrate.ptr) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_migrate.ptr) << ", "; + typedef decltype(api_data.args.hsa_amd_memory_migrate.memory_pool) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_migrate.memory_pool) << ", "; + typedef decltype(api_data.args.hsa_amd_memory_migrate.flags) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_migrate.flags); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_amd_memory_lock: { + out << "hsa_amd_memory_lock("; + typedef decltype(api_data.args.hsa_amd_memory_lock.host_ptr) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_lock.host_ptr) << ", "; + typedef decltype(api_data.args.hsa_amd_memory_lock.size) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_lock.size) << ", "; + typedef decltype(api_data.args.hsa_amd_memory_lock.agents) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_lock.agents) << ", "; + typedef decltype(api_data.args.hsa_amd_memory_lock.num_agent) arg_val_type_t3; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_lock.num_agent) << ", "; + typedef decltype(api_data.args.hsa_amd_memory_lock.agent_ptr) arg_val_type_t4; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_lock.agent_ptr); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_amd_memory_unlock: { + out << "hsa_amd_memory_unlock("; + typedef decltype(api_data.args.hsa_amd_memory_unlock.host_ptr) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_unlock.host_ptr); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_amd_memory_fill: { + out << "hsa_amd_memory_fill("; + typedef decltype(api_data.args.hsa_amd_memory_fill.ptr) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_fill.ptr) << ", "; + typedef decltype(api_data.args.hsa_amd_memory_fill.value) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_fill.value) << ", "; + typedef decltype(api_data.args.hsa_amd_memory_fill.count) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_fill.count); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_amd_interop_map_buffer: { + out << "hsa_amd_interop_map_buffer("; + typedef decltype(api_data.args.hsa_amd_interop_map_buffer.num_agents) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_interop_map_buffer.num_agents) << ", "; + typedef decltype(api_data.args.hsa_amd_interop_map_buffer.agents) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_interop_map_buffer.agents) << ", "; + typedef decltype(api_data.args.hsa_amd_interop_map_buffer.interop_handle) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_interop_map_buffer.interop_handle) << ", "; + typedef decltype(api_data.args.hsa_amd_interop_map_buffer.flags) arg_val_type_t3; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_interop_map_buffer.flags) << ", "; + typedef decltype(api_data.args.hsa_amd_interop_map_buffer.size) arg_val_type_t4; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_interop_map_buffer.size) << ", "; + typedef decltype(api_data.args.hsa_amd_interop_map_buffer.ptr) arg_val_type_t5; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_interop_map_buffer.ptr) << ", "; + typedef decltype(api_data.args.hsa_amd_interop_map_buffer.metadata_size) arg_val_type_t6; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_interop_map_buffer.metadata_size) << ", "; + typedef decltype(api_data.args.hsa_amd_interop_map_buffer.metadata) arg_val_type_t7; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_interop_map_buffer.metadata); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_amd_interop_unmap_buffer: { + out << "hsa_amd_interop_unmap_buffer("; + typedef decltype(api_data.args.hsa_amd_interop_unmap_buffer.ptr) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_interop_unmap_buffer.ptr); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_amd_image_create: { + out << "hsa_amd_image_create("; + typedef decltype(api_data.args.hsa_amd_image_create.agent) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_image_create.agent) << ", "; + typedef decltype(api_data.args.hsa_amd_image_create.image_descriptor) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_image_create.image_descriptor) << ", "; + typedef decltype(api_data.args.hsa_amd_image_create.image_layout) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_image_create.image_layout) << ", "; + typedef decltype(api_data.args.hsa_amd_image_create.image_data) arg_val_type_t3; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_image_create.image_data) << ", "; + typedef decltype(api_data.args.hsa_amd_image_create.access_permission) arg_val_type_t4; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_image_create.access_permission) << ", "; + typedef decltype(api_data.args.hsa_amd_image_create.image) arg_val_type_t5; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_image_create.image); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_amd_pointer_info: { + out << "hsa_amd_pointer_info("; + typedef decltype(api_data.args.hsa_amd_pointer_info.ptr) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_pointer_info.ptr) << ", "; + typedef decltype(api_data.args.hsa_amd_pointer_info.info) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_pointer_info.info) << ", "; + typedef decltype(api_data.args.hsa_amd_pointer_info.alloc) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_pointer_info.alloc) << ", "; + typedef decltype(api_data.args.hsa_amd_pointer_info.num_agents_accessible) arg_val_type_t3; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_pointer_info.num_agents_accessible) << ", "; + typedef decltype(api_data.args.hsa_amd_pointer_info.accessible) arg_val_type_t4; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_pointer_info.accessible); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_amd_pointer_info_set_userdata: { + out << "hsa_amd_pointer_info_set_userdata("; + typedef decltype(api_data.args.hsa_amd_pointer_info_set_userdata.ptr) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_pointer_info_set_userdata.ptr) << ", "; + typedef decltype(api_data.args.hsa_amd_pointer_info_set_userdata.userdata) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_pointer_info_set_userdata.userdata); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_amd_ipc_memory_create: { + out << "hsa_amd_ipc_memory_create("; + typedef decltype(api_data.args.hsa_amd_ipc_memory_create.ptr) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_ipc_memory_create.ptr) << ", "; + typedef decltype(api_data.args.hsa_amd_ipc_memory_create.len) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_ipc_memory_create.len) << ", "; + typedef decltype(api_data.args.hsa_amd_ipc_memory_create.handle) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_ipc_memory_create.handle); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_amd_ipc_memory_attach: { + out << "hsa_amd_ipc_memory_attach("; + typedef decltype(api_data.args.hsa_amd_ipc_memory_attach.handle) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_ipc_memory_attach.handle) << ", "; + typedef decltype(api_data.args.hsa_amd_ipc_memory_attach.len) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_ipc_memory_attach.len) << ", "; + typedef decltype(api_data.args.hsa_amd_ipc_memory_attach.num_agents) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_ipc_memory_attach.num_agents) << ", "; + typedef decltype(api_data.args.hsa_amd_ipc_memory_attach.mapping_agents) arg_val_type_t3; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_ipc_memory_attach.mapping_agents) << ", "; + typedef decltype(api_data.args.hsa_amd_ipc_memory_attach.mapped_ptr) arg_val_type_t4; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_ipc_memory_attach.mapped_ptr); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_amd_ipc_memory_detach: { + out << "hsa_amd_ipc_memory_detach("; + typedef decltype(api_data.args.hsa_amd_ipc_memory_detach.mapped_ptr) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_ipc_memory_detach.mapped_ptr); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_amd_signal_create: { + out << "hsa_amd_signal_create("; + typedef decltype(api_data.args.hsa_amd_signal_create.initial_value) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_signal_create.initial_value) << ", "; + typedef decltype(api_data.args.hsa_amd_signal_create.num_consumers) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_signal_create.num_consumers) << ", "; + typedef decltype(api_data.args.hsa_amd_signal_create.consumers) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_signal_create.consumers) << ", "; + typedef decltype(api_data.args.hsa_amd_signal_create.attributes) arg_val_type_t3; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_signal_create.attributes) << ", "; + typedef decltype(api_data.args.hsa_amd_signal_create.signal) arg_val_type_t4; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_signal_create.signal); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_amd_ipc_signal_create: { + out << "hsa_amd_ipc_signal_create("; + typedef decltype(api_data.args.hsa_amd_ipc_signal_create.signal) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_ipc_signal_create.signal) << ", "; + typedef decltype(api_data.args.hsa_amd_ipc_signal_create.handle) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_ipc_signal_create.handle); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_amd_ipc_signal_attach: { + out << "hsa_amd_ipc_signal_attach("; + typedef decltype(api_data.args.hsa_amd_ipc_signal_attach.handle) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_ipc_signal_attach.handle) << ", "; + typedef decltype(api_data.args.hsa_amd_ipc_signal_attach.signal) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_ipc_signal_attach.signal); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_amd_register_system_event_handler: { + out << "hsa_amd_register_system_event_handler("; + typedef decltype(api_data.args.hsa_amd_register_system_event_handler.callback) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_register_system_event_handler.callback) << ", "; + typedef decltype(api_data.args.hsa_amd_register_system_event_handler.data) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_register_system_event_handler.data); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_amd_queue_intercept_create: { + out << "hsa_amd_queue_intercept_create("; + typedef decltype(api_data.args.hsa_amd_queue_intercept_create.agent_handle) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_queue_intercept_create.agent_handle) << ", "; + typedef decltype(api_data.args.hsa_amd_queue_intercept_create.size) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_queue_intercept_create.size) << ", "; + typedef decltype(api_data.args.hsa_amd_queue_intercept_create.type) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_queue_intercept_create.type) << ", "; + typedef decltype(api_data.args.hsa_amd_queue_intercept_create.callback) arg_val_type_t3; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_queue_intercept_create.callback) << ", "; + typedef decltype(api_data.args.hsa_amd_queue_intercept_create.data) arg_val_type_t4; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_queue_intercept_create.data) << ", "; + typedef decltype(api_data.args.hsa_amd_queue_intercept_create.private_segment_size) arg_val_type_t5; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_queue_intercept_create.private_segment_size) << ", "; + typedef decltype(api_data.args.hsa_amd_queue_intercept_create.group_segment_size) arg_val_type_t6; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_queue_intercept_create.group_segment_size) << ", "; + typedef decltype(api_data.args.hsa_amd_queue_intercept_create.queue) arg_val_type_t7; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_queue_intercept_create.queue); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_amd_queue_intercept_register: { + out << "hsa_amd_queue_intercept_register("; + typedef decltype(api_data.args.hsa_amd_queue_intercept_register.queue) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_queue_intercept_register.queue) << ", "; + typedef decltype(api_data.args.hsa_amd_queue_intercept_register.callback) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_queue_intercept_register.callback) << ", "; + typedef decltype(api_data.args.hsa_amd_queue_intercept_register.user_data) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_queue_intercept_register.user_data); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_amd_queue_set_priority: { + out << "hsa_amd_queue_set_priority("; + typedef decltype(api_data.args.hsa_amd_queue_set_priority.queue) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_queue_set_priority.queue) << ", "; + typedef decltype(api_data.args.hsa_amd_queue_set_priority.priority) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_queue_set_priority.priority); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_amd_memory_async_copy_rect: { + out << "hsa_amd_memory_async_copy_rect("; + typedef decltype(api_data.args.hsa_amd_memory_async_copy_rect.dst) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_async_copy_rect.dst) << ", "; + typedef decltype(api_data.args.hsa_amd_memory_async_copy_rect.dst_offset) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_async_copy_rect.dst_offset) << ", "; + typedef decltype(api_data.args.hsa_amd_memory_async_copy_rect.src) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_async_copy_rect.src) << ", "; + typedef decltype(api_data.args.hsa_amd_memory_async_copy_rect.src_offset) arg_val_type_t3; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_async_copy_rect.src_offset) << ", "; + typedef decltype(api_data.args.hsa_amd_memory_async_copy_rect.range) arg_val_type_t4; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_async_copy_rect.range) << ", "; + typedef decltype(api_data.args.hsa_amd_memory_async_copy_rect.copy_agent) arg_val_type_t5; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_async_copy_rect.copy_agent) << ", "; + typedef decltype(api_data.args.hsa_amd_memory_async_copy_rect.dir) arg_val_type_t6; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_async_copy_rect.dir) << ", "; + typedef decltype(api_data.args.hsa_amd_memory_async_copy_rect.num_dep_signals) arg_val_type_t7; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_async_copy_rect.num_dep_signals) << ", "; + typedef decltype(api_data.args.hsa_amd_memory_async_copy_rect.dep_signals) arg_val_type_t8; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_async_copy_rect.dep_signals) << ", "; + typedef decltype(api_data.args.hsa_amd_memory_async_copy_rect.completion_signal) arg_val_type_t9; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_async_copy_rect.completion_signal); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_amd_runtime_queue_create_register: { + out << "hsa_amd_runtime_queue_create_register("; + typedef decltype(api_data.args.hsa_amd_runtime_queue_create_register.callback) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_runtime_queue_create_register.callback) << ", "; + typedef decltype(api_data.args.hsa_amd_runtime_queue_create_register.user_data) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_runtime_queue_create_register.user_data); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + + // block: ImageExtTable API + case HSA_API_ID_hsa_ext_image_get_capability: { + out << "hsa_ext_image_get_capability("; + typedef decltype(api_data.args.hsa_ext_image_get_capability.agent) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_get_capability.agent) << ", "; + typedef decltype(api_data.args.hsa_ext_image_get_capability.geometry) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_get_capability.geometry) << ", "; + typedef decltype(api_data.args.hsa_ext_image_get_capability.image_format) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_get_capability.image_format) << ", "; + typedef decltype(api_data.args.hsa_ext_image_get_capability.capability_mask) arg_val_type_t3; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_get_capability.capability_mask); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_ext_image_data_get_info: { + out << "hsa_ext_image_data_get_info("; + typedef decltype(api_data.args.hsa_ext_image_data_get_info.agent) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_data_get_info.agent) << ", "; + typedef decltype(api_data.args.hsa_ext_image_data_get_info.image_descriptor) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_data_get_info.image_descriptor) << ", "; + typedef decltype(api_data.args.hsa_ext_image_data_get_info.access_permission) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_data_get_info.access_permission) << ", "; + typedef decltype(api_data.args.hsa_ext_image_data_get_info.image_data_info) arg_val_type_t3; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_data_get_info.image_data_info); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_ext_image_create: { + out << "hsa_ext_image_create("; + typedef decltype(api_data.args.hsa_ext_image_create.agent) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_create.agent) << ", "; + typedef decltype(api_data.args.hsa_ext_image_create.image_descriptor) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_create.image_descriptor) << ", "; + typedef decltype(api_data.args.hsa_ext_image_create.image_data) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_create.image_data) << ", "; + typedef decltype(api_data.args.hsa_ext_image_create.access_permission) arg_val_type_t3; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_create.access_permission) << ", "; + typedef decltype(api_data.args.hsa_ext_image_create.image) arg_val_type_t4; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_create.image); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_ext_image_import: { + out << "hsa_ext_image_import("; + typedef decltype(api_data.args.hsa_ext_image_import.agent) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_import.agent) << ", "; + typedef decltype(api_data.args.hsa_ext_image_import.src_memory) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_import.src_memory) << ", "; + typedef decltype(api_data.args.hsa_ext_image_import.src_row_pitch) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_import.src_row_pitch) << ", "; + typedef decltype(api_data.args.hsa_ext_image_import.src_slice_pitch) arg_val_type_t3; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_import.src_slice_pitch) << ", "; + typedef decltype(api_data.args.hsa_ext_image_import.dst_image) arg_val_type_t4; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_import.dst_image) << ", "; + typedef decltype(api_data.args.hsa_ext_image_import.image_region) arg_val_type_t5; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_import.image_region); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_ext_image_export: { + out << "hsa_ext_image_export("; + typedef decltype(api_data.args.hsa_ext_image_export.agent) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_export.agent) << ", "; + typedef decltype(api_data.args.hsa_ext_image_export.src_image) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_export.src_image) << ", "; + typedef decltype(api_data.args.hsa_ext_image_export.dst_memory) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_export.dst_memory) << ", "; + typedef decltype(api_data.args.hsa_ext_image_export.dst_row_pitch) arg_val_type_t3; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_export.dst_row_pitch) << ", "; + typedef decltype(api_data.args.hsa_ext_image_export.dst_slice_pitch) arg_val_type_t4; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_export.dst_slice_pitch) << ", "; + typedef decltype(api_data.args.hsa_ext_image_export.image_region) arg_val_type_t5; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_export.image_region); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_ext_image_copy: { + out << "hsa_ext_image_copy("; + typedef decltype(api_data.args.hsa_ext_image_copy.agent) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_copy.agent) << ", "; + typedef decltype(api_data.args.hsa_ext_image_copy.src_image) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_copy.src_image) << ", "; + typedef decltype(api_data.args.hsa_ext_image_copy.src_offset) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_copy.src_offset) << ", "; + typedef decltype(api_data.args.hsa_ext_image_copy.dst_image) arg_val_type_t3; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_copy.dst_image) << ", "; + typedef decltype(api_data.args.hsa_ext_image_copy.dst_offset) arg_val_type_t4; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_copy.dst_offset) << ", "; + typedef decltype(api_data.args.hsa_ext_image_copy.range) arg_val_type_t5; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_copy.range); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_ext_image_clear: { + out << "hsa_ext_image_clear("; + typedef decltype(api_data.args.hsa_ext_image_clear.agent) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_clear.agent) << ", "; + typedef decltype(api_data.args.hsa_ext_image_clear.image) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_clear.image) << ", "; + typedef decltype(api_data.args.hsa_ext_image_clear.data) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_clear.data) << ", "; + typedef decltype(api_data.args.hsa_ext_image_clear.image_region) arg_val_type_t3; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_clear.image_region); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_ext_image_destroy: { + out << "hsa_ext_image_destroy("; + typedef decltype(api_data.args.hsa_ext_image_destroy.agent) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_destroy.agent) << ", "; + typedef decltype(api_data.args.hsa_ext_image_destroy.image) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_destroy.image); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_ext_sampler_create: { + out << "hsa_ext_sampler_create("; + typedef decltype(api_data.args.hsa_ext_sampler_create.agent) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_sampler_create.agent) << ", "; + typedef decltype(api_data.args.hsa_ext_sampler_create.sampler_descriptor) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_sampler_create.sampler_descriptor) << ", "; + typedef decltype(api_data.args.hsa_ext_sampler_create.sampler) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_sampler_create.sampler); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_ext_sampler_destroy: { + out << "hsa_ext_sampler_destroy("; + typedef decltype(api_data.args.hsa_ext_sampler_destroy.agent) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_sampler_destroy.agent) << ", "; + typedef decltype(api_data.args.hsa_ext_sampler_destroy.sampler) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_sampler_destroy.sampler); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_ext_image_get_capability_with_layout: { + out << "hsa_ext_image_get_capability_with_layout("; + typedef decltype(api_data.args.hsa_ext_image_get_capability_with_layout.agent) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_get_capability_with_layout.agent) << ", "; + typedef decltype(api_data.args.hsa_ext_image_get_capability_with_layout.geometry) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_get_capability_with_layout.geometry) << ", "; + typedef decltype(api_data.args.hsa_ext_image_get_capability_with_layout.image_format) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_get_capability_with_layout.image_format) << ", "; + typedef decltype(api_data.args.hsa_ext_image_get_capability_with_layout.image_data_layout) arg_val_type_t3; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_get_capability_with_layout.image_data_layout) << ", "; + typedef decltype(api_data.args.hsa_ext_image_get_capability_with_layout.capability_mask) arg_val_type_t4; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_get_capability_with_layout.capability_mask); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_ext_image_data_get_info_with_layout: { + out << "hsa_ext_image_data_get_info_with_layout("; + typedef decltype(api_data.args.hsa_ext_image_data_get_info_with_layout.agent) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_data_get_info_with_layout.agent) << ", "; + typedef decltype(api_data.args.hsa_ext_image_data_get_info_with_layout.image_descriptor) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_data_get_info_with_layout.image_descriptor) << ", "; + typedef decltype(api_data.args.hsa_ext_image_data_get_info_with_layout.access_permission) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_data_get_info_with_layout.access_permission) << ", "; + typedef decltype(api_data.args.hsa_ext_image_data_get_info_with_layout.image_data_layout) arg_val_type_t3; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_data_get_info_with_layout.image_data_layout) << ", "; + typedef decltype(api_data.args.hsa_ext_image_data_get_info_with_layout.image_data_row_pitch) arg_val_type_t4; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_data_get_info_with_layout.image_data_row_pitch) << ", "; + typedef decltype(api_data.args.hsa_ext_image_data_get_info_with_layout.image_data_slice_pitch) arg_val_type_t5; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_data_get_info_with_layout.image_data_slice_pitch) << ", "; + typedef decltype(api_data.args.hsa_ext_image_data_get_info_with_layout.image_data_info) arg_val_type_t6; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_data_get_info_with_layout.image_data_info); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_ext_image_create_with_layout: { + out << "hsa_ext_image_create_with_layout("; + typedef decltype(api_data.args.hsa_ext_image_create_with_layout.agent) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_create_with_layout.agent) << ", "; + typedef decltype(api_data.args.hsa_ext_image_create_with_layout.image_descriptor) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_create_with_layout.image_descriptor) << ", "; + typedef decltype(api_data.args.hsa_ext_image_create_with_layout.image_data) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_create_with_layout.image_data) << ", "; + typedef decltype(api_data.args.hsa_ext_image_create_with_layout.access_permission) arg_val_type_t3; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_create_with_layout.access_permission) << ", "; + typedef decltype(api_data.args.hsa_ext_image_create_with_layout.image_data_layout) arg_val_type_t4; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_create_with_layout.image_data_layout) << ", "; + typedef decltype(api_data.args.hsa_ext_image_create_with_layout.image_data_row_pitch) arg_val_type_t5; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_create_with_layout.image_data_row_pitch) << ", "; + typedef decltype(api_data.args.hsa_ext_image_create_with_layout.image_data_slice_pitch) arg_val_type_t6; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_create_with_layout.image_data_slice_pitch) << ", "; + typedef decltype(api_data.args.hsa_ext_image_create_with_layout.image) arg_val_type_t7; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_create_with_layout.image); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + default: + out << "ERROR: unknown API"; + abort(); + } + return out; +} + #endif // INC_HSA_PROF_STR_H \ No newline at end of file diff --git a/inc/roctracer_hsa.h b/inc/roctracer_hsa.h index 473bb27ad1..7eb2c5b92c 100644 --- a/inc/roctracer_hsa.h +++ b/inc/roctracer_hsa.h @@ -22,6 +22,7 @@ THE SOFTWARE. #ifndef INC_ROCTRACER_HSA_H_ #define INC_ROCTRACER_HSA_H_ +#include #include #include @@ -70,5 +71,81 @@ extern ImageExtTable ImageExtTable_saved; }; }; +inline std::ostream& operator<< (std::ostream& out, const hsa_callback_data_t& v) { out << ""; return out; } +inline std::ostream& operator<< (std::ostream &out, const hsa_signal_t& v) { out << "" << std::dec; return out; } +inline std::ostream& operator<< (std::ostream &out, const hsa_signal_group_t& v) { out << ""; return out; } +inline std::ostream& operator<< (std::ostream &out, const hsa_wavefront_t& v) { out << "" << std::dec; return out; } +inline std::ostream& operator<< (std::ostream& out, const hsa_cache_t& v) { out << ""; return out; } +inline std::ostream& operator<< (std::ostream &out, const hsa_region_t& v) { out << "" << std::dec; return out; } +inline std::ostream& operator<< (std::ostream& out, const hsa_amd_memory_pool_t& v) { out << ""; return out; } +inline std::ostream& operator<< (std::ostream &out, const hsa_agent_t& v) { out << "" << std::dec; return out; } +inline std::ostream& operator<< (std::ostream& out, const hsa_isa_t& v) { out << ""; return out; } +inline std::ostream& operator<< (std::ostream& out, const hsa_code_symbol_t& v) { out << ""; return out; } +inline std::ostream& operator<< (std::ostream& out, const hsa_code_object_t& v) { out << ""; return out; } +inline std::ostream& operator<< (std::ostream& out, const hsa_code_object_reader_t& v) { out << ""; return out; } +inline std::ostream& operator<< (std::ostream& out, const hsa_executable_symbol_t& v) { out << ""; return out; } +inline std::ostream& operator<< (std::ostream& out, const hsa_executable_t& v) { out << ""; return out; } +inline std::ostream& operator<< (std::ostream& out, const hsa_ext_image_t& v) { out << ""; return out; } +inline std::ostream& operator<< (std::ostream& out, const hsa_ext_sampler_t& v) { out << ""; return out; } + +namespace roctracer { +namespace hsa_support { +template +struct output_streamer { + inline static std::ostream& put(std::ostream& out, const T& v) { out << v; return out; } +}; + +template<> +struct output_streamer { + inline static std::ostream& put(std::ostream& out, bool v) { out << std::hex << ""; return out; } +}; +template<> +struct output_streamer { + inline static std::ostream& put(std::ostream& out, uint8_t v) { out << std::hex << ""; return out; } +}; +template<> +struct output_streamer { + inline static std::ostream& put(std::ostream& out, uint16_t v) { out << std::hex << ""; return out; } +}; +template<> +struct output_streamer { + inline static std::ostream& put(std::ostream& out, uint32_t v) { out << std::hex << ""; return out; } +}; +template<> +struct output_streamer { + inline static std::ostream& put(std::ostream& out, uint64_t v) { out << std::hex << ""; return out; } +}; + +template<> +struct output_streamer { + inline static std::ostream& put(std::ostream& out, bool* v) { out << std::hex << ""; return out; } +}; +template<> +struct output_streamer { + inline static std::ostream& put(std::ostream& out, uint8_t* v) { out << std::hex << ""; return out; } +}; +template<> +struct output_streamer { + inline static std::ostream& put(std::ostream& out, uint16_t* v) { out << std::hex << ""; return out; } +}; +template<> +struct output_streamer { + inline static std::ostream& put(std::ostream& out, uint32_t* v) { out << std::hex << ""; return out; } +}; +template<> +struct output_streamer { + inline static std::ostream& put(std::ostream& out, uint64_t* v) { out << std::hex << ""; return out; } +}; + +template<> +struct output_streamer { + inline static std::ostream& put(std::ostream& out, hsa_queue_t* v) { out << ""; return out; } +}; +template<> +struct output_streamer { + inline static std::ostream& put(std::ostream& out, hsa_queue_t** v) { out << ""; return out; } +}; +};}; + #include "inc/hsa_prof_str.h" #endif // INC_ROCTRACER_HSA_H_ diff --git a/script/hsaap.py b/script/hsaap.py index fe4e215b88..ed2e5df1f7 100755 --- a/script/hsaap.py +++ b/script/hsaap.py @@ -156,7 +156,7 @@ class API_DeclParser: # parse method args def get_args(self, record): - struct = { 'ret': '', 'args': '', 'astr': {}, 'alst': []} + struct = {'ret': '', 'args': '', 'astr': {}, 'alst': [], 'tlst': []} record = re.sub(r'^\s+', r'', record) record = re.sub(r'\s*(\*+)\s*', r'\1 ', record) rind = NextBlock(0, record) @@ -191,6 +191,7 @@ class API_DeclParser: item = args[pos:end] struct['astr'][name] = item struct['alst'].append(name) + struct['tlst'].append(item) if args[end] != ',': self.fatal("no comma '" + args + "'") pos = end + 1 @@ -222,8 +223,7 @@ class API_DeclParser: if active == 1: if self.is_end(record): - args = self.get_args(record) - self.data[call] = args + self.data[call] = self.get_args(record) active = 0 found = 0 @@ -242,6 +242,7 @@ class API_DescrParser: self.content = '' self.api_names = [] self.api_calls = {} + self.api_rettypes = set() self.api_id = {} api_data = {} @@ -267,11 +268,16 @@ class API_DescrParser: API_DeclParser(hsa_dir + header, api_list, api_data) for call in api_list: - # Not-supported functions - if not call in api_data: ns_calls.append(call) - # API ID map - self.api_id[call] = 'HSA_API_ID_' + call + if not call in api_data: + # Not-supported functions + ns_calls.append(call) + else: + # API ID map + self.api_id[call] = 'HSA_API_ID_' + call + # Return types + self.api_rettypes.add(api_data[call]['ret']) + self.api_rettypes.discard('void') self.api_data = api_data self.ns_calls = ns_calls @@ -303,6 +309,8 @@ class API_DescrParser: self.add_section('API get_name function', ' ', self.gen_get_name) self.content += '\n};};\n' self.content += '#endif // PROF_API_IMPL\n' + + self.add_section('API output stream', ' ', self.gen_out_stream) self.content += '\n' self.content += '#endif // ' + out_macro @@ -344,6 +352,10 @@ class API_DescrParser: self.content += ' uint64_t correlation_id;\n' self.content += ' uint32_t phase;\n' self.content += ' union {\n' + for ret_type in self.api_rettypes: + self.content += ' ' + ret_type + ' ' + ret_type + '_retval;\n' + self.content += ' };\n' + self.content += ' union {\n' return if call != '-': self.content += ' struct {\n' @@ -365,7 +377,7 @@ class API_DescrParser: ret_type = struct['ret'] self.content += 'static ' + ret_type + ' ' + call + '_callback(' + struct['args'] + ') {\n' self.content += ' hsa_api_data_t api_data{};\n' - for var in struct['astr']: + for var in struct['alst']: self.content += ' api_data.args.' + call + '.' + var + ' = ' + var + ';\n' self.content += ' activity_rtapi_callback_t api_callback_fun = NULL;\n' self.content += ' void* api_callback_arg = NULL;\n' @@ -375,6 +387,8 @@ class API_DescrParser: if ret_type != 'void': self.content += ' ' + ret_type + ' ret =' self.content += ' ' + name + '_saved.' + call + '_fn(' + ', '.join(struct['alst']) + ');\n' + if ret_type != 'void': + self.content += ' api_data.' + ret_type + '_retval = ret;\n' self.content += ' api_data.phase = 1;\n' self.content += ' if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, ' + call_id + ', &api_data, api_callback_arg);\n' if ret_type != 'void': @@ -400,9 +414,56 @@ class API_DescrParser: if call != '-': self.content += ' case ' + self.api_id[call] + ': return "' + call + '";\n' else: - self.content += ' };\n' + self.content += ' }\n' self.content += ' return "unknown";\n' - self.content += '};\n' + self.content += '}\n' + + # generate stream operator + def gen_out_stream(self, n, name, call, struct): + if n == -1: + self.content += 'typedef std::pair hsa_api_data_pair_t;\n' + self.content += 'inline std::ostream& operator<< (std::ostream& out, const hsa_api_data_pair_t& data_pair) {\n' + self.content += ' const uint32_t cid = data_pair.first;\n' + self.content += ' const hsa_api_data_t& api_data = data_pair.second;\n' + self.content += ' switch(cid) {\n' + return + if call != '-': + self.content += ' case ' + self.api_id[call] + ': {\n' + self.content += ' out << "' + call + '(";\n' + arg_list = struct['alst'] + if len(arg_list) != 0: + for ind in range(len(arg_list)): + arg_var = arg_list[ind] + arg_val = 'api_data.args.' + call + '.' + arg_var + self.content += ' typedef decltype(' + arg_val + ') arg_val_type_t' + str(ind) + ';\n' + self.content += ' roctracer::hsa_support::output_streamer::put(out, ' + arg_val + ')' + ''' + arg_item = struct['tlst'][ind] + if re.search(r'\(\* ', arg_item): arg_pref = '' + elif re.search(r'void\* ', arg_item): arg_pref = '' + elif re.search(r'\*\* ', arg_item): arg_pref = '**' + elif re.search(r'\* ', arg_item): arg_pref = '*' + else: arg_pref = '' + if arg_pref != '': + self.content += ' if (' + arg_val + ') out << ' + arg_pref + '(' + arg_val + '); else out << ' + arg_val + else: + self.content += ' out << ' + arg_val + ''' + if ind < len(arg_list) - 1: self.content += ' << ", ";\n' + else: self.content += ';\n' + if struct['ret'] != 'void': + self.content += ' out << ") = " << api_data.' + struct['ret'] + '_retval;\n' + else: + self.content += ' out << ") = void";\n' + self.content += ' break;\n' + self.content += ' }\n' + else: + self.content += ' default:\n' + self.content += ' out << "ERROR: unknown API";\n' + self.content += ' abort();\n' + self.content += ' }\n' + self.content += ' return out;\n' + self.content += '}\n' ############################################################# # main diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 542aeb0374..a8413f8307 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -32,7 +32,7 @@ execute_process ( COMMAND sh -xc "if [ -e ${TEST_DIR}/hsa ] ; then cd ${TEST_DIR file( GLOB UTIL_SRC "${TEST_HSA}/util/*.cpp" ) ## Build test library -set ( TEST_LIB "tool" ) +set ( TEST_LIB "tracer_tool" ) set ( TEST_LIB_SRC ${TEST_DIR}/tool/tool.cpp ${UTIL_SRC} ) add_library ( ${TEST_LIB} SHARED ${TEST_LIB_SRC} ) target_include_directories ( ${TEST_LIB} PRIVATE ${TEST_HSA} ${ROOT_DIR} ${HSA_RUNTIME_INC_PATH} ) diff --git a/test/run.sh b/test/run.sh index b562f06421..f14a53cc0b 100755 --- a/test/run.sh +++ b/test/run.sh @@ -43,7 +43,7 @@ export ROCP_THRS=1 # paths to ROC profiler and oher libraries export LD_LIBRARY_PATH=$PWD # ROC profiler library loaded by HSA runtime -export HSA_TOOLS_LIB="test/libtool.so libroctracer64.so" +export HSA_TOOLS_LIB="test/tracer_libtool.so libroctracer64.so" export LD_PRELOAD="libroctracer64.so" eval ./test/hsa/ctrl diff --git a/test/tool/tool.cpp b/test/tool/tool.cpp index f8b46c14d2..1b2d6cd72c 100644 --- a/test/tool/tool.cpp +++ b/test/tool/tool.cpp @@ -20,7 +20,11 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +#include +#include + #include + #include #include @@ -45,8 +49,12 @@ void hsa_api_callback( if (data->phase == ACTIVITY_API_PHASE_ENTER) { begin_timestamp = timer.timestamp_fn_ns(); } else { - timestamp_t duration_ns = (cid == HSA_API_ID_hsa_shut_down) ? 0 : timer.timestamp_fn_ns() - begin_timestamp; - fprintf(stdout, "%s,%luns\n", roctracer_id_string(domain, cid, 0), duration_ns); + const timestamp_t end_timestamp = (cid == HSA_API_ID_hsa_shut_down) ? begin_timestamp : timer.timestamp_fn_ns(); +// const timestamp_t duration_ns = end_timestamp - begin_timestamp; +// fprintf(stdout, "%s,%luns\n", roctracer_id_string(domain, cid, 0), duration_ns); + std::ostringstream os; + os << '(' << begin_timestamp << ":" << end_timestamp << ") " << hsa_api_data_pair_t(cid, *data); + fprintf(stdout, "%s\n", os.str().c_str()); } } From 7bf1219dafb331860a7975cdb1b10b213ba6cf8b Mon Sep 17 00:00:00 2001 From: Evgeny Date: Mon, 3 Dec 2018 09:40:50 -0600 Subject: [PATCH 045/691] renaming test/tool/tool.cpp -> test/tool/tracer_tool.cpp --- test/CMakeLists.txt | 2 +- test/run.sh | 2 +- test/tool/{tool.cpp => tracer_tool.cpp} | 0 3 files changed, 2 insertions(+), 2 deletions(-) rename test/tool/{tool.cpp => tracer_tool.cpp} (100%) diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index a8413f8307..47b370d09c 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -33,7 +33,7 @@ file( GLOB UTIL_SRC "${TEST_HSA}/util/*.cpp" ) ## Build test library set ( TEST_LIB "tracer_tool" ) -set ( TEST_LIB_SRC ${TEST_DIR}/tool/tool.cpp ${UTIL_SRC} ) +set ( TEST_LIB_SRC ${TEST_DIR}/tool/tracer_tool.cpp ${UTIL_SRC} ) add_library ( ${TEST_LIB} SHARED ${TEST_LIB_SRC} ) target_include_directories ( ${TEST_LIB} PRIVATE ${TEST_HSA} ${ROOT_DIR} ${HSA_RUNTIME_INC_PATH} ) target_link_libraries ( ${TEST_LIB} ${ROCTRACER_TARGET} ${HSA_RUNTIME_LIB} c stdc++ dl pthread rt ) diff --git a/test/run.sh b/test/run.sh index f14a53cc0b..d73fdce880 100755 --- a/test/run.sh +++ b/test/run.sh @@ -43,7 +43,7 @@ export ROCP_THRS=1 # paths to ROC profiler and oher libraries export LD_LIBRARY_PATH=$PWD # ROC profiler library loaded by HSA runtime -export HSA_TOOLS_LIB="test/tracer_libtool.so libroctracer64.so" +export HSA_TOOLS_LIB="test/libtracer_tool.so libroctracer64.so" export LD_PRELOAD="libroctracer64.so" eval ./test/hsa/ctrl diff --git a/test/tool/tool.cpp b/test/tool/tracer_tool.cpp similarity index 100% rename from test/tool/tool.cpp rename to test/tool/tracer_tool.cpp From 9dd17cd351b9b7de1bd57227767d3f4ec6bd778b Mon Sep 17 00:00:00 2001 From: Evgeny Date: Thu, 20 Dec 2018 20:21:37 -0600 Subject: [PATCH 046/691] dynamic runtime loading --- CMakeLists.txt | 9 +- inc/ext/hsa_rt_utils.hpp | 8 +- inc/hsa_prof_str.h | 6365 ------------------------------------- src/CMakeLists.txt | 2 +- src/core/loader.h | 69 + src/core/roctracer.cpp | 30 +- test/run.sh | 2 +- test/tool/tracer_tool.cpp | 5 +- 8 files changed, 107 insertions(+), 6383 deletions(-) delete mode 100644 inc/hsa_prof_str.h create mode 100644 src/core/loader.h diff --git a/CMakeLists.txt b/CMakeLists.txt index 0b623e463e..3c5cda0815 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -72,17 +72,16 @@ include ( ${LIB_DIR}/CMakeLists.txt ) set_property ( TARGET ${TARGET_NAME} PROPERTY VERSION "${LIB_VERSION_STRING}" ) set_property ( TARGET ${TARGET_NAME} PROPERTY SOVERSION "${BUILD_VERSION_MAJOR}" ) -## If the library is a release, strip the target library -#if ( "${CMAKE_BUILD_TYPE}" STREQUAL release ) -# add_custom_command ( TARGET ${ROCTRACER_TARGET} POST_BUILD COMMAND ${CMAKE_STRIP} *.so ) -#endif () +# If the library is a release, strip the target library +if ( "${CMAKE_BUILD_TYPE}" STREQUAL release ) + add_custom_command ( TARGET ${ROCTRACER_TARGET} POST_BUILD COMMAND ${CMAKE_STRIP} *.so ) +endif () ## Build tests add_subdirectory ( ${TEST_DIR} ${PROJECT_BINARY_DIR}/test ) ## Install and packaging set ( CMAKE_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX}/${ROCTRACER_NAME} ) -set ( CPACK_PACKAGING_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX} ) message ( "---------Install-Dir: ${CMAKE_INSTALL_PREFIX}" ) add_custom_target ( inc-link ALL WORKING_DIRECTORY ${PROJECT_BINARY_DIR} diff --git a/inc/ext/hsa_rt_utils.hpp b/inc/ext/hsa_rt_utils.hpp index eaddb27db7..6c04a3dafe 100644 --- a/inc/ext/hsa_rt_utils.hpp +++ b/inc/ext/hsa_rt_utils.hpp @@ -52,8 +52,12 @@ class Timer { inline void init(const hsa_system_get_info_fn_t& get_info_fn) { hsa_system_get_info_fn = get_info_fn; timestamp_t timestamp_hz = 0; - HSART_CALL(get_info_fn(HSA_SYSTEM_INFO_TIMESTAMP_FREQUENCY, ×tamp_hz)); - timestamp_rate_ = (freq_t)1000000000 / (freq_t)timestamp_hz; + if (get_info_fn == NULL) { + timestamp_rate_ = 0; + } else { + HSART_CALL(get_info_fn(HSA_SYSTEM_INFO_TIMESTAMP_FREQUENCY, ×tamp_hz)); + timestamp_rate_ = (freq_t)1000000000 / (freq_t)timestamp_hz; + } } // Returns HSA runtime timestamp rate diff --git a/inc/hsa_prof_str.h b/inc/hsa_prof_str.h deleted file mode 100644 index 79ddb5ff76..0000000000 --- a/inc/hsa_prof_str.h +++ /dev/null @@ -1,6365 +0,0 @@ -// automatically generated - -/* -Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. -*/ - -///////////////////////////////////////////////////////////////////////////// -// -// HSA API tracing primitives -// -// 'CoreApiTable', header 'hsa.h', 125 funcs -// 'AmdExtTable', header 'hsa_ext_amd.h', 40 funcs -// 'ImageExtTable', header 'hsa_ext_image.h', 13 funcs -// 'AmdExtTable', header 'hsa_api_trace.h', 40 funcs -// -///////////////////////////////////////////////////////////////////////////// - -#ifndef INC_HSA_PROF_STR_H_ -#define INC_HSA_PROF_STR_H_ - -// section: API ID enumeration - -enum hsa_api_id_t { - // block: CoreApiTable API - HSA_API_ID_hsa_init = 0, - HSA_API_ID_hsa_shut_down = 1, - HSA_API_ID_hsa_system_get_info = 2, - HSA_API_ID_hsa_system_extension_supported = 3, - HSA_API_ID_hsa_system_get_extension_table = 4, - HSA_API_ID_hsa_iterate_agents = 5, - HSA_API_ID_hsa_agent_get_info = 6, - HSA_API_ID_hsa_queue_create = 7, - HSA_API_ID_hsa_soft_queue_create = 8, - HSA_API_ID_hsa_queue_destroy = 9, - HSA_API_ID_hsa_queue_inactivate = 10, - HSA_API_ID_hsa_queue_load_read_index_scacquire = 11, - HSA_API_ID_hsa_queue_load_read_index_relaxed = 12, - HSA_API_ID_hsa_queue_load_write_index_scacquire = 13, - HSA_API_ID_hsa_queue_load_write_index_relaxed = 14, - HSA_API_ID_hsa_queue_store_write_index_relaxed = 15, - HSA_API_ID_hsa_queue_store_write_index_screlease = 16, - HSA_API_ID_hsa_queue_cas_write_index_scacq_screl = 17, - HSA_API_ID_hsa_queue_cas_write_index_scacquire = 18, - HSA_API_ID_hsa_queue_cas_write_index_relaxed = 19, - HSA_API_ID_hsa_queue_cas_write_index_screlease = 20, - HSA_API_ID_hsa_queue_add_write_index_scacq_screl = 21, - HSA_API_ID_hsa_queue_add_write_index_scacquire = 22, - HSA_API_ID_hsa_queue_add_write_index_relaxed = 23, - HSA_API_ID_hsa_queue_add_write_index_screlease = 24, - HSA_API_ID_hsa_queue_store_read_index_relaxed = 25, - HSA_API_ID_hsa_queue_store_read_index_screlease = 26, - HSA_API_ID_hsa_agent_iterate_regions = 27, - HSA_API_ID_hsa_region_get_info = 28, - HSA_API_ID_hsa_agent_get_exception_policies = 29, - HSA_API_ID_hsa_agent_extension_supported = 30, - HSA_API_ID_hsa_memory_register = 31, - HSA_API_ID_hsa_memory_deregister = 32, - HSA_API_ID_hsa_memory_allocate = 33, - HSA_API_ID_hsa_memory_free = 34, - HSA_API_ID_hsa_memory_copy = 35, - HSA_API_ID_hsa_memory_assign_agent = 36, - HSA_API_ID_hsa_signal_create = 37, - HSA_API_ID_hsa_signal_destroy = 38, - HSA_API_ID_hsa_signal_load_relaxed = 39, - HSA_API_ID_hsa_signal_load_scacquire = 40, - HSA_API_ID_hsa_signal_store_relaxed = 41, - HSA_API_ID_hsa_signal_store_screlease = 42, - HSA_API_ID_hsa_signal_wait_relaxed = 43, - HSA_API_ID_hsa_signal_wait_scacquire = 44, - HSA_API_ID_hsa_signal_and_relaxed = 45, - HSA_API_ID_hsa_signal_and_scacquire = 46, - HSA_API_ID_hsa_signal_and_screlease = 47, - HSA_API_ID_hsa_signal_and_scacq_screl = 48, - HSA_API_ID_hsa_signal_or_relaxed = 49, - HSA_API_ID_hsa_signal_or_scacquire = 50, - HSA_API_ID_hsa_signal_or_screlease = 51, - HSA_API_ID_hsa_signal_or_scacq_screl = 52, - HSA_API_ID_hsa_signal_xor_relaxed = 53, - HSA_API_ID_hsa_signal_xor_scacquire = 54, - HSA_API_ID_hsa_signal_xor_screlease = 55, - HSA_API_ID_hsa_signal_xor_scacq_screl = 56, - HSA_API_ID_hsa_signal_exchange_relaxed = 57, - HSA_API_ID_hsa_signal_exchange_scacquire = 58, - HSA_API_ID_hsa_signal_exchange_screlease = 59, - HSA_API_ID_hsa_signal_exchange_scacq_screl = 60, - HSA_API_ID_hsa_signal_add_relaxed = 61, - HSA_API_ID_hsa_signal_add_scacquire = 62, - HSA_API_ID_hsa_signal_add_screlease = 63, - HSA_API_ID_hsa_signal_add_scacq_screl = 64, - HSA_API_ID_hsa_signal_subtract_relaxed = 65, - HSA_API_ID_hsa_signal_subtract_scacquire = 66, - HSA_API_ID_hsa_signal_subtract_screlease = 67, - HSA_API_ID_hsa_signal_subtract_scacq_screl = 68, - HSA_API_ID_hsa_signal_cas_relaxed = 69, - HSA_API_ID_hsa_signal_cas_scacquire = 70, - HSA_API_ID_hsa_signal_cas_screlease = 71, - HSA_API_ID_hsa_signal_cas_scacq_screl = 72, - HSA_API_ID_hsa_isa_from_name = 73, - HSA_API_ID_hsa_isa_get_info = 74, - HSA_API_ID_hsa_isa_compatible = 75, - HSA_API_ID_hsa_code_object_serialize = 76, - HSA_API_ID_hsa_code_object_deserialize = 77, - HSA_API_ID_hsa_code_object_destroy = 78, - HSA_API_ID_hsa_code_object_get_info = 79, - HSA_API_ID_hsa_code_object_get_symbol = 80, - HSA_API_ID_hsa_code_symbol_get_info = 81, - HSA_API_ID_hsa_code_object_iterate_symbols = 82, - HSA_API_ID_hsa_executable_create = 83, - HSA_API_ID_hsa_executable_destroy = 84, - HSA_API_ID_hsa_executable_load_code_object = 85, - HSA_API_ID_hsa_executable_freeze = 86, - HSA_API_ID_hsa_executable_get_info = 87, - HSA_API_ID_hsa_executable_global_variable_define = 88, - HSA_API_ID_hsa_executable_agent_global_variable_define = 89, - HSA_API_ID_hsa_executable_readonly_variable_define = 90, - HSA_API_ID_hsa_executable_validate = 91, - HSA_API_ID_hsa_executable_get_symbol = 92, - HSA_API_ID_hsa_executable_symbol_get_info = 93, - HSA_API_ID_hsa_executable_iterate_symbols = 94, - HSA_API_ID_hsa_status_string = 95, - HSA_API_ID_hsa_extension_get_name = 96, - HSA_API_ID_hsa_system_major_extension_supported = 97, - HSA_API_ID_hsa_system_get_major_extension_table = 98, - HSA_API_ID_hsa_agent_major_extension_supported = 99, - HSA_API_ID_hsa_cache_get_info = 100, - HSA_API_ID_hsa_agent_iterate_caches = 101, - HSA_API_ID_hsa_signal_silent_store_relaxed = 102, - HSA_API_ID_hsa_signal_silent_store_screlease = 103, - HSA_API_ID_hsa_signal_group_create = 104, - HSA_API_ID_hsa_signal_group_destroy = 105, - HSA_API_ID_hsa_signal_group_wait_any_scacquire = 106, - HSA_API_ID_hsa_signal_group_wait_any_relaxed = 107, - HSA_API_ID_hsa_agent_iterate_isas = 108, - HSA_API_ID_hsa_isa_get_info_alt = 109, - HSA_API_ID_hsa_isa_get_exception_policies = 110, - HSA_API_ID_hsa_isa_get_round_method = 111, - HSA_API_ID_hsa_wavefront_get_info = 112, - HSA_API_ID_hsa_isa_iterate_wavefronts = 113, - HSA_API_ID_hsa_code_object_get_symbol_from_name = 114, - HSA_API_ID_hsa_code_object_reader_create_from_file = 115, - HSA_API_ID_hsa_code_object_reader_create_from_memory = 116, - HSA_API_ID_hsa_code_object_reader_destroy = 117, - HSA_API_ID_hsa_executable_create_alt = 118, - HSA_API_ID_hsa_executable_load_program_code_object = 119, - HSA_API_ID_hsa_executable_load_agent_code_object = 120, - HSA_API_ID_hsa_executable_validate_alt = 121, - HSA_API_ID_hsa_executable_get_symbol_by_name = 122, - HSA_API_ID_hsa_executable_iterate_agent_symbols = 123, - HSA_API_ID_hsa_executable_iterate_program_symbols = 124, - - // block: AmdExtTable API - HSA_API_ID_hsa_amd_coherency_get_type = 125, - HSA_API_ID_hsa_amd_coherency_set_type = 126, - HSA_API_ID_hsa_amd_profiling_set_profiler_enabled = 127, - HSA_API_ID_hsa_amd_profiling_async_copy_enable = 128, - HSA_API_ID_hsa_amd_profiling_get_dispatch_time = 129, - HSA_API_ID_hsa_amd_profiling_get_async_copy_time = 130, - HSA_API_ID_hsa_amd_profiling_convert_tick_to_system_domain = 131, - HSA_API_ID_hsa_amd_signal_async_handler = 132, - HSA_API_ID_hsa_amd_async_function = 133, - HSA_API_ID_hsa_amd_signal_wait_any = 134, - HSA_API_ID_hsa_amd_queue_cu_set_mask = 135, - HSA_API_ID_hsa_amd_memory_pool_get_info = 136, - HSA_API_ID_hsa_amd_agent_iterate_memory_pools = 137, - HSA_API_ID_hsa_amd_memory_pool_allocate = 138, - HSA_API_ID_hsa_amd_memory_pool_free = 139, - HSA_API_ID_hsa_amd_memory_async_copy = 140, - HSA_API_ID_hsa_amd_agent_memory_pool_get_info = 141, - HSA_API_ID_hsa_amd_agents_allow_access = 142, - HSA_API_ID_hsa_amd_memory_pool_can_migrate = 143, - HSA_API_ID_hsa_amd_memory_migrate = 144, - HSA_API_ID_hsa_amd_memory_lock = 145, - HSA_API_ID_hsa_amd_memory_unlock = 146, - HSA_API_ID_hsa_amd_memory_fill = 147, - HSA_API_ID_hsa_amd_interop_map_buffer = 148, - HSA_API_ID_hsa_amd_interop_unmap_buffer = 149, - HSA_API_ID_hsa_amd_image_create = 150, - HSA_API_ID_hsa_amd_pointer_info = 151, - HSA_API_ID_hsa_amd_pointer_info_set_userdata = 152, - HSA_API_ID_hsa_amd_ipc_memory_create = 153, - HSA_API_ID_hsa_amd_ipc_memory_attach = 154, - HSA_API_ID_hsa_amd_ipc_memory_detach = 155, - HSA_API_ID_hsa_amd_signal_create = 156, - HSA_API_ID_hsa_amd_ipc_signal_create = 157, - HSA_API_ID_hsa_amd_ipc_signal_attach = 158, - HSA_API_ID_hsa_amd_register_system_event_handler = 159, - HSA_API_ID_hsa_amd_queue_intercept_create = 160, - HSA_API_ID_hsa_amd_queue_intercept_register = 161, - HSA_API_ID_hsa_amd_queue_set_priority = 162, - HSA_API_ID_hsa_amd_memory_async_copy_rect = 163, - HSA_API_ID_hsa_amd_runtime_queue_create_register = 164, - - // block: ImageExtTable API - HSA_API_ID_hsa_ext_image_get_capability = 165, - HSA_API_ID_hsa_ext_image_data_get_info = 166, - HSA_API_ID_hsa_ext_image_create = 167, - HSA_API_ID_hsa_ext_image_import = 168, - HSA_API_ID_hsa_ext_image_export = 169, - HSA_API_ID_hsa_ext_image_copy = 170, - HSA_API_ID_hsa_ext_image_clear = 171, - HSA_API_ID_hsa_ext_image_destroy = 172, - HSA_API_ID_hsa_ext_sampler_create = 173, - HSA_API_ID_hsa_ext_sampler_destroy = 174, - HSA_API_ID_hsa_ext_image_get_capability_with_layout = 175, - HSA_API_ID_hsa_ext_image_data_get_info_with_layout = 176, - HSA_API_ID_hsa_ext_image_create_with_layout = 177, - - HSA_API_ID_NUMBER = 178, - HSA_API_ID_ANY = 179, -}; - -// section: API arg structure - -struct hsa_api_data_t { - uint64_t correlation_id; - uint32_t phase; - union { - hsa_status_t hsa_status_t_retval; - uint64_t uint64_t_retval; - hsa_signal_value_t hsa_signal_value_t_retval; - uint32_t uint32_t_retval; - }; - union { - // block: CoreApiTable API - struct { - } hsa_init; - struct { - } hsa_shut_down; - struct { - hsa_system_info_t attribute; - void* value; - } hsa_system_get_info; - struct { - uint16_t version_minor; - bool* result; - uint16_t extension; - uint16_t version_major; - } hsa_system_extension_supported; - struct { - void* table; - uint16_t version_minor; - uint16_t extension; - uint16_t version_major; - } hsa_system_get_extension_table; - struct { - hsa_status_t (* callback)(hsa_agent_t agent,void* data); - void* data; - } hsa_iterate_agents; - struct { - hsa_agent_info_t attribute; - void* value; - hsa_agent_t agent; - } hsa_agent_get_info; - struct { - uint32_t private_segment_size; - void* data; - hsa_agent_t agent; - hsa_queue_t** queue; - void (* callback)(hsa_status_t status,hsa_queue_t* source,void* data); - uint32_t group_segment_size; - hsa_queue_type32_t type; - uint32_t size; - } hsa_queue_create; - struct { - uint32_t features; - hsa_region_t region; - hsa_queue_t** queue; - hsa_signal_t doorbell_signal; - hsa_queue_type32_t type; - uint32_t size; - } hsa_soft_queue_create; - struct { - hsa_queue_t* queue; - } hsa_queue_destroy; - struct { - hsa_queue_t* queue; - } hsa_queue_inactivate; - struct { - const hsa_queue_t* queue; - } hsa_queue_load_read_index_scacquire; - struct { - const hsa_queue_t* queue; - } hsa_queue_load_read_index_relaxed; - struct { - const hsa_queue_t* queue; - } hsa_queue_load_write_index_scacquire; - struct { - const hsa_queue_t* queue; - } hsa_queue_load_write_index_relaxed; - struct { - const hsa_queue_t* queue; - uint64_t value; - } hsa_queue_store_write_index_relaxed; - struct { - const hsa_queue_t* queue; - uint64_t value; - } hsa_queue_store_write_index_screlease; - struct { - const hsa_queue_t* queue; - uint64_t expected; - uint64_t value; - } hsa_queue_cas_write_index_scacq_screl; - struct { - const hsa_queue_t* queue; - uint64_t expected; - uint64_t value; - } hsa_queue_cas_write_index_scacquire; - struct { - const hsa_queue_t* queue; - uint64_t expected; - uint64_t value; - } hsa_queue_cas_write_index_relaxed; - struct { - const hsa_queue_t* queue; - uint64_t expected; - uint64_t value; - } hsa_queue_cas_write_index_screlease; - struct { - const hsa_queue_t* queue; - uint64_t value; - } hsa_queue_add_write_index_scacq_screl; - struct { - const hsa_queue_t* queue; - uint64_t value; - } hsa_queue_add_write_index_scacquire; - struct { - const hsa_queue_t* queue; - uint64_t value; - } hsa_queue_add_write_index_relaxed; - struct { - const hsa_queue_t* queue; - uint64_t value; - } hsa_queue_add_write_index_screlease; - struct { - const hsa_queue_t* queue; - uint64_t value; - } hsa_queue_store_read_index_relaxed; - struct { - const hsa_queue_t* queue; - uint64_t value; - } hsa_queue_store_read_index_screlease; - struct { - hsa_status_t (* callback)(hsa_region_t region,void* data); - void* data; - hsa_agent_t agent; - } hsa_agent_iterate_regions; - struct { - hsa_region_info_t attribute; - hsa_region_t region; - void* value; - } hsa_region_get_info; - struct { - hsa_profile_t profile; - uint16_t* mask; - hsa_agent_t agent; - } hsa_agent_get_exception_policies; - struct { - bool* result; - uint16_t version_minor; - hsa_agent_t agent; - uint16_t extension; - uint16_t version_major; - } hsa_agent_extension_supported; - struct { - void* ptr; - size_t size; - } hsa_memory_register; - struct { - void* ptr; - size_t size; - } hsa_memory_deregister; - struct { - hsa_region_t region; - void** ptr; - size_t size; - } hsa_memory_allocate; - struct { - void* ptr; - } hsa_memory_free; - struct { - const void* src; - void* dst; - size_t size; - } hsa_memory_copy; - struct { - hsa_access_permission_t access; - void* ptr; - hsa_agent_t agent; - } hsa_memory_assign_agent; - struct { - hsa_signal_t* signal; - uint32_t num_consumers; - const hsa_agent_t* consumers; - hsa_signal_value_t initial_value; - } hsa_signal_create; - struct { - hsa_signal_t signal; - } hsa_signal_destroy; - struct { - hsa_signal_t signal; - } hsa_signal_load_relaxed; - struct { - hsa_signal_t signal; - } hsa_signal_load_scacquire; - struct { - hsa_signal_t signal; - hsa_signal_value_t value; - } hsa_signal_store_relaxed; - struct { - hsa_signal_t signal; - hsa_signal_value_t value; - } hsa_signal_store_screlease; - struct { - hsa_signal_t signal; - uint64_t timeout_hint; - hsa_wait_state_t wait_state_hint; - hsa_signal_value_t compare_value; - hsa_signal_condition_t condition; - } hsa_signal_wait_relaxed; - struct { - hsa_signal_t signal; - uint64_t timeout_hint; - hsa_wait_state_t wait_state_hint; - hsa_signal_value_t compare_value; - hsa_signal_condition_t condition; - } hsa_signal_wait_scacquire; - struct { - hsa_signal_t signal; - hsa_signal_value_t value; - } hsa_signal_and_relaxed; - struct { - hsa_signal_t signal; - hsa_signal_value_t value; - } hsa_signal_and_scacquire; - struct { - hsa_signal_t signal; - hsa_signal_value_t value; - } hsa_signal_and_screlease; - struct { - hsa_signal_t signal; - hsa_signal_value_t value; - } hsa_signal_and_scacq_screl; - struct { - hsa_signal_t signal; - hsa_signal_value_t value; - } hsa_signal_or_relaxed; - struct { - hsa_signal_t signal; - hsa_signal_value_t value; - } hsa_signal_or_scacquire; - struct { - hsa_signal_t signal; - hsa_signal_value_t value; - } hsa_signal_or_screlease; - struct { - hsa_signal_t signal; - hsa_signal_value_t value; - } hsa_signal_or_scacq_screl; - struct { - hsa_signal_t signal; - hsa_signal_value_t value; - } hsa_signal_xor_relaxed; - struct { - hsa_signal_t signal; - hsa_signal_value_t value; - } hsa_signal_xor_scacquire; - struct { - hsa_signal_t signal; - hsa_signal_value_t value; - } hsa_signal_xor_screlease; - struct { - hsa_signal_t signal; - hsa_signal_value_t value; - } hsa_signal_xor_scacq_screl; - struct { - hsa_signal_t signal; - hsa_signal_value_t value; - } hsa_signal_exchange_relaxed; - struct { - hsa_signal_t signal; - hsa_signal_value_t value; - } hsa_signal_exchange_scacquire; - struct { - hsa_signal_t signal; - hsa_signal_value_t value; - } hsa_signal_exchange_screlease; - struct { - hsa_signal_t signal; - hsa_signal_value_t value; - } hsa_signal_exchange_scacq_screl; - struct { - hsa_signal_t signal; - hsa_signal_value_t value; - } hsa_signal_add_relaxed; - struct { - hsa_signal_t signal; - hsa_signal_value_t value; - } hsa_signal_add_scacquire; - struct { - hsa_signal_t signal; - hsa_signal_value_t value; - } hsa_signal_add_screlease; - struct { - hsa_signal_t signal; - hsa_signal_value_t value; - } hsa_signal_add_scacq_screl; - struct { - hsa_signal_t signal; - hsa_signal_value_t value; - } hsa_signal_subtract_relaxed; - struct { - hsa_signal_t signal; - hsa_signal_value_t value; - } hsa_signal_subtract_scacquire; - struct { - hsa_signal_t signal; - hsa_signal_value_t value; - } hsa_signal_subtract_screlease; - struct { - hsa_signal_t signal; - hsa_signal_value_t value; - } hsa_signal_subtract_scacq_screl; - struct { - hsa_signal_value_t expected; - hsa_signal_t signal; - hsa_signal_value_t value; - } hsa_signal_cas_relaxed; - struct { - hsa_signal_value_t expected; - hsa_signal_t signal; - hsa_signal_value_t value; - } hsa_signal_cas_scacquire; - struct { - hsa_signal_value_t expected; - hsa_signal_t signal; - hsa_signal_value_t value; - } hsa_signal_cas_screlease; - struct { - hsa_signal_value_t expected; - hsa_signal_t signal; - hsa_signal_value_t value; - } hsa_signal_cas_scacq_screl; - struct { - hsa_isa_t* isa; - const char* name; - } hsa_isa_from_name; - struct { - hsa_isa_info_t attribute; - hsa_isa_t isa; - void* value; - uint32_t index; - } hsa_isa_get_info; - struct { - hsa_isa_t code_object_isa; - bool* result; - hsa_isa_t agent_isa; - } hsa_isa_compatible; - struct { - hsa_callback_data_t callback_data; - hsa_code_object_t code_object; - void** serialized_code_object; - size_t* serialized_code_object_size; - hsa_status_t (* alloc_callback)(size_t size,hsa_callback_data_t data,void** address); - const char* options; - } hsa_code_object_serialize; - struct { - void* serialized_code_object; - size_t serialized_code_object_size; - hsa_code_object_t* code_object; - const char* options; - } hsa_code_object_deserialize; - struct { - hsa_code_object_t code_object; - } hsa_code_object_destroy; - struct { - hsa_code_object_info_t attribute; - hsa_code_object_t code_object; - void* value; - } hsa_code_object_get_info; - struct { - hsa_code_symbol_t* symbol; - hsa_code_object_t code_object; - const char* symbol_name; - } hsa_code_object_get_symbol; - struct { - hsa_code_symbol_t code_symbol; - void* value; - hsa_code_symbol_info_t attribute; - } hsa_code_symbol_get_info; - struct { - hsa_status_t (* callback)(hsa_code_object_t code_object,hsa_code_symbol_t symbol,void* data); - hsa_code_object_t code_object; - void* data; - } hsa_code_object_iterate_symbols; - struct { - hsa_profile_t profile; - hsa_executable_state_t executable_state; - hsa_executable_t* executable; - const char* options; - } hsa_executable_create; - struct { - hsa_executable_t executable; - } hsa_executable_destroy; - struct { - hsa_executable_t executable; - hsa_code_object_t code_object; - const char* options; - hsa_agent_t agent; - } hsa_executable_load_code_object; - struct { - hsa_executable_t executable; - const char* options; - } hsa_executable_freeze; - struct { - hsa_executable_info_t attribute; - hsa_executable_t executable; - void* value; - } hsa_executable_get_info; - struct { - hsa_executable_t executable; - void* address; - const char* variable_name; - } hsa_executable_global_variable_define; - struct { - hsa_executable_t executable; - void* address; - hsa_agent_t agent; - const char* variable_name; - } hsa_executable_agent_global_variable_define; - struct { - hsa_executable_t executable; - void* address; - hsa_agent_t agent; - const char* variable_name; - } hsa_executable_readonly_variable_define; - struct { - hsa_executable_t executable; - uint32_t* result; - } hsa_executable_validate; - struct { - hsa_executable_t executable; - const char* symbol_name; - hsa_executable_symbol_t* symbol; - hsa_agent_t agent; - int32_t call_convention; - const char* module_name; - } hsa_executable_get_symbol; - struct { - hsa_executable_symbol_info_t attribute; - hsa_executable_symbol_t executable_symbol; - void* value; - } hsa_executable_symbol_get_info; - struct { - hsa_status_t (* callback)(hsa_executable_t exec,hsa_executable_symbol_t symbol,void* data); - hsa_executable_t executable; - void* data; - } hsa_executable_iterate_symbols; - struct { - hsa_status_t status; - const char** status_string; - } hsa_status_string; - struct { - const char** name; - uint16_t extension; - } hsa_extension_get_name; - struct { - uint16_t* version_minor; - bool* result; - uint16_t extension; - uint16_t version_major; - } hsa_system_major_extension_supported; - struct { - void* table; - size_t table_length; - uint16_t extension; - uint16_t version_major; - } hsa_system_get_major_extension_table; - struct { - bool* result; - uint16_t* version_minor; - hsa_agent_t agent; - uint16_t extension; - uint16_t version_major; - } hsa_agent_major_extension_supported; - struct { - hsa_cache_info_t attribute; - hsa_cache_t cache; - void* value; - } hsa_cache_get_info; - struct { - hsa_status_t (* callback)(hsa_cache_t cache,void* data); - void* data; - hsa_agent_t agent; - } hsa_agent_iterate_caches; - struct { - hsa_signal_t signal; - hsa_signal_value_t value; - } hsa_signal_silent_store_relaxed; - struct { - hsa_signal_t signal; - hsa_signal_value_t value; - } hsa_signal_silent_store_screlease; - struct { - const hsa_signal_t* signals; - uint32_t num_signals; - hsa_signal_group_t* signal_group; - const hsa_agent_t* consumers; - uint32_t num_consumers; - } hsa_signal_group_create; - struct { - hsa_signal_group_t signal_group; - } hsa_signal_group_destroy; - struct { - hsa_signal_group_t signal_group; - hsa_wait_state_t wait_state_hint; - hsa_signal_t* signal; - const hsa_signal_value_t* compare_values; - hsa_signal_value_t* value; - const hsa_signal_condition_t* conditions; - } hsa_signal_group_wait_any_scacquire; - struct { - hsa_signal_group_t signal_group; - hsa_wait_state_t wait_state_hint; - hsa_signal_t* signal; - const hsa_signal_value_t* compare_values; - hsa_signal_value_t* value; - const hsa_signal_condition_t* conditions; - } hsa_signal_group_wait_any_relaxed; - struct { - hsa_status_t (* callback)(hsa_isa_t isa,void* data); - void* data; - hsa_agent_t agent; - } hsa_agent_iterate_isas; - struct { - hsa_isa_info_t attribute; - hsa_isa_t isa; - void* value; - } hsa_isa_get_info_alt; - struct { - hsa_profile_t profile; - hsa_isa_t isa; - uint16_t* mask; - } hsa_isa_get_exception_policies; - struct { - hsa_isa_t isa; - hsa_round_method_t* round_method; - hsa_flush_mode_t flush_mode; - hsa_fp_type_t fp_type; - } hsa_isa_get_round_method; - struct { - hsa_wavefront_info_t attribute; - hsa_wavefront_t wavefront; - void* value; - } hsa_wavefront_get_info; - struct { - hsa_status_t (* callback)(hsa_wavefront_t wavefront,void* data); - hsa_isa_t isa; - void* data; - } hsa_isa_iterate_wavefronts; - struct { - const char* module_name; - hsa_code_symbol_t* symbol; - hsa_code_object_t code_object; - const char* symbol_name; - } hsa_code_object_get_symbol_from_name; - struct { - hsa_code_object_reader_t* code_object_reader; - hsa_file_t file; - } hsa_code_object_reader_create_from_file; - struct { - hsa_code_object_reader_t* code_object_reader; - const void* code_object; - size_t size; - } hsa_code_object_reader_create_from_memory; - struct { - hsa_code_object_reader_t code_object_reader; - } hsa_code_object_reader_destroy; - struct { - hsa_profile_t profile; - hsa_default_float_rounding_mode_t default_float_rounding_mode; - hsa_executable_t* executable; - const char* options; - } hsa_executable_create_alt; - struct { - hsa_code_object_reader_t code_object_reader; - hsa_executable_t executable; - hsa_loaded_code_object_t* loaded_code_object; - const char* options; - } hsa_executable_load_program_code_object; - struct { - hsa_code_object_reader_t code_object_reader; - hsa_executable_t executable; - hsa_loaded_code_object_t* loaded_code_object; - const char* options; - hsa_agent_t agent; - } hsa_executable_load_agent_code_object; - struct { - hsa_executable_t executable; - const char* options; - uint32_t* result; - } hsa_executable_validate_alt; - struct { - hsa_executable_symbol_t* symbol; - hsa_executable_t executable; - const char* symbol_name; - const hsa_agent_t* agent; - } hsa_executable_get_symbol_by_name; - struct { - hsa_status_t (* callback)(hsa_executable_t exec,hsa_agent_t agent,hsa_executable_symbol_t symbol,void* data); - hsa_executable_t executable; - void* data; - hsa_agent_t agent; - } hsa_executable_iterate_agent_symbols; - struct { - hsa_status_t (* callback)(hsa_executable_t exec,hsa_executable_symbol_t symbol,void* data); - hsa_executable_t executable; - void* data; - } hsa_executable_iterate_program_symbols; - - // block: AmdExtTable API - struct { - hsa_amd_coherency_type_t* type; - hsa_agent_t agent; - } hsa_amd_coherency_get_type; - struct { - hsa_amd_coherency_type_t type; - hsa_agent_t agent; - } hsa_amd_coherency_set_type; - struct { - hsa_queue_t* queue; - int enable; - } hsa_amd_profiling_set_profiler_enabled; - struct { - bool enable; - } hsa_amd_profiling_async_copy_enable; - struct { - hsa_signal_t signal; - hsa_agent_t agent; - hsa_amd_profiling_dispatch_time_t* time; - } hsa_amd_profiling_get_dispatch_time; - struct { - hsa_signal_t signal; - hsa_amd_profiling_async_copy_time_t* time; - } hsa_amd_profiling_get_async_copy_time; - struct { - uint64_t* system_tick; - hsa_agent_t agent; - uint64_t agent_tick; - } hsa_amd_profiling_convert_tick_to_system_domain; - struct { - hsa_signal_t signal; - hsa_amd_signal_handler handler; - hsa_signal_condition_t cond; - hsa_signal_value_t value; - void* arg; - } hsa_amd_signal_async_handler; - struct { - void (* callback)(void* arg); - void* arg; - } hsa_amd_async_function; - struct { - uint64_t timeout_hint; - uint32_t signal_count; - hsa_signal_condition_t* conds; - hsa_signal_t* signals; - hsa_signal_value_t* values; - hsa_signal_value_t* satisfying_value; - hsa_wait_state_t wait_hint; - } hsa_amd_signal_wait_any; - struct { - const hsa_queue_t* queue; - const uint32_t* cu_mask; - uint32_t num_cu_mask_count; - } hsa_amd_queue_cu_set_mask; - struct { - hsa_amd_memory_pool_info_t attribute; - hsa_amd_memory_pool_t memory_pool; - void* value; - } hsa_amd_memory_pool_get_info; - struct { - hsa_status_t (* callback)(hsa_amd_memory_pool_t memory_pool,void* data); - void* data; - hsa_agent_t agent; - } hsa_amd_agent_iterate_memory_pools; - struct { - void** ptr; - uint32_t flags; - hsa_amd_memory_pool_t memory_pool; - size_t size; - } hsa_amd_memory_pool_allocate; - struct { - void* ptr; - } hsa_amd_memory_pool_free; - struct { - hsa_signal_t completion_signal; - const void* src; - void* dst; - uint32_t num_dep_signals; - hsa_agent_t src_agent; - const hsa_signal_t* dep_signals; - hsa_agent_t dst_agent; - size_t size; - } hsa_amd_memory_async_copy; - struct { - hsa_amd_agent_memory_pool_info_t attribute; - void* value; - hsa_amd_memory_pool_t memory_pool; - hsa_agent_t agent; - } hsa_amd_agent_memory_pool_get_info; - struct { - const uint32_t* flags; - const hsa_agent_t* agents; - const void* ptr; - uint32_t num_agents; - } hsa_amd_agents_allow_access; - struct { - hsa_amd_memory_pool_t src_memory_pool; - hsa_amd_memory_pool_t dst_memory_pool; - bool* result; - } hsa_amd_memory_pool_can_migrate; - struct { - uint32_t flags; - const void* ptr; - hsa_amd_memory_pool_t memory_pool; - } hsa_amd_memory_migrate; - struct { - void* host_ptr; - int num_agent; - hsa_agent_t* agents; - void** agent_ptr; - size_t size; - } hsa_amd_memory_lock; - struct { - void* host_ptr; - } hsa_amd_memory_unlock; - struct { - size_t count; - void* ptr; - uint32_t value; - } hsa_amd_memory_fill; - struct { - uint32_t num_agents; - size_t* metadata_size; - uint32_t flags; - hsa_agent_t* agents; - const void** metadata; - void** ptr; - int interop_handle; - size_t* size; - } hsa_amd_interop_map_buffer; - struct { - void* ptr; - } hsa_amd_interop_unmap_buffer; - struct { - const hsa_ext_image_descriptor_t* image_descriptor; - hsa_ext_image_t* image; - hsa_agent_t agent; - hsa_access_permission_t access_permission; - const void* image_data; - const hsa_amd_image_descriptor_t* image_layout; - } hsa_amd_image_create; - struct { - hsa_amd_pointer_info_t* info; - hsa_agent_t** accessible; - void* (* alloc)(size_t); - void* ptr; - uint32_t* num_agents_accessible; - } hsa_amd_pointer_info; - struct { - void* userdata; - void* ptr; - } hsa_amd_pointer_info_set_userdata; - struct { - hsa_amd_ipc_memory_t* handle; - void* ptr; - size_t len; - } hsa_amd_ipc_memory_create; - struct { - void** mapped_ptr; - const hsa_amd_ipc_memory_t* handle; - const hsa_agent_t* mapping_agents; - size_t len; - uint32_t num_agents; - } hsa_amd_ipc_memory_attach; - struct { - void* mapped_ptr; - } hsa_amd_ipc_memory_detach; - struct { - uint64_t attributes; - hsa_signal_t* signal; - uint32_t num_consumers; - const hsa_agent_t* consumers; - hsa_signal_value_t initial_value; - } hsa_amd_signal_create; - struct { - hsa_signal_t signal; - hsa_amd_ipc_signal_t* handle; - } hsa_amd_ipc_signal_create; - struct { - hsa_signal_t* signal; - const hsa_amd_ipc_signal_t* handle; - } hsa_amd_ipc_signal_attach; - struct { - hsa_amd_system_event_callback_t callback; - void* data; - } hsa_amd_register_system_event_handler; - struct { - hsa_agent_t agent_handle; - uint32_t private_segment_size; - void* data; - hsa_queue_t** queue; - void (* callback)(hsa_status_t status,hsa_queue_t* source,void* data); - uint32_t group_segment_size; - hsa_queue_type32_t type; - uint32_t size; - } hsa_amd_queue_intercept_create; - struct { - hsa_queue_t* queue; - hsa_amd_queue_intercept_handler callback; - void* user_data; - } hsa_amd_queue_intercept_register; - struct { - hsa_queue_t* queue; - hsa_amd_queue_priority_t priority; - } hsa_amd_queue_set_priority; - struct { - hsa_signal_t completion_signal; - const hsa_pitched_ptr_t* src; - const hsa_dim3_t* src_offset; - const hsa_dim3_t* dst_offset; - const hsa_pitched_ptr_t* dst; - const hsa_signal_t* dep_signals; - uint32_t num_dep_signals; - const hsa_dim3_t* range; - hsa_agent_t copy_agent; - hsa_amd_copy_direction_t dir; - } hsa_amd_memory_async_copy_rect; - struct { - hsa_amd_runtime_queue_notifier callback; - void* user_data; - } hsa_amd_runtime_queue_create_register; - - // block: ImageExtTable API - struct { - hsa_ext_image_geometry_t geometry; - uint32_t* capability_mask; - const hsa_ext_image_format_t* image_format; - hsa_agent_t agent; - } hsa_ext_image_get_capability; - struct { - const hsa_ext_image_descriptor_t* image_descriptor; - hsa_ext_image_data_info_t* image_data_info; - hsa_agent_t agent; - hsa_access_permission_t access_permission; - } hsa_ext_image_data_get_info; - struct { - const void* image_data; - const hsa_ext_image_descriptor_t* image_descriptor; - hsa_ext_image_t* image; - hsa_agent_t agent; - hsa_access_permission_t access_permission; - } hsa_ext_image_create; - struct { - size_t src_row_pitch; - const hsa_ext_image_region_t* image_region; - hsa_agent_t agent; - size_t src_slice_pitch; - const void* src_memory; - hsa_ext_image_t dst_image; - } hsa_ext_image_import; - struct { - size_t dst_slice_pitch; - const hsa_ext_image_region_t* image_region; - hsa_agent_t agent; - size_t dst_row_pitch; - hsa_ext_image_t src_image; - void* dst_memory; - } hsa_ext_image_export; - struct { - const hsa_dim3_t* src_offset; - const hsa_dim3_t* dst_offset; - hsa_agent_t agent; - const hsa_dim3_t* range; - hsa_ext_image_t src_image; - hsa_ext_image_t dst_image; - } hsa_ext_image_copy; - struct { - hsa_ext_image_t image; - const void* data; - const hsa_ext_image_region_t* image_region; - hsa_agent_t agent; - } hsa_ext_image_clear; - struct { - hsa_ext_image_t image; - hsa_agent_t agent; - } hsa_ext_image_destroy; - struct { - const hsa_ext_sampler_descriptor_t* sampler_descriptor; - hsa_agent_t agent; - hsa_ext_sampler_t* sampler; - } hsa_ext_sampler_create; - struct { - hsa_agent_t agent; - hsa_ext_sampler_t sampler; - } hsa_ext_sampler_destroy; - struct { - hsa_ext_image_geometry_t geometry; - hsa_ext_image_data_layout_t image_data_layout; - const hsa_ext_image_format_t* image_format; - uint32_t* capability_mask; - hsa_agent_t agent; - } hsa_ext_image_get_capability_with_layout; - struct { - const hsa_ext_image_descriptor_t* image_descriptor; - hsa_ext_image_data_layout_t image_data_layout; - size_t image_data_row_pitch; - hsa_agent_t agent; - hsa_access_permission_t access_permission; - size_t image_data_slice_pitch; - hsa_ext_image_data_info_t* image_data_info; - } hsa_ext_image_data_get_info_with_layout; - struct { - const hsa_ext_image_descriptor_t* image_descriptor; - hsa_ext_image_data_layout_t image_data_layout; - size_t image_data_row_pitch; - hsa_agent_t agent; - size_t image_data_slice_pitch; - hsa_access_permission_t access_permission; - const void* image_data; - hsa_ext_image_t* image; - } hsa_ext_image_create_with_layout; - } args; -}; - -#if PROF_API_IMPL -namespace roctracer { -namespace hsa_support { - -// section: API callback functions - -typedef CbTable cb_table_t; -extern cb_table_t cb_table; - -// block: CoreApiTable API -static hsa_status_t hsa_init_callback() { - hsa_api_data_t api_data{}; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_init, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_init, &api_data, api_callback_arg); - hsa_status_t ret = CoreApiTable_saved.hsa_init_fn(); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_init, &api_data, api_callback_arg); - return ret; -} -static hsa_status_t hsa_shut_down_callback() { - hsa_api_data_t api_data{}; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_shut_down, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_shut_down, &api_data, api_callback_arg); - hsa_status_t ret = CoreApiTable_saved.hsa_shut_down_fn(); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_shut_down, &api_data, api_callback_arg); - return ret; -} -static hsa_status_t hsa_system_get_info_callback(hsa_system_info_t attribute, void* value) { - hsa_api_data_t api_data{}; - api_data.args.hsa_system_get_info.attribute = attribute; - api_data.args.hsa_system_get_info.value = value; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_system_get_info, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_system_get_info, &api_data, api_callback_arg); - hsa_status_t ret = CoreApiTable_saved.hsa_system_get_info_fn(attribute, value); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_system_get_info, &api_data, api_callback_arg); - return ret; -} -static hsa_status_t hsa_system_extension_supported_callback(uint16_t extension, uint16_t version_major, uint16_t version_minor, bool* result) { - hsa_api_data_t api_data{}; - api_data.args.hsa_system_extension_supported.extension = extension; - api_data.args.hsa_system_extension_supported.version_major = version_major; - api_data.args.hsa_system_extension_supported.version_minor = version_minor; - api_data.args.hsa_system_extension_supported.result = result; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_system_extension_supported, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_system_extension_supported, &api_data, api_callback_arg); - hsa_status_t ret = CoreApiTable_saved.hsa_system_extension_supported_fn(extension, version_major, version_minor, result); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_system_extension_supported, &api_data, api_callback_arg); - return ret; -} -static hsa_status_t hsa_system_get_extension_table_callback(uint16_t extension, uint16_t version_major, uint16_t version_minor, void* table) { - hsa_api_data_t api_data{}; - api_data.args.hsa_system_get_extension_table.extension = extension; - api_data.args.hsa_system_get_extension_table.version_major = version_major; - api_data.args.hsa_system_get_extension_table.version_minor = version_minor; - api_data.args.hsa_system_get_extension_table.table = table; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_system_get_extension_table, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_system_get_extension_table, &api_data, api_callback_arg); - hsa_status_t ret = CoreApiTable_saved.hsa_system_get_extension_table_fn(extension, version_major, version_minor, table); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_system_get_extension_table, &api_data, api_callback_arg); - return ret; -} -static hsa_status_t hsa_iterate_agents_callback(hsa_status_t (* callback)(hsa_agent_t agent, void* data), void* data) { - hsa_api_data_t api_data{}; - api_data.args.hsa_iterate_agents.callback = callback; - api_data.args.hsa_iterate_agents.data = data; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_iterate_agents, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_iterate_agents, &api_data, api_callback_arg); - hsa_status_t ret = CoreApiTable_saved.hsa_iterate_agents_fn(callback, data); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_iterate_agents, &api_data, api_callback_arg); - return ret; -} -static hsa_status_t hsa_agent_get_info_callback(hsa_agent_t agent, hsa_agent_info_t attribute, void* value) { - hsa_api_data_t api_data{}; - api_data.args.hsa_agent_get_info.agent = agent; - api_data.args.hsa_agent_get_info.attribute = attribute; - api_data.args.hsa_agent_get_info.value = value; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_agent_get_info, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_agent_get_info, &api_data, api_callback_arg); - hsa_status_t ret = CoreApiTable_saved.hsa_agent_get_info_fn(agent, attribute, value); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_agent_get_info, &api_data, api_callback_arg); - return ret; -} -static hsa_status_t hsa_queue_create_callback(hsa_agent_t agent, uint32_t size, hsa_queue_type32_t type, void (* callback)(hsa_status_t status, hsa_queue_t* source, void* data), void* data, uint32_t private_segment_size, uint32_t group_segment_size, hsa_queue_t** queue) { - hsa_api_data_t api_data{}; - api_data.args.hsa_queue_create.agent = agent; - api_data.args.hsa_queue_create.size = size; - api_data.args.hsa_queue_create.type = type; - api_data.args.hsa_queue_create.callback = callback; - api_data.args.hsa_queue_create.data = data; - api_data.args.hsa_queue_create.private_segment_size = private_segment_size; - api_data.args.hsa_queue_create.group_segment_size = group_segment_size; - api_data.args.hsa_queue_create.queue = queue; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_queue_create, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_create, &api_data, api_callback_arg); - hsa_status_t ret = CoreApiTable_saved.hsa_queue_create_fn(agent, size, type, callback, data, private_segment_size, group_segment_size, queue); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_create, &api_data, api_callback_arg); - return ret; -} -static hsa_status_t hsa_soft_queue_create_callback(hsa_region_t region, uint32_t size, hsa_queue_type32_t type, uint32_t features, hsa_signal_t doorbell_signal, hsa_queue_t** queue) { - hsa_api_data_t api_data{}; - api_data.args.hsa_soft_queue_create.region = region; - api_data.args.hsa_soft_queue_create.size = size; - api_data.args.hsa_soft_queue_create.type = type; - api_data.args.hsa_soft_queue_create.features = features; - api_data.args.hsa_soft_queue_create.doorbell_signal = doorbell_signal; - api_data.args.hsa_soft_queue_create.queue = queue; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_soft_queue_create, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_soft_queue_create, &api_data, api_callback_arg); - hsa_status_t ret = CoreApiTable_saved.hsa_soft_queue_create_fn(region, size, type, features, doorbell_signal, queue); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_soft_queue_create, &api_data, api_callback_arg); - return ret; -} -static hsa_status_t hsa_queue_destroy_callback(hsa_queue_t* queue) { - hsa_api_data_t api_data{}; - api_data.args.hsa_queue_destroy.queue = queue; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_queue_destroy, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_destroy, &api_data, api_callback_arg); - hsa_status_t ret = CoreApiTable_saved.hsa_queue_destroy_fn(queue); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_destroy, &api_data, api_callback_arg); - return ret; -} -static hsa_status_t hsa_queue_inactivate_callback(hsa_queue_t* queue) { - hsa_api_data_t api_data{}; - api_data.args.hsa_queue_inactivate.queue = queue; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_queue_inactivate, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_inactivate, &api_data, api_callback_arg); - hsa_status_t ret = CoreApiTable_saved.hsa_queue_inactivate_fn(queue); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_inactivate, &api_data, api_callback_arg); - return ret; -} -static uint64_t hsa_queue_load_read_index_scacquire_callback(const hsa_queue_t* queue) { - hsa_api_data_t api_data{}; - api_data.args.hsa_queue_load_read_index_scacquire.queue = queue; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_queue_load_read_index_scacquire, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_load_read_index_scacquire, &api_data, api_callback_arg); - uint64_t ret = CoreApiTable_saved.hsa_queue_load_read_index_scacquire_fn(queue); - api_data.uint64_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_load_read_index_scacquire, &api_data, api_callback_arg); - return ret; -} -static uint64_t hsa_queue_load_read_index_relaxed_callback(const hsa_queue_t* queue) { - hsa_api_data_t api_data{}; - api_data.args.hsa_queue_load_read_index_relaxed.queue = queue; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_queue_load_read_index_relaxed, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_load_read_index_relaxed, &api_data, api_callback_arg); - uint64_t ret = CoreApiTable_saved.hsa_queue_load_read_index_relaxed_fn(queue); - api_data.uint64_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_load_read_index_relaxed, &api_data, api_callback_arg); - return ret; -} -static uint64_t hsa_queue_load_write_index_scacquire_callback(const hsa_queue_t* queue) { - hsa_api_data_t api_data{}; - api_data.args.hsa_queue_load_write_index_scacquire.queue = queue; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_queue_load_write_index_scacquire, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_load_write_index_scacquire, &api_data, api_callback_arg); - uint64_t ret = CoreApiTable_saved.hsa_queue_load_write_index_scacquire_fn(queue); - api_data.uint64_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_load_write_index_scacquire, &api_data, api_callback_arg); - return ret; -} -static uint64_t hsa_queue_load_write_index_relaxed_callback(const hsa_queue_t* queue) { - hsa_api_data_t api_data{}; - api_data.args.hsa_queue_load_write_index_relaxed.queue = queue; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_queue_load_write_index_relaxed, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_load_write_index_relaxed, &api_data, api_callback_arg); - uint64_t ret = CoreApiTable_saved.hsa_queue_load_write_index_relaxed_fn(queue); - api_data.uint64_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_load_write_index_relaxed, &api_data, api_callback_arg); - return ret; -} -static void hsa_queue_store_write_index_relaxed_callback(const hsa_queue_t* queue, uint64_t value) { - hsa_api_data_t api_data{}; - api_data.args.hsa_queue_store_write_index_relaxed.queue = queue; - api_data.args.hsa_queue_store_write_index_relaxed.value = value; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_queue_store_write_index_relaxed, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_store_write_index_relaxed, &api_data, api_callback_arg); - CoreApiTable_saved.hsa_queue_store_write_index_relaxed_fn(queue, value); - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_store_write_index_relaxed, &api_data, api_callback_arg); -} -static void hsa_queue_store_write_index_screlease_callback(const hsa_queue_t* queue, uint64_t value) { - hsa_api_data_t api_data{}; - api_data.args.hsa_queue_store_write_index_screlease.queue = queue; - api_data.args.hsa_queue_store_write_index_screlease.value = value; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_queue_store_write_index_screlease, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_store_write_index_screlease, &api_data, api_callback_arg); - CoreApiTable_saved.hsa_queue_store_write_index_screlease_fn(queue, value); - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_store_write_index_screlease, &api_data, api_callback_arg); -} -static uint64_t hsa_queue_cas_write_index_scacq_screl_callback(const hsa_queue_t* queue, uint64_t expected, uint64_t value) { - hsa_api_data_t api_data{}; - api_data.args.hsa_queue_cas_write_index_scacq_screl.queue = queue; - api_data.args.hsa_queue_cas_write_index_scacq_screl.expected = expected; - api_data.args.hsa_queue_cas_write_index_scacq_screl.value = value; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_queue_cas_write_index_scacq_screl, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_cas_write_index_scacq_screl, &api_data, api_callback_arg); - uint64_t ret = CoreApiTable_saved.hsa_queue_cas_write_index_scacq_screl_fn(queue, expected, value); - api_data.uint64_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_cas_write_index_scacq_screl, &api_data, api_callback_arg); - return ret; -} -static uint64_t hsa_queue_cas_write_index_scacquire_callback(const hsa_queue_t* queue, uint64_t expected, uint64_t value) { - hsa_api_data_t api_data{}; - api_data.args.hsa_queue_cas_write_index_scacquire.queue = queue; - api_data.args.hsa_queue_cas_write_index_scacquire.expected = expected; - api_data.args.hsa_queue_cas_write_index_scacquire.value = value; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_queue_cas_write_index_scacquire, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_cas_write_index_scacquire, &api_data, api_callback_arg); - uint64_t ret = CoreApiTable_saved.hsa_queue_cas_write_index_scacquire_fn(queue, expected, value); - api_data.uint64_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_cas_write_index_scacquire, &api_data, api_callback_arg); - return ret; -} -static uint64_t hsa_queue_cas_write_index_relaxed_callback(const hsa_queue_t* queue, uint64_t expected, uint64_t value) { - hsa_api_data_t api_data{}; - api_data.args.hsa_queue_cas_write_index_relaxed.queue = queue; - api_data.args.hsa_queue_cas_write_index_relaxed.expected = expected; - api_data.args.hsa_queue_cas_write_index_relaxed.value = value; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_queue_cas_write_index_relaxed, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_cas_write_index_relaxed, &api_data, api_callback_arg); - uint64_t ret = CoreApiTable_saved.hsa_queue_cas_write_index_relaxed_fn(queue, expected, value); - api_data.uint64_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_cas_write_index_relaxed, &api_data, api_callback_arg); - return ret; -} -static uint64_t hsa_queue_cas_write_index_screlease_callback(const hsa_queue_t* queue, uint64_t expected, uint64_t value) { - hsa_api_data_t api_data{}; - api_data.args.hsa_queue_cas_write_index_screlease.queue = queue; - api_data.args.hsa_queue_cas_write_index_screlease.expected = expected; - api_data.args.hsa_queue_cas_write_index_screlease.value = value; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_queue_cas_write_index_screlease, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_cas_write_index_screlease, &api_data, api_callback_arg); - uint64_t ret = CoreApiTable_saved.hsa_queue_cas_write_index_screlease_fn(queue, expected, value); - api_data.uint64_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_cas_write_index_screlease, &api_data, api_callback_arg); - return ret; -} -static uint64_t hsa_queue_add_write_index_scacq_screl_callback(const hsa_queue_t* queue, uint64_t value) { - hsa_api_data_t api_data{}; - api_data.args.hsa_queue_add_write_index_scacq_screl.queue = queue; - api_data.args.hsa_queue_add_write_index_scacq_screl.value = value; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_queue_add_write_index_scacq_screl, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_add_write_index_scacq_screl, &api_data, api_callback_arg); - uint64_t ret = CoreApiTable_saved.hsa_queue_add_write_index_scacq_screl_fn(queue, value); - api_data.uint64_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_add_write_index_scacq_screl, &api_data, api_callback_arg); - return ret; -} -static uint64_t hsa_queue_add_write_index_scacquire_callback(const hsa_queue_t* queue, uint64_t value) { - hsa_api_data_t api_data{}; - api_data.args.hsa_queue_add_write_index_scacquire.queue = queue; - api_data.args.hsa_queue_add_write_index_scacquire.value = value; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_queue_add_write_index_scacquire, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_add_write_index_scacquire, &api_data, api_callback_arg); - uint64_t ret = CoreApiTable_saved.hsa_queue_add_write_index_scacquire_fn(queue, value); - api_data.uint64_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_add_write_index_scacquire, &api_data, api_callback_arg); - return ret; -} -static uint64_t hsa_queue_add_write_index_relaxed_callback(const hsa_queue_t* queue, uint64_t value) { - hsa_api_data_t api_data{}; - api_data.args.hsa_queue_add_write_index_relaxed.queue = queue; - api_data.args.hsa_queue_add_write_index_relaxed.value = value; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_queue_add_write_index_relaxed, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_add_write_index_relaxed, &api_data, api_callback_arg); - uint64_t ret = CoreApiTable_saved.hsa_queue_add_write_index_relaxed_fn(queue, value); - api_data.uint64_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_add_write_index_relaxed, &api_data, api_callback_arg); - return ret; -} -static uint64_t hsa_queue_add_write_index_screlease_callback(const hsa_queue_t* queue, uint64_t value) { - hsa_api_data_t api_data{}; - api_data.args.hsa_queue_add_write_index_screlease.queue = queue; - api_data.args.hsa_queue_add_write_index_screlease.value = value; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_queue_add_write_index_screlease, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_add_write_index_screlease, &api_data, api_callback_arg); - uint64_t ret = CoreApiTable_saved.hsa_queue_add_write_index_screlease_fn(queue, value); - api_data.uint64_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_add_write_index_screlease, &api_data, api_callback_arg); - return ret; -} -static void hsa_queue_store_read_index_relaxed_callback(const hsa_queue_t* queue, uint64_t value) { - hsa_api_data_t api_data{}; - api_data.args.hsa_queue_store_read_index_relaxed.queue = queue; - api_data.args.hsa_queue_store_read_index_relaxed.value = value; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_queue_store_read_index_relaxed, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_store_read_index_relaxed, &api_data, api_callback_arg); - CoreApiTable_saved.hsa_queue_store_read_index_relaxed_fn(queue, value); - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_store_read_index_relaxed, &api_data, api_callback_arg); -} -static void hsa_queue_store_read_index_screlease_callback(const hsa_queue_t* queue, uint64_t value) { - hsa_api_data_t api_data{}; - api_data.args.hsa_queue_store_read_index_screlease.queue = queue; - api_data.args.hsa_queue_store_read_index_screlease.value = value; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_queue_store_read_index_screlease, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_store_read_index_screlease, &api_data, api_callback_arg); - CoreApiTable_saved.hsa_queue_store_read_index_screlease_fn(queue, value); - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_store_read_index_screlease, &api_data, api_callback_arg); -} -static hsa_status_t hsa_agent_iterate_regions_callback(hsa_agent_t agent, hsa_status_t (* callback)(hsa_region_t region, void* data), void* data) { - hsa_api_data_t api_data{}; - api_data.args.hsa_agent_iterate_regions.agent = agent; - api_data.args.hsa_agent_iterate_regions.callback = callback; - api_data.args.hsa_agent_iterate_regions.data = data; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_agent_iterate_regions, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_agent_iterate_regions, &api_data, api_callback_arg); - hsa_status_t ret = CoreApiTable_saved.hsa_agent_iterate_regions_fn(agent, callback, data); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_agent_iterate_regions, &api_data, api_callback_arg); - return ret; -} -static hsa_status_t hsa_region_get_info_callback(hsa_region_t region, hsa_region_info_t attribute, void* value) { - hsa_api_data_t api_data{}; - api_data.args.hsa_region_get_info.region = region; - api_data.args.hsa_region_get_info.attribute = attribute; - api_data.args.hsa_region_get_info.value = value; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_region_get_info, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_region_get_info, &api_data, api_callback_arg); - hsa_status_t ret = CoreApiTable_saved.hsa_region_get_info_fn(region, attribute, value); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_region_get_info, &api_data, api_callback_arg); - return ret; -} -static hsa_status_t hsa_agent_get_exception_policies_callback(hsa_agent_t agent, hsa_profile_t profile, uint16_t* mask) { - hsa_api_data_t api_data{}; - api_data.args.hsa_agent_get_exception_policies.agent = agent; - api_data.args.hsa_agent_get_exception_policies.profile = profile; - api_data.args.hsa_agent_get_exception_policies.mask = mask; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_agent_get_exception_policies, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_agent_get_exception_policies, &api_data, api_callback_arg); - hsa_status_t ret = CoreApiTable_saved.hsa_agent_get_exception_policies_fn(agent, profile, mask); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_agent_get_exception_policies, &api_data, api_callback_arg); - return ret; -} -static hsa_status_t hsa_agent_extension_supported_callback(uint16_t extension, hsa_agent_t agent, uint16_t version_major, uint16_t version_minor, bool* result) { - hsa_api_data_t api_data{}; - api_data.args.hsa_agent_extension_supported.extension = extension; - api_data.args.hsa_agent_extension_supported.agent = agent; - api_data.args.hsa_agent_extension_supported.version_major = version_major; - api_data.args.hsa_agent_extension_supported.version_minor = version_minor; - api_data.args.hsa_agent_extension_supported.result = result; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_agent_extension_supported, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_agent_extension_supported, &api_data, api_callback_arg); - hsa_status_t ret = CoreApiTable_saved.hsa_agent_extension_supported_fn(extension, agent, version_major, version_minor, result); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_agent_extension_supported, &api_data, api_callback_arg); - return ret; -} -static hsa_status_t hsa_memory_register_callback(void* ptr, size_t size) { - hsa_api_data_t api_data{}; - api_data.args.hsa_memory_register.ptr = ptr; - api_data.args.hsa_memory_register.size = size; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_memory_register, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_memory_register, &api_data, api_callback_arg); - hsa_status_t ret = CoreApiTable_saved.hsa_memory_register_fn(ptr, size); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_memory_register, &api_data, api_callback_arg); - return ret; -} -static hsa_status_t hsa_memory_deregister_callback(void* ptr, size_t size) { - hsa_api_data_t api_data{}; - api_data.args.hsa_memory_deregister.ptr = ptr; - api_data.args.hsa_memory_deregister.size = size; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_memory_deregister, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_memory_deregister, &api_data, api_callback_arg); - hsa_status_t ret = CoreApiTable_saved.hsa_memory_deregister_fn(ptr, size); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_memory_deregister, &api_data, api_callback_arg); - return ret; -} -static hsa_status_t hsa_memory_allocate_callback(hsa_region_t region, size_t size, void** ptr) { - hsa_api_data_t api_data{}; - api_data.args.hsa_memory_allocate.region = region; - api_data.args.hsa_memory_allocate.size = size; - api_data.args.hsa_memory_allocate.ptr = ptr; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_memory_allocate, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_memory_allocate, &api_data, api_callback_arg); - hsa_status_t ret = CoreApiTable_saved.hsa_memory_allocate_fn(region, size, ptr); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_memory_allocate, &api_data, api_callback_arg); - return ret; -} -static hsa_status_t hsa_memory_free_callback(void* ptr) { - hsa_api_data_t api_data{}; - api_data.args.hsa_memory_free.ptr = ptr; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_memory_free, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_memory_free, &api_data, api_callback_arg); - hsa_status_t ret = CoreApiTable_saved.hsa_memory_free_fn(ptr); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_memory_free, &api_data, api_callback_arg); - return ret; -} -static hsa_status_t hsa_memory_copy_callback(void* dst, const void* src, size_t size) { - hsa_api_data_t api_data{}; - api_data.args.hsa_memory_copy.dst = dst; - api_data.args.hsa_memory_copy.src = src; - api_data.args.hsa_memory_copy.size = size; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_memory_copy, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_memory_copy, &api_data, api_callback_arg); - hsa_status_t ret = CoreApiTable_saved.hsa_memory_copy_fn(dst, src, size); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_memory_copy, &api_data, api_callback_arg); - return ret; -} -static hsa_status_t hsa_memory_assign_agent_callback(void* ptr, hsa_agent_t agent, hsa_access_permission_t access) { - hsa_api_data_t api_data{}; - api_data.args.hsa_memory_assign_agent.ptr = ptr; - api_data.args.hsa_memory_assign_agent.agent = agent; - api_data.args.hsa_memory_assign_agent.access = access; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_memory_assign_agent, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_memory_assign_agent, &api_data, api_callback_arg); - hsa_status_t ret = CoreApiTable_saved.hsa_memory_assign_agent_fn(ptr, agent, access); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_memory_assign_agent, &api_data, api_callback_arg); - return ret; -} -static hsa_status_t hsa_signal_create_callback(hsa_signal_value_t initial_value, uint32_t num_consumers, const hsa_agent_t* consumers, hsa_signal_t* signal) { - hsa_api_data_t api_data{}; - api_data.args.hsa_signal_create.initial_value = initial_value; - api_data.args.hsa_signal_create.num_consumers = num_consumers; - api_data.args.hsa_signal_create.consumers = consumers; - api_data.args.hsa_signal_create.signal = signal; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_signal_create, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_create, &api_data, api_callback_arg); - hsa_status_t ret = CoreApiTable_saved.hsa_signal_create_fn(initial_value, num_consumers, consumers, signal); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_create, &api_data, api_callback_arg); - return ret; -} -static hsa_status_t hsa_signal_destroy_callback(hsa_signal_t signal) { - hsa_api_data_t api_data{}; - api_data.args.hsa_signal_destroy.signal = signal; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_signal_destroy, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_destroy, &api_data, api_callback_arg); - hsa_status_t ret = CoreApiTable_saved.hsa_signal_destroy_fn(signal); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_destroy, &api_data, api_callback_arg); - return ret; -} -static hsa_signal_value_t hsa_signal_load_relaxed_callback(hsa_signal_t signal) { - hsa_api_data_t api_data{}; - api_data.args.hsa_signal_load_relaxed.signal = signal; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_signal_load_relaxed, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_load_relaxed, &api_data, api_callback_arg); - hsa_signal_value_t ret = CoreApiTable_saved.hsa_signal_load_relaxed_fn(signal); - api_data.hsa_signal_value_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_load_relaxed, &api_data, api_callback_arg); - return ret; -} -static hsa_signal_value_t hsa_signal_load_scacquire_callback(hsa_signal_t signal) { - hsa_api_data_t api_data{}; - api_data.args.hsa_signal_load_scacquire.signal = signal; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_signal_load_scacquire, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_load_scacquire, &api_data, api_callback_arg); - hsa_signal_value_t ret = CoreApiTable_saved.hsa_signal_load_scacquire_fn(signal); - api_data.hsa_signal_value_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_load_scacquire, &api_data, api_callback_arg); - return ret; -} -static void hsa_signal_store_relaxed_callback(hsa_signal_t signal, hsa_signal_value_t value) { - hsa_api_data_t api_data{}; - api_data.args.hsa_signal_store_relaxed.signal = signal; - api_data.args.hsa_signal_store_relaxed.value = value; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_signal_store_relaxed, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_store_relaxed, &api_data, api_callback_arg); - CoreApiTable_saved.hsa_signal_store_relaxed_fn(signal, value); - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_store_relaxed, &api_data, api_callback_arg); -} -static void hsa_signal_store_screlease_callback(hsa_signal_t signal, hsa_signal_value_t value) { - hsa_api_data_t api_data{}; - api_data.args.hsa_signal_store_screlease.signal = signal; - api_data.args.hsa_signal_store_screlease.value = value; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_signal_store_screlease, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_store_screlease, &api_data, api_callback_arg); - CoreApiTable_saved.hsa_signal_store_screlease_fn(signal, value); - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_store_screlease, &api_data, api_callback_arg); -} -static hsa_signal_value_t hsa_signal_wait_relaxed_callback(hsa_signal_t signal, hsa_signal_condition_t condition, hsa_signal_value_t compare_value, uint64_t timeout_hint, hsa_wait_state_t wait_state_hint) { - hsa_api_data_t api_data{}; - api_data.args.hsa_signal_wait_relaxed.signal = signal; - api_data.args.hsa_signal_wait_relaxed.condition = condition; - api_data.args.hsa_signal_wait_relaxed.compare_value = compare_value; - api_data.args.hsa_signal_wait_relaxed.timeout_hint = timeout_hint; - api_data.args.hsa_signal_wait_relaxed.wait_state_hint = wait_state_hint; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_signal_wait_relaxed, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_wait_relaxed, &api_data, api_callback_arg); - hsa_signal_value_t ret = CoreApiTable_saved.hsa_signal_wait_relaxed_fn(signal, condition, compare_value, timeout_hint, wait_state_hint); - api_data.hsa_signal_value_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_wait_relaxed, &api_data, api_callback_arg); - return ret; -} -static hsa_signal_value_t hsa_signal_wait_scacquire_callback(hsa_signal_t signal, hsa_signal_condition_t condition, hsa_signal_value_t compare_value, uint64_t timeout_hint, hsa_wait_state_t wait_state_hint) { - hsa_api_data_t api_data{}; - api_data.args.hsa_signal_wait_scacquire.signal = signal; - api_data.args.hsa_signal_wait_scacquire.condition = condition; - api_data.args.hsa_signal_wait_scacquire.compare_value = compare_value; - api_data.args.hsa_signal_wait_scacquire.timeout_hint = timeout_hint; - api_data.args.hsa_signal_wait_scacquire.wait_state_hint = wait_state_hint; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_signal_wait_scacquire, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_wait_scacquire, &api_data, api_callback_arg); - hsa_signal_value_t ret = CoreApiTable_saved.hsa_signal_wait_scacquire_fn(signal, condition, compare_value, timeout_hint, wait_state_hint); - api_data.hsa_signal_value_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_wait_scacquire, &api_data, api_callback_arg); - return ret; -} -static void hsa_signal_and_relaxed_callback(hsa_signal_t signal, hsa_signal_value_t value) { - hsa_api_data_t api_data{}; - api_data.args.hsa_signal_and_relaxed.signal = signal; - api_data.args.hsa_signal_and_relaxed.value = value; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_signal_and_relaxed, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_and_relaxed, &api_data, api_callback_arg); - CoreApiTable_saved.hsa_signal_and_relaxed_fn(signal, value); - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_and_relaxed, &api_data, api_callback_arg); -} -static void hsa_signal_and_scacquire_callback(hsa_signal_t signal, hsa_signal_value_t value) { - hsa_api_data_t api_data{}; - api_data.args.hsa_signal_and_scacquire.signal = signal; - api_data.args.hsa_signal_and_scacquire.value = value; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_signal_and_scacquire, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_and_scacquire, &api_data, api_callback_arg); - CoreApiTable_saved.hsa_signal_and_scacquire_fn(signal, value); - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_and_scacquire, &api_data, api_callback_arg); -} -static void hsa_signal_and_screlease_callback(hsa_signal_t signal, hsa_signal_value_t value) { - hsa_api_data_t api_data{}; - api_data.args.hsa_signal_and_screlease.signal = signal; - api_data.args.hsa_signal_and_screlease.value = value; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_signal_and_screlease, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_and_screlease, &api_data, api_callback_arg); - CoreApiTable_saved.hsa_signal_and_screlease_fn(signal, value); - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_and_screlease, &api_data, api_callback_arg); -} -static void hsa_signal_and_scacq_screl_callback(hsa_signal_t signal, hsa_signal_value_t value) { - hsa_api_data_t api_data{}; - api_data.args.hsa_signal_and_scacq_screl.signal = signal; - api_data.args.hsa_signal_and_scacq_screl.value = value; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_signal_and_scacq_screl, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_and_scacq_screl, &api_data, api_callback_arg); - CoreApiTable_saved.hsa_signal_and_scacq_screl_fn(signal, value); - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_and_scacq_screl, &api_data, api_callback_arg); -} -static void hsa_signal_or_relaxed_callback(hsa_signal_t signal, hsa_signal_value_t value) { - hsa_api_data_t api_data{}; - api_data.args.hsa_signal_or_relaxed.signal = signal; - api_data.args.hsa_signal_or_relaxed.value = value; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_signal_or_relaxed, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_or_relaxed, &api_data, api_callback_arg); - CoreApiTable_saved.hsa_signal_or_relaxed_fn(signal, value); - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_or_relaxed, &api_data, api_callback_arg); -} -static void hsa_signal_or_scacquire_callback(hsa_signal_t signal, hsa_signal_value_t value) { - hsa_api_data_t api_data{}; - api_data.args.hsa_signal_or_scacquire.signal = signal; - api_data.args.hsa_signal_or_scacquire.value = value; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_signal_or_scacquire, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_or_scacquire, &api_data, api_callback_arg); - CoreApiTable_saved.hsa_signal_or_scacquire_fn(signal, value); - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_or_scacquire, &api_data, api_callback_arg); -} -static void hsa_signal_or_screlease_callback(hsa_signal_t signal, hsa_signal_value_t value) { - hsa_api_data_t api_data{}; - api_data.args.hsa_signal_or_screlease.signal = signal; - api_data.args.hsa_signal_or_screlease.value = value; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_signal_or_screlease, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_or_screlease, &api_data, api_callback_arg); - CoreApiTable_saved.hsa_signal_or_screlease_fn(signal, value); - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_or_screlease, &api_data, api_callback_arg); -} -static void hsa_signal_or_scacq_screl_callback(hsa_signal_t signal, hsa_signal_value_t value) { - hsa_api_data_t api_data{}; - api_data.args.hsa_signal_or_scacq_screl.signal = signal; - api_data.args.hsa_signal_or_scacq_screl.value = value; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_signal_or_scacq_screl, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_or_scacq_screl, &api_data, api_callback_arg); - CoreApiTable_saved.hsa_signal_or_scacq_screl_fn(signal, value); - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_or_scacq_screl, &api_data, api_callback_arg); -} -static void hsa_signal_xor_relaxed_callback(hsa_signal_t signal, hsa_signal_value_t value) { - hsa_api_data_t api_data{}; - api_data.args.hsa_signal_xor_relaxed.signal = signal; - api_data.args.hsa_signal_xor_relaxed.value = value; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_signal_xor_relaxed, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_xor_relaxed, &api_data, api_callback_arg); - CoreApiTable_saved.hsa_signal_xor_relaxed_fn(signal, value); - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_xor_relaxed, &api_data, api_callback_arg); -} -static void hsa_signal_xor_scacquire_callback(hsa_signal_t signal, hsa_signal_value_t value) { - hsa_api_data_t api_data{}; - api_data.args.hsa_signal_xor_scacquire.signal = signal; - api_data.args.hsa_signal_xor_scacquire.value = value; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_signal_xor_scacquire, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_xor_scacquire, &api_data, api_callback_arg); - CoreApiTable_saved.hsa_signal_xor_scacquire_fn(signal, value); - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_xor_scacquire, &api_data, api_callback_arg); -} -static void hsa_signal_xor_screlease_callback(hsa_signal_t signal, hsa_signal_value_t value) { - hsa_api_data_t api_data{}; - api_data.args.hsa_signal_xor_screlease.signal = signal; - api_data.args.hsa_signal_xor_screlease.value = value; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_signal_xor_screlease, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_xor_screlease, &api_data, api_callback_arg); - CoreApiTable_saved.hsa_signal_xor_screlease_fn(signal, value); - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_xor_screlease, &api_data, api_callback_arg); -} -static void hsa_signal_xor_scacq_screl_callback(hsa_signal_t signal, hsa_signal_value_t value) { - hsa_api_data_t api_data{}; - api_data.args.hsa_signal_xor_scacq_screl.signal = signal; - api_data.args.hsa_signal_xor_scacq_screl.value = value; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_signal_xor_scacq_screl, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_xor_scacq_screl, &api_data, api_callback_arg); - CoreApiTable_saved.hsa_signal_xor_scacq_screl_fn(signal, value); - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_xor_scacq_screl, &api_data, api_callback_arg); -} -static hsa_signal_value_t hsa_signal_exchange_relaxed_callback(hsa_signal_t signal, hsa_signal_value_t value) { - hsa_api_data_t api_data{}; - api_data.args.hsa_signal_exchange_relaxed.signal = signal; - api_data.args.hsa_signal_exchange_relaxed.value = value; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_signal_exchange_relaxed, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_exchange_relaxed, &api_data, api_callback_arg); - hsa_signal_value_t ret = CoreApiTable_saved.hsa_signal_exchange_relaxed_fn(signal, value); - api_data.hsa_signal_value_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_exchange_relaxed, &api_data, api_callback_arg); - return ret; -} -static hsa_signal_value_t hsa_signal_exchange_scacquire_callback(hsa_signal_t signal, hsa_signal_value_t value) { - hsa_api_data_t api_data{}; - api_data.args.hsa_signal_exchange_scacquire.signal = signal; - api_data.args.hsa_signal_exchange_scacquire.value = value; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_signal_exchange_scacquire, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_exchange_scacquire, &api_data, api_callback_arg); - hsa_signal_value_t ret = CoreApiTable_saved.hsa_signal_exchange_scacquire_fn(signal, value); - api_data.hsa_signal_value_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_exchange_scacquire, &api_data, api_callback_arg); - return ret; -} -static hsa_signal_value_t hsa_signal_exchange_screlease_callback(hsa_signal_t signal, hsa_signal_value_t value) { - hsa_api_data_t api_data{}; - api_data.args.hsa_signal_exchange_screlease.signal = signal; - api_data.args.hsa_signal_exchange_screlease.value = value; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_signal_exchange_screlease, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_exchange_screlease, &api_data, api_callback_arg); - hsa_signal_value_t ret = CoreApiTable_saved.hsa_signal_exchange_screlease_fn(signal, value); - api_data.hsa_signal_value_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_exchange_screlease, &api_data, api_callback_arg); - return ret; -} -static hsa_signal_value_t hsa_signal_exchange_scacq_screl_callback(hsa_signal_t signal, hsa_signal_value_t value) { - hsa_api_data_t api_data{}; - api_data.args.hsa_signal_exchange_scacq_screl.signal = signal; - api_data.args.hsa_signal_exchange_scacq_screl.value = value; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_signal_exchange_scacq_screl, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_exchange_scacq_screl, &api_data, api_callback_arg); - hsa_signal_value_t ret = CoreApiTable_saved.hsa_signal_exchange_scacq_screl_fn(signal, value); - api_data.hsa_signal_value_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_exchange_scacq_screl, &api_data, api_callback_arg); - return ret; -} -static void hsa_signal_add_relaxed_callback(hsa_signal_t signal, hsa_signal_value_t value) { - hsa_api_data_t api_data{}; - api_data.args.hsa_signal_add_relaxed.signal = signal; - api_data.args.hsa_signal_add_relaxed.value = value; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_signal_add_relaxed, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_add_relaxed, &api_data, api_callback_arg); - CoreApiTable_saved.hsa_signal_add_relaxed_fn(signal, value); - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_add_relaxed, &api_data, api_callback_arg); -} -static void hsa_signal_add_scacquire_callback(hsa_signal_t signal, hsa_signal_value_t value) { - hsa_api_data_t api_data{}; - api_data.args.hsa_signal_add_scacquire.signal = signal; - api_data.args.hsa_signal_add_scacquire.value = value; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_signal_add_scacquire, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_add_scacquire, &api_data, api_callback_arg); - CoreApiTable_saved.hsa_signal_add_scacquire_fn(signal, value); - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_add_scacquire, &api_data, api_callback_arg); -} -static void hsa_signal_add_screlease_callback(hsa_signal_t signal, hsa_signal_value_t value) { - hsa_api_data_t api_data{}; - api_data.args.hsa_signal_add_screlease.signal = signal; - api_data.args.hsa_signal_add_screlease.value = value; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_signal_add_screlease, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_add_screlease, &api_data, api_callback_arg); - CoreApiTable_saved.hsa_signal_add_screlease_fn(signal, value); - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_add_screlease, &api_data, api_callback_arg); -} -static void hsa_signal_add_scacq_screl_callback(hsa_signal_t signal, hsa_signal_value_t value) { - hsa_api_data_t api_data{}; - api_data.args.hsa_signal_add_scacq_screl.signal = signal; - api_data.args.hsa_signal_add_scacq_screl.value = value; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_signal_add_scacq_screl, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_add_scacq_screl, &api_data, api_callback_arg); - CoreApiTable_saved.hsa_signal_add_scacq_screl_fn(signal, value); - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_add_scacq_screl, &api_data, api_callback_arg); -} -static void hsa_signal_subtract_relaxed_callback(hsa_signal_t signal, hsa_signal_value_t value) { - hsa_api_data_t api_data{}; - api_data.args.hsa_signal_subtract_relaxed.signal = signal; - api_data.args.hsa_signal_subtract_relaxed.value = value; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_signal_subtract_relaxed, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_subtract_relaxed, &api_data, api_callback_arg); - CoreApiTable_saved.hsa_signal_subtract_relaxed_fn(signal, value); - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_subtract_relaxed, &api_data, api_callback_arg); -} -static void hsa_signal_subtract_scacquire_callback(hsa_signal_t signal, hsa_signal_value_t value) { - hsa_api_data_t api_data{}; - api_data.args.hsa_signal_subtract_scacquire.signal = signal; - api_data.args.hsa_signal_subtract_scacquire.value = value; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_signal_subtract_scacquire, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_subtract_scacquire, &api_data, api_callback_arg); - CoreApiTable_saved.hsa_signal_subtract_scacquire_fn(signal, value); - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_subtract_scacquire, &api_data, api_callback_arg); -} -static void hsa_signal_subtract_screlease_callback(hsa_signal_t signal, hsa_signal_value_t value) { - hsa_api_data_t api_data{}; - api_data.args.hsa_signal_subtract_screlease.signal = signal; - api_data.args.hsa_signal_subtract_screlease.value = value; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_signal_subtract_screlease, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_subtract_screlease, &api_data, api_callback_arg); - CoreApiTable_saved.hsa_signal_subtract_screlease_fn(signal, value); - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_subtract_screlease, &api_data, api_callback_arg); -} -static void hsa_signal_subtract_scacq_screl_callback(hsa_signal_t signal, hsa_signal_value_t value) { - hsa_api_data_t api_data{}; - api_data.args.hsa_signal_subtract_scacq_screl.signal = signal; - api_data.args.hsa_signal_subtract_scacq_screl.value = value; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_signal_subtract_scacq_screl, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_subtract_scacq_screl, &api_data, api_callback_arg); - CoreApiTable_saved.hsa_signal_subtract_scacq_screl_fn(signal, value); - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_subtract_scacq_screl, &api_data, api_callback_arg); -} -static hsa_signal_value_t hsa_signal_cas_relaxed_callback(hsa_signal_t signal, hsa_signal_value_t expected, hsa_signal_value_t value) { - hsa_api_data_t api_data{}; - api_data.args.hsa_signal_cas_relaxed.signal = signal; - api_data.args.hsa_signal_cas_relaxed.expected = expected; - api_data.args.hsa_signal_cas_relaxed.value = value; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_signal_cas_relaxed, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_cas_relaxed, &api_data, api_callback_arg); - hsa_signal_value_t ret = CoreApiTable_saved.hsa_signal_cas_relaxed_fn(signal, expected, value); - api_data.hsa_signal_value_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_cas_relaxed, &api_data, api_callback_arg); - return ret; -} -static hsa_signal_value_t hsa_signal_cas_scacquire_callback(hsa_signal_t signal, hsa_signal_value_t expected, hsa_signal_value_t value) { - hsa_api_data_t api_data{}; - api_data.args.hsa_signal_cas_scacquire.signal = signal; - api_data.args.hsa_signal_cas_scacquire.expected = expected; - api_data.args.hsa_signal_cas_scacquire.value = value; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_signal_cas_scacquire, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_cas_scacquire, &api_data, api_callback_arg); - hsa_signal_value_t ret = CoreApiTable_saved.hsa_signal_cas_scacquire_fn(signal, expected, value); - api_data.hsa_signal_value_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_cas_scacquire, &api_data, api_callback_arg); - return ret; -} -static hsa_signal_value_t hsa_signal_cas_screlease_callback(hsa_signal_t signal, hsa_signal_value_t expected, hsa_signal_value_t value) { - hsa_api_data_t api_data{}; - api_data.args.hsa_signal_cas_screlease.signal = signal; - api_data.args.hsa_signal_cas_screlease.expected = expected; - api_data.args.hsa_signal_cas_screlease.value = value; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_signal_cas_screlease, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_cas_screlease, &api_data, api_callback_arg); - hsa_signal_value_t ret = CoreApiTable_saved.hsa_signal_cas_screlease_fn(signal, expected, value); - api_data.hsa_signal_value_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_cas_screlease, &api_data, api_callback_arg); - return ret; -} -static hsa_signal_value_t hsa_signal_cas_scacq_screl_callback(hsa_signal_t signal, hsa_signal_value_t expected, hsa_signal_value_t value) { - hsa_api_data_t api_data{}; - api_data.args.hsa_signal_cas_scacq_screl.signal = signal; - api_data.args.hsa_signal_cas_scacq_screl.expected = expected; - api_data.args.hsa_signal_cas_scacq_screl.value = value; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_signal_cas_scacq_screl, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_cas_scacq_screl, &api_data, api_callback_arg); - hsa_signal_value_t ret = CoreApiTable_saved.hsa_signal_cas_scacq_screl_fn(signal, expected, value); - api_data.hsa_signal_value_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_cas_scacq_screl, &api_data, api_callback_arg); - return ret; -} -static hsa_status_t hsa_isa_from_name_callback(const char* name, hsa_isa_t* isa) { - hsa_api_data_t api_data{}; - api_data.args.hsa_isa_from_name.name = name; - api_data.args.hsa_isa_from_name.isa = isa; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_isa_from_name, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_isa_from_name, &api_data, api_callback_arg); - hsa_status_t ret = CoreApiTable_saved.hsa_isa_from_name_fn(name, isa); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_isa_from_name, &api_data, api_callback_arg); - return ret; -} -static hsa_status_t hsa_isa_get_info_callback(hsa_isa_t isa, hsa_isa_info_t attribute, uint32_t index, void* value) { - hsa_api_data_t api_data{}; - api_data.args.hsa_isa_get_info.isa = isa; - api_data.args.hsa_isa_get_info.attribute = attribute; - api_data.args.hsa_isa_get_info.index = index; - api_data.args.hsa_isa_get_info.value = value; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_isa_get_info, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_isa_get_info, &api_data, api_callback_arg); - hsa_status_t ret = CoreApiTable_saved.hsa_isa_get_info_fn(isa, attribute, index, value); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_isa_get_info, &api_data, api_callback_arg); - return ret; -} -static hsa_status_t hsa_isa_compatible_callback(hsa_isa_t code_object_isa, hsa_isa_t agent_isa, bool* result) { - hsa_api_data_t api_data{}; - api_data.args.hsa_isa_compatible.code_object_isa = code_object_isa; - api_data.args.hsa_isa_compatible.agent_isa = agent_isa; - api_data.args.hsa_isa_compatible.result = result; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_isa_compatible, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_isa_compatible, &api_data, api_callback_arg); - hsa_status_t ret = CoreApiTable_saved.hsa_isa_compatible_fn(code_object_isa, agent_isa, result); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_isa_compatible, &api_data, api_callback_arg); - return ret; -} -static hsa_status_t hsa_code_object_serialize_callback(hsa_code_object_t code_object, hsa_status_t (* alloc_callback)(size_t size, hsa_callback_data_t data, void** address), hsa_callback_data_t callback_data, const char* options, void** serialized_code_object, size_t* serialized_code_object_size) { - hsa_api_data_t api_data{}; - api_data.args.hsa_code_object_serialize.code_object = code_object; - api_data.args.hsa_code_object_serialize.alloc_callback = alloc_callback; - api_data.args.hsa_code_object_serialize.callback_data = callback_data; - api_data.args.hsa_code_object_serialize.options = options; - api_data.args.hsa_code_object_serialize.serialized_code_object = serialized_code_object; - api_data.args.hsa_code_object_serialize.serialized_code_object_size = serialized_code_object_size; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_code_object_serialize, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_code_object_serialize, &api_data, api_callback_arg); - hsa_status_t ret = CoreApiTable_saved.hsa_code_object_serialize_fn(code_object, alloc_callback, callback_data, options, serialized_code_object, serialized_code_object_size); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_code_object_serialize, &api_data, api_callback_arg); - return ret; -} -static hsa_status_t hsa_code_object_deserialize_callback(void* serialized_code_object, size_t serialized_code_object_size, const char* options, hsa_code_object_t* code_object) { - hsa_api_data_t api_data{}; - api_data.args.hsa_code_object_deserialize.serialized_code_object = serialized_code_object; - api_data.args.hsa_code_object_deserialize.serialized_code_object_size = serialized_code_object_size; - api_data.args.hsa_code_object_deserialize.options = options; - api_data.args.hsa_code_object_deserialize.code_object = code_object; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_code_object_deserialize, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_code_object_deserialize, &api_data, api_callback_arg); - hsa_status_t ret = CoreApiTable_saved.hsa_code_object_deserialize_fn(serialized_code_object, serialized_code_object_size, options, code_object); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_code_object_deserialize, &api_data, api_callback_arg); - return ret; -} -static hsa_status_t hsa_code_object_destroy_callback(hsa_code_object_t code_object) { - hsa_api_data_t api_data{}; - api_data.args.hsa_code_object_destroy.code_object = code_object; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_code_object_destroy, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_code_object_destroy, &api_data, api_callback_arg); - hsa_status_t ret = CoreApiTable_saved.hsa_code_object_destroy_fn(code_object); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_code_object_destroy, &api_data, api_callback_arg); - return ret; -} -static hsa_status_t hsa_code_object_get_info_callback(hsa_code_object_t code_object, hsa_code_object_info_t attribute, void* value) { - hsa_api_data_t api_data{}; - api_data.args.hsa_code_object_get_info.code_object = code_object; - api_data.args.hsa_code_object_get_info.attribute = attribute; - api_data.args.hsa_code_object_get_info.value = value; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_code_object_get_info, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_code_object_get_info, &api_data, api_callback_arg); - hsa_status_t ret = CoreApiTable_saved.hsa_code_object_get_info_fn(code_object, attribute, value); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_code_object_get_info, &api_data, api_callback_arg); - return ret; -} -static hsa_status_t hsa_code_object_get_symbol_callback(hsa_code_object_t code_object, const char* symbol_name, hsa_code_symbol_t* symbol) { - hsa_api_data_t api_data{}; - api_data.args.hsa_code_object_get_symbol.code_object = code_object; - api_data.args.hsa_code_object_get_symbol.symbol_name = symbol_name; - api_data.args.hsa_code_object_get_symbol.symbol = symbol; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_code_object_get_symbol, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_code_object_get_symbol, &api_data, api_callback_arg); - hsa_status_t ret = CoreApiTable_saved.hsa_code_object_get_symbol_fn(code_object, symbol_name, symbol); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_code_object_get_symbol, &api_data, api_callback_arg); - return ret; -} -static hsa_status_t hsa_code_symbol_get_info_callback(hsa_code_symbol_t code_symbol, hsa_code_symbol_info_t attribute, void* value) { - hsa_api_data_t api_data{}; - api_data.args.hsa_code_symbol_get_info.code_symbol = code_symbol; - api_data.args.hsa_code_symbol_get_info.attribute = attribute; - api_data.args.hsa_code_symbol_get_info.value = value; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_code_symbol_get_info, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_code_symbol_get_info, &api_data, api_callback_arg); - hsa_status_t ret = CoreApiTable_saved.hsa_code_symbol_get_info_fn(code_symbol, attribute, value); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_code_symbol_get_info, &api_data, api_callback_arg); - return ret; -} -static hsa_status_t hsa_code_object_iterate_symbols_callback(hsa_code_object_t code_object, hsa_status_t (* callback)(hsa_code_object_t code_object, hsa_code_symbol_t symbol, void* data), void* data) { - hsa_api_data_t api_data{}; - api_data.args.hsa_code_object_iterate_symbols.code_object = code_object; - api_data.args.hsa_code_object_iterate_symbols.callback = callback; - api_data.args.hsa_code_object_iterate_symbols.data = data; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_code_object_iterate_symbols, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_code_object_iterate_symbols, &api_data, api_callback_arg); - hsa_status_t ret = CoreApiTable_saved.hsa_code_object_iterate_symbols_fn(code_object, callback, data); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_code_object_iterate_symbols, &api_data, api_callback_arg); - return ret; -} -static hsa_status_t hsa_executable_create_callback(hsa_profile_t profile, hsa_executable_state_t executable_state, const char* options, hsa_executable_t* executable) { - hsa_api_data_t api_data{}; - api_data.args.hsa_executable_create.profile = profile; - api_data.args.hsa_executable_create.executable_state = executable_state; - api_data.args.hsa_executable_create.options = options; - api_data.args.hsa_executable_create.executable = executable; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_executable_create, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_create, &api_data, api_callback_arg); - hsa_status_t ret = CoreApiTable_saved.hsa_executable_create_fn(profile, executable_state, options, executable); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_create, &api_data, api_callback_arg); - return ret; -} -static hsa_status_t hsa_executable_destroy_callback(hsa_executable_t executable) { - hsa_api_data_t api_data{}; - api_data.args.hsa_executable_destroy.executable = executable; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_executable_destroy, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_destroy, &api_data, api_callback_arg); - hsa_status_t ret = CoreApiTable_saved.hsa_executable_destroy_fn(executable); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_destroy, &api_data, api_callback_arg); - return ret; -} -static hsa_status_t hsa_executable_load_code_object_callback(hsa_executable_t executable, hsa_agent_t agent, hsa_code_object_t code_object, const char* options) { - hsa_api_data_t api_data{}; - api_data.args.hsa_executable_load_code_object.executable = executable; - api_data.args.hsa_executable_load_code_object.agent = agent; - api_data.args.hsa_executable_load_code_object.code_object = code_object; - api_data.args.hsa_executable_load_code_object.options = options; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_executable_load_code_object, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_load_code_object, &api_data, api_callback_arg); - hsa_status_t ret = CoreApiTable_saved.hsa_executable_load_code_object_fn(executable, agent, code_object, options); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_load_code_object, &api_data, api_callback_arg); - return ret; -} -static hsa_status_t hsa_executable_freeze_callback(hsa_executable_t executable, const char* options) { - hsa_api_data_t api_data{}; - api_data.args.hsa_executable_freeze.executable = executable; - api_data.args.hsa_executable_freeze.options = options; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_executable_freeze, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_freeze, &api_data, api_callback_arg); - hsa_status_t ret = CoreApiTable_saved.hsa_executable_freeze_fn(executable, options); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_freeze, &api_data, api_callback_arg); - return ret; -} -static hsa_status_t hsa_executable_get_info_callback(hsa_executable_t executable, hsa_executable_info_t attribute, void* value) { - hsa_api_data_t api_data{}; - api_data.args.hsa_executable_get_info.executable = executable; - api_data.args.hsa_executable_get_info.attribute = attribute; - api_data.args.hsa_executable_get_info.value = value; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_executable_get_info, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_get_info, &api_data, api_callback_arg); - hsa_status_t ret = CoreApiTable_saved.hsa_executable_get_info_fn(executable, attribute, value); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_get_info, &api_data, api_callback_arg); - return ret; -} -static hsa_status_t hsa_executable_global_variable_define_callback(hsa_executable_t executable, const char* variable_name, void* address) { - hsa_api_data_t api_data{}; - api_data.args.hsa_executable_global_variable_define.executable = executable; - api_data.args.hsa_executable_global_variable_define.variable_name = variable_name; - api_data.args.hsa_executable_global_variable_define.address = address; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_executable_global_variable_define, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_global_variable_define, &api_data, api_callback_arg); - hsa_status_t ret = CoreApiTable_saved.hsa_executable_global_variable_define_fn(executable, variable_name, address); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_global_variable_define, &api_data, api_callback_arg); - return ret; -} -static hsa_status_t hsa_executable_agent_global_variable_define_callback(hsa_executable_t executable, hsa_agent_t agent, const char* variable_name, void* address) { - hsa_api_data_t api_data{}; - api_data.args.hsa_executable_agent_global_variable_define.executable = executable; - api_data.args.hsa_executable_agent_global_variable_define.agent = agent; - api_data.args.hsa_executable_agent_global_variable_define.variable_name = variable_name; - api_data.args.hsa_executable_agent_global_variable_define.address = address; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_executable_agent_global_variable_define, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_agent_global_variable_define, &api_data, api_callback_arg); - hsa_status_t ret = CoreApiTable_saved.hsa_executable_agent_global_variable_define_fn(executable, agent, variable_name, address); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_agent_global_variable_define, &api_data, api_callback_arg); - return ret; -} -static hsa_status_t hsa_executable_readonly_variable_define_callback(hsa_executable_t executable, hsa_agent_t agent, const char* variable_name, void* address) { - hsa_api_data_t api_data{}; - api_data.args.hsa_executable_readonly_variable_define.executable = executable; - api_data.args.hsa_executable_readonly_variable_define.agent = agent; - api_data.args.hsa_executable_readonly_variable_define.variable_name = variable_name; - api_data.args.hsa_executable_readonly_variable_define.address = address; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_executable_readonly_variable_define, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_readonly_variable_define, &api_data, api_callback_arg); - hsa_status_t ret = CoreApiTable_saved.hsa_executable_readonly_variable_define_fn(executable, agent, variable_name, address); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_readonly_variable_define, &api_data, api_callback_arg); - return ret; -} -static hsa_status_t hsa_executable_validate_callback(hsa_executable_t executable, uint32_t* result) { - hsa_api_data_t api_data{}; - api_data.args.hsa_executable_validate.executable = executable; - api_data.args.hsa_executable_validate.result = result; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_executable_validate, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_validate, &api_data, api_callback_arg); - hsa_status_t ret = CoreApiTable_saved.hsa_executable_validate_fn(executable, result); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_validate, &api_data, api_callback_arg); - return ret; -} -static hsa_status_t hsa_executable_get_symbol_callback(hsa_executable_t executable, const char* module_name, const char* symbol_name, hsa_agent_t agent, int32_t call_convention, hsa_executable_symbol_t* symbol) { - hsa_api_data_t api_data{}; - api_data.args.hsa_executable_get_symbol.executable = executable; - api_data.args.hsa_executable_get_symbol.module_name = module_name; - api_data.args.hsa_executable_get_symbol.symbol_name = symbol_name; - api_data.args.hsa_executable_get_symbol.agent = agent; - api_data.args.hsa_executable_get_symbol.call_convention = call_convention; - api_data.args.hsa_executable_get_symbol.symbol = symbol; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_executable_get_symbol, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_get_symbol, &api_data, api_callback_arg); - hsa_status_t ret = CoreApiTable_saved.hsa_executable_get_symbol_fn(executable, module_name, symbol_name, agent, call_convention, symbol); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_get_symbol, &api_data, api_callback_arg); - return ret; -} -static hsa_status_t hsa_executable_symbol_get_info_callback(hsa_executable_symbol_t executable_symbol, hsa_executable_symbol_info_t attribute, void* value) { - hsa_api_data_t api_data{}; - api_data.args.hsa_executable_symbol_get_info.executable_symbol = executable_symbol; - api_data.args.hsa_executable_symbol_get_info.attribute = attribute; - api_data.args.hsa_executable_symbol_get_info.value = value; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_executable_symbol_get_info, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_symbol_get_info, &api_data, api_callback_arg); - hsa_status_t ret = CoreApiTable_saved.hsa_executable_symbol_get_info_fn(executable_symbol, attribute, value); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_symbol_get_info, &api_data, api_callback_arg); - return ret; -} -static hsa_status_t hsa_executable_iterate_symbols_callback(hsa_executable_t executable, hsa_status_t (* callback)(hsa_executable_t exec, hsa_executable_symbol_t symbol, void* data), void* data) { - hsa_api_data_t api_data{}; - api_data.args.hsa_executable_iterate_symbols.executable = executable; - api_data.args.hsa_executable_iterate_symbols.callback = callback; - api_data.args.hsa_executable_iterate_symbols.data = data; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_executable_iterate_symbols, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_iterate_symbols, &api_data, api_callback_arg); - hsa_status_t ret = CoreApiTable_saved.hsa_executable_iterate_symbols_fn(executable, callback, data); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_iterate_symbols, &api_data, api_callback_arg); - return ret; -} -static hsa_status_t hsa_status_string_callback(hsa_status_t status, const char** status_string) { - hsa_api_data_t api_data{}; - api_data.args.hsa_status_string.status = status; - api_data.args.hsa_status_string.status_string = status_string; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_status_string, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_status_string, &api_data, api_callback_arg); - hsa_status_t ret = CoreApiTable_saved.hsa_status_string_fn(status, status_string); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_status_string, &api_data, api_callback_arg); - return ret; -} -static hsa_status_t hsa_extension_get_name_callback(uint16_t extension, const char** name) { - hsa_api_data_t api_data{}; - api_data.args.hsa_extension_get_name.extension = extension; - api_data.args.hsa_extension_get_name.name = name; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_extension_get_name, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_extension_get_name, &api_data, api_callback_arg); - hsa_status_t ret = CoreApiTable_saved.hsa_extension_get_name_fn(extension, name); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_extension_get_name, &api_data, api_callback_arg); - return ret; -} -static hsa_status_t hsa_system_major_extension_supported_callback(uint16_t extension, uint16_t version_major, uint16_t* version_minor, bool* result) { - hsa_api_data_t api_data{}; - api_data.args.hsa_system_major_extension_supported.extension = extension; - api_data.args.hsa_system_major_extension_supported.version_major = version_major; - api_data.args.hsa_system_major_extension_supported.version_minor = version_minor; - api_data.args.hsa_system_major_extension_supported.result = result; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_system_major_extension_supported, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_system_major_extension_supported, &api_data, api_callback_arg); - hsa_status_t ret = CoreApiTable_saved.hsa_system_major_extension_supported_fn(extension, version_major, version_minor, result); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_system_major_extension_supported, &api_data, api_callback_arg); - return ret; -} -static hsa_status_t hsa_system_get_major_extension_table_callback(uint16_t extension, uint16_t version_major, size_t table_length, void* table) { - hsa_api_data_t api_data{}; - api_data.args.hsa_system_get_major_extension_table.extension = extension; - api_data.args.hsa_system_get_major_extension_table.version_major = version_major; - api_data.args.hsa_system_get_major_extension_table.table_length = table_length; - api_data.args.hsa_system_get_major_extension_table.table = table; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_system_get_major_extension_table, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_system_get_major_extension_table, &api_data, api_callback_arg); - hsa_status_t ret = CoreApiTable_saved.hsa_system_get_major_extension_table_fn(extension, version_major, table_length, table); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_system_get_major_extension_table, &api_data, api_callback_arg); - return ret; -} -static hsa_status_t hsa_agent_major_extension_supported_callback(uint16_t extension, hsa_agent_t agent, uint16_t version_major, uint16_t* version_minor, bool* result) { - hsa_api_data_t api_data{}; - api_data.args.hsa_agent_major_extension_supported.extension = extension; - api_data.args.hsa_agent_major_extension_supported.agent = agent; - api_data.args.hsa_agent_major_extension_supported.version_major = version_major; - api_data.args.hsa_agent_major_extension_supported.version_minor = version_minor; - api_data.args.hsa_agent_major_extension_supported.result = result; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_agent_major_extension_supported, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_agent_major_extension_supported, &api_data, api_callback_arg); - hsa_status_t ret = CoreApiTable_saved.hsa_agent_major_extension_supported_fn(extension, agent, version_major, version_minor, result); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_agent_major_extension_supported, &api_data, api_callback_arg); - return ret; -} -static hsa_status_t hsa_cache_get_info_callback(hsa_cache_t cache, hsa_cache_info_t attribute, void* value) { - hsa_api_data_t api_data{}; - api_data.args.hsa_cache_get_info.cache = cache; - api_data.args.hsa_cache_get_info.attribute = attribute; - api_data.args.hsa_cache_get_info.value = value; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_cache_get_info, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_cache_get_info, &api_data, api_callback_arg); - hsa_status_t ret = CoreApiTable_saved.hsa_cache_get_info_fn(cache, attribute, value); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_cache_get_info, &api_data, api_callback_arg); - return ret; -} -static hsa_status_t hsa_agent_iterate_caches_callback(hsa_agent_t agent, hsa_status_t (* callback)(hsa_cache_t cache, void* data), void* data) { - hsa_api_data_t api_data{}; - api_data.args.hsa_agent_iterate_caches.agent = agent; - api_data.args.hsa_agent_iterate_caches.callback = callback; - api_data.args.hsa_agent_iterate_caches.data = data; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_agent_iterate_caches, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_agent_iterate_caches, &api_data, api_callback_arg); - hsa_status_t ret = CoreApiTable_saved.hsa_agent_iterate_caches_fn(agent, callback, data); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_agent_iterate_caches, &api_data, api_callback_arg); - return ret; -} -static void hsa_signal_silent_store_relaxed_callback(hsa_signal_t signal, hsa_signal_value_t value) { - hsa_api_data_t api_data{}; - api_data.args.hsa_signal_silent_store_relaxed.signal = signal; - api_data.args.hsa_signal_silent_store_relaxed.value = value; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_signal_silent_store_relaxed, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_silent_store_relaxed, &api_data, api_callback_arg); - CoreApiTable_saved.hsa_signal_silent_store_relaxed_fn(signal, value); - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_silent_store_relaxed, &api_data, api_callback_arg); -} -static void hsa_signal_silent_store_screlease_callback(hsa_signal_t signal, hsa_signal_value_t value) { - hsa_api_data_t api_data{}; - api_data.args.hsa_signal_silent_store_screlease.signal = signal; - api_data.args.hsa_signal_silent_store_screlease.value = value; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_signal_silent_store_screlease, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_silent_store_screlease, &api_data, api_callback_arg); - CoreApiTable_saved.hsa_signal_silent_store_screlease_fn(signal, value); - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_silent_store_screlease, &api_data, api_callback_arg); -} -static hsa_status_t hsa_signal_group_create_callback(uint32_t num_signals, const hsa_signal_t* signals, uint32_t num_consumers, const hsa_agent_t* consumers, hsa_signal_group_t* signal_group) { - hsa_api_data_t api_data{}; - api_data.args.hsa_signal_group_create.num_signals = num_signals; - api_data.args.hsa_signal_group_create.signals = signals; - api_data.args.hsa_signal_group_create.num_consumers = num_consumers; - api_data.args.hsa_signal_group_create.consumers = consumers; - api_data.args.hsa_signal_group_create.signal_group = signal_group; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_signal_group_create, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_group_create, &api_data, api_callback_arg); - hsa_status_t ret = CoreApiTable_saved.hsa_signal_group_create_fn(num_signals, signals, num_consumers, consumers, signal_group); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_group_create, &api_data, api_callback_arg); - return ret; -} -static hsa_status_t hsa_signal_group_destroy_callback(hsa_signal_group_t signal_group) { - hsa_api_data_t api_data{}; - api_data.args.hsa_signal_group_destroy.signal_group = signal_group; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_signal_group_destroy, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_group_destroy, &api_data, api_callback_arg); - hsa_status_t ret = CoreApiTable_saved.hsa_signal_group_destroy_fn(signal_group); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_group_destroy, &api_data, api_callback_arg); - return ret; -} -static hsa_status_t hsa_signal_group_wait_any_scacquire_callback(hsa_signal_group_t signal_group, const hsa_signal_condition_t* conditions, const hsa_signal_value_t* compare_values, hsa_wait_state_t wait_state_hint, hsa_signal_t* signal, hsa_signal_value_t* value) { - hsa_api_data_t api_data{}; - api_data.args.hsa_signal_group_wait_any_scacquire.signal_group = signal_group; - api_data.args.hsa_signal_group_wait_any_scacquire.conditions = conditions; - api_data.args.hsa_signal_group_wait_any_scacquire.compare_values = compare_values; - api_data.args.hsa_signal_group_wait_any_scacquire.wait_state_hint = wait_state_hint; - api_data.args.hsa_signal_group_wait_any_scacquire.signal = signal; - api_data.args.hsa_signal_group_wait_any_scacquire.value = value; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_signal_group_wait_any_scacquire, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_group_wait_any_scacquire, &api_data, api_callback_arg); - hsa_status_t ret = CoreApiTable_saved.hsa_signal_group_wait_any_scacquire_fn(signal_group, conditions, compare_values, wait_state_hint, signal, value); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_group_wait_any_scacquire, &api_data, api_callback_arg); - return ret; -} -static hsa_status_t hsa_signal_group_wait_any_relaxed_callback(hsa_signal_group_t signal_group, const hsa_signal_condition_t* conditions, const hsa_signal_value_t* compare_values, hsa_wait_state_t wait_state_hint, hsa_signal_t* signal, hsa_signal_value_t* value) { - hsa_api_data_t api_data{}; - api_data.args.hsa_signal_group_wait_any_relaxed.signal_group = signal_group; - api_data.args.hsa_signal_group_wait_any_relaxed.conditions = conditions; - api_data.args.hsa_signal_group_wait_any_relaxed.compare_values = compare_values; - api_data.args.hsa_signal_group_wait_any_relaxed.wait_state_hint = wait_state_hint; - api_data.args.hsa_signal_group_wait_any_relaxed.signal = signal; - api_data.args.hsa_signal_group_wait_any_relaxed.value = value; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_signal_group_wait_any_relaxed, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_group_wait_any_relaxed, &api_data, api_callback_arg); - hsa_status_t ret = CoreApiTable_saved.hsa_signal_group_wait_any_relaxed_fn(signal_group, conditions, compare_values, wait_state_hint, signal, value); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_group_wait_any_relaxed, &api_data, api_callback_arg); - return ret; -} -static hsa_status_t hsa_agent_iterate_isas_callback(hsa_agent_t agent, hsa_status_t (* callback)(hsa_isa_t isa, void* data), void* data) { - hsa_api_data_t api_data{}; - api_data.args.hsa_agent_iterate_isas.agent = agent; - api_data.args.hsa_agent_iterate_isas.callback = callback; - api_data.args.hsa_agent_iterate_isas.data = data; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_agent_iterate_isas, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_agent_iterate_isas, &api_data, api_callback_arg); - hsa_status_t ret = CoreApiTable_saved.hsa_agent_iterate_isas_fn(agent, callback, data); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_agent_iterate_isas, &api_data, api_callback_arg); - return ret; -} -static hsa_status_t hsa_isa_get_info_alt_callback(hsa_isa_t isa, hsa_isa_info_t attribute, void* value) { - hsa_api_data_t api_data{}; - api_data.args.hsa_isa_get_info_alt.isa = isa; - api_data.args.hsa_isa_get_info_alt.attribute = attribute; - api_data.args.hsa_isa_get_info_alt.value = value; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_isa_get_info_alt, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_isa_get_info_alt, &api_data, api_callback_arg); - hsa_status_t ret = CoreApiTable_saved.hsa_isa_get_info_alt_fn(isa, attribute, value); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_isa_get_info_alt, &api_data, api_callback_arg); - return ret; -} -static hsa_status_t hsa_isa_get_exception_policies_callback(hsa_isa_t isa, hsa_profile_t profile, uint16_t* mask) { - hsa_api_data_t api_data{}; - api_data.args.hsa_isa_get_exception_policies.isa = isa; - api_data.args.hsa_isa_get_exception_policies.profile = profile; - api_data.args.hsa_isa_get_exception_policies.mask = mask; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_isa_get_exception_policies, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_isa_get_exception_policies, &api_data, api_callback_arg); - hsa_status_t ret = CoreApiTable_saved.hsa_isa_get_exception_policies_fn(isa, profile, mask); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_isa_get_exception_policies, &api_data, api_callback_arg); - return ret; -} -static hsa_status_t hsa_isa_get_round_method_callback(hsa_isa_t isa, hsa_fp_type_t fp_type, hsa_flush_mode_t flush_mode, hsa_round_method_t* round_method) { - hsa_api_data_t api_data{}; - api_data.args.hsa_isa_get_round_method.isa = isa; - api_data.args.hsa_isa_get_round_method.fp_type = fp_type; - api_data.args.hsa_isa_get_round_method.flush_mode = flush_mode; - api_data.args.hsa_isa_get_round_method.round_method = round_method; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_isa_get_round_method, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_isa_get_round_method, &api_data, api_callback_arg); - hsa_status_t ret = CoreApiTable_saved.hsa_isa_get_round_method_fn(isa, fp_type, flush_mode, round_method); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_isa_get_round_method, &api_data, api_callback_arg); - return ret; -} -static hsa_status_t hsa_wavefront_get_info_callback(hsa_wavefront_t wavefront, hsa_wavefront_info_t attribute, void* value) { - hsa_api_data_t api_data{}; - api_data.args.hsa_wavefront_get_info.wavefront = wavefront; - api_data.args.hsa_wavefront_get_info.attribute = attribute; - api_data.args.hsa_wavefront_get_info.value = value; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_wavefront_get_info, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_wavefront_get_info, &api_data, api_callback_arg); - hsa_status_t ret = CoreApiTable_saved.hsa_wavefront_get_info_fn(wavefront, attribute, value); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_wavefront_get_info, &api_data, api_callback_arg); - return ret; -} -static hsa_status_t hsa_isa_iterate_wavefronts_callback(hsa_isa_t isa, hsa_status_t (* callback)(hsa_wavefront_t wavefront, void* data), void* data) { - hsa_api_data_t api_data{}; - api_data.args.hsa_isa_iterate_wavefronts.isa = isa; - api_data.args.hsa_isa_iterate_wavefronts.callback = callback; - api_data.args.hsa_isa_iterate_wavefronts.data = data; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_isa_iterate_wavefronts, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_isa_iterate_wavefronts, &api_data, api_callback_arg); - hsa_status_t ret = CoreApiTable_saved.hsa_isa_iterate_wavefronts_fn(isa, callback, data); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_isa_iterate_wavefronts, &api_data, api_callback_arg); - return ret; -} -static hsa_status_t hsa_code_object_get_symbol_from_name_callback(hsa_code_object_t code_object, const char* module_name, const char* symbol_name, hsa_code_symbol_t* symbol) { - hsa_api_data_t api_data{}; - api_data.args.hsa_code_object_get_symbol_from_name.code_object = code_object; - api_data.args.hsa_code_object_get_symbol_from_name.module_name = module_name; - api_data.args.hsa_code_object_get_symbol_from_name.symbol_name = symbol_name; - api_data.args.hsa_code_object_get_symbol_from_name.symbol = symbol; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_code_object_get_symbol_from_name, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_code_object_get_symbol_from_name, &api_data, api_callback_arg); - hsa_status_t ret = CoreApiTable_saved.hsa_code_object_get_symbol_from_name_fn(code_object, module_name, symbol_name, symbol); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_code_object_get_symbol_from_name, &api_data, api_callback_arg); - return ret; -} -static hsa_status_t hsa_code_object_reader_create_from_file_callback(hsa_file_t file, hsa_code_object_reader_t* code_object_reader) { - hsa_api_data_t api_data{}; - api_data.args.hsa_code_object_reader_create_from_file.file = file; - api_data.args.hsa_code_object_reader_create_from_file.code_object_reader = code_object_reader; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_code_object_reader_create_from_file, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_code_object_reader_create_from_file, &api_data, api_callback_arg); - hsa_status_t ret = CoreApiTable_saved.hsa_code_object_reader_create_from_file_fn(file, code_object_reader); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_code_object_reader_create_from_file, &api_data, api_callback_arg); - return ret; -} -static hsa_status_t hsa_code_object_reader_create_from_memory_callback(const void* code_object, size_t size, hsa_code_object_reader_t* code_object_reader) { - hsa_api_data_t api_data{}; - api_data.args.hsa_code_object_reader_create_from_memory.code_object = code_object; - api_data.args.hsa_code_object_reader_create_from_memory.size = size; - api_data.args.hsa_code_object_reader_create_from_memory.code_object_reader = code_object_reader; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_code_object_reader_create_from_memory, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_code_object_reader_create_from_memory, &api_data, api_callback_arg); - hsa_status_t ret = CoreApiTable_saved.hsa_code_object_reader_create_from_memory_fn(code_object, size, code_object_reader); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_code_object_reader_create_from_memory, &api_data, api_callback_arg); - return ret; -} -static hsa_status_t hsa_code_object_reader_destroy_callback(hsa_code_object_reader_t code_object_reader) { - hsa_api_data_t api_data{}; - api_data.args.hsa_code_object_reader_destroy.code_object_reader = code_object_reader; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_code_object_reader_destroy, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_code_object_reader_destroy, &api_data, api_callback_arg); - hsa_status_t ret = CoreApiTable_saved.hsa_code_object_reader_destroy_fn(code_object_reader); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_code_object_reader_destroy, &api_data, api_callback_arg); - return ret; -} -static hsa_status_t hsa_executable_create_alt_callback(hsa_profile_t profile, hsa_default_float_rounding_mode_t default_float_rounding_mode, const char* options, hsa_executable_t* executable) { - hsa_api_data_t api_data{}; - api_data.args.hsa_executable_create_alt.profile = profile; - api_data.args.hsa_executable_create_alt.default_float_rounding_mode = default_float_rounding_mode; - api_data.args.hsa_executable_create_alt.options = options; - api_data.args.hsa_executable_create_alt.executable = executable; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_executable_create_alt, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_create_alt, &api_data, api_callback_arg); - hsa_status_t ret = CoreApiTable_saved.hsa_executable_create_alt_fn(profile, default_float_rounding_mode, options, executable); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_create_alt, &api_data, api_callback_arg); - return ret; -} -static hsa_status_t hsa_executable_load_program_code_object_callback(hsa_executable_t executable, hsa_code_object_reader_t code_object_reader, const char* options, hsa_loaded_code_object_t* loaded_code_object) { - hsa_api_data_t api_data{}; - api_data.args.hsa_executable_load_program_code_object.executable = executable; - api_data.args.hsa_executable_load_program_code_object.code_object_reader = code_object_reader; - api_data.args.hsa_executable_load_program_code_object.options = options; - api_data.args.hsa_executable_load_program_code_object.loaded_code_object = loaded_code_object; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_executable_load_program_code_object, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_load_program_code_object, &api_data, api_callback_arg); - hsa_status_t ret = CoreApiTable_saved.hsa_executable_load_program_code_object_fn(executable, code_object_reader, options, loaded_code_object); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_load_program_code_object, &api_data, api_callback_arg); - return ret; -} -static hsa_status_t hsa_executable_load_agent_code_object_callback(hsa_executable_t executable, hsa_agent_t agent, hsa_code_object_reader_t code_object_reader, const char* options, hsa_loaded_code_object_t* loaded_code_object) { - hsa_api_data_t api_data{}; - api_data.args.hsa_executable_load_agent_code_object.executable = executable; - api_data.args.hsa_executable_load_agent_code_object.agent = agent; - api_data.args.hsa_executable_load_agent_code_object.code_object_reader = code_object_reader; - api_data.args.hsa_executable_load_agent_code_object.options = options; - api_data.args.hsa_executable_load_agent_code_object.loaded_code_object = loaded_code_object; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_executable_load_agent_code_object, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_load_agent_code_object, &api_data, api_callback_arg); - hsa_status_t ret = CoreApiTable_saved.hsa_executable_load_agent_code_object_fn(executable, agent, code_object_reader, options, loaded_code_object); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_load_agent_code_object, &api_data, api_callback_arg); - return ret; -} -static hsa_status_t hsa_executable_validate_alt_callback(hsa_executable_t executable, const char* options, uint32_t* result) { - hsa_api_data_t api_data{}; - api_data.args.hsa_executable_validate_alt.executable = executable; - api_data.args.hsa_executable_validate_alt.options = options; - api_data.args.hsa_executable_validate_alt.result = result; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_executable_validate_alt, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_validate_alt, &api_data, api_callback_arg); - hsa_status_t ret = CoreApiTable_saved.hsa_executable_validate_alt_fn(executable, options, result); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_validate_alt, &api_data, api_callback_arg); - return ret; -} -static hsa_status_t hsa_executable_get_symbol_by_name_callback(hsa_executable_t executable, const char* symbol_name, const hsa_agent_t* agent, hsa_executable_symbol_t* symbol) { - hsa_api_data_t api_data{}; - api_data.args.hsa_executable_get_symbol_by_name.executable = executable; - api_data.args.hsa_executable_get_symbol_by_name.symbol_name = symbol_name; - api_data.args.hsa_executable_get_symbol_by_name.agent = agent; - api_data.args.hsa_executable_get_symbol_by_name.symbol = symbol; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_executable_get_symbol_by_name, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_get_symbol_by_name, &api_data, api_callback_arg); - hsa_status_t ret = CoreApiTable_saved.hsa_executable_get_symbol_by_name_fn(executable, symbol_name, agent, symbol); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_get_symbol_by_name, &api_data, api_callback_arg); - return ret; -} -static hsa_status_t hsa_executable_iterate_agent_symbols_callback(hsa_executable_t executable, hsa_agent_t agent, hsa_status_t (* callback)(hsa_executable_t exec, hsa_agent_t agent, hsa_executable_symbol_t symbol, void* data), void* data) { - hsa_api_data_t api_data{}; - api_data.args.hsa_executable_iterate_agent_symbols.executable = executable; - api_data.args.hsa_executable_iterate_agent_symbols.agent = agent; - api_data.args.hsa_executable_iterate_agent_symbols.callback = callback; - api_data.args.hsa_executable_iterate_agent_symbols.data = data; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_executable_iterate_agent_symbols, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_iterate_agent_symbols, &api_data, api_callback_arg); - hsa_status_t ret = CoreApiTable_saved.hsa_executable_iterate_agent_symbols_fn(executable, agent, callback, data); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_iterate_agent_symbols, &api_data, api_callback_arg); - return ret; -} -static hsa_status_t hsa_executable_iterate_program_symbols_callback(hsa_executable_t executable, hsa_status_t (* callback)(hsa_executable_t exec, hsa_executable_symbol_t symbol, void* data), void* data) { - hsa_api_data_t api_data{}; - api_data.args.hsa_executable_iterate_program_symbols.executable = executable; - api_data.args.hsa_executable_iterate_program_symbols.callback = callback; - api_data.args.hsa_executable_iterate_program_symbols.data = data; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_executable_iterate_program_symbols, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_iterate_program_symbols, &api_data, api_callback_arg); - hsa_status_t ret = CoreApiTable_saved.hsa_executable_iterate_program_symbols_fn(executable, callback, data); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_iterate_program_symbols, &api_data, api_callback_arg); - return ret; -} - -// block: AmdExtTable API -static hsa_status_t hsa_amd_coherency_get_type_callback(hsa_agent_t agent, hsa_amd_coherency_type_t* type) { - hsa_api_data_t api_data{}; - api_data.args.hsa_amd_coherency_get_type.agent = agent; - api_data.args.hsa_amd_coherency_get_type.type = type; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_amd_coherency_get_type, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_coherency_get_type, &api_data, api_callback_arg); - hsa_status_t ret = AmdExtTable_saved.hsa_amd_coherency_get_type_fn(agent, type); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_coherency_get_type, &api_data, api_callback_arg); - return ret; -} -static hsa_status_t hsa_amd_coherency_set_type_callback(hsa_agent_t agent, hsa_amd_coherency_type_t type) { - hsa_api_data_t api_data{}; - api_data.args.hsa_amd_coherency_set_type.agent = agent; - api_data.args.hsa_amd_coherency_set_type.type = type; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_amd_coherency_set_type, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_coherency_set_type, &api_data, api_callback_arg); - hsa_status_t ret = AmdExtTable_saved.hsa_amd_coherency_set_type_fn(agent, type); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_coherency_set_type, &api_data, api_callback_arg); - return ret; -} -static hsa_status_t hsa_amd_profiling_set_profiler_enabled_callback(hsa_queue_t* queue, int enable) { - hsa_api_data_t api_data{}; - api_data.args.hsa_amd_profiling_set_profiler_enabled.queue = queue; - api_data.args.hsa_amd_profiling_set_profiler_enabled.enable = enable; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_amd_profiling_set_profiler_enabled, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_profiling_set_profiler_enabled, &api_data, api_callback_arg); - hsa_status_t ret = AmdExtTable_saved.hsa_amd_profiling_set_profiler_enabled_fn(queue, enable); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_profiling_set_profiler_enabled, &api_data, api_callback_arg); - return ret; -} -static hsa_status_t hsa_amd_profiling_async_copy_enable_callback(bool enable) { - hsa_api_data_t api_data{}; - api_data.args.hsa_amd_profiling_async_copy_enable.enable = enable; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_amd_profiling_async_copy_enable, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_profiling_async_copy_enable, &api_data, api_callback_arg); - hsa_status_t ret = AmdExtTable_saved.hsa_amd_profiling_async_copy_enable_fn(enable); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_profiling_async_copy_enable, &api_data, api_callback_arg); - return ret; -} -static hsa_status_t hsa_amd_profiling_get_dispatch_time_callback(hsa_agent_t agent, hsa_signal_t signal, hsa_amd_profiling_dispatch_time_t* time) { - hsa_api_data_t api_data{}; - api_data.args.hsa_amd_profiling_get_dispatch_time.agent = agent; - api_data.args.hsa_amd_profiling_get_dispatch_time.signal = signal; - api_data.args.hsa_amd_profiling_get_dispatch_time.time = time; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_amd_profiling_get_dispatch_time, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_profiling_get_dispatch_time, &api_data, api_callback_arg); - hsa_status_t ret = AmdExtTable_saved.hsa_amd_profiling_get_dispatch_time_fn(agent, signal, time); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_profiling_get_dispatch_time, &api_data, api_callback_arg); - return ret; -} -static hsa_status_t hsa_amd_profiling_get_async_copy_time_callback(hsa_signal_t signal, hsa_amd_profiling_async_copy_time_t* time) { - hsa_api_data_t api_data{}; - api_data.args.hsa_amd_profiling_get_async_copy_time.signal = signal; - api_data.args.hsa_amd_profiling_get_async_copy_time.time = time; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_amd_profiling_get_async_copy_time, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_profiling_get_async_copy_time, &api_data, api_callback_arg); - hsa_status_t ret = AmdExtTable_saved.hsa_amd_profiling_get_async_copy_time_fn(signal, time); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_profiling_get_async_copy_time, &api_data, api_callback_arg); - return ret; -} -static hsa_status_t hsa_amd_profiling_convert_tick_to_system_domain_callback(hsa_agent_t agent, uint64_t agent_tick, uint64_t* system_tick) { - hsa_api_data_t api_data{}; - api_data.args.hsa_amd_profiling_convert_tick_to_system_domain.agent = agent; - api_data.args.hsa_amd_profiling_convert_tick_to_system_domain.agent_tick = agent_tick; - api_data.args.hsa_amd_profiling_convert_tick_to_system_domain.system_tick = system_tick; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_amd_profiling_convert_tick_to_system_domain, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_profiling_convert_tick_to_system_domain, &api_data, api_callback_arg); - hsa_status_t ret = AmdExtTable_saved.hsa_amd_profiling_convert_tick_to_system_domain_fn(agent, agent_tick, system_tick); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_profiling_convert_tick_to_system_domain, &api_data, api_callback_arg); - return ret; -} -static hsa_status_t hsa_amd_signal_async_handler_callback(hsa_signal_t signal, hsa_signal_condition_t cond, hsa_signal_value_t value, hsa_amd_signal_handler handler, void* arg) { - hsa_api_data_t api_data{}; - api_data.args.hsa_amd_signal_async_handler.signal = signal; - api_data.args.hsa_amd_signal_async_handler.cond = cond; - api_data.args.hsa_amd_signal_async_handler.value = value; - api_data.args.hsa_amd_signal_async_handler.handler = handler; - api_data.args.hsa_amd_signal_async_handler.arg = arg; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_amd_signal_async_handler, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_signal_async_handler, &api_data, api_callback_arg); - hsa_status_t ret = AmdExtTable_saved.hsa_amd_signal_async_handler_fn(signal, cond, value, handler, arg); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_signal_async_handler, &api_data, api_callback_arg); - return ret; -} -static hsa_status_t hsa_amd_async_function_callback(void (* callback)(void* arg), void* arg) { - hsa_api_data_t api_data{}; - api_data.args.hsa_amd_async_function.callback = callback; - api_data.args.hsa_amd_async_function.arg = arg; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_amd_async_function, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_async_function, &api_data, api_callback_arg); - hsa_status_t ret = AmdExtTable_saved.hsa_amd_async_function_fn(callback, arg); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_async_function, &api_data, api_callback_arg); - return ret; -} -static uint32_t hsa_amd_signal_wait_any_callback(uint32_t signal_count, hsa_signal_t* signals, hsa_signal_condition_t* conds, hsa_signal_value_t* values, uint64_t timeout_hint, hsa_wait_state_t wait_hint, hsa_signal_value_t* satisfying_value) { - hsa_api_data_t api_data{}; - api_data.args.hsa_amd_signal_wait_any.signal_count = signal_count; - api_data.args.hsa_amd_signal_wait_any.signals = signals; - api_data.args.hsa_amd_signal_wait_any.conds = conds; - api_data.args.hsa_amd_signal_wait_any.values = values; - api_data.args.hsa_amd_signal_wait_any.timeout_hint = timeout_hint; - api_data.args.hsa_amd_signal_wait_any.wait_hint = wait_hint; - api_data.args.hsa_amd_signal_wait_any.satisfying_value = satisfying_value; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_amd_signal_wait_any, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_signal_wait_any, &api_data, api_callback_arg); - uint32_t ret = AmdExtTable_saved.hsa_amd_signal_wait_any_fn(signal_count, signals, conds, values, timeout_hint, wait_hint, satisfying_value); - api_data.uint32_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_signal_wait_any, &api_data, api_callback_arg); - return ret; -} -static hsa_status_t hsa_amd_queue_cu_set_mask_callback(const hsa_queue_t* queue, uint32_t num_cu_mask_count, const uint32_t* cu_mask) { - hsa_api_data_t api_data{}; - api_data.args.hsa_amd_queue_cu_set_mask.queue = queue; - api_data.args.hsa_amd_queue_cu_set_mask.num_cu_mask_count = num_cu_mask_count; - api_data.args.hsa_amd_queue_cu_set_mask.cu_mask = cu_mask; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_amd_queue_cu_set_mask, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_queue_cu_set_mask, &api_data, api_callback_arg); - hsa_status_t ret = AmdExtTable_saved.hsa_amd_queue_cu_set_mask_fn(queue, num_cu_mask_count, cu_mask); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_queue_cu_set_mask, &api_data, api_callback_arg); - return ret; -} -static hsa_status_t hsa_amd_memory_pool_get_info_callback(hsa_amd_memory_pool_t memory_pool, hsa_amd_memory_pool_info_t attribute, void* value) { - hsa_api_data_t api_data{}; - api_data.args.hsa_amd_memory_pool_get_info.memory_pool = memory_pool; - api_data.args.hsa_amd_memory_pool_get_info.attribute = attribute; - api_data.args.hsa_amd_memory_pool_get_info.value = value; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_amd_memory_pool_get_info, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_memory_pool_get_info, &api_data, api_callback_arg); - hsa_status_t ret = AmdExtTable_saved.hsa_amd_memory_pool_get_info_fn(memory_pool, attribute, value); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_memory_pool_get_info, &api_data, api_callback_arg); - return ret; -} -static hsa_status_t hsa_amd_agent_iterate_memory_pools_callback(hsa_agent_t agent, hsa_status_t (* callback)(hsa_amd_memory_pool_t memory_pool, void* data), void* data) { - hsa_api_data_t api_data{}; - api_data.args.hsa_amd_agent_iterate_memory_pools.agent = agent; - api_data.args.hsa_amd_agent_iterate_memory_pools.callback = callback; - api_data.args.hsa_amd_agent_iterate_memory_pools.data = data; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_amd_agent_iterate_memory_pools, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_agent_iterate_memory_pools, &api_data, api_callback_arg); - hsa_status_t ret = AmdExtTable_saved.hsa_amd_agent_iterate_memory_pools_fn(agent, callback, data); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_agent_iterate_memory_pools, &api_data, api_callback_arg); - return ret; -} -static hsa_status_t hsa_amd_memory_pool_allocate_callback(hsa_amd_memory_pool_t memory_pool, size_t size, uint32_t flags, void** ptr) { - hsa_api_data_t api_data{}; - api_data.args.hsa_amd_memory_pool_allocate.memory_pool = memory_pool; - api_data.args.hsa_amd_memory_pool_allocate.size = size; - api_data.args.hsa_amd_memory_pool_allocate.flags = flags; - api_data.args.hsa_amd_memory_pool_allocate.ptr = ptr; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_amd_memory_pool_allocate, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_memory_pool_allocate, &api_data, api_callback_arg); - hsa_status_t ret = AmdExtTable_saved.hsa_amd_memory_pool_allocate_fn(memory_pool, size, flags, ptr); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_memory_pool_allocate, &api_data, api_callback_arg); - return ret; -} -static hsa_status_t hsa_amd_memory_pool_free_callback(void* ptr) { - hsa_api_data_t api_data{}; - api_data.args.hsa_amd_memory_pool_free.ptr = ptr; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_amd_memory_pool_free, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_memory_pool_free, &api_data, api_callback_arg); - hsa_status_t ret = AmdExtTable_saved.hsa_amd_memory_pool_free_fn(ptr); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_memory_pool_free, &api_data, api_callback_arg); - return ret; -} -static hsa_status_t hsa_amd_memory_async_copy_callback(void* dst, hsa_agent_t dst_agent, const void* src, hsa_agent_t src_agent, size_t size, uint32_t num_dep_signals, const hsa_signal_t* dep_signals, hsa_signal_t completion_signal) { - hsa_api_data_t api_data{}; - api_data.args.hsa_amd_memory_async_copy.dst = dst; - api_data.args.hsa_amd_memory_async_copy.dst_agent = dst_agent; - api_data.args.hsa_amd_memory_async_copy.src = src; - api_data.args.hsa_amd_memory_async_copy.src_agent = src_agent; - api_data.args.hsa_amd_memory_async_copy.size = size; - api_data.args.hsa_amd_memory_async_copy.num_dep_signals = num_dep_signals; - api_data.args.hsa_amd_memory_async_copy.dep_signals = dep_signals; - api_data.args.hsa_amd_memory_async_copy.completion_signal = completion_signal; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_amd_memory_async_copy, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_memory_async_copy, &api_data, api_callback_arg); - hsa_status_t ret = AmdExtTable_saved.hsa_amd_memory_async_copy_fn(dst, dst_agent, src, src_agent, size, num_dep_signals, dep_signals, completion_signal); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_memory_async_copy, &api_data, api_callback_arg); - return ret; -} -static hsa_status_t hsa_amd_agent_memory_pool_get_info_callback(hsa_agent_t agent, hsa_amd_memory_pool_t memory_pool, hsa_amd_agent_memory_pool_info_t attribute, void* value) { - hsa_api_data_t api_data{}; - api_data.args.hsa_amd_agent_memory_pool_get_info.agent = agent; - api_data.args.hsa_amd_agent_memory_pool_get_info.memory_pool = memory_pool; - api_data.args.hsa_amd_agent_memory_pool_get_info.attribute = attribute; - api_data.args.hsa_amd_agent_memory_pool_get_info.value = value; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_amd_agent_memory_pool_get_info, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_agent_memory_pool_get_info, &api_data, api_callback_arg); - hsa_status_t ret = AmdExtTable_saved.hsa_amd_agent_memory_pool_get_info_fn(agent, memory_pool, attribute, value); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_agent_memory_pool_get_info, &api_data, api_callback_arg); - return ret; -} -static hsa_status_t hsa_amd_agents_allow_access_callback(uint32_t num_agents, const hsa_agent_t* agents, const uint32_t* flags, const void* ptr) { - hsa_api_data_t api_data{}; - api_data.args.hsa_amd_agents_allow_access.num_agents = num_agents; - api_data.args.hsa_amd_agents_allow_access.agents = agents; - api_data.args.hsa_amd_agents_allow_access.flags = flags; - api_data.args.hsa_amd_agents_allow_access.ptr = ptr; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_amd_agents_allow_access, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_agents_allow_access, &api_data, api_callback_arg); - hsa_status_t ret = AmdExtTable_saved.hsa_amd_agents_allow_access_fn(num_agents, agents, flags, ptr); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_agents_allow_access, &api_data, api_callback_arg); - return ret; -} -static hsa_status_t hsa_amd_memory_pool_can_migrate_callback(hsa_amd_memory_pool_t src_memory_pool, hsa_amd_memory_pool_t dst_memory_pool, bool* result) { - hsa_api_data_t api_data{}; - api_data.args.hsa_amd_memory_pool_can_migrate.src_memory_pool = src_memory_pool; - api_data.args.hsa_amd_memory_pool_can_migrate.dst_memory_pool = dst_memory_pool; - api_data.args.hsa_amd_memory_pool_can_migrate.result = result; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_amd_memory_pool_can_migrate, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_memory_pool_can_migrate, &api_data, api_callback_arg); - hsa_status_t ret = AmdExtTable_saved.hsa_amd_memory_pool_can_migrate_fn(src_memory_pool, dst_memory_pool, result); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_memory_pool_can_migrate, &api_data, api_callback_arg); - return ret; -} -static hsa_status_t hsa_amd_memory_migrate_callback(const void* ptr, hsa_amd_memory_pool_t memory_pool, uint32_t flags) { - hsa_api_data_t api_data{}; - api_data.args.hsa_amd_memory_migrate.ptr = ptr; - api_data.args.hsa_amd_memory_migrate.memory_pool = memory_pool; - api_data.args.hsa_amd_memory_migrate.flags = flags; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_amd_memory_migrate, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_memory_migrate, &api_data, api_callback_arg); - hsa_status_t ret = AmdExtTable_saved.hsa_amd_memory_migrate_fn(ptr, memory_pool, flags); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_memory_migrate, &api_data, api_callback_arg); - return ret; -} -static hsa_status_t hsa_amd_memory_lock_callback(void* host_ptr, size_t size, hsa_agent_t* agents, int num_agent, void** agent_ptr) { - hsa_api_data_t api_data{}; - api_data.args.hsa_amd_memory_lock.host_ptr = host_ptr; - api_data.args.hsa_amd_memory_lock.size = size; - api_data.args.hsa_amd_memory_lock.agents = agents; - api_data.args.hsa_amd_memory_lock.num_agent = num_agent; - api_data.args.hsa_amd_memory_lock.agent_ptr = agent_ptr; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_amd_memory_lock, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_memory_lock, &api_data, api_callback_arg); - hsa_status_t ret = AmdExtTable_saved.hsa_amd_memory_lock_fn(host_ptr, size, agents, num_agent, agent_ptr); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_memory_lock, &api_data, api_callback_arg); - return ret; -} -static hsa_status_t hsa_amd_memory_unlock_callback(void* host_ptr) { - hsa_api_data_t api_data{}; - api_data.args.hsa_amd_memory_unlock.host_ptr = host_ptr; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_amd_memory_unlock, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_memory_unlock, &api_data, api_callback_arg); - hsa_status_t ret = AmdExtTable_saved.hsa_amd_memory_unlock_fn(host_ptr); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_memory_unlock, &api_data, api_callback_arg); - return ret; -} -static hsa_status_t hsa_amd_memory_fill_callback(void* ptr, uint32_t value, size_t count) { - hsa_api_data_t api_data{}; - api_data.args.hsa_amd_memory_fill.ptr = ptr; - api_data.args.hsa_amd_memory_fill.value = value; - api_data.args.hsa_amd_memory_fill.count = count; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_amd_memory_fill, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_memory_fill, &api_data, api_callback_arg); - hsa_status_t ret = AmdExtTable_saved.hsa_amd_memory_fill_fn(ptr, value, count); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_memory_fill, &api_data, api_callback_arg); - return ret; -} -static hsa_status_t hsa_amd_interop_map_buffer_callback(uint32_t num_agents, hsa_agent_t* agents, int interop_handle, uint32_t flags, size_t* size, void** ptr, size_t* metadata_size, const void** metadata) { - hsa_api_data_t api_data{}; - api_data.args.hsa_amd_interop_map_buffer.num_agents = num_agents; - api_data.args.hsa_amd_interop_map_buffer.agents = agents; - api_data.args.hsa_amd_interop_map_buffer.interop_handle = interop_handle; - api_data.args.hsa_amd_interop_map_buffer.flags = flags; - api_data.args.hsa_amd_interop_map_buffer.size = size; - api_data.args.hsa_amd_interop_map_buffer.ptr = ptr; - api_data.args.hsa_amd_interop_map_buffer.metadata_size = metadata_size; - api_data.args.hsa_amd_interop_map_buffer.metadata = metadata; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_amd_interop_map_buffer, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_interop_map_buffer, &api_data, api_callback_arg); - hsa_status_t ret = AmdExtTable_saved.hsa_amd_interop_map_buffer_fn(num_agents, agents, interop_handle, flags, size, ptr, metadata_size, metadata); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_interop_map_buffer, &api_data, api_callback_arg); - return ret; -} -static hsa_status_t hsa_amd_interop_unmap_buffer_callback(void* ptr) { - hsa_api_data_t api_data{}; - api_data.args.hsa_amd_interop_unmap_buffer.ptr = ptr; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_amd_interop_unmap_buffer, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_interop_unmap_buffer, &api_data, api_callback_arg); - hsa_status_t ret = AmdExtTable_saved.hsa_amd_interop_unmap_buffer_fn(ptr); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_interop_unmap_buffer, &api_data, api_callback_arg); - return ret; -} -static hsa_status_t hsa_amd_image_create_callback(hsa_agent_t agent, const hsa_ext_image_descriptor_t* image_descriptor, const hsa_amd_image_descriptor_t* image_layout, const void* image_data, hsa_access_permission_t access_permission, hsa_ext_image_t* image) { - hsa_api_data_t api_data{}; - api_data.args.hsa_amd_image_create.agent = agent; - api_data.args.hsa_amd_image_create.image_descriptor = image_descriptor; - api_data.args.hsa_amd_image_create.image_layout = image_layout; - api_data.args.hsa_amd_image_create.image_data = image_data; - api_data.args.hsa_amd_image_create.access_permission = access_permission; - api_data.args.hsa_amd_image_create.image = image; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_amd_image_create, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_image_create, &api_data, api_callback_arg); - hsa_status_t ret = AmdExtTable_saved.hsa_amd_image_create_fn(agent, image_descriptor, image_layout, image_data, access_permission, image); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_image_create, &api_data, api_callback_arg); - return ret; -} -static hsa_status_t hsa_amd_pointer_info_callback(void* ptr, hsa_amd_pointer_info_t* info, void* (* alloc)(size_t), uint32_t* num_agents_accessible, hsa_agent_t** accessible) { - hsa_api_data_t api_data{}; - api_data.args.hsa_amd_pointer_info.ptr = ptr; - api_data.args.hsa_amd_pointer_info.info = info; - api_data.args.hsa_amd_pointer_info.alloc = alloc; - api_data.args.hsa_amd_pointer_info.num_agents_accessible = num_agents_accessible; - api_data.args.hsa_amd_pointer_info.accessible = accessible; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_amd_pointer_info, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_pointer_info, &api_data, api_callback_arg); - hsa_status_t ret = AmdExtTable_saved.hsa_amd_pointer_info_fn(ptr, info, alloc, num_agents_accessible, accessible); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_pointer_info, &api_data, api_callback_arg); - return ret; -} -static hsa_status_t hsa_amd_pointer_info_set_userdata_callback(void* ptr, void* userdata) { - hsa_api_data_t api_data{}; - api_data.args.hsa_amd_pointer_info_set_userdata.ptr = ptr; - api_data.args.hsa_amd_pointer_info_set_userdata.userdata = userdata; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_amd_pointer_info_set_userdata, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_pointer_info_set_userdata, &api_data, api_callback_arg); - hsa_status_t ret = AmdExtTable_saved.hsa_amd_pointer_info_set_userdata_fn(ptr, userdata); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_pointer_info_set_userdata, &api_data, api_callback_arg); - return ret; -} -static hsa_status_t hsa_amd_ipc_memory_create_callback(void* ptr, size_t len, hsa_amd_ipc_memory_t* handle) { - hsa_api_data_t api_data{}; - api_data.args.hsa_amd_ipc_memory_create.ptr = ptr; - api_data.args.hsa_amd_ipc_memory_create.len = len; - api_data.args.hsa_amd_ipc_memory_create.handle = handle; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_amd_ipc_memory_create, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_ipc_memory_create, &api_data, api_callback_arg); - hsa_status_t ret = AmdExtTable_saved.hsa_amd_ipc_memory_create_fn(ptr, len, handle); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_ipc_memory_create, &api_data, api_callback_arg); - return ret; -} -static hsa_status_t hsa_amd_ipc_memory_attach_callback(const hsa_amd_ipc_memory_t* handle, size_t len, uint32_t num_agents, const hsa_agent_t* mapping_agents, void** mapped_ptr) { - hsa_api_data_t api_data{}; - api_data.args.hsa_amd_ipc_memory_attach.handle = handle; - api_data.args.hsa_amd_ipc_memory_attach.len = len; - api_data.args.hsa_amd_ipc_memory_attach.num_agents = num_agents; - api_data.args.hsa_amd_ipc_memory_attach.mapping_agents = mapping_agents; - api_data.args.hsa_amd_ipc_memory_attach.mapped_ptr = mapped_ptr; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_amd_ipc_memory_attach, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_ipc_memory_attach, &api_data, api_callback_arg); - hsa_status_t ret = AmdExtTable_saved.hsa_amd_ipc_memory_attach_fn(handle, len, num_agents, mapping_agents, mapped_ptr); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_ipc_memory_attach, &api_data, api_callback_arg); - return ret; -} -static hsa_status_t hsa_amd_ipc_memory_detach_callback(void* mapped_ptr) { - hsa_api_data_t api_data{}; - api_data.args.hsa_amd_ipc_memory_detach.mapped_ptr = mapped_ptr; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_amd_ipc_memory_detach, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_ipc_memory_detach, &api_data, api_callback_arg); - hsa_status_t ret = AmdExtTable_saved.hsa_amd_ipc_memory_detach_fn(mapped_ptr); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_ipc_memory_detach, &api_data, api_callback_arg); - return ret; -} -static hsa_status_t hsa_amd_signal_create_callback(hsa_signal_value_t initial_value, uint32_t num_consumers, const hsa_agent_t* consumers, uint64_t attributes, hsa_signal_t* signal) { - hsa_api_data_t api_data{}; - api_data.args.hsa_amd_signal_create.initial_value = initial_value; - api_data.args.hsa_amd_signal_create.num_consumers = num_consumers; - api_data.args.hsa_amd_signal_create.consumers = consumers; - api_data.args.hsa_amd_signal_create.attributes = attributes; - api_data.args.hsa_amd_signal_create.signal = signal; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_amd_signal_create, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_signal_create, &api_data, api_callback_arg); - hsa_status_t ret = AmdExtTable_saved.hsa_amd_signal_create_fn(initial_value, num_consumers, consumers, attributes, signal); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_signal_create, &api_data, api_callback_arg); - return ret; -} -static hsa_status_t hsa_amd_ipc_signal_create_callback(hsa_signal_t signal, hsa_amd_ipc_signal_t* handle) { - hsa_api_data_t api_data{}; - api_data.args.hsa_amd_ipc_signal_create.signal = signal; - api_data.args.hsa_amd_ipc_signal_create.handle = handle; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_amd_ipc_signal_create, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_ipc_signal_create, &api_data, api_callback_arg); - hsa_status_t ret = AmdExtTable_saved.hsa_amd_ipc_signal_create_fn(signal, handle); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_ipc_signal_create, &api_data, api_callback_arg); - return ret; -} -static hsa_status_t hsa_amd_ipc_signal_attach_callback(const hsa_amd_ipc_signal_t* handle, hsa_signal_t* signal) { - hsa_api_data_t api_data{}; - api_data.args.hsa_amd_ipc_signal_attach.handle = handle; - api_data.args.hsa_amd_ipc_signal_attach.signal = signal; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_amd_ipc_signal_attach, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_ipc_signal_attach, &api_data, api_callback_arg); - hsa_status_t ret = AmdExtTable_saved.hsa_amd_ipc_signal_attach_fn(handle, signal); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_ipc_signal_attach, &api_data, api_callback_arg); - return ret; -} -static hsa_status_t hsa_amd_register_system_event_handler_callback(hsa_amd_system_event_callback_t callback, void* data) { - hsa_api_data_t api_data{}; - api_data.args.hsa_amd_register_system_event_handler.callback = callback; - api_data.args.hsa_amd_register_system_event_handler.data = data; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_amd_register_system_event_handler, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_register_system_event_handler, &api_data, api_callback_arg); - hsa_status_t ret = AmdExtTable_saved.hsa_amd_register_system_event_handler_fn(callback, data); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_register_system_event_handler, &api_data, api_callback_arg); - return ret; -} -static hsa_status_t hsa_amd_queue_intercept_create_callback(hsa_agent_t agent_handle, uint32_t size, hsa_queue_type32_t type, void (* callback)(hsa_status_t status, hsa_queue_t* source, void* data), void* data, uint32_t private_segment_size, uint32_t group_segment_size, hsa_queue_t** queue) { - hsa_api_data_t api_data{}; - api_data.args.hsa_amd_queue_intercept_create.agent_handle = agent_handle; - api_data.args.hsa_amd_queue_intercept_create.size = size; - api_data.args.hsa_amd_queue_intercept_create.type = type; - api_data.args.hsa_amd_queue_intercept_create.callback = callback; - api_data.args.hsa_amd_queue_intercept_create.data = data; - api_data.args.hsa_amd_queue_intercept_create.private_segment_size = private_segment_size; - api_data.args.hsa_amd_queue_intercept_create.group_segment_size = group_segment_size; - api_data.args.hsa_amd_queue_intercept_create.queue = queue; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_amd_queue_intercept_create, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_queue_intercept_create, &api_data, api_callback_arg); - hsa_status_t ret = AmdExtTable_saved.hsa_amd_queue_intercept_create_fn(agent_handle, size, type, callback, data, private_segment_size, group_segment_size, queue); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_queue_intercept_create, &api_data, api_callback_arg); - return ret; -} -static hsa_status_t hsa_amd_queue_intercept_register_callback(hsa_queue_t* queue, hsa_amd_queue_intercept_handler callback, void* user_data) { - hsa_api_data_t api_data{}; - api_data.args.hsa_amd_queue_intercept_register.queue = queue; - api_data.args.hsa_amd_queue_intercept_register.callback = callback; - api_data.args.hsa_amd_queue_intercept_register.user_data = user_data; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_amd_queue_intercept_register, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_queue_intercept_register, &api_data, api_callback_arg); - hsa_status_t ret = AmdExtTable_saved.hsa_amd_queue_intercept_register_fn(queue, callback, user_data); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_queue_intercept_register, &api_data, api_callback_arg); - return ret; -} -static hsa_status_t hsa_amd_queue_set_priority_callback(hsa_queue_t* queue, hsa_amd_queue_priority_t priority) { - hsa_api_data_t api_data{}; - api_data.args.hsa_amd_queue_set_priority.queue = queue; - api_data.args.hsa_amd_queue_set_priority.priority = priority; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_amd_queue_set_priority, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_queue_set_priority, &api_data, api_callback_arg); - hsa_status_t ret = AmdExtTable_saved.hsa_amd_queue_set_priority_fn(queue, priority); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_queue_set_priority, &api_data, api_callback_arg); - return ret; -} -static hsa_status_t hsa_amd_memory_async_copy_rect_callback(const hsa_pitched_ptr_t* dst, const hsa_dim3_t* dst_offset, const hsa_pitched_ptr_t* src, const hsa_dim3_t* src_offset, const hsa_dim3_t* range, hsa_agent_t copy_agent, hsa_amd_copy_direction_t dir, uint32_t num_dep_signals, const hsa_signal_t* dep_signals, hsa_signal_t completion_signal) { - hsa_api_data_t api_data{}; - api_data.args.hsa_amd_memory_async_copy_rect.dst = dst; - api_data.args.hsa_amd_memory_async_copy_rect.dst_offset = dst_offset; - api_data.args.hsa_amd_memory_async_copy_rect.src = src; - api_data.args.hsa_amd_memory_async_copy_rect.src_offset = src_offset; - api_data.args.hsa_amd_memory_async_copy_rect.range = range; - api_data.args.hsa_amd_memory_async_copy_rect.copy_agent = copy_agent; - api_data.args.hsa_amd_memory_async_copy_rect.dir = dir; - api_data.args.hsa_amd_memory_async_copy_rect.num_dep_signals = num_dep_signals; - api_data.args.hsa_amd_memory_async_copy_rect.dep_signals = dep_signals; - api_data.args.hsa_amd_memory_async_copy_rect.completion_signal = completion_signal; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_amd_memory_async_copy_rect, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_memory_async_copy_rect, &api_data, api_callback_arg); - hsa_status_t ret = AmdExtTable_saved.hsa_amd_memory_async_copy_rect_fn(dst, dst_offset, src, src_offset, range, copy_agent, dir, num_dep_signals, dep_signals, completion_signal); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_memory_async_copy_rect, &api_data, api_callback_arg); - return ret; -} -static hsa_status_t hsa_amd_runtime_queue_create_register_callback(hsa_amd_runtime_queue_notifier callback, void* user_data) { - hsa_api_data_t api_data{}; - api_data.args.hsa_amd_runtime_queue_create_register.callback = callback; - api_data.args.hsa_amd_runtime_queue_create_register.user_data = user_data; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_amd_runtime_queue_create_register, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_runtime_queue_create_register, &api_data, api_callback_arg); - hsa_status_t ret = AmdExtTable_saved.hsa_amd_runtime_queue_create_register_fn(callback, user_data); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_runtime_queue_create_register, &api_data, api_callback_arg); - return ret; -} - -// block: ImageExtTable API -static hsa_status_t hsa_ext_image_get_capability_callback(hsa_agent_t agent, hsa_ext_image_geometry_t geometry, const hsa_ext_image_format_t* image_format, uint32_t* capability_mask) { - hsa_api_data_t api_data{}; - api_data.args.hsa_ext_image_get_capability.agent = agent; - api_data.args.hsa_ext_image_get_capability.geometry = geometry; - api_data.args.hsa_ext_image_get_capability.image_format = image_format; - api_data.args.hsa_ext_image_get_capability.capability_mask = capability_mask; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_ext_image_get_capability, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_ext_image_get_capability, &api_data, api_callback_arg); - hsa_status_t ret = ImageExtTable_saved.hsa_ext_image_get_capability_fn(agent, geometry, image_format, capability_mask); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_ext_image_get_capability, &api_data, api_callback_arg); - return ret; -} -static hsa_status_t hsa_ext_image_data_get_info_callback(hsa_agent_t agent, const hsa_ext_image_descriptor_t* image_descriptor, hsa_access_permission_t access_permission, hsa_ext_image_data_info_t* image_data_info) { - hsa_api_data_t api_data{}; - api_data.args.hsa_ext_image_data_get_info.agent = agent; - api_data.args.hsa_ext_image_data_get_info.image_descriptor = image_descriptor; - api_data.args.hsa_ext_image_data_get_info.access_permission = access_permission; - api_data.args.hsa_ext_image_data_get_info.image_data_info = image_data_info; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_ext_image_data_get_info, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_ext_image_data_get_info, &api_data, api_callback_arg); - hsa_status_t ret = ImageExtTable_saved.hsa_ext_image_data_get_info_fn(agent, image_descriptor, access_permission, image_data_info); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_ext_image_data_get_info, &api_data, api_callback_arg); - return ret; -} -static hsa_status_t hsa_ext_image_create_callback(hsa_agent_t agent, const hsa_ext_image_descriptor_t* image_descriptor, const void* image_data, hsa_access_permission_t access_permission, hsa_ext_image_t* image) { - hsa_api_data_t api_data{}; - api_data.args.hsa_ext_image_create.agent = agent; - api_data.args.hsa_ext_image_create.image_descriptor = image_descriptor; - api_data.args.hsa_ext_image_create.image_data = image_data; - api_data.args.hsa_ext_image_create.access_permission = access_permission; - api_data.args.hsa_ext_image_create.image = image; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_ext_image_create, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_ext_image_create, &api_data, api_callback_arg); - hsa_status_t ret = ImageExtTable_saved.hsa_ext_image_create_fn(agent, image_descriptor, image_data, access_permission, image); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_ext_image_create, &api_data, api_callback_arg); - return ret; -} -static hsa_status_t hsa_ext_image_import_callback(hsa_agent_t agent, const void* src_memory, size_t src_row_pitch, size_t src_slice_pitch, hsa_ext_image_t dst_image, const hsa_ext_image_region_t* image_region) { - hsa_api_data_t api_data{}; - api_data.args.hsa_ext_image_import.agent = agent; - api_data.args.hsa_ext_image_import.src_memory = src_memory; - api_data.args.hsa_ext_image_import.src_row_pitch = src_row_pitch; - api_data.args.hsa_ext_image_import.src_slice_pitch = src_slice_pitch; - api_data.args.hsa_ext_image_import.dst_image = dst_image; - api_data.args.hsa_ext_image_import.image_region = image_region; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_ext_image_import, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_ext_image_import, &api_data, api_callback_arg); - hsa_status_t ret = ImageExtTable_saved.hsa_ext_image_import_fn(agent, src_memory, src_row_pitch, src_slice_pitch, dst_image, image_region); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_ext_image_import, &api_data, api_callback_arg); - return ret; -} -static hsa_status_t hsa_ext_image_export_callback(hsa_agent_t agent, hsa_ext_image_t src_image, void* dst_memory, size_t dst_row_pitch, size_t dst_slice_pitch, const hsa_ext_image_region_t* image_region) { - hsa_api_data_t api_data{}; - api_data.args.hsa_ext_image_export.agent = agent; - api_data.args.hsa_ext_image_export.src_image = src_image; - api_data.args.hsa_ext_image_export.dst_memory = dst_memory; - api_data.args.hsa_ext_image_export.dst_row_pitch = dst_row_pitch; - api_data.args.hsa_ext_image_export.dst_slice_pitch = dst_slice_pitch; - api_data.args.hsa_ext_image_export.image_region = image_region; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_ext_image_export, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_ext_image_export, &api_data, api_callback_arg); - hsa_status_t ret = ImageExtTable_saved.hsa_ext_image_export_fn(agent, src_image, dst_memory, dst_row_pitch, dst_slice_pitch, image_region); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_ext_image_export, &api_data, api_callback_arg); - return ret; -} -static hsa_status_t hsa_ext_image_copy_callback(hsa_agent_t agent, hsa_ext_image_t src_image, const hsa_dim3_t* src_offset, hsa_ext_image_t dst_image, const hsa_dim3_t* dst_offset, const hsa_dim3_t* range) { - hsa_api_data_t api_data{}; - api_data.args.hsa_ext_image_copy.agent = agent; - api_data.args.hsa_ext_image_copy.src_image = src_image; - api_data.args.hsa_ext_image_copy.src_offset = src_offset; - api_data.args.hsa_ext_image_copy.dst_image = dst_image; - api_data.args.hsa_ext_image_copy.dst_offset = dst_offset; - api_data.args.hsa_ext_image_copy.range = range; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_ext_image_copy, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_ext_image_copy, &api_data, api_callback_arg); - hsa_status_t ret = ImageExtTable_saved.hsa_ext_image_copy_fn(agent, src_image, src_offset, dst_image, dst_offset, range); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_ext_image_copy, &api_data, api_callback_arg); - return ret; -} -static hsa_status_t hsa_ext_image_clear_callback(hsa_agent_t agent, hsa_ext_image_t image, const void* data, const hsa_ext_image_region_t* image_region) { - hsa_api_data_t api_data{}; - api_data.args.hsa_ext_image_clear.agent = agent; - api_data.args.hsa_ext_image_clear.image = image; - api_data.args.hsa_ext_image_clear.data = data; - api_data.args.hsa_ext_image_clear.image_region = image_region; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_ext_image_clear, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_ext_image_clear, &api_data, api_callback_arg); - hsa_status_t ret = ImageExtTable_saved.hsa_ext_image_clear_fn(agent, image, data, image_region); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_ext_image_clear, &api_data, api_callback_arg); - return ret; -} -static hsa_status_t hsa_ext_image_destroy_callback(hsa_agent_t agent, hsa_ext_image_t image) { - hsa_api_data_t api_data{}; - api_data.args.hsa_ext_image_destroy.agent = agent; - api_data.args.hsa_ext_image_destroy.image = image; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_ext_image_destroy, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_ext_image_destroy, &api_data, api_callback_arg); - hsa_status_t ret = ImageExtTable_saved.hsa_ext_image_destroy_fn(agent, image); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_ext_image_destroy, &api_data, api_callback_arg); - return ret; -} -static hsa_status_t hsa_ext_sampler_create_callback(hsa_agent_t agent, const hsa_ext_sampler_descriptor_t* sampler_descriptor, hsa_ext_sampler_t* sampler) { - hsa_api_data_t api_data{}; - api_data.args.hsa_ext_sampler_create.agent = agent; - api_data.args.hsa_ext_sampler_create.sampler_descriptor = sampler_descriptor; - api_data.args.hsa_ext_sampler_create.sampler = sampler; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_ext_sampler_create, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_ext_sampler_create, &api_data, api_callback_arg); - hsa_status_t ret = ImageExtTable_saved.hsa_ext_sampler_create_fn(agent, sampler_descriptor, sampler); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_ext_sampler_create, &api_data, api_callback_arg); - return ret; -} -static hsa_status_t hsa_ext_sampler_destroy_callback(hsa_agent_t agent, hsa_ext_sampler_t sampler) { - hsa_api_data_t api_data{}; - api_data.args.hsa_ext_sampler_destroy.agent = agent; - api_data.args.hsa_ext_sampler_destroy.sampler = sampler; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_ext_sampler_destroy, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_ext_sampler_destroy, &api_data, api_callback_arg); - hsa_status_t ret = ImageExtTable_saved.hsa_ext_sampler_destroy_fn(agent, sampler); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_ext_sampler_destroy, &api_data, api_callback_arg); - return ret; -} -static hsa_status_t hsa_ext_image_get_capability_with_layout_callback(hsa_agent_t agent, hsa_ext_image_geometry_t geometry, const hsa_ext_image_format_t* image_format, hsa_ext_image_data_layout_t image_data_layout, uint32_t* capability_mask) { - hsa_api_data_t api_data{}; - api_data.args.hsa_ext_image_get_capability_with_layout.agent = agent; - api_data.args.hsa_ext_image_get_capability_with_layout.geometry = geometry; - api_data.args.hsa_ext_image_get_capability_with_layout.image_format = image_format; - api_data.args.hsa_ext_image_get_capability_with_layout.image_data_layout = image_data_layout; - api_data.args.hsa_ext_image_get_capability_with_layout.capability_mask = capability_mask; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_ext_image_get_capability_with_layout, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_ext_image_get_capability_with_layout, &api_data, api_callback_arg); - hsa_status_t ret = ImageExtTable_saved.hsa_ext_image_get_capability_with_layout_fn(agent, geometry, image_format, image_data_layout, capability_mask); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_ext_image_get_capability_with_layout, &api_data, api_callback_arg); - return ret; -} -static hsa_status_t hsa_ext_image_data_get_info_with_layout_callback(hsa_agent_t agent, const hsa_ext_image_descriptor_t* image_descriptor, hsa_access_permission_t access_permission, hsa_ext_image_data_layout_t image_data_layout, size_t image_data_row_pitch, size_t image_data_slice_pitch, hsa_ext_image_data_info_t* image_data_info) { - hsa_api_data_t api_data{}; - api_data.args.hsa_ext_image_data_get_info_with_layout.agent = agent; - api_data.args.hsa_ext_image_data_get_info_with_layout.image_descriptor = image_descriptor; - api_data.args.hsa_ext_image_data_get_info_with_layout.access_permission = access_permission; - api_data.args.hsa_ext_image_data_get_info_with_layout.image_data_layout = image_data_layout; - api_data.args.hsa_ext_image_data_get_info_with_layout.image_data_row_pitch = image_data_row_pitch; - api_data.args.hsa_ext_image_data_get_info_with_layout.image_data_slice_pitch = image_data_slice_pitch; - api_data.args.hsa_ext_image_data_get_info_with_layout.image_data_info = image_data_info; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_ext_image_data_get_info_with_layout, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_ext_image_data_get_info_with_layout, &api_data, api_callback_arg); - hsa_status_t ret = ImageExtTable_saved.hsa_ext_image_data_get_info_with_layout_fn(agent, image_descriptor, access_permission, image_data_layout, image_data_row_pitch, image_data_slice_pitch, image_data_info); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_ext_image_data_get_info_with_layout, &api_data, api_callback_arg); - return ret; -} -static hsa_status_t hsa_ext_image_create_with_layout_callback(hsa_agent_t agent, const hsa_ext_image_descriptor_t* image_descriptor, const void* image_data, hsa_access_permission_t access_permission, hsa_ext_image_data_layout_t image_data_layout, size_t image_data_row_pitch, size_t image_data_slice_pitch, hsa_ext_image_t* image) { - hsa_api_data_t api_data{}; - api_data.args.hsa_ext_image_create_with_layout.agent = agent; - api_data.args.hsa_ext_image_create_with_layout.image_descriptor = image_descriptor; - api_data.args.hsa_ext_image_create_with_layout.image_data = image_data; - api_data.args.hsa_ext_image_create_with_layout.access_permission = access_permission; - api_data.args.hsa_ext_image_create_with_layout.image_data_layout = image_data_layout; - api_data.args.hsa_ext_image_create_with_layout.image_data_row_pitch = image_data_row_pitch; - api_data.args.hsa_ext_image_create_with_layout.image_data_slice_pitch = image_data_slice_pitch; - api_data.args.hsa_ext_image_create_with_layout.image = image; - activity_rtapi_callback_t api_callback_fun = NULL; - void* api_callback_arg = NULL; - cb_table.get(HSA_API_ID_hsa_ext_image_create_with_layout, &api_callback_fun, &api_callback_arg); - api_data.phase = 0; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_ext_image_create_with_layout, &api_data, api_callback_arg); - hsa_status_t ret = ImageExtTable_saved.hsa_ext_image_create_with_layout_fn(agent, image_descriptor, image_data, access_permission, image_data_layout, image_data_row_pitch, image_data_slice_pitch, image); - api_data.hsa_status_t_retval = ret; - api_data.phase = 1; - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_ext_image_create_with_layout, &api_data, api_callback_arg); - return ret; -} - -// section: API intercepting code - -// block: CoreApiTable API -static void intercept_CoreApiTable(CoreApiTable* table) { - CoreApiTable_saved = *table; - table->hsa_init_fn = hsa_init_callback; - table->hsa_shut_down_fn = hsa_shut_down_callback; - table->hsa_system_get_info_fn = hsa_system_get_info_callback; - table->hsa_system_extension_supported_fn = hsa_system_extension_supported_callback; - table->hsa_system_get_extension_table_fn = hsa_system_get_extension_table_callback; - table->hsa_iterate_agents_fn = hsa_iterate_agents_callback; - table->hsa_agent_get_info_fn = hsa_agent_get_info_callback; - table->hsa_queue_create_fn = hsa_queue_create_callback; - table->hsa_soft_queue_create_fn = hsa_soft_queue_create_callback; - table->hsa_queue_destroy_fn = hsa_queue_destroy_callback; - table->hsa_queue_inactivate_fn = hsa_queue_inactivate_callback; - table->hsa_queue_load_read_index_scacquire_fn = hsa_queue_load_read_index_scacquire_callback; - table->hsa_queue_load_read_index_relaxed_fn = hsa_queue_load_read_index_relaxed_callback; - table->hsa_queue_load_write_index_scacquire_fn = hsa_queue_load_write_index_scacquire_callback; - table->hsa_queue_load_write_index_relaxed_fn = hsa_queue_load_write_index_relaxed_callback; - table->hsa_queue_store_write_index_relaxed_fn = hsa_queue_store_write_index_relaxed_callback; - table->hsa_queue_store_write_index_screlease_fn = hsa_queue_store_write_index_screlease_callback; - table->hsa_queue_cas_write_index_scacq_screl_fn = hsa_queue_cas_write_index_scacq_screl_callback; - table->hsa_queue_cas_write_index_scacquire_fn = hsa_queue_cas_write_index_scacquire_callback; - table->hsa_queue_cas_write_index_relaxed_fn = hsa_queue_cas_write_index_relaxed_callback; - table->hsa_queue_cas_write_index_screlease_fn = hsa_queue_cas_write_index_screlease_callback; - table->hsa_queue_add_write_index_scacq_screl_fn = hsa_queue_add_write_index_scacq_screl_callback; - table->hsa_queue_add_write_index_scacquire_fn = hsa_queue_add_write_index_scacquire_callback; - table->hsa_queue_add_write_index_relaxed_fn = hsa_queue_add_write_index_relaxed_callback; - table->hsa_queue_add_write_index_screlease_fn = hsa_queue_add_write_index_screlease_callback; - table->hsa_queue_store_read_index_relaxed_fn = hsa_queue_store_read_index_relaxed_callback; - table->hsa_queue_store_read_index_screlease_fn = hsa_queue_store_read_index_screlease_callback; - table->hsa_agent_iterate_regions_fn = hsa_agent_iterate_regions_callback; - table->hsa_region_get_info_fn = hsa_region_get_info_callback; - table->hsa_agent_get_exception_policies_fn = hsa_agent_get_exception_policies_callback; - table->hsa_agent_extension_supported_fn = hsa_agent_extension_supported_callback; - table->hsa_memory_register_fn = hsa_memory_register_callback; - table->hsa_memory_deregister_fn = hsa_memory_deregister_callback; - table->hsa_memory_allocate_fn = hsa_memory_allocate_callback; - table->hsa_memory_free_fn = hsa_memory_free_callback; - table->hsa_memory_copy_fn = hsa_memory_copy_callback; - table->hsa_memory_assign_agent_fn = hsa_memory_assign_agent_callback; - table->hsa_signal_create_fn = hsa_signal_create_callback; - table->hsa_signal_destroy_fn = hsa_signal_destroy_callback; - table->hsa_signal_load_relaxed_fn = hsa_signal_load_relaxed_callback; - table->hsa_signal_load_scacquire_fn = hsa_signal_load_scacquire_callback; - table->hsa_signal_store_relaxed_fn = hsa_signal_store_relaxed_callback; - table->hsa_signal_store_screlease_fn = hsa_signal_store_screlease_callback; - table->hsa_signal_wait_relaxed_fn = hsa_signal_wait_relaxed_callback; - table->hsa_signal_wait_scacquire_fn = hsa_signal_wait_scacquire_callback; - table->hsa_signal_and_relaxed_fn = hsa_signal_and_relaxed_callback; - table->hsa_signal_and_scacquire_fn = hsa_signal_and_scacquire_callback; - table->hsa_signal_and_screlease_fn = hsa_signal_and_screlease_callback; - table->hsa_signal_and_scacq_screl_fn = hsa_signal_and_scacq_screl_callback; - table->hsa_signal_or_relaxed_fn = hsa_signal_or_relaxed_callback; - table->hsa_signal_or_scacquire_fn = hsa_signal_or_scacquire_callback; - table->hsa_signal_or_screlease_fn = hsa_signal_or_screlease_callback; - table->hsa_signal_or_scacq_screl_fn = hsa_signal_or_scacq_screl_callback; - table->hsa_signal_xor_relaxed_fn = hsa_signal_xor_relaxed_callback; - table->hsa_signal_xor_scacquire_fn = hsa_signal_xor_scacquire_callback; - table->hsa_signal_xor_screlease_fn = hsa_signal_xor_screlease_callback; - table->hsa_signal_xor_scacq_screl_fn = hsa_signal_xor_scacq_screl_callback; - table->hsa_signal_exchange_relaxed_fn = hsa_signal_exchange_relaxed_callback; - table->hsa_signal_exchange_scacquire_fn = hsa_signal_exchange_scacquire_callback; - table->hsa_signal_exchange_screlease_fn = hsa_signal_exchange_screlease_callback; - table->hsa_signal_exchange_scacq_screl_fn = hsa_signal_exchange_scacq_screl_callback; - table->hsa_signal_add_relaxed_fn = hsa_signal_add_relaxed_callback; - table->hsa_signal_add_scacquire_fn = hsa_signal_add_scacquire_callback; - table->hsa_signal_add_screlease_fn = hsa_signal_add_screlease_callback; - table->hsa_signal_add_scacq_screl_fn = hsa_signal_add_scacq_screl_callback; - table->hsa_signal_subtract_relaxed_fn = hsa_signal_subtract_relaxed_callback; - table->hsa_signal_subtract_scacquire_fn = hsa_signal_subtract_scacquire_callback; - table->hsa_signal_subtract_screlease_fn = hsa_signal_subtract_screlease_callback; - table->hsa_signal_subtract_scacq_screl_fn = hsa_signal_subtract_scacq_screl_callback; - table->hsa_signal_cas_relaxed_fn = hsa_signal_cas_relaxed_callback; - table->hsa_signal_cas_scacquire_fn = hsa_signal_cas_scacquire_callback; - table->hsa_signal_cas_screlease_fn = hsa_signal_cas_screlease_callback; - table->hsa_signal_cas_scacq_screl_fn = hsa_signal_cas_scacq_screl_callback; - table->hsa_isa_from_name_fn = hsa_isa_from_name_callback; - table->hsa_isa_get_info_fn = hsa_isa_get_info_callback; - table->hsa_isa_compatible_fn = hsa_isa_compatible_callback; - table->hsa_code_object_serialize_fn = hsa_code_object_serialize_callback; - table->hsa_code_object_deserialize_fn = hsa_code_object_deserialize_callback; - table->hsa_code_object_destroy_fn = hsa_code_object_destroy_callback; - table->hsa_code_object_get_info_fn = hsa_code_object_get_info_callback; - table->hsa_code_object_get_symbol_fn = hsa_code_object_get_symbol_callback; - table->hsa_code_symbol_get_info_fn = hsa_code_symbol_get_info_callback; - table->hsa_code_object_iterate_symbols_fn = hsa_code_object_iterate_symbols_callback; - table->hsa_executable_create_fn = hsa_executable_create_callback; - table->hsa_executable_destroy_fn = hsa_executable_destroy_callback; - table->hsa_executable_load_code_object_fn = hsa_executable_load_code_object_callback; - table->hsa_executable_freeze_fn = hsa_executable_freeze_callback; - table->hsa_executable_get_info_fn = hsa_executable_get_info_callback; - table->hsa_executable_global_variable_define_fn = hsa_executable_global_variable_define_callback; - table->hsa_executable_agent_global_variable_define_fn = hsa_executable_agent_global_variable_define_callback; - table->hsa_executable_readonly_variable_define_fn = hsa_executable_readonly_variable_define_callback; - table->hsa_executable_validate_fn = hsa_executable_validate_callback; - table->hsa_executable_get_symbol_fn = hsa_executable_get_symbol_callback; - table->hsa_executable_symbol_get_info_fn = hsa_executable_symbol_get_info_callback; - table->hsa_executable_iterate_symbols_fn = hsa_executable_iterate_symbols_callback; - table->hsa_status_string_fn = hsa_status_string_callback; - table->hsa_extension_get_name_fn = hsa_extension_get_name_callback; - table->hsa_system_major_extension_supported_fn = hsa_system_major_extension_supported_callback; - table->hsa_system_get_major_extension_table_fn = hsa_system_get_major_extension_table_callback; - table->hsa_agent_major_extension_supported_fn = hsa_agent_major_extension_supported_callback; - table->hsa_cache_get_info_fn = hsa_cache_get_info_callback; - table->hsa_agent_iterate_caches_fn = hsa_agent_iterate_caches_callback; - table->hsa_signal_silent_store_relaxed_fn = hsa_signal_silent_store_relaxed_callback; - table->hsa_signal_silent_store_screlease_fn = hsa_signal_silent_store_screlease_callback; - table->hsa_signal_group_create_fn = hsa_signal_group_create_callback; - table->hsa_signal_group_destroy_fn = hsa_signal_group_destroy_callback; - table->hsa_signal_group_wait_any_scacquire_fn = hsa_signal_group_wait_any_scacquire_callback; - table->hsa_signal_group_wait_any_relaxed_fn = hsa_signal_group_wait_any_relaxed_callback; - table->hsa_agent_iterate_isas_fn = hsa_agent_iterate_isas_callback; - table->hsa_isa_get_info_alt_fn = hsa_isa_get_info_alt_callback; - table->hsa_isa_get_exception_policies_fn = hsa_isa_get_exception_policies_callback; - table->hsa_isa_get_round_method_fn = hsa_isa_get_round_method_callback; - table->hsa_wavefront_get_info_fn = hsa_wavefront_get_info_callback; - table->hsa_isa_iterate_wavefronts_fn = hsa_isa_iterate_wavefronts_callback; - table->hsa_code_object_get_symbol_from_name_fn = hsa_code_object_get_symbol_from_name_callback; - table->hsa_code_object_reader_create_from_file_fn = hsa_code_object_reader_create_from_file_callback; - table->hsa_code_object_reader_create_from_memory_fn = hsa_code_object_reader_create_from_memory_callback; - table->hsa_code_object_reader_destroy_fn = hsa_code_object_reader_destroy_callback; - table->hsa_executable_create_alt_fn = hsa_executable_create_alt_callback; - table->hsa_executable_load_program_code_object_fn = hsa_executable_load_program_code_object_callback; - table->hsa_executable_load_agent_code_object_fn = hsa_executable_load_agent_code_object_callback; - table->hsa_executable_validate_alt_fn = hsa_executable_validate_alt_callback; - table->hsa_executable_get_symbol_by_name_fn = hsa_executable_get_symbol_by_name_callback; - table->hsa_executable_iterate_agent_symbols_fn = hsa_executable_iterate_agent_symbols_callback; - table->hsa_executable_iterate_program_symbols_fn = hsa_executable_iterate_program_symbols_callback; -}; -static void intercept_AmdExtTable(AmdExtTable* table) { - AmdExtTable_saved = *table; - -// block: AmdExtTable API - table->hsa_amd_coherency_get_type_fn = hsa_amd_coherency_get_type_callback; - table->hsa_amd_coherency_set_type_fn = hsa_amd_coherency_set_type_callback; - table->hsa_amd_profiling_set_profiler_enabled_fn = hsa_amd_profiling_set_profiler_enabled_callback; - table->hsa_amd_profiling_async_copy_enable_fn = hsa_amd_profiling_async_copy_enable_callback; - table->hsa_amd_profiling_get_dispatch_time_fn = hsa_amd_profiling_get_dispatch_time_callback; - table->hsa_amd_profiling_get_async_copy_time_fn = hsa_amd_profiling_get_async_copy_time_callback; - table->hsa_amd_profiling_convert_tick_to_system_domain_fn = hsa_amd_profiling_convert_tick_to_system_domain_callback; - table->hsa_amd_signal_async_handler_fn = hsa_amd_signal_async_handler_callback; - table->hsa_amd_async_function_fn = hsa_amd_async_function_callback; - table->hsa_amd_signal_wait_any_fn = hsa_amd_signal_wait_any_callback; - table->hsa_amd_queue_cu_set_mask_fn = hsa_amd_queue_cu_set_mask_callback; - table->hsa_amd_memory_pool_get_info_fn = hsa_amd_memory_pool_get_info_callback; - table->hsa_amd_agent_iterate_memory_pools_fn = hsa_amd_agent_iterate_memory_pools_callback; - table->hsa_amd_memory_pool_allocate_fn = hsa_amd_memory_pool_allocate_callback; - table->hsa_amd_memory_pool_free_fn = hsa_amd_memory_pool_free_callback; - table->hsa_amd_memory_async_copy_fn = hsa_amd_memory_async_copy_callback; - table->hsa_amd_agent_memory_pool_get_info_fn = hsa_amd_agent_memory_pool_get_info_callback; - table->hsa_amd_agents_allow_access_fn = hsa_amd_agents_allow_access_callback; - table->hsa_amd_memory_pool_can_migrate_fn = hsa_amd_memory_pool_can_migrate_callback; - table->hsa_amd_memory_migrate_fn = hsa_amd_memory_migrate_callback; - table->hsa_amd_memory_lock_fn = hsa_amd_memory_lock_callback; - table->hsa_amd_memory_unlock_fn = hsa_amd_memory_unlock_callback; - table->hsa_amd_memory_fill_fn = hsa_amd_memory_fill_callback; - table->hsa_amd_interop_map_buffer_fn = hsa_amd_interop_map_buffer_callback; - table->hsa_amd_interop_unmap_buffer_fn = hsa_amd_interop_unmap_buffer_callback; - table->hsa_amd_image_create_fn = hsa_amd_image_create_callback; - table->hsa_amd_pointer_info_fn = hsa_amd_pointer_info_callback; - table->hsa_amd_pointer_info_set_userdata_fn = hsa_amd_pointer_info_set_userdata_callback; - table->hsa_amd_ipc_memory_create_fn = hsa_amd_ipc_memory_create_callback; - table->hsa_amd_ipc_memory_attach_fn = hsa_amd_ipc_memory_attach_callback; - table->hsa_amd_ipc_memory_detach_fn = hsa_amd_ipc_memory_detach_callback; - table->hsa_amd_signal_create_fn = hsa_amd_signal_create_callback; - table->hsa_amd_ipc_signal_create_fn = hsa_amd_ipc_signal_create_callback; - table->hsa_amd_ipc_signal_attach_fn = hsa_amd_ipc_signal_attach_callback; - table->hsa_amd_register_system_event_handler_fn = hsa_amd_register_system_event_handler_callback; - table->hsa_amd_queue_intercept_create_fn = hsa_amd_queue_intercept_create_callback; - table->hsa_amd_queue_intercept_register_fn = hsa_amd_queue_intercept_register_callback; - table->hsa_amd_queue_set_priority_fn = hsa_amd_queue_set_priority_callback; - table->hsa_amd_memory_async_copy_rect_fn = hsa_amd_memory_async_copy_rect_callback; - table->hsa_amd_runtime_queue_create_register_fn = hsa_amd_runtime_queue_create_register_callback; -}; -static void intercept_ImageExtTable(ImageExtTable* table) { - ImageExtTable_saved = *table; - -// block: ImageExtTable API - table->hsa_ext_image_get_capability_fn = hsa_ext_image_get_capability_callback; - table->hsa_ext_image_data_get_info_fn = hsa_ext_image_data_get_info_callback; - table->hsa_ext_image_create_fn = hsa_ext_image_create_callback; - table->hsa_ext_image_import_fn = hsa_ext_image_import_callback; - table->hsa_ext_image_export_fn = hsa_ext_image_export_callback; - table->hsa_ext_image_copy_fn = hsa_ext_image_copy_callback; - table->hsa_ext_image_clear_fn = hsa_ext_image_clear_callback; - table->hsa_ext_image_destroy_fn = hsa_ext_image_destroy_callback; - table->hsa_ext_sampler_create_fn = hsa_ext_sampler_create_callback; - table->hsa_ext_sampler_destroy_fn = hsa_ext_sampler_destroy_callback; - table->hsa_ext_image_get_capability_with_layout_fn = hsa_ext_image_get_capability_with_layout_callback; - table->hsa_ext_image_data_get_info_with_layout_fn = hsa_ext_image_data_get_info_with_layout_callback; - table->hsa_ext_image_create_with_layout_fn = hsa_ext_image_create_with_layout_callback; -}; - -// section: API get_name function - -static const char* GetApiName(const uint32_t& id) { - switch (id) { - // block: CoreApiTable API - case HSA_API_ID_hsa_init: return "hsa_init"; - case HSA_API_ID_hsa_shut_down: return "hsa_shut_down"; - case HSA_API_ID_hsa_system_get_info: return "hsa_system_get_info"; - case HSA_API_ID_hsa_system_extension_supported: return "hsa_system_extension_supported"; - case HSA_API_ID_hsa_system_get_extension_table: return "hsa_system_get_extension_table"; - case HSA_API_ID_hsa_iterate_agents: return "hsa_iterate_agents"; - case HSA_API_ID_hsa_agent_get_info: return "hsa_agent_get_info"; - case HSA_API_ID_hsa_queue_create: return "hsa_queue_create"; - case HSA_API_ID_hsa_soft_queue_create: return "hsa_soft_queue_create"; - case HSA_API_ID_hsa_queue_destroy: return "hsa_queue_destroy"; - case HSA_API_ID_hsa_queue_inactivate: return "hsa_queue_inactivate"; - case HSA_API_ID_hsa_queue_load_read_index_scacquire: return "hsa_queue_load_read_index_scacquire"; - case HSA_API_ID_hsa_queue_load_read_index_relaxed: return "hsa_queue_load_read_index_relaxed"; - case HSA_API_ID_hsa_queue_load_write_index_scacquire: return "hsa_queue_load_write_index_scacquire"; - case HSA_API_ID_hsa_queue_load_write_index_relaxed: return "hsa_queue_load_write_index_relaxed"; - case HSA_API_ID_hsa_queue_store_write_index_relaxed: return "hsa_queue_store_write_index_relaxed"; - case HSA_API_ID_hsa_queue_store_write_index_screlease: return "hsa_queue_store_write_index_screlease"; - case HSA_API_ID_hsa_queue_cas_write_index_scacq_screl: return "hsa_queue_cas_write_index_scacq_screl"; - case HSA_API_ID_hsa_queue_cas_write_index_scacquire: return "hsa_queue_cas_write_index_scacquire"; - case HSA_API_ID_hsa_queue_cas_write_index_relaxed: return "hsa_queue_cas_write_index_relaxed"; - case HSA_API_ID_hsa_queue_cas_write_index_screlease: return "hsa_queue_cas_write_index_screlease"; - case HSA_API_ID_hsa_queue_add_write_index_scacq_screl: return "hsa_queue_add_write_index_scacq_screl"; - case HSA_API_ID_hsa_queue_add_write_index_scacquire: return "hsa_queue_add_write_index_scacquire"; - case HSA_API_ID_hsa_queue_add_write_index_relaxed: return "hsa_queue_add_write_index_relaxed"; - case HSA_API_ID_hsa_queue_add_write_index_screlease: return "hsa_queue_add_write_index_screlease"; - case HSA_API_ID_hsa_queue_store_read_index_relaxed: return "hsa_queue_store_read_index_relaxed"; - case HSA_API_ID_hsa_queue_store_read_index_screlease: return "hsa_queue_store_read_index_screlease"; - case HSA_API_ID_hsa_agent_iterate_regions: return "hsa_agent_iterate_regions"; - case HSA_API_ID_hsa_region_get_info: return "hsa_region_get_info"; - case HSA_API_ID_hsa_agent_get_exception_policies: return "hsa_agent_get_exception_policies"; - case HSA_API_ID_hsa_agent_extension_supported: return "hsa_agent_extension_supported"; - case HSA_API_ID_hsa_memory_register: return "hsa_memory_register"; - case HSA_API_ID_hsa_memory_deregister: return "hsa_memory_deregister"; - case HSA_API_ID_hsa_memory_allocate: return "hsa_memory_allocate"; - case HSA_API_ID_hsa_memory_free: return "hsa_memory_free"; - case HSA_API_ID_hsa_memory_copy: return "hsa_memory_copy"; - case HSA_API_ID_hsa_memory_assign_agent: return "hsa_memory_assign_agent"; - case HSA_API_ID_hsa_signal_create: return "hsa_signal_create"; - case HSA_API_ID_hsa_signal_destroy: return "hsa_signal_destroy"; - case HSA_API_ID_hsa_signal_load_relaxed: return "hsa_signal_load_relaxed"; - case HSA_API_ID_hsa_signal_load_scacquire: return "hsa_signal_load_scacquire"; - case HSA_API_ID_hsa_signal_store_relaxed: return "hsa_signal_store_relaxed"; - case HSA_API_ID_hsa_signal_store_screlease: return "hsa_signal_store_screlease"; - case HSA_API_ID_hsa_signal_wait_relaxed: return "hsa_signal_wait_relaxed"; - case HSA_API_ID_hsa_signal_wait_scacquire: return "hsa_signal_wait_scacquire"; - case HSA_API_ID_hsa_signal_and_relaxed: return "hsa_signal_and_relaxed"; - case HSA_API_ID_hsa_signal_and_scacquire: return "hsa_signal_and_scacquire"; - case HSA_API_ID_hsa_signal_and_screlease: return "hsa_signal_and_screlease"; - case HSA_API_ID_hsa_signal_and_scacq_screl: return "hsa_signal_and_scacq_screl"; - case HSA_API_ID_hsa_signal_or_relaxed: return "hsa_signal_or_relaxed"; - case HSA_API_ID_hsa_signal_or_scacquire: return "hsa_signal_or_scacquire"; - case HSA_API_ID_hsa_signal_or_screlease: return "hsa_signal_or_screlease"; - case HSA_API_ID_hsa_signal_or_scacq_screl: return "hsa_signal_or_scacq_screl"; - case HSA_API_ID_hsa_signal_xor_relaxed: return "hsa_signal_xor_relaxed"; - case HSA_API_ID_hsa_signal_xor_scacquire: return "hsa_signal_xor_scacquire"; - case HSA_API_ID_hsa_signal_xor_screlease: return "hsa_signal_xor_screlease"; - case HSA_API_ID_hsa_signal_xor_scacq_screl: return "hsa_signal_xor_scacq_screl"; - case HSA_API_ID_hsa_signal_exchange_relaxed: return "hsa_signal_exchange_relaxed"; - case HSA_API_ID_hsa_signal_exchange_scacquire: return "hsa_signal_exchange_scacquire"; - case HSA_API_ID_hsa_signal_exchange_screlease: return "hsa_signal_exchange_screlease"; - case HSA_API_ID_hsa_signal_exchange_scacq_screl: return "hsa_signal_exchange_scacq_screl"; - case HSA_API_ID_hsa_signal_add_relaxed: return "hsa_signal_add_relaxed"; - case HSA_API_ID_hsa_signal_add_scacquire: return "hsa_signal_add_scacquire"; - case HSA_API_ID_hsa_signal_add_screlease: return "hsa_signal_add_screlease"; - case HSA_API_ID_hsa_signal_add_scacq_screl: return "hsa_signal_add_scacq_screl"; - case HSA_API_ID_hsa_signal_subtract_relaxed: return "hsa_signal_subtract_relaxed"; - case HSA_API_ID_hsa_signal_subtract_scacquire: return "hsa_signal_subtract_scacquire"; - case HSA_API_ID_hsa_signal_subtract_screlease: return "hsa_signal_subtract_screlease"; - case HSA_API_ID_hsa_signal_subtract_scacq_screl: return "hsa_signal_subtract_scacq_screl"; - case HSA_API_ID_hsa_signal_cas_relaxed: return "hsa_signal_cas_relaxed"; - case HSA_API_ID_hsa_signal_cas_scacquire: return "hsa_signal_cas_scacquire"; - case HSA_API_ID_hsa_signal_cas_screlease: return "hsa_signal_cas_screlease"; - case HSA_API_ID_hsa_signal_cas_scacq_screl: return "hsa_signal_cas_scacq_screl"; - case HSA_API_ID_hsa_isa_from_name: return "hsa_isa_from_name"; - case HSA_API_ID_hsa_isa_get_info: return "hsa_isa_get_info"; - case HSA_API_ID_hsa_isa_compatible: return "hsa_isa_compatible"; - case HSA_API_ID_hsa_code_object_serialize: return "hsa_code_object_serialize"; - case HSA_API_ID_hsa_code_object_deserialize: return "hsa_code_object_deserialize"; - case HSA_API_ID_hsa_code_object_destroy: return "hsa_code_object_destroy"; - case HSA_API_ID_hsa_code_object_get_info: return "hsa_code_object_get_info"; - case HSA_API_ID_hsa_code_object_get_symbol: return "hsa_code_object_get_symbol"; - case HSA_API_ID_hsa_code_symbol_get_info: return "hsa_code_symbol_get_info"; - case HSA_API_ID_hsa_code_object_iterate_symbols: return "hsa_code_object_iterate_symbols"; - case HSA_API_ID_hsa_executable_create: return "hsa_executable_create"; - case HSA_API_ID_hsa_executable_destroy: return "hsa_executable_destroy"; - case HSA_API_ID_hsa_executable_load_code_object: return "hsa_executable_load_code_object"; - case HSA_API_ID_hsa_executable_freeze: return "hsa_executable_freeze"; - case HSA_API_ID_hsa_executable_get_info: return "hsa_executable_get_info"; - case HSA_API_ID_hsa_executable_global_variable_define: return "hsa_executable_global_variable_define"; - case HSA_API_ID_hsa_executable_agent_global_variable_define: return "hsa_executable_agent_global_variable_define"; - case HSA_API_ID_hsa_executable_readonly_variable_define: return "hsa_executable_readonly_variable_define"; - case HSA_API_ID_hsa_executable_validate: return "hsa_executable_validate"; - case HSA_API_ID_hsa_executable_get_symbol: return "hsa_executable_get_symbol"; - case HSA_API_ID_hsa_executable_symbol_get_info: return "hsa_executable_symbol_get_info"; - case HSA_API_ID_hsa_executable_iterate_symbols: return "hsa_executable_iterate_symbols"; - case HSA_API_ID_hsa_status_string: return "hsa_status_string"; - case HSA_API_ID_hsa_extension_get_name: return "hsa_extension_get_name"; - case HSA_API_ID_hsa_system_major_extension_supported: return "hsa_system_major_extension_supported"; - case HSA_API_ID_hsa_system_get_major_extension_table: return "hsa_system_get_major_extension_table"; - case HSA_API_ID_hsa_agent_major_extension_supported: return "hsa_agent_major_extension_supported"; - case HSA_API_ID_hsa_cache_get_info: return "hsa_cache_get_info"; - case HSA_API_ID_hsa_agent_iterate_caches: return "hsa_agent_iterate_caches"; - case HSA_API_ID_hsa_signal_silent_store_relaxed: return "hsa_signal_silent_store_relaxed"; - case HSA_API_ID_hsa_signal_silent_store_screlease: return "hsa_signal_silent_store_screlease"; - case HSA_API_ID_hsa_signal_group_create: return "hsa_signal_group_create"; - case HSA_API_ID_hsa_signal_group_destroy: return "hsa_signal_group_destroy"; - case HSA_API_ID_hsa_signal_group_wait_any_scacquire: return "hsa_signal_group_wait_any_scacquire"; - case HSA_API_ID_hsa_signal_group_wait_any_relaxed: return "hsa_signal_group_wait_any_relaxed"; - case HSA_API_ID_hsa_agent_iterate_isas: return "hsa_agent_iterate_isas"; - case HSA_API_ID_hsa_isa_get_info_alt: return "hsa_isa_get_info_alt"; - case HSA_API_ID_hsa_isa_get_exception_policies: return "hsa_isa_get_exception_policies"; - case HSA_API_ID_hsa_isa_get_round_method: return "hsa_isa_get_round_method"; - case HSA_API_ID_hsa_wavefront_get_info: return "hsa_wavefront_get_info"; - case HSA_API_ID_hsa_isa_iterate_wavefronts: return "hsa_isa_iterate_wavefronts"; - case HSA_API_ID_hsa_code_object_get_symbol_from_name: return "hsa_code_object_get_symbol_from_name"; - case HSA_API_ID_hsa_code_object_reader_create_from_file: return "hsa_code_object_reader_create_from_file"; - case HSA_API_ID_hsa_code_object_reader_create_from_memory: return "hsa_code_object_reader_create_from_memory"; - case HSA_API_ID_hsa_code_object_reader_destroy: return "hsa_code_object_reader_destroy"; - case HSA_API_ID_hsa_executable_create_alt: return "hsa_executable_create_alt"; - case HSA_API_ID_hsa_executable_load_program_code_object: return "hsa_executable_load_program_code_object"; - case HSA_API_ID_hsa_executable_load_agent_code_object: return "hsa_executable_load_agent_code_object"; - case HSA_API_ID_hsa_executable_validate_alt: return "hsa_executable_validate_alt"; - case HSA_API_ID_hsa_executable_get_symbol_by_name: return "hsa_executable_get_symbol_by_name"; - case HSA_API_ID_hsa_executable_iterate_agent_symbols: return "hsa_executable_iterate_agent_symbols"; - case HSA_API_ID_hsa_executable_iterate_program_symbols: return "hsa_executable_iterate_program_symbols"; - - // block: AmdExtTable API - case HSA_API_ID_hsa_amd_coherency_get_type: return "hsa_amd_coherency_get_type"; - case HSA_API_ID_hsa_amd_coherency_set_type: return "hsa_amd_coherency_set_type"; - case HSA_API_ID_hsa_amd_profiling_set_profiler_enabled: return "hsa_amd_profiling_set_profiler_enabled"; - case HSA_API_ID_hsa_amd_profiling_async_copy_enable: return "hsa_amd_profiling_async_copy_enable"; - case HSA_API_ID_hsa_amd_profiling_get_dispatch_time: return "hsa_amd_profiling_get_dispatch_time"; - case HSA_API_ID_hsa_amd_profiling_get_async_copy_time: return "hsa_amd_profiling_get_async_copy_time"; - case HSA_API_ID_hsa_amd_profiling_convert_tick_to_system_domain: return "hsa_amd_profiling_convert_tick_to_system_domain"; - case HSA_API_ID_hsa_amd_signal_async_handler: return "hsa_amd_signal_async_handler"; - case HSA_API_ID_hsa_amd_async_function: return "hsa_amd_async_function"; - case HSA_API_ID_hsa_amd_signal_wait_any: return "hsa_amd_signal_wait_any"; - case HSA_API_ID_hsa_amd_queue_cu_set_mask: return "hsa_amd_queue_cu_set_mask"; - case HSA_API_ID_hsa_amd_memory_pool_get_info: return "hsa_amd_memory_pool_get_info"; - case HSA_API_ID_hsa_amd_agent_iterate_memory_pools: return "hsa_amd_agent_iterate_memory_pools"; - case HSA_API_ID_hsa_amd_memory_pool_allocate: return "hsa_amd_memory_pool_allocate"; - case HSA_API_ID_hsa_amd_memory_pool_free: return "hsa_amd_memory_pool_free"; - case HSA_API_ID_hsa_amd_memory_async_copy: return "hsa_amd_memory_async_copy"; - case HSA_API_ID_hsa_amd_agent_memory_pool_get_info: return "hsa_amd_agent_memory_pool_get_info"; - case HSA_API_ID_hsa_amd_agents_allow_access: return "hsa_amd_agents_allow_access"; - case HSA_API_ID_hsa_amd_memory_pool_can_migrate: return "hsa_amd_memory_pool_can_migrate"; - case HSA_API_ID_hsa_amd_memory_migrate: return "hsa_amd_memory_migrate"; - case HSA_API_ID_hsa_amd_memory_lock: return "hsa_amd_memory_lock"; - case HSA_API_ID_hsa_amd_memory_unlock: return "hsa_amd_memory_unlock"; - case HSA_API_ID_hsa_amd_memory_fill: return "hsa_amd_memory_fill"; - case HSA_API_ID_hsa_amd_interop_map_buffer: return "hsa_amd_interop_map_buffer"; - case HSA_API_ID_hsa_amd_interop_unmap_buffer: return "hsa_amd_interop_unmap_buffer"; - case HSA_API_ID_hsa_amd_image_create: return "hsa_amd_image_create"; - case HSA_API_ID_hsa_amd_pointer_info: return "hsa_amd_pointer_info"; - case HSA_API_ID_hsa_amd_pointer_info_set_userdata: return "hsa_amd_pointer_info_set_userdata"; - case HSA_API_ID_hsa_amd_ipc_memory_create: return "hsa_amd_ipc_memory_create"; - case HSA_API_ID_hsa_amd_ipc_memory_attach: return "hsa_amd_ipc_memory_attach"; - case HSA_API_ID_hsa_amd_ipc_memory_detach: return "hsa_amd_ipc_memory_detach"; - case HSA_API_ID_hsa_amd_signal_create: return "hsa_amd_signal_create"; - case HSA_API_ID_hsa_amd_ipc_signal_create: return "hsa_amd_ipc_signal_create"; - case HSA_API_ID_hsa_amd_ipc_signal_attach: return "hsa_amd_ipc_signal_attach"; - case HSA_API_ID_hsa_amd_register_system_event_handler: return "hsa_amd_register_system_event_handler"; - case HSA_API_ID_hsa_amd_queue_intercept_create: return "hsa_amd_queue_intercept_create"; - case HSA_API_ID_hsa_amd_queue_intercept_register: return "hsa_amd_queue_intercept_register"; - case HSA_API_ID_hsa_amd_queue_set_priority: return "hsa_amd_queue_set_priority"; - case HSA_API_ID_hsa_amd_memory_async_copy_rect: return "hsa_amd_memory_async_copy_rect"; - case HSA_API_ID_hsa_amd_runtime_queue_create_register: return "hsa_amd_runtime_queue_create_register"; - - // block: ImageExtTable API - case HSA_API_ID_hsa_ext_image_get_capability: return "hsa_ext_image_get_capability"; - case HSA_API_ID_hsa_ext_image_data_get_info: return "hsa_ext_image_data_get_info"; - case HSA_API_ID_hsa_ext_image_create: return "hsa_ext_image_create"; - case HSA_API_ID_hsa_ext_image_import: return "hsa_ext_image_import"; - case HSA_API_ID_hsa_ext_image_export: return "hsa_ext_image_export"; - case HSA_API_ID_hsa_ext_image_copy: return "hsa_ext_image_copy"; - case HSA_API_ID_hsa_ext_image_clear: return "hsa_ext_image_clear"; - case HSA_API_ID_hsa_ext_image_destroy: return "hsa_ext_image_destroy"; - case HSA_API_ID_hsa_ext_sampler_create: return "hsa_ext_sampler_create"; - case HSA_API_ID_hsa_ext_sampler_destroy: return "hsa_ext_sampler_destroy"; - case HSA_API_ID_hsa_ext_image_get_capability_with_layout: return "hsa_ext_image_get_capability_with_layout"; - case HSA_API_ID_hsa_ext_image_data_get_info_with_layout: return "hsa_ext_image_data_get_info_with_layout"; - case HSA_API_ID_hsa_ext_image_create_with_layout: return "hsa_ext_image_create_with_layout"; - } - return "unknown"; -} - -};}; -#endif // PROF_API_IMPL - -// section: API output stream - -typedef std::pair hsa_api_data_pair_t; -inline std::ostream& operator<< (std::ostream& out, const hsa_api_data_pair_t& data_pair) { - const uint32_t cid = data_pair.first; - const hsa_api_data_t& api_data = data_pair.second; - switch(cid) { - // block: CoreApiTable API - case HSA_API_ID_hsa_init: { - out << "hsa_init("; - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_shut_down: { - out << "hsa_shut_down("; - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_system_get_info: { - out << "hsa_system_get_info("; - typedef decltype(api_data.args.hsa_system_get_info.attribute) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_system_get_info.attribute) << ", "; - typedef decltype(api_data.args.hsa_system_get_info.value) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_system_get_info.value); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_system_extension_supported: { - out << "hsa_system_extension_supported("; - typedef decltype(api_data.args.hsa_system_extension_supported.extension) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_system_extension_supported.extension) << ", "; - typedef decltype(api_data.args.hsa_system_extension_supported.version_major) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_system_extension_supported.version_major) << ", "; - typedef decltype(api_data.args.hsa_system_extension_supported.version_minor) arg_val_type_t2; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_system_extension_supported.version_minor) << ", "; - typedef decltype(api_data.args.hsa_system_extension_supported.result) arg_val_type_t3; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_system_extension_supported.result); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_system_get_extension_table: { - out << "hsa_system_get_extension_table("; - typedef decltype(api_data.args.hsa_system_get_extension_table.extension) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_system_get_extension_table.extension) << ", "; - typedef decltype(api_data.args.hsa_system_get_extension_table.version_major) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_system_get_extension_table.version_major) << ", "; - typedef decltype(api_data.args.hsa_system_get_extension_table.version_minor) arg_val_type_t2; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_system_get_extension_table.version_minor) << ", "; - typedef decltype(api_data.args.hsa_system_get_extension_table.table) arg_val_type_t3; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_system_get_extension_table.table); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_iterate_agents: { - out << "hsa_iterate_agents("; - typedef decltype(api_data.args.hsa_iterate_agents.callback) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_iterate_agents.callback) << ", "; - typedef decltype(api_data.args.hsa_iterate_agents.data) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_iterate_agents.data); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_agent_get_info: { - out << "hsa_agent_get_info("; - typedef decltype(api_data.args.hsa_agent_get_info.agent) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_agent_get_info.agent) << ", "; - typedef decltype(api_data.args.hsa_agent_get_info.attribute) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_agent_get_info.attribute) << ", "; - typedef decltype(api_data.args.hsa_agent_get_info.value) arg_val_type_t2; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_agent_get_info.value); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_queue_create: { - out << "hsa_queue_create("; - typedef decltype(api_data.args.hsa_queue_create.agent) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_create.agent) << ", "; - typedef decltype(api_data.args.hsa_queue_create.size) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_create.size) << ", "; - typedef decltype(api_data.args.hsa_queue_create.type) arg_val_type_t2; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_create.type) << ", "; - typedef decltype(api_data.args.hsa_queue_create.callback) arg_val_type_t3; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_create.callback) << ", "; - typedef decltype(api_data.args.hsa_queue_create.data) arg_val_type_t4; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_create.data) << ", "; - typedef decltype(api_data.args.hsa_queue_create.private_segment_size) arg_val_type_t5; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_create.private_segment_size) << ", "; - typedef decltype(api_data.args.hsa_queue_create.group_segment_size) arg_val_type_t6; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_create.group_segment_size) << ", "; - typedef decltype(api_data.args.hsa_queue_create.queue) arg_val_type_t7; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_create.queue); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_soft_queue_create: { - out << "hsa_soft_queue_create("; - typedef decltype(api_data.args.hsa_soft_queue_create.region) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_soft_queue_create.region) << ", "; - typedef decltype(api_data.args.hsa_soft_queue_create.size) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_soft_queue_create.size) << ", "; - typedef decltype(api_data.args.hsa_soft_queue_create.type) arg_val_type_t2; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_soft_queue_create.type) << ", "; - typedef decltype(api_data.args.hsa_soft_queue_create.features) arg_val_type_t3; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_soft_queue_create.features) << ", "; - typedef decltype(api_data.args.hsa_soft_queue_create.doorbell_signal) arg_val_type_t4; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_soft_queue_create.doorbell_signal) << ", "; - typedef decltype(api_data.args.hsa_soft_queue_create.queue) arg_val_type_t5; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_soft_queue_create.queue); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_queue_destroy: { - out << "hsa_queue_destroy("; - typedef decltype(api_data.args.hsa_queue_destroy.queue) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_destroy.queue); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_queue_inactivate: { - out << "hsa_queue_inactivate("; - typedef decltype(api_data.args.hsa_queue_inactivate.queue) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_inactivate.queue); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_queue_load_read_index_scacquire: { - out << "hsa_queue_load_read_index_scacquire("; - typedef decltype(api_data.args.hsa_queue_load_read_index_scacquire.queue) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_load_read_index_scacquire.queue); - out << ") = " << api_data.uint64_t_retval; - break; - } - case HSA_API_ID_hsa_queue_load_read_index_relaxed: { - out << "hsa_queue_load_read_index_relaxed("; - typedef decltype(api_data.args.hsa_queue_load_read_index_relaxed.queue) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_load_read_index_relaxed.queue); - out << ") = " << api_data.uint64_t_retval; - break; - } - case HSA_API_ID_hsa_queue_load_write_index_scacquire: { - out << "hsa_queue_load_write_index_scacquire("; - typedef decltype(api_data.args.hsa_queue_load_write_index_scacquire.queue) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_load_write_index_scacquire.queue); - out << ") = " << api_data.uint64_t_retval; - break; - } - case HSA_API_ID_hsa_queue_load_write_index_relaxed: { - out << "hsa_queue_load_write_index_relaxed("; - typedef decltype(api_data.args.hsa_queue_load_write_index_relaxed.queue) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_load_write_index_relaxed.queue); - out << ") = " << api_data.uint64_t_retval; - break; - } - case HSA_API_ID_hsa_queue_store_write_index_relaxed: { - out << "hsa_queue_store_write_index_relaxed("; - typedef decltype(api_data.args.hsa_queue_store_write_index_relaxed.queue) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_store_write_index_relaxed.queue) << ", "; - typedef decltype(api_data.args.hsa_queue_store_write_index_relaxed.value) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_store_write_index_relaxed.value); - out << ") = void"; - break; - } - case HSA_API_ID_hsa_queue_store_write_index_screlease: { - out << "hsa_queue_store_write_index_screlease("; - typedef decltype(api_data.args.hsa_queue_store_write_index_screlease.queue) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_store_write_index_screlease.queue) << ", "; - typedef decltype(api_data.args.hsa_queue_store_write_index_screlease.value) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_store_write_index_screlease.value); - out << ") = void"; - break; - } - case HSA_API_ID_hsa_queue_cas_write_index_scacq_screl: { - out << "hsa_queue_cas_write_index_scacq_screl("; - typedef decltype(api_data.args.hsa_queue_cas_write_index_scacq_screl.queue) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_cas_write_index_scacq_screl.queue) << ", "; - typedef decltype(api_data.args.hsa_queue_cas_write_index_scacq_screl.expected) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_cas_write_index_scacq_screl.expected) << ", "; - typedef decltype(api_data.args.hsa_queue_cas_write_index_scacq_screl.value) arg_val_type_t2; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_cas_write_index_scacq_screl.value); - out << ") = " << api_data.uint64_t_retval; - break; - } - case HSA_API_ID_hsa_queue_cas_write_index_scacquire: { - out << "hsa_queue_cas_write_index_scacquire("; - typedef decltype(api_data.args.hsa_queue_cas_write_index_scacquire.queue) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_cas_write_index_scacquire.queue) << ", "; - typedef decltype(api_data.args.hsa_queue_cas_write_index_scacquire.expected) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_cas_write_index_scacquire.expected) << ", "; - typedef decltype(api_data.args.hsa_queue_cas_write_index_scacquire.value) arg_val_type_t2; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_cas_write_index_scacquire.value); - out << ") = " << api_data.uint64_t_retval; - break; - } - case HSA_API_ID_hsa_queue_cas_write_index_relaxed: { - out << "hsa_queue_cas_write_index_relaxed("; - typedef decltype(api_data.args.hsa_queue_cas_write_index_relaxed.queue) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_cas_write_index_relaxed.queue) << ", "; - typedef decltype(api_data.args.hsa_queue_cas_write_index_relaxed.expected) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_cas_write_index_relaxed.expected) << ", "; - typedef decltype(api_data.args.hsa_queue_cas_write_index_relaxed.value) arg_val_type_t2; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_cas_write_index_relaxed.value); - out << ") = " << api_data.uint64_t_retval; - break; - } - case HSA_API_ID_hsa_queue_cas_write_index_screlease: { - out << "hsa_queue_cas_write_index_screlease("; - typedef decltype(api_data.args.hsa_queue_cas_write_index_screlease.queue) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_cas_write_index_screlease.queue) << ", "; - typedef decltype(api_data.args.hsa_queue_cas_write_index_screlease.expected) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_cas_write_index_screlease.expected) << ", "; - typedef decltype(api_data.args.hsa_queue_cas_write_index_screlease.value) arg_val_type_t2; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_cas_write_index_screlease.value); - out << ") = " << api_data.uint64_t_retval; - break; - } - case HSA_API_ID_hsa_queue_add_write_index_scacq_screl: { - out << "hsa_queue_add_write_index_scacq_screl("; - typedef decltype(api_data.args.hsa_queue_add_write_index_scacq_screl.queue) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_add_write_index_scacq_screl.queue) << ", "; - typedef decltype(api_data.args.hsa_queue_add_write_index_scacq_screl.value) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_add_write_index_scacq_screl.value); - out << ") = " << api_data.uint64_t_retval; - break; - } - case HSA_API_ID_hsa_queue_add_write_index_scacquire: { - out << "hsa_queue_add_write_index_scacquire("; - typedef decltype(api_data.args.hsa_queue_add_write_index_scacquire.queue) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_add_write_index_scacquire.queue) << ", "; - typedef decltype(api_data.args.hsa_queue_add_write_index_scacquire.value) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_add_write_index_scacquire.value); - out << ") = " << api_data.uint64_t_retval; - break; - } - case HSA_API_ID_hsa_queue_add_write_index_relaxed: { - out << "hsa_queue_add_write_index_relaxed("; - typedef decltype(api_data.args.hsa_queue_add_write_index_relaxed.queue) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_add_write_index_relaxed.queue) << ", "; - typedef decltype(api_data.args.hsa_queue_add_write_index_relaxed.value) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_add_write_index_relaxed.value); - out << ") = " << api_data.uint64_t_retval; - break; - } - case HSA_API_ID_hsa_queue_add_write_index_screlease: { - out << "hsa_queue_add_write_index_screlease("; - typedef decltype(api_data.args.hsa_queue_add_write_index_screlease.queue) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_add_write_index_screlease.queue) << ", "; - typedef decltype(api_data.args.hsa_queue_add_write_index_screlease.value) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_add_write_index_screlease.value); - out << ") = " << api_data.uint64_t_retval; - break; - } - case HSA_API_ID_hsa_queue_store_read_index_relaxed: { - out << "hsa_queue_store_read_index_relaxed("; - typedef decltype(api_data.args.hsa_queue_store_read_index_relaxed.queue) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_store_read_index_relaxed.queue) << ", "; - typedef decltype(api_data.args.hsa_queue_store_read_index_relaxed.value) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_store_read_index_relaxed.value); - out << ") = void"; - break; - } - case HSA_API_ID_hsa_queue_store_read_index_screlease: { - out << "hsa_queue_store_read_index_screlease("; - typedef decltype(api_data.args.hsa_queue_store_read_index_screlease.queue) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_store_read_index_screlease.queue) << ", "; - typedef decltype(api_data.args.hsa_queue_store_read_index_screlease.value) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_store_read_index_screlease.value); - out << ") = void"; - break; - } - case HSA_API_ID_hsa_agent_iterate_regions: { - out << "hsa_agent_iterate_regions("; - typedef decltype(api_data.args.hsa_agent_iterate_regions.agent) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_agent_iterate_regions.agent) << ", "; - typedef decltype(api_data.args.hsa_agent_iterate_regions.callback) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_agent_iterate_regions.callback) << ", "; - typedef decltype(api_data.args.hsa_agent_iterate_regions.data) arg_val_type_t2; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_agent_iterate_regions.data); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_region_get_info: { - out << "hsa_region_get_info("; - typedef decltype(api_data.args.hsa_region_get_info.region) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_region_get_info.region) << ", "; - typedef decltype(api_data.args.hsa_region_get_info.attribute) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_region_get_info.attribute) << ", "; - typedef decltype(api_data.args.hsa_region_get_info.value) arg_val_type_t2; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_region_get_info.value); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_agent_get_exception_policies: { - out << "hsa_agent_get_exception_policies("; - typedef decltype(api_data.args.hsa_agent_get_exception_policies.agent) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_agent_get_exception_policies.agent) << ", "; - typedef decltype(api_data.args.hsa_agent_get_exception_policies.profile) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_agent_get_exception_policies.profile) << ", "; - typedef decltype(api_data.args.hsa_agent_get_exception_policies.mask) arg_val_type_t2; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_agent_get_exception_policies.mask); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_agent_extension_supported: { - out << "hsa_agent_extension_supported("; - typedef decltype(api_data.args.hsa_agent_extension_supported.extension) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_agent_extension_supported.extension) << ", "; - typedef decltype(api_data.args.hsa_agent_extension_supported.agent) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_agent_extension_supported.agent) << ", "; - typedef decltype(api_data.args.hsa_agent_extension_supported.version_major) arg_val_type_t2; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_agent_extension_supported.version_major) << ", "; - typedef decltype(api_data.args.hsa_agent_extension_supported.version_minor) arg_val_type_t3; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_agent_extension_supported.version_minor) << ", "; - typedef decltype(api_data.args.hsa_agent_extension_supported.result) arg_val_type_t4; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_agent_extension_supported.result); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_memory_register: { - out << "hsa_memory_register("; - typedef decltype(api_data.args.hsa_memory_register.ptr) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_memory_register.ptr) << ", "; - typedef decltype(api_data.args.hsa_memory_register.size) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_memory_register.size); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_memory_deregister: { - out << "hsa_memory_deregister("; - typedef decltype(api_data.args.hsa_memory_deregister.ptr) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_memory_deregister.ptr) << ", "; - typedef decltype(api_data.args.hsa_memory_deregister.size) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_memory_deregister.size); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_memory_allocate: { - out << "hsa_memory_allocate("; - typedef decltype(api_data.args.hsa_memory_allocate.region) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_memory_allocate.region) << ", "; - typedef decltype(api_data.args.hsa_memory_allocate.size) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_memory_allocate.size) << ", "; - typedef decltype(api_data.args.hsa_memory_allocate.ptr) arg_val_type_t2; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_memory_allocate.ptr); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_memory_free: { - out << "hsa_memory_free("; - typedef decltype(api_data.args.hsa_memory_free.ptr) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_memory_free.ptr); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_memory_copy: { - out << "hsa_memory_copy("; - typedef decltype(api_data.args.hsa_memory_copy.dst) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_memory_copy.dst) << ", "; - typedef decltype(api_data.args.hsa_memory_copy.src) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_memory_copy.src) << ", "; - typedef decltype(api_data.args.hsa_memory_copy.size) arg_val_type_t2; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_memory_copy.size); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_memory_assign_agent: { - out << "hsa_memory_assign_agent("; - typedef decltype(api_data.args.hsa_memory_assign_agent.ptr) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_memory_assign_agent.ptr) << ", "; - typedef decltype(api_data.args.hsa_memory_assign_agent.agent) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_memory_assign_agent.agent) << ", "; - typedef decltype(api_data.args.hsa_memory_assign_agent.access) arg_val_type_t2; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_memory_assign_agent.access); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_signal_create: { - out << "hsa_signal_create("; - typedef decltype(api_data.args.hsa_signal_create.initial_value) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_create.initial_value) << ", "; - typedef decltype(api_data.args.hsa_signal_create.num_consumers) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_create.num_consumers) << ", "; - typedef decltype(api_data.args.hsa_signal_create.consumers) arg_val_type_t2; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_create.consumers) << ", "; - typedef decltype(api_data.args.hsa_signal_create.signal) arg_val_type_t3; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_create.signal); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_signal_destroy: { - out << "hsa_signal_destroy("; - typedef decltype(api_data.args.hsa_signal_destroy.signal) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_destroy.signal); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_signal_load_relaxed: { - out << "hsa_signal_load_relaxed("; - typedef decltype(api_data.args.hsa_signal_load_relaxed.signal) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_load_relaxed.signal); - out << ") = " << api_data.hsa_signal_value_t_retval; - break; - } - case HSA_API_ID_hsa_signal_load_scacquire: { - out << "hsa_signal_load_scacquire("; - typedef decltype(api_data.args.hsa_signal_load_scacquire.signal) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_load_scacquire.signal); - out << ") = " << api_data.hsa_signal_value_t_retval; - break; - } - case HSA_API_ID_hsa_signal_store_relaxed: { - out << "hsa_signal_store_relaxed("; - typedef decltype(api_data.args.hsa_signal_store_relaxed.signal) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_store_relaxed.signal) << ", "; - typedef decltype(api_data.args.hsa_signal_store_relaxed.value) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_store_relaxed.value); - out << ") = void"; - break; - } - case HSA_API_ID_hsa_signal_store_screlease: { - out << "hsa_signal_store_screlease("; - typedef decltype(api_data.args.hsa_signal_store_screlease.signal) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_store_screlease.signal) << ", "; - typedef decltype(api_data.args.hsa_signal_store_screlease.value) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_store_screlease.value); - out << ") = void"; - break; - } - case HSA_API_ID_hsa_signal_wait_relaxed: { - out << "hsa_signal_wait_relaxed("; - typedef decltype(api_data.args.hsa_signal_wait_relaxed.signal) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_wait_relaxed.signal) << ", "; - typedef decltype(api_data.args.hsa_signal_wait_relaxed.condition) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_wait_relaxed.condition) << ", "; - typedef decltype(api_data.args.hsa_signal_wait_relaxed.compare_value) arg_val_type_t2; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_wait_relaxed.compare_value) << ", "; - typedef decltype(api_data.args.hsa_signal_wait_relaxed.timeout_hint) arg_val_type_t3; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_wait_relaxed.timeout_hint) << ", "; - typedef decltype(api_data.args.hsa_signal_wait_relaxed.wait_state_hint) arg_val_type_t4; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_wait_relaxed.wait_state_hint); - out << ") = " << api_data.hsa_signal_value_t_retval; - break; - } - case HSA_API_ID_hsa_signal_wait_scacquire: { - out << "hsa_signal_wait_scacquire("; - typedef decltype(api_data.args.hsa_signal_wait_scacquire.signal) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_wait_scacquire.signal) << ", "; - typedef decltype(api_data.args.hsa_signal_wait_scacquire.condition) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_wait_scacquire.condition) << ", "; - typedef decltype(api_data.args.hsa_signal_wait_scacquire.compare_value) arg_val_type_t2; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_wait_scacquire.compare_value) << ", "; - typedef decltype(api_data.args.hsa_signal_wait_scacquire.timeout_hint) arg_val_type_t3; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_wait_scacquire.timeout_hint) << ", "; - typedef decltype(api_data.args.hsa_signal_wait_scacquire.wait_state_hint) arg_val_type_t4; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_wait_scacquire.wait_state_hint); - out << ") = " << api_data.hsa_signal_value_t_retval; - break; - } - case HSA_API_ID_hsa_signal_and_relaxed: { - out << "hsa_signal_and_relaxed("; - typedef decltype(api_data.args.hsa_signal_and_relaxed.signal) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_and_relaxed.signal) << ", "; - typedef decltype(api_data.args.hsa_signal_and_relaxed.value) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_and_relaxed.value); - out << ") = void"; - break; - } - case HSA_API_ID_hsa_signal_and_scacquire: { - out << "hsa_signal_and_scacquire("; - typedef decltype(api_data.args.hsa_signal_and_scacquire.signal) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_and_scacquire.signal) << ", "; - typedef decltype(api_data.args.hsa_signal_and_scacquire.value) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_and_scacquire.value); - out << ") = void"; - break; - } - case HSA_API_ID_hsa_signal_and_screlease: { - out << "hsa_signal_and_screlease("; - typedef decltype(api_data.args.hsa_signal_and_screlease.signal) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_and_screlease.signal) << ", "; - typedef decltype(api_data.args.hsa_signal_and_screlease.value) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_and_screlease.value); - out << ") = void"; - break; - } - case HSA_API_ID_hsa_signal_and_scacq_screl: { - out << "hsa_signal_and_scacq_screl("; - typedef decltype(api_data.args.hsa_signal_and_scacq_screl.signal) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_and_scacq_screl.signal) << ", "; - typedef decltype(api_data.args.hsa_signal_and_scacq_screl.value) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_and_scacq_screl.value); - out << ") = void"; - break; - } - case HSA_API_ID_hsa_signal_or_relaxed: { - out << "hsa_signal_or_relaxed("; - typedef decltype(api_data.args.hsa_signal_or_relaxed.signal) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_or_relaxed.signal) << ", "; - typedef decltype(api_data.args.hsa_signal_or_relaxed.value) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_or_relaxed.value); - out << ") = void"; - break; - } - case HSA_API_ID_hsa_signal_or_scacquire: { - out << "hsa_signal_or_scacquire("; - typedef decltype(api_data.args.hsa_signal_or_scacquire.signal) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_or_scacquire.signal) << ", "; - typedef decltype(api_data.args.hsa_signal_or_scacquire.value) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_or_scacquire.value); - out << ") = void"; - break; - } - case HSA_API_ID_hsa_signal_or_screlease: { - out << "hsa_signal_or_screlease("; - typedef decltype(api_data.args.hsa_signal_or_screlease.signal) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_or_screlease.signal) << ", "; - typedef decltype(api_data.args.hsa_signal_or_screlease.value) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_or_screlease.value); - out << ") = void"; - break; - } - case HSA_API_ID_hsa_signal_or_scacq_screl: { - out << "hsa_signal_or_scacq_screl("; - typedef decltype(api_data.args.hsa_signal_or_scacq_screl.signal) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_or_scacq_screl.signal) << ", "; - typedef decltype(api_data.args.hsa_signal_or_scacq_screl.value) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_or_scacq_screl.value); - out << ") = void"; - break; - } - case HSA_API_ID_hsa_signal_xor_relaxed: { - out << "hsa_signal_xor_relaxed("; - typedef decltype(api_data.args.hsa_signal_xor_relaxed.signal) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_xor_relaxed.signal) << ", "; - typedef decltype(api_data.args.hsa_signal_xor_relaxed.value) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_xor_relaxed.value); - out << ") = void"; - break; - } - case HSA_API_ID_hsa_signal_xor_scacquire: { - out << "hsa_signal_xor_scacquire("; - typedef decltype(api_data.args.hsa_signal_xor_scacquire.signal) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_xor_scacquire.signal) << ", "; - typedef decltype(api_data.args.hsa_signal_xor_scacquire.value) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_xor_scacquire.value); - out << ") = void"; - break; - } - case HSA_API_ID_hsa_signal_xor_screlease: { - out << "hsa_signal_xor_screlease("; - typedef decltype(api_data.args.hsa_signal_xor_screlease.signal) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_xor_screlease.signal) << ", "; - typedef decltype(api_data.args.hsa_signal_xor_screlease.value) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_xor_screlease.value); - out << ") = void"; - break; - } - case HSA_API_ID_hsa_signal_xor_scacq_screl: { - out << "hsa_signal_xor_scacq_screl("; - typedef decltype(api_data.args.hsa_signal_xor_scacq_screl.signal) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_xor_scacq_screl.signal) << ", "; - typedef decltype(api_data.args.hsa_signal_xor_scacq_screl.value) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_xor_scacq_screl.value); - out << ") = void"; - break; - } - case HSA_API_ID_hsa_signal_exchange_relaxed: { - out << "hsa_signal_exchange_relaxed("; - typedef decltype(api_data.args.hsa_signal_exchange_relaxed.signal) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_exchange_relaxed.signal) << ", "; - typedef decltype(api_data.args.hsa_signal_exchange_relaxed.value) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_exchange_relaxed.value); - out << ") = " << api_data.hsa_signal_value_t_retval; - break; - } - case HSA_API_ID_hsa_signal_exchange_scacquire: { - out << "hsa_signal_exchange_scacquire("; - typedef decltype(api_data.args.hsa_signal_exchange_scacquire.signal) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_exchange_scacquire.signal) << ", "; - typedef decltype(api_data.args.hsa_signal_exchange_scacquire.value) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_exchange_scacquire.value); - out << ") = " << api_data.hsa_signal_value_t_retval; - break; - } - case HSA_API_ID_hsa_signal_exchange_screlease: { - out << "hsa_signal_exchange_screlease("; - typedef decltype(api_data.args.hsa_signal_exchange_screlease.signal) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_exchange_screlease.signal) << ", "; - typedef decltype(api_data.args.hsa_signal_exchange_screlease.value) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_exchange_screlease.value); - out << ") = " << api_data.hsa_signal_value_t_retval; - break; - } - case HSA_API_ID_hsa_signal_exchange_scacq_screl: { - out << "hsa_signal_exchange_scacq_screl("; - typedef decltype(api_data.args.hsa_signal_exchange_scacq_screl.signal) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_exchange_scacq_screl.signal) << ", "; - typedef decltype(api_data.args.hsa_signal_exchange_scacq_screl.value) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_exchange_scacq_screl.value); - out << ") = " << api_data.hsa_signal_value_t_retval; - break; - } - case HSA_API_ID_hsa_signal_add_relaxed: { - out << "hsa_signal_add_relaxed("; - typedef decltype(api_data.args.hsa_signal_add_relaxed.signal) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_add_relaxed.signal) << ", "; - typedef decltype(api_data.args.hsa_signal_add_relaxed.value) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_add_relaxed.value); - out << ") = void"; - break; - } - case HSA_API_ID_hsa_signal_add_scacquire: { - out << "hsa_signal_add_scacquire("; - typedef decltype(api_data.args.hsa_signal_add_scacquire.signal) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_add_scacquire.signal) << ", "; - typedef decltype(api_data.args.hsa_signal_add_scacquire.value) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_add_scacquire.value); - out << ") = void"; - break; - } - case HSA_API_ID_hsa_signal_add_screlease: { - out << "hsa_signal_add_screlease("; - typedef decltype(api_data.args.hsa_signal_add_screlease.signal) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_add_screlease.signal) << ", "; - typedef decltype(api_data.args.hsa_signal_add_screlease.value) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_add_screlease.value); - out << ") = void"; - break; - } - case HSA_API_ID_hsa_signal_add_scacq_screl: { - out << "hsa_signal_add_scacq_screl("; - typedef decltype(api_data.args.hsa_signal_add_scacq_screl.signal) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_add_scacq_screl.signal) << ", "; - typedef decltype(api_data.args.hsa_signal_add_scacq_screl.value) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_add_scacq_screl.value); - out << ") = void"; - break; - } - case HSA_API_ID_hsa_signal_subtract_relaxed: { - out << "hsa_signal_subtract_relaxed("; - typedef decltype(api_data.args.hsa_signal_subtract_relaxed.signal) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_subtract_relaxed.signal) << ", "; - typedef decltype(api_data.args.hsa_signal_subtract_relaxed.value) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_subtract_relaxed.value); - out << ") = void"; - break; - } - case HSA_API_ID_hsa_signal_subtract_scacquire: { - out << "hsa_signal_subtract_scacquire("; - typedef decltype(api_data.args.hsa_signal_subtract_scacquire.signal) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_subtract_scacquire.signal) << ", "; - typedef decltype(api_data.args.hsa_signal_subtract_scacquire.value) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_subtract_scacquire.value); - out << ") = void"; - break; - } - case HSA_API_ID_hsa_signal_subtract_screlease: { - out << "hsa_signal_subtract_screlease("; - typedef decltype(api_data.args.hsa_signal_subtract_screlease.signal) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_subtract_screlease.signal) << ", "; - typedef decltype(api_data.args.hsa_signal_subtract_screlease.value) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_subtract_screlease.value); - out << ") = void"; - break; - } - case HSA_API_ID_hsa_signal_subtract_scacq_screl: { - out << "hsa_signal_subtract_scacq_screl("; - typedef decltype(api_data.args.hsa_signal_subtract_scacq_screl.signal) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_subtract_scacq_screl.signal) << ", "; - typedef decltype(api_data.args.hsa_signal_subtract_scacq_screl.value) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_subtract_scacq_screl.value); - out << ") = void"; - break; - } - case HSA_API_ID_hsa_signal_cas_relaxed: { - out << "hsa_signal_cas_relaxed("; - typedef decltype(api_data.args.hsa_signal_cas_relaxed.signal) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_cas_relaxed.signal) << ", "; - typedef decltype(api_data.args.hsa_signal_cas_relaxed.expected) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_cas_relaxed.expected) << ", "; - typedef decltype(api_data.args.hsa_signal_cas_relaxed.value) arg_val_type_t2; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_cas_relaxed.value); - out << ") = " << api_data.hsa_signal_value_t_retval; - break; - } - case HSA_API_ID_hsa_signal_cas_scacquire: { - out << "hsa_signal_cas_scacquire("; - typedef decltype(api_data.args.hsa_signal_cas_scacquire.signal) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_cas_scacquire.signal) << ", "; - typedef decltype(api_data.args.hsa_signal_cas_scacquire.expected) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_cas_scacquire.expected) << ", "; - typedef decltype(api_data.args.hsa_signal_cas_scacquire.value) arg_val_type_t2; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_cas_scacquire.value); - out << ") = " << api_data.hsa_signal_value_t_retval; - break; - } - case HSA_API_ID_hsa_signal_cas_screlease: { - out << "hsa_signal_cas_screlease("; - typedef decltype(api_data.args.hsa_signal_cas_screlease.signal) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_cas_screlease.signal) << ", "; - typedef decltype(api_data.args.hsa_signal_cas_screlease.expected) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_cas_screlease.expected) << ", "; - typedef decltype(api_data.args.hsa_signal_cas_screlease.value) arg_val_type_t2; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_cas_screlease.value); - out << ") = " << api_data.hsa_signal_value_t_retval; - break; - } - case HSA_API_ID_hsa_signal_cas_scacq_screl: { - out << "hsa_signal_cas_scacq_screl("; - typedef decltype(api_data.args.hsa_signal_cas_scacq_screl.signal) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_cas_scacq_screl.signal) << ", "; - typedef decltype(api_data.args.hsa_signal_cas_scacq_screl.expected) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_cas_scacq_screl.expected) << ", "; - typedef decltype(api_data.args.hsa_signal_cas_scacq_screl.value) arg_val_type_t2; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_cas_scacq_screl.value); - out << ") = " << api_data.hsa_signal_value_t_retval; - break; - } - case HSA_API_ID_hsa_isa_from_name: { - out << "hsa_isa_from_name("; - typedef decltype(api_data.args.hsa_isa_from_name.name) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_isa_from_name.name) << ", "; - typedef decltype(api_data.args.hsa_isa_from_name.isa) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_isa_from_name.isa); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_isa_get_info: { - out << "hsa_isa_get_info("; - typedef decltype(api_data.args.hsa_isa_get_info.isa) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_isa_get_info.isa) << ", "; - typedef decltype(api_data.args.hsa_isa_get_info.attribute) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_isa_get_info.attribute) << ", "; - typedef decltype(api_data.args.hsa_isa_get_info.index) arg_val_type_t2; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_isa_get_info.index) << ", "; - typedef decltype(api_data.args.hsa_isa_get_info.value) arg_val_type_t3; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_isa_get_info.value); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_isa_compatible: { - out << "hsa_isa_compatible("; - typedef decltype(api_data.args.hsa_isa_compatible.code_object_isa) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_isa_compatible.code_object_isa) << ", "; - typedef decltype(api_data.args.hsa_isa_compatible.agent_isa) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_isa_compatible.agent_isa) << ", "; - typedef decltype(api_data.args.hsa_isa_compatible.result) arg_val_type_t2; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_isa_compatible.result); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_code_object_serialize: { - out << "hsa_code_object_serialize("; - typedef decltype(api_data.args.hsa_code_object_serialize.code_object) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_code_object_serialize.code_object) << ", "; - typedef decltype(api_data.args.hsa_code_object_serialize.alloc_callback) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_code_object_serialize.alloc_callback) << ", "; - typedef decltype(api_data.args.hsa_code_object_serialize.callback_data) arg_val_type_t2; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_code_object_serialize.callback_data) << ", "; - typedef decltype(api_data.args.hsa_code_object_serialize.options) arg_val_type_t3; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_code_object_serialize.options) << ", "; - typedef decltype(api_data.args.hsa_code_object_serialize.serialized_code_object) arg_val_type_t4; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_code_object_serialize.serialized_code_object) << ", "; - typedef decltype(api_data.args.hsa_code_object_serialize.serialized_code_object_size) arg_val_type_t5; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_code_object_serialize.serialized_code_object_size); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_code_object_deserialize: { - out << "hsa_code_object_deserialize("; - typedef decltype(api_data.args.hsa_code_object_deserialize.serialized_code_object) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_code_object_deserialize.serialized_code_object) << ", "; - typedef decltype(api_data.args.hsa_code_object_deserialize.serialized_code_object_size) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_code_object_deserialize.serialized_code_object_size) << ", "; - typedef decltype(api_data.args.hsa_code_object_deserialize.options) arg_val_type_t2; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_code_object_deserialize.options) << ", "; - typedef decltype(api_data.args.hsa_code_object_deserialize.code_object) arg_val_type_t3; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_code_object_deserialize.code_object); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_code_object_destroy: { - out << "hsa_code_object_destroy("; - typedef decltype(api_data.args.hsa_code_object_destroy.code_object) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_code_object_destroy.code_object); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_code_object_get_info: { - out << "hsa_code_object_get_info("; - typedef decltype(api_data.args.hsa_code_object_get_info.code_object) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_code_object_get_info.code_object) << ", "; - typedef decltype(api_data.args.hsa_code_object_get_info.attribute) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_code_object_get_info.attribute) << ", "; - typedef decltype(api_data.args.hsa_code_object_get_info.value) arg_val_type_t2; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_code_object_get_info.value); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_code_object_get_symbol: { - out << "hsa_code_object_get_symbol("; - typedef decltype(api_data.args.hsa_code_object_get_symbol.code_object) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_code_object_get_symbol.code_object) << ", "; - typedef decltype(api_data.args.hsa_code_object_get_symbol.symbol_name) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_code_object_get_symbol.symbol_name) << ", "; - typedef decltype(api_data.args.hsa_code_object_get_symbol.symbol) arg_val_type_t2; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_code_object_get_symbol.symbol); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_code_symbol_get_info: { - out << "hsa_code_symbol_get_info("; - typedef decltype(api_data.args.hsa_code_symbol_get_info.code_symbol) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_code_symbol_get_info.code_symbol) << ", "; - typedef decltype(api_data.args.hsa_code_symbol_get_info.attribute) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_code_symbol_get_info.attribute) << ", "; - typedef decltype(api_data.args.hsa_code_symbol_get_info.value) arg_val_type_t2; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_code_symbol_get_info.value); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_code_object_iterate_symbols: { - out << "hsa_code_object_iterate_symbols("; - typedef decltype(api_data.args.hsa_code_object_iterate_symbols.code_object) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_code_object_iterate_symbols.code_object) << ", "; - typedef decltype(api_data.args.hsa_code_object_iterate_symbols.callback) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_code_object_iterate_symbols.callback) << ", "; - typedef decltype(api_data.args.hsa_code_object_iterate_symbols.data) arg_val_type_t2; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_code_object_iterate_symbols.data); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_executable_create: { - out << "hsa_executable_create("; - typedef decltype(api_data.args.hsa_executable_create.profile) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_create.profile) << ", "; - typedef decltype(api_data.args.hsa_executable_create.executable_state) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_create.executable_state) << ", "; - typedef decltype(api_data.args.hsa_executable_create.options) arg_val_type_t2; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_create.options) << ", "; - typedef decltype(api_data.args.hsa_executable_create.executable) arg_val_type_t3; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_create.executable); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_executable_destroy: { - out << "hsa_executable_destroy("; - typedef decltype(api_data.args.hsa_executable_destroy.executable) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_destroy.executable); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_executable_load_code_object: { - out << "hsa_executable_load_code_object("; - typedef decltype(api_data.args.hsa_executable_load_code_object.executable) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_load_code_object.executable) << ", "; - typedef decltype(api_data.args.hsa_executable_load_code_object.agent) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_load_code_object.agent) << ", "; - typedef decltype(api_data.args.hsa_executable_load_code_object.code_object) arg_val_type_t2; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_load_code_object.code_object) << ", "; - typedef decltype(api_data.args.hsa_executable_load_code_object.options) arg_val_type_t3; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_load_code_object.options); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_executable_freeze: { - out << "hsa_executable_freeze("; - typedef decltype(api_data.args.hsa_executable_freeze.executable) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_freeze.executable) << ", "; - typedef decltype(api_data.args.hsa_executable_freeze.options) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_freeze.options); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_executable_get_info: { - out << "hsa_executable_get_info("; - typedef decltype(api_data.args.hsa_executable_get_info.executable) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_get_info.executable) << ", "; - typedef decltype(api_data.args.hsa_executable_get_info.attribute) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_get_info.attribute) << ", "; - typedef decltype(api_data.args.hsa_executable_get_info.value) arg_val_type_t2; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_get_info.value); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_executable_global_variable_define: { - out << "hsa_executable_global_variable_define("; - typedef decltype(api_data.args.hsa_executable_global_variable_define.executable) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_global_variable_define.executable) << ", "; - typedef decltype(api_data.args.hsa_executable_global_variable_define.variable_name) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_global_variable_define.variable_name) << ", "; - typedef decltype(api_data.args.hsa_executable_global_variable_define.address) arg_val_type_t2; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_global_variable_define.address); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_executable_agent_global_variable_define: { - out << "hsa_executable_agent_global_variable_define("; - typedef decltype(api_data.args.hsa_executable_agent_global_variable_define.executable) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_agent_global_variable_define.executable) << ", "; - typedef decltype(api_data.args.hsa_executable_agent_global_variable_define.agent) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_agent_global_variable_define.agent) << ", "; - typedef decltype(api_data.args.hsa_executable_agent_global_variable_define.variable_name) arg_val_type_t2; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_agent_global_variable_define.variable_name) << ", "; - typedef decltype(api_data.args.hsa_executable_agent_global_variable_define.address) arg_val_type_t3; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_agent_global_variable_define.address); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_executable_readonly_variable_define: { - out << "hsa_executable_readonly_variable_define("; - typedef decltype(api_data.args.hsa_executable_readonly_variable_define.executable) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_readonly_variable_define.executable) << ", "; - typedef decltype(api_data.args.hsa_executable_readonly_variable_define.agent) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_readonly_variable_define.agent) << ", "; - typedef decltype(api_data.args.hsa_executable_readonly_variable_define.variable_name) arg_val_type_t2; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_readonly_variable_define.variable_name) << ", "; - typedef decltype(api_data.args.hsa_executable_readonly_variable_define.address) arg_val_type_t3; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_readonly_variable_define.address); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_executable_validate: { - out << "hsa_executable_validate("; - typedef decltype(api_data.args.hsa_executable_validate.executable) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_validate.executable) << ", "; - typedef decltype(api_data.args.hsa_executable_validate.result) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_validate.result); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_executable_get_symbol: { - out << "hsa_executable_get_symbol("; - typedef decltype(api_data.args.hsa_executable_get_symbol.executable) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_get_symbol.executable) << ", "; - typedef decltype(api_data.args.hsa_executable_get_symbol.module_name) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_get_symbol.module_name) << ", "; - typedef decltype(api_data.args.hsa_executable_get_symbol.symbol_name) arg_val_type_t2; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_get_symbol.symbol_name) << ", "; - typedef decltype(api_data.args.hsa_executable_get_symbol.agent) arg_val_type_t3; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_get_symbol.agent) << ", "; - typedef decltype(api_data.args.hsa_executable_get_symbol.call_convention) arg_val_type_t4; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_get_symbol.call_convention) << ", "; - typedef decltype(api_data.args.hsa_executable_get_symbol.symbol) arg_val_type_t5; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_get_symbol.symbol); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_executable_symbol_get_info: { - out << "hsa_executable_symbol_get_info("; - typedef decltype(api_data.args.hsa_executable_symbol_get_info.executable_symbol) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_symbol_get_info.executable_symbol) << ", "; - typedef decltype(api_data.args.hsa_executable_symbol_get_info.attribute) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_symbol_get_info.attribute) << ", "; - typedef decltype(api_data.args.hsa_executable_symbol_get_info.value) arg_val_type_t2; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_symbol_get_info.value); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_executable_iterate_symbols: { - out << "hsa_executable_iterate_symbols("; - typedef decltype(api_data.args.hsa_executable_iterate_symbols.executable) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_iterate_symbols.executable) << ", "; - typedef decltype(api_data.args.hsa_executable_iterate_symbols.callback) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_iterate_symbols.callback) << ", "; - typedef decltype(api_data.args.hsa_executable_iterate_symbols.data) arg_val_type_t2; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_iterate_symbols.data); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_status_string: { - out << "hsa_status_string("; - typedef decltype(api_data.args.hsa_status_string.status) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_status_string.status) << ", "; - typedef decltype(api_data.args.hsa_status_string.status_string) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_status_string.status_string); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_extension_get_name: { - out << "hsa_extension_get_name("; - typedef decltype(api_data.args.hsa_extension_get_name.extension) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_extension_get_name.extension) << ", "; - typedef decltype(api_data.args.hsa_extension_get_name.name) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_extension_get_name.name); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_system_major_extension_supported: { - out << "hsa_system_major_extension_supported("; - typedef decltype(api_data.args.hsa_system_major_extension_supported.extension) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_system_major_extension_supported.extension) << ", "; - typedef decltype(api_data.args.hsa_system_major_extension_supported.version_major) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_system_major_extension_supported.version_major) << ", "; - typedef decltype(api_data.args.hsa_system_major_extension_supported.version_minor) arg_val_type_t2; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_system_major_extension_supported.version_minor) << ", "; - typedef decltype(api_data.args.hsa_system_major_extension_supported.result) arg_val_type_t3; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_system_major_extension_supported.result); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_system_get_major_extension_table: { - out << "hsa_system_get_major_extension_table("; - typedef decltype(api_data.args.hsa_system_get_major_extension_table.extension) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_system_get_major_extension_table.extension) << ", "; - typedef decltype(api_data.args.hsa_system_get_major_extension_table.version_major) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_system_get_major_extension_table.version_major) << ", "; - typedef decltype(api_data.args.hsa_system_get_major_extension_table.table_length) arg_val_type_t2; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_system_get_major_extension_table.table_length) << ", "; - typedef decltype(api_data.args.hsa_system_get_major_extension_table.table) arg_val_type_t3; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_system_get_major_extension_table.table); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_agent_major_extension_supported: { - out << "hsa_agent_major_extension_supported("; - typedef decltype(api_data.args.hsa_agent_major_extension_supported.extension) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_agent_major_extension_supported.extension) << ", "; - typedef decltype(api_data.args.hsa_agent_major_extension_supported.agent) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_agent_major_extension_supported.agent) << ", "; - typedef decltype(api_data.args.hsa_agent_major_extension_supported.version_major) arg_val_type_t2; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_agent_major_extension_supported.version_major) << ", "; - typedef decltype(api_data.args.hsa_agent_major_extension_supported.version_minor) arg_val_type_t3; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_agent_major_extension_supported.version_minor) << ", "; - typedef decltype(api_data.args.hsa_agent_major_extension_supported.result) arg_val_type_t4; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_agent_major_extension_supported.result); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_cache_get_info: { - out << "hsa_cache_get_info("; - typedef decltype(api_data.args.hsa_cache_get_info.cache) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_cache_get_info.cache) << ", "; - typedef decltype(api_data.args.hsa_cache_get_info.attribute) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_cache_get_info.attribute) << ", "; - typedef decltype(api_data.args.hsa_cache_get_info.value) arg_val_type_t2; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_cache_get_info.value); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_agent_iterate_caches: { - out << "hsa_agent_iterate_caches("; - typedef decltype(api_data.args.hsa_agent_iterate_caches.agent) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_agent_iterate_caches.agent) << ", "; - typedef decltype(api_data.args.hsa_agent_iterate_caches.callback) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_agent_iterate_caches.callback) << ", "; - typedef decltype(api_data.args.hsa_agent_iterate_caches.data) arg_val_type_t2; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_agent_iterate_caches.data); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_signal_silent_store_relaxed: { - out << "hsa_signal_silent_store_relaxed("; - typedef decltype(api_data.args.hsa_signal_silent_store_relaxed.signal) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_silent_store_relaxed.signal) << ", "; - typedef decltype(api_data.args.hsa_signal_silent_store_relaxed.value) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_silent_store_relaxed.value); - out << ") = void"; - break; - } - case HSA_API_ID_hsa_signal_silent_store_screlease: { - out << "hsa_signal_silent_store_screlease("; - typedef decltype(api_data.args.hsa_signal_silent_store_screlease.signal) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_silent_store_screlease.signal) << ", "; - typedef decltype(api_data.args.hsa_signal_silent_store_screlease.value) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_silent_store_screlease.value); - out << ") = void"; - break; - } - case HSA_API_ID_hsa_signal_group_create: { - out << "hsa_signal_group_create("; - typedef decltype(api_data.args.hsa_signal_group_create.num_signals) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_group_create.num_signals) << ", "; - typedef decltype(api_data.args.hsa_signal_group_create.signals) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_group_create.signals) << ", "; - typedef decltype(api_data.args.hsa_signal_group_create.num_consumers) arg_val_type_t2; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_group_create.num_consumers) << ", "; - typedef decltype(api_data.args.hsa_signal_group_create.consumers) arg_val_type_t3; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_group_create.consumers) << ", "; - typedef decltype(api_data.args.hsa_signal_group_create.signal_group) arg_val_type_t4; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_group_create.signal_group); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_signal_group_destroy: { - out << "hsa_signal_group_destroy("; - typedef decltype(api_data.args.hsa_signal_group_destroy.signal_group) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_group_destroy.signal_group); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_signal_group_wait_any_scacquire: { - out << "hsa_signal_group_wait_any_scacquire("; - typedef decltype(api_data.args.hsa_signal_group_wait_any_scacquire.signal_group) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_group_wait_any_scacquire.signal_group) << ", "; - typedef decltype(api_data.args.hsa_signal_group_wait_any_scacquire.conditions) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_group_wait_any_scacquire.conditions) << ", "; - typedef decltype(api_data.args.hsa_signal_group_wait_any_scacquire.compare_values) arg_val_type_t2; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_group_wait_any_scacquire.compare_values) << ", "; - typedef decltype(api_data.args.hsa_signal_group_wait_any_scacquire.wait_state_hint) arg_val_type_t3; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_group_wait_any_scacquire.wait_state_hint) << ", "; - typedef decltype(api_data.args.hsa_signal_group_wait_any_scacquire.signal) arg_val_type_t4; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_group_wait_any_scacquire.signal) << ", "; - typedef decltype(api_data.args.hsa_signal_group_wait_any_scacquire.value) arg_val_type_t5; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_group_wait_any_scacquire.value); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_signal_group_wait_any_relaxed: { - out << "hsa_signal_group_wait_any_relaxed("; - typedef decltype(api_data.args.hsa_signal_group_wait_any_relaxed.signal_group) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_group_wait_any_relaxed.signal_group) << ", "; - typedef decltype(api_data.args.hsa_signal_group_wait_any_relaxed.conditions) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_group_wait_any_relaxed.conditions) << ", "; - typedef decltype(api_data.args.hsa_signal_group_wait_any_relaxed.compare_values) arg_val_type_t2; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_group_wait_any_relaxed.compare_values) << ", "; - typedef decltype(api_data.args.hsa_signal_group_wait_any_relaxed.wait_state_hint) arg_val_type_t3; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_group_wait_any_relaxed.wait_state_hint) << ", "; - typedef decltype(api_data.args.hsa_signal_group_wait_any_relaxed.signal) arg_val_type_t4; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_group_wait_any_relaxed.signal) << ", "; - typedef decltype(api_data.args.hsa_signal_group_wait_any_relaxed.value) arg_val_type_t5; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_group_wait_any_relaxed.value); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_agent_iterate_isas: { - out << "hsa_agent_iterate_isas("; - typedef decltype(api_data.args.hsa_agent_iterate_isas.agent) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_agent_iterate_isas.agent) << ", "; - typedef decltype(api_data.args.hsa_agent_iterate_isas.callback) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_agent_iterate_isas.callback) << ", "; - typedef decltype(api_data.args.hsa_agent_iterate_isas.data) arg_val_type_t2; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_agent_iterate_isas.data); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_isa_get_info_alt: { - out << "hsa_isa_get_info_alt("; - typedef decltype(api_data.args.hsa_isa_get_info_alt.isa) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_isa_get_info_alt.isa) << ", "; - typedef decltype(api_data.args.hsa_isa_get_info_alt.attribute) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_isa_get_info_alt.attribute) << ", "; - typedef decltype(api_data.args.hsa_isa_get_info_alt.value) arg_val_type_t2; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_isa_get_info_alt.value); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_isa_get_exception_policies: { - out << "hsa_isa_get_exception_policies("; - typedef decltype(api_data.args.hsa_isa_get_exception_policies.isa) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_isa_get_exception_policies.isa) << ", "; - typedef decltype(api_data.args.hsa_isa_get_exception_policies.profile) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_isa_get_exception_policies.profile) << ", "; - typedef decltype(api_data.args.hsa_isa_get_exception_policies.mask) arg_val_type_t2; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_isa_get_exception_policies.mask); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_isa_get_round_method: { - out << "hsa_isa_get_round_method("; - typedef decltype(api_data.args.hsa_isa_get_round_method.isa) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_isa_get_round_method.isa) << ", "; - typedef decltype(api_data.args.hsa_isa_get_round_method.fp_type) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_isa_get_round_method.fp_type) << ", "; - typedef decltype(api_data.args.hsa_isa_get_round_method.flush_mode) arg_val_type_t2; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_isa_get_round_method.flush_mode) << ", "; - typedef decltype(api_data.args.hsa_isa_get_round_method.round_method) arg_val_type_t3; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_isa_get_round_method.round_method); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_wavefront_get_info: { - out << "hsa_wavefront_get_info("; - typedef decltype(api_data.args.hsa_wavefront_get_info.wavefront) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_wavefront_get_info.wavefront) << ", "; - typedef decltype(api_data.args.hsa_wavefront_get_info.attribute) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_wavefront_get_info.attribute) << ", "; - typedef decltype(api_data.args.hsa_wavefront_get_info.value) arg_val_type_t2; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_wavefront_get_info.value); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_isa_iterate_wavefronts: { - out << "hsa_isa_iterate_wavefronts("; - typedef decltype(api_data.args.hsa_isa_iterate_wavefronts.isa) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_isa_iterate_wavefronts.isa) << ", "; - typedef decltype(api_data.args.hsa_isa_iterate_wavefronts.callback) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_isa_iterate_wavefronts.callback) << ", "; - typedef decltype(api_data.args.hsa_isa_iterate_wavefronts.data) arg_val_type_t2; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_isa_iterate_wavefronts.data); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_code_object_get_symbol_from_name: { - out << "hsa_code_object_get_symbol_from_name("; - typedef decltype(api_data.args.hsa_code_object_get_symbol_from_name.code_object) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_code_object_get_symbol_from_name.code_object) << ", "; - typedef decltype(api_data.args.hsa_code_object_get_symbol_from_name.module_name) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_code_object_get_symbol_from_name.module_name) << ", "; - typedef decltype(api_data.args.hsa_code_object_get_symbol_from_name.symbol_name) arg_val_type_t2; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_code_object_get_symbol_from_name.symbol_name) << ", "; - typedef decltype(api_data.args.hsa_code_object_get_symbol_from_name.symbol) arg_val_type_t3; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_code_object_get_symbol_from_name.symbol); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_code_object_reader_create_from_file: { - out << "hsa_code_object_reader_create_from_file("; - typedef decltype(api_data.args.hsa_code_object_reader_create_from_file.file) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_code_object_reader_create_from_file.file) << ", "; - typedef decltype(api_data.args.hsa_code_object_reader_create_from_file.code_object_reader) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_code_object_reader_create_from_file.code_object_reader); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_code_object_reader_create_from_memory: { - out << "hsa_code_object_reader_create_from_memory("; - typedef decltype(api_data.args.hsa_code_object_reader_create_from_memory.code_object) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_code_object_reader_create_from_memory.code_object) << ", "; - typedef decltype(api_data.args.hsa_code_object_reader_create_from_memory.size) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_code_object_reader_create_from_memory.size) << ", "; - typedef decltype(api_data.args.hsa_code_object_reader_create_from_memory.code_object_reader) arg_val_type_t2; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_code_object_reader_create_from_memory.code_object_reader); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_code_object_reader_destroy: { - out << "hsa_code_object_reader_destroy("; - typedef decltype(api_data.args.hsa_code_object_reader_destroy.code_object_reader) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_code_object_reader_destroy.code_object_reader); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_executable_create_alt: { - out << "hsa_executable_create_alt("; - typedef decltype(api_data.args.hsa_executable_create_alt.profile) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_create_alt.profile) << ", "; - typedef decltype(api_data.args.hsa_executable_create_alt.default_float_rounding_mode) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_create_alt.default_float_rounding_mode) << ", "; - typedef decltype(api_data.args.hsa_executable_create_alt.options) arg_val_type_t2; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_create_alt.options) << ", "; - typedef decltype(api_data.args.hsa_executable_create_alt.executable) arg_val_type_t3; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_create_alt.executable); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_executable_load_program_code_object: { - out << "hsa_executable_load_program_code_object("; - typedef decltype(api_data.args.hsa_executable_load_program_code_object.executable) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_load_program_code_object.executable) << ", "; - typedef decltype(api_data.args.hsa_executable_load_program_code_object.code_object_reader) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_load_program_code_object.code_object_reader) << ", "; - typedef decltype(api_data.args.hsa_executable_load_program_code_object.options) arg_val_type_t2; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_load_program_code_object.options) << ", "; - typedef decltype(api_data.args.hsa_executable_load_program_code_object.loaded_code_object) arg_val_type_t3; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_load_program_code_object.loaded_code_object); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_executable_load_agent_code_object: { - out << "hsa_executable_load_agent_code_object("; - typedef decltype(api_data.args.hsa_executable_load_agent_code_object.executable) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_load_agent_code_object.executable) << ", "; - typedef decltype(api_data.args.hsa_executable_load_agent_code_object.agent) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_load_agent_code_object.agent) << ", "; - typedef decltype(api_data.args.hsa_executable_load_agent_code_object.code_object_reader) arg_val_type_t2; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_load_agent_code_object.code_object_reader) << ", "; - typedef decltype(api_data.args.hsa_executable_load_agent_code_object.options) arg_val_type_t3; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_load_agent_code_object.options) << ", "; - typedef decltype(api_data.args.hsa_executable_load_agent_code_object.loaded_code_object) arg_val_type_t4; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_load_agent_code_object.loaded_code_object); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_executable_validate_alt: { - out << "hsa_executable_validate_alt("; - typedef decltype(api_data.args.hsa_executable_validate_alt.executable) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_validate_alt.executable) << ", "; - typedef decltype(api_data.args.hsa_executable_validate_alt.options) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_validate_alt.options) << ", "; - typedef decltype(api_data.args.hsa_executable_validate_alt.result) arg_val_type_t2; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_validate_alt.result); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_executable_get_symbol_by_name: { - out << "hsa_executable_get_symbol_by_name("; - typedef decltype(api_data.args.hsa_executable_get_symbol_by_name.executable) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_get_symbol_by_name.executable) << ", "; - typedef decltype(api_data.args.hsa_executable_get_symbol_by_name.symbol_name) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_get_symbol_by_name.symbol_name) << ", "; - typedef decltype(api_data.args.hsa_executable_get_symbol_by_name.agent) arg_val_type_t2; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_get_symbol_by_name.agent) << ", "; - typedef decltype(api_data.args.hsa_executable_get_symbol_by_name.symbol) arg_val_type_t3; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_get_symbol_by_name.symbol); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_executable_iterate_agent_symbols: { - out << "hsa_executable_iterate_agent_symbols("; - typedef decltype(api_data.args.hsa_executable_iterate_agent_symbols.executable) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_iterate_agent_symbols.executable) << ", "; - typedef decltype(api_data.args.hsa_executable_iterate_agent_symbols.agent) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_iterate_agent_symbols.agent) << ", "; - typedef decltype(api_data.args.hsa_executable_iterate_agent_symbols.callback) arg_val_type_t2; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_iterate_agent_symbols.callback) << ", "; - typedef decltype(api_data.args.hsa_executable_iterate_agent_symbols.data) arg_val_type_t3; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_iterate_agent_symbols.data); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_executable_iterate_program_symbols: { - out << "hsa_executable_iterate_program_symbols("; - typedef decltype(api_data.args.hsa_executable_iterate_program_symbols.executable) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_iterate_program_symbols.executable) << ", "; - typedef decltype(api_data.args.hsa_executable_iterate_program_symbols.callback) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_iterate_program_symbols.callback) << ", "; - typedef decltype(api_data.args.hsa_executable_iterate_program_symbols.data) arg_val_type_t2; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_iterate_program_symbols.data); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - - // block: AmdExtTable API - case HSA_API_ID_hsa_amd_coherency_get_type: { - out << "hsa_amd_coherency_get_type("; - typedef decltype(api_data.args.hsa_amd_coherency_get_type.agent) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_coherency_get_type.agent) << ", "; - typedef decltype(api_data.args.hsa_amd_coherency_get_type.type) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_coherency_get_type.type); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_amd_coherency_set_type: { - out << "hsa_amd_coherency_set_type("; - typedef decltype(api_data.args.hsa_amd_coherency_set_type.agent) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_coherency_set_type.agent) << ", "; - typedef decltype(api_data.args.hsa_amd_coherency_set_type.type) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_coherency_set_type.type); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_amd_profiling_set_profiler_enabled: { - out << "hsa_amd_profiling_set_profiler_enabled("; - typedef decltype(api_data.args.hsa_amd_profiling_set_profiler_enabled.queue) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_profiling_set_profiler_enabled.queue) << ", "; - typedef decltype(api_data.args.hsa_amd_profiling_set_profiler_enabled.enable) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_profiling_set_profiler_enabled.enable); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_amd_profiling_async_copy_enable: { - out << "hsa_amd_profiling_async_copy_enable("; - typedef decltype(api_data.args.hsa_amd_profiling_async_copy_enable.enable) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_profiling_async_copy_enable.enable); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_amd_profiling_get_dispatch_time: { - out << "hsa_amd_profiling_get_dispatch_time("; - typedef decltype(api_data.args.hsa_amd_profiling_get_dispatch_time.agent) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_profiling_get_dispatch_time.agent) << ", "; - typedef decltype(api_data.args.hsa_amd_profiling_get_dispatch_time.signal) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_profiling_get_dispatch_time.signal) << ", "; - typedef decltype(api_data.args.hsa_amd_profiling_get_dispatch_time.time) arg_val_type_t2; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_profiling_get_dispatch_time.time); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_amd_profiling_get_async_copy_time: { - out << "hsa_amd_profiling_get_async_copy_time("; - typedef decltype(api_data.args.hsa_amd_profiling_get_async_copy_time.signal) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_profiling_get_async_copy_time.signal) << ", "; - typedef decltype(api_data.args.hsa_amd_profiling_get_async_copy_time.time) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_profiling_get_async_copy_time.time); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_amd_profiling_convert_tick_to_system_domain: { - out << "hsa_amd_profiling_convert_tick_to_system_domain("; - typedef decltype(api_data.args.hsa_amd_profiling_convert_tick_to_system_domain.agent) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_profiling_convert_tick_to_system_domain.agent) << ", "; - typedef decltype(api_data.args.hsa_amd_profiling_convert_tick_to_system_domain.agent_tick) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_profiling_convert_tick_to_system_domain.agent_tick) << ", "; - typedef decltype(api_data.args.hsa_amd_profiling_convert_tick_to_system_domain.system_tick) arg_val_type_t2; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_profiling_convert_tick_to_system_domain.system_tick); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_amd_signal_async_handler: { - out << "hsa_amd_signal_async_handler("; - typedef decltype(api_data.args.hsa_amd_signal_async_handler.signal) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_signal_async_handler.signal) << ", "; - typedef decltype(api_data.args.hsa_amd_signal_async_handler.cond) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_signal_async_handler.cond) << ", "; - typedef decltype(api_data.args.hsa_amd_signal_async_handler.value) arg_val_type_t2; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_signal_async_handler.value) << ", "; - typedef decltype(api_data.args.hsa_amd_signal_async_handler.handler) arg_val_type_t3; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_signal_async_handler.handler) << ", "; - typedef decltype(api_data.args.hsa_amd_signal_async_handler.arg) arg_val_type_t4; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_signal_async_handler.arg); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_amd_async_function: { - out << "hsa_amd_async_function("; - typedef decltype(api_data.args.hsa_amd_async_function.callback) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_async_function.callback) << ", "; - typedef decltype(api_data.args.hsa_amd_async_function.arg) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_async_function.arg); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_amd_signal_wait_any: { - out << "hsa_amd_signal_wait_any("; - typedef decltype(api_data.args.hsa_amd_signal_wait_any.signal_count) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_signal_wait_any.signal_count) << ", "; - typedef decltype(api_data.args.hsa_amd_signal_wait_any.signals) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_signal_wait_any.signals) << ", "; - typedef decltype(api_data.args.hsa_amd_signal_wait_any.conds) arg_val_type_t2; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_signal_wait_any.conds) << ", "; - typedef decltype(api_data.args.hsa_amd_signal_wait_any.values) arg_val_type_t3; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_signal_wait_any.values) << ", "; - typedef decltype(api_data.args.hsa_amd_signal_wait_any.timeout_hint) arg_val_type_t4; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_signal_wait_any.timeout_hint) << ", "; - typedef decltype(api_data.args.hsa_amd_signal_wait_any.wait_hint) arg_val_type_t5; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_signal_wait_any.wait_hint) << ", "; - typedef decltype(api_data.args.hsa_amd_signal_wait_any.satisfying_value) arg_val_type_t6; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_signal_wait_any.satisfying_value); - out << ") = " << api_data.uint32_t_retval; - break; - } - case HSA_API_ID_hsa_amd_queue_cu_set_mask: { - out << "hsa_amd_queue_cu_set_mask("; - typedef decltype(api_data.args.hsa_amd_queue_cu_set_mask.queue) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_queue_cu_set_mask.queue) << ", "; - typedef decltype(api_data.args.hsa_amd_queue_cu_set_mask.num_cu_mask_count) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_queue_cu_set_mask.num_cu_mask_count) << ", "; - typedef decltype(api_data.args.hsa_amd_queue_cu_set_mask.cu_mask) arg_val_type_t2; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_queue_cu_set_mask.cu_mask); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_amd_memory_pool_get_info: { - out << "hsa_amd_memory_pool_get_info("; - typedef decltype(api_data.args.hsa_amd_memory_pool_get_info.memory_pool) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_pool_get_info.memory_pool) << ", "; - typedef decltype(api_data.args.hsa_amd_memory_pool_get_info.attribute) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_pool_get_info.attribute) << ", "; - typedef decltype(api_data.args.hsa_amd_memory_pool_get_info.value) arg_val_type_t2; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_pool_get_info.value); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_amd_agent_iterate_memory_pools: { - out << "hsa_amd_agent_iterate_memory_pools("; - typedef decltype(api_data.args.hsa_amd_agent_iterate_memory_pools.agent) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_agent_iterate_memory_pools.agent) << ", "; - typedef decltype(api_data.args.hsa_amd_agent_iterate_memory_pools.callback) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_agent_iterate_memory_pools.callback) << ", "; - typedef decltype(api_data.args.hsa_amd_agent_iterate_memory_pools.data) arg_val_type_t2; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_agent_iterate_memory_pools.data); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_amd_memory_pool_allocate: { - out << "hsa_amd_memory_pool_allocate("; - typedef decltype(api_data.args.hsa_amd_memory_pool_allocate.memory_pool) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_pool_allocate.memory_pool) << ", "; - typedef decltype(api_data.args.hsa_amd_memory_pool_allocate.size) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_pool_allocate.size) << ", "; - typedef decltype(api_data.args.hsa_amd_memory_pool_allocate.flags) arg_val_type_t2; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_pool_allocate.flags) << ", "; - typedef decltype(api_data.args.hsa_amd_memory_pool_allocate.ptr) arg_val_type_t3; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_pool_allocate.ptr); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_amd_memory_pool_free: { - out << "hsa_amd_memory_pool_free("; - typedef decltype(api_data.args.hsa_amd_memory_pool_free.ptr) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_pool_free.ptr); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_amd_memory_async_copy: { - out << "hsa_amd_memory_async_copy("; - typedef decltype(api_data.args.hsa_amd_memory_async_copy.dst) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_async_copy.dst) << ", "; - typedef decltype(api_data.args.hsa_amd_memory_async_copy.dst_agent) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_async_copy.dst_agent) << ", "; - typedef decltype(api_data.args.hsa_amd_memory_async_copy.src) arg_val_type_t2; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_async_copy.src) << ", "; - typedef decltype(api_data.args.hsa_amd_memory_async_copy.src_agent) arg_val_type_t3; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_async_copy.src_agent) << ", "; - typedef decltype(api_data.args.hsa_amd_memory_async_copy.size) arg_val_type_t4; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_async_copy.size) << ", "; - typedef decltype(api_data.args.hsa_amd_memory_async_copy.num_dep_signals) arg_val_type_t5; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_async_copy.num_dep_signals) << ", "; - typedef decltype(api_data.args.hsa_amd_memory_async_copy.dep_signals) arg_val_type_t6; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_async_copy.dep_signals) << ", "; - typedef decltype(api_data.args.hsa_amd_memory_async_copy.completion_signal) arg_val_type_t7; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_async_copy.completion_signal); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_amd_agent_memory_pool_get_info: { - out << "hsa_amd_agent_memory_pool_get_info("; - typedef decltype(api_data.args.hsa_amd_agent_memory_pool_get_info.agent) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_agent_memory_pool_get_info.agent) << ", "; - typedef decltype(api_data.args.hsa_amd_agent_memory_pool_get_info.memory_pool) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_agent_memory_pool_get_info.memory_pool) << ", "; - typedef decltype(api_data.args.hsa_amd_agent_memory_pool_get_info.attribute) arg_val_type_t2; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_agent_memory_pool_get_info.attribute) << ", "; - typedef decltype(api_data.args.hsa_amd_agent_memory_pool_get_info.value) arg_val_type_t3; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_agent_memory_pool_get_info.value); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_amd_agents_allow_access: { - out << "hsa_amd_agents_allow_access("; - typedef decltype(api_data.args.hsa_amd_agents_allow_access.num_agents) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_agents_allow_access.num_agents) << ", "; - typedef decltype(api_data.args.hsa_amd_agents_allow_access.agents) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_agents_allow_access.agents) << ", "; - typedef decltype(api_data.args.hsa_amd_agents_allow_access.flags) arg_val_type_t2; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_agents_allow_access.flags) << ", "; - typedef decltype(api_data.args.hsa_amd_agents_allow_access.ptr) arg_val_type_t3; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_agents_allow_access.ptr); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_amd_memory_pool_can_migrate: { - out << "hsa_amd_memory_pool_can_migrate("; - typedef decltype(api_data.args.hsa_amd_memory_pool_can_migrate.src_memory_pool) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_pool_can_migrate.src_memory_pool) << ", "; - typedef decltype(api_data.args.hsa_amd_memory_pool_can_migrate.dst_memory_pool) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_pool_can_migrate.dst_memory_pool) << ", "; - typedef decltype(api_data.args.hsa_amd_memory_pool_can_migrate.result) arg_val_type_t2; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_pool_can_migrate.result); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_amd_memory_migrate: { - out << "hsa_amd_memory_migrate("; - typedef decltype(api_data.args.hsa_amd_memory_migrate.ptr) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_migrate.ptr) << ", "; - typedef decltype(api_data.args.hsa_amd_memory_migrate.memory_pool) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_migrate.memory_pool) << ", "; - typedef decltype(api_data.args.hsa_amd_memory_migrate.flags) arg_val_type_t2; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_migrate.flags); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_amd_memory_lock: { - out << "hsa_amd_memory_lock("; - typedef decltype(api_data.args.hsa_amd_memory_lock.host_ptr) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_lock.host_ptr) << ", "; - typedef decltype(api_data.args.hsa_amd_memory_lock.size) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_lock.size) << ", "; - typedef decltype(api_data.args.hsa_amd_memory_lock.agents) arg_val_type_t2; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_lock.agents) << ", "; - typedef decltype(api_data.args.hsa_amd_memory_lock.num_agent) arg_val_type_t3; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_lock.num_agent) << ", "; - typedef decltype(api_data.args.hsa_amd_memory_lock.agent_ptr) arg_val_type_t4; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_lock.agent_ptr); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_amd_memory_unlock: { - out << "hsa_amd_memory_unlock("; - typedef decltype(api_data.args.hsa_amd_memory_unlock.host_ptr) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_unlock.host_ptr); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_amd_memory_fill: { - out << "hsa_amd_memory_fill("; - typedef decltype(api_data.args.hsa_amd_memory_fill.ptr) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_fill.ptr) << ", "; - typedef decltype(api_data.args.hsa_amd_memory_fill.value) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_fill.value) << ", "; - typedef decltype(api_data.args.hsa_amd_memory_fill.count) arg_val_type_t2; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_fill.count); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_amd_interop_map_buffer: { - out << "hsa_amd_interop_map_buffer("; - typedef decltype(api_data.args.hsa_amd_interop_map_buffer.num_agents) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_interop_map_buffer.num_agents) << ", "; - typedef decltype(api_data.args.hsa_amd_interop_map_buffer.agents) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_interop_map_buffer.agents) << ", "; - typedef decltype(api_data.args.hsa_amd_interop_map_buffer.interop_handle) arg_val_type_t2; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_interop_map_buffer.interop_handle) << ", "; - typedef decltype(api_data.args.hsa_amd_interop_map_buffer.flags) arg_val_type_t3; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_interop_map_buffer.flags) << ", "; - typedef decltype(api_data.args.hsa_amd_interop_map_buffer.size) arg_val_type_t4; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_interop_map_buffer.size) << ", "; - typedef decltype(api_data.args.hsa_amd_interop_map_buffer.ptr) arg_val_type_t5; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_interop_map_buffer.ptr) << ", "; - typedef decltype(api_data.args.hsa_amd_interop_map_buffer.metadata_size) arg_val_type_t6; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_interop_map_buffer.metadata_size) << ", "; - typedef decltype(api_data.args.hsa_amd_interop_map_buffer.metadata) arg_val_type_t7; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_interop_map_buffer.metadata); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_amd_interop_unmap_buffer: { - out << "hsa_amd_interop_unmap_buffer("; - typedef decltype(api_data.args.hsa_amd_interop_unmap_buffer.ptr) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_interop_unmap_buffer.ptr); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_amd_image_create: { - out << "hsa_amd_image_create("; - typedef decltype(api_data.args.hsa_amd_image_create.agent) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_image_create.agent) << ", "; - typedef decltype(api_data.args.hsa_amd_image_create.image_descriptor) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_image_create.image_descriptor) << ", "; - typedef decltype(api_data.args.hsa_amd_image_create.image_layout) arg_val_type_t2; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_image_create.image_layout) << ", "; - typedef decltype(api_data.args.hsa_amd_image_create.image_data) arg_val_type_t3; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_image_create.image_data) << ", "; - typedef decltype(api_data.args.hsa_amd_image_create.access_permission) arg_val_type_t4; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_image_create.access_permission) << ", "; - typedef decltype(api_data.args.hsa_amd_image_create.image) arg_val_type_t5; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_image_create.image); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_amd_pointer_info: { - out << "hsa_amd_pointer_info("; - typedef decltype(api_data.args.hsa_amd_pointer_info.ptr) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_pointer_info.ptr) << ", "; - typedef decltype(api_data.args.hsa_amd_pointer_info.info) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_pointer_info.info) << ", "; - typedef decltype(api_data.args.hsa_amd_pointer_info.alloc) arg_val_type_t2; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_pointer_info.alloc) << ", "; - typedef decltype(api_data.args.hsa_amd_pointer_info.num_agents_accessible) arg_val_type_t3; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_pointer_info.num_agents_accessible) << ", "; - typedef decltype(api_data.args.hsa_amd_pointer_info.accessible) arg_val_type_t4; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_pointer_info.accessible); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_amd_pointer_info_set_userdata: { - out << "hsa_amd_pointer_info_set_userdata("; - typedef decltype(api_data.args.hsa_amd_pointer_info_set_userdata.ptr) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_pointer_info_set_userdata.ptr) << ", "; - typedef decltype(api_data.args.hsa_amd_pointer_info_set_userdata.userdata) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_pointer_info_set_userdata.userdata); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_amd_ipc_memory_create: { - out << "hsa_amd_ipc_memory_create("; - typedef decltype(api_data.args.hsa_amd_ipc_memory_create.ptr) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_ipc_memory_create.ptr) << ", "; - typedef decltype(api_data.args.hsa_amd_ipc_memory_create.len) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_ipc_memory_create.len) << ", "; - typedef decltype(api_data.args.hsa_amd_ipc_memory_create.handle) arg_val_type_t2; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_ipc_memory_create.handle); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_amd_ipc_memory_attach: { - out << "hsa_amd_ipc_memory_attach("; - typedef decltype(api_data.args.hsa_amd_ipc_memory_attach.handle) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_ipc_memory_attach.handle) << ", "; - typedef decltype(api_data.args.hsa_amd_ipc_memory_attach.len) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_ipc_memory_attach.len) << ", "; - typedef decltype(api_data.args.hsa_amd_ipc_memory_attach.num_agents) arg_val_type_t2; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_ipc_memory_attach.num_agents) << ", "; - typedef decltype(api_data.args.hsa_amd_ipc_memory_attach.mapping_agents) arg_val_type_t3; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_ipc_memory_attach.mapping_agents) << ", "; - typedef decltype(api_data.args.hsa_amd_ipc_memory_attach.mapped_ptr) arg_val_type_t4; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_ipc_memory_attach.mapped_ptr); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_amd_ipc_memory_detach: { - out << "hsa_amd_ipc_memory_detach("; - typedef decltype(api_data.args.hsa_amd_ipc_memory_detach.mapped_ptr) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_ipc_memory_detach.mapped_ptr); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_amd_signal_create: { - out << "hsa_amd_signal_create("; - typedef decltype(api_data.args.hsa_amd_signal_create.initial_value) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_signal_create.initial_value) << ", "; - typedef decltype(api_data.args.hsa_amd_signal_create.num_consumers) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_signal_create.num_consumers) << ", "; - typedef decltype(api_data.args.hsa_amd_signal_create.consumers) arg_val_type_t2; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_signal_create.consumers) << ", "; - typedef decltype(api_data.args.hsa_amd_signal_create.attributes) arg_val_type_t3; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_signal_create.attributes) << ", "; - typedef decltype(api_data.args.hsa_amd_signal_create.signal) arg_val_type_t4; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_signal_create.signal); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_amd_ipc_signal_create: { - out << "hsa_amd_ipc_signal_create("; - typedef decltype(api_data.args.hsa_amd_ipc_signal_create.signal) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_ipc_signal_create.signal) << ", "; - typedef decltype(api_data.args.hsa_amd_ipc_signal_create.handle) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_ipc_signal_create.handle); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_amd_ipc_signal_attach: { - out << "hsa_amd_ipc_signal_attach("; - typedef decltype(api_data.args.hsa_amd_ipc_signal_attach.handle) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_ipc_signal_attach.handle) << ", "; - typedef decltype(api_data.args.hsa_amd_ipc_signal_attach.signal) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_ipc_signal_attach.signal); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_amd_register_system_event_handler: { - out << "hsa_amd_register_system_event_handler("; - typedef decltype(api_data.args.hsa_amd_register_system_event_handler.callback) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_register_system_event_handler.callback) << ", "; - typedef decltype(api_data.args.hsa_amd_register_system_event_handler.data) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_register_system_event_handler.data); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_amd_queue_intercept_create: { - out << "hsa_amd_queue_intercept_create("; - typedef decltype(api_data.args.hsa_amd_queue_intercept_create.agent_handle) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_queue_intercept_create.agent_handle) << ", "; - typedef decltype(api_data.args.hsa_amd_queue_intercept_create.size) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_queue_intercept_create.size) << ", "; - typedef decltype(api_data.args.hsa_amd_queue_intercept_create.type) arg_val_type_t2; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_queue_intercept_create.type) << ", "; - typedef decltype(api_data.args.hsa_amd_queue_intercept_create.callback) arg_val_type_t3; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_queue_intercept_create.callback) << ", "; - typedef decltype(api_data.args.hsa_amd_queue_intercept_create.data) arg_val_type_t4; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_queue_intercept_create.data) << ", "; - typedef decltype(api_data.args.hsa_amd_queue_intercept_create.private_segment_size) arg_val_type_t5; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_queue_intercept_create.private_segment_size) << ", "; - typedef decltype(api_data.args.hsa_amd_queue_intercept_create.group_segment_size) arg_val_type_t6; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_queue_intercept_create.group_segment_size) << ", "; - typedef decltype(api_data.args.hsa_amd_queue_intercept_create.queue) arg_val_type_t7; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_queue_intercept_create.queue); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_amd_queue_intercept_register: { - out << "hsa_amd_queue_intercept_register("; - typedef decltype(api_data.args.hsa_amd_queue_intercept_register.queue) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_queue_intercept_register.queue) << ", "; - typedef decltype(api_data.args.hsa_amd_queue_intercept_register.callback) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_queue_intercept_register.callback) << ", "; - typedef decltype(api_data.args.hsa_amd_queue_intercept_register.user_data) arg_val_type_t2; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_queue_intercept_register.user_data); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_amd_queue_set_priority: { - out << "hsa_amd_queue_set_priority("; - typedef decltype(api_data.args.hsa_amd_queue_set_priority.queue) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_queue_set_priority.queue) << ", "; - typedef decltype(api_data.args.hsa_amd_queue_set_priority.priority) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_queue_set_priority.priority); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_amd_memory_async_copy_rect: { - out << "hsa_amd_memory_async_copy_rect("; - typedef decltype(api_data.args.hsa_amd_memory_async_copy_rect.dst) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_async_copy_rect.dst) << ", "; - typedef decltype(api_data.args.hsa_amd_memory_async_copy_rect.dst_offset) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_async_copy_rect.dst_offset) << ", "; - typedef decltype(api_data.args.hsa_amd_memory_async_copy_rect.src) arg_val_type_t2; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_async_copy_rect.src) << ", "; - typedef decltype(api_data.args.hsa_amd_memory_async_copy_rect.src_offset) arg_val_type_t3; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_async_copy_rect.src_offset) << ", "; - typedef decltype(api_data.args.hsa_amd_memory_async_copy_rect.range) arg_val_type_t4; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_async_copy_rect.range) << ", "; - typedef decltype(api_data.args.hsa_amd_memory_async_copy_rect.copy_agent) arg_val_type_t5; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_async_copy_rect.copy_agent) << ", "; - typedef decltype(api_data.args.hsa_amd_memory_async_copy_rect.dir) arg_val_type_t6; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_async_copy_rect.dir) << ", "; - typedef decltype(api_data.args.hsa_amd_memory_async_copy_rect.num_dep_signals) arg_val_type_t7; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_async_copy_rect.num_dep_signals) << ", "; - typedef decltype(api_data.args.hsa_amd_memory_async_copy_rect.dep_signals) arg_val_type_t8; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_async_copy_rect.dep_signals) << ", "; - typedef decltype(api_data.args.hsa_amd_memory_async_copy_rect.completion_signal) arg_val_type_t9; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_async_copy_rect.completion_signal); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_amd_runtime_queue_create_register: { - out << "hsa_amd_runtime_queue_create_register("; - typedef decltype(api_data.args.hsa_amd_runtime_queue_create_register.callback) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_runtime_queue_create_register.callback) << ", "; - typedef decltype(api_data.args.hsa_amd_runtime_queue_create_register.user_data) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_runtime_queue_create_register.user_data); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - - // block: ImageExtTable API - case HSA_API_ID_hsa_ext_image_get_capability: { - out << "hsa_ext_image_get_capability("; - typedef decltype(api_data.args.hsa_ext_image_get_capability.agent) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_get_capability.agent) << ", "; - typedef decltype(api_data.args.hsa_ext_image_get_capability.geometry) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_get_capability.geometry) << ", "; - typedef decltype(api_data.args.hsa_ext_image_get_capability.image_format) arg_val_type_t2; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_get_capability.image_format) << ", "; - typedef decltype(api_data.args.hsa_ext_image_get_capability.capability_mask) arg_val_type_t3; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_get_capability.capability_mask); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_ext_image_data_get_info: { - out << "hsa_ext_image_data_get_info("; - typedef decltype(api_data.args.hsa_ext_image_data_get_info.agent) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_data_get_info.agent) << ", "; - typedef decltype(api_data.args.hsa_ext_image_data_get_info.image_descriptor) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_data_get_info.image_descriptor) << ", "; - typedef decltype(api_data.args.hsa_ext_image_data_get_info.access_permission) arg_val_type_t2; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_data_get_info.access_permission) << ", "; - typedef decltype(api_data.args.hsa_ext_image_data_get_info.image_data_info) arg_val_type_t3; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_data_get_info.image_data_info); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_ext_image_create: { - out << "hsa_ext_image_create("; - typedef decltype(api_data.args.hsa_ext_image_create.agent) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_create.agent) << ", "; - typedef decltype(api_data.args.hsa_ext_image_create.image_descriptor) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_create.image_descriptor) << ", "; - typedef decltype(api_data.args.hsa_ext_image_create.image_data) arg_val_type_t2; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_create.image_data) << ", "; - typedef decltype(api_data.args.hsa_ext_image_create.access_permission) arg_val_type_t3; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_create.access_permission) << ", "; - typedef decltype(api_data.args.hsa_ext_image_create.image) arg_val_type_t4; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_create.image); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_ext_image_import: { - out << "hsa_ext_image_import("; - typedef decltype(api_data.args.hsa_ext_image_import.agent) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_import.agent) << ", "; - typedef decltype(api_data.args.hsa_ext_image_import.src_memory) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_import.src_memory) << ", "; - typedef decltype(api_data.args.hsa_ext_image_import.src_row_pitch) arg_val_type_t2; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_import.src_row_pitch) << ", "; - typedef decltype(api_data.args.hsa_ext_image_import.src_slice_pitch) arg_val_type_t3; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_import.src_slice_pitch) << ", "; - typedef decltype(api_data.args.hsa_ext_image_import.dst_image) arg_val_type_t4; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_import.dst_image) << ", "; - typedef decltype(api_data.args.hsa_ext_image_import.image_region) arg_val_type_t5; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_import.image_region); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_ext_image_export: { - out << "hsa_ext_image_export("; - typedef decltype(api_data.args.hsa_ext_image_export.agent) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_export.agent) << ", "; - typedef decltype(api_data.args.hsa_ext_image_export.src_image) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_export.src_image) << ", "; - typedef decltype(api_data.args.hsa_ext_image_export.dst_memory) arg_val_type_t2; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_export.dst_memory) << ", "; - typedef decltype(api_data.args.hsa_ext_image_export.dst_row_pitch) arg_val_type_t3; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_export.dst_row_pitch) << ", "; - typedef decltype(api_data.args.hsa_ext_image_export.dst_slice_pitch) arg_val_type_t4; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_export.dst_slice_pitch) << ", "; - typedef decltype(api_data.args.hsa_ext_image_export.image_region) arg_val_type_t5; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_export.image_region); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_ext_image_copy: { - out << "hsa_ext_image_copy("; - typedef decltype(api_data.args.hsa_ext_image_copy.agent) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_copy.agent) << ", "; - typedef decltype(api_data.args.hsa_ext_image_copy.src_image) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_copy.src_image) << ", "; - typedef decltype(api_data.args.hsa_ext_image_copy.src_offset) arg_val_type_t2; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_copy.src_offset) << ", "; - typedef decltype(api_data.args.hsa_ext_image_copy.dst_image) arg_val_type_t3; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_copy.dst_image) << ", "; - typedef decltype(api_data.args.hsa_ext_image_copy.dst_offset) arg_val_type_t4; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_copy.dst_offset) << ", "; - typedef decltype(api_data.args.hsa_ext_image_copy.range) arg_val_type_t5; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_copy.range); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_ext_image_clear: { - out << "hsa_ext_image_clear("; - typedef decltype(api_data.args.hsa_ext_image_clear.agent) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_clear.agent) << ", "; - typedef decltype(api_data.args.hsa_ext_image_clear.image) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_clear.image) << ", "; - typedef decltype(api_data.args.hsa_ext_image_clear.data) arg_val_type_t2; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_clear.data) << ", "; - typedef decltype(api_data.args.hsa_ext_image_clear.image_region) arg_val_type_t3; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_clear.image_region); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_ext_image_destroy: { - out << "hsa_ext_image_destroy("; - typedef decltype(api_data.args.hsa_ext_image_destroy.agent) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_destroy.agent) << ", "; - typedef decltype(api_data.args.hsa_ext_image_destroy.image) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_destroy.image); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_ext_sampler_create: { - out << "hsa_ext_sampler_create("; - typedef decltype(api_data.args.hsa_ext_sampler_create.agent) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_sampler_create.agent) << ", "; - typedef decltype(api_data.args.hsa_ext_sampler_create.sampler_descriptor) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_sampler_create.sampler_descriptor) << ", "; - typedef decltype(api_data.args.hsa_ext_sampler_create.sampler) arg_val_type_t2; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_sampler_create.sampler); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_ext_sampler_destroy: { - out << "hsa_ext_sampler_destroy("; - typedef decltype(api_data.args.hsa_ext_sampler_destroy.agent) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_sampler_destroy.agent) << ", "; - typedef decltype(api_data.args.hsa_ext_sampler_destroy.sampler) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_sampler_destroy.sampler); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_ext_image_get_capability_with_layout: { - out << "hsa_ext_image_get_capability_with_layout("; - typedef decltype(api_data.args.hsa_ext_image_get_capability_with_layout.agent) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_get_capability_with_layout.agent) << ", "; - typedef decltype(api_data.args.hsa_ext_image_get_capability_with_layout.geometry) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_get_capability_with_layout.geometry) << ", "; - typedef decltype(api_data.args.hsa_ext_image_get_capability_with_layout.image_format) arg_val_type_t2; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_get_capability_with_layout.image_format) << ", "; - typedef decltype(api_data.args.hsa_ext_image_get_capability_with_layout.image_data_layout) arg_val_type_t3; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_get_capability_with_layout.image_data_layout) << ", "; - typedef decltype(api_data.args.hsa_ext_image_get_capability_with_layout.capability_mask) arg_val_type_t4; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_get_capability_with_layout.capability_mask); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_ext_image_data_get_info_with_layout: { - out << "hsa_ext_image_data_get_info_with_layout("; - typedef decltype(api_data.args.hsa_ext_image_data_get_info_with_layout.agent) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_data_get_info_with_layout.agent) << ", "; - typedef decltype(api_data.args.hsa_ext_image_data_get_info_with_layout.image_descriptor) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_data_get_info_with_layout.image_descriptor) << ", "; - typedef decltype(api_data.args.hsa_ext_image_data_get_info_with_layout.access_permission) arg_val_type_t2; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_data_get_info_with_layout.access_permission) << ", "; - typedef decltype(api_data.args.hsa_ext_image_data_get_info_with_layout.image_data_layout) arg_val_type_t3; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_data_get_info_with_layout.image_data_layout) << ", "; - typedef decltype(api_data.args.hsa_ext_image_data_get_info_with_layout.image_data_row_pitch) arg_val_type_t4; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_data_get_info_with_layout.image_data_row_pitch) << ", "; - typedef decltype(api_data.args.hsa_ext_image_data_get_info_with_layout.image_data_slice_pitch) arg_val_type_t5; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_data_get_info_with_layout.image_data_slice_pitch) << ", "; - typedef decltype(api_data.args.hsa_ext_image_data_get_info_with_layout.image_data_info) arg_val_type_t6; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_data_get_info_with_layout.image_data_info); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - case HSA_API_ID_hsa_ext_image_create_with_layout: { - out << "hsa_ext_image_create_with_layout("; - typedef decltype(api_data.args.hsa_ext_image_create_with_layout.agent) arg_val_type_t0; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_create_with_layout.agent) << ", "; - typedef decltype(api_data.args.hsa_ext_image_create_with_layout.image_descriptor) arg_val_type_t1; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_create_with_layout.image_descriptor) << ", "; - typedef decltype(api_data.args.hsa_ext_image_create_with_layout.image_data) arg_val_type_t2; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_create_with_layout.image_data) << ", "; - typedef decltype(api_data.args.hsa_ext_image_create_with_layout.access_permission) arg_val_type_t3; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_create_with_layout.access_permission) << ", "; - typedef decltype(api_data.args.hsa_ext_image_create_with_layout.image_data_layout) arg_val_type_t4; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_create_with_layout.image_data_layout) << ", "; - typedef decltype(api_data.args.hsa_ext_image_create_with_layout.image_data_row_pitch) arg_val_type_t5; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_create_with_layout.image_data_row_pitch) << ", "; - typedef decltype(api_data.args.hsa_ext_image_create_with_layout.image_data_slice_pitch) arg_val_type_t6; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_create_with_layout.image_data_slice_pitch) << ", "; - typedef decltype(api_data.args.hsa_ext_image_create_with_layout.image) arg_val_type_t7; - roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_create_with_layout.image); - out << ") = " << api_data.hsa_status_t_retval; - break; - } - default: - out << "ERROR: unknown API"; - abort(); - } - return out; -} - -#endif // INC_HSA_PROF_STR_H \ No newline at end of file diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index de9c01cae5..2650dc35fe 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -8,5 +8,5 @@ set ( LIB_SRC ) add_library ( ${TARGET_LIB} SHARED ${LIB_SRC} ) target_include_directories ( ${TARGET_LIB} PRIVATE ${LIB_DIR} ${ROOT_DIR} ${ROOT_DIR}/inc ${HSA_RUNTIME_INC_PATH} ${HIP_INC_DIR} ${HCC_INC_DIR} ) -target_link_libraries( ${TARGET_LIB} PRIVATE ${HSA_RUNTIME_LIB} c stdc++ ${HIP_INC_DIR}/../lib/libhip_hcc.so ) +target_link_libraries( ${TARGET_LIB} PRIVATE ${HSA_RUNTIME_LIB} c stdc++ ) execute_process ( COMMAND sh -xc "${ROOT_DIR}/script/hsaap.py ${ROOT_DIR} ${HSA_RUNTIME_INC_PATH}" ) diff --git a/src/core/loader.h b/src/core/loader.h new file mode 100644 index 0000000000..068886c9fc --- /dev/null +++ b/src/core/loader.h @@ -0,0 +1,69 @@ +#ifndef SRC_CORE_LOADER_H_ +#define SRC_CORE_LOADER_H_ + +#include +#include + +namespace roctracer { + +class Loader { + public: + Loader(const char* lib_name) { + handle_ = dlopen(lib_name, RTLD_NOW); + if (handle_ == NULL) { + fprintf(stderr, "roctracer: Loading '%s' failed, %s\n", lib_name, dlerror()); + abort(); + } + } + + ~Loader() { + if (handle_ != NULL) dlclose(handle_); + } + + template + fun_t* GetFun(const char* fun_name) { return (fun_t*) dlsym(handle_, fun_name); } + + private: + void* handle_; +}; + +class HipLoader : protected Loader { + public: + typedef std::mutex mutex_t; + + typedef decltype(hipRegisterApiCallback) hipRegisterApiCallback_t; + typedef decltype(hipRemoveApiCallback) hipRemoveApiCallback_t; + typedef decltype(hipRegisterActivityCallback) hipRegisterActivityCallback_t; + typedef decltype(hipRemoveActivityCallback) hipRemoveActivityCallback_t; + typedef decltype(hipKernelNameRef) hipKernelNameRef_t; + + static HipLoader& Instance() { + std::lock_guard lck(mutex_); + if (instance_ == NULL) { + instance_ = new HipLoader(); + } + return *instance_; + } + + HipLoader() : Loader("libhip_hcc.so") { + hipRegisterApiCallback = GetFun("hipRegisterApiCallback"); + hipRemoveApiCallback = GetFun("hipRemoveApiCallback"); + hipRegisterActivityCallback = GetFun("hipRegisterActivityCallback"); + hipRemoveActivityCallback = GetFun("hipRemoveActivityCallback"); + hipKernelNameRef = GetFun("hipKernelNameRef"); + } + + hipRegisterApiCallback_t* hipRegisterApiCallback; + hipRemoveApiCallback_t* hipRemoveApiCallback; + hipRegisterActivityCallback_t* hipRegisterActivityCallback; + hipRemoveActivityCallback_t* hipRemoveActivityCallback; + hipKernelNameRef_t* hipKernelNameRef; + + private: + static HipLoader* instance_; + static mutex_t mutex_; +}; + +} // namespace roctracer + +#endif // SRC_CORE_LOADER_H_ diff --git a/src/core/roctracer.cpp b/src/core/roctracer.cpp index 0e19cf6fc3..245108b16c 100644 --- a/src/core/roctracer.cpp +++ b/src/core/roctracer.cpp @@ -21,20 +21,21 @@ THE SOFTWARE. */ #include "inc/roctracer.h" +#ifdef HCC_ENABLED #include "inc/roctracer_hcc.h" +#endif #include "inc/roctracer_hip.h" - #define PROF_API_IMPL 1 #include "inc/roctracer_hsa.h" #include -#include #include #include #include #include #include +#include "core/loader.h" #include "ext/hsa_rt_utils.hpp" #include "util/exception.h" #include "util/hsa_rsrc_factory.h" @@ -303,16 +304,20 @@ roctracer_record_t* HIP_SyncActivityCallback( const_cast(data)->correlation_id = correlation_id; } record->correlation_id = correlation_id; +#ifdef HCC_ENABLED // Passing record to HCC Kalmar::CLAMP::SetActivityRecord(correlation_id); +#endif return record; } else { record->end_ns = timer.timestamp_ns(); record->process_id = syscall(__NR_getpid); record->thread_id = syscall(__NR_gettid); pool->Write(*record); +#ifdef HCC_ENABLED // Clearing record in HCC Kalmar::CLAMP::SetActivityRecord(0); +#endif return NULL; } } @@ -336,6 +341,9 @@ MemoryPool* memory_pool = NULL; typedef std::recursive_mutex memory_pool_mutex_t; memory_pool_mutex_t memory_pool_mutex; +HipLoader* HipLoader::instance_; +HipLoader::mutex_t HipLoader::mutex_; + namespace hsa_support { // callbacks table cb_table_t cb_table; @@ -372,7 +380,9 @@ PUBLIC_API const char* roctracer_id_string(const uint32_t& domain, const uint32_ break; } case ACTIVITY_DOMAIN_HCC_OPS: { +#ifdef HCC_ENABLED return Kalmar::CLAMP::GetCmdName(kind); +#endif break; } case ACTIVITY_DOMAIN_HIP_API: { @@ -411,7 +421,7 @@ PUBLIC_API roctracer_status_t roctracer_enable_callback( break; } case ACTIVITY_DOMAIN_HIP_API: { - hipError_t hip_err = hipRegisterApiCallback(id, (void*)callback, user_data); + hipError_t hip_err = roctracer::HipLoader::Instance().hipRegisterApiCallback(id, (void*)callback, user_data); if (hip_err != hipSuccess) HIP_EXC_RAISING(ROCTRACER_STATUS_HIP_API_ERR, "hipRegisterApiCallback error(" << hip_err << ")"); break; } @@ -432,7 +442,7 @@ PUBLIC_API roctracer_status_t roctracer_disable_callback( if (id != 0) HIP_EXC_RAISING(ROCTRACER_STATUS_BAD_PARAMETER, "DOMAIN_ANY: id != 0"); id = HIP_API_ID_ANY; case ACTIVITY_DOMAIN_HIP_API: { - hipError_t hip_err = hipRemoveApiCallback(id); + hipError_t hip_err = roctracer::HipLoader::Instance().hipRemoveApiCallback(id); if (hip_err != hipSuccess) HIP_EXC_RAISING(ROCTRACER_STATUS_HIP_API_ERR, "hipRemoveApiCallback error(" << hip_err << ")"); break; } @@ -490,16 +500,20 @@ PUBLIC_API roctracer_status_t roctracer_enable_activity( switch (domain) { case ACTIVITY_DOMAIN_ANY: if (id != 0) HIP_EXC_RAISING(ROCTRACER_STATUS_BAD_PARAMETER, "DOMAIN_ANY: id != 0"); +#ifdef HCC_ENABLED roctracer_enable_activity(ACTIVITY_DOMAIN_HCC_OPS, hc::HSA_OP_ID_ANY, pool); +#endif roctracer_enable_activity(ACTIVITY_DOMAIN_HIP_API, HIP_API_ID_ANY, pool); break; case ACTIVITY_DOMAIN_HCC_OPS: { +#ifdef HCC_ENABLED const bool err = Kalmar::CLAMP::SetActivityCallback(id, (void*)roctracer::HCC_AsyncActivityCallback, (void*)pool); if (err == true) HCC_EXC_RAISING(ROCTRACER_STATUS_HCC_OPS_ERR, "Kalmar::CLAMP::SetActivityCallback error"); +#endif break; } case ACTIVITY_DOMAIN_HIP_API: { - const hipError_t hip_err = hipRegisterActivityCallback(id, (void*)roctracer::HIP_SyncActivityCallback, (void*)pool); + const hipError_t hip_err = roctracer::HipLoader::Instance().hipRegisterActivityCallback(id, (void*)roctracer::HIP_SyncActivityCallback, (void*)pool); if (hip_err != hipSuccess) HIP_EXC_RAISING(ROCTRACER_STATUS_HIP_API_ERR, "hipRegisterActivityCallback error(" << hip_err << ")"); break; } @@ -518,16 +532,20 @@ PUBLIC_API roctracer_status_t roctracer_disable_activity( switch (domain) { case ACTIVITY_DOMAIN_ANY: if (id != 0) HIP_EXC_RAISING(ROCTRACER_STATUS_BAD_PARAMETER, "DOMAIN_ANY: id != 0"); +#ifdef HCC_ENABLED roctracer_disable_activity(ACTIVITY_DOMAIN_HCC_OPS, hc::HSA_OP_ID_ANY); +#endif roctracer_disable_activity(ACTIVITY_DOMAIN_HIP_API, HIP_API_ID_ANY); break; case ACTIVITY_DOMAIN_HCC_OPS: { +#ifdef HCC_ENABLED const bool err = Kalmar::CLAMP::SetActivityCallback(id, NULL, NULL); if (err == true) HCC_EXC_RAISING(ROCTRACER_STATUS_HCC_OPS_ERR, "Kalmar::CLAMP::SetActivityCallback(NULL) error"); +#endif break; } case ACTIVITY_DOMAIN_HIP_API: { - const hipError_t hip_err = hipRemoveActivityCallback(id); + const hipError_t hip_err = roctracer::HipLoader::Instance().hipRemoveActivityCallback(id); if (hip_err != hipSuccess) HIP_EXC_RAISING(ROCTRACER_STATUS_HIP_API_ERR, "hipRemoveActivityCallback error(" << hip_err << ")"); break; } diff --git a/test/run.sh b/test/run.sh index d73fdce880..4c89f13f8c 100755 --- a/test/run.sh +++ b/test/run.sh @@ -44,7 +44,7 @@ export ROCP_THRS=1 export LD_LIBRARY_PATH=$PWD # ROC profiler library loaded by HSA runtime export HSA_TOOLS_LIB="test/libtracer_tool.so libroctracer64.so" -export LD_PRELOAD="libroctracer64.so" +export LD_PRELOAD="test/libtracer_tool.so libroctracer64.so" eval ./test/hsa/ctrl diff --git a/test/tool/tracer_tool.cpp b/test/tool/tracer_tool.cpp index 1b2d6cd72c..39d2018437 100644 --- a/test/tool/tracer_tool.cpp +++ b/test/tool/tracer_tool.cpp @@ -33,7 +33,7 @@ THE SOFTWARE. #define DESTRUCTOR_API __attribute__((destructor)) typedef hsa_rt_utils::Timer::timestamp_t timestamp_t; -hsa_rt_utils::Timer timer; +hsa_rt_utils::Timer timer(NULL); thread_local timestamp_t begin_timestamp = 0; // HSA API callback function @@ -46,12 +46,11 @@ void hsa_api_callback( (void)arg; const hsa_api_data_t* data = reinterpret_cast(callback_data); + if (data->phase == ACTIVITY_API_PHASE_ENTER) { begin_timestamp = timer.timestamp_fn_ns(); } else { const timestamp_t end_timestamp = (cid == HSA_API_ID_hsa_shut_down) ? begin_timestamp : timer.timestamp_fn_ns(); -// const timestamp_t duration_ns = end_timestamp - begin_timestamp; -// fprintf(stdout, "%s,%luns\n", roctracer_id_string(domain, cid, 0), duration_ns); std::ostringstream os; os << '(' << begin_timestamp << ":" << end_timestamp << ") " << hsa_api_data_pair_t(cid, *data); fprintf(stdout, "%s\n", os.str().c_str()); From 7092fb92f597926383830d9e59be5662d9addb64 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Fri, 21 Dec 2018 00:18:26 -0600 Subject: [PATCH 047/691] cosmetic --- test/run.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/run.sh b/test/run.sh index 4c89f13f8c..d5af3570f4 100755 --- a/test/run.sh +++ b/test/run.sh @@ -44,7 +44,7 @@ export ROCP_THRS=1 export LD_LIBRARY_PATH=$PWD # ROC profiler library loaded by HSA runtime export HSA_TOOLS_LIB="test/libtracer_tool.so libroctracer64.so" -export LD_PRELOAD="test/libtracer_tool.so libroctracer64.so" +export LD_PRELOAD="$HSA_TOOLS_LIB" eval ./test/hsa/ctrl From d75eb95472cc931ccf97abf1e1a6c57d2af42d27 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Fri, 21 Dec 2018 10:53:00 -0600 Subject: [PATCH 048/691] HSA tracing domain with HIP MatrixTranspose sample test --- CMakeLists.txt | 2 +- test/CMakeLists.txt | 19 +- test/MatrixTranspose/Makefile | 38 +-- test/MatrixTranspose/MatrixTranspose.cpp | 245 ++++------------ test/MatrixTranspose/Readme.md | 15 +- test/MatrixTranspose_test/Makefile | 32 +++ test/MatrixTranspose_test/MatrixTranspose.cpp | 267 ++++++++++++++++++ test/MatrixTranspose_test/Readme.md | 100 +++++++ test/run.sh | 5 +- test/tool/tracer_tool.cpp | 74 ++++- 10 files changed, 559 insertions(+), 238 deletions(-) create mode 100644 test/MatrixTranspose_test/Makefile create mode 100644 test/MatrixTranspose_test/MatrixTranspose.cpp create mode 100644 test/MatrixTranspose_test/Readme.md diff --git a/CMakeLists.txt b/CMakeLists.txt index 3c5cda0815..d4b1a36d7d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -43,7 +43,7 @@ include ( env ) ## Set test target add_custom_target( mytest COMMAND make -C "${CMAKE_CURRENT_SOURCE_DIR}/test/MatrixTranspose" - COMMAND ${PROJECT_BINARY_DIR}/run.sh) + COMMAND sh -xc "cp ${CMAKE_CURRENT_SOURCE_DIR}/test/MatrixTranspose/MatrixTranspose ${PROJECT_BINARY_DIR}/test" ) ## Setup the package version. get_version ( "1.0.0" ) diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 47b370d09c..fd0ed9ca7f 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -23,11 +23,6 @@ cmake_minimum_required ( VERSION 2.8.12 ) set ( CMAKE_VERBOSE_MAKEFILE TRUE CACHE BOOL "Verbose Output" FORCE ) -set ( RUN_SCRIPT "${TEST_DIR}/run.sh" ) -set ( TEST_HSA "${TEST_DIR}/hsa/test" ) -execute_process ( COMMAND sh -xc "if [ ! -e ${TEST_DIR}/hsa ] ; then git clone https://github.com/ROCmSoftwarePlatform/hsa-class.git ${TEST_DIR}/hsa; fi" ) -execute_process ( COMMAND sh -xc "if [ -e ${TEST_DIR}/hsa ] ; then cd ${TEST_DIR}/hsa && git pull --rebase; fi" ) - ## Util sources file( GLOB UTIL_SRC "${TEST_HSA}/util/*.cpp" ) @@ -35,9 +30,17 @@ file( GLOB UTIL_SRC "${TEST_HSA}/util/*.cpp" ) set ( TEST_LIB "tracer_tool" ) set ( TEST_LIB_SRC ${TEST_DIR}/tool/tracer_tool.cpp ${UTIL_SRC} ) add_library ( ${TEST_LIB} SHARED ${TEST_LIB_SRC} ) -target_include_directories ( ${TEST_LIB} PRIVATE ${TEST_HSA} ${ROOT_DIR} ${HSA_RUNTIME_INC_PATH} ) +target_include_directories ( ${TEST_LIB} PRIVATE ${TEST_HSA} ${ROOT_DIR} ${HSA_RUNTIME_INC_PATH} ${HIP_INC_DIR} ) target_link_libraries ( ${TEST_LIB} ${ROCTRACER_TARGET} ${HSA_RUNTIME_LIB} c stdc++ dl pthread rt ) -set ( TEST_DIR ${TEST_HSA} ) -add_subdirectory ( ${TEST_DIR} ${PROJECT_BINARY_DIR}/test/hsa ) +# HSA test +#set ( TEST_HSA "${TEST_DIR}/hsa/test" ) +#set ( TEST_DIR ${TEST_HSA} ) +#execute_process ( COMMAND sh -xc "if [ ! -e ${TEST_DIR}/hsa ] ; then git clone https://github.com/ROCmSoftwarePlatform/hsa-class.git ${TEST_DIR}/hsa; fi" ) +#execute_process ( COMMAND sh -xc "if [ -e ${TEST_DIR}/hsa ] ; then cd ${TEST_DIR}/hsa && git pull --rebase; fi" ) +#add_subdirectory ( ${TEST_DIR} ${PROJECT_BINARY_DIR}/test/hsa ) + +# test run script +set ( RUN_SCRIPT "${TEST_DIR}/run.sh" ) execute_process ( COMMAND sh -xc "cp ${RUN_SCRIPT} ${PROJECT_BINARY_DIR}" ) + diff --git a/test/MatrixTranspose/Makefile b/test/MatrixTranspose/Makefile index c4cae4c539..0a51acca5e 100644 --- a/test/MatrixTranspose/Makefile +++ b/test/MatrixTranspose/Makefile @@ -1,32 +1,36 @@ -ROOT_PATH = ../.. -LIB_PATH = $(ROOT_PATH)/build -LIB_NAME = roctracer64 -ROC_LIBS = -L$(LIB_PATH) -l$(LIB_NAME) +HIP_PATH?= $(wildcard /opt/rocm/hip) +ifeq (,$(HIP_PATH)) + HIP_PATH=../../.. +endif -EXECUTABLE = ./MatrixTranspose.exe -SOURCES = MatrixTranspose.cpp -OBJECTS = $(SOURCES:.cpp=.o) +HIPCC=$(HIP_PATH)/bin/hipcc -ITERATIONS ?= 100 +TARGET=hcc -HIP_PATH ?= /opt/rocm/hip -HIPCC = $(HIP_PATH)/bin/hipcc +SOURCES = MatrixTranspose.cpp +OBJECTS = $(SOURCES:.cpp=.o) +EXECUTABLE=./MatrixTranspose + +.PHONY: test + + +all: $(EXECUTABLE) test + +CXXFLAGS =-g CXX=$(HIPCC) -CXXFLAGS =-g -I$(ROOT_PATH) -I$(ROOT_PATH)/inc -DLOCAL_BUILD=1 -DITERATIONS=$(ITERATIONS) -export LD_LIBRARY_PATH=$(LIB_PATH) - -all: clean $(EXECUTABLE) test $(EXECUTABLE): $(OBJECTS) - $(HIPCC) $(OBJECTS) -o $@ $(HCC_LIBS) $(ROC_LIBS) + $(HIPCC) $(OBJECTS) -o $@ + test: $(EXECUTABLE) - HCC_PROFILE=1 LD_PRELOAD=$(HCC_HOME)/lib/libmcwamp_hsa.so $(EXECUTABLE) + LD_PRELOAD=$(HCC_HOME)/lib/libmcwamp_hsa.so $(EXECUTABLE) + clean: rm -f $(EXECUTABLE) rm -f $(OBJECTS) + rm -f $(HIP_PATH)/src/*.o -.PHONY: all test clean diff --git a/test/MatrixTranspose/MatrixTranspose.cpp b/test/MatrixTranspose/MatrixTranspose.cpp index 7dadf38cc6..79fd72bcf9 100644 --- a/test/MatrixTranspose/MatrixTranspose.cpp +++ b/test/MatrixTranspose/MatrixTranspose.cpp @@ -23,11 +23,9 @@ THE SOFTWARE. #include // hip header file -#include +#include "hip/hip_runtime.h" + -#ifndef ITERATIONS -# define ITERATIONS 100 -#endif #define WIDTH 1024 @@ -38,8 +36,7 @@ THE SOFTWARE. #define THREADS_PER_BLOCK_Z 1 // Device (Kernel) function, it must be void -// hipLaunchParm provides the execution configuration -__global__ void matrixTranspose(hipLaunchParm lp, float* out, float* in, const int width) { +__global__ void matrixTranspose(float* out, float* in, const int width) { int x = hipBlockDim_x * hipBlockIdx_x + hipThreadIdx_x; int y = hipBlockDim_y * hipBlockIdx_y + hipThreadIdx_y; @@ -55,10 +52,6 @@ void matrixTransposeCPUReference(float* output, float* input, const unsigned int } } -int iterations = ITERATIONS; -void start_tracing(); -void stop_tracing(); - int main() { float* Matrix; float* TransposeMatrix; @@ -75,193 +68,55 @@ int main() { int i; int errors; - while (iterations-- > 0) { - start_tracing(); + Matrix = (float*)malloc(NUM * sizeof(float)); + TransposeMatrix = (float*)malloc(NUM * sizeof(float)); + cpuTransposeMatrix = (float*)malloc(NUM * sizeof(float)); - Matrix = (float*)malloc(NUM * sizeof(float)); - TransposeMatrix = (float*)malloc(NUM * sizeof(float)); - cpuTransposeMatrix = (float*)malloc(NUM * sizeof(float)); - - // initialize the input data - for (i = 0; i < NUM; i++) { - Matrix[i] = (float)i * 10.0f; - } - - // allocate the memory on the device side - hipMalloc((void**)&gpuMatrix, NUM * sizeof(float)); - hipMalloc((void**)&gpuTransposeMatrix, NUM * sizeof(float)); - - // Memory transfer from host to device - hipMemcpy(gpuMatrix, Matrix, NUM * sizeof(float), hipMemcpyHostToDevice); - - // Lauching kernel from host - hipLaunchKernel(matrixTranspose, dim3(WIDTH / THREADS_PER_BLOCK_X, WIDTH / THREADS_PER_BLOCK_Y), - dim3(THREADS_PER_BLOCK_X, THREADS_PER_BLOCK_Y), 0, 0, gpuTransposeMatrix, - gpuMatrix, WIDTH); - - // Memory transfer from device to host - hipMemcpy(TransposeMatrix, gpuTransposeMatrix, NUM * sizeof(float), hipMemcpyDeviceToHost); - - // CPU MatrixTranspose computation - matrixTransposeCPUReference(cpuTransposeMatrix, Matrix, WIDTH); - - // verify the results - errors = 0; - double eps = 1.0E-6; - for (i = 0; i < NUM; i++) { - if (std::abs(TransposeMatrix[i] - cpuTransposeMatrix[i]) > eps) { - errors++; - } - } - if (errors != 0) { - printf("FAILED: %d errors\n", errors); - } else { - printf("PASSED!\n"); - } - - // free the resources on device side - hipFree(gpuMatrix); - hipFree(gpuTransposeMatrix); - - // free the resources on host side - free(Matrix); - free(TransposeMatrix); - free(cpuTransposeMatrix); - - stop_tracing(); + // initialize the input data + for (i = 0; i < NUM; i++) { + Matrix[i] = (float)i * 10.0f; } + // allocate the memory on the device side + hipMalloc((void**)&gpuMatrix, NUM * sizeof(float)); + hipMalloc((void**)&gpuTransposeMatrix, NUM * sizeof(float)); + + // Memory transfer from host to device + hipMemcpy(gpuMatrix, Matrix, NUM * sizeof(float), hipMemcpyHostToDevice); + + // Lauching kernel from host + hipLaunchKernelGGL(matrixTranspose, dim3(WIDTH / THREADS_PER_BLOCK_X, WIDTH / THREADS_PER_BLOCK_Y), + dim3(THREADS_PER_BLOCK_X, THREADS_PER_BLOCK_Y), 0, 0, gpuTransposeMatrix, + gpuMatrix, WIDTH); + + // Memory transfer from device to host + hipMemcpy(TransposeMatrix, gpuTransposeMatrix, NUM * sizeof(float), hipMemcpyDeviceToHost); + + // CPU MatrixTranspose computation + matrixTransposeCPUReference(cpuTransposeMatrix, Matrix, WIDTH); + + // verify the results + errors = 0; + double eps = 1.0E-6; + for (i = 0; i < NUM; i++) { + if (std::abs(TransposeMatrix[i] - cpuTransposeMatrix[i]) > eps) { + errors++; + } + } + if (errors != 0) { + printf("FAILED: %d errors\n", errors); + } else { + printf("PASSED!\n"); + } + + // free the resources on device side + hipFree(gpuMatrix); + hipFree(gpuTransposeMatrix); + + // free the resources on host side + free(Matrix); + free(TransposeMatrix); + free(cpuTransposeMatrix); + return errors; } - -//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// HIP Callbacks/Activity tracing -// -#if 1 -#include -#include - -// Macro to check ROC-tracer calls status -#define ROCTRACER_CALL(call) \ - do { \ - int err = call; \ - if (err != 0) { \ - std::cerr << roctracer_error_string() << std::endl << std::flush; \ - abort(); \ - } \ - } while (0) - -// HIP API callback function -void hip_api_callback( - uint32_t domain, - uint32_t cid, - const void* callback_data, - void* arg) -{ - (void)arg; - const hip_api_data_t* data = reinterpret_cast(callback_data); - fprintf(stdout, "<%s id(%u)\tcorrelation_id(%lu) %s> ", - roctracer_id_string(ACTIVITY_DOMAIN_HIP_API, cid, 0), - cid, - data->correlation_id, - (data->phase == ACTIVITY_API_PHASE_ENTER) ? "on-enter" : "on-exit"); - if (data->phase == ACTIVITY_API_PHASE_ENTER) { - switch (cid) { - case HIP_API_ID_hipMemcpy: - fprintf(stdout, "dst(%p) src(%p) size(0x%x) kind(%u)", - data->args.hipMemcpy.dst, - data->args.hipMemcpy.src, - (uint32_t)(data->args.hipMemcpy.sizeBytes), - (uint32_t)(data->args.hipMemcpy.kind)); - break; - case HIP_API_ID_hipMalloc: - fprintf(stdout, "ptr(%p) size(0x%x)", - data->args.hipMalloc.ptr, - (uint32_t)(data->args.hipMalloc.size)); - break; - case HIP_API_ID_hipFree: - fprintf(stdout, "ptr(%p)", - data->args.hipFree.ptr); - break; - case HIP_API_ID_hipModuleLaunchKernel: - fprintf(stdout, "kernel(\"%s\") stream(%p)", - hipKernelNameRef(data->args.hipModuleLaunchKernel.f), - data->args.hipModuleLaunchKernel.stream); - break; - default: - break; - } - } else { - switch (cid) { - case HIP_API_ID_hipMalloc: - fprintf(stdout, "*ptr(0x%p)", - *(data->args.hipMalloc.ptr)); - break; - default: - break; - } - } - fprintf(stdout, "\n"); fflush(stdout); -} - -// Activity tracing callback -// hipMalloc id(3) correlation_id(1): begin_ns(1525888652762640464) end_ns(1525888652762877067) -void activity_callback(const char* begin, const char* end, void* arg) { - const roctracer_record_t* record = reinterpret_cast(begin); - const roctracer_record_t* end_record = reinterpret_cast(end); - fprintf(stdout, "\tActivity records:\n"); fflush(stdout); - while (record < end_record) { - const char * name = roctracer_id_string(record->domain, record->activity_id, record->kind); - fprintf(stdout, "\t%s\tcorrelation_id(%lu) time_ns(%lu:%lu)", - name, - record->correlation_id, - record->begin_ns, - record->end_ns - ); - if (record->domain == ACTIVITY_DOMAIN_HIP_API) { - fprintf(stdout, " process_id(%u) thread_id(%u)", - record->process_id, - record->thread_id - ); - } else if (record->domain == ACTIVITY_DOMAIN_HCC_OPS) { - fprintf(stdout, " device_id(%d) queue_id(%lu)", - record->device_id, - record->queue_id - ); - } else { - fprintf(stderr, "Bad domain %d\n", record->domain); - abort(); - } - if (record->activity_id == hc::HSA_OP_ID_COPY) fprintf(stdout, " bytes(0x%zx)", record->bytes); - fprintf(stdout, "\n"); - fflush(stdout); - ROCTRACER_CALL(roctracer_next_record(record, &record)); - } -} - -// Start tracing routine -void start_tracing() { - std::cout << "# START #############################" << std::endl << std::flush; - // Allocating tracing pool - roctracer_properties_t properties{}; - properties.buffer_size = 12; - properties.buffer_callback_fun = activity_callback; - ROCTRACER_CALL(roctracer_open_pool(&properties)); - // Enable HIP API callbacks - ROCTRACER_CALL(roctracer_enable_callback(ACTIVITY_DOMAIN_ANY, 0, hip_api_callback, NULL)); - // Enable HIP activity tracing - ROCTRACER_CALL(roctracer_enable_activity(ACTIVITY_DOMAIN_ANY, 0)); -} - -// Stop tracing routine -void stop_tracing() { - ROCTRACER_CALL(roctracer_disable_callback(ACTIVITY_DOMAIN_ANY, 0)); - ROCTRACER_CALL(roctracer_disable_activity(ACTIVITY_DOMAIN_ANY, 0)); - ROCTRACER_CALL(roctracer_close_pool()); - std::cout << "# STOP #############################" << std::endl << std::flush; -} -#else -void start_tracing() {} -void stop_tracing() {} -#endif -//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// diff --git a/test/MatrixTranspose/Readme.md b/test/MatrixTranspose/Readme.md index ab5dbdc958..4a52b862a0 100644 --- a/test/MatrixTranspose/Readme.md +++ b/test/MatrixTranspose/Readme.md @@ -21,8 +21,7 @@ In order to use the HIP framework, we need to add the "hip_runtime.h" header fil ## Device-side code We will work on device side code first, Here is simple example showing a snippet of HIP device side code: -`__global__ void matrixTranspose(hipLaunchParm lp, ` -` float *out, ` +`__global__ void matrixTranspose(float *out, ` ` float *in, ` ` const int width, ` ` const int height) ` @@ -41,11 +40,9 @@ other function-type qualifiers are: `__host__` can combine with `__device__`, in which case the function compiles for both the host and device. These functions cannot use the HIP grid coordinate functions (for example, "hipThreadIdx_x", will talk about it latter). A possible workaround is to pass the necessary coordinate info as an argument to the function. `__host__` cannot combine with `__global__`. -`__global__` functions are often referred to as *kernels, and calling one is termed *launching the kernel*. +`__global__` functions are often referred to as *kernels*, and calling one is termed *launching the kernel*. -Next keyword is `void`. HIP `__global__` functions must have a `void` return type, and the first parameter to a HIP `__global__` function must have the type `hipLaunchParm`, which is for execution configuration. Global functions require the caller to specify an "execution configuration" that includes the grid and block dimensions. The execution configuration can also include other information for the launch, such as the amount of additional shared memory to allocate and the stream where the kernel should execute. - -After `hipLaunchParm`, Kernel arguments follows next(i.e., `float *out, float *in, const int width, const int height`). +Next keyword is `void`. HIP `__global__` functions must have a `void` return type. Global functions require the caller to specify an "execution configuration" that includes the grid and block dimensions. The execution configuration can also include other information for the launch, such as the amount of additional shared memory to allocate and the stream where the kernel should execute. The kernel function begins with ` int x = hipBlockDim_x * hipBlockIdx_x + hipThreadIdx_x;` @@ -63,15 +60,15 @@ We allocated memory to the Matrix on host side by using malloc and initiallized here the first parameter is the destination pointer, second is the source pointer, third is the size of memory copy and the last specify the direction on memory copy(which is in this case froom host to device). While in order to transfer memory from device to host, use `hipMemcpyDeviceToHost` and for device to device memory copy use `hipMemcpyDeviceToDevice`. Now, we'll see how to launch the kernel. -` hipLaunchKernel(matrixTranspose, ` +` hipLaunchKernelGGL(matrixTranspose, ` ` dim3(WIDTH/THREADS_PER_BLOCK_X, HEIGHT/THREADS_PER_BLOCK_Y), ` ` dim3(THREADS_PER_BLOCK_X, THREADS_PER_BLOCK_Y), ` ` 0, 0, ` ` gpuTransposeMatrix , gpuMatrix, WIDTH ,HEIGHT); ` HIP introduces a standard C++ calling convention to pass the execution configuration to the kernel (this convention replaces the `Cuda <<< >>>` syntax). In HIP, -- Kernels launch with the `"hipLaunchKernel"` function -- The first five parameters to hipLaunchKernel are the following: +- Kernels launch with the `"hipLaunchKernelGGL"` function +- The first five parameters to hipLaunchKernelGGL are the following: - **symbol kernelName**: the name of the kernel to launch. To support template kernels which contains "," use the HIP_KERNEL_NAME macro. In current application it's "matrixTranspose". - **dim3 gridDim**: 3D-grid dimensions specifying the number of blocks to launch. In MatrixTranspose sample, it's "dim3(WIDTH/THREADS_PER_BLOCK_X, HEIGHT/THREADS_PER_BLOCK_Y)". - **dim3 blockDim**: 3D-block dimensions specifying the number of threads in each block.In MatrixTranspose sample, it's "dim3(THREADS_PER_BLOCK_X, THREADS_PER_BLOCK_Y)". diff --git a/test/MatrixTranspose_test/Makefile b/test/MatrixTranspose_test/Makefile new file mode 100644 index 0000000000..c4cae4c539 --- /dev/null +++ b/test/MatrixTranspose_test/Makefile @@ -0,0 +1,32 @@ +ROOT_PATH = ../.. +LIB_PATH = $(ROOT_PATH)/build +LIB_NAME = roctracer64 +ROC_LIBS = -L$(LIB_PATH) -l$(LIB_NAME) + +EXECUTABLE = ./MatrixTranspose.exe +SOURCES = MatrixTranspose.cpp +OBJECTS = $(SOURCES:.cpp=.o) + +ITERATIONS ?= 100 + +HIP_PATH ?= /opt/rocm/hip +HIPCC = $(HIP_PATH)/bin/hipcc + +CXX=$(HIPCC) +CXXFLAGS =-g -I$(ROOT_PATH) -I$(ROOT_PATH)/inc -DLOCAL_BUILD=1 -DITERATIONS=$(ITERATIONS) + +export LD_LIBRARY_PATH=$(LIB_PATH) + +all: clean $(EXECUTABLE) test + +$(EXECUTABLE): $(OBJECTS) + $(HIPCC) $(OBJECTS) -o $@ $(HCC_LIBS) $(ROC_LIBS) + +test: $(EXECUTABLE) + HCC_PROFILE=1 LD_PRELOAD=$(HCC_HOME)/lib/libmcwamp_hsa.so $(EXECUTABLE) + +clean: + rm -f $(EXECUTABLE) + rm -f $(OBJECTS) + +.PHONY: all test clean diff --git a/test/MatrixTranspose_test/MatrixTranspose.cpp b/test/MatrixTranspose_test/MatrixTranspose.cpp new file mode 100644 index 0000000000..7dadf38cc6 --- /dev/null +++ b/test/MatrixTranspose_test/MatrixTranspose.cpp @@ -0,0 +1,267 @@ +/* +Copyright (c) 2015-2016 Advanced Micro Devices, Inc. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +*/ + +#include + +// hip header file +#include + +#ifndef ITERATIONS +# define ITERATIONS 100 +#endif +#define WIDTH 1024 + + +#define NUM (WIDTH * WIDTH) + +#define THREADS_PER_BLOCK_X 4 +#define THREADS_PER_BLOCK_Y 4 +#define THREADS_PER_BLOCK_Z 1 + +// Device (Kernel) function, it must be void +// hipLaunchParm provides the execution configuration +__global__ void matrixTranspose(hipLaunchParm lp, float* out, float* in, const int width) { + int x = hipBlockDim_x * hipBlockIdx_x + hipThreadIdx_x; + int y = hipBlockDim_y * hipBlockIdx_y + hipThreadIdx_y; + + out[y * width + x] = in[x * width + y]; +} + +// CPU implementation of matrix transpose +void matrixTransposeCPUReference(float* output, float* input, const unsigned int width) { + for (unsigned int j = 0; j < width; j++) { + for (unsigned int i = 0; i < width; i++) { + output[i * width + j] = input[j * width + i]; + } + } +} + +int iterations = ITERATIONS; +void start_tracing(); +void stop_tracing(); + +int main() { + float* Matrix; + float* TransposeMatrix; + float* cpuTransposeMatrix; + + float* gpuMatrix; + float* gpuTransposeMatrix; + + hipDeviceProp_t devProp; + hipGetDeviceProperties(&devProp, 0); + + std::cout << "Device name " << devProp.name << std::endl; + + int i; + int errors; + + while (iterations-- > 0) { + start_tracing(); + + Matrix = (float*)malloc(NUM * sizeof(float)); + TransposeMatrix = (float*)malloc(NUM * sizeof(float)); + cpuTransposeMatrix = (float*)malloc(NUM * sizeof(float)); + + // initialize the input data + for (i = 0; i < NUM; i++) { + Matrix[i] = (float)i * 10.0f; + } + + // allocate the memory on the device side + hipMalloc((void**)&gpuMatrix, NUM * sizeof(float)); + hipMalloc((void**)&gpuTransposeMatrix, NUM * sizeof(float)); + + // Memory transfer from host to device + hipMemcpy(gpuMatrix, Matrix, NUM * sizeof(float), hipMemcpyHostToDevice); + + // Lauching kernel from host + hipLaunchKernel(matrixTranspose, dim3(WIDTH / THREADS_PER_BLOCK_X, WIDTH / THREADS_PER_BLOCK_Y), + dim3(THREADS_PER_BLOCK_X, THREADS_PER_BLOCK_Y), 0, 0, gpuTransposeMatrix, + gpuMatrix, WIDTH); + + // Memory transfer from device to host + hipMemcpy(TransposeMatrix, gpuTransposeMatrix, NUM * sizeof(float), hipMemcpyDeviceToHost); + + // CPU MatrixTranspose computation + matrixTransposeCPUReference(cpuTransposeMatrix, Matrix, WIDTH); + + // verify the results + errors = 0; + double eps = 1.0E-6; + for (i = 0; i < NUM; i++) { + if (std::abs(TransposeMatrix[i] - cpuTransposeMatrix[i]) > eps) { + errors++; + } + } + if (errors != 0) { + printf("FAILED: %d errors\n", errors); + } else { + printf("PASSED!\n"); + } + + // free the resources on device side + hipFree(gpuMatrix); + hipFree(gpuTransposeMatrix); + + // free the resources on host side + free(Matrix); + free(TransposeMatrix); + free(cpuTransposeMatrix); + + stop_tracing(); + } + + return errors; +} + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// HIP Callbacks/Activity tracing +// +#if 1 +#include +#include + +// Macro to check ROC-tracer calls status +#define ROCTRACER_CALL(call) \ + do { \ + int err = call; \ + if (err != 0) { \ + std::cerr << roctracer_error_string() << std::endl << std::flush; \ + abort(); \ + } \ + } while (0) + +// HIP API callback function +void hip_api_callback( + uint32_t domain, + uint32_t cid, + const void* callback_data, + void* arg) +{ + (void)arg; + const hip_api_data_t* data = reinterpret_cast(callback_data); + fprintf(stdout, "<%s id(%u)\tcorrelation_id(%lu) %s> ", + roctracer_id_string(ACTIVITY_DOMAIN_HIP_API, cid, 0), + cid, + data->correlation_id, + (data->phase == ACTIVITY_API_PHASE_ENTER) ? "on-enter" : "on-exit"); + if (data->phase == ACTIVITY_API_PHASE_ENTER) { + switch (cid) { + case HIP_API_ID_hipMemcpy: + fprintf(stdout, "dst(%p) src(%p) size(0x%x) kind(%u)", + data->args.hipMemcpy.dst, + data->args.hipMemcpy.src, + (uint32_t)(data->args.hipMemcpy.sizeBytes), + (uint32_t)(data->args.hipMemcpy.kind)); + break; + case HIP_API_ID_hipMalloc: + fprintf(stdout, "ptr(%p) size(0x%x)", + data->args.hipMalloc.ptr, + (uint32_t)(data->args.hipMalloc.size)); + break; + case HIP_API_ID_hipFree: + fprintf(stdout, "ptr(%p)", + data->args.hipFree.ptr); + break; + case HIP_API_ID_hipModuleLaunchKernel: + fprintf(stdout, "kernel(\"%s\") stream(%p)", + hipKernelNameRef(data->args.hipModuleLaunchKernel.f), + data->args.hipModuleLaunchKernel.stream); + break; + default: + break; + } + } else { + switch (cid) { + case HIP_API_ID_hipMalloc: + fprintf(stdout, "*ptr(0x%p)", + *(data->args.hipMalloc.ptr)); + break; + default: + break; + } + } + fprintf(stdout, "\n"); fflush(stdout); +} + +// Activity tracing callback +// hipMalloc id(3) correlation_id(1): begin_ns(1525888652762640464) end_ns(1525888652762877067) +void activity_callback(const char* begin, const char* end, void* arg) { + const roctracer_record_t* record = reinterpret_cast(begin); + const roctracer_record_t* end_record = reinterpret_cast(end); + fprintf(stdout, "\tActivity records:\n"); fflush(stdout); + while (record < end_record) { + const char * name = roctracer_id_string(record->domain, record->activity_id, record->kind); + fprintf(stdout, "\t%s\tcorrelation_id(%lu) time_ns(%lu:%lu)", + name, + record->correlation_id, + record->begin_ns, + record->end_ns + ); + if (record->domain == ACTIVITY_DOMAIN_HIP_API) { + fprintf(stdout, " process_id(%u) thread_id(%u)", + record->process_id, + record->thread_id + ); + } else if (record->domain == ACTIVITY_DOMAIN_HCC_OPS) { + fprintf(stdout, " device_id(%d) queue_id(%lu)", + record->device_id, + record->queue_id + ); + } else { + fprintf(stderr, "Bad domain %d\n", record->domain); + abort(); + } + if (record->activity_id == hc::HSA_OP_ID_COPY) fprintf(stdout, " bytes(0x%zx)", record->bytes); + fprintf(stdout, "\n"); + fflush(stdout); + ROCTRACER_CALL(roctracer_next_record(record, &record)); + } +} + +// Start tracing routine +void start_tracing() { + std::cout << "# START #############################" << std::endl << std::flush; + // Allocating tracing pool + roctracer_properties_t properties{}; + properties.buffer_size = 12; + properties.buffer_callback_fun = activity_callback; + ROCTRACER_CALL(roctracer_open_pool(&properties)); + // Enable HIP API callbacks + ROCTRACER_CALL(roctracer_enable_callback(ACTIVITY_DOMAIN_ANY, 0, hip_api_callback, NULL)); + // Enable HIP activity tracing + ROCTRACER_CALL(roctracer_enable_activity(ACTIVITY_DOMAIN_ANY, 0)); +} + +// Stop tracing routine +void stop_tracing() { + ROCTRACER_CALL(roctracer_disable_callback(ACTIVITY_DOMAIN_ANY, 0)); + ROCTRACER_CALL(roctracer_disable_activity(ACTIVITY_DOMAIN_ANY, 0)); + ROCTRACER_CALL(roctracer_close_pool()); + std::cout << "# STOP #############################" << std::endl << std::flush; +} +#else +void start_tracing() {} +void stop_tracing() {} +#endif +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// diff --git a/test/MatrixTranspose_test/Readme.md b/test/MatrixTranspose_test/Readme.md new file mode 100644 index 0000000000..ab5dbdc958 --- /dev/null +++ b/test/MatrixTranspose_test/Readme.md @@ -0,0 +1,100 @@ +## Writing first HIP program ### + +This tutorial shows how to get write simple HIP application. We will write the simplest Matrix Transpose program. + +## HIP Introduction: + +HIP is a C++ runtime API and kernel language that allows developers to create portable applications that can run on AMD and other GPU’s. Our goal was to rise above the lowest-common-denominator paths and deliver a solution that allows you, the developer, to use essential hardware features and maximize your application’s performance on GPU hardware. + +## Requirement: +For hardware requirement and software installation [Installation](https://github.com/ROCm-Developer-Tools/HIP/INSTALL.md) + +## prerequiste knowledge: + +Programmers familiar with CUDA, OpenCL will be able to quickly learn and start coding with the HIP API. In case you are not, don't worry. You choose to start with the best one. We'll be explaining everything assuming you are completely new to gpgpu programming. + +## Simple Matrix Transpose + +Here is simple example showing how to write your first program in HIP. +In order to use the HIP framework, we need to add the "hip_runtime.h" header file. SInce its c++ api you can add any header file you have been using earlier while writing your c/c++ program. For gpgpu programming, we have host(microprocessor) and the device(gpu). + +## Device-side code +We will work on device side code first, Here is simple example showing a snippet of HIP device side code: + +`__global__ void matrixTranspose(hipLaunchParm lp, ` +` float *out, ` +` float *in, ` +` const int width, ` +` const int height) ` +`{ ` +` int x = hipBlockDim_x * hipBlockIdx_x + hipThreadIdx_x; ` +` int y = hipBlockDim_y * hipBlockIdx_y + hipThreadIdx_y; ` +` ` +` out[y * width + x] = in[x * height + y]; ` +`} ` + +`__global__` keyword is the Function-Type Qualifiers, it is used with functions that are executed on device and are called/launched from the hosts. +other function-type qualifiers are: +`__device__` functions are Executed on the device and Called from the device only +`__host__` functions are Executed on the host and Called from the host + +`__host__` can combine with `__device__`, in which case the function compiles for both the host and device. These functions cannot use the HIP grid coordinate functions (for example, "hipThreadIdx_x", will talk about it latter). A possible workaround is to pass the necessary coordinate info as an argument to the function. +`__host__` cannot combine with `__global__`. + +`__global__` functions are often referred to as *kernels, and calling one is termed *launching the kernel*. + +Next keyword is `void`. HIP `__global__` functions must have a `void` return type, and the first parameter to a HIP `__global__` function must have the type `hipLaunchParm`, which is for execution configuration. Global functions require the caller to specify an "execution configuration" that includes the grid and block dimensions. The execution configuration can also include other information for the launch, such as the amount of additional shared memory to allocate and the stream where the kernel should execute. + +After `hipLaunchParm`, Kernel arguments follows next(i.e., `float *out, float *in, const int width, const int height`). + +The kernel function begins with +` int x = hipBlockDim_x * hipBlockIdx_x + hipThreadIdx_x;` +` int y = hipBlockDim_y * hipBlockIdx_y + hipThreadIdx_y;` +here the keyword hipBlockIdx_x, hipBlockIdx_y and hipBlockIdx_z(not used here) are the built-in functions to identify the threads in a block. The keyword hipBlockDim_x, hipBlockDim_y and hipBlockDim_z(not used here) are to identify the dimensions of the block. + +We are familiar with rest of the code on device-side. + +## Host-side code + +Now, we'll see how to call the kernel from the host. Inside the main() function, we first defined the pointers(for both, the host-side as well as device). The declaration of device pointer is similar to that of the host. Next, we have `hipDeviceProp_t`, it is the pre-defined struct for hip device properties. This is followed by `hipGetDeviceProperties(&devProp, 0)` It is used to extract the device information. The first parameter is the struct, second parameter is the device number to get properties for. Next line print the name of the device. + +We allocated memory to the Matrix on host side by using malloc and initiallized it. While in order to allocate memory on device side we will be using `hipMalloc`, it's quiet similar to that of malloc instruction. After this, we will copy the data to the allocated memory on device-side using `hipMemcpy`. +` hipMemcpy(gpuMatrix, Matrix, NUM*sizeof(float), hipMemcpyHostToDevice);` +here the first parameter is the destination pointer, second is the source pointer, third is the size of memory copy and the last specify the direction on memory copy(which is in this case froom host to device). While in order to transfer memory from device to host, use `hipMemcpyDeviceToHost` and for device to device memory copy use `hipMemcpyDeviceToDevice`. + +Now, we'll see how to launch the kernel. +` hipLaunchKernel(matrixTranspose, ` +` dim3(WIDTH/THREADS_PER_BLOCK_X, HEIGHT/THREADS_PER_BLOCK_Y), ` +` dim3(THREADS_PER_BLOCK_X, THREADS_PER_BLOCK_Y), ` +` 0, 0, ` +` gpuTransposeMatrix , gpuMatrix, WIDTH ,HEIGHT); ` + +HIP introduces a standard C++ calling convention to pass the execution configuration to the kernel (this convention replaces the `Cuda <<< >>>` syntax). In HIP, +- Kernels launch with the `"hipLaunchKernel"` function +- The first five parameters to hipLaunchKernel are the following: + - **symbol kernelName**: the name of the kernel to launch. To support template kernels which contains "," use the HIP_KERNEL_NAME macro. In current application it's "matrixTranspose". + - **dim3 gridDim**: 3D-grid dimensions specifying the number of blocks to launch. In MatrixTranspose sample, it's "dim3(WIDTH/THREADS_PER_BLOCK_X, HEIGHT/THREADS_PER_BLOCK_Y)". + - **dim3 blockDim**: 3D-block dimensions specifying the number of threads in each block.In MatrixTranspose sample, it's "dim3(THREADS_PER_BLOCK_X, THREADS_PER_BLOCK_Y)". + - **size_t dynamicShared**: amount of additional shared memory to allocate when launching the kernel. In MatrixTranspose sample, it's '0'. + - **hipStream_t**: stream where the kernel should execute. A value of 0 corresponds to the NULL stream.In MatrixTranspose sample, it's '0'. +- Kernel arguments follow these first five parameters. Here, these are "gpuTransposeMatrix , gpuMatrix, WIDTH ,HEIGHT". + +Next, we'll copy the computed values/data back to the device using the `hipMemcpy`. Here the last parameter will be `hipMemcpyDeviceToHost` + +After, copying the data from device to memory, we will verify it with the one we computed with the cpu reference funtion. + +Finally, we will free the memory allocated earlier by using free() for host while for devices we will use `hipFree`. + +## How to build and run: +Use the make command and execute it using ./exe +Use hipcc to build the application, which is using hcc on AMD and nvcc on nvidia. + +## More Info: +- [HIP FAQ](https://github.com/ROCm-Developer-Tools/HIP/docs/markdown/hip_faq.md) +- [HIP Kernel Language](https://github.com/ROCm-Developer-Tools/HIP/docs/markdown/hip_kernel_language.md) +- [HIP Runtime API (Doxygen)](http://rocm-developer-tools.github.io/HIP) +- [HIP Porting Guide](https://github.com/ROCm-Developer-Tools/HIP/docs/markdown/hip_porting_guide.md) +- [HIP Terminology](https://github.com/ROCm-Developer-Tools/HIP/docs/markdown/hip_terms.md) (including Rosetta Stone of GPU computing terms across CUDA/HIP/HC/AMP/OpenL) +- [hipify-clang](https://github.com/ROCm-Developer-Tools/HIP/hipify-clang/README.md) +- [Developer/CONTRIBUTING Info](https://github.com/ROCm-Developer-Tools/HIP/CONTRIBUTING.md) +- [Release Notes](https://github.com/ROCm-Developer-Tools/HIP/RELEASE.md) diff --git a/test/run.sh b/test/run.sh index d5af3570f4..df1e1284db 100755 --- a/test/run.sh +++ b/test/run.sh @@ -38,15 +38,14 @@ export ROCP_AGENTS=1 # each thread creates a queue pre GPU agent export ROCP_THRS=1 -#eval ./test_hsa/ctrl - # paths to ROC profiler and oher libraries export LD_LIBRARY_PATH=$PWD # ROC profiler library loaded by HSA runtime export HSA_TOOLS_LIB="test/libtracer_tool.so libroctracer64.so" export LD_PRELOAD="$HSA_TOOLS_LIB" -eval ./test/hsa/ctrl +export ROCTRACER_DOMAIN="hsa" +HCC_PROFILE=1 LD_PRELOAD=$HCC_HOME/lib/libmcwamp_hsa.so ./test/MatrixTranspose #valgrind --leak-check=full $tbin #valgrind --tool=massif $tbin diff --git a/test/tool/tracer_tool.cpp b/test/tool/tracer_tool.cpp index 39d2018437..0bacd40b37 100644 --- a/test/tool/tracer_tool.cpp +++ b/test/tool/tracer_tool.cpp @@ -26,15 +26,27 @@ THE SOFTWARE. #include #include +#include #include #define PUBLIC_API __attribute__((visibility("default"))) #define CONSTRUCTOR_API __attribute__((constructor)) #define DESTRUCTOR_API __attribute__((destructor)) +// Macro to check ROC-tracer calls status +#define ROCTRACER_CALL(call) \ + do { \ + int err = call; \ + if (err != 0) { \ + std::cerr << roctracer_error_string() << std::endl << std::flush; \ + abort(); \ + } \ + } while (0) + typedef hsa_rt_utils::Timer::timestamp_t timestamp_t; hsa_rt_utils::Timer timer(NULL); -thread_local timestamp_t begin_timestamp = 0; +thread_local timestamp_t hsa_begin_timestamp = 0; +thread_local timestamp_t hip_begin_timestamp = 0; // HSA API callback function void hsa_api_callback( @@ -48,21 +60,73 @@ void hsa_api_callback( const hsa_api_data_t* data = reinterpret_cast(callback_data); if (data->phase == ACTIVITY_API_PHASE_ENTER) { - begin_timestamp = timer.timestamp_fn_ns(); + hsa_begin_timestamp = timer.timestamp_fn_ns(); } else { - const timestamp_t end_timestamp = (cid == HSA_API_ID_hsa_shut_down) ? begin_timestamp : timer.timestamp_fn_ns(); + const timestamp_t end_timestamp = (cid == HSA_API_ID_hsa_shut_down) ? hsa_begin_timestamp : timer.timestamp_fn_ns(); std::ostringstream os; - os << '(' << begin_timestamp << ":" << end_timestamp << ") " << hsa_api_data_pair_t(cid, *data); + os << '(' << hsa_begin_timestamp << ":" << end_timestamp << ") " << hsa_api_data_pair_t(cid, *data); fprintf(stdout, "%s\n", os.str().c_str()); } } +void hip_api_callback( + uint32_t domain, + uint32_t cid, + const void* callback_data, + void* arg) +{ + (void)arg; + const hip_api_data_t* data = reinterpret_cast(callback_data); + if (data->phase == ACTIVITY_API_PHASE_ENTER) { + hsa_begin_timestamp = timer.timestamp_fn_ns(); + } else { + const timestamp_t end_timestamp = timer.timestamp_fn_ns(); + fprintf(stdout, "(%lu:%lu) %s(", hsa_begin_timestamp, end_timestamp, roctracer_id_string(ACTIVITY_DOMAIN_HIP_API, cid, 0)); + switch (cid) { + case HIP_API_ID_hipMemcpy: + fprintf(stdout, "dst(%p) src(%p) size(0x%x) kind(%u)", + data->args.hipMemcpy.dst, + data->args.hipMemcpy.src, + (uint32_t)(data->args.hipMemcpy.sizeBytes), + (uint32_t)(data->args.hipMemcpy.kind)); + break; + case HIP_API_ID_hipMalloc: + fprintf(stdout, "ptr(0x%p) size(0x%x)", + *(data->args.hipMalloc.ptr), + (uint32_t)(data->args.hipMalloc.size)); + break; + case HIP_API_ID_hipFree: + fprintf(stdout, "ptr(%p)", + data->args.hipFree.ptr); + break; + case HIP_API_ID_hipModuleLaunchKernel: + fprintf(stdout, "kernel(\"%s\") stream(%p)", + hipKernelNameRef(data->args.hipModuleLaunchKernel.f), + data->args.hipModuleLaunchKernel.stream); + break; + default: + break; + } + fprintf(stdout, ")\n"); fflush(stdout); + } +} + extern "C" { // HSA-runtime tool on-load method PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, uint64_t failed_tool_count, const char* const* failed_tool_names) { timer.init(table->core_->hsa_system_get_info_fn); - roctracer_enable_callback(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_ANY, hsa_api_callback, NULL); + const char* trace_domain = getenv("ROCTRACER_DOMAIN"); + const bool trace_hsa = (trace_domain == NULL) || (strncmp(trace_domain, "hsa", 3) == 0); + const bool trace_hip = (trace_domain == NULL) || (strncmp(trace_domain, "hip", 3) == 0); + // Enable HSA API callbacks + if (trace_hsa) { + ROCTRACER_CALL(roctracer_enable_callback(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_ANY, hsa_api_callback, NULL)); + } + // Enable HIP API callbacks + if (trace_hip) { + ROCTRACER_CALL(roctracer_enable_callback(ACTIVITY_DOMAIN_HIP_API, HIP_API_ID_ANY, hip_api_callback, NULL)); + } return true; } } From 8b3c63b4edf0fc3ce6a3c48e2262edb72edb943f Mon Sep 17 00:00:00 2001 From: Evgeny Date: Fri, 21 Dec 2018 12:05:14 -0600 Subject: [PATCH 049/691] hsa test --- test/CMakeLists.txt | 16 +++++++++------- test/run.sh | 3 ++- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index fd0ed9ca7f..b2f97faf7d 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -23,6 +23,9 @@ cmake_minimum_required ( VERSION 2.8.12 ) set ( CMAKE_VERBOSE_MAKEFILE TRUE CACHE BOOL "Verbose Output" FORCE ) +# test run script +set ( RUN_SCRIPT "${TEST_DIR}/run.sh" ) + ## Util sources file( GLOB UTIL_SRC "${TEST_HSA}/util/*.cpp" ) @@ -34,13 +37,12 @@ target_include_directories ( ${TEST_LIB} PRIVATE ${TEST_HSA} ${ROOT_DIR} ${HSA_R target_link_libraries ( ${TEST_LIB} ${ROCTRACER_TARGET} ${HSA_RUNTIME_LIB} c stdc++ dl pthread rt ) # HSA test -#set ( TEST_HSA "${TEST_DIR}/hsa/test" ) -#set ( TEST_DIR ${TEST_HSA} ) -#execute_process ( COMMAND sh -xc "if [ ! -e ${TEST_DIR}/hsa ] ; then git clone https://github.com/ROCmSoftwarePlatform/hsa-class.git ${TEST_DIR}/hsa; fi" ) -#execute_process ( COMMAND sh -xc "if [ -e ${TEST_DIR}/hsa ] ; then cd ${TEST_DIR}/hsa && git pull --rebase; fi" ) -#add_subdirectory ( ${TEST_DIR} ${PROJECT_BINARY_DIR}/test/hsa ) +set ( TEST_HSA "${TEST_DIR}/hsa/test" ) +execute_process ( COMMAND sh -xc "if [ ! -e ${TEST_DIR}/hsa ] ; then git clone https://github.com/ROCmSoftwarePlatform/hsa-class.git ${TEST_DIR}/hsa; fi" ) +execute_process ( COMMAND sh -xc "if [ -e ${TEST_DIR}/hsa ] ; then cd ${TEST_DIR}/hsa && git checkout 3e7a87f; fi" ) +set ( TEST_DIR ${TEST_HSA} ) +add_subdirectory ( ${TEST_DIR} ${PROJECT_BINARY_DIR}/test/hsa ) -# test run script -set ( RUN_SCRIPT "${TEST_DIR}/run.sh" ) +# copying run script execute_process ( COMMAND sh -xc "cp ${RUN_SCRIPT} ${PROJECT_BINARY_DIR}" ) diff --git a/test/run.sh b/test/run.sh index df1e1284db..ad6c52a138 100755 --- a/test/run.sh +++ b/test/run.sh @@ -45,7 +45,8 @@ export HSA_TOOLS_LIB="test/libtracer_tool.so libroctracer64.so" export LD_PRELOAD="$HSA_TOOLS_LIB" export ROCTRACER_DOMAIN="hsa" -HCC_PROFILE=1 LD_PRELOAD=$HCC_HOME/lib/libmcwamp_hsa.so ./test/MatrixTranspose +eval ./test/hsa/ctrl +#HCC_PROFILE=1 LD_PRELOAD=$HCC_HOME/lib/libmcwamp_hsa.so ./test/MatrixTranspose #valgrind --leak-check=full $tbin #valgrind --tool=massif $tbin From 2a8cfd5679436a023ce8f2c17519bbb36a18de43 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Sun, 23 Dec 2018 03:23:26 -0600 Subject: [PATCH 050/691] build/test scripts --- build.sh | 36 ++++++++++++++++++++++++++++++++++++ run_test.sh | 13 +++++++++++++ test/run.sh | 4 ++-- 3 files changed, 51 insertions(+), 2 deletions(-) create mode 100755 build.sh create mode 100755 run_test.sh diff --git a/build.sh b/build.sh new file mode 100755 index 0000000000..1a56235690 --- /dev/null +++ b/build.sh @@ -0,0 +1,36 @@ +#!/bin/bash + +fatal() { + echo "$1" + exit 1 +} + +if [ -z "$BUILD_DIR" ] ; then fatal "env var BUILD_DIR is not defined"; fi +if [ -z "$HIP_PATH" ] ; then fatal "env var HIP_PATH is not defined"; fi +if [ -z "$HCC_HOME" ] ; then fatal "env var HCC_HOME is not defined"; fi +if [ -z "$ROCTRACER_ROOT" ]; then fatal "env var ROCTRACER_ROOT is not defined"; fi +if [ -z "$BUILD_TYPE" ] ; then fatal "env var BUILD_TYPE is not defined"; fi +if [ -z "$PACKAGE_ROOT" ] ; then fatal "env var PACKAGE_ROOT is not defined"; fi +if [ -z "$PACKAGE_PREFIX" ] ; then fatal "env var PACKAGE_PREFIX is not defined"; fi +if [ -z "$ROCM_RPATH" ] ; then fatal "env var ROCM_RPATH is not defined"; fi + +MAKE_OPTS="-j 8 -C $BUILD_DIR" + +mkdir -p $BUILD_DIR +pushd $BUILD_DIR +cmake \ + -DCMAKE_MODULE_PATH=$ROCTRACER_ROOT/cmake_modules \ + -DCMAKE_BUILD_TYPE=$BUILD_TYPE \ + -DCMAKE_PREFIX_PATH="$PACKAGE_ROOT/hsa/include/hsa;$PACKAGE_ROOT/hsa/lib;$PACKAGE_ROOT/libhsakmt/lib" \ + -DCMAKE_INSTALL_PREFIX=$PACKAGE_ROOT \ + -DCPACK_PACKAGING_INSTALL_PREFIX=$PACKAGE_PREFIX \ + -DCPACK_GENERATOR="DEB;RPM" \ + $ROCTRACER_ROOT +popd + +make $MAKE_OPTS +make $MAKE_OPTS mytest +make $MAKE_OPTS install +make $MAKE_OPTS package + +exit 0 diff --git a/run_test.sh b/run_test.sh new file mode 100755 index 0000000000..7eb483162f --- /dev/null +++ b/run_test.sh @@ -0,0 +1,13 @@ +#!/bin/bash + +fatal() { + echo "$1" + exit 1 +} + +if [ -z "$BUILD_DIR" ] ; then fatal "env var BUILD_DIR is not defined"; fi + +cd $BUILD_DIR +./run.sh + +exit 0 diff --git a/test/run.sh b/test/run.sh index ad6c52a138..defcda1665 100755 --- a/test/run.sh +++ b/test/run.sh @@ -45,8 +45,8 @@ export HSA_TOOLS_LIB="test/libtracer_tool.so libroctracer64.so" export LD_PRELOAD="$HSA_TOOLS_LIB" export ROCTRACER_DOMAIN="hsa" -eval ./test/hsa/ctrl -#HCC_PROFILE=1 LD_PRELOAD=$HCC_HOME/lib/libmcwamp_hsa.so ./test/MatrixTranspose +#eval ./test/hsa/ctrl +HCC_PROFILE=1 LD_PRELOAD=$HCC_HOME/lib/libmcwamp_hsa.so ./test/MatrixTranspose #valgrind --leak-check=full $tbin #valgrind --tool=massif $tbin From e89767690bde55e23bcb689a48a3a1f088c51630 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Sun, 23 Dec 2018 23:52:05 -0600 Subject: [PATCH 051/691] adding assertion to run_test.sh --- run_test.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/run_test.sh b/run_test.sh index 7eb483162f..096790d567 100755 --- a/run_test.sh +++ b/run_test.sh @@ -6,6 +6,7 @@ fatal() { } if [ -z "$BUILD_DIR" ] ; then fatal "env var BUILD_DIR is not defined"; fi +if [ -z "$HCC_HOME" ] ; then fatal "env var HCC_HOME is not defined"; fi cd $BUILD_DIR ./run.sh From b51cb80f93abfa3d8194dd79b241c4403932d25d Mon Sep 17 00:00:00 2001 From: Evgeny Date: Mon, 24 Dec 2018 22:25:44 -0600 Subject: [PATCH 052/691] adding build.sh and run_test.sh env defaults --- build.sh | 16 +++++++++------- run_test.sh | 5 +++-- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/build.sh b/build.sh index 1a56235690..a38bfc5dda 100755 --- a/build.sh +++ b/build.sh @@ -1,18 +1,20 @@ #!/bin/bash +COMPONENT="roctracer" +ROCM_PATH="/opt/rocm" fatal() { echo "$1" exit 1 } -if [ -z "$BUILD_DIR" ] ; then fatal "env var BUILD_DIR is not defined"; fi -if [ -z "$HIP_PATH" ] ; then fatal "env var HIP_PATH is not defined"; fi -if [ -z "$HCC_HOME" ] ; then fatal "env var HCC_HOME is not defined"; fi if [ -z "$ROCTRACER_ROOT" ]; then fatal "env var ROCTRACER_ROOT is not defined"; fi -if [ -z "$BUILD_TYPE" ] ; then fatal "env var BUILD_TYPE is not defined"; fi -if [ -z "$PACKAGE_ROOT" ] ; then fatal "env var PACKAGE_ROOT is not defined"; fi -if [ -z "$PACKAGE_PREFIX" ] ; then fatal "env var PACKAGE_PREFIX is not defined"; fi -if [ -z "$ROCM_RPATH" ] ; then fatal "env var ROCM_RPATH is not defined"; fi + +if [ -z "$BUILD_DIR" ] ; then export BUILD_DIR=$PWD; fi +if [ -z "$HIP_PATH" ] ; then export HIP_PATH="$ROCM_PATH/hip"; fi +if [ -z "$HCC_HOME" ] ; then export HCC_HOME="$ROCM_PATH/hcc"; fi +if [ -z "$BUILD_TYPE" ] ; then export BUILD_TYPR="release"; fi +if [ -z "$PACKAGE_ROOT" ] ; then export PACKAGE_ROOT=$ROCM_PATH; fi +if [ -z "$PACKAGE_PREFIX" ] ; then export PACKAGE_PREFIX="$ROCM_PATH/$COMPONENT"; fi MAKE_OPTS="-j 8 -C $BUILD_DIR" diff --git a/run_test.sh b/run_test.sh index 096790d567..c2ea74a6c5 100755 --- a/run_test.sh +++ b/run_test.sh @@ -1,12 +1,13 @@ #!/bin/bash +ROCM_PATH="/opt/rocm" fatal() { echo "$1" exit 1 } -if [ -z "$BUILD_DIR" ] ; then fatal "env var BUILD_DIR is not defined"; fi -if [ -z "$HCC_HOME" ] ; then fatal "env var HCC_HOME is not defined"; fi +if [ -z "$BUILD_DIR" ] ; then export BUILD_DIR=$PWD; fi +if [ -z "$HCC_HOME" ] ; then export HCC_HOME="$ROCM_PATH/hcc"; fi cd $BUILD_DIR ./run.sh From 3f133beed1e739892af3cba0ed0fa8efe9ab5756 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Thu, 27 Dec 2018 02:26:09 -0600 Subject: [PATCH 053/691] setting source dir to current by dafault --- build.sh | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/build.sh b/build.sh index a38bfc5dda..d8730b5982 100755 --- a/build.sh +++ b/build.sh @@ -7,8 +7,7 @@ fatal() { exit 1 } -if [ -z "$ROCTRACER_ROOT" ]; then fatal "env var ROCTRACER_ROOT is not defined"; fi - +if [ -z "$ROCTRACER_ROOT" ]; then export ROCTRACER_ROOT=$PWD; fi if [ -z "$BUILD_DIR" ] ; then export BUILD_DIR=$PWD; fi if [ -z "$HIP_PATH" ] ; then export HIP_PATH="$ROCM_PATH/hip"; fi if [ -z "$HCC_HOME" ] ; then export HCC_HOME="$ROCM_PATH/hcc"; fi From 5272bcc31682a8178b8a33d6e7e351be0a7811ee Mon Sep 17 00:00:00 2001 From: Evgeny Date: Mon, 7 Jan 2019 18:58:01 -0600 Subject: [PATCH 054/691] minor change --- inc/ext/prof_protocol.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/inc/ext/prof_protocol.h b/inc/ext/prof_protocol.h index 8f22d8d685..5220e00114 100644 --- a/inc/ext/prof_protocol.h +++ b/inc/ext/prof_protocol.h @@ -39,7 +39,7 @@ typedef void (*activity_rtapi_callback_t)(uint32_t domain, uint32_t cid, const v typedef enum { ACTIVITY_API_PHASE_ENTER = 0, ACTIVITY_API_PHASE_EXIT = 1 -} r_feature_kind_t; +}; // Trace record types // Correlation id From 24c9b28a45e518ebe6c69028f466b5a2b085185c Mon Sep 17 00:00:00 2001 From: Evgeny Date: Wed, 9 Jan 2019 10:48:42 -0600 Subject: [PATCH 055/691] minor changes --- inc/ext/prof_protocol.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/inc/ext/prof_protocol.h b/inc/ext/prof_protocol.h index 5220e00114..e7f956a792 100644 --- a/inc/ext/prof_protocol.h +++ b/inc/ext/prof_protocol.h @@ -39,7 +39,7 @@ typedef void (*activity_rtapi_callback_t)(uint32_t domain, uint32_t cid, const v typedef enum { ACTIVITY_API_PHASE_ENTER = 0, ACTIVITY_API_PHASE_EXIT = 1 -}; +} activity_api_phase_t; // Trace record types // Correlation id @@ -69,6 +69,7 @@ struct activity_record_t { // Activity sync calback type typedef activity_record_t* (*activity_sync_callback_t)(uint32_t cid, activity_record_t* record, const void* data, void* arg); // Activity async calback type +typedef void (*activity_id_callback_t)(activity_correlation_id_t id); typedef void (*activity_async_callback_t)(uint32_t op, void* record, void* arg); #endif // INC_EXT_PROF_PROTOCOL_H_ From 91af7764ad4811ba9714a7b93aaf3f7fc93489ee Mon Sep 17 00:00:00 2001 From: Evgeny Date: Thu, 10 Jan 2019 03:01:15 -0600 Subject: [PATCH 056/691] async token mechanism --- CMakeLists.txt | 4 -- inc/ext/prof_protocol.h | 2 + src/core/loader.h | 61 +++++++++++++++++++++++++++++- src/core/roctracer.cpp | 46 +++++++++++++++++----- test/CMakeLists.txt | 12 ++++-- test/MatrixTranspose_test/Makefile | 2 +- test/run.sh | 1 - test/tool/tracer_tool.cpp | 56 ++++++++++++++++++++++++++- 8 files changed, 162 insertions(+), 22 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index d4b1a36d7d..729e5e9518 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -40,10 +40,6 @@ list ( APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake_modules" ) include ( utils ) ## Set build environment include ( env ) -## Set test target -add_custom_target( mytest - COMMAND make -C "${CMAKE_CURRENT_SOURCE_DIR}/test/MatrixTranspose" - COMMAND sh -xc "cp ${CMAKE_CURRENT_SOURCE_DIR}/test/MatrixTranspose/MatrixTranspose ${PROJECT_BINARY_DIR}/test" ) ## Setup the package version. get_version ( "1.0.0" ) diff --git a/inc/ext/prof_protocol.h b/inc/ext/prof_protocol.h index e7f956a792..e9c8577ff1 100644 --- a/inc/ext/prof_protocol.h +++ b/inc/ext/prof_protocol.h @@ -23,6 +23,8 @@ THE SOFTWARE. #ifndef INC_EXT_PROF_PROTOCOL_H_ #define INC_EXT_PROF_PROTOCOL_H_ +#define HCC_ENABLED 1 + // Traced API domains typedef enum { ACTIVITY_DOMAIN_ANY = 0, // Any domain diff --git a/src/core/loader.h b/src/core/loader.h index 068886c9fc..cf34781c6b 100644 --- a/src/core/loader.h +++ b/src/core/loader.h @@ -9,7 +9,7 @@ namespace roctracer { class Loader { public: Loader(const char* lib_name) { - handle_ = dlopen(lib_name, RTLD_NOW); + handle_ = dlopen(lib_name, RTLD_LAZY|RTLD_NODELETE); if (handle_ == NULL) { fprintf(stderr, "roctracer: Loading '%s' failed, %s\n", lib_name, dlerror()); abort(); @@ -66,4 +66,63 @@ class HipLoader : protected Loader { } // namespace roctracer +#if 0 +namespace roctracer { +class HccLoader : protected Loader { + public: + typedef std::mutex mutex_t; + + typedef decltype(Kalmar::CLAMP::SetActivityCallback) hccSetActivityCallback_t; + typedef decltype(Kalmar::CLAMP::SetActivityIdCallback) hccSetActivityIdCallback_t; + typedef decltype(Kalmar::CLAMP::GetCmdName) hccGetCmdName_t; + + static HccLoader& Instance() { + std::lock_guard lck(mutex_); + if (instance_ == NULL) { + instance_ = new HccLoader(); + } + return *instance_; + } + + HccLoader() : Loader("libmcwamp.so") { + // _ZN6Kalmar5CLAMP19SetActivityCallbackEjPvS1_ + hccSetActivityCallback = GetFun("Kalmar::CLAMP::SetActivityCallback"); + // _ZN6Kalmar5CLAMP21SetActivityIdCallbackEPv + hccSetActivityIdCallback = GetFun("Kalmar::CLAMP::SetActivityIdCallback"); + // _ZN6Kalmar5CLAMP10GetCmdNameEj + hccGetCmdName = GetFun("Kalmar::CLAMP::GetCmdName"); + + printf("HccLoader hccSetActivityCallback %p\n", hccSetActivityCallback); + } + + hccSetActivityCallback_t* hccSetActivityCallback; + hccSetActivityIdCallback_t* hccSetActivityIdCallback; + hccGetCmdName_t* hccGetCmdName; + + private: + static HccLoader* instance_; + static mutex_t mutex_; +}; +} // namespace roctracer + +namespace Kalmar { +namespace CLAMP { +extern bool SetActivityCallback(unsigned, void*, void*) __attribute__((weak_import)); +extern void SetActivityIdCallback(void*) __attribute__((weak_import)); +extern const char* GetCmdName(unsigned) __attribute__((weak_impot)); +}} + +namespace roctracer { +bool HccSetActivityCallback(unsigned op, void* fun, void* arg) { + printf("HccSetActivityCallback(%p)\n", Kalmar::CLAMP::SetActivityCallback); + return (Kalmar::CLAMP::SetActivityCallback != NULL) ? Kalmar::CLAMP::SetActivityCallback(op, fun, arg) : true; +} +void HccSetActivityIdCallback(void* fun) { + if (Kalmar::CLAMP::SetActivityIdCallback != NULL) Kalmar::CLAMP::SetActivityIdCallback(fun); +} +const char* HccGetCmdName(unsigned op) { + if (Kalmar::CLAMP::GetCmdName != NULL) Kalmar::CLAMP::GetCmdName(op); +} +} // namespace roctracer +#endif #endif // SRC_CORE_LOADER_H_ diff --git a/src/core/roctracer.cpp b/src/core/roctracer.cpp index 245108b16c..b135b70276 100644 --- a/src/core/roctracer.cpp +++ b/src/core/roctracer.cpp @@ -282,6 +282,26 @@ DESTRUCTOR_API void destructor() { util::Logger::Destroy(); } +// Correlation id storage +static thread_local activity_correlation_id_t correlation_id_tls = 0; +typedef std::map correlation_id_map_t; +typedef std::mutex correlation_id_mutex_t; +correlation_id_map_t* correlation_id_map = NULL; +correlation_id_mutex_t correlation_id_mutex; + +static inline void CorrelationIdRegistr(const activity_correlation_id_t& correlation_id) { + std::lock_guard lck(correlation_id_mutex); + if (correlation_id_map == NULL) correlation_id_map = new correlation_id_map_t; + const auto ret = correlation_id_map->insert({correlation_id, correlation_id_tls}); + if (ret.second == false) EXC_ABORT(ROCTRACER_STATUS_ERROR, "HCC activity id is not unique(" << correlation_id << ")"); +} + +static inline activity_correlation_id_t CorrelationIdLookup(const activity_correlation_id_t& correlation_id) { + auto it = correlation_id_map->find(correlation_id); + if (it == correlation_id_map->end()) EXC_ABORT(ROCTRACER_STATUS_ERROR, "HCC activity id lookup failed(" << correlation_id << ")"); + return it->second; +} + roctracer_record_t* HIP_SyncActivityCallback( uint32_t activity_id, roctracer_record_t* record, @@ -305,8 +325,8 @@ roctracer_record_t* HIP_SyncActivityCallback( } record->correlation_id = correlation_id; #ifdef HCC_ENABLED - // Passing record to HCC - Kalmar::CLAMP::SetActivityRecord(correlation_id); + // Passing correlatin ID + correlation_id_tls = correlation_id; #endif return record; } else { @@ -315,23 +335,24 @@ roctracer_record_t* HIP_SyncActivityCallback( record->thread_id = syscall(__NR_gettid); pool->Write(*record); #ifdef HCC_ENABLED - // Clearing record in HCC - Kalmar::CLAMP::SetActivityRecord(0); + // Clearing correlatin ID + correlation_id_tls = 0; #endif return NULL; } } -void HCC_AsyncActivityCallback( - uint32_t op_id, - void* record, - void* arg) -{ +void HCC_ActivityIdCallback(activity_correlation_id_t correlation_id) { + CorrelationIdRegistr(correlation_id); +} + +void HCC_AsyncActivityCallback(uint32_t op_id, void* record, void* arg) { static hsa_rt_utils::Timer timer; MemoryPool* pool = reinterpret_cast(arg); roctracer_record_t* record_ptr = reinterpret_cast(record); record_ptr->domain = ACTIVITY_DOMAIN_HCC_OPS; + record_ptr->correlation_id = CorrelationIdLookup(record_ptr->correlation_id); pool->Write(*record_ptr); } @@ -382,6 +403,7 @@ PUBLIC_API const char* roctracer_id_string(const uint32_t& domain, const uint32_ case ACTIVITY_DOMAIN_HCC_OPS: { #ifdef HCC_ENABLED return Kalmar::CLAMP::GetCmdName(kind); +// return roctracer::HccLoader::Instance().hccGetCmdName(kind); #endif break; } @@ -507,8 +529,11 @@ PUBLIC_API roctracer_status_t roctracer_enable_activity( break; case ACTIVITY_DOMAIN_HCC_OPS: { #ifdef HCC_ENABLED + Kalmar::CLAMP::SetActivityIdCallback((void*)roctracer::HCC_ActivityIdCallback); const bool err = Kalmar::CLAMP::SetActivityCallback(id, (void*)roctracer::HCC_AsyncActivityCallback, (void*)pool); - if (err == true) HCC_EXC_RAISING(ROCTRACER_STATUS_HCC_OPS_ERR, "Kalmar::CLAMP::SetActivityCallback error"); +// roctracer::HccLoader::Instance().hccSetActivityIdCallback((void*)roctracer::HCC_ActivityIdCallback); +// const bool err = roctracer::HccLoader::Instance().hccSetActivityCallback(id, (void*)roctracer::HCC_AsyncActivityCallback, (void*)pool); + if (err == true) HCC_EXC_RAISING(ROCTRACER_STATUS_HCC_OPS_ERR, "HCC::SetActivityCallback error"); #endif break; } @@ -540,6 +565,7 @@ PUBLIC_API roctracer_status_t roctracer_disable_activity( case ACTIVITY_DOMAIN_HCC_OPS: { #ifdef HCC_ENABLED const bool err = Kalmar::CLAMP::SetActivityCallback(id, NULL, NULL); +// const bool err = roctracer::HccLoader::Instance().hccSetActivityCallback(id, NULL, NULL); if (err == true) HCC_EXC_RAISING(ROCTRACER_STATUS_HCC_OPS_ERR, "Kalmar::CLAMP::SetActivityCallback(NULL) error"); #endif break; diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index b2f97faf7d..b618efc345 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -23,7 +23,11 @@ cmake_minimum_required ( VERSION 2.8.12 ) set ( CMAKE_VERBOSE_MAKEFILE TRUE CACHE BOOL "Verbose Output" FORCE ) -# test run script +## HIP test +execute_process( COMMAND make -C "${TEST_DIR}/MatrixTranspose" ) +execute_process( COMMAND sh -xc "cp ${TEST_DIR}/MatrixTranspose/MatrixTranspose ${PROJECT_BINARY_DIR}/test" ) + +## test run script set ( RUN_SCRIPT "${TEST_DIR}/run.sh" ) ## Util sources @@ -33,16 +37,16 @@ file( GLOB UTIL_SRC "${TEST_HSA}/util/*.cpp" ) set ( TEST_LIB "tracer_tool" ) set ( TEST_LIB_SRC ${TEST_DIR}/tool/tracer_tool.cpp ${UTIL_SRC} ) add_library ( ${TEST_LIB} SHARED ${TEST_LIB_SRC} ) -target_include_directories ( ${TEST_LIB} PRIVATE ${TEST_HSA} ${ROOT_DIR} ${HSA_RUNTIME_INC_PATH} ${HIP_INC_DIR} ) +target_include_directories ( ${TEST_LIB} PRIVATE ${TEST_HSA} ${ROOT_DIR} ${HSA_RUNTIME_INC_PATH} ${HIP_INC_DIR} ${HCC_INC_DIR} ) target_link_libraries ( ${TEST_LIB} ${ROCTRACER_TARGET} ${HSA_RUNTIME_LIB} c stdc++ dl pthread rt ) -# HSA test +## HSA test set ( TEST_HSA "${TEST_DIR}/hsa/test" ) execute_process ( COMMAND sh -xc "if [ ! -e ${TEST_DIR}/hsa ] ; then git clone https://github.com/ROCmSoftwarePlatform/hsa-class.git ${TEST_DIR}/hsa; fi" ) execute_process ( COMMAND sh -xc "if [ -e ${TEST_DIR}/hsa ] ; then cd ${TEST_DIR}/hsa && git checkout 3e7a87f; fi" ) set ( TEST_DIR ${TEST_HSA} ) add_subdirectory ( ${TEST_DIR} ${PROJECT_BINARY_DIR}/test/hsa ) -# copying run script +## copying run script execute_process ( COMMAND sh -xc "cp ${RUN_SCRIPT} ${PROJECT_BINARY_DIR}" ) diff --git a/test/MatrixTranspose_test/Makefile b/test/MatrixTranspose_test/Makefile index c4cae4c539..1c0022498f 100644 --- a/test/MatrixTranspose_test/Makefile +++ b/test/MatrixTranspose_test/Makefile @@ -3,7 +3,7 @@ LIB_PATH = $(ROOT_PATH)/build LIB_NAME = roctracer64 ROC_LIBS = -L$(LIB_PATH) -l$(LIB_NAME) -EXECUTABLE = ./MatrixTranspose.exe +EXECUTABLE = ./MatrixTranspose SOURCES = MatrixTranspose.cpp OBJECTS = $(SOURCES:.cpp=.o) diff --git a/test/run.sh b/test/run.sh index defcda1665..c0742910b7 100755 --- a/test/run.sh +++ b/test/run.sh @@ -44,7 +44,6 @@ export LD_LIBRARY_PATH=$PWD export HSA_TOOLS_LIB="test/libtracer_tool.so libroctracer64.so" export LD_PRELOAD="$HSA_TOOLS_LIB" -export ROCTRACER_DOMAIN="hsa" #eval ./test/hsa/ctrl HCC_PROFILE=1 LD_PRELOAD=$HCC_HOME/lib/libmcwamp_hsa.so ./test/MatrixTranspose diff --git a/test/tool/tracer_tool.cpp b/test/tool/tracer_tool.cpp index 0bacd40b37..5f48c562bf 100644 --- a/test/tool/tracer_tool.cpp +++ b/test/tool/tracer_tool.cpp @@ -27,6 +27,7 @@ THE SOFTWARE. #include #include +#include #include #define PUBLIC_API __attribute__((visibility("default"))) @@ -111,6 +112,41 @@ void hip_api_callback( } } +// Activity tracing callback +// hipMalloc id(3) correlation_id(1): begin_ns(1525888652762640464) end_ns(1525888652762877067) +void activity_callback(const char* begin, const char* end, void* arg) { + const roctracer_record_t* record = reinterpret_cast(begin); + const roctracer_record_t* end_record = reinterpret_cast(end); + fprintf(stdout, "\tActivity records:\n"); fflush(stdout); + while (record < end_record) { + const char * name = roctracer_id_string(record->domain, record->activity_id, record->kind); + fprintf(stdout, "\t%s\tcorrelation_id(%lu) time_ns(%lu:%lu)", + name, + record->correlation_id, + record->begin_ns, + record->end_ns + ); + if (record->domain == ACTIVITY_DOMAIN_HIP_API) { + fprintf(stdout, " process_id(%u) thread_id(%u)", + record->process_id, + record->thread_id + ); + } else if (record->domain == ACTIVITY_DOMAIN_HCC_OPS) { + fprintf(stdout, " device_id(%d) queue_id(%lu)", + record->device_id, + record->queue_id + ); + } else { + fprintf(stderr, "Bad domain %d\n", record->domain); + abort(); + } + if (record->activity_id == hc::HSA_OP_ID_COPY) fprintf(stdout, " bytes(0x%zx)", record->bytes); + fprintf(stdout, "\n"); + fflush(stdout); + ROCTRACER_CALL(roctracer_next_record(record, &record)); + } +} + extern "C" { // HSA-runtime tool on-load method PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, uint64_t failed_tool_count, @@ -119,14 +155,32 @@ PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, uint64_t fa const char* trace_domain = getenv("ROCTRACER_DOMAIN"); const bool trace_hsa = (trace_domain == NULL) || (strncmp(trace_domain, "hsa", 3) == 0); const bool trace_hip = (trace_domain == NULL) || (strncmp(trace_domain, "hip", 3) == 0); + // Enable HSA API callbacks if (trace_hsa) { ROCTRACER_CALL(roctracer_enable_callback(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_ANY, hsa_api_callback, NULL)); } - // Enable HIP API callbacks + + // Enable HIP API callbacks/activity if (trace_hip) { + // Allocating tracing pool + roctracer_properties_t properties{}; + properties.buffer_size = 12; + properties.buffer_callback_fun = activity_callback; + ROCTRACER_CALL(roctracer_open_pool(&properties)); + ROCTRACER_CALL(roctracer_enable_callback(ACTIVITY_DOMAIN_HIP_API, HIP_API_ID_ANY, hip_api_callback, NULL)); + ROCTRACER_CALL(roctracer_enable_activity(ACTIVITY_DOMAIN_ANY, 0)); } + return true; } + +// HSA-runtime tool on-unload method +PUBLIC_API void OnUnload() { + ROCTRACER_CALL(roctracer_disable_callback(ACTIVITY_DOMAIN_ANY, 0)); + ROCTRACER_CALL(roctracer_disable_activity(ACTIVITY_DOMAIN_ANY, 0)); + ROCTRACER_CALL(roctracer_close_pool()); +} + } From 80f23e9a9ff4d4adaaf26ee5d8d1684f43e9e7d2 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Thu, 10 Jan 2019 03:25:25 -0600 Subject: [PATCH 057/691] hcc dynamic loader --- src/core/loader.h | 68 +++++++++++++++++++++--------------------- src/core/roctracer.cpp | 25 +++++++--------- 2 files changed, 45 insertions(+), 48 deletions(-) diff --git a/src/core/loader.h b/src/core/loader.h index cf34781c6b..9ecec2c766 100644 --- a/src/core/loader.h +++ b/src/core/loader.h @@ -8,6 +8,8 @@ namespace roctracer { class Loader { public: + typedef std::mutex mutex_t; + Loader(const char* lib_name) { handle_ = dlopen(lib_name, RTLD_LAZY|RTLD_NODELETE); if (handle_ == NULL) { @@ -23,19 +25,20 @@ class Loader { template fun_t* GetFun(const char* fun_name) { return (fun_t*) dlsym(handle_, fun_name); } + protected: + static mutex_t mutex_; + private: void* handle_; }; class HipLoader : protected Loader { public: - typedef std::mutex mutex_t; - - typedef decltype(hipRegisterApiCallback) hipRegisterApiCallback_t; - typedef decltype(hipRemoveApiCallback) hipRemoveApiCallback_t; - typedef decltype(hipRegisterActivityCallback) hipRegisterActivityCallback_t; - typedef decltype(hipRemoveActivityCallback) hipRemoveActivityCallback_t; - typedef decltype(hipKernelNameRef) hipKernelNameRef_t; + typedef decltype(hipRegisterApiCallback) RegisterApiCallback_t; + typedef decltype(hipRemoveApiCallback) RemoveApiCallback_t; + typedef decltype(hipRegisterActivityCallback) RegisterActivityCallback_t; + typedef decltype(hipRemoveActivityCallback) RemoveActivityCallback_t; + typedef decltype(hipKernelNameRef) KernelNameRef_t; static HipLoader& Instance() { std::lock_guard lck(mutex_); @@ -46,35 +49,30 @@ class HipLoader : protected Loader { } HipLoader() : Loader("libhip_hcc.so") { - hipRegisterApiCallback = GetFun("hipRegisterApiCallback"); - hipRemoveApiCallback = GetFun("hipRemoveApiCallback"); - hipRegisterActivityCallback = GetFun("hipRegisterActivityCallback"); - hipRemoveActivityCallback = GetFun("hipRemoveActivityCallback"); - hipKernelNameRef = GetFun("hipKernelNameRef"); + RegisterApiCallback = GetFun("hipRegisterApiCallback"); + RemoveApiCallback = GetFun("hipRemoveApiCallback"); + RegisterActivityCallback = GetFun("hipRegisterActivityCallback"); + RemoveActivityCallback = GetFun("hipRemoveActivityCallback"); + KernelNameRef = GetFun("hipKernelNameRef"); } - hipRegisterApiCallback_t* hipRegisterApiCallback; - hipRemoveApiCallback_t* hipRemoveApiCallback; - hipRegisterActivityCallback_t* hipRegisterActivityCallback; - hipRemoveActivityCallback_t* hipRemoveActivityCallback; - hipKernelNameRef_t* hipKernelNameRef; + RegisterApiCallback_t* RegisterApiCallback; + RemoveApiCallback_t* RemoveApiCallback; + RegisterActivityCallback_t* RegisterActivityCallback; + RemoveActivityCallback_t* RemoveActivityCallback; + KernelNameRef_t* KernelNameRef; private: static HipLoader* instance_; - static mutex_t mutex_; }; -} // namespace roctracer - -#if 0 -namespace roctracer { class HccLoader : protected Loader { public: typedef std::mutex mutex_t; - typedef decltype(Kalmar::CLAMP::SetActivityCallback) hccSetActivityCallback_t; - typedef decltype(Kalmar::CLAMP::SetActivityIdCallback) hccSetActivityIdCallback_t; - typedef decltype(Kalmar::CLAMP::GetCmdName) hccGetCmdName_t; + typedef decltype(Kalmar::CLAMP::SetActivityCallback) SetActivityCallback_t; + typedef decltype(Kalmar::CLAMP::SetActivityIdCallback) SetActivityIdCallback_t; + typedef decltype(Kalmar::CLAMP::GetCmdName) GetCmdName_t; static HccLoader& Instance() { std::lock_guard lck(mutex_); @@ -85,26 +83,28 @@ class HccLoader : protected Loader { } HccLoader() : Loader("libmcwamp.so") { + // Kalmar::CLAMP::SetActivityCallback // _ZN6Kalmar5CLAMP19SetActivityCallbackEjPvS1_ - hccSetActivityCallback = GetFun("Kalmar::CLAMP::SetActivityCallback"); + SetActivityCallback = GetFun("_ZN6Kalmar5CLAMP19SetActivityCallbackEjPvS1_"); + // Kalmar::CLAMP::SetActivityIdCallback // _ZN6Kalmar5CLAMP21SetActivityIdCallbackEPv - hccSetActivityIdCallback = GetFun("Kalmar::CLAMP::SetActivityIdCallback"); + SetActivityIdCallback = GetFun("_ZN6Kalmar5CLAMP21SetActivityIdCallbackEPv"); + // Kalmar::CLAMP::GetCmdName // _ZN6Kalmar5CLAMP10GetCmdNameEj - hccGetCmdName = GetFun("Kalmar::CLAMP::GetCmdName"); - - printf("HccLoader hccSetActivityCallback %p\n", hccSetActivityCallback); + GetCmdName = GetFun("_ZN6Kalmar5CLAMP10GetCmdNameEj"); } - hccSetActivityCallback_t* hccSetActivityCallback; - hccSetActivityIdCallback_t* hccSetActivityIdCallback; - hccGetCmdName_t* hccGetCmdName; + SetActivityCallback_t* SetActivityCallback; + SetActivityIdCallback_t* SetActivityIdCallback; + GetCmdName_t* GetCmdName; private: static HccLoader* instance_; - static mutex_t mutex_; }; + } // namespace roctracer +#if 0 namespace Kalmar { namespace CLAMP { extern bool SetActivityCallback(unsigned, void*, void*) __attribute__((weak_import)); diff --git a/src/core/roctracer.cpp b/src/core/roctracer.cpp index b135b70276..be46f2b392 100644 --- a/src/core/roctracer.cpp +++ b/src/core/roctracer.cpp @@ -362,8 +362,9 @@ MemoryPool* memory_pool = NULL; typedef std::recursive_mutex memory_pool_mutex_t; memory_pool_mutex_t memory_pool_mutex; +Loader::mutex_t Loader::mutex_; HipLoader* HipLoader::instance_; -HipLoader::mutex_t HipLoader::mutex_; +HccLoader* HccLoader::instance_; namespace hsa_support { // callbacks table @@ -402,8 +403,7 @@ PUBLIC_API const char* roctracer_id_string(const uint32_t& domain, const uint32_ } case ACTIVITY_DOMAIN_HCC_OPS: { #ifdef HCC_ENABLED - return Kalmar::CLAMP::GetCmdName(kind); -// return roctracer::HccLoader::Instance().hccGetCmdName(kind); + return roctracer::HccLoader::Instance().GetCmdName(kind); #endif break; } @@ -443,7 +443,7 @@ PUBLIC_API roctracer_status_t roctracer_enable_callback( break; } case ACTIVITY_DOMAIN_HIP_API: { - hipError_t hip_err = roctracer::HipLoader::Instance().hipRegisterApiCallback(id, (void*)callback, user_data); + hipError_t hip_err = roctracer::HipLoader::Instance().RegisterApiCallback(id, (void*)callback, user_data); if (hip_err != hipSuccess) HIP_EXC_RAISING(ROCTRACER_STATUS_HIP_API_ERR, "hipRegisterApiCallback error(" << hip_err << ")"); break; } @@ -464,7 +464,7 @@ PUBLIC_API roctracer_status_t roctracer_disable_callback( if (id != 0) HIP_EXC_RAISING(ROCTRACER_STATUS_BAD_PARAMETER, "DOMAIN_ANY: id != 0"); id = HIP_API_ID_ANY; case ACTIVITY_DOMAIN_HIP_API: { - hipError_t hip_err = roctracer::HipLoader::Instance().hipRemoveApiCallback(id); + hipError_t hip_err = roctracer::HipLoader::Instance().RemoveApiCallback(id); if (hip_err != hipSuccess) HIP_EXC_RAISING(ROCTRACER_STATUS_HIP_API_ERR, "hipRemoveApiCallback error(" << hip_err << ")"); break; } @@ -529,16 +529,14 @@ PUBLIC_API roctracer_status_t roctracer_enable_activity( break; case ACTIVITY_DOMAIN_HCC_OPS: { #ifdef HCC_ENABLED - Kalmar::CLAMP::SetActivityIdCallback((void*)roctracer::HCC_ActivityIdCallback); - const bool err = Kalmar::CLAMP::SetActivityCallback(id, (void*)roctracer::HCC_AsyncActivityCallback, (void*)pool); -// roctracer::HccLoader::Instance().hccSetActivityIdCallback((void*)roctracer::HCC_ActivityIdCallback); -// const bool err = roctracer::HccLoader::Instance().hccSetActivityCallback(id, (void*)roctracer::HCC_AsyncActivityCallback, (void*)pool); + roctracer::HccLoader::Instance().SetActivityIdCallback((void*)roctracer::HCC_ActivityIdCallback); + const bool err = roctracer::HccLoader::Instance().SetActivityCallback(id, (void*)roctracer::HCC_AsyncActivityCallback, (void*)pool); if (err == true) HCC_EXC_RAISING(ROCTRACER_STATUS_HCC_OPS_ERR, "HCC::SetActivityCallback error"); #endif break; } case ACTIVITY_DOMAIN_HIP_API: { - const hipError_t hip_err = roctracer::HipLoader::Instance().hipRegisterActivityCallback(id, (void*)roctracer::HIP_SyncActivityCallback, (void*)pool); + const hipError_t hip_err = roctracer::HipLoader::Instance().RegisterActivityCallback(id, (void*)roctracer::HIP_SyncActivityCallback, (void*)pool); if (hip_err != hipSuccess) HIP_EXC_RAISING(ROCTRACER_STATUS_HIP_API_ERR, "hipRegisterActivityCallback error(" << hip_err << ")"); break; } @@ -564,14 +562,13 @@ PUBLIC_API roctracer_status_t roctracer_disable_activity( break; case ACTIVITY_DOMAIN_HCC_OPS: { #ifdef HCC_ENABLED - const bool err = Kalmar::CLAMP::SetActivityCallback(id, NULL, NULL); -// const bool err = roctracer::HccLoader::Instance().hccSetActivityCallback(id, NULL, NULL); - if (err == true) HCC_EXC_RAISING(ROCTRACER_STATUS_HCC_OPS_ERR, "Kalmar::CLAMP::SetActivityCallback(NULL) error"); + const bool err = roctracer::HccLoader::Instance().SetActivityCallback(id, NULL, NULL); + if (err == true) HCC_EXC_RAISING(ROCTRACER_STATUS_HCC_OPS_ERR, "HCC::SetActivityCallback(NULL) error"); #endif break; } case ACTIVITY_DOMAIN_HIP_API: { - const hipError_t hip_err = roctracer::HipLoader::Instance().hipRemoveActivityCallback(id); + const hipError_t hip_err = roctracer::HipLoader::Instance().RemoveActivityCallback(id); if (hip_err != hipSuccess) HIP_EXC_RAISING(ROCTRACER_STATUS_HIP_API_ERR, "hipRemoveActivityCallback error(" << hip_err << ")"); break; } From a0169f594c0c3734fa0da8565392f4b6b42818ac Mon Sep 17 00:00:00 2001 From: Evgeny Date: Thu, 10 Jan 2019 20:34:40 -0600 Subject: [PATCH 058/691] adding typedefs --- inc/ext/prof_protocol.h | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/inc/ext/prof_protocol.h b/inc/ext/prof_protocol.h index e9c8577ff1..9416d9ddfc 100644 --- a/inc/ext/prof_protocol.h +++ b/inc/ext/prof_protocol.h @@ -36,6 +36,8 @@ typedef enum { // API calback type typedef void (*activity_rtapi_callback_t)(uint32_t domain, uint32_t cid, const void* data, void* arg); +typedef uint32_t activity_kind_t; +typedef uint32_t activity_op_t; // API callback phase typedef enum { @@ -50,9 +52,9 @@ typedef uint64_t activity_correlation_id_t; // Activity record type struct activity_record_t { uint32_t domain; // activity domain id - uint32_t kind; // activity kind - uint32_t activity_id; // activity id - activity_correlation_id_t correlation_id; // activity correlation ID + activity_kind_t kind; // activity kind + activity_op_t activity_id; // activity op + activity_correlation_id_t correlation_id; // activity ID uint64_t begin_ns; // host begin timestamp uint64_t end_ns; // host end timestamp union { From 0cde85dbb7dc13ee8b90944be1079c850cdf38f6 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Fri, 11 Jan 2019 22:15:35 -0600 Subject: [PATCH 059/691] removing _ANY ops --- inc/ext/hsa_rt_utils.hpp | 31 ++- inc/ext/prof_protocol.h | 13 +- inc/roctracer.h | 38 ++- inc/roctracer_hcc.h | 2 - src/core/roctracer.cpp | 226 ++++++++++++------ test/MatrixTranspose_test/MatrixTranspose.cpp | 14 +- test/tool/tracer_tool.cpp | 18 +- 7 files changed, 232 insertions(+), 110 deletions(-) diff --git a/inc/ext/hsa_rt_utils.hpp b/inc/ext/hsa_rt_utils.hpp index 6c04a3dafe..784b06eaaa 100644 --- a/inc/ext/hsa_rt_utils.hpp +++ b/inc/ext/hsa_rt_utils.hpp @@ -28,6 +28,7 @@ THE SOFTWARE. #include #include #include +#include #define HSART_CALL(call) \ do { \ @@ -80,12 +81,9 @@ class Timer { return timestamp_to_ns(timestamp); } - Timer() { - init(hsa_system_get_info); - } - - Timer(hsa_system_get_info_fn_t f) { - init(f); + Timer(hsa_system_get_info_fn_t f = NULL) { + if (f != NULL) init(f); + else init(hsa_system_get_info); } private: @@ -95,6 +93,27 @@ class Timer { freq_t timestamp_rate_; }; +class TimerFactory { + public: + typedef std::mutex mutex_t; + + static Timer* Create(Timer::hsa_system_get_info_fn_t f = NULL) { + if (instance_ == NULL) { + std::lock_guard lck(mutex_); + if (instance_ == NULL) instance_ = new Timer(f); + } + return instance_; + } + + static Timer& Instance() { + return *instance_; + } + + private: + static Timer* instance_; + static mutex_t mutex_; +}; + } // namespace hsa_rt_utils #endif // INC_ROCTRACER_HSA_RT_UTILS_HPP_ diff --git a/inc/ext/prof_protocol.h b/inc/ext/prof_protocol.h index 9416d9ddfc..65cf616b92 100644 --- a/inc/ext/prof_protocol.h +++ b/inc/ext/prof_protocol.h @@ -23,15 +23,12 @@ THE SOFTWARE. #ifndef INC_EXT_PROF_PROTOCOL_H_ #define INC_EXT_PROF_PROTOCOL_H_ -#define HCC_ENABLED 1 - // Traced API domains typedef enum { - ACTIVITY_DOMAIN_ANY = 0, // Any domain - ACTIVITY_DOMAIN_HSA_API = 1, // HSA domain - ACTIVITY_DOMAIN_HCC_OPS = 2, // HCC domain - ACTIVITY_DOMAIN_HIP_API = 3, // HIP domain - ACTIVITY_DOMAIN_NUMBER = 4 + ACTIVITY_DOMAIN_HSA_API = 0, // HSA domain + ACTIVITY_DOMAIN_HCC_OPS = 1, // HCC domain + ACTIVITY_DOMAIN_HIP_API = 2, // HIP domain + ACTIVITY_DOMAIN_NUMBER = 3 } activity_domain_t; // API calback type @@ -53,7 +50,7 @@ typedef uint64_t activity_correlation_id_t; struct activity_record_t { uint32_t domain; // activity domain id activity_kind_t kind; // activity kind - activity_op_t activity_id; // activity op + activity_op_t op; // activity op activity_correlation_id_t correlation_id; // activity ID uint64_t begin_ns; // host begin timestamp uint64_t end_ns; // host end timestamp diff --git a/inc/roctracer.h b/inc/roctracer.h index d9d886ba1b..61c7debaaf 100644 --- a/inc/roctracer.h +++ b/inc/roctracer.h @@ -78,9 +78,9 @@ typedef activity_domain_t roctracer_domain_t; // Return ID string by given domain and activity/API ID // NULL returned on the error and the library errno is set -const char* roctracer_id_string( +const char* roctracer_op_string( const uint32_t& domain, // tracing domain - const uint32_t& id, // activity ID + const uint32_t& op, // activity op ID const uint32_t& kind); // activity kind // Set properties @@ -100,16 +100,26 @@ roctracer_status_t roctracer_set_properties( typedef activity_rtapi_callback_t roctracer_rtapi_callback_t; // Enable runtime API callbacks -roctracer_status_t roctracer_enable_callback( +roctracer_status_t roctracer_enable_op_callback( activity_domain_t domain, // tracing domain - uint32_t id, // API call ID + uint32_t op, // API call ID + activity_rtapi_callback_t callback, // callback function pointer + void* arg); // [in/out] callback arg +roctracer_status_t roctracer_enable_domain_callback( + activity_domain_t domain, // tracing domain + activity_rtapi_callback_t callback, // callback function pointer + void* arg); // [in/out] callback arg +roctracer_status_t roctracer_enable_callback( activity_rtapi_callback_t callback, // callback function pointer void* arg); // [in/out] callback arg // Disable runtime API callbacks -roctracer_status_t roctracer_disable_callback( +roctracer_status_t roctracer_disable_op_callback( activity_domain_t domain, // tracing domain - uint32_t id); // API call ID + uint32_t op); // API call ID +roctracer_status_t roctracer_disable_domain_callback( + activity_domain_t domain); // tracing domain +roctracer_status_t roctracer_disable_callback(); //////////////////////////////////////////////////////////////////////////////// // Activity API @@ -175,15 +185,23 @@ roctracer_pool_t* roctracer_default_pool( roctracer_pool_t* pool = NULL); // [in] new default pool if not NULL // Enable activity records logging -roctracer_status_t roctracer_enable_activity( +roctracer_status_t roctracer_enable_op_activity( activity_domain_t domain, // tracing domain - uint32_t id, // activity ID + uint32_t op, // activity op ID + roctracer_pool_t* pool = NULL); // memory pool, NULL is a default one +roctracer_status_t roctracer_enable_domain_activity( + activity_domain_t domain, // tracing domain + roctracer_pool_t* pool = NULL); // memory pool, NULL is a default one +roctracer_status_t roctracer_enable_activity( roctracer_pool_t* pool = NULL); // memory pool, NULL is a default one // Disable activity records logging -roctracer_status_t roctracer_disable_activity( +roctracer_status_t roctracer_disable_op_activity( activity_domain_t domain, // tracing domain - uint32_t id); // activity ID + uint32_t op); // activity op ID +roctracer_status_t roctracer_disable_domain_activity( + activity_domain_t domain); // tracing domain +roctracer_status_t roctracer_disable_activity(); // Flush available activity records roctracer_status_t roctracer_flush_activity( diff --git a/inc/roctracer_hcc.h b/inc/roctracer_hcc.h index f55586e351..3f8c7bfa7f 100644 --- a/inc/roctracer_hcc.h +++ b/inc/roctracer_hcc.h @@ -24,10 +24,8 @@ THE SOFTWARE. #define INC_ROCTRACER_HCC_H_ #if (LOCAL_BUILD == 1) -#include #include #else -#include #include #endif diff --git a/src/core/roctracer.cpp b/src/core/roctracer.cpp index be46f2b392..7e6d4a844b 100644 --- a/src/core/roctracer.cpp +++ b/src/core/roctracer.cpp @@ -21,9 +21,7 @@ THE SOFTWARE. */ #include "inc/roctracer.h" -#ifdef HCC_ENABLED #include "inc/roctracer_hcc.h" -#endif #include "inc/roctracer_hip.h" #define PROF_API_IMPL 1 #include "inc/roctracer_hsa.h" @@ -303,7 +301,7 @@ static inline activity_correlation_id_t CorrelationIdLookup(const activity_corre } roctracer_record_t* HIP_SyncActivityCallback( - uint32_t activity_id, + uint32_t op_id, roctracer_record_t* record, const void* callback_data, void* arg) @@ -315,7 +313,7 @@ roctracer_record_t* HIP_SyncActivityCallback( if (pool == NULL) EXC_ABORT(ROCTRACER_STATUS_ERROR, "ActivityCallback pool is NULL"); if (data->phase == ACTIVITY_API_PHASE_ENTER) { record->domain = ACTIVITY_DOMAIN_HIP_API; - record->activity_id = activity_id; + record->op = op_id; record->begin_ns = timer.timestamp_ns(); // Correlation ID generating uint64_t correlation_id = data->correlation_id; @@ -324,20 +322,16 @@ roctracer_record_t* HIP_SyncActivityCallback( const_cast(data)->correlation_id = correlation_id; } record->correlation_id = correlation_id; -#ifdef HCC_ENABLED // Passing correlatin ID correlation_id_tls = correlation_id; -#endif return record; } else { record->end_ns = timer.timestamp_ns(); record->process_id = syscall(__NR_getpid); record->thread_id = syscall(__NR_gettid); pool->Write(*record); -#ifdef HCC_ENABLED // Clearing correlatin ID correlation_id_tls = 0; -#endif return NULL; } } @@ -394,7 +388,7 @@ PUBLIC_API const char* roctracer_error_string() { // Return ID string by given domain and activity/API ID // NULL returned on the error and the library errno is set -PUBLIC_API const char* roctracer_id_string(const uint32_t& domain, const uint32_t& id, const uint32_t& kind) { +PUBLIC_API const char* roctracer_op_string(const uint32_t& domain, const uint32_t& id, const uint32_t& kind) { API_METHOD_PREFIX switch (domain) { case ACTIVITY_DOMAIN_HSA_API: { @@ -402,9 +396,7 @@ PUBLIC_API const char* roctracer_id_string(const uint32_t& domain, const uint32_ break; } case ACTIVITY_DOMAIN_HCC_OPS: { -#ifdef HCC_ENABLED return roctracer::HccLoader::Instance().GetCmdName(kind); -#endif break; } case ACTIVITY_DOMAIN_HIP_API: { @@ -417,60 +409,119 @@ PUBLIC_API const char* roctracer_id_string(const uint32_t& domain, const uint32_ API_METHOD_CATCH(NULL) } +static inline uint32_t get_op_num(const uint32_t& domain) { + switch (domain) { + case ACTIVITY_DOMAIN_HCC_OPS: return hc::HSA_OP_ID_NUMBER; + case ACTIVITY_DOMAIN_HIP_API: return HIP_API_ID_NUMBER; + case ACTIVITY_DOMAIN_HSA_API: return HSA_API_ID_NUMBER; + default: + EXC_RAISING(ROCTRACER_STATUS_BAD_DOMAIN, "invalid domain ID(" << domain << ")"); + } + return 0; +} + // Enable runtime API callbacks -PUBLIC_API roctracer_status_t roctracer_enable_callback( - roctracer_domain_t domain, - uint32_t id, +static void roctracer_enable_callback_impl( + uint32_t domain, + uint32_t op, roctracer_rtapi_callback_t callback, void* user_data) { - API_METHOD_PREFIX switch (domain) { - case ACTIVITY_DOMAIN_ANY: { - if (id != 0) EXC_RAISING(ROCTRACER_STATUS_BAD_PARAMETER, "DOMAIN_ANY: id != 0"); - roctracer_enable_callback(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_ANY, callback, user_data); - roctracer_enable_callback(ACTIVITY_DOMAIN_HIP_API, HIP_API_ID_ANY, callback, user_data); - break; - } case ACTIVITY_DOMAIN_HSA_API: { - if (id == HSA_API_ID_ANY) { - for (uint32_t i = 0; i < HSA_API_ID_NUMBER; i++) { - roctracer::hsa_support::cb_table.set(i, callback, user_data); - } - } else { - roctracer::hsa_support::cb_table.set(id, callback, user_data); - } + roctracer::hsa_support::cb_table.set(op, callback, user_data); break; } + case ACTIVITY_DOMAIN_HCC_OPS: break; case ACTIVITY_DOMAIN_HIP_API: { - hipError_t hip_err = roctracer::HipLoader::Instance().RegisterApiCallback(id, (void*)callback, user_data); + hipError_t hip_err = roctracer::HipLoader::Instance().RegisterApiCallback(op, (void*)callback, user_data); if (hip_err != hipSuccess) HIP_EXC_RAISING(ROCTRACER_STATUS_HIP_API_ERR, "hipRegisterApiCallback error(" << hip_err << ")"); break; } default: EXC_RAISING(ROCTRACER_STATUS_BAD_DOMAIN, "invalid domain ID(" << domain << ")"); } +} + +PUBLIC_API roctracer_status_t roctracer_enable_op_callback( + roctracer_domain_t domain, + uint32_t op, + roctracer_rtapi_callback_t callback, + void* user_data) +{ + API_METHOD_PREFIX + roctracer_enable_callback_impl(domain, op, callback, user_data); API_METHOD_SUFFIX } -// Enable runtime API callbacks -PUBLIC_API roctracer_status_t roctracer_disable_callback( +PUBLIC_API roctracer_status_t roctracer_enable_domain_callback( roctracer_domain_t domain, - uint32_t id) + roctracer_rtapi_callback_t callback, + void* user_data) { API_METHOD_PREFIX + const uint32_t op_num = get_op_num(domain); + for (uint32_t op = 0; op < op_num; op++) roctracer_enable_callback_impl(domain, op, callback, user_data); + API_METHOD_SUFFIX +} + +PUBLIC_API roctracer_status_t roctracer_enable_callback( + roctracer_rtapi_callback_t callback, + void* user_data) +{ + API_METHOD_PREFIX + for (uint32_t domain = 0; domain < ACTIVITY_DOMAIN_NUMBER; domain++) { + const uint32_t op_num = get_op_num(domain); + for (uint32_t op = 0; op < op_num; op++) roctracer_enable_callback_impl(domain, op, callback, user_data); + } + API_METHOD_SUFFIX +} + +// Disable runtime API callbacks +static void roctracer_disable_callback_impl( + uint32_t domain, + uint32_t op) +{ switch (domain) { - case ACTIVITY_DOMAIN_ANY: - if (id != 0) HIP_EXC_RAISING(ROCTRACER_STATUS_BAD_PARAMETER, "DOMAIN_ANY: id != 0"); - id = HIP_API_ID_ANY; + case ACTIVITY_DOMAIN_HSA_API: { + break; + } + case ACTIVITY_DOMAIN_HCC_OPS: break; case ACTIVITY_DOMAIN_HIP_API: { - hipError_t hip_err = roctracer::HipLoader::Instance().RemoveApiCallback(id); + hipError_t hip_err = roctracer::HipLoader::Instance().RemoveApiCallback(op); if (hip_err != hipSuccess) HIP_EXC_RAISING(ROCTRACER_STATUS_HIP_API_ERR, "hipRemoveApiCallback error(" << hip_err << ")"); break; } default: EXC_RAISING(ROCTRACER_STATUS_BAD_DOMAIN, "invalid domain ID(" << domain << ")"); } +} + +PUBLIC_API roctracer_status_t roctracer_disable_op_callback( + roctracer_domain_t domain, + uint32_t op) +{ + API_METHOD_PREFIX + roctracer_disable_callback_impl(domain, op); + API_METHOD_SUFFIX +} + +PUBLIC_API roctracer_status_t roctracer_disable_domain_callback( + roctracer_domain_t domain) +{ + API_METHOD_PREFIX + const uint32_t op_num = get_op_num(domain); + for (uint32_t op = 0; op < op_num; op++) roctracer_disable_callback_impl(domain, op); + API_METHOD_SUFFIX +} + +PUBLIC_API roctracer_status_t roctracer_disable_callback() +{ + API_METHOD_PREFIX + for (uint32_t domain = 0; domain < ACTIVITY_DOMAIN_NUMBER; domain++) { + const uint32_t op_num = get_op_num(domain); + for (uint32_t op = 0; op < op_num; op++) roctracer_disable_callback_impl(domain, op); + } API_METHOD_SUFFIX } @@ -512,69 +563,108 @@ PUBLIC_API roctracer_status_t roctracer_close_pool(roctracer_pool_t* pool) { } // Enable activity records logging -PUBLIC_API roctracer_status_t roctracer_enable_activity( - roctracer_domain_t domain, - uint32_t id, +static void roctracer_enable_activity_impl( + uint32_t domain, + uint32_t op, roctracer_pool_t* pool) { - API_METHOD_PREFIX if (pool == NULL) pool = roctracer_default_pool(); switch (domain) { - case ACTIVITY_DOMAIN_ANY: - if (id != 0) HIP_EXC_RAISING(ROCTRACER_STATUS_BAD_PARAMETER, "DOMAIN_ANY: id != 0"); -#ifdef HCC_ENABLED - roctracer_enable_activity(ACTIVITY_DOMAIN_HCC_OPS, hc::HSA_OP_ID_ANY, pool); -#endif - roctracer_enable_activity(ACTIVITY_DOMAIN_HIP_API, HIP_API_ID_ANY, pool); - break; + case ACTIVITY_DOMAIN_HSA_API: break; case ACTIVITY_DOMAIN_HCC_OPS: { -#ifdef HCC_ENABLED roctracer::HccLoader::Instance().SetActivityIdCallback((void*)roctracer::HCC_ActivityIdCallback); - const bool err = roctracer::HccLoader::Instance().SetActivityCallback(id, (void*)roctracer::HCC_AsyncActivityCallback, (void*)pool); - if (err == true) HCC_EXC_RAISING(ROCTRACER_STATUS_HCC_OPS_ERR, "HCC::SetActivityCallback error"); -#endif + const bool succ = roctracer::HccLoader::Instance().SetActivityCallback(op, (void*)roctracer::HCC_AsyncActivityCallback, (void*)pool); + if (succ == false) HCC_EXC_RAISING(ROCTRACER_STATUS_HCC_OPS_ERR, "HCC::SetActivityCallback error"); break; } case ACTIVITY_DOMAIN_HIP_API: { - const hipError_t hip_err = roctracer::HipLoader::Instance().RegisterActivityCallback(id, (void*)roctracer::HIP_SyncActivityCallback, (void*)pool); + const hipError_t hip_err = roctracer::HipLoader::Instance().RegisterActivityCallback(op, (void*)roctracer::HIP_SyncActivityCallback, (void*)pool); if (hip_err != hipSuccess) HIP_EXC_RAISING(ROCTRACER_STATUS_HIP_API_ERR, "hipRegisterActivityCallback error(" << hip_err << ")"); break; } default: EXC_RAISING(ROCTRACER_STATUS_BAD_DOMAIN, "invalid domain ID(" << domain << ")"); } +} + +PUBLIC_API roctracer_status_t roctracer_enable_op_activity( + roctracer_domain_t domain, + uint32_t op, + roctracer_pool_t* pool) +{ + API_METHOD_PREFIX + roctracer_enable_activity_impl(domain, op, pool); + API_METHOD_SUFFIX +} + +PUBLIC_API roctracer_status_t roctracer_enable_domain_activity( + roctracer_domain_t domain, + roctracer_pool_t* pool) +{ + API_METHOD_PREFIX + const uint32_t op_num = get_op_num(domain); + for (uint32_t op = 0; op < op_num; op++) roctracer_enable_activity_impl(domain, op, pool); + API_METHOD_SUFFIX +} + +PUBLIC_API roctracer_status_t roctracer_enable_activity( + roctracer_pool_t* pool) +{ + API_METHOD_PREFIX + for (uint32_t domain = 0; domain < ACTIVITY_DOMAIN_NUMBER; domain++) { + const uint32_t op_num = get_op_num(domain); + for (uint32_t op = 0; op < op_num; op++) roctracer_enable_activity_impl(domain, op, pool); + } API_METHOD_SUFFIX } // Disable activity records logging -PUBLIC_API roctracer_status_t roctracer_disable_activity( - roctracer_domain_t domain, - uint32_t id) +static void roctracer_disable_activity_impl( + uint32_t domain, + uint32_t op) { - API_METHOD_PREFIX switch (domain) { - case ACTIVITY_DOMAIN_ANY: - if (id != 0) HIP_EXC_RAISING(ROCTRACER_STATUS_BAD_PARAMETER, "DOMAIN_ANY: id != 0"); -#ifdef HCC_ENABLED - roctracer_disable_activity(ACTIVITY_DOMAIN_HCC_OPS, hc::HSA_OP_ID_ANY); -#endif - roctracer_disable_activity(ACTIVITY_DOMAIN_HIP_API, HIP_API_ID_ANY); - break; + case ACTIVITY_DOMAIN_HSA_API: break; case ACTIVITY_DOMAIN_HCC_OPS: { -#ifdef HCC_ENABLED - const bool err = roctracer::HccLoader::Instance().SetActivityCallback(id, NULL, NULL); - if (err == true) HCC_EXC_RAISING(ROCTRACER_STATUS_HCC_OPS_ERR, "HCC::SetActivityCallback(NULL) error"); -#endif + const bool succ = roctracer::HccLoader::Instance().SetActivityCallback(op, NULL, NULL); + if (succ == false) HCC_EXC_RAISING(ROCTRACER_STATUS_HCC_OPS_ERR, "HCC::SetActivityCallback(NULL) error domain(" << domain << ") op(" << op << ")"); break; } case ACTIVITY_DOMAIN_HIP_API: { - const hipError_t hip_err = roctracer::HipLoader::Instance().RemoveActivityCallback(id); + const hipError_t hip_err = roctracer::HipLoader::Instance().RemoveActivityCallback(op); if (hip_err != hipSuccess) HIP_EXC_RAISING(ROCTRACER_STATUS_HIP_API_ERR, "hipRemoveActivityCallback error(" << hip_err << ")"); break; } default: EXC_RAISING(ROCTRACER_STATUS_BAD_DOMAIN, "invalid domain ID(" << domain << ")"); } +} + +PUBLIC_API roctracer_status_t roctracer_disable_op_activity( + roctracer_domain_t domain, + uint32_t op) +{ + API_METHOD_PREFIX + roctracer_disable_activity_impl(domain, op); + API_METHOD_SUFFIX +} + +PUBLIC_API roctracer_status_t roctracer_disable_domain_activity( + roctracer_domain_t domain) +{ + API_METHOD_PREFIX + const uint32_t op_num = get_op_num(domain); + for (uint32_t op = 0; op < op_num; op++) roctracer_disable_activity_impl(domain, op); + API_METHOD_SUFFIX +} + +PUBLIC_API roctracer_status_t roctracer_disable_activity() +{ + API_METHOD_PREFIX + for (uint32_t domain = 0; domain < ACTIVITY_DOMAIN_NUMBER; domain++) { + const uint32_t op_num = get_op_num(domain); + for (uint32_t op = 0; op < op_num; op++) roctracer_disable_activity_impl(domain, op); + } API_METHOD_SUFFIX } diff --git a/test/MatrixTranspose_test/MatrixTranspose.cpp b/test/MatrixTranspose_test/MatrixTranspose.cpp index 7dadf38cc6..fe8dde97d6 100644 --- a/test/MatrixTranspose_test/MatrixTranspose.cpp +++ b/test/MatrixTranspose_test/MatrixTranspose.cpp @@ -161,7 +161,7 @@ void hip_api_callback( (void)arg; const hip_api_data_t* data = reinterpret_cast(callback_data); fprintf(stdout, "<%s id(%u)\tcorrelation_id(%lu) %s> ", - roctracer_id_string(ACTIVITY_DOMAIN_HIP_API, cid, 0), + roctracer_op_string(ACTIVITY_DOMAIN_HIP_API, cid, 0), cid, data->correlation_id, (data->phase == ACTIVITY_API_PHASE_ENTER) ? "on-enter" : "on-exit"); @@ -211,7 +211,7 @@ void activity_callback(const char* begin, const char* end, void* arg) { const roctracer_record_t* end_record = reinterpret_cast(end); fprintf(stdout, "\tActivity records:\n"); fflush(stdout); while (record < end_record) { - const char * name = roctracer_id_string(record->domain, record->activity_id, record->kind); + const char * name = roctracer_op_string(record->domain, record->op, record->kind); fprintf(stdout, "\t%s\tcorrelation_id(%lu) time_ns(%lu:%lu)", name, record->correlation_id, @@ -232,7 +232,7 @@ void activity_callback(const char* begin, const char* end, void* arg) { fprintf(stderr, "Bad domain %d\n", record->domain); abort(); } - if (record->activity_id == hc::HSA_OP_ID_COPY) fprintf(stdout, " bytes(0x%zx)", record->bytes); + if (record->op == hc::HSA_OP_ID_COPY) fprintf(stdout, " bytes(0x%zx)", record->bytes); fprintf(stdout, "\n"); fflush(stdout); ROCTRACER_CALL(roctracer_next_record(record, &record)); @@ -248,15 +248,15 @@ void start_tracing() { properties.buffer_callback_fun = activity_callback; ROCTRACER_CALL(roctracer_open_pool(&properties)); // Enable HIP API callbacks - ROCTRACER_CALL(roctracer_enable_callback(ACTIVITY_DOMAIN_ANY, 0, hip_api_callback, NULL)); + ROCTRACER_CALL(roctracer_enable_callback(hip_api_callback, NULL)); // Enable HIP activity tracing - ROCTRACER_CALL(roctracer_enable_activity(ACTIVITY_DOMAIN_ANY, 0)); + ROCTRACER_CALL(roctracer_enable_activity()); } // Stop tracing routine void stop_tracing() { - ROCTRACER_CALL(roctracer_disable_callback(ACTIVITY_DOMAIN_ANY, 0)); - ROCTRACER_CALL(roctracer_disable_activity(ACTIVITY_DOMAIN_ANY, 0)); + ROCTRACER_CALL(roctracer_disable_callback()); + ROCTRACER_CALL(roctracer_disable_activity()); ROCTRACER_CALL(roctracer_close_pool()); std::cout << "# STOP #############################" << std::endl << std::flush; } diff --git a/test/tool/tracer_tool.cpp b/test/tool/tracer_tool.cpp index 5f48c562bf..d367ba25a7 100644 --- a/test/tool/tracer_tool.cpp +++ b/test/tool/tracer_tool.cpp @@ -82,7 +82,7 @@ void hip_api_callback( hsa_begin_timestamp = timer.timestamp_fn_ns(); } else { const timestamp_t end_timestamp = timer.timestamp_fn_ns(); - fprintf(stdout, "(%lu:%lu) %s(", hsa_begin_timestamp, end_timestamp, roctracer_id_string(ACTIVITY_DOMAIN_HIP_API, cid, 0)); + fprintf(stdout, "(%lu:%lu) %s(", hsa_begin_timestamp, end_timestamp, roctracer_op_string(ACTIVITY_DOMAIN_HIP_API, cid, 0)); switch (cid) { case HIP_API_ID_hipMemcpy: fprintf(stdout, "dst(%p) src(%p) size(0x%x) kind(%u)", @@ -119,7 +119,7 @@ void activity_callback(const char* begin, const char* end, void* arg) { const roctracer_record_t* end_record = reinterpret_cast(end); fprintf(stdout, "\tActivity records:\n"); fflush(stdout); while (record < end_record) { - const char * name = roctracer_id_string(record->domain, record->activity_id, record->kind); + const char * name = roctracer_op_string(record->domain, record->op, record->kind); fprintf(stdout, "\t%s\tcorrelation_id(%lu) time_ns(%lu:%lu)", name, record->correlation_id, @@ -140,7 +140,7 @@ void activity_callback(const char* begin, const char* end, void* arg) { fprintf(stderr, "Bad domain %d\n", record->domain); abort(); } - if (record->activity_id == hc::HSA_OP_ID_COPY) fprintf(stdout, " bytes(0x%zx)", record->bytes); + if (record->op == hc::HSA_OP_ID_COPY) fprintf(stdout, " bytes(0x%zx)", record->bytes); fprintf(stdout, "\n"); fflush(stdout); ROCTRACER_CALL(roctracer_next_record(record, &record)); @@ -158,7 +158,7 @@ PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, uint64_t fa // Enable HSA API callbacks if (trace_hsa) { - ROCTRACER_CALL(roctracer_enable_callback(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_ANY, hsa_api_callback, NULL)); + ROCTRACER_CALL(roctracer_enable_domain_callback(ACTIVITY_DOMAIN_HSA_API, hsa_api_callback, NULL)); } // Enable HIP API callbacks/activity @@ -168,9 +168,9 @@ PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, uint64_t fa properties.buffer_size = 12; properties.buffer_callback_fun = activity_callback; ROCTRACER_CALL(roctracer_open_pool(&properties)); - - ROCTRACER_CALL(roctracer_enable_callback(ACTIVITY_DOMAIN_HIP_API, HIP_API_ID_ANY, hip_api_callback, NULL)); - ROCTRACER_CALL(roctracer_enable_activity(ACTIVITY_DOMAIN_ANY, 0)); + ROCTRACER_CALL(roctracer_enable_domain_activity(ACTIVITY_DOMAIN_HCC_OPS)); + ROCTRACER_CALL(roctracer_enable_domain_activity(ACTIVITY_DOMAIN_HIP_API)); + ROCTRACER_CALL(roctracer_enable_domain_callback(ACTIVITY_DOMAIN_HIP_API, hip_api_callback, NULL)); } return true; @@ -178,8 +178,8 @@ PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, uint64_t fa // HSA-runtime tool on-unload method PUBLIC_API void OnUnload() { - ROCTRACER_CALL(roctracer_disable_callback(ACTIVITY_DOMAIN_ANY, 0)); - ROCTRACER_CALL(roctracer_disable_activity(ACTIVITY_DOMAIN_ANY, 0)); + ROCTRACER_CALL(roctracer_disable_callback()); + ROCTRACER_CALL(roctracer_disable_activity()); ROCTRACER_CALL(roctracer_close_pool()); } From c3483d09df2c32bec1fdab5a0432cb36da035723 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Tue, 15 Jan 2019 08:13:13 -0600 Subject: [PATCH 060/691] adding tracing protocol package and build scripts --- build.sh | 6 ++-- build_proto.sh | 29 ++++++++++++++++ inc/ext/CMakeLists.txt | 75 ++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 106 insertions(+), 4 deletions(-) create mode 100755 build_proto.sh create mode 100644 inc/ext/CMakeLists.txt diff --git a/build.sh b/build.sh index d8730b5982..300a24ec5b 100755 --- a/build.sh +++ b/build.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -x COMPONENT="roctracer" ROCM_PATH="/opt/rocm" @@ -30,8 +30,6 @@ cmake \ popd make $MAKE_OPTS -make $MAKE_OPTS mytest -make $MAKE_OPTS install -make $MAKE_OPTS package +make package exit 0 diff --git a/build_proto.sh b/build_proto.sh new file mode 100755 index 0000000000..b9f4f14602 --- /dev/null +++ b/build_proto.sh @@ -0,0 +1,29 @@ +#!/bin/bash -x +COMPONENT="roctracer" +ROCM_PATH="/opt/rocm" + +fatal() { + echo "$1" + exit 1 +} + +if [ -z "$ROCTRACER_ROOT" ]; then export ROCTRACER_ROOT=$PWD; fi +if [ -z "$BUILD_DIR" ] ; then export BUILD_DIR=$PWD; fi +if [ -z "$PACKAGE_ROOT" ] ; then export PACKAGE_ROOT=$ROCM_PATH; fi +if [ -z "$PACKAGE_PREFIX" ] ; then export PACKAGE_PREFIX="$ROCM_PATH/$COMPONENT"; fi + +MAKE_OPTS="-j 8 -C $BUILD_DIR" + +mkdir -p $BUILD_DIR +pushd $BUILD_DIR +cmake \ + -DCMAKE_MODULE_PATH=$ROCTRACER_ROOT/cmake_modules \ + -DCMAKE_INSTALL_PREFIX=$PACKAGE_ROOT \ + -DCPACK_PACKAGING_INSTALL_PREFIX=$PACKAGE_PREFIX \ + -DCPACK_GENERATOR="DEB;RPM" \ + $ROCTRACER_ROOT/inc/ext +popd + +make package + +exit 0 diff --git a/inc/ext/CMakeLists.txt b/inc/ext/CMakeLists.txt new file mode 100644 index 0000000000..d5384752e6 --- /dev/null +++ b/inc/ext/CMakeLists.txt @@ -0,0 +1,75 @@ +################################################################################ +## +## Copyright (c) 2016 Advanced Micro Devices, Inc. All rights reserved. +## +## MIT LICENSE: +## Permission is hereby granted, free of charge, to any person obtaining a copy of +## this software and associated documentation files (the "Software"), to deal in +## the Software without restriction, including without limitation the rights to +## use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +## of the Software, and to permit persons to whom the Software is furnished to do +## so, subject to the following conditions: +## +## The above copyright notice and this permission notice shall be included in all +## copies or substantial portions of the Software. +## +## THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +## IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +## FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +## AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +## LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +## OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +## SOFTWARE. +## +################################################################################ + +cmake_minimum_required ( VERSION 3.5.0 ) + +## Verbose output. +set ( CMAKE_VERBOSE_MAKEFILE TRUE CACHE BOOL "Verbose Output" FORCE ) + +## Set module name and project name. +set ( ROCTRACER_NAME "roctracer" ) +project ( ${ROCTRACER_NAME} ) + +set ( ROOT_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../" ) +## Adding default path cmake modules +list ( APPEND CMAKE_MODULE_PATH "${ROOT_DIR}/cmake_modules" ) +## Include common cmake modules +include ( utils ) +## Set build environment +include ( env ) + +## Setup the package version. +get_version ( "1.0.0" ) +message ( "-- LIB-VERSION: ${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}" ) + +set ( BUILD_VERSION_MAJOR ${VERSION_MAJOR} ) +set ( BUILD_VERSION_MINOR ${VERSION_MINOR} ) +set ( BUILD_VERSION_PATCH ${VERSION_PATCH} ) +set ( LIB_VERSION_STRING "${BUILD_VERSION_MAJOR}.${BUILD_VERSION_MINOR}.${BUILD_VERSION_PATCH}" ) +if ( DEFINED VERSION_BUILD AND NOT ${VERSION_BUILD} STREQUAL "" ) + message ( "VERSION BUILD DEFINED ${VERSION_BUILD}" ) + set ( BUILD_VERSION_PATCH "${BUILD_VERSION_PATCH}-${VERSION_BUILD}" ) +endif () +set ( BUILD_VERSION_STRING "${BUILD_VERSION_MAJOR}.${BUILD_VERSION_MINOR}.${BUILD_VERSION_PATCH}" ) + +## Install and packaging +set ( CMAKE_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX}/${ROCTRACER_NAME} ) +message ( "---------Install-Dir: ${CMAKE_INSTALL_PREFIX}" ) + +## Install information +install ( FILES ${ROOT_DIR}/inc/ext/prof_protocol.h DESTINATION include/ext ) + +## Packaging directives +set ( CPACK_GENERATOR "DEB" "RPM" "TGZ" ) +set ( CPACK_PACKAGE_NAME "${ROCTRACER_NAME}-proto" ) +set ( CPACK_PACKAGE_VENDOR "AMD" ) +set ( CPACK_PACKAGE_VERSION_MAJOR ${BUILD_VERSION_MAJOR} ) +set ( CPACK_PACKAGE_VERSION_MINOR ${BUILD_VERSION_MINOR} ) +set ( CPACK_PACKAGE_VERSION_PATCH ${BUILD_VERSION_PATCH} ) +set ( CPACK_PACKAGE_CONTACT "Advanced Micro Devices Inc." ) +set ( CPACK_PACKAGE_DESCRIPTION_SUMMARY "AMD ROCTRACER library" ) +set ( CPACK_RESOURCE_FILE_LICENSE "${ROOT_DIR}/LICENSE" ) + +include ( CPack ) From 41e59bd6cfef217cc1c95a25d71de01544579abe Mon Sep 17 00:00:00 2001 From: Evgeny Date: Tue, 15 Jan 2019 08:28:29 -0600 Subject: [PATCH 061/691] adding hsa_rt_utils.hpp to proto package --- inc/ext/CMakeLists.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/inc/ext/CMakeLists.txt b/inc/ext/CMakeLists.txt index d5384752e6..41e997904f 100644 --- a/inc/ext/CMakeLists.txt +++ b/inc/ext/CMakeLists.txt @@ -60,6 +60,7 @@ message ( "---------Install-Dir: ${CMAKE_INSTALL_PREFIX}" ) ## Install information install ( FILES ${ROOT_DIR}/inc/ext/prof_protocol.h DESTINATION include/ext ) +install ( FILES ${ROOT_DIR}/inc/ext/hsa_rt_utils.hpp DESTINATION include/ext ) ## Packaging directives set ( CPACK_GENERATOR "DEB" "RPM" "TGZ" ) From 8ef8bf07da9509f58ed42678b4a81f8a8d6f6959 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Tue, 15 Jan 2019 08:35:57 -0600 Subject: [PATCH 062/691] adding missed header --- CMakeLists.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 729e5e9518..72ee504bd4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -91,6 +91,7 @@ install ( FILES ${CMAKE_CURRENT_SOURCE_DIR}/inc/roctracer.h DESTINATION include install ( FILES ${CMAKE_CURRENT_SOURCE_DIR}/inc/roctracer_hip.h DESTINATION include ) install ( FILES ${CMAKE_CURRENT_SOURCE_DIR}/inc/roctracer_hcc.h DESTINATION include ) install ( FILES ${CMAKE_CURRENT_SOURCE_DIR}/inc/ext/prof_protocol.h DESTINATION include/ext ) +install ( FILES ${CMAKE_CURRENT_SOURCE_DIR}/inc/ext/hsa_rt_utils.hpp DESTINATION include/ext ) install ( FILES ${PROJECT_BINARY_DIR}/inc-link DESTINATION ../include RENAME ${ROCTRACER_NAME} ) install ( FILES ${PROJECT_BINARY_DIR}/so-link DESTINATION ../lib RENAME ${ROCTRACER_LIBRARY}.so ) From e91313a3ff0b434a7b2a8113a6e79e1976947908 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Tue, 15 Jan 2019 10:41:51 -0600 Subject: [PATCH 063/691] optimized common activity callback mechanism --- src/core/loader.h | 45 ++++++------------- src/core/roctracer.cpp | 15 ++++--- test/MatrixTranspose_test/MatrixTranspose.cpp | 20 ++++++--- 3 files changed, 36 insertions(+), 44 deletions(-) diff --git a/src/core/loader.h b/src/core/loader.h index 9ecec2c766..0df9b491fb 100644 --- a/src/core/loader.h +++ b/src/core/loader.h @@ -6,6 +6,7 @@ namespace roctracer { +// Base runtime loader class class Loader { public: typedef std::mutex mutex_t; @@ -32,6 +33,7 @@ class Loader { void* handle_; }; +// HIP runtime library loader class class HipLoader : protected Loader { public: typedef decltype(hipRegisterApiCallback) RegisterApiCallback_t; @@ -66,14 +68,17 @@ class HipLoader : protected Loader { static HipLoader* instance_; }; +// HCC runtime library loader class class HccLoader : protected Loader { public: typedef std::mutex mutex_t; - typedef decltype(Kalmar::CLAMP::SetActivityCallback) SetActivityCallback_t; - typedef decltype(Kalmar::CLAMP::SetActivityIdCallback) SetActivityIdCallback_t; + typedef decltype(Kalmar::CLAMP::InitActivityCallback) InitActivityCallback_t; + typedef decltype(Kalmar::CLAMP::EnableActivityCallback) EnableActivityCallback_t; typedef decltype(Kalmar::CLAMP::GetCmdName) GetCmdName_t; + static HccLoader* GetRef() { return instance_; } + static HccLoader& Instance() { std::lock_guard lck(mutex_); if (instance_ == NULL) { @@ -83,19 +88,16 @@ class HccLoader : protected Loader { } HccLoader() : Loader("libmcwamp.so") { - // Kalmar::CLAMP::SetActivityCallback - // _ZN6Kalmar5CLAMP19SetActivityCallbackEjPvS1_ - SetActivityCallback = GetFun("_ZN6Kalmar5CLAMP19SetActivityCallbackEjPvS1_"); - // Kalmar::CLAMP::SetActivityIdCallback - // _ZN6Kalmar5CLAMP21SetActivityIdCallbackEPv - SetActivityIdCallback = GetFun("_ZN6Kalmar5CLAMP21SetActivityIdCallbackEPv"); + // Kalmar::CLAMP::InitActivityCallback + InitActivityCallback = GetFun("_ZN6Kalmar5CLAMP20InitActivityCallbackEPvS1_S1_"); + // Kalmar::CLAMP::EnableActivityIdCallback + EnableActivityCallback = GetFun("_ZN6Kalmar5CLAMP22EnableActivityCallbackEjb"); // Kalmar::CLAMP::GetCmdName - // _ZN6Kalmar5CLAMP10GetCmdNameEj GetCmdName = GetFun("_ZN6Kalmar5CLAMP10GetCmdNameEj"); } - SetActivityCallback_t* SetActivityCallback; - SetActivityIdCallback_t* SetActivityIdCallback; + InitActivityCallback_t* InitActivityCallback; + EnableActivityCallback_t* EnableActivityCallback; GetCmdName_t* GetCmdName; private: @@ -104,25 +106,4 @@ class HccLoader : protected Loader { } // namespace roctracer -#if 0 -namespace Kalmar { -namespace CLAMP { -extern bool SetActivityCallback(unsigned, void*, void*) __attribute__((weak_import)); -extern void SetActivityIdCallback(void*) __attribute__((weak_import)); -extern const char* GetCmdName(unsigned) __attribute__((weak_impot)); -}} - -namespace roctracer { -bool HccSetActivityCallback(unsigned op, void* fun, void* arg) { - printf("HccSetActivityCallback(%p)\n", Kalmar::CLAMP::SetActivityCallback); - return (Kalmar::CLAMP::SetActivityCallback != NULL) ? Kalmar::CLAMP::SetActivityCallback(op, fun, arg) : true; -} -void HccSetActivityIdCallback(void* fun) { - if (Kalmar::CLAMP::SetActivityIdCallback != NULL) Kalmar::CLAMP::SetActivityIdCallback(fun); -} -const char* HccGetCmdName(unsigned op) { - if (Kalmar::CLAMP::GetCmdName != NULL) Kalmar::CLAMP::GetCmdName(op); -} -} // namespace roctracer -#endif #endif // SRC_CORE_LOADER_H_ diff --git a/src/core/roctracer.cpp b/src/core/roctracer.cpp index 7e6d4a844b..1f3f6c117e 100644 --- a/src/core/roctracer.cpp +++ b/src/core/roctracer.cpp @@ -530,7 +530,6 @@ PUBLIC_API roctracer_pool_t* roctracer_default_pool(roctracer_pool_t* pool) { std::lock_guard lock(roctracer::memory_pool_mutex); roctracer_pool_t* p = reinterpret_cast(roctracer::memory_pool); if (pool != NULL) roctracer::memory_pool = reinterpret_cast(pool); - //if (p == NULL) EXC_RAISING(ROCTRACER_STATUS_UNINIT, "default pool is not initialized"); return p; } @@ -572,9 +571,13 @@ static void roctracer_enable_activity_impl( switch (domain) { case ACTIVITY_DOMAIN_HSA_API: break; case ACTIVITY_DOMAIN_HCC_OPS: { - roctracer::HccLoader::Instance().SetActivityIdCallback((void*)roctracer::HCC_ActivityIdCallback); - const bool succ = roctracer::HccLoader::Instance().SetActivityCallback(op, (void*)roctracer::HCC_AsyncActivityCallback, (void*)pool); - if (succ == false) HCC_EXC_RAISING(ROCTRACER_STATUS_HCC_OPS_ERR, "HCC::SetActivityCallback error"); + if (roctracer::HccLoader::GetRef() == NULL) { + roctracer::HccLoader::Instance().InitActivityCallback((void*)roctracer::HCC_ActivityIdCallback, + (void*)roctracer::HCC_AsyncActivityCallback, + (void*)pool); + } + const bool succ = roctracer::HccLoader::Instance().EnableActivityCallback(op, true); + if (succ == false) HCC_EXC_RAISING(ROCTRACER_STATUS_HCC_OPS_ERR, "HCC::EnableActivityCallback error"); break; } case ACTIVITY_DOMAIN_HIP_API: { @@ -626,8 +629,8 @@ static void roctracer_disable_activity_impl( switch (domain) { case ACTIVITY_DOMAIN_HSA_API: break; case ACTIVITY_DOMAIN_HCC_OPS: { - const bool succ = roctracer::HccLoader::Instance().SetActivityCallback(op, NULL, NULL); - if (succ == false) HCC_EXC_RAISING(ROCTRACER_STATUS_HCC_OPS_ERR, "HCC::SetActivityCallback(NULL) error domain(" << domain << ") op(" << op << ")"); + const bool succ = roctracer::HccLoader::Instance().EnableActivityCallback(op, false); + if (succ == false) HCC_EXC_RAISING(ROCTRACER_STATUS_HCC_OPS_ERR, "HCC::EnableActivityCallback(NULL) error domain(" << domain << ") op(" << op << ")"); break; } case ACTIVITY_DOMAIN_HIP_API: { diff --git a/test/MatrixTranspose_test/MatrixTranspose.cpp b/test/MatrixTranspose_test/MatrixTranspose.cpp index fe8dde97d6..46da11567b 100644 --- a/test/MatrixTranspose_test/MatrixTranspose.cpp +++ b/test/MatrixTranspose_test/MatrixTranspose.cpp @@ -56,6 +56,7 @@ void matrixTransposeCPUReference(float* output, float* input, const unsigned int } int iterations = ITERATIONS; +void init_tracing(); void start_tracing(); void stop_tracing(); @@ -75,6 +76,8 @@ int main() { int i; int errors; + init_tracing(); + while (iterations-- > 0) { start_tracing(); @@ -151,8 +154,8 @@ int main() { } \ } while (0) -// HIP API callback function -void hip_api_callback( +// Runtime API callback function +void api_callback( uint32_t domain, uint32_t cid, const void* callback_data, @@ -239,16 +242,21 @@ void activity_callback(const char* begin, const char* end, void* arg) { } } -// Start tracing routine -void start_tracing() { +// Init tracing routine +void init_tracing() { std::cout << "# START #############################" << std::endl << std::flush; // Allocating tracing pool roctracer_properties_t properties{}; properties.buffer_size = 12; properties.buffer_callback_fun = activity_callback; ROCTRACER_CALL(roctracer_open_pool(&properties)); +} + +// Start tracing routine +void start_tracing() { + std::cout << "# START #############################" << std::endl << std::flush; // Enable HIP API callbacks - ROCTRACER_CALL(roctracer_enable_callback(hip_api_callback, NULL)); + ROCTRACER_CALL(roctracer_enable_callback(api_callback, NULL)); // Enable HIP activity tracing ROCTRACER_CALL(roctracer_enable_activity()); } @@ -257,7 +265,7 @@ void start_tracing() { void stop_tracing() { ROCTRACER_CALL(roctracer_disable_callback()); ROCTRACER_CALL(roctracer_disable_activity()); - ROCTRACER_CALL(roctracer_close_pool()); + ROCTRACER_CALL(roctracer_flush_activity()); std::cout << "# STOP #############################" << std::endl << std::flush; } #else From b9f4ca0759b93a6ad888df675e0e7321bf3bf42e Mon Sep 17 00:00:00 2001 From: Evgeny Date: Tue, 15 Jan 2019 11:29:18 -0600 Subject: [PATCH 064/691] minor changes --- test/run.sh | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/test/run.sh b/test/run.sh index c0742910b7..148f0412fc 100755 --- a/test/run.sh +++ b/test/run.sh @@ -24,9 +24,18 @@ # enable tools load failure reporting export HSA_TOOLS_REPORT_LOAD_FAILURE=1 +# paths to ROC profiler and oher libraries +export LD_LIBRARY_PATH=$PWD + +#make -C ../test/MatrixTranspose_test + +# ROC profiler library loaded by HSA runtime +export HSA_TOOLS_LIB="test/libtracer_tool.so libroctracer64.so" + +HCC_PROFILE=1 LD_PRELOAD=$HCC_HOME/lib/libmcwamp_hsa.so ./test/MatrixTranspose + # test trace export ROC_TEST_TRACE=1 - # kernels loading iterations export ROCP_KITER=1 # kernels dispatching iterations per kernel load @@ -38,14 +47,8 @@ export ROCP_AGENTS=1 # each thread creates a queue pre GPU agent export ROCP_THRS=1 -# paths to ROC profiler and oher libraries -export LD_LIBRARY_PATH=$PWD -# ROC profiler library loaded by HSA runtime -export HSA_TOOLS_LIB="test/libtracer_tool.so libroctracer64.so" -export LD_PRELOAD="$HSA_TOOLS_LIB" - +#export LD_PRELOAD="$HSA_TOOLS_LIB" #eval ./test/hsa/ctrl -HCC_PROFILE=1 LD_PRELOAD=$HCC_HOME/lib/libmcwamp_hsa.so ./test/MatrixTranspose #valgrind --leak-check=full $tbin #valgrind --tool=massif $tbin From 48a4440ab0a215619025d1fe2cf8cc07f0f85109 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Tue, 15 Jan 2019 13:18:47 -0600 Subject: [PATCH 065/691] adding explicite usage test --- build.sh | 1 + test/CMakeLists.txt | 13 ++++++++----- test/MatrixTranspose/Makefile | 19 +++++-------------- test/MatrixTranspose_test/Makefile | 11 ++++++----- test/run.sh | 6 +++--- 5 files changed, 23 insertions(+), 27 deletions(-) diff --git a/build.sh b/build.sh index 300a24ec5b..2b98eb2bc8 100755 --- a/build.sh +++ b/build.sh @@ -30,6 +30,7 @@ cmake \ popd make $MAKE_OPTS +make mytest make package exit 0 diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index b618efc345..6a0dfddbb4 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -23,13 +23,17 @@ cmake_minimum_required ( VERSION 2.8.12 ) set ( CMAKE_VERBOSE_MAKEFILE TRUE CACHE BOOL "Verbose Output" FORCE ) -## HIP test -execute_process( COMMAND make -C "${TEST_DIR}/MatrixTranspose" ) -execute_process( COMMAND sh -xc "cp ${TEST_DIR}/MatrixTranspose/MatrixTranspose ${PROJECT_BINARY_DIR}/test" ) - ## test run script set ( RUN_SCRIPT "${TEST_DIR}/run.sh" ) +## build HIP tests +add_custom_target( mytest + COMMAND make -C "${TEST_DIR}/MatrixTranspose" + COMMAND sh -xc "cp ${TEST_DIR}/MatrixTranspose/MatrixTranspose ${PROJECT_BINARY_DIR}/test" + COMMAND make -C "${TEST_DIR}/MatrixTranspose_test" + COMMAND sh -xc "cp ${TEST_DIR}/MatrixTranspose_test/MatrixTranspose ${PROJECT_BINARY_DIR}/test/MatrixTranspose_test" +) + ## Util sources file( GLOB UTIL_SRC "${TEST_HSA}/util/*.cpp" ) @@ -49,4 +53,3 @@ add_subdirectory ( ${TEST_DIR} ${PROJECT_BINARY_DIR}/test/hsa ) ## copying run script execute_process ( COMMAND sh -xc "cp ${RUN_SCRIPT} ${PROJECT_BINARY_DIR}" ) - diff --git a/test/MatrixTranspose/Makefile b/test/MatrixTranspose/Makefile index 0a51acca5e..abc56bd98a 100644 --- a/test/MatrixTranspose/Makefile +++ b/test/MatrixTranspose/Makefile @@ -1,25 +1,15 @@ -HIP_PATH?= $(wildcard /opt/rocm/hip) -ifeq (,$(HIP_PATH)) - HIP_PATH=../../.. -endif - -HIPCC=$(HIP_PATH)/bin/hipcc - -TARGET=hcc +HCC_HOME? = /opt/rocm/hcc +HIP_PATH? = /opt/rocm/hip SOURCES = MatrixTranspose.cpp OBJECTS = $(SOURCES:.cpp=.o) - EXECUTABLE=./MatrixTranspose -.PHONY: test - - -all: $(EXECUTABLE) test - +HIPCC=$(HIP_PATH)/bin/hipcc CXXFLAGS =-g CXX=$(HIPCC) +all: $(EXECUTABLE) $(EXECUTABLE): $(OBJECTS) $(HIPCC) $(OBJECTS) -o $@ @@ -34,3 +24,4 @@ clean: rm -f $(OBJECTS) rm -f $(HIP_PATH)/src/*.o +.PHONY: all test clean diff --git a/test/MatrixTranspose_test/Makefile b/test/MatrixTranspose_test/Makefile index 1c0022498f..9b8edf6e70 100644 --- a/test/MatrixTranspose_test/Makefile +++ b/test/MatrixTranspose_test/Makefile @@ -9,15 +9,16 @@ OBJECTS = $(SOURCES:.cpp=.o) ITERATIONS ?= 100 -HIP_PATH ?= /opt/rocm/hip -HIPCC = $(HIP_PATH)/bin/hipcc +HCC_HOME ?= /opt/rocm/hcc +HIP_PATH ?= /opt/rocm/hip -CXX=$(HIPCC) -CXXFLAGS =-g -I$(ROOT_PATH) -I$(ROOT_PATH)/inc -DLOCAL_BUILD=1 -DITERATIONS=$(ITERATIONS) +HIPCC = $(HIP_PATH)/bin/hipcc +CXX = $(HIPCC) +CXXFLAGS = -g -I$(ROOT_PATH) -I$(ROOT_PATH)/inc -DLOCAL_BUILD=1 -DITERATIONS=$(ITERATIONS) export LD_LIBRARY_PATH=$(LIB_PATH) -all: clean $(EXECUTABLE) test +all: clean $(EXECUTABLE) $(EXECUTABLE): $(OBJECTS) $(HIPCC) $(OBJECTS) -o $@ $(HCC_LIBS) $(ROC_LIBS) diff --git a/test/run.sh b/test/run.sh index 148f0412fc..5fd166ecba 100755 --- a/test/run.sh +++ b/test/run.sh @@ -27,11 +27,11 @@ export HSA_TOOLS_REPORT_LOAD_FAILURE=1 # paths to ROC profiler and oher libraries export LD_LIBRARY_PATH=$PWD -#make -C ../test/MatrixTranspose_test +# rocTrecer is used explicitely by test +HCC_PROFILE=1 LD_PRELOAD=$HCC_HOME/lib/libmcwamp_hsa.so ./test/MatrixTranspose_test -# ROC profiler library loaded by HSA runtime +# rocTracer/tool is loaded by HSA runtime export HSA_TOOLS_LIB="test/libtracer_tool.so libroctracer64.so" - HCC_PROFILE=1 LD_PRELOAD=$HCC_HOME/lib/libmcwamp_hsa.so ./test/MatrixTranspose # test trace From 6d3733e6a4a1aac2961e952b46471d192bc9e10a Mon Sep 17 00:00:00 2001 From: Evgeny Date: Wed, 16 Jan 2019 13:48:11 -0600 Subject: [PATCH 066/691] removed dependancy on HCC_PROFILE --- inc/roctracer_hcc.h | 2 +- test/MatrixTranspose_test/Makefile | 2 +- test/run.sh | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/inc/roctracer_hcc.h b/inc/roctracer_hcc.h index 3f8c7bfa7f..7caee7c9ad 100644 --- a/inc/roctracer_hcc.h +++ b/inc/roctracer_hcc.h @@ -23,7 +23,7 @@ THE SOFTWARE. #ifndef INC_ROCTRACER_HCC_H_ #define INC_ROCTRACER_HCC_H_ -#if (LOCAL_BUILD == 1) +#if LOCAL_BUILD #include #else #include diff --git a/test/MatrixTranspose_test/Makefile b/test/MatrixTranspose_test/Makefile index 9b8edf6e70..35f4d3d419 100644 --- a/test/MatrixTranspose_test/Makefile +++ b/test/MatrixTranspose_test/Makefile @@ -24,7 +24,7 @@ $(EXECUTABLE): $(OBJECTS) $(HIPCC) $(OBJECTS) -o $@ $(HCC_LIBS) $(ROC_LIBS) test: $(EXECUTABLE) - HCC_PROFILE=1 LD_PRELOAD=$(HCC_HOME)/lib/libmcwamp_hsa.so $(EXECUTABLE) + LD_PRELOAD=$(HCC_HOME)/lib/libmcwamp_hsa.so $(EXECUTABLE) clean: rm -f $(EXECUTABLE) diff --git a/test/run.sh b/test/run.sh index 5fd166ecba..63b90e80ee 100755 --- a/test/run.sh +++ b/test/run.sh @@ -28,11 +28,11 @@ export HSA_TOOLS_REPORT_LOAD_FAILURE=1 export LD_LIBRARY_PATH=$PWD # rocTrecer is used explicitely by test -HCC_PROFILE=1 LD_PRELOAD=$HCC_HOME/lib/libmcwamp_hsa.so ./test/MatrixTranspose_test +LD_PRELOAD=$HCC_HOME/lib/libmcwamp_hsa.so ./test/MatrixTranspose_test # rocTracer/tool is loaded by HSA runtime export HSA_TOOLS_LIB="test/libtracer_tool.so libroctracer64.so" -HCC_PROFILE=1 LD_PRELOAD=$HCC_HOME/lib/libmcwamp_hsa.so ./test/MatrixTranspose +LD_PRELOAD=$HCC_HOME/lib/libmcwamp_hsa.so ./test/MatrixTranspose # test trace export ROC_TEST_TRACE=1 From 6763460b808e6a7ee9822183c98b8a0c8690733c Mon Sep 17 00:00:00 2001 From: Evgeny Date: Wed, 16 Jan 2019 23:27:28 -0600 Subject: [PATCH 067/691] HIP test makefile sync --- test/MatrixTranspose/Makefile | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/test/MatrixTranspose/Makefile b/test/MatrixTranspose/Makefile index abc56bd98a..d3630a1c19 100644 --- a/test/MatrixTranspose/Makefile +++ b/test/MatrixTranspose/Makefile @@ -1,22 +1,32 @@ -HCC_HOME? = /opt/rocm/hcc -HIP_PATH? = /opt/rocm/hip +HIP_PATH?= $(wildcard /opt/rocm/hip) +ifeq (,$(HIP_PATH)) + HIP_PATH=../../.. +endif + +HIPCC=$(HIP_PATH)/bin/hipcc + +TARGET=hcc SOURCES = MatrixTranspose.cpp OBJECTS = $(SOURCES:.cpp=.o) + EXECUTABLE=./MatrixTranspose -HIPCC=$(HIP_PATH)/bin/hipcc +.PHONY: test + + +all: $(EXECUTABLE) test + CXXFLAGS =-g CXX=$(HIPCC) -all: $(EXECUTABLE) $(EXECUTABLE): $(OBJECTS) $(HIPCC) $(OBJECTS) -o $@ test: $(EXECUTABLE) - LD_PRELOAD=$(HCC_HOME)/lib/libmcwamp_hsa.so $(EXECUTABLE) + $(EXECUTABLE) clean: @@ -24,4 +34,3 @@ clean: rm -f $(OBJECTS) rm -f $(HIP_PATH)/src/*.o -.PHONY: all test clean From 3e870b3d45056a0a9d961910d18bd9e1ac43aeef Mon Sep 17 00:00:00 2001 From: Evgeny Date: Thu, 17 Jan 2019 14:14:52 -0600 Subject: [PATCH 068/691] enabling hsa test --- inc/ext/hsa_rt_utils.hpp | 2 +- test/tool/tracer_tool.cpp | 27 ++++++++++++++++----------- 2 files changed, 17 insertions(+), 12 deletions(-) diff --git a/inc/ext/hsa_rt_utils.hpp b/inc/ext/hsa_rt_utils.hpp index 784b06eaaa..17cc6092a1 100644 --- a/inc/ext/hsa_rt_utils.hpp +++ b/inc/ext/hsa_rt_utils.hpp @@ -34,7 +34,7 @@ THE SOFTWARE. do { \ hsa_status_t status = call; \ if (status != HSA_STATUS_SUCCESS) { \ - std::cerr << "HSA-rt call '" << #call << "' error(" << std::hex << status << ")" \ + std::cerr << "1HSA-rt call '" << #call << "' error(" << std::hex << status << ")" \ << std::dec << std::endl << std::flush; \ abort(); \ } \ diff --git a/test/tool/tracer_tool.cpp b/test/tool/tracer_tool.cpp index d367ba25a7..2e1f763d50 100644 --- a/test/tool/tracer_tool.cpp +++ b/test/tool/tracer_tool.cpp @@ -45,9 +45,11 @@ THE SOFTWARE. } while (0) typedef hsa_rt_utils::Timer::timestamp_t timestamp_t; -hsa_rt_utils::Timer timer(NULL); +hsa_rt_utils::Timer* timer = NULL; thread_local timestamp_t hsa_begin_timestamp = 0; thread_local timestamp_t hip_begin_timestamp = 0; +bool trace_hsa = false; +bool trace_hip = false; // HSA API callback function void hsa_api_callback( @@ -57,13 +59,12 @@ void hsa_api_callback( void* arg) { (void)arg; - const hsa_api_data_t* data = reinterpret_cast(callback_data); if (data->phase == ACTIVITY_API_PHASE_ENTER) { - hsa_begin_timestamp = timer.timestamp_fn_ns(); + hsa_begin_timestamp = timer->timestamp_fn_ns(); } else { - const timestamp_t end_timestamp = (cid == HSA_API_ID_hsa_shut_down) ? hsa_begin_timestamp : timer.timestamp_fn_ns(); + const timestamp_t end_timestamp = (cid == HSA_API_ID_hsa_shut_down) ? hsa_begin_timestamp : timer->timestamp_fn_ns(); std::ostringstream os; os << '(' << hsa_begin_timestamp << ":" << end_timestamp << ") " << hsa_api_data_pair_t(cid, *data); fprintf(stdout, "%s\n", os.str().c_str()); @@ -78,10 +79,11 @@ void hip_api_callback( { (void)arg; const hip_api_data_t* data = reinterpret_cast(callback_data); + if (data->phase == ACTIVITY_API_PHASE_ENTER) { - hsa_begin_timestamp = timer.timestamp_fn_ns(); + hsa_begin_timestamp = timer->timestamp_fn_ns(); } else { - const timestamp_t end_timestamp = timer.timestamp_fn_ns(); + const timestamp_t end_timestamp = timer->timestamp_fn_ns(); fprintf(stdout, "(%lu:%lu) %s(", hsa_begin_timestamp, end_timestamp, roctracer_op_string(ACTIVITY_DOMAIN_HIP_API, cid, 0)); switch (cid) { case HIP_API_ID_hipMemcpy: @@ -117,6 +119,7 @@ void hip_api_callback( void activity_callback(const char* begin, const char* end, void* arg) { const roctracer_record_t* record = reinterpret_cast(begin); const roctracer_record_t* end_record = reinterpret_cast(end); + fprintf(stdout, "\tActivity records:\n"); fflush(stdout); while (record < end_record) { const char * name = roctracer_op_string(record->domain, record->op, record->kind); @@ -151,10 +154,11 @@ extern "C" { // HSA-runtime tool on-load method PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, uint64_t failed_tool_count, const char* const* failed_tool_names) { - timer.init(table->core_->hsa_system_get_info_fn); + timer = new hsa_rt_utils::Timer(table->core_->hsa_system_get_info_fn); + const char* trace_domain = getenv("ROCTRACER_DOMAIN"); - const bool trace_hsa = (trace_domain == NULL) || (strncmp(trace_domain, "hsa", 3) == 0); - const bool trace_hip = (trace_domain == NULL) || (strncmp(trace_domain, "hip", 3) == 0); + trace_hsa = (trace_domain == NULL) || (strncmp(trace_domain, "hsa", 3) == 0); + trace_hip = (trace_domain == NULL) || (strncmp(trace_domain, "hip", 3) == 0); // Enable HSA API callbacks if (trace_hsa) { @@ -178,8 +182,9 @@ PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, uint64_t fa // HSA-runtime tool on-unload method PUBLIC_API void OnUnload() { - ROCTRACER_CALL(roctracer_disable_callback()); - ROCTRACER_CALL(roctracer_disable_activity()); + if (trace_hsa) ROCTRACER_CALL(roctracer_disable_domain_callback(ACTIVITY_DOMAIN_HSA_API)); + if (trace_hip) ROCTRACER_CALL(roctracer_disable_domain_callback(ACTIVITY_DOMAIN_HIP_API)); + if (trace_hip) ROCTRACER_CALL(roctracer_disable_domain_callback(ACTIVITY_DOMAIN_HCC_OPS)); ROCTRACER_CALL(roctracer_close_pool()); } From 1570f61ec81dc74df6e1c495ccea43f317870655 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Thu, 17 Jan 2019 15:04:54 -0600 Subject: [PATCH 069/691] adding tests passing status --- test/run.sh | 30 +++++++++++++++++++++++++----- 1 file changed, 25 insertions(+), 5 deletions(-) diff --git a/test/run.sh b/test/run.sh index 63b90e80ee..ef38515ac7 100755 --- a/test/run.sh +++ b/test/run.sh @@ -26,14 +26,34 @@ export HSA_TOOLS_REPORT_LOAD_FAILURE=1 # paths to ROC profiler and oher libraries export LD_LIBRARY_PATH=$PWD +# test check routin +test_status=0 +eval_test() { + label=$1 + cmdline=$2 + echo "$label: \"$cmdline\"" + eval "$cmdline" + if [ $? != 0 ] ; then + echo "$label: FAILED" + test_status=$(($test_status + 1)) + else + echo "$label: PASSED" + fi +} +# Standalone test # rocTrecer is used explicitely by test -LD_PRELOAD=$HCC_HOME/lib/libmcwamp_hsa.so ./test/MatrixTranspose_test +eval_test "standalone HIP test" "LD_PRELOAD=$HCC_HOME/lib/libmcwamp_hsa.so ./test/MatrixTranspose_test" +# Tool test # rocTracer/tool is loaded by HSA runtime export HSA_TOOLS_LIB="test/libtracer_tool.so libroctracer64.so" -LD_PRELOAD=$HCC_HOME/lib/libmcwamp_hsa.so ./test/MatrixTranspose +# HIP test +eval_test "tool HIP test" "LD_PRELOAD='$HCC_HOME/lib/libmcwamp_hsa.so $HSA_TOOLS_LIB' ./test/MatrixTranspose" + +# HSA test +export ROCTRACER_DOMAIN="hsa" # test trace export ROC_TEST_TRACE=1 # kernels loading iterations @@ -47,11 +67,11 @@ export ROCP_AGENTS=1 # each thread creates a queue pre GPU agent export ROCP_THRS=1 -#export LD_PRELOAD="$HSA_TOOLS_LIB" -#eval ./test/hsa/ctrl +eval_test "tool HSA test" "LD_PRELOAD='$HSA_TOOLS_LIB' ./test/hsa/ctrl" #valgrind --leak-check=full $tbin #valgrind --tool=massif $tbin #ms_print massif.out. -exit 0 +if [ $test_status != 0 ] ; then echo "$test_status tests failed"; fi +exit $test_status From 7cac3c4231857538e2800ae93b5da92affb30c59 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Thu, 17 Jan 2019 15:15:25 -0600 Subject: [PATCH 070/691] cosmetic change --- test/tool/tracer_tool.cpp | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/test/tool/tracer_tool.cpp b/test/tool/tracer_tool.cpp index 2e1f763d50..38d896c477 100644 --- a/test/tool/tracer_tool.cpp +++ b/test/tool/tracer_tool.cpp @@ -150,9 +150,8 @@ void activity_callback(const char* begin, const char* end, void* arg) { } } -extern "C" { // HSA-runtime tool on-load method -PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, uint64_t failed_tool_count, +extern "C" PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, uint64_t failed_tool_count, const char* const* failed_tool_names) { timer = new hsa_rt_utils::Timer(table->core_->hsa_system_get_info_fn); @@ -181,11 +180,9 @@ PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, uint64_t fa } // HSA-runtime tool on-unload method -PUBLIC_API void OnUnload() { +extern "C" PUBLIC_API void OnUnload() { if (trace_hsa) ROCTRACER_CALL(roctracer_disable_domain_callback(ACTIVITY_DOMAIN_HSA_API)); if (trace_hip) ROCTRACER_CALL(roctracer_disable_domain_callback(ACTIVITY_DOMAIN_HIP_API)); if (trace_hip) ROCTRACER_CALL(roctracer_disable_domain_callback(ACTIVITY_DOMAIN_HCC_OPS)); ROCTRACER_CALL(roctracer_close_pool()); } - -} From a530e509fecfa2e4639bff1c75cf5776cb695e81 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Thu, 17 Jan 2019 22:39:53 -0600 Subject: [PATCH 071/691] tool xml input --- CMakeLists.txt | 1 + inc/roctracer.h | 15 +++-- script/hsaap.py | 12 ++++ src/core/roctracer.cpp | 32 ++++++++-- test/CMakeLists.txt | 12 ++-- test/run.sh | 4 ++ test/tool/tracer_tool.cpp | 120 ++++++++++++++++++++++++++++++++++++-- 7 files changed, 178 insertions(+), 18 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 72ee504bd4..682fda8947 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -94,6 +94,7 @@ install ( FILES ${CMAKE_CURRENT_SOURCE_DIR}/inc/ext/prof_protocol.h DESTINATION install ( FILES ${CMAKE_CURRENT_SOURCE_DIR}/inc/ext/hsa_rt_utils.hpp DESTINATION include/ext ) install ( FILES ${PROJECT_BINARY_DIR}/inc-link DESTINATION ../include RENAME ${ROCTRACER_NAME} ) install ( FILES ${PROJECT_BINARY_DIR}/so-link DESTINATION ../lib RENAME ${ROCTRACER_LIBRARY}.so ) +install ( FILES ${PROJECT_BINARY_DIR}/test/libtracer_tool.so DESTINATION tool ) ## Packaging directives set ( CPACK_GENERATOR "DEB" "RPM" "TGZ" ) diff --git a/inc/roctracer.h b/inc/roctracer.h index 61c7debaaf..b8d4f346e4 100644 --- a/inc/roctracer.h +++ b/inc/roctracer.h @@ -76,12 +76,19 @@ const char* roctracer_error_string(); // Activity domain type typedef activity_domain_t roctracer_domain_t; -// Return ID string by given domain and activity/API ID +// Return Op string by given domain and Op codes // NULL returned on the error and the library errno is set const char* roctracer_op_string( - const uint32_t& domain, // tracing domain - const uint32_t& op, // activity op ID - const uint32_t& kind); // activity kind + uint32_t domain, // tracing domain + uint32_t op, // activity op ID + uint32_t kind); // activity kind + +// Return Op code and kind by given string +roctracer_status_t roctracer_op_code( + uint32_t domain, // tracing domain + const char* str, // [in] op string + uint32_t* op, // [out] op code + uint32_t* kind = NULL); // [out] op kind code // Set properties roctracer_status_t roctracer_set_properties( diff --git a/script/hsaap.py b/script/hsaap.py index ed2e5df1f7..31a8076809 100755 --- a/script/hsaap.py +++ b/script/hsaap.py @@ -307,6 +307,7 @@ class API_DescrParser: self.add_section('API callback functions', '', self.gen_callbacks) self.add_section('API intercepting code', '', self.gen_intercept) self.add_section('API get_name function', ' ', self.gen_get_name) + self.add_section('API get_code function', ' ', self.gen_get_code) self.content += '\n};};\n' self.content += '#endif // PROF_API_IMPL\n' @@ -418,6 +419,17 @@ class API_DescrParser: self.content += ' return "unknown";\n' self.content += '}\n' + # generate API code function + def gen_get_code(self, n, name, call, struct): + if n == -1: + self.content += 'static uint32_t GetApiCode(const char* str) {\n' + return + if call != '-': + self.content += ' if (strcmp("' + call + '", str) == 0) return ' + self.api_id[call] + ';\n' + else: + self.content += ' return HSA_API_ID_NUMBER;\n' + self.content += '}\n' + # generate stream operator def gen_out_stream(self, n, name, call, struct): if n == -1: diff --git a/src/core/roctracer.cpp b/src/core/roctracer.cpp index 1f3f6c117e..a2747e34b4 100644 --- a/src/core/roctracer.cpp +++ b/src/core/roctracer.cpp @@ -386,13 +386,17 @@ PUBLIC_API const char* roctracer_error_string() { return strdup(roctracer::util::Logger::LastMessage().c_str()); } -// Return ID string by given domain and activity/API ID +// Return Op string by given domain and activity/API codes // NULL returned on the error and the library errno is set -PUBLIC_API const char* roctracer_op_string(const uint32_t& domain, const uint32_t& id, const uint32_t& kind) { +PUBLIC_API const char* roctracer_op_string( + uint32_t domain, + uint32_t op, + uint32_t kind) +{ API_METHOD_PREFIX switch (domain) { case ACTIVITY_DOMAIN_HSA_API: { - return roctracer::hsa_support::GetApiName(id); + return roctracer::hsa_support::GetApiName(op); break; } case ACTIVITY_DOMAIN_HCC_OPS: { @@ -400,7 +404,7 @@ PUBLIC_API const char* roctracer_op_string(const uint32_t& domain, const uint32_ break; } case ACTIVITY_DOMAIN_HIP_API: { - return hipApiName(id); + return hipApiName(op); break; } default: @@ -409,6 +413,26 @@ PUBLIC_API const char* roctracer_op_string(const uint32_t& domain, const uint32_ API_METHOD_CATCH(NULL) } +// Return Op code and kind by given string +PUBLIC_API roctracer_status_t roctracer_op_code( + uint32_t domain, + const char* str, + uint32_t* op, + uint32_t* kind) +{ + API_METHOD_PREFIX + switch (domain) { + case ACTIVITY_DOMAIN_HSA_API: { + *op = roctracer::hsa_support::GetApiCode(str); + if (kind != NULL) *kind = 0; + break; + } + default: + EXC_RAISING(ROCTRACER_STATUS_BAD_DOMAIN, "limited domain ID(" << domain << ")"); + } + API_METHOD_SUFFIX +} + static inline uint32_t get_op_num(const uint32_t& domain) { switch (domain) { case ACTIVITY_DOMAIN_HCC_OPS: return hc::HSA_OP_ID_NUMBER; diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 6a0dfddbb4..ef74c04466 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -23,6 +23,9 @@ cmake_minimum_required ( VERSION 2.8.12 ) set ( CMAKE_VERBOSE_MAKEFILE TRUE CACHE BOOL "Verbose Output" FORCE ) +## Path to HSA test +set ( HSA_TEST_DIR "${TEST_DIR}/hsa/test" ) + ## test run script set ( RUN_SCRIPT "${TEST_DIR}/run.sh" ) @@ -35,20 +38,19 @@ add_custom_target( mytest ) ## Util sources -file( GLOB UTIL_SRC "${TEST_HSA}/util/*.cpp" ) +file( GLOB UTIL_SRC "${HSA_TEST_DIR}/util/*.cpp" ) ## Build test library set ( TEST_LIB "tracer_tool" ) set ( TEST_LIB_SRC ${TEST_DIR}/tool/tracer_tool.cpp ${UTIL_SRC} ) add_library ( ${TEST_LIB} SHARED ${TEST_LIB_SRC} ) -target_include_directories ( ${TEST_LIB} PRIVATE ${TEST_HSA} ${ROOT_DIR} ${HSA_RUNTIME_INC_PATH} ${HIP_INC_DIR} ${HCC_INC_DIR} ) +target_include_directories ( ${TEST_LIB} PRIVATE ${HSA_TEST_DIR} ${ROOT_DIR} ${HSA_RUNTIME_INC_PATH} ${HIP_INC_DIR} ${HCC_INC_DIR} ) target_link_libraries ( ${TEST_LIB} ${ROCTRACER_TARGET} ${HSA_RUNTIME_LIB} c stdc++ dl pthread rt ) -## HSA test -set ( TEST_HSA "${TEST_DIR}/hsa/test" ) +## Build HSA test execute_process ( COMMAND sh -xc "if [ ! -e ${TEST_DIR}/hsa ] ; then git clone https://github.com/ROCmSoftwarePlatform/hsa-class.git ${TEST_DIR}/hsa; fi" ) execute_process ( COMMAND sh -xc "if [ -e ${TEST_DIR}/hsa ] ; then cd ${TEST_DIR}/hsa && git checkout 3e7a87f; fi" ) -set ( TEST_DIR ${TEST_HSA} ) +set ( TEST_DIR ${HSA_TEST_DIR} ) add_subdirectory ( ${TEST_DIR} ${PROJECT_BINARY_DIR}/test/hsa ) ## copying run script diff --git a/test/run.sh b/test/run.sh index ef38515ac7..da939d2fd5 100755 --- a/test/run.sh +++ b/test/run.sh @@ -69,6 +69,10 @@ export ROCP_THRS=1 eval_test "tool HSA test" "LD_PRELOAD='$HSA_TOOLS_LIB' ./test/hsa/ctrl" +echo "" > input.xml +export ROCP_INPUT=input.xml +eval_test "tool HSA test input" "LD_PRELOAD='$HSA_TOOLS_LIB' ./test/hsa/ctrl" + #valgrind --leak-check=full $tbin #valgrind --tool=massif $tbin #ms_print massif.out. diff --git a/test/tool/tracer_tool.cpp b/test/tool/tracer_tool.cpp index 38d896c477..55c76f9b3f 100644 --- a/test/tool/tracer_tool.cpp +++ b/test/tool/tracer_tool.cpp @@ -29,6 +29,7 @@ THE SOFTWARE. #include #include #include +#include #define PUBLIC_API __attribute__((visibility("default"))) #define CONSTRUCTOR_API __attribute__((constructor)) @@ -51,6 +52,14 @@ thread_local timestamp_t hip_begin_timestamp = 0; bool trace_hsa = false; bool trace_hip = false; +// Error handler +void fatal(const std::string msg) { + fflush(stdout); + fprintf(stderr, "%s\n\n", msg.c_str()); + fflush(stderr); + abort(); +} + // HSA API callback function void hsa_api_callback( uint32_t domain, @@ -150,22 +159,119 @@ void activity_callback(const char* begin, const char* end, void* arg) { } } +// Input parser +std::string normalize_token(const std::string& token, bool not_empty, const std::string& label) { + const std::string space_chars_set = " \t"; + const size_t first_pos = token.find_first_not_of(space_chars_set); + size_t norm_len = 0; + std::string error_str = "none"; + if (first_pos != std::string::npos) { + const size_t last_pos = token.find_last_not_of(space_chars_set); + if (last_pos == std::string::npos) error_str = "token string error: \"" + token + "\""; + else { + const size_t end_pos = last_pos + 1; + if (end_pos <= first_pos) error_str = "token string error: \"" + token + "\""; + else norm_len = end_pos - first_pos; + } + } + if (((first_pos != std::string::npos) && (norm_len == 0)) || + ((first_pos == std::string::npos) && not_empty)) { + fatal("normalize_token error, " + label + ": '" + token + "'," + error_str); + } + return (norm_len != 0) ? token.substr(first_pos, norm_len) : std::string(""); +} + +int get_xml_array(const xml::Xml::level_t* node, const std::string& field, const std::string& delim, std::vector* vec, const char* label = NULL) { + int parse_iter = 0; + const auto& opts = node->opts; + auto it = opts.find(field); + if (it != opts.end()) { + const std::string array_string = it->second; + if (label != NULL) printf("%s%s = %s\n", label, field.c_str(), array_string.c_str()); + size_t pos1 = 0; + const size_t string_len = array_string.length(); + while (pos1 < string_len) { + const size_t pos2 = array_string.find(delim, pos1); + const bool found = (pos2 != std::string::npos); + const size_t token_len = (pos2 != std::string::npos) ? pos2 - pos1 : string_len - pos1; + const std::string token = array_string.substr(pos1, token_len); + const std::string norm_str = normalize_token(token, found, "get_xml_array"); + if (norm_str.length() != 0) vec->push_back(norm_str); + if (!found) break; + pos1 = pos2 + 1; + ++parse_iter; + } + } + return parse_iter; +} + // HSA-runtime tool on-load method extern "C" PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, uint64_t failed_tool_count, const char* const* failed_tool_names) { timer = new hsa_rt_utils::Timer(table->core_->hsa_system_get_info_fn); + // API traces switches const char* trace_domain = getenv("ROCTRACER_DOMAIN"); trace_hsa = (trace_domain == NULL) || (strncmp(trace_domain, "hsa", 3) == 0); trace_hip = (trace_domain == NULL) || (strncmp(trace_domain, "hip", 3) == 0); + // API trace vector + std::vector hsa_api_vec; + + // XML input + const char* xml_name = getenv("ROCP_INPUT"); + if (xml_name != NULL) { + printf("ROCTracer: input from \"%s\"\n", xml_name); + xml::Xml* xml = xml::Xml::Create(xml_name); + if (xml == NULL) { + fprintf(stderr, "ROCTracer: Input file not found '%s'\n", xml_name); + abort(); + } + + for (const auto* entry : xml->GetNodes("top.trace")) { + auto it = entry->opts.find("name"); + if (it == entry->opts.end()) fatal("ROCTracer: trace name is missing"); + const std::string& name = it->second; + + std::vector api_vec; + for (const auto* node : entry->nodes) { + if (node->tag != "parameters") fatal("ROCProfiler: trace node is not supported '" + name + ":" + node->tag + "'"); + get_xml_array(node, "api", ",", &api_vec); + break; + } + + if (name == "HSA") { + trace_hsa |= true; + hsa_api_vec = api_vec; + } + if (name == "HIP") { + trace_hip |= true; + } + } + } + // Enable HSA API callbacks if (trace_hsa) { - ROCTRACER_CALL(roctracer_enable_domain_callback(ACTIVITY_DOMAIN_HSA_API, hsa_api_callback, NULL)); + printf(" HSA-trace"); + if (hsa_api_vec.size() != 0) { + printf("("); + for (unsigned i = 0; i < hsa_api_vec.size(); ++i) { + uint32_t cid = HSA_API_ID_NUMBER; + const char* api = hsa_api_vec[i].c_str(); + ROCTRACER_CALL(roctracer_op_code(ACTIVITY_DOMAIN_HSA_API, api, &cid)); + ROCTRACER_CALL(roctracer_enable_op_callback(ACTIVITY_DOMAIN_HSA_API, cid, hsa_api_callback, NULL)); + printf(" %s", api); + } + printf(" )"); + } else { + ROCTRACER_CALL(roctracer_enable_domain_callback(ACTIVITY_DOMAIN_HSA_API, hsa_api_callback, NULL)); + } + printf("\n"); } // Enable HIP API callbacks/activity if (trace_hip) { + printf(" HIP-trace\n"); // Allocating tracing pool roctracer_properties_t properties{}; properties.buffer_size = 12; @@ -181,8 +287,12 @@ extern "C" PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, // HSA-runtime tool on-unload method extern "C" PUBLIC_API void OnUnload() { - if (trace_hsa) ROCTRACER_CALL(roctracer_disable_domain_callback(ACTIVITY_DOMAIN_HSA_API)); - if (trace_hip) ROCTRACER_CALL(roctracer_disable_domain_callback(ACTIVITY_DOMAIN_HIP_API)); - if (trace_hip) ROCTRACER_CALL(roctracer_disable_domain_callback(ACTIVITY_DOMAIN_HCC_OPS)); - ROCTRACER_CALL(roctracer_close_pool()); + if (trace_hsa) { + ROCTRACER_CALL(roctracer_disable_domain_callback(ACTIVITY_DOMAIN_HSA_API)); + } + if (trace_hip) { + ROCTRACER_CALL(roctracer_disable_domain_callback(ACTIVITY_DOMAIN_HIP_API)); + ROCTRACER_CALL(roctracer_disable_domain_callback(ACTIVITY_DOMAIN_HCC_OPS)); + ROCTRACER_CALL(roctracer_close_pool()); + } } From 6b45b150eceb22dd0ecd8837d22f3bbbc0a850ec Mon Sep 17 00:00:00 2001 From: Evgeny Date: Fri, 18 Jan 2019 21:01:11 -0600 Subject: [PATCH 072/691] adding trace output file --- test/tool/tracer_tool.cpp | 90 ++++++++++++++++++++++++++++----------- 1 file changed, 65 insertions(+), 25 deletions(-) diff --git a/test/tool/tracer_tool.cpp b/test/tool/tracer_tool.cpp index 55c76f9b3f..c0ad578c00 100644 --- a/test/tool/tracer_tool.cpp +++ b/test/tool/tracer_tool.cpp @@ -23,7 +23,9 @@ THE SOFTWARE. #include #include +#include #include +#include /* For SYS_xxx definitions */ #include #include @@ -52,8 +54,19 @@ thread_local timestamp_t hip_begin_timestamp = 0; bool trace_hsa = false; bool trace_hip = false; +// Profiling results output dir +const char* result_prefix = NULL; +// Global results file handle +FILE* result_file_handle = NULL; +// True if a result file is opened +bool result_file_opened = false; + +static inline uint32_t GetPid() { return syscall(__NR_getpid); } +static inline uint32_t GetTid() { return syscall(__NR_gettid); } + // Error handler void fatal(const std::string msg) { + fflush(result_file_handle); fflush(stdout); fprintf(stderr, "%s\n\n", msg.c_str()); fflush(stderr); @@ -75,8 +88,8 @@ void hsa_api_callback( } else { const timestamp_t end_timestamp = (cid == HSA_API_ID_hsa_shut_down) ? hsa_begin_timestamp : timer->timestamp_fn_ns(); std::ostringstream os; - os << '(' << hsa_begin_timestamp << ":" << end_timestamp << ") " << hsa_api_data_pair_t(cid, *data); - fprintf(stdout, "%s\n", os.str().c_str()); + os << hsa_begin_timestamp << ":" << end_timestamp << " " << GetPid() << ":" << GetTid() << " " << hsa_api_data_pair_t(cid, *data); + fprintf(result_file_handle, "%s\n", os.str().c_str()); } } @@ -93,58 +106,58 @@ void hip_api_callback( hsa_begin_timestamp = timer->timestamp_fn_ns(); } else { const timestamp_t end_timestamp = timer->timestamp_fn_ns(); - fprintf(stdout, "(%lu:%lu) %s(", hsa_begin_timestamp, end_timestamp, roctracer_op_string(ACTIVITY_DOMAIN_HIP_API, cid, 0)); + fprintf(result_file_handle, "%lu:%lu %u:%u %s(", hsa_begin_timestamp, end_timestamp, GetPid(), GetTid(), roctracer_op_string(ACTIVITY_DOMAIN_HIP_API, cid, 0)); switch (cid) { case HIP_API_ID_hipMemcpy: - fprintf(stdout, "dst(%p) src(%p) size(0x%x) kind(%u)", + fprintf(result_file_handle, "dst(%p) src(%p) size(0x%x) kind(%u)", data->args.hipMemcpy.dst, data->args.hipMemcpy.src, (uint32_t)(data->args.hipMemcpy.sizeBytes), (uint32_t)(data->args.hipMemcpy.kind)); break; case HIP_API_ID_hipMalloc: - fprintf(stdout, "ptr(0x%p) size(0x%x)", + fprintf(result_file_handle, "ptr(0x%p) size(0x%x)", *(data->args.hipMalloc.ptr), (uint32_t)(data->args.hipMalloc.size)); break; case HIP_API_ID_hipFree: - fprintf(stdout, "ptr(%p)", + fprintf(result_file_handle, "ptr(%p)", data->args.hipFree.ptr); break; case HIP_API_ID_hipModuleLaunchKernel: - fprintf(stdout, "kernel(\"%s\") stream(%p)", + fprintf(result_file_handle, "kernel(\"%s\") stream(%p)", hipKernelNameRef(data->args.hipModuleLaunchKernel.f), data->args.hipModuleLaunchKernel.stream); break; default: break; } - fprintf(stdout, ")\n"); fflush(stdout); + fprintf(result_file_handle, ")\n"); fflush(result_file_handle); } } // Activity tracing callback // hipMalloc id(3) correlation_id(1): begin_ns(1525888652762640464) end_ns(1525888652762877067) -void activity_callback(const char* begin, const char* end, void* arg) { +void hcc_activity_callback(const char* begin, const char* end, void* arg) { const roctracer_record_t* record = reinterpret_cast(begin); const roctracer_record_t* end_record = reinterpret_cast(end); - fprintf(stdout, "\tActivity records:\n"); fflush(stdout); + fprintf(result_file_handle, "\tActivity records:\n"); fflush(result_file_handle); while (record < end_record) { const char * name = roctracer_op_string(record->domain, record->op, record->kind); - fprintf(stdout, "\t%s\tcorrelation_id(%lu) time_ns(%lu:%lu)", + fprintf(result_file_handle, "\t%s\tcorrelation_id(%lu) time_ns(%lu:%lu)", name, record->correlation_id, record->begin_ns, record->end_ns ); if (record->domain == ACTIVITY_DOMAIN_HIP_API) { - fprintf(stdout, " process_id(%u) thread_id(%u)", + fprintf(result_file_handle, " process_id(%u) thread_id(%u)", record->process_id, record->thread_id ); } else if (record->domain == ACTIVITY_DOMAIN_HCC_OPS) { - fprintf(stdout, " device_id(%d) queue_id(%lu)", + fprintf(result_file_handle, " device_id(%d) queue_id(%lu)", record->device_id, record->queue_id ); @@ -152,9 +165,9 @@ void activity_callback(const char* begin, const char* end, void* arg) { fprintf(stderr, "Bad domain %d\n", record->domain); abort(); } - if (record->op == hc::HSA_OP_ID_COPY) fprintf(stdout, " bytes(0x%zx)", record->bytes); - fprintf(stdout, "\n"); - fflush(stdout); + if (record->op == hc::HSA_OP_ID_COPY) fprintf(result_file_handle, " bytes(0x%zx)", record->bytes); + fprintf(result_file_handle, "\n"); + fflush(result_file_handle); ROCTRACER_CALL(roctracer_next_record(record, &record)); } } @@ -215,19 +228,43 @@ extern "C" PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, trace_hsa = (trace_domain == NULL) || (strncmp(trace_domain, "hsa", 3) == 0); trace_hip = (trace_domain == NULL) || (strncmp(trace_domain, "hip", 3) == 0); + // Output file + result_prefix = getenv("ROCP_OUTPUT_DIR"); + if (result_prefix != NULL) { + DIR* dir = opendir(result_prefix); + if (dir == NULL) { + std::ostringstream errmsg; + errmsg << "ROCTracer: Cannot open output directory '" << result_prefix << "'"; + perror(errmsg.str().c_str()); + abort(); + } + std::ostringstream oss; + oss << result_prefix << "/trace.txt"; + result_file_handle = fopen(oss.str().c_str(), "w"); + if (result_file_handle == NULL) { + std::ostringstream errmsg; + errmsg << "ROCTracer: fopen error, file '" << oss.str().c_str() << "'"; + perror(errmsg.str().c_str()); + abort(); + } + } else result_file_handle = stdout; + + result_file_opened = (result_prefix != NULL) && (result_file_handle != NULL); + // API trace vector std::vector hsa_api_vec; + printf("ROCTracer: "); fflush(stdout); // XML input const char* xml_name = getenv("ROCP_INPUT"); if (xml_name != NULL) { - printf("ROCTracer: input from \"%s\"\n", xml_name); xml::Xml* xml = xml::Xml::Create(xml_name); if (xml == NULL) { fprintf(stderr, "ROCTracer: Input file not found '%s'\n", xml_name); abort(); } - + + bool found = false; for (const auto* entry : xml->GetNodes("top.trace")) { auto it = entry->opts.find("name"); if (it == entry->opts.end()) fatal("ROCTracer: trace name is missing"); @@ -235,26 +272,30 @@ extern "C" PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, std::vector api_vec; for (const auto* node : entry->nodes) { - if (node->tag != "parameters") fatal("ROCProfiler: trace node is not supported '" + name + ":" + node->tag + "'"); + if (node->tag != "parameters") fatal("ROCTracer: trace node is not supported '" + name + ":" + node->tag + "'"); get_xml_array(node, "api", ",", &api_vec); break; } if (name == "HSA") { + found = true; trace_hsa |= true; hsa_api_vec = api_vec; } if (name == "HIP") { + found = true; trace_hip |= true; } } + + if (found) printf("input from \"%s\"", xml_name); } + printf("\n"); // Enable HSA API callbacks if (trace_hsa) { - printf(" HSA-trace"); + printf(" HSA-trace("); if (hsa_api_vec.size() != 0) { - printf("("); for (unsigned i = 0; i < hsa_api_vec.size(); ++i) { uint32_t cid = HSA_API_ID_NUMBER; const char* api = hsa_api_vec[i].c_str(); @@ -262,20 +303,19 @@ extern "C" PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, ROCTRACER_CALL(roctracer_enable_op_callback(ACTIVITY_DOMAIN_HSA_API, cid, hsa_api_callback, NULL)); printf(" %s", api); } - printf(" )"); } else { ROCTRACER_CALL(roctracer_enable_domain_callback(ACTIVITY_DOMAIN_HSA_API, hsa_api_callback, NULL)); } - printf("\n"); + printf(")\n"); } // Enable HIP API callbacks/activity if (trace_hip) { - printf(" HIP-trace\n"); + printf(" HIP-trace()\n"); // Allocating tracing pool roctracer_properties_t properties{}; properties.buffer_size = 12; - properties.buffer_callback_fun = activity_callback; + properties.buffer_callback_fun = hcc_activity_callback; ROCTRACER_CALL(roctracer_open_pool(&properties)); ROCTRACER_CALL(roctracer_enable_domain_activity(ACTIVITY_DOMAIN_HCC_OPS)); ROCTRACER_CALL(roctracer_enable_domain_activity(ACTIVITY_DOMAIN_HIP_API)); From a996505c2eccc948f32bc1c5fda854e70ae26713 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Tue, 22 Jan 2019 03:55:03 -0600 Subject: [PATCH 073/691] async copy activity handling --- src/core/roctracer.cpp | 114 ++++++++++-- src/util/hsa_rsrc_factory.cpp | 319 +++++++++++++++++++--------------- src/util/hsa_rsrc_factory.h | 174 ++++++++++++++----- test/tool/tracer_tool.cpp | 1 + 4 files changed, 399 insertions(+), 209 deletions(-) diff --git a/src/core/roctracer.cpp b/src/core/roctracer.cpp index a2747e34b4..da07bbd56e 100644 --- a/src/core/roctracer.cpp +++ b/src/core/roctracer.cpp @@ -34,6 +34,7 @@ THE SOFTWARE. #include #include "core/loader.h" +#include "proxy/tracker.h" #include "ext/hsa_rt_utils.hpp" #include "util/exception.h" #include "util/hsa_rsrc_factory.h" @@ -84,6 +85,21 @@ THE SOFTWARE. // Internal library methods // namespace roctracer { +decltype(hsa_amd_memory_async_copy)* hsa_amd_memory_async_copy_fn; +decltype(hsa_amd_memory_async_copy_rect)* hsa_amd_memory_async_copy_rect_fn; + +namespace hsa_support { +// callbacks table +cb_table_t cb_table; +// activity enabled +bool enabled = false;; +// Table of function pointers to HSA Core Runtime +CoreApiTable CoreApiTable_saved{}; +// Table of function pointers to AMD extensions +AmdExtTable AmdExtTable_saved{}; +// Table of function pointers to HSA Image Extension +ImageExtTable ImageExtTable_saved{}; +} roctracer_status_t GetExcStatus(const std::exception& e) { const util::exception* roctracer_exc_ptr = dynamic_cast(&e); @@ -276,7 +292,7 @@ CONSTRUCTOR_API void constructor() { } DESTRUCTOR_API void destructor() { - util::HsaRsrcFactory::Destroy(); + ::util::HsaRsrcFactory::Destroy(); util::Logger::Destroy(); } @@ -350,6 +366,65 @@ void HCC_AsyncActivityCallback(uint32_t op_id, void* record, void* arg) { pool->Write(*record_ptr); } +bool hsa_async_copy_handler(hsa_signal_value_t value, void* arg) { + ::proxy::Tracker::entry_t* entry = reinterpret_cast<::proxy::Tracker::entry_t*>(arg); + printf("%lu:%lu async-copy%lu\n", entry->record->begin, entry->record->end, entry->index); + return false; +} + +hsa_status_t hsa_amd_memory_async_copy_interceptor( + void* dst, hsa_agent_t dst_agent, const void* src, + hsa_agent_t src_agent, size_t size, uint32_t num_dep_signals, + const hsa_signal_t* dep_signals, hsa_signal_t completion_signal) +{ + hsa_status_t status = HSA_STATUS_SUCCESS; + if (hsa_support::enabled) { + ::proxy::Tracker* tracker = &::proxy::Tracker::Instance(); + ::proxy::Tracker::entry_t* tracker_entry = tracker->Alloc(hsa_agent_t{}, completion_signal); + status = hsa_amd_memory_async_copy_fn(dst, dst_agent, src, + src_agent, size, num_dep_signals, + dep_signals, tracker_entry->signal); + if (status == HSA_STATUS_SUCCESS) { + tracker->EnableMemcopy(tracker_entry, hsa_async_copy_handler, reinterpret_cast(tracker_entry)); + } else { + tracker->Delete(tracker_entry); + } + } else { + status = hsa_amd_memory_async_copy_fn(dst, dst_agent, src, + src_agent, size, num_dep_signals, + dep_signals, completion_signal); + } + return status; +} + +hsa_status_t hsa_amd_memory_async_copy_rect_interceptor( + const hsa_pitched_ptr_t* dst, const hsa_dim3_t* dst_offset, const hsa_pitched_ptr_t* src, + const hsa_dim3_t* src_offset, const hsa_dim3_t* range, hsa_agent_t copy_agent, + hsa_amd_copy_direction_t dir, uint32_t num_dep_signals, const hsa_signal_t* dep_signals, + hsa_signal_t completion_signal) +{ + hsa_status_t status = HSA_STATUS_SUCCESS; + if (hsa_support::enabled) { + ::proxy::Tracker* tracker = &::proxy::Tracker::Instance(); + ::proxy::Tracker::entry_t* tracker_entry = tracker->Alloc(hsa_agent_t{}, completion_signal); + status = hsa_amd_memory_async_copy_rect_fn(dst, dst_offset, src, + src_offset, range, copy_agent, + dir, num_dep_signals, dep_signals, + tracker_entry->signal); + if (status == HSA_STATUS_SUCCESS) { + tracker->EnableMemcopy(tracker_entry, hsa_async_copy_handler, reinterpret_cast(tracker_entry)); + } else { + tracker->Delete(tracker_entry); + } + } else { + status = hsa_amd_memory_async_copy_rect_fn(dst, dst_offset, src, + src_offset, range, copy_agent, + dir, num_dep_signals, dep_signals, + completion_signal); + } + return status; +} + util::Logger::mutex_t util::Logger::mutex_; util::Logger* util::Logger::instance_ = NULL; MemoryPool* memory_pool = NULL; @@ -359,18 +434,11 @@ memory_pool_mutex_t memory_pool_mutex; Loader::mutex_t Loader::mutex_; HipLoader* HipLoader::instance_; HccLoader* HccLoader::instance_; +} -namespace hsa_support { -// callbacks table -cb_table_t cb_table; -// Table of function pointers to HSA Core Runtime -CoreApiTable CoreApiTable_saved{}; -// Table of function pointers to AMD extensions -AmdExtTable AmdExtTable_saved{}; -// Table of function pointers to HSA Image Extension -ImageExtTable ImageExtTable_saved{}; -} -} +proxy::Tracker* proxy::Tracker::instance_ = NULL; +proxy::Tracker::mutex_t proxy::Tracker::glob_mutex_; +proxy::Tracker::counter_t proxy::Tracker::counter_ = 0; /////////////////////////////////////////////////////////////////////////////////////////////////// // Public library methods @@ -507,9 +575,7 @@ static void roctracer_disable_callback_impl( uint32_t op) { switch (domain) { - case ACTIVITY_DOMAIN_HSA_API: { - break; - } + case ACTIVITY_DOMAIN_HSA_API: break; case ACTIVITY_DOMAIN_HCC_OPS: break; case ACTIVITY_DOMAIN_HIP_API: { hipError_t hip_err = roctracer::HipLoader::Instance().RemoveApiCallback(op); @@ -593,7 +659,10 @@ static void roctracer_enable_activity_impl( { if (pool == NULL) pool = roctracer_default_pool(); switch (domain) { - case ACTIVITY_DOMAIN_HSA_API: break; + case ACTIVITY_DOMAIN_HSA_API: { + roctracer::hsa_support::enabled = true; + break; + } case ACTIVITY_DOMAIN_HCC_OPS: { if (roctracer::HccLoader::GetRef() == NULL) { roctracer::HccLoader::Instance().InitActivityCallback((void*)roctracer::HCC_ActivityIdCallback, @@ -651,7 +720,10 @@ static void roctracer_disable_activity_impl( uint32_t op) { switch (domain) { - case ACTIVITY_DOMAIN_HSA_API: break; + case ACTIVITY_DOMAIN_HSA_API: { + roctracer::hsa_support::enabled = false; + break; + } case ACTIVITY_DOMAIN_HCC_OPS: { const bool succ = roctracer::HccLoader::Instance().EnableActivityCallback(op, false); if (succ == false) HCC_EXC_RAISING(ROCTRACER_STATUS_HCC_OPS_ERR, "HCC::EnableActivityCallback(NULL) error domain(" << domain << ") op(" << op << ")"); @@ -731,6 +803,14 @@ PUBLIC_API roctracer_status_t roctracer_set_properties( PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, uint64_t failed_tool_count, const char* const* failed_tool_names) { roctracer_set_properties(ACTIVITY_DOMAIN_HSA_API, (void*)table); + + hsa_status_t status = hsa_amd_profiling_async_copy_enable(true); + if (status != HSA_STATUS_SUCCESS) EXC_ABORT(status, "hsa_amd_profiling_async_copy_enable"); + roctracer::hsa_amd_memory_async_copy_fn = table->amd_ext_->hsa_amd_memory_async_copy_fn; + roctracer::hsa_amd_memory_async_copy_rect_fn = table->amd_ext_->hsa_amd_memory_async_copy_rect_fn; + table->amd_ext_->hsa_amd_memory_async_copy_fn = roctracer::hsa_amd_memory_async_copy_interceptor; + table->amd_ext_->hsa_amd_memory_async_copy_rect_fn = roctracer::hsa_amd_memory_async_copy_rect_interceptor; + return true; } diff --git a/src/util/hsa_rsrc_factory.cpp b/src/util/hsa_rsrc_factory.cpp index 6eba3c19d6..1d0f6c6d4f 100644 --- a/src/util/hsa_rsrc_factory.cpp +++ b/src/util/hsa_rsrc_factory.cpp @@ -1,24 +1,26 @@ -/* -Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. +/********************************************************************** +Copyright ©2013 Advanced Micro Devices, Inc. All rights reserved. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +Redistribution and use in source and binary forms, with or without modification, are permitted +provided that the following conditions are met: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +<95> Redistributions of source code must retain the above copyright notice, this list of +conditions and the following disclaimer. +<95> Redistributions in binary form must reproduce the above copyright notice, this list of +conditions and the following disclaimer in the documentation and/or + other materials provided with the distribution. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. -*/ +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR +IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT +SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY + DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS + OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +********************************************************************/ #include "util/hsa_rsrc_factory.h" @@ -31,6 +33,7 @@ THE SOFTWARE. #include #include #include +#include #include #include @@ -41,11 +44,9 @@ THE SOFTWARE. #include #include -#ifndef AQL_PROFILE_READ_API_ENABLE -#define AQL_PROFILE_READ_API_ENABLE 0 -#endif +#include "util/exception.h" +#include "util/logger.h" -namespace roctracer { namespace util { // Callback function to get available in the system agents @@ -66,8 +67,7 @@ hsa_status_t HsaRsrcFactory::GetHsaAgentsCallback(hsa_agent_t agent, void* data) // returned. HSA_STATUS_SUCCESS is returned if no errors were encountered, but // no pool was found meeting the requirements. If an error is encountered, we // return that error. -static hsa_status_t -FindGlobalPool(hsa_amd_memory_pool_t pool, void* data, bool kern_arg) { +static hsa_status_t FindGlobalPool(hsa_amd_memory_pool_t pool, void* data, bool kern_arg) { hsa_status_t err; hsa_amd_segment_t segment; uint32_t flag; @@ -76,21 +76,18 @@ FindGlobalPool(hsa_amd_memory_pool_t pool, void* data, bool kern_arg) { return HSA_STATUS_ERROR_INVALID_ARGUMENT; } - err = hsa_amd_memory_pool_get_info(pool, HSA_AMD_MEMORY_POOL_INFO_SEGMENT, - &segment); + err = hsa_amd_memory_pool_get_info(pool, HSA_AMD_MEMORY_POOL_INFO_SEGMENT, &segment); CHECK_STATUS("hsa_amd_memory_pool_get_info", err); if (HSA_AMD_SEGMENT_GLOBAL != segment) { return HSA_STATUS_SUCCESS; } - err = hsa_amd_memory_pool_get_info(pool, - HSA_AMD_MEMORY_POOL_INFO_GLOBAL_FLAGS, &flag); + err = hsa_amd_memory_pool_get_info(pool, HSA_AMD_MEMORY_POOL_INFO_GLOBAL_FLAGS, &flag); CHECK_STATUS("hsa_amd_memory_pool_get_info", err); uint32_t karg_st = flag & HSA_AMD_MEMORY_POOL_GLOBAL_FLAG_KERNARG_INIT; - if ((karg_st == 0 && kern_arg) || - (karg_st != 0 && !kern_arg)) { + if ((karg_st == 0 && kern_arg) || (karg_st != 0 && !kern_arg)) { return HSA_STATUS_SUCCESS; } @@ -111,59 +108,52 @@ hsa_status_t FindStandardPool(hsa_amd_memory_pool_t pool, void* data) { hsa_status_t FindKernArgPool(hsa_amd_memory_pool_t pool, void* data) { return FindGlobalPool(pool, data, true); } -#if 0 -// Callback function to find and bind kernarg region of an agent -hsa_status_t HsaRsrcFactory::FindMemRegionsCallback(hsa_region_t region, void* data) { - hsa_region_global_flag_t flags; - hsa_region_segment_t segment_id; - hsa_region_get_info(region, HSA_REGION_INFO_SEGMENT, &segment_id); - if (segment_id != HSA_REGION_SEGMENT_GLOBAL) { - return HSA_STATUS_SUCCESS; - } - - AgentInfo* agent_info = (AgentInfo*)data; - hsa_region_get_info(region, HSA_REGION_INFO_GLOBAL_FLAGS, &flags); - if (flags & HSA_REGION_GLOBAL_FLAG_COARSE_GRAINED) { - agent_info->coarse_region = region; - } - - if (flags & HSA_REGION_GLOBAL_FLAG_KERNARG) { - agent_info->kernarg_region = region; - } - - return HSA_STATUS_SUCCESS; -} -#endif // Constructor of the class HsaRsrcFactory::HsaRsrcFactory(bool initialize_hsa) : initialize_hsa_(initialize_hsa) { hsa_status_t status; + + cpu_pool_ = NULL; + kern_arg_pool_ = NULL; + // Initialize the Hsa Runtime if (initialize_hsa_) { status = hsa_init(); CHECK_STATUS("Error in hsa_init", status); } + // Discover the set of Gpu devices available on the platform status = hsa_iterate_agents(GetHsaAgentsCallback, this); CHECK_STATUS("Error Calling hsa_iterate_agents", status); + if (cpu_pool_ == NULL) CHECK_STATUS("CPU memory pool is not found", HSA_STATUS_ERROR); + if (kern_arg_pool_ == NULL) CHECK_STATUS("Kern-arg memory pool is not found", HSA_STATUS_ERROR); // Get AqlProfile API table aqlprofile_api_ = {0}; #ifdef ROCP_LD_AQLPROFILE status = LoadAqlProfileLib(&aqlprofile_api_); #else - status = hsa_system_get_extension_table(HSA_EXTENSION_AMD_AQLPROFILE, 1, 0, &aqlprofile_api_); + status = hsa_system_get_major_extension_table(HSA_EXTENSION_AMD_AQLPROFILE, hsa_ven_amd_aqlprofile_VERSION_MAJOR, sizeof(aqlprofile_api_), &aqlprofile_api_); #endif CHECK_STATUS("aqlprofile API table load failed", status); // Get Loader API table loader_api_ = {0}; - status = hsa_system_get_extension_table(HSA_EXTENSION_AMD_LOADER, 1, 0, &loader_api_); + status = hsa_system_get_major_extension_table(HSA_EXTENSION_AMD_LOADER, 1, sizeof(loader_api_), &loader_api_); CHECK_STATUS("loader API table query failed", status); + + // Instantiate HSA timer + timer_ = new HsaTimer; + CHECK_STATUS("HSA timer allocation failed", + (timer_ == NULL) ? HSA_STATUS_ERROR : HSA_STATUS_SUCCESS); + + // System timeout + timeout_ = (timeout_ns_ == HsaTimer::TIMESTAMP_MAX) ? timeout_ns_ : timer_->ns_to_sysclock(timeout_ns_); } // Destructor of the class HsaRsrcFactory::~HsaRsrcFactory() { + delete timer_; for (auto p : cpu_list_) delete p; for (auto p : gpu_list_) delete p; if (initialize_hsa_) { @@ -173,39 +163,35 @@ HsaRsrcFactory::~HsaRsrcFactory() { } hsa_status_t HsaRsrcFactory::LoadAqlProfileLib(aqlprofile_pfn_t* api) { - void* handle = dlopen(kAqlProfileLib, RTLD_NOW); - if (handle == NULL) { - fprintf(stderr, "Loading '%s' failed, %s\n", kAqlProfileLib, dlerror()); - return HSA_STATUS_ERROR; - } - dlerror(); /* Clear any existing error */ + void* handle = dlopen(kAqlProfileLib, RTLD_NOW); + if (handle == NULL) { + fprintf(stderr, "Loading '%s' failed, %s\n", kAqlProfileLib, dlerror()); + return HSA_STATUS_ERROR; + } + dlerror(); /* Clear any existing error */ - api->hsa_ven_amd_aqlprofile_error_string = - (decltype(::hsa_ven_amd_aqlprofile_error_string)*) - dlsym(handle, "hsa_ven_amd_aqlprofile_error_string"); - api->hsa_ven_amd_aqlprofile_validate_event = - (decltype(::hsa_ven_amd_aqlprofile_validate_event)*) - dlsym(handle, "hsa_ven_amd_aqlprofile_validate_event"); - api->hsa_ven_amd_aqlprofile_start = - (decltype(::hsa_ven_amd_aqlprofile_start)*) - dlsym(handle, "hsa_ven_amd_aqlprofile_start"); - api->hsa_ven_amd_aqlprofile_stop = - (decltype(::hsa_ven_amd_aqlprofile_stop)*) - dlsym(handle, "hsa_ven_amd_aqlprofile_stop"); -#if AQL_PROFILE_READ_API_ENABLE - api->hsa_ven_amd_aqlprofile_read = - (decltype(::hsa_ven_amd_aqlprofile_read)*) - dlsym(handle, "hsa_ven_amd_aqlprofile_read"); -#endif // AQL_PROFILE_READ_API_ENABLE - api->hsa_ven_amd_aqlprofile_legacy_get_pm4 = - (decltype(::hsa_ven_amd_aqlprofile_legacy_get_pm4)*) - dlsym(handle, "hsa_ven_amd_aqlprofile_legacy_get_pm4"); - api->hsa_ven_amd_aqlprofile_get_info = - (decltype(::hsa_ven_amd_aqlprofile_get_info)*) - dlsym(handle, "hsa_ven_amd_aqlprofile_get_info"); - api->hsa_ven_amd_aqlprofile_iterate_data = - (decltype(::hsa_ven_amd_aqlprofile_iterate_data)*) - dlsym(handle, "hsa_ven_amd_aqlprofile_iterate_data"); + api->hsa_ven_amd_aqlprofile_error_string = + (decltype(::hsa_ven_amd_aqlprofile_error_string)*)dlsym( + handle, "hsa_ven_amd_aqlprofile_error_string"); + api->hsa_ven_amd_aqlprofile_validate_event = + (decltype(::hsa_ven_amd_aqlprofile_validate_event)*)dlsym( + handle, "hsa_ven_amd_aqlprofile_validate_event"); + api->hsa_ven_amd_aqlprofile_start = + (decltype(::hsa_ven_amd_aqlprofile_start)*)dlsym(handle, "hsa_ven_amd_aqlprofile_start"); + api->hsa_ven_amd_aqlprofile_stop = + (decltype(::hsa_ven_amd_aqlprofile_stop)*)dlsym(handle, "hsa_ven_amd_aqlprofile_stop"); +#ifdef AQLPROF_NEW_API + api->hsa_ven_amd_aqlprofile_read = + (decltype(::hsa_ven_amd_aqlprofile_read)*)dlsym(handle, "hsa_ven_amd_aqlprofile_read"); +#endif + api->hsa_ven_amd_aqlprofile_legacy_get_pm4 = + (decltype(::hsa_ven_amd_aqlprofile_legacy_get_pm4)*)dlsym( + handle, "hsa_ven_amd_aqlprofile_legacy_get_pm4"); + api->hsa_ven_amd_aqlprofile_get_info = (decltype(::hsa_ven_amd_aqlprofile_get_info)*)dlsym( + handle, "hsa_ven_amd_aqlprofile_get_info"); + api->hsa_ven_amd_aqlprofile_iterate_data = + (decltype(::hsa_ven_amd_aqlprofile_iterate_data)*)dlsym( + handle, "hsa_ven_amd_aqlprofile_iterate_data"); return HSA_STATUS_SUCCESS; } @@ -227,9 +213,9 @@ const AgentInfo* HsaRsrcFactory::AddAgentInfo(const hsa_agent_t agent) { agent_info->dev_index = cpu_list_.size(); status = hsa_amd_agent_iterate_memory_pools(agent, FindStandardPool, &agent_info->cpu_pool); - CHECK_ITER_STATUS("hsa_amd_agent_iterate_memory_pools(cpu pool)", status); + if ((status == HSA_STATUS_INFO_BREAK) && (cpu_pool_ == NULL)) cpu_pool_ = &agent_info->cpu_pool; status = hsa_amd_agent_iterate_memory_pools(agent, FindKernArgPool, &agent_info->kern_arg_pool); - CHECK_ITER_STATUS("hsa_amd_agent_iterate_memory_pools(kern arg pool)", status); + if ((status == HSA_STATUS_INFO_BREAK) && (kern_arg_pool_ == NULL)) kern_arg_pool_ = &agent_info->kern_arg_pool; agent_info->gpu_pool = {}; cpu_list_.push_back(agent_info); @@ -247,23 +233,22 @@ const AgentInfo* HsaRsrcFactory::AddAgentInfo(const hsa_agent_t agent) { hsa_agent_get_info(agent, HSA_AGENT_INFO_QUEUE_MAX_SIZE, &agent_info->max_queue_size); hsa_agent_get_info(agent, HSA_AGENT_INFO_PROFILE, &agent_info->profile); agent_info->is_apu = (agent_info->profile == HSA_PROFILE_FULL) ? true : false; - hsa_agent_get_info(agent, static_cast(HSA_AMD_AGENT_INFO_COMPUTE_UNIT_COUNT), &agent_info->cu_num); - hsa_agent_get_info(agent, static_cast(HSA_AMD_AGENT_INFO_MAX_WAVES_PER_CU), &agent_info->waves_per_cu); - hsa_agent_get_info(agent, static_cast(HSA_AMD_AGENT_INFO_NUM_SIMDS_PER_CU), &agent_info->simds_per_cu); - hsa_agent_get_info(agent, static_cast(HSA_AMD_AGENT_INFO_NUM_SHADER_ENGINES), &agent_info->se_num); - hsa_agent_get_info(agent, static_cast(HSA_AMD_AGENT_INFO_NUM_SHADER_ARRAYS_PER_SE), &agent_info->shader_arrays_per_se); + hsa_agent_get_info(agent, static_cast(HSA_AMD_AGENT_INFO_COMPUTE_UNIT_COUNT), + &agent_info->cu_num); + hsa_agent_get_info(agent, static_cast(HSA_AMD_AGENT_INFO_MAX_WAVES_PER_CU), + &agent_info->waves_per_cu); + hsa_agent_get_info(agent, static_cast(HSA_AMD_AGENT_INFO_NUM_SIMDS_PER_CU), + &agent_info->simds_per_cu); + hsa_agent_get_info(agent, static_cast(HSA_AMD_AGENT_INFO_NUM_SHADER_ENGINES), + &agent_info->se_num); + hsa_agent_get_info(agent, + static_cast(HSA_AMD_AGENT_INFO_NUM_SHADER_ARRAYS_PER_SE), + &agent_info->shader_arrays_per_se); agent_info->cpu_pool = {}; agent_info->kern_arg_pool = {}; status = hsa_amd_agent_iterate_memory_pools(agent, FindStandardPool, &agent_info->gpu_pool); CHECK_ITER_STATUS("hsa_amd_agent_iterate_memory_pools(gpu pool)", status); -#if 0 - // Initialize memory regions to zero - agent_info->kernarg_region.handle = 0; - agent_info->coarse_region.handle = 0; - // Find and Bind Memory regions of the Gpu agent - hsa_agent_iterate_regions(agent, FindMemRegionsCallback, agent_info); -#endif // Set GPU index agent_info->dev_index = gpu_list_.size(); @@ -377,14 +362,8 @@ uint8_t* HsaRsrcFactory::AllocateLocalMemory(const AgentInfo* agent_info, size_t hsa_status_t status = HSA_STATUS_ERROR; uint8_t* buffer = NULL; size = (size + MEM_PAGE_MASK) & ~MEM_PAGE_MASK; - status = hsa_amd_memory_pool_allocate(agent_info->gpu_pool, size, 0, (void**)&buffer); - // Only GPU can access the memory - if (status == HSA_STATUS_SUCCESS) { - hsa_agent_t agents_list[1] = {agent_info->dev_id}; - status = hsa_amd_agents_allow_access(1, agents_list, NULL, buffer); - } + status = hsa_amd_memory_pool_allocate(agent_info->gpu_pool, size, 0, reinterpret_cast(&buffer)); uint8_t* ptr = (status == HSA_STATUS_SUCCESS) ? buffer : NULL; - printf("AllocateLocalMemory %p\n", ptr); return ptr; } @@ -398,16 +377,14 @@ uint8_t* HsaRsrcFactory::AllocateKernArgMemory(const AgentInfo* agent_info, size uint8_t* buffer = NULL; if (!cpu_agents_.empty()) { size = (size + MEM_PAGE_MASK) & ~MEM_PAGE_MASK; - status = hsa_amd_memory_pool_allocate(cpu_list_[0]->kern_arg_pool, size, 0, (void**)&buffer); + status = hsa_amd_memory_pool_allocate(*kern_arg_pool_, size, 0, reinterpret_cast(&buffer)); // Both the CPU and GPU can access the kernel arguments if (status == HSA_STATUS_SUCCESS) { - auto agents_vec = cpu_agents_; - agents_vec.push_back(agent_info->dev_id); - status = hsa_amd_agents_allow_access(agents_vec.size(), &agents_vec[0], NULL, buffer); + hsa_agent_t ag_list[1] = {agent_info->dev_id}; + status = hsa_amd_agents_allow_access(1, ag_list, NULL, buffer); } } uint8_t* ptr = (status == HSA_STATUS_SUCCESS) ? buffer : NULL; - printf("AllocateKernargMemory %p\n", ptr); return ptr; } @@ -418,41 +395,76 @@ uint8_t* HsaRsrcFactory::AllocateKernArgMemory(const AgentInfo* agent_info, size uint8_t* HsaRsrcFactory::AllocateSysMemory(const AgentInfo* agent_info, size_t size) { hsa_status_t status = HSA_STATUS_ERROR; uint8_t* buffer = NULL; + size = (size + MEM_PAGE_MASK) & ~MEM_PAGE_MASK; if (!cpu_agents_.empty()) { - size = (size + MEM_PAGE_MASK) & ~MEM_PAGE_MASK; - status = hsa_amd_memory_pool_allocate(cpu_list_[0]->cpu_pool, size, 0, (void**)&buffer); + status = hsa_amd_memory_pool_allocate(*cpu_pool_, size, 0, reinterpret_cast(&buffer)); // Both the CPU and GPU can access the memory if (status == HSA_STATUS_SUCCESS) { - auto agents_vec = cpu_agents_; - agents_vec.push_back(agent_info->dev_id); - status = hsa_amd_agents_allow_access(agents_vec.size(), &agents_vec[0], NULL, buffer); + hsa_agent_t ag_list[1] = {agent_info->dev_id}; + status = hsa_amd_agents_allow_access(1, ag_list, NULL, buffer); } } uint8_t* ptr = (status == HSA_STATUS_SUCCESS) ? buffer : NULL; - printf("AllocateSysMemory %p\n", ptr); return ptr; } +// Allocate memory for command buffer. +// @param agent_info Agent from whose memory region to allocate +// @param size Size of memory in terms of bytes +// @return uint8_t* Pointer to buffer, null if allocation fails. +uint8_t* HsaRsrcFactory::AllocateCmdMemory(const AgentInfo* agent_info, size_t size) { + size = (size + MEM_PAGE_MASK) & ~MEM_PAGE_MASK; + uint8_t* ptr = (agent_info->is_apu && CMD_MEMORY_MMAP) + ? reinterpret_cast( + mmap(NULL, size, PROT_READ | PROT_WRITE | PROT_EXEC, MAP_SHARED | MAP_ANONYMOUS, 0, 0)) + : AllocateSysMemory(agent_info, size); + return ptr; +} + +// Wait signal +void HsaRsrcFactory::SignalWait(const hsa_signal_t& signal) const { + while (1) { + const hsa_signal_value_t signal_value = + hsa_signal_wait_scacquire(signal, HSA_SIGNAL_CONDITION_LT, 1, timeout_, HSA_WAIT_STATE_BLOCKED); + if (signal_value == 0) { + break; + } else { + if (signal_value == 1) { WARN_LOGGING("signal waiting..."); } + else { EXC_RAISING(HSA_STATUS_ERROR, "hsa_signal_wait_scacquire (" << signal_value << ")"); } + } + } +} + +// Wait signal with signal value restore +void HsaRsrcFactory::SignalWaitRestore(const hsa_signal_t& signal, const hsa_signal_value_t& signal_value) const { + SignalWait(signal); + hsa_signal_store_relaxed(const_cast(signal), signal_value); +} + // Copy data from GPU to host memory -bool HsaRsrcFactory::CopyToHost(const hsa_agent_t& agent, void* dst, const void* src, size_t size) { +bool HsaRsrcFactory::Memcpy(const hsa_agent_t& agent, void* dst, const void* src, size_t size) { hsa_status_t status = HSA_STATUS_ERROR; if (!cpu_agents_.empty()) { hsa_signal_t s = {}; - hsa_status_t status = hsa_signal_create(1, 0, NULL, &s); - if (status == HSA_STATUS_SUCCESS) { - status = hsa_amd_memory_async_copy(dst, cpu_agents_[0], src, agent, size, 0, NULL, s); - if (status == HSA_STATUS_SUCCESS) { - if (hsa_signal_wait_scacquire(s, HSA_SIGNAL_CONDITION_LT, 1, UINT64_MAX, HSA_WAIT_STATE_BLOCKED) != 0) { - status = HSA_STATUS_ERROR; - } - } - status = hsa_signal_destroy(s); - } + status = hsa_signal_create(1, 0, NULL, &s); + CHECK_STATUS("hsa_signal_create()", status); + status = hsa_amd_memory_async_copy(dst, cpu_agents_[0], src, agent, size, 0, NULL, s); + CHECK_STATUS("hsa_amd_memory_async_copy()", status); + SignalWait(s); + status = hsa_signal_destroy(s); + CHECK_STATUS("hsa_signal_destroy()", status); } return (status == HSA_STATUS_SUCCESS); } -bool HsaRsrcFactory::CopyToHost(const AgentInfo* agent_info, void* dst, const void* src, size_t size) { - return CopyToHost(agent_info->dev_id, dst, src, size); +bool HsaRsrcFactory::Memcpy(const AgentInfo* agent_info, void* dst, const void* src, size_t size) { + return Memcpy(agent_info->dev_id, dst, src, size); +} + +// Memory free method +bool HsaRsrcFactory::FreeMemory(void* ptr) { + const hsa_status_t status = hsa_memory_free(ptr); + CHECK_STATUS("hsa_memory_free", status); + return (status == HSA_STATUS_SUCCESS); } // Loads an Assembled Brig file and Finalizes it into Device Isa @@ -463,7 +475,8 @@ bool HsaRsrcFactory::CopyToHost(const AgentInfo* agent_info, void* dst, const vo // be used to submit for execution // @return bool true if successful, false otherwise bool HsaRsrcFactory::LoadAndFinalize(const AgentInfo* agent_info, const char* brig_path, - const char* kernel_name, hsa_executable_t* executable, hsa_executable_symbol_t* code_desc) { + const char* kernel_name, hsa_executable_t* executable, + hsa_executable_symbol_t* code_desc) { hsa_status_t status = HSA_STATUS_ERROR; // Build the code object filename @@ -487,13 +500,13 @@ bool HsaRsrcFactory::LoadAndFinalize(const AgentInfo* agent_info, const char* br } // Create executable. - status = hsa_executable_create_alt(HSA_PROFILE_FULL, - HSA_DEFAULT_FLOAT_ROUNDING_MODE_DEFAULT, NULL, executable); + status = hsa_executable_create_alt(HSA_PROFILE_FULL, HSA_DEFAULT_FLOAT_ROUNDING_MODE_DEFAULT, + NULL, executable); CHECK_STATUS("Error in creating executable object", status); // Load code object. - status = hsa_executable_load_agent_code_object(*executable, agent_info->dev_id, - code_obj_rdr, NULL, NULL); + status = hsa_executable_load_agent_code_object(*executable, agent_info->dev_id, code_obj_rdr, + NULL, NULL); CHECK_STATUS("Error in loading executable object", status); // Freeze executable. @@ -513,6 +526,7 @@ bool HsaRsrcFactory::LoadAndFinalize(const AgentInfo* agent_info, const char* br // Print the various fields of Hsa Gpu Agents bool HsaRsrcFactory::PrintGpuAgents(const std::string& header) { + std::cout << std::flush; std::clog << header << " :" << std::endl; const AgentInfo* agent_info; @@ -526,7 +540,6 @@ bool HsaRsrcFactory::PrintGpuAgents(const std::string& header) { std::clog << ">> HSAIL profile : " << agent_info->profile << std::endl; std::clog << ">> Max Wave Size : " << agent_info->max_wave_size << std::endl; std::clog << ">> Max Queue Size : " << agent_info->max_queue_size << std::endl; -// std::clog << ">> Kernarg Region Id : " << agent_info->coarse_region.handle << std::endl; std::clog << ">> CU number : " << agent_info->cu_num << std::endl; std::clog << ">> Waves per CU : " << agent_info->waves_per_cu << std::endl; std::clog << ">> SIMDs per CU : " << agent_info->simds_per_cu << std::endl; @@ -536,8 +549,8 @@ bool HsaRsrcFactory::PrintGpuAgents(const std::string& header) { return true; } -uint64_t HsaRsrcFactory::Submit(hsa_queue_t* queue, void* packet) { - const uint32_t slot_size_b = 0x40; +uint64_t HsaRsrcFactory::Submit(hsa_queue_t* queue, const void* packet) { + const uint32_t slot_size_b = CMD_SLOT_SIZE_B; // adevance command queue const uint64_t write_idx = hsa_queue_load_write_index_relaxed(queue); @@ -547,14 +560,15 @@ uint64_t HsaRsrcFactory::Submit(hsa_queue_t* queue, void* packet) { } uint32_t slot_idx = (uint32_t)(write_idx % queue->size); - uint32_t* queue_slot = (uint32_t*)((uintptr_t)(queue->base_address) + (slot_idx * slot_size_b)); - uint32_t* slot_data = (uint32_t*)packet; + uint32_t* queue_slot = reinterpret_cast((uintptr_t)(queue->base_address) + (slot_idx * slot_size_b)); + const uint32_t* slot_data = reinterpret_cast(packet); // Copy buffered commands into the queue slot. // Overwrite the AQL invalid header (first dword) last. // This prevents the slot from being read until it's fully written. memcpy(&queue_slot[1], &slot_data[1], slot_size_b - sizeof(uint32_t)); - std::atomic* header_atomic_ptr = reinterpret_cast*>(&queue_slot[0]); + std::atomic* header_atomic_ptr = + reinterpret_cast*>(&queue_slot[0]); header_atomic_ptr->store(slot_data[0], std::memory_order_release); // ringdoor bell @@ -563,8 +577,25 @@ uint64_t HsaRsrcFactory::Submit(hsa_queue_t* queue, void* packet) { return write_idx; } +uint64_t HsaRsrcFactory::Submit(hsa_queue_t* queue, const void* packet, size_t size_bytes) { + const uint32_t slot_size_b = CMD_SLOT_SIZE_B; + if ((size_bytes & (slot_size_b - 1)) != 0) { + fprintf(stderr, "HsaRsrcFactory::Submit: Bad packet size %zx\n", size_bytes); + abort(); + } + + const char* begin = reinterpret_cast(packet); + const char* end = begin + size_bytes; + uint64_t write_idx = 0; + for (const char* ptr = begin; ptr < end; ptr += slot_size_b) { + write_idx = Submit(queue, ptr); + } + + return write_idx; +} + HsaRsrcFactory* HsaRsrcFactory::instance_ = NULL; HsaRsrcFactory::mutex_t HsaRsrcFactory::mutex_; +HsaRsrcFactory::timestamp_t HsaRsrcFactory::timeout_ns_ = HsaTimer::TIMESTAMP_MAX; } // namespace util -} // namespace roctracer diff --git a/src/util/hsa_rsrc_factory.h b/src/util/hsa_rsrc_factory.h index 845da985f2..8d8b914dc7 100644 --- a/src/util/hsa_rsrc_factory.h +++ b/src/util/hsa_rsrc_factory.h @@ -1,27 +1,29 @@ -/* -Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. +/********************************************************************** +Copyright ©2013 Advanced Micro Devices, Inc. All rights reserved. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +Redistribution and use in source and binary forms, with or without modification, are permitted +provided that the following conditions are met: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +<95> Redistributions of source code must retain the above copyright notice, this list of +conditions and the following disclaimer. +<95> Redistributions in binary form must reproduce the above copyright notice, this list of +conditions and the following disclaimer in the documentation and/or + other materials provided with the distribution. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. -*/ +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR +IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT +SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY + DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS + OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +********************************************************************/ -#ifndef _HSA_RSRC_FACTORY_H_ -#define _HSA_RSRC_FACTORY_H_ +#ifndef SRC_UTIL_HSA_RSRC_FACTORY_H_ +#define SRC_UTIL_HSA_RSRC_FACTORY_H_ #include #include @@ -43,26 +45,27 @@ THE SOFTWARE. #define HSA_QUEUE_ALIGN_BYTES 64 #define HSA_PACKET_ALIGN_BYTES 64 -#define CHECK_STATUS(msg, status) \ - if (status != HSA_STATUS_SUCCESS) { \ +#define CHECK_STATUS(msg, status) do { \ + if ((status) != HSA_STATUS_SUCCESS) { \ const char* emsg = 0; \ hsa_status_string(status, &emsg); \ printf("%s: %s\n", msg, emsg ? emsg : ""); \ - exit(1); \ - } + abort(); \ + } \ +} while (0) -#define CHECK_ITER_STATUS(msg, status) \ - if (status != HSA_STATUS_INFO_BREAK) { \ +#define CHECK_ITER_STATUS(msg, status) do { \ + if ((status) != HSA_STATUS_INFO_BREAK) { \ const char* emsg = 0; \ hsa_status_string(status, &emsg); \ printf("%s: %s\n", msg, emsg ? emsg : ""); \ - exit(1); \ - } + abort(); \ + } \ +} while (0) -namespace roctracer { namespace util { -static const unsigned MEM_PAGE_BYTES = 0x1000; -static const unsigned MEM_PAGE_MASK = MEM_PAGE_BYTES - 1; +static const size_t MEM_PAGE_BYTES = 0x1000; +static const size_t MEM_PAGE_MASK = MEM_PAGE_BYTES - 1; typedef decltype(hsa_agent_t::handle) hsa_agent_handle_t; // Encapsulates information about a Hsa Agent such as its @@ -94,13 +97,7 @@ struct AgentInfo { // Hsail profile supported by agent hsa_profile_t profile; -#if 0 - // Memory region supporting kernel parameters - hsa_region_t coarse_region; - // Memory region supporting kernel arguments - hsa_region_t kernarg_region; -#endif // CPU/GPU/kern-arg memory pools hsa_amd_memory_pool_t cpu_pool; hsa_amd_memory_pool_t gpu_pool; @@ -122,9 +119,47 @@ struct AgentInfo { uint32_t shader_arrays_per_se; }; +// HSA timer class +// Provides current HSA timestampa and system-clock/ns conversion API +class HsaTimer { + public: + typedef uint64_t timestamp_t; + static const timestamp_t TIMESTAMP_MAX = UINT64_MAX; + typedef long double freq_t; + + HsaTimer() { + timestamp_t sysclock_hz = 0; + hsa_status_t status = hsa_system_get_info(HSA_SYSTEM_INFO_TIMESTAMP_FREQUENCY, &sysclock_hz); + CHECK_STATUS("hsa_system_get_info(HSA_SYSTEM_INFO_TIMESTAMP_FREQUENCY)", status); + sysclock_factor_ = (freq_t)1000000000 / (freq_t)sysclock_hz; + } + + // Methods for system-clock/ns conversion + timestamp_t sysclock_to_ns(const timestamp_t& sysclock) const { + return timestamp_t((freq_t)sysclock * sysclock_factor_); + } + timestamp_t ns_to_sysclock(const timestamp_t& time) const { + return timestamp_t((freq_t)time / sysclock_factor_); + } + + // Return timestamp in 'ns' + timestamp_t timestamp_ns() const { + timestamp_t sysclock; + hsa_status_t status = hsa_system_get_info(HSA_SYSTEM_INFO_TIMESTAMP, &sysclock); + CHECK_STATUS("hsa_system_get_info(HSA_SYSTEM_INFO_TIMESTAMP)", status); + return sysclock_to_ns(sysclock); + } + + private: + // Timestamp frequency factor + freq_t sysclock_factor_; +}; + class HsaRsrcFactory { public: + static const size_t CMD_SLOT_SIZE_B = 0x40; typedef std::recursive_mutex mutex_t; + typedef HsaTimer::timestamp_t timestamp_t; static HsaRsrcFactory* Create(bool initialize_hsa = true) { std::lock_guard lck(mutex_); @@ -204,9 +239,24 @@ class HsaRsrcFactory { // @return uint8_t* Pointer to buffer, null if allocation fails. uint8_t* AllocateSysMemory(const AgentInfo* agent_info, size_t size); + // Allocate memory for command buffer. + // @param agent_info Agent from whose memory region to allocate + // @param size Size of memory in terms of bytes + // @return uint8_t* Pointer to buffer, null if allocation fails. + uint8_t* AllocateCmdMemory(const AgentInfo* agent_info, size_t size); + + // Wait signal + void SignalWait(const hsa_signal_t& signal) const; + + // Wait signal with signal value restore + void SignalWaitRestore(const hsa_signal_t& signal, const hsa_signal_value_t& signal_value) const; + // Copy data from GPU to host memory - bool CopyToHost(const hsa_agent_t& agent, void* dst, const void* src, size_t size); - bool CopyToHost(const AgentInfo* agent_info, void* dst, const void* src, size_t size); + bool Memcpy(const hsa_agent_t& agent, void* dst, const void* src, size_t size); + bool Memcpy(const AgentInfo* agent_info, void* dst, const void* src, size_t size); + + // Memory free method + static bool FreeMemory(void* ptr); // Loads an Assembled Brig file and Finalizes it into Device Isa // @param agent_info Gpu device for which to finalize @@ -216,21 +266,35 @@ class HsaRsrcFactory { // be used to submit for execution // @return true if successful, false otherwise bool LoadAndFinalize(const AgentInfo* agent_info, const char* brig_path, const char* kernel_name, - hsa_executable_t* hsa_exec, hsa_executable_symbol_t* code_desc); + hsa_executable_t* hsa_exec, hsa_executable_symbol_t* code_desc); // Print the various fields of Hsa Gpu Agents bool PrintGpuAgents(const std::string& header); // Submit AQL packet to given queue - static uint64_t Submit(hsa_queue_t* queue, void* packet); + static uint64_t Submit(hsa_queue_t* queue, const void* packet); + static uint64_t Submit(hsa_queue_t* queue, const void* packet, size_t size_bytes); // Return AqlProfile API table - typedef hsa_ven_amd_aqlprofile_1_00_pfn_t aqlprofile_pfn_t; + typedef hsa_ven_amd_aqlprofile_pfn_t aqlprofile_pfn_t; const aqlprofile_pfn_t* AqlProfileApi() const { return &aqlprofile_api_; } // Return Loader API table const hsa_ven_amd_loader_1_00_pfn_t* LoaderApi() const { return &loader_api_; } + // Methods for system-clock/ns conversion and timestamp in 'ns' + timestamp_t SysclockToNs(const timestamp_t& sysclock) const { return timer_->sysclock_to_ns(sysclock); } + timestamp_t NsToSysclock(const timestamp_t& time) const { return timer_->ns_to_sysclock(time); } + timestamp_t TimestampNs() const { return timer_->timestamp_ns(); } + + timestamp_t GetSysTimeout() const { return timeout_; } + static timestamp_t GetTimeoutNs() { return timeout_ns_; } + static void SetTimeoutNs(const timestamp_t& time) { + std::lock_guard lck(mutex_); + timeout_ns_ = time; + if (instance_ != NULL) instance_->timeout_ = instance_->timer_->ns_to_sysclock(time); + } + private: // System agents iterating callback static hsa_status_t GetHsaAgentsCallback(hsa_agent_t agent, void* data); @@ -243,17 +307,20 @@ class HsaRsrcFactory { // Constructor of the class. Will initialize the Hsa Runtime and // query the system topology to get the list of Cpu and Gpu devices - HsaRsrcFactory(bool initialize_hsa); + explicit HsaRsrcFactory(bool initialize_hsa); // Destructor of the class ~HsaRsrcFactory(); - // HSA was initialized - const bool initialize_hsa_; - // Add an instance of AgentInfo representing a Hsa Gpu agent const AgentInfo* AddAgentInfo(const hsa_agent_t agent); + // To mmap command buffer memory + static const bool CMD_MEMORY_MMAP = false; + + // HSA was initialized + const bool initialize_hsa_; + static HsaRsrcFactory* instance_; static mutex_t mutex_; @@ -273,9 +340,20 @@ class HsaRsrcFactory { // Loader API table hsa_ven_amd_loader_1_00_pfn_t loader_api_; + + // System timeout, ns + static timestamp_t timeout_ns_; + // System timeout, sysclock + timestamp_t timeout_; + + // HSA timer + HsaTimer* timer_; + + // CPU/kern-arg memory pools + hsa_amd_memory_pool_t *cpu_pool_; + hsa_amd_memory_pool_t *kern_arg_pool_; }; } // namespace util -} // namespace roctracer -#endif // _HSA_RSRC_FACTORY_H_ +#endif // SRC_UTIL_HSA_RSRC_FACTORY_H_ diff --git a/test/tool/tracer_tool.cpp b/test/tool/tracer_tool.cpp index c0ad578c00..d7d658451a 100644 --- a/test/tool/tracer_tool.cpp +++ b/test/tool/tracer_tool.cpp @@ -306,6 +306,7 @@ extern "C" PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, } else { ROCTRACER_CALL(roctracer_enable_domain_callback(ACTIVITY_DOMAIN_HSA_API, hsa_api_callback, NULL)); } + ROCTRACER_CALL(roctracer_enable_domain_activity(ACTIVITY_DOMAIN_HSA_API)); printf(")\n"); } From 0c7fd6494d04e366b8b344577540de12db4a0f63 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Tue, 22 Jan 2019 19:22:57 -0600 Subject: [PATCH 074/691] adding tracker --- src/proxy/tracker.h | 281 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 281 insertions(+) create mode 100644 src/proxy/tracker.h diff --git a/src/proxy/tracker.h b/src/proxy/tracker.h new file mode 100644 index 0000000000..69c71551cb --- /dev/null +++ b/src/proxy/tracker.h @@ -0,0 +1,281 @@ +/****************************************************************************** +Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +*******************************************************************************/ + +#ifndef SRC_CORE_TRACKER_H_ +#define SRC_CORE_TRACKER_H_ + +#include +#include +#include +#include + +#include +#include +#include + +#include "util/hsa_rsrc_factory.h" +#include "util/exception.h" +#include "util/logger.h" + +namespace proxy { +// Dispatch record +typedef struct { + uint64_t dispatch; // dispatch timestamp, ns + uint64_t begin; // kernel begin timestamp, ns + uint64_t end; // kernel end timestamp, ns + uint64_t complete; // completion signal timestamp, ns +} async_record_t; + +class Tracker { + public: + typedef std::mutex mutex_t; + typedef util::HsaRsrcFactory::timestamp_t timestamp_t; + typedef async_record_t record_t; + struct entry_t; + typedef std::list sig_list_t; + typedef sig_list_t::iterator sig_list_it_t; + typedef uint64_t counter_t; + + struct entry_t { + counter_t index; + std::atomic valid; + Tracker* tracker; + sig_list_t::iterator it; + hsa_agent_t agent; + hsa_signal_t orig; + hsa_signal_t signal; + record_t* record; + std::atomic handler; + void* arg; + bool is_memcopy; + }; + + static Tracker* Create() { + std::lock_guard lck(glob_mutex_); + if (instance_ == NULL) instance_ = new Tracker; + return instance_; + } + + static Tracker& Instance() { + if (instance_ == NULL) instance_ = Create(); + return *instance_; + } + + static void Destroy() { + std::lock_guard lck(glob_mutex_); + if (instance_ != NULL) delete instance_; + instance_ = NULL; + } + + // Add tracker entry + entry_t* Alloc(const hsa_agent_t& agent, const hsa_signal_t& orig) { + hsa_status_t status = HSA_STATUS_ERROR; + + // Creating a new tracker entry + entry_t* entry = new entry_t{}; + assert(entry); + entry->tracker = this; + entry->agent = agent; + entry->orig = orig; + + // Creating a record with the dispatch timestamps + record_t* record = new record_t{}; + assert(record); + record->dispatch = hsa_rsrc_->TimestampNs(); + entry->record = record; + + // Creating a proxy signal + status = hsa_signal_create(1, 0, NULL, &(entry->signal)); + if (status != HSA_STATUS_SUCCESS) EXC_RAISING(status, "hsa_signal_create"); + status = hsa_amd_signal_async_handler(entry->signal, HSA_SIGNAL_CONDITION_LT, 1, Handler, entry); + if (status != HSA_STATUS_SUCCESS) EXC_RAISING(status, "hsa_amd_signal_async_handler"); + + // Adding antry to the list + mutex_.lock(); + entry->it = sig_list_.insert(sig_list_.end(), entry); + entry->index = counter_++; + mutex_.unlock(); + + return entry; + } + + // Delete tracker entry + void Delete(entry_t* entry) { + hsa_signal_destroy(entry->signal); + mutex_.lock(); + sig_list_.erase(entry->it); + mutex_.unlock(); + delete entry; + } + + // Enable tracker entry + void Enable(entry_t* entry, void* handler, void* arg) { + // Set entry handler and release the entry + entry->arg = arg; + entry->handler.store(handler, std::memory_order_release); + + // Debug trace + if (trace_on_) { + auto outstanding = outstanding_.fetch_add(1); + fprintf(stdout, "Tracker::Add: entry %p, record %p, outst %lu\n", entry, entry->record, outstanding); + fflush(stdout); + } + } + + void EnableDispatch(entry_t* entry, hsa_amd_signal_handler handler, void* arg) { + entry->is_memcopy = false; + Enable(entry, reinterpret_cast(handler), arg); + } + void EnableMemcopy(entry_t* entry, hsa_amd_signal_handler handler, void* arg) { + entry->is_memcopy = true; + Enable(entry, reinterpret_cast(handler), arg); + } + + private: + Tracker() : + outstanding_(0), + hsa_rsrc_(&(util::HsaRsrcFactory::Instance())) + {} + + ~Tracker() { + auto it = sig_list_.begin(); + auto end = sig_list_.end(); + while (it != end) { + auto cur = it++; + hsa_rsrc_->SignalWait((*cur)->signal); + Erase(cur); + } + } + + // Delete an entry by iterator + void Erase(const sig_list_it_t& it) { Delete(*it); } + + // Entry completion + inline void Complete(hsa_signal_value_t signal_value, entry_t* entry) { + record_t* record = entry->record; + + // Debug trace + if (trace_on_) { + auto outstanding = outstanding_.fetch_sub(1); + fprintf(stdout, "Tracker::Handler: entry %p, record %p, outst %lu\n", entry, entry->record, outstanding); + fflush(stdout); + } + + // Query begin/end and complete timestamps + if (entry->is_memcopy) { + hsa_amd_profiling_async_copy_time_t async_copy_time{}; + hsa_status_t status = hsa_amd_profiling_get_async_copy_time(entry->signal, &async_copy_time); + if (status != HSA_STATUS_SUCCESS) EXC_RAISING(status, "hsa_amd_profiling_get_async_copy_time"); + record->begin = hsa_rsrc_->SysclockToNs(async_copy_time.start); + record->end = hsa_rsrc_->SysclockToNs(async_copy_time.end); + } else { + hsa_amd_profiling_dispatch_time_t dispatch_time{}; + hsa_status_t status = hsa_amd_profiling_get_dispatch_time(entry->agent, entry->signal, &dispatch_time); + if (status != HSA_STATUS_SUCCESS) EXC_RAISING(status, "hsa_amd_profiling_get_dispatch_time"); + record->begin = hsa_rsrc_->SysclockToNs(dispatch_time.start); + record->end = hsa_rsrc_->SysclockToNs(dispatch_time.end); + } + + record->complete = hsa_rsrc_->TimestampNs(); + entry->valid.store(true, std::memory_order_release); + + // Original intercepted signal completion + hsa_signal_t orig = entry->orig; + if (orig.handle) { + amd_signal_t* orig_signal_ptr = reinterpret_cast(orig.handle); + amd_signal_t* prof_signal_ptr = reinterpret_cast(entry->signal.handle); + orig_signal_ptr->start_ts = prof_signal_ptr->start_ts; + orig_signal_ptr->end_ts = prof_signal_ptr->end_ts; + + const hsa_signal_value_t new_value = hsa_signal_load_relaxed(orig) - 1; + if (signal_value != new_value) EXC_ABORT(HSA_STATUS_ERROR, "Tracker::Complete bad signal value"); + hsa_signal_store_screlease(orig, signal_value); + } + } + + inline static void HandleEntry(hsa_signal_value_t signal_value, entry_t* entry) { + // Call entry handler + void* handler = static_cast(entry->handler); + reinterpret_cast(handler)(signal_value, entry->arg); + // Delete tracker entry + entry->tracker->Delete(entry); + } + + // Handler for packet completion + static bool Handler(hsa_signal_value_t signal_value, void* arg) { + // Acquire entry + entry_t* entry = reinterpret_cast(arg); + volatile std::atomic* ptr = &entry->handler; + while (ptr->load(std::memory_order_acquire) == NULL) sched_yield(); + + // Complete entry + Tracker* tracker = entry->tracker; + tracker->Complete(signal_value, entry); + + if (ordering_enabled_ == false) { + HandleEntry(signal_value, entry); + } else { + // Acquire last entry + entry_t* back = tracker->sig_list_.back(); + volatile std::atomic* ptr = &back->handler; + while (ptr->load(std::memory_order_acquire) == NULL) sched_yield(); + + tracker->handler_mutex_.lock(); + sig_list_it_t it = tracker->sig_list_.begin(); + sig_list_it_t end = back->it; + while (it != end) { + entry = *(it++); + if (entry->valid.load(std::memory_order_acquire)) { + HandleEntry(signal_value, entry); + } else { + break; + } + } + tracker->handler_mutex_.unlock(); + } + + return false; + } + + // instance + static Tracker* instance_; + static mutex_t glob_mutex_; + static counter_t counter_; + + // Tracked signals list + sig_list_t sig_list_; + // Inter-thread synchronization + mutex_t mutex_; + mutex_t handler_mutex_; + // Outstanding dispatches + std::atomic outstanding_; + // HSA resources factory + util::HsaRsrcFactory* hsa_rsrc_; + // Handling ordering enabled + static const bool ordering_enabled_ = false; + // Enable tracing + static const bool trace_on_ = false; +}; + +} // namespace rocprofiler + +#endif // SRC_CORE_TRACKER_H_ From 89682898c1f989d348407a639566603a5085dde3 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Tue, 22 Jan 2019 20:36:57 -0600 Subject: [PATCH 075/691] async-copy trace output file --- build_proto.sh | 1 + src/core/roctracer.cpp | 35 ++++++++++++++++++++++++++++++++++- 2 files changed, 35 insertions(+), 1 deletion(-) diff --git a/build_proto.sh b/build_proto.sh index b9f4f14602..271e11b7a4 100755 --- a/build_proto.sh +++ b/build_proto.sh @@ -24,6 +24,7 @@ cmake \ $ROCTRACER_ROOT/inc/ext popd +make install make package exit 0 diff --git a/src/core/roctracer.cpp b/src/core/roctracer.cpp index da07bbd56e..95ad920981 100644 --- a/src/core/roctracer.cpp +++ b/src/core/roctracer.cpp @@ -28,6 +28,7 @@ THE SOFTWARE. #include #include +#include #include #include #include @@ -88,6 +89,13 @@ namespace roctracer { decltype(hsa_amd_memory_async_copy)* hsa_amd_memory_async_copy_fn; decltype(hsa_amd_memory_async_copy_rect)* hsa_amd_memory_async_copy_rect_fn; +// Profiling results output dir +const char* result_prefix = NULL; +// Global results file handle +FILE* result_file_handle = NULL; +// True if a result file is opened +bool result_file_opened = false; + namespace hsa_support { // callbacks table cb_table_t cb_table; @@ -368,7 +376,7 @@ void HCC_AsyncActivityCallback(uint32_t op_id, void* record, void* arg) { bool hsa_async_copy_handler(hsa_signal_value_t value, void* arg) { ::proxy::Tracker::entry_t* entry = reinterpret_cast<::proxy::Tracker::entry_t*>(arg); - printf("%lu:%lu async-copy%lu\n", entry->record->begin, entry->record->end, entry->index); + fprintf(result_file_handle, "%lu:%lu async-copy%lu\n", entry->record->begin, entry->record->end, entry->index); return false; } @@ -802,8 +810,33 @@ PUBLIC_API roctracer_status_t roctracer_set_properties( // HSA-runtime tool on-load method PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, uint64_t failed_tool_count, const char* const* failed_tool_names) { + // Output file + roctracer::result_prefix = getenv("ROCP_OUTPUT_DIR"); + if (roctracer::result_prefix != NULL) { + DIR* dir = opendir(roctracer::result_prefix); + if (dir == NULL) { + std::ostringstream errmsg; + errmsg << "ROCTracer: Cannot open output directory '" << roctracer::result_prefix << "'"; + perror(errmsg.str().c_str()); + abort(); + } + std::ostringstream oss; + oss << roctracer::result_prefix << "/trace_async_copy.txt"; + roctracer::result_file_handle = fopen(oss.str().c_str(), "w"); + if (roctracer::result_file_handle == NULL) { + std::ostringstream errmsg; + errmsg << "ROCTracer: fopen error, file '" << oss.str().c_str() << "'"; + perror(errmsg.str().c_str()); + abort(); + } + } else roctracer::result_file_handle = stdout; + + roctracer::result_file_opened = (roctracer::result_prefix != NULL) && (roctracer::result_file_handle != NULL); + + // initialize HSA tracing roctracer_set_properties(ACTIVITY_DOMAIN_HSA_API, (void*)table); + // enabled HSA async-copy tracing hsa_status_t status = hsa_amd_profiling_async_copy_enable(true); if (status != HSA_STATUS_SUCCESS) EXC_ABORT(status, "hsa_amd_profiling_async_copy_enable"); roctracer::hsa_amd_memory_async_copy_fn = table->amd_ext_->hsa_amd_memory_async_copy_fn; From 0f57d25151bf76a8735f6c1b620a61f4517120cc Mon Sep 17 00:00:00 2001 From: Evgeny Date: Wed, 23 Jan 2019 11:49:44 -0600 Subject: [PATCH 076/691] hsa.h include fix --- inc/ext/hsa_rt_utils.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/inc/ext/hsa_rt_utils.hpp b/inc/ext/hsa_rt_utils.hpp index 17cc6092a1..5a07a48981 100644 --- a/inc/ext/hsa_rt_utils.hpp +++ b/inc/ext/hsa_rt_utils.hpp @@ -23,7 +23,7 @@ THE SOFTWARE. #ifndef INC_ROCTRACER_HSA_RT_UTILS_HPP_ #define INC_ROCTRACER_HSA_RT_UTILS_HPP_ -#include +#include #include #include From f1a928cad17af81162adc104074edccae47f721c Mon Sep 17 00:00:00 2001 From: Evgeny Date: Wed, 23 Jan 2019 14:52:50 -0600 Subject: [PATCH 077/691] .pc pkgconfig installation --- inc/ext/CMakeLists.txt | 7 +++++++ inc/ext/DEBIAN/postinst | 24 ++++++++++++++++++++++++ inc/ext/DEBIAN/prerm | 18 ++++++++++++++++++ inc/ext/RPM/rpm_post | 6 ++++++ inc/ext/RPM/rpm_postun | 1 + 5 files changed, 56 insertions(+) create mode 100644 inc/ext/DEBIAN/postinst create mode 100644 inc/ext/DEBIAN/prerm create mode 100644 inc/ext/RPM/rpm_post create mode 100644 inc/ext/RPM/rpm_postun diff --git a/inc/ext/CMakeLists.txt b/inc/ext/CMakeLists.txt index 41e997904f..55274008ed 100644 --- a/inc/ext/CMakeLists.txt +++ b/inc/ext/CMakeLists.txt @@ -73,4 +73,11 @@ set ( CPACK_PACKAGE_CONTACT "Advanced Micro Devices Inc." ) set ( CPACK_PACKAGE_DESCRIPTION_SUMMARY "AMD ROCTRACER library" ) set ( CPACK_RESOURCE_FILE_LICENSE "${ROOT_DIR}/LICENSE" ) +## Debian package specific variables +set ( CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA "${CMAKE_CURRENT_SOURCE_DIR}/DEBIAN/postinst;${CMAKE_CURRENT_SOURCE_DIR}/DEBIAN/prerm" ) + +## RPM package specific variables +set ( CPACK_RPM_PRE_INSTALL_SCRIPT_FILE "${CMAKE_CURRENT_SOURCE_DIR}/RPM/rpm_post" ) +set ( CPACK_RPM_POST_UNINSTALL_SCRIPT_FILE "${CMAKE_CURRENT_SOURCE_DIR}/RPM/rpm_postun" ) + include ( CPack ) diff --git a/inc/ext/DEBIAN/postinst b/inc/ext/DEBIAN/postinst new file mode 100644 index 0000000000..a2293b1054 --- /dev/null +++ b/inc/ext/DEBIAN/postinst @@ -0,0 +1,24 @@ +#/bin/bash + +set -e + +do_pkgconfig() { + cat > /usr/lib/pkgconfig/roctracer-proto.pc << EOF +prefix=/opt/rocm/roctracer/include/ext +Name: roctracer-proto +Version: 1.0.0 +Description: roctracer protocol +EOF +} + +case "$1" in + configure) + do_pkgconfig + ;; + abort-upgrade|abort-remove|abort-deconfigure) + echo "$1" + ;; + *) + exit 0 + ;; +esac diff --git a/inc/ext/DEBIAN/prerm b/inc/ext/DEBIAN/prerm new file mode 100644 index 0000000000..3dbce5a8d1 --- /dev/null +++ b/inc/ext/DEBIAN/prerm @@ -0,0 +1,18 @@ +#!/bin/bash + +set -e + +rm_pkgconfig() { + rm -f /usr/lib/pkgconfig/roctracer-proto.pc +} + +case "$1" in + remove) + rm_pkgconfig + ;; + purge) + ;; + *) + exit 0 + ;; +esac diff --git a/inc/ext/RPM/rpm_post b/inc/ext/RPM/rpm_post new file mode 100644 index 0000000000..8a8269b5c1 --- /dev/null +++ b/inc/ext/RPM/rpm_post @@ -0,0 +1,6 @@ +cat > /usr/lib/pkgconfig/roctracer-proto.pc << EOF +prefix=/opt/rocm/roctracer/include/ext +Name: roctracer-proto +Version: 1.0.0 +Description: roctracer protocol +EOF diff --git a/inc/ext/RPM/rpm_postun b/inc/ext/RPM/rpm_postun new file mode 100644 index 0000000000..c8bb3ffedf --- /dev/null +++ b/inc/ext/RPM/rpm_postun @@ -0,0 +1 @@ +rm -f /usr/lib/pkgconfig/roctracer-proto.pc From fbe3612b5e86b6113b9e7a313e60c88258944ba8 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Wed, 23 Jan 2019 21:05:31 -0600 Subject: [PATCH 078/691] adding include dir for hsa/hsa.h --- build.sh | 18 +++++++++--------- cmake_modules/env.cmake | 13 ++++++++++--- src/CMakeLists.txt | 2 +- test/CMakeLists.txt | 2 +- 4 files changed, 21 insertions(+), 14 deletions(-) diff --git a/build.sh b/build.sh index 2b98eb2bc8..f8d46442b8 100755 --- a/build.sh +++ b/build.sh @@ -7,29 +7,29 @@ fatal() { exit 1 } -if [ -z "$ROCTRACER_ROOT" ]; then export ROCTRACER_ROOT=$PWD; fi -if [ -z "$BUILD_DIR" ] ; then export BUILD_DIR=$PWD; fi +if [ -z "$ROCTRACER_ROOT" ]; then ROCTRACER_ROOT=$PWD; fi +if [ -z "$BUILD_DIR" ] ; then BUILD_DIR=$PWD; fi if [ -z "$HIP_PATH" ] ; then export HIP_PATH="$ROCM_PATH/hip"; fi if [ -z "$HCC_HOME" ] ; then export HCC_HOME="$ROCM_PATH/hcc"; fi -if [ -z "$BUILD_TYPE" ] ; then export BUILD_TYPR="release"; fi -if [ -z "$PACKAGE_ROOT" ] ; then export PACKAGE_ROOT=$ROCM_PATH; fi -if [ -z "$PACKAGE_PREFIX" ] ; then export PACKAGE_PREFIX="$ROCM_PATH/$COMPONENT"; fi +if [ -z "$BUILD_TYPE" ] ; then BUILD_TYPE="release"; fi +if [ -z "$PACKAGE_ROOT" ] ; then PACKAGE_ROOT=$ROCM_PATH; fi +if [ -z "$PACKAGE_PREFIX" ] ; then PACKAGE_PREFIX="$ROCM_PATH/$COMPONENT"; fi +ROCTRACER_ROOT=$(cd $ROCTRACER_ROOT && echo $PWD) MAKE_OPTS="-j 8 -C $BUILD_DIR" mkdir -p $BUILD_DIR pushd $BUILD_DIR + cmake \ -DCMAKE_MODULE_PATH=$ROCTRACER_ROOT/cmake_modules \ -DCMAKE_BUILD_TYPE=$BUILD_TYPE \ - -DCMAKE_PREFIX_PATH="$PACKAGE_ROOT/hsa/include/hsa;$PACKAGE_ROOT/hsa/lib;$PACKAGE_ROOT/libhsakmt/lib" \ + -DCMAKE_PREFIX_PATH="$PACKAGE_ROOT" \ -DCMAKE_INSTALL_PREFIX=$PACKAGE_ROOT \ -DCPACK_PACKAGING_INSTALL_PREFIX=$PACKAGE_PREFIX \ -DCPACK_GENERATOR="DEB;RPM" \ $ROCTRACER_ROOT -popd - -make $MAKE_OPTS +make make mytest make package diff --git a/cmake_modules/env.cmake b/cmake_modules/env.cmake index d5a91eff7e..b1966e07cd 100644 --- a/cmake_modules/env.cmake +++ b/cmake_modules/env.cmake @@ -90,13 +90,19 @@ endif () ## Find hsa-runtime headers/lib find_file ( HSA_RUNTIME_INC "hsa.h" ) -if ( "${HSA_RUNTIME_INC_PATH}" STREQUAL "" ) - find_file ( HSA_RUNTIME_INC "hsa/hsa.h" ) -endif() +find_file ( HSA_RUNTIME_HSA_INC "hsa/hsa.h" ) find_library ( HSA_RUNTIME_LIB "libhsa-runtime${NBIT}.so" ) get_filename_component ( HSA_RUNTIME_INC_PATH ${HSA_RUNTIME_INC} DIRECTORY ) +get_filename_component ( HSA_RUNTIME_HSA_INC_PATH ${HSA_RUNTIME_HSA_INC} DIRECTORY ) get_filename_component ( HSA_RUNTIME_LIB_PATH ${HSA_RUNTIME_LIB} DIRECTORY ) +if ( "${HSA_RUNTIME_INC_PATH}" STREQUAL "" ) + set ( HSA_RUNTIME_INC_PATH ${HSA_RUNTIME_HSA_INC_PATH} ) +endif () +if ( NOT "${HSA_RUNTIME_HSA_INC_PATH}" STREQUAL "" ) + set ( HSA_RUNTIME_HSA_INC_PATH ${HSA_RUNTIME_HSA_INC_PATH}/.. ) +endif () + find_library ( HSA_KMT_LIB "libhsakmt.so" ) get_filename_component ( HSA_KMT_LIB_PATH ${HSA_KMT_LIB} DIRECTORY ) @@ -106,6 +112,7 @@ message ( "-----------BuildType: ${CMAKE_BUILD_TYPE}" ) message ( "------------Compiler: ${CMAKE_CXX_COMPILER}" ) message ( "----Compiler-Version: ${CMAKE_CXX_COMPILER_VERSION}" ) message ( "-----HSA-Runtime-Inc: ${HSA_RUNTIME_INC_PATH}" ) +message ( "-HSA-Runtime-HSA-Inc: ${HSA_RUNTIME_HSA_INC_PATH}" ) message ( "-----HSA-Runtime-Lib: ${HSA_RUNTIME_LIB_PATH}" ) message ( "-------------HCC-Inc: ${HCC_INC_DIR}" ) message ( "-------------HIP-Inc: ${HIP_INC_DIR}" ) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 2650dc35fe..2ac70bb6a8 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -7,6 +7,6 @@ set ( LIB_SRC ${LIB_DIR}/util/hsa_rsrc_factory.cpp ) add_library ( ${TARGET_LIB} SHARED ${LIB_SRC} ) -target_include_directories ( ${TARGET_LIB} PRIVATE ${LIB_DIR} ${ROOT_DIR} ${ROOT_DIR}/inc ${HSA_RUNTIME_INC_PATH} ${HIP_INC_DIR} ${HCC_INC_DIR} ) +target_include_directories ( ${TARGET_LIB} PRIVATE ${LIB_DIR} ${ROOT_DIR} ${ROOT_DIR}/inc ${HSA_RUNTIME_INC_PATH} ${HSA_RUNTIME_HSA_INC_PATH} ${HIP_INC_DIR} ${HCC_INC_DIR} ) target_link_libraries( ${TARGET_LIB} PRIVATE ${HSA_RUNTIME_LIB} c stdc++ ) execute_process ( COMMAND sh -xc "${ROOT_DIR}/script/hsaap.py ${ROOT_DIR} ${HSA_RUNTIME_INC_PATH}" ) diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index ef74c04466..d0bc7220c7 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -44,7 +44,7 @@ file( GLOB UTIL_SRC "${HSA_TEST_DIR}/util/*.cpp" ) set ( TEST_LIB "tracer_tool" ) set ( TEST_LIB_SRC ${TEST_DIR}/tool/tracer_tool.cpp ${UTIL_SRC} ) add_library ( ${TEST_LIB} SHARED ${TEST_LIB_SRC} ) -target_include_directories ( ${TEST_LIB} PRIVATE ${HSA_TEST_DIR} ${ROOT_DIR} ${HSA_RUNTIME_INC_PATH} ${HIP_INC_DIR} ${HCC_INC_DIR} ) +target_include_directories ( ${TEST_LIB} PRIVATE ${HSA_TEST_DIR} ${ROOT_DIR} ${HSA_RUNTIME_INC_PATH} ${HSA_RUNTIME_HSA_INC_PATH} ${HIP_INC_DIR} ${HCC_INC_DIR} ) target_link_libraries ( ${TEST_LIB} ${ROCTRACER_TARGET} ${HSA_RUNTIME_LIB} c stdc++ dl pthread rt ) ## Build HSA test From 3ee614931a89d5839459016a1850e2a4159c8ba0 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Wed, 23 Jan 2019 21:25:14 -0600 Subject: [PATCH 079/691] pkgconfig_install make target --- inc/ext/CMakeLists.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/inc/ext/CMakeLists.txt b/inc/ext/CMakeLists.txt index 55274008ed..5882b7867b 100644 --- a/inc/ext/CMakeLists.txt +++ b/inc/ext/CMakeLists.txt @@ -58,6 +58,8 @@ set ( BUILD_VERSION_STRING "${BUILD_VERSION_MAJOR}.${BUILD_VERSION_MINOR}.${BUIL set ( CMAKE_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX}/${ROCTRACER_NAME} ) message ( "---------Install-Dir: ${CMAKE_INSTALL_PREFIX}" ) +add_custom_target( pkgconfig_install COMMAND sh -x "${CMAKE_CURRENT_SOURCE_DIR}/RPM/rpm_post" ) + ## Install information install ( FILES ${ROOT_DIR}/inc/ext/prof_protocol.h DESTINATION include/ext ) install ( FILES ${ROOT_DIR}/inc/ext/hsa_rt_utils.hpp DESTINATION include/ext ) From 1eca2a2e21f7ca7fc28aa916e8e47b0b2787286b Mon Sep 17 00:00:00 2001 From: Evgeny Date: Wed, 23 Jan 2019 21:32:14 -0600 Subject: [PATCH 080/691] build/install scripts fixes --- build_proto.sh | 1 - inc/ext/DEBIAN/postinst | 1 + inc/ext/RPM/rpm_post | 1 + 3 files changed, 2 insertions(+), 1 deletion(-) diff --git a/build_proto.sh b/build_proto.sh index 271e11b7a4..b9f4f14602 100755 --- a/build_proto.sh +++ b/build_proto.sh @@ -24,7 +24,6 @@ cmake \ $ROCTRACER_ROOT/inc/ext popd -make install make package exit 0 diff --git a/inc/ext/DEBIAN/postinst b/inc/ext/DEBIAN/postinst index a2293b1054..a92e2bbd2a 100644 --- a/inc/ext/DEBIAN/postinst +++ b/inc/ext/DEBIAN/postinst @@ -3,6 +3,7 @@ set -e do_pkgconfig() { + if [ ! -d /usr/lib/pkgconfig ] ; then mkdir -p /usr/lib/pkgconfig; fi cat > /usr/lib/pkgconfig/roctracer-proto.pc << EOF prefix=/opt/rocm/roctracer/include/ext Name: roctracer-proto diff --git a/inc/ext/RPM/rpm_post b/inc/ext/RPM/rpm_post index 8a8269b5c1..7eb7baeaaf 100644 --- a/inc/ext/RPM/rpm_post +++ b/inc/ext/RPM/rpm_post @@ -1,3 +1,4 @@ +if [ ! -d /usr/lib/pkgconfig ] ; then mkdir -p /usr/lib/pkgconfig; fi cat > /usr/lib/pkgconfig/roctracer-proto.pc << EOF prefix=/opt/rocm/roctracer/include/ext Name: roctracer-proto From 554543c98a898468063fc84d2db33db1c9b52337 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Fri, 25 Jan 2019 13:39:33 -0600 Subject: [PATCH 081/691] pkgconfig fix --- inc/ext/DEBIAN/postinst | 4 +++- inc/ext/RPM/rpm_post | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/inc/ext/DEBIAN/postinst b/inc/ext/DEBIAN/postinst index a92e2bbd2a..e12d16d256 100644 --- a/inc/ext/DEBIAN/postinst +++ b/inc/ext/DEBIAN/postinst @@ -5,7 +5,9 @@ set -e do_pkgconfig() { if [ ! -d /usr/lib/pkgconfig ] ; then mkdir -p /usr/lib/pkgconfig; fi cat > /usr/lib/pkgconfig/roctracer-proto.pc << EOF -prefix=/opt/rocm/roctracer/include/ext +prefix=/opt/rocm/roctracer +includedir=${prefix}/include/ext + Name: roctracer-proto Version: 1.0.0 Description: roctracer protocol diff --git a/inc/ext/RPM/rpm_post b/inc/ext/RPM/rpm_post index 7eb7baeaaf..d9801d240b 100644 --- a/inc/ext/RPM/rpm_post +++ b/inc/ext/RPM/rpm_post @@ -1,6 +1,8 @@ if [ ! -d /usr/lib/pkgconfig ] ; then mkdir -p /usr/lib/pkgconfig; fi cat > /usr/lib/pkgconfig/roctracer-proto.pc << EOF -prefix=/opt/rocm/roctracer/include/ext +prefix=/opt/rocm/roctracer +includedir=${prefix}/include/ext + Name: roctracer-proto Version: 1.0.0 Description: roctracer protocol From 60cd7e5ad52a4ad84b51cb0899047a3b6ff82271 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Fri, 25 Jan 2019 16:00:54 -0600 Subject: [PATCH 082/691] pkgconfig fix --- inc/ext/DEBIAN/postinst | 3 ++- inc/ext/RPM/rpm_post | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/inc/ext/DEBIAN/postinst b/inc/ext/DEBIAN/postinst index e12d16d256..40b00bca2b 100644 --- a/inc/ext/DEBIAN/postinst +++ b/inc/ext/DEBIAN/postinst @@ -6,11 +6,12 @@ do_pkgconfig() { if [ ! -d /usr/lib/pkgconfig ] ; then mkdir -p /usr/lib/pkgconfig; fi cat > /usr/lib/pkgconfig/roctracer-proto.pc << EOF prefix=/opt/rocm/roctracer -includedir=${prefix}/include/ext +includedir=${prefix}/include Name: roctracer-proto Version: 1.0.0 Description: roctracer protocol +Cflags: -I${includedir}/ext EOF } diff --git a/inc/ext/RPM/rpm_post b/inc/ext/RPM/rpm_post index d9801d240b..98d41c0b01 100644 --- a/inc/ext/RPM/rpm_post +++ b/inc/ext/RPM/rpm_post @@ -1,9 +1,10 @@ if [ ! -d /usr/lib/pkgconfig ] ; then mkdir -p /usr/lib/pkgconfig; fi cat > /usr/lib/pkgconfig/roctracer-proto.pc << EOF prefix=/opt/rocm/roctracer -includedir=${prefix}/include/ext +includedir=${prefix}/include Name: roctracer-proto Version: 1.0.0 Description: roctracer protocol +Cflags: -I${includedir}/ext EOF From a4f18cd0de72576c7d3a7cecba07192cf5773146 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Fri, 25 Jan 2019 16:09:05 -0600 Subject: [PATCH 083/691] roctracer-proto pkgconfig includedir fix --- inc/ext/DEBIAN/postinst | 4 ++-- inc/ext/RPM/rpm_post | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/inc/ext/DEBIAN/postinst b/inc/ext/DEBIAN/postinst index 40b00bca2b..f932f496ac 100644 --- a/inc/ext/DEBIAN/postinst +++ b/inc/ext/DEBIAN/postinst @@ -6,12 +6,12 @@ do_pkgconfig() { if [ ! -d /usr/lib/pkgconfig ] ; then mkdir -p /usr/lib/pkgconfig; fi cat > /usr/lib/pkgconfig/roctracer-proto.pc << EOF prefix=/opt/rocm/roctracer -includedir=${prefix}/include +includedir=${prefix}/include/ext Name: roctracer-proto Version: 1.0.0 Description: roctracer protocol -Cflags: -I${includedir}/ext +Cflags: -I${includedir} EOF } diff --git a/inc/ext/RPM/rpm_post b/inc/ext/RPM/rpm_post index 98d41c0b01..ca6358605b 100644 --- a/inc/ext/RPM/rpm_post +++ b/inc/ext/RPM/rpm_post @@ -1,10 +1,10 @@ if [ ! -d /usr/lib/pkgconfig ] ; then mkdir -p /usr/lib/pkgconfig; fi cat > /usr/lib/pkgconfig/roctracer-proto.pc << EOF prefix=/opt/rocm/roctracer -includedir=${prefix}/include +includedir=${prefix}/include/ext Name: roctracer-proto Version: 1.0.0 Description: roctracer protocol -Cflags: -I${includedir}/ext +Cflags: -I${includedir} EOF From 9fa69d31c2b78e55032d44e12c6eb25c7d02359b Mon Sep 17 00:00:00 2001 From: Evgeny Date: Sun, 27 Jan 2019 11:33:04 -0600 Subject: [PATCH 084/691] hsa activity tool api --- inc/ext/prof_protocol.h | 7 ++- inc/roctracer_hsa.h | 14 ++++- src/core/roctracer.cpp | 80 ++++++++++++-------------- test/tool/tracer_tool.cpp | 115 +++++++++++++++++++++++++------------- 4 files changed, 128 insertions(+), 88 deletions(-) diff --git a/inc/ext/prof_protocol.h b/inc/ext/prof_protocol.h index 65cf616b92..14bc81cb23 100644 --- a/inc/ext/prof_protocol.h +++ b/inc/ext/prof_protocol.h @@ -26,9 +26,10 @@ THE SOFTWARE. // Traced API domains typedef enum { ACTIVITY_DOMAIN_HSA_API = 0, // HSA domain - ACTIVITY_DOMAIN_HCC_OPS = 1, // HCC domain - ACTIVITY_DOMAIN_HIP_API = 2, // HIP domain - ACTIVITY_DOMAIN_NUMBER = 3 + ACTIVITY_DOMAIN_HSA_OPS = 1, // HSA AYNC domain + ACTIVITY_DOMAIN_HCC_OPS = 2, // HCC domain + ACTIVITY_DOMAIN_HIP_API = 3, // HIP domain + ACTIVITY_DOMAIN_NUMBER = 4 } activity_domain_t; // API calback type diff --git a/inc/roctracer_hsa.h b/inc/roctracer_hsa.h index 7eb2c5b92c..de4f1f9d1c 100644 --- a/inc/roctracer_hsa.h +++ b/inc/roctracer_hsa.h @@ -34,6 +34,10 @@ THE SOFTWARE. namespace roctracer { namespace hsa_support { +enum { + HSA_OP_ID_async_copy = 0 +}; + template class CbTable { public: @@ -68,8 +72,16 @@ class CbTable { extern CoreApiTable CoreApiTable_saved; extern AmdExtTable AmdExtTable_saved; extern ImageExtTable ImageExtTable_saved; + +struct ops_properties_t { + activity_async_callback_t async_copy_callback_fun; + void* async_copy_callback_arg; }; -}; + +}; // namespace hsa_support + +typedef hsa_support::ops_properties_t hsa_ops_properties_t; +}; // namespace roctracer inline std::ostream& operator<< (std::ostream& out, const hsa_callback_data_t& v) { out << ""; return out; } inline std::ostream& operator<< (std::ostream &out, const hsa_signal_t& v) { out << "" << std::dec; return out; } diff --git a/src/core/roctracer.cpp b/src/core/roctracer.cpp index 95ad920981..bba7b1b69c 100644 --- a/src/core/roctracer.cpp +++ b/src/core/roctracer.cpp @@ -89,18 +89,13 @@ namespace roctracer { decltype(hsa_amd_memory_async_copy)* hsa_amd_memory_async_copy_fn; decltype(hsa_amd_memory_async_copy_rect)* hsa_amd_memory_async_copy_rect_fn; -// Profiling results output dir -const char* result_prefix = NULL; -// Global results file handle -FILE* result_file_handle = NULL; -// True if a result file is opened -bool result_file_opened = false; - namespace hsa_support { // callbacks table cb_table_t cb_table; -// activity enabled -bool enabled = false;; +// asyc copy activity callback +activity_async_callback_t async_copy_callback_fun = NULL; +void* async_copy_callback_arg = NULL; +bool async_copy_callback_enabled = false; // Table of function pointers to HSA Core Runtime CoreApiTable CoreApiTable_saved{}; // Table of function pointers to AMD extensions @@ -376,7 +371,15 @@ void HCC_AsyncActivityCallback(uint32_t op_id, void* record, void* arg) { bool hsa_async_copy_handler(hsa_signal_value_t value, void* arg) { ::proxy::Tracker::entry_t* entry = reinterpret_cast<::proxy::Tracker::entry_t*>(arg); - fprintf(result_file_handle, "%lu:%lu async-copy%lu\n", entry->record->begin, entry->record->end, entry->index); + + activity_record_t record{}; + record.domain = ACTIVITY_DOMAIN_HSA_OPS; // activity domain id + record.correlation_id = entry->index; // activity ID + record.begin_ns = entry->record->begin; // host begin timestamp + record.end_ns = entry->record->end; // host end timestamp + record.device_id = 0; // device id + + hsa_support::async_copy_callback_fun(hsa_support::HSA_OP_ID_async_copy, &record, hsa_support::async_copy_callback_arg); return false; } @@ -386,7 +389,7 @@ hsa_status_t hsa_amd_memory_async_copy_interceptor( const hsa_signal_t* dep_signals, hsa_signal_t completion_signal) { hsa_status_t status = HSA_STATUS_SUCCESS; - if (hsa_support::enabled) { + if (hsa_support::async_copy_callback_enabled) { ::proxy::Tracker* tracker = &::proxy::Tracker::Instance(); ::proxy::Tracker::entry_t* tracker_entry = tracker->Alloc(hsa_agent_t{}, completion_signal); status = hsa_amd_memory_async_copy_fn(dst, dst_agent, src, @@ -412,7 +415,7 @@ hsa_status_t hsa_amd_memory_async_copy_rect_interceptor( hsa_signal_t completion_signal) { hsa_status_t status = HSA_STATUS_SUCCESS; - if (hsa_support::enabled) { + if (hsa_support::async_copy_callback_enabled) { ::proxy::Tracker* tracker = &::proxy::Tracker::Instance(); ::proxy::Tracker::entry_t* tracker_entry = tracker->Alloc(hsa_agent_t{}, completion_signal); status = hsa_amd_memory_async_copy_rect_fn(dst, dst_offset, src, @@ -511,9 +514,10 @@ PUBLIC_API roctracer_status_t roctracer_op_code( static inline uint32_t get_op_num(const uint32_t& domain) { switch (domain) { + case ACTIVITY_DOMAIN_HSA_OPS: return 1; + case ACTIVITY_DOMAIN_HSA_API: return HSA_API_ID_NUMBER; case ACTIVITY_DOMAIN_HCC_OPS: return hc::HSA_OP_ID_NUMBER; case ACTIVITY_DOMAIN_HIP_API: return HIP_API_ID_NUMBER; - case ACTIVITY_DOMAIN_HSA_API: return HSA_API_ID_NUMBER; default: EXC_RAISING(ROCTRACER_STATUS_BAD_DOMAIN, "invalid domain ID(" << domain << ")"); } @@ -528,6 +532,7 @@ static void roctracer_enable_callback_impl( void* user_data) { switch (domain) { + case ACTIVITY_DOMAIN_HSA_OPS: break; case ACTIVITY_DOMAIN_HSA_API: { roctracer::hsa_support::cb_table.set(op, callback, user_data); break; @@ -583,6 +588,7 @@ static void roctracer_disable_callback_impl( uint32_t op) { switch (domain) { + case ACTIVITY_DOMAIN_HSA_OPS: break; case ACTIVITY_DOMAIN_HSA_API: break; case ACTIVITY_DOMAIN_HCC_OPS: break; case ACTIVITY_DOMAIN_HIP_API: { @@ -667,10 +673,11 @@ static void roctracer_enable_activity_impl( { if (pool == NULL) pool = roctracer_default_pool(); switch (domain) { - case ACTIVITY_DOMAIN_HSA_API: { - roctracer::hsa_support::enabled = true; + case ACTIVITY_DOMAIN_HSA_OPS: { + roctracer::hsa_support::async_copy_callback_enabled = true; break; } + case ACTIVITY_DOMAIN_HSA_API: break; case ACTIVITY_DOMAIN_HCC_OPS: { if (roctracer::HccLoader::GetRef() == NULL) { roctracer::HccLoader::Instance().InitActivityCallback((void*)roctracer::HCC_ActivityIdCallback, @@ -728,10 +735,11 @@ static void roctracer_disable_activity_impl( uint32_t op) { switch (domain) { - case ACTIVITY_DOMAIN_HSA_API: { - roctracer::hsa_support::enabled = false; + case ACTIVITY_DOMAIN_HSA_OPS: { + roctracer::hsa_support::async_copy_callback_enabled = false; break; } + case ACTIVITY_DOMAIN_HSA_API: break; case ACTIVITY_DOMAIN_HCC_OPS: { const bool succ = roctracer::HccLoader::Instance().EnableActivityCallback(op, false); if (succ == false) HCC_EXC_RAISING(ROCTRACER_STATUS_HCC_OPS_ERR, "HCC::EnableActivityCallback(NULL) error domain(" << domain << ") op(" << op << ")"); @@ -787,12 +795,20 @@ PUBLIC_API roctracer_status_t roctracer_flush_activity(roctracer_pool_t* pool) { // Set properties PUBLIC_API roctracer_status_t roctracer_set_properties( roctracer_domain_t domain, - void* propertes) + void* properties) { API_METHOD_PREFIX switch (domain) { + case ACTIVITY_DOMAIN_HSA_OPS: { + // HSA OPS properties + roctracer::hsa_ops_properties_t* ops_properties = reinterpret_cast(properties); + roctracer::hsa_support::async_copy_callback_fun = ops_properties->async_copy_callback_fun; + roctracer::hsa_support::async_copy_callback_arg = ops_properties->async_copy_callback_arg; + break; + } case ACTIVITY_DOMAIN_HSA_API: { - HsaApiTable* table = reinterpret_cast(propertes); + // HSA API properties + HsaApiTable* table = reinterpret_cast(properties); roctracer::hsa_support::intercept_CoreApiTable(table->core_); roctracer::hsa_support::intercept_AmdExtTable(table->amd_ext_); roctracer::hsa_support::intercept_ImageExtTable(table->image_ext_); @@ -810,32 +826,6 @@ PUBLIC_API roctracer_status_t roctracer_set_properties( // HSA-runtime tool on-load method PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, uint64_t failed_tool_count, const char* const* failed_tool_names) { - // Output file - roctracer::result_prefix = getenv("ROCP_OUTPUT_DIR"); - if (roctracer::result_prefix != NULL) { - DIR* dir = opendir(roctracer::result_prefix); - if (dir == NULL) { - std::ostringstream errmsg; - errmsg << "ROCTracer: Cannot open output directory '" << roctracer::result_prefix << "'"; - perror(errmsg.str().c_str()); - abort(); - } - std::ostringstream oss; - oss << roctracer::result_prefix << "/trace_async_copy.txt"; - roctracer::result_file_handle = fopen(oss.str().c_str(), "w"); - if (roctracer::result_file_handle == NULL) { - std::ostringstream errmsg; - errmsg << "ROCTracer: fopen error, file '" << oss.str().c_str() << "'"; - perror(errmsg.str().c_str()); - abort(); - } - } else roctracer::result_file_handle = stdout; - - roctracer::result_file_opened = (roctracer::result_prefix != NULL) && (roctracer::result_file_handle != NULL); - - // initialize HSA tracing - roctracer_set_properties(ACTIVITY_DOMAIN_HSA_API, (void*)table); - // enabled HSA async-copy tracing hsa_status_t status = hsa_amd_profiling_async_copy_enable(true); if (status != HSA_STATUS_SUCCESS) EXC_ABORT(status, "hsa_amd_profiling_async_copy_enable"); diff --git a/test/tool/tracer_tool.cpp b/test/tool/tracer_tool.cpp index d7d658451a..7afd4400db 100644 --- a/test/tool/tracer_tool.cpp +++ b/test/tool/tracer_tool.cpp @@ -54,19 +54,21 @@ thread_local timestamp_t hip_begin_timestamp = 0; bool trace_hsa = false; bool trace_hip = false; -// Profiling results output dir -const char* result_prefix = NULL; -// Global results file handle -FILE* result_file_handle = NULL; -// True if a result file is opened -bool result_file_opened = false; +// Global output file handle +FILE* hsa_api_file_handle = NULL; +FILE* hsa_async_copy_file_handle = NULL; +FILE* hip_api_file_handle = NULL; +FILE* hcc_activity_file_handle = NULL; static inline uint32_t GetPid() { return syscall(__NR_getpid); } static inline uint32_t GetTid() { return syscall(__NR_gettid); } // Error handler void fatal(const std::string msg) { - fflush(result_file_handle); + fflush(hsa_api_file_handle); + fflush(hsa_async_copy_file_handle); + fflush(hip_api_file_handle); + fflush(hcc_activity_file_handle); fflush(stdout); fprintf(stderr, "%s\n\n", msg.c_str()); fflush(stderr); @@ -89,10 +91,18 @@ void hsa_api_callback( const timestamp_t end_timestamp = (cid == HSA_API_ID_hsa_shut_down) ? hsa_begin_timestamp : timer->timestamp_fn_ns(); std::ostringstream os; os << hsa_begin_timestamp << ":" << end_timestamp << " " << GetPid() << ":" << GetTid() << " " << hsa_api_data_pair_t(cid, *data); - fprintf(result_file_handle, "%s\n", os.str().c_str()); + fprintf(hsa_api_file_handle, "%s\n", os.str().c_str()); } } +void hsa_activity_callback( + uint32_t op, + activity_record_t* record, + void* arg) +{ + fprintf(hsa_async_copy_file_handle, "%lu:%lu async-copy%lu\n", record->begin_ns, record->end_ns, record->correlation_id); +} + void hip_api_callback( uint32_t domain, uint32_t cid, @@ -106,33 +116,33 @@ void hip_api_callback( hsa_begin_timestamp = timer->timestamp_fn_ns(); } else { const timestamp_t end_timestamp = timer->timestamp_fn_ns(); - fprintf(result_file_handle, "%lu:%lu %u:%u %s(", hsa_begin_timestamp, end_timestamp, GetPid(), GetTid(), roctracer_op_string(ACTIVITY_DOMAIN_HIP_API, cid, 0)); + fprintf(hip_api_file_handle, "%lu:%lu %u:%u %s(", hsa_begin_timestamp, end_timestamp, GetPid(), GetTid(), roctracer_op_string(ACTIVITY_DOMAIN_HIP_API, cid, 0)); switch (cid) { case HIP_API_ID_hipMemcpy: - fprintf(result_file_handle, "dst(%p) src(%p) size(0x%x) kind(%u)", + fprintf(hip_api_file_handle, "dst(%p) src(%p) size(0x%x) kind(%u)", data->args.hipMemcpy.dst, data->args.hipMemcpy.src, (uint32_t)(data->args.hipMemcpy.sizeBytes), (uint32_t)(data->args.hipMemcpy.kind)); break; case HIP_API_ID_hipMalloc: - fprintf(result_file_handle, "ptr(0x%p) size(0x%x)", + fprintf(hip_api_file_handle, "ptr(0x%p) size(0x%x)", *(data->args.hipMalloc.ptr), (uint32_t)(data->args.hipMalloc.size)); break; case HIP_API_ID_hipFree: - fprintf(result_file_handle, "ptr(%p)", + fprintf(hip_api_file_handle, "ptr(%p)", data->args.hipFree.ptr); break; case HIP_API_ID_hipModuleLaunchKernel: - fprintf(result_file_handle, "kernel(\"%s\") stream(%p)", + fprintf(hip_api_file_handle, "kernel(\"%s\") stream(%p)", hipKernelNameRef(data->args.hipModuleLaunchKernel.f), data->args.hipModuleLaunchKernel.stream); break; default: break; } - fprintf(result_file_handle, ")\n"); fflush(result_file_handle); + fprintf(hip_api_file_handle, ")\n"); fflush(hip_api_file_handle); } } @@ -142,22 +152,22 @@ void hcc_activity_callback(const char* begin, const char* end, void* arg) { const roctracer_record_t* record = reinterpret_cast(begin); const roctracer_record_t* end_record = reinterpret_cast(end); - fprintf(result_file_handle, "\tActivity records:\n"); fflush(result_file_handle); + fprintf(hcc_activity_file_handle, "\tActivity records:\n"); fflush(hcc_activity_file_handle); while (record < end_record) { const char * name = roctracer_op_string(record->domain, record->op, record->kind); - fprintf(result_file_handle, "\t%s\tcorrelation_id(%lu) time_ns(%lu:%lu)", + fprintf(hcc_activity_file_handle, "\t%s\tcorrelation_id(%lu) time_ns(%lu:%lu)", name, record->correlation_id, record->begin_ns, record->end_ns ); if (record->domain == ACTIVITY_DOMAIN_HIP_API) { - fprintf(result_file_handle, " process_id(%u) thread_id(%u)", + fprintf(hcc_activity_file_handle, " process_id(%u) thread_id(%u)", record->process_id, record->thread_id ); } else if (record->domain == ACTIVITY_DOMAIN_HCC_OPS) { - fprintf(result_file_handle, " device_id(%d) queue_id(%lu)", + fprintf(hcc_activity_file_handle, " device_id(%d) queue_id(%lu)", record->device_id, record->queue_id ); @@ -165,9 +175,9 @@ void hcc_activity_callback(const char* begin, const char* end, void* arg) { fprintf(stderr, "Bad domain %d\n", record->domain); abort(); } - if (record->op == hc::HSA_OP_ID_COPY) fprintf(result_file_handle, " bytes(0x%zx)", record->bytes); - fprintf(result_file_handle, "\n"); - fflush(result_file_handle); + if (record->op == hc::HSA_OP_ID_COPY) fprintf(hcc_activity_file_handle, " bytes(0x%zx)", record->bytes); + fprintf(hcc_activity_file_handle, "\n"); + fflush(hcc_activity_file_handle); ROCTRACER_CALL(roctracer_next_record(record, &record)); } } @@ -218,6 +228,23 @@ int get_xml_array(const xml::Xml::level_t* node, const std::string& field, const return parse_iter; } +// Open output file +FILE* open_output_file(const char* prefix, const char* name) { + FILE* file_handle = NULL; + if (prefix != NULL) { + std::ostringstream oss; + oss << prefix << "/" << name; + file_handle = fopen(oss.str().c_str(), "w"); + if (file_handle == NULL) { + std::ostringstream errmsg; + errmsg << "ROCTracer: fopen error, file '" << oss.str().c_str() << "'"; + perror(errmsg.str().c_str()); + abort(); + } + } else file_handle = stdout; + return file_handle; +} + // HSA-runtime tool on-load method extern "C" PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, uint64_t failed_tool_count, const char* const* failed_tool_names) { @@ -229,27 +256,16 @@ extern "C" PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, trace_hip = (trace_domain == NULL) || (strncmp(trace_domain, "hip", 3) == 0); // Output file - result_prefix = getenv("ROCP_OUTPUT_DIR"); - if (result_prefix != NULL) { - DIR* dir = opendir(result_prefix); + const char* output_prefix = getenv("ROCP_OUTPUT_DIR"); + if (output_prefix != NULL) { + DIR* dir = opendir(output_prefix); if (dir == NULL) { std::ostringstream errmsg; - errmsg << "ROCTracer: Cannot open output directory '" << result_prefix << "'"; + errmsg << "ROCTracer: Cannot open output directory '" << output_prefix << "'"; perror(errmsg.str().c_str()); abort(); } - std::ostringstream oss; - oss << result_prefix << "/trace.txt"; - result_file_handle = fopen(oss.str().c_str(), "w"); - if (result_file_handle == NULL) { - std::ostringstream errmsg; - errmsg << "ROCTracer: fopen error, file '" << oss.str().c_str() << "'"; - perror(errmsg.str().c_str()); - abort(); - } - } else result_file_handle = stdout; - - result_file_opened = (result_prefix != NULL) && (result_file_handle != NULL); + } // API trace vector std::vector hsa_api_vec; @@ -294,6 +310,16 @@ extern "C" PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, // Enable HSA API callbacks if (trace_hsa) { + hsa_api_file_handle = open_output_file(output_prefix, "hsa_api_trace.txt"); + hsa_async_copy_file_handle = open_output_file(output_prefix, "async_copy_trace.txt"); + + // initialize HSA tracing + roctracer_set_properties(ACTIVITY_DOMAIN_HSA_API, (void*)table); + roctracer::hsa_ops_properties_t ops_properties{ + reinterpret_cast(hsa_activity_callback), + NULL}; + roctracer_set_properties(ACTIVITY_DOMAIN_HSA_OPS, &ops_properties); + printf(" HSA-trace("); if (hsa_api_vec.size() != 0) { for (unsigned i = 0; i < hsa_api_vec.size(); ++i) { @@ -306,12 +332,15 @@ extern "C" PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, } else { ROCTRACER_CALL(roctracer_enable_domain_callback(ACTIVITY_DOMAIN_HSA_API, hsa_api_callback, NULL)); } - ROCTRACER_CALL(roctracer_enable_domain_activity(ACTIVITY_DOMAIN_HSA_API)); + ROCTRACER_CALL(roctracer_enable_domain_activity(ACTIVITY_DOMAIN_HSA_OPS)); printf(")\n"); } // Enable HIP API callbacks/activity if (trace_hip) { + hip_api_file_handle = open_output_file(output_prefix, "hip_api_trace.txt"); + hcc_activity_file_handle = open_output_file(output_prefix, "hcc_ops_trace.txt"); + printf(" HIP-trace()\n"); // Allocating tracing pool roctracer_properties_t properties{}; @@ -330,10 +359,18 @@ extern "C" PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, extern "C" PUBLIC_API void OnUnload() { if (trace_hsa) { ROCTRACER_CALL(roctracer_disable_domain_callback(ACTIVITY_DOMAIN_HSA_API)); + ROCTRACER_CALL(roctracer_disable_domain_activity(ACTIVITY_DOMAIN_HSA_OPS)); + + fclose(hsa_api_file_handle); + fclose(hsa_async_copy_file_handle); } if (trace_hip) { ROCTRACER_CALL(roctracer_disable_domain_callback(ACTIVITY_DOMAIN_HIP_API)); - ROCTRACER_CALL(roctracer_disable_domain_callback(ACTIVITY_DOMAIN_HCC_OPS)); + ROCTRACER_CALL(roctracer_disable_domain_activity(ACTIVITY_DOMAIN_HIP_API)); + ROCTRACER_CALL(roctracer_disable_domain_activity(ACTIVITY_DOMAIN_HCC_OPS)); ROCTRACER_CALL(roctracer_close_pool()); + + fclose(hip_api_file_handle); + fclose(hcc_activity_file_handle); } } From fda5f8b14ebae0203d82aec898b2731a931adc25 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Mon, 28 Jan 2019 08:40:54 -0600 Subject: [PATCH 085/691] tool rim scripts --- bin/dform.py | 31 ++++ bin/rpl_run.sh | 379 ++++++++++++++++++++++++++++++++++++++++++++++++ bin/sqlitedb.py | 196 +++++++++++++++++++++++++ bin/tblextr.py | 259 +++++++++++++++++++++++++++++++++ bin/txt2xml.sh | 100 +++++++++++++ 5 files changed, 965 insertions(+) create mode 100644 bin/dform.py create mode 100755 bin/rpl_run.sh create mode 100644 bin/sqlitedb.py create mode 100644 bin/tblextr.py create mode 100755 bin/txt2xml.sh diff --git a/bin/dform.py b/bin/dform.py new file mode 100644 index 0000000000..ff688f3ebc --- /dev/null +++ b/bin/dform.py @@ -0,0 +1,31 @@ +#!/usr/bin/python +from sqlitedb import SQLiteDB + +def post_process_data(db, table_name, outfile = ''): +# db.add_data_column('A', 'DispDurNs', 'INTEGER', 'BeginNs - DispatchNs') +# db.add_data_column('A', 'ComplDurNs', 'INTEGER', 'CompleteNs - EndNs') +# db.add_data_column('A', 'TotalDurNs', 'INTEGER', 'CompleteNs - DispatchNs') +# db.add_data_column('A', 'TimeNs', 'INTEGER', 'BeginNs - (select BeginNs from A limit 1)') + db.add_data_column(table_name, 'DurationNs', 'INTEGER', 'EndNs - BeginNs') + if outfile != '': db.dump_csv(table_name, outfile) + +def gen_data_bins(db, outfile): + db.execute('create view C as select Name, Calls, TotalDurationNs, TotalDurationNs/Calls as AverageNs, TotalDurationNs*100.0/(select sum(TotalDurationNs) from %s) as Percentage from %s order by TotalDurationNs desc;' % ('B', 'B')); + db.dump_csv('C', outfile) + db.execute('DROP VIEW C') + +def gen_table_bins(db, table, outfile, name_var, dur_ns_var): + db.execute('create view B as select (%s) as Name, count(%s) as Calls, sum(%s) as TotalDurationNs from %s group by %s' % (name_var, name_var, dur_ns_var, table, name_var)) + gen_data_bins(db, outfile) + db.execute('DROP VIEW B') + +def gen_api_json_trace(db, table, outfile): + db.execute('create view B as select Name as name, (BeginNs/1000) as ts, (DurationNs/1000) as dur from %s order by ts asc;' % table); + db.dump_json('B', table, outfile) + db.execute('DROP VIEW B') + +def gen_kernel_json_trace(db, table, outfile): + db.execute('create view B as select (KernelName) as name, ("gpu-id") as pid, (0) as tid, (BeginNs/1000) as ts, (DurationNs/1000) as dur from %s order by ts asc;' % table); + db.dump_json('B', table, outfile) + db.execute('DROP VIEW B') +############################################################################################## diff --git a/bin/rpl_run.sh b/bin/rpl_run.sh new file mode 100755 index 0000000000..ef26472ed6 --- /dev/null +++ b/bin/rpl_run.sh @@ -0,0 +1,379 @@ +#!/bin/sh + +################################################################################ +# Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +# THE SOFTWARE. +################################################################################ + +time_stamp=`date +%y%m%d_%H%M%S` +BIN_DIR=`dirname $0` +BIN_DIR=`cd $BIN_DIR; pwd` +RUN_DIR=`pwd` +TMP_DIR="/tmp" +DATA_DIR="rpl_data_${time_stamp}_$$" + +PKG_DIR=`echo $BIN_DIR | sed "s/\/bin\/*//"` +BIN_DIR=$PKG_DIR/bin + +# PATH to custom HSA and OpenCl runtimes +HSA_PATH=$PKG_DIR/lib/hsa + +# runtime API trace +HSA_TRACE=0 +HIP_TRACE=0 + +# Generate stats +GEN_STATS=0 + +export LD_LIBRARY_PATH=$PKG_DIR/lib:$PKG_DIR/tool:$PKG_DIR/roctracer/lib:$PKG_DIR/roctracer/tool:$HSA_PATH +export PATH=.:$PATH + +# enable error logging +export HSA_TOOLS_REPORT_LOAD_FAILURE=1 +export HSA_VEN_AMD_AQLPROFILE_LOG=1 +export ROCPROFILER_LOG=1 +unset ROCPROFILER_SESS + +# ROC Profiler environment +# Loading of ROC Profiler by HSA runtime +export HSA_TOOLS_LIB=librocprofiler64.so +# Loading of the test tool by ROC Profiler +export ROCP_TOOL_LIB=libtool.so +# Enabling HSA dispatches intercepting by ROC PRofiler +export ROCP_HSA_INTERCEPT=1 +# Disabling internal ROC Profiler proxy queue (simple version supported for testing purposes) +unset ROCP_PROXY_QUEUE +# ROC Profiler metrics definition +export ROCP_METRICS=$PKG_DIR/lib/metrics.xml +# Disable AQL-profile read API +export AQLPROFILE_READ_API=0 +# ROC Profiler package path +export ROCP_PACKAGE_DIR=$PKG_DIR + +# error handling +fatal() { + echo "$0: Error: $1" + echo "" + usage +} + +error() { + echo "$0: Error: $1" + echo "" + exit 1 +} + +# usage method +usage() { + bin_name=`basename $0` + echo "ROCm Profiling Library (RPL) run script, a part of ROCprofiler library package." + echo "Full path: $BIN_DIR/$bin_name" + echo "Metrics definition: $PKG_DIR/lib/metrics.xml" + echo "" + echo "Usage:" + echo " $bin_name [-h] [--list-basic] [--list-derived] [-i ] [-o ] " + echo "" + echo "Options:" + echo " -h - this help" + echo " --verbose - verbose mode, dumping all base counters used in the input metrics" + echo " --list-basic - to print the list of basic HW counters" + echo " --list-derived - to print the list of derived metrics with formulas" + echo "" + echo " -i <.txt|.xml file> - input file" + echo " Input file .txt format, automatically rerun application for every pmc line:" + echo "" + echo " # Perf counters group 1" + echo " pmc : Wavefronts VALUInsts SALUInsts SFetchInsts FlatVMemInsts LDSInsts FlatLDSInsts GDSInsts VALUUtilization FetchSize" + echo " # Perf counters group 2" + echo " pmc : WriteSize L2CacheHit" + echo " # Filter by dispatches range, GPU index and kernel names" + echo " # supported range formats: \"3:9\", \"3:\", \"3\"" + echo " range: 1 : 4" + echo " gpu: 0 1 2 3" + echo " kernel: simple Pass1 simpleConvolutionPass2" + echo "" + echo " Input file .xml format, for single profiling run:" + echo "" + echo " # Metrics list definition, also the form \":\" can be used" + echo " # All defined metrics can be found in the 'metrics.xml'" + echo " # There are basic metrics for raw HW counters and high-level metrics for derived counters" + echo " " + echo "" + echo " # Filter by dispatches range, GPU index and kernel names" + echo " " + echo "" + echo " -o - output CSV file [.csv]" + echo " -d - directory where profiler store profiling data including thread treaces [/tmp]" + echo " The data directory is renoving autonatically if the directory is matching the temporary one, which is the default." + echo " -t - to change the temporary directory [/tmp]" + echo " By changing the temporary directory you can prevent removing the profiling data from /tmp or enable removing from not '/tmp' directory." + echo "" + echo " --basenames - to turn on/off truncating of the kernel full function names till the base ones [off]" + echo " --timestamp - to turn on/off the kernel disoatches timestamps, dispatch/begin/end/complete [off]" + echo " --ctx-wait - to wait for outstanding contexts on profiler exit [on]" + echo " --ctx-limit - maximum number of outstanding contexts [0 - unlimited]" + echo " --heartbeat - to print progress heartbeats [0 - disabled]" + echo "" + echo " --stats - generating stats and json trace output" + echo " --hsa-trace - to trace HSA" + echo " --hip-trace - to trace HIP" + echo "" + echo "Configuration file:" + echo " You can set your parameters defaults preferences in the configuration file 'rpl_rc.xml'. The search path sequence: .:${HOME}:" + echo " First the configuration file is looking in the current directory, then in your home, and then in the package directory." + echo " Configurable options: 'basenames', 'timestamp', 'ctx-limit', 'heartbeat'." + echo " An example of 'rpl_rc.xml':" + echo " " + echo "" + exit 1 +} + +# profiling run method +OUTPUT_LIST="" +run() { + export ROCP_INPUT="$1" + OUTPUT_DIR="$2" + shift + shift + APP_CMD=$* + + if [ "$OUTPUT_DIR" = "-" ] ; then + input_tag=`echo $ROCP_INPUT | sed "s/\.xml//"` + export ROCP_OUTPUT_DIR=${input_tag}_results_${time_stamp} + elif [ "$OUTPUT_DIR" = "--" ] ; then + unset ROCP_OUTPUT_DIR + else + export ROCP_OUTPUT_DIR=$OUTPUT_DIR + fi + echo "RPL: result dir '$ROCP_OUTPUT_DIR'" + + if [ ! -e "$ROCP_INPUT" ] ; then + error "Input file '$ROCP_INPUT' not found" + fi + + if [ -n "$ROCP_OUTPUT_DIR" ] ; then + if [ "$OUTPUT_DIR" = "-" ] ; then + if [ -e "$ROCP_OUTPUT_DIR" ] ; then + error "generated dir '$ROCP_OUTPUT_DIR' exists" + fi + fi + mkdir -p "$ROCP_OUTPUT_DIR" + fi + + if [ "$HSA_TRACE" = 1 ] ; then + export ROCTRACER_DOMAIN="hsa" + export HSA_TOOLS_LIB="libtracer_tool.so libroctracer64.so $HSA_TOOLS_LIB" + fi + + redirection_cmd="" + if [ -n "$ROCP_OUTPUT_DIR" ] ; then + OUTPUT_LIST="$OUTPUT_LIST $ROCP_OUTPUT_DIR/results.txt" + redirection_cmd="2>&1 | tee $ROCP_OUTPUT_DIR/log.txt" + fi + + #unset ROCP_OUTPUT_DIR + eval "LD_PRELOAD='$HSA_TOOLS_LIB' $APP_CMD $redirection_cmd" +} + +# main +echo "RPL: on '$time_stamp' from '$PKG_DIR' in '$RUN_DIR'" +# Parsing arguments +if [ -z "$1" ] ; then + usage +fi + +INPUT_FILE="" +DATA_PATH="-" +OUTPUT_DIR="-" +output="" +csv_output="" + +ARG_IN="" +while [ 1 ] ; do + ARG_IN=$1 + ARG_VAL=1 + if [ "$1" = "-h" ] ; then + usage + elif [ "$1" = "-i" ] ; then + INPUT_FILE="$2" + elif [ "$1" = "-o" ] ; then + output="$2" + elif [ "$1" = "-d" ] ; then + DATA_PATH=$2 + elif [ "$1" = "-t" ] ; then + TMP_DIR="$2" + if [ "$OUTPUT_DIR" = "-" ] ; then + DATA_PATH=$TMP_DIR + fi + elif [ "$1" = "--list-basic" ] ; then + export ROCP_INFO=b + eval "$PKG_DIR/tool/ctrl" + exit 1 + elif [ "$1" = "--list-derived" ] ; then + export ROCP_INFO=d + eval "$PKG_DIR/tool/ctrl" + exit 1 + elif [ "$1" = "--basenames" ] ; then + if [ "$2" = "on" ] ; then + export ROCP_TRUNCATE_NAMES=1 + else + export ROCP_TRUNCATE_NAMES=0 + fi + elif [ "$1" = "--timestamp" ] ; then + if [ "$2" = "on" ] ; then + export ROCP_TIMESTAMP_ON=1 + else + export ROCP_TIMESTAMP_ON=0 + fi + elif [ "$1" = "--ctx-wait" ] ; then + if [ "$2" = "on" ] ; then + export ROCP_OUTSTANDING_WAIT=1 + else + export ROCP_OUTSTANDING_WAIT=0 + fi + elif [ "$1" = "--ctx-limit" ] ; then + export ROCP_OUTSTANDING_MAX="$2" + elif [ "$1" = "--heartbeat" ] ; then + export ROCP_OUTSTANDING_MON="$2" + elif [ "$1" = "--hsa-trace" ] ; then + ARG_VAL=0 + HSA_TRACE=1 + elif [ "$1" = "--hip-trace" ] ; then + ARG_VAL=0 + HIP_TRACE=1 + elif [ "$1" = "--verbose" ] ; then + ARG_VAL=0 + export ROCP_VERBOSE_MODE=1 + elif [ "$1" = "--stats" ] ; then + ARG_VAL=0 + GEN_STATS=1 + else + break + fi + shift + if [ "$ARG_VAL" = 1 ] ; then shift; fi +done + +ARG_CK=`echo $ARG_IN | sed "s/^-.*$/-/"` +if [ "$ARG_CK" = "-" ] ; then + fatal "Wrong option '$ARG_IN'" +fi + +if [ -z "$INPUT_FILE" ] ; then + input_base="results" + input_type="none" +else + input_base=`echo "$INPUT_FILE" | sed "s/^\(.*\)\.\([^\.]*\)$/\1/"` + input_type=`echo "$INPUT_FILE" | sed "s/^\(.*\)\.\([^\.]*\)$/\2/"` + if [ -z "${input_base}" -o -z "${input_type}" ] ; then + fatal "Bad input file '$INPUT_FILE'" + fi + input_base=`basename $input_base` +fi + +if [ "$DATA_PATH" = "-" ] ; then + DATA_PATH=$TMP_DIR +fi + +if [ -n "$output" ] ; then + if [ "$output" = "--" ] ; then + OUTPUT_DIR="--" + else + csv_output=$output + fi +else + csv_output=$RUN_DIR/${input_base}.csv +fi + +APP_CMD=$* + +echo "RPL: profiling '$APP_CMD'" +echo "RPL: input file '$INPUT_FILE'" + +input_list="" +RES_DIR="" +if [ "$input_type" = "xml" ] ; then + OUTPUT_DIR=$DATA_PATH + input_list=$INPUT_FILE +elif [ "$input_type" = "txt" -o "$input_type" = "none" ] ; then + RES_DIR=$DATA_PATH/$DATA_DIR + if [ -e $RES_DIR ] ; then + error "Rundir '$RES_DIR' exists" + fi + mkdir -p $RES_DIR + echo "RPL: output dir '$RES_DIR'" + if [ "$input_type" = "txt" ] ; then + $BIN_DIR/txt2xml.sh $INPUT_FILE $RES_DIR + else + echo "" > $RES_DIR/input.xml + fi + input_list=`/bin/ls $RES_DIR/input*.xml` + export ROCPROFILER_SESS=$RES_DIR +else + fatal "Bad input file type '$INPUT_FILE'" +fi + +if [ -n "$csv_output" ] ; then + rm -f $csv_output +fi + +for name in $input_list; do + run $name $OUTPUT_DIR $APP_CMD + if [ -n "$ROCPROFILER_SESS" -a -e "$ROCPROFILER_SESS/error" ] ; then + echo "Error found, profiling aborted." + csv_output="" + break + fi +done + +if [ -n "$csv_output" ] ; then + if [ "$GEN_STATS" = "1" ] ; then + db_output=$(echo $csv_output | sed "s/\.csv/.db/") + python $BIN_DIR/tblextr.py $db_output $OUTPUT_LIST + else + python $BIN_DIR/tblextr.py $csv_output $OUTPUT_LIST + fi + if [ "$?" -eq 0 ] ; then + echo "RPL: '$csv_output' is generated" + else + echo "Data extracting error: $OUTPUT_LIST'" + fi +fi + +if [ "$DATA_PATH" = "$TMP_DIR" ] ; then + if [ -e "$RES_DIR" ] ; then + rm -rf $RES_DIR + fi +fi + +exit 0 diff --git a/bin/sqlitedb.py b/bin/sqlitedb.py new file mode 100644 index 0000000000..789ac460cd --- /dev/null +++ b/bin/sqlitedb.py @@ -0,0 +1,196 @@ +import csv, sqlite3, re + +# SQLite Database class +class SQLiteDB: + def __init__(self, file_name): + self.connection = sqlite3.connect(file_name) + self.tables = {} + + def __del__(self): + self.connection.close() + + # add DB table + def add_table(self, name, descr, extra = ()): + (field_list, field_dict) = descr + if name in self.tables: raise Exception('table is already added: "' + name + '"') + + # create DB table + table_descr = [] + for field in field_list: table_descr.append('"%s" %s' % (field, field_dict[field])) + for item in extra: table_descr.append('"%s" %s' % (item[0], item[1])) + stm = 'CREATE TABLE ' + name + ' (%s)' % ', '.join(table_descr) + cursor = self.connection.cursor() + cursor.execute(stm) + self.connection.commit() + + # register table + fields_str = ','.join(map(lambda x: '"' + x + '"', field_list)) + templ_str = ','.join('?' * len(field_list)) + stm = 'INSERT INTO ' + name + '(' + fields_str + ') VALUES(' + templ_str + ');' + self.tables[name] = stm + + return (cursor, stm); + + # add columns to table + def add_columns(self, name, columns): + cursor = self.connection.cursor() + for item in columns: + stm = 'ALTER TABLE ' + name + ' ADD COLUMN "%s" %s' % (item[0], item[1]) + cursor.execute(stm) + self.connection.commit() + + # add columns with expression + def add_data_column(self, table_name, data_label, data_type, data_expr): + cursor = self.connection.cursor() + cursor.execute('ALTER TABLE %s ADD COLUMN "%s" %s' % (table_name, data_label, data_type)) + cursor.execute('UPDATE %s SET %s = (%s);' % (table_name, data_label, data_expr)) + + # populate DB table entry + def insert_entry(self, table, val_list): + (cursor, stm) = table + cursor.execute(stm, val_list) + + # populate DB table entry + def commit_entry(self, table, val_list): + self.insert_entry(table, val_list) + self.connection.commit() + + # populate DB table data + def insert_table(self, table, reader): + for val_list in reader: + if not val_list[-1]: val_list.pop() + self.insert_entry(table, val_list) + self.connection.commit() + + # return table fields list + def _get_fields(self, table_name): + cursor = self.connection.execute('SELECT * FROM ' + table_name) + return list(map(lambda x: '"%s"' % (x[0]), cursor.description)) + + # return table raws list + def _get_raws(self, table_name): + cursor = self.connection.execute('SELECT * FROM ' + table_name) + return cursor.fetchall() + + # dump CSV table + def dump_csv(self, table_name, file_name): + if not re.search(r'\.csv$', file_name): + raise Exception('wrong output file type: "' + file_name + '"' ) + + fields = self._get_fields(table_name) + stm = 'select ' + ','.join(fields) + ' from ' + table_name + + with open(file_name, mode='w') as fd: + fd.write(','.join(fields) + '\n') + for values in self.connection.execute(stm): + fd.write(reduce(lambda a, b: str(a) + ',' + str(b), values) + '\n') + + # dump JSON trace + def open_json(self, file_name): + if not re.search(r'\.json$', file_name): + raise Exception('wrong output file type: "' + file_name + '"' ) + with open(file_name, mode='w') as fd: + fd.write('{ "traceEvents":[{}\n'); + def close_json(self, file_name): + if not re.search(r'\.json$', file_name): + raise Exception('wrong output file type: "' + file_name + '"' ) + with open(file_name, mode='a') as fd: + fd.write(']}\n'); + + def label_json(self, pid, label, file_name): + if not re.search(r'\.json$', file_name): + raise Exception('wrong output file type: "' + file_name + '"' ) + with open(file_name, mode='a') as fd: + fd.write(',{"args":{"name":"%s"},"ph":"M","pid":%s,"name":"process_name"}\n' %(label, pid)); + + def dump_json(self, table_name, data_name, file_name): + if not re.search(r'\.json$', file_name): + raise Exception('wrong output file type: "' + file_name + '"' ) + + sub_ptrn = re.compile(r'(^"|"$)') + name_ptrn = re.compile(r'(name|Name)') + + table_fields = self._get_fields(table_name) + table_raws = self._get_raws(table_name) + data_fields = self._get_fields(data_name) + data_raws = self._get_raws(data_name) + + with open(file_name, mode='a') as fd: + for raw_index in range(len(table_raws)): + values = list(table_raws[raw_index]) + data = list(data_raws[raw_index]) + + vals_list = [] + for value_index in range(len(values)): + label = table_fields[value_index] + value = values[value_index] + if name_ptrn.search(label): value = sub_ptrn.sub(r'', value) + vals_list.append('%s:"%s"' % (label, value)) + + args_list = [] + for value_index in range(len(data)): + label = data_fields[value_index] + value = data[value_index] + if name_ptrn.search(label): value = sub_ptrn.sub(r'', value) + args_list.append('%s:"%s"' % (label, value)) + + fd.write(',{"ph":"%s",%s,\n "args":{\n %s\n }\n}\n' % ('X', ','.join(vals_list), ',\n '.join(args_list))) + + # execute query on DB + def execute(self, cmd): + cursor = self.connection.cursor() + cursor.execute(cmd) + + # commit DB + def commit(self): + self.connection.commit() + + # close DB + def close(self): + self.connection.close() + + # access DB + def get_raws(self, table_name): + cur = self.connection.cursor() + cur.execute("SELECT * FROM %s" % table_name) + return cur.fetchall() + + # return CSV descriptor + # list of fields and dictionaly for the fields types + def _get_csv_descr(self, table_name, fd): + reader = csv.DictReader(fd) + field_names = reader.fieldnames + if not field_names[-1]: field_names.pop() + field_types = {} + + for entry in reader: + fields_left = [f for f in field_names if f not in field_types.keys()] + # all fields processed + if not fields_left: break + + for field in fields_left: + data = entry[field] + # need data for the field to be processed + if len(data) == 0: continue + + if data.isdigit(): + field_types[field] = "INTEGER" + else: + field_types[field] = "TEXT" + + if len(fields_left) > 0: raise Exception('types not found for fields: ', fields_left) + return (field_names, field_types) + + # add CSV table + def add_csv_table(self, table_name, file_name, extra = ()): + with open(file_name, mode='r') as fd: + # get CSV table descriptor + descr = self._get_csv_descr(table_name, fd) + # reader to populate the table + fd.seek(0) + reader = csv.reader(fd) + reader.next() + table = self.add_table(table_name, descr, extra) + self.insert_table(table, reader) + +############################################################################################## diff --git a/bin/tblextr.py b/bin/tblextr.py new file mode 100644 index 0000000000..740a0dd1f1 --- /dev/null +++ b/bin/tblextr.py @@ -0,0 +1,259 @@ +#!/usr/bin/python + +################################################################################ +# Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +# THE SOFTWARE. +################################################################################ + +import os, sys, re +from sqlitedb import SQLiteDB +import dform + +# Parsing results in the format: +#dispatch[0], queue_index(0), kernel_name("SimpleConvolution"), time(1048928000311041,1048928006154674,1048928006168274,1048928006170503): +# GRBM_GUI_ACTIVE (74332) +# SQ_WAVES (4096) +# SQ_INSTS_VMEM_RD (36864) + +COPY_PID = 0 +HSA_PID = 1 +GPU_BASE_PID = 2 +max_gpu_id = 0 + +# global vars +table_descr = [ + ['Index', 'KernelName'], + {'Index': 'INTEGER', 'KernelName': 'TEXT'} +] +var_list = table_descr[0] +var_table = {} +############################################################# + +def fatal(msg): + sys.stderr.write(sys.argv[0] + ": " + msg + "\n"); + sys.exit(1) +############################################################# + +# parse results method +def parse_res(infile): + global max_gpu_id + if not os.path.isfile(infile): fatal("Error: input file '" + infile + "' not found") + inp = open(infile, 'r') + + beg_pattern = re.compile("^dispatch\[(\d*)\], (.*) kernel-name\(\"([^\"]*)\"\)") + prop_pattern = re.compile("([\w-]+)\((\w+)\)"); + ts_pattern = re.compile(", time\((\d*),(\d*),(\d*),(\d*)\)") + var_pattern = re.compile("^\s*([^\s]*)\s+\((\d*)\)") + + dispatch_number = 0 + for line in inp.readlines(): + record = line[:-1] + + m = var_pattern.match(record) + if m: + if not dispatch_number in var_table: fatal("Error: dispatch number not found '" + str(dispatch_number) + "'") + var = m.group(1) + val = m.group(2) + var_table[dispatch_number][m.group(1)] = m.group(2) + if not var in var_list: var_list.append(var) + + m = beg_pattern.match(record) + if m: + dispatch_number = m.group(1) + if not dispatch_number in var_table: + var_table[dispatch_number] = { + 'Index': dispatch_number, + 'KernelName': "\"" + m.group(3) + "\"" + } + kernel_properties = m.group(2) + for prop in kernel_properties.split(', '): + m = prop_pattern.match(prop) + if m: + var = m.group(1) + val = m.group(2) + var_table[dispatch_number][var] = val + if not var in var_list: var_list.append(var); + if re.search(r'gpu-id', var): + if (val > max_gpu_id): max_gpu_id = val + else: fatal('wrong kernel property "' + prop + '" in "'+ kernel_properties + '"') + m = ts_pattern.search(record) + if m: + var_table[dispatch_number]['DispatchNs'] = m.group(1) + var_table[dispatch_number]['BeginNs'] = m.group(2) + var_table[dispatch_number]['EndNs'] = m.group(3) + var_table[dispatch_number]['CompleteNs'] = m.group(4) + + inp.close() +############################################################# + +# merge results table +def merge_table(): + global var_list + keys = sorted(var_table.keys(), key=int) + + fields = set(var_table[keys[0]]) + if 'DispatchNs' in fields: + var_list.append('DispatchNs') + var_list.append('BeginNs') + var_list.append('EndNs') + var_list.append('CompleteNs') + var_list = [x for x in var_list if x in fields] +############################################################# + +# dump CSV results +def dump_csv(file_name): + global var_list + keys = sorted(var_table.keys(), key=int) + + with open(file_name, mode='w') as fd: + fd.write(','.join(var_list) + '\n'); + for ind in keys: + entry = var_table[ind] + dispatch_number = entry['Index'] + if ind != dispatch_number: fatal("Dispatch #" + ind + " index mismatch (" + dispatch_number + ")\n") + val_list = [entry[var] for var in var_list] + fd.write(','.join(val_list) + '\n'); +############################################################# + +# fill kernels DB +def fill_kernel_db(table_name, db): + global var_list + keys = sorted(var_table.keys(), key=int) + + for var in set(var_list).difference(set(table_descr[1])): + table_descr[1][var] = 'INTEGER' + table_descr[0] = var_list; + + table_handle = db.add_table(table_name, table_descr) + + for ind in keys: + entry = var_table[ind] + dispatch_number = entry['Index'] + if ind != dispatch_number: fatal("Dispatch #" + ind + " index mismatch (" + dispatch_number + ")\n") + val_list = [entry[var] for var in var_list] + db.insert_entry(table_handle, val_list) +############################################################# + +# fill HSA DB +hsa_table_descr = [ + ['BeginNs', 'EndNs', 'pid', 'tid', 'Name', 'args'], + {'Name':'TEXT', 'args':'TEXT', 'BeginNs':'INTEGER', 'EndNs':'INTEGER', 'pid':'INTEGER', 'tid':'INTEGER'} +] +def fill_hsa_db(table_name, db, indir): + file_name = indir + '/' + 'hsa_api_trace.txt' + ptrn = re.compile(r'(\d+):(\d+) (\d+):(\d+) ([^\(]+)(\(.*)$') + + table_handle = db.add_table(table_name, hsa_table_descr) + with open(file_name, mode='r') as fd: + for line in fd.readlines(): + record = line[:-1] + m = ptrn.match(record) + if m: + rec_vals = [] + for ind in range(1,7): + if hsa_table_descr[0][ind - 1] == 'pid': + rec_vals.append(HSA_PID) + else: + rec_vals.append(m.group(ind)) + db.insert_entry(table_handle, rec_vals) +############################################################# + +# fill COPY DB +copy_table_descr = [ + ['BeginNs', 'EndNs', 'Name', 'pid', 'tid'], + {'Name':'TEXT', 'args':'TEXT', 'BeginNs':'INTEGER', 'EndNs':'INTEGER', 'pid':'INTEGER', 'tid':'INTEGER'} +] +def fill_copy_db(table_name, db, indir): + file_name = indir + '/' + 'async_copy_trace.txt' + ptrn = re.compile(r'(\d+):(\d+) (.*)$') + + table_handle = db.add_table(table_name, copy_table_descr) + with open(file_name, mode='r') as fd: + for line in fd.readlines(): + record = line[:-1] + m = ptrn.match(record) + if m: + rec_vals = [] + for ind in range(1,4): rec_vals.append(m.group(ind)) + rec_vals.append(COPY_PID) + rec_vals.append(0) + db.insert_entry(table_handle, rec_vals) +############################################################# +# main +if (len(sys.argv) < 3): fatal("Usage: " + sys.argv[0] + " ") + +outfile = sys.argv[1] +infiles = sys.argv[2:] +indir = re.sub(r'\/[^\/]*$', r'', infiles[0]) +print "indir: '" + indir + "'" + +dbfile = '' +csvfile = '' + +if re.search(r'\.csv$', outfile): + csvfile = outfile +elif re.search(r'\.db$', outfile): + dbfile = outfile + csvfile = re.sub(r'\.db$', '.csv', outfile) +else: + fatal("Bad output file '" + outfile + "'") + +for f in infiles: parse_res(f) +if len(var_table) == 0: sys.exit(1) +merge_table() + +if dbfile == '': + dump_csv(csvfile) +else: + statfile = re.sub(r'\.csv$', '.stats.csv', csvfile) + jsonfile = re.sub(r'\.csv$', '.json', csvfile) + + with open(dbfile, mode='w') as fd: fd.truncate() + db = SQLiteDB(dbfile) + + fill_hsa_db('HSA', db, indir) + fill_copy_db('COPY', db, indir) + fill_kernel_db('A', db) + + db.open_json(jsonfile); + db.label_json(HSA_PID, "CPU", jsonfile) + db.label_json(COPY_PID, "COPY", jsonfile) + for ind in range(0, int(max_gpu_id) + 1): db.label_json(int(ind) + int(GPU_BASE_PID), "GPU" + str(ind), jsonfile) + + if 'BeginNs' in var_list: + dform.post_process_data(db, 'A', csvfile) + dform.gen_table_bins(db, 'A', statfile, 'KernelName', 'DurationNs') + dform.gen_kernel_json_trace(db, 'A', jsonfile) + else: + db.dump_csv('A', csvfile) + + statfile = re.sub(r'stats', r'hsa_stats', statfile) + dform.post_process_data(db, 'HSA') + dform.gen_table_bins(db, 'HSA', statfile, 'Name', 'DurationNs') + dform.gen_api_json_trace(db, 'HSA', jsonfile) + + dform.post_process_data(db, 'COPY') + dform.gen_api_json_trace(db, 'COPY', jsonfile) + + db.close_json(jsonfile); + db.close() + +sys.exit(0) +############################################################# diff --git a/bin/txt2xml.sh b/bin/txt2xml.sh new file mode 100755 index 0000000000..27bbe8c474 --- /dev/null +++ b/bin/txt2xml.sh @@ -0,0 +1,100 @@ +#!/bin/bash + +################################################################################ +# Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +# THE SOFTWARE. +################################################################################ + +timestamp=`date +%y%m%d_%H%M%S` + +if [ $# = 0 ] ; then + echo "Usage: $0 [output dir]" + exit -1 +fi + +input=$1 +outdir=$2 +if [ -z "$outdir" ] ; then + outdir="." +fi + +range="" +kernel="" +gpu_index="" + +parse() { + scan="$1" + index=0 + while read -r line || [[ -n "$line" ]] ; do + line=`echo $line | sed "s/\s*#.*$//"` + if [ -z "$line" ] ; then + continue + fi + + feature=`echo $line | sed -n "s/^\s*\([a-z]*\)\s*:.*$/\1/p"` + line=`echo $line | sed "s/^[^:]*:\s*//"` + line=`echo "$line" | sed -e "s/\s*=\s*/=/g" -e "s/\s*:\s*/:/g" -e "s/,\{1,\}/ /g" -e "s/\s\{1,\}/ /g" -e "s/\s*$//"` + + if [ "$scan" = 0 ] ; then + line=`echo "$line" | sed -e "s/ /,/g"` + if [ "$feature" == "range" ] ; then + range=$line + fi + if [ "$feature" == "kernel" ] ; then + kernel=$line + fi + if [ "$feature" == "gpu" ] ; then + gpu_index=$line + fi + else + output=$outdir/input${index}.xml + header="# $timestamp '$output' generated with '$0 $*'" + echo $header > $output + + if [ "$feature" == "pmc" ] ; then + line=`echo "$line" | sed -e "s/ /,/g"` + cat >> $output < + +EOF + fi + + if [ "$feature" == "sqtt" ] ; then + cat >> $output < + +EOF + fi + + if [ "$feature" == "hsa" ] ; then + cat >> $output < +EOF + fi + fi + + index=$((index + 1)) + done < $input +} + +parse 0 +parse 1 + +exit 0 From 180b5271b465d2ed6383608a78550c2ab4ddc4f2 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Mon, 28 Jan 2019 10:47:46 -0600 Subject: [PATCH 086/691] async mem json flow --- bin/sqlitedb.py | 11 +++++++++++ bin/tblextr.py | 19 +++++++++++++++---- 2 files changed, 26 insertions(+), 4 deletions(-) diff --git a/bin/sqlitedb.py b/bin/sqlitedb.py index 789ac460cd..94e6d0c9af 100644 --- a/bin/sqlitedb.py +++ b/bin/sqlitedb.py @@ -91,6 +91,7 @@ class SQLiteDB: raise Exception('wrong output file type: "' + file_name + '"' ) with open(file_name, mode='w') as fd: fd.write('{ "traceEvents":[{}\n'); + def close_json(self, file_name): if not re.search(r'\.json$', file_name): raise Exception('wrong output file type: "' + file_name + '"' ) @@ -103,6 +104,16 @@ class SQLiteDB: with open(file_name, mode='a') as fd: fd.write(',{"args":{"name":"%s"},"ph":"M","pid":%s,"name":"process_name"}\n' %(label, pid)); + def flow_json(self, from_pid, from_list, to_pid, to_dict, file_name): + if not re.search(r'\.json$', file_name): + raise Exception('wrong output file type: "' + file_name + '"' ) + with open(file_name, mode='a') as fd: + for ind in range(len(from_list)): + from_ts = from_list[ind] + to_ts = to_dict[str(ind)] + fd.write(',{"ts":%s,"ph":"s","cat":"DataFlow","id":%s,"pid":%s,"tid":0,"name":"dep"}\n' % (from_ts, str(ind), str(from_pid))) + fd.write(',{"ts":%s,"ph":"t","cat":"DataFlow","id":%s,"pid":%s,"tid":0,"name":"dep"}\n' % (to_ts, str(ind), str(to_pid))) + def dump_json(self, table_name, data_name, file_name): if not re.search(r'\.json$', file_name): raise Exception('wrong output file type: "' + file_name + '"' ) diff --git a/bin/tblextr.py b/bin/tblextr.py index 740a0dd1f1..f929e619b0 100644 --- a/bin/tblextr.py +++ b/bin/tblextr.py @@ -36,6 +36,8 @@ COPY_PID = 0 HSA_PID = 1 GPU_BASE_PID = 2 max_gpu_id = 0 +dep_from_list = [] +dep_to_dict = {} # global vars table_descr = [ @@ -158,13 +160,14 @@ hsa_table_descr = [ ] def fill_hsa_db(table_name, db, indir): file_name = indir + '/' + 'hsa_api_trace.txt' - ptrn = re.compile(r'(\d+):(\d+) (\d+):(\d+) ([^\(]+)(\(.*)$') + ptrn_val = re.compile(r'(\d+):(\d+) (\d+):(\d+) ([^\(]+)(\(.*)$') + ptrn_ac = re.compile(r'hsa_amd_memory_async_copy') table_handle = db.add_table(table_name, hsa_table_descr) with open(file_name, mode='r') as fd: for line in fd.readlines(): record = line[:-1] - m = ptrn.match(record) + m = ptrn_val.match(record) if m: rec_vals = [] for ind in range(1,7): @@ -173,6 +176,7 @@ def fill_hsa_db(table_name, db, indir): else: rec_vals.append(m.group(ind)) db.insert_entry(table_handle, rec_vals) + if ptrn_ac.search(rec_vals[4]): dep_from_list.append(rec_vals[1]) ############################################################# # fill COPY DB @@ -182,19 +186,24 @@ copy_table_descr = [ ] def fill_copy_db(table_name, db, indir): file_name = indir + '/' + 'async_copy_trace.txt' - ptrn = re.compile(r'(\d+):(\d+) (.*)$') + ptrn_val = re.compile(r'(\d+):(\d+) (.*)$') + ptrn_id = re.compile(r'^async-copy(\d+)$') table_handle = db.add_table(table_name, copy_table_descr) with open(file_name, mode='r') as fd: for line in fd.readlines(): record = line[:-1] - m = ptrn.match(record) + m = ptrn_val.match(record) if m: rec_vals = [] for ind in range(1,4): rec_vals.append(m.group(ind)) rec_vals.append(COPY_PID) rec_vals.append(0) db.insert_entry(table_handle, rec_vals) + m = ptrn_id.match(rec_vals[2]) + if m: dep_to_dict[m.group(1)] = rec_vals[0] + else: fatal("async-copy bad name") + else: fatal("async-copy bad record") ############################################################# # main if (len(sys.argv) < 3): fatal("Usage: " + sys.argv[0] + " ") @@ -252,6 +261,8 @@ else: dform.post_process_data(db, 'COPY') dform.gen_api_json_trace(db, 'COPY', jsonfile) + db.flow_json(HSA_PID, dep_from_list, COPY_PID, dep_to_dict, jsonfile) + db.close_json(jsonfile); db.close() From 5e685fb9d76b22fb25a042a0c669c4986a80a05d Mon Sep 17 00:00:00 2001 From: Evgeny Date: Mon, 28 Jan 2019 20:53:55 -0600 Subject: [PATCH 087/691] json hsa_dispatch entries --- bin/dform.py | 12 +++--- bin/sqlitedb.py | 34 +++++++++------- bin/tblextr.py | 104 ++++++++++++++++++++++++++++++++++++++---------- 3 files changed, 109 insertions(+), 41 deletions(-) diff --git a/bin/dform.py b/bin/dform.py index ff688f3ebc..7122a51c76 100644 --- a/bin/dform.py +++ b/bin/dform.py @@ -1,11 +1,11 @@ #!/usr/bin/python from sqlitedb import SQLiteDB -def post_process_data(db, table_name, outfile = ''): +def post_process_data(db, table_name, start_ns, outfile = ''): # db.add_data_column('A', 'DispDurNs', 'INTEGER', 'BeginNs - DispatchNs') # db.add_data_column('A', 'ComplDurNs', 'INTEGER', 'CompleteNs - EndNs') # db.add_data_column('A', 'TotalDurNs', 'INTEGER', 'CompleteNs - DispatchNs') -# db.add_data_column('A', 'TimeNs', 'INTEGER', 'BeginNs - (select BeginNs from A limit 1)') +# db.add_data_column(table_name, 'TimeNs', 'INTEGER', 'BeginNs - %d' % start_ns) db.add_data_column(table_name, 'DurationNs', 'INTEGER', 'EndNs - BeginNs') if outfile != '': db.dump_csv(table_name, outfile) @@ -19,13 +19,13 @@ def gen_table_bins(db, table, outfile, name_var, dur_ns_var): gen_data_bins(db, outfile) db.execute('DROP VIEW B') -def gen_api_json_trace(db, table, outfile): - db.execute('create view B as select Name as name, (BeginNs/1000) as ts, (DurationNs/1000) as dur from %s order by ts asc;' % table); +def gen_api_json_trace(db, table, start_ns, outfile): + db.execute('create view B as select "Index", Name as name, pid, tid, (BeginNs/1000 - %d/1000) as ts, (DurationNs/1000) as dur from %s order by ts asc;' % (start_ns, table)); db.dump_json('B', table, outfile) db.execute('DROP VIEW B') -def gen_kernel_json_trace(db, table, outfile): - db.execute('create view B as select (KernelName) as name, ("gpu-id") as pid, (0) as tid, (BeginNs/1000) as ts, (DurationNs/1000) as dur from %s order by ts asc;' % table); +def gen_kernel_json_trace(db, table, base_pid, start_ns, outfile): + db.execute('create view B as select "Index", KernelName as name, ("gpu-id" + %d) as pid, (0) as tid, (BeginNs/1000 - %d/1000) as ts, (DurationNs/1000) as dur from %s order by ts asc;' % (base_pid, start_ns, table)); db.dump_json('B', table, outfile) db.execute('DROP VIEW B') ############################################################################################## diff --git a/bin/sqlitedb.py b/bin/sqlitedb.py index 94e6d0c9af..f3fb69001c 100644 --- a/bin/sqlitedb.py +++ b/bin/sqlitedb.py @@ -71,6 +71,12 @@ class SQLiteDB: def _get_raws(self, table_name): cursor = self.connection.execute('SELECT * FROM ' + table_name) return cursor.fetchall() + def _get_raw_by_id(self, table_name, req_id): + cursor = self.connection.execute('SELECT * FROM ' + table_name + ' WHERE "Index"=?', (req_id,)) + raws = cursor.fetchall() + if len(raws) != 1: + raise Exception('Index is not unique, table "' + table_name + '"') + return list(raws[0]) # dump CSV table def dump_csv(self, table_name, file_name): @@ -78,12 +84,10 @@ class SQLiteDB: raise Exception('wrong output file type: "' + file_name + '"' ) fields = self._get_fields(table_name) - stm = 'select ' + ','.join(fields) + ' from ' + table_name - with open(file_name, mode='w') as fd: fd.write(','.join(fields) + '\n') - for values in self.connection.execute(stm): - fd.write(reduce(lambda a, b: str(a) + ',' + str(b), values) + '\n') + for raw in self._get_raws(table_name): + fd.write(reduce(lambda a, b: str(a) + ',' + str(b), raw) + '\n') # dump JSON trace def open_json(self, file_name): @@ -104,15 +108,17 @@ class SQLiteDB: with open(file_name, mode='a') as fd: fd.write(',{"args":{"name":"%s"},"ph":"M","pid":%s,"name":"process_name"}\n' %(label, pid)); - def flow_json(self, from_pid, from_list, to_pid, to_dict, file_name): + def flow_json(self, base_id, from_pid, from_tid, from_us_list, to_pid, to_us_dict, start_us, file_name): if not re.search(r'\.json$', file_name): raise Exception('wrong output file type: "' + file_name + '"' ) with open(file_name, mode='a') as fd: - for ind in range(len(from_list)): - from_ts = from_list[ind] - to_ts = to_dict[str(ind)] - fd.write(',{"ts":%s,"ph":"s","cat":"DataFlow","id":%s,"pid":%s,"tid":0,"name":"dep"}\n' % (from_ts, str(ind), str(from_pid))) - fd.write(',{"ts":%s,"ph":"t","cat":"DataFlow","id":%s,"pid":%s,"tid":0,"name":"dep"}\n' % (to_ts, str(ind), str(to_pid))) + dep_id = base_id + for ind in range(len(from_tid)): + from_ts = from_us_list[ind] - start_us + to_ts = to_us_dict[ind] - start_us + fd.write(',{"ts":%d,"ph":"s","cat":"DataFlow","id":%d,"pid":%s,"tid":%d,"name":"dep"}\n' % (from_ts, dep_id, str(from_pid), from_tid[ind])) + fd.write(',{"ts":%d,"ph":"t","cat":"DataFlow","id":%d,"pid":%s,"tid":0,"name":"dep"}\n' % (to_ts, dep_id, str(to_pid))) + dep_id += 1 def dump_json(self, table_name, data_name, file_name): if not re.search(r'\.json$', file_name): @@ -124,20 +130,20 @@ class SQLiteDB: table_fields = self._get_fields(table_name) table_raws = self._get_raws(table_name) data_fields = self._get_fields(data_name) - data_raws = self._get_raws(data_name) with open(file_name, mode='a') as fd: for raw_index in range(len(table_raws)): values = list(table_raws[raw_index]) - data = list(data_raws[raw_index]) - vals_list = [] + raw_id = 0; for value_index in range(len(values)): label = table_fields[value_index] value = values[value_index] if name_ptrn.search(label): value = sub_ptrn.sub(r'', value) - vals_list.append('%s:"%s"' % (label, value)) + if label == '"Index"': raw_id = value + else: vals_list.append('%s:"%s"' % (label, value)) + data = self._get_raw_by_id(data_name, raw_id) args_list = [] for value_index in range(len(data)): label = data_fields[value_index] diff --git a/bin/tblextr.py b/bin/tblextr.py index f929e619b0..93147cb632 100644 --- a/bin/tblextr.py +++ b/bin/tblextr.py @@ -36,8 +36,11 @@ COPY_PID = 0 HSA_PID = 1 GPU_BASE_PID = 2 max_gpu_id = 0 -dep_from_list = [] -dep_to_dict = {} +START_NS = 0 + +# dependencies dictionary +dep_dict = {} +kern_dep_list = [] # global vars table_descr = [ @@ -84,6 +87,10 @@ def parse_res(infile): 'Index': dispatch_number, 'KernelName': "\"" + m.group(3) + "\"" } + + gpu_id = 0 + disp_tid = 0 + kernel_properties = m.group(2) for prop in kernel_properties.split(', '): m = prop_pattern.match(prop) @@ -92,8 +99,10 @@ def parse_res(infile): val = m.group(2) var_table[dispatch_number][var] = val if not var in var_list: var_list.append(var); - if re.search(r'gpu-id', var): + if var == 'gpu-id': if (val > max_gpu_id): max_gpu_id = val + gpu_id = val + if var == 'tid': disp_tid = int(val) else: fatal('wrong kernel property "' + prop + '" in "'+ kernel_properties + '"') m = ts_pattern.search(record) if m: @@ -101,6 +110,21 @@ def parse_res(infile): var_table[dispatch_number]['BeginNs'] = m.group(2) var_table[dispatch_number]['EndNs'] = m.group(3) var_table[dispatch_number]['CompleteNs'] = m.group(4) + else: fatal('bad kernel record "' + record + '"') + + gpu_pid = GPU_BASE_PID + int(gpu_id) + if not gpu_pid in dep_dict: dep_dict[gpu_pid] = {} + dep_str = dep_dict[gpu_pid] + if not 'tid' in dep_str: dep_str['tid'] = [] + if not 'from' in dep_str: dep_str['from'] = [] + if not 'to' in dep_str: dep_str['to'] = {} + to_id = len(dep_str['tid']) + from_us = int(m.group(1)) / 1000 + to_us = int(m.group(2)) / 1000 + dep_str['to'][to_id] = to_us + dep_str['from'].append(from_us) + dep_str['tid'].append(disp_tid) + kern_dep_list.append((disp_tid, from_us)) inp.close() ############################################################# @@ -155,14 +179,27 @@ def fill_kernel_db(table_name, db): # fill HSA DB hsa_table_descr = [ - ['BeginNs', 'EndNs', 'pid', 'tid', 'Name', 'args'], - {'Name':'TEXT', 'args':'TEXT', 'BeginNs':'INTEGER', 'EndNs':'INTEGER', 'pid':'INTEGER', 'tid':'INTEGER'} + ['BeginNs', 'EndNs', 'pid', 'tid', 'Name', 'args', 'Index'], + {'Index':'INTEGER', 'Name':'TEXT', 'args':'TEXT', 'BeginNs':'INTEGER', 'EndNs':'INTEGER', 'pid':'INTEGER', 'tid':'INTEGER'} ] def fill_hsa_db(table_name, db, indir): + global START_NS file_name = indir + '/' + 'hsa_api_trace.txt' ptrn_val = re.compile(r'(\d+):(\d+) (\d+):(\d+) ([^\(]+)(\(.*)$') ptrn_ac = re.compile(r'hsa_amd_memory_async_copy') + if not COPY_PID in dep_dict: dep_dict[COPY_PID] = {} + dep_tid_list = [] + dep_from_us_list = [] + + with open(file_name, mode='r') as fd: + line = fd.readline() + record = line[:-1] + m = ptrn_val.match(record) + if m: START_NS = int(m.group(1)) + START_NS = 0 + + record_id = 0 table_handle = db.add_table(table_name, hsa_table_descr) with open(file_name, mode='r') as fd: for line in fd.readlines(): @@ -171,24 +208,40 @@ def fill_hsa_db(table_name, db, indir): if m: rec_vals = [] for ind in range(1,7): - if hsa_table_descr[0][ind - 1] == 'pid': - rec_vals.append(HSA_PID) - else: - rec_vals.append(m.group(ind)) + rec_vals.append(m.group(ind)) + rec_vals[2] = HSA_PID + rec_vals.append(record_id) db.insert_entry(table_handle, rec_vals) - if ptrn_ac.search(rec_vals[4]): dep_from_list.append(rec_vals[1]) + if ptrn_ac.search(rec_vals[4]): + beg_ns = int(rec_vals[0]) + end_ns = int(rec_vals[1]) + from_us = (beg_ns / 1000) + ((end_ns - beg_ns) / 1000) + dep_from_us_list.append(from_us) + dep_tid_list.append(int(rec_vals[3])) + record_id += 1 + else: fatal("hsa bad record") + + for (tid, from_us) in kern_dep_list: + db.insert_entry(table_handle, [((from_us - 1) * 1000), from_us * 1000, HSA_PID, tid, 'hsa_dispatch', '', record_id]) + record_id += 1 + + dep_dict[COPY_PID]['tid'] = dep_tid_list + dep_dict[COPY_PID]['from'] = dep_from_us_list ############################################################# # fill COPY DB copy_table_descr = [ - ['BeginNs', 'EndNs', 'Name', 'pid', 'tid'], - {'Name':'TEXT', 'args':'TEXT', 'BeginNs':'INTEGER', 'EndNs':'INTEGER', 'pid':'INTEGER', 'tid':'INTEGER'} + ['BeginNs', 'EndNs', 'Name', 'pid', 'tid', 'Index'], + {'Index':'INTEGER', 'Name':'TEXT', 'args':'TEXT', 'BeginNs':'INTEGER', 'EndNs':'INTEGER', 'pid':'INTEGER', 'tid':'INTEGER'} ] def fill_copy_db(table_name, db, indir): file_name = indir + '/' + 'async_copy_trace.txt' ptrn_val = re.compile(r'(\d+):(\d+) (.*)$') ptrn_id = re.compile(r'^async-copy(\d+)$') + if not COPY_PID in dep_dict: dep_dict[COPY_PID] = {} + dep_to_us_dict = {} + table_handle = db.add_table(table_name, copy_table_descr) with open(file_name, mode='r') as fd: for line in fd.readlines(): @@ -199,11 +252,14 @@ def fill_copy_db(table_name, db, indir): for ind in range(1,4): rec_vals.append(m.group(ind)) rec_vals.append(COPY_PID) rec_vals.append(0) - db.insert_entry(table_handle, rec_vals) m = ptrn_id.match(rec_vals[2]) - if m: dep_to_dict[m.group(1)] = rec_vals[0] + if m: dep_to_us_dict[int(m.group(1))] = int(rec_vals[0]) / 1000 else: fatal("async-copy bad name") + rec_vals.append(m.group(1)) + db.insert_entry(table_handle, rec_vals) else: fatal("async-copy bad record") + + dep_dict[COPY_PID]['to'] = dep_to_us_dict ############################################################# # main if (len(sys.argv) < 3): fatal("Usage: " + sys.argv[0] + " ") @@ -247,21 +303,27 @@ else: for ind in range(0, int(max_gpu_id) + 1): db.label_json(int(ind) + int(GPU_BASE_PID), "GPU" + str(ind), jsonfile) if 'BeginNs' in var_list: - dform.post_process_data(db, 'A', csvfile) + dform.post_process_data(db, 'A', START_NS, csvfile) dform.gen_table_bins(db, 'A', statfile, 'KernelName', 'DurationNs') - dform.gen_kernel_json_trace(db, 'A', jsonfile) + dform.gen_kernel_json_trace(db, 'A', GPU_BASE_PID, START_NS, jsonfile) else: db.dump_csv('A', csvfile) statfile = re.sub(r'stats', r'hsa_stats', statfile) - dform.post_process_data(db, 'HSA') + dform.post_process_data(db, 'HSA', START_NS) dform.gen_table_bins(db, 'HSA', statfile, 'Name', 'DurationNs') - dform.gen_api_json_trace(db, 'HSA', jsonfile) + dform.gen_api_json_trace(db, 'HSA', START_NS, jsonfile) - dform.post_process_data(db, 'COPY') - dform.gen_api_json_trace(db, 'COPY', jsonfile) + dform.post_process_data(db, 'COPY', START_NS) + dform.gen_api_json_trace(db, 'COPY', START_NS, jsonfile) - db.flow_json(HSA_PID, dep_from_list, COPY_PID, dep_to_dict, jsonfile) + dep_id = 0 + for (to_pid, dep_str) in dep_dict.items(): + tid_list = dep_str['tid'] + from_us_list = dep_str['from'] + to_us_dict = dep_str['to'] + db.flow_json(dep_id, HSA_PID, tid_list, from_us_list, to_pid, to_us_dict, (START_NS / 1000), jsonfile) + dep_id += len(tid_list) db.close_json(jsonfile); db.close() From 2a91ff8374d25719d61dbf3a3dd7ca2b4c2a7a6e Mon Sep 17 00:00:00 2001 From: Evgeny Date: Mon, 28 Jan 2019 23:53:48 -0600 Subject: [PATCH 088/691] fixed json dependencies --- bin/dform.py | 10 +++++----- bin/tblextr.py | 21 ++++++++++----------- 2 files changed, 15 insertions(+), 16 deletions(-) diff --git a/bin/dform.py b/bin/dform.py index 7122a51c76..107188fa0a 100644 --- a/bin/dform.py +++ b/bin/dform.py @@ -1,7 +1,7 @@ #!/usr/bin/python from sqlitedb import SQLiteDB -def post_process_data(db, table_name, start_ns, outfile = ''): +def post_process_data(db, table_name, outfile = ''): # db.add_data_column('A', 'DispDurNs', 'INTEGER', 'BeginNs - DispatchNs') # db.add_data_column('A', 'ComplDurNs', 'INTEGER', 'CompleteNs - EndNs') # db.add_data_column('A', 'TotalDurNs', 'INTEGER', 'CompleteNs - DispatchNs') @@ -19,13 +19,13 @@ def gen_table_bins(db, table, outfile, name_var, dur_ns_var): gen_data_bins(db, outfile) db.execute('DROP VIEW B') -def gen_api_json_trace(db, table, start_ns, outfile): - db.execute('create view B as select "Index", Name as name, pid, tid, (BeginNs/1000 - %d/1000) as ts, (DurationNs/1000) as dur from %s order by ts asc;' % (start_ns, table)); +def gen_api_json_trace(db, table, start_us, outfile): + db.execute('create view B as select "Index", Name as name, pid, tid, (BeginNs/1000 - %d) as ts, (DurationNs/1000) as dur from %s order by ts asc;' % (start_us, table)); db.dump_json('B', table, outfile) db.execute('DROP VIEW B') -def gen_kernel_json_trace(db, table, base_pid, start_ns, outfile): - db.execute('create view B as select "Index", KernelName as name, ("gpu-id" + %d) as pid, (0) as tid, (BeginNs/1000 - %d/1000) as ts, (DurationNs/1000) as dur from %s order by ts asc;' % (base_pid, start_ns, table)); +def gen_kernel_json_trace(db, table, base_pid, start_us, outfile): + db.execute('create view B as select "Index", KernelName as name, ("gpu-id" + %d) as pid, (0) as tid, (BeginNs/1000 - %d) as ts, (DurationNs/1000) as dur from %s order by ts asc;' % (base_pid, start_us, table)); db.dump_json('B', table, outfile) db.execute('DROP VIEW B') ############################################################################################## diff --git a/bin/tblextr.py b/bin/tblextr.py index 93147cb632..d1d27b49b7 100644 --- a/bin/tblextr.py +++ b/bin/tblextr.py @@ -36,7 +36,7 @@ COPY_PID = 0 HSA_PID = 1 GPU_BASE_PID = 2 max_gpu_id = 0 -START_NS = 0 +START_US = 0 # dependencies dictionary dep_dict = {} @@ -183,7 +183,7 @@ hsa_table_descr = [ {'Index':'INTEGER', 'Name':'TEXT', 'args':'TEXT', 'BeginNs':'INTEGER', 'EndNs':'INTEGER', 'pid':'INTEGER', 'tid':'INTEGER'} ] def fill_hsa_db(table_name, db, indir): - global START_NS + global START_US file_name = indir + '/' + 'hsa_api_trace.txt' ptrn_val = re.compile(r'(\d+):(\d+) (\d+):(\d+) ([^\(]+)(\(.*)$') ptrn_ac = re.compile(r'hsa_amd_memory_async_copy') @@ -196,8 +196,7 @@ def fill_hsa_db(table_name, db, indir): line = fd.readline() record = line[:-1] m = ptrn_val.match(record) - if m: START_NS = int(m.group(1)) - START_NS = 0 + if m: START_US = int(m.group(1)) / 1000 record_id = 0 table_handle = db.add_table(table_name, hsa_table_descr) @@ -303,26 +302,26 @@ else: for ind in range(0, int(max_gpu_id) + 1): db.label_json(int(ind) + int(GPU_BASE_PID), "GPU" + str(ind), jsonfile) if 'BeginNs' in var_list: - dform.post_process_data(db, 'A', START_NS, csvfile) + dform.post_process_data(db, 'A', csvfile) dform.gen_table_bins(db, 'A', statfile, 'KernelName', 'DurationNs') - dform.gen_kernel_json_trace(db, 'A', GPU_BASE_PID, START_NS, jsonfile) + dform.gen_kernel_json_trace(db, 'A', GPU_BASE_PID, START_US, jsonfile) else: db.dump_csv('A', csvfile) statfile = re.sub(r'stats', r'hsa_stats', statfile) - dform.post_process_data(db, 'HSA', START_NS) + dform.post_process_data(db, 'HSA') dform.gen_table_bins(db, 'HSA', statfile, 'Name', 'DurationNs') - dform.gen_api_json_trace(db, 'HSA', START_NS, jsonfile) + dform.gen_api_json_trace(db, 'HSA', START_US, jsonfile) - dform.post_process_data(db, 'COPY', START_NS) - dform.gen_api_json_trace(db, 'COPY', START_NS, jsonfile) + dform.post_process_data(db, 'COPY') + dform.gen_api_json_trace(db, 'COPY', START_US, jsonfile) dep_id = 0 for (to_pid, dep_str) in dep_dict.items(): tid_list = dep_str['tid'] from_us_list = dep_str['from'] to_us_dict = dep_str['to'] - db.flow_json(dep_id, HSA_PID, tid_list, from_us_list, to_pid, to_us_dict, (START_NS / 1000), jsonfile) + db.flow_json(dep_id, HSA_PID, tid_list, from_us_list, to_pid, to_us_dict, START_US, jsonfile) dep_id += len(tid_list) db.close_json(jsonfile); From 3ced2208380d8a270ee201075633f940ba61048a Mon Sep 17 00:00:00 2001 From: Evgeny Date: Tue, 29 Jan 2019 10:21:14 -0600 Subject: [PATCH 089/691] minor changes --- bin/tblextr.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/bin/tblextr.py b/bin/tblextr.py index d1d27b49b7..5eb600cc8e 100644 --- a/bin/tblextr.py +++ b/bin/tblextr.py @@ -124,7 +124,7 @@ def parse_res(infile): dep_str['to'][to_id] = to_us dep_str['from'].append(from_us) dep_str['tid'].append(disp_tid) - kern_dep_list.append((disp_tid, from_us)) + kern_dep_list.append((disp_tid, m.group(1))) inp.close() ############################################################# @@ -183,7 +183,6 @@ hsa_table_descr = [ {'Index':'INTEGER', 'Name':'TEXT', 'args':'TEXT', 'BeginNs':'INTEGER', 'EndNs':'INTEGER', 'pid':'INTEGER', 'tid':'INTEGER'} ] def fill_hsa_db(table_name, db, indir): - global START_US file_name = indir + '/' + 'hsa_api_trace.txt' ptrn_val = re.compile(r'(\d+):(\d+) (\d+):(\d+) ([^\(]+)(\(.*)$') ptrn_ac = re.compile(r'hsa_amd_memory_async_copy') @@ -192,11 +191,13 @@ def fill_hsa_db(table_name, db, indir): dep_tid_list = [] dep_from_us_list = [] + global START_US with open(file_name, mode='r') as fd: line = fd.readline() record = line[:-1] m = ptrn_val.match(record) if m: START_US = int(m.group(1)) / 1000 + START_US = 0 record_id = 0 table_handle = db.add_table(table_name, hsa_table_descr) @@ -220,8 +221,8 @@ def fill_hsa_db(table_name, db, indir): record_id += 1 else: fatal("hsa bad record") - for (tid, from_us) in kern_dep_list: - db.insert_entry(table_handle, [((from_us - 1) * 1000), from_us * 1000, HSA_PID, tid, 'hsa_dispatch', '', record_id]) + for (tid, from_ns) in kern_dep_list: + db.insert_entry(table_handle, [from_ns, from_ns, HSA_PID, tid, 'hsa_dispatch', '', record_id]) record_id += 1 dep_dict[COPY_PID]['tid'] = dep_tid_list From 00392acd511a6bfefea296bba386633cceab9257 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Tue, 29 Jan 2019 13:48:45 -0600 Subject: [PATCH 090/691] package post scripts fix --- inc/ext/DEBIAN/postinst | 4 ++-- inc/ext/RPM/rpm_post | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/inc/ext/DEBIAN/postinst b/inc/ext/DEBIAN/postinst index f932f496ac..1baa4cb7ce 100644 --- a/inc/ext/DEBIAN/postinst +++ b/inc/ext/DEBIAN/postinst @@ -6,12 +6,12 @@ do_pkgconfig() { if [ ! -d /usr/lib/pkgconfig ] ; then mkdir -p /usr/lib/pkgconfig; fi cat > /usr/lib/pkgconfig/roctracer-proto.pc << EOF prefix=/opt/rocm/roctracer -includedir=${prefix}/include/ext +includedir=\${prefix}/include/ext Name: roctracer-proto Version: 1.0.0 Description: roctracer protocol -Cflags: -I${includedir} +Cflags: -I\${includedir} EOF } diff --git a/inc/ext/RPM/rpm_post b/inc/ext/RPM/rpm_post index ca6358605b..68451f138b 100644 --- a/inc/ext/RPM/rpm_post +++ b/inc/ext/RPM/rpm_post @@ -1,10 +1,10 @@ if [ ! -d /usr/lib/pkgconfig ] ; then mkdir -p /usr/lib/pkgconfig; fi cat > /usr/lib/pkgconfig/roctracer-proto.pc << EOF prefix=/opt/rocm/roctracer -includedir=${prefix}/include/ext +includedir=\${prefix}/include/ext Name: roctracer-proto Version: 1.0.0 Description: roctracer protocol -Cflags: -I${includedir} +Cflags: -I\${includedir} EOF From db2d550122d70dc96c67696ab64a24573a3dd8fa Mon Sep 17 00:00:00 2001 From: Evgeny Date: Wed, 30 Jan 2019 17:49:50 -0600 Subject: [PATCH 091/691] fixing package umask amd hsa headers lookup --- build.sh | 2 ++ build_proto.sh | 2 ++ cmake_modules/env.cmake | 10 +++------- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/build.sh b/build.sh index f8d46442b8..ecd9c900df 100755 --- a/build.sh +++ b/build.sh @@ -7,6 +7,8 @@ fatal() { exit 1 } +umask 022 + if [ -z "$ROCTRACER_ROOT" ]; then ROCTRACER_ROOT=$PWD; fi if [ -z "$BUILD_DIR" ] ; then BUILD_DIR=$PWD; fi if [ -z "$HIP_PATH" ] ; then export HIP_PATH="$ROCM_PATH/hip"; fi diff --git a/build_proto.sh b/build_proto.sh index b9f4f14602..046ec297b7 100755 --- a/build_proto.sh +++ b/build_proto.sh @@ -7,6 +7,8 @@ fatal() { exit 1 } +umask 022 + if [ -z "$ROCTRACER_ROOT" ]; then export ROCTRACER_ROOT=$PWD; fi if [ -z "$BUILD_DIR" ] ; then export BUILD_DIR=$PWD; fi if [ -z "$PACKAGE_ROOT" ] ; then export PACKAGE_ROOT=$ROCM_PATH; fi diff --git a/cmake_modules/env.cmake b/cmake_modules/env.cmake index b1966e07cd..2a5d6ab2b8 100644 --- a/cmake_modules/env.cmake +++ b/cmake_modules/env.cmake @@ -89,19 +89,15 @@ elseif ( ${CMAKE_SYSTEM_PROCESSOR} STREQUAL "x86" ) endif () ## Find hsa-runtime headers/lib -find_file ( HSA_RUNTIME_INC "hsa.h" ) -find_file ( HSA_RUNTIME_HSA_INC "hsa/hsa.h" ) +find_file ( HSA_RUNTIME_INC "hsa/hsa.h" ) find_library ( HSA_RUNTIME_LIB "libhsa-runtime${NBIT}.so" ) get_filename_component ( HSA_RUNTIME_INC_PATH ${HSA_RUNTIME_INC} DIRECTORY ) -get_filename_component ( HSA_RUNTIME_HSA_INC_PATH ${HSA_RUNTIME_HSA_INC} DIRECTORY ) get_filename_component ( HSA_RUNTIME_LIB_PATH ${HSA_RUNTIME_LIB} DIRECTORY ) if ( "${HSA_RUNTIME_INC_PATH}" STREQUAL "" ) - set ( HSA_RUNTIME_INC_PATH ${HSA_RUNTIME_HSA_INC_PATH} ) -endif () -if ( NOT "${HSA_RUNTIME_HSA_INC_PATH}" STREQUAL "" ) - set ( HSA_RUNTIME_HSA_INC_PATH ${HSA_RUNTIME_HSA_INC_PATH}/.. ) + message ( FATAL_ERROR "HSA headers not found" ) endif () +set ( HSA_RUNTIME_HSA_INC_PATH ${HSA_RUNTIME_INC_PATH}/.. ) find_library ( HSA_KMT_LIB "libhsakmt.so" ) get_filename_component ( HSA_KMT_LIB_PATH ${HSA_KMT_LIB} DIRECTORY ) From e08789a78d4f6c01719c6171a4d1843d52a3d3ef Mon Sep 17 00:00:00 2001 From: Evgeny Date: Wed, 30 Jan 2019 22:06:07 -0600 Subject: [PATCH 092/691] disabling hsa_shut_down intercepting --- script/hsaap.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/script/hsaap.py b/script/hsaap.py index 31a8076809..27ff082c28 100755 --- a/script/hsaap.py +++ b/script/hsaap.py @@ -404,7 +404,10 @@ class API_DescrParser: self.content += 'static void intercept_' + name + '(' + name + '* table) {\n' self.content += ' ' + name + '_saved = *table;\n' if call != '-': - self.content += ' table->' + call + '_fn = ' + call + '_callback;\n' + if call != 'hsa_shut_down': + self.content += ' table->' + call + '_fn = ' + call + '_callback;\n' + else: + self.content += ' { void* p = (void*)' + call + '_callback; (void)p; }\n' # generate API name function def gen_get_name(self, n, name, call, struct): From 4301288098221875600035c55cac90e916be55f6 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Wed, 30 Jan 2019 23:53:16 -0600 Subject: [PATCH 093/691] removed assertion for hsa path --- cmake_modules/env.cmake | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/cmake_modules/env.cmake b/cmake_modules/env.cmake index 2a5d6ab2b8..2ae54cfaa6 100644 --- a/cmake_modules/env.cmake +++ b/cmake_modules/env.cmake @@ -95,9 +95,10 @@ get_filename_component ( HSA_RUNTIME_INC_PATH ${HSA_RUNTIME_INC} DIRECTORY ) get_filename_component ( HSA_RUNTIME_LIB_PATH ${HSA_RUNTIME_LIB} DIRECTORY ) if ( "${HSA_RUNTIME_INC_PATH}" STREQUAL "" ) - message ( FATAL_ERROR "HSA headers not found" ) + message ( WARNING "HSA headers not found" ) +else () + set ( HSA_RUNTIME_HSA_INC_PATH ${HSA_RUNTIME_INC_PATH}/.. ) endif () -set ( HSA_RUNTIME_HSA_INC_PATH ${HSA_RUNTIME_INC_PATH}/.. ) find_library ( HSA_KMT_LIB "libhsakmt.so" ) get_filename_component ( HSA_KMT_LIB_PATH ${HSA_KMT_LIB} DIRECTORY ) From a8e799d92b00f921426ba926e8cdc7c15b7c0bb7 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Thu, 31 Jan 2019 00:56:11 -0600 Subject: [PATCH 094/691] fixing stats without hsa trace --- bin/rpl_run.sh | 13 ++++++----- bin/sqlitedb.py | 29 +++++++++++++++-------- bin/tblextr.py | 61 +++++++++++++++++++++++++++---------------------- 3 files changed, 61 insertions(+), 42 deletions(-) diff --git a/bin/rpl_run.sh b/bin/rpl_run.sh index ef26472ed6..7d3dffac7d 100755 --- a/bin/rpl_run.sh +++ b/bin/rpl_run.sh @@ -23,18 +23,19 @@ ################################################################################ time_stamp=`date +%y%m%d_%H%M%S` -BIN_DIR=`dirname $0` -BIN_DIR=`cd $BIN_DIR; pwd` +BIN_DIR=$(dirname $(realpath $0)) +PKG_DIR=$(dirname $BIN_DIR) +ROOT_DIR=$(dirname $PKG_DIR) RUN_DIR=`pwd` TMP_DIR="/tmp" DATA_DIR="rpl_data_${time_stamp}_$$" -PKG_DIR=`echo $BIN_DIR | sed "s/\/bin\/*//"` -BIN_DIR=$PKG_DIR/bin - # PATH to custom HSA and OpenCl runtimes HSA_PATH=$PKG_DIR/lib/hsa +# roctracer path +if [ -z "$ROCTRACER_PATH" ] ; then ROCTRACER_PATH=$ROOT_DIR/roctracer; fi + # runtime API trace HSA_TRACE=0 HIP_TRACE=0 @@ -42,7 +43,7 @@ HIP_TRACE=0 # Generate stats GEN_STATS=0 -export LD_LIBRARY_PATH=$PKG_DIR/lib:$PKG_DIR/tool:$PKG_DIR/roctracer/lib:$PKG_DIR/roctracer/tool:$HSA_PATH +export LD_LIBRARY_PATH=$PKG_DIR/lib:$PKG_DIR/tool:$ROCTRACER_PATH/lib:$ROCTRACER_PATH/tool:$HSA_PATH export PATH=.:$PATH # enable error logging diff --git a/bin/sqlitedb.py b/bin/sqlitedb.py index f3fb69001c..bfcf12fae9 100644 --- a/bin/sqlitedb.py +++ b/bin/sqlitedb.py @@ -1,10 +1,11 @@ -import csv, sqlite3, re +import csv, sqlite3, re, sys # SQLite Database class class SQLiteDB: def __init__(self, file_name): self.connection = sqlite3.connect(file_name) self.tables = {} + self.json_arg_list_enabled = 0 def __del__(self): self.connection.close() @@ -71,6 +72,9 @@ class SQLiteDB: def _get_raws(self, table_name): cursor = self.connection.execute('SELECT * FROM ' + table_name) return cursor.fetchall() + def _get_raws_indexed(self, table_name): + cursor = self.connection.execute('SELECT * FROM ' + table_name + ' order by "Index" asc;') + return cursor.fetchall() def _get_raw_by_id(self, table_name, req_id): cursor = self.connection.execute('SELECT * FROM ' + table_name + ' WHERE "Index"=?', (req_id,)) raws = cursor.fetchall() @@ -128,31 +132,38 @@ class SQLiteDB: name_ptrn = re.compile(r'(name|Name)') table_fields = self._get_fields(table_name) - table_raws = self._get_raws(table_name) + table_raws = self._get_raws_indexed(table_name) data_fields = self._get_fields(data_name) + data_raws = self._get_raws_indexed(data_name) with open(file_name, mode='a') as fd: - for raw_index in range(len(table_raws)): - values = list(table_raws[raw_index]) + table_raws_len = len(table_raws) + for raw_index in range(table_raws_len): + if (raw_index == table_raws_len - 1) or (raw_index % 1000 == 0): + sys.stdout.write( \ + "\rdump json " + str(raw_index) + ":" + str(len(table_raws)) + " "*100 \ + ) + vals_list = [] - raw_id = 0; + values = list(table_raws[raw_index]) for value_index in range(len(values)): label = table_fields[value_index] value = values[value_index] if name_ptrn.search(label): value = sub_ptrn.sub(r'', value) - if label == '"Index"': raw_id = value - else: vals_list.append('%s:"%s"' % (label, value)) + if label != '"Index"': vals_list.append('%s:"%s"' % (label, value)) - data = self._get_raw_by_id(data_name, raw_id) args_list = [] + data = list(data_raws[raw_index]) for value_index in range(len(data)): label = data_fields[value_index] value = data[value_index] if name_ptrn.search(label): value = sub_ptrn.sub(r'', value) - args_list.append('%s:"%s"' % (label, value)) + if label != '"Index"': args_list.append('%s:"%s"' % (label, value)) fd.write(',{"ph":"%s",%s,\n "args":{\n %s\n }\n}\n' % ('X', ','.join(vals_list), ',\n '.join(args_list))) + sys.stdout.write('\n') + # execute query on DB def execute(self, cmd): cursor = self.connection.cursor() diff --git a/bin/tblextr.py b/bin/tblextr.py index 5eb600cc8e..aff6d6a880 100644 --- a/bin/tblextr.py +++ b/bin/tblextr.py @@ -110,21 +110,20 @@ def parse_res(infile): var_table[dispatch_number]['BeginNs'] = m.group(2) var_table[dispatch_number]['EndNs'] = m.group(3) var_table[dispatch_number]['CompleteNs'] = m.group(4) - else: fatal('bad kernel record "' + record + '"') - gpu_pid = GPU_BASE_PID + int(gpu_id) - if not gpu_pid in dep_dict: dep_dict[gpu_pid] = {} - dep_str = dep_dict[gpu_pid] - if not 'tid' in dep_str: dep_str['tid'] = [] - if not 'from' in dep_str: dep_str['from'] = [] - if not 'to' in dep_str: dep_str['to'] = {} - to_id = len(dep_str['tid']) - from_us = int(m.group(1)) / 1000 - to_us = int(m.group(2)) / 1000 - dep_str['to'][to_id] = to_us - dep_str['from'].append(from_us) - dep_str['tid'].append(disp_tid) - kern_dep_list.append((disp_tid, m.group(1))) + gpu_pid = GPU_BASE_PID + int(gpu_id) + if not gpu_pid in dep_dict: dep_dict[gpu_pid] = {} + dep_str = dep_dict[gpu_pid] + if not 'tid' in dep_str: dep_str['tid'] = [] + if not 'from' in dep_str: dep_str['from'] = [] + if not 'to' in dep_str: dep_str['to'] = {} + to_id = len(dep_str['tid']) + from_us = int(m.group(1)) / 1000 + to_us = int(m.group(2)) / 1000 + dep_str['to'][to_id] = to_us + dep_str['from'].append(from_us) + dep_str['tid'].append(disp_tid) + kern_dep_list.append((disp_tid, m.group(1))) inp.close() ############################################################# @@ -187,6 +186,8 @@ def fill_hsa_db(table_name, db, indir): ptrn_val = re.compile(r'(\d+):(\d+) (\d+):(\d+) ([^\(]+)(\(.*)$') ptrn_ac = re.compile(r'hsa_amd_memory_async_copy') + if not os.path.isfile(file_name): return 0 + if not COPY_PID in dep_dict: dep_dict[COPY_PID] = {} dep_tid_list = [] dep_from_us_list = [] @@ -227,6 +228,8 @@ def fill_hsa_db(table_name, db, indir): dep_dict[COPY_PID]['tid'] = dep_tid_list dep_dict[COPY_PID]['from'] = dep_from_us_list + + return 1 ############################################################# # fill COPY DB @@ -267,7 +270,6 @@ if (len(sys.argv) < 3): fatal("Usage: " + sys.argv[0] + " Date: Mon, 4 Feb 2019 12:32:45 -0600 Subject: [PATCH 095/691] HIP/HCC trace reformatting --- test/tool/tracer_tool.cpp | 29 +++++++---------------------- 1 file changed, 7 insertions(+), 22 deletions(-) diff --git a/test/tool/tracer_tool.cpp b/test/tool/tracer_tool.cpp index 7afd4400db..7fd50a32a3 100644 --- a/test/tool/tracer_tool.cpp +++ b/test/tool/tracer_tool.cpp @@ -135,7 +135,7 @@ void hip_api_callback( data->args.hipFree.ptr); break; case HIP_API_ID_hipModuleLaunchKernel: - fprintf(hip_api_file_handle, "kernel(\"%s\") stream(%p)", + fprintf(hip_api_file_handle, "kernel(%s) stream(%p)", hipKernelNameRef(data->args.hipModuleLaunchKernel.f), data->args.hipModuleLaunchKernel.stream); break; @@ -152,32 +152,17 @@ void hcc_activity_callback(const char* begin, const char* end, void* arg) { const roctracer_record_t* record = reinterpret_cast(begin); const roctracer_record_t* end_record = reinterpret_cast(end); - fprintf(hcc_activity_file_handle, "\tActivity records:\n"); fflush(hcc_activity_file_handle); while (record < end_record) { - const char * name = roctracer_op_string(record->domain, record->op, record->kind); - fprintf(hcc_activity_file_handle, "\t%s\tcorrelation_id(%lu) time_ns(%lu:%lu)", - name, - record->correlation_id, - record->begin_ns, - record->end_ns - ); - if (record->domain == ACTIVITY_DOMAIN_HIP_API) { - fprintf(hcc_activity_file_handle, " process_id(%u) thread_id(%u)", - record->process_id, - record->thread_id - ); - } else if (record->domain == ACTIVITY_DOMAIN_HCC_OPS) { - fprintf(hcc_activity_file_handle, " device_id(%d) queue_id(%lu)", - record->device_id, - record->queue_id - ); + if (record->domain == ACTIVITY_DOMAIN_HCC_OPS) { + const char * name = roctracer_op_string(record->domain, record->op, record->kind); + fprintf(hcc_activity_file_handle, "%lu:%lu %d:%lu %s:%lu\n", + record->begin_ns, record->end_ns, record->device_id, record->queue_id, name, record->correlation_id); } else { +#if 0 fprintf(stderr, "Bad domain %d\n", record->domain); abort(); +#endif } - if (record->op == hc::HSA_OP_ID_COPY) fprintf(hcc_activity_file_handle, " bytes(0x%zx)", record->bytes); - fprintf(hcc_activity_file_handle, "\n"); - fflush(hcc_activity_file_handle); ROCTRACER_CALL(roctracer_next_record(record, &record)); } } From e071cad2e380fafc666b0ae85eba6a8fc36834dc Mon Sep 17 00:00:00 2001 From: Evgeny Date: Mon, 4 Feb 2019 17:22:26 -0600 Subject: [PATCH 096/691] build script: fixing roctracer root path --- build.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/build.sh b/build.sh index ecd9c900df..f0bdaf473b 100755 --- a/build.sh +++ b/build.sh @@ -1,4 +1,5 @@ #!/bin/bash -x +SRC_DIR=`dirname $0` COMPONENT="roctracer" ROCM_PATH="/opt/rocm" @@ -9,7 +10,7 @@ fatal() { umask 022 -if [ -z "$ROCTRACER_ROOT" ]; then ROCTRACER_ROOT=$PWD; fi +if [ -z "$ROCTRACER_ROOT" ]; then ROCTRACER_ROOT=$SRC_DIR; fi if [ -z "$BUILD_DIR" ] ; then BUILD_DIR=$PWD; fi if [ -z "$HIP_PATH" ] ; then export HIP_PATH="$ROCM_PATH/hip"; fi if [ -z "$HCC_HOME" ] ; then export HCC_HOME="$ROCM_PATH/hcc"; fi From 940fe8e14f1680448b8fe87e7cffc1179c0ebca9 Mon Sep 17 00:00:00 2001 From: eshcherb <33529668+eshcherb@users.noreply.github.com> Date: Mon, 4 Feb 2019 17:36:21 -0600 Subject: [PATCH 097/691] Update README.md update: using of main development HIP/HCC branches --- README.md | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 480e4c9f51..a31751f1fe 100644 --- a/README.md +++ b/README.md @@ -26,15 +26,15 @@ The library source tree: ``` cd - - CLone roctracer and custom branches of HIP/HCC: + - CLone development branches of roctracer and HIP/HCC: git clone -b amd-master https://github.com/ROCmSoftwarePlatform/roctracer.git - git clone -b roctracer-hip-frontend-181113 https://github.com/eshcherb/HIP.git - git clone --recursive -b roctracer-hip-frontend-181113 https://github.com/eshcherb/hcc.git + git clone -b master https://github.com/eshcherb/HIP.git + git clone --recursive -b clang_tot_upgrade https://github.com/eshcherb/hcc.git - Set environment: export HIP_PATH=/HIP export HCC_HOME=/hcc/build - export CMAKE_PREFIX_PATH=/opt/rocm/lib:/opt/rocm/include/hsa + export CMAKE_PREFIX_PATH=/opt/rocm/lib - Build HCC: cd /hcc && mkdir build && cd build && @@ -48,8 +48,9 @@ The library source tree: - Build ROCtracer cd /roctracer && mkdir build && cd build && cmake -DCMAKE_INSTALL_PREFIX=/opt/rocm .. && make -j - - To run test - make mytest + - To build and run test + make mytest + run.sh - To install make install From 2b0452fd5fb8f05bea2afe03392312a704697f5a Mon Sep 17 00:00:00 2001 From: Evgeny Date: Mon, 4 Feb 2019 17:57:16 -0600 Subject: [PATCH 098/691] changing pool size from log2 to bytes --- src/core/roctracer.cpp | 4 +--- test/MatrixTranspose_test/MatrixTranspose.cpp | 2 +- test/tool/tracer_tool.cpp | 2 +- 3 files changed, 3 insertions(+), 5 deletions(-) diff --git a/src/core/roctracer.cpp b/src/core/roctracer.cpp index bba7b1b69c..36821c5733 100644 --- a/src/core/roctracer.cpp +++ b/src/core/roctracer.cpp @@ -152,8 +152,7 @@ class MemoryPool { } // Pool definition - buffer_size_shift_ = properties.buffer_size; - buffer_size_ = 1 << buffer_size_shift_; + buffer_size_ = properties.buffer_size; const size_t pool_size = 2 * buffer_size_; pool_begin_ = NULL; alloc_fun_(&pool_begin_, pool_size, alloc_arg_); @@ -272,7 +271,6 @@ class MemoryPool { void* alloc_arg_; // Pool definition - size_t buffer_size_shift_; size_t buffer_size_; char* pool_begin_; char* pool_end_; diff --git a/test/MatrixTranspose_test/MatrixTranspose.cpp b/test/MatrixTranspose_test/MatrixTranspose.cpp index 46da11567b..dffb0eb984 100644 --- a/test/MatrixTranspose_test/MatrixTranspose.cpp +++ b/test/MatrixTranspose_test/MatrixTranspose.cpp @@ -247,7 +247,7 @@ void init_tracing() { std::cout << "# START #############################" << std::endl << std::flush; // Allocating tracing pool roctracer_properties_t properties{}; - properties.buffer_size = 12; + properties.buffer_size = 0x1000; properties.buffer_callback_fun = activity_callback; ROCTRACER_CALL(roctracer_open_pool(&properties)); } diff --git a/test/tool/tracer_tool.cpp b/test/tool/tracer_tool.cpp index 7fd50a32a3..dc90625142 100644 --- a/test/tool/tracer_tool.cpp +++ b/test/tool/tracer_tool.cpp @@ -329,7 +329,7 @@ extern "C" PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, printf(" HIP-trace()\n"); // Allocating tracing pool roctracer_properties_t properties{}; - properties.buffer_size = 12; + properties.buffer_size = 0x1000; properties.buffer_callback_fun = hcc_activity_callback; ROCTRACER_CALL(roctracer_open_pool(&properties)); ROCTRACER_CALL(roctracer_enable_domain_activity(ACTIVITY_DOMAIN_HCC_OPS)); From 2899c7769a1b0b7e9fca4f6b3048e1cd431af59f Mon Sep 17 00:00:00 2001 From: eshcherb <33529668+eshcherb@users.noreply.github.com> Date: Mon, 4 Feb 2019 18:17:00 -0600 Subject: [PATCH 099/691] Update README.md typo fix --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a31751f1fe..733c9f9afc 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,7 @@ The library source tree: ## Documentation ``` - API description: inc/roctracer.h - - Code exaple: test/MatrixTranspose/MatrixTranspose.cpp + - Code example: test/MatrixTranspose/MatrixTranspose.cpp ``` ## To build and run test From 14df45688b8ddb5b89498911892fa12e157a68d2 Mon Sep 17 00:00:00 2001 From: eshcherb <33529668+eshcherb@users.noreply.github.com> Date: Fri, 8 Feb 2019 19:58:58 -0600 Subject: [PATCH 100/691] Update README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 733c9f9afc..c472da6333 100644 --- a/README.md +++ b/README.md @@ -28,8 +28,8 @@ The library source tree: - CLone development branches of roctracer and HIP/HCC: git clone -b amd-master https://github.com/ROCmSoftwarePlatform/roctracer.git - git clone -b master https://github.com/eshcherb/HIP.git - git clone --recursive -b clang_tot_upgrade https://github.com/eshcherb/hcc.git + git clone -b master https://github.com/ROCm-Developer-Tools/HIP + git clone --recursive -b clang_tot_upgrade https://github.com/RadeonOpenCompute/hcc - Set environment: export HIP_PATH=/HIP From e33268318dd740b8fa2c401ce895007782d48323 Mon Sep 17 00:00:00 2001 From: eshcherb <33529668+eshcherb@users.noreply.github.com> Date: Fri, 8 Feb 2019 19:59:34 -0600 Subject: [PATCH 101/691] Update README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index c472da6333..d9d26126fb 100644 --- a/README.md +++ b/README.md @@ -28,8 +28,8 @@ The library source tree: - CLone development branches of roctracer and HIP/HCC: git clone -b amd-master https://github.com/ROCmSoftwarePlatform/roctracer.git - git clone -b master https://github.com/ROCm-Developer-Tools/HIP - git clone --recursive -b clang_tot_upgrade https://github.com/RadeonOpenCompute/hcc + git clone -b master https://github.com/ROCm-Developer-Tools/HIP.git + git clone --recursive -b clang_tot_upgrade https://github.com/RadeonOpenCompute/hcc.git - Set environment: export HIP_PATH=/HIP From d85efa735802549f5dcc98b5d4bc6f6ffe98b1dc Mon Sep 17 00:00:00 2001 From: eshcherb <33529668+eshcherb@users.noreply.github.com> Date: Fri, 8 Feb 2019 20:01:44 -0600 Subject: [PATCH 102/691] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index d9d26126fb..90d5a08d95 100644 --- a/README.md +++ b/README.md @@ -34,7 +34,7 @@ The library source tree: - Set environment: export HIP_PATH=/HIP export HCC_HOME=/hcc/build - export CMAKE_PREFIX_PATH=/opt/rocm/lib + export CMAKE_PREFIX_PATH=/opt/rocm - Build HCC: cd /hcc && mkdir build && cd build && From 73a5d5ed27d65bffcf362b607e16d7c5402c1a65 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Tue, 19 Feb 2019 10:57:39 -0600 Subject: [PATCH 103/691] advancing hsa-class revision --- test/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index d0bc7220c7..709e4c12b2 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -49,7 +49,7 @@ target_link_libraries ( ${TEST_LIB} ${ROCTRACER_TARGET} ${HSA_RUNTIME_LIB} c std ## Build HSA test execute_process ( COMMAND sh -xc "if [ ! -e ${TEST_DIR}/hsa ] ; then git clone https://github.com/ROCmSoftwarePlatform/hsa-class.git ${TEST_DIR}/hsa; fi" ) -execute_process ( COMMAND sh -xc "if [ -e ${TEST_DIR}/hsa ] ; then cd ${TEST_DIR}/hsa && git checkout 3e7a87f; fi" ) +execute_process ( COMMAND sh -xc "if [ -e ${TEST_DIR}/hsa ] ; then cd ${TEST_DIR}/hsa && git checkout e771707; fi" ) set ( TEST_DIR ${HSA_TEST_DIR} ) add_subdirectory ( ${TEST_DIR} ${PROJECT_BINARY_DIR}/test/hsa ) From b15861dcc92a62c128de3c4ba53beb0273ab059d Mon Sep 17 00:00:00 2001 From: eshcherb <33529668+eshcherb@users.noreply.github.com> Date: Wed, 20 Feb 2019 14:47:42 -0600 Subject: [PATCH 104/691] Update README.md --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 90d5a08d95..6c886ba703 100644 --- a/README.md +++ b/README.md @@ -8,13 +8,15 @@ The API provides functionality for registering the runtimes API callbacks and asyncronous activity records pool support. ``` -The library source tree: +## The library source tree +``` - inc/roctracer.h - Library public API - src - Library sources - core - Library API sources - util - Library utils sources - test - test suit - MatrixTranspose - test based on HIP MatrixTranspose sample +``` ## Documentation ``` From 5dd9f0d9b25880af2e9966246ca7ef16afc3b3aa Mon Sep 17 00:00:00 2001 From: Evgeny Date: Thu, 7 Mar 2019 23:57:04 -0600 Subject: [PATCH 105/691] fix instance creation --- src/core/loader.h | 26 +++++++++++++++++--------- src/core/roctracer.cpp | 4 ++-- 2 files changed, 19 insertions(+), 11 deletions(-) diff --git a/src/core/loader.h b/src/core/loader.h index 0df9b491fb..e23855e2a2 100644 --- a/src/core/loader.h +++ b/src/core/loader.h @@ -43,9 +43,13 @@ class HipLoader : protected Loader { typedef decltype(hipKernelNameRef) KernelNameRef_t; static HipLoader& Instance() { - std::lock_guard lck(mutex_); - if (instance_ == NULL) { - instance_ = new HipLoader(); + HipLoader* obj = instance_.load(std::memory_order_acquire); + if (obj == NULL) { + std::lock_guard lck(mutex_); + if (instance_.load(std::memory_order_relaxed) == NULL) { + obj = new HipLoader(); + instance_.store(obj, std::memory_order_release); + } } return *instance_; } @@ -65,7 +69,7 @@ class HipLoader : protected Loader { KernelNameRef_t* KernelNameRef; private: - static HipLoader* instance_; + static std::atomic instance_; }; // HCC runtime library loader class @@ -80,11 +84,15 @@ class HccLoader : protected Loader { static HccLoader* GetRef() { return instance_; } static HccLoader& Instance() { - std::lock_guard lck(mutex_); - if (instance_ == NULL) { - instance_ = new HccLoader(); + HccLoader* obj = instance_.load(std::memory_order_acquire); + if (obj == NULL) { + std::lock_guard lck(mutex_); + if (instance_.load(std::memory_order_relaxed) == NULL) { + obj = new HccLoader(); + instance_.store(obj, std::memory_order_release); + } } - return *instance_; + return *obj; } HccLoader() : Loader("libmcwamp.so") { @@ -101,7 +109,7 @@ class HccLoader : protected Loader { GetCmdName_t* GetCmdName; private: - static HccLoader* instance_; + static std::atomic instance_; }; } // namespace roctracer diff --git a/src/core/roctracer.cpp b/src/core/roctracer.cpp index 36821c5733..acb94c0cfd 100644 --- a/src/core/roctracer.cpp +++ b/src/core/roctracer.cpp @@ -441,8 +441,8 @@ typedef std::recursive_mutex memory_pool_mutex_t; memory_pool_mutex_t memory_pool_mutex; Loader::mutex_t Loader::mutex_; -HipLoader* HipLoader::instance_; -HccLoader* HccLoader::instance_; +std::atomic HipLoader::instance_{}; +std::atomic HccLoader::instance_{}; } proxy::Tracker* proxy::Tracker::instance_ = NULL; From d2216d0f9cb5eafdc33470ec7a16a6783301e4ff Mon Sep 17 00:00:00 2001 From: Evgeny Date: Mon, 11 Mar 2019 21:15:34 -0500 Subject: [PATCH 106/691] minor cosmetic output change --- test/run.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/test/run.sh b/test/run.sh index da939d2fd5..a52ba111f6 100755 --- a/test/run.sh +++ b/test/run.sh @@ -28,6 +28,7 @@ export HSA_TOOLS_REPORT_LOAD_FAILURE=1 export LD_LIBRARY_PATH=$PWD # test check routin test_status=0 +test_number=0 eval_test() { label=$1 cmdline=$2 @@ -39,6 +40,7 @@ eval_test() { else echo "$label: PASSED" fi + test_number=$(($test_number + 1)) } # Standalone test @@ -77,5 +79,5 @@ eval_test "tool HSA test input" "LD_PRELOAD='$HSA_TOOLS_LIB' ./test/hsa/ctrl" #valgrind --tool=massif $tbin #ms_print massif.out. -if [ $test_status != 0 ] ; then echo "$test_status tests failed"; fi +echo "$test_number tests total / $test_status tests failed" exit $test_status From 69a480a971e2fc37b36077084fc98686e8cfc348 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Wed, 13 Mar 2019 15:54:47 -0500 Subject: [PATCH 107/691] instance creation fix --- src/core/roctracer.cpp | 4 +- src/proxy/tracker.h | 16 +++- src/util/hsa_rsrc_factory.cpp | 173 +++++++++++++++++++++++++--------- src/util/hsa_rsrc_factory.h | 66 +++++++++++-- src/util/logger.h | 35 ++++--- test/CMakeLists.txt | 2 +- 6 files changed, 223 insertions(+), 73 deletions(-) diff --git a/src/core/roctracer.cpp b/src/core/roctracer.cpp index acb94c0cfd..b2f4fbcc59 100644 --- a/src/core/roctracer.cpp +++ b/src/core/roctracer.cpp @@ -435,7 +435,7 @@ hsa_status_t hsa_amd_memory_async_copy_rect_interceptor( } util::Logger::mutex_t util::Logger::mutex_; -util::Logger* util::Logger::instance_ = NULL; +std::atomic util::Logger::instance_{}; MemoryPool* memory_pool = NULL; typedef std::recursive_mutex memory_pool_mutex_t; memory_pool_mutex_t memory_pool_mutex; @@ -445,7 +445,7 @@ std::atomic HipLoader::instance_{}; std::atomic HccLoader::instance_{}; } -proxy::Tracker* proxy::Tracker::instance_ = NULL; +std::atomic proxy::Tracker::instance_{}; proxy::Tracker::mutex_t proxy::Tracker::glob_mutex_; proxy::Tracker::counter_t proxy::Tracker::counter_ = 0; diff --git a/src/proxy/tracker.h b/src/proxy/tracker.h index 69c71551cb..190d6caf60 100644 --- a/src/proxy/tracker.h +++ b/src/proxy/tracker.h @@ -71,13 +71,19 @@ class Tracker { static Tracker* Create() { std::lock_guard lck(glob_mutex_); - if (instance_ == NULL) instance_ = new Tracker; - return instance_; + Tracker* obj = instance_.load(std::memory_order_relaxed); + if (obj == NULL) { + obj = new Tracker; + if (obj == NULL) EXC_ABORT(HSA_STATUS_ERROR, "Tracker creation failed"); + instance_.store(obj, std::memory_order_release); + } + return obj; } static Tracker& Instance() { - if (instance_ == NULL) instance_ = Create(); - return *instance_; + Tracker* obj = instance_.load(std::memory_order_acquire); + if (obj == NULL) obj = Create(); + return *obj; } static void Destroy() { @@ -257,7 +263,7 @@ class Tracker { } // instance - static Tracker* instance_; + static std::atomic instance_; static mutex_t glob_mutex_; static counter_t counter_; diff --git a/src/util/hsa_rsrc_factory.cpp b/src/util/hsa_rsrc_factory.cpp index 1d0f6c6d4f..97e599b3d8 100644 --- a/src/util/hsa_rsrc_factory.cpp +++ b/src/util/hsa_rsrc_factory.cpp @@ -76,13 +76,13 @@ static hsa_status_t FindGlobalPool(hsa_amd_memory_pool_t pool, void* data, bool return HSA_STATUS_ERROR_INVALID_ARGUMENT; } - err = hsa_amd_memory_pool_get_info(pool, HSA_AMD_MEMORY_POOL_INFO_SEGMENT, &segment); + err = HsaRsrcFactory::HsaApi()->hsa_amd_memory_pool_get_info(pool, HSA_AMD_MEMORY_POOL_INFO_SEGMENT, &segment); CHECK_STATUS("hsa_amd_memory_pool_get_info", err); if (HSA_AMD_SEGMENT_GLOBAL != segment) { return HSA_STATUS_SUCCESS; } - err = hsa_amd_memory_pool_get_info(pool, HSA_AMD_MEMORY_POOL_INFO_GLOBAL_FLAGS, &flag); + err = HsaRsrcFactory::HsaApi()->hsa_amd_memory_pool_get_info(pool, HSA_AMD_MEMORY_POOL_INFO_GLOBAL_FLAGS, &flag); CHECK_STATUS("hsa_amd_memory_pool_get_info", err); uint32_t karg_st = flag & HSA_AMD_MEMORY_POOL_GLOBAL_FLAG_KERNARG_INIT; @@ -116,14 +116,16 @@ HsaRsrcFactory::HsaRsrcFactory(bool initialize_hsa) : initialize_hsa_(initialize cpu_pool_ = NULL; kern_arg_pool_ = NULL; + InitHsaApiTable(NULL); + // Initialize the Hsa Runtime if (initialize_hsa_) { - status = hsa_init(); + status = hsa_api_.hsa_init(); CHECK_STATUS("Error in hsa_init", status); } // Discover the set of Gpu devices available on the platform - status = hsa_iterate_agents(GetHsaAgentsCallback, this); + status = hsa_api_.hsa_iterate_agents(GetHsaAgentsCallback, this); CHECK_STATUS("Error Calling hsa_iterate_agents", status); if (cpu_pool_ == NULL) CHECK_STATUS("CPU memory pool is not found", HSA_STATUS_ERROR); if (kern_arg_pool_ == NULL) CHECK_STATUS("Kern-arg memory pool is not found", HSA_STATUS_ERROR); @@ -133,13 +135,13 @@ HsaRsrcFactory::HsaRsrcFactory(bool initialize_hsa) : initialize_hsa_(initialize #ifdef ROCP_LD_AQLPROFILE status = LoadAqlProfileLib(&aqlprofile_api_); #else - status = hsa_system_get_major_extension_table(HSA_EXTENSION_AMD_AQLPROFILE, hsa_ven_amd_aqlprofile_VERSION_MAJOR, sizeof(aqlprofile_api_), &aqlprofile_api_); + status = hsa_api_.hsa_system_get_major_extension_table(HSA_EXTENSION_AMD_AQLPROFILE, hsa_ven_amd_aqlprofile_VERSION_MAJOR, sizeof(aqlprofile_api_), &aqlprofile_api_); #endif CHECK_STATUS("aqlprofile API table load failed", status); // Get Loader API table loader_api_ = {0}; - status = hsa_system_get_major_extension_table(HSA_EXTENSION_AMD_LOADER, 1, sizeof(loader_api_), &loader_api_); + status = hsa_api_.hsa_system_get_major_extension_table(HSA_EXTENSION_AMD_LOADER, 1, sizeof(loader_api_), &loader_api_); CHECK_STATUS("loader API table query failed", status); // Instantiate HSA timer @@ -157,11 +159,93 @@ HsaRsrcFactory::~HsaRsrcFactory() { for (auto p : cpu_list_) delete p; for (auto p : gpu_list_) delete p; if (initialize_hsa_) { - hsa_status_t status = hsa_shut_down(); + hsa_status_t status = hsa_api_.hsa_shut_down(); CHECK_STATUS("Error in hsa_shut_down", status); } } +void HsaRsrcFactory::InitHsaApiTable(HsaApiTable* table) { + std::lock_guard lck(mutex_); + + if (hsa_api_.hsa_init == NULL) { + if (table != NULL) { + hsa_api_.hsa_init = table->core_->hsa_init_fn; + hsa_api_.hsa_shut_down = table->core_->hsa_shut_down_fn; + hsa_api_.hsa_agent_get_info = table->core_->hsa_agent_get_info_fn; + + hsa_api_.hsa_iterate_agents = table->core_->hsa_iterate_agents_fn; + + hsa_api_.hsa_queue_create = table->core_->hsa_queue_create_fn; + hsa_api_.hsa_queue_destroy = table->core_->hsa_queue_destroy_fn; + hsa_api_.hsa_queue_load_write_index_relaxed = table->core_->hsa_queue_load_write_index_relaxed_fn; + hsa_api_.hsa_queue_store_write_index_relaxed = table->core_->hsa_queue_store_write_index_relaxed_fn; + hsa_api_.hsa_queue_load_read_index_relaxed = table->core_->hsa_queue_load_read_index_relaxed_fn; + hsa_api_.hsa_signal_create = table->core_->hsa_signal_create_fn; + hsa_api_.hsa_signal_destroy = table->core_->hsa_signal_destroy_fn; + hsa_api_.hsa_signal_load_relaxed = table->core_->hsa_signal_load_relaxed_fn; + hsa_api_.hsa_signal_store_relaxed = table->core_->hsa_signal_store_relaxed_fn; + hsa_api_.hsa_signal_store_screlease = table->core_->hsa_signal_store_screlease_fn; + hsa_api_.hsa_signal_wait_scacquire = table->core_->hsa_signal_wait_scacquire_fn; + + hsa_api_.hsa_system_get_major_extension_table = table->core_->hsa_system_get_major_extension_table_fn; + + hsa_api_.hsa_code_object_reader_create_from_file = table->core_->hsa_code_object_reader_create_from_file_fn; + hsa_api_.hsa_executable_create_alt = table->core_->hsa_executable_create_alt_fn; + hsa_api_.hsa_executable_load_agent_code_object = table->core_->hsa_executable_load_agent_code_object_fn; + hsa_api_.hsa_executable_freeze = table->core_->hsa_executable_freeze_fn; + hsa_api_.hsa_executable_get_symbol = table->core_->hsa_executable_get_symbol_fn; + + hsa_api_.hsa_amd_agent_iterate_memory_pools = table->amd_ext_->hsa_amd_agent_iterate_memory_pools_fn; + hsa_api_.hsa_amd_memory_pool_get_info = table->amd_ext_->hsa_amd_memory_pool_get_info_fn; + hsa_api_.hsa_amd_memory_pool_allocate = table->amd_ext_->hsa_amd_memory_pool_allocate_fn; + hsa_api_.hsa_amd_agents_allow_access = table->amd_ext_->hsa_amd_agents_allow_access_fn; + + hsa_api_.hsa_amd_memory_async_copy = table->amd_ext_->hsa_amd_memory_async_copy_fn; + + hsa_api_.hsa_amd_signal_async_handler = table->amd_ext_->hsa_amd_signal_async_handler_fn; + hsa_api_.hsa_amd_profiling_get_async_copy_time = table->amd_ext_->hsa_amd_profiling_get_async_copy_time_fn; + hsa_api_.hsa_amd_profiling_get_dispatch_time = table->amd_ext_->hsa_amd_profiling_get_dispatch_time_fn; + } else { + hsa_api_.hsa_init = hsa_init; + hsa_api_.hsa_shut_down = hsa_shut_down; + hsa_api_.hsa_agent_get_info = hsa_agent_get_info; + + hsa_api_.hsa_iterate_agents = hsa_iterate_agents; + + hsa_api_.hsa_queue_create = hsa_queue_create; + hsa_api_.hsa_queue_destroy = hsa_queue_destroy; + hsa_api_.hsa_queue_load_write_index_relaxed = hsa_queue_load_write_index_relaxed; + hsa_api_.hsa_queue_store_write_index_relaxed = hsa_queue_store_write_index_relaxed; + hsa_api_.hsa_queue_load_read_index_relaxed = hsa_queue_load_read_index_relaxed; + hsa_api_.hsa_signal_create = hsa_signal_create; + hsa_api_.hsa_signal_destroy = hsa_signal_destroy; + hsa_api_.hsa_signal_store_relaxed = hsa_signal_store_relaxed; + hsa_api_.hsa_signal_wait_scacquire = hsa_signal_wait_scacquire; + + hsa_api_.hsa_amd_agent_iterate_memory_pools = hsa_amd_agent_iterate_memory_pools; + hsa_api_.hsa_amd_memory_pool_get_info = hsa_amd_memory_pool_get_info; + hsa_api_.hsa_amd_memory_pool_allocate = hsa_amd_memory_pool_allocate; + hsa_api_.hsa_amd_agents_allow_access = hsa_amd_agents_allow_access; + + hsa_api_.hsa_amd_memory_async_copy = hsa_amd_memory_async_copy; + + hsa_api_.hsa_system_get_major_extension_table = hsa_system_get_major_extension_table; + + hsa_api_.hsa_code_object_reader_create_from_file = hsa_code_object_reader_create_from_file; + hsa_api_.hsa_executable_create_alt = hsa_executable_create_alt; + hsa_api_.hsa_executable_load_agent_code_object = hsa_executable_load_agent_code_object; + hsa_api_.hsa_executable_freeze = hsa_executable_freeze; + hsa_api_.hsa_executable_get_symbol = hsa_executable_get_symbol; + + hsa_api_.hsa_amd_signal_async_handler = hsa_amd_signal_async_handler; + hsa_api_.hsa_amd_profiling_get_async_copy_time = hsa_amd_profiling_get_async_copy_time; + hsa_api_.hsa_amd_profiling_get_dispatch_time = hsa_amd_profiling_get_dispatch_time; + hsa_api_.hsa_signal_load_relaxed = hsa_signal_load_relaxed; + hsa_api_.hsa_signal_store_screlease = hsa_signal_store_screlease; + } + } +} + hsa_status_t HsaRsrcFactory::LoadAqlProfileLib(aqlprofile_pfn_t* api) { void* handle = dlopen(kAqlProfileLib, RTLD_NOW); if (handle == NULL) { @@ -203,7 +287,7 @@ const AgentInfo* HsaRsrcFactory::AddAgentInfo(const hsa_agent_t agent) { AgentInfo* agent_info = NULL; hsa_device_type_t type; - status = hsa_agent_get_info(agent, HSA_AGENT_INFO_DEVICE, &type); + status = hsa_api_.hsa_agent_get_info(agent, HSA_AGENT_INFO_DEVICE, &type); CHECK_STATUS("Error Calling hsa_agent_get_info", status); if (type == HSA_DEVICE_TYPE_CPU) { @@ -212,9 +296,9 @@ const AgentInfo* HsaRsrcFactory::AddAgentInfo(const hsa_agent_t agent) { agent_info->dev_type = HSA_DEVICE_TYPE_CPU; agent_info->dev_index = cpu_list_.size(); - status = hsa_amd_agent_iterate_memory_pools(agent, FindStandardPool, &agent_info->cpu_pool); + status = hsa_api_.hsa_amd_agent_iterate_memory_pools(agent, FindStandardPool, &agent_info->cpu_pool); if ((status == HSA_STATUS_INFO_BREAK) && (cpu_pool_ == NULL)) cpu_pool_ = &agent_info->cpu_pool; - status = hsa_amd_agent_iterate_memory_pools(agent, FindKernArgPool, &agent_info->kern_arg_pool); + status = hsa_api_.hsa_amd_agent_iterate_memory_pools(agent, FindKernArgPool, &agent_info->kern_arg_pool); if ((status == HSA_STATUS_INFO_BREAK) && (kern_arg_pool_ == NULL)) kern_arg_pool_ = &agent_info->kern_arg_pool; agent_info->gpu_pool = {}; @@ -226,28 +310,28 @@ const AgentInfo* HsaRsrcFactory::AddAgentInfo(const hsa_agent_t agent) { agent_info = new AgentInfo{}; agent_info->dev_id = agent; agent_info->dev_type = HSA_DEVICE_TYPE_GPU; - hsa_agent_get_info(agent, HSA_AGENT_INFO_NAME, agent_info->name); + hsa_api_.hsa_agent_get_info(agent, HSA_AGENT_INFO_NAME, agent_info->name); strncpy(agent_info->gfxip, agent_info->name, 4); agent_info->gfxip[4] = '\0'; - hsa_agent_get_info(agent, HSA_AGENT_INFO_WAVEFRONT_SIZE, &agent_info->max_wave_size); - hsa_agent_get_info(agent, HSA_AGENT_INFO_QUEUE_MAX_SIZE, &agent_info->max_queue_size); - hsa_agent_get_info(agent, HSA_AGENT_INFO_PROFILE, &agent_info->profile); + hsa_api_.hsa_agent_get_info(agent, HSA_AGENT_INFO_WAVEFRONT_SIZE, &agent_info->max_wave_size); + hsa_api_.hsa_agent_get_info(agent, HSA_AGENT_INFO_QUEUE_MAX_SIZE, &agent_info->max_queue_size); + hsa_api_.hsa_agent_get_info(agent, HSA_AGENT_INFO_PROFILE, &agent_info->profile); agent_info->is_apu = (agent_info->profile == HSA_PROFILE_FULL) ? true : false; - hsa_agent_get_info(agent, static_cast(HSA_AMD_AGENT_INFO_COMPUTE_UNIT_COUNT), + hsa_api_.hsa_agent_get_info(agent, static_cast(HSA_AMD_AGENT_INFO_COMPUTE_UNIT_COUNT), &agent_info->cu_num); - hsa_agent_get_info(agent, static_cast(HSA_AMD_AGENT_INFO_MAX_WAVES_PER_CU), + hsa_api_.hsa_agent_get_info(agent, static_cast(HSA_AMD_AGENT_INFO_MAX_WAVES_PER_CU), &agent_info->waves_per_cu); - hsa_agent_get_info(agent, static_cast(HSA_AMD_AGENT_INFO_NUM_SIMDS_PER_CU), + hsa_api_.hsa_agent_get_info(agent, static_cast(HSA_AMD_AGENT_INFO_NUM_SIMDS_PER_CU), &agent_info->simds_per_cu); - hsa_agent_get_info(agent, static_cast(HSA_AMD_AGENT_INFO_NUM_SHADER_ENGINES), + hsa_api_.hsa_agent_get_info(agent, static_cast(HSA_AMD_AGENT_INFO_NUM_SHADER_ENGINES), &agent_info->se_num); - hsa_agent_get_info(agent, + hsa_api_.hsa_agent_get_info(agent, static_cast(HSA_AMD_AGENT_INFO_NUM_SHADER_ARRAYS_PER_SE), &agent_info->shader_arrays_per_se); agent_info->cpu_pool = {}; agent_info->kern_arg_pool = {}; - status = hsa_amd_agent_iterate_memory_pools(agent, FindStandardPool, &agent_info->gpu_pool); + status = hsa_api_.hsa_amd_agent_iterate_memory_pools(agent, FindStandardPool, &agent_info->gpu_pool); CHECK_ITER_STATUS("hsa_amd_agent_iterate_memory_pools(gpu pool)", status); // Set GPU index @@ -338,7 +422,7 @@ bool HsaRsrcFactory::GetCpuAgentInfo(uint32_t idx, const AgentInfo** agent_info) bool HsaRsrcFactory::CreateQueue(const AgentInfo* agent_info, uint32_t num_pkts, hsa_queue_t** queue) { hsa_status_t status; - status = hsa_queue_create(agent_info->dev_id, num_pkts, HSA_QUEUE_TYPE_MULTI, NULL, NULL, + status = hsa_api_.hsa_queue_create(agent_info->dev_id, num_pkts, HSA_QUEUE_TYPE_MULTI, NULL, NULL, UINT32_MAX, UINT32_MAX, queue); return (status == HSA_STATUS_SUCCESS); } @@ -349,7 +433,7 @@ bool HsaRsrcFactory::CreateQueue(const AgentInfo* agent_info, uint32_t num_pkts, // @return bool true if successful, false otherwise bool HsaRsrcFactory::CreateSignal(uint32_t value, hsa_signal_t* signal) { hsa_status_t status; - status = hsa_signal_create(value, 0, NULL, signal); + status = hsa_api_.hsa_signal_create(value, 0, NULL, signal); return (status == HSA_STATUS_SUCCESS); } @@ -362,7 +446,7 @@ uint8_t* HsaRsrcFactory::AllocateLocalMemory(const AgentInfo* agent_info, size_t hsa_status_t status = HSA_STATUS_ERROR; uint8_t* buffer = NULL; size = (size + MEM_PAGE_MASK) & ~MEM_PAGE_MASK; - status = hsa_amd_memory_pool_allocate(agent_info->gpu_pool, size, 0, reinterpret_cast(&buffer)); + status = hsa_api_.hsa_amd_memory_pool_allocate(agent_info->gpu_pool, size, 0, reinterpret_cast(&buffer)); uint8_t* ptr = (status == HSA_STATUS_SUCCESS) ? buffer : NULL; return ptr; } @@ -377,11 +461,11 @@ uint8_t* HsaRsrcFactory::AllocateKernArgMemory(const AgentInfo* agent_info, size uint8_t* buffer = NULL; if (!cpu_agents_.empty()) { size = (size + MEM_PAGE_MASK) & ~MEM_PAGE_MASK; - status = hsa_amd_memory_pool_allocate(*kern_arg_pool_, size, 0, reinterpret_cast(&buffer)); + status = hsa_api_.hsa_amd_memory_pool_allocate(*kern_arg_pool_, size, 0, reinterpret_cast(&buffer)); // Both the CPU and GPU can access the kernel arguments if (status == HSA_STATUS_SUCCESS) { hsa_agent_t ag_list[1] = {agent_info->dev_id}; - status = hsa_amd_agents_allow_access(1, ag_list, NULL, buffer); + status = hsa_api_.hsa_amd_agents_allow_access(1, ag_list, NULL, buffer); } } uint8_t* ptr = (status == HSA_STATUS_SUCCESS) ? buffer : NULL; @@ -397,11 +481,11 @@ uint8_t* HsaRsrcFactory::AllocateSysMemory(const AgentInfo* agent_info, size_t s uint8_t* buffer = NULL; size = (size + MEM_PAGE_MASK) & ~MEM_PAGE_MASK; if (!cpu_agents_.empty()) { - status = hsa_amd_memory_pool_allocate(*cpu_pool_, size, 0, reinterpret_cast(&buffer)); + status = hsa_api_.hsa_amd_memory_pool_allocate(*cpu_pool_, size, 0, reinterpret_cast(&buffer)); // Both the CPU and GPU can access the memory if (status == HSA_STATUS_SUCCESS) { hsa_agent_t ag_list[1] = {agent_info->dev_id}; - status = hsa_amd_agents_allow_access(1, ag_list, NULL, buffer); + status = hsa_api_.hsa_amd_agents_allow_access(1, ag_list, NULL, buffer); } } uint8_t* ptr = (status == HSA_STATUS_SUCCESS) ? buffer : NULL; @@ -425,12 +509,12 @@ uint8_t* HsaRsrcFactory::AllocateCmdMemory(const AgentInfo* agent_info, size_t s void HsaRsrcFactory::SignalWait(const hsa_signal_t& signal) const { while (1) { const hsa_signal_value_t signal_value = - hsa_signal_wait_scacquire(signal, HSA_SIGNAL_CONDITION_LT, 1, timeout_, HSA_WAIT_STATE_BLOCKED); + hsa_api_.hsa_signal_wait_scacquire(signal, HSA_SIGNAL_CONDITION_LT, 1, timeout_, HSA_WAIT_STATE_BLOCKED); if (signal_value == 0) { break; } else { - if (signal_value == 1) { WARN_LOGGING("signal waiting..."); } - else { EXC_RAISING(HSA_STATUS_ERROR, "hsa_signal_wait_scacquire (" << signal_value << ")"); } + if (signal_value == 1) WARN_LOGGING("signal waiting..."); + else EXC_RAISING(HSA_STATUS_ERROR, "hsa_signal_wait_scacquire (" << signal_value << ")"); } } } @@ -438,7 +522,7 @@ void HsaRsrcFactory::SignalWait(const hsa_signal_t& signal) const { // Wait signal with signal value restore void HsaRsrcFactory::SignalWaitRestore(const hsa_signal_t& signal, const hsa_signal_value_t& signal_value) const { SignalWait(signal); - hsa_signal_store_relaxed(const_cast(signal), signal_value); + hsa_api_.hsa_signal_store_relaxed(const_cast(signal), signal_value); } // Copy data from GPU to host memory @@ -446,12 +530,12 @@ bool HsaRsrcFactory::Memcpy(const hsa_agent_t& agent, void* dst, const void* src hsa_status_t status = HSA_STATUS_ERROR; if (!cpu_agents_.empty()) { hsa_signal_t s = {}; - status = hsa_signal_create(1, 0, NULL, &s); + status = hsa_api_.hsa_signal_create(1, 0, NULL, &s); CHECK_STATUS("hsa_signal_create()", status); - status = hsa_amd_memory_async_copy(dst, cpu_agents_[0], src, agent, size, 0, NULL, s); + status = hsa_api_.hsa_amd_memory_async_copy(dst, cpu_agents_[0], src, agent, size, 0, NULL, s); CHECK_STATUS("hsa_amd_memory_async_copy()", status); SignalWait(s); - status = hsa_signal_destroy(s); + status = hsa_api_.hsa_signal_destroy(s); CHECK_STATUS("hsa_signal_destroy()", status); } return (status == HSA_STATUS_SUCCESS); @@ -493,29 +577,29 @@ bool HsaRsrcFactory::LoadAndFinalize(const AgentInfo* agent_info, const char* br // Create code object reader hsa_code_object_reader_t code_obj_rdr = {0}; - status = hsa_code_object_reader_create_from_file(file_handle, &code_obj_rdr); + status = hsa_api_.hsa_code_object_reader_create_from_file(file_handle, &code_obj_rdr); if (status != HSA_STATUS_SUCCESS) { std::cerr << "Failed to create code object reader '" << filename << "'" << std::endl; return false; } // Create executable. - status = hsa_executable_create_alt(HSA_PROFILE_FULL, HSA_DEFAULT_FLOAT_ROUNDING_MODE_DEFAULT, + status = hsa_api_.hsa_executable_create_alt(HSA_PROFILE_FULL, HSA_DEFAULT_FLOAT_ROUNDING_MODE_DEFAULT, NULL, executable); CHECK_STATUS("Error in creating executable object", status); // Load code object. - status = hsa_executable_load_agent_code_object(*executable, agent_info->dev_id, code_obj_rdr, + status = hsa_api_.hsa_executable_load_agent_code_object(*executable, agent_info->dev_id, code_obj_rdr, NULL, NULL); CHECK_STATUS("Error in loading executable object", status); // Freeze executable. - status = hsa_executable_freeze(*executable, ""); + status = hsa_api_.hsa_executable_freeze(*executable, ""); CHECK_STATUS("Error in freezing executable object", status); // Get symbol handle. hsa_executable_symbol_t kernelSymbol; - status = hsa_executable_get_symbol(*executable, NULL, kernel_name, agent_info->dev_id, 0, + status = hsa_api_.hsa_executable_get_symbol(*executable, NULL, kernel_name, agent_info->dev_id, 0, &kernelSymbol); CHECK_STATUS("Error in looking up kernel symbol", status); @@ -553,9 +637,9 @@ uint64_t HsaRsrcFactory::Submit(hsa_queue_t* queue, const void* packet) { const uint32_t slot_size_b = CMD_SLOT_SIZE_B; // adevance command queue - const uint64_t write_idx = hsa_queue_load_write_index_relaxed(queue); - hsa_queue_store_write_index_relaxed(queue, write_idx + 1); - while ((write_idx - hsa_queue_load_read_index_relaxed(queue)) >= queue->size) { + const uint64_t write_idx = hsa_api_.hsa_queue_load_write_index_relaxed(queue); + hsa_api_.hsa_queue_store_write_index_relaxed(queue, write_idx + 1); + while ((write_idx - hsa_api_.hsa_queue_load_read_index_relaxed(queue)) >= queue->size) { sched_yield(); } @@ -572,7 +656,7 @@ uint64_t HsaRsrcFactory::Submit(hsa_queue_t* queue, const void* packet) { header_atomic_ptr->store(slot_data[0], std::memory_order_release); // ringdoor bell - hsa_signal_store_relaxed(queue->doorbell_signal, write_idx); + hsa_api_.hsa_signal_store_relaxed(queue->doorbell_signal, write_idx); return write_idx; } @@ -594,8 +678,9 @@ uint64_t HsaRsrcFactory::Submit(hsa_queue_t* queue, const void* packet, size_t s return write_idx; } -HsaRsrcFactory* HsaRsrcFactory::instance_ = NULL; +std::atomic HsaRsrcFactory::instance_{}; HsaRsrcFactory::mutex_t HsaRsrcFactory::mutex_; HsaRsrcFactory::timestamp_t HsaRsrcFactory::timeout_ns_ = HsaTimer::TIMESTAMP_MAX; +hsa_pfn_t HsaRsrcFactory::hsa_api_{}; } // namespace util diff --git a/src/util/hsa_rsrc_factory.h b/src/util/hsa_rsrc_factory.h index 8d8b914dc7..d99240d34e 100644 --- a/src/util/hsa_rsrc_factory.h +++ b/src/util/hsa_rsrc_factory.h @@ -26,6 +26,7 @@ POSSIBILITY OF SUCH DAMAGE. #define SRC_UTIL_HSA_RSRC_FACTORY_H_ #include +#include #include #include #include @@ -35,6 +36,7 @@ POSSIBILITY OF SUCH DAMAGE. #include #include +#include #include #include #include @@ -68,6 +70,44 @@ static const size_t MEM_PAGE_BYTES = 0x1000; static const size_t MEM_PAGE_MASK = MEM_PAGE_BYTES - 1; typedef decltype(hsa_agent_t::handle) hsa_agent_handle_t; +struct hsa_pfn_t { + decltype(hsa_init)* hsa_init; + decltype(hsa_shut_down)* hsa_shut_down; + decltype(hsa_agent_get_info)* hsa_agent_get_info; + + decltype(hsa_iterate_agents)* hsa_iterate_agents; + + decltype(hsa_queue_create)* hsa_queue_create; + decltype(hsa_queue_destroy)* hsa_queue_destroy; + decltype(hsa_queue_load_write_index_relaxed)* hsa_queue_load_write_index_relaxed; + decltype(hsa_queue_store_write_index_relaxed)* hsa_queue_store_write_index_relaxed; + decltype(hsa_queue_load_read_index_relaxed)* hsa_queue_load_read_index_relaxed; + decltype(hsa_signal_create)* hsa_signal_create; + decltype(hsa_signal_destroy)* hsa_signal_destroy; + decltype(hsa_signal_store_relaxed)* hsa_signal_store_relaxed; + decltype(hsa_signal_wait_scacquire)* hsa_signal_wait_scacquire; + + decltype(hsa_amd_agent_iterate_memory_pools)* hsa_amd_agent_iterate_memory_pools; + decltype(hsa_amd_memory_pool_get_info)* hsa_amd_memory_pool_get_info; + decltype(hsa_amd_memory_pool_allocate)* hsa_amd_memory_pool_allocate; + decltype(hsa_amd_agents_allow_access)* hsa_amd_agents_allow_access; + decltype(hsa_amd_memory_async_copy)* hsa_amd_memory_async_copy; + + decltype(hsa_system_get_major_extension_table)* hsa_system_get_major_extension_table; + + decltype(hsa_code_object_reader_create_from_file)* hsa_code_object_reader_create_from_file; + decltype(hsa_executable_create_alt)* hsa_executable_create_alt; + decltype(hsa_executable_load_agent_code_object)* hsa_executable_load_agent_code_object; + decltype(hsa_executable_freeze)* hsa_executable_freeze; + decltype(hsa_executable_get_symbol)* hsa_executable_get_symbol; + + decltype(hsa_amd_signal_async_handler)* hsa_amd_signal_async_handler; + decltype(hsa_amd_profiling_get_async_copy_time)* hsa_amd_profiling_get_async_copy_time; + decltype(hsa_amd_profiling_get_dispatch_time)* hsa_amd_profiling_get_dispatch_time; + decltype(hsa_signal_load_relaxed)* hsa_signal_load_relaxed; + decltype(hsa_signal_store_screlease)* hsa_signal_store_screlease; +}; + // Encapsulates information about a Hsa Agent such as its // handle, name, max queue size, max wavefront size, etc. struct AgentInfo { @@ -163,17 +203,20 @@ class HsaRsrcFactory { static HsaRsrcFactory* Create(bool initialize_hsa = true) { std::lock_guard lck(mutex_); - if (instance_ == NULL) { - instance_ = new HsaRsrcFactory(initialize_hsa); + HsaRsrcFactory* obj = instance_.load(std::memory_order_relaxed); + if (obj == NULL) { + obj = new HsaRsrcFactory(initialize_hsa); + instance_.store(obj, std::memory_order_release); } - return instance_; + return obj; } static HsaRsrcFactory& Instance() { - if (instance_ == NULL) instance_ = Create(false); - hsa_status_t status = (instance_ != NULL) ? HSA_STATUS_SUCCESS : HSA_STATUS_ERROR; + HsaRsrcFactory* obj = instance_.load(std::memory_order_acquire); + if (obj == NULL) obj = Create(false); + hsa_status_t status = (obj != NULL) ? HSA_STATUS_SUCCESS : HSA_STATUS_ERROR; CHECK_STATUS("HsaRsrcFactory::Instance() failed", status); - return *instance_; + return *obj; } static void Destroy() { @@ -275,6 +318,10 @@ class HsaRsrcFactory { static uint64_t Submit(hsa_queue_t* queue, const void* packet); static uint64_t Submit(hsa_queue_t* queue, const void* packet, size_t size_bytes); + // Initialize HSA API table + void static InitHsaApiTable(HsaApiTable* table); + static const hsa_pfn_t* HsaApi() { return &hsa_api_; } + // Return AqlProfile API table typedef hsa_ven_amd_aqlprofile_pfn_t aqlprofile_pfn_t; const aqlprofile_pfn_t* AqlProfileApi() const { return &aqlprofile_api_; } @@ -292,7 +339,7 @@ class HsaRsrcFactory { static void SetTimeoutNs(const timestamp_t& time) { std::lock_guard lck(mutex_); timeout_ns_ = time; - if (instance_ != NULL) instance_->timeout_ = instance_->timer_->ns_to_sysclock(time); + if (instance_ != NULL) Instance().timeout_ = Instance().timer_->ns_to_sysclock(time); } private: @@ -321,7 +368,7 @@ class HsaRsrcFactory { // HSA was initialized const bool initialize_hsa_; - static HsaRsrcFactory* instance_; + static std::atomic instance_; static mutex_t mutex_; // Used to maintain a list of Hsa Gpu Agent Info @@ -335,6 +382,9 @@ class HsaRsrcFactory { // System agents map std::map agent_map_; + // HSA runtime API table + static hsa_pfn_t hsa_api_; + // AqlProfile API table aqlprofile_pfn_t aqlprofile_api_; diff --git a/src/util/logger.h b/src/util/logger.h index d0b9640737..5ed90c4a50 100644 --- a/src/util/logger.h +++ b/src/util/logger.h @@ -75,8 +75,16 @@ class Logger { static Logger* Create() { std::lock_guard lck(mutex_); - if (instance_ == NULL) instance_ = new Logger(); - return instance_; + Logger* obj = instance_.load(std::memory_order_relaxed); + if (obj == NULL) { + obj = new Logger(); + if (obj == NULL) { + std::cerr << "ROCTracer: log object creation failed" << std::endl << std::flush; + abort(); + } + instance_.store(obj, std::memory_order_release); + } + return obj; } static void Destroy() { @@ -86,8 +94,9 @@ class Logger { } static Logger& Instance() { - Create(); - return *instance_; + Logger* obj = instance_.load(std::memory_order_acquire); + if (obj == NULL) obj = Create(); + return *obj; } private: @@ -152,7 +161,7 @@ class Logger { bool messaging_; static mutex_t mutex_; - static Logger* instance_; + static std::atomic instance_; std::map message_; }; @@ -160,32 +169,32 @@ class Logger { } // namespace roctracer #define ERR_LOGGING(stream) \ - { \ + do { \ roctracer::util::Logger::Instance() << "error: " << roctracer::util::Logger::begm \ << stream << roctracer::util::Logger::endl; \ - } + } while(0) #define INFO_LOGGING(stream) \ - { \ + do { \ roctracer::util::Logger::Instance() << "info: " << roctracer::util::Logger::begm << stream \ << roctracer::util::Logger::endl; \ - } + } while(0) #define WARN_LOGGING(stream) \ - { \ + do { \ std::cerr << "ROCProfiler: " << stream << std::endl; \ roctracer::util::Logger::Instance() << "warning: " << roctracer::util::Logger::begm << stream \ << roctracer::util::Logger::endl; \ - } + } while(0) #ifdef DEBUG #define DBG_LOGGING(stream) \ - { \ + do { \ roctracer::util::Logger::Instance() << roctracer::util::Logger::begm << "debug: \"" \ << stream << "\"" < < < < \ " in " << __FUNCTION__ << " at " << __FILE__ << " line " << __LINE__ \ << roctracer::util::Logger::endl; \ - } + } while(0) #endif #endif // SRC_UTIL_LOGGER_H_ diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 709e4c12b2..c00db39ceb 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -49,7 +49,7 @@ target_link_libraries ( ${TEST_LIB} ${ROCTRACER_TARGET} ${HSA_RUNTIME_LIB} c std ## Build HSA test execute_process ( COMMAND sh -xc "if [ ! -e ${TEST_DIR}/hsa ] ; then git clone https://github.com/ROCmSoftwarePlatform/hsa-class.git ${TEST_DIR}/hsa; fi" ) -execute_process ( COMMAND sh -xc "if [ -e ${TEST_DIR}/hsa ] ; then cd ${TEST_DIR}/hsa && git checkout e771707; fi" ) +execute_process ( COMMAND sh -xc "if [ -e ${TEST_DIR}/hsa ] ; then cd ${TEST_DIR}/hsa && git checkout 5b0d1af; fi" ) set ( TEST_DIR ${HSA_TEST_DIR} ) add_subdirectory ( ${TEST_DIR} ${PROJECT_BINARY_DIR}/test/hsa ) From 61973ffdbb523f8525c06fe50d5fcb43c1e26b7c Mon Sep 17 00:00:00 2001 From: Evgeny Date: Wed, 13 Mar 2019 21:30:29 -0500 Subject: [PATCH 108/691] update --- script/hipap.py | 259 ++++++++++++++++++++++++++++++------------------ 1 file changed, 162 insertions(+), 97 deletions(-) diff --git a/script/hipap.py b/script/hipap.py index fe29b73da7..8c4af3e9f4 100755 --- a/script/hipap.py +++ b/script/hipap.py @@ -1,11 +1,11 @@ #!/usr/bin/python import os, sys, re -HEADER = "hip_cbstr.h" +HEADER = "hip_prof_str.h" REC_MAX_LEN = 1024 ############################################################# -# Filling API map with API call name and args +# Normalizing API arguments def filtr_api_args(args_str): args_str = re.sub(r'^\s*', r'', args_str); args_str = re.sub(r'\s*$', r'', args_str); @@ -15,6 +15,7 @@ def filtr_api_args(args_str): args_str = re.sub(r'(enum|struct) ', '', args_str); return args_str +# Creating a list of arguments [(type, name), ...] def list_api_args(args_str): args_list = [] for arg_pair in args_str.split(','): @@ -30,6 +31,7 @@ def list_api_args(args_str): args_list.append((arg_type, arg_name)) return args_list; +# Creating arguments string "type0, type1, ..." def filtr_api_types(args_str): args_str = filtr_api_args(args_str) args_list = list_api_args(args_str) @@ -38,11 +40,13 @@ def filtr_api_types(args_str): types_str += arg_tuple[0] + ', ' return types_str +# Normalizing types def norm_api_types(types_str): types_str = re.sub(r'uint32_t,', r'unsigned int,', types_str) types_str = re.sub(r'unsigned,', r'unsigned int,', types_str) return types_str +# Creating options list [name0, name1, ...] def filtr_api_opts(args_str): args_str = filtr_api_args(args_str) args_list = list_api_args(args_str) @@ -51,18 +55,19 @@ def filtr_api_opts(args_str): opts_list.append(arg_tuple[1]) return opts_list +# Filling API map with API call name and args def fill_api_map(out, api_name, args_str): args_str = filtr_api_args(args_str) out[api_name + '.a'] = args_str out[api_name] = list_api_args(args_str) -def patch_args(api_opts, eta_opts, content): - api_opts_list = api_opts.split(','); - eta_opts_list = eta_opts.split(','); - length = len(api_opts_list) - for index in range(0, length): - content = re.sub(' ' + api_opts_list[index], ' ' + eta_opts_list[index], content) - return content +#def patch_args(api_opts, eta_opts, content): +# api_opts_list = api_opts.split(','); +# eta_opts_list = eta_opts.split(','); +# length = len(api_opts_list) +# for index in range(0, length): +# content = re.sub(' ' + api_opts_list[index], ' ' + eta_opts_list[index], content) +# return content ############################################################# # Parsing API header # hipError_t hipSetupArgument(const void* arg, size_t size, size_t offset); @@ -103,24 +108,40 @@ def parse_api(inp_file, out): # Patching API implementation # hipError_t hipSetupArgument(const void* arg, size_t size, size_t offset) { # HIP_INIT_CB(hipSetupArgument, arg, size, offset); +# inp_file - input implementation source file +# api_map - input public API map [] => +# out - output map [] => def patch_content(inp_file, api_map, out): - beg_pattern = re.compile("^hipError_t"); - api_pattern = re.compile("^hipError_t\s+([^\(]+)\(([^\)]*)\)\s*{"); + # API definition begin pattern + beg_pattern = re.compile("^(hipError_t|const char\s*\*\s+[_\w]+\()"); + # API definition complete pattern + api_pattern = re.compile("^(hipError_t|const char\s*\*)\s+([^\(]+)\(([^\)]*)\)\s*{"); + # API init macro pattern + init_pattern = re.compile("^\s*HIP_INIT[_\w]*_API\(([^,]+)(,|\))"); target_pattern = re.compile("^(\s*HIP_INIT[^\(]*)(_API\()(.*)\);\s*$"); + # Open input file inp = open(inp_file, 'r') + # API name api_name = "" + # Valid public API found flag api_valid = 0 - api_valid_always = 1 + # Input file patched content content = '' + # Sub content for found API defiition sub_content = '' + # Current record, accumulating several API definition related lines record = '' + # Current input file line number line_num = -1 + # API beginning found flag found = 0 + # Reading input file for line in inp.readlines(): + # Accumulating record record += re.sub(r'^\s+', r' ', line[:-1]) line_num += 1 @@ -128,50 +149,91 @@ def patch_content(inp_file, api_map, out): print "Error: bad record \"" + record + "\"\nfile '" + inp_file + ", line (" + str(line_num) + ")" break; + # Looking for API begin if beg_pattern.match(record): found = 1 - if found != 0: + # Matching complete API definition + if found == 1: record = re.sub("\s__dparm\([^\)]*\)", '', record); m = api_pattern.match(record) + # Checking if complete API matched if m: - found = 0 - api_name = m.group(1); + found = 2 + api_name = m.group(2); + # Checking if API name is in the API map if api_name in api_map: - api_args = filtr_api_args(m.group(2)) + # Getting API arguments + api_args = m.group(3) + # Getting etalon arguments from the API map eta_args = api_map[api_name] + # Normalizing API arguments api_types = filtr_api_types(api_args) + # Normalizing etalon arguments eta_types = filtr_api_types(eta_args) + # Comparing API and etalon arguments + # Normalizing types if not matching + api_types_n = api_types + eta_types_n = eta_types if api_types != eta_types: - api_types = norm_api_types(api_types) - eta_types = norm_api_types(eta_types) - if api_types == eta_types: + api_types_n = norm_api_types(api_types) + eta_types_n = norm_api_types(eta_types) + # Comparing API and etalon arguments + if api_types_n == eta_types_n: + # API is already found if api_name in out: - print "Error: API redefined \"" + api_name + "\", record \"" + record + "\"\nfile '" + inp_file + ", line (" + str(line_num) + ")" + print "Error: API redefined \"" + api_name + "\", record \"" + record + "\"\nfile '" + inp_file + "', line (" + str(line_num) + ")" sys.exit(1) + # Set valid public API found flag api_valid = 1 + # Set output API map with API arguments out[api_name] = filtr_api_opts(api_args) - elif not api_name in out: - api_diff = '\t\t' + inp_file + " line(" + str(line_num) + ")\n\t\tapi: " + api_types + "\n\t\teta: " + eta_types + else: + # Warning about mismatched API, possible non public overloaded version + api_diff = '\t\t' + inp_file + " line(" + str(line_num) + ")\n\t\tapi: " + api_types_n + "\n\t\teta: " + eta_types_n print "\t" + api_name + ':\n' + api_diff + '\n' - content += sub_content - sub_content = '' - else: - sub_content += line - continue - - if (api_valid_always == 1) || (api_valid == 1): - m = target_pattern.match(line) + # API found action + if found == 2: + # Looking for INIT macro + m = init_pattern.match(line) if m: - api_valid = 0 - if not re.search("_CB_API\(", line): + found = 0 + if api_valid == 1: + api_valid = 0 print (api_name); - api_label = api_name - if m.group(3) != "": api_label += ', ' - line = m.group(1) + '_CB' + m.group(2) + api_label + m.group(3) + ");\n" + else: + # Registering dummy API for non public API if the name in INIT is not NONE + dummy_name = m.group(1) + if (not dummy_name in api_map) and (dummy_name != 'NONE'): + if dummy_name in out: + print "Error: API reinit \"" + api_name + "\", record \"" + record + "\"\nfile '" + inp_file + "', line (" + str(line_num) + ")" + sys.exit(1) + out[dummy_name] = [] + elif re.search('}', line): + found = 0 + # Expect INIT macro for valid public API + if api_valid == 1: + api_valid = 0 + print "\tAPI init missing \"" + api_name + "\", record \"" + record + "\"\n\tfile '" + inp_file + "', line (" + str(line_num) + ")" + if api_name in out: + del out[api_name] + else: + print "Error: API is not in out \"" + api_name + "\", record \"" + record + "\"\nfile '" + inp_file + "', line (" + str(line_num) + ")" + sys.exit(1) +# # Valid API found action +# if api_valid == 1: +# m = target_pattern.match(line) +# if m: +# api_valid = 0 +# if not re.search("_CB_API\(", line): +# print (api_name); +# api_label = api_name +# if m.group(3) != "": api_label += ', ' +# line = m.group(1) + '_CB' + m.group(2) + api_label + m.group(3) + ");\n" + + if found != 1: record = "" content += line - record = "" inp.close() @@ -201,6 +263,7 @@ def patch_src(api_map, src_path, src_patt, out): # Usage if (len(sys.argv) < 2): print >>sys.stderr, "Usage:", sys.argv[0], " [patched srcs path]" + print >>sys.stderr, " $ hipap.py hip/include/hip/hcc_detail/hip_runtime_api.h hip/src" sys.exit(1) # API header file given as an argument @@ -213,6 +276,8 @@ if not os.path.isfile(api_hfile): api_map = {} # API options map opts_map = {} +# Private API list +priv_lst = [] # Parsing API header parse_api(api_hfile, api_map) @@ -236,41 +301,42 @@ if len(opts_map) != 0: if not name in opts_map: print "Not found: " + name ############################################################# -# Generating the header -#api_map['hipLaunchKernel'] = [ -# ('void*', 'kernel'), -# ('hipStream_t', 'stream') -#] -#api_map['hipKernel'] = [ -# ('const char*', 'name'), -# ('uint64_t', 'start'), -# ('uint64_t', 'end') -#] f = open(HEADER, 'w') f.write('// automatically generated sources\n') -f.write('#ifndef _HIP_CBSTR_H\n'); -f.write('#define _HIP_CBSTR_H\n'); +f.write('#ifndef _HIP_PROF_STR_H\n'); +f.write('#define _HIP_PROF_STR_H\n'); f.write('#include \n'); f.write('#include \n'); -# Generating the callbacks function type -f.write('\n// HIP API callbacks function type\n\ -struct hip_cb_data_t;\n\ -struct hip_act_record_t;\n\ -typedef void (*hip_cb_fun_t)(uint32_t domain, uint32_t cid, const void* data, void* arg);\n\ -typedef void (*hip_cb_act_t)(uint32_t cid, hip_act_record_t** record, const void* data, void* arg);\n\ -typedef void (*hip_cb_async_t)(uint32_t op_id, void* record, void* arg);\n\ -') +# Generating dummy macro for non-public API +f.write('\n// Dummy API primitives\n') +f.write('#define INIT_NONE_CB_ARGS_DATA(cb_data) {};\n') +for name in opts_map: + if not name in api_map: + opts_lst = opts_map[name] + if len(opts_lst) != 0: + print ("Error: bad dummy API \"" + name + "\", args: ", opts_lst) + sys.exit(1) + f.write('#define INIT_'+ name + '_CB_ARGS_DATA(cb_data) {};\n') + priv_lst.append(name) + +for name in priv_lst: + print "Private: ", name # Generating the callbacks ID enumaration f.write('\n// HIP API callbacks ID enumaration\n') -f.write('enum hip_cb_id_t {\n') +f.write('enum hip_api_id_t {\n') cb_id = 0 for name in api_map.keys(): f.write(' HIP_API_ID_' + name + ' = ' + str(cb_id) + ',\n') cb_id += 1 f.write(' HIP_API_ID_NUMBER = ' + str(cb_id) + ',\n') +f.write(' HIP_API_ID_ANY = ' + str(cb_id + 1) + ',\n') +f.write('\n') +f.write(' HIP_API_ID_NONE = HIP_API_ID_NUMBER,\n') +for name in priv_lst: + f.write(' HIP_API_ID_' + name + ' = HIP_API_ID_NUMBER,\n') f.write('};\n') # Generating the callbacks ID enumaration @@ -286,7 +352,7 @@ f.write('};\n') # Generating the callbacks data structure f.write('\n// HIP API callbacks data structure\n') f.write( -'struct hip_cb_data_t {\n' + +'struct hip_api_data_t {\n' + ' uint64_t correlation_id;\n' + ' uint32_t phase;\n' + ' union {\n' @@ -306,17 +372,16 @@ f.write( f.write('\n// HIP API callbacks args data filling macros\n') for name, args in api_map.items(): f.write('#define INIT_' + name + '_CB_ARGS_DATA(cb_data) { \\\n') - opts_list = [] if name in opts_map: opts_list = opts_map[name] - for ind in range(0, len(args)): - arg_tuple = args[ind] - arg_type = arg_tuple[0] - fld_name = arg_tuple[1] - arg_name = arg_tuple[1] - if len(opts_list) != 0: + if len(args) != len(opts_list): + print ("Error: \"" + name + "\" API args and opts mismatch, args: ", args, ", opts: ", opts_list) + for ind in range(0, len(args)): + arg_tuple = args[ind] + arg_type = arg_tuple[0] + fld_name = arg_tuple[1] arg_name = opts_list[ind] - f.write(' cb_data.args.' + name + '.' + fld_name + ' = (' + arg_type + ')' + arg_name + '; \\\n') + f.write(' cb_data.args.' + name + '.' + fld_name + ' = (' + arg_type + ')' + arg_name + '; \\\n') f.write('};\n') f.write('#define INIT_CB_ARGS_DATA(cb_id, cb_data) INIT_##cb_id##_CB_ARGS_DATA(cb_data)\n') @@ -324,7 +389,7 @@ f.write('#define INIT_CB_ARGS_DATA(cb_id, cb_data) INIT_##cb_id##_CB_ARGS_DATA(c f.write('\n') f.write('#if 0\n') f.write('// HIP API string method, method name and parameters\n') -f.write('const char* hipApiString(hip_cb_id_t id, const hip_cb_data_t* data) {\n') +f.write('const char* hipApiString(hip_api_id_t id, const hip_api_data_t* data) {\n') f.write(' std::ostringstream oss;\n') f.write(' switch (id) {\n') for name, args in api_map.items(): @@ -343,35 +408,35 @@ f.write(' return strdup(oss.str().c_str());\n') f.write('};\n') f.write('#endif\n') -# Generating the activity record type -f.write('\ -\n\ -// HIP API activity record type\n\ -// Base record type\n\ -struct hip_act_record_t {\n\ - uint32_t domain; // activity domain id\n\ - uint32_t op_id; // operation id, dispatch/copy/barrier\n\ - uint32_t activity_kind; // activity kind\n\ - uint64_t correlation_id; // activity correlation ID\n\ - uint64_t begin_ns; // host begin timestamp, nano-seconds\n\ - uint64_t end_ns; // host end timestamp, nano-seconds\n\ -};\n\ -// Async record type\n\ -struct hip_async_record_t : hip_act_record_t {\n\ - int device_id;\n\ - uint64_t stream_id;\n\ -};\n\ -// Dispatch record type\n\ -struct hip_dispatch_record_t : hip_async_record_t {};\n\ -// Barrier record type\n\ -struct hip_barrier_record_t : hip_async_record_t {};\n\ -// Memcpy record type\n\ -struct hip_copy_record_t : hip_async_record_t {\n\ - size_t bytes;\n\ -};\n\ -// Generic async operation record\n\ -typedef hip_copy_record_t hip_ops_record_t;\n\ -') +# # Generating the activity record type +# f.write('\ +# \n\ +# // HIP API activity record type\n\ +# // Base record type\n\ +# struct hip_act_record_t {\n\ +# uint32_t domain; // activity domain id\n\ +# uint32_t op_id; // operation id, dispatch/copy/barrier\n\ +# uint32_t activity_kind; // activity kind\n\ +# uint64_t correlation_id; // activity correlation ID\n\ +# uint64_t begin_ns; // host begin timestamp, nano-seconds\n\ +# uint64_t end_ns; // host end timestamp, nano-seconds\n\ +# };\n\ +# // Async record type\n\ +# struct hip_async_record_t : hip_act_record_t {\n\ +# int device_id;\n\ +# uint64_t stream_id;\n\ +# };\n\ +# // Dispatch record type\n\ +# struct hip_dispatch_record_t : hip_async_record_t {};\n\ +# // Barrier record type\n\ +# struct hip_barrier_record_t : hip_async_record_t {};\n\ +# // Memcpy record type\n\ +# struct hip_copy_record_t : hip_async_record_t {\n\ +# size_t bytes;\n\ +# };\n\ +# // Generic async operation record\n\ +# typedef hip_copy_record_t hip_ops_record_t;\n\ +# ') # # Generating the callbacks table # f.write('\n// HIP API callbacks table\n') @@ -437,7 +502,7 @@ typedef hip_copy_record_t hip_ops_record_t;\n\ # api_callbacks_spawner_t api_callbacks_spawner(cb_data); \n\ # ') -f.write('#endif // _HIP_CBSTR\n'); +f.write('#endif // _HIP_PROF_STR_H\n'); print "Header '" + HEADER + "' is generated" ############################################################# From 235762d3947ee650062556f405104965731a50e4 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Thu, 14 Mar 2019 20:31:41 -0500 Subject: [PATCH 109/691] hip API parser update, not found error --- script/hipap.py | 214 +++++++++++++++--------------------------------- 1 file changed, 64 insertions(+), 150 deletions(-) diff --git a/script/hipap.py b/script/hipap.py index 8c4af3e9f4..d1f7082ee4 100755 --- a/script/hipap.py +++ b/script/hipap.py @@ -15,59 +15,45 @@ def filtr_api_args(args_str): args_str = re.sub(r'(enum|struct) ', '', args_str); return args_str +# Normalizing types +def norm_api_types(type_str): + type_str = re.sub(r'uint32_t', r'unsigned int', type_str) + type_str = re.sub(r'^unsigned$', r'unsigned int', type_str) + return type_str + # Creating a list of arguments [(type, name), ...] def list_api_args(args_str): + args_str = filtr_api_args(args_str) args_list = [] - for arg_pair in args_str.split(','): - arg_pair = re.sub(r'\s+=\s+\S+$','', arg_pair); - m = re.match("^(.*)\s(\S+)$", arg_pair); - if m: - arg_type = m.group(1) - arg_name = m.group(2) -# m = re.match("^(.*_t)\s(.*)$", arg_type) -# if m: -# arg_type = m.group(1) -# arg_name = m.group(2) - args_list.append((arg_type, arg_name)) + if args_str != '': + for arg_pair in args_str.split(','): + if arg_pair == 'void': continue + arg_pair = re.sub(r'\s*=\s*\S+$','', arg_pair); + m = re.match("^(.*)\s(\S+)$", arg_pair); + if m: + arg_type = norm_api_types(m.group(1)) + arg_name = m.group(2) + args_list.append((arg_type, arg_name)) + else: + print "Bad args: args_str: '" + args_str + "' arg_pair: '" + arg_pair + "'" + sys.exit(1) return args_list; # Creating arguments string "type0, type1, ..." def filtr_api_types(args_str): - args_str = filtr_api_args(args_str) args_list = list_api_args(args_str) types_str = '' for arg_tuple in args_list: types_str += arg_tuple[0] + ', ' return types_str -# Normalizing types -def norm_api_types(types_str): - types_str = re.sub(r'uint32_t,', r'unsigned int,', types_str) - types_str = re.sub(r'unsigned,', r'unsigned int,', types_str) - return types_str - # Creating options list [name0, name1, ...] def filtr_api_opts(args_str): - args_str = filtr_api_args(args_str) args_list = list_api_args(args_str) opts_list = [] for arg_tuple in args_list: opts_list.append(arg_tuple[1]) return opts_list - -# Filling API map with API call name and args -def fill_api_map(out, api_name, args_str): - args_str = filtr_api_args(args_str) - out[api_name + '.a'] = args_str - out[api_name] = list_api_args(args_str) - -#def patch_args(api_opts, eta_opts, content): -# api_opts_list = api_opts.split(','); -# eta_opts_list = eta_opts.split(','); -# length = len(api_opts_list) -# for index in range(0, length): -# content = re.sub(' ' + api_opts_list[index], ' ' + eta_opts_list[index], content) -# return content ############################################################# # Parsing API header # hipError_t hipSetupArgument(const void* arg, size_t size, size_t offset); @@ -75,10 +61,15 @@ def parse_api(inp_file, out): beg_pattern = re.compile("^hipError_t"); api_pattern = re.compile("^hipError_t\s+([^\(]+)\(([^\)]*)\)"); end_pattern = re.compile("Texture"); + hidden_pattern = re.compile(r'__attribute__\(\(visibility\("hidden"\)\)\)') + nms_open_pattern = re.compile(r'namespace hip_impl {') + nms_close_pattern = re.compile(r'}') inp = open(inp_file, 'r') found = 0 + hidden = 0 + nms_level = 0; record = "" line_num = -1 @@ -90,7 +81,7 @@ def parse_api(inp_file, out): print "Error: bad record \"" + record + "\"\nfile '" + inp_file + ", line (" + str(line_num) + ")" break; - if beg_pattern.match(record): found = 1 + if beg_pattern.match(record) and (hidden == 0) and (nms_level == 0): found = 1 if found != 0: record = re.sub("\s__dparm\([^\)]*\)", '', record); @@ -98,9 +89,19 @@ def parse_api(inp_file, out): if m: found = 0 if end_pattern.search(record): break - out[m.group(1)] = filtr_api_args(m.group(2)) + out[m.group(1)] = m.group(2) else: continue + hidden = 0 + if hidden_pattern.match(line): hidden = 1 +# print "> " + str(hidden) + ": " + line + + if nms_open_pattern.match(line): nms_level += 1 + if (nms_level > 0) and nms_close_pattern.match(line): nms_level -= 1 + if nms_level < 0: + print "Error: nms level < 0" + sys.exit(1) + record = "" inp.close() @@ -162,21 +163,27 @@ def patch_content(inp_file, api_map, out): api_name = m.group(2); # Checking if API name is in the API map if api_name in api_map: + #print "> " + api_name # Getting API arguments api_args = m.group(3) # Getting etalon arguments from the API map eta_args = api_map[api_name] + if eta_args == '': + eta_args = api_args + api_map[api_name] = eta_args # Normalizing API arguments api_types = filtr_api_types(api_args) + #print "> " + api_name, ": '" + api_args + "' : '" + api_types + "'" # Normalizing etalon arguments eta_types = filtr_api_types(eta_args) + #print "> " + api_name + ": '" + eta_args + "' : '" + eta_types + "'" # Comparing API and etalon arguments # Normalizing types if not matching api_types_n = api_types eta_types_n = eta_types - if api_types != eta_types: - api_types_n = norm_api_types(api_types) - eta_types_n = norm_api_types(eta_types) + #if api_types != eta_types: + # api_types_n = norm_api_types(api_types) + # eta_types_n = norm_api_types(eta_types) # Comparing API and etalon arguments if api_types_n == eta_types_n: # API is already found @@ -185,7 +192,7 @@ def patch_content(inp_file, api_map, out): sys.exit(1) # Set valid public API found flag api_valid = 1 - # Set output API map with API arguments + # Set output API map with API arguments list out[api_name] = filtr_api_opts(api_args) else: # Warning about mismatched API, possible non public overloaded version @@ -214,24 +221,14 @@ def patch_content(inp_file, api_map, out): # Expect INIT macro for valid public API if api_valid == 1: api_valid = 0 - print "\tAPI init missing \"" + api_name + "\", record \"" + record + "\"\n\tfile '" + inp_file + "', line (" + str(line_num) + ")" if api_name in out: del out[api_name] + del api_map[api_name] + out['.' + api_name] = 1 else: print "Error: API is not in out \"" + api_name + "\", record \"" + record + "\"\nfile '" + inp_file + "', line (" + str(line_num) + ")" sys.exit(1) -# # Valid API found action -# if api_valid == 1: -# m = target_pattern.match(line) -# if m: -# api_valid = 0 -# if not re.search("_CB_API\(", line): -# print (api_name); -# api_label = api_name -# if m.group(3) != "": api_label += ', ' -# line = m.group(1) + '_CB' + m.group(2) + api_label + m.group(3) + ");\n" - if found != 1: record = "" content += line @@ -273,7 +270,9 @@ if not os.path.isfile(api_hfile): sys.exit(1) # API declaration map -api_map = {} +api_map = { + 'hipHccModuleLaunchKernel': '' +} # API options map opts_map = {} # Private API list @@ -289,17 +288,26 @@ if len(sys.argv) == 3: src_patt = "\.cpp$" patch_src(api_map, src_path, src_patt, opts_map) -# Converting api map to map of lists -for name in api_map.keys(): - args_str = api_map[name]; +# Checking for non-conformant APIs +for name in opts_map.keys(): + m = re.match(r'\.(\S*)', name) + if m: + print "Init missing: " + m.group(1) + del opts_map[name] +# Converting api map to map of lists # Printing not found APIs +not_found = 0 if len(opts_map) != 0: for name in api_map.keys(): args_str = api_map[name]; api_map[name] = list_api_args(args_str) if not name in opts_map: print "Not found: " + name + not_found += 1 +if not_found != 0: + print "Error:", not_found, "API calls not found" + sys.exit(1) ############################################################# f = open(HEADER, 'w') @@ -375,7 +383,7 @@ for name, args in api_map.items(): if name in opts_map: opts_list = opts_map[name] if len(args) != len(opts_list): - print ("Error: \"" + name + "\" API args and opts mismatch, args: ", args, ", opts: ", opts_list) + print "Error: \"" + name + "\" API args and opts mismatch, args: ", args, ", opts: ", opts_list for ind in range(0, len(args)): arg_tuple = args[ind] arg_type = arg_tuple[0] @@ -408,100 +416,6 @@ f.write(' return strdup(oss.str().c_str());\n') f.write('};\n') f.write('#endif\n') -# # Generating the activity record type -# f.write('\ -# \n\ -# // HIP API activity record type\n\ -# // Base record type\n\ -# struct hip_act_record_t {\n\ -# uint32_t domain; // activity domain id\n\ -# uint32_t op_id; // operation id, dispatch/copy/barrier\n\ -# uint32_t activity_kind; // activity kind\n\ -# uint64_t correlation_id; // activity correlation ID\n\ -# uint64_t begin_ns; // host begin timestamp, nano-seconds\n\ -# uint64_t end_ns; // host end timestamp, nano-seconds\n\ -# };\n\ -# // Async record type\n\ -# struct hip_async_record_t : hip_act_record_t {\n\ -# int device_id;\n\ -# uint64_t stream_id;\n\ -# };\n\ -# // Dispatch record type\n\ -# struct hip_dispatch_record_t : hip_async_record_t {};\n\ -# // Barrier record type\n\ -# struct hip_barrier_record_t : hip_async_record_t {};\n\ -# // Memcpy record type\n\ -# struct hip_copy_record_t : hip_async_record_t {\n\ -# size_t bytes;\n\ -# };\n\ -# // Generic async operation record\n\ -# typedef hip_copy_record_t hip_ops_record_t;\n\ -# ') - -# # Generating the callbacks table -# f.write('\n// HIP API callbacks table\n') -# f.write('\ -# struct hip_cb_table_t {\n\ -# struct { hip_cb_fun_t act; hip_cb_fun_t fun; void* arg; } arr[HIP_API_ID_NUMBER];\n\ -# };\n\ -# #define HIP_CALLBACKS_TABLE hip_cb_table_t HIP_API_callbacks_table{};\n\ -# ') -# f.write('\ -# inline bool HIP_SET_ACTIVITY(uint32_t id, hip_cb_fun_t fun, void* arg = NULL) {\n\ -# (void)arg;\n\ -# extern hip_cb_table_t HIP_API_callbacks_table;\n\ -# if (id < HIP_API_ID_NUMBER) {\n\ -# HIP_API_callbacks_table.arr[id].act = fun;\n\ -# return true;\n\ -# }\n\ -# return false;\n\ -# }\n') -# f.write('\ -# inline bool HIP_SET_CALLBACK(uint32_t id, hip_cb_fun_t fun, void* arg) {\n\ -# extern hip_cb_table_t HIP_API_callbacks_table; \n\ -# if (id < HIP_API_ID_NUMBER) {\n\ -# HIP_API_callbacks_table.arr[id].fun = fun;\n\ -# HIP_API_callbacks_table.arr[id].arg = arg;\n\ -# return true;\n\ -# }\n\ -# return false;\n\ -# }\n') -# -# # Generating the callback spawning class -# f.write('\n// HIP API callbacks spawning class macro\n\ -# #define CB_SPAWNER_OBJECT(cb_id) \\\n\ -# class api_callbacks_spawner_t { \\\n\ -# public: \\\n\ -# api_callbacks_spawner_t(hip_cb_data_t& cb_data) : cb_data_(cb_data) { \\\n\ -# hip_cb_id_t id = HIP_API_ID_##cb_id; \\\n\ -# cb_data_.id = id; \\\n\ -# cb_data_.correlation_id = UINT_MAX; \\\n\ -# cb_data_.name = #cb_id; \\\n\ -# extern const hip_cb_table_t* getApiCallbackTabel(); \\\n\ -# const hip_cb_table_t* cb_table = getApiCallbackTabel(); \\\n\ -# cb_act_ = cb_table->arr[id].act; \\\n\ -# cb_fun_ = cb_table->arr[id].fun; \\\n\ -# cb_arg_ = cb_table->arr[id].arg; \\\n\ -# cb_data_.on_enter = true; \\\n\ -# if (cb_act_ != NULL) cb_act_(&cb_data_, NULL); \\\n\ -# if (cb_fun_ != NULL) cb_fun_(&cb_data_, cb_arg_); \\\n\ -# } \\\n\ -# ~api_callbacks_spawner_t() { \\\n\ -# cb_data_.on_enter = false; \\\n\ -# if (cb_act_ != NULL) cb_act_(&cb_data_, NULL); \\\n\ -# if (cb_fun_ != NULL) cb_fun_(&cb_data_, cb_arg_); \\\n\ -# } \\\n\ -# private: \\\n\ -# hip_cb_data_t& cb_data_; \\\n\ -# hip_cb_fun_t cb_act_; \\\n\ -# hip_cb_fun_t cb_fun_; \\\n\ -# void* cb_arg_; \\\n\ -# }; \\\n\ -# hip_cb_data_t cb_data{}; \\\n\ -# INIT_CB_ARGS_DATA(cb_id, cb_data); \\\n\ -# api_callbacks_spawner_t api_callbacks_spawner(cb_data); \n\ -# ') - f.write('#endif // _HIP_PROF_STR_H\n'); print "Header '" + HEADER + "' is generated" From 874309c0d45462226e5fac63c9c24adf0255cea2 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Thu, 14 Mar 2019 22:19:18 -0500 Subject: [PATCH 110/691] update --- script/hipap.py | 36 ++++++++++++++++++++---------------- 1 file changed, 20 insertions(+), 16 deletions(-) diff --git a/script/hipap.py b/script/hipap.py index d1f7082ee4..16ad279987 100755 --- a/script/hipap.py +++ b/script/hipap.py @@ -58,8 +58,8 @@ def filtr_api_opts(args_str): # Parsing API header # hipError_t hipSetupArgument(const void* arg, size_t size, size_t offset); def parse_api(inp_file, out): - beg_pattern = re.compile("^hipError_t"); - api_pattern = re.compile("^hipError_t\s+([^\(]+)\(([^\)]*)\)"); + beg_pattern = re.compile("^(hipError_t|const char\s*\*)\s+[^\(]+\("); + api_pattern = re.compile("^(hipError_t|const char\s*\*)\s+([^\(]+)\(([^\)]*)\)"); end_pattern = re.compile("Texture"); hidden_pattern = re.compile(r'__attribute__\(\(visibility\("hidden"\)\)\)') nms_open_pattern = re.compile(r'namespace hip_impl {') @@ -89,12 +89,11 @@ def parse_api(inp_file, out): if m: found = 0 if end_pattern.search(record): break - out[m.group(1)] = m.group(2) + out[m.group(2)] = m.group(3) else: continue hidden = 0 if hidden_pattern.match(line): hidden = 1 -# print "> " + str(hidden) + ": " + line if nms_open_pattern.match(line): nms_level += 1 if (nms_level > 0) and nms_close_pattern.match(line): nms_level -= 1 @@ -114,7 +113,7 @@ def parse_api(inp_file, out): # out - output map [] => def patch_content(inp_file, api_map, out): # API definition begin pattern - beg_pattern = re.compile("^(hipError_t|const char\s*\*\s+[_\w]+\()"); + beg_pattern = re.compile("^(hipError_t|const char\s*\*)\s+[^\(]+\("); # API definition complete pattern api_pattern = re.compile("^(hipError_t|const char\s*\*)\s+([^\(]+)\(([^\)]*)\)\s*{"); # API init macro pattern @@ -163,7 +162,6 @@ def patch_content(inp_file, api_map, out): api_name = m.group(2); # Checking if API name is in the API map if api_name in api_map: - #print "> " + api_name # Getting API arguments api_args = m.group(3) # Getting etalon arguments from the API map @@ -173,10 +171,8 @@ def patch_content(inp_file, api_map, out): api_map[api_name] = eta_args # Normalizing API arguments api_types = filtr_api_types(api_args) - #print "> " + api_name, ": '" + api_args + "' : '" + api_types + "'" # Normalizing etalon arguments eta_types = filtr_api_types(eta_args) - #print "> " + api_name + ": '" + eta_args + "' : '" + eta_types + "'" # Comparing API and etalon arguments # Normalizing types if not matching api_types_n = api_types @@ -210,12 +206,20 @@ def patch_content(inp_file, api_map, out): print (api_name); else: # Registering dummy API for non public API if the name in INIT is not NONE - dummy_name = m.group(1) - if (not dummy_name in api_map) and (dummy_name != 'NONE'): - if dummy_name in out: - print "Error: API reinit \"" + api_name + "\", record \"" + record + "\"\nfile '" + inp_file + "', line (" + str(line_num) + ")" + init_name = m.group(1) + # Ignore if it is initialized as NONE + if init_name != 'NONE': + # Check if init name matching API name + if init_name != api_name: + print "Init name mismatch:", init_name, "<>", api_name sys.exit(1) - out[dummy_name] = [] + # If init name is not in public API map then it is private API + # else it was not identified and will be checked on finish + if not init_name in api_map: + if init_name in out: + print "Error: API reinit \"" + api_name + "\", record \"" + record + "\"\nfile '" + inp_file + "', line (" + str(line_num) + ")" + sys.exit(1) + out[init_name] = [] elif re.search('}', line): found = 0 # Expect INIT macro for valid public API @@ -244,7 +248,7 @@ def patch_src(api_map, src_path, src_patt, out): pattern = re.compile(src_patt) src_path = re.sub(r'\s', '', src_path) for src_dir in src_path.split(':'): - print "Patching " + src_dir + " for '" + src_patt + "'" + print "Parsing " + src_dir + " for '" + src_patt + "'" for root, dirs, files in os.walk(src_dir): for fnm in files: if pattern.search(fnm): @@ -386,10 +390,10 @@ for name, args in api_map.items(): print "Error: \"" + name + "\" API args and opts mismatch, args: ", args, ", opts: ", opts_list for ind in range(0, len(args)): arg_tuple = args[ind] - arg_type = arg_tuple[0] +# arg_type = arg_tuple[0] fld_name = arg_tuple[1] arg_name = opts_list[ind] - f.write(' cb_data.args.' + name + '.' + fld_name + ' = (' + arg_type + ')' + arg_name + '; \\\n') + f.write(' cb_data.args.' + name + '.' + fld_name + ' = ' + arg_name + '; \\\n') f.write('};\n') f.write('#define INIT_CB_ARGS_DATA(cb_id, cb_data) INIT_##cb_id##_CB_ARGS_DATA(cb_data)\n') From 99e286c371d659634ddc98ec0d5950ee099023ca Mon Sep 17 00:00:00 2001 From: Evgeny Date: Fri, 15 Mar 2019 22:37:04 -0500 Subject: [PATCH 111/691] update --- script/hipap.py | 360 ++++++++++++++++++++++++++---------------------- 1 file changed, 194 insertions(+), 166 deletions(-) diff --git a/script/hipap.py b/script/hipap.py index 16ad279987..829a2213c4 100755 --- a/script/hipap.py +++ b/script/hipap.py @@ -1,9 +1,25 @@ #!/usr/bin/python import os, sys, re -HEADER = "hip_prof_str.h" +verbose = 0 +PROF_HEADER = "hip_prof_str.h" +OUTPUT = PROF_HEADER REC_MAX_LEN = 1024 +# Fatal error termination +inp_file = 'none' +line_num = -1 +def fatal(msg): + if line_num != -1: + print >>sys.stderr, "Error: " + msg + ", file '" + inp_file + "', line (" + str(line_num) + ")" + else: + print >>sys.stderr, "Error: " + msg + sys.exit(1) + +# Verbose message +def message(msg): + if verbose: print >>sys.stdout, msg + ############################################################# # Normalizing API arguments def filtr_api_args(args_str): @@ -35,8 +51,7 @@ def list_api_args(args_str): arg_name = m.group(2) args_list.append((arg_type, arg_name)) else: - print "Bad args: args_str: '" + args_str + "' arg_pair: '" + arg_pair + "'" - sys.exit(1) + fatal("bad args: args_str: '" + args_str + "' arg_pair: '" + arg_pair + "'") return args_list; # Creating arguments string "type0, type1, ..." @@ -47,7 +62,7 @@ def filtr_api_types(args_str): types_str += arg_tuple[0] + ', ' return types_str -# Creating options list [name0, name1, ...] +# Creating options list [opt0, opt1, ...] def filtr_api_opts(args_str): args_list = list_api_args(args_str) opts_list = [] @@ -57,7 +72,11 @@ def filtr_api_opts(args_str): ############################################################# # Parsing API header # hipError_t hipSetupArgument(const void* arg, size_t size, size_t offset); -def parse_api(inp_file, out): +def parse_api(inp_file_p, out): + global inp_file + global line_num + inp_file = inp_file_p + beg_pattern = re.compile("^(hipError_t|const char\s*\*)\s+[^\(]+\("); api_pattern = re.compile("^(hipError_t|const char\s*\*)\s+([^\(]+)\(([^\)]*)\)"); end_pattern = re.compile("Texture"); @@ -78,8 +97,7 @@ def parse_api(inp_file, out): line_num += 1 if len(record) > REC_MAX_LEN: - print "Error: bad record \"" + record + "\"\nfile '" + inp_file + ", line (" + str(line_num) + ")" - break; + fatal("bad record \"" + record + "\"") if beg_pattern.match(record) and (hidden == 0) and (nms_level == 0): found = 1 @@ -98,20 +116,24 @@ def parse_api(inp_file, out): if nms_open_pattern.match(line): nms_level += 1 if (nms_level > 0) and nms_close_pattern.match(line): nms_level -= 1 if nms_level < 0: - print "Error: nms level < 0" - sys.exit(1) + fatal("nms level < 0") record = "" inp.close() + line_num = -1 ############################################################# # Patching API implementation # hipError_t hipSetupArgument(const void* arg, size_t size, size_t offset) { # HIP_INIT_CB(hipSetupArgument, arg, size, offset); # inp_file - input implementation source file # api_map - input public API map [] => -# out - output map [] => -def patch_content(inp_file, api_map, out): +# out - output map [] => [opt0, opt1, ...] +def parse_content(inp_file_p, api_map, out): + global inp_file + global line_num + inp_file = inp_file_p + # API definition begin pattern beg_pattern = re.compile("^(hipError_t|const char\s*\*)\s+[^\(]+\("); # API definition complete pattern @@ -146,7 +168,7 @@ def patch_content(inp_file, api_map, out): line_num += 1 if len(record) > REC_MAX_LEN: - print "Error: bad record \"" + record + "\"\nfile '" + inp_file + ", line (" + str(line_num) + ")" + fatal("bad record \"" + record + "\"") break; # Looking for API begin @@ -173,27 +195,18 @@ def patch_content(inp_file, api_map, out): api_types = filtr_api_types(api_args) # Normalizing etalon arguments eta_types = filtr_api_types(eta_args) - # Comparing API and etalon arguments - # Normalizing types if not matching - api_types_n = api_types - eta_types_n = eta_types - #if api_types != eta_types: - # api_types_n = norm_api_types(api_types) - # eta_types_n = norm_api_types(eta_types) - # Comparing API and etalon arguments - if api_types_n == eta_types_n: + if api_types == eta_types: # API is already found if api_name in out: - print "Error: API redefined \"" + api_name + "\", record \"" + record + "\"\nfile '" + inp_file + "', line (" + str(line_num) + ")" - sys.exit(1) + fatal("API redefined \"" + api_name + "\", record \"" + record + "\"") # Set valid public API found flag api_valid = 1 # Set output API map with API arguments list out[api_name] = filtr_api_opts(api_args) else: # Warning about mismatched API, possible non public overloaded version - api_diff = '\t\t' + inp_file + " line(" + str(line_num) + ")\n\t\tapi: " + api_types_n + "\n\t\teta: " + eta_types_n - print "\t" + api_name + ':\n' + api_diff + '\n' + api_diff = '\t\t' + inp_file + " line(" + str(line_num) + ")\n\t\tapi: " + api_types + "\n\t\teta: " + eta_types + message("\t" + api_name + ':\n' + api_diff + '\n') # API found action if found == 2: @@ -203,7 +216,7 @@ def patch_content(inp_file, api_map, out): found = 0 if api_valid == 1: api_valid = 0 - print (api_name); + message("\t" + api_name) else: # Registering dummy API for non public API if the name in INIT is not NONE init_name = m.group(1) @@ -211,14 +224,12 @@ def patch_content(inp_file, api_map, out): if init_name != 'NONE': # Check if init name matching API name if init_name != api_name: - print "Init name mismatch:", init_name, "<>", api_name - sys.exit(1) + fatal("init name mismatch: '" + init_name + "' <> '" + api_name + "'") # If init name is not in public API map then it is private API # else it was not identified and will be checked on finish if not init_name in api_map: if init_name in out: - print "Error: API reinit \"" + api_name + "\", record \"" + record + "\"\nfile '" + inp_file + "', line (" + str(line_num) + ")" - sys.exit(1) + fatal("API reinit \"" + api_name + "\", record \"" + record + "\"") out[init_name] = [] elif re.search('}', line): found = 0 @@ -230,48 +241,177 @@ def patch_content(inp_file, api_map, out): del api_map[api_name] out['.' + api_name] = 1 else: - print "Error: API is not in out \"" + api_name + "\", record \"" + record + "\"\nfile '" + inp_file + "', line (" + str(line_num) + ")" - sys.exit(1) + fatal("API is not in out \"" + api_name + "\", record \"" + record + "\"") if found != 1: record = "" content += line inp.close() + line_num = -1 if len(out) != 0: return content else: return '' -# srcs path walk -def patch_src(api_map, src_path, src_patt, out): +# src path walk +def parse_src(api_map, src_path, src_patt, out): pattern = re.compile(src_patt) src_path = re.sub(r'\s', '', src_path) for src_dir in src_path.split(':'): - print "Parsing " + src_dir + " for '" + src_patt + "'" + message("Parsing " + src_dir + " for '" + src_patt + "'") for root, dirs, files in os.walk(src_dir): for fnm in files: if pattern.search(fnm): file = root + '/' + fnm - print "\t" + file - content = patch_content(file, api_map, out); + message(file) + content = parse_content(file, api_map, out); if content != '': f = open(file, 'w') f.write(content) f.close() ############################################################# +# Generating profiling primitives header +# api_map - public API map [] => [(type, name), ...] +# opts_map - opts map [] => [opt0, opt1, ...] +def generate_prof_header(f, api_map, opts_map): + # Private API list + priv_lst = [] + + f.write('// automatically generated sources\n') + f.write('#ifndef _HIP_PROF_STR_H\n'); + f.write('#define _HIP_PROF_STR_H\n'); + f.write('#include \n'); + f.write('#include \n'); + + # Generating dummy macro for non-public API + f.write('\n// Dummy API primitives\n') + f.write('#define INIT_NONE_CB_ARGS_DATA(cb_data) {};\n') + for name in opts_map: + if not name in api_map: + opts_lst = opts_map[name] + if len(opts_lst) != 0: + fatal("bad dummy API \"" + name + "\", args: " + str(opts_lst)) + f.write('#define INIT_'+ name + '_CB_ARGS_DATA(cb_data) {};\n') + priv_lst.append(name) + + for name in priv_lst: + message("Private: " + name) + + # Generating the callbacks ID enumaration + f.write('\n// HIP API callbacks ID enumaration\n') + f.write('enum hip_api_id_t {\n') + cb_id = 0 + for name in api_map.keys(): + f.write(' HIP_API_ID_' + name + ' = ' + str(cb_id) + ',\n') + cb_id += 1 + f.write(' HIP_API_ID_NUMBER = ' + str(cb_id) + ',\n') + f.write(' HIP_API_ID_ANY = ' + str(cb_id + 1) + ',\n') + f.write('\n') + f.write(' HIP_API_ID_NONE = HIP_API_ID_NUMBER,\n') + for name in priv_lst: + f.write(' HIP_API_ID_' + name + ' = HIP_API_ID_NUMBER,\n') + f.write('};\n') + + # Generating the callbacks ID enumaration + f.write('\n// Return HIP API string\n') + f.write('static const char* hip_api_name(const uint32_t& id) {\n') + f.write(' switch(id) {\n') + for name in api_map.keys(): + f.write(' case HIP_API_ID_' + name + ': return "' + name + '";\n') + f.write(' };\n') + f.write(' return "unknown";\n') + f.write('};\n') + + # Generating the callbacks data structure + f.write('\n// HIP API callbacks data structure\n') + f.write( + 'struct hip_api_data_t {\n' + + ' uint64_t correlation_id;\n' + + ' uint32_t phase;\n' + + ' union {\n' + ) + for name, args in api_map.items(): + if len(args) != 0: + f.write(' struct {\n') + for arg_tuple in args: + f.write(' ' + arg_tuple[0] + ' ' + arg_tuple[1] + ';\n') + f.write(' } ' + name + ';\n') + f.write( + ' } args;\n' + + '};\n' + ) + + # Generating the callbacks args data filling macros + f.write('\n// HIP API callbacks args data filling macros\n') + for name, args in api_map.items(): + f.write('// ' + name + str(args) + '\n') + f.write('#define INIT_' + name + '_CB_ARGS_DATA(cb_data) { \\\n') + if name in opts_map: + opts_list = opts_map[name] + if len(args) != len(opts_list): + fatal("\"" + name + "\" API args and opts mismatch, args: " + str(args) + ", opts: " + str(opts_list)) + # API args iterating: + # type is args[][0] + # name is args[][1] + for ind in range(0, len(args)): + arg_tuple = args[ind] + fld_name = arg_tuple[1] + arg_name = opts_list[ind] + f.write(' cb_data.args.' + name + '.' + fld_name + ' = ' + arg_name + '; \\\n') + f.write('};\n') + f.write('#define INIT_CB_ARGS_DATA(cb_id, cb_data) INIT_##cb_id##_CB_ARGS_DATA(cb_data)\n') + + # Generating the method for the API string, name and parameters + f.write('\n') + f.write('#if 0\n') + f.write('// HIP API string method, method name and parameters\n') + f.write('const char* hipApiString(hip_api_id_t id, const hip_api_data_t* data) {\n') + f.write(' std::ostringstream oss;\n') + f.write(' switch (id) {\n') + for name, args in api_map.items(): + f.write(' case HIP_API_ID_' + name + ':\n') + f.write(' oss << "' + name + '("') + for ind in range(0, len(args)): + arg_tuple = args[ind] + arg_name = arg_tuple[1] + if ind != 0: f.write(' << ","') + f.write('\n << " ' + arg_name + '=" << data->args.' + name + '.' + arg_name) + f.write('\n << ")";\n') + f.write(' break;\n') + f.write(' default: oss << "unknown";\n') + f.write(' };\n') + f.write(' return strdup(oss.str().c_str());\n') + f.write('};\n') + f.write('#endif\n') + + f.write('#endif // _HIP_PROF_STR_H\n'); + +############################################################# # main # Usage -if (len(sys.argv) < 2): - print >>sys.stderr, "Usage:", sys.argv[0], " [patched srcs path]" - print >>sys.stderr, " $ hipap.py hip/include/hip/hcc_detail/hip_runtime_api.h hip/src" - sys.exit(1) +if (len(sys.argv) > 1) and (sys.argv[1] == '-v'): + verbose = 1 + sys.argv.pop(1) + +if (len(sys.argv) < 3): + fatal ("Usage: " + sys.argv[0] + " [-v] \n" + + " -v - verbose messages\n" + + " example:\n" + + " $ hipap.py hip/include/hip/hcc_detail/hip_runtime_api.h hip/src") # API header file given as an argument api_hfile = sys.argv[1] if not os.path.isfile(api_hfile): - print >>sys.stderr, "Error: input file '" + api_hfile + "' not found" - sys.exit(1) + fatal("input file '" + api_hfile + "' not found") + +# Srcs directory given as an argument +src_pat = "\.cpp$" +src_dir = sys.argv[2] +if not os.path.isdir(src_dir): + fatal("src directory " + src_dir + "' not found") + +if len(sys.argv) > 3: OUTPUT = sys.argv[3] # API declaration map api_map = { @@ -279,148 +419,36 @@ api_map = { } # API options map opts_map = {} -# Private API list -priv_lst = [] # Parsing API header parse_api(api_hfile, api_map) -# Patching API implementation sources -# Sources path is given as an argument -if len(sys.argv) == 3: - src_path = sys.argv[2] - src_patt = "\.cpp$" - patch_src(api_map, src_path, src_patt, opts_map) +# Parsing sources +parse_src(api_map, src_dir, src_pat, opts_map) # Checking for non-conformant APIs for name in opts_map.keys(): m = re.match(r'\.(\S*)', name) if m: - print "Init missing: " + m.group(1) + message("Init missing: " + m.group(1)) del opts_map[name] # Converting api map to map of lists -# Printing not found APIs +# Checking for not found APIs not_found = 0 if len(opts_map) != 0: for name in api_map.keys(): args_str = api_map[name]; api_map[name] = list_api_args(args_str) if not name in opts_map: - print "Not found: " + name + fatal("not found: " + name) not_found += 1 if not_found != 0: - print "Error:", not_found, "API calls not found" - sys.exit(1) -############################################################# + fatal(not_found + " API calls not found") -f = open(HEADER, 'w') -f.write('// automatically generated sources\n') -f.write('#ifndef _HIP_PROF_STR_H\n'); -f.write('#define _HIP_PROF_STR_H\n'); -f.write('#include \n'); -f.write('#include \n'); +# Generating output header file +with open(OUTPUT, 'w') as f: + generate_prof_header(f, api_map, opts_map) -# Generating dummy macro for non-public API -f.write('\n// Dummy API primitives\n') -f.write('#define INIT_NONE_CB_ARGS_DATA(cb_data) {};\n') -for name in opts_map: - if not name in api_map: - opts_lst = opts_map[name] - if len(opts_lst) != 0: - print ("Error: bad dummy API \"" + name + "\", args: ", opts_lst) - sys.exit(1) - f.write('#define INIT_'+ name + '_CB_ARGS_DATA(cb_data) {};\n') - priv_lst.append(name) - -for name in priv_lst: - print "Private: ", name - -# Generating the callbacks ID enumaration -f.write('\n// HIP API callbacks ID enumaration\n') -f.write('enum hip_api_id_t {\n') -cb_id = 0 -for name in api_map.keys(): - f.write(' HIP_API_ID_' + name + ' = ' + str(cb_id) + ',\n') - cb_id += 1 -f.write(' HIP_API_ID_NUMBER = ' + str(cb_id) + ',\n') -f.write(' HIP_API_ID_ANY = ' + str(cb_id + 1) + ',\n') -f.write('\n') -f.write(' HIP_API_ID_NONE = HIP_API_ID_NUMBER,\n') -for name in priv_lst: - f.write(' HIP_API_ID_' + name + ' = HIP_API_ID_NUMBER,\n') -f.write('};\n') - -# Generating the callbacks ID enumaration -f.write('\n// Return HIP API string\n') -f.write('static const char* hip_api_name(const uint32_t& id) {\n') -f.write(' switch(id) {\n') -for name in api_map.keys(): - f.write(' case HIP_API_ID_' + name + ': return "' + name + '";\n') -f.write(' };\n') -f.write(' return "unknown";\n') -f.write('};\n') - -# Generating the callbacks data structure -f.write('\n// HIP API callbacks data structure\n') -f.write( -'struct hip_api_data_t {\n' + -' uint64_t correlation_id;\n' + -' uint32_t phase;\n' + -' union {\n' -) -for name, args in api_map.items(): - if len(args) != 0: - f.write(' struct {\n') - for arg_tuple in args: - f.write(' ' + arg_tuple[0] + ' ' + arg_tuple[1] + ';\n') - f.write(' } ' + name + ';\n') -f.write( -' } args;\n' + -'};\n' -) - -# Generating the callbacks args data filling macros -f.write('\n// HIP API callbacks args data filling macros\n') -for name, args in api_map.items(): - f.write('#define INIT_' + name + '_CB_ARGS_DATA(cb_data) { \\\n') - if name in opts_map: - opts_list = opts_map[name] - if len(args) != len(opts_list): - print "Error: \"" + name + "\" API args and opts mismatch, args: ", args, ", opts: ", opts_list - for ind in range(0, len(args)): - arg_tuple = args[ind] -# arg_type = arg_tuple[0] - fld_name = arg_tuple[1] - arg_name = opts_list[ind] - f.write(' cb_data.args.' + name + '.' + fld_name + ' = ' + arg_name + '; \\\n') - f.write('};\n') -f.write('#define INIT_CB_ARGS_DATA(cb_id, cb_data) INIT_##cb_id##_CB_ARGS_DATA(cb_data)\n') - -# Generating the method for the API string, name and parameters -f.write('\n') -f.write('#if 0\n') -f.write('// HIP API string method, method name and parameters\n') -f.write('const char* hipApiString(hip_api_id_t id, const hip_api_data_t* data) {\n') -f.write(' std::ostringstream oss;\n') -f.write(' switch (id) {\n') -for name, args in api_map.items(): - f.write(' case HIP_API_ID_' + name + ':\n') - f.write(' oss << "' + name + '("') - for ind in range(0, len(args)): - arg_tuple = args[ind] - arg_name = arg_tuple[1] - if ind != 0: f.write(' << ","') - f.write('\n << " ' + arg_name + '=" << data->args.' + name + '.' + arg_name) - f.write('\n << ")";\n') - f.write(' break;\n') -f.write(' default: oss << "unknown";\n') -f.write(' };\n') -f.write(' return strdup(oss.str().c_str());\n') -f.write('};\n') -f.write('#endif\n') - -f.write('#endif // _HIP_PROF_STR_H\n'); - -print "Header '" + HEADER + "' is generated" -############################################################# +# Successfull exit +sys.exit(0) From 844d9c6ce07aeb9962929d427adf909f7a8fae45 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Sun, 17 Mar 2019 15:29:31 -0500 Subject: [PATCH 112/691] git ignore generated hsa primitives and test binaries --- .gitignore | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.gitignore b/.gitignore index b27d714e28..e889ef2680 100644 --- a/.gitignore +++ b/.gitignore @@ -6,4 +6,7 @@ *.Po b build +inc/hsa_prof_str.h test/hsa +test/MatrixTranspose/MatrixTranspose +test/MatrixTranspose_test/MatrixTranspose From f03d150ede079d948e2a37e4eb64a22dee00c2e7 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Wed, 20 Mar 2019 19:48:37 -0500 Subject: [PATCH 113/691] rebuilding the test always to prevent stale binary usage --- test/MatrixTranspose/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/MatrixTranspose/Makefile b/test/MatrixTranspose/Makefile index d3630a1c19..d9fa1af8a8 100644 --- a/test/MatrixTranspose/Makefile +++ b/test/MatrixTranspose/Makefile @@ -15,7 +15,7 @@ EXECUTABLE=./MatrixTranspose .PHONY: test -all: $(EXECUTABLE) test +all: clean $(EXECUTABLE) test CXXFLAGS =-g CXX=$(HIPCC) From 15618153d3ebeb84cc57b0c9c83a2eedba4e6be3 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Wed, 27 Mar 2019 10:34:13 -0500 Subject: [PATCH 114/691] fixed comments --- inc/ext/prof_protocol.h | 4 ++-- inc/roctracer.h | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/inc/ext/prof_protocol.h b/inc/ext/prof_protocol.h index 14bc81cb23..d59343d623 100644 --- a/inc/ext/prof_protocol.h +++ b/inc/ext/prof_protocol.h @@ -26,8 +26,8 @@ THE SOFTWARE. // Traced API domains typedef enum { ACTIVITY_DOMAIN_HSA_API = 0, // HSA domain - ACTIVITY_DOMAIN_HSA_OPS = 1, // HSA AYNC domain - ACTIVITY_DOMAIN_HCC_OPS = 2, // HCC domain + ACTIVITY_DOMAIN_HSA_OPS = 1, // HSA async activity domain + ACTIVITY_DOMAIN_HCC_OPS = 2, // HCC async activity domain ACTIVITY_DOMAIN_HIP_API = 3, // HIP domain ACTIVITY_DOMAIN_NUMBER = 4 } activity_domain_t; diff --git a/inc/roctracer.h b/inc/roctracer.h index b8d4f346e4..f39118abdf 100644 --- a/inc/roctracer.h +++ b/inc/roctracer.h @@ -76,7 +76,7 @@ const char* roctracer_error_string(); // Activity domain type typedef activity_domain_t roctracer_domain_t; -// Return Op string by given domain and Op codes +// Return Op string by given domain and Op code // NULL returned on the error and the library errno is set const char* roctracer_op_string( uint32_t domain, // tracing domain From a614df956035d70aa49f12d40c0bad287b36fbaf Mon Sep 17 00:00:00 2001 From: Evgeny Date: Mon, 1 Apr 2019 21:11:14 -0500 Subject: [PATCH 115/691] updating HSA test --- test/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index c00db39ceb..1092b48c52 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -49,7 +49,7 @@ target_link_libraries ( ${TEST_LIB} ${ROCTRACER_TARGET} ${HSA_RUNTIME_LIB} c std ## Build HSA test execute_process ( COMMAND sh -xc "if [ ! -e ${TEST_DIR}/hsa ] ; then git clone https://github.com/ROCmSoftwarePlatform/hsa-class.git ${TEST_DIR}/hsa; fi" ) -execute_process ( COMMAND sh -xc "if [ -e ${TEST_DIR}/hsa ] ; then cd ${TEST_DIR}/hsa && git checkout 5b0d1af; fi" ) +execute_process ( COMMAND sh -xc "if [ -e ${TEST_DIR}/hsa ] ; then cd ${TEST_DIR}/hsa && git fetch origin && git checkout 7defb6d; fi" ) set ( TEST_DIR ${HSA_TEST_DIR} ) add_subdirectory ( ${TEST_DIR} ${PROJECT_BINARY_DIR}/test/hsa ) From b0800fffe070e012a515ab7bbffebfc53ea39d64 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Mon, 1 Apr 2019 21:37:42 -0500 Subject: [PATCH 116/691] fixing HSA trace api filter --- test/run.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/run.sh b/test/run.sh index a52ba111f6..33feda7430 100755 --- a/test/run.sh +++ b/test/run.sh @@ -71,7 +71,7 @@ export ROCP_THRS=1 eval_test "tool HSA test" "LD_PRELOAD='$HSA_TOOLS_LIB' ./test/hsa/ctrl" -echo "" > input.xml +echo "" > input.xml export ROCP_INPUT=input.xml eval_test "tool HSA test input" "LD_PRELOAD='$HSA_TOOLS_LIB' ./test/hsa/ctrl" From 53e06a0595053165aa9ef368cfa35a3dcc36d449 Mon Sep 17 00:00:00 2001 From: eshcherb <33529668+eshcherb@users.noreply.github.com> Date: Thu, 25 Apr 2019 14:15:03 -0500 Subject: [PATCH 117/691] Update README.md --- README.md | 17 +++-------------- 1 file changed, 3 insertions(+), 14 deletions(-) diff --git a/README.md b/README.md index 6c886ba703..1c33b23424 100644 --- a/README.md +++ b/README.md @@ -21,7 +21,7 @@ asyncronous activity records pool support. ## Documentation ``` - API description: inc/roctracer.h - - Code example: test/MatrixTranspose/MatrixTranspose.cpp + - Code example: test/MatrixTranspose_test/MatrixTranspose.cpp ``` ## To build and run test @@ -30,23 +30,12 @@ asyncronous activity records pool support. - CLone development branches of roctracer and HIP/HCC: git clone -b amd-master https://github.com/ROCmSoftwarePlatform/roctracer.git - git clone -b master https://github.com/ROCm-Developer-Tools/HIP.git - git clone --recursive -b clang_tot_upgrade https://github.com/RadeonOpenCompute/hcc.git - Set environment: - export HIP_PATH=/HIP - export HCC_HOME=/hcc/build + export HIP_PATH=/opt/rocm/HIP + export HCC_HOME=/opt/rocm/hcc/build export CMAKE_PREFIX_PATH=/opt/rocm - - Build HCC: - cd /hcc && mkdir build && cd build && - cmake -DUSE_PROF_API=1 -DPROF_API_HEADER_PATH=/roctracer/inc/ext .. && make -j - - - Build HIP: - cd /HIP && mkdir build && cd build && - cmake -DUSE_PROF_API=1 -DPROF_API_HEADER_PATH=/roctracer/inc/ext .. && make -j - ln -s /HIP/build /HIP/lib - - Build ROCtracer cd /roctracer && mkdir build && cd build && cmake -DCMAKE_INSTALL_PREFIX=/opt/rocm .. && make -j From eed50bea562c7bcdc34f995b0d9882e85f56f0fe Mon Sep 17 00:00:00 2001 From: eshcherb <33529668+eshcherb@users.noreply.github.com> Date: Thu, 25 Apr 2019 14:17:36 -0500 Subject: [PATCH 118/691] Update README.md --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 1c33b23424..81e2411390 100644 --- a/README.md +++ b/README.md @@ -26,6 +26,8 @@ asyncronous activity records pool support. ## To build and run test ``` + - ROCm-2.3 or higher is required + cd - CLone development branches of roctracer and HIP/HCC: From 5fcdacf5fb308791a159989a355054fb6042e8f5 Mon Sep 17 00:00:00 2001 From: eshcherb <33529668+eshcherb@users.noreply.github.com> Date: Thu, 25 Apr 2019 14:18:19 -0500 Subject: [PATCH 119/691] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 81e2411390..5133048f0c 100644 --- a/README.md +++ b/README.md @@ -30,7 +30,7 @@ asyncronous activity records pool support. cd - - CLone development branches of roctracer and HIP/HCC: + - CLone development branch of roctracer: git clone -b amd-master https://github.com/ROCmSoftwarePlatform/roctracer.git - Set environment: From 429a660dce55ef16f372b7113f11c0d309aba83d Mon Sep 17 00:00:00 2001 From: Evgeny Date: Fri, 26 Apr 2019 11:49:00 -0500 Subject: [PATCH 120/691] explicitely resolving the types scope --- src/util/hsa_rsrc_factory.h | 58 ++++++++++++++++++------------------- 1 file changed, 29 insertions(+), 29 deletions(-) diff --git a/src/util/hsa_rsrc_factory.h b/src/util/hsa_rsrc_factory.h index d99240d34e..0a2ad84fe3 100644 --- a/src/util/hsa_rsrc_factory.h +++ b/src/util/hsa_rsrc_factory.h @@ -71,41 +71,41 @@ static const size_t MEM_PAGE_MASK = MEM_PAGE_BYTES - 1; typedef decltype(hsa_agent_t::handle) hsa_agent_handle_t; struct hsa_pfn_t { - decltype(hsa_init)* hsa_init; - decltype(hsa_shut_down)* hsa_shut_down; - decltype(hsa_agent_get_info)* hsa_agent_get_info; + decltype(::hsa_init)* hsa_init; + decltype(::hsa_shut_down)* hsa_shut_down; + decltype(::hsa_agent_get_info)* hsa_agent_get_info; - decltype(hsa_iterate_agents)* hsa_iterate_agents; + decltype(::hsa_iterate_agents)* hsa_iterate_agents; - decltype(hsa_queue_create)* hsa_queue_create; - decltype(hsa_queue_destroy)* hsa_queue_destroy; - decltype(hsa_queue_load_write_index_relaxed)* hsa_queue_load_write_index_relaxed; - decltype(hsa_queue_store_write_index_relaxed)* hsa_queue_store_write_index_relaxed; - decltype(hsa_queue_load_read_index_relaxed)* hsa_queue_load_read_index_relaxed; - decltype(hsa_signal_create)* hsa_signal_create; - decltype(hsa_signal_destroy)* hsa_signal_destroy; - decltype(hsa_signal_store_relaxed)* hsa_signal_store_relaxed; - decltype(hsa_signal_wait_scacquire)* hsa_signal_wait_scacquire; + decltype(::hsa_queue_create)* hsa_queue_create; + decltype(::hsa_queue_destroy)* hsa_queue_destroy; + decltype(::hsa_queue_load_write_index_relaxed)* hsa_queue_load_write_index_relaxed; + decltype(::hsa_queue_store_write_index_relaxed)* hsa_queue_store_write_index_relaxed; + decltype(::hsa_queue_load_read_index_relaxed)* hsa_queue_load_read_index_relaxed; + decltype(::hsa_signal_create)* hsa_signal_create; + decltype(::hsa_signal_destroy)* hsa_signal_destroy; + decltype(::hsa_signal_store_relaxed)* hsa_signal_store_relaxed; + decltype(::hsa_signal_wait_scacquire)* hsa_signal_wait_scacquire; - decltype(hsa_amd_agent_iterate_memory_pools)* hsa_amd_agent_iterate_memory_pools; - decltype(hsa_amd_memory_pool_get_info)* hsa_amd_memory_pool_get_info; - decltype(hsa_amd_memory_pool_allocate)* hsa_amd_memory_pool_allocate; - decltype(hsa_amd_agents_allow_access)* hsa_amd_agents_allow_access; - decltype(hsa_amd_memory_async_copy)* hsa_amd_memory_async_copy; + decltype(::hsa_amd_agent_iterate_memory_pools)* hsa_amd_agent_iterate_memory_pools; + decltype(::hsa_amd_memory_pool_get_info)* hsa_amd_memory_pool_get_info; + decltype(::hsa_amd_memory_pool_allocate)* hsa_amd_memory_pool_allocate; + decltype(::hsa_amd_agents_allow_access)* hsa_amd_agents_allow_access; + decltype(::hsa_amd_memory_async_copy)* hsa_amd_memory_async_copy; - decltype(hsa_system_get_major_extension_table)* hsa_system_get_major_extension_table; + decltype(::hsa_system_get_major_extension_table)* hsa_system_get_major_extension_table; - decltype(hsa_code_object_reader_create_from_file)* hsa_code_object_reader_create_from_file; - decltype(hsa_executable_create_alt)* hsa_executable_create_alt; - decltype(hsa_executable_load_agent_code_object)* hsa_executable_load_agent_code_object; - decltype(hsa_executable_freeze)* hsa_executable_freeze; - decltype(hsa_executable_get_symbol)* hsa_executable_get_symbol; + decltype(::hsa_code_object_reader_create_from_file)* hsa_code_object_reader_create_from_file; + decltype(::hsa_executable_create_alt)* hsa_executable_create_alt; + decltype(::hsa_executable_load_agent_code_object)* hsa_executable_load_agent_code_object; + decltype(::hsa_executable_freeze)* hsa_executable_freeze; + decltype(::hsa_executable_get_symbol)* hsa_executable_get_symbol; - decltype(hsa_amd_signal_async_handler)* hsa_amd_signal_async_handler; - decltype(hsa_amd_profiling_get_async_copy_time)* hsa_amd_profiling_get_async_copy_time; - decltype(hsa_amd_profiling_get_dispatch_time)* hsa_amd_profiling_get_dispatch_time; - decltype(hsa_signal_load_relaxed)* hsa_signal_load_relaxed; - decltype(hsa_signal_store_screlease)* hsa_signal_store_screlease; + decltype(::hsa_amd_signal_async_handler)* hsa_amd_signal_async_handler; + decltype(::hsa_amd_profiling_get_async_copy_time)* hsa_amd_profiling_get_async_copy_time; + decltype(::hsa_amd_profiling_get_dispatch_time)* hsa_amd_profiling_get_dispatch_time; + decltype(::hsa_signal_load_relaxed)* hsa_signal_load_relaxed; + decltype(::hsa_signal_store_screlease)* hsa_signal_store_screlease; }; // Encapsulates information about a Hsa Agent such as its From a52a9f3cd1bd67ef286d58dd9d98266e769b769f Mon Sep 17 00:00:00 2001 From: eshcherb <33529668+eshcherb@users.noreply.github.com> Date: Fri, 26 Apr 2019 14:56:38 -0500 Subject: [PATCH 121/691] Update README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 5133048f0c..9cf511b4cd 100644 --- a/README.md +++ b/README.md @@ -34,8 +34,8 @@ asyncronous activity records pool support. git clone -b amd-master https://github.com/ROCmSoftwarePlatform/roctracer.git - Set environment: - export HIP_PATH=/opt/rocm/HIP - export HCC_HOME=/opt/rocm/hcc/build + export HIP_PATH=/opt/rocm/hip + export HCC_HOME=/opt/rocm/hcc export CMAKE_PREFIX_PATH=/opt/rocm - Build ROCtracer From 0d7f600c7a6ef7af3186d0110e68d0cc39b71364 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Thu, 16 May 2019 12:09:37 -0500 Subject: [PATCH 122/691] support for python apps profiling --- src/core/loader.h | 14 ++++++++++---- src/core/roctracer.cpp | 6 ++---- test/run.sh | 10 +++++----- test/tool/tracer_tool.cpp | 28 +++++++++++++++++++--------- 4 files changed, 36 insertions(+), 22 deletions(-) diff --git a/src/core/loader.h b/src/core/loader.h index e23855e2a2..73446bb569 100644 --- a/src/core/loader.h +++ b/src/core/loader.h @@ -1,9 +1,15 @@ #ifndef SRC_CORE_LOADER_H_ #define SRC_CORE_LOADER_H_ +#include #include #include +#define LOADER_INSTANTIATE() \ + std::atomic roctracer::HipLoader::instance_{}; \ + std::atomic roctracer::HccLoader::instance_{}; \ + roctracer::Loader::mutex_t roctracer::Loader::mutex_; + namespace roctracer { // Base runtime loader class @@ -95,13 +101,13 @@ class HccLoader : protected Loader { return *obj; } - HccLoader() : Loader("libmcwamp.so") { + HccLoader() : Loader("libmcwamp_hsa.so") { // Kalmar::CLAMP::InitActivityCallback - InitActivityCallback = GetFun("_ZN6Kalmar5CLAMP20InitActivityCallbackEPvS1_S1_"); + InitActivityCallback = GetFun("InitActivityCallbackImpl"); // Kalmar::CLAMP::EnableActivityIdCallback - EnableActivityCallback = GetFun("_ZN6Kalmar5CLAMP22EnableActivityCallbackEjb"); + EnableActivityCallback = GetFun("EnableActivityCallbackImpl"); // Kalmar::CLAMP::GetCmdName - GetCmdName = GetFun("_ZN6Kalmar5CLAMP10GetCmdNameEj"); + GetCmdName = GetFun("GetCmdNameImpl"); } InitActivityCallback_t* InitActivityCallback; diff --git a/src/core/roctracer.cpp b/src/core/roctracer.cpp index b2f4fbcc59..3787bffc2f 100644 --- a/src/core/roctracer.cpp +++ b/src/core/roctracer.cpp @@ -439,12 +439,10 @@ std::atomic util::Logger::instance_{}; MemoryPool* memory_pool = NULL; typedef std::recursive_mutex memory_pool_mutex_t; memory_pool_mutex_t memory_pool_mutex; - -Loader::mutex_t Loader::mutex_; -std::atomic HipLoader::instance_{}; -std::atomic HccLoader::instance_{}; } +LOADER_INSTANTIATE(); + std::atomic proxy::Tracker::instance_{}; proxy::Tracker::mutex_t proxy::Tracker::glob_mutex_; proxy::Tracker::counter_t proxy::Tracker::counter_ = 0; diff --git a/test/run.sh b/test/run.sh index 33feda7430..2080f33019 100755 --- a/test/run.sh +++ b/test/run.sh @@ -45,14 +45,14 @@ eval_test() { # Standalone test # rocTrecer is used explicitely by test -eval_test "standalone HIP test" "LD_PRELOAD=$HCC_HOME/lib/libmcwamp_hsa.so ./test/MatrixTranspose_test" +eval_test "standalone HIP test" ./test/MatrixTranspose_test # Tool test # rocTracer/tool is loaded by HSA runtime -export HSA_TOOLS_LIB="test/libtracer_tool.so libroctracer64.so" +export HSA_TOOLS_LIB="libroctracer64.so test/libtracer_tool.so" # HIP test -eval_test "tool HIP test" "LD_PRELOAD='$HCC_HOME/lib/libmcwamp_hsa.so $HSA_TOOLS_LIB' ./test/MatrixTranspose" +eval_test "tool HIP test" ./test/MatrixTranspose # HSA test export ROCTRACER_DOMAIN="hsa" @@ -69,11 +69,11 @@ export ROCP_AGENTS=1 # each thread creates a queue pre GPU agent export ROCP_THRS=1 -eval_test "tool HSA test" "LD_PRELOAD='$HSA_TOOLS_LIB' ./test/hsa/ctrl" +eval_test "tool HSA test" ./test/hsa/ctrl echo "" > input.xml export ROCP_INPUT=input.xml -eval_test "tool HSA test input" "LD_PRELOAD='$HSA_TOOLS_LIB' ./test/hsa/ctrl" +eval_test "tool HSA test input" ./test/hsa/ctrl #valgrind --leak-check=full $tbin #valgrind --tool=massif $tbin diff --git a/test/tool/tracer_tool.cpp b/test/tool/tracer_tool.cpp index dc90625142..5fb35c5109 100644 --- a/test/tool/tracer_tool.cpp +++ b/test/tool/tracer_tool.cpp @@ -31,6 +31,7 @@ THE SOFTWARE. #include #include #include +#include #include #define PUBLIC_API __attribute__((visibility("default"))) @@ -54,6 +55,8 @@ thread_local timestamp_t hip_begin_timestamp = 0; bool trace_hsa = false; bool trace_hip = false; +LOADER_INSTANTIATE(); + // Global output file handle FILE* hsa_api_file_handle = NULL; FILE* hsa_async_copy_file_handle = NULL; @@ -116,33 +119,40 @@ void hip_api_callback( hsa_begin_timestamp = timer->timestamp_fn_ns(); } else { const timestamp_t end_timestamp = timer->timestamp_fn_ns(); - fprintf(hip_api_file_handle, "%lu:%lu %u:%u %s(", hsa_begin_timestamp, end_timestamp, GetPid(), GetTid(), roctracer_op_string(ACTIVITY_DOMAIN_HIP_API, cid, 0)); + std::ostringstream oss; \ + oss << std::dec << + hsa_begin_timestamp << ":" << end_timestamp << " " << GetPid() << ":" << GetTid() << " " << roctracer_op_string(ACTIVITY_DOMAIN_HIP_API, cid, 0); \ + switch (cid) { case HIP_API_ID_hipMemcpy: - fprintf(hip_api_file_handle, "dst(%p) src(%p) size(0x%x) kind(%u)", + fprintf(hip_api_file_handle, "%s(dst(%p) src(%p) size(0x%x) kind(%u))", + oss.str().c_str(), data->args.hipMemcpy.dst, data->args.hipMemcpy.src, (uint32_t)(data->args.hipMemcpy.sizeBytes), (uint32_t)(data->args.hipMemcpy.kind)); break; case HIP_API_ID_hipMalloc: - fprintf(hip_api_file_handle, "ptr(0x%p) size(0x%x)", + fprintf(hip_api_file_handle, "%s(ptr(0x%p) size(0x%x))", + oss.str().c_str(), *(data->args.hipMalloc.ptr), (uint32_t)(data->args.hipMalloc.size)); break; case HIP_API_ID_hipFree: - fprintf(hip_api_file_handle, "ptr(%p)", + fprintf(hip_api_file_handle, "%s(ptr(%p))", + oss.str().c_str(), data->args.hipFree.ptr); break; case HIP_API_ID_hipModuleLaunchKernel: - fprintf(hip_api_file_handle, "kernel(%s) stream(%p)", - hipKernelNameRef(data->args.hipModuleLaunchKernel.f), + fprintf(hip_api_file_handle, "%s(kernel(%s) stream(%p))", + oss.str().c_str(), + roctracer::HipLoader::Instance().KernelNameRef(data->args.hipModuleLaunchKernel.f), data->args.hipModuleLaunchKernel.stream); break; default: break; } - fprintf(hip_api_file_handle, ")\n"); fflush(hip_api_file_handle); + fflush(hip_api_file_handle); } } @@ -305,7 +315,7 @@ extern "C" PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, NULL}; roctracer_set_properties(ACTIVITY_DOMAIN_HSA_OPS, &ops_properties); - printf(" HSA-trace("); + fprintf(stdout, " HSA-trace("); fflush(stdout); if (hsa_api_vec.size() != 0) { for (unsigned i = 0; i < hsa_api_vec.size(); ++i) { uint32_t cid = HSA_API_ID_NUMBER; @@ -326,7 +336,7 @@ extern "C" PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, hip_api_file_handle = open_output_file(output_prefix, "hip_api_trace.txt"); hcc_activity_file_handle = open_output_file(output_prefix, "hcc_ops_trace.txt"); - printf(" HIP-trace()\n"); + fprintf(stdout, " HIP-trace()\n"); fflush(stdout); // Allocating tracing pool roctracer_properties_t properties{}; properties.buffer_size = 0x1000; From feda4468b71a970ac0797ca5d54934faf8fcb0b2 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Fri, 7 Jun 2019 12:44:06 -0500 Subject: [PATCH 123/691] adding KFD wrapper loader --- src/core/loader.h | 30 ++++++++++++++++++++++++++++++ src/core/roctracer.cpp | 7 +++++++ 2 files changed, 37 insertions(+) diff --git a/src/core/loader.h b/src/core/loader.h index 73446bb569..92bee42257 100644 --- a/src/core/loader.h +++ b/src/core/loader.h @@ -118,6 +118,36 @@ class HccLoader : protected Loader { static std::atomic instance_; }; +// KFD runtime library loader class +class KfdLoader : protected Loader { + public: + typedef void (*RegisterApiCallback_t)(roctracer_rtapi_callback_t); + typedef void (*RemoveApiCallback_t)(); + + static KfdLoader& Instance() { + KfdLoader* obj = instance_.load(std::memory_order_acquire); + if (obj == NULL) { + std::lock_guard lck(mutex_); + if (instance_.load(std::memory_order_relaxed) == NULL) { + obj = new KfdLoader(); + instance_.store(obj, std::memory_order_release); + } + } + return *instance_; + } + + KfdLoader() : Loader("libkfd_wrapper.so") { + RegisterApiCallback = GetFun("RegisterApiCallback"); + RemoveApiCallback = GetFun("RemoveApiCallback"); + } + + RegisterApiCallback_t* RegisterApiCallback; + RemoveApiCallback_t* RemoveApiCallback; + + private: + static std::atomic instance_; +}; + } // namespace roctracer #endif // SRC_CORE_LOADER_H_ diff --git a/src/core/roctracer.cpp b/src/core/roctracer.cpp index 3787bffc2f..1475560e4e 100644 --- a/src/core/roctracer.cpp +++ b/src/core/roctracer.cpp @@ -528,6 +528,13 @@ static void roctracer_enable_callback_impl( void* user_data) { switch (domain) { +#if 0 + case ACTIVITY_DOMAIN_KFD_API: { + bool succ = roctracer::HipLoader::Instance().RegisterApiCallback(op, (void*)callback, user_data); + if (succ == false) EXC_RAISING(ROCTRACER_STATUS_ERROR, "KFD RegisterApiCallback error"); + break; + } +#endif case ACTIVITY_DOMAIN_HSA_OPS: break; case ACTIVITY_DOMAIN_HSA_API: { roctracer::hsa_support::cb_table.set(op, callback, user_data); From bd740152e5007a215745fd0ef2917668f9b4a631 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Fri, 7 Jun 2019 16:32:31 -0500 Subject: [PATCH 124/691] KFD loader fix --- src/core/loader.h | 4 ++-- src/core/roctracer.cpp | 9 ++++++++- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/src/core/loader.h b/src/core/loader.h index 92bee42257..279b365175 100644 --- a/src/core/loader.h +++ b/src/core/loader.h @@ -121,8 +121,8 @@ class HccLoader : protected Loader { // KFD runtime library loader class class KfdLoader : protected Loader { public: - typedef void (*RegisterApiCallback_t)(roctracer_rtapi_callback_t); - typedef void (*RemoveApiCallback_t)(); + typedef bool (RegisterApiCallback_t)(uint32_t op, void* callback, void* arg); + typedef bool (RemoveApiCallback_t)(uint32_t op); static KfdLoader& Instance() { KfdLoader* obj = instance_.load(std::memory_order_acquire); diff --git a/src/core/roctracer.cpp b/src/core/roctracer.cpp index 1475560e4e..0286c10e05 100644 --- a/src/core/roctracer.cpp +++ b/src/core/roctracer.cpp @@ -530,7 +530,7 @@ static void roctracer_enable_callback_impl( switch (domain) { #if 0 case ACTIVITY_DOMAIN_KFD_API: { - bool succ = roctracer::HipLoader::Instance().RegisterApiCallback(op, (void*)callback, user_data); + const bool succ = roctracer::KfdLoader::Instance().RegisterApiCallback(op, (void*)callback, user_data); if (succ == false) EXC_RAISING(ROCTRACER_STATUS_ERROR, "KFD RegisterApiCallback error"); break; } @@ -591,6 +591,13 @@ static void roctracer_disable_callback_impl( uint32_t op) { switch (domain) { +#if 0 + case ACTIVITY_DOMAIN_KFD_API: { + const bool succ = roctracer::KfdLoader::Instance().RemoveApiCallback(op); + if (succ == false) EXC_RAISING(ROCTRACER_STATUS_ERROR, "KFD RemoveApiCallback error"); + break; + } +#endif case ACTIVITY_DOMAIN_HSA_OPS: break; case ACTIVITY_DOMAIN_HSA_API: break; case ACTIVITY_DOMAIN_HCC_OPS: break; From 3488ee7ac10a63b4d5121c62b2c7d151ac2cdfb4 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Fri, 21 Jun 2019 03:16:18 -0500 Subject: [PATCH 125/691] hip trace fix --- test/tool/tracer_tool.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/test/tool/tracer_tool.cpp b/test/tool/tracer_tool.cpp index 5fb35c5109..2a5a0edb8e 100644 --- a/test/tool/tracer_tool.cpp +++ b/test/tool/tracer_tool.cpp @@ -125,7 +125,7 @@ void hip_api_callback( switch (cid) { case HIP_API_ID_hipMemcpy: - fprintf(hip_api_file_handle, "%s(dst(%p) src(%p) size(0x%x) kind(%u))", + fprintf(hip_api_file_handle, "%s(dst(%p) src(%p) size(0x%x) kind(%u))\n", oss.str().c_str(), data->args.hipMemcpy.dst, data->args.hipMemcpy.src, @@ -133,23 +133,24 @@ void hip_api_callback( (uint32_t)(data->args.hipMemcpy.kind)); break; case HIP_API_ID_hipMalloc: - fprintf(hip_api_file_handle, "%s(ptr(0x%p) size(0x%x))", + fprintf(hip_api_file_handle, "%s(ptr(0x%p) size(0x%x))\n", oss.str().c_str(), *(data->args.hipMalloc.ptr), (uint32_t)(data->args.hipMalloc.size)); break; case HIP_API_ID_hipFree: - fprintf(hip_api_file_handle, "%s(ptr(%p))", + fprintf(hip_api_file_handle, "%s(ptr(%p))\n", oss.str().c_str(), data->args.hipFree.ptr); break; case HIP_API_ID_hipModuleLaunchKernel: - fprintf(hip_api_file_handle, "%s(kernel(%s) stream(%p))", + fprintf(hip_api_file_handle, "%s(kernel(%s) stream(%p))\n", oss.str().c_str(), roctracer::HipLoader::Instance().KernelNameRef(data->args.hipModuleLaunchKernel.f), data->args.hipModuleLaunchKernel.stream); break; default: + fprintf(hip_api_file_handle, "%s()\n", oss.str().c_str()); break; } fflush(hip_api_file_handle); From c1cca98a71ccc20a9f37177e1ef0d0b63a7a962a Mon Sep 17 00:00:00 2001 From: Evgeny Date: Mon, 24 Jun 2019 21:05:12 -0500 Subject: [PATCH 126/691] multiple changes update --- inc/roctracer.h | 20 +- inc/roctracer_hsa.h | 2 + src/CMakeLists.txt | 3 + src/core/roctracer.cpp | 246 ++++++++++++++++++++----- src/core/trace_buffer.h | 79 ++++++++ src/proxy/hsa_proxy_queue.h | 67 +++++++ src/proxy/hsa_queue.h | 46 +++++ src/proxy/intercept_queue.cpp | 42 +++++ src/proxy/intercept_queue.h | 301 +++++++++++++++++++++++++++++++ src/proxy/proxy_queue.cpp | 63 +++++++ src/proxy/proxy_queue.h | 77 ++++++++ src/proxy/queue.h | 42 +++++ src/proxy/simple_proxy_queue.cpp | 40 ++++ src/proxy/simple_proxy_queue.h | 261 +++++++++++++++++++++++++++ src/proxy/tracker.h | 218 +++------------------- src/proxy/types.h | 50 +++++ src/util/hsa_rsrc_factory.cpp | 38 ++-- src/util/hsa_rsrc_factory.h | 68 +++---- test/tool/tracer_tool.cpp | 65 +++++-- 19 files changed, 1420 insertions(+), 308 deletions(-) create mode 100644 src/core/trace_buffer.h create mode 100644 src/proxy/hsa_proxy_queue.h create mode 100644 src/proxy/hsa_queue.h create mode 100644 src/proxy/intercept_queue.cpp create mode 100644 src/proxy/intercept_queue.h create mode 100644 src/proxy/proxy_queue.cpp create mode 100644 src/proxy/proxy_queue.h create mode 100644 src/proxy/queue.h create mode 100644 src/proxy/simple_proxy_queue.cpp create mode 100644 src/proxy/simple_proxy_queue.h create mode 100644 src/proxy/types.h diff --git a/inc/roctracer.h b/inc/roctracer.h index f39118abdf..05d3b84295 100644 --- a/inc/roctracer.h +++ b/inc/roctracer.h @@ -90,11 +90,6 @@ roctracer_status_t roctracer_op_code( uint32_t* op, // [out] op code uint32_t* kind = NULL); // [out] op kind code -// Set properties -roctracer_status_t roctracer_set_properties( - roctracer_domain_t domain, // tracing domain - void* propertes); // tracing properties - //////////////////////////////////////////////////////////////////////////////// // Callback API // @@ -214,6 +209,21 @@ roctracer_status_t roctracer_disable_activity(); roctracer_status_t roctracer_flush_activity( roctracer_pool_t* pool = NULL); // memory pool, NULL is a default one +// Load/Un;oad methods +// Set properties +roctracer_status_t roctracer_set_properties( + roctracer_domain_t domain, // tracing domain + void* propertes); // tracing properties + +struct HsaApiTable; +bool roctracer_load( + HsaApiTable* table, + uint64_t runtime_version, + uint64_t failed_tool_count, + const char* const* failed_tool_names); + +void roctracer_unload(); + #ifdef __cplusplus } // extern "C" block #endif // __cplusplus diff --git a/inc/roctracer_hsa.h b/inc/roctracer_hsa.h index de4f1f9d1c..924d6a6238 100644 --- a/inc/roctracer_hsa.h +++ b/inc/roctracer_hsa.h @@ -74,8 +74,10 @@ extern AmdExtTable AmdExtTable_saved; extern ImageExtTable ImageExtTable_saved; struct ops_properties_t { + void* table; activity_async_callback_t async_copy_callback_fun; void* async_copy_callback_arg; + const char* output_prefix; }; }; // namespace hsa_support diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 2ac70bb6a8..46766ad815 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -4,6 +4,9 @@ set ( TARGET_LIB "${TARGET_NAME}" ) set ( LIB_SRC ${LIB_DIR}/core/roctracer.cpp + ${LIB_DIR}/proxy/proxy_queue.cpp + ${LIB_DIR}/proxy/simple_proxy_queue.cpp + ${LIB_DIR}/proxy/intercept_queue.cpp ${LIB_DIR}/util/hsa_rsrc_factory.cpp ) add_library ( ${TARGET_LIB} SHARED ${LIB_SRC} ) diff --git a/src/core/roctracer.cpp b/src/core/roctracer.cpp index 0286c10e05..f4d078760d 100644 --- a/src/core/roctracer.cpp +++ b/src/core/roctracer.cpp @@ -35,12 +35,18 @@ THE SOFTWARE. #include #include "core/loader.h" +#include "core/trace_buffer.h" #include "proxy/tracker.h" #include "ext/hsa_rt_utils.hpp" #include "util/exception.h" #include "util/hsa_rsrc_factory.h" #include "util/logger.h" +#include "proxy/hsa_queue.h" +#include "proxy/intercept_queue.h" +#include "proxy/proxy_queue.h" +#include "proxy/simple_proxy_queue.h" + #define PUBLIC_API __attribute__((visibility("default"))) #define CONSTRUCTOR_API __attribute__((constructor)) #define DESTRUCTOR_API __attribute__((destructor)) @@ -85,17 +91,86 @@ THE SOFTWARE. /////////////////////////////////////////////////////////////////////////////////////////////////// // Internal library methods // +namespace rocprofiler { +decltype(hsa_queue_create)* hsa_queue_create_fn; +decltype(hsa_queue_destroy)* hsa_queue_destroy_fn; + +decltype(hsa_signal_store_relaxed)* hsa_signal_store_relaxed_fn; +decltype(hsa_signal_store_relaxed)* hsa_signal_store_screlease_fn; + +decltype(hsa_queue_load_write_index_relaxed)* hsa_queue_load_write_index_relaxed_fn; +decltype(hsa_queue_store_write_index_relaxed)* hsa_queue_store_write_index_relaxed_fn; +decltype(hsa_queue_load_read_index_relaxed)* hsa_queue_load_read_index_relaxed_fn; + +decltype(hsa_queue_load_write_index_scacquire)* hsa_queue_load_write_index_scacquire_fn; +decltype(hsa_queue_store_write_index_screlease)* hsa_queue_store_write_index_screlease_fn; +decltype(hsa_queue_load_read_index_scacquire)* hsa_queue_load_read_index_scacquire_fn; + +decltype(hsa_amd_queue_intercept_create)* hsa_amd_queue_intercept_create_fn; +decltype(hsa_amd_queue_intercept_register)* hsa_amd_queue_intercept_register_fn; + +decltype(hsa_amd_memory_async_copy)* hsa_amd_memory_async_copy_fn; +decltype(hsa_amd_memory_async_copy_rect)* hsa_amd_memory_async_copy_rect_fn; + +::HsaApiTable* kHsaApiTable; + +void SaveHsaApi(::HsaApiTable* table) { + util::HsaRsrcFactory::InitHsaApiTable(table); + + kHsaApiTable = table; + hsa_queue_create_fn = table->core_->hsa_queue_create_fn; + hsa_queue_destroy_fn = table->core_->hsa_queue_destroy_fn; + + hsa_signal_store_relaxed_fn = table->core_->hsa_signal_store_relaxed_fn; + hsa_signal_store_screlease_fn = table->core_->hsa_signal_store_screlease_fn; + + hsa_queue_load_write_index_relaxed_fn = table->core_->hsa_queue_load_write_index_relaxed_fn; + hsa_queue_store_write_index_relaxed_fn = table->core_->hsa_queue_store_write_index_relaxed_fn; + hsa_queue_load_read_index_relaxed_fn = table->core_->hsa_queue_load_read_index_relaxed_fn; + + hsa_queue_load_write_index_scacquire_fn = table->core_->hsa_queue_load_write_index_scacquire_fn; + hsa_queue_store_write_index_screlease_fn = table->core_->hsa_queue_store_write_index_screlease_fn; + hsa_queue_load_read_index_scacquire_fn = table->core_->hsa_queue_load_read_index_scacquire_fn; + + hsa_amd_queue_intercept_create_fn = table->amd_ext_->hsa_amd_queue_intercept_create_fn; + hsa_amd_queue_intercept_register_fn = table->amd_ext_->hsa_amd_queue_intercept_register_fn; +} + +void RestoreHsaApi() { + ::HsaApiTable* table = kHsaApiTable; + table->core_->hsa_queue_create_fn = hsa_queue_create_fn; + table->core_->hsa_queue_destroy_fn = hsa_queue_destroy_fn; + + table->core_->hsa_signal_store_relaxed_fn = hsa_signal_store_relaxed_fn; + table->core_->hsa_signal_store_screlease_fn = hsa_signal_store_screlease_fn; + + table->core_->hsa_queue_load_write_index_relaxed_fn = hsa_queue_load_write_index_relaxed_fn; + table->core_->hsa_queue_store_write_index_relaxed_fn = hsa_queue_store_write_index_relaxed_fn; + table->core_->hsa_queue_load_read_index_relaxed_fn = hsa_queue_load_read_index_relaxed_fn; + + table->core_->hsa_queue_load_write_index_scacquire_fn = hsa_queue_load_write_index_scacquire_fn; + table->core_->hsa_queue_store_write_index_screlease_fn = hsa_queue_store_write_index_screlease_fn; + table->core_->hsa_queue_load_read_index_scacquire_fn = hsa_queue_load_read_index_scacquire_fn; + + table->amd_ext_->hsa_amd_queue_intercept_create_fn = hsa_amd_queue_intercept_create_fn; + table->amd_ext_->hsa_amd_queue_intercept_register_fn = hsa_amd_queue_intercept_register_fn; +} +} + namespace roctracer { decltype(hsa_amd_memory_async_copy)* hsa_amd_memory_async_copy_fn; decltype(hsa_amd_memory_async_copy_rect)* hsa_amd_memory_async_copy_rect_fn; +TraceBuffer trace_buffer(0x200000); + namespace hsa_support { // callbacks table cb_table_t cb_table; // asyc copy activity callback +bool async_copy_callback_enabled = false; activity_async_callback_t async_copy_callback_fun = NULL; void* async_copy_callback_arg = NULL; -bool async_copy_callback_enabled = false; +const char* output_prefix = NULL; // Table of function pointers to HSA Core Runtime CoreApiTable CoreApiTable_saved{}; // Table of function pointers to AMD extensions @@ -288,15 +363,6 @@ class MemoryPool { pthread_cond_t read_cond_; }; -CONSTRUCTOR_API void constructor() { - util::Logger::Create(); -} - -DESTRUCTOR_API void destructor() { - ::util::HsaRsrcFactory::Destroy(); - util::Logger::Destroy(); -} - // Correlation id storage static thread_local activity_correlation_id_t correlation_id_tls = 0; typedef std::map correlation_id_map_t; @@ -367,18 +433,73 @@ void HCC_AsyncActivityCallback(uint32_t op_id, void* record, void* arg) { pool->Write(*record_ptr); } -bool hsa_async_copy_handler(hsa_signal_value_t value, void* arg) { - ::proxy::Tracker::entry_t* entry = reinterpret_cast<::proxy::Tracker::entry_t*>(arg); +// Open output file +FILE* open_output_file(const char* prefix, const char* name) { + FILE* file_handle = NULL; + if (prefix != NULL) { + std::ostringstream oss; + oss << prefix << "/" << name; + file_handle = fopen(oss.str().c_str(), "w"); + if (file_handle == NULL) { + std::ostringstream errmsg; + errmsg << "ROCTracer: fopen error, file '" << oss.str().c_str() << "'"; + perror(errmsg.str().c_str()); + abort(); + } + } else file_handle = stdout; + return file_handle; +} +FILE* kernel_file_handle = NULL; +void hsa_kernel_handler(::proxy::Tracker::entry_t* entry) { + static uint64_t index = 0; + if (index == 0) { + kernel_file_handle = open_output_file(hsa_support::output_prefix, "results.txt"); + } + fprintf(kernel_file_handle, "dispatch[%lu], gpu-id(%u), tid(%u), kernel-name(\"%s\"), time(%lu,%lu,%lu,%lu)\n", + index, + ::util::HsaRsrcFactory::Instance().GetAgentInfo(entry->agent)->dev_index, + entry->kernel.tid, + entry->kernel.name, + entry->dispatch, + entry->begin, + entry->end, + entry->complete); +#if 0 + fprintf(file_handle, "dispatch[%u], gpu-id(%u), queue-id(%u), queue-index(%lu), tid(%lu), grd(%u), wgr(%u), lds(%u), scr(%u), vgpr(%u), sgpr(%u), fbar(%u), sig(0x%lx), kernel-name(\"%s\")", + index, + HsaRsrcFactory::Instance().GetAgentInfo(entry->agent)->dev_index, + entry->data.queue_id, + entry->data.queue_index, + entry->data.thread_id, + entry->kernel_properties.grid_size, + entry->kernel_properties.workgroup_size, + entry->kernel_properties.lds_size, + entry->kernel_properties.scratch_size, + entry->kernel_properties.vgpr_count, + entry->kernel_properties.sgpr_count, + entry->kernel_properties.fbarrier_count, + entry->kernel_properties.signal.handle, + nik_name.c_str()); + if (record) fprintf(file_handle, ", time(%lu,%lu,%lu,%lu)", + record->dispatch, + record->begin, + record->end, + record->complete); + fprintf(file_handle, "\n"); + fflush(file_handle); +#endif + index++; +} + +void hsa_async_copy_handler(::proxy::Tracker::entry_t* entry) { activity_record_t record{}; record.domain = ACTIVITY_DOMAIN_HSA_OPS; // activity domain id - record.correlation_id = entry->index; // activity ID - record.begin_ns = entry->record->begin; // host begin timestamp - record.end_ns = entry->record->end; // host end timestamp + record.begin_ns = entry->begin; // host begin timestamp + record.end_ns = entry->end; // host end timestamp record.device_id = 0; // device id hsa_support::async_copy_callback_fun(hsa_support::HSA_OP_ID_async_copy, &record, hsa_support::async_copy_callback_arg); - return false; } hsa_status_t hsa_amd_memory_async_copy_interceptor( @@ -388,17 +509,15 @@ hsa_status_t hsa_amd_memory_async_copy_interceptor( { hsa_status_t status = HSA_STATUS_SUCCESS; if (hsa_support::async_copy_callback_enabled) { - ::proxy::Tracker* tracker = &::proxy::Tracker::Instance(); - ::proxy::Tracker::entry_t* tracker_entry = tracker->Alloc(hsa_agent_t{}, completion_signal); + trace_entry_t* entry = trace_buffer.GetEntry(); + ::proxy::Tracker::Enable(COPY_ENTRY_TYPE, hsa_agent_t{}, completion_signal, entry); status = hsa_amd_memory_async_copy_fn(dst, dst_agent, src, src_agent, size, num_dep_signals, - dep_signals, tracker_entry->signal); - if (status == HSA_STATUS_SUCCESS) { - tracker->EnableMemcopy(tracker_entry, hsa_async_copy_handler, reinterpret_cast(tracker_entry)); - } else { - tracker->Delete(tracker_entry); - } - } else { + dep_signals, entry->signal); + if (status != HSA_STATUS_SUCCESS) EXC_ABORT(status, "hsa_amd_memory_async_copy interceptor"); + } + else + { status = hsa_amd_memory_async_copy_fn(dst, dst_agent, src, src_agent, size, num_dep_signals, dep_signals, completion_signal); @@ -414,18 +533,16 @@ hsa_status_t hsa_amd_memory_async_copy_rect_interceptor( { hsa_status_t status = HSA_STATUS_SUCCESS; if (hsa_support::async_copy_callback_enabled) { - ::proxy::Tracker* tracker = &::proxy::Tracker::Instance(); - ::proxy::Tracker::entry_t* tracker_entry = tracker->Alloc(hsa_agent_t{}, completion_signal); + trace_entry_t* entry = trace_buffer.GetEntry(); + ::proxy::Tracker::Enable(COPY_ENTRY_TYPE, hsa_agent_t{}, completion_signal, entry); status = hsa_amd_memory_async_copy_rect_fn(dst, dst_offset, src, src_offset, range, copy_agent, dir, num_dep_signals, dep_signals, - tracker_entry->signal); - if (status == HSA_STATUS_SUCCESS) { - tracker->EnableMemcopy(tracker_entry, hsa_async_copy_handler, reinterpret_cast(tracker_entry)); - } else { - tracker->Delete(tracker_entry); - } - } else { + entry->signal); + if (status != HSA_STATUS_SUCCESS) EXC_ABORT(status, "hsa_amd_memory_async_copy interceptor"); + } + else + { status = hsa_amd_memory_async_copy_rect_fn(dst, dst_offset, src, src_offset, range, copy_agent, dir, num_dep_signals, dep_signals, @@ -443,10 +560,6 @@ memory_pool_mutex_t memory_pool_mutex; LOADER_INSTANTIATE(); -std::atomic proxy::Tracker::instance_{}; -proxy::Tracker::mutex_t proxy::Tracker::glob_mutex_; -proxy::Tracker::counter_t proxy::Tracker::counter_ = 0; - /////////////////////////////////////////////////////////////////////////////////////////////////// // Public library methods // @@ -685,6 +798,7 @@ static void roctracer_enable_activity_impl( switch (domain) { case ACTIVITY_DOMAIN_HSA_OPS: { roctracer::hsa_support::async_copy_callback_enabled = true; + rocprofiler::InterceptQueue::Enable(true); break; } case ACTIVITY_DOMAIN_HSA_API: break; @@ -747,6 +861,7 @@ static void roctracer_disable_activity_impl( switch (domain) { case ACTIVITY_DOMAIN_HSA_OPS: { roctracer::hsa_support::async_copy_callback_enabled = false; + rocprofiler::InterceptQueue::Enable(false); break; } case ACTIVITY_DOMAIN_HSA_API: break; @@ -812,8 +927,25 @@ PUBLIC_API roctracer_status_t roctracer_set_properties( case ACTIVITY_DOMAIN_HSA_OPS: { // HSA OPS properties roctracer::hsa_ops_properties_t* ops_properties = reinterpret_cast(properties); + HsaApiTable* table = reinterpret_cast(ops_properties->table); roctracer::hsa_support::async_copy_callback_fun = ops_properties->async_copy_callback_fun; roctracer::hsa_support::async_copy_callback_arg = ops_properties->async_copy_callback_arg; + roctracer::hsa_support::output_prefix = ops_properties->output_prefix; + + // HSA dispatches intercepting + rocprofiler::SaveHsaApi(table); + rocprofiler::ProxyQueue::InitFactory(); + rocprofiler::ProxyQueue::HsaIntercept(table); + rocprofiler::InterceptQueue::HsaIntercept(table); + + // HSA async-copy tracing + hsa_status_t status = hsa_amd_profiling_async_copy_enable(true); + if (status != HSA_STATUS_SUCCESS) EXC_ABORT(status, "hsa_amd_profiling_async_copy_enable"); + roctracer::hsa_amd_memory_async_copy_fn = table->amd_ext_->hsa_amd_memory_async_copy_fn; + roctracer::hsa_amd_memory_async_copy_rect_fn = table->amd_ext_->hsa_amd_memory_async_copy_rect_fn; + table->amd_ext_->hsa_amd_memory_async_copy_fn = roctracer::hsa_amd_memory_async_copy_interceptor; + table->amd_ext_->hsa_amd_memory_async_copy_rect_fn = roctracer::hsa_amd_memory_async_copy_rect_interceptor; + break; } case ACTIVITY_DOMAIN_HSA_API: { @@ -834,17 +966,39 @@ PUBLIC_API roctracer_status_t roctracer_set_properties( } // HSA-runtime tool on-load method -PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, uint64_t failed_tool_count, +PUBLIC_API bool roctracer_load(HsaApiTable* table, uint64_t runtime_version, uint64_t failed_tool_count, const char* const* failed_tool_names) { - // enabled HSA async-copy tracing - hsa_status_t status = hsa_amd_profiling_async_copy_enable(true); - if (status != HSA_STATUS_SUCCESS) EXC_ABORT(status, "hsa_amd_profiling_async_copy_enable"); - roctracer::hsa_amd_memory_async_copy_fn = table->amd_ext_->hsa_amd_memory_async_copy_fn; - roctracer::hsa_amd_memory_async_copy_rect_fn = table->amd_ext_->hsa_amd_memory_async_copy_rect_fn; - table->amd_ext_->hsa_amd_memory_async_copy_fn = roctracer::hsa_amd_memory_async_copy_interceptor; - table->amd_ext_->hsa_amd_memory_async_copy_rect_fn = roctracer::hsa_amd_memory_async_copy_rect_interceptor; + static bool is_loaded = false; + if (is_loaded) return true; + is_loaded = true; return true; } +PUBLIC_API void roctracer_unload() { + static bool is_unloaded = false; + if (is_unloaded) return; + is_unloaded = true; + + roctracer::trace_buffer.Flush(roctracer::COPY_ENTRY_TYPE, roctracer::hsa_async_copy_handler); + roctracer::trace_buffer.Flush(roctracer::KERNEL_ENTRY_TYPE, roctracer::hsa_kernel_handler); + if ((roctracer::hsa_support::output_prefix != NULL) && (roctracer::kernel_file_handle != NULL)) fclose(roctracer::kernel_file_handle); +} + +PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, uint64_t failed_tool_count, + const char* const* failed_tool_names) { + return roctracer_load(table, runtime_version, failed_tool_count, failed_tool_names); +} +PUBLIC_API void OnUnload() { roctracer_unload(); } + +CONSTRUCTOR_API void constructor() { + roctracer::util::Logger::Create(); +} + +DESTRUCTOR_API void destructor() { + roctracer_unload(); + util::HsaRsrcFactory::Destroy(); + roctracer::util::Logger::Destroy(); +} + } // extern "C" diff --git a/src/core/trace_buffer.h b/src/core/trace_buffer.h new file mode 100644 index 0000000000..30668e34d7 --- /dev/null +++ b/src/core/trace_buffer.h @@ -0,0 +1,79 @@ +#ifndef SRC_CORE_TRACE_BUFFER_H_ +#define SRC_CORE_TRACE_BUFFER_H_ + +namespace roctracer { +enum { + TRACE_ENTRY_INV = 0, + TRACE_ENTRY_INIT = 1, + TRACE_ENTRY_COMPL = 2 +}; +enum { + API_ENTRY_TYPE, + COPY_ENTRY_TYPE, + KERNEL_ENTRY_TYPE +}; + +struct trace_entry_t { + std::atomic valid; + uint32_t type; + uint64_t dispatch; + uint64_t begin; // kernel begin timestamp, ns + uint64_t end; // kernel end timestamp, ns + uint64_t complete; + hsa_agent_t agent; + hsa_signal_t orig; + hsa_signal_t signal; + union { + struct { + } copy; + struct { + const char* name; + hsa_agent_t agent; + uint32_t tid; + } kernel; + }; +}; + +template +class TraceBuffer { + public: + typedef void (*callabck_t)(Entry*); + + TraceBuffer(uint32_t size) { + size_ = size; + data_ = new Entry[size_];; + memset(data_, 0, size_ * sizeof(Entry)); + read_pointer_ = data_; + } + + Entry* GetEntry() { + Entry* ptr = read_pointer_.fetch_add(1); + if (ptr >= (data_ + size_)) { + fprintf(stderr, "GetEntry: trace buffer is out of range\n"); + abort(); + } + return ptr; + } + + void Flush(uint32_t type, callabck_t fun) { + Entry* ptr = data_; + for (; (ptr < read_pointer_) && (ptr < (data_ + size_)); ptr++) { + if (ptr->type == type) { + if (ptr->valid == TRACE_ENTRY_COMPL) { + fun(ptr); + } + } + } + if (ptr >= (data_ + size_)) { + fprintf(stderr, "Flush: trace buffer is out of range\n"); + } + } + + private: + Entry* data_; + uint32_t size_; + std::atomic read_pointer_; +}; +} // namespace roctracer + +#endif // SRC_CORE_TRACE_BUFFER_H_ diff --git a/src/proxy/hsa_proxy_queue.h b/src/proxy/hsa_proxy_queue.h new file mode 100644 index 0000000000..91daf96815 --- /dev/null +++ b/src/proxy/hsa_proxy_queue.h @@ -0,0 +1,67 @@ +/****************************************************************************** +Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +*******************************************************************************/ + +#ifndef _SRC_CORE_HSA_PROXY_QUEUE_H +#define _SRC_CORE_HSA_PROXY_QUEUE_H + +#include +#include +#include +#include + +#include "proxy/proxy_queue.h" +#include "util/exception.h" + +namespace rocprofiler { +extern decltype(hsa_queue_destroy)* hsa_queue_destroy_fn; +extern decltype(hsa_amd_queue_intercept_create)* hsa_amd_queue_intercept_create_fn; +extern decltype(hsa_amd_queue_intercept_register)* hsa_amd_queue_intercept_register_fn; + +class HsaProxyQueue : public ProxyQueue { + public: + hsa_status_t SetInterceptCB(on_submit_cb_t on_submit_cb, void* data) { + return hsa_amd_queue_intercept_register_fn(queue_, on_submit_cb, data); + } + + void Submit(const packet_t* packet) { + EXC_RAISING(HSA_STATUS_ERROR, "HsaProxyQueue::Submit() is not supported"); + } + + private: + hsa_status_t Init(hsa_agent_t agent, uint32_t size, hsa_queue_type32_t type, + void (*callback)(hsa_status_t status, hsa_queue_t* source, void* data), + void* data, uint32_t private_segment_size, uint32_t group_segment_size, + hsa_queue_t** queue) { + const auto status = hsa_amd_queue_intercept_create_fn( + agent, size, type, callback, data, private_segment_size, group_segment_size, &queue_); + *queue = queue_; + return status; + } + + hsa_status_t Cleanup() const { return hsa_queue_destroy_fn(queue_); } + + hsa_queue_t* queue_; +}; + +} // namespace rocprofiler + +#endif // _SRC_CORE_HSA_PROXY_QUEUE_H diff --git a/src/proxy/hsa_queue.h b/src/proxy/hsa_queue.h new file mode 100644 index 0000000000..48e3039a60 --- /dev/null +++ b/src/proxy/hsa_queue.h @@ -0,0 +1,46 @@ +/****************************************************************************** +Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +*******************************************************************************/ + +#ifndef _SRC_CORE_HSA_QUEUE_H +#define _SRC_CORE_HSA_QUEUE_H + +#include + +#include "proxy/queue.h" + +namespace rocprofiler { + +class HsaQueue : public Queue { + public: + HsaQueue(const util::AgentInfo* agent_info, hsa_queue_t* queue) : queue_(queue) {} + + void Submit(const packet_t* packet) { + util::HsaRsrcFactory::Instance().Submit(queue_, packet); + } + + private: + hsa_queue_t* queue_; +}; + +} // namespace rocprofiler + +#endif // _SRC_CORE_HSA_QUEUE_H diff --git a/src/proxy/intercept_queue.cpp b/src/proxy/intercept_queue.cpp new file mode 100644 index 0000000000..301f4eea68 --- /dev/null +++ b/src/proxy/intercept_queue.cpp @@ -0,0 +1,42 @@ +/****************************************************************************** +Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +*******************************************************************************/ + +#include "proxy/intercept_queue.h" + +namespace rocprofiler { +void InterceptQueue::HsaIntercept(HsaApiTable* table) { + table->core_->hsa_queue_create_fn = rocprofiler::InterceptQueue::QueueCreate; + table->core_->hsa_queue_destroy_fn = rocprofiler::InterceptQueue::QueueDestroy; +} + +InterceptQueue::mutex_t InterceptQueue::mutex_; +//rocprofiler_callback_t InterceptQueue::dispatch_callback_ = NULL; +//InterceptQueue::queue_callback_t InterceptQueue::create_callback_ = NULL; +//InterceptQueue::queue_callback_t InterceptQueue::destroy_callback_ = NULL; +//void* InterceptQueue::callback_data_ = NULL; +InterceptQueue::obj_map_t* InterceptQueue::obj_map_ = NULL; +const char* InterceptQueue::kernel_none_ = ""; +bool InterceptQueue::in_create_call_ = false; +InterceptQueue::queue_id_t InterceptQueue::current_queue_id = 0; +bool InterceptQueue::is_enabled = false; + +} // namespace rocprofiler diff --git a/src/proxy/intercept_queue.h b/src/proxy/intercept_queue.h new file mode 100644 index 0000000000..f92f1ce6bc --- /dev/null +++ b/src/proxy/intercept_queue.h @@ -0,0 +1,301 @@ +/****************************************************************************** +Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +*******************************************************************************/ + +#ifndef _SRC_CORE_INTERCEPT_QUEUE_H +#define _SRC_CORE_INTERCEPT_QUEUE_H + +#include +#include +#include +#include + +#include +#include +#include +#include + +#include "core/trace_buffer.h" +#include "proxy/tracker.h" +#include "proxy/proxy_queue.h" +#include "util/hsa_rsrc_factory.h" +#include "util/exception.h" + +namespace roctracer { extern TraceBuffer trace_buffer; } + +namespace rocprofiler { +extern decltype(hsa_queue_create)* hsa_queue_create_fn; +extern decltype(hsa_queue_destroy)* hsa_queue_destroy_fn; + +class InterceptQueue { + public: + typedef std::recursive_mutex mutex_t; + typedef std::map obj_map_t; + typedef hsa_status_t (*queue_callback_t)(hsa_queue_t*, void* data); + typedef void (*queue_event_callback_t)(hsa_status_t status, hsa_queue_t *queue, void *arg); + typedef uint32_t queue_id_t; + + static void HsaIntercept(HsaApiTable* table); + + static hsa_status_t InterceptQueueCreate(hsa_agent_t agent, uint32_t size, hsa_queue_type32_t type, + void (*callback)(hsa_status_t status, hsa_queue_t* source, + void* data), + void* data, uint32_t private_segment_size, + uint32_t group_segment_size, hsa_queue_t** queue, + const bool& tracker_on) { + std::lock_guard lck(mutex_); + hsa_status_t status = HSA_STATUS_ERROR; + + if (in_create_call_) EXC_ABORT(status, "recursive InterceptQueueCreate()"); + in_create_call_ = true; + + ProxyQueue* proxy = ProxyQueue::Create(agent, size, type, queue_event_callback, data, private_segment_size, + group_segment_size, queue, &status); + if (status != HSA_STATUS_SUCCESS) EXC_ABORT(status, "ProxyQueue::Create()"); + + status = util::HsaRsrcFactory::HsaApi()->hsa_amd_profiling_set_profiler_enabled(*queue, true); + if (status != HSA_STATUS_SUCCESS) EXC_ABORT(status, "hsa_amd_profiling_set_profiler_enabled()"); + + if (!obj_map_) obj_map_ = new obj_map_t; + InterceptQueue* obj = new InterceptQueue(agent, *queue, proxy); + obj->queue_event_callback_ = callback; + obj->queue_id = current_queue_id; + (*obj_map_)[(uint64_t)(*queue)] = obj; + + status = (is_enabled) ? proxy->SetInterceptCB(OnSubmitCB, obj) : proxy->SetInterceptCB(OnSubmitCB_dummy, obj); + +#if 0 + if (create_callback_ != NULL) { + status = create_callback_(*queue, callback_data_); + } +#endif + + ++current_queue_id; + in_create_call_ = false; + return status; + } + + static hsa_status_t QueueCreate(hsa_agent_t agent, uint32_t size, hsa_queue_type32_t type, + void (*callback)(hsa_status_t status, hsa_queue_t* source, + void* data), + void* data, uint32_t private_segment_size, + uint32_t group_segment_size, hsa_queue_t** queue) { + return InterceptQueueCreate(agent, size, type, callback, data, private_segment_size, group_segment_size, queue, false); + } + + static hsa_status_t QueueCreateTracked(hsa_agent_t agent, uint32_t size, hsa_queue_type32_t type, + void (*callback)(hsa_status_t status, hsa_queue_t* source, + void* data), + void* data, uint32_t private_segment_size, + uint32_t group_segment_size, hsa_queue_t** queue) { + return InterceptQueueCreate(agent, size, type, callback, data, private_segment_size, group_segment_size, queue, true); + } + + static hsa_status_t QueueDestroy(hsa_queue_t* queue) { + std::lock_guard lck(mutex_); + hsa_status_t status = HSA_STATUS_SUCCESS; +#if 0 + if (destroy_callback_ != NULL) { + status = destroy_callback_(queue, callback_data_); + } +#endif + if (status == HSA_STATUS_SUCCESS) { + status = DelObj(queue); + } + + return status; + } + + static void OnSubmitCB_dummy(const void* in_packets, uint64_t count, uint64_t user_que_idx, void* data, + hsa_amd_queue_intercept_packet_writer writer) { + const packet_t* packets_arr = reinterpret_cast(in_packets); + + // Submitting the original packets if profiling was not enabled + if (writer != NULL) { + writer(packets_arr, count); + } else { + InterceptQueue* obj = reinterpret_cast(data); + Queue* proxy = obj->proxy_; + proxy->Submit(packets_arr, count); + } + } + + static void OnSubmitCB(const void* in_packets, uint64_t count, uint64_t user_que_idx, void* data, + hsa_amd_queue_intercept_packet_writer writer) { + const packet_t* packets_arr = reinterpret_cast(in_packets); + InterceptQueue* obj = reinterpret_cast(data); + Queue* proxy = obj->proxy_; + + // Travers input packets + for (uint64_t j = 0; j < count; ++j) { + const packet_t* packet = &packets_arr[j]; + + // Checking for dispatch packet type + if (GetHeaderType(packet) == HSA_PACKET_TYPE_KERNEL_DISPATCH) { + const hsa_kernel_dispatch_packet_t* dispatch_packet = + reinterpret_cast(packet); + + // Prepareing dispatch callback data + const hsa_signal_t completion_signal = dispatch_packet->completion_signal; + const amd_kernel_code_t* kernel_code = GetKernelCode(dispatch_packet); + const uint64_t kernel_symbol = kernel_code->runtime_loader_kernel_symbol; + const char* kernel_name = GetKernelName(kernel_symbol); + + // Adding kernel timing tracker + ::proxy::Tracker::entry_t* entry = roctracer::trace_buffer.GetEntry(); + entry->kernel.tid = syscall(__NR_gettid); + entry->kernel.name = kernel_name; + ::proxy::Tracker::Enable(roctracer::KERNEL_ENTRY_TYPE, obj->agent_info_->dev_id, completion_signal, entry); + const_cast(dispatch_packet)->completion_signal = entry->signal; + } + } + + // Submitting the original packets if profiling was not enabled + if (writer != NULL) { + writer(packets_arr, count); + } else { + proxy->Submit(packets_arr, count); + } + } +#if 0 + static void SetCallbacks(rocprofiler_callback_t dispatch_callback, + queue_callback_t create_callback, + queue_callback_t destroy_callback, + void* data) + { + std::lock_guard lck(mutex_); + callback_data_ = data; + dispatch_callback_ = dispatch_callback; + create_callback_ = create_callback; + destroy_callback_ = destroy_callback; + } +#endif + + static void Enable(bool val) { is_enabled = val; } + + private: + static void queue_event_callback(hsa_status_t status, hsa_queue_t *queue, void *arg) { + if (status != HSA_STATUS_SUCCESS) EXC_ABORT(status, "queue error handling is not supported"); + InterceptQueue* obj = GetObj(queue); + if (obj->queue_event_callback_) obj->queue_event_callback_(status, obj->queue_, arg); + } + + static hsa_packet_type_t GetHeaderType(const packet_t* packet) { + const packet_word_t* header = reinterpret_cast(packet); + return static_cast((*header >> HSA_PACKET_HEADER_TYPE) & header_type_mask); + } + + static const amd_kernel_code_t* GetKernelCode(const hsa_kernel_dispatch_packet_t* dispatch_packet) { + const amd_kernel_code_t* kernel_code = NULL; + hsa_status_t status = + util::HsaRsrcFactory::Instance().LoaderApi()->hsa_ven_amd_loader_query_host_address( + reinterpret_cast(dispatch_packet->kernel_object), + reinterpret_cast(&kernel_code)); + if (HSA_STATUS_SUCCESS != status) { + kernel_code = reinterpret_cast(dispatch_packet->kernel_object); + } + return kernel_code; + } + + static const char* GetKernelName(const uint64_t kernel_symbol) { + amd_runtime_loader_debug_info_t* dbg_info = + reinterpret_cast(kernel_symbol); + const char* kernel_name = (dbg_info != NULL) ? dbg_info->kernel_name : NULL; + return (kernel_name != NULL) ? strdup(kernel_name) : strdup(kernel_none_); +#if 0 + // Kernel name is mangled name + // apply __cxa_demangle() to demangle it + const char* funcname = NULL; + if (kernel_name != NULL) { + size_t funcnamesize = 0; + int status; + const char* ret = abi::__cxa_demangle(kernel_name, NULL, &funcnamesize, &status); + funcname = (ret != 0) ? ret : strdup(kernel_name); + } + if (funcname == NULL) funcname = strdup(kernel_none_); + + return funcname; +#endif + } + + // method to get an intercept queue object + static InterceptQueue* GetObj(const hsa_queue_t* queue) { + std::lock_guard lck(mutex_); + InterceptQueue* obj = NULL; + obj_map_t::const_iterator it = obj_map_->find((uint64_t)queue); + if (it != obj_map_->end()) { + obj = it->second; + assert(queue == obj->queue_); + } + return obj; + } + + // method to delete an intercept queue object + static hsa_status_t DelObj(const hsa_queue_t* queue) { + std::lock_guard lck(mutex_); + hsa_status_t status = HSA_STATUS_ERROR; + obj_map_t::const_iterator it = obj_map_->find((uint64_t)queue); + if (it != obj_map_->end()) { + const InterceptQueue* obj = it->second; + assert(queue == obj->queue_); + delete obj; + obj_map_->erase(it); + status = HSA_STATUS_SUCCESS;; + } + return status; + } + + InterceptQueue(const hsa_agent_t& agent, hsa_queue_t* const queue, ProxyQueue* proxy) : + queue_(queue), + proxy_(proxy) + { + agent_info_ = util::HsaRsrcFactory::Instance().GetAgentInfo(agent); + queue_event_callback_ = NULL; + } + + ~InterceptQueue() { + ProxyQueue::Destroy(proxy_); + } + + static bool is_enabled; + + static mutex_t mutex_; + static const packet_word_t header_type_mask = (1ul << HSA_PACKET_HEADER_WIDTH_TYPE) - 1; +#if 0 + static queue_callback_t create_callback_; + static queue_callback_t destroy_callback_; + static void* callback_data_; +#endif + static obj_map_t* obj_map_; + static const char* kernel_none_; + static bool in_create_call_; + static queue_id_t current_queue_id; + + hsa_queue_t* const queue_; + ProxyQueue* const proxy_; + const util::AgentInfo* agent_info_; + queue_event_callback_t queue_event_callback_; + queue_id_t queue_id; +}; + +} // namespace rocprofiler + +#endif // _SRC_CORE_INTERCEPT_QUEUE_H diff --git a/src/proxy/proxy_queue.cpp b/src/proxy/proxy_queue.cpp new file mode 100644 index 0000000000..e5cca0da2c --- /dev/null +++ b/src/proxy/proxy_queue.cpp @@ -0,0 +1,63 @@ +/****************************************************************************** +Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +*******************************************************************************/ + +#include "proxy/proxy_queue.h" + +#include "proxy/hsa_proxy_queue.h" +#include "proxy/simple_proxy_queue.h" + +namespace rocprofiler { +void ProxyQueue::HsaIntercept(HsaApiTable* table) { + if (rocp_type_) SimpleProxyQueue::HsaIntercept(table); +} + +ProxyQueue* ProxyQueue::Create(hsa_agent_t agent, uint32_t size, hsa_queue_type32_t type, + void (*callback)(hsa_status_t status, hsa_queue_t* source, + void* data), + void* data, uint32_t private_segment_size, + uint32_t group_segment_size, hsa_queue_t** queue, + hsa_status_t* status) { + hsa_status_t suc = HSA_STATUS_ERROR; + ProxyQueue* instance = + (rocp_type_) ? (ProxyQueue*) new SimpleProxyQueue() : (ProxyQueue*) new HsaProxyQueue(); + if (instance != NULL) { + suc = instance->Init(agent, size, type, callback, data, private_segment_size, + group_segment_size, queue); + if (suc != HSA_STATUS_SUCCESS) { + delete instance; + instance = NULL; + } + } + *status = suc; + assert(*status == HSA_STATUS_SUCCESS); + return instance; +} + +hsa_status_t ProxyQueue::Destroy(const ProxyQueue* obj) { + assert(obj != NULL); + auto suc = obj->Cleanup(); + delete obj; + return suc; +} + +bool ProxyQueue::rocp_type_ = false; +} // namespace rocprofiler diff --git a/src/proxy/proxy_queue.h b/src/proxy/proxy_queue.h new file mode 100644 index 0000000000..f876ab6c72 --- /dev/null +++ b/src/proxy/proxy_queue.h @@ -0,0 +1,77 @@ +/****************************************************************************** +Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +*******************************************************************************/ + +#ifndef _SRC_CORE_PROXY_QUEUE_H +#define _SRC_CORE_PROXY_QUEUE_H + +#include +#include +#include +#include +#include + +#include "proxy/queue.h" +#include "proxy/types.h" + +struct HsaApiTable; + +namespace rocprofiler { +typedef void (*hsa_amd_queue_intercept_packet_writer)(const void* packets, uint64_t count); +typedef void (*on_submit_cb_t)(const void* packet, uint64_t count, uint64_t que_idx, void* data, + hsa_amd_queue_intercept_packet_writer writer); + +class ProxyQueue : public Queue { + public: + static void InitFactory() { + const char* type = getenv("ROCP_PROXY_QUEUE"); + if (type != NULL) { + if (strncmp(type, "rocp", 4) == 0) rocp_type_ = true; + } + } + + static void HsaIntercept(HsaApiTable* table); + + static ProxyQueue* Create(hsa_agent_t agent, uint32_t size, hsa_queue_type32_t type, + void (*callback)(hsa_status_t status, hsa_queue_t* source, void* data), + void* data, uint32_t private_segment_size, uint32_t group_segment_size, + hsa_queue_t** queue, hsa_status_t* status); + + static hsa_status_t Destroy(const ProxyQueue* obj); + + virtual hsa_status_t Init(hsa_agent_t agent, uint32_t size, hsa_queue_type32_t type, + void (*callback)(hsa_status_t status, hsa_queue_t* source, void* data), + void* data, uint32_t private_segment_size, uint32_t group_segment_size, + hsa_queue_t** queue) = 0; + virtual hsa_status_t Cleanup() const = 0; + virtual hsa_status_t SetInterceptCB(on_submit_cb_t on_submit_cb, void* data) = 0; + virtual void Submit(const packet_t* packet) = 0; + + protected: + virtual ~ProxyQueue(){}; + + private: + static bool rocp_type_; +}; + +} // namespace rocprofiler + +#endif // _SRC_CORE_PROXY_QUEUE_H diff --git a/src/proxy/queue.h b/src/proxy/queue.h new file mode 100644 index 0000000000..78214af504 --- /dev/null +++ b/src/proxy/queue.h @@ -0,0 +1,42 @@ +/****************************************************************************** +Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +*******************************************************************************/ + +#ifndef _SRC_CORE_QUEUE_H +#define _SRC_CORE_QUEUE_H + +#include "proxy/types.h" + +namespace rocprofiler { + +class Queue { + public: + Queue() {} + virtual ~Queue() {} + virtual void Submit(const packet_t* packet) = 0; + virtual void Submit(const packet_t* packet, const size_t& count) { + for (const packet_t* p = packet; p < packet + count; ++p) Submit(p); + } +}; + +} // namespace rocprofiler + +#endif // _SRC_CORE_QUEUE_H diff --git a/src/proxy/simple_proxy_queue.cpp b/src/proxy/simple_proxy_queue.cpp new file mode 100644 index 0000000000..91b2d109eb --- /dev/null +++ b/src/proxy/simple_proxy_queue.cpp @@ -0,0 +1,40 @@ +/****************************************************************************** +Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +*******************************************************************************/ + +#include "proxy/simple_proxy_queue.h" + +namespace rocprofiler { +void SimpleProxyQueue::HsaIntercept(HsaApiTable* table) { + table->core_->hsa_signal_store_relaxed_fn = rocprofiler::SimpleProxyQueue::SignalStore; + table->core_->hsa_signal_store_screlease_fn = rocprofiler::SimpleProxyQueue::SignalStore; + + table->core_->hsa_queue_load_write_index_relaxed_fn = rocprofiler::SimpleProxyQueue::GetQueueIndex; + table->core_->hsa_queue_store_write_index_relaxed_fn = rocprofiler::SimpleProxyQueue::SetQueueIndex; + table->core_->hsa_queue_load_read_index_relaxed_fn = rocprofiler::SimpleProxyQueue::GetSubmitIndex; + + table->core_->hsa_queue_load_write_index_scacquire_fn = rocprofiler::SimpleProxyQueue::GetQueueIndex; + table->core_->hsa_queue_store_write_index_screlease_fn = rocprofiler::SimpleProxyQueue::SetQueueIndex; + table->core_->hsa_queue_load_read_index_scacquire_fn = rocprofiler::SimpleProxyQueue::GetSubmitIndex; +} + +SimpleProxyQueue::queue_map_t* SimpleProxyQueue::queue_map_ = NULL; +} // namespace rocprofiler diff --git a/src/proxy/simple_proxy_queue.h b/src/proxy/simple_proxy_queue.h new file mode 100644 index 0000000000..8215f44c1e --- /dev/null +++ b/src/proxy/simple_proxy_queue.h @@ -0,0 +1,261 @@ +/****************************************************************************** +Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +*******************************************************************************/ + +#ifndef _SRC_CORE_SIMPLE_PROXY_QUEUE_H +#define _SRC_CORE_SIMPLE_PROXY_QUEUE_H + +#include +#include +#include +#include + +#include "proxy/proxy_queue.h" +#include "util/hsa_rsrc_factory.h" + +#ifndef ROCP_PROXY_LOCK +# define ROCP_PROXY_LOCK 1 +#endif + +namespace rocprofiler { +extern decltype(hsa_queue_create)* hsa_queue_create_fn; +extern decltype(hsa_queue_destroy)* hsa_queue_destroy_fn; + +extern decltype(hsa_signal_store_relaxed)* hsa_signal_store_relaxed_fn; +extern decltype(hsa_signal_store_relaxed)* hsa_signal_store_screlease_fn; + +extern decltype(hsa_queue_load_write_index_relaxed)* hsa_queue_load_write_index_relaxed_fn; +extern decltype(hsa_queue_store_write_index_relaxed)* hsa_queue_store_write_index_relaxed_fn; +extern decltype(hsa_queue_load_read_index_relaxed)* hsa_queue_load_read_index_relaxed_fn; + +extern decltype(hsa_queue_load_write_index_scacquire)* hsa_queue_load_write_index_scacquire_fn; +extern decltype(hsa_queue_store_write_index_screlease)* hsa_queue_store_write_index_screlease_fn; +extern decltype(hsa_queue_load_read_index_scacquire)* hsa_queue_load_read_index_scacquire_fn; + +typedef decltype(hsa_signal_t::handle) signal_handle_t; + + +class SimpleProxyQueue : public ProxyQueue { + public: + static void HsaIntercept(HsaApiTable* table); + + static void SignalStore(hsa_signal_t signal, hsa_signal_value_t que_idx) { + auto it = queue_map_->find(signal.handle); + if (it != queue_map_->end()) { + SimpleProxyQueue* instance = it->second; + instance->mutex_lock(); + const uint64_t begin = instance->submit_index_; + const uint64_t end = que_idx + 1; + instance->submit_index_ = end; + instance->mutex_unlock(); + for (uint64_t j = begin; j < end; ++j) { + // Submited packet + const uint32_t idx = j & instance->queue_mask_; + packet_t* packet = reinterpret_cast(instance->queue_->base_address) + idx; + if (instance->on_submit_cb_ != NULL) + instance->on_submit_cb_(packet, 1, j, instance->on_submit_cb_data_, NULL); + else + instance->Submit(packet); + } + } else { + hsa_signal_store_relaxed_fn(signal, que_idx); + } + } + + static uint64_t GetSubmitIndex(const hsa_queue_t* queue) { + uint64_t index = 0; + auto it = queue_map_->find(queue->doorbell_signal.handle); + if (it != queue_map_->end()) { + SimpleProxyQueue* instance = it->second; + index = instance->submit_index_; + } else { + index = hsa_queue_load_read_index_relaxed_fn(queue); + } + return index; + } + + static uint64_t GetQueueIndex(const hsa_queue_t* queue) { + uint64_t index = 0; + auto it = queue_map_->find(queue->doorbell_signal.handle); + if (it != queue_map_->end()) { + SimpleProxyQueue* instance = it->second; + instance->mutex_lock(); + index = instance->queue_index_; + } else { + index = hsa_queue_load_write_index_relaxed_fn(queue); + } + return index; + } + + static void SetQueueIndex(const hsa_queue_t* queue, uint64_t value) { + auto it = queue_map_->find(queue->doorbell_signal.handle); + if (it != queue_map_->end()) { + SimpleProxyQueue* instance = it->second; + instance->queue_index_ = value; + instance->mutex_unlock(); + } else { + hsa_queue_store_write_index_relaxed_fn(queue, value); + } + } + + hsa_status_t SetInterceptCB(on_submit_cb_t on_submit_cb, void* data) { + on_submit_cb_ = on_submit_cb; + on_submit_cb_data_ = data; + return HSA_STATUS_SUCCESS; + } + + void Submit(const packet_t* packet) { + // Compute the write index of queue + const uint64_t que_idx = hsa_queue_load_write_index_relaxed_fn(queue_); + + // Waiting untill there is a free space in the queue + while (que_idx >= (hsa_queue_load_read_index_relaxed_fn(queue_) + size_)); + + // Increment the write index + hsa_queue_store_write_index_relaxed_fn(queue_, que_idx + 1); + + const uint32_t mask = queue_->size - 1; + const uint32_t idx = que_idx & mask; + + // Copy packet to the queue + const packet_word_t* src = reinterpret_cast(packet); + packet_word_t* dst = reinterpret_cast(base_address_ + idx); + for (unsigned i = 1; i < sizeof(packet_t) / sizeof(packet_word_t); ++i) { + dst[i] = src[i]; + } + + // To maintain global order to ensure the prior copy of the packet contents is made visible + // before the header is updated. + // With in-order CP it will wait until the first packet in the blob will be valid. + std::atomic* header_atomic_ptr = + reinterpret_cast*>(&dst[0]); + header_atomic_ptr->store(src[0], std::memory_order_release); + + // Doorbell signaling to submit the packet + hsa_signal_store_relaxed_fn(doorbell_signal_, que_idx); + } + + SimpleProxyQueue() + : agent_info_(NULL), + queue_(NULL), + base_address_(NULL), + doorbell_signal_({}), + queue_index_(0), + queue_mask_(0), + submit_index_(0), + on_submit_cb_(NULL), + on_submit_cb_data_(NULL) + { + printf("ROCProfiler: SimpleProxyQueue is enabled\n"); + fflush(stdout); + } + + ~SimpleProxyQueue() {} + + private: + typedef std::map queue_map_t; + + hsa_status_t Init(hsa_agent_t agent, uint32_t size, hsa_queue_type32_t type, + void (*callback)(hsa_status_t status, hsa_queue_t* source, void* data), + void* data, uint32_t private_segment_size, uint32_t group_segment_size, + hsa_queue_t** queue) { + size_ = size; + auto status = Init(agent, size); + *queue = queue_; + return status; + } + + hsa_status_t Init(hsa_agent_t agent, uint32_t size) { + hsa_status_t status = HSA_STATUS_ERROR; + agent_info_ = util::HsaRsrcFactory::Instance().GetAgentInfo(agent); + if (agent_info_ != NULL) { + if (agent_info_->dev_type == HSA_DEVICE_TYPE_GPU) { + status = hsa_queue_create_fn(agent, size, HSA_QUEUE_TYPE_MULTI, NULL, NULL, UINT32_MAX, + UINT32_MAX, &queue_); + if (status == HSA_STATUS_SUCCESS) { + base_address_ = reinterpret_cast(queue_->base_address); + doorbell_signal_ = queue_->doorbell_signal; + data_array_ = calloc(size + 1, sizeof(packet_t)); + uintptr_t addr = (uintptr_t)data_array_; + queue_->base_address = (void*)((addr + align_mask_) & ~align_mask_); + status = hsa_signal_create(1, 0, NULL, &(queue_->doorbell_signal)); + if (status != HSA_STATUS_SUCCESS) abort(); + queue_mask_ = size - 1; + + if (queue_map_ == NULL) queue_map_ = new queue_map_t; + (*queue_map_)[queue_->doorbell_signal.handle] = this; + } + else abort(); + } + } + if (status != HSA_STATUS_SUCCESS) abort(); + return status; + } + + hsa_status_t Cleanup() const { + hsa_status_t status = HSA_STATUS_ERROR; + hsa_signal_t queue_signal = queue_->doorbell_signal; + + // Destroy original HSA queue + queue_->base_address = base_address_; + queue_->doorbell_signal = doorbell_signal_; + status = hsa_queue_destroy_fn(queue_); + if (status != HSA_STATUS_SUCCESS) abort(); + + // Destroy overloaded virtual queue data and signal + free(data_array_); + status = hsa_signal_destroy(queue_signal); + if (status != HSA_STATUS_SUCCESS) abort(); + + return status; + } + + void mutex_lock() { +#if ROCP_PROXY_LOCK + mutex_.lock(); +#endif + } + + void mutex_unlock() { +#if ROCP_PROXY_LOCK + mutex_.unlock(); +#endif + } + + uint32_t size_; + static queue_map_t* queue_map_; + const util::AgentInfo* agent_info_; + hsa_queue_t* queue_; + static const uintptr_t align_mask_ = sizeof(packet_t) - 1; + packet_t* base_address_; + hsa_signal_t doorbell_signal_; + uint64_t queue_index_; + uint64_t queue_mask_; + uint64_t submit_index_; + std::mutex mutex_; + on_submit_cb_t on_submit_cb_; + void* on_submit_cb_data_; + void* data_array_; +}; + +} // namespace rocprofiler + +#endif // _SRC_CORE_SIMPLE_PROXY_QUEUE_H diff --git a/src/proxy/tracker.h b/src/proxy/tracker.h index 190d6caf60..40b41438aa 100644 --- a/src/proxy/tracker.h +++ b/src/proxy/tracker.h @@ -20,8 +20,8 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. *******************************************************************************/ -#ifndef SRC_CORE_TRACKER_H_ -#define SRC_CORE_TRACKER_H_ +#ifndef SRC_PROXY_TRACKER_H_ +#define SRC_PROXY_TRACKER_H_ #include #include @@ -29,180 +29,58 @@ THE SOFTWARE. #include #include -#include -#include #include "util/hsa_rsrc_factory.h" #include "util/exception.h" #include "util/logger.h" +#include "core/trace_buffer.h" namespace proxy { -// Dispatch record -typedef struct { - uint64_t dispatch; // dispatch timestamp, ns - uint64_t begin; // kernel begin timestamp, ns - uint64_t end; // kernel end timestamp, ns - uint64_t complete; // completion signal timestamp, ns -} async_record_t; - class Tracker { public: - typedef std::mutex mutex_t; typedef util::HsaRsrcFactory::timestamp_t timestamp_t; - typedef async_record_t record_t; - struct entry_t; - typedef std::list sig_list_t; - typedef sig_list_t::iterator sig_list_it_t; - typedef uint64_t counter_t; - - struct entry_t { - counter_t index; - std::atomic valid; - Tracker* tracker; - sig_list_t::iterator it; - hsa_agent_t agent; - hsa_signal_t orig; - hsa_signal_t signal; - record_t* record; - std::atomic handler; - void* arg; - bool is_memcopy; - }; - - static Tracker* Create() { - std::lock_guard lck(glob_mutex_); - Tracker* obj = instance_.load(std::memory_order_relaxed); - if (obj == NULL) { - obj = new Tracker; - if (obj == NULL) EXC_ABORT(HSA_STATUS_ERROR, "Tracker creation failed"); - instance_.store(obj, std::memory_order_release); - } - return obj; - } - - static Tracker& Instance() { - Tracker* obj = instance_.load(std::memory_order_acquire); - if (obj == NULL) obj = Create(); - return *obj; - } - - static void Destroy() { - std::lock_guard lck(glob_mutex_); - if (instance_ != NULL) delete instance_; - instance_ = NULL; - } + typedef roctracer::trace_entry_t entry_t; // Add tracker entry - entry_t* Alloc(const hsa_agent_t& agent, const hsa_signal_t& orig) { + inline static void Enable(uint32_t type, const hsa_agent_t& agent, const hsa_signal_t& signal, entry_t* entry) { hsa_status_t status = HSA_STATUS_ERROR; + util::HsaRsrcFactory* hsa_rsrc = &(util::HsaRsrcFactory::Instance()); // Creating a new tracker entry - entry_t* entry = new entry_t{}; - assert(entry); - entry->tracker = this; + entry->type = type; entry->agent = agent; - entry->orig = orig; - - // Creating a record with the dispatch timestamps - record_t* record = new record_t{}; - assert(record); - record->dispatch = hsa_rsrc_->TimestampNs(); - entry->record = record; + entry->orig = signal; + entry->dispatch = hsa_rsrc->TimestampNs(); + entry->valid.store(roctracer::TRACE_ENTRY_INIT, std::memory_order_release); // Creating a proxy signal status = hsa_signal_create(1, 0, NULL, &(entry->signal)); if (status != HSA_STATUS_SUCCESS) EXC_RAISING(status, "hsa_signal_create"); status = hsa_amd_signal_async_handler(entry->signal, HSA_SIGNAL_CONDITION_LT, 1, Handler, entry); if (status != HSA_STATUS_SUCCESS) EXC_RAISING(status, "hsa_amd_signal_async_handler"); - - // Adding antry to the list - mutex_.lock(); - entry->it = sig_list_.insert(sig_list_.end(), entry); - entry->index = counter_++; - mutex_.unlock(); - - return entry; - } - - // Delete tracker entry - void Delete(entry_t* entry) { - hsa_signal_destroy(entry->signal); - mutex_.lock(); - sig_list_.erase(entry->it); - mutex_.unlock(); - delete entry; - } - - // Enable tracker entry - void Enable(entry_t* entry, void* handler, void* arg) { - // Set entry handler and release the entry - entry->arg = arg; - entry->handler.store(handler, std::memory_order_release); - - // Debug trace - if (trace_on_) { - auto outstanding = outstanding_.fetch_add(1); - fprintf(stdout, "Tracker::Add: entry %p, record %p, outst %lu\n", entry, entry->record, outstanding); - fflush(stdout); - } - } - - void EnableDispatch(entry_t* entry, hsa_amd_signal_handler handler, void* arg) { - entry->is_memcopy = false; - Enable(entry, reinterpret_cast(handler), arg); - } - void EnableMemcopy(entry_t* entry, hsa_amd_signal_handler handler, void* arg) { - entry->is_memcopy = true; - Enable(entry, reinterpret_cast(handler), arg); } private: - Tracker() : - outstanding_(0), - hsa_rsrc_(&(util::HsaRsrcFactory::Instance())) - {} - - ~Tracker() { - auto it = sig_list_.begin(); - auto end = sig_list_.end(); - while (it != end) { - auto cur = it++; - hsa_rsrc_->SignalWait((*cur)->signal); - Erase(cur); - } - } - - // Delete an entry by iterator - void Erase(const sig_list_it_t& it) { Delete(*it); } - // Entry completion - inline void Complete(hsa_signal_value_t signal_value, entry_t* entry) { - record_t* record = entry->record; - - // Debug trace - if (trace_on_) { - auto outstanding = outstanding_.fetch_sub(1); - fprintf(stdout, "Tracker::Handler: entry %p, record %p, outst %lu\n", entry, entry->record, outstanding); - fflush(stdout); - } - + inline static void Complete(hsa_signal_value_t signal_value, entry_t* entry) { // Query begin/end and complete timestamps - if (entry->is_memcopy) { + util::HsaRsrcFactory* hsa_rsrc = &(util::HsaRsrcFactory::Instance()); + if (entry->type == roctracer::COPY_ENTRY_TYPE) { hsa_amd_profiling_async_copy_time_t async_copy_time{}; hsa_status_t status = hsa_amd_profiling_get_async_copy_time(entry->signal, &async_copy_time); if (status != HSA_STATUS_SUCCESS) EXC_RAISING(status, "hsa_amd_profiling_get_async_copy_time"); - record->begin = hsa_rsrc_->SysclockToNs(async_copy_time.start); - record->end = hsa_rsrc_->SysclockToNs(async_copy_time.end); + entry->begin = hsa_rsrc->SysclockToNs(async_copy_time.start); + entry->end = hsa_rsrc->SysclockToNs(async_copy_time.end); } else { hsa_amd_profiling_dispatch_time_t dispatch_time{}; hsa_status_t status = hsa_amd_profiling_get_dispatch_time(entry->agent, entry->signal, &dispatch_time); if (status != HSA_STATUS_SUCCESS) EXC_RAISING(status, "hsa_amd_profiling_get_dispatch_time"); - record->begin = hsa_rsrc_->SysclockToNs(dispatch_time.start); - record->end = hsa_rsrc_->SysclockToNs(dispatch_time.end); + entry->begin = hsa_rsrc->SysclockToNs(dispatch_time.start); + entry->end = hsa_rsrc->SysclockToNs(dispatch_time.end); } - record->complete = hsa_rsrc_->TimestampNs(); - entry->valid.store(true, std::memory_order_release); + entry->complete = hsa_rsrc->TimestampNs(); + entry->valid.store(roctracer::TRACE_ENTRY_COMPL, std::memory_order_release); // Original intercepted signal completion hsa_signal_t orig = entry->orig; @@ -216,72 +94,22 @@ class Tracker { if (signal_value != new_value) EXC_ABORT(HSA_STATUS_ERROR, "Tracker::Complete bad signal value"); hsa_signal_store_screlease(orig, signal_value); } - } - - inline static void HandleEntry(hsa_signal_value_t signal_value, entry_t* entry) { - // Call entry handler - void* handler = static_cast(entry->handler); - reinterpret_cast(handler)(signal_value, entry->arg); - // Delete tracker entry - entry->tracker->Delete(entry); + hsa_signal_destroy(entry->signal); } // Handler for packet completion static bool Handler(hsa_signal_value_t signal_value, void* arg) { // Acquire entry entry_t* entry = reinterpret_cast(arg); - volatile std::atomic* ptr = &entry->handler; - while (ptr->load(std::memory_order_acquire) == NULL) sched_yield(); + while (entry->valid.load(std::memory_order_acquire) != roctracer::TRACE_ENTRY_INIT) sched_yield(); // Complete entry - Tracker* tracker = entry->tracker; - tracker->Complete(signal_value, entry); - - if (ordering_enabled_ == false) { - HandleEntry(signal_value, entry); - } else { - // Acquire last entry - entry_t* back = tracker->sig_list_.back(); - volatile std::atomic* ptr = &back->handler; - while (ptr->load(std::memory_order_acquire) == NULL) sched_yield(); - - tracker->handler_mutex_.lock(); - sig_list_it_t it = tracker->sig_list_.begin(); - sig_list_it_t end = back->it; - while (it != end) { - entry = *(it++); - if (entry->valid.load(std::memory_order_acquire)) { - HandleEntry(signal_value, entry); - } else { - break; - } - } - tracker->handler_mutex_.unlock(); - } + Tracker::Complete(signal_value, entry); return false; } - - // instance - static std::atomic instance_; - static mutex_t glob_mutex_; - static counter_t counter_; - - // Tracked signals list - sig_list_t sig_list_; - // Inter-thread synchronization - mutex_t mutex_; - mutex_t handler_mutex_; - // Outstanding dispatches - std::atomic outstanding_; - // HSA resources factory - util::HsaRsrcFactory* hsa_rsrc_; - // Handling ordering enabled - static const bool ordering_enabled_ = false; - // Enable tracing - static const bool trace_on_ = false; }; } // namespace rocprofiler -#endif // SRC_CORE_TRACKER_H_ +#endif // SRC_PROXY_TRACKER_H_ diff --git a/src/proxy/types.h b/src/proxy/types.h new file mode 100644 index 0000000000..c72bb34302 --- /dev/null +++ b/src/proxy/types.h @@ -0,0 +1,50 @@ +/****************************************************************************** +Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +*******************************************************************************/ + +#ifndef SRC_CORE_TYPES_H_ +#define SRC_CORE_TYPES_H_ + +#include + +#include + +namespace rocprofiler { +typedef hsa_ven_amd_aqlprofile_pfn_t pfn_t; +typedef hsa_ven_amd_aqlprofile_event_t event_t; +typedef hsa_ven_amd_aqlprofile_parameter_t parameter_t; +typedef hsa_ven_amd_aqlprofile_profile_t profile_t; +typedef hsa_ext_amd_aql_pm4_packet_t packet_t; +typedef uint32_t packet_word_t; +typedef uint64_t timestamp_t; + +inline std::ostream& operator<< (std::ostream& out, const event_t& event) { + out << "[block_name(" << event.block_name << "). block_index(" << event.block_index << "). counter_id(" << event.counter_id << ")]"; + return out; +} +inline std::ostream& operator<< (std::ostream& out, const parameter_t& parameter) { + out << "[parameter_name(" << parameter.parameter_name << "). value(" << parameter.value << ")]"; + return out; +} + +} // namespace rocprofiler + +#endif // SRC_CORE_TYPES_H_ diff --git a/src/util/hsa_rsrc_factory.cpp b/src/util/hsa_rsrc_factory.cpp index 97e599b3d8..ccb1cd9de3 100644 --- a/src/util/hsa_rsrc_factory.cpp +++ b/src/util/hsa_rsrc_factory.cpp @@ -145,7 +145,7 @@ HsaRsrcFactory::HsaRsrcFactory(bool initialize_hsa) : initialize_hsa_(initialize CHECK_STATUS("loader API table query failed", status); // Instantiate HSA timer - timer_ = new HsaTimer; + timer_ = new HsaTimer(&hsa_api_); CHECK_STATUS("HSA timer allocation failed", (timer_ == NULL) ? HSA_STATUS_ERROR : HSA_STATUS_SUCCESS); @@ -172,7 +172,6 @@ void HsaRsrcFactory::InitHsaApiTable(HsaApiTable* table) { hsa_api_.hsa_init = table->core_->hsa_init_fn; hsa_api_.hsa_shut_down = table->core_->hsa_shut_down_fn; hsa_api_.hsa_agent_get_info = table->core_->hsa_agent_get_info_fn; - hsa_api_.hsa_iterate_agents = table->core_->hsa_iterate_agents_fn; hsa_api_.hsa_queue_create = table->core_->hsa_queue_create_fn; @@ -180,14 +179,13 @@ void HsaRsrcFactory::InitHsaApiTable(HsaApiTable* table) { hsa_api_.hsa_queue_load_write_index_relaxed = table->core_->hsa_queue_load_write_index_relaxed_fn; hsa_api_.hsa_queue_store_write_index_relaxed = table->core_->hsa_queue_store_write_index_relaxed_fn; hsa_api_.hsa_queue_load_read_index_relaxed = table->core_->hsa_queue_load_read_index_relaxed_fn; + hsa_api_.hsa_signal_create = table->core_->hsa_signal_create_fn; hsa_api_.hsa_signal_destroy = table->core_->hsa_signal_destroy_fn; hsa_api_.hsa_signal_load_relaxed = table->core_->hsa_signal_load_relaxed_fn; hsa_api_.hsa_signal_store_relaxed = table->core_->hsa_signal_store_relaxed_fn; - hsa_api_.hsa_signal_store_screlease = table->core_->hsa_signal_store_screlease_fn; hsa_api_.hsa_signal_wait_scacquire = table->core_->hsa_signal_wait_scacquire_fn; - - hsa_api_.hsa_system_get_major_extension_table = table->core_->hsa_system_get_major_extension_table_fn; + hsa_api_.hsa_signal_store_screlease = table->core_->hsa_signal_store_screlease_fn; hsa_api_.hsa_code_object_reader_create_from_file = table->core_->hsa_code_object_reader_create_from_file_fn; hsa_api_.hsa_executable_create_alt = table->core_->hsa_executable_create_alt_fn; @@ -195,21 +193,23 @@ void HsaRsrcFactory::InitHsaApiTable(HsaApiTable* table) { hsa_api_.hsa_executable_freeze = table->core_->hsa_executable_freeze_fn; hsa_api_.hsa_executable_get_symbol = table->core_->hsa_executable_get_symbol_fn; + hsa_api_.hsa_system_get_info = table->core_->hsa_system_get_info_fn; + hsa_api_.hsa_system_get_major_extension_table = table->core_->hsa_system_get_major_extension_table_fn; + hsa_api_.hsa_amd_agent_iterate_memory_pools = table->amd_ext_->hsa_amd_agent_iterate_memory_pools_fn; hsa_api_.hsa_amd_memory_pool_get_info = table->amd_ext_->hsa_amd_memory_pool_get_info_fn; hsa_api_.hsa_amd_memory_pool_allocate = table->amd_ext_->hsa_amd_memory_pool_allocate_fn; hsa_api_.hsa_amd_agents_allow_access = table->amd_ext_->hsa_amd_agents_allow_access_fn; - hsa_api_.hsa_amd_memory_async_copy = table->amd_ext_->hsa_amd_memory_async_copy_fn; hsa_api_.hsa_amd_signal_async_handler = table->amd_ext_->hsa_amd_signal_async_handler_fn; + hsa_api_.hsa_amd_profiling_set_profiler_enabled = table->amd_ext_->hsa_amd_profiling_set_profiler_enabled_fn; hsa_api_.hsa_amd_profiling_get_async_copy_time = table->amd_ext_->hsa_amd_profiling_get_async_copy_time_fn; hsa_api_.hsa_amd_profiling_get_dispatch_time = table->amd_ext_->hsa_amd_profiling_get_dispatch_time_fn; } else { hsa_api_.hsa_init = hsa_init; hsa_api_.hsa_shut_down = hsa_shut_down; hsa_api_.hsa_agent_get_info = hsa_agent_get_info; - hsa_api_.hsa_iterate_agents = hsa_iterate_agents; hsa_api_.hsa_queue_create = hsa_queue_create; @@ -217,19 +217,13 @@ void HsaRsrcFactory::InitHsaApiTable(HsaApiTable* table) { hsa_api_.hsa_queue_load_write_index_relaxed = hsa_queue_load_write_index_relaxed; hsa_api_.hsa_queue_store_write_index_relaxed = hsa_queue_store_write_index_relaxed; hsa_api_.hsa_queue_load_read_index_relaxed = hsa_queue_load_read_index_relaxed; + hsa_api_.hsa_signal_create = hsa_signal_create; hsa_api_.hsa_signal_destroy = hsa_signal_destroy; + hsa_api_.hsa_signal_load_relaxed = hsa_signal_load_relaxed; hsa_api_.hsa_signal_store_relaxed = hsa_signal_store_relaxed; hsa_api_.hsa_signal_wait_scacquire = hsa_signal_wait_scacquire; - - hsa_api_.hsa_amd_agent_iterate_memory_pools = hsa_amd_agent_iterate_memory_pools; - hsa_api_.hsa_amd_memory_pool_get_info = hsa_amd_memory_pool_get_info; - hsa_api_.hsa_amd_memory_pool_allocate = hsa_amd_memory_pool_allocate; - hsa_api_.hsa_amd_agents_allow_access = hsa_amd_agents_allow_access; - - hsa_api_.hsa_amd_memory_async_copy = hsa_amd_memory_async_copy; - - hsa_api_.hsa_system_get_major_extension_table = hsa_system_get_major_extension_table; + hsa_api_.hsa_signal_store_screlease = hsa_signal_store_screlease; hsa_api_.hsa_code_object_reader_create_from_file = hsa_code_object_reader_create_from_file; hsa_api_.hsa_executable_create_alt = hsa_executable_create_alt; @@ -237,11 +231,19 @@ void HsaRsrcFactory::InitHsaApiTable(HsaApiTable* table) { hsa_api_.hsa_executable_freeze = hsa_executable_freeze; hsa_api_.hsa_executable_get_symbol = hsa_executable_get_symbol; + hsa_api_.hsa_system_get_info = hsa_system_get_info; + hsa_api_.hsa_system_get_major_extension_table = hsa_system_get_major_extension_table; + + hsa_api_.hsa_amd_agent_iterate_memory_pools = hsa_amd_agent_iterate_memory_pools; + hsa_api_.hsa_amd_memory_pool_get_info = hsa_amd_memory_pool_get_info; + hsa_api_.hsa_amd_memory_pool_allocate = hsa_amd_memory_pool_allocate; + hsa_api_.hsa_amd_agents_allow_access = hsa_amd_agents_allow_access; + hsa_api_.hsa_amd_memory_async_copy = hsa_amd_memory_async_copy; + hsa_api_.hsa_amd_signal_async_handler = hsa_amd_signal_async_handler; + hsa_api_.hsa_amd_profiling_set_profiler_enabled = hsa_amd_profiling_set_profiler_enabled; hsa_api_.hsa_amd_profiling_get_async_copy_time = hsa_amd_profiling_get_async_copy_time; hsa_api_.hsa_amd_profiling_get_dispatch_time = hsa_amd_profiling_get_dispatch_time; - hsa_api_.hsa_signal_load_relaxed = hsa_signal_load_relaxed; - hsa_api_.hsa_signal_store_screlease = hsa_signal_store_screlease; } } } diff --git a/src/util/hsa_rsrc_factory.h b/src/util/hsa_rsrc_factory.h index 0a2ad84fe3..8cc8c1254b 100644 --- a/src/util/hsa_rsrc_factory.h +++ b/src/util/hsa_rsrc_factory.h @@ -71,41 +71,43 @@ static const size_t MEM_PAGE_MASK = MEM_PAGE_BYTES - 1; typedef decltype(hsa_agent_t::handle) hsa_agent_handle_t; struct hsa_pfn_t { - decltype(::hsa_init)* hsa_init; - decltype(::hsa_shut_down)* hsa_shut_down; - decltype(::hsa_agent_get_info)* hsa_agent_get_info; + decltype(hsa_init)* hsa_init; + decltype(hsa_shut_down)* hsa_shut_down; + decltype(hsa_agent_get_info)* hsa_agent_get_info; + decltype(hsa_iterate_agents)* hsa_iterate_agents; - decltype(::hsa_iterate_agents)* hsa_iterate_agents; + decltype(hsa_queue_create)* hsa_queue_create; + decltype(hsa_queue_destroy)* hsa_queue_destroy; + decltype(hsa_queue_load_write_index_relaxed)* hsa_queue_load_write_index_relaxed; + decltype(hsa_queue_store_write_index_relaxed)* hsa_queue_store_write_index_relaxed; + decltype(hsa_queue_load_read_index_relaxed)* hsa_queue_load_read_index_relaxed; - decltype(::hsa_queue_create)* hsa_queue_create; - decltype(::hsa_queue_destroy)* hsa_queue_destroy; - decltype(::hsa_queue_load_write_index_relaxed)* hsa_queue_load_write_index_relaxed; - decltype(::hsa_queue_store_write_index_relaxed)* hsa_queue_store_write_index_relaxed; - decltype(::hsa_queue_load_read_index_relaxed)* hsa_queue_load_read_index_relaxed; - decltype(::hsa_signal_create)* hsa_signal_create; - decltype(::hsa_signal_destroy)* hsa_signal_destroy; - decltype(::hsa_signal_store_relaxed)* hsa_signal_store_relaxed; - decltype(::hsa_signal_wait_scacquire)* hsa_signal_wait_scacquire; + decltype(hsa_signal_create)* hsa_signal_create; + decltype(hsa_signal_destroy)* hsa_signal_destroy; + decltype(hsa_signal_load_relaxed)* hsa_signal_load_relaxed; + decltype(hsa_signal_store_relaxed)* hsa_signal_store_relaxed; + decltype(hsa_signal_wait_scacquire)* hsa_signal_wait_scacquire; + decltype(hsa_signal_store_screlease)* hsa_signal_store_screlease; - decltype(::hsa_amd_agent_iterate_memory_pools)* hsa_amd_agent_iterate_memory_pools; - decltype(::hsa_amd_memory_pool_get_info)* hsa_amd_memory_pool_get_info; - decltype(::hsa_amd_memory_pool_allocate)* hsa_amd_memory_pool_allocate; - decltype(::hsa_amd_agents_allow_access)* hsa_amd_agents_allow_access; - decltype(::hsa_amd_memory_async_copy)* hsa_amd_memory_async_copy; + decltype(hsa_code_object_reader_create_from_file)* hsa_code_object_reader_create_from_file; + decltype(hsa_executable_create_alt)* hsa_executable_create_alt; + decltype(hsa_executable_load_agent_code_object)* hsa_executable_load_agent_code_object; + decltype(hsa_executable_freeze)* hsa_executable_freeze; + decltype(hsa_executable_get_symbol)* hsa_executable_get_symbol; - decltype(::hsa_system_get_major_extension_table)* hsa_system_get_major_extension_table; + decltype(hsa_system_get_info)* hsa_system_get_info; + decltype(hsa_system_get_major_extension_table)* hsa_system_get_major_extension_table; - decltype(::hsa_code_object_reader_create_from_file)* hsa_code_object_reader_create_from_file; - decltype(::hsa_executable_create_alt)* hsa_executable_create_alt; - decltype(::hsa_executable_load_agent_code_object)* hsa_executable_load_agent_code_object; - decltype(::hsa_executable_freeze)* hsa_executable_freeze; - decltype(::hsa_executable_get_symbol)* hsa_executable_get_symbol; + decltype(hsa_amd_agent_iterate_memory_pools)* hsa_amd_agent_iterate_memory_pools; + decltype(hsa_amd_memory_pool_get_info)* hsa_amd_memory_pool_get_info; + decltype(hsa_amd_memory_pool_allocate)* hsa_amd_memory_pool_allocate; + decltype(hsa_amd_agents_allow_access)* hsa_amd_agents_allow_access; + decltype(hsa_amd_memory_async_copy)* hsa_amd_memory_async_copy; - decltype(::hsa_amd_signal_async_handler)* hsa_amd_signal_async_handler; - decltype(::hsa_amd_profiling_get_async_copy_time)* hsa_amd_profiling_get_async_copy_time; - decltype(::hsa_amd_profiling_get_dispatch_time)* hsa_amd_profiling_get_dispatch_time; - decltype(::hsa_signal_load_relaxed)* hsa_signal_load_relaxed; - decltype(::hsa_signal_store_screlease)* hsa_signal_store_screlease; + decltype(hsa_amd_signal_async_handler)* hsa_amd_signal_async_handler; + decltype(hsa_amd_profiling_set_profiler_enabled)* hsa_amd_profiling_set_profiler_enabled; + decltype(hsa_amd_profiling_get_async_copy_time)* hsa_amd_profiling_get_async_copy_time; + decltype(hsa_amd_profiling_get_dispatch_time)* hsa_amd_profiling_get_dispatch_time; }; // Encapsulates information about a Hsa Agent such as its @@ -167,9 +169,9 @@ class HsaTimer { static const timestamp_t TIMESTAMP_MAX = UINT64_MAX; typedef long double freq_t; - HsaTimer() { + HsaTimer(const hsa_pfn_t* hsa_api) : hsa_api_(hsa_api) { timestamp_t sysclock_hz = 0; - hsa_status_t status = hsa_system_get_info(HSA_SYSTEM_INFO_TIMESTAMP_FREQUENCY, &sysclock_hz); + hsa_status_t status = hsa_api_->hsa_system_get_info(HSA_SYSTEM_INFO_TIMESTAMP_FREQUENCY, &sysclock_hz); CHECK_STATUS("hsa_system_get_info(HSA_SYSTEM_INFO_TIMESTAMP_FREQUENCY)", status); sysclock_factor_ = (freq_t)1000000000 / (freq_t)sysclock_hz; } @@ -185,7 +187,7 @@ class HsaTimer { // Return timestamp in 'ns' timestamp_t timestamp_ns() const { timestamp_t sysclock; - hsa_status_t status = hsa_system_get_info(HSA_SYSTEM_INFO_TIMESTAMP, &sysclock); + hsa_status_t status = hsa_api_->hsa_system_get_info(HSA_SYSTEM_INFO_TIMESTAMP, &sysclock); CHECK_STATUS("hsa_system_get_info(HSA_SYSTEM_INFO_TIMESTAMP)", status); return sysclock_to_ns(sysclock); } @@ -193,6 +195,8 @@ class HsaTimer { private: // Timestamp frequency factor freq_t sysclock_factor_; + // HSA API table + const hsa_pfn_t* const hsa_api_; }; class HsaRsrcFactory { diff --git a/test/tool/tracer_tool.cpp b/test/tool/tracer_tool.cpp index 2a5a0edb8e..a3bb0619b6 100644 --- a/test/tool/tracer_tool.cpp +++ b/test/tool/tracer_tool.cpp @@ -32,6 +32,7 @@ THE SOFTWARE. #include #include #include +#include #include #define PUBLIC_API __attribute__((visibility("default"))) @@ -78,6 +79,19 @@ void fatal(const std::string msg) { abort(); } +struct api_trace_entry_t { + uint32_t valid; + uint32_t type; + uint32_t cid; + timestamp_t begin; + timestamp_t end; + uint32_t pid; + uint32_t tid; + hsa_api_data_t data; +}; + +roctracer::TraceBuffer api_trace_buffer(0x200000); + // HSA API callback function void hsa_api_callback( uint32_t domain, @@ -87,23 +101,35 @@ void hsa_api_callback( { (void)arg; const hsa_api_data_t* data = reinterpret_cast(callback_data); - if (data->phase == ACTIVITY_API_PHASE_ENTER) { hsa_begin_timestamp = timer->timestamp_fn_ns(); } else { const timestamp_t end_timestamp = (cid == HSA_API_ID_hsa_shut_down) ? hsa_begin_timestamp : timer->timestamp_fn_ns(); - std::ostringstream os; - os << hsa_begin_timestamp << ":" << end_timestamp << " " << GetPid() << ":" << GetTid() << " " << hsa_api_data_pair_t(cid, *data); - fprintf(hsa_api_file_handle, "%s\n", os.str().c_str()); + api_trace_entry_t* entry = api_trace_buffer.GetEntry(); + entry->valid = roctracer::TRACE_ENTRY_COMPL; + entry->cid = cid; + entry->begin = hsa_begin_timestamp; + entry->end = end_timestamp; + entry->pid = GetPid(); + entry->tid = GetTid(); + entry->data = *data; } } +void hsa_api_flush_cb(api_trace_entry_t* entry) { + std::ostringstream os; + os << entry->begin << ":" << entry->end << " " << entry->pid << ":" << entry->tid << " " << hsa_api_data_pair_t(entry->cid, entry->data); + fprintf(hsa_api_file_handle, "%s\n", os.str().c_str()); +} + void hsa_activity_callback( uint32_t op, activity_record_t* record, void* arg) { - fprintf(hsa_async_copy_file_handle, "%lu:%lu async-copy%lu\n", record->begin_ns, record->end_ns, record->correlation_id); + static uint64_t index = 0; + fprintf(hsa_async_copy_file_handle, "%lu:%lu async-copy%lu\n", record->begin_ns, record->end_ns, index); + index++; } void hip_api_callback( @@ -164,14 +190,14 @@ void hcc_activity_callback(const char* begin, const char* end, void* arg) { const roctracer_record_t* end_record = reinterpret_cast(end); while (record < end_record) { + const char * name = roctracer_op_string(record->domain, record->op, record->kind); if (record->domain == ACTIVITY_DOMAIN_HCC_OPS) { - const char * name = roctracer_op_string(record->domain, record->op, record->kind); fprintf(hcc_activity_file_handle, "%lu:%lu %d:%lu %s:%lu\n", record->begin_ns, record->end_ns, record->device_id, record->queue_id, name, record->correlation_id); } else { #if 0 - fprintf(stderr, "Bad domain %d\n", record->domain); - abort(); + fprintf(hip_api_file_handle, "%lu:%lu %u:%u %s()\n", + record->begin_ns, record->end_ns, record->process_id, record->thread_id, name); #endif } ROCTRACER_CALL(roctracer_next_record(record, &record)); @@ -312,8 +338,10 @@ extern "C" PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, // initialize HSA tracing roctracer_set_properties(ACTIVITY_DOMAIN_HSA_API, (void*)table); roctracer::hsa_ops_properties_t ops_properties{ + table, reinterpret_cast(hsa_activity_callback), - NULL}; + NULL, + output_prefix}; roctracer_set_properties(ACTIVITY_DOMAIN_HSA_OPS, &ops_properties); fprintf(stdout, " HSA-trace("); fflush(stdout); @@ -340,23 +368,32 @@ extern "C" PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, fprintf(stdout, " HIP-trace()\n"); fflush(stdout); // Allocating tracing pool roctracer_properties_t properties{}; - properties.buffer_size = 0x1000; + properties.buffer_size = 0x80000; properties.buffer_callback_fun = hcc_activity_callback; ROCTRACER_CALL(roctracer_open_pool(&properties)); ROCTRACER_CALL(roctracer_enable_domain_activity(ACTIVITY_DOMAIN_HCC_OPS)); - ROCTRACER_CALL(roctracer_enable_domain_activity(ACTIVITY_DOMAIN_HIP_API)); + //ROCTRACER_CALL(roctracer_enable_domain_activity(ACTIVITY_DOMAIN_HIP_API)); ROCTRACER_CALL(roctracer_enable_domain_callback(ACTIVITY_DOMAIN_HIP_API, hip_api_callback, NULL)); } - return true; + return roctracer_load(table, runtime_version, failed_tool_count, failed_tool_names); } // HSA-runtime tool on-unload method extern "C" PUBLIC_API void OnUnload() { + static bool is_unloaded = false; + if (is_unloaded) { + return; + } + is_unloaded = true; + roctracer_unload(); + if (trace_hsa) { ROCTRACER_CALL(roctracer_disable_domain_callback(ACTIVITY_DOMAIN_HSA_API)); ROCTRACER_CALL(roctracer_disable_domain_activity(ACTIVITY_DOMAIN_HSA_OPS)); + api_trace_buffer.Flush(0, hsa_api_flush_cb); + fclose(hsa_api_file_handle); fclose(hsa_async_copy_file_handle); } @@ -364,9 +401,13 @@ extern "C" PUBLIC_API void OnUnload() { ROCTRACER_CALL(roctracer_disable_domain_callback(ACTIVITY_DOMAIN_HIP_API)); ROCTRACER_CALL(roctracer_disable_domain_activity(ACTIVITY_DOMAIN_HIP_API)); ROCTRACER_CALL(roctracer_disable_domain_activity(ACTIVITY_DOMAIN_HCC_OPS)); + ROCTRACER_CALL(roctracer_flush_activity()); ROCTRACER_CALL(roctracer_close_pool()); fclose(hip_api_file_handle); fclose(hcc_activity_file_handle); } } + +extern "C" CONSTRUCTOR_API void constructor() {} +extern "C" DESTRUCTOR_API void destructor() { OnUnload(); } From bc68ccc1f38e39c88b4c5e94cc3cb691ffe5d72e Mon Sep 17 00:00:00 2001 From: Evgeny Date: Fri, 28 Jun 2019 13:07:48 -0500 Subject: [PATCH 127/691] enabling HIP activity as it is binded with corr id generation --- test/tool/tracer_tool.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/tool/tracer_tool.cpp b/test/tool/tracer_tool.cpp index a3bb0619b6..08def9693b 100644 --- a/test/tool/tracer_tool.cpp +++ b/test/tool/tracer_tool.cpp @@ -372,7 +372,7 @@ extern "C" PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, properties.buffer_callback_fun = hcc_activity_callback; ROCTRACER_CALL(roctracer_open_pool(&properties)); ROCTRACER_CALL(roctracer_enable_domain_activity(ACTIVITY_DOMAIN_HCC_OPS)); - //ROCTRACER_CALL(roctracer_enable_domain_activity(ACTIVITY_DOMAIN_HIP_API)); + ROCTRACER_CALL(roctracer_enable_domain_activity(ACTIVITY_DOMAIN_HIP_API)); ROCTRACER_CALL(roctracer_enable_domain_callback(ACTIVITY_DOMAIN_HIP_API, hip_api_callback, NULL)); } From b641d7c3fddb74f8b0f1fa5f05b46b45e09ef3db Mon Sep 17 00:00:00 2001 From: Evgeny Date: Tue, 2 Jul 2019 16:03:56 -0500 Subject: [PATCH 128/691] hip kernel names demangling --- test/tool/tracer_tool.cpp | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/test/tool/tracer_tool.cpp b/test/tool/tracer_tool.cpp index 08def9693b..d68d333f91 100644 --- a/test/tool/tracer_tool.cpp +++ b/test/tool/tracer_tool.cpp @@ -23,6 +23,7 @@ THE SOFTWARE. #include #include +#include /* names denangle */ #include #include #include /* For SYS_xxx definitions */ @@ -79,6 +80,14 @@ void fatal(const std::string msg) { abort(); } +// C++ names demangle +static inline const char* cxx_demangle(const char* symbol) { + size_t funcnamesize; + int status; + const char* ret = abi::__cxa_demangle(symbol, NULL, &funcnamesize, &status); + return (ret != 0) ? ret : strdup(symbol); +} + struct api_trace_entry_t { uint32_t valid; uint32_t type; @@ -170,9 +179,10 @@ void hip_api_callback( data->args.hipFree.ptr); break; case HIP_API_ID_hipModuleLaunchKernel: + case HIP_API_ID_hipHccModuleLaunchKernel: fprintf(hip_api_file_handle, "%s(kernel(%s) stream(%p))\n", oss.str().c_str(), - roctracer::HipLoader::Instance().KernelNameRef(data->args.hipModuleLaunchKernel.f), + cxx_demangle(roctracer::HipLoader::Instance().KernelNameRef(data->args.hipModuleLaunchKernel.f)), data->args.hipModuleLaunchKernel.stream); break; default: From 197c6152041a9033e44933691a963555c3c698d0 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Tue, 2 Jul 2019 16:51:02 -0500 Subject: [PATCH 129/691] hip api trace buffering --- src/core/trace_buffer.h | 4 +- test/run.sh | 3 +- test/tool/tracer_tool.cpp | 122 +++++++++++++++++++++++++------------- 3 files changed, 84 insertions(+), 45 deletions(-) diff --git a/src/core/trace_buffer.h b/src/core/trace_buffer.h index 30668e34d7..0e0eaf80b2 100644 --- a/src/core/trace_buffer.h +++ b/src/core/trace_buffer.h @@ -41,8 +41,8 @@ class TraceBuffer { TraceBuffer(uint32_t size) { size_ = size; - data_ = new Entry[size_];; - memset(data_, 0, size_ * sizeof(Entry)); + data_ = (Entry*) calloc(size, sizeof(Entry)); + memset(data_, 0, size * sizeof(Entry)); read_pointer_ = data_; } diff --git a/test/run.sh b/test/run.sh index 2080f33019..7d75f910c6 100755 --- a/test/run.sh +++ b/test/run.sh @@ -49,7 +49,8 @@ eval_test "standalone HIP test" ./test/MatrixTranspose_test # Tool test # rocTracer/tool is loaded by HSA runtime -export HSA_TOOLS_LIB="libroctracer64.so test/libtracer_tool.so" +export HSA_TOOLS_LIB="test/libtracer_tool.so" +export ROCTRACER_DOMAIN="hip" # HIP test eval_test "tool HIP test" ./test/MatrixTranspose diff --git a/test/tool/tracer_tool.cpp b/test/tool/tracer_tool.cpp index d68d333f91..105672d334 100644 --- a/test/tool/tracer_tool.cpp +++ b/test/tool/tracer_tool.cpp @@ -80,7 +80,7 @@ void fatal(const std::string msg) { abort(); } -// C++ names demangle +// C++ symbol demangle static inline const char* cxx_demangle(const char* symbol) { size_t funcnamesize; int status; @@ -88,7 +88,7 @@ static inline const char* cxx_demangle(const char* symbol) { return (ret != 0) ? ret : strdup(symbol); } -struct api_trace_entry_t { +struct hsa_api_trace_entry_t { uint32_t valid; uint32_t type; uint32_t cid; @@ -99,7 +99,7 @@ struct api_trace_entry_t { hsa_api_data_t data; }; -roctracer::TraceBuffer api_trace_buffer(0x200000); +roctracer::TraceBuffer hsa_api_trace_buffer(0x200000); // HSA API callback function void hsa_api_callback( @@ -114,7 +114,7 @@ void hsa_api_callback( hsa_begin_timestamp = timer->timestamp_fn_ns(); } else { const timestamp_t end_timestamp = (cid == HSA_API_ID_hsa_shut_down) ? hsa_begin_timestamp : timer->timestamp_fn_ns(); - api_trace_entry_t* entry = api_trace_buffer.GetEntry(); + hsa_api_trace_entry_t* entry = hsa_api_trace_buffer.GetEntry(); entry->valid = roctracer::TRACE_ENTRY_COMPL; entry->cid = cid; entry->begin = hsa_begin_timestamp; @@ -125,7 +125,7 @@ void hsa_api_callback( } } -void hsa_api_flush_cb(api_trace_entry_t* entry) { +void hsa_api_flush_cb(hsa_api_trace_entry_t* entry) { std::ostringstream os; os << entry->begin << ":" << entry->end << " " << entry->pid << ":" << entry->tid << " " << hsa_api_data_pair_t(entry->cid, entry->data); fprintf(hsa_api_file_handle, "%s\n", os.str().c_str()); @@ -141,6 +141,20 @@ void hsa_activity_callback( index++; } +struct hip_api_trace_entry_t { + uint32_t valid; + uint32_t type; + uint32_t cid; + timestamp_t begin; + timestamp_t end; + uint32_t pid; + uint32_t tid; + hip_api_data_t data; + const char* name; +}; + +roctracer::TraceBuffer hip_api_trace_buffer(0x200000); + void hip_api_callback( uint32_t domain, uint32_t cid, @@ -151,48 +165,70 @@ void hip_api_callback( const hip_api_data_t* data = reinterpret_cast(callback_data); if (data->phase == ACTIVITY_API_PHASE_ENTER) { - hsa_begin_timestamp = timer->timestamp_fn_ns(); + hip_begin_timestamp = timer->timestamp_fn_ns(); } else { const timestamp_t end_timestamp = timer->timestamp_fn_ns(); - std::ostringstream oss; \ - oss << std::dec << - hsa_begin_timestamp << ":" << end_timestamp << " " << GetPid() << ":" << GetTid() << " " << roctracer_op_string(ACTIVITY_DOMAIN_HIP_API, cid, 0); \ - - switch (cid) { - case HIP_API_ID_hipMemcpy: - fprintf(hip_api_file_handle, "%s(dst(%p) src(%p) size(0x%x) kind(%u))\n", - oss.str().c_str(), - data->args.hipMemcpy.dst, - data->args.hipMemcpy.src, - (uint32_t)(data->args.hipMemcpy.sizeBytes), - (uint32_t)(data->args.hipMemcpy.kind)); - break; - case HIP_API_ID_hipMalloc: - fprintf(hip_api_file_handle, "%s(ptr(0x%p) size(0x%x))\n", - oss.str().c_str(), - *(data->args.hipMalloc.ptr), - (uint32_t)(data->args.hipMalloc.size)); - break; - case HIP_API_ID_hipFree: - fprintf(hip_api_file_handle, "%s(ptr(%p))\n", - oss.str().c_str(), - data->args.hipFree.ptr); - break; - case HIP_API_ID_hipModuleLaunchKernel: - case HIP_API_ID_hipHccModuleLaunchKernel: - fprintf(hip_api_file_handle, "%s(kernel(%s) stream(%p))\n", - oss.str().c_str(), - cxx_demangle(roctracer::HipLoader::Instance().KernelNameRef(data->args.hipModuleLaunchKernel.f)), - data->args.hipModuleLaunchKernel.stream); - break; - default: - fprintf(hip_api_file_handle, "%s()\n", oss.str().c_str()); - break; + hip_api_trace_entry_t* entry = hip_api_trace_buffer.GetEntry(); + entry->valid = roctracer::TRACE_ENTRY_COMPL; + entry->cid = cid; + entry->begin = hip_begin_timestamp; + entry->end = end_timestamp; + entry->pid = GetPid(); + entry->tid = GetTid(); + entry->data = *data; + if ((cid == HIP_API_ID_hipModuleLaunchKernel) || + (cid == HIP_API_ID_hipModuleLaunchKernel)) + { + entry->name = strdup(roctracer::HipLoader::Instance().KernelNameRef(data->args.hipModuleLaunchKernel.f)); } - fflush(hip_api_file_handle); } } +void hip_api_flush_cb(hip_api_trace_entry_t* entry) { + const uint32_t cid = entry->cid; + const hip_api_data_t* data = &(entry->data); + const timestamp_t begin_timestamp = entry->begin; + const timestamp_t end_timestamp = entry->end; + std::ostringstream oss; \ + + oss << std::dec << + begin_timestamp << ":" << end_timestamp << " " << entry->pid << ":" << entry->tid << " " << roctracer_op_string(ACTIVITY_DOMAIN_HIP_API, cid, 0); \ + + switch (cid) { + case HIP_API_ID_hipMemcpy: + fprintf(hip_api_file_handle, "%s(dst(%p) src(%p) size(0x%x) kind(%u))\n", + oss.str().c_str(), + data->args.hipMemcpy.dst, + data->args.hipMemcpy.src, + (uint32_t)(data->args.hipMemcpy.sizeBytes), + (uint32_t)(data->args.hipMemcpy.kind)); + break; + case HIP_API_ID_hipMalloc: + fprintf(hip_api_file_handle, "%s(ptr(%p) size(0x%x))\n", + oss.str().c_str(), + *(data->args.hipMalloc.ptr), + (uint32_t)(data->args.hipMalloc.size)); + break; + case HIP_API_ID_hipFree: + fprintf(hip_api_file_handle, "%s(ptr(%p))\n", + oss.str().c_str(), + data->args.hipFree.ptr); + break; + case HIP_API_ID_hipModuleLaunchKernel: + case HIP_API_ID_hipHccModuleLaunchKernel: + fprintf(hip_api_file_handle, "%s(kernel(%s) stream(%p))\n", + oss.str().c_str(), + cxx_demangle(entry->name), + data->args.hipModuleLaunchKernel.stream); + break; + default: + fprintf(hip_api_file_handle, "%s()\n", oss.str().c_str()); + break; + } + + fflush(hip_api_file_handle); +} + // Activity tracing callback // hipMalloc id(3) correlation_id(1): begin_ns(1525888652762640464) end_ns(1525888652762877067) void hcc_activity_callback(const char* begin, const char* end, void* arg) { @@ -402,7 +438,7 @@ extern "C" PUBLIC_API void OnUnload() { ROCTRACER_CALL(roctracer_disable_domain_callback(ACTIVITY_DOMAIN_HSA_API)); ROCTRACER_CALL(roctracer_disable_domain_activity(ACTIVITY_DOMAIN_HSA_OPS)); - api_trace_buffer.Flush(0, hsa_api_flush_cb); + hsa_api_trace_buffer.Flush(0, hsa_api_flush_cb); fclose(hsa_api_file_handle); fclose(hsa_async_copy_file_handle); @@ -414,6 +450,8 @@ extern "C" PUBLIC_API void OnUnload() { ROCTRACER_CALL(roctracer_flush_activity()); ROCTRACER_CALL(roctracer_close_pool()); + hip_api_trace_buffer.Flush(0, hip_api_flush_cb); + fclose(hip_api_file_handle); fclose(hcc_activity_file_handle); } From b33389b30fa993d3c5b34d4cdc0e1ab4640a2dc4 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Sat, 13 Jul 2019 00:38:12 -0500 Subject: [PATCH 130/691] trace buffer wrapping --- inc/roctracer.h | 2 +- src/core/roctracer.cpp | 17 +++-- src/core/trace_buffer.h | 154 +++++++++++++++++++++++++++++++------- test/tool/tracer_tool.cpp | 23 ++++-- 4 files changed, 156 insertions(+), 40 deletions(-) diff --git a/inc/roctracer.h b/inc/roctracer.h index 05d3b84295..17cda4446d 100644 --- a/inc/roctracer.h +++ b/inc/roctracer.h @@ -222,7 +222,7 @@ bool roctracer_load( uint64_t failed_tool_count, const char* const* failed_tool_names); -void roctracer_unload(); +void roctracer_unload(bool destruct); #ifdef __cplusplus } // extern "C" block diff --git a/src/core/roctracer.cpp b/src/core/roctracer.cpp index f4d078760d..6416ed124b 100644 --- a/src/core/roctracer.cpp +++ b/src/core/roctracer.cpp @@ -161,7 +161,13 @@ namespace roctracer { decltype(hsa_amd_memory_async_copy)* hsa_amd_memory_async_copy_fn; decltype(hsa_amd_memory_async_copy_rect)* hsa_amd_memory_async_copy_rect_fn; -TraceBuffer trace_buffer(0x200000); +void hsa_async_copy_handler(::proxy::Tracker::entry_t* entry); +void hsa_kernel_handler(::proxy::Tracker::entry_t* entry); +TraceBuffer::flush_prm_t trace_buffer_prm[] = { + {roctracer::COPY_ENTRY_TYPE, hsa_async_copy_handler}, + {roctracer::KERNEL_ENTRY_TYPE, hsa_kernel_handler} +}; +TraceBuffer trace_buffer(0x200000, trace_buffer_prm, 2); namespace hsa_support { // callbacks table @@ -975,13 +981,12 @@ PUBLIC_API bool roctracer_load(HsaApiTable* table, uint64_t runtime_version, uin return true; } -PUBLIC_API void roctracer_unload() { +PUBLIC_API void roctracer_unload(bool destruct) { static bool is_unloaded = false; if (is_unloaded) return; is_unloaded = true; - roctracer::trace_buffer.Flush(roctracer::COPY_ENTRY_TYPE, roctracer::hsa_async_copy_handler); - roctracer::trace_buffer.Flush(roctracer::KERNEL_ENTRY_TYPE, roctracer::hsa_kernel_handler); + if (destruct == false) roctracer::trace_buffer.Flush(); if ((roctracer::hsa_support::output_prefix != NULL) && (roctracer::kernel_file_handle != NULL)) fclose(roctracer::kernel_file_handle); } @@ -989,14 +994,14 @@ PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, uint64_t fa const char* const* failed_tool_names) { return roctracer_load(table, runtime_version, failed_tool_count, failed_tool_names); } -PUBLIC_API void OnUnload() { roctracer_unload(); } +PUBLIC_API void OnUnload() { roctracer_unload(false); } CONSTRUCTOR_API void constructor() { roctracer::util::Logger::Create(); } DESTRUCTOR_API void destructor() { - roctracer_unload(); + roctracer_unload(true); util::HsaRsrcFactory::Destroy(); roctracer::util::Logger::Destroy(); } diff --git a/src/core/trace_buffer.h b/src/core/trace_buffer.h index 0e0eaf80b2..d0bec76e2c 100644 --- a/src/core/trace_buffer.h +++ b/src/core/trace_buffer.h @@ -1,12 +1,27 @@ #ifndef SRC_CORE_TRACE_BUFFER_H_ #define SRC_CORE_TRACE_BUFFER_H_ +#include +#include +#include + +#define PTHREAD_CALL(call) \ + do { \ + int err = call; \ + if (err != 0) { \ + errno = err; \ + perror(#call); \ + abort(); \ + } \ + } while (0) + namespace roctracer { enum { TRACE_ENTRY_INV = 0, TRACE_ENTRY_INIT = 1, TRACE_ENTRY_COMPL = 2 }; + enum { API_ENTRY_TYPE, COPY_ENTRY_TYPE, @@ -37,42 +52,131 @@ struct trace_entry_t { template class TraceBuffer { public: - typedef void (*callabck_t)(Entry*); + typedef void (*callback_t)(Entry*); + typedef TraceBuffer Obj; + typedef uint64_t pointer_t; - TraceBuffer(uint32_t size) { + struct flush_prm_t { + uint32_t type; + callback_t fun; + }; + + TraceBuffer(uint32_t size, flush_prm_t* flush_prm_arr, uint32_t flush_prm_count) { size_ = size; - data_ = (Entry*) calloc(size, sizeof(Entry)); - memset(data_, 0, size * sizeof(Entry)); - read_pointer_ = data_; + data_ = allocate_fun(); + next_ = NULL; + read_pointer_ = 0; + end_pointer_ = size; + buf_list_.push_back(data_); + + flush_prm_arr_ = flush_prm_arr; + flush_prm_count_ = flush_prm_count; + is_flushed_ = false; + + PTHREAD_CALL(pthread_mutex_init(&work_mutex_, NULL)); + PTHREAD_CALL(pthread_cond_init(&work_cond_, NULL)); + PTHREAD_CALL(pthread_create(&work_thread_, NULL, allocate_worker, this)); } + ~TraceBuffer() { + PTHREAD_CALL(pthread_cancel(work_thread_)); + void *res; + PTHREAD_CALL(pthread_join(work_thread_, &res)); + if (res != PTHREAD_CANCELED) abort_run("~TraceBuffer: consumer thread wasn't stopped correctly"); + + if (is_flushed_ == false) flush_buf(); + } + + Entry* GetEntry() { - Entry* ptr = read_pointer_.fetch_add(1); - if (ptr >= (data_ + size_)) { - fprintf(stderr, "GetEntry: trace buffer is out of range\n"); - abort(); - } - return ptr; + const pointer_t pointer = read_pointer_.fetch_add(1); + if (pointer >= end_pointer_) wrap_buffer(pointer); + return data_ + pointer; } - void Flush(uint32_t type, callabck_t fun) { - Entry* ptr = data_; - for (; (ptr < read_pointer_) && (ptr < (data_ + size_)); ptr++) { - if (ptr->type == type) { - if (ptr->valid == TRACE_ENTRY_COMPL) { - fun(ptr); - } - } - } - if (ptr >= (data_ + size_)) { - fprintf(stderr, "Flush: trace buffer is out of range\n"); - } + void Flush() { + PTHREAD_CALL(pthread_mutex_lock(&work_mutex_)); + flush_buf(); + PTHREAD_CALL(pthread_mutex_unlock(&work_mutex_)); } private: - Entry* data_; + void flush_buf() { + is_flushed_ = true; + for (flush_prm_t* prm = flush_prm_arr_; prm < flush_prm_arr_ + flush_prm_count_; prm++) { + uint32_t type = prm->type; + callback_t fun = prm->fun; + pointer_t pointer = 0; + for (Entry* ptr : buf_list_) { + Entry* end = ptr + size_; + while ((ptr < end) && (pointer < read_pointer_)) { + if (ptr->type == type) { + if (ptr->valid == TRACE_ENTRY_COMPL) { + fun(ptr); + } + } + ptr++; + pointer++; + } + } + } + } + + inline Entry* allocate_fun() { + Entry* ptr = (Entry*) calloc(size_, sizeof(Entry)); + if (ptr == NULL) abort_run("TraceBuffer::allocate_fun: calloc failed"); + //memset(ptr, 0, size_ * sizeof(Entry)); + return ptr; + } + + static void* allocate_worker(void* arg) { + Obj* obj = (Obj*)arg; + + while (1) { + PTHREAD_CALL(pthread_mutex_lock(&(obj->work_mutex_))); + while (obj->next_ != NULL) { + PTHREAD_CALL(pthread_cond_wait(&(obj->work_cond_), &(obj->work_mutex_))); + } + obj->next_ = obj->allocate_fun(); + PTHREAD_CALL(pthread_mutex_unlock(&(obj->work_mutex_))); + } + + return NULL; + } + + void wrap_buffer(const pointer_t pointer) { + PTHREAD_CALL(pthread_mutex_lock(&work_mutex_)); + if (pointer >= end_pointer_) { + data_ = next_; + next_ = NULL; + PTHREAD_CALL(pthread_cond_signal(&work_cond_)); + end_pointer_ += size_; + if (end_pointer_ == 0) abort_run("TraceBuffer::wrap_buffer: pointer overflow"); + buf_list_.push_back(data_); + } + PTHREAD_CALL(pthread_mutex_unlock(&work_mutex_)); + } + + void abort_run(const char* str) { + fprintf(stderr, "%s\n", str); + fflush(stderr); + abort(); + } + uint32_t size_; - std::atomic read_pointer_; + Entry* data_; + Entry* next_; + std::atomic read_pointer_; + pointer_t end_pointer_; + std::list buf_list_; + + flush_prm_t* flush_prm_arr_; + uint32_t flush_prm_count_; + bool is_flushed_; + + pthread_t work_thread_; + pthread_mutex_t work_mutex_; + pthread_cond_t work_cond_; }; } // namespace roctracer diff --git a/test/tool/tracer_tool.cpp b/test/tool/tracer_tool.cpp index 105672d334..44b511149d 100644 --- a/test/tool/tracer_tool.cpp +++ b/test/tool/tracer_tool.cpp @@ -99,7 +99,9 @@ struct hsa_api_trace_entry_t { hsa_api_data_t data; }; -roctracer::TraceBuffer hsa_api_trace_buffer(0x200000); +void hsa_api_flush_cb(hsa_api_trace_entry_t* entry); +roctracer::TraceBuffer::flush_prm_t hsa_flush_prm[1] = {{0, hsa_api_flush_cb}}; +roctracer::TraceBuffer hsa_api_trace_buffer(0x200000, hsa_flush_prm, 1); // HSA API callback function void hsa_api_callback( @@ -153,7 +155,9 @@ struct hip_api_trace_entry_t { const char* name; }; -roctracer::TraceBuffer hip_api_trace_buffer(0x200000); +void hip_api_flush_cb(hip_api_trace_entry_t* entry); +roctracer::TraceBuffer::flush_prm_t hip_flush_prm[1] = {{0, hip_api_flush_cb}}; +roctracer::TraceBuffer hip_api_trace_buffer(0x200000, hip_flush_prm, 1); void hip_api_callback( uint32_t domain, @@ -425,20 +429,20 @@ extern "C" PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, return roctracer_load(table, runtime_version, failed_tool_count, failed_tool_names); } -// HSA-runtime tool on-unload method -extern "C" PUBLIC_API void OnUnload() { +// tool unload method +void tool_unload(bool destruct) { static bool is_unloaded = false; if (is_unloaded) { return; } is_unloaded = true; - roctracer_unload(); + roctracer_unload(destruct); if (trace_hsa) { ROCTRACER_CALL(roctracer_disable_domain_callback(ACTIVITY_DOMAIN_HSA_API)); ROCTRACER_CALL(roctracer_disable_domain_activity(ACTIVITY_DOMAIN_HSA_OPS)); - hsa_api_trace_buffer.Flush(0, hsa_api_flush_cb); + if (destruct == false) hsa_api_trace_buffer.Flush(); fclose(hsa_api_file_handle); fclose(hsa_async_copy_file_handle); @@ -450,12 +454,15 @@ extern "C" PUBLIC_API void OnUnload() { ROCTRACER_CALL(roctracer_flush_activity()); ROCTRACER_CALL(roctracer_close_pool()); - hip_api_trace_buffer.Flush(0, hip_api_flush_cb); + if (destruct == false) hip_api_trace_buffer.Flush(); fclose(hip_api_file_handle); fclose(hcc_activity_file_handle); } } +// HSA-runtime on-unload method +extern "C" PUBLIC_API void OnUnload() { tool_unload(false); } + extern "C" CONSTRUCTOR_API void constructor() {} -extern "C" DESTRUCTOR_API void destructor() { OnUnload(); } +extern "C" DESTRUCTOR_API void destructor() { tool_unload(true); } From 9ad1269ae8293987d70d2baa8a095008448ddb9a Mon Sep 17 00:00:00 2001 From: Evgeny Date: Mon, 15 Jul 2019 12:39:46 -0500 Subject: [PATCH 131/691] trace buffer flush on destruct --- src/core/loader.h | 3 +++ src/core/roctracer.cpp | 2 +- test/tool/tracer_tool.cpp | 3 ++- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/core/loader.h b/src/core/loader.h index 279b365175..46e8a4194b 100644 --- a/src/core/loader.h +++ b/src/core/loader.h @@ -47,6 +47,7 @@ class HipLoader : protected Loader { typedef decltype(hipRegisterActivityCallback) RegisterActivityCallback_t; typedef decltype(hipRemoveActivityCallback) RemoveActivityCallback_t; typedef decltype(hipKernelNameRef) KernelNameRef_t; + typedef decltype(hipApiName) ApiName_t; static HipLoader& Instance() { HipLoader* obj = instance_.load(std::memory_order_acquire); @@ -66,6 +67,7 @@ class HipLoader : protected Loader { RegisterActivityCallback = GetFun("hipRegisterActivityCallback"); RemoveActivityCallback = GetFun("hipRemoveActivityCallback"); KernelNameRef = GetFun("hipKernelNameRef"); + ApiName = GetFun("hipApiName"); } RegisterApiCallback_t* RegisterApiCallback; @@ -73,6 +75,7 @@ class HipLoader : protected Loader { RegisterActivityCallback_t* RegisterActivityCallback; RemoveActivityCallback_t* RemoveActivityCallback; KernelNameRef_t* KernelNameRef; + ApiName_t* ApiName; private: static std::atomic instance_; diff --git a/src/core/roctracer.cpp b/src/core/roctracer.cpp index 6416ed124b..1a1571a90e 100644 --- a/src/core/roctracer.cpp +++ b/src/core/roctracer.cpp @@ -598,7 +598,7 @@ PUBLIC_API const char* roctracer_op_string( break; } case ACTIVITY_DOMAIN_HIP_API: { - return hipApiName(op); + return roctracer::HipLoader::Instance().ApiName(op); break; } default: diff --git a/test/tool/tracer_tool.cpp b/test/tool/tracer_tool.cpp index 44b511149d..51e9314fef 100644 --- a/test/tool/tracer_tool.cpp +++ b/test/tool/tracer_tool.cpp @@ -196,7 +196,7 @@ void hip_api_flush_cb(hip_api_trace_entry_t* entry) { std::ostringstream oss; \ oss << std::dec << - begin_timestamp << ":" << end_timestamp << " " << entry->pid << ":" << entry->tid << " " << roctracer_op_string(ACTIVITY_DOMAIN_HIP_API, cid, 0); \ + begin_timestamp << ":" << end_timestamp << " " << entry->pid << ":" << entry->tid << " " << roctracer_op_string(ACTIVITY_DOMAIN_HIP_API, cid, 0); switch (cid) { case HIP_API_ID_hipMemcpy: @@ -244,6 +244,7 @@ void hcc_activity_callback(const char* begin, const char* end, void* arg) { if (record->domain == ACTIVITY_DOMAIN_HCC_OPS) { fprintf(hcc_activity_file_handle, "%lu:%lu %d:%lu %s:%lu\n", record->begin_ns, record->end_ns, record->device_id, record->queue_id, name, record->correlation_id); + fflush(hcc_activity_file_handle); } else { #if 0 fprintf(hip_api_file_handle, "%lu:%lu %u:%u %s()\n", From de7076b7b885d0f31ab6b4429f622fea13ce5132 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Tue, 16 Jul 2019 02:13:00 -0500 Subject: [PATCH 132/691] strdup isa_from_name:name --- script/hsaap.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/script/hsaap.py b/script/hsaap.py index 27ff082c28..d9067901c8 100755 --- a/script/hsaap.py +++ b/script/hsaap.py @@ -379,7 +379,10 @@ class API_DescrParser: self.content += 'static ' + ret_type + ' ' + call + '_callback(' + struct['args'] + ') {\n' self.content += ' hsa_api_data_t api_data{};\n' for var in struct['alst']: - self.content += ' api_data.args.' + call + '.' + var + ' = ' + var + ';\n' + if (call == 'hsa_isa_from_name') and (var == 'name'): + self.content += ' api_data.args.' + call + '.' + var + ' = ' + 'strdup(' + var + ')' + ';\n' + else: + self.content += ' api_data.args.' + call + '.' + var + ' = ' + var + ';\n' self.content += ' activity_rtapi_callback_t api_callback_fun = NULL;\n' self.content += ' void* api_callback_arg = NULL;\n' self.content += ' cb_table.get(' + call_id + ', &api_callback_fun, &api_callback_arg);\n' From a83f2d3c5694a81481fc50d18cf0db5f77a2f4c9 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Tue, 16 Jul 2019 23:36:41 -0500 Subject: [PATCH 133/691] hip api events buffering fix --- src/core/roctracer.cpp | 2 +- src/core/trace_buffer.h | 3 ++- test/tool/tracer_tool.cpp | 33 +++++++++++++++++++++++---------- 3 files changed, 26 insertions(+), 12 deletions(-) diff --git a/src/core/roctracer.cpp b/src/core/roctracer.cpp index 1a1571a90e..4e9c90d410 100644 --- a/src/core/roctracer.cpp +++ b/src/core/roctracer.cpp @@ -167,7 +167,7 @@ TraceBuffer::flush_prm_t trace_buffer_prm[] = { {roctracer::COPY_ENTRY_TYPE, hsa_async_copy_handler}, {roctracer::KERNEL_ENTRY_TYPE, hsa_kernel_handler} }; -TraceBuffer trace_buffer(0x200000, trace_buffer_prm, 2); +TraceBuffer trace_buffer("HSA GPU", 0x200000, trace_buffer_prm, 2); namespace hsa_support { // callbacks table diff --git a/src/core/trace_buffer.h b/src/core/trace_buffer.h index d0bec76e2c..7086c7dea7 100644 --- a/src/core/trace_buffer.h +++ b/src/core/trace_buffer.h @@ -61,7 +61,8 @@ class TraceBuffer { callback_t fun; }; - TraceBuffer(uint32_t size, flush_prm_t* flush_prm_arr, uint32_t flush_prm_count) { + TraceBuffer(const char* name, uint32_t size, flush_prm_t* flush_prm_arr, uint32_t flush_prm_count) { + (void) name; size_ = size; data_ = allocate_fun(); next_ = NULL; diff --git a/test/tool/tracer_tool.cpp b/test/tool/tracer_tool.cpp index 51e9314fef..b930e7ec86 100644 --- a/test/tool/tracer_tool.cpp +++ b/test/tool/tracer_tool.cpp @@ -84,8 +84,8 @@ void fatal(const std::string msg) { static inline const char* cxx_demangle(const char* symbol) { size_t funcnamesize; int status; - const char* ret = abi::__cxa_demangle(symbol, NULL, &funcnamesize, &status); - return (ret != 0) ? ret : strdup(symbol); + const char* ret = (symbol != NULL) ? abi::__cxa_demangle(symbol, NULL, &funcnamesize, &status) : symbol; + return (ret != NULL) ? ret : symbol; } struct hsa_api_trace_entry_t { @@ -101,7 +101,7 @@ struct hsa_api_trace_entry_t { void hsa_api_flush_cb(hsa_api_trace_entry_t* entry); roctracer::TraceBuffer::flush_prm_t hsa_flush_prm[1] = {{0, hsa_api_flush_cb}}; -roctracer::TraceBuffer hsa_api_trace_buffer(0x200000, hsa_flush_prm, 1); +roctracer::TraceBuffer hsa_api_trace_buffer("HSA API", 0x200000, hsa_flush_prm, 1); // HSA API callback function void hsa_api_callback( @@ -118,6 +118,7 @@ void hsa_api_callback( const timestamp_t end_timestamp = (cid == HSA_API_ID_hsa_shut_down) ? hsa_begin_timestamp : timer->timestamp_fn_ns(); hsa_api_trace_entry_t* entry = hsa_api_trace_buffer.GetEntry(); entry->valid = roctracer::TRACE_ENTRY_COMPL; + entry->type = 0; entry->cid = cid; entry->begin = hsa_begin_timestamp; entry->end = end_timestamp; @@ -153,11 +154,12 @@ struct hip_api_trace_entry_t { uint32_t tid; hip_api_data_t data; const char* name; + void* ptr; }; void hip_api_flush_cb(hip_api_trace_entry_t* entry); roctracer::TraceBuffer::flush_prm_t hip_flush_prm[1] = {{0, hip_api_flush_cb}}; -roctracer::TraceBuffer hip_api_trace_buffer(0x200000, hip_flush_prm, 1); +roctracer::TraceBuffer hip_api_trace_buffer("HIP", 0x200000, hip_flush_prm, 1); void hip_api_callback( uint32_t domain, @@ -174,16 +176,27 @@ void hip_api_callback( const timestamp_t end_timestamp = timer->timestamp_fn_ns(); hip_api_trace_entry_t* entry = hip_api_trace_buffer.GetEntry(); entry->valid = roctracer::TRACE_ENTRY_COMPL; + entry->type = 0; entry->cid = cid; entry->begin = hip_begin_timestamp; entry->end = end_timestamp; entry->pid = GetPid(); entry->tid = GetTid(); entry->data = *data; - if ((cid == HIP_API_ID_hipModuleLaunchKernel) || - (cid == HIP_API_ID_hipModuleLaunchKernel)) - { - entry->name = strdup(roctracer::HipLoader::Instance().KernelNameRef(data->args.hipModuleLaunchKernel.f)); + entry->name = NULL; + entry->ptr = NULL; + + switch (cid) { + case HIP_API_ID_hipMalloc: + entry->ptr = *(data->args.hipMalloc.ptr); + break; + case HIP_API_ID_hipModuleLaunchKernel: + case HIP_API_ID_hipExtModuleLaunchKernel: + case HIP_API_ID_hipHccModuleLaunchKernel: + const hipFunction_t f = data->args.hipModuleLaunchKernel.f; + if (f != NULL) { + entry->name = strdup(roctracer::HipLoader::Instance().KernelNameRef(f)); + } } } } @@ -210,7 +223,7 @@ void hip_api_flush_cb(hip_api_trace_entry_t* entry) { case HIP_API_ID_hipMalloc: fprintf(hip_api_file_handle, "%s(ptr(%p) size(0x%x))\n", oss.str().c_str(), - *(data->args.hipMalloc.ptr), + entry->ptr, (uint32_t)(data->args.hipMalloc.size)); break; case HIP_API_ID_hipFree: @@ -219,6 +232,7 @@ void hip_api_flush_cb(hip_api_trace_entry_t* entry) { data->args.hipFree.ptr); break; case HIP_API_ID_hipModuleLaunchKernel: + case HIP_API_ID_hipExtModuleLaunchKernel: case HIP_API_ID_hipHccModuleLaunchKernel: fprintf(hip_api_file_handle, "%s(kernel(%s) stream(%p))\n", oss.str().c_str(), @@ -227,7 +241,6 @@ void hip_api_flush_cb(hip_api_trace_entry_t* entry) { break; default: fprintf(hip_api_file_handle, "%s()\n", oss.str().c_str()); - break; } fflush(hip_api_file_handle); From 579e44c50c2ab3b8e897b701e09bfcf72a7e5d6e Mon Sep 17 00:00:00 2001 From: Evgeny Date: Thu, 18 Jul 2019 00:48:16 -0500 Subject: [PATCH 134/691] adding sys trace --- test/tool/tracer_tool.cpp | 58 ++++++++++++++++++++++++++++----------- 1 file changed, 42 insertions(+), 16 deletions(-) diff --git a/test/tool/tracer_tool.cpp b/test/tool/tracer_tool.cpp index b930e7ec86..2bfb3ba915 100644 --- a/test/tool/tracer_tool.cpp +++ b/test/tool/tracer_tool.cpp @@ -54,7 +54,8 @@ typedef hsa_rt_utils::Timer::timestamp_t timestamp_t; hsa_rt_utils::Timer* timer = NULL; thread_local timestamp_t hsa_begin_timestamp = 0; thread_local timestamp_t hip_begin_timestamp = 0; -bool trace_hsa = false; +bool trace_hsa_api = false; +bool trace_hsa_activity = false; bool trace_hip = false; LOADER_INSTANTIATE(); @@ -338,8 +339,19 @@ extern "C" PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, // API traces switches const char* trace_domain = getenv("ROCTRACER_DOMAIN"); - trace_hsa = (trace_domain == NULL) || (strncmp(trace_domain, "hsa", 3) == 0); - trace_hip = (trace_domain == NULL) || (strncmp(trace_domain, "hip", 3) == 0); + if (trace_domain != NULL) { + if (strncmp(trace_domain, "hsa", 3) == 0) { + trace_hsa_api = true; + trace_hsa_activity = true; + } + if (strncmp(trace_domain, "hip", 3) == 0) { + trace_hip = true; + } + if (strncmp(trace_domain, "sys", 3) == 0) { + trace_hsa_api = true; + trace_hip = true; + } + } // Output file const char* output_prefix = getenv("ROCP_OUTPUT_DIR"); @@ -381,12 +393,16 @@ extern "C" PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, if (name == "HSA") { found = true; - trace_hsa |= true; + trace_hsa_api = true; hsa_api_vec = api_vec; } + if (name == "GPU") { + found = true; + trace_hsa_activity = true; + } if (name == "HIP") { found = true; - trace_hip |= true; + trace_hip = true; } } @@ -395,18 +411,11 @@ extern "C" PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, printf("\n"); // Enable HSA API callbacks - if (trace_hsa) { + if (trace_hsa_api) { hsa_api_file_handle = open_output_file(output_prefix, "hsa_api_trace.txt"); - hsa_async_copy_file_handle = open_output_file(output_prefix, "async_copy_trace.txt"); // initialize HSA tracing roctracer_set_properties(ACTIVITY_DOMAIN_HSA_API, (void*)table); - roctracer::hsa_ops_properties_t ops_properties{ - table, - reinterpret_cast(hsa_activity_callback), - NULL, - output_prefix}; - roctracer_set_properties(ACTIVITY_DOMAIN_HSA_OPS, &ops_properties); fprintf(stdout, " HSA-trace("); fflush(stdout); if (hsa_api_vec.size() != 0) { @@ -420,10 +429,24 @@ extern "C" PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, } else { ROCTRACER_CALL(roctracer_enable_domain_callback(ACTIVITY_DOMAIN_HSA_API, hsa_api_callback, NULL)); } - ROCTRACER_CALL(roctracer_enable_domain_activity(ACTIVITY_DOMAIN_HSA_OPS)); printf(")\n"); } + if (trace_hsa_activity) { + hsa_async_copy_file_handle = open_output_file(output_prefix, "async_copy_trace.txt"); + + // initialize HSA tracing + roctracer::hsa_ops_properties_t ops_properties{ + table, + reinterpret_cast(hsa_activity_callback), + NULL, + output_prefix}; + roctracer_set_properties(ACTIVITY_DOMAIN_HSA_OPS, &ops_properties); + + fprintf(stdout, " HSA-activity-trace()\n"); fflush(stdout); + ROCTRACER_CALL(roctracer_enable_domain_activity(ACTIVITY_DOMAIN_HSA_OPS)); + } + // Enable HIP API callbacks/activity if (trace_hip) { hip_api_file_handle = open_output_file(output_prefix, "hip_api_trace.txt"); @@ -452,13 +475,16 @@ void tool_unload(bool destruct) { is_unloaded = true; roctracer_unload(destruct); - if (trace_hsa) { + if (trace_hsa_api) { ROCTRACER_CALL(roctracer_disable_domain_callback(ACTIVITY_DOMAIN_HSA_API)); - ROCTRACER_CALL(roctracer_disable_domain_activity(ACTIVITY_DOMAIN_HSA_OPS)); if (destruct == false) hsa_api_trace_buffer.Flush(); fclose(hsa_api_file_handle); + } + if (trace_hsa_activity) { + ROCTRACER_CALL(roctracer_disable_domain_activity(ACTIVITY_DOMAIN_HSA_OPS)); + fclose(hsa_async_copy_file_handle); } if (trace_hip) { From d2568d7a9f4f95d633a06396175fe92d86c3db2b Mon Sep 17 00:00:00 2001 From: Evgeny Date: Tue, 23 Jul 2019 15:32:58 -0500 Subject: [PATCH 135/691] adding kfd wrapper library and generator; adding roctx code annotation library; --- .gitignore | 2 ++ cmake_modules/env.cmake | 2 ++ script/kfdap.py | 35 +++++++++++++++++++++++++++++++++++ src/CMakeLists.txt | 22 ++++++++++++++++++++++ src/roctx/roctx.cpp | 5 +++++ 5 files changed, 66 insertions(+) create mode 100755 script/kfdap.py create mode 100644 src/roctx/roctx.cpp diff --git a/.gitignore b/.gitignore index e889ef2680..180b865cf6 100644 --- a/.gitignore +++ b/.gitignore @@ -7,6 +7,8 @@ b build inc/hsa_prof_str.h +inc/kfd_prof_str.h +src/kfd/kfd_wrapper.cpp test/hsa test/MatrixTranspose/MatrixTranspose test/MatrixTranspose_test/MatrixTranspose diff --git a/cmake_modules/env.cmake b/cmake_modules/env.cmake index 2ae54cfaa6..db8ed9d7eb 100644 --- a/cmake_modules/env.cmake +++ b/cmake_modules/env.cmake @@ -102,6 +102,7 @@ endif () find_library ( HSA_KMT_LIB "libhsakmt.so" ) get_filename_component ( HSA_KMT_LIB_PATH ${HSA_KMT_LIB} DIRECTORY ) +set ( HSA_KMT_INC_PATH "${HSA_KMT_LIB_PATH}/../include" ) ## Basic Tool Chain Information message ( "----------------NBIT: ${NBIT}" ) @@ -113,5 +114,6 @@ message ( "-HSA-Runtime-HSA-Inc: ${HSA_RUNTIME_HSA_INC_PATH}" ) message ( "-----HSA-Runtime-Lib: ${HSA_RUNTIME_LIB_PATH}" ) message ( "-------------HCC-Inc: ${HCC_INC_DIR}" ) message ( "-------------HIP-Inc: ${HIP_INC_DIR}" ) +message ( "-------------KFD-Inc: ${HSA_KMT_INC_PATH}" ) message ( "-----CMAKE_CXX_FLAGS: ${CMAKE_CXX_FLAGS}" ) message ( "---CMAKE_PREFIX_PATH: ${CMAKE_PREFIX_PATH}" ) diff --git a/script/kfdap.py b/script/kfdap.py new file mode 100755 index 0000000000..93f7e18072 --- /dev/null +++ b/script/kfdap.py @@ -0,0 +1,35 @@ +#!/usr/bin/python +import os, sys, re + +OUT_H = 'inc/kfd_prof_str.h' +OUT_C = "src/kfd/kfd_wrapper.cpp" +API_HEADER = "hsakmt.h" + +content_h = \ + '#ifndef KFD_PROF_STR_H_\n' + \ + '#define KFD_PROF_STR_H_\n' + \ + '#endif \\\\ KFD_PROF_STR_H_\n' + +content_c = 'namespace kfd { void fun() {}; } // namespace kfd\n' + +############################################################# +# main +# Usage +if len(sys.argv) != 3: + print >>sys.stderr, "Usage:", sys.argv[0], " " + sys.exit(1) +else: + ROOT = sys.argv[1] + '/' + KFD_DIR = sys.argv[2] + '/' + + +out_h_file = ROOT + OUT_H +out_c_file = ROOT + OUT_C +print 'Generating: "' + out_h_file + '", ' + out_c_file + '"' +f = open(out_h_file, 'w') +f.write(content_h) +f.close() +f = open(out_c_file, 'w') +f.write(content_c) +f.close() +############################################################# diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 46766ad815..5e499fa596 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -13,3 +13,25 @@ add_library ( ${TARGET_LIB} SHARED ${LIB_SRC} ) target_include_directories ( ${TARGET_LIB} PRIVATE ${LIB_DIR} ${ROOT_DIR} ${ROOT_DIR}/inc ${HSA_RUNTIME_INC_PATH} ${HSA_RUNTIME_HSA_INC_PATH} ${HIP_INC_DIR} ${HCC_INC_DIR} ) target_link_libraries( ${TARGET_LIB} PRIVATE ${HSA_RUNTIME_LIB} c stdc++ ) execute_process ( COMMAND sh -xc "${ROOT_DIR}/script/hsaap.py ${ROOT_DIR} ${HSA_RUNTIME_INC_PATH}" ) + +set ( KFD_LIB "kfdwrapper64" ) +set ( KFD_LIB_SRC + ${LIB_DIR}/kfd/kfd_wrapper.cpp +) +add_library ( ${KFD_LIB} SHARED ${KFD_LIB_SRC} ) +target_include_directories ( ${KFD_LIB} PRIVATE ${LIB_DIR} ${ROOT_DIR} ${ROOT_DIR}/inc ${HSA_RUNTIME_INC_PATH} ${HSA_RUNTIME_HSA_INC_PATH} ) +target_link_libraries( ${KFD_LIB} PRIVATE c stdc++ ) +#execute_process ( COMMAND sh -xc "${ROOT_DIR}/script/kfdap.py ${ROOT_DIR} ${HSA_KMT_INC_PATH}" ) +add_custom_command ( + OUTPUT "${ROOT_DIR}/src/kfd/kfd_wrapper.cpp" + COMMAND sh -xc "${ROOT_DIR}/script/kfdap.py ${ROOT_DIR} ${HSA_KMT_INC_PATH}" + DEPENDS ${ROOT_DIR}/script/kfdap.py +) + +set ( ROCTX_LIB "roctx64" ) +set ( ROCTX_LIB_SRC + ${LIB_DIR}/roctx/roctx.cpp +) +add_library ( ${ROCTX_LIB} SHARED ${ROCTX_LIB_SRC} ) +target_include_directories ( ${ROCTX_LIB} PRIVATE ${LIB_DIR} ${ROOT_DIR} ${ROOT_DIR}/inc ${HSA_RUNTIME_INC_PATH} ${HSA_RUNTIME_HSA_INC_PATH} ) +target_link_libraries( ${ROCTX_LIB} PRIVATE c stdc++ ) diff --git a/src/roctx/roctx.cpp b/src/roctx/roctx.cpp new file mode 100644 index 0000000000..755ac3635d --- /dev/null +++ b/src/roctx/roctx.cpp @@ -0,0 +1,5 @@ +namespace roctx { + +void fun() {} + +} // namespace roctx From 31b643f00c54d34303712567da030b7f3b92d9fe Mon Sep 17 00:00:00 2001 From: Evgeny Date: Wed, 24 Jul 2019 15:18:51 -0500 Subject: [PATCH 136/691] empty src/kfd directory --- .gitignore | 1 - src/CMakeLists.txt | 1 - src/kfd/.gitignore | 1 + 3 files changed, 1 insertion(+), 2 deletions(-) create mode 100644 src/kfd/.gitignore diff --git a/.gitignore b/.gitignore index 180b865cf6..cafda6d07e 100644 --- a/.gitignore +++ b/.gitignore @@ -8,7 +8,6 @@ b build inc/hsa_prof_str.h inc/kfd_prof_str.h -src/kfd/kfd_wrapper.cpp test/hsa test/MatrixTranspose/MatrixTranspose test/MatrixTranspose_test/MatrixTranspose diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 5e499fa596..37b2654a44 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -21,7 +21,6 @@ set ( KFD_LIB_SRC add_library ( ${KFD_LIB} SHARED ${KFD_LIB_SRC} ) target_include_directories ( ${KFD_LIB} PRIVATE ${LIB_DIR} ${ROOT_DIR} ${ROOT_DIR}/inc ${HSA_RUNTIME_INC_PATH} ${HSA_RUNTIME_HSA_INC_PATH} ) target_link_libraries( ${KFD_LIB} PRIVATE c stdc++ ) -#execute_process ( COMMAND sh -xc "${ROOT_DIR}/script/kfdap.py ${ROOT_DIR} ${HSA_KMT_INC_PATH}" ) add_custom_command ( OUTPUT "${ROOT_DIR}/src/kfd/kfd_wrapper.cpp" COMMAND sh -xc "${ROOT_DIR}/script/kfdap.py ${ROOT_DIR} ${HSA_KMT_INC_PATH}" diff --git a/src/kfd/.gitignore b/src/kfd/.gitignore new file mode 100644 index 0000000000..0c2acea703 --- /dev/null +++ b/src/kfd/.gitignore @@ -0,0 +1 @@ +kfd_wrapper.cpp From 91bcc4cc74a900b4352e7d8c53cb982b30565fd5 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Sat, 27 Jul 2019 06:19:35 -0500 Subject: [PATCH 137/691] roctx loader --- inc/roctracer.h | 3 ++ src/core/loader.h | 34 +++++++++++++- src/core/roctracer.cpp | 13 +++++- test/run.sh | 32 +++++++++---- test/tool/tracer_tool.cpp | 96 ++++++++++++++++++++++++++------------- 5 files changed, 136 insertions(+), 42 deletions(-) diff --git a/inc/roctracer.h b/inc/roctracer.h index 17cda4446d..04cd586d88 100644 --- a/inc/roctracer.h +++ b/inc/roctracer.h @@ -209,6 +209,9 @@ roctracer_status_t roctracer_disable_activity(); roctracer_status_t roctracer_flush_activity( roctracer_pool_t* pool = NULL); // memory pool, NULL is a default one +// Mark API +void roctracer_mark(const char* str); + // Load/Un;oad methods // Set properties roctracer_status_t roctracer_set_properties( diff --git a/src/core/loader.h b/src/core/loader.h index 46e8a4194b..ad25c99d61 100644 --- a/src/core/loader.h +++ b/src/core/loader.h @@ -8,6 +8,8 @@ #define LOADER_INSTANTIATE() \ std::atomic roctracer::HipLoader::instance_{}; \ std::atomic roctracer::HccLoader::instance_{}; \ + std::atomic roctracer::KfdLoader::instance_{}; \ + std::atomic roctracer::RocTxLoader::instance_{}; \ roctracer::Loader::mutex_t roctracer::Loader::mutex_; namespace roctracer { @@ -139,7 +141,7 @@ class KfdLoader : protected Loader { return *instance_; } - KfdLoader() : Loader("libkfd_wrapper.so") { + KfdLoader() : Loader("libkfdwrapper64.so") { RegisterApiCallback = GetFun("RegisterApiCallback"); RemoveApiCallback = GetFun("RemoveApiCallback"); } @@ -151,6 +153,36 @@ class KfdLoader : protected Loader { static std::atomic instance_; }; +// KFD runtime library loader class +class RocTxLoader : protected Loader { + public: + typedef bool (RegisterApiCallback_t)(uint32_t op, void* callback, void* arg); + typedef bool (RemoveApiCallback_t)(uint32_t op); + + static RocTxLoader& Instance() { + RocTxLoader* obj = instance_.load(std::memory_order_acquire); + if (obj == NULL) { + std::lock_guard lck(mutex_); + if (instance_.load(std::memory_order_relaxed) == NULL) { + obj = new RocTxLoader(); + instance_.store(obj, std::memory_order_release); + } + } + return *instance_; + } + + RocTxLoader() : Loader("libroctx64.so") { + RegisterApiCallback = GetFun("RegisterApiCallback"); + RemoveApiCallback = GetFun("RemoveApiCallback"); + } + + RegisterApiCallback_t* RegisterApiCallback; + RemoveApiCallback_t* RemoveApiCallback; + + private: + static std::atomic instance_; +}; + } // namespace roctracer #endif // SRC_CORE_LOADER_H_ diff --git a/src/core/roctracer.cpp b/src/core/roctracer.cpp index 4e9c90d410..819aa018f1 100644 --- a/src/core/roctracer.cpp +++ b/src/core/roctracer.cpp @@ -88,6 +88,12 @@ THE SOFTWARE. (void)err; \ return X; +/////////////////////////////////////////////////////////////////////////////////////////////////// +// Mark callback +// +typedef void (mark_api_callback_t)(uint32_t domain, uint32_t cid, const void* callback_data, void* arg); +mark_api_callback_t* mark_api_callback_ptr = NULL; + /////////////////////////////////////////////////////////////////////////////////////////////////// // Internal library methods // @@ -923,6 +929,11 @@ PUBLIC_API roctracer_status_t roctracer_flush_activity(roctracer_pool_t* pool) { API_METHOD_SUFFIX } +// Mark API +PUBLIC_API void roctracer_mark(const char* str) { + if (mark_api_callback_ptr) mark_api_callback_ptr(ACTIVITY_DOMAIN_NUMBER, 0, str, NULL); +} + // Set properties PUBLIC_API roctracer_status_t roctracer_set_properties( roctracer_domain_t domain, @@ -964,7 +975,7 @@ PUBLIC_API roctracer_status_t roctracer_set_properties( } case ACTIVITY_DOMAIN_HCC_OPS: case ACTIVITY_DOMAIN_HIP_API: - EXC_RAISING(ROCTRACER_STATUS_BAD_DOMAIN, "properties are not supported, domain ID(" << domain << ")"); + mark_api_callback_ptr = reinterpret_cast(properties); default: EXC_RAISING(ROCTRACER_STATUS_BAD_DOMAIN, "invalid domain ID(" << domain << ")"); } diff --git a/test/run.sh b/test/run.sh index 7d75f910c6..807a0202bc 100755 --- a/test/run.sh +++ b/test/run.sh @@ -26,21 +26,35 @@ export HSA_TOOLS_REPORT_LOAD_FAILURE=1 # paths to ROC profiler and oher libraries export LD_LIBRARY_PATH=$PWD + +# test filter input +test_filter=-1 +if [ -n "$1" ] ; then + test_filter=$1 +fi + # test check routin test_status=0 +test_runnum=0 test_number=0 +xeval_test() { + test_number=$test_number +} eval_test() { label=$1 cmdline=$2 - echo "$label: \"$cmdline\"" - eval "$cmdline" - if [ $? != 0 ] ; then - echo "$label: FAILED" - test_status=$(($test_status + 1)) - else - echo "$label: PASSED" + if [ $test_filter = -1 -o $test_filter = $test_number ] ; then + echo "$label: \"$cmdline\"" + test_runnum=$((test_runnum + 1)) + eval "$cmdline" + if [ $? != 0 ] ; then + echo "$label: FAILED" + test_status=$(($test_status + 1)) + else + echo "$label: PASSED" + fi fi - test_number=$(($test_number + 1)) + test_number=$((test_number + 1)) } # Standalone test @@ -80,5 +94,5 @@ eval_test "tool HSA test input" ./test/hsa/ctrl #valgrind --tool=massif $tbin #ms_print massif.out. -echo "$test_number tests total / $test_status tests failed" +echo "$test_number tests total / $test_runnum tests run / $test_status tests failed" exit $test_status diff --git a/test/tool/tracer_tool.cpp b/test/tool/tracer_tool.cpp index 2bfb3ba915..67ad641a47 100644 --- a/test/tool/tracer_tool.cpp +++ b/test/tool/tracer_tool.cpp @@ -148,6 +148,7 @@ void hsa_activity_callback( struct hip_api_trace_entry_t { uint32_t valid; uint32_t type; + uint32_t domain; uint32_t cid; timestamp_t begin; timestamp_t end; @@ -179,6 +180,7 @@ void hip_api_callback( entry->valid = roctracer::TRACE_ENTRY_COMPL; entry->type = 0; entry->cid = cid; + entry->domain = domain; entry->begin = hip_begin_timestamp; entry->end = end_timestamp; entry->pid = GetPid(); @@ -202,46 +204,76 @@ void hip_api_callback( } } +void mark_api_callback( + uint32_t domain, + uint32_t cid, + const void* callback_data, + void* arg) +{ + (void)arg; + const char* name = reinterpret_cast(callback_data); + + const timestamp_t timestamp = timer->timestamp_fn_ns(); + hip_api_trace_entry_t* entry = hip_api_trace_buffer.GetEntry(); + entry->valid = roctracer::TRACE_ENTRY_COMPL; + entry->type = 0; + entry->cid = 0; + entry->domain = domain; + entry->begin = timestamp; + entry->end = timestamp + 1; + entry->pid = GetPid(); + entry->tid = GetTid(); + entry->data = {}; + entry->name = name; + entry->ptr = NULL; +} + void hip_api_flush_cb(hip_api_trace_entry_t* entry) { + const uint32_t domain = entry->domain; const uint32_t cid = entry->cid; const hip_api_data_t* data = &(entry->data); const timestamp_t begin_timestamp = entry->begin; const timestamp_t end_timestamp = entry->end; std::ostringstream oss; \ + const char* str = (domain < ACTIVITY_DOMAIN_NUMBER) ? roctracer_op_string(domain, cid, 0) : strdup("MARK"); oss << std::dec << - begin_timestamp << ":" << end_timestamp << " " << entry->pid << ":" << entry->tid << " " << roctracer_op_string(ACTIVITY_DOMAIN_HIP_API, cid, 0); + begin_timestamp << ":" << end_timestamp << " " << entry->pid << ":" << entry->tid << " " << str; - switch (cid) { - case HIP_API_ID_hipMemcpy: - fprintf(hip_api_file_handle, "%s(dst(%p) src(%p) size(0x%x) kind(%u))\n", - oss.str().c_str(), - data->args.hipMemcpy.dst, - data->args.hipMemcpy.src, - (uint32_t)(data->args.hipMemcpy.sizeBytes), - (uint32_t)(data->args.hipMemcpy.kind)); - break; - case HIP_API_ID_hipMalloc: - fprintf(hip_api_file_handle, "%s(ptr(%p) size(0x%x))\n", - oss.str().c_str(), - entry->ptr, - (uint32_t)(data->args.hipMalloc.size)); - break; - case HIP_API_ID_hipFree: - fprintf(hip_api_file_handle, "%s(ptr(%p))\n", - oss.str().c_str(), - data->args.hipFree.ptr); - break; - case HIP_API_ID_hipModuleLaunchKernel: - case HIP_API_ID_hipExtModuleLaunchKernel: - case HIP_API_ID_hipHccModuleLaunchKernel: - fprintf(hip_api_file_handle, "%s(kernel(%s) stream(%p))\n", - oss.str().c_str(), - cxx_demangle(entry->name), - data->args.hipModuleLaunchKernel.stream); - break; - default: - fprintf(hip_api_file_handle, "%s()\n", oss.str().c_str()); + if (domain == ACTIVITY_DOMAIN_HIP_API) { + switch (cid) { + case HIP_API_ID_hipMemcpy: + fprintf(hip_api_file_handle, "%s(dst(%p) src(%p) size(0x%x) kind(%u))\n", + oss.str().c_str(), + data->args.hipMemcpy.dst, + data->args.hipMemcpy.src, + (uint32_t)(data->args.hipMemcpy.sizeBytes), + (uint32_t)(data->args.hipMemcpy.kind)); + break; + case HIP_API_ID_hipMalloc: + fprintf(hip_api_file_handle, "%s(ptr(%p) size(0x%x))\n", + oss.str().c_str(), + entry->ptr, + (uint32_t)(data->args.hipMalloc.size)); + break; + case HIP_API_ID_hipFree: + fprintf(hip_api_file_handle, "%s(ptr(%p))\n", + oss.str().c_str(), + data->args.hipFree.ptr); + break; + case HIP_API_ID_hipModuleLaunchKernel: + case HIP_API_ID_hipExtModuleLaunchKernel: + case HIP_API_ID_hipHccModuleLaunchKernel: + fprintf(hip_api_file_handle, "%s(kernel(%s) stream(%p))\n", + oss.str().c_str(), + cxx_demangle(entry->name), + data->args.hipModuleLaunchKernel.stream); + break; + default: + fprintf(hip_api_file_handle, "%s()\n", oss.str().c_str()); + } + } else { + fprintf(hip_api_file_handle, "%s(\"%s\")\n", oss.str().c_str(), entry->name); } fflush(hip_api_file_handle); @@ -461,6 +493,8 @@ extern "C" PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, ROCTRACER_CALL(roctracer_enable_domain_activity(ACTIVITY_DOMAIN_HCC_OPS)); ROCTRACER_CALL(roctracer_enable_domain_activity(ACTIVITY_DOMAIN_HIP_API)); ROCTRACER_CALL(roctracer_enable_domain_callback(ACTIVITY_DOMAIN_HIP_API, hip_api_callback, NULL)); + + roctracer_set_properties(ACTIVITY_DOMAIN_HIP_API, (void*)mark_api_callback); } return roctracer_load(table, runtime_version, failed_tool_count, failed_tool_names); From 8ce5ece6d40967fcd33276b3b556e93a579520d2 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Wed, 31 Jul 2019 00:52:39 -0500 Subject: [PATCH 138/691] fixing typo in comments --- src/core/loader.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/core/loader.h b/src/core/loader.h index ad25c99d61..5f9a832bdb 100644 --- a/src/core/loader.h +++ b/src/core/loader.h @@ -153,7 +153,7 @@ class KfdLoader : protected Loader { static std::atomic instance_; }; -// KFD runtime library loader class +// rocTX runtime library loader class class RocTxLoader : protected Loader { public: typedef bool (RegisterApiCallback_t)(uint32_t op, void* callback, void* arg); From e49c1789fb73ef57d50eaf88322b45c8f560dca3 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Mon, 5 Aug 2019 13:06:22 -0500 Subject: [PATCH 139/691] fixing api output format --- test/tool/tracer_tool.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/tool/tracer_tool.cpp b/test/tool/tracer_tool.cpp index 67ad641a47..dd5b711a18 100644 --- a/test/tool/tracer_tool.cpp +++ b/test/tool/tracer_tool.cpp @@ -273,7 +273,7 @@ void hip_api_flush_cb(hip_api_trace_entry_t* entry) { fprintf(hip_api_file_handle, "%s()\n", oss.str().c_str()); } } else { - fprintf(hip_api_file_handle, "%s(\"%s\")\n", oss.str().c_str(), entry->name); + fprintf(hip_api_file_handle, "%s(name(%s))\n", oss.str().c_str(), entry->name); } fflush(hip_api_file_handle); From 603e469149bd8d500bb76104b90f3188cc66dac5 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Sat, 10 Aug 2019 00:14:04 -0500 Subject: [PATCH 140/691] unload and destruct normalizing --- src/core/roctracer.cpp | 23 +++++++++++++++++---- src/core/trace_buffer.h | 43 +++++++++++++++++++++------------------ src/proxy/tracker.h | 6 ++++++ test/tool/tracer_tool.cpp | 24 +++++++++++++++++----- 4 files changed, 67 insertions(+), 29 deletions(-) diff --git a/src/core/roctracer.cpp b/src/core/roctracer.cpp index 819aa018f1..26e5ddbcc5 100644 --- a/src/core/roctracer.cpp +++ b/src/core/roctracer.cpp @@ -526,7 +526,7 @@ hsa_status_t hsa_amd_memory_async_copy_interceptor( status = hsa_amd_memory_async_copy_fn(dst, dst_agent, src, src_agent, size, num_dep_signals, dep_signals, entry->signal); - if (status != HSA_STATUS_SUCCESS) EXC_ABORT(status, "hsa_amd_memory_async_copy interceptor"); + if (status != HSA_STATUS_SUCCESS) ::proxy::Tracker::Disable(entry); } else { @@ -551,7 +551,7 @@ hsa_status_t hsa_amd_memory_async_copy_rect_interceptor( src_offset, range, copy_agent, dir, num_dep_signals, dep_signals, entry->signal); - if (status != HSA_STATUS_SUCCESS) EXC_ABORT(status, "hsa_amd_memory_async_copy interceptor"); + if (status != HSA_STATUS_SUCCESS) ::proxy::Tracker::Disable(entry); } else { @@ -985,36 +985,51 @@ PUBLIC_API roctracer_status_t roctracer_set_properties( // HSA-runtime tool on-load method PUBLIC_API bool roctracer_load(HsaApiTable* table, uint64_t runtime_version, uint64_t failed_tool_count, const char* const* failed_tool_names) { +// printf("LIB roctracer_load\n"); fflush(stdout); static bool is_loaded = false; if (is_loaded) return true; is_loaded = true; +// printf("LIB roctracer_load end\n"); fflush(stdout); return true; } PUBLIC_API void roctracer_unload(bool destruct) { +// printf("LIB roctracer_unload\n"); fflush(stdout); static bool is_unloaded = false; if (is_unloaded) return; is_unloaded = true; if (destruct == false) roctracer::trace_buffer.Flush(); if ((roctracer::hsa_support::output_prefix != NULL) && (roctracer::kernel_file_handle != NULL)) fclose(roctracer::kernel_file_handle); +// printf("LIB roctracer_unload end\n"); fflush(stdout); } PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, uint64_t failed_tool_count, const char* const* failed_tool_names) { - return roctracer_load(table, runtime_version, failed_tool_count, failed_tool_names); +// printf("LIB OnLoad\n"); fflush(stdout); + const bool ret = roctracer_load(table, runtime_version, failed_tool_count, failed_tool_names); +// printf("LIB OnLoad end\n"); fflush(stdout); + return ret; +} +PUBLIC_API void OnUnload() { +// printf("LIB OnUnload\n"); fflush(stdout); + roctracer_unload(false); +// printf("LIB OnUnload end\n"); fflush(stdout); } -PUBLIC_API void OnUnload() { roctracer_unload(false); } CONSTRUCTOR_API void constructor() { +// printf("LIB constructor\n"); fflush(stdout); roctracer::util::Logger::Create(); +// printf("LIB constructor end\n"); fflush(stdout); } DESTRUCTOR_API void destructor() { +// printf("LIB destructor\n"); fflush(stdout); roctracer_unload(true); util::HsaRsrcFactory::Destroy(); roctracer::util::Logger::Destroy(); +// printf("LIB destructor end\n"); fflush(stdout); } } // extern "C" diff --git a/src/core/trace_buffer.h b/src/core/trace_buffer.h index 7086c7dea7..2f987218a8 100644 --- a/src/core/trace_buffer.h +++ b/src/core/trace_buffer.h @@ -4,6 +4,7 @@ #include #include #include +#include #define PTHREAD_CALL(call) \ do { \ @@ -61,8 +62,10 @@ class TraceBuffer { callback_t fun; }; - TraceBuffer(const char* name, uint32_t size, flush_prm_t* flush_prm_arr, uint32_t flush_prm_count) { - (void) name; + TraceBuffer(const char* name, uint32_t size, flush_prm_t* flush_prm_arr, uint32_t flush_prm_count) : + is_flushed_(ATOMIC_FLAG_INIT) + { + name_ = strdup(name); size_ = size; data_ = allocate_fun(); next_ = NULL; @@ -72,7 +75,6 @@ class TraceBuffer { flush_prm_arr_ = flush_prm_arr; flush_prm_count_ = flush_prm_count; - is_flushed_ = false; PTHREAD_CALL(pthread_mutex_init(&work_mutex_, NULL)); PTHREAD_CALL(pthread_cond_init(&work_cond_, NULL)); @@ -85,7 +87,7 @@ class TraceBuffer { PTHREAD_CALL(pthread_join(work_thread_, &res)); if (res != PTHREAD_CANCELED) abort_run("~TraceBuffer: consumer thread wasn't stopped correctly"); - if (is_flushed_ == false) flush_buf(); + Flush(); } @@ -96,28 +98,28 @@ class TraceBuffer { } void Flush() { - PTHREAD_CALL(pthread_mutex_lock(&work_mutex_)); flush_buf(); - PTHREAD_CALL(pthread_mutex_unlock(&work_mutex_)); } private: void flush_buf() { - is_flushed_ = true; - for (flush_prm_t* prm = flush_prm_arr_; prm < flush_prm_arr_ + flush_prm_count_; prm++) { - uint32_t type = prm->type; - callback_t fun = prm->fun; - pointer_t pointer = 0; - for (Entry* ptr : buf_list_) { - Entry* end = ptr + size_; - while ((ptr < end) && (pointer < read_pointer_)) { - if (ptr->type == type) { - if (ptr->valid == TRACE_ENTRY_COMPL) { - fun(ptr); + const bool is_flushed = atomic_flag_test_and_set_explicit(&is_flushed_, std::memory_order_acquire); + if (is_flushed == false) { + for (flush_prm_t* prm = flush_prm_arr_; prm < flush_prm_arr_ + flush_prm_count_; prm++) { + uint32_t type = prm->type; + callback_t fun = prm->fun; + pointer_t pointer = 0; + for (Entry* ptr : buf_list_) { + Entry* end = ptr + size_; + while ((ptr < end) && (pointer < read_pointer_)) { + if (ptr->type == type) { + if (ptr->valid == TRACE_ENTRY_COMPL) { + fun(ptr); + } } + ptr++; + pointer++; } - ptr++; - pointer++; } } } @@ -164,6 +166,7 @@ class TraceBuffer { abort(); } + const char* name_; uint32_t size_; Entry* data_; Entry* next_; @@ -173,7 +176,7 @@ class TraceBuffer { flush_prm_t* flush_prm_arr_; uint32_t flush_prm_count_; - bool is_flushed_; + volatile std::atomic_flag is_flushed_; pthread_t work_thread_; pthread_mutex_t work_mutex_; diff --git a/src/proxy/tracker.h b/src/proxy/tracker.h index 40b41438aa..267f811a2f 100644 --- a/src/proxy/tracker.h +++ b/src/proxy/tracker.h @@ -60,6 +60,12 @@ class Tracker { if (status != HSA_STATUS_SUCCESS) EXC_RAISING(status, "hsa_amd_signal_async_handler"); } + // Delete tracker entry + inline static void Disable(entry_t* entry) { + hsa_signal_destroy(entry->signal); + entry->valid.store(roctracer::TRACE_ENTRY_INV, std::memory_order_release); + } + private: // Entry completion inline static void Complete(hsa_signal_value_t signal_value, entry_t* entry) { diff --git a/test/tool/tracer_tool.cpp b/test/tool/tracer_tool.cpp index dd5b711a18..14e3dfc4e8 100644 --- a/test/tool/tracer_tool.cpp +++ b/test/tool/tracer_tool.cpp @@ -367,6 +367,7 @@ FILE* open_output_file(const char* prefix, const char* name) { // HSA-runtime tool on-load method extern "C" PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, uint64_t failed_tool_count, const char* const* failed_tool_names) { +// printf("TOOL OnLoad\n"); fflush(stdout); timer = new hsa_rt_utils::Timer(table->core_->hsa_system_get_info_fn); // API traces switches @@ -497,11 +498,13 @@ extern "C" PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, roctracer_set_properties(ACTIVITY_DOMAIN_HIP_API, (void*)mark_api_callback); } +// printf("TOOL OnLoad end\n"); fflush(stdout); return roctracer_load(table, runtime_version, failed_tool_count, failed_tool_names); } // tool unload method void tool_unload(bool destruct) { +// printf("TOOL tool_unload\n"); fflush(stdout); static bool is_unloaded = false; if (is_unloaded) { return; @@ -530,13 +533,24 @@ void tool_unload(bool destruct) { if (destruct == false) hip_api_trace_buffer.Flush(); - fclose(hip_api_file_handle); - fclose(hcc_activity_file_handle); + if (hip_api_file_handle != stdout) fclose(hip_api_file_handle); + if (hcc_activity_file_handle != stdout) fclose(hcc_activity_file_handle); } +// printf("TOOL tool_unload end\n"); fflush(stdout); } // HSA-runtime on-unload method -extern "C" PUBLIC_API void OnUnload() { tool_unload(false); } +extern "C" PUBLIC_API void OnUnload() { +// printf("TOOL OnUnload\n"); fflush(stdout); + tool_unload(false); +// printf("TOOL OnUnload end\n"); fflush(stdout); +} -extern "C" CONSTRUCTOR_API void constructor() {} -extern "C" DESTRUCTOR_API void destructor() { tool_unload(true); } +extern "C" CONSTRUCTOR_API void constructor() { +// printf("TOOL constructor ...end\n"); fflush(stdout); +} +extern "C" DESTRUCTOR_API void destructor() { +// printf("TOOL destructor\n"); fflush(stdout); + tool_unload(true); +// printf("TOOL destructor end\n"); fflush(stdout); +} From 0a14603e25cb405e5b0855c960744ef5a3afa7b4 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Sun, 11 Aug 2019 08:56:39 -0500 Subject: [PATCH 141/691] trace buffer fix --- README.md | 1 + inc/roctracer_hsa.h | 10 +++++----- src/core/roctracer.cpp | 31 +++++++++++++++++-------------- src/core/trace_buffer.h | 16 ++++++++++++---- src/proxy/tracker.h | 2 ++ test/tool/tracer_tool.cpp | 24 +++++++++++++----------- 6 files changed, 50 insertions(+), 34 deletions(-) diff --git a/README.md b/README.md index 9cf511b4cd..1c911fb9d9 100644 --- a/README.md +++ b/README.md @@ -39,6 +39,7 @@ asyncronous activity records pool support. export CMAKE_PREFIX_PATH=/opt/rocm - Build ROCtracer + export CMAKE_BUILD_TYPE= # release by default cd /roctracer && mkdir build && cd build && cmake -DCMAKE_INSTALL_PREFIX=/opt/rocm .. && make -j - To build and run test diff --git a/inc/roctracer_hsa.h b/inc/roctracer_hsa.h index 924d6a6238..f7944d2a8f 100644 --- a/inc/roctracer_hsa.h +++ b/inc/roctracer_hsa.h @@ -132,23 +132,23 @@ struct output_streamer { template<> struct output_streamer { - inline static std::ostream& put(std::ostream& out, bool* v) { out << std::hex << ""; return out; } + inline static std::ostream& put(std::ostream& out, bool* v) { out << std::hex << ""; return out; } }; template<> struct output_streamer { - inline static std::ostream& put(std::ostream& out, uint8_t* v) { out << std::hex << ""; return out; } + inline static std::ostream& put(std::ostream& out, uint8_t* v) { out << std::hex << ""; return out; } }; template<> struct output_streamer { - inline static std::ostream& put(std::ostream& out, uint16_t* v) { out << std::hex << ""; return out; } + inline static std::ostream& put(std::ostream& out, uint16_t* v) { out << std::hex << ""; return out; } }; template<> struct output_streamer { - inline static std::ostream& put(std::ostream& out, uint32_t* v) { out << std::hex << ""; return out; } + inline static std::ostream& put(std::ostream& out, uint32_t* v) { out << std::hex << ""; return out; } }; template<> struct output_streamer { - inline static std::ostream& put(std::ostream& out, uint64_t* v) { out << std::hex << ""; return out; } + inline static std::ostream& put(std::ostream& out, uint64_t* v) { out << std::hex << ""; return out; } }; template<> diff --git a/src/core/roctracer.cpp b/src/core/roctracer.cpp index 26e5ddbcc5..d9629b9282 100644 --- a/src/core/roctracer.cpp +++ b/src/core/roctracer.cpp @@ -88,6 +88,8 @@ THE SOFTWARE. (void)err; \ return X; +#define onload_debug false + /////////////////////////////////////////////////////////////////////////////////////////////////// // Mark callback // @@ -470,7 +472,8 @@ void hsa_kernel_handler(::proxy::Tracker::entry_t* entry) { } fprintf(kernel_file_handle, "dispatch[%lu], gpu-id(%u), tid(%u), kernel-name(\"%s\"), time(%lu,%lu,%lu,%lu)\n", index, - ::util::HsaRsrcFactory::Instance().GetAgentInfo(entry->agent)->dev_index, + //::util::HsaRsrcFactory::Instance().GetAgentInfo(entry->agent)->dev_index, + entry->dev_index, entry->kernel.tid, entry->kernel.name, entry->dispatch, @@ -985,51 +988,51 @@ PUBLIC_API roctracer_status_t roctracer_set_properties( // HSA-runtime tool on-load method PUBLIC_API bool roctracer_load(HsaApiTable* table, uint64_t runtime_version, uint64_t failed_tool_count, const char* const* failed_tool_names) { -// printf("LIB roctracer_load\n"); fflush(stdout); + if (onload_debug) printf("LIB roctracer_load\n"); fflush(stdout); static bool is_loaded = false; if (is_loaded) return true; is_loaded = true; -// printf("LIB roctracer_load end\n"); fflush(stdout); + if (onload_debug) printf("LIB roctracer_load end\n"); fflush(stdout); return true; } PUBLIC_API void roctracer_unload(bool destruct) { -// printf("LIB roctracer_unload\n"); fflush(stdout); + if (onload_debug) printf("LIB roctracer_unload (%d)\n", (int)destruct); fflush(stdout); static bool is_unloaded = false; if (is_unloaded) return; is_unloaded = true; - if (destruct == false) roctracer::trace_buffer.Flush(); + //if (destruct == false) roctracer::trace_buffer.Flush(); if ((roctracer::hsa_support::output_prefix != NULL) && (roctracer::kernel_file_handle != NULL)) fclose(roctracer::kernel_file_handle); -// printf("LIB roctracer_unload end\n"); fflush(stdout); + if (onload_debug) printf("LIB roctracer_unload (%d) end\n", (int)destruct); fflush(stdout); } PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, uint64_t failed_tool_count, const char* const* failed_tool_names) { -// printf("LIB OnLoad\n"); fflush(stdout); + if (onload_debug) printf("LIB OnLoad\n"); fflush(stdout); const bool ret = roctracer_load(table, runtime_version, failed_tool_count, failed_tool_names); -// printf("LIB OnLoad end\n"); fflush(stdout); + if (onload_debug) printf("LIB OnLoad end\n"); fflush(stdout); return ret; } PUBLIC_API void OnUnload() { -// printf("LIB OnUnload\n"); fflush(stdout); + if (onload_debug) printf("LIB OnUnload\n"); fflush(stdout); roctracer_unload(false); -// printf("LIB OnUnload end\n"); fflush(stdout); + if (onload_debug) printf("LIB OnUnload end\n"); fflush(stdout); } CONSTRUCTOR_API void constructor() { -// printf("LIB constructor\n"); fflush(stdout); + if (onload_debug) printf("LIB constructor\n"); fflush(stdout); roctracer::util::Logger::Create(); -// printf("LIB constructor end\n"); fflush(stdout); + if (onload_debug) printf("LIB constructor end\n"); fflush(stdout); } DESTRUCTOR_API void destructor() { -// printf("LIB destructor\n"); fflush(stdout); + if (onload_debug) printf("LIB destructor\n"); fflush(stdout); roctracer_unload(true); util::HsaRsrcFactory::Destroy(); roctracer::util::Logger::Destroy(); -// printf("LIB destructor end\n"); fflush(stdout); + if (onload_debug) printf("LIB destructor end\n"); fflush(stdout); } } // extern "C" diff --git a/src/core/trace_buffer.h b/src/core/trace_buffer.h index 2f987218a8..fc4c32e5ed 100644 --- a/src/core/trace_buffer.h +++ b/src/core/trace_buffer.h @@ -5,6 +5,7 @@ #include #include #include +#include #define PTHREAD_CALL(call) \ do { \ @@ -37,6 +38,7 @@ struct trace_entry_t { uint64_t end; // kernel end timestamp, ns uint64_t complete; hsa_agent_t agent; + uint32_t dev_index; hsa_signal_t orig; hsa_signal_t signal; union { @@ -56,6 +58,7 @@ class TraceBuffer { typedef void (*callback_t)(Entry*); typedef TraceBuffer Obj; typedef uint64_t pointer_t; + typedef std::mutex mutex_t; struct flush_prm_t { uint32_t type; @@ -87,17 +90,19 @@ class TraceBuffer { PTHREAD_CALL(pthread_join(work_thread_, &res)); if (res != PTHREAD_CANCELED) abort_run("~TraceBuffer: consumer thread wasn't stopped correctly"); - Flush(); + flush_buf(); } Entry* GetEntry() { const pointer_t pointer = read_pointer_.fetch_add(1); if (pointer >= end_pointer_) wrap_buffer(pointer); - return data_ + pointer; + if (pointer >= end_pointer_) abort_run("pointer >= end_pointer_ after buffer wrap"); + return data_ + (pointer + size_ - end_pointer_); } void Flush() { + std::lock_guard lck(mutex_); flush_buf(); } @@ -148,6 +153,7 @@ class TraceBuffer { } void wrap_buffer(const pointer_t pointer) { + std::lock_guard lck(mutex_); PTHREAD_CALL(pthread_mutex_lock(&work_mutex_)); if (pointer >= end_pointer_) { data_ = next_; @@ -170,8 +176,8 @@ class TraceBuffer { uint32_t size_; Entry* data_; Entry* next_; - std::atomic read_pointer_; - pointer_t end_pointer_; + volatile std::atomic read_pointer_; + volatile std::atomic end_pointer_; std::list buf_list_; flush_prm_t* flush_prm_arr_; @@ -181,6 +187,8 @@ class TraceBuffer { pthread_t work_thread_; pthread_mutex_t work_mutex_; pthread_cond_t work_cond_; + + mutex_t mutex_; }; } // namespace roctracer diff --git a/src/proxy/tracker.h b/src/proxy/tracker.h index 267f811a2f..edb223b064 100644 --- a/src/proxy/tracker.h +++ b/src/proxy/tracker.h @@ -49,6 +49,7 @@ class Tracker { // Creating a new tracker entry entry->type = type; entry->agent = agent; + entry->dev_index = 0; //hsa_rsrc->GetAgentInfo(agent)->dev_index; entry->orig = signal; entry->dispatch = hsa_rsrc->TimestampNs(); entry->valid.store(roctracer::TRACE_ENTRY_INIT, std::memory_order_release); @@ -83,6 +84,7 @@ class Tracker { if (status != HSA_STATUS_SUCCESS) EXC_RAISING(status, "hsa_amd_profiling_get_dispatch_time"); entry->begin = hsa_rsrc->SysclockToNs(dispatch_time.start); entry->end = hsa_rsrc->SysclockToNs(dispatch_time.end); + entry->dev_index = (hsa_rsrc->GetAgentInfo(entry->agent))->dev_index; } entry->complete = hsa_rsrc->TimestampNs(); diff --git a/test/tool/tracer_tool.cpp b/test/tool/tracer_tool.cpp index 14e3dfc4e8..8f1fc11ab0 100644 --- a/test/tool/tracer_tool.cpp +++ b/test/tool/tracer_tool.cpp @@ -50,6 +50,8 @@ THE SOFTWARE. } \ } while (0) +#define onload_debug false + typedef hsa_rt_utils::Timer::timestamp_t timestamp_t; hsa_rt_utils::Timer* timer = NULL; thread_local timestamp_t hsa_begin_timestamp = 0; @@ -367,7 +369,7 @@ FILE* open_output_file(const char* prefix, const char* name) { // HSA-runtime tool on-load method extern "C" PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, uint64_t failed_tool_count, const char* const* failed_tool_names) { -// printf("TOOL OnLoad\n"); fflush(stdout); + if (onload_debug) printf("TOOL OnLoad\n"); fflush(stdout); timer = new hsa_rt_utils::Timer(table->core_->hsa_system_get_info_fn); // API traces switches @@ -498,13 +500,13 @@ extern "C" PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, roctracer_set_properties(ACTIVITY_DOMAIN_HIP_API, (void*)mark_api_callback); } -// printf("TOOL OnLoad end\n"); fflush(stdout); + if (onload_debug) printf("TOOL OnLoad end\n"); fflush(stdout); return roctracer_load(table, runtime_version, failed_tool_count, failed_tool_names); } // tool unload method void tool_unload(bool destruct) { -// printf("TOOL tool_unload\n"); fflush(stdout); + if (onload_debug) printf("TOOL tool_unload\n"); fflush(stdout); static bool is_unloaded = false; if (is_unloaded) { return; @@ -515,7 +517,7 @@ void tool_unload(bool destruct) { if (trace_hsa_api) { ROCTRACER_CALL(roctracer_disable_domain_callback(ACTIVITY_DOMAIN_HSA_API)); - if (destruct == false) hsa_api_trace_buffer.Flush(); + // if (destruct == false) hsa_api_trace_buffer.Flush(); fclose(hsa_api_file_handle); } @@ -531,26 +533,26 @@ void tool_unload(bool destruct) { ROCTRACER_CALL(roctracer_flush_activity()); ROCTRACER_CALL(roctracer_close_pool()); - if (destruct == false) hip_api_trace_buffer.Flush(); + // if (destruct == false) hip_api_trace_buffer.Flush(); if (hip_api_file_handle != stdout) fclose(hip_api_file_handle); if (hcc_activity_file_handle != stdout) fclose(hcc_activity_file_handle); } -// printf("TOOL tool_unload end\n"); fflush(stdout); + if (onload_debug) printf("TOOL tool_unload end\n"); fflush(stdout); } // HSA-runtime on-unload method extern "C" PUBLIC_API void OnUnload() { -// printf("TOOL OnUnload\n"); fflush(stdout); + if (onload_debug) printf("TOOL OnUnload\n"); fflush(stdout); tool_unload(false); -// printf("TOOL OnUnload end\n"); fflush(stdout); + if (onload_debug) printf("TOOL OnUnload end\n"); fflush(stdout); } extern "C" CONSTRUCTOR_API void constructor() { -// printf("TOOL constructor ...end\n"); fflush(stdout); + if (onload_debug) printf("TOOL constructor ...end\n"); fflush(stdout); } extern "C" DESTRUCTOR_API void destructor() { -// printf("TOOL destructor\n"); fflush(stdout); + if (onload_debug) printf("TOOL destructor\n"); fflush(stdout); tool_unload(true); -// printf("TOOL destructor end\n"); fflush(stdout); + if (onload_debug) printf("TOOL destructor end\n"); fflush(stdout); } From 4dfd1bb692c7c46ea08e861ef43c5bae0dc52535 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Mon, 19 Aug 2019 23:18:07 -0500 Subject: [PATCH 142/691] unloading and flush fix --- script/hsaap.py | 5 +++-- src/core/loader.h | 47 ++++++++++++++++++++++----------------- src/core/roctracer.cpp | 18 ++++++++++----- src/core/trace_buffer.h | 7 +++--- test/tool/tracer_tool.cpp | 28 +++++++++++++---------- 5 files changed, 62 insertions(+), 43 deletions(-) diff --git a/script/hsaap.py b/script/hsaap.py index d9067901c8..e9a7b0463f 100755 --- a/script/hsaap.py +++ b/script/hsaap.py @@ -379,8 +379,9 @@ class API_DescrParser: self.content += 'static ' + ret_type + ' ' + call + '_callback(' + struct['args'] + ') {\n' self.content += ' hsa_api_data_t api_data{};\n' for var in struct['alst']: - if (call == 'hsa_isa_from_name') and (var == 'name'): - self.content += ' api_data.args.' + call + '.' + var + ' = ' + 'strdup(' + var + ')' + ';\n' + item = struct['astr'][var]; + if re.search(r'char\* ', item): + self.content += ' api_data.args.' + call + '.' + var + ' = ' + '(' + var + ' != NULL) ? strdup(' + var + ')' + ' : NULL;\n' else: self.content += ' api_data.args.' + call + '.' + var + ' = ' + var + ';\n' self.content += ' activity_rtapi_callback_t api_callback_fun = NULL;\n' diff --git a/src/core/loader.h b/src/core/loader.h index 5f9a832bdb..3c48ad4448 100644 --- a/src/core/loader.h +++ b/src/core/loader.h @@ -19,8 +19,12 @@ class Loader { public: typedef std::mutex mutex_t; + template + fun_t* GetFun(const char* fun_name) { return (fun_t*) dlsym(handle_, fun_name); } + + protected: Loader(const char* lib_name) { - handle_ = dlopen(lib_name, RTLD_LAZY|RTLD_NODELETE); + handle_ = dlopen(lib_name, RTLD_LAZY|RTLD_NOLOAD); if (handle_ == NULL) { fprintf(stderr, "roctracer: Loading '%s' failed, %s\n", lib_name, dlerror()); abort(); @@ -31,9 +35,6 @@ class Loader { if (handle_ != NULL) dlclose(handle_); } - template - fun_t* GetFun(const char* fun_name) { return (fun_t*) dlsym(handle_, fun_name); } - protected: static mutex_t mutex_; @@ -63,6 +64,14 @@ class HipLoader : protected Loader { return *instance_; } + RegisterApiCallback_t* RegisterApiCallback; + RemoveApiCallback_t* RemoveApiCallback; + RegisterActivityCallback_t* RegisterActivityCallback; + RemoveActivityCallback_t* RemoveActivityCallback; + KernelNameRef_t* KernelNameRef; + ApiName_t* ApiName; + + protected: HipLoader() : Loader("libhip_hcc.so") { RegisterApiCallback = GetFun("hipRegisterApiCallback"); RemoveApiCallback = GetFun("hipRemoveApiCallback"); @@ -72,13 +81,6 @@ class HipLoader : protected Loader { ApiName = GetFun("hipApiName"); } - RegisterApiCallback_t* RegisterApiCallback; - RemoveApiCallback_t* RemoveApiCallback; - RegisterActivityCallback_t* RegisterActivityCallback; - RemoveActivityCallback_t* RemoveActivityCallback; - KernelNameRef_t* KernelNameRef; - ApiName_t* ApiName; - private: static std::atomic instance_; }; @@ -106,6 +108,11 @@ class HccLoader : protected Loader { return *obj; } + InitActivityCallback_t* InitActivityCallback; + EnableActivityCallback_t* EnableActivityCallback; + GetCmdName_t* GetCmdName; + + protected: HccLoader() : Loader("libmcwamp_hsa.so") { // Kalmar::CLAMP::InitActivityCallback InitActivityCallback = GetFun("InitActivityCallbackImpl"); @@ -115,10 +122,6 @@ class HccLoader : protected Loader { GetCmdName = GetFun("GetCmdNameImpl"); } - InitActivityCallback_t* InitActivityCallback; - EnableActivityCallback_t* EnableActivityCallback; - GetCmdName_t* GetCmdName; - private: static std::atomic instance_; }; @@ -141,14 +144,15 @@ class KfdLoader : protected Loader { return *instance_; } + RegisterApiCallback_t* RegisterApiCallback; + RemoveApiCallback_t* RemoveApiCallback; + + protected: KfdLoader() : Loader("libkfdwrapper64.so") { RegisterApiCallback = GetFun("RegisterApiCallback"); RemoveApiCallback = GetFun("RemoveApiCallback"); } - RegisterApiCallback_t* RegisterApiCallback; - RemoveApiCallback_t* RemoveApiCallback; - private: static std::atomic instance_; }; @@ -171,14 +175,15 @@ class RocTxLoader : protected Loader { return *instance_; } + RegisterApiCallback_t* RegisterApiCallback; + RemoveApiCallback_t* RemoveApiCallback; + + protected: RocTxLoader() : Loader("libroctx64.so") { RegisterApiCallback = GetFun("RegisterApiCallback"); RemoveApiCallback = GetFun("RemoveApiCallback"); } - RegisterApiCallback_t* RegisterApiCallback; - RemoveApiCallback_t* RemoveApiCallback; - private: static std::atomic instance_; }; diff --git a/src/core/roctracer.cpp b/src/core/roctracer.cpp index d9629b9282..f309bf1fb5 100644 --- a/src/core/roctracer.cpp +++ b/src/core/roctracer.cpp @@ -88,7 +88,9 @@ THE SOFTWARE. (void)err; \ return X; +#ifndef onload_debug #define onload_debug false +#endif /////////////////////////////////////////////////////////////////////////////////////////////////// // Mark callback @@ -464,6 +466,10 @@ FILE* open_output_file(const char* prefix, const char* name) { return file_handle; } +void close_output_file(FILE* file_handle) { + if ((file_handle != NULL) && (file_handle != stdout)) fclose(file_handle); +} + FILE* kernel_file_handle = NULL; void hsa_kernel_handler(::proxy::Tracker::entry_t* entry) { static uint64_t index = 0; @@ -998,14 +1004,16 @@ PUBLIC_API bool roctracer_load(HsaApiTable* table, uint64_t runtime_version, uin } PUBLIC_API void roctracer_unload(bool destruct) { - if (onload_debug) printf("LIB roctracer_unload (%d)\n", (int)destruct); fflush(stdout); static bool is_unloaded = false; - if (is_unloaded) return; + + if (onload_debug) printf("LIB roctracer_unload (%d, %d)\n", (int)destruct, (int)is_unloaded); fflush(stdout); + if (destruct == false) return; + if (is_unloaded == true) return; is_unloaded = true; - //if (destruct == false) roctracer::trace_buffer.Flush(); - if ((roctracer::hsa_support::output_prefix != NULL) && (roctracer::kernel_file_handle != NULL)) fclose(roctracer::kernel_file_handle); - if (onload_debug) printf("LIB roctracer_unload (%d) end\n", (int)destruct); fflush(stdout); + roctracer::trace_buffer.Flush(); + roctracer::close_output_file(roctracer::kernel_file_handle); + if (onload_debug) printf("LIB roctracer_unload end\n"); fflush(stdout); } PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, uint64_t failed_tool_count, diff --git a/src/core/trace_buffer.h b/src/core/trace_buffer.h index fc4c32e5ed..a32e995307 100644 --- a/src/core/trace_buffer.h +++ b/src/core/trace_buffer.h @@ -90,7 +90,7 @@ class TraceBuffer { PTHREAD_CALL(pthread_join(work_thread_, &res)); if (res != PTHREAD_CANCELED) abort_run("~TraceBuffer: consumer thread wasn't stopped correctly"); - flush_buf(); + Flush(); } @@ -102,13 +102,14 @@ class TraceBuffer { } void Flush() { - std::lock_guard lck(mutex_); flush_buf(); } private: void flush_buf() { + std::lock_guard lck(mutex_); const bool is_flushed = atomic_flag_test_and_set_explicit(&is_flushed_, std::memory_order_acquire); + if (is_flushed == false) { for (flush_prm_t* prm = flush_prm_arr_; prm < flush_prm_arr_ + flush_prm_count_; prm++) { uint32_t type = prm->type; @@ -131,7 +132,7 @@ class TraceBuffer { } inline Entry* allocate_fun() { - Entry* ptr = (Entry*) calloc(size_, sizeof(Entry)); + Entry* ptr = (Entry*) malloc(size_ * sizeof(Entry)); if (ptr == NULL) abort_run("TraceBuffer::allocate_fun: calloc failed"); //memset(ptr, 0, size_ * sizeof(Entry)); return ptr; diff --git a/test/tool/tracer_tool.cpp b/test/tool/tracer_tool.cpp index 8f1fc11ab0..45bb57d19c 100644 --- a/test/tool/tracer_tool.cpp +++ b/test/tool/tracer_tool.cpp @@ -50,7 +50,9 @@ THE SOFTWARE. } \ } while (0) +#ifndef onload_debug #define onload_debug false +#endif typedef hsa_rt_utils::Timer::timestamp_t timestamp_t; hsa_rt_utils::Timer* timer = NULL; @@ -366,6 +368,10 @@ FILE* open_output_file(const char* prefix, const char* name) { return file_handle; } +void close_output_file(FILE* file_handle) { + if ((file_handle != NULL) && (file_handle != stdout)) fclose(file_handle); +} + // HSA-runtime tool on-load method extern "C" PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, uint64_t failed_tool_count, const char* const* failed_tool_names) { @@ -506,25 +512,24 @@ extern "C" PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, // tool unload method void tool_unload(bool destruct) { - if (onload_debug) printf("TOOL tool_unload\n"); fflush(stdout); static bool is_unloaded = false; - if (is_unloaded) { - return; - } + + if (onload_debug) printf("TOOL tool_unload (%d, %d)\n", (int)destruct, (int)is_unloaded); fflush(stdout); + if (destruct == false) return; + if (is_unloaded == true) return; is_unloaded = true; roctracer_unload(destruct); if (trace_hsa_api) { ROCTRACER_CALL(roctracer_disable_domain_callback(ACTIVITY_DOMAIN_HSA_API)); - // if (destruct == false) hsa_api_trace_buffer.Flush(); - - fclose(hsa_api_file_handle); + hsa_api_trace_buffer.Flush(); + close_output_file(hsa_api_file_handle); } if (trace_hsa_activity) { ROCTRACER_CALL(roctracer_disable_domain_activity(ACTIVITY_DOMAIN_HSA_OPS)); - fclose(hsa_async_copy_file_handle); + close_output_file(hsa_async_copy_file_handle); } if (trace_hip) { ROCTRACER_CALL(roctracer_disable_domain_callback(ACTIVITY_DOMAIN_HIP_API)); @@ -533,10 +538,9 @@ void tool_unload(bool destruct) { ROCTRACER_CALL(roctracer_flush_activity()); ROCTRACER_CALL(roctracer_close_pool()); - // if (destruct == false) hip_api_trace_buffer.Flush(); - - if (hip_api_file_handle != stdout) fclose(hip_api_file_handle); - if (hcc_activity_file_handle != stdout) fclose(hcc_activity_file_handle); + hip_api_trace_buffer.Flush(); + close_output_file(hip_api_file_handle); + close_output_file(hcc_activity_file_handle); } if (onload_debug) printf("TOOL tool_unload end\n"); fflush(stdout); } From 624f235246abb40aa1b3962fc82f8b18cec888c4 Mon Sep 17 00:00:00 2001 From: hthangirala Date: Tue, 20 Aug 2019 18:49:37 -0500 Subject: [PATCH 143/691] Account for user-defined marker in correlation id tracking --- src/core/roctracer.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/core/roctracer.cpp b/src/core/roctracer.cpp index f309bf1fb5..a1f9e70fe2 100644 --- a/src/core/roctracer.cpp +++ b/src/core/roctracer.cpp @@ -940,7 +940,10 @@ PUBLIC_API roctracer_status_t roctracer_flush_activity(roctracer_pool_t* pool) { // Mark API PUBLIC_API void roctracer_mark(const char* str) { - if (mark_api_callback_ptr) mark_api_callback_ptr(ACTIVITY_DOMAIN_NUMBER, 0, str, NULL); + if (mark_api_callback_ptr) { + mark_api_callback_ptr(ACTIVITY_DOMAIN_NUMBER, 0, str, NULL); + roctracer::GlobalCounter::Increment(); // account for user-defined markers when tracking correlation id + } } // Set properties From 8cfde554b184c399cebcf9e0cc96365d19a2f4db Mon Sep 17 00:00:00 2001 From: Evgeny Date: Wed, 21 Aug 2019 11:56:33 -0500 Subject: [PATCH 144/691] multiple processes tracing support --- src/core/loader.h | 172 ++++++++++++++++---------------------- src/core/roctracer.cpp | 5 +- test/tool/tracer_tool.cpp | 8 +- 3 files changed, 78 insertions(+), 107 deletions(-) diff --git a/src/core/loader.h b/src/core/loader.h index 3c48ad4448..d15d2f5580 100644 --- a/src/core/loader.h +++ b/src/core/loader.h @@ -5,46 +5,59 @@ #include #include -#define LOADER_INSTANTIATE() \ - std::atomic roctracer::HipLoader::instance_{}; \ - std::atomic roctracer::HccLoader::instance_{}; \ - std::atomic roctracer::KfdLoader::instance_{}; \ - std::atomic roctracer::RocTxLoader::instance_{}; \ - roctracer::Loader::mutex_t roctracer::Loader::mutex_; - namespace roctracer { // Base runtime loader class -class Loader { +template +class BaseLoader : public T { public: typedef std::mutex mutex_t; + typedef BaseLoader loader_t; template fun_t* GetFun(const char* fun_name) { return (fun_t*) dlsym(handle_, fun_name); } - protected: - Loader(const char* lib_name) { - handle_ = dlopen(lib_name, RTLD_LAZY|RTLD_NOLOAD); - if (handle_ == NULL) { - fprintf(stderr, "roctracer: Loading '%s' failed, %s\n", lib_name, dlerror()); - abort(); + static inline loader_t& Instance(const bool& preload = false) { + loader_t* obj = instance_.load(std::memory_order_acquire); + if (obj == NULL) { + std::lock_guard lck(mutex_); + if (instance_.load(std::memory_order_relaxed) == NULL) { + obj = new loader_t(preload); + instance_.store(obj, std::memory_order_release); + } } + return *instance_; } - ~Loader() { + static loader_t* GetRef() { return instance_; } + + private: + BaseLoader(bool preload) { + const int flags = (preload) ? RTLD_LAZY : RTLD_LAZY|RTLD_NOLOAD; + handle_ = dlopen(lib_name_, flags); + if (handle_ == NULL) { + fprintf(stderr, "roctracer: Loading '%s' failed, preload(%d), %s\n", lib_name_, (int)preload, dlerror()); + abort(); + } + + T::init(this); + } + + ~BaseLoader() { if (handle_ != NULL) dlclose(handle_); } - protected: static mutex_t mutex_; - - private: + static const char* lib_name_; + static std::atomic instance_; void* handle_; }; // HIP runtime library loader class -class HipLoader : protected Loader { +class HipApi { public: + typedef BaseLoader Loader; + typedef decltype(hipRegisterApiCallback) RegisterApiCallback_t; typedef decltype(hipRemoveApiCallback) RemoveApiCallback_t; typedef decltype(hipRegisterActivityCallback) RegisterActivityCallback_t; @@ -52,18 +65,6 @@ class HipLoader : protected Loader { typedef decltype(hipKernelNameRef) KernelNameRef_t; typedef decltype(hipApiName) ApiName_t; - static HipLoader& Instance() { - HipLoader* obj = instance_.load(std::memory_order_acquire); - if (obj == NULL) { - std::lock_guard lck(mutex_); - if (instance_.load(std::memory_order_relaxed) == NULL) { - obj = new HipLoader(); - instance_.store(obj, std::memory_order_release); - } - } - return *instance_; - } - RegisterApiCallback_t* RegisterApiCallback; RemoveApiCallback_t* RemoveApiCallback; RegisterActivityCallback_t* RegisterActivityCallback; @@ -72,122 +73,89 @@ class HipLoader : protected Loader { ApiName_t* ApiName; protected: - HipLoader() : Loader("libhip_hcc.so") { - RegisterApiCallback = GetFun("hipRegisterApiCallback"); - RemoveApiCallback = GetFun("hipRemoveApiCallback"); - RegisterActivityCallback = GetFun("hipRegisterActivityCallback"); - RemoveActivityCallback = GetFun("hipRemoveActivityCallback"); - KernelNameRef = GetFun("hipKernelNameRef"); - ApiName = GetFun("hipApiName"); + void init(Loader* loader) { + RegisterApiCallback = loader->GetFun("hipRegisterApiCallback"); + RemoveApiCallback = loader->GetFun("hipRemoveApiCallback"); + RegisterActivityCallback = loader->GetFun("hipRegisterActivityCallback"); + RemoveActivityCallback = loader->GetFun("hipRemoveActivityCallback"); + KernelNameRef = loader->GetFun("hipKernelNameRef"); + ApiName = loader->GetFun("hipApiName"); } - - private: - static std::atomic instance_; }; // HCC runtime library loader class -class HccLoader : protected Loader { +class HccApi { public: - typedef std::mutex mutex_t; + typedef BaseLoader Loader; typedef decltype(Kalmar::CLAMP::InitActivityCallback) InitActivityCallback_t; typedef decltype(Kalmar::CLAMP::EnableActivityCallback) EnableActivityCallback_t; typedef decltype(Kalmar::CLAMP::GetCmdName) GetCmdName_t; - static HccLoader* GetRef() { return instance_; } - - static HccLoader& Instance() { - HccLoader* obj = instance_.load(std::memory_order_acquire); - if (obj == NULL) { - std::lock_guard lck(mutex_); - if (instance_.load(std::memory_order_relaxed) == NULL) { - obj = new HccLoader(); - instance_.store(obj, std::memory_order_release); - } - } - return *obj; - } - InitActivityCallback_t* InitActivityCallback; EnableActivityCallback_t* EnableActivityCallback; GetCmdName_t* GetCmdName; protected: - HccLoader() : Loader("libmcwamp_hsa.so") { + void init(Loader* loader) { // Kalmar::CLAMP::InitActivityCallback - InitActivityCallback = GetFun("InitActivityCallbackImpl"); + InitActivityCallback = loader->GetFun("InitActivityCallbackImpl"); // Kalmar::CLAMP::EnableActivityIdCallback - EnableActivityCallback = GetFun("EnableActivityCallbackImpl"); + EnableActivityCallback = loader->GetFun("EnableActivityCallbackImpl"); // Kalmar::CLAMP::GetCmdName - GetCmdName = GetFun("GetCmdNameImpl"); + GetCmdName = loader->GetFun("GetCmdNameImpl"); } - - private: - static std::atomic instance_; }; // KFD runtime library loader class -class KfdLoader : protected Loader { +class KfdApi { public: + typedef BaseLoader Loader; + typedef bool (RegisterApiCallback_t)(uint32_t op, void* callback, void* arg); typedef bool (RemoveApiCallback_t)(uint32_t op); - static KfdLoader& Instance() { - KfdLoader* obj = instance_.load(std::memory_order_acquire); - if (obj == NULL) { - std::lock_guard lck(mutex_); - if (instance_.load(std::memory_order_relaxed) == NULL) { - obj = new KfdLoader(); - instance_.store(obj, std::memory_order_release); - } - } - return *instance_; - } - RegisterApiCallback_t* RegisterApiCallback; RemoveApiCallback_t* RemoveApiCallback; protected: - KfdLoader() : Loader("libkfdwrapper64.so") { - RegisterApiCallback = GetFun("RegisterApiCallback"); - RemoveApiCallback = GetFun("RemoveApiCallback"); + void init(Loader* loader) { + RegisterApiCallback = loader->GetFun("RegisterApiCallback"); + RemoveApiCallback = loader->GetFun("RemoveApiCallback"); } - - private: - static std::atomic instance_; }; // rocTX runtime library loader class -class RocTxLoader : protected Loader { +class RocTxApi { public: + typedef BaseLoader Loader; + typedef bool (RegisterApiCallback_t)(uint32_t op, void* callback, void* arg); typedef bool (RemoveApiCallback_t)(uint32_t op); - static RocTxLoader& Instance() { - RocTxLoader* obj = instance_.load(std::memory_order_acquire); - if (obj == NULL) { - std::lock_guard lck(mutex_); - if (instance_.load(std::memory_order_relaxed) == NULL) { - obj = new RocTxLoader(); - instance_.store(obj, std::memory_order_release); - } - } - return *instance_; - } - RegisterApiCallback_t* RegisterApiCallback; RemoveApiCallback_t* RemoveApiCallback; protected: - RocTxLoader() : Loader("libroctx64.so") { - RegisterApiCallback = GetFun("RegisterApiCallback"); - RemoveApiCallback = GetFun("RemoveApiCallback"); + void init(Loader* loader) { + RegisterApiCallback = loader->GetFun("RegisterApiCallback"); + RemoveApiCallback = loader->GetFun("RemoveApiCallback"); } - - private: - static std::atomic instance_; }; +typedef BaseLoader HipLoader; +typedef BaseLoader HccLoader; +typedef BaseLoader KfdLoader; +typedef BaseLoader RocTxLoader; + } // namespace roctracer +#define LOADER_INSTANTIATE() \ + template typename roctracer::BaseLoader::mutex_t roctracer::BaseLoader::mutex_; \ + template std::atomic*> roctracer::BaseLoader::instance_{}; \ + template<> const char* roctracer::HipLoader::lib_name_ = "libhip_hcc.so"; \ + template<> const char* roctracer::HccLoader::lib_name_ = "libmcwamp_hsa.so"; \ + template<> const char* roctracer::KfdLoader::lib_name_ = "libkfdwrapper64.so"; \ + template<> const char* roctracer::RocTxLoader::lib_name_ = "libroctx64.so"; + #endif // SRC_CORE_LOADER_H_ diff --git a/src/core/roctracer.cpp b/src/core/roctracer.cpp index f309bf1fb5..4781e8c9f8 100644 --- a/src/core/roctracer.cpp +++ b/src/core/roctracer.cpp @@ -92,6 +92,9 @@ THE SOFTWARE. #define onload_debug false #endif +static inline uint32_t GetPid() { return syscall(__NR_getpid); } +static inline uint32_t GetTid() { return syscall(__NR_gettid); } + /////////////////////////////////////////////////////////////////////////////////////////////////// // Mark callback // @@ -454,7 +457,7 @@ FILE* open_output_file(const char* prefix, const char* name) { FILE* file_handle = NULL; if (prefix != NULL) { std::ostringstream oss; - oss << prefix << "/" << name; + oss << prefix << "/" << GetPid() << "_" << name; file_handle = fopen(oss.str().c_str(), "w"); if (file_handle == NULL) { std::ostringstream errmsg; diff --git a/test/tool/tracer_tool.cpp b/test/tool/tracer_tool.cpp index 45bb57d19c..6be899e520 100644 --- a/test/tool/tracer_tool.cpp +++ b/test/tool/tracer_tool.cpp @@ -136,7 +136,7 @@ void hsa_api_callback( void hsa_api_flush_cb(hsa_api_trace_entry_t* entry) { std::ostringstream os; os << entry->begin << ":" << entry->end << " " << entry->pid << ":" << entry->tid << " " << hsa_api_data_pair_t(entry->cid, entry->data); - fprintf(hsa_api_file_handle, "%s\n", os.str().c_str()); + fprintf(hsa_api_file_handle, "%s\n", os.str().c_str()); fflush(hsa_api_file_handle); } void hsa_activity_callback( @@ -145,7 +145,7 @@ void hsa_activity_callback( void* arg) { static uint64_t index = 0; - fprintf(hsa_async_copy_file_handle, "%lu:%lu async-copy%lu\n", record->begin_ns, record->end_ns, index); + fprintf(hsa_async_copy_file_handle, "%lu:%lu async-copy%lu\n", record->begin_ns, record->end_ns, index); fflush(hsa_async_copy_file_handle); index++; } @@ -356,7 +356,7 @@ FILE* open_output_file(const char* prefix, const char* name) { FILE* file_handle = NULL; if (prefix != NULL) { std::ostringstream oss; - oss << prefix << "/" << name; + oss << prefix << "/" << GetPid() << "_" << name; file_handle = fopen(oss.str().c_str(), "w"); if (file_handle == NULL) { std::ostringstream errmsg; @@ -409,7 +409,7 @@ extern "C" PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, // API trace vector std::vector hsa_api_vec; - printf("ROCTracer: "); fflush(stdout); + printf("ROCTracer (pid=%d): ", (int)GetPid()); fflush(stdout); // XML input const char* xml_name = getenv("ROCP_INPUT"); if (xml_name != NULL) { From 7a2005c4a0494f7ac053189d6cef1dfccfe6e69e Mon Sep 17 00:00:00 2001 From: Evgeny Date: Thu, 22 Aug 2019 19:27:16 -0500 Subject: [PATCH 145/691] fix --- src/core/roctracer.cpp | 24 ++++++++++++------------ test/tool/tracer_tool.cpp | 18 +++++++++--------- 2 files changed, 21 insertions(+), 21 deletions(-) diff --git a/src/core/roctracer.cpp b/src/core/roctracer.cpp index b2c1c662c5..5bac30949f 100644 --- a/src/core/roctracer.cpp +++ b/src/core/roctracer.cpp @@ -1000,53 +1000,53 @@ PUBLIC_API roctracer_status_t roctracer_set_properties( // HSA-runtime tool on-load method PUBLIC_API bool roctracer_load(HsaApiTable* table, uint64_t runtime_version, uint64_t failed_tool_count, const char* const* failed_tool_names) { - if (onload_debug) printf("LIB roctracer_load\n"); fflush(stdout); + if (onload_debug) { printf("LIB roctracer_load\n"); fflush(stdout); } static bool is_loaded = false; if (is_loaded) return true; is_loaded = true; - if (onload_debug) printf("LIB roctracer_load end\n"); fflush(stdout); + if (onload_debug) { printf("LIB roctracer_load end\n"); fflush(stdout); } return true; } PUBLIC_API void roctracer_unload(bool destruct) { static bool is_unloaded = false; - if (onload_debug) printf("LIB roctracer_unload (%d, %d)\n", (int)destruct, (int)is_unloaded); fflush(stdout); + if (onload_debug) { printf("LIB roctracer_unload (%d, %d)\n", (int)destruct, (int)is_unloaded); fflush(stdout); } if (destruct == false) return; if (is_unloaded == true) return; is_unloaded = true; roctracer::trace_buffer.Flush(); roctracer::close_output_file(roctracer::kernel_file_handle); - if (onload_debug) printf("LIB roctracer_unload end\n"); fflush(stdout); + if (onload_debug) { printf("LIB roctracer_unload end\n"); fflush(stdout); } } PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, uint64_t failed_tool_count, const char* const* failed_tool_names) { - if (onload_debug) printf("LIB OnLoad\n"); fflush(stdout); + if (onload_debug) { printf("LIB OnLoad\n"); fflush(stdout); } const bool ret = roctracer_load(table, runtime_version, failed_tool_count, failed_tool_names); - if (onload_debug) printf("LIB OnLoad end\n"); fflush(stdout); + if (onload_debug) { printf("LIB OnLoad end\n"); fflush(stdout); } return ret; } PUBLIC_API void OnUnload() { - if (onload_debug) printf("LIB OnUnload\n"); fflush(stdout); + if (onload_debug) { printf("LIB OnUnload\n"); fflush(stdout); } roctracer_unload(false); - if (onload_debug) printf("LIB OnUnload end\n"); fflush(stdout); + if (onload_debug) { printf("LIB OnUnload end\n"); fflush(stdout); } } CONSTRUCTOR_API void constructor() { - if (onload_debug) printf("LIB constructor\n"); fflush(stdout); + if (onload_debug) { printf("LIB constructor\n"); fflush(stdout); } roctracer::util::Logger::Create(); - if (onload_debug) printf("LIB constructor end\n"); fflush(stdout); + if (onload_debug) { printf("LIB constructor end\n"); fflush(stdout); } } DESTRUCTOR_API void destructor() { - if (onload_debug) printf("LIB destructor\n"); fflush(stdout); + if (onload_debug) { printf("LIB destructor\n"); fflush(stdout); } roctracer_unload(true); util::HsaRsrcFactory::Destroy(); roctracer::util::Logger::Destroy(); - if (onload_debug) printf("LIB destructor end\n"); fflush(stdout); + if (onload_debug) { printf("LIB destructor end\n"); fflush(stdout); } } } // extern "C" diff --git a/test/tool/tracer_tool.cpp b/test/tool/tracer_tool.cpp index 6be899e520..af48e6ebd9 100644 --- a/test/tool/tracer_tool.cpp +++ b/test/tool/tracer_tool.cpp @@ -375,7 +375,7 @@ void close_output_file(FILE* file_handle) { // HSA-runtime tool on-load method extern "C" PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, uint64_t failed_tool_count, const char* const* failed_tool_names) { - if (onload_debug) printf("TOOL OnLoad\n"); fflush(stdout); + if (onload_debug) { printf("TOOL OnLoad\n"); fflush(stdout); } timer = new hsa_rt_utils::Timer(table->core_->hsa_system_get_info_fn); // API traces switches @@ -506,7 +506,7 @@ extern "C" PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, roctracer_set_properties(ACTIVITY_DOMAIN_HIP_API, (void*)mark_api_callback); } - if (onload_debug) printf("TOOL OnLoad end\n"); fflush(stdout); + if (onload_debug) { printf("TOOL OnLoad end\n"); fflush(stdout); } return roctracer_load(table, runtime_version, failed_tool_count, failed_tool_names); } @@ -514,7 +514,7 @@ extern "C" PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, void tool_unload(bool destruct) { static bool is_unloaded = false; - if (onload_debug) printf("TOOL tool_unload (%d, %d)\n", (int)destruct, (int)is_unloaded); fflush(stdout); + if (onload_debug) { printf("TOOL tool_unload (%d, %d)\n", (int)destruct, (int)is_unloaded); fflush(stdout); } if (destruct == false) return; if (is_unloaded == true) return; is_unloaded = true; @@ -542,21 +542,21 @@ void tool_unload(bool destruct) { close_output_file(hip_api_file_handle); close_output_file(hcc_activity_file_handle); } - if (onload_debug) printf("TOOL tool_unload end\n"); fflush(stdout); + if (onload_debug) { printf("TOOL tool_unload end\n"); fflush(stdout); } } // HSA-runtime on-unload method extern "C" PUBLIC_API void OnUnload() { - if (onload_debug) printf("TOOL OnUnload\n"); fflush(stdout); + if (onload_debug) { printf("TOOL OnUnload\n"); fflush(stdout); } tool_unload(false); - if (onload_debug) printf("TOOL OnUnload end\n"); fflush(stdout); + if (onload_debug) { printf("TOOL OnUnload end\n"); fflush(stdout); } } extern "C" CONSTRUCTOR_API void constructor() { - if (onload_debug) printf("TOOL constructor ...end\n"); fflush(stdout); + if (onload_debug) { printf("TOOL constructor ...end\n"); fflush(stdout); } } extern "C" DESTRUCTOR_API void destructor() { - if (onload_debug) printf("TOOL destructor\n"); fflush(stdout); + if (onload_debug) { printf("TOOL destructor\n"); fflush(stdout); } tool_unload(true); - if (onload_debug) printf("TOOL destructor end\n"); fflush(stdout); + if (onload_debug) { printf("TOOL destructor end\n"); fflush(stdout); } } From 231e25747f1ad94e1bcd2adb207d9a55102007ae Mon Sep 17 00:00:00 2001 From: Evgeny Date: Fri, 30 Aug 2019 08:53:34 -0500 Subject: [PATCH 146/691] roctx marka implementation --- cmake_modules/env.cmake | 12 +++- inc/cb_table.h | 76 +++++++++++++++++++++ inc/ext/prof_protocol.h | 9 ++- inc/roctracer.h | 1 + inc/roctracer_hsa.h | 33 +-------- inc/roctracer_roctx.h | 84 +++++++++++++++++++++++ inc/roctx.h | 75 ++++++++++++++++++++ src/CMakeLists.txt | 1 + src/core/roctracer.cpp | 16 ++++- src/roctx/roctx.cpp | 124 +++++++++++++++++++++++++++++++++- src/roctx/roctx_intercept.cpp | 52 ++++++++++++++ src/util/logger.h | 1 + 12 files changed, 445 insertions(+), 39 deletions(-) create mode 100644 inc/cb_table.h create mode 100644 inc/roctracer_roctx.h create mode 100644 inc/roctx.h create mode 100644 src/roctx/roctx_intercept.cpp diff --git a/cmake_modules/env.cmake b/cmake_modules/env.cmake index db8ed9d7eb..bac88715a2 100644 --- a/cmake_modules/env.cmake +++ b/cmake_modules/env.cmake @@ -65,8 +65,16 @@ if ( NOT DEFINED CMAKE_PREFIX_PATH AND DEFINED ENV{CMAKE_PREFIX_PATH} ) set ( CMAKE_PREFIX_PATH $ENV{CMAKE_PREFIX_PATH} ) endif() -set ( HCC_INC_DIR "$ENV{HCC_HOME}/include" ) -set ( HIP_INC_DIR "$ENV{HIP_PATH}/include" ) +set ( HCC_HOME "/opt/rocm/hcc" ) +set ( HIP_PATH "/opt/rocm/hip" ) +if ( DEFINED ENV{HCC_HOME} ) + set ( HCC_HOME ENV{HCC_HOME} ) +endif() +if ( DEFINED ENV{HIP_PATH} ) + set ( HIP_PATH ENV{HIP_PATH} ) +endif() +set ( HCC_INC_DIR "${HCC_HOME}/include" ) +set ( HIP_INC_DIR "${HIP_PATH}/include" ) ## Extend Compiler flags based on build type string ( TOLOWER "${CMAKE_BUILD_TYPE}" CMAKE_BUILD_TYPE ) diff --git a/inc/cb_table.h b/inc/cb_table.h new file mode 100644 index 0000000000..5d10f5b8ba --- /dev/null +++ b/inc/cb_table.h @@ -0,0 +1,76 @@ +/* +Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +*/ + +#ifndef CB_TABLE_H_ +#define CB_TABLE_H_ + +#include "ext/prof_protocol.h" + +#include + +namespace roctracer { + +// Generic callbacks table +template +class CbTable { + public: + typedef std::mutex mutex_t; + + CbTable() { + std::lock_guard lck(mutex_); + for (int i = 0; i < N; i++) { + callback_[i] = NULL; + arg_[i] = NULL; + } + } + + bool set(uint32_t id, activity_rtapi_callback_t callback, void* arg) { + std::lock_guard lck(mutex_); + bool ret = false; + if (id < N) { + callback_[id] = callback; + arg_[id] = arg; + ret = true; + } + return ret; + } + + bool get(uint32_t id, activity_rtapi_callback_t* callback, void** arg) { + std::lock_guard lck(mutex_); + bool ret = false; + if (id < N) { + *callback = callback_[id]; + *arg = arg_[id]; + ret = true; + } + return ret; + } + + private: + activity_rtapi_callback_t callback_[N]; + void* arg_[N]; + mutex_t mutex_; +}; + +} // namespace roctracer + +#endif // CB_TALE_H_ diff --git a/inc/ext/prof_protocol.h b/inc/ext/prof_protocol.h index d59343d623..d4b2567021 100644 --- a/inc/ext/prof_protocol.h +++ b/inc/ext/prof_protocol.h @@ -23,13 +23,16 @@ THE SOFTWARE. #ifndef INC_EXT_PROF_PROTOCOL_H_ #define INC_EXT_PROF_PROTOCOL_H_ +#include + // Traced API domains typedef enum { - ACTIVITY_DOMAIN_HSA_API = 0, // HSA domain + ACTIVITY_DOMAIN_HSA_API = 0, // HSA API domain ACTIVITY_DOMAIN_HSA_OPS = 1, // HSA async activity domain ACTIVITY_DOMAIN_HCC_OPS = 2, // HCC async activity domain - ACTIVITY_DOMAIN_HIP_API = 3, // HIP domain - ACTIVITY_DOMAIN_NUMBER = 4 + ACTIVITY_DOMAIN_HIP_API = 3, // HIP API domain + ACTIVITY_DOMAIN_ROCTX = 4, // ROCTX domain + ACTIVITY_DOMAIN_NUMBER } activity_domain_t; // API calback type diff --git a/inc/roctracer.h b/inc/roctracer.h index 04cd586d88..7ac5a23bb2 100644 --- a/inc/roctracer.h +++ b/inc/roctracer.h @@ -64,6 +64,7 @@ typedef enum { ROCTRACER_STATUS_BAD_PARAMETER = 5, ROCTRACER_STATUS_HIP_API_ERR = 6, ROCTRACER_STATUS_HCC_OPS_ERR = 7, + ROCTRACER_STATUS_ROCTX_ERR = 8, } roctracer_status_t; //////////////////////////////////////////////////////////////////////////////// diff --git a/inc/roctracer_hsa.h b/inc/roctracer_hsa.h index f7944d2a8f..c01253e79f 100644 --- a/inc/roctracer_hsa.h +++ b/inc/roctracer_hsa.h @@ -29,7 +29,7 @@ THE SOFTWARE. #include #include -#include "ext/prof_protocol.h" +#include "cb_table.h" #include "roctracer.h" namespace roctracer { @@ -38,37 +38,6 @@ enum { HSA_OP_ID_async_copy = 0 }; -template -class CbTable { - public: - typedef std::mutex mutex_t; - - CbTable() { - std::lock_guard lck(mutex_); - for (int i = 0; i < N; i++) { - callback_[i] = NULL; - arg_[i] = NULL; - } - } - - void set(uint32_t id, activity_rtapi_callback_t callback, void* arg) { - std::lock_guard lck(mutex_); - callback_[id] = callback; - arg_[id] = arg; - } - - void get(uint32_t id, activity_rtapi_callback_t* callback, void** arg) { - std::lock_guard lck(mutex_); - *callback = callback_[id]; - *arg = arg_[id]; - } - - private: - activity_rtapi_callback_t callback_[N]; - void* arg_[N]; - mutex_t mutex_; -}; - extern CoreApiTable CoreApiTable_saved; extern AmdExtTable AmdExtTable_saved; extern ImageExtTable ImageExtTable_saved; diff --git a/inc/roctracer_roctx.h b/inc/roctracer_roctx.h new file mode 100644 index 0000000000..aaa95703db --- /dev/null +++ b/inc/roctracer_roctx.h @@ -0,0 +1,84 @@ +/* +Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +*/ + +//////////////////////////////////////////////////////////////////////////////// +// +// ROC-TX API +// +// ROC-TX library, Code Annotation API. +// The goal of the implementation is to provide functionality for annotating +// events, code ranges, and resources in applications. +// +//////////////////////////////////////////////////////////////////////////////// + +#ifndef INC_ROCTRACER_ROCTX_H_ +#define INC_ROCTRACER_ROCTX_H_ + +#include "cb_table.h" + +// ROC-TX API ID enumeration +enum roctx_api_id_t { + ROCTX_API_ID_roctxMarkA = 0, + ROCTX_API_ID_roctxRangePushA = 1, + ROCTX_API_ID_roctxRangePop = 2, + + ROCTX_API_ID_NUMBER, +}; + +// ROCTX callbacks data type +struct roctx_api_data_t { + union { + const char* message; + struct { + const char* message; + } roctxMarkA; + struct { + const char* message; + } roctxRangePushA; + struct { + const char* message; + } roctxRangePop; + } args; +}; + +namespace roctx { + +// ROCTX callbacks table type +typedef roctracer::CbTable cb_table_t; + +} // namespace roctx + +#ifdef __cplusplus +extern "C" { +#endif // __cplusplus + +// Regiter ROCTX callback for given opertaion id +bool RegisterApiCallback(uint32_t op, void* callback, void* arg); + +// Remove ROCTX callback for given opertaion id +bool RemoveApiCallback(uint32_t op); + +#ifdef __cplusplus +} // extern "C" block +#endif // __cplusplus + +#endif // INC_ROCTRACER_ROCTX_H_ diff --git a/inc/roctx.h b/inc/roctx.h new file mode 100644 index 0000000000..fd1686edcf --- /dev/null +++ b/inc/roctx.h @@ -0,0 +1,75 @@ +/* +Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +*/ + +//////////////////////////////////////////////////////////////////////////////// +// +// ROC-TX API +// +// ROC-TX library, Code Annotation API. +// The goal of the implementation is to provide functionality for annotating +// events, code ranges, and resources in applications. +// +//////////////////////////////////////////////////////////////////////////////// + +#ifndef INC_ROCTX_H_ +#define INC_ROCTX_H_ + +#include + +#define ROCTX_VERSION_MAJOR 1 +#define ROCTX_VERSION_MINOR 0 + +#ifdef __cplusplus +extern "C" { +#endif // __cplusplus + +//////////////////////////////////////////////////////////////////////////////// +// Returning library version +uint32_t roctx_version_major(); +uint32_t roctx_version_minor(); + +//////////////////////////////////////////////////////////////////////////////// +// Returning the last error +const char* roctracer_error_string(); + +//////////////////////////////////////////////////////////////////////////////// +// Markers annotating API + +// A marker created by given ASCII massage +void roctxMarkA(const char* message); + +//////////////////////////////////////////////////////////////////////////////// +// Ranges annotating API + +// Returns the 0 based level of a nested range being started by given message associated to this range. +// A negative value is returned on the error. +int roctxRangePushA(const char* message); + +// Marks the end of a nested range. +// A negative value is returned on the error. +int roctxRangePop(); + +#ifdef __cplusplus +} // extern "C" block +#endif // __cplusplus + +#endif // INC_ROCTX_H_ diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 37b2654a44..2418ba53a8 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -30,6 +30,7 @@ add_custom_command ( set ( ROCTX_LIB "roctx64" ) set ( ROCTX_LIB_SRC ${LIB_DIR}/roctx/roctx.cpp + ${LIB_DIR}/roctx/roctx_intercept.cpp ) add_library ( ${ROCTX_LIB} SHARED ${ROCTX_LIB_SRC} ) target_include_directories ( ${ROCTX_LIB} PRIVATE ${LIB_DIR} ${ROOT_DIR} ${ROOT_DIR}/inc ${HSA_RUNTIME_INC_PATH} ${HSA_RUNTIME_HSA_INC_PATH} ) diff --git a/src/core/roctracer.cpp b/src/core/roctracer.cpp index 5bac30949f..40e401c430 100644 --- a/src/core/roctracer.cpp +++ b/src/core/roctracer.cpp @@ -23,6 +23,7 @@ THE SOFTWARE. #include "inc/roctracer.h" #include "inc/roctracer_hcc.h" #include "inc/roctracer_hip.h" +#include "inc/roctracer_roctx.h" #define PROF_API_IMPL 1 #include "inc/roctracer_hsa.h" @@ -651,6 +652,7 @@ static inline uint32_t get_op_num(const uint32_t& domain) { case ACTIVITY_DOMAIN_HSA_API: return HSA_API_ID_NUMBER; case ACTIVITY_DOMAIN_HCC_OPS: return hc::HSA_OP_ID_NUMBER; case ACTIVITY_DOMAIN_HIP_API: return HIP_API_ID_NUMBER; + case ACTIVITY_DOMAIN_ROCTX: return ROCTX_API_ID_NUMBER; default: EXC_RAISING(ROCTRACER_STATUS_BAD_DOMAIN, "invalid domain ID(" << domain << ")"); } @@ -680,7 +682,12 @@ static void roctracer_enable_callback_impl( case ACTIVITY_DOMAIN_HCC_OPS: break; case ACTIVITY_DOMAIN_HIP_API: { hipError_t hip_err = roctracer::HipLoader::Instance().RegisterApiCallback(op, (void*)callback, user_data); - if (hip_err != hipSuccess) HIP_EXC_RAISING(ROCTRACER_STATUS_HIP_API_ERR, "hipRegisterApiCallback error(" << hip_err << ")"); + if (hip_err != hipSuccess) HIP_EXC_RAISING(ROCTRACER_STATUS_HIP_API_ERR, "hipRegisterApiCallback(" << op << ") error(" << hip_err << ")"); + break; + } + case ACTIVITY_DOMAIN_ROCTX: { + const bool suc = roctracer::RocTxLoader::Instance().RegisterApiCallback(op, (void*)callback, user_data); + if (suc == false) EXC_RAISING(ROCTRACER_STATUS_ROCTX_ERR, "roctxRegisterApiCallback(" << op << ") failed"); break; } default: @@ -743,6 +750,11 @@ static void roctracer_disable_callback_impl( if (hip_err != hipSuccess) HIP_EXC_RAISING(ROCTRACER_STATUS_HIP_API_ERR, "hipRemoveApiCallback error(" << hip_err << ")"); break; } + case ACTIVITY_DOMAIN_ROCTX: { + const bool suc = roctracer::RocTxLoader::Instance().RemoveApiCallback(op); + if (suc == false) EXC_RAISING(ROCTRACER_STATUS_ROCTX_ERR, "roctxRemoveApiCallback(" << op << ") failed"); + break; + } default: EXC_RAISING(ROCTRACER_STATUS_BAD_DOMAIN, "invalid domain ID(" << domain << ")"); } @@ -841,6 +853,7 @@ static void roctracer_enable_activity_impl( if (hip_err != hipSuccess) HIP_EXC_RAISING(ROCTRACER_STATUS_HIP_API_ERR, "hipRegisterActivityCallback error(" << hip_err << ")"); break; } + case ACTIVITY_DOMAIN_ROCTX: break; default: EXC_RAISING(ROCTRACER_STATUS_BAD_DOMAIN, "invalid domain ID(" << domain << ")"); } @@ -899,6 +912,7 @@ static void roctracer_disable_activity_impl( if (hip_err != hipSuccess) HIP_EXC_RAISING(ROCTRACER_STATUS_HIP_API_ERR, "hipRemoveActivityCallback error(" << hip_err << ")"); break; } + case ACTIVITY_DOMAIN_ROCTX: break; default: EXC_RAISING(ROCTRACER_STATUS_BAD_DOMAIN, "invalid domain ID(" << domain << ")"); } diff --git a/src/roctx/roctx.cpp b/src/roctx/roctx.cpp index 755ac3635d..1799b17910 100644 --- a/src/roctx/roctx.cpp +++ b/src/roctx/roctx.cpp @@ -1,5 +1,127 @@ +/* +Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +*/ + +#include "inc/roctx.h" +#include "inc/roctracer_roctx.h" + +#include + +#include "inc/ext/prof_protocol.h" +#include "util/exception.h" +#include "util/logger.h" + +#define PUBLIC_API __attribute__((visibility("default"))) +#define CONSTRUCTOR_API __attribute__((constructor)) +#define DESTRUCTOR_API __attribute__((destructor)) + +#define API_METHOD_PREFIX \ + roctx_status_t err = ROCTX_STATUS_SUCCESS; \ + try { + +#define API_METHOD_SUFFIX \ + } \ + catch (std::exception & e) { \ + ERR_LOGGING(__FUNCTION__ << "(), " << e.what()); \ + err = roctx::GetExcStatus(e); \ + } \ + return (err == ROCTX_STATUS_SUCCESS) ? 0 : -1; + +#define API_METHOD_SUFFIX_NRET \ + } \ + catch (std::exception & e) { \ + ERR_LOGGING(__FUNCTION__ << "(), " << e.what()); \ + err = roctx::GetExcStatus(e); \ + } \ + (void)err; \ + +#define API_METHOD_CATCH(X) \ + } \ + catch (std::exception & e) { \ + ERR_LOGGING(__FUNCTION__ << "(), " << e.what()); \ + } \ + (void)err; \ + return X; + +static inline uint32_t GetPid() { return syscall(__NR_getpid); } +static inline uint32_t GetTid() { return syscall(__NR_gettid); } + +//////////////////////////////////////////////////////////////////////////////// +// Library errors enumaration +typedef enum { + ROCTX_STATUS_SUCCESS = 0, + ROCTX_STATUS_ERROR = 1, +} roctx_status_t; + +/////////////////////////////////////////////////////////////////////////////////////////////////// +// Library implementation +// namespace roctx { -void fun() {} +roctx_status_t GetExcStatus(const std::exception& e) { + const roctracer::util::exception* roctx_exc_ptr = dynamic_cast(&e); + return (roctx_exc_ptr) ? static_cast(roctx_exc_ptr->status()) : ROCTX_STATUS_ERROR; +} +// callbacks table +extern cb_table_t cb_table; } // namespace roctx + +// Logger instantiation +roctracer::util::Logger::mutex_t roctracer::util::Logger::mutex_; +std::atomic roctracer::util::Logger::instance_{}; + +/////////////////////////////////////////////////////////////////////////////////////////////////// +// Public library methods +// +extern "C" { + +PUBLIC_API uint32_t roctx_version_major() { return ROCTX_VERSION_MAJOR; } +PUBLIC_API uint32_t roctx_version_minor() { return ROCTX_VERSION_MINOR; } + +PUBLIC_API const char* roctracer_error_string() { + return strdup(roctracer::util::Logger::LastMessage().c_str()); +} + +PUBLIC_API void roctxMarkA(const char* message) { + API_METHOD_PREFIX + roctx_api_data_t api_data{}; + api_data.args.roctxMarkA.message = strdup(message); + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + roctx::cb_table.get(ROCTX_API_ID_roctxMarkA, &api_callback_fun, &api_callback_arg); + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_ROCTX, ROCTX_API_ID_roctxMarkA, &api_data, api_callback_arg); + API_METHOD_SUFFIX_NRET +} + +PUBLIC_API int roctxRangePushA(const char* message) { + API_METHOD_PREFIX + EXC_ABORT(ROCTX_STATUS_ERROR, "method is not implemented"); + API_METHOD_SUFFIX +} + +PUBLIC_API int roctxRangePop() { + API_METHOD_PREFIX + EXC_ABORT(ROCTX_STATUS_ERROR, "method is not implemented"); + API_METHOD_SUFFIX +} + +} // extern "C" diff --git a/src/roctx/roctx_intercept.cpp b/src/roctx/roctx_intercept.cpp new file mode 100644 index 0000000000..f5cfdf7669 --- /dev/null +++ b/src/roctx/roctx_intercept.cpp @@ -0,0 +1,52 @@ +/* +Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +*/ + +#include "inc/roctx.h" +#include "inc/roctracer_roctx.h" +#include "util/logger.h" + +#define PUBLIC_API __attribute__((visibility("default"))) + +/////////////////////////////////////////////////////////////////////////////////////////////////// +// Library implementation +// +namespace roctx { + +// callbacks table +cb_table_t cb_table; + +} // namespace roctx + +/////////////////////////////////////////////////////////////////////////////////////////////////// +// Public library methods +// +extern "C" { + +PUBLIC_API bool RegisterApiCallback(uint32_t op, void* callback, void* arg) { + return roctx::cb_table.set(op, reinterpret_cast(callback), arg); +} + +PUBLIC_API bool RemoveApiCallback(uint32_t op) { + return roctx::cb_table.set(op, NULL, NULL); +} + +} // extern "C" diff --git a/src/util/logger.h b/src/util/logger.h index 5ed90c4a50..42539e7127 100644 --- a/src/util/logger.h +++ b/src/util/logger.h @@ -32,6 +32,7 @@ THE SOFTWARE. #include #include +#include #include #include #include From 2007136c1c0d86ee40f3dda878a431cba7752e9f Mon Sep 17 00:00:00 2001 From: eshcherb <33529668+eshcherb@users.noreply.github.com> Date: Mon, 2 Sep 2019 22:45:58 -0500 Subject: [PATCH 147/691] Fixing env HCC_HOME and HIP_PATH --- cmake_modules/env.cmake | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cmake_modules/env.cmake b/cmake_modules/env.cmake index bac88715a2..fbeccf5d09 100644 --- a/cmake_modules/env.cmake +++ b/cmake_modules/env.cmake @@ -68,10 +68,10 @@ endif() set ( HCC_HOME "/opt/rocm/hcc" ) set ( HIP_PATH "/opt/rocm/hip" ) if ( DEFINED ENV{HCC_HOME} ) - set ( HCC_HOME ENV{HCC_HOME} ) + set ( HCC_HOME $ENV{HCC_HOME} ) endif() if ( DEFINED ENV{HIP_PATH} ) - set ( HIP_PATH ENV{HIP_PATH} ) + set ( HIP_PATH $ENV{HIP_PATH} ) endif() set ( HCC_INC_DIR "${HCC_HOME}/include" ) set ( HIP_INC_DIR "${HIP_PATH}/include" ) From a239e366ffcd986ef892f924cf304a0ab163dca3 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Tue, 3 Sep 2019 15:25:06 -0500 Subject: [PATCH 148/691] roctx domain is enabled check --- src/core/loader.h | 22 +++++++++++++++++++--- src/core/roctracer.cpp | 12 ++++++++---- 2 files changed, 27 insertions(+), 7 deletions(-) diff --git a/src/core/loader.h b/src/core/loader.h index d15d2f5580..bf3530c2ab 100644 --- a/src/core/loader.h +++ b/src/core/loader.h @@ -14,8 +14,20 @@ class BaseLoader : public T { typedef std::mutex mutex_t; typedef BaseLoader loader_t; + bool Enabled() const { return (handle_ != NULL); } + template - fun_t* GetFun(const char* fun_name) { return (fun_t*) dlsym(handle_, fun_name); } + fun_t* GetFun(const char* fun_name) { + if (handle_ == NULL) return NULL; + + fun_t *f = (fun_t*) dlsym(handle_, fun_name); + if (f == NULL) { + fprintf(stderr, "roctracer: symbol lookup '%s' failed: \"%s\"\n", fun_name, dlerror()); + abort(); + } + dlerror(); + return f; + } static inline loader_t& Instance(const bool& preload = false) { loader_t* obj = instance_.load(std::memory_order_acquire); @@ -35,10 +47,11 @@ class BaseLoader : public T { BaseLoader(bool preload) { const int flags = (preload) ? RTLD_LAZY : RTLD_LAZY|RTLD_NOLOAD; handle_ = dlopen(lib_name_, flags); - if (handle_ == NULL) { + if ((handle_ == NULL) && (strong_ld_check_)) { fprintf(stderr, "roctracer: Loading '%s' failed, preload(%d), %s\n", lib_name_, (int)preload, dlerror()); abort(); } + dlerror(); T::init(this); } @@ -50,6 +63,7 @@ class BaseLoader : public T { static mutex_t mutex_; static const char* lib_name_; static std::atomic instance_; + static const bool strong_ld_check_; void* handle_; }; @@ -153,9 +167,11 @@ typedef BaseLoader RocTxLoader; #define LOADER_INSTANTIATE() \ template typename roctracer::BaseLoader::mutex_t roctracer::BaseLoader::mutex_; \ template std::atomic*> roctracer::BaseLoader::instance_{}; \ + template const bool roctracer::BaseLoader::strong_ld_check_ = false; template<> const char* roctracer::HipLoader::lib_name_ = "libhip_hcc.so"; \ template<> const char* roctracer::HccLoader::lib_name_ = "libmcwamp_hsa.so"; \ template<> const char* roctracer::KfdLoader::lib_name_ = "libkfdwrapper64.so"; \ - template<> const char* roctracer::RocTxLoader::lib_name_ = "libroctx64.so"; + template<> const char* roctracer::RocTxLoader::lib_name_ = "libroctx64.so"; \ + template<> const bool roctracer::RocTxLoader::strong_ld_check_ = false; #endif // SRC_CORE_LOADER_H_ diff --git a/src/core/roctracer.cpp b/src/core/roctracer.cpp index 40e401c430..92a2bc640d 100644 --- a/src/core/roctracer.cpp +++ b/src/core/roctracer.cpp @@ -686,8 +686,10 @@ static void roctracer_enable_callback_impl( break; } case ACTIVITY_DOMAIN_ROCTX: { - const bool suc = roctracer::RocTxLoader::Instance().RegisterApiCallback(op, (void*)callback, user_data); - if (suc == false) EXC_RAISING(ROCTRACER_STATUS_ROCTX_ERR, "roctxRegisterApiCallback(" << op << ") failed"); + if (roctracer::RocTxLoader::Instance().Enabled()) { + const bool suc = roctracer::RocTxLoader::Instance().RegisterApiCallback(op, (void*)callback, user_data); + if (suc == false) EXC_RAISING(ROCTRACER_STATUS_ROCTX_ERR, "roctxRegisterApiCallback(" << op << ") failed"); + } break; } default: @@ -751,8 +753,10 @@ static void roctracer_disable_callback_impl( break; } case ACTIVITY_DOMAIN_ROCTX: { - const bool suc = roctracer::RocTxLoader::Instance().RemoveApiCallback(op); - if (suc == false) EXC_RAISING(ROCTRACER_STATUS_ROCTX_ERR, "roctxRemoveApiCallback(" << op << ") failed"); + if (roctracer::RocTxLoader::Instance().Enabled()) { + const bool suc = roctracer::RocTxLoader::Instance().RemoveApiCallback(op); + if (suc == false) EXC_RAISING(ROCTRACER_STATUS_ROCTX_ERR, "roctxRemoveApiCallback(" << op << ") failed"); + } break; } default: From 9e91c8fee6c55d1ab607b7cd55a99f3b3e49a798 Mon Sep 17 00:00:00 2001 From: eshcherb <33529668+eshcherb@users.noreply.github.com> Date: Wed, 4 Sep 2019 12:04:27 -0500 Subject: [PATCH 149/691] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 1c911fb9d9..f80fe90a2d 100644 --- a/README.md +++ b/README.md @@ -31,7 +31,7 @@ asyncronous activity records pool support. cd - CLone development branch of roctracer: - git clone -b amd-master https://github.com/ROCmSoftwarePlatform/roctracer.git + git clone -b amd-master https://github.com/ROCm-Developer-Tools/roctracer - Set environment: export HIP_PATH=/opt/rocm/hip From 226240ea4039c8b0fa7d51996f6d2ceb5dcc1322 Mon Sep 17 00:00:00 2001 From: rkebichi <54912798+rkebichi@users.noreply.github.com> Date: Wed, 4 Sep 2019 15:46:01 -0400 Subject: [PATCH 150/691] Update roctx.cpp Added roctxRangePushA and roctxRangePop fcts --- src/roctx/roctx.cpp | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/src/roctx/roctx.cpp b/src/roctx/roctx.cpp index 1799b17910..b7faab91e3 100644 --- a/src/roctx/roctx.cpp +++ b/src/roctx/roctx.cpp @@ -28,6 +28,7 @@ THE SOFTWARE. #include "inc/ext/prof_protocol.h" #include "util/exception.h" #include "util/logger.h" +#include #define PUBLIC_API __attribute__((visibility("default"))) #define CONSTRUCTOR_API __attribute__((constructor)) @@ -61,6 +62,8 @@ THE SOFTWARE. (void)err; \ return X; +std::stack message_stack; + static inline uint32_t GetPid() { return syscall(__NR_getpid); } static inline uint32_t GetTid() { return syscall(__NR_gettid); } @@ -114,13 +117,30 @@ PUBLIC_API void roctxMarkA(const char* message) { PUBLIC_API int roctxRangePushA(const char* message) { API_METHOD_PREFIX - EXC_ABORT(ROCTX_STATUS_ERROR, "method is not implemented"); + //EXC_ABORT(ROCTX_STATUS_ERROR, "method is not implemented"); + roctx_api_data_t api_data{}; + api_data.args.roctxRangePushA.message = strdup(message); + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + roctx::cb_table.get(ROCTX_API_ID_roctxRangePushA, &api_callback_fun, &api_callback_arg); + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_ROCTX, ROCTX_API_ID_roctxRangePushA, &api_data, api_callback_arg); + message_stack.push(strdup(message)); API_METHOD_SUFFIX } PUBLIC_API int roctxRangePop() { API_METHOD_PREFIX - EXC_ABORT(ROCTX_STATUS_ERROR, "method is not implemented"); + //EXC_ABORT(ROCTX_STATUS_ERROR, "method is not implemented"); + roctx_api_data_t api_data{}; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + roctx::cb_table.get(ROCTX_API_ID_roctxRangePop, &api_callback_fun, &api_callback_arg); + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_ROCTX, ROCTX_API_ID_roctxRangePop, &api_data, api_callback_arg); + if (message_stack.empty()) { + EXC_ABORT(ROCTX_STATUS_ERROR, "Pop from empty stack!"); + } else { + message_stack.pop(); + } API_METHOD_SUFFIX } From c6a035577fd87a97b9721fe2943d14a239b06e60 Mon Sep 17 00:00:00 2001 From: rkebichi <54912798+rkebichi@users.noreply.github.com> Date: Wed, 4 Sep 2019 15:56:46 -0400 Subject: [PATCH 151/691] Update MatrixTranspose.cpp --- test/MatrixTranspose_test/MatrixTranspose.cpp | 22 ++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/test/MatrixTranspose_test/MatrixTranspose.cpp b/test/MatrixTranspose_test/MatrixTranspose.cpp index dffb0eb984..b519801940 100644 --- a/test/MatrixTranspose_test/MatrixTranspose.cpp +++ b/test/MatrixTranspose_test/MatrixTranspose.cpp @@ -25,6 +25,9 @@ THE SOFTWARE. // hip header file #include +// roctx header file +#include + #ifndef ITERATIONS # define ITERATIONS 100 #endif @@ -97,14 +100,23 @@ int main() { // Memory transfer from host to device hipMemcpy(gpuMatrix, Matrix, NUM * sizeof(float), hipMemcpyHostToDevice); + roctxMarkA("before hipLaunchKernel"); + roctxRangePushA("hipLaunchKernel"); + //roctxRangePushA("before hipLaunchKernel"); + // roctxRangePushA("before hipLaunchKernel"); // Lauching kernel from host hipLaunchKernel(matrixTranspose, dim3(WIDTH / THREADS_PER_BLOCK_X, WIDTH / THREADS_PER_BLOCK_Y), dim3(THREADS_PER_BLOCK_X, THREADS_PER_BLOCK_Y), 0, 0, gpuTransposeMatrix, gpuMatrix, WIDTH); + //roctxRangePop(); + roctxMarkA("after hipLaunchKernel"); // Memory transfer from device to host + roctxRangePushA("hipMemcpy"); hipMemcpy(TransposeMatrix, gpuTransposeMatrix, NUM * sizeof(float), hipMemcpyDeviceToHost); - + roctxRangePop(); // for "hipMemcpy" + roctxRangePop(); // for "hipLaunchKernel" + // CPU MatrixTranspose computation matrixTransposeCPUReference(cpuTransposeMatrix, Matrix, WIDTH); @@ -143,6 +155,7 @@ int main() { #if 1 #include #include +#include // Macro to check ROC-tracer calls status #define ROCTRACER_CALL(call) \ @@ -162,6 +175,13 @@ void api_callback( void* arg) { (void)arg; + + if (domain == ACTIVITY_DOMAIN_ROCTX) { + const roctx_api_data_t* data = reinterpret_cast(callback_data); + fprintf(stdout, "ROCTX: \"%s\"\n", data->args.message); + return; + } + const hip_api_data_t* data = reinterpret_cast(callback_data); fprintf(stdout, "<%s id(%u)\tcorrelation_id(%lu) %s> ", roctracer_op_string(ACTIVITY_DOMAIN_HIP_API, cid, 0), From 6e1fbda1c772dc4086973786efbf78fa74976ec0 Mon Sep 17 00:00:00 2001 From: rkebichi <54912798+rkebichi@users.noreply.github.com> Date: Thu, 5 Sep 2019 10:35:28 -0400 Subject: [PATCH 152/691] Update roctx.cpp --- src/roctx/roctx.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/roctx/roctx.cpp b/src/roctx/roctx.cpp index b7faab91e3..78af443ffe 100644 --- a/src/roctx/roctx.cpp +++ b/src/roctx/roctx.cpp @@ -62,7 +62,7 @@ THE SOFTWARE. (void)err; \ return X; -std::stack message_stack; +static thread_local std::stack message_stack; static inline uint32_t GetPid() { return syscall(__NR_getpid); } static inline uint32_t GetTid() { return syscall(__NR_gettid); } @@ -117,7 +117,6 @@ PUBLIC_API void roctxMarkA(const char* message) { PUBLIC_API int roctxRangePushA(const char* message) { API_METHOD_PREFIX - //EXC_ABORT(ROCTX_STATUS_ERROR, "method is not implemented"); roctx_api_data_t api_data{}; api_data.args.roctxRangePushA.message = strdup(message); activity_rtapi_callback_t api_callback_fun = NULL; @@ -125,12 +124,12 @@ PUBLIC_API int roctxRangePushA(const char* message) { roctx::cb_table.get(ROCTX_API_ID_roctxRangePushA, &api_callback_fun, &api_callback_arg); if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_ROCTX, ROCTX_API_ID_roctxRangePushA, &api_data, api_callback_arg); message_stack.push(strdup(message)); - API_METHOD_SUFFIX + API_METHOD_CATCH(-1); + return 0; } PUBLIC_API int roctxRangePop() { API_METHOD_PREFIX - //EXC_ABORT(ROCTX_STATUS_ERROR, "method is not implemented"); roctx_api_data_t api_data{}; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; @@ -141,7 +140,8 @@ PUBLIC_API int roctxRangePop() { } else { message_stack.pop(); } - API_METHOD_SUFFIX + API_METHOD_CATCH(-1) + return 0; } } // extern "C" From 7a46f29e964e0361f50883ec3246f88687608075 Mon Sep 17 00:00:00 2001 From: rkebichi <54912798+rkebichi@users.noreply.github.com> Date: Thu, 5 Sep 2019 10:36:55 -0400 Subject: [PATCH 153/691] Update MatrixTranspose.cpp --- test/MatrixTranspose_test/MatrixTranspose.cpp | 3 --- 1 file changed, 3 deletions(-) diff --git a/test/MatrixTranspose_test/MatrixTranspose.cpp b/test/MatrixTranspose_test/MatrixTranspose.cpp index b519801940..e76802f85d 100644 --- a/test/MatrixTranspose_test/MatrixTranspose.cpp +++ b/test/MatrixTranspose_test/MatrixTranspose.cpp @@ -102,13 +102,10 @@ int main() { roctxMarkA("before hipLaunchKernel"); roctxRangePushA("hipLaunchKernel"); - //roctxRangePushA("before hipLaunchKernel"); - // roctxRangePushA("before hipLaunchKernel"); // Lauching kernel from host hipLaunchKernel(matrixTranspose, dim3(WIDTH / THREADS_PER_BLOCK_X, WIDTH / THREADS_PER_BLOCK_Y), dim3(THREADS_PER_BLOCK_X, THREADS_PER_BLOCK_Y), 0, 0, gpuTransposeMatrix, gpuMatrix, WIDTH); - //roctxRangePop(); roctxMarkA("after hipLaunchKernel"); // Memory transfer from device to host From 719e9221a577dc7a2ebfb2864357cf42fcf9a528 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Thu, 5 Sep 2019 09:54:34 -0500 Subject: [PATCH 154/691] roctracer extension APIs: mark, external id push/pop --- CMakeLists.txt | 13 ++++ inc/ext/prof_protocol.h | 12 +++- inc/roctracer.h | 5 +- inc/roctracer_ext.h | 61 +++++++++++++++++++ src/core/roctracer.cpp | 45 +++++++++++++- test/MatrixTranspose_test/MatrixTranspose.cpp | 28 ++++++++- test/tool/tracer_tool.cpp | 2 +- 7 files changed, 157 insertions(+), 9 deletions(-) create mode 100644 inc/roctracer_ext.h diff --git a/CMakeLists.txt b/CMakeLists.txt index 682fda8947..04136e0081 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -90,12 +90,25 @@ install ( TARGETS ${ROCTRACER_TARGET} LIBRARY DESTINATION lib ) install ( FILES ${CMAKE_CURRENT_SOURCE_DIR}/inc/roctracer.h DESTINATION include ) install ( FILES ${CMAKE_CURRENT_SOURCE_DIR}/inc/roctracer_hip.h DESTINATION include ) install ( FILES ${CMAKE_CURRENT_SOURCE_DIR}/inc/roctracer_hcc.h DESTINATION include ) +install ( FILES ${CMAKE_CURRENT_SOURCE_DIR}/inc/roctracer_ext.h DESTINATION include ) install ( FILES ${CMAKE_CURRENT_SOURCE_DIR}/inc/ext/prof_protocol.h DESTINATION include/ext ) install ( FILES ${CMAKE_CURRENT_SOURCE_DIR}/inc/ext/hsa_rt_utils.hpp DESTINATION include/ext ) install ( FILES ${PROJECT_BINARY_DIR}/inc-link DESTINATION ../include RENAME ${ROCTRACER_NAME} ) install ( FILES ${PROJECT_BINARY_DIR}/so-link DESTINATION ../lib RENAME ${ROCTRACER_LIBRARY}.so ) install ( FILES ${PROJECT_BINARY_DIR}/test/libtracer_tool.so DESTINATION tool ) +## rocTX +set ( ROCTX_TARGET "roctx64" ) +set ( ROCTX_LIBRARY "lib${ROCTX_TARGET}" ) + +add_custom_target ( so-roctx-link ALL WORKING_DIRECTORY ${PROJECT_BINARY_DIR} + COMMAND ${CMAKE_COMMAND} -E create_symlink ../${ROCTRACER_NAME}/lib/${ROCTX_LIBRARY}.so so-roctx-link ) + +install ( TARGETS "roctx64" LIBRARY DESTINATION lib ) +install ( FILES ${CMAKE_CURRENT_SOURCE_DIR}/inc/roctx.h DESTINATION include ) +install ( FILES ${CMAKE_CURRENT_SOURCE_DIR}/inc/roctracer_roctx.h DESTINATION include ) +install ( FILES ${PROJECT_BINARY_DIR}/so-roctx-link DESTINATION ../lib RENAME ${ROCTX_LIBRARY}.so ) + ## Packaging directives set ( CPACK_GENERATOR "DEB" "RPM" "TGZ" ) set ( CPACK_PACKAGE_NAME "${ROCTRACER_NAME}-dev" ) diff --git a/inc/ext/prof_protocol.h b/inc/ext/prof_protocol.h index d4b2567021..ff195882ea 100644 --- a/inc/ext/prof_protocol.h +++ b/inc/ext/prof_protocol.h @@ -31,10 +31,17 @@ typedef enum { ACTIVITY_DOMAIN_HSA_OPS = 1, // HSA async activity domain ACTIVITY_DOMAIN_HCC_OPS = 2, // HCC async activity domain ACTIVITY_DOMAIN_HIP_API = 3, // HIP API domain - ACTIVITY_DOMAIN_ROCTX = 4, // ROCTX domain + ACTIVITY_DOMAIN_EXT_API = 4, // External ID domain + ACTIVITY_DOMAIN_ROCTX = 5, // ROCTX domain ACTIVITY_DOMAIN_NUMBER } activity_domain_t; +// Extension API opcodes +typedef enum { + ACTIVITY_EXT_OP_MARK = 0, + ACTIVITY_EXT_OP_EXTERN_ID = 1 +} activity_ext_op_t; + // API calback type typedef void (*activity_rtapi_callback_t)(uint32_t domain, uint32_t cid, const void* data, void* arg); typedef uint32_t activity_kind_t; @@ -67,6 +74,9 @@ struct activity_record_t { uint32_t process_id; // device id uint32_t thread_id; // thread id }; + struct { + activity_correlation_id_t external_id; // external correlatino id + }; }; size_t bytes; // data size bytes }; diff --git a/inc/roctracer.h b/inc/roctracer.h index 7ac5a23bb2..5f469616d2 100644 --- a/inc/roctracer.h +++ b/inc/roctracer.h @@ -210,10 +210,7 @@ roctracer_status_t roctracer_disable_activity(); roctracer_status_t roctracer_flush_activity( roctracer_pool_t* pool = NULL); // memory pool, NULL is a default one -// Mark API -void roctracer_mark(const char* str); - -// Load/Un;oad methods +// Load/Unload methods // Set properties roctracer_status_t roctracer_set_properties( roctracer_domain_t domain, // tracing domain diff --git a/inc/roctracer_ext.h b/inc/roctracer_ext.h new file mode 100644 index 0000000000..6a1edb9af3 --- /dev/null +++ b/inc/roctracer_ext.h @@ -0,0 +1,61 @@ +/* +Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +*/ + +//////////////////////////////////////////////////////////////////////////////// +// +// ROC Tracer Extension API +// +// The API provides functionality for application annotation with event and +// external ranges correlation +// +//////////////////////////////////////////////////////////////////////////////// + +#ifndef INC_ROCTRACER_EXT_H_ +#define INC_ROCTRACER_EXT_H_ + +#include "roctracer.h" + +#ifdef __cplusplus +extern "C" { +#endif // __cplusplus + +//////////////////////////////////////////////////////////////////////////////// +// Mark API +void roctracer_mark(const char* str); + +//////////////////////////////////////////////////////////////////////////////// +// External correlation id API + +// Notifies that the calling thread is entering an external API region. +// Push an external correlation id for the calling thread. +roctracer_status_t roctracer_activity_push_external_correlation_id(activity_correlation_id_t id); + +// Notifies that the calling thread is leaving an external API region. +// Pop an external correlation id for the calling thread. +// 'lastId' returns the last external correlation +roctracer_status_t roctracer_activity_pop_external_correlation_id(activity_correlation_id_t* last_id = NULL); + +#ifdef __cplusplus +} // extern "C" block +#endif // __cplusplus + +#endif // INC_ROCTRACER_EXT_H_ diff --git a/src/core/roctracer.cpp b/src/core/roctracer.cpp index 92a2bc640d..7c38dcc3b3 100644 --- a/src/core/roctracer.cpp +++ b/src/core/roctracer.cpp @@ -29,6 +29,7 @@ THE SOFTWARE. #include #include +#include #include #include #include @@ -390,6 +391,8 @@ typedef std::mutex correlation_id_mutex_t; correlation_id_map_t* correlation_id_map = NULL; correlation_id_mutex_t correlation_id_mutex; +static thread_local std::stack external_id_stack; + static inline void CorrelationIdRegistr(const activity_correlation_id_t& correlation_id) { std::lock_guard lck(correlation_id_mutex); if (correlation_id_map == NULL) correlation_id_map = new correlation_id_map_t; @@ -432,6 +435,16 @@ roctracer_record_t* HIP_SyncActivityCallback( record->end_ns = timer.timestamp_ns(); record->process_id = syscall(__NR_getpid); record->thread_id = syscall(__NR_gettid); + + if (external_id_stack.empty() == false) { + roctracer_record_t ext_record{}; + ext_record.domain = ACTIVITY_DOMAIN_EXT_API; + ext_record.op = ACTIVITY_EXT_OP_EXTERN_ID; + ext_record.correlation_id = record->correlation_id; + ext_record.external_id = external_id_stack.top(); + pool->Write(ext_record); + } + pool->Write(*record); // Clearing correlatin ID correlation_id_tls = 0; @@ -581,7 +594,7 @@ std::atomic util::Logger::instance_{}; MemoryPool* memory_pool = NULL; typedef std::recursive_mutex memory_pool_mutex_t; memory_pool_mutex_t memory_pool_mutex; -} +} // namespace roctracer LOADER_INSTANTIATE(); @@ -652,6 +665,7 @@ static inline uint32_t get_op_num(const uint32_t& domain) { case ACTIVITY_DOMAIN_HSA_API: return HSA_API_ID_NUMBER; case ACTIVITY_DOMAIN_HCC_OPS: return hc::HSA_OP_ID_NUMBER; case ACTIVITY_DOMAIN_HIP_API: return HIP_API_ID_NUMBER; + case ACTIVITY_DOMAIN_EXT_API: return 0; case ACTIVITY_DOMAIN_ROCTX: return ROCTX_API_ID_NUMBER; default: EXC_RAISING(ROCTRACER_STATUS_BAD_DOMAIN, "invalid domain ID(" << domain << ")"); @@ -959,10 +973,37 @@ PUBLIC_API roctracer_status_t roctracer_flush_activity(roctracer_pool_t* pool) { API_METHOD_SUFFIX } +// Notifies that the calling thread is entering an external API region. +// Push an external correlation id for the calling thread. +PUBLIC_API roctracer_status_t roctracer_activity_push_external_correlation_id(activity_correlation_id_t id) { + API_METHOD_PREFIX + roctracer::external_id_stack.push(id); + API_METHOD_SUFFIX +} + +// Notifies that the calling thread is leaving an external API region. +// Pop an external correlation id for the calling thread. +// 'lastId' returns the last external correlation +PUBLIC_API roctracer_status_t roctracer_activity_pop_external_correlation_id(activity_correlation_id_t* last_id) { + API_METHOD_PREFIX + if (last_id != NULL) *last_id = 0; + + if (roctracer::external_id_stack.empty() != true) { + if (last_id != NULL) *last_id = roctracer::external_id_stack.top(); + roctracer::external_id_stack.pop(); + } else { +#if 0 + EXC_RAISING(ROCTRACER_STATUS_ERROR, "not matching external range pop"); +#endif + return ROCTRACER_STATUS_ERROR; + } + API_METHOD_SUFFIX +} + // Mark API PUBLIC_API void roctracer_mark(const char* str) { if (mark_api_callback_ptr) { - mark_api_callback_ptr(ACTIVITY_DOMAIN_NUMBER, 0, str, NULL); + mark_api_callback_ptr(ACTIVITY_DOMAIN_NUMBER, ACTIVITY_EXT_OP_MARK, str, NULL); roctracer::GlobalCounter::Increment(); // account for user-defined markers when tracking correlation id } } diff --git a/test/MatrixTranspose_test/MatrixTranspose.cpp b/test/MatrixTranspose_test/MatrixTranspose.cpp index dffb0eb984..154c2ade3d 100644 --- a/test/MatrixTranspose_test/MatrixTranspose.cpp +++ b/test/MatrixTranspose_test/MatrixTranspose.cpp @@ -22,6 +22,9 @@ THE SOFTWARE. #include +// roctracer extension API +#include + // hip header file #include @@ -94,17 +97,31 @@ int main() { hipMalloc((void**)&gpuMatrix, NUM * sizeof(float)); hipMalloc((void**)&gpuTransposeMatrix, NUM * sizeof(float)); + // correlation reagion32 + roctracer_activity_push_external_correlation_id(31); + // correlation reagion32 + roctracer_activity_push_external_correlation_id(32); + // Memory transfer from host to device hipMemcpy(gpuMatrix, Matrix, NUM * sizeof(float), hipMemcpyHostToDevice); + // correlation reagion33 + roctracer_activity_push_external_correlation_id(33); + // Lauching kernel from host hipLaunchKernel(matrixTranspose, dim3(WIDTH / THREADS_PER_BLOCK_X, WIDTH / THREADS_PER_BLOCK_Y), dim3(THREADS_PER_BLOCK_X, THREADS_PER_BLOCK_Y), 0, 0, gpuTransposeMatrix, gpuMatrix, WIDTH); + // correlation reagion end + roctracer_activity_pop_external_correlation_id(NULL); + // Memory transfer from device to host hipMemcpy(TransposeMatrix, gpuTransposeMatrix, NUM * sizeof(float), hipMemcpyDeviceToHost); + // correlation reagion end + roctracer_activity_pop_external_correlation_id(); + // CPU MatrixTranspose computation matrixTransposeCPUReference(cpuTransposeMatrix, Matrix, WIDTH); @@ -126,6 +143,11 @@ int main() { hipFree(gpuMatrix); hipFree(gpuTransposeMatrix); + // correlation reagion end + roctracer_activity_pop_external_correlation_id(); + // correlation reagion end + roctracer_activity_pop_external_correlation_id(); + // free the resources on host side free(Matrix); free(TransposeMatrix); @@ -231,11 +253,15 @@ void activity_callback(const char* begin, const char* end, void* arg) { record->device_id, record->queue_id ); + if (record->op == hc::HSA_OP_ID_COPY) fprintf(stdout, " bytes(0x%zx)", record->bytes); + } else if (record->domain == ACTIVITY_DOMAIN_EXT_API) { + fprintf(stdout, " external_id(%lu)", + record->external_id + ); } else { fprintf(stderr, "Bad domain %d\n", record->domain); abort(); } - if (record->op == hc::HSA_OP_ID_COPY) fprintf(stdout, " bytes(0x%zx)", record->bytes); fprintf(stdout, "\n"); fflush(stdout); ROCTRACER_CALL(roctracer_next_record(record, &record)); diff --git a/test/tool/tracer_tool.cpp b/test/tool/tracer_tool.cpp index af48e6ebd9..f0ce7af6d9 100644 --- a/test/tool/tracer_tool.cpp +++ b/test/tool/tracer_tool.cpp @@ -240,7 +240,7 @@ void hip_api_flush_cb(hip_api_trace_entry_t* entry) { const timestamp_t end_timestamp = entry->end; std::ostringstream oss; \ - const char* str = (domain < ACTIVITY_DOMAIN_NUMBER) ? roctracer_op_string(domain, cid, 0) : strdup("MARK"); + const char* str = (domain == ACTIVITY_DOMAIN_EXT_API) ? roctracer_op_string(domain, cid, 0) : strdup("MARK"); oss << std::dec << begin_timestamp << ":" << end_timestamp << " " << entry->pid << ":" << entry->tid << " " << str; From 78871331d5573f76b7345e0e2aad24efcfa60700 Mon Sep 17 00:00:00 2001 From: rkebichi <54912798+rkebichi@users.noreply.github.com> Date: Thu, 5 Sep 2019 16:17:02 -0400 Subject: [PATCH 155/691] Update roctx.cpp --- src/roctx/roctx.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/roctx/roctx.cpp b/src/roctx/roctx.cpp index 78af443ffe..c113fde6b1 100644 --- a/src/roctx/roctx.cpp +++ b/src/roctx/roctx.cpp @@ -125,7 +125,7 @@ PUBLIC_API int roctxRangePushA(const char* message) { if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_ROCTX, ROCTX_API_ID_roctxRangePushA, &api_data, api_callback_arg); message_stack.push(strdup(message)); API_METHOD_CATCH(-1); - return 0; + return message_stack.size(); } PUBLIC_API int roctxRangePop() { @@ -141,7 +141,7 @@ PUBLIC_API int roctxRangePop() { message_stack.pop(); } API_METHOD_CATCH(-1) - return 0; + return message_stack.size(); } } // extern "C" From ad4214f4d21d4c3f788336da9310c1f28edefafb Mon Sep 17 00:00:00 2001 From: Evgeny Date: Thu, 5 Sep 2019 20:19:06 -0500 Subject: [PATCH 156/691] cmake for roctx test --- test/MatrixTranspose_test/Makefile | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/test/MatrixTranspose_test/Makefile b/test/MatrixTranspose_test/Makefile index 35f4d3d419..06aec81b84 100644 --- a/test/MatrixTranspose_test/Makefile +++ b/test/MatrixTranspose_test/Makefile @@ -1,7 +1,6 @@ ROOT_PATH = ../.. LIB_PATH = $(ROOT_PATH)/build -LIB_NAME = roctracer64 -ROC_LIBS = -L$(LIB_PATH) -l$(LIB_NAME) +ROC_LIBS = -L$(LIB_PATH) -lroctracer64 -lroctx64 EXECUTABLE = ./MatrixTranspose SOURCES = MatrixTranspose.cpp From 3aad90a32073f0b456c089d9d51a644817310f56 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Thu, 5 Sep 2019 20:20:38 -0500 Subject: [PATCH 157/691] setting hip backend library by env HIP_BACKEND_LIB for VDI support --- src/core/loader.h | 1 + src/core/roctracer.cpp | 5 ++++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/core/loader.h b/src/core/loader.h index bf3530c2ab..dfddb11a20 100644 --- a/src/core/loader.h +++ b/src/core/loader.h @@ -42,6 +42,7 @@ class BaseLoader : public T { } static loader_t* GetRef() { return instance_; } + static void SetLibName(const char *name) { lib_name_ = name; } private: BaseLoader(bool preload) { diff --git a/src/core/roctracer.cpp b/src/core/roctracer.cpp index 7c38dcc3b3..8fd429448b 100644 --- a/src/core/roctracer.cpp +++ b/src/core/roctracer.cpp @@ -1048,8 +1048,11 @@ PUBLIC_API roctracer_status_t roctracer_set_properties( break; } case ACTIVITY_DOMAIN_HCC_OPS: - case ACTIVITY_DOMAIN_HIP_API: + case ACTIVITY_DOMAIN_HIP_API: { + const char* hip_backend_lib_name = getenv("HIP_BACKEND_LIB"); + if (hip_backend_lib_name != NULL) roctracer::HccLoader::Instance().SetLibName(hip_backend_lib_name); mark_api_callback_ptr = reinterpret_cast(properties); + } default: EXC_RAISING(ROCTRACER_STATUS_BAD_DOMAIN, "invalid domain ID(" << domain << ")"); } From 5b444aaef399c5695a8f345907d31e947370ee3a Mon Sep 17 00:00:00 2001 From: rkebichi <54912798+rkebichi@users.noreply.github.com> Date: Fri, 6 Sep 2019 10:45:25 -0400 Subject: [PATCH 158/691] Update roctx.cpp --- src/roctx/roctx.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/roctx/roctx.cpp b/src/roctx/roctx.cpp index c113fde6b1..33618bbabc 100644 --- a/src/roctx/roctx.cpp +++ b/src/roctx/roctx.cpp @@ -125,7 +125,7 @@ PUBLIC_API int roctxRangePushA(const char* message) { if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_ROCTX, ROCTX_API_ID_roctxRangePushA, &api_data, api_callback_arg); message_stack.push(strdup(message)); API_METHOD_CATCH(-1); - return message_stack.size(); + return message_stack.size()-1; } PUBLIC_API int roctxRangePop() { @@ -141,7 +141,7 @@ PUBLIC_API int roctxRangePop() { message_stack.pop(); } API_METHOD_CATCH(-1) - return message_stack.size(); + return message_stack.size()-1; } } // extern "C" From c15059cb2bd8df20a6e584148c6b1f67fa5d248f Mon Sep 17 00:00:00 2001 From: rkebichi <54912798+rkebichi@users.noreply.github.com> Date: Fri, 6 Sep 2019 10:56:25 -0400 Subject: [PATCH 159/691] Update roctx.cpp --- src/roctx/roctx.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/roctx/roctx.cpp b/src/roctx/roctx.cpp index 33618bbabc..907065484c 100644 --- a/src/roctx/roctx.cpp +++ b/src/roctx/roctx.cpp @@ -141,7 +141,7 @@ PUBLIC_API int roctxRangePop() { message_stack.pop(); } API_METHOD_CATCH(-1) - return message_stack.size()-1; + return message_stack.size(); } } // extern "C" From 7b779f840957a7731b1ab26a8fa85d93370ffea7 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Fri, 13 Sep 2019 15:58:40 -0500 Subject: [PATCH 160/691] mark and range push aliases --- inc/roctx.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/inc/roctx.h b/inc/roctx.h index fd1686edcf..55baa4c0ae 100644 --- a/inc/roctx.h +++ b/inc/roctx.h @@ -56,6 +56,7 @@ const char* roctracer_error_string(); // A marker created by given ASCII massage void roctxMarkA(const char* message); +void roctxMark(const char* message) { return roctxMarkA(message); } //////////////////////////////////////////////////////////////////////////////// // Ranges annotating API @@ -63,6 +64,7 @@ void roctxMarkA(const char* message); // Returns the 0 based level of a nested range being started by given message associated to this range. // A negative value is returned on the error. int roctxRangePushA(const char* message); +int roctxRangePush(const char* message) { return roctxRangePushA(message); } // Marks the end of a nested range. // A negative value is returned on the error. From 9e2f37bf777ca90b6a5758e845083522d4c11d27 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Mon, 16 Sep 2019 11:19:04 -0500 Subject: [PATCH 161/691] fixing overloaded functions as macro --- inc/roctx.h | 4 ++-- test/MatrixTranspose_test/MatrixTranspose.cpp | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/inc/roctx.h b/inc/roctx.h index 55baa4c0ae..9831c4bdee 100644 --- a/inc/roctx.h +++ b/inc/roctx.h @@ -56,7 +56,7 @@ const char* roctracer_error_string(); // A marker created by given ASCII massage void roctxMarkA(const char* message); -void roctxMark(const char* message) { return roctxMarkA(message); } +#define roctxMark(message) roctxMarkA(message) //////////////////////////////////////////////////////////////////////////////// // Ranges annotating API @@ -64,7 +64,7 @@ void roctxMark(const char* message) { return roctxMarkA(message); } // Returns the 0 based level of a nested range being started by given message associated to this range. // A negative value is returned on the error. int roctxRangePushA(const char* message); -int roctxRangePush(const char* message) { return roctxRangePushA(message); } +#define roctxRangePush(message) roctxRangePushA(message) // Marks the end of a nested range. // A negative value is returned on the error. diff --git a/test/MatrixTranspose_test/MatrixTranspose.cpp b/test/MatrixTranspose_test/MatrixTranspose.cpp index 79a3845588..3a756125b2 100644 --- a/test/MatrixTranspose_test/MatrixTranspose.cpp +++ b/test/MatrixTranspose_test/MatrixTranspose.cpp @@ -111,21 +111,21 @@ int main() { // correlation reagion33 roctracer_activity_push_external_correlation_id(33); - roctxMarkA("before hipLaunchKernel"); - roctxRangePushA("hipLaunchKernel"); + roctxMark("before hipLaunchKernel"); + roctxRangePush("hipLaunchKernel"); // Lauching kernel from host hipLaunchKernel(matrixTranspose, dim3(WIDTH / THREADS_PER_BLOCK_X, WIDTH / THREADS_PER_BLOCK_Y), dim3(THREADS_PER_BLOCK_X, THREADS_PER_BLOCK_Y), 0, 0, gpuTransposeMatrix, gpuMatrix, WIDTH); - roctxMarkA("after hipLaunchKernel"); + roctxMark("after hipLaunchKernel"); // correlation reagion end roctracer_activity_pop_external_correlation_id(NULL); // Memory transfer from device to host - roctxRangePushA("hipMemcpy"); + roctxRangePush("hipMemcpy"); hipMemcpy(TransposeMatrix, gpuTransposeMatrix, NUM * sizeof(float), hipMemcpyDeviceToHost); From 3ba5d6b34c9b254e2aaa29c3de363be37bcaca4c Mon Sep 17 00:00:00 2001 From: Evgeny Date: Fri, 20 Sep 2019 12:43:12 -0500 Subject: [PATCH 162/691] fixing tracing api name --- test/tool/tracer_tool.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/tool/tracer_tool.cpp b/test/tool/tracer_tool.cpp index f0ce7af6d9..0851e98130 100644 --- a/test/tool/tracer_tool.cpp +++ b/test/tool/tracer_tool.cpp @@ -240,7 +240,7 @@ void hip_api_flush_cb(hip_api_trace_entry_t* entry) { const timestamp_t end_timestamp = entry->end; std::ostringstream oss; \ - const char* str = (domain == ACTIVITY_DOMAIN_EXT_API) ? roctracer_op_string(domain, cid, 0) : strdup("MARK"); + const char* str = (domain != ACTIVITY_DOMAIN_EXT_API) ? roctracer_op_string(domain, cid, 0) : strdup("MARK"); oss << std::dec << begin_timestamp << ":" << end_timestamp << " " << entry->pid << ":" << entry->tid << " " << str; From a7c0e807013694d469428f48a5188651e234c7f9 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Mon, 23 Sep 2019 09:54:54 -0500 Subject: [PATCH 163/691] hip test update --- test/MatrixTranspose_test/Makefile | 25 ++- test/MatrixTranspose_test/MatrixTranspose.cpp | 157 +++++++++--------- test/MatrixTranspose_test/Readme.md | 57 +++---- 3 files changed, 123 insertions(+), 116 deletions(-) diff --git a/test/MatrixTranspose_test/Makefile b/test/MatrixTranspose_test/Makefile index 06aec81b84..5a780799c6 100644 --- a/test/MatrixTranspose_test/Makefile +++ b/test/MatrixTranspose_test/Makefile @@ -2,31 +2,38 @@ ROOT_PATH = ../.. LIB_PATH = $(ROOT_PATH)/build ROC_LIBS = -L$(LIB_PATH) -lroctracer64 -lroctx64 -EXECUTABLE = ./MatrixTranspose -SOURCES = MatrixTranspose.cpp -OBJECTS = $(SOURCES:.cpp=.o) - ITERATIONS ?= 100 HCC_HOME ?= /opt/rocm/hcc HIP_PATH ?= /opt/rocm/hip -HIPCC = $(HIP_PATH)/bin/hipcc +HIPCC=$(HIP_PATH)/bin/hipcc CXX = $(HIPCC) CXXFLAGS = -g -I$(ROOT_PATH) -I$(ROOT_PATH)/inc -DLOCAL_BUILD=1 -DITERATIONS=$(ITERATIONS) +TARGET=hcc + +SOURCES = MatrixTranspose.cpp +OBJECTS = $(SOURCES:.cpp=.o) + +EXECUTABLE=./MatrixTranspose + export LD_LIBRARY_PATH=$(LIB_PATH) -all: clean $(EXECUTABLE) +.PHONY: test + + +all: $(EXECUTABLE) test + $(EXECUTABLE): $(OBJECTS) - $(HIPCC) $(OBJECTS) -o $@ $(HCC_LIBS) $(ROC_LIBS) + $(HIPCC) $(OBJECTS) -o $@ $(ROC_LIBS) test: $(EXECUTABLE) - LD_PRELOAD=$(HCC_HOME)/lib/libmcwamp_hsa.so $(EXECUTABLE) + $(EXECUTABLE) clean: rm -f $(EXECUTABLE) rm -f $(OBJECTS) + rm -f $(HIP_PATH)/src/*.o -.PHONY: all test clean diff --git a/test/MatrixTranspose_test/MatrixTranspose.cpp b/test/MatrixTranspose_test/MatrixTranspose.cpp index 3a756125b2..7ca24d0f0b 100644 --- a/test/MatrixTranspose_test/MatrixTranspose.cpp +++ b/test/MatrixTranspose_test/MatrixTranspose.cpp @@ -1,5 +1,5 @@ /* -Copyright (c) 2015-2016 Advanced Micro Devices, Inc. All rights reserved. +Copyright (c) 2015-present Advanced Micro Devices, Inc. All rights reserved. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -44,8 +44,7 @@ THE SOFTWARE. #define THREADS_PER_BLOCK_Z 1 // Device (Kernel) function, it must be void -// hipLaunchParm provides the execution configuration -__global__ void matrixTranspose(hipLaunchParm lp, float* out, float* in, const int width) { +__global__ void matrixTranspose(float* out, float* in, const int width) { int x = hipBlockDim_x * hipBlockIdx_x + hipThreadIdx_x; int y = hipBlockDim_y * hipBlockIdx_y + hipThreadIdx_y; @@ -85,88 +84,88 @@ int main() { init_tracing(); while (iterations-- > 0) { - start_tracing(); + start_tracing(); - Matrix = (float*)malloc(NUM * sizeof(float)); - TransposeMatrix = (float*)malloc(NUM * sizeof(float)); - cpuTransposeMatrix = (float*)malloc(NUM * sizeof(float)); - - // initialize the input data - for (i = 0; i < NUM; i++) { - Matrix[i] = (float)i * 10.0f; + Matrix = (float*)malloc(NUM * sizeof(float)); + TransposeMatrix = (float*)malloc(NUM * sizeof(float)); + cpuTransposeMatrix = (float*)malloc(NUM * sizeof(float)); + + // initialize the input data + for (i = 0; i < NUM; i++) { + Matrix[i] = (float)i * 10.0f; + } + + // allocate the memory on the device side + hipMalloc((void**)&gpuMatrix, NUM * sizeof(float)); + hipMalloc((void**)&gpuTransposeMatrix, NUM * sizeof(float)); + + // correlation reagion32 + roctracer_activity_push_external_correlation_id(31); + // correlation reagion32 + roctracer_activity_push_external_correlation_id(32); + + // Memory transfer from host to device + hipMemcpy(gpuMatrix, Matrix, NUM * sizeof(float), hipMemcpyHostToDevice); + + // correlation reagion33 + roctracer_activity_push_external_correlation_id(33); + + roctxMark("before hipLaunchKernel"); + roctxRangePush("hipLaunchKernel"); + + // Lauching kernel from host + hipLaunchKernelGGL(matrixTranspose, dim3(WIDTH / THREADS_PER_BLOCK_X, WIDTH / THREADS_PER_BLOCK_Y), + dim3(THREADS_PER_BLOCK_X, THREADS_PER_BLOCK_Y), 0, 0, gpuTransposeMatrix, + gpuMatrix, WIDTH); + + roctxMark("after hipLaunchKernel"); + + // correlation reagion end + roctracer_activity_pop_external_correlation_id(NULL); + + // Memory transfer from device to host + roctxRangePush("hipMemcpy"); + + hipMemcpy(TransposeMatrix, gpuTransposeMatrix, NUM * sizeof(float), hipMemcpyDeviceToHost); + + roctxRangePop(); // for "hipMemcpy" + roctxRangePop(); // for "hipLaunchKernel" + + // correlation reagion end + roctracer_activity_pop_external_correlation_id(); + + // CPU MatrixTranspose computation + matrixTransposeCPUReference(cpuTransposeMatrix, Matrix, WIDTH); + + // verify the results + errors = 0; + double eps = 1.0E-6; + for (i = 0; i < NUM; i++) { + if (std::abs(TransposeMatrix[i] - cpuTransposeMatrix[i]) > eps) { + errors++; } - - // allocate the memory on the device side - hipMalloc((void**)&gpuMatrix, NUM * sizeof(float)); - hipMalloc((void**)&gpuTransposeMatrix, NUM * sizeof(float)); - - // correlation reagion32 - roctracer_activity_push_external_correlation_id(31); - // correlation reagion32 - roctracer_activity_push_external_correlation_id(32); + } + if (errors != 0) { + printf("FAILED: %d errors\n", errors); + } else { + printf("PASSED!\n"); + } - // Memory transfer from host to device - hipMemcpy(gpuMatrix, Matrix, NUM * sizeof(float), hipMemcpyHostToDevice); + // free the resources on device side + hipFree(gpuMatrix); + hipFree(gpuTransposeMatrix); - // correlation reagion33 - roctracer_activity_push_external_correlation_id(33); + // correlation reagion end + roctracer_activity_pop_external_correlation_id(); + // correlation reagion end + roctracer_activity_pop_external_correlation_id(); - roctxMark("before hipLaunchKernel"); - roctxRangePush("hipLaunchKernel"); + // free the resources on host side + free(Matrix); + free(TransposeMatrix); + free(cpuTransposeMatrix); - // Lauching kernel from host - hipLaunchKernel(matrixTranspose, dim3(WIDTH / THREADS_PER_BLOCK_X, WIDTH / THREADS_PER_BLOCK_Y), - dim3(THREADS_PER_BLOCK_X, THREADS_PER_BLOCK_Y), 0, 0, gpuTransposeMatrix, - gpuMatrix, WIDTH); - - roctxMark("after hipLaunchKernel"); - - // correlation reagion end - roctracer_activity_pop_external_correlation_id(NULL); - - // Memory transfer from device to host - roctxRangePush("hipMemcpy"); - - hipMemcpy(TransposeMatrix, gpuTransposeMatrix, NUM * sizeof(float), hipMemcpyDeviceToHost); - - roctxRangePop(); // for "hipMemcpy" - roctxRangePop(); // for "hipLaunchKernel" - - // correlation reagion end - roctracer_activity_pop_external_correlation_id(); - - // CPU MatrixTranspose computation - matrixTransposeCPUReference(cpuTransposeMatrix, Matrix, WIDTH); - - // verify the results - errors = 0; - double eps = 1.0E-6; - for (i = 0; i < NUM; i++) { - if (std::abs(TransposeMatrix[i] - cpuTransposeMatrix[i]) > eps) { - errors++; - } - } - if (errors != 0) { - printf("FAILED: %d errors\n", errors); - } else { - printf("PASSED!\n"); - } - - // free the resources on device side - hipFree(gpuMatrix); - hipFree(gpuTransposeMatrix); - - // correlation reagion end - roctracer_activity_pop_external_correlation_id(); - // correlation reagion end - roctracer_activity_pop_external_correlation_id(); - - // free the resources on host side - free(Matrix); - free(TransposeMatrix); - free(cpuTransposeMatrix); - - stop_tracing(); + stop_tracing(); } return errors; diff --git a/test/MatrixTranspose_test/Readme.md b/test/MatrixTranspose_test/Readme.md index ab5dbdc958..8f19613f87 100644 --- a/test/MatrixTranspose_test/Readme.md +++ b/test/MatrixTranspose_test/Readme.md @@ -7,31 +7,32 @@ This tutorial shows how to get write simple HIP application. We will write the s HIP is a C++ runtime API and kernel language that allows developers to create portable applications that can run on AMD and other GPU’s. Our goal was to rise above the lowest-common-denominator paths and deliver a solution that allows you, the developer, to use essential hardware features and maximize your application’s performance on GPU hardware. ## Requirement: -For hardware requirement and software installation [Installation](https://github.com/ROCm-Developer-Tools/HIP/INSTALL.md) +For hardware requirement and software installation [Installation](https://github.com/ROCm-Developer-Tools/HIP/INSTALL.md) ## prerequiste knowledge: Programmers familiar with CUDA, OpenCL will be able to quickly learn and start coding with the HIP API. In case you are not, don't worry. You choose to start with the best one. We'll be explaining everything assuming you are completely new to gpgpu programming. -## Simple Matrix Transpose +## Simple Matrix Transpose Here is simple example showing how to write your first program in HIP. -In order to use the HIP framework, we need to add the "hip_runtime.h" header file. SInce its c++ api you can add any header file you have been using earlier while writing your c/c++ program. For gpgpu programming, we have host(microprocessor) and the device(gpu). +In order to use the HIP framework, we need to add the "hip_runtime.h" header file. SInce its c++ api you can add any header file you have been using earlier while writing your c/c++ program. For gpgpu programming, we have host(microprocessor) and the device(gpu). ## Device-side code We will work on device side code first, Here is simple example showing a snippet of HIP device side code: -`__global__ void matrixTranspose(hipLaunchParm lp, ` -` float *out, ` -` float *in, ` -` const int width, ` -` const int height) ` -`{ ` -` int x = hipBlockDim_x * hipBlockIdx_x + hipThreadIdx_x; ` -` int y = hipBlockDim_y * hipBlockIdx_y + hipThreadIdx_y; ` -` ` -` out[y * width + x] = in[x * height + y]; ` -`} ` +``` +__global__ void matrixTranspose(float *out, + float *in, + const int width, + const int height) +{ + int x = hipBlockDim_x * hipBlockIdx_x + hipThreadIdx_x; + int y = hipBlockDim_y * hipBlockIdx_y + hipThreadIdx_y; + + out[y * width + x] = in[x * height + y]; +} +``` `__global__` keyword is the Function-Type Qualifiers, it is used with functions that are executed on device and are called/launched from the hosts. other function-type qualifiers are: @@ -41,13 +42,11 @@ other function-type qualifiers are: `__host__` can combine with `__device__`, in which case the function compiles for both the host and device. These functions cannot use the HIP grid coordinate functions (for example, "hipThreadIdx_x", will talk about it latter). A possible workaround is to pass the necessary coordinate info as an argument to the function. `__host__` cannot combine with `__global__`. -`__global__` functions are often referred to as *kernels, and calling one is termed *launching the kernel*. +`__global__` functions are often referred to as *kernels*, and calling one is termed *launching the kernel*. -Next keyword is `void`. HIP `__global__` functions must have a `void` return type, and the first parameter to a HIP `__global__` function must have the type `hipLaunchParm`, which is for execution configuration. Global functions require the caller to specify an "execution configuration" that includes the grid and block dimensions. The execution configuration can also include other information for the launch, such as the amount of additional shared memory to allocate and the stream where the kernel should execute. +Next keyword is `void`. HIP `__global__` functions must have a `void` return type. Global functions require the caller to specify an "execution configuration" that includes the grid and block dimensions. The execution configuration can also include other information for the launch, such as the amount of additional shared memory to allocate and the stream where the kernel should execute. -After `hipLaunchParm`, Kernel arguments follows next(i.e., `float *out, float *in, const int width, const int height`). - -The kernel function begins with +The kernel function begins with ` int x = hipBlockDim_x * hipBlockIdx_x + hipThreadIdx_x;` ` int y = hipBlockDim_y * hipBlockIdx_y + hipThreadIdx_y;` here the keyword hipBlockIdx_x, hipBlockIdx_y and hipBlockIdx_z(not used here) are the built-in functions to identify the threads in a block. The keyword hipBlockDim_x, hipBlockDim_y and hipBlockDim_z(not used here) are to identify the dimensions of the block. @@ -63,18 +62,20 @@ We allocated memory to the Matrix on host side by using malloc and initiallized here the first parameter is the destination pointer, second is the source pointer, third is the size of memory copy and the last specify the direction on memory copy(which is in this case froom host to device). While in order to transfer memory from device to host, use `hipMemcpyDeviceToHost` and for device to device memory copy use `hipMemcpyDeviceToDevice`. Now, we'll see how to launch the kernel. -` hipLaunchKernel(matrixTranspose, ` -` dim3(WIDTH/THREADS_PER_BLOCK_X, HEIGHT/THREADS_PER_BLOCK_Y), ` -` dim3(THREADS_PER_BLOCK_X, THREADS_PER_BLOCK_Y), ` -` 0, 0, ` -` gpuTransposeMatrix , gpuMatrix, WIDTH ,HEIGHT); ` +``` + hipLaunchKernelGGL(matrixTranspose, + dim3(WIDTH/THREADS_PER_BLOCK_X, HEIGHT/THREADS_PER_BLOCK_Y), + dim3(THREADS_PER_BLOCK_X, THREADS_PER_BLOCK_Y), + 0, 0, + gpuTransposeMatrix , gpuMatrix, WIDTH ,HEIGHT); +``` HIP introduces a standard C++ calling convention to pass the execution configuration to the kernel (this convention replaces the `Cuda <<< >>>` syntax). In HIP, -- Kernels launch with the `"hipLaunchKernel"` function -- The first five parameters to hipLaunchKernel are the following: +- Kernels launch with the `"hipLaunchKernelGGL"` function +- The first five parameters to hipLaunchKernelGGL are the following: - **symbol kernelName**: the name of the kernel to launch. To support template kernels which contains "," use the HIP_KERNEL_NAME macro. In current application it's "matrixTranspose". - - **dim3 gridDim**: 3D-grid dimensions specifying the number of blocks to launch. In MatrixTranspose sample, it's "dim3(WIDTH/THREADS_PER_BLOCK_X, HEIGHT/THREADS_PER_BLOCK_Y)". - - **dim3 blockDim**: 3D-block dimensions specifying the number of threads in each block.In MatrixTranspose sample, it's "dim3(THREADS_PER_BLOCK_X, THREADS_PER_BLOCK_Y)". + - **dim3 gridDim**: 3D-grid dimensions specifying the number of blocks to launch. In MatrixTranspose sample, it's "dim3(WIDTH/THREADS_PER_BLOCK_X, HEIGHT/THREADS_PER_BLOCK_Y)". + - **dim3 blockDim**: 3D-block dimensions specifying the number of threads in each block.In MatrixTranspose sample, it's "dim3(THREADS_PER_BLOCK_X, THREADS_PER_BLOCK_Y)". - **size_t dynamicShared**: amount of additional shared memory to allocate when launching the kernel. In MatrixTranspose sample, it's '0'. - **hipStream_t**: stream where the kernel should execute. A value of 0 corresponds to the NULL stream.In MatrixTranspose sample, it's '0'. - Kernel arguments follow these first five parameters. Here, these are "gpuTransposeMatrix , gpuMatrix, WIDTH ,HEIGHT". From 389496265e1b765634d881ad5c266784d7bbfd65 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Tue, 24 Sep 2019 20:35:58 -0500 Subject: [PATCH 164/691] roctacer mark fix --- src/core/roctracer.cpp | 2 +- test/MatrixTranspose/Makefile | 13 ++++++++----- test/MatrixTranspose/MatrixTranspose.cpp | 3 +++ test/MatrixTranspose_test/Makefile | 16 ++++++++-------- test/tool/tracer_tool.cpp | 2 +- 5 files changed, 21 insertions(+), 15 deletions(-) diff --git a/src/core/roctracer.cpp b/src/core/roctracer.cpp index 8fd429448b..5250dd8622 100644 --- a/src/core/roctracer.cpp +++ b/src/core/roctracer.cpp @@ -1003,7 +1003,7 @@ PUBLIC_API roctracer_status_t roctracer_activity_pop_external_correlation_id(act // Mark API PUBLIC_API void roctracer_mark(const char* str) { if (mark_api_callback_ptr) { - mark_api_callback_ptr(ACTIVITY_DOMAIN_NUMBER, ACTIVITY_EXT_OP_MARK, str, NULL); + mark_api_callback_ptr(ACTIVITY_DOMAIN_EXT_API, ACTIVITY_EXT_OP_MARK, str, NULL); roctracer::GlobalCounter::Increment(); // account for user-defined markers when tracking correlation id } } diff --git a/test/MatrixTranspose/Makefile b/test/MatrixTranspose/Makefile index d9fa1af8a8..daa48b2561 100644 --- a/test/MatrixTranspose/Makefile +++ b/test/MatrixTranspose/Makefile @@ -1,3 +1,8 @@ +ROOT_PATH = ../.. +LIB_PATH = $(ROOT_PATH)/build +ROC_LIBS = -L$(LIB_PATH) -lroctracer64 +export LD_LIBRARY_PATH=$(LIB_PATH) + HIP_PATH?= $(wildcard /opt/rocm/hip) ifeq (,$(HIP_PATH)) HIP_PATH=../../.. @@ -15,15 +20,13 @@ EXECUTABLE=./MatrixTranspose .PHONY: test -all: clean $(EXECUTABLE) test +all: clean $(EXECUTABLE) -CXXFLAGS =-g +CXXFLAGS =-g -I$(ROOT_PATH) -I$(ROOT_PATH)/inc -DLOCAL_BUILD=1 CXX=$(HIPCC) - $(EXECUTABLE): $(OBJECTS) - $(HIPCC) $(OBJECTS) -o $@ - + $(HIPCC) $(OBJECTS) -o $@ $(ROC_LIBS) test: $(EXECUTABLE) $(EXECUTABLE) diff --git a/test/MatrixTranspose/MatrixTranspose.cpp b/test/MatrixTranspose/MatrixTranspose.cpp index 79fd72bcf9..240723cfe4 100644 --- a/test/MatrixTranspose/MatrixTranspose.cpp +++ b/test/MatrixTranspose/MatrixTranspose.cpp @@ -24,6 +24,7 @@ THE SOFTWARE. // hip header file #include "hip/hip_runtime.h" +#include "roctracer_ext.h" #define WIDTH 1024 @@ -84,10 +85,12 @@ int main() { // Memory transfer from host to device hipMemcpy(gpuMatrix, Matrix, NUM * sizeof(float), hipMemcpyHostToDevice); + roctracer_mark("before HIP LaunchKernel"); // Lauching kernel from host hipLaunchKernelGGL(matrixTranspose, dim3(WIDTH / THREADS_PER_BLOCK_X, WIDTH / THREADS_PER_BLOCK_Y), dim3(THREADS_PER_BLOCK_X, THREADS_PER_BLOCK_Y), 0, 0, gpuTransposeMatrix, gpuMatrix, WIDTH); + roctracer_mark("after HIP LaunchKernel"); // Memory transfer from device to host hipMemcpy(TransposeMatrix, gpuTransposeMatrix, NUM * sizeof(float), hipMemcpyDeviceToHost); diff --git a/test/MatrixTranspose_test/Makefile b/test/MatrixTranspose_test/Makefile index 5a780799c6..e74d66b0d1 100644 --- a/test/MatrixTranspose_test/Makefile +++ b/test/MatrixTranspose_test/Makefile @@ -1,15 +1,15 @@ ROOT_PATH = ../.. LIB_PATH = $(ROOT_PATH)/build ROC_LIBS = -L$(LIB_PATH) -lroctracer64 -lroctx64 - +export LD_LIBRARY_PATH=$(LIB_PATH) ITERATIONS ?= 100 -HCC_HOME ?= /opt/rocm/hcc -HIP_PATH ?= /opt/rocm/hip +HIP_PATH?= $(wildcard /opt/rocm/hip) +ifeq (,$(HIP_PATH)) + HIP_PATH=../../.. +endif HIPCC=$(HIP_PATH)/bin/hipcc -CXX = $(HIPCC) -CXXFLAGS = -g -I$(ROOT_PATH) -I$(ROOT_PATH)/inc -DLOCAL_BUILD=1 -DITERATIONS=$(ITERATIONS) TARGET=hcc @@ -18,13 +18,13 @@ OBJECTS = $(SOURCES:.cpp=.o) EXECUTABLE=./MatrixTranspose -export LD_LIBRARY_PATH=$(LIB_PATH) - .PHONY: test -all: $(EXECUTABLE) test +all: clean $(EXECUTABLE) +CXXFLAGS =-g -I$(ROOT_PATH) -I$(ROOT_PATH)/inc -DLOCAL_BUILD=1 -DITERATIONS=$(ITERATIONS) +CXX=$(HIPCC) $(EXECUTABLE): $(OBJECTS) $(HIPCC) $(OBJECTS) -o $@ $(ROC_LIBS) diff --git a/test/tool/tracer_tool.cpp b/test/tool/tracer_tool.cpp index 0851e98130..095397aa77 100644 --- a/test/tool/tracer_tool.cpp +++ b/test/tool/tracer_tool.cpp @@ -277,7 +277,7 @@ void hip_api_flush_cb(hip_api_trace_entry_t* entry) { fprintf(hip_api_file_handle, "%s()\n", oss.str().c_str()); } } else { - fprintf(hip_api_file_handle, "%s(name(%s))\n", oss.str().c_str(), entry->name); + fprintf(hip_api_file_handle, "%s(%s)\n", oss.str().c_str(), entry->name); } fflush(hip_api_file_handle); From 9b620591aa28e76f1411b59baca115d7839c09fb Mon Sep 17 00:00:00 2001 From: Evgeny Date: Fri, 27 Sep 2019 16:30:15 -0500 Subject: [PATCH 165/691] kfd wrapper generating fix --- src/CMakeLists.txt | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 2418ba53a8..29571891f8 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -21,11 +21,7 @@ set ( KFD_LIB_SRC add_library ( ${KFD_LIB} SHARED ${KFD_LIB_SRC} ) target_include_directories ( ${KFD_LIB} PRIVATE ${LIB_DIR} ${ROOT_DIR} ${ROOT_DIR}/inc ${HSA_RUNTIME_INC_PATH} ${HSA_RUNTIME_HSA_INC_PATH} ) target_link_libraries( ${KFD_LIB} PRIVATE c stdc++ ) -add_custom_command ( - OUTPUT "${ROOT_DIR}/src/kfd/kfd_wrapper.cpp" - COMMAND sh -xc "${ROOT_DIR}/script/kfdap.py ${ROOT_DIR} ${HSA_KMT_INC_PATH}" - DEPENDS ${ROOT_DIR}/script/kfdap.py -) +execute_process ( COMMAND sh -xc "${ROOT_DIR}/script/kfdap.py ${ROOT_DIR} ${HSA_KMT_INC_PATH}" ) set ( ROCTX_LIB "roctx64" ) set ( ROCTX_LIB_SRC From 315a547cc43ab234e5a6ab854aae2924c809068b Mon Sep 17 00:00:00 2001 From: Rachida Kebichi Date: Fri, 27 Sep 2019 18:32:54 -0400 Subject: [PATCH 166/691] Add KFD support. --- inc/ext/prof_protocol.h | 5 +- inc/roctracer_kfd.h | 498 ++++++++++++++++++++++++++++++++++ script/kfdap.py | 551 ++++++++++++++++++++++++++++++++++++-- src/CMakeLists.txt | 4 +- src/core/roctracer.cpp | 21 +- test/CMakeLists.txt | 2 +- test/run.sh | 2 +- test/tool/tracer_tool.cpp | 57 +++- 8 files changed, 1113 insertions(+), 27 deletions(-) create mode 100644 inc/roctracer_kfd.h diff --git a/inc/ext/prof_protocol.h b/inc/ext/prof_protocol.h index ff195882ea..d6e08ca0f3 100644 --- a/inc/ext/prof_protocol.h +++ b/inc/ext/prof_protocol.h @@ -31,8 +31,9 @@ typedef enum { ACTIVITY_DOMAIN_HSA_OPS = 1, // HSA async activity domain ACTIVITY_DOMAIN_HCC_OPS = 2, // HCC async activity domain ACTIVITY_DOMAIN_HIP_API = 3, // HIP API domain - ACTIVITY_DOMAIN_EXT_API = 4, // External ID domain - ACTIVITY_DOMAIN_ROCTX = 5, // ROCTX domain + ACTIVITY_DOMAIN_KFD_API = 4, // KFD API domain + ACTIVITY_DOMAIN_EXT_API = 5, // External ID domain + ACTIVITY_DOMAIN_ROCTX = 6, // ROCTX domain ACTIVITY_DOMAIN_NUMBER } activity_domain_t; diff --git a/inc/roctracer_kfd.h b/inc/roctracer_kfd.h new file mode 100644 index 0000000000..34229ce96d --- /dev/null +++ b/inc/roctracer_kfd.h @@ -0,0 +1,498 @@ +/* +Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +*/ + +#ifndef INC_ROCTRACER_KFD_H_ +#define INC_ROCTRACER_KFD_H_ +#include +#include + +#include + +#include "roctracer.h" +#include "hsakmt.h" + +namespace roctracer { +namespace kfd_support { +template +struct output_streamer { + inline static std::ostream& put(std::ostream& out, const T& v) { return out; } +}; +template<> +struct output_streamer { + inline static std::ostream& put(std::ostream& out, bool v) { out << std::hex << ""; return out; } +}; +template<> +struct output_streamer { + inline static std::ostream& put(std::ostream& out, uint8_t v) { out << std::hex << ""; return out; } +}; +template<> +struct output_streamer { + inline static std::ostream& put(std::ostream& out, uint16_t v) { out << std::hex << ""; return out; } +}; +template<> +struct output_streamer { + inline static std::ostream& put(std::ostream& out, uint32_t v) { out << std::hex << ""; return out; } +}; +template<> +struct output_streamer { + inline static std::ostream& put(std::ostream& out, uint64_t v) { out << std::hex << ""; return out; } +}; + +template<> +struct output_streamer { + inline static std::ostream& put(std::ostream& out, bool* v) { out << std::hex << ""; return out; } +}; +template<> +struct output_streamer { + inline static std::ostream& put(std::ostream& out, uint8_t* v) { out << std::hex << ""; return out; } +}; +template<> +struct output_streamer { + inline static std::ostream& put(std::ostream& out, uint16_t* v) { out << std::hex << ""; return out; } +}; +template<> +struct output_streamer { + inline static std::ostream& put(std::ostream& out, uint32_t* v) { out << std::hex << ""; return out; } +}; +template<> +struct output_streamer { + inline static std::ostream& put(std::ostream& out, uint64_t* v) { out << std::hex << ""; return out; } +}; + +template<> +struct output_streamer { + inline static std::ostream& put(std::ostream& out, hsa_queue_t* v) { out << ""; return out; } +}; +template<> +struct output_streamer { + inline static std::ostream& put(std::ostream& out, hsa_queue_t** v) { out << ""; return out; } +}; +// begin ostream ops for KFD +template<> +struct output_streamer { + inline static std::ostream& put(std::ostream& out, HsaVersionInfo& v) +{ + roctracer::kfd_support::output_streamer::put(out,v.KernelInterfaceMajorVersion); + roctracer::kfd_support::output_streamer::put(out,v.KernelInterfaceMinorVersion); + return out; +} +}; +template<> +struct output_streamer { + inline static std::ostream& put(std::ostream& out, HsaSystemProperties& v) { + roctracer::kfd_support::output_streamer::put(out,v.NumNodes); + roctracer::kfd_support::output_streamer::put(out,v.PlatformOem); + roctracer::kfd_support::output_streamer::put(out,v.PlatformId); + roctracer::kfd_support::output_streamer::put(out,v.PlatformRev); + return out; +} +}; +template<> +struct output_streamer { + inline static std::ostream& put(std::ostream& out, HSA_CAPABILITY& v) +{ + roctracer::kfd_support::output_streamer::put(out,v.Value); + roctracer::kfd_support::output_streamer::put(out,v.ui32.HotPluggable); + roctracer::kfd_support::output_streamer::put(out,v.ui32.HSAMMUPresent); + roctracer::kfd_support::output_streamer::put(out,v.ui32.SharedWithGraphics); + roctracer::kfd_support::output_streamer::put(out,v.ui32.QueueSizePowerOfTwo); + roctracer::kfd_support::output_streamer::put(out,v.ui32.QueueSize32bit); + roctracer::kfd_support::output_streamer::put(out,v.ui32.QueueIdleEvent); + roctracer::kfd_support::output_streamer::put(out,v.ui32.VALimit); + roctracer::kfd_support::output_streamer::put(out,v.ui32.WatchPointsSupported); + roctracer::kfd_support::output_streamer::put(out,v.ui32.WatchPointsTotalBits); + roctracer::kfd_support::output_streamer::put(out,v.ui32.DoorbellType); + roctracer::kfd_support::output_streamer::put(out,v.ui32.Reserved); + return out; +} +}; +template<> +struct output_streamer { + inline static std::ostream& put(std::ostream& out, HsaNodeProperties& v) +{ + roctracer::kfd_support::output_streamer::put(out,v.NumCPUCores); + roctracer::kfd_support::output_streamer::put(out,v.NumFComputeCores); + roctracer::kfd_support::output_streamer::put(out,v.NumMemoryBanks); + roctracer::kfd_support::output_streamer::put(out,v.NumCaches); + roctracer::kfd_support::output_streamer::put(out,v.NumIOLinks); + roctracer::kfd_support::output_streamer::put(out,v.CComputeIdLo); + roctracer::kfd_support::output_streamer::put(out,v.FComputeIdLo); + roctracer::kfd_support::output_streamer::put(out,v.Capability); + roctracer::kfd_support::output_streamer::put(out,v.MaxWavesPerSIMD); + roctracer::kfd_support::output_streamer::put(out,v.LDSSizeInKB); + roctracer::kfd_support::output_streamer::put(out,v.GDSSizeInKB); + roctracer::kfd_support::output_streamer::put(out,v.WaveFrontSize); + roctracer::kfd_support::output_streamer::put(out,v.NumShaderBanks); + roctracer::kfd_support::output_streamer::put(out,v.NumArrays); + roctracer::kfd_support::output_streamer::put(out,v.NumCUPerArray); + roctracer::kfd_support::output_streamer::put(out,v.NumSIMDPerCU); + roctracer::kfd_support::output_streamer::put(out,v.MaxSlotsScratchCU); + roctracer::kfd_support::output_streamer::put(out,v.EngineId); + roctracer::kfd_support::output_streamer::put(out,v.VendorId); + roctracer::kfd_support::output_streamer::put(out,v.DeviceId); + roctracer::kfd_support::output_streamer::put(out,v.LocationId); + roctracer::kfd_support::output_streamer::put(out,v.LocalMemSize); + roctracer::kfd_support::output_streamer::put(out,v.MaxEngineClockMhzFCompute); + roctracer::kfd_support::output_streamer::put(out,v.MaxEngineClockMhzCCompute); + roctracer::kfd_support::output_streamer::put(out,v.MarketingName[HSA_PUBLIC_NAME_SIZE]); + return out; +} +}; +template<> +struct output_streamer { + inline static std::ostream& put(std::ostream& out, HSA_MEMORYPROPERTY& v) +{ + roctracer::kfd_support::output_streamer::put(out,v.MemoryProperty); + roctracer::kfd_support::output_streamer::put(out,v.ui32.HotPluggable); + roctracer::kfd_support::output_streamer::put(out,v.ui32.NonVolatile); + roctracer::kfd_support::output_streamer::put(out,v.ui32.Reserved); + return out; +} +}; +template<> +struct output_streamer { + inline static std::ostream& put(std::ostream& out, HsaMemoryProperties& v) +{ + roctracer::kfd_support::output_streamer::put(out,v.HeapType); + roctracer::kfd_support::output_streamer::put(out,v.SizeInBytes); + roctracer::kfd_support::output_streamer::put(out,v.ui32.SizeInBytesLow); + roctracer::kfd_support::output_streamer::put(out,v.ui32.SizeInBytesHigh); + roctracer::kfd_support::output_streamer::put(out,v.Flags); + roctracer::kfd_support::output_streamer::put(out,v.Width); + roctracer::kfd_support::output_streamer::put(out,v.MemoryClockMax); + roctracer::kfd_support::output_streamer::put(out,v.VirtualBaseAddress); + return out; +} +}; +template<> +struct output_streamer { + inline static std::ostream& put(std::ostream& out, HsaCacheType& v) +{ + roctracer::kfd_support::output_streamer::put(out,v.Value); + roctracer::kfd_support::output_streamer::put(out,v.ui32.Data); + roctracer::kfd_support::output_streamer::put(out,v.ui32.Instruction); + roctracer::kfd_support::output_streamer::put(out,v.ui32.CPU); + roctracer::kfd_support::output_streamer::put(out,v.ui32.HSACU); + roctracer::kfd_support::output_streamer::put(out,v.ui32.Reserved); + return out; +} +}; +template<> +struct output_streamer { + inline static std::ostream& put(std::ostream& out, HsaCacheProperties& v) +{ + roctracer::kfd_support::output_streamer::put(out,v.ProcessorIdLow); + roctracer::kfd_support::output_streamer::put(out,v.CacheLevel); + roctracer::kfd_support::output_streamer::put(out,v.CacheSize); + roctracer::kfd_support::output_streamer::put(out,v.CacheLineSize); + roctracer::kfd_support::output_streamer::put(out,v.CacheLinesPerTag); + roctracer::kfd_support::output_streamer::put(out,v.CacheAssociativity); + roctracer::kfd_support::output_streamer::put(out,v.CacheLatency); + roctracer::kfd_support::output_streamer::put(out,v.CacheType); + roctracer::kfd_support::output_streamer::put(out,v.SiblingMap[HSA_CPU_SIBLINGS]); + return out; +} +}; +template<> +struct output_streamer { + inline static std::ostream& put(std::ostream& out, HsaCComputeProperties& v) +{ + roctracer::kfd_support::output_streamer::put(out,v.SiblingMap[HSA_CPU_SIBLINGS]); + return out; +} +}; +template<> +struct output_streamer { + inline static std::ostream& put(std::ostream& out, HSA_LINKPROPERTY& v) +{ + roctracer::kfd_support::output_streamer::put(out,v.LinkProperty); + roctracer::kfd_support::output_streamer::put(out,v.ui32.Override); + roctracer::kfd_support::output_streamer::put(out,v.ui32.NonCoherent); + roctracer::kfd_support::output_streamer::put(out,v.ui32.NoAtomics32bit); + roctracer::kfd_support::output_streamer::put(out,v.ui32.NoAtomics64bit); + roctracer::kfd_support::output_streamer::put(out,v.ui32.Reserved); + return out; +} +}; +template<> +struct output_streamer { + inline static std::ostream& put(std::ostream& out, HsaIoLinkProperties& v) +{ + roctracer::kfd_support::output_streamer::put(out,v.IoLinkType); + roctracer::kfd_support::output_streamer::put(out,v.VersionMajor); + roctracer::kfd_support::output_streamer::put(out,v.VersionMinor); + roctracer::kfd_support::output_streamer::put(out,v.NodeFrom); + roctracer::kfd_support::output_streamer::put(out,v.NodeTo); + roctracer::kfd_support::output_streamer::put(out,v.Weight); + roctracer::kfd_support::output_streamer::put(out,v.MinimumLatency); + roctracer::kfd_support::output_streamer::put(out,v.MaximumLatency); + roctracer::kfd_support::output_streamer::put(out,v.MinimumBandwidth); + roctracer::kfd_support::output_streamer::put(out,v.MaximumBandwidth); + roctracer::kfd_support::output_streamer::put(out,v.RecTransferSize); + roctracer::kfd_support::output_streamer::put(out,v.Flags); + return out; +} +}; +template<> +struct output_streamer { + inline static std::ostream& put(std::ostream& out, HsaMemFlags& v) +{ + roctracer::kfd_support::output_streamer::put(out,v.ui32.NonPaged); + roctracer::kfd_support::output_streamer::put(out,v.ui32.CachePolicy); + roctracer::kfd_support::output_streamer::put(out,v.ui32.ReadOnly); + roctracer::kfd_support::output_streamer::put(out,v.ui32.PageSize); + roctracer::kfd_support::output_streamer::put(out,v.ui32.HostAccess); + roctracer::kfd_support::output_streamer::put(out,v.ui32.NoSubstitute); + roctracer::kfd_support::output_streamer::put(out,v.ui32.GDSMemory); + roctracer::kfd_support::output_streamer::put(out,v.ui32.Scratch); + roctracer::kfd_support::output_streamer::put(out,v.ui32.AtomicAccessFull); + roctracer::kfd_support::output_streamer::put(out,v.ui32.AtomicAccessPartial); + roctracer::kfd_support::output_streamer::put(out,v.ui32.ExecuteAccess); + roctracer::kfd_support::output_streamer::put(out,v.ui32.Reserved); + roctracer::kfd_support::output_streamer::put(out,v.Value); + return out; +} +}; +template<> +struct output_streamer { + inline static std::ostream& put(std::ostream& out, HsaQueueResource& v) +{ + roctracer::kfd_support::output_streamer::put(out,v.QueueId); + roctracer::kfd_support::output_streamer::put(out,*(v.Queue_DoorBell)); + roctracer::kfd_support::output_streamer::put(out,*(v.Queue_DoorBell_aql)); + roctracer::kfd_support::output_streamer::put(out,v.QueueDoorBell); + roctracer::kfd_support::output_streamer::put(out,*(v.Queue_write_ptr)); + roctracer::kfd_support::output_streamer::put(out,*(v.Queue_write_ptr_aql)); + roctracer::kfd_support::output_streamer::put(out,v.QueueWptrValue); + roctracer::kfd_support::output_streamer::put(out,*(v.Queue_read_ptr)); + roctracer::kfd_support::output_streamer::put(out,*(v.Queue_read_ptr_aql)); + roctracer::kfd_support::output_streamer::put(out,v.QueueRptrValue); + return out; +} +}; +template<> +struct output_streamer { + inline static std::ostream& put(std::ostream& out, HsaQueueReport& v) +{ + roctracer::kfd_support::output_streamer::put(out,v.VMID); + out << ""; + roctracer::kfd_support::output_streamer::put(out,v.QueueSize); + return out; +} +}; +template<> +struct output_streamer { + inline static std::ostream& put(std::ostream& out, HsaDbgWaveMsgAMDGen2& v) +{ + roctracer::kfd_support::output_streamer::put(out, v.Value); + roctracer::kfd_support::output_streamer::put(out, v.Reserved2); + return out; +} +}; +template<> +struct output_streamer { + inline static std::ostream& put(std::ostream& out, HsaDbgWaveMessageAMD& v) +{ + roctracer::kfd_support::output_streamer::put(out,v.WaveMsgInfoGen2); + return out; +} +}; +template<> +struct output_streamer { + inline static std::ostream& put(std::ostream& out, HsaDbgWaveMessage& v) +{ + out << ""; + roctracer::kfd_support::output_streamer::put(out,v.DbgWaveMsg); + return out; +} +}; +template<> +struct output_streamer { + inline static std::ostream& put(std::ostream& out, HsaSyncVar& v) +{ + out << ""; + roctracer::kfd_support::output_streamer::put(out,v.SyncVar.UserDataPtrValue); + roctracer::kfd_support::output_streamer::put(out,v.SyncVarSize); + return out; +} +}; +template<> +struct output_streamer { + inline static std::ostream& put(std::ostream& out, HsaNodeChange& v) +{ + roctracer::kfd_support::output_streamer::put(out,v.Flags); + return out; +} +}; +template<> +struct output_streamer { + inline static std::ostream& put(std::ostream& out, HsaDeviceStateChange& v) +{ + roctracer::kfd_support::output_streamer::put(out,v.NodeId); + roctracer::kfd_support::output_streamer::put(out,v.Device); + roctracer::kfd_support::output_streamer::put(out,v.Flags); + return out; +} +}; +template<> +struct output_streamer { + inline static std::ostream& put(std::ostream& out, HsaAccessAttributeFailure& v) +{ + roctracer::kfd_support::output_streamer::put(out,v.NotPresent); + roctracer::kfd_support::output_streamer::put(out,v.ReadOnly); + roctracer::kfd_support::output_streamer::put(out,v.NoExecute); + roctracer::kfd_support::output_streamer::put(out,v.GpuAccess); + roctracer::kfd_support::output_streamer::put(out,v.ECC); + roctracer::kfd_support::output_streamer::put(out,v.Reserved); + return out; +} +}; +template<> +struct output_streamer { + inline static std::ostream& put(std::ostream& out, HsaMemoryAccessFault& v) +{ + roctracer::kfd_support::output_streamer::put(out,v.NodeId); + roctracer::kfd_support::output_streamer::put(out,v.VirtualAddress); + roctracer::kfd_support::output_streamer::put(out,v. Failure); + roctracer::kfd_support::output_streamer::put(out,v.Flags); + return out; +} +}; +template<> +struct output_streamer { + inline static std::ostream& put(std::ostream& out, HsaEventData& v) +{ + roctracer::kfd_support::output_streamer::put(out,v.EventType); + roctracer::kfd_support::output_streamer::put(out,v.EventData.SyncVar); + roctracer::kfd_support::output_streamer::put(out,v.EventData.NodeChangeState); + roctracer::kfd_support::output_streamer::put(out,v.EventData.DeviceState); + roctracer::kfd_support::output_streamer::put(out,v.EventData.MemoryAccessFault); + roctracer::kfd_support::output_streamer::put(out,v.HWData1); + roctracer::kfd_support::output_streamer::put(out,v.HWData2); + roctracer::kfd_support::output_streamer::put(out,v.HWData3); + return out; +} +}; +template<> +struct output_streamer { + inline static std::ostream& put(std::ostream& out, HsaEventDescriptor& v) +{ + roctracer::kfd_support::output_streamer::put(out,v.EventType); + roctracer::kfd_support::output_streamer::put(out,v.NodeId); + roctracer::kfd_support::output_streamer::put(out,v.SyncVar); + return out; +} +}; +template<> +struct output_streamer { + inline static std::ostream& put(std::ostream& out, HsaEvent& v) +{ + roctracer::kfd_support::output_streamer::put(out,v.EventId); + roctracer::kfd_support::output_streamer::put(out,v.EventData); + return out; +} +}; +template<> +struct output_streamer { + inline static std::ostream& put(std::ostream& out, HsaClockCounters& v) +{ + roctracer::kfd_support::output_streamer::put(out,v.GPUClockCounter); + roctracer::kfd_support::output_streamer::put(out,v.CPUClockCounter); + roctracer::kfd_support::output_streamer::put(out,v.SystemClockCounter); + roctracer::kfd_support::output_streamer::put(out,v.SystemClockFrequencyHz); + return out; +} +}; +template<> +struct output_streamer { + inline static std::ostream& put(std::ostream& out, HSA_UUID& v) +{ + roctracer::kfd_support::output_streamer::put(out,v.Data1); + roctracer::kfd_support::output_streamer::put(out,v.Data2); + roctracer::kfd_support::output_streamer::put(out,v.Data3); + roctracer::kfd_support::output_streamer::put(out,v.Data4[8]); + return out; +} +}; +template<> +struct output_streamer { + inline static std::ostream& put(std::ostream& out, HsaCounterFlags& v) +{ + roctracer::kfd_support::output_streamer::put(out,v.ui32.Global); + roctracer::kfd_support::output_streamer::put(out,v.ui32.Resettable); + roctracer::kfd_support::output_streamer::put(out,v.ui32.ReadOnly); + roctracer::kfd_support::output_streamer::put(out,v.ui32.Stream); + roctracer::kfd_support::output_streamer::put(out,v.ui32.Reserved); + roctracer::kfd_support::output_streamer::put(out, v.Value); + return out; +} +}; +template<> +struct output_streamer { + inline static std::ostream& put(std::ostream& out, HsaCounter& v) +{ + roctracer::kfd_support::output_streamer::put(out,v.Type); + roctracer::kfd_support::output_streamer::put(out,v.CounterId); + roctracer::kfd_support::output_streamer::put(out,v.CounterSizeInBits); + roctracer::kfd_support::output_streamer::put(out,v.CounterMask); + roctracer::kfd_support::output_streamer::put(out,v.Flags); + roctracer::kfd_support::output_streamer::put(out,v.BlockIndex); + return out; +} +}; +template<> +struct output_streamer { + inline static std::ostream& put(std::ostream& out, HsaCounterBlockProperties& v) +{ + roctracer::kfd_support::output_streamer::put(out,v.BlockId); + roctracer::kfd_support::output_streamer::put(out,v.NumCounters); + roctracer::kfd_support::output_streamer::put(out,v.NumConcurrent); + roctracer::kfd_support::output_streamer::put(out,v.Counters[1]); + return out; +} +}; +template<> +struct output_streamer { + inline static std::ostream& put(std::ostream& out, HsaCounterProperties& v) +{ + roctracer::kfd_support::output_streamer::put(out,v.NumBlocks); + roctracer::kfd_support::output_streamer::put(out,v.NumConcurrent); + roctracer::kfd_support::output_streamer::put(out,v.Blocks[1]); + return out; +} +}; +template<> +struct output_streamer { + inline static std::ostream& put(std::ostream& out, HsaPmcTraceRoot& v) +{ + roctracer::kfd_support::output_streamer::put(out,v.TraceBufferMinSizeBytes); + roctracer::kfd_support::output_streamer::put(out,v.NumberOfPasses); + roctracer::kfd_support::output_streamer::put(out,v.TraceId); + return out; +} +}; +// end ostream ops for KFD +};}; + +#include + +#endif // INC_ROCTRACER_KFD_H_ diff --git a/script/kfdap.py b/script/kfdap.py index 93f7e18072..4401de548f 100755 --- a/script/kfdap.py +++ b/script/kfdap.py @@ -1,16 +1,533 @@ #!/usr/bin/python import os, sys, re -OUT_H = 'inc/kfd_prof_str.h' -OUT_C = "src/kfd/kfd_wrapper.cpp" -API_HEADER = "hsakmt.h" +OUT_H = 'inc/kfd_prof_str.h' +OUT_CPP = 'src/kfd/kfd_wrapper.cpp' +API_HEADERS_H = ( + ('HSAKMTAPI', 'hsakmt.h'), +) -content_h = \ - '#ifndef KFD_PROF_STR_H_\n' + \ - '#define KFD_PROF_STR_H_\n' + \ - '#endif \\\\ KFD_PROF_STR_H_\n' +LICENSE = \ +'/*\n' + \ +'Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved.\n' + \ +'\n' + \ +'Permission is hereby granted, free of charge, to any person obtaining a copy\n' + \ +'of this software and associated documentation files (the "Software"), to deal\n' + \ +'in the Software without restriction, including without limitation the rights\n' + \ +'to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n' + \ +'copies of the Software, and to permit persons to whom the Software is\n' + \ +'furnished to do so, subject to the following conditions:\n' + \ +'\n' + \ +'The above copyright notice and this permission notice shall be included in\n' + \ +'all copies or substantial portions of the Software.\n' + \ +'\n' + \ +'THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n' + \ +'IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n' + \ +'FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n' + \ +'AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n' + \ +'LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n' + \ +'OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n' + \ +'THE SOFTWARE.\n' + \ +'*/\n' -content_c = 'namespace kfd { void fun() {}; } // namespace kfd\n' +############################################################# +# Error handler +def fatal(module, msg): + print >>sys.stderr, module + ' Error: "' + msg + '"' + sys.exit(1) + +# Get next text block +def NextBlock(pos, record): + if len(record) == 0: return pos + + space_pattern = re.compile(r'(\s+)') + word_pattern = re.compile(r'([\w\*]+\[*\]*)') + if record[pos] != '(': + m = space_pattern.match(record, pos) + if not m: + m = word_pattern.match(record, pos) + if m: + return pos + len(m.group(1)) + else: + fatal('NextBlock', "bad record '" + record + "' pos(" + str(pos) + ")") + else: + count = 0 + for index in range(pos, len(record)): + if record[index] == '(': + count = count + 1 + elif record[index] == ')': + count = count-1 + if count == 0: + index = index + 1 + break + if count != 0: + fatal('NextBlock', "count is not zero (" + str(count) + ")") + if record[index-1] != ')': + fatal('NextBlock', "last char is not ')' '" + record[index-1] + "'") + return index + +############################################################# +# API table parser class +class API_TableParser: + def fatal(self, msg): + fatal('API_TableParser', msg) + + def __init__(self, header, name, full_fct): + self.name = name + self.full_fct = full_fct + + if not os.path.isfile(header): + self.fatal("file '" + header + "' not found") + + self.inp = open(header, 'r') + + self.beg_pattern = re.compile(name) + self.end_pattern = re.compile('.*\)\s*;\s*$'); + self.array = [] + self.parse() + + # normalizing a line + def norm_line(self, line): + return re.sub(r'^\s+', r' ', line) + + def fix_comment_line(self, line): + return re.sub(r'\/\/.*', r'', line) + + def remove_ret_line(self, line): + return re.sub(r'\n', r'', line) + + # check for start record + def is_start(self, record): + return self.beg_pattern.match(record) + + # check for end record + def is_end(self, record): + return self.end_pattern.match(record) + + # check for declaration entry record + def is_entry(self, record): + return re.match(r'^\s*HSAKMTAPI\s*(.*)\s*\((.*)\)', record) + + # parse method + def parse(self): + active = 0 + record = ""; + cumulate = 0; + self.full_fct = {} + for line in self.inp.readlines(): + line = self.norm_line(line) + line = self.fix_comment_line(line) + + if cumulate == 1: record += " " + line; + else: record = line; + if self.is_start(line): cumulate = 1; continue; + if self.is_end(line): record = self.remove_ret_line(record); cumulate = 0; active = 1; + else: continue; + if active != 0: + m = self.is_entry(record) + if m: + mycall_full = "void " + m.group(1) + ' (' + m.group(2) + ')' + mycall = m.group(1) + self.full_fct[mycall] = mycall_full + self.array.append(mycall) + +############################################################# +# API declaration parser clas +class API_DeclParser: + def fatal(self, msg): + fatal('API_DeclParser', msg) + + def __init__(self, header, array, data, full_fct): + if not os.path.isfile(header): + self.fatal("file '" + header + "' not found") + + self.inp = open(header, 'r') + + self.end_pattern = re.compile('\)\s*;\s*$') + self.data = data + for call in array: + if call in data: + self.fatal(call + ' is already found') + self.parse(call,full_fct) + + # check for start record + def is_start(self, call, record): + return re.search('\s*' + call + '\s*\(', record) + + # check for API method record + def is_api(self, call, record): + return re.match('\s*' + call + '\s*\(', record) + + + # check for end record + def is_end(self, record): + return self.end_pattern.search(record) + + # parse method args + def get_args(self, record): + struct = {'ret': '', 'args': '', 'astr': {}, 'alst': [], 'tlst': []} + record = re.sub(r'^\s+', r'', record) + record = re.sub(r'\s*(\*+)\s*', r'\1 ', record) + rind = NextBlock(0, record) + struct['ret'] = record[0:rind] + pos = record.find('(') + end = NextBlock(pos, record); + args = record[pos:end] + args = re.sub(r'^\(\s*', r'', args) + args = re.sub(r'\s*\)$', r'', args) + args = re.sub(r'\s*,\s*', r',', args) + struct['args'] = re.sub(r',', r', ', args) + if args == "void": + return struct + + if len(args) == 0: return struct + + pos = 0 + args = args + ',' + while pos < len(args): + ind1 = NextBlock(pos, args) # type + ind2 = NextBlock(ind1, args) # space + if args[ind2] != '(': + while ind2 < len(args): + end = NextBlock(ind2, args) + if args[end] == ',': break + else: ind2 = end + name = args[ind2:end] + else: + ind3 = NextBlock(ind2, args) # field + m = re.match(r'\(\s*\*\s*(\S+)\s*\)', args[ind2:ind3]) + if not m: + self.fatal("bad block3 '" + args + "' : '" + args[ind2:ind3] + "'") + name = m.group(1) + end = NextBlock(ind3, args) # the rest + item = args[pos:end] + struct['astr'][name] = item + struct['alst'].append(name) + struct['tlst'].append(item) + if args[end] != ',': + self.fatal("no comma '" + args + "'") + pos = end + 1 + + return struct + + # parse given api + def parse(self, call, full_fct): + if call in full_fct: + self.data[call] = self.get_args(full_fct[call]) + else: + self.data[call] = self.get_args(call) + +############################################################# +# API description parser class +class API_DescrParser: + def fatal(self, msg): + fatal('API_DescrParser', msg) + + def __init__(self, out_file, kfd_dir, api_headers, license): + out_macro = re.sub(r'[\/\.]', r'_', out_file.upper()) + '_' + + self.content_h = '' + self.content_cpp = '' + + self.api_names = [] + self.api_calls = {} + self.api_rettypes = set() + self.api_id = {} + + api_data = {} + full_fct = {} + api_list = [] + ns_calls = [] + + (name, header) = api_headers[0] + api = API_TableParser(kfd_dir + header, name, full_fct) + full_fct = api.full_fct + api_list = api.array + self.api_names.append(name) + self.api_calls[name] = api_list + + for call in api_list: + if call in api_data: + self.fatal("call '" + call + "' is already found") + + API_DeclParser(kfd_dir + header, api_list, api_data, full_fct) + + for call in api_list: + if not call in api_data: + # Not-supported functions + ns_calls.append(call) + else: + # API ID map + self.api_id[call] = 'KFD_API_ID_' + call + # Return types + self.api_rettypes.add(api_data[call]['ret']) + + self.api_rettypes.discard('void') + self.api_data = api_data + self.ns_calls = ns_calls + + self.content_h += "// automatically generated\n\n" + license + '\n' + + self.content_h += "/////////////////////////////////////////////////////////////////////////////\n" + for call in self.ns_calls: + self.content_h += '// ' + call + ' was not parsed\n' + self.content_h += '\n' + self.content_h += '#ifndef ' + out_macro + '\n' + self.content_h += '#define ' + out_macro + '\n' + + self.content_h += '\n' + + self.content_h += '#include \n' + self.content_h += '#include \n' + self.content_h += '#include \"roctracer_kfd.h\"\n' + self.content_h += '#include \"hsakmt.h\"\n' + self.content_h += '#include \"cb_table.h\"\n' + + self.content_h += '#define PUBLIC_API __attribute__((visibility(\"default\")))\n' + + self.add_section('API ID enumeration', ' ', self.gen_id_enum) + self.add_section('API arg structure', ' ', self.gen_arg_struct) + + self.content_h += '\n' + self.content_h += '#if PROF_API_IMPL\n' + self.content_h += 'namespace roctracer {\n' + self.content_h += 'namespace kfd_support {\n' + + self.add_section('API get_name function', ' ', self.gen_get_name) + self.add_section('API get_code function', ' ', self.gen_get_code) + + self.add_section('API intercepting code', '', self.gen_intercept_decl) + self.add_section('API intercepting code', '', self.gen_intercept) + self.add_section('API callback functions', '', self.gen_callbacks) + + self.content_h += '\n};};\n' + self.content_h += '#endif // PROF_API_IMPL\n' + + self.content_cpp += "// automatically generated\n\n" + license + '\n' + self.content_cpp += "/////////////////////////////////////////////////////////////////////////////\n\n" + self.content_cpp += '#define PROF_API_IMPL 1\n' + self.content_cpp += '#include \"kfd_prof_str.h\"\n' + + self.add_section('API output stream', ' ', self.gen_out_stream) + self.add_section_cpp('API callback fcts', ' ', self.gen_public_api) + self.content_h += '#endif // ' + out_macro + '_' + self.content_cpp += '}\n' + self.content_cpp += '\n' + + # add code section + def add_section_cpp(self, title, gap, fun): + n = 0 + self.content_cpp += '\n// section: ' + title + '\n\n' + fun(-1, '-', '-', {}) + for index in range(len(self.api_names)): + last = (index == len(self.api_names)-1) + name = self.api_names[index] + + if n != 0: + if gap == '': fun(n, name, '-', {}) + self.content_cpp += '\n' + self.content_cpp += gap + '// block: ' + name + ' API\n' + for call in self.api_calls[name]: + fun(n, name, call, self.api_data[call]) + n += 1 + fun(n, '-', '-', {}) + + def add_section(self, title, gap, fun): + n = 0 + self.content_h += '\n// section: ' + title + '\n\n' + fun(-1, '-', '-', {}) + for index in range(len(self.api_names)): + last = (index == len(self.api_names)-1) + name = self.api_names[index] + + if n != 0: + if gap == '': fun(n, name, '-', {}) + self.content_h += '\n' + self.content_h += gap + '// block: ' + name + ' API\n' + for call in self.api_calls[name]: + fun(n, name, call, self.api_data[call]) + n += 1 + fun(n, '-', '-', {}) + + # check if it's an array decl + def is_arr(self, record): + return re.match(r'\s*(.*)\s+(.*)\[\]\s*', record) + + # generate API ID enumeration + def gen_id_enum(self, n, name, call, data): + if n == -1: + self.content_h += 'enum kfd_api_id_t {\n' + return + if call != '-': + self.content_h += ' ' + self.api_id[call] + ' = ' + str(n) + ',\n' + else: + self.content_h += '\n' + self.content_h += ' KFD_API_ID_NUMBER = ' + str(n) + ',\n' + self.content_h += ' KFD_API_ID_ANY = ' + str(n + 1) + ',\n' + self.content_h += '};\n' + + # generate API args structure + def gen_arg_struct(self, n, name, call, struct): + if n == -1: + self.content_h += 'struct kfd_api_data_t {\n' + self.content_h += ' uint64_t correlation_id;\n' + self.content_h += ' uint32_t phase;\n' + self.content_h += ' union {\n' + for ret_type in self.api_rettypes: + self.content_h += ' ' + ret_type + ' ' + ret_type + '_retval;\n' + self.content_h += ' };\n' + self.content_h += ' union {\n' + return + if call != '-': + self.content_h += ' struct {\n' + for (var, item) in struct['astr'].items(): + m = self.is_arr(item) + if m: + self.content_h += ' ' + m.group(1) + '* ' + m.group(2) + ';\n' + else: + self.content_h += ' ' + item + ';\n' + self.content_h += ' } ' + call + ';\n' + else: + self.content_h += ' } args;\n' + self.content_h += '};\n' + + # generate API callbacks + def gen_callbacks(self, n, name, call, struct): + if n == -1: + self.content_h += 'typedef CbTable cb_table_t;\n' + self.content_h += 'cb_table_t cb_table;\n' + self.content_h += '\n' + if call != '-': + call_id = self.api_id[call]; + ret_type = struct['ret'] + self.content_h += ret_type + ' ' + call + '_callback(' + struct['args'] + ') {\n' # 'static ' + + if call == 'hsaKmtOpenKFD': + self.content_h += ' if (' + name + '_table == NULL) intercept_KFDApiTable();\n' + self.content_h += ' kfd_api_data_t api_data{};\n' + for var in struct['alst']: + self.content_h += ' api_data.args.' + call + '.' + var.replace("[]","") + ' = ' + var.replace("[]","") + ';\n' + self.content_h += ' activity_rtapi_callback_t api_callback_fun = NULL;\n' + self.content_h += ' void* api_callback_arg = NULL;\n' + self.content_h += ' cb_table.get(' + call_id + ', &api_callback_fun, &api_callback_arg);\n' + self.content_h += ' api_data.phase = 0;\n' + self.content_h += ' if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_KFD_API, ' + call_id + ', &api_data, api_callback_arg);\n' + if ret_type != 'void': + self.content_h += ' ' + ret_type + ' ret = ' + tmp_str = ' ' + name + '_table->' + call + '_fn(' + ', '.join(struct['alst']) + ');\n' + self.content_h += tmp_str.replace("[]","") + if ret_type != 'void': + self.content_h += ' api_data.' + ret_type + '_retval = ret;\n' + self.content_h += ' api_data.phase = 1;\n' + self.content_h += ' if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_KFD_API, ' + call_id + ', &api_data, api_callback_arg);\n' + if ret_type != 'void': + self.content_h += ' return ret;\n' + self.content_h += '}\n' + + # Generates API intercepting table struct definition + def gen_intercept_decl(self, n, name, call, struct): + if n > 0 and call == '-': + self.content_h += '} HSAKMTAPI_table_t;\n' #was HSAKMTAPI_table_t + if n == 0 or (call == '-' and name != '-'): + self.content_h += 'typedef struct {\n' + if call != '-': + self.content_h += ' decltype(' + call + ')* ' + call + '_fn;\n' + + # generate API intercepting code + def gen_intercept(self, n, name, call, struct): + if n > 0 and call == '-': + self.content_h += '};\n' + if n == 0 or (call == '-' and name != '-'): + self.content_h += name + '_table_t* ' + name + '_table = NULL;\n' + self.content_h += 'void intercept_' + 'KFDApiTable' + '(void) {\n' + self.content_h += ' ' + name + '_table = new ' + name + '_table_t{}' + ';\n' + + if call != '-': + self.content_h += ' typedef decltype(' + name + '_table_t::' + call + '_fn) ' + call + '_t;\n' + self.content_h += ' ' + name + '_table->' + call + '_fn = (' + call + '_t)' + 'dlsym(RTLD_NEXT,\"' + call + '\");\n' + + # generate API name function + def gen_get_name(self, n, name, call, struct): + if n == -1: + self.content_h += 'const char* GetApiName(const uint32_t& id) {\n' #static + self.content_h += ' switch (id) {\n' + return + if call != '-': + self.content_h += ' case ' + self.api_id[call] + ': return "' + call + '";\n' + else: + self.content_h += ' }\n' + self.content_h += ' return "unknown";\n' + self.content_h += '}\n' + + # generate API code function + def gen_get_code(self, n, name, call, struct): + if n == -1: + self.content_h += 'uint32_t GetApiCode(const char* str) {\n' # static + return + if call != '-': + self.content_h += ' if (strcmp("' + call + '", str) == 0) return ' + self.api_id[call] + ';\n' + else: + self.content_h += ' return KFD_API_ID_NUMBER;\n' + self.content_h += '}\n' + + # generate stream operator + def gen_out_stream(self, n, name, call, struct): + if n == -1: + self.content_h += 'typedef std::pair kfd_api_data_pair_t;\n' + self.content_h += 'inline std::ostream& operator<< (std::ostream& out, const kfd_api_data_pair_t& data_pair) {\n' + self.content_h += ' const uint32_t cid = data_pair.first;\n' + self.content_h += ' const kfd_api_data_t& api_data = data_pair.second;\n' + self.content_h += ' switch(cid) {\n' + return + if call != '-': + self.content_h += ' case ' + self.api_id[call] + ': {\n' + self.content_h += ' out << "' + call + '(";\n' + arg_list = struct['alst'] + if len(arg_list) != 0: + for ind in range(len(arg_list)): + arg_var = arg_list[ind] + arg_val = 'api_data.args.' + call + '.' + arg_var + if re.search(r'MemFlags',arg_var): + continue + self.content_h += ' typedef decltype(' + arg_val.replace("[]","") + ') arg_val_type_t' + str(ind) + ';\n' + self.content_h += ' roctracer::kfd_support::output_streamer::put(out, ' + arg_val.replace("[]","") + ')' + if ind < len(arg_list)-1: self.content_h += ' << ", ";\n' + else: self.content_h += ';\n' + if struct['ret'] != 'void': + self.content_h += ' out << ") = " << api_data.' + struct['ret'] + '_retval;\n' + else: + self.content_h += ' out << ") = void";\n' + self.content_h += ' break;\n' + self.content_h += ' }\n' + else: + self.content_h += ' default:\n' + self.content_h += ' out << "ERROR: unknown API";\n' + self.content_h += ' abort();\n' + self.content_h += ' }\n' + self.content_h += ' return out;\n' + self.content_h += '}\n' + self.content_cpp += 'inline std::ostream& operator<< (std::ostream& out, const HsaMemFlags& v) { out << "HsaMemFlags"; return out; }\n' + + # generate PUBLIC_API for all API fcts + def gen_public_api(self, n, name, call, struct): + if n == -1: + self.content_cpp += 'extern "C" {\n' + self.content_cpp += 'PUBLIC_API bool RegisterApiCallback(uint32_t op, void* callback, void* user_data) {\n'; + self.content_cpp += ' roctracer::kfd_support::cb_table.set(op, reinterpret_cast(callback), user_data);\n'; + self.content_cpp += ' return true;\n'; + self.content_cpp += '}\n'; + self.content_cpp += 'PUBLIC_API bool RemoveApiCallback(uint32_t op) {\n' + self.content_cpp += ' roctracer::kfd_support::cb_table.set(op, NULL, NULL);\n'; + self.content_cpp += ' return true;\n'; + self.content_cpp += '}\n\n'; + + if call != '-': + self.content_cpp += 'PUBLIC_API HSAKMT_STATUS ' + call + '(' + struct['args'] + ') { roctracer::kfd_support::' + call + '_callback(' + for i in range(0,len(struct['alst'])): + if i == (len(struct['alst'])-1): + self.content_cpp += struct['alst'][i].replace("[]","") + else: + self.content_cpp += struct['alst'][i].replace("[]","") + ', ' + self.content_cpp += '); return HSAKMT_STATUS_SUCCESS;} \n' ############################################################# # main @@ -22,14 +539,18 @@ else: ROOT = sys.argv[1] + '/' KFD_DIR = sys.argv[2] + '/' +descr = API_DescrParser(OUT_H, KFD_DIR, API_HEADERS_H, LICENSE) -out_h_file = ROOT + OUT_H -out_c_file = ROOT + OUT_C -print 'Generating: "' + out_h_file + '", ' + out_c_file + '"' -f = open(out_h_file, 'w') -f.write(content_h) +out_file = ROOT + OUT_H +print 'Generating "' + out_file + '"' +f = open(out_file, 'w') +f.write(descr.content_h[:-1]) f.close() -f = open(out_c_file, 'w') -f.write(content_c) + +out_file = ROOT + OUT_CPP +print 'Generating "' + out_file + '"' +f = open(out_file, 'w') +f.write(descr.content_cpp[:-1]) f.close() + ############################################################# diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 29571891f8..bf0fe6c06a 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -10,7 +10,7 @@ set ( LIB_SRC ${LIB_DIR}/util/hsa_rsrc_factory.cpp ) add_library ( ${TARGET_LIB} SHARED ${LIB_SRC} ) -target_include_directories ( ${TARGET_LIB} PRIVATE ${LIB_DIR} ${ROOT_DIR} ${ROOT_DIR}/inc ${HSA_RUNTIME_INC_PATH} ${HSA_RUNTIME_HSA_INC_PATH} ${HIP_INC_DIR} ${HCC_INC_DIR} ) +target_include_directories ( ${TARGET_LIB} PRIVATE ${LIB_DIR} ${ROOT_DIR} ${ROOT_DIR}/inc ${HSA_RUNTIME_INC_PATH} ${HSA_RUNTIME_HSA_INC_PATH} ${HIP_INC_DIR} ${HCC_INC_DIR} ${HSA_KMT_INC_PATH} ) target_link_libraries( ${TARGET_LIB} PRIVATE ${HSA_RUNTIME_LIB} c stdc++ ) execute_process ( COMMAND sh -xc "${ROOT_DIR}/script/hsaap.py ${ROOT_DIR} ${HSA_RUNTIME_INC_PATH}" ) @@ -19,7 +19,7 @@ set ( KFD_LIB_SRC ${LIB_DIR}/kfd/kfd_wrapper.cpp ) add_library ( ${KFD_LIB} SHARED ${KFD_LIB_SRC} ) -target_include_directories ( ${KFD_LIB} PRIVATE ${LIB_DIR} ${ROOT_DIR} ${ROOT_DIR}/inc ${HSA_RUNTIME_INC_PATH} ${HSA_RUNTIME_HSA_INC_PATH} ) +target_include_directories ( ${KFD_LIB} PRIVATE ${LIB_DIR} ${ROOT_DIR} ${ROOT_DIR}/inc ${HSA_RUNTIME_INC_PATH} ${HSA_RUNTIME_HSA_INC_PATH} ${HSA_KMT_INC_PATH} ) target_link_libraries( ${KFD_LIB} PRIVATE c stdc++ ) execute_process ( COMMAND sh -xc "${ROOT_DIR}/script/kfdap.py ${ROOT_DIR} ${HSA_KMT_INC_PATH}" ) diff --git a/src/core/roctracer.cpp b/src/core/roctracer.cpp index 5250dd8622..f9855e663e 100644 --- a/src/core/roctracer.cpp +++ b/src/core/roctracer.cpp @@ -26,6 +26,7 @@ THE SOFTWARE. #include "inc/roctracer_roctx.h" #define PROF_API_IMPL 1 #include "inc/roctracer_hsa.h" +#include "inc/roctracer_kfd.h" #include #include @@ -633,6 +634,10 @@ PUBLIC_API const char* roctracer_op_string( return roctracer::HipLoader::Instance().ApiName(op); break; } + case ACTIVITY_DOMAIN_KFD_API: { + return roctracer::kfd_support::GetApiName(op); + break; + } default: EXC_RAISING(ROCTRACER_STATUS_BAD_DOMAIN, "invalid domain ID(" << domain << ")"); } @@ -653,6 +658,11 @@ PUBLIC_API roctracer_status_t roctracer_op_code( if (kind != NULL) *kind = 0; break; } + case ACTIVITY_DOMAIN_KFD_API: { + *op = roctracer::kfd_support::GetApiCode(str); + if (kind != NULL) *kind = 0; + break; + } default: EXC_RAISING(ROCTRACER_STATUS_BAD_DOMAIN, "limited domain ID(" << domain << ")"); } @@ -665,6 +675,7 @@ static inline uint32_t get_op_num(const uint32_t& domain) { case ACTIVITY_DOMAIN_HSA_API: return HSA_API_ID_NUMBER; case ACTIVITY_DOMAIN_HCC_OPS: return hc::HSA_OP_ID_NUMBER; case ACTIVITY_DOMAIN_HIP_API: return HIP_API_ID_NUMBER; + case ACTIVITY_DOMAIN_KFD_API: return KFD_API_ID_NUMBER; case ACTIVITY_DOMAIN_EXT_API: return 0; case ACTIVITY_DOMAIN_ROCTX: return ROCTX_API_ID_NUMBER; default: @@ -681,13 +692,11 @@ static void roctracer_enable_callback_impl( void* user_data) { switch (domain) { -#if 0 case ACTIVITY_DOMAIN_KFD_API: { const bool succ = roctracer::KfdLoader::Instance().RegisterApiCallback(op, (void*)callback, user_data); if (succ == false) EXC_RAISING(ROCTRACER_STATUS_ERROR, "KFD RegisterApiCallback error"); break; } -#endif case ACTIVITY_DOMAIN_HSA_OPS: break; case ACTIVITY_DOMAIN_HSA_API: { roctracer::hsa_support::cb_table.set(op, callback, user_data); @@ -751,13 +760,11 @@ static void roctracer_disable_callback_impl( uint32_t op) { switch (domain) { -#if 0 case ACTIVITY_DOMAIN_KFD_API: { const bool succ = roctracer::KfdLoader::Instance().RemoveApiCallback(op); if (succ == false) EXC_RAISING(ROCTRACER_STATUS_ERROR, "KFD RemoveApiCallback error"); break; } -#endif case ACTIVITY_DOMAIN_HSA_OPS: break; case ACTIVITY_DOMAIN_HSA_API: break; case ACTIVITY_DOMAIN_HCC_OPS: break; @@ -856,6 +863,7 @@ static void roctracer_enable_activity_impl( break; } case ACTIVITY_DOMAIN_HSA_API: break; + case ACTIVITY_DOMAIN_KFD_API: break; case ACTIVITY_DOMAIN_HCC_OPS: { if (roctracer::HccLoader::GetRef() == NULL) { roctracer::HccLoader::Instance().InitActivityCallback((void*)roctracer::HCC_ActivityIdCallback, @@ -920,6 +928,7 @@ static void roctracer_disable_activity_impl( break; } case ACTIVITY_DOMAIN_HSA_API: break; + case ACTIVITY_DOMAIN_KFD_API: break; case ACTIVITY_DOMAIN_HCC_OPS: { const bool succ = roctracer::HccLoader::Instance().EnableActivityCallback(op, false); if (succ == false) HCC_EXC_RAISING(ROCTRACER_STATUS_HCC_OPS_ERR, "HCC::EnableActivityCallback(NULL) error domain(" << domain << ") op(" << op << ")"); @@ -1039,6 +1048,10 @@ PUBLIC_API roctracer_status_t roctracer_set_properties( break; } + case ACTIVITY_DOMAIN_KFD_API: { + roctracer::kfd_support::intercept_KFDApiTable(); + break; + } case ACTIVITY_DOMAIN_HSA_API: { // HSA API properties HsaApiTable* table = reinterpret_cast(properties); diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 1092b48c52..d794c44c39 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -44,7 +44,7 @@ file( GLOB UTIL_SRC "${HSA_TEST_DIR}/util/*.cpp" ) set ( TEST_LIB "tracer_tool" ) set ( TEST_LIB_SRC ${TEST_DIR}/tool/tracer_tool.cpp ${UTIL_SRC} ) add_library ( ${TEST_LIB} SHARED ${TEST_LIB_SRC} ) -target_include_directories ( ${TEST_LIB} PRIVATE ${HSA_TEST_DIR} ${ROOT_DIR} ${HSA_RUNTIME_INC_PATH} ${HSA_RUNTIME_HSA_INC_PATH} ${HIP_INC_DIR} ${HCC_INC_DIR} ) +target_include_directories ( ${TEST_LIB} PRIVATE ${HSA_TEST_DIR} ${ROOT_DIR} ${HSA_RUNTIME_INC_PATH} ${HSA_RUNTIME_HSA_INC_PATH} ${HIP_INC_DIR} ${HCC_INC_DIR} ${HSA_KMT_INC_PATH} ) target_link_libraries ( ${TEST_LIB} ${ROCTRACER_TARGET} ${HSA_RUNTIME_LIB} c stdc++ dl pthread rt ) ## Build HSA test diff --git a/test/run.sh b/test/run.sh index 807a0202bc..6840aacc63 100755 --- a/test/run.sh +++ b/test/run.sh @@ -59,7 +59,7 @@ eval_test() { # Standalone test # rocTrecer is used explicitely by test -eval_test "standalone HIP test" ./test/MatrixTranspose_test +eval_test "standalone HIP test" "LD_PRELOAD=libkfdwrapper64.so ./test/MatrixTranspose_test" # Tool test # rocTracer/tool is loaded by HSA runtime diff --git a/test/tool/tracer_tool.cpp b/test/tool/tracer_tool.cpp index 095397aa77..8aef4dea29 100644 --- a/test/tool/tracer_tool.cpp +++ b/test/tool/tracer_tool.cpp @@ -31,6 +31,7 @@ THE SOFTWARE. #include #include #include +#include #include #include #include @@ -58,9 +59,11 @@ typedef hsa_rt_utils::Timer::timestamp_t timestamp_t; hsa_rt_utils::Timer* timer = NULL; thread_local timestamp_t hsa_begin_timestamp = 0; thread_local timestamp_t hip_begin_timestamp = 0; +thread_local timestamp_t kfd_begin_timestamp = 0; bool trace_hsa_api = false; bool trace_hsa_activity = false; bool trace_hip = false; +bool trace_kfd = false; LOADER_INSTANTIATE(); @@ -69,6 +72,7 @@ FILE* hsa_api_file_handle = NULL; FILE* hsa_async_copy_file_handle = NULL; FILE* hip_api_file_handle = NULL; FILE* hcc_activity_file_handle = NULL; +FILE* kfd_api_file_handle = NULL; static inline uint32_t GetPid() { return syscall(__NR_getpid); } static inline uint32_t GetTid() { return syscall(__NR_gettid); } @@ -79,12 +83,31 @@ void fatal(const std::string msg) { fflush(hsa_async_copy_file_handle); fflush(hip_api_file_handle); fflush(hcc_activity_file_handle); + fflush(kfd_api_file_handle); fflush(stdout); fprintf(stderr, "%s\n\n", msg.c_str()); fflush(stderr); abort(); } +// KFD API callback function +void kfd_api_callback( + uint32_t domain, + uint32_t cid, + const void* callback_data, + void* arg) +{ + (void)arg; + const kfd_api_data_t* data = reinterpret_cast(callback_data); + if (data->phase == ACTIVITY_API_PHASE_ENTER) { + kfd_begin_timestamp = timer->timestamp_fn_ns(); + } else { + const timestamp_t end_timestamp = timer->timestamp_fn_ns(); + std::ostringstream os; + os << kfd_begin_timestamp << ":" << end_timestamp << " " << GetPid() << ":" << GetTid() << " " << kfd_api_data_pair_t(cid, *data); + fprintf(kfd_api_file_handle, "%s\n", os.str().c_str()); + } +} // C++ symbol demangle static inline const char* cxx_demangle(const char* symbol) { size_t funcnamesize; @@ -296,10 +319,8 @@ void hcc_activity_callback(const char* begin, const char* end, void* arg) { record->begin_ns, record->end_ns, record->device_id, record->queue_id, name, record->correlation_id); fflush(hcc_activity_file_handle); } else { -#if 0 fprintf(hip_api_file_handle, "%lu:%lu %u:%u %s()\n", record->begin_ns, record->end_ns, record->process_id, record->thread_id, name); -#endif } ROCTRACER_CALL(roctracer_next_record(record, &record)); } @@ -394,6 +415,8 @@ extern "C" PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, } } + trace_kfd = (trace_domain == NULL) || (strncmp(trace_domain, "kfd", 3) == 0); + // Output file const char* output_prefix = getenv("ROCP_OUTPUT_DIR"); if (output_prefix != NULL) { @@ -408,6 +431,7 @@ extern "C" PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, // API trace vector std::vector hsa_api_vec; + std::vector kfd_api_vec; printf("ROCTracer (pid=%d): ", (int)GetPid()); fflush(stdout); // XML input @@ -437,6 +461,11 @@ extern "C" PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, trace_hsa_api = true; hsa_api_vec = api_vec; } + if (name == "KFD") { + found = true; + trace_kfd = true; + kfd_api_vec = api_vec; + } if (name == "GPU") { found = true; trace_hsa_activity = true; @@ -473,6 +502,25 @@ extern "C" PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, printf(")\n"); } + if (trace_kfd) { + kfd_api_file_handle = open_output_file(output_prefix, "kfd_api_trace.txt"); + // initialize KFD tracing + roctracer_set_properties(ACTIVITY_DOMAIN_KFD_API, NULL); + + printf(" KFD-trace("); + if (kfd_api_vec.size() != 0) { + for (unsigned i = 0; i < kfd_api_vec.size(); ++i) { + uint32_t cid = KFD_API_ID_NUMBER; + const char* api = kfd_api_vec[i].c_str(); + ROCTRACER_CALL(roctracer_op_code(ACTIVITY_DOMAIN_KFD_API, api, &cid)); + ROCTRACER_CALL(roctracer_enable_op_callback(ACTIVITY_DOMAIN_KFD_API, cid, kfd_api_callback, NULL)); + printf(" %s", api); + } + } else { + ROCTRACER_CALL(roctracer_enable_domain_callback(ACTIVITY_DOMAIN_KFD_API, kfd_api_callback, NULL)); + } + printf(")\n"); + } if (trace_hsa_activity) { hsa_async_copy_file_handle = open_output_file(output_prefix, "async_copy_trace.txt"); @@ -542,6 +590,11 @@ void tool_unload(bool destruct) { close_output_file(hip_api_file_handle); close_output_file(hcc_activity_file_handle); } + + if (trace_kfd) { + ROCTRACER_CALL(roctracer_disable_domain_callback(ACTIVITY_DOMAIN_KFD_API)); + fclose(kfd_api_file_handle); + } if (onload_debug) { printf("TOOL tool_unload end\n"); fflush(stdout); } } From e8a5f3203982d89f69fcf7aadf3f28b06916f112 Mon Sep 17 00:00:00 2001 From: Rachida Kebichi Date: Fri, 27 Sep 2019 18:43:01 -0400 Subject: [PATCH 167/691] Add KFD support (3rd try). --- test/tool/tracer_tool.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/test/tool/tracer_tool.cpp b/test/tool/tracer_tool.cpp index 8aef4dea29..cc6a29699d 100644 --- a/test/tool/tracer_tool.cpp +++ b/test/tool/tracer_tool.cpp @@ -297,7 +297,9 @@ void hip_api_flush_cb(hip_api_trace_entry_t* entry) { data->args.hipModuleLaunchKernel.stream); break; default: +#if 0 fprintf(hip_api_file_handle, "%s()\n", oss.str().c_str()); +#endif } } else { fprintf(hip_api_file_handle, "%s(%s)\n", oss.str().c_str(), entry->name); From c39cdbbbc276bc42a4221472974c34c0d0e88cb6 Mon Sep 17 00:00:00 2001 From: Rachida Kebichi Date: Fri, 27 Sep 2019 18:48:57 -0400 Subject: [PATCH 168/691] Fixing if macro. --- test/tool/tracer_tool.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/tool/tracer_tool.cpp b/test/tool/tracer_tool.cpp index cc6a29699d..370b83f6d8 100644 --- a/test/tool/tracer_tool.cpp +++ b/test/tool/tracer_tool.cpp @@ -297,9 +297,7 @@ void hip_api_flush_cb(hip_api_trace_entry_t* entry) { data->args.hipModuleLaunchKernel.stream); break; default: -#if 0 fprintf(hip_api_file_handle, "%s()\n", oss.str().c_str()); -#endif } } else { fprintf(hip_api_file_handle, "%s(%s)\n", oss.str().c_str(), entry->name); @@ -321,8 +319,10 @@ void hcc_activity_callback(const char* begin, const char* end, void* arg) { record->begin_ns, record->end_ns, record->device_id, record->queue_id, name, record->correlation_id); fflush(hcc_activity_file_handle); } else { +#if 0 fprintf(hip_api_file_handle, "%lu:%lu %u:%u %s()\n", record->begin_ns, record->end_ns, record->process_id, record->thread_id, name); +#endif } ROCTRACER_CALL(roctracer_next_record(record, &record)); } From a8c5e2edce4f61dacd40033b9d35d0d2255214f2 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Wed, 2 Oct 2019 15:29:09 -0500 Subject: [PATCH 169/691] fixing clang error --- src/core/trace_buffer.h | 7 ++++--- src/roctx/roctx.cpp | 2 ++ src/util/hsa_rsrc_factory.h | 2 +- src/util/logger.h | 2 +- test/tool/tracer_tool.cpp | 4 ++-- 5 files changed, 10 insertions(+), 7 deletions(-) diff --git a/src/core/trace_buffer.h b/src/core/trace_buffer.h index a32e995307..0cbcb5bdda 100644 --- a/src/core/trace_buffer.h +++ b/src/core/trace_buffer.h @@ -1,6 +1,7 @@ #ifndef SRC_CORE_TRACE_BUFFER_H_ #define SRC_CORE_TRACE_BUFFER_H_ +#include #include #include #include @@ -66,7 +67,7 @@ class TraceBuffer { }; TraceBuffer(const char* name, uint32_t size, flush_prm_t* flush_prm_arr, uint32_t flush_prm_count) : - is_flushed_(ATOMIC_FLAG_INIT) + is_flushed_(false) { name_ = strdup(name); size_ = size; @@ -108,7 +109,7 @@ class TraceBuffer { private: void flush_buf() { std::lock_guard lck(mutex_); - const bool is_flushed = atomic_flag_test_and_set_explicit(&is_flushed_, std::memory_order_acquire); + const bool is_flushed = is_flushed_.exchange(true, std::memory_order_acquire); if (is_flushed == false) { for (flush_prm_t* prm = flush_prm_arr_; prm < flush_prm_arr_ + flush_prm_count_; prm++) { @@ -183,7 +184,7 @@ class TraceBuffer { flush_prm_t* flush_prm_arr_; uint32_t flush_prm_count_; - volatile std::atomic_flag is_flushed_; + volatile std::atomic is_flushed_; pthread_t work_thread_; pthread_mutex_t work_mutex_; diff --git a/src/roctx/roctx.cpp b/src/roctx/roctx.cpp index 907065484c..61916f146a 100644 --- a/src/roctx/roctx.cpp +++ b/src/roctx/roctx.cpp @@ -64,8 +64,10 @@ THE SOFTWARE. static thread_local std::stack message_stack; +#if 0 static inline uint32_t GetPid() { return syscall(__NR_getpid); } static inline uint32_t GetTid() { return syscall(__NR_gettid); } +#endif //////////////////////////////////////////////////////////////////////////////// // Library errors enumaration diff --git a/src/util/hsa_rsrc_factory.h b/src/util/hsa_rsrc_factory.h index 8cc8c1254b..51824a5212 100644 --- a/src/util/hsa_rsrc_factory.h +++ b/src/util/hsa_rsrc_factory.h @@ -225,7 +225,7 @@ class HsaRsrcFactory { static void Destroy() { std::lock_guard lck(mutex_); - if (instance_) delete instance_; + if (instance_) delete instance_.load(); instance_ = NULL; } diff --git a/src/util/logger.h b/src/util/logger.h index 42539e7127..cd8dd470c3 100644 --- a/src/util/logger.h +++ b/src/util/logger.h @@ -90,7 +90,7 @@ class Logger { static void Destroy() { std::lock_guard lck(mutex_); - if (instance_ != NULL) delete instance_; + if (instance_ != NULL) delete instance_.load(); instance_ = NULL; } diff --git a/test/tool/tracer_tool.cpp b/test/tool/tracer_tool.cpp index 370b83f6d8..15d24c9a82 100644 --- a/test/tool/tracer_tool.cpp +++ b/test/tool/tracer_tool.cpp @@ -251,7 +251,7 @@ void mark_api_callback( entry->pid = GetPid(); entry->tid = GetTid(); entry->data = {}; - entry->name = name; + entry->name = strdup(name); entry->ptr = NULL; } @@ -300,7 +300,7 @@ void hip_api_flush_cb(hip_api_trace_entry_t* entry) { fprintf(hip_api_file_handle, "%s()\n", oss.str().c_str()); } } else { - fprintf(hip_api_file_handle, "%s(%s)\n", oss.str().c_str(), entry->name); + fprintf(hip_api_file_handle, "%s(name(%s))\n", oss.str().c_str(), entry->name); } fflush(hip_api_file_handle); From 314a9de931bf975a7c31c588212a8cb532b1ec27 Mon Sep 17 00:00:00 2001 From: rkebichi <54912798+rkebichi@users.noreply.github.com> Date: Wed, 2 Oct 2019 19:04:00 -0400 Subject: [PATCH 170/691] Update roctracer_kfd.h --- inc/roctracer_kfd.h | 65 ++++++++++++++++++++++++++------------------- 1 file changed, 37 insertions(+), 28 deletions(-) diff --git a/inc/roctracer_kfd.h b/inc/roctracer_kfd.h index 34229ce96d..ead602c3de 100644 --- a/inc/roctracer_kfd.h +++ b/inc/roctracer_kfd.h @@ -129,31 +129,40 @@ template<> struct output_streamer { inline static std::ostream& put(std::ostream& out, HsaNodeProperties& v) { - roctracer::kfd_support::output_streamer::put(out,v.NumCPUCores); - roctracer::kfd_support::output_streamer::put(out,v.NumFComputeCores); - roctracer::kfd_support::output_streamer::put(out,v.NumMemoryBanks); - roctracer::kfd_support::output_streamer::put(out,v.NumCaches); - roctracer::kfd_support::output_streamer::put(out,v.NumIOLinks); - roctracer::kfd_support::output_streamer::put(out,v.CComputeIdLo); - roctracer::kfd_support::output_streamer::put(out,v.FComputeIdLo); - roctracer::kfd_support::output_streamer::put(out,v.Capability); - roctracer::kfd_support::output_streamer::put(out,v.MaxWavesPerSIMD); - roctracer::kfd_support::output_streamer::put(out,v.LDSSizeInKB); - roctracer::kfd_support::output_streamer::put(out,v.GDSSizeInKB); - roctracer::kfd_support::output_streamer::put(out,v.WaveFrontSize); - roctracer::kfd_support::output_streamer::put(out,v.NumShaderBanks); - roctracer::kfd_support::output_streamer::put(out,v.NumArrays); - roctracer::kfd_support::output_streamer::put(out,v.NumCUPerArray); - roctracer::kfd_support::output_streamer::put(out,v.NumSIMDPerCU); - roctracer::kfd_support::output_streamer::put(out,v.MaxSlotsScratchCU); - roctracer::kfd_support::output_streamer::put(out,v.EngineId); - roctracer::kfd_support::output_streamer::put(out,v.VendorId); - roctracer::kfd_support::output_streamer::put(out,v.DeviceId); - roctracer::kfd_support::output_streamer::put(out,v.LocationId); - roctracer::kfd_support::output_streamer::put(out,v.LocalMemSize); - roctracer::kfd_support::output_streamer::put(out,v.MaxEngineClockMhzFCompute); - roctracer::kfd_support::output_streamer::put(out,v.MaxEngineClockMhzCCompute); - roctracer::kfd_support::output_streamer::put(out,v.MarketingName[HSA_PUBLIC_NAME_SIZE]); + roctracer::kfd_support::output_streamer::put(out,v.NumCPUCores); + roctracer::kfd_support::output_streamer::put(out,v.NumFComputeCores); + roctracer::kfd_support::output_streamer::put(out,v.NumMemoryBanks); + roctracer::kfd_support::output_streamer::put(out,v.NumCaches); + roctracer::kfd_support::output_streamer::put(out,v.NumIOLinks); + roctracer::kfd_support::output_streamer::put(out,v.CComputeIdLo); + roctracer::kfd_support::output_streamer::put(out,v.FComputeIdLo); + roctracer::kfd_support::output_streamer<::HSA_CAPABILITY>::put(out,v.Capability); + roctracer::kfd_support::output_streamer::put(out,v.MaxWavesPerSIMD); + roctracer::kfd_support::output_streamer::put(out,v.LDSSizeInKB); + roctracer::kfd_support::output_streamer::put(out,v.GDSSizeInKB); + roctracer::kfd_support::output_streamer::put(out,v.WaveFrontSize); + roctracer::kfd_support::output_streamer::put(out,v.NumShaderBanks); + roctracer::kfd_support::output_streamer::put(out,v.NumArrays); + roctracer::kfd_support::output_streamer::put(out,v.NumCUPerArray); + roctracer::kfd_support::output_streamer::put(out,v.NumSIMDPerCU); + roctracer::kfd_support::output_streamer::put(out,v.MaxSlotsScratchCU); + roctracer::kfd_support::output_streamer<::HSA_ENGINE_ID>::put(out,v.EngineId); + roctracer::kfd_support::output_streamer::put(out,v.VendorId); + roctracer::kfd_support::output_streamer::put(out,v.DeviceId); + roctracer::kfd_support::output_streamer::put(out,v.LocationId); + roctracer::kfd_support::output_streamer::put(out,v.LocalMemSize); + roctracer::kfd_support::output_streamer::put(out,v.MaxEngineClockMhzFCompute); + roctracer::kfd_support::output_streamer::put(out,v.MaxEngineClockMhzCCompute); + roctracer::kfd_support::output_streamer::put(out,v.DrmRenderMinor); + roctracer::kfd_support::output_streamer::put(out,v.MarketingName); + roctracer::kfd_support::output_streamer::put(out,v.AMDName); + roctracer::kfd_support::output_streamer<::HSA_ENGINE_VERSION>::put(out,v.uCodeEngineVersions); + roctracer::kfd_support::output_streamer<::HSA_DEBUG_PROPERTIES>::put(out,v.DebugProperties); + roctracer::kfd_support::output_streamer::put(out,v.HiveID); + roctracer::kfd_support::output_streamer::put(out,v.NumSdmaEngines); + roctracer::kfd_support::output_streamer::put(out,v.NumSdmaXgmiEngines); + roctracer::kfd_support::output_streamer::put(out,v.NumGws); + roctracer::kfd_support::output_streamer::put(out,v.Reserved); return out; } }; @@ -208,7 +217,7 @@ struct output_streamer { roctracer::kfd_support::output_streamer::put(out,v.CacheAssociativity); roctracer::kfd_support::output_streamer::put(out,v.CacheLatency); roctracer::kfd_support::output_streamer::put(out,v.CacheType); - roctracer::kfd_support::output_streamer::put(out,v.SiblingMap[HSA_CPU_SIBLINGS]); + roctracer::kfd_support::output_streamer::put(out,v.SiblingMap); return out; } }; @@ -216,7 +225,7 @@ template<> struct output_streamer { inline static std::ostream& put(std::ostream& out, HsaCComputeProperties& v) { - roctracer::kfd_support::output_streamer::put(out,v.SiblingMap[HSA_CPU_SIBLINGS]); + roctracer::kfd_support::output_streamer::put(out,v.SiblingMap); return out; } }; @@ -429,7 +438,7 @@ struct output_streamer { roctracer::kfd_support::output_streamer::put(out,v.Data1); roctracer::kfd_support::output_streamer::put(out,v.Data2); roctracer::kfd_support::output_streamer::put(out,v.Data3); - roctracer::kfd_support::output_streamer::put(out,v.Data4[8]); + roctracer::kfd_support::output_streamer::put(out,v.Data4); return out; } }; From 971b442df87fcafbdd51721c44abdab1ec480a99 Mon Sep 17 00:00:00 2001 From: rkebichi <54912798+rkebichi@users.noreply.github.com> Date: Wed, 2 Oct 2019 19:25:37 -0400 Subject: [PATCH 171/691] Update Makefile --- test/MatrixTranspose_test/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/MatrixTranspose_test/Makefile b/test/MatrixTranspose_test/Makefile index e74d66b0d1..30c37ea992 100644 --- a/test/MatrixTranspose_test/Makefile +++ b/test/MatrixTranspose_test/Makefile @@ -23,7 +23,7 @@ EXECUTABLE=./MatrixTranspose all: clean $(EXECUTABLE) -CXXFLAGS =-g -I$(ROOT_PATH) -I$(ROOT_PATH)/inc -DLOCAL_BUILD=1 -DITERATIONS=$(ITERATIONS) +CXXFLAGS =-g -I$(ROOT_PATH) -I$(ROOT_PATH)/inc -I${CMAKE_PREFIX_PATH}/include -DLOCAL_BUILD=1 -DITERATIONS=$(ITERATIONS) CXX=$(HIPCC) $(EXECUTABLE): $(OBJECTS) From c14c073d3f1e1a867cbf1ed06a028003eac18172 Mon Sep 17 00:00:00 2001 From: rkebichi <54912798+rkebichi@users.noreply.github.com> Date: Wed, 2 Oct 2019 19:26:41 -0400 Subject: [PATCH 172/691] Update MatrixTranspose.cpp --- test/MatrixTranspose_test/MatrixTranspose.cpp | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/test/MatrixTranspose_test/MatrixTranspose.cpp b/test/MatrixTranspose_test/MatrixTranspose.cpp index 7ca24d0f0b..f0a3d58d3b 100644 --- a/test/MatrixTranspose_test/MatrixTranspose.cpp +++ b/test/MatrixTranspose_test/MatrixTranspose.cpp @@ -31,6 +31,10 @@ THE SOFTWARE. // roctx header file #include +// kfd header file +#include +#include + #ifndef ITERATIONS # define ITERATIONS 100 #endif @@ -203,6 +207,15 @@ void api_callback( fprintf(stdout, "ROCTX: \"%s\"\n", data->args.message); return; } + if (domain == ACTIVITY_DOMAIN_KFD_API) { + const kfd_api_data_t* data = reinterpret_cast(callback_data); + fprintf(stdout, "KFD: <%s id(%u)\tcorrelation_id(%lu) %s> \n", + roctracer_op_string(ACTIVITY_DOMAIN_KFD_API, cid, 0), + cid, + data->correlation_id, + (data->phase == ACTIVITY_API_PHASE_ENTER) ? "on-enter" : "on-exit"); + return; + } const hip_api_data_t* data = reinterpret_cast(callback_data); fprintf(stdout, "<%s id(%u)\tcorrelation_id(%lu) %s> ", @@ -263,7 +276,7 @@ void activity_callback(const char* begin, const char* end, void* arg) { record->begin_ns, record->end_ns ); - if (record->domain == ACTIVITY_DOMAIN_HIP_API) { + if (record->domain == ACTIVITY_DOMAIN_HIP_API or record->domain == ACTIVITY_DOMAIN_KFD_API) { fprintf(stdout, " process_id(%u) thread_id(%u)", record->process_id, record->thread_id From 9f304d364f66f4a8eaaa5e104e7dc8bedd3e26cd Mon Sep 17 00:00:00 2001 From: rkebichi <54912798+rkebichi@users.noreply.github.com> Date: Thu, 3 Oct 2019 15:46:09 -0400 Subject: [PATCH 173/691] Update kfdap.py --- script/kfdap.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/script/kfdap.py b/script/kfdap.py index 4401de548f..eb4cb521bc 100755 --- a/script/kfdap.py +++ b/script/kfdap.py @@ -372,10 +372,11 @@ class API_DescrParser: self.content_h += 'struct kfd_api_data_t {\n' self.content_h += ' uint64_t correlation_id;\n' self.content_h += ' uint32_t phase;\n' - self.content_h += ' union {\n' - for ret_type in self.api_rettypes: - self.content_h += ' ' + ret_type + ' ' + ret_type + '_retval;\n' - self.content_h += ' };\n' + if len(self.api_rettypes) != 0: + self.content_h += ' union {\n' + for ret_type in self.api_rettypes: + self.content_h += ' ' + ret_type + ' ' + ret_type + '_retval;\n' + self.content_h += ' };\n' self.content_h += ' union {\n' return if call != '-': From b5a9dc7dd6f1b97b06b2a01bd15420abb227ed93 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Sun, 6 Oct 2019 23:13:57 -0500 Subject: [PATCH 174/691] activity records stack --- inc/ext/prof_protocol.h | 2 +- src/core/roctracer.cpp | 58 ++++++++++++++++++++++++++++++++++++++--- 2 files changed, 55 insertions(+), 5 deletions(-) diff --git a/inc/ext/prof_protocol.h b/inc/ext/prof_protocol.h index d6e08ca0f3..ab6f83e335 100644 --- a/inc/ext/prof_protocol.h +++ b/inc/ext/prof_protocol.h @@ -83,7 +83,7 @@ struct activity_record_t { }; // Activity sync calback type -typedef activity_record_t* (*activity_sync_callback_t)(uint32_t cid, activity_record_t* record, const void* data, void* arg); +typedef void* (*activity_sync_callback_t)(uint32_t cid, activity_record_t* record, const void* data, void* arg); // Activity async calback type typedef void (*activity_id_callback_t)(activity_correlation_id_t id); typedef void (*activity_async_callback_t)(uint32_t op, void* record, void* arg); diff --git a/src/core/roctracer.cpp b/src/core/roctracer.cpp index f9855e663e..2f3d7bb4a6 100644 --- a/src/core/roctracer.cpp +++ b/src/core/roctracer.cpp @@ -32,6 +32,7 @@ THE SOFTWARE. #include #include #include +#include #include #include #include @@ -385,6 +386,20 @@ class MemoryPool { pthread_cond_t read_cond_; }; +// Records storage +struct roctracer_api_data_t { + union { + hip_api_data_t hip; + }; + roctracer_api_data_t() {}; +}; +struct record_pair_t { + roctracer_record_t record; + roctracer_api_data_t data; + record_pair_t() {}; +}; +static thread_local std::stack record_pair_stack; + // Correlation id storage static thread_local activity_correlation_id_t correlation_id_tls = 0; typedef std::map correlation_id_map_t; @@ -407,7 +422,7 @@ static inline activity_correlation_id_t CorrelationIdLookup(const activity_corre return it->second; } -roctracer_record_t* HIP_SyncActivityCallback( +void* HIP_SyncActivityCallback( uint32_t op_id, roctracer_record_t* record, const void* callback_data, @@ -416,12 +431,31 @@ roctracer_record_t* HIP_SyncActivityCallback( static hsa_rt_utils::Timer timer; const hip_api_data_t* data = reinterpret_cast(callback_data); + hip_api_data_t* data_ptr = const_cast(data); MemoryPool* pool = reinterpret_cast(arg); - if (pool == NULL) EXC_ABORT(ROCTRACER_STATUS_ERROR, "ActivityCallback pool is NULL"); - if (data->phase == ACTIVITY_API_PHASE_ENTER) { + + int phase = ACTIVITY_API_PHASE_ENTER; + if (data != NULL) { + phase = data->phase; + } else if (pool != NULL) { + phase = ACTIVITY_API_PHASE_EXIT; + } + + if (phase == ACTIVITY_API_PHASE_ENTER) { + if ((data == NULL) && (pool != NULL)) EXC_ABORT(ROCTRACER_STATUS_ERROR, "ActivityCallback enter: pool is not NULL"); + // Allocating a record if NULL passed + if (record == NULL) { + record_pair_stack.push({}); + auto& top = record_pair_stack.top(); + record = &(top.record); + data_ptr = &(top.data.hip); + } + + // Filing record info record->domain = ACTIVITY_DOMAIN_HIP_API; record->op = op_id; record->begin_ns = timer.timestamp_ns(); + // Correlation ID generating uint64_t correlation_id = data->correlation_id; if (correlation_id == 0) { @@ -429,10 +463,23 @@ roctracer_record_t* HIP_SyncActivityCallback( const_cast(data)->correlation_id = correlation_id; } record->correlation_id = correlation_id; + // Passing correlatin ID correlation_id_tls = correlation_id; - return record; + + return data_ptr; } else { + if (pool == NULL) EXC_ABORT(ROCTRACER_STATUS_ERROR, "ActivityCallback exit: pool is NULL"); + + // Getting record of stacked + if (!record_pair_stack.empty()) { + auto& top = record_pair_stack.top(); + record = &(top.record); + data = &(top.data.hip); + record_pair_stack.pop(); + } + + // Filing record info record->end_ns = timer.timestamp_ns(); record->process_id = syscall(__NR_getpid); record->thread_id = syscall(__NR_gettid); @@ -446,9 +493,12 @@ roctracer_record_t* HIP_SyncActivityCallback( pool->Write(ext_record); } + // Writing record to the buffer pool->Write(*record); + // Clearing correlatin ID correlation_id_tls = 0; + return NULL; } } From af41d4ae2e6864686a2d60c6143443e70541e544 Mon Sep 17 00:00:00 2001 From: rkebichi <54912798+rkebichi@users.noreply.github.com> Date: Tue, 8 Oct 2019 16:38:03 -0400 Subject: [PATCH 175/691] Update roctracer_kfd.h --- inc/roctracer_kfd.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/inc/roctracer_kfd.h b/inc/roctracer_kfd.h index ead602c3de..a06b75ff71 100644 --- a/inc/roctracer_kfd.h +++ b/inc/roctracer_kfd.h @@ -136,7 +136,7 @@ struct output_streamer { roctracer::kfd_support::output_streamer::put(out,v.NumIOLinks); roctracer::kfd_support::output_streamer::put(out,v.CComputeIdLo); roctracer::kfd_support::output_streamer::put(out,v.FComputeIdLo); - roctracer::kfd_support::output_streamer<::HSA_CAPABILITY>::put(out,v.Capability); + roctracer::kfd_support::output_streamer::put(out,v.Capability); roctracer::kfd_support::output_streamer::put(out,v.MaxWavesPerSIMD); roctracer::kfd_support::output_streamer::put(out,v.LDSSizeInKB); roctracer::kfd_support::output_streamer::put(out,v.GDSSizeInKB); @@ -146,7 +146,7 @@ struct output_streamer { roctracer::kfd_support::output_streamer::put(out,v.NumCUPerArray); roctracer::kfd_support::output_streamer::put(out,v.NumSIMDPerCU); roctracer::kfd_support::output_streamer::put(out,v.MaxSlotsScratchCU); - roctracer::kfd_support::output_streamer<::HSA_ENGINE_ID>::put(out,v.EngineId); + roctracer::kfd_support::output_streamer::put(out,v.EngineId); roctracer::kfd_support::output_streamer::put(out,v.VendorId); roctracer::kfd_support::output_streamer::put(out,v.DeviceId); roctracer::kfd_support::output_streamer::put(out,v.LocationId); @@ -156,8 +156,8 @@ struct output_streamer { roctracer::kfd_support::output_streamer::put(out,v.DrmRenderMinor); roctracer::kfd_support::output_streamer::put(out,v.MarketingName); roctracer::kfd_support::output_streamer::put(out,v.AMDName); - roctracer::kfd_support::output_streamer<::HSA_ENGINE_VERSION>::put(out,v.uCodeEngineVersions); - roctracer::kfd_support::output_streamer<::HSA_DEBUG_PROPERTIES>::put(out,v.DebugProperties); + roctracer::kfd_support::output_streamer::put(out,v.uCodeEngineVersions); + roctracer::kfd_support::output_streamer::put(out,v.DebugProperties); roctracer::kfd_support::output_streamer::put(out,v.HiveID); roctracer::kfd_support::output_streamer::put(out,v.NumSdmaEngines); roctracer::kfd_support::output_streamer::put(out,v.NumSdmaXgmiEngines); From 72b5494f0bc1259d1fc438682883dae438713aee Mon Sep 17 00:00:00 2001 From: Evgeny Date: Wed, 9 Oct 2019 01:00:05 -0500 Subject: [PATCH 176/691] start/stop API --- inc/roctracer_ext.h | 8 ++ src/core/journal.h | 102 +++++++++++++++ src/core/roctracer.cpp | 123 ++++++++++++++++-- test/MatrixTranspose_test/MatrixTranspose.cpp | 17 ++- 4 files changed, 229 insertions(+), 21 deletions(-) create mode 100644 src/core/journal.h diff --git a/inc/roctracer_ext.h b/inc/roctracer_ext.h index 6a1edb9af3..f91927962b 100644 --- a/inc/roctracer_ext.h +++ b/inc/roctracer_ext.h @@ -39,9 +39,17 @@ extern "C" { #endif // __cplusplus //////////////////////////////////////////////////////////////////////////////// +// Application annotatin API + // Mark API void roctracer_mark(const char* str); +// Tracing start API +void roctracer_start(); + +// Tracing stop API +void roctracer_stop(); + //////////////////////////////////////////////////////////////////////////////// // External correlation id API diff --git a/src/core/journal.h b/src/core/journal.h new file mode 100644 index 0000000000..f4d8a676b7 --- /dev/null +++ b/src/core/journal.h @@ -0,0 +1,102 @@ +/* +Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +*/ + +#ifndef SRC_CORE_JOURNAL_H_ +#define SRC_CORE_JOURNAL_H_ + +#include +#include + +namespace roctracer { + +template +class Journal { + public: + typedef std::mutex mutex_t; + typedef std::map domain_map_t; + typedef std::map journal_map_t; + + struct record_t { + uint32_t domain; + uint32_t op; + Data data; + }; + + Journal() { + domain_mask_ = 0; + map_ = new journal_map_t; + } + + ~Journal() { + for (auto& val : map_) delete val.second; + delete map_; + } + + void registr(const record_t& record) { + std::lock_guard lck(mutex_); + auto* map = get_domain_map(record.domain); + map->insert({record.op, record.data}); + } + + void remove(const record_t& record) { + std::lock_guard lck(mutex_); + auto* map = get_domain_map(record.domain); + map->erase(record.op); + } + + template + F foreach(const F& f_i) { + std::lock_guard lck(mutex_); + F f = f_i; + for (uint32_t domain = 0, mask = domain_mask_; mask != 0; ++domain, mask >>= 1) { + if (mask & 1) { + auto map = get_domain_map(domain); + auto begin = map->begin(); + auto end = map->end(); + for (auto it = begin; it != end; ++it) { + if (f.fun({domain, it->first, it->second}) == false) break; + } + } + } + return f; + } + + private: + domain_map_t* get_domain_map(const uint32_t& domain) { + domain_mask_ |= 1u << domain; + auto domain_it = map_->find(domain); + if (domain_it == map_->end()) { + auto* domain_map = new domain_map_t; + auto ret = map_->insert({domain, domain_map}); + domain_it = ret.first; + } + return domain_it->second; + } + + mutex_t mutex_; + journal_map_t* map_; + uint32_t domain_mask_; +}; + +} // namespace roctracer + +#endif // SRC_CORE_JOURNAL_H_ diff --git a/src/core/roctracer.cpp b/src/core/roctracer.cpp index 2f3d7bb4a6..1f64ac859c 100644 --- a/src/core/roctracer.cpp +++ b/src/core/roctracer.cpp @@ -38,6 +38,7 @@ THE SOFTWARE. #include #include +#include "core/journal.h" #include "core/loader.h" #include "core/trace_buffer.h" #include "proxy/tracker.h" @@ -178,11 +179,52 @@ namespace roctracer { decltype(hsa_amd_memory_async_copy)* hsa_amd_memory_async_copy_fn; decltype(hsa_amd_memory_async_copy_rect)* hsa_amd_memory_async_copy_rect_fn; +typedef decltype(roctracer_enable_op_callback)* roctracer_enable_op_callback_t; +typedef decltype(roctracer_disable_op_callback)* roctracer_disable_op_callback_t; +typedef decltype(roctracer_enable_op_activity)* roctracer_enable_op_activity_t; +typedef decltype(roctracer_disable_op_activity)* roctracer_disable_op_activity_t; + +struct cb_journal_data_t { + roctracer_rtapi_callback_t callback; + void* user_data; +}; +typedef Journal CbJournal; +CbJournal* cb_journal; + +struct act_journal_data_t { + roctracer_pool_t* pool; +}; +typedef Journal ActJournal; +ActJournal* act_journal; + +template +struct journal_functor_t { + typedef typename T::record_t record_t; + F f_; + journal_functor_t(F f) : f_(f) {} + bool fun(const record_t& record) { + f_((activity_domain_t)record.domain, record.op); + return true; + } +}; +typedef journal_functor_t cb_en_functor_t; +typedef journal_functor_t cb_dis_functor_t; +typedef journal_functor_t act_en_functor_t; +typedef journal_functor_t act_dis_functor_t; +template<> bool cb_en_functor_t::fun(const cb_en_functor_t::record_t& record) { + f_((activity_domain_t)record.domain, record.op, record.data.callback, record.data.user_data); + return true; +} +template<> bool act_en_functor_t::fun(const act_en_functor_t::record_t& record) { + f_((activity_domain_t)record.domain, record.op, record.data.pool); + return true; +} + void hsa_async_copy_handler(::proxy::Tracker::entry_t* entry); void hsa_kernel_handler(::proxy::Tracker::entry_t* entry); TraceBuffer::flush_prm_t trace_buffer_prm[] = { - {roctracer::COPY_ENTRY_TYPE, hsa_async_copy_handler}, - {roctracer::KERNEL_ENTRY_TYPE, hsa_kernel_handler} + {COPY_ENTRY_TYPE, hsa_async_copy_handler}, + {KERNEL_ENTRY_TYPE, hsa_kernel_handler} }; TraceBuffer trace_buffer("HSA GPU", 0x200000, trace_buffer_prm, 2); @@ -735,8 +777,8 @@ static inline uint32_t get_op_num(const uint32_t& domain) { } // Enable runtime API callbacks -static void roctracer_enable_callback_impl( - uint32_t domain, +static roctracer_status_t roctracer_enable_callback_fun( + roctracer_domain_t domain, uint32_t op, roctracer_rtapi_callback_t callback, void* user_data) @@ -768,6 +810,17 @@ static void roctracer_enable_callback_impl( default: EXC_RAISING(ROCTRACER_STATUS_BAD_DOMAIN, "invalid domain ID(" << domain << ")"); } + return ROCTRACER_STATUS_SUCCESS; +} + +static void roctracer_enable_callback_impl( + uint32_t domain, + uint32_t op, + roctracer_rtapi_callback_t callback, + void* user_data) +{ + roctracer::cb_journal->registr({domain, op, {callback, user_data}}); + roctracer_enable_callback_fun((roctracer_domain_t)domain, op, callback, user_data); } PUBLIC_API roctracer_status_t roctracer_enable_op_callback( @@ -805,8 +858,8 @@ PUBLIC_API roctracer_status_t roctracer_enable_callback( } // Disable runtime API callbacks -static void roctracer_disable_callback_impl( - uint32_t domain, +static roctracer_status_t roctracer_disable_callback_fun( + roctracer_domain_t domain, uint32_t op) { switch (domain) { @@ -833,6 +886,15 @@ static void roctracer_disable_callback_impl( default: EXC_RAISING(ROCTRACER_STATUS_BAD_DOMAIN, "invalid domain ID(" << domain << ")"); } + return ROCTRACER_STATUS_SUCCESS; +} + +static void roctracer_disable_callback_impl( + uint32_t domain, + uint32_t op) +{ + roctracer::cb_journal->remove({domain, op, {}}); + roctracer_disable_callback_fun((roctracer_domain_t)domain, op); } PUBLIC_API roctracer_status_t roctracer_disable_op_callback( @@ -900,8 +962,8 @@ PUBLIC_API roctracer_status_t roctracer_close_pool(roctracer_pool_t* pool) { } // Enable activity records logging -static void roctracer_enable_activity_impl( - uint32_t domain, +static roctracer_status_t roctracer_enable_activity_fun( + roctracer_domain_t domain, uint32_t op, roctracer_pool_t* pool) { @@ -933,6 +995,16 @@ static void roctracer_enable_activity_impl( default: EXC_RAISING(ROCTRACER_STATUS_BAD_DOMAIN, "invalid domain ID(" << domain << ")"); } + return ROCTRACER_STATUS_SUCCESS; +} + +static void roctracer_enable_activity_impl( + uint32_t domain, + uint32_t op, + roctracer_pool_t* pool) +{ + roctracer::act_journal->registr({domain, op, {pool}}); + roctracer_enable_activity_fun((roctracer_domain_t)domain, op, pool); } PUBLIC_API roctracer_status_t roctracer_enable_op_activity( @@ -967,8 +1039,8 @@ PUBLIC_API roctracer_status_t roctracer_enable_activity( } // Disable activity records logging -static void roctracer_disable_activity_impl( - uint32_t domain, +static roctracer_status_t roctracer_disable_activity_fun( + roctracer_domain_t domain, uint32_t op) { switch (domain) { @@ -993,6 +1065,15 @@ static void roctracer_disable_activity_impl( default: EXC_RAISING(ROCTRACER_STATUS_BAD_DOMAIN, "invalid domain ID(" << domain << ")"); } + return ROCTRACER_STATUS_SUCCESS; +} + +static void roctracer_disable_activity_impl( + uint32_t domain, + uint32_t op) +{ + roctracer::act_journal->remove({domain, op, {}}); + roctracer_disable_activity_fun((roctracer_domain_t)domain, op); } PUBLIC_API roctracer_status_t roctracer_disable_op_activity( @@ -1061,10 +1142,22 @@ PUBLIC_API roctracer_status_t roctracer_activity_pop_external_correlation_id(act // Mark API PUBLIC_API void roctracer_mark(const char* str) { - if (mark_api_callback_ptr) { - mark_api_callback_ptr(ACTIVITY_DOMAIN_EXT_API, ACTIVITY_EXT_OP_MARK, str, NULL); - roctracer::GlobalCounter::Increment(); // account for user-defined markers when tracking correlation id - } + if (mark_api_callback_ptr) { + mark_api_callback_ptr(ACTIVITY_DOMAIN_EXT_API, ACTIVITY_EXT_OP_MARK, str, NULL); + roctracer::GlobalCounter::Increment(); // account for user-defined markers when tracking correlation id + } +} + +// Start API +PUBLIC_API void roctracer_start() { + roctracer::cb_journal->foreach(roctracer::cb_en_functor_t(roctracer_enable_callback_fun)); + roctracer::act_journal->foreach(roctracer::act_en_functor_t(roctracer_enable_activity_fun)); +} + +// Stop API +PUBLIC_API void roctracer_stop() { + roctracer::cb_journal->foreach(roctracer::cb_dis_functor_t(roctracer_disable_callback_fun)); + roctracer::act_journal->foreach(roctracer::act_dis_functor_t(roctracer_disable_activity_fun)); } // Set properties @@ -1163,6 +1256,8 @@ PUBLIC_API void OnUnload() { CONSTRUCTOR_API void constructor() { if (onload_debug) { printf("LIB constructor\n"); fflush(stdout); } roctracer::util::Logger::Create(); + if (roctracer::cb_journal == NULL) roctracer::cb_journal = new roctracer::CbJournal; + if (roctracer::act_journal == NULL) roctracer::act_journal = new roctracer::ActJournal; if (onload_debug) { printf("LIB constructor end\n"); fflush(stdout); } } diff --git a/test/MatrixTranspose_test/MatrixTranspose.cpp b/test/MatrixTranspose_test/MatrixTranspose.cpp index 7ca24d0f0b..1a4978bab7 100644 --- a/test/MatrixTranspose_test/MatrixTranspose.cpp +++ b/test/MatrixTranspose_test/MatrixTranspose.cpp @@ -164,9 +164,9 @@ int main() { free(Matrix); free(TransposeMatrix); free(cpuTransposeMatrix); + } stop_tracing(); - } return errors; } @@ -290,23 +290,26 @@ void activity_callback(const char* begin, const char* end, void* arg) { // Init tracing routine void init_tracing() { - std::cout << "# START #############################" << std::endl << std::flush; + std::cout << "# INIT #############################" << std::endl << std::flush; // Allocating tracing pool roctracer_properties_t properties{}; properties.buffer_size = 0x1000; properties.buffer_callback_fun = activity_callback; ROCTRACER_CALL(roctracer_open_pool(&properties)); -} - -// Start tracing routine -void start_tracing() { - std::cout << "# START #############################" << std::endl << std::flush; // Enable HIP API callbacks ROCTRACER_CALL(roctracer_enable_callback(api_callback, NULL)); // Enable HIP activity tracing ROCTRACER_CALL(roctracer_enable_activity()); } +// Start tracing routine +void start_tracing() { + std::cout << "# START (" << iterations << ") #############################" << std::endl << std::flush; + // Start + if ((iterations & 1) == 1) roctracer_start(); + else roctracer_stop(); +} + // Stop tracing routine void stop_tracing() { ROCTRACER_CALL(roctracer_disable_callback()); From 9a5a603440974bb5aac1700169985e90573498f0 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Wed, 9 Oct 2019 10:56:19 -0500 Subject: [PATCH 177/691] tool tracing control integration --- test/MatrixTranspose/MatrixTranspose.cpp | 6 ++ test/tool/tracer_tool.cpp | 105 +++++++++++++++++++---- 2 files changed, 92 insertions(+), 19 deletions(-) diff --git a/test/MatrixTranspose/MatrixTranspose.cpp b/test/MatrixTranspose/MatrixTranspose.cpp index 240723cfe4..8a5ff54a90 100644 --- a/test/MatrixTranspose/MatrixTranspose.cpp +++ b/test/MatrixTranspose/MatrixTranspose.cpp @@ -82,6 +82,10 @@ int main() { hipMalloc((void**)&gpuMatrix, NUM * sizeof(float)); hipMalloc((void**)&gpuTransposeMatrix, NUM * sizeof(float)); + uint32_t iterations = 100; + while (iterations-- > 0) { + std::cout << "## Iteration (" << iterations << ") #################" << std::endl; + // Memory transfer from host to device hipMemcpy(gpuMatrix, Matrix, NUM * sizeof(float), hipMemcpyHostToDevice); @@ -112,6 +116,8 @@ int main() { printf("PASSED!\n"); } + } + // free the resources on device side hipFree(gpuMatrix); hipFree(gpuTransposeMatrix); diff --git a/test/tool/tracer_tool.cpp b/test/tool/tracer_tool.cpp index 15d24c9a82..556f233bbe 100644 --- a/test/tool/tracer_tool.cpp +++ b/test/tool/tracer_tool.cpp @@ -25,9 +25,14 @@ THE SOFTWARE. #include /* names denangle */ #include +#include #include -#include /* For SYS_xxx definitions */ +#include +#include /* SYS_xxx definitions */ +#include +#include /* usleep */ +#include #include #include #include @@ -90,24 +95,6 @@ void fatal(const std::string msg) { abort(); } -// KFD API callback function -void kfd_api_callback( - uint32_t domain, - uint32_t cid, - const void* callback_data, - void* arg) -{ - (void)arg; - const kfd_api_data_t* data = reinterpret_cast(callback_data); - if (data->phase == ACTIVITY_API_PHASE_ENTER) { - kfd_begin_timestamp = timer->timestamp_fn_ns(); - } else { - const timestamp_t end_timestamp = timer->timestamp_fn_ns(); - std::ostringstream os; - os << kfd_begin_timestamp << ":" << end_timestamp << " " << GetPid() << ":" << GetTid() << " " << kfd_api_data_pair_t(cid, *data); - fprintf(kfd_api_file_handle, "%s\n", os.str().c_str()); - } -} // C++ symbol demangle static inline const char* cxx_demangle(const char* symbol) { size_t funcnamesize; @@ -116,6 +103,37 @@ static inline const char* cxx_demangle(const char* symbol) { return (ret != NULL) ? ret : symbol; } +// Tracing control thread +uint32_t control_delay_us = 0; +uint32_t control_len_us = 0; +uint32_t control_dist_us = 0; +void* control_thr_fun(void*) { + const uint32_t delay_sec = control_delay_us / 1000000; + const uint32_t delay_us = control_delay_us % 1000000; + const uint32_t len_sec = control_len_us / 1000000; + const uint32_t len_us = control_len_us % 1000000; + const uint32_t dist_sec = control_dist_us / 1000000; + const uint32_t dist_us = control_dist_us % 1000000; + bool start = true; + + sleep(delay_sec); + usleep(delay_us); + + while (1) { + if (start) { + start = false; + roctracer_start(); + sleep(len_sec); + usleep(len_us); + } else { + start = true; + roctracer_stop(); + sleep(dist_sec); + usleep(dist_us); + } + } +} + struct hsa_api_trace_entry_t { uint32_t valid; uint32_t type; @@ -328,6 +346,25 @@ void hcc_activity_callback(const char* begin, const char* end, void* arg) { } } +// KFD API callback function +void kfd_api_callback( + uint32_t domain, + uint32_t cid, + const void* callback_data, + void* arg) +{ + (void)arg; + const kfd_api_data_t* data = reinterpret_cast(callback_data); + if (data->phase == ACTIVITY_API_PHASE_ENTER) { + kfd_begin_timestamp = timer->timestamp_fn_ns(); + } else { + const timestamp_t end_timestamp = timer->timestamp_fn_ns(); + std::ostringstream os; + os << kfd_begin_timestamp << ":" << end_timestamp << " " << GetPid() << ":" << GetTid() << " " << kfd_api_data_pair_t(cid, *data); + fprintf(kfd_api_file_handle, "%s\n", os.str().c_str()); + } +} + // Input parser std::string normalize_token(const std::string& token, bool not_empty, const std::string& label) { const std::string space_chars_set = " \t"; @@ -436,6 +473,7 @@ extern "C" PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, std::vector kfd_api_vec; printf("ROCTracer (pid=%d): ", (int)GetPid()); fflush(stdout); + // XML input const char* xml_name = getenv("ROCP_INPUT"); if (xml_name != NULL) { @@ -556,6 +594,35 @@ extern "C" PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, roctracer_set_properties(ACTIVITY_DOMAIN_HIP_API, (void*)mark_api_callback); } + const char* ctrl_str = getenv("ROCP_CTRL_RATE"); + if (ctrl_str != NULL) { + uint32_t ctrl_delay = 0; + uint32_t ctrl_rate = 0; + uint32_t ctrl_len = 0; + int ret = sscanf(ctrl_str, "%d:%d:%d", &ctrl_delay, &ctrl_rate, &ctrl_len); + if (ret != 3) { + fprintf(stderr, "ROCTracer: control rate value invalid 'delay:rate:length': '%s'\n", ctrl_str); + abort(); + } + if (ctrl_len > ctrl_rate) { + fprintf(stderr, "ROCTracer: control length value (%u) > rate value (%u)\n", ctrl_len, ctrl_rate); + abort(); + } + control_dist_us = ctrl_rate - ctrl_len; + control_len_us = ctrl_len; + control_delay_us = ctrl_delay; + + fprintf(stdout, "ROCTracer: Trace control delay(%uus) rate(%uus), len(%uus)\n", ctrl_delay, ctrl_rate, ctrl_len); fflush(stdout); + + roctracer_stop(); + + pthread_t thread; + pthread_attr_t attr; + int err = pthread_attr_init(&attr); + if (err) { errno = err; perror("pthread_attr_init"); abort(); } + err = pthread_create(&thread, &attr, control_thr_fun, NULL); + } + if (onload_debug) { printf("TOOL OnLoad end\n"); fflush(stdout); } return roctracer_load(table, runtime_version, failed_tool_count, failed_tool_names); } From 3e8f5f2058e205f4c5955d4c3f0494b264bf4df2 Mon Sep 17 00:00:00 2001 From: rkebichi <54912798+rkebichi@users.noreply.github.com> Date: Wed, 9 Oct 2019 13:50:55 -0400 Subject: [PATCH 178/691] Create genOstreamOps.py --- script/genOstreamOps.py | 206 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 206 insertions(+) create mode 100644 script/genOstreamOps.py diff --git a/script/genOstreamOps.py b/script/genOstreamOps.py new file mode 100644 index 0000000000..b4effcab28 --- /dev/null +++ b/script/genOstreamOps.py @@ -0,0 +1,206 @@ +#!/usr/bin/python + +import os, sys, re +import CppHeaderParser +import argparse + +LICENSE = \ +'/*\n' + \ +'Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved.\n' + \ +'\n' + \ +'Permission is hereby granted, free of charge, to any person obtaining a copy\n' + \ +'of this software and associated documentation files (the "Software"), to deal\n' + \ +'in the Software without restriction, including without limitation the rights\n' + \ +'to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n' + \ +'copies of the Software, and to permit persons to whom the Software is\n' + \ +'furnished to do so, subject to the following conditions:\n' + \ +'\n' + \ +'The above copyright notice and this permission notice shall be included in\n' + \ +'all copies or substantial portions of the Software.\n' + \ +'\n' + \ +'THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n' + \ +'IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n' + \ +'FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n' + \ +'AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n' + \ +'LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n' + \ +'OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n' + \ +'THE SOFTWARE.\n' + \ +'*/\n' + +HEADER = \ +'#ifndef INC_ROCTRACER_KFD_H_\n' + \ +'#define INC_ROCTRACER_KFD_H_\n' + \ +'#include \n' + \ +'#include \n' + \ +'\n' + \ +'#include \n' + \ +'\n' + \ +'#include "roctracer.h"\n' + \ +'#include "hsakmt.h"\n' + \ +'\n' + \ +'namespace roctracer {\n' + \ +'namespace kfd_support {\n' + \ +'template \n' + \ +'struct output_streamer {\n' + \ +' inline static std::ostream& put(std::ostream& out, const T& v) { return out; }\n' + \ +'};\n' + \ +'template<>\n' + \ +'struct output_streamer {\n' + \ +' inline static std::ostream& put(std::ostream& out, bool v) { out << std::hex << ""; return out; }\n' + \ +'};\n' + \ +'template<>\n' + \ +'struct output_streamer {\n' + \ +' inline static std::ostream& put(std::ostream& out, uint8_t v) { out << std::hex << ""; return out; }\n' + \ +'};\n' + \ +'template<>\n' + \ +'struct output_streamer {\n' + \ +' inline static std::ostream& put(std::ostream& out, uint16_t v) { out << std::hex << ""; return out; }\n' + \ +'};\n' + \ +'template<>\n' + \ +'struct output_streamer {\n' + \ +' inline static std::ostream& put(std::ostream& out, uint32_t v) { out << std::hex << ""; return out; }\n' + \ +'};\n' + \ +'template<>\n' + \ +'struct output_streamer {\n' + \ +' inline static std::ostream& put(std::ostream& out, uint64_t v) { out << std::hex << ""; return out; }\n' + \ +'};\n' + \ +'\n' + \ +'template<>\n' + \ +'struct output_streamer {\n' + \ +' inline static std::ostream& put(std::ostream& out, bool* v) { out << std::hex << ""; return out; }\n' + \ +'};\n' + \ +'template<>\n' + \ +'struct output_streamer {\n' + \ +' inline static std::ostream& put(std::ostream& out, uint8_t* v) { out << std::hex << ""; return out; }\n' + \ +'};\n' + \ +'template<>\n' + \ +'struct output_streamer {\n' + \ +' inline static std::ostream& put(std::ostream& out, uint16_t* v) { out << std::hex << ""; return out; }\n' + \ +'};\n' + \ +'template<>\n' + \ +'struct output_streamer {\n' + \ +' inline static std::ostream& put(std::ostream& out, uint32_t* v) { out << std::hex << ""; return out; }\n' + \ +'};\n' + \ +'template<>\n' + \ +'struct output_streamer {\n' + \ +' inline static std::ostream& put(std::ostream& out, uint64_t* v) { out << std::hex << ""; return out; }\n' + \ +'};\n' + \ +'\n' + +FOOTER = \ +'// end ostream ops for KFD\n' + \ +'};};\n' + \ +'\n' + \ +'#include \n' + \ +'\n' + \ +'#endif // INC_ROCTRACER_KFD_H_\n' + \ +' \n' + +rx_dict = { + 'struct_name': re.compile(r'typedef (?P.*)\n'), + 'field_type': re.compile(r'\s+name\[raw_type\]=(?P.*)\n'), + 'field_name': re.compile(r'\s+name\[name\]=(?P.*)\n'), + 'array_size_val': re.compile(r'\s+name\[array_size\]=(?P.*)\n'), +} + +def _parse_line(line): + + for key, rx in rx_dict.items(): + match = rx.search(line) + if match: + return key, match + return None, None + +def parse_file(infilepath,outfilepath): + f= open(outfilepath,"w+") + f.write("// automatically generated\n") + f.write(LICENSE) + f.write("/////////////////////////////////////////////////////////////////////////////") + f.write("\n") + f.write(HEADER) + f.write("// begin ostream ops for KFD\n") + + with open(infilepath, 'r') as file_object: + line = file_object.readline() + flag=0 + tmp_str="" + while line: + key, match = _parse_line(line) + if key == 'struct_name': + if tmp_str!="": + f.write(tmp_str+"\n") + tmp_str="" + if flag == 1: + f.write(" return out;\n") + f.write("}\n") + f.write("};\n") + flag=0 + struct_name = match.group('struct_name') + if ("anon" not in struct_name and "union" not in struct_name) or args['debug']: + f.write("template<>\n") + f.write("struct output_streamer<"+struct_name+"&> {\n") + f.write(" inline static std::ostream& put(std::ostream& out, "+struct_name+"& v)\n") + f.write("{\n") + flag=1; + if flag==1 and key == 'field_type': + field_type = match.group('field_type') + if field_type == "": + field_type="notype" + if flag==1 and key == 'array_size_val': + array_size_val = match.group('array_size_val') + tmp_str=tmp_str.replace(field_type,field_type+"["+array_size_val+"]") + f.write(tmp_str+"\n") + tmp_str="" + if flag==1 and key == 'field_name': + if tmp_str!="": + f.write(tmp_str+"\n") + tmp_str="" + field_name = match.group('field_name') + if field_name == "": + field_name="noname" + if (field_name!="noname" and field_type!="notype") or args['debug'] : + tmp_str=" roctracer::kfd_support::output_streamer<"+field_type+">::put(out,v."+field_name+")"+";"; + tmp_str=tmp_str.replace('<::', '<') + #f.write(tmp_str+"\n") + line = file_object.readline() + if tmp_str!="": + f.write(tmp_str+"\n") + tmp_str="" + if flag==1: + f.write(" return out;\n") + f.write("}\n") + f.write("};\n") + f.write(FOOTER) + f.close() + print ("File "+outfilepath+" has been generated.") + return + +def gen_cppheader_lut(infilepath): + try: + cppHeader = CppHeaderParser.CppHeader(infilepath) + except CppHeaderParser.CppParseError as e: + print(e) + sys.exit(1) + + f= open("/tmp/cppheader_lut.txt","w+") + for c in cppHeader.classes: + f.write("typedef %s\n"%(c)) + for l in range(len(cppHeader.classes[c]["properties"]["public"])): + for key in cppHeader.classes[c]["properties"]["public"][l].keys(): + f.write(" name[%s]=%s\n"%(key,cppHeader.classes[c]["properties"]["public"][l][key])) + f.close() + #print ("File /tmp/cppheader_lut.txt has been generated.") + return + + +parser = argparse.ArgumentParser(description='genOstreamOps.py: generates ostream operators for all typedefs in provided input file.') +parser.add_argument('-debug','--debug', help='Debug option for features not supported by CppHeaderParser', action='store_true') +requiredNamed=parser.add_argument_group('Required arguments') +requiredNamed.add_argument('-in','--in', help='Header file to be parsed', required=True) +requiredNamed.add_argument('-out','--out', help='Output file with ostream operators', required=True) +args = vars(parser.parse_args()) + +if __name__ == '__main__': + gen_cppheader_lut(args['in']) + parse_file("/tmp/cppheader_lut.txt",args['out']) + From 2a480667ae4410f8d8e4a168245b91e100457b9a Mon Sep 17 00:00:00 2001 From: Evgeny Date: Wed, 9 Oct 2019 13:00:27 -0500 Subject: [PATCH 179/691] output cosmetic fix --- test/tool/tracer_tool.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/tool/tracer_tool.cpp b/test/tool/tracer_tool.cpp index 556f233bbe..8ba68a3a12 100644 --- a/test/tool/tracer_tool.cpp +++ b/test/tool/tracer_tool.cpp @@ -612,7 +612,7 @@ extern "C" PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, control_len_us = ctrl_len; control_delay_us = ctrl_delay; - fprintf(stdout, "ROCTracer: Trace control delay(%uus) rate(%uus), len(%uus)\n", ctrl_delay, ctrl_rate, ctrl_len); fflush(stdout); + fprintf(stdout, "ROCTracer: trace control delay(%uus), rate(%uus), len(%uus)\n", ctrl_delay, ctrl_rate, ctrl_len); fflush(stdout); roctracer_stop(); From c342215416ed452dba539796530da1aff00fe9b6 Mon Sep 17 00:00:00 2001 From: rkebichi <54912798+rkebichi@users.noreply.github.com> Date: Wed, 9 Oct 2019 15:27:43 -0400 Subject: [PATCH 180/691] Update CMakeLists.txt --- src/CMakeLists.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index bf0fe6c06a..d0c5044c7d 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -18,6 +18,7 @@ set ( KFD_LIB "kfdwrapper64" ) set ( KFD_LIB_SRC ${LIB_DIR}/kfd/kfd_wrapper.cpp ) +execute_process ( COMMAND sh -xc "${ROOT_DIR}/script/genOstreamOps.py -in ${HSA_KMT_INC_PATH}/hsakmttypes.h -out ${ROOT_DIR}/inc/roctracer_kfd.h" ) add_library ( ${KFD_LIB} SHARED ${KFD_LIB_SRC} ) target_include_directories ( ${KFD_LIB} PRIVATE ${LIB_DIR} ${ROOT_DIR} ${ROOT_DIR}/inc ${HSA_RUNTIME_INC_PATH} ${HSA_RUNTIME_HSA_INC_PATH} ${HSA_KMT_INC_PATH} ) target_link_libraries( ${KFD_LIB} PRIVATE c stdc++ ) From 14c933bedb1870e2da3c769305835564d4ba10c0 Mon Sep 17 00:00:00 2001 From: rkebichi <54912798+rkebichi@users.noreply.github.com> Date: Wed, 9 Oct 2019 15:28:59 -0400 Subject: [PATCH 181/691] Update genOstreamOps.py --- script/genOstreamOps.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/script/genOstreamOps.py b/script/genOstreamOps.py index b4effcab28..ea0fbacb95 100644 --- a/script/genOstreamOps.py +++ b/script/genOstreamOps.py @@ -98,7 +98,7 @@ FOOTER = \ rx_dict = { 'struct_name': re.compile(r'typedef (?P.*)\n'), - 'field_type': re.compile(r'\s+name\[raw_type\]=(?P.*)\n'), + 'field_type': re.compile(r'\s+name\[type\]=(?P.*)\n'), 'field_name': re.compile(r'\s+name\[name\]=(?P.*)\n'), 'array_size_val': re.compile(r'\s+name\[array_size\]=(?P.*)\n'), } @@ -151,7 +151,7 @@ def parse_file(infilepath,outfilepath): tmp_str=tmp_str.replace(field_type,field_type+"["+array_size_val+"]") f.write(tmp_str+"\n") tmp_str="" - if flag==1 and key == 'field_name': + if flag==1 and key == 'field_name' and "union" not in field_type: if tmp_str!="": f.write(tmp_str+"\n") tmp_str="" From eb232e7e3cc80de93ce66db87954f6b5b544a743 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Wed, 9 Oct 2019 23:32:01 -0500 Subject: [PATCH 182/691] roctx tool support integration --- test/run.sh | 1 + test/tool/tracer_tool.cpp | 145 ++++++++++++++++++++++++++++++-------- 2 files changed, 116 insertions(+), 30 deletions(-) diff --git a/test/run.sh b/test/run.sh index 6840aacc63..9f5da3df9e 100755 --- a/test/run.sh +++ b/test/run.sh @@ -68,6 +68,7 @@ export ROCTRACER_DOMAIN="hip" # HIP test eval_test "tool HIP test" ./test/MatrixTranspose +eval_test "tool HIP period test" "ROCP_CTRL_RATE=10:1000000:100000 ./test/MatrixTranspose" # HSA test export ROCTRACER_DOMAIN="hsa" diff --git a/test/tool/tracer_tool.cpp b/test/tool/tracer_tool.cpp index 8ba68a3a12..0215a2b5f0 100644 --- a/test/tool/tracer_tool.cpp +++ b/test/tool/tracer_tool.cpp @@ -33,6 +33,7 @@ THE SOFTWARE. #include /* usleep */ #include +#include #include #include #include @@ -65,6 +66,7 @@ hsa_rt_utils::Timer* timer = NULL; thread_local timestamp_t hsa_begin_timestamp = 0; thread_local timestamp_t hip_begin_timestamp = 0; thread_local timestamp_t kfd_begin_timestamp = 0; +bool trace_roctx = false; bool trace_hsa_api = false; bool trace_hsa_activity = false; bool trace_hip = false; @@ -73,6 +75,7 @@ bool trace_kfd = false; LOADER_INSTANTIATE(); // Global output file handle +FILE* roctx_file_handle = NULL; FILE* hsa_api_file_handle = NULL; FILE* hsa_async_copy_file_handle = NULL; FILE* hip_api_file_handle = NULL; @@ -84,6 +87,7 @@ static inline uint32_t GetTid() { return syscall(__NR_gettid); } // Error handler void fatal(const std::string msg) { + fflush(roctx_file_handle); fflush(hsa_api_file_handle); fflush(hsa_async_copy_file_handle); fflush(hip_api_file_handle); @@ -134,6 +138,55 @@ void* control_thr_fun(void*) { } } +/////////////////////////////////////////////////////////////////////////////////////////////////////// +// rocTX annotation tracing + +struct roctx_trace_entry_t { + uint32_t valid; + uint32_t type; + uint32_t cid; + timestamp_t timestamp; + uint32_t pid; + uint32_t tid; + const char* message; +}; + +void roctx_flush_cb(roctx_trace_entry_t* entry); +roctracer::TraceBuffer::flush_prm_t roctx_flush_prm[1] = {{0, roctx_flush_cb}}; +roctracer::TraceBuffer roctx_trace_buffer("rocTX API", 0x200000, roctx_flush_prm, 1); + +// rocTX callback function +void roctx_callback( + uint32_t domain, + uint32_t cid, + const void* callback_data, + void* arg) +{ + (void)arg; + const roctx_api_data_t* data = reinterpret_cast(callback_data); + const timestamp_t timestamp = timer->timestamp_fn_ns(); + roctx_trace_entry_t* entry = roctx_trace_buffer.GetEntry(); + const char* message = data->args.message; + entry->valid = roctracer::TRACE_ENTRY_COMPL; + entry->type = 0; + entry->cid = cid; + entry->timestamp = timestamp; + entry->pid = GetPid(); + entry->tid = GetTid(); + entry->message = (message != NULL) ? strdup(message) : NULL; +} + +void roctx_flush_cb(roctx_trace_entry_t* entry) { + std::ostringstream os; + os << entry->timestamp << " " << entry->pid << ":" << entry->tid << " " << entry->cid; + if (entry->message != NULL) os << ":\"" << entry->message << "\""; + else os << ":\"\""; + fprintf(roctx_file_handle, "%s\n", os.str().c_str()); fflush(roctx_file_handle); +} + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +// HSA API tracing + struct hsa_api_trace_entry_t { uint32_t valid; uint32_t type; @@ -204,6 +257,9 @@ struct hip_api_trace_entry_t { void* ptr; }; +/////////////////////////////////////////////////////////////////////////////////////////////////////// +// HIP API tracing + void hip_api_flush_cb(hip_api_trace_entry_t* entry); roctracer::TraceBuffer::flush_prm_t hip_flush_prm[1] = {{0, hip_api_flush_cb}}; roctracer::TraceBuffer hip_api_trace_buffer("HIP", 0x200000, hip_flush_prm, 1); @@ -346,6 +402,9 @@ void hcc_activity_callback(const char* begin, const char* end, void* arg) { } } +/////////////////////////////////////////////////////////////////////////////////////////////////////// +// KFD API tracing + // KFD API callback function void kfd_api_callback( uint32_t domain, @@ -365,6 +424,8 @@ void kfd_api_callback( } } +/////////////////////////////////////////////////////////////////////////////////////////////////////// + // Input parser std::string normalize_token(const std::string& token, bool not_empty, const std::string& label) { const std::string space_chars_set = " \t"; @@ -441,21 +502,25 @@ extern "C" PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, // API traces switches const char* trace_domain = getenv("ROCTRACER_DOMAIN"); if (trace_domain != NULL) { - if (strncmp(trace_domain, "hsa", 3) == 0) { + if (std::string(trace_domain).find("roctx") != std::string::npos) { + trace_roctx = true; + } + if (std::string(trace_domain).find("hsa") != std::string::npos) { trace_hsa_api = true; trace_hsa_activity = true; } - if (strncmp(trace_domain, "hip", 3) == 0) { + if (std::string(trace_domain).find("hip") != std::string::npos) { trace_hip = true; } - if (strncmp(trace_domain, "sys", 3) == 0) { + if (std::string(trace_domain).find("sys") != std::string::npos) { trace_hsa_api = true; trace_hip = true; } + if (std::string(trace_domain).find("kfd") != std::string::npos) { + trace_kfd = true; + } } - trace_kfd = (trace_domain == NULL) || (strncmp(trace_domain, "kfd", 3) == 0); - // Output file const char* output_prefix = getenv("ROCP_OUTPUT_DIR"); if (output_prefix != NULL) { @@ -496,16 +561,15 @@ extern "C" PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, break; } + if (name == "rocTX") { + found = true; + trace_roctx = true; + } if (name == "HSA") { found = true; trace_hsa_api = true; hsa_api_vec = api_vec; } - if (name == "KFD") { - found = true; - trace_kfd = true; - kfd_api_vec = api_vec; - } if (name == "GPU") { found = true; trace_hsa_activity = true; @@ -514,13 +578,26 @@ extern "C" PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, found = true; trace_hip = true; } + if (name == "KFD") { + found = true; + trace_kfd = true; + kfd_api_vec = api_vec; + } } if (found) printf("input from \"%s\"", xml_name); } printf("\n"); - // Enable HSA API callbacks + // Enable rpcTX callbacks + if (trace_roctx) { + roctx_file_handle = open_output_file(output_prefix, "roctx_trace.txt"); + + fprintf(stdout, " rocTX-trace()\n"); fflush(stdout); + ROCTRACER_CALL(roctracer_enable_domain_callback(ACTIVITY_DOMAIN_ROCTX, roctx_callback, NULL)); + } + + // Enable HSA API callbacks/activity if (trace_hsa_api) { hsa_api_file_handle = open_output_file(output_prefix, "hsa_api_trace.txt"); @@ -542,25 +619,6 @@ extern "C" PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, printf(")\n"); } - if (trace_kfd) { - kfd_api_file_handle = open_output_file(output_prefix, "kfd_api_trace.txt"); - // initialize KFD tracing - roctracer_set_properties(ACTIVITY_DOMAIN_KFD_API, NULL); - - printf(" KFD-trace("); - if (kfd_api_vec.size() != 0) { - for (unsigned i = 0; i < kfd_api_vec.size(); ++i) { - uint32_t cid = KFD_API_ID_NUMBER; - const char* api = kfd_api_vec[i].c_str(); - ROCTRACER_CALL(roctracer_op_code(ACTIVITY_DOMAIN_KFD_API, api, &cid)); - ROCTRACER_CALL(roctracer_enable_op_callback(ACTIVITY_DOMAIN_KFD_API, cid, kfd_api_callback, NULL)); - printf(" %s", api); - } - } else { - ROCTRACER_CALL(roctracer_enable_domain_callback(ACTIVITY_DOMAIN_KFD_API, kfd_api_callback, NULL)); - } - printf(")\n"); - } if (trace_hsa_activity) { hsa_async_copy_file_handle = open_output_file(output_prefix, "async_copy_trace.txt"); @@ -623,6 +681,27 @@ extern "C" PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, err = pthread_create(&thread, &attr, control_thr_fun, NULL); } + // Enable KFD API callbacks/activity + if (trace_kfd) { + kfd_api_file_handle = open_output_file(output_prefix, "kfd_api_trace.txt"); + // initialize KFD tracing + roctracer_set_properties(ACTIVITY_DOMAIN_KFD_API, NULL); + + printf(" KFD-trace("); + if (kfd_api_vec.size() != 0) { + for (unsigned i = 0; i < kfd_api_vec.size(); ++i) { + uint32_t cid = KFD_API_ID_NUMBER; + const char* api = kfd_api_vec[i].c_str(); + ROCTRACER_CALL(roctracer_op_code(ACTIVITY_DOMAIN_KFD_API, api, &cid)); + ROCTRACER_CALL(roctracer_enable_op_callback(ACTIVITY_DOMAIN_KFD_API, cid, kfd_api_callback, NULL)); + printf(" %s", api); + } + } else { + ROCTRACER_CALL(roctracer_enable_domain_callback(ACTIVITY_DOMAIN_KFD_API, kfd_api_callback, NULL)); + } + printf(")\n"); + } + if (onload_debug) { printf("TOOL OnLoad end\n"); fflush(stdout); } return roctracer_load(table, runtime_version, failed_tool_count, failed_tool_names); } @@ -637,6 +716,12 @@ void tool_unload(bool destruct) { is_unloaded = true; roctracer_unload(destruct); + if (trace_roctx) { + ROCTRACER_CALL(roctracer_disable_domain_callback(ACTIVITY_DOMAIN_ROCTX)); + + roctx_trace_buffer.Flush(); + close_output_file(roctx_file_handle); + } if (trace_hsa_api) { ROCTRACER_CALL(roctracer_disable_domain_callback(ACTIVITY_DOMAIN_HSA_API)); From 013cbe59db9d201fdd155858cbb6ba231b4d9597 Mon Sep 17 00:00:00 2001 From: rkebichi <54912798+rkebichi@users.noreply.github.com> Date: Thu, 10 Oct 2019 10:00:27 -0400 Subject: [PATCH 183/691] Create gen_ostream_ops.py --- script/gen_ostream_ops.py | 206 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 206 insertions(+) create mode 100644 script/gen_ostream_ops.py diff --git a/script/gen_ostream_ops.py b/script/gen_ostream_ops.py new file mode 100644 index 0000000000..ea0fbacb95 --- /dev/null +++ b/script/gen_ostream_ops.py @@ -0,0 +1,206 @@ +#!/usr/bin/python + +import os, sys, re +import CppHeaderParser +import argparse + +LICENSE = \ +'/*\n' + \ +'Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved.\n' + \ +'\n' + \ +'Permission is hereby granted, free of charge, to any person obtaining a copy\n' + \ +'of this software and associated documentation files (the "Software"), to deal\n' + \ +'in the Software without restriction, including without limitation the rights\n' + \ +'to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n' + \ +'copies of the Software, and to permit persons to whom the Software is\n' + \ +'furnished to do so, subject to the following conditions:\n' + \ +'\n' + \ +'The above copyright notice and this permission notice shall be included in\n' + \ +'all copies or substantial portions of the Software.\n' + \ +'\n' + \ +'THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n' + \ +'IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n' + \ +'FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n' + \ +'AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n' + \ +'LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n' + \ +'OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n' + \ +'THE SOFTWARE.\n' + \ +'*/\n' + +HEADER = \ +'#ifndef INC_ROCTRACER_KFD_H_\n' + \ +'#define INC_ROCTRACER_KFD_H_\n' + \ +'#include \n' + \ +'#include \n' + \ +'\n' + \ +'#include \n' + \ +'\n' + \ +'#include "roctracer.h"\n' + \ +'#include "hsakmt.h"\n' + \ +'\n' + \ +'namespace roctracer {\n' + \ +'namespace kfd_support {\n' + \ +'template \n' + \ +'struct output_streamer {\n' + \ +' inline static std::ostream& put(std::ostream& out, const T& v) { return out; }\n' + \ +'};\n' + \ +'template<>\n' + \ +'struct output_streamer {\n' + \ +' inline static std::ostream& put(std::ostream& out, bool v) { out << std::hex << ""; return out; }\n' + \ +'};\n' + \ +'template<>\n' + \ +'struct output_streamer {\n' + \ +' inline static std::ostream& put(std::ostream& out, uint8_t v) { out << std::hex << ""; return out; }\n' + \ +'};\n' + \ +'template<>\n' + \ +'struct output_streamer {\n' + \ +' inline static std::ostream& put(std::ostream& out, uint16_t v) { out << std::hex << ""; return out; }\n' + \ +'};\n' + \ +'template<>\n' + \ +'struct output_streamer {\n' + \ +' inline static std::ostream& put(std::ostream& out, uint32_t v) { out << std::hex << ""; return out; }\n' + \ +'};\n' + \ +'template<>\n' + \ +'struct output_streamer {\n' + \ +' inline static std::ostream& put(std::ostream& out, uint64_t v) { out << std::hex << ""; return out; }\n' + \ +'};\n' + \ +'\n' + \ +'template<>\n' + \ +'struct output_streamer {\n' + \ +' inline static std::ostream& put(std::ostream& out, bool* v) { out << std::hex << ""; return out; }\n' + \ +'};\n' + \ +'template<>\n' + \ +'struct output_streamer {\n' + \ +' inline static std::ostream& put(std::ostream& out, uint8_t* v) { out << std::hex << ""; return out; }\n' + \ +'};\n' + \ +'template<>\n' + \ +'struct output_streamer {\n' + \ +' inline static std::ostream& put(std::ostream& out, uint16_t* v) { out << std::hex << ""; return out; }\n' + \ +'};\n' + \ +'template<>\n' + \ +'struct output_streamer {\n' + \ +' inline static std::ostream& put(std::ostream& out, uint32_t* v) { out << std::hex << ""; return out; }\n' + \ +'};\n' + \ +'template<>\n' + \ +'struct output_streamer {\n' + \ +' inline static std::ostream& put(std::ostream& out, uint64_t* v) { out << std::hex << ""; return out; }\n' + \ +'};\n' + \ +'\n' + +FOOTER = \ +'// end ostream ops for KFD\n' + \ +'};};\n' + \ +'\n' + \ +'#include \n' + \ +'\n' + \ +'#endif // INC_ROCTRACER_KFD_H_\n' + \ +' \n' + +rx_dict = { + 'struct_name': re.compile(r'typedef (?P.*)\n'), + 'field_type': re.compile(r'\s+name\[type\]=(?P.*)\n'), + 'field_name': re.compile(r'\s+name\[name\]=(?P.*)\n'), + 'array_size_val': re.compile(r'\s+name\[array_size\]=(?P.*)\n'), +} + +def _parse_line(line): + + for key, rx in rx_dict.items(): + match = rx.search(line) + if match: + return key, match + return None, None + +def parse_file(infilepath,outfilepath): + f= open(outfilepath,"w+") + f.write("// automatically generated\n") + f.write(LICENSE) + f.write("/////////////////////////////////////////////////////////////////////////////") + f.write("\n") + f.write(HEADER) + f.write("// begin ostream ops for KFD\n") + + with open(infilepath, 'r') as file_object: + line = file_object.readline() + flag=0 + tmp_str="" + while line: + key, match = _parse_line(line) + if key == 'struct_name': + if tmp_str!="": + f.write(tmp_str+"\n") + tmp_str="" + if flag == 1: + f.write(" return out;\n") + f.write("}\n") + f.write("};\n") + flag=0 + struct_name = match.group('struct_name') + if ("anon" not in struct_name and "union" not in struct_name) or args['debug']: + f.write("template<>\n") + f.write("struct output_streamer<"+struct_name+"&> {\n") + f.write(" inline static std::ostream& put(std::ostream& out, "+struct_name+"& v)\n") + f.write("{\n") + flag=1; + if flag==1 and key == 'field_type': + field_type = match.group('field_type') + if field_type == "": + field_type="notype" + if flag==1 and key == 'array_size_val': + array_size_val = match.group('array_size_val') + tmp_str=tmp_str.replace(field_type,field_type+"["+array_size_val+"]") + f.write(tmp_str+"\n") + tmp_str="" + if flag==1 and key == 'field_name' and "union" not in field_type: + if tmp_str!="": + f.write(tmp_str+"\n") + tmp_str="" + field_name = match.group('field_name') + if field_name == "": + field_name="noname" + if (field_name!="noname" and field_type!="notype") or args['debug'] : + tmp_str=" roctracer::kfd_support::output_streamer<"+field_type+">::put(out,v."+field_name+")"+";"; + tmp_str=tmp_str.replace('<::', '<') + #f.write(tmp_str+"\n") + line = file_object.readline() + if tmp_str!="": + f.write(tmp_str+"\n") + tmp_str="" + if flag==1: + f.write(" return out;\n") + f.write("}\n") + f.write("};\n") + f.write(FOOTER) + f.close() + print ("File "+outfilepath+" has been generated.") + return + +def gen_cppheader_lut(infilepath): + try: + cppHeader = CppHeaderParser.CppHeader(infilepath) + except CppHeaderParser.CppParseError as e: + print(e) + sys.exit(1) + + f= open("/tmp/cppheader_lut.txt","w+") + for c in cppHeader.classes: + f.write("typedef %s\n"%(c)) + for l in range(len(cppHeader.classes[c]["properties"]["public"])): + for key in cppHeader.classes[c]["properties"]["public"][l].keys(): + f.write(" name[%s]=%s\n"%(key,cppHeader.classes[c]["properties"]["public"][l][key])) + f.close() + #print ("File /tmp/cppheader_lut.txt has been generated.") + return + + +parser = argparse.ArgumentParser(description='genOstreamOps.py: generates ostream operators for all typedefs in provided input file.') +parser.add_argument('-debug','--debug', help='Debug option for features not supported by CppHeaderParser', action='store_true') +requiredNamed=parser.add_argument_group('Required arguments') +requiredNamed.add_argument('-in','--in', help='Header file to be parsed', required=True) +requiredNamed.add_argument('-out','--out', help='Output file with ostream operators', required=True) +args = vars(parser.parse_args()) + +if __name__ == '__main__': + gen_cppheader_lut(args['in']) + parse_file("/tmp/cppheader_lut.txt",args['out']) + From 9b1bcd5b019f62c70b04a1a8bcf084ee75c9fa7f Mon Sep 17 00:00:00 2001 From: rkebichi <54912798+rkebichi@users.noreply.github.com> Date: Thu, 10 Oct 2019 10:00:56 -0400 Subject: [PATCH 184/691] Delete genOstreamOps.py --- script/genOstreamOps.py | 206 ---------------------------------------- 1 file changed, 206 deletions(-) delete mode 100644 script/genOstreamOps.py diff --git a/script/genOstreamOps.py b/script/genOstreamOps.py deleted file mode 100644 index ea0fbacb95..0000000000 --- a/script/genOstreamOps.py +++ /dev/null @@ -1,206 +0,0 @@ -#!/usr/bin/python - -import os, sys, re -import CppHeaderParser -import argparse - -LICENSE = \ -'/*\n' + \ -'Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved.\n' + \ -'\n' + \ -'Permission is hereby granted, free of charge, to any person obtaining a copy\n' + \ -'of this software and associated documentation files (the "Software"), to deal\n' + \ -'in the Software without restriction, including without limitation the rights\n' + \ -'to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n' + \ -'copies of the Software, and to permit persons to whom the Software is\n' + \ -'furnished to do so, subject to the following conditions:\n' + \ -'\n' + \ -'The above copyright notice and this permission notice shall be included in\n' + \ -'all copies or substantial portions of the Software.\n' + \ -'\n' + \ -'THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n' + \ -'IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n' + \ -'FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n' + \ -'AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n' + \ -'LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n' + \ -'OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n' + \ -'THE SOFTWARE.\n' + \ -'*/\n' - -HEADER = \ -'#ifndef INC_ROCTRACER_KFD_H_\n' + \ -'#define INC_ROCTRACER_KFD_H_\n' + \ -'#include \n' + \ -'#include \n' + \ -'\n' + \ -'#include \n' + \ -'\n' + \ -'#include "roctracer.h"\n' + \ -'#include "hsakmt.h"\n' + \ -'\n' + \ -'namespace roctracer {\n' + \ -'namespace kfd_support {\n' + \ -'template \n' + \ -'struct output_streamer {\n' + \ -' inline static std::ostream& put(std::ostream& out, const T& v) { return out; }\n' + \ -'};\n' + \ -'template<>\n' + \ -'struct output_streamer {\n' + \ -' inline static std::ostream& put(std::ostream& out, bool v) { out << std::hex << ""; return out; }\n' + \ -'};\n' + \ -'template<>\n' + \ -'struct output_streamer {\n' + \ -' inline static std::ostream& put(std::ostream& out, uint8_t v) { out << std::hex << ""; return out; }\n' + \ -'};\n' + \ -'template<>\n' + \ -'struct output_streamer {\n' + \ -' inline static std::ostream& put(std::ostream& out, uint16_t v) { out << std::hex << ""; return out; }\n' + \ -'};\n' + \ -'template<>\n' + \ -'struct output_streamer {\n' + \ -' inline static std::ostream& put(std::ostream& out, uint32_t v) { out << std::hex << ""; return out; }\n' + \ -'};\n' + \ -'template<>\n' + \ -'struct output_streamer {\n' + \ -' inline static std::ostream& put(std::ostream& out, uint64_t v) { out << std::hex << ""; return out; }\n' + \ -'};\n' + \ -'\n' + \ -'template<>\n' + \ -'struct output_streamer {\n' + \ -' inline static std::ostream& put(std::ostream& out, bool* v) { out << std::hex << ""; return out; }\n' + \ -'};\n' + \ -'template<>\n' + \ -'struct output_streamer {\n' + \ -' inline static std::ostream& put(std::ostream& out, uint8_t* v) { out << std::hex << ""; return out; }\n' + \ -'};\n' + \ -'template<>\n' + \ -'struct output_streamer {\n' + \ -' inline static std::ostream& put(std::ostream& out, uint16_t* v) { out << std::hex << ""; return out; }\n' + \ -'};\n' + \ -'template<>\n' + \ -'struct output_streamer {\n' + \ -' inline static std::ostream& put(std::ostream& out, uint32_t* v) { out << std::hex << ""; return out; }\n' + \ -'};\n' + \ -'template<>\n' + \ -'struct output_streamer {\n' + \ -' inline static std::ostream& put(std::ostream& out, uint64_t* v) { out << std::hex << ""; return out; }\n' + \ -'};\n' + \ -'\n' - -FOOTER = \ -'// end ostream ops for KFD\n' + \ -'};};\n' + \ -'\n' + \ -'#include \n' + \ -'\n' + \ -'#endif // INC_ROCTRACER_KFD_H_\n' + \ -' \n' - -rx_dict = { - 'struct_name': re.compile(r'typedef (?P.*)\n'), - 'field_type': re.compile(r'\s+name\[type\]=(?P.*)\n'), - 'field_name': re.compile(r'\s+name\[name\]=(?P.*)\n'), - 'array_size_val': re.compile(r'\s+name\[array_size\]=(?P.*)\n'), -} - -def _parse_line(line): - - for key, rx in rx_dict.items(): - match = rx.search(line) - if match: - return key, match - return None, None - -def parse_file(infilepath,outfilepath): - f= open(outfilepath,"w+") - f.write("// automatically generated\n") - f.write(LICENSE) - f.write("/////////////////////////////////////////////////////////////////////////////") - f.write("\n") - f.write(HEADER) - f.write("// begin ostream ops for KFD\n") - - with open(infilepath, 'r') as file_object: - line = file_object.readline() - flag=0 - tmp_str="" - while line: - key, match = _parse_line(line) - if key == 'struct_name': - if tmp_str!="": - f.write(tmp_str+"\n") - tmp_str="" - if flag == 1: - f.write(" return out;\n") - f.write("}\n") - f.write("};\n") - flag=0 - struct_name = match.group('struct_name') - if ("anon" not in struct_name and "union" not in struct_name) or args['debug']: - f.write("template<>\n") - f.write("struct output_streamer<"+struct_name+"&> {\n") - f.write(" inline static std::ostream& put(std::ostream& out, "+struct_name+"& v)\n") - f.write("{\n") - flag=1; - if flag==1 and key == 'field_type': - field_type = match.group('field_type') - if field_type == "": - field_type="notype" - if flag==1 and key == 'array_size_val': - array_size_val = match.group('array_size_val') - tmp_str=tmp_str.replace(field_type,field_type+"["+array_size_val+"]") - f.write(tmp_str+"\n") - tmp_str="" - if flag==1 and key == 'field_name' and "union" not in field_type: - if tmp_str!="": - f.write(tmp_str+"\n") - tmp_str="" - field_name = match.group('field_name') - if field_name == "": - field_name="noname" - if (field_name!="noname" and field_type!="notype") or args['debug'] : - tmp_str=" roctracer::kfd_support::output_streamer<"+field_type+">::put(out,v."+field_name+")"+";"; - tmp_str=tmp_str.replace('<::', '<') - #f.write(tmp_str+"\n") - line = file_object.readline() - if tmp_str!="": - f.write(tmp_str+"\n") - tmp_str="" - if flag==1: - f.write(" return out;\n") - f.write("}\n") - f.write("};\n") - f.write(FOOTER) - f.close() - print ("File "+outfilepath+" has been generated.") - return - -def gen_cppheader_lut(infilepath): - try: - cppHeader = CppHeaderParser.CppHeader(infilepath) - except CppHeaderParser.CppParseError as e: - print(e) - sys.exit(1) - - f= open("/tmp/cppheader_lut.txt","w+") - for c in cppHeader.classes: - f.write("typedef %s\n"%(c)) - for l in range(len(cppHeader.classes[c]["properties"]["public"])): - for key in cppHeader.classes[c]["properties"]["public"][l].keys(): - f.write(" name[%s]=%s\n"%(key,cppHeader.classes[c]["properties"]["public"][l][key])) - f.close() - #print ("File /tmp/cppheader_lut.txt has been generated.") - return - - -parser = argparse.ArgumentParser(description='genOstreamOps.py: generates ostream operators for all typedefs in provided input file.') -parser.add_argument('-debug','--debug', help='Debug option for features not supported by CppHeaderParser', action='store_true') -requiredNamed=parser.add_argument_group('Required arguments') -requiredNamed.add_argument('-in','--in', help='Header file to be parsed', required=True) -requiredNamed.add_argument('-out','--out', help='Output file with ostream operators', required=True) -args = vars(parser.parse_args()) - -if __name__ == '__main__': - gen_cppheader_lut(args['in']) - parse_file("/tmp/cppheader_lut.txt",args['out']) - From b10ec59e6c610425fd0a1f6f1f3405bb9d8ba91b Mon Sep 17 00:00:00 2001 From: Evgeny Date: Thu, 10 Oct 2019 19:02:40 -0500 Subject: [PATCH 185/691] changing trac control to --- test/run.sh | 3 ++- test/tool/tracer_tool.cpp | 8 ++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/test/run.sh b/test/run.sh index 9f5da3df9e..e5170a1416 100755 --- a/test/run.sh +++ b/test/run.sh @@ -68,7 +68,8 @@ export ROCTRACER_DOMAIN="hip" # HIP test eval_test "tool HIP test" ./test/MatrixTranspose -eval_test "tool HIP period test" "ROCP_CTRL_RATE=10:1000000:100000 ./test/MatrixTranspose" +# with trace sampling control +eval_test "tool HIP period test" "ROCP_CTRL_RATE=10:100000:1000000 ./test/MatrixTranspose" # HSA test export ROCTRACER_DOMAIN="hsa" diff --git a/test/tool/tracer_tool.cpp b/test/tool/tracer_tool.cpp index 0215a2b5f0..bdf1f25321 100644 --- a/test/tool/tracer_tool.cpp +++ b/test/tool/tracer_tool.cpp @@ -655,11 +655,11 @@ extern "C" PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, const char* ctrl_str = getenv("ROCP_CTRL_RATE"); if (ctrl_str != NULL) { uint32_t ctrl_delay = 0; - uint32_t ctrl_rate = 0; uint32_t ctrl_len = 0; - int ret = sscanf(ctrl_str, "%d:%d:%d", &ctrl_delay, &ctrl_rate, &ctrl_len); + uint32_t ctrl_rate = 0; + int ret = sscanf(ctrl_str, "%d:%d:%d", &ctrl_delay, &ctrl_len, &ctrl_rate); if (ret != 3) { - fprintf(stderr, "ROCTracer: control rate value invalid 'delay:rate:length': '%s'\n", ctrl_str); + fprintf(stderr, "ROCTracer: control rate value invalid 'delay:length:rate': '%s'\n", ctrl_str); abort(); } if (ctrl_len > ctrl_rate) { @@ -670,7 +670,7 @@ extern "C" PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, control_len_us = ctrl_len; control_delay_us = ctrl_delay; - fprintf(stdout, "ROCTracer: trace control delay(%uus), rate(%uus), len(%uus)\n", ctrl_delay, ctrl_rate, ctrl_len); fflush(stdout); + fprintf(stdout, "ROCTracer: trace control: delay(%uus), length(%uus), rate(%uus)\n", ctrl_delay, ctrl_len, ctrl_rate); fflush(stdout); roctracer_stop(); From b2c23f63d5fbf8684ec035d5519817884884eef2 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Tue, 15 Oct 2019 11:15:48 -0500 Subject: [PATCH 186/691] conditional building of kfd wrapper --- inc/roctracer_ext.h | 3 --- src/CMakeLists.txt | 21 ++++++++++++------- test/MatrixTranspose/MatrixTranspose.cpp | 4 ++++ test/MatrixTranspose_test/MatrixTranspose.cpp | 10 +++++---- test/run.sh | 2 +- 5 files changed, 24 insertions(+), 16 deletions(-) diff --git a/inc/roctracer_ext.h b/inc/roctracer_ext.h index f91927962b..d555055d0b 100644 --- a/inc/roctracer_ext.h +++ b/inc/roctracer_ext.h @@ -41,9 +41,6 @@ extern "C" { //////////////////////////////////////////////////////////////////////////////// // Application annotatin API -// Mark API -void roctracer_mark(const char* str); - // Tracing start API void roctracer_start(); diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index bf0fe6c06a..4966827737 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -12,16 +12,21 @@ set ( LIB_SRC add_library ( ${TARGET_LIB} SHARED ${LIB_SRC} ) target_include_directories ( ${TARGET_LIB} PRIVATE ${LIB_DIR} ${ROOT_DIR} ${ROOT_DIR}/inc ${HSA_RUNTIME_INC_PATH} ${HSA_RUNTIME_HSA_INC_PATH} ${HIP_INC_DIR} ${HCC_INC_DIR} ${HSA_KMT_INC_PATH} ) target_link_libraries( ${TARGET_LIB} PRIVATE ${HSA_RUNTIME_LIB} c stdc++ ) + +# Generating HSA tracing primitives execute_process ( COMMAND sh -xc "${ROOT_DIR}/script/hsaap.py ${ROOT_DIR} ${HSA_RUNTIME_INC_PATH}" ) -set ( KFD_LIB "kfdwrapper64" ) -set ( KFD_LIB_SRC - ${LIB_DIR}/kfd/kfd_wrapper.cpp -) -add_library ( ${KFD_LIB} SHARED ${KFD_LIB_SRC} ) -target_include_directories ( ${KFD_LIB} PRIVATE ${LIB_DIR} ${ROOT_DIR} ${ROOT_DIR}/inc ${HSA_RUNTIME_INC_PATH} ${HSA_RUNTIME_HSA_INC_PATH} ${HSA_KMT_INC_PATH} ) -target_link_libraries( ${KFD_LIB} PRIVATE c stdc++ ) -execute_process ( COMMAND sh -xc "${ROOT_DIR}/script/kfdap.py ${ROOT_DIR} ${HSA_KMT_INC_PATH}" ) +# Generating KFD/Thunk tracing primitives +if ( DEFINED KFD_WRAPPER ) + set ( KFD_LIB "kfdwrapper64" ) + set ( KFD_LIB_SRC + ${LIB_DIR}/kfd/kfd_wrapper.cpp + ) + add_library ( ${KFD_LIB} SHARED ${KFD_LIB_SRC} ) + target_include_directories ( ${KFD_LIB} PRIVATE ${LIB_DIR} ${ROOT_DIR} ${ROOT_DIR}/inc ${HSA_RUNTIME_INC_PATH} ${HSA_RUNTIME_HSA_INC_PATH} ${HSA_KMT_INC_PATH} ) + target_link_libraries( ${KFD_LIB} PRIVATE c stdc++ ) + execute_process ( COMMAND sh -xc "${ROOT_DIR}/script/kfdap.py ${ROOT_DIR} ${HSA_KMT_INC_PATH}" ) +endif() set ( ROCTX_LIB "roctx64" ) set ( ROCTX_LIB_SRC diff --git a/test/MatrixTranspose/MatrixTranspose.cpp b/test/MatrixTranspose/MatrixTranspose.cpp index 8a5ff54a90..d2ecfb8484 100644 --- a/test/MatrixTranspose/MatrixTranspose.cpp +++ b/test/MatrixTranspose/MatrixTranspose.cpp @@ -36,6 +36,10 @@ THE SOFTWARE. #define THREADS_PER_BLOCK_Y 4 #define THREADS_PER_BLOCK_Z 1 +// Mark API +extern "C" +void roctracer_mark(const char* str); + // Device (Kernel) function, it must be void __global__ void matrixTranspose(float* out, float* in, const int width) { int x = hipBlockDim_x * hipBlockIdx_x + hipThreadIdx_x; diff --git a/test/MatrixTranspose_test/MatrixTranspose.cpp b/test/MatrixTranspose_test/MatrixTranspose.cpp index 1a4978bab7..c2c50ebc41 100644 --- a/test/MatrixTranspose_test/MatrixTranspose.cpp +++ b/test/MatrixTranspose_test/MatrixTranspose.cpp @@ -297,9 +297,10 @@ void init_tracing() { properties.buffer_callback_fun = activity_callback; ROCTRACER_CALL(roctracer_open_pool(&properties)); // Enable HIP API callbacks - ROCTRACER_CALL(roctracer_enable_callback(api_callback, NULL)); + ROCTRACER_CALL(roctracer_enable_domain_callback(ACTIVITY_DOMAIN_HIP_API, api_callback, NULL)); // Enable HIP activity tracing - ROCTRACER_CALL(roctracer_enable_activity()); + ROCTRACER_CALL(roctracer_enable_domain_activity(ACTIVITY_DOMAIN_HIP_API)); + ROCTRACER_CALL(roctracer_enable_domain_activity(ACTIVITY_DOMAIN_HCC_OPS)); } // Start tracing routine @@ -312,8 +313,9 @@ void start_tracing() { // Stop tracing routine void stop_tracing() { - ROCTRACER_CALL(roctracer_disable_callback()); - ROCTRACER_CALL(roctracer_disable_activity()); + ROCTRACER_CALL(roctracer_disable_domain_callback(ACTIVITY_DOMAIN_HIP_API)); + ROCTRACER_CALL(roctracer_disable_domain_activity(ACTIVITY_DOMAIN_HIP_API)); + ROCTRACER_CALL(roctracer_disable_domain_activity(ACTIVITY_DOMAIN_HCC_OPS)); ROCTRACER_CALL(roctracer_flush_activity()); std::cout << "# STOP #############################" << std::endl << std::flush; } diff --git a/test/run.sh b/test/run.sh index e5170a1416..3b383da201 100755 --- a/test/run.sh +++ b/test/run.sh @@ -59,7 +59,7 @@ eval_test() { # Standalone test # rocTrecer is used explicitely by test -eval_test "standalone HIP test" "LD_PRELOAD=libkfdwrapper64.so ./test/MatrixTranspose_test" +eval_test "standalone HIP test" "./test/MatrixTranspose_test" # Tool test # rocTracer/tool is loaded by HSA runtime From c2cb1f2ab99e35721e4eb1ca51bb85adee3d1d2d Mon Sep 17 00:00:00 2001 From: Evgeny Date: Wed, 16 Oct 2019 12:18:13 -0500 Subject: [PATCH 187/691] KFD_WRAPPER macro --- cmake_modules/env.cmake | 5 +++++ src/core/roctracer.cpp | 14 ++++++++++++++ test/tool/tracer_tool.cpp | 6 ++++++ 3 files changed, 25 insertions(+) diff --git a/cmake_modules/env.cmake b/cmake_modules/env.cmake index fbeccf5d09..5627df083f 100644 --- a/cmake_modules/env.cmake +++ b/cmake_modules/env.cmake @@ -43,6 +43,11 @@ if ( DEFINED ENV{CMAKE_DEBUG_TRACE} ) add_definitions ( -DDEBUG_TRACE=1 ) endif() +## Enable KFD wrapper +if ( DEFINED KFD_WRAPPER ) + add_definitions ( -DKFD_WRAPPER=1 ) +endif() + ## Enable HIP/HCC local build if ( DEFINED LOCAL_BUILD ) add_definitions ( -DLOCAL_BUILD=${LOCAL_BUILD} ) diff --git a/src/core/roctracer.cpp b/src/core/roctracer.cpp index 1f64ac859c..1085696a22 100644 --- a/src/core/roctracer.cpp +++ b/src/core/roctracer.cpp @@ -26,7 +26,9 @@ THE SOFTWARE. #include "inc/roctracer_roctx.h" #define PROF_API_IMPL 1 #include "inc/roctracer_hsa.h" +#ifdef KFD_WRAPPER #include "inc/roctracer_kfd.h" +#endif #include #include @@ -726,10 +728,12 @@ PUBLIC_API const char* roctracer_op_string( return roctracer::HipLoader::Instance().ApiName(op); break; } +#if KFD_WRAPPER case ACTIVITY_DOMAIN_KFD_API: { return roctracer::kfd_support::GetApiName(op); break; } +#endif default: EXC_RAISING(ROCTRACER_STATUS_BAD_DOMAIN, "invalid domain ID(" << domain << ")"); } @@ -750,11 +754,13 @@ PUBLIC_API roctracer_status_t roctracer_op_code( if (kind != NULL) *kind = 0; break; } +#ifdef KFD_WRAPPER case ACTIVITY_DOMAIN_KFD_API: { *op = roctracer::kfd_support::GetApiCode(str); if (kind != NULL) *kind = 0; break; } +#endif default: EXC_RAISING(ROCTRACER_STATUS_BAD_DOMAIN, "limited domain ID(" << domain << ")"); } @@ -767,7 +773,9 @@ static inline uint32_t get_op_num(const uint32_t& domain) { case ACTIVITY_DOMAIN_HSA_API: return HSA_API_ID_NUMBER; case ACTIVITY_DOMAIN_HCC_OPS: return hc::HSA_OP_ID_NUMBER; case ACTIVITY_DOMAIN_HIP_API: return HIP_API_ID_NUMBER; +#ifdef KFD_WRAPPER case ACTIVITY_DOMAIN_KFD_API: return KFD_API_ID_NUMBER; +#endif case ACTIVITY_DOMAIN_EXT_API: return 0; case ACTIVITY_DOMAIN_ROCTX: return ROCTX_API_ID_NUMBER; default: @@ -784,11 +792,13 @@ static roctracer_status_t roctracer_enable_callback_fun( void* user_data) { switch (domain) { +#ifdef KFD_WRAPPER case ACTIVITY_DOMAIN_KFD_API: { const bool succ = roctracer::KfdLoader::Instance().RegisterApiCallback(op, (void*)callback, user_data); if (succ == false) EXC_RAISING(ROCTRACER_STATUS_ERROR, "KFD RegisterApiCallback error"); break; } +#endif case ACTIVITY_DOMAIN_HSA_OPS: break; case ACTIVITY_DOMAIN_HSA_API: { roctracer::hsa_support::cb_table.set(op, callback, user_data); @@ -863,11 +873,13 @@ static roctracer_status_t roctracer_disable_callback_fun( uint32_t op) { switch (domain) { +#ifdef KFD_WRAPPER case ACTIVITY_DOMAIN_KFD_API: { const bool succ = roctracer::KfdLoader::Instance().RemoveApiCallback(op); if (succ == false) EXC_RAISING(ROCTRACER_STATUS_ERROR, "KFD RemoveApiCallback error"); break; } +#endif case ACTIVITY_DOMAIN_HSA_OPS: break; case ACTIVITY_DOMAIN_HSA_API: break; case ACTIVITY_DOMAIN_HCC_OPS: break; @@ -1191,10 +1203,12 @@ PUBLIC_API roctracer_status_t roctracer_set_properties( break; } +#ifdef KFD_WRAPPER case ACTIVITY_DOMAIN_KFD_API: { roctracer::kfd_support::intercept_KFDApiTable(); break; } +#endif case ACTIVITY_DOMAIN_HSA_API: { // HSA API properties HsaApiTable* table = reinterpret_cast(properties); diff --git a/test/tool/tracer_tool.cpp b/test/tool/tracer_tool.cpp index bdf1f25321..9e7dab49b0 100644 --- a/test/tool/tracer_tool.cpp +++ b/test/tool/tracer_tool.cpp @@ -37,7 +37,9 @@ THE SOFTWARE. #include #include #include +#ifdef KFD_WRAPPER #include +#endif #include #include #include @@ -406,6 +408,7 @@ void hcc_activity_callback(const char* begin, const char* end, void* arg) { // KFD API tracing // KFD API callback function +#ifdef KFD_WRAPPER void kfd_api_callback( uint32_t domain, uint32_t cid, @@ -423,6 +426,7 @@ void kfd_api_callback( fprintf(kfd_api_file_handle, "%s\n", os.str().c_str()); } } +#endif /////////////////////////////////////////////////////////////////////////////////////////////////////// @@ -681,6 +685,7 @@ extern "C" PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, err = pthread_create(&thread, &attr, control_thr_fun, NULL); } +#ifdef KFD_WRAPPER // Enable KFD API callbacks/activity if (trace_kfd) { kfd_api_file_handle = open_output_file(output_prefix, "kfd_api_trace.txt"); @@ -701,6 +706,7 @@ extern "C" PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, } printf(")\n"); } +#endif if (onload_debug) { printf("TOOL OnLoad end\n"); fflush(stdout); } return roctracer_load(table, runtime_version, failed_tool_count, failed_tool_names); From 30c43513781eee6591f0961951810f63e5447ac7 Mon Sep 17 00:00:00 2001 From: rkebichi <54912798+rkebichi@users.noreply.github.com> Date: Wed, 16 Oct 2019 16:40:40 -0400 Subject: [PATCH 188/691] Update kfdap.py Fix for handling any api return types. --- script/kfdap.py | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/script/kfdap.py b/script/kfdap.py index eb4cb521bc..d822cf2752 100755 --- a/script/kfdap.py +++ b/script/kfdap.py @@ -114,22 +114,26 @@ class API_TableParser: record = ""; cumulate = 0; self.full_fct = {} + rettype = "" + prev_line = "" for line in self.inp.readlines(): line = self.norm_line(line) line = self.fix_comment_line(line) if cumulate == 1: record += " " + line; else: record = line; - if self.is_start(line): cumulate = 1; continue; + if self.is_start(line): rettype = prev_line.strip(); cumulate = 1; prev_line = line; continue; if self.is_end(line): record = self.remove_ret_line(record); cumulate = 0; active = 1; - else: continue; + else: prev_line = line; continue; if active != 0: m = self.is_entry(record) if m: - mycall_full = "void " + m.group(1) + ' (' + m.group(2) + ')' + mycall_full = rettype + " " + m.group(1) + ' (' + m.group(2) + ')' mycall = m.group(1) self.full_fct[mycall] = mycall_full self.array.append(mycall) + rettype = ""; + prev_line = line ############################################################# # API declaration parser clas @@ -262,7 +266,6 @@ class API_DescrParser: # Return types self.api_rettypes.add(api_data[call]['ret']) - self.api_rettypes.discard('void') self.api_data = api_data self.ns_calls = ns_calls @@ -375,7 +378,8 @@ class API_DescrParser: if len(self.api_rettypes) != 0: self.content_h += ' union {\n' for ret_type in self.api_rettypes: - self.content_h += ' ' + ret_type + ' ' + ret_type + '_retval;\n' + if ret_type != 'void': + self.content_h += ' ' + ret_type + ' ' + ret_type + '_retval;\n' self.content_h += ' };\n' self.content_h += ' union {\n' return @@ -522,13 +526,13 @@ class API_DescrParser: self.content_cpp += '}\n\n'; if call != '-': - self.content_cpp += 'PUBLIC_API HSAKMT_STATUS ' + call + '(' + struct['args'] + ') { roctracer::kfd_support::' + call + '_callback(' + self.content_cpp += 'PUBLIC_API ' + struct['ret'] + " " + call + '(' + struct['args'] + ') { return roctracer::kfd_support::' + call + '_callback(' for i in range(0,len(struct['alst'])): if i == (len(struct['alst'])-1): - self.content_cpp += struct['alst'][i].replace("[]","") + self.content_cpp += struct['alst'][i].replace("[]","") else: self.content_cpp += struct['alst'][i].replace("[]","") + ', ' - self.content_cpp += '); return HSAKMT_STATUS_SUCCESS;} \n' + self.content_cpp += ');} \n' ############################################################# # main From 017e792506689473690eaf3be64d82e218dae2ea Mon Sep 17 00:00:00 2001 From: Xiaozhu Meng Date: Fri, 18 Oct 2019 14:24:00 -0500 Subject: [PATCH 189/691] Install libkfdwrapper64.so --- CMakeLists.txt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 04136e0081..f14ba0b9e4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -109,6 +109,9 @@ install ( FILES ${CMAKE_CURRENT_SOURCE_DIR}/inc/roctx.h DESTINATION include ) install ( FILES ${CMAKE_CURRENT_SOURCE_DIR}/inc/roctracer_roctx.h DESTINATION include ) install ( FILES ${PROJECT_BINARY_DIR}/so-roctx-link DESTINATION ../lib RENAME ${ROCTX_LIBRARY}.so ) +## kfdwrapper +install ( TARGETS "kfdwrapper64" LIBRARY DESTINATION lib ) + ## Packaging directives set ( CPACK_GENERATOR "DEB" "RPM" "TGZ" ) set ( CPACK_PACKAGE_NAME "${ROCTRACER_NAME}-dev" ) From 57051220a11b9a22126c5d714fecae8416a2d228 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Mon, 21 Oct 2019 21:18:54 -0500 Subject: [PATCH 190/691] roctx/start/stop interaction --- inc/ext/prof_protocol.h | 1 + inc/roctracer_ext.h | 7 ++ inc/roctracer_roctx.h | 8 ++ src/core/loader.h | 8 +- src/core/memory_pool.h | 210 ++++++++++++++++++++++++++++++++++++++ src/core/roctracer.cpp | 202 +++++------------------------------- src/roctx/roctx.cpp | 56 +++++++--- test/tool/tracer_tool.cpp | 60 ++++++++--- 8 files changed, 345 insertions(+), 207 deletions(-) create mode 100644 src/core/memory_pool.h diff --git a/inc/ext/prof_protocol.h b/inc/ext/prof_protocol.h index ab6f83e335..6d9cd62714 100644 --- a/inc/ext/prof_protocol.h +++ b/inc/ext/prof_protocol.h @@ -31,6 +31,7 @@ typedef enum { ACTIVITY_DOMAIN_HSA_OPS = 1, // HSA async activity domain ACTIVITY_DOMAIN_HCC_OPS = 2, // HCC async activity domain ACTIVITY_DOMAIN_HIP_API = 3, // HIP API domain + ACTIVITY_DOMAIN_HIP_VDI = ACTIVITY_DOMAIN_HCC_OPS, // HIP VDI domain ACTIVITY_DOMAIN_KFD_API = 4, // KFD API domain ACTIVITY_DOMAIN_EXT_API = 5, // External ID domain ACTIVITY_DOMAIN_ROCTX = 6, // ROCTX domain diff --git a/inc/roctracer_ext.h b/inc/roctracer_ext.h index d555055d0b..c2f5c54542 100644 --- a/inc/roctracer_ext.h +++ b/inc/roctracer_ext.h @@ -34,6 +34,13 @@ THE SOFTWARE. #include "roctracer.h" +typedef void (*roctracer_start_cb_t)(); +typedef void (*roctracer_stop_cb_t)(); +typedef struct { + roctracer_start_cb_t start_cb; + roctracer_stop_cb_t stop_cb; +} roctracer_ext_properties_t; + #ifdef __cplusplus extern "C" { #endif // __cplusplus diff --git a/inc/roctracer_roctx.h b/inc/roctracer_roctx.h index aaa95703db..329e974d61 100644 --- a/inc/roctracer_roctx.h +++ b/inc/roctracer_roctx.h @@ -77,6 +77,14 @@ bool RegisterApiCallback(uint32_t op, void* callback, void* arg); // Remove ROCTX callback for given opertaion id bool RemoveApiCallback(uint32_t op); +// Iterate range stack to support tracing start/stop +typedef struct { + const char* message; + uint32_t tid; +} roctx_range_data_t; +typedef void (*roctx_range_iterate_cb_t)(const roctx_range_data_t* data, void* arg); +void RangeStackIterate(roctx_range_iterate_cb_t callback, void* arg); + #ifdef __cplusplus } // extern "C" block #endif // __cplusplus diff --git a/src/core/loader.h b/src/core/loader.h index dfddb11a20..2da49aa8a7 100644 --- a/src/core/loader.h +++ b/src/core/loader.h @@ -141,20 +141,24 @@ class KfdApi { }; // rocTX runtime library loader class +#include "inc/roctracer_roctx.h" class RocTxApi { public: typedef BaseLoader Loader; - typedef bool (RegisterApiCallback_t)(uint32_t op, void* callback, void* arg); - typedef bool (RemoveApiCallback_t)(uint32_t op); + typedef decltype(RegisterApiCallback) RegisterApiCallback_t; + typedef decltype(RemoveApiCallback) RemoveApiCallback_t; + typedef decltype(RangeStackIterate) RangeStackIterate_t; RegisterApiCallback_t* RegisterApiCallback; RemoveApiCallback_t* RemoveApiCallback; + RangeStackIterate_t* RangeStackIterate; protected: void init(Loader* loader) { RegisterApiCallback = loader->GetFun("RegisterApiCallback"); RemoveApiCallback = loader->GetFun("RemoveApiCallback"); + RangeStackIterate = loader->GetFun("RangeStackIterate"); } }; diff --git a/src/core/memory_pool.h b/src/core/memory_pool.h new file mode 100644 index 0000000000..fe2f1a6d3a --- /dev/null +++ b/src/core/memory_pool.h @@ -0,0 +1,210 @@ +/* +Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +*/ + +#ifndef MEMORY_POOL_H_ +#define MEMORY_POOL_H_ + +#include +#include + +#include +#include + +#include "util/exception.h" + +#define PTHREAD_CALL(call) \ + do { \ + int err = call; \ + if (err != 0) { \ + errno = err; \ + perror(#call); \ + abort(); \ + } \ + } while (0) + +namespace roctracer { + +class MemoryPool { + public: + typedef std::mutex mutex_t; + + static void allocator_default(char** ptr, size_t size, void* arg) { + (void)arg; + if (*ptr == NULL) { + *ptr = reinterpret_cast(malloc(size)); + } else if (size != 0) { + *ptr = reinterpret_cast(realloc(ptr, size)); + } else { + free(*ptr); + *ptr = NULL; + } + } + + MemoryPool(const roctracer_properties_t& properties) { + // Assigning pool allocator + alloc_fun_ = allocator_default; + alloc_arg_ = NULL; + if (properties.alloc_fun != NULL) { + alloc_fun_ = properties.alloc_fun; + alloc_arg_ = properties.alloc_arg; + } + + // Pool definition + buffer_size_ = properties.buffer_size; + const size_t pool_size = 2 * buffer_size_; + pool_begin_ = NULL; + alloc_fun_(&pool_begin_, pool_size, alloc_arg_); + if (pool_begin_ == NULL) EXC_ABORT(ROCTRACER_STATUS_ERROR, "pool allocator failed"); + pool_end_ = pool_begin_ + pool_size; + buffer_begin_ = pool_begin_; + buffer_end_ = buffer_begin_ + buffer_size_; + write_ptr_ = buffer_begin_; + + // Consuming read thread + read_callback_fun_ = properties.buffer_callback_fun; + read_callback_arg_ = properties.buffer_callback_arg; + consumer_arg_.set(this, NULL, NULL, true); + PTHREAD_CALL(pthread_mutex_init(&read_mutex_, NULL)); + PTHREAD_CALL(pthread_cond_init(&read_cond_, NULL)); + PTHREAD_CALL(pthread_create(&consumer_thread_, NULL, reader_fun, &consumer_arg_)); + } + + ~MemoryPool() { + Flush(); + PTHREAD_CALL(pthread_cancel(consumer_thread_)); + void *res; + PTHREAD_CALL(pthread_join(consumer_thread_, &res)); + if (res != PTHREAD_CANCELED) EXC_ABORT(ROCTRACER_STATUS_ERROR, "consumer thread wasn't stopped correctly"); + allocator_default(&pool_begin_, 0, alloc_arg_); + } + + template + void Write(const Record& record) { + std::lock_guard lock(write_mutex_); + getRecord(record); + } + + void Flush() { + std::lock_guard lock(write_mutex_); + if (write_ptr_ > buffer_begin_) { + spawn_reader(buffer_begin_, write_ptr_); + sync_reader(&consumer_arg_); + buffer_begin_ = (buffer_end_ == pool_end_) ? pool_begin_ : buffer_end_; + buffer_end_ = buffer_begin_ + buffer_size_; + write_ptr_ = buffer_begin_; + } + } + + private: + struct consumer_arg_t { + MemoryPool* obj; + const char* begin; + const char* end; + volatile std::atomic valid; + void set(MemoryPool* obj_p, const char* begin_p, const char* end_p, bool valid_p) { + obj = obj_p; + begin = begin_p; + end = end_p; + valid.store(valid_p); + } + }; + + template + Record* getRecord(const Record& init) { + char* next = write_ptr_ + sizeof(Record); + if (next > buffer_end_) { + if (write_ptr_ == buffer_begin_) EXC_ABORT(ROCTRACER_STATUS_ERROR, "buffer size(" << buffer_size_ << ") is less then the record(" << sizeof(Record) << ")"); + spawn_reader(buffer_begin_, write_ptr_); + buffer_begin_ = (buffer_end_ == pool_end_) ? pool_begin_ : buffer_end_; + buffer_end_ = buffer_begin_ + buffer_size_; + write_ptr_ = buffer_begin_; + next = write_ptr_ + sizeof(Record); + } + + Record* ptr = reinterpret_cast(write_ptr_); + write_ptr_ = next; + + *ptr = init; + return ptr; + } + + static void reset_reader(consumer_arg_t* arg) { + arg->valid.store(false); + } + + static void sync_reader(const consumer_arg_t* arg) { + while(arg->valid.load() == true) PTHREAD_CALL(pthread_yield()); + } + + static void* reader_fun(void* consumer_arg) { + consumer_arg_t* arg = reinterpret_cast(consumer_arg); + roctracer::MemoryPool* obj = arg->obj; + + reset_reader(arg); + + while (1) { + PTHREAD_CALL(pthread_mutex_lock(&(obj->read_mutex_))); + while (arg->valid.load() == false) { + PTHREAD_CALL(pthread_cond_wait(&(obj->read_cond_), &(obj->read_mutex_))); + } + + obj->read_callback_fun_(arg->begin, arg->end, obj->read_callback_arg_); + reset_reader(arg); + PTHREAD_CALL(pthread_mutex_unlock(&(obj->read_mutex_))); + } + + return NULL; + } + + void spawn_reader(const char* data_begin, const char* data_end) { + sync_reader(&consumer_arg_); + PTHREAD_CALL(pthread_mutex_lock(&read_mutex_)); + consumer_arg_.set(this, data_begin, data_end, true); + PTHREAD_CALL(pthread_cond_signal(&read_cond_)); + PTHREAD_CALL(pthread_mutex_unlock(&read_mutex_)); + } + + // pool allocator + roctracer_allocator_t alloc_fun_; + void* alloc_arg_; + + // Pool definition + size_t buffer_size_; + char* pool_begin_; + char* pool_end_; + char* buffer_begin_; + char* buffer_end_; + char* write_ptr_; + mutex_t write_mutex_; + + // Consuming read thread + roctracer_buffer_callback_t read_callback_fun_; + void* read_callback_arg_; + consumer_arg_t consumer_arg_; + pthread_t consumer_thread_; + pthread_mutex_t read_mutex_; + pthread_cond_t read_cond_; +}; + +} // namespace roctracer + +#endif // MEMORY_POOL_H_ diff --git a/src/core/roctracer.cpp b/src/core/roctracer.cpp index 1085696a22..55428a2aba 100644 --- a/src/core/roctracer.cpp +++ b/src/core/roctracer.cpp @@ -23,6 +23,7 @@ THE SOFTWARE. #include "inc/roctracer.h" #include "inc/roctracer_hcc.h" #include "inc/roctracer_hip.h" +#include "inc/roctracer_ext.h" #include "inc/roctracer_roctx.h" #define PROF_API_IMPL 1 #include "inc/roctracer_hsa.h" @@ -30,18 +31,19 @@ THE SOFTWARE. #include "inc/roctracer_kfd.h" #endif +#include +#include +#include +#include +#include + #include #include #include -#include -#include -#include -#include -#include -#include #include "core/journal.h" #include "core/loader.h" +#include "core/memory_pool.h" #include "core/trace_buffer.h" #include "proxy/tracker.h" #include "ext/hsa_rt_utils.hpp" @@ -58,16 +60,6 @@ THE SOFTWARE. #define CONSTRUCTOR_API __attribute__((constructor)) #define DESTRUCTOR_API __attribute__((destructor)) -#define PTHREAD_CALL(call) \ - do { \ - int err = call; \ - if (err != 0) { \ - errno = err; \ - perror(#call); \ - abort(); \ - } \ - } while (0) - #define HIPAPI_CALL(call) \ do { \ hipError_t err = call; \ @@ -244,7 +236,12 @@ CoreApiTable CoreApiTable_saved{}; AmdExtTable AmdExtTable_saved{}; // Table of function pointers to HSA Image Extension ImageExtTable ImageExtTable_saved{}; -} +} // namespace hsa_support + +namespace ext_support { +roctracer_start_cb_t roctracer_start_cb = NULL; +roctracer_stop_cb_t roctracer_stop_cb = NULL; +} // namespace ext_suppoprt roctracer_status_t GetExcStatus(const std::exception& e) { const util::exception* roctracer_exc_ptr = dynamic_cast(&e); @@ -268,168 +265,6 @@ class GlobalCounter { GlobalCounter::mutex_t GlobalCounter::mutex_; GlobalCounter::counter_t GlobalCounter::counter_ = 0; -class MemoryPool { - public: - typedef std::mutex mutex_t; - - static void allocator_default(char** ptr, size_t size, void* arg) { - (void)arg; - if (*ptr == NULL) { - *ptr = reinterpret_cast(malloc(size)); - } else if (size != 0) { - *ptr = reinterpret_cast(realloc(ptr, size)); - } else { - free(*ptr); - *ptr = NULL; - } - } - - MemoryPool(const roctracer_properties_t& properties) { - // Assigning pool allocator - alloc_fun_ = allocator_default; - alloc_arg_ = NULL; - if (properties.alloc_fun != NULL) { - alloc_fun_ = properties.alloc_fun; - alloc_arg_ = properties.alloc_arg; - } - - // Pool definition - buffer_size_ = properties.buffer_size; - const size_t pool_size = 2 * buffer_size_; - pool_begin_ = NULL; - alloc_fun_(&pool_begin_, pool_size, alloc_arg_); - if (pool_begin_ == NULL) EXC_ABORT(ROCTRACER_STATUS_ERROR, "pool allocator failed"); - pool_end_ = pool_begin_ + pool_size; - buffer_begin_ = pool_begin_; - buffer_end_ = buffer_begin_ + buffer_size_; - write_ptr_ = buffer_begin_; - - // Consuming read thread - read_callback_fun_ = properties.buffer_callback_fun; - read_callback_arg_ = properties.buffer_callback_arg; - consumer_arg_.set(this, NULL, NULL, true); - PTHREAD_CALL(pthread_mutex_init(&read_mutex_, NULL)); - PTHREAD_CALL(pthread_cond_init(&read_cond_, NULL)); - PTHREAD_CALL(pthread_create(&consumer_thread_, NULL, reader_fun, &consumer_arg_)); - } - - ~MemoryPool() { - Flush(); - PTHREAD_CALL(pthread_cancel(consumer_thread_)); - void *res; - PTHREAD_CALL(pthread_join(consumer_thread_, &res)); - if (res != PTHREAD_CANCELED) EXC_ABORT(ROCTRACER_STATUS_ERROR, "consumer thread wasn't stopped correctly"); - allocator_default(&pool_begin_, 0, alloc_arg_); - } - - template - void Write(const Record& record) { - std::lock_guard lock(write_mutex_); - getRecord(record); - } - - void Flush() { - std::lock_guard lock(write_mutex_); - if (write_ptr_ > buffer_begin_) { - spawn_reader(buffer_begin_, write_ptr_); - sync_reader(&consumer_arg_); - buffer_begin_ = (buffer_end_ == pool_end_) ? pool_begin_ : buffer_end_; - buffer_end_ = buffer_begin_ + buffer_size_; - write_ptr_ = buffer_begin_; - } - } - - private: - struct consumer_arg_t { - MemoryPool* obj; - const char* begin; - const char* end; - volatile std::atomic valid; - void set(MemoryPool* obj_p, const char* begin_p, const char* end_p, bool valid_p) { - obj = obj_p; - begin = begin_p; - end = end_p; - valid.store(valid_p); - } - }; - - template - Record* getRecord(const Record& init) { - char* next = write_ptr_ + sizeof(Record); - if (next > buffer_end_) { - if (write_ptr_ == buffer_begin_) EXC_ABORT(ROCTRACER_STATUS_ERROR, "buffer size(" << buffer_size_ << ") is less then the record(" << sizeof(Record) << ")"); - spawn_reader(buffer_begin_, write_ptr_); - buffer_begin_ = (buffer_end_ == pool_end_) ? pool_begin_ : buffer_end_; - buffer_end_ = buffer_begin_ + buffer_size_; - write_ptr_ = buffer_begin_; - next = write_ptr_ + sizeof(Record); - } - - Record* ptr = reinterpret_cast(write_ptr_); - write_ptr_ = next; - - *ptr = init; - return ptr; - } - - static void reset_reader(consumer_arg_t* arg) { - arg->valid.store(false); - } - - static void sync_reader(const consumer_arg_t* arg) { - while(arg->valid.load() == true) PTHREAD_CALL(pthread_yield()); - } - - static void* reader_fun(void* consumer_arg) { - consumer_arg_t* arg = reinterpret_cast(consumer_arg); - roctracer::MemoryPool* obj = arg->obj; - - reset_reader(arg); - - while (1) { - PTHREAD_CALL(pthread_mutex_lock(&(obj->read_mutex_))); - while (arg->valid.load() == false) { - PTHREAD_CALL(pthread_cond_wait(&(obj->read_cond_), &(obj->read_mutex_))); - } - - obj->read_callback_fun_(arg->begin, arg->end, obj->read_callback_arg_); - reset_reader(arg); - PTHREAD_CALL(pthread_mutex_unlock(&(obj->read_mutex_))); - } - - return NULL; - } - - void spawn_reader(const char* data_begin, const char* data_end) { - sync_reader(&consumer_arg_); - PTHREAD_CALL(pthread_mutex_lock(&read_mutex_)); - consumer_arg_.set(this, data_begin, data_end, true); - PTHREAD_CALL(pthread_cond_signal(&read_cond_)); - PTHREAD_CALL(pthread_mutex_unlock(&read_mutex_)); - } - - // pool allocator - roctracer_allocator_t alloc_fun_; - void* alloc_arg_; - - // Pool definition - size_t buffer_size_; - char* pool_begin_; - char* pool_end_; - char* buffer_begin_; - char* buffer_end_; - char* write_ptr_; - mutex_t write_mutex_; - - // Consuming read thread - roctracer_buffer_callback_t read_callback_fun_; - void* read_callback_arg_; - consumer_arg_t consumer_arg_; - pthread_t consumer_thread_; - pthread_mutex_t read_mutex_; - pthread_cond_t read_cond_; -}; - // Records storage struct roctracer_api_data_t { union { @@ -1162,6 +997,7 @@ PUBLIC_API void roctracer_mark(const char* str) { // Start API PUBLIC_API void roctracer_start() { + if (roctracer::ext_support::roctracer_start_cb) roctracer::ext_support::roctracer_start_cb(); roctracer::cb_journal->foreach(roctracer::cb_en_functor_t(roctracer_enable_callback_fun)); roctracer::act_journal->foreach(roctracer::act_en_functor_t(roctracer_enable_activity_fun)); } @@ -1170,6 +1006,7 @@ PUBLIC_API void roctracer_start() { PUBLIC_API void roctracer_stop() { roctracer::cb_journal->foreach(roctracer::cb_dis_functor_t(roctracer_disable_callback_fun)); roctracer::act_journal->foreach(roctracer::act_dis_functor_t(roctracer_disable_activity_fun)); + if (roctracer::ext_support::roctracer_stop_cb) roctracer::ext_support::roctracer_stop_cb(); } // Set properties @@ -1222,6 +1059,13 @@ PUBLIC_API roctracer_status_t roctracer_set_properties( const char* hip_backend_lib_name = getenv("HIP_BACKEND_LIB"); if (hip_backend_lib_name != NULL) roctracer::HccLoader::Instance().SetLibName(hip_backend_lib_name); mark_api_callback_ptr = reinterpret_cast(properties); + break; + } + case ACTIVITY_DOMAIN_EXT_API: { + roctracer_ext_properties_t* ops_properties = reinterpret_cast(properties); + roctracer::ext_support::roctracer_start_cb = ops_properties->start_cb; + roctracer::ext_support::roctracer_stop_cb = ops_properties->stop_cb; + break; } default: EXC_RAISING(ROCTRACER_STATUS_BAD_DOMAIN, "invalid domain ID(" << domain << ")"); diff --git a/src/roctx/roctx.cpp b/src/roctx/roctx.cpp index 61916f146a..fcf379f0fe 100644 --- a/src/roctx/roctx.cpp +++ b/src/roctx/roctx.cpp @@ -24,11 +24,13 @@ THE SOFTWARE. #include "inc/roctracer_roctx.h" #include +#include +#include +#include #include "inc/ext/prof_protocol.h" #include "util/exception.h" #include "util/logger.h" -#include #define PUBLIC_API __attribute__((visibility("default"))) #define CONSTRUCTOR_API __attribute__((constructor)) @@ -62,12 +64,8 @@ THE SOFTWARE. (void)err; \ return X; -static thread_local std::stack message_stack; - -#if 0 -static inline uint32_t GetPid() { return syscall(__NR_getpid); } -static inline uint32_t GetTid() { return syscall(__NR_gettid); } -#endif +inline uint32_t GetPid() { return syscall(__NR_getpid); } +inline uint32_t GetTid() { return syscall(__NR_gettid); } //////////////////////////////////////////////////////////////////////////////// // Library errors enumaration @@ -80,12 +78,27 @@ typedef enum { // Library implementation // namespace roctx { +typedef std::stack message_stack_t; +typedef std::map thread_map_t; +typedef std::mutex map_mutex_t; +map_mutex_t map_mutex; +thread_map_t* thread_map = NULL; +static thread_local message_stack_t* message_stack = NULL; roctx_status_t GetExcStatus(const std::exception& e) { const roctracer::util::exception* roctx_exc_ptr = dynamic_cast(&e); return (roctx_exc_ptr) ? static_cast(roctx_exc_ptr->status()) : ROCTX_STATUS_ERROR; } +void thread_data_init() { + message_stack = new message_stack_t; + const auto tid = GetTid(); + + std::lock_guard lck(map_mutex); + if (thread_map == NULL) thread_map = new thread_map_t; + (*thread_map)[tid] = message_stack; +} + // callbacks table extern cb_table_t cb_table; } // namespace roctx @@ -119,31 +132,50 @@ PUBLIC_API void roctxMarkA(const char* message) { PUBLIC_API int roctxRangePushA(const char* message) { API_METHOD_PREFIX + if (roctx::message_stack == NULL) roctx::thread_data_init(); + roctx_api_data_t api_data{}; api_data.args.roctxRangePushA.message = strdup(message); activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; roctx::cb_table.get(ROCTX_API_ID_roctxRangePushA, &api_callback_fun, &api_callback_arg); if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_ROCTX, ROCTX_API_ID_roctxRangePushA, &api_data, api_callback_arg); - message_stack.push(strdup(message)); + roctx::message_stack->push(strdup(message)); + + return roctx::message_stack->size() - 1; API_METHOD_CATCH(-1); - return message_stack.size()-1; } PUBLIC_API int roctxRangePop() { API_METHOD_PREFIX + if (roctx::message_stack == NULL) roctx::thread_data_init(); + roctx_api_data_t api_data{}; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; roctx::cb_table.get(ROCTX_API_ID_roctxRangePop, &api_callback_fun, &api_callback_arg); if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_ROCTX, ROCTX_API_ID_roctxRangePop, &api_data, api_callback_arg); - if (message_stack.empty()) { + if (roctx::message_stack->empty()) { EXC_ABORT(ROCTX_STATUS_ERROR, "Pop from empty stack!"); } else { - message_stack.pop(); + roctx::message_stack->pop(); } + + return roctx::message_stack->size(); API_METHOD_CATCH(-1) - return message_stack.size(); +} + +PUBLIC_API void RangeStackIterate(roctx_range_iterate_cb_t callback, void* arg) { + for (const auto& entry : *roctx::thread_map) { + const auto tid = entry.first; + for (roctx::message_stack_t stack = *(entry.second); !stack.empty(); stack.pop()){ + std::string message = stack.top(); + roctx_range_data_t data{}; + data.message = message.c_str(); + data.tid = tid; + callback(&data, arg); + } + } } } // extern "C" diff --git a/test/tool/tracer_tool.cpp b/test/tool/tracer_tool.cpp index 9e7dab49b0..f21b0c7f7e 100644 --- a/test/tool/tracer_tool.cpp +++ b/test/tool/tracer_tool.cpp @@ -158,7 +158,24 @@ roctracer::TraceBuffer::flush_prm_t roctx_flush_prm[1] = {{ roctracer::TraceBuffer roctx_trace_buffer("rocTX API", 0x200000, roctx_flush_prm, 1); // rocTX callback function -void roctx_callback( +static inline void roctx_callback_fun( + uint32_t domain, + uint32_t cid, + uint32_t tid, + const char* message) +{ + const timestamp_t timestamp = timer->timestamp_fn_ns(); + roctx_trace_entry_t* entry = roctx_trace_buffer.GetEntry(); + entry->valid = roctracer::TRACE_ENTRY_COMPL; + entry->type = 0; + entry->cid = cid; + entry->timestamp = timestamp; + entry->pid = GetPid(); + entry->tid = tid; + entry->message = (message != NULL) ? strdup(message) : NULL; +} + +void roctx_api_callback( uint32_t domain, uint32_t cid, const void* callback_data, @@ -166,16 +183,23 @@ void roctx_callback( { (void)arg; const roctx_api_data_t* data = reinterpret_cast(callback_data); - const timestamp_t timestamp = timer->timestamp_fn_ns(); - roctx_trace_entry_t* entry = roctx_trace_buffer.GetEntry(); - const char* message = data->args.message; - entry->valid = roctracer::TRACE_ENTRY_COMPL; - entry->type = 0; - entry->cid = cid; - entry->timestamp = timestamp; - entry->pid = GetPid(); - entry->tid = GetTid(); - entry->message = (message != NULL) ? strdup(message) : NULL; + roctx_callback_fun(domain, cid, GetTid(), data->args.message); +} + +// Start/Stop callbacks +void roctx_range_stack_callback(const roctx_range_data_t* data, void* arg) { + const bool* is_stop_ptr = (bool*)arg; + const uint32_t cid = (*is_stop_ptr == true) ? ROCTX_API_ID_roctxRangePop : ROCTX_API_ID_roctxRangePushA; + const char* message = (*is_stop_ptr == true) ? NULL : data->message; + roctx_callback_fun(ACTIVITY_DOMAIN_ROCTX, cid, data->tid, message); +} +void stop_callback() { + bool is_stop = true; + roctracer::RocTxLoader::Instance().RangeStackIterate(roctx_range_stack_callback, (void*)&is_stop); +} +void start_callback() { + bool is_stop = false; + roctracer::RocTxLoader::Instance().RangeStackIterate(roctx_range_stack_callback, (void*)&is_stop); } void roctx_flush_cb(roctx_trace_entry_t* entry) { @@ -597,8 +621,15 @@ extern "C" PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, if (trace_roctx) { roctx_file_handle = open_output_file(output_prefix, "roctx_trace.txt"); + // initialize HSA tracing + roctracer_ext_properties_t properties { + start_callback, + stop_callback + }; + roctracer_set_properties(ACTIVITY_DOMAIN_EXT_API, &properties); + fprintf(stdout, " rocTX-trace()\n"); fflush(stdout); - ROCTRACER_CALL(roctracer_enable_domain_callback(ACTIVITY_DOMAIN_ROCTX, roctx_callback, NULL)); + ROCTRACER_CALL(roctracer_enable_domain_callback(ACTIVITY_DOMAIN_ROCTX, roctx_api_callback, NULL)); } // Enable HSA API callbacks/activity @@ -627,11 +658,12 @@ extern "C" PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, hsa_async_copy_file_handle = open_output_file(output_prefix, "async_copy_trace.txt"); // initialize HSA tracing - roctracer::hsa_ops_properties_t ops_properties{ + roctracer::hsa_ops_properties_t ops_properties { table, reinterpret_cast(hsa_activity_callback), NULL, - output_prefix}; + output_prefix + }; roctracer_set_properties(ACTIVITY_DOMAIN_HSA_OPS, &ops_properties); fprintf(stdout, " HSA-activity-trace()\n"); fflush(stdout); From 72a2571b221bca9dc0860a1167d17d0bb94dba49 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Mon, 21 Oct 2019 23:03:20 -0500 Subject: [PATCH 191/691] hip-vdi support --- cmake_modules/env.cmake | 11 +++++++- inc/roctracer_hcc.h | 15 +++++++++++ src/core/loader.h | 26 +++++++++---------- src/core/roctracer.cpp | 4 +-- test/CMakeLists.txt | 2 +- test/MatrixTranspose_test/Makefile | 3 ++- test/MatrixTranspose_test/MatrixTranspose.cpp | 4 +-- 7 files changed, 45 insertions(+), 20 deletions(-) diff --git a/cmake_modules/env.cmake b/cmake_modules/env.cmake index 5627df083f..727cd0839e 100644 --- a/cmake_modules/env.cmake +++ b/cmake_modules/env.cmake @@ -43,9 +43,16 @@ if ( DEFINED ENV{CMAKE_DEBUG_TRACE} ) add_definitions ( -DDEBUG_TRACE=1 ) endif() +## Enable KFD wrapper +if ( DEFINED HIP_VDI ) + add_definitions ( -DHIP_VDI=${HIP_VDI} ) +else() + set ( HIP_VDI 0 ) +endif() + ## Enable KFD wrapper if ( DEFINED KFD_WRAPPER ) - add_definitions ( -DKFD_WRAPPER=1 ) + add_definitions ( -DKFD_WRAPPER=${KFD_WRAPPER} ) endif() ## Enable HIP/HCC local build @@ -128,5 +135,7 @@ message ( "-----HSA-Runtime-Lib: ${HSA_RUNTIME_LIB_PATH}" ) message ( "-------------HCC-Inc: ${HCC_INC_DIR}" ) message ( "-------------HIP-Inc: ${HIP_INC_DIR}" ) message ( "-------------KFD-Inc: ${HSA_KMT_INC_PATH}" ) +message ( "-------------HIP-VDI: ${HIP_VDI}" ) +message ( "---------KFD_WRAPPER: ${KFD_WRAPPER}" ) message ( "-----CMAKE_CXX_FLAGS: ${CMAKE_CXX_FLAGS}" ) message ( "---CMAKE_PREFIX_PATH: ${CMAKE_PREFIX_PATH}" ) diff --git a/inc/roctracer_hcc.h b/inc/roctracer_hcc.h index 7caee7c9ad..252b984d2a 100644 --- a/inc/roctracer_hcc.h +++ b/inc/roctracer_hcc.h @@ -23,11 +23,26 @@ THE SOFTWARE. #ifndef INC_ROCTRACER_HCC_H_ #define INC_ROCTRACER_HCC_H_ +#if HIP_VDI +#define HIP_OP_ID_NUMBER 3 +#define HIP_OP_ID_COPY 1 +extern "C" { +typedef void (hipInitAsyncActivityCallback_t)(void* id_callback, void* op_callback, void* arg); +typedef bool (hipEnableAsyncActivityCallback_t)(unsigned op, bool enable); +typedef const char* (hipGetOpName_t)(unsigned op); +} +#else // !HIP_VDI #if LOCAL_BUILD #include #else #include #endif +#define HIP_OP_ID_NUMBER hc::HSA_OP_ID_NUMBER +#define HIP_OP_ID_COPY hc::HSA_OP_ID_COPY +typedef decltype(Kalmar::CLAMP::InitActivityCallback) hipInitAsyncActivityCallback_t; +typedef decltype(Kalmar::CLAMP::EnableActivityCallback) hipEnableAsyncActivityCallback_t; +typedef decltype(Kalmar::CLAMP::GetCmdName) hipGetOpName_t; +#endif // !HIP_VDI #include "roctracer.h" diff --git a/src/core/loader.h b/src/core/loader.h index 2da49aa8a7..1c4005dd3b 100644 --- a/src/core/loader.h +++ b/src/core/loader.h @@ -99,26 +99,26 @@ class HipApi { }; // HCC runtime library loader class +#include "inc/roctracer_hcc.h" class HccApi { public: typedef BaseLoader Loader; - typedef decltype(Kalmar::CLAMP::InitActivityCallback) InitActivityCallback_t; - typedef decltype(Kalmar::CLAMP::EnableActivityCallback) EnableActivityCallback_t; - typedef decltype(Kalmar::CLAMP::GetCmdName) GetCmdName_t; - - InitActivityCallback_t* InitActivityCallback; - EnableActivityCallback_t* EnableActivityCallback; - GetCmdName_t* GetCmdName; + hipInitAsyncActivityCallback_t* InitActivityCallback; + hipEnableAsyncActivityCallback_t* EnableActivityCallback; + hipGetOpName_t* GetOpName; protected: void init(Loader* loader) { - // Kalmar::CLAMP::InitActivityCallback - InitActivityCallback = loader->GetFun("InitActivityCallbackImpl"); - // Kalmar::CLAMP::EnableActivityIdCallback - EnableActivityCallback = loader->GetFun("EnableActivityCallbackImpl"); - // Kalmar::CLAMP::GetCmdName - GetCmdName = loader->GetFun("GetCmdNameImpl"); +#if HIP_VDI + InitActivityCallback = loader->GetFun("InitActivityCallback"); + EnableActivityCallback = loader->GetFun("EnableActivityCallback"); + GetOpName = loader->GetFun("GetCmdName"); +#else + InitActivityCallback = loader->GetFun("InitActivityCallbackImpl"); + EnableActivityCallback = loader->GetFun("EnableActivityCallbackImpl"); + GetOpName = loader->GetFun("GetCmdNameImpl"); +#endif } }; diff --git a/src/core/roctracer.cpp b/src/core/roctracer.cpp index 55428a2aba..6b58dced69 100644 --- a/src/core/roctracer.cpp +++ b/src/core/roctracer.cpp @@ -556,7 +556,7 @@ PUBLIC_API const char* roctracer_op_string( break; } case ACTIVITY_DOMAIN_HCC_OPS: { - return roctracer::HccLoader::Instance().GetCmdName(kind); + return roctracer::HccLoader::Instance().GetOpName(kind); break; } case ACTIVITY_DOMAIN_HIP_API: { @@ -606,7 +606,7 @@ static inline uint32_t get_op_num(const uint32_t& domain) { switch (domain) { case ACTIVITY_DOMAIN_HSA_OPS: return 1; case ACTIVITY_DOMAIN_HSA_API: return HSA_API_ID_NUMBER; - case ACTIVITY_DOMAIN_HCC_OPS: return hc::HSA_OP_ID_NUMBER; + case ACTIVITY_DOMAIN_HCC_OPS: return HIP_OP_ID_NUMBER; case ACTIVITY_DOMAIN_HIP_API: return HIP_API_ID_NUMBER; #ifdef KFD_WRAPPER case ACTIVITY_DOMAIN_KFD_API: return KFD_API_ID_NUMBER; diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index d794c44c39..3be85fc399 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -33,7 +33,7 @@ set ( RUN_SCRIPT "${TEST_DIR}/run.sh" ) add_custom_target( mytest COMMAND make -C "${TEST_DIR}/MatrixTranspose" COMMAND sh -xc "cp ${TEST_DIR}/MatrixTranspose/MatrixTranspose ${PROJECT_BINARY_DIR}/test" - COMMAND make -C "${TEST_DIR}/MatrixTranspose_test" + COMMAND HIP_VDI=${HIP_VDI} make -C "${TEST_DIR}/MatrixTranspose_test" COMMAND sh -xc "cp ${TEST_DIR}/MatrixTranspose_test/MatrixTranspose ${PROJECT_BINARY_DIR}/test/MatrixTranspose_test" ) diff --git a/test/MatrixTranspose_test/Makefile b/test/MatrixTranspose_test/Makefile index e74d66b0d1..3caef12634 100644 --- a/test/MatrixTranspose_test/Makefile +++ b/test/MatrixTranspose_test/Makefile @@ -2,6 +2,7 @@ ROOT_PATH = ../.. LIB_PATH = $(ROOT_PATH)/build ROC_LIBS = -L$(LIB_PATH) -lroctracer64 -lroctx64 export LD_LIBRARY_PATH=$(LIB_PATH) +HIP_VDI ?= 0 ITERATIONS ?= 100 HIP_PATH?= $(wildcard /opt/rocm/hip) @@ -23,7 +24,7 @@ EXECUTABLE=./MatrixTranspose all: clean $(EXECUTABLE) -CXXFLAGS =-g -I$(ROOT_PATH) -I$(ROOT_PATH)/inc -DLOCAL_BUILD=1 -DITERATIONS=$(ITERATIONS) +CXXFLAGS =-g -I$(ROOT_PATH) -I$(ROOT_PATH)/inc -DLOCAL_BUILD=1 -DHIP_VDI=${HIP_VDI} -DITERATIONS=$(ITERATIONS) CXX=$(HIPCC) $(EXECUTABLE): $(OBJECTS) diff --git a/test/MatrixTranspose_test/MatrixTranspose.cpp b/test/MatrixTranspose_test/MatrixTranspose.cpp index c2c50ebc41..c2a4ebad3c 100644 --- a/test/MatrixTranspose_test/MatrixTranspose.cpp +++ b/test/MatrixTranspose_test/MatrixTranspose.cpp @@ -32,7 +32,7 @@ THE SOFTWARE. #include #ifndef ITERATIONS -# define ITERATIONS 100 +# define ITERATIONS 101 #endif #define WIDTH 1024 @@ -273,7 +273,7 @@ void activity_callback(const char* begin, const char* end, void* arg) { record->device_id, record->queue_id ); - if (record->op == hc::HSA_OP_ID_COPY) fprintf(stdout, " bytes(0x%zx)", record->bytes); + if (record->op == HIP_OP_ID_COPY) fprintf(stdout, " bytes(0x%zx)", record->bytes); } else if (record->domain == ACTIVITY_DOMAIN_EXT_API) { fprintf(stdout, " external_id(%lu)", record->external_id From 975656ef0986a52c70083c2126c81452d2540224 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Tue, 22 Oct 2019 11:18:33 -0500 Subject: [PATCH 192/691] adding PREFIX_PATH env vsr to build script --- build.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/build.sh b/build.sh index f0bdaf473b..d8d70c4928 100755 --- a/build.sh +++ b/build.sh @@ -17,6 +17,7 @@ if [ -z "$HCC_HOME" ] ; then export HCC_HOME="$ROCM_PATH/hcc"; fi if [ -z "$BUILD_TYPE" ] ; then BUILD_TYPE="release"; fi if [ -z "$PACKAGE_ROOT" ] ; then PACKAGE_ROOT=$ROCM_PATH; fi if [ -z "$PACKAGE_PREFIX" ] ; then PACKAGE_PREFIX="$ROCM_PATH/$COMPONENT"; fi +if [ -z "$PREFIX_PATH" ] ; then PREFIX_PATH=$PACKAGE_ROOT; fi ROCTRACER_ROOT=$(cd $ROCTRACER_ROOT && echo $PWD) MAKE_OPTS="-j 8 -C $BUILD_DIR" @@ -27,7 +28,7 @@ pushd $BUILD_DIR cmake \ -DCMAKE_MODULE_PATH=$ROCTRACER_ROOT/cmake_modules \ -DCMAKE_BUILD_TYPE=$BUILD_TYPE \ - -DCMAKE_PREFIX_PATH="$PACKAGE_ROOT" \ + -DCMAKE_PREFIX_PATH="$PREFIX_PATH" \ -DCMAKE_INSTALL_PREFIX=$PACKAGE_ROOT \ -DCPACK_PACKAGING_INSTALL_PREFIX=$PACKAGE_PREFIX \ -DCPACK_GENERATOR="DEB;RPM" \ From 5ae9aa14926e8e6fa6fb4e145160e11d06b21a2c Mon Sep 17 00:00:00 2001 From: rkebichi <54912798+rkebichi@users.noreply.github.com> Date: Tue, 22 Oct 2019 15:18:45 -0400 Subject: [PATCH 193/691] Update roctracer_kfd.h --- inc/roctracer_kfd.h | 606 +++++++++++++++++++++++--------------------- 1 file changed, 324 insertions(+), 282 deletions(-) diff --git a/inc/roctracer_kfd.h b/inc/roctracer_kfd.h index a06b75ff71..22cb46e2c9 100644 --- a/inc/roctracer_kfd.h +++ b/inc/roctracer_kfd.h @@ -1,3 +1,4 @@ +// automatically generated /* Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. @@ -19,7 +20,7 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ - +///////////////////////////////////////////////////////////////////////////// #ifndef INC_ROCTRACER_KFD_H_ #define INC_ROCTRACER_KFD_H_ #include @@ -78,50 +79,139 @@ struct output_streamer { inline static std::ostream& put(std::ostream& out, uint64_t* v) { out << std::hex << ""; return out; } }; -template<> -struct output_streamer { - inline static std::ostream& put(std::ostream& out, hsa_queue_t* v) { out << ""; return out; } -}; -template<> -struct output_streamer { - inline static std::ostream& put(std::ostream& out, hsa_queue_t** v) { out << ""; return out; } -}; // begin ostream ops for KFD template<> +struct output_streamer { + inline static std::ostream& put(std::ostream& out, HsaQueueReport& v) +{ + roctracer::kfd_support::output_streamer::put(out,v.VMID); + roctracer::kfd_support::output_streamer::put(out,v.QueueSize); + return out; +} +}; +template<> +struct output_streamer { + inline static std::ostream& put(std::ostream& out, HSA_DEBUG_PROPERTIES& v) +{ + roctracer::kfd_support::output_streamer::put(out,v.Value); + return out; +} +}; +template<> +struct output_streamer { + inline static std::ostream& put(std::ostream& out, HsaNodeChange& v) +{ + roctracer::kfd_support::output_streamer::put(out,v.Flags); + return out; +} +}; +template<> +struct output_streamer { + inline static std::ostream& put(std::ostream& out, HsaDeviceStateChange& v) +{ + roctracer::kfd_support::output_streamer::put(out,v.NodeId); + roctracer::kfd_support::output_streamer::put(out,v.Device); + roctracer::kfd_support::output_streamer::put(out,v.Flags); + return out; +} +}; +template<> +struct output_streamer { + inline static std::ostream& put(std::ostream& out, HSA_LINKPROPERTY& v) +{ + roctracer::kfd_support::output_streamer::put(out,v.LinkProperty); + return out; +} +}; +template<> +struct output_streamer { + inline static std::ostream& put(std::ostream& out, HsaDbgWaveMsgAMDGen2& v) +{ + roctracer::kfd_support::output_streamer::put(out,v.Value); + roctracer::kfd_support::output_streamer::put(out,v.Reserved2); + return out; +} +}; +template<> +struct output_streamer { + inline static std::ostream& put(std::ostream& out, HsaMemoryRange& v) +{ + roctracer::kfd_support::output_streamer::put(out,v.SizeInBytes); + return out; +} +}; +template<> +struct output_streamer { + inline static std::ostream& put(std::ostream& out, HsaCounterProperties& v) +{ + roctracer::kfd_support::output_streamer::put(out,v.NumBlocks); + roctracer::kfd_support::output_streamer::put(out,v.NumConcurrent); + roctracer::kfd_support::output_streamer::put(out,v.Blocks); + return out; +} +}; +template<> +struct output_streamer { + inline static std::ostream& put(std::ostream& out, HSA_ENGINE_VERSION& v) +{ + roctracer::kfd_support::output_streamer::put(out,v.Value); + return out; +} +}; +template<> +struct output_streamer { + inline static std::ostream& put(std::ostream& out, HsaCComputeProperties& v) +{ + roctracer::kfd_support::output_streamer::put(out,v.SiblingMap); + return out; +} +}; +template<> struct output_streamer { inline static std::ostream& put(std::ostream& out, HsaVersionInfo& v) { - roctracer::kfd_support::output_streamer::put(out,v.KernelInterfaceMajorVersion); - roctracer::kfd_support::output_streamer::put(out,v.KernelInterfaceMinorVersion); + roctracer::kfd_support::output_streamer::put(out,v.KernelInterfaceMajorVersion); + roctracer::kfd_support::output_streamer::put(out,v.KernelInterfaceMinorVersion); return out; } }; template<> -struct output_streamer { - inline static std::ostream& put(std::ostream& out, HsaSystemProperties& v) { - roctracer::kfd_support::output_streamer::put(out,v.NumNodes); - roctracer::kfd_support::output_streamer::put(out,v.PlatformOem); - roctracer::kfd_support::output_streamer::put(out,v.PlatformId); - roctracer::kfd_support::output_streamer::put(out,v.PlatformRev); - return out; -} -}; -template<> -struct output_streamer { - inline static std::ostream& put(std::ostream& out, HSA_CAPABILITY& v) +struct output_streamer { + inline static std::ostream& put(std::ostream& out, HsaCacheType& v) { - roctracer::kfd_support::output_streamer::put(out,v.Value); - roctracer::kfd_support::output_streamer::put(out,v.ui32.HotPluggable); - roctracer::kfd_support::output_streamer::put(out,v.ui32.HSAMMUPresent); - roctracer::kfd_support::output_streamer::put(out,v.ui32.SharedWithGraphics); - roctracer::kfd_support::output_streamer::put(out,v.ui32.QueueSizePowerOfTwo); - roctracer::kfd_support::output_streamer::put(out,v.ui32.QueueSize32bit); - roctracer::kfd_support::output_streamer::put(out,v.ui32.QueueIdleEvent); - roctracer::kfd_support::output_streamer::put(out,v.ui32.VALimit); - roctracer::kfd_support::output_streamer::put(out,v.ui32.WatchPointsSupported); - roctracer::kfd_support::output_streamer::put(out,v.ui32.WatchPointsTotalBits); - roctracer::kfd_support::output_streamer::put(out,v.ui32.DoorbellType); - roctracer::kfd_support::output_streamer::put(out,v.ui32.Reserved); + roctracer::kfd_support::output_streamer::put(out,v.Value); + return out; +} +}; +template<> +struct output_streamer { + inline static std::ostream& put(std::ostream& out, HSA_MEMORYPROPERTY& v) +{ + roctracer::kfd_support::output_streamer::put(out,v.MemoryProperty); + return out; +} +}; +template<> +struct output_streamer { + inline static std::ostream& put(std::ostream& out, HsaClockCounters& v) +{ + roctracer::kfd_support::output_streamer::put(out,v.GPUClockCounter); + roctracer::kfd_support::output_streamer::put(out,v.CPUClockCounter); + roctracer::kfd_support::output_streamer::put(out,v.SystemClockCounter); + roctracer::kfd_support::output_streamer::put(out,v.SystemClockFrequencyHz); + return out; +} +}; +template<> +struct output_streamer { + inline static std::ostream& put(std::ostream& out, HsaCounter& v) +{ + roctracer::kfd_support::output_streamer::put(out,v.Type); + roctracer::kfd_support::output_streamer::put(out,v.CounterId); + roctracer::kfd_support::output_streamer::put(out,v.CounterSizeInBits); + roctracer::kfd_support::output_streamer::put(out,v.CounterMask); + roctracer::kfd_support::output_streamer::put(out,v.Flags); + roctracer::kfd_support::output_streamer::put(out,v.BlockIndex); return out; } }; @@ -154,8 +244,8 @@ struct output_streamer { roctracer::kfd_support::output_streamer::put(out,v.MaxEngineClockMhzFCompute); roctracer::kfd_support::output_streamer::put(out,v.MaxEngineClockMhzCCompute); roctracer::kfd_support::output_streamer::put(out,v.DrmRenderMinor); - roctracer::kfd_support::output_streamer::put(out,v.MarketingName); - roctracer::kfd_support::output_streamer::put(out,v.AMDName); + roctracer::kfd_support::output_streamer::put(out,v.MarketingName); + roctracer::kfd_support::output_streamer::put(out,v.AMDName); roctracer::kfd_support::output_streamer::put(out,v.uCodeEngineVersions); roctracer::kfd_support::output_streamer::put(out,v.DebugProperties); roctracer::kfd_support::output_streamer::put(out,v.HiveID); @@ -167,13 +257,13 @@ struct output_streamer { } }; template<> -struct output_streamer { - inline static std::ostream& put(std::ostream& out, HSA_MEMORYPROPERTY& v) +struct output_streamer { + inline static std::ostream& put(std::ostream& out, HsaSystemProperties& v) { - roctracer::kfd_support::output_streamer::put(out,v.MemoryProperty); - roctracer::kfd_support::output_streamer::put(out,v.ui32.HotPluggable); - roctracer::kfd_support::output_streamer::put(out,v.ui32.NonVolatile); - roctracer::kfd_support::output_streamer::put(out,v.ui32.Reserved); + roctracer::kfd_support::output_streamer::put(out,v.NumNodes); + roctracer::kfd_support::output_streamer::put(out,v.PlatformOem); + roctracer::kfd_support::output_streamer::put(out,v.PlatformId); + roctracer::kfd_support::output_streamer::put(out,v.PlatformRev); return out; } }; @@ -181,64 +271,44 @@ template<> struct output_streamer { inline static std::ostream& put(std::ostream& out, HsaMemoryProperties& v) { - roctracer::kfd_support::output_streamer::put(out,v.HeapType); - roctracer::kfd_support::output_streamer::put(out,v.SizeInBytes); - roctracer::kfd_support::output_streamer::put(out,v.ui32.SizeInBytesLow); - roctracer::kfd_support::output_streamer::put(out,v.ui32.SizeInBytesHigh); + roctracer::kfd_support::output_streamer::put(out,v.HeapType); roctracer::kfd_support::output_streamer::put(out,v.Flags); - roctracer::kfd_support::output_streamer::put(out,v.Width); - roctracer::kfd_support::output_streamer::put(out,v.MemoryClockMax); - roctracer::kfd_support::output_streamer::put(out,v.VirtualBaseAddress); + roctracer::kfd_support::output_streamer::put(out,v.Width); + roctracer::kfd_support::output_streamer::put(out,v.MemoryClockMax); + roctracer::kfd_support::output_streamer::put(out,v.VirtualBaseAddress); return out; } }; template<> -struct output_streamer { - inline static std::ostream& put(std::ostream& out, HsaCacheType& v) +struct output_streamer { + inline static std::ostream& put(std::ostream& out, HSA_ENGINE_ID& v) { - roctracer::kfd_support::output_streamer::put(out,v.Value); - roctracer::kfd_support::output_streamer::put(out,v.ui32.Data); - roctracer::kfd_support::output_streamer::put(out,v.ui32.Instruction); - roctracer::kfd_support::output_streamer::put(out,v.ui32.CPU); - roctracer::kfd_support::output_streamer::put(out,v.ui32.HSACU); - roctracer::kfd_support::output_streamer::put(out,v.ui32.Reserved); + roctracer::kfd_support::output_streamer::put(out,v.Value); return out; } }; template<> -struct output_streamer { - inline static std::ostream& put(std::ostream& out, HsaCacheProperties& v) +struct output_streamer { + inline static std::ostream& put(std::ostream& out, HSA_CAPABILITY& v) { - roctracer::kfd_support::output_streamer::put(out,v.ProcessorIdLow); - roctracer::kfd_support::output_streamer::put(out,v.CacheLevel); - roctracer::kfd_support::output_streamer::put(out,v.CacheSize); - roctracer::kfd_support::output_streamer::put(out,v.CacheLineSize); - roctracer::kfd_support::output_streamer::put(out,v.CacheLinesPerTag); - roctracer::kfd_support::output_streamer::put(out,v.CacheAssociativity); - roctracer::kfd_support::output_streamer::put(out,v.CacheLatency); - roctracer::kfd_support::output_streamer::put(out,v.CacheType); - roctracer::kfd_support::output_streamer::put(out,v.SiblingMap); + roctracer::kfd_support::output_streamer::put(out,v.Value); return out; } }; template<> -struct output_streamer { - inline static std::ostream& put(std::ostream& out, HsaCComputeProperties& v) +struct output_streamer { + inline static std::ostream& put(std::ostream& out, HsaQueueInfo& v) { - roctracer::kfd_support::output_streamer::put(out,v.SiblingMap); - return out; -} -}; -template<> -struct output_streamer { - inline static std::ostream& put(std::ostream& out, HSA_LINKPROPERTY& v) -{ - roctracer::kfd_support::output_streamer::put(out,v.LinkProperty); - roctracer::kfd_support::output_streamer::put(out,v.ui32.Override); - roctracer::kfd_support::output_streamer::put(out,v.ui32.NonCoherent); - roctracer::kfd_support::output_streamer::put(out,v.ui32.NoAtomics32bit); - roctracer::kfd_support::output_streamer::put(out,v.ui32.NoAtomics64bit); - roctracer::kfd_support::output_streamer::put(out,v.ui32.Reserved); + roctracer::kfd_support::output_streamer::put(out,v.QueueDetailError); + roctracer::kfd_support::output_streamer::put(out,v.QueueTypeExtended); + roctracer::kfd_support::output_streamer::put(out,v.NumCUAssigned); + roctracer::kfd_support::output_streamer::put(out,v.CUMaskInfo); + roctracer::kfd_support::output_streamer::put(out,v.UserContextSaveArea); + roctracer::kfd_support::output_streamer::put(out,v.SaveAreaSizeInBytes); + roctracer::kfd_support::output_streamer::put(out,v.ControlStackTop); + roctracer::kfd_support::output_streamer::put(out,v.ControlStackUsedInBytes); + roctracer::kfd_support::output_streamer::put(out,v.SaveAreaHeader); + roctracer::kfd_support::output_streamer::put(out,v.Reserved2); return out; } }; @@ -246,74 +316,74 @@ template<> struct output_streamer { inline static std::ostream& put(std::ostream& out, HsaIoLinkProperties& v) { - roctracer::kfd_support::output_streamer::put(out,v.IoLinkType); - roctracer::kfd_support::output_streamer::put(out,v.VersionMajor); - roctracer::kfd_support::output_streamer::put(out,v.VersionMinor); - roctracer::kfd_support::output_streamer::put(out,v.NodeFrom); - roctracer::kfd_support::output_streamer::put(out,v.NodeTo); - roctracer::kfd_support::output_streamer::put(out,v.Weight); - roctracer::kfd_support::output_streamer::put(out,v.MinimumLatency); - roctracer::kfd_support::output_streamer::put(out,v.MaximumLatency); - roctracer::kfd_support::output_streamer::put(out,v.MinimumBandwidth); - roctracer::kfd_support::output_streamer::put(out,v.MaximumBandwidth); - roctracer::kfd_support::output_streamer::put(out,v.RecTransferSize); - roctracer::kfd_support::output_streamer::put(out,v.Flags); + roctracer::kfd_support::output_streamer::put(out,v.IoLinkType); + roctracer::kfd_support::output_streamer::put(out,v.VersionMajor); + roctracer::kfd_support::output_streamer::put(out,v.VersionMinor); + roctracer::kfd_support::output_streamer::put(out,v.NodeFrom); + roctracer::kfd_support::output_streamer::put(out,v.NodeTo); + roctracer::kfd_support::output_streamer::put(out,v.Weight); + roctracer::kfd_support::output_streamer::put(out,v.MinimumLatency); + roctracer::kfd_support::output_streamer::put(out,v.MaximumLatency); + roctracer::kfd_support::output_streamer::put(out,v.MinimumBandwidth); + roctracer::kfd_support::output_streamer::put(out,v.MaximumBandwidth); + roctracer::kfd_support::output_streamer::put(out,v.RecTransferSize); + roctracer::kfd_support::output_streamer::put(out,v.Flags); return out; } }; template<> -struct output_streamer { - inline static std::ostream& put(std::ostream& out, HsaMemFlags& v) +struct output_streamer { + inline static std::ostream& put(std::ostream& out, HsaMemoryAccessFault& v) { - roctracer::kfd_support::output_streamer::put(out,v.ui32.NonPaged); - roctracer::kfd_support::output_streamer::put(out,v.ui32.CachePolicy); - roctracer::kfd_support::output_streamer::put(out,v.ui32.ReadOnly); - roctracer::kfd_support::output_streamer::put(out,v.ui32.PageSize); - roctracer::kfd_support::output_streamer::put(out,v.ui32.HostAccess); - roctracer::kfd_support::output_streamer::put(out,v.ui32.NoSubstitute); - roctracer::kfd_support::output_streamer::put(out,v.ui32.GDSMemory); - roctracer::kfd_support::output_streamer::put(out,v.ui32.Scratch); - roctracer::kfd_support::output_streamer::put(out,v.ui32.AtomicAccessFull); - roctracer::kfd_support::output_streamer::put(out,v.ui32.AtomicAccessPartial); - roctracer::kfd_support::output_streamer::put(out,v.ui32.ExecuteAccess); - roctracer::kfd_support::output_streamer::put(out,v.ui32.Reserved); - roctracer::kfd_support::output_streamer::put(out,v.Value); + roctracer::kfd_support::output_streamer::put(out,v.NodeId); + roctracer::kfd_support::output_streamer::put(out,v.VirtualAddress); + roctracer::kfd_support::output_streamer::put(out,v.Failure); + roctracer::kfd_support::output_streamer::put(out,v.Flags); return out; } }; template<> -struct output_streamer { - inline static std::ostream& put(std::ostream& out, HsaQueueResource& v) +struct output_streamer { + inline static std::ostream& put(std::ostream& out, HsaEvent& v) { - roctracer::kfd_support::output_streamer::put(out,v.QueueId); - roctracer::kfd_support::output_streamer::put(out,*(v.Queue_DoorBell)); - roctracer::kfd_support::output_streamer::put(out,*(v.Queue_DoorBell_aql)); - roctracer::kfd_support::output_streamer::put(out,v.QueueDoorBell); - roctracer::kfd_support::output_streamer::put(out,*(v.Queue_write_ptr)); - roctracer::kfd_support::output_streamer::put(out,*(v.Queue_write_ptr_aql)); - roctracer::kfd_support::output_streamer::put(out,v.QueueWptrValue); - roctracer::kfd_support::output_streamer::put(out,*(v.Queue_read_ptr)); - roctracer::kfd_support::output_streamer::put(out,*(v.Queue_read_ptr_aql)); - roctracer::kfd_support::output_streamer::put(out,v.QueueRptrValue); + roctracer::kfd_support::output_streamer::put(out,v.EventId); + roctracer::kfd_support::output_streamer::put(out,v.EventData); return out; } }; template<> -struct output_streamer { - inline static std::ostream& put(std::ostream& out, HsaQueueReport& v) +struct output_streamer { + inline static std::ostream& put(std::ostream& out, HsaMemMapFlags& v) { - roctracer::kfd_support::output_streamer::put(out,v.VMID); - out << ""; - roctracer::kfd_support::output_streamer::put(out,v.QueueSize); return out; } }; template<> -struct output_streamer { - inline static std::ostream& put(std::ostream& out, HsaDbgWaveMsgAMDGen2& v) +struct output_streamer { + inline static std::ostream& put(std::ostream& out, HsaDbgWaveMessage& v) { - roctracer::kfd_support::output_streamer::put(out, v.Value); - roctracer::kfd_support::output_streamer::put(out, v.Reserved2); + roctracer::kfd_support::output_streamer::put(out,v.DbgWaveMsg); + return out; +} +}; +template<> +struct output_streamer { + inline static std::ostream& put(std::ostream& out, HsaGraphicsResourceInfo& v) +{ + roctracer::kfd_support::output_streamer::put(out,v.SizeInBytes); + roctracer::kfd_support::output_streamer::put(out,v.MetadataSizeInBytes); + roctracer::kfd_support::output_streamer::put(out,v.Reserved); + return out; +} +}; +template<> +struct output_streamer { + inline static std::ostream& put(std::ostream& out, HsaEventData& v) +{ + roctracer::kfd_support::output_streamer::put(out,v.EventType); + roctracer::kfd_support::output_streamer::put(out,v.HWData1); + roctracer::kfd_support::output_streamer::put(out,v.HWData2); + roctracer::kfd_support::output_streamer::put(out,v.HWData3); return out; } }; @@ -326,145 +396,18 @@ struct output_streamer { } }; template<> -struct output_streamer { - inline static std::ostream& put(std::ostream& out, HsaDbgWaveMessage& v) +struct output_streamer { + inline static std::ostream& put(std::ostream& out, HsaPointerInfo& v) { - out << ""; - roctracer::kfd_support::output_streamer::put(out,v.DbgWaveMsg); - return out; -} -}; -template<> -struct output_streamer { - inline static std::ostream& put(std::ostream& out, HsaSyncVar& v) -{ - out << ""; - roctracer::kfd_support::output_streamer::put(out,v.SyncVar.UserDataPtrValue); - roctracer::kfd_support::output_streamer::put(out,v.SyncVarSize); - return out; -} -}; -template<> -struct output_streamer { - inline static std::ostream& put(std::ostream& out, HsaNodeChange& v) -{ - roctracer::kfd_support::output_streamer::put(out,v.Flags); - return out; -} -}; -template<> -struct output_streamer { - inline static std::ostream& put(std::ostream& out, HsaDeviceStateChange& v) -{ - roctracer::kfd_support::output_streamer::put(out,v.NodeId); - roctracer::kfd_support::output_streamer::put(out,v.Device); - roctracer::kfd_support::output_streamer::put(out,v.Flags); - return out; -} -}; -template<> -struct output_streamer { - inline static std::ostream& put(std::ostream& out, HsaAccessAttributeFailure& v) -{ - roctracer::kfd_support::output_streamer::put(out,v.NotPresent); - roctracer::kfd_support::output_streamer::put(out,v.ReadOnly); - roctracer::kfd_support::output_streamer::put(out,v.NoExecute); - roctracer::kfd_support::output_streamer::put(out,v.GpuAccess); - roctracer::kfd_support::output_streamer::put(out,v.ECC); - roctracer::kfd_support::output_streamer::put(out,v.Reserved); - return out; -} -}; -template<> -struct output_streamer { - inline static std::ostream& put(std::ostream& out, HsaMemoryAccessFault& v) -{ - roctracer::kfd_support::output_streamer::put(out,v.NodeId); - roctracer::kfd_support::output_streamer::put(out,v.VirtualAddress); - roctracer::kfd_support::output_streamer::put(out,v. Failure); - roctracer::kfd_support::output_streamer::put(out,v.Flags); - return out; -} -}; -template<> -struct output_streamer { - inline static std::ostream& put(std::ostream& out, HsaEventData& v) -{ - roctracer::kfd_support::output_streamer::put(out,v.EventType); - roctracer::kfd_support::output_streamer::put(out,v.EventData.SyncVar); - roctracer::kfd_support::output_streamer::put(out,v.EventData.NodeChangeState); - roctracer::kfd_support::output_streamer::put(out,v.EventData.DeviceState); - roctracer::kfd_support::output_streamer::put(out,v.EventData.MemoryAccessFault); - roctracer::kfd_support::output_streamer::put(out,v.HWData1); - roctracer::kfd_support::output_streamer::put(out,v.HWData2); - roctracer::kfd_support::output_streamer::put(out,v.HWData3); - return out; -} -}; -template<> -struct output_streamer { - inline static std::ostream& put(std::ostream& out, HsaEventDescriptor& v) -{ - roctracer::kfd_support::output_streamer::put(out,v.EventType); - roctracer::kfd_support::output_streamer::put(out,v.NodeId); - roctracer::kfd_support::output_streamer::put(out,v.SyncVar); - return out; -} -}; -template<> -struct output_streamer { - inline static std::ostream& put(std::ostream& out, HsaEvent& v) -{ - roctracer::kfd_support::output_streamer::put(out,v.EventId); - roctracer::kfd_support::output_streamer::put(out,v.EventData); - return out; -} -}; -template<> -struct output_streamer { - inline static std::ostream& put(std::ostream& out, HsaClockCounters& v) -{ - roctracer::kfd_support::output_streamer::put(out,v.GPUClockCounter); - roctracer::kfd_support::output_streamer::put(out,v.CPUClockCounter); - roctracer::kfd_support::output_streamer::put(out,v.SystemClockCounter); - roctracer::kfd_support::output_streamer::put(out,v.SystemClockFrequencyHz); - return out; -} -}; -template<> -struct output_streamer { - inline static std::ostream& put(std::ostream& out, HSA_UUID& v) -{ - roctracer::kfd_support::output_streamer::put(out,v.Data1); - roctracer::kfd_support::output_streamer::put(out,v.Data2); - roctracer::kfd_support::output_streamer::put(out,v.Data3); - roctracer::kfd_support::output_streamer::put(out,v.Data4); - return out; -} -}; -template<> -struct output_streamer { - inline static std::ostream& put(std::ostream& out, HsaCounterFlags& v) -{ - roctracer::kfd_support::output_streamer::put(out,v.ui32.Global); - roctracer::kfd_support::output_streamer::put(out,v.ui32.Resettable); - roctracer::kfd_support::output_streamer::put(out,v.ui32.ReadOnly); - roctracer::kfd_support::output_streamer::put(out,v.ui32.Stream); - roctracer::kfd_support::output_streamer::put(out,v.ui32.Reserved); - roctracer::kfd_support::output_streamer::put(out, v.Value); - return out; -} -}; -template<> -struct output_streamer { - inline static std::ostream& put(std::ostream& out, HsaCounter& v) -{ - roctracer::kfd_support::output_streamer::put(out,v.Type); - roctracer::kfd_support::output_streamer::put(out,v.CounterId); - roctracer::kfd_support::output_streamer::put(out,v.CounterSizeInBits); - roctracer::kfd_support::output_streamer::put(out,v.CounterMask); - roctracer::kfd_support::output_streamer::put(out,v.Flags); - roctracer::kfd_support::output_streamer::put(out,v.BlockIndex); + roctracer::kfd_support::output_streamer::put(out,v.Type); + roctracer::kfd_support::output_streamer::put(out,v.Node); + roctracer::kfd_support::output_streamer::put(out,v.MemFlags); + roctracer::kfd_support::output_streamer::put(out,v.GPUAddress); + roctracer::kfd_support::output_streamer::put(out,v.SizeInBytes); + roctracer::kfd_support::output_streamer::put(out,v.NRegisteredNodes); + roctracer::kfd_support::output_streamer::put(out,v.NMappedNodes); + roctracer::kfd_support::output_streamer::put(out,v.RegisteredNodes); + roctracer::kfd_support::output_streamer::put(out,v.MappedNodes); return out; } }; @@ -473,19 +416,94 @@ struct output_streamer { inline static std::ostream& put(std::ostream& out, HsaCounterBlockProperties& v) { roctracer::kfd_support::output_streamer::put(out,v.BlockId); - roctracer::kfd_support::output_streamer::put(out,v.NumCounters); - roctracer::kfd_support::output_streamer::put(out,v.NumConcurrent); - roctracer::kfd_support::output_streamer::put(out,v.Counters[1]); + roctracer::kfd_support::output_streamer::put(out,v.NumCounters); + roctracer::kfd_support::output_streamer::put(out,v.NumConcurrent); + roctracer::kfd_support::output_streamer::put(out,v.Counters); return out; } }; template<> -struct output_streamer { - inline static std::ostream& put(std::ostream& out, HsaCounterProperties& v) +struct output_streamer { + inline static std::ostream& put(std::ostream& out, HsaEventDescriptor& v) +{ + roctracer::kfd_support::output_streamer::put(out,v.EventType); + roctracer::kfd_support::output_streamer::put(out,v.NodeId); + roctracer::kfd_support::output_streamer::put(out,v.SyncVar); + return out; +} +}; +template<> +struct output_streamer { + inline static std::ostream& put(std::ostream& out, HsaAccessAttributeFailure& v) +{ + roctracer::kfd_support::output_streamer::put(out,v.NotPresent); + roctracer::kfd_support::output_streamer::put(out,v.ReadOnly); + roctracer::kfd_support::output_streamer::put(out,v.NoExecute); + roctracer::kfd_support::output_streamer::put(out,v.GpuAccess); + roctracer::kfd_support::output_streamer::put(out,v.ECC); + roctracer::kfd_support::output_streamer::put(out,v.Imprecise); + roctracer::kfd_support::output_streamer::put(out,v.ErrorType); + roctracer::kfd_support::output_streamer::put(out,v.Reserved); + return out; +} +}; +template<> +struct output_streamer { + inline static std::ostream& put(std::ostream& out, HSA_UUID& v) +{ + roctracer::kfd_support::output_streamer::put(out,v.Data1); + roctracer::kfd_support::output_streamer::put(out,v.Data2); + roctracer::kfd_support::output_streamer::put(out,v.Data3); + roctracer::kfd_support::output_streamer::put(out,v.Data4); + return out; +} +}; +template<> +struct output_streamer { + inline static std::ostream& put(std::ostream& out, HsaQueueResource& v) +{ + roctracer::kfd_support::output_streamer::put(out,v.QueueId); + return out; +} +}; +template<> +struct output_streamer { + inline static std::ostream& put(std::ostream& out, HsaCounterFlags& v) +{ + return out; +} +}; +template<> +struct output_streamer { + inline static std::ostream& put(std::ostream& out, HsaUserContextSaveAreaHeader& v) +{ + roctracer::kfd_support::output_streamer::put(out,v.ControlStackOffset); + roctracer::kfd_support::output_streamer::put(out,v.ControlStackSize); + roctracer::kfd_support::output_streamer::put(out,v.WaveStateOffset); + roctracer::kfd_support::output_streamer::put(out,v.WaveStateSize); + return out; +} +}; +template<> +struct output_streamer { + inline static std::ostream& put(std::ostream& out, HsaCacheProperties& v) +{ + roctracer::kfd_support::output_streamer::put(out,v.ProcessorIdLow); + roctracer::kfd_support::output_streamer::put(out,v.CacheLevel); + roctracer::kfd_support::output_streamer::put(out,v.CacheSize); + roctracer::kfd_support::output_streamer::put(out,v.CacheLineSize); + roctracer::kfd_support::output_streamer::put(out,v.CacheLinesPerTag); + roctracer::kfd_support::output_streamer::put(out,v.CacheAssociativity); + roctracer::kfd_support::output_streamer::put(out,v.CacheLatency); + roctracer::kfd_support::output_streamer::put(out,v.CacheType); + roctracer::kfd_support::output_streamer::put(out,v.SiblingMap); + return out; +} +}; +template<> +struct output_streamer { + inline static std::ostream& put(std::ostream& out, HsaMemFlags& v) { - roctracer::kfd_support::output_streamer::put(out,v.NumBlocks); - roctracer::kfd_support::output_streamer::put(out,v.NumConcurrent); - roctracer::kfd_support::output_streamer::put(out,v.Blocks[1]); return out; } }; @@ -493,9 +511,32 @@ template<> struct output_streamer { inline static std::ostream& put(std::ostream& out, HsaPmcTraceRoot& v) { - roctracer::kfd_support::output_streamer::put(out,v.TraceBufferMinSizeBytes); - roctracer::kfd_support::output_streamer::put(out,v.NumberOfPasses); - roctracer::kfd_support::output_streamer::put(out,v.TraceId); + roctracer::kfd_support::output_streamer::put(out,v.TraceBufferMinSizeBytes); + roctracer::kfd_support::output_streamer::put(out,v.NumberOfPasses); + roctracer::kfd_support::output_streamer::put(out,v.TraceId); + return out; +} +}; +template<> +struct output_streamer { + inline static std::ostream& put(std::ostream& out, HsaGpuTileConfig& v) +{ + roctracer::kfd_support::output_streamer::put(out,v.TileConfig); + roctracer::kfd_support::output_streamer::put(out,v.MacroTileConfig); + roctracer::kfd_support::output_streamer::put(out,v.NumTileConfigs); + roctracer::kfd_support::output_streamer::put(out,v.NumMacroTileConfigs); + roctracer::kfd_support::output_streamer::put(out,v.GbAddrConfig); + roctracer::kfd_support::output_streamer::put(out,v.NumBanks); + roctracer::kfd_support::output_streamer::put(out,v.NumRanks); + roctracer::kfd_support::output_streamer::put(out,v.Reserved); + return out; +} +}; +template<> +struct output_streamer { + inline static std::ostream& put(std::ostream& out, HsaSyncVar& v) +{ + roctracer::kfd_support::output_streamer::put(out,v.SyncVarSize); return out; } }; @@ -505,3 +546,4 @@ struct output_streamer { #include #endif // INC_ROCTRACER_KFD_H_ + From 93e03300473f767ba29cbeebcfad15532941d888 Mon Sep 17 00:00:00 2001 From: rkebichi <54912798+rkebichi@users.noreply.github.com> Date: Tue, 22 Oct 2019 15:22:59 -0400 Subject: [PATCH 194/691] Update gen_ostream_ops.py --- script/gen_ostream_ops.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/script/gen_ostream_ops.py b/script/gen_ostream_ops.py index ea0fbacb95..a8ea77fe85 100644 --- a/script/gen_ostream_ops.py +++ b/script/gen_ostream_ops.py @@ -158,7 +158,7 @@ def parse_file(infilepath,outfilepath): field_name = match.group('field_name') if field_name == "": field_name="noname" - if (field_name!="noname" and field_type!="notype") or args['debug'] : + if (field_name!="noname" and field_type!="notype" and not re.search("void",field_type)) or args['debug'] : tmp_str=" roctracer::kfd_support::output_streamer<"+field_type+">::put(out,v."+field_name+")"+";"; tmp_str=tmp_str.replace('<::', '<') #f.write(tmp_str+"\n") @@ -204,3 +204,4 @@ if __name__ == '__main__': gen_cppheader_lut(args['in']) parse_file("/tmp/cppheader_lut.txt",args['out']) + From 3d021b1f0bb58cb8863ee1b2f30881fe0d82bcde Mon Sep 17 00:00:00 2001 From: Evgeny Date: Tue, 22 Oct 2019 15:38:06 -0500 Subject: [PATCH 195/691] hip-clang fixes --- build.sh | 2 ++ test/tool/tracer_tool.cpp | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/build.sh b/build.sh index d8d70c4928..b94e58da94 100755 --- a/build.sh +++ b/build.sh @@ -18,6 +18,7 @@ if [ -z "$BUILD_TYPE" ] ; then BUILD_TYPE="release"; fi if [ -z "$PACKAGE_ROOT" ] ; then PACKAGE_ROOT=$ROCM_PATH; fi if [ -z "$PACKAGE_PREFIX" ] ; then PACKAGE_PREFIX="$ROCM_PATH/$COMPONENT"; fi if [ -z "$PREFIX_PATH" ] ; then PREFIX_PATH=$PACKAGE_ROOT; fi +if [ -n "$HIP_VDI" ] ; then HIP_VDI_OPT="-DHIP_VDI=1"; fi ROCTRACER_ROOT=$(cd $ROCTRACER_ROOT && echo $PWD) MAKE_OPTS="-j 8 -C $BUILD_DIR" @@ -32,6 +33,7 @@ cmake \ -DCMAKE_INSTALL_PREFIX=$PACKAGE_ROOT \ -DCPACK_PACKAGING_INSTALL_PREFIX=$PACKAGE_PREFIX \ -DCPACK_GENERATOR="DEB;RPM" \ + $HIP_VDI_OPT \ $ROCTRACER_ROOT make make mytest diff --git a/test/tool/tracer_tool.cpp b/test/tool/tracer_tool.cpp index f21b0c7f7e..59b33fba2a 100644 --- a/test/tool/tracer_tool.cpp +++ b/test/tool/tracer_tool.cpp @@ -321,8 +321,10 @@ void hip_api_callback( entry->ptr = *(data->args.hipMalloc.ptr); break; case HIP_API_ID_hipModuleLaunchKernel: +#if !HIP_VDI case HIP_API_ID_hipExtModuleLaunchKernel: case HIP_API_ID_hipHccModuleLaunchKernel: +#endif const hipFunction_t f = data->args.hipModuleLaunchKernel.f; if (f != NULL) { entry->name = strdup(roctracer::HipLoader::Instance().KernelNameRef(f)); @@ -389,8 +391,10 @@ void hip_api_flush_cb(hip_api_trace_entry_t* entry) { data->args.hipFree.ptr); break; case HIP_API_ID_hipModuleLaunchKernel: +#if !HIP_VDI case HIP_API_ID_hipExtModuleLaunchKernel: case HIP_API_ID_hipHccModuleLaunchKernel: +#endif fprintf(hip_api_file_handle, "%s(kernel(%s) stream(%p))\n", oss.str().c_str(), cxx_demangle(entry->name), From 807745c5731aef9c5ee555cf6d08ecaaed802972 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Tue, 22 Oct 2019 17:44:37 -0500 Subject: [PATCH 196/691] hip-vdi library name --- src/core/roctracer.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/core/roctracer.cpp b/src/core/roctracer.cpp index 6b58dced69..b062aca61f 100644 --- a/src/core/roctracer.cpp +++ b/src/core/roctracer.cpp @@ -1056,8 +1056,11 @@ PUBLIC_API roctracer_status_t roctracer_set_properties( } case ACTIVITY_DOMAIN_HCC_OPS: case ACTIVITY_DOMAIN_HIP_API: { - const char* hip_backend_lib_name = getenv("HIP_BACKEND_LIB"); - if (hip_backend_lib_name != NULL) roctracer::HccLoader::Instance().SetLibName(hip_backend_lib_name); +#ifdef HIP_VDI + const char* hip_lib_name = "libamdhip64.so"; + roctracer::HccLoader::SetLibName(hip_lib_name); + roctracer::HipLoader::SetLibName(hip_lib_name); +#endif mark_api_callback_ptr = reinterpret_cast(properties); break; } From 064a7021a01a0c09ffb22f956bc6da474830642b Mon Sep 17 00:00:00 2001 From: Evgeny Date: Wed, 23 Oct 2019 17:20:37 -0500 Subject: [PATCH 197/691] hip trac elayer generator removing - it is located in hip --- script/hipap.py | 454 ------------------------------------------------ 1 file changed, 454 deletions(-) delete mode 100755 script/hipap.py diff --git a/script/hipap.py b/script/hipap.py deleted file mode 100755 index 829a2213c4..0000000000 --- a/script/hipap.py +++ /dev/null @@ -1,454 +0,0 @@ -#!/usr/bin/python -import os, sys, re - -verbose = 0 -PROF_HEADER = "hip_prof_str.h" -OUTPUT = PROF_HEADER -REC_MAX_LEN = 1024 - -# Fatal error termination -inp_file = 'none' -line_num = -1 -def fatal(msg): - if line_num != -1: - print >>sys.stderr, "Error: " + msg + ", file '" + inp_file + "', line (" + str(line_num) + ")" - else: - print >>sys.stderr, "Error: " + msg - sys.exit(1) - -# Verbose message -def message(msg): - if verbose: print >>sys.stdout, msg - -############################################################# -# Normalizing API arguments -def filtr_api_args(args_str): - args_str = re.sub(r'^\s*', r'', args_str); - args_str = re.sub(r'\s*$', r'', args_str); - args_str = re.sub(r'\s*,\s*', r',', args_str); - args_str = re.sub(r'\s+', r' ', args_str); - args_str = re.sub(r'void \*', r'void* ', args_str); - args_str = re.sub(r'(enum|struct) ', '', args_str); - return args_str - -# Normalizing types -def norm_api_types(type_str): - type_str = re.sub(r'uint32_t', r'unsigned int', type_str) - type_str = re.sub(r'^unsigned$', r'unsigned int', type_str) - return type_str - -# Creating a list of arguments [(type, name), ...] -def list_api_args(args_str): - args_str = filtr_api_args(args_str) - args_list = [] - if args_str != '': - for arg_pair in args_str.split(','): - if arg_pair == 'void': continue - arg_pair = re.sub(r'\s*=\s*\S+$','', arg_pair); - m = re.match("^(.*)\s(\S+)$", arg_pair); - if m: - arg_type = norm_api_types(m.group(1)) - arg_name = m.group(2) - args_list.append((arg_type, arg_name)) - else: - fatal("bad args: args_str: '" + args_str + "' arg_pair: '" + arg_pair + "'") - return args_list; - -# Creating arguments string "type0, type1, ..." -def filtr_api_types(args_str): - args_list = list_api_args(args_str) - types_str = '' - for arg_tuple in args_list: - types_str += arg_tuple[0] + ', ' - return types_str - -# Creating options list [opt0, opt1, ...] -def filtr_api_opts(args_str): - args_list = list_api_args(args_str) - opts_list = [] - for arg_tuple in args_list: - opts_list.append(arg_tuple[1]) - return opts_list -############################################################# -# Parsing API header -# hipError_t hipSetupArgument(const void* arg, size_t size, size_t offset); -def parse_api(inp_file_p, out): - global inp_file - global line_num - inp_file = inp_file_p - - beg_pattern = re.compile("^(hipError_t|const char\s*\*)\s+[^\(]+\("); - api_pattern = re.compile("^(hipError_t|const char\s*\*)\s+([^\(]+)\(([^\)]*)\)"); - end_pattern = re.compile("Texture"); - hidden_pattern = re.compile(r'__attribute__\(\(visibility\("hidden"\)\)\)') - nms_open_pattern = re.compile(r'namespace hip_impl {') - nms_close_pattern = re.compile(r'}') - - inp = open(inp_file, 'r') - - found = 0 - hidden = 0 - nms_level = 0; - record = "" - line_num = -1 - - for line in inp.readlines(): - record += re.sub(r'^\s+', r' ', line[:-1]) - line_num += 1 - - if len(record) > REC_MAX_LEN: - fatal("bad record \"" + record + "\"") - - if beg_pattern.match(record) and (hidden == 0) and (nms_level == 0): found = 1 - - if found != 0: - record = re.sub("\s__dparm\([^\)]*\)", '', record); - m = api_pattern.match(record) - if m: - found = 0 - if end_pattern.search(record): break - out[m.group(2)] = m.group(3) - else: continue - - hidden = 0 - if hidden_pattern.match(line): hidden = 1 - - if nms_open_pattern.match(line): nms_level += 1 - if (nms_level > 0) and nms_close_pattern.match(line): nms_level -= 1 - if nms_level < 0: - fatal("nms level < 0") - - record = "" - - inp.close() - line_num = -1 -############################################################# -# Patching API implementation -# hipError_t hipSetupArgument(const void* arg, size_t size, size_t offset) { -# HIP_INIT_CB(hipSetupArgument, arg, size, offset); -# inp_file - input implementation source file -# api_map - input public API map [] => -# out - output map [] => [opt0, opt1, ...] -def parse_content(inp_file_p, api_map, out): - global inp_file - global line_num - inp_file = inp_file_p - - # API definition begin pattern - beg_pattern = re.compile("^(hipError_t|const char\s*\*)\s+[^\(]+\("); - # API definition complete pattern - api_pattern = re.compile("^(hipError_t|const char\s*\*)\s+([^\(]+)\(([^\)]*)\)\s*{"); - # API init macro pattern - init_pattern = re.compile("^\s*HIP_INIT[_\w]*_API\(([^,]+)(,|\))"); - target_pattern = re.compile("^(\s*HIP_INIT[^\(]*)(_API\()(.*)\);\s*$"); - - # Open input file - inp = open(inp_file, 'r') - - # API name - api_name = "" - # Valid public API found flag - api_valid = 0 - - # Input file patched content - content = '' - # Sub content for found API defiition - sub_content = '' - # Current record, accumulating several API definition related lines - record = '' - # Current input file line number - line_num = -1 - # API beginning found flag - found = 0 - - # Reading input file - for line in inp.readlines(): - # Accumulating record - record += re.sub(r'^\s+', r' ', line[:-1]) - line_num += 1 - - if len(record) > REC_MAX_LEN: - fatal("bad record \"" + record + "\"") - break; - - # Looking for API begin - if beg_pattern.match(record): found = 1 - - # Matching complete API definition - if found == 1: - record = re.sub("\s__dparm\([^\)]*\)", '', record); - m = api_pattern.match(record) - # Checking if complete API matched - if m: - found = 2 - api_name = m.group(2); - # Checking if API name is in the API map - if api_name in api_map: - # Getting API arguments - api_args = m.group(3) - # Getting etalon arguments from the API map - eta_args = api_map[api_name] - if eta_args == '': - eta_args = api_args - api_map[api_name] = eta_args - # Normalizing API arguments - api_types = filtr_api_types(api_args) - # Normalizing etalon arguments - eta_types = filtr_api_types(eta_args) - if api_types == eta_types: - # API is already found - if api_name in out: - fatal("API redefined \"" + api_name + "\", record \"" + record + "\"") - # Set valid public API found flag - api_valid = 1 - # Set output API map with API arguments list - out[api_name] = filtr_api_opts(api_args) - else: - # Warning about mismatched API, possible non public overloaded version - api_diff = '\t\t' + inp_file + " line(" + str(line_num) + ")\n\t\tapi: " + api_types + "\n\t\teta: " + eta_types - message("\t" + api_name + ':\n' + api_diff + '\n') - - # API found action - if found == 2: - # Looking for INIT macro - m = init_pattern.match(line) - if m: - found = 0 - if api_valid == 1: - api_valid = 0 - message("\t" + api_name) - else: - # Registering dummy API for non public API if the name in INIT is not NONE - init_name = m.group(1) - # Ignore if it is initialized as NONE - if init_name != 'NONE': - # Check if init name matching API name - if init_name != api_name: - fatal("init name mismatch: '" + init_name + "' <> '" + api_name + "'") - # If init name is not in public API map then it is private API - # else it was not identified and will be checked on finish - if not init_name in api_map: - if init_name in out: - fatal("API reinit \"" + api_name + "\", record \"" + record + "\"") - out[init_name] = [] - elif re.search('}', line): - found = 0 - # Expect INIT macro for valid public API - if api_valid == 1: - api_valid = 0 - if api_name in out: - del out[api_name] - del api_map[api_name] - out['.' + api_name] = 1 - else: - fatal("API is not in out \"" + api_name + "\", record \"" + record + "\"") - - if found != 1: record = "" - content += line - - inp.close() - line_num = -1 - - if len(out) != 0: - return content - else: - return '' - -# src path walk -def parse_src(api_map, src_path, src_patt, out): - pattern = re.compile(src_patt) - src_path = re.sub(r'\s', '', src_path) - for src_dir in src_path.split(':'): - message("Parsing " + src_dir + " for '" + src_patt + "'") - for root, dirs, files in os.walk(src_dir): - for fnm in files: - if pattern.search(fnm): - file = root + '/' + fnm - message(file) - content = parse_content(file, api_map, out); - if content != '': - f = open(file, 'w') - f.write(content) - f.close() -############################################################# -# Generating profiling primitives header -# api_map - public API map [] => [(type, name), ...] -# opts_map - opts map [] => [opt0, opt1, ...] -def generate_prof_header(f, api_map, opts_map): - # Private API list - priv_lst = [] - - f.write('// automatically generated sources\n') - f.write('#ifndef _HIP_PROF_STR_H\n'); - f.write('#define _HIP_PROF_STR_H\n'); - f.write('#include \n'); - f.write('#include \n'); - - # Generating dummy macro for non-public API - f.write('\n// Dummy API primitives\n') - f.write('#define INIT_NONE_CB_ARGS_DATA(cb_data) {};\n') - for name in opts_map: - if not name in api_map: - opts_lst = opts_map[name] - if len(opts_lst) != 0: - fatal("bad dummy API \"" + name + "\", args: " + str(opts_lst)) - f.write('#define INIT_'+ name + '_CB_ARGS_DATA(cb_data) {};\n') - priv_lst.append(name) - - for name in priv_lst: - message("Private: " + name) - - # Generating the callbacks ID enumaration - f.write('\n// HIP API callbacks ID enumaration\n') - f.write('enum hip_api_id_t {\n') - cb_id = 0 - for name in api_map.keys(): - f.write(' HIP_API_ID_' + name + ' = ' + str(cb_id) + ',\n') - cb_id += 1 - f.write(' HIP_API_ID_NUMBER = ' + str(cb_id) + ',\n') - f.write(' HIP_API_ID_ANY = ' + str(cb_id + 1) + ',\n') - f.write('\n') - f.write(' HIP_API_ID_NONE = HIP_API_ID_NUMBER,\n') - for name in priv_lst: - f.write(' HIP_API_ID_' + name + ' = HIP_API_ID_NUMBER,\n') - f.write('};\n') - - # Generating the callbacks ID enumaration - f.write('\n// Return HIP API string\n') - f.write('static const char* hip_api_name(const uint32_t& id) {\n') - f.write(' switch(id) {\n') - for name in api_map.keys(): - f.write(' case HIP_API_ID_' + name + ': return "' + name + '";\n') - f.write(' };\n') - f.write(' return "unknown";\n') - f.write('};\n') - - # Generating the callbacks data structure - f.write('\n// HIP API callbacks data structure\n') - f.write( - 'struct hip_api_data_t {\n' + - ' uint64_t correlation_id;\n' + - ' uint32_t phase;\n' + - ' union {\n' - ) - for name, args in api_map.items(): - if len(args) != 0: - f.write(' struct {\n') - for arg_tuple in args: - f.write(' ' + arg_tuple[0] + ' ' + arg_tuple[1] + ';\n') - f.write(' } ' + name + ';\n') - f.write( - ' } args;\n' + - '};\n' - ) - - # Generating the callbacks args data filling macros - f.write('\n// HIP API callbacks args data filling macros\n') - for name, args in api_map.items(): - f.write('// ' + name + str(args) + '\n') - f.write('#define INIT_' + name + '_CB_ARGS_DATA(cb_data) { \\\n') - if name in opts_map: - opts_list = opts_map[name] - if len(args) != len(opts_list): - fatal("\"" + name + "\" API args and opts mismatch, args: " + str(args) + ", opts: " + str(opts_list)) - # API args iterating: - # type is args[][0] - # name is args[][1] - for ind in range(0, len(args)): - arg_tuple = args[ind] - fld_name = arg_tuple[1] - arg_name = opts_list[ind] - f.write(' cb_data.args.' + name + '.' + fld_name + ' = ' + arg_name + '; \\\n') - f.write('};\n') - f.write('#define INIT_CB_ARGS_DATA(cb_id, cb_data) INIT_##cb_id##_CB_ARGS_DATA(cb_data)\n') - - # Generating the method for the API string, name and parameters - f.write('\n') - f.write('#if 0\n') - f.write('// HIP API string method, method name and parameters\n') - f.write('const char* hipApiString(hip_api_id_t id, const hip_api_data_t* data) {\n') - f.write(' std::ostringstream oss;\n') - f.write(' switch (id) {\n') - for name, args in api_map.items(): - f.write(' case HIP_API_ID_' + name + ':\n') - f.write(' oss << "' + name + '("') - for ind in range(0, len(args)): - arg_tuple = args[ind] - arg_name = arg_tuple[1] - if ind != 0: f.write(' << ","') - f.write('\n << " ' + arg_name + '=" << data->args.' + name + '.' + arg_name) - f.write('\n << ")";\n') - f.write(' break;\n') - f.write(' default: oss << "unknown";\n') - f.write(' };\n') - f.write(' return strdup(oss.str().c_str());\n') - f.write('};\n') - f.write('#endif\n') - - f.write('#endif // _HIP_PROF_STR_H\n'); - -############################################################# -# main -# Usage -if (len(sys.argv) > 1) and (sys.argv[1] == '-v'): - verbose = 1 - sys.argv.pop(1) - -if (len(sys.argv) < 3): - fatal ("Usage: " + sys.argv[0] + " [-v] \n" + - " -v - verbose messages\n" + - " example:\n" + - " $ hipap.py hip/include/hip/hcc_detail/hip_runtime_api.h hip/src") - -# API header file given as an argument -api_hfile = sys.argv[1] -if not os.path.isfile(api_hfile): - fatal("input file '" + api_hfile + "' not found") - -# Srcs directory given as an argument -src_pat = "\.cpp$" -src_dir = sys.argv[2] -if not os.path.isdir(src_dir): - fatal("src directory " + src_dir + "' not found") - -if len(sys.argv) > 3: OUTPUT = sys.argv[3] - -# API declaration map -api_map = { - 'hipHccModuleLaunchKernel': '' -} -# API options map -opts_map = {} - -# Parsing API header -parse_api(api_hfile, api_map) - -# Parsing sources -parse_src(api_map, src_dir, src_pat, opts_map) - -# Checking for non-conformant APIs -for name in opts_map.keys(): - m = re.match(r'\.(\S*)', name) - if m: - message("Init missing: " + m.group(1)) - del opts_map[name] - -# Converting api map to map of lists -# Checking for not found APIs -not_found = 0 -if len(opts_map) != 0: - for name in api_map.keys(): - args_str = api_map[name]; - api_map[name] = list_api_args(args_str) - if not name in opts_map: - fatal("not found: " + name) - not_found += 1 -if not_found != 0: - fatal(not_found + " API calls not found") - -# Generating output header file -with open(OUTPUT, 'w') as f: - generate_prof_header(f, api_map, opts_map) - -# Successfull exit -sys.exit(0) From eb4bf2dac6ff736f71dbf115b63993b9f06f689b Mon Sep 17 00:00:00 2001 From: Evgeny Date: Fri, 25 Oct 2019 00:53:26 -0500 Subject: [PATCH 198/691] hip-vdi changes --- src/core/loader.h | 5 ++--- src/core/roctracer.cpp | 2 ++ test/MatrixTranspose_test/MatrixTranspose.cpp | 3 +++ test/run.sh | 10 ++++++++-- test/tool/tracer_tool.cpp | 4 ++-- 5 files changed, 17 insertions(+), 7 deletions(-) diff --git a/src/core/loader.h b/src/core/loader.h index 1c4005dd3b..f2ba57ed9c 100644 --- a/src/core/loader.h +++ b/src/core/loader.h @@ -172,11 +172,10 @@ typedef BaseLoader RocTxLoader; #define LOADER_INSTANTIATE() \ template typename roctracer::BaseLoader::mutex_t roctracer::BaseLoader::mutex_; \ template std::atomic*> roctracer::BaseLoader::instance_{}; \ - template const bool roctracer::BaseLoader::strong_ld_check_ = false; + template const bool roctracer::BaseLoader::strong_ld_check_ = true; \ template<> const char* roctracer::HipLoader::lib_name_ = "libhip_hcc.so"; \ template<> const char* roctracer::HccLoader::lib_name_ = "libmcwamp_hsa.so"; \ template<> const char* roctracer::KfdLoader::lib_name_ = "libkfdwrapper64.so"; \ - template<> const char* roctracer::RocTxLoader::lib_name_ = "libroctx64.so"; \ - template<> const bool roctracer::RocTxLoader::strong_ld_check_ = false; + template<> const char* roctracer::RocTxLoader::lib_name_ = "libroctx64.so"; #endif // SRC_CORE_LOADER_H_ diff --git a/src/core/roctracer.cpp b/src/core/roctracer.cpp index b062aca61f..155892c6dd 100644 --- a/src/core/roctracer.cpp +++ b/src/core/roctracer.cpp @@ -324,10 +324,12 @@ void* HIP_SyncActivityCallback( if ((data == NULL) && (pool != NULL)) EXC_ABORT(ROCTRACER_STATUS_ERROR, "ActivityCallback enter: pool is not NULL"); // Allocating a record if NULL passed if (record == NULL) { + if (data != NULL) EXC_ABORT(ROCTRACER_STATUS_ERROR, "ActivityCallback enter: record is NULL"); record_pair_stack.push({}); auto& top = record_pair_stack.top(); record = &(top.record); data_ptr = &(top.data.hip); + data = data_ptr; } // Filing record info diff --git a/test/MatrixTranspose_test/MatrixTranspose.cpp b/test/MatrixTranspose_test/MatrixTranspose.cpp index c2a4ebad3c..40082f9f38 100644 --- a/test/MatrixTranspose_test/MatrixTranspose.cpp +++ b/test/MatrixTranspose_test/MatrixTranspose.cpp @@ -291,6 +291,8 @@ void activity_callback(const char* begin, const char* end, void* arg) { // Init tracing routine void init_tracing() { std::cout << "# INIT #############################" << std::endl << std::flush; + // roctracer properties + roctracer_set_properties(ACTIVITY_DOMAIN_HIP_API, NULL); // Allocating tracing pool roctracer_properties_t properties{}; properties.buffer_size = 0x1000; @@ -320,6 +322,7 @@ void stop_tracing() { std::cout << "# STOP #############################" << std::endl << std::flush; } #else +void init_tracing() {} void start_tracing() {} void stop_tracing() {} #endif diff --git a/test/run.sh b/test/run.sh index 3b383da201..d3e317cc70 100755 --- a/test/run.sh +++ b/test/run.sh @@ -25,7 +25,7 @@ # enable tools load failure reporting export HSA_TOOLS_REPORT_LOAD_FAILURE=1 # paths to ROC profiler and oher libraries -export LD_LIBRARY_PATH=$PWD +export LD_LIBRARY_PATH=$PWD:/opt/rocm/hip/lib # test filter input test_filter=-1 @@ -33,6 +33,12 @@ if [ -n "$1" ] ; then test_filter=$1 fi +# debugger +debugger="" +if [ -n "$2" ] ; then + debugger=$2 +fi + # test check routin test_status=0 test_runnum=0 @@ -46,7 +52,7 @@ eval_test() { if [ $test_filter = -1 -o $test_filter = $test_number ] ; then echo "$label: \"$cmdline\"" test_runnum=$((test_runnum + 1)) - eval "$cmdline" + eval "$debugger $cmdline" if [ $? != 0 ] ; then echo "$label: FAILED" test_status=$(($test_status + 1)) diff --git a/test/tool/tracer_tool.cpp b/test/tool/tracer_tool.cpp index 59b33fba2a..b5c5c2bf6d 100644 --- a/test/tool/tracer_tool.cpp +++ b/test/tool/tracer_tool.cpp @@ -680,6 +680,8 @@ extern "C" PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, hcc_activity_file_handle = open_output_file(output_prefix, "hcc_ops_trace.txt"); fprintf(stdout, " HIP-trace()\n"); fflush(stdout); + // roctracer properties + roctracer_set_properties(ACTIVITY_DOMAIN_HIP_API, (void*)mark_api_callback); // Allocating tracing pool roctracer_properties_t properties{}; properties.buffer_size = 0x80000; @@ -688,8 +690,6 @@ extern "C" PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, ROCTRACER_CALL(roctracer_enable_domain_activity(ACTIVITY_DOMAIN_HCC_OPS)); ROCTRACER_CALL(roctracer_enable_domain_activity(ACTIVITY_DOMAIN_HIP_API)); ROCTRACER_CALL(roctracer_enable_domain_callback(ACTIVITY_DOMAIN_HIP_API, hip_api_callback, NULL)); - - roctracer_set_properties(ACTIVITY_DOMAIN_HIP_API, (void*)mark_api_callback); } const char* ctrl_str = getenv("ROCP_CTRL_RATE"); From 640e24ea9a51e2232444c453e539b293e3945306 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Fri, 25 Oct 2019 02:10:09 -0500 Subject: [PATCH 199/691] hsa and hip tracing interf2erence --- test/tool/tracer_tool.cpp | 83 +++++++++++++++++++++++++-------------- 1 file changed, 54 insertions(+), 29 deletions(-) diff --git a/test/tool/tracer_tool.cpp b/test/tool/tracer_tool.cpp index b5c5c2bf6d..99b87c1135 100644 --- a/test/tool/tracer_tool.cpp +++ b/test/tool/tracer_tool.cpp @@ -71,7 +71,8 @@ thread_local timestamp_t kfd_begin_timestamp = 0; bool trace_roctx = false; bool trace_hsa_api = false; bool trace_hsa_activity = false; -bool trace_hip = false; +bool trace_hip_api = false; +bool trace_hip_activity = false; bool trace_kfd = false; LOADER_INSTANTIATE(); @@ -531,28 +532,6 @@ extern "C" PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, if (onload_debug) { printf("TOOL OnLoad\n"); fflush(stdout); } timer = new hsa_rt_utils::Timer(table->core_->hsa_system_get_info_fn); - // API traces switches - const char* trace_domain = getenv("ROCTRACER_DOMAIN"); - if (trace_domain != NULL) { - if (std::string(trace_domain).find("roctx") != std::string::npos) { - trace_roctx = true; - } - if (std::string(trace_domain).find("hsa") != std::string::npos) { - trace_hsa_api = true; - trace_hsa_activity = true; - } - if (std::string(trace_domain).find("hip") != std::string::npos) { - trace_hip = true; - } - if (std::string(trace_domain).find("sys") != std::string::npos) { - trace_hsa_api = true; - trace_hip = true; - } - if (std::string(trace_domain).find("kfd") != std::string::npos) { - trace_kfd = true; - } - } - // Output file const char* output_prefix = getenv("ROCP_OUTPUT_DIR"); if (output_prefix != NULL) { @@ -565,6 +544,43 @@ extern "C" PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, } } + // API traces switches + const char* trace_domain = getenv("ROCTRACER_DOMAIN"); + if (trace_domain != NULL) { + // ROCTX domain + if (std::string(trace_domain).find("roctx") != std::string::npos) { + trace_roctx = true; + } + + // HSA/HIP domains enabling + if (std::string(trace_domain).find("hsa-api") != std::string::npos) { + trace_hsa_api = true; + } + if (std::string(trace_domain).find("hsa-act") != std::string::npos) { + trace_hsa_activity = true; + } + if ((trace_hsa_activity == false) && (trace_hsa_api == false)) { + if (std::string(trace_domain).find("hsa") != std::string::npos) { + trace_hsa_api = true; + trace_hsa_activity = true; + } + } + if (std::string(trace_domain).find("hip") != std::string::npos) { + trace_hip_api = true; + trace_hip_activity = true; + } + if (std::string(trace_domain).find("sys") != std::string::npos) { + trace_hsa_api = true; + trace_hip_api = true; + trace_hip_activity = true; + } + + // KFD domain enabling + if (std::string(trace_domain).find("kfd") != std::string::npos) { + trace_kfd = true; + } + } + // API trace vector std::vector hsa_api_vec; std::vector kfd_api_vec; @@ -608,7 +624,8 @@ extern "C" PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, } if (name == "HIP") { found = true; - trace_hip = true; + trace_hip_api = true; + trace_hip_activity = true; } if (name == "KFD") { found = true; @@ -621,6 +638,9 @@ extern "C" PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, } printf("\n"); + // Disable HIP activity if HSA activity was set + if (trace_hsa_activity == true) trace_hip_activity = false; + // Enable rpcTX callbacks if (trace_roctx) { roctx_file_handle = open_output_file(output_prefix, "roctx_trace.txt"); @@ -658,6 +678,7 @@ extern "C" PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, printf(")\n"); } + // Enable HSA GPU activity if (trace_hsa_activity) { hsa_async_copy_file_handle = open_output_file(output_prefix, "async_copy_trace.txt"); @@ -675,7 +696,7 @@ extern "C" PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, } // Enable HIP API callbacks/activity - if (trace_hip) { + if (trace_hip_api || trace_hip_activity) { hip_api_file_handle = open_output_file(output_prefix, "hip_api_trace.txt"); hcc_activity_file_handle = open_output_file(output_prefix, "hcc_ops_trace.txt"); @@ -687,9 +708,13 @@ extern "C" PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, properties.buffer_size = 0x80000; properties.buffer_callback_fun = hcc_activity_callback; ROCTRACER_CALL(roctracer_open_pool(&properties)); - ROCTRACER_CALL(roctracer_enable_domain_activity(ACTIVITY_DOMAIN_HCC_OPS)); - ROCTRACER_CALL(roctracer_enable_domain_activity(ACTIVITY_DOMAIN_HIP_API)); - ROCTRACER_CALL(roctracer_enable_domain_callback(ACTIVITY_DOMAIN_HIP_API, hip_api_callback, NULL)); + if (trace_hip_api) { + ROCTRACER_CALL(roctracer_enable_domain_callback(ACTIVITY_DOMAIN_HIP_API, hip_api_callback, NULL)); + ROCTRACER_CALL(roctracer_enable_domain_activity(ACTIVITY_DOMAIN_HIP_API)); + } + if (trace_hip_activity) { + ROCTRACER_CALL(roctracer_enable_domain_activity(ACTIVITY_DOMAIN_HCC_OPS)); + } } const char* ctrl_str = getenv("ROCP_CTRL_RATE"); @@ -775,7 +800,7 @@ void tool_unload(bool destruct) { close_output_file(hsa_async_copy_file_handle); } - if (trace_hip) { + if (trace_hip_api || trace_hip_activity) { ROCTRACER_CALL(roctracer_disable_domain_callback(ACTIVITY_DOMAIN_HIP_API)); ROCTRACER_CALL(roctracer_disable_domain_activity(ACTIVITY_DOMAIN_HIP_API)); ROCTRACER_CALL(roctracer_disable_domain_activity(ACTIVITY_DOMAIN_HCC_OPS)); From daac4fad76952d79e115df9e843870545ca786f1 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Fri, 25 Oct 2019 10:11:16 -0500 Subject: [PATCH 200/691] reverting ld_library_path --- test/run.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/run.sh b/test/run.sh index d3e317cc70..af56efe5f3 100755 --- a/test/run.sh +++ b/test/run.sh @@ -25,7 +25,7 @@ # enable tools load failure reporting export HSA_TOOLS_REPORT_LOAD_FAILURE=1 # paths to ROC profiler and oher libraries -export LD_LIBRARY_PATH=$PWD:/opt/rocm/hip/lib +export LD_LIBRARY_PATH=$PWD # test filter input test_filter=-1 From 2303c1e398c2ce0d8281974eb07e31a124b071b8 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Fri, 25 Oct 2019 17:39:05 -0500 Subject: [PATCH 201/691] enabling rocprofiler kernels trace --- src/core/roctracer.cpp | 2 ++ test/tool/tracer_tool.cpp | 10 +--------- 2 files changed, 3 insertions(+), 9 deletions(-) diff --git a/src/core/roctracer.cpp b/src/core/roctracer.cpp index 155892c6dd..e93179de56 100644 --- a/src/core/roctracer.cpp +++ b/src/core/roctracer.cpp @@ -1026,11 +1026,13 @@ PUBLIC_API roctracer_status_t roctracer_set_properties( roctracer::hsa_support::async_copy_callback_arg = ops_properties->async_copy_callback_arg; roctracer::hsa_support::output_prefix = ops_properties->output_prefix; +#if 0 // HSA dispatches intercepting rocprofiler::SaveHsaApi(table); rocprofiler::ProxyQueue::InitFactory(); rocprofiler::ProxyQueue::HsaIntercept(table); rocprofiler::InterceptQueue::HsaIntercept(table); +#endif // HSA async-copy tracing hsa_status_t status = hsa_amd_profiling_async_copy_enable(true); diff --git a/test/tool/tracer_tool.cpp b/test/tool/tracer_tool.cpp index 99b87c1135..71da132baa 100644 --- a/test/tool/tracer_tool.cpp +++ b/test/tool/tracer_tool.cpp @@ -553,18 +553,10 @@ extern "C" PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, } // HSA/HIP domains enabling - if (std::string(trace_domain).find("hsa-api") != std::string::npos) { + if (std::string(trace_domain).find("hsa") != std::string::npos) { trace_hsa_api = true; - } - if (std::string(trace_domain).find("hsa-act") != std::string::npos) { trace_hsa_activity = true; } - if ((trace_hsa_activity == false) && (trace_hsa_api == false)) { - if (std::string(trace_domain).find("hsa") != std::string::npos) { - trace_hsa_api = true; - trace_hsa_activity = true; - } - } if (std::string(trace_domain).find("hip") != std::string::npos) { trace_hip_api = true; trace_hip_activity = true; From 8941ca3acdb15f296d75bf88305237185edd7564 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Fri, 25 Oct 2019 19:21:24 -0500 Subject: [PATCH 202/691] disable kfd wrapper installation --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index f14ba0b9e4..185b62dd65 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -110,7 +110,7 @@ install ( FILES ${CMAKE_CURRENT_SOURCE_DIR}/inc/roctracer_roctx.h DESTINATION in install ( FILES ${PROJECT_BINARY_DIR}/so-roctx-link DESTINATION ../lib RENAME ${ROCTX_LIBRARY}.so ) ## kfdwrapper -install ( TARGETS "kfdwrapper64" LIBRARY DESTINATION lib ) +#install ( TARGETS "kfdwrapper64" LIBRARY DESTINATION lib ) ## Packaging directives set ( CPACK_GENERATOR "DEB" "RPM" "TGZ" ) From d2db29cd7d883c9d1a77329423a9c9a279757c3c Mon Sep 17 00:00:00 2001 From: Evgeny Date: Fri, 25 Oct 2019 19:39:04 -0500 Subject: [PATCH 203/691] fix loader to have strict ldopen --- src/core/loader.h | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/src/core/loader.h b/src/core/loader.h index f2ba57ed9c..fa2b0e62ad 100644 --- a/src/core/loader.h +++ b/src/core/loader.h @@ -29,12 +29,12 @@ class BaseLoader : public T { return f; } - static inline loader_t& Instance(const bool& preload = false) { + static inline loader_t& Instance() { loader_t* obj = instance_.load(std::memory_order_acquire); if (obj == NULL) { std::lock_guard lck(mutex_); if (instance_.load(std::memory_order_relaxed) == NULL) { - obj = new loader_t(preload); + obj = new loader_t(); instance_.store(obj, std::memory_order_release); } } @@ -45,11 +45,11 @@ class BaseLoader : public T { static void SetLibName(const char *name) { lib_name_ = name; } private: - BaseLoader(bool preload) { - const int flags = (preload) ? RTLD_LAZY : RTLD_LAZY|RTLD_NOLOAD; + BaseLoader() { + const int flags = RTLD_LAZY; handle_ = dlopen(lib_name_, flags); - if ((handle_ == NULL) && (strong_ld_check_)) { - fprintf(stderr, "roctracer: Loading '%s' failed, preload(%d), %s\n", lib_name_, (int)preload, dlerror()); + if (handle_ == NULL) { + fprintf(stderr, "roctracer: Loading '%s' failed, %s\n", lib_name_, dlerror()); abort(); } dlerror(); @@ -64,7 +64,6 @@ class BaseLoader : public T { static mutex_t mutex_; static const char* lib_name_; static std::atomic instance_; - static const bool strong_ld_check_; void* handle_; }; @@ -172,7 +171,6 @@ typedef BaseLoader RocTxLoader; #define LOADER_INSTANTIATE() \ template typename roctracer::BaseLoader::mutex_t roctracer::BaseLoader::mutex_; \ template std::atomic*> roctracer::BaseLoader::instance_{}; \ - template const bool roctracer::BaseLoader::strong_ld_check_ = true; \ template<> const char* roctracer::HipLoader::lib_name_ = "libhip_hcc.so"; \ template<> const char* roctracer::HccLoader::lib_name_ = "libmcwamp_hsa.so"; \ template<> const char* roctracer::KfdLoader::lib_name_ = "libkfdwrapper64.so"; \ From 086a8f4aa6770d0a065907edce137612d280ada7 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Fri, 25 Oct 2019 20:10:44 -0500 Subject: [PATCH 204/691] update --- CMakeLists.txt | 6 ++++-- cmake_modules/env.cmake | 2 +- src/core/roctracer.cpp | 1 - 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 185b62dd65..e90a4f7924 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -109,8 +109,10 @@ install ( FILES ${CMAKE_CURRENT_SOURCE_DIR}/inc/roctx.h DESTINATION include ) install ( FILES ${CMAKE_CURRENT_SOURCE_DIR}/inc/roctracer_roctx.h DESTINATION include ) install ( FILES ${PROJECT_BINARY_DIR}/so-roctx-link DESTINATION ../lib RENAME ${ROCTX_LIBRARY}.so ) -## kfdwrapper -#install ( TARGETS "kfdwrapper64" LIBRARY DESTINATION lib ) +## KFD wrapper +if ( DEFINED KFD_WRAPPER ) + install ( TARGETS "kfdwrapper64" LIBRARY DESTINATION lib ) +endif () ## Packaging directives set ( CPACK_GENERATOR "DEB" "RPM" "TGZ" ) diff --git a/cmake_modules/env.cmake b/cmake_modules/env.cmake index 727cd0839e..9ad3fbf23b 100644 --- a/cmake_modules/env.cmake +++ b/cmake_modules/env.cmake @@ -43,7 +43,7 @@ if ( DEFINED ENV{CMAKE_DEBUG_TRACE} ) add_definitions ( -DDEBUG_TRACE=1 ) endif() -## Enable KFD wrapper +## Enable HIP_VDI mode if ( DEFINED HIP_VDI ) add_definitions ( -DHIP_VDI=${HIP_VDI} ) else() diff --git a/src/core/roctracer.cpp b/src/core/roctracer.cpp index e93179de56..a3b701c3ee 100644 --- a/src/core/roctracer.cpp +++ b/src/core/roctracer.cpp @@ -92,7 +92,6 @@ THE SOFTWARE. #endif static inline uint32_t GetPid() { return syscall(__NR_getpid); } -static inline uint32_t GetTid() { return syscall(__NR_gettid); } /////////////////////////////////////////////////////////////////////////////////////////////////// // Mark callback From 34fbe199771923fcc1bcf34f13a9f8c558b321d4 Mon Sep 17 00:00:00 2001 From: rkebichi <54912798+rkebichi@users.noreply.github.com> Date: Wed, 30 Oct 2019 17:01:39 -0400 Subject: [PATCH 205/691] Update gen_ostream_ops.py --- script/gen_ostream_ops.py | 68 +++++++++++++++++++++------------------ 1 file changed, 37 insertions(+), 31 deletions(-) diff --git a/script/gen_ostream_ops.py b/script/gen_ostream_ops.py index a8ea77fe85..eaf39277ab 100644 --- a/script/gen_ostream_ops.py +++ b/script/gen_ostream_ops.py @@ -28,18 +28,6 @@ LICENSE = \ '*/\n' HEADER = \ -'#ifndef INC_ROCTRACER_KFD_H_\n' + \ -'#define INC_ROCTRACER_KFD_H_\n' + \ -'#include \n' + \ -'#include \n' + \ -'\n' + \ -'#include \n' + \ -'\n' + \ -'#include "roctracer.h"\n' + \ -'#include "hsakmt.h"\n' + \ -'\n' + \ -'namespace roctracer {\n' + \ -'namespace kfd_support {\n' + \ 'template \n' + \ 'struct output_streamer {\n' + \ ' inline static std::ostream& put(std::ostream& out, const T& v) { return out; }\n' + \ @@ -87,18 +75,10 @@ HEADER = \ '};\n' + \ '\n' -FOOTER = \ -'// end ostream ops for KFD\n' + \ -'};};\n' + \ -'\n' + \ -'#include \n' + \ -'\n' + \ -'#endif // INC_ROCTRACER_KFD_H_\n' + \ -' \n' - rx_dict = { 'struct_name': re.compile(r'typedef (?P.*)\n'), 'field_type': re.compile(r'\s+name\[type\]=(?P.*)\n'), + 'field_rawtype': re.compile(r'\s+name\[raw_type\]=(?P.*)\n'), 'field_name': re.compile(r'\s+name\[name\]=(?P.*)\n'), 'array_size_val': re.compile(r'\s+name\[array_size\]=(?P.*)\n'), } @@ -112,13 +92,23 @@ def _parse_line(line): return None, None def parse_file(infilepath,outfilepath): - f= open(outfilepath,"w+") + f = open(outfilepath,"w+") f.write("// automatically generated\n") f.write(LICENSE) - f.write("/////////////////////////////////////////////////////////////////////////////") f.write("\n") + HEADER_S = \ + '#ifndef INC_KFD_OSTREAM_OPS_H_\n' + \ + '#define INC_KFD_OSTREAM_OPS_H_\n' + \ + '#include \n' + \ + '\n' + \ + '#include "roctracer.h"\n' + \ + '#include "hsakmt.h"\n' + f.write(HEADER_S) + f.write('\n') + f.write('namespace roctracer {\n') + f.write('namespace kfd_support {\n') + f.write('// begin ostream ops for KFD \n') f.write(HEADER) - f.write("// begin ostream ops for KFD\n") with open(infilepath, 'r') as file_object: line = file_object.readline() @@ -127,6 +117,9 @@ def parse_file(infilepath,outfilepath): while line: key, match = _parse_line(line) if key == 'struct_name': + field_name="" + field_type="" + field_rawtype="" if tmp_str!="": f.write(tmp_str+"\n") tmp_str="" @@ -146,6 +139,10 @@ def parse_file(infilepath,outfilepath): field_type = match.group('field_type') if field_type == "": field_type="notype" + if flag==1 and key == 'field_rawtype': + field_rawtype = match.group('field_rawtype') + if field_rawtype == "": + field_rawtype="notype" if flag==1 and key == 'array_size_val': array_size_val = match.group('array_size_val') tmp_str=tmp_str.replace(field_type,field_type+"["+array_size_val+"]") @@ -158,10 +155,11 @@ def parse_file(infilepath,outfilepath): field_name = match.group('field_name') if field_name == "": field_name="noname" + if field_name!="" and field_type=="": + field_type=field_rawtype if (field_name!="noname" and field_type!="notype" and not re.search("void",field_type)) or args['debug'] : - tmp_str=" roctracer::kfd_support::output_streamer<"+field_type+">::put(out,v."+field_name+")"+";"; + tmp_str=" roctracer::kfd_support::output_streamer<"+field_type+">::put(out,v."+field_name+")"+";"; tmp_str=tmp_str.replace('<::', '<') - #f.write(tmp_str+"\n") line = file_object.readline() if tmp_str!="": f.write(tmp_str+"\n") @@ -170,9 +168,19 @@ def parse_file(infilepath,outfilepath): f.write(" return out;\n") f.write("}\n") f.write("};\n") + FOOTER = \ + '// end ostream ops for KFD \n' + FOOTER += '};};\n' + \ + '\n' + \ + '#endif // INC_KFD_OSTREAM_OPS_H_\n' + \ + ' \n' + FOOTER2 = '\n\n' + \ + '#endif // INC_BASIC_OSTREAM_OPS_H_\n' + \ + ' \n' f.write(FOOTER) f.close() print ("File "+outfilepath+" has been generated.") + return def gen_cppheader_lut(infilepath): @@ -182,26 +190,24 @@ def gen_cppheader_lut(infilepath): print(e) sys.exit(1) - f= open("/tmp/cppheader_lut.txt","w+") + f= open("cppheader_lut.txt","w+") for c in cppHeader.classes: f.write("typedef %s\n"%(c)) for l in range(len(cppHeader.classes[c]["properties"]["public"])): for key in cppHeader.classes[c]["properties"]["public"][l].keys(): f.write(" name[%s]=%s\n"%(key,cppHeader.classes[c]["properties"]["public"][l][key])) f.close() - #print ("File /tmp/cppheader_lut.txt has been generated.") return - parser = argparse.ArgumentParser(description='genOstreamOps.py: generates ostream operators for all typedefs in provided input file.') parser.add_argument('-debug','--debug', help='Debug option for features not supported by CppHeaderParser', action='store_true') requiredNamed=parser.add_argument_group('Required arguments') requiredNamed.add_argument('-in','--in', help='Header file to be parsed', required=True) requiredNamed.add_argument('-out','--out', help='Output file with ostream operators', required=True) + args = vars(parser.parse_args()) if __name__ == '__main__': gen_cppheader_lut(args['in']) - parse_file("/tmp/cppheader_lut.txt",args['out']) - + parse_file("cppheader_lut.txt",args['out']) From b9e7638ef984efec0c5746652d914b650506b85c Mon Sep 17 00:00:00 2001 From: rkebichi <54912798+rkebichi@users.noreply.github.com> Date: Wed, 30 Oct 2019 17:16:54 -0400 Subject: [PATCH 206/691] Update roctracer_kfd.h --- inc/roctracer_kfd.h | 517 +------------------------------------------- 1 file changed, 2 insertions(+), 515 deletions(-) diff --git a/inc/roctracer_kfd.h b/inc/roctracer_kfd.h index 22cb46e2c9..b9a7431b1b 100644 --- a/inc/roctracer_kfd.h +++ b/inc/roctracer_kfd.h @@ -24,525 +24,12 @@ THE SOFTWARE. #ifndef INC_ROCTRACER_KFD_H_ #define INC_ROCTRACER_KFD_H_ #include -#include -#include +//#include #include "roctracer.h" #include "hsakmt.h" - -namespace roctracer { -namespace kfd_support { -template -struct output_streamer { - inline static std::ostream& put(std::ostream& out, const T& v) { return out; } -}; -template<> -struct output_streamer { - inline static std::ostream& put(std::ostream& out, bool v) { out << std::hex << ""; return out; } -}; -template<> -struct output_streamer { - inline static std::ostream& put(std::ostream& out, uint8_t v) { out << std::hex << ""; return out; } -}; -template<> -struct output_streamer { - inline static std::ostream& put(std::ostream& out, uint16_t v) { out << std::hex << ""; return out; } -}; -template<> -struct output_streamer { - inline static std::ostream& put(std::ostream& out, uint32_t v) { out << std::hex << ""; return out; } -}; -template<> -struct output_streamer { - inline static std::ostream& put(std::ostream& out, uint64_t v) { out << std::hex << ""; return out; } -}; - -template<> -struct output_streamer { - inline static std::ostream& put(std::ostream& out, bool* v) { out << std::hex << ""; return out; } -}; -template<> -struct output_streamer { - inline static std::ostream& put(std::ostream& out, uint8_t* v) { out << std::hex << ""; return out; } -}; -template<> -struct output_streamer { - inline static std::ostream& put(std::ostream& out, uint16_t* v) { out << std::hex << ""; return out; } -}; -template<> -struct output_streamer { - inline static std::ostream& put(std::ostream& out, uint32_t* v) { out << std::hex << ""; return out; } -}; -template<> -struct output_streamer { - inline static std::ostream& put(std::ostream& out, uint64_t* v) { out << std::hex << ""; return out; } -}; - -// begin ostream ops for KFD -template<> -struct output_streamer { - inline static std::ostream& put(std::ostream& out, HsaQueueReport& v) -{ - roctracer::kfd_support::output_streamer::put(out,v.VMID); - roctracer::kfd_support::output_streamer::put(out,v.QueueSize); - return out; -} -}; -template<> -struct output_streamer { - inline static std::ostream& put(std::ostream& out, HSA_DEBUG_PROPERTIES& v) -{ - roctracer::kfd_support::output_streamer::put(out,v.Value); - return out; -} -}; -template<> -struct output_streamer { - inline static std::ostream& put(std::ostream& out, HsaNodeChange& v) -{ - roctracer::kfd_support::output_streamer::put(out,v.Flags); - return out; -} -}; -template<> -struct output_streamer { - inline static std::ostream& put(std::ostream& out, HsaDeviceStateChange& v) -{ - roctracer::kfd_support::output_streamer::put(out,v.NodeId); - roctracer::kfd_support::output_streamer::put(out,v.Device); - roctracer::kfd_support::output_streamer::put(out,v.Flags); - return out; -} -}; -template<> -struct output_streamer { - inline static std::ostream& put(std::ostream& out, HSA_LINKPROPERTY& v) -{ - roctracer::kfd_support::output_streamer::put(out,v.LinkProperty); - return out; -} -}; -template<> -struct output_streamer { - inline static std::ostream& put(std::ostream& out, HsaDbgWaveMsgAMDGen2& v) -{ - roctracer::kfd_support::output_streamer::put(out,v.Value); - roctracer::kfd_support::output_streamer::put(out,v.Reserved2); - return out; -} -}; -template<> -struct output_streamer { - inline static std::ostream& put(std::ostream& out, HsaMemoryRange& v) -{ - roctracer::kfd_support::output_streamer::put(out,v.SizeInBytes); - return out; -} -}; -template<> -struct output_streamer { - inline static std::ostream& put(std::ostream& out, HsaCounterProperties& v) -{ - roctracer::kfd_support::output_streamer::put(out,v.NumBlocks); - roctracer::kfd_support::output_streamer::put(out,v.NumConcurrent); - roctracer::kfd_support::output_streamer::put(out,v.Blocks); - return out; -} -}; -template<> -struct output_streamer { - inline static std::ostream& put(std::ostream& out, HSA_ENGINE_VERSION& v) -{ - roctracer::kfd_support::output_streamer::put(out,v.Value); - return out; -} -}; -template<> -struct output_streamer { - inline static std::ostream& put(std::ostream& out, HsaCComputeProperties& v) -{ - roctracer::kfd_support::output_streamer::put(out,v.SiblingMap); - return out; -} -}; -template<> -struct output_streamer { - inline static std::ostream& put(std::ostream& out, HsaVersionInfo& v) -{ - roctracer::kfd_support::output_streamer::put(out,v.KernelInterfaceMajorVersion); - roctracer::kfd_support::output_streamer::put(out,v.KernelInterfaceMinorVersion); - return out; -} -}; -template<> -struct output_streamer { - inline static std::ostream& put(std::ostream& out, HsaCacheType& v) -{ - roctracer::kfd_support::output_streamer::put(out,v.Value); - return out; -} -}; -template<> -struct output_streamer { - inline static std::ostream& put(std::ostream& out, HSA_MEMORYPROPERTY& v) -{ - roctracer::kfd_support::output_streamer::put(out,v.MemoryProperty); - return out; -} -}; -template<> -struct output_streamer { - inline static std::ostream& put(std::ostream& out, HsaClockCounters& v) -{ - roctracer::kfd_support::output_streamer::put(out,v.GPUClockCounter); - roctracer::kfd_support::output_streamer::put(out,v.CPUClockCounter); - roctracer::kfd_support::output_streamer::put(out,v.SystemClockCounter); - roctracer::kfd_support::output_streamer::put(out,v.SystemClockFrequencyHz); - return out; -} -}; -template<> -struct output_streamer { - inline static std::ostream& put(std::ostream& out, HsaCounter& v) -{ - roctracer::kfd_support::output_streamer::put(out,v.Type); - roctracer::kfd_support::output_streamer::put(out,v.CounterId); - roctracer::kfd_support::output_streamer::put(out,v.CounterSizeInBits); - roctracer::kfd_support::output_streamer::put(out,v.CounterMask); - roctracer::kfd_support::output_streamer::put(out,v.Flags); - roctracer::kfd_support::output_streamer::put(out,v.BlockIndex); - return out; -} -}; -template<> -struct output_streamer { - inline static std::ostream& put(std::ostream& out, HsaNodeProperties& v) -{ - roctracer::kfd_support::output_streamer::put(out,v.NumCPUCores); - roctracer::kfd_support::output_streamer::put(out,v.NumFComputeCores); - roctracer::kfd_support::output_streamer::put(out,v.NumMemoryBanks); - roctracer::kfd_support::output_streamer::put(out,v.NumCaches); - roctracer::kfd_support::output_streamer::put(out,v.NumIOLinks); - roctracer::kfd_support::output_streamer::put(out,v.CComputeIdLo); - roctracer::kfd_support::output_streamer::put(out,v.FComputeIdLo); - roctracer::kfd_support::output_streamer::put(out,v.Capability); - roctracer::kfd_support::output_streamer::put(out,v.MaxWavesPerSIMD); - roctracer::kfd_support::output_streamer::put(out,v.LDSSizeInKB); - roctracer::kfd_support::output_streamer::put(out,v.GDSSizeInKB); - roctracer::kfd_support::output_streamer::put(out,v.WaveFrontSize); - roctracer::kfd_support::output_streamer::put(out,v.NumShaderBanks); - roctracer::kfd_support::output_streamer::put(out,v.NumArrays); - roctracer::kfd_support::output_streamer::put(out,v.NumCUPerArray); - roctracer::kfd_support::output_streamer::put(out,v.NumSIMDPerCU); - roctracer::kfd_support::output_streamer::put(out,v.MaxSlotsScratchCU); - roctracer::kfd_support::output_streamer::put(out,v.EngineId); - roctracer::kfd_support::output_streamer::put(out,v.VendorId); - roctracer::kfd_support::output_streamer::put(out,v.DeviceId); - roctracer::kfd_support::output_streamer::put(out,v.LocationId); - roctracer::kfd_support::output_streamer::put(out,v.LocalMemSize); - roctracer::kfd_support::output_streamer::put(out,v.MaxEngineClockMhzFCompute); - roctracer::kfd_support::output_streamer::put(out,v.MaxEngineClockMhzCCompute); - roctracer::kfd_support::output_streamer::put(out,v.DrmRenderMinor); - roctracer::kfd_support::output_streamer::put(out,v.MarketingName); - roctracer::kfd_support::output_streamer::put(out,v.AMDName); - roctracer::kfd_support::output_streamer::put(out,v.uCodeEngineVersions); - roctracer::kfd_support::output_streamer::put(out,v.DebugProperties); - roctracer::kfd_support::output_streamer::put(out,v.HiveID); - roctracer::kfd_support::output_streamer::put(out,v.NumSdmaEngines); - roctracer::kfd_support::output_streamer::put(out,v.NumSdmaXgmiEngines); - roctracer::kfd_support::output_streamer::put(out,v.NumGws); - roctracer::kfd_support::output_streamer::put(out,v.Reserved); - return out; -} -}; -template<> -struct output_streamer { - inline static std::ostream& put(std::ostream& out, HsaSystemProperties& v) -{ - roctracer::kfd_support::output_streamer::put(out,v.NumNodes); - roctracer::kfd_support::output_streamer::put(out,v.PlatformOem); - roctracer::kfd_support::output_streamer::put(out,v.PlatformId); - roctracer::kfd_support::output_streamer::put(out,v.PlatformRev); - return out; -} -}; -template<> -struct output_streamer { - inline static std::ostream& put(std::ostream& out, HsaMemoryProperties& v) -{ - roctracer::kfd_support::output_streamer::put(out,v.HeapType); - roctracer::kfd_support::output_streamer::put(out,v.Flags); - roctracer::kfd_support::output_streamer::put(out,v.Width); - roctracer::kfd_support::output_streamer::put(out,v.MemoryClockMax); - roctracer::kfd_support::output_streamer::put(out,v.VirtualBaseAddress); - return out; -} -}; -template<> -struct output_streamer { - inline static std::ostream& put(std::ostream& out, HSA_ENGINE_ID& v) -{ - roctracer::kfd_support::output_streamer::put(out,v.Value); - return out; -} -}; -template<> -struct output_streamer { - inline static std::ostream& put(std::ostream& out, HSA_CAPABILITY& v) -{ - roctracer::kfd_support::output_streamer::put(out,v.Value); - return out; -} -}; -template<> -struct output_streamer { - inline static std::ostream& put(std::ostream& out, HsaQueueInfo& v) -{ - roctracer::kfd_support::output_streamer::put(out,v.QueueDetailError); - roctracer::kfd_support::output_streamer::put(out,v.QueueTypeExtended); - roctracer::kfd_support::output_streamer::put(out,v.NumCUAssigned); - roctracer::kfd_support::output_streamer::put(out,v.CUMaskInfo); - roctracer::kfd_support::output_streamer::put(out,v.UserContextSaveArea); - roctracer::kfd_support::output_streamer::put(out,v.SaveAreaSizeInBytes); - roctracer::kfd_support::output_streamer::put(out,v.ControlStackTop); - roctracer::kfd_support::output_streamer::put(out,v.ControlStackUsedInBytes); - roctracer::kfd_support::output_streamer::put(out,v.SaveAreaHeader); - roctracer::kfd_support::output_streamer::put(out,v.Reserved2); - return out; -} -}; -template<> -struct output_streamer { - inline static std::ostream& put(std::ostream& out, HsaIoLinkProperties& v) -{ - roctracer::kfd_support::output_streamer::put(out,v.IoLinkType); - roctracer::kfd_support::output_streamer::put(out,v.VersionMajor); - roctracer::kfd_support::output_streamer::put(out,v.VersionMinor); - roctracer::kfd_support::output_streamer::put(out,v.NodeFrom); - roctracer::kfd_support::output_streamer::put(out,v.NodeTo); - roctracer::kfd_support::output_streamer::put(out,v.Weight); - roctracer::kfd_support::output_streamer::put(out,v.MinimumLatency); - roctracer::kfd_support::output_streamer::put(out,v.MaximumLatency); - roctracer::kfd_support::output_streamer::put(out,v.MinimumBandwidth); - roctracer::kfd_support::output_streamer::put(out,v.MaximumBandwidth); - roctracer::kfd_support::output_streamer::put(out,v.RecTransferSize); - roctracer::kfd_support::output_streamer::put(out,v.Flags); - return out; -} -}; -template<> -struct output_streamer { - inline static std::ostream& put(std::ostream& out, HsaMemoryAccessFault& v) -{ - roctracer::kfd_support::output_streamer::put(out,v.NodeId); - roctracer::kfd_support::output_streamer::put(out,v.VirtualAddress); - roctracer::kfd_support::output_streamer::put(out,v.Failure); - roctracer::kfd_support::output_streamer::put(out,v.Flags); - return out; -} -}; -template<> -struct output_streamer { - inline static std::ostream& put(std::ostream& out, HsaEvent& v) -{ - roctracer::kfd_support::output_streamer::put(out,v.EventId); - roctracer::kfd_support::output_streamer::put(out,v.EventData); - return out; -} -}; -template<> -struct output_streamer { - inline static std::ostream& put(std::ostream& out, HsaMemMapFlags& v) -{ - return out; -} -}; -template<> -struct output_streamer { - inline static std::ostream& put(std::ostream& out, HsaDbgWaveMessage& v) -{ - roctracer::kfd_support::output_streamer::put(out,v.DbgWaveMsg); - return out; -} -}; -template<> -struct output_streamer { - inline static std::ostream& put(std::ostream& out, HsaGraphicsResourceInfo& v) -{ - roctracer::kfd_support::output_streamer::put(out,v.SizeInBytes); - roctracer::kfd_support::output_streamer::put(out,v.MetadataSizeInBytes); - roctracer::kfd_support::output_streamer::put(out,v.Reserved); - return out; -} -}; -template<> -struct output_streamer { - inline static std::ostream& put(std::ostream& out, HsaEventData& v) -{ - roctracer::kfd_support::output_streamer::put(out,v.EventType); - roctracer::kfd_support::output_streamer::put(out,v.HWData1); - roctracer::kfd_support::output_streamer::put(out,v.HWData2); - roctracer::kfd_support::output_streamer::put(out,v.HWData3); - return out; -} -}; -template<> -struct output_streamer { - inline static std::ostream& put(std::ostream& out, HsaDbgWaveMessageAMD& v) -{ - roctracer::kfd_support::output_streamer::put(out,v.WaveMsgInfoGen2); - return out; -} -}; -template<> -struct output_streamer { - inline static std::ostream& put(std::ostream& out, HsaPointerInfo& v) -{ - roctracer::kfd_support::output_streamer::put(out,v.Type); - roctracer::kfd_support::output_streamer::put(out,v.Node); - roctracer::kfd_support::output_streamer::put(out,v.MemFlags); - roctracer::kfd_support::output_streamer::put(out,v.GPUAddress); - roctracer::kfd_support::output_streamer::put(out,v.SizeInBytes); - roctracer::kfd_support::output_streamer::put(out,v.NRegisteredNodes); - roctracer::kfd_support::output_streamer::put(out,v.NMappedNodes); - roctracer::kfd_support::output_streamer::put(out,v.RegisteredNodes); - roctracer::kfd_support::output_streamer::put(out,v.MappedNodes); - return out; -} -}; -template<> -struct output_streamer { - inline static std::ostream& put(std::ostream& out, HsaCounterBlockProperties& v) -{ - roctracer::kfd_support::output_streamer::put(out,v.BlockId); - roctracer::kfd_support::output_streamer::put(out,v.NumCounters); - roctracer::kfd_support::output_streamer::put(out,v.NumConcurrent); - roctracer::kfd_support::output_streamer::put(out,v.Counters); - return out; -} -}; -template<> -struct output_streamer { - inline static std::ostream& put(std::ostream& out, HsaEventDescriptor& v) -{ - roctracer::kfd_support::output_streamer::put(out,v.EventType); - roctracer::kfd_support::output_streamer::put(out,v.NodeId); - roctracer::kfd_support::output_streamer::put(out,v.SyncVar); - return out; -} -}; -template<> -struct output_streamer { - inline static std::ostream& put(std::ostream& out, HsaAccessAttributeFailure& v) -{ - roctracer::kfd_support::output_streamer::put(out,v.NotPresent); - roctracer::kfd_support::output_streamer::put(out,v.ReadOnly); - roctracer::kfd_support::output_streamer::put(out,v.NoExecute); - roctracer::kfd_support::output_streamer::put(out,v.GpuAccess); - roctracer::kfd_support::output_streamer::put(out,v.ECC); - roctracer::kfd_support::output_streamer::put(out,v.Imprecise); - roctracer::kfd_support::output_streamer::put(out,v.ErrorType); - roctracer::kfd_support::output_streamer::put(out,v.Reserved); - return out; -} -}; -template<> -struct output_streamer { - inline static std::ostream& put(std::ostream& out, HSA_UUID& v) -{ - roctracer::kfd_support::output_streamer::put(out,v.Data1); - roctracer::kfd_support::output_streamer::put(out,v.Data2); - roctracer::kfd_support::output_streamer::put(out,v.Data3); - roctracer::kfd_support::output_streamer::put(out,v.Data4); - return out; -} -}; -template<> -struct output_streamer { - inline static std::ostream& put(std::ostream& out, HsaQueueResource& v) -{ - roctracer::kfd_support::output_streamer::put(out,v.QueueId); - return out; -} -}; -template<> -struct output_streamer { - inline static std::ostream& put(std::ostream& out, HsaCounterFlags& v) -{ - return out; -} -}; -template<> -struct output_streamer { - inline static std::ostream& put(std::ostream& out, HsaUserContextSaveAreaHeader& v) -{ - roctracer::kfd_support::output_streamer::put(out,v.ControlStackOffset); - roctracer::kfd_support::output_streamer::put(out,v.ControlStackSize); - roctracer::kfd_support::output_streamer::put(out,v.WaveStateOffset); - roctracer::kfd_support::output_streamer::put(out,v.WaveStateSize); - return out; -} -}; -template<> -struct output_streamer { - inline static std::ostream& put(std::ostream& out, HsaCacheProperties& v) -{ - roctracer::kfd_support::output_streamer::put(out,v.ProcessorIdLow); - roctracer::kfd_support::output_streamer::put(out,v.CacheLevel); - roctracer::kfd_support::output_streamer::put(out,v.CacheSize); - roctracer::kfd_support::output_streamer::put(out,v.CacheLineSize); - roctracer::kfd_support::output_streamer::put(out,v.CacheLinesPerTag); - roctracer::kfd_support::output_streamer::put(out,v.CacheAssociativity); - roctracer::kfd_support::output_streamer::put(out,v.CacheLatency); - roctracer::kfd_support::output_streamer::put(out,v.CacheType); - roctracer::kfd_support::output_streamer::put(out,v.SiblingMap); - return out; -} -}; -template<> -struct output_streamer { - inline static std::ostream& put(std::ostream& out, HsaMemFlags& v) -{ - return out; -} -}; -template<> -struct output_streamer { - inline static std::ostream& put(std::ostream& out, HsaPmcTraceRoot& v) -{ - roctracer::kfd_support::output_streamer::put(out,v.TraceBufferMinSizeBytes); - roctracer::kfd_support::output_streamer::put(out,v.NumberOfPasses); - roctracer::kfd_support::output_streamer::put(out,v.TraceId); - return out; -} -}; -template<> -struct output_streamer { - inline static std::ostream& put(std::ostream& out, HsaGpuTileConfig& v) -{ - roctracer::kfd_support::output_streamer::put(out,v.TileConfig); - roctracer::kfd_support::output_streamer::put(out,v.MacroTileConfig); - roctracer::kfd_support::output_streamer::put(out,v.NumTileConfigs); - roctracer::kfd_support::output_streamer::put(out,v.NumMacroTileConfigs); - roctracer::kfd_support::output_streamer::put(out,v.GbAddrConfig); - roctracer::kfd_support::output_streamer::put(out,v.NumBanks); - roctracer::kfd_support::output_streamer::put(out,v.NumRanks); - roctracer::kfd_support::output_streamer::put(out,v.Reserved); - return out; -} -}; -template<> -struct output_streamer { - inline static std::ostream& put(std::ostream& out, HsaSyncVar& v) -{ - roctracer::kfd_support::output_streamer::put(out,v.SyncVarSize); - return out; -} -}; -// end ostream ops for KFD -};}; - +#include "inc/kfd_ostream_ops.h" #include #endif // INC_ROCTRACER_KFD_H_ From becaf5d074dcb56a066842c037072acdddeb7058 Mon Sep 17 00:00:00 2001 From: rkebichi <54912798+rkebichi@users.noreply.github.com> Date: Wed, 30 Oct 2019 17:18:18 -0400 Subject: [PATCH 207/691] Update Makefile --- test/MatrixTranspose_test/Makefile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/test/MatrixTranspose_test/Makefile b/test/MatrixTranspose_test/Makefile index 30c37ea992..04fdbee6bb 100644 --- a/test/MatrixTranspose_test/Makefile +++ b/test/MatrixTranspose_test/Makefile @@ -1,6 +1,7 @@ ROOT_PATH = ../.. LIB_PATH = $(ROOT_PATH)/build ROC_LIBS = -L$(LIB_PATH) -lroctracer64 -lroctx64 +HSA_KMT_INC_PATH = /opt/rocm/include export LD_LIBRARY_PATH=$(LIB_PATH) ITERATIONS ?= 100 @@ -23,7 +24,7 @@ EXECUTABLE=./MatrixTranspose all: clean $(EXECUTABLE) -CXXFLAGS =-g -I$(ROOT_PATH) -I$(ROOT_PATH)/inc -I${CMAKE_PREFIX_PATH}/include -DLOCAL_BUILD=1 -DITERATIONS=$(ITERATIONS) +CXXFLAGS =-g -I$(ROOT_PATH) -I$(ROOT_PATH)/inc -I${HSA_KMT_INC_PATH} -DLOCAL_BUILD=1 -DITERATIONS=$(ITERATIONS) CXX=$(HIPCC) $(EXECUTABLE): $(OBJECTS) From 3a8ae2fff4cea14cc4e81ee14fda0d5f25efd489 Mon Sep 17 00:00:00 2001 From: rkebichi <54912798+rkebichi@users.noreply.github.com> Date: Wed, 30 Oct 2019 17:21:20 -0400 Subject: [PATCH 208/691] Update CMakeLists.txt --- src/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index d0c5044c7d..c4f2bd1b5c 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -18,7 +18,7 @@ set ( KFD_LIB "kfdwrapper64" ) set ( KFD_LIB_SRC ${LIB_DIR}/kfd/kfd_wrapper.cpp ) -execute_process ( COMMAND sh -xc "${ROOT_DIR}/script/genOstreamOps.py -in ${HSA_KMT_INC_PATH}/hsakmttypes.h -out ${ROOT_DIR}/inc/roctracer_kfd.h" ) +execute_process ( COMMAND sh -xc "${ROOT_DIR}/script/gen_ostream_ops.py -in ${HSA_KMT_INC_PATH}/hsakmttypes.h -out ${ROOT_DIR}/inc/kfd_ostream_ops.h" ) add_library ( ${KFD_LIB} SHARED ${KFD_LIB_SRC} ) target_include_directories ( ${KFD_LIB} PRIVATE ${LIB_DIR} ${ROOT_DIR} ${ROOT_DIR}/inc ${HSA_RUNTIME_INC_PATH} ${HSA_RUNTIME_HSA_INC_PATH} ${HSA_KMT_INC_PATH} ) target_link_libraries( ${KFD_LIB} PRIVATE c stdc++ ) From 0aa6df2b52e18bbba989986052b3d5b1d8340b05 Mon Sep 17 00:00:00 2001 From: rkebichi <54912798+rkebichi@users.noreply.github.com> Date: Wed, 30 Oct 2019 17:26:57 -0400 Subject: [PATCH 209/691] Update roctracer_kfd.h --- inc/roctracer_kfd.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/inc/roctracer_kfd.h b/inc/roctracer_kfd.h index b9a7431b1b..0e5c2f324b 100644 --- a/inc/roctracer_kfd.h +++ b/inc/roctracer_kfd.h @@ -30,7 +30,7 @@ THE SOFTWARE. #include "roctracer.h" #include "hsakmt.h" #include "inc/kfd_ostream_ops.h" -#include +#include "inc/kfd_prof_str.h" #endif // INC_ROCTRACER_KFD_H_ From 1a62e1859318830a281d343da6e246168f5d5243 Mon Sep 17 00:00:00 2001 From: rkebichi <54912798+rkebichi@users.noreply.github.com> Date: Thu, 31 Oct 2019 10:48:42 -0400 Subject: [PATCH 210/691] Update roctracer_kfd.h --- inc/roctracer_kfd.h | 2 -- 1 file changed, 2 deletions(-) diff --git a/inc/roctracer_kfd.h b/inc/roctracer_kfd.h index 0e5c2f324b..45113ce435 100644 --- a/inc/roctracer_kfd.h +++ b/inc/roctracer_kfd.h @@ -25,8 +25,6 @@ THE SOFTWARE. #define INC_ROCTRACER_KFD_H_ #include -//#include - #include "roctracer.h" #include "hsakmt.h" #include "inc/kfd_ostream_ops.h" From c17a5acb0694ff32b1f6d9660bc24dedbe694ac2 Mon Sep 17 00:00:00 2001 From: rkebichi <54912798+rkebichi@users.noreply.github.com> Date: Thu, 31 Oct 2019 10:51:53 -0400 Subject: [PATCH 211/691] Update MatrixTranspose.cpp --- test/MatrixTranspose_test/MatrixTranspose.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/test/MatrixTranspose_test/MatrixTranspose.cpp b/test/MatrixTranspose_test/MatrixTranspose.cpp index f0a3d58d3b..c8c835bd54 100644 --- a/test/MatrixTranspose_test/MatrixTranspose.cpp +++ b/test/MatrixTranspose_test/MatrixTranspose.cpp @@ -33,7 +33,6 @@ THE SOFTWARE. // kfd header file #include -#include #ifndef ITERATIONS # define ITERATIONS 100 From 79dc82177c5c6532da37e21f3737e04177d23d65 Mon Sep 17 00:00:00 2001 From: rkebichi <54912798+rkebichi@users.noreply.github.com> Date: Thu, 31 Oct 2019 11:13:49 -0400 Subject: [PATCH 212/691] Update Makefile --- test/MatrixTranspose_test/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/MatrixTranspose_test/Makefile b/test/MatrixTranspose_test/Makefile index 04fdbee6bb..33538902f8 100644 --- a/test/MatrixTranspose_test/Makefile +++ b/test/MatrixTranspose_test/Makefile @@ -1,7 +1,7 @@ ROOT_PATH = ../.. LIB_PATH = $(ROOT_PATH)/build ROC_LIBS = -L$(LIB_PATH) -lroctracer64 -lroctx64 -HSA_KMT_INC_PATH = /opt/rocm/include +HSA_KMT_INC_PATH ?= /opt/rocm/include export LD_LIBRARY_PATH=$(LIB_PATH) ITERATIONS ?= 100 From 6a442864a326b685130af461472da27a1b5a41e2 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Wed, 6 Nov 2019 09:11:11 -0600 Subject: [PATCH 213/691] hip-vdi sync activity callback fix --- src/core/roctracer.cpp | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/src/core/roctracer.cpp b/src/core/roctracer.cpp index a3b701c3ee..1ae25fb885 100644 --- a/src/core/roctracer.cpp +++ b/src/core/roctracer.cpp @@ -313,22 +313,23 @@ void* HIP_SyncActivityCallback( MemoryPool* pool = reinterpret_cast(arg); int phase = ACTIVITY_API_PHASE_ENTER; - if (data != NULL) { + if (record != NULL) { + if (data == NULL) EXC_ABORT(ROCTRACER_STATUS_ERROR, "ActivityCallback: data is NULL"); phase = data->phase; } else if (pool != NULL) { phase = ACTIVITY_API_PHASE_EXIT; } if (phase == ACTIVITY_API_PHASE_ENTER) { - if ((data == NULL) && (pool != NULL)) EXC_ABORT(ROCTRACER_STATUS_ERROR, "ActivityCallback enter: pool is not NULL"); // Allocating a record if NULL passed if (record == NULL) { if (data != NULL) EXC_ABORT(ROCTRACER_STATUS_ERROR, "ActivityCallback enter: record is NULL"); record_pair_stack.push({}); auto& top = record_pair_stack.top(); record = &(top.record); - data_ptr = &(top.data.hip); - data = data_ptr; + data = &(top.data.hip); + data_ptr = const_cast(data); + data_ptr->phase = phase; } // Filing record info @@ -340,7 +341,7 @@ void* HIP_SyncActivityCallback( uint64_t correlation_id = data->correlation_id; if (correlation_id == 0) { correlation_id = GlobalCounter::Increment(); - const_cast(data)->correlation_id = correlation_id; + data_ptr->correlation_id = correlation_id; } record->correlation_id = correlation_id; @@ -352,11 +353,10 @@ void* HIP_SyncActivityCallback( if (pool == NULL) EXC_ABORT(ROCTRACER_STATUS_ERROR, "ActivityCallback exit: pool is NULL"); // Getting record of stacked - if (!record_pair_stack.empty()) { + if (record == NULL) { + if (record_pair_stack.empty()) EXC_ABORT(ROCTRACER_STATUS_ERROR, "ActivityCallback exit: record stack is empty"); auto& top = record_pair_stack.top(); record = &(top.record); - data = &(top.data.hip); - record_pair_stack.pop(); } // Filing record info @@ -376,6 +376,9 @@ void* HIP_SyncActivityCallback( // Writing record to the buffer pool->Write(*record); + // popping the record entry + if (!record_pair_stack.empty()) record_pair_stack.pop(); + // Clearing correlatin ID correlation_id_tls = 0; From f730fb6a4e68117db576a347a4db39b6cea40174 Mon Sep 17 00:00:00 2001 From: "Wen-Heng (Jack) Chung" Date: Wed, 6 Nov 2019 10:54:45 -0600 Subject: [PATCH 214/691] Revise the return type of roctracer_next_record to roctracer_status_t. --- inc/roctracer.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/inc/roctracer.h b/inc/roctracer.h index 5f469616d2..812fc464f4 100644 --- a/inc/roctracer.h +++ b/inc/roctracer.h @@ -137,7 +137,7 @@ roctracer_status_t roctracer_disable_callback(); typedef activity_record_t roctracer_record_t; // Return next record -static inline int roctracer_next_record( +static inline roctracer_status_t roctracer_next_record( const activity_record_t* record, // [in] record ptr const activity_record_t** next) // [out] next record ptr { From 5ef10332605b64226f1f5afe4bdc35c9b8cfcb74 Mon Sep 17 00:00:00 2001 From: rkebichi <54912798+rkebichi@users.noreply.github.com> Date: Thu, 7 Nov 2019 16:06:21 -0500 Subject: [PATCH 215/691] Update gen_ostream_ops.py New version of script generates all expected fields for KFD API. I checked all structs and made sure nested structs and unions, named or anonymous are handled properly. --- script/gen_ostream_ops.py | 177 ++++++++++++++++---------------------- 1 file changed, 74 insertions(+), 103 deletions(-) diff --git a/script/gen_ostream_ops.py b/script/gen_ostream_ops.py index eaf39277ab..693111547c 100644 --- a/script/gen_ostream_ops.py +++ b/script/gen_ostream_ops.py @@ -32,67 +32,104 @@ HEADER = \ 'struct output_streamer {\n' + \ ' inline static std::ostream& put(std::ostream& out, const T& v) { return out; }\n' + \ '};\n' + \ -'template<>\n' + \ +'\ntemplate<>\n' + \ 'struct output_streamer {\n' + \ ' inline static std::ostream& put(std::ostream& out, bool v) { out << std::hex << ""; return out; }\n' + \ '};\n' + \ -'template<>\n' + \ +'\ntemplate<>\n' + \ 'struct output_streamer {\n' + \ ' inline static std::ostream& put(std::ostream& out, uint8_t v) { out << std::hex << ""; return out; }\n' + \ '};\n' + \ -'template<>\n' + \ +'\ntemplate<>\n' + \ 'struct output_streamer {\n' + \ ' inline static std::ostream& put(std::ostream& out, uint16_t v) { out << std::hex << ""; return out; }\n' + \ '};\n' + \ -'template<>\n' + \ +'\ntemplate<>\n' + \ 'struct output_streamer {\n' + \ ' inline static std::ostream& put(std::ostream& out, uint32_t v) { out << std::hex << ""; return out; }\n' + \ '};\n' + \ -'template<>\n' + \ +'\ntemplate<>\n' + \ 'struct output_streamer {\n' + \ ' inline static std::ostream& put(std::ostream& out, uint64_t v) { out << std::hex << ""; return out; }\n' + \ '};\n' + \ '\n' + \ -'template<>\n' + \ +'\ntemplate<>\n' + \ 'struct output_streamer {\n' + \ ' inline static std::ostream& put(std::ostream& out, bool* v) { out << std::hex << ""; return out; }\n' + \ '};\n' + \ -'template<>\n' + \ +'\ntemplate<>\n' + \ 'struct output_streamer {\n' + \ ' inline static std::ostream& put(std::ostream& out, uint8_t* v) { out << std::hex << ""; return out; }\n' + \ '};\n' + \ -'template<>\n' + \ +'\ntemplate<>\n' + \ 'struct output_streamer {\n' + \ ' inline static std::ostream& put(std::ostream& out, uint16_t* v) { out << std::hex << ""; return out; }\n' + \ '};\n' + \ -'template<>\n' + \ +'\ntemplate<>\n' + \ 'struct output_streamer {\n' + \ ' inline static std::ostream& put(std::ostream& out, uint32_t* v) { out << std::hex << ""; return out; }\n' + \ '};\n' + \ -'template<>\n' + \ +'\ntemplate<>\n' + \ 'struct output_streamer {\n' + \ ' inline static std::ostream& put(std::ostream& out, uint64_t* v) { out << std::hex << ""; return out; }\n' + \ '};\n' + \ '\n' -rx_dict = { - 'struct_name': re.compile(r'typedef (?P.*)\n'), - 'field_type': re.compile(r'\s+name\[type\]=(?P.*)\n'), - 'field_rawtype': re.compile(r'\s+name\[raw_type\]=(?P.*)\n'), - 'field_name': re.compile(r'\s+name\[name\]=(?P.*)\n'), - 'array_size_val': re.compile(r'\s+name\[array_size\]=(?P.*)\n'), -} +structs_done={} +def process_struct(f,c,cppHeader,nname): -def _parse_line(line): + if c not in cppHeader.classes: + return + if c in structs_done: + return - for key, rx in rx_dict.items(): - match = rx.search(line) - if match: - return key, match - return None, None + structs_done[c]=1; + for l in range(len(cppHeader.classes[c]["properties"]["public"])): + key='name' + name="" + if key in cppHeader.classes[c]["properties"]["public"][l]: + name = cppHeader.classes[c]["properties"]["public"][l][key] + key2='type' + mtype="" + if key2 in cppHeader.classes[c]["properties"]["public"][l]: + mtype = cppHeader.classes[c]["properties"]["public"][l][key2] + key3='array_size' + array_size="" + if key3 in cppHeader.classes[c]["properties"]["public"][l]: + array_size=cppHeader.classes[c]["properties"]["public"][l][key3] + key4='property_of_class' + prop="" + if key4 in cppHeader.classes[c]["properties"]["public"][l]: + prop=cppHeader.classes[c]["properties"]["public"][l][key4] -def parse_file(infilepath,outfilepath): - f = open(outfilepath,"w+") + if mtype!="" and "union" not in mtype: + if array_size == "": + str=" roctracer::kfd_support::output_streamer<"+mtype+">::put(out,v."+name+");\n" + else: + str=" roctracer::kfd_support::output_streamer<"+mtype+"["+array_size+"]>::put(out,v."+name+");\n" + + if nname!="" and nname not in str: + #print("injecting ",nname, "in ", str) + str=str.replace("v.","v."+nname+".") + if "void" not in mtype: + f.write(str) + else: + nc=prop+"::" + process_struct(f,nc,cppHeader,name) + nc=prop+"::"+mtype+" " + process_struct(f,nc,cppHeader,name) + nc=c+"::" + process_struct(f,nc,cppHeader,name) + + +def gen_cppheader(infilepath,outfilepath): + try: + cppHeader = CppHeaderParser.CppHeader(infilepath) + except CppHeaderParser.CppParseError as e: + print(e) + sys.exit(1) + + f= open(outfilepath,"w+") f.write("// automatically generated\n") f.write(LICENSE) f.write("\n") @@ -105,71 +142,24 @@ def parse_file(infilepath,outfilepath): '#include "hsakmt.h"\n' f.write(HEADER_S) f.write('\n') - f.write('namespace roctracer {\n') + f.write('namespace roctracer {\n') f.write('namespace kfd_support {\n') f.write('// begin ostream ops for KFD \n') f.write(HEADER) - - with open(infilepath, 'r') as file_object: - line = file_object.readline() - flag=0 - tmp_str="" - while line: - key, match = _parse_line(line) - if key == 'struct_name': - field_name="" - field_type="" - field_rawtype="" - if tmp_str!="": - f.write(tmp_str+"\n") - tmp_str="" - if flag == 1: - f.write(" return out;\n") - f.write("}\n") - f.write("};\n") - flag=0 - struct_name = match.group('struct_name') - if ("anon" not in struct_name and "union" not in struct_name) or args['debug']: - f.write("template<>\n") - f.write("struct output_streamer<"+struct_name+"&> {\n") - f.write(" inline static std::ostream& put(std::ostream& out, "+struct_name+"& v)\n") - f.write("{\n") - flag=1; - if flag==1 and key == 'field_type': - field_type = match.group('field_type') - if field_type == "": - field_type="notype" - if flag==1 and key == 'field_rawtype': - field_rawtype = match.group('field_rawtype') - if field_rawtype == "": - field_rawtype="notype" - if flag==1 and key == 'array_size_val': - array_size_val = match.group('array_size_val') - tmp_str=tmp_str.replace(field_type,field_type+"["+array_size_val+"]") - f.write(tmp_str+"\n") - tmp_str="" - if flag==1 and key == 'field_name' and "union" not in field_type: - if tmp_str!="": - f.write(tmp_str+"\n") - tmp_str="" - field_name = match.group('field_name') - if field_name == "": - field_name="noname" - if field_name!="" and field_type=="": - field_type=field_rawtype - if (field_name!="noname" and field_type!="notype" and not re.search("void",field_type)) or args['debug'] : - tmp_str=" roctracer::kfd_support::output_streamer<"+field_type+">::put(out,v."+field_name+")"+";"; - tmp_str=tmp_str.replace('<::', '<') - line = file_object.readline() - if tmp_str!="": - f.write(tmp_str+"\n") - tmp_str="" - if flag==1: + for c in cppHeader.classes: + if "union" in c: + continue + f.write("\ntemplate<>\n") + f.write("struct output_streamer<"+c+"&> {\n") + f.write(" inline static std::ostream& put(std::ostream& out, "+c+"& v)\n") + f.write("{\n") + process_struct(f,c,cppHeader,"") f.write(" return out;\n") f.write("}\n") f.write("};\n") + FOOTER = \ - '// end ostream ops for KFD \n' + '// end ostream ops for KFD \n' FOOTER += '};};\n' + \ '\n' + \ '#endif // INC_KFD_OSTREAM_OPS_H_\n' + \ @@ -178,29 +168,11 @@ def parse_file(infilepath,outfilepath): '#endif // INC_BASIC_OSTREAM_OPS_H_\n' + \ ' \n' f.write(FOOTER) - f.close() - print ("File "+outfilepath+" has been generated.") - return - -def gen_cppheader_lut(infilepath): - try: - cppHeader = CppHeaderParser.CppHeader(infilepath) - except CppHeaderParser.CppParseError as e: - print(e) - sys.exit(1) - - f= open("cppheader_lut.txt","w+") - for c in cppHeader.classes: - f.write("typedef %s\n"%(c)) - for l in range(len(cppHeader.classes[c]["properties"]["public"])): - for key in cppHeader.classes[c]["properties"]["public"][l].keys(): - f.write(" name[%s]=%s\n"%(key,cppHeader.classes[c]["properties"]["public"][l][key])) f.close() return parser = argparse.ArgumentParser(description='genOstreamOps.py: generates ostream operators for all typedefs in provided input file.') -parser.add_argument('-debug','--debug', help='Debug option for features not supported by CppHeaderParser', action='store_true') requiredNamed=parser.add_argument_group('Required arguments') requiredNamed.add_argument('-in','--in', help='Header file to be parsed', required=True) requiredNamed.add_argument('-out','--out', help='Output file with ostream operators', required=True) @@ -208,6 +180,5 @@ requiredNamed.add_argument('-out','--out', help='Output file with ostream operat args = vars(parser.parse_args()) if __name__ == '__main__': - gen_cppheader_lut(args['in']) - parse_file("cppheader_lut.txt",args['out']) + gen_cppheader(args['in'],args['out']) From d4014f5d44614287b09752792623e460e06fd184 Mon Sep 17 00:00:00 2001 From: rkebichi <54912798+rkebichi@users.noreply.github.com> Date: Tue, 12 Nov 2019 09:55:46 -0500 Subject: [PATCH 216/691] Update gen_ostream_ops.py --- script/gen_ostream_ops.py | 44 +++++++++++++++++++-------------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/script/gen_ostream_ops.py b/script/gen_ostream_ops.py index 693111547c..f98a83b35b 100644 --- a/script/gen_ostream_ops.py +++ b/script/gen_ostream_ops.py @@ -75,7 +75,7 @@ HEADER = \ '};\n' + \ '\n' -structs_done={} +structs_done = {} def process_struct(f,c,cppHeader,nname): if c not in cppHeader.classes: @@ -83,42 +83,42 @@ def process_struct(f,c,cppHeader,nname): if c in structs_done: return - structs_done[c]=1; + structs_done[c] = 1; for l in range(len(cppHeader.classes[c]["properties"]["public"])): - key='name' - name="" + key = 'name' + name = "" if key in cppHeader.classes[c]["properties"]["public"][l]: name = cppHeader.classes[c]["properties"]["public"][l][key] - key2='type' - mtype="" + key2 = 'type' + mtype = "" if key2 in cppHeader.classes[c]["properties"]["public"][l]: mtype = cppHeader.classes[c]["properties"]["public"][l][key2] - key3='array_size' - array_size="" + key3 = 'array_size' + array_size = "" if key3 in cppHeader.classes[c]["properties"]["public"][l]: - array_size=cppHeader.classes[c]["properties"]["public"][l][key3] - key4='property_of_class' - prop="" + array_size = cppHeader.classes[c]["properties"]["public"][l][key3] + key4 = 'property_of_class' + prop = "" if key4 in cppHeader.classes[c]["properties"]["public"][l]: - prop=cppHeader.classes[c]["properties"]["public"][l][key4] + prop = cppHeader.classes[c]["properties"]["public"][l][key4] - if mtype!="" and "union" not in mtype: + if mtype != "" and "union" not in mtype: if array_size == "": - str=" roctracer::kfd_support::output_streamer<"+mtype+">::put(out,v."+name+");\n" + str = " roctracer::kfd_support::output_streamer<"+mtype+">::put(out,v."+name+");\n" else: - str=" roctracer::kfd_support::output_streamer<"+mtype+"["+array_size+"]>::put(out,v."+name+");\n" + str = " roctracer::kfd_support::output_streamer<"+mtype+"["+array_size+"]>::put(out,v."+name+");\n" - if nname!="" and nname not in str: + if nname != "" and nname not in str: #print("injecting ",nname, "in ", str) - str=str.replace("v.","v."+nname+".") + str = str.replace("v.","v."+nname+".") if "void" not in mtype: f.write(str) else: - nc=prop+"::" + nc = prop+"::" process_struct(f,nc,cppHeader,name) - nc=prop+"::"+mtype+" " + nc = prop+"::"+mtype+" " process_struct(f,nc,cppHeader,name) - nc=c+"::" + nc = c+"::" process_struct(f,nc,cppHeader,name) @@ -129,7 +129,7 @@ def gen_cppheader(infilepath,outfilepath): print(e) sys.exit(1) - f= open(outfilepath,"w+") + f = open(outfilepath,"w+") f.write("// automatically generated\n") f.write(LICENSE) f.write("\n") @@ -173,7 +173,7 @@ def gen_cppheader(infilepath,outfilepath): return parser = argparse.ArgumentParser(description='genOstreamOps.py: generates ostream operators for all typedefs in provided input file.') -requiredNamed=parser.add_argument_group('Required arguments') +requiredNamed = parser.add_argument_group('Required arguments') requiredNamed.add_argument('-in','--in', help='Header file to be parsed', required=True) requiredNamed.add_argument('-out','--out', help='Output file with ostream operators', required=True) From 86dbe20e82bd8c1edb40348c0588b117c1024652 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Tue, 12 Nov 2019 12:35:35 -0600 Subject: [PATCH 217/691] fixing test with conditinoal kfd wrapper compilatipn --- test/CMakeLists.txt | 2 +- test/MatrixTranspose_test/MatrixTranspose.cpp | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 3be85fc399..8f04bce451 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -33,7 +33,7 @@ set ( RUN_SCRIPT "${TEST_DIR}/run.sh" ) add_custom_target( mytest COMMAND make -C "${TEST_DIR}/MatrixTranspose" COMMAND sh -xc "cp ${TEST_DIR}/MatrixTranspose/MatrixTranspose ${PROJECT_BINARY_DIR}/test" - COMMAND HIP_VDI=${HIP_VDI} make -C "${TEST_DIR}/MatrixTranspose_test" + COMMAND HIP_VDI=${HIP_VDI} KFD_WRAPPER=${KFD_WRAPPER} make -C "${TEST_DIR}/MatrixTranspose_test" COMMAND sh -xc "cp ${TEST_DIR}/MatrixTranspose_test/MatrixTranspose ${PROJECT_BINARY_DIR}/test/MatrixTranspose_test" ) diff --git a/test/MatrixTranspose_test/MatrixTranspose.cpp b/test/MatrixTranspose_test/MatrixTranspose.cpp index e4eb690802..34007cf20f 100644 --- a/test/MatrixTranspose_test/MatrixTranspose.cpp +++ b/test/MatrixTranspose_test/MatrixTranspose.cpp @@ -32,7 +32,9 @@ THE SOFTWARE. #include // kfd header file +#ifdef KFD_WRAPPER #include +#endif #ifndef ITERATIONS # define ITERATIONS 101 @@ -206,6 +208,7 @@ void api_callback( fprintf(stdout, "ROCTX: \"%s\"\n", data->args.message); return; } +#ifdef KFD_WRAPPER if (domain == ACTIVITY_DOMAIN_KFD_API) { const kfd_api_data_t* data = reinterpret_cast(callback_data); fprintf(stdout, "KFD: <%s id(%u)\tcorrelation_id(%lu) %s> \n", @@ -215,7 +218,7 @@ void api_callback( (data->phase == ACTIVITY_API_PHASE_ENTER) ? "on-enter" : "on-exit"); return; } - +#endif const hip_api_data_t* data = reinterpret_cast(callback_data); fprintf(stdout, "<%s id(%u)\tcorrelation_id(%lu) %s> ", roctracer_op_string(ACTIVITY_DOMAIN_HIP_API, cid, 0), From 719e2a42c870eb2c99f1f8d6ffa98e3e7c8dc2f0 Mon Sep 17 00:00:00 2001 From: rkebichi <54912798+rkebichi@users.noreply.github.com> Date: Tue, 12 Nov 2019 17:14:23 -0500 Subject: [PATCH 218/691] Update CMakeLists.txt --- CMakeLists.txt | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index e90a4f7924..06d88d8d76 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -110,9 +110,7 @@ install ( FILES ${CMAKE_CURRENT_SOURCE_DIR}/inc/roctracer_roctx.h DESTINATION in install ( FILES ${PROJECT_BINARY_DIR}/so-roctx-link DESTINATION ../lib RENAME ${ROCTX_LIBRARY}.so ) ## KFD wrapper -if ( DEFINED KFD_WRAPPER ) - install ( TARGETS "kfdwrapper64" LIBRARY DESTINATION lib ) -endif () +install ( TARGETS "kfdwrapper64" LIBRARY DESTINATION lib ) ## Packaging directives set ( CPACK_GENERATOR "DEB" "RPM" "TGZ" ) From ad5080dabc662c01fdcfd1b9734385dc64506e9c Mon Sep 17 00:00:00 2001 From: rkebichi <54912798+rkebichi@users.noreply.github.com> Date: Tue, 12 Nov 2019 17:23:41 -0500 Subject: [PATCH 219/691] Update env.cmake --- cmake_modules/env.cmake | 6 ------ 1 file changed, 6 deletions(-) diff --git a/cmake_modules/env.cmake b/cmake_modules/env.cmake index 9ad3fbf23b..da09ad4f5c 100644 --- a/cmake_modules/env.cmake +++ b/cmake_modules/env.cmake @@ -50,11 +50,6 @@ else() set ( HIP_VDI 0 ) endif() -## Enable KFD wrapper -if ( DEFINED KFD_WRAPPER ) - add_definitions ( -DKFD_WRAPPER=${KFD_WRAPPER} ) -endif() - ## Enable HIP/HCC local build if ( DEFINED LOCAL_BUILD ) add_definitions ( -DLOCAL_BUILD=${LOCAL_BUILD} ) @@ -136,6 +131,5 @@ message ( "-------------HCC-Inc: ${HCC_INC_DIR}" ) message ( "-------------HIP-Inc: ${HIP_INC_DIR}" ) message ( "-------------KFD-Inc: ${HSA_KMT_INC_PATH}" ) message ( "-------------HIP-VDI: ${HIP_VDI}" ) -message ( "---------KFD_WRAPPER: ${KFD_WRAPPER}" ) message ( "-----CMAKE_CXX_FLAGS: ${CMAKE_CXX_FLAGS}" ) message ( "---CMAKE_PREFIX_PATH: ${CMAKE_PREFIX_PATH}" ) From e177ff2c1ff7a7678a701dbf1d3a07159d7eff1d Mon Sep 17 00:00:00 2001 From: rkebichi <54912798+rkebichi@users.noreply.github.com> Date: Tue, 12 Nov 2019 17:24:57 -0500 Subject: [PATCH 220/691] Update CMakeLists.txt --- src/CMakeLists.txt | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 44b9fd81a3..7a65896baa 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -17,17 +17,15 @@ target_link_libraries( ${TARGET_LIB} PRIVATE ${HSA_RUNTIME_LIB} c stdc++ ) execute_process ( COMMAND sh -xc "${ROOT_DIR}/script/hsaap.py ${ROOT_DIR} ${HSA_RUNTIME_INC_PATH}" ) # Generating KFD/Thunk tracing primitives -if ( DEFINED KFD_WRAPPER ) - set ( KFD_LIB "kfdwrapper64" ) - set ( KFD_LIB_SRC - ${LIB_DIR}/kfd/kfd_wrapper.cpp - ) - execute_process ( COMMAND sh -xc "${ROOT_DIR}/script/gen_ostream_ops.py -in ${HSA_KMT_INC_PATH}/hsakmttypes.h -out ${ROOT_DIR}/inc/kfd_ostream_ops.h" ) - add_library ( ${KFD_LIB} SHARED ${KFD_LIB_SRC} ) - target_include_directories ( ${KFD_LIB} PRIVATE ${LIB_DIR} ${ROOT_DIR} ${ROOT_DIR}/inc ${HSA_RUNTIME_INC_PATH} ${HSA_RUNTIME_HSA_INC_PATH} ${HSA_KMT_INC_PATH} ) - target_link_libraries( ${KFD_LIB} PRIVATE c stdc++ ) - execute_process ( COMMAND sh -xc "${ROOT_DIR}/script/kfdap.py ${ROOT_DIR} ${HSA_KMT_INC_PATH}" ) -endif() +set ( KFD_LIB "kfdwrapper64" ) +set ( KFD_LIB_SRC + ${LIB_DIR}/kfd/kfd_wrapper.cpp +) +execute_process ( COMMAND sh -xc "${ROOT_DIR}/script/gen_ostream_ops.py -in ${HSA_KMT_INC_PATH}/hsakmttypes.h -out ${ROOT_DIR}/inc/kfd_ostream_ops.h" ) +add_library ( ${KFD_LIB} SHARED ${KFD_LIB_SRC} ) +target_include_directories ( ${KFD_LIB} PRIVATE ${LIB_DIR} ${ROOT_DIR} ${ROOT_DIR}/inc ${HSA_RUNTIME_INC_PATH} ${HSA_RUNTIME_HSA_INC_PATH} ${HSA_KMT_INC_PATH} ) +target_link_libraries( ${KFD_LIB} PRIVATE c stdc++ ) +execute_process ( COMMAND sh -xc "${ROOT_DIR}/script/kfdap.py ${ROOT_DIR} ${HSA_KMT_INC_PATH}" ) set ( ROCTX_LIB "roctx64" ) set ( ROCTX_LIB_SRC From e57a2125d79a055853efe0781157e578cb8f4ba0 Mon Sep 17 00:00:00 2001 From: rkebichi <54912798+rkebichi@users.noreply.github.com> Date: Tue, 12 Nov 2019 17:26:52 -0500 Subject: [PATCH 221/691] Update roctracer.cpp --- src/core/roctracer.cpp | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/src/core/roctracer.cpp b/src/core/roctracer.cpp index 1ae25fb885..50feac1bce 100644 --- a/src/core/roctracer.cpp +++ b/src/core/roctracer.cpp @@ -27,9 +27,7 @@ THE SOFTWARE. #include "inc/roctracer_roctx.h" #define PROF_API_IMPL 1 #include "inc/roctracer_hsa.h" -#ifdef KFD_WRAPPER #include "inc/roctracer_kfd.h" -#endif #include #include @@ -567,12 +565,10 @@ PUBLIC_API const char* roctracer_op_string( return roctracer::HipLoader::Instance().ApiName(op); break; } -#if KFD_WRAPPER case ACTIVITY_DOMAIN_KFD_API: { return roctracer::kfd_support::GetApiName(op); break; } -#endif default: EXC_RAISING(ROCTRACER_STATUS_BAD_DOMAIN, "invalid domain ID(" << domain << ")"); } @@ -593,13 +589,11 @@ PUBLIC_API roctracer_status_t roctracer_op_code( if (kind != NULL) *kind = 0; break; } -#ifdef KFD_WRAPPER case ACTIVITY_DOMAIN_KFD_API: { *op = roctracer::kfd_support::GetApiCode(str); if (kind != NULL) *kind = 0; break; } -#endif default: EXC_RAISING(ROCTRACER_STATUS_BAD_DOMAIN, "limited domain ID(" << domain << ")"); } @@ -612,9 +606,7 @@ static inline uint32_t get_op_num(const uint32_t& domain) { case ACTIVITY_DOMAIN_HSA_API: return HSA_API_ID_NUMBER; case ACTIVITY_DOMAIN_HCC_OPS: return HIP_OP_ID_NUMBER; case ACTIVITY_DOMAIN_HIP_API: return HIP_API_ID_NUMBER; -#ifdef KFD_WRAPPER case ACTIVITY_DOMAIN_KFD_API: return KFD_API_ID_NUMBER; -#endif case ACTIVITY_DOMAIN_EXT_API: return 0; case ACTIVITY_DOMAIN_ROCTX: return ROCTX_API_ID_NUMBER; default: @@ -631,13 +623,11 @@ static roctracer_status_t roctracer_enable_callback_fun( void* user_data) { switch (domain) { -#ifdef KFD_WRAPPER case ACTIVITY_DOMAIN_KFD_API: { const bool succ = roctracer::KfdLoader::Instance().RegisterApiCallback(op, (void*)callback, user_data); if (succ == false) EXC_RAISING(ROCTRACER_STATUS_ERROR, "KFD RegisterApiCallback error"); break; } -#endif case ACTIVITY_DOMAIN_HSA_OPS: break; case ACTIVITY_DOMAIN_HSA_API: { roctracer::hsa_support::cb_table.set(op, callback, user_data); @@ -712,13 +702,11 @@ static roctracer_status_t roctracer_disable_callback_fun( uint32_t op) { switch (domain) { -#ifdef KFD_WRAPPER case ACTIVITY_DOMAIN_KFD_API: { const bool succ = roctracer::KfdLoader::Instance().RemoveApiCallback(op); if (succ == false) EXC_RAISING(ROCTRACER_STATUS_ERROR, "KFD RemoveApiCallback error"); break; } -#endif case ACTIVITY_DOMAIN_HSA_OPS: break; case ACTIVITY_DOMAIN_HSA_API: break; case ACTIVITY_DOMAIN_HCC_OPS: break; @@ -1046,12 +1034,10 @@ PUBLIC_API roctracer_status_t roctracer_set_properties( break; } -#ifdef KFD_WRAPPER case ACTIVITY_DOMAIN_KFD_API: { roctracer::kfd_support::intercept_KFDApiTable(); break; } -#endif case ACTIVITY_DOMAIN_HSA_API: { // HSA API properties HsaApiTable* table = reinterpret_cast(properties); From f0b49ac122924f6327583f761276f0d9cf2513cd Mon Sep 17 00:00:00 2001 From: rkebichi <54912798+rkebichi@users.noreply.github.com> Date: Tue, 12 Nov 2019 17:27:33 -0500 Subject: [PATCH 222/691] Update CMakeLists.txt --- test/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 8f04bce451..3be85fc399 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -33,7 +33,7 @@ set ( RUN_SCRIPT "${TEST_DIR}/run.sh" ) add_custom_target( mytest COMMAND make -C "${TEST_DIR}/MatrixTranspose" COMMAND sh -xc "cp ${TEST_DIR}/MatrixTranspose/MatrixTranspose ${PROJECT_BINARY_DIR}/test" - COMMAND HIP_VDI=${HIP_VDI} KFD_WRAPPER=${KFD_WRAPPER} make -C "${TEST_DIR}/MatrixTranspose_test" + COMMAND HIP_VDI=${HIP_VDI} make -C "${TEST_DIR}/MatrixTranspose_test" COMMAND sh -xc "cp ${TEST_DIR}/MatrixTranspose_test/MatrixTranspose ${PROJECT_BINARY_DIR}/test/MatrixTranspose_test" ) From 475b3619d556845fe482858eada3c885550ed447 Mon Sep 17 00:00:00 2001 From: rkebichi <54912798+rkebichi@users.noreply.github.com> Date: Tue, 12 Nov 2019 17:28:30 -0500 Subject: [PATCH 223/691] Update MatrixTranspose.cpp --- test/MatrixTranspose_test/MatrixTranspose.cpp | 4 ---- 1 file changed, 4 deletions(-) diff --git a/test/MatrixTranspose_test/MatrixTranspose.cpp b/test/MatrixTranspose_test/MatrixTranspose.cpp index 34007cf20f..f8391d784c 100644 --- a/test/MatrixTranspose_test/MatrixTranspose.cpp +++ b/test/MatrixTranspose_test/MatrixTranspose.cpp @@ -32,9 +32,7 @@ THE SOFTWARE. #include // kfd header file -#ifdef KFD_WRAPPER #include -#endif #ifndef ITERATIONS # define ITERATIONS 101 @@ -208,7 +206,6 @@ void api_callback( fprintf(stdout, "ROCTX: \"%s\"\n", data->args.message); return; } -#ifdef KFD_WRAPPER if (domain == ACTIVITY_DOMAIN_KFD_API) { const kfd_api_data_t* data = reinterpret_cast(callback_data); fprintf(stdout, "KFD: <%s id(%u)\tcorrelation_id(%lu) %s> \n", @@ -218,7 +215,6 @@ void api_callback( (data->phase == ACTIVITY_API_PHASE_ENTER) ? "on-enter" : "on-exit"); return; } -#endif const hip_api_data_t* data = reinterpret_cast(callback_data); fprintf(stdout, "<%s id(%u)\tcorrelation_id(%lu) %s> ", roctracer_op_string(ACTIVITY_DOMAIN_HIP_API, cid, 0), From 3aa084a248707900a1fba611d14fbc4b7dcf9e15 Mon Sep 17 00:00:00 2001 From: rkebichi <54912798+rkebichi@users.noreply.github.com> Date: Tue, 12 Nov 2019 17:29:43 -0500 Subject: [PATCH 224/691] Update tracer_tool.cpp --- test/tool/tracer_tool.cpp | 6 ------ 1 file changed, 6 deletions(-) diff --git a/test/tool/tracer_tool.cpp b/test/tool/tracer_tool.cpp index 71da132baa..e7cab52fa2 100644 --- a/test/tool/tracer_tool.cpp +++ b/test/tool/tracer_tool.cpp @@ -37,9 +37,7 @@ THE SOFTWARE. #include #include #include -#ifdef KFD_WRAPPER #include -#endif #include #include #include @@ -437,7 +435,6 @@ void hcc_activity_callback(const char* begin, const char* end, void* arg) { // KFD API tracing // KFD API callback function -#ifdef KFD_WRAPPER void kfd_api_callback( uint32_t domain, uint32_t cid, @@ -455,7 +452,6 @@ void kfd_api_callback( fprintf(kfd_api_file_handle, "%s\n", os.str().c_str()); } } -#endif /////////////////////////////////////////////////////////////////////////////////////////////////////// @@ -738,7 +734,6 @@ extern "C" PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, err = pthread_create(&thread, &attr, control_thr_fun, NULL); } -#ifdef KFD_WRAPPER // Enable KFD API callbacks/activity if (trace_kfd) { kfd_api_file_handle = open_output_file(output_prefix, "kfd_api_trace.txt"); @@ -759,7 +754,6 @@ extern "C" PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, } printf(")\n"); } -#endif if (onload_debug) { printf("TOOL OnLoad end\n"); fflush(stdout); } return roctracer_load(table, runtime_version, failed_tool_count, failed_tool_names); From 19ad236bcf51025295080798a19f4b287bec7eb8 Mon Sep 17 00:00:00 2001 From: Rachida Kebichi Date: Tue, 12 Nov 2019 18:06:34 -0500 Subject: [PATCH 225/691] change permission to x --- script/gen_ostream_ops.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 script/gen_ostream_ops.py diff --git a/script/gen_ostream_ops.py b/script/gen_ostream_ops.py old mode 100644 new mode 100755 From f2b6a6b35c6e847d45fdc61b722f19e3f8cc4317 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Wed, 13 Nov 2019 11:57:17 -0600 Subject: [PATCH 226/691] update: dlopen of target runtimes with NOLOAD; enabled KFD domain in explicite test --- .gitignore | 1 + src/core/loader.h | 2 +- test/MatrixTranspose_test/MatrixTranspose.cpp | 3 +++ 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index cafda6d07e..bd206b0038 100644 --- a/.gitignore +++ b/.gitignore @@ -8,6 +8,7 @@ b build inc/hsa_prof_str.h inc/kfd_prof_str.h +inc/kfd_ostream_ops.h test/hsa test/MatrixTranspose/MatrixTranspose test/MatrixTranspose_test/MatrixTranspose diff --git a/src/core/loader.h b/src/core/loader.h index fa2b0e62ad..9f62225d05 100644 --- a/src/core/loader.h +++ b/src/core/loader.h @@ -46,7 +46,7 @@ class BaseLoader : public T { private: BaseLoader() { - const int flags = RTLD_LAZY; + const int flags = RTLD_LAZY|RTLD_NOLOAD; handle_ = dlopen(lib_name_, flags); if (handle_ == NULL) { fprintf(stderr, "roctracer: Loading '%s' failed, %s\n", lib_name_, dlerror()); diff --git a/test/MatrixTranspose_test/MatrixTranspose.cpp b/test/MatrixTranspose_test/MatrixTranspose.cpp index f8391d784c..3e5b89c868 100644 --- a/test/MatrixTranspose_test/MatrixTranspose.cpp +++ b/test/MatrixTranspose_test/MatrixTranspose.cpp @@ -314,6 +314,8 @@ void init_tracing() { // Enable HIP activity tracing ROCTRACER_CALL(roctracer_enable_domain_activity(ACTIVITY_DOMAIN_HIP_API)); ROCTRACER_CALL(roctracer_enable_domain_activity(ACTIVITY_DOMAIN_HCC_OPS)); + // Enable KFD API tracing + ROCTRACER_CALL(roctracer_enable_domain_activity(ACTIVITY_DOMAIN_KFD_API)); } // Start tracing routine @@ -329,6 +331,7 @@ void stop_tracing() { ROCTRACER_CALL(roctracer_disable_domain_callback(ACTIVITY_DOMAIN_HIP_API)); ROCTRACER_CALL(roctracer_disable_domain_activity(ACTIVITY_DOMAIN_HIP_API)); ROCTRACER_CALL(roctracer_disable_domain_activity(ACTIVITY_DOMAIN_HCC_OPS)); + ROCTRACER_CALL(roctracer_disable_domain_activity(ACTIVITY_DOMAIN_KFD_API)); ROCTRACER_CALL(roctracer_flush_activity()); std::cout << "# STOP #############################" << std::endl << std::flush; } From e16afba208163b486153ea50cf3225c7b879c6b5 Mon Sep 17 00:00:00 2001 From: eshcherb <33529668+eshcherb@users.noreply.github.com> Date: Thu, 14 Nov 2019 10:13:08 -0600 Subject: [PATCH 227/691] Update README.md --- README.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index f80fe90a2d..770ff47d46 100644 --- a/README.md +++ b/README.md @@ -27,8 +27,10 @@ asyncronous activity records pool support. ## To build and run test ``` - ROCm-2.3 or higher is required - - cd + - Python2.7 is required. + The required modules: CppHeaderParser, argparse. + To instaLL: + sudo pip install CppHeaderParser argparse - CLone development branch of roctracer: git clone -b amd-master https://github.com/ROCm-Developer-Tools/roctracer From 504b7b26c6ad1ee697f6a2bbf73fdfe96a9a1d04 Mon Sep 17 00:00:00 2001 From: eshcherb <33529668+eshcherb@users.noreply.github.com> Date: Thu, 14 Nov 2019 10:13:42 -0600 Subject: [PATCH 228/691] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 770ff47d46..8fca37a2fd 100644 --- a/README.md +++ b/README.md @@ -29,7 +29,7 @@ asyncronous activity records pool support. - ROCm-2.3 or higher is required - Python2.7 is required. The required modules: CppHeaderParser, argparse. - To instaLL: + To install: sudo pip install CppHeaderParser argparse - CLone development branch of roctracer: From 44b5860b0e2f0afe56ecaf05a8b5b6e178addd1f Mon Sep 17 00:00:00 2001 From: Evgeny Date: Fri, 15 Nov 2019 12:29:34 -0600 Subject: [PATCH 229/691] cosmetic change --- test/tool/tracer_tool.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/test/tool/tracer_tool.cpp b/test/tool/tracer_tool.cpp index e7cab52fa2..f300c69388 100644 --- a/test/tool/tracer_tool.cpp +++ b/test/tool/tracer_tool.cpp @@ -268,6 +268,9 @@ void hsa_activity_callback( index++; } +/////////////////////////////////////////////////////////////////////////////////////////////////////// +// HIP API tracing + struct hip_api_trace_entry_t { uint32_t valid; uint32_t type; @@ -282,9 +285,6 @@ struct hip_api_trace_entry_t { void* ptr; }; -/////////////////////////////////////////////////////////////////////////////////////////////////////// -// HIP API tracing - void hip_api_flush_cb(hip_api_trace_entry_t* entry); roctracer::TraceBuffer::flush_prm_t hip_flush_prm[1] = {{0, hip_api_flush_cb}}; roctracer::TraceBuffer hip_api_trace_buffer("HIP", 0x200000, hip_flush_prm, 1); From 8e85eb1cefb5c1118f0b963738773d653a98b967 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Tue, 19 Nov 2019 23:19:11 -0600 Subject: [PATCH 230/691] global counter optimizing --- src/core/roctracer.cpp | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/src/core/roctracer.cpp b/src/core/roctracer.cpp index 50feac1bce..6a7cf115c0 100644 --- a/src/core/roctracer.cpp +++ b/src/core/roctracer.cpp @@ -249,18 +249,16 @@ class GlobalCounter { public: typedef std::mutex mutex_t; typedef uint64_t counter_t; + typedef std::atomic atomic_counter_t; - static counter_t Increment() { - std::lock_guard lock(mutex_); - return ++counter_; - } + static counter_t Increment() { return counter_.fetch_add(1, std::memory_order_relaxed); } private: static mutex_t mutex_; - static counter_t counter_; + static atomic_counter_t counter_; }; GlobalCounter::mutex_t GlobalCounter::mutex_; -GlobalCounter::counter_t GlobalCounter::counter_ = 0; +GlobalCounter::atomic_counter_t GlobalCounter::counter_{1}; // Records storage struct roctracer_api_data_t { @@ -282,6 +280,7 @@ typedef std::map correlati typedef std::mutex correlation_id_mutex_t; correlation_id_map_t* correlation_id_map = NULL; correlation_id_mutex_t correlation_id_mutex; +bool correlation_id_wait = false; static thread_local std::stack external_id_stack; @@ -294,6 +293,7 @@ static inline void CorrelationIdRegistr(const activity_correlation_id_t& correla static inline activity_correlation_id_t CorrelationIdLookup(const activity_correlation_id_t& correlation_id) { auto it = correlation_id_map->find(correlation_id); + if (correlation_id_wait) while (it == correlation_id_map->end()) it = correlation_id_map->find(correlation_id); if (it == correlation_id_map->end()) EXC_ABORT(ROCTRACER_STATUS_ERROR, "HCC activity id lookup failed(" << correlation_id << ")"); return it->second; } @@ -817,6 +817,10 @@ static roctracer_status_t roctracer_enable_activity_fun( case ACTIVITY_DOMAIN_KFD_API: break; case ACTIVITY_DOMAIN_HCC_OPS: { if (roctracer::HccLoader::GetRef() == NULL) { + if (getenv("ROCP_HCC_CORRID_WAIT") != NULL) { + roctracer::correlation_id_wait = true; + fprintf(stdout, "roctracer: HCC correlation ID wait enabled\n"); fflush(stdout); + } roctracer::HccLoader::Instance().InitActivityCallback((void*)roctracer::HCC_ActivityIdCallback, (void*)roctracer::HCC_AsyncActivityCallback, (void*)pool); From a7c2d452741a2f28a797e27e8e0f38d7a95cec4b Mon Sep 17 00:00:00 2001 From: "Wen-Heng (Jack) Chung" Date: Wed, 20 Nov 2019 17:09:32 +0000 Subject: [PATCH 231/691] Introduce multi-GPU MatrixTranspose sample application. This sample application would launch a kernel on every available GPU, so it's possible to monitor activities on every GPU. This could be used to help verify roctracer is working properly on a multi-GPU scenario. --- test/MatrixTranspose_test_mgpu/Makefile | 40 +++ .../MatrixTranspose.cpp | 313 ++++++++++++++++++ 2 files changed, 353 insertions(+) create mode 100644 test/MatrixTranspose_test_mgpu/Makefile create mode 100644 test/MatrixTranspose_test_mgpu/MatrixTranspose.cpp diff --git a/test/MatrixTranspose_test_mgpu/Makefile b/test/MatrixTranspose_test_mgpu/Makefile new file mode 100644 index 0000000000..da9971b371 --- /dev/null +++ b/test/MatrixTranspose_test_mgpu/Makefile @@ -0,0 +1,40 @@ +ROOT_PATH = ../.. +LIB_PATH = $(ROOT_PATH)/build +ROC_LIBS = -L$(LIB_PATH) -lroctracer64 +export LD_LIBRARY_PATH=$(LIB_PATH) +HIP_VDI ?= 0 +ITERATIONS ?= 1 + +HIP_PATH?= $(wildcard /opt/rocm/hip) +ifeq (,$(HIP_PATH)) + HIP_PATH=../../.. +endif + +HIPCC=$(HIP_PATH)/bin/hipcc + +TARGET=hcc + +SOURCES = MatrixTranspose.cpp +OBJECTS = $(SOURCES:.cpp=.o) + +EXECUTABLE=./MatrixTranspose + +.PHONY: test + + +all: clean $(EXECUTABLE) + +CXXFLAGS =-g -I$(ROOT_PATH) -I$(ROOT_PATH)/inc -DLOCAL_BUILD=1 -DHIP_VDI=${HIP_VDI} -DITERATIONS=$(ITERATIONS) +CXX=$(HIPCC) + +$(EXECUTABLE): $(OBJECTS) + $(HIPCC) $(OBJECTS) -o $@ $(ROC_LIBS) + +test: $(EXECUTABLE) + $(EXECUTABLE) + +clean: + rm -f $(EXECUTABLE) + rm -f $(OBJECTS) + rm -f $(HIP_PATH)/src/*.o + diff --git a/test/MatrixTranspose_test_mgpu/MatrixTranspose.cpp b/test/MatrixTranspose_test_mgpu/MatrixTranspose.cpp new file mode 100644 index 0000000000..ffd4c88109 --- /dev/null +++ b/test/MatrixTranspose_test_mgpu/MatrixTranspose.cpp @@ -0,0 +1,313 @@ +/* +Copyright (c) 2015-present Advanced Micro Devices, Inc. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +*/ + +#include + +// roctracer extension API +#include + +// hip header file +#include + +#ifndef ITERATIONS +# define ITERATIONS 1 +#endif +#define WIDTH 1024 + + +#define NUM (WIDTH * WIDTH) + +#define THREADS_PER_BLOCK_X 4 +#define THREADS_PER_BLOCK_Y 4 +#define THREADS_PER_BLOCK_Z 1 + +// Device (Kernel) function, it must be void +__global__ void matrixTranspose(float* out, float* in, const int width) { + int x = hipBlockDim_x * hipBlockIdx_x + hipThreadIdx_x; + int y = hipBlockDim_y * hipBlockIdx_y + hipThreadIdx_y; + + out[y * width + x] = in[x * width + y]; +} + +// CPU implementation of matrix transpose +void matrixTransposeCPUReference(float* output, float* input, const unsigned int width) { + for (unsigned int j = 0; j < width; j++) { + for (unsigned int i = 0; i < width; i++) { + output[i * width + j] = input[j * width + i]; + } + } +} + +int iterations = ITERATIONS; +void init_tracing(); +void start_tracing(); +void stop_tracing(); + +int main() { + float* Matrix; + float* TransposeMatrix; + float* cpuTransposeMatrix; + + float* gpuMatrix; + float* gpuTransposeMatrix; + + int i; + int errors; + + int gpuCount = 0; + hipGetDeviceCount(&gpuCount); + std::cout << "Number of GPUs: " << gpuCount << std::endl; + + init_tracing(); + + while (iterations-- > 0) { + start_tracing(); + + Matrix = (float*)malloc(NUM * sizeof(float)); + TransposeMatrix = (float*)malloc(NUM * sizeof(float)); + cpuTransposeMatrix = (float*)malloc(NUM * sizeof(float)); + + // initialize the input data + for (i = 0; i < NUM; i++) { + Matrix[i] = (float)i * 10.0f; + } + + for (i = 0; i < gpuCount; ++i) { + // switch GPU. + hipSetDevice(i); + + hipDeviceProp_t devProp; + hipGetDeviceProperties(&devProp, 0); + std::cout << "Device name " << devProp.name << std::endl; + + // allocate the memory on the device side + hipMalloc((void**)&gpuMatrix, NUM * sizeof(float)); + hipMalloc((void**)&gpuTransposeMatrix, NUM * sizeof(float)); + + // Memory transfer from host to device + hipMemcpy(gpuMatrix, Matrix, NUM * sizeof(float), hipMemcpyHostToDevice); + + // Lauching kernel from host + hipLaunchKernelGGL(matrixTranspose, dim3(WIDTH / THREADS_PER_BLOCK_X, WIDTH / THREADS_PER_BLOCK_Y), + dim3(THREADS_PER_BLOCK_X, THREADS_PER_BLOCK_Y), 0, 0, gpuTransposeMatrix, + gpuMatrix, WIDTH); + + hipMemcpy(TransposeMatrix, gpuTransposeMatrix, NUM * sizeof(float), hipMemcpyDeviceToHost); + + hipStreamSynchronize(0); + + // free the resources on device side + hipFree(gpuMatrix); + hipFree(gpuTransposeMatrix); + } + + // CPU MatrixTranspose computation + matrixTransposeCPUReference(cpuTransposeMatrix, Matrix, WIDTH); + + // verify the results + errors = 0; + double eps = 1.0E-6; + for (i = 0; i < NUM; i++) { + if (std::abs(TransposeMatrix[i] - cpuTransposeMatrix[i]) > eps) { + errors++; + } + } + if (errors != 0) { + printf("FAILED: %d errors\n", errors); + } else { + printf("PASSED!\n"); + } + + // free the resources on host side + free(Matrix); + free(TransposeMatrix); + free(cpuTransposeMatrix); + + stop_tracing(); + } + + return errors; +} + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// HIP Callbacks/Activity tracing +// +#if 1 +#include +#include + +// Macro to check ROC-tracer calls status +#define ROCTRACER_CALL(call) \ + do { \ + int err = call; \ + if (err != 0) { \ + std::cerr << roctracer_error_string() << std::endl << std::flush; \ + abort(); \ + } \ + } while (0) + +// Runtime API callback function +void api_callback( + uint32_t domain, + uint32_t cid, + const void* callback_data, + void* arg) +{ + std::cout << "### api_callback IN\n"; + (void)arg; + + //if (domain == ACTIVITY_DOMAIN_ROCTX) { + // const roctx_api_data_t* data = reinterpret_cast(callback_data); + // fprintf(stdout, "ROCTX: \"%s\"\n", data->args.message); + // return; + //} + + if (domain == ACTIVITY_DOMAIN_HCC_OPS) { + fprintf(stdout, "HCC OPS\n"); + return; + } + + if (domain == ACTIVITY_DOMAIN_HSA_API) { + fprintf(stdout, "HSA API\n"); + return; + } + + const hip_api_data_t* data = reinterpret_cast(callback_data); + fprintf(stdout, "<%s id(%u)\tcorrelation_id(%lu) %s> ", + roctracer_op_string(ACTIVITY_DOMAIN_HIP_API, cid, 0), + cid, + data->correlation_id, + (data->phase == ACTIVITY_API_PHASE_ENTER) ? "on-enter" : "on-exit"); + if (data->phase == ACTIVITY_API_PHASE_ENTER) { + switch (cid) { + case HIP_API_ID_hipMemcpy: + fprintf(stdout, "dst(%p) src(%p) size(0x%x) kind(%u)", + data->args.hipMemcpy.dst, + data->args.hipMemcpy.src, + (uint32_t)(data->args.hipMemcpy.sizeBytes), + (uint32_t)(data->args.hipMemcpy.kind)); + break; + case HIP_API_ID_hipMalloc: + fprintf(stdout, "ptr(%p) size(0x%x)", + data->args.hipMalloc.ptr, + (uint32_t)(data->args.hipMalloc.size)); + break; + case HIP_API_ID_hipFree: + fprintf(stdout, "ptr(%p)", + data->args.hipFree.ptr); + break; + case HIP_API_ID_hipModuleLaunchKernel: + fprintf(stdout, "kernel(\"%s\") stream(%p)", + hipKernelNameRef(data->args.hipModuleLaunchKernel.f), + data->args.hipModuleLaunchKernel.stream); + break; + default: + break; + } + } else { + switch (cid) { + case HIP_API_ID_hipMalloc: + fprintf(stdout, "*ptr(0x%p)", + *(data->args.hipMalloc.ptr)); + break; + default: + break; + } + } + fprintf(stdout, "\n"); fflush(stdout); +} + +// Activity tracing callback +// hipMalloc id(3) correlation_id(1): begin_ns(1525888652762640464) end_ns(1525888652762877067) +void activity_callback(const char* begin, const char* end, void* arg) { + std::cout << "### activity_callback IN\n"; + const roctracer_record_t* record = reinterpret_cast(begin); + const roctracer_record_t* end_record = reinterpret_cast(end); + fprintf(stdout, "\tActivity records:\n"); fflush(stdout); + while (record < end_record) { + const char * name = roctracer_op_string(record->domain, record->op, record->kind); + fprintf(stdout, "\tdomain(%u)", record->domain); + fprintf(stdout, "\t%s\tcorrelation_id(%lu) time_ns(%lu:%lu)", + name, + record->correlation_id, + record->begin_ns, + record->end_ns + ); + if (record->domain == ACTIVITY_DOMAIN_HIP_API) { + fprintf(stdout, " process_id(%u) thread_id(%u)", + record->process_id, + record->thread_id + ); + } else if (record->domain == ACTIVITY_DOMAIN_HCC_OPS) { + fprintf(stdout, " device_id(%d) queue_id(%lu)", + record->device_id, + record->queue_id + ); + if (record->op == HIP_OP_ID_COPY) fprintf(stdout, " bytes(0x%zx)", record->bytes); + } else if (record->domain == ACTIVITY_DOMAIN_EXT_API) { + fprintf(stdout, " external_id(%lu)", + record->external_id + ); + } else { + fprintf(stderr, "Bad domain %d\n", record->domain); + //abort(); + } + fprintf(stdout, "\n"); + fflush(stdout); + ROCTRACER_CALL(roctracer_next_record(record, &record)); + } +} + +// Init tracing routine +void init_tracing() { + std::cout << "# INIT #############################" << std::endl << std::flush; + // Allocating tracing pool + roctracer_properties_t properties{}; + properties.buffer_size = 0x1000; + properties.buffer_callback_fun = activity_callback; + properties.buffer_callback_arg = &properties; + ROCTRACER_CALL(roctracer_open_pool(&properties)); + // Enable API callbacks + ROCTRACER_CALL(roctracer_enable_callback(api_callback, NULL)); + // Enable activity tracing + ROCTRACER_CALL(roctracer_enable_activity()); +} + +// Start tracing routine +void start_tracing() { + std::cout << "# START (" << iterations << ") #############################" << std::endl << std::flush; +} + +// Stop tracing routine +void stop_tracing() { + ROCTRACER_CALL(roctracer_disable_callback()); + + ROCTRACER_CALL(roctracer_disable_activity()); + ROCTRACER_CALL(roctracer_flush_activity()); + std::cout << "# STOP #############################" << std::endl << std::flush; +} +#else +void init_tracing() {} +void start_tracing() {} +void stop_tracing() {} +#endif +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// From ac5390cdb21d94a5e25ab7c10f0da0d1ade77e66 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Thu, 21 Nov 2019 17:26:01 -0600 Subject: [PATCH 232/691] adding rpath for tests to use teh proper profiling library --- test/MatrixTranspose/Makefile | 3 +-- test/MatrixTranspose_test/Makefile | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/test/MatrixTranspose/Makefile b/test/MatrixTranspose/Makefile index daa48b2561..41727de47e 100644 --- a/test/MatrixTranspose/Makefile +++ b/test/MatrixTranspose/Makefile @@ -1,7 +1,6 @@ ROOT_PATH = ../.. LIB_PATH = $(ROOT_PATH)/build -ROC_LIBS = -L$(LIB_PATH) -lroctracer64 -export LD_LIBRARY_PATH=$(LIB_PATH) +ROC_LIBS = -Wl,--rpath,${LIB_PATH} $(LIB_PATH)/libroctracer64.so HIP_PATH?= $(wildcard /opt/rocm/hip) ifeq (,$(HIP_PATH)) diff --git a/test/MatrixTranspose_test/Makefile b/test/MatrixTranspose_test/Makefile index 202980b804..2a767a5626 100644 --- a/test/MatrixTranspose_test/Makefile +++ b/test/MatrixTranspose_test/Makefile @@ -1,8 +1,7 @@ ROOT_PATH = ../.. LIB_PATH = $(ROOT_PATH)/build -ROC_LIBS = -L$(LIB_PATH) -lroctracer64 -lroctx64 +ROC_LIBS = -Wl,--rpath,${LIB_PATH} $(LIB_PATH)/libroctracer64.so $(LIB_PATH)/libroctx64.so HSA_KMT_INC_PATH ?= /opt/rocm/include -export LD_LIBRARY_PATH=$(LIB_PATH) HIP_VDI ?= 0 ITERATIONS ?= 100 From 2ee7893e6d8f715baa21078c5a1273b67c5b00ca Mon Sep 17 00:00:00 2001 From: eshcherb <33529668+eshcherb@users.noreply.github.com> Date: Fri, 22 Nov 2019 17:49:37 -0600 Subject: [PATCH 233/691] Update README.md --- README.md | 34 ++++++++++++++++++++++++++++------ 1 file changed, 28 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 8fca37a2fd..b4b92c6f15 100644 --- a/README.md +++ b/README.md @@ -1,27 +1,36 @@ # ROC-tracer ``` -ROC-tracer library, Runtimes Generic Callback/Activity APIs. +ROC-tracer library: Runtimes Generic Callback/Activity APIs. The goal of the implementation is to provide a generic independent from specific runtime profiler to trace API and asyncronous activity. The API provides functionality for registering the runtimes API callbacks and asyncronous activity records pool support. + +ROC-TX librray: code annotation evemts API +Includes basic API: roctxMark, roctxRangePush, roctxRangePop. ``` ## The library source tree ``` - - inc/roctracer.h - Library public API + - inc/roctracer.h - rocTacer library public API header + - inc/roctx.h - rocTX library puiblic API header - src - Library sources - - core - Library API sources - - util - Library utils sources + - core - rocTracer library API sources + - roctx - rocTX library API sources + - util - library utils sources - test - test suit - MatrixTranspose - test based on HIP MatrixTranspose sample ``` ## Documentation ``` - - API description: inc/roctracer.h - - Code example: test/MatrixTranspose_test/MatrixTranspose.cpp + - API description/headers: + - inc/roctracer.h + - inc/roctx.h + - Code examples: + - test/MatrixTranspose_test/MatrixTranspose.cpp + - test/MatrixTranspose/MatrixTranspose.cpp ``` ## To build and run test @@ -53,3 +62,16 @@ asyncronous activity records pool support. or make package && dpkg -i *.deb ``` + +## Usage +``` +rocTracer API: + To use the rocTracer API you need the API header and to link your application with roctracer .so librray: + - the API header: /opt/rocm/roctracer/include/roctracer.h + - the .so library: /opt/rocm/lib/libroctracer64.so + +rocTX API: + To use the rocTX API you need the API header and to link your application with rictx .so librray: + - the API header: /opt/rocm/roctracer/include/roctx.h + - the .so library: /opt/rocm/lib/libroctx64.so + From 127a6e1f43a8e0db08e7aafaf14cd00f9f0f2b4f Mon Sep 17 00:00:00 2001 From: eshcherb <33529668+eshcherb@users.noreply.github.com> Date: Fri, 22 Nov 2019 17:50:30 -0600 Subject: [PATCH 234/691] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index b4b92c6f15..9f9cf78fbc 100644 --- a/README.md +++ b/README.md @@ -71,7 +71,7 @@ rocTracer API: - the .so library: /opt/rocm/lib/libroctracer64.so rocTX API: - To use the rocTX API you need the API header and to link your application with rictx .so librray: + To use the rocTX API you need the API header and to link your application with roctx .so librray: - the API header: /opt/rocm/roctracer/include/roctx.h - the .so library: /opt/rocm/lib/libroctx64.so From a0a993bf0d408f51e4d3d0f7a6d6ff9371bababe Mon Sep 17 00:00:00 2001 From: Evgeny Date: Mon, 25 Nov 2019 16:16:47 -0600 Subject: [PATCH 235/691] fix RPM packaging, setting rpm_post as RPM_POST_INSTALL --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 06d88d8d76..cda9887338 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -127,7 +127,7 @@ set ( CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE" ) set ( CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA "${CMAKE_CURRENT_SOURCE_DIR}/DEBIAN/postinst;${CMAKE_CURRENT_SOURCE_DIR}/DEBIAN/prerm" ) ## RPM package specific variables -set ( CPACK_RPM_PRE_INSTALL_SCRIPT_FILE "${CMAKE_CURRENT_SOURCE_DIR}/RPM/rpm_post" ) +set ( CPACK_RPM_POST_INSTALL_SCRIPT_FILE "${CMAKE_CURRENT_SOURCE_DIR}/RPM/rpm_post" ) set ( CPACK_RPM_POST_UNINSTALL_SCRIPT_FILE "${CMAKE_CURRENT_SOURCE_DIR}/RPM/rpm_postun" ) include ( CPack ) From 74bf95082a0c14d477a895824bc36550112b4baa Mon Sep 17 00:00:00 2001 From: Evgeny Date: Mon, 25 Nov 2019 16:17:29 -0600 Subject: [PATCH 236/691] adding roctx instrumentation to MatrixTranspose test --- test/MatrixTranspose/Makefile | 2 +- test/MatrixTranspose/MatrixTranspose.cpp | 12 +++++++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/test/MatrixTranspose/Makefile b/test/MatrixTranspose/Makefile index 41727de47e..63fae09943 100644 --- a/test/MatrixTranspose/Makefile +++ b/test/MatrixTranspose/Makefile @@ -1,6 +1,6 @@ ROOT_PATH = ../.. LIB_PATH = $(ROOT_PATH)/build -ROC_LIBS = -Wl,--rpath,${LIB_PATH} $(LIB_PATH)/libroctracer64.so +ROC_LIBS = -Wl,--rpath,${LIB_PATH} $(LIB_PATH)/libroctracer64.so $(LIB_PATH)/libroctx64.so HIP_PATH?= $(wildcard /opt/rocm/hip) ifeq (,$(HIP_PATH)) diff --git a/test/MatrixTranspose/MatrixTranspose.cpp b/test/MatrixTranspose/MatrixTranspose.cpp index d2ecfb8484..264cf2d93b 100644 --- a/test/MatrixTranspose/MatrixTranspose.cpp +++ b/test/MatrixTranspose/MatrixTranspose.cpp @@ -23,8 +23,10 @@ THE SOFTWARE. #include // hip header file -#include "hip/hip_runtime.h" +#include #include "roctracer_ext.h" +// roctx header file +#include #define WIDTH 1024 @@ -94,15 +96,23 @@ int main() { hipMemcpy(gpuMatrix, Matrix, NUM * sizeof(float), hipMemcpyHostToDevice); roctracer_mark("before HIP LaunchKernel"); + roctxMark("before hipLaunchKernel"); + roctxRangePush("hipLaunchKernel"); // Lauching kernel from host hipLaunchKernelGGL(matrixTranspose, dim3(WIDTH / THREADS_PER_BLOCK_X, WIDTH / THREADS_PER_BLOCK_Y), dim3(THREADS_PER_BLOCK_X, THREADS_PER_BLOCK_Y), 0, 0, gpuTransposeMatrix, gpuMatrix, WIDTH); roctracer_mark("after HIP LaunchKernel"); + roctxMark("after hipLaunchKernel"); // Memory transfer from device to host + roctxRangePush("hipMemcpy"); + hipMemcpy(TransposeMatrix, gpuTransposeMatrix, NUM * sizeof(float), hipMemcpyDeviceToHost); + roctxRangePop(); // for "hipMemcpy" + roctxRangePop(); // for "hipLaunchKernel" + // CPU MatrixTranspose computation matrixTransposeCPUReference(cpuTransposeMatrix, Matrix, WIDTH); From e09d753ef794cf258aa34381cc1c57480564b9f5 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Tue, 26 Nov 2019 15:28:54 -0600 Subject: [PATCH 237/691] enabling of KFD API callbacks to MatricTranspose_test --- test/MatrixTranspose_test/MatrixTranspose.cpp | 5 +++-- test/run.sh | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/test/MatrixTranspose_test/MatrixTranspose.cpp b/test/MatrixTranspose_test/MatrixTranspose.cpp index 3e5b89c868..57ab83ef18 100644 --- a/test/MatrixTranspose_test/MatrixTranspose.cpp +++ b/test/MatrixTranspose_test/MatrixTranspose.cpp @@ -203,12 +203,12 @@ void api_callback( if (domain == ACTIVITY_DOMAIN_ROCTX) { const roctx_api_data_t* data = reinterpret_cast(callback_data); - fprintf(stdout, "ROCTX: \"%s\"\n", data->args.message); + fprintf(stdout, "\n", data->args.message); return; } if (domain == ACTIVITY_DOMAIN_KFD_API) { const kfd_api_data_t* data = reinterpret_cast(callback_data); - fprintf(stdout, "KFD: <%s id(%u)\tcorrelation_id(%lu) %s> \n", + fprintf(stdout, "<%s id(%u)\tcorrelation_id(%lu) %s> \n", roctracer_op_string(ACTIVITY_DOMAIN_KFD_API, cid, 0), cid, data->correlation_id, @@ -315,6 +315,7 @@ void init_tracing() { ROCTRACER_CALL(roctracer_enable_domain_activity(ACTIVITY_DOMAIN_HIP_API)); ROCTRACER_CALL(roctracer_enable_domain_activity(ACTIVITY_DOMAIN_HCC_OPS)); // Enable KFD API tracing + ROCTRACER_CALL(roctracer_enable_domain_callback(ACTIVITY_DOMAIN_KFD_API, api_callback, NULL)); ROCTRACER_CALL(roctracer_enable_domain_activity(ACTIVITY_DOMAIN_KFD_API)); } diff --git a/test/run.sh b/test/run.sh index af56efe5f3..4a824aae37 100755 --- a/test/run.sh +++ b/test/run.sh @@ -65,7 +65,7 @@ eval_test() { # Standalone test # rocTrecer is used explicitely by test -eval_test "standalone HIP test" "./test/MatrixTranspose_test" +eval_test "standalone HIP test" "LD_PRELOAD=libkfdwrapper64.so ./test/MatrixTranspose_test" # Tool test # rocTracer/tool is loaded by HSA runtime From 0560d99d0fc9d0c356562dd09dc5aee78094d806 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Wed, 27 Nov 2019 19:10:53 -0600 Subject: [PATCH 238/691] hip_vdi: disabling calllback/activity disable --- src/core/loader.h | 6 +++--- src/core/roctracer.cpp | 6 +++++- test/MatrixTranspose_test/MatrixTranspose.cpp | 2 ++ 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/src/core/loader.h b/src/core/loader.h index 9f62225d05..c7e95734b2 100644 --- a/src/core/loader.h +++ b/src/core/loader.h @@ -110,9 +110,9 @@ class HccApi { protected: void init(Loader* loader) { #if HIP_VDI - InitActivityCallback = loader->GetFun("InitActivityCallback"); - EnableActivityCallback = loader->GetFun("EnableActivityCallback"); - GetOpName = loader->GetFun("GetCmdName"); + InitActivityCallback = loader->GetFun("hipInitActivityCallback"); + EnableActivityCallback = loader->GetFun("hipEnableActivityCallback"); + GetOpName = loader->GetFun("hipGetCmdName"); #else InitActivityCallback = loader->GetFun("InitActivityCallbackImpl"); EnableActivityCallback = loader->GetFun("EnableActivityCallbackImpl"); diff --git a/src/core/roctracer.cpp b/src/core/roctracer.cpp index 6a7cf115c0..0259c83e31 100644 --- a/src/core/roctracer.cpp +++ b/src/core/roctracer.cpp @@ -711,8 +711,10 @@ static roctracer_status_t roctracer_disable_callback_fun( case ACTIVITY_DOMAIN_HSA_API: break; case ACTIVITY_DOMAIN_HCC_OPS: break; case ACTIVITY_DOMAIN_HIP_API: { +#if !HIP_VDI hipError_t hip_err = roctracer::HipLoader::Instance().RemoveApiCallback(op); if (hip_err != hipSuccess) HIP_EXC_RAISING(ROCTRACER_STATUS_HIP_API_ERR, "hipRemoveApiCallback error(" << hip_err << ")"); +#endif break; } case ACTIVITY_DOMAIN_ROCTX: { @@ -900,8 +902,10 @@ static roctracer_status_t roctracer_disable_activity_fun( break; } case ACTIVITY_DOMAIN_HIP_API: { +#if !HIP_VDI const hipError_t hip_err = roctracer::HipLoader::Instance().RemoveActivityCallback(op); if (hip_err != hipSuccess) HIP_EXC_RAISING(ROCTRACER_STATUS_HIP_API_ERR, "hipRemoveActivityCallback error(" << hip_err << ")"); +#endif break; } case ACTIVITY_DOMAIN_ROCTX: break; @@ -1052,7 +1056,7 @@ PUBLIC_API roctracer_status_t roctracer_set_properties( } case ACTIVITY_DOMAIN_HCC_OPS: case ACTIVITY_DOMAIN_HIP_API: { -#ifdef HIP_VDI +#if HIP_VDI const char* hip_lib_name = "libamdhip64.so"; roctracer::HccLoader::SetLibName(hip_lib_name); roctracer::HipLoader::SetLibName(hip_lib_name); diff --git a/test/MatrixTranspose_test/MatrixTranspose.cpp b/test/MatrixTranspose_test/MatrixTranspose.cpp index 57ab83ef18..1a7b2cb97a 100644 --- a/test/MatrixTranspose_test/MatrixTranspose.cpp +++ b/test/MatrixTranspose_test/MatrixTranspose.cpp @@ -317,6 +317,8 @@ void init_tracing() { // Enable KFD API tracing ROCTRACER_CALL(roctracer_enable_domain_callback(ACTIVITY_DOMAIN_KFD_API, api_callback, NULL)); ROCTRACER_CALL(roctracer_enable_domain_activity(ACTIVITY_DOMAIN_KFD_API)); + // Enable rocTX + ROCTRACER_CALL(roctracer_enable_domain_callback(ACTIVITY_DOMAIN_ROCTX, api_callback, NULL)); } // Start tracing routine From 3bc5beb48063c118a158e2c347a19bfbdffc0dbd Mon Sep 17 00:00:00 2001 From: Evgeny Date: Wed, 27 Nov 2019 19:16:27 -0600 Subject: [PATCH 239/691] adding sys|roctx test --- test/run.sh | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/test/run.sh b/test/run.sh index 4a824aae37..ccf646aed6 100755 --- a/test/run.sh +++ b/test/run.sh @@ -70,12 +70,15 @@ eval_test "standalone HIP test" "LD_PRELOAD=libkfdwrapper64.so ./test/MatrixTran # Tool test # rocTracer/tool is loaded by HSA runtime export HSA_TOOLS_LIB="test/libtracer_tool.so" -export ROCTRACER_DOMAIN="hip" -# HIP test -eval_test "tool HIP test" ./test/MatrixTranspose -# with trace sampling control -eval_test "tool HIP period test" "ROCP_CTRL_RATE=10:100000:1000000 ./test/MatrixTranspose" +# SYS test +export ROCTRACER_DOMAIN="sys:roctx" +eval_test "tool SYS test" ./test/MatrixTranspose +export ROCTRACER_DOMAIN="sys:hsa:roctx" +eval_test "tool SYS/HSA test" ./test/MatrixTranspose +# Tracing control +export ROCTRACER_DOMAIN="hip" +eval_test "tool period test" "ROCP_CTRL_RATE=10:100000:1000000 ./test/MatrixTranspose" # HSA test export ROCTRACER_DOMAIN="hsa" From 7138c5787b7315c921ff743998ffa4ca97a82191 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Wed, 27 Nov 2019 19:39:32 -0600 Subject: [PATCH 240/691] enabling hip id wait for HIP-VDI --- src/core/roctracer.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/core/roctracer.cpp b/src/core/roctracer.cpp index 0259c83e31..f0661088c0 100644 --- a/src/core/roctracer.cpp +++ b/src/core/roctracer.cpp @@ -1060,6 +1060,7 @@ PUBLIC_API roctracer_status_t roctracer_set_properties( const char* hip_lib_name = "libamdhip64.so"; roctracer::HccLoader::SetLibName(hip_lib_name); roctracer::HipLoader::SetLibName(hip_lib_name); + roctracer::correlation_id_wait = true; #endif mark_api_callback_ptr = reinterpret_cast(properties); break; From 8475e25e7acfe2ac2c93823f6b1bca9c0263af90 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Tue, 3 Dec 2019 09:43:50 -0600 Subject: [PATCH 241/691] kfd trace fix: disbale recursive callback; disable open/close API tracing; --- script/kfdap.py | 5 ++--- test/tool/tracer_tool.cpp | 4 ++++ 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/script/kfdap.py b/script/kfdap.py index d822cf2752..c46bf60d78 100755 --- a/script/kfdap.py +++ b/script/kfdap.py @@ -406,8 +406,7 @@ class API_DescrParser: call_id = self.api_id[call]; ret_type = struct['ret'] self.content_h += ret_type + ' ' + call + '_callback(' + struct['args'] + ') {\n' # 'static ' + - if call == 'hsaKmtOpenKFD': - self.content_h += ' if (' + name + '_table == NULL) intercept_KFDApiTable();\n' + self.content_h += ' if (' + name + '_table == NULL) intercept_KFDApiTable();\n' self.content_h += ' kfd_api_data_t api_data{};\n' for var in struct['alst']: self.content_h += ' api_data.args.' + call + '.' + var.replace("[]","") + ' = ' + var.replace("[]","") + ';\n' @@ -525,7 +524,7 @@ class API_DescrParser: self.content_cpp += ' return true;\n'; self.content_cpp += '}\n\n'; - if call != '-': + if call != '-' and call != 'hsaKmtCloseKFD' and call != 'hsaKmtOpenKFD': self.content_cpp += 'PUBLIC_API ' + struct['ret'] + " " + call + '(' + struct['args'] + ') { return roctracer::kfd_support::' + call + '_callback(' for i in range(0,len(struct['alst'])): if i == (len(struct['alst'])-1): diff --git a/test/tool/tracer_tool.cpp b/test/tool/tracer_tool.cpp index f300c69388..ad1e9ee3f7 100644 --- a/test/tool/tracer_tool.cpp +++ b/test/tool/tracer_tool.cpp @@ -435,6 +435,7 @@ void hcc_activity_callback(const char* begin, const char* end, void* arg) { // KFD API tracing // KFD API callback function +static thread_local bool in_kfd_api_callback = false; void kfd_api_callback( uint32_t domain, uint32_t cid, @@ -442,6 +443,8 @@ void kfd_api_callback( void* arg) { (void)arg; + if (in_kfd_api_callback) return; + in_kfd_api_callback = true; const kfd_api_data_t* data = reinterpret_cast(callback_data); if (data->phase == ACTIVITY_API_PHASE_ENTER) { kfd_begin_timestamp = timer->timestamp_fn_ns(); @@ -451,6 +454,7 @@ void kfd_api_callback( os << kfd_begin_timestamp << ":" << end_timestamp << " " << GetPid() << ":" << GetTid() << " " << kfd_api_data_pair_t(cid, *data); fprintf(kfd_api_file_handle, "%s\n", os.str().c_str()); } + in_kfd_api_callback = false; } /////////////////////////////////////////////////////////////////////////////////////////////////////// From 5a76e40d43178989672d6689168c57b92d5e8727 Mon Sep 17 00:00:00 2001 From: eshcherb <33529668+eshcherb@users.noreply.github.com> Date: Wed, 4 Dec 2019 16:34:23 -0600 Subject: [PATCH 242/691] Update LICENSE --- LICENSE | 1 + 1 file changed, 1 insertion(+) diff --git a/LICENSE b/LICENSE index 9e78331e70..8384c9857d 100644 --- a/LICENSE +++ b/LICENSE @@ -1,4 +1,5 @@ Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. +[MITx11 License] Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal From 7b3ce9a6162660c028f8ccad6fc7b5131e09f74f Mon Sep 17 00:00:00 2001 From: Evgeny Date: Thu, 5 Dec 2019 11:22:47 -0600 Subject: [PATCH 243/691] porting to clang --- test/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 3be85fc399..923384c444 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -49,7 +49,7 @@ target_link_libraries ( ${TEST_LIB} ${ROCTRACER_TARGET} ${HSA_RUNTIME_LIB} c std ## Build HSA test execute_process ( COMMAND sh -xc "if [ ! -e ${TEST_DIR}/hsa ] ; then git clone https://github.com/ROCmSoftwarePlatform/hsa-class.git ${TEST_DIR}/hsa; fi" ) -execute_process ( COMMAND sh -xc "if [ -e ${TEST_DIR}/hsa ] ; then cd ${TEST_DIR}/hsa && git fetch origin && git checkout 7defb6d; fi" ) +execute_process ( COMMAND sh -xc "if [ -e ${TEST_DIR}/hsa ] ; then cd ${TEST_DIR}/hsa && git fetch origin && git checkout a3aabb5; fi" ) set ( TEST_DIR ${HSA_TEST_DIR} ) add_subdirectory ( ${TEST_DIR} ${PROJECT_BINARY_DIR}/test/hsa ) From 76f85f8265253738c3bdd8387ac444d4c1a076b1 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Thu, 5 Dec 2019 17:59:31 -0600 Subject: [PATCH 244/691] onload trace --- test/tool/tracer_tool.cpp | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/test/tool/tracer_tool.cpp b/test/tool/tracer_tool.cpp index ad1e9ee3f7..92fdbf7a52 100644 --- a/test/tool/tracer_tool.cpp +++ b/test/tool/tracer_tool.cpp @@ -57,9 +57,12 @@ THE SOFTWARE. } \ } while (0) -#ifndef onload_debug -#define onload_debug false -#endif +#define ONLOAD_TRACE(str) \ + if (getenv("ROCP_ONLOAD_TRACE")) do { \ + std::cout << "PID(" << GetPid() << "): TOOL::" << __FUNCTION__ << " " << str << std::endl << std::flush; \ + } while(0); +#define ONLOAD_TRACE_BEG() ONLOAD_TRACE("begin") +#define ONLOAD_TRACE_END() ONLOAD_TRACE("end") typedef hsa_rt_utils::Timer::timestamp_t timestamp_t; hsa_rt_utils::Timer* timer = NULL; @@ -529,7 +532,7 @@ void close_output_file(FILE* file_handle) { // HSA-runtime tool on-load method extern "C" PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, uint64_t failed_tool_count, const char* const* failed_tool_names) { - if (onload_debug) { printf("TOOL OnLoad\n"); fflush(stdout); } + ONLOAD_TRACE_BEG(); timer = new hsa_rt_utils::Timer(table->core_->hsa_system_get_info_fn); // Output file @@ -759,15 +762,15 @@ extern "C" PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, printf(")\n"); } - if (onload_debug) { printf("TOOL OnLoad end\n"); fflush(stdout); } + ONLOAD_TRACE_END(); return roctracer_load(table, runtime_version, failed_tool_count, failed_tool_names); } // tool unload method void tool_unload(bool destruct) { static bool is_unloaded = false; + ONLOAD_TRACE("begin (" << destruct <<", " << is_unloaded << ")"); - if (onload_debug) { printf("TOOL tool_unload (%d, %d)\n", (int)destruct, (int)is_unloaded); fflush(stdout); } if (destruct == false) return; if (is_unloaded == true) return; is_unloaded = true; @@ -806,21 +809,21 @@ void tool_unload(bool destruct) { ROCTRACER_CALL(roctracer_disable_domain_callback(ACTIVITY_DOMAIN_KFD_API)); fclose(kfd_api_file_handle); } - if (onload_debug) { printf("TOOL tool_unload end\n"); fflush(stdout); } + ONLOAD_TRACE_END(); } // HSA-runtime on-unload method extern "C" PUBLIC_API void OnUnload() { - if (onload_debug) { printf("TOOL OnUnload\n"); fflush(stdout); } + ONLOAD_TRACE_BEG(); tool_unload(false); - if (onload_debug) { printf("TOOL OnUnload end\n"); fflush(stdout); } + ONLOAD_TRACE_END(); } extern "C" CONSTRUCTOR_API void constructor() { - if (onload_debug) { printf("TOOL constructor ...end\n"); fflush(stdout); } + ONLOAD_TRACE("") } extern "C" DESTRUCTOR_API void destructor() { - if (onload_debug) { printf("TOOL destructor\n"); fflush(stdout); } + ONLOAD_TRACE_BEG(); tool_unload(true); - if (onload_debug) { printf("TOOL destructor end\n"); fflush(stdout); } + ONLOAD_TRACE_END(); } From 9d375424704d8b6c71e5dfa2e560f84562988649 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Thu, 5 Dec 2019 18:08:17 -0600 Subject: [PATCH 245/691] lib onload trace --- src/core/roctracer.cpp | 34 +++++++++++++++++++--------------- test/tool/tracer_tool.cpp | 2 +- 2 files changed, 20 insertions(+), 16 deletions(-) diff --git a/src/core/roctracer.cpp b/src/core/roctracer.cpp index f0661088c0..8eac5a1f20 100644 --- a/src/core/roctracer.cpp +++ b/src/core/roctracer.cpp @@ -85,9 +85,13 @@ THE SOFTWARE. (void)err; \ return X; -#ifndef onload_debug -#define onload_debug false -#endif +#define ONLOAD_TRACE(str) \ + if (getenv("ROCP_ONLOAD_TRACE")) do { \ + std::cout << "PID(" << GetPid() << "): TRACER_LIB::" << __FUNCTION__ << " " << str << std::endl << std::flush; \ + } while(0); +#define ONLOAD_TRACE_BEG() ONLOAD_TRACE("begin") +#define ONLOAD_TRACE_END() ONLOAD_TRACE("end") + static inline uint32_t GetPid() { return syscall(__NR_getpid); } @@ -1080,55 +1084,55 @@ PUBLIC_API roctracer_status_t roctracer_set_properties( // HSA-runtime tool on-load method PUBLIC_API bool roctracer_load(HsaApiTable* table, uint64_t runtime_version, uint64_t failed_tool_count, const char* const* failed_tool_names) { - if (onload_debug) { printf("LIB roctracer_load\n"); fflush(stdout); } + ONLOAD_TRACE_BEG(); static bool is_loaded = false; if (is_loaded) return true; is_loaded = true; - if (onload_debug) { printf("LIB roctracer_load end\n"); fflush(stdout); } + ONLOAD_TRACE_END(); return true; } PUBLIC_API void roctracer_unload(bool destruct) { static bool is_unloaded = false; + ONLOAD_TRACE("begin (" << destruct << ", " << is_unloaded << ")"); - if (onload_debug) { printf("LIB roctracer_unload (%d, %d)\n", (int)destruct, (int)is_unloaded); fflush(stdout); } if (destruct == false) return; if (is_unloaded == true) return; is_unloaded = true; roctracer::trace_buffer.Flush(); roctracer::close_output_file(roctracer::kernel_file_handle); - if (onload_debug) { printf("LIB roctracer_unload end\n"); fflush(stdout); } + ONLOAD_TRACE_END(); } PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, uint64_t failed_tool_count, const char* const* failed_tool_names) { - if (onload_debug) { printf("LIB OnLoad\n"); fflush(stdout); } + ONLOAD_TRACE_BEG(); const bool ret = roctracer_load(table, runtime_version, failed_tool_count, failed_tool_names); - if (onload_debug) { printf("LIB OnLoad end\n"); fflush(stdout); } + ONLOAD_TRACE_END(); return ret; } PUBLIC_API void OnUnload() { - if (onload_debug) { printf("LIB OnUnload\n"); fflush(stdout); } + ONLOAD_TRACE_BEG(); roctracer_unload(false); - if (onload_debug) { printf("LIB OnUnload end\n"); fflush(stdout); } + ONLOAD_TRACE_END(); } CONSTRUCTOR_API void constructor() { - if (onload_debug) { printf("LIB constructor\n"); fflush(stdout); } + ONLOAD_TRACE_BEG(); roctracer::util::Logger::Create(); if (roctracer::cb_journal == NULL) roctracer::cb_journal = new roctracer::CbJournal; if (roctracer::act_journal == NULL) roctracer::act_journal = new roctracer::ActJournal; - if (onload_debug) { printf("LIB constructor end\n"); fflush(stdout); } + ONLOAD_TRACE_END(); } DESTRUCTOR_API void destructor() { - if (onload_debug) { printf("LIB destructor\n"); fflush(stdout); } + ONLOAD_TRACE_BEG(); roctracer_unload(true); util::HsaRsrcFactory::Destroy(); roctracer::util::Logger::Destroy(); - if (onload_debug) { printf("LIB destructor end\n"); fflush(stdout); } + ONLOAD_TRACE_END(); } } // extern "C" diff --git a/test/tool/tracer_tool.cpp b/test/tool/tracer_tool.cpp index 92fdbf7a52..be2c913160 100644 --- a/test/tool/tracer_tool.cpp +++ b/test/tool/tracer_tool.cpp @@ -59,7 +59,7 @@ THE SOFTWARE. #define ONLOAD_TRACE(str) \ if (getenv("ROCP_ONLOAD_TRACE")) do { \ - std::cout << "PID(" << GetPid() << "): TOOL::" << __FUNCTION__ << " " << str << std::endl << std::flush; \ + std::cout << "PID(" << GetPid() << "): TRACER_TOOL::" << __FUNCTION__ << " " << str << std::endl << std::flush; \ } while(0); #define ONLOAD_TRACE_BEG() ONLOAD_TRACE("begin") #define ONLOAD_TRACE_END() ONLOAD_TRACE("end") From c58f1f411c96c60f224d8c79dabda87a4cea427d Mon Sep 17 00:00:00 2001 From: Evgeny Date: Thu, 5 Dec 2019 18:13:30 -0600 Subject: [PATCH 246/691] hcc corr id wait enabled by default --- src/core/roctracer.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/core/roctracer.cpp b/src/core/roctracer.cpp index 8eac5a1f20..ed9cb4d2dc 100644 --- a/src/core/roctracer.cpp +++ b/src/core/roctracer.cpp @@ -284,7 +284,7 @@ typedef std::map correlati typedef std::mutex correlation_id_mutex_t; correlation_id_map_t* correlation_id_map = NULL; correlation_id_mutex_t correlation_id_mutex; -bool correlation_id_wait = false; +bool correlation_id_wait = true; static thread_local std::stack external_id_stack; @@ -827,6 +827,10 @@ static roctracer_status_t roctracer_enable_activity_fun( roctracer::correlation_id_wait = true; fprintf(stdout, "roctracer: HCC correlation ID wait enabled\n"); fflush(stdout); } + if (getenv("ROCP_HCC_CORRID_NOWAIT") != NULL) { + roctracer::correlation_id_wait = false; + fprintf(stdout, "roctracer: HCC correlation ID wait disabled\n"); fflush(stdout); + } roctracer::HccLoader::Instance().InitActivityCallback((void*)roctracer::HCC_ActivityIdCallback, (void*)roctracer::HCC_AsyncActivityCallback, (void*)pool); @@ -1064,7 +1068,6 @@ PUBLIC_API roctracer_status_t roctracer_set_properties( const char* hip_lib_name = "libamdhip64.so"; roctracer::HccLoader::SetLibName(hip_lib_name); roctracer::HipLoader::SetLibName(hip_lib_name); - roctracer::correlation_id_wait = true; #endif mark_api_callback_ptr = reinterpret_cast(properties); break; From e606af1499bdbb9c7e0ca82563f1bf31a4bfcea0 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Sun, 8 Dec 2019 12:11:50 -0600 Subject: [PATCH 247/691] corremation id initialization fix --- src/core/roctracer.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/core/roctracer.cpp b/src/core/roctracer.cpp index ed9cb4d2dc..f9f87557f3 100644 --- a/src/core/roctracer.cpp +++ b/src/core/roctracer.cpp @@ -332,6 +332,7 @@ void* HIP_SyncActivityCallback( data = &(top.data.hip); data_ptr = const_cast(data); data_ptr->phase = phase; + data_ptr->correlation_id = 0; } // Filing record info From 0316b23df0ba7edd4c6e2afe6407dea82bf88fc1 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Sun, 8 Dec 2019 12:38:19 -0600 Subject: [PATCH 248/691] enabling of trace disable for HIP-VDI --- src/core/roctracer.cpp | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/core/roctracer.cpp b/src/core/roctracer.cpp index f9f87557f3..07a998db11 100644 --- a/src/core/roctracer.cpp +++ b/src/core/roctracer.cpp @@ -716,10 +716,8 @@ static roctracer_status_t roctracer_disable_callback_fun( case ACTIVITY_DOMAIN_HSA_API: break; case ACTIVITY_DOMAIN_HCC_OPS: break; case ACTIVITY_DOMAIN_HIP_API: { -#if !HIP_VDI hipError_t hip_err = roctracer::HipLoader::Instance().RemoveApiCallback(op); if (hip_err != hipSuccess) HIP_EXC_RAISING(ROCTRACER_STATUS_HIP_API_ERR, "hipRemoveApiCallback error(" << hip_err << ")"); -#endif break; } case ACTIVITY_DOMAIN_ROCTX: { @@ -911,10 +909,8 @@ static roctracer_status_t roctracer_disable_activity_fun( break; } case ACTIVITY_DOMAIN_HIP_API: { -#if !HIP_VDI const hipError_t hip_err = roctracer::HipLoader::Instance().RemoveActivityCallback(op); if (hip_err != hipSuccess) HIP_EXC_RAISING(ROCTRACER_STATUS_HIP_API_ERR, "hipRemoveActivityCallback error(" << hip_err << ")"); -#endif break; } case ACTIVITY_DOMAIN_ROCTX: break; From b5b45f4414efa906fcd3ce60fa0c695767481b29 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Wed, 11 Dec 2019 13:57:23 -0600 Subject: [PATCH 249/691] adding delay -1 to rate controll as trace start disabled --- test/tool/tracer_tool.cpp | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/test/tool/tracer_tool.cpp b/test/tool/tracer_tool.cpp index be2c913160..549debe97a 100644 --- a/test/tool/tracer_tool.cpp +++ b/test/tool/tracer_tool.cpp @@ -717,11 +717,9 @@ extern "C" PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, uint32_t ctrl_delay = 0; uint32_t ctrl_len = 0; uint32_t ctrl_rate = 0; - int ret = sscanf(ctrl_str, "%d:%d:%d", &ctrl_delay, &ctrl_len, &ctrl_rate); - if (ret != 3) { - fprintf(stderr, "ROCTracer: control rate value invalid 'delay:length:rate': '%s'\n", ctrl_str); - abort(); - } + + sscanf(ctrl_str, "%d:%d:%d", &ctrl_delay, &ctrl_len, &ctrl_rate); + if (ctrl_len > ctrl_rate) { fprintf(stderr, "ROCTracer: control length value (%u) > rate value (%u)\n", ctrl_len, ctrl_rate); abort(); @@ -730,15 +728,18 @@ extern "C" PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, control_len_us = ctrl_len; control_delay_us = ctrl_delay; - fprintf(stdout, "ROCTracer: trace control: delay(%uus), length(%uus), rate(%uus)\n", ctrl_delay, ctrl_len, ctrl_rate); fflush(stdout); - roctracer_stop(); - pthread_t thread; - pthread_attr_t attr; - int err = pthread_attr_init(&attr); - if (err) { errno = err; perror("pthread_attr_init"); abort(); } - err = pthread_create(&thread, &attr, control_thr_fun, NULL); + if (ctrl_delay != UINT32_MAX) { + fprintf(stdout, "ROCTracer: trace control: delay(%uus), length(%uus), rate(%uus)\n", ctrl_delay, ctrl_len, ctrl_rate); fflush(stdout); + pthread_t thread; + pthread_attr_t attr; + int err = pthread_attr_init(&attr); + if (err) { errno = err; perror("pthread_attr_init"); abort(); } + err = pthread_create(&thread, &attr, control_thr_fun, NULL); + } else { + fprintf(stdout, "ROCTracer: trace start disabled\n"); fflush(stdout); + } } // Enable KFD API callbacks/activity From 23a1d54acf346b111453bee59cac78d3dd407a30 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Thu, 12 Dec 2019 19:03:26 -0600 Subject: [PATCH 250/691] renaming libmcwamp_hsa to libmcwamp; force loading of roctx library; --- src/core/loader.h | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/core/loader.h b/src/core/loader.h index c7e95734b2..1d85a31787 100644 --- a/src/core/loader.h +++ b/src/core/loader.h @@ -46,7 +46,7 @@ class BaseLoader : public T { private: BaseLoader() { - const int flags = RTLD_LAZY|RTLD_NOLOAD; + const int flags = (to_load_ == true) ? RTLD_LAZY : RTLD_LAZY|RTLD_NOLOAD; handle_ = dlopen(lib_name_, flags); if (handle_ == NULL) { fprintf(stderr, "roctracer: Loading '%s' failed, %s\n", lib_name_, dlerror()); @@ -61,6 +61,8 @@ class BaseLoader : public T { if (handle_ != NULL) dlclose(handle_); } + static bool to_load_; + static mutex_t mutex_; static const char* lib_name_; static std::atomic instance_; @@ -171,9 +173,11 @@ typedef BaseLoader RocTxLoader; #define LOADER_INSTANTIATE() \ template typename roctracer::BaseLoader::mutex_t roctracer::BaseLoader::mutex_; \ template std::atomic*> roctracer::BaseLoader::instance_{}; \ + template bool roctracer::BaseLoader::to_load_ = false; \ template<> const char* roctracer::HipLoader::lib_name_ = "libhip_hcc.so"; \ - template<> const char* roctracer::HccLoader::lib_name_ = "libmcwamp_hsa.so"; \ + template<> const char* roctracer::HccLoader::lib_name_ = "libmcwamp.so"; \ template<> const char* roctracer::KfdLoader::lib_name_ = "libkfdwrapper64.so"; \ - template<> const char* roctracer::RocTxLoader::lib_name_ = "libroctx64.so"; + template<> const char* roctracer::RocTxLoader::lib_name_ = "libroctx64.so"; \ + template<> bool roctracer::RocTxLoader::to_load_ = true; #endif // SRC_CORE_LOADER_H_ From f4e3e457d9a5780e4906ec229fa06f1457571ed2 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Wed, 18 Dec 2019 19:16:34 -0600 Subject: [PATCH 251/691] removing private header roctracer_roctx.h from release package --- CMakeLists.txt | 1 - 1 file changed, 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index cda9887338..48efe39b37 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -106,7 +106,6 @@ add_custom_target ( so-roctx-link ALL WORKING_DIRECTORY ${PROJECT_BINARY_DIR} install ( TARGETS "roctx64" LIBRARY DESTINATION lib ) install ( FILES ${CMAKE_CURRENT_SOURCE_DIR}/inc/roctx.h DESTINATION include ) -install ( FILES ${CMAKE_CURRENT_SOURCE_DIR}/inc/roctracer_roctx.h DESTINATION include ) install ( FILES ${PROJECT_BINARY_DIR}/so-roctx-link DESTINATION ../lib RENAME ${ROCTX_LIBRARY}.so ) ## KFD wrapper From 0e8c410ef3382f40b111439bcd17822f7c390ba8 Mon Sep 17 00:00:00 2001 From: eshcherb <33529668+eshcherb@users.noreply.github.com> Date: Wed, 18 Dec 2019 19:53:25 -0600 Subject: [PATCH 252/691] Update README.md --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 9f9cf78fbc..79a5828a62 100644 --- a/README.md +++ b/README.md @@ -45,9 +45,10 @@ Includes basic API: roctxMark, roctxRangePush, roctxRangePop. git clone -b amd-master https://github.com/ROCm-Developer-Tools/roctracer - Set environment: + export CMAKE_PREFIX_PATH=/opt/rocm + - To use custom HIP/HCC versions: export HIP_PATH=/opt/rocm/hip export HCC_HOME=/opt/rocm/hcc - export CMAKE_PREFIX_PATH=/opt/rocm - Build ROCtracer export CMAKE_BUILD_TYPE= # release by default From aae6ab64bba288424929e3809698de15ef335b86 Mon Sep 17 00:00:00 2001 From: eshcherb <33529668+eshcherb@users.noreply.github.com> Date: Wed, 18 Dec 2019 19:55:16 -0600 Subject: [PATCH 253/691] Update README.md --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 79a5828a62..f4965b92f8 100644 --- a/README.md +++ b/README.md @@ -50,15 +50,15 @@ Includes basic API: roctxMark, roctxRangePush, roctxRangePop. export HIP_PATH=/opt/rocm/hip export HCC_HOME=/opt/rocm/hcc - - Build ROCtracer + - To build roctracer library: export CMAKE_BUILD_TYPE= # release by default cd /roctracer && mkdir build && cd build && cmake -DCMAKE_INSTALL_PREFIX=/opt/rocm .. && make -j - - To build and run test + - To build and run test: make mytest run.sh - - To install + - To install: make install or make package && dpkg -i *.deb From b7aa8fedb73d6564378b2fc5ffb76f830429fb7b Mon Sep 17 00:00:00 2001 From: "Wen-Heng (Jack) Chung" Date: Thu, 19 Dec 2019 18:03:40 +0000 Subject: [PATCH 254/691] Introduce a new API roctracer_get_timestamp(). roctracer_status_t roctracer_get_timestamp(uint64_t* timestamp); Get system timestamp for roctracer clients. The API could be used to help roctracer clients understand the reference frame of timestamps when receiving activity callbacks, as the nanoseconds reported in the activity callbacks are not in the same reference frame as CPU walltime clock. --- inc/roctracer.h | 4 ++++ src/core/roctracer.cpp | 6 ++++++ 2 files changed, 10 insertions(+) diff --git a/inc/roctracer.h b/inc/roctracer.h index 812fc464f4..ce9b31add9 100644 --- a/inc/roctracer.h +++ b/inc/roctracer.h @@ -225,6 +225,10 @@ bool roctracer_load( void roctracer_unload(bool destruct); +// Get system timestamp. +roctracer_status_t roctracer_get_timestamp( + uint64_t* timestamp); + #ifdef __cplusplus } // extern "C" block #endif // __cplusplus diff --git a/src/core/roctracer.cpp b/src/core/roctracer.cpp index 07a998db11..87b0ace7ff 100644 --- a/src/core/roctracer.cpp +++ b/src/core/roctracer.cpp @@ -1106,6 +1106,12 @@ PUBLIC_API void roctracer_unload(bool destruct) { ONLOAD_TRACE_END(); } +PUBLIC_API roctracer_status_t roctracer_get_timestamp(uint64_t* timestamp) { + API_METHOD_PREFIX + *timestamp = util::HsaRsrcFactory::Instance().TimestampNs(); + API_METHOD_SUFFIX +} + PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, uint64_t failed_tool_count, const char* const* failed_tool_names) { ONLOAD_TRACE_BEG(); From dceeb6846eafa0c369441bea6dff4841d0f067fc Mon Sep 17 00:00:00 2001 From: Evgeny Date: Wed, 25 Dec 2019 05:51:19 -0600 Subject: [PATCH 255/691] checking hip/hcc loader enabled --- src/core/loader.h | 6 +++++- src/core/roctracer.cpp | 15 ++++++++++++++- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/src/core/loader.h b/src/core/loader.h index 1d85a31787..43b07be905 100644 --- a/src/core/loader.h +++ b/src/core/loader.h @@ -48,7 +48,7 @@ class BaseLoader : public T { BaseLoader() { const int flags = (to_load_ == true) ? RTLD_LAZY : RTLD_LAZY|RTLD_NOLOAD; handle_ = dlopen(lib_name_, flags); - if (handle_ == NULL) { + if ((to_check_ == true) && (handle_ == NULL)) { fprintf(stderr, "roctracer: Loading '%s' failed, %s\n", lib_name_, dlerror()); abort(); } @@ -62,6 +62,7 @@ class BaseLoader : public T { } static bool to_load_; + static bool to_check_; static mutex_t mutex_; static const char* lib_name_; @@ -174,8 +175,11 @@ typedef BaseLoader RocTxLoader; template typename roctracer::BaseLoader::mutex_t roctracer::BaseLoader::mutex_; \ template std::atomic*> roctracer::BaseLoader::instance_{}; \ template bool roctracer::BaseLoader::to_load_ = false; \ + template bool roctracer::BaseLoader::to_check_ = true; \ template<> const char* roctracer::HipLoader::lib_name_ = "libhip_hcc.so"; \ + template<> bool roctracer::HipLoader::to_check_ = false; \ template<> const char* roctracer::HccLoader::lib_name_ = "libmcwamp.so"; \ + template<> bool roctracer::HccLoader::to_check_ = false; \ template<> const char* roctracer::KfdLoader::lib_name_ = "libkfdwrapper64.so"; \ template<> const char* roctracer::RocTxLoader::lib_name_ = "libroctx64.so"; \ template<> bool roctracer::RocTxLoader::to_load_ = true; diff --git a/src/core/roctracer.cpp b/src/core/roctracer.cpp index 07a998db11..eea72bf12d 100644 --- a/src/core/roctracer.cpp +++ b/src/core/roctracer.cpp @@ -640,6 +640,8 @@ static roctracer_status_t roctracer_enable_callback_fun( } case ACTIVITY_DOMAIN_HCC_OPS: break; case ACTIVITY_DOMAIN_HIP_API: { + if (roctracer::HipLoader::Instance().Enabled() == false) break; + hipError_t hip_err = roctracer::HipLoader::Instance().RegisterApiCallback(op, (void*)callback, user_data); if (hip_err != hipSuccess) HIP_EXC_RAISING(ROCTRACER_STATUS_HIP_API_ERR, "hipRegisterApiCallback(" << op << ") error(" << hip_err << ")"); break; @@ -716,6 +718,8 @@ static roctracer_status_t roctracer_disable_callback_fun( case ACTIVITY_DOMAIN_HSA_API: break; case ACTIVITY_DOMAIN_HCC_OPS: break; case ACTIVITY_DOMAIN_HIP_API: { + if (roctracer::HipLoader::Instance().Enabled() == false) break; + hipError_t hip_err = roctracer::HipLoader::Instance().RemoveApiCallback(op); if (hip_err != hipSuccess) HIP_EXC_RAISING(ROCTRACER_STATUS_HIP_API_ERR, "hipRemoveApiCallback error(" << hip_err << ")"); break; @@ -821,7 +825,10 @@ static roctracer_status_t roctracer_enable_activity_fun( case ACTIVITY_DOMAIN_HSA_API: break; case ACTIVITY_DOMAIN_KFD_API: break; case ACTIVITY_DOMAIN_HCC_OPS: { - if (roctracer::HccLoader::GetRef() == NULL) { + const bool init_phase = (roctracer::HccLoader::GetRef() == NULL); + if (roctracer::HccLoader::Instance().Enabled() == false) break; + + if (init_phase == true) { if (getenv("ROCP_HCC_CORRID_WAIT") != NULL) { roctracer::correlation_id_wait = true; fprintf(stdout, "roctracer: HCC correlation ID wait enabled\n"); fflush(stdout); @@ -839,6 +846,8 @@ static roctracer_status_t roctracer_enable_activity_fun( break; } case ACTIVITY_DOMAIN_HIP_API: { + if (roctracer::HipLoader::Instance().Enabled() == false) break; + const hipError_t hip_err = roctracer::HipLoader::Instance().RegisterActivityCallback(op, (void*)roctracer::HIP_SyncActivityCallback, (void*)pool); if (hip_err != hipSuccess) HIP_EXC_RAISING(ROCTRACER_STATUS_HIP_API_ERR, "hipRegisterActivityCallback error(" << hip_err << ")"); break; @@ -904,11 +913,15 @@ static roctracer_status_t roctracer_disable_activity_fun( case ACTIVITY_DOMAIN_HSA_API: break; case ACTIVITY_DOMAIN_KFD_API: break; case ACTIVITY_DOMAIN_HCC_OPS: { + if (roctracer::HccLoader::Instance().Enabled() == false) break; + const bool succ = roctracer::HccLoader::Instance().EnableActivityCallback(op, false); if (succ == false) HCC_EXC_RAISING(ROCTRACER_STATUS_HCC_OPS_ERR, "HCC::EnableActivityCallback(NULL) error domain(" << domain << ") op(" << op << ")"); break; } case ACTIVITY_DOMAIN_HIP_API: { + if (roctracer::HipLoader::Instance().Enabled() == false) break; + const hipError_t hip_err = roctracer::HipLoader::Instance().RemoveActivityCallback(op); if (hip_err != hipSuccess) HIP_EXC_RAISING(ROCTRACER_STATUS_HIP_API_ERR, "hipRemoveActivityCallback error(" << hip_err << ")"); break; From dd69b522c3af93a3acc1679ff4a5e7bfb3995503 Mon Sep 17 00:00:00 2001 From: rkebichi <54912798+rkebichi@users.noreply.github.com> Date: Fri, 27 Dec 2019 12:14:27 -0500 Subject: [PATCH 256/691] Update gen_ostream_ops.py --- script/gen_ostream_ops.py | 68 ++++++++++++++++++++++++--------------- 1 file changed, 42 insertions(+), 26 deletions(-) diff --git a/script/gen_ostream_ops.py b/script/gen_ostream_ops.py index f98a83b35b..fe3c86e364 100644 --- a/script/gen_ostream_ops.py +++ b/script/gen_ostream_ops.py @@ -76,7 +76,7 @@ HEADER = \ '\n' structs_done = {} -def process_struct(f,c,cppHeader,nname): +def process_struct(f,c,cppHeader,nname,apiname): if c not in cppHeader.classes: return @@ -104,9 +104,9 @@ def process_struct(f,c,cppHeader,nname): if mtype != "" and "union" not in mtype: if array_size == "": - str = " roctracer::kfd_support::output_streamer<"+mtype+">::put(out,v."+name+");\n" + str = " roctracer::" + apiname.lower() + "_support::output_streamer<"+mtype+">::put(out,v."+name+");\n" else: - str = " roctracer::kfd_support::output_streamer<"+mtype+"["+array_size+"]>::put(out,v."+name+");\n" + str = " roctracer::" + apiname.lower() + "_support::output_streamer<"+mtype+"["+array_size+"]>::put(out,v."+name+");\n" if nname != "" and nname not in str: #print("injecting ",nname, "in ", str) @@ -115,11 +115,11 @@ def process_struct(f,c,cppHeader,nname): f.write(str) else: nc = prop+"::" - process_struct(f,nc,cppHeader,name) + process_struct(f,nc,cppHeader,name,apiname) nc = prop+"::"+mtype+" " - process_struct(f,nc,cppHeader,name) + process_struct(f,nc,cppHeader,name,apiname) nc = c+"::" - process_struct(f,nc,cppHeader,name) + process_struct(f,nc,cppHeader,name,apiname) def gen_cppheader(infilepath,outfilepath): @@ -128,41 +128,53 @@ def gen_cppheader(infilepath,outfilepath): except CppHeaderParser.CppParseError as e: print(e) sys.exit(1) - + mpath = os.path.dirname(outfilepath) + if mpath == "": + mpath = os.getcwd() + apiname = outfilepath.replace(mpath+"/","") + apiname = apiname.replace("_ostream_ops.h","") + apiname = apiname.upper() f = open(outfilepath,"w+") + f2 = open(mpath + "/basic_ostream_ops.h","w+") f.write("// automatically generated\n") - f.write(LICENSE) - f.write("\n") + f2.write("// automatically generated\n") + f.write(LICENSE + '\n') + f2.write(LICENSE + '\n') HEADER_S = \ - '#ifndef INC_KFD_OSTREAM_OPS_H_\n' + \ - '#define INC_KFD_OSTREAM_OPS_H_\n' + \ + '#ifndef INC_' + apiname + '_OSTREAM_OPS_H_\n' + \ + '#define INC_' + apiname + '_OSTREAM_OPS_H_\n' + \ '#include \n' + \ '\n' + \ - '#include "roctracer.h"\n' + \ - '#include "hsakmt.h"\n' + '#include "roctracer.h"\n' + if apiname == "KFD": + HEADER_S += '#include "hsakmt.h"\n' + if apiname == "HSA": + HEADER_S += '#include \n#include \n#include \n #include "cb_table.h"\n' f.write(HEADER_S) f.write('\n') f.write('namespace roctracer {\n') - f.write('namespace kfd_support {\n') - f.write('// begin ostream ops for KFD \n') - f.write(HEADER) + f.write('namespace ' + apiname.lower() + '_support {\n') + f.write('// begin ostream ops for '+ apiname + ' \n') + f.write('#include "basic_ostream_ops.h"' + '\n') + f2.write(HEADER) for c in cppHeader.classes: if "union" in c: continue - f.write("\ntemplate<>\n") - f.write("struct output_streamer<"+c+"&> {\n") - f.write(" inline static std::ostream& put(std::ostream& out, "+c+"& v)\n") - f.write("{\n") - process_struct(f,c,cppHeader,"") - f.write(" return out;\n") - f.write("}\n") - f.write("};\n") + if len(cppHeader.classes[c]["properties"]["public"])!=0: + f.write("\ntemplate<>\n") + f.write("struct output_streamer<"+c+"&> {\n") + f.write(" inline static std::ostream& put(std::ostream& out, "+c+"& v)\n") + f.write("{\n") + process_struct(f,c,cppHeader,"",apiname) + f.write(" return out;\n") + f.write("}\n") + f.write("};\n") FOOTER = \ - '// end ostream ops for KFD \n' + '// end ostream ops for '+ apiname + ' \n' FOOTER += '};};\n' + \ '\n' + \ - '#endif // INC_KFD_OSTREAM_OPS_H_\n' + \ + '#endif // INC_' + apiname + '_OSTREAM_OPS_H_\n' + \ ' \n' FOOTER2 = '\n\n' + \ '#endif // INC_BASIC_OSTREAM_OPS_H_\n' + \ @@ -170,6 +182,10 @@ def gen_cppheader(infilepath,outfilepath): f.write(FOOTER) f.close() + f2.close() + print('File ' + outfilepath + ' generated') + print('File ' + mpath + '/basic_ostream_ops.h generated') + return parser = argparse.ArgumentParser(description='genOstreamOps.py: generates ostream operators for all typedefs in provided input file.') From 077f8ec6b6f0a465de8df24c2110c0196c6a5e30 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Thu, 26 Dec 2019 06:40:49 -0600 Subject: [PATCH 257/691] normalizing C API --- inc/ext/prof_protocol.h | 4 +- inc/roctracer.h | 69 ++++++++++---- inc/roctracer_ext.h | 4 +- inc/roctracer_hcc.h | 24 ++--- inc/roctracer_hip.h | 2 +- inc/roctracer_kfd.h | 4 +- inc/roctracer_roctx.h | 11 +-- script/kfdap.py | 8 +- src/core/roctracer.cpp | 16 ++-- test/CMakeLists.txt | 2 + test/MatrixTranspose_test/Makefile | 24 +++-- test/MatrixTranspose_test/MatrixTranspose.c | 1 + test/MatrixTranspose_test/MatrixTranspose.cpp | 91 +++++++++++-------- test/run.sh | 1 + test/tool/tracer_tool.cpp | 4 +- 15 files changed, 162 insertions(+), 103 deletions(-) create mode 120000 test/MatrixTranspose_test/MatrixTranspose.c diff --git a/inc/ext/prof_protocol.h b/inc/ext/prof_protocol.h index 6d9cd62714..ee52e91082 100644 --- a/inc/ext/prof_protocol.h +++ b/inc/ext/prof_protocol.h @@ -60,7 +60,7 @@ typedef enum { typedef uint64_t activity_correlation_id_t; // Activity record type -struct activity_record_t { +typedef struct activity_record_s { uint32_t domain; // activity domain id activity_kind_t kind; // activity kind activity_op_t op; // activity op @@ -81,7 +81,7 @@ struct activity_record_t { }; }; size_t bytes; // data size bytes -}; +} activity_record_t; // Activity sync calback type typedef void* (*activity_sync_callback_t)(uint32_t cid, activity_record_t* record, const void* data, void* arg); diff --git a/inc/roctracer.h b/inc/roctracer.h index ce9b31add9..0fc6df0063 100644 --- a/inc/roctracer.h +++ b/inc/roctracer.h @@ -38,10 +38,13 @@ THE SOFTWARE. #include #include +#ifndef __cplusplus +#include +#endif #include "ext/prof_protocol.h" -#define ROCTRACER_VERSION_MAJOR 1 +#define ROCTRACER_VERSION_MAJOR 2 #define ROCTRACER_VERSION_MINOR 0 #ifdef __cplusplus @@ -89,7 +92,7 @@ roctracer_status_t roctracer_op_code( uint32_t domain, // tracing domain const char* str, // [in] op string uint32_t* op, // [out] op code - uint32_t* kind = NULL); // [out] op kind code + uint32_t* kind); // [out] op kind code if not NULL //////////////////////////////////////////////////////////////////////////////// // Callback API @@ -172,31 +175,59 @@ typedef void roctracer_pool_t; // Create tracer memory pool // The first invocation sets the default pool -roctracer_status_t roctracer_open_pool( +roctracer_status_t roctracer_open_pool_expl( const roctracer_properties_t* properties, // tracer pool properties - roctracer_pool_t** pool = NULL); // [out] returns tracer pool if not NULL, + roctracer_pool_t** pool); // [out] returns tracer pool if not NULL, // otherwise sets the default one if it is not set yet +roctracer_status_t roctracer_open_pool( + const roctracer_properties_t* properties) // tracer pool properties +{ + return roctracer_open_pool_expl(properties, NULL); +} // otherwise the error is generated // Close tracer memory pool -roctracer_status_t roctracer_close_pool( - roctracer_pool_t* pool = NULL); // [in] memory pool, NULL is a default one +roctracer_status_t roctracer_close_pool_expl( + roctracer_pool_t* pool); // [in] memory pool, NULL is a default one +roctracer_status_t roctracer_close_pool() +{ + return roctracer_close_pool_expl(NULL); +} // Return current default pool // Set new default pool if the argument is not NULL -roctracer_pool_t* roctracer_default_pool( - roctracer_pool_t* pool = NULL); // [in] new default pool if not NULL +roctracer_pool_t* roctracer_default_pool_expl( + roctracer_pool_t* pool); // [in] new default pool if not NULL +roctracer_pool_t* roctracer_default_pool() +{ + return roctracer_default_pool_expl(NULL); +} // Enable activity records logging -roctracer_status_t roctracer_enable_op_activity( +roctracer_status_t roctracer_enable_op_activity_expl( activity_domain_t domain, // tracing domain uint32_t op, // activity op ID - roctracer_pool_t* pool = NULL); // memory pool, NULL is a default one -roctracer_status_t roctracer_enable_domain_activity( + roctracer_pool_t* pool); // memory pool, NULL is a default one +roctracer_status_t roctracer_enable_op_activity( activity_domain_t domain, // tracing domain - roctracer_pool_t* pool = NULL); // memory pool, NULL is a default one -roctracer_status_t roctracer_enable_activity( - roctracer_pool_t* pool = NULL); // memory pool, NULL is a default one + uint32_t op) // activity op ID +{ + return roctracer_enable_op_activity_expl(domain, op, NULL); +} +roctracer_status_t roctracer_enable_domain_activity_expl( + activity_domain_t domain, // tracing domain + roctracer_pool_t* pool); // memory pool, NULL is a default one +roctracer_status_t roctracer_enable_domain_activity( + activity_domain_t domain) // tracing domain +{ + return roctracer_enable_domain_activity_expl(domain, NULL); +} +roctracer_status_t roctracer_enable_activity_expl( + roctracer_pool_t* pool); // memory pool, NULL is a default one +roctracer_status_t roctracer_enable_activity() +{ + return roctracer_enable_activity_expl(NULL); +} // Disable activity records logging roctracer_status_t roctracer_disable_op_activity( @@ -207,8 +238,12 @@ roctracer_status_t roctracer_disable_domain_activity( roctracer_status_t roctracer_disable_activity(); // Flush available activity records -roctracer_status_t roctracer_flush_activity( - roctracer_pool_t* pool = NULL); // memory pool, NULL is a default one +roctracer_status_t roctracer_flush_activity_expl( + roctracer_pool_t* pool); // memory pool, NULL is a default one +roctracer_status_t roctracer_flush_activity() +{ + return roctracer_flush_activity_expl(NULL); +} // Load/Unload methods // Set properties @@ -216,7 +251,7 @@ roctracer_status_t roctracer_set_properties( roctracer_domain_t domain, // tracing domain void* propertes); // tracing properties -struct HsaApiTable; +typedef struct HsaApiTable HsaApiTable; bool roctracer_load( HsaApiTable* table, uint64_t runtime_version, diff --git a/inc/roctracer_ext.h b/inc/roctracer_ext.h index c2f5c54542..2427336c7b 100644 --- a/inc/roctracer_ext.h +++ b/inc/roctracer_ext.h @@ -63,8 +63,8 @@ roctracer_status_t roctracer_activity_push_external_correlation_id(activity_corr // Notifies that the calling thread is leaving an external API region. // Pop an external correlation id for the calling thread. -// 'lastId' returns the last external correlation -roctracer_status_t roctracer_activity_pop_external_correlation_id(activity_correlation_id_t* last_id = NULL); +// 'lastId' returns the last external correlation if not NULL +roctracer_status_t roctracer_activity_pop_external_correlation_id(activity_correlation_id_t* last_id); #ifdef __cplusplus } // extern "C" block diff --git a/inc/roctracer_hcc.h b/inc/roctracer_hcc.h index 252b984d2a..0781460145 100644 --- a/inc/roctracer_hcc.h +++ b/inc/roctracer_hcc.h @@ -23,26 +23,22 @@ THE SOFTWARE. #ifndef INC_ROCTRACER_HCC_H_ #define INC_ROCTRACER_HCC_H_ -#if HIP_VDI -#define HIP_OP_ID_NUMBER 3 -#define HIP_OP_ID_COPY 1 +enum { + HIP_OP_ID_DISPATCH = 0, + HIP_OP_ID_COPY = 1, + HIP_OP_ID_BARRIER = 2, + HIP_OP_ID_NUMBER = 3 +}; + +#ifdef __cplusplus extern "C" { +#endif typedef void (hipInitAsyncActivityCallback_t)(void* id_callback, void* op_callback, void* arg); typedef bool (hipEnableAsyncActivityCallback_t)(unsigned op, bool enable); typedef const char* (hipGetOpName_t)(unsigned op); +#ifdef __cplusplus } -#else // !HIP_VDI -#if LOCAL_BUILD -#include -#else -#include #endif -#define HIP_OP_ID_NUMBER hc::HSA_OP_ID_NUMBER -#define HIP_OP_ID_COPY hc::HSA_OP_ID_COPY -typedef decltype(Kalmar::CLAMP::InitActivityCallback) hipInitAsyncActivityCallback_t; -typedef decltype(Kalmar::CLAMP::EnableActivityCallback) hipEnableAsyncActivityCallback_t; -typedef decltype(Kalmar::CLAMP::GetCmdName) hipGetOpName_t; -#endif // !HIP_VDI #include "roctracer.h" diff --git a/inc/roctracer_hip.h b/inc/roctracer_hip.h index d365dd9444..28e4868d59 100644 --- a/inc/roctracer_hip.h +++ b/inc/roctracer_hip.h @@ -33,7 +33,7 @@ extern "C" { #endif // __cplusplus // Traced calls ID enumeration -typedef hip_api_id_t roctracer_hip_api_cid_t; +typedef enum hip_api_id_t roctracer_hip_api_cid_t; #ifdef __cplusplus } // extern "C" block diff --git a/inc/roctracer_kfd.h b/inc/roctracer_kfd.h index 45113ce435..fcc1e3cd87 100644 --- a/inc/roctracer_kfd.h +++ b/inc/roctracer_kfd.h @@ -23,11 +23,11 @@ THE SOFTWARE. ///////////////////////////////////////////////////////////////////////////// #ifndef INC_ROCTRACER_KFD_H_ #define INC_ROCTRACER_KFD_H_ -#include - #include "roctracer.h" #include "hsakmt.h" +#ifdef __cplusplus #include "inc/kfd_ostream_ops.h" +#endif #include "inc/kfd_prof_str.h" #endif // INC_ROCTRACER_KFD_H_ diff --git a/inc/roctracer_roctx.h b/inc/roctracer_roctx.h index 329e974d61..accec45255 100644 --- a/inc/roctracer_roctx.h +++ b/inc/roctracer_roctx.h @@ -33,8 +33,6 @@ THE SOFTWARE. #ifndef INC_ROCTRACER_ROCTX_H_ #define INC_ROCTRACER_ROCTX_H_ -#include "cb_table.h" - // ROC-TX API ID enumeration enum roctx_api_id_t { ROCTX_API_ID_roctxMarkA = 0, @@ -45,7 +43,7 @@ enum roctx_api_id_t { }; // ROCTX callbacks data type -struct roctx_api_data_t { +typedef struct roctx_api_data_s { union { const char* message; struct { @@ -58,14 +56,15 @@ struct roctx_api_data_t { const char* message; } roctxRangePop; } args; -}; +} roctx_api_data_t; +#ifdef __cplusplus +#include "cb_table.h" namespace roctx { - // ROCTX callbacks table type typedef roctracer::CbTable cb_table_t; - } // namespace roctx +#endif #ifdef __cplusplus extern "C" { diff --git a/script/kfdap.py b/script/kfdap.py index c46bf60d78..06248d9f26 100755 --- a/script/kfdap.py +++ b/script/kfdap.py @@ -284,7 +284,6 @@ class API_DescrParser: self.content_h += '#include \n' self.content_h += '#include \"roctracer_kfd.h\"\n' self.content_h += '#include \"hsakmt.h\"\n' - self.content_h += '#include \"cb_table.h\"\n' self.content_h += '#define PUBLIC_API __attribute__((visibility(\"default\")))\n' @@ -293,6 +292,7 @@ class API_DescrParser: self.content_h += '\n' self.content_h += '#if PROF_API_IMPL\n' + self.content_h += '#include \"cb_table.h\"\n' self.content_h += 'namespace roctracer {\n' self.content_h += 'namespace kfd_support {\n' @@ -372,7 +372,7 @@ class API_DescrParser: # generate API args structure def gen_arg_struct(self, n, name, call, struct): if n == -1: - self.content_h += 'struct kfd_api_data_t {\n' + self.content_h += 'typedef struct kfd_api_data_s {\n' self.content_h += ' uint64_t correlation_id;\n' self.content_h += ' uint32_t phase;\n' if len(self.api_rettypes) != 0: @@ -394,7 +394,7 @@ class API_DescrParser: self.content_h += ' } ' + call + ';\n' else: self.content_h += ' } args;\n' - self.content_h += '};\n' + self.content_h += '} kfd_api_data_t;\n' # generate API callbacks def gen_callbacks(self, n, name, call, struct): @@ -476,6 +476,7 @@ class API_DescrParser: # generate stream operator def gen_out_stream(self, n, name, call, struct): if n == -1: + self.content_h += '#ifdef __cplusplus\n' self.content_h += 'typedef std::pair kfd_api_data_pair_t;\n' self.content_h += 'inline std::ostream& operator<< (std::ostream& out, const kfd_api_data_pair_t& data_pair) {\n' self.content_h += ' const uint32_t cid = data_pair.first;\n' @@ -509,6 +510,7 @@ class API_DescrParser: self.content_h += ' }\n' self.content_h += ' return out;\n' self.content_h += '}\n' + self.content_h += '#endif\n' self.content_cpp += 'inline std::ostream& operator<< (std::ostream& out, const HsaMemFlags& v) { out << "HsaMemFlags"; return out; }\n' # generate PUBLIC_API for all API fcts diff --git a/src/core/roctracer.cpp b/src/core/roctracer.cpp index 9199bad668..c006e6d88c 100644 --- a/src/core/roctracer.cpp +++ b/src/core/roctracer.cpp @@ -176,7 +176,7 @@ decltype(hsa_amd_memory_async_copy_rect)* hsa_amd_memory_async_copy_rect_fn; typedef decltype(roctracer_enable_op_callback)* roctracer_enable_op_callback_t; typedef decltype(roctracer_disable_op_callback)* roctracer_disable_op_callback_t; -typedef decltype(roctracer_enable_op_activity)* roctracer_enable_op_activity_t; +typedef decltype(roctracer_enable_op_activity_expl)* roctracer_enable_op_activity_t; typedef decltype(roctracer_disable_op_activity)* roctracer_disable_op_activity_t; struct cb_journal_data_t { @@ -774,7 +774,7 @@ PUBLIC_API roctracer_status_t roctracer_disable_callback() } // Return default pool and set new one if parameter pool is not NULL. -PUBLIC_API roctracer_pool_t* roctracer_default_pool(roctracer_pool_t* pool) { +PUBLIC_API roctracer_pool_t* roctracer_default_pool_expl(roctracer_pool_t* pool) { std::lock_guard lock(roctracer::memory_pool_mutex); roctracer_pool_t* p = reinterpret_cast(roctracer::memory_pool); if (pool != NULL) roctracer::memory_pool = reinterpret_cast(pool); @@ -782,7 +782,7 @@ PUBLIC_API roctracer_pool_t* roctracer_default_pool(roctracer_pool_t* pool) { } // Open memory pool -PUBLIC_API roctracer_status_t roctracer_open_pool( +PUBLIC_API roctracer_status_t roctracer_open_pool_expl( const roctracer_properties_t* properties, roctracer_pool_t** pool) { @@ -799,7 +799,7 @@ PUBLIC_API roctracer_status_t roctracer_open_pool( } // Close memory pool -PUBLIC_API roctracer_status_t roctracer_close_pool(roctracer_pool_t* pool) { +PUBLIC_API roctracer_status_t roctracer_close_pool_expl(roctracer_pool_t* pool) { API_METHOD_PREFIX std::lock_guard lock(roctracer::memory_pool_mutex); roctracer_pool_t* ptr = (pool == NULL) ? roctracer_default_pool() : pool; @@ -868,7 +868,7 @@ static void roctracer_enable_activity_impl( roctracer_enable_activity_fun((roctracer_domain_t)domain, op, pool); } -PUBLIC_API roctracer_status_t roctracer_enable_op_activity( +PUBLIC_API roctracer_status_t roctracer_enable_op_activity_expl( roctracer_domain_t domain, uint32_t op, roctracer_pool_t* pool) @@ -878,7 +878,7 @@ PUBLIC_API roctracer_status_t roctracer_enable_op_activity( API_METHOD_SUFFIX } -PUBLIC_API roctracer_status_t roctracer_enable_domain_activity( +PUBLIC_API roctracer_status_t roctracer_enable_domain_activity_expl( roctracer_domain_t domain, roctracer_pool_t* pool) { @@ -888,7 +888,7 @@ PUBLIC_API roctracer_status_t roctracer_enable_domain_activity( API_METHOD_SUFFIX } -PUBLIC_API roctracer_status_t roctracer_enable_activity( +PUBLIC_API roctracer_status_t roctracer_enable_activity_expl( roctracer_pool_t* pool) { API_METHOD_PREFIX @@ -970,7 +970,7 @@ PUBLIC_API roctracer_status_t roctracer_disable_activity() } // Flush available activity records -PUBLIC_API roctracer_status_t roctracer_flush_activity(roctracer_pool_t* pool) { +PUBLIC_API roctracer_status_t roctracer_flush_activity_expl(roctracer_pool_t* pool) { API_METHOD_PREFIX if (pool == NULL) pool = roctracer_default_pool(); roctracer::MemoryPool* memory_pool = reinterpret_cast(pool); diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 923384c444..ef0a8ea633 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -35,6 +35,8 @@ add_custom_target( mytest COMMAND sh -xc "cp ${TEST_DIR}/MatrixTranspose/MatrixTranspose ${PROJECT_BINARY_DIR}/test" COMMAND HIP_VDI=${HIP_VDI} make -C "${TEST_DIR}/MatrixTranspose_test" COMMAND sh -xc "cp ${TEST_DIR}/MatrixTranspose_test/MatrixTranspose ${PROJECT_BINARY_DIR}/test/MatrixTranspose_test" + COMMAND C_TEST=1 HIP_VDI=${HIP_VDI} make -C "${TEST_DIR}/MatrixTranspose_test" + COMMAND sh -xc "cp ${TEST_DIR}/MatrixTranspose_test/MatrixTranspose_ctest ${PROJECT_BINARY_DIR}/test/MatrixTranspose_ctest" ) ## Util sources diff --git a/test/MatrixTranspose_test/Makefile b/test/MatrixTranspose_test/Makefile index 2a767a5626..c59c497af1 100644 --- a/test/MatrixTranspose_test/Makefile +++ b/test/MatrixTranspose_test/Makefile @@ -14,24 +14,34 @@ HIPCC=$(HIP_PATH)/bin/hipcc TARGET=hcc -SOURCES = MatrixTranspose.cpp -OBJECTS = $(SOURCES:.cpp=.o) -EXECUTABLE=./MatrixTranspose + +FLAGS =-g -I$(ROOT_PATH) -I$(ROOT_PATH)/inc -I${HSA_KMT_INC_PATH} -DLOCAL_BUILD=1 -DHIP_VDI=${HIP_VDI} -DITERATIONS=$(ITERATIONS) +ifeq ($(C_TEST), 1) + COMP=gcc + SOURCES = MatrixTranspose.c + FLAGS += -DHIP_TEST=0 -D__HIP_PLATFORM_HCC__=1 -I/opt/rocm/hcc/include + EXECUTABLE=./MatrixTranspose_ctest +else + COMP=$(HIPCC) + FLAGS += -DHIP_TEST=1 + SOURCES = MatrixTranspose.cpp + EXECUTABLE=./MatrixTranspose +endif +OBJECTS = MatrixTranspose.o .PHONY: test - all: clean $(EXECUTABLE) -CXXFLAGS =-g -I$(ROOT_PATH) -I$(ROOT_PATH)/inc -I${HSA_KMT_INC_PATH} -DLOCAL_BUILD=1 -DHIP_VDI=${HIP_VDI} -DITERATIONS=$(ITERATIONS) -CXX=$(HIPCC) +$(OBJECTS): $(SOURCES) + $(COMP) $(FLAGS) -c -o $@ $< $(EXECUTABLE): $(OBJECTS) $(HIPCC) $(OBJECTS) -o $@ $(ROC_LIBS) test: $(EXECUTABLE) - $(EXECUTABLE) + LD_PRELOAD=$(LIB_PATH)/libkfdwrapper64.so $(EXECUTABLE) clean: rm -f $(EXECUTABLE) diff --git a/test/MatrixTranspose_test/MatrixTranspose.c b/test/MatrixTranspose_test/MatrixTranspose.c new file mode 120000 index 0000000000..14d96acbc8 --- /dev/null +++ b/test/MatrixTranspose_test/MatrixTranspose.c @@ -0,0 +1 @@ +MatrixTranspose.cpp \ No newline at end of file diff --git a/test/MatrixTranspose_test/MatrixTranspose.cpp b/test/MatrixTranspose_test/MatrixTranspose.cpp index 1a7b2cb97a..11ad71709a 100644 --- a/test/MatrixTranspose_test/MatrixTranspose.cpp +++ b/test/MatrixTranspose_test/MatrixTranspose.cpp @@ -20,32 +20,39 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -#include +#include -// roctracer extension API -#include - -// hip header file -#include +#ifdef __cplusplus +#include +using namespace std; +#else +#include +#endif // roctx header file #include +// roctracer extension API +#include -// kfd header file -#include +#if HIP_TEST +// hip header file +#include +// Macro to call HIP API +#define HIP_CALL(call) do { call; } while(0) +#else +#define HIP_CALL(call) do {} while(0) +#endif #ifndef ITERATIONS # define ITERATIONS 101 #endif #define WIDTH 1024 - - #define NUM (WIDTH * WIDTH) - #define THREADS_PER_BLOCK_X 4 #define THREADS_PER_BLOCK_Y 4 #define THREADS_PER_BLOCK_Z 1 +#if HIP_TEST // Device (Kernel) function, it must be void __global__ void matrixTranspose(float* out, float* in, const int width) { int x = hipBlockDim_x * hipBlockIdx_x + hipThreadIdx_x; @@ -53,6 +60,7 @@ __global__ void matrixTranspose(float* out, float* in, const int width) { out[y * width + x] = in[x * width + y]; } +#endif // CPU implementation of matrix transpose void matrixTransposeCPUReference(float* output, float* input, const unsigned int width) { @@ -76,10 +84,12 @@ int main() { float* gpuMatrix; float* gpuTransposeMatrix; +#if HIP_TEST hipDeviceProp_t devProp; - hipGetDeviceProperties(&devProp, 0); + HIP_CALL(hipGetDeviceProperties(&devProp, 0)); - std::cout << "Device name " << devProp.name << std::endl; + printf("Device name %s\n", devProp.name); +#endif int i; int errors; @@ -99,8 +109,8 @@ int main() { } // allocate the memory on the device side - hipMalloc((void**)&gpuMatrix, NUM * sizeof(float)); - hipMalloc((void**)&gpuTransposeMatrix, NUM * sizeof(float)); + HIP_CALL(hipMalloc((void**)&gpuMatrix, NUM * sizeof(float))); + HIP_CALL(hipMalloc((void**)&gpuTransposeMatrix, NUM * sizeof(float))); // correlation reagion32 roctracer_activity_push_external_correlation_id(31); @@ -108,7 +118,7 @@ int main() { roctracer_activity_push_external_correlation_id(32); // Memory transfer from host to device - hipMemcpy(gpuMatrix, Matrix, NUM * sizeof(float), hipMemcpyHostToDevice); + HIP_CALL(hipMemcpy(gpuMatrix, Matrix, NUM * sizeof(float), hipMemcpyHostToDevice)); // correlation reagion33 roctracer_activity_push_external_correlation_id(33); @@ -117,9 +127,9 @@ int main() { roctxRangePush("hipLaunchKernel"); // Lauching kernel from host - hipLaunchKernelGGL(matrixTranspose, dim3(WIDTH / THREADS_PER_BLOCK_X, WIDTH / THREADS_PER_BLOCK_Y), - dim3(THREADS_PER_BLOCK_X, THREADS_PER_BLOCK_Y), 0, 0, gpuTransposeMatrix, - gpuMatrix, WIDTH); + HIP_CALL(hipLaunchKernelGGL(matrixTranspose, dim3(WIDTH / THREADS_PER_BLOCK_X, WIDTH / THREADS_PER_BLOCK_Y), + dim3(THREADS_PER_BLOCK_X, THREADS_PER_BLOCK_Y), 0, 0, gpuTransposeMatrix, + gpuMatrix, WIDTH)); roctxMark("after hipLaunchKernel"); @@ -129,39 +139,40 @@ int main() { // Memory transfer from device to host roctxRangePush("hipMemcpy"); - hipMemcpy(TransposeMatrix, gpuTransposeMatrix, NUM * sizeof(float), hipMemcpyDeviceToHost); + HIP_CALL(hipMemcpy(TransposeMatrix, gpuTransposeMatrix, NUM * sizeof(float), hipMemcpyDeviceToHost)); roctxRangePop(); // for "hipMemcpy" roctxRangePop(); // for "hipLaunchKernel" // correlation reagion end - roctracer_activity_pop_external_correlation_id(); + roctracer_activity_pop_external_correlation_id(NULL); // CPU MatrixTranspose computation - matrixTransposeCPUReference(cpuTransposeMatrix, Matrix, WIDTH); + HIP_CALL(matrixTransposeCPUReference(cpuTransposeMatrix, Matrix, WIDTH)); // verify the results errors = 0; double eps = 1.0E-6; for (i = 0; i < NUM; i++) { - if (std::abs(TransposeMatrix[i] - cpuTransposeMatrix[i]) > eps) { + if (abs(TransposeMatrix[i] - cpuTransposeMatrix[i]) > eps) { errors++; } } - if (errors != 0) { + if ((HIP_TEST != 0) && (errors != 0)) { printf("FAILED: %d errors\n", errors); } else { + errors = 0; printf("PASSED!\n"); } // free the resources on device side - hipFree(gpuMatrix); - hipFree(gpuTransposeMatrix); + HIP_CALL(hipFree(gpuMatrix)); + HIP_CALL(hipFree(gpuTransposeMatrix)); // correlation reagion end - roctracer_activity_pop_external_correlation_id(); + roctracer_activity_pop_external_correlation_id(NULL); // correlation reagion end - roctracer_activity_pop_external_correlation_id(); + roctracer_activity_pop_external_correlation_id(NULL); // free the resources on host side free(Matrix); @@ -180,6 +191,7 @@ int main() { #if 1 #include #include +#include #include // Macro to check ROC-tracer calls status @@ -187,7 +199,7 @@ int main() { do { \ int err = call; \ if (err != 0) { \ - std::cerr << roctracer_error_string() << std::endl << std::flush; \ + fprintf(stderr, "%s\n", roctracer_error_string()); \ abort(); \ } \ } while (0) @@ -202,12 +214,12 @@ void api_callback( (void)arg; if (domain == ACTIVITY_DOMAIN_ROCTX) { - const roctx_api_data_t* data = reinterpret_cast(callback_data); + const roctx_api_data_t* data = (const roctx_api_data_t*)(callback_data); fprintf(stdout, "\n", data->args.message); return; } if (domain == ACTIVITY_DOMAIN_KFD_API) { - const kfd_api_data_t* data = reinterpret_cast(callback_data); + const kfd_api_data_t* data = (const kfd_api_data_t*)(callback_data); fprintf(stdout, "<%s id(%u)\tcorrelation_id(%lu) %s> \n", roctracer_op_string(ACTIVITY_DOMAIN_KFD_API, cid, 0), cid, @@ -215,7 +227,7 @@ void api_callback( (data->phase == ACTIVITY_API_PHASE_ENTER) ? "on-enter" : "on-exit"); return; } - const hip_api_data_t* data = reinterpret_cast(callback_data); + const hip_api_data_t* data = (const hip_api_data_t*)(callback_data); fprintf(stdout, "<%s id(%u)\tcorrelation_id(%lu) %s> ", roctracer_op_string(ACTIVITY_DOMAIN_HIP_API, cid, 0), cid, @@ -263,8 +275,8 @@ void api_callback( // Activity tracing callback // hipMalloc id(3) correlation_id(1): begin_ns(1525888652762640464) end_ns(1525888652762877067) void activity_callback(const char* begin, const char* end, void* arg) { - const roctracer_record_t* record = reinterpret_cast(begin); - const roctracer_record_t* end_record = reinterpret_cast(end); + const roctracer_record_t* record = (const roctracer_record_t*)(begin); + const roctracer_record_t* end_record = (const roctracer_record_t*)(end); fprintf(stdout, "\tActivity records:\n"); fflush(stdout); while (record < end_record) { const char * name = roctracer_op_string(record->domain, record->op, record->kind); @@ -274,7 +286,7 @@ void activity_callback(const char* begin, const char* end, void* arg) { record->begin_ns, record->end_ns ); - if (record->domain == ACTIVITY_DOMAIN_HIP_API or record->domain == ACTIVITY_DOMAIN_KFD_API) { + if ((record->domain == ACTIVITY_DOMAIN_HIP_API) || (record->domain == ACTIVITY_DOMAIN_KFD_API)) { fprintf(stdout, " process_id(%u) thread_id(%u)", record->process_id, record->thread_id @@ -301,11 +313,12 @@ void activity_callback(const char* begin, const char* end, void* arg) { // Init tracing routine void init_tracing() { - std::cout << "# INIT #############################" << std::endl << std::flush; + printf("# INIT #############################\n"); // roctracer properties roctracer_set_properties(ACTIVITY_DOMAIN_HIP_API, NULL); // Allocating tracing pool - roctracer_properties_t properties{}; + roctracer_properties_t properties; + memset(&properties, 0, sizeof(roctracer_properties_t)); properties.buffer_size = 0x1000; properties.buffer_callback_fun = activity_callback; ROCTRACER_CALL(roctracer_open_pool(&properties)); @@ -323,7 +336,7 @@ void init_tracing() { // Start tracing routine void start_tracing() { - std::cout << "# START (" << iterations << ") #############################" << std::endl << std::flush; + printf("# START (%d) #############################\n", iterations); // Start if ((iterations & 1) == 1) roctracer_start(); else roctracer_stop(); @@ -336,7 +349,7 @@ void stop_tracing() { ROCTRACER_CALL(roctracer_disable_domain_activity(ACTIVITY_DOMAIN_HCC_OPS)); ROCTRACER_CALL(roctracer_disable_domain_activity(ACTIVITY_DOMAIN_KFD_API)); ROCTRACER_CALL(roctracer_flush_activity()); - std::cout << "# STOP #############################" << std::endl << std::flush; + printf("# STOP #############################\n"); } #else void init_tracing() {} diff --git a/test/run.sh b/test/run.sh index ccf646aed6..d634357516 100755 --- a/test/run.sh +++ b/test/run.sh @@ -65,6 +65,7 @@ eval_test() { # Standalone test # rocTrecer is used explicitely by test +eval_test "standalone C test" "LD_PRELOAD=libkfdwrapper64.so ./test/MatrixTranspose_ctest" eval_test "standalone HIP test" "LD_PRELOAD=libkfdwrapper64.so ./test/MatrixTranspose_test" # Tool test diff --git a/test/tool/tracer_tool.cpp b/test/tool/tracer_tool.cpp index 549debe97a..78751a7463 100644 --- a/test/tool/tracer_tool.cpp +++ b/test/tool/tracer_tool.cpp @@ -663,7 +663,7 @@ extern "C" PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, for (unsigned i = 0; i < hsa_api_vec.size(); ++i) { uint32_t cid = HSA_API_ID_NUMBER; const char* api = hsa_api_vec[i].c_str(); - ROCTRACER_CALL(roctracer_op_code(ACTIVITY_DOMAIN_HSA_API, api, &cid)); + ROCTRACER_CALL(roctracer_op_code(ACTIVITY_DOMAIN_HSA_API, api, &cid, NULL)); ROCTRACER_CALL(roctracer_enable_op_callback(ACTIVITY_DOMAIN_HSA_API, cid, hsa_api_callback, NULL)); printf(" %s", api); } @@ -753,7 +753,7 @@ extern "C" PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, for (unsigned i = 0; i < kfd_api_vec.size(); ++i) { uint32_t cid = KFD_API_ID_NUMBER; const char* api = kfd_api_vec[i].c_str(); - ROCTRACER_CALL(roctracer_op_code(ACTIVITY_DOMAIN_KFD_API, api, &cid)); + ROCTRACER_CALL(roctracer_op_code(ACTIVITY_DOMAIN_KFD_API, api, &cid, NULL)); ROCTRACER_CALL(roctracer_enable_op_callback(ACTIVITY_DOMAIN_KFD_API, cid, kfd_api_callback, NULL)); printf(" %s", api); } From 8280f473271ed0c0e2de7f996a841ed5584bd49f Mon Sep 17 00:00:00 2001 From: Evgeny Date: Sun, 29 Dec 2019 04:09:10 -0600 Subject: [PATCH 258/691] adding multi-GPU test --- test/CMakeLists.txt | 4 +- test/MatrixTranspose_test/Makefile | 14 +- test/MatrixTranspose_test/MatrixTranspose.cpp | 26 +- test/MatrixTranspose_test_mgpu/Makefile | 40 --- .../MatrixTranspose.cpp | 313 ------------------ test/run.sh | 1 + 6 files changed, 30 insertions(+), 368 deletions(-) delete mode 100644 test/MatrixTranspose_test_mgpu/Makefile delete mode 100644 test/MatrixTranspose_test_mgpu/MatrixTranspose.cpp diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index ef0a8ea633..05593efedd 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -35,8 +35,10 @@ add_custom_target( mytest COMMAND sh -xc "cp ${TEST_DIR}/MatrixTranspose/MatrixTranspose ${PROJECT_BINARY_DIR}/test" COMMAND HIP_VDI=${HIP_VDI} make -C "${TEST_DIR}/MatrixTranspose_test" COMMAND sh -xc "cp ${TEST_DIR}/MatrixTranspose_test/MatrixTranspose ${PROJECT_BINARY_DIR}/test/MatrixTranspose_test" + COMMAND MGPU_TEST=1 HIP_VDI=${HIP_VDI} make -C "${TEST_DIR}/MatrixTranspose_test" + COMMAND sh -xc "cp ${TEST_DIR}/MatrixTranspose_test/MatrixTranspose ${PROJECT_BINARY_DIR}/test/MatrixTranspose_mgpu" COMMAND C_TEST=1 HIP_VDI=${HIP_VDI} make -C "${TEST_DIR}/MatrixTranspose_test" - COMMAND sh -xc "cp ${TEST_DIR}/MatrixTranspose_test/MatrixTranspose_ctest ${PROJECT_BINARY_DIR}/test/MatrixTranspose_ctest" + COMMAND sh -xc "cp ${TEST_DIR}/MatrixTranspose_test/MatrixTranspose ${PROJECT_BINARY_DIR}/test/MatrixTranspose_ctest" ) ## Util sources diff --git a/test/MatrixTranspose_test/Makefile b/test/MatrixTranspose_test/Makefile index c59c497af1..dc5c42aa65 100644 --- a/test/MatrixTranspose_test/Makefile +++ b/test/MatrixTranspose_test/Makefile @@ -11,24 +11,24 @@ ifeq (,$(HIP_PATH)) endif HIPCC=$(HIP_PATH)/bin/hipcc - TARGET=hcc - - +EXECUTABLE=./MatrixTranspose +OBJECTS = MatrixTranspose.o FLAGS =-g -I$(ROOT_PATH) -I$(ROOT_PATH)/inc -I${HSA_KMT_INC_PATH} -DLOCAL_BUILD=1 -DHIP_VDI=${HIP_VDI} -DITERATIONS=$(ITERATIONS) + ifeq ($(C_TEST), 1) COMP=gcc SOURCES = MatrixTranspose.c FLAGS += -DHIP_TEST=0 -D__HIP_PLATFORM_HCC__=1 -I/opt/rocm/hcc/include - EXECUTABLE=./MatrixTranspose_ctest else COMP=$(HIPCC) - FLAGS += -DHIP_TEST=1 SOURCES = MatrixTranspose.cpp - EXECUTABLE=./MatrixTranspose + FLAGS += -DHIP_TEST=1 +endif +ifeq ($(MGPU_TEST), 1) + FLAGS += -DMGPU_TEST=1 endif -OBJECTS = MatrixTranspose.o .PHONY: test diff --git a/test/MatrixTranspose_test/MatrixTranspose.cpp b/test/MatrixTranspose_test/MatrixTranspose.cpp index 11ad71709a..c1189e9387 100644 --- a/test/MatrixTranspose_test/MatrixTranspose.cpp +++ b/test/MatrixTranspose_test/MatrixTranspose.cpp @@ -84,21 +84,33 @@ int main() { float* gpuMatrix; float* gpuTransposeMatrix; -#if HIP_TEST - hipDeviceProp_t devProp; - HIP_CALL(hipGetDeviceProperties(&devProp, 0)); - - printf("Device name %s\n", devProp.name); -#endif - int i; int errors; init_tracing(); +#if HIP_TEST + int gpuCount = 1; +#if MGPU_TEST + hipGetDeviceCount(&gpuCount); + printf("Number of GPUs: %d\n", gpuCount); +#endif + iterations *= gpuCount; +#endif + while (iterations-- > 0) { start_tracing(); +#if HIP_TEST + // set GPU + const int devIndex = iterations % gpuCount; + hipSetDevice(devIndex); + + hipDeviceProp_t devProp; + HIP_CALL(hipGetDeviceProperties(&devProp, 0)); + printf("Device %d name: %s\n", devIndex, devProp.name); +#endif + Matrix = (float*)malloc(NUM * sizeof(float)); TransposeMatrix = (float*)malloc(NUM * sizeof(float)); cpuTransposeMatrix = (float*)malloc(NUM * sizeof(float)); diff --git a/test/MatrixTranspose_test_mgpu/Makefile b/test/MatrixTranspose_test_mgpu/Makefile deleted file mode 100644 index da9971b371..0000000000 --- a/test/MatrixTranspose_test_mgpu/Makefile +++ /dev/null @@ -1,40 +0,0 @@ -ROOT_PATH = ../.. -LIB_PATH = $(ROOT_PATH)/build -ROC_LIBS = -L$(LIB_PATH) -lroctracer64 -export LD_LIBRARY_PATH=$(LIB_PATH) -HIP_VDI ?= 0 -ITERATIONS ?= 1 - -HIP_PATH?= $(wildcard /opt/rocm/hip) -ifeq (,$(HIP_PATH)) - HIP_PATH=../../.. -endif - -HIPCC=$(HIP_PATH)/bin/hipcc - -TARGET=hcc - -SOURCES = MatrixTranspose.cpp -OBJECTS = $(SOURCES:.cpp=.o) - -EXECUTABLE=./MatrixTranspose - -.PHONY: test - - -all: clean $(EXECUTABLE) - -CXXFLAGS =-g -I$(ROOT_PATH) -I$(ROOT_PATH)/inc -DLOCAL_BUILD=1 -DHIP_VDI=${HIP_VDI} -DITERATIONS=$(ITERATIONS) -CXX=$(HIPCC) - -$(EXECUTABLE): $(OBJECTS) - $(HIPCC) $(OBJECTS) -o $@ $(ROC_LIBS) - -test: $(EXECUTABLE) - $(EXECUTABLE) - -clean: - rm -f $(EXECUTABLE) - rm -f $(OBJECTS) - rm -f $(HIP_PATH)/src/*.o - diff --git a/test/MatrixTranspose_test_mgpu/MatrixTranspose.cpp b/test/MatrixTranspose_test_mgpu/MatrixTranspose.cpp deleted file mode 100644 index ffd4c88109..0000000000 --- a/test/MatrixTranspose_test_mgpu/MatrixTranspose.cpp +++ /dev/null @@ -1,313 +0,0 @@ -/* -Copyright (c) 2015-present Advanced Micro Devices, Inc. All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. -*/ - -#include - -// roctracer extension API -#include - -// hip header file -#include - -#ifndef ITERATIONS -# define ITERATIONS 1 -#endif -#define WIDTH 1024 - - -#define NUM (WIDTH * WIDTH) - -#define THREADS_PER_BLOCK_X 4 -#define THREADS_PER_BLOCK_Y 4 -#define THREADS_PER_BLOCK_Z 1 - -// Device (Kernel) function, it must be void -__global__ void matrixTranspose(float* out, float* in, const int width) { - int x = hipBlockDim_x * hipBlockIdx_x + hipThreadIdx_x; - int y = hipBlockDim_y * hipBlockIdx_y + hipThreadIdx_y; - - out[y * width + x] = in[x * width + y]; -} - -// CPU implementation of matrix transpose -void matrixTransposeCPUReference(float* output, float* input, const unsigned int width) { - for (unsigned int j = 0; j < width; j++) { - for (unsigned int i = 0; i < width; i++) { - output[i * width + j] = input[j * width + i]; - } - } -} - -int iterations = ITERATIONS; -void init_tracing(); -void start_tracing(); -void stop_tracing(); - -int main() { - float* Matrix; - float* TransposeMatrix; - float* cpuTransposeMatrix; - - float* gpuMatrix; - float* gpuTransposeMatrix; - - int i; - int errors; - - int gpuCount = 0; - hipGetDeviceCount(&gpuCount); - std::cout << "Number of GPUs: " << gpuCount << std::endl; - - init_tracing(); - - while (iterations-- > 0) { - start_tracing(); - - Matrix = (float*)malloc(NUM * sizeof(float)); - TransposeMatrix = (float*)malloc(NUM * sizeof(float)); - cpuTransposeMatrix = (float*)malloc(NUM * sizeof(float)); - - // initialize the input data - for (i = 0; i < NUM; i++) { - Matrix[i] = (float)i * 10.0f; - } - - for (i = 0; i < gpuCount; ++i) { - // switch GPU. - hipSetDevice(i); - - hipDeviceProp_t devProp; - hipGetDeviceProperties(&devProp, 0); - std::cout << "Device name " << devProp.name << std::endl; - - // allocate the memory on the device side - hipMalloc((void**)&gpuMatrix, NUM * sizeof(float)); - hipMalloc((void**)&gpuTransposeMatrix, NUM * sizeof(float)); - - // Memory transfer from host to device - hipMemcpy(gpuMatrix, Matrix, NUM * sizeof(float), hipMemcpyHostToDevice); - - // Lauching kernel from host - hipLaunchKernelGGL(matrixTranspose, dim3(WIDTH / THREADS_PER_BLOCK_X, WIDTH / THREADS_PER_BLOCK_Y), - dim3(THREADS_PER_BLOCK_X, THREADS_PER_BLOCK_Y), 0, 0, gpuTransposeMatrix, - gpuMatrix, WIDTH); - - hipMemcpy(TransposeMatrix, gpuTransposeMatrix, NUM * sizeof(float), hipMemcpyDeviceToHost); - - hipStreamSynchronize(0); - - // free the resources on device side - hipFree(gpuMatrix); - hipFree(gpuTransposeMatrix); - } - - // CPU MatrixTranspose computation - matrixTransposeCPUReference(cpuTransposeMatrix, Matrix, WIDTH); - - // verify the results - errors = 0; - double eps = 1.0E-6; - for (i = 0; i < NUM; i++) { - if (std::abs(TransposeMatrix[i] - cpuTransposeMatrix[i]) > eps) { - errors++; - } - } - if (errors != 0) { - printf("FAILED: %d errors\n", errors); - } else { - printf("PASSED!\n"); - } - - // free the resources on host side - free(Matrix); - free(TransposeMatrix); - free(cpuTransposeMatrix); - - stop_tracing(); - } - - return errors; -} - -//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// HIP Callbacks/Activity tracing -// -#if 1 -#include -#include - -// Macro to check ROC-tracer calls status -#define ROCTRACER_CALL(call) \ - do { \ - int err = call; \ - if (err != 0) { \ - std::cerr << roctracer_error_string() << std::endl << std::flush; \ - abort(); \ - } \ - } while (0) - -// Runtime API callback function -void api_callback( - uint32_t domain, - uint32_t cid, - const void* callback_data, - void* arg) -{ - std::cout << "### api_callback IN\n"; - (void)arg; - - //if (domain == ACTIVITY_DOMAIN_ROCTX) { - // const roctx_api_data_t* data = reinterpret_cast(callback_data); - // fprintf(stdout, "ROCTX: \"%s\"\n", data->args.message); - // return; - //} - - if (domain == ACTIVITY_DOMAIN_HCC_OPS) { - fprintf(stdout, "HCC OPS\n"); - return; - } - - if (domain == ACTIVITY_DOMAIN_HSA_API) { - fprintf(stdout, "HSA API\n"); - return; - } - - const hip_api_data_t* data = reinterpret_cast(callback_data); - fprintf(stdout, "<%s id(%u)\tcorrelation_id(%lu) %s> ", - roctracer_op_string(ACTIVITY_DOMAIN_HIP_API, cid, 0), - cid, - data->correlation_id, - (data->phase == ACTIVITY_API_PHASE_ENTER) ? "on-enter" : "on-exit"); - if (data->phase == ACTIVITY_API_PHASE_ENTER) { - switch (cid) { - case HIP_API_ID_hipMemcpy: - fprintf(stdout, "dst(%p) src(%p) size(0x%x) kind(%u)", - data->args.hipMemcpy.dst, - data->args.hipMemcpy.src, - (uint32_t)(data->args.hipMemcpy.sizeBytes), - (uint32_t)(data->args.hipMemcpy.kind)); - break; - case HIP_API_ID_hipMalloc: - fprintf(stdout, "ptr(%p) size(0x%x)", - data->args.hipMalloc.ptr, - (uint32_t)(data->args.hipMalloc.size)); - break; - case HIP_API_ID_hipFree: - fprintf(stdout, "ptr(%p)", - data->args.hipFree.ptr); - break; - case HIP_API_ID_hipModuleLaunchKernel: - fprintf(stdout, "kernel(\"%s\") stream(%p)", - hipKernelNameRef(data->args.hipModuleLaunchKernel.f), - data->args.hipModuleLaunchKernel.stream); - break; - default: - break; - } - } else { - switch (cid) { - case HIP_API_ID_hipMalloc: - fprintf(stdout, "*ptr(0x%p)", - *(data->args.hipMalloc.ptr)); - break; - default: - break; - } - } - fprintf(stdout, "\n"); fflush(stdout); -} - -// Activity tracing callback -// hipMalloc id(3) correlation_id(1): begin_ns(1525888652762640464) end_ns(1525888652762877067) -void activity_callback(const char* begin, const char* end, void* arg) { - std::cout << "### activity_callback IN\n"; - const roctracer_record_t* record = reinterpret_cast(begin); - const roctracer_record_t* end_record = reinterpret_cast(end); - fprintf(stdout, "\tActivity records:\n"); fflush(stdout); - while (record < end_record) { - const char * name = roctracer_op_string(record->domain, record->op, record->kind); - fprintf(stdout, "\tdomain(%u)", record->domain); - fprintf(stdout, "\t%s\tcorrelation_id(%lu) time_ns(%lu:%lu)", - name, - record->correlation_id, - record->begin_ns, - record->end_ns - ); - if (record->domain == ACTIVITY_DOMAIN_HIP_API) { - fprintf(stdout, " process_id(%u) thread_id(%u)", - record->process_id, - record->thread_id - ); - } else if (record->domain == ACTIVITY_DOMAIN_HCC_OPS) { - fprintf(stdout, " device_id(%d) queue_id(%lu)", - record->device_id, - record->queue_id - ); - if (record->op == HIP_OP_ID_COPY) fprintf(stdout, " bytes(0x%zx)", record->bytes); - } else if (record->domain == ACTIVITY_DOMAIN_EXT_API) { - fprintf(stdout, " external_id(%lu)", - record->external_id - ); - } else { - fprintf(stderr, "Bad domain %d\n", record->domain); - //abort(); - } - fprintf(stdout, "\n"); - fflush(stdout); - ROCTRACER_CALL(roctracer_next_record(record, &record)); - } -} - -// Init tracing routine -void init_tracing() { - std::cout << "# INIT #############################" << std::endl << std::flush; - // Allocating tracing pool - roctracer_properties_t properties{}; - properties.buffer_size = 0x1000; - properties.buffer_callback_fun = activity_callback; - properties.buffer_callback_arg = &properties; - ROCTRACER_CALL(roctracer_open_pool(&properties)); - // Enable API callbacks - ROCTRACER_CALL(roctracer_enable_callback(api_callback, NULL)); - // Enable activity tracing - ROCTRACER_CALL(roctracer_enable_activity()); -} - -// Start tracing routine -void start_tracing() { - std::cout << "# START (" << iterations << ") #############################" << std::endl << std::flush; -} - -// Stop tracing routine -void stop_tracing() { - ROCTRACER_CALL(roctracer_disable_callback()); - - ROCTRACER_CALL(roctracer_disable_activity()); - ROCTRACER_CALL(roctracer_flush_activity()); - std::cout << "# STOP #############################" << std::endl << std::flush; -} -#else -void init_tracing() {} -void start_tracing() {} -void stop_tracing() {} -#endif -//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// diff --git a/test/run.sh b/test/run.sh index d634357516..7b7d5109b3 100755 --- a/test/run.sh +++ b/test/run.sh @@ -67,6 +67,7 @@ eval_test() { # rocTrecer is used explicitely by test eval_test "standalone C test" "LD_PRELOAD=libkfdwrapper64.so ./test/MatrixTranspose_ctest" eval_test "standalone HIP test" "LD_PRELOAD=libkfdwrapper64.so ./test/MatrixTranspose_test" +eval_test "standalone HIP MGPU test" "LD_PRELOAD=libkfdwrapper64.so ./test/MatrixTranspose_mgpu" # Tool test # rocTracer/tool is loaded by HSA runtime From b82a21056edee2eb69b2bcb2845d9989c5f7479c Mon Sep 17 00:00:00 2001 From: Evgeny Date: Mon, 30 Dec 2019 20:09:41 -0600 Subject: [PATCH 259/691] normalizing C API: HSA domain --- cmake_modules/env.cmake | 1 + inc/roctracer_hsa.h | 12 ++++++++---- script/hsaap.py | 2 ++ test/CMakeLists.txt | 7 ++++--- test/MatrixTranspose_test/Makefile | 4 ++-- test/MatrixTranspose_test/MatrixTranspose.cpp | 1 + 6 files changed, 18 insertions(+), 9 deletions(-) diff --git a/cmake_modules/env.cmake b/cmake_modules/env.cmake index da09ad4f5c..5d3cde0064 100644 --- a/cmake_modules/env.cmake +++ b/cmake_modules/env.cmake @@ -118,6 +118,7 @@ endif () find_library ( HSA_KMT_LIB "libhsakmt.so" ) get_filename_component ( HSA_KMT_LIB_PATH ${HSA_KMT_LIB} DIRECTORY ) set ( HSA_KMT_INC_PATH "${HSA_KMT_LIB_PATH}/../include" ) +set ( ROCM_INC_PATH ${HSA_KMT_INC_PATH} ) ## Basic Tool Chain Information message ( "----------------NBIT: ${NBIT}" ) diff --git a/inc/roctracer_hsa.h b/inc/roctracer_hsa.h index c01253e79f..8531ab51dc 100644 --- a/inc/roctracer_hsa.h +++ b/inc/roctracer_hsa.h @@ -22,16 +22,16 @@ THE SOFTWARE. #ifndef INC_ROCTRACER_HSA_H_ #define INC_ROCTRACER_HSA_H_ -#include -#include #include -#include #include -#include "cb_table.h" #include "roctracer.h" +#ifdef __cplusplus +#include +#include + namespace roctracer { namespace hsa_support { enum { @@ -129,6 +129,10 @@ struct output_streamer { inline static std::ostream& put(std::ostream& out, hsa_queue_t** v) { out << ""; return out; } }; };}; +#else // !__cplusplus +typedef void* hsa_amd_queue_intercept_handler; +typedef void* hsa_amd_runtime_queue_notifier; +#endif //! __cplusplus #include "inc/hsa_prof_str.h" #endif // INC_ROCTRACER_HSA_H_ diff --git a/script/hsaap.py b/script/hsaap.py index e9a7b0463f..1e413a5295 100755 --- a/script/hsaap.py +++ b/script/hsaap.py @@ -440,6 +440,7 @@ class API_DescrParser: # generate stream operator def gen_out_stream(self, n, name, call, struct): if n == -1: + self.content += '#ifdef __cplusplus\n' self.content += 'typedef std::pair hsa_api_data_pair_t;\n' self.content += 'inline std::ostream& operator<< (std::ostream& out, const hsa_api_data_pair_t& data_pair) {\n' self.content += ' const uint32_t cid = data_pair.first;\n' @@ -483,6 +484,7 @@ class API_DescrParser: self.content += ' }\n' self.content += ' return out;\n' self.content += '}\n' + self.content += '#endif\n' ############################################################# # main diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 05593efedd..38750ba5a9 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -30,14 +30,15 @@ set ( HSA_TEST_DIR "${TEST_DIR}/hsa/test" ) set ( RUN_SCRIPT "${TEST_DIR}/run.sh" ) ## build HIP tests +set ( TEST_CFLAGS HIP_VDI=${HIP_VDI} ROCM_INC_PATH=${ROCM_INC_PATH} ) add_custom_target( mytest COMMAND make -C "${TEST_DIR}/MatrixTranspose" COMMAND sh -xc "cp ${TEST_DIR}/MatrixTranspose/MatrixTranspose ${PROJECT_BINARY_DIR}/test" - COMMAND HIP_VDI=${HIP_VDI} make -C "${TEST_DIR}/MatrixTranspose_test" + COMMAND ${TEST_CFLAGS} make -C "${TEST_DIR}/MatrixTranspose_test" COMMAND sh -xc "cp ${TEST_DIR}/MatrixTranspose_test/MatrixTranspose ${PROJECT_BINARY_DIR}/test/MatrixTranspose_test" - COMMAND MGPU_TEST=1 HIP_VDI=${HIP_VDI} make -C "${TEST_DIR}/MatrixTranspose_test" + COMMAND MGPU_TEST=1 ${TEST_CFLAGS} make -C "${TEST_DIR}/MatrixTranspose_test" COMMAND sh -xc "cp ${TEST_DIR}/MatrixTranspose_test/MatrixTranspose ${PROJECT_BINARY_DIR}/test/MatrixTranspose_mgpu" - COMMAND C_TEST=1 HIP_VDI=${HIP_VDI} make -C "${TEST_DIR}/MatrixTranspose_test" + COMMAND C_TEST=1 ${TEST_CFLAGS} make -C "${TEST_DIR}/MatrixTranspose_test" COMMAND sh -xc "cp ${TEST_DIR}/MatrixTranspose_test/MatrixTranspose ${PROJECT_BINARY_DIR}/test/MatrixTranspose_ctest" ) diff --git a/test/MatrixTranspose_test/Makefile b/test/MatrixTranspose_test/Makefile index dc5c42aa65..04780535ee 100644 --- a/test/MatrixTranspose_test/Makefile +++ b/test/MatrixTranspose_test/Makefile @@ -1,7 +1,7 @@ ROOT_PATH = ../.. LIB_PATH = $(ROOT_PATH)/build ROC_LIBS = -Wl,--rpath,${LIB_PATH} $(LIB_PATH)/libroctracer64.so $(LIB_PATH)/libroctx64.so -HSA_KMT_INC_PATH ?= /opt/rocm/include +ROCM_INC_PATH ?= /opt/rocm/include HIP_VDI ?= 0 ITERATIONS ?= 100 @@ -15,7 +15,7 @@ TARGET=hcc EXECUTABLE=./MatrixTranspose OBJECTS = MatrixTranspose.o -FLAGS =-g -I$(ROOT_PATH) -I$(ROOT_PATH)/inc -I${HSA_KMT_INC_PATH} -DLOCAL_BUILD=1 -DHIP_VDI=${HIP_VDI} -DITERATIONS=$(ITERATIONS) +FLAGS =-g -I$(ROOT_PATH) -I$(ROOT_PATH)/inc -I${ROCM_INC_PATH}/hsa -I${ROCM_INC_PATH} -DLOCAL_BUILD=1 -DHIP_VDI=${HIP_VDI} -DITERATIONS=$(ITERATIONS) -DAMD_INTERNAL_BUILD=1 ifeq ($(C_TEST), 1) COMP=gcc diff --git a/test/MatrixTranspose_test/MatrixTranspose.cpp b/test/MatrixTranspose_test/MatrixTranspose.cpp index c1189e9387..cc261f4312 100644 --- a/test/MatrixTranspose_test/MatrixTranspose.cpp +++ b/test/MatrixTranspose_test/MatrixTranspose.cpp @@ -203,6 +203,7 @@ int main() { #if 1 #include #include +#include #include #include From b2d124d2bebc6337f0d0b4af7f4a325ac167d97e Mon Sep 17 00:00:00 2001 From: Evgeny Date: Tue, 31 Dec 2019 07:05:32 -0600 Subject: [PATCH 260/691] adding API specification --- doc/roctracer_spec.md | 683 ++++++++++++++++++++++++++++++++++++++++ inc/ext/prof_protocol.h | 5 +- inc/roctracer.h | 8 +- 3 files changed, 690 insertions(+), 6 deletions(-) create mode 100644 doc/roctracer_spec.md diff --git a/doc/roctracer_spec.md b/doc/roctracer_spec.md new file mode 100644 index 0000000000..96847bc1e0 --- /dev/null +++ b/doc/roctracer_spec.md @@ -0,0 +1,683 @@ +# ROC Profiler Library Specification +``` +The rocTracer API is agnostic to specific runtime and may trace +the runtime API calls and asynchronous GPU activity. +``` +## 1. High level overview +``` +The goal of the implementation is to provide a runtime independent API +for tracing of runtime calls and asynchronous activity, like GPU kernel +dispatches and memory moves. The tracing includes callback API for +runtime API tracing and activity API for asynchronous activity records +logging. +Depending on particular runtime intercepting mechanism, the rocTracer +library can be dynamically linked, dynamically loaded by the runtime as +a plugin or some API wrapper can be loaded using LD_PRELOAD. +The library has a C API. + +The rocTracer library is an API that intercepts runtime API calls and +traces asynchronous activity. The activity tracing results are recorded +in a ring buffer. +``` +## 2. General API +### 2.1. Description +``` +The library supports method for getting the error number and error string +of the last failed library API call. It allows to check the conformance +of used library API header and the library binary, the version macros and +API methods can be used. +Returning the error and error string methods: +• roctracer_status_t – error code enumeration +• roctracer_error_string – method for returning the error string +Library version: +• ROCTRACER_VERSION_MAJOR – API major version macro +• ROCTRACER_VERSION_MINOR – API minor version macro +• roctracer_version_major – library major version +• roctracer_version_minor – library minor version +``` +### 2.2. Error codes and error string methods +``` +Error code enumeration +typedef enum { + ROCTRACER_STATUS_SUCCESS = 0, + ROCTRACER_STATUS_ERROR = 1, + ROCTRACER_STATUS_UNINIT = 2, + ROCTRACER_STATUS_BREAK = 3, + ROCTRACER_STATUS_BAD_DOMAIN = 4, + ROCTRACER_STATUS_BAD_PARAMETER = 5, + ROCTRACER_STATUS_HIP_API_ERR = 6, + ROCTRACER_STATUS_HCC_OPS_ERR = 7, + ROCTRACER_STATUS_ROCTX_ERR = 8, +} roctracer_status_t; + +Return error string: +const char* roctracer_error_string(); +``` +### 2.3. Library version +``` +The library provides major and minor versions. Major version is for +incompatible API changes and minor version for bug fixes. +API version macros defined in the library API header ‘roctracer.h’: +ROCTRACER_VERSION_MAJOR +ROCTRACER_VERSION_MINOR + +Methods to check library major and minor venison: +uint32_t roctracer_major_version(); +uint32_t roctracer_minor_version(); +``` +## 3. Frontend API +### 3.1. Description +``` +The rocTracer provides support for runtime API callbacks and activity +records logging. The APIs of different runtimes at different levels +are considered as different API domains with assigned domain IDs. For +example, language level and driver level. The API callbacks provide +the API calls arguments and are called on two phases on “enter” and +on “exit”. The activity records are logged to the ring buffer and can +be associated with the respective API calls using the correlation ID. +Activity API can be used to enable collecting of the records with +timestamping data for API calls and asynchronous activity like the +kernel submits, memory copies and barriers +Tracing domains: +• roctracer_domain_t – runtime API domains, HIP, HSA, etc… +• roctracer_op_string – Return Op string by given domain and + activity Op code +• roctracer_op_code – Return Op code and kind by given string + +Callback API: +• roctracer_rtapi_callback_t – runtime API callback type +• roctracer_enable_op_callback – enable runtime API callback + by domain and Op code +• roctracer_enable_domain_callback – enable runtime API callback + by domain for all Ops +• roctracer_enable_callback – enable runtime API callback for + all domains, all Ops +• roctracer_disable_op_callback – disable runtime API callback + by domain and Op code +• roctracer_enable_op_callback – enable runtime API callback + by domain for all Ops +• roctracer_enable_op_callback – enable runtime API callback for + all domains, all Ops + +Activity API: +• roctracer_record_t – activity record +• roctracer_pool_t – records pool type +• roctracer_allocator_t – tracer allocator type +• roctracer_buffer_callback_t – pool callback type +• roctracer_open_pool[_expl] – create records pool +• roctracer_close_pool[_expl] – close records pool +• roctracer_default_pool[_expl] – get/set default pool +• roctracer_properties_t – tracer properties +• roctracer_enable_op_activity[_expl] – enable activity records + logging +• roctracer_enable_domain_activity[_expl] – enable activity records + logging +• roctracer_enable_activity[_expl] – enable activity records logging +• roctracer_disable_op_activity – disable activity records logging +• roctracer_disable_domain_activity – disable activity records + logging +• roctracer_disable_activity – disable activity records logging +• roctracer_flush_activity[_expl] – disable activity records logging +• roctracer_next_record – return next record +• roctracer_get_timestamp – return correlated GPU/CPU system + timestamp +``` +### 3.2. Tracing Domains +``` +Various tracing domains are supported. Each domain is assigned with +a domain ID. The domains include HSA, HIP, and HCC runtime levels. +Traced API domains: +typedef enum { + ACTIVITY_DOMAIN_HSA_API = 0, // HSA API domain + ACTIVITY_DOMAIN_HSA_OPS = 1, // HSA async activity domain + ACTIVITY_DOMAIN_HIP_API = 2, // HIP API domain + ACTIVITY_DOMAIN_HIP_OPS = 3, // HIP async activity domain + ACTIVITY_DOMAIN_KFD_API = 4, // KFD API domain + ACTIVITY_DOMAIN_EXT_API = 5, // External ID domain + ACTIVITY_DOMAIN_ROCTX = 6, // ROCTX domain + ACTIVITY_DOMAIN_NUMBER = 7 +} activity_domain_t; + +Return name by given domain and Op code: +const char* roctracer_op_string( // NULL returned on error and error number + // is set + uint32_t domain, // tracing domain + uint32_t op, // activity op code + uint32_t kind); // activity kind +Return Op code and kind by given string: +roctracer_status_t roctracer_op_code( + uint32_t domain, // tracing domain + const char* str, // [in] op string + uint32_t* op, // [out] op code + uint32_t* kind); // [out] op kind code if not NULL +``` +### 3.3. Callback API +``` +The tracer provides support for runtime API callbacks and activity records +logging. The API callbacks provide the API calls arguments and are called +on two phases on “enter”, on “exit”. + +API phase passed to the callbacks: +typedef enum { + ROCTRACER_API_PHASE_ENTER, + ROCTRACER_API_PHASE_EXIT, +} roctracer_api_phase_t; + +Runtime API callback type: +typedef void (*roctracer_rtapi_callback_t)( + uint32_t domain, // runtime API domain + uint32_t cid, // API call ID + const void* data, // [in] callback data with correlation id and the call + // arguments + void* arg); // [in/out] user passed data + +Enable runtime API callbacks: +roctracer_status_t roctracer_enable_op_callback( + activity_domain_t domain, // tracing domain + uint32_t op, // API call ID + activity_rtapi_callback_t callback, // callback function pointer + void* arg); // [in/out] callback arg + +roctracer_status_t roctracer_enable_domain_callback( + activity_domain_t domain, // tracing domain + activity_rtapi_callback_t callback, // callback function pointer + void* arg); // [in/out] callback arg + + +roctracer_status_t roctracer_enable_callback( + activity_rtapi_callback_t callback, // callback function pointer + void* arg); // [in/out] callback arg + +Disable runtime API callbacks: +roctracer_status_t roctracer_disable_op_callback( + activity_domain_t domain, // tracing domain + uint32_t op); // API call ID + +roctracer_status_t roctracer_disable_domain_callback( + activity_domain_t domain); // tracing domain + +roctracer_status_t roctracer_disable_callback(); +``` +### 3.4 Activity API +``` +The activity records are asynchronously logged to the pool and can be +associated with the respective API callbacks using the correlation ID. +Activity API can be used to enable collecting the records with +timestamp data for API calls and GPU activity like kernel submits, +memory copies, and barriers. + +// Correlation id +typedef uint64_t activity_correlation_id_t; + +Activity record type: + +// Activity record type +struct activity_record_t { + uint32_t domain; // activity domain id + activity_kind_t kind; // activity kind + activity_op_t op; // activity op + activity_correlation_id_t correlation_id; // activity ID + uint64_t begin_ns; // host begin timestamp + uint64_t end_ns; // host end timestamp + union { + struct { + int device_id; // device id + uint64_t queue_id; // queue id + }; + struct { + uint32_t process_id; // device id + uint32_t thread_id; // thread id + }; + struct { + activity_correlation_id_t external_id; // external correlation id + }; + }; + size_t bytes; // data size bytes +}; + +Return next record: +static inline int roctracer_next_record( + const activity_record_t* record, // [in] record ptr + const activity_record_t** next); // [out] next record ptr + +Tracer allocator type: +typedef void (*roctracer_allocator_t)( + char** ptr, // memory pointer + size_t size, // memory size + void* arg); // allocator arg + +Pool callback type: +typedef void (*roctracer_buffer_callback_t)( + const char* begin, // [in] available buffered trace records + const char* end, // [in] end of buffered trace records + void* arg); // [in/out] callback arg + +Tracer properties: +typedef struct { + uint32_t mode; // roctracer mode + size_t buffer_size; // buffer size + // power of 2 + roctracer_allocator_t alloc_fun; // memory allocator + // function pointer + void* alloc_arg; // memory allocator + // function pointer + roctracer_buffer_callback_t buffer_callback_fun; // tracer record + // callback function + void* buffer_callback_arg; // tracer record + // callback arg +} roctracer_properties_t; + +Tracer memory pool handle type: +typedef void roctracer_pool_t; + +Create tracer memory pool: +roctracer_status_t roctracer_open_pool( + const roctracer_properties_t* properties); // tracer pool properties + +roctracer_status_t roctracer_open_pool_expl( + const roctracer_properties_t* properties, // tracer pool properties + roctracer_pool_t** pool); // [out] returns tracer pool if + // not NULL, otherwise sets the + // default one if it is not set + // yet; otherwise the error is + // generated + +Close tracer memory pool: +roctracer_status_t roctracer_close_pool(); + +roctracer_status_t roctracer_close_pool_expl( + roctracer_pool_t* pool); // memory pool, NULL means default pool + +Return current default pool. Set new default pool if the argument is not NULL: +roctracer_pool_t* roctracer_default_pool(); + +roctracer_pool_t* roctracer_default_pool_expl( + roctracer_pool_t* pool); // new default pool if not NULL +``` +Enable activity records logging: +``` +roctracer_status_t roctracer_enable_op_activity( + activity_domain_t domain, // tracing domain + uint32_t op); // activity op ID + +roctracer_status_t roctracer_enable_op_activity_expl( + activity_domain_t domain, // tracing domain + uint32_t op, // activity op ID + roctracer_pool_t* pool); // memory pool, NULL means default pool + +roctracer_status_t roctracer_enable_domain_activity( + activity_domain_t domain); // tracing domain + +roctracer_status_t roctracer_enable_domain_activity_expl( + activity_domain_t domain, // tracing domain + roctracer_pool_t* pool); // memory pool, NULL means default pool + +roctracer_status_t roctracer_enable_activity(); + +roctracer_status_t roctracer_enable_activity_expl( + roctracer_pool_t* pool); // memory pool, NULL means default pool + +Disable activity records logging: +roctracer_status_t roctracer_disable_op_activity( + activity_domain_t domain, // tracing domain + uint32_t op); // activity op ID + +roctracer_status_t roctracer_disable_domain_activity( + activity_domain_t domain); // tracing domain + +roctracer_status_t roctracer_disable_activity(); + +Flush available activity records: +roctracer_status_t roctracer_flush_activity(); + +roctracer_status_t roctracer_flush_activity_expl( + roctracer_pool_t* pool); // memory pool, NULL means default pool + +Return correlated GPU/CPU system timestamp: +roctracer_status_t roctracer_get_timestamp( + uint64_t* timestamp); // [out] return timestamp +``` +## 4. rocTracer Usage Code Examples +### 4.1. HIP API and HCC ops, GPU Activity Tracing +``` +#include +#include + +// HIP API callback function +void hip_api_callback( + uint32_t domain, + uint32_t cid, + const void* callback_data, + void* arg) +{ + (void)arg; + const hip_api_data_t* data = reinterpret_cast + (callback_data); + fprintf(stdout, "<%s id(%u)\tcorrelation_id(%lu) %s> ", + roctracer_id_string(ACTIVITY_DOMAIN_HIP_API, cid), + cid, + data->correlation_id, + (data->phase == ACTIVITY_API_PHASE_ENTER) ? "on-enter" : "on-exit"); + +} + +// Activity tracing callback +void activity_callback(const char* begin, const char* end, void* arg) { + const roctracer_record_t* record = reinterpret_cast(begin); + const roctracer_record_t* end_record = reinterpret_cast(end); + fprintf(stdout, "\tActivity records:\n"); + while (record < end_record) { + const char * name = roctracer_op_string(record->domain, + record->activity_id, 0); + fprintf(stdout, "\t%s\tcorrelation_id(%lu) time_ns(%lu:%lu) + device_id(%d) stream_id(%lu)\n", + name, + record->correlation_id, + record->begin_ns, + record->end_ns, + record->device_id, + record->stream_id + ); + + ROCTRACER_CALL(roctracer_next_record(record, &record)); + } +} + +int main() { + // Allocating tracing pool + roctracer_properties_t properties{}; + properties.buffer_size = 12; + properties.buffer_callback_fun = activity_callback; + ROCTRACER_CALL(roctracer_open_pool(&properties)); + + // Enable HIP API callbacks. HIP_API_ID_ANY can be used to trace all HIP + // API calls. + ROCTRACER_CALL(roctracer_enable_op_callback(ACTIVITY_DOMAIN_HIP_API, + HIP_API_ID_hipModuleLaunchKernel, + hip_api_callback, NULL)); + ROCTRACER_CALL(roctracer_enable_op_acticity(ACTIVITY_DOMAIN_HIP_API, + HIP_API_ID_hipModuleLaunchKernel)); + // Enable HIP kernel dispatch activity tracing + ROCTRACER_CALL(roctracer_enable_op_activity(ACTIVITY_DOMAIN_HCC_OPS, + hc::HSA_OP_ID_DISPATCH)); + + + + // Disable tracing and closing the pool + ROCTRACER_CALL(roctracer_disable_callback()); + ROCTRACER_CALL(roctracer_disable_activity()); + ROCTRACER_CALL(roctracer_close_pool()); +} +``` +### 4.2. MatrixTranspose HIP sample with all APIs/activity tracing enabled +``` +This shows a MatrixTranspose HIP sample with enabled tracing of +all HIP API and all GPU asynchronous activity. +/* +Copyright (c) 2015-2016 Advanced Micro Devices, Inc. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +*/ + +#include + +// hip header file +#include + +#ifndef ITERATIONS +# define ITERATIONS 100 +#endif +#define WIDTH 1024 + + +#define NUM (WIDTH * WIDTH) + +#define THREADS_PER_BLOCK_X 4 +#define THREADS_PER_BLOCK_Y 4 +#define THREADS_PER_BLOCK_Z 1 + +// Device (Kernel) function, it must be void +// hipLaunchParm provides the execution configuration +__global__ void matrixTranspose(hipLaunchParm lp, float* out, float* in, + const int width) { + int x = hipBlockDim_x * hipBlockIdx_x + hipThreadIdx_x; + int y = hipBlockDim_y * hipBlockIdx_y + hipThreadIdx_y; + + out[y * width + x] = in[x * width + y]; +} + +// CPU implementation of matrix transpose +void matrixTransposeCPUReference(float* output, float* input, const unsigned + int width) { + for (unsigned int j = 0; j < width; j++) { + for (unsigned int i = 0; i < width; i++) { + output[i * width + j] = input[j * width + i]; + } + } +} + +int iterations = ITERATIONS; +void start_tracing(); +void stop_tracing(); + +int main() { + float* Matrix; + float* TransposeMatrix; + float* cpuTransposeMatrix; + + float* gpuMatrix; + float* gpuTransposeMatrix; + + hipDeviceProp_t devProp; + hipGetDeviceProperties(&devProp, 0); + + std::cout << "Device name " << devProp.name << std::endl; + + int i; + int errors; + + while (iterations-- > 0) { + start_tracing(); + + Matrix = (float*)malloc(NUM * sizeof(float)); + TransposeMatrix = (float*)malloc(NUM * sizeof(float)); + cpuTransposeMatrix = (float*)malloc(NUM * sizeof(float)); + + // initialize the input data + for (i = 0; i < NUM; i++) { + Matrix[i] = (float)i * 10.0f; + } + + // allocate the memory on the device side + hipMalloc((void**)&gpuMatrix, NUM * sizeof(float)); + hipMalloc((void**)&gpuTransposeMatrix, NUM * sizeof(float)); + + // Memory transfer from host to device + hipMemcpy(gpuMatrix, Matrix, NUM * sizeof(float), + hipMemcpyHostToDevice); + + // Lauching kernel from host + hipLaunchKernel(matrixTranspose, + dim3(WIDTH / THREADS_PER_BLOCK_X, WIDTH / + THREADS_PER_BLOCK_Y), + dim3(THREADS_PER_BLOCK_X, THREADS_PER_BLOCK_Y), 0, 0, + gpuTransposeMatrix, gpuMatrix, WIDTH); + + // Memory transfer from device to host + hipMemcpy(TransposeMatrix, gpuTransposeMatrix, NUM * sizeof(float), + hipMemcpyDeviceToHost); + + // CPU MatrixTranspose computation + matrixTransposeCPUReference(cpuTransposeMatrix, Matrix, WIDTH); + + // verify the results + errors = 0; + double eps = 1.0E-6; + for (i = 0; i < NUM; i++) { + if (std::abs(TransposeMatrix[i] - cpuTransposeMatrix[i]) > eps) { + errors++; + } + } + if (errors != 0) { + printf("FAILED: %d errors\n", errors); + } else { + printf("PASSED!\n"); + } + + // free the resources on device side + hipFree(gpuMatrix); + hipFree(gpuTransposeMatrix); + + // free the resources on host side + free(Matrix); + free(TransposeMatrix); + free(cpuTransposeMatrix); + + stop_tracing(); + } + + return errors; +} + +///////////////////////////////////////////////////////////////////////////// +// HIP/HCC Callbacks/Activity tracing +///////////////////////////////////////////////////////////////////////////// +#include +#include + +// Macro to check ROC-tracer calls status +#define ROCTRACER_CALL(call) \ + do { \ + int err = call; \ + if (err != 0) { \ + std::cerr << roctracer_error_string() << std::endl << std::flush; \ + abort(); \ + } \ + } while (0) + +// HIP API callback function +void hip_api_callback( + uint32_t domain, + uint32_t cid, + const void* callback_data, + void* arg) +{ + (void)arg; + const hip_api_data_t* data = reinterpret_cast + (callback_data); + fprintf(stdout, "<%s id(%u)\tcorrelation_id(%lu) %s> ", + roctracer_op_string(ACTIVITY_DOMAIN_HIP_API, cid, 0), + cid, + data->correlation_id, + (data->phase == ACTIVITY_API_PHASE_ENTER) ? "on-enter" : "on-exit"); + if (data->phase == ACTIVITY_API_PHASE_ENTER) { + switch (cid) { + case HIP_API_ID_hipMemcpy: + fprintf(stdout, "dst(%p) src(%p) size(0x%x) kind(%u)", + data->args.hipMemcpy.dst, + data->args.hipMemcpy.src, + (uint32_t)(data->args.hipMemcpy.sizeBytes), + (uint32_t)(data->args.hipMemcpy.kind)); + break; + case HIP_API_ID_hipMalloc: + fprintf(stdout, "ptr(%p) size(0x%x)", + data->args.hipMalloc.ptr, + (uint32_t)(data->args.hipMalloc.size)); + break; + case HIP_API_ID_hipFree: + fprintf(stdout, "ptr(%p), + data->args.hipFree.ptr); + break; + case HIP_API_ID_hipModuleLaunchKernel: + fprintf(stdout, "kernel(\"%s\") stream(%p)", + hipKernelNameRef(data->args.hipModuleLaunchKernel.f), + data->args.hipModuleLaunchKernel.stream); + break; + default: + break; + } + } else { + switch (cid) { + case HIP_API_ID_hipMalloc: + fprintf(stdout, "*ptr(0x%p)", + *(data->args.hipMalloc.ptr)); + break; + default: + break; + } + } + fprintf(stdout, "\n"); fflush(stdout); +} + +// Activity tracing callback +// hipMalloc id(3) correlation_id(1): +// begin_ns(1525888652762640464) end_ns(1525888652762877067) +void activity_callback(const char* begin, const char* end, void* arg) { + const roctracer_record_t* record = reinterpret_cast + (begin); + const roctracer_record_t* end_record = reinterpret_cast + (end); + fprintf(stdout, "\tActivity records:\n"); fflush(stdout); + while (record < end_record) { + const char * name = roctracer_op_string(record->domain, + record->activity_id, 0); + fprintf(stdout, "\t%s\tcorrelation_id(%lu) time_ns(%lu:%lu) \ + device_id(%d) stream_id(%lu)", + name, + record->correlation_id, + record->begin_ns, + record->end_ns, + record->device_id, + record->stream_id + ); + if (record->kind == hc::HSA_OP_ID_COPY) + fprintf(stdout, " bytes(0x%zx)", record->bytes); + fprintf(stdout, "\n"); + fflush(stdout); + ROCTRACER_CALL(roctracer_next_record(record, &record)); + } +} + +// Start tracing routine +void start_tracing() { + std::cout << "# START #############################" << std::endl + << std::flush; + // Allocating tracing pool + roctracer_properties_t properties{}; + properties.buffer_size = 0x1000; + properties.buffer_callback_fun = activity_callback; + ROCTRACER_CALL(roctracer_open_pool(&properties)); + // Enable API callbacks, all domains + ROCTRACER_CALL(roctracer_enable_callback(hip_api_callback, NULL)); + // Enable activity tracing, all domains + ROCTRACER_CALL(roctracer_enable_activity()); +} + +// Stop tracing routine +void stop_tracing() { + ROCTRACER_CALL(roctracer_disable_api_callback()); + ROCTRACER_CALL(roctracer_disable_api_activity()); + ROCTRACER_CALL(roctracer_close_pool()); + std::cout << "# STOP #############################" << std::endl + << std::flush; +} +///////////////////////////////////////////////////////////////////////////// +``` diff --git a/inc/ext/prof_protocol.h b/inc/ext/prof_protocol.h index ee52e91082..c578df0fd4 100644 --- a/inc/ext/prof_protocol.h +++ b/inc/ext/prof_protocol.h @@ -29,9 +29,10 @@ THE SOFTWARE. typedef enum { ACTIVITY_DOMAIN_HSA_API = 0, // HSA API domain ACTIVITY_DOMAIN_HSA_OPS = 1, // HSA async activity domain - ACTIVITY_DOMAIN_HCC_OPS = 2, // HCC async activity domain + ACTIVITY_DOMAIN_HIP_OPS = 2, // HIP async activity domain + ACTIVITY_DOMAIN_HCC_OPS = ACTIVITY_DOMAIN_HIP_OPS, // HCC async activity domain + ACTIVITY_DOMAIN_HIP_VDI = ACTIVITY_DOMAIN_HIP_OPS, // HIP VDI async activity domain ACTIVITY_DOMAIN_HIP_API = 3, // HIP API domain - ACTIVITY_DOMAIN_HIP_VDI = ACTIVITY_DOMAIN_HCC_OPS, // HIP VDI domain ACTIVITY_DOMAIN_KFD_API = 4, // KFD API domain ACTIVITY_DOMAIN_EXT_API = 5, // External ID domain ACTIVITY_DOMAIN_ROCTX = 6, // ROCTX domain diff --git a/inc/roctracer.h b/inc/roctracer.h index 0fc6df0063..f243267284 100644 --- a/inc/roctracer.h +++ b/inc/roctracer.h @@ -245,6 +245,10 @@ roctracer_status_t roctracer_flush_activity() return roctracer_flush_activity_expl(NULL); } +// Get system timestamp +roctracer_status_t roctracer_get_timestamp( + uint64_t* timestamp); // [out] return timestamp + // Load/Unload methods // Set properties roctracer_status_t roctracer_set_properties( @@ -260,10 +264,6 @@ bool roctracer_load( void roctracer_unload(bool destruct); -// Get system timestamp. -roctracer_status_t roctracer_get_timestamp( - uint64_t* timestamp); - #ifdef __cplusplus } // extern "C" block #endif // __cplusplus From 272cdcb13f55de07ce4883e7c44d37c5ca32569f Mon Sep 17 00:00:00 2001 From: eshcherb <33529668+eshcherb@users.noreply.github.com> Date: Tue, 31 Dec 2019 07:09:22 -0600 Subject: [PATCH 261/691] Update roctracer_spec.md --- doc/roctracer_spec.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/doc/roctracer_spec.md b/doc/roctracer_spec.md index 96847bc1e0..21358a2fa3 100644 --- a/doc/roctracer_spec.md +++ b/doc/roctracer_spec.md @@ -57,6 +57,7 @@ const char* roctracer_error_string(); ``` The library provides major and minor versions. Major version is for incompatible API changes and minor version for bug fixes. + API version macros defined in the library API header ‘roctracer.h’: ROCTRACER_VERSION_MAJOR ROCTRACER_VERSION_MINOR @@ -78,6 +79,7 @@ be associated with the respective API calls using the correlation ID. Activity API can be used to enable collecting of the records with timestamping data for API calls and asynchronous activity like the kernel submits, memory copies and barriers + Tracing domains: • roctracer_domain_t – runtime API domains, HIP, HSA, etc… • roctracer_op_string – Return Op string by given domain and @@ -126,6 +128,7 @@ Activity API: ``` Various tracing domains are supported. Each domain is assigned with a domain ID. The domains include HSA, HIP, and HCC runtime levels. + Traced API domains: typedef enum { ACTIVITY_DOMAIN_HSA_API = 0, // HSA API domain @@ -415,6 +418,7 @@ int main() { ``` This shows a MatrixTranspose HIP sample with enabled tracing of all HIP API and all GPU asynchronous activity. + /* Copyright (c) 2015-2016 Advanced Micro Devices, Inc. All rights reserved. From e14a217e43fd38a3c87e28f3e86af0339132b505 Mon Sep 17 00:00:00 2001 From: eshcherb <33529668+eshcherb@users.noreply.github.com> Date: Tue, 31 Dec 2019 07:10:18 -0600 Subject: [PATCH 262/691] Update roctracer_spec.md --- doc/roctracer_spec.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/doc/roctracer_spec.md b/doc/roctracer_spec.md index 21358a2fa3..248de6604c 100644 --- a/doc/roctracer_spec.md +++ b/doc/roctracer_spec.md @@ -10,6 +10,7 @@ for tracing of runtime calls and asynchronous activity, like GPU kernel dispatches and memory moves. The tracing includes callback API for runtime API tracing and activity API for asynchronous activity records logging. + Depending on particular runtime intercepting mechanism, the rocTracer library can be dynamically linked, dynamically loaded by the runtime as a plugin or some API wrapper can be loaded using LD_PRELOAD. @@ -26,9 +27,11 @@ The library supports method for getting the error number and error string of the last failed library API call. It allows to check the conformance of used library API header and the library binary, the version macros and API methods can be used. + Returning the error and error string methods: • roctracer_status_t – error code enumeration • roctracer_error_string – method for returning the error string + Library version: • ROCTRACER_VERSION_MAJOR – API major version macro • ROCTRACER_VERSION_MINOR – API minor version macro @@ -37,7 +40,7 @@ Library version: ``` ### 2.2. Error codes and error string methods ``` -Error code enumeration +Error code enumeration: typedef enum { ROCTRACER_STATUS_SUCCESS = 0, ROCTRACER_STATUS_ERROR = 1, From 3fd10c8d368a9e7cba04c02172bcfad58207f19e Mon Sep 17 00:00:00 2001 From: eshcherb <33529668+eshcherb@users.noreply.github.com> Date: Tue, 31 Dec 2019 07:14:00 -0600 Subject: [PATCH 263/691] Update roctracer_spec.md --- doc/roctracer_spec.md | 23 +++++++++-------------- 1 file changed, 9 insertions(+), 14 deletions(-) diff --git a/doc/roctracer_spec.md b/doc/roctracer_spec.md index 248de6604c..15b4199810 100644 --- a/doc/roctracer_spec.md +++ b/doc/roctracer_spec.md @@ -113,19 +113,15 @@ Activity API: • roctracer_close_pool[_expl] – close records pool • roctracer_default_pool[_expl] – get/set default pool • roctracer_properties_t – tracer properties -• roctracer_enable_op_activity[_expl] – enable activity records - logging -• roctracer_enable_domain_activity[_expl] – enable activity records - logging +• roctracer_enable_op_activity[_expl] – enable activity records logging +• roctracer_enable_domain_activity[_expl] – enable activity records logging • roctracer_enable_activity[_expl] – enable activity records logging • roctracer_disable_op_activity – disable activity records logging -• roctracer_disable_domain_activity – disable activity records - logging +• roctracer_disable_domain_activity – disable activity records logging • roctracer_disable_activity – disable activity records logging • roctracer_flush_activity[_expl] – disable activity records logging • roctracer_next_record – return next record -• roctracer_get_timestamp – return correlated GPU/CPU system - timestamp +• roctracer_get_timestamp – return correlated GPU/CPU system timestamp ``` ### 3.2. Tracing Domains ``` @@ -145,10 +141,9 @@ typedef enum { } activity_domain_t; Return name by given domain and Op code: -const char* roctracer_op_string( // NULL returned on error and error number - // is set - uint32_t domain, // tracing domain - uint32_t op, // activity op code +const char* roctracer_op_string( // NULL returned on error and error number is set + uint32_t domain, // tracing domain + uint32_t op, // activity op code uint32_t kind); // activity kind Return Op code and kind by given string: roctracer_status_t roctracer_op_code( @@ -172,9 +167,9 @@ typedef enum { Runtime API callback type: typedef void (*roctracer_rtapi_callback_t)( uint32_t domain, // runtime API domain - uint32_t cid, // API call ID + uint32_t cid, // API call ID const void* data, // [in] callback data with correlation id and the call - // arguments + // arguments void* arg); // [in/out] user passed data Enable runtime API callbacks: From b9ded61eb3c77a25b65d1c40d70ab88720be412e Mon Sep 17 00:00:00 2001 From: eshcherb <33529668+eshcherb@users.noreply.github.com> Date: Mon, 6 Jan 2020 13:42:02 -0600 Subject: [PATCH 264/691] Update README.md --- README.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index f4965b92f8..71aa93aff0 100644 --- a/README.md +++ b/README.md @@ -13,6 +13,7 @@ Includes basic API: roctxMark, roctxRangePush, roctxRangePop. ## The library source tree ``` + - doc - documentation - inc/roctracer.h - rocTacer library public API header - inc/roctx.h - rocTX library puiblic API header - src - Library sources @@ -25,12 +26,11 @@ Includes basic API: roctxMark, roctxRangePush, roctxRangePop. ## Documentation ``` - - API description/headers: - - inc/roctracer.h - - inc/roctx.h + - API description: + - ['roctracer' profiling C API specification](doc/roctracer_spec.md) - Code examples: - - test/MatrixTranspose_test/MatrixTranspose.cpp - - test/MatrixTranspose/MatrixTranspose.cpp + - [test/MatrixTranspose_test/MatrixTranspose.cpp](test/MatrixTranspose_test/MatrixTranspose.cpp) + - [test/MatrixTranspose/MatrixTranspose.cpp](test/MatrixTranspose/MatrixTranspose.cpp) ``` ## To build and run test From 5d2539dd446db2a440cb43366ad44b9ef68d4ede Mon Sep 17 00:00:00 2001 From: eshcherb <33529668+eshcherb@users.noreply.github.com> Date: Mon, 6 Jan 2020 13:42:44 -0600 Subject: [PATCH 265/691] Update README.md --- README.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/README.md b/README.md index 71aa93aff0..e9cf8771cc 100644 --- a/README.md +++ b/README.md @@ -25,13 +25,11 @@ Includes basic API: roctxMark, roctxRangePush, roctxRangePop. ``` ## Documentation -``` - API description: - ['roctracer' profiling C API specification](doc/roctracer_spec.md) - Code examples: - [test/MatrixTranspose_test/MatrixTranspose.cpp](test/MatrixTranspose_test/MatrixTranspose.cpp) - [test/MatrixTranspose/MatrixTranspose.cpp](test/MatrixTranspose/MatrixTranspose.cpp) -``` ## To build and run test ``` From 6242588fb3859830f33d9e839ad520a7ce3ed069 Mon Sep 17 00:00:00 2001 From: eshcherb <33529668+eshcherb@users.noreply.github.com> Date: Tue, 7 Jan 2020 13:11:25 -0600 Subject: [PATCH 266/691] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e9cf8771cc..993f44d576 100644 --- a/README.md +++ b/README.md @@ -33,7 +33,7 @@ Includes basic API: roctxMark, roctxRangePush, roctxRangePop. ## To build and run test ``` - - ROCm-2.3 or higher is required + - ROCm is required - Python2.7 is required. The required modules: CppHeaderParser, argparse. To install: From 7f9dae599224f0ada4313649379d4c10e46d9519 Mon Sep 17 00:00:00 2001 From: eshcherb <33529668+eshcherb@users.noreply.github.com> Date: Tue, 7 Jan 2020 13:13:16 -0600 Subject: [PATCH 267/691] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 993f44d576..dc18355675 100644 --- a/README.md +++ b/README.md @@ -34,6 +34,7 @@ Includes basic API: roctxMark, roctxRangePush, roctxRangePop. ## To build and run test ``` - ROCm is required + - Python2.7 is required. The required modules: CppHeaderParser, argparse. To install: From ee4df1f5f93f705cafe16e4c5b4b61dca0acb404 Mon Sep 17 00:00:00 2001 From: eshcherb <33529668+eshcherb@users.noreply.github.com> Date: Tue, 7 Jan 2020 17:11:22 -0600 Subject: [PATCH 268/691] Update README.md --- README.md | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index dc18355675..00583f1a5b 100644 --- a/README.md +++ b/README.md @@ -11,6 +11,19 @@ ROC-TX librray: code annotation evemts API Includes basic API: roctxMark, roctxRangePush, roctxRangePop. ``` +## Usage +``` +rocTracer API: + To use the rocTracer API you need the API header and to link your application with roctracer .so librray: + - the API header: /opt/rocm/roctracer/include/roctracer.h + - the .so library: /opt/rocm/lib/libroctracer64.so + +rocTX API: + To use the rocTX API you need the API header and to link your application with roctx .so librray: + - the API header: /opt/rocm/roctracer/include/roctx.h + - the .so library: /opt/rocm/lib/libroctx64.so +``` + ## The library source tree ``` - doc - documentation @@ -62,16 +75,3 @@ Includes basic API: roctxMark, roctxRangePush, roctxRangePop. or make package && dpkg -i *.deb ``` - -## Usage -``` -rocTracer API: - To use the rocTracer API you need the API header and to link your application with roctracer .so librray: - - the API header: /opt/rocm/roctracer/include/roctracer.h - - the .so library: /opt/rocm/lib/libroctracer64.so - -rocTX API: - To use the rocTX API you need the API header and to link your application with roctx .so librray: - - the API header: /opt/rocm/roctracer/include/roctx.h - - the .so library: /opt/rocm/lib/libroctx64.so - From a64f0538bbe1dd025210a63e7a01979f7fc527b0 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Thu, 9 Jan 2020 17:38:58 -0600 Subject: [PATCH 269/691] test makefile fix --- build.sh | 1 - test/MatrixTranspose_test/Makefile | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/build.sh b/build.sh index b94e58da94..873631c034 100755 --- a/build.sh +++ b/build.sh @@ -21,7 +21,6 @@ if [ -z "$PREFIX_PATH" ] ; then PREFIX_PATH=$PACKAGE_ROOT; fi if [ -n "$HIP_VDI" ] ; then HIP_VDI_OPT="-DHIP_VDI=1"; fi ROCTRACER_ROOT=$(cd $ROCTRACER_ROOT && echo $PWD) -MAKE_OPTS="-j 8 -C $BUILD_DIR" mkdir -p $BUILD_DIR pushd $BUILD_DIR diff --git a/test/MatrixTranspose_test/Makefile b/test/MatrixTranspose_test/Makefile index 04780535ee..d25f64340b 100644 --- a/test/MatrixTranspose_test/Makefile +++ b/test/MatrixTranspose_test/Makefile @@ -20,7 +20,7 @@ FLAGS =-g -I$(ROOT_PATH) -I$(ROOT_PATH)/inc -I${ROCM_INC_PATH}/hsa -I${ROCM_INC_ ifeq ($(C_TEST), 1) COMP=gcc SOURCES = MatrixTranspose.c - FLAGS += -DHIP_TEST=0 -D__HIP_PLATFORM_HCC__=1 -I/opt/rocm/hcc/include + FLAGS += -DHIP_TEST=0 -D__HIP_PLATFORM_HCC__=1 -I${ROCM_INC_PATH}/hcc else COMP=$(HIPCC) SOURCES = MatrixTranspose.cpp From 5bfb079aff72de81c1c1ea931ce88f5203b17416 Mon Sep 17 00:00:00 2001 From: Pruthvi Madugundu Date: Sun, 1 Dec 2019 13:53:22 -0800 Subject: [PATCH 270/691] roctracer changes to support multiple ROCM installation - Package is generated to install into ROCM_PATH by setting to CMAKE_INSTALL_PREFIX, if defined in the env otherwise default into /opt/rocm - Lib SO version is added dependent on build version - RUNPATH is set to a default value based on /opt/rocm and if ROCM_RPATH env is defined it is overwritten. - Symlinks are created for library so files. - ld.so.conf entry is done only if /opt/rocm/roctracer dir exists Signed-off-by: Pruthvi Madugundu --- CMakeLists.txt | 35 +++++++++++++++++++++++++++++++---- DEBIAN/postinst | 5 ++++- RPM/rpm_post | 5 ++++- build.sh | 5 ++++- 4 files changed, 43 insertions(+), 7 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index e90a4f7924..3a3ce25fd0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -28,6 +28,9 @@ cmake_minimum_required ( VERSION 3.5.0 ) ## Verbose output. set ( CMAKE_VERBOSE_MAKEFILE TRUE CACHE BOOL "Verbose Output" FORCE ) +# Install prefix +set(CMAKE_INSTALL_PREFIX "/opt/rocm" CACHE PATH "Install path prefix, prepended onto install directories") + ## Set module name and project name. set ( ROCTRACER_NAME "roctracer" ) set ( ROCTRACER_TARGET "${ROCTRACER_NAME}64" ) @@ -43,17 +46,25 @@ include ( env ) ## Setup the package version. get_version ( "1.0.0" ) -message ( "-- LIB-VERSION: ${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}" ) set ( BUILD_VERSION_MAJOR ${VERSION_MAJOR} ) set ( BUILD_VERSION_MINOR ${VERSION_MINOR} ) set ( BUILD_VERSION_PATCH ${VERSION_PATCH} ) -set ( LIB_VERSION_STRING "${BUILD_VERSION_MAJOR}.${BUILD_VERSION_MINOR}.${BUILD_VERSION_PATCH}" ) + if ( DEFINED VERSION_BUILD AND NOT ${VERSION_BUILD} STREQUAL "" ) message ( "VERSION BUILD DEFINED ${VERSION_BUILD}" ) set ( BUILD_VERSION_PATCH "${BUILD_VERSION_PATCH}-${VERSION_BUILD}" ) endif () -set ( BUILD_VERSION_STRING "${BUILD_VERSION_MAJOR}.${BUILD_VERSION_MINOR}.${BUILD_VERSION_PATCH}" ) + +set ( LIB_VERSION_MAJOR ${BUILD_VERSION_MAJOR} ) +set ( LIB_VERSION_MINOR ${BUILD_VERSION_MINOR} ) +if (DEFINED ENV{ROCM_LIBPATCH_VERSION}) + set (LIB_VERSION_PATCH $ENV{ROCM_LIBPATCH_VERSION} ) +else () + set (LIB_VERSION_PATCH ${BUILD_VERSION_PATCH} ) +endif() +set ( LIB_VERSION_STRING "${LIB_VERSION_MAJOR}.${LIB_VERSION_MINOR}.${LIB_VERSION_PATCH}" ) +message ( "-- LIB-VERSION: ${LIB_VERSION_MAJOR}.${LIB_VERSION_MINOR}.${LIB_VERSION_PATCH}" ) ## Set target and root/lib/test directory set ( TARGET_NAME "${ROCTRACER_TARGET}" ) @@ -66,7 +77,7 @@ include ( ${LIB_DIR}/CMakeLists.txt ) ## Set the VERSION and SOVERSION values set_property ( TARGET ${TARGET_NAME} PROPERTY VERSION "${LIB_VERSION_STRING}" ) -set_property ( TARGET ${TARGET_NAME} PROPERTY SOVERSION "${BUILD_VERSION_MAJOR}" ) +set_property ( TARGET ${TARGET_NAME} PROPERTY SOVERSION "${LIB_VERSION_MAJOR}" ) # If the library is a release, strip the target library if ( "${CMAKE_BUILD_TYPE}" STREQUAL release ) @@ -84,6 +95,10 @@ add_custom_target ( inc-link ALL WORKING_DIRECTORY ${PROJECT_BINARY_DIR} COMMAND ${CMAKE_COMMAND} -E create_symlink ../${ROCTRACER_NAME}/include inc-link ) add_custom_target ( so-link ALL WORKING_DIRECTORY ${PROJECT_BINARY_DIR} COMMAND ${CMAKE_COMMAND} -E create_symlink ../${ROCTRACER_NAME}/lib/${ROCTRACER_LIBRARY}.so so-link ) +add_custom_target ( so-major-link ALL WORKING_DIRECTORY ${PROJECT_BINARY_DIR} + COMMAND ${CMAKE_COMMAND} -E create_symlink ../${ROCTRACER_NAME}/lib/${ROCTRACER_LIBRARY}.so.${LIB_VERSION_MAJOR} so-major-link ) +add_custom_target ( so-patch-link ALL WORKING_DIRECTORY ${PROJECT_BINARY_DIR} + COMMAND ${CMAKE_COMMAND} -E create_symlink ../${ROCTRACER_NAME}/lib/${ROCTRACER_LIBRARY}.so.${LIB_VERSION_STRING} so-patch-link ) ## Install information install ( TARGETS ${ROCTRACER_TARGET} LIBRARY DESTINATION lib ) @@ -95,19 +110,31 @@ install ( FILES ${CMAKE_CURRENT_SOURCE_DIR}/inc/ext/prof_protocol.h DESTINATION install ( FILES ${CMAKE_CURRENT_SOURCE_DIR}/inc/ext/hsa_rt_utils.hpp DESTINATION include/ext ) install ( FILES ${PROJECT_BINARY_DIR}/inc-link DESTINATION ../include RENAME ${ROCTRACER_NAME} ) install ( FILES ${PROJECT_BINARY_DIR}/so-link DESTINATION ../lib RENAME ${ROCTRACER_LIBRARY}.so ) +install ( FILES ${PROJECT_BINARY_DIR}/so-major-link DESTINATION ../lib RENAME ${ROCTRACER_LIBRARY}.so.${LIB_VERSION_MAJOR} ) +install ( FILES ${PROJECT_BINARY_DIR}/so-patch-link DESTINATION ../lib RENAME ${ROCTRACER_LIBRARY}.so.${LIB_VERSION_STRING} ) install ( FILES ${PROJECT_BINARY_DIR}/test/libtracer_tool.so DESTINATION tool ) ## rocTX set ( ROCTX_TARGET "roctx64" ) set ( ROCTX_LIBRARY "lib${ROCTX_TARGET}" ) +## Set the VERSION and SOVERSION values +set_property ( TARGET ${ROCTX_TARGET} PROPERTY VERSION "${LIB_VERSION_STRING}" ) +set_property ( TARGET ${ROCTX_TARGET} PROPERTY SOVERSION "${LIB_VERSION_MAJOR}" ) + add_custom_target ( so-roctx-link ALL WORKING_DIRECTORY ${PROJECT_BINARY_DIR} COMMAND ${CMAKE_COMMAND} -E create_symlink ../${ROCTRACER_NAME}/lib/${ROCTX_LIBRARY}.so so-roctx-link ) +add_custom_target ( so-roctx-major-link ALL WORKING_DIRECTORY ${PROJECT_BINARY_DIR} + COMMAND ${CMAKE_COMMAND} -E create_symlink ../${ROCTRACER_NAME}/lib/${ROCTX_LIBRARY}.so.${LIB_VERSION_MAJOR} so-roctx-major-link ) +add_custom_target ( so-roctx-patch-link ALL WORKING_DIRECTORY ${PROJECT_BINARY_DIR} + COMMAND ${CMAKE_COMMAND} -E create_symlink ../${ROCTRACER_NAME}/lib/${ROCTX_LIBRARY}.so.${LIB_VERSION_STRING} so-roctx-patch-link ) install ( TARGETS "roctx64" LIBRARY DESTINATION lib ) install ( FILES ${CMAKE_CURRENT_SOURCE_DIR}/inc/roctx.h DESTINATION include ) install ( FILES ${CMAKE_CURRENT_SOURCE_DIR}/inc/roctracer_roctx.h DESTINATION include ) install ( FILES ${PROJECT_BINARY_DIR}/so-roctx-link DESTINATION ../lib RENAME ${ROCTX_LIBRARY}.so ) +install ( FILES ${PROJECT_BINARY_DIR}/so-roctx-major-link DESTINATION ../lib RENAME ${ROCTX_LIBRARY}.so.${LIB_VERSION_MAJOR} ) +install ( FILES ${PROJECT_BINARY_DIR}/so-roctx-patch-link DESTINATION ../lib RENAME ${ROCTX_LIBRARY}.so.${LIB_VERSION_STRING} ) ## KFD wrapper if ( DEFINED KFD_WRAPPER ) diff --git a/DEBIAN/postinst b/DEBIAN/postinst index b09a3c139b..f14a4ee14c 100644 --- a/DEBIAN/postinst +++ b/DEBIAN/postinst @@ -3,7 +3,10 @@ set -e do_ldconfig() { - echo /opt/rocm/roctracer/lib > /etc/ld.so.conf.d/libroctracer64.conf && ldconfig + INSTALL_PATH=/opt/rocm/roctracer + if [ -e "${INSTALL_PATH}" ] ; then + echo /opt/rocm/roctracer/lib > /etc/ld.so.conf.d/libroctracer64.conf && ldconfig + fi } case "$1" in diff --git a/RPM/rpm_post b/RPM/rpm_post index a19ea861f1..1e5e279075 100644 --- a/RPM/rpm_post +++ b/RPM/rpm_post @@ -1 +1,4 @@ -echo /opt/rocm/roctracer/lib > /etc/ld.so.conf.d/libroctracer64.conf && ldconfig +INSTALL_PATH=/opt/rocm/roctracer +if [ -e "${INSTALL_PATH}" ] ; then + echo /opt/rocm/roctracer/lib > /etc/ld.so.conf.d/libroctracer64.conf && ldconfig +fi diff --git a/build.sh b/build.sh index b94e58da94..1a5aa9bcba 100755 --- a/build.sh +++ b/build.sh @@ -1,7 +1,8 @@ #!/bin/bash -x SRC_DIR=`dirname $0` COMPONENT="roctracer" -ROCM_PATH="/opt/rocm" +ROCM_PATH="${ROCM_PATH:=/opt/rocm}" +LD_RUNPATH_FLAG=" -Wl,--enable-new-dtags -Wl,--rpath,/opt/rocm/lib:/opt/rocm/lib64" fatal() { echo "$1" @@ -19,6 +20,7 @@ if [ -z "$PACKAGE_ROOT" ] ; then PACKAGE_ROOT=$ROCM_PATH; fi if [ -z "$PACKAGE_PREFIX" ] ; then PACKAGE_PREFIX="$ROCM_PATH/$COMPONENT"; fi if [ -z "$PREFIX_PATH" ] ; then PREFIX_PATH=$PACKAGE_ROOT; fi if [ -n "$HIP_VDI" ] ; then HIP_VDI_OPT="-DHIP_VDI=1"; fi +if ! [ -z ${ROCM_RPATH+x} ] ; then LD_RUNPATH_FLAG=" -Wl,--enable-new-dtags -Wl,--rpath,${ROCM_RPATH}"; fi ROCTRACER_ROOT=$(cd $ROCTRACER_ROOT && echo $PWD) MAKE_OPTS="-j 8 -C $BUILD_DIR" @@ -33,6 +35,7 @@ cmake \ -DCMAKE_INSTALL_PREFIX=$PACKAGE_ROOT \ -DCPACK_PACKAGING_INSTALL_PREFIX=$PACKAGE_PREFIX \ -DCPACK_GENERATOR="DEB;RPM" \ + -DCMAKE_SHARED_LINKER_FLAGS="$LD_RUNPATH_FLAG" \ $HIP_VDI_OPT \ $ROCTRACER_ROOT make From eb455edfea786098b3eed8ed846ba08df34bc4e1 Mon Sep 17 00:00:00 2001 From: eshcherb <33529668+eshcherb@users.noreply.github.com> Date: Sat, 11 Jan 2020 05:28:58 -0600 Subject: [PATCH 271/691] Update roctracer_spec.md --- doc/roctracer_spec.md | 47 ++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 46 insertions(+), 1 deletion(-) diff --git a/doc/roctracer_spec.md b/doc/roctracer_spec.md index 15b4199810..01a489f007 100644 --- a/doc/roctracer_spec.md +++ b/doc/roctracer_spec.md @@ -1,7 +1,8 @@ -# ROC Profiler Library Specification +# ROC Tracer Library Specification ``` The rocTracer API is agnostic to specific runtime and may trace the runtime API calls and asynchronous GPU activity. +Also, application code annotation rocTX API is provided. ``` ## 1. High level overview ``` @@ -19,6 +20,10 @@ The library has a C API. The rocTracer library is an API that intercepts runtime API calls and traces asynchronous activity. The activity tracing results are recorded in a ring buffer. + +The rocTX contains application code instrumentation API to support high +level correlation of runtime API/activity events. The API includes mark +and nested ranges. ``` ## 2. General API ### 2.1. Description @@ -122,6 +127,17 @@ Activity API: • roctracer_flush_activity[_expl] – disable activity records logging • roctracer_next_record – return next record • roctracer_get_timestamp – return correlated GPU/CPU system timestamp + +External correlation ID API: +• roctracer_activity_push_external_correlation_id - push an external + correlation id for the calling thread +• roctracer_activity_pop_external_correlation_id - pop an external + correlation id for the calling thread + +Tracing control API: +• roctracer_start – tracing start +• roctracer_stop – tracer stop + ``` ### 3.2. Tracing Domains ``` @@ -338,6 +354,35 @@ Return correlated GPU/CPU system timestamp: roctracer_status_t roctracer_get_timestamp( uint64_t* timestamp); // [out] return timestamp ``` +External correlation ID API +``` +The API provides activity records to associate rocTracer correlation IDs with +IDs provided by external APIs. The external ID records are identified by +ACTIVITY_DOMAIN_EXT_API domain value. +Using the ‘push’ method an external ID is pushed to a per CPU thread stack and +the ‘pop’ method can be used to remove the last pushed ID. +An external ID record is inserted before any generated rocTracer activity record +if the same CPU external ID stack is non-empty. + +Notifies that the calling thread is entering an external API region. +Push an external correlation id for the calling thread. +roctracer_status_t roctracer_activity_push_external_correlation_id( + activity_correlation_id_t id); // external correlation id + +Notifies that the calling thread is leaving an external API region. +Pop an external correlation id for the calling thread. +roctracer_status_t roctracer_activity_pop_external_correlation_id( + activity_correlation_id_t* last_id); // returns the last external correlation id + // if not NULL +``` +Tracing control API +``` +Tracing start: +void roctracer_start(); + +Tracing stop: +void roctracer_stop(); +``` ## 4. rocTracer Usage Code Examples ### 4.1. HIP API and HCC ops, GPU Activity Tracing ``` From 9b6d20eca2c6495ce93faa11ea77fd42dfce9064 Mon Sep 17 00:00:00 2001 From: eshcherb <33529668+eshcherb@users.noreply.github.com> Date: Sat, 11 Jan 2020 05:32:22 -0600 Subject: [PATCH 272/691] Update roctracer_spec.md --- doc/roctracer_spec.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/doc/roctracer_spec.md b/doc/roctracer_spec.md index 01a489f007..a0f42b658c 100644 --- a/doc/roctracer_spec.md +++ b/doc/roctracer_spec.md @@ -728,3 +728,18 @@ void stop_tracing() { } ///////////////////////////////////////////////////////////////////////////// ``` +'rocTX' application code annotation +``` +Basic API: markers and nested ranges. +// A marker created by given ASCII massage +void roctxMark(const char* message); + +// Returns the 0 based level of a nested range being started by given message associated to this range. +// A negative value is returned on the error. +int roctxRangePush(const char* message); + +// Marks the end of a nested range. +// Returns the 0 based level the range. +// A negative value is returned on the error. +int roctxRangePop(); +``` From f261f29d1ea154199ce16c3821d563f299b175f0 Mon Sep 17 00:00:00 2001 From: eshcherb <33529668+eshcherb@users.noreply.github.com> Date: Sat, 11 Jan 2020 05:35:16 -0600 Subject: [PATCH 273/691] Update roctracer_spec.md --- doc/roctracer_spec.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/roctracer_spec.md b/doc/roctracer_spec.md index a0f42b658c..87a6090309 100644 --- a/doc/roctracer_spec.md +++ b/doc/roctracer_spec.md @@ -1,8 +1,8 @@ # ROC Tracer Library Specification ``` -The rocTracer API is agnostic to specific runtime and may trace +- The rocTracer API is agnostic to specific runtime and may trace the runtime API calls and asynchronous GPU activity. -Also, application code annotation rocTX API is provided. +- The rocTX API is provided for application code annotation. ``` ## 1. High level overview ``` @@ -728,7 +728,7 @@ void stop_tracing() { } ///////////////////////////////////////////////////////////////////////////// ``` -'rocTX' application code annotation +## 5. rocTX application code annotation ``` Basic API: markers and nested ranges. // A marker created by given ASCII massage From 32837113f971740be8c24f40196c52dd76000c7d Mon Sep 17 00:00:00 2001 From: eshcherb <33529668+eshcherb@users.noreply.github.com> Date: Sat, 11 Jan 2020 05:37:57 -0600 Subject: [PATCH 274/691] Update roctracer_spec.md --- doc/roctracer_spec.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/roctracer_spec.md b/doc/roctracer_spec.md index 87a6090309..c49462faa5 100644 --- a/doc/roctracer_spec.md +++ b/doc/roctracer_spec.md @@ -1,4 +1,4 @@ -# ROC Tracer Library Specification +# ROC Tracer / ROC-TX Libraries Specification ``` - The rocTracer API is agnostic to specific runtime and may trace the runtime API calls and asynchronous GPU activity. From d9225b2de515cd05040c8b90d637036c809ecad7 Mon Sep 17 00:00:00 2001 From: eshcherb <33529668+eshcherb@users.noreply.github.com> Date: Sat, 11 Jan 2020 05:40:02 -0600 Subject: [PATCH 275/691] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 00583f1a5b..497c3da895 100644 --- a/README.md +++ b/README.md @@ -39,7 +39,7 @@ rocTX API: ## Documentation - API description: - - ['roctracer' profiling C API specification](doc/roctracer_spec.md) + - ['roctracer' / 'rocTX' profiling C API specification](doc/roctracer_spec.md) - Code examples: - [test/MatrixTranspose_test/MatrixTranspose.cpp](test/MatrixTranspose_test/MatrixTranspose.cpp) - [test/MatrixTranspose/MatrixTranspose.cpp](test/MatrixTranspose/MatrixTranspose.cpp) From 1d29f4a6819a2f50ff6ada47f09cf0266fc06937 Mon Sep 17 00:00:00 2001 From: eshcherb <33529668+eshcherb@users.noreply.github.com> Date: Sat, 11 Jan 2020 05:41:05 -0600 Subject: [PATCH 276/691] Update roctracer_spec.md --- doc/roctracer_spec.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/roctracer_spec.md b/doc/roctracer_spec.md index c49462faa5..dbe6eefc50 100644 --- a/doc/roctracer_spec.md +++ b/doc/roctracer_spec.md @@ -728,7 +728,7 @@ void stop_tracing() { } ///////////////////////////////////////////////////////////////////////////// ``` -## 5. rocTX application code annotation +## 5. rocTX application code annotation API ``` Basic API: markers and nested ranges. // A marker created by given ASCII massage From e3e0ca8ae6f3e7112fa30dadbec029862a127695 Mon Sep 17 00:00:00 2001 From: eshcherb <33529668+eshcherb@users.noreply.github.com> Date: Sat, 11 Jan 2020 05:44:06 -0600 Subject: [PATCH 277/691] Update roctracer_spec.md --- doc/roctracer_spec.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/roctracer_spec.md b/doc/roctracer_spec.md index dbe6eefc50..ae73ba1acb 100644 --- a/doc/roctracer_spec.md +++ b/doc/roctracer_spec.md @@ -730,7 +730,7 @@ void stop_tracing() { ``` ## 5. rocTX application code annotation API ``` -Basic API: markers and nested ranges. +Basic annotation API: markers and nested ranges. // A marker created by given ASCII massage void roctxMark(const char* message); From 844b7bf7de7567fe24eda33502189d66dafccf2b Mon Sep 17 00:00:00 2001 From: Xiaozhu Meng Date: Mon, 13 Jan 2020 11:38:55 -0600 Subject: [PATCH 278/691] Fix link time multiple definition problem caused by function definition in header files --- inc/roctracer.h | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/inc/roctracer.h b/inc/roctracer.h index f243267284..1db73cee77 100644 --- a/inc/roctracer.h +++ b/inc/roctracer.h @@ -179,7 +179,7 @@ roctracer_status_t roctracer_open_pool_expl( const roctracer_properties_t* properties, // tracer pool properties roctracer_pool_t** pool); // [out] returns tracer pool if not NULL, // otherwise sets the default one if it is not set yet -roctracer_status_t roctracer_open_pool( +static inline roctracer_status_t roctracer_open_pool( const roctracer_properties_t* properties) // tracer pool properties { return roctracer_open_pool_expl(properties, NULL); @@ -189,7 +189,7 @@ roctracer_status_t roctracer_open_pool( // Close tracer memory pool roctracer_status_t roctracer_close_pool_expl( roctracer_pool_t* pool); // [in] memory pool, NULL is a default one -roctracer_status_t roctracer_close_pool() +static inline roctracer_status_t roctracer_close_pool() { return roctracer_close_pool_expl(NULL); } @@ -198,7 +198,7 @@ roctracer_status_t roctracer_close_pool() // Set new default pool if the argument is not NULL roctracer_pool_t* roctracer_default_pool_expl( roctracer_pool_t* pool); // [in] new default pool if not NULL -roctracer_pool_t* roctracer_default_pool() +static inline roctracer_pool_t* roctracer_default_pool() { return roctracer_default_pool_expl(NULL); } @@ -208,7 +208,7 @@ roctracer_status_t roctracer_enable_op_activity_expl( activity_domain_t domain, // tracing domain uint32_t op, // activity op ID roctracer_pool_t* pool); // memory pool, NULL is a default one -roctracer_status_t roctracer_enable_op_activity( +static inline roctracer_status_t roctracer_enable_op_activity( activity_domain_t domain, // tracing domain uint32_t op) // activity op ID { @@ -217,14 +217,14 @@ roctracer_status_t roctracer_enable_op_activity( roctracer_status_t roctracer_enable_domain_activity_expl( activity_domain_t domain, // tracing domain roctracer_pool_t* pool); // memory pool, NULL is a default one -roctracer_status_t roctracer_enable_domain_activity( +static inline roctracer_status_t roctracer_enable_domain_activity( activity_domain_t domain) // tracing domain { return roctracer_enable_domain_activity_expl(domain, NULL); } roctracer_status_t roctracer_enable_activity_expl( roctracer_pool_t* pool); // memory pool, NULL is a default one -roctracer_status_t roctracer_enable_activity() +static inline roctracer_status_t roctracer_enable_activity() { return roctracer_enable_activity_expl(NULL); } @@ -240,7 +240,7 @@ roctracer_status_t roctracer_disable_activity(); // Flush available activity records roctracer_status_t roctracer_flush_activity_expl( roctracer_pool_t* pool); // memory pool, NULL is a default one -roctracer_status_t roctracer_flush_activity() +static inline roctracer_status_t roctracer_flush_activity() { return roctracer_flush_activity_expl(NULL); } From f8e0039f39367486f670037eb0074ef889caabc0 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Mon, 13 Jan 2020 12:07:11 -0600 Subject: [PATCH 279/691] cosmetic change --- build.sh | 4 ++-- inc/roctracer_ext.h | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/build.sh b/build.sh index 5ab8596620..6d04e7b2a0 100755 --- a/build.sh +++ b/build.sh @@ -2,7 +2,7 @@ SRC_DIR=`dirname $0` COMPONENT="roctracer" ROCM_PATH="${ROCM_PATH:=/opt/rocm}" -LD_RUNPATH_FLAG=" -Wl,--enable-new-dtags -Wl,--rpath,/opt/rocm/lib:/opt/rocm/lib64" +LD_RUNPATH_FLAG=" -Wl,--enable-new-dtags -Wl,--rpath,$ROCM_PATH/lib:$ROCM_PATH/lib64" fatal() { echo "$1" @@ -20,7 +20,7 @@ if [ -z "$PACKAGE_ROOT" ] ; then PACKAGE_ROOT=$ROCM_PATH; fi if [ -z "$PACKAGE_PREFIX" ] ; then PACKAGE_PREFIX="$ROCM_PATH/$COMPONENT"; fi if [ -z "$PREFIX_PATH" ] ; then PREFIX_PATH=$PACKAGE_ROOT; fi if [ -n "$HIP_VDI" ] ; then HIP_VDI_OPT="-DHIP_VDI=1"; fi -if ! [ -z ${ROCM_RPATH+x} ] ; then LD_RUNPATH_FLAG=" -Wl,--enable-new-dtags -Wl,--rpath,${ROCM_RPATH}"; fi +if [ -n "$ROCM_RPATH" ] ; then LD_RUNPATH_FLAG=" -Wl,--enable-new-dtags -Wl,--rpath,${ROCM_RPATH}"; fi ROCTRACER_ROOT=$(cd $ROCTRACER_ROOT && echo $PWD) diff --git a/inc/roctracer_ext.h b/inc/roctracer_ext.h index 2427336c7b..172966af6d 100644 --- a/inc/roctracer_ext.h +++ b/inc/roctracer_ext.h @@ -46,7 +46,7 @@ extern "C" { #endif // __cplusplus //////////////////////////////////////////////////////////////////////////////// -// Application annotatin API +// Application annotation API // Tracing start API void roctracer_start(); From abe07f7b4d00077759d806ab012eeb3620dedff4 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Mon, 13 Jan 2020 12:19:04 -0600 Subject: [PATCH 280/691] fixing link errors --- inc/roctracer.h | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/inc/roctracer.h b/inc/roctracer.h index f243267284..1db73cee77 100644 --- a/inc/roctracer.h +++ b/inc/roctracer.h @@ -179,7 +179,7 @@ roctracer_status_t roctracer_open_pool_expl( const roctracer_properties_t* properties, // tracer pool properties roctracer_pool_t** pool); // [out] returns tracer pool if not NULL, // otherwise sets the default one if it is not set yet -roctracer_status_t roctracer_open_pool( +static inline roctracer_status_t roctracer_open_pool( const roctracer_properties_t* properties) // tracer pool properties { return roctracer_open_pool_expl(properties, NULL); @@ -189,7 +189,7 @@ roctracer_status_t roctracer_open_pool( // Close tracer memory pool roctracer_status_t roctracer_close_pool_expl( roctracer_pool_t* pool); // [in] memory pool, NULL is a default one -roctracer_status_t roctracer_close_pool() +static inline roctracer_status_t roctracer_close_pool() { return roctracer_close_pool_expl(NULL); } @@ -198,7 +198,7 @@ roctracer_status_t roctracer_close_pool() // Set new default pool if the argument is not NULL roctracer_pool_t* roctracer_default_pool_expl( roctracer_pool_t* pool); // [in] new default pool if not NULL -roctracer_pool_t* roctracer_default_pool() +static inline roctracer_pool_t* roctracer_default_pool() { return roctracer_default_pool_expl(NULL); } @@ -208,7 +208,7 @@ roctracer_status_t roctracer_enable_op_activity_expl( activity_domain_t domain, // tracing domain uint32_t op, // activity op ID roctracer_pool_t* pool); // memory pool, NULL is a default one -roctracer_status_t roctracer_enable_op_activity( +static inline roctracer_status_t roctracer_enable_op_activity( activity_domain_t domain, // tracing domain uint32_t op) // activity op ID { @@ -217,14 +217,14 @@ roctracer_status_t roctracer_enable_op_activity( roctracer_status_t roctracer_enable_domain_activity_expl( activity_domain_t domain, // tracing domain roctracer_pool_t* pool); // memory pool, NULL is a default one -roctracer_status_t roctracer_enable_domain_activity( +static inline roctracer_status_t roctracer_enable_domain_activity( activity_domain_t domain) // tracing domain { return roctracer_enable_domain_activity_expl(domain, NULL); } roctracer_status_t roctracer_enable_activity_expl( roctracer_pool_t* pool); // memory pool, NULL is a default one -roctracer_status_t roctracer_enable_activity() +static inline roctracer_status_t roctracer_enable_activity() { return roctracer_enable_activity_expl(NULL); } @@ -240,7 +240,7 @@ roctracer_status_t roctracer_disable_activity(); // Flush available activity records roctracer_status_t roctracer_flush_activity_expl( roctracer_pool_t* pool); // memory pool, NULL is a default one -roctracer_status_t roctracer_flush_activity() +static inline roctracer_status_t roctracer_flush_activity() { return roctracer_flush_activity_expl(NULL); } From 127cba886ea9f61e0d625fe10d1cb2373304a927 Mon Sep 17 00:00:00 2001 From: eshcherb <33529668+eshcherb@users.noreply.github.com> Date: Tue, 14 Jan 2020 10:31:42 -0600 Subject: [PATCH 281/691] Update README.md --- README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/README.md b/README.md index 497c3da895..eeaac8a858 100644 --- a/README.md +++ b/README.md @@ -48,8 +48,7 @@ rocTX API: ``` - ROCm is required - - Python2.7 is required. - The required modules: CppHeaderParser, argparse. + - Python modules requirement: CppHeaderParser, argparse. To install: sudo pip install CppHeaderParser argparse From 1a5609c35dc980b6d7ecd0dd29ade1dd0437cb53 Mon Sep 17 00:00:00 2001 From: eshcherb <33529668+eshcherb@users.noreply.github.com> Date: Tue, 14 Jan 2020 10:32:05 -0600 Subject: [PATCH 282/691] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index eeaac8a858..8f3e848113 100644 --- a/README.md +++ b/README.md @@ -48,7 +48,7 @@ rocTX API: ``` - ROCm is required - - Python modules requirement: CppHeaderParser, argparse. + - Python modules requirements: CppHeaderParser, argparse. To install: sudo pip install CppHeaderParser argparse From 1c79061bb38341eb2d79da54a76bbed22a902155 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Wed, 15 Jan 2020 12:57:28 -0600 Subject: [PATCH 283/691] filtering start/stop callback if already started/stopped --- src/core/roctracer.cpp | 30 ++++++++++++++++++++++++------ 1 file changed, 24 insertions(+), 6 deletions(-) diff --git a/src/core/roctracer.cpp b/src/core/roctracer.cpp index c006e6d88c..7221be3460 100644 --- a/src/core/roctracer.cpp +++ b/src/core/roctracer.cpp @@ -526,11 +526,25 @@ hsa_status_t hsa_amd_memory_async_copy_rect_interceptor( return status; } +// Logger routines and primitives util::Logger::mutex_t util::Logger::mutex_; std::atomic util::Logger::instance_{}; + +// Memory pool routines and primitives MemoryPool* memory_pool = NULL; typedef std::recursive_mutex memory_pool_mutex_t; memory_pool_mutex_t memory_pool_mutex; + +// Stop sttaus routines and primitives +unsigned stop_status_value = 0; +typedef std::mutex stop_status_mutex_t; +stop_status_mutex_t stop_status_mutex; +unsigned set_stopped(unsigned val) { + std::lock_guard lock(stop_status_mutex); + const unsigned ret = (stop_status_value ^ val); + stop_status_value = val; + return ret; +} } // namespace roctracer LOADER_INSTANTIATE(); @@ -1015,16 +1029,20 @@ PUBLIC_API void roctracer_mark(const char* str) { // Start API PUBLIC_API void roctracer_start() { - if (roctracer::ext_support::roctracer_start_cb) roctracer::ext_support::roctracer_start_cb(); - roctracer::cb_journal->foreach(roctracer::cb_en_functor_t(roctracer_enable_callback_fun)); - roctracer::act_journal->foreach(roctracer::act_en_functor_t(roctracer_enable_activity_fun)); + if (roctracer::set_stopped(0)) { + if (roctracer::ext_support::roctracer_start_cb) roctracer::ext_support::roctracer_start_cb(); + roctracer::cb_journal->foreach(roctracer::cb_en_functor_t(roctracer_enable_callback_fun)); + roctracer::act_journal->foreach(roctracer::act_en_functor_t(roctracer_enable_activity_fun)); + } } // Stop API PUBLIC_API void roctracer_stop() { - roctracer::cb_journal->foreach(roctracer::cb_dis_functor_t(roctracer_disable_callback_fun)); - roctracer::act_journal->foreach(roctracer::act_dis_functor_t(roctracer_disable_activity_fun)); - if (roctracer::ext_support::roctracer_stop_cb) roctracer::ext_support::roctracer_stop_cb(); + if (roctracer::set_stopped(1)) { + roctracer::cb_journal->foreach(roctracer::cb_dis_functor_t(roctracer_disable_callback_fun)); + roctracer::act_journal->foreach(roctracer::act_dis_functor_t(roctracer_disable_activity_fun)); + if (roctracer::ext_support::roctracer_stop_cb) roctracer::ext_support::roctracer_stop_cb(); + } } // Set properties From 36a2df3edf5e37961d5688ab6b37d72df6d3f218 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Wed, 15 Jan 2020 15:24:44 -0600 Subject: [PATCH 284/691] roctx start/stop minor changes, code cleanup --- test/tool/tracer_tool.cpp | 21 ++++++++------------- 1 file changed, 8 insertions(+), 13 deletions(-) diff --git a/test/tool/tracer_tool.cpp b/test/tool/tracer_tool.cpp index 78751a7463..75c72dd09f 100644 --- a/test/tool/tracer_tool.cpp +++ b/test/tool/tracer_tool.cpp @@ -188,22 +188,17 @@ void roctx_api_callback( roctx_callback_fun(domain, cid, GetTid(), data->args.message); } -// Start/Stop callbacks -void roctx_range_stack_callback(const roctx_range_data_t* data, void* arg) { - const bool* is_stop_ptr = (bool*)arg; - const uint32_t cid = (*is_stop_ptr == true) ? ROCTX_API_ID_roctxRangePop : ROCTX_API_ID_roctxRangePushA; - const char* message = (*is_stop_ptr == true) ? NULL : data->message; - roctx_callback_fun(ACTIVITY_DOMAIN_ROCTX, cid, data->tid, message); +// rocTX Start/Stop callbacks +void roctx_range_start_callback(const roctx_range_data_t* data, void* arg) { + roctx_callback_fun(ACTIVITY_DOMAIN_ROCTX, ROCTX_API_ID_roctxRangePushA, data->tid, data->message); } -void stop_callback() { - bool is_stop = true; - roctracer::RocTxLoader::Instance().RangeStackIterate(roctx_range_stack_callback, (void*)&is_stop); -} -void start_callback() { - bool is_stop = false; - roctracer::RocTxLoader::Instance().RangeStackIterate(roctx_range_stack_callback, (void*)&is_stop); +void roctx_range_stop_callback(const roctx_range_data_t* data, void* arg) { + roctx_callback_fun(ACTIVITY_DOMAIN_ROCTX, ROCTX_API_ID_roctxRangePop, data->tid, NULL); } +void start_callback() { roctracer::RocTxLoader::Instance().RangeStackIterate(roctx_range_start_callback, NULL); } +void stop_callback() { roctracer::RocTxLoader::Instance().RangeStackIterate(roctx_range_stop_callback, NULL); } +// rocTX buffer flush function void roctx_flush_cb(roctx_trace_entry_t* entry) { std::ostringstream os; os << entry->timestamp << " " << entry->pid << ":" << entry->tid << " " << entry->cid; From 547b36f9f6b3f9fbed8f904f1ddac28ddd2d412f Mon Sep 17 00:00:00 2001 From: rkebichi <54912798+rkebichi@users.noreply.github.com> Date: Fri, 17 Jan 2020 11:23:01 -0500 Subject: [PATCH 285/691] Update gen_ostream_ops.py --- script/gen_ostream_ops.py | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/script/gen_ostream_ops.py b/script/gen_ostream_ops.py index fe3c86e364..895e980ed6 100644 --- a/script/gen_ostream_ops.py +++ b/script/gen_ostream_ops.py @@ -122,7 +122,7 @@ def process_struct(f,c,cppHeader,nname,apiname): process_struct(f,nc,cppHeader,name,apiname) -def gen_cppheader(infilepath,outfilepath): +def gen_cppheader(infilepath, includes, outfilepath): try: cppHeader = CppHeaderParser.CppHeader(infilepath) except CppHeaderParser.CppParseError as e: @@ -146,10 +146,8 @@ def gen_cppheader(infilepath,outfilepath): '#include \n' + \ '\n' + \ '#include "roctracer.h"\n' - if apiname == "KFD": - HEADER_S += '#include "hsakmt.h"\n' - if apiname == "HSA": - HEADER_S += '#include \n#include \n#include \n #include "cb_table.h"\n' + for w in includes.split(','): + HEADER_S += '#include "' + w + '"\n' f.write(HEADER_S) f.write('\n') f.write('namespace roctracer {\n') @@ -180,7 +178,6 @@ def gen_cppheader(infilepath,outfilepath): '#endif // INC_BASIC_OSTREAM_OPS_H_\n' + \ ' \n' f.write(FOOTER) - f.close() f2.close() print('File ' + outfilepath + ' generated') @@ -191,10 +188,11 @@ def gen_cppheader(infilepath,outfilepath): parser = argparse.ArgumentParser(description='genOstreamOps.py: generates ostream operators for all typedefs in provided input file.') requiredNamed = parser.add_argument_group('Required arguments') requiredNamed.add_argument('-in','--in', help='Header file to be parsed', required=True) +requiredNamed.add_argument('-includes','--inc', help='Comma separated list of include file names', required=True) requiredNamed.add_argument('-out','--out', help='Output file with ostream operators', required=True) args = vars(parser.parse_args()) if __name__ == '__main__': - gen_cppheader(args['in'],args['out']) + gen_cppheader(args['in'],args['inc'],args['out']) From fff5d9833fef18510e2e36fce1721796c571fb21 Mon Sep 17 00:00:00 2001 From: rkebichi <54912798+rkebichi@users.noreply.github.com> Date: Wed, 22 Jan 2020 14:06:58 -0500 Subject: [PATCH 286/691] Update gen_ostream_ops.py --- script/gen_ostream_ops.py | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/script/gen_ostream_ops.py b/script/gen_ostream_ops.py index 895e980ed6..2533c6d42b 100644 --- a/script/gen_ostream_ops.py +++ b/script/gen_ostream_ops.py @@ -187,12 +187,11 @@ def gen_cppheader(infilepath, includes, outfilepath): parser = argparse.ArgumentParser(description='genOstreamOps.py: generates ostream operators for all typedefs in provided input file.') requiredNamed = parser.add_argument_group('Required arguments') -requiredNamed.add_argument('-in','--in', help='Header file to be parsed', required=True) -requiredNamed.add_argument('-includes','--inc', help='Comma separated list of include file names', required=True) -requiredNamed.add_argument('-out','--out', help='Output file with ostream operators', required=True) +requiredNamed.add_argument('-in', metavar='file', help='Header file to be parsed', required=True) +requiredNamed.add_argument('-includes', metavar='list', help='Comma separated list of include file names', required=True) +requiredNamed.add_argument('-out', metavar='file', help='Output file with ostream operators', required=True) args = vars(parser.parse_args()) if __name__ == '__main__': - gen_cppheader(args['in'],args['inc'],args['out']) - + gen_cppheader(args['in'],args['includes'],args['out']) From cf2c9a2e6d354cc7d02cc7887993a9b9f60334ae Mon Sep 17 00:00:00 2001 From: rkebichi <54912798+rkebichi@users.noreply.github.com> Date: Wed, 22 Jan 2020 14:12:22 -0500 Subject: [PATCH 287/691] Update CMakeLists.txt --- src/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 44b9fd81a3..a3499b0859 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -22,7 +22,7 @@ if ( DEFINED KFD_WRAPPER ) set ( KFD_LIB_SRC ${LIB_DIR}/kfd/kfd_wrapper.cpp ) - execute_process ( COMMAND sh -xc "${ROOT_DIR}/script/gen_ostream_ops.py -in ${HSA_KMT_INC_PATH}/hsakmttypes.h -out ${ROOT_DIR}/inc/kfd_ostream_ops.h" ) + execute_process ( COMMAND sh -xc "${ROOT_DIR}/script/gen_ostream_ops.py -in ${HSA_KMT_INC_PATH}/hsakmttypes.h -includes hsakmt.h -out ${ROOT_DIR}/inc/kfd_ostream_ops.h" ) add_library ( ${KFD_LIB} SHARED ${KFD_LIB_SRC} ) target_include_directories ( ${KFD_LIB} PRIVATE ${LIB_DIR} ${ROOT_DIR} ${ROOT_DIR}/inc ${HSA_RUNTIME_INC_PATH} ${HSA_RUNTIME_HSA_INC_PATH} ${HSA_KMT_INC_PATH} ) target_link_libraries( ${KFD_LIB} PRIVATE c stdc++ ) From 8539272de861f38d451bbad155e1fae00e7b82b7 Mon Sep 17 00:00:00 2001 From: eshcherb <33529668+eshcherb@users.noreply.github.com> Date: Thu, 23 Jan 2020 17:07:42 -0600 Subject: [PATCH 288/691] Update roctracer_spec.md --- doc/roctracer_spec.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/doc/roctracer_spec.md b/doc/roctracer_spec.md index ae73ba1acb..be6dcfb367 100644 --- a/doc/roctracer_spec.md +++ b/doc/roctracer_spec.md @@ -1,5 +1,8 @@ # ROC Tracer / ROC-TX Libraries Specification ``` +ROC Tracer API version 2 +ROCTX API version 1 + - The rocTracer API is agnostic to specific runtime and may trace the runtime API calls and asynchronous GPU activity. - The rocTX API is provided for application code annotation. From fc7826533c3e49ee32d5c390b7b99dcdf8b4e920 Mon Sep 17 00:00:00 2001 From: eshcherb <33529668+eshcherb@users.noreply.github.com> Date: Thu, 23 Jan 2020 17:08:19 -0600 Subject: [PATCH 289/691] Update roctracer_spec.md --- doc/roctracer_spec.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/roctracer_spec.md b/doc/roctracer_spec.md index be6dcfb367..28f8ffcc27 100644 --- a/doc/roctracer_spec.md +++ b/doc/roctracer_spec.md @@ -1,7 +1,7 @@ # ROC Tracer / ROC-TX Libraries Specification ``` ROC Tracer API version 2 -ROCTX API version 1 +ROC-TX API version 1 - The rocTracer API is agnostic to specific runtime and may trace the runtime API calls and asynchronous GPU activity. From 2901da60a5d0c2e4fdbf3782b3a77f0ed16f6e7f Mon Sep 17 00:00:00 2001 From: rkebichi <54912798+rkebichi@users.noreply.github.com> Date: Fri, 24 Jan 2020 10:19:09 -0500 Subject: [PATCH 290/691] Update gen_ostream_ops.py --- script/gen_ostream_ops.py | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/script/gen_ostream_ops.py b/script/gen_ostream_ops.py index 2533c6d42b..38f7e757cd 100644 --- a/script/gen_ostream_ops.py +++ b/script/gen_ostream_ops.py @@ -121,8 +121,7 @@ def process_struct(f,c,cppHeader,nname,apiname): nc = c+"::" process_struct(f,nc,cppHeader,name,apiname) - -def gen_cppheader(infilepath, includes, outfilepath): +def gen_cppheader(infilepath, outfilepath): try: cppHeader = CppHeaderParser.CppHeader(infilepath) except CppHeaderParser.CppParseError as e: @@ -146,8 +145,6 @@ def gen_cppheader(infilepath, includes, outfilepath): '#include \n' + \ '\n' + \ '#include "roctracer.h"\n' - for w in includes.split(','): - HEADER_S += '#include "' + w + '"\n' f.write(HEADER_S) f.write('\n') f.write('namespace roctracer {\n') @@ -188,10 +185,9 @@ def gen_cppheader(infilepath, includes, outfilepath): parser = argparse.ArgumentParser(description='genOstreamOps.py: generates ostream operators for all typedefs in provided input file.') requiredNamed = parser.add_argument_group('Required arguments') requiredNamed.add_argument('-in', metavar='file', help='Header file to be parsed', required=True) -requiredNamed.add_argument('-includes', metavar='list', help='Comma separated list of include file names', required=True) requiredNamed.add_argument('-out', metavar='file', help='Output file with ostream operators', required=True) args = vars(parser.parse_args()) if __name__ == '__main__': - gen_cppheader(args['in'],args['includes'],args['out']) + gen_cppheader(args['in'],args['out']) From d30aabefe68c4af4bef58707044fb64396467c0c Mon Sep 17 00:00:00 2001 From: rkebichi <54912798+rkebichi@users.noreply.github.com> Date: Fri, 24 Jan 2020 10:20:40 -0500 Subject: [PATCH 291/691] Update CMakeLists.txt --- src/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index a3499b0859..44b9fd81a3 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -22,7 +22,7 @@ if ( DEFINED KFD_WRAPPER ) set ( KFD_LIB_SRC ${LIB_DIR}/kfd/kfd_wrapper.cpp ) - execute_process ( COMMAND sh -xc "${ROOT_DIR}/script/gen_ostream_ops.py -in ${HSA_KMT_INC_PATH}/hsakmttypes.h -includes hsakmt.h -out ${ROOT_DIR}/inc/kfd_ostream_ops.h" ) + execute_process ( COMMAND sh -xc "${ROOT_DIR}/script/gen_ostream_ops.py -in ${HSA_KMT_INC_PATH}/hsakmttypes.h -out ${ROOT_DIR}/inc/kfd_ostream_ops.h" ) add_library ( ${KFD_LIB} SHARED ${KFD_LIB_SRC} ) target_include_directories ( ${KFD_LIB} PRIVATE ${LIB_DIR} ${ROOT_DIR} ${ROOT_DIR}/inc ${HSA_RUNTIME_INC_PATH} ${HSA_RUNTIME_HSA_INC_PATH} ${HSA_KMT_INC_PATH} ) target_link_libraries( ${KFD_LIB} PRIVATE c stdc++ ) From d87ff09280c3e5c56d717c09639d4163e39ed78e Mon Sep 17 00:00:00 2001 From: rkebichi <54912798+rkebichi@users.noreply.github.com> Date: Mon, 27 Jan 2020 11:58:20 -0500 Subject: [PATCH 292/691] Update CMakeLists.txt --- src/CMakeLists.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 44b9fd81a3..072ded4994 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -22,7 +22,8 @@ if ( DEFINED KFD_WRAPPER ) set ( KFD_LIB_SRC ${LIB_DIR}/kfd/kfd_wrapper.cpp ) - execute_process ( COMMAND sh -xc "${ROOT_DIR}/script/gen_ostream_ops.py -in ${HSA_KMT_INC_PATH}/hsakmttypes.h -out ${ROOT_DIR}/inc/kfd_ostream_ops.h" ) + execute_process ( COMMAND sh -xc "gcc -E ${HSA_KMT_INC_PATH}/hsakmttypes.h > ${ROOT_DIR}/inc/hsakmttypes_pp.h" ) + execute_process ( COMMAND sh -xc "${ROOT_DIR}/script/gen_ostream_ops.py -in ${ROOT_DIR}/inc/hsakmttypes_pp.h -out ${ROOT_DIR}/inc/kfd_ostream_ops.h" ) add_library ( ${KFD_LIB} SHARED ${KFD_LIB_SRC} ) target_include_directories ( ${KFD_LIB} PRIVATE ${LIB_DIR} ${ROOT_DIR} ${ROOT_DIR}/inc ${HSA_RUNTIME_INC_PATH} ${HSA_RUNTIME_HSA_INC_PATH} ${HSA_KMT_INC_PATH} ) target_link_libraries( ${KFD_LIB} PRIVATE c stdc++ ) From f214221bb26190381d56a3555cce51130672f1fe Mon Sep 17 00:00:00 2001 From: Evgeny Date: Mon, 27 Jan 2020 14:30:44 -0600 Subject: [PATCH 293/691] control of trace buffer thread start --- inc/roctracer.h | 12 +--- src/core/roctracer.cpp | 37 ++++++------ src/core/trace_buffer.h | 116 ++++++++++++++++++++++++++++++-------- test/tool/tracer_tool.cpp | 105 +++++++++++++++++----------------- 4 files changed, 169 insertions(+), 101 deletions(-) diff --git a/inc/roctracer.h b/inc/roctracer.h index 1db73cee77..deffb0f6d3 100644 --- a/inc/roctracer.h +++ b/inc/roctracer.h @@ -250,20 +250,14 @@ roctracer_status_t roctracer_get_timestamp( uint64_t* timestamp); // [out] return timestamp // Load/Unload methods +bool roctracer_load(); +void roctracer_unload(); + // Set properties roctracer_status_t roctracer_set_properties( roctracer_domain_t domain, // tracing domain void* propertes); // tracing properties -typedef struct HsaApiTable HsaApiTable; -bool roctracer_load( - HsaApiTable* table, - uint64_t runtime_version, - uint64_t failed_tool_count, - const char* const* failed_tool_names); - -void roctracer_unload(bool destruct); - #ifdef __cplusplus } // extern "C" block #endif // __cplusplus diff --git a/src/core/roctracer.cpp b/src/core/roctracer.cpp index 7221be3460..b975117ae6 100644 --- a/src/core/roctracer.cpp +++ b/src/core/roctracer.cpp @@ -548,6 +548,7 @@ unsigned set_stopped(unsigned val) { } // namespace roctracer LOADER_INSTANTIATE(); +TRACE_BUFFER_INSTANTIATE(); /////////////////////////////////////////////////////////////////////////////////////////////////// // Public library methods @@ -989,6 +990,7 @@ PUBLIC_API roctracer_status_t roctracer_flush_activity_expl(roctracer_pool_t* po if (pool == NULL) pool = roctracer_default_pool(); roctracer::MemoryPool* memory_pool = reinterpret_cast(pool); memory_pool->Flush(); + roctracer::TraceBufferBase::FlushAll(); API_METHOD_SUFFIX } @@ -1045,6 +1047,12 @@ PUBLIC_API void roctracer_stop() { } } +PUBLIC_API roctracer_status_t roctracer_get_timestamp(uint64_t* timestamp) { + API_METHOD_PREFIX + *timestamp = util::HsaRsrcFactory::Instance().TimestampNs(); + API_METHOD_SUFFIX +} + // Set properties PUBLIC_API roctracer_status_t roctracer_set_properties( roctracer_domain_t domain, @@ -1053,6 +1061,8 @@ PUBLIC_API roctracer_status_t roctracer_set_properties( API_METHOD_PREFIX switch (domain) { case ACTIVITY_DOMAIN_HSA_OPS: { + roctracer::trace_buffer.StartWorkerThread(); + // HSA OPS properties roctracer::hsa_ops_properties_t* ops_properties = reinterpret_cast(properties); HsaApiTable* table = reinterpret_cast(ops_properties->table); @@ -1112,11 +1122,10 @@ PUBLIC_API roctracer_status_t roctracer_set_properties( API_METHOD_SUFFIX } -// HSA-runtime tool on-load method -PUBLIC_API bool roctracer_load(HsaApiTable* table, uint64_t runtime_version, uint64_t failed_tool_count, - const char* const* failed_tool_names) { - ONLOAD_TRACE_BEG(); +PUBLIC_API bool roctracer_load() { static bool is_loaded = false; + ONLOAD_TRACE("begin, loaded(" << is_loaded << ")"); + if (is_loaded) return true; is_loaded = true; @@ -1124,11 +1133,10 @@ PUBLIC_API bool roctracer_load(HsaApiTable* table, uint64_t runtime_version, uin return true; } -PUBLIC_API void roctracer_unload(bool destruct) { +PUBLIC_API void roctracer_unload() { static bool is_unloaded = false; - ONLOAD_TRACE("begin (" << destruct << ", " << is_unloaded << ")"); + ONLOAD_TRACE("begin, unloaded(" << is_unloaded << ")"); - if (destruct == false) return; if (is_unloaded == true) return; is_unloaded = true; @@ -1137,23 +1145,16 @@ PUBLIC_API void roctracer_unload(bool destruct) { ONLOAD_TRACE_END(); } -PUBLIC_API roctracer_status_t roctracer_get_timestamp(uint64_t* timestamp) { - API_METHOD_PREFIX - *timestamp = util::HsaRsrcFactory::Instance().TimestampNs(); - API_METHOD_SUFFIX -} - +// HSA-runtime tool on-load/unload methods PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, uint64_t failed_tool_count, const char* const* failed_tool_names) { ONLOAD_TRACE_BEG(); - const bool ret = roctracer_load(table, runtime_version, failed_tool_count, failed_tool_names); + const bool ret = roctracer_load(); ONLOAD_TRACE_END(); return ret; } PUBLIC_API void OnUnload() { - ONLOAD_TRACE_BEG(); - roctracer_unload(false); - ONLOAD_TRACE_END(); + ONLOAD_TRACE("done"); } CONSTRUCTOR_API void constructor() { @@ -1166,7 +1167,7 @@ CONSTRUCTOR_API void constructor() { DESTRUCTOR_API void destructor() { ONLOAD_TRACE_BEG(); - roctracer_unload(true); + roctracer_unload(); util::HsaRsrcFactory::Destroy(); roctracer::util::Logger::Destroy(); ONLOAD_TRACE_END(); diff --git a/src/core/trace_buffer.h b/src/core/trace_buffer.h index 0cbcb5bdda..05bc3c47b6 100644 --- a/src/core/trace_buffer.h +++ b/src/core/trace_buffer.h @@ -2,12 +2,23 @@ #define SRC_CORE_TRACE_BUFFER_H_ #include +#include #include #include +#include + #include #include #include +#define FATAL(stream) \ + do { \ + std::ostringstream oss; \ + oss << __FUNCTION__ << "(), " << stream; \ + std::cout << oss.str() << std::endl; \ + abort(); \ + } while (0) + #define PTHREAD_CALL(call) \ do { \ int err = call; \ @@ -53,8 +64,55 @@ struct trace_entry_t { }; }; +template +struct push_element_fun { + T* const elem_; + void fun(T* node) { if (node->next_elem_ == NULL) node->next_elem_ = elem_; } + push_element_fun(T* elem) : elem_(elem) {} +}; + +template +struct call_element_fun { + void (T::*fptr_)(); + void fun(T* node) { (node->*fptr_)(); } + call_element_fun(void (T::*f)()) : fptr_(f) {} +}; + +struct TraceBufferBase { + typedef std::mutex mutex_t; + + virtual void StartWorkerThread() = 0; + virtual void Flush() = 0; + + static void StartWorkerThreadAll() { foreach(call_element_fun(&TraceBufferBase::StartWorkerThread)); } + static void FlushAll() { foreach(call_element_fun(&TraceBufferBase::Flush)); } + + static void Push(TraceBufferBase* elem) { + if (head_elem_ == NULL) head_elem_ = elem; + else foreach(push_element_fun(elem)); + } + + TraceBufferBase() : next_elem_(NULL) {} + + template + static void foreach(const F& f_in) { + std::lock_guard lck(mutex_); + F f = f_in; + TraceBufferBase* p = head_elem_; + while (p != NULL) { + TraceBufferBase* next = p->next_elem_; + f.fun(p); + p = next; + } + } + + TraceBufferBase* next_elem_; + static TraceBufferBase* head_elem_; + static mutex_t mutex_; +}; + template -class TraceBuffer { +class TraceBuffer : protected TraceBufferBase { public: typedef void (*callback_t)(Entry*); typedef TraceBuffer Obj; @@ -67,7 +125,8 @@ class TraceBuffer { }; TraceBuffer(const char* name, uint32_t size, flush_prm_t* flush_prm_arr, uint32_t flush_prm_count) : - is_flushed_(false) + is_flushed_(false), + work_thread_started_(false) { name_ = strdup(name); size_ = size; @@ -80,31 +139,43 @@ class TraceBuffer { flush_prm_arr_ = flush_prm_arr; flush_prm_count_ = flush_prm_count; - PTHREAD_CALL(pthread_mutex_init(&work_mutex_, NULL)); - PTHREAD_CALL(pthread_cond_init(&work_cond_, NULL)); - PTHREAD_CALL(pthread_create(&work_thread_, NULL, allocate_worker, this)); + TraceBufferBase::Push(this); } ~TraceBuffer() { - PTHREAD_CALL(pthread_cancel(work_thread_)); - void *res; - PTHREAD_CALL(pthread_join(work_thread_, &res)); - if (res != PTHREAD_CANCELED) abort_run("~TraceBuffer: consumer thread wasn't stopped correctly"); - + StopWorkerThread(); Flush(); } + void StartWorkerThread() { + std::lock_guard lck(mutex_); + if (work_thread_started_ == false) { + PTHREAD_CALL(pthread_mutex_init(&work_mutex_, NULL)); + PTHREAD_CALL(pthread_cond_init(&work_cond_, NULL)); + PTHREAD_CALL(pthread_create(&work_thread_, NULL, allocate_worker, this)); + work_thread_started_ = true; + } + } + + void StopWorkerThread() { + std::lock_guard lck(mutex_); + if (work_thread_started_ == true) { + PTHREAD_CALL(pthread_cancel(work_thread_)); + void *res; + PTHREAD_CALL(pthread_join(work_thread_, &res)); + if (res != PTHREAD_CANCELED) FATAL("consumer thread wasn't stopped correctly"); + work_thread_started_ = false; + } + } Entry* GetEntry() { const pointer_t pointer = read_pointer_.fetch_add(1); if (pointer >= end_pointer_) wrap_buffer(pointer); - if (pointer >= end_pointer_) abort_run("pointer >= end_pointer_ after buffer wrap"); + if (pointer >= end_pointer_) FATAL("pointer >= end_pointer_ after buffer wrap"); return data_ + (pointer + size_ - end_pointer_); } - void Flush() { - flush_buf(); - } + void Flush() { flush_buf(); } private: void flush_buf() { @@ -134,7 +205,7 @@ class TraceBuffer { inline Entry* allocate_fun() { Entry* ptr = (Entry*) malloc(size_ * sizeof(Entry)); - if (ptr == NULL) abort_run("TraceBuffer::allocate_fun: calloc failed"); + if (ptr == NULL) FATAL("malloc failed"); //memset(ptr, 0, size_ * sizeof(Entry)); return ptr; } @@ -156,24 +227,20 @@ class TraceBuffer { void wrap_buffer(const pointer_t pointer) { std::lock_guard lck(mutex_); + if (work_thread_started_ == false) FATAL("worker thread is not started"); + PTHREAD_CALL(pthread_mutex_lock(&work_mutex_)); if (pointer >= end_pointer_) { data_ = next_; next_ = NULL; PTHREAD_CALL(pthread_cond_signal(&work_cond_)); end_pointer_ += size_; - if (end_pointer_ == 0) abort_run("TraceBuffer::wrap_buffer: pointer overflow"); + if (end_pointer_ == 0) FATAL("pointer overflow"); buf_list_.push_back(data_); } PTHREAD_CALL(pthread_mutex_unlock(&work_mutex_)); } - void abort_run(const char* str) { - fprintf(stderr, "%s\n", str); - fflush(stderr); - abort(); - } - const char* name_; uint32_t size_; Entry* data_; @@ -189,9 +256,14 @@ class TraceBuffer { pthread_t work_thread_; pthread_mutex_t work_mutex_; pthread_cond_t work_cond_; + bool work_thread_started_; mutex_t mutex_; }; } // namespace roctracer +#define TRACE_BUFFER_INSTANTIATE() \ + roctracer::TraceBufferBase* roctracer::TraceBufferBase::head_elem_ = NULL; \ + roctracer::TraceBufferBase::mutex_t roctracer::TraceBufferBase::mutex_; + #endif // SRC_CORE_TRACE_BUFFER_H_ diff --git a/test/tool/tracer_tool.cpp b/test/tool/tracer_tool.cpp index 75c72dd09f..fc79195f6f 100644 --- a/test/tool/tracer_tool.cpp +++ b/test/tool/tracer_tool.cpp @@ -77,6 +77,7 @@ bool trace_hip_activity = false; bool trace_kfd = false; LOADER_INSTANTIATE(); +TRACE_BUFFER_INSTANTIATE(); // Global output file handle FILE* roctx_file_handle = NULL; @@ -524,9 +525,55 @@ void close_output_file(FILE* file_handle) { if ((file_handle != NULL) && (file_handle != stdout)) fclose(file_handle); } +// tool unload method +void tool_unload() { + static bool is_unloaded = false; + ONLOAD_TRACE("begin, unloaded(" << is_unloaded << ")"); + + if (is_unloaded == true) return; + is_unloaded = true; + + roctracer_unload(); + + if (trace_roctx) { + ROCTRACER_CALL(roctracer_disable_domain_callback(ACTIVITY_DOMAIN_ROCTX)); + + roctx_trace_buffer.Flush(); + close_output_file(roctx_file_handle); + } + if (trace_hsa_api) { + ROCTRACER_CALL(roctracer_disable_domain_callback(ACTIVITY_DOMAIN_HSA_API)); + + hsa_api_trace_buffer.Flush(); + close_output_file(hsa_api_file_handle); + } + if (trace_hsa_activity) { + ROCTRACER_CALL(roctracer_disable_domain_activity(ACTIVITY_DOMAIN_HSA_OPS)); + + close_output_file(hsa_async_copy_file_handle); + } + if (trace_hip_api || trace_hip_activity) { + ROCTRACER_CALL(roctracer_disable_domain_callback(ACTIVITY_DOMAIN_HIP_API)); + ROCTRACER_CALL(roctracer_disable_domain_activity(ACTIVITY_DOMAIN_HIP_API)); + ROCTRACER_CALL(roctracer_disable_domain_activity(ACTIVITY_DOMAIN_HCC_OPS)); + ROCTRACER_CALL(roctracer_flush_activity()); + ROCTRACER_CALL(roctracer_close_pool()); + + hip_api_trace_buffer.Flush(); + close_output_file(hip_api_file_handle); + close_output_file(hcc_activity_file_handle); + } + + if (trace_kfd) { + ROCTRACER_CALL(roctracer_disable_domain_callback(ACTIVITY_DOMAIN_KFD_API)); + fclose(kfd_api_file_handle); + } + ONLOAD_TRACE_END(); +} + // HSA-runtime tool on-load method extern "C" PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, uint64_t failed_tool_count, - const char* const* failed_tool_names) { + const char* const* failed_tool_names) { ONLOAD_TRACE_BEG(); timer = new hsa_rt_utils::Timer(table->core_->hsa_system_get_info_fn); @@ -758,61 +805,15 @@ extern "C" PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, printf(")\n"); } + roctracer::TraceBufferBase::StartWorkerThreadAll(); + const bool ret = roctracer_load(); ONLOAD_TRACE_END(); - return roctracer_load(table, runtime_version, failed_tool_count, failed_tool_names); -} - -// tool unload method -void tool_unload(bool destruct) { - static bool is_unloaded = false; - ONLOAD_TRACE("begin (" << destruct <<", " << is_unloaded << ")"); - - if (destruct == false) return; - if (is_unloaded == true) return; - is_unloaded = true; - roctracer_unload(destruct); - - if (trace_roctx) { - ROCTRACER_CALL(roctracer_disable_domain_callback(ACTIVITY_DOMAIN_ROCTX)); - - roctx_trace_buffer.Flush(); - close_output_file(roctx_file_handle); - } - if (trace_hsa_api) { - ROCTRACER_CALL(roctracer_disable_domain_callback(ACTIVITY_DOMAIN_HSA_API)); - - hsa_api_trace_buffer.Flush(); - close_output_file(hsa_api_file_handle); - } - if (trace_hsa_activity) { - ROCTRACER_CALL(roctracer_disable_domain_activity(ACTIVITY_DOMAIN_HSA_OPS)); - - close_output_file(hsa_async_copy_file_handle); - } - if (trace_hip_api || trace_hip_activity) { - ROCTRACER_CALL(roctracer_disable_domain_callback(ACTIVITY_DOMAIN_HIP_API)); - ROCTRACER_CALL(roctracer_disable_domain_activity(ACTIVITY_DOMAIN_HIP_API)); - ROCTRACER_CALL(roctracer_disable_domain_activity(ACTIVITY_DOMAIN_HCC_OPS)); - ROCTRACER_CALL(roctracer_flush_activity()); - ROCTRACER_CALL(roctracer_close_pool()); - - hip_api_trace_buffer.Flush(); - close_output_file(hip_api_file_handle); - close_output_file(hcc_activity_file_handle); - } - - if (trace_kfd) { - ROCTRACER_CALL(roctracer_disable_domain_callback(ACTIVITY_DOMAIN_KFD_API)); - fclose(kfd_api_file_handle); - } - ONLOAD_TRACE_END(); + return ret; } // HSA-runtime on-unload method extern "C" PUBLIC_API void OnUnload() { - ONLOAD_TRACE_BEG(); - tool_unload(false); - ONLOAD_TRACE_END(); + ONLOAD_TRACE(""); } extern "C" CONSTRUCTOR_API void constructor() { @@ -820,6 +821,6 @@ extern "C" CONSTRUCTOR_API void constructor() { } extern "C" DESTRUCTOR_API void destructor() { ONLOAD_TRACE_BEG(); - tool_unload(true); + tool_unload(); ONLOAD_TRACE_END(); } From c73b98c2c536de18852f0a16ce8da001e6339530 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Mon, 27 Jan 2020 20:42:22 -0600 Subject: [PATCH 294/691] periodic trace flushing --- test/run.sh | 1 + test/tool/tracer_tool.cpp | 38 ++++++++++++++++++++++++++++++++++---- 2 files changed, 35 insertions(+), 4 deletions(-) diff --git a/test/run.sh b/test/run.sh index 7b7d5109b3..007ee8ffeb 100755 --- a/test/run.sh +++ b/test/run.sh @@ -81,6 +81,7 @@ eval_test "tool SYS/HSA test" ./test/MatrixTranspose # Tracing control export ROCTRACER_DOMAIN="hip" eval_test "tool period test" "ROCP_CTRL_RATE=10:100000:1000000 ./test/MatrixTranspose" +eval_test "tool flushing test" "ROCP_FLUSH_RATE=100000 ./test/MatrixTranspose" # HSA test export ROCTRACER_DOMAIN="hsa" diff --git a/test/tool/tracer_tool.cpp b/test/tool/tracer_tool.cpp index fc79195f6f..ba1f117bf1 100644 --- a/test/tool/tracer_tool.cpp +++ b/test/tool/tracer_tool.cpp @@ -123,19 +123,19 @@ void* control_thr_fun(void*) { const uint32_t len_us = control_len_us % 1000000; const uint32_t dist_sec = control_dist_us / 1000000; const uint32_t dist_us = control_dist_us % 1000000; - bool start = true; + bool to_start = true; sleep(delay_sec); usleep(delay_us); while (1) { - if (start) { - start = false; + if (to_start) { + to_start = false; roctracer_start(); sleep(len_sec); usleep(len_us); } else { - start = true; + to_start = true; roctracer_stop(); sleep(dist_sec); usleep(dist_us); @@ -143,6 +143,20 @@ void* control_thr_fun(void*) { } } +// Flushing control thread +uint32_t control_flush_us = 0; +void* flush_thr_fun(void*) { + const uint32_t dist_sec = control_flush_us / 1000000; + const uint32_t dist_us = control_flush_us % 1000000; + + while (1) { + sleep(dist_sec); + usleep(dist_us); + roctracer_flush_activity(); + roctracer::TraceBufferBase::FlushAll(); + } +} + /////////////////////////////////////////////////////////////////////////////////////////////////////// // rocTX annotation tracing @@ -784,6 +798,22 @@ extern "C" PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, } } + const char* flush_str = getenv("ROCP_FLUSH_RATE"); + if (flush_str != NULL) { + sscanf(flush_str, "%d", &control_flush_us); + if (control_flush_us == 0) { + fprintf(stderr, "ROCTracer: control flush rate bad value\n"); + abort(); + } + + fprintf(stdout, "ROCTracer: trace control flush rate(%uus)\n", control_flush_us); fflush(stdout); + pthread_t thread; + pthread_attr_t attr; + int err = pthread_attr_init(&attr); + if (err) { errno = err; perror("pthread_attr_init"); abort(); } + err = pthread_create(&thread, &attr, flush_thr_fun, NULL); + } + // Enable KFD API callbacks/activity if (trace_kfd) { kfd_api_file_handle = open_output_file(output_prefix, "kfd_api_trace.txt"); From e8e41428c71d4666082ee8dea5e411bd2803c447 Mon Sep 17 00:00:00 2001 From: rkebichi <54912798+rkebichi@users.noreply.github.com> Date: Tue, 28 Jan 2020 12:48:14 -0500 Subject: [PATCH 295/691] Update CMakeLists.txt --- src/CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 072ded4994..0bdb1af43e 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -22,8 +22,8 @@ if ( DEFINED KFD_WRAPPER ) set ( KFD_LIB_SRC ${LIB_DIR}/kfd/kfd_wrapper.cpp ) - execute_process ( COMMAND sh -xc "gcc -E ${HSA_KMT_INC_PATH}/hsakmttypes.h > ${ROOT_DIR}/inc/hsakmttypes_pp.h" ) - execute_process ( COMMAND sh -xc "${ROOT_DIR}/script/gen_ostream_ops.py -in ${ROOT_DIR}/inc/hsakmttypes_pp.h -out ${ROOT_DIR}/inc/kfd_ostream_ops.h" ) + execute_process ( COMMAND sh -xc "gcc -E ${HSA_KMT_INC_PATH}/hsakmttypes.h > ${PROJECT_BINARY_DIR}/hsakmttypes_pp.h" ) + execute_process ( COMMAND sh -xc "${ROOT_DIR}/script/gen_ostream_ops.py -in ${PROJECT_BINARY_DIR}/hsakmttypes_pp.h -out ${ROOT_DIR}/inc/kfd_ostream_ops.h" ) add_library ( ${KFD_LIB} SHARED ${KFD_LIB_SRC} ) target_include_directories ( ${KFD_LIB} PRIVATE ${LIB_DIR} ${ROOT_DIR} ${ROOT_DIR}/inc ${HSA_RUNTIME_INC_PATH} ${HSA_RUNTIME_HSA_INC_PATH} ${HSA_KMT_INC_PATH} ) target_link_libraries( ${KFD_LIB} PRIVATE c stdc++ ) From 89b292ee5c8a495a5a7220e48c209de4de769324 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Tue, 28 Jan 2020 14:21:39 -0600 Subject: [PATCH 296/691] using CMAKE_CXX_COMPILER intead of gcc --- src/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index cdbe606fe5..2dd3ed11d0 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -21,7 +21,7 @@ set ( KFD_LIB "kfdwrapper64" ) set ( KFD_LIB_SRC ${LIB_DIR}/kfd/kfd_wrapper.cpp ) -execute_process ( COMMAND sh -xc "gcc -E ${HSA_KMT_INC_PATH}/hsakmttypes.h > ${PROJECT_BINARY_DIR}/hsakmttypes_pp.h" ) +execute_process ( COMMAND sh -xc "${CMAKE_CXX_COMPILER} -E ${HSA_KMT_INC_PATH}/hsakmttypes.h > ${PROJECT_BINARY_DIR}/hsakmttypes_pp.h" ) execute_process ( COMMAND sh -xc "${ROOT_DIR}/script/gen_ostream_ops.py -in ${PROJECT_BINARY_DIR}/hsakmttypes_pp.h -out ${ROOT_DIR}/inc/kfd_ostream_ops.h" ) add_library ( ${KFD_LIB} SHARED ${KFD_LIB_SRC} ) target_include_directories ( ${KFD_LIB} PRIVATE ${LIB_DIR} ${ROOT_DIR} ${ROOT_DIR}/inc ${HSA_RUNTIME_INC_PATH} ${HSA_RUNTIME_HSA_INC_PATH} ${HSA_KMT_INC_PATH} ) From 50b47449aa823e42aa6929493a90ca2958f24ade Mon Sep 17 00:00:00 2001 From: Evgeny Date: Wed, 29 Jan 2020 22:21:22 -0600 Subject: [PATCH 297/691] git ignore generated inc/basic_ostream_ops.h --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index bd206b0038..446848fea5 100644 --- a/.gitignore +++ b/.gitignore @@ -8,6 +8,7 @@ b build inc/hsa_prof_str.h inc/kfd_prof_str.h +inc/basic_ostream_ops.h inc/kfd_ostream_ops.h test/hsa test/MatrixTranspose/MatrixTranspose From 05315465cfa0510558caa418b4cb678e9ea8d674 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Wed, 29 Jan 2020 22:39:22 -0600 Subject: [PATCH 298/691] hsa_rsrc_factory sync --- src/util/hsa_rsrc_factory.cpp | 90 +++++++++++++++++++++++++----- src/util/hsa_rsrc_factory.h | 100 +++++++++++++++++++++++++++++++++- 2 files changed, 176 insertions(+), 14 deletions(-) diff --git a/src/util/hsa_rsrc_factory.cpp b/src/util/hsa_rsrc_factory.cpp index ccb1cd9de3..e1ef92683e 100644 --- a/src/util/hsa_rsrc_factory.cpp +++ b/src/util/hsa_rsrc_factory.cpp @@ -44,9 +44,6 @@ POSSIBILITY OF SUCH DAMAGE. #include #include -#include "util/exception.h" -#include "util/logger.h" - namespace util { // Callback function to get available in the system agents @@ -149,6 +146,11 @@ HsaRsrcFactory::HsaRsrcFactory(bool initialize_hsa) : initialize_hsa_(initialize CHECK_STATUS("HSA timer allocation failed", (timer_ == NULL) ? HSA_STATUS_ERROR : HSA_STATUS_SUCCESS); + // Time correlation + const uint32_t corr_iters = 1000; + CorrelateTime(HsaTimer::TIME_ID_CLOCK_REALTIME, corr_iters); + CorrelateTime(HsaTimer::TIME_ID_CLOCK_MONOTONIC, corr_iters); + // System timeout timeout_ = (timeout_ns_ == HsaTimer::TIMESTAMP_MAX) ? timeout_ns_ : timer_->ns_to_sysclock(timeout_ns_); } @@ -192,6 +194,8 @@ void HsaRsrcFactory::InitHsaApiTable(HsaApiTable* table) { hsa_api_.hsa_executable_load_agent_code_object = table->core_->hsa_executable_load_agent_code_object_fn; hsa_api_.hsa_executable_freeze = table->core_->hsa_executable_freeze_fn; hsa_api_.hsa_executable_get_symbol = table->core_->hsa_executable_get_symbol_fn; + hsa_api_.hsa_executable_symbol_get_info = table->core_->hsa_executable_symbol_get_info_fn; + hsa_api_.hsa_executable_iterate_symbols = table->core_->hsa_executable_iterate_symbols_fn; hsa_api_.hsa_system_get_info = table->core_->hsa_system_get_info_fn; hsa_api_.hsa_system_get_major_extension_table = table->core_->hsa_system_get_major_extension_table_fn; @@ -230,6 +234,8 @@ void HsaRsrcFactory::InitHsaApiTable(HsaApiTable* table) { hsa_api_.hsa_executable_load_agent_code_object = hsa_executable_load_agent_code_object; hsa_api_.hsa_executable_freeze = hsa_executable_freeze; hsa_api_.hsa_executable_get_symbol = hsa_executable_get_symbol; + hsa_api_.hsa_executable_symbol_get_info = hsa_executable_symbol_get_info; + hsa_api_.hsa_executable_iterate_symbols = hsa_executable_iterate_symbols; hsa_api_.hsa_system_get_info = hsa_system_get_info; hsa_api_.hsa_system_get_major_extension_table = hsa_system_get_major_extension_table; @@ -336,6 +342,11 @@ const AgentInfo* HsaRsrcFactory::AddAgentInfo(const hsa_agent_t agent) { status = hsa_api_.hsa_amd_agent_iterate_memory_pools(agent, FindStandardPool, &agent_info->gpu_pool); CHECK_ITER_STATUS("hsa_amd_agent_iterate_memory_pools(gpu pool)", status); + // GFX8 and GFX9 SGPR/VGPR block sizes + agent_info->sgpr_block_dflt = (strcmp(agent_info->gfxip, "gfx8") == 0) ? 1 : 2; + agent_info->sgpr_block_size = 8; + agent_info->vgpr_block_size = 4; + // Set GPU index agent_info->dev_index = gpu_list_.size(); gpu_list_.push_back(agent_info); @@ -508,22 +519,25 @@ uint8_t* HsaRsrcFactory::AllocateCmdMemory(const AgentInfo* agent_info, size_t s } // Wait signal -void HsaRsrcFactory::SignalWait(const hsa_signal_t& signal) const { +hsa_signal_value_t HsaRsrcFactory::SignalWait(const hsa_signal_t& signal, const hsa_signal_value_t& signal_value) const { + const hsa_signal_value_t exp_value = signal_value - 1; + hsa_signal_value_t ret_value = signal_value; while (1) { - const hsa_signal_value_t signal_value = - hsa_api_.hsa_signal_wait_scacquire(signal, HSA_SIGNAL_CONDITION_LT, 1, timeout_, HSA_WAIT_STATE_BLOCKED); - if (signal_value == 0) { - break; - } else { - if (signal_value == 1) WARN_LOGGING("signal waiting..."); - else EXC_RAISING(HSA_STATUS_ERROR, "hsa_signal_wait_scacquire (" << signal_value << ")"); + ret_value = + hsa_api_.hsa_signal_wait_scacquire(signal, HSA_SIGNAL_CONDITION_LT, signal_value, timeout_, HSA_WAIT_STATE_BLOCKED); + if (ret_value == exp_value) break; + if (ret_value != signal_value) { + std::cerr << "Error: HsaRsrcFactory::SignalWait: signal_value(" << signal_value + << "), ret_value(" << ret_value << ")" << std::endl << std::flush; + abort(); } } + return ret_value; } // Wait signal with signal value restore void HsaRsrcFactory::SignalWaitRestore(const hsa_signal_t& signal, const hsa_signal_value_t& signal_value) const { - SignalWait(signal); + SignalWait(signal, signal_value); hsa_api_.hsa_signal_store_relaxed(const_cast(signal), signal_value); } @@ -536,7 +550,7 @@ bool HsaRsrcFactory::Memcpy(const hsa_agent_t& agent, void* dst, const void* src CHECK_STATUS("hsa_signal_create()", status); status = hsa_api_.hsa_amd_memory_async_copy(dst, cpu_agents_[0], src, agent, size, 0, NULL, s); CHECK_STATUS("hsa_amd_memory_async_copy()", status); - SignalWait(s); + SignalWait(s, 1); status = hsa_api_.hsa_signal_destroy(s); CHECK_STATUS("hsa_signal_destroy()", status); } @@ -680,9 +694,59 @@ uint64_t HsaRsrcFactory::Submit(hsa_queue_t* queue, const void* packet, size_t s return write_idx; } +const char* HsaRsrcFactory::GetKernelName(uint64_t addr) { + std::lock_guard lck(mutex_); + const auto it = symbols_map_->find(addr); + if (it == symbols_map_->end()) { + fprintf(stderr, "HsaRsrcFactory::kernel addr (0x%lx) is not found\n", addr); + abort(); + } + return strdup(it->second); +} + +void HsaRsrcFactory::EnableExecutableTracking(HsaApiTable* table) { + std::lock_guard lck(mutex_); + executable_tracking_on_ = true; + table->core_->hsa_executable_freeze_fn = hsa_executable_freeze_interceptor; +} + +hsa_status_t HsaRsrcFactory::executable_symbols_cb(hsa_executable_t exec, hsa_executable_symbol_t symbol, void *data) { + hsa_symbol_kind_t value = (hsa_symbol_kind_t)0; + hsa_status_t status = hsa_api_.hsa_executable_symbol_get_info(symbol, HSA_EXECUTABLE_SYMBOL_INFO_TYPE, &value); + CHECK_STATUS("Error in getting symbol info", status); + if (value == HSA_SYMBOL_KIND_KERNEL) { + uint64_t addr = 0; + uint32_t len = 0; + status = hsa_api_.hsa_executable_symbol_get_info(symbol, HSA_EXECUTABLE_SYMBOL_INFO_KERNEL_OBJECT, &addr); + CHECK_STATUS("Error in getting kernel object", status); + status = hsa_api_.hsa_executable_symbol_get_info(symbol, HSA_EXECUTABLE_SYMBOL_INFO_NAME_LENGTH, &len); + CHECK_STATUS("Error in getting name len", status); + char *name = new char[len + 1]; + status = hsa_api_.hsa_executable_symbol_get_info(symbol, HSA_EXECUTABLE_SYMBOL_INFO_NAME, name); + CHECK_STATUS("Error in getting kernel name", status); + name[len] = 0; + auto ret = symbols_map_->insert({addr, name}); + if (ret.second == false) { + delete[] ret.first->second; + ret.first->second = name; + } + } + return HSA_STATUS_SUCCESS; +} + +hsa_status_t HsaRsrcFactory::hsa_executable_freeze_interceptor(hsa_executable_t executable, const char *options) { + std::lock_guard lck(mutex_); + if (symbols_map_ == NULL) symbols_map_ = new symbols_map_t; + hsa_status_t status = hsa_api_.hsa_executable_iterate_symbols(executable, executable_symbols_cb, NULL); + CHECK_STATUS("Error in iterating executable symbols", status); + return hsa_api_.hsa_executable_freeze(executable, options);; +} + std::atomic HsaRsrcFactory::instance_{}; HsaRsrcFactory::mutex_t HsaRsrcFactory::mutex_; HsaRsrcFactory::timestamp_t HsaRsrcFactory::timeout_ns_ = HsaTimer::TIMESTAMP_MAX; hsa_pfn_t HsaRsrcFactory::hsa_api_{}; +bool HsaRsrcFactory::executable_tracking_on_ = false; +HsaRsrcFactory::symbols_map_t* HsaRsrcFactory::symbols_map_ = NULL; } // namespace util diff --git a/src/util/hsa_rsrc_factory.h b/src/util/hsa_rsrc_factory.h index 51824a5212..c52715d4e6 100644 --- a/src/util/hsa_rsrc_factory.h +++ b/src/util/hsa_rsrc_factory.h @@ -35,6 +35,7 @@ POSSIBILITY OF SUCH DAMAGE. #include #include #include +#include #include #include @@ -94,6 +95,8 @@ struct hsa_pfn_t { decltype(hsa_executable_load_agent_code_object)* hsa_executable_load_agent_code_object; decltype(hsa_executable_freeze)* hsa_executable_freeze; decltype(hsa_executable_get_symbol)* hsa_executable_get_symbol; + decltype(hsa_executable_symbol_get_info)* hsa_executable_symbol_get_info; + decltype(hsa_executable_iterate_symbols)* hsa_executable_iterate_symbols; decltype(hsa_system_get_info)* hsa_system_get_info; decltype(hsa_system_get_major_extension_table)* hsa_system_get_major_extension_table; @@ -159,6 +162,11 @@ struct AgentInfo { // Number of Shader Arrays Per Shader Engines in Gpu uint32_t shader_arrays_per_se; + + // SGPR/VGPR block sizes + uint32_t sgpr_block_dflt; + uint32_t sgpr_block_size; + uint32_t vgpr_block_size; }; // HSA timer class @@ -169,6 +177,12 @@ class HsaTimer { static const timestamp_t TIMESTAMP_MAX = UINT64_MAX; typedef long double freq_t; + enum time_id_t { + TIME_ID_CLOCK_REALTIME = 0, + TIME_ID_CLOCK_MONOTONIC = 1, + TIME_ID_NUMBER + }; + HsaTimer(const hsa_pfn_t* hsa_api) : hsa_api_(hsa_api) { timestamp_t sysclock_hz = 0; hsa_status_t status = hsa_api_->hsa_system_get_info(HSA_SYSTEM_INFO_TIMESTAMP_FREQUENCY, &sysclock_hz); @@ -184,6 +198,11 @@ class HsaTimer { return timestamp_t((freq_t)time / sysclock_factor_); } + // Method for timespec/ns conversion + timestamp_t timespec_to_ns(const timespec& time) const { + return ((timestamp_t)time.tv_sec * 1000000000) + time.tv_nsec; + } + // Return timestamp in 'ns' timestamp_t timestamp_ns() const { timestamp_t sysclock; @@ -192,6 +211,54 @@ class HsaTimer { return sysclock_to_ns(sysclock); } + // Return time in 'ns' + timestamp_t clocktime_ns(clockid_t clock_id) const { + timespec time; + clock_gettime(clock_id, &time); + return timespec_to_ns(time); + } + + // Return pair of correlated values of profiling timestamp and time with + // correlation error for a given time ID and number of iterations + void correlated_pair_ns(time_id_t time_id, uint32_t iters, + timestamp_t* timestamp_v, timestamp_t* time_v, timestamp_t* error_v) { + clockid_t clock_id = 0; + switch (clock_id) { + case TIME_ID_CLOCK_REALTIME: + clock_id = CLOCK_REALTIME; + break; + case TIME_ID_CLOCK_MONOTONIC: + clock_id = CLOCK_MONOTONIC; + break; + default: + CHECK_STATUS("internal error: invalid time_id", HSA_STATUS_ERROR); + } + + std::vector ts_vec(iters); + std::vector tm_vec(iters); + const uint32_t steps = iters - 1; + + for (uint32_t i = 0; i < iters; ++i) { + hsa_api_->hsa_system_get_info(HSA_SYSTEM_INFO_TIMESTAMP, &ts_vec[i]); + clock_gettime(clock_id, &tm_vec[i]); + } + + const timestamp_t ts_base = sysclock_to_ns(ts_vec.front()); + const timestamp_t tm_base = timespec_to_ns(tm_vec.front()); + const timestamp_t error = (ts_vec.back() - ts_vec.front()) / (2 * steps); + + timestamp_t ts_accum = 0; + timestamp_t tm_accum = 0; + for (uint32_t i = 0; i < iters; ++i) { + ts_accum += (ts_vec[i] - ts_base); + tm_accum += (timespec_to_ns(tm_vec[i]) - tm_base); + } + + *timestamp_v = (ts_accum / iters) + ts_base + error; + *time_v = (tm_accum / iters) + tm_base; + *error_v = error; + } + private: // Timestamp frequency factor freq_t sysclock_factor_; @@ -293,7 +360,7 @@ class HsaRsrcFactory { uint8_t* AllocateCmdMemory(const AgentInfo* agent_info, size_t size); // Wait signal - void SignalWait(const hsa_signal_t& signal) const; + hsa_signal_value_t SignalWait(const hsa_signal_t& signal, const hsa_signal_value_t& signal_value) const; // Wait signal with signal value restore void SignalWaitRestore(const hsa_signal_t& signal, const hsa_signal_value_t& signal_value) const; @@ -322,6 +389,11 @@ class HsaRsrcFactory { static uint64_t Submit(hsa_queue_t* queue, const void* packet); static uint64_t Submit(hsa_queue_t* queue, const void* packet, size_t size_bytes); + // Enable executables loading tracking + static bool IsExecutableTracking() { return executable_tracking_on_; } + static void EnableExecutableTracking(HsaApiTable* table); + static const char* GetKernelName(uint64_t addr); + // Initialize HSA API table void static InitHsaApiTable(HsaApiTable* table); static const hsa_pfn_t* HsaApi() { return &hsa_api_; } @@ -346,6 +418,21 @@ class HsaRsrcFactory { if (instance_ != NULL) Instance().timeout_ = Instance().timer_->ns_to_sysclock(time); } + void CorrelateTime(HsaTimer::time_id_t time_id, uint32_t iters) { + timestamp_t timestamp_v = 0; + timestamp_t time_v = 0; + timestamp_t error_v = 0; + timer_->correlated_pair_ns(time_id, iters, ×tamp_v, &time_v, &error_v); + time_shift_[time_id] = time_v - timestamp_v; + time_error_[time_id] = error_v; + } + + hsa_status_t GetTime(uint32_t time_id, uint64_t value, uint64_t* time) { + if (time_id >= HsaTimer::TIME_ID_NUMBER) return HSA_STATUS_ERROR; + *time = value + time_shift_[time_id]; + return HSA_STATUS_SUCCESS; + } + private: // System agents iterating callback static hsa_status_t GetHsaAgentsCallback(hsa_agent_t agent, void* data); @@ -386,6 +473,13 @@ class HsaRsrcFactory { // System agents map std::map agent_map_; + // Executables loading tracking + typedef std::map symbols_map_t; + static symbols_map_t* symbols_map_; + static bool executable_tracking_on_; + static hsa_status_t hsa_executable_freeze_interceptor(hsa_executable_t executable, const char *options); + static hsa_status_t executable_symbols_cb(hsa_executable_t exec, hsa_executable_symbol_t symbol, void *data); + // HSA runtime API table static hsa_pfn_t hsa_api_; @@ -403,6 +497,10 @@ class HsaRsrcFactory { // HSA timer HsaTimer* timer_; + // Time shift array to support time conversion + timestamp_t time_shift_[HsaTimer::TIME_ID_NUMBER]; + timestamp_t time_error_[HsaTimer::TIME_ID_NUMBER]; + // CPU/kern-arg memory pools hsa_amd_memory_pool_t *cpu_pool_; hsa_amd_memory_pool_t *kern_arg_pool_; From b43eef92be15b91c8dbeb3f884cb90b6778c8517 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Wed, 29 Jan 2020 22:44:41 -0600 Subject: [PATCH 299/691] hsa_rsrc_factory sync test --- test/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 38750ba5a9..8cff137c25 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -54,7 +54,7 @@ target_link_libraries ( ${TEST_LIB} ${ROCTRACER_TARGET} ${HSA_RUNTIME_LIB} c std ## Build HSA test execute_process ( COMMAND sh -xc "if [ ! -e ${TEST_DIR}/hsa ] ; then git clone https://github.com/ROCmSoftwarePlatform/hsa-class.git ${TEST_DIR}/hsa; fi" ) -execute_process ( COMMAND sh -xc "if [ -e ${TEST_DIR}/hsa ] ; then cd ${TEST_DIR}/hsa && git fetch origin && git checkout a3aabb5; fi" ) +execute_process ( COMMAND sh -xc "if [ -e ${TEST_DIR}/hsa ] ; then cd ${TEST_DIR}/hsa && git fetch origin && git checkout fff0102; fi" ) set ( TEST_DIR ${HSA_TEST_DIR} ) add_subdirectory ( ${TEST_DIR} ${PROJECT_BINARY_DIR}/test/hsa ) From e9087dcd8601613af1dfca8aba8cf4260a1ba419 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Wed, 29 Jan 2020 23:39:08 -0600 Subject: [PATCH 300/691] saving time for roctx records --- src/util/hsa_rsrc_factory.h | 14 ++++++++++---- test/CMakeLists.txt | 2 +- test/tool/tracer_tool.cpp | 11 +++++++---- 3 files changed, 18 insertions(+), 9 deletions(-) diff --git a/src/util/hsa_rsrc_factory.h b/src/util/hsa_rsrc_factory.h index c52715d4e6..466ccf1f95 100644 --- a/src/util/hsa_rsrc_factory.h +++ b/src/util/hsa_rsrc_factory.h @@ -199,7 +199,7 @@ class HsaTimer { } // Method for timespec/ns conversion - timestamp_t timespec_to_ns(const timespec& time) const { + static timestamp_t timespec_to_ns(const timespec& time) { return ((timestamp_t)time.tv_sec * 1000000000) + time.tv_nsec; } @@ -212,7 +212,7 @@ class HsaTimer { } // Return time in 'ns' - timestamp_t clocktime_ns(clockid_t clock_id) const { + static timestamp_t clocktime_ns(clockid_t clock_id) { timespec time; clock_gettime(clock_id, &time); return timespec_to_ns(time); @@ -221,7 +221,7 @@ class HsaTimer { // Return pair of correlated values of profiling timestamp and time with // correlation error for a given time ID and number of iterations void correlated_pair_ns(time_id_t time_id, uint32_t iters, - timestamp_t* timestamp_v, timestamp_t* time_v, timestamp_t* error_v) { + timestamp_t* timestamp_v, timestamp_t* time_v, timestamp_t* error_v) const { clockid_t clock_id = 0; switch (clock_id) { case TIME_ID_CLOCK_REALTIME: @@ -427,12 +427,18 @@ class HsaRsrcFactory { time_error_[time_id] = error_v; } - hsa_status_t GetTime(uint32_t time_id, uint64_t value, uint64_t* time) { + hsa_status_t GetTime(uint32_t time_id, timestamp_t value, uint64_t* time) { if (time_id >= HsaTimer::TIME_ID_NUMBER) return HSA_STATUS_ERROR; *time = value + time_shift_[time_id]; return HSA_STATUS_SUCCESS; } + hsa_status_t GetTimestamp(uint32_t time_id, uint64_t value, timestamp_t* timestamp) { + if (time_id >= HsaTimer::TIME_ID_NUMBER) return HSA_STATUS_ERROR; + *timestamp = value - time_shift_[time_id]; + return HSA_STATUS_SUCCESS; + } + private: // System agents iterating callback static hsa_status_t GetHsaAgentsCallback(hsa_agent_t agent, void* data); diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 8cff137c25..03a8695f15 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -54,7 +54,7 @@ target_link_libraries ( ${TEST_LIB} ${ROCTRACER_TARGET} ${HSA_RUNTIME_LIB} c std ## Build HSA test execute_process ( COMMAND sh -xc "if [ ! -e ${TEST_DIR}/hsa ] ; then git clone https://github.com/ROCmSoftwarePlatform/hsa-class.git ${TEST_DIR}/hsa; fi" ) -execute_process ( COMMAND sh -xc "if [ -e ${TEST_DIR}/hsa ] ; then cd ${TEST_DIR}/hsa && git fetch origin && git checkout fff0102; fi" ) +execute_process ( COMMAND sh -xc "if [ -e ${TEST_DIR}/hsa ] ; then cd ${TEST_DIR}/hsa && git fetch origin && git checkout 777c308; fi" ) set ( TEST_DIR ${HSA_TEST_DIR} ) add_subdirectory ( ${TEST_DIR} ${PROJECT_BINARY_DIR}/test/hsa ) diff --git a/test/tool/tracer_tool.cpp b/test/tool/tracer_tool.cpp index ba1f117bf1..33b8210914 100644 --- a/test/tool/tracer_tool.cpp +++ b/test/tool/tracer_tool.cpp @@ -43,6 +43,8 @@ THE SOFTWARE. #include #include +#include "util/hsa_rsrc_factory.h" + #define PUBLIC_API __attribute__((visibility("default"))) #define CONSTRUCTOR_API __attribute__((constructor)) #define DESTRUCTOR_API __attribute__((destructor)) @@ -164,7 +166,7 @@ struct roctx_trace_entry_t { uint32_t valid; uint32_t type; uint32_t cid; - timestamp_t timestamp; + timestamp_t time; uint32_t pid; uint32_t tid; const char* message; @@ -181,12 +183,11 @@ static inline void roctx_callback_fun( uint32_t tid, const char* message) { - const timestamp_t timestamp = timer->timestamp_fn_ns(); roctx_trace_entry_t* entry = roctx_trace_buffer.GetEntry(); entry->valid = roctracer::TRACE_ENTRY_COMPL; entry->type = 0; entry->cid = cid; - entry->timestamp = timestamp; + entry->time = HsaTimer::clocktime_ns(HsaTimer::TIME_ID_CLOCK_MONOTONIC); entry->pid = GetPid(); entry->tid = tid; entry->message = (message != NULL) ? strdup(message) : NULL; @@ -215,8 +216,10 @@ void stop_callback() { roctracer::RocTxLoader::Instance().RangeStackIterate(roct // rocTX buffer flush function void roctx_flush_cb(roctx_trace_entry_t* entry) { + timestamp_t timestamp = 0; + HsaRsrcFactory::Instance().GetTimestamp(HsaTimer::TIME_ID_CLOCK_MONOTONIC, entry->time, ×tamp); std::ostringstream os; - os << entry->timestamp << " " << entry->pid << ":" << entry->tid << " " << entry->cid; + os << timestamp << " " << entry->pid << ":" << entry->tid << " " << entry->cid; if (entry->message != NULL) os << ":\"" << entry->message << "\""; else os << ":\"\""; fprintf(roctx_file_handle, "%s\n", os.str().c_str()); fflush(roctx_file_handle); From f22bf1e97250ddb653d9a9668bf0a94d78c04a77 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Wed, 29 Jan 2020 23:46:38 -0600 Subject: [PATCH 301/691] constructor partial initialization --- test/tool/tracer_tool.cpp | 162 +++++++++++++++++++++----------------- 1 file changed, 89 insertions(+), 73 deletions(-) diff --git a/test/tool/tracer_tool.cpp b/test/tool/tracer_tool.cpp index 33b8210914..14373f93e0 100644 --- a/test/tool/tracer_tool.cpp +++ b/test/tool/tracer_tool.cpp @@ -77,6 +77,9 @@ bool trace_hsa_activity = false; bool trace_hip_api = false; bool trace_hip_activity = false; bool trace_kfd = false; +// API trace vector +std::vector hsa_api_vec; +std::vector kfd_api_vec; LOADER_INSTANTIATE(); TRACE_BUFFER_INSTANTIATE(); @@ -585,14 +588,17 @@ void tool_unload() { ROCTRACER_CALL(roctracer_disable_domain_callback(ACTIVITY_DOMAIN_KFD_API)); fclose(kfd_api_file_handle); } + ONLOAD_TRACE_END(); } -// HSA-runtime tool on-load method -extern "C" PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, uint64_t failed_tool_count, - const char* const* failed_tool_names) { - ONLOAD_TRACE_BEG(); - timer = new hsa_rt_utils::Timer(table->core_->hsa_system_get_info_fn); +// tool load method +void tool_load() { + static bool is_loaded = false; + ONLOAD_TRACE("begin, loaded(" << is_loaded << ")"); + + if (is_loaded == true) return; + is_loaded = true; // Output file const char* output_prefix = getenv("ROCP_OUTPUT_DIR"); @@ -635,10 +641,6 @@ extern "C" PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, } } - // API trace vector - std::vector hsa_api_vec; - std::vector kfd_api_vec; - printf("ROCTracer (pid=%d): ", (int)GetPid()); fflush(stdout); // XML input @@ -710,67 +712,6 @@ extern "C" PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, ROCTRACER_CALL(roctracer_enable_domain_callback(ACTIVITY_DOMAIN_ROCTX, roctx_api_callback, NULL)); } - // Enable HSA API callbacks/activity - if (trace_hsa_api) { - hsa_api_file_handle = open_output_file(output_prefix, "hsa_api_trace.txt"); - - // initialize HSA tracing - roctracer_set_properties(ACTIVITY_DOMAIN_HSA_API, (void*)table); - - fprintf(stdout, " HSA-trace("); fflush(stdout); - if (hsa_api_vec.size() != 0) { - for (unsigned i = 0; i < hsa_api_vec.size(); ++i) { - uint32_t cid = HSA_API_ID_NUMBER; - const char* api = hsa_api_vec[i].c_str(); - ROCTRACER_CALL(roctracer_op_code(ACTIVITY_DOMAIN_HSA_API, api, &cid, NULL)); - ROCTRACER_CALL(roctracer_enable_op_callback(ACTIVITY_DOMAIN_HSA_API, cid, hsa_api_callback, NULL)); - printf(" %s", api); - } - } else { - ROCTRACER_CALL(roctracer_enable_domain_callback(ACTIVITY_DOMAIN_HSA_API, hsa_api_callback, NULL)); - } - printf(")\n"); - } - - // Enable HSA GPU activity - if (trace_hsa_activity) { - hsa_async_copy_file_handle = open_output_file(output_prefix, "async_copy_trace.txt"); - - // initialize HSA tracing - roctracer::hsa_ops_properties_t ops_properties { - table, - reinterpret_cast(hsa_activity_callback), - NULL, - output_prefix - }; - roctracer_set_properties(ACTIVITY_DOMAIN_HSA_OPS, &ops_properties); - - fprintf(stdout, " HSA-activity-trace()\n"); fflush(stdout); - ROCTRACER_CALL(roctracer_enable_domain_activity(ACTIVITY_DOMAIN_HSA_OPS)); - } - - // Enable HIP API callbacks/activity - if (trace_hip_api || trace_hip_activity) { - hip_api_file_handle = open_output_file(output_prefix, "hip_api_trace.txt"); - hcc_activity_file_handle = open_output_file(output_prefix, "hcc_ops_trace.txt"); - - fprintf(stdout, " HIP-trace()\n"); fflush(stdout); - // roctracer properties - roctracer_set_properties(ACTIVITY_DOMAIN_HIP_API, (void*)mark_api_callback); - // Allocating tracing pool - roctracer_properties_t properties{}; - properties.buffer_size = 0x80000; - properties.buffer_callback_fun = hcc_activity_callback; - ROCTRACER_CALL(roctracer_open_pool(&properties)); - if (trace_hip_api) { - ROCTRACER_CALL(roctracer_enable_domain_callback(ACTIVITY_DOMAIN_HIP_API, hip_api_callback, NULL)); - ROCTRACER_CALL(roctracer_enable_domain_activity(ACTIVITY_DOMAIN_HIP_API)); - } - if (trace_hip_activity) { - ROCTRACER_CALL(roctracer_enable_domain_activity(ACTIVITY_DOMAIN_HCC_OPS)); - } - } - const char* ctrl_str = getenv("ROCP_CTRL_RATE"); if (ctrl_str != NULL) { uint32_t ctrl_delay = 0; @@ -839,9 +780,82 @@ extern "C" PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, } roctracer::TraceBufferBase::StartWorkerThreadAll(); - const bool ret = roctracer_load(); + roctracer_load(); + ONLOAD_TRACE_END(); - return ret; +} + +// HSA-runtime tool on-load method +extern "C" PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, uint64_t failed_tool_count, + const char* const* failed_tool_names) { + ONLOAD_TRACE_BEG(); + timer = new hsa_rt_utils::Timer(table->core_->hsa_system_get_info_fn); + + const char* output_prefix = getenv("ROCP_OUTPUT_DIR"); + + // Enable HSA API callbacks/activity + if (trace_hsa_api) { + hsa_api_file_handle = open_output_file(output_prefix, "hsa_api_trace.txt"); + + // initialize HSA tracing + roctracer_set_properties(ACTIVITY_DOMAIN_HSA_API, (void*)table); + + fprintf(stdout, " HSA-trace("); fflush(stdout); + if (hsa_api_vec.size() != 0) { + for (unsigned i = 0; i < hsa_api_vec.size(); ++i) { + uint32_t cid = HSA_API_ID_NUMBER; + const char* api = hsa_api_vec[i].c_str(); + ROCTRACER_CALL(roctracer_op_code(ACTIVITY_DOMAIN_HSA_API, api, &cid, NULL)); + ROCTRACER_CALL(roctracer_enable_op_callback(ACTIVITY_DOMAIN_HSA_API, cid, hsa_api_callback, NULL)); + printf(" %s", api); + } + } else { + ROCTRACER_CALL(roctracer_enable_domain_callback(ACTIVITY_DOMAIN_HSA_API, hsa_api_callback, NULL)); + } + printf(")\n"); + } + + // Enable HSA GPU activity + if (trace_hsa_activity) { + hsa_async_copy_file_handle = open_output_file(output_prefix, "async_copy_trace.txt"); + + // initialize HSA tracing + roctracer::hsa_ops_properties_t ops_properties { + table, + reinterpret_cast(hsa_activity_callback), + NULL, + output_prefix + }; + roctracer_set_properties(ACTIVITY_DOMAIN_HSA_OPS, &ops_properties); + + fprintf(stdout, " HSA-activity-trace()\n"); fflush(stdout); + ROCTRACER_CALL(roctracer_enable_domain_activity(ACTIVITY_DOMAIN_HSA_OPS)); + } + + // Enable HIP API callbacks/activity + if (trace_hip_api || trace_hip_activity) { + hip_api_file_handle = open_output_file(output_prefix, "hip_api_trace.txt"); + hcc_activity_file_handle = open_output_file(output_prefix, "hcc_ops_trace.txt"); + + fprintf(stdout, " HIP-trace()\n"); fflush(stdout); + // roctracer properties + roctracer_set_properties(ACTIVITY_DOMAIN_HIP_API, (void*)mark_api_callback); + // Allocating tracing pool + roctracer_properties_t properties{}; + properties.buffer_size = 0x80000; + properties.buffer_callback_fun = hcc_activity_callback; + ROCTRACER_CALL(roctracer_open_pool(&properties)); + if (trace_hip_api) { + ROCTRACER_CALL(roctracer_enable_domain_callback(ACTIVITY_DOMAIN_HIP_API, hip_api_callback, NULL)); + ROCTRACER_CALL(roctracer_enable_domain_activity(ACTIVITY_DOMAIN_HIP_API)); + } + if (trace_hip_activity) { + ROCTRACER_CALL(roctracer_enable_domain_activity(ACTIVITY_DOMAIN_HCC_OPS)); + } + } + + ONLOAD_TRACE_END(); + return true; } // HSA-runtime on-unload method @@ -850,7 +864,9 @@ extern "C" PUBLIC_API void OnUnload() { } extern "C" CONSTRUCTOR_API void constructor() { - ONLOAD_TRACE("") + ONLOAD_TRACE_BEG(); + tool_load(); + ONLOAD_TRACE_END(); } extern "C" DESTRUCTOR_API void destructor() { ONLOAD_TRACE_BEG(); From 941622e6b94fe39b445569524419ce985b1353e4 Mon Sep 17 00:00:00 2001 From: rkebichi <54912798+rkebichi@users.noreply.github.com> Date: Fri, 31 Jan 2020 11:01:11 -0500 Subject: [PATCH 302/691] Create parse_trace.py script to parse roctracer .txt trace files --- script/parse_trace.py | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 script/parse_trace.py diff --git a/script/parse_trace.py b/script/parse_trace.py new file mode 100644 index 0000000000..86ab68b308 --- /dev/null +++ b/script/parse_trace.py @@ -0,0 +1,39 @@ +#!/usr/bin/python + +import os, sys, re +import argparse + +events_count = {} +events_order = [] + +def parse_trace(tracefile,cnt,order): + with open(tracefile) as f: + for line in f: + event_pattern = re.compile(r'<(\w+)\s+id\(\d+\)\s+.*') + m = event_pattern.match(line) + if m: + event = m.group(1) + if cnt: + if event in events_count: + events_count[event] = events_count[event] + 1 + else: + events_count[event] = 1 + if order: + events_order.append(event) + if cnt: + for event,count in events_count.items(): + print event + ": count " + str(count) + if order: + print events_order + +parser = argparse.ArgumentParser(description='parse_trace.py: reads roctracer trace file and parses it.') +parser.add_argument('-cn', action='store_true',help='Generates events count') +parser.add_argument('-or', action='store_true',help='Generates ordered events') +requiredNamed = parser.add_argument_group('Required arguments') +requiredNamed.add_argument('-in', metavar='file', help='Trace file', required=True) + +args = vars(parser.parse_args()) + +if __name__ == '__main__': + parse_trace(args['in'],args['cn'],args['or']) + From e3879bc5c11f3220ff1fcb04fd327e0f05e60230 Mon Sep 17 00:00:00 2001 From: rkebichi <54912798+rkebichi@users.noreply.github.com> Date: Fri, 31 Jan 2020 11:14:29 -0500 Subject: [PATCH 303/691] Update run.sh --- test/run.sh | 67 +++++++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 55 insertions(+), 12 deletions(-) diff --git a/test/run.sh b/test/run.sh index af56efe5f3..55aa07e54f 100755 --- a/test/run.sh +++ b/test/run.sh @@ -33,10 +33,19 @@ if [ -n "$1" ] ; then test_filter=$1 fi +# traces comparison +trace_level=0 +# 0 is no trace comparison +# 1 is events count comparison +# 2 is events order comparison +if [ -n "$2" ] ; then + trace_level=$2 +fi + # debugger debugger="" -if [ -n "$2" ] ; then - debugger=$2 +if [ -n "$3" ] ; then + debugger=$3 fi # test check routin @@ -49,15 +58,44 @@ xeval_test() { eval_test() { label=$1 cmdline=$2 + trace="${3}.txt" + rtrace="${3}_r.txt" if [ $test_filter = -1 -o $test_filter = $test_number ] ; then echo "$label: \"$cmdline\"" test_runnum=$((test_runnum + 1)) - eval "$debugger $cmdline" + eval "$debugger $cmdline" | tee $rtrace if [ $? != 0 ] ; then echo "$label: FAILED" test_status=$(($test_status + 1)) else - echo "$label: PASSED" + case "$trace_level" in + "0") echo "$label: PASSED" + ;; + "1") + cnt_r=`../script/parse_trace.py -in $rtrace -cn` + cnt=`../script/parse_trace.py -in $trace -cn` + if [ "$cnt_r" = "$cnt" ] ; then + echo "$label: PASSED (trace compare, events count)" + else + echo "$label: FAILED (trace compare, events count)" + test_status=$(($test_status + 1)) + fi + ;; + "2") + cnt_r=`../script/parse_trace.py -in $rtrace -or` + cnt=`../script/parse_trace.py -in $trace -or` + if [ "$cnt_r" = "$cnt" ] ; then + echo "$label: PASSED (trace compare, events order)" + else + echo "$label: FAILED (trace compare, events order)" + echo "===cnt_r===" + echo $cnt_r + echo "===cnt===" + echo $cnt + test_status=$(($test_status + 1)) + fi + ;; + esac fi fi test_number=$((test_number + 1)) @@ -65,17 +103,22 @@ eval_test() { # Standalone test # rocTrecer is used explicitely by test -eval_test "standalone HIP test" "./test/MatrixTranspose_test" +eval_test "standalone C test" "LD_PRELOAD=libkfdwrapper64.so ./test/MatrixTranspose_ctest" "MatrixTranspose_ctest_trace" +eval_test "standalone HIP test" "LD_PRELOAD=libkfdwrapper64.so ./test/MatrixTranspose_test" "MatrixTranspose_test_trace" +eval_test "standalone HIP MGPU test" "LD_PRELOAD=libkfdwrapper64.so ./test/MatrixTranspose_mgpu" "MatrixTranspose_mgpu_trace" # Tool test # rocTracer/tool is loaded by HSA runtime export HSA_TOOLS_LIB="test/libtracer_tool.so" -export ROCTRACER_DOMAIN="hip" -# HIP test -eval_test "tool HIP test" ./test/MatrixTranspose -# with trace sampling control -eval_test "tool HIP period test" "ROCP_CTRL_RATE=10:100000:1000000 ./test/MatrixTranspose" +# SYS test +export ROCTRACER_DOMAIN="sys:roctx" +eval_test "tool SYS test" ./test/MatrixTranspose "MatrixTranspose_sys_trace" +export ROCTRACER_DOMAIN="sys:hsa:roctx" +eval_test "tool SYS/HSA test" ./test/MatrixTranspose "MatrixTranspose_sys_hsa_trace" +# Tracing control +export ROCTRACER_DOMAIN="hip" +eval_test "tool period test" "ROCP_CTRL_RATE=10:100000:1000000 ./test/MatrixTranspose" "MatrixTranspose_hip_trace" # HSA test export ROCTRACER_DOMAIN="hsa" @@ -92,11 +135,11 @@ export ROCP_AGENTS=1 # each thread creates a queue pre GPU agent export ROCP_THRS=1 -eval_test "tool HSA test" ./test/hsa/ctrl +eval_test "tool HSA test" ./test/hsa/ctrl "ctrl_hsa_trace" echo "" > input.xml export ROCP_INPUT=input.xml -eval_test "tool HSA test input" ./test/hsa/ctrl +eval_test "tool HSA test input" ./test/hsa/ctrl "ctrl_hsa_input_trace" #valgrind --leak-check=full $tbin #valgrind --tool=massif $tbin From ea1eb05ecd05dbd3caa880d66fe9b080f8d57b6b Mon Sep 17 00:00:00 2001 From: rkebichi <54912798+rkebichi@users.noreply.github.com> Date: Fri, 31 Jan 2020 15:51:30 -0500 Subject: [PATCH 304/691] Update run.sh --- test/run.sh | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/test/run.sh b/test/run.sh index 55aa07e54f..f4aeaa3d3d 100755 --- a/test/run.sh +++ b/test/run.sh @@ -72,6 +72,7 @@ eval_test() { "0") echo "$label: PASSED" ;; "1") + echo "../script/parse_trace.py -in $rtrace -cn" cnt_r=`../script/parse_trace.py -in $rtrace -cn` cnt=`../script/parse_trace.py -in $trace -cn` if [ "$cnt_r" = "$cnt" ] ; then @@ -82,16 +83,13 @@ eval_test() { fi ;; "2") + echo "../script/parse_trace.py -in $rtrace -or" cnt_r=`../script/parse_trace.py -in $rtrace -or` cnt=`../script/parse_trace.py -in $trace -or` if [ "$cnt_r" = "$cnt" ] ; then echo "$label: PASSED (trace compare, events order)" else echo "$label: FAILED (trace compare, events order)" - echo "===cnt_r===" - echo $cnt_r - echo "===cnt===" - echo $cnt test_status=$(($test_status + 1)) fi ;; @@ -103,9 +101,9 @@ eval_test() { # Standalone test # rocTrecer is used explicitely by test -eval_test "standalone C test" "LD_PRELOAD=libkfdwrapper64.so ./test/MatrixTranspose_ctest" "MatrixTranspose_ctest_trace" -eval_test "standalone HIP test" "LD_PRELOAD=libkfdwrapper64.so ./test/MatrixTranspose_test" "MatrixTranspose_test_trace" -eval_test "standalone HIP MGPU test" "LD_PRELOAD=libkfdwrapper64.so ./test/MatrixTranspose_mgpu" "MatrixTranspose_mgpu_trace" +eval_test "standalone C test" "LD_PRELOAD=libkfdwrapper64.so ./test/MatrixTranspose_ctest" "test/MatrixTranspose_ctest_trace" +eval_test "standalone HIP test" "LD_PRELOAD=libkfdwrapper64.so ./test/MatrixTranspose_test" "test/MatrixTranspose_test_trace" +eval_test "standalone HIP MGPU test" "LD_PRELOAD=libkfdwrapper64.so ./test/MatrixTranspose_mgpu" "test/MatrixTranspose_mgpu_trace" # Tool test # rocTracer/tool is loaded by HSA runtime @@ -113,12 +111,12 @@ export HSA_TOOLS_LIB="test/libtracer_tool.so" # SYS test export ROCTRACER_DOMAIN="sys:roctx" -eval_test "tool SYS test" ./test/MatrixTranspose "MatrixTranspose_sys_trace" +eval_test "tool SYS test" ./test/MatrixTranspose "test/MatrixTranspose_sys_trace" export ROCTRACER_DOMAIN="sys:hsa:roctx" -eval_test "tool SYS/HSA test" ./test/MatrixTranspose "MatrixTranspose_sys_hsa_trace" +eval_test "tool SYS/HSA test" ./test/MatrixTranspose "test/MatrixTranspose_sys_hsa_trace" # Tracing control export ROCTRACER_DOMAIN="hip" -eval_test "tool period test" "ROCP_CTRL_RATE=10:100000:1000000 ./test/MatrixTranspose" "MatrixTranspose_hip_trace" +eval_test "tool period test" "ROCP_CTRL_RATE=10:100000:1000000 ./test/MatrixTranspose" "test/MatrixTranspose_hip_trace" # HSA test export ROCTRACER_DOMAIN="hsa" @@ -135,11 +133,11 @@ export ROCP_AGENTS=1 # each thread creates a queue pre GPU agent export ROCP_THRS=1 -eval_test "tool HSA test" ./test/hsa/ctrl "ctrl_hsa_trace" +eval_test "tool HSA test" ./test/hsa/ctrl "test/ctrl_hsa_trace" echo "" > input.xml export ROCP_INPUT=input.xml -eval_test "tool HSA test input" ./test/hsa/ctrl "ctrl_hsa_input_trace" +eval_test "tool HSA test input" ./test/hsa/ctrl "test/ctrl_hsa_input_trace" #valgrind --leak-check=full $tbin #valgrind --tool=massif $tbin From 4fbb8e4863f059340f971033fa9144cbde9edeaf Mon Sep 17 00:00:00 2001 From: rkebichi <54912798+rkebichi@users.noreply.github.com> Date: Fri, 31 Jan 2020 15:53:18 -0500 Subject: [PATCH 305/691] Update CMakeLists.txt --- test/CMakeLists.txt | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 8f04bce451..32d22bc67a 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -30,11 +30,25 @@ set ( HSA_TEST_DIR "${TEST_DIR}/hsa/test" ) set ( RUN_SCRIPT "${TEST_DIR}/run.sh" ) ## build HIP tests +set ( TEST_CFLAGS HIP_VDI=${HIP_VDI} ROCM_INC_PATH=${ROCM_INC_PATH} ) add_custom_target( mytest COMMAND make -C "${TEST_DIR}/MatrixTranspose" COMMAND sh -xc "cp ${TEST_DIR}/MatrixTranspose/MatrixTranspose ${PROJECT_BINARY_DIR}/test" - COMMAND HIP_VDI=${HIP_VDI} KFD_WRAPPER=${KFD_WRAPPER} make -C "${TEST_DIR}/MatrixTranspose_test" + COMMAND ${TEST_CFLAGS} make -C "${TEST_DIR}/MatrixTranspose_test" COMMAND sh -xc "cp ${TEST_DIR}/MatrixTranspose_test/MatrixTranspose ${PROJECT_BINARY_DIR}/test/MatrixTranspose_test" + COMMAND MGPU_TEST=1 ${TEST_CFLAGS} make -C "${TEST_DIR}/MatrixTranspose_test" + COMMAND sh -xc "cp ${TEST_DIR}/MatrixTranspose_test/MatrixTranspose ${PROJECT_BINARY_DIR}/test/MatrixTranspose_mgpu" + COMMAND C_TEST=1 ${TEST_CFLAGS} make -C "${TEST_DIR}/MatrixTranspose_test" + COMMAND sh -xc "cp ${TEST_DIR}/MatrixTranspose_test/MatrixTranspose ${PROJECT_BINARY_DIR}/test/MatrixTranspose_ctest" +# copy traces + COMMAND sh -xc "cp ${TEST_DIR}/MatrixTranspose_test/MatrixTranspose_test_trace.txt ${PROJECT_BINARY_DIR}/test/" + COMMAND sh -xc "cp ${TEST_DIR}/MatrixTranspose/MatrixTranspose_ctest_trace.txt ${PROJECT_BINARY_DIR}/test/" + COMMAND sh -xc "cp ${TEST_DIR}/MatrixTranspose/MatrixTranspose_mgpu_trace.txt ${PROJECT_BINARY_DIR}/test/" + COMMAND sh -xc "cp ${TEST_DIR}/MatrixTranspose/MatrixTranspose_sys_trace.txt ${PROJECT_BINARY_DIR}/test/" + COMMAND sh -xc "cp ${TEST_DIR}/MatrixTranspose/MatrixTranspose_sys_hsa_trace.txt ${PROJECT_BINARY_DIR}/test/" + COMMAND sh -xc "cp ${TEST_DIR}/MatrixTranspose/MatrixTranspose_hip_trace.txt ${PROJECT_BINARY_DIR}/test/" + COMMAND sh -xc "cp ${TEST_DIR}/hsa/test/ctrl/ctrl_hsa_trace.txt ${PROJECT_BINARY_DIR}/test/" + COMMAND sh -xc "cp ${TEST_DIR}/hsa/test/ctrl/ctrl_hsa_input_trace.txt ${PROJECT_BINARY_DIR}/test/" ) ## Util sources @@ -49,7 +63,7 @@ target_link_libraries ( ${TEST_LIB} ${ROCTRACER_TARGET} ${HSA_RUNTIME_LIB} c std ## Build HSA test execute_process ( COMMAND sh -xc "if [ ! -e ${TEST_DIR}/hsa ] ; then git clone https://github.com/ROCmSoftwarePlatform/hsa-class.git ${TEST_DIR}/hsa; fi" ) -execute_process ( COMMAND sh -xc "if [ -e ${TEST_DIR}/hsa ] ; then cd ${TEST_DIR}/hsa && git fetch origin && git checkout 7defb6d; fi" ) +execute_process ( COMMAND sh -xc "if [ -e ${TEST_DIR}/hsa ] ; then cd ${TEST_DIR}/hsa && git fetch origin && git checkout a3aabb5; fi" ) set ( TEST_DIR ${HSA_TEST_DIR} ) add_subdirectory ( ${TEST_DIR} ${PROJECT_BINARY_DIR}/test/hsa ) From b68209078b5fa9a8c94ffdecbfcf23ada77ddd5c Mon Sep 17 00:00:00 2001 From: rkebichi <54912798+rkebichi@users.noreply.github.com> Date: Fri, 31 Jan 2020 15:58:54 -0500 Subject: [PATCH 306/691] Create MatrixTranspose_ctest_trace.txt --- .../MatrixTranspose_ctest_trace.txt | 503 ++++++++++++++++++ 1 file changed, 503 insertions(+) create mode 100644 test/MatrixTranspose/MatrixTranspose_ctest_trace.txt diff --git a/test/MatrixTranspose/MatrixTranspose_ctest_trace.txt b/test/MatrixTranspose/MatrixTranspose_ctest_trace.txt new file mode 100644 index 0000000000..61e8730e44 --- /dev/null +++ b/test/MatrixTranspose/MatrixTranspose_ctest_trace.txt @@ -0,0 +1,503 @@ +standalone C test: "LD_PRELOAD=libkfdwrapper64.so ./test/MatrixTranspose_ctest" +# INIT ############################# +# START (99) ############################# + + + + + + +PASSED! +# START (98) ############################# +PASSED! +# START (97) ############################# + + + + + + +PASSED! +# START (96) ############################# +PASSED! +# START (95) ############################# + + + + + + +PASSED! +# START (94) ############################# +PASSED! +# START (93) ############################# + + + + + + +PASSED! +# START (92) ############################# +PASSED! +# START (91) ############################# + + + + + + +PASSED! +# START (90) ############################# +PASSED! +# START (89) ############################# + + + + + + +PASSED! +# START (88) ############################# +PASSED! +# START (87) ############################# + + + + + + +PASSED! +# START (86) ############################# +PASSED! +# START (85) ############################# + + + + + + +PASSED! +# START (84) ############################# +PASSED! +# START (83) ############################# + + + + + + +PASSED! +# START (82) ############################# +PASSED! +# START (81) ############################# + + + + + + +PASSED! +# START (80) ############################# +PASSED! +# START (79) ############################# + + + + + + +PASSED! +# START (78) ############################# +PASSED! +# START (77) ############################# + + + + + + +PASSED! +# START (76) ############################# +PASSED! +# START (75) ############################# + + + + + + +PASSED! +# START (74) ############################# +PASSED! +# START (73) ############################# + + + + + + +PASSED! +# START (72) ############################# +PASSED! +# START (71) ############################# + + + + + + +PASSED! +# START (70) ############################# +PASSED! +# START (69) ############################# + + + + + + +PASSED! +# START (68) ############################# +PASSED! +# START (67) ############################# + + + + + + +PASSED! +# START (66) ############################# +PASSED! +# START (65) ############################# + + + + + + +PASSED! +# START (64) ############################# +PASSED! +# START (63) ############################# + + + + + + +PASSED! +# START (62) ############################# +PASSED! +# START (61) ############################# + + + + + + +PASSED! +# START (60) ############################# +PASSED! +# START (59) ############################# + + + + + + +PASSED! +# START (58) ############################# +PASSED! +# START (57) ############################# + + + + + + +PASSED! +# START (56) ############################# +PASSED! +# START (55) ############################# + + + + + + +PASSED! +# START (54) ############################# +PASSED! +# START (53) ############################# + + + + + + +PASSED! +# START (52) ############################# +PASSED! +# START (51) ############################# + + + + + + +PASSED! +# START (50) ############################# +PASSED! +# START (49) ############################# + + + + + + +PASSED! +# START (48) ############################# +PASSED! +# START (47) ############################# + + + + + + +PASSED! +# START (46) ############################# +PASSED! +# START (45) ############################# + + + + + + +PASSED! +# START (44) ############################# +PASSED! +# START (43) ############################# + + + + + + +PASSED! +# START (42) ############################# +PASSED! +# START (41) ############################# + + + + + + +PASSED! +# START (40) ############################# +PASSED! +# START (39) ############################# + + + + + + +PASSED! +# START (38) ############################# +PASSED! +# START (37) ############################# + + + + + + +PASSED! +# START (36) ############################# +PASSED! +# START (35) ############################# + + + + + + +PASSED! +# START (34) ############################# +PASSED! +# START (33) ############################# + + + + + + +PASSED! +# START (32) ############################# +PASSED! +# START (31) ############################# + + + + + + +PASSED! +# START (30) ############################# +PASSED! +# START (29) ############################# + + + + + + +PASSED! +# START (28) ############################# +PASSED! +# START (27) ############################# + + + + + + +PASSED! +# START (26) ############################# +PASSED! +# START (25) ############################# + + + + + + +PASSED! +# START (24) ############################# +PASSED! +# START (23) ############################# + + + + + + +PASSED! +# START (22) ############################# +PASSED! +# START (21) ############################# + + + + + + +PASSED! +# START (20) ############################# +PASSED! +# START (19) ############################# + + + + + + +PASSED! +# START (18) ############################# +PASSED! +# START (17) ############################# + + + + + + +PASSED! +# START (16) ############################# +PASSED! +# START (15) ############################# + + + + + + +PASSED! +# START (14) ############################# +PASSED! +# START (13) ############################# + + + + + + +PASSED! +# START (12) ############################# +PASSED! +# START (11) ############################# + + + + + + +PASSED! +# START (10) ############################# +PASSED! +# START (9) ############################# + + + + + + +PASSED! +# START (8) ############################# +PASSED! +# START (7) ############################# + + + + + + +PASSED! +# START (6) ############################# +PASSED! +# START (5) ############################# + + + + + + +PASSED! +# START (4) ############################# +PASSED! +# START (3) ############################# + + + + + + +PASSED! +# START (2) ############################# +PASSED! +# START (1) ############################# + + + + + + +PASSED! +# START (0) ############################# +PASSED! +# STOP ############################# From 9c1261b856b01b4c29ceddcd6504389835151d8a Mon Sep 17 00:00:00 2001 From: rkebichi <54912798+rkebichi@users.noreply.github.com> Date: Fri, 31 Jan 2020 16:00:28 -0500 Subject: [PATCH 307/691] Create MatrixTranspose_mgpu_trace.txt --- .../MatrixTranspose_mgpu_trace.txt | 6720 +++++++++++++++++ 1 file changed, 6720 insertions(+) create mode 100644 test/MatrixTranspose/MatrixTranspose_mgpu_trace.txt diff --git a/test/MatrixTranspose/MatrixTranspose_mgpu_trace.txt b/test/MatrixTranspose/MatrixTranspose_mgpu_trace.txt new file mode 100644 index 0000000000..4e17177da2 --- /dev/null +++ b/test/MatrixTranspose/MatrixTranspose_mgpu_trace.txt @@ -0,0 +1,6720 @@ +standalone HIP MGPU test: "LD_PRELOAD=libkfdwrapper64.so ./test/MatrixTranspose_mgpu" +# INIT ############################# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Number of GPUs: 1 +# START (99) ############################# + + + + + + + + +Device 0 name: Vega 10 XT [Radeon RX Vega 64] + + + + ptr(0x7ffc1d894588) size(0x400000) + + + + + + + + *ptr(0x0x7f0f2c200000) + + + + ptr(0x7ffc1d894580) size(0x400000) + + + + + + + + *ptr(0x0x7f0f1ba00000) + + + + dst(0x7f0f2c200000) src(0x20442c0) size(0x400000) kind(1) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + dst(0x24442d0) src(0x7f0f1ba00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + + ptr(0x7f0f2c200000) + + + + + + + + + + ptr(0x7f0f1ba00000) + + + + + + +# START (98) ############################# +Device 0 name: Vega 10 XT [Radeon RX Vega 64] +PASSED! +# START (97) ############################# + + + + + + + + +Device 0 name: Vega 10 XT [Radeon RX Vega 64] + + + + ptr(0x7ffc1d894588) size(0x400000) + + + + + + + + *ptr(0x0x7f0f2c200000) + + + + ptr(0x7ffc1d894580) size(0x400000) + + + + + + + + *ptr(0x0x7f0f1ba00000) + + + + dst(0x7f0f2c200000) src(0x74def40) size(0x400000) kind(1) + + + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0x20442c0) src(0x7f0f1ba00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + + ptr(0x7f0f2c200000) + + + + + + + + + + ptr(0x7f0f1ba00000) + + + + + + +# START (96) ############################# +Device 0 name: Vega 10 XT [Radeon RX Vega 64] +PASSED! +# START (95) ############################# + + + + + + + + +Device 0 name: Vega 10 XT [Radeon RX Vega 64] + + + + ptr(0x7ffc1d894588) size(0x400000) + + + + + + + + *ptr(0x0x7f0f2c200000) + + + + ptr(0x7ffc1d894580) size(0x400000) + + + + + + + + *ptr(0x0x7f0f1ba00000) + + + + dst(0x7f0f2c200000) src(0x74def40) size(0x400000) kind(1) + + + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0x20442c0) src(0x7f0f1ba00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + + ptr(0x7f0f2c200000) + + + + + + + + + + ptr(0x7f0f1ba00000) + + + + + + +# START (94) ############################# +Device 0 name: Vega 10 XT [Radeon RX Vega 64] +PASSED! +# START (93) ############################# + + + + + + + + +Device 0 name: Vega 10 XT [Radeon RX Vega 64] + + + + ptr(0x7ffc1d894588) size(0x400000) + + + + + + + + *ptr(0x0x7f0f2c200000) + + + + ptr(0x7ffc1d894580) size(0x400000) + + + + + + + + *ptr(0x0x7f0f1ba00000) + + + + dst(0x7f0f2c200000) src(0x74def40) size(0x400000) kind(1) + + + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0x20442c0) src(0x7f0f1ba00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + Activity records: + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116404) thread_id(116404) + external_id(33) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116404) thread_id(116404) + external_id(31) + process_id(116404) thread_id(116404) + external_id(31) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116404) thread_id(116404) + external_id(33) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116404) thread_id(116404) + external_id(31) + process_id(116404) thread_id(116404) + external_id(31) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116404) thread_id(116404) + external_id(33) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116404) thread_id(116404) + external_id(31) + process_id(116404) thread_id(116404) + external_id(31) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116404) thread_id(116404) + external_id(33) + process_id(116404) thread_id(116404) + + + + + + +PASSED! + + + + ptr(0x7f0f2c200000) + + + + + + + + + + ptr(0x7f0f1ba00000) + + + + + + +# START (92) ############################# +Device 0 name: Vega 10 XT [Radeon RX Vega 64] +PASSED! +# START (91) ############################# + + + + + + + + +Device 0 name: Vega 10 XT [Radeon RX Vega 64] + + + + ptr(0x7ffc1d894588) size(0x400000) + + + + + + + + *ptr(0x0x7f0f2c200000) + + + + ptr(0x7ffc1d894580) size(0x400000) + + + + + + + + *ptr(0x0x7f0f1ba00000) + + + + dst(0x7f0f2c200000) src(0x74def40) size(0x400000) kind(1) + + + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0x20442c0) src(0x7f0f1ba00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + + ptr(0x7f0f2c200000) + + + + + + + + + + ptr(0x7f0f1ba00000) + + + + + + +# START (90) ############################# +Device 0 name: Vega 10 XT [Radeon RX Vega 64] +PASSED! +# START (89) ############################# + + + + + + + + +Device 0 name: Vega 10 XT [Radeon RX Vega 64] + + + + ptr(0x7ffc1d894588) size(0x400000) + + + + + + + + *ptr(0x0x7f0f2c200000) + + + + ptr(0x7ffc1d894580) size(0x400000) + + + + + + + + *ptr(0x0x7f0f1ba00000) + + + + dst(0x7f0f2c200000) src(0x74def40) size(0x400000) kind(1) + + + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0x20442c0) src(0x7f0f1ba00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + + ptr(0x7f0f2c200000) + + + + + + + + + + ptr(0x7f0f1ba00000) + + + + + + +# START (88) ############################# +Device 0 name: Vega 10 XT [Radeon RX Vega 64] +PASSED! +# START (87) ############################# + + + + + + + + +Device 0 name: Vega 10 XT [Radeon RX Vega 64] + + + + ptr(0x7ffc1d894588) size(0x400000) + + + + + + + + *ptr(0x0x7f0f2c200000) + + + + ptr(0x7ffc1d894580) size(0x400000) + + + + + + + + *ptr(0x0x7f0f1ba00000) + + + + dst(0x7f0f2c200000) src(0x74def40) size(0x400000) kind(1) + + + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0x20442c0) src(0x7f0f1ba00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + + ptr(0x7f0f2c200000) + + + + + + + + + + ptr(0x7f0f1ba00000) + + + + + + +# START (86) ############################# +Device 0 name: Vega 10 XT [Radeon RX Vega 64] +PASSED! +# START (85) ############################# + + + + + + + + +Device 0 name: Vega 10 XT [Radeon RX Vega 64] + Activity records: + device_id(0) queue_id(0) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116404) thread_id(116404) + external_id(31) + process_id(116404) thread_id(116404) + external_id(31) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116404) thread_id(116404) + external_id(33) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116404) thread_id(116404) + external_id(31) + process_id(116404) thread_id(116404) + external_id(31) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116404) thread_id(116404) + external_id(33) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116404) thread_id(116404) + external_id(31) + process_id(116404) thread_id(116404) + external_id(31) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116404) thread_id(116404) + external_id(33) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116404) thread_id(116404) + external_id(31) + process_id(116404) thread_id(116404) + external_id(31) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + process_id(116404) thread_id(116404) + + + + ptr(0x7ffc1d894588) size(0x400000) + + + + + + + + *ptr(0x0x7f0f2c200000) + + + + ptr(0x7ffc1d894580) size(0x400000) + + + + + + + + *ptr(0x0x7f0f1ba00000) + + + + dst(0x7f0f2c200000) src(0x74def40) size(0x400000) kind(1) + + + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0x20442c0) src(0x7f0f1ba00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + + ptr(0x7f0f2c200000) + + + + + + + + + + ptr(0x7f0f1ba00000) + + + + + + +# START (84) ############################# +Device 0 name: Vega 10 XT [Radeon RX Vega 64] +PASSED! +# START (83) ############################# + + + + + + + + +Device 0 name: Vega 10 XT [Radeon RX Vega 64] + + + + ptr(0x7ffc1d894588) size(0x400000) + + + + + + + + *ptr(0x0x7f0f2c200000) + + + + ptr(0x7ffc1d894580) size(0x400000) + + + + + + + + *ptr(0x0x7f0f1ba00000) + + + + dst(0x7f0f2c200000) src(0x74def40) size(0x400000) kind(1) + + + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0x20442c0) src(0x7f0f1ba00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + + ptr(0x7f0f2c200000) + + + + + + + + + + ptr(0x7f0f1ba00000) + + + + + + +# START (82) ############################# +Device 0 name: Vega 10 XT [Radeon RX Vega 64] +PASSED! +# START (81) ############################# + + + + + + + + +Device 0 name: Vega 10 XT [Radeon RX Vega 64] + + + + ptr(0x7ffc1d894588) size(0x400000) + + + + + + + + *ptr(0x0x7f0f2c200000) + + + + ptr(0x7ffc1d894580) size(0x400000) + + + + + + + + *ptr(0x0x7f0f1ba00000) + + + + dst(0x7f0f2c200000) src(0x74def40) size(0x400000) kind(1) + + + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0x20442c0) src(0x7f0f1ba00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + + ptr(0x7f0f2c200000) + + + + + + + + + + ptr(0x7f0f1ba00000) + + + + + + +# START (80) ############################# +Device 0 name: Vega 10 XT [Radeon RX Vega 64] +PASSED! +# START (79) ############################# + + + + + + + + +Device 0 name: Vega 10 XT [Radeon RX Vega 64] + + + + ptr(0x7ffc1d894588) size(0x400000) + + + + + + + + *ptr(0x0x7f0f2c200000) + + + + ptr(0x7ffc1d894580) size(0x400000) + + + + + + + + *ptr(0x0x7f0f1ba00000) + + + + dst(0x7f0f2c200000) src(0x74def40) size(0x400000) kind(1) + + + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0x20442c0) src(0x7f0f1ba00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + Activity records: + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116404) thread_id(116404) + external_id(33) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116404) thread_id(116404) + external_id(31) + process_id(116404) thread_id(116404) + external_id(31) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116404) thread_id(116404) + external_id(33) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116404) thread_id(116404) + external_id(31) + process_id(116404) thread_id(116404) + external_id(31) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116404) thread_id(116404) + external_id(33) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116404) thread_id(116404) + external_id(31) + process_id(116404) thread_id(116404) + external_id(31) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116404) thread_id(116404) + external_id(33) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + device_id(0) queue_id(0) + bytes(0x400000) +PASSED! + + + + ptr(0x7f0f2c200000) + + + + + + + + + + ptr(0x7f0f1ba00000) + + + + + + +# START (78) ############################# +Device 0 name: Vega 10 XT [Radeon RX Vega 64] +PASSED! +# START (77) ############################# + + + + + + + + +Device 0 name: Vega 10 XT [Radeon RX Vega 64] + + + + ptr(0x7ffc1d894588) size(0x400000) + + + + + + + + *ptr(0x0x7f0f2c200000) + + + + ptr(0x7ffc1d894580) size(0x400000) + + + + + + + + *ptr(0x0x7f0f1ba00000) + + + + dst(0x7f0f2c200000) src(0x74def40) size(0x400000) kind(1) + + + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0x20442c0) src(0x7f0f1ba00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + + ptr(0x7f0f2c200000) + + + + + + + + + + ptr(0x7f0f1ba00000) + + + + + + +# START (76) ############################# +Device 0 name: Vega 10 XT [Radeon RX Vega 64] +PASSED! +# START (75) ############################# + + + + + + + + +Device 0 name: Vega 10 XT [Radeon RX Vega 64] + + + + ptr(0x7ffc1d894588) size(0x400000) + + + + + + + + *ptr(0x0x7f0f2c200000) + + + + ptr(0x7ffc1d894580) size(0x400000) + + + + + + + + *ptr(0x0x7f0f1ba00000) + + + + dst(0x7f0f2c200000) src(0x74def40) size(0x400000) kind(1) + + + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0x20442c0) src(0x7f0f1ba00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + + ptr(0x7f0f2c200000) + + + + + + + + + + ptr(0x7f0f1ba00000) + + + + + + +# START (74) ############################# +Device 0 name: Vega 10 XT [Radeon RX Vega 64] +PASSED! +# START (73) ############################# + + + + + + + + +Device 0 name: Vega 10 XT [Radeon RX Vega 64] + + + + ptr(0x7ffc1d894588) size(0x400000) + + + + + + + + *ptr(0x0x7f0f2c200000) + + + + ptr(0x7ffc1d894580) size(0x400000) + + + + + + + + *ptr(0x0x7f0f1ba00000) + + + + dst(0x7f0f2c200000) src(0x74def40) size(0x400000) kind(1) + + + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0x20442c0) src(0x7f0f1ba00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + + ptr(0x7f0f2c200000) + + + + + + + + + + ptr(0x7f0f1ba00000) + + + + + + +# START (72) ############################# +Device 0 name: Vega 10 XT [Radeon RX Vega 64] +PASSED! +# START (71) ############################# + + + + + + + + +Device 0 name: Vega 10 XT [Radeon RX Vega 64] + + + + ptr(0x7ffc1d894588) size(0x400000) + + + + + + + + *ptr(0x0x7f0f2c200000) + + + + ptr(0x7ffc1d894580) size(0x400000) + + + + + + + + *ptr(0x0x7f0f1ba00000) + + + + dst(0x7f0f2c200000) src(0x74def40) size(0x400000) kind(1) + Activity records: + + + + + external_id(32) + process_id(116404) thread_id(116404) + external_id(31) + process_id(116404) thread_id(116404) + external_id(31) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116404) thread_id(116404) + external_id(33) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116404) thread_id(116404) + external_id(31) + process_id(116404) thread_id(116404) + external_id(31) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116404) thread_id(116404) + external_id(33) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116404) thread_id(116404) + external_id(31) + process_id(116404) thread_id(116404) + external_id(31) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116404) thread_id(116404) + external_id(33) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116404) thread_id(116404) + external_id(31) + process_id(116404) thread_id(116404) + external_id(31) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0x20442c0) src(0x7f0f1ba00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + + ptr(0x7f0f2c200000) + + + + + + + + + + ptr(0x7f0f1ba00000) + + + + + + +# START (70) ############################# +Device 0 name: Vega 10 XT [Radeon RX Vega 64] +PASSED! +# START (69) ############################# + + + + + + + + +Device 0 name: Vega 10 XT [Radeon RX Vega 64] + + + + ptr(0x7ffc1d894588) size(0x400000) + + + + + + + + *ptr(0x0x7f0f2c200000) + + + + ptr(0x7ffc1d894580) size(0x400000) + + + + + + + + *ptr(0x0x7f0f1ba00000) + + + + dst(0x7f0f2c200000) src(0x74def40) size(0x400000) kind(1) + + + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0x20442c0) src(0x7f0f1ba00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + + ptr(0x7f0f2c200000) + + + + + + + + + + ptr(0x7f0f1ba00000) + + + + + + +# START (68) ############################# +Device 0 name: Vega 10 XT [Radeon RX Vega 64] +PASSED! +# START (67) ############################# + + + + + + + + +Device 0 name: Vega 10 XT [Radeon RX Vega 64] + + + + ptr(0x7ffc1d894588) size(0x400000) + + + + + + + + *ptr(0x0x7f0f2c200000) + + + + ptr(0x7ffc1d894580) size(0x400000) + + + + + + + + *ptr(0x0x7f0f1ba00000) + + + + dst(0x7f0f2c200000) src(0x74def40) size(0x400000) kind(1) + + + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0x20442c0) src(0x7f0f1ba00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + + ptr(0x7f0f2c200000) + + + + + + + + + + ptr(0x7f0f1ba00000) + + + + + + +# START (66) ############################# +Device 0 name: Vega 10 XT [Radeon RX Vega 64] +PASSED! +# START (65) ############################# + + + + + + + + +Device 0 name: Vega 10 XT [Radeon RX Vega 64] + + + + ptr(0x7ffc1d894588) size(0x400000) + + + + + + + + *ptr(0x0x7f0f2c200000) + + + + ptr(0x7ffc1d894580) size(0x400000) + + + + + + + + *ptr(0x0x7f0f1ba00000) + + + + dst(0x7f0f2c200000) src(0x74def40) size(0x400000) kind(1) + + + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0x20442c0) src(0x7f0f1ba00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + + ptr(0x7f0f2c200000) + + + + + + + + + + ptr(0x7f0f1ba00000) + + + + + + +# START (64) ############################# +Device 0 name: Vega 10 XT [Radeon RX Vega 64] + Activity records: + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116404) thread_id(116404) + external_id(33) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116404) thread_id(116404) + external_id(31) + process_id(116404) thread_id(116404) + external_id(31) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116404) thread_id(116404) + external_id(33) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116404) thread_id(116404) + external_id(31) + process_id(116404) thread_id(116404) + external_id(31) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116404) thread_id(116404) + external_id(33) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116404) thread_id(116404) + external_id(31) + process_id(116404) thread_id(116404) + external_id(31) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116404) thread_id(116404) + external_id(33) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116404) thread_id(116404) +PASSED! +# START (63) ############################# + + + + + + + + +Device 0 name: Vega 10 XT [Radeon RX Vega 64] + + + + ptr(0x7ffc1d894588) size(0x400000) + + + + + + + + *ptr(0x0x7f0f2c200000) + + + + ptr(0x7ffc1d894580) size(0x400000) + + + + + + + + *ptr(0x0x7f0f1ba00000) + + + + dst(0x7f0f2c200000) src(0x74def40) size(0x400000) kind(1) + + + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0x20442c0) src(0x7f0f1ba00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + + ptr(0x7f0f2c200000) + + + + + + + + + + ptr(0x7f0f1ba00000) + + + + + + +# START (62) ############################# +Device 0 name: Vega 10 XT [Radeon RX Vega 64] +PASSED! +# START (61) ############################# + + + + + + + + +Device 0 name: Vega 10 XT [Radeon RX Vega 64] + + + + ptr(0x7ffc1d894588) size(0x400000) + + + + + + + + *ptr(0x0x7f0f2c200000) + + + + ptr(0x7ffc1d894580) size(0x400000) + + + + + + + + *ptr(0x0x7f0f1ba00000) + + + + dst(0x7f0f2c200000) src(0x74def40) size(0x400000) kind(1) + + + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0x20442c0) src(0x7f0f1ba00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + + ptr(0x7f0f2c200000) + + + + + + + + + + ptr(0x7f0f1ba00000) + + + + + + +# START (60) ############################# +Device 0 name: Vega 10 XT [Radeon RX Vega 64] +PASSED! +# START (59) ############################# + + + + + + + + +Device 0 name: Vega 10 XT [Radeon RX Vega 64] + + + + ptr(0x7ffc1d894588) size(0x400000) + + + + + + + + *ptr(0x0x7f0f2c200000) + + + + ptr(0x7ffc1d894580) size(0x400000) + + + + + + + + *ptr(0x0x7f0f1ba00000) + + + + dst(0x7f0f2c200000) src(0x74def40) size(0x400000) kind(1) + + + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0x20442c0) src(0x7f0f1ba00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + + ptr(0x7f0f2c200000) + + + + + + + + + + ptr(0x7f0f1ba00000) + + + + + + +# START (58) ############################# +Device 0 name: Vega 10 XT [Radeon RX Vega 64] +PASSED! +# START (57) ############################# + + + + + + + + +Device 0 name: Vega 10 XT [Radeon RX Vega 64] + + + + ptr(0x7ffc1d894588) size(0x400000) + + + + + + + + *ptr(0x0x7f0f2c200000) + + + + ptr(0x7ffc1d894580) size(0x400000) + + + + + + + + *ptr(0x0x7f0f1ba00000) + + + + dst(0x7f0f2c200000) src(0x74def40) size(0x400000) kind(1) + + + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + Activity records: + + + + + + + + dst(0x20442c0) src(0x7f0f1ba00000) size(0x400000) kind(2) + + + external_id(31) + process_id(116404) thread_id(116404) + external_id(31) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116404) thread_id(116404) + external_id(33) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116404) thread_id(116404) + external_id(31) + process_id(116404) thread_id(116404) + external_id(31) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116404) thread_id(116404) + external_id(33) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116404) thread_id(116404) + external_id(31) + process_id(116404) thread_id(116404) + + + + external_id(31) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + process_id(116404) thread_id(116404) + + process_id(116404) thread_id(116404) + + + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116404) thread_id(116404) + external_id(33) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116404) thread_id(116404) + external_id(31) + process_id(116404) thread_id(116404) + external_id(31) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + bytes(0x400000) + + + + + + + + + + + + + + +PASSED! + + + + ptr(0x7f0f2c200000) + + + + + + + + + + ptr(0x7f0f1ba00000) + + + + + + +# START (56) ############################# +Device 0 name: Vega 10 XT [Radeon RX Vega 64] +PASSED! +# START (55) ############################# + + + + + + + + +Device 0 name: Vega 10 XT [Radeon RX Vega 64] + + + + ptr(0x7ffc1d894588) size(0x400000) + + + + + + + + *ptr(0x0x7f0f2c200000) + + + + ptr(0x7ffc1d894580) size(0x400000) + + + + + + + + *ptr(0x0x7f0f1ba00000) + + + + dst(0x7f0f2c200000) src(0x74def40) size(0x400000) kind(1) + + + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0x20442c0) src(0x7f0f1ba00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + + ptr(0x7f0f2c200000) + + + + + + + + + + ptr(0x7f0f1ba00000) + + + + + + +# START (54) ############################# +Device 0 name: Vega 10 XT [Radeon RX Vega 64] +PASSED! +# START (53) ############################# + + + + + + + + +Device 0 name: Vega 10 XT [Radeon RX Vega 64] + + + + ptr(0x7ffc1d894588) size(0x400000) + + + + + + + + *ptr(0x0x7f0f2c200000) + + + + ptr(0x7ffc1d894580) size(0x400000) + + + + + + + + *ptr(0x0x7f0f1ba00000) + + + + dst(0x7f0f2c200000) src(0x74def40) size(0x400000) kind(1) + + + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0x20442c0) src(0x7f0f1ba00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + + ptr(0x7f0f2c200000) + + + + + + + + + + ptr(0x7f0f1ba00000) + + + + + + +# START (52) ############################# +Device 0 name: Vega 10 XT [Radeon RX Vega 64] +PASSED! +# START (51) ############################# + + + + + + + + +Device 0 name: Vega 10 XT [Radeon RX Vega 64] + + + + ptr(0x7ffc1d894588) size(0x400000) + + + + + + + + *ptr(0x0x7f0f2c200000) + + + + ptr(0x7ffc1d894580) size(0x400000) + + + + + + + + *ptr(0x0x7f0f1ba00000) + + + + dst(0x7f0f2c200000) src(0x74def40) size(0x400000) kind(1) + + + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0x20442c0) src(0x7f0f1ba00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + + ptr(0x7f0f2c200000) + + + + + + + + + + ptr(0x7f0f1ba00000) + + + + + + +# START (50) ############################# +Device 0 name: Vega 10 XT [Radeon RX Vega 64] + Activity records: + external_id(32) + process_id(116404) thread_id(116404) + external_id(33) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116404) thread_id(116404) + external_id(31) + process_id(116404) thread_id(116404) + external_id(31) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116404) thread_id(116404) + external_id(33) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116404) thread_id(116404) + external_id(31) + process_id(116404) thread_id(116404) + external_id(31) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116404) thread_id(116404) + external_id(33) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116404) thread_id(116404) + external_id(31) + process_id(116404) thread_id(116404) + external_id(31) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116404) thread_id(116404) + external_id(33) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116404) thread_id(116404) + external_id(31) + process_id(116404) thread_id(116404) +PASSED! +# START (49) ############################# + + + + + + + + +Device 0 name: Vega 10 XT [Radeon RX Vega 64] + + + + ptr(0x7ffc1d894588) size(0x400000) + + + + + + + + *ptr(0x0x7f0f2c200000) + + + + ptr(0x7ffc1d894580) size(0x400000) + + + + + + + + *ptr(0x0x7f0f1ba00000) + + + + dst(0x7f0f2c200000) src(0x74def40) size(0x400000) kind(1) + + + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0x20442c0) src(0x7f0f1ba00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + + ptr(0x7f0f2c200000) + + + + + + + + + + ptr(0x7f0f1ba00000) + + + + + + +# START (48) ############################# +Device 0 name: Vega 10 XT [Radeon RX Vega 64] +PASSED! +# START (47) ############################# + + + + + + + + +Device 0 name: Vega 10 XT [Radeon RX Vega 64] + + + + ptr(0x7ffc1d894588) size(0x400000) + + + + + + + + *ptr(0x0x7f0f2c200000) + + + + ptr(0x7ffc1d894580) size(0x400000) + + + + + + + + *ptr(0x0x7f0f1ba00000) + + + + dst(0x7f0f2c200000) src(0x74def40) size(0x400000) kind(1) + + + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0x20442c0) src(0x7f0f1ba00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + + ptr(0x7f0f2c200000) + + + + + + + + + + ptr(0x7f0f1ba00000) + + + + + + +# START (46) ############################# +Device 0 name: Vega 10 XT [Radeon RX Vega 64] +PASSED! +# START (45) ############################# + + + + + + + + +Device 0 name: Vega 10 XT [Radeon RX Vega 64] + + + + ptr(0x7ffc1d894588) size(0x400000) + + + + + + + + *ptr(0x0x7f0f2c200000) + + + + ptr(0x7ffc1d894580) size(0x400000) + + + + + + + + *ptr(0x0x7f0f1ba00000) + + + + dst(0x7f0f2c200000) src(0x74def40) size(0x400000) kind(1) + + + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0x20442c0) src(0x7f0f1ba00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + + ptr(0x7f0f2c200000) + + + + + + + + + + ptr(0x7f0f1ba00000) + + + + + + +# START (44) ############################# +Device 0 name: Vega 10 XT [Radeon RX Vega 64] +PASSED! +# START (43) ############################# + + + + + + + + +Device 0 name: Vega 10 XT [Radeon RX Vega 64] + + + + ptr(0x7ffc1d894588) size(0x400000) + + + + + + + + *ptr(0x0x7f0f2c200000) + + + + ptr(0x7ffc1d894580) size(0x400000) + + + + + + + + *ptr(0x0x7f0f1ba00000) + + + + dst(0x7f0f2c200000) src(0x74def40) size(0x400000) kind(1) + + + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0x20442c0) src(0x7f0f1ba00000) size(0x400000) kind(2) + + + Activity records: + + + + + + + external_id(31) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116404) thread_id(116404) + external_id(33) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116404) thread_id(116404) + external_id(31) + process_id(116404) thread_id(116404) + external_id(31) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116404) thread_id(116404) + external_id(33) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116404) thread_id(116404) + external_id(31) + process_id(116404) thread_id(116404) + external_id(31) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116404) thread_id(116404) + external_id(33) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116404) thread_id(116404) + external_id(31) + process_id(116404) thread_id(116404) + external_id(31) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116404) thread_id(116404) + + + + + + + + + + + + + + +PASSED! + + + + ptr(0x7f0f2c200000) + + + + + + + + + + ptr(0x7f0f1ba00000) + + + + + + +# START (42) ############################# +Device 0 name: Vega 10 XT [Radeon RX Vega 64] +PASSED! +# START (41) ############################# + + + + + + + + +Device 0 name: Vega 10 XT [Radeon RX Vega 64] + + + + ptr(0x7ffc1d894588) size(0x400000) + + + + + + + + *ptr(0x0x7f0f2c200000) + + + + ptr(0x7ffc1d894580) size(0x400000) + + + + + + + + *ptr(0x0x7f0f1ba00000) + + + + dst(0x7f0f2c200000) src(0x74def40) size(0x400000) kind(1) + + + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0x20442c0) src(0x7f0f1ba00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + + ptr(0x7f0f2c200000) + + + + + + + + + + ptr(0x7f0f1ba00000) + + + + + + +# START (40) ############################# +Device 0 name: Vega 10 XT [Radeon RX Vega 64] +PASSED! +# START (39) ############################# + + + + + + + + +Device 0 name: Vega 10 XT [Radeon RX Vega 64] + + + + ptr(0x7ffc1d894588) size(0x400000) + + + + + + + + *ptr(0x0x7f0f2c200000) + + + + ptr(0x7ffc1d894580) size(0x400000) + + + + + + + + *ptr(0x0x7f0f1ba00000) + + + + dst(0x7f0f2c200000) src(0x74def40) size(0x400000) kind(1) + + + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0x20442c0) src(0x7f0f1ba00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + + ptr(0x7f0f2c200000) + + + + + + + + + + ptr(0x7f0f1ba00000) + + + + + + +# START (38) ############################# +Device 0 name: Vega 10 XT [Radeon RX Vega 64] +PASSED! +# START (37) ############################# + + + + + + + + +Device 0 name: Vega 10 XT [Radeon RX Vega 64] + + + + ptr(0x7ffc1d894588) size(0x400000) + + + + + + + + *ptr(0x0x7f0f2c200000) + + + + ptr(0x7ffc1d894580) size(0x400000) + + + + + + + + *ptr(0x0x7f0f1ba00000) + + + + dst(0x7f0f2c200000) src(0x74def40) size(0x400000) kind(1) + + + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0x20442c0) src(0x7f0f1ba00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + + ptr(0x7f0f2c200000) + + + + + + + + + + ptr(0x7f0f1ba00000) + + + + + + +# START (36) ############################# +Device 0 name: Vega 10 XT [Radeon RX Vega 64] + Activity records: + external_id(33) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116404) thread_id(116404) + external_id(31) + process_id(116404) thread_id(116404) + external_id(31) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116404) thread_id(116404) + external_id(33) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116404) thread_id(116404) + external_id(31) + process_id(116404) thread_id(116404) + external_id(31) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116404) thread_id(116404) + external_id(33) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116404) thread_id(116404) + external_id(31) + process_id(116404) thread_id(116404) + external_id(31) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116404) thread_id(116404) + external_id(33) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116404) thread_id(116404) + external_id(31) + process_id(116404) thread_id(116404) + external_id(31) + process_id(116404) thread_id(116404) +PASSED! +# START (35) ############################# + + + + + + + + +Device 0 name: Vega 10 XT [Radeon RX Vega 64] + + + + ptr(0x7ffc1d894588) size(0x400000) + + + + + + + + *ptr(0x0x7f0f2c200000) + + + + ptr(0x7ffc1d894580) size(0x400000) + + + + + + + + *ptr(0x0x7f0f1ba00000) + + + + dst(0x7f0f2c200000) src(0x74def40) size(0x400000) kind(1) + + + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0x20442c0) src(0x7f0f1ba00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + + ptr(0x7f0f2c200000) + + + + + + + + + + ptr(0x7f0f1ba00000) + + + + + + +# START (34) ############################# +Device 0 name: Vega 10 XT [Radeon RX Vega 64] +PASSED! +# START (33) ############################# + + + + + + + + +Device 0 name: Vega 10 XT [Radeon RX Vega 64] + + + + ptr(0x7ffc1d894588) size(0x400000) + + + + + + + + *ptr(0x0x7f0f2c200000) + + + + ptr(0x7ffc1d894580) size(0x400000) + + + + + + + + *ptr(0x0x7f0f1ba00000) + + + + dst(0x7f0f2c200000) src(0x74def40) size(0x400000) kind(1) + + + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0x20442c0) src(0x7f0f1ba00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + + ptr(0x7f0f2c200000) + + + + + + + + + + ptr(0x7f0f1ba00000) + + + + + + +# START (32) ############################# +Device 0 name: Vega 10 XT [Radeon RX Vega 64] +PASSED! +# START (31) ############################# + + + + + + + + +Device 0 name: Vega 10 XT [Radeon RX Vega 64] + + + + ptr(0x7ffc1d894588) size(0x400000) + + + + + + + + *ptr(0x0x7f0f2c200000) + + + + ptr(0x7ffc1d894580) size(0x400000) + + + + + + + + *ptr(0x0x7f0f1ba00000) + + + + dst(0x7f0f2c200000) src(0x74def40) size(0x400000) kind(1) + + + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0x20442c0) src(0x7f0f1ba00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + + ptr(0x7f0f2c200000) + + + + + + + + + + ptr(0x7f0f1ba00000) + + + + + + +# START (30) ############################# +Device 0 name: Vega 10 XT [Radeon RX Vega 64] +PASSED! +# START (29) ############################# + + + + + + + + +Device 0 name: Vega 10 XT [Radeon RX Vega 64] + + + + ptr(0x7ffc1d894588) size(0x400000) + + + + + + + + *ptr(0x0x7f0f2c200000) + + + + ptr(0x7ffc1d894580) size(0x400000) + + + + + + + + *ptr(0x0x7f0f1ba00000) + + + + dst(0x7f0f2c200000) src(0x74def40) size(0x400000) kind(1) + + + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0x20442c0) src(0x7f0f1ba00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + Activity records: + device_id(0) queue_id(0) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116404) thread_id(116404) + external_id(33) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116404) thread_id(116404) + external_id(31) + process_id(116404) thread_id(116404) + external_id(31) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116404) thread_id(116404) + external_id(33) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116404) thread_id(116404) + external_id(31) + process_id(116404) thread_id(116404) + external_id(31) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116404) thread_id(116404) + external_id(33) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116404) thread_id(116404) + external_id(31) + process_id(116404) thread_id(116404) + external_id(31) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116404) thread_id(116404) + external_id(33) + process_id(116404) thread_id(116404) + + + + + + +PASSED! + + + + ptr(0x7f0f2c200000) + + + + + + + + + + ptr(0x7f0f1ba00000) + + + + + + +# START (28) ############################# +Device 0 name: Vega 10 XT [Radeon RX Vega 64] +PASSED! +# START (27) ############################# + + + + + + + + +Device 0 name: Vega 10 XT [Radeon RX Vega 64] + + + + ptr(0x7ffc1d894588) size(0x400000) + + + + + + + + *ptr(0x0x7f0f2c200000) + + + + ptr(0x7ffc1d894580) size(0x400000) + + + + + + + + *ptr(0x0x7f0f1ba00000) + + + + dst(0x7f0f2c200000) src(0x74def40) size(0x400000) kind(1) + + + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0x20442c0) src(0x7f0f1ba00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + + ptr(0x7f0f2c200000) + + + + + + + + + + ptr(0x7f0f1ba00000) + + + + + + +# START (26) ############################# +Device 0 name: Vega 10 XT [Radeon RX Vega 64] +PASSED! +# START (25) ############################# + + + + + + + + +Device 0 name: Vega 10 XT [Radeon RX Vega 64] + + + + ptr(0x7ffc1d894588) size(0x400000) + + + + + + + + *ptr(0x0x7f0f2c200000) + + + + ptr(0x7ffc1d894580) size(0x400000) + + + + + + + + *ptr(0x0x7f0f1ba00000) + + + + dst(0x7f0f2c200000) src(0x74def40) size(0x400000) kind(1) + + + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0x20442c0) src(0x7f0f1ba00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + + ptr(0x7f0f2c200000) + + + + + + + + + + ptr(0x7f0f1ba00000) + + + + + + +# START (24) ############################# +Device 0 name: Vega 10 XT [Radeon RX Vega 64] +PASSED! +# START (23) ############################# + + + + + + + + +Device 0 name: Vega 10 XT [Radeon RX Vega 64] + + + + ptr(0x7ffc1d894588) size(0x400000) + + + + + + + + *ptr(0x0x7f0f2c200000) + + + + ptr(0x7ffc1d894580) size(0x400000) + + + + + + + + *ptr(0x0x7f0f1ba00000) + + + + dst(0x7f0f2c200000) src(0x74def40) size(0x400000) kind(1) + + + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0x20442c0) src(0x7f0f1ba00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + + ptr(0x7f0f2c200000) + + + + + + + + + + ptr(0x7f0f1ba00000) + + + + + + +# START (22) ############################# +Device 0 name: Vega 10 XT [Radeon RX Vega 64] +PASSED! +# START (21) ############################# + + + + + + + + +Device 0 name: Vega 10 XT [Radeon RX Vega 64] + Activity records: + device_id(0) queue_id(0) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116404) thread_id(116404) + external_id(31) + process_id(116404) thread_id(116404) + external_id(31) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116404) thread_id(116404) + external_id(33) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116404) thread_id(116404) + external_id(31) + process_id(116404) thread_id(116404) + external_id(31) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116404) thread_id(116404) + external_id(33) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116404) thread_id(116404) + external_id(31) + process_id(116404) thread_id(116404) + external_id(31) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116404) thread_id(116404) + external_id(33) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116404) thread_id(116404) + external_id(31) + process_id(116404) thread_id(116404) + external_id(31) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + process_id(116404) thread_id(116404) + + + + ptr(0x7ffc1d894588) size(0x400000) + + + + + + + + *ptr(0x0x7f0f2c200000) + + + + ptr(0x7ffc1d894580) size(0x400000) + + + + + + + + *ptr(0x0x7f0f1ba00000) + + + + dst(0x7f0f2c200000) src(0x74def40) size(0x400000) kind(1) + + + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0x20442c0) src(0x7f0f1ba00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + + ptr(0x7f0f2c200000) + + + + + + + + + + ptr(0x7f0f1ba00000) + + + + + + +# START (20) ############################# +Device 0 name: Vega 10 XT [Radeon RX Vega 64] +PASSED! +# START (19) ############################# + + + + + + + + +Device 0 name: Vega 10 XT [Radeon RX Vega 64] + + + + ptr(0x7ffc1d894588) size(0x400000) + + + + + + + + *ptr(0x0x7f0f2c200000) + + + + ptr(0x7ffc1d894580) size(0x400000) + + + + + + + + *ptr(0x0x7f0f1ba00000) + + + + dst(0x7f0f2c200000) src(0x74def40) size(0x400000) kind(1) + + + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0x20442c0) src(0x7f0f1ba00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + + ptr(0x7f0f2c200000) + + + + + + + + + + ptr(0x7f0f1ba00000) + + + + + + +# START (18) ############################# +Device 0 name: Vega 10 XT [Radeon RX Vega 64] +PASSED! +# START (17) ############################# + + + + + + + + +Device 0 name: Vega 10 XT [Radeon RX Vega 64] + + + + ptr(0x7ffc1d894588) size(0x400000) + + + + + + + + *ptr(0x0x7f0f2c200000) + + + + ptr(0x7ffc1d894580) size(0x400000) + + + + + + + + *ptr(0x0x7f0f1ba00000) + + + + dst(0x7f0f2c200000) src(0x74def40) size(0x400000) kind(1) + + + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0x20442c0) src(0x7f0f1ba00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + + ptr(0x7f0f2c200000) + + + + + + + + + + ptr(0x7f0f1ba00000) + + + + + + +# START (16) ############################# +Device 0 name: Vega 10 XT [Radeon RX Vega 64] +PASSED! +# START (15) ############################# + + + + + + + + +Device 0 name: Vega 10 XT [Radeon RX Vega 64] + + + + ptr(0x7ffc1d894588) size(0x400000) + + + + + + + + *ptr(0x0x7f0f2c200000) + + + + ptr(0x7ffc1d894580) size(0x400000) + + + + + + + + *ptr(0x0x7f0f1ba00000) + + + + dst(0x7f0f2c200000) src(0x74def40) size(0x400000) kind(1) + + + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0x20442c0) src(0x7f0f1ba00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + Activity records: + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116404) thread_id(116404) + external_id(33) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116404) thread_id(116404) + external_id(31) + process_id(116404) thread_id(116404) + external_id(31) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116404) thread_id(116404) + external_id(33) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116404) thread_id(116404) + external_id(31) + process_id(116404) thread_id(116404) + external_id(31) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116404) thread_id(116404) + external_id(33) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116404) thread_id(116404) + external_id(31) + process_id(116404) thread_id(116404) + external_id(31) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116404) thread_id(116404) + external_id(33) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + device_id(0) queue_id(0) + bytes(0x400000) +PASSED! + + + + ptr(0x7f0f2c200000) + + + + + + + + + + ptr(0x7f0f1ba00000) + + + + + + +# START (14) ############################# +Device 0 name: Vega 10 XT [Radeon RX Vega 64] +PASSED! +# START (13) ############################# + + + + + + + + +Device 0 name: Vega 10 XT [Radeon RX Vega 64] + + + + ptr(0x7ffc1d894588) size(0x400000) + + + + + + + + *ptr(0x0x7f0f2c200000) + + + + ptr(0x7ffc1d894580) size(0x400000) + + + + + + + + *ptr(0x0x7f0f1ba00000) + + + + dst(0x7f0f2c200000) src(0x74def40) size(0x400000) kind(1) + + + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0x20442c0) src(0x7f0f1ba00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + + ptr(0x7f0f2c200000) + + + + + + + + + + ptr(0x7f0f1ba00000) + + + + + + +# START (12) ############################# +Device 0 name: Vega 10 XT [Radeon RX Vega 64] +PASSED! +# START (11) ############################# + + + + + + + + +Device 0 name: Vega 10 XT [Radeon RX Vega 64] + + + + ptr(0x7ffc1d894588) size(0x400000) + + + + + + + + *ptr(0x0x7f0f2c200000) + + + + ptr(0x7ffc1d894580) size(0x400000) + + + + + + + + *ptr(0x0x7f0f1ba00000) + + + + dst(0x7f0f2c200000) src(0x74def40) size(0x400000) kind(1) + + + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0x20442c0) src(0x7f0f1ba00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + + ptr(0x7f0f2c200000) + + + + + + + + + + ptr(0x7f0f1ba00000) + + + + + + +# START (10) ############################# +Device 0 name: Vega 10 XT [Radeon RX Vega 64] +PASSED! +# START (9) ############################# + + + + + + + + +Device 0 name: Vega 10 XT [Radeon RX Vega 64] + + + + ptr(0x7ffc1d894588) size(0x400000) + + + + + + + + *ptr(0x0x7f0f2c200000) + + + + ptr(0x7ffc1d894580) size(0x400000) + + + + + + + + *ptr(0x0x7f0f1ba00000) + + + + dst(0x7f0f2c200000) src(0x74def40) size(0x400000) kind(1) + + + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0x20442c0) src(0x7f0f1ba00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + + ptr(0x7f0f2c200000) + + + + + + + + + + ptr(0x7f0f1ba00000) + + + + + + +# START (8) ############################# +Device 0 name: Vega 10 XT [Radeon RX Vega 64] +PASSED! +# START (7) ############################# + + + + + + + + +Device 0 name: Vega 10 XT [Radeon RX Vega 64] + + + + ptr(0x7ffc1d894588) size(0x400000) + + + + + + + + *ptr(0x0x7f0f2c200000) + + + + ptr(0x7ffc1d894580) size(0x400000) + + + + + + + + *ptr(0x0x7f0f1ba00000) + + + + dst(0x7f0f2c200000) src(0x74def40) size(0x400000) kind(1) + + + + + Activity records: + external_id(32) + process_id(116404) thread_id(116404) + external_id(31) + process_id(116404) thread_id(116404) + external_id(31) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116404) thread_id(116404) + external_id(33) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116404) thread_id(116404) + external_id(31) + process_id(116404) thread_id(116404) + external_id(31) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116404) thread_id(116404) + external_id(33) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116404) thread_id(116404) + external_id(31) + process_id(116404) thread_id(116404) + external_id(31) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116404) thread_id(116404) + external_id(33) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116404) thread_id(116404) + external_id(31) + process_id(116404) thread_id(116404) + external_id(31) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0x20442c0) src(0x7f0f1ba00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + + ptr(0x7f0f2c200000) + + + + + + + + + + ptr(0x7f0f1ba00000) + + + + + + +# START (6) ############################# +Device 0 name: Vega 10 XT [Radeon RX Vega 64] +PASSED! +# START (5) ############################# + + + + + + + + +Device 0 name: Vega 10 XT [Radeon RX Vega 64] + + + + ptr(0x7ffc1d894588) size(0x400000) + + + + + + + + *ptr(0x0x7f0f2c200000) + + + + ptr(0x7ffc1d894580) size(0x400000) + + + + + + + + *ptr(0x0x7f0f1ba00000) + + + + dst(0x7f0f2c200000) src(0x74def40) size(0x400000) kind(1) + + + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0x20442c0) src(0x7f0f1ba00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + + ptr(0x7f0f2c200000) + + + + + + + + + + ptr(0x7f0f1ba00000) + + + + + + +# START (4) ############################# +Device 0 name: Vega 10 XT [Radeon RX Vega 64] +PASSED! +# START (3) ############################# + + + + + + + + +Device 0 name: Vega 10 XT [Radeon RX Vega 64] + + + + ptr(0x7ffc1d894588) size(0x400000) + + + + + + + + *ptr(0x0x7f0f2c200000) + + + + ptr(0x7ffc1d894580) size(0x400000) + + + + + + + + *ptr(0x0x7f0f1ba00000) + + + + dst(0x7f0f2c200000) src(0x74def40) size(0x400000) kind(1) + + + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0x20442c0) src(0x7f0f1ba00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + + ptr(0x7f0f2c200000) + + + + + + + + + + ptr(0x7f0f1ba00000) + + + + + + +# START (2) ############################# +Device 0 name: Vega 10 XT [Radeon RX Vega 64] +PASSED! +# START (1) ############################# + + + + + + + + +Device 0 name: Vega 10 XT [Radeon RX Vega 64] + + + + ptr(0x7ffc1d894588) size(0x400000) + + + + + + + + *ptr(0x0x7f0f2c200000) + + + + ptr(0x7ffc1d894580) size(0x400000) + + + + + + + + *ptr(0x0x7f0f1ba00000) + + + + dst(0x7f0f2c200000) src(0x74def40) size(0x400000) kind(1) + + + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0x20442c0) src(0x7f0f1ba00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + + ptr(0x7f0f2c200000) + + + + + + + + + + ptr(0x7f0f1ba00000) + + + + + + +# START (0) ############################# +Device 0 name: Vega 10 XT [Radeon RX Vega 64] + Activity records: + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116404) thread_id(116404) + external_id(33) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116404) thread_id(116404) + external_id(31) + process_id(116404) thread_id(116404) + external_id(31) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116404) thread_id(116404) + external_id(33) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116404) thread_id(116404) + external_id(31) + process_id(116404) thread_id(116404) + external_id(31) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116404) thread_id(116404) + external_id(33) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116404) thread_id(116404) + external_id(31) + process_id(116404) thread_id(116404) + external_id(31) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116404) thread_id(116404) + external_id(33) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116404) thread_id(116404) +PASSED! + Activity records: + external_id(31) + process_id(116404) thread_id(116404) + external_id(31) + process_id(116404) thread_id(116404) + device_id(0) queue_id(0) +# STOP ############################# + From 1bb2a553be6ca32f0398c174fea638445e594957 Mon Sep 17 00:00:00 2001 From: rkebichi <54912798+rkebichi@users.noreply.github.com> Date: Fri, 31 Jan 2020 16:01:20 -0500 Subject: [PATCH 308/691] Create MatrixTranspose_sys_trace.txt --- .../MatrixTranspose_sys_trace.txt | 6506 +++++++++++++++++ 1 file changed, 6506 insertions(+) create mode 100644 test/MatrixTranspose/MatrixTranspose_sys_trace.txt diff --git a/test/MatrixTranspose/MatrixTranspose_sys_trace.txt b/test/MatrixTranspose/MatrixTranspose_sys_trace.txt new file mode 100644 index 0000000000..ce693dd3f3 --- /dev/null +++ b/test/MatrixTranspose/MatrixTranspose_sys_trace.txt @@ -0,0 +1,6506 @@ +tool SYS test: "./test/MatrixTranspose" +ROCTracer (pid=116414): + rocTX-trace() + HSA-trace() + HIP-trace() +Device name Vega 10 XT [Radeon RX Vega 64] +## Iteration (99) ################# +PASSED! +## Iteration (98) ################# +PASSED! +## Iteration (97) ################# +PASSED! +## Iteration (96) ################# +PASSED! +## Iteration (95) ################# +PASSED! +## Iteration (94) ################# +PASSED! +## Iteration (93) ################# +PASSED! +## Iteration (92) ################# +PASSED! +## Iteration (91) ################# +PASSED! +## Iteration (90) ################# +PASSED! +## Iteration (89) ################# +PASSED! +## Iteration (88) ################# +PASSED! +## Iteration (87) ################# +PASSED! +## Iteration (86) ################# +PASSED! +## Iteration (85) ################# +PASSED! +## Iteration (84) ################# +PASSED! +## Iteration (83) ################# +PASSED! +## Iteration (82) ################# +PASSED! +## Iteration (81) ################# +PASSED! +## Iteration (80) ################# +PASSED! +## Iteration (79) ################# +PASSED! +## Iteration (78) ################# +PASSED! +## Iteration (77) ################# +PASSED! +## Iteration (76) ################# +PASSED! +## Iteration (75) ################# +PASSED! +## Iteration (74) ################# +PASSED! +## Iteration (73) ################# +PASSED! +## Iteration (72) ################# +PASSED! +## Iteration (71) ################# +PASSED! +## Iteration (70) ################# +PASSED! +## Iteration (69) ################# +PASSED! +## Iteration (68) ################# +PASSED! +## Iteration (67) ################# +PASSED! +## Iteration (66) ################# +PASSED! +## Iteration (65) ################# +PASSED! +## Iteration (64) ################# +PASSED! +## Iteration (63) ################# +PASSED! +## Iteration (62) ################# +PASSED! +## Iteration (61) ################# +PASSED! +## Iteration (60) ################# +PASSED! +## Iteration (59) ################# +PASSED! +## Iteration (58) ################# +PASSED! +## Iteration (57) ################# +PASSED! +## Iteration (56) ################# +PASSED! +## Iteration (55) ################# +PASSED! +## Iteration (54) ################# +PASSED! +## Iteration (53) ################# +PASSED! +## Iteration (52) ################# +PASSED! +## Iteration (51) ################# +PASSED! +## Iteration (50) ################# +PASSED! +## Iteration (49) ################# +PASSED! +## Iteration (48) ################# +PASSED! +## Iteration (47) ################# +PASSED! +## Iteration (46) ################# +PASSED! +## Iteration (45) ################# +PASSED! +## Iteration (44) ################# +PASSED! +## Iteration (43) ################# +PASSED! +## Iteration (42) ################# +PASSED! +## Iteration (41) ################# +PASSED! +## Iteration (40) ################# +PASSED! +## Iteration (39) ################# +PASSED! +## Iteration (38) ################# +PASSED! +## Iteration (37) ################# +PASSED! +## Iteration (36) ################# +PASSED! +## Iteration (35) ################# +PASSED! +## Iteration (34) ################# +PASSED! +## Iteration (33) ################# +PASSED! +## Iteration (32) ################# +PASSED! +## Iteration (31) ################# +PASSED! +## Iteration (30) ################# +PASSED! +## Iteration (29) ################# +PASSED! +## Iteration (28) ################# +PASSED! +## Iteration (27) ################# +PASSED! +## Iteration (26) ################# +PASSED! +## Iteration (25) ################# +PASSED! +## Iteration (24) ################# +PASSED! +## Iteration (23) ################# +PASSED! +## Iteration (22) ################# +PASSED! +## Iteration (21) ################# +PASSED! +## Iteration (20) ################# +PASSED! +## Iteration (19) ################# +PASSED! +## Iteration (18) ################# +PASSED! +## Iteration (17) ################# +PASSED! +## Iteration (16) ################# +PASSED! +## Iteration (15) ################# +PASSED! +## Iteration (14) ################# +PASSED! +## Iteration (13) ################# +PASSED! +## Iteration (12) ################# +PASSED! +## Iteration (11) ################# +PASSED! +## Iteration (10) ################# +PASSED! +## Iteration (9) ################# +PASSED! +## Iteration (8) ################# +PASSED! +## Iteration (7) ################# +PASSED! +## Iteration (6) ################# +PASSED! +## Iteration (5) ################# +PASSED! +## Iteration (4) ################# +PASSED! +## Iteration (3) ################# +PASSED! +## Iteration (2) ################# +PASSED! +## Iteration (1) ################# +PASSED! +## Iteration (0) ################# +PASSED! +1822745843970178:1822745843979318 116414:116414 hipGetDeviceProperties() +1822745846474714:1822745846593465 116414:116414 hipMalloc(ptr(0x7f074e800000) size(0x400000)) +1822745846595035:1822745846655616 116414:116414 hipMalloc(ptr(0x7f074e200000) size(0x400000)) +1822745846666816:1822745854964868 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) +1822745854968148:1822745854968149 116414:116414 MARK(name(before HIP LaunchKernel)) +1822746298308870:1822746303423953 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822746303443683:1822746303443684 116414:116414 MARK(name(after HIP LaunchKernel)) +1822746303451293:1822746307819121 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) +1822746320702463:1822746322784296 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) +1822746322785696:1822746322785697 116414:116414 MARK(name(before HIP LaunchKernel)) +1822746322799047:1822746322829467 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822746322830727:1822746322830728 116414:116414 MARK(name(after HIP LaunchKernel)) +1822746322833607:1822746327109964 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) +1822746333586775:1822746335660718 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) +1822746335661998:1822746335661999 116414:116414 MARK(name(before HIP LaunchKernel)) +1822746335675698:1822746335698609 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822746335699859:1822746335699860 116414:116414 MARK(name(after HIP LaunchKernel)) +1822746335702869:1822746340061426 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) +1822746346506927:1822746348567011 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) +1822746348568511:1822746348568512 116414:116414 MARK(name(before HIP LaunchKernel)) +1822746348580611:1822746348610931 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822746348612211:1822746348612212 116414:116414 MARK(name(after HIP LaunchKernel)) +1822746348615261:1822746352907138 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) +1822746359344249:1822746361405052 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) +1822746361406962:1822746361406963 116414:116414 MARK(name(before HIP LaunchKernel)) +1822746361421082:1822746361443332 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822746361444572:1822746361444573 116414:116414 MARK(name(after HIP LaunchKernel)) +1822746361455202:1822746365744469 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) +1822746372202171:1822746374270134 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) +1822746374271634:1822746374271635 116414:116414 MARK(name(before HIP LaunchKernel)) +1822746374294064:1822746374317035 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822746374318255:1822746374318256 116414:116414 MARK(name(after HIP LaunchKernel)) +1822746374321165:1822746378595171 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) +1822746384660700:1822746386722433 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) +1822746386723883:1822746386723884 116414:116414 MARK(name(before HIP LaunchKernel)) +1822746386738714:1822746386761374 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822746386762664:1822746386762665 116414:116414 MARK(name(after HIP LaunchKernel)) +1822746386765844:1822746391048471 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) +1822746397114629:1822746399185553 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) +1822746399186833:1822746399186834 116414:116414 MARK(name(before HIP LaunchKernel)) +1822746399200683:1822746399223483 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822746399224743:1822746399224744 116414:116414 MARK(name(after HIP LaunchKernel)) +1822746399227793:1822746403529961 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) +1822746409995081:1822746412057035 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) +1822746412058365:1822746412058366 116414:116414 MARK(name(before HIP LaunchKernel)) +1822746412071955:1822746412094595 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822746412095765:1822746412095766 116414:116414 MARK(name(after HIP LaunchKernel)) +1822746412098905:1822746416387712 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) +1822746422826463:1822746424897176 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) +1822746424898496:1822746424898497 116414:116414 MARK(name(before HIP LaunchKernel)) +1822746424911236:1822746424933737 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822746424935007:1822746424935008 116414:116414 MARK(name(after HIP LaunchKernel)) +1822746424938207:1822746429218004 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) +1822746435676255:1822746437720948 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) +1822746437730038:1822746437730039 116414:116414 MARK(name(before HIP LaunchKernel)) +1822746437743568:1822746437769188 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822746437770698:1822746437770699 116414:116414 MARK(name(after HIP LaunchKernel)) +1822746437773838:1822746442027596 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) +1822746448083424:1822746450158327 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) +1822746450159647:1822746450159648 116414:116414 MARK(name(before HIP LaunchKernel)) +1822746450173407:1822746450196707 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822746450197897:1822746450197898 116414:116414 MARK(name(after HIP LaunchKernel)) +1822746450200977:1822746454503295 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) +1822746460941515:1822746463002759 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) +1822746463004099:1822746463004100 116414:116414 MARK(name(before HIP LaunchKernel)) +1822746463017579:1822746463049159 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822746463050449:1822746463050450 116414:116414 MARK(name(after HIP LaunchKernel)) +1822746463053449:1822746467336197 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) +1822746473805778:1822746475882871 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) +1822746475884231:1822746475884232 116414:116414 MARK(name(before HIP LaunchKernel)) +1822746475897431:1822746475919811 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822746475921111:1822746475921112 116414:116414 MARK(name(after HIP LaunchKernel)) +1822746475924261:1822746480224589 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) +1822746486679779:1822746488737312 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) +1822746488738752:1822746488738753 116414:116414 MARK(name(before HIP LaunchKernel)) +1822746488751963:1822746488782493 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822746488783693:1822746488783694 116414:116414 MARK(name(after HIP LaunchKernel)) +1822746488786943:1822746493097300 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) +1822746499530752:1822746501598695 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) +1822746501600095:1822746501600096 116414:116414 MARK(name(before HIP LaunchKernel)) +1822746501614375:1822746501637495 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822746501648745:1822746501648746 116414:116414 MARK(name(after HIP LaunchKernel)) +1822746501652265:1822746505928192 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) +1822746512370343:1822746514457276 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) +1822746514458696:1822746514458697 116414:116414 MARK(name(before HIP LaunchKernel)) +1822746514473036:1822746514495377 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822746514496697:1822746514496698 116414:116414 MARK(name(after HIP LaunchKernel)) +1822746514499747:1822746518741494 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) +1822746525191625:1822746527258748 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) +1822746527260208:1822746527260209 116414:116414 MARK(name(before HIP LaunchKernel)) +1822746527284108:1822746527308108 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822746527309358:1822746527309359 116414:116414 MARK(name(after HIP LaunchKernel)) +1822746527312808:1822746531586155 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) +1822746538049717:1822746540124270 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) +1822746540125590:1822746540125591 116414:116414 MARK(name(before HIP LaunchKernel)) +1822746540139580:1822746540162980 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822746540164260:1822746540164261 116414:116414 MARK(name(after HIP LaunchKernel)) +1822746540167390:1822746544477457 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) +1822746550904939:1822746552970562 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) +1822746552972192:1822746552972193 116414:116414 MARK(name(before HIP LaunchKernel)) +1822746552986182:1822746553009192 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822746553010492:1822746553010493 116414:116414 MARK(name(after HIP LaunchKernel)) +1822746553013422:1822746557332730 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) +1822746563763110:1822746565846414 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) +1822746565848034:1822746565848035 116414:116414 MARK(name(before HIP LaunchKernel)) +1822746565861314:1822746565884274 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822746565885504:1822746565885505 116414:116414 MARK(name(after HIP LaunchKernel)) +1822746565888614:1822746570194671 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) +1822746576267190:1822746578332543 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) +1822746578333923:1822746578333924 116414:116414 MARK(name(before HIP LaunchKernel)) +1822746578348063:1822746578379063 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822746578380393:1822746578380394 116414:116414 MARK(name(after HIP LaunchKernel)) +1822746578383383:1822746582642821 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) +1822746589078011:1822746591158025 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) +1822746591159335:1822746591159336 116414:116414 MARK(name(before HIP LaunchKernel)) +1822746591172855:1822746591195855 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822746591197105:1822746591197106 116414:116414 MARK(name(after HIP LaunchKernel)) +1822746591200045:1822746595502053 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) +1822746601948173:1822746604015657 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) +1822746604016967:1822746604016968 116414:116414 MARK(name(before HIP LaunchKernel)) +1822746604030517:1822746604061257 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822746604062467:1822746604062468 116414:116414 MARK(name(after HIP LaunchKernel)) +1822746604065477:1822746608328534 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) +1822746614389352:1822746616469396 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) +1822746616470976:1822746616470977 116414:116414 MARK(name(before HIP LaunchKernel)) +1822746616484366:1822746616506406 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822746616507656:1822746616507657 116414:116414 MARK(name(after HIP LaunchKernel)) +1822746616510696:1822746620825594 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) +1822746627260834:1822746629329598 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) +1822746629331008:1822746629331009 116414:116414 MARK(name(before HIP LaunchKernel)) +1822746629344238:1822746629375238 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822746629376498:1822746629376499 116414:116414 MARK(name(after HIP LaunchKernel)) +1822746629379598:1822746633699056 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) +1822746639738834:1822746641811077 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) +1822746641812567:1822746641812568 116414:116414 MARK(name(before HIP LaunchKernel)) +1822746641833087:1822746641855257 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822746641856487:1822746641856488 116414:116414 MARK(name(after HIP LaunchKernel)) +1822746641859797:1822746646095074 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) +1822746652534346:1822746654611299 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) +1822746654612629:1822746654612630 116414:116414 MARK(name(before HIP LaunchKernel)) +1822746654626799:1822746654650289 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822746654651549:1822746654651550 116414:116414 MARK(name(after HIP LaunchKernel)) +1822746654654729:1822746658919216 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) +1822746665361737:1822746667426330 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) +1822746667428000:1822746667428001 116414:116414 MARK(name(before HIP LaunchKernel)) +1822746667440830:1822746667463430 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822746667464700:1822746667464701 116414:116414 MARK(name(after HIP LaunchKernel)) +1822746667467440:1822746671741578 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) +1822746678189259:1822746680263922 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) +1822746680265312:1822746680265313 116414:116414 MARK(name(before HIP LaunchKernel)) +1822746680278522:1822746680301313 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822746680302503:1822746680302504 116414:116414 MARK(name(after HIP LaunchKernel)) +1822746680305543:1822746684599749 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) +1822746691021611:1822746693084514 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) +1822746693085964:1822746693085965 116414:116414 MARK(name(before HIP LaunchKernel)) +1822746693099924:1822746693122074 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822746693123334:1822746693123335 116414:116414 MARK(name(after HIP LaunchKernel)) +1822746693126444:1822746697417261 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) +1822746703840982:1822746705929455 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) +1822746705931345:1822746705931346 116414:116414 MARK(name(before HIP LaunchKernel)) +1822746705945055:1822746705968686 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822746705970476:1822746705970477 116414:116414 MARK(name(after HIP LaunchKernel)) +1822746705975396:1822746710266673 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) +1822746716759864:1822746718818848 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) +1822746718820238:1822746718820239 116414:116414 MARK(name(before HIP LaunchKernel)) +1822746718833338:1822746718862488 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822746718863738:1822746718863739 116414:116414 MARK(name(after HIP LaunchKernel)) +1822746718866688:1822746723107325 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) +1822746729581726:1822746731654639 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) +1822746731656219:1822746731656220 116414:116414 MARK(name(before HIP LaunchKernel)) +1822746731669399:1822746731692850 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822746731694160:1822746731694161 116414:116414 MARK(name(after HIP LaunchKernel)) +1822746731697050:1822746735979657 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) +1822746742049516:1822746744110189 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) +1822746744111509:1822746744111510 116414:116414 MARK(name(before HIP LaunchKernel)) +1822746744133069:1822746744157759 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822746744159029:1822746744159030 116414:116414 MARK(name(after HIP LaunchKernel)) +1822746744162029:1822746748470026 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) +1822746754538355:1822746756604198 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) +1822746756605568:1822746756605569 116414:116414 MARK(name(before HIP LaunchKernel)) +1822746756620218:1822746756644108 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822746756645308:1822746756645309 116414:116414 MARK(name(after HIP LaunchKernel)) +1822746756648178:1822746760954265 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) +1822746767383727:1822746769460510 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) +1822746769462090:1822746769462091 116414:116414 MARK(name(before HIP LaunchKernel)) +1822746769475920:1822746769508420 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822746769510160:1822746769510161 116414:116414 MARK(name(after HIP LaunchKernel)) +1822746769513370:1822746773819308 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) +1822746780266169:1822746782332622 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) +1822746782341262:1822746782341263 116414:116414 MARK(name(before HIP LaunchKernel)) +1822746782355002:1822746782377392 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822746782378672:1822746782378673 116414:116414 MARK(name(after HIP LaunchKernel)) +1822746782381572:1822746786660119 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) +1822746793109760:1822746795184754 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) +1822746795186074:1822746795186075 116414:116414 MARK(name(before HIP LaunchKernel)) +1822746795200074:1822746795222534 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822746795223724:1822746795223725 116414:116414 MARK(name(after HIP LaunchKernel)) +1822746795227004:1822746799487531 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) +1822746805734131:1822746807826774 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) +1822746807828174:1822746807828175 116414:116414 MARK(name(before HIP LaunchKernel)) +1822746807841974:1822746807865544 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822746807866844:1822746807866845 116414:116414 MARK(name(after HIP LaunchKernel)) +1822746807869834:1822746812163911 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) +1822746818657433:1822746820718916 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) +1822746820720396:1822746820720397 116414:116414 MARK(name(before HIP LaunchKernel)) +1822746820733776:1822746820754526 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822746820755816:1822746820755817 116414:116414 MARK(name(after HIP LaunchKernel)) +1822746820759147:1822746825045544 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) +1822746831158123:1822746833219966 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) +1822746833221276:1822746833221277 116414:116414 MARK(name(before HIP LaunchKernel)) +1822746833235116:1822746833257296 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822746833258496:1822746833258497 116414:116414 MARK(name(after HIP LaunchKernel)) +1822746833262016:1822746837573733 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) +1822746844028614:1822746846098438 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) +1822746846099908:1822746846099909 116414:116414 MARK(name(before HIP LaunchKernel)) +1822746846113688:1822746846136198 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822746846139898:1822746846139899 116414:116414 MARK(name(after HIP LaunchKernel)) +1822746846143028:1822746850395185 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) +1822746856855246:1822746858924999 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) +1822746858926649:1822746858926650 116414:116414 MARK(name(before HIP LaunchKernel)) +1822746858940839:1822746858972180 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822746858973450:1822746858973451 116414:116414 MARK(name(after HIP LaunchKernel)) +1822746858976940:1822746863235007 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) +1822746869391056:1822746871466399 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) +1822746871467439:1822746871467440 116414:116414 MARK(name(before HIP LaunchKernel)) +1822746871481859:1822746871504729 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822746871505959:1822746871505960 116414:116414 MARK(name(after HIP LaunchKernel)) +1822746871509339:1822746875781837 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) +1822746882240938:1822746884305401 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) +1822746884306961:1822746884306962 116414:116414 MARK(name(before HIP LaunchKernel)) +1822746884320881:1822746884352031 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822746884353321:1822746884353322 116414:116414 MARK(name(after HIP LaunchKernel)) +1822746884356881:1822746888675479 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) +1822746895121520:1822746897183443 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) +1822746897184773:1822746897184774 116414:116414 MARK(name(before HIP LaunchKernel)) +1822746897198993:1822746897220863 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822746897222143:1822746897222144 116414:116414 MARK(name(after HIP LaunchKernel)) +1822746897225833:1822746901551111 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) +1822746907997171:1822746910084375 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) +1822746910085815:1822746910085816 116414:116414 MARK(name(before HIP LaunchKernel)) +1822746910100145:1822746910132645 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822746910133885:1822746910133886 116414:116414 MARK(name(after HIP LaunchKernel)) +1822746910137185:1822746914418213 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) +1822746920862944:1822746922908037 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) +1822746922909437:1822746922909438 116414:116414 MARK(name(before HIP LaunchKernel)) +1822746922923627:1822746922945717 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822746922947007:1822746922947008 116414:116414 MARK(name(after HIP LaunchKernel)) +1822746922950017:1822746927245224 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) +1822746933711785:1822746935787248 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) +1822746935788578:1822746935788579 116414:116414 MARK(name(before HIP LaunchKernel)) +1822746935802498:1822746935825959 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822746935827269:1822746935827270 116414:116414 MARK(name(after HIP LaunchKernel)) +1822746935830269:1822746940121236 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) +1822746946567968:1822746948633181 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) +1822746948634511:1822746948634512 116414:116414 MARK(name(before HIP LaunchKernel)) +1822746948648031:1822746948671011 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822746948672241:1822746948672242 116414:116414 MARK(name(after HIP LaunchKernel)) +1822746948675421:1822746952926358 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) +1822746959366809:1822746961429082 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) +1822746961430712:1822746961430713 116414:116414 MARK(name(before HIP LaunchKernel)) +1822746961446582:1822746961469232 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822746961470572:1822746961470573 116414:116414 MARK(name(after HIP LaunchKernel)) +1822746961473822:1822746965814810 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) +1822746972279711:1822746974343794 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) +1822746974345454:1822746974345455 116414:116414 MARK(name(before HIP LaunchKernel)) +1822746974360034:1822746974382215 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822746974383495:1822746974383496 116414:116414 MARK(name(after HIP LaunchKernel)) +1822746974394765:1822746978700292 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) +1822746985156093:1822746987233016 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) +1822746987234346:1822746987234347 116414:116414 MARK(name(before HIP LaunchKernel)) +1822746987249906:1822746987273247 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822746987274437:1822746987274438 116414:116414 MARK(name(after HIP LaunchKernel)) +1822746987277427:1822746991547133 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) +1822746997998865:1822747000042538 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) +1822747000043858:1822747000043859 116414:116414 MARK(name(before HIP LaunchKernel)) +1822747000056848:1822747000088678 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822747000090048:1822747000090049 116414:116414 MARK(name(after HIP LaunchKernel)) +1822747000093068:1822747004383005 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) +1822747010835117:1822747012916650 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) +1822747012918040:1822747012918041 116414:116414 MARK(name(before HIP LaunchKernel)) +1822747012931960:1822747012954660 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822747012955940:1822747012955941 116414:116414 MARK(name(after HIP LaunchKernel)) +1822747012959070:1822747017226257 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) +1822747023666818:1822747025736181 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) +1822747025737581:1822747025737582 116414:116414 MARK(name(before HIP LaunchKernel)) +1822747025750942:1822747025781412 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822747025782592:1822747025782593 116414:116414 MARK(name(after HIP LaunchKernel)) +1822747025785872:1822747030052239 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) +1822747036505630:1822747038573033 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) +1822747038574363:1822747038574364 116414:116414 MARK(name(before HIP LaunchKernel)) +1822747038587933:1822747038610283 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822747038611533:1822747038611534 116414:116414 MARK(name(after HIP LaunchKernel)) +1822747038614453:1822747042937121 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) +1822747049391692:1822747051453585 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) +1822747051454915:1822747051454916 116414:116414 MARK(name(before HIP LaunchKernel)) +1822747051477095:1822747051499955 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822747051501245:1822747051501246 116414:116414 MARK(name(after HIP LaunchKernel)) +1822747051505645:1822747055761853 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) +1822747062234364:1822747064278727 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) +1822747064280197:1822747064280198 116414:116414 MARK(name(before HIP LaunchKernel)) +1822747064294077:1822747064316727 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822747064317897:1822747064317898 116414:116414 MARK(name(after HIP LaunchKernel)) +1822747064321017:1822747068576644 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) +1822747075133836:1822747077187479 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) +1822747077188879:1822747077188880 116414:116414 MARK(name(before HIP LaunchKernel)) +1822747077202689:1822747077225089 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822747077226409:1822747077226410 116414:116414 MARK(name(after HIP LaunchKernel)) +1822747077229319:1822747081494496 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) +1822747087696776:1822747089772219 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) +1822747089773989:1822747089773990 116414:116414 MARK(name(before HIP LaunchKernel)) +1822747089788499:1822747089811079 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822747089812899:1822747089812900 116414:116414 MARK(name(after HIP LaunchKernel)) +1822747089815949:1822747094096777 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) +1822747100523827:1822747102603680 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) +1822747102605060:1822747102605061 116414:116414 MARK(name(before HIP LaunchKernel)) +1822747102619531:1822747102641481 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822747102642691:1822747102642692 116414:116414 MARK(name(after HIP LaunchKernel)) +1822747102645601:1822747106932618 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) +1822747113394119:1822747115459782 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) +1822747115461212:1822747115461213 116414:116414 MARK(name(before HIP LaunchKernel)) +1822747115475162:1822747115497753 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822747115499023:1822747115499024 116414:116414 MARK(name(after HIP LaunchKernel)) +1822747115515153:1822747119760390 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) +1822747126225621:1822747128302184 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) +1822747128305604:1822747128305605 116414:116414 MARK(name(before HIP LaunchKernel)) +1822747128319784:1822747128343274 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822747128344584:1822747128344585 116414:116414 MARK(name(after HIP LaunchKernel)) +1822747128348014:1822747132642992 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) +1822747139092793:1822747141161296 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) +1822747141162606:1822747141162607 116414:116414 MARK(name(before HIP LaunchKernel)) +1822747141175786:1822747141207066 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822747141208306:1822747141208307 116414:116414 MARK(name(after HIP LaunchKernel)) +1822747141211546:1822747145461953 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) +1822747151567003:1822747153656286 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) +1822747153657676:1822747153657677 116414:116414 MARK(name(before HIP LaunchKernel)) +1822747153671136:1822747153695166 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822747153696456:1822747153696457 116414:116414 MARK(name(after HIP LaunchKernel)) +1822747153699736:1822747157969813 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) +1822747164422934:1822747166485517 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) +1822747166486917:1822747166486918 116414:116414 MARK(name(before HIP LaunchKernel)) +1822747166501377:1822747166532578 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822747166533928:1822747166533929 116414:116414 MARK(name(after HIP LaunchKernel)) +1822747166537248:1822747170842615 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) +1822747177296116:1822747179360869 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) +1822747179362209:1822747179362210 116414:116414 MARK(name(before HIP LaunchKernel)) +1822747179384019:1822747179406819 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822747179408029:1822747179408030 116414:116414 MARK(name(after HIP LaunchKernel)) +1822747179411549:1822747183701457 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) +1822747190153568:1822747192218121 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) +1822747192219531:1822747192219532 116414:116414 MARK(name(before HIP LaunchKernel)) +1822747192241651:1822747192264562 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822747192268592:1822747192268593 116414:116414 MARK(name(after HIP LaunchKernel)) +1822747192271912:1822747196567838 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) +1822747203025850:1822747205089433 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) +1822747205090823:1822747205090824 116414:116414 MARK(name(before HIP LaunchKernel)) +1822747205104743:1822747205127533 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822747205128843:1822747205128844 116414:116414 MARK(name(after HIP LaunchKernel)) +1822747205131903:1822747209398351 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) +1822747215861132:1822747217941265 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) +1822747217942715:1822747217942716 116414:116414 MARK(name(before HIP LaunchKernel)) +1822747217956385:1822747217979925 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822747217981125:1822747217981126 116414:116414 MARK(name(after HIP LaunchKernel)) +1822747217984415:1822747222276732 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) +1822747228736384:1822747230805337 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) +1822747230806677:1822747230806678 116414:116414 MARK(name(before HIP LaunchKernel)) +1822747230820807:1822747230842957 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822747230844217:1822747230844218 116414:116414 MARK(name(after HIP LaunchKernel)) +1822747230847227:1822747235088114 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) +1822747241171943:1822747243246626 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) +1822747243248046:1822747243248047 116414:116414 MARK(name(before HIP LaunchKernel)) +1822747243261336:1822747243283836 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822747243285216:1822747243285217 116414:116414 MARK(name(after HIP LaunchKernel)) +1822747243288396:1822747247528633 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) +1822747253981024:1822747256039047 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) +1822747256040467:1822747256040468 116414:116414 MARK(name(before HIP LaunchKernel)) +1822747256054087:1822747256085958 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822747256087158:1822747256087159 116414:116414 MARK(name(after HIP LaunchKernel)) +1822747256090268:1822747260360155 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) +1822747266815846:1822747268892109 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) +1822747268893999:1822747268894000 116414:116414 MARK(name(before HIP LaunchKernel)) +1822747268908149:1822747268930499 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822747268931759:1822747268931760 116414:116414 MARK(name(after HIP LaunchKernel)) +1822747268934889:1822747273197947 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) +1822747279638697:1822747281720521 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) +1822747281721851:1822747281721852 116414:116414 MARK(name(before HIP LaunchKernel)) +1822747281736001:1822747281767771 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822747281769071:1822747281769072 116414:116414 MARK(name(after HIP LaunchKernel)) +1822747281772051:1822747286046009 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) +1822747292087217:1822747294175330 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) +1822747294176650:1822747294176651 116414:116414 MARK(name(before HIP LaunchKernel)) +1822747294190370:1822747294213700 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822747294214890:1822747294214891 116414:116414 MARK(name(after HIP LaunchKernel)) +1822747294218100:1822747298479718 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) +1822747304924289:1822747306988822 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) +1822747306990412:1822747306990413 116414:116414 MARK(name(before HIP LaunchKernel)) +1822747307004372:1822747307035392 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822747307036652:1822747307036653 116414:116414 MARK(name(after HIP LaunchKernel)) +1822747307039652:1822747311314729 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) +1822747317791590:1822747319871093 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) +1822747319872493:1822747319872494 116414:116414 MARK(name(before HIP LaunchKernel)) +1822747319887283:1822747319910064 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822747319911324:1822747319911325 116414:116414 MARK(name(after HIP LaunchKernel)) +1822747319914424:1822747324203491 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) +1822747330643493:1822747332700526 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) +1822747332702106:1822747332702107 116414:116414 MARK(name(before HIP LaunchKernel)) +1822747332716586:1822747332739436 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822747332740626:1822747332740627 116414:116414 MARK(name(after HIP LaunchKernel)) +1822747332744156:1822747337036843 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) +1822747343481914:1822747345556187 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) +1822747345557677:1822747345557678 116414:116414 MARK(name(before HIP LaunchKernel)) +1822747345571377:1822747345594768 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822747345596058:1822747345596059 116414:116414 MARK(name(after HIP LaunchKernel)) +1822747345599338:1822747349872305 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) +1822747355971414:1822747358047577 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) +1822747358048997:1822747358048998 116414:116414 MARK(name(before HIP LaunchKernel)) +1822747358063047:1822747358085817 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822747358087087:1822747358087088 116414:116414 MARK(name(after HIP LaunchKernel)) +1822747358090547:1822747362398395 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) +1822747368851376:1822747370900379 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) +1822747370901939:1822747370901940 116414:116414 MARK(name(before HIP LaunchKernel)) +1822747370915989:1822747370938199 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822747370939399:1822747370939400 116414:116414 MARK(name(after HIP LaunchKernel)) +1822747370942579:1822747375221076 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) +1822747381681947:1822747383754331 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) +1822747383755681:1822747383755682 116414:116414 MARK(name(before HIP LaunchKernel)) +1822747383768661:1822747383791121 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822747383792401:1822747383792402 116414:116414 MARK(name(after HIP LaunchKernel)) +1822747383795301:1822747388092428 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) +1822747394536289:1822747396603152 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) +1822747396604482:1822747396604483 116414:116414 MARK(name(before HIP LaunchKernel)) +1822747396626433:1822747396650613 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822747396651883:1822747396651884 116414:116414 MARK(name(after HIP LaunchKernel)) +1822747396656463:1822747400910100 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) +1822747407366001:1822747409448144 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) +1822747409449544:1822747409449545 116414:116414 MARK(name(before HIP LaunchKernel)) +1822747409464164:1822747409487494 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822747409488684:1822747409488685 116414:116414 MARK(name(after HIP LaunchKernel)) +1822747409492014:1822747413770062 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) +1822747419814600:1822747421885053 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) +1822747421886603:1822747421886604 116414:116414 MARK(name(before HIP LaunchKernel)) +1822747421900793:1822747421932093 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822747421933384:1822747421933385 116414:116414 MARK(name(after HIP LaunchKernel)) +1822747421936594:1822747426217111 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) +1822747432672842:1822747434748835 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) +1822747434750165:1822747434750166 116414:116414 MARK(name(before HIP LaunchKernel)) +1822747434763215:1822747434785875 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822747434787135:1822747434787136 116414:116414 MARK(name(after HIP LaunchKernel)) +1822747434790075:1822747439088443 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) +1822747445545044:1822747447609577 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) +1822747447610877:1822747447610878 116414:116414 MARK(name(before HIP LaunchKernel)) +1822747447624707:1822747447653147 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822747447654367:1822747447654368 116414:116414 MARK(name(after HIP LaunchKernel)) +1822747447657297:1822747451957375 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) +1822747458405686:1822747460450399 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) +1822747460451959:1822747460451960 116414:116414 MARK(name(before HIP LaunchKernel)) +1822747460466289:1822747460489279 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822747460490549:1822747460490550 116414:116414 MARK(name(after HIP LaunchKernel)) +1822747460493389:1822747464743566 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) +1822747471179157:1822747473254680 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) +1822747473257360:1822747473257361 116414:116414 MARK(name(before HIP LaunchKernel)) +1822747473270550:1822747473293450 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822747473294800:1822747473294801 116414:116414 MARK(name(after HIP LaunchKernel)) +1822747473297950:1822747477591398 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) +1822747484028118:1822747486091922 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) +1822747486093502:1822747486093503 116414:116414 MARK(name(before HIP LaunchKernel)) +1822747486106882:1822747486130172 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822747486131372:1822747486131373 116414:116414 MARK(name(after HIP LaunchKernel)) +1822747486134422:1822747490419139 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) +1822747496865051:1822747498943064 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) +1822747498944464:1822747498944465 116414:116414 MARK(name(before HIP LaunchKernel)) +1822747498958554:1822747498980754 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822747498982014:1822747498982015 116414:116414 MARK(name(after HIP LaunchKernel)) +1822747498984894:1822747503268461 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) +1822747509756563:1822747511818276 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) +1822747511819686:1822747511819687 116414:116414 MARK(name(before HIP LaunchKernel)) +1822747511833116:1822747511855426 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822747511856726:1822747511856727 116414:116414 MARK(name(after HIP LaunchKernel)) +1822747511859826:1822747516150013 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) +1822747522597635:1822747524670938 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) +1822747524672268:1822747524672269 116414:116414 MARK(name(before HIP LaunchKernel)) +1822747524685428:1822747524707998 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822747524709218:1822747524709219 116414:116414 MARK(name(after HIP LaunchKernel)) +1822747524712398:1822747528987975 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) +1822747535047784:1822747537113067 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) +1822747537114857:1822747537114858 116414:116414 MARK(name(before HIP LaunchKernel)) +1822747537138907:1822747537163577 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822747537164877:1822747537164878 116414:116414 MARK(name(after HIP LaunchKernel)) +1822747537167957:1822747541436424 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) +1822747547534253:1822747549612217 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) +1822747549613767:1822747549613768 116414:116414 MARK(name(before HIP LaunchKernel)) +1822747549627617:1822747549651057 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822747549652307:1822747549652308 116414:116414 MARK(name(after HIP LaunchKernel)) +1822747549655577:1822747553933694 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) +1822747560390115:1822747562453868 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) +1822747562455438:1822747562455439 116414:116414 MARK(name(before HIP LaunchKernel)) +1822747562469358:1822747562501949 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822747562503169:1822747562503170 116414:116414 MARK(name(after HIP LaunchKernel)) +1822747562506189:1822747566818226 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) +1822747572878324:1822747574942608 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) +1822747574943958:1822747574943959 116414:116414 MARK(name(before HIP LaunchKernel)) +1822747574958378:1822747574981108 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822747574982378:1822747574982379 116414:116414 MARK(name(after HIP LaunchKernel)) +1822747574985538:1822747579262875 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) +1822747585404054:1822747585512165 116414:116414 hipFree(ptr(0x7f074e800000)) +1822747585513895:1822747585531215 116414:116414 hipFree(ptr(0x7f074e200000)) +1822745838864805:1822745838865295 116414:116414 hsa_agent_get_info(, 17, 0x7ffcc96c5e74) = 0 +1822745838866635:1822745838867175 116414:116414 hsa_agent_get_info(, 17, 0x7ffcc96c5e74) = 0 +1822745838866635:1822745838868025 116414:116414 hsa_iterate_agents(1, 0x1120fe8) = 0 +1822745838868896:1822745838869216 116414:116414 hsa_agent_get_info(, 17, 0x7ffcc96c607c) = 0 +1822745838868896:1822745838869656 116414:116414 hsa_iterate_agents(1, 0x1120fe0) = 1 +1822745838878436:1822745838878816 116414:116414 hsa_agent_get_info(, 4, 0x7ffcc96c5d80) = 0 +1822745838879306:1822745838882766 116414:116414 hsa_agent_get_info(, 0, 0x7ffcc96c5d40) = 0 +1822745838883246:1822745838883586 116414:116414 hsa_agent_get_info(, 16, 0x1118fd8) = 0 +1822745838897646:1822745838897996 116414:116414 hsa_agent_get_info(, 21, 0x1118f70) = 0 +1822745838898446:1822745838898776 116414:116414 hsa_agent_get_info(, 22, 0x1118f72) = 0 +1822745838899226:1822745838899566 116414:116414 hsa_agent_get_info(, 14, 0x1118e10) = 0 +1822745838902156:1822745838902776 116414:116414 hsa_amd_profiling_async_copy_enable() = 0 +1822745838906586:1822745838907436 116414:116414 hsa_amd_memory_pool_get_info(, 0, 0x7ffcc96c5a1c) = 0 +1822745838907946:1822745838908276 116414:116414 hsa_amd_memory_pool_get_info(, 0, 0x7ffcc96c5a1c) = 0 +1822745838908726:1822745838909056 116414:116414 hsa_amd_memory_pool_get_info(, 2, 0x7ffcc96c5a20) = 0 +1822745838908726:1822745838909506 116414:116414 hsa_amd_agent_iterate_memory_pools(, 1, 0x1118e08) = 1 +1822745838910296:1822745838910626 116414:116414 hsa_amd_memory_pool_get_info(, 0, 0x7ffcc96c5874) = 0 +1822745838911066:1822745838911396 116414:116414 hsa_amd_memory_pool_get_info(, 1, 0x7ffcc96c5864) = 0 +1822745838911836:1822745838912156 116414:116414 hsa_amd_memory_pool_get_info(, 2, 0x7ffcc96c5868) = 0 +1822745838912706:1822745838913026 116414:116414 hsa_amd_memory_pool_get_info(, 0, 0x7ffcc96c5874) = 0 +1822745838912706:1822745838913486 116414:116414 hsa_amd_agent_iterate_memory_pools(, 1, 0x1118ec8) = 0 +1822745838914286:1822745838914616 116414:116414 hsa_amd_memory_pool_get_info(, 0, 0x7ffcc96c5a2c) = 0 +1822745838915046:1822745838915376 116414:116414 hsa_amd_memory_pool_get_info(, 1, 0x7ffcc96c589c) = 0 +1822745838915816:1822745838916136 116414:116414 hsa_amd_memory_pool_get_info(, 2, 0x7ffcc96c5890) = 0 +1822745838916906:1822745838917226 116414:116414 hsa_amd_memory_pool_get_info(, 0, 0x7ffcc96c5a2c) = 0 +1822745838917656:1822745838917976 116414:116414 hsa_amd_memory_pool_get_info(, 1, 0x7ffcc96c589c) = 0 +1822745838918406:1822745838918726 116414:116414 hsa_amd_memory_pool_get_info(, 2, 0x7ffcc96c5890) = 0 +1822745838918406:1822745838919186 116414:116414 hsa_amd_agent_iterate_memory_pools(, 1, 0x1118ec8) = 0 +1822745838921716:1822745839063337 116414:116414 hsa_amd_memory_pool_allocate(, , , 0x7ffcc96c5b18) = 0 +1822745839067757:1822745839136437 116414:116414 hsa_amd_agents_allow_access(, 0x1118e00, 0, 0x7f077be80000) = 0 +1822745839146337:1822745839146717 116414:116414 hsa_agent_get_info(, 8, 0x1118f24) = 0 +1822745839147187:1822745839147507 116414:116414 hsa_agent_get_info(, 7, 0x1118f28) = 0 +1822745839147957:1822745839148277 116414:116414 hsa_agent_get_info(, 4, 0x7ffcc96c5f80) = 0 +1822745839153787:1822745839154177 116414:116414 hsa_amd_memory_pool_get_info(, 0, 0x7ffcc96c58dc) = 0 +1822745839154797:1822745839155117 116414:116414 hsa_amd_memory_pool_get_info(, 1, 0x7ffcc96c58d8) = 0 +1822745839155657:1822745839155977 116414:116414 hsa_amd_memory_pool_get_info(, 0, 0x7ffcc96c58dc) = 0 +1822745839156457:1822745839156797 116414:116414 hsa_amd_memory_pool_get_info(, 1, 0x7ffcc96c58d8) = 0 +1822745839156457:1822745839157297 116414:116414 hsa_amd_agent_iterate_memory_pools(, 1, 0x7ffcc96c5b10) = 0 +1822745839158167:1822745839158517 116414:116414 hsa_agent_get_info(, 17, 0x7ffcc96c5904) = 0 +1822745839158997:1822745839159337 116414:116414 hsa_agent_get_info(, 17, 0x7ffcc96c5904) = 0 +1822745839158997:1822745839159857 116414:116414 hsa_iterate_agents(1, 0x7ffcc96c5a70) = 0 +1822745839160547:1822745840209184 116414:116414 hsa_amd_memory_pool_allocate(, , , 0x1119340) = 0 +1822745840210754:1822745840361735 116414:116414 hsa_amd_agents_allow_access(, 0x1100a00, 0, 0x7f0760400000) = 0 +1822745840365565:1822745840370505 116414:116414 hsa_signal_create(0, , 0, 0x1119360) = 0 +1822745840370975:1822745840372085 116414:116414 hsa_signal_create(0, , 0, 0x1119380) = 0 +1822745840372845:1822745841339691 116414:116414 hsa_amd_memory_pool_allocate(, , , 0x1119348) = 0 +1822745841341081:1822745841483972 116414:116414 hsa_amd_agents_allow_access(, 0x1100a00, 0, 0x7f074fa00000) = 0 +1822745841486242:1822745841489022 116414:116414 hsa_signal_create(0, , 0, 0x1119368) = 0 +1822745841489422:1822745841490542 116414:116414 hsa_signal_create(0, , 0, 0x1119388) = 0 +1822745841492512:1822745841493102 116414:116414 hsa_amd_memory_pool_get_info(, 0, 0x7ffcc96c58dc) = 0 +1822745841493572:1822745841493852 116414:116414 hsa_amd_memory_pool_get_info(, 1, 0x7ffcc96c58d8) = 0 +1822745841494312:1822745841494602 116414:116414 hsa_amd_memory_pool_get_info(, 0, 0x7ffcc96c58dc) = 0 +1822745841495022:1822745841495302 116414:116414 hsa_amd_memory_pool_get_info(, 1, 0x7ffcc96c58d8) = 0 +1822745841495022:1822745841495732 116414:116414 hsa_amd_agent_iterate_memory_pools(, 1, 0x7ffcc96c5b10) = 0 +1822745841497002:1822745841497712 116414:116414 hsa_agent_get_info(, 17, 0x7ffcc96c5904) = 0 +1822745841498132:1822745841498612 116414:116414 hsa_agent_get_info(, 17, 0x7ffcc96c5904) = 0 +1822745841498132:1822745841499052 116414:116414 hsa_iterate_agents(1, 0x7ffcc96c5a70) = 0 +1822745841504172:1822745842421788 116414:116414 hsa_amd_memory_pool_allocate(, , , 0x1119920) = 0 +1822745842423278:1822745842568269 116414:116414 hsa_amd_agents_allow_access(, 0x1100150, 0, 0x7f074f400000) = 0 +1822745842569509:1822745842571469 116414:116414 hsa_signal_create(0, , 0, 0x1119940) = 0 +1822745842571879:1822745842572669 116414:116414 hsa_signal_create(0, , 0, 0x1119960) = 0 +1822745842573259:1822745843500275 116414:116414 hsa_amd_memory_pool_allocate(, , , 0x1119928) = 0 +1822745843502365:1822745843637306 116414:116414 hsa_amd_agents_allow_access(, 0x1100150, 0, 0x7f074ee00000) = 0 +1822745843638486:1822745843640556 116414:116414 hsa_signal_create(0, , 0, 0x1119948) = 0 +1822745843640966:1822745843641846 116414:116414 hsa_signal_create(0, , 0, 0x1119968) = 0 +1822745843658626:1822745843725117 116414:116414 hsa_amd_memory_lock(0x7f077b3a86f0, , 0x10ffc50, 1, 0x7f077b3a86f8) = 0 +1822745843739687:1822745843740347 116414:116414 hsa_agent_get_info(, 17, 0x7ffcc96c63b4) = 0 +1822745843739687:1822745843740767 116414:116414 hsa_iterate_agents(1, 0x7f077a770f08) = 1 +1822745843743707:1822745843744287 116414:116414 hsa_agent_get_info(, 40962, 0x111a068) = 0 +1822745843745907:1822745843746197 116414:116414 hsa_agent_get_info(, 17, 0x7ffcc96c61cc) = 0 +1822745843746697:1822745843746997 116414:116414 hsa_agent_get_info(, 17, 0x7ffcc96c61cc) = 0 +1822745843746697:1822745843747387 116414:116414 hsa_iterate_agents(1, 0x7ffcc96c631c) = 0 +1822745843747777:1822745843748127 116414:116414 hsa_agent_get_info(, 40969, 0x111a070) = 0 +1822745843748517:1822745843761367 116414:116414 hsa_agent_get_info(, 0, 0x7ffcc96c6390) = 0 +1822745843763977:1822745843764287 116414:116414 hsa_agent_get_info(, 16, 0x7ffcc96c634c) = 0 +1822745843764677:1822745843764977 116414:116414 hsa_agent_get_info(, 6, 0x111a184) = 0 +1822745843765367:1822745843765667 116414:116414 hsa_agent_get_info(, 8, 0x111a188) = 0 +1822745843766057:1822745843766347 116414:116414 hsa_agent_get_info(, 7, 0x7ffcc96c630e) = 0 +1822745843766747:1822745843767027 116414:116414 hsa_agent_get_info(, 9, 0x7ffcc96c6330) = 0 +1822745843767427:1822745843767717 116414:116414 hsa_agent_get_info(, 40963, 0x111a1a4) = 0 +1822745843769647:1822745843769947 116414:116414 hsa_system_get_info(3, 0x7ffcc96c6340) = 0 +1822745843770347:1822745843770647 116414:116414 hsa_agent_get_info(, 40966, 0x7ffcc96c630c) = 0 +1822745843771047:1822745843771337 116414:116414 hsa_agent_get_info(, 40975, 0x111a1dc) = 0 +1822745843771737:1822745843772017 116414:116414 hsa_agent_get_info(, 40962, 0x111a1c0) = 0 +1822745843772407:1822745843772707 116414:116414 hsa_agent_get_info(, 18, 0x7ffcc96c6380) = 0 +1822745843773197:1822745843773487 116414:116414 hsa_agent_get_info(, 40970, 0x7ffcc96c6318) = 0 +1822745843779967:1822745843780487 116414:116414 hsa_amd_memory_pool_get_info(, 0, 0x7ffcc96c618c) = 0 +1822745843783457:1822745843783757 116414:116414 hsa_amd_memory_pool_get_info(, 0, 0x7ffcc96c618c) = 0 +1822745843784217:1822745843784507 116414:116414 hsa_amd_memory_pool_get_info(, 2, 0x111a178) = 0 +1822745843784217:1822745843784957 116414:116414 hsa_amd_agent_iterate_memory_pools(, 1, 0x111a070) = 0 +1822745843817537:1822745843819237 116414:116414 hsa_signal_create(1, , 0x7ffcc96c6048, 0x111d3e8) = 0 +1822745843826787:1822745843827217 116414:116414 hsa_region_get_info(, 2, 0x111a170) = 0 +1822745843827627:1822745843828007 116414:116414 hsa_region_get_info(, 40963, 0x111a1a8) = 0 +1822745843828397:1822745843828687 116414:116414 hsa_region_get_info(, 40962, 0x111a1ac) = 0 +1822745843829097:1822745843829417 116414:116414 hsa_agent_get_info(, 4, 0x7ffcc96c6314) = 0 +1822745843829807:1822745843897558 116414:116414 hsa_agent_get_info(, 12288, 0x111a208) = 0 +1822745843898058:1822745843898438 116414:116414 hsa_agent_get_info(, 12291, 0x111a20c) = 0 +1822745843898838:1822745843899178 116414:116414 hsa_agent_get_info(, 12295, 0x111a214) = 0 +1822745843899578:1822745843899878 116414:116414 hsa_agent_get_info(, 40974, 0x7ffcc96c6370) = 0 +1822745843900268:1822745843900558 116414:116414 hsa_agent_get_info(, 19, 0x7ffcc96c6328) = 0 +1822745843902748:1822745843936028 116414:116414 hsa_isa_get_info_alt(, 0, 0x7ffcc96c6320) = 0 +1822745843939378:1822745843942918 116414:116414 hsa_isa_get_info_alt(, 1, 0x11191f0) = 0 +1822745843965978:1822745843966318 116414:116414 hsa_system_get_info(3, 0x7ffcc96c6750) = 0 +1822745843967228:1822745843967768 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6750) = 0 +1822745843971488:1822745843972028 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6750) = 0 +1822745846473634:1822745846474264 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6750) = 0 +1822745846484914:1822745846587705 116414:116414 hsa_amd_memory_pool_allocate(, , , 0x7ffcc96c64a8) = 0 +1822745846592315:1822745846592865 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6750) = 0 +1822745846594105:1822745846594645 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6750) = 0 +1822745846595565:1822745846653206 116414:116414 hsa_amd_memory_pool_allocate(, , , 0x7ffcc96c64a8) = 0 +1822745846654406:1822745846654946 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6750) = 0 +1822745846665836:1822745846666376 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822745846687396:1822745846687936 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822745846690466:1822745846690756 116414:116414 hsa_system_get_info(3, 0x7ffcc96c6318) = 0 +1822745846694326:1822745846694866 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822745846700276:1822745846701166 116414:116414 hsa_signal_store_screlease(, 0) = void +1822745846701576:1822745846702136 116414:116414 hsa_signal_store_screlease(, 0) = void +1822745846703646:1822745846704306 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822745847229929:1822745847230429 116414:116414 hsa_signal_store_screlease(, 1) = void +1822745847232589:1822745853512519 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 +1822745853516229:1822745854941278 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822745854941728:1822745854942148 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822745854958308:1822745854958868 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822745854959758:1822745854960048 116414:116414 hsa_system_get_info(3, 0x7ffcc96c61a0) = 0 +1822745854963078:1822745854963618 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746012614062:1822746012617122 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7ffcc96c6610) = 0 +1822746012845913:1822746012846523 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7ffcc96c6610) = 0 +1822746016793828:1822746016796628 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7ffcc96c6610) = 0 +1822746016800158:1822746016801078 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7ffcc96c6610) = 0 +1822746016803218:1822746016803878 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7ffcc96c6610) = 0 +1822746016806168:1822746016806918 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7ffcc96c6610) = 0 +1822746016867579:1822746016868049 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7ffcc96c6610) = 0 +1822746016869949:1822746016870599 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7ffcc96c6610) = 0 +1822746016872579:1822746016873209 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7ffcc96c6610) = 0 +1822746016875309:1822746016875839 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7ffcc96c6610) = 0 +1822746016934009:1822746016934489 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7ffcc96c6610) = 0 +1822746016936889:1822746016937409 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7ffcc96c6610) = 0 +1822746016939679:1822746016940199 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7ffcc96c6610) = 0 +1822746016942589:1822746016943109 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7ffcc96c6610) = 0 +1822746017001010:1822746017001530 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7ffcc96c6610) = 0 +1822746017003660:1822746017004170 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7ffcc96c6610) = 0 +1822746017006870:1822746017007420 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7ffcc96c6610) = 0 +1822746017009390:1822746017009900 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7ffcc96c6610) = 0 +1822746017074520:1822746017075060 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7ffcc96c6610) = 0 +1822746017077300:1822746017077750 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7ffcc96c6610) = 0 +1822746017080040:1822746017080490 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7ffcc96c6610) = 0 +1822746017082570:1822746017083120 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7ffcc96c6610) = 0 +1822746017140200:1822746017140720 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7ffcc96c6610) = 0 +1822746017142580:1822746017143180 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7ffcc96c6610) = 0 +1822746017145290:1822746017145830 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7ffcc96c6610) = 0 +1822746017147670:1822746017148190 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7ffcc96c6610) = 0 +1822746017204571:1822746017205021 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7ffcc96c6610) = 0 +1822746017207251:1822746017207701 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7ffcc96c6610) = 0 +1822746017209541:1822746017210061 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7ffcc96c6610) = 0 +1822746017211861:1822746017212371 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7ffcc96c6610) = 0 +1822746017270161:1822746017270851 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7ffcc96c6610) = 0 +1822746017272781:1822746017273311 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7ffcc96c6610) = 0 +1822746017275131:1822746017275651 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7ffcc96c6610) = 0 +1822746017277381:1822746017277891 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7ffcc96c6610) = 0 +1822746017335432:1822746017335912 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7ffcc96c6610) = 0 +1822746017338152:1822746017338672 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7ffcc96c6610) = 0 +1822746017340862:1822746017341382 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7ffcc96c6610) = 0 +1822746017344602:1822746017345062 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7ffcc96c6610) = 0 +1822746017527473:1822746017527993 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7ffcc96c6610) = 0 +1822746017530963:1822746017531423 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7ffcc96c6610) = 0 +1822746017534723:1822746017535183 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7ffcc96c6610) = 0 +1822746017539073:1822746017539613 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7ffcc96c6610) = 0 +1822746017597893:1822746017598603 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7ffcc96c6610) = 0 +1822746017600493:1822746017601093 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7ffcc96c6610) = 0 +1822746017603063:1822746017603523 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7ffcc96c6610) = 0 +1822746017605373:1822746017606133 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7ffcc96c6610) = 0 +1822746017663164:1822746017663624 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7ffcc96c6610) = 0 +1822746017665314:1822746017665834 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7ffcc96c6610) = 0 +1822746017668134:1822746017668594 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7ffcc96c6610) = 0 +1822746017670294:1822746017670804 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7ffcc96c6610) = 0 +1822746017764394:1822746017764874 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7ffcc96c6610) = 0 +1822746017767164:1822746017767684 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7ffcc96c6610) = 0 +1822746017769894:1822746017770414 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7ffcc96c6610) = 0 +1822746017772154:1822746017772674 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7ffcc96c6610) = 0 +1822746017829675:1822746017830335 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7ffcc96c6610) = 0 +1822746017832375:1822746017832885 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7ffcc96c6610) = 0 +1822746017835445:1822746017835965 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7ffcc96c6610) = 0 +1822746017838005:1822746017838455 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7ffcc96c6610) = 0 +1822746017895195:1822746017895735 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7ffcc96c6610) = 0 +1822746017897715:1822746017898325 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7ffcc96c6610) = 0 +1822746017900335:1822746017900795 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7ffcc96c6610) = 0 +1822746017902835:1822746017903355 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7ffcc96c6610) = 0 +1822746017960856:1822746017961256 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7ffcc96c6610) = 0 +1822746017963036:1822746017963506 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7ffcc96c6610) = 0 +1822746017965616:1822746017966126 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7ffcc96c6610) = 0 +1822746017968586:1822746017969106 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7ffcc96c6610) = 0 +1822746018025206:1822746018025716 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7ffcc96c6610) = 0 +1822746018028306:1822746018028816 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7ffcc96c6610) = 0 +1822746018031046:1822746018031566 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7ffcc96c6610) = 0 +1822746018033936:1822746018034466 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7ffcc96c6610) = 0 +1822746018091297:1822746018091757 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7ffcc96c6610) = 0 +1822746018093697:1822746018094207 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7ffcc96c6610) = 0 +1822746018096517:1822746018097377 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7ffcc96c6610) = 0 +1822746018099217:1822746018099747 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7ffcc96c6610) = 0 +1822746018155967:1822746018156437 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7ffcc96c6610) = 0 +1822746018160057:1822746018160657 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7ffcc96c6610) = 0 +1822746018162757:1822746018163437 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7ffcc96c6610) = 0 +1822746018165107:1822746018165567 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7ffcc96c6610) = 0 +1822746018221307:1822746018221817 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7ffcc96c6610) = 0 +1822746018223687:1822746018224217 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7ffcc96c6610) = 0 +1822746018226157:1822746018226677 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7ffcc96c6610) = 0 +1822746018228677:1822746018229207 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7ffcc96c6610) = 0 +1822746110461644:1822746110469244 116414:116414 hsa_executable_create_alt(1, 0, +1822746256712946:1822746256716936 116414:116414 hsa_code_object_reader_create_from_memory(0x6a381b0, , 0x6662170) = 0 +1822746256720556:1822746257098998 116414:116414 hsa_executable_load_agent_code_object(, , , +1822746257101078:1822746257161869 116414:116414 hsa_executable_freeze(, +1822746257172039:1822746257173319 116414:116414 hsa_executable_create_alt(1, 0, +1822746257186299:1822746257186669 116414:116414 hsa_code_object_reader_create_from_memory(0x6a39720, , 0x667c5a0) = 0 +1822746257187119:1822746257312030 116414:116414 hsa_executable_load_agent_code_object(, , , +1822746257312920:1822746257356540 116414:116414 hsa_executable_freeze(, +1822746257362660:1822746257363500 116414:116414 hsa_executable_create_alt(1, 0, +1822746257373630:1822746257374020 116414:116414 hsa_code_object_reader_create_from_memory(0x6a3ac90, , 0x6697480) = 0 +1822746257374460:1822746257500421 116414:116414 hsa_executable_load_agent_code_object(, , , +1822746257501171:1822746257540031 116414:116414 hsa_executable_freeze(, +1822746257545971:1822746257546701 116414:116414 hsa_executable_create_alt(1, 0, +1822746257557251:1822746257557611 116414:116414 hsa_code_object_reader_create_from_memory(0x6a3c670, , 0x66af7a0) = 0 +1822746257558061:1822746257674412 116414:116414 hsa_executable_load_agent_code_object(, , , +1822746257675172:1822746257715262 116414:116414 hsa_executable_freeze(, +1822746257720962:1822746257721652 116414:116414 hsa_executable_create_alt(1, 0, +1822746257732452:1822746257732822 116414:116414 hsa_code_object_reader_create_from_memory(0x6a3dfd0, , 0x66c6750) = 0 +1822746257733282:1822746257849543 116414:116414 hsa_executable_load_agent_code_object(, , , +1822746257850303:1822746257890183 116414:116414 hsa_executable_freeze(, +1822746257896133:1822746257896993 116414:116414 hsa_executable_create_alt(1, 0, +1822746257909843:1822746257910243 116414:116414 hsa_code_object_reader_create_from_memory(0x6aaab60, , 0x66dbe40) = 0 +1822746257910683:1822746258030784 116414:116414 hsa_executable_load_agent_code_object(, , , +1822746258031634:1822746258070614 116414:116414 hsa_executable_freeze(, +1822746258076394:1822746258077154 116414:116414 hsa_executable_create_alt(1, 0, +1822746258087464:1822746258087844 116414:116414 hsa_code_object_reader_create_from_memory(0x6aac0d0, , 0x66ef250) = 0 +1822746258088294:1822746258207445 116414:116414 hsa_executable_load_agent_code_object(, , , +1822746258208245:1822746258246955 116414:116414 hsa_executable_freeze(, +1822746258252595:1822746258253325 116414:116414 hsa_executable_create_alt(1, 0, +1822746258263875:1822746258264325 116414:116414 hsa_code_object_reader_create_from_memory(0x6aad640, , 0x6703160) = 0 +1822746258264775:1822746258380106 116414:116414 hsa_executable_load_agent_code_object(, , , +1822746258380886:1822746258420086 116414:116414 hsa_executable_freeze(, +1822746258425756:1822746258426666 116414:116414 hsa_executable_create_alt(1, 0, +1822746258439067:1822746258439447 116414:116414 hsa_code_object_reader_create_from_memory(0x6aaebb0, , 0x6714630) = 0 +1822746258439887:1822746258555897 116414:116414 hsa_executable_load_agent_code_object(, , , +1822746258556677:1822746258595328 116414:116414 hsa_executable_freeze(, +1822746258601478:1822746258602068 116414:116414 hsa_executable_create_alt(1, 0, +1822746258622128:1822746258622538 116414:116414 hsa_code_object_reader_create_from_memory(0x6abf850, , 0x6726780) = 0 +1822746258622988:1822746258756259 116414:116414 hsa_executable_load_agent_code_object(, , , +1822746258757039:1822746258798919 116414:116414 hsa_executable_freeze(, +1822746258804949:1822746258805739 116414:116414 hsa_executable_create_alt(1, 0, +1822746258817549:1822746258817929 116414:116414 hsa_code_object_reader_create_from_memory(0x6ac6130, , 0x673b0c0) = 0 +1822746258818379:1822746258936190 116414:116414 hsa_executable_load_agent_code_object(, , , +1822746258936950:1822746258976860 116414:116414 hsa_executable_freeze(, +1822746258982530:1822746258983350 116414:116414 hsa_executable_create_alt(1, 0, +1822746258994080:1822746258994500 116414:116414 hsa_code_object_reader_create_from_memory(0x6ac76a0, , 0x67498b0) = 0 +1822746258994950:1822746259108911 116414:116414 hsa_executable_load_agent_code_object(, , , +1822746259109691:1822746259149691 116414:116414 hsa_executable_freeze(, +1822746259155131:1822746259155921 116414:116414 hsa_executable_create_alt(1, 0, +1822746259170591:1822746259170971 116414:116414 hsa_code_object_reader_create_from_memory(0x6acd750, , 0x6763d90) = 0 +1822746259171411:1822746259290812 116414:116414 hsa_executable_load_agent_code_object(, , , +1822746259291552:1822746259330572 116414:116414 hsa_executable_freeze(, +1822746259336192:1822746259336992 116414:116414 hsa_executable_create_alt(1, 0, +1822746259347902:1822746259348282 116414:116414 hsa_code_object_reader_create_from_memory(0x6ac8c10, , 0x677c550) = 0 +1822746259348732:1822746259467703 116414:116414 hsa_executable_load_agent_code_object(, , , +1822746259468453:1822746259508453 116414:116414 hsa_executable_freeze(, +1822746259514053:1822746259514783 116414:116414 hsa_executable_create_alt(1, 0, +1822746259525393:1822746259525763 116414:116414 hsa_code_object_reader_create_from_memory(0x6aca180, , 0x67979f0) = 0 +1822746259526213:1822746259640614 116414:116414 hsa_executable_load_agent_code_object(, , , +1822746259641384:1822746259681794 116414:116414 hsa_executable_freeze(, +1822746259687194:1822746259687974 116414:116414 hsa_executable_create_alt(1, 0, +1822746259698134:1822746259698514 116414:116414 hsa_code_object_reader_create_from_memory(0x6acb6f0, , 0x67b1160) = 0 +1822746259698964:1822746259814605 116414:116414 hsa_executable_load_agent_code_object(, , , +1822746259815395:1822746259853815 116414:116414 hsa_executable_freeze(, +1822746259859295:1822746259860175 116414:116414 hsa_executable_create_alt(1, 0, +1822746259870295:1822746259870755 116414:116414 hsa_code_object_reader_create_from_memory(0x6ab0120, , 0x67bf080) = 0 +1822746259871215:1822746259986606 116414:116414 hsa_executable_load_agent_code_object(, , , +1822746259987396:1822746260041437 116414:116414 hsa_executable_freeze(, +1822746260043467:1822746260044077 116414:116414 hsa_executable_create_alt(1, 0, +1822746260054487:1822746260054857 116414:116414 hsa_code_object_reader_create_from_memory(0x6ab1690, , 0x67d7900) = 0 +1822746260055297:1822746260171737 116414:116414 hsa_executable_load_agent_code_object(, , , +1822746260172517:1822746260210558 116414:116414 hsa_executable_freeze(, +1822746260216698:1822746260217748 116414:116414 hsa_executable_create_alt(1, 0, +1822746260229578:1822746260230008 116414:116414 hsa_code_object_reader_create_from_memory(0x6ab2c00, , 0x67f5420) = 0 +1822746260230518:1822746260349979 116414:116414 hsa_executable_load_agent_code_object(, , , +1822746260350849:1822746260389269 116414:116414 hsa_executable_freeze(, +1822746260395479:1822746260396299 116414:116414 hsa_executable_create_alt(1, 0, +1822746260406959:1822746260407379 116414:116414 hsa_code_object_reader_create_from_memory(0x6ab42d0, , 0x680bc60) = 0 +1822746260409619:1822746260529400 116414:116414 hsa_executable_load_agent_code_object(, , , +1822746260530280:1822746260568970 116414:116414 hsa_executable_freeze(, +1822746260632020:1822746260632760 116414:116414 hsa_executable_create_alt(1, 0, +1822746260658031:1822746260658531 116414:116414 hsa_code_object_reader_create_from_memory(0x69ef840, , 0x682bbe0) = 0 +1822746260659031:1822746260787191 116414:116414 hsa_executable_load_agent_code_object(, , , +1822746260788061:1822746260828412 116414:116414 hsa_executable_freeze(, +1822746260836172:1822746260837402 116414:116414 hsa_executable_create_alt(1, 0, +1822746260855362:1822746260855802 116414:116414 hsa_code_object_reader_create_from_memory(0x69fa1a0, , 0x68423e0) = 0 +1822746260856332:1822746260985623 116414:116414 hsa_executable_load_agent_code_object(, , , +1822746260987213:1822746261027993 116414:116414 hsa_executable_freeze(, +1822746260987213:1822746261038183 116414:116414 hsa_agent_iterate_isas(, 1, 0x7ffcc96c6558) = 0 +1822746261041573:1822746261042413 116414:116414 hsa_executable_iterate_agent_symbols(, , 1, 0x10fde00) = 0 +1822746261042893:1822746261043243 116414:116414 hsa_executable_iterate_agent_symbols(, , 1, 0x10fde00) = 0 +1822746261043673:1822746261044013 116414:116414 hsa_executable_iterate_agent_symbols(, , 1, 0x10fde00) = 0 +1822746261044443:1822746261044773 116414:116414 hsa_executable_iterate_agent_symbols(, , 1, 0x10fde00) = 0 +1822746261045213:1822746261045543 116414:116414 hsa_executable_iterate_agent_symbols(, , 1, 0x10fde00) = 0 +1822746261045973:1822746261046323 116414:116414 hsa_executable_iterate_agent_symbols(, , 1, 0x10fde00) = 0 +1822746261046753:1822746261047093 116414:116414 hsa_executable_iterate_agent_symbols(, , 1, 0x10fde00) = 0 +1822746261047523:1822746261047853 116414:116414 hsa_executable_iterate_agent_symbols(, , 1, 0x10fde00) = 0 +1822746261048283:1822746261048623 116414:116414 hsa_executable_iterate_agent_symbols(, , 1, 0x10fde00) = 0 +1822746261050613:1822746261051313 116414:116414 hsa_executable_symbol_get_info(, 0, 0x7ffcc96c6478) = 0 +1822746261051813:1822746261052153 116414:116414 hsa_executable_symbol_get_info(, 1, 0x7ffcc96c6474) = 0 +1822746261052703:1822746261053073 116414:116414 hsa_executable_symbol_get_info(, 2, 0x6ac5690) = 0 +1822746261053933:1822746261054263 116414:116414 hsa_executable_symbol_get_info(, 0, 0x7ffcc96c6478) = 0 +1822746261054703:1822746261055023 116414:116414 hsa_executable_symbol_get_info(, 1, 0x7ffcc96c6474) = 0 +1822746261055823:1822746261056183 116414:116414 hsa_executable_symbol_get_info(, 2, 0x5d5f1c0) = 0 +1822746261056913:1822746261057243 116414:116414 hsa_executable_symbol_get_info(, 0, 0x7ffcc96c6478) = 0 +1822746261057673:1822746261057993 116414:116414 hsa_executable_symbol_get_info(, 1, 0x7ffcc96c6474) = 0 +1822746261060253:1822746261060613 116414:116414 hsa_executable_symbol_get_info(, 2, 0x6062190) = 0 +1822746261061373:1822746261061703 116414:116414 hsa_executable_symbol_get_info(, 0, 0x7ffcc96c6478) = 0 +1822746261062133:1822746261062453 116414:116414 hsa_executable_symbol_get_info(, 1, 0x7ffcc96c6474) = 0 +1822746261062973:1822746261063323 116414:116414 hsa_executable_symbol_get_info(, 2, 0x694f760) = 0 +1822746261064013:1822746261064333 116414:116414 hsa_executable_symbol_get_info(, 0, 0x7ffcc96c6478) = 0 +1822746261064773:1822746261065093 116414:116414 hsa_executable_symbol_get_info(, 1, 0x7ffcc96c6474) = 0 +1822746261065563:1822746261065903 116414:116414 hsa_executable_symbol_get_info(, 2, 0x6ac50b0) = 0 +1822746261067023:1822746261067353 116414:116414 hsa_executable_symbol_get_info(, 0, 0x7ffcc96c6478) = 0 +1822746261067783:1822746261068103 116414:116414 hsa_executable_symbol_get_info(, 1, 0x7ffcc96c6474) = 0 +1822746261068583:1822746261068923 116414:116414 hsa_executable_symbol_get_info(, 2, 0x67c4800) = 0 +1822746261068583:1822746261069563 116414:116414 hsa_executable_iterate_agent_symbols(, , 1, 0x10fde00) = 0 +1822746261070003:1822746261070363 116414:116414 hsa_executable_iterate_agent_symbols(, , 1, 0x10fde00) = 0 +1822746261070793:1822746261071133 116414:116414 hsa_executable_iterate_agent_symbols(, , 1, 0x10fde00) = 0 +1822746261071913:1822746261072243 116414:116414 hsa_executable_symbol_get_info(, 0, 0x7ffcc96c6478) = 0 +1822746261072673:1822746261072993 116414:116414 hsa_executable_symbol_get_info(, 1, 0x7ffcc96c6474) = 0 +1822746261073483:1822746261073833 116414:116414 hsa_executable_symbol_get_info(, 2, 0x60dda00) = 0 +1822746261073483:1822746261074483 116414:116414 hsa_executable_iterate_agent_symbols(, , 1, 0x10fde00) = 0 +1822746261074913:1822746261075253 116414:116414 hsa_executable_iterate_agent_symbols(, , 1, 0x10fde00) = 0 +1822746261075693:1822746261076023 116414:116414 hsa_executable_iterate_agent_symbols(, , 1, 0x10fde00) = 0 +1822746261076453:1822746261076793 116414:116414 hsa_executable_iterate_agent_symbols(, , 1, 0x10fde00) = 0 +1822746261077223:1822746261077553 116414:116414 hsa_executable_iterate_agent_symbols(, , 1, 0x10fde00) = 0 +1822746261077993:1822746261078323 116414:116414 hsa_executable_iterate_agent_symbols(, , 1, 0x10fde00) = 0 +1822746261078753:1822746261079093 116414:116414 hsa_executable_iterate_agent_symbols(, , 1, 0x10fde00) = 0 +1822746261079523:1822746261079853 116414:116414 hsa_executable_iterate_agent_symbols(, , 1, 0x10fde00) = 0 +1822746261080643:1822746261080963 116414:116414 hsa_executable_symbol_get_info(, 0, 0x7ffcc96c6478) = 0 +1822746261081403:1822746261081723 116414:116414 hsa_executable_symbol_get_info(, 1, 0x7ffcc96c6474) = 0 +1822746261082203:1822746261082553 116414:116414 hsa_executable_symbol_get_info(, 2, 0x6a40940) = 0 +1822746261082203:1822746261083163 116414:116414 hsa_executable_iterate_agent_symbols(, , 1, 0x10fde00) = 0 +1822746261083953:1822746261084273 116414:116414 hsa_executable_symbol_get_info(, 0, 0x7ffcc96c6478) = 0 +1822746261085563:1822746261085893 116414:116414 hsa_executable_symbol_get_info(, 1, 0x7ffcc96c6474) = 0 +1822746261086393:1822746261086733 116414:116414 hsa_executable_symbol_get_info(, 2, 0x694f7b0) = 0 +1822746261086393:1822746261087473 116414:116414 hsa_executable_iterate_agent_symbols(, , 1, 0x10fde00) = 0 +1822746295930116:1822746295931786 116414:116414 hsa_executable_symbol_get_info(, 22, 0x7ffcc96c66f0) = 0 +1822746295939716:1822746295940186 116414:116414 hsa_system_major_extension_supported(, , , ) = 0 +1822746295941986:1822746295942326 116414:116414 hsa_system_get_major_extension_table(, , , 0x7ffcc96c6680) = 0 +1822746295949766:1822746295950056 116414:116414 hsa_executable_symbol_get_info(, 22, 0x7ffcc96c66f0) = 0 +1822746295950566:1822746295950846 116414:116414 hsa_system_major_extension_supported(, , , ) = 0 +1822746295951256:1822746295951546 116414:116414 hsa_system_get_major_extension_table(, , , 0x7ffcc96c6680) = 0 +1822746296613290:1822746296613760 116414:116414 hsa_executable_symbol_get_info(, 22, 0x7ffcc96c66f0) = 0 +1822746296614360:1822746296614640 116414:116414 hsa_system_major_extension_supported(, , , ) = 0 +1822746296615050:1822746296615350 116414:116414 hsa_system_get_major_extension_table(, , , 0x7ffcc96c6680) = 0 +1822746296682290:1822746296682580 116414:116414 hsa_executable_symbol_get_info(, 22, 0x7ffcc96c66f0) = 0 +1822746296683080:1822746296683360 116414:116414 hsa_system_major_extension_supported(, , , ) = 0 +1822746296683750:1822746296684030 116414:116414 hsa_system_get_major_extension_table(, , , 0x7ffcc96c6680) = 0 +1822746296693170:1822746296693520 116414:116414 hsa_executable_symbol_get_info(, 22, 0x7ffcc96c66f0) = 0 +1822746296694050:1822746296694340 116414:116414 hsa_system_major_extension_supported(, , , ) = 0 +1822746296694730:1822746296695010 116414:116414 hsa_system_get_major_extension_table(, , , 0x7ffcc96c6680) = 0 +1822746296696350:1822746296696770 116414:116414 hsa_executable_symbol_get_info(, 22, 0x7ffcc96c66f0) = 0 +1822746296697320:1822746296697600 116414:116414 hsa_system_major_extension_supported(, , , ) = 0 +1822746296697990:1822746296698270 116414:116414 hsa_system_get_major_extension_table(, , , 0x7ffcc96c6680) = 0 +1822746296700910:1822746296701330 116414:116414 hsa_executable_symbol_get_info(, 22, 0x7ffcc96c66f0) = 0 +1822746296701820:1822746296702100 116414:116414 hsa_system_major_extension_supported(, , , ) = 0 +1822746296702490:1822746296702770 116414:116414 hsa_system_get_major_extension_table(, , , 0x7ffcc96c6680) = 0 +1822746296704480:1822746296704760 116414:116414 hsa_executable_symbol_get_info(, 22, 0x7ffcc96c66f0) = 0 +1822746296705270:1822746296705550 116414:116414 hsa_system_major_extension_supported(, , , ) = 0 +1822746296705940:1822746296706220 116414:116414 hsa_system_get_major_extension_table(, , , 0x7ffcc96c6680) = 0 +1822746297964778:1822746297965118 116414:116414 hsa_executable_symbol_get_info(, 22, 0x7ffcc96c66f0) = 0 +1822746297973018:1822746297973318 116414:116414 hsa_system_major_extension_supported(, , , ) = 0 +1822746297973708:1822746297973988 116414:116414 hsa_system_get_major_extension_table(, , , 0x7ffcc96c6680) = 0 +1822746297975208:1822746297975488 116414:116414 hsa_executable_symbol_get_info(, 22, 0x7ffcc96c66f0) = 0 +1822746297975948:1822746297976228 116414:116414 hsa_system_major_extension_supported(, , , ) = 0 +1822746297976618:1822746297976888 116414:116414 hsa_system_get_major_extension_table(, , , 0x7ffcc96c6680) = 0 +1822746297983228:1822746297983508 116414:116414 hsa_executable_symbol_get_info(, 22, 0x7ffcc96c66f0) = 0 +1822746297984018:1822746297984298 116414:116414 hsa_system_major_extension_supported(, , , ) = 0 +1822746297984688:1822746297984968 116414:116414 hsa_system_get_major_extension_table(, , , 0x7ffcc96c6680) = 0 +1822746298307500:1822746298308110 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822746298317470:1822746298318010 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 +1822746298336671:1822746303368323 116414:116414 hsa_queue_create(, , , 1, 0, , , ) = 0 +1822746303379963:1822746303380583 116414:116414 hsa_amd_profiling_set_profiler_enabled(, 1) = 0 +1822746303392083:1822746303392743 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 0 +1822746303395403:1822746303395893 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 0 +1822746303397053:1822746303401123 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 +1822746303402923:1822746303403243 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822746303406393:1822746303407053 116414:116414 hsa_signal_store_relaxed(, 0) = void +1822746303421673:1822746303422223 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822746303450323:1822746303450853 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746303463453:1822746303463983 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 +1822746303467393:1822746303469633 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 +1822746303470033:1822746303470333 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 1 +1822746303470753:1822746303471053 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 0 +1822746303471833:1822746303472123 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822746303472533:1822746303472993 116414:116414 hsa_signal_store_relaxed(, 1) = void +1822746303480463:1822746304748201 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822746304757671:1822746304758801 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822746304763831:1822746304768792 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822746304769692:1822746304770312 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822746304787842:1822746304789742 116414:116414 hsa_signal_destroy() = 0 +1822746304792022:1822746304793102 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822746304794652:1822746304795722 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822746304799412:1822746304800262 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746304801082:1822746304801792 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746304802712:1822746304803252 116414:116414 hsa_signal_store_screlease(, 1) = void +1822746304804362:1822746304808472 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 +1822746304809312:1822746307121197 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746307812921:1822746307814101 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822746307816521:1822746307817671 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746320698363:1822746320700143 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746320718253:1822746320719373 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822746320722453:1822746320723573 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822746320726833:1822746320728443 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746320729273:1822746320730213 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746320731213:1822746320732563 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746321346967:1822746321347457 116414:116414 hsa_signal_store_screlease(, 1) = void +1822746321348847:1822746321351647 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 +1822746321352197:1822746322777946 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746322778346:1822746322778656 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746322780426:1822746322780966 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822746322782686:1822746322783216 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746322798097:1822746322798627 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822746322801967:1822746322802497 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 +1822746322809177:1822746322809917 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 2 +1822746322810657:1822746322811297 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 2 +1822746322812327:1822746322814717 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 +1822746322815557:1822746322815867 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822746322825127:1822746322825967 116414:116414 hsa_signal_store_relaxed(, 2) = void +1822746322828407:1822746322828947 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822746322832697:1822746322833227 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746322835307:1822746322835847 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 +1822746322837537:1822746322842377 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 +1822746322842787:1822746322843067 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 3 +1822746322843457:1822746322843737 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 2 +1822746322844697:1822746322844977 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822746322845367:1822746322845817 116414:116414 hsa_signal_store_relaxed(, 3) = void +1822746322847767:1822746324100465 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822746324104985:1822746324105615 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822746324107075:1822746324111965 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822746324112445:1822746324112765 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822746324114775:1822746324116085 116414:116414 hsa_signal_destroy() = 0 +1822746324119105:1822746324119415 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822746324119885:1822746324120195 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822746324121105:1822746324121705 116414:116414 hsa_signal_destroy() = 0 +1822746324122555:1822746324123105 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822746324123855:1822746324124385 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822746324125445:1822746324126105 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746324126505:1822746324126975 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746324127455:1822746324127725 116414:116414 hsa_signal_store_screlease(, 1) = void +1822746324128185:1822746324129335 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 +1822746324129745:1822746326483210 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746327106484:1822746327107064 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822746327108604:1822746327109134 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746333583475:1822746333585175 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746333600775:1822746333601305 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822746333603205:1822746333603735 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822746333616855:1822746333617795 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746333618185:1822746333618825 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746333619465:1822746333621015 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746334228139:1822746334228719 116414:116414 hsa_signal_store_screlease(, 1) = void +1822746334229849:1822746334232359 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 +1822746334232839:1822746335654448 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746335654848:1822746335655308 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746335656508:1822746335657038 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822746335659158:1822746335659698 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746335674698:1822746335675248 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822746335678539:1822746335679079 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 +1822746335686109:1822746335687109 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 4 +1822746335687999:1822746335688689 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 4 +1822746335689729:1822746335692139 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 +1822746335692809:1822746335693119 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822746335694199:1822746335694919 116414:116414 hsa_signal_store_relaxed(, 4) = void +1822746335697509:1822746335698069 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822746335701949:1822746335702489 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746335705069:1822746335705609 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 +1822746335706639:1822746335707249 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 +1822746335707639:1822746335707919 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 5 +1822746335708319:1822746335708589 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 4 +1822746335709459:1822746335709739 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822746335710139:1822746335710589 116414:116414 hsa_signal_store_relaxed(, 5) = void +1822746335712139:1822746336997057 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822746337001747:1822746337002367 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822746337003907:1822746337008107 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822746337008587:1822746337008897 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822746337013647:1822746337014697 116414:116414 hsa_signal_destroy() = 0 +1822746337015787:1822746337016107 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822746337016587:1822746337016887 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822746337018037:1822746337018367 116414:116414 hsa_signal_destroy() = 0 +1822746337019357:1822746337019917 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822746337020847:1822746337021387 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822746337022127:1822746337022587 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746337022977:1822746337023397 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746337023947:1822746337024217 116414:116414 hsa_signal_store_screlease(, 1) = void +1822746337024647:1822746337025797 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 +1822746337026227:1822746339410132 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746340057906:1822746340058496 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822746340059966:1822746340060496 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746346503777:1822746346505087 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746346520418:1822746346520958 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822746346523028:1822746346523558 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822746346525788:1822746346526838 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746346527238:1822746346527648 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746346528278:1822746346529158 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746347134931:1822746347135401 116414:116414 hsa_signal_store_screlease(, 1) = void +1822746347136412:1822746347139072 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 +1822746347139612:1822746348561471 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746348561901:1822746348562341 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746348563321:1822746348563851 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822746348565601:1822746348566131 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746348579651:1822746348580201 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822746348583491:1822746348584021 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 +1822746348590631:1822746348591701 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 6 +1822746348600591:1822746348600921 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 6 +1822746348601911:1822746348604611 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 +1822746348605271:1822746348605581 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822746348606641:1822746348607481 116414:116414 hsa_signal_store_relaxed(, 6) = void +1822746348609831:1822746348610361 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822746348614341:1822746348614871 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746348617281:1822746348617811 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 +1822746348619181:1822746348620041 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 +1822746348620431:1822746348620711 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 7 +1822746348621111:1822746348621391 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 6 +1822746348622281:1822746348622551 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822746348622941:1822746348623401 116414:116414 hsa_signal_store_relaxed(, 7) = void +1822746348625021:1822746349882739 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822746349887459:1822746349888059 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822746349889559:1822746349894099 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822746349894519:1822746349894839 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822746349896869:1822746349898169 116414:116414 hsa_signal_destroy() = 0 +1822746349899299:1822746349899619 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822746349900099:1822746349900399 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822746349901519:1822746349901859 116414:116414 hsa_signal_destroy() = 0 +1822746349903239:1822746349903789 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822746349904659:1822746349905199 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822746349905899:1822746349906679 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746349907079:1822746349907489 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746349908049:1822746349908319 116414:116414 hsa_signal_store_screlease(, 1) = void +1822746349908769:1822746349909939 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 +1822746349910359:1822746352275374 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746352899378:1822746352899968 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822746352902078:1822746352902688 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746359340749:1822746359342339 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746359357889:1822746359358429 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822746359361359:1822746359361889 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822746359364289:1822746359365359 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746359365749:1822746359366159 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746359366819:1822746359367669 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746359970763:1822746359971223 116414:116414 hsa_signal_store_screlease(, 1) = void +1822746359972363:1822746359974593 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 +1822746359975073:1822746361397562 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746361398092:1822746361398532 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746361399992:1822746361400522 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822746361403222:1822746361403892 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746361420142:1822746361420682 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822746361424002:1822746361424542 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 +1822746361431402:1822746361432122 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 8 +1822746361433242:1822746361433552 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 8 +1822746361434522:1822746361437102 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 +1822746361437742:1822746361438052 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822746361439132:1822746361439942 116414:116414 hsa_signal_store_relaxed(, 8) = void +1822746361442152:1822746361442692 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822746361454292:1822746361454822 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746361457162:1822746361457692 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 +1822746361458912:1822746361459442 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 +1822746361459842:1822746361460122 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 9 +1822746361460522:1822746361460802 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 8 +1822746361461402:1822746361461672 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822746361462072:1822746361462522 116414:116414 hsa_signal_store_relaxed(, 9) = void +1822746361463972:1822746362703270 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822746362710080:1822746362710660 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822746362712160:1822746362717040 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822746362717460:1822746362717780 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822746362720110:1822746362721180 116414:116414 hsa_signal_destroy() = 0 +1822746362722150:1822746362722470 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822746362722940:1822746362723240 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822746362724180:1822746362724520 116414:116414 hsa_signal_destroy() = 0 +1822746362725600:1822746362726150 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822746362727050:1822746362727590 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822746362728330:1822746362728730 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746362729140:1822746362729550 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746362730030:1822746362730300 116414:116414 hsa_signal_store_screlease(, 1) = void +1822746362730770:1822746362731920 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 +1822746362732340:1822746365120845 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746365740689:1822746365741279 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822746365743089:1822746365743629 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746372198881:1822746372200051 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746372215221:1822746372215761 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822746372218321:1822746372218851 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822746372221251:1822746372222161 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746372222551:1822746372222961 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746372223611:1822746372224781 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746372834235:1822746372834685 116414:116414 hsa_signal_store_screlease(, 1) = void +1822746372835815:1822746372838805 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 +1822746372839295:1822746374262924 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746374263324:1822746374263754 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746374265384:1822746374265924 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822746374268584:1822746374269124 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746374284274:1822746374284824 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822746374297244:1822746374297774 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 +1822746374305034:1822746374305754 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 10 +1822746374306664:1822746374307104 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 10 +1822746374308064:1822746374310714 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 +1822746374311364:1822746374311684 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822746374312755:1822746374313575 116414:116414 hsa_signal_store_relaxed(, 10) = void +1822746374315915:1822746374316455 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822746374320235:1822746374320775 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746374323055:1822746374323595 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 +1822746374324675:1822746374325295 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 +1822746374325685:1822746374325965 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 11 +1822746374326365:1822746374326645 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 10 +1822746374327255:1822746374327525 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822746374327925:1822746374328375 116414:116414 hsa_signal_store_relaxed(, 11) = void +1822746374330325:1822746375589673 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822746375594213:1822746375595033 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822746375596593:1822746375601043 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822746375601523:1822746375601833 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822746375604023:1822746375605133 116414:116414 hsa_signal_destroy() = 0 +1822746375606193:1822746375606503 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822746375606913:1822746375607223 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822746375608153:1822746375608503 116414:116414 hsa_signal_destroy() = 0 +1822746375609453:1822746375610003 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822746375610883:1822746375611413 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822746375612263:1822746375612603 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746375612993:1822746375613413 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746375613883:1822746375614163 116414:116414 hsa_signal_store_screlease(, 1) = void +1822746375614603:1822746375615783 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 +1822746375619093:1822746377966288 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746378591361:1822746378591931 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822746378593651:1822746378594181 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746384657490:1822746384658760 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746384674680:1822746384675220 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822746384677600:1822746384678130 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822746384680500:1822746384681410 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746384681810:1822746384682240 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746384682900:1822746384683810 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746385288884:1822746385289324 116414:116414 hsa_signal_store_screlease(, 1) = void +1822746385290844:1822746385293524 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 +1822746385294054:1822746386716053 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746386716463:1822746386716893 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746386717893:1822746386718433 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822746386720633:1822746386721163 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746386737714:1822746386738254 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822746386741504:1822746386742034 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 +1822746386749214:1822746386749954 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 12 +1822746386750694:1822746386751304 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 12 +1822746386752294:1822746386754914 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 +1822746386755564:1822746386755874 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822746386756934:1822746386757734 116414:116414 hsa_signal_store_relaxed(, 12) = void +1822746386760264:1822746386760794 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822746386764884:1822746386765464 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746386767694:1822746386768224 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 +1822746386769344:1822746386769934 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 +1822746386770394:1822746386770664 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 13 +1822746386771124:1822746386771404 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 12 +1822746386772234:1822746386772504 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822746386782684:1822746386783144 116414:116414 hsa_signal_store_relaxed(, 13) = void +1822746386784984:1822746388043302 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822746388047662:1822746388048242 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822746388049822:1822746388054152 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822746388054562:1822746388054882 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822746388056892:1822746388057802 116414:116414 hsa_signal_destroy() = 0 +1822746388058922:1822746388059242 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822746388059662:1822746388059962 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822746388060872:1822746388061212 116414:116414 hsa_signal_destroy() = 0 +1822746388062292:1822746388062842 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822746388063712:1822746388064242 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822746388065002:1822746388065422 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746388065822:1822746388066302 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746388066712:1822746388066982 116414:116414 hsa_signal_store_screlease(, 1) = void +1822746388067422:1822746388068822 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 +1822746388069262:1822746390423067 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746391044831:1822746391045421 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822746391046871:1822746391047491 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746397111369:1822746397112609 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746397127949:1822746397128489 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822746397130549:1822746397131079 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822746397133090:1822746397134050 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746397134440:1822746397134790 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746397135450:1822746397136480 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746397741433:1822746397741973 116414:116414 hsa_signal_store_screlease(, 1) = void +1822746397743283:1822746397745943 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 +1822746397746483:1822746399169893 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746399170293:1822746399170723 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746399181333:1822746399181863 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822746399183863:1822746399184403 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746399199703:1822746399200243 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822746399203923:1822746399204453 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 +1822746399211793:1822746399212523 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 14 +1822746399213443:1822746399213883 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 14 +1822746399214863:1822746399217333 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 +1822746399217973:1822746399218273 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822746399219343:1822746399220193 116414:116414 hsa_signal_store_relaxed(, 14) = void +1822746399222283:1822746399222823 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822746399226883:1822746399227413 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746399229603:1822746399230143 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 +1822746399231203:1822746399231713 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 +1822746399232103:1822746399232383 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 15 +1822746399232773:1822746399233063 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 14 +1822746399233663:1822746399233943 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822746399234333:1822746399234783 116414:116414 hsa_signal_store_relaxed(, 15) = void +1822746399236553:1822746400502871 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822746400508131:1822746400508651 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822746400510181:1822746400514691 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822746400515111:1822746400515421 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822746400517681:1822746400518731 116414:116414 hsa_signal_destroy() = 0 +1822746400519951:1822746400520261 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822746400520741:1822746400521041 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822746400522111:1822746400522461 116414:116414 hsa_signal_destroy() = 0 +1822746400523571:1822746400524121 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822746400525031:1822746400525571 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822746400526401:1822746400526741 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746400527141:1822746400527561 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746400530341:1822746400530631 116414:116414 hsa_signal_store_screlease(, 1) = void +1822746400531071:1822746400532161 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 +1822746400532591:1822746402904457 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746403526381:1822746403526961 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822746403528681:1822746403529211 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746409991931:1822746409993101 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746410007851:1822746410008401 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822746410010731:1822746410011261 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822746410013301:1822746410014251 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746410014651:1822746410015001 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746410015641:1822746410016451 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746410621655:1822746410622195 116414:116414 hsa_signal_store_screlease(, 1) = void +1822746410623955:1822746410626565 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 +1822746410627055:1822746412050915 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746412051345:1822746412051785 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746412053475:1822746412054005 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822746412055635:1822746412056165 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746412070975:1822746412071515 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822746412074865:1822746412075395 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 +1822746412081965:1822746412082705 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 16 +1822746412083615:1822746412084085 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 16 +1822746412085125:1822746412088065 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 +1822746412088705:1822746412089005 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822746412090275:1822746412091095 116414:116414 hsa_signal_store_relaxed(, 16) = void +1822746412093465:1822746412093995 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822746412097995:1822746412098525 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746412100915:1822746412101465 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 +1822746412102615:1822746412103265 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 +1822746412117455:1822746412117745 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 17 +1822746412118145:1822746412118415 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 16 +1822746412119015:1822746412119285 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822746412119685:1822746412120145 116414:116414 hsa_signal_store_relaxed(, 17) = void +1822746412121565:1822746413367893 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822746413372523:1822746413373113 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822746413374683:1822746413379043 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822746413379513:1822746413379823 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822746413381943:1822746413383083 116414:116414 hsa_signal_destroy() = 0 +1822746413384113:1822746413384553 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822746413385023:1822746413385333 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822746413386493:1822746413386833 116414:116414 hsa_signal_destroy() = 0 +1822746413387943:1822746413388493 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822746413389373:1822746413389913 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822746413390683:1822746413391013 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746413391413:1822746413391823 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746413392313:1822746413392583 116414:116414 hsa_signal_store_screlease(, 1) = void +1822746413393033:1822746413394093 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 +1822746413394513:1822746415754108 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746416383892:1822746416384452 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822746416386362:1822746416386982 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746422823203:1822746422824403 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746422839253:1822746422839783 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822746422842493:1822746422843023 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822746422845653:1822746422846713 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746422847103:1822746422847513 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746422848043:1822746422849323 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746423452647:1822746423453027 116414:116414 hsa_signal_store_screlease(, 1) = void +1822746423464997:1822746423467517 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 +1822746423468047:1822746424891726 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746424892236:1822746424892556 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746424893646:1822746424894186 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822746424895706:1822746424896236 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746424910256:1822746424910786 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822746424914346:1822746424914886 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 +1822746424921576:1822746424922306 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 18 +1822746424923056:1822746424923526 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 18 +1822746424924496:1822746424927356 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 +1822746424928136:1822746424928446 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822746424929476:1822746424930306 116414:116414 hsa_signal_store_relaxed(, 18) = void +1822746424932477:1822746424933017 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822746424937287:1822746424937827 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746424940457:1822746424941027 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 +1822746424942137:1822746424942757 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 +1822746424943147:1822746424943427 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 19 +1822746424943827:1822746424944097 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 18 +1822746424944927:1822746424945197 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822746424945597:1822746424946047 116414:116414 hsa_signal_store_relaxed(, 19) = void +1822746424947507:1822746426199955 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822746426204975:1822746426205555 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822746426207385:1822746426211655 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822746426212135:1822746426212445 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822746426214695:1822746426215755 116414:116414 hsa_signal_destroy() = 0 +1822746426216715:1822746426217035 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822746426217505:1822746426217805 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822746426218745:1822746426219125 116414:116414 hsa_signal_destroy() = 0 +1822746426220195:1822746426220745 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822746426223955:1822746426224495 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822746426225325:1822746426225915 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746426226325:1822746426226745 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746426227155:1822746426227425 116414:116414 hsa_signal_store_screlease(, 1) = void +1822746426227885:1822746426229005 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 +1822746426229425:1822746428594270 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746429214304:1822746429214884 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822746429216584:1822746429217204 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746435673065:1822746435674265 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746435689745:1822746435690285 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822746435692895:1822746435693425 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822746435695645:1822746435696575 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746435696965:1822746435697375 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746435697925:1822746435698845 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746436286849:1822746436287409 116414:116414 hsa_signal_store_screlease(, 1) = void +1822746436288719:1822746436291459 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 +1822746436292089:1822746437715368 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746437715758:1822746437716188 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746437717138:1822746437717678 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822746437719398:1822746437719928 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746437742578:1822746437743118 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822746437746898:1822746437747438 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 +1822746437754548:1822746437755278 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 20 +1822746437756018:1822746437756648 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 20 +1822746437757958:1822746437760858 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 +1822746437761508:1822746437761818 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822746437762828:1822746437763568 116414:116414 hsa_signal_store_relaxed(, 20) = void +1822746437765958:1822746437766498 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822746437772928:1822746437773458 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746437775338:1822746437775878 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 +1822746437776918:1822746437777558 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 +1822746437777958:1822746437778228 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 21 +1822746437778628:1822746437778908 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 20 +1822746437779718:1822746437779998 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822746437780398:1822746437780848 116414:116414 hsa_signal_store_relaxed(, 21) = void +1822746437782298:1822746439034726 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822746439039286:1822746439039856 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822746439041646:1822746439046056 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822746439046536:1822746439046846 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822746439049296:1822746439050346 116414:116414 hsa_signal_destroy() = 0 +1822746439051336:1822746439051646 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822746439052116:1822746439052416 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822746439053356:1822746439053696 116414:116414 hsa_signal_destroy() = 0 +1822746439054786:1822746439055336 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822746439056086:1822746439056616 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822746439057356:1822746439057766 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746439058166:1822746439058586 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746439059126:1822746439059396 116414:116414 hsa_signal_store_screlease(, 1) = void +1822746439059846:1822746439061046 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 +1822746439061466:1822746441405782 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746442023906:1822746442024486 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822746442026206:1822746442026816 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746448080144:1822746448081594 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746448096484:1822746448097024 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822746448098994:1822746448099524 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822746448102004:1822746448102944 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746448103404:1822746448103754 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746448114214:1822746448115444 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746448723798:1822746448724338 116414:116414 hsa_signal_store_screlease(, 1) = void +1822746448725728:1822746448727798 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 +1822746448728768:1822746450152397 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746450152797:1822746450153217 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746450154137:1822746450154677 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822746450156497:1822746450157027 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746450172417:1822746450172957 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822746450176287:1822746450176827 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 +1822746450184797:1822746450185517 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 22 +1822746450186287:1822746450186907 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 22 +1822746450187877:1822746450190547 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 +1822746450191207:1822746450191517 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822746450192537:1822746450193367 116414:116414 hsa_signal_store_relaxed(, 22) = void +1822746450195497:1822746450196037 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822746450200057:1822746450200597 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746450202887:1822746450203447 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 +1822746450204747:1822746450205357 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 +1822746450205747:1822746450206027 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 23 +1822746450206417:1822746450206697 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 22 +1822746450207537:1822746450207817 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822746450208207:1822746450208657 116414:116414 hsa_signal_store_relaxed(, 23) = void +1822746450210087:1822746451479335 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822746451484065:1822746451484585 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822746451486146:1822746451490376 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822746451490846:1822746451491156 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822746451493516:1822746451494636 116414:116414 hsa_signal_destroy() = 0 +1822746451495826:1822746451496266 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822746451499926:1822746451500236 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822746451501286:1822746451501626 116414:116414 hsa_signal_destroy() = 0 +1822746451502586:1822746451503136 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822746451504076:1822746451504606 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822746451505326:1822746451505736 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746451506136:1822746451506716 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746451507186:1822746451507466 116414:116414 hsa_signal_store_screlease(, 1) = void +1822746451507906:1822746451509326 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 +1822746451509746:1822746453870811 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746454498785:1822746454499375 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822746454501685:1822746454502265 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746460938235:1822746460939575 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746460955356:1822746460955886 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822746460958746:1822746460959276 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822746460961456:1822746460962346 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746460962746:1822746460963146 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746460963806:1822746460964726 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746461569219:1822746461569669 116414:116414 hsa_signal_store_screlease(, 1) = void +1822746461570989:1822746461573730 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 +1822746461574260:1822746462996939 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746462997339:1822746462997769 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746462998519:1822746462999049 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822746463001199:1822746463001729 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746463016459:1822746463016989 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822746463020389:1822746463020919 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 +1822746463028209:1822746463028939 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 24 +1822746463029839:1822746463030289 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 24 +1822746463031389:1822746463034119 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 +1822746463034789:1822746463035099 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822746463044759:1822746463045569 116414:116414 hsa_signal_store_relaxed(, 24) = void +1822746463048029:1822746463048589 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822746463052539:1822746463053079 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746463054999:1822746463055529 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 +1822746463057049:1822746463057659 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 +1822746463058049:1822746463058329 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 25 +1822746463058719:1822746463059009 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 24 +1822746463059619:1822746463059899 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822746463060289:1822746463060739 116414:116414 hsa_signal_store_relaxed(, 25) = void +1822746463062919:1822746464328607 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822746464333087:1822746464333697 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822746464335587:1822746464339807 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822746464340227:1822746464340537 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822746464342647:1822746464343967 116414:116414 hsa_signal_destroy() = 0 +1822746464344997:1822746464345457 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822746464345927:1822746464346227 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822746464347507:1822746464347847 116414:116414 hsa_signal_destroy() = 0 +1822746464348957:1822746464349507 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822746464350407:1822746464350937 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822746464351677:1822746464352087 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746464352487:1822746464352907 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746464353387:1822746464353667 116414:116414 hsa_signal_store_screlease(, 1) = void +1822746464354107:1822746464355287 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 +1822746464355707:1822746466712873 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746467332347:1822746467332937 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822746467334797:1822746467335367 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746473802268:1822746473803758 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746473819158:1822746473819698 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822746473833038:1822746473833578 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822746473835648:1822746473836428 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746473836828:1822746473837238 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746473838008:1822746473839238 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746474447122:1822746474447562 116414:116414 hsa_signal_store_screlease(, 1) = void +1822746474449252:1822746474452232 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 +1822746474452872:1822746475876951 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746475877351:1822746475877771 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746475879091:1822746475879621 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822746475881571:1822746475882111 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746475896441:1822746475896981 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822746475900441:1822746475900971 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 +1822746475907681:1822746475908411 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 26 +1822746475909291:1822746475909741 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 26 +1822746475910721:1822746475913481 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 +1822746475914331:1822746475914641 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822746475915691:1822746475916391 116414:116414 hsa_signal_store_relaxed(, 26) = void +1822746475918621:1822746475919161 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822746475923351:1822746475923891 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746475926281:1822746475926861 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 +1822746475928111:1822746475928671 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 +1822746475929061:1822746475929341 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 27 +1822746475929731:1822746475930021 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 26 +1822746475930811:1822746475931091 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822746475931481:1822746475931931 116414:116414 hsa_signal_store_relaxed(, 27) = void +1822746475933401:1822746477189829 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822746477194659:1822746477195169 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822746477196859:1822746477201119 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822746477201589:1822746477201909 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822746477207619:1822746477208689 116414:116414 hsa_signal_destroy() = 0 +1822746477210059:1822746477210369 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822746477210839:1822746477211149 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822746477212269:1822746477212609 116414:116414 hsa_signal_destroy() = 0 +1822746477213639:1822746477214179 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822746477215139:1822746477215679 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822746477216439:1822746477216859 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746477217269:1822746477217679 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746477218089:1822746477218369 116414:116414 hsa_signal_store_screlease(, 1) = void +1822746477218839:1822746477219959 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 +1822746477220379:1822746479588804 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746480220649:1822746480221239 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822746480223269:1822746480223809 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746486677019:1822746486678299 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746486693990:1822746486694530 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822746486696690:1822746486697220 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822746486699550:1822746486700450 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746486700860:1822746486701270 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746486701850:1822746486703050 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746487306013:1822746487306383 116414:116414 hsa_signal_store_screlease(, 1) = void +1822746487307313:1822746487309873 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 +1822746487310443:1822746488731652 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746488732092:1822746488732862 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746488733762:1822746488734302 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822746488735872:1822746488736402 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746488751003:1822746488751543 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822746488755113:1822746488755643 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 +1822746488762583:1822746488763313 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 28 +1822746488771993:1822746488772333 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 28 +1822746488773313:1822746488775973 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 +1822746488776613:1822746488776923 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822746488778043:1822746488778863 116414:116414 hsa_signal_store_relaxed(, 28) = void +1822746488781303:1822746488781833 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822746488786023:1822746488786563 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746488788433:1822746488788973 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 +1822746488790223:1822746488791013 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 +1822746488791403:1822746488791683 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 29 +1822746488792083:1822746488792353 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 28 +1822746488793203:1822746488793473 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822746488793883:1822746488794333 116414:116414 hsa_signal_store_relaxed(, 29) = void +1822746488795883:1822746490038851 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822746490043731:1822746490044251 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822746490045811:1822746490050361 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822746490050841:1822746490051151 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822746490053231:1822746490054281 116414:116414 hsa_signal_destroy() = 0 +1822746490055421:1822746490055861 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822746490056271:1822746490056571 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822746490057491:1822746490057831 116414:116414 hsa_signal_destroy() = 0 +1822746490058911:1822746490059461 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822746490060351:1822746490060881 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822746490061511:1822746490061851 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746490062241:1822746490062711 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746490063191:1822746490063461 116414:116414 hsa_signal_store_screlease(, 1) = void +1822746490063901:1822746490065021 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 +1822746490065441:1822746492466946 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746493090220:1822746493090800 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822746493095950:1822746493096480 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746499527742:1822746499528962 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746499543972:1822746499544512 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822746499547892:1822746499548422 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822746499550432:1822746499551512 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746499551902:1822746499552252 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746499552882:1822746499553992 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746500165456:1822746500165826 116414:116414 hsa_signal_store_screlease(, 1) = void +1822746500167226:1822746500169796 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 +1822746500170276:1822746501592635 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746501593025:1822746501593455 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746501594355:1822746501594885 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822746501597385:1822746501597915 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746501613405:1822746501613945 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822746501617655:1822746501618185 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 +1822746501625015:1822746501625735 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 30 +1822746501626635:1822746501627085 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 30 +1822746501628045:1822746501630585 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 +1822746501631405:1822746501631705 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822746501633015:1822746501633885 116414:116414 hsa_signal_store_relaxed(, 30) = void +1822746501636385:1822746501636915 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822746501651355:1822746501651885 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746501654125:1822746501654665 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 +1822746501656005:1822746501656705 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 +1822746501657105:1822746501657385 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 31 +1822746501657775:1822746501658055 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 30 +1822746501658785:1822746501659055 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822746501659445:1822746501659905 116414:116414 hsa_signal_store_relaxed(, 31) = void +1822746501661505:1822746502917473 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822746502924833:1822746502925363 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822746502926943:1822746502931463 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822746502931873:1822746502932193 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822746502934423:1822746502935463 116414:116414 hsa_signal_destroy() = 0 +1822746502936483:1822746502936803 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822746502937283:1822746502937583 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822746502938473:1822746502938813 116414:116414 hsa_signal_destroy() = 0 +1822746502939853:1822746502940413 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822746502941333:1822746502941863 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822746502942593:1822746502943053 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746502943453:1822746502943873 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746502944433:1822746502944703 116414:116414 hsa_signal_store_screlease(, 1) = void +1822746502945143:1822746502946213 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 +1822746502946643:1822746505300748 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746505924502:1822746505925072 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822746505926692:1822746505927272 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746512367123:1822746512368573 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746512383923:1822746512384463 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822746512386583:1822746512387113 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822746512389194:1822746512390154 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746512390554:1822746512390964 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746512391604:1822746512392464 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746513012867:1822746513013267 116414:116414 hsa_signal_store_screlease(, 1) = void +1822746513014597:1822746513017267 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 +1822746513017787:1822746514439686 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746514440086:1822746514440516 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746514441596:1822746514442136 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822746514443936:1822746514444476 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746514472076:1822746514472616 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822746514475926:1822746514476456 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 +1822746514483067:1822746514483777 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 32 +1822746514484667:1822746514485427 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 32 +1822746514486437:1822746514488967 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 +1822746514489567:1822746514489877 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822746514490937:1822746514491647 116414:116414 hsa_signal_store_relaxed(, 32) = void +1822746514494197:1822746514494727 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822746514498817:1822746514499357 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746514501517:1822746514502047 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 +1822746514503157:1822746514503857 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 +1822746514504247:1822746514504527 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 33 +1822746514504927:1822746514505197 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 32 +1822746514505857:1822746514506127 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822746514506527:1822746514506977 116414:116414 hsa_signal_store_relaxed(, 33) = void +1822746514508517:1822746515765095 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822746515769915:1822746515770435 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822746515771955:1822746515776015 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822746515776425:1822746515776745 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822746515779015:1822746515780215 116414:116414 hsa_signal_destroy() = 0 +1822746515781545:1822746515781855 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822746515782335:1822746515782635 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822746515783585:1822746515783935 116414:116414 hsa_signal_destroy() = 0 +1822746515785035:1822746515785585 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822746515786485:1822746515787015 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822746515787755:1822746515788165 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746515788565:1822746515788975 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746515789455:1822746515789735 116414:116414 hsa_signal_store_screlease(, 1) = void +1822746515790185:1822746515791285 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 +1822746515795185:1822746518113970 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746518737354:1822746518737934 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822746518739964:1822746518740544 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746525188405:1822746525189945 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746525204905:1822746525205445 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822746525208675:1822746525209215 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822746525211395:1822746525212295 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746525212695:1822746525213345 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746525214065:1822746525214935 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746525821369:1822746525821879 116414:116414 hsa_signal_store_screlease(, 1) = void +1822746525823079:1822746525825569 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 +1822746525826099:1822746527252128 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746527252578:1822746527253048 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746527254108:1822746527254708 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822746527256938:1822746527257548 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746527282838:1822746527283448 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822746527287418:1822746527288018 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 +1822746527295058:1822746527296018 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 34 +1822746527297018:1822746527297388 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 34 +1822746527298448:1822746527301108 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 +1822746527301978:1822746527302328 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822746527303428:1822746527304278 116414:116414 hsa_signal_store_relaxed(, 34) = void +1822746527306828:1822746527307438 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822746527311768:1822746527312378 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746527315078:1822746527315688 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 +1822746527316808:1822746527317478 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 +1822746527317918:1822746527318238 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 35 +1822746527318688:1822746527318998 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 34 +1822746527321898:1822746527322228 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822746527322668:1822746527323158 116414:116414 hsa_signal_store_relaxed(, 35) = void +1822746527325108:1822746528597586 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822746528602576:1822746528603096 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822746528604666:1822746528608766 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822746528609186:1822746528609496 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822746528611616:1822746528612646 116414:116414 hsa_signal_destroy() = 0 +1822746528613696:1822746528614136 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822746528614556:1822746528614856 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822746528615736:1822746528616076 116414:116414 hsa_signal_destroy() = 0 +1822746528617026:1822746528617576 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822746528618466:1822746528618996 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822746528619866:1822746528620276 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746528620676:1822746528621386 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746528621876:1822746528622146 116414:116414 hsa_signal_store_screlease(, 1) = void +1822746528622586:1822746528623886 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 +1822746528624306:1822746530960481 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746531582165:1822746531582745 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822746531584865:1822746531585435 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746538046067:1822746538047627 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746538062807:1822746538063337 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822746538066057:1822746538066587 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822746538068587:1822746538069807 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746538070207:1822746538070857 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746538071697:1822746538072947 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746538679701:1822746538680151 116414:116414 hsa_signal_store_screlease(, 1) = void +1822746538681961:1822746538684381 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 +1822746538684921:1822746540107090 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746540107530:1822746540107960 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746540119530:1822746540120070 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822746540122880:1822746540123410 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746540138600:1822746540139140 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822746540142430:1822746540142970 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 +1822746540150120:1822746540150860 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 36 +1822746540151790:1822746540152400 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 36 +1822746540153590:1822746540156490 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 +1822746540157130:1822746540157440 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822746540158590:1822746540159440 116414:116414 hsa_signal_store_relaxed(, 36) = void +1822746540161790:1822746540162330 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822746540166480:1822746540167010 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746540168850:1822746540169390 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 +1822746540170610:1822746540171200 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 +1822746540171590:1822746540171870 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 37 +1822746540172260:1822746540172530 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 36 +1822746540173190:1822746540173470 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822746540173860:1822746540174310 116414:116414 hsa_signal_store_relaxed(, 37) = void +1822746540176030:1822746541430198 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822746541435168:1822746541435738 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822746541437468:1822746541441928 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822746541442348:1822746541442658 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822746541444728:1822746541445678 116414:116414 hsa_signal_destroy() = 0 +1822746541446838:1822746541447168 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822746541447638:1822746541447948 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822746541448888:1822746541449228 116414:116414 hsa_signal_destroy() = 0 +1822746541450308:1822746541450858 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822746541451758:1822746541452288 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822746541453158:1822746541453518 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746541456438:1822746541456868 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746541457438:1822746541457708 116414:116414 hsa_signal_store_screlease(, 1) = void +1822746541458148:1822746541459238 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 +1822746541459658:1822746543827983 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746544473537:1822746544474137 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822746544475977:1822746544476517 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746550902088:1822746550903269 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746550917549:1822746550918089 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822746550920669:1822746550921209 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822746550923009:1822746550924089 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746550924479:1822746550924749 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746550925469:1822746550926599 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746551536173:1822746551536613 116414:116414 hsa_signal_store_screlease(, 1) = void +1822746551538003:1822746551540703 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 +1822746551541243:1822746552964452 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746552965142:1822746552965462 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746552966332:1822746552966862 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822746552969172:1822746552969702 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746552985212:1822746552985742 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822746552989742:1822746552990272 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 +1822746552997292:1822746552998012 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 38 +1822746552998802:1822746552999282 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 38 +1822746553000242:1822746553002572 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 +1822746553003212:1822746553003522 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822746553004622:1822746553005692 116414:116414 hsa_signal_store_relaxed(, 38) = void +1822746553008042:1822746553008602 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822746553012512:1822746553013052 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746553015462:1822746553016002 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 +1822746553017202:1822746553017912 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 +1822746553026312:1822746553026592 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 39 +1822746553026982:1822746553027252 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 38 +1822746553027852:1822746553028122 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822746553028512:1822746553028962 116414:116414 hsa_signal_store_relaxed(, 39) = void +1822746553030392:1822746554289340 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822746554294130:1822746554294710 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822746554296410:1822746554300630 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822746554301040:1822746554301350 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822746554303630:1822746554304820 116414:116414 hsa_signal_destroy() = 0 +1822746554306150:1822746554306520 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822746554306940:1822746554307240 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822746554308300:1822746554308640 116414:116414 hsa_signal_destroy() = 0 +1822746554309600:1822746554310160 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822746554311060:1822746554311600 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822746554312300:1822746554312720 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746554313110:1822746554313620 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746554314020:1822746554314300 116414:116414 hsa_signal_store_screlease(, 1) = void +1822746554314770:1822746554315970 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 +1822746554316390:1822746556708046 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746557328420:1822746557329000 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822746557331270:1822746557331800 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746563760070:1822746563761280 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746563777580:1822746563778120 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822746563780450:1822746563780980 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822746563783130:1822746563784050 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746563784460:1822746563784870 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746563785520:1822746563786420 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746564399844:1822746564400234 116414:116414 hsa_signal_store_screlease(, 1) = void +1822746564411584:1822746564414045 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 +1822746564414595:1822746565840034 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746565840434:1822746565840864 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746565842194:1822746565842724 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822746565844694:1822746565845294 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746565860394:1822746565860934 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822746565864484:1822746565865014 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 +1822746565871984:1822746565872704 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 40 +1822746565873624:1822746565874084 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 40 +1822746565874934:1822746565877924 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 +1822746565878824:1822746565879134 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822746565880134:1822746565880854 116414:116414 hsa_signal_store_relaxed(, 40) = void +1822746565883084:1822746565883614 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822746565887644:1822746565888204 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746565890224:1822746565890764 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 +1822746565891954:1822746565892554 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 +1822746565892954:1822746565893234 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 41 +1822746565893624:1822746565893904 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 40 +1822746565894714:1822746565894994 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822746565895384:1822746565895834 116414:116414 hsa_signal_store_relaxed(, 41) = void +1822746565897284:1822746567174782 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822746567179382:1822746567179962 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822746567181552:1822746567185592 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822746567186062:1822746567186372 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822746567188752:1822746567189802 116414:116414 hsa_signal_destroy() = 0 +1822746567190802:1822746567191242 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822746567191712:1822746567192012 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822746567192882:1822746567193222 116414:116414 hsa_signal_destroy() = 0 +1822746567196622:1822746567197172 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822746567198082:1822746567198622 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822746567199452:1822746567199942 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746567200352:1822746567200762 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746567201242:1822746567201512 116414:116414 hsa_signal_store_screlease(, 1) = void +1822746567201962:1822746567203112 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 +1822746567203522:1822746569568617 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746570191151:1822746570191731 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822746570193301:1822746570193921 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746576263830:1822746576265480 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746576281000:1822746576281540 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822746576284710:1822746576285240 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822746576287440:1822746576288630 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746576289020:1822746576289650 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746576290290:1822746576291190 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746576896794:1822746576897234 116414:116414 hsa_signal_store_screlease(, 1) = void +1822746576898584:1822746576901224 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 +1822746576901694:1822746578326743 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746578327153:1822746578327583 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746578328923:1822746578329453 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822746578331153:1822746578331693 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746578346973:1822746578347523 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822746578351133:1822746578351673 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 +1822746578358923:1822746578359653 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 42 +1822746578360593:1822746578361193 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 42 +1822746578362323:1822746578364943 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 +1822746578365613:1822746578365923 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822746578366953:1822746578367773 116414:116414 hsa_signal_store_relaxed(, 42) = void +1822746578370013:1822746578370553 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822746578382473:1822746578383013 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746578385523:1822746578386053 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 +1822746578387293:1822746578388003 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 +1822746578388403:1822746578388683 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 43 +1822746578389073:1822746578389353 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 42 +1822746578389953:1822746578390243 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822746578390644:1822746578391104 116414:116414 hsa_signal_store_relaxed(, 43) = void +1822746578392584:1822746579643632 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822746579648472:1822746579649082 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822746579650662:1822746579655192 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822746579655672:1822746579655992 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822746579658072:1822746579658972 116414:116414 hsa_signal_destroy() = 0 +1822746579659992:1822746579660442 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822746579660922:1822746579661222 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822746579662492:1822746579662872 116414:116414 hsa_signal_destroy() = 0 +1822746579663822:1822746579664362 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822746579665252:1822746579665782 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822746579666492:1822746579666902 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746579667302:1822746579667712 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746579668272:1822746579668542 116414:116414 hsa_signal_store_screlease(, 1) = void +1822746579668982:1822746579670212 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 +1822746579670632:1822746582018377 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746582638841:1822746582639411 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822746582641251:1822746582641821 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746589074281:1822746589076201 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746589092561:1822746589093101 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822746589095241:1822746589095771 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822746589098411:1822746589099371 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746589110022:1822746589110522 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746589111172:1822746589112652 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746589724146:1822746589724656 116414:116414 hsa_signal_store_screlease(, 1) = void +1822746589725816:1822746589728536 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 +1822746589729006:1822746591151735 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746591152145:1822746591152445 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746591153375:1822746591153915 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822746591156655:1822746591157245 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746591171915:1822746591172455 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822746591175695:1822746591176225 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 +1822746591183155:1822746591183875 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 44 +1822746591184775:1822746591185225 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 44 +1822746591186555:1822746591189435 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 +1822746591190085:1822746591190395 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822746591191445:1822746591192345 116414:116414 hsa_signal_store_relaxed(, 44) = void +1822746591194735:1822746591195275 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822746591199145:1822746591199675 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746591201475:1822746591202035 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 +1822746591203345:1822746591204205 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 +1822746591204595:1822746591204875 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 45 +1822746591205275:1822746591205545 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 44 +1822746591206195:1822746591206475 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822746591206865:1822746591207315 116414:116414 hsa_signal_store_relaxed(, 45) = void +1822746591208925:1822746592487673 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822746592492063:1822746592492583 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822746592494163:1822746592498373 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822746592498843:1822746592499153 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822746592501223:1822746592502353 116414:116414 hsa_signal_destroy() = 0 +1822746592503603:1822746592503983 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822746592507733:1822746592508043 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822746592508933:1822746592509283 116414:116414 hsa_signal_destroy() = 0 +1822746592510373:1822746592510933 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822746592511843:1822746592512383 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822746592513093:1822746592513613 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746592514023:1822746592514523 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746592514933:1822746592515203 116414:116414 hsa_signal_store_screlease(, 1) = void +1822746592515653:1822746592516753 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 +1822746592517183:1822746594874429 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746595498293:1822746595498883 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822746595500593:1822746595501213 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746601944633:1822746601946173 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746601961433:1822746601961973 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822746601964443:1822746601964983 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822746601967163:1822746601968223 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746601968613:1822746601969023 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746601970013:1822746601971383 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746602578307:1822746602578767 116414:116414 hsa_signal_store_screlease(, 1) = void +1822746602580477:1822746602582987 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 +1822746602583777:1822746604009326 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746604009786:1822746604010216 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746604011377:1822746604011907 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822746604014207:1822746604014747 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746604029557:1822746604030087 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822746604033607:1822746604034137 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 +1822746604040617:1822746604041337 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 46 +1822746604042247:1822746604042687 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 46 +1822746604043697:1822746604046047 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 +1822746604055817:1822746604056137 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822746604057517:1822746604058217 116414:116414 hsa_signal_store_relaxed(, 46) = void +1822746604060197:1822746604060747 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822746604064557:1822746604065097 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746604067527:1822746604068067 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 +1822746604069457:1822746604070047 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 +1822746604070437:1822746604070717 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 47 +1822746604071107:1822746604071397 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 46 +1822746604071997:1822746604072277 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822746604072667:1822746604073117 116414:116414 hsa_signal_store_relaxed(, 47) = void +1822746604074687:1822746605344665 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822746605349355:1822746605349935 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822746605351515:1822746605355925 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822746605356405:1822746605356715 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822746605358865:1822746605360015 116414:116414 hsa_signal_destroy() = 0 +1822746605361155:1822746605361595 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822746605362015:1822746605362325 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822746605363405:1822746605363745 116414:116414 hsa_signal_destroy() = 0 +1822746605364705:1822746605365265 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822746605366155:1822746605366695 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822746605367445:1822746605367905 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746605368305:1822746605368715 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746605369275:1822746605369545 116414:116414 hsa_signal_store_screlease(, 1) = void +1822746605369995:1822746605371075 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 +1822746605371495:1822746607694020 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746608324664:1822746608325274 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822746608327214:1822746608327754 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746614386082:1822746614387442 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746614402552:1822746614403102 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822746614420793:1822746614421333 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822746614423763:1822746614424883 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746614425283:1822746614425693 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746614426253:1822746614427583 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746615034897:1822746615035347 116414:116414 hsa_signal_store_screlease(, 1) = void +1822746615036517:1822746615039187 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 +1822746615039707:1822746616463426 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746616463886:1822746616464346 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746616465086:1822746616465616 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822746616468006:1822746616468536 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746616483376:1822746616483916 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822746616487356:1822746616487886 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 +1822746616494296:1822746616495016 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 48 +1822746616495916:1822746616496456 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 48 +1822746616497556:1822746616500286 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 +1822746616500916:1822746616501226 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822746616502276:1822746616503076 116414:116414 hsa_signal_store_relaxed(, 48) = void +1822746616505296:1822746616505826 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822746616509786:1822746616510316 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746616512636:1822746616513196 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 +1822746616514376:1822746616515086 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 +1822746616515476:1822746616515756 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 49 +1822746616516156:1822746616516426 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 48 +1822746616517056:1822746616517326 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822746616517716:1822746616518166 116414:116414 hsa_signal_store_relaxed(, 49) = void +1822746616519916:1822746617793764 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822746617798924:1822746617799544 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822746617801134:1822746617805334 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822746617809144:1822746617809574 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822746617811794:1822746617812854 116414:116414 hsa_signal_destroy() = 0 +1822746617813964:1822746617814584 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822746617814994:1822746617815304 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822746617816254:1822746617816584 116414:116414 hsa_signal_destroy() = 0 +1822746617817574:1822746617818114 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822746617819024:1822746617819554 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822746617820354:1822746617820694 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746617821094:1822746617821784 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746617822194:1822746617822464 116414:116414 hsa_signal_store_screlease(, 1) = void +1822746617822914:1822746617824384 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 +1822746617824804:1822746620196770 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746620821344:1822746620821924 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822746620824164:1822746620824784 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746627257904:1822746627259094 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746627274375:1822746627274915 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822746627278165:1822746627278695 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822746627280835:1822746627281995 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746627282385:1822746627282805 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746627283455:1822746627284255 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746627894398:1822746627894838 116414:116414 hsa_signal_store_screlease(, 1) = void +1822746627896278:1822746627899128 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 +1822746627899668:1822746629323398 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746629323838:1822746629324278 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746629325428:1822746629325968 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822746629328138:1822746629328668 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746629343248:1822746629343788 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822746629347338:1822746629347868 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 +1822746629354818:1822746629355548 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 50 +1822746629364918:1822746629365368 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 50 +1822746629366348:1822746629368828 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 +1822746629369748:1822746629370058 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822746629371068:1822746629371998 116414:116414 hsa_signal_store_relaxed(, 50) = void +1822746629374158:1822746629374718 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822746629378688:1822746629379218 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746629381428:1822746629381968 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 +1822746629383138:1822746629383768 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 +1822746629384158:1822746629384438 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 51 +1822746629384828:1822746629385108 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 50 +1822746629385718:1822746629385998 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822746629386388:1822746629386838 116414:116414 hsa_signal_store_relaxed(, 51) = void +1822746629388258:1822746630659826 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822746630664516:1822746630665086 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822746630666596:1822746630670806 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822746630671286:1822746630671596 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822746630674086:1822746630675256 116414:116414 hsa_signal_destroy() = 0 +1822746630676696:1822746630677086 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822746630677556:1822746630677856 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822746630678886:1822746630679226 116414:116414 hsa_signal_destroy() = 0 +1822746630680246:1822746630680796 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822746630681726:1822746630682256 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822746630682876:1822746630683206 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746630683606:1822746630684016 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746630684496:1822746630684766 116414:116414 hsa_signal_store_screlease(, 1) = void +1822746630685216:1822746630686296 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 +1822746630686716:1822746633065962 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746633692476:1822746633693056 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822746633697606:1822746633698196 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746639735804:1822746639737084 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746639751994:1822746639752534 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822746639755484:1822746639756014 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822746639758044:1822746639759174 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746639759564:1822746639759914 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746639760504:1822746639761444 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746640374108:1822746640374488 116414:116414 hsa_signal_store_screlease(, 1) = void +1822746640375758:1822746640378378 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 +1822746640378908:1822746641804707 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746641805107:1822746641805537 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746641806737:1822746641807267 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822746641809497:1822746641810027 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746641832097:1822746641832637 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822746641836087:1822746641836617 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 +1822746641843567:1822746641844287 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 52 +1822746641845317:1822746641845757 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 52 +1822746641846717:1822746641849367 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 +1822746641850027:1822746641850327 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822746641851347:1822746641852167 116414:116414 hsa_signal_store_relaxed(, 52) = void +1822746641854187:1822746641854717 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822746641858887:1822746641859417 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746641861667:1822746641862197 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 +1822746641863397:1822746641864007 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 +1822746641864397:1822746641864677 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 53 +1822746641865067:1822746641865337 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 52 +1822746641865987:1822746641866257 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822746641866647:1822746641867097 116414:116414 hsa_signal_store_relaxed(, 53) = void +1822746641870807:1822746643124045 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822746643129115:1822746643129635 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822746643131215:1822746643135915 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822746643136385:1822746643136695 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822746643138755:1822746643139995 116414:116414 hsa_signal_destroy() = 0 +1822746643141135:1822746643141575 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822746643142045:1822746643142345 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822746643143296:1822746643143636 116414:116414 hsa_signal_destroy() = 0 +1822746643144706:1822746643145256 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822746643146146:1822746643146676 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822746643147406:1822746643147736 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746643148136:1822746643148556 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746643149026:1822746643149296 116414:116414 hsa_signal_store_screlease(, 1) = void +1822746643149746:1822746643150896 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 +1822746643151316:1822746645470540 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746646091314:1822746646091894 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822746646093634:1822746646094214 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746652531326:1822746652532706 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746652547876:1822746652548416 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822746652551146:1822746652551676 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822746652554056:1822746652554976 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746652555456:1822746652555866 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746652556516:1822746652557396 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746653166340:1822746653167060 116414:116414 hsa_signal_store_screlease(, 1) = void +1822746653168300:1822746653170950 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 +1822746653171490:1822746654594819 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746654595219:1822746654595719 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746654597099:1822746654597629 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822746654599599:1822746654600139 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746654625809:1822746654626349 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822746654629729:1822746654630259 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 +1822746654637229:1822746654638149 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 54 +1822746654639099:1822746654639539 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 54 +1822746654640679:1822746654643609 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 +1822746654644329:1822746654644629 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822746654645989:1822746654646819 116414:116414 hsa_signal_store_relaxed(, 54) = void +1822746654648799:1822746654649329 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822746654653819:1822746654654349 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746654656199:1822746654656729 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 +1822746654657889:1822746654658669 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 +1822746654659059:1822746654659339 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 55 +1822746654659729:1822746654660009 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 54 +1822746654660829:1822746654661099 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822746654661509:1822746654661949 116414:116414 hsa_signal_store_relaxed(, 55) = void +1822746654663549:1822746655926857 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822746655931767:1822746655932547 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822746655934117:1822746655938477 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822746655938957:1822746655939277 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822746655941467:1822746655942897 116414:116414 hsa_signal_destroy() = 0 +1822746655944027:1822746655944357 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822746655944827:1822746655945137 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822746655946177:1822746655946517 116414:116414 hsa_signal_destroy() = 0 +1822746655947587:1822746655948137 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822746655949037:1822746655949567 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822746655950357:1822746655950777 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746655951177:1822746655951587 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746655952077:1822746655952347 116414:116414 hsa_signal_store_screlease(, 1) = void +1822746655955137:1822746655956267 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 +1822746655956707:1822746658290032 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746658915416:1822746658915996 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822746658917696:1822746658918236 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746665358737:1822746665360097 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746665374977:1822746665375527 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822746665377997:1822746665378537 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822746665380517:1822746665381447 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746665381847:1822746665382197 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746665383017:1822746665383717 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746665991281:1822746665991841 116414:116414 hsa_signal_store_screlease(, 1) = void +1822746665992981:1822746665995691 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 +1822746665996221:1822746667420900 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746667421310:1822746667421730 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746667422850:1822746667423380 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822746667424930:1822746667425460 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746667439880:1822746667440420 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822746667444000:1822746667444540 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 +1822746667450920:1822746667451840 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 56 +1822746667452590:1822746667453350 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 56 +1822746667454340:1822746667457050 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 +1822746667457680:1822746667457990 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822746667459010:1822746667459820 116414:116414 hsa_signal_store_relaxed(, 56) = void +1822746667462310:1822746667462850 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822746667466520:1822746667467060 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746667468670:1822746667469200 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 +1822746667470910:1822746667471520 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 +1822746667471920:1822746667472220 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 57 +1822746667472640:1822746667472940 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 56 +1822746667482650:1822746667482930 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822746667483320:1822746667483780 116414:116414 hsa_signal_store_relaxed(, 57) = void +1822746667485200:1822746668743938 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822746668749078:1822746668749598 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822746668751038:1822746668755308 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822746668755718:1822746668756038 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822746668758288:1822746668759358 116414:116414 hsa_signal_destroy() = 0 +1822746668760538:1822746668760928 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822746668761408:1822746668761708 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822746668762798:1822746668763139 116414:116414 hsa_signal_destroy() = 0 +1822746668764299:1822746668764849 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822746668765889:1822746668766419 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822746668767109:1822746668767519 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746668767919:1822746668768339 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746668768949:1822746668769229 116414:116414 hsa_signal_store_screlease(, 1) = void +1822746668769669:1822746668770799 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 +1822746668771219:1822746671117194 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746671737808:1822746671738388 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822746671740248:1822746671740778 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746678186569:1822746678187769 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746678202569:1822746678203109 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822746678206069:1822746678206599 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822746678208999:1822746678209889 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746678210279:1822746678210909 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746678211809:1822746678212699 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746678818183:1822746678818663 116414:116414 hsa_signal_store_screlease(, 1) = void +1822746678820023:1822746678822933 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 +1822746678823463:1822746680248062 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746680258082:1822746680258542 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746680259832:1822746680260362 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822746680262252:1822746680262792 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746680277542:1822746680278082 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822746680281582:1822746680282112 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 +1822746680289133:1822746680289863 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 58 +1822746680290753:1822746680291203 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 58 +1822746680292173:1822746680294933 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 +1822746680295573:1822746680295883 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822746680296943:1822746680297773 116414:116414 hsa_signal_store_relaxed(, 58) = void +1822746680300133:1822746680300673 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822746680304613:1822746680305153 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746680307543:1822746680308083 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 +1822746680309333:1822746680309933 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 +1822746680310323:1822746680310603 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 59 +1822746680311003:1822746680311273 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 58 +1822746680311883:1822746680312153 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822746680312543:1822746680313003 116414:116414 hsa_signal_store_relaxed(, 59) = void +1822746680314443:1822746681576751 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822746681581821:1822746681582391 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822746681583881:1822746681588181 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822746681588661:1822746681588971 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822746681591291:1822746681592341 116414:116414 hsa_signal_destroy() = 0 +1822746681593441:1822746681593891 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822746681594361:1822746681594661 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822746681595791:1822746681596131 116414:116414 hsa_signal_destroy() = 0 +1822746681597341:1822746681597891 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822746681598781:1822746681599311 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822746681600021:1822746681600431 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746681603041:1822746681603541 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746681604151:1822746681604421 116414:116414 hsa_signal_store_screlease(, 1) = void +1822746681604871:1822746681606031 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 +1822746681606461:1822746683967395 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746684595879:1822746684596469 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822746684598349:1822746684598879 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746691018881:1822746691020041 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746691034891:1822746691035431 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822746691038111:1822746691038641 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822746691041021:1822746691041931 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746691042391:1822746691042941 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746691043631:1822746691044651 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746691651495:1822746691651945 116414:116414 hsa_signal_store_screlease(, 1) = void +1822746691653085:1822746691655985 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 +1822746691656515:1822746693078814 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746693079254:1822746693079564 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746693080514:1822746693081054 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822746693083074:1822746693083604 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746693098934:1822746693099474 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822746693103024:1822746693103554 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 +1822746693110604:1822746693111334 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 60 +1822746693112114:1822746693112724 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 60 +1822746693113684:1822746693116094 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 +1822746693116674:1822746693116984 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822746693118064:1822746693118884 116414:116414 hsa_signal_store_relaxed(, 60) = void +1822746693121024:1822746693121554 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822746693125534:1822746693126074 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746693128184:1822746693128724 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 +1822746693138894:1822746693139614 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 +1822746693140004:1822746693140274 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 61 +1822746693140674:1822746693140944 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 60 +1822746693141534:1822746693141814 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822746693142204:1822746693142654 116414:116414 hsa_signal_store_relaxed(, 61) = void +1822746693144294:1822746694398722 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822746694404652:1822746694405352 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822746694407262:1822746694411722 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822746694412132:1822746694412442 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822746694414762:1822746694415882 116414:116414 hsa_signal_destroy() = 0 +1822746694416872:1822746694417332 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822746694417752:1822746694418052 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822746694418942:1822746694419282 116414:116414 hsa_signal_destroy() = 0 +1822746694420372:1822746694420922 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822746694421832:1822746694422372 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822746694423082:1822746694423412 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746694423812:1822746694424232 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746694424712:1822746694424982 116414:116414 hsa_signal_store_screlease(, 1) = void +1822746694425432:1822746694426582 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 +1822746694427002:1822746696790397 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746697413431:1822746697414011 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822746697415731:1822746697416311 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746703837982:1822746703839232 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746703854402:1822746703854942 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822746703857932:1822746703858472 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822746703860432:1822746703861402 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746703861802:1822746703862072 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746703862722:1822746703863602 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746704484836:1822746704485416 116414:116414 hsa_signal_store_screlease(, 1) = void +1822746704496636:1822746704499366 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 +1822746704500076:1822746705923615 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746705924015:1822746705924325 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746705925235:1822746705925765 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822746705927815:1822746705928415 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746705944065:1822746705944605 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822746705948265:1822746705948795 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 +1822746705956305:1822746705957035 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 62 +1822746705957965:1822746705958415 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 62 +1822746705959525:1822746705962476 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 +1822746705963126:1822746705963436 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822746705964516:1822746705965346 116414:116414 hsa_signal_store_relaxed(, 62) = void +1822746705967636:1822746705968166 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822746705974486:1822746705975016 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746705977586:1822746705978126 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 +1822746705979266:1822746705979906 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 +1822746705980306:1822746705980586 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 63 +1822746705980986:1822746705981266 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 62 +1822746705982126:1822746705982396 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822746705982806:1822746705983256 116414:116414 hsa_signal_store_relaxed(, 63) = void +1822746705984836:1822746707245173 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822746707250344:1822746707250864 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822746707252454:1822746707256804 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822746707257224:1822746707257534 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822746707259584:1822746707260714 116414:116414 hsa_signal_destroy() = 0 +1822746707261964:1822746707262344 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822746707262814:1822746707263114 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822746707264114:1822746707264454 116414:116414 hsa_signal_destroy() = 0 +1822746707270784:1822746707271334 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822746707272304:1822746707272834 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822746707273904:1822746707274314 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746707274714:1822746707275124 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746707275604:1822746707275874 116414:116414 hsa_signal_store_screlease(, 1) = void +1822746707276324:1822746707277404 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 +1822746707277814:1822746709639869 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746710262693:1822746710263273 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822746710265283:1822746710265863 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746716756714:1822746716758214 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746716773575:1822746716774185 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822746716776615:1822746716777215 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822746716779315:1822746716780285 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746716780725:1822746716781115 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746716781775:1822746716782815 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746717381248:1822746717381818 116414:116414 hsa_signal_store_screlease(, 1) = void +1822746717383408:1822746717386378 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 +1822746717386968:1822746718813308 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746718813718:1822746718814138 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746718815288:1822746718815818 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822746718817418:1822746718817948 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746718832208:1822746718832738 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822746718836108:1822746718836648 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 +1822746718842608:1822746718843418 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 64 +1822746718844168:1822746718844938 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 64 +1822746718846008:1822746718848428 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 +1822746718849018:1822746718849318 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822746718850358:1822746718851178 116414:116414 hsa_signal_store_relaxed(, 64) = void +1822746718861408:1822746718861958 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822746718865768:1822746718866308 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746718868148:1822746718868678 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 +1822746718869988:1822746718870598 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 +1822746718870988:1822746718871268 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 65 +1822746718871668:1822746718871948 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 64 +1822746718872548:1822746718872828 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822746718873238:1822746718873688 116414:116414 hsa_signal_store_relaxed(, 65) = void +1822746718875208:1822746720136216 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822746720140456:1822746720140986 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822746720142566:1822746720146916 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822746720147406:1822746720147716 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822746720149836:1822746720150756 116414:116414 hsa_signal_destroy() = 0 +1822746720151866:1822746720152316 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822746720152736:1822746720153036 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822746720154066:1822746720154416 116414:116414 hsa_signal_destroy() = 0 +1822746720155436:1822746720155986 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822746720156746:1822746720157286 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822746720157976:1822746720158436 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746720158826:1822746720159256 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746720159816:1822746720160096 116414:116414 hsa_signal_store_screlease(, 1) = void +1822746720160536:1822746720161566 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 +1822746720161986:1822746722483951 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746723103375:1822746723103965 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822746723105935:1822746723106505 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746729578296:1822746729579826 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746729595516:1822746729596046 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822746729598666:1822746729599196 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822746729601386:1822746729602296 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746729613226:1822746729613736 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746729614376:1822746729615396 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746730220420:1822746730220780 116414:116414 hsa_signal_store_screlease(, 1) = void +1822746730221940:1822746730224230 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 +1822746730224760:1822746731648649 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746731649049:1822746731649359 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746731650709:1822746731651239 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822746731653309:1822746731653849 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746731668409:1822746731668939 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822746731672369:1822746731672899 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 +1822746731680340:1822746731681060 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 66 +1822746731681810:1822746731682420 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 66 +1822746731683480:1822746731686270 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 +1822746731687060:1822746731687360 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822746731688390:1822746731689200 116414:116414 hsa_signal_store_relaxed(, 66) = void +1822746731691770:1822746731692300 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822746731696130:1822746731696670 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746731698640:1822746731699180 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 +1822746731700760:1822746731701360 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 +1822746731701750:1822746731702030 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 67 +1822746731702430:1822746731702710 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 66 +1822746731703310:1822746731703590 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822746731703990:1822746731704440 116414:116414 hsa_signal_store_relaxed(, 67) = void +1822746731705990:1822746732968668 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822746732973188:1822746732973768 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822746732975378:1822746732979428 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822746732979898:1822746732980208 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822746732982538:1822746732983458 116414:116414 hsa_signal_destroy() = 0 +1822746732987348:1822746732987898 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822746732988308:1822746732988608 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822746732989488:1822746732989838 116414:116414 hsa_signal_destroy() = 0 +1822746732990938:1822746732991498 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822746732992398:1822746732992928 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822746732993658:1822746732994278 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746732994668:1822746732995088 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746732995488:1822746732995768 116414:116414 hsa_signal_store_screlease(, 1) = void +1822746732996208:1822746732997308 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 +1822746732997728:1822746735349663 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746735976047:1822746735976637 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822746735978247:1822746735978777 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746742045776:1822746742047656 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746742063606:1822746742064146 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822746742066616:1822746742067146 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822746742069216:1822746742070126 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746742070596:1822746742071226 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746742071866:1822746742073106 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746742677530:1822746742677970 116414:116414 hsa_signal_store_screlease(, 1) = void +1822746742679690:1822746742682100 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 +1822746742682600:1822746744104179 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746744104609:1822746744105049 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746744106549:1822746744107089 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822746744108779:1822746744109319 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746744132079:1822746744132619 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822746744136219:1822746744136759 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 +1822746744143339:1822746744144049 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 68 +1822746744145019:1822746744145619 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 68 +1822746744146649:1822746744149309 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 +1822746744151869:1822746744152179 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822746744153269:1822746744154099 116414:116414 hsa_signal_store_relaxed(, 68) = void +1822746744156559:1822746744157089 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822746744161109:1822746744161639 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746744163719:1822746744164249 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 +1822746744165539:1822746744166149 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 +1822746744166549:1822746744166819 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 69 +1822746744167219:1822746744167499 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 68 +1822746744168269:1822746744168539 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822746744168939:1822746744169389 116414:116414 hsa_signal_store_relaxed(, 69) = void +1822746744171319:1822746745432787 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822746745437377:1822746745437897 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822746745439447:1822746745444127 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822746745444547:1822746745444857 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822746745447517:1822746745448567 116414:116414 hsa_signal_destroy() = 0 +1822746745449757:1822746745450157 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822746745450627:1822746745450937 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822746745452067:1822746745452407 116414:116414 hsa_signal_destroy() = 0 +1822746745453567:1822746745454117 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822746745455017:1822746745455557 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822746745456407:1822746745456747 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746745457137:1822746745457557 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746745458037:1822746745458317 116414:116414 hsa_signal_store_screlease(, 1) = void +1822746745458757:1822746745459857 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 +1822746745460297:1822746747819222 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746748465856:1822746748466466 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822746748468546:1822746748469126 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746754526055:1822746754527215 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746754552505:1822746754553045 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822746754556435:1822746754556965 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822746754559265:1822746754560165 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746754560555:1822746754561205 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746754562015:1822746754562875 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746755168449:1822746755168819 116414:116414 hsa_signal_store_screlease(, 1) = void +1822746755170379:1822746755172849 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 +1822746755173379:1822746756598178 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746756598648:1822746756599158 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746756600248:1822746756600778 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822746756602708:1822746756603238 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746756619258:1822746756619798 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822746756623758:1822746756624298 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 +1822746756631708:1822746756632418 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 70 +1822746756633348:1822746756633788 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 70 +1822746756634638:1822746756637358 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 +1822746756638218:1822746756638528 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822746756639588:1822746756640308 116414:116414 hsa_signal_store_relaxed(, 70) = void +1822746756642738:1822746756643298 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822746756647268:1822746756647798 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746756649948:1822746756650478 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 +1822746756651718:1822746756652348 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 +1822746756652738:1822746756653018 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 71 +1822746756653408:1822746756653688 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 70 +1822746756654278:1822746756654558 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822746756654948:1822746756655398 116414:116414 hsa_signal_store_relaxed(, 71) = void +1822746756657188:1822746757917116 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822746757921666:1822746757922246 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822746757923966:1822746757928366 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822746757932066:1822746757932406 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822746757934906:1822746757935846 116414:116414 hsa_signal_destroy() = 0 +1822746757936986:1822746757937426 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822746757937896:1822746757938206 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822746757939276:1822746757939626 116414:116414 hsa_signal_destroy() = 0 +1822746757940586:1822746757941146 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822746757942086:1822746757942616 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822746757943396:1822746757943866 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746757944276:1822746757944686 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746757945256:1822746757945526 116414:116414 hsa_signal_store_screlease(, 1) = void +1822746757945986:1822746757947166 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 +1822746757947596:1822746760327551 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746760950165:1822746760950775 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822746760952685:1822746760953315 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746767380777:1822746767382127 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746767397527:1822746767398067 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822746767400527:1822746767401057 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822746767403067:1822746767404167 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746767404557:1822746767405187 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746767405827:1822746767406697 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746768026721:1822746768027231 116414:116414 hsa_signal_store_screlease(, 1) = void +1822746768028791:1822746768031241 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 +1822746768031691:1822746769454000 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746769454400:1822746769454830 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746769455810:1822746769456340 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822746769458610:1822746769459150 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746769474920:1822746769475480 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822746769479030:1822746769479560 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 +1822746769495810:1822746769496540 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 72 +1822746769497450:1822746769497900 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 72 +1822746769498920:1822746769501560 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 +1822746769502230:1822746769502560 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822746769504140:1822746769504840 116414:116414 hsa_signal_store_relaxed(, 72) = void +1822746769507210:1822746769507750 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822746769512460:1822746769512990 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746769514660:1822746769515200 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 +1822746769516480:1822746769517220 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 +1822746769517610:1822746769517890 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 73 +1822746769518280:1822746769518560 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 72 +1822746769519170:1822746769519440 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822746769519830:1822746769520280 116414:116414 hsa_signal_store_relaxed(, 73) = void +1822746769521810:1822746770780559 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822746770785319:1822746770785879 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822746770787429:1822746770791759 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822746770792239:1822746770792549 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822746770794659:1822746770796109 116414:116414 hsa_signal_destroy() = 0 +1822746770797139:1822746770797599 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822746770798069:1822746770798379 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822746770799499:1822746770799839 116414:116414 hsa_signal_destroy() = 0 +1822746770801009:1822746770801559 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822746770802469:1822746770803009 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822746770803729:1822746770804149 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746770804549:1822746770805119 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746770805529:1822746770805799 116414:116414 hsa_signal_store_screlease(, 1) = void +1822746770806249:1822746770807469 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 +1822746770807889:1822746773192984 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746773811888:1822746773812478 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822746773817938:1822746773818478 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746780262889:1822746780264379 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746780280029:1822746780280569 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822746780283849:1822746780284389 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822746780286459:1822746780287619 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746780288009:1822746780288419 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746780289079:1822746780289929 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746780896513:1822746780896953 116414:116414 hsa_signal_store_screlease(, 1) = void +1822746780898323:1822746780900833 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 +1822746780901373:1822746782326702 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746782327102:1822746782327532 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746782328622:1822746782329162 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822746782331322:1822746782331852 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746782354012:1822746782354552 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822746782358192:1822746782358732 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 +1822746782365462:1822746782366182 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 74 +1822746782367152:1822746782367472 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 74 +1822746782368432:1822746782371252 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 +1822746782371912:1822746782372222 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822746782373312:1822746782374122 116414:116414 hsa_signal_store_relaxed(, 74) = void +1822746782376252:1822746782376792 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822746782380652:1822746782381192 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746782383962:1822746782384502 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 +1822746782385812:1822746782386522 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 +1822746782386922:1822746782387202 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 75 +1822746782387592:1822746782387882 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 74 +1822746782388472:1822746782388742 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822746782389142:1822746782389592 116414:116414 hsa_signal_store_relaxed(, 75) = void +1822746782393272:1822746783657780 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822746783662530:1822746783663440 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822746783665031:1822746783669631 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822746783670111:1822746783670411 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822746783672541:1822746783673661 116414:116414 hsa_signal_destroy() = 0 +1822746783674801:1822746783675201 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822746783675671:1822746783675971 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822746783677151:1822746783677491 116414:116414 hsa_signal_destroy() = 0 +1822746783678581:1822746783679131 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822746783680041:1822746783680571 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822746783681371:1822746783681701 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746783682101:1822746783682511 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746783682931:1822746783683201 116414:116414 hsa_signal_store_screlease(, 1) = void +1822746783683651:1822746783684861 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 +1822746783685271:1822746786031285 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746786656249:1822746786656829 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822746786658739:1822746786659309 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746793106700:1822746793107870 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746793123070:1822746793123610 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822746793126300:1822746793126830 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822746793128981:1822746793129901 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746793130291:1822746793130701 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746793131341:1822746793132081 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746793741214:1822746793741724 116414:116414 hsa_signal_store_screlease(, 1) = void +1822746793742954:1822746793746184 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 +1822746793746654:1822746795168774 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746795169184:1822746795169604 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746795170584:1822746795171114 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822746795183214:1822746795183754 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746795199094:1822746795199634 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822746795203544:1822746795204084 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 +1822746795210484:1822746795211224 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 76 +1822746795211994:1822746795212604 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 76 +1822746795213734:1822746795216464 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 +1822746795217244:1822746795217584 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822746795218604:1822746795219454 116414:116414 hsa_signal_store_relaxed(, 76) = void +1822746795221414:1822746795221954 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822746795226094:1822746795226624 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746795228734:1822746795229274 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 +1822746795230504:1822746795231114 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 +1822746795231514:1822746795231794 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 77 +1822746795232184:1822746795232464 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 76 +1822746795233074:1822746795233344 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822746795233744:1822746795234194 116414:116414 hsa_signal_store_relaxed(, 77) = void +1822746795235674:1822746796492512 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822746796497332:1822746796497912 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822746796499482:1822746796503572 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822746796504052:1822746796504362 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822746796506782:1822746796507842 116414:116414 hsa_signal_destroy() = 0 +1822746796509012:1822746796509452 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822746796509922:1822746796510232 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822746796511212:1822746796511562 116414:116414 hsa_signal_destroy() = 0 +1822746796512682:1822746796513232 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822746796514142:1822746796514672 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822746796515392:1822746796515812 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746796516212:1822746796516632 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746796517112:1822746796517392 116414:116414 hsa_signal_store_screlease(, 1) = void +1822746796520142:1822746796521442 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 +1822746796521882:1822746798851377 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746799483181:1822746799483841 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822746799485891:1822746799486551 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746805731051:1822746805732541 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746805748601:1822746805749141 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822746805751861:1822746805752401 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822746805754581:1822746805755501 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746805755891:1822746805756361 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746805757011:1822746805758401 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746806367385:1822746806367895 116414:116414 hsa_signal_store_screlease(, 1) = void +1822746806369645:1822746806372055 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 +1822746806372555:1822746807820344 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746807820744:1822746807821174 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746807822594:1822746807823134 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822746807825384:1822746807825914 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746807840994:1822746807841534 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822746807845024:1822746807845564 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 +1822746807853474:1822746807854204 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 78 +1822746807855094:1822746807855534 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 78 +1822746807856524:1822746807859244 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 +1822746807859894:1822746807860194 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822746807861214:1822746807862044 116414:116414 hsa_signal_store_relaxed(, 78) = void +1822746807864354:1822746807864884 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822746807868864:1822746807869444 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746807871445:1822746807871985 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 +1822746807873245:1822746807873935 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 +1822746807874325:1822746807874605 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 79 +1822746807888265:1822746807888545 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 78 +1822746807889225:1822746807889495 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822746807889905:1822746807890365 116414:116414 hsa_signal_store_relaxed(, 79) = void +1822746807891875:1822746809134712 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822746809139502:1822746809140022 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822746809141602:1822746809146162 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822746809146642:1822746809146952 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822746809149202:1822746809150112 116414:116414 hsa_signal_destroy() = 0 +1822746809151252:1822746809151652 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822746809152133:1822746809152433 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822746809153503:1822746809153883 116414:116414 hsa_signal_destroy() = 0 +1822746809154853:1822746809155403 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822746809156293:1822746809156833 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822746809157553:1822746809157893 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746809158293:1822746809158703 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746809159183:1822746809159463 116414:116414 hsa_signal_store_screlease(, 1) = void +1822746809159903:1822746809161013 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 +1822746809161443:1822746811520807 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746812160031:1822746812160611 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822746812162381:1822746812162921 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746818654253:1822746818655703 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746818671863:1822746818672473 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822746818675103:1822746818675703 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822746818677923:1822746818679043 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746818679493:1822746818679883 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746818680483:1822746818681503 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746819275267:1822746819275787 116414:116414 hsa_signal_store_screlease(, 1) = void +1822746819277117:1822746819279767 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 +1822746819280387:1822746820703026 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746820713396:1822746820713716 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746820714896:1822746820715426 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822746820717506:1822746820718036 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746820732796:1822746820733336 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822746820736426:1822746820736966 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 +1822746820742956:1822746820743686 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 80 +1822746820744436:1822746820744956 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 80 +1822746820745936:1822746820748366 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 +1822746820748966:1822746820749276 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822746820750566:1822746820751396 116414:116414 hsa_signal_store_relaxed(, 80) = void +1822746820753466:1822746820754006 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822746820758236:1822746820758766 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746820760957:1822746820761497 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 +1822746820762547:1822746820763197 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 +1822746820763597:1822746820763877 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 81 +1822746820764277:1822746820764557 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 80 +1822746820765167:1822746820765447 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822746820765847:1822746820766297 116414:116414 hsa_signal_store_relaxed(, 81) = void +1822746820767887:1822746822027925 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822746822032095:1822746822032605 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822746822034155:1822746822038335 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822746822038805:1822746822039115 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822746822041675:1822746822042745 116414:116414 hsa_signal_destroy() = 0 +1822746822043935:1822746822044325 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822746822044795:1822746822045105 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822746822046125:1822746822046465 116414:116414 hsa_signal_destroy() = 0 +1822746822047545:1822746822048105 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822746822048855:1822746822049385 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822746822052395:1822746822052745 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746822053145:1822746822053555 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746822053965:1822746822054235 116414:116414 hsa_signal_store_screlease(, 1) = void +1822746822054685:1822746822055715 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 +1822746822056155:1822746824422180 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746825041784:1822746825042364 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822746825044174:1822746825044704 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746831155292:1822746831156632 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746831171193:1822746831171733 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822746831174433:1822746831174973 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822746831177083:1822746831178283 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746831178693:1822746831179043 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746831179683:1822746831180543 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746831786087:1822746831786447 116414:116414 hsa_signal_store_screlease(, 1) = void +1822746831787497:1822746831790037 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 +1822746831790577:1822746833214316 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746833214836:1822746833215276 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746833216396:1822746833216926 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822746833218526:1822746833219056 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746833234136:1822746833234676 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822746833238486:1822746833239016 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 +1822746833245576:1822746833246316 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 82 +1822746833247216:1822746833247526 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 82 +1822746833248516:1822746833251166 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 +1822746833251936:1822746833252246 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822746833253276:1822746833253986 116414:116414 hsa_signal_store_relaxed(, 82) = void +1822746833256106:1822746833256646 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822746833261086:1822746833261626 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746833263476:1822746833264036 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 +1822746833272656:1822746833273266 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 +1822746833273666:1822746833273946 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 83 +1822746833274346:1822746833274626 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 82 +1822746833275226:1822746833275506 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822746833275896:1822746833276356 116414:116414 hsa_signal_store_relaxed(, 83) = void +1822746833277976:1822746834546174 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822746834550624:1822746834551194 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822746834552784:1822746834557044 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822746834557464:1822746834557774 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822746834560314:1822746834561374 116414:116414 hsa_signal_destroy() = 0 +1822746834562444:1822746834562884 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822746834563354:1822746834563654 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822746834564734:1822746834565074 116414:116414 hsa_signal_destroy() = 0 +1822746834566174:1822746834566714 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822746834567604:1822746834568134 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822746834568774:1822746834569114 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746834569504:1822746834569924 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746834570394:1822746834570674 116414:116414 hsa_signal_store_screlease(, 1) = void +1822746834571144:1822746834572204 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 +1822746834572624:1822746836944949 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746837569803:1822746837570403 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822746837572333:1822746837572953 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746844025434:1822746844026894 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746844042014:1822746844042554 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822746844045675:1822746844046205 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822746844048195:1822746844049105 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746844049495:1822746844049895 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746844050465:1822746844051595 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746844665118:1822746844665698 116414:116414 hsa_signal_store_screlease(, 1) = void +1822746844667178:1822746844670029 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 +1822746844670559:1822746846092528 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746846092928:1822746846093358 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746846094438:1822746846094978 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822746846097038:1822746846097568 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746846112698:1822746846113238 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822746846116588:1822746846117118 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 +1822746846123848:1822746846124578 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 84 +1822746846125318:1822746846125948 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 84 +1822746846127258:1822746846129938 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 +1822746846130608:1822746846130908 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822746846131928:1822746846132778 116414:116414 hsa_signal_store_relaxed(, 84) = void +1822746846135088:1822746846135618 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822746846142108:1822746846142648 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746846144538:1822746846145068 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 +1822746846146278:1822746846146998 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 +1822746846147398:1822746846147678 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 85 +1822746846148068:1822746846148358 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 84 +1822746846148968:1822746846149248 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822746846149638:1822746846150088 116414:116414 hsa_signal_store_relaxed(, 85) = void +1822746846151458:1822746847406186 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822746847410596:1822746847411116 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822746847412806:1822746847417376 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822746847417796:1822746847418106 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822746847420576:1822746847421516 116414:116414 hsa_signal_destroy() = 0 +1822746847422766:1822746847423086 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822746847423506:1822746847423806 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822746847424976:1822746847425326 116414:116414 hsa_signal_destroy() = 0 +1822746847428856:1822746847429406 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822746847430196:1822746847430726 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822746847431466:1822746847431886 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746847432276:1822746847432696 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746847433106:1822746847433376 116414:116414 hsa_signal_store_screlease(, 1) = void +1822746847433826:1822746847434886 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 +1822746847435316:1822746849768131 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746850391215:1822746850391795 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822746850393775:1822746850394395 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746856852406:1822746856853586 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746856868066:1822746856868606 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822746856872066:1822746856872596 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822746856874866:1822746856875776 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746856876166:1822746856876576 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746856877426:1822746856878266 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746857489620:1822746857490130 116414:116414 hsa_signal_store_screlease(, 1) = void +1822746857491390:1822746857493990 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 +1822746857494550:1822746858918679 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746858919079:1822746858919539 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746858920609:1822746858921139 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822746858923559:1822746858924089 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746858939859:1822746858940389 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822746858944009:1822746858944539 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 +1822746858951729:1822746858952469 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 86 +1822746858953469:1822746858953769 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 86 +1822746858954749:1822746858957290 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 +1822746858957950:1822746858958270 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822746858959640:1822746858960470 116414:116414 hsa_signal_store_relaxed(, 86) = void +1822746858970970:1822746858971500 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822746858976030:1822746858976560 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746858978680:1822746858979220 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 +1822746858980540:1822746858981250 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 +1822746858981650:1822746858981930 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 87 +1822746858982320:1822746858982600 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 86 +1822746858983420:1822746858983690 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822746858984090:1822746858984570 116414:116414 hsa_signal_store_relaxed(, 87) = void +1822746858986020:1822746860230488 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822746860235298:1822746860235828 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822746860237348:1822746860241668 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822746860242088:1822746860242398 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822746860244518:1822746860246028 116414:116414 hsa_signal_destroy() = 0 +1822746860247208:1822746860247608 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822746860248078:1822746860248388 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822746860249328:1822746860249668 116414:116414 hsa_signal_destroy() = 0 +1822746860250638:1822746860251188 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822746860252078:1822746860252618 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822746860253388:1822746860253808 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746860254198:1822746860254618 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746860255098:1822746860255378 116414:116414 hsa_signal_store_screlease(, 1) = void +1822746860255818:1822746860256938 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 +1822746860257358:1822746862607943 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746863231107:1822746863231687 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822746863233507:1822746863234127 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746869387856:1822746869389636 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746869405026:1822746869405566 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822746869408286:1822746869408816 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822746869420636:1822746869421526 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746869421916:1822746869422586 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746869423316:1822746869424546 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746870032760:1822746870033400 116414:116414 hsa_signal_store_screlease(, 1) = void +1822746870035010:1822746870037090 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 +1822746870037620:1822746871459859 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746871460259:1822746871460689 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746871461849:1822746871462389 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822746871464859:1822746871465389 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746871480889:1822746871481429 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822746871485009:1822746871485549 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 +1822746871492729:1822746871493469 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 88 +1822746871494339:1822746871494789 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 88 +1822746871495789:1822746871498709 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 +1822746871499359:1822746871499669 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822746871500729:1822746871501379 116414:116414 hsa_signal_store_relaxed(, 88) = void +1822746871503609:1822746871504139 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822746871508369:1822746871508949 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746871511009:1822746871511549 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 +1822746871513019:1822746871513629 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 +1822746871514019:1822746871514299 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 89 +1822746871514699:1822746871514979 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 88 +1822746871515909:1822746871516189 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822746871516579:1822746871517029 116414:116414 hsa_signal_store_relaxed(, 89) = void +1822746871518659:1822746872784378 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822746872788808:1822746872789388 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822746872791098:1822746872795768 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822746872796248:1822746872796558 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822746872798778:1822746872799828 116414:116414 hsa_signal_destroy() = 0 +1822746872804078:1822746872804528 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822746872804948:1822746872805248 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822746872806368:1822746872806718 116414:116414 hsa_signal_destroy() = 0 +1822746872807798:1822746872808348 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822746872809298:1822746872809828 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822746872810548:1822746872810968 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746872811358:1822746872811768 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746872812178:1822746872812448 116414:116414 hsa_signal_store_screlease(, 1) = void +1822746872812888:1822746872814058 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 +1822746872814478:1822746875155543 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746875777847:1822746875778427 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822746875780377:1822746875780947 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746882238328:1822746882239608 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746882255148:1822746882255688 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822746882258498:1822746882259038 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822746882261138:1822746882262048 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746882262448:1822746882262948 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746882263638:1822746882264438 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746882871302:1822746882871852 116414:116414 hsa_signal_store_screlease(, 1) = void +1822746882873162:1822746882876242 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 +1822746882876722:1822746884299251 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746884299701:1822746884300141 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746884301501:1822746884302031 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822746884303921:1822746884304451 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746884319881:1822746884320421 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822746884324411:1822746884324941 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 +1822746884331941:1822746884332661 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 90 +1822746884333861:1822746884334181 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 90 +1822746884343181:1822746884345901 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 +1822746884346521:1822746884346831 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822746884347951:1822746884348741 116414:116414 hsa_signal_store_relaxed(, 90) = void +1822746884350981:1822746884351521 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822746884355961:1822746884356491 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746884358331:1822746884358871 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 +1822746884360131:1822746884360841 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 +1822746884361241:1822746884361511 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 91 +1822746884361911:1822746884362191 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 90 +1822746884362991:1822746884363261 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822746884363661:1822746884364111 116414:116414 hsa_signal_store_relaxed(, 91) = void +1822746884365661:1822746885631779 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822746885636739:1822746885637369 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822746885639099:1822746885643659 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822746885644139:1822746885644459 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822746885646689:1822746885647739 116414:116414 hsa_signal_destroy() = 0 +1822746885649039:1822746885649509 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822746885649929:1822746885650229 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822746885651169:1822746885651509 116414:116414 hsa_signal_destroy() = 0 +1822746885652599:1822746885653149 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822746885654049:1822746885654589 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822746885655309:1822746885655719 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746885656119:1822746885656529 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746885657169:1822746885657439 116414:116414 hsa_signal_store_screlease(, 1) = void +1822746885657879:1822746885658999 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 +1822746885659429:1822746888043865 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746888671729:1822746888672309 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822746888673919:1822746888674539 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746895108290:1822746895109550 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746895134610:1822746895135150 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822746895138340:1822746895138870 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822746895141530:1822746895142450 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746895142850:1822746895143490 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746895144150:1822746895144950 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746895750584:1822746895751034 116414:116414 hsa_signal_store_screlease(, 1) = void +1822746895752444:1822746895755044 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 +1822746895755574:1822746897177163 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746897177593:1822746897178033 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746897179243:1822746897179783 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822746897181893:1822746897182423 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746897198003:1822746897198553 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822746897201833:1822746897202363 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 +1822746897209073:1822746897209793 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 92 +1822746897210703:1822746897211143 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 92 +1822746897212113:1822746897214673 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 +1822746897215303:1822746897215613 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822746897216673:1822746897217523 116414:116414 hsa_signal_store_relaxed(, 92) = void +1822746897219693:1822746897220223 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822746897224663:1822746897225193 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746897227533:1822746897228063 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 +1822746897229313:1822746897230263 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 +1822746897230653:1822746897230933 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 93 +1822746897231323:1822746897231603 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 92 +1822746897232403:1822746897232683 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822746897233073:1822746897233523 116414:116414 hsa_signal_store_relaxed(, 93) = void +1822746897235083:1822746898515301 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822746898519641:1822746898520161 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822746898525071:1822746898529271 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822746898529691:1822746898530001 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822746898532421:1822746898533481 116414:116414 hsa_signal_destroy() = 0 +1822746898534651:1822746898535051 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822746898535531:1822746898535831 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822746898536891:1822746898537231 116414:116414 hsa_signal_destroy() = 0 +1822746898538421:1822746898538971 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822746898540331:1822746898540861 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822746898541641:1822746898542061 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746898542461:1822746898542871 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746898543431:1822746898543701 116414:116414 hsa_signal_store_screlease(, 1) = void +1822746898544141:1822746898545221 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 +1822746898545641:1822746900927097 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746901547101:1822746901547691 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822746901549681:1822746901550261 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746907993861:1822746907995191 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746908018061:1822746908018611 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822746908021082:1822746908021622 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822746908023722:1822746908024642 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746908025032:1822746908025672 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746908026332:1822746908027792 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746908648446:1822746908648866 116414:116414 hsa_signal_store_screlease(, 1) = void +1822746908650156:1822746908653166 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 +1822746908653726:1822746910078175 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746910078575:1822746910079005 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746910080375:1822746910080905 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822746910082705:1822746910083385 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746910099185:1822746910099725 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822746910103995:1822746910104535 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 +1822746910120395:1822746910121155 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 94 +1822746910122145:1822746910122585 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 94 +1822746910123565:1822746910126375 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 +1822746910127035:1822746910127345 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822746910128325:1822746910129045 116414:116414 hsa_signal_store_relaxed(, 94) = void +1822746910131535:1822746910132065 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822746910136265:1822746910136805 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746910139015:1822746910139555 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 +1822746910140635:1822746910141255 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 +1822746910141645:1822746910141925 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 95 +1822746910142315:1822746910142595 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 94 +1822746910143195:1822746910143475 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822746910143865:1822746910144315 116414:116414 hsa_signal_store_relaxed(, 95) = void +1822746910146125:1822746911420973 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822746911424843:1822746911425413 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822746911427033:1822746911431333 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822746911431753:1822746911432063 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822746911434633:1822746911435533 116414:116414 hsa_signal_destroy() = 0 +1822746911436773:1822746911437213 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822746911437693:1822746911437993 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822746911438873:1822746911439213 116414:116414 hsa_signal_destroy() = 0 +1822746911440263:1822746911440813 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822746911441713:1822746911442243 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822746911443094:1822746911443434 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746911443824:1822746911444244 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746911444654:1822746911444924 116414:116414 hsa_signal_store_screlease(, 1) = void +1822746911445374:1822746911446474 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 +1822746911446904:1822746913785979 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746914414483:1822746914415063 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822746914416733:1822746914417273 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746920859804:1822746920861184 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746920876184:1822746920876724 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822746920879834:1822746920880364 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822746920882294:1822746920883214 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746920883604:1822746920884014 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746920884874:1822746920885884 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746921472088:1822746921472608 116414:116414 hsa_signal_store_screlease(, 1) = void +1822746921473758:1822746921476508 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 +1822746921477048:1822746922902037 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746922902437:1822746922902747 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746922903917:1822746922904447 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822746922906457:1822746922906987 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746922922597:1822746922923147 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822746922926337:1822746922926877 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 +1822746922933307:1822746922934037 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 96 +1822746922934787:1822746922935657 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 96 +1822746922936707:1822746922939297 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 +1822746922939917:1822746922940227 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822746922941317:1822746922942137 116414:116414 hsa_signal_store_relaxed(, 96) = void +1822746922944607:1822746922945177 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822746922949097:1822746922949637 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746922951997:1822746922952537 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 +1822746922953747:1822746922954457 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 +1822746922954917:1822746922955197 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 97 +1822746922955587:1822746922955877 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 96 +1822746922956477:1822746922956757 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822746922957147:1822746922957597 116414:116414 hsa_signal_store_relaxed(, 97) = void +1822746922967767:1822746924234385 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822746924238745:1822746924239375 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822746924240935:1822746924245485 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822746924245895:1822746924246215 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822746924248375:1822746924249495 116414:116414 hsa_signal_destroy() = 0 +1822746924250585:1822746924251045 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822746924251515:1822746924251825 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822746924252885:1822746924253235 116414:116414 hsa_signal_destroy() = 0 +1822746924254355:1822746924254905 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822746924255695:1822746924256225 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822746924257035:1822746924257375 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746924257785:1822746924258195 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746924258605:1822746924258875 116414:116414 hsa_signal_store_screlease(, 1) = void +1822746924259325:1822746924260325 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 +1822746924260745:1822746926621140 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746927241324:1822746927241904 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822746927243574:1822746927244154 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746933708165:1822746933709725 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746933724805:1822746933725345 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822746933728595:1822746933729126 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822746933731296:1822746933732196 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746933732586:1822746933732996 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746933733646:1822746933735166 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746934339539:1822746934340079 116414:116414 hsa_signal_store_screlease(, 1) = void +1822746934341449:1822746934344459 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 +1822746934345009:1822746935771158 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746935771558:1822746935771988 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746935773068:1822746935773598 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822746935785688:1822746935786228 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746935801548:1822746935802088 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822746935805628:1822746935806168 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 +1822746935813578:1822746935814378 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 98 +1822746935815298:1822746935815748 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 98 +1822746935816878:1822746935819669 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 +1822746935820319:1822746935820629 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822746935821659:1822746935822489 116414:116414 hsa_signal_store_relaxed(, 98) = void +1822746935824839:1822746935825379 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822746935829349:1822746935829889 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746935831679:1822746935832219 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 +1822746935833379:1822746935834349 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 +1822746935834739:1822746935835019 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 99 +1822746935835409:1822746935835689 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 98 +1822746935836289:1822746935836569 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822746935836959:1822746935837409 116414:116414 hsa_signal_store_relaxed(, 99) = void +1822746935839079:1822746937100677 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822746937105627:1822746937106237 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822746937107767:1822746937112067 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822746937112487:1822746937112797 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822746937115007:1822746937116157 116414:116414 hsa_signal_destroy() = 0 +1822746937117317:1822746937117707 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822746937118127:1822746937118427 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822746937119357:1822746937119707 116414:116414 hsa_signal_destroy() = 0 +1822746937120767:1822746937121317 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822746937122207:1822746937122737 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822746937123547:1822746937123887 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746937124287:1822746937124697 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746937127607:1822746937127887 116414:116414 hsa_signal_store_screlease(, 1) = void +1822746937128367:1822746937129447 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 +1822746937129867:1822746939469682 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746940117496:1822746940118096 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822746940119716:1822746940120246 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746946565318:1822746946566488 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746946581488:1822746946582028 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822746946584628:1822746946585168 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822746946587488:1822746946588608 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746946588998:1822746946589408 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746946590228:1822746946591218 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746947199172:1822746947199532 116414:116414 hsa_signal_store_screlease(, 1) = void +1822746947200972:1822746947203692 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 +1822746947204232:1822746948627031 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746948627521:1822746948627951 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746948629031:1822746948629561 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822746948631701:1822746948632231 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746948647021:1822746948647561 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822746948651391:1822746948651921 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 +1822746948658571:1822746948659451 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 100 +1822746948660681:1822746948660971 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 100 +1822746948661941:1822746948664551 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 +1822746948665201:1822746948665511 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822746948666871:1822746948667571 116414:116414 hsa_signal_store_relaxed(, 100) = void +1822746948669801:1822746948670351 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822746948674521:1822746948675051 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746948677331:1822746948677861 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 +1822746948678971:1822746948679871 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 +1822746948680261:1822746948680541 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 101 +1822746948690031:1822746948690321 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 100 +1822746948690951:1822746948691221 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822746948691611:1822746948692061 116414:116414 hsa_signal_store_relaxed(, 101) = void +1822746948693581:1822746949940239 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822746949945049:1822746949945569 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822746949947379:1822746949951419 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822746949951849:1822746949952159 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822746949954269:1822746949955269 116414:116414 hsa_signal_destroy() = 0 +1822746949956409:1822746949956849 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822746949957319:1822746949957619 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822746949958519:1822746949958859 116414:116414 hsa_signal_destroy() = 0 +1822746949959929:1822746949960469 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822746949961389:1822746949961919 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822746949963059:1822746949963399 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746949963819:1822746949964229 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746949964779:1822746949965059 116414:116414 hsa_signal_store_screlease(, 1) = void +1822746949965499:1822746949966679 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 +1822746949967099:1822746952299564 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746952922638:1822746952923228 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822746952924868:1822746952925408 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746959363779:1822746959365019 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746959380169:1822746959380709 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822746959383809:1822746959384349 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822746959386749:1822746959387819 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746959388229:1822746959388639 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746959389289:1822746959390169 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746959994133:1822746959994563 116414:116414 hsa_signal_store_screlease(, 1) = void +1822746959995993:1822746959999013 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 +1822746960017983:1822746961422332 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746961422752:1822746961423182 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746961424362:1822746961424892 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822746961427242:1822746961427842 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746961445652:1822746961446182 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822746961449662:1822746961450192 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 +1822746961457052:1822746961457792 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 102 +1822746961458722:1822746961459172 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 102 +1822746961460162:1822746961463092 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 +1822746961463822:1822746961464132 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822746961465182:1822746961465982 116414:116414 hsa_signal_store_relaxed(, 102) = void +1822746961468112:1822746961468652 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822746961472902:1822746961473432 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746961475482:1822746961476022 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 +1822746961477332:1822746961478182 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 +1822746961478572:1822746961478852 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 103 +1822746961479242:1822746961479522 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 102 +1822746961480342:1822746961480612 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822746961481022:1822746961481472 116414:116414 hsa_signal_store_relaxed(, 103) = void +1822746961483072:1822746962756050 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822746962760680:1822746962761250 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822746962762820:1822746962767480 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822746962767890:1822746962768210 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822746962770470:1822746962771880 116414:116414 hsa_signal_destroy() = 0 +1822746962773120:1822746962773580 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822746962774010:1822746962774310 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822746962775290:1822746962775630 116414:116414 hsa_signal_destroy() = 0 +1822746962776620:1822746962777180 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822746962778090:1822746962778620 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822746962782030:1822746962782390 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746962782790:1822746962783200 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746962783610:1822746962783880 116414:116414 hsa_signal_store_screlease(, 1) = void +1822746962784330:1822746962785520 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 +1822746962785950:1822746965189926 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746965811010:1822746965811590 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822746965813360:1822746965813900 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746972276661:1822746972278131 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746972292691:1822746972293231 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822746972296251:1822746972296781 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822746972299201:1822746972300341 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746972300811:1822746972301221 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746972301791:1822746972302691 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746972909935:1822746972910445 116414:116414 hsa_signal_store_screlease(, 1) = void +1822746972911875:1822746972914865 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 +1822746972915425:1822746974338154 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746974338554:1822746974338984 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746974339924:1822746974340454 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822746974342314:1822746974342844 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746974359074:1822746974359624 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822746974362965:1822746974363495 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 +1822746974370145:1822746974370875 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 104 +1822746974371935:1822746974372385 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 104 +1822746974373395:1822746974375995 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 +1822746974376685:1822746974376995 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822746974378015:1822746974378825 116414:116414 hsa_signal_store_relaxed(, 104) = void +1822746974381035:1822746974381575 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822746974386045:1822746974386615 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746974396275:1822746974396815 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 +1822746974398065:1822746974398785 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 +1822746974399175:1822746974399455 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 105 +1822746974399855:1822746974400125 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 104 +1822746974400805:1822746974401085 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822746974401485:1822746974401935 116414:116414 hsa_signal_store_relaxed(, 105) = void +1822746974403715:1822746975678263 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822746975683233:1822746975683803 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822746975685323:1822746975689443 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822746975689853:1822746975690163 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822746975692393:1822746975693443 116414:116414 hsa_signal_destroy() = 0 +1822746975694723:1822746975695123 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822746975695593:1822746975695893 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822746975697003:1822746975697343 116414:116414 hsa_signal_destroy() = 0 +1822746975698433:1822746975698983 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822746975699873:1822746975700413 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822746975701163:1822746975701573 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746975701973:1822746975702383 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746975702793:1822746975703063 116414:116414 hsa_signal_store_screlease(, 1) = void +1822746975703503:1822746975704673 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 +1822746975705093:1822746978072968 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746978696782:1822746978697362 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822746978698872:1822746978699492 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746985152363:1822746985154233 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746985169943:1822746985170483 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822746985173383:1822746985173913 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822746985176063:1822746985176973 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746985177373:1822746985177773 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746985178583:1822746985179533 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746985797997:1822746985798547 116414:116414 hsa_signal_store_screlease(, 1) = void +1822746985799757:1822746985802657 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 +1822746985803187:1822746987227196 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746987227596:1822746987228046 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746987228906:1822746987229446 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822746987231546:1822746987232076 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746987248916:1822746987249466 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822746987252917:1822746987253457 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 +1822746987261187:1822746987261927 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 106 +1822746987262887:1822746987263207 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 106 +1822746987264177:1822746987266937 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 +1822746987267567:1822746987267877 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822746987268837:1822746987269737 116414:116414 hsa_signal_store_relaxed(, 106) = void +1822746987272127:1822746987272667 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822746987276477:1822746987277027 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746987279987:1822746987280527 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 +1822746987281617:1822746987282247 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 +1822746987282637:1822746987282917 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 107 +1822746987283307:1822746987283597 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 106 +1822746987284197:1822746987284467 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822746987284877:1822746987285327 116414:116414 hsa_signal_store_relaxed(, 107) = void +1822746987287147:1822746988556345 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822746988561295:1822746988561865 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822746988563435:1822746988567655 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822746988568135:1822746988568445 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822746988570595:1822746988571655 116414:116414 hsa_signal_destroy() = 0 +1822746988572845:1822746988573285 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822746988573765:1822746988574065 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822746988577395:1822746988577755 116414:116414 hsa_signal_destroy() = 0 +1822746988578735:1822746988579285 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822746988580215:1822746988580755 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822746988581715:1822746988582065 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746988582475:1822746988582885 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746988583365:1822746988583645 116414:116414 hsa_signal_store_screlease(, 1) = void +1822746988584105:1822746988585295 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 +1822746988585725:1822746990921010 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746991543623:1822746991544203 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822746991545723:1822746991546303 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746997995645:1822746997997115 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822746998013275:1822746998013815 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822746998016225:1822746998016755 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822746998018795:1822746998019715 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746998020115:1822746998020655 116414:116414 hsa_signal_store_screlease(, 0) = void +1822746998021185:1822746998022085 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822746998609429:1822746998609939 116414:116414 hsa_signal_store_screlease(, 1) = void +1822746998611359:1822746998613949 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 +1822746998614499:1822747000036518 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747000036958:1822747000037388 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747000038508:1822747000039038 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822747000040908:1822747000041438 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747000055908:1822747000056438 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822747000060248:1822747000060778 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 +1822747000067508:1822747000068228 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 108 +1822747000069018:1822747000069648 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 108 +1822747000070608:1822747000073638 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 +1822747000074268:1822747000074568 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822747000075838:1822747000076668 116414:116414 hsa_signal_store_relaxed(, 108) = void +1822747000087568:1822747000088108 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822747000092158:1822747000092688 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747000094938:1822747000095468 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 +1822747000097118:1822747000097768 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 +1822747000098158:1822747000098438 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 109 +1822747000098828:1822747000099118 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 108 +1822747000099718:1822747000099988 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822747000100378:1822747000100838 116414:116414 hsa_signal_store_relaxed(, 109) = void +1822747000102408:1822747001354776 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822747001359306:1822747001360176 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822747001361766:1822747001366106 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822747001366526:1822747001366836 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822747001369086:1822747001370076 116414:116414 hsa_signal_destroy() = 0 +1822747001371166:1822747001371626 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822747001372096:1822747001372406 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822747001373396:1822747001373726 116414:116414 hsa_signal_destroy() = 0 +1822747001374826:1822747001375376 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822747001376136:1822747001376676 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822747001377486:1822747001377836 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747001378246:1822747001378656 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747001379066:1822747001379346 116414:116414 hsa_signal_store_screlease(, 1) = void +1822747001379796:1822747001380916 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 +1822747001381336:1822747003745491 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747004379125:1822747004379715 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822747004381505:1822747004382085 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747010832127:1822747010833487 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747010848317:1822747010848867 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822747010851947:1822747010852477 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822747010868127:1822747010869027 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747010869437:1822747010870067 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747010870737:1822747010872107 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747011480291:1822747011480741 116414:116414 hsa_signal_store_screlease(, 1) = void +1822747011481981:1822747011484441 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 +1822747011484921:1822747012910620 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747012911110:1822747012911580 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747012912740:1822747012913280 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822747012915160:1822747012915700 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747012931010:1822747012931550 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822747012935030:1822747012935570 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 +1822747012943030:1822747012943770 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 110 +1822747012944670:1822747012944980 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 110 +1822747012945960:1822747012948620 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 +1822747012949230:1822747012949530 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822747012950560:1822747012951410 116414:116414 hsa_signal_store_relaxed(, 110) = void +1822747012953480:1822747012954020 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822747012958110:1822747012958670 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747012960700:1822747012961240 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 +1822747012962470:1822747012963110 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 +1822747012963510:1822747012963790 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 111 +1822747012964180:1822747012964460 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 110 +1822747012965290:1822747012965560 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822747012965960:1822747012966410 116414:116414 hsa_signal_store_relaxed(, 111) = void +1822747012968070:1822747014228138 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822747014233458:1822747014234068 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822747014235908:1822747014240168 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822747014240578:1822747014240898 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822747014246008:1822747014247128 116414:116414 hsa_signal_destroy() = 0 +1822747014248318:1822747014248698 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822747014249178:1822747014249488 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822747014250658:1822747014250998 116414:116414 hsa_signal_destroy() = 0 +1822747014252098:1822747014252648 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822747014253548:1822747014254088 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822747014254778:1822747014255188 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747014255598:1822747014256008 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747014256718:1822747014256988 116414:116414 hsa_signal_store_screlease(, 1) = void +1822747014257428:1822747014258498 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 +1822747014258918:1822747016600083 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747017222227:1822747017222817 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822747017224697:1822747017225317 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747023663198:1822747023664798 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747023679758:1822747023680298 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822747023683568:1822747023684098 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822747023686258:1822747023687158 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747023687548:1822747023687958 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747023688598:1822747023689608 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747024302822:1822747024303292 116414:116414 hsa_signal_store_screlease(, 1) = void +1822747024304512:1822747024306982 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 +1822747024307512:1822747025730101 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747025730501:1822747025730931 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747025732031:1822747025732571 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822747025734781:1822747025735311 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747025749872:1822747025750412 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822747025754262:1822747025754802 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 +1822747025761722:1822747025762482 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 112 +1822747025763232:1822747025763852 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 112 +1822747025772682:1822747025775492 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 +1822747025776162:1822747025776472 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822747025777472:1822747025778322 116414:116414 hsa_signal_store_relaxed(, 112) = void +1822747025780362:1822747025780892 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822747025784962:1822747025785502 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747025787692:1822747025788232 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 +1822747025789562:1822747025790162 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 +1822747025790562:1822747025790842 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 113 +1822747025791232:1822747025791512 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 112 +1822747025792322:1822747025792602 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822747025793002:1822747025793462 116414:116414 hsa_signal_store_relaxed(, 113) = void +1822747025795352:1822747027047410 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822747027052100:1822747027052680 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822747027054540:1822747027058870 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822747027059300:1822747027059610 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822747027062220:1822747027063450 116414:116414 hsa_signal_destroy() = 0 +1822747027064560:1822747027065000 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822747027065470:1822747027065770 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822747027066890:1822747027067230 116414:116414 hsa_signal_destroy() = 0 +1822747027068310:1822747027068850 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822747027069840:1822747027070370 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822747027071110:1822747027071520 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747027071910:1822747027072330 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747027072740:1822747027073010 116414:116414 hsa_signal_store_screlease(, 1) = void +1822747027073450:1822747027074630 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 +1822747027075050:1822747029417945 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747030045319:1822747030045899 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822747030047559:1822747030048089 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747036502340:1822747036503610 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747036518860:1822747036519400 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822747036522260:1822747036522790 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822747036525060:1822747036526240 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747036526640:1822747036526910 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747036527570:1822747036528820 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747037138354:1822747037138794 116414:116414 hsa_signal_store_screlease(, 1) = void +1822747037140294:1822747037142764 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 +1822747037143304:1822747038567123 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747038567523:1822747038567823 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747038568973:1822747038569503 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822747038571373:1822747038571973 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747038586983:1822747038587523 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822747038590993:1822747038591523 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 +1822747038598303:1822747038599023 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 114 +1822747038599933:1822747038600373 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 114 +1822747038601353:1822747038604133 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 +1822747038604793:1822747038605093 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822747038606113:1822747038606933 116414:116414 hsa_signal_store_relaxed(, 114) = void +1822747038609163:1822747038609693 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822747038613543:1822747038614083 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747038616713:1822747038617273 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 +1822747038618273:1822747038618963 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 +1822747038619353:1822747038619633 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 115 +1822747038620023:1822747038620303 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 114 +1822747038621183:1822747038621453 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822747038621843:1822747038622293 116414:116414 hsa_signal_store_relaxed(, 115) = void +1822747038623943:1822747039876201 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822747039881682:1822747039882252 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822747039892852:1822747039897112 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822747039897602:1822747039897912 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822747039900502:1822747039901552 116414:116414 hsa_signal_destroy() = 0 +1822747039902672:1822747039902992 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822747039903472:1822747039903772 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822747039904742:1822747039905122 116414:116414 hsa_signal_destroy() = 0 +1822747039906052:1822747039906612 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822747039907572:1822747039908102 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822747039908812:1822747039909152 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747039909542:1822747039909962 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747039910442:1822747039910712 116414:116414 hsa_signal_store_screlease(, 1) = void +1822747039911162:1822747039912272 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 +1822747039912692:1822747042310027 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747042932861:1822747042933451 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822747042935701:1822747042936321 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747049388052:1822747049389602 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747049405452:1822747049405992 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822747049409042:1822747049409582 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822747049411762:1822747049412682 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747049413072:1822747049413432 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747049414002:1822747049415042 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747050020126:1822747050020586 116414:116414 hsa_signal_store_screlease(, 1) = void +1822747050022046:1822747050025176 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 +1822747050025736:1822747051447575 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747051447975:1822747051448405 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747051449225:1822747051449755 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822747051452225:1822747051452755 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747051467625:1822747051468165 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822747051480035:1822747051480565 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 +1822747051487525:1822747051488245 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 116 +1822747051489165:1822747051489605 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 116 +1822747051490895:1822747051493375 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 +1822747051494015:1822747051494325 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822747051495365:1822747051496215 116414:116414 hsa_signal_store_relaxed(, 116) = void +1822747051498835:1822747051499365 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822747051504715:1822747051505245 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747051507535:1822747051508075 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 +1822747051509115:1822747051509955 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 +1822747051510355:1822747051510635 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 117 +1822747051511025:1822747051511305 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 116 +1822747051512085:1822747051512365 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822747051512755:1822747051513205 116414:116414 hsa_signal_store_relaxed(, 117) = void +1822747051514885:1822747052784144 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822747052789064:1822747052789594 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822747052791074:1822747052795334 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822747052795744:1822747052796054 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822747052798504:1822747052799624 116414:116414 hsa_signal_destroy() = 0 +1822747052800874:1822747052801264 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822747052801684:1822747052801994 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822747052802914:1822747052803254 116414:116414 hsa_signal_destroy() = 0 +1822747052804384:1822747052804934 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822747052805844:1822747052806384 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822747052807104:1822747052807434 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747052807834:1822747052808254 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747052808664:1822747052808934 116414:116414 hsa_signal_store_screlease(, 1) = void +1822747052809384:1822747052810524 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 +1822747052810944:1822747055134709 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747055757653:1822747055758263 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822747055760213:1822747055760833 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747062231124:1822747062232654 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747062247034:1822747062247574 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822747062250934:1822747062251464 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822747062253534:1822747062254724 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747062255114:1822747062255524 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747062256084:1822747062256994 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747062842497:1822747062842857 116414:116414 hsa_signal_store_screlease(, 1) = void +1822747062843987:1822747062846467 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 +1822747062847037:1822747064271997 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747064272437:1822747064272757 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747064274107:1822747064274637 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822747064277217:1822747064277747 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747064293047:1822747064293577 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822747064297397:1822747064297937 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 +1822747064304827:1822747064305457 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 118 +1822747064306217:1822747064306827 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 118 +1822747064307787:1822747064310407 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 +1822747064311047:1822747064311357 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822747064312447:1822747064313257 116414:116414 hsa_signal_store_relaxed(, 118) = void +1822747064315537:1822747064316067 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822747064320007:1822747064320547 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747064322577:1822747064323117 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 +1822747064324157:1822747064324747 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 +1822747064325147:1822747064325417 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 119 +1822747064325807:1822747064326097 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 118 +1822747064326687:1822747064326967 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822747064336217:1822747064336677 116414:116414 hsa_signal_store_relaxed(, 119) = void +1822747064338177:1822747065595965 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822747065600725:1822747065601245 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822747065602905:1822747065607185 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822747065607665:1822747065607975 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822747065610205:1822747065611135 116414:116414 hsa_signal_destroy() = 0 +1822747065612205:1822747065612645 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822747065613115:1822747065613415 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822747065614475:1822747065614815 116414:116414 hsa_signal_destroy() = 0 +1822747065615905:1822747065616455 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822747065617225:1822747065617755 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822747065618515:1822747065618935 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747065619335:1822747065619755 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747065620315:1822747065620585 116414:116414 hsa_signal_store_screlease(, 1) = void +1822747065621035:1822747065622235 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 +1822747065622655:1822747067947050 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747068572314:1822747068572914 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822747068575194:1822747068575724 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747075131106:1822747075132396 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747075146486:1822747075147026 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822747075149456:1822747075149996 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822747075152256:1822747075153376 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747075153846:1822747075154256 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747075154806:1822747075156126 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747075742730:1822747075743090 116414:116414 hsa_signal_store_screlease(, 1) = void +1822747075744450:1822747075747010 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 +1822747075747520:1822747077171229 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747077171809:1822747077172119 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747077173449:1822747077173979 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822747077186079:1822747077186619 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747077201729:1822747077202269 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822747077205809:1822747077206349 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 +1822747077213259:1822747077213979 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 120 +1822747077214739:1822747077215349 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 120 +1822747077216299:1822747077218709 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 +1822747077219309:1822747077219619 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822747077220659:1822747077221859 116414:116414 hsa_signal_store_relaxed(, 120) = void +1822747077224029:1822747077224569 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822747077228399:1822747077228939 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747077231219:1822747077231749 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 +1822747077232949:1822747077233639 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 +1822747077234029:1822747077234309 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 121 +1822747077234699:1822747077234979 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 120 +1822747077235579:1822747077235849 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822747077236249:1822747077236699 116414:116414 hsa_signal_store_relaxed(, 121) = void +1822747077238139:1822747078505777 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822747078510517:1822747078511087 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822747078512497:1822747078516467 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822747078516887:1822747078517197 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822747078519197:1822747078520377 116414:116414 hsa_signal_destroy() = 0 +1822747078521477:1822747078521797 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822747078522267:1822747078522567 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822747078523517:1822747078523857 116414:116414 hsa_signal_destroy() = 0 +1822747078524957:1822747078525497 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822747078526257:1822747078526787 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822747078527627:1822747078527967 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747078528377:1822747078528787 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747078531577:1822747078531857 116414:116414 hsa_signal_store_screlease(, 1) = void +1822747078532317:1822747078533387 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 +1822747078533807:1822747080866312 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747081489966:1822747081490556 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822747081492896:1822747081493466 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747087693976:1822747087695126 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747087709606:1822747087710146 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822747087712836:1822747087713366 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822747087715316:1822747087716646 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747087717046:1822747087717446 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747087718036:1822747087719006 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747088336630:1822747088337270 116414:116414 hsa_signal_store_screlease(, 1) = void +1822747088338880:1822747088342060 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 +1822747088342650:1822747089766259 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747089766659:1822747089767309 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747089768269:1822747089768799 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822747089770829:1822747089771359 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747089787509:1822747089788049 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822747089791589:1822747089792119 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 +1822747089799039:1822747089799749 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 122 +1822747089800649:1822747089801089 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 122 +1822747089801939:1822747089804469 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 +1822747089805139:1822747089805449 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822747089806629:1822747089807479 116414:116414 hsa_signal_store_relaxed(, 122) = void +1822747089809909:1822747089810439 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822747089815029:1822747089815569 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747089818039:1822747089818579 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 +1822747089819839:1822747089820459 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 +1822747089829029:1822747089829309 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 123 +1822747089829719:1822747089829989 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 122 +1822747089830769:1822747089831049 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822747089831439:1822747089831889 116414:116414 hsa_signal_store_relaxed(, 123) = void +1822747089833409:1822747091087987 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822747091092947:1822747091093467 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822747091095027:1822747091099257 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822747091099677:1822747091099987 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822747091102407:1822747091103477 116414:116414 hsa_signal_destroy() = 0 +1822747091104647:1822747091105037 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822747091105457:1822747091105757 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822747091106807:1822747091107157 116414:116414 hsa_signal_destroy() = 0 +1822747091108117:1822747091108667 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822747091109557:1822747091110097 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822747091110907:1822747091111307 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747091111707:1822747091112127 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747091112677:1822747091112947 116414:116414 hsa_signal_store_screlease(, 1) = void +1822747091113397:1822747091114547 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 +1822747091114967:1822747093471153 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747094092797:1822747094093377 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822747094095137:1822747094095717 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747100520497:1822747100521827 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747100537657:1822747100538187 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822747100540947:1822747100541477 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822747100543497:1822747100544417 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747100544807:1822747100545217 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747100545877:1822747100546967 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747101169891:1822747101170431 116414:116414 hsa_signal_store_screlease(, 1) = void +1822747101171771:1822747101174731 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 +1822747101184901:1822747102597750 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747102598180:1822747102598640 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747102599680:1822747102600220 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822747102602110:1822747102602640 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747102618541:1822747102619081 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822747102622481:1822747102623021 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 +1822747102629441:1822747102630171 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 124 +1822747102630921:1822747102631521 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 124 +1822747102632501:1822747102635171 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 +1822747102635831:1822747102636141 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822747102637201:1822747102638031 116414:116414 hsa_signal_store_relaxed(, 124) = void +1822747102640301:1822747102640841 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822747102644681:1822747102645221 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747102647301:1822747102647841 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 +1822747102649041:1822747102649651 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 +1822747102650041:1822747102650321 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 125 +1822747102650711:1822747102650991 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 124 +1822747102652031:1822747102652311 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822747102652701:1822747102653151 116414:116414 hsa_signal_store_relaxed(, 125) = void +1822747102655101:1822747103911509 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822747103916359:1822747103917229 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822747103918719:1822747103923059 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822747103923479:1822747103923789 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822747103926169:1822747103927279 116414:116414 hsa_signal_destroy() = 0 +1822747103928469:1822747103928909 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822747103929389:1822747103929689 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822747103930659:1822747103930999 116414:116414 hsa_signal_destroy() = 0 +1822747103932159:1822747103932709 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822747103935809:1822747103936349 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822747103937229:1822747103937639 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747103938039:1822747103938459 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747103939009:1822747103939279 116414:116414 hsa_signal_store_screlease(, 1) = void +1822747103939729:1822747103941029 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 +1822747103941449:1822747106306964 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747106928668:1822747106929248 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822747106931288:1822747106931818 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747113390879:1822747113392469 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747113407569:1822747113408119 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822747113411029:1822747113411569 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822747113414219:1822747113415139 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747113415539:1822747113415889 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747113416479:1822747113417259 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747114023683:1822747114024523 116414:116414 hsa_signal_store_screlease(, 1) = void +1822747114025753:1822747114028553 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 +1822747114029043:1822747115453532 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747115453932:1822747115454362 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747115455302:1822747115455832 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822747115458262:1822747115458802 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747115474172:1822747115474712 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822747115478052:1822747115478592 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 +1822747115485802:1822747115486552 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 126 +1822747115487452:1822747115487762 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 126 +1822747115488692:1822747115491372 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 +1822747115492012:1822747115492322 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822747115493383:1822747115494183 116414:116414 hsa_signal_store_relaxed(, 126) = void +1822747115496583:1822747115497143 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822747115501323:1822747115501853 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747115516563:1822747115517103 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 +1822747115518513:1822747115519243 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 +1822747115519633:1822747115519913 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 127 +1822747115520313:1822747115520583 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 126 +1822747115521243:1822747115521523 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822747115521923:1822747115522373 116414:116414 hsa_signal_store_relaxed(, 127) = void +1822747115523903:1822747116776801 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822747116781301:1822747116781941 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822747116783521:1822747116787711 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822747116788121:1822747116788451 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822747116790911:1822747116791961 116414:116414 hsa_signal_destroy() = 0 +1822747116793051:1822747116793511 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822747116793981:1822747116794281 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822747116795381:1822747116795721 116414:116414 hsa_signal_destroy() = 0 +1822747116796811:1822747116797361 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822747116798261:1822747116798791 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822747116799811:1822747116800141 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747116800541:1822747116800951 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747116801431:1822747116801711 116414:116414 hsa_signal_store_screlease(, 1) = void +1822747116802151:1822747116803231 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 +1822747116803661:1822747119138136 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747119756450:1822747119757030 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822747119758950:1822747119759520 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747126221861:1822747126223611 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747126238511:1822747126239051 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822747126242201:1822747126242731 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822747126245001:1822747126245971 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747126246431:1822747126246711 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747126257351:1822747126258701 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747126867345:1822747126867805 116414:116414 hsa_signal_store_screlease(, 1) = void +1822747126869205:1822747126871795 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 +1822747126872335:1822747128295954 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747128296424:1822747128296744 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747128298114:1822747128298654 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822747128300714:1822747128301244 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747128318804:1822747128319344 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822747128323174:1822747128323714 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 +1822747128330324:1822747128331214 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 128 +1822747128332424:1822747128332724 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 128 +1822747128333814:1822747128336474 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 +1822747128337104:1822747128337414 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822747128338684:1822747128339514 116414:116414 hsa_signal_store_relaxed(, 128) = void +1822747128342054:1822747128342614 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822747128347104:1822747128347634 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747128349854:1822747128350394 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 +1822747128351644:1822747128352324 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 +1822747128352714:1822747128352994 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 129 +1822747128353394:1822747128353664 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 128 +1822747128354294:1822747128354574 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822747128354964:1822747128355424 116414:116414 hsa_signal_store_relaxed(, 129) = void +1822747128357154:1822747129632403 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822747129637083:1822747129637603 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822747129639123:1822747129643353 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822747129643833:1822747129644143 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822747129646303:1822747129647443 116414:116414 hsa_signal_destroy() = 0 +1822747129648953:1822747129649353 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822747129649773:1822747129650073 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822747129653353:1822747129653703 116414:116414 hsa_signal_destroy() = 0 +1822747129654813:1822747129655363 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822747129656283:1822747129656823 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822747129657593:1822747129658013 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747129658413:1822747129658833 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747129659303:1822747129659583 116414:116414 hsa_signal_store_screlease(, 1) = void +1822747129660033:1822747129661133 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 +1822747129661563:1822747131998808 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747132639252:1822747132639832 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822747132641442:1822747132641982 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747139089553:1822747139091223 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747139106603:1822747139107143 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822747139110433:1822747139110973 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822747139113253:1822747139114363 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747139114753:1822747139115393 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747139116123:1822747139116993 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747139725597:1822747139726057 116414:116414 hsa_signal_store_screlease(, 1) = void +1822747139727577:1822747139730567 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 +1822747139731067:1822747141155726 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747141156266:1822747141156736 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747141157606:1822747141158146 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822747141159926:1822747141160456 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747141174806:1822747141175346 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822747141179056:1822747141179596 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 +1822747141187216:1822747141188076 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 130 +1822747141188826:1822747141189296 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 130 +1822747141190486:1822747141192756 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 +1822747141193386:1822747141193696 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822747141203106:1822747141203846 116414:116414 hsa_signal_store_relaxed(, 130) = void +1822747141206006:1822747141206546 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822747141210636:1822747141211166 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747141213606:1822747141214146 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 +1822747141215446:1822747141215926 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 +1822747141216316:1822747141216586 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 131 +1822747141216986:1822747141217256 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 130 +1822747141217876:1822747141218146 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822747141218546:1822747141218996 116414:116414 hsa_signal_store_relaxed(, 131) = void +1822747141220506:1822747142475084 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822747142479574:1822747142480154 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822747142481754:1822747142486074 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822747142486554:1822747142486864 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822747142488974:1822747142490484 116414:116414 hsa_signal_destroy() = 0 +1822747142491814:1822747142492264 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822747142492734:1822747142493044 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822747142493984:1822747142494324 116414:116414 hsa_signal_destroy() = 0 +1822747142495304:1822747142495854 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822747142496744:1822747142497284 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822747142498014:1822747142498434 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747142498844:1822747142499254 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747142499734:1822747142500004 116414:116414 hsa_signal_store_screlease(, 1) = void +1822747142500474:1822747142501614 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 +1822747142502034:1822747144833659 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747145458183:1822747145458753 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822747145460333:1822747145460953 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747151563893:1822747151565403 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747151581003:1822747151581543 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822747151584973:1822747151585503 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822747151598283:1822747151599403 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747151599793:1822747151600443 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747151601103:1822747151602223 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747152222447:1822747152223197 116414:116414 hsa_signal_store_screlease(, 1) = void +1822747152224577:1822747152227107 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 +1822747152227587:1822747153649646 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747153650046:1822747153650466 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747153651166:1822747153651696 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822747153654416:1822747153654946 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747153670146:1822747153670686 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822747153674376:1822747153674906 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 +1822747153682766:1822747153683496 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 132 +1822747153684436:1822747153684886 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 132 +1822747153685926:1822747153688936 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 +1822747153689616:1822747153689926 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822747153690906:1822747153691786 116414:116414 hsa_signal_store_relaxed(, 132) = void +1822747153693986:1822747153694526 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822747153698816:1822747153699356 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747153701386:1822747153701926 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 +1822747153703046:1822747153703686 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 +1822747153704076:1822747153704356 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 133 +1822747153704746:1822747153705026 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 132 +1822747153705626:1822747153705906 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822747153706296:1822747153706756 116414:116414 hsa_signal_store_relaxed(, 133) = void +1822747153708476:1822747154960334 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822747154964944:1822747154965734 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822747154967274:1822747154971714 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822747154972144:1822747154972454 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822747154977944:1822747154979084 116414:116414 hsa_signal_destroy() = 0 +1822747154980124:1822747154980444 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822747154980924:1822747154981224 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822747154982104:1822747154982484 116414:116414 hsa_signal_destroy() = 0 +1822747154983554:1822747154984104 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822747154985044:1822747154985574 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822747154986294:1822747154986864 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747154987274:1822747154987684 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747154988254:1822747154988524 116414:116414 hsa_signal_store_screlease(, 1) = void +1822747154988974:1822747154990134 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 +1822747154990574:1822747157342599 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747157965233:1822747157965823 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822747157968053:1822747157968673 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747164419714:1822747164420954 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747164436544:1822747164437084 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822747164440114:1822747164440644 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822747164442964:1822747164443855 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747164444315:1822747164444995 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747164445635:1822747164446425 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747165051308:1822747165051848 116414:116414 hsa_signal_store_screlease(, 1) = void +1822747165053268:1822747165056038 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 +1822747165056578:1822747166479547 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747166479957:1822747166480387 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747166481647:1822747166482177 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822747166483957:1822747166484487 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747166500317:1822747166500867 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822747166504407:1822747166504947 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 +1822747166511917:1822747166512647 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 134 +1822747166522087:1822747166522397 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 134 +1822747166523527:1822747166525987 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 +1822747166526627:1822747166526937 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822747166527987:1822747166528837 116414:116414 hsa_signal_store_relaxed(, 134) = void +1822747166531517:1822747166532057 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822747166536328:1822747166536858 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747166538688:1822747166539228 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 +1822747166540418:1822747166541168 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 +1822747166541568:1822747166541848 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 135 +1822747166542238:1822747166542518 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 134 +1822747166543328:1822747166543608 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822747166544018:1822747166544468 116414:116414 hsa_signal_store_relaxed(, 135) = void +1822747166545898:1822747167808875 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822747167813335:1822747167813905 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822747167815475:1822747167819846 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822747167820266:1822747167820576 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822747167822906:1822747167824076 116414:116414 hsa_signal_destroy() = 0 +1822747167825486:1822747167825876 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822747167826356:1822747167826656 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822747167827646:1822747167827986 116414:116414 hsa_signal_destroy() = 0 +1822747167829066:1822747167829616 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822747167830526:1822747167831056 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822747167831906:1822747167832316 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747167832706:1822747167833196 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747167833676:1822747167833946 116414:116414 hsa_signal_store_screlease(, 1) = void +1822747167834386:1822747167835546 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 +1822747167835966:1822747170214841 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747170835495:1822747170836085 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822747170838005:1822747170838535 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747177292986:1822747177294116 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747177309586:1822747177310126 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822747177313386:1822747177313916 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822747177316186:1822747177317066 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747177317456:1822747177318106 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747177318776:1822747177319636 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747177926930:1822747177927470 116414:116414 hsa_signal_store_screlease(, 1) = void +1822747177929290:1822747177931750 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 +1822747177932300:1822747179354989 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747179355389:1822747179355819 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747179356979:1822747179357519 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822747179359409:1822747179359939 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747179383059:1822747179383599 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822747179387069:1822747179387609 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 +1822747179394179:1822747179395009 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 136 +1822747179395919:1822747179396529 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 136 +1822747179397499:1822747179400329 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 +1822747179400969:1822747179401269 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822747179402209:1822747179402949 116414:116414 hsa_signal_store_relaxed(, 136) = void +1822747179405519:1822747179406059 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822747179410499:1822747179411039 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747179412929:1822747179413469 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 +1822747179414809:1822747179415709 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 +1822747179416229:1822747179416509 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 137 +1822747179416899:1822747179417179 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 136 +1822747179417899:1822747179418179 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822747179418569:1822747179419019 116414:116414 hsa_signal_store_relaxed(, 137) = void +1822747179420789:1822747180678047 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822747180685447:1822747180686037 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822747180687637:1822747180691857 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822747180692277:1822747180692587 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822747180695307:1822747180696367 116414:116414 hsa_signal_destroy() = 0 +1822747180697617:1822747180698057 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822747180698477:1822747180698787 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822747180699797:1822747180700147 116414:116414 hsa_signal_destroy() = 0 +1822747180701217:1822747180701767 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822747180702677:1822747180703217 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822747180704007:1822747180704347 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747180704737:1822747180705157 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747180705567:1822747180705837 116414:116414 hsa_signal_store_screlease(, 1) = void +1822747180706287:1822747180707417 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 +1822747180707837:1822747183076073 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747183697157:1822747183697737 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822747183699937:1822747183700517 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747190150058:1822747190151358 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747190166648:1822747190167188 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822747190170198:1822747190170738 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822747190172898:1822747190173808 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747190174198:1822747190174598 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747190175248:1822747190176348 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747190782482:1822747190782842 116414:116414 hsa_signal_store_screlease(, 1) = void +1822747190784282:1822747190786942 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 +1822747190787482:1822747192211641 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747192212081:1822747192212521 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747192213791:1822747192214321 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822747192216561:1822747192217151 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747192232721:1822747192233251 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822747192245171:1822747192245701 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 +1822747192252741:1822747192253461 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 138 +1822747192254501:1822747192254811 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 138 +1822747192255821:1822747192258332 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 +1822747192258982:1822747192259282 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822747192260502:1822747192261322 116414:116414 hsa_signal_store_relaxed(, 138) = void +1822747192263452:1822747192263982 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822747192271002:1822747192271532 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747192273482:1822747192274012 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 +1822747192275072:1822747192275902 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 +1822747192276292:1822747192276572 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 139 +1822747192276962:1822747192277252 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 138 +1822747192278022:1822747192278292 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822747192278682:1822747192279142 116414:116414 hsa_signal_store_relaxed(, 139) = void +1822747192280682:1822747193537839 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822747193542510:1822747193543130 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822747193544750:1822747193549160 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822747193549580:1822747193549890 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822747193552240:1822747193553380 116414:116414 hsa_signal_destroy() = 0 +1822747193554510:1822747193554970 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822747193555390:1822747193555690 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822747193556650:1822747193556990 116414:116414 hsa_signal_destroy() = 0 +1822747193558050:1822747193558600 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822747193559500:1822747193560040 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822747193560780:1822747193561120 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747193561510:1822747193561980 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747193562400:1822747193562670 116414:116414 hsa_signal_store_screlease(, 1) = void +1822747193563110:1822747193564550 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 +1822747193567160:1822747195923394 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747196564078:1822747196564688 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822747196566338:1822747196566868 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747203022800:1822747203024170 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747203039570:1822747203040110 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822747203043150:1822747203043690 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822747203046010:1822747203046910 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747203047300:1822747203047950 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747203048600:1822747203049580 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747203656664:1822747203657024 116414:116414 hsa_signal_store_screlease(, 1) = void +1822747203658244:1822747203660804 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 +1822747203661374:1822747205083573 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747205084033:1822747205084473 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747205085563:1822747205086093 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822747205088123:1822747205088653 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747205103763:1822747205104303 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822747205107763:1822747205108293 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 +1822747205115423:1822747205116163 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 140 +1822747205117063:1822747205117513 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 140 +1822747205118503:1822747205121233 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 +1822747205121873:1822747205122183 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822747205123253:1822747205124003 116414:116414 hsa_signal_store_relaxed(, 140) = void +1822747205126423:1822747205126953 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822747205130963:1822747205131503 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747205134563:1822747205135103 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 +1822747205136143:1822747205136864 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 +1822747205137264:1822747205137544 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 141 +1822747205137934:1822747205138214 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 140 +1822747205139064:1822747205139334 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822747205151794:1822747205152254 116414:116414 hsa_signal_store_relaxed(, 141) = void +1822747205153854:1822747206391402 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822747206396562:1822747206397132 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822747206398952:1822747206403352 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822747206403832:1822747206404142 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822747206406422:1822747206407472 116414:116414 hsa_signal_destroy() = 0 +1822747206408652:1822747206409042 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822747206409522:1822747206409822 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822747206410682:1822747206411022 116414:116414 hsa_signal_destroy() = 0 +1822747206412002:1822747206412552 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822747206413462:1822747206414002 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822747206414772:1822747206415192 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747206415592:1822747206416002 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747206416552:1822747206416832 116414:116414 hsa_signal_store_screlease(, 1) = void +1822747206417272:1822747206418372 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 +1822747206418782:1822747208759447 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747209394101:1822747209394761 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822747209396581:1822747209397281 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747215858682:1822747215859742 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747215874122:1822747215874662 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822747215878022:1822747215878552 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822747215880652:1822747215881542 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747215882012:1822747215882422 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747215883072:1822747215884092 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747216496526:1822747216496976 116414:116414 hsa_signal_store_screlease(, 1) = void +1822747216498206:1822747216501056 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 +1822747216501586:1822747217925555 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747217925955:1822747217926385 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747217937135:1822747217937675 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822747217939735:1822747217940265 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747217955455:1822747217955995 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822747217959885:1822747217960415 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 +1822747217967425:1822747217968315 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 142 +1822747217969515:1822747217969825 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 142 +1822747217970775:1822747217973445 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 +1822747217974095:1822747217974405 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822747217975705:1822747217976515 116414:116414 hsa_signal_store_relaxed(, 142) = void +1822747217978865:1822747217979405 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822747217983495:1822747217984025 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747217986495:1822747217987025 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 +1822747217988085:1822747217988705 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 +1822747217989095:1822747217989375 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 143 +1822747217989775:1822747217990045 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 142 +1822747217990925:1822747217991205 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822747217991595:1822747217992055 116414:116414 hsa_signal_store_relaxed(, 143) = void +1822747217993525:1822747219276764 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822747219281414:1822747219282004 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822747219283614:1822747219288174 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822747219288594:1822747219288904 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822747219291554:1822747219292614 116414:116414 hsa_signal_destroy() = 0 +1822747219293834:1822747219294284 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822747219294754:1822747219295054 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822747219296244:1822747219296594 116414:116414 hsa_signal_destroy() = 0 +1822747219297684:1822747219298224 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822747219299134:1822747219299674 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822747219300404:1822747219300734 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747219301134:1822747219301544 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747219304324:1822747219304604 116414:116414 hsa_signal_store_screlease(, 1) = void +1822747219305054:1822747219306114 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 +1822747219306534:1822747221652168 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747222272712:1822747222273282 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822747222275222:1822747222275792 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747228733103:1822747228734824 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747228749614:1822747228750154 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822747228753894:1822747228754424 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822747228756484:1822747228757384 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747228757854:1822747228758204 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747228758984:1822747228760104 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747229370368:1822747229370798 116414:116414 hsa_signal_store_screlease(, 1) = void +1822747229372108:1822747229375238 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 +1822747229375768:1822747230798937 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747230799337:1822747230799767 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747230801177:1822747230801707 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822747230803977:1822747230804507 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747230819817:1822747230820347 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822747230823717:1822747230824247 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 +1822747230830897:1822747230831647 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 144 +1822747230832537:1822747230833007 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 144 +1822747230834077:1822747230836797 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 +1822747230837457:1822747230837757 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822747230838947:1822747230839737 116414:116414 hsa_signal_store_relaxed(, 144) = void +1822747230841907:1822747230842437 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822747230846317:1822747230846857 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747230848777:1822747230849327 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 +1822747230850957:1822747230851647 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 +1822747230860367:1822747230860647 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 145 +1822747230861047:1822747230861317 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 144 +1822747230862007:1822747230862277 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822747230862677:1822747230863117 116414:116414 hsa_signal_store_relaxed(, 145) = void +1822747230864737:1822747232102035 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822747232106995:1822747232107625 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822747232109235:1822747232113425 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822747232113845:1822747232114155 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822747232116335:1822747232117395 116414:116414 hsa_signal_destroy() = 0 +1822747232118425:1822747232118755 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822747232119225:1822747232119535 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822747232120395:1822747232120735 116414:116414 hsa_signal_destroy() = 0 +1822747232121845:1822747232122405 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822747232123305:1822747232123845 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822747232124545:1822747232124875 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747232125275:1822747232125685 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747232126175:1822747232126445 116414:116414 hsa_signal_store_screlease(, 1) = void +1822747232126895:1822747232127975 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 +1822747232128395:1822747234463530 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747235084494:1822747235085084 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822747235086744:1822747235087324 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747241168533:1822747241169903 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747241186333:1822747241186873 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822747241190093:1822747241190623 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822747241193083:1822747241193983 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747241194383:1822747241195283 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747241195933:1822747241196843 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747241805457:1822747241805967 116414:116414 hsa_signal_store_screlease(, 1) = void +1822747241816797:1822747241819377 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 +1822747241819867:1822747243240476 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747243240866:1822747243241306 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747243242896:1822747243243436 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822747243245246:1822747243245776 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747243260386:1822747243260916 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822747243264276:1822747243264806 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 +1822747243271696:1822747243272356 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 146 +1822747243273126:1822747243273606 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 146 +1822747243274586:1822747243277406 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 +1822747243278066:1822747243278366 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822747243279626:1822747243280446 116414:116414 hsa_signal_store_relaxed(, 146) = void +1822747243282646:1822747243283176 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822747243287486:1822747243288016 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747243290136:1822747243290696 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 +1822747243291816:1822747243292536 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 +1822747243292936:1822747243293206 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 147 +1822747243293596:1822747243293876 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 146 +1822747243294496:1822747243294766 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822747243295156:1822747243295606 116414:116414 hsa_signal_store_relaxed(, 147) = void +1822747243297076:1822747244556874 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822747244561504:1822747244562084 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822747244563654:1822747244568084 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822747244568554:1822747244568874 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822747244571004:1822747244572084 116414:116414 hsa_signal_destroy() = 0 +1822747244573324:1822747244573704 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822747244574124:1822747244574424 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822747244575374:1822747244575724 116414:116414 hsa_signal_destroy() = 0 +1822747244576834:1822747244577374 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822747244581045:1822747244581595 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822747244582355:1822747244582775 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747244583175:1822747244583595 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747244584005:1822747244584285 116414:116414 hsa_signal_store_screlease(, 1) = void +1822747244584725:1822747244585855 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 +1822747244586275:1822747246902889 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747247524713:1822747247525303 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822747247527363:1822747247527893 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747253977674:1822747253979224 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747253994274:1822747253994814 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822747253997704:1822747253998234 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822747254000314:1822747254001244 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747254001714:1822747254002124 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747254002694:1822747254004174 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747254604618:1822747254605128 116414:116414 hsa_signal_store_screlease(, 1) = void +1822747254606798:1822747254610208 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 +1822747254610658:1822747256031757 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747256032267:1822747256032727 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747256034167:1822747256034707 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822747256037297:1822747256037837 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747256053107:1822747256053647 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822747256057277:1822747256057807 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 +1822747256065227:1822747256065967 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 148 +1822747256067018:1822747256067638 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 148 +1822747256068608:1822747256071008 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 +1822747256071608:1822747256071908 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822747256072918:1822747256073738 116414:116414 hsa_signal_store_relaxed(, 148) = void +1822747256076238:1822747256076778 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822747256089358:1822747256089888 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747256091958:1822747256092498 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 +1822747256093768:1822747256094398 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 +1822747256094788:1822747256095068 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 149 +1822747256095478:1822747256095748 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 148 +1822747256096368:1822747256096638 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822747256097038:1822747256097488 116414:116414 hsa_signal_store_relaxed(, 149) = void +1822747256099148:1822747257357096 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822747257362016:1822747257362546 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822747257364256:1822747257368646 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822747257369066:1822747257369376 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822747257371436:1822747257372566 116414:116414 hsa_signal_destroy() = 0 +1822747257373796:1822747257374236 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822747257374656:1822747257374966 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822747257375846:1822747257376186 116414:116414 hsa_signal_destroy() = 0 +1822747257377146:1822747257377696 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822747257378596:1822747257379126 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822747257379936:1822747257380346 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747257380746:1822747257381166 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747257381646:1822747257381916 116414:116414 hsa_signal_store_screlease(, 1) = void +1822747257382366:1822747257383426 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 +1822747257383846:1822747259725291 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747260356225:1822747260356815 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822747260358565:1822747260359185 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747266812886:1822747266814156 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747266829546:1822747266830086 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822747266833586:1822747266834116 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822747266836196:1822747266837086 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747266837486:1822747266838376 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747266846136:1822747266847466 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747267456710:1822747267457070 116414:116414 hsa_signal_store_screlease(, 1) = void +1822747267458040:1822747267460660 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 +1822747267461190:1822747268886439 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747268886889:1822747268887329 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747268888179:1822747268888709 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822747268890639:1822747268891169 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747268907169:1822747268907709 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822747268911279:1822747268911809 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 +1822747268918319:1822747268919029 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 150 +1822747268919969:1822747268920419 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 150 +1822747268921399:1822747268924259 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 +1822747268924899:1822747268925229 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822747268926319:1822747268927169 116414:116414 hsa_signal_store_relaxed(, 150) = void +1822747268929309:1822747268929849 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822747268933979:1822747268934509 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747268936649:1822747268937189 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 +1822747268938459:1822747268939079 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 +1822747268939479:1822747268939749 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 151 +1822747268940149:1822747268940429 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 150 +1822747268941259:1822747268941529 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822747268941939:1822747268942389 116414:116414 hsa_signal_store_relaxed(, 151) = void +1822747268944319:1822747270209748 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822747270214998:1822747270215518 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822747270217388:1822747270221948 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822747270222358:1822747270222678 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822747270224968:1822747270225968 116414:116414 hsa_signal_destroy() = 0 +1822747270227228:1822747270227678 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822747270231388:1822747270231698 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822747270232778:1822747270233158 116414:116414 hsa_signal_destroy() = 0 +1822747270234228:1822747270234768 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822747270235678:1822747270236218 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822747270236978:1822747270237318 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747270237708:1822747270238128 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747270238668:1822747270238948 116414:116414 hsa_signal_store_screlease(, 1) = void +1822747270239388:1822747270240518 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 +1822747270240938:1822747272572323 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747273193617:1822747273194187 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822747273196597:1822747273197127 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747279635857:1822747279637127 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747279652107:1822747279652657 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822747279656038:1822747279656568 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822747279659048:1822747279659958 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747279660348:1822747279660758 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747279661398:1822747279662328 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747280284031:1822747280284491 116414:116414 hsa_signal_store_screlease(, 1) = void +1822747280286051:1822747280289102 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 +1822747280289632:1822747281714101 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747281714501:1822747281714931 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747281716311:1822747281716851 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822747281719121:1822747281719651 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747281735021:1822747281735561 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822747281738911:1822747281739441 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 +1822747281746971:1822747281747711 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 152 +1822747281748801:1822747281749401 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 152 +1822747281750391:1822747281752621 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 +1822747281753261:1822747281753571 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822747281763471:1822747281764311 116414:116414 hsa_signal_store_relaxed(, 152) = void +1822747281766661:1822747281767191 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822747281771141:1822747281771671 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747281773391:1822747281773931 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 +1822747281775291:1822747281775991 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 +1822747281776381:1822747281776661 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 153 +1822747281777051:1822747281777341 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 152 +1822747281777941:1822747281778211 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822747281778621:1822747281779071 116414:116414 hsa_signal_store_relaxed(, 153) = void +1822747281780641:1822747283045889 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822747283050609:1822747283051199 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822747283053059:1822747283057149 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822747283057629:1822747283057939 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822747283060229:1822747283061379 116414:116414 hsa_signal_destroy() = 0 +1822747283062569:1822747283062959 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822747283063429:1822747283063739 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822747283064809:1822747283065159 116414:116414 hsa_signal_destroy() = 0 +1822747283066249:1822747283066799 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822747283067709:1822747283068249 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822747283069039:1822747283069369 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747283069769:1822747283070189 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747283070709:1822747283070989 116414:116414 hsa_signal_store_screlease(, 1) = void +1822747283071429:1822747283072599 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 +1822747283073029:1822747285416594 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747286041978:1822747286042558 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822747286044508:1822747286045088 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747292083976:1822747292085747 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747292099477:1822747292100017 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822747292114167:1822747292114707 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822747292116907:1822747292117807 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747292118207:1822747292119057 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747292119627:1822747292120867 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747292741371:1822747292741781 116414:116414 hsa_signal_store_screlease(, 1) = void +1822747292743521:1822747292746191 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 +1822747292746711:1822747294169160 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747294169560:1822747294169980 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747294170940:1822747294171470 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822747294173640:1822747294174180 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747294189440:1822747294189980 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822747294193720:1822747294194260 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 +1822747294201180:1822747294201830 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 154 +1822747294203050:1822747294203350 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 154 +1822747294204340:1822747294207010 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 +1822747294207670:1822747294207980 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822747294209220:1822747294209950 116414:116414 hsa_signal_store_relaxed(, 154) = void +1822747294212500:1822747294213050 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822747294217180:1822747294217720 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747294219860:1822747294220400 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 +1822747294221580:1822747294222240 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 +1822747294222660:1822747294222940 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 155 +1822747294223330:1822747294223610 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 154 +1822747294224490:1822747294224770 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822747294225160:1822747294225610 116414:116414 hsa_signal_store_relaxed(, 155) = void +1822747294227390:1822747295483438 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822747295487918:1822747295488498 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822747295490198:1822747295494358 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822747295494838:1822747295495148 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822747295500198:1822747295501338 116414:116414 hsa_signal_destroy() = 0 +1822747295502538:1822747295502978 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822747295503448:1822747295503748 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822747295504678:1822747295505018 116414:116414 hsa_signal_destroy() = 0 +1822747295506198:1822747295506758 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822747295507668:1822747295508198 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822747295509008:1822747295509489 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747295509889:1822747295510309 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747295511119:1822747295511389 116414:116414 hsa_signal_store_screlease(, 1) = void +1822747295511839:1822747295513019 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 +1822747295513439:1822747297858244 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747298475668:1822747298476248 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822747298478098:1822747298478678 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747304921009:1822747304922479 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747304937109:1822747304937649 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822747304940569:1822747304941109 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822747304943299:1822747304944229 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747304944619:1822747304945029 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747304945769:1822747304946999 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747305554193:1822747305554633 116414:116414 hsa_signal_store_screlease(, 1) = void +1822747305556043:1822747305558503 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 +1822747305558913:1822747306982502 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747306982902:1822747306983332 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747306984792:1822747306985322 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822747306987262:1822747306987792 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747307003372:1822747307003912 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822747307007322:1822747307007862 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 +1822747307014802:1822747307015542 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 156 +1822747307024842:1822747307025482 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 156 +1822747307026772:1822747307029292 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 +1822747307029932:1822747307030322 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822747307031392:1822747307032212 116414:116414 hsa_signal_store_relaxed(, 156) = void +1822747307034322:1822747307034862 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822747307038732:1822747307039262 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747307042052:1822747307042592 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 +1822747307043922:1822747307044542 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 +1822747307044932:1822747307045212 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 157 +1822747307045622:1822747307045902 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 156 +1822747307046502:1822747307046782 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822747307047172:1822747307047622 116414:116414 hsa_signal_store_relaxed(, 157) = void +1822747307049152:1822747308299690 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822747308304430:1822747308305080 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822747308306950:1822747308311410 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822747308311830:1822747308312140 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822747308314460:1822747308315510 116414:116414 hsa_signal_destroy() = 0 +1822747308316620:1822747308316940 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822747308317410:1822747308317710 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822747308318510:1822747308318850 116414:116414 hsa_signal_destroy() = 0 +1822747308319820:1822747308320370 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822747308321270:1822747308321800 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822747308322520:1822747308322850 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747308323250:1822747308323670 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747308324230:1822747308324500 116414:116414 hsa_signal_store_screlease(, 1) = void +1822747308324950:1822747308326050 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 +1822747308326480:1822747310682835 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747311301239:1822747311301829 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822747311313139:1822747311313719 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747317788010:1822747317789730 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747317804481:1822747317805021 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822747317808141:1822747317808671 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822747317811181:1822747317812101 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747317812491:1822747317813141 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747317813781:1822747317814991 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747318421794:1822747318422334 116414:116414 hsa_signal_store_screlease(, 1) = void +1822747318423984:1822747318427174 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 +1822747318427684:1822747319864703 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747319865103:1822747319865533 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747319866903:1822747319867433 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822747319869553:1822747319870083 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747319886273:1822747319886813 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822747319890134:1822747319890664 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 +1822747319897724:1822747319898454 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 158 +1822747319899234:1822747319899844 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 158 +1822747319900954:1822747319903684 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 +1822747319904354:1822747319904654 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822747319905744:1822747319906574 116414:116414 hsa_signal_store_relaxed(, 158) = void +1822747319908934:1822747319909474 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822747319913374:1822747319913904 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747319916264:1822747319916804 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 +1822747319918234:1822747319918874 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 +1822747319919264:1822747319919544 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 159 +1822747319919944:1822747319920214 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 158 +1822747319921044:1822747319921314 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822747319921704:1822747319922164 116414:116414 hsa_signal_store_relaxed(, 159) = void +1822747319923574:1822747321186652 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822747321199972:1822747321200542 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822747321202072:1822747321206432 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822747321206912:1822747321207222 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822747321209422:1822747321210892 116414:116414 hsa_signal_destroy() = 0 +1822747321211992:1822747321212372 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822747321212792:1822747321213092 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822747321214032:1822747321214372 116414:116414 hsa_signal_destroy() = 0 +1822747321215542:1822747321216092 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822747321217002:1822747321217532 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822747321218262:1822747321218682 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747321219082:1822747321219502 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747321220022:1822747321220292 116414:116414 hsa_signal_store_screlease(, 1) = void +1822747321220742:1822747321221822 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 +1822747321222252:1822747323556667 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747324199791:1822747324200361 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822747324202041:1822747324202581 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747330640423:1822747330641583 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747330656613:1822747330657153 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822747330660303:1822747330660833 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822747330663293:1822747330664193 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747330664663:1822747330665013 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747330665533:1822747330666643 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747331257277:1822747331257657 116414:116414 hsa_signal_store_screlease(, 1) = void +1822747331259227:1822747331261857 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 +1822747331262417:1822747332686656 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747332687116:1822747332687436 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747332688416:1822747332688946 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822747332691306:1822747332691846 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747332715596:1822747332716136 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822747332719696:1822747332720226 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 +1822747332727106:1822747332728006 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 160 +1822747332728766:1822747332729406 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 160 +1822747332730456:1822747332732976 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 +1822747332733626:1822747332733936 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822747332734966:1822747332735836 116414:116414 hsa_signal_store_relaxed(, 160) = void +1822747332738256:1822747332738786 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822747332743236:1822747332743766 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747332745526:1822747332746056 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 +1822747332747256:1822747332747876 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 +1822747332748266:1822747332748546 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 161 +1822747332748936:1822747332749206 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 160 +1822747332749946:1822747332750226 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822747332750616:1822747332751066 116414:116414 hsa_signal_store_relaxed(, 161) = void +1822747332752836:1822747334013604 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822747334018064:1822747334018644 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822747334020214:1822747334024584 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822747334025014:1822747334025324 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822747334027524:1822747334028424 116414:116414 hsa_signal_destroy() = 0 +1822747334029824:1822747334030264 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822747334030684:1822747334030984 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822747334032014:1822747334032354 116414:116414 hsa_signal_destroy() = 0 +1822747334033434:1822747334033984 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822747334034754:1822747334035294 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822747334036004:1822747334036334 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747334036734:1822747334037244 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747334037724:1822747334038004 116414:116414 hsa_signal_store_screlease(, 1) = void +1822747334038444:1822747334039524 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 +1822747334042324:1822747336405499 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747337032653:1822747337033243 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822747337035163:1822747337035743 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747343478674:1822747343480134 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747343495274:1822747343495814 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822747343498864:1822747343499394 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822747343501894:1822747343503104 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747343503504:1822747343503904 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747343504564:1822747343505364 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747344120968:1822747344121458 116414:116414 hsa_signal_store_screlease(, 1) = void +1822747344123148:1822747344125798 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 +1822747344126398:1822747345549997 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747345550397:1822747345550827 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747345552207:1822747345552747 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822747345554667:1822747345555207 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747345570397:1822747345570927 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822747345574847:1822747345575377 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 +1822747345582337:1822747345583067 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 162 +1822747345583807:1822747345584417 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 162 +1822747345585387:1822747345588457 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 +1822747345589107:1822747345589417 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822747345590687:1822747345591507 116414:116414 hsa_signal_store_relaxed(, 162) = void +1822747345593708:1822747345594248 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822747345598348:1822747345598928 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747345601228:1822747345601768 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 +1822747345603078:1822747345603958 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 +1822747345604348:1822747345604628 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 163 +1822747345605028:1822747345605298 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 162 +1822747345614918:1822747345615208 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822747345615608:1822747345616058 116414:116414 hsa_signal_store_relaxed(, 163) = void +1822747345617498:1822747346883706 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822747346888546:1822747346889076 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822747346890636:1822747346894856 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822747346895276:1822747346895586 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822747346897726:1822747346898716 116414:116414 hsa_signal_destroy() = 0 +1822747346899806:1822747346900126 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822747346900596:1822747346900906 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822747346901986:1822747346902376 116414:116414 hsa_signal_destroy() = 0 +1822747346903486:1822747346904036 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822747346904936:1822747346905476 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822747346906246:1822747346906666 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747346907066:1822747346907476 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747346907896:1822747346908166 116414:116414 hsa_signal_store_screlease(, 1) = void +1822747346908606:1822747346909686 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 +1822747346910106:1822747349243160 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747349868534:1822747349869124 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822747349870964:1822747349871545 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747355968424:1822747355969684 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747355983664:1822747355984204 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822747355986904:1822747355987434 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822747355989524:1822747355990414 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747355990814:1822747355991214 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747355992034:1822747355992994 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747356603948:1822747356604468 116414:116414 hsa_signal_store_screlease(, 1) = void +1822747356605848:1822747356608698 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 +1822747356609238:1822747358031147 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747358031547:1822747358031977 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747358042997:1822747358043537 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822747358046057:1822747358046587 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747358062077:1822747358062607 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822747358066367:1822747358066897 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 +1822747358073547:1822747358074267 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 164 +1822747358075177:1822747358075627 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 164 +1822747358076587:1822747358079097 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 +1822747358079737:1822747358080067 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822747358081157:1822747358081997 116414:116414 hsa_signal_store_relaxed(, 164) = void +1822747358084297:1822747358084827 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822747358089627:1822747358090167 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747358092797:1822747358093337 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 +1822747358094377:1822747358095027 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 +1822747358095417:1822747358095697 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 165 +1822747358096087:1822747358096367 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 164 +1822747358097307:1822747358097587 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822747358097987:1822747358098437 116414:116414 hsa_signal_store_relaxed(, 165) = void +1822747358100217:1822747359369396 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822747359374096:1822747359374616 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822747359376306:1822747359380706 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822747359381126:1822747359381436 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822747359384016:1822747359385026 116414:116414 hsa_signal_destroy() = 0 +1822747359386476:1822747359386866 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822747359387336:1822747359387646 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822747359388996:1822747359389336 116414:116414 hsa_signal_destroy() = 0 +1822747359390326:1822747359390886 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822747359391786:1822747359392326 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822747359393046:1822747359393466 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747359396026:1822747359396456 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747359396876:1822747359397146 116414:116414 hsa_signal_store_screlease(, 1) = void +1822747359397596:1822747359398826 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 +1822747359399266:1822747361766251 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747362394314:1822747362394904 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822747362396834:1822747362397374 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747368848266:1822747368849746 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747368865536:1822747368866076 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822747368869656:1822747368870186 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822747368872226:1822747368873366 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747368873766:1822747368874396 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747368875106:1822747368876116 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747369464620:1822747369465070 116414:116414 hsa_signal_store_screlease(, 1) = void +1822747369466390:1822747369469530 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 +1822747369470060:1822747370894919 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747370895319:1822747370895629 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747370896799:1822747370897349 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822747370898899:1822747370899429 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747370915029:1822747370915569 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822747370918959:1822747370919489 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 +1822747370925879:1822747370926619 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 166 +1822747370927379:1822747370927849 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 166 +1822747370928819:1822747370931779 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 +1822747370932419:1822747370932719 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822747370934019:1822747370934829 116414:116414 hsa_signal_store_relaxed(, 166) = void +1822747370937079:1822747370937609 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822747370941669:1822747370942199 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747370944089:1822747370944649 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 +1822747370946039:1822747370946649 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 +1822747370955409:1822747370955699 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 167 +1822747370956089:1822747370956359 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 166 +1822747370957169:1822747370957449 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822747370957839:1822747370958289 116414:116414 hsa_signal_store_relaxed(, 167) = void +1822747370960199:1822747372201607 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822747372206417:1822747372206997 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822747372208567:1822747372212737 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822747372213157:1822747372213467 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822747372215587:1822747372216647 116414:116414 hsa_signal_destroy() = 0 +1822747372217697:1822747372218137 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822747372218547:1822747372218857 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822747372219767:1822747372220107 116414:116414 hsa_signal_destroy() = 0 +1822747372221137:1822747372221687 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822747372222447:1822747372222987 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822747372223817:1822747372224157 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747372224557:1822747372224967 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747372225377:1822747372225647 116414:116414 hsa_signal_store_screlease(, 1) = void +1822747372226087:1822747372227287 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 +1822747372227727:1822747374594882 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747375217216:1822747375217786 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822747375219696:1822747375220246 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747381678487:1822747381680067 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747381696247:1822747381696777 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822747381699827:1822747381700357 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822747381702407:1822747381703637 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747381704037:1822747381704667 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747381705317:1822747381706617 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747382310581:1822747382311131 116414:116414 hsa_signal_store_screlease(, 1) = void +1822747382322081:1822747382325111 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 +1822747382325591:1822747383748301 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747383748701:1822747383749131 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747383750461:1822747383750991 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822747383752691:1822747383753231 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747383767671:1822747383768211 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822747383771551:1822747383772091 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 +1822747383778731:1822747383779461 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 168 +1822747383780351:1822747383780801 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 168 +1822747383781771:1822747383784881 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 +1822747383785581:1822747383785891 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822747383786951:1822747383787791 116414:116414 hsa_signal_store_relaxed(, 168) = void +1822747383789941:1822747383790471 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822747383794381:1822747383794921 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747383796851:1822747383797411 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 +1822747383798681:1822747383799471 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 +1822747383799891:1822747383800161 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 169 +1822747383800561:1822747383800841 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 168 +1822747383801701:1822747383801971 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822747383802371:1822747383802821 116414:116414 hsa_signal_store_relaxed(, 169) = void +1822747383804491:1822747385053749 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822747385058219:1822747385058749 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822747385060359:1822747385064519 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822747385064989:1822747385065299 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822747385067559:1822747385068449 116414:116414 hsa_signal_destroy() = 0 +1822747385069489:1822747385069899 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822747385070369:1822747385070669 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822747385071619:1822747385071959 116414:116414 hsa_signal_destroy() = 0 +1822747385075309:1822747385075859 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822747385076799:1822747385077329 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822747385078079:1822747385078499 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747385078909:1822747385079319 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747385079879:1822747385080149 116414:116414 hsa_signal_store_screlease(, 1) = void +1822747385080619:1822747385081769 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 +1822747385082179:1822747387448754 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747388088508:1822747388089088 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822747388090908:1822747388091478 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747394532749:1822747394534149 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747394549769:1822747394550309 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822747394553779:1822747394554309 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822747394556439:1822747394557369 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747394557769:1822747394558039 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747394558689:1822747394559949 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747395168593:1822747395168973 116414:116414 hsa_signal_store_screlease(, 1) = void +1822747395170573:1822747395173243 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 +1822747395173783:1822747396597472 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747396597952:1822747396598272 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747396599142:1822747396599682 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822747396601712:1822747396602242 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747396625413:1822747396625973 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822747396629763:1822747396630303 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 +1822747396637173:1822747396637893 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 170 +1822747396638683:1822747396639293 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 170 +1822747396640243:1822747396642713 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 +1822747396643343:1822747396643653 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822747396644783:1822747396645623 116414:116414 hsa_signal_store_relaxed(, 170) = void +1822747396647763:1822747396648303 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822747396655543:1822747396656073 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747396658033:1822747396658563 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 +1822747396659613:1822747396660313 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 +1822747396660703:1822747396660983 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 171 +1822747396661373:1822747396661653 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 170 +1822747396662263:1822747396662533 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822747396662923:1822747396663373 116414:116414 hsa_signal_store_relaxed(, 171) = void +1822747396664923:1822747397937491 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822747397942331:1822747397942851 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822747397944481:1822747397948841 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822747397949251:1822747397949571 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822747397951881:1822747397952861 116414:116414 hsa_signal_destroy() = 0 +1822747397954041:1822747397954431 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822747397954841:1822747397955151 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822747397956041:1822747397956381 116414:116414 hsa_signal_destroy() = 0 +1822747397957431:1822747397957981 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822747397958891:1822747397959431 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822747397960151:1822747397960481 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747397960881:1822747397961301 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747397961711:1822747397961991 116414:116414 hsa_signal_store_screlease(, 1) = void +1822747397962431:1822747397963611 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 +1822747397964041:1822747400283186 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747400906210:1822747400906790 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822747400908720:1822747400909260 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747407363081:1822747407364221 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747407379351:1822747407379891 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822747407383081:1822747407383611 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822747407385761:1822747407386681 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747407400571:1822747407401191 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747407401851:1822747407403391 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747408015165:1822747408015525 116414:116414 hsa_signal_store_screlease(, 1) = void +1822747408016615:1822747408019655 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 +1822747408020185:1822747409441924 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747409442324:1822747409442624 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747409443714:1822747409444244 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822747409446594:1822747409447134 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747409463154:1822747409463714 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822747409467124:1822747409467664 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 +1822747409474504:1822747409475384 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 172 +1822747409476314:1822747409476924 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 172 +1822747409477914:1822747409480924 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 +1822747409481654:1822747409482044 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822747409483114:1822747409483944 116414:116414 hsa_signal_store_relaxed(, 172) = void +1822747409486434:1822747409486974 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822747409491044:1822747409491604 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747409493344:1822747409493904 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 +1822747409495164:1822747409495764 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 +1822747409496154:1822747409496434 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 173 +1822747409496824:1822747409497104 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 172 +1822747409497704:1822747409497984 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822747409498384:1822747409498834 116414:116414 hsa_signal_store_relaxed(, 173) = void +1822747409500394:1822747410771183 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822747410775703:1822747410776283 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822747410777873:1822747410782063 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822747410782483:1822747410782793 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822747410785263:1822747410786383 116414:116414 hsa_signal_destroy() = 0 +1822747410787443:1822747410787883 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822747410791373:1822747410791683 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822747410792553:1822747410792903 116414:116414 hsa_signal_destroy() = 0 +1822747410793983:1822747410794533 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822747410795463:1822747410796003 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822747410796713:1822747410797343 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747410797743:1822747410798593 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747410799153:1822747410799423 116414:116414 hsa_signal_store_screlease(, 1) = void +1822747410799873:1822747410801303 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 +1822747410801733:1822747413145028 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747413766281:1822747413766871 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822747413768571:1822747413769111 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747419811450:1822747419812680 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747419828690:1822747419829240 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822747419832350:1822747419832880 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822747419835180:1822747419836070 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747419836470:1822747419836910 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747419837890:1822747419838660 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747420449934:1822747420450334 116414:116414 hsa_signal_store_screlease(, 1) = void +1822747420451884:1822747420454544 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 +1822747420455024:1822747421879173 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747421879573:1822747421880003 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747421881123:1822747421881663 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822747421883693:1822747421884223 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747421899813:1822747421900343 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822747421904133:1822747421904673 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 +1822747421911193:1822747421911983 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 174 +1822747421912773:1822747421913373 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 174 +1822747421914433:1822747421916873 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 +1822747421926333:1822747421926653 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822747421928003:1822747421928873 116414:116414 hsa_signal_store_relaxed(, 174) = void +1822747421931043:1822747421931573 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822747421935674:1822747421936204 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747421939254:1822747421939794 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 +1822747421941134:1822747421941874 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 +1822747421942264:1822747421942544 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 175 +1822747421942934:1822747421943214 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 174 +1822747421943884:1822747421944164 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822747421944554:1822747421945004 116414:116414 hsa_signal_store_relaxed(, 175) = void +1822747421946604:1822747423202352 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822747423207202:1822747423207762 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822747423209352:1822747423213702 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822747423214192:1822747423214502 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822747423216912:1822747423218092 116414:116414 hsa_signal_destroy() = 0 +1822747423219142:1822747423219462 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822747423219932:1822747423220232 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822747423221322:1822747423221662 116414:116414 hsa_signal_destroy() = 0 +1822747423222762:1822747423223312 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822747423224222:1822747423224752 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822747423225582:1822747423225992 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747423226392:1822747423226812 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747423227282:1822747423227552 116414:116414 hsa_signal_store_screlease(, 1) = void +1822747423228002:1822747423229102 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 +1822747423229522:1822747425591667 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747426213221:1822747426213811 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822747426215551:1822747426216081 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747432670002:1822747432671332 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747432686562:1822747432687102 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822747432700412:1822747432700942 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822747432703402:1822747432704332 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747432704722:1822747432705122 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747432705852:1822747432707092 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747433315886:1822747433316316 116414:116414 hsa_signal_store_screlease(, 1) = void +1822747433317686:1822747433320016 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 +1822747433320576:1822747434743075 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747434743485:1822747434743945 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747434745185:1822747434745725 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822747434747455:1822747434747995 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747434762215:1822747434762755 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822747434766285:1822747434766825 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 +1822747434773885:1822747434774625 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 176 +1822747434775515:1822747434775825 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 176 +1822747434776875:1822747434779745 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 +1822747434780435:1822747434780745 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822747434781815:1822747434782625 116414:116414 hsa_signal_store_relaxed(, 176) = void +1822747434784755:1822747434785295 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822747434789155:1822747434789695 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747434791895:1822747434792465 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 +1822747434793495:1822747434794155 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 +1822747434794565:1822747434794865 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 177 +1822747434795265:1822747434795545 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 176 +1822747434796345:1822747434796625 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822747434797025:1822747434797475 116414:116414 hsa_signal_store_relaxed(, 177) = void +1822747434799165:1822747436053983 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822747436059313:1822747436059913 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822747436061343:1822747436065353 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822747436068584:1822747436068924 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822747436071054:1822747436072104 116414:116414 hsa_signal_destroy() = 0 +1822747436073194:1822747436073644 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822747436074114:1822747436074414 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822747436075204:1822747436075544 116414:116414 hsa_signal_destroy() = 0 +1822747436076504:1822747436077044 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822747436077984:1822747436078524 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822747436079244:1822747436079664 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747436080074:1822747436080484 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747436081054:1822747436081324 116414:116414 hsa_signal_store_screlease(, 1) = void +1822747436081774:1822747436082854 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 +1822747436083284:1822747438463489 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747439084533:1822747439085123 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822747439087033:1822747439087653 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747445541734:1822747445543304 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747445558074:1822747445558614 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822747445561634:1822747445562164 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822747445564424:1822747445565354 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747445565744:1822747445566104 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747445566754:1822747445567874 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747446174108:1822747446174868 116414:116414 hsa_signal_store_screlease(, 1) = void +1822747446176158:1822747446179338 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 +1822747446179888:1822747447603417 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747447603807:1822747447604237 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747447605937:1822747447606467 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822747447607967:1822747447608497 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747447623677:1822747447624217 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822747447627777:1822747447628307 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 +1822747447635007:1822747447635907 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 178 +1822747447642987:1822747447643457 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 178 +1822747447644437:1822747447646907 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 +1822747447647537:1822747447647847 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822747447648867:1822747447649667 116414:116414 hsa_signal_store_relaxed(, 178) = void +1822747447651917:1822747447652477 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822747447656377:1822747447656907 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747447659137:1822747447659677 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 +1822747447660897:1822747447661477 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 +1822747447661877:1822747447662157 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 179 +1822747447662567:1822747447662857 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 178 +1822747447663447:1822747447663717 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822747447664107:1822747447664557 116414:116414 hsa_signal_store_relaxed(, 179) = void +1822747447666517:1822747448927695 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822747448932255:1822747448932785 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822747448934365:1822747448939155 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822747448939635:1822747448939945 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822747448942065:1822747448943225 116414:116414 hsa_signal_destroy() = 0 +1822747448944325:1822747448944765 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822747448945235:1822747448945545 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822747448946575:1822747448946915 116414:116414 hsa_signal_destroy() = 0 +1822747448947985:1822747448948545 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822747448949435:1822747448949975 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822747448950895:1822747448951235 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747448951635:1822747448952045 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747448952455:1822747448952735 116414:116414 hsa_signal_store_screlease(, 1) = void +1822747448953175:1822747448954225 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 +1822747448954646:1822747451328661 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747451950155:1822747451950745 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822747451955875:1822747451956415 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747458402416:1822747458403976 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747458418866:1822747458419406 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822747458422506:1822747458423036 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822747458425386:1822747458426586 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747458426986:1822747458427336 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747458427896:1822747458428886 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747459017480:1822747459017940 116414:116414 hsa_signal_store_screlease(, 1) = void +1822747459019430:1822747459021880 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 +1822747459022440:1822747460443019 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747460443479:1822747460443799 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747460445289:1822747460445829 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822747460448999:1822747460449539 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747460465279:1822747460465859 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822747460469299:1822747460469839 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 +1822747460476339:1822747460477109 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 180 +1822747460477859:1822747460478469 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 180 +1822747460479539:1822747460482619 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 +1822747460483269:1822747460483569 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822747460484819:1822747460485529 116414:116414 hsa_signal_store_relaxed(, 180) = void +1822747460488159:1822747460488699 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822747460492479:1822747460493009 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747460494629:1822747460495169 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 +1822747460496379:1822747460497079 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 +1822747460497619:1822747460497899 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 181 +1822747460498299:1822747460498589 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 180 +1822747460499169:1822747460499449 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822747460499839:1822747460500289 116414:116414 hsa_signal_store_relaxed(, 181) = void +1822747460507589:1822747461765257 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822747461769817:1822747461770387 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822747461772187:1822747461776447 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822747461776867:1822747461777177 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822747461779427:1822747461780467 116414:116414 hsa_signal_destroy() = 0 +1822747461781657:1822747461782197 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822747461782677:1822747461782977 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822747461783927:1822747461784267 116414:116414 hsa_signal_destroy() = 0 +1822747461785387:1822747461785937 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822747461786707:1822747461787237 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822747461788007:1822747461788427 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747461788817:1822747461789237 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747461789717:1822747461789987 116414:116414 hsa_signal_store_screlease(, 1) = void +1822747461790427:1822747461791627 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 +1822747461792047:1822747464116062 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747464739636:1822747464740216 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822747464742116:1822747464742646 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747471176137:1822747471177607 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747471191627:1822747471192167 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822747471195187:1822747471195727 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822747471197957:1822747471198927 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747471199317:1822747471199727 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747471200387:1822747471201347 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747471808981:1822747471809351 116414:116414 hsa_signal_store_screlease(, 1) = void +1822747471810701:1822747471813461 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 +1822747471813961:1822747473238480 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747473239020:1822747473239460 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747473240610:1822747473241150 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822747473243560:1822747473244100 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747473269550:1822747473270090 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822747473273660:1822747473274200 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 +1822747473281750:1822747473282470 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 182 +1822747473283350:1822747473283960 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 182 +1822747473284950:1822747473287550 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 +1822747473288200:1822747473288510 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822747473289600:1822747473290330 116414:116414 hsa_signal_store_relaxed(, 182) = void +1822747473292380:1822747473292910 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822747473297020:1822747473297560 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747473299750:1822747473300290 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 +1822747473301630:1822747473302330 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 +1822747473302720:1822747473303000 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 183 +1822747473303390:1822747473303670 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 182 +1822747473304310:1822747473304590 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822747473304990:1822747473305440 116414:116414 hsa_signal_store_relaxed(, 183) = void +1822747473307160:1822747474579159 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822747474583939:1822747474584539 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822747474586099:1822747474590349 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822747474590759:1822747474591069 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822747474593189:1822747474594249 116414:116414 hsa_signal_destroy() = 0 +1822747474595429:1822747474595819 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822747474596229:1822747474596539 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822747474597749:1822747474598089 116414:116414 hsa_signal_destroy() = 0 +1822747474599179:1822747474599729 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822747474600619:1822747474601149 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822747474601869:1822747474602289 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747474602689:1822747474603099 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747474603659:1822747474603929 116414:116414 hsa_signal_store_screlease(, 1) = void +1822747474606409:1822747474607559 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 +1822747474607989:1822747476962604 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747477587348:1822747477587938 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822747477589838:1822747477590448 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747484025008:1822747484026458 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747484041599:1822747484042129 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822747484045149:1822747484045679 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822747484048069:1822747484048959 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747484049429:1822747484049839 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747484050409:1822747484051629 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747484658012:1822747484658582 116414:116414 hsa_signal_store_screlease(, 1) = void +1822747484660222:1822747484663153 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 +1822747484663733:1822747486086062 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747486086462:1822747486086892 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747486087922:1822747486088452 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822747486090552:1822747486091092 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747486105892:1822747486106432 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822747486109742:1822747486110272 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 +1822747486117472:1822747486118192 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 184 +1822747486119082:1822747486119712 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 184 +1822747486120682:1822747486123442 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 +1822747486124322:1822747486124632 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822747486125672:1822747486126532 116414:116414 hsa_signal_store_relaxed(, 184) = void +1822747486129012:1822747486129552 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822747486133512:1822747486134042 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747486136192:1822747486136732 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 +1822747486137962:1822747486138572 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 +1822747486138962:1822747486139242 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 185 +1822747486139642:1822747486139922 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 184 +1822747486149012:1822747486149302 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822747486149702:1822747486150152 116414:116414 hsa_signal_store_relaxed(, 185) = void +1822747486151812:1822747487403120 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822747487407620:1822747487408250 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822747487410060:1822747487414460 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822747487414880:1822747487415190 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822747487417730:1822747487418780 116414:116414 hsa_signal_destroy() = 0 +1822747487419970:1822747487420420 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822747487420890:1822747487421190 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822747487422220:1822747487422560 116414:116414 hsa_signal_destroy() = 0 +1822747487423520:1822747487424080 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822747487424840:1822747487425370 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822747487426070:1822747487426480 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747487426880:1822747487427290 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747487427770:1822747487428050 116414:116414 hsa_signal_store_screlease(, 1) = void +1822747487428490:1822747487429650 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 +1822747487430060:1822747489795855 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747490415289:1822747490415869 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822747490417619:1822747490418199 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747496862251:1822747496863481 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747496878261:1822747496878801 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822747496881831:1822747496882371 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822747496884921:1822747496885841 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747496886231:1822747496886861 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747496887501:1822747496888241 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747497497055:1822747497497605 116414:116414 hsa_signal_store_screlease(, 1) = void +1822747497498885:1822747497501975 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 +1822747497502515:1822747498927444 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747498937874:1822747498938334 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747498939134:1822747498939664 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822747498941654:1822747498942184 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747498957574:1822747498958104 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822747498961514:1822747498962054 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 +1822747498969024:1822747498969814 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 186 +1822747498970744:1822747498971054 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 186 +1822747498972054:1822747498974644 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 +1822747498975274:1822747498975584 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822747498976664:1822747498977514 116414:116414 hsa_signal_store_relaxed(, 186) = void +1822747498979684:1822747498980214 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822747498983984:1822747498984514 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747498986544:1822747498987084 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 +1822747498988514:1822747498989144 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 +1822747498989534:1822747498989814 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 187 +1822747498990214:1822747498990494 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 186 +1822747498991304:1822747498991584 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822747498991984:1822747498992434 116414:116414 hsa_signal_store_relaxed(, 187) = void +1822747498993894:1822747500258382 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822747500263282:1822747500264162 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822747500265782:1822747500270052 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822747500270542:1822747500270852 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822747500272972:1822747500274432 116414:116414 hsa_signal_destroy() = 0 +1822747500275552:1822747500275872 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822747500276292:1822747500276592 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822747500277552:1822747500277892 116414:116414 hsa_signal_destroy() = 0 +1822747500279042:1822747500279592 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822747500280492:1822747500281022 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822747500281982:1822747500282322 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747500284962:1822747500285392 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747500285932:1822747500286202 116414:116414 hsa_signal_store_screlease(, 1) = void +1822747500286652:1822747500287812 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 +1822747500288242:1822747502645347 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747503264531:1822747503265121 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822747503267071:1822747503267611 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747509753333:1822747509754743 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747509770333:1822747509770873 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822747509774193:1822747509774723 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822747509776953:1822747509777883 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747509778273:1822747509779133 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747509779793:1822747509780663 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747510386477:1822747510386917 116414:116414 hsa_signal_store_screlease(, 1) = void +1822747510388007:1822747510390857 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 +1822747510391407:1822747511812186 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747511812586:1822747511813016 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747511814456:1822747511814986 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822747511816886:1822747511817426 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747511832126:1822747511832656 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822747511836166:1822747511836706 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 +1822747511843496:1822747511844226 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 188 +1822747511845426:1822747511845876 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 188 +1822747511846846:1822747511849156 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 +1822747511849796:1822747511850106 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822747511851106:1822747511851896 116414:116414 hsa_signal_store_relaxed(, 188) = void +1822747511854196:1822747511854746 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822747511858906:1822747511859446 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747511861736:1822747511862276 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 +1822747511875197:1822747511875887 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 +1822747511876297:1822747511876577 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 189 +1822747511876967:1822747511877257 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 188 +1822747511877847:1822747511878127 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822747511878517:1822747511878977 116414:116414 hsa_signal_store_relaxed(, 189) = void +1822747511880477:1822747513129574 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822747513134834:1822747513135404 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822747513136914:1822747513141424 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822747513141904:1822747513142214 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822747513144404:1822747513145454 116414:116414 hsa_signal_destroy() = 0 +1822747513146504:1822747513146894 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822747513147314:1822747513147614 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822747513148544:1822747513148884 116414:116414 hsa_signal_destroy() = 0 +1822747513149984:1822747513150534 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822747513151434:1822747513151974 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822747513152674:1822747513153014 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747513153404:1822747513153814 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747513154294:1822747513154574 116414:116414 hsa_signal_store_screlease(, 1) = void +1822747513155004:1822747513156104 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 +1822747513156525:1822747515497939 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747516146013:1822747516146653 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822747516148463:1822747516149003 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747522594135:1822747522595385 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747522611015:1822747522611555 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822747522614685:1822747522615225 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822747522617605:1822747522618505 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747522618895:1822747522619525 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747522620165:1822747522621235 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747523226019:1822747523226499 116414:116414 hsa_signal_store_screlease(, 1) = void +1822747523237889:1822747523241039 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 +1822747523241589:1822747524665478 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747524665918:1822747524666348 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747524667228:1822747524667768 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822747524669538:1822747524670068 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747524684468:1822747524684998 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822747524688518:1822747524689058 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 +1822747524696238:1822747524696888 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 190 +1822747524697658:1822747524698118 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 190 +1822747524699098:1822747524701698 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 +1822747524702328:1822747524702638 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822747524703718:1822747524704548 116414:116414 hsa_signal_store_relaxed(, 190) = void +1822747524706838:1822747524707398 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822747524711478:1822747524712018 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747524714038:1822747524714578 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 +1822747524715638:1822747524716348 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 +1822747524716748:1822747524717018 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 191 +1822747524717408:1822747524717688 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 190 +1822747524718528:1822747524718808 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822747524719198:1822747524719648 116414:116414 hsa_signal_store_relaxed(, 191) = void +1822747524721218:1822747525985736 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822747525990426:1822747525990956 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822747525992476:1822747525996896 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822747525997316:1822747525997626 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822747525999896:1822747526000956 116414:116414 hsa_signal_destroy() = 0 +1822747526001996:1822747526002436 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822747526002906:1822747526003216 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822747526004216:1822747526004556 116414:116414 hsa_signal_destroy() = 0 +1822747526008196:1822747526008756 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822747526009706:1822747526010236 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822747526011126:1822747526011556 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747526011956:1822747526012426 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747526013036:1822747526013306 116414:116414 hsa_signal_store_screlease(, 1) = void +1822747526013746:1822747526014846 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 +1822747526015266:1822747528357531 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747528984065:1822747528984645 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822747528986585:1822747528987215 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747535044764:1822747535045994 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747535060964:1822747535061514 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822747535064534:1822747535065064 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822747535067164:1822747535068054 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747535068454:1822747535068864 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747535069454:1822747535070354 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747535678118:1822747535678628 116414:116414 hsa_signal_store_screlease(, 1) = void +1822747535680068:1822747535683038 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 +1822747535683578:1822747537107137 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747537107567:1822747537108007 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747537109137:1822747537109667 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822747537111687:1822747537112217 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747537137927:1822747537138457 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822747537142337:1822747537142867 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 +1822747537149667:1822747537150407 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 192 +1822747537151207:1822747537151677 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 192 +1822747537152797:1822747537155297 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 +1822747537156137:1822747537156467 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822747537157647:1822747537158467 116414:116414 hsa_signal_store_relaxed(, 192) = void +1822747537162397:1822747537162937 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822747537167057:1822747537167587 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747537169747:1822747537170277 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 +1822747537171557:1822747537172187 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 +1822747537172577:1822747537172857 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 193 +1822747537173247:1822747537173527 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 192 +1822747537174317:1822747537174597 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822747537174987:1822747537175437 116414:116414 hsa_signal_store_relaxed(, 193) = void +1822747537177207:1822747538439885 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822747538444565:1822747538445135 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822747538446615:1822747538450925 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822747538451355:1822747538451665 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822747538453865:1822747538454915 116414:116414 hsa_signal_destroy() = 0 +1822747538455995:1822747538456535 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822747538457005:1822747538457305 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822747538458245:1822747538458585 116414:116414 hsa_signal_destroy() = 0 +1822747538459555:1822747538460105 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822747538460995:1822747538461535 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822747538462195:1822747538462775 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747538463175:1822747538463585 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747538464065:1822747538464335 116414:116414 hsa_signal_store_screlease(, 1) = void +1822747538464785:1822747538465845 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 +1822747538466265:1822747540808780 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747541432674:1822747541433254 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822747541435114:1822747541435644 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747547531423:1822747547532633 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747547548043:1822747547548583 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822747547551563:1822747547552093 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822747547554193:1822747547555123 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747547566913:1822747547567333 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747547567993:1822747547569223 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747548178497:1822747548178997 116414:116414 hsa_signal_store_screlease(, 1) = void +1822747548180577:1822747548183267 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 +1822747548183777:1822747549606527 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747549606927:1822747549607237 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747549608217:1822747549608747 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822747549610687:1822747549611217 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747549626467:1822747549627047 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822747549630997:1822747549631527 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 +1822747549638487:1822747549639367 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 194 +1822747549640617:1822747549641257 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 194 +1822747549642287:1822747549645047 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 +1822747549645687:1822747549645997 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822747549647037:1822747549647857 116414:116414 hsa_signal_store_relaxed(, 194) = void +1822747549649997:1822747549650527 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822747549654597:1822747549655177 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747549657517:1822747549658057 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 +1822747549659287:1822747549659987 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 +1822747549660377:1822747549660647 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 195 +1822747549661047:1822747549661317 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 194 +1822747549662117:1822747549662397 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822747549662797:1822747549663237 116414:116414 hsa_signal_store_relaxed(, 195) = void +1822747549664867:1822747550927885 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822747550933125:1822747550933645 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822747550935495:1822747550939675 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822747550940145:1822747550940465 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822747550942785:1822747550943905 116414:116414 hsa_signal_destroy() = 0 +1822747550948075:1822747550948645 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822747550949075:1822747550949375 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822747550950265:1822747550950615 116414:116414 hsa_signal_destroy() = 0 +1822747550951655:1822747550952205 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822747550953115:1822747550953645 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822747550954395:1822747550954975 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747550955375:1822747550956205 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747550956615:1822747550956895 116414:116414 hsa_signal_store_screlease(, 1) = void +1822747550957335:1822747550958685 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 +1822747550959105:1822747553304780 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747553929754:1822747553930334 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822747553932394:1822747553932964 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747560387065:1822747560388415 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747560403595:1822747560404135 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822747560407325:1822747560407865 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822747560410065:1822747560410975 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747560411365:1822747560411955 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747560412595:1822747560413595 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747561020609:1822747561021049 116414:116414 hsa_signal_store_screlease(, 1) = void +1822747561022349:1822747561025409 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 +1822747561025969:1822747562448308 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747562448708:1822747562449138 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747562450148:1822747562450678 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822747562452378:1822747562452918 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747562468408:1822747562468948 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822747562472768:1822747562473298 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 +1822747562480028:1822747562480978 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 196 +1822747562481918:1822747562482718 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 196 +1822747562483748:1822747562486578 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 +1822747562496329:1822747562496649 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822747562497669:1822747562498579 116414:116414 hsa_signal_store_relaxed(, 196) = void +1822747562500889:1822747562501429 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822747562505259:1822747562505799 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747562507479:1822747562508009 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 +1822747562509599:1822747562510189 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 +1822747562510579:1822747562510859 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 197 +1822747562511259:1822747562511539 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 196 +1822747562512149:1822747562512429 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822747562512819:1822747562513279 116414:116414 hsa_signal_store_relaxed(, 197) = void +1822747562514809:1822747563784907 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822747563789447:1822747563790037 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822747563791757:1822747563796357 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822747563796827:1822747563797137 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822747563799477:1822747563800707 116414:116414 hsa_signal_destroy() = 0 +1822747563802017:1822747563802457 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822747563802867:1822747563803167 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822747563804297:1822747563804637 116414:116414 hsa_signal_destroy() = 0 +1822747563805727:1822747563806277 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822747563807167:1822747563807707 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822747563808517:1822747563808857 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747563809267:1822747563809677 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747563810087:1822747563810357 116414:116414 hsa_signal_store_screlease(, 1) = void +1822747563810807:1822747563812007 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 +1822747563812417:1822747566191552 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747566814226:1822747566814806 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822747566816706:1822747566817276 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747572864634:1822747572866034 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747572892975:1822747572893515 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822747572896535:1822747572897065 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822747572899315:1822747572900215 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747572900605:1822747572901015 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747572901655:1822747572902605 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747573508058:1822747573508508 116414:116414 hsa_signal_store_screlease(, 1) = void +1822747573509898:1822747573512568 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 +1822747573513088:1822747574936418 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747574936818:1822747574937278 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747574938488:1822747574939028 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822747574941028:1822747574941558 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747574957348:1822747574957888 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822747574961318:1822747574961858 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 +1822747574968798:1822747574969528 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 198 +1822747574970418:1822747574970858 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 198 +1822747574971968:1822747574974708 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 +1822747574975348:1822747574975658 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822747574976638:1822747574977578 116414:116414 hsa_signal_store_relaxed(, 198) = void +1822747574979978:1822747574980518 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 +1822747574984598:1822747574985138 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747574987368:1822747574987928 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 +1822747574989078:1822747574989788 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 +1822747574990178:1822747574990458 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 199 +1822747574990848:1822747574991128 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 198 +1822747574991948:1822747574992218 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void +1822747574992618:1822747574993068 116414:116414 hsa_signal_store_relaxed(, 199) = void +1822747574994438:1822747576251726 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822747576256386:1822747576256966 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822747576258546:1822747576262856 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822747576266286:1822747576266706 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 +1822747576269366:1822747576270476 116414:116414 hsa_signal_destroy() = 0 +1822747576271746:1822747576272206 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822747576272616:1822747576272916 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 +1822747576273966:1822747576274346 116414:116414 hsa_signal_destroy() = 0 +1822747576275496:1822747576276036 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 +1822747576276956:1822747576277496 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 +1822747576278226:1822747576278636 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747576279046:1822747576279466 116414:116414 hsa_signal_store_screlease(, 0) = void +1822747576280026:1822747576280306 116414:116414 hsa_signal_store_screlease(, 1) = void +1822747576280746:1822747576281906 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 +1822747576282336:1822747578641251 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822747579259055:1822747579259635 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 +1822747579261365:1822747579261935 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747585400924:1822747585402374 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747585422634:1822747585424114 116414:116414 hsa_signal_load_scacquire() = 0 +1822747585429354:1822747585503685 116414:116414 hsa_amd_memory_pool_free(0x7f074e800000) = 0 +1822747585510455:1822747585510995 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747585512935:1822747585513475 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747585514955:1822747585515295 116414:116414 hsa_signal_load_scacquire() = 0 +1822747585515825:1822747585527825 116414:116414 hsa_amd_memory_pool_free(0x7f074e200000) = 0 +1822747585529925:1822747585530465 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 +1822747585548115:1822747585573865 116414:116414 hsa_code_object_reader_destroy() = 0 +1822747585574725:1822747585577005 116414:116414 hsa_code_object_reader_destroy() = 0 +1822747585578145:1822747585580245 116414:116414 hsa_code_object_reader_destroy() = 0 +1822747585581055:1822747585582885 116414:116414 hsa_code_object_reader_destroy() = 0 +1822747585583675:1822747585585765 116414:116414 hsa_code_object_reader_destroy() = 0 +1822747585586525:1822747585588735 116414:116414 hsa_code_object_reader_destroy() = 0 +1822747585597575:1822747585599805 116414:116414 hsa_code_object_reader_destroy() = 0 +1822747585600725:1822747585602665 116414:116414 hsa_code_object_reader_destroy() = 0 +1822747585603415:1822747585605635 116414:116414 hsa_code_object_reader_destroy() = 0 +1822747585606455:1822747585608375 116414:116414 hsa_code_object_reader_destroy() = 0 +1822747585609525:1822747585611475 116414:116414 hsa_code_object_reader_destroy() = 0 +1822747585612375:1822747585614545 116414:116414 hsa_code_object_reader_destroy() = 0 +1822747585615405:1822747585617345 116414:116414 hsa_code_object_reader_destroy() = 0 +1822747585618635:1822747585620675 116414:116414 hsa_code_object_reader_destroy() = 0 +1822747585621465:1822747585623735 116414:116414 hsa_code_object_reader_destroy() = 0 +1822747585624536:1822747585626626 116414:116414 hsa_code_object_reader_destroy() = 0 +1822747585627286:1822747585629366 116414:116414 hsa_code_object_reader_destroy() = 0 +1822747585629996:1822747585631916 116414:116414 hsa_code_object_reader_destroy() = 0 +1822747585632616:1822747585634656 116414:116414 hsa_code_object_reader_destroy() = 0 +1822747585635296:1822747585637346 116414:116414 hsa_code_object_reader_destroy() = 0 +1822747585638376:1822747585640376 116414:116414 hsa_code_object_reader_destroy() = 0 +1822747585641546:1822747585643406 116414:116414 hsa_code_object_reader_destroy() = 0 +1822745854975538 116414:116414 0:"before hipLaunchKernel" +1822745854987608 116414:116414 1:"hipLaunchKernel" +1822746303445573 116414:116414 0:"after hipLaunchKernel" +1822746303447393 116414:116414 1:"hipMemcpy" +1822746307822981 116414:116414 2:"" +1822746307824171 116414:116414 2:"" +1822746322787926 116414:116414 0:"before hipLaunchKernel" +1822746322789216 116414:116414 1:"hipLaunchKernel" +1822746322831267 116414:116414 0:"after hipLaunchKernel" +1822746322831937 116414:116414 1:"hipMemcpy" +1822746327110704 116414:116414 2:"" +1822746327111214 116414:116414 2:"" +1822746335664418 116414:116414 0:"before hipLaunchKernel" +1822746335666208 116414:116414 1:"hipLaunchKernel" +1822746335700419 116414:116414 0:"after hipLaunchKernel" +1822746335701109 116414:116414 1:"hipMemcpy" +1822746340062306 116414:116414 2:"" +1822746340062946 116414:116414 2:"" +1822746348570521 116414:116414 0:"before hipLaunchKernel" +1822746348571691 116414:116414 1:"hipLaunchKernel" +1822746348612761 116414:116414 0:"after hipLaunchKernel" +1822746348613511 116414:116414 1:"hipMemcpy" +1822746352908008 116414:116414 2:"" +1822746352908648 116414:116414 2:"" +1822746361409792 116414:116414 0:"before hipLaunchKernel" +1822746361411282 116414:116414 1:"hipLaunchKernel" +1822746361452822 116414:116414 0:"after hipLaunchKernel" +1822746361453632 116414:116414 1:"hipMemcpy" +1822746365745219 116414:116414 2:"" +1822746365745819 116414:116414 2:"" +1822746374273854 116414:116414 0:"before hipLaunchKernel" +1822746374275264 116414:116414 1:"hipLaunchKernel" +1822746374318815 116414:116414 0:"after hipLaunchKernel" +1822746374319505 116414:116414 1:"hipMemcpy" +1822746378595931 116414:116414 2:"" +1822746378596562 116414:116414 2:"" +1822746386726273 116414:116414 0:"before hipLaunchKernel" +1822746386728083 116414:116414 1:"hipLaunchKernel" +1822746386763224 116414:116414 0:"after hipLaunchKernel" +1822746386764104 116414:116414 1:"hipMemcpy" +1822746391049231 116414:116414 2:"" +1822746391049781 116414:116414 2:"" +1822746399189143 116414:116414 0:"before hipLaunchKernel" +1822746399190593 116414:116414 1:"hipLaunchKernel" +1822746399225293 116414:116414 0:"after hipLaunchKernel" +1822746399225973 116414:116414 1:"hipMemcpy" +1822746403530731 116414:116414 2:"" +1822746403531411 116414:116414 2:"" +1822746412060765 116414:116414 0:"before hipLaunchKernel" +1822746412062005 116414:116414 1:"hipLaunchKernel" +1822746412096325 116414:116414 0:"after hipLaunchKernel" +1822746412097335 116414:116414 1:"hipMemcpy" +1822746416388452 116414:116414 2:"" +1822746416389002 116414:116414 2:"" +1822746424900556 116414:116414 0:"before hipLaunchKernel" +1822746424901856 116414:116414 1:"hipLaunchKernel" +1822746424935537 116414:116414 0:"after hipLaunchKernel" +1822746424936147 116414:116414 1:"hipMemcpy" +1822746429218754 116414:116414 2:"" +1822746429219394 116414:116414 2:"" +1822746437732398 116414:116414 0:"before hipLaunchKernel" +1822746437733798 116414:116414 1:"hipLaunchKernel" +1822746437771248 116414:116414 0:"after hipLaunchKernel" +1822746437771858 116414:116414 1:"hipMemcpy" +1822746442028356 116414:116414 2:"" +1822746442028896 116414:116414 2:"" +1822746450161817 116414:116414 0:"before hipLaunchKernel" +1822746450163067 116414:116414 1:"hipLaunchKernel" +1822746450198447 116414:116414 0:"after hipLaunchKernel" +1822746450199117 116414:116414 1:"hipMemcpy" +1822746454504065 116414:116414 2:"" +1822746454504665 116414:116414 2:"" +1822746463006129 116414:116414 0:"before hipLaunchKernel" +1822746463007299 116414:116414 1:"hipLaunchKernel" +1822746463050979 116414:116414 0:"after hipLaunchKernel" +1822746463051589 116414:116414 1:"hipMemcpy" +1822746467336937 116414:116414 2:"" +1822746467337447 116414:116414 2:"" +1822746475886201 116414:116414 0:"before hipLaunchKernel" +1822746475887511 116414:116414 1:"hipLaunchKernel" +1822746475921661 116414:116414 0:"after hipLaunchKernel" +1822746475922411 116414:116414 1:"hipMemcpy" +1822746480225449 116414:116414 2:"" +1822746480226089 116414:116414 2:"" +1822746488740732 116414:116414 0:"before hipLaunchKernel" +1822746488742122 116414:116414 1:"hipLaunchKernel" +1822746488784243 116414:116414 0:"after hipLaunchKernel" +1822746488785013 116414:116414 1:"hipMemcpy" +1822746493098030 116414:116414 2:"" +1822746493098580 116414:116414 2:"" +1822746501602385 116414:116414 0:"before hipLaunchKernel" +1822746501604095 116414:116414 1:"hipLaunchKernel" +1822746501649305 116414:116414 0:"after hipLaunchKernel" +1822746501649925 116414:116414 1:"hipMemcpy" +1822746505928982 116414:116414 2:"" +1822746505929612 116414:116414 2:"" +1822746514461686 116414:116414 0:"before hipLaunchKernel" +1822746514462916 116414:116414 1:"hipLaunchKernel" +1822746514497227 116414:116414 0:"after hipLaunchKernel" +1822746514497897 116414:116414 1:"hipMemcpy" +1822746518742374 116414:116414 2:"" +1822746518742994 116414:116414 2:"" +1822746527262578 116414:116414 0:"before hipLaunchKernel" +1822746527273538 116414:116414 1:"hipLaunchKernel" +1822746527309978 116414:116414 0:"after hipLaunchKernel" +1822746527310798 116414:116414 1:"hipMemcpy" +1822746531586925 116414:116414 2:"" +1822746531587445 116414:116414 2:"" +1822746540127990 116414:116414 0:"before hipLaunchKernel" +1822746540129470 116414:116414 1:"hipLaunchKernel" +1822746540164820 116414:116414 0:"after hipLaunchKernel" +1822746540165560 116414:116414 1:"hipMemcpy" +1822746544478227 116414:116414 2:"" +1822746544478907 116414:116414 2:"" +1822746552974642 116414:116414 0:"before hipLaunchKernel" +1822746552976122 116414:116414 1:"hipLaunchKernel" +1822746553011042 116414:116414 0:"after hipLaunchKernel" +1822746553011832 116414:116414 1:"hipMemcpy" +1822746557333510 116414:116414 2:"" +1822746557334020 116414:116414 2:"" +1822746565850204 116414:116414 0:"before hipLaunchKernel" +1822746565851604 116414:116414 1:"hipLaunchKernel" +1822746565886044 116414:116414 0:"after hipLaunchKernel" +1822746565886794 116414:116414 1:"hipMemcpy" +1822746570197791 116414:116414 2:"" +1822746570198451 116414:116414 2:"" +1822746578336243 116414:116414 0:"before hipLaunchKernel" +1822746578337593 116414:116414 1:"hipLaunchKernel" +1822746578380923 116414:116414 0:"after hipLaunchKernel" +1822746578381683 116414:116414 1:"hipMemcpy" +1822746582643601 116414:116414 2:"" +1822746582644111 116414:116414 2:"" +1822746591161555 116414:116414 0:"before hipLaunchKernel" +1822746591163265 116414:116414 1:"hipLaunchKernel" +1822746591197655 116414:116414 0:"after hipLaunchKernel" +1822746591198265 116414:116414 1:"hipMemcpy" +1822746595502803 116414:116414 2:"" +1822746595503443 116414:116414 2:"" +1822746604019077 116414:116414 0:"before hipLaunchKernel" +1822746604020797 116414:116414 1:"hipLaunchKernel" +1822746604063007 116414:116414 0:"after hipLaunchKernel" +1822746604063787 116414:116414 1:"hipMemcpy" +1822746608329344 116414:116414 2:"" +1822746608329904 116414:116414 2:"" +1822746616473316 116414:116414 0:"before hipLaunchKernel" +1822746616474706 116414:116414 1:"hipLaunchKernel" +1822746616508206 116414:116414 0:"after hipLaunchKernel" +1822746616508816 116414:116414 1:"hipMemcpy" +1822746620826424 116414:116414 2:"" +1822746620826974 116414:116414 2:"" +1822746629333318 116414:116414 0:"before hipLaunchKernel" +1822746629334808 116414:116414 1:"hipLaunchKernel" +1822746629377048 116414:116414 0:"after hipLaunchKernel" +1822746629377788 116414:116414 1:"hipMemcpy" +1822746633699786 116414:116414 2:"" +1822746633700336 116414:116414 2:"" +1822746641821417 116414:116414 0:"before hipLaunchKernel" +1822746641822817 116414:116414 1:"hipLaunchKernel" +1822746641857047 116414:116414 0:"after hipLaunchKernel" +1822746641857937 116414:116414 1:"hipMemcpy" +1822746646095824 116414:116414 2:"" +1822746646096334 116414:116414 2:"" +1822746654614869 116414:116414 0:"before hipLaunchKernel" +1822746654616489 116414:116414 1:"hipLaunchKernel" +1822746654652079 116414:116414 0:"after hipLaunchKernel" +1822746654652809 116414:116414 1:"hipMemcpy" +1822746658919976 116414:116414 2:"" +1822746658920616 116414:116414 2:"" +1822746667430060 116414:116414 0:"before hipLaunchKernel" +1822746667431310 116414:116414 1:"hipLaunchKernel" +1822746667465260 116414:116414 0:"after hipLaunchKernel" +1822746667465870 116414:116414 1:"hipMemcpy" +1822746671742458 116414:116414 2:"" +1822746671742968 116414:116414 2:"" +1822746680267302 116414:116414 0:"before hipLaunchKernel" +1822746680268782 116414:116414 1:"hipLaunchKernel" +1822746680303053 116414:116414 0:"after hipLaunchKernel" +1822746680303803 116414:116414 1:"hipMemcpy" +1822746684600499 116414:116414 2:"" +1822746684601029 116414:116414 2:"" +1822746693088044 116414:116414 0:"before hipLaunchKernel" +1822746693089474 116414:116414 1:"hipLaunchKernel" +1822746693123884 116414:116414 0:"after hipLaunchKernel" +1822746693124644 116414:116414 1:"hipMemcpy" +1822746697418081 116414:116414 2:"" +1822746697418641 116414:116414 2:"" +1822746705933515 116414:116414 0:"before hipLaunchKernel" +1822746705934975 116414:116414 1:"hipLaunchKernel" +1822746705972696 116414:116414 0:"after hipLaunchKernel" +1822746705973596 116414:116414 1:"hipMemcpy" +1822746710267423 116414:116414 2:"" +1822746710268023 116414:116414 2:"" +1822746718822338 116414:116414 0:"before hipLaunchKernel" +1822746718823618 116414:116414 1:"hipLaunchKernel" +1822746718864278 116414:116414 0:"after hipLaunchKernel" +1822746718864968 116414:116414 1:"hipMemcpy" +1822746723108095 116414:116414 2:"" +1822746723108605 116414:116414 2:"" +1822746731658299 116414:116414 0:"before hipLaunchKernel" +1822746731659809 116414:116414 1:"hipLaunchKernel" +1822746731694730 116414:116414 0:"after hipLaunchKernel" +1822746731695340 116414:116414 1:"hipMemcpy" +1822746735980407 116414:116414 2:"" +1822746735980997 116414:116414 2:"" +1822746744113829 116414:116414 0:"before hipLaunchKernel" +1822746744123879 116414:116414 1:"hipLaunchKernel" +1822746744159579 116414:116414 0:"after hipLaunchKernel" +1822746744160189 116414:116414 1:"hipMemcpy" +1822746748470806 116414:116414 2:"" +1822746748471316 116414:116414 2:"" +1822746756607968 116414:116414 0:"before hipLaunchKernel" +1822746756609468 116414:116414 1:"hipLaunchKernel" +1822746756645858 116414:116414 0:"after hipLaunchKernel" +1822746756646558 116414:116414 1:"hipMemcpy" +1822746760955005 116414:116414 2:"" +1822746760955645 116414:116414 2:"" +1822746769464290 116414:116414 0:"before hipLaunchKernel" +1822746769465720 116414:116414 1:"hipLaunchKernel" +1822746769510720 116414:116414 0:"after hipLaunchKernel" +1822746769511470 116414:116414 1:"hipMemcpy" +1822746773820048 116414:116414 2:"" +1822746773820638 116414:116414 2:"" +1822746782343662 116414:116414 0:"before hipLaunchKernel" +1822746782344962 116414:116414 1:"hipLaunchKernel" +1822746782379212 116414:116414 0:"after hipLaunchKernel" +1822746782379922 116414:116414 1:"hipMemcpy" +1822746786661019 116414:116414 2:"" +1822746786661529 116414:116414 2:"" +1822746795188364 116414:116414 0:"before hipLaunchKernel" +1822746795189874 116414:116414 1:"hipLaunchKernel" +1822746795224264 116414:116414 0:"after hipLaunchKernel" +1822746795224934 116414:116414 1:"hipMemcpy" +1822746799488501 116414:116414 2:"" +1822746799489171 116414:116414 2:"" +1822746807830504 116414:116414 0:"before hipLaunchKernel" +1822746807832274 116414:116414 1:"hipLaunchKernel" +1822746807867394 116414:116414 0:"after hipLaunchKernel" +1822746807868064 116414:116414 1:"hipMemcpy" +1822746812164681 116414:116414 2:"" +1822746812165231 116414:116414 2:"" +1822746820722496 116414:116414 0:"before hipLaunchKernel" +1822746820723886 116414:116414 1:"hipLaunchKernel" +1822746820756366 116414:116414 0:"after hipLaunchKernel" +1822746820757286 116414:116414 1:"hipMemcpy" +1822746825046294 116414:116414 2:"" +1822746825046954 116414:116414 2:"" +1822746833223776 116414:116414 0:"before hipLaunchKernel" +1822746833225106 116414:116414 1:"hipLaunchKernel" +1822746833259056 116414:116414 0:"after hipLaunchKernel" +1822746833259996 116414:116414 1:"hipMemcpy" +1822746837574493 116414:116414 2:"" +1822746837575043 116414:116414 2:"" +1822746846102378 116414:116414 0:"before hipLaunchKernel" +1822746846104068 116414:116414 1:"hipLaunchKernel" +1822746846140448 116414:116414 0:"after hipLaunchKernel" +1822746846141318 116414:116414 1:"hipMemcpy" +1822746850396045 116414:116414 2:"" +1822746850396685 116414:116414 2:"" +1822746858929349 116414:116414 0:"before hipLaunchKernel" +1822746858930929 116414:116414 1:"hipLaunchKernel" +1822746858974000 116414:116414 0:"after hipLaunchKernel" +1822746858975060 116414:116414 1:"hipMemcpy" +1822746863235857 116414:116414 2:"" +1822746863236417 116414:116414 2:"" +1822746871469829 116414:116414 0:"before hipLaunchKernel" +1822746871471599 116414:116414 1:"hipLaunchKernel" +1822746871506509 116414:116414 0:"after hipLaunchKernel" +1822746871507269 116414:116414 1:"hipMemcpy" +1822746875782647 116414:116414 2:"" +1822746875783527 116414:116414 2:"" +1822746884309081 116414:116414 0:"before hipLaunchKernel" +1822746884310891 116414:116414 1:"hipLaunchKernel" +1822746884353891 116414:116414 0:"after hipLaunchKernel" +1822746884355141 116414:116414 1:"hipMemcpy" +1822746888676259 116414:116414 2:"" +1822746888676809 116414:116414 2:"" +1822746897186943 116414:116414 0:"before hipLaunchKernel" +1822746897188273 116414:116414 1:"hipLaunchKernel" +1822746897222683 116414:116414 0:"after hipLaunchKernel" +1822746897223593 116414:116414 1:"hipMemcpy" +1822746901551981 116414:116414 2:"" +1822746901552501 116414:116414 2:"" +1822746910088165 116414:116414 0:"before hipLaunchKernel" +1822746910089685 116414:116414 1:"hipLaunchKernel" +1822746910134435 116414:116414 0:"after hipLaunchKernel" +1822746910135325 116414:116414 1:"hipMemcpy" +1822746914420963 116414:116414 2:"" +1822746914421563 116414:116414 2:"" +1822746922911487 116414:116414 0:"before hipLaunchKernel" +1822746922912937 116414:116414 1:"hipLaunchKernel" +1822746922947557 116414:116414 0:"after hipLaunchKernel" +1822746922948317 116414:116414 1:"hipMemcpy" +1822746927246104 116414:116414 2:"" +1822746927246624 116414:116414 2:"" +1822746935790968 116414:116414 0:"before hipLaunchKernel" +1822746935792308 116414:116414 1:"hipLaunchKernel" +1822746935827819 116414:116414 0:"after hipLaunchKernel" +1822746935828559 116414:116414 1:"hipMemcpy" +1822746940122006 116414:116414 2:"" +1822746940122596 116414:116414 2:"" +1822746948636931 116414:116414 0:"before hipLaunchKernel" +1822746948638371 116414:116414 1:"hipLaunchKernel" +1822746948672781 116414:116414 0:"after hipLaunchKernel" +1822746948673531 116414:116414 1:"hipMemcpy" +1822746952927188 116414:116414 2:"" +1822746952927708 116414:116414 2:"" +1822746961432932 116414:116414 0:"before hipLaunchKernel" +1822746961435752 116414:116414 1:"hipLaunchKernel" +1822746961471142 116414:116414 0:"after hipLaunchKernel" +1822746961471802 116414:116414 1:"hipMemcpy" +1822746965815570 116414:116414 2:"" +1822746965816100 116414:116414 2:"" +1822746974347674 116414:116414 0:"before hipLaunchKernel" +1822746974349324 116414:116414 1:"hipLaunchKernel" +1822746974384045 116414:116414 0:"after hipLaunchKernel" +1822746974385025 116414:116414 1:"hipMemcpy" +1822746978701042 116414:116414 2:"" +1822746978701592 116414:116414 2:"" +1822746987238836 116414:116414 0:"before hipLaunchKernel" +1822746987240226 116414:116414 1:"hipLaunchKernel" +1822746987274997 116414:116414 0:"after hipLaunchKernel" +1822746987275707 116414:116414 1:"hipMemcpy" +1822746991547893 116414:116414 2:"" +1822746991548494 116414:116414 2:"" +1822747000045978 116414:116414 0:"before hipLaunchKernel" +1822747000047348 116414:116414 1:"hipLaunchKernel" +1822747000090598 116414:116414 0:"after hipLaunchKernel" +1822747000091268 116414:116414 1:"hipMemcpy" +1822747004383755 116414:116414 2:"" +1822747004384265 116414:116414 2:"" +1822747012920530 116414:116414 0:"before hipLaunchKernel" +1822747012922090 116414:116414 1:"hipLaunchKernel" +1822747012956500 116414:116414 0:"after hipLaunchKernel" +1822747012957150 116414:116414 1:"hipMemcpy" +1822747017227137 116414:116414 2:"" +1822747017227777 116414:116414 2:"" +1822747025739591 116414:116414 0:"before hipLaunchKernel" +1822747025741081 116414:116414 1:"hipLaunchKernel" +1822747025783142 116414:116414 0:"after hipLaunchKernel" +1822747025783922 116414:116414 1:"hipMemcpy" +1822747030052989 116414:116414 2:"" +1822747030053759 116414:116414 2:"" +1822747038576853 116414:116414 0:"before hipLaunchKernel" +1822747038578503 116414:116414 1:"hipLaunchKernel" +1822747038612073 116414:116414 0:"after hipLaunchKernel" +1822747038612833 116414:116414 1:"hipMemcpy" +1822747042937871 116414:116414 2:"" +1822747042938471 116414:116414 2:"" +1822747051456945 116414:116414 0:"before hipLaunchKernel" +1822747051458345 116414:116414 1:"hipLaunchKernel" +1822747051503015 116414:116414 0:"after hipLaunchKernel" +1822747051503705 116414:116414 1:"hipMemcpy" +1822747055762813 116414:116414 2:"" +1822747055763443 116414:116414 2:"" +1822747064282657 116414:116414 0:"before hipLaunchKernel" +1822747064284077 116414:116414 1:"hipLaunchKernel" +1822747064318447 116414:116414 0:"after hipLaunchKernel" +1822747064319197 116414:116414 1:"hipMemcpy" +1822747068577384 116414:116414 2:"" +1822747068577934 116414:116414 2:"" +1822747077191129 116414:116414 0:"before hipLaunchKernel" +1822747077192549 116414:116414 1:"hipLaunchKernel" +1822747077226949 116414:116414 0:"after hipLaunchKernel" +1822747077227719 116414:116414 1:"hipMemcpy" +1822747081495256 116414:116414 2:"" +1822747081495776 116414:116414 2:"" +1822747089776589 116414:116414 0:"before hipLaunchKernel" +1822747089777999 116414:116414 1:"hipLaunchKernel" +1822747089813449 116414:116414 0:"after hipLaunchKernel" +1822747089814139 116414:116414 1:"hipMemcpy" +1822747094097527 116414:116414 2:"" +1822747094098047 116414:116414 2:"" +1822747102607691 116414:116414 0:"before hipLaunchKernel" +1822747102609421 116414:116414 1:"hipLaunchKernel" +1822747102643231 116414:116414 0:"after hipLaunchKernel" +1822747102643911 116414:116414 1:"hipMemcpy" +1822747106933368 116414:116414 2:"" +1822747106933978 116414:116414 2:"" +1822747115463482 116414:116414 0:"before hipLaunchKernel" +1822747115465012 116414:116414 1:"hipLaunchKernel" +1822747115499573 116414:116414 0:"after hipLaunchKernel" +1822747115500483 116414:116414 1:"hipMemcpy" +1822747119761130 116414:116414 2:"" +1822747119761640 116414:116414 2:"" +1822747128308084 116414:116414 0:"before hipLaunchKernel" +1822747128309904 116414:116414 1:"hipLaunchKernel" +1822747128345134 116414:116414 0:"after hipLaunchKernel" +1822747128346204 116414:116414 1:"hipMemcpy" +1822747132643762 116414:116414 2:"" +1822747132644392 116414:116414 2:"" +1822747141164966 116414:116414 0:"before hipLaunchKernel" +1822747141166346 116414:116414 1:"hipLaunchKernel" +1822747141208846 116414:116414 0:"after hipLaunchKernel" +1822747141209526 116414:116414 1:"hipMemcpy" +1822747145462743 116414:116414 2:"" +1822747145463293 116414:116414 2:"" +1822747153659646 116414:116414 0:"before hipLaunchKernel" +1822747153661386 116414:116414 1:"hipLaunchKernel" +1822747153697026 116414:116414 0:"after hipLaunchKernel" +1822747153697946 116414:116414 1:"hipMemcpy" +1822747157970553 116414:116414 2:"" +1822747157971203 116414:116414 2:"" +1822747166489167 116414:116414 0:"before hipLaunchKernel" +1822747166490847 116414:116414 1:"hipLaunchKernel" +1822747166534498 116414:116414 0:"after hipLaunchKernel" +1822747166535248 116414:116414 1:"hipMemcpy" +1822747170843355 116414:116414 2:"" +1822747170844005 116414:116414 2:"" +1822747179364369 116414:116414 0:"before hipLaunchKernel" +1822747179366319 116414:116414 1:"hipLaunchKernel" +1822747179408579 116414:116414 0:"after hipLaunchKernel" +1822747179409199 116414:116414 1:"hipMemcpy" +1822747183702187 116414:116414 2:"" +1822747183702787 116414:116414 2:"" +1822747192222161 116414:116414 0:"before hipLaunchKernel" +1822747192223991 116414:116414 1:"hipLaunchKernel" +1822747192269142 116414:116414 0:"after hipLaunchKernel" +1822747192269822 116414:116414 1:"hipMemcpy" +1822747196568598 116414:116414 2:"" +1822747196569168 116414:116414 2:"" +1822747205092893 116414:116414 0:"before hipLaunchKernel" +1822747205094473 116414:116414 1:"hipLaunchKernel" +1822747205129393 116414:116414 0:"after hipLaunchKernel" +1822747205130083 116414:116414 1:"hipMemcpy" +1822747209399201 116414:116414 2:"" +1822747209399821 116414:116414 2:"" +1822747217944995 116414:116414 0:"before hipLaunchKernel" +1822747217946345 116414:116414 1:"hipLaunchKernel" +1822747217981665 116414:116414 0:"after hipLaunchKernel" +1822747217982525 116414:116414 1:"hipMemcpy" +1822747222277472 116414:116414 2:"" +1822747222278072 116414:116414 2:"" +1822747230808677 116414:116414 0:"before hipLaunchKernel" +1822747230810017 116414:116414 1:"hipLaunchKernel" +1822747230844757 116414:116414 0:"after hipLaunchKernel" +1822747230845487 116414:116414 1:"hipMemcpy" +1822747235088884 116414:116414 2:"" +1822747235089394 116414:116414 2:"" +1822747243249936 116414:116414 0:"before hipLaunchKernel" +1822747243251626 116414:116414 1:"hipLaunchKernel" +1822747243285766 116414:116414 0:"after hipLaunchKernel" +1822747243286516 116414:116414 1:"hipMemcpy" +1822747247529393 116414:116414 2:"" +1822747247530013 116414:116414 2:"" +1822747256043087 116414:116414 0:"before hipLaunchKernel" +1822747256044427 116414:116414 1:"hipLaunchKernel" +1822747256087698 116414:116414 0:"after hipLaunchKernel" +1822747256088488 116414:116414 1:"hipMemcpy" +1822747260364015 116414:116414 2:"" +1822747260364585 116414:116414 2:"" +1822747268896409 116414:116414 0:"before hipLaunchKernel" +1822747268897949 116414:116414 1:"hipLaunchKernel" +1822747268932309 116414:116414 0:"after hipLaunchKernel" +1822747268933119 116414:116414 1:"hipMemcpy" +1822747273198687 116414:116414 2:"" +1822747273199287 116414:116414 2:"" +1822747281724171 116414:116414 0:"before hipLaunchKernel" +1822747281725431 116414:116414 1:"hipLaunchKernel" +1822747281769611 116414:116414 0:"after hipLaunchKernel" +1822747281770251 116414:116414 1:"hipMemcpy" +1822747286046789 116414:116414 2:"" +1822747286047509 116414:116414 2:"" +1822747294179420 116414:116414 0:"before hipLaunchKernel" +1822747294180750 116414:116414 1:"hipLaunchKernel" +1822747294215440 116414:116414 0:"after hipLaunchKernel" +1822747294216190 116414:116414 1:"hipMemcpy" +1822747298480488 116414:116414 2:"" +1822747298481088 116414:116414 2:"" +1822747306992672 116414:116414 0:"before hipLaunchKernel" +1822747306994192 116414:116414 1:"hipLaunchKernel" +1822747307037212 116414:116414 0:"after hipLaunchKernel" +1822747307037882 116414:116414 1:"hipMemcpy" +1822747311315539 116414:116414 2:"" +1822747311316169 116414:116414 2:"" +1822747319874703 116414:116414 0:"before hipLaunchKernel" +1822747319876163 116414:116414 1:"hipLaunchKernel" +1822747319911874 116414:116414 0:"after hipLaunchKernel" +1822747319912624 116414:116414 1:"hipMemcpy" +1822747324204331 116414:116414 2:"" +1822747324204961 116414:116414 2:"" +1822747332705286 116414:116414 0:"before hipLaunchKernel" +1822747332706706 116414:116414 1:"hipLaunchKernel" +1822747332741176 116414:116414 0:"after hipLaunchKernel" +1822747332741956 116414:116414 1:"hipMemcpy" +1822747337037743 116414:116414 2:"" +1822747337038363 116414:116414 2:"" +1822747345559747 116414:116414 0:"before hipLaunchKernel" +1822747345561087 116414:116414 1:"hipLaunchKernel" +1822747345596618 116414:116414 0:"after hipLaunchKernel" +1822747345597448 116414:116414 1:"hipMemcpy" +1822747349873355 116414:116414 2:"" +1822747349873885 116414:116414 2:"" +1822747358051257 116414:116414 0:"before hipLaunchKernel" +1822747358052777 116414:116414 1:"hipLaunchKernel" +1822747358087627 116414:116414 0:"after hipLaunchKernel" +1822747358088377 116414:116414 1:"hipMemcpy" +1822747362399145 116414:116414 2:"" +1822747362399835 116414:116414 2:"" +1822747370904859 116414:116414 0:"before hipLaunchKernel" +1822747370906179 116414:116414 1:"hipLaunchKernel" +1822747370939949 116414:116414 0:"after hipLaunchKernel" +1822747370940629 116414:116414 1:"hipMemcpy" +1822747375221976 116414:116414 2:"" +1822747375222496 116414:116414 2:"" +1822747383758011 116414:116414 0:"before hipLaunchKernel" +1822747383759461 116414:116414 1:"hipLaunchKernel" +1822747383792951 116414:116414 0:"after hipLaunchKernel" +1822747383793631 116414:116414 1:"hipMemcpy" +1822747388093298 116414:116414 2:"" +1822747388093808 116414:116414 2:"" +1822747396606582 116414:116414 0:"before hipLaunchKernel" +1822747396608512 116414:116414 1:"hipLaunchKernel" +1822747396653613 116414:116414 0:"after hipLaunchKernel" +1822747396654593 116414:116414 1:"hipMemcpy" +1822747400910840 116414:116414 2:"" +1822747400911400 116414:116414 2:"" +1822747409452094 116414:116414 0:"before hipLaunchKernel" +1822747409453434 116414:116414 1:"hipLaunchKernel" +1822747409489224 116414:116414 0:"after hipLaunchKernel" +1822747409489944 116414:116414 1:"hipMemcpy" +1822747413770832 116414:116414 2:"" +1822747413771422 116414:116414 2:"" +1822747421888943 116414:116414 0:"before hipLaunchKernel" +1822747421890693 116414:116414 1:"hipLaunchKernel" +1822747421933914 116414:116414 0:"after hipLaunchKernel" +1822747421934664 116414:116414 1:"hipMemcpy" +1822747426217861 116414:116414 2:"" +1822747426218411 116414:116414 2:"" +1822747434752365 116414:116414 0:"before hipLaunchKernel" +1822747434753675 116414:116414 1:"hipLaunchKernel" +1822747434787675 116414:116414 0:"after hipLaunchKernel" +1822747434788355 116414:116414 1:"hipMemcpy" +1822747439089323 116414:116414 2:"" +1822747439089873 116414:116414 2:"" +1822747447612967 116414:116414 0:"before hipLaunchKernel" +1822747447614377 116414:116414 1:"hipLaunchKernel" +1822747447654907 116414:116414 0:"after hipLaunchKernel" +1822747447655657 116414:116414 1:"hipMemcpy" +1822747451958285 116414:116414 2:"" +1822747451958855 116414:116414 2:"" +1822747460454349 116414:116414 0:"before hipLaunchKernel" +1822747460456039 116414:116414 1:"hipLaunchKernel" +1822747460491099 116414:116414 0:"after hipLaunchKernel" +1822747460491699 116414:116414 1:"hipMemcpy" +1822747464744336 116414:116414 2:"" +1822747464744886 116414:116414 2:"" +1822747473259650 116414:116414 0:"before hipLaunchKernel" +1822747473261100 116414:116414 1:"hipLaunchKernel" +1822747473295340 116414:116414 0:"after hipLaunchKernel" +1822747473296320 116414:116414 1:"hipMemcpy" +1822747477592178 116414:116414 2:"" +1822747477592778 116414:116414 2:"" +1822747486095772 116414:116414 0:"before hipLaunchKernel" +1822747486097132 116414:116414 1:"hipLaunchKernel" +1822747486131912 116414:116414 0:"after hipLaunchKernel" +1822747486132722 116414:116414 1:"hipMemcpy" +1822747490419909 116414:116414 2:"" +1822747490420420 116414:116414 2:"" +1822747498947114 116414:116414 0:"before hipLaunchKernel" +1822747498948454 116414:116414 1:"hipLaunchKernel" +1822747498982554 116414:116414 0:"after hipLaunchKernel" +1822747498983314 116414:116414 1:"hipMemcpy" +1822747503269211 116414:116414 2:"" +1822747503269801 116414:116414 2:"" +1822747511821906 116414:116414 0:"before hipLaunchKernel" +1822747511823506 116414:116414 1:"hipLaunchKernel" +1822747511857306 116414:116414 0:"after hipLaunchKernel" +1822747511858026 116414:116414 1:"hipMemcpy" +1822747516150773 116414:116414 2:"" +1822747516151333 116414:116414 2:"" +1822747524674428 116414:116414 0:"before hipLaunchKernel" +1822747524675968 116414:116414 1:"hipLaunchKernel" +1822747524709788 116414:116414 0:"after hipLaunchKernel" +1822747524710798 116414:116414 1:"hipMemcpy" +1822747528988735 116414:116414 2:"" +1822747528989295 116414:116414 2:"" +1822747537127717 116414:116414 0:"before hipLaunchKernel" +1822747537129107 116414:116414 1:"hipLaunchKernel" +1822747537165427 116414:116414 0:"after hipLaunchKernel" +1822747537166147 116414:116414 1:"hipMemcpy" +1822747541437164 116414:116414 2:"" +1822747541437674 116414:116414 2:"" +1822747549616007 116414:116414 0:"before hipLaunchKernel" +1822747549617497 116414:116414 1:"hipLaunchKernel" +1822747549652847 116414:116414 0:"after hipLaunchKernel" +1822747549653597 116414:116414 1:"hipMemcpy" +1822747553934464 116414:116414 2:"" +1822747553935054 116414:116414 2:"" +1822747562457678 116414:116414 0:"before hipLaunchKernel" +1822747562459548 116414:116414 1:"hipLaunchKernel" +1822747562503719 116414:116414 0:"after hipLaunchKernel" +1822747562504369 116414:116414 1:"hipMemcpy" +1822747566818976 116414:116414 2:"" +1822747566819486 116414:116414 2:"" +1822747574946208 116414:116414 0:"before hipLaunchKernel" +1822747574947718 116414:116414 1:"hipLaunchKernel" +1822747574982938 116414:116414 0:"after hipLaunchKernel" +1822747574983698 116414:116414 1:"hipMemcpy" +1822747579263685 116414:116414 2:"" +1822747579264285 116414:116414 2:"" +1822745846694606:1822745854958588 0:0 hcMemcpyHostToDevice:4 +1822746303429824:1822746304643366 0:0 hcCommandKernel:6 +1822746304795192:1822746307813551 0:0 hcMemcpyDeviceToHost:8 +1822746320723013:1822746322780696 0:0 hcMemcpyHostToDevice:9 +1822746322836451:1822746324030881 0:0 hcCommandKernel:11 +1822746304656289:1822746304698662 0:0 hcCommandMarker:8 +1822746324124125:1822746327106804 0:0 hcMemcpyDeviceToHost:13 +1822746333603475:1822746335656778 0:0 hcMemcpyHostToDevice:14 +1822746335705194:1822746336927625 0:0 hcCommandKernel:16 +1822746324035875:1822746324067433 0:0 hcCommandMarker:13 +1822746337021117:1822746340058236 0:0 hcMemcpyDeviceToHost:18 +1822746346523298:1822746348563591 0:0 hcMemcpyHostToDevice:19 +1822746348617706:1822746349814210 0:0 hcCommandKernel:21 +1822746336932682:1822746336964388 0:0 hcCommandMarker:18 +1822746349904929:1822746352899698 0:0 hcMemcpyDeviceToHost:23 +1822746359361629:1822746361400262 0:0 hcMemcpyHostToDevice:24 +1822746361450267:1822746362634919 0:0 hcCommandKernel:26 +1822746349819318:1822746349850875 0:0 hcCommandMarker:23 +1822746362727320:1822746365741009 0:0 hcMemcpyDeviceToHost:28 +1822746372218591:1822746374265654 0:0 hcMemcpyHostToDevice:29 +1822746374324206:1822746375517450 0:0 hcCommandKernel:31 +1822746362640070:1822746362671182 0:0 hcCommandMarker:28 +1822746375611153:1822746378591671 0:0 hcMemcpyDeviceToHost:33 +1822746384677870:1822746386718163 0:0 hcMemcpyHostToDevice:34 +1822746386768129:1822746387975152 0:0 hcCommandKernel:36 +1822746375522532:1822746375553645 0:0 hcCommandMarker:33 +1822746388063982:1822746391045151 0:0 hcMemcpyDeviceToHost:38 +1822746397130819:1822746399181603 0:0 hcMemcpyHostToDevice:39 +1822746399230436:1822746400431829 0:0 hcCommandKernel:41 +1822746387980100:1822746388011657 0:0 hcCommandMarker:38 +1822746400525301:1822746403526701 0:0 hcMemcpyDeviceToHost:43 +1822746410010991:1822746412053745 0:0 hcMemcpyHostToDevice:44 +1822746412101455:1822746413300181 0:0 hcCommandKernel:46 +1822746400437024:1822746400468582 0:0 hcCommandMarker:43 +1822746413389643:1822746416384192 0:0 hcMemcpyDeviceToHost:48 +1822746422842763:1822746424893916 0:0 hcMemcpyHostToDevice:49 +1822746424940744:1822746426133988 0:0 hcCommandKernel:51 +1822746413305352:1822746413337206 0:0 hcCommandMarker:48 +1822746426224225:1822746429214624 0:0 hcMemcpyDeviceToHost:53 +1822746435693165:1822746437717408 0:0 hcMemcpyHostToDevice:54 +1822746437774256:1822746438967204 0:0 hcCommandKernel:56 +1822746426139161:1822746426170866 0:0 hcCommandMarker:53 +1822746439056356:1822746442024226 0:0 hcMemcpyDeviceToHost:58 +1822746448099264:1822746450154407 0:0 hcMemcpyHostToDevice:59 +1822746450203751:1822746451407810 0:0 hcCommandKernel:61 +1822746438972231:1822746439004529 0:0 hcCommandMarker:58 +1822746451504346:1822746454499105 0:0 hcMemcpyDeviceToHost:63 +1822746460959016:1822746462998779 0:0 hcMemcpyHostToDevice:64 +1822746463055996:1822746464260649 0:0 hcCommandKernel:66 +1822746451412900:1822746451444753 0:0 hcCommandMarker:63 +1822746464350677:1822746467332667 0:0 hcMemcpyDeviceToHost:68 +1822746473833308:1822746475879361 0:0 hcMemcpyHostToDevice:69 +1822746475926642:1822746477121072 0:0 hcCommandKernel:71 +1822746464265472:1822746464296881 0:0 hcCommandMarker:68 +1822746477215419:1822746480220979 0:0 hcMemcpyDeviceToHost:73 +1822746486696960:1822746488734042 0:0 hcMemcpyHostToDevice:74 +1822746488789228:1822746489970324 0:0 hcCommandKernel:76 +1822746477126132:1822746477157837 0:0 hcCommandMarker:73 +1822746490060621:1822746493090540 0:0 hcMemcpyDeviceToHost:78 +1822746499548162:1822746501594625 0:0 hcMemcpyHostToDevice:79 +1822746501644245:1822746502848156 0:0 hcCommandKernel:81 +1822746489975370:1822746490006927 0:0 hcCommandMarker:78 +1822746502941603:1822746505924812 0:0 hcMemcpyDeviceToHost:83 +1822746512386853:1822746514441866 0:0 hcMemcpyHostToDevice:84 +1822746514502279:1822746515697005 0:0 hcCommandKernel:86 +1822746502853256:1822746502884961 0:0 hcCommandMarker:83 +1822746515786755:1822746518737674 0:0 hcMemcpyDeviceToHost:88 +1822746525208945:1822746527254418 0:0 hcMemcpyHostToDevice:89 +1822746527314585:1822746528529015 0:0 hcCommandKernel:91 +1822746515702008:1822746515733862 0:0 hcCommandMarker:88 +1822746528618736:1822746531582475 0:0 hcMemcpyDeviceToHost:93 +1822746538066317:1822746540119810 0:0 hcMemcpyHostToDevice:94 +1822746540169674:1822746541362622 0:0 hcCommandKernel:96 +1822746528533986:1822746528565692 0:0 hcCommandMarker:93 +1822746541452028:1822746544473877 0:0 hcMemcpyDeviceToHost:98 +1822746550920939:1822746552966602 0:0 hcMemcpyHostToDevice:99 +1822746553016227:1822746554220435 0:0 hcCommandKernel:101 +1822746541367502:1822746541398763 0:0 hcCommandMarker:98 +1822746554311330:1822746557328730 0:0 hcMemcpyDeviceToHost:103 +1822746563780720:1822746565842464 0:0 hcMemcpyHostToDevice:104 +1822746565891124:1822746567105259 0:0 hcCommandKernel:106 +1822746554225509:1822746554257214 0:0 hcCommandMarker:103 +1822746567198362:1822746570191461 0:0 hcMemcpyDeviceToHost:108 +1822746576284980:1822746578329193 0:0 hcMemcpyHostToDevice:109 +1822746578378206:1822746579570858 0:0 hcCommandKernel:111 +1822746567110536:1822746567142537 0:0 hcCommandMarker:108 +1822746579665522:1822746582639151 0:0 hcMemcpyDeviceToHost:113 +1822746589095511:1822746591153645 0:0 hcMemcpyHostToDevice:114 +1822746591202562:1822746592414029 0:0 hcCommandKernel:116 +1822746579575616:1822746579607321 0:0 hcCommandMarker:113 +1822746592512113:1822746595498623 0:0 hcMemcpyDeviceToHost:118 +1822746601964713:1822746604011647 0:0 hcMemcpyHostToDevice:119 +1822746604068569:1822746605275592 0:0 hcCommandKernel:121 +1822746592419251:1822746592450956 0:0 hcCommandMarker:118 +1822746605366435:1822746608325004 0:0 hcMemcpyDeviceToHost:123 +1822746614421063:1822746616465356 0:0 hcMemcpyHostToDevice:124 +1822746616513523:1822746617722176 0:0 hcCommandKernel:126 +1822746605280818:1822746605312523 0:0 hcCommandMarker:123 +1822746617819294:1822746620821664 0:0 hcMemcpyDeviceToHost:128 +1822746627278435:1822746629325708 0:0 hcMemcpyHostToDevice:129 +1822746629382265:1822746630589287 0:0 hcCommandKernel:131 +1822746617727168:1822746617758429 0:0 hcCommandMarker:128 +1822746630681996:1822746633692796 0:0 hcMemcpyDeviceToHost:133 +1822746639755754:1822746641806997 0:0 hcMemcpyHostToDevice:134 +1822746641862485:1822746643058248 0:0 hcCommandKernel:136 +1822746630594519:1822746630626669 0:0 hcCommandMarker:133 +1822746643146416:1822746646091634 0:0 hcMemcpyDeviceToHost:138 +1822746652551416:1822746654597369 0:0 hcMemcpyHostToDevice:139 +1822746654657047:1822746655860810 0:0 hcCommandKernel:141 +1822746643063731:1822746643095288 0:0 hcCommandMarker:138 +1822746655949307:1822746658915726 0:0 hcMemcpyDeviceToHost:143 +1822746665378267:1822746667423120 0:0 hcMemcpyHostToDevice:144 +1822746667470322:1822746668671419 0:0 hcCommandKernel:146 +1822746655865746:1822746655897451 0:0 hcCommandMarker:143 +1822746668766159:1822746671738128 0:0 hcMemcpyDeviceToHost:148 +1822746678206339:1822746680260102 0:0 hcMemcpyHostToDevice:149 +1822746680308232:1822746681508292 0:0 hcCommandKernel:151 +1822746668676544:1822746668708250 0:0 hcCommandMarker:148 +1822746681599051:1822746684596209 0:0 hcMemcpyDeviceToHost:153 +1822746691038381:1822746693080794 0:0 hcMemcpyHostToDevice:154 +1822746693129097:1822746694329749 0:0 hcCommandKernel:156 +1822746681513411:1822746681545116 0:0 hcCommandMarker:153 +1822746694422112:1822746697413751 0:0 hcMemcpyDeviceToHost:158 +1822746703858202:1822746705925495 0:0 hcMemcpyHostToDevice:159 +1822746705975818:1822746707175878 0:0 hcCommandKernel:161 +1822746694334649:1822746694366503 0:0 hcCommandMarker:158 +1822746707272574:1822746710263013 0:0 hcMemcpyDeviceToHost:163 +1822746716776915:1822746718815558 0:0 hcMemcpyHostToDevice:164 +1822746718861486:1822746720065694 0:0 hcCommandKernel:166 +1822746707180907:1822746707212316 0:0 hcCommandMarker:163 +1822746720157016:1822746723103705 0:0 hcMemcpyDeviceToHost:168 +1822746729598936:1822746731650979 0:0 hcMemcpyHostToDevice:169 +1822746731699480:1822746732898798 0:0 hcCommandKernel:171 +1822746720070755:1822746720102757 0:0 hcCommandMarker:168 +1822746732992668:1822746735976367 0:0 hcMemcpyDeviceToHost:173 +1822746742066876:1822746744106829 0:0 hcMemcpyHostToDevice:174 +1822746744164465:1822746745363784 0:0 hcCommandKernel:176 +1822746732903906:1822746732935759 0:0 hcCommandMarker:173 +1822746745455297:1822746748466206 0:0 hcMemcpyDeviceToHost:178 +1822746754556705:1822746756600518 0:0 hcMemcpyHostToDevice:179 +1822746756650492:1822746757849514 0:0 hcCommandKernel:181 +1822746745368748:1822746745401045 0:0 hcCommandMarker:178 +1822746757942356:1822746760950505 0:0 hcMemcpyDeviceToHost:183 +1822746767400787:1822746769456080 0:0 hcMemcpyHostToDevice:184 +1822746769515356:1822746770712897 0:0 hcCommandKernel:186 +1822746757854629:1822746757886186 0:0 hcCommandMarker:183 +1822746770802739:1822746773812208 0:0 hcMemcpyDeviceToHost:188 +1822746780284119:1822746782328902 0:0 hcMemcpyHostToDevice:189 +1822746782384783:1822746783584102 0:0 hcCommandKernel:191 +1822746770717687:1822746770749837 0:0 hcCommandMarker:188 +1822746783680311:1822746786656569 0:0 hcMemcpyDeviceToHost:193 +1822746793126570:1822746795170844 0:0 hcMemcpyHostToDevice:194 +1822746795229846:1822746796419535 0:0 hcCommandKernel:196 +1822746783589268:1822746783621714 0:0 hcCommandMarker:193 +1822746796514412:1822746799483541 0:0 hcMemcpyDeviceToHost:198 +1822746805752131:1822746807822864 0:0 hcMemcpyHostToDevice:199 +1822746807872258:1822746809066836 0:0 hcCommandKernel:201 +1822746796424432:1822746796456285 0:0 hcCommandMarker:198 +1822746809156563:1822746812160341 0:0 hcMemcpyDeviceToHost:203 +1822746818675413:1822746820715166 0:0 hcMemcpyHostToDevice:204 +1822746820761636:1822746821961547 0:0 hcCommandKernel:206 +1822746809071724:1822746809103577 0:0 hcCommandMarker:203 +1822746822049125:1822746825042094 0:0 hcMemcpyDeviceToHost:208 +1822746831174713:1822746833216666 0:0 hcMemcpyHostToDevice:209 +1822746833264354:1822746834474636 0:0 hcCommandKernel:211 +1822746821966609:1822746821998315 0:0 hcCommandMarker:208 +1822746834567874:1822746837570143 0:0 hcMemcpyDeviceToHost:213 +1822746844045945:1822746846094708 0:0 hcMemcpyHostToDevice:214 +1822746846143047:1822746847339107 0:0 hcCommandKernel:216 +1822746834479803:1822746834511657 0:0 hcCommandMarker:213 +1822746847430466:1822746850391535 0:0 hcMemcpyDeviceToHost:218 +1822746856872336:1822746858920879 0:0 hcMemcpyHostToDevice:219 +1822746858970905:1822746860163557 0:0 hcCommandKernel:221 +1822746847344106:1822746847375663 0:0 hcCommandMarker:218 +1822746860252348:1822746863231427 0:0 hcMemcpyDeviceToHost:223 +1822746869408556:1822746871462119 0:0 hcMemcpyHostToDevice:224 +1822746871511819:1822746872712620 0:0 hcCommandKernel:226 +1822746860168590:1822746860200147 0:0 hcCommandMarker:223 +1822746872809568:1822746875778157 0:0 hcMemcpyDeviceToHost:228 +1822746882258768:1822746884301771 0:0 hcMemcpyHostToDevice:229 +1822746884359118:1822746885560511 0:0 hcCommandKernel:231 +1822746872717651:1822746872748912 0:0 hcCommandMarker:228 +1822746885654319:1822746888672049 0:0 hcMemcpyDeviceToHost:233 +1822746895138610:1822746897179513 0:0 hcMemcpyHostToDevice:234 +1822746897227988:1822746898442271 0:0 hcCommandKernel:236 +1822746885565336:1822746885596449 0:0 hcCommandMarker:233 +1822746898540601:1822746901547421 0:0 hcMemcpyDeviceToHost:238 +1822746908021352:1822746910080635 0:0 hcMemcpyHostToDevice:239 +1822746910139374:1822746911351286 0:0 hcCommandKernel:241 +1822746898447386:1822746898478795 0:0 hcCommandMarker:238 +1822746911441983:1822746914414793 0:0 hcMemcpyDeviceToHost:243 +1822746920880104:1822746922904187 0:0 hcMemcpyHostToDevice:244 +1822746922952505:1822746924164417 0:0 hcCommandKernel:246 +1822746911356227:1822746911388229 0:0 hcCommandMarker:243 +1822746924255965:1822746927241634 0:0 hcMemcpyDeviceToHost:248 +1822746933728855:1822746935773338 0:0 hcMemcpyHostToDevice:249 +1822746935832849:1822746937031279 0:0 hcCommandKernel:251 +1822746924169308:1822746924201162 0:0 hcCommandMarker:248 +1822746937122477:1822746940117836 0:0 hcMemcpyDeviceToHost:253 +1822746946584908:1822746948629301 0:0 hcMemcpyHostToDevice:254 +1822746948677959:1822746949871056 0:0 hcCommandKernel:256 +1822746937036345:1822746937068199 0:0 hcCommandMarker:253 +1822746949961659:1822746952922958 0:0 hcMemcpyDeviceToHost:258 +1822746959384079:1822746961424632 0:0 hcMemcpyHostToDevice:259 +1822746961476400:1822746962686682 0:0 hcCommandKernel:261 +1822746949876121:1822746949907974 0:0 hcCommandMarker:258 +1822746962778350:1822746965811330 0:0 hcMemcpyDeviceToHost:263 +1822746972296521:1822746974340194 0:0 hcMemcpyHostToDevice:264 +1822746974389187:1822746975606581 0:0 hcCommandKernel:266 +1822746962691718:1822746962723423 0:0 hcCommandMarker:263 +1822746975700143:1822746978697102 0:0 hcMemcpyDeviceToHost:268 +1822746985173653:1822746987229176 0:0 hcMemcpyHostToDevice:269 +1822746987280002:1822746988484358 0:0 hcCommandKernel:271 +1822746975611572:1822746975643426 0:0 hcCommandMarker:268 +1822746988580485:1822746991543943 0:0 hcMemcpyDeviceToHost:273 +1822746998016495:1822747000038778 0:0 hcMemcpyHostToDevice:274 +1822747000087046:1822747001287995 0:0 hcCommandKernel:276 +1822746988489582:1822746988521436 0:0 hcCommandMarker:273 +1822747001376406:1822747004379455 0:0 hcMemcpyDeviceToHost:278 +1822747010852217:1822747012913010 0:0 hcMemcpyHostToDevice:279 +1822747012961691:1822747014161158 0:0 hcCommandKernel:281 +1822747001292965:1822747001324818 0:0 hcCommandMarker:278 +1822747014253818:1822747017222547 0:0 hcMemcpyDeviceToHost:283 +1822747023683838:1822747025732301 0:0 hcMemcpyHostToDevice:284 +1822747025788996:1822747026979574 0:0 hcCommandKernel:286 +1822747014166198:1822747014198052 0:0 hcCommandMarker:283 +1822747027070100:1822747030045629 0:0 hcMemcpyDeviceToHost:288 +1822747036522520:1822747038569243 0:0 hcMemcpyHostToDevice:289 +1822747038617312:1822747039808778 0:0 hcCommandKernel:291 +1822747026984734:1822747027016736 0:0 hcCommandMarker:288 +1822747039907842:1822747042933181 0:0 hcMemcpyDeviceToHost:293 +1822747049409322:1822747051449495 0:0 hcMemcpyHostToDevice:294 +1822747051506634:1822747052713805 0:0 hcCommandKernel:296 +1822747039813758:1822747039845760 0:0 hcCommandMarker:293 +1822747052806114:1822747055758003 0:0 hcMemcpyDeviceToHost:298 +1822747062251204:1822747064274377 0:0 hcMemcpyHostToDevice:299 +1822747064323523:1822747065521952 0:0 hcCommandKernel:301 +1822747052718948:1822747052751394 0:0 hcCommandMarker:298 +1822747065617495:1822747068572654 0:0 hcMemcpyDeviceToHost:303 +1822747075149726:1822747077173719 0:0 hcMemcpyHostToDevice:304 +1822747077232222:1822747078433170 0:0 hcCommandKernel:306 +1822747065527049:1822747065558902 0:0 hcCommandMarker:303 +1822747078526527:1822747081490286 0:0 hcMemcpyDeviceToHost:308 +1822747087713106:1822747089768539 0:0 hcMemcpyHostToDevice:309 +1822747089818113:1822747091020691 0:0 hcCommandKernel:311 +1822747078437994:1822747078469551 0:0 hcCommandMarker:308 +1822747091109837:1822747094093117 0:0 hcMemcpyDeviceToHost:313 +1822747100541217:1822747102599950 0:0 hcMemcpyHostToDevice:314 +1822747102648562:1822747103843436 0:0 hcCommandKernel:316 +1822747091025764:1822747091057617 0:0 hcCommandMarker:313 +1822747103936089:1822747106928978 0:0 hcMemcpyDeviceToHost:318 +1822747113411299:1822747115455572 0:0 hcMemcpyHostToDevice:319 +1822747115504503:1822747116704118 0:0 hcCommandKernel:321 +1822747103848517:1822747103880371 0:0 hcCommandMarker:318 +1822747116798531:1822747119756760 0:0 hcMemcpyDeviceToHost:323 +1822747126242471:1822747128298384 0:0 hcMemcpyHostToDevice:324 +1822747128349774:1822747129559908 0:0 hcCommandKernel:326 +1822747116709198:1822747116741051 0:0 hcCommandMarker:323 +1822747129656553:1822747132639572 0:0 hcMemcpyDeviceToHost:328 +1822747139110713:1822747141157876 0:0 hcMemcpyHostToDevice:329 +1822747141214126:1822747142402037 0:0 hcCommandKernel:331 +1822747129564956:1822747129596513 0:0 hcCommandMarker:328 +1822747142497014:1822747145458493 0:0 hcMemcpyDeviceToHost:333 +1822747151585243:1822747153651436 0:0 hcMemcpyHostToDevice:334 +1822747153701988:1822747154890936 0:0 hcCommandKernel:336 +1822747142407059:1822747142438764 0:0 hcCommandMarker:333 +1822747154985314:1822747157965553 0:0 hcMemcpyDeviceToHost:338 +1822747164440384:1822747166481917 0:0 hcMemcpyHostToDevice:339 +1822747166539009:1822747167736549 0:0 hcCommandKernel:341 +1822747154895913:1822747154927914 0:0 hcCommandMarker:338 +1822747167830796:1822747170835815 0:0 hcMemcpyDeviceToHost:343 +1822747177313656:1822747179357249 0:0 hcMemcpyHostToDevice:344 +1822747179413232:1822747180605143 0:0 hcCommandKernel:346 +1822747167741542:1822747167772803 0:0 hcCommandMarker:343 +1822747180702947:1822747183697477 0:0 hcMemcpyDeviceToHost:348 +1822747190170468:1822747192214061 0:0 hcMemcpyHostToDevice:349 +1822747192271730:1822747193468975 0:0 hcCommandKernel:351 +1822747180610263:1822747180642116 0:0 hcCommandMarker:348 +1822747193559770:1822747196564428 0:0 hcMemcpyDeviceToHost:353 +1822747203043420:1822747205085833 0:0 hcMemcpyHostToDevice:354 +1822747205134515:1822747206325833 0:0 hcCommandKernel:356 +1822747193473789:1822747193505346 0:0 hcCommandMarker:353 +1822747206413732:1822747209394461 0:0 hcMemcpyDeviceToHost:358 +1822747215878292:1822747217937415 0:0 hcMemcpyHostToDevice:359 +1822747217986743:1822747219210211 0:0 hcCommandKernel:361 +1822747206330906:1822747206362463 0:0 hcCommandMarker:358 +1822747219299404:1822747222273022 0:0 hcMemcpyDeviceToHost:363 +1822747228754164:1822747230801437 0:0 hcMemcpyHostToDevice:364 +1822747230850218:1822747232046722 0:0 hcCommandKernel:366 +1822747219215271:1822747219246828 0:0 hcCommandMarker:363 +1822747232123575:1822747235084824 0:0 hcMemcpyDeviceToHost:368 +1822747241190363:1822747243243166 0:0 hcMemcpyHostToDevice:369 +1822747243291089:1822747244488185 0:0 hcCommandKernel:371 +1822747232051717:1822747232082977 0:0 hcCommandMarker:368 +1822747244581325:1822747247525033 0:0 hcMemcpyDeviceToHost:373 +1822747253997974:1822747256034437 0:0 hcMemcpyHostToDevice:374 +1822747256084105:1822747257288164 0:0 hcCommandKernel:376 +1822747244493160:1822747244525014 0:0 hcCommandMarker:373 +1822747257378866:1822747260356555 0:0 hcMemcpyDeviceToHost:378 +1822747266833856:1822747268888449 0:0 hcMemcpyHostToDevice:379 +1822747268937397:1822747270141605 0:0 hcCommandKernel:381 +1822747257293264:1822747257325562 0:0 hcCommandMarker:378 +1822747270235958:1822747273193927 0:0 hcMemcpyDeviceToHost:383 +1822747279656308:1822747281716591 0:0 hcMemcpyHostToDevice:384 +1822747281774820:1822747282977250 0:0 hcCommandKernel:386 +1822747270146539:1822747270177948 0:0 hcCommandMarker:383 +1822747283067979:1822747286042298 0:0 hcMemcpyDeviceToHost:388 +1822747292114437:1822747294171210 0:0 hcMemcpyHostToDevice:389 +1822747294220474:1822747295414015 0:0 hcCommandKernel:391 +1822747282982287:1822747283014585 0:0 hcCommandMarker:388 +1822747295507938:1822747298475988 0:0 hcMemcpyDeviceToHost:393 +1822747304940839:1822747306985062 0:0 hcMemcpyHostToDevice:394 +1822747307042711:1822747308231511 0:0 hcCommandKernel:396 +1822747295419024:1822747295450877 0:0 hcCommandMarker:393 +1822747308321540:1822747311301569 0:0 hcMemcpyDeviceToHost:398 +1822747317808411:1822747319867173 0:0 hcMemcpyHostToDevice:399 +1822747319916853:1822747321117654 0:0 hcCommandKernel:401 +1822747308236422:1822747308268127 0:0 hcCommandMarker:398 +1822747321217272:1822747324200101 0:0 hcMemcpyDeviceToHost:403 +1822747330660573:1822747332688686 0:0 hcMemcpyHostToDevice:404 +1822747332746255:1822747333946167 0:0 hcCommandKernel:406 +1822747321122715:1822747321154421 0:0 hcCommandMarker:403 +1822747334035024:1822747337032983 0:0 hcMemcpyDeviceToHost:408 +1822747343499134:1822747345552477 0:0 hcMemcpyHostToDevice:409 +1822747345601712:1822747346815105 0:0 hcCommandKernel:411 +1822747333951209:1822747333982914 0:0 hcCommandMarker:408 +1822747346905206:1822747349868854 0:0 hcMemcpyDeviceToHost:413 +1822747355987174:1822747358043277 0:0 hcMemcpyHostToDevice:414 +1822747358092303:1822747359300955 0:0 hcCommandKernel:416 +1822747346820040:1822747346851746 0:0 hcCommandMarker:413 +1822747359392056:1822747362394634 0:0 hcMemcpyDeviceToHost:418 +1822747368869926:1822747370897079 0:0 hcMemcpyHostToDevice:419 +1822747370945085:1822747372132404 0:0 hcCommandKernel:421 +1822747359305990:1822747359338288 0:0 hcCommandMarker:418 +1822747372222717:1822747375217526 0:0 hcMemcpyDeviceToHost:423 +1822747381700097:1822747383750731 0:0 hcMemcpyHostToDevice:424 +1822747383798189:1822747384984766 0:0 hcCommandKernel:426 +1822747372137463:1822747372169168 0:0 hcCommandMarker:423 +1822747385077069:1822747388088828 0:0 hcMemcpyDeviceToHost:428 +1822747394554049:1822747396599412 0:0 hcMemcpyHostToDevice:429 +1822747396655845:1822747397870424 0:0 hcCommandKernel:431 +1822747384989637:1822747385021935 0:0 hcCommandMarker:428 +1822747397959161:1822747400906520 0:0 hcMemcpyDeviceToHost:433 +1822747407383351:1822747409443974 0:0 hcMemcpyHostToDevice:434 +1822747409494262:1822747410702915 0:0 hcCommandKernel:436 +1822747397875612:1822747397907318 0:0 hcCommandMarker:433 +1822747410795733:1822747413766601 0:0 hcMemcpyDeviceToHost:438 +1822747419832620:1822747421881393 0:0 hcMemcpyHostToDevice:439 +1822747421939077:1822747423137062 0:0 hcCommandKernel:441 +1822747410708150:1822747410740300 0:0 hcCommandMarker:438 +1822747423224492:1822747426213551 0:0 hcMemcpyDeviceToHost:443 +1822747432700682:1822747434745455 0:0 hcMemcpyHostToDevice:444 +1822747434792960:1822747435986205 0:0 hcCommandKernel:446 +1822747423141865:1822747423173570 0:0 hcCommandMarker:443 +1822747436078254:1822747439084853 0:0 hcMemcpyDeviceToHost:448 +1822747445561904:1822747447606207 0:0 hcMemcpyHostToDevice:449 +1822747447660064:1822747448858938 0:0 hcCommandKernel:451 +1822747435991337:1822747436023042 0:0 hcCommandMarker:448 +1822747448949705:1822747451950475 0:0 hcMemcpyDeviceToHost:453 +1822747458422776:1822747460445569 0:0 hcMemcpyHostToDevice:454 +1822747460495906:1822747461698632 0:0 hcCommandKernel:456 +1822747448864070:1822747448895924 0:0 hcCommandMarker:453 +1822747461786977:1822747464739946 0:0 hcMemcpyDeviceToHost:458 +1822747471195457:1822747473240880 0:0 hcMemcpyHostToDevice:459 +1822747473300770:1822747474507497 0:0 hcCommandKernel:461 +1822747461703602:1822747461735160 0:0 hcCommandMarker:458 +1822747474600889:1822747477587668 0:0 hcMemcpyDeviceToHost:463 +1822747484045419:1822747486088192 0:0 hcMemcpyHostToDevice:464 +1822747486136882:1822747487335904 0:0 hcCommandKernel:466 +1822747474512454:1822747474544456 0:0 hcCommandMarker:463 +1822747487425110:1822747490415609 0:0 hcMemcpyDeviceToHost:468 +1822747496882101:1822747498939404 0:0 hcMemcpyHostToDevice:469 +1822747498987881:1822747500189719 0:0 hcCommandKernel:471 +1822747487340934:1822747487372639 0:0 hcCommandMarker:468 +1822747500280762:1822747503264851 0:0 hcMemcpyDeviceToHost:473 +1822747509774463:1822747511814726 0:0 hcMemcpyHostToDevice:474 +1822747511862364:1822747513061831 0:0 hcCommandKernel:476 +1822747500194823:1822747500226973 0:0 hcCommandMarker:473 +1822747513151704:1822747516146383 0:0 hcMemcpyDeviceToHost:478 +1822747522614955:1822747524667498 0:0 hcMemcpyHostToDevice:479 +1822747524715308:1822747525917145 0:0 hcCommandKernel:481 +1822747513067026:1822747513098583 0:0 hcCommandMarker:478 +1822747526009976:1822747528984375 0:0 hcMemcpyDeviceToHost:483 +1822747535064804:1822747537109407 0:0 hcMemcpyHostToDevice:484 +1822747537169050:1822747538372221 0:0 hcCommandKernel:486 +1822747525922123:1822747525954272 0:0 hcCommandMarker:483 +1822747538461275:1822747541432984 0:0 hcMemcpyDeviceToHost:488 +1822747547551833:1822747549608487 0:0 hcMemcpyHostToDevice:489 +1822747549658235:1822747550859776 0:0 hcCommandKernel:491 +1822747538377083:1822747538408937 0:0 hcCommandMarker:488 +1822747550953385:1822747553930064 0:0 hcMemcpyDeviceToHost:493 +1822747560407595:1822747562450418 0:0 hcMemcpyHostToDevice:494 +1822747562508843:1822747563712606 0:0 hcCommandKernel:496 +1822747550865006:1822747550897008 0:0 hcCommandMarker:493 +1822747563807437:1822747566814536 0:0 hcMemcpyDeviceToHost:498 +1822747572896795:1822747574938758 0:0 hcMemcpyHostToDevice:499 +1822747574987797:1822747576184152 0:0 hcCommandKernel:501 +1822747563717609:1822747563749314 0:0 hcCommandMarker:498 +1822747576277226:1822747579259365 0:0 hcMemcpyDeviceToHost:503 +1822747576189041:1822747576220747 0:0 hcCommandMarker:503 From 1c3216af44b9c14998595642f98532595f5c7395 Mon Sep 17 00:00:00 2001 From: rkebichi <54912798+rkebichi@users.noreply.github.com> Date: Fri, 31 Jan 2020 16:02:08 -0500 Subject: [PATCH 309/691] Create MatrixTranspose_sys_hsa_trace.txt --- .../MatrixTranspose_sys_hsa_trace.txt | 7334 +++++++++++++++++ 1 file changed, 7334 insertions(+) create mode 100644 test/MatrixTranspose/MatrixTranspose_sys_hsa_trace.txt diff --git a/test/MatrixTranspose/MatrixTranspose_sys_hsa_trace.txt b/test/MatrixTranspose/MatrixTranspose_sys_hsa_trace.txt new file mode 100644 index 0000000000..38b348ab87 --- /dev/null +++ b/test/MatrixTranspose/MatrixTranspose_sys_hsa_trace.txt @@ -0,0 +1,7334 @@ +tool SYS/HSA test: "./test/MatrixTranspose" +ROCTracer (pid=116426): + rocTX-trace() + HSA-trace() + HSA-activity-trace() + HIP-trace() +Device name Vega 10 XT [Radeon RX Vega 64] +## Iteration (99) ################# +PASSED! +## Iteration (98) ################# +PASSED! +## Iteration (97) ################# +PASSED! +## Iteration (96) ################# +PASSED! +## Iteration (95) ################# +PASSED! +## Iteration (94) ################# +PASSED! +## Iteration (93) ################# +PASSED! +## Iteration (92) ################# +PASSED! +## Iteration (91) ################# +PASSED! +## Iteration (90) ################# +PASSED! +## Iteration (89) ################# +PASSED! +## Iteration (88) ################# +PASSED! +## Iteration (87) ################# +PASSED! +## Iteration (86) ################# +PASSED! +## Iteration (85) ################# +PASSED! +## Iteration (84) ################# +PASSED! +## Iteration (83) ################# +PASSED! +## Iteration (82) ################# +PASSED! +## Iteration (81) ################# +PASSED! +## Iteration (80) ################# +PASSED! +## Iteration (79) ################# +PASSED! +## Iteration (78) ################# +PASSED! +## Iteration (77) ################# +PASSED! +## Iteration (76) ################# +PASSED! +## Iteration (75) ################# +PASSED! +## Iteration (74) ################# +PASSED! +## Iteration (73) ################# +PASSED! +## Iteration (72) ################# +PASSED! +## Iteration (71) ################# +PASSED! +## Iteration (70) ################# +PASSED! +## Iteration (69) ################# +PASSED! +## Iteration (68) ################# +PASSED! +## Iteration (67) ################# +PASSED! +## Iteration (66) ################# +PASSED! +## Iteration (65) ################# +PASSED! +## Iteration (64) ################# +PASSED! +## Iteration (63) ################# +PASSED! +## Iteration (62) ################# +PASSED! +## Iteration (61) ################# +PASSED! +## Iteration (60) ################# +PASSED! +## Iteration (59) ################# +PASSED! +## Iteration (58) ################# +PASSED! +## Iteration (57) ################# +PASSED! +## Iteration (56) ################# +PASSED! +## Iteration (55) ################# +PASSED! +## Iteration (54) ################# +PASSED! +## Iteration (53) ################# +PASSED! +## Iteration (52) ################# +PASSED! +## Iteration (51) ################# +PASSED! +## Iteration (50) ################# +PASSED! +## Iteration (49) ################# +PASSED! +## Iteration (48) ################# +PASSED! +## Iteration (47) ################# +PASSED! +## Iteration (46) ################# +PASSED! +## Iteration (45) ################# +PASSED! +## Iteration (44) ################# +PASSED! +## Iteration (43) ################# +PASSED! +## Iteration (42) ################# +PASSED! +## Iteration (41) ################# +PASSED! +## Iteration (40) ################# +PASSED! +## Iteration (39) ################# +PASSED! +## Iteration (38) ################# +PASSED! +## Iteration (37) ################# +PASSED! +## Iteration (36) ################# +PASSED! +## Iteration (35) ################# +PASSED! +## Iteration (34) ################# +PASSED! +## Iteration (33) ################# +PASSED! +## Iteration (32) ################# +PASSED! +## Iteration (31) ################# +PASSED! +## Iteration (30) ################# +PASSED! +## Iteration (29) ################# +PASSED! +## Iteration (28) ################# +PASSED! +## Iteration (27) ################# +PASSED! +## Iteration (26) ################# +PASSED! +## Iteration (25) ################# +PASSED! +## Iteration (24) ################# +PASSED! +## Iteration (23) ################# +PASSED! +## Iteration (22) ################# +PASSED! +## Iteration (21) ################# +PASSED! +## Iteration (20) ################# +PASSED! +## Iteration (19) ################# +PASSED! +## Iteration (18) ################# +PASSED! +## Iteration (17) ################# +PASSED! +## Iteration (16) ################# +PASSED! +## Iteration (15) ################# +PASSED! +## Iteration (14) ################# +PASSED! +## Iteration (13) ################# +PASSED! +## Iteration (12) ################# +PASSED! +## Iteration (11) ################# +PASSED! +## Iteration (10) ################# +PASSED! +## Iteration (9) ################# +PASSED! +## Iteration (8) ################# +PASSED! +## Iteration (7) ################# +PASSED! +## Iteration (6) ################# +PASSED! +## Iteration (5) ################# +PASSED! +## Iteration (4) ################# +PASSED! +## Iteration (3) ################# +PASSED! +## Iteration (2) ################# +PASSED! +## Iteration (1) ################# +PASSED! +## Iteration (0) ################# +PASSED! +1822755600583836:1822755600592396 116426:116426 hipGetDeviceProperties() +1822755603137292:1822755603261543 116426:116426 hipMalloc(ptr(0x7f15f6e00000) size(0x400000)) +1822755603263063:1822755603321183 116426:116426 hipMalloc(ptr(0x7f15f6800000) size(0x400000)) +1822755603331953:1822755612493572 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) +1822755612497492:1822755612497493 116426:116426 MARK(name(before HIP LaunchKernel)) +1822756053165228:1822756058322441 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822756058341371:1822756058341372 116426:116426 MARK(name(after HIP LaunchKernel)) +1822756058348611:1822756062842319 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) +1822756075706002:1822756078088527 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) +1822756078090097:1822756078090098 116426:116426 MARK(name(before HIP LaunchKernel)) +1822756078105407:1822756078127367 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822756078128487:1822756078128488 116426:116426 MARK(name(after HIP LaunchKernel)) +1822756078131817:1822756082629345 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) +1822756089169727:1822756091486222 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) +1822756091487702:1822756091487703 116426:116426 MARK(name(before HIP LaunchKernel)) +1822756091501982:1822756091524312 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822756091525612:1822756091525613 116426:116426 MARK(name(after HIP LaunchKernel)) +1822756091528952:1822756096115831 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) +1822756102585213:1822756104861737 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) +1822756104863207:1822756104863208 116426:116426 MARK(name(before HIP LaunchKernel)) +1822756104878057:1822756104898777 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822756104900067:1822756104900068 116426:116426 MARK(name(after HIP LaunchKernel)) +1822756104903357:1822756109424136 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) +1822756115849697:1822756118121221 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) +1822756118122771:1822756118122772 116426:116426 MARK(name(before HIP LaunchKernel)) +1822756118137001:1822756118158682 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822756118159732:1822756118159733 116426:116426 MARK(name(after HIP LaunchKernel)) +1822756118169582:1822756122648230 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) +1822756129192922:1822756131481137 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) +1822756131482907:1822756131482908 116426:116426 MARK(name(before HIP LaunchKernel)) +1822756131497317:1822756131527517 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822756131528547:1822756131528548 116426:116426 MARK(name(after HIP LaunchKernel)) +1822756131531817:1822756136133936 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) +1822756142559277:1822756144812022 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) +1822756144813802:1822756144813803 116426:116426 MARK(name(before HIP LaunchKernel)) +1822756144828002:1822756144859412 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822756144860642:1822756144860643 116426:116426 MARK(name(after HIP LaunchKernel)) +1822756144863952:1822756149392670 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) +1822756155832552:1822756158128596 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) +1822756158130056:1822756158130057 116426:116426 MARK(name(before HIP LaunchKernel)) +1822756158144806:1822756158176196 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822756158177406:1822756158177407 116426:116426 MARK(name(after HIP LaunchKernel)) +1822756158180866:1822756162648395 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) +1822756169141267:1822756171479702 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) +1822756171481192:1822756171481193 116426:116426 MARK(name(before HIP LaunchKernel)) +1822756171496522:1822756171517892 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822756171518932:1822756171518933 116426:116426 MARK(name(after HIP LaunchKernel)) +1822756171522302:1822756176124641 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) +1822756182700813:1822756184875037 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) +1822756184876847:1822756184876848 116426:116426 MARK(name(before HIP LaunchKernel)) +1822756184891907:1822756184914177 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822756184915417:1822756184915418 116426:116426 MARK(name(after HIP LaunchKernel)) +1822756184919077:1822756189253854 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) +1822756195697336:1822756197980300 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) +1822756197983650:1822756197983651 116426:116426 MARK(name(before HIP LaunchKernel)) +1822756197998930:1822756198020930 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822756198021960:1822756198021961 116426:116426 MARK(name(after HIP LaunchKernel)) +1822756198025511:1822756202490389 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) +1822756208934610:1822756211236435 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) +1822756211237895:1822756211237896 116426:116426 MARK(name(before HIP LaunchKernel)) +1822756211253375:1822756211274535 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822756211275535:1822756211275536 116426:116426 MARK(name(after HIP LaunchKernel)) +1822756211278895:1822756215906094 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) +1822756222572007:1822756224696150 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) +1822756224697740:1822756224697741 116426:116426 MARK(name(before HIP LaunchKernel)) +1822756224712410:1822756224734510 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822756224735951:1822756224735952 116426:116426 MARK(name(after HIP LaunchKernel)) +1822756224739551:1822756229250169 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) +1822756235652210:1822756237948645 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) +1822756237950385:1822756237950386 116426:116426 MARK(name(before HIP LaunchKernel)) +1822756237965145:1822756237987205 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822756237988225:1822756237988226 116426:116426 MARK(name(after HIP LaunchKernel)) +1822756237991545:1822756242475753 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) +1822756248912514:1822756251200179 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) +1822756251201669:1822756251201670 116426:116426 MARK(name(before HIP LaunchKernel)) +1822756251216759:1822756251238619 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822756251239819:1822756251239820 116426:116426 MARK(name(after HIP LaunchKernel)) +1822756251243189:1822756255699598 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) +1822756262255949:1822756264548564 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) +1822756264550074:1822756264550075 116426:116426 MARK(name(before HIP LaunchKernel)) +1822756264565454:1822756264595584 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822756264600734:1822756264600735 116426:116426 MARK(name(after HIP LaunchKernel)) +1822756264604334:1822756269112533 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) +1822756275609764:1822756277895409 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) +1822756277897079:1822756277897080 116426:116426 MARK(name(before HIP LaunchKernel)) +1822756277912129:1822756277944439 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822756277945489:1822756277945490 116426:116426 MARK(name(after HIP LaunchKernel)) +1822756277948819:1822756282415058 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) +1822756288851438:1822756291120613 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) +1822756291122513:1822756291122514 116426:116426 MARK(name(before HIP LaunchKernel)) +1822756291149593:1822756291175863 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822756291176943:1822756291176944 116426:116426 MARK(name(after HIP LaunchKernel)) +1822756291180203:1822756295645172 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) +1822756302171213:1822756304478118 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) +1822756304479708:1822756304479709 116426:116426 MARK(name(before HIP LaunchKernel)) +1822756304494178:1822756304515918 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822756304517068:1822756304517069 116426:116426 MARK(name(after HIP LaunchKernel)) +1822756304520898:1822756309107888 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) +1822756315566009:1822756317872983 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) +1822756317874743:1822756317874744 116426:116426 MARK(name(before HIP LaunchKernel)) +1822756317890003:1822756317911784 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822756317912824:1822756317912825 116426:116426 MARK(name(after HIP LaunchKernel)) +1822756317916174:1822756322439043 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) +1822756328910813:1822756331215508 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) +1822756331217458:1822756331217459 116426:116426 MARK(name(before HIP LaunchKernel)) +1822756331231968:1822756331253648 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822756331254698:1822756331254699 116426:116426 MARK(name(after HIP LaunchKernel)) +1822756331257828:1822756335753407 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) +1822756342390220:1822756344858365 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) +1822756344860215:1822756344860216 116426:116426 MARK(name(before HIP LaunchKernel)) +1822756344874965:1822756344896065 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822756344897095:1822756344897096 116426:116426 MARK(name(after HIP LaunchKernel)) +1822756344900925:1822756349401664 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) +1822756355860455:1822756358149420 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) +1822756358150960:1822756358150961 116426:116426 MARK(name(before HIP LaunchKernel)) +1822756358165560:1822756358187320 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822756358188350:1822756358188351 116426:116426 MARK(name(after HIP LaunchKernel)) +1822756358191690:1822756362649129 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) +1822756369152500:1822756371494465 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) +1822756371496295:1822756371496296 116426:116426 MARK(name(before HIP LaunchKernel)) +1822756371510515:1822756371530565 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822756371531595:1822756371531596 116426:116426 MARK(name(after HIP LaunchKernel)) +1822756371534665:1822756376133424 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) +1822756382612576:1822756384880270 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) +1822756384881870:1822756384881871 116426:116426 MARK(name(before HIP LaunchKernel)) +1822756384896410:1822756384917200 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822756384918210:1822756384918211 116426:116426 MARK(name(after HIP LaunchKernel)) +1822756384921530:1822756389416939 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) +1822756395870000:1822756398160975 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) +1822756398162565:1822756398162566 116426:116426 MARK(name(before HIP LaunchKernel)) +1822756398177805:1822756398213265 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822756398214305:1822756398214306 116426:116426 MARK(name(after HIP LaunchKernel)) +1822756398217745:1822756402685063 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) +1822756409203735:1822756411482520 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) +1822756411484130:1822756411484131 116426:116426 MARK(name(before HIP LaunchKernel)) +1822756411509660:1822756411532540 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822756411533560:1822756411533561 116426:116426 MARK(name(after HIP LaunchKernel)) +1822756411537360:1822756416122419 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) +1822756422623011:1822756424903275 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) +1822756424904885:1822756424904886 116426:116426 MARK(name(before HIP LaunchKernel)) +1822756424919835:1822756424942165 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822756424943185:1822756424943186 116426:116426 MARK(name(after HIP LaunchKernel)) +1822756424957215:1822756429406063 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) +1822756435805575:1822756438093209 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) +1822756438094729:1822756438094730 116426:116426 MARK(name(before HIP LaunchKernel)) +1822756438109529:1822756438130739 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822756438131789:1822756438131790 116426:116426 MARK(name(after HIP LaunchKernel)) +1822756438134930:1822756442604798 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) +1822756449043639:1822756451481194 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) +1822756451482654:1822756451482655 116426:116426 MARK(name(before HIP LaunchKernel)) +1822756451496875:1822756451518355 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822756451519375:1822756451519376 116426:116426 MARK(name(after HIP LaunchKernel)) +1822756451522695:1822756456118813 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) +1822756462615835:1822756464935750 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) +1822756464937590:1822756464937591 116426:116426 MARK(name(before HIP LaunchKernel)) +1822756464952410:1822756464973620 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822756464974650:1822756464974651 116426:116426 MARK(name(after HIP LaunchKernel)) +1822756464978310:1822756469482009 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) +1822756475916750:1822756478215505 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) +1822756478217155:1822756478217156 116426:116426 MARK(name(before HIP LaunchKernel)) +1822756478232365:1822756478254495 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822756478255515:1822756478255516 116426:116426 MARK(name(after HIP LaunchKernel)) +1822756478260725:1822756482717973 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) +1822756489224355:1822756491496559 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) +1822756491498149:1822756491498150 116426:116426 MARK(name(before HIP LaunchKernel)) +1822756491513269:1822756491535129 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822756491536169:1822756491536170 116426:116426 MARK(name(after HIP LaunchKernel)) +1822756491539309:1822756496133179 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) +1822756502617380:1822756504960795 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) +1822756504962405:1822756504962406 116426:116426 MARK(name(before HIP LaunchKernel)) +1822756504976805:1822756504996475 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822756504997495:1822756504997496 116426:116426 MARK(name(after HIP LaunchKernel)) +1822756505000715:1822756509486804 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) +1822756515924274:1822756518226989 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) +1822756518228529:1822756518228530 116426:116426 MARK(name(before HIP LaunchKernel)) +1822756518253389:1822756518275080 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822756518276100:1822756518276101 116426:116426 MARK(name(after HIP LaunchKernel)) +1822756518279570:1822756522775518 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) +1822756529296900:1822756531622655 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) +1822756531624595:1822756531624596 116426:116426 MARK(name(before HIP LaunchKernel)) +1822756531640655:1822756531671345 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822756531672395:1822756531672396 116426:116426 MARK(name(after HIP LaunchKernel)) +1822756531675905:1822756536172184 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) +1822756542624634:1822756544883439 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) +1822756544885089:1822756544885090 116426:116426 MARK(name(before HIP LaunchKernel)) +1822756544900779:1822756544929679 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822756544930729:1822756544930730 116426:116426 MARK(name(after HIP LaunchKernel)) +1822756544934009:1822756549407198 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) +1822756555851479:1822756558146433 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) +1822756558154803:1822756558154804 116426:116426 MARK(name(before HIP LaunchKernel)) +1822756558169663:1822756558192244 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822756558193264:1822756558193265 116426:116426 MARK(name(after HIP LaunchKernel)) +1822756558198284:1822756562636952 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) +1822756569145383:1822756571486988 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) +1822756571488778:1822756571488779 116426:116426 MARK(name(before HIP LaunchKernel)) +1822756571504158:1822756571525808 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822756571526878:1822756571526879 116426:116426 MARK(name(after HIP LaunchKernel)) +1822756571530299:1822756576128868 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) +1822756582616299:1822756584938464 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) +1822756584940074:1822756584940075 116426:116426 MARK(name(before HIP LaunchKernel)) +1822756584956164:1822756584979454 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822756584980484:1822756584980485 116426:116426 MARK(name(after HIP LaunchKernel)) +1822756584983974:1822756589472733 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) +1822756595920014:1822756598235618 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) +1822756598237198:1822756598237199 116426:116426 MARK(name(before HIP LaunchKernel)) +1822756598252469:1822756598273209 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822756598274249:1822756598274250 116426:116426 MARK(name(after HIP LaunchKernel)) +1822756598277709:1822756602770158 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) +1822756609299049:1822756611466343 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) +1822756611467883:1822756611467884 116426:116426 MARK(name(before HIP LaunchKernel)) +1822756611483103:1822756611504773 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822756611505783:1822756611505784 116426:116426 MARK(name(after HIP LaunchKernel)) +1822756611509313:1822756616132323 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) +1822756622616574:1822756624894869 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) +1822756624896249:1822756624896250 116426:116426 MARK(name(before HIP LaunchKernel)) +1822756624910669:1822756624932369 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822756624941849:1822756624941850 116426:116426 MARK(name(after HIP LaunchKernel)) +1822756624945649:1822756629406637 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) +1822756635848028:1822756638138283 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) +1822756638140063:1822756638140064 116426:116426 MARK(name(before HIP LaunchKernel)) +1822756638154493:1822756638175193 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822756638176473:1822756638176474 116426:116426 MARK(name(after HIP LaunchKernel)) +1822756638179643:1822756642665362 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) +1822756649186373:1822756651490688 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) +1822756651492298:1822756651492299 116426:116426 MARK(name(before HIP LaunchKernel)) +1822756651514798:1822756651536438 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822756651537558:1822756651537559 116426:116426 MARK(name(after HIP LaunchKernel)) +1822756651541098:1822756656137197 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) +1822756662626069:1822756664908903 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) +1822756664910573:1822756664910574 116426:116426 MARK(name(before HIP LaunchKernel)) +1822756664925194:1822756664956644 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822756664957724:1822756664957725 116426:116426 MARK(name(after HIP LaunchKernel)) +1822756664961214:1822756669415432 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) +1822756675858963:1822756678142727 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) +1822756678144287:1822756678144288 116426:116426 MARK(name(before HIP LaunchKernel)) +1822756678160038:1822756678189638 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822756678190678:1822756678190679 116426:116426 MARK(name(after HIP LaunchKernel)) +1822756678194638:1822756682710676 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) +1822756689230518:1822756691505853 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) +1822756691507323:1822756691507324 116426:116426 MARK(name(before HIP LaunchKernel)) +1822756691522913:1822756691545783 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822756691546893:1822756691546894 116426:116426 MARK(name(after HIP LaunchKernel)) +1822756691550693:1822756696120502 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) +1822756702630054:1822756704943748 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) +1822756704945428:1822756704945429 116426:116426 MARK(name(before HIP LaunchKernel)) +1822756704960728:1822756704983559 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822756704984589:1822756704984590 116426:116426 MARK(name(after HIP LaunchKernel)) +1822756704988559:1822756709440857 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) +1822756715893578:1822756718207233 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) +1822756718208803:1822756718208804 116426:116426 MARK(name(before HIP LaunchKernel)) +1822756718223753:1822756718246653 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822756718247683:1822756718247684 116426:116426 MARK(name(after HIP LaunchKernel)) +1822756718251113:1822756722741151 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) +1822756729273233:1822756731597148 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) +1822756731598688:1822756731598689 116426:116426 MARK(name(before HIP LaunchKernel)) +1822756731613598:1822756731635518 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822756731636568:1822756731636569 116426:116426 MARK(name(after HIP LaunchKernel)) +1822756731640028:1822756736179837 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) +1822756742647508:1822756744926793 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) +1822756744928633:1822756744928634 116426:116426 MARK(name(before HIP LaunchKernel)) +1822756744951763:1822756744973003 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822756744974063:1822756744974064 116426:116426 MARK(name(after HIP LaunchKernel)) +1822756744977513:1822756749465282 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) +1822756755866232:1822756758145827 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) +1822756758147437:1822756758147438 116426:116426 MARK(name(before HIP LaunchKernel)) +1822756758162007:1822756758184357 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822756758185377:1822756758185378 116426:116426 MARK(name(after HIP LaunchKernel)) +1822756758188967:1822756762710866 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) +1822756769239158:1822756771516892 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) +1822756771518432:1822756771518433 116426:116426 MARK(name(before HIP LaunchKernel)) +1822756771536932:1822756771558442 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822756771559462:1822756771559463 116426:116426 MARK(name(after HIP LaunchKernel)) +1822756771563172:1822756776138292 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) +1822756782623163:1822756784907137 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) +1822756784908677:1822756784908678 116426:116426 MARK(name(before HIP LaunchKernel)) +1822756784932258:1822756784953098 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822756784954108:1822756784954109 116426:116426 MARK(name(after HIP LaunchKernel)) +1822756784957658:1822756789426336 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) +1822756795870157:1822756798139672 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) +1822756798141272:1822756798141273 116426:116426 MARK(name(before HIP LaunchKernel)) +1822756798156212:1822756798188122 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822756798189182:1822756798189183 116426:116426 MARK(name(after HIP LaunchKernel)) +1822756798192822:1822756802664301 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) +1822756809172682:1822756811495407 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) +1822756811497017:1822756811497018 116426:116426 MARK(name(before HIP LaunchKernel)) +1822756811512747:1822756811544017 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822756811545057:1822756811545058 116426:116426 MARK(name(after HIP LaunchKernel)) +1822756811548467:1822756816123556 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) +1822756822801809:1822756825067123 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) +1822756825069003:1822756825069004 116426:116426 MARK(name(before HIP LaunchKernel)) +1822756825083383:1822756825106443 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822756825107513:1822756825107514 116426:116426 MARK(name(after HIP LaunchKernel)) +1822756825111163:1822756829594282 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) +1822756836043073:1822756838489348 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) +1822756838490878:1822756838490879 116426:116426 MARK(name(before HIP LaunchKernel)) +1822756838506629:1822756838529339 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822756838530389:1822756838530390 116426:116426 MARK(name(after HIP LaunchKernel)) +1822756838536339:1822756843117688 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) +1822756849597819:1822756851904454 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) +1822756851906284:1822756851906285 116426:116426 MARK(name(before HIP LaunchKernel)) +1822756851921594:1822756851943744 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822756851944794:1822756851944795 116426:116426 MARK(name(after HIP LaunchKernel)) +1822756851948634:1822756856432773 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) +1822756862870184:1822756865146458 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) +1822756865148348:1822756865148349 116426:116426 MARK(name(before HIP LaunchKernel)) +1822756865162678:1822756865184238 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822756865185268:1822756865185269 116426:116426 MARK(name(after HIP LaunchKernel)) +1822756865188768:1822756869717157 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) +1822756876234269:1822756878502283 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) +1822756878503883:1822756878503884 116426:116426 MARK(name(before HIP LaunchKernel)) +1822756878518613:1822756878540664 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822756878541914:1822756878541915 116426:116426 MARK(name(after HIP LaunchKernel)) +1822756878545134:1822756883115323 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) +1822756889597574:1822756891870778 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) +1822756891872388:1822756891872389 116426:116426 MARK(name(before HIP LaunchKernel)) +1822756891886738:1822756891907738 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822756891908938:1822756891908939 116426:116426 MARK(name(after HIP LaunchKernel)) +1822756891912218:1822756896439708 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) +1822756903017390:1822756905309874 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) +1822756905311494:1822756905311495 116426:116426 MARK(name(before HIP LaunchKernel)) +1822756905326004:1822756905347604 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822756905348785:1822756905348786 116426:116426 MARK(name(after HIP LaunchKernel)) +1822756905352035:1822756909844793 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) +1822756916324334:1822756918649929 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) +1822756918653659:1822756918653660 116426:116426 MARK(name(before HIP LaunchKernel)) +1822756918668219:1822756918694589 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822756918695609:1822756918695610 116426:116426 MARK(name(after HIP LaunchKernel)) +1822756918699129:1822756923216618 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) +1822756929680439:1822756931969004 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) +1822756931970654:1822756931970655 116426:116426 MARK(name(before HIP LaunchKernel)) +1822756931985954:1822756932032325 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822756932033415:1822756932033416 116426:116426 MARK(name(after HIP LaunchKernel)) +1822756932037015:1822756936514343 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) +1822756942929814:1822756945063257 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) +1822756945064847:1822756945064848 116426:116426 MARK(name(before HIP LaunchKernel)) +1822756945079387:1822756945110788 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822756945111818:1822756945111819 116426:116426 MARK(name(after HIP LaunchKernel)) +1822756945115148:1822756949592126 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) +1822756956036087:1822756958304422 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) +1822756958306022:1822756958306023 116426:116426 MARK(name(before HIP LaunchKernel)) +1822756958320622:1822756958343592 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822756958344642:1822756958344643 116426:116426 MARK(name(after HIP LaunchKernel)) +1822756958348242:1822756962809780 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) +1822756969310162:1822756971623357 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) +1822756971625107:1822756971625108 116426:116426 MARK(name(before HIP LaunchKernel)) +1822756971642617:1822756971664637 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822756971665647:1822756971665648 116426:116426 MARK(name(after HIP LaunchKernel)) +1822756971669227:1822756976162865 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) +1822756982623277:1822756984886411 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) +1822756984888221:1822756984888222 116426:116426 MARK(name(before HIP LaunchKernel)) +1822756984903231:1822756984924181 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822756984927741:1822756984927742 116426:116426 MARK(name(after HIP LaunchKernel)) +1822756984931021:1822756989414349 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) +1822756995839491:1822756998143566 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) +1822756998145226:1822756998145227 116426:116426 MARK(name(before HIP LaunchKernel)) +1822756998160536:1822756998182246 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822756998183286:1822756998183287 116426:116426 MARK(name(after HIP LaunchKernel)) +1822756998186696:1822757002652204 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) +1822757009164976:1822757011504701 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) +1822757011506291:1822757011506292 116426:116426 MARK(name(before HIP LaunchKernel)) +1822757011521491:1822757011542751 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822757011543781:1822757011543782 116426:116426 MARK(name(after HIP LaunchKernel)) +1822757011547231:1822757016133260 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) +1822757022595401:1822757024868116 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) +1822757024869646:1822757024869647 116426:116426 MARK(name(before HIP LaunchKernel)) +1822757024884006:1822757024904746 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822757024905776:1822757024905777 116426:116426 MARK(name(after HIP LaunchKernel)) +1822757024909096:1822757029417434 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) +1822757035857426:1822757038153230 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) +1822757038154770:1822757038154771 116426:116426 MARK(name(before HIP LaunchKernel)) +1822757038169890:1822757038191320 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822757038192350:1822757038192351 116426:116426 MARK(name(after HIP LaunchKernel)) +1822757038195600:1822757042692059 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) +1822757049217611:1822757051517045 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) +1822757051518535:1822757051518536 116426:116426 MARK(name(before HIP LaunchKernel)) +1822757051534055:1822757051563236 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822757051564266:1822757051564267 116426:116426 MARK(name(after HIP LaunchKernel)) +1822757051567596:1822757056133834 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) +1822757062623316:1822757064949271 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) +1822757064951161:1822757064951162 116426:116426 MARK(name(before HIP LaunchKernel)) +1822757064965531:1822757064995501 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822757064996531:1822757064996532 116426:116426 MARK(name(after HIP LaunchKernel)) +1822757065000011:1822757069466290 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) +1822757075876940:1822757078143465 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) +1822757078145045:1822757078145046 116426:116426 MARK(name(before HIP LaunchKernel)) +1822757078160595:1822757078192585 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822757078193635:1822757078193636 116426:116426 MARK(name(after HIP LaunchKernel)) +1822757078197025:1822757082649233 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) +1822757089064314:1822757091495340 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) +1822757091496900:1822757091496901 116426:116426 MARK(name(before HIP LaunchKernel)) +1822757091512150:1822757091533660 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822757091534750:1822757091534751 116426:116426 MARK(name(after HIP LaunchKernel)) +1822757091538010:1822757096140050 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) +1822757102636811:1822757104930745 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) +1822757104932205:1822757104932206 116426:116426 MARK(name(before HIP LaunchKernel)) +1822757104947175:1822757104969876 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822757104970916:1822757104970917 116426:116426 MARK(name(after HIP LaunchKernel)) +1822757104975026:1822757109465584 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) +1822757115895385:1822757118198910 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) +1822757118200500:1822757118200501 116426:116426 MARK(name(before HIP LaunchKernel)) +1822757118215420:1822757118237410 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822757118238470:1822757118238471 116426:116426 MARK(name(after HIP LaunchKernel)) +1822757118241640:1822757122735479 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) +1822757129251740:1822757131534175 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) +1822757131535695:1822757131535696 116426:116426 MARK(name(before HIP LaunchKernel)) +1822757131551645:1822757131572875 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822757131573925:1822757131573926 116426:116426 MARK(name(after HIP LaunchKernel)) +1822757131577395:1822757136137594 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) +1822757142628805:1822757144945570 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) +1822757144947120:1822757144947121 116426:116426 MARK(name(before HIP LaunchKernel)) +1822757144961670:1822757144982660 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822757144983690:1822757144983691 116426:116426 MARK(name(after HIP LaunchKernel)) +1822757144987120:1822757149451469 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) +1822757155997020:1822757158312535 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) +1822757158314305:1822757158314306 116426:116426 MARK(name(before HIP LaunchKernel)) +1822757158328965:1822757158350575 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822757158351605:1822757158351606 116426:116426 MARK(name(after HIP LaunchKernel)) +1822757158355195:1822757162886614 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) +1822757169385125:1822757171701610 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) +1822757171703420:1822757171703421 116426:116426 MARK(name(before HIP LaunchKernel)) +1822757171717930:1822757171739001 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822757171740011:1822757171740012 116426:116426 MARK(name(after HIP LaunchKernel)) +1822757171743351:1822757176315180 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) +1822757182724111:1822757184957875 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) +1822757184959425:1822757184959426 116426:116426 MARK(name(before HIP LaunchKernel)) +1822757184974655:1822757185006065 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822757185007105:1822757185007106 116426:116426 MARK(name(after HIP LaunchKernel)) +1822757185010415:1822757189497564 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) +1822757195934734:1822757198252839 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) +1822757198254529:1822757198254530 116426:116426 MARK(name(before HIP LaunchKernel)) +1822757198271129:1822757198295140 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822757198296720:1822757198296721 116426:116426 MARK(name(after HIP LaunchKernel)) +1822757198301840:1822757202773008 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) +1822757209272950:1822757211537104 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) +1822757211538744:1822757211538745 116426:116426 MARK(name(before HIP LaunchKernel)) +1822757211553424:1822757211574914 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822757211576014:1822757211576015 116426:116426 MARK(name(after HIP LaunchKernel)) +1822757211589224:1822757216144953 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) +1822757222623005:1822757224910759 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) +1822757224912349:1822757224912350 116426:116426 MARK(name(before HIP LaunchKernel)) +1822757224927790:1822757224949810 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822757224950900:1822757224950901 116426:116426 MARK(name(after HIP LaunchKernel)) +1822757224954720:1822757229431278 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) +1822757235884759:1822757238186904 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) +1822757238188454:1822757238188455 116426:116426 MARK(name(before HIP LaunchKernel)) +1822757238203054:1822757238224374 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822757238225634:1822757238225635 116426:116426 MARK(name(after HIP LaunchKernel)) +1822757238229684:1822757242685852 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) +1822757249238724:1822757251541669 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) +1822757251543189:1822757251543190 116426:116426 MARK(name(before HIP LaunchKernel)) +1822757251558699:1822757251580449 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822757251581729:1822757251581730 116426:116426 MARK(name(after HIP LaunchKernel)) +1822757251585029:1822757256133718 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) +1822757262629670:1822757264913374 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) +1822757264914984:1822757264914985 116426:116426 MARK(name(before HIP LaunchKernel)) +1822757264930504:1822757264953284 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822757264954384:1822757264954385 116426:116426 MARK(name(after HIP LaunchKernel)) +1822757264957734:1822757269422413 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) +1822757275859194:1822757278152778 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) +1822757278162068:1822757278162069 116426:116426 MARK(name(before HIP LaunchKernel)) +1822757278177868:1822757278198638 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822757278199688:1822757278199689 116426:116426 MARK(name(after HIP LaunchKernel)) +1822757278202988:1822757282674327 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) +1822757289209029:1822757291506964 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) +1822757291508534:1822757291508535 116426:116426 MARK(name(before HIP LaunchKernel)) +1822757291522734:1822757291543714 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822757291544734:1822757291544735 116426:116426 MARK(name(after HIP LaunchKernel)) +1822757291547894:1822757296141133 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) +1822757302620474:1822757304963489 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) +1822757304965309:1822757304965310 116426:116426 MARK(name(before HIP LaunchKernel)) +1822757304980299:1822757305001459 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822757305002479:1822757305002480 116426:116426 MARK(name(after HIP LaunchKernel)) +1822757305005779:1822757309495618 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) +1822757315913109:1822757318192753 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) +1822757318194393:1822757318194394 116426:116426 MARK(name(before HIP LaunchKernel)) +1822757318209814:1822757318242544 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822757318243694:1822757318243695 116426:116426 MARK(name(after HIP LaunchKernel)) +1822757318247724:1822757322734822 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) +1822757329258714:1822757331527788 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) +1822757331529328:1822757331529329 116426:116426 MARK(name(before HIP LaunchKernel)) +1822757331544288:1822757331574119 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822757331575169:1822757331575170 116426:116426 MARK(name(after HIP LaunchKernel)) +1822757331578509:1822757336151528 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) +1822757342640339:1822757344918404 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) +1822757344920164:1822757344920165 116426:116426 MARK(name(before HIP LaunchKernel)) +1822757344942864:1822757344965354 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822757344966554:1822757344966555 116426:116426 MARK(name(after HIP LaunchKernel)) +1822757344975354:1822757349453602 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) +1822757355903053:1822757358215338 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) +1822757358216948:1822757358216949 116426:116426 MARK(name(before HIP LaunchKernel)) +1822757358232668:1822757358254368 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822757358255418:1822757358255419 116426:116426 MARK(name(after HIP LaunchKernel)) +1822757358258608:1822757362733447 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) +1822757369251168:1822757371551123 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) +1822757371552733:1822757371552734 116426:116426 MARK(name(before HIP LaunchKernel)) +1822757371567043:1822757371588913 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822757371590083:1822757371590084 116426:116426 MARK(name(after HIP LaunchKernel)) +1822757371593943:1822757376142303 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) +1822757382602693:1822757384875598 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) +1822757384877098:1822757384877099 116426:116426 MARK(name(before HIP LaunchKernel)) +1822757384891168:1822757384912708 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822757384913748:1822757384913749 116426:116426 MARK(name(after HIP LaunchKernel)) +1822757384916928:1822757389425657 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) +1822757395861378:1822757395971968 116426:116426 hipFree(ptr(0x7f15f6e00000)) +1822757395974058:1822757395992678 116426:116426 hipFree(ptr(0x7f15f6800000)) +1822755595358383:1822755595361503 116426:116426 hsa_amd_profiling_async_copy_enable() = 0 +1822755595485264:1822755595485714 116426:116426 hsa_agent_get_info(, 17, 0x7fff0b6eec64) = 0 +1822755595486744:1822755595487264 116426:116426 hsa_agent_get_info(, 17, 0x7fff0b6eec64) = 0 +1822755595486744:1822755595488004 116426:116426 hsa_iterate_agents(1, 0x1d47fe8) = 0 +1822755595488874:1822755595489204 116426:116426 hsa_agent_get_info(, 17, 0x7fff0b6eee6c) = 0 +1822755595488874:1822755595489644 116426:116426 hsa_iterate_agents(1, 0x1d47fe0) = 1 +1822755595495334:1822755595495694 116426:116426 hsa_agent_get_info(, 4, 0x7fff0b6eeb70) = 0 +1822755595496234:1822755595499514 116426:116426 hsa_agent_get_info(, 0, 0x7fff0b6eeb30) = 0 +1822755595500014:1822755595500344 116426:116426 hsa_agent_get_info(, 16, 0x1d3fdc8) = 0 +1822755595519244:1822755595519634 116426:116426 hsa_agent_get_info(, 21, 0x1d3fd60) = 0 +1822755595520084:1822755595520404 116426:116426 hsa_agent_get_info(, 22, 0x1d3fd62) = 0 +1822755595520844:1822755595521214 116426:116426 hsa_agent_get_info(, 14, 0x1d3fc00) = 0 +1822755595522934:1822755595523454 116426:116426 hsa_amd_profiling_async_copy_enable() = 0 +1822755595527194:1822755595528094 116426:116426 hsa_amd_memory_pool_get_info(, 0, 0x7fff0b6ee80c) = 0 +1822755595528614:1822755595528944 116426:116426 hsa_amd_memory_pool_get_info(, 0, 0x7fff0b6ee80c) = 0 +1822755595529394:1822755595529724 116426:116426 hsa_amd_memory_pool_get_info(, 2, 0x7fff0b6ee810) = 0 +1822755595529394:1822755595530164 116426:116426 hsa_amd_agent_iterate_memory_pools(, 1, 0x1d3fbf8) = 1 +1822755595530994:1822755595531324 116426:116426 hsa_amd_memory_pool_get_info(, 0, 0x7fff0b6ee664) = 0 +1822755595531784:1822755595532124 116426:116426 hsa_amd_memory_pool_get_info(, 1, 0x7fff0b6ee654) = 0 +1822755595532564:1822755595532884 116426:116426 hsa_amd_memory_pool_get_info(, 2, 0x7fff0b6ee658) = 0 +1822755595533444:1822755595533774 116426:116426 hsa_amd_memory_pool_get_info(, 0, 0x7fff0b6ee664) = 0 +1822755595533444:1822755595534234 116426:116426 hsa_amd_agent_iterate_memory_pools(, 1, 0x1d3fcb8) = 0 +1822755595535054:1822755595535384 116426:116426 hsa_amd_memory_pool_get_info(, 0, 0x7fff0b6ee81c) = 0 +1822755595535824:1822755595536154 116426:116426 hsa_amd_memory_pool_get_info(, 1, 0x7fff0b6ee68c) = 0 +1822755595536594:1822755595536914 116426:116426 hsa_amd_memory_pool_get_info(, 2, 0x7fff0b6ee680) = 0 +1822755595537714:1822755595538054 116426:116426 hsa_amd_memory_pool_get_info(, 0, 0x7fff0b6ee81c) = 0 +1822755595538484:1822755595538804 116426:116426 hsa_amd_memory_pool_get_info(, 1, 0x7fff0b6ee68c) = 0 +1822755595539244:1822755595539564 116426:116426 hsa_amd_memory_pool_get_info(, 2, 0x7fff0b6ee680) = 0 +1822755595539244:1822755595540024 116426:116426 hsa_amd_agent_iterate_memory_pools(, 1, 0x1d3fcb8) = 0 +1822755595546934:1822755595687625 116426:116426 hsa_amd_memory_pool_allocate(, , , 0x7fff0b6ee908) = 0 +1822755595689915:1822755595789026 116426:116426 hsa_amd_agents_allow_access(, 0x1d3fbf0, 0, 0x7f1624500000) = 0 +1822755595798136:1822755595798566 116426:116426 hsa_agent_get_info(, 8, 0x1d3fd14) = 0 +1822755595799036:1822755595799366 116426:116426 hsa_agent_get_info(, 7, 0x1d3fd18) = 0 +1822755595799806:1822755595800136 116426:116426 hsa_agent_get_info(, 4, 0x7fff0b6eed70) = 0 +1822755595803086:1822755595803486 116426:116426 hsa_amd_memory_pool_get_info(, 0, 0x7fff0b6ee6cc) = 0 +1822755595804196:1822755595804526 116426:116426 hsa_amd_memory_pool_get_info(, 1, 0x7fff0b6ee6c8) = 0 +1822755595805066:1822755595805406 116426:116426 hsa_amd_memory_pool_get_info(, 0, 0x7fff0b6ee6cc) = 0 +1822755595805886:1822755595806206 116426:116426 hsa_amd_memory_pool_get_info(, 1, 0x7fff0b6ee6c8) = 0 +1822755595805886:1822755595806726 116426:116426 hsa_amd_agent_iterate_memory_pools(, 1, 0x7fff0b6ee900) = 0 +1822755595807576:1822755595807926 116426:116426 hsa_agent_get_info(, 17, 0x7fff0b6ee6f4) = 0 +1822755595808406:1822755595808746 116426:116426 hsa_agent_get_info(, 17, 0x7fff0b6ee6f4) = 0 +1822755595808406:1822755595809256 116426:116426 hsa_iterate_agents(1, 0x7fff0b6ee860) = 0 +1822755595809916:1822755596784722 116426:116426 hsa_amd_memory_pool_allocate(, , , 0x1d40140) = 0 +1822755596786072:1822755596928003 116426:116426 hsa_amd_agents_allow_access(, 0x1d40220, 0, 0x7f1608a00000) = 0 +1822755596931973:1822755596936723 116426:116426 hsa_signal_create(0, , 0, 0x1d40160) = 0 +1822755596937143:1822755596938223 116426:116426 hsa_signal_create(0, , 0, 0x1d40180) = 0 +1822755596938973:1822755597869129 116426:116426 hsa_amd_memory_pool_allocate(, , , 0x1d40148) = 0 +1822755597870399:1822755598010980 116426:116426 hsa_amd_agents_allow_access(, 0x1d40220, 0, 0x7f1608400000) = 0 +1822755598012150:1822755598014460 116426:116426 hsa_signal_create(0, , 0, 0x1d40168) = 0 +1822755598014850:1822755598015820 116426:116426 hsa_signal_create(0, , 0, 0x1d40188) = 0 +1822755598017670:1822755598018440 116426:116426 hsa_amd_memory_pool_get_info(, 0, 0x7fff0b6ee6cc) = 0 +1822755598018880:1822755598019160 116426:116426 hsa_amd_memory_pool_get_info(, 1, 0x7fff0b6ee6c8) = 0 +1822755598019620:1822755598019900 116426:116426 hsa_amd_memory_pool_get_info(, 0, 0x7fff0b6ee6cc) = 0 +1822755598020320:1822755598020600 116426:116426 hsa_amd_memory_pool_get_info(, 1, 0x7fff0b6ee6c8) = 0 +1822755598020320:1822755598021040 116426:116426 hsa_amd_agent_iterate_memory_pools(, 1, 0x7fff0b6ee900) = 0 +1822755598022570:1822755598023250 116426:116426 hsa_agent_get_info(, 17, 0x7fff0b6ee6f4) = 0 +1822755598023760:1822755598024160 116426:116426 hsa_agent_get_info(, 17, 0x7fff0b6ee6f4) = 0 +1822755598023760:1822755598029930 116426:116426 hsa_iterate_agents(1, 0x7fff0b6ee860) = 0 +1822755598030980:1822755598958895 116426:116426 hsa_amd_memory_pool_allocate(, , , 0x1d40790) = 0 +1822755598959835:1822755599113766 116426:116426 hsa_amd_agents_allow_access(, 0x1d40340, 0, 0x7f15f7a00000) = 0 +1822755599114776:1822755599117096 116426:116426 hsa_signal_create(0, , 0, 0x1d407b0) = 0 +1822755599117496:1822755599118236 116426:116426 hsa_signal_create(0, , 0, 0x1d407d0) = 0 +1822755599118676:1822755600101853 116426:116426 hsa_amd_memory_pool_allocate(, , , 0x1d40798) = 0 +1822755600102873:1822755600244073 116426:116426 hsa_amd_agents_allow_access(, 0x1d40340, 0, 0x7f15f7400000) = 0 +1822755600245353:1822755600247673 116426:116426 hsa_signal_create(0, , 0, 0x1d407b8) = 0 +1822755600248073:1822755600248843 116426:116426 hsa_signal_create(0, , 0, 0x1d407d8) = 0 +1822755600266134:1822755600334494 116426:116426 hsa_amd_memory_lock(0x7f1623a5c6f0, , 0x1d271f0, 1, 0x7f1623a5c6f8) = 0 +1822755600350804:1822755600351444 116426:116426 hsa_agent_get_info(, 17, 0x7fff0b6ef1a4) = 0 +1822755600350804:1822755600351864 116426:116426 hsa_iterate_agents(1, 0x7f1622e24f08) = 1 +1822755600354564:1822755600355144 116426:116426 hsa_agent_get_info(, 40962, 0x1d40ed8) = 0 +1822755600356884:1822755600357174 116426:116426 hsa_agent_get_info(, 17, 0x7fff0b6eefbc) = 0 +1822755600357664:1822755600357964 116426:116426 hsa_agent_get_info(, 17, 0x7fff0b6eefbc) = 0 +1822755600357664:1822755600358464 116426:116426 hsa_iterate_agents(1, 0x7fff0b6ef10c) = 0 +1822755600358854:1822755600359204 116426:116426 hsa_agent_get_info(, 40969, 0x1d40ee0) = 0 +1822755600359594:1822755600373324 116426:116426 hsa_agent_get_info(, 0, 0x7fff0b6ef180) = 0 +1822755600375894:1822755600376204 116426:116426 hsa_agent_get_info(, 16, 0x7fff0b6ef13c) = 0 +1822755600376594:1822755600376894 116426:116426 hsa_agent_get_info(, 6, 0x1d40ff4) = 0 +1822755600377274:1822755600377574 116426:116426 hsa_agent_get_info(, 8, 0x1d40ff8) = 0 +1822755600377964:1822755600378254 116426:116426 hsa_agent_get_info(, 7, 0x7fff0b6ef0fe) = 0 +1822755600378644:1822755600378934 116426:116426 hsa_agent_get_info(, 9, 0x7fff0b6ef120) = 0 +1822755600379314:1822755600379614 116426:116426 hsa_agent_get_info(, 40963, 0x1d41014) = 0 +1822755600381494:1822755600381794 116426:116426 hsa_system_get_info(3, 0x7fff0b6ef130) = 0 +1822755600382184:1822755600382484 116426:116426 hsa_agent_get_info(, 40966, 0x7fff0b6ef0fc) = 0 +1822755600382874:1822755600383174 116426:116426 hsa_agent_get_info(, 40975, 0x1d4104c) = 0 +1822755600383564:1822755600383864 116426:116426 hsa_agent_get_info(, 40962, 0x1d41030) = 0 +1822755600384254:1822755600384554 116426:116426 hsa_agent_get_info(, 18, 0x7fff0b6ef170) = 0 +1822755600387574:1822755600387884 116426:116426 hsa_agent_get_info(, 40970, 0x7fff0b6ef108) = 0 +1822755600391664:1822755600392454 116426:116426 hsa_amd_memory_pool_get_info(, 0, 0x7fff0b6eef7c) = 0 +1822755600395074:1822755600395384 116426:116426 hsa_amd_memory_pool_get_info(, 0, 0x7fff0b6eef7c) = 0 +1822755600396414:1822755600396724 116426:116426 hsa_amd_memory_pool_get_info(, 2, 0x1d40fe8) = 0 +1822755600396414:1822755600397134 116426:116426 hsa_amd_agent_iterate_memory_pools(, 1, 0x1d40ee0) = 0 +1822755600428375:1822755600429865 116426:116426 hsa_signal_create(1, , 0x7fff0b6eee38, 0x1d441e8) = 0 +1822755600441295:1822755600442045 116426:116426 hsa_region_get_info(, 2, 0x1d40fe0) = 0 +1822755600442465:1822755600442845 116426:116426 hsa_region_get_info(, 40963, 0x1d41018) = 0 +1822755600443235:1822755600443525 116426:116426 hsa_region_get_info(, 40962, 0x1d4101c) = 0 +1822755600443925:1822755600444225 116426:116426 hsa_agent_get_info(, 4, 0x7fff0b6ef104) = 0 +1822755600444615:1822755600510135 116426:116426 hsa_agent_get_info(, 12288, 0x1d41078) = 0 +1822755600510585:1822755600510975 116426:116426 hsa_agent_get_info(, 12291, 0x1d4107c) = 0 +1822755600511375:1822755600511855 116426:116426 hsa_agent_get_info(, 12295, 0x1d41084) = 0 +1822755600512255:1822755600512565 116426:116426 hsa_agent_get_info(, 40974, 0x7fff0b6ef160) = 0 +1822755600512955:1822755600513255 116426:116426 hsa_agent_get_info(, 19, 0x7fff0b6ef118) = 0 +1822755600515525:1822755600548945 116426:116426 hsa_isa_get_info_alt(, 0, 0x7fff0b6ef110) = 0 +1822755600552385:1822755600556655 116426:116426 hsa_isa_get_info_alt(, 1, 0x1d3fff0) = 0 +1822755600579446:1822755600579736 116426:116426 hsa_system_get_info(3, 0x7fff0b6ef540) = 0 +1822755600580306:1822755600580846 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef540) = 0 +1822755600585306:1822755600585846 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef540) = 0 +1822755603136252:1822755603136832 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef540) = 0 +1822755603151762:1822755603255863 116426:116426 hsa_amd_memory_pool_allocate(, , , 0x7fff0b6ef298) = 0 +1822755603260423:1822755603260963 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef540) = 0 +1822755603262153:1822755603262683 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef540) = 0 +1822755603263623:1822755603318863 116426:116426 hsa_amd_memory_pool_allocate(, , , 0x7fff0b6ef298) = 0 +1822755603319973:1822755603320513 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef540) = 0 +1822755603330993:1822755603331533 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822755603351473:1822755603352003 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822755603354383:1822755603354913 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822755603360623:1822755603361493 116426:116426 hsa_signal_store_screlease(, 0) = void +1822755603361913:1822755603362363 116426:116426 hsa_signal_store_screlease(, 0) = void +1822755603364343:1822755603365234 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822755603887397:1822755603887807 116426:116426 hsa_signal_store_screlease(, 1) = void +1822755603994958:1822755603995478 116426:116426 hsa_agent_get_info(, 17, 0x7fff0b6ee92c) = 0 +1822755603996628:1822755603997578 116426:116426 hsa_amd_memory_pool_get_info(, 0, 0x7fff0b6ee7c8) = 0 +1822755603998028:1822755603998368 116426:116426 hsa_amd_memory_pool_get_info(, 1, 0x7fff0b6ee7cc) = 0 +1822755603998828:1822755603999148 116426:116426 hsa_amd_memory_pool_get_info(, 0, 0x7fff0b6ee7c8) = 0 +1822755603999578:1822755603999908 116426:116426 hsa_amd_memory_pool_get_info(, 1, 0x7fff0b6ee7cc) = 0 +1822755603999578:1822755604039948 116426:116426 hsa_amd_agent_iterate_memory_pools(, 1, 0x1d23670) = 1 +1822755604040958:1822755604041288 116426:116426 hsa_amd_memory_pool_get_info(, 0, 0x7fff0b6ee7c8) = 0 +1822755604041738:1822755604042068 116426:116426 hsa_amd_memory_pool_get_info(, 1, 0x7fff0b6ee7cc) = 0 +1822755604041738:1822755604042508 116426:116426 hsa_amd_agent_iterate_memory_pools(, 1, 0x1d23680) = 1 +1822755604043308:1822755604044238 116426:116426 hsa_agent_get_info(, 17, 0x7fff0b6ee92c) = 0 +1822755604044768:1822755604047898 116426:116426 hsa_agent_get_info(, 0, 0x1d23764) = 0 +1822755604050938:1822755604051288 116426:116426 hsa_agent_get_info(, 6, 0x1d237a4) = 0 +1822755604051758:1822755604052108 116426:116426 hsa_agent_get_info(, 14, 0x1d237a8) = 0 +1822755604052568:1822755604052898 116426:116426 hsa_agent_get_info(, 4, 0x1d237ac) = 0 +1822755604053348:1822755604053698 116426:116426 hsa_agent_get_info(, 40962, 0x1d237c8) = 0 +1822755604054138:1822755604054468 116426:116426 hsa_agent_get_info(, 40970, 0x1d237cc) = 0 +1822755604054908:1822755604055248 116426:116426 hsa_agent_get_info(, 40971, 0x1d237d0) = 0 +1822755604055698:1822755604056028 116426:116426 hsa_agent_get_info(, 40972, 0x1d237d4) = 0 +1822755604056478:1822755604056808 116426:116426 hsa_agent_get_info(, 40973, 0x1d237d8) = 0 +1822755604057898:1822755604058228 116426:116426 hsa_amd_memory_pool_get_info(, 0, 0x7fff0b6ee7b8) = 0 +1822755604058668:1822755604058998 116426:116426 hsa_amd_memory_pool_get_info(, 1, 0x7fff0b6ee7bc) = 0 +1822755604058668:1822755604059448 116426:116426 hsa_amd_agent_iterate_memory_pools(, 1, 0x1d237b8) = 1 +1822755604058668:1822755604060328 116426:116426 hsa_iterate_agents(1, 0x1d234a0) = 0 +1822755604061138:1822755604216809 116426:116426 hsa_system_get_major_extension_table(, , , 0x1d23538) = 0 +1822755604219099:1822755604219499 116426:116426 hsa_system_get_major_extension_table(, , , 0x1d23588) = 0 +1822755604220039:1822755604220359 116426:116426 hsa_system_get_info(3, 0x7fff0b6eeaf8) = 0 +1822755604221009:1822755604221619 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 +1822755604222179:1822755604225589 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce16050) = 0 +1822755604226269:1822755604232079 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce16010) = 0 +1822755604232729:1822755610722731 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 +1822755612460802:1822755612469442 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822755612473262:1822755612474302 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822755612475552:1822755612476712 116426:116430 hsa_signal_load_relaxed() = 1 +1822755610726841:1822755612479372 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822755612477602:1822755612480402 116426:116430 hsa_signal_store_screlease(, 0) = void +1822755612480902:1822755612481532 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822755612482272:1822755612483442 116426:116430 hsa_signal_destroy() = 0 +1822755612491192:1822755612491812 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822755769460962:1822755769463222 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fff0b6ef400) = 0 +1822755769691583:1822755769692163 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fff0b6ef400) = 0 +1822755773380166:1822755773381976 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fff0b6ef400) = 0 +1822755773385896:1822755773386876 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fff0b6ef400) = 0 +1822755773388946:1822755773389586 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7fff0b6ef400) = 0 +1822755773391656:1822755773392496 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7fff0b6ef400) = 0 +1822755773451617:1822755773452147 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fff0b6ef400) = 0 +1822755773453917:1822755773454387 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fff0b6ef400) = 0 +1822755773456337:1822755773456867 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7fff0b6ef400) = 0 +1822755773458627:1822755773459227 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7fff0b6ef400) = 0 +1822755773517217:1822755773517667 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fff0b6ef400) = 0 +1822755773520197:1822755773520717 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fff0b6ef400) = 0 +1822755773523267:1822755773523717 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7fff0b6ef400) = 0 +1822755773526307:1822755773526957 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7fff0b6ef400) = 0 +1822755773591938:1822755773592458 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fff0b6ef400) = 0 +1822755773594388:1822755773594898 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fff0b6ef400) = 0 +1822755773596958:1822755773597468 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7fff0b6ef400) = 0 +1822755773599218:1822755773599738 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7fff0b6ef400) = 0 +1822755773656528:1822755773657378 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fff0b6ef400) = 0 +1822755773659798:1822755773660248 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fff0b6ef400) = 0 +1822755773663058:1822755773663578 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7fff0b6ef400) = 0 +1822755773665958:1822755773666408 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7fff0b6ef400) = 0 +1822755773723538:1822755773724058 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fff0b6ef400) = 0 +1822755773726038:1822755773726558 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fff0b6ef400) = 0 +1822755773728928:1822755773729448 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7fff0b6ef400) = 0 +1822755773731288:1822755773731818 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7fff0b6ef400) = 0 +1822755773788459:1822755773788979 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fff0b6ef400) = 0 +1822755773791399:1822755773791849 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fff0b6ef400) = 0 +1822755773793919:1822755773794509 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7fff0b6ef400) = 0 +1822755773796379:1822755773796919 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7fff0b6ef400) = 0 +1822755773854079:1822755773854529 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fff0b6ef400) = 0 +1822755773856679:1822755773857279 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fff0b6ef400) = 0 +1822755773859379:1822755773859849 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7fff0b6ef400) = 0 +1822755773861759:1822755773862219 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7fff0b6ef400) = 0 +1822755773918750:1822755773919270 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fff0b6ef400) = 0 +1822755773921640:1822755773922160 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fff0b6ef400) = 0 +1822755773924800:1822755773925320 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7fff0b6ef400) = 0 +1822755773927600:1822755773928290 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7fff0b6ef400) = 0 +1822755774109351:1822755774109931 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fff0b6ef400) = 0 +1822755774113151:1822755774113661 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fff0b6ef400) = 0 +1822755774116961:1822755774117571 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7fff0b6ef400) = 0 +1822755774121221:1822755774121771 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7fff0b6ef400) = 0 +1822755774180341:1822755774180801 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fff0b6ef400) = 0 +1822755774183991:1822755774184461 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fff0b6ef400) = 0 +1822755774186361:1822755774186821 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7fff0b6ef400) = 0 +1822755774188481:1822755774188991 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7fff0b6ef400) = 0 +1822755774246022:1822755774246712 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fff0b6ef400) = 0 +1822755774248632:1822755774249082 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fff0b6ef400) = 0 +1822755774251092:1822755774251612 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7fff0b6ef400) = 0 +1822755774253622:1822755774254222 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7fff0b6ef400) = 0 +1822755774349252:1822755774349782 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fff0b6ef400) = 0 +1822755774352082:1822755774352602 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fff0b6ef400) = 0 +1822755774354782:1822755774355242 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7fff0b6ef400) = 0 +1822755774357492:1822755774357992 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7fff0b6ef400) = 0 +1822755774413483:1822755774414003 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fff0b6ef400) = 0 +1822755774415713:1822755774416223 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fff0b6ef400) = 0 +1822755774418393:1822755774419063 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7fff0b6ef400) = 0 +1822755774420853:1822755774421303 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7fff0b6ef400) = 0 +1822755774497853:1822755774498363 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fff0b6ef400) = 0 +1822755774500483:1822755774500993 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fff0b6ef400) = 0 +1822755774503083:1822755774503593 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7fff0b6ef400) = 0 +1822755774505773:1822755774506223 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7fff0b6ef400) = 0 +1822755774599154:1822755774599684 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fff0b6ef400) = 0 +1822755774601594:1822755774602044 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fff0b6ef400) = 0 +1822755774604404:1822755774605004 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7fff0b6ef400) = 0 +1822755774606914:1822755774607424 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7fff0b6ef400) = 0 +1822755774699285:1822755774699745 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fff0b6ef400) = 0 +1822755774702195:1822755774702635 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fff0b6ef400) = 0 +1822755774705165:1822755774705685 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7fff0b6ef400) = 0 +1822755774708625:1822755774709145 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7fff0b6ef400) = 0 +1822755774801965:1822755774802435 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fff0b6ef400) = 0 +1822755774806985:1822755774807505 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fff0b6ef400) = 0 +1822755774809575:1822755774810105 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7fff0b6ef400) = 0 +1822755774812415:1822755774812925 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7fff0b6ef400) = 0 +1822755774902276:1822755774902886 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fff0b6ef400) = 0 +1822755774904616:1822755774905226 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fff0b6ef400) = 0 +1822755774907186:1822755774907726 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7fff0b6ef400) = 0 +1822755774909546:1822755774910006 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7fff0b6ef400) = 0 +1822755774998947:1822755774999417 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fff0b6ef400) = 0 +1822755775001497:1822755775002097 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fff0b6ef400) = 0 +1822755775003847:1822755775004307 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7fff0b6ef400) = 0 +1822755775006097:1822755775006617 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7fff0b6ef400) = 0 +1822755867532726:1822755867545746 116426:116426 hsa_executable_create_alt(1, 0, +1822756011608523:1822756011612443 116426:116426 hsa_code_object_reader_create_from_memory(0x34e0180, , 0x7282e70) = 0 +1822756011615253:1822756011999356 116426:116426 hsa_executable_load_agent_code_object(, , , +1822756012024696:1822756012085186 116426:116426 hsa_executable_freeze(, +1822756012095196:1822756012096916 116426:116426 hsa_executable_create_alt(1, 0, +1822756012109906:1822756012110286 116426:116426 hsa_code_object_reader_create_from_memory(0x34e16f0, , 0x729ab40) = 0 +1822756012110716:1822756012245367 116426:116426 hsa_executable_load_agent_code_object(, , , +1822756012246217:1822756012289787 116426:116426 hsa_executable_freeze(, +1822756012295908:1822756012296758 116426:116426 hsa_executable_create_alt(1, 0, +1822756012307408:1822756012307748 116426:116426 hsa_code_object_reader_create_from_memory(0x34e2c60, , 0x72adf10) = 0 +1822756012308178:1822756012428938 116426:116426 hsa_executable_load_agent_code_object(, , , +1822756012429708:1822756012469819 116426:116426 hsa_executable_freeze(, +1822756012475549:1822756012476309 116426:116426 hsa_executable_create_alt(1, 0, +1822756012486749:1822756012487079 116426:116426 hsa_code_object_reader_create_from_memory(0x34e4640, , 0x72c9030) = 0 +1822756012487529:1822756012607010 116426:116426 hsa_executable_load_agent_code_object(, , , +1822756012607830:1822756012647650 116426:116426 hsa_executable_freeze(, +1822756012653160:1822756012653830 116426:116426 hsa_executable_create_alt(1, 0, +1822756012666390:1822756012666770 116426:116426 hsa_code_object_reader_create_from_memory(0x34e5fa0, , 0x72e4550) = 0 +1822756012667220:1822756012785021 116426:116426 hsa_executable_load_agent_code_object(, , , +1822756012785861:1822756012826071 116426:116426 hsa_executable_freeze(, +1822756012831871:1822756012832661 116426:116426 hsa_executable_create_alt(1, 0, +1822756012843171:1822756012843521 116426:116426 hsa_code_object_reader_create_from_memory(0x3497810, , 0x72fc550) = 0 +1822756012843971:1822756012965772 116426:116426 hsa_executable_load_agent_code_object(, , , +1822756012966522:1822756013005422 116426:116426 hsa_executable_freeze(, +1822756013011112:1822756013011902 116426:116426 hsa_executable_create_alt(1, 0, +1822756013021982:1822756013022342 116426:116426 hsa_code_object_reader_create_from_memory(0x3498d80, , 0x7310230) = 0 +1822756013022782:1822756013141913 116426:116426 hsa_executable_load_agent_code_object(, , , +1822756013142733:1822756013182403 116426:116426 hsa_executable_freeze(, +1822756013187983:1822756013188743 116426:116426 hsa_executable_create_alt(1, 0, +1822756013198493:1822756013198923 116426:116426 hsa_code_object_reader_create_from_memory(0x349a2f0, , 0x7321870) = 0 +1822756013199363:1822756013318164 116426:116426 hsa_executable_load_agent_code_object(, , , +1822756013318904:1822756013358204 116426:116426 hsa_executable_freeze(, +1822756013363584:1822756013364464 116426:116426 hsa_executable_create_alt(1, 0, +1822756013374654:1822756013375004 116426:116426 hsa_code_object_reader_create_from_memory(0x349b860, , 0x73365c0) = 0 +1822756013375444:1822756013492385 116426:116426 hsa_executable_load_agent_code_object(, , , +1822756013493145:1822756013532365 116426:116426 hsa_executable_freeze(, +1822756013538175:1822756013538775 116426:116426 hsa_executable_create_alt(1, 0, +1822756013553436:1822756013553826 116426:116426 hsa_code_object_reader_create_from_memory(0x34ac500, , 0x7349310) = 0 +1822756013554286:1822756013689616 116426:116426 hsa_executable_load_agent_code_object(, , , +1822756013690356:1822756013732407 116426:116426 hsa_executable_freeze(, +1822756013738327:1822756013739097 116426:116426 hsa_executable_create_alt(1, 0, +1822756013749957:1822756013750297 116426:116426 hsa_code_object_reader_create_from_memory(0x349e340, , 0x735cb10) = 0 +1822756013750727:1822756013866888 116426:116426 hsa_executable_load_agent_code_object(, , , +1822756013867628:1822756013908168 116426:116426 hsa_executable_freeze(, +1822756013913698:1822756013914568 116426:116426 hsa_executable_create_alt(1, 0, +1822756013924528:1822756013924928 116426:116426 hsa_code_object_reader_create_from_memory(0x349f8b0, , 0x736c6d0) = 0 +1822756013927188:1822756014043729 116426:116426 hsa_executable_load_agent_code_object(, , , +1822756014044489:1822756014085129 116426:116426 hsa_executable_freeze(, +1822756014090889:1822756014091659 116426:116426 hsa_executable_create_alt(1, 0, +1822756014103259:1822756014103619 116426:116426 hsa_code_object_reader_create_from_memory(0x34a5960, , 0x737e270) = 0 +1822756014104069:1822756014223310 116426:116426 hsa_executable_load_agent_code_object(, , , +1822756014224030:1822756014263040 116426:116426 hsa_executable_freeze(, +1822756014268780:1822756014269620 116426:116426 hsa_executable_create_alt(1, 0, +1822756014280020:1822756014280370 116426:116426 hsa_code_object_reader_create_from_memory(0x34a9470, , 0x7399d50) = 0 +1822756014280820:1822756014397001 116426:116426 hsa_executable_load_agent_code_object(, , , +1822756014397731:1822756014437811 116426:116426 hsa_executable_freeze(, +1822756014443391:1822756014444161 116426:116426 hsa_executable_create_alt(1, 0, +1822756014454551:1822756014454911 116426:116426 hsa_code_object_reader_create_from_memory(0x34aa9e0, , 0x73b4690) = 0 +1822756014455341:1822756014570932 116426:116426 hsa_executable_load_agent_code_object(, , , +1822756014571692:1822756014611562 116426:116426 hsa_executable_freeze(, +1822756014617052:1822756014617812 116426:116426 hsa_executable_create_alt(1, 0, +1822756014628382:1822756014628723 116426:116426 hsa_code_object_reader_create_from_memory(0x34a0e20, , 0x7393f30) = 0 +1822756014629153:1822756014743763 116426:116426 hsa_executable_load_agent_code_object(, , , +1822756014744503:1822756014783613 116426:116426 hsa_executable_freeze(, +1822756014789004:1822756014789914 116426:116426 hsa_executable_create_alt(1, 0, +1822756014800234:1822756014800674 116426:116426 hsa_code_object_reader_create_from_memory(0x34a2390, , 0x73df1b0) = 0 +1822756014801094:1822756014916484 116426:116426 hsa_executable_load_agent_code_object(, , , +1822756014917224:1822756014956405 116426:116426 hsa_executable_freeze(, +1822756014962095:1822756014962665 116426:116426 hsa_executable_create_alt(1, 0, +1822756014972385:1822756014972735 116426:116426 hsa_code_object_reader_create_from_memory(0x34a3900, , 0x73f7790) = 0 +1822756014973175:1822756015089265 116426:116426 hsa_executable_load_agent_code_object(, , , +1822756015090005:1822756015129646 116426:116426 hsa_executable_freeze(, +1822756015135086:1822756015135826 116426:116426 hsa_executable_create_alt(1, 0, +1822756015145686:1822756015146086 116426:116426 hsa_code_object_reader_create_from_memory(0x34b1870, , 0x74151f0) = 0 +1822756015148146:1822756015263277 116426:116426 hsa_executable_load_agent_code_object(, , , +1822756015264017:1822756015303057 116426:116426 hsa_executable_freeze(, +1822756015308617:1822756015309197 116426:116426 hsa_executable_create_alt(1, 0, +1822756015319207:1822756015319547 116426:116426 hsa_code_object_reader_create_from_memory(0x34b32b0, , 0x741db30) = 0 +1822756015319987:1822756015435658 116426:116426 hsa_executable_load_agent_code_object(, , , +1822756015436388:1822756015474858 116426:116426 hsa_executable_freeze(, +1822756015530228:1822756015530938 116426:116426 hsa_executable_create_alt(1, 0, +1822756015556988:1822756015557328 116426:116426 hsa_code_object_reader_create_from_memory(0x3076370, , 0x74485a0) = 0 +1822756015557768:1822756015685469 116426:116426 hsa_executable_load_agent_code_object(, , , +1822756015686189:1822756015724860 116426:116426 hsa_executable_freeze(, +1822756015731700:1822756015732780 116426:116426 hsa_executable_create_alt(1, 0, +1822756015752030:1822756015752420 116426:116426 hsa_code_object_reader_create_from_memory(0x3080cd0, , 0x74613c0) = 0 +1822756015752860:1822756015874891 116426:116426 hsa_executable_load_agent_code_object(, , , +1822756015875601:1822756015914241 116426:116426 hsa_executable_freeze(, +1822756015875601:1822756015922881 116426:116426 hsa_agent_iterate_isas(, 1, 0x7fff0b6ef348) = 0 +1822756015925641:1822756015926411 116426:116426 hsa_executable_iterate_agent_symbols(, , 1, 0x1d25b80) = 0 +1822756015926841:1822756015927161 116426:116426 hsa_executable_iterate_agent_symbols(, , 1, 0x1d25b80) = 0 +1822756015927561:1822756015927861 116426:116426 hsa_executable_iterate_agent_symbols(, , 1, 0x1d25b80) = 0 +1822756015928251:1822756015928551 116426:116426 hsa_executable_iterate_agent_symbols(, , 1, 0x1d25b80) = 0 +1822756015928931:1822756015929241 116426:116426 hsa_executable_iterate_agent_symbols(, , 1, 0x1d25b80) = 0 +1822756015929621:1822756015929941 116426:116426 hsa_executable_iterate_agent_symbols(, , 1, 0x1d25b80) = 0 +1822756015930321:1822756015930631 116426:116426 hsa_executable_iterate_agent_symbols(, , 1, 0x1d25b80) = 0 +1822756015931021:1822756015931321 116426:116426 hsa_executable_iterate_agent_symbols(, , 1, 0x1d25b80) = 0 +1822756015931701:1822756015932011 116426:116426 hsa_executable_iterate_agent_symbols(, , 1, 0x1d25b80) = 0 +1822756015933861:1822756015934501 116426:116426 hsa_executable_symbol_get_info(, 0, 0x7fff0b6ef268) = 0 +1822756015934951:1822756015935251 116426:116426 hsa_executable_symbol_get_info(, 1, 0x7fff0b6ef264) = 0 +1822756015935991:1822756015936331 116426:116426 hsa_executable_symbol_get_info(, 2, 0x6c819c0) = 0 +1822756015937231:1822756015937541 116426:116426 hsa_executable_symbol_get_info(, 0, 0x7fff0b6ef268) = 0 +1822756015937931:1822756015938221 116426:116426 hsa_executable_symbol_get_info(, 1, 0x7fff0b6ef264) = 0 +1822756015940341:1822756015940661 116426:116426 hsa_executable_symbol_get_info(, 2, 0x349d130) = 0 +1822756015941251:1822756015941551 116426:116426 hsa_executable_symbol_get_info(, 0, 0x7fff0b6ef268) = 0 +1822756015941941:1822756015942231 116426:116426 hsa_executable_symbol_get_info(, 1, 0x7fff0b6ef264) = 0 +1822756015942671:1822756015942991 116426:116426 hsa_executable_symbol_get_info(, 2, 0x755d040) = 0 +1822756015943611:1822756015943911 116426:116426 hsa_executable_symbol_get_info(, 0, 0x7fff0b6ef268) = 0 +1822756015944301:1822756015944591 116426:116426 hsa_executable_symbol_get_info(, 1, 0x7fff0b6ef264) = 0 +1822756015945051:1822756015945361 116426:116426 hsa_executable_symbol_get_info(, 2, 0x7568bf0) = 0 +1822756015945971:1822756015946271 116426:116426 hsa_executable_symbol_get_info(, 0, 0x7fff0b6ef268) = 0 +1822756015946661:1822756015946951 116426:116426 hsa_executable_symbol_get_info(, 1, 0x7fff0b6ef264) = 0 +1822756015947411:1822756015947721 116426:116426 hsa_executable_symbol_get_info(, 2, 0x7565b60) = 0 +1822756015948511:1822756015948811 116426:116426 hsa_executable_symbol_get_info(, 0, 0x7fff0b6ef268) = 0 +1822756015949201:1822756015949491 116426:116426 hsa_executable_symbol_get_info(, 1, 0x7fff0b6ef264) = 0 +1822756015949931:1822756015950231 116426:116426 hsa_executable_symbol_get_info(, 2, 0x73e4350) = 0 +1822756015949931:1822756015950811 116426:116426 hsa_executable_iterate_agent_symbols(, , 1, 0x1d25b80) = 0 +1822756015951221:1822756015951541 116426:116426 hsa_executable_iterate_agent_symbols(, , 1, 0x1d25b80) = 0 +1822756015951931:1822756015952231 116426:116426 hsa_executable_iterate_agent_symbols(, , 1, 0x1d25b80) = 0 +1822756015952941:1822756015953241 116426:116426 hsa_executable_symbol_get_info(, 0, 0x7fff0b6ef268) = 0 +1822756015953631:1822756015953921 116426:116426 hsa_executable_symbol_get_info(, 1, 0x7fff0b6ef264) = 0 +1822756015954361:1822756015954671 116426:116426 hsa_executable_symbol_get_info(, 2, 0x6d16c30) = 0 +1822756015954361:1822756015955261 116426:116426 hsa_executable_iterate_agent_symbols(, , 1, 0x1d25b80) = 0 +1822756015955651:1822756015955961 116426:116426 hsa_executable_iterate_agent_symbols(, , 1, 0x1d25b80) = 0 +1822756015956341:1822756015956651 116426:116426 hsa_executable_iterate_agent_symbols(, , 1, 0x1d25b80) = 0 +1822756015957031:1822756015957341 116426:116426 hsa_executable_iterate_agent_symbols(, , 1, 0x1d25b80) = 0 +1822756015957721:1822756015958031 116426:116426 hsa_executable_iterate_agent_symbols(, , 1, 0x1d25b80) = 0 +1822756015958411:1822756015958721 116426:116426 hsa_executable_iterate_agent_symbols(, , 1, 0x1d25b80) = 0 +1822756015959101:1822756015959411 116426:116426 hsa_executable_iterate_agent_symbols(, , 1, 0x1d25b80) = 0 +1822756015959791:1822756015960101 116426:116426 hsa_executable_iterate_agent_symbols(, , 1, 0x1d25b80) = 0 +1822756015960811:1822756015961101 116426:116426 hsa_executable_symbol_get_info(, 0, 0x7fff0b6ef268) = 0 +1822756015962351:1822756015962651 116426:116426 hsa_executable_symbol_get_info(, 1, 0x7fff0b6ef264) = 0 +1822756015963101:1822756015963421 116426:116426 hsa_executable_symbol_get_info(, 2, 0x349d990) = 0 +1822756015963101:1822756015964271 116426:116426 hsa_executable_iterate_agent_symbols(, , 1, 0x1d25b80) = 0 +1822756015965001:1822756015965291 116426:116426 hsa_executable_symbol_get_info(, 0, 0x7fff0b6ef268) = 0 +1822756015965691:1822756015965981 116426:116426 hsa_executable_symbol_get_info(, 1, 0x7fff0b6ef264) = 0 +1822756015966411:1822756015966721 116426:116426 hsa_executable_symbol_get_info(, 2, 0x7568c40) = 0 +1822756015966411:1822756015967341 116426:116426 hsa_executable_iterate_agent_symbols(, , 1, 0x1d25b80) = 0 +1822756051341716:1822756051343396 116426:116426 hsa_executable_symbol_get_info(, 22, 0x7fff0b6ef4e0) = 0 +1822756051351036:1822756051351526 116426:116426 hsa_system_major_extension_supported(, , , ) = 0 +1822756051353446:1822756051353796 116426:116426 hsa_system_get_major_extension_table(, , , 0x7fff0b6ef470) = 0 +1822756051431217:1822756051431517 116426:116426 hsa_executable_symbol_get_info(, 22, 0x7fff0b6ef4e0) = 0 +1822756051432037:1822756051432317 116426:116426 hsa_system_major_extension_supported(, , , ) = 0 +1822756051432717:1822756051433017 116426:116426 hsa_system_get_major_extension_table(, , , 0x7fff0b6ef470) = 0 +1822756051442837:1822756051443287 116426:116426 hsa_executable_symbol_get_info(, 22, 0x7fff0b6ef4e0) = 0 +1822756051443797:1822756051444077 116426:116426 hsa_system_major_extension_supported(, , , ) = 0 +1822756051444477:1822756051444777 116426:116426 hsa_system_get_major_extension_table(, , , 0x7fff0b6ef470) = 0 +1822756051446287:1822756051446657 116426:116426 hsa_executable_symbol_get_info(, 22, 0x7fff0b6ef4e0) = 0 +1822756051447127:1822756051447407 116426:116426 hsa_system_major_extension_supported(, , , ) = 0 +1822756051447807:1822756051448097 116426:116426 hsa_system_get_major_extension_table(, , , 0x7fff0b6ef470) = 0 +1822756051450297:1822756051450577 116426:116426 hsa_executable_symbol_get_info(, 22, 0x7fff0b6ef4e0) = 0 +1822756051451057:1822756051451337 116426:116426 hsa_system_major_extension_supported(, , , ) = 0 +1822756051451727:1822756051452017 116426:116426 hsa_system_get_major_extension_table(, , , 0x7fff0b6ef470) = 0 +1822756051453757:1822756051454047 116426:116426 hsa_executable_symbol_get_info(, 22, 0x7fff0b6ef4e0) = 0 +1822756051454657:1822756051454937 116426:116426 hsa_system_major_extension_supported(, , , ) = 0 +1822756051455337:1822756051455617 116426:116426 hsa_system_get_major_extension_table(, , , 0x7fff0b6ef470) = 0 +1822756051998390:1822756051998710 116426:116426 hsa_executable_symbol_get_info(, 22, 0x7fff0b6ef4e0) = 0 +1822756051999230:1822756051999510 116426:116426 hsa_system_major_extension_supported(, , , ) = 0 +1822756052009550:1822756052010000 116426:116426 hsa_system_get_major_extension_table(, , , 0x7fff0b6ef470) = 0 +1822756052011870:1822756052012230 116426:116426 hsa_executable_symbol_get_info(, 22, 0x7fff0b6ef4e0) = 0 +1822756052021070:1822756052021350 116426:116426 hsa_system_major_extension_supported(, , , ) = 0 +1822756052021740:1822756052022030 116426:116426 hsa_system_get_major_extension_table(, , , 0x7fff0b6ef470) = 0 +1822756052238542:1822756052238842 116426:116426 hsa_executable_symbol_get_info(, 22, 0x7fff0b6ef4e0) = 0 +1822756052239342:1822756052239622 116426:116426 hsa_system_major_extension_supported(, , , ) = 0 +1822756052240012:1822756052240302 116426:116426 hsa_system_get_major_extension_table(, , , 0x7fff0b6ef470) = 0 +1822756052241272:1822756052241562 116426:116426 hsa_executable_symbol_get_info(, 22, 0x7fff0b6ef4e0) = 0 +1822756052242042:1822756052242322 116426:116426 hsa_system_major_extension_supported(, , , ) = 0 +1822756052242712:1822756052242992 116426:116426 hsa_system_get_major_extension_table(, , , 0x7fff0b6ef470) = 0 +1822756052839946:1822756052840336 116426:116426 hsa_executable_symbol_get_info(, 22, 0x7fff0b6ef4e0) = 0 +1822756052840896:1822756052841186 116426:116426 hsa_system_major_extension_supported(, , , ) = 0 +1822756052841586:1822756052841876 116426:116426 hsa_system_get_major_extension_table(, , , 0x7fff0b6ef470) = 0 +1822756053163898:1822756053164458 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756053174058:1822756053174598 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 +1822756053191548:1822756058266990 116426:116426 hsa_queue_create(, , , 1, 0, , , ) = 0 +1822756058279151:1822756058280421 116426:116426 hsa_amd_profiling_set_profiler_enabled(, 1) = 0 +1822756058291021:1822756058291771 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 0 +1822756058294081:1822756058294471 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 0 +1822756058295951:1822756058298141 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 +1822756058300051:1822756058300401 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756058303401:1822756058304031 116426:116426 hsa_signal_store_relaxed(, 0) = void +1822756058320361:1822756058320991 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756058347521:1822756058348121 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756058360551:1822756058361161 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 +1822756058363681:1822756058367971 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 +1822756058368461:1822756058368781 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 1 +1822756058369251:1822756058369591 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 0 +1822756058370261:1822756058370581 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756058371051:1822756058371541 116426:116426 hsa_signal_store_relaxed(, 1) = void +1822756058383541:1822756059632269 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822756059641119:1822756059642409 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822756059655459:1822756059657209 116426:116426 hsa_signal_destroy() = 0 +1822756059660989:1822756059662359 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756059663459:1822756059664579 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756059668859:1822756059670269 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756059671089:1822756059671639 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756059672559:1822756059673109 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756059674990:1822756059676060 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 +1822756059676930:1822756059678110 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce160b0) = 0 +1822756059679260:1822756059684020 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce16070) = 0 +1822756059685310:1822756059689010 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 +1822756062126685:1822756062131785 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756062133775:1822756062134885 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756062135915:1822756062137085 116426:116430 hsa_signal_load_relaxed() = 1 +1822756059689930:1822756062140075 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756062138185:1822756062140305 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756062141705:1822756062142435 116426:116430 hsa_signal_destroy() = 0 +1822756062838929:1822756062840179 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756075702652:1822756075704062 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756075722832:1822756075723962 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756075725072:1822756075726192 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756075729152:1822756075730452 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756075731262:1822756075732412 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756075733392:1822756075734492 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756076416836:1822756076417956 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756076420166:1822756076421276 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 +1822756076422816:1822756076426206 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce16110) = 0 +1822756076427446:1822756076434206 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce160d0) = 0 +1822756076446266:1822756076449366 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 +1822756078070066:1822756078074827 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756078076837:1822756078077947 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756078078907:1822756078079767 116426:116430 hsa_signal_load_relaxed() = 1 +1822756076450406:1822756078081927 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756078080567:1822756078082677 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756078083287:1822756078083797 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756078084227:1822756078085057 116426:116430 hsa_signal_destroy() = 0 +1822756078086387:1822756078086987 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756078103757:1822756078104657 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756078109047:1822756078109647 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 +1822756078115207:1822756078116457 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 2 +1822756078117387:1822756078118227 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 2 +1822756078119137:1822756078120417 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 +1822756078121327:1822756078121677 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756078122787:1822756078123617 116426:116426 hsa_signal_store_relaxed(, 2) = void +1822756078126107:1822756078126717 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756078130767:1822756078131367 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756078134337:1822756078134947 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 +1822756078135997:1822756078141087 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 +1822756078141567:1822756078141887 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 3 +1822756078142337:1822756078142657 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 2 +1822756078143477:1822756078143797 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756078144247:1822756078144737 116426:116426 hsa_signal_store_relaxed(, 3) = void +1822756078146357:1822756079410695 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822756079415615:1822756079416275 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822756079419195:1822756079420545 116426:116426 hsa_signal_destroy() = 0 +1822756079423975:1822756079424965 116426:116426 hsa_signal_destroy() = 0 +1822756079428905:1822756079429535 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756079430065:1822756079430665 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756079431785:1822756079432315 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756079432775:1822756079433545 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756079434005:1822756079434315 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756079435425:1822756079436035 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 +1822756079436535:1822756079437315 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce16170) = 0 +1822756079437965:1822756079441555 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce16130) = 0 +1822756079442135:1822756079443525 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 +1822756081985631:1822756081990261 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756081992501:1822756081993611 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756081994631:1822756081995651 116426:116430 hsa_signal_load_relaxed() = 1 +1822756079444055:1822756081998071 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756081996461:1822756081998471 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756081999921:1822756082000661 116426:116430 hsa_signal_destroy() = 0 +1822756082627275:1822756082627955 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756089167467:1822756089168257 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756089183097:1822756089183637 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756089184237:1822756089184767 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756089188107:1822756089188977 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756089189587:1822756089190457 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756089191037:1822756089191937 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756089794011:1822756089794661 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756089796731:1822756089797261 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 +1822756089798071:1822756089800681 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce161d0) = 0 +1822756089801541:1822756089807401 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce16190) = 0 +1822756089807991:1822756089811381 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 +1822756091460741:1822756091465681 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756091473471:1822756091474602 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756091475582:1822756091476442 116426:116430 hsa_signal_load_relaxed() = 1 +1822756089811971:1822756091478602 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756091477262:1822756091479362 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756091480352:1822756091481202 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756091480932:1822756091482072 116426:116430 hsa_signal_destroy() = 0 +1822756091483972:1822756091484582 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756091500522:1822756091501132 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756091505362:1822756091505962 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 +1822756091512452:1822756091513482 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 4 +1822756091514682:1822756091515172 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 4 +1822756091516282:1822756091517712 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 +1822756091518452:1822756091518802 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756091520082:1822756091520922 116426:116426 hsa_signal_store_relaxed(, 4) = void +1822756091523062:1822756091523672 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756091527902:1822756091528512 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756091530952:1822756091531562 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 +1822756091532522:1822756091533262 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 +1822756091533712:1822756091534042 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 5 +1822756091534482:1822756091534792 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 4 +1822756091535442:1822756091535762 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756091536212:1822756091536702 116426:116426 hsa_signal_store_relaxed(, 5) = void +1822756091538062:1822756092816320 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822756092820680:1822756092821200 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822756092824540:1822756092825670 116426:116426 hsa_signal_destroy() = 0 +1822756092827330:1822756092827780 116426:116426 hsa_signal_destroy() = 0 +1822756092829100:1822756092829650 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756092830100:1822756092830640 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756092831710:1822756092832180 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756092842170:1822756092843010 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756092843430:1822756092843700 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756092844760:1822756092845300 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 +1822756092845780:1822756092846540 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce16230) = 0 +1822756092847070:1822756092850420 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce161f0) = 0 +1822756092850920:1822756092852200 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 +1822756095458137:1822756095462767 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756095464627:1822756095465737 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756095466757:1822756095467777 116426:116430 hsa_signal_load_relaxed() = 1 +1822756092852660:1822756095470157 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756095468587:1822756095470587 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756095471807:1822756095472547 116426:116430 hsa_signal_destroy() = 0 +1822756096113841:1822756096114511 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756102582553:1822756102583623 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756102598263:1822756102598803 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756102599593:1822756102600133 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756102602493:1822756102603373 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756102604103:1822756102604933 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756102605623:1822756102606503 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756103186457:1822756103186947 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756103188327:1822756103188867 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 +1822756103189947:1822756103192697 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce16290) = 0 +1822756103193597:1822756103199267 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce16250) = 0 +1822756103200407:1822756103203667 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 +1822756104834497:1822756104839117 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756104841217:1822756104842337 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756104843427:1822756104844287 116426:116430 hsa_signal_load_relaxed() = 1 +1822756103204267:1822756104846587 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756104845207:1822756104847127 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756104852817:1822756104853577 116426:116430 hsa_signal_destroy() = 0 +1822756104858077:1822756104858537 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756104860197:1822756104860807 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756104876957:1822756104877567 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756104881167:1822756104881767 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 +1822756104887667:1822756104888677 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 6 +1822756104889507:1822756104890167 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 6 +1822756104891067:1822756104892397 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 +1822756104893117:1822756104893467 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756104894657:1822756104895487 116426:116426 hsa_signal_store_relaxed(, 6) = void +1822756104897527:1822756104898137 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756104902317:1822756104902917 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756104905348:1822756104905958 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 +1822756104906888:1822756104907798 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 +1822756104908238:1822756104908558 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 7 +1822756104908998:1822756104909318 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 6 +1822756104910148:1822756104910468 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756104910918:1822756104911398 116426:116426 hsa_signal_store_relaxed(, 7) = void +1822756104912848:1822756106178705 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822756106183345:1822756106183975 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822756106186675:1822756106187805 116426:116426 hsa_signal_destroy() = 0 +1822756106189446:1822756106190116 116426:116426 hsa_signal_destroy() = 0 +1822756106191346:1822756106191906 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756106192356:1822756106192896 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756106193806:1822756106194276 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756106194696:1822756106195116 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756106195526:1822756106195796 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756106196696:1822756106197236 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 +1822756106200146:1822756106200856 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce162f0) = 0 +1822756106201386:1822756106204826 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce162b0) = 0 +1822756106205296:1822756106206536 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 +1822756108780922:1822756108785522 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756108787702:1822756108788812 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756108789842:1822756108790862 116426:116430 hsa_signal_load_relaxed() = 1 +1822756106207006:1822756108793292 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756108791672:1822756108793672 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756108795502:1822756108796232 116426:116430 hsa_signal_destroy() = 0 +1822756109422086:1822756109422766 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756115847097:1822756115848177 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756115862517:1822756115863057 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756115863657:1822756115864187 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756115866877:1822756115867777 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756115868237:1822756115868877 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756115869427:1822756115870557 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756116471951:1822756116472381 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756116473871:1822756116474471 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 +1822756116475471:1822756116478011 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce16350) = 0 +1822756116478781:1822756116484711 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce16310) = 0 +1822756116485571:1822756116489491 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 +1822756118099161:1822756118103751 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756118105991:1822756118107101 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756118108051:1822756118108911 116426:116430 hsa_signal_load_relaxed() = 1 +1822756116490031:1822756118111351 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756118110001:1822756118112131 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756118112651:1822756118113171 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756118113581:1822756118114411 116426:116430 hsa_signal_destroy() = 0 +1822756118115681:1822756118116281 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756118135951:1822756118136561 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756118140621:1822756118141231 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 +1822756118147102:1822756118148172 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 8 +1822756118148962:1822756118149622 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 8 +1822756118150442:1822756118151812 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 +1822756118152512:1822756118152942 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756118154012:1822756118154852 116426:116426 hsa_signal_store_relaxed(, 8) = void +1822756118157362:1822756118157972 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756118168382:1822756118168982 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756118171352:1822756118171952 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 +1822756118172972:1822756118173722 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 +1822756118174172:1822756118174582 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 9 +1822756118175032:1822756118175342 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 8 +1822756118176002:1822756118176312 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756118176762:1822756118177252 116426:116426 hsa_signal_store_relaxed(, 9) = void +1822756118179182:1822756119425929 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822756119430660:1822756119431510 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822756119434300:1822756119435420 116426:116426 hsa_signal_destroy() = 0 +1822756119437330:1822756119437810 116426:116426 hsa_signal_destroy() = 0 +1822756119438990:1822756119439620 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756119440130:1822756119440740 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756119441820:1822756119442340 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756119442970:1822756119443550 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756119444010:1822756119444310 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756119445280:1822756119445880 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 +1822756119446390:1822756119447220 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce163b0) = 0 +1822756119447740:1822756119451310 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce16370) = 0 +1822756119451830:1822756119453120 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 +1822756122001536:1822756122006176 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756122008206:1822756122009316 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756122010336:1822756122011356 116426:116430 hsa_signal_load_relaxed() = 1 +1822756119456260:1822756122013816 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756122012166:1822756122014166 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756122015386:1822756122016136 116426:116430 hsa_signal_destroy() = 0 +1822756122645770:1822756122646460 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756129189812:1822756129191232 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756129206872:1822756129207412 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756129208182:1822756129208722 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756129211552:1822756129212442 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756129213052:1822756129213932 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756129214592:1822756129215512 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756129818886:1822756129819386 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756129820966:1822756129821496 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 +1822756129822476:1822756129825176 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce16410) = 0 +1822756129826376:1822756129832656 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce163d0) = 0 +1822756129833406:1822756129836836 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 +1822756131462557:1822756131467197 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756131469197:1822756131470297 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756131471387:1822756131472247 116426:116430 hsa_signal_load_relaxed() = 1 +1822756129837506:1822756131474627 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756131473287:1822756131475427 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756131476007:1822756131476527 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756131477137:1822756131477877 116426:116430 hsa_signal_destroy() = 0 +1822756131479107:1822756131479707 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756131496027:1822756131496637 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756131500927:1822756131501527 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 +1822756131516167:1822756131517257 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 10 +1822756131518207:1822756131518687 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 10 +1822756131519657:1822756131520917 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 +1822756131521607:1822756131521967 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756131523177:1822756131524007 116426:116426 hsa_signal_store_relaxed(, 10) = void +1822756131526317:1822756131526927 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756131530777:1822756131531387 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756131533547:1822756131534157 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 +1822756131535267:1822756131536017 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 +1822756131536467:1822756131536777 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 11 +1822756131537217:1822756131537537 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 10 +1822756131538187:1822756131538497 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756131538937:1822756131539427 116426:116426 hsa_signal_store_relaxed(, 11) = void +1822756131540897:1822756132810665 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822756132815245:1822756132815805 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822756132818725:1822756132819855 116426:116426 hsa_signal_destroy() = 0 +1822756132821945:1822756132822385 116426:116426 hsa_signal_destroy() = 0 +1822756132823645:1822756132824195 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756132824645:1822756132825185 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756132826125:1822756132826605 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756132827015:1822756132827435 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756132827845:1822756132828115 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756132829185:1822756132829715 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 +1822756132830165:1822756132830925 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce16470) = 0 +1822756132831465:1822756132834876 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce16430) = 0 +1822756132835346:1822756132836566 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 +1822756135459942:1822756135464592 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756135466642:1822756135467752 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756135468902:1822756135469902 116426:116430 hsa_signal_load_relaxed() = 1 +1822756132837026:1822756135476042 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756135474462:1822756135476492 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756135477872:1822756135478602 116426:116430 hsa_signal_destroy() = 0 +1822756136131816:1822756136132526 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756142556547:1822756142557817 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756142572607:1822756142573147 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756142573837:1822756142574377 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756142576857:1822756142578057 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756142578447:1822756142579307 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756142579857:1822756142580757 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756143156891:1822756143157411 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756143159261:1822756143159791 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 +1822756143160941:1822756143163401 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce164d0) = 0 +1822756143164291:1822756143170031 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce16490) = 0 +1822756143170761:1822756143173881 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 +1822756144792972:1822756144797592 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756144799782:1822756144800902 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756144801862:1822756144802712 116426:116430 hsa_signal_load_relaxed() = 1 +1822756143174561:1822756144805162 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756144803672:1822756144805612 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756144806902:1822756144807872 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756144807172:1822756144808302 116426:116430 hsa_signal_destroy() = 0 +1822756144809962:1822756144810572 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756144826582:1822756144827192 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756144831902:1822756144832512 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 +1822756144838412:1822756144839342 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 12 +1822756144840132:1822756144840772 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 12 +1822756144841612:1822756144842772 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 +1822756144853052:1822756144853502 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756144854882:1822756144855732 116426:116426 hsa_signal_store_relaxed(, 12) = void +1822756144858092:1822756144858702 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756144862912:1822756144863512 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756144866032:1822756144866642 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 +1822756144867692:1822756144868642 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 +1822756144869082:1822756144869402 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 13 +1822756144869842:1822756144870162 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 12 +1822756144870802:1822756144871112 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756144871562:1822756144872042 116426:116426 hsa_signal_store_relaxed(, 13) = void +1822756144873652:1822756146142330 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822756146146650:1822756146147290 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822756146150090:1822756146151090 116426:116426 hsa_signal_destroy() = 0 +1822756146153140:1822756146153810 116426:116426 hsa_signal_destroy() = 0 +1822756146155020:1822756146155570 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756146156020:1822756146156550 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756146157350:1822756146157830 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756146158240:1822756146158660 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756146159070:1822756146159340 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756146160410:1822756146160940 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 +1822756146161390:1822756146162060 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce16530) = 0 +1822756146162890:1822756146166260 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce164f0) = 0 +1822756146166720:1822756146167840 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 +1822756148751906:1822756148756526 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756148758786:1822756148759896 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756148760926:1822756148761946 116426:116430 hsa_signal_load_relaxed() = 1 +1822756146168310:1822756148764516 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756148762886:1822756148764896 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756148770396:1822756148771156 116426:116430 hsa_signal_destroy() = 0 +1822756149390530:1822756149391210 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756155829762:1822756155831032 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756155845582:1822756155846112 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756155846692:1822756155847222 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756155849552:1822756155850422 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756155850812:1822756155851682 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756155852362:1822756155853072 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756156465696:1822756156466206 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756156467856:1822756156468386 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 +1822756156469176:1822756156471506 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce16590) = 0 +1822756156472746:1822756156479176 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce16550) = 0 +1822756156479926:1822756156483316 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 +1822756158109086:1822756158113656 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756158115776:1822756158116886 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756158118046:1822756158118916 116426:116430 hsa_signal_load_relaxed() = 1 +1822756156483886:1822756158121266 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756158119926:1822756158122026 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756158122846:1822756158123356 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756158123756:1822756158124586 116426:116430 hsa_signal_destroy() = 0 +1822756158126646:1822756158127266 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756158143376:1822756158143986 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756158148346:1822756158148946 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 +1822756158154956:1822756158155976 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 14 +1822756158157016:1822756158157816 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 14 +1822756158158656:1822756158159876 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 +1822756158160696:1822756158161126 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756158162196:1822756158163186 116426:116426 hsa_signal_store_relaxed(, 14) = void +1822756158165346:1822756158165956 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756158179826:1822756158180426 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756158183006:1822756158183606 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 +1822756158184596:1822756158185317 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 +1822756158185777:1822756158186087 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 15 +1822756158186527:1822756158186847 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 14 +1822756158187497:1822756158187817 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756158188267:1822756158188747 116426:116426 hsa_signal_store_relaxed(, 15) = void +1822756158190467:1822756159450364 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822756159455114:1822756159455754 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822756159459094:1822756159460294 116426:116426 hsa_signal_destroy() = 0 +1822756159462144:1822756159462624 116426:116426 hsa_signal_destroy() = 0 +1822756159464334:1822756159464954 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756159465464:1822756159466064 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756159466954:1822756159467474 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756159467934:1822756159468494 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756159468954:1822756159469264 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756159470364:1822756159470965 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 +1822756159471475:1822756159472285 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce165f0) = 0 +1822756159472775:1822756159476355 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce165b0) = 0 +1822756159476865:1822756159478145 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 +1822756162005461:1822756162010051 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756162012241:1822756162013341 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756162014561:1822756162015571 116426:116430 hsa_signal_load_relaxed() = 1 +1822756159478655:1822756162018331 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756162016671:1822756162018671 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756162020231:1822756162020971 116426:116430 hsa_signal_destroy() = 0 +1822756162646455:1822756162647135 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756169128456:1822756169129386 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756169154427:1822756169154967 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756169155537:1822756169156077 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756169158727:1822756169159817 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756169160207:1822756169161077 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756169161617:1822756169162747 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756169757070:1822756169757590 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756169759451:1822756169759981 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 +1822756169760841:1822756169763341 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce16650) = 0 +1822756169764161:1822756169769921 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce16610) = 0 +1822756169770741:1822756169774111 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 +1822756171461031:1822756171465631 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756171467921:1822756171469031 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756171469981:1822756171470841 116426:116430 hsa_signal_load_relaxed() = 1 +1822756169774681:1822756171473142 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756171471792:1822756171473912 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756171474382:1822756171475042 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756171475612:1822756171476352 116426:116430 hsa_signal_destroy() = 0 +1822756171477632:1822756171478242 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756171495172:1822756171495832 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756171499722:1822756171500322 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 +1822756171506452:1822756171507362 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 16 +1822756171508182:1822756171508832 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 16 +1822756171509722:1822756171510802 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 +1822756171511622:1822756171512052 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756171513572:1822756171514382 116426:116426 hsa_signal_store_relaxed(, 16) = void +1822756171516702:1822756171517312 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756171521222:1822756171521832 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756171523912:1822756171524512 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 +1822756171525452:1822756171526242 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 +1822756171528862:1822756171529272 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 17 +1822756171529712:1822756171530022 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 16 +1822756171530842:1822756171531152 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756171531602:1822756171532092 116426:116426 hsa_signal_store_relaxed(, 17) = void +1822756171533552:1822756172784450 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822756172788650:1822756172789220 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822756172792640:1822756172793710 116426:116426 hsa_signal_destroy() = 0 +1822756172795280:1822756172795720 116426:116426 hsa_signal_destroy() = 0 +1822756172796800:1822756172797350 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756172797800:1822756172798340 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756172799290:1822756172799760 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756172800170:1822756172800590 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756172801120:1822756172801400 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756172802300:1822756172802830 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 +1822756172803290:1822756172804030 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce166b0) = 0 +1822756172804540:1822756172807770 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce16670) = 0 +1822756172808240:1822756172809470 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 +1822756175460066:1822756175464646 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756175467016:1822756175468126 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756175469146:1822756175470166 116426:116430 hsa_signal_load_relaxed() = 1 +1822756172809930:1822756175472697 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756175471116:1822756175473157 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756175474517:1822756175475247 116426:116430 hsa_signal_destroy() = 0 +1822756176122201:1822756176122931 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756182698163:1822756182699343 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756182715193:1822756182715733 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756182716423:1822756182716963 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756182720033:1822756182720913 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756182731013:1822756182732093 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756182732743:1822756182733953 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756183331637:1822756183332337 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756183334217:1822756183334747 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 +1822756183335727:1822756183338457 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce16710) = 0 +1822756183339437:1822756183344927 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce166d0) = 0 +1822756183345757:1822756183348667 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 +1822756184855337:1822756184859857 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756184862317:1822756184863427 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756184864597:1822756184865457 116426:116430 hsa_signal_load_relaxed() = 1 +1822756183349287:1822756184867937 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756184866557:1822756184868497 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756184869457:1822756184870407 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756184870197:1822756184871347 116426:116430 hsa_signal_destroy() = 0 +1822756184872937:1822756184873547 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756184890477:1822756184891087 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756184895127:1822756184895727 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 +1822756184902387:1822756184903317 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 18 +1822756184904467:1822756184904957 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 18 +1822756184905837:1822756184906997 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 +1822756184907697:1822756184908047 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756184909357:1822756184910177 116426:116426 hsa_signal_store_relaxed(, 18) = void +1822756184912777:1822756184913377 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756184918027:1822756184918637 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756184920967:1822756184921577 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 +1822756184922777:1822756184923577 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 +1822756184924017:1822756184924347 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 19 +1822756184924787:1822756184925097 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 18 +1822756184925767:1822756184926077 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756184932187:1822756184932687 116426:116426 hsa_signal_store_relaxed(, 19) = void +1822756184934117:1822756186183495 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822756186188975:1822756186189655 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822756186192785:1822756186194185 116426:116426 hsa_signal_destroy() = 0 +1822756186196355:1822756186197175 116426:116426 hsa_signal_destroy() = 0 +1822756186198325:1822756186198935 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756186199445:1822756186200045 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756186200975:1822756186201755 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756186202215:1822756186202665 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756186203125:1822756186203435 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756186204395:1822756186204995 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 +1822756186205495:1822756186206255 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce16770) = 0 +1822756186206895:1822756186210495 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce16730) = 0 +1822756186211025:1822756186212365 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 +1822756188609880:1822756188614100 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756188616270:1822756188617380 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756188618610:1822756188619620 116426:116430 hsa_signal_load_relaxed() = 1 +1822756186212895:1822756188622360 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756188620720:1822756188622720 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756188624010:1822756188624750 116426:116430 hsa_signal_destroy() = 0 +1822756189251844:1822756189252524 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756195694386:1822756195695846 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756195709846:1822756195710376 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756195711126:1822756195711656 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756195714476:1822756195715376 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756195715766:1822756195716296 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756195716856:1822756195717636 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756196312259:1822756196312609 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756196324290:1822756196324820 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 +1822756196325890:1822756196328350 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce167d0) = 0 +1822756196329450:1822756196335220 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce16790) = 0 +1822756196335960:1822756196339040 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 +1822756197960690:1822756197965300 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756197967460:1822756197968580 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756197969530:1822756197970390 116426:116430 hsa_signal_load_relaxed() = 1 +1822756196339560:1822756197972560 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756197971200:1822756197973140 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756197974370:1822756197975210 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756197975000:1822756197976160 116426:116430 hsa_signal_destroy() = 0 +1822756197978310:1822756197978920 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756197997650:1822756197998250 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756198002480:1822756198003080 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 +1822756198009310:1822756198010320 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 20 +1822756198011330:1822756198011980 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 20 +1822756198013060:1822756198014410 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 +1822756198015250:1822756198015670 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756198016660:1822756198017430 116426:116426 hsa_signal_store_relaxed(, 20) = void +1822756198019610:1822756198020210 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756198024460:1822756198025070 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756198027611:1822756198028211 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 +1822756198029131:1822756198030051 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 +1822756198030491:1822756198030811 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 21 +1822756198031241:1822756198031561 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 20 +1822756198032201:1822756198032511 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756198032961:1822756198033441 116426:116426 hsa_signal_store_relaxed(, 21) = void +1822756198034941:1822756199301909 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822756199306689:1822756199307269 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822756199312899:1822756199313989 116426:116426 hsa_signal_destroy() = 0 +1822756199315629:1822756199316099 116426:116426 hsa_signal_destroy() = 0 +1822756199317289:1822756199317909 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756199318419:1822756199319019 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756199319829:1822756199320359 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756199320819:1822756199321389 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756199321849:1822756199322159 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756199323109:1822756199323709 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 +1822756199324229:1822756199325039 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce16830) = 0 +1822756199325679:1822756199329289 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce167f0) = 0 +1822756199329819:1822756199331229 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 +1822756201845465:1822756201850055 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756201852185:1822756201853295 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756201854315:1822756201855335 116426:116430 hsa_signal_load_relaxed() = 1 +1822756199331759:1822756201857775 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756201856135:1822756201858145 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756201859505:1822756201860245 116426:116430 hsa_signal_destroy() = 0 +1822756202488359:1822756202489049 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756208932050:1822756208933210 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756208948400:1822756208948940 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756208949780:1822756208950320 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756208953150:1822756208954180 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756208954920:1822756208955560 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756208956330:1822756208957240 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756209557914:1822756209558324 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756209560304:1822756209560834 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 +1822756209562234:1822756209564714 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce16890) = 0 +1822756209565734:1822756209571764 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce16850) = 0 +1822756209580124:1822756209583274 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 +1822756211217804:1822756211222314 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756211224444:1822756211225555 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756211226505:1822756211227365 116426:116430 hsa_signal_load_relaxed() = 1 +1822756209583944:1822756211229515 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756211228175:1822756211230295 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756211230865:1822756211231375 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756211231885:1822756211232715 116426:116430 hsa_signal_destroy() = 0 +1822756211234115:1822756211234725 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756211251965:1822756211252565 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756211256815:1822756211257415 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 +1822756211263195:1822756211264175 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 22 +1822756211265095:1822756211265745 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 22 +1822756211266635:1822756211267705 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 +1822756211268525:1822756211268955 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756211269935:1822756211270765 116426:116426 hsa_signal_store_relaxed(, 22) = void +1822756211273215:1822756211273825 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756211277845:1822756211278455 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756211280675:1822756211281275 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 +1822756211282375:1822756211283145 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 +1822756211283675:1822756211284085 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 23 +1822756211284625:1822756211284985 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 22 +1822756211285845:1822756211286155 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756211286605:1822756211287085 116426:116426 hsa_signal_store_relaxed(, 23) = void +1822756211288545:1822756212695814 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822756212700604:1822756212701174 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822756212703684:1822756212704814 116426:116426 hsa_signal_destroy() = 0 +1822756212706214:1822756212706644 116426:116426 hsa_signal_destroy() = 0 +1822756212710134:1822756212710684 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756212711144:1822756212711684 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756212712534:1822756212713024 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756212713424:1822756212714144 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756212714554:1822756212714824 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756212715894:1822756212716424 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 +1822756212716874:1822756212717714 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce168f0) = 0 +1822756212718304:1822756212721524 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce168b0) = 0 +1822756212721994:1822756212723244 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 +1822756215257240:1822756215261760 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756215264080:1822756215265190 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756215266290:1822756215267310 116426:116430 hsa_signal_load_relaxed() = 1 +1822756212723714:1822756215269700 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756215268110:1822756215270120 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756215271440:1822756215272180 116426:116430 hsa_signal_destroy() = 0 +1822756215904034:1822756215904714 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756222568927:1822756222570487 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756222584897:1822756222585437 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756222586337:1822756222586867 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756222589517:1822756222590397 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756222591017:1822756222591657 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756222592297:1822756222593397 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756223180801:1822756223181871 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756223183971:1822756223184501 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 +1822756223185691:1822756223188531 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce16950) = 0 +1822756223189081:1822756223194961 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce16910) = 0 +1822756223195751:1822756223199061 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 +1822756224674010:1822756224678170 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756224680000:1822756224681120 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756224685970:1822756224686840 116426:116430 hsa_signal_load_relaxed() = 1 +1822756223199571:1822756224689040 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756224687660:1822756224689570 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756224690740:1822756224691490 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756224691000:1822756224692020 116426:116430 hsa_signal_destroy() = 0 +1822756224694240:1822756224694840 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756224711040:1822756224711650 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756224715700:1822756224716300 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 +1822756224722570:1822756224723590 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 24 +1822756224724590:1822756224725240 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 24 +1822756224726060:1822756224727320 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 +1822756224728130:1822756224728560 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756224729980:1822756224730800 116426:116426 hsa_signal_store_relaxed(, 24) = void +1822756224733260:1822756224733870 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756224738511:1822756224739111 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756224741501:1822756224742111 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 +1822756224743221:1822756224743991 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 +1822756224744441:1822756224744761 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 25 +1822756224745201:1822756224745531 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 24 +1822756224746351:1822756224746661 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756224747111:1822756224747601 116426:116426 hsa_signal_store_relaxed(, 25) = void +1822756224749101:1822756226007829 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822756226012459:1822756226013039 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822756226015779:1822756226016869 116426:116426 hsa_signal_destroy() = 0 +1822756226018909:1822756226019599 116426:116426 hsa_signal_destroy() = 0 +1822756226020669:1822756226021219 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756226021669:1822756226022209 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756226022919:1822756226023399 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756226033659:1822756226034089 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756226034499:1822756226034769 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756226035689:1822756226036229 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 +1822756226036679:1822756226037579 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce169b0) = 0 +1822756226038109:1822756226041519 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce16970) = 0 +1822756226041989:1822756226043229 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 +1822756228602075:1822756228606695 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756228608755:1822756228609865 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756228610885:1822756228611905 116426:116430 hsa_signal_load_relaxed() = 1 +1822756226043709:1822756228614335 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756228612715:1822756228614715 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756228615995:1822756228616735 116426:116430 hsa_signal_destroy() = 0 +1822756229247939:1822756229248619 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756235649410:1822756235650590 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756235664620:1822756235665150 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756235665910:1822756235666440 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756235668940:1822756235669820 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756235670550:1822756235671100 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756235671890:1822756235673030 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756236281304:1822756236281874 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756236283604:1822756236284204 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 +1822756236285474:1822756236287724 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce16a10) = 0 +1822756236289014:1822756236294984 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce169d0) = 0 +1822756236296004:1822756236299264 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 +1822756237925164:1822756237929744 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756237931924:1822756237933034 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756237934124:1822756237934975 116426:116430 hsa_signal_load_relaxed() = 1 +1822756236300204:1822756237937265 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756237935915:1822756237938005 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756237938585:1822756237939105 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756237943225:1822756237943995 116426:116430 hsa_signal_destroy() = 0 +1822756237946615:1822756237947225 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756237963835:1822756237964445 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756237968675:1822756237969285 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 +1822756237975495:1822756237976265 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 26 +1822756237977395:1822756237978055 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 26 +1822756237978895:1822756237980075 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 +1822756237980805:1822756237981225 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756237982455:1822756237983245 116426:116426 hsa_signal_store_relaxed(, 26) = void +1822756237985945:1822756237986545 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756237990495:1822756237991105 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756237993745:1822756237994355 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 +1822756237995395:1822756237996275 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 +1822756237996715:1822756237997035 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 27 +1822756237997485:1822756237997795 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 26 +1822756237998635:1822756237998945 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756237999385:1822756237999875 116426:116426 hsa_signal_store_relaxed(, 27) = void +1822756238001435:1822756239258293 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822756239263133:1822756239263703 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822756239266403:1822756239267803 116426:116426 hsa_signal_destroy() = 0 +1822756239269523:1822756239269963 116426:116426 hsa_signal_destroy() = 0 +1822756239271023:1822756239271573 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756239272023:1822756239272553 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756239273253:1822756239273733 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756239274143:1822756239274673 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756239275073:1822756239275353 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756239276253:1822756239276783 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 +1822756239283103:1822756239283863 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce16a70) = 0 +1822756239284363:1822756239287943 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce16a30) = 0 +1822756239288423:1822756239289573 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 +1822756241829189:1822756241833819 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756241835899:1822756241837009 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756241838029:1822756241839049 116426:116430 hsa_signal_load_relaxed() = 1 +1822756239290043:1822756241841489 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756241839859:1822756241841859 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756241843489:1822756241844219 116426:116430 hsa_signal_destroy() = 0 +1822756242473573:1822756242474243 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756248909684:1822756248910794 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756248925624:1822756248926164 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756248926824:1822756248927354 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756248929704:1822756248930814 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756248931204:1822756248932064 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756248932614:1822756248933534 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756249531898:1822756249532678 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756249534388:1822756249534918 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 +1822756249536078:1822756249539138 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce16ad0) = 0 +1822756249540018:1822756249545588 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce16a90) = 0 +1822756249546558:1822756249549948 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 +1822756251173949:1822756251178499 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756251180629:1822756251181739 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756251182699:1822756251183559 116426:116430 hsa_signal_load_relaxed() = 1 +1822756249550448:1822756251186009 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756251184659:1822756251186779 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756251187629:1822756251188459 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756251188239:1822756251189369 116426:116430 hsa_signal_destroy() = 0 +1822756251190989:1822756251191599 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756251215459:1822756251216269 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756251220009:1822756251220609 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 +1822756251227079:1822756251228249 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 28 +1822756251229059:1822756251229699 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 28 +1822756251230569:1822756251231769 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 +1822756251232609:1822756251233039 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756251234069:1822756251234899 116426:116426 hsa_signal_store_relaxed(, 28) = void +1822756251237359:1822756251237969 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756251242149:1822756251242749 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756251244739:1822756251245349 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 +1822756251246669:1822756251247509 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 +1822756251247959:1822756251248289 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 29 +1822756251248739:1822756251249049 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 28 +1822756251249709:1822756251250029 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756251250469:1822756251250959 116426:116426 hsa_signal_store_relaxed(, 29) = void +1822756251252589:1822756252501467 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822756252506687:1822756252507317 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822756252510297:1822756252511427 116426:116426 hsa_signal_destroy() = 0 +1822756252513217:1822756252513697 116426:116426 hsa_signal_destroy() = 0 +1822756252514957:1822756252515567 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756252516077:1822756252516677 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756252517657:1822756252518177 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756252518637:1822756252519097 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756252519557:1822756252519867 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756252520847:1822756252521447 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 +1822756252521957:1822756252522777 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce16b30) = 0 +1822756252523397:1822756252526997 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce16af0) = 0 +1822756252527537:1822756252528807 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 +1822756255057714:1822756255062294 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756255064444:1822756255065544 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756255066574:1822756255067584 116426:116430 hsa_signal_load_relaxed() = 1 +1822756252532057:1822756255069964 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756255068394:1822756255070384 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756255071624:1822756255072364 116426:116430 hsa_signal_destroy() = 0 +1822756255697488:1822756255698168 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756262252889:1822756262254149 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756262269609:1822756262270149 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756262270919:1822756262271459 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756262273489:1822756262274359 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756262274959:1822756262275829 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756262276599:1822756262277399 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756262883313:1822756262883883 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756262885723:1822756262886263 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 +1822756262887523:1822756262890293 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce16b90) = 0 +1822756262891433:1822756262897523 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce16b50) = 0 +1822756262898263:1822756262901123 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 +1822756264529704:1822756264534154 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756264535954:1822756264537064 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756264538144:1822756264539004 116426:116430 hsa_signal_load_relaxed() = 1 +1822756262901803:1822756264541484 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756264540014:1822756264541944 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756264542864:1822756264543384 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756264543784:1822756264544614 116426:116430 hsa_signal_destroy() = 0 +1822756264546414:1822756264547024 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756264564174:1822756264564784 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756264568614:1822756264569214 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 +1822756264575734:1822756264576604 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 30 +1822756264586194:1822756264587184 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 30 +1822756264588014:1822756264589134 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 +1822756264589824:1822756264590174 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756264591214:1822756264592064 116426:116426 hsa_signal_store_relaxed(, 30) = void +1822756264594264:1822756264594874 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756264603284:1822756264603884 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756264606214:1822756264606824 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 +1822756264607704:1822756264608514 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 +1822756264608964:1822756264609274 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 31 +1822756264609714:1822756264610044 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 30 +1822756264610684:1822756264611004 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756264611444:1822756264611934 116426:116426 hsa_signal_store_relaxed(, 31) = void +1822756264613554:1822756265892863 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822756265897673:1822756265898283 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822756265900783:1822756265902003 116426:116426 hsa_signal_destroy() = 0 +1822756265903943:1822756265904633 116426:116426 hsa_signal_destroy() = 0 +1822756265905833:1822756265906383 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756265906833:1822756265907363 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756265908343:1822756265908823 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756265909233:1822756265909643 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756265910053:1822756265910333 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756265911223:1822756265911753 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 +1822756265912203:1822756265912873 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce16bf0) = 0 +1822756265913453:1822756265916833 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce16bb0) = 0 +1822756265917313:1822756265918773 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 +1822756268463839:1822756268468429 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756268470589:1822756268471699 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756268472849:1822756268473869 116426:116430 hsa_signal_load_relaxed() = 1 +1822756265919233:1822756268480409 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756268478749:1822756268480779 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756268481839:1822756268482569 116426:116430 hsa_signal_destroy() = 0 +1822756269110513:1822756269111193 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756275607554:1822756275608204 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756275624804:1822756275625334 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756275625924:1822756275626454 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756275628984:1822756275630174 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756275630574:1822756275631434 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756275631974:1822756275632874 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756276235428:1822756276235948 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756276237538:1822756276238068 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 +1822756276238938:1822756276241358 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce16c50) = 0 +1822756276242228:1822756276248348 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce16c10) = 0 +1822756276249088:1822756276252468 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 +1822756277876319:1822756277880889 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756277883139:1822756277884249 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756277885209:1822756277886069 116426:116430 hsa_signal_load_relaxed() = 1 +1822756276253008:1822756277888229 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756277886879:1822756277889009 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756277889789:1822756277890669 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756277890469:1822756277891609 116426:116430 hsa_signal_destroy() = 0 +1822756277893229:1822756277893839 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756277910479:1822756277911089 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756277915759:1822756277916369 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 +1822756277922889:1822756277923669 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 32 +1822756277924609:1822756277925269 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 32 +1822756277926269:1822756277927619 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 +1822756277938419:1822756277938869 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756277939959:1822756277940819 116426:116426 hsa_signal_store_relaxed(, 32) = void +1822756277943109:1822756277943719 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756277947769:1822756277948379 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756277950709:1822756277951319 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 +1822756277952329:1822756277953149 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 +1822756277953589:1822756277953899 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 33 +1822756277954349:1822756277954669 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 32 +1822756277955299:1822756277955609 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756277956059:1822756277956539 116426:116426 hsa_signal_store_relaxed(, 33) = void +1822756277957949:1822756279225997 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822756279230477:1822756279231067 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822756279234047:1822756279235197 116426:116426 hsa_signal_destroy() = 0 +1822756279236647:1822756279237087 116426:116426 hsa_signal_destroy() = 0 +1822756279238237:1822756279238787 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756279239237:1822756279239767 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756279240517:1822756279240997 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756279241397:1822756279241927 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756279242327:1822756279242607 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756279243667:1822756279244197 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 +1822756279244647:1822756279245398 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce16cb0) = 0 +1822756279246138:1822756279249348 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce16c70) = 0 +1822756279249808:1822756279250968 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 +1822756281773664:1822756281778294 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756281780454:1822756281781554 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756281782584:1822756281783594 116426:116430 hsa_signal_load_relaxed() = 1 +1822756279251438:1822756281786034 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756281784404:1822756281786414 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756281787624:1822756281788354 116426:116430 hsa_signal_destroy() = 0 +1822756282412728:1822756282413418 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756288848298:1822756288850038 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756288864098:1822756288864638 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756288865229:1822756288865759 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756288868489:1822756288869379 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756288869769:1822756288870639 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756288871279:1822756288872189 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756289457682:1822756289458032 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756289459622:1822756289460152 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 +1822756289461262:1822756289463962 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce16d10) = 0 +1822756289464822:1822756289470782 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce16cd0) = 0 +1822756289471532:1822756289474812 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 +1822756291101543:1822756291106103 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756291108183:1822756291109533 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756291110623:1822756291111483 116426:116430 hsa_signal_load_relaxed() = 1 +1822756289475482:1822756291113943 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756291112603:1822756291114723 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756291115363:1822756291115923 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756291116453:1822756291117273 116426:116430 hsa_signal_destroy() = 0 +1822756291118673:1822756291119283 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756291148233:1822756291148843 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756291153273:1822756291153883 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 +1822756291159793:1822756291160803 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 34 +1822756291161813:1822756291162463 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 34 +1822756291163343:1822756291164443 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 +1822756291165103:1822756291165443 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756291166523:1822756291167373 116426:116426 hsa_signal_store_relaxed(, 34) = void +1822756291169583:1822756291170193 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756291179163:1822756291179763 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756291182123:1822756291182723 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 +1822756291183783:1822756291184533 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 +1822756291184983:1822756291185303 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 35 +1822756291185733:1822756291186063 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 34 +1822756291186703:1822756291187013 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756291187463:1822756291187953 116426:116426 hsa_signal_store_relaxed(, 35) = void +1822756291189463:1822756292448332 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822756292453302:1822756292453972 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822756292456812:1822756292458212 116426:116426 hsa_signal_destroy() = 0 +1822756292460142:1822756292460632 116426:116426 hsa_signal_destroy() = 0 +1822756292462052:1822756292462672 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756292463182:1822756292463792 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756292464652:1822756292465182 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756292465642:1822756292466092 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756292466682:1822756292466992 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756292468102:1822756292468702 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 +1822756292469212:1822756292470182 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce16d70) = 0 +1822756292470702:1822756292474302 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce16d30) = 0 +1822756292474842:1822756292476332 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 +1822756295004188:1822756295008858 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756295011148:1822756295012258 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756295013478:1822756295014498 116426:116430 hsa_signal_load_relaxed() = 1 +1822756292476852:1822756295017188 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756295015608:1822756295017618 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756295019098:1822756295019828 116426:116430 hsa_signal_destroy() = 0 +1822756295643012:1822756295643682 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756302168333:1822756302169693 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756302184583:1822756302185133 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756302195943:1822756302196483 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756302198803:1822756302199653 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756302200053:1822756302200993 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756302201553:1822756302202443 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756302807107:1822756302807517 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756302809367:1822756302809897 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 +1822756302810867:1822756302813307 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce16dd0) = 0 +1822756302814057:1822756302820017 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce16d90) = 0 +1822756302820877:1822756302824177 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 +1822756304459028:1822756304463638 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756304465998:1822756304467108 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756304468068:1822756304468918 116426:116430 hsa_signal_load_relaxed() = 1 +1822756302824677:1822756304471248 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756304469868:1822756304471798 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756304472618:1822756304473268 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756304473398:1822756304474218 116426:116430 hsa_signal_destroy() = 0 +1822756304475658:1822756304476258 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756304492858:1822756304493468 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756304497458:1822756304498058 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 +1822756304504638:1822756304505688 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 36 +1822756304506618:1822756304507108 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 36 +1822756304508008:1822756304509098 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 +1822756304509798:1822756304510228 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756304511328:1822756304512238 116426:116426 hsa_signal_store_relaxed(, 36) = void +1822756304514658:1822756304515268 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756304519858:1822756304520458 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756304522798:1822756304523398 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 +1822756304524588:1822756304525338 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 +1822756304528538:1822756304528868 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 37 +1822756304529328:1822756304529648 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 36 +1822756304530298:1822756304530628 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756304531068:1822756304531558 116426:116426 hsa_signal_store_relaxed(, 37) = void +1822756304533388:1822756305800267 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822756305804497:1822756305805007 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822756305807697:1822756305809007 116426:116426 hsa_signal_destroy() = 0 +1822756305810787:1822756305811477 116426:116426 hsa_signal_destroy() = 0 +1822756305812517:1822756305813077 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756305813527:1822756305814057 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756305815057:1822756305815547 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756305815957:1822756305816367 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756305816777:1822756305817047 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756305818097:1822756305818627 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 +1822756305819077:1822756305819777 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce16e30) = 0 +1822756305820357:1822756305823757 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce16df0) = 0 +1822756305824227:1822756305825357 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 +1822756308461164:1822756308465754 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756308467914:1822756308469014 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756308470044:1822756308471064 116426:116430 hsa_signal_load_relaxed() = 1 +1822756305825817:1822756308473644 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756308472014:1822756308474024 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756308475374:1822756308476104 116426:116430 hsa_signal_destroy() = 0 +1822756309105648:1822756309106338 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756315563309:1822756315564549 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756315578249:1822756315578789 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756315579409:1822756315579939 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756315582279:1822756315583489 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756315584089:1822756315584729 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756315597089:1822756315598359 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756316213533:1822756316214043 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756316215563:1822756316216093 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 +1822756316217123:1822756316219623 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce16e90) = 0 +1822756316220633:1822756316226453 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce16e50) = 0 +1822756316227193:1822756316230983 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 +1822756317853733:1822756317858313 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756317860603:1822756317861723 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756317862883:1822756317863733 116426:116430 hsa_signal_load_relaxed() = 1 +1822756316231503:1822756317866083 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756317864733:1822756317866883 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756317867523:1822756317868023 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756317868483:1822756317869323 116426:116430 hsa_signal_destroy() = 0 +1822756317871013:1822756317871623 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756317888563:1822756317889173 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756317893843:1822756317894443 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 +1822756317900393:1822756317901403 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 38 +1822756317902423:1822756317903073 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 38 +1822756317903953:1822756317905143 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 +1822756317905953:1822756317906293 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756317907383:1822756317908213 116426:116426 hsa_signal_store_relaxed(, 38) = void +1822756317910534:1822756317911134 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756317915144:1822756317915744 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756317918724:1822756317919324 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 +1822756317920454:1822756317921194 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 +1822756317921644:1822756317921964 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 39 +1822756317922394:1822756317922724 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 38 +1822756317923354:1822756317923664 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756317926764:1822756317927264 116426:116426 hsa_signal_store_relaxed(, 39) = void +1822756317928944:1822756319186242 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822756319190502:1822756319191082 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822756319193992:1822756319195002 116426:116426 hsa_signal_destroy() = 0 +1822756319196632:1822756319197072 116426:116426 hsa_signal_destroy() = 0 +1822756319198282:1822756319198822 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756319199282:1822756319199822 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756319200972:1822756319201452 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756319201852:1822756319202272 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756319202672:1822756319202942 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756319203862:1822756319204392 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 +1822756319204832:1822756319205582 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce16ef0) = 0 +1822756319206032:1822756319209612 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce16eb0) = 0 +1822756319210072:1822756319211422 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 +1822756321790538:1822756321795168 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756321797448:1822756321798558 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756321799788:1822756321800809 116426:116430 hsa_signal_load_relaxed() = 1 +1822756319211872:1822756321803489 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756321801899:1822756321803919 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756321805239:1822756321805979 116426:116430 hsa_signal_destroy() = 0 +1822756322436933:1822756322437623 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756328908263:1822756328909283 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756328923633:1822756328924173 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756328924913:1822756328925453 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756328928593:1822756328929493 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756328930164:1822756328931024 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756328931644:1822756328932514 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756329534627:1822756329535157 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756329536947:1822756329537477 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 +1822756329548667:1822756329551407 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce16f50) = 0 +1822756329552377:1822756329558058 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce16f10) = 0 +1822756329558968:1822756329562398 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 +1822756331196558:1822756331201058 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756331203238:1822756331204448 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756331205408:1822756331206268 116426:116430 hsa_signal_load_relaxed() = 1 +1822756329562908:1822756331208428 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756331207078:1822756331209208 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756331210218:1822756331211088 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756331210768:1822756331211918 116426:116430 hsa_signal_destroy() = 0 +1822756331213528:1822756331214138 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756331230678:1822756331231288 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756331235188:1822756331235798 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 +1822756331242128:1822756331243018 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 40 +1822756331244028:1822756331244678 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 40 +1822756331245858:1822756331246998 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 +1822756331247778:1822756331248208 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756331249288:1822756331250128 116426:116426 hsa_signal_store_relaxed(, 40) = void +1822756331252328:1822756331252928 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756331256788:1822756331257388 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756331259568:1822756331260168 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 +1822756331261298:1822756331262038 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 +1822756331262488:1822756331262818 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 41 +1822756331263258:1822756331263568 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 40 +1822756331264208:1822756331264518 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756331264959:1822756331265449 116426:116426 hsa_signal_store_relaxed(, 41) = void +1822756331266919:1822756332530667 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822756332535547:1822756332536187 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822756332541657:1822756332542787 116426:116426 hsa_signal_destroy() = 0 +1822756332544447:1822756332544937 116426:116426 hsa_signal_destroy() = 0 +1822756332546257:1822756332546877 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756332547387:1822756332547997 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756332548987:1822756332549517 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756332549977:1822756332550427 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756332550897:1822756332551197 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756332552157:1822756332552757 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 +1822756332553267:1822756332554087 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce16fb0) = 0 +1822756332554687:1822756332558237 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce16f70) = 0 +1822756332558787:1822756332560287 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 +1822756335111233:1822756335115813 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756335118003:1822756335119103 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756335120133:1822756335121143 116426:116430 hsa_signal_load_relaxed() = 1 +1822756332560827:1822756335123523 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756335121943:1822756335123943 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756335125333:1822756335126073 116426:116430 hsa_signal_destroy() = 0 +1822756335751297:1822756335751977 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756342386799:1822756342388719 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756342404030:1822756342404560 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756342405230:1822756342405760 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756342408230:1822756342409260 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756342410010:1822756342410930 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756342411890:1822756342412660 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756343018233:1822756343018853 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756343030733:1822756343031293 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 +1822756343032233:1822756343035274 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce17010) = 0 +1822756343036264:1822756343041924 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce16fd0) = 0 +1822756343044534:1822756343047224 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 +1822756344839685:1822756344844345 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756344846355:1822756344847455 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756344848415:1822756344849275 116426:116430 hsa_signal_load_relaxed() = 1 +1822756343047724:1822756344851465 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756344850085:1822756344852015 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756344852845:1822756344853545 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756344853675:1822756344854515 116426:116430 hsa_signal_destroy() = 0 +1822756344856185:1822756344856785 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756344873535:1822756344874145 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756344878265:1822756344878865 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 +1822756344885325:1822756344886095 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 42 +1822756344886885:1822756344887545 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 42 +1822756344888365:1822756344889465 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 +1822756344890185:1822756344890535 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756344891605:1822756344892435 116426:116426 hsa_signal_store_relaxed(, 42) = void +1822756344894745:1822756344895355 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756344899885:1822756344900485 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756344902835:1822756344903445 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 +1822756344904475:1822756344905275 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 +1822756344905725:1822756344906035 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 43 +1822756344906485:1822756344906815 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 42 +1822756344907465:1822756344907775 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756344908225:1822756344908705 116426:116426 hsa_signal_store_relaxed(, 43) = void +1822756344910255:1822756346168673 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822756346173423:1822756346173943 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822756346176704:1822756346177914 116426:116426 hsa_signal_destroy() = 0 +1822756346179684:1822756346180374 116426:116426 hsa_signal_destroy() = 0 +1822756346181454:1822756346181994 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756346185224:1822756346185764 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756346186694:1822756346187184 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756346187594:1822756346188004 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756346188414:1822756346188684 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756346189764:1822756346190294 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 +1822756346190744:1822756346191414 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce17070) = 0 +1822756346191944:1822756346195344 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce17030) = 0 +1822756346195824:1822756346197184 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 +1822756348757620:1822756348762230 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756348764340:1822756348765440 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756348766460:1822756348767490 116426:116430 hsa_signal_load_relaxed() = 1 +1822756346197634:1822756348769940 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756348768290:1822756348770310 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756348771720:1822756348772460 116426:116430 hsa_signal_destroy() = 0 +1822756349399344:1822756349400034 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756355857885:1822756355858855 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756355873775:1822756355874305 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756355875085:1822756355875615 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756355877975:1822756355878855 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756355879455:1822756355880105 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756355880745:1822756355881625 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756356499239:1822756356499759 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756356501859:1822756356502459 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 +1822756356503579:1822756356505809 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce170d0) = 0 +1822756356506659:1822756356512969 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce17090) = 0 +1822756356514029:1822756356517109 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 +1822756358127119:1822756358131720 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756358133740:1822756358134850 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756358139560:1822756358140440 116426:116430 hsa_signal_load_relaxed() = 1 +1822756356517659:1822756358142630 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756358141280:1822756358143410 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756358144480:1822756358144920 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756358145400:1822756358146230 116426:116430 hsa_signal_destroy() = 0 +1822756358147380:1822756358147980 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756358164340:1822756358164950 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756358169200:1822756358169810 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 +1822756358176030:1822756358176880 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 44 +1822756358177830:1822756358178320 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 44 +1822756358179580:1822756358180770 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 +1822756358181430:1822756358181780 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756358182880:1822756358183690 116426:116426 hsa_signal_store_relaxed(, 44) = void +1822756358186130:1822756358186740 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756358190650:1822756358191250 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756358193620:1822756358194230 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 +1822756358195190:1822756358196010 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 +1822756358196450:1822756358196770 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 45 +1822756358197210:1822756358197530 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 44 +1822756358198160:1822756358198480 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756358198920:1822756358199410 116426:116426 hsa_signal_store_relaxed(, 45) = void +1822756358201240:1822756359467758 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822756359472678:1822756359473308 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822756359476008:1822756359477528 116426:116426 hsa_signal_destroy() = 0 +1822756359479598:1822756359480068 116426:116426 hsa_signal_destroy() = 0 +1822756359481278:1822756359481898 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756359482408:1822756359483008 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756359483928:1822756359484448 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756359484908:1822756359485358 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756359494888:1822756359495208 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756359496328:1822756359496938 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 +1822756359497438:1822756359498268 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce17130) = 0 +1822756359498858:1822756359502368 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce170f0) = 0 +1822756359502898:1822756359504178 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 +1822756362005454:1822756362010054 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756362012144:1822756362013254 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756362014274:1822756362015294 116426:116430 hsa_signal_load_relaxed() = 1 +1822756359504708:1822756362017734 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756362016104:1822756362018114 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756362019474:1822756362020224 116426:116430 hsa_signal_destroy() = 0 +1822756362646989:1822756362647669 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756369149300:1822756369150970 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756369165060:1822756369165600 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756369166440:1822756369166970 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756369169420:1822756369170320 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756369170710:1822756369171940 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756369172490:1822756369173700 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756369756064:1822756369756394 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756369758214:1822756369758744 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 +1822756369759744:1822756369762374 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce17190) = 0 +1822756369763374:1822756369769154 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce17150) = 0 +1822756369769914:1822756369773104 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 +1822756371466644:1822756371471235 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756371473455:1822756371474615 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756371475705:1822756371476565 116426:116430 hsa_signal_load_relaxed() = 1 +1822756369773704:1822756371478845 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756371477505:1822756371479605 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756371480175:1822756371480695 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756371484755:1822756371485505 116426:116430 hsa_signal_destroy() = 0 +1822756371492675:1822756371493275 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756371509415:1822756371510075 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756371513605:1822756371514205 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 +1822756371519665:1822756371520525 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 46 +1822756371521345:1822756371521995 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 46 +1822756371522835:1822756371523915 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 +1822756371524625:1822756371525055 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756371526085:1822756371526995 116426:116426 hsa_signal_store_relaxed(, 46) = void +1822756371529375:1822756371529975 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756371533615:1822756371534225 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756371536375:1822756371536985 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 +1822756371538055:1822756371538755 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 +1822756371539205:1822756371539525 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 47 +1822756371539965:1822756371540275 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 46 +1822756371540925:1822756371541245 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756371541685:1822756371542175 116426:116426 hsa_signal_store_relaxed(, 47) = void +1822756371543975:1822756372819853 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822756372824473:1822756372825133 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822756372827643:1822756372828973 116426:116426 hsa_signal_destroy() = 0 +1822756372830603:1822756372831043 116426:116426 hsa_signal_destroy() = 0 +1822756372832143:1822756372832693 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756372833143:1822756372833683 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756372834503:1822756372834993 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756372835493:1822756372835903 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756372836313:1822756372836583 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756372837653:1822756372838183 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 +1822756372838653:1822756372839413 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce171f0) = 0 +1822756372842663:1822756372845943 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce171b0) = 0 +1822756372846413:1822756372847563 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 +1822756375464660:1822756375469260 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756375471390:1822756375472490 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756375473510:1822756375474530 116426:116430 hsa_signal_load_relaxed() = 1 +1822756372848033:1822756375476910 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756375475340:1822756375477340 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756375478810:1822756375479550 116426:116430 hsa_signal_destroy() = 0 +1822756376131174:1822756376131914 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756382609966:1822756382611346 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756382625626:1822756382626156 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756382626766:1822756382627296 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756382629816:1822756382630546 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756382630936:1822756382631836 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756382632496:1822756382633396 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756383217890:1822756383218400 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756383219880:1822756383220410 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 +1822756383221390:1822756383224060 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce17250) = 0 +1822756383224840:1822756383230660 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce17210) = 0 +1822756383231480:1822756383234680 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 +1822756384853770:1822756384858390 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756384860360:1822756384861470 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756384862430:1822756384863290 116426:116430 hsa_signal_load_relaxed() = 1 +1822756383235240:1822756384865850 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756384864370:1822756384866310 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756384867600:1822756384868580 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756384867870:1822756384869010 116426:116430 hsa_signal_destroy() = 0 +1822756384870760:1822756384871360 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756384895300:1822756384895920 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756384899750:1822756384900360 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 +1822756384906240:1822756384907120 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 48 +1822756384907950:1822756384908600 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 48 +1822756384909500:1822756384910590 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 +1822756384911270:1822756384911620 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756384912660:1822756384913510 116426:116426 hsa_signal_store_relaxed(, 48) = void +1822756384915930:1822756384916540 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756384920480:1822756384921090 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756384923481:1822756384924091 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 +1822756384925011:1822756384925771 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 +1822756384926221:1822756384926551 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 49 +1822756384926991:1822756384927311 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 48 +1822756384927961:1822756384928271 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756384928721:1822756384929201 116426:116426 hsa_signal_store_relaxed(, 49) = void +1822756384930901:1822756386200168 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822756386204778:1822756386205348 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822756386208008:1822756386209049 116426:116426 hsa_signal_destroy() = 0 +1822756386210699:1822756386211379 116426:116426 hsa_signal_destroy() = 0 +1822756386212419:1822756386212969 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756386213419:1822756386213949 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756386214879:1822756386215349 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756386215759:1822756386216169 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756386216579:1822756386216849 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756386217759:1822756386218289 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 +1822756386218729:1822756386219399 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce172b0) = 0 +1822756386219899:1822756386223309 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce17270) = 0 +1822756386223769:1822756386224889 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 +1822756388771885:1822756388776485 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756388782935:1822756388784045 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756388785065:1822756388786085 116426:116430 hsa_signal_load_relaxed() = 1 +1822756386225349:1822756388788545 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756388786895:1822756388788915 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756388790365:1822756388791105 116426:116430 hsa_signal_destroy() = 0 +1822756389414899:1822756389415579 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756395867020:1822756395868360 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756395883290:1822756395883820 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756395884710:1822756395885250 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756395887650:1822756395888510 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756395888910:1822756395889540 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756395890330:1822756395891140 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756396502764:1822756396503544 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756396505054:1822756396505594 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 +1822756396506604:1822756396509234 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce17310) = 0 +1822756396510544:1822756396516634 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce172d0) = 0 +1822756396517374:1822756396520904 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 +1822756398142585:1822756398147165 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756398149325:1822756398150485 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756398151565:1822756398152425 116426:116430 hsa_signal_load_relaxed() = 1 +1822756396521594:1822756398154725 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756398153375:1822756398155525 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756398156045:1822756398156555 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756398157275:1822756398157995 116426:116430 hsa_signal_destroy() = 0 +1822756398159015:1822756398159625 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756398176525:1822756398177135 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756398181185:1822756398181785 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 +1822756398187795:1822756398188575 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 50 +1822756398203815:1822756398204315 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 50 +1822756398205215:1822756398206615 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 +1822756398207345:1822756398207695 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756398208725:1822756398209555 116426:116426 hsa_signal_store_relaxed(, 50) = void +1822756398212055:1822756398212665 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756398216695:1822756398217305 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756398220045:1822756398220655 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 +1822756398221815:1822756398222555 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 +1822756398223005:1822756398223325 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 51 +1822756398223765:1822756398224085 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 50 +1822756398224725:1822756398225045 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756398225485:1822756398225975 116426:116426 hsa_signal_store_relaxed(, 51) = void +1822756398227755:1822756399495114 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822756399499774:1822756399500454 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822756399503324:1822756399504784 116426:116426 hsa_signal_destroy() = 0 +1822756399506744:1822756399507234 116426:116426 hsa_signal_destroy() = 0 +1822756399508394:1822756399509014 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756399509524:1822756399510124 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756399510924:1822756399511454 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756399511914:1822756399512514 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756399512974:1822756399513284 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756399514234:1822756399514834 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 +1822756399515354:1822756399516184 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce17370) = 0 +1822756399516784:1822756399520314 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce17330) = 0 +1822756399520834:1822756399522084 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 +1822756402036219:1822756402040859 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756402042889:1822756402043999 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756402045149:1822756402046169 116426:116430 hsa_signal_load_relaxed() = 1 +1822756399522604:1822756402054410 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756402052760:1822756402054790 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756402056010:1822756402056740 116426:116430 hsa_signal_destroy() = 0 +1822756402683063:1822756402683743 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756409201595:1822756409202345 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756409216645:1822756409217185 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756409217765:1822756409218295 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756409220905:1822756409221795 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756409222185:1822756409223055 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756409223595:1822756409224495 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756409806429:1822756409807079 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756409808789:1822756409809319 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 +1822756409810269:1822756409812739 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce173d0) = 0 +1822756409813649:1822756409819329 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce17390) = 0 +1822756409819899:1822756409823259 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 +1822756411463670:1822756411468250 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756411470530:1822756411471640 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756411472590:1822756411473450 116426:116430 hsa_signal_load_relaxed() = 1 +1822756409823829:1822756411475820 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756411474470:1822756411476620 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756411477090:1822756411477770 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756411478240:1822756411479080 116426:116430 hsa_signal_destroy() = 0 +1822756411480400:1822756411481010 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756411508230:1822756411508840 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756411512960:1822756411513570 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 +1822756411519340:1822756411520400 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 52 +1822756411521190:1822756411521840 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 52 +1822756411522740:1822756411524190 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 +1822756411524880:1822756411525230 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756411528230:1822756411529070 116426:116426 hsa_signal_store_relaxed(, 52) = void +1822756411531220:1822756411531820 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756411536310:1822756411536920 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756411539480:1822756411540080 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 +1822756411541200:1822756411542030 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 +1822756411542470:1822756411542780 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 53 +1822756411543220:1822756411543530 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 52 +1822756411544180:1822756411544500 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756411544940:1822756411545420 116426:116426 hsa_signal_store_relaxed(, 53) = void +1822756411546860:1822756412816318 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822756412820658:1822756412821168 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822756412823928:1822756412824938 116426:116426 hsa_signal_destroy() = 0 +1822756412826508:1822756412826948 116426:116426 hsa_signal_destroy() = 0 +1822756412828048:1822756412828598 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756412829048:1822756412829578 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756412830428:1822756412830918 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756412831318:1822756412831738 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756412832278:1822756412832548 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756412833708:1822756412834238 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 +1822756412834698:1822756412835438 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce17430) = 0 +1822756412835888:1822756412839318 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce173f0) = 0 +1822756412839778:1822756412840988 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 +1822756415463065:1822756415467665 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756415470015:1822756415471115 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756415472145:1822756415473175 116426:116430 hsa_signal_load_relaxed() = 1 +1822756412841448:1822756415475715 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756415474135:1822756415476145 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756415477345:1822756415478085 116426:116430 hsa_signal_destroy() = 0 +1822756416120109:1822756416120839 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756422620081:1822756422621361 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756422635791:1822756422636331 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756422636901:1822756422637431 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756422639641:1822756422640511 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756422641011:1822756422641881 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756422642601:1822756422643481 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756423242725:1822756423243125 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756423244565:1822756423245095 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 +1822756423245785:1822756423248175 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce17490) = 0 +1822756423249145:1822756423255145 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce17450) = 0 +1822756423255835:1822756423258935 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 +1822756424885185:1822756424889805 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756424891705:1822756424892815 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756424893895:1822756424894755 116426:116430 hsa_signal_load_relaxed() = 1 +1822756423259495:1822756424896935 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756424895565:1822756424897505 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756424898615:1822756424899135 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756424899555:1822756424900385 116426:116430 hsa_signal_destroy() = 0 +1822756424901275:1822756424901885 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756424918565:1822756424919175 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756424923075:1822756424923685 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 +1822756424930055:1822756424930975 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 54 +1822756424931975:1822756424932635 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 54 +1822756424933515:1822756424934805 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 +1822756424935715:1822756424936145 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756424937755:1822756424938685 116426:116426 hsa_signal_store_relaxed(, 54) = void +1822756424940865:1822756424941475 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756424945335:1822756424945945 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756424958905:1822756424959515 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 +1822756424960705:1822756424961505 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 +1822756424961955:1822756424962275 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 55 +1822756424962715:1822756424963035 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 54 +1822756424963895:1822756424964205 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756424964645:1822756424965135 116426:116426 hsa_signal_store_relaxed(, 55) = void +1822756424966596:1822756426201633 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822756426206343:1822756426206933 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822756426209723:1822756426211103 116426:116426 hsa_signal_destroy() = 0 +1822756426212663:1822756426213353 116426:116426 hsa_signal_destroy() = 0 +1822756426214583:1822756426215133 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756426215583:1822756426216113 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756426216753:1822756426217233 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756426217633:1822756426218043 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756426218453:1822756426218723 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756426219793:1822756426220323 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 +1822756426220793:1822756426221613 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce174f0) = 0 +1822756426222093:1822756426225503 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce174b0) = 0 +1822756426226043:1822756426227273 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 +1822756428759799:1822756428764439 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756428766459:1822756428767569 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756428768719:1822756428769739 116426:116430 hsa_signal_load_relaxed() = 1 +1822756426227723:1822756428772549 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756428770849:1822756428772879 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756428774579:1822756428775319 116426:116430 hsa_signal_destroy() = 0 +1822756429404043:1822756429404713 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756435803005:1822756435804415 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756435818365:1822756435818895 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756435830865:1822756435831405 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756435833675:1822756435834555 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756435834945:1822756435835585 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756435836125:1822756435837375 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756436434389:1822756436434889 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756436436619:1822756436437149 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 +1822756436438459:1822756436440859 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce17550) = 0 +1822756436441789:1822756436447589 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce17510) = 0 +1822756436448259:1822756436451569 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 +1822756438074719:1822756438079319 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756438081529:1822756438082639 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756438083599:1822756438084459 116426:116430 hsa_signal_load_relaxed() = 1 +1822756436452079:1822756438086769 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756438085429:1822756438087519 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756438088209:1822756438088879 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756438088999:1822756438089829 116426:116430 hsa_signal_destroy() = 0 +1822756438091189:1822756438091799 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756438108159:1822756438108769 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756438112639:1822756438113249 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 +1822756438119379:1822756438120559 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 56 +1822756438121349:1822756438121999 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 56 +1822756438122819:1822756438124109 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 +1822756438124799:1822756438125229 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756438126239:1822756438127009 116426:116426 hsa_signal_store_relaxed(, 56) = void +1822756438129489:1822756438130089 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756438133879:1822756438134490 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756438136820:1822756438137420 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 +1822756438138710:1822756438139440 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 +1822756438139890:1822756438140200 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 57 +1822756438143150:1822756438143470 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 56 +1822756438144130:1822756438144460 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756438144900:1822756438145390 116426:116426 hsa_signal_store_relaxed(, 57) = void +1822756438146840:1822756439415178 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822756439419738:1822756439420408 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822756439423428:1822756439424778 116426:116426 hsa_signal_destroy() = 0 +1822756439426858:1822756439427348 116426:116426 hsa_signal_destroy() = 0 +1822756439428938:1822756439429558 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756439430058:1822756439430658 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756439431708:1822756439432288 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756439432738:1822756439433308 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756439433768:1822756439434078 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756439435188:1822756439435788 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 +1822756439436318:1822756439437128 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce175b0) = 0 +1822756439437748:1822756439441288 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce17570) = 0 +1822756439441818:1822756439443138 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 +1822756441963924:1822756441968594 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756441970784:1822756441971894 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756441972914:1822756441973934 116426:116430 hsa_signal_load_relaxed() = 1 +1822756439443668:1822756441976504 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756441974894:1822756441976894 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756441978174:1822756441978914 116426:116430 hsa_signal_destroy() = 0 +1822756442602578:1822756442603258 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756449040879:1822756449041969 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756449057869:1822756449058409 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756449059099:1822756449059629 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756449062629:1822756449063509 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756449064109:1822756449064979 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756449075339:1822756449076229 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756449675453:1822756449675943 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756449677793:1822756449678333 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 +1822756449679203:1822756449681913 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce17610) = 0 +1822756449682953:1822756449689203 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce175d0) = 0 +1822756449689933:1822756449692973 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 +1822756451461874:1822756451466454 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756451468644:1822756451469754 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756451470924:1822756451471784 116426:116430 hsa_signal_load_relaxed() = 1 +1822756449693613:1822756451474244 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756451472904:1822756451475004 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756451475834:1822756451476534 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756451476654:1822756451477484 116426:116430 hsa_signal_destroy() = 0 +1822756451479154:1822756451479764 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756451495445:1822756451496055 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756451500285:1822756451500885 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 +1822756451506895:1822756451508055 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 58 +1822756451509205:1822756451509695 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 58 +1822756451510515:1822756451511665 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 +1822756451512655:1822756451513075 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756451514135:1822756451514915 116426:116426 hsa_signal_store_relaxed(, 58) = void +1822756451517095:1822756451517705 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756451521655:1822756451522255 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756451524505:1822756451525115 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 +1822756451526185:1822756451526925 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 +1822756451527365:1822756451527685 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 59 +1822756451528135:1822756451528445 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 58 +1822756451529095:1822756451529405 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756451529855:1822756451530335 116426:116426 hsa_signal_store_relaxed(, 59) = void +1822756451534675:1822756452801943 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822756452807493:1822756452808063 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822756452811443:1822756452812863 116426:116426 hsa_signal_destroy() = 0 +1822756452814283:1822756452814723 116426:116426 hsa_signal_destroy() = 0 +1822756452815783:1822756452816343 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756452816793:1822756452817323 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756452818063:1822756452818543 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756452818953:1822756452819363 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756452819773:1822756452820043 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756452820943:1822756452821483 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 +1822756452821923:1822756452822683 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce17670) = 0 +1822756452823133:1822756452826643 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce17630) = 0 +1822756452827123:1822756452828413 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 +1822756455463779:1822756455468369 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756455470609:1822756455471719 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756455472939:1822756455473949 116426:116430 hsa_signal_load_relaxed() = 1 +1822756452828873:1822756455476619 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756455475039:1822756455477039 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756455478349:1822756455479089 116426:116430 hsa_signal_destroy() = 0 +1822756456116823:1822756456117483 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756462613095:1822756462614455 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756462628255:1822756462628795 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756462629555:1822756462630085 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756462632565:1822756462633455 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756462633845:1822756462634485 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756462635045:1822756462635935 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756463214449:1822756463214959 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756463216739:1822756463217269 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 +1822756463227509:1822756463230229 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce176d0) = 0 +1822756463231049:1822756463236839 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce17690) = 0 +1822756463237579:1822756463240969 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 +1822756464917130:1822756464921790 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756464923690:1822756464924800 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756464925750:1822756464926610 116426:116430 hsa_signal_load_relaxed() = 1 +1822756463241509:1822756464928800 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756464927420:1822756464929350 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756464930470:1822756464931310 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756464931030:1822756464932160 116426:116430 hsa_signal_destroy() = 0 +1822756464933730:1822756464934340 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756464951110:1822756464951720 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756464955630:1822756464956230 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 +1822756464962600:1822756464963460 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 60 +1822756464964260:1822756464964920 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 60 +1822756464966000:1822756464967360 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 +1822756464968050:1822756464968480 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756464969460:1822756464970240 116426:116426 hsa_signal_store_relaxed(, 60) = void +1822756464972420:1822756464973030 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756464977270:1822756464977880 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756464980190:1822756464980800 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 +1822756464981840:1822756464982600 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 +1822756464983040:1822756464983370 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 61 +1822756464983820:1822756464984140 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 60 +1822756464984960:1822756464985270 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756464985720:1822756464986210 116426:116426 hsa_signal_store_relaxed(, 61) = void +1822756464987820:1822756466247199 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822756466251549:1822756466252139 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822756466257199:1822756466258229 116426:116426 hsa_signal_destroy() = 0 +1822756466260039:1822756466260729 116426:116426 hsa_signal_destroy() = 0 +1822756466261859:1822756466262479 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756466262939:1822756466263469 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756466264619:1822756466265109 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756466265519:1822756466265939 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756466266349:1822756466266619 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756466267529:1822756466268059 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 +1822756466268519:1822756466269199 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce17730) = 0 +1822756466269729:1822756466273329 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce176f0) = 0 +1822756466273799:1822756466275029 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 +1822756468839505:1822756468844105 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756468846215:1822756468847325 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756468848345:1822756468849365 116426:116430 hsa_signal_load_relaxed() = 1 +1822756466275499:1822756468851805 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756468850175:1822756468852175 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756468853545:1822756468854275 116426:116430 hsa_signal_destroy() = 0 +1822756469479689:1822756469480369 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756475914030:1822756475915310 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756475930580:1822756475931110 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756475931780:1822756475932310 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756475934760:1822756475935640 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756475936390:1822756475937300 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756475938140:1822756475939410 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756476553474:1822756476553914 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756476555684:1822756476556284 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 +1822756476557464:1822756476559804 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce17790) = 0 +1822756476560914:1822756476566794 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce17750) = 0 +1822756476567604:1822756476571444 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 +1822756478197164:1822756478201665 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756478203915:1822756478205065 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756478206025:1822756478206885 116426:116430 hsa_signal_load_relaxed() = 1 +1822756476580704:1822756478209055 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756478207685:1822756478209625 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756478210425:1822756478210935 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756478211295:1822756478212135 116426:116430 hsa_signal_destroy() = 0 +1822756478213345:1822756478213945 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756478230745:1822756478231555 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756478235775:1822756478236385 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 +1822756478242365:1822756478243235 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 62 +1822756478244315:1822756478244965 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 62 +1822756478245785:1822756478247205 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 +1822756478248155:1822756478248585 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756478249825:1822756478250595 116426:116426 hsa_signal_store_relaxed(, 62) = void +1822756478252995:1822756478253595 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756478259665:1822756478260275 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756478262835:1822756478263435 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 +1822756478264355:1822756478265095 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 +1822756478265545:1822756478265865 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 63 +1822756478266305:1822756478266635 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 62 +1822756478267275:1822756478267585 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756478268035:1822756478268525 116426:116426 hsa_signal_store_relaxed(, 63) = void +1822756478270365:1822756479527383 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822756479532113:1822756479532753 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822756479535313:1822756479536393 116426:116426 hsa_signal_destroy() = 0 +1822756479538343:1822756479538823 116426:116426 hsa_signal_destroy() = 0 +1822756479540073:1822756479540693 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756479543903:1822756479544513 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756479545263:1822756479545793 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756479546263:1822756479547193 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756479547653:1822756479547963 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756479548903:1822756479549503 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 +1822756479550003:1822756479550833 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce177f0) = 0 +1822756479551333:1822756479554883 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce177b0) = 0 +1822756479555483:1822756479556713 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 +1822756482075999:1822756482080619 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756482082589:1822756482083699 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756482084729:1822756482085749 116426:116430 hsa_signal_load_relaxed() = 1 +1822756479557243:1822756482088179 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756482086559:1822756482088569 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756482089989:1822756482090729 116426:116430 hsa_signal_destroy() = 0 +1822756482715913:1822756482716593 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756489221565:1822756489222725 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756489237335:1822756489237875 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756489238655:1822756489239185 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756489242275:1822756489243025 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756489243415:1822756489244285 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756489244935:1822756489245815 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756489828988:1822756489829508 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756489831628:1822756489832158 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 +1822756489833038:1822756489835538 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce17850) = 0 +1822756489836198:1822756489841788 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce17810) = 0 +1822756489842589:1822756489845829 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 +1822756491474349:1822756491478939 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756491481039:1822756491482149 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756491483099:1822756491483959 116426:116430 hsa_signal_load_relaxed() = 1 +1822756489846399:1822756491489979 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756491488619:1822756491490729 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756491491439:1822756491491889 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756491492679:1822756491493419 116426:116430 hsa_signal_destroy() = 0 +1822756491494579:1822756491495179 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756491511969:1822756491512579 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756491516689:1822756491517289 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 +1822756491522899:1822756491523869 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 64 +1822756491524859:1822756491525779 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 64 +1822756491526869:1822756491528099 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 +1822756491528949:1822756491529379 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756491530429:1822756491531529 116426:116426 hsa_signal_store_relaxed(, 64) = void +1822756491533819:1822756491534429 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756491538269:1822756491538869 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756491540929:1822756491541529 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 +1822756491542469:1822756491543159 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 +1822756491543599:1822756491543919 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 65 +1822756491544349:1822756491544679 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 64 +1822756491545319:1822756491545639 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756491546079:1822756491546569 116426:116426 hsa_signal_store_relaxed(, 65) = void +1822756491548069:1822756492841178 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822756492845718:1822756492846328 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822756492848748:1822756492850108 116426:116426 hsa_signal_destroy() = 0 +1822756492852068:1822756492852508 116426:116426 hsa_signal_destroy() = 0 +1822756492854008:1822756492854558 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756492855008:1822756492855548 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756492856348:1822756492856828 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756492857318:1822756492857728 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756492867748:1822756492868028 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756492869108:1822756492869638 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 +1822756492870088:1822756492870848 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce178b0) = 0 +1822756492871428:1822756492874808 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce17870) = 0 +1822756492875268:1822756492876408 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 +1822756495465125:1822756495469705 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756495471815:1822756495472915 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756495473945:1822756495474955 116426:116430 hsa_signal_load_relaxed() = 1 +1822756492876878:1822756495477345 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756495475765:1822756495477775 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756495479265:1822756495480005 116426:116430 hsa_signal_destroy() = 0 +1822756496131059:1822756496131789 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756502614420:1822756502616020 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756502630690:1822756502631220 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756502631940:1822756502632470 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756502635130:1822756502636020 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756502636760:1822756502637300 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756502638110:1822756502639110 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756503221334:1822756503221684 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756503223544:1822756503224074 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 +1822756503225164:1822756503227664 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce17910) = 0 +1822756503228714:1822756503234424 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce178d0) = 0 +1822756503235154:1822756503238144 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 +1822756504933065:1822756504937545 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756504939505:1822756504940615 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756504941695:1822756504942555 116426:116430 hsa_signal_load_relaxed() = 1 +1822756503238644:1822756504944895 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756504943525:1822756504945465 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756504946225:1822756504946735 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756504947115:1822756504947955 116426:116430 hsa_signal_destroy() = 0 +1822756504959095:1822756504959705 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756504975715:1822756504976325 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756504979915:1822756504980515 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 +1822756504985995:1822756504986865 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 66 +1822756504987685:1822756504988345 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 66 +1822756504989275:1822756504990375 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 +1822756504991085:1822756504991435 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756504992445:1822756504993135 116426:116426 hsa_signal_store_relaxed(, 66) = void +1822756504995255:1822756504995865 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756504999665:1822756505000275 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756505002765:1822756505003375 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 +1822756505004515:1822756505005315 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 +1822756505005755:1822756505006075 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 67 +1822756505006515:1822756505006835 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 66 +1822756505007485:1822756505007805 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756505008245:1822756505008745 116426:116426 hsa_signal_store_relaxed(, 67) = void +1822756505010205:1822756506275643 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822756506280873:1822756506281383 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822756506283903:1822756506284913 116426:116426 hsa_signal_destroy() = 0 +1822756506286683:1822756506287373 116426:116426 hsa_signal_destroy() = 0 +1822756506288643:1822756506289193 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756506289643:1822756506290173 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756506291333:1822756506291813 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756506292223:1822756506292643 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756506293053:1822756506293333 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756506294393:1822756506294923 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 +1822756506295373:1822756506296003 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce17970) = 0 +1822756506302673:1822756506305913 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce17930) = 0 +1822756506306463:1822756506307663 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 +1822756508845000:1822756508849620 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756508851640:1822756508852750 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756508853770:1822756508854790 116426:116430 hsa_signal_load_relaxed() = 1 +1822756506308133:1822756508857250 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756508855600:1822756508857600 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756508859110:1822756508859840 116426:116430 hsa_signal_destroy() = 0 +1822756509484644:1822756509485364 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756515921174:1822756515922604 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756515938035:1822756515938565 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756515939215:1822756515939745 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756515942515:1822756515943385 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756515943975:1822756515944845 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756515945475:1822756515946115 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756516558589:1822756516559119 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756516561179:1822756516561709 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 +1822756516563259:1822756516565689 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce179d0) = 0 +1822756516566699:1822756516572879 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce17990) = 0 +1822756516573599:1822756516577129 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 +1822756518208409:1822756518212929 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756518214899:1822756518216009 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756518216959:1822756518217819 116426:116430 hsa_signal_load_relaxed() = 1 +1822756516577789:1822756518220269 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756518218919:1822756518220849 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756518221789:1822756518222669 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756518222459:1822756518223619 116426:116430 hsa_signal_destroy() = 0 +1822756518225029:1822756518225629 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756518250909:1822756518251519 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756518257419:1822756518258019 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 +1822756518263599:1822756518264470 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 68 +1822756518265400:1822756518266050 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 68 +1822756518266970:1822756518268420 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 +1822756518269140:1822756518269560 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756518270630:1822756518271320 116426:116426 hsa_signal_store_relaxed(, 68) = void +1822756518273830:1822756518274440 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756518278520:1822756518279130 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756518281500:1822756518282100 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 +1822756518283150:1822756518283960 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 +1822756518284400:1822756518284720 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 69 +1822756518285160:1822756518285480 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 68 +1822756518286130:1822756518286440 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756518286890:1822756518287370 116426:116426 hsa_signal_store_relaxed(, 69) = void +1822756518289080:1822756519552298 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822756519556968:1822756519557588 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822756519560608:1822756519561708 116426:116426 hsa_signal_destroy() = 0 +1822756519563648:1822756519564128 116426:116426 hsa_signal_destroy() = 0 +1822756519565338:1822756519565958 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756519566468:1822756519567068 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756519567958:1822756519568478 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756519568938:1822756519569388 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756519569848:1822756519570158 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756519571268:1822756519571868 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 +1822756519572398:1822756519573208 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce17a30) = 0 +1822756519573758:1822756519577338 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce179f0) = 0 +1822756519577858:1822756519579158 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 +1822756522132064:1822756522136674 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756522142344:1822756522143464 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756522144494:1822756522145504 116426:116430 hsa_signal_load_relaxed() = 1 +1822756519579668:1822756522147944 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756522146314:1822756522148324 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756522149814:1822756522150544 116426:116430 hsa_signal_destroy() = 0 +1822756522773498:1822756522774178 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756529294160:1822756529295000 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756529310610:1822756529311140 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756529311720:1822756529312260 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756529314970:1822756529315870 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756529316260:1822756529316620 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756529317170:1822756529318050 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756529919754:1822756529920094 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756529921814:1822756529922344 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 +1822756529923034:1822756529925724 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce17a90) = 0 +1822756529926614:1822756529932034 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce17a50) = 0 +1822756529932644:1822756529936014 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 +1822756531603514:1822756531608114 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756531610264:1822756531611374 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756531612454:1822756531613324 116426:116430 hsa_signal_load_relaxed() = 1 +1822756529936884:1822756531615594 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756531614244:1822756531616374 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756531617114:1822756531617634 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756531618114:1822756531618944 116426:116430 hsa_signal_destroy() = 0 +1822756531620685:1822756531621295 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756531639365:1822756531639975 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756531643755:1822756531644355 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 +1822756531650555:1822756531651435 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 70 +1822756531661765:1822756531662565 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 70 +1822756531663455:1822756531664715 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 +1822756531665445:1822756531665795 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756531667055:1822756531667745 116426:116426 hsa_signal_store_relaxed(, 70) = void +1822756531669905:1822756531670515 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756531674865:1822756531675465 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756531677505:1822756531678105 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 +1822756531679095:1822756531679765 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 +1822756531680205:1822756531680525 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 71 +1822756531680965:1822756531681295 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 70 +1822756531681935:1822756531682255 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756531682695:1822756531683185 116426:116426 hsa_signal_store_relaxed(, 71) = void +1822756531684575:1822756532936873 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822756532941263:1822756532941843 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822756532945053:1822756532946373 116426:116426 hsa_signal_destroy() = 0 +1822756532948013:1822756532948453 116426:116426 hsa_signal_destroy() = 0 +1822756532949643:1822756532950193 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756532950643:1822756532951173 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756532952003:1822756532952483 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756532952893:1822756532953413 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756532953943:1822756532954213 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756532955113:1822756532955643 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 +1822756532956083:1822756532956823 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce17af0) = 0 +1822756532957263:1822756532960753 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce17ab0) = 0 +1822756532961243:1822756532962613 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 +1822756535505099:1822756535509699 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756535511930:1822756535513040 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756535514190:1822756535515210 116426:116430 hsa_signal_load_relaxed() = 1 +1822756532963073:1822756535517750 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756535516170:1822756535518180 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756535523980:1822756535524740 116426:116430 hsa_signal_destroy() = 0 +1822756536169604:1822756536170324 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756542621584:1822756542623274 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756542637954:1822756542638494 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756542639204:1822756542639745 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756542642225:1822756542643105 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756542643785:1822756542644415 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756542645055:1822756542645955 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756543220998:1822756543221658 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756543223338:1822756543223868 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 +1822756543224808:1822756543227188 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce17b50) = 0 +1822756543228218:1822756543234278 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce17b10) = 0 +1822756543234968:1822756543238208 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 +1822756544864819:1822756544869449 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756544871509:1822756544872629 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756544873579:1822756544874439 116426:116430 hsa_signal_load_relaxed() = 1 +1822756543238828:1822756544876899 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756544875529:1822756544877459 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756544878389:1822756544879219 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756544879019:1822756544880169 116426:116430 hsa_signal_destroy() = 0 +1822756544881359:1822756544881959 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756544899139:1822756544899959 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756544904189:1822756544904789 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 +1822756544910669:1822756544911529 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 72 +1822756544912339:1822756544912989 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 72 +1822756544913819:1822756544914909 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 +1822756544915609:1822756544915959 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756544925349:1822756544926149 116426:116426 hsa_signal_store_relaxed(, 72) = void +1822756544928339:1822756544928949 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756544932969:1822756544933569 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756544935649:1822756544936249 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 +1822756544937239:1822756544937999 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 +1822756544938439:1822756544938759 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 73 +1822756544939199:1822756544939519 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 72 +1822756544940169:1822756544940479 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756544940929:1822756544941419 116426:116426 hsa_signal_store_relaxed(, 73) = void +1822756544943209:1822756546207507 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822756546212127:1822756546212637 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822756546215117:1822756546216417 116426:116426 hsa_signal_destroy() = 0 +1822756546218337:1822756546218927 116426:116426 hsa_signal_destroy() = 0 +1822756546220048:1822756546220598 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756546221048:1822756546221578 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756546222418:1822756546223228 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756546223638:1822756546224048 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756546224448:1822756546224728 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756546225618:1822756546226148 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 +1822756546226598:1822756546227288 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce17bb0) = 0 +1822756546227818:1822756546231298 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce17b70) = 0 +1822756546231758:1822756546233058 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 +1822756548761644:1822756548766274 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756548768494:1822756548769604 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756548770624:1822756548771644 116426:116430 hsa_signal_load_relaxed() = 1 +1822756546233518:1822756548774314 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756548772664:1822756548774674 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756548775884:1822756548776624 116426:116430 hsa_signal_destroy() = 0 +1822756549400638:1822756549401328 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756555848429:1822756555849919 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756555864639:1822756555865179 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756555865719:1822756555866249 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756555868689:1822756555869549 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756555869939:1822756555870469 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756555871109:1822756555871899 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756556489893:1822756556490573 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756556492573:1822756556493173 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 +1822756556494103:1822756556496553 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce17c10) = 0 +1822756556497623:1822756556504083 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce17bd0) = 0 +1822756556504853:1822756556508263 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 +1822756558127463:1822756558132053 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756558134193:1822756558135303 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756558136383:1822756558137243 116426:116430 hsa_signal_load_relaxed() = 1 +1822756556508813:1822756558139633 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756558138283:1822756558140403 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756558141023:1822756558141523 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756558142123:1822756558142853 116426:116430 hsa_signal_destroy() = 0 +1822756558144383:1822756558144983 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756558168353:1822756558168963 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756558173423:1822756558174024 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 +1822756558180484:1822756558181424 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 74 +1822756558182584:1822756558183074 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 74 +1822756558183894:1822756558185184 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 +1822756558186034:1822756558186454 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756558187554:1822756558188384 116426:116426 hsa_signal_store_relaxed(, 74) = void +1822756558190924:1822756558191534 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756558195734:1822756558196334 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756558200404:1822756558201014 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 +1822756558202204:1822756558202864 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 +1822756558203314:1822756558203634 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 75 +1822756558204074:1822756558204384 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 74 +1822756558205034:1822756558205354 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756558205794:1822756558206284 116426:116426 hsa_signal_store_relaxed(, 75) = void +1822756558208404:1822756559462322 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822756559467032:1822756559467702 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822756559470782:1822756559472132 116426:116426 hsa_signal_destroy() = 0 +1822756559473912:1822756559474402 116426:116426 hsa_signal_destroy() = 0 +1822756559475712:1822756559476332 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756559476852:1822756559477452 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756559478152:1822756559478682 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756559479162:1822756559479602 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756559480072:1822756559480372 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756559481502:1822756559482112 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 +1822756559482632:1822756559483442 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce17c70) = 0 +1822756559483992:1822756559487562 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce17c30) = 0 +1822756559488092:1822756559489412 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 +1822756561996078:1822756562000678 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756562002908:1822756562004018 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756562005158:1822756562006178 116426:116430 hsa_signal_load_relaxed() = 1 +1822756559489932:1822756562008918 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756562007288:1822756562009288 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756562010938:1822756562011678 116426:116430 hsa_signal_destroy() = 0 +1822756562634952:1822756562635632 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756569142783:1822756569143863 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756569158623:1822756569159163 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756569159753:1822756569160293 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756569172693:1822756569173583 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756569173973:1822756569174853 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756569175423:1822756569176563 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756569764227:1822756569764707 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756569766317:1822756569766847 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 +1822756569767757:1822756569770397 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce17cd0) = 0 +1822756569771467:1822756569776817 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce17c90) = 0 +1822756569777557:1822756569781327 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 +1822756571468368:1822756571472968 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756571475158:1822756571476258 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756571477218:1822756571478078 116426:116430 hsa_signal_load_relaxed() = 1 +1822756569781887:1822756571480388 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756571479038:1822756571481138 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756571481638:1822756571482268 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756571482758:1822756571483588 116426:116430 hsa_signal_destroy() = 0 +1822756571484868:1822756571485478 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756571502678:1822756571503338 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756571507848:1822756571508458 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 +1822756571514318:1822756571515258 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 76 +1822756571516068:1822756571516718 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 76 +1822756571517678:1822756571518908 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 +1822756571519648:1822756571520078 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756571521348:1822756571522218 116426:116426 hsa_signal_store_relaxed(, 76) = void +1822756571524498:1822756571525098 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756571529249:1822756571529859 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756571532009:1822756571532609 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 +1822756571533589:1822756571534269 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 +1822756571534709:1822756571535079 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 77 +1822756571538689:1822756571539009 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 76 +1822756571539689:1822756571539999 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756571540439:1822756571540929 116426:116426 hsa_signal_store_relaxed(, 77) = void +1822756571542589:1822756572790887 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822756572795237:1822756572795847 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822756572798727:1822756572799737 116426:116426 hsa_signal_destroy() = 0 +1822756572801807:1822756572802247 116426:116426 hsa_signal_destroy() = 0 +1822756572803307:1822756572803857 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756572804317:1822756572804847 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756572806087:1822756572806847 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756572807257:1822756572807667 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756572808077:1822756572808347 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756572809417:1822756572809947 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 +1822756572810407:1822756572811147 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce17d30) = 0 +1822756572811727:1822756572815097 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce17cf0) = 0 +1822756572815567:1822756572816737 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 +1822756575465874:1822756575470454 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756575472904:1822756575474024 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756575475054:1822756575476064 116426:116430 hsa_signal_load_relaxed() = 1 +1822756572817207:1822756575478604 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756575477024:1822756575479024 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756575480314:1822756575481054 116426:116430 hsa_signal_destroy() = 0 +1822756576126478:1822756576127188 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756582613139:1822756582614489 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756582630019:1822756582630559 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756582631349:1822756582631879 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756582634329:1822756582635209 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756582635599:1822756582636359 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756582637019:1822756582637669 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756583256113:1822756583256613 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756583258503:1822756583259033 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 +1822756583260393:1822756583263063 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce17d90) = 0 +1822756583264063:1822756583269843 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce17d50) = 0 +1822756583270583:1822756583273763 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 +1822756584919624:1822756584924244 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756584926284:1822756584927384 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756584928534:1822756584929384 116426:116430 hsa_signal_load_relaxed() = 1 +1822756583274253:1822756584931764 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756584930394:1822756584932324 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756584933344:1822756584933864 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756584934254:1822756584935084 116426:116430 hsa_signal_destroy() = 0 +1822756584936484:1822756584937094 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756584954534:1822756584955344 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756584959644:1822756584960254 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 +1822756584966794:1822756584967904 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 78 +1822756584968894:1822756584969814 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 78 +1822756584970634:1822756584971744 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 +1822756584972524:1822756584973264 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756584974494:1822756584975344 116426:116426 hsa_signal_store_relaxed(, 78) = void +1822756584978004:1822756584978614 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756584982554:1822756584983154 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756584986134:1822756584986744 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 +1822756584987974:1822756584988784 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 +1822756584989234:1822756584989554 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 79 +1822756584989994:1822756584990314 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 78 +1822756584991114:1822756584991434 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756584991874:1822756584992364 116426:116426 hsa_signal_store_relaxed(, 79) = void +1822756584996324:1822756586253202 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822756586257702:1822756586258312 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822756586261112:1822756586262522 116426:116426 hsa_signal_destroy() = 0 +1822756586264412:1822756586265002 116426:116426 hsa_signal_destroy() = 0 +1822756586266062:1822756586266612 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756586267072:1822756586267602 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756586268532:1822756586269012 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756586269422:1822756586269832 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756586270372:1822756586270652 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756586271712:1822756586272242 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 +1822756586272692:1822756586273382 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce17df0) = 0 +1822756586273972:1822756586277362 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce17db0) = 0 +1822756586277822:1822756586279022 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 +1822756588825239:1822756588829869 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756588831989:1822756588833109 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756588834329:1822756588835349 116426:116430 hsa_signal_load_relaxed() = 1 +1822756586279492:1822756588838099 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756588836459:1822756588838469 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756588839959:1822756588840689 116426:116430 hsa_signal_destroy() = 0 +1822756589470713:1822756589471423 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756595917144:1822756595918534 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756595932674:1822756595933214 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756595933964:1822756595934504 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756595936884:1822756595937814 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756595938204:1822756595939064 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756595939724:1822756595940804 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756596561058:1822756596561678 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756596563388:1822756596563988 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 +1822756596574828:1822756596577428 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce17e50) = 0 +1822756596578278:1822756596584718 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce17e10) = 0 +1822756596585448:1822756596588988 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 +1822756598216088:1822756598220608 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756598222768:1822756598223878 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756598224838:1822756598225698 116426:116430 hsa_signal_load_relaxed() = 1 +1822756596589568:1822756598227868 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756598226508:1822756598228438 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756598229378:1822756598230318 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756598230118:1822756598231248 116426:116430 hsa_signal_destroy() = 0 +1822756598233578:1822756598234188 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756598251249:1822756598251849 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756598255629:1822756598256229 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 +1822756598262229:1822756598263119 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 80 +1822756598264079:1822756598264569 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 80 +1822756598265469:1822756598266729 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 +1822756598267419:1822756598267759 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756598268759:1822756598269579 116426:116426 hsa_signal_store_relaxed(, 80) = void +1822756598272019:1822756598272619 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756598276659:1822756598277269 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756598279549:1822756598280159 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 +1822756598280999:1822756598281759 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 +1822756598282209:1822756598282519 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 81 +1822756598282959:1822756598283279 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 80 +1822756598283919:1822756598284239 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756598284679:1822756598285159 116426:116426 hsa_signal_store_relaxed(, 81) = void +1822756598286709:1822756599558467 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822756599563207:1822756599564177 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822756599567037:1822756599568237 116426:116426 hsa_signal_destroy() = 0 +1822756599575647:1822756599576137 116426:116426 hsa_signal_destroy() = 0 +1822756599577347:1822756599577967 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756599578477:1822756599579077 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756599579797:1822756599580327 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756599580787:1822756599581357 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756599581807:1822756599582117 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756599583097:1822756599583707 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 +1822756599584207:1822756599585027 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce17eb0) = 0 +1822756599585657:1822756599589207 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce17e70) = 0 +1822756599589747:1822756599591057 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 +1822756602122783:1822756602127373 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756602129484:1822756602130594 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756602131614:1822756602132634 116426:116430 hsa_signal_load_relaxed() = 1 +1822756599591587:1822756602135064 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756602133444:1822756602135434 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756602136814:1822756602137544 116426:116430 hsa_signal_destroy() = 0 +1822756602767928:1822756602768598 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756609296249:1822756609297649 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756609312239:1822756609312779 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756609313469:1822756609314009 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756609316239:1822756609317129 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756609317539:1822756609318629 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756609319409:1822756609320019 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756609924703:1822756609925263 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756609927153:1822756609927753 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 +1822756609928743:1822756609931373 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce17f10) = 0 +1822756609932163:1822756609937923 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce17ed0) = 0 +1822756609938773:1822756609942173 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 +1822756611447553:1822756611451963 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756611453823:1822756611454923 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756611455893:1822756611456753 116426:116430 hsa_signal_load_relaxed() = 1 +1822756609951243:1822756611458903 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756611457563:1822756611459393 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756611460373:1822756611461023 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756611461153:1822756611461983 116426:116430 hsa_signal_destroy() = 0 +1822756611464243:1822756611464853 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756611481673:1822756611482283 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756611486713:1822756611487323 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 +1822756611493703:1822756611494573 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 82 +1822756611495373:1822756611496033 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 82 +1822756611496913:1822756611497993 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 +1822756611498703:1822756611499133 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756611500433:1822756611501263 116426:116426 hsa_signal_store_relaxed(, 82) = void +1822756611503453:1822756611504063 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756611508273:1822756611508883 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756611511463:1822756611512083 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 +1822756611513123:1822756611513783 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 +1822756611514233:1822756611514563 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 83 +1822756611515003:1822756611515323 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 82 +1822756611515963:1822756611516283 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756611516733:1822756611517223 116426:116426 hsa_signal_store_relaxed(, 83) = void +1822756611519023:1822756612774861 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822756612779041:1822756612779611 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822756612782841:1822756612784141 116426:116426 hsa_signal_destroy() = 0 +1822756612786331:1822756612786771 116426:116426 hsa_signal_destroy() = 0 +1822756612788311:1822756612788871 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756612789321:1822756612789851 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756612793441:1822756612793931 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756612794341:1822756612794761 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756612795171:1822756612795441 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756612796331:1822756612796871 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 +1822756612797311:1822756612798301 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce17f70) = 0 +1822756612798841:1822756612802451 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce17f30) = 0 +1822756612802931:1822756612804181 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 +1822756615466748:1822756615471318 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756615473548:1822756615474688 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756615475708:1822756615476728 116426:116430 hsa_signal_load_relaxed() = 1 +1822756612804641:1822756615479118 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756615477538:1822756615479558 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756615480928:1822756615481648 116426:116430 hsa_signal_destroy() = 0 +1822756616129963:1822756616130673 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756622613644:1822756622615194 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756622630134:1822756622630664 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756622631594:1822756622632124 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756622635234:1822756622636104 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756622636704:1822756622637344 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756622637904:1822756622638824 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756623237888:1822756623238658 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756623240178:1822756623240708 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 +1822756623241698:1822756623244128 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce17fd0) = 0 +1822756623244908:1822756623250548 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce17f90) = 0 +1822756623251318:1822756623254998 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 +1822756624871958:1822756624876529 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756624878669:1822756624879779 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756624880739:1822756624881609 116426:116430 hsa_signal_load_relaxed() = 1 +1822756623255568:1822756624888549 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756624887039:1822756624888989 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756624890069:1822756624890529 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756624891069:1822756624891779 116426:116430 hsa_signal_destroy() = 0 +1822756624892909:1822756624893509 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756624909369:1822756624909979 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756624914169:1822756624914779 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 +1822756624921069:1822756624921949 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 84 +1822756624923199:1822756624923689 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 84 +1822756624924579:1822756624925649 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 +1822756624926359:1822756624926709 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756624927729:1822756624928559 116426:116426 hsa_signal_store_relaxed(, 84) = void +1822756624931039:1822756624931649 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756624944609:1822756624945209 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756624947259:1822756624947869 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 +1822756624948859:1822756624949619 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 +1822756624950069:1822756624950389 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 85 +1822756624950819:1822756624951139 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 84 +1822756624951969:1822756624952279 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756624952729:1822756624953219 116426:116426 hsa_signal_store_relaxed(, 85) = void +1822756624954819:1822756626203677 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822756626207947:1822756626208547 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822756626211137:1822756626212137 116426:116426 hsa_signal_destroy() = 0 +1822756626213977:1822756626214667 116426:116426 hsa_signal_destroy() = 0 +1822756626215847:1822756626216397 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756626216837:1822756626217367 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756626218217:1822756626218697 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756626219177:1822756626219677 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756626220147:1822756626220427 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756626226177:1822756626226707 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 +1822756626227157:1822756626227847 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce18030) = 0 +1822756626228437:1822756626231777 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce17ff0) = 0 +1822756626232257:1822756626233507 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 +1822756628763723:1822756628768283 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756628770473:1822756628771603 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756628772623:1822756628773663 116426:116430 hsa_signal_load_relaxed() = 1 +1822756626233967:1822756628776103 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756628774463:1822756628776473 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756628777853:1822756628778583 116426:116430 hsa_signal_destroy() = 0 +1822756629404627:1822756629405297 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756635845378:1822756635846588 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756635860748:1822756635861288 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756635861948:1822756635862478 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756635864798:1822756635865688 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756635866439:1822756635867079 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756635868029:1822756635868759 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756636466262:1822756636466872 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756636468942:1822756636469472 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 +1822756636471042:1822756636473432 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce18090) = 0 +1822756636474592:1822756636480612 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce18050) = 0 +1822756636481152:1822756636484632 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 +1822756638109513:1822756638114073 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756638116493:1822756638117633 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756638118783:1822756638119653 116426:116430 hsa_signal_load_relaxed() = 1 +1822756636485182:1822756638121973 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756638120613:1822756638122553 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756638123273:1822756638123823 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756638124183:1822756638125003 116426:116430 hsa_signal_destroy() = 0 +1822756638136173:1822756638136783 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756638153193:1822756638154003 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756638157443:1822756638158053 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 +1822756638163823:1822756638164753 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 86 +1822756638165393:1822756638166043 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 86 +1822756638166933:1822756638168153 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 +1822756638168823:1822756638169253 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756638170653:1822756638171483 116426:116426 hsa_signal_store_relaxed(, 86) = void +1822756638173993:1822756638174603 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756638178603:1822756638179203 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756638182023:1822756638182623 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 +1822756638183913:1822756638184573 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 +1822756638185013:1822756638185333 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 87 +1822756638185773:1822756638186093 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 86 +1822756638186933:1822756638187263 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756638187703:1822756638188183 116426:116426 hsa_signal_store_relaxed(, 87) = void +1822756638189683:1822756639455002 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822756639460042:1822756639460702 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822756639463342:1822756639464712 116426:116426 hsa_signal_destroy() = 0 +1822756639466502:1822756639466992 116426:116426 hsa_signal_destroy() = 0 +1822756639468332:1822756639468962 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756639469462:1822756639470072 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756639470892:1822756639471422 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756639472062:1822756639472632 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756639473092:1822756639473402 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756639474552:1822756639475152 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 +1822756639475652:1822756639476462 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce180f0) = 0 +1822756639477052:1822756639480562 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce180b0) = 0 +1822756639483692:1822756639484972 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 +1822756642021538:1822756642026138 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756642028368:1822756642029478 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756642030498:1822756642031538 116426:116430 hsa_signal_load_relaxed() = 1 +1822756639485492:1822756642033998 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756642032348:1822756642034358 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756642035758:1822756642036478 116426:116430 hsa_signal_destroy() = 0 +1822756642663272:1822756642663952 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756649184143:1822756649184803 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756649198853:1822756649199393 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756649200403:1822756649200943 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756649203443:1822756649204353 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756649204963:1822756649205823 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756649206373:1822756649207403 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756649790257:1822756649790787 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756649792807:1822756649793337 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 +1822756649794287:1822756649796797 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce18150) = 0 +1822756649797837:1822756649803587 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce18110) = 0 +1822756649804317:1822756649807617 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 +1822756651471038:1822756651475578 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756651477738:1822756651479068 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756651480038:1822756651480898 116426:116430 hsa_signal_load_relaxed() = 1 +1822756649808187:1822756651483358 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756651482008:1822756651483938 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756651485098:1822756651485968 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756651485608:1822756651486738 116426:116430 hsa_signal_destroy() = 0 +1822756651488808:1822756651489408 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756651505528:1822756651506138 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756651518338:1822756651518948 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 +1822756651524938:1822756651525948 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 88 +1822756651526778:1822756651527428 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 88 +1822756651528258:1822756651529568 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 +1822756651530278:1822756651530708 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756651531898:1822756651532718 116426:116426 hsa_signal_store_relaxed(, 88) = void +1822756651535188:1822756651535798 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756651539998:1822756651540608 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756651542688:1822756651543298 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 +1822756651544188:1822756651544858 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 +1822756651545298:1822756651545618 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 89 +1822756651546068:1822756651546378 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 88 +1822756651547028:1822756651547338 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756651547788:1822756651548268 116426:116426 hsa_signal_store_relaxed(, 89) = void +1822756651549708:1822756652808727 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822756652813527:1822756652814147 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822756652816767:1822756652817907 116426:116426 hsa_signal_destroy() = 0 +1822756652820027:1822756652820467 116426:116426 hsa_signal_destroy() = 0 +1822756652821727:1822756652822277 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756652822727:1822756652823267 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756652824207:1822756652824687 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756652825097:1822756652825657 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756652826197:1822756652826467 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756652827527:1822756652828057 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 +1822756652828517:1822756652829307 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce181b0) = 0 +1822756652829777:1822756652833107 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce18170) = 0 +1822756652833587:1822756652835047 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 +1822756655472343:1822756655476913 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756655482773:1822756655483893 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756655485023:1822756655486043 116426:116430 hsa_signal_load_relaxed() = 1 +1822756652835517:1822756655488433 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756655486853:1822756655488853 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756655490453:1822756655491173 116426:116430 hsa_signal_destroy() = 0 +1822756656135017:1822756656135747 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756662623309:1822756662624509 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756662639649:1822756662640189 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756662640839:1822756662641369 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756662644169:1822756662645049 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756662645439:1822756662645789 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756662646409:1822756662647299 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756663244763:1822756663245263 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756663246913:1822756663247443 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 +1822756663248123:1822756663250903 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce18210) = 0 +1822756663252053:1822756663257903 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce181d0) = 0 +1822756663258813:1822756663262493 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 +1822756664890623:1822756664895253 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756664897283:1822756664898383 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756664899463:1822756664900323 116426:116430 hsa_signal_load_relaxed() = 1 +1822756663263163:1822756664902613 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756664901133:1822756664903073 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756664903973:1822756664904483 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756664904833:1822756664905653 116426:116430 hsa_signal_destroy() = 0 +1822756664906813:1822756664907423 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756664923904:1822756664924514 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756664928424:1822756664929024 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 +1822756664935224:1822756664936414 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 90 +1822756664937334:1822756664938294 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 90 +1822756664949004:1822756664950394 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 +1822756664951084:1822756664951434 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756664952634:1822756664953404 116426:116426 hsa_signal_store_relaxed(, 90) = void +1822756664955454:1822756664956064 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756664960164:1822756664960774 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756664963124:1822756664963734 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 +1822756664964854:1822756664965654 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 +1822756664966104:1822756664966424 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 91 +1822756664966864:1822756664967184 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 90 +1822756664967814:1822756664968134 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756664968584:1822756664969074 116426:116426 hsa_signal_store_relaxed(, 91) = void +1822756664970744:1822756666234222 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822756666238432:1822756666239002 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822756666242172:1822756666243542 116426:116426 hsa_signal_destroy() = 0 +1822756666245372:1822756666246302 116426:116426 hsa_signal_destroy() = 0 +1822756666247712:1822756666248282 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756666248732:1822756666249262 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756666250002:1822756666250482 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756666250882:1822756666251412 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756666251812:1822756666252092 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756666253012:1822756666253542 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 +1822756666253992:1822756666254682 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce18270) = 0 +1822756666255252:1822756666258592 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce18230) = 0 +1822756666259072:1822756666260332 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 +1822756668767758:1822756668772368 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756668774558:1822756668775668 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756668776818:1822756668777848 116426:116430 hsa_signal_load_relaxed() = 1 +1822756666260792:1822756668780448 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756668778808:1822756668780808 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756668786228:1822756668786968 116426:116430 hsa_signal_destroy() = 0 +1822756669412832:1822756669413512 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756675856353:1822756675857433 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756675872483:1822756675873023 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756675873683:1822756675874213 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756675877033:1822756675878043 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756675878723:1822756675879593 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756675880143:1822756675880923 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756676489437:1822756676489847 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756676491547:1822756676492077 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 +1822756676493087:1822756676495497 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce182d0) = 0 +1822756676496547:1822756676502347 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce18290) = 0 +1822756676503067:1822756676506277 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 +1822756678123437:1822756678127977 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756678130307:1822756678131427 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756678132387:1822756678133257 116426:116430 hsa_signal_load_relaxed() = 1 +1822756676506857:1822756678135707 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756678134357:1822756678136277 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756678137077:1822756678137707 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756678137847:1822756678138677 116426:116430 hsa_signal_destroy() = 0 +1822756678140537:1822756678141147 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756678158398:1822756678159208 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756678163668:1822756678164268 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 +1822756678169838:1822756678170848 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 92 +1822756678171848:1822756678172498 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 92 +1822756678173848:1822756678175118 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 +1822756678176088:1822756678176518 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756678177638:1822756678178458 116426:116426 hsa_signal_store_relaxed(, 92) = void +1822756678188448:1822756678189058 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756678193588:1822756678194198 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756678196628:1822756678197228 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 +1822756678198208:1822756678198928 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 +1822756678199388:1822756678199698 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 93 +1822756678200148:1822756678200458 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 92 +1822756678201108:1822756678201418 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756678201858:1822756678202348 116426:116426 hsa_signal_store_relaxed(, 93) = void +1822756678203928:1822756679460006 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822756679465116:1822756679465736 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822756679468286:1822756679469676 116426:116426 hsa_signal_destroy() = 0 +1822756679471596:1822756679472076 116426:116426 hsa_signal_destroy() = 0 +1822756679473416:1822756679474036 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756679474536:1822756679475146 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756679476016:1822756679476546 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756679477006:1822756679477776 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756679478236:1822756679478546 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756679479516:1822756679480126 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 +1822756679480636:1822756679481446 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce18330) = 0 +1822756679482086:1822756679485616 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce182f0) = 0 +1822756679486156:1822756679487466 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 +1822756682062192:1822756682066802 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756682069172:1822756682070272 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756682071292:1822756682072332 116426:116430 hsa_signal_load_relaxed() = 1 +1822756679487976:1822756682075052 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756682073422:1822756682075432 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756682076632:1822756682077362 116426:116430 hsa_signal_destroy() = 0 +1822756682704566:1822756682705236 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756689227868:1822756689228998 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756689244548:1822756689245088 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756689245568:1822756689246098 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756689248648:1822756689249558 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756689249948:1822756689250478 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756689251118:1822756689252018 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756689836552:1822756689836962 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756689838482:1822756689839022 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 +1822756689839642:1822756689842282 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce18390) = 0 +1822756689843182:1822756689849032 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce18350) = 0 +1822756689849842:1822756689852872 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 +1822756691486513:1822756691491063 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756691493323:1822756691494483 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756691495573:1822756691496443 116426:116430 hsa_signal_load_relaxed() = 1 +1822756689853362:1822756691498823 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756691497473:1822756691499393 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756691500213:1822756691500713 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756691501213:1822756691502043 116426:116430 hsa_signal_destroy() = 0 +1822756691503903:1822756691504513 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756691521633:1822756691522243 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756691526083:1822756691526683 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 +1822756691533393:1822756691534423 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 94 +1822756691535443:1822756691536093 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 94 +1822756691536923:1822756691538583 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 +1822756691539623:1822756691539973 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756691541333:1822756691542083 116426:116426 hsa_signal_store_relaxed(, 94) = void +1822756691544353:1822756691544963 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756691549423:1822756691550033 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756691552663:1822756691553273 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 +1822756691562853:1822756691563613 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 +1822756691564063:1822756691564383 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 95 +1822756691564813:1822756691565143 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 94 +1822756691565773:1822756691566093 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756691566533:1822756691567023 116426:116426 hsa_signal_store_relaxed(, 95) = void +1822756691568443:1822756692826671 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822756692831181:1822756692831701 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822756692834371:1822756692835721 116426:116426 hsa_signal_destroy() = 0 +1822756692838051:1822756692838491 116426:116426 hsa_signal_destroy() = 0 +1822756692839601:1822756692840151 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756692840601:1822756692841131 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756692842111:1822756692842591 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756692842991:1822756692843411 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756692843951:1822756692844221 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756692845111:1822756692845641 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 +1822756692846131:1822756692846891 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce183f0) = 0 +1822756692847471:1822756692850821 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce183b0) = 0 +1822756692851291:1822756692852671 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 +1822756695468348:1822756695472908 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756695475148:1822756695476308 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756695477448:1822756695478478 116426:116430 hsa_signal_load_relaxed() = 1 +1822756692853121:1822756695481078 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756695479508:1822756695481508 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756695483088:1822756695483818 116426:116430 hsa_signal_destroy() = 0 +1822756696118602:1822756696119272 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756702627074:1822756702628574 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756702644384:1822756702644914 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756702645804:1822756702646334 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756702659664:1822756702660534 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756702660944:1822756702661814 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756702662374:1822756702663414 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756703261298:1822756703261668 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756703263328:1822756703263858 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 +1822756703264478:1822756703267578 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce18450) = 0 +1822756703268508:1822756703274348 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce18410) = 0 +1822756703275408:1822756703278718 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 +1822756704924908:1822756704929558 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756704931858:1822756704932968 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756704933928:1822756704934798 116426:116430 hsa_signal_load_relaxed() = 1 +1822756703279208:1822756704937158 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756704935768:1822756704937708 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756704938438:1822756704939118 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756704939248:1822756704940078 116426:116430 hsa_signal_destroy() = 0 +1822756704941528:1822756704942138 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756704959298:1822756704959918 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756704964418:1822756704965028 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 +1822756704971338:1822756704972258 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 96 +1822756704973188:1822756704973838 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 96 +1822756704974858:1822756704975948 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 +1822756704976798:1822756704977218 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756704978398:1822756704979218 116426:116426 hsa_signal_store_relaxed(, 96) = void +1822756704981848:1822756704982459 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756704987219:1822756704987819 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756704990409:1822756704991019 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 +1822756704992079:1822756704992839 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 +1822756704993289:1822756704993609 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 97 +1822756704994049:1822756704994369 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 96 +1822756704997379:1822756704997689 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756704998139:1822756704998629 116426:116426 hsa_signal_store_relaxed(, 97) = void +1822756705000569:1822756706256606 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822756706261086:1822756706261826 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822756706264346:1822756706265506 116426:116426 hsa_signal_destroy() = 0 +1822756706267346:1822756706268037 116426:116426 hsa_signal_destroy() = 0 +1822756706269067:1822756706269627 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756706270077:1822756706270607 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756706271747:1822756706272227 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756706272637:1822756706273047 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756706273457:1822756706273727 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756706274797:1822756706275327 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 +1822756706275767:1822756706276457 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce184b0) = 0 +1822756706276937:1822756706280277 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce18470) = 0 +1822756706280747:1822756706281957 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 +1822756708795572:1822756708800172 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756708802442:1822756708803552 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756708804562:1822756708805592 116426:116430 hsa_signal_load_relaxed() = 1 +1822756706282427:1822756708808202 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756708806552:1822756708808562 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756708809752:1822756708810472 116426:116430 hsa_signal_destroy() = 0 +1822756709438637:1822756709439307 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756715890698:1822756715891998 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756715906908:1822756715907438 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756715908188:1822756715908728 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756715911148:1822756715912028 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756715912628:1822756715913268 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756715913998:1822756715914878 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756716541782:1822756716542312 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756716544532:1822756716545132 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 +1822756716546412:1822756716548952 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce18510) = 0 +1822756716549902:1822756716555902 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce184d0) = 0 +1822756716556732:1822756716559652 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 +1822756718188233:1822756718192713 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756718194923:1822756718196143 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756718197093:1822756718197963 116426:116430 hsa_signal_load_relaxed() = 1 +1822756716560212:1822756718200123 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756718198763:1822756718200863 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756718201703:1822756718202213 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756718202623:1822756718203453 116426:116430 hsa_signal_destroy() = 0 +1822756718205093:1822756718205693 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756718222193:1822756718223003 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756718227313:1822756718227913 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 +1822756718234363:1822756718235383 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 98 +1822756718236393:1822756718237043 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 98 +1822756718237923:1822756718239213 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 +1822756718240273:1822756718240623 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756718241973:1822756718242793 116426:116426 hsa_signal_store_relaxed(, 98) = void +1822756718245213:1822756718245823 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756718250073:1822756718250673 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756718253023:1822756718253633 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 +1822756718254513:1822756718255253 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 +1822756718255693:1822756718256013 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 99 +1822756718256453:1822756718256773 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 98 +1822756718257413:1822756718257723 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756718258163:1822756718258653 116426:116426 hsa_signal_store_relaxed(, 99) = void +1822756718262963:1822756719536251 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822756719540931:1822756719541611 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822756719544351:1822756719545551 116426:116426 hsa_signal_destroy() = 0 +1822756719547451:1822756719547931 116426:116426 hsa_signal_destroy() = 0 +1822756719549201:1822756719549821 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756719550341:1822756719550941 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756719551712:1822756719552242 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756719552702:1822756719553152 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756719553612:1822756719553922 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756719555032:1822756719555632 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 +1822756719556142:1822756719556952 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce18570) = 0 +1822756719557562:1822756719561052 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce18530) = 0 +1822756719561572:1822756719562892 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 +1822756722098047:1822756722102587 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756722104797:1822756722106067 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756722107287:1822756722108308 116426:116430 hsa_signal_load_relaxed() = 1 +1822756719563412:1822756722111048 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756722109428:1822756722111438 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756722112988:1822756722113708 116426:116430 hsa_signal_destroy() = 0 +1822756722739211:1822756722739901 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756729270593:1822756729271943 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756729286043:1822756729286583 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756729287413:1822756729287943 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756729290593:1822756729291483 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756729292223:1822756729293093 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756729293743:1822756729294973 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756729894577:1822756729895217 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756729897017:1822756729897547 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 +1822756729898707:1822756729901247 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce185d0) = 0 +1822756729911387:1822756729917047 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce18590) = 0 +1822756729917627:1822756729920777 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 +1822756731577798:1822756731582338 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756731584488:1822756731585598 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756731586558:1822756731587438 116426:116430 hsa_signal_load_relaxed() = 1 +1822756729921287:1822756731589618 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756731588248:1822756731590178 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756731590988:1822756731591638 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756731591768:1822756731592598 116426:116430 hsa_signal_destroy() = 0 +1822756731595038:1822756731595638 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756731612308:1822756731612918 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756731616878:1822756731617488 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 +1822756731623898:1822756731624918 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 100 +1822756731625968:1822756731626618 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 100 +1822756731627758:1822756731628828 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 +1822756731629718:1822756731630068 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756731631108:1822756731631938 116426:116426 hsa_signal_store_relaxed(, 100) = void +1822756731634268:1822756731634868 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756731638988:1822756731639588 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756731641668:1822756731642278 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 +1822756731643248:1822756731643988 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 +1822756731644438:1822756731644758 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 101 +1822756731645198:1822756731645518 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 100 +1822756731646368:1822756731646678 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756731647118:1822756731647608 116426:116426 hsa_signal_store_relaxed(, 101) = void +1822756731649408:1822756732916646 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822756732921316:1822756732921966 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822756732924886:1822756732926146 116426:116426 hsa_signal_destroy() = 0 +1822756732930426:1822756732930916 116426:116426 hsa_signal_destroy() = 0 +1822756732932346:1822756732932966 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756732933476:1822756732934076 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756732934896:1822756732935426 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756732935887:1822756732936497 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756732936957:1822756732937267 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756732938387:1822756732938997 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 +1822756732939497:1822756732940317 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce18630) = 0 +1822756732940907:1822756732944577 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce185f0) = 0 +1822756732945117:1822756732946567 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 +1822756735516193:1822756735520773 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756735522993:1822756735524123 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756735525153:1822756735526173 116426:116430 hsa_signal_load_relaxed() = 1 +1822756732947087:1822756735528553 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756735526983:1822756735528993 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756735530383:1822756735531103 116426:116430 hsa_signal_destroy() = 0 +1822756736177447:1822756736178177 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756742644178:1822756742645858 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756742661128:1822756742661658 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756742662368:1822756742662908 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756742665538:1822756742666408 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756742667018:1822756742667878 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756742668638:1822756742669508 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756743267702:1822756743268052 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756743269812:1822756743270342 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 +1822756743271522:1822756743274072 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce18690) = 0 +1822756743275212:1822756743281102 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce18650) = 0 +1822756743281842:1822756743285682 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 +1822756744905603:1822756744910173 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756744915613:1822756744916733 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756744917703:1822756744918573 116426:116430 hsa_signal_load_relaxed() = 1 +1822756743286352:1822756744920853 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756744919383:1822756744921293 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756744922293:1822756744922873 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756744922993:1822756744923823 116426:116430 hsa_signal_destroy() = 0 +1822756744924833:1822756744925443 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756744950453:1822756744951063 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756744955303:1822756744955913 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 +1822756744961883:1822756744962893 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 102 +1822756744963693:1822756744964353 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 102 +1822756744965253:1822756744966323 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 +1822756744967243:1822756744967663 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756744968663:1822756744969483 116426:116426 hsa_signal_store_relaxed(, 102) = void +1822756744971733:1822756744972343 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756744976463:1822756744977073 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756744979063:1822756744979673 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 +1822756744980663:1822756744981463 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 +1822756744981903:1822756744982223 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 103 +1822756744982663:1822756744982983 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 102 +1822756744983623:1822756744983943 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756744984393:1822756744984873 116426:116426 hsa_signal_store_relaxed(, 103) = void +1822756744986403:1822756746250701 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822756746255131:1822756746255741 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822756746258431:1822756746259491 116426:116426 hsa_signal_destroy() = 0 +1822756746261402:1822756746262092 116426:116426 hsa_signal_destroy() = 0 +1822756746263202:1822756746263742 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756746264192:1822756746264722 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756746267802:1822756746268292 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756746268702:1822756746269262 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756746269672:1822756746269942 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756746270872:1822756746271402 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 +1822756746271842:1822756746272542 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce186f0) = 0 +1822756746273072:1822756746276422 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce186b0) = 0 +1822756746276892:1822756746278152 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 +1822756748825658:1822756748830218 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756748832348:1822756748833658 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756748834678:1822756748835708 116426:116430 hsa_signal_load_relaxed() = 1 +1822756746278602:1822756748838148 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756748836508:1822756748838528 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756748839898:1822756748840608 116426:116430 hsa_signal_destroy() = 0 +1822756749463172:1822756749463862 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756755863102:1822756755864492 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756755878952:1822756755879492 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756755880242:1822756755880782 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756755883523:1822756755884543 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756755884933:1822756755885793 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756755886333:1822756755887063 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756756477826:1822756756478466 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756756480246:1822756756480776 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 +1822756756481806:1822756756484226 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce18750) = 0 +1822756756485226:1822756756490976 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce18710) = 0 +1822756756491716:1822756756494766 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 +1822756758117817:1822756758122387 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756758124497:1822756758125717 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756758126677:1822756758127567 116426:116430 hsa_signal_load_relaxed() = 1 +1822756756495346:1822756758129877 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756758128517:1822756758130477 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756758135317:1822756758136077 116426:116430 hsa_signal_destroy() = 0 +1822756758141187:1822756758141757 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756758144167:1822756758144777 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756758160707:1822756758161517 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756758165927:1822756758166527 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 +1822756758172957:1822756758173977 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 104 +1822756758174767:1822756758175677 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 104 +1822756758176527:1822756758177967 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 +1822756758178747:1822756758179097 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756758180097:1822756758180907 116426:116426 hsa_signal_store_relaxed(, 104) = void +1822756758183027:1822756758183637 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756758187927:1822756758188527 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756758190587:1822756758191197 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 +1822756758192317:1822756758193077 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 +1822756758193697:1822756758194017 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 105 +1822756758194457:1822756758194777 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 104 +1822756758195587:1822756758195907 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756758196357:1822756758196847 116426:116426 hsa_signal_store_relaxed(, 105) = void +1822756758198667:1822756759466046 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822756759470986:1822756759471626 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822756759474286:1822756759475766 116426:116426 hsa_signal_destroy() = 0 +1822756759477296:1822756759477776 116426:116426 hsa_signal_destroy() = 0 +1822756759478946:1822756759479556 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756759480066:1822756759480676 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756759481656:1822756759482186 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756759482646:1822756759483106 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756759483696:1822756759484006 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756759487506:1822756759488116 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 +1822756759488616:1822756759489446 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce187b0) = 0 +1822756759490026:1822756759493686 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce18770) = 0 +1822756759494226:1822756759495686 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 +1822756762067402:1822756762071942 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756762074162:1822756762075322 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756762076342:1822756762077372 116426:116430 hsa_signal_load_relaxed() = 1 +1822756759496206:1822756762079802 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756762078172:1822756762080182 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756762081542:1822756762082262 116426:116430 hsa_signal_destroy() = 0 +1822756762708716:1822756762709396 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756769236898:1822756769237718 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756769252068:1822756769252608 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756769253218:1822756769253748 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756769256348:1822756769257568 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756769258308:1822756769259218 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756769259968:1822756769261118 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756769841941:1822756769842341 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756769843821:1822756769844351 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 +1822756769845711:1822756769848231 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce18810) = 0 +1822756769849261:1822756769854821 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce187d0) = 0 +1822756769855551:1822756769859132 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 +1822756771493572:1822756771498132 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756771500502:1822756771501602 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756771502762:1822756771503632 116426:116430 hsa_signal_load_relaxed() = 1 +1822756769859702:1822756771505982 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756771504632:1822756771506762 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756771507332:1822756771507852 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756771508312:1822756771509142 116426:116430 hsa_signal_destroy() = 0 +1822756771510562:1822756771511172 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756771535822:1822756771536432 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756771540052:1822756771540662 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 +1822756771546772:1822756771548122 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 106 +1822756771548902:1822756771549912 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 106 +1822756771550732:1822756771551802 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 +1822756771552462:1822756771552812 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756771553922:1822756771554752 116426:116426 hsa_signal_store_relaxed(, 106) = void +1822756771557242:1822756771557852 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756771562132:1822756771562732 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756771565612:1822756771566222 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 +1822756771567162:1822756771567912 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 +1822756771568362:1822756771568682 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 107 +1822756771569122:1822756771569442 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 106 +1822756771570092:1822756771570412 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756771570853:1822756771571343 116426:116426 hsa_signal_store_relaxed(, 107) = void +1822756771572773:1822756772831161 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822756772835751:1822756772836271 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822756772838921:1822756772840261 116426:116426 hsa_signal_destroy() = 0 +1822756772842041:1822756772842491 116426:116426 hsa_signal_destroy() = 0 +1822756772843591:1822756772844141 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756772844601:1822756772845131 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756772846071:1822756772846561 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756772846971:1822756772847391 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756772847791:1822756772848071 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756772849131:1822756772849661 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 +1822756772850111:1822756772850861 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce18870) = 0 +1822756772851401:1822756772854721 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce18830) = 0 +1822756772857441:1822756772858631 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 +1822756775474928:1822756775479488 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756775481658:1822756775482978 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756775483998:1822756775485028 116426:116430 hsa_signal_load_relaxed() = 1 +1822756772859111:1822756775487408 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756775485838:1822756775487848 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756775489148:1822756775489868 116426:116430 hsa_signal_destroy() = 0 +1822756776136072:1822756776136792 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756782620173:1822756782621553 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756782636473:1822756782637013 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756782637773:1822756782638303 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756782641053:1822756782641913 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756782642313:1822756782643283 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756782643913:1822756782644783 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756783244147:1822756783244827 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756783246657:1822756783247187 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 +1822756783248127:1822756783250527 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce188d0) = 0 +1822756783251647:1822756783257547 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce18890) = 0 +1822756783258287:1822756783261747 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 +1822756784887477:1822756784892077 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756784894247:1822756784895497 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756784896467:1822756784897327 116426:116430 hsa_signal_load_relaxed() = 1 +1822756783262317:1822756784899737 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756784898227:1822756784900167 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756784901527:1822756784902497 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756784901797:1822756784902927 116426:116430 hsa_signal_destroy() = 0 +1822756784905217:1822756784905817 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756784922667:1822756784923277 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756784935668:1822756784936268 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 +1822756784941928:1822756784942928 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 108 +1822756784943728:1822756784944388 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 108 +1822756784945208:1822756784946298 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 +1822756784946948:1822756784947368 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756784948408:1822756784949418 116426:116426 hsa_signal_store_relaxed(, 108) = void +1822756784951768:1822756784952378 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756784956568:1822756784957168 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756784959598:1822756784960208 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 +1822756784961438:1822756784962178 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 +1822756784962618:1822756784962938 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 109 +1822756784963378:1822756784963688 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 108 +1822756784964338:1822756784964648 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756784965098:1822756784965588 116426:116426 hsa_signal_store_relaxed(, 109) = void +1822756784967078:1822756786214266 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822756786218996:1822756786219606 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822756786222196:1822756786223206 116426:116426 hsa_signal_destroy() = 0 +1822756786225036:1822756786225726 116426:116426 hsa_signal_destroy() = 0 +1822756786226816:1822756786227356 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756786227806:1822756786228336 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756786229276:1822756786229966 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756786230386:1822756786230946 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756786231356:1822756786231626 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756786232696:1822756786233226 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 +1822756786233676:1822756786234316 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce18930) = 0 +1822756786234856:1822756786238196 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce188f0) = 0 +1822756786238656:1822756786239806 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 +1822756788782702:1822756788787262 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756788789542:1822756788790652 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756788795412:1822756788796462 116426:116430 hsa_signal_load_relaxed() = 1 +1822756786240266:1822756788798922 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756788797292:1822756788799292 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756788800882:1822756788801602 116426:116430 hsa_signal_destroy() = 0 +1822756789424296:1822756789424976 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756795867047:1822756795868457 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756795882487:1822756795883017 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756795883567:1822756795884097 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756795886377:1822756795887287 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756795887677:1822756795888317 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756795888857:1822756795889687 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756796478721:1822756796479261 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756796480811:1822756796481341 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 +1822756796482361:1822756796485091 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce18990) = 0 +1822756796486081:1822756796492051 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce18950) = 0 +1822756796492611:1822756796495891 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 +1822756798119601:1822756798124151 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756798126642:1822756798127752 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756798128832:1822756798129702 116426:116430 hsa_signal_load_relaxed() = 1 +1822756796496421:1822756798131992 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756798130632:1822756798132772 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756798133352:1822756798133902 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756798134352:1822756798135172 116426:116430 hsa_signal_destroy() = 0 +1822756798137642:1822756798138252 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756798154722:1822756798155542 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756798159342:1822756798159952 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 +1822756798165972:1822756798166912 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 110 +1822756798167842:1822756798168502 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 110 +1822756798180072:1822756798181442 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 +1822756798182192:1822756798182632 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756798183692:1822756798184542 116426:116426 hsa_signal_store_relaxed(, 110) = void +1822756798186862:1822756798187472 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756798191772:1822756798192382 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756798194972:1822756798195582 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 +1822756798196942:1822756798197692 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 +1822756798198132:1822756798198452 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 111 +1822756798198892:1822756798199212 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 110 +1822756798200032:1822756798200352 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756798200792:1822756798201292 116426:116426 hsa_signal_store_relaxed(, 111) = void +1822756798202772:1822756799461730 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822756799466490:1822756799467130 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822756799469790:1822756799471210 116426:116426 hsa_signal_destroy() = 0 +1822756799472890:1822756799473360 116426:116426 hsa_signal_destroy() = 0 +1822756799474550:1822756799475180 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756799475700:1822756799476300 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756799477330:1822756799477850 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756799478310:1822756799478880 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756799479330:1822756799479640 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756799480770:1822756799481370 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 +1822756799481890:1822756799482700 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce189f0) = 0 +1822756799483290:1822756799486830 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce189b0) = 0 +1822756799487370:1822756799488640 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 +1822756802022307:1822756802026897 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756802029347:1822756802030447 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756802031607:1822756802032647 116426:116430 hsa_signal_load_relaxed() = 1 +1822756799489150:1822756802035227 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756802033607:1822756802035617 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756802040387:1822756802041127 116426:116430 hsa_signal_destroy() = 0 +1822756802662191:1822756802662871 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756809170472:1822756809171442 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756809185532:1822756809186072 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756809186662:1822756809187202 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756809189682:1822756809190582 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756809190972:1822756809191882 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756809192442:1822756809193482 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756809776856:1822756809777216 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756809778756:1822756809779286 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 +1822756809780056:1822756809782496 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce18a50) = 0 +1822756809783546:1822756809788966 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce18a10) = 0 +1822756809789776:1822756809793916 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 +1822756811475616:1822756811480186 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756811482377:1822756811483567 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756811484537:1822756811485407 116426:116430 hsa_signal_load_relaxed() = 1 +1822756809794536:1822756811487847 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756811486487:1822756811488407 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756811489617:1822756811490447 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756811489977:1822756811490987 116426:116430 hsa_signal_destroy() = 0 +1822756811493407:1822756811494017 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756811511097:1822756811511907 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756811516047:1822756811516647 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 +1822756811522557:1822756811523577 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 112 +1822756811524597:1822756811525257 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 112 +1822756811526507:1822756811527707 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 +1822756811528547:1822756811528967 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756811530217:1822756811531047 116426:116426 hsa_signal_store_relaxed(, 112) = void +1822756811542757:1822756811543367 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756811547427:1822756811548027 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756811550417:1822756811551017 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 +1822756811551997:1822756811552897 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 +1822756811553347:1822756811553677 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 113 +1822756811554117:1822756811554437 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 112 +1822756811555067:1822756811555377 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756811555827:1822756811556317 116426:116426 hsa_signal_store_relaxed(, 113) = void +1822756811558017:1822756812811075 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822756812815655:1822756812816385 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822756812819025:1822756812819975 116426:116426 hsa_signal_destroy() = 0 +1822756812821785:1822756812822225 116426:116426 hsa_signal_destroy() = 0 +1822756812823295:1822756812823845 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756812824305:1822756812824845 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756812825765:1822756812826335 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756812826745:1822756812827315 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756812827725:1822756812827995 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756812828905:1822756812829435 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 +1822756812829895:1822756812830645 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce18ab0) = 0 +1822756812831195:1822756812834735 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce18a70) = 0 +1822756812835205:1822756812836575 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 +1822756815472282:1822756815476822 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756815479232:1822756815480382 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756815481402:1822756815482432 116426:116430 hsa_signal_load_relaxed() = 1 +1822756812837035:1822756815485102 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756815483522:1822756815485532 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756815486732:1822756815487452 116426:116430 hsa_signal_destroy() = 0 +1822756816121586:1822756816122246 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756822784839:1822756822786139 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756822815429:1822756822815959 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756822816719:1822756822817259 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756822819689:1822756822820549 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756822820939:1822756822821829 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756822822749:1822756822823959 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756823421573:1822756823422223 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756823423663:1822756823424193 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 +1822756823425323:1822756823427803 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce18b10) = 0 +1822756823428843:1822756823434523 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce18ad0) = 0 +1822756823435263:1822756823437933 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 +1822756825048533:1822756825053103 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756825055363:1822756825056463 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756825057533:1822756825058413 116426:116430 hsa_signal_load_relaxed() = 1 +1822756823438543:1822756825060753 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756825059363:1822756825061313 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756825062073:1822756825062583 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756825063143:1822756825063863 116426:116430 hsa_signal_destroy() = 0 +1822756825065233:1822756825065843 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756825082103:1822756825082703 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756825086933:1822756825087543 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 +1822756825094513:1822756825095523 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 114 +1822756825096443:1822756825097103 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 114 +1822756825097983:1822756825099093 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 +1822756825099993:1822756825100333 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756825101683:1822756825102523 116426:116426 hsa_signal_store_relaxed(, 114) = void +1822756825104923:1822756825105523 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756825109903:1822756825110503 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756825113433:1822756825114043 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 +1822756825117643:1822756825118463 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 +1822756825118913:1822756825119243 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 115 +1822756825119693:1822756825120013 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 114 +1822756825120843:1822756825121153 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756825121593:1822756825122083 116426:116426 hsa_signal_store_relaxed(, 115) = void +1822756825123863:1822756826377141 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822756826382161:1822756826382781 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822756826385911:1822756826387101 116426:116426 hsa_signal_destroy() = 0 +1822756826388911:1822756826389651 116426:116426 hsa_signal_destroy() = 0 +1822756826390961:1822756826391582 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756826392092:1822756826392702 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756826393772:1822756826394302 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756826394762:1822756826395212 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756826395682:1822756826395982 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756826396942:1822756826397542 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 +1822756826398052:1822756826398822 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce18b70) = 0 +1822756826399342:1822756826402862 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce18b30) = 0 +1822756826403392:1822756826404742 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 +1822756828947498:1822756828952098 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756828954308:1822756828955408 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756828956568:1822756828957598 116426:116430 hsa_signal_load_relaxed() = 1 +1822756826405262:1822756828960268 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756828958628:1822756828960638 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756828962338:1822756828963058 116426:116430 hsa_signal_destroy() = 0 +1822756829592172:1822756829592892 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756836040273:1822756836041863 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756836055853:1822756836056383 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756836056933:1822756836057463 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756836060083:1822756836060823 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756836072223:1822756836072903 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756836073443:1822756836074653 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756836687517:1822756836687957 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756836689547:1822756836690147 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 +1822756836691457:1822756836694437 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce18bd0) = 0 +1822756836695067:1822756836700937 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce18b90) = 0 +1822756836701837:1822756836705087 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 +1822756838470328:1822756838474888 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756838477338:1822756838478448 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756838479408:1822756838480278 116426:116430 hsa_signal_load_relaxed() = 1 +1822756836705687:1822756838482648 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756838481298:1822756838483248 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756838483948:1822756838484578 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756838484668:1822756838485498 116426:116430 hsa_signal_destroy() = 0 +1822756838487138:1822756838487748 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756838505109:1822756838505819 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756838510339:1822756838510939 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 +1822756838517059:1822756838517979 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 116 +1822756838518909:1822756838519559 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 116 +1822756838520569:1822756838521939 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 +1822756838522799:1822756838523149 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756838524219:1822756838525039 116426:116426 hsa_signal_store_relaxed(, 116) = void +1822756838527769:1822756838528379 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756838535089:1822756838535699 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756838538319:1822756838538919 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 +1822756838539959:1822756838540719 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 +1822756838541169:1822756838541489 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 117 +1822756838541929:1822756838542239 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 116 +1822756838544099:1822756838544409 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756838544859:1822756838545349 116426:116426 hsa_signal_store_relaxed(, 117) = void +1822756838546949:1822756839804987 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822756839809757:1822756839810397 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822756839813127:1822756839814287 116426:116426 hsa_signal_destroy() = 0 +1822756839816097:1822756839816537 116426:116426 hsa_signal_destroy() = 0 +1822756839817607:1822756839818157 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756839818617:1822756839819147 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756839820117:1822756839820877 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756839821287:1822756839821707 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756839822117:1822756839822387 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756839823277:1822756839823817 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 +1822756839824267:1822756839825007 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce18c30) = 0 +1822756839825457:1822756839828807 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce18bf0) = 0 +1822756839829277:1822756839830737 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 +1822756842472894:1822756842477424 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756842479844:1822756842481094 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756842482124:1822756842483144 116426:116430 hsa_signal_load_relaxed() = 1 +1822756839831207:1822756842485724 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756842484094:1822756842486114 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756842487294:1822756842488024 116426:116430 hsa_signal_destroy() = 0 +1822756843115178:1822756843115858 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756849594219:1822756849595979 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756849612090:1822756849612620 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756849613590:1822756849614120 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756849616530:1822756849617240 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756849617840:1822756849618700 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756849619360:1822756849620240 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756850227213:1822756850227563 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756850229383:1822756850229913 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 +1822756850230943:1822756850233503 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce18c90) = 0 +1822756850234123:1822756850239953 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce18c50) = 0 +1822756850240743:1822756850244233 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 +1822756851885324:1822756851889904 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756851892164:1822756851893274 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756851894354:1822756851895224 116426:116430 hsa_signal_load_relaxed() = 1 +1822756850244804:1822756851897584 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756851896224:1822756851898154 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756851899184:1822756851899744 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756851900104:1822756851900934 116426:116430 hsa_signal_destroy() = 0 +1822756851902504:1822756851903104 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756851920104:1822756851920914 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756851924704:1822756851925314 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 +1822756851931844:1822756851932854 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 118 +1822756851933864:1822756851934514 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 118 +1822756851935424:1822756851936564 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 +1822756851937404:1822756851937824 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756851938974:1822756851939814 116426:116426 hsa_signal_store_relaxed(, 118) = void +1822756851942304:1822756851942904 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756851947214:1822756851947824 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756851950204:1822756851950814 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 +1822756851952034:1822756851952934 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 +1822756851953374:1822756851953694 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 119 +1822756851954134:1822756851954454 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 118 +1822756851955104:1822756851955424 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756851955864:1822756851956344 116426:116426 hsa_signal_store_relaxed(, 119) = void +1822756851957874:1822756853212992 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822756853219882:1822756853220492 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822756853223342:1822756853224732 116426:116426 hsa_signal_destroy() = 0 +1822756853226752:1822756853227182 116426:116426 hsa_signal_destroy() = 0 +1822756853228362:1822756853228902 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756853229352:1822756853229882 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756853230822:1822756853231782 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756853232182:1822756853232602 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756853233002:1822756853233272 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756853234342:1822756853234872 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 +1822756853235362:1822756853236102 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce18cf0) = 0 +1822756853236642:1822756853240142 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce18cb0) = 0 +1822756853240622:1822756853241972 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 +1822756855777029:1822756855781569 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756855783689:1822756855785009 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756855786029:1822756855787059 116426:116430 hsa_signal_load_relaxed() = 1 +1822756853242442:1822756855789439 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756855787859:1822756855789899 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756855791649:1822756855792369 116426:116430 hsa_signal_destroy() = 0 +1822756856430853:1822756856431533 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756862867374:1822756862868504 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756862883544:1822756862884084 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756862884834:1822756862885364 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756862888104:1822756862889004 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756862889744:1822756862890604 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756862891254:1822756862892164 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756863489238:1822756863489588 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756863491478:1822756863492008 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 +1822756863493108:1822756863495748 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce18d50) = 0 +1822756863503968:1822756863509858 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce18d10) = 0 +1822756863510738:1822756863513418 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 +1822756865127998:1822756865132568 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756865134738:1822756865135848 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756865136808:1822756865137668 116426:116430 hsa_signal_load_relaxed() = 1 +1822756863514058:1822756865139848 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756865138478:1822756865140408 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756865141348:1822756865142198 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756865141988:1822756865143118 116426:116430 hsa_signal_destroy() = 0 +1822756865144358:1822756865144968 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756865161328:1822756865161938 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756865165608:1822756865166208 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 +1822756865172118:1822756865173128 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 120 +1822756865174048:1822756865174698 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 120 +1822756865175678:1822756865176928 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 +1822756865177828:1822756865178168 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756865179428:1822756865180288 116426:116426 hsa_signal_store_relaxed(, 120) = void +1822756865182738:1822756865183348 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756865187598:1822756865188208 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756865190438:1822756865191048 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 +1822756865191978:1822756865192838 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 +1822756865193288:1822756865193598 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 121 +1822756865194048:1822756865194368 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 120 +1822756865195018:1822756865195338 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756865195778:1822756865196268 116426:116426 hsa_signal_store_relaxed(, 121) = void +1822756865197638:1822756866456857 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822756866461237:1822756866461857 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822756866464897:1822756866466027 116426:116426 hsa_signal_destroy() = 0 +1822756866467807:1822756866468507 116426:116426 hsa_signal_destroy() = 0 +1822756866472577:1822756866473207 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756866473727:1822756866474327 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756866475207:1822756866475727 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756866476187:1822756866476647 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756866477107:1822756866477417 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756866478527:1822756866479127 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 +1822756866479647:1822756866480407 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce18db0) = 0 +1822756866481057:1822756866484577 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce18d70) = 0 +1822756866485117:1822756866486437 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 +1822756869071313:1822756869075933 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756869078133:1822756869079243 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756869080263:1822756869081293 116426:116430 hsa_signal_load_relaxed() = 1 +1822756866486967:1822756869083743 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756869082093:1822756869084163 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756869085443:1822756869086163 116426:116430 hsa_signal_destroy() = 0 +1822756869714957:1822756869715637 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756876231509:1822756876232829 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756876247859:1822756876248399 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756876249329:1822756876249869 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756876252449:1822756876253269 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756876253869:1822756876254519 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756876255199:1822756876256119 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756876831153:1822756876831493 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756876833123:1822756876833663 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 +1822756876834753:1822756876837553 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce18e10) = 0 +1822756876838483:1822756876844133 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce18dd0) = 0 +1822756876844943:1822756876848163 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 +1822756878479553:1822756878484113 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756878489943:1822756878491063 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756878492013:1822756878492883 116426:116430 hsa_signal_load_relaxed() = 1 +1822756876848833:1822756878495053 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756878493693:1822756878495623 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756878496793:1822756878497553 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756878497163:1822756878498293 116426:116430 hsa_signal_destroy() = 0 +1822756878500323:1822756878500923 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756878517153:1822756878517763 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756878521674:1822756878522274 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 +1822756878528924:1822756878529954 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 122 +1822756878530974:1822756878531624 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 122 +1822756878532454:1822756878533764 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 +1822756878534454:1822756878534884 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756878536234:1822756878537074 116426:116426 hsa_signal_store_relaxed(, 122) = void +1822756878539394:1822756878540004 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756878544084:1822756878544694 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756878546604:1822756878547204 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 +1822756878548254:1822756878549014 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 +1822756878549454:1822756878549774 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 123 +1822756878550214:1822756878550534 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 122 +1822756878551174:1822756878551494 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756878551934:1822756878552424 116426:116426 hsa_signal_store_relaxed(, 123) = void +1822756878553974:1822756879827112 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822756879831752:1822756879832372 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822756879835292:1822756879836362 116426:116426 hsa_signal_destroy() = 0 +1822756879837992:1822756879838432 116426:116426 hsa_signal_destroy() = 0 +1822756879839512:1822756879840062 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756879840512:1822756879841052 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756879841742:1822756879842222 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756879852442:1822756879852862 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756879853272:1822756879853542 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756879854462:1822756879854992 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 +1822756879855482:1822756879856232 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce18e70) = 0 +1822756879856772:1822756879860162 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce18e30) = 0 +1822756879860652:1822756879861932 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 +1822756882476469:1822756882481019 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756882483139:1822756882484249 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756882485269:1822756882486309 116426:116430 hsa_signal_load_relaxed() = 1 +1822756879862402:1822756882488729 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756882487109:1822756882489119 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756882490489:1822756882491209 116426:116430 hsa_signal_destroy() = 0 +1822756883113413:1822756883114093 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756889594244:1822756889595834 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756889613674:1822756889614214 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756889615114:1822756889615644 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756889618114:1822756889619014 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756889619404:1822756889620264 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756889620924:1822756889621804 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756890202678:1822756890203198 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756890204638:1822756890205168 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 +1822756890206458:1822756890209098 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce18ed0) = 0 +1822756890210008:1822756890216018 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce18e90) = 0 +1822756890216778:1822756890220038 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 +1822756891843078:1822756891847628 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756891849728:1822756891850838 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756891851798:1822756891852658 116426:116430 hsa_signal_load_relaxed() = 1 +1822756890220538:1822756891854968 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756891853608:1822756891855548 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756891860588:1822756891861318 116426:116430 hsa_signal_destroy() = 0 +1822756891866298:1822756891866878 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756891869238:1822756891869838 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756891885688:1822756891886298 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756891890028:1822756891890628 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 +1822756891896198:1822756891897218 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 124 +1822756891898178:1822756891898828 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 124 +1822756891899668:1822756891901048 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 +1822756891901768:1822756891902198 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756891903228:1822756891904138 116426:116426 hsa_signal_store_relaxed(, 124) = void +1822756891906488:1822756891907088 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756891911178:1822756891911778 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756891914318:1822756891914928 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 +1822756891916328:1822756891917068 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 +1822756891917518:1822756891917848 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 125 +1822756891918288:1822756891918608 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 124 +1822756891919239:1822756891919559 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756891919999:1822756891920489 116426:116426 hsa_signal_store_relaxed(, 125) = void +1822756891922419:1822756893184347 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822756893188877:1822756893189487 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822756893192077:1822756893193137 116426:116426 hsa_signal_destroy() = 0 +1822756893194887:1822756893195327 116426:116426 hsa_signal_destroy() = 0 +1822756893196357:1822756893196897 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756893197347:1822756893197877 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756893198827:1822756893199307 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756893199717:1822756893200127 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756893200587:1822756893200867 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756893201777:1822756893202307 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 +1822756893205047:1822756893206007 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce18f30) = 0 +1822756893206557:1822756893209887 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce18ef0) = 0 +1822756893210367:1822756893211507 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 +1822756895784493:1822756895789043 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756895791223:1822756895792423 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756895793443:1822756895794463 116426:116430 hsa_signal_load_relaxed() = 1 +1822756893211967:1822756895796843 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756895795273:1822756895797283 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756895798693:1822756895799413 116426:116430 hsa_signal_destroy() = 0 +1822756896437528:1822756896438238 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756903014920:1822756903015720 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756903031480:1822756903032010 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756903032840:1822756903033370 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756903035630:1822756903036500 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756903037250:1822756903038120 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756903038720:1822756903039620 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756903641814:1822756903642304 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756903643734:1822756903644264 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 +1822756903644924:1822756903647604 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce18f90) = 0 +1822756903648784:1822756903654754 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce18f50) = 0 +1822756903655574:1822756903658614 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 +1822756905286244:1822756905290744 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756905293184:1822756905294294 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756905295444:1822756905296304 116426:116430 hsa_signal_load_relaxed() = 1 +1822756903659224:1822756905298794 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756905297304:1822756905299244 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756905300154:1822756905301104 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756905300894:1822756905302024 116426:116430 hsa_signal_destroy() = 0 +1822756905303384:1822756905303994 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756905324704:1822756905325514 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756905329284:1822756905329884 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 +1822756905335984:1822756905336994 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 126 +1822756905337814:1822756905338464 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 126 +1822756905339334:1822756905340434 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 +1822756905341134:1822756905341554 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756905343114:1822756905344054 116426:116426 hsa_signal_store_relaxed(, 126) = void +1822756905346284:1822756905346894 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756905350995:1822756905351605 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756905353465:1822756905354075 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 +1822756905355015:1822756905355905 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 +1822756905356345:1822756905356675 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 127 +1822756905357115:1822756905357435 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 126 +1822756905358255:1822756905358565 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756905359015:1822756905359495 116426:116426 hsa_signal_store_relaxed(, 127) = void +1822756905360985:1822756906633362 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822756906638123:1822756906638693 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822756906641613:1822756906642633 116426:116426 hsa_signal_destroy() = 0 +1822756906644313:1822756906644973 116426:116426 hsa_signal_destroy() = 0 +1822756906646133:1822756906646683 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756906647133:1822756906647673 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756906648613:1822756906649093 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756906649523:1822756906650093 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756906650503:1822756906650773 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756906651683:1822756906652213 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 +1822756906652673:1822756906653353 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce18ff0) = 0 +1822756906653933:1822756906657283 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce18fb0) = 0 +1822756906663713:1822756906664993 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 +1822756909198199:1822756909202699 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756909205019:1822756909206139 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756909207179:1822756909208199 116426:116430 hsa_signal_load_relaxed() = 1 +1822756906665473:1822756909210689 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756909209039:1822756909211049 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756909212479:1822756909213199 116426:116430 hsa_signal_destroy() = 0 +1822756909842563:1822756909843243 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756916321314:1822756916322824 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756916337885:1822756916338425 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756916339185:1822756916339725 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756916342965:1822756916343855 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756916344245:1822756916345115 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756916345685:1822756916346565 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756916937828:1822756916938318 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756916947408:1822756916947948 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 +1822756916948838:1822756916951388 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce19050) = 0 +1822756916952738:1822756916958328 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce19010) = 0 +1822756916959128:1822756916962678 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 +1822756918630669:1822756918635239 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756918637409:1822756918638519 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756918639479:1822756918640339 116426:116430 hsa_signal_load_relaxed() = 1 +1822756916963198:1822756918642789 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756918641429:1822756918643369 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756918644389:1822756918645219 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756918645009:1822756918646139 116426:116430 hsa_signal_destroy() = 0 +1822756918647969:1822756918648569 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756918666929:1822756918667539 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756918671529:1822756918672129 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 +1822756918682909:1822756918684059 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 128 +1822756918684859:1822756918685509 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 128 +1822756918686389:1822756918687839 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 +1822756918688539:1822756918688889 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756918690149:1822756918690969 116426:116426 hsa_signal_store_relaxed(, 128) = void +1822756918693249:1822756918693859 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756918698089:1822756918698689 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756918700989:1822756918701599 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 +1822756918702559:1822756918703329 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 +1822756918703779:1822756918704109 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 129 +1822756918704549:1822756918704879 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 128 +1822756918705509:1822756918705829 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756918706269:1822756918706759 116426:116426 hsa_signal_store_relaxed(, 129) = void +1822756918708349:1822756919979947 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822756919984757:1822756919985357 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822756919987977:1822756919989017 116426:116426 hsa_signal_destroy() = 0 +1822756919990857:1822756919991297 116426:116426 hsa_signal_destroy() = 0 +1822756919992377:1822756919992927 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756919993367:1822756919993897 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756919994817:1822756919995467 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756919995877:1822756919996397 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756919996807:1822756919997077 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756919998167:1822756919998697 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 +1822756919999137:1822756919999877 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce190b0) = 0 +1822756920010957:1822756920014467 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce19070) = 0 +1822756920014947:1822756920016227 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 +1822756922568544:1822756922573084 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756922575414:1822756922576564 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756922581454:1822756922582494 116426:116430 hsa_signal_load_relaxed() = 1 +1822756920016697:1822756922585004 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756922583314:1822756922585324 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756922586934:1822756922587644 116426:116430 hsa_signal_destroy() = 0 +1822756923214568:1822756923215258 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756929677889:1822756929679049 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756929694830:1822756929695360 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756929695980:1822756929696510 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756929699120:1822756929699980 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756929700370:1822756929701000 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756929701620:1822756929702500 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756930301633:1822756930302203 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756930303813:1822756930304344 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 +1822756930305134:1822756930308124 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce19110) = 0 +1822756930308874:1822756930314794 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce190d0) = 0 +1822756930315584:1822756930319054 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 +1822756931949414:1822756931953954 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756931956434:1822756931957704 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756931958854:1822756931959714 116426:116430 hsa_signal_load_relaxed() = 1 +1822756930319744:1822756931961984 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756931960634:1822756931962554 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756931963334:1822756931963854 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756931964204:1822756931965034 116426:116430 hsa_signal_destroy() = 0 +1822756931966644:1822756931967254 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756931984594:1822756931985204 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756931989414:1822756931990014 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 +1822756931996354:1822756931997674 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 130 +1822756931998614:1822756931999524 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 130 +1822756932013374:1822756932014594 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 +1822756932025765:1822756932026215 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756932027505:1822756932028325 116426:116426 hsa_signal_store_relaxed(, 130) = void +1822756932031115:1822756932031725 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756932035965:1822756932036575 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756932039145:1822756932039755 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 +1822756932040655:1822756932041405 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 +1822756932041865:1822756932042195 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 131 +1822756932042645:1822756932042965 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 130 +1822756932043625:1822756932043935 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756932044385:1822756932044875 116426:116426 hsa_signal_store_relaxed(, 131) = void +1822756932046925:1822756933303193 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822756933307743:1822756933308413 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822756933311313:1822756933312693 116426:116426 hsa_signal_destroy() = 0 +1822756933315053:1822756933315543 116426:116426 hsa_signal_destroy() = 0 +1822756933316763:1822756933317383 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756933317893:1822756933318493 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756933319543:1822756933320063 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756933320523:1822756933320983 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756933321443:1822756933321753 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756933322873:1822756933323483 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 +1822756933323993:1822756933325123 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce19170) = 0 +1822756933325713:1822756933329213 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce19130) = 0 +1822756933329743:1822756933331293 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 +1822756935848418:1822756935852948 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756935855418:1822756935856658 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756935857808:1822756935858828 116426:116430 hsa_signal_load_relaxed() = 1 +1822756933331813:1822756935861368 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756935859798:1822756935861808 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756935866818:1822756935867558 116426:116430 hsa_signal_destroy() = 0 +1822756936511973:1822756936512653 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756942927064:1822756942928454 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756942943134:1822756942943664 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756942944294:1822756942944824 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756942946984:1822756942947774 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756942948164:1822756942948704 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756942949254:1822756942950134 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756943533598:1822756943534118 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756943535688:1822756943536218 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 +1822756943537128:1822756943539488 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce191d0) = 0 +1822756943540378:1822756943546038 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce19190) = 0 +1822756943546718:1822756943549718 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 +1822756945044167:1822756945048767 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756945050837:1822756945051937 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756945052907:1822756945053777 116426:116430 hsa_signal_load_relaxed() = 1 +1822756943550248:1822756945056227 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756945054857:1822756945056787 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756945057857:1822756945058697 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756945058407:1822756945059537 116426:116430 hsa_signal_destroy() = 0 +1822756945061277:1822756945061887 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756945077947:1822756945078557 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756945082957:1822756945083557 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 +1822756945089827:1822756945090757 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 132 +1822756945091737:1822756945092387 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 132 +1822756945093477:1822756945094568 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 +1822756945095378:1822756945095728 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756945096968:1822756945097728 116426:116426 hsa_signal_store_relaxed(, 132) = void +1822756945099998:1822756945100608 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756945114098:1822756945114708 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756945117238:1822756945117848 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 +1822756945118828:1822756945119808 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 +1822756945120258:1822756945120578 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 133 +1822756945121028:1822756945121348 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 132 +1822756945122128:1822756945122448 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756945122888:1822756945123378 116426:116426 hsa_signal_store_relaxed(, 133) = void +1822756945125058:1822756946379035 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822756946383846:1822756946384476 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822756946387686:1822756946389046 116426:116426 hsa_signal_destroy() = 0 +1822756946391206:1822756946391936 116426:116426 hsa_signal_destroy() = 0 +1822756946393326:1822756946393946 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756946394456:1822756946395056 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756946395906:1822756946396436 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756946396896:1822756946397346 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756946397816:1822756946398116 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756946399246:1822756946399846 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 +1822756946400346:1822756946401196 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce19230) = 0 +1822756946401826:1822756946405356 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce191f0) = 0 +1822756946405896:1822756946407226 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 +1822756948945522:1822756948950082 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756948952442:1822756948953662 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756948954692:1822756948955722 116426:116430 hsa_signal_load_relaxed() = 1 +1822756946407756:1822756948958442 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756948956802:1822756948958812 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756948960012:1822756948960732 116426:116430 hsa_signal_destroy() = 0 +1822756949589906:1822756949590586 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756956023397:1822756956024387 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756956049277:1822756956050037 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756956050617:1822756956051147 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756956053747:1822756956054487 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756956054877:1822756956055737 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756956056287:1822756956057137 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756956650301:1822756956650861 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756956652671:1822756956653281 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 +1822756956654261:1822756956656991 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce19290) = 0 +1822756956657771:1822756956663471 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce19250) = 0 +1822756956664371:1822756956667531 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 +1822756958285542:1822756958290032 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756958292322:1822756958293432 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756958294392:1822756958295262 116426:116430 hsa_signal_load_relaxed() = 1 +1822756956668101:1822756958297572 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756958296212:1822756958298152 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756958298882:1822756958299402 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756958299982:1822756958300702 116426:116430 hsa_signal_destroy() = 0 +1822756958302452:1822756958303062 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756958319272:1822756958319932 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756958324102:1822756958324712 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 +1822756958331022:1822756958331962 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 134 +1822756958332932:1822756958333582 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 134 +1822756958334482:1822756958335692 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 +1822756958336812:1822756958337152 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756958338812:1822756958339652 116426:116426 hsa_signal_store_relaxed(, 134) = void +1822756958342222:1822756958342832 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756958346982:1822756958347592 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756958349672:1822756958350282 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 +1822756958351402:1822756958352132 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 +1822756958355502:1822756958355822 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 135 +1822756958356272:1822756958356582 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 134 +1822756958357242:1822756958357552 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756958358002:1822756958358492 116426:116426 hsa_signal_store_relaxed(, 135) = void +1822756958360262:1822756959617660 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822756959621950:1822756959622740 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822756959625670:1822756959626680 116426:116426 hsa_signal_destroy() = 0 +1822756959628750:1822756959629190 116426:116426 hsa_signal_destroy() = 0 +1822756959630670:1822756959631230 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756959631670:1822756959632200 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756959633140:1822756959633790 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756959634200:1822756959634910 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756959635310:1822756959635590 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756959636500:1822756959637030 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 +1822756959637500:1822756959638250 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce192f0) = 0 +1822756959638750:1822756959642100 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce192b0) = 0 +1822756959642610:1822756959643900 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 +1822756962169976:1822756962174526 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756962176816:1822756962178106 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756962179256:1822756962180286 116426:116430 hsa_signal_load_relaxed() = 1 +1822756959644370:1822756962182876 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756962181236:1822756962183246 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756962184816:1822756962185536 116426:116430 hsa_signal_destroy() = 0 +1822756962807550:1822756962808250 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756969307082:1822756969308242 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756969323922:1822756969324462 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756969325162:1822756969325692 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756969328232:1822756969329122 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756969339072:1822756969339772 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756969340592:1822756969341512 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756969928986:1822756969929606 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756969931166:1822756969931706 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 +1822756969932566:1822756969935206 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce19350) = 0 +1822756969935916:1822756969941696 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce19310) = 0 +1822756969942536:1822756969945576 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 +1822756971604346:1822756971608886 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756971611386:1822756971612506 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756971613466:1822756971614337 116426:116430 hsa_signal_load_relaxed() = 1 +1822756969946216:1822756971616797 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756971615437:1822756971617367 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756971618097:1822756971618777 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756971618907:1822756971619727 116426:116430 hsa_signal_destroy() = 0 +1822756971621247:1822756971621857 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756971640987:1822756971641797 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756971646057:1822756971646667 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 +1822756971652267:1822756971653117 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 136 +1822756971654077:1822756971654727 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 136 +1822756971655707:1822756971656847 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 +1822756971657697:1822756971658127 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756971659347:1822756971660177 116426:116426 hsa_signal_store_relaxed(, 136) = void +1822756971662907:1822756971663517 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756971667997:1822756971668597 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756971671217:1822756971671817 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 +1822756971672967:1822756971673877 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 +1822756971674317:1822756971674637 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 137 +1822756971675077:1822756971675397 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 136 +1822756971677517:1822756971677837 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756971678277:1822756971678767 116426:116426 hsa_signal_store_relaxed(, 137) = void +1822756971680697:1822756972922175 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822756972926675:1822756972927275 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822756972930135:1822756972931295 116426:116426 hsa_signal_destroy() = 0 +1822756972933245:1822756972933685 116426:116426 hsa_signal_destroy() = 0 +1822756972934975:1822756972935525 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756972935975:1822756972936505 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756972937245:1822756972937995 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756972938405:1822756972938925 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756972939405:1822756972939675 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756972940565:1822756972941095 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 +1822756972941565:1822756972942315 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce193b0) = 0 +1822756972942875:1822756972946185 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce19370) = 0 +1822756972946655:1822756972947915 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 +1822756975496611:1822756975501171 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756975503531:1822756975504641 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756975505661:1822756975506691 116426:116430 hsa_signal_load_relaxed() = 1 +1822756972948365:1822756975509291 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756975507721:1822756975509731 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756975510921:1822756975511651 116426:116430 hsa_signal_destroy() = 0 +1822756976160605:1822756976161335 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756982619967:1822756982621647 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756982635447:1822756982635987 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756982636747:1822756982637287 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756982639667:1822756982640557 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756982641157:1822756982642027 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756982642697:1822756982643567 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756983219380:1822756983219740 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756983230761:1822756983231311 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 +1822756983232281:1822756983234441 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce19410) = 0 +1822756983235271:1822756983241011 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce193d0) = 0 +1822756983241811:1822756983244591 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 +1822756984867631:1822756984872261 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756984874421:1822756984875531 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756984876611:1822756984877471 116426:116430 hsa_signal_load_relaxed() = 1 +1822756983245261:1822756984879671 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756984878281:1822756984880211 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756984881281:1822756984881731 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756984882221:1822756984883051 116426:116430 hsa_signal_destroy() = 0 +1822756984884291:1822756984884901 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756984901961:1822756984902571 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756984906571:1822756984907171 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 +1822756984913061:1822756984914071 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 138 +1822756984915091:1822756984915741 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 138 +1822756984916571:1822756984917801 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 +1822756984918511:1822756984918861 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756984919861:1822756984920681 116426:116426 hsa_signal_store_relaxed(, 138) = void +1822756984922861:1822756984923471 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756984929971:1822756984930571 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756984932671:1822756984933271 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 +1822756984934191:1822756984935241 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 +1822756984935681:1822756984936001 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 139 +1822756984936441:1822756984936751 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 138 +1822756984937401:1822756984937711 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756984938161:1822756984938651 116426:116426 hsa_signal_store_relaxed(, 139) = void +1822756984940221:1822756986210309 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822756986217149:1822756986217729 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822756986220299:1822756986221589 116426:116426 hsa_signal_destroy() = 0 +1822756986223419:1822756986224089 116426:116426 hsa_signal_destroy() = 0 +1822756986225159:1822756986225709 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756986226149:1822756986226679 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756986227609:1822756986228089 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756986228499:1822756986228909 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756986229309:1822756986229589 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756986230649:1822756986231179 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 +1822756986231669:1822756986232359 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce19470) = 0 +1822756986232949:1822756986236139 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce19430) = 0 +1822756986236609:1822756986237919 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 +1822756988772475:1822756988777095 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756988779065:1822756988780165 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756988781205:1822756988782235 116426:116430 hsa_signal_load_relaxed() = 1 +1822756986238379:1822756988784675 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756988783035:1822756988785045 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756988786405:1822756988787125 116426:116430 hsa_signal_destroy() = 0 +1822756989412409:1822756989413089 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756995836601:1822756995838061 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756995852291:1822756995852821 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756995853481:1822756995854021 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756995856631:1822756995857501 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756995858251:1822756995859291 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756995859851:1822756995861001 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756996473055:1822756996473445 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756996475585:1822756996476115 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 +1822756996477025:1822756996479515 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce194d0) = 0 +1822756996480545:1822756996486455 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce19490) = 0 +1822756996495095:1822756996498695 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 +1822756998123005:1822756998127575 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822756998130085:1822756998131305 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822756998132255:1822756998133125 116426:116430 hsa_signal_load_relaxed() = 1 +1822756996499265:1822756998135285 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756998133935:1822756998135865 116426:116430 hsa_signal_store_screlease(, 0) = void +1822756998136925:1822756998137775 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822756998137415:1822756998138555 116426:116430 hsa_signal_destroy() = 0 +1822756998141115:1822756998141726 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756998158916:1822756998159726 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756998163636:1822756998164236 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 +1822756998170416:1822756998171436 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 140 +1822756998172536:1822756998173016 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 140 +1822756998173966:1822756998175286 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 +1822756998175936:1822756998176366 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756998177676:1822756998178526 116426:116426 hsa_signal_store_relaxed(, 140) = void +1822756998180656:1822756998181266 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822756998185656:1822756998186256 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822756998188876:1822756998189486 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 +1822756998190466:1822756998191236 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 +1822756998191676:1822756998191996 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 141 +1822756998192436:1822756998192756 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 140 +1822756998193406:1822756998193716 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822756998194166:1822756998194646 116426:116426 hsa_signal_store_relaxed(, 141) = void +1822756998196076:1822756999441854 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822756999446874:1822756999447614 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822756999450404:1822756999451474 116426:116426 hsa_signal_destroy() = 0 +1822756999453794:1822756999454274 116426:116426 hsa_signal_destroy() = 0 +1822756999458154:1822756999458774 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822756999459284:1822756999459884 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822756999460754:1822756999461284 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756999461744:1822756999462314 116426:116426 hsa_signal_store_screlease(, 0) = void +1822756999462774:1822756999463074 116426:116426 hsa_signal_store_screlease(, 1) = void +1822756999464214:1822756999464814 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 +1822756999465324:1822756999466134 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce19530) = 0 +1822756999466724:1822756999470244 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce194f0) = 0 +1822756999470774:1822756999472034 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 +1822757002008740:1822757002013340 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822757002015430:1822757002016530 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822757002017550:1822757002018590 116426:116430 hsa_signal_load_relaxed() = 1 +1822756999472554:1822757002021050 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822757002019400:1822757002021400 116426:116430 hsa_signal_store_screlease(, 0) = void +1822757002022690:1822757002023410 116426:116430 hsa_signal_destroy() = 0 +1822757002649524:1822757002650504 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757009162276:1822757009163356 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757009177356:1822757009177896 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822757009178636:1822757009179176 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822757009181916:1822757009182836 116426:116426 hsa_signal_store_screlease(, 0) = void +1822757009183446:1822757009184756 116426:116426 hsa_signal_store_screlease(, 0) = void +1822757009185436:1822757009186606 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822757009775559:1822757009776109 116426:116426 hsa_signal_store_screlease(, 1) = void +1822757009777729:1822757009778259 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 +1822757009779439:1822757009781849 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce19590) = 0 +1822757009783049:1822757009789150 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce19550) = 0 +1822757009790310:1822757009793570 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 +1822757011479530:1822757011484090 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822757011486330:1822757011487530 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822757011494290:1822757011495190 116426:116430 hsa_signal_load_relaxed() = 1 +1822757009794140:1822757011497351 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822757011496000:1822757011497921 116426:116430 hsa_signal_store_screlease(, 0) = void +1822757011499111:1822757011499861 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822757011499461:1822757011500631 116426:116430 hsa_signal_destroy() = 0 +1822757011502801:1822757011503411 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757011519831:1822757011520641 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822757011524701:1822757011525301 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 +1822757011531171:1822757011532331 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 142 +1822757011533441:1822757011534091 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 142 +1822757011534931:1822757011536071 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 +1822757011536751:1822757011537101 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822757011538111:1822757011538971 116426:116426 hsa_signal_store_relaxed(, 142) = void +1822757011541511:1822757011542111 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822757011546181:1822757011546791 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757011548901:1822757011549511 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 +1822757011550421:1822757011551231 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 +1822757011551681:1822757011552011 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 143 +1822757011552451:1822757011552771 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 142 +1822757011553411:1822757011553721 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822757011554171:1822757011554661 116426:116426 hsa_signal_store_relaxed(, 143) = void +1822757011556231:1822757012820269 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822757012824649:1822757012825159 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822757012827859:1822757012828919 116426:116426 hsa_signal_destroy() = 0 +1822757012830269:1822757012830709 116426:116426 hsa_signal_destroy() = 0 +1822757012831769:1822757012832319 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822757012832769:1822757012833309 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822757012834089:1822757012834559 116426:116426 hsa_signal_store_screlease(, 0) = void +1822757012844609:1822757012845029 116426:116426 hsa_signal_store_screlease(, 0) = void +1822757012845459:1822757012845729 116426:116426 hsa_signal_store_screlease(, 1) = void +1822757012846789:1822757012847319 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 +1822757012847759:1822757012848519 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce195f0) = 0 +1822757012849209:1822757012852699 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce195b0) = 0 +1822757012853179:1822757012854369 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 +1822757015475836:1822757015480376 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822757015482596:1822757015483786 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822757015484806:1822757015485836 116426:116430 hsa_signal_load_relaxed() = 1 +1822757012854829:1822757015488216 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822757015486636:1822757015488656 116426:116430 hsa_signal_store_screlease(, 0) = void +1822757015490286:1822757015490996 116426:116430 hsa_signal_destroy() = 0 +1822757016131020:1822757016131740 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757022592721:1822757022593981 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757022610211:1822757022610741 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822757022611531:1822757022612061 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822757022614531:1822757022615431 116426:116426 hsa_signal_store_screlease(, 0) = void +1822757022616171:1822757022616811 116426:116426 hsa_signal_store_screlease(, 0) = void +1822757022617431:1822757022618341 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822757023200495:1822757023201005 116426:116426 hsa_signal_store_screlease(, 1) = void +1822757023202555:1822757023203095 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 +1822757023204285:1822757023207055 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce19650) = 0 +1822757023207975:1822757023213865 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce19610) = 0 +1822757023214785:1822757023218095 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 +1822757024846705:1822757024851315 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822757024853515:1822757024854616 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822757024855576:1822757024856446 116426:116430 hsa_signal_load_relaxed() = 1 +1822757023218765:1822757024858866 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822757024857386:1822757024859326 116426:116430 hsa_signal_store_screlease(, 0) = void +1822757024860336:1822757024860896 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822757024864556:1822757024865296 116426:116430 hsa_signal_destroy() = 0 +1822757024866146:1822757024866766 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757024882696:1822757024883306 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822757024887376:1822757024887986 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 +1822757024893716:1822757024894646 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 144 +1822757024895666:1822757024896316 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 144 +1822757024897206:1822757024898366 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 +1822757024899076:1822757024899416 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822757024900416:1822757024901286 116426:116426 hsa_signal_store_relaxed(, 144) = void +1822757024903496:1822757024904106 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822757024908046:1822757024908656 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757024910876:1822757024911486 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 +1822757024912406:1822757024913596 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 +1822757024914036:1822757024914456 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 145 +1822757024914886:1822757024915206 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 144 +1822757024915846:1822757024916166 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822757024916606:1822757024917096 116426:116426 hsa_signal_store_relaxed(, 145) = void +1822757024918566:1822757026173414 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822757026178194:1822757026178704 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822757026181574:1822757026182634 116426:116426 hsa_signal_destroy() = 0 +1822757026184584:1822757026185254 116426:116426 hsa_signal_destroy() = 0 +1822757026186394:1822757026186944 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822757026187394:1822757026187924 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822757026188844:1822757026189324 116426:116426 hsa_signal_store_screlease(, 0) = void +1822757026189734:1822757026190144 116426:116426 hsa_signal_store_screlease(, 0) = void +1822757026190554:1822757026190824 116426:116426 hsa_signal_store_screlease(, 1) = void +1822757026191734:1822757026192264 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 +1822757026202874:1822757026203574 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce196b0) = 0 +1822757026204124:1822757026207454 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce19670) = 0 +1822757026207934:1822757026209174 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 +1822757028772240:1822757028776810 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822757028779010:1822757028780170 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822757028781190:1822757028782220 116426:116430 hsa_signal_load_relaxed() = 1 +1822757026209644:1822757028784660 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822757028783010:1822757028785030 116426:116430 hsa_signal_store_screlease(, 0) = void +1822757028786390:1822757028787120 116426:116430 hsa_signal_destroy() = 0 +1822757029415064:1822757029415754 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757035854736:1822757035856136 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757035870736:1822757035871276 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822757035872126:1822757035872656 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822757035875116:1822757035876336 116426:116426 hsa_signal_store_screlease(, 0) = void +1822757035877016:1822757035877546 116426:116426 hsa_signal_store_screlease(, 0) = void +1822757035878306:1822757035878936 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822757036493590:1822757036494060 116426:116426 hsa_signal_store_screlease(, 1) = void +1822757036495980:1822757036496510 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 +1822757036497320:1822757036499830 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce19710) = 0 +1822757036500940:1822757036507080 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce196d0) = 0 +1822757036508010:1822757036510690 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 +1822757038129380:1822757038133930 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822757038136400:1822757038137580 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822757038138730:1822757038139600 116426:116430 hsa_signal_load_relaxed() = 1 +1822757036511320:1822757038142050 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822757038140700:1822757038142830 116426:116430 hsa_signal_store_screlease(, 0) = void +1822757038143360:1822757038143890 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822757038144380:1822757038145200 116426:116430 hsa_signal_destroy() = 0 +1822757038146850:1822757038147460 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757038168590:1822757038169410 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822757038173150:1822757038173750 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 +1822757038179700:1822757038180630 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 146 +1822757038181810:1822757038182300 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 146 +1822757038183190:1822757038184660 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 +1822757038185320:1822757038185750 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822757038186910:1822757038187700 116426:116426 hsa_signal_store_relaxed(, 146) = void +1822757038189990:1822757038190600 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822757038194560:1822757038195160 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757038197310:1822757038197920 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 +1822757038198820:1822757038199580 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 +1822757038200020:1822757038200340 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 147 +1822757038200780:1822757038201090 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 146 +1822757038201730:1822757038202060 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822757038202500:1822757038202980 116426:116426 hsa_signal_store_relaxed(, 147) = void +1822757038204400:1822757039463118 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822757039468208:1822757039468778 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822757039471598:1822757039473008 116426:116426 hsa_signal_destroy() = 0 +1822757039474828:1822757039475318 116426:116426 hsa_signal_destroy() = 0 +1822757039476488:1822757039477108 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822757039477618:1822757039478218 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822757039479168:1822757039479698 116426:116426 hsa_signal_store_screlease(, 0) = void +1822757039480158:1822757039480728 116426:116426 hsa_signal_store_screlease(, 0) = void +1822757039481178:1822757039481488 116426:116426 hsa_signal_store_screlease(, 1) = void +1822757039482458:1822757039483058 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 +1822757039483558:1822757039484488 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce19770) = 0 +1822757039485078:1822757039488448 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce19730) = 0 +1822757039488978:1822757039490528 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 +1822757042050305:1822757042054855 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822757042057145:1822757042058425 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822757042059445:1822757042060475 116426:116430 hsa_signal_load_relaxed() = 1 +1822757039497788:1822757042062925 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822757042061285:1822757042063305 116426:116430 hsa_signal_store_screlease(, 0) = void +1822757042064735:1822757042065455 116426:116430 hsa_signal_destroy() = 0 +1822757042689929:1822757042690609 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757049214741:1822757049216071 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757049231671:1822757049232211 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822757049232951:1822757049233491 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822757049236371:1822757049237271 116426:116426 hsa_signal_store_screlease(, 0) = void +1822757049237881:1822757049239191 116426:116426 hsa_signal_store_screlease(, 0) = void +1822757049239771:1822757049240891 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822757049847335:1822757049847735 116426:116426 hsa_signal_store_screlease(, 1) = void +1822757049849435:1822757049849965 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 +1822757049850915:1822757049853705 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce197d0) = 0 +1822757049854765:1822757049860715 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce19790) = 0 +1822757049861475:1822757049864905 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 +1822757051497745:1822757051502285 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822757051504425:1822757051505745 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822757051506705:1822757051507575 116426:116430 hsa_signal_load_relaxed() = 1 +1822757049865475:1822757051509845 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822757051508485:1822757051510425 116426:116430 hsa_signal_store_screlease(, 0) = void +1822757051511595:1822757051512415 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822757051512065:1822757051513185 116426:116430 hsa_signal_destroy() = 0 +1822757051514975:1822757051515575 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757051532765:1822757051533385 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822757051537606:1822757051538216 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 +1822757051551676:1822757051552656 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 148 +1822757051553586:1822757051554526 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 148 +1822757051555426:1822757051556696 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 +1822757051557386:1822757051557736 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822757051558776:1822757051559636 116426:116426 hsa_signal_store_relaxed(, 148) = void +1822757051561926:1822757051562526 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822757051566556:1822757051567166 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757051569196:1822757051569806 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 +1822757051570626:1822757051571426 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 +1822757051571866:1822757051572276 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 149 +1822757051572726:1822757051573046 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 148 +1822757051573706:1822757051574016 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822757051574456:1822757051574946 116426:116426 hsa_signal_store_relaxed(, 149) = void +1822757051576256:1822757052849104 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822757052853914:1822757052854484 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822757052857034:1822757052858044 116426:116426 hsa_signal_destroy() = 0 +1822757052859764:1822757052860204 116426:116426 hsa_signal_destroy() = 0 +1822757052861234:1822757052861784 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822757052862244:1822757052862774 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822757052863714:1822757052864304 116426:116426 hsa_signal_store_screlease(, 0) = void +1822757052864714:1822757052865244 116426:116426 hsa_signal_store_screlease(, 0) = void +1822757052865654:1822757052865924 116426:116426 hsa_signal_store_screlease(, 1) = void +1822757052866814:1822757052867344 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 +1822757052867834:1822757052868584 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce19830) = 0 +1822757052869134:1822757052872614 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce197f0) = 0 +1822757052873084:1822757052874624 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 +1822757055474210:1822757055478770 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822757055481120:1822757055482330 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822757055483360:1822757055484380 116426:116430 hsa_signal_load_relaxed() = 1 +1822757052875094:1822757055490420 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822757055488820:1822757055490860 116426:116430 hsa_signal_store_screlease(, 0) = void +1822757055492690:1822757055493400 116426:116430 hsa_signal_destroy() = 0 +1822757056131544:1822757056132284 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757062620326:1822757062621836 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757062636906:1822757062637436 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822757062638136:1822757062638666 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822757062641636:1822757062642656 116426:116426 hsa_signal_store_screlease(, 0) = void +1822757062643046:1822757062643916 116426:116426 hsa_signal_store_screlease(, 0) = void +1822757062644536:1822757062645586 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822757063246500:1822757063246870 116426:116426 hsa_signal_store_screlease(, 1) = void +1822757063248870:1822757063249400 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 +1822757063250280:1822757063252550 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce19890) = 0 +1822757063253460:1822757063259480 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce19850) = 0 +1822757063260290:1822757063263430 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 +1822757064930801:1822757064935401 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822757064937811:1822757064938911 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822757064940061:1822757064940921 116426:116430 hsa_signal_load_relaxed() = 1 +1822757063263990:1822757064943251 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822757064941871:1822757064943811 116426:116430 hsa_signal_store_screlease(, 0) = void +1822757064944541:1822757064945091 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822757064945461:1822757064946281 116426:116430 hsa_signal_destroy() = 0 +1822757064947111:1822757064947721 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757064964101:1822757064964711 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822757064969061:1822757064969671 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 +1822757064975951:1822757064976871 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 150 +1822757064977951:1822757064978441 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 150 +1822757064979331:1822757064980431 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 +1822757064989271:1822757064989711 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822757064991171:1822757064992041 116426:116426 hsa_signal_store_relaxed(, 150) = void +1822757064994181:1822757064994791 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822757064998971:1822757064999571 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757065001921:1822757065002531 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 +1822757065003561:1822757065004861 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 +1822757065005311:1822757065005631 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 151 +1822757065006071:1822757065006391 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 150 +1822757065007031:1822757065007351 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822757065007791:1822757065008281 116426:116426 hsa_signal_store_relaxed(, 151) = void +1822757065009831:1822757066270739 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822757066275269:1822757066275839 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822757066278469:1822757066279479 116426:116426 hsa_signal_destroy() = 0 +1822757066281069:1822757066281749 116426:116426 hsa_signal_destroy() = 0 +1822757066283059:1822757066283619 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822757066284069:1822757066284599 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822757066285789:1822757066286259 116426:116426 hsa_signal_store_screlease(, 0) = void +1822757066286689:1822757066287099 116426:116426 hsa_signal_store_screlease(, 0) = void +1822757066287509:1822757066287779 116426:116426 hsa_signal_store_screlease(, 1) = void +1822757066288849:1822757066289389 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 +1822757066289829:1822757066290499 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce198f0) = 0 +1822757066290959:1822757066294310 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce198b0) = 0 +1822757066294780:1822757066296020 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 +1822757068825006:1822757068829606 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822757068831976:1822757068833086 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822757068834296:1822757068835326 116426:116430 hsa_signal_load_relaxed() = 1 +1822757066296490:1822757068837936 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822757068836286:1822757068838296 116426:116430 hsa_signal_store_screlease(, 0) = void +1822757068839586:1822757068840306 116426:116430 hsa_signal_destroy() = 0 +1822757069464000:1822757069464680 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757075874260:1822757075875640 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757075889930:1822757075890470 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822757075890940:1822757075891470 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822757075893640:1822757075894550 116426:116426 hsa_signal_store_screlease(, 0) = void +1822757075894940:1822757075895810 116426:116426 hsa_signal_store_screlease(, 0) = void +1822757075896340:1822757075897070 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822757076494634:1822757076495014 116426:116426 hsa_signal_store_screlease(, 1) = void +1822757076497074:1822757076497674 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 +1822757076498664:1822757076501524 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce19950) = 0 +1822757076502624:1822757076508894 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce19910) = 0 +1822757076509534:1822757076513024 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 +1822757078124475:1822757078129035 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822757078131225:1822757078132345 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822757078133305:1822757078134185 116426:116430 hsa_signal_load_relaxed() = 1 +1822757076513764:1822757078136635 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822757078135285:1822757078137235 116426:116430 hsa_signal_store_screlease(, 0) = void +1822757078138185:1822757078138805 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822757078138905:1822757078139725 116426:116430 hsa_signal_destroy() = 0 +1822757078141585:1822757078142185 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757078159035:1822757078159845 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822757078163945:1822757078164545 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 +1822757078170505:1822757078171525 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 152 +1822757078172555:1822757078173205 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 152 +1822757078174395:1822757078175665 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 +1822757078176505:1822757078176925 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822757078178055:1822757078178895 116426:116426 hsa_signal_store_relaxed(, 152) = void +1822757078181515:1822757078182125 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822757078195975:1822757078196575 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757078199695:1822757078200305 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 +1822757078201285:1822757078201955 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 +1822757078202405:1822757078202725 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 153 +1822757078203165:1822757078203495 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 152 +1822757078204125:1822757078204435 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822757078204885:1822757078205375 116426:116426 hsa_signal_store_relaxed(, 153) = void +1822757078206735:1822757079453003 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822757079457613:1822757079458513 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822757079461333:1822757079462733 116426:116426 hsa_signal_destroy() = 0 +1822757079464733:1822757079465213 116426:116426 hsa_signal_destroy() = 0 +1822757079466453:1822757079467073 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822757079467583:1822757079468193 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822757079469043:1822757079469573 116426:116426 hsa_signal_store_screlease(, 0) = void +1822757079470033:1822757079470573 116426:116426 hsa_signal_store_screlease(, 0) = void +1822757079471033:1822757079471343 116426:116426 hsa_signal_store_screlease(, 1) = void +1822757079472463:1822757079473063 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 +1822757079473563:1822757079474353 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce199b0) = 0 +1822757079474993:1822757079478503 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce19970) = 0 +1822757079479033:1822757079480353 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 +1822757082001399:1822757082005999 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822757082008289:1822757082009399 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822757082010419:1822757082011459 116426:116430 hsa_signal_load_relaxed() = 1 +1822757079480873:1822757082014189 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822757082012549:1822757082014559 116426:116430 hsa_signal_store_screlease(, 0) = void +1822757082015829:1822757082016549 116426:116430 hsa_signal_destroy() = 0 +1822757082647143:1822757082647823 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757089061924:1822757089062844 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757089077904:1822757089078444 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822757089089454:1822757089089994 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822757089093114:1822757089094164 116426:116426 hsa_signal_store_screlease(, 0) = void +1822757089094554:1822757089095424 116426:116426 hsa_signal_store_screlease(, 0) = void +1822757089096114:1822757089096904 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822757089699128:1822757089699598 116426:116426 hsa_signal_store_screlease(, 1) = void +1822757089701278:1822757089701808 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 +1822757089702668:1822757089705628 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce19a10) = 0 +1822757089706628:1822757089712098 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce199d0) = 0 +1822757089712738:1822757089716378 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 +1822757091476320:1822757091480900 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822757091483380:1822757091484480 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822757091485570:1822757091486440 116426:116430 hsa_signal_load_relaxed() = 1 +1822757089716938:1822757091488750 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822757091487400:1822757091489310 116426:116430 hsa_signal_store_screlease(, 0) = void +1822757091490010:1822757091490530 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822757091491050:1822757091491880 116426:116430 hsa_signal_destroy() = 0 +1822757091493240:1822757091493850 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757091510650:1822757091511460 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822757091515560:1822757091516160 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 +1822757091522020:1822757091523350 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 154 +1822757091524340:1822757091525130 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 154 +1822757091525990:1822757091527060 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 +1822757091527780:1822757091528200 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822757091529350:1822757091530170 116426:116426 hsa_signal_store_relaxed(, 154) = void +1822757091532400:1822757091533010 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822757091536960:1822757091537570 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757091539690:1822757091540300 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 +1822757091541190:1822757091542000 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 +1822757091545010:1822757091545330 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 155 +1822757091545780:1822757091546100 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 154 +1822757091546750:1822757091547060 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822757091547510:1822757091548000 116426:116426 hsa_signal_store_relaxed(, 155) = void +1822757091549500:1822757092812508 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822757092817178:1822757092817748 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822757092820568:1822757092821868 116426:116426 hsa_signal_destroy() = 0 +1822757092823408:1822757092823858 116426:116426 hsa_signal_destroy() = 0 +1822757092825268:1822757092825818 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822757092826268:1822757092826798 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822757092827718:1822757092828208 116426:116426 hsa_signal_store_screlease(, 0) = void +1822757092828608:1822757092829028 116426:116426 hsa_signal_store_screlease(, 0) = void +1822757092829438:1822757092829718 116426:116426 hsa_signal_store_screlease(, 1) = void +1822757092830618:1822757092831158 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 +1822757092831608:1822757092832358 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce19a70) = 0 +1822757092832868:1822757092836338 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce19a30) = 0 +1822757092836808:1822757092838218 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 +1822757095475145:1822757095479685 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822757095482025:1822757095483195 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822757095484235:1822757095485265 116426:116430 hsa_signal_load_relaxed() = 1 +1822757092838678:1822757095487805 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822757095486225:1822757095488235 116426:116430 hsa_signal_store_screlease(, 0) = void +1822757095489755:1822757095490485 116426:116430 hsa_signal_destroy() = 0 +1822757096137850:1822757096138550 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757102634221:1822757102635461 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757102650921:1822757102651451 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822757102652261:1822757102652791 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822757102655631:1822757102656521 116426:116426 hsa_signal_store_screlease(, 0) = void +1822757102667931:1822757102668621 116426:116426 hsa_signal_store_screlease(, 0) = void +1822757102669161:1822757102670081 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822757103273665:1822757103274025 116426:116426 hsa_signal_store_screlease(, 1) = void +1822757103275525:1822757103276055 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 +1822757103277035:1822757103279635 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce19ad0) = 0 +1822757103280555:1822757103286405 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce19a90) = 0 +1822757103287395:1822757103290555 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 +1822757104911985:1822757104916635 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822757104918915:1822757104920035 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822757104920995:1822757104921855 116426:116430 hsa_signal_load_relaxed() = 1 +1822757103291035:1822757104924425 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822757104922945:1822757104924875 116426:116430 hsa_signal_store_screlease(, 0) = void +1822757104925765:1822757104926645 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822757104926435:1822757104927565 116426:116430 hsa_signal_destroy() = 0 +1822757104928705:1822757104929325 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757104945725:1822757104946335 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822757104950455:1822757104951055 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 +1822757104957105:1822757104958016 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 156 +1822757104959016:1822757104959746 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 156 +1822757104960716:1822757104962016 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 +1822757104962856:1822757104963276 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822757104964326:1822757104965156 116426:116426 hsa_signal_store_relaxed(, 156) = void +1822757104967986:1822757104968596 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822757104973766:1822757104974376 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757104976966:1822757104977576 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 +1822757104978986:1822757104979926 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 +1822757104980376:1822757104980696 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 157 +1822757104981136:1822757104981466 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 156 +1822757104982116:1822757104982436 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822757104984966:1822757104985466 116426:116426 hsa_signal_store_relaxed(, 157) = void +1822757104987246:1822757106247164 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822757106251624:1822757106252274 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822757106254794:1822757106255814 116426:116426 hsa_signal_destroy() = 0 +1822757106257624:1822757106258404 116426:116426 hsa_signal_destroy() = 0 +1822757106259514:1822757106260064 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822757106260504:1822757106261034 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822757106262034:1822757106262644 116426:116426 hsa_signal_store_screlease(, 0) = void +1822757106263054:1822757106263464 116426:116426 hsa_signal_store_screlease(, 0) = void +1822757106263874:1822757106264144 116426:116426 hsa_signal_store_screlease(, 1) = void +1822757106265054:1822757106265574 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 +1822757106266024:1822757106266694 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce19b30) = 0 +1822757106267224:1822757106270554 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce19af0) = 0 +1822757106271024:1822757106272144 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 +1822757108821370:1822757108825930 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822757108828560:1822757108829680 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822757108830700:1822757108831730 116426:116430 hsa_signal_load_relaxed() = 1 +1822757106272594:1822757108834460 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822757108832820:1822757108834840 116426:116430 hsa_signal_store_screlease(, 0) = void +1822757108836040:1822757108836770 116426:116430 hsa_signal_destroy() = 0 +1822757109463364:1822757109464044 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757115892375:1822757115893645 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757115908955:1822757115909485 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822757115910285:1822757115910815 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822757115913315:1822757115914125 116426:116426 hsa_signal_store_screlease(, 0) = void +1822757115914725:1822757115915355 116426:116426 hsa_signal_store_screlease(, 0) = void +1822757115916085:1822757115916875 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822757116524389:1822757116524749 116426:116426 hsa_signal_store_screlease(, 1) = void +1822757116535789:1822757116536329 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 +1822757116537349:1822757116540109 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce19b90) = 0 +1822757116541169:1822757116547559 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce19b50) = 0 +1822757116548289:1822757116551659 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 +1822757118179550:1822757118184110 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822757118186350:1822757118187490 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822757118188580:1822757118189440 116426:116430 hsa_signal_load_relaxed() = 1 +1822757116552309:1822757118191720 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822757118190360:1822757118192300 116426:116430 hsa_signal_store_screlease(, 0) = void +1822757118193330:1822757118193830 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822757118194270:1822757118195090 116426:116430 hsa_signal_destroy() = 0 +1822757118196830:1822757118197440 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757118213940:1822757118214750 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822757118218780:1822757118219380 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 +1822757118225750:1822757118226930 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 158 +1822757118227740:1822757118228700 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 158 +1822757118229570:1822757118230880 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 +1822757118231600:1822757118231940 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822757118233050:1822757118233880 116426:116426 hsa_signal_store_relaxed(, 158) = void +1822757118236090:1822757118236700 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822757118240600:1822757118241210 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757118243480:1822757118244080 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 +1822757118245130:1822757118245880 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 +1822757118246330:1822757118246640 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 159 +1822757118247080:1822757118247400 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 158 +1822757118248030:1822757118248340 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822757118248790:1822757118249270 116426:116426 hsa_signal_store_relaxed(, 159) = void +1822757118250680:1822757119514598 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822757119519298:1822757119519918 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822757119525368:1822757119526448 116426:116426 hsa_signal_destroy() = 0 +1822757119528798:1822757119529288 116426:116426 hsa_signal_destroy() = 0 +1822757119530598:1822757119531218 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822757119531718:1822757119532318 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822757119533198:1822757119533728 116426:116426 hsa_signal_store_screlease(, 0) = void +1822757119534208:1822757119534668 116426:116426 hsa_signal_store_screlease(, 0) = void +1822757119535258:1822757119535558 116426:116426 hsa_signal_store_screlease(, 1) = void +1822757119536528:1822757119537138 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 +1822757119537638:1822757119538728 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce19bf0) = 0 +1822757119539318:1822757119542858 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce19bb0) = 0 +1822757119543398:1822757119544838 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 +1822757122089575:1822757122094135 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822757122096315:1822757122097585 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822757122098605:1822757122099635 116426:116430 hsa_signal_load_relaxed() = 1 +1822757119545378:1822757122102065 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822757122100435:1822757122102445 116426:116430 hsa_signal_store_screlease(, 0) = void +1822757122103795:1822757122104525 116426:116430 hsa_signal_destroy() = 0 +1822757122733549:1822757122734229 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757129248980:1822757129250110 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757129265250:1822757129265790 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822757129266500:1822757129267030 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822757129269430:1822757129270380 116426:116426 hsa_signal_store_screlease(, 0) = void +1822757129270770:1822757129271310 116426:116426 hsa_signal_store_screlease(, 0) = void +1822757129271930:1822757129272810 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822757129854744:1822757129855154 116426:116426 hsa_signal_store_screlease(, 1) = void +1822757129856964:1822757129857494 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 +1822757129858484:1822757129860934 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce19c50) = 0 +1822757129862244:1822757129867434 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce19c10) = 0 +1822757129876014:1822757129879264 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 +1822757131515085:1822757131519685 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822757131521945:1822757131523055 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822757131524015:1822757131524885 116426:116430 hsa_signal_load_relaxed() = 1 +1822757129879774:1822757131527045 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822757131525685:1822757131527625 116426:116430 hsa_signal_store_screlease(, 0) = void +1822757131528445:1822757131529075 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822757131529165:1822757131529995 116426:116430 hsa_signal_destroy() = 0 +1822757131532065:1822757131532675 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757131550015:1822757131550825 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822757131554585:1822757131555185 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 +1822757131561145:1822757131562195 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 160 +1822757131563135:1822757131563955 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 160 +1822757131564965:1822757131566025 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 +1822757131566795:1822757131567145 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822757131568185:1822757131568955 116426:116426 hsa_signal_store_relaxed(, 160) = void +1822757131571305:1822757131571905 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822757131576155:1822757131576765 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757131579385:1822757131579995 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 +1822757131581045:1822757131581865 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 +1822757131582305:1822757131582625 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 161 +1822757131583065:1822757131583395 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 160 +1822757131584055:1822757131584365 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822757131584805:1822757131585295 116426:116426 hsa_signal_store_relaxed(, 161) = void +1822757131586685:1822757132843883 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822757132848133:1822757132848653 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822757132851223:1822757132852523 116426:116426 hsa_signal_destroy() = 0 +1822757132853973:1822757132854423 116426:116426 hsa_signal_destroy() = 0 +1822757132855503:1822757132856053 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822757132862103:1822757132862633 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822757132863663:1822757132864153 116426:116426 hsa_signal_store_screlease(, 0) = void +1822757132864553:1822757132864973 116426:116426 hsa_signal_store_screlease(, 0) = void +1822757132865453:1822757132865723 116426:116426 hsa_signal_store_screlease(, 1) = void +1822757132866793:1822757132867323 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 +1822757132867763:1822757132868543 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce19cb0) = 0 +1822757132869123:1822757132872453 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce19c70) = 0 +1822757132872933:1822757132874153 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 +1822757135475740:1822757135480280 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822757135482570:1822757135483690 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822757135484710:1822757135485740 116426:116430 hsa_signal_load_relaxed() = 1 +1822757132874623:1822757135488120 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822757135486550:1822757135488550 116426:116430 hsa_signal_store_screlease(, 0) = void +1822757135489760:1822757135490490 116426:116430 hsa_signal_destroy() = 0 +1822757136135124:1822757136135874 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757142625635:1822757142627095 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757142642065:1822757142642605 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822757142643365:1822757142643905 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822757142646205:1822757142647085 116426:116426 hsa_signal_store_screlease(, 0) = void +1822757142647675:1822757142648205 116426:116426 hsa_signal_store_screlease(, 0) = void +1822757142648855:1822757142649935 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822757143252549:1822757143252939 116426:116426 hsa_signal_store_screlease(, 1) = void +1822757143254539:1822757143255069 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 +1822757143256249:1822757143259049 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce19d10) = 0 +1822757143260149:1822757143265829 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce19cd0) = 0 +1822757143266559:1822757143270209 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 +1822757144923010:1822757144927640 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822757144929750:1822757144930850 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822757144935810:1822757144936700 116426:116430 hsa_signal_load_relaxed() = 1 +1822757143270879:1822757144939000 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822757144937520:1822757144939460 116426:116430 hsa_signal_store_screlease(, 0) = void +1822757144940550:1822757144941350 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822757144941140:1822757144942260 116426:116430 hsa_signal_destroy() = 0 +1822757144943540:1822757144944140 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757144960430:1822757144961040 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822757144965070:1822757144965680 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 +1822757144971390:1822757144972400 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 162 +1822757144973340:1822757144973830 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 162 +1822757144974710:1822757144975950 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 +1822757144976610:1822757144977040 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822757144978060:1822757144979090 116426:116426 hsa_signal_store_relaxed(, 162) = void +1822757144981470:1822757144982080 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822757144986070:1822757144986680 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757144988670:1822757144989280 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 +1822757144990100:1822757144991050 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 +1822757144991490:1822757144991810 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 163 +1822757144992250:1822757144992570 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 162 +1822757144993210:1822757144993530 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822757144993970:1822757144994460 116426:116426 hsa_signal_store_relaxed(, 163) = void +1822757144995970:1822757146248778 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822757146253418:1822757146254038 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822757146256548:1822757146257858 116426:116426 hsa_signal_destroy() = 0 +1822757146259578:1822757146260338 116426:116426 hsa_signal_destroy() = 0 +1822757146261668:1822757146262208 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822757146262658:1822757146263188 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822757146263898:1822757146264378 116426:116426 hsa_signal_store_screlease(, 0) = void +1822757146264778:1822757146265198 116426:116426 hsa_signal_store_screlease(, 0) = void +1822757146274979:1822757146275259 116426:116426 hsa_signal_store_screlease(, 1) = void +1822757146276309:1822757146276839 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 +1822757146277289:1822757146277979 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce19d70) = 0 +1822757146278509:1822757146281879 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce19d30) = 0 +1822757146282339:1822757146283519 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 +1822757148808635:1822757148813255 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822757148815375:1822757148816475 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822757148817505:1822757148818525 116426:116430 hsa_signal_load_relaxed() = 1 +1822757146283979:1822757148820985 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822757148819335:1822757148821345 116426:116430 hsa_signal_store_screlease(, 0) = void +1822757148822635:1822757148823355 116426:116430 hsa_signal_destroy() = 0 +1822757149449519:1822757149450199 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757155994110:1822757155995440 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757156030800:1822757156031420 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822757156031960:1822757156032560 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822757156035110:1822757156036050 116426:116426 hsa_signal_store_screlease(, 0) = void +1822757156036500:1822757156037490 116426:116426 hsa_signal_store_screlease(, 0) = void +1822757156038160:1822757156039440 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822757156648964:1822757156649614 116426:116426 hsa_signal_store_screlease(, 1) = void +1822757156651404:1822757156651934 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 +1822757156652624:1822757156655294 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce19dd0) = 0 +1822757156656214:1822757156661834 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce19d90) = 0 +1822757156662414:1822757156665785 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 +1822757158289225:1822757158293715 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822757158296015:1822757158297295 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822757158298255:1822757158299115 116426:116430 hsa_signal_load_relaxed() = 1 +1822757156666295:1822757158301425 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822757158300075:1822757158302175 116426:116430 hsa_signal_store_screlease(, 0) = void +1822757158302825:1822757158303355 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822757158307505:1822757158308255 116426:116430 hsa_signal_destroy() = 0 +1822757158310395:1822757158311005 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757158327645:1822757158328255 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822757158332615:1822757158333225 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 +1822757158339095:1822757158340105 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 164 +1822757158341045:1822757158341695 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 164 +1822757158342575:1822757158343785 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 +1822757158344475:1822757158344895 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822757158346135:1822757158346955 116426:116426 hsa_signal_store_relaxed(, 164) = void +1822757158349205:1822757158349815 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822757158354145:1822757158354755 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757158357315:1822757158357915 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 +1822757158358995:1822757158359755 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 +1822757158360205:1822757158360535 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 165 +1822757158360975:1822757158361295 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 164 +1822757158361945:1822757158362265 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822757158362705:1822757158363195 116426:116426 hsa_signal_store_relaxed(, 165) = void +1822757158364615:1822757159624994 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822757159629334:1822757159629904 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822757159632554:1822757159633644 116426:116426 hsa_signal_destroy() = 0 +1822757159635134:1822757159635714 116426:116426 hsa_signal_destroy() = 0 +1822757159636784:1822757159637334 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822757159637784:1822757159638324 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822757159639194:1822757159639684 116426:116426 hsa_signal_store_screlease(, 0) = void +1822757159640184:1822757159640594 116426:116426 hsa_signal_store_screlease(, 0) = void +1822757159641004:1822757159641284 116426:116426 hsa_signal_store_screlease(, 1) = void +1822757159642344:1822757159642874 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 +1822757159649314:1822757159650074 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce19e30) = 0 +1822757159650614:1822757159653984 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce19df0) = 0 +1822757159654474:1822757159655614 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 +1822757162241380:1822757162245850 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822757162248120:1822757162249470 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822757162250490:1822757162251520 116426:116430 hsa_signal_load_relaxed() = 1 +1822757159656084:1822757162253950 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822757162252320:1822757162254340 116426:116430 hsa_signal_store_screlease(, 0) = void +1822757162255700:1822757162256420 116426:116430 hsa_signal_destroy() = 0 +1822757162884344:1822757162885024 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757169382495:1822757169383565 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757169398246:1822757169398786 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822757169399606:1822757169400136 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822757169402836:1822757169403726 116426:116426 hsa_signal_store_screlease(, 0) = void +1822757169404316:1822757169405146 116426:116426 hsa_signal_store_screlease(, 0) = void +1822757169405906:1822757169406946 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822757169990609:1822757169991019 116426:116426 hsa_signal_store_screlease(, 1) = void +1822757169992629:1822757169993159 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 +1822757169994339:1822757169997069 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce19e90) = 0 +1822757169998099:1822757170003679 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce19e50) = 0 +1822757170004619:1822757170008039 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 +1822757171674820:1822757171679360 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822757171681690:1822757171683070 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822757171684230:1822757171685090 116426:116430 hsa_signal_load_relaxed() = 1 +1822757170008669:1822757171687540 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822757171686190:1822757171688140 116426:116430 hsa_signal_store_screlease(, 0) = void +1822757171688950:1822757171689660 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822757171689780:1822757171690610 116426:116430 hsa_signal_destroy() = 0 +1822757171692380:1822757171692990 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757171716640:1822757171717440 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822757171721400:1822757171722010 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 +1822757171727760:1822757171728770 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 166 +1822757171729580:1822757171730230 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 166 +1822757171731110:1822757171732180 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 +1822757171732871:1822757171733221 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822757171734421:1822757171735451 116426:116426 hsa_signal_store_relaxed(, 166) = void +1822757171737731:1822757171738331 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822757171742311:1822757171742921 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757171744951:1822757171745551 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 +1822757171746711:1822757171747601 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 +1822757171748051:1822757171748371 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 167 +1822757171748811:1822757171749121 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 166 +1822757171749761:1822757171750081 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822757171750511:1822757171751001 116426:116426 hsa_signal_store_relaxed(, 167) = void +1822757171752541:1822757173010199 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822757173015189:1822757173015799 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822757173018769:1822757173020449 116426:116426 hsa_signal_destroy() = 0 +1822757173022519:1822757173022999 116426:116426 hsa_signal_destroy() = 0 +1822757173024419:1822757173025049 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822757173025559:1822757173026159 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822757173027169:1822757173027699 116426:116426 hsa_signal_store_screlease(, 0) = void +1822757173028159:1822757173028609 116426:116426 hsa_signal_store_screlease(, 0) = void +1822757173029079:1822757173029379 116426:116426 hsa_signal_store_screlease(, 1) = void +1822757173030369:1822757173030969 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 +1822757173031479:1822757173032289 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce19ef0) = 0 +1822757173032809:1822757173036139 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce19eb0) = 0 +1822757173036679:1822757173038019 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 +1822757175657816:1822757175662366 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822757175664626:1822757175666026 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822757175667066:1822757175668096 116426:116430 hsa_signal_load_relaxed() = 1 +1822757173041219:1822757175670476 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822757175668906:1822757175670946 116426:116430 hsa_signal_store_screlease(, 0) = void +1822757175672316:1822757175673046 116426:116430 hsa_signal_destroy() = 0 +1822757176312910:1822757176313690 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757182720761:1822757182722521 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757182736761:1822757182737291 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822757182738221:1822757182738751 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822757182741581:1822757182742311 116426:116426 hsa_signal_store_screlease(, 0) = void +1822757182742711:1822757182743571 116426:116426 hsa_signal_store_screlease(, 0) = void +1822757182744141:1822757182745351 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822757183325044:1822757183325554 116426:116426 hsa_signal_store_screlease(, 1) = void +1822757183327084:1822757183327614 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 +1822757183328584:1822757183331114 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce19f50) = 0 +1822757183332064:1822757183337894 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce19f10) = 0 +1822757183338624:1822757183341944 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 +1822757184938575:1822757184943195 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822757184945345:1822757184946455 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822757184947485:1822757184948345 116426:116430 hsa_signal_load_relaxed() = 1 +1822757183342434:1822757184950565 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822757184949185:1822757184951115 116426:116430 hsa_signal_store_screlease(, 0) = void +1822757184952355:1822757184953185 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822757184952765:1822757184953915 116426:116430 hsa_signal_destroy() = 0 +1822757184955805:1822757184956415 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757184973365:1822757184973975 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822757184977825:1822757184978425 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 +1822757184984705:1822757184985705 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 168 +1822757184996725:1822757184997385 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 168 +1822757184998475:1822757184999675 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 +1822757185000325:1822757185000755 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822757185001805:1822757185002645 116426:116426 hsa_signal_store_relaxed(, 168) = void +1822757185004885:1822757185005485 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822757185009375:1822757185009975 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757185012455:1822757185013065 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 +1822757185013995:1822757185014975 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 +1822757185015415:1822757185015725 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 169 +1822757185016165:1822757185016485 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 168 +1822757185017165:1822757185017475 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822757185017925:1822757185018415 116426:116426 hsa_signal_store_relaxed(, 169) = void +1822757185019945:1822757186290163 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822757186294853:1822757186295423 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822757186298433:1822757186299443 116426:116426 hsa_signal_destroy() = 0 +1822757186301363:1822757186302043 116426:116426 hsa_signal_destroy() = 0 +1822757186303173:1822757186303723 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822757186304173:1822757186304703 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822757186305643:1822757186306213 116426:116426 hsa_signal_store_screlease(, 0) = void +1822757186306623:1822757186307033 116426:116426 hsa_signal_store_screlease(, 0) = void +1822757186307443:1822757186307723 116426:116426 hsa_signal_store_screlease(, 1) = void +1822757186308623:1822757186309153 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 +1822757186309603:1822757186310243 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce19fb0) = 0 +1822757186310743:1822757186314243 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce19f70) = 0 +1822757186314723:1822757186315973 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 +1822757188851780:1822757188856370 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822757188858640:1822757188859740 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822757188860760:1822757188861790 116426:116430 hsa_signal_load_relaxed() = 1 +1822757186316443:1822757188867880 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822757188866220:1822757188868250 116426:116430 hsa_signal_store_screlease(, 0) = void +1822757188870050:1822757188870760 116426:116430 hsa_signal_destroy() = 0 +1822757189495264:1822757189495944 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757195932034:1822757195933124 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757195947484:1822757195948024 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822757195948634:1822757195949174 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822757195951665:1822757195952495 116426:116426 hsa_signal_store_screlease(, 0) = void +1822757195952905:1822757195953545 116426:116426 hsa_signal_store_screlease(, 0) = void +1822757195954165:1822757195954885 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822757196574248:1822757196574648 116426:116426 hsa_signal_store_screlease(, 1) = void +1822757196586429:1822757196587039 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 +1822757196587989:1822757196590599 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce1a010) = 0 +1822757196591499:1822757196597139 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce19fd0) = 0 +1822757196597979:1822757196601509 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 +1822757198232499:1822757198236989 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822757198239449:1822757198240559 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822757198241709:1822757198242569 116426:116430 hsa_signal_load_relaxed() = 1 +1822757196602159:1822757198244749 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822757198243379:1822757198245309 116426:116430 hsa_signal_store_screlease(, 0) = void +1822757198246129:1822757198247179 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822757198246959:1822757198248109 116426:116430 hsa_signal_destroy() = 0 +1822757198250709:1822757198251309 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757198269699:1822757198270309 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822757198274649:1822757198275249 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 +1822757198281689:1822757198282709 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 170 +1822757198283649:1822757198284299 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 170 +1822757198285119:1822757198286379 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 +1822757198287270:1822757198287620 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822757198290240:1822757198291170 116426:116426 hsa_signal_store_relaxed(, 170) = void +1822757198293800:1822757198294410 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822757198300790:1822757198301400 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757198303800:1822757198304410 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 +1822757198305300:1822757198306390 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 +1822757198306830:1822757198307140 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 171 +1822757198307580:1822757198307900 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 170 +1822757198308560:1822757198308870 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822757198309320:1822757198309800 116426:116426 hsa_signal_store_relaxed(, 171) = void +1822757198311270:1822757199587168 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822757199592098:1822757199592728 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822757199595628:1822757199596798 116426:116426 hsa_signal_destroy() = 0 +1822757199598438:1822757199598928 116426:116426 hsa_signal_destroy() = 0 +1822757199600248:1822757199600868 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822757199601378:1822757199601988 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822757199602858:1822757199603388 116426:116426 hsa_signal_store_screlease(, 0) = void +1822757199603848:1822757199604298 116426:116426 hsa_signal_store_screlease(, 0) = void +1822757199604758:1822757199605068 116426:116426 hsa_signal_store_screlease(, 1) = void +1822757199606188:1822757199606788 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 +1822757199607308:1822757199608128 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce1a070) = 0 +1822757199608668:1822757199612168 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce1a030) = 0 +1822757199612768:1822757199614158 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 +1822757202128484:1822757202133014 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822757202135464:1822757202136584 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822757202137804:1822757202138834 116426:116430 hsa_signal_load_relaxed() = 1 +1822757199614688:1822757202141424 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822757202139794:1822757202141804 116426:116430 hsa_signal_store_screlease(, 0) = void +1822757202143104:1822757202143814 116426:116430 hsa_signal_destroy() = 0 +1822757202770668:1822757202771348 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757209270260:1822757209271540 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757209285380:1822757209285920 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822757209286400:1822757209286930 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822757209289230:1822757209289960 116426:116426 hsa_signal_store_screlease(, 0) = void +1822757209290350:1822757209291220 116426:116426 hsa_signal_store_screlease(, 0) = void +1822757209291790:1822757209292910 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822757209874224:1822757209874564 116426:116426 hsa_signal_store_screlease(, 1) = void +1822757209876274:1822757209876804 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 +1822757209877994:1822757209880584 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce1a0d0) = 0 +1822757209881584:1822757209887394 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce1a090) = 0 +1822757209888144:1822757209891534 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 +1822757211517664:1822757211522194 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822757211524394:1822757211525604 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822757211526564:1822757211527434 116426:116430 hsa_signal_load_relaxed() = 1 +1822757209892024:1822757211529884 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822757211528534:1822757211530464 116426:116430 hsa_signal_store_screlease(, 0) = void +1822757211531444:1822757211532334 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822757211532114:1822757211533244 116426:116430 hsa_signal_destroy() = 0 +1822757211535124:1822757211535724 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757211552044:1822757211552664 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822757211556524:1822757211557124 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 +1822757211562744:1822757211563764 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 172 +1822757211564784:1822757211565434 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 172 +1822757211566484:1822757211567794 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 +1822757211568694:1822757211569124 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822757211570164:1822757211570984 116426:116426 hsa_signal_store_relaxed(, 172) = void +1822757211573344:1822757211573954 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822757211578134:1822757211578744 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757211590714:1822757211591324 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 +1822757211592244:1822757211593144 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 +1822757211593584:1822757211593994 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 173 +1822757211594444:1822757211594754 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 172 +1822757211595404:1822757211595714 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822757211596164:1822757211596654 116426:116426 hsa_signal_store_relaxed(, 173) = void +1822757211598174:1822757212865722 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822757212869912:1822757212870432 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822757212873542:1822757212874612 116426:116426 hsa_signal_destroy() = 0 +1822757212876282:1822757212876732 116426:116426 hsa_signal_destroy() = 0 +1822757212877832:1822757212878382 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822757212878832:1822757212879362 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822757212880182:1822757212880672 116426:116426 hsa_signal_store_screlease(, 0) = void +1822757212881082:1822757212881652 116426:116426 hsa_signal_store_screlease(, 0) = void +1822757212882062:1822757212882332 116426:116426 hsa_signal_store_screlease(, 1) = void +1822757212883422:1822757212883952 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 +1822757212884442:1822757212885182 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce1a130) = 0 +1822757212885642:1822757212889002 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce1a0f0) = 0 +1822757212889492:1822757212890652 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 +1822757215480689:1822757215485249 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822757215487599:1822757215488899 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822757215489919:1822757215490939 116426:116430 hsa_signal_load_relaxed() = 1 +1822757212891112:1822757215493619 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822757215492049:1822757215494059 116426:116430 hsa_signal_store_screlease(, 0) = void +1822757215495399:1822757215496119 116426:116430 hsa_signal_destroy() = 0 +1822757216142773:1822757216143493 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757222620205:1822757222621525 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757222637825:1822757222638365 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822757222650295:1822757222650835 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822757222653245:1822757222653975 116426:116426 hsa_signal_store_screlease(, 0) = void +1822757222654365:1822757222655225 116426:116426 hsa_signal_store_screlease(, 0) = void +1822757222655865:1822757222656815 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822757223253339:1822757223253739 116426:116426 hsa_signal_store_screlease(, 1) = void +1822757223255419:1822757223255949 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 +1822757223256909:1822757223259339 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce1a190) = 0 +1822757223260359:1822757223266849 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce1a150) = 0 +1822757223267769:1822757223270969 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 +1822757224891609:1822757224896179 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822757224898629:1822757224899739 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822757224900819:1822757224901689 116426:116430 hsa_signal_load_relaxed() = 1 +1822757223271549:1822757224904039 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822757224902669:1822757224904599 116426:116430 hsa_signal_store_screlease(, 0) = void +1822757224905299:1822757224905819 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822757224906279:1822757224907109 116426:116430 hsa_signal_destroy() = 0 +1822757224907979:1822757224908799 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757224926510:1822757224927120 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822757224930980:1822757224931580 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 +1822757224937730:1822757224938650 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 174 +1822757224939710:1822757224940200 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 174 +1822757224941030:1822757224942300 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 +1822757224943370:1822757224943800 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822757224944990:1822757224945820 116426:116426 hsa_signal_store_relaxed(, 174) = void +1822757224948490:1822757224949100 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822757224953450:1822757224954050 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757224956280:1822757224956890 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 +1822757224957970:1822757224958920 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 +1822757224961430:1822757224961760 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 175 +1822757224962210:1822757224962520 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 174 +1822757224963340:1822757224963660 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822757224964100:1822757224964590 116426:116426 hsa_signal_store_relaxed(, 175) = void +1822757224966150:1822757226228068 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822757226232178:1822757226232748 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822757226236018:1822757226237388 116426:116426 hsa_signal_destroy() = 0 +1822757226238968:1822757226239738 116426:116426 hsa_signal_destroy() = 0 +1822757226240918:1822757226241458 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822757226241898:1822757226242428 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822757226243218:1822757226243698 116426:116426 hsa_signal_store_screlease(, 0) = void +1822757226244108:1822757226244518 116426:116426 hsa_signal_store_screlease(, 0) = void +1822757226244928:1822757226245198 116426:116426 hsa_signal_store_screlease(, 1) = void +1822757226246248:1822757226246778 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 +1822757226247218:1822757226247908 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce1a1f0) = 0 +1822757226248478:1822757226251878 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce1a1b0) = 0 +1822757226252338:1822757226253518 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 +1822757228790444:1822757228795014 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822757228797464:1822757228798684 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822757228799824:1822757228800854 116426:116430 hsa_signal_load_relaxed() = 1 +1822757226253978:1822757228803464 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822757228801824:1822757228803834 116426:116430 hsa_signal_store_screlease(, 0) = void +1822757228805264:1822757228805984 116426:116430 hsa_signal_destroy() = 0 +1822757229429178:1822757229429858 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757235881799:1822757235883419 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757235897589:1822757235898129 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822757235898769:1822757235899299 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822757235901759:1822757235902639 116426:116426 hsa_signal_store_screlease(, 0) = void +1822757235903029:1822757235903899 116426:116426 hsa_signal_store_screlease(, 0) = void +1822757235914539:1822757235915739 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822757236523443:1822757236523753 116426:116426 hsa_signal_store_screlease(, 1) = void +1822757236525383:1822757236525913 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 +1822757236526873:1822757236529253 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce1a250) = 0 +1822757236530333:1822757236536433 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce1a210) = 0 +1822757236537003:1822757236540454 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 +1822757238166624:1822757238171184 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822757238173564:1822757238174724 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822757238175684:1822757238176544 116426:116430 hsa_signal_load_relaxed() = 1 +1822757236541064:1822757238178984 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822757238177624:1822757238179564 116426:116430 hsa_signal_store_screlease(, 0) = void +1822757238180724:1822757238181484 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822757238181104:1822757238182234 116426:116430 hsa_signal_destroy() = 0 +1822757238184534:1822757238185144 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757238201624:1822757238202234 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822757238206424:1822757238207034 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 +1822757238212964:1822757238213994 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 176 +1822757238214794:1822757238215454 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 176 +1822757238216344:1822757238217624 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 +1822757238218324:1822757238218754 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822757238219824:1822757238220824 116426:116426 hsa_signal_store_relaxed(, 176) = void +1822757238223164:1822757238223774 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822757238228644:1822757238229244 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757238231494:1822757238232104 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 +1822757238232934:1822757238233804 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 +1822757238234244:1822757238234564 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 177 +1822757238235004:1822757238235324 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 176 +1822757238235974:1822757238236284 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822757238242244:1822757238242744 116426:116426 hsa_signal_store_relaxed(, 177) = void +1822757238244494:1822757239512763 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822757239517433:1822757239517993 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822757239520733:1822757239521823 116426:116426 hsa_signal_destroy() = 0 +1822757239523633:1822757239524113 116426:116426 hsa_signal_destroy() = 0 +1822757239525363:1822757239525983 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822757239526493:1822757239527093 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822757239528033:1822757239528553 116426:116426 hsa_signal_store_screlease(, 0) = void +1822757239529013:1822757239529623 116426:116426 hsa_signal_store_screlease(, 0) = void +1822757239530403:1822757239530713 116426:116426 hsa_signal_store_screlease(, 1) = void +1822757239531693:1822757239532293 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 +1822757239532803:1822757239533623 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce1a2b0) = 0 +1822757239534263:1822757239537783 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce1a270) = 0 +1822757239538313:1822757239539553 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 +1822757242045168:1822757242049718 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822757242052239:1822757242053349 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822757242054379:1822757242055409 116426:116430 hsa_signal_load_relaxed() = 1 +1822757239540073:1822757242058119 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822757242056499:1822757242058549 116426:116430 hsa_signal_store_screlease(, 0) = void +1822757242059749:1822757242060479 116426:116430 hsa_signal_destroy() = 0 +1822757242683672:1822757242684342 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757249236054:1822757249236864 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757249251974:1822757249252514 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822757249253274:1822757249253814 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822757249256504:1822757249257384 116426:116426 hsa_signal_store_screlease(, 0) = void +1822757249258044:1822757249258914 116426:116426 hsa_signal_store_screlease(, 0) = void +1822757249259574:1822757249260384 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822757249862138:1822757249862558 116426:116426 hsa_signal_store_screlease(, 1) = void +1822757249864028:1822757249864568 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 +1822757249872578:1822757249875018 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce1a310) = 0 +1822757249875938:1822757249881718 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce1a2d0) = 0 +1822757249882878:1822757249886098 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 +1822757251523049:1822757251527609 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822757251529839:1822757251531079 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822757251532039:1822757251532899 116426:116430 hsa_signal_load_relaxed() = 1 +1822757249886678:1822757251535059 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822757251533699:1822757251535639 116426:116430 hsa_signal_store_screlease(, 0) = void +1822757251536579:1822757251537079 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822757251537519:1822757251538349 116426:116430 hsa_signal_destroy() = 0 +1822757251539719:1822757251540329 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757251557419:1822757251558029 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822757251562359:1822757251562959 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 +1822757251569089:1822757251570259 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 178 +1822757251571409:1822757251572059 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 178 +1822757251572939:1822757251573999 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 +1822757251574719:1822757251575069 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822757251576059:1822757251576869 116426:116426 hsa_signal_store_relaxed(, 178) = void +1822757251579119:1822757251579729 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822757251583989:1822757251584599 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757251587069:1822757251587669 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 +1822757251588649:1822757251589389 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 +1822757251589829:1822757251590149 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 179 +1822757251590589:1822757251590909 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 178 +1822757251591759:1822757251592069 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822757251592519:1822757251592999 116426:116426 hsa_signal_store_relaxed(, 179) = void +1822757251594479:1822757252857798 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822757252862678:1822757252863448 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822757252868188:1822757252869248 116426:116426 hsa_signal_destroy() = 0 +1822757252871038:1822757252871568 116426:116426 hsa_signal_destroy() = 0 +1822757252872658:1822757252873208 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822757252873668:1822757252874198 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822757252874798:1822757252875278 116426:116426 hsa_signal_store_screlease(, 0) = void +1822757252875688:1822757252876218 116426:116426 hsa_signal_store_screlease(, 0) = void +1822757252876748:1822757252877028 116426:116426 hsa_signal_store_screlease(, 1) = void +1822757252877918:1822757252878458 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 +1822757252878898:1822757252879648 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce1a370) = 0 +1822757252880168:1822757252883488 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce1a330) = 0 +1822757252883958:1822757252885328 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 +1822757255477504:1822757255482034 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822757255484244:1822757255485644 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822757255486694:1822757255487714 116426:116430 hsa_signal_load_relaxed() = 1 +1822757252885798:1822757255490094 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822757255488524:1822757255490524 116426:116430 hsa_signal_store_screlease(, 0) = void +1822757255492164:1822757255492884 116426:116430 hsa_signal_destroy() = 0 +1822757256131558:1822757256132258 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757262626950:1822757262628290 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757262643370:1822757262643910 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822757262644620:1822757262645150 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822757262648050:1822757262648950 116426:116426 hsa_signal_store_screlease(, 0) = void +1822757262649700:1822757262650570 116426:116426 hsa_signal_store_screlease(, 0) = void +1822757262651220:1822757262652090 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822757263251154:1822757263251644 116426:116426 hsa_signal_store_screlease(, 1) = void +1822757263253264:1822757263253794 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 +1822757263254874:1822757263257404 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce1a3d0) = 0 +1822757263258324:1822757263263964 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce1a390) = 0 +1822757263264774:1822757263268334 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 +1822757264894394:1822757264898954 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822757264901244:1822757264902354 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822757264903314:1822757264904194 116426:116430 hsa_signal_load_relaxed() = 1 +1822757263275434:1822757264906474 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822757264904994:1822757264906924 116426:116430 hsa_signal_store_screlease(, 0) = void +1822757264907874:1822757264908714 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822757264908484:1822757264909604 116426:116430 hsa_signal_destroy() = 0 +1822757264911224:1822757264911834 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757264929084:1822757264929694 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822757264934264:1822757264934864 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 +1822757264941064:1822757264942044 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 180 +1822757264943124:1822757264943614 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 180 +1822757264944644:1822757264945814 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 +1822757264946664:1822757264947084 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822757264948274:1822757264949184 116426:116426 hsa_signal_store_relaxed(, 180) = void +1822757264951704:1822757264952314 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822757264956494:1822757264957104 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757264959514:1822757264960124 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 +1822757264961094:1822757264962044 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 +1822757264962484:1822757264962804 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 181 +1822757264963244:1822757264963554 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 180 +1822757264964214:1822757264964524 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822757264964974:1822757264965464 116426:116426 hsa_signal_store_relaxed(, 181) = void +1822757264967185:1822757266215062 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822757266219422:1822757266219942 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822757266222862:1822757266224042 116426:116426 hsa_signal_destroy() = 0 +1822757266225782:1822757266226552 116426:116426 hsa_signal_destroy() = 0 +1822757266227722:1822757266228272 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822757266230862:1822757266231402 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822757266232102:1822757266232862 116426:116426 hsa_signal_store_screlease(, 0) = void +1822757266233272:1822757266233832 116426:116426 hsa_signal_store_screlease(, 0) = void +1822757266234242:1822757266234512 116426:116426 hsa_signal_store_screlease(, 1) = void +1822757266235402:1822757266235932 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 +1822757266236382:1822757266237072 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce1a430) = 0 +1822757266237652:1822757266241022 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce1a3f0) = 0 +1822757266241492:1822757266242742 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 +1822757268778378:1822757268782958 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822757268785048:1822757268786148 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822757268787168:1822757268788198 116426:116430 hsa_signal_load_relaxed() = 1 +1822757266243202:1822757268790648 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822757268789008:1822757268791008 116426:116430 hsa_signal_store_screlease(, 0) = void +1822757268792218:1822757268792938 116426:116430 hsa_signal_destroy() = 0 +1822757269420073:1822757269420753 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757275856114:1822757275857514 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757275871514:1822757275872044 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822757275873054:1822757275873584 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822757275876114:1822757275877004 116426:116426 hsa_signal_store_screlease(, 0) = void +1822757275877604:1822757275878054 116426:116426 hsa_signal_store_screlease(, 0) = void +1822757275878714:1822757275879404 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822757276490498:1822757276491138 116426:116426 hsa_signal_store_screlease(, 1) = void +1822757276492988:1822757276493518 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 +1822757276494598:1822757276497078 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce1a490) = 0 +1822757276498268:1822757276504438 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce1a450) = 0 +1822757276505178:1822757276508798 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 +1822757278129888:1822757278134458 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822757278136708:1822757278137928 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822757278139018:1822757278139878 116426:116430 hsa_signal_load_relaxed() = 1 +1822757276509378:1822757278145798 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822757278144428:1822757278146378 116426:116430 hsa_signal_store_screlease(, 0) = void +1822757278147358:1822757278147808 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822757278148408:1822757278149118 116426:116430 hsa_signal_destroy() = 0 +1822757278150528:1822757278151428 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757278176568:1822757278177178 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822757278181008:1822757278181618 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 +1822757278187228:1822757278188248 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 182 +1822757278189048:1822757278189698 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 182 +1822757278190588:1822757278191948 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 +1822757278192698:1822757278193118 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822757278194288:1822757278195048 116426:116426 hsa_signal_store_relaxed(, 182) = void +1822757278197318:1822757278197928 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822757278201948:1822757278202548 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757278205649:1822757278206259 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 +1822757278207379:1822757278208039 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 +1822757278208479:1822757278208799 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 183 +1822757278209239:1822757278209569 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 182 +1822757278210209:1822757278210519 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822757278210959:1822757278211449 116426:116426 hsa_signal_store_relaxed(, 183) = void +1822757278213129:1822757279471656 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822757279476836:1822757279477576 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822757279480266:1822757279481406 116426:116426 hsa_signal_destroy() = 0 +1822757279483006:1822757279483486 116426:116426 hsa_signal_destroy() = 0 +1822757279484716:1822757279485336 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822757279485846:1822757279486456 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822757279487296:1822757279487826 116426:116426 hsa_signal_store_screlease(, 0) = void +1822757279488286:1822757279488866 116426:116426 hsa_signal_store_screlease(, 0) = void +1822757279492557:1822757279492867 116426:116426 hsa_signal_store_screlease(, 1) = void +1822757279494007:1822757279494617 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 +1822757279495137:1822757279495977 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce1a4f0) = 0 +1822757279496567:1822757279500087 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce1a4b0) = 0 +1822757279500617:1822757279501937 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 +1822757282031023:1822757282035593 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822757282037783:1822757282039103 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822757282040123:1822757282041153 116426:116430 hsa_signal_load_relaxed() = 1 +1822757279502467:1822757282043603 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822757282041963:1822757282043973 116426:116430 hsa_signal_store_screlease(, 0) = void +1822757282045323:1822757282046043 116426:116430 hsa_signal_destroy() = 0 +1822757282672197:1822757282672877 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757289206669:1822757289207759 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757289222439:1822757289222979 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822757289223689:1822757289224229 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822757289226869:1822757289227849 116426:116426 hsa_signal_store_screlease(, 0) = void +1822757289228249:1822757289229119 116426:116426 hsa_signal_store_screlease(, 0) = void +1822757289229749:1822757289230639 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822757289810743:1822757289811383 116426:116426 hsa_signal_store_screlease(, 1) = void +1822757289813063:1822757289813593 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 +1822757289814223:1822757289816483 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce1a550) = 0 +1822757289817543:1822757289823353 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce1a510) = 0 +1822757289823943:1822757289827213 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 +1822757291478573:1822757291483133 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822757291485333:1822757291486443 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822757291487403:1822757291488263 116426:116430 hsa_signal_load_relaxed() = 1 +1822757289827703:1822757291490574 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822757291489223:1822757291491174 116426:116430 hsa_signal_store_screlease(, 0) = void +1822757291491874:1822757291492374 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822757291497114:1822757291497854 116426:116430 hsa_signal_destroy() = 0 +1822757291504884:1822757291505494 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757291521584:1822757291522244 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822757291525784:1822757291526394 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 +1822757291532734:1822757291533664 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 184 +1822757291534494:1822757291535144 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 184 +1822757291535994:1822757291537054 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 +1822757291537734:1822757291538084 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822757291539304:1822757291540124 116426:116426 hsa_signal_store_relaxed(, 184) = void +1822757291542514:1822757291543124 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822757291546844:1822757291547454 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757291549544:1822757291550144 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 +1822757291551374:1822757291552114 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 +1822757291552564:1822757291552884 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 185 +1822757291553324:1822757291553634 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 184 +1822757291554274:1822757291554604 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822757291555044:1822757291555544 116426:116426 hsa_signal_store_relaxed(, 185) = void +1822757291556994:1822757292826732 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822757292831412:1822757292832012 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822757292834962:1822757292836342 116426:116426 hsa_signal_destroy() = 0 +1822757292838152:1822757292838592 116426:116426 hsa_signal_destroy() = 0 +1822757292839702:1822757292840252 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822757292840702:1822757292841232 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822757292842152:1822757292842632 116426:116426 hsa_signal_store_screlease(, 0) = void +1822757292843192:1822757292843612 116426:116426 hsa_signal_store_screlease(, 0) = void +1822757292844162:1822757292844432 116426:116426 hsa_signal_store_screlease(, 1) = void +1822757292845482:1822757292846022 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 +1822757292846472:1822757292847222 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce1a5b0) = 0 +1822757292850582:1822757292854112 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce1a570) = 0 +1822757292854602:1822757292855722 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 +1822757295481668:1822757295486208 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822757295488448:1822757295489738 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822757295490758:1822757295491789 116426:116430 hsa_signal_load_relaxed() = 1 +1822757292856182:1822757295494169 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822757295492599:1822757295494639 116426:116430 hsa_signal_store_screlease(, 0) = void +1822757295495919:1822757295496649 116426:116430 hsa_signal_destroy() = 0 +1822757296138733:1822757296139473 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757302617784:1822757302619044 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757302634104:1822757302634634 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822757302635484:1822757302636014 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822757302638744:1822757302639454 116426:116426 hsa_signal_store_screlease(, 0) = void +1822757302640044:1822757302641074 116426:116426 hsa_signal_store_screlease(, 0) = void +1822757302641834:1822757302642744 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822757303241438:1822757303241798 116426:116426 hsa_signal_store_screlease(, 1) = void +1822757303243748:1822757303244278 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 +1822757303245438:1822757303248188 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce1a610) = 0 +1822757303249308:1822757303255188 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce1a5d0) = 0 +1822757303255998:1822757303259658 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 +1822757304936739:1822757304941369 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822757304943569:1822757304944679 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822757304945829:1822757304946699 116426:116430 hsa_signal_load_relaxed() = 1 +1822757303260218:1822757304949069 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822757304947699:1822757304949619 116426:116430 hsa_signal_store_screlease(, 0) = void +1822757304950649:1822757304951329 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822757304951459:1822757304952279 116426:116430 hsa_signal_destroy() = 0 +1822757304953759:1822757304954369 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757304979199:1822757304979809 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822757304983859:1822757304984469 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 +1822757304990459:1822757304991369 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 186 +1822757304992309:1822757304992799 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 186 +1822757304993649:1822757304994739 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 +1822757304995439:1822757304995869 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822757304996889:1822757304998049 116426:116426 hsa_signal_store_relaxed(, 186) = void +1822757305000199:1822757305000799 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822757305004729:1822757305005339 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757305008209:1822757305008819 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 +1822757305009969:1822757305010919 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 +1822757305011359:1822757305011679 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 187 +1822757305012119:1822757305012449 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 186 +1822757305013099:1822757305013419 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822757305013869:1822757305014359 116426:116426 hsa_signal_store_relaxed(, 187) = void +1822757305015889:1822757306266927 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822757306271557:1822757306272147 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822757306274717:1822757306276057 116426:116426 hsa_signal_destroy() = 0 +1822757306277917:1822757306278687 116426:116426 hsa_signal_destroy() = 0 +1822757306279997:1822757306280537 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822757306280987:1822757306281527 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822757306282567:1822757306283047 116426:116426 hsa_signal_store_screlease(, 0) = void +1822757306283457:1822757306284027 116426:116426 hsa_signal_store_screlease(, 0) = void +1822757306284567:1822757306284837 116426:116426 hsa_signal_store_screlease(, 1) = void +1822757306285757:1822757306286287 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 +1822757306286737:1822757306287387 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce1a670) = 0 +1822757306287917:1822757306291267 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce1a630) = 0 +1822757306291747:1822757306293007 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 +1822757308849993:1822757308854553 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822757308860473:1822757308861603 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822757308862654:1822757308863664 116426:116430 hsa_signal_load_relaxed() = 1 +1822757306293467:1822757308866114 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822757308864474:1822757308866474 116426:116430 hsa_signal_store_screlease(, 0) = void +1822757308867724:1822757308868454 116426:116430 hsa_signal_destroy() = 0 +1822757309493678:1822757309494348 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757315910369:1822757315911779 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757315925069:1822757315925609 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822757315926139:1822757315926669 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822757315929159:1822757315930049 116426:116426 hsa_signal_store_screlease(, 0) = void +1822757315930449:1822757315931079 116426:116426 hsa_signal_store_screlease(, 0) = void +1822757315931719:1822757315932509 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822757316540903:1822757316541543 116426:116426 hsa_signal_store_screlease(, 1) = void +1822757316543133:1822757316543733 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 +1822757316544593:1822757316547103 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce1a6d0) = 0 +1822757316548213:1822757316554783 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce1a690) = 0 +1822757316555563:1822757316558513 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 +1822757318173293:1822757318177863 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822757318180093:1822757318181353 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822757318182313:1822757318183183 116426:116430 hsa_signal_load_relaxed() = 1 +1822757316559123:1822757318185483 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822757318184133:1822757318186063 116426:116430 hsa_signal_store_screlease(, 0) = void +1822757318186983:1822757318187923 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822757318187713:1822757318188853 116426:116430 hsa_signal_destroy() = 0 +1822757318190793:1822757318191403 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757318208504:1822757318209114 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822757318213624:1822757318214224 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 +1822757318220304:1822757318221344 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 188 +1822757318232554:1822757318233224 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 188 +1822757318234054:1822757318235404 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 +1822757318236114:1822757318236464 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822757318238054:1822757318238904 116426:116426 hsa_signal_store_relaxed(, 188) = void +1822757318241274:1822757318241884 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822757318246684:1822757318247294 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757318249754:1822757318250354 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 +1822757318251394:1822757318252144 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 +1822757318252584:1822757318252904 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 189 +1822757318253344:1822757318253654 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 188 +1822757318254304:1822757318254614 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822757318255064:1822757318255544 116426:116426 hsa_signal_store_relaxed(, 189) = void +1822757318257084:1822757319522222 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822757319527102:1822757319527722 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822757319530472:1822757319531862 116426:116426 hsa_signal_destroy() = 0 +1822757319534182:1822757319534652 116426:116426 hsa_signal_destroy() = 0 +1822757319536012:1822757319536632 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822757319537142:1822757319537742 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822757319538632:1822757319539162 116426:116426 hsa_signal_store_screlease(, 0) = void +1822757319539622:1822757319540312 116426:116426 hsa_signal_store_screlease(, 0) = void +1822757319540782:1822757319541082 116426:116426 hsa_signal_store_screlease(, 1) = void +1822757319542062:1822757319542662 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 +1822757319543172:1822757319543982 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce1a730) = 0 +1822757319544542:1822757319548052 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce1a6f0) = 0 +1822757319548592:1822757319549912 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 +1822757322088768:1822757322093338 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822757322095608:1822757322096718 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822757322097748:1822757322098778 116426:116430 hsa_signal_load_relaxed() = 1 +1822757319550432:1822757322101348 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822757322099728:1822757322101738 116426:116430 hsa_signal_store_screlease(, 0) = void +1822757322107598:1822757322108328 116426:116430 hsa_signal_destroy() = 0 +1822757322732492:1822757322733172 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757329255954:1822757329257034 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757329271764:1822757329272294 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822757329272904:1822757329273434 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822757329275964:1822757329276974 116426:116426 hsa_signal_store_screlease(, 0) = void +1822757329277724:1822757329278584 116426:116426 hsa_signal_store_screlease(, 0) = void +1822757329279314:1822757329280044 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822757329858008:1822757329858518 116426:116426 hsa_signal_store_screlease(, 1) = void +1822757329859898:1822757329860438 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 +1822757329861448:1822757329864088 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce1a790) = 0 +1822757329865108:1822757329870938 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce1a750) = 0 +1822757329871678:1822757329874868 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 +1822757331507908:1822757331512498 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822757331514828:1822757331515928 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822757331517088:1822757331517948 116426:116430 hsa_signal_load_relaxed() = 1 +1822757329875538:1822757331520408 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822757331519048:1822757331520988 116426:116430 hsa_signal_store_screlease(, 0) = void +1822757331521678:1822757331522508 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822757331522638:1822757331523468 116426:116430 hsa_signal_destroy() = 0 +1822757331525608:1822757331526218 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757331542858:1822757331543468 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822757331547888:1822757331548498 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 +1822757331554208:1822757331555239 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 190 +1822757331556179:1822757331556829 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 190 +1822757331557659:1822757331559169 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 +1822757331560099:1822757331560529 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822757331569319:1822757331570179 116426:116426 hsa_signal_store_relaxed(, 190) = void +1822757331572789:1822757331573399 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822757331577469:1822757331578069 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757331580299:1822757331580899 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 +1822757331582279:1822757331583019 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 +1822757331583459:1822757331583779 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 191 +1822757331584229:1822757331584549 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 190 +1822757331585199:1822757331585519 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822757331585959:1822757331586449 116426:116426 hsa_signal_store_relaxed(, 191) = void +1822757331588069:1822757332848177 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822757332852597:1822757332853167 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822757332855807:1822757332856847 116426:116426 hsa_signal_destroy() = 0 +1822757332858777:1822757332859217 116426:116426 hsa_signal_destroy() = 0 +1822757332860267:1822757332860827 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822757332861277:1822757332861807 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822757332862737:1822757332863217 116426:116426 hsa_signal_store_screlease(, 0) = void +1822757332863627:1822757332864047 116426:116426 hsa_signal_store_screlease(, 0) = void +1822757332864457:1822757332864727 116426:116426 hsa_signal_store_screlease(, 1) = void +1822757332865627:1822757332866167 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 +1822757332866617:1822757332867367 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce1a7f0) = 0 +1822757332867947:1822757332871417 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce1a7b0) = 0 +1822757332871887:1822757332873287 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 +1822757335480664:1822757335485224 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822757335487614:1822757335488724 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822757335489934:1822757335490964 116426:116430 hsa_signal_load_relaxed() = 1 +1822757332873757:1822757335493564 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822757335491994:1822757335494004 116426:116430 hsa_signal_store_screlease(, 0) = void +1822757335495294:1822757335496014 116426:116430 hsa_signal_destroy() = 0 +1822757336145698:1822757336146428 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757342637789:1822757342639019 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757342655129:1822757342655659 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822757342656439:1822757342656969 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822757342659529:1822757342660389 116426:116426 hsa_signal_store_screlease(, 0) = void +1822757342660789:1822757342661649 116426:116426 hsa_signal_store_screlease(, 0) = void +1822757342662299:1822757342663339 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822757343261463:1822757343261983 116426:116426 hsa_signal_store_screlease(, 1) = void +1822757343263593:1822757343264123 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 +1822757343265303:1822757343267893 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce1a850) = 0 +1822757343268883:1822757343274783 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce1a810) = 0 +1822757343275523:1822757343278873 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 +1822757344898793:1822757344903393 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822757344905563:1822757344906673 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822757344907633:1822757344908503 116426:116430 hsa_signal_load_relaxed() = 1 +1822757343279423:1822757344911014 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822757344909603:1822757344911544 116426:116430 hsa_signal_store_screlease(, 0) = void +1822757344912684:1822757344913544 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822757344913184:1822757344914324 116426:116430 hsa_signal_destroy() = 0 +1822757344916204:1822757344916814 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757344941584:1822757344942194 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822757344945984:1822757344946594 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 +1822757344953114:1822757344954044 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 192 +1822757344955194:1822757344955684 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 192 +1822757344956914:1822757344958034 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 +1822757344958924:1822757344959354 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822757344960404:1822757344961274 116426:116426 hsa_signal_store_relaxed(, 192) = void +1822757344963794:1822757344964404 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822757344968914:1822757344969524 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757344977164:1822757344977764 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 +1822757344978774:1822757344979704 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 +1822757344980154:1822757344980474 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 193 +1822757344980914:1822757344981234 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 192 +1822757344981874:1822757344982194 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822757344982634:1822757344983124 116426:116426 hsa_signal_store_relaxed(, 193) = void +1822757344984834:1822757346243782 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822757346248222:1822757346248842 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822757346251552:1822757346252742 116426:116426 hsa_signal_destroy() = 0 +1822757346254302:1822757346255072 116426:116426 hsa_signal_destroy() = 0 +1822757346256132:1822757346256682 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822757346257132:1822757346257662 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822757346258582:1822757346259062 116426:116426 hsa_signal_store_screlease(, 0) = void +1822757346259472:1822757346259892 116426:116426 hsa_signal_store_screlease(, 0) = void +1822757346260292:1822757346260562 116426:116426 hsa_signal_store_screlease(, 1) = void +1822757346261632:1822757346262162 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 +1822757346262612:1822757346263312 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce1a8b0) = 0 +1822757346263782:1822757346267112 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce1a870) = 0 +1822757346267572:1822757346268932 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 +1822757348812938:1822757348817538 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822757348819628:1822757348820728 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822757348821768:1822757348822798 116426:116430 hsa_signal_load_relaxed() = 1 +1822757346269392:1822757348825598 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822757348823898:1822757348825908 116426:116430 hsa_signal_store_screlease(, 0) = void +1822757348827249:1822757348827969 116426:116430 hsa_signal_destroy() = 0 +1822757349451542:1822757349452232 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757355900323:1822757355901593 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757355916623:1822757355917163 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822757355928523:1822757355929053 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822757355931504:1822757355932344 116426:116426 hsa_signal_store_screlease(, 0) = void +1822757355932734:1822757355933384 116426:116426 hsa_signal_store_screlease(, 0) = void +1822757355934024:1822757355934804 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822757356546507:1822757356546827 116426:116426 hsa_signal_store_screlease(, 1) = void +1822757356548397:1822757356548937 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 +1822757356549947:1822757356552797 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce1a910) = 0 +1822757356553678:1822757356559588 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce1a8d0) = 0 +1822757356560368:1822757356563408 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 +1822757358195968:1822757358200518 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822757358202978:1822757358204088 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822757358205318:1822757358206178 116426:116430 hsa_signal_load_relaxed() = 1 +1822757356564028:1822757358208498 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822757358207148:1822757358209098 116426:116430 hsa_signal_store_screlease(, 0) = void +1822757358209608:1822757358210238 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822757358210748:1822757358211568 116426:116430 hsa_signal_destroy() = 0 +1822757358213198:1822757358213808 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757358231298:1822757358231918 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822757358236048:1822757358236658 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 +1822757358242408:1822757358243348 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 194 +1822757358244418:1822757358245228 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 194 +1822757358246168:1822757358247488 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 +1822757358248188:1822757358248538 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822757358249658:1822757358250498 116426:116426 hsa_signal_store_relaxed(, 194) = void +1822757358253118:1822757358253728 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822757358257568:1822757358258178 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757358260118:1822757358260728 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 +1822757358261788:1822757358262468 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 +1822757358262918:1822757358263238 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 195 +1822757358266099:1822757358266419 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 194 +1822757358267079:1822757358267409 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822757358267849:1822757358268339 116426:116426 hsa_signal_store_relaxed(, 195) = void +1822757358269969:1822757359531897 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822757359536257:1822757359536867 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822757359540137:1822757359541497 116426:116426 hsa_signal_destroy() = 0 +1822757359543367:1822757359543847 116426:116426 hsa_signal_destroy() = 0 +1822757359545377:1822757359546007 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822757359546517:1822757359547127 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822757359548117:1822757359548647 116426:116426 hsa_signal_store_screlease(, 0) = void +1822757359549107:1822757359549677 116426:116426 hsa_signal_store_screlease(, 0) = void +1822757359550207:1822757359550507 116426:116426 hsa_signal_store_screlease(, 1) = void +1822757359551447:1822757359552057 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 +1822757359552557:1822757359553367 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce1a970) = 0 +1822757359553957:1822757359557467 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce1a930) = 0 +1822757359557987:1822757359559427 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 +1822757362094043:1822757362098613 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822757362100993:1822757362102283 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822757362103433:1822757362104463 116426:116430 hsa_signal_load_relaxed() = 1 +1822757359559957:1822757362107053 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822757362105423:1822757362107443 116426:116430 hsa_signal_store_screlease(, 0) = void +1822757362108813:1822757362109543 116426:116430 hsa_signal_destroy() = 0 +1822757362731357:1822757362732037 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757369248468:1822757369249748 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757369264168:1822757369264708 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822757369265408:1822757369265948 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822757369268518:1822757369269408 116426:116426 hsa_signal_store_screlease(, 0) = void +1822757369269798:1822757369270698 116426:116426 hsa_signal_store_screlease(, 0) = void +1822757369280518:1822757369281558 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822757369877182:1822757369877702 116426:116426 hsa_signal_store_screlease(, 1) = void +1822757369879342:1822757369879872 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 +1822757369880962:1822757369883702 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce1a9d0) = 0 +1822757369884562:1822757369890322 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce1a990) = 0 +1822757369890882:1822757369894732 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 +1822757371531823:1822757371536363 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822757371538593:1822757371539693 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822757371540653:1822757371541523 116426:116430 hsa_signal_load_relaxed() = 1 +1822757369895292:1822757371543963 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822757371542603:1822757371544733 116426:116430 hsa_signal_store_screlease(, 0) = void +1822757371545603:1822757371546463 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822757371546253:1822757371547393 116426:116430 hsa_signal_destroy() = 0 +1822757371549163:1822757371549773 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757371565613:1822757371566213 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822757371570193:1822757371570803 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 +1822757371576813:1822757371577823 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 196 +1822757371578843:1822757371579483 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 196 +1822757371580573:1822757371581693 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 +1822757371582513:1822757371582943 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822757371584003:1822757371584823 116426:116426 hsa_signal_store_relaxed(, 196) = void +1822757371587283:1822757371587883 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822757371592523:1822757371593123 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757371595583:1822757371596183 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 +1822757371597103:1822757371597833 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 +1822757371598273:1822757371598603 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 197 +1822757371599053:1822757371599363 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 196 +1822757371600213:1822757371600533 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822757371600973:1822757371601453 116426:116426 hsa_signal_store_relaxed(, 197) = void +1822757371605263:1822757372872982 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822757372877672:1822757372878292 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822757372881312:1822757372882272 116426:116426 hsa_signal_destroy() = 0 +1822757372883712:1822757372884152 116426:116426 hsa_signal_destroy() = 0 +1822757372885252:1822757372885802 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822757372886252:1822757372886782 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822757372887712:1822757372888192 116426:116426 hsa_signal_store_screlease(, 0) = void +1822757372888602:1822757372889012 116426:116426 hsa_signal_store_screlease(, 0) = void +1822757372889482:1822757372889762 116426:116426 hsa_signal_store_screlease(, 1) = void +1822757372890812:1822757372891342 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 +1822757372891792:1822757372892542 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce1aa30) = 0 +1822757372892992:1822757372896352 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce1a9f0) = 0 +1822757372896902:1822757372898292 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 +1822757375482728:1822757375487288 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822757375489648:1822757375490758 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822757375491778:1822757375492808 116426:116430 hsa_signal_load_relaxed() = 1 +1822757372898752:1822757375495468 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822757375493898:1822757375495908 116426:116430 hsa_signal_store_screlease(, 0) = void +1822757375497098:1822757375497818 116426:116430 hsa_signal_destroy() = 0 +1822757376140183:1822757376140893 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757382599963:1822757382601173 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757382617683:1822757382618223 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822757382618993:1822757382619523 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822757382621873:1822757382622783 116426:116426 hsa_signal_store_screlease(, 0) = void +1822757382623523:1822757382624163 116426:116426 hsa_signal_store_screlease(, 0) = void +1822757382625103:1822757382626013 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822757383202677:1822757383203167 116426:116426 hsa_signal_store_screlease(, 1) = void +1822757383204717:1822757383205247 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 +1822757383215937:1822757383218627 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce1aa90) = 0 +1822757383219697:1822757383225767 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce1aa50) = 0 +1822757383226557:1822757383229747 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 +1822757384857048:1822757384861648 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822757384863708:1822757384864818 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822757384865778:1822757384866648 116426:116430 hsa_signal_load_relaxed() = 1 +1822757383230227:1822757384868828 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822757384867458:1822757384869398 116426:116430 hsa_signal_store_screlease(, 0) = void +1822757384870368:1822757384871168 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822757384871298:1822757384872118 116426:116430 hsa_signal_destroy() = 0 +1822757384873648:1822757384874258 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757384889878:1822757384890488 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822757384894548:1822757384895158 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 +1822757384901188:1822757384902208 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 198 +1822757384903038:1822757384903978 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 198 +1822757384904858:1822757384906098 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 +1822757384906788:1822757384907138 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822757384908218:1822757384909038 116426:116426 hsa_signal_store_relaxed(, 198) = void +1822757384911458:1822757384912058 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 +1822757384915888:1822757384916488 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757384918588:1822757384919198 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 +1822757384920128:1822757384921068 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 +1822757384921518:1822757384921828 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 199 +1822757384922268:1822757384922598 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 198 +1822757384923238:1822757384923558 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void +1822757384923998:1822757384924488 116426:116426 hsa_signal_store_relaxed(, 199) = void +1822757384926388:1822757386188936 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +1822757386193466:1822757386194046 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822757386196826:1822757386197956 116426:116426 hsa_signal_destroy() = 0 +1822757386201546:1822757386202316 116426:116426 hsa_signal_destroy() = 0 +1822757386203626:1822757386204176 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 +1822757386204626:1822757386205156 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 +1822757386206386:1822757386206876 116426:116426 hsa_signal_store_screlease(, 0) = void +1822757386207266:1822757386207686 116426:116426 hsa_signal_store_screlease(, 0) = void +1822757386208086:1822757386208356 116426:116426 hsa_signal_store_screlease(, 1) = void +1822757386209156:1822757386209686 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 +1822757386210216:1822757386210896 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce1aaf0) = 0 +1822757386211336:1822757386214726 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce1aab0) = 0 +1822757386215276:1822757386216576 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 +1822757388780333:1822757388784893 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 +1822757388787173:1822757388788473 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 +1822757388789493:1822757388790523 116426:116430 hsa_signal_load_relaxed() = 1 +1822757386217036:1822757388792973 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 +1822757388791323:1822757388793423 116426:116430 hsa_signal_store_screlease(, 0) = void +1822757388795173:1822757388795893 116426:116430 hsa_signal_destroy() = 0 +1822757389423537:1822757389424217 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757395858398:1822757395859938 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757395878358:1822757395879568 116426:116426 hsa_signal_load_scacquire() = 0 +1822757395884448:1822757395962578 116426:116426 hsa_amd_memory_pool_free(0x7f15f6e00000) = 0 +1822757395970008:1822757395970548 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757395972978:1822757395973508 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757395974848:1822757395975158 116426:116426 hsa_signal_load_scacquire() = 0 +1822757395975938:1822757395989108 116426:116426 hsa_amd_memory_pool_free(0x7f15f6800000) = 0 +1822757395991148:1822757395991678 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 +1822757396034509:1822757396062979 116426:116426 hsa_code_object_reader_destroy() = 0 +1822757396064039:1822757396066369 116426:116426 hsa_code_object_reader_destroy() = 0 +1822757396067069:1822757396069179 116426:116426 hsa_code_object_reader_destroy() = 0 +1822757396075699:1822757396077859 116426:116426 hsa_code_object_reader_destroy() = 0 +1822757396078649:1822757396080779 116426:116426 hsa_code_object_reader_destroy() = 0 +1822757396081639:1822757396083789 116426:116426 hsa_code_object_reader_destroy() = 0 +1822757396084679:1822757396086919 116426:116426 hsa_code_object_reader_destroy() = 0 +1822757396087729:1822757396090029 116426:116426 hsa_code_object_reader_destroy() = 0 +1822757396091039:1822757396093059 116426:116426 hsa_code_object_reader_destroy() = 0 +1822757396093849:1822757396095969 116426:116426 hsa_code_object_reader_destroy() = 0 +1822757396096779:1822757396098969 116426:116426 hsa_code_object_reader_destroy() = 0 +1822757396099899:1822757396101959 116426:116426 hsa_code_object_reader_destroy() = 0 +1822757396102559:1822757396104749 116426:116426 hsa_code_object_reader_destroy() = 0 +1822757396106099:1822757396109799 116426:116426 hsa_code_object_reader_destroy() = 0 +1822757396110529:1822757396112549 116426:116426 hsa_code_object_reader_destroy() = 0 +1822757396113299:1822757396115269 116426:116426 hsa_code_object_reader_destroy() = 0 +1822757396115989:1822757396117969 116426:116426 hsa_code_object_reader_destroy() = 0 +1822757396118779:1822757396120879 116426:116426 hsa_code_object_reader_destroy() = 0 +1822757396122039:1822757396124159 116426:116426 hsa_code_object_reader_destroy() = 0 +1822757396125049:1822757396127039 116426:116426 hsa_code_object_reader_destroy() = 0 +1822757396127869:1822757396129839 116426:116426 hsa_code_object_reader_destroy() = 0 +1822757396132839:1822757396134769 116426:116426 hsa_code_object_reader_destroy() = 0 +1822755612504922 116426:116426 0:"before hipLaunchKernel" +1822755612518422 116426:116426 1:"hipLaunchKernel" +1822756058343121 116426:116426 0:"after hipLaunchKernel" +1822756058344881 116426:116426 1:"hipMemcpy" +1822756062846249 116426:116426 2:"" +1822756062847399 116426:116426 2:"" +1822756078092167 116426:116426 0:"before hipLaunchKernel" +1822756078093897 116426:116426 1:"hipLaunchKernel" +1822756078129087 116426:116426 0:"after hipLaunchKernel" +1822756078129817 116426:116426 1:"hipMemcpy" +1822756082630395 116426:116426 2:"" +1822756082631055 116426:116426 2:"" +1822756091489962 116426:116426 0:"before hipLaunchKernel" +1822756091491332 116426:116426 1:"hipLaunchKernel" +1822756091526232 116426:116426 0:"after hipLaunchKernel" +1822756091526962 116426:116426 1:"hipMemcpy" +1822756096116881 116426:116426 2:"" +1822756096117531 116426:116426 2:"" +1822756104865537 116426:116426 0:"before hipLaunchKernel" +1822756104867127 116426:116426 1:"hipLaunchKernel" +1822756104900667 116426:116426 0:"after hipLaunchKernel" +1822756104901397 116426:116426 1:"hipMemcpy" +1822756109425196 116426:116426 2:"" +1822756109425806 116426:116426 2:"" +1822756118124761 116426:116426 0:"before hipLaunchKernel" +1822756118126151 116426:116426 1:"hipLaunchKernel" +1822756118166622 116426:116426 0:"after hipLaunchKernel" +1822756118167352 116426:116426 1:"hipMemcpy" +1822756122649280 116426:116426 2:"" +1822756122649930 116426:116426 2:"" +1822756131484817 116426:116426 0:"before hipLaunchKernel" +1822756131486227 116426:116426 1:"hipLaunchKernel" +1822756131529167 116426:116426 0:"after hipLaunchKernel" +1822756131529897 116426:116426 1:"hipMemcpy" +1822756136135006 116426:116426 2:"" +1822756136135656 116426:116426 2:"" +1822756144815882 116426:116426 0:"before hipLaunchKernel" +1822756144817182 116426:116426 1:"hipLaunchKernel" +1822756144861252 116426:116426 0:"after hipLaunchKernel" +1822756144861982 116426:116426 1:"hipMemcpy" +1822756149393800 116426:116426 2:"" +1822756149394530 116426:116426 2:"" +1822756158132406 116426:116426 0:"before hipLaunchKernel" +1822756158133746 116426:116426 1:"hipLaunchKernel" +1822756158178046 116426:116426 0:"after hipLaunchKernel" +1822756158178856 116426:116426 1:"hipMemcpy" +1822756162649315 116426:116426 2:"" +1822756162649975 116426:116426 2:"" +1822756171483522 116426:116426 0:"before hipLaunchKernel" +1822756171484822 116426:116426 1:"hipLaunchKernel" +1822756171519542 116426:116426 0:"after hipLaunchKernel" +1822756171520372 116426:116426 1:"hipMemcpy" +1822756176125701 116426:116426 2:"" +1822756176126371 116426:116426 2:"" +1822756184879007 116426:116426 0:"before hipLaunchKernel" +1822756184880357 116426:116426 1:"hipLaunchKernel" +1822756184916027 116426:116426 0:"after hipLaunchKernel" +1822756184916997 116426:116426 1:"hipMemcpy" +1822756189254694 116426:116426 2:"" +1822756189255314 116426:116426 2:"" +1822756197986070 116426:116426 0:"before hipLaunchKernel" +1822756197987470 116426:116426 1:"hipLaunchKernel" +1822756198022570 116426:116426 0:"after hipLaunchKernel" +1822756198023300 116426:116426 1:"hipMemcpy" +1822756202491429 116426:116426 2:"" +1822756202492069 116426:116426 2:"" +1822756211240645 116426:116426 0:"before hipLaunchKernel" +1822756211241825 116426:116426 1:"hipLaunchKernel" +1822756211276145 116426:116426 0:"after hipLaunchKernel" +1822756211276885 116426:116426 1:"hipMemcpy" +1822756215907144 116426:116426 2:"" +1822756215907754 116426:116426 2:"" +1822756224699780 116426:116426 0:"before hipLaunchKernel" +1822756224701180 116426:116426 1:"hipLaunchKernel" +1822756224736561 116426:116426 0:"after hipLaunchKernel" +1822756224737511 116426:116426 1:"hipMemcpy" +1822756229251309 116426:116426 2:"" +1822756229251959 116426:116426 2:"" +1822756237952695 116426:116426 0:"before hipLaunchKernel" +1822756237954265 116426:116426 1:"hipLaunchKernel" +1822756237988835 116426:116426 0:"after hipLaunchKernel" +1822756237989565 116426:116426 1:"hipMemcpy" +1822756242476883 116426:116426 2:"" +1822756242477673 116426:116426 2:"" +1822756251204259 116426:116426 0:"before hipLaunchKernel" +1822756251205619 116426:116426 1:"hipLaunchKernel" +1822756251240419 116426:116426 0:"after hipLaunchKernel" +1822756251241209 116426:116426 1:"hipMemcpy" +1822756255700578 116426:116426 2:"" +1822756255701198 116426:116426 2:"" +1822756264552224 116426:116426 0:"before hipLaunchKernel" +1822756264553414 116426:116426 1:"hipLaunchKernel" +1822756264601364 116426:116426 0:"after hipLaunchKernel" +1822756264602084 116426:116426 1:"hipMemcpy" +1822756269113463 116426:116426 2:"" +1822756269114113 116426:116426 2:"" +1822756277899089 116426:116426 0:"before hipLaunchKernel" +1822756277900279 116426:116426 1:"hipLaunchKernel" +1822756277946099 116426:116426 0:"after hipLaunchKernel" +1822756277946819 116426:116426 1:"hipMemcpy" +1822756282415998 116426:116426 2:"" +1822756282416648 116426:116426 2:"" +1822756291124983 116426:116426 0:"before hipLaunchKernel" +1822756291138453 116426:116426 1:"hipLaunchKernel" +1822756291177573 116426:116426 0:"after hipLaunchKernel" +1822756291178403 116426:116426 1:"hipMemcpy" +1822756295646242 116426:116426 2:"" +1822756295646892 116426:116426 2:"" +1822756304481768 116426:116426 0:"before hipLaunchKernel" +1822756304483338 116426:116426 1:"hipLaunchKernel" +1822756304517688 116426:116426 0:"after hipLaunchKernel" +1822756304518828 116426:116426 1:"hipMemcpy" +1822756309108978 116426:116426 2:"" +1822756309109758 116426:116426 2:"" +1822756317876883 116426:116426 0:"before hipLaunchKernel" +1822756317878393 116426:116426 1:"hipLaunchKernel" +1822756317913424 116426:116426 0:"after hipLaunchKernel" +1822756317914204 116426:116426 1:"hipMemcpy" +1822756322440023 116426:116426 2:"" +1822756322440783 116426:116426 2:"" +1822756331219758 116426:116426 0:"before hipLaunchKernel" +1822756331220978 116426:116426 1:"hipLaunchKernel" +1822756331255308 116426:116426 0:"after hipLaunchKernel" +1822756331256048 116426:116426 1:"hipMemcpy" +1822756335756447 116426:116426 2:"" +1822756335757077 116426:116426 2:"" +1822756344862575 116426:116426 0:"before hipLaunchKernel" +1822756344863825 116426:116426 1:"hipLaunchKernel" +1822756344897715 116426:116426 0:"after hipLaunchKernel" +1822756344898885 116426:116426 1:"hipMemcpy" +1822756349402724 116426:116426 2:"" +1822756349403304 116426:116426 2:"" +1822756358152990 116426:116426 0:"before hipLaunchKernel" +1822756358154280 116426:116426 1:"hipLaunchKernel" +1822756358188970 116426:116426 0:"after hipLaunchKernel" +1822756358189700 116426:116426 1:"hipMemcpy" +1822756362650089 116426:116426 2:"" +1822756362651039 116426:116426 2:"" +1822756371498485 116426:116426 0:"before hipLaunchKernel" +1822756371499805 116426:116426 1:"hipLaunchKernel" +1822756371532205 116426:116426 0:"after hipLaunchKernel" +1822756371532925 116426:116426 1:"hipMemcpy" +1822756376134534 116426:116426 2:"" +1822756376135194 116426:116426 2:"" +1822756384884370 116426:116426 0:"before hipLaunchKernel" +1822756384885770 116426:116426 1:"hipLaunchKernel" +1822756384918820 116426:116426 0:"after hipLaunchKernel" +1822756384919670 116426:116426 1:"hipMemcpy" +1822756389418009 116426:116426 2:"" +1822756389418809 116426:116426 2:"" +1822756398165185 116426:116426 0:"before hipLaunchKernel" +1822756398166525 116426:116426 1:"hipLaunchKernel" +1822756398214915 116426:116426 0:"after hipLaunchKernel" +1822756398215665 116426:116426 1:"hipMemcpy" +1822756402686193 116426:116426 2:"" +1822756402686833 116426:116426 2:"" +1822756411496550 116426:116426 0:"before hipLaunchKernel" +1822756411497880 116426:116426 1:"hipLaunchKernel" +1822756411534270 116426:116426 0:"after hipLaunchKernel" +1822756411535260 116426:116426 1:"hipMemcpy" +1822756416123469 116426:116426 2:"" +1822756416124369 116426:116426 2:"" +1822756424907335 116426:116426 0:"before hipLaunchKernel" +1822756424908835 116426:116426 1:"hipLaunchKernel" +1822756424943795 116426:116426 0:"after hipLaunchKernel" +1822756424944455 116426:116426 1:"hipMemcpy" +1822756429407003 116426:116426 2:"" +1822756429407643 116426:116426 2:"" +1822756438096819 116426:116426 0:"before hipLaunchKernel" +1822756438098159 116426:116426 1:"hipLaunchKernel" +1822756438132389 116426:116426 0:"after hipLaunchKernel" +1822756438133119 116426:116426 1:"hipMemcpy" +1822756442605968 116426:116426 2:"" +1822756442606618 116426:116426 2:"" +1822756451484834 116426:116426 0:"before hipLaunchKernel" +1822756451486074 116426:116426 1:"hipLaunchKernel" +1822756451520005 116426:116426 0:"after hipLaunchKernel" +1822756451520725 116426:116426 1:"hipMemcpy" +1822756456119723 116426:116426 2:"" +1822756456120523 116426:116426 2:"" +1822756464939870 116426:116426 0:"before hipLaunchKernel" +1822756464941270 116426:116426 1:"hipLaunchKernel" +1822756464975270 116426:116426 0:"after hipLaunchKernel" +1822756464976330 116426:116426 1:"hipMemcpy" +1822756469483059 116426:116426 2:"" +1822756469483709 116426:116426 2:"" +1822756478219395 116426:116426 0:"before hipLaunchKernel" +1822756478220755 116426:116426 1:"hipLaunchKernel" +1822756478257935 116426:116426 0:"after hipLaunchKernel" +1822756478258725 116426:116426 1:"hipMemcpy" +1822756482719023 116426:116426 2:"" +1822756482719673 116426:116426 2:"" +1822756491500699 116426:116426 0:"before hipLaunchKernel" +1822756491502269 116426:116426 1:"hipLaunchKernel" +1822756491536759 116426:116426 0:"after hipLaunchKernel" +1822756491537409 116426:116426 1:"hipMemcpy" +1822756496134239 116426:116426 2:"" +1822756496134889 116426:116426 2:"" +1822756504964625 116426:116426 0:"before hipLaunchKernel" +1822756504965905 116426:116426 1:"hipLaunchKernel" +1822756504998115 116426:116426 0:"after hipLaunchKernel" +1822756504998835 116426:116426 1:"hipMemcpy" +1822756509487864 116426:116426 2:"" +1822756509488564 116426:116426 2:"" +1822756518231189 116426:116426 0:"before hipLaunchKernel" +1822756518240539 116426:116426 1:"hipLaunchKernel" +1822756518276700 116426:116426 0:"after hipLaunchKernel" +1822756518277520 116426:116426 1:"hipMemcpy" +1822756522776738 116426:116426 2:"" +1822756522777388 116426:116426 2:"" +1822756531627555 116426:116426 0:"before hipLaunchKernel" +1822756531629185 116426:116426 1:"hipLaunchKernel" +1822756531673005 116426:116426 0:"after hipLaunchKernel" +1822756531673915 116426:116426 1:"hipMemcpy" +1822756536173354 116426:116426 2:"" +1822756536174014 116426:116426 2:"" +1822756544887719 116426:116426 0:"before hipLaunchKernel" +1822756544889119 116426:116426 1:"hipLaunchKernel" +1822756544931329 116426:116426 0:"after hipLaunchKernel" +1822756544931989 116426:116426 1:"hipMemcpy" +1822756549408288 116426:116426 2:"" +1822756549408938 116426:116426 2:"" +1822756558156873 116426:116426 0:"before hipLaunchKernel" +1822756558158203 116426:116426 1:"hipLaunchKernel" +1822756558193874 116426:116426 0:"after hipLaunchKernel" +1822756558194754 116426:116426 1:"hipMemcpy" +1822756562637952 116426:116426 2:"" +1822756562638602 116426:116426 2:"" +1822756571491038 116426:116426 0:"before hipLaunchKernel" +1822756571492378 116426:116426 1:"hipLaunchKernel" +1822756571527488 116426:116426 0:"after hipLaunchKernel" +1822756571528208 116426:116426 1:"hipMemcpy" +1822756576130058 116426:116426 2:"" +1822756576130718 116426:116426 2:"" +1822756584942214 116426:116426 0:"before hipLaunchKernel" +1822756584943554 116426:116426 1:"hipLaunchKernel" +1822756584981104 116426:116426 0:"after hipLaunchKernel" +1822756584981804 116426:116426 1:"hipMemcpy" +1822756589473653 116426:116426 2:"" +1822756589474303 116426:116426 2:"" +1822756598239149 116426:116426 0:"before hipLaunchKernel" +1822756598240799 116426:116426 1:"hipLaunchKernel" +1822756598274869 116426:116426 0:"after hipLaunchKernel" +1822756598275619 116426:116426 1:"hipMemcpy" +1822756602771208 116426:116426 2:"" +1822756602771868 116426:116426 2:"" +1822756611470293 116426:116426 0:"before hipLaunchKernel" +1822756611471793 116426:116426 1:"hipLaunchKernel" +1822756611506393 116426:116426 0:"after hipLaunchKernel" +1822756611507403 116426:116426 1:"hipMemcpy" +1822756616133183 116426:116426 2:"" +1822756616133843 116426:116426 2:"" +1822756624898669 116426:116426 0:"before hipLaunchKernel" +1822756624900099 116426:116426 1:"hipLaunchKernel" +1822756624942479 116426:116426 0:"after hipLaunchKernel" +1822756624943369 116426:116426 1:"hipMemcpy" +1822756629407707 116426:116426 2:"" +1822756629408357 116426:116426 2:"" +1822756638141933 116426:116426 0:"before hipLaunchKernel" +1822756638143483 116426:116426 1:"hipLaunchKernel" +1822756638177083 116426:116426 0:"after hipLaunchKernel" +1822756638177813 116426:116426 1:"hipMemcpy" +1822756642666412 116426:116426 2:"" +1822756642667062 116426:116426 2:"" +1822756651494288 116426:116426 0:"before hipLaunchKernel" +1822756651495898 116426:116426 1:"hipLaunchKernel" +1822756651538178 116426:116426 0:"after hipLaunchKernel" +1822756651538898 116426:116426 1:"hipMemcpy" +1822756656138267 116426:116426 2:"" +1822756656139037 116426:116426 2:"" +1822756664912873 116426:116426 0:"before hipLaunchKernel" +1822756664914133 116426:116426 1:"hipLaunchKernel" +1822756664958334 116426:116426 0:"after hipLaunchKernel" +1822756664959234 116426:116426 1:"hipMemcpy" +1822756669416472 116426:116426 2:"" +1822756669417132 116426:116426 2:"" +1822756678146637 116426:116426 0:"before hipLaunchKernel" +1822756678148007 116426:116426 1:"hipLaunchKernel" +1822756678191298 116426:116426 0:"after hipLaunchKernel" +1822756678192268 116426:116426 1:"hipMemcpy" +1822756682711766 116426:116426 2:"" +1822756682712426 116426:116426 2:"" +1822756691509923 116426:116426 0:"before hipLaunchKernel" +1822756691511563 116426:116426 1:"hipLaunchKernel" +1822756691547483 116426:116426 0:"after hipLaunchKernel" +1822756691548583 116426:116426 1:"hipMemcpy" +1822756696126212 116426:116426 2:"" +1822756696126872 116426:116426 2:"" +1822756704947748 116426:116426 0:"before hipLaunchKernel" +1822756704949458 116426:116426 1:"hipLaunchKernel" +1822756704985219 116426:116426 0:"after hipLaunchKernel" +1822756704986159 116426:116426 1:"hipMemcpy" +1822756709441907 116426:116426 2:"" +1822756709442567 116426:116426 2:"" +1822756718210853 116426:116426 0:"before hipLaunchKernel" +1822756718212283 116426:116426 1:"hipLaunchKernel" +1822756718248293 116426:116426 0:"after hipLaunchKernel" +1822756718249093 116426:116426 1:"hipMemcpy" +1822756722742201 116426:116426 2:"" +1822756722742951 116426:116426 2:"" +1822756731600798 116426:116426 0:"before hipLaunchKernel" +1822756731602028 116426:116426 1:"hipLaunchKernel" +1822756731637178 116426:116426 0:"after hipLaunchKernel" +1822756731637848 116426:116426 1:"hipMemcpy" +1822756736180897 116426:116426 2:"" +1822756736181547 116426:116426 2:"" +1822756744931193 116426:116426 0:"before hipLaunchKernel" +1822756744940783 116426:116426 1:"hipLaunchKernel" +1822756744974673 116426:116426 0:"after hipLaunchKernel" +1822756744975483 116426:116426 1:"hipMemcpy" +1822756749466342 116426:116426 2:"" +1822756749466962 116426:116426 2:"" +1822756758149627 116426:116426 0:"before hipLaunchKernel" +1822756758150907 116426:116426 1:"hipLaunchKernel" +1822756758185977 116426:116426 0:"after hipLaunchKernel" +1822756758186707 116426:116426 1:"hipMemcpy" +1822756762711926 116426:116426 2:"" +1822756762712716 116426:116426 2:"" +1822756771525322 116426:116426 0:"before hipLaunchKernel" +1822756771526772 116426:116426 1:"hipLaunchKernel" +1822756771560062 116426:116426 0:"after hipLaunchKernel" +1822756771561202 116426:116426 1:"hipMemcpy" +1822756776139352 116426:116426 2:"" +1822756776140082 116426:116426 2:"" +1822756784911217 116426:116426 0:"before hipLaunchKernel" +1822756784912727 116426:116426 1:"hipLaunchKernel" +1822756784954718 116426:116426 0:"after hipLaunchKernel" +1822756784955508 116426:116426 1:"hipMemcpy" +1822756789427396 116426:116426 2:"" +1822756789428126 116426:116426 2:"" +1822756798143552 116426:116426 0:"before hipLaunchKernel" +1822756798144862 116426:116426 1:"hipLaunchKernel" +1822756798189802 116426:116426 0:"after hipLaunchKernel" +1822756798190542 116426:116426 1:"hipMemcpy" +1822756802665361 116426:116426 2:"" +1822756802666021 116426:116426 2:"" +1822756811499247 116426:116426 0:"before hipLaunchKernel" +1822756811500717 116426:116426 1:"hipLaunchKernel" +1822756811545667 116426:116426 0:"after hipLaunchKernel" +1822756811546437 116426:116426 1:"hipMemcpy" +1822756816124876 116426:116426 2:"" +1822756816125676 116426:116426 2:"" +1822756825071093 116426:116426 0:"before hipLaunchKernel" +1822756825072443 116426:116426 1:"hipLaunchKernel" +1822756825108123 116426:116426 0:"after hipLaunchKernel" +1822756825108903 116426:116426 1:"hipMemcpy" +1822756829595332 116426:116426 2:"" +1822756829596262 116426:116426 2:"" +1822756838492908 116426:116426 0:"before hipLaunchKernel" +1822756838494218 116426:116426 1:"hipLaunchKernel" +1822756838533379 116426:116426 0:"after hipLaunchKernel" +1822756838534159 116426:116426 1:"hipMemcpy" +1822756843118728 116426:116426 2:"" +1822756843119448 116426:116426 2:"" +1822756851908244 116426:116426 0:"before hipLaunchKernel" +1822756851909664 116426:116426 1:"hipLaunchKernel" +1822756851945404 116426:116426 0:"after hipLaunchKernel" +1822756851946144 116426:116426 1:"hipMemcpy" +1822756856433913 116426:116426 2:"" +1822756856434713 116426:116426 2:"" +1822756865150308 116426:116426 0:"before hipLaunchKernel" +1822756865151648 116426:116426 1:"hipLaunchKernel" +1822756865185878 116426:116426 0:"after hipLaunchKernel" +1822756865186608 116426:116426 1:"hipMemcpy" +1822756869718217 116426:116426 2:"" +1822756869719007 116426:116426 2:"" +1822756878505843 116426:116426 0:"before hipLaunchKernel" +1822756878507233 116426:116426 1:"hipLaunchKernel" +1822756878542524 116426:116426 0:"after hipLaunchKernel" +1822756878543284 116426:116426 1:"hipMemcpy" +1822756883116533 116426:116426 2:"" +1822756883117323 116426:116426 2:"" +1822756891874838 116426:116426 0:"before hipLaunchKernel" +1822756891876088 116426:116426 1:"hipLaunchKernel" +1822756891909558 116426:116426 0:"after hipLaunchKernel" +1822756891910308 116426:116426 1:"hipMemcpy" +1822756896440778 116426:116426 2:"" +1822756896441498 116426:116426 2:"" +1822756905313504 116426:116426 0:"before hipLaunchKernel" +1822756905315164 116426:116426 1:"hipLaunchKernel" +1822756905349395 116426:116426 0:"after hipLaunchKernel" +1822756905350075 116426:116426 1:"hipMemcpy" +1822756909845943 116426:116426 2:"" +1822756909846673 116426:116426 2:"" +1822756918655859 116426:116426 0:"before hipLaunchKernel" +1822756918657319 116426:116426 1:"hipLaunchKernel" +1822756918696229 116426:116426 0:"after hipLaunchKernel" +1822756918696969 116426:116426 1:"hipMemcpy" +1822756923217748 116426:116426 2:"" +1822756923218538 116426:116426 2:"" +1822756931972714 116426:116426 0:"before hipLaunchKernel" +1822756931974224 116426:116426 1:"hipLaunchKernel" +1822756932034035 116426:116426 0:"after hipLaunchKernel" +1822756932034945 116426:116426 1:"hipMemcpy" +1822756936515393 116426:116426 2:"" +1822756936516233 116426:116426 2:"" +1822756945067097 116426:116426 0:"before hipLaunchKernel" +1822756945068567 116426:116426 1:"hipLaunchKernel" +1822756945112428 116426:116426 0:"after hipLaunchKernel" +1822756945113208 116426:116426 1:"hipMemcpy" +1822756949593196 116426:116426 2:"" +1822756949593916 116426:116426 2:"" +1822756958307932 116426:116426 0:"before hipLaunchKernel" +1822756958309532 116426:116426 1:"hipLaunchKernel" +1822756958345252 116426:116426 0:"after hipLaunchKernel" +1822756958346052 116426:116426 1:"hipMemcpy" +1822756962810840 116426:116426 2:"" +1822756962811480 116426:116426 2:"" +1822756971627137 116426:116426 0:"before hipLaunchKernel" +1822756971628417 116426:116426 1:"hipLaunchKernel" +1822756971666257 116426:116426 0:"after hipLaunchKernel" +1822756971667047 116426:116426 1:"hipMemcpy" +1822756976163925 116426:116426 2:"" +1822756976164585 116426:116426 2:"" +1822756984890371 116426:116426 0:"before hipLaunchKernel" +1822756984892011 116426:116426 1:"hipLaunchKernel" +1822756984928361 116426:116426 0:"after hipLaunchKernel" +1822756984929041 116426:116426 1:"hipMemcpy" +1822756989415409 116426:116426 2:"" +1822756989416199 116426:116426 2:"" +1822756998147406 116426:116426 0:"before hipLaunchKernel" +1822756998149046 116426:116426 1:"hipLaunchKernel" +1822756998183886 116426:116426 0:"after hipLaunchKernel" +1822756998184686 116426:116426 1:"hipMemcpy" +1822757002653244 116426:116426 2:"" +1822757002653894 116426:116426 2:"" +1822757011508581 116426:116426 0:"before hipLaunchKernel" +1822757011510141 116426:116426 1:"hipLaunchKernel" +1822757011544381 116426:116426 0:"after hipLaunchKernel" +1822757011545251 116426:116426 1:"hipMemcpy" +1822757016134320 116426:116426 2:"" +1822757016134980 116426:116426 2:"" +1822757024871576 116426:116426 0:"before hipLaunchKernel" +1822757024872986 116426:116426 1:"hipLaunchKernel" +1822757024906396 116426:116426 0:"after hipLaunchKernel" +1822757024907206 116426:116426 1:"hipMemcpy" +1822757029418504 116426:116426 2:"" +1822757029419154 116426:116426 2:"" +1822757038157240 116426:116426 0:"before hipLaunchKernel" +1822757038158520 116426:116426 1:"hipLaunchKernel" +1822757038192960 116426:116426 0:"after hipLaunchKernel" +1822757038193800 116426:116426 1:"hipMemcpy" +1822757042693109 116426:116426 2:"" +1822757042693699 116426:116426 2:"" +1822757051521045 116426:116426 0:"before hipLaunchKernel" +1822757051522525 116426:116426 1:"hipLaunchKernel" +1822757051564876 116426:116426 0:"after hipLaunchKernel" +1822757051565596 116426:116426 1:"hipMemcpy" +1822757056139434 116426:116426 2:"" +1822757056140114 116426:116426 2:"" +1822757064953431 116426:116426 0:"before hipLaunchKernel" +1822757064954731 116426:116426 1:"hipLaunchKernel" +1822757064997151 116426:116426 0:"after hipLaunchKernel" +1822757064997961 116426:116426 1:"hipMemcpy" +1822757069467370 116426:116426 2:"" +1822757069468020 116426:116426 2:"" +1822757078147265 116426:116426 0:"before hipLaunchKernel" +1822757078148605 116426:116426 1:"hipLaunchKernel" +1822757078194235 116426:116426 0:"after hipLaunchKernel" +1822757078194995 116426:116426 1:"hipMemcpy" +1822757082650303 116426:116426 2:"" +1822757082650953 116426:116426 2:"" +1822757091499160 116426:116426 0:"before hipLaunchKernel" +1822757091500700 116426:116426 1:"hipLaunchKernel" +1822757091535360 116426:116426 0:"after hipLaunchKernel" +1822757091536160 116426:116426 1:"hipMemcpy" +1822757096141260 116426:116426 2:"" +1822757096141910 116426:116426 2:"" +1822757104934825 116426:116426 0:"before hipLaunchKernel" +1822757104936575 116426:116426 1:"hipLaunchKernel" +1822757104971506 116426:116426 0:"after hipLaunchKernel" +1822757104972336 116426:116426 1:"hipMemcpy" +1822757109466484 116426:116426 2:"" +1822757109467144 116426:116426 2:"" +1822757118203040 116426:116426 0:"before hipLaunchKernel" +1822757118204260 116426:116426 1:"hipLaunchKernel" +1822757118239080 116426:116426 0:"after hipLaunchKernel" +1822757118239870 116426:116426 1:"hipMemcpy" +1822757122736549 116426:116426 2:"" +1822757122737199 116426:116426 2:"" +1822757131539455 116426:116426 0:"before hipLaunchKernel" +1822757131540855 116426:116426 1:"hipLaunchKernel" +1822757131574645 116426:116426 0:"after hipLaunchKernel" +1822757131575425 116426:116426 1:"hipMemcpy" +1822757136139044 116426:116426 2:"" +1822757136139694 116426:116426 2:"" +1822757144949400 116426:116426 0:"before hipLaunchKernel" +1822757144951090 116426:116426 1:"hipLaunchKernel" +1822757144984300 116426:116426 0:"after hipLaunchKernel" +1822757144985030 116426:116426 1:"hipMemcpy" +1822757149452529 116426:116426 2:"" +1822757149453179 116426:116426 2:"" +1822757158316495 116426:116426 0:"before hipLaunchKernel" +1822757158317965 116426:116426 1:"hipLaunchKernel" +1822757158352205 116426:116426 0:"after hipLaunchKernel" +1822757158353175 116426:116426 1:"hipMemcpy" +1822757162887724 116426:116426 2:"" +1822757162888374 116426:116426 2:"" +1822757171705490 116426:116426 0:"before hipLaunchKernel" +1822757171706930 116426:116426 1:"hipLaunchKernel" +1822757171740611 116426:116426 0:"after hipLaunchKernel" +1822757171741511 116426:116426 1:"hipMemcpy" +1822757176316230 116426:116426 2:"" +1822757176316880 116426:116426 2:"" +1822757184961485 116426:116426 0:"before hipLaunchKernel" +1822757184963005 116426:116426 1:"hipLaunchKernel" +1822757185007715 116426:116426 0:"after hipLaunchKernel" +1822757185008495 116426:116426 1:"hipMemcpy" +1822757189498604 116426:116426 2:"" +1822757189499254 116426:116426 2:"" +1822757198256469 116426:116426 0:"before hipLaunchKernel" +1822757198257999 116426:116426 1:"hipLaunchKernel" +1822757198298810 116426:116426 0:"after hipLaunchKernel" +1822757198299540 116426:116426 1:"hipMemcpy" +1822757202774278 116426:116426 2:"" +1822757202774938 116426:116426 2:"" +1822757211541234 116426:116426 0:"before hipLaunchKernel" +1822757211542624 116426:116426 1:"hipLaunchKernel" +1822757211576634 116426:116426 0:"after hipLaunchKernel" +1822757211577414 116426:116426 1:"hipMemcpy" +1822757216146013 116426:116426 2:"" +1822757216146663 116426:116426 2:"" +1822757224914419 116426:116426 0:"before hipLaunchKernel" +1822757224915999 116426:116426 1:"hipLaunchKernel" +1822757224951510 116426:116426 0:"after hipLaunchKernel" +1822757224952440 116426:116426 1:"hipMemcpy" +1822757229432328 116426:116426 2:"" +1822757229432978 116426:116426 2:"" +1822757238190334 116426:116426 0:"before hipLaunchKernel" +1822757238191834 116426:116426 1:"hipLaunchKernel" +1822757238226254 116426:116426 0:"after hipLaunchKernel" +1822757238227154 116426:116426 1:"hipMemcpy" +1822757242686762 116426:116426 2:"" +1822757242687412 116426:116426 2:"" +1822757251545359 116426:116426 0:"before hipLaunchKernel" +1822757251546929 116426:116426 1:"hipLaunchKernel" +1822757251582349 116426:116426 0:"after hipLaunchKernel" +1822757251583079 116426:116426 1:"hipMemcpy" +1822757256134628 116426:116426 2:"" +1822757256135288 116426:116426 2:"" +1822757264917154 116426:116426 0:"before hipLaunchKernel" +1822757264918864 116426:116426 1:"hipLaunchKernel" +1822757264955004 116426:116426 0:"after hipLaunchKernel" +1822757264955674 116426:116426 1:"hipMemcpy" +1822757269423623 116426:116426 2:"" +1822757269424273 116426:116426 2:"" +1822757278164368 116426:116426 0:"before hipLaunchKernel" +1822757278166008 116426:116426 1:"hipLaunchKernel" +1822757278200288 116426:116426 0:"after hipLaunchKernel" +1822757278201028 116426:116426 1:"hipMemcpy" +1822757282675377 116426:116426 2:"" +1822757282676027 116426:116426 2:"" +1822757291510604 116426:116426 0:"before hipLaunchKernel" +1822757291512254 116426:116426 1:"hipLaunchKernel" +1822757291545344 116426:116426 0:"after hipLaunchKernel" +1822757291546074 116426:116426 1:"hipMemcpy" +1822757296142203 116426:116426 2:"" +1822757296142843 116426:116426 2:"" +1822757304968109 116426:116426 0:"before hipLaunchKernel" +1822757304969609 116426:116426 1:"hipLaunchKernel" +1822757305003089 116426:116426 0:"after hipLaunchKernel" +1822757305003879 116426:116426 1:"hipMemcpy" +1822757309496688 116426:116426 2:"" +1822757309497348 116426:116426 2:"" +1822757318197103 116426:116426 0:"before hipLaunchKernel" +1822757318198713 116426:116426 1:"hipLaunchKernel" +1822757318244304 116426:116426 0:"after hipLaunchKernel" +1822757318245544 116426:116426 1:"hipMemcpy" +1822757322735882 116426:116426 2:"" +1822757322736532 116426:116426 2:"" +1822757331531378 116426:116426 0:"before hipLaunchKernel" +1822757331532828 116426:116426 1:"hipLaunchKernel" +1822757331575779 116426:116426 0:"after hipLaunchKernel" +1822757331576589 116426:116426 1:"hipMemcpy" +1822757336152608 116426:116426 2:"" +1822757336153268 116426:116426 2:"" +1822757344929524 116426:116426 0:"before hipLaunchKernel" +1822757344930804 116426:116426 1:"hipLaunchKernel" +1822757344967174 116426:116426 0:"after hipLaunchKernel" +1822757344967984 116426:116426 1:"hipMemcpy" +1822757349454582 116426:116426 2:"" +1822757349455242 116426:116426 2:"" +1822757358218998 116426:116426 0:"before hipLaunchKernel" +1822757358220358 116426:116426 1:"hipLaunchKernel" +1822757358256028 116426:116426 0:"after hipLaunchKernel" +1822757358256808 116426:116426 1:"hipMemcpy" +1822757362734497 116426:116426 2:"" +1822757362735147 116426:116426 2:"" +1822757371554633 116426:116426 0:"before hipLaunchKernel" +1822757371555973 116426:116426 1:"hipLaunchKernel" +1822757371590683 116426:116426 0:"after hipLaunchKernel" +1822757371591413 116426:116426 1:"hipMemcpy" +1822757376143363 116426:116426 2:"" +1822757376143983 116426:116426 2:"" +1822757384879008 116426:116426 0:"before hipLaunchKernel" +1822757384880308 116426:116426 1:"hipLaunchKernel" +1822757384914368 116426:116426 0:"after hipLaunchKernel" +1822757384915108 116426:116426 1:"hipMemcpy" +1822757389426697 116426:116426 2:"" +1822757389427347 116426:116426 2:"" +1822755610745597:1822755612148637 async-copy0 +1822756059703555:1822756061944704 async-copy1 +1822756076468363:1822756077871841 async-copy2 +1822756079453986:1822756081800621 async-copy3 +1822756089830592:1822756091230366 async-copy4 +1822756092862943:1822756095192985 async-copy5 +1822756103224676:1822756104626671 async-copy6 +1822756106217266:1822756108595458 async-copy7 +1822756116508728:1822756117909390 async-copy8 +1822756119463679:1822756121816388 async-copy9 +1822756129856005:1822756131259038 async-copy10 +1822756132847542:1822756135159509 async-copy11 +1822756143193383:1822756144594787 async-copy12 +1822756146178609:1822756148522133 async-copy13 +1822756156502642:1822756157906564 async-copy14 +1822756159488770:1822756161820738 async-copy15 +1822756169793271:1822756171196748 async-copy16 +1822756172819961:1822756175200080 async-copy17 +1822756183367822:1822756184770855 async-copy18 +1822756186222901:1822756188577685 async-copy19 +1822756196358553:1822756197758622 async-copy20 +1822756199341959:1822756201660742 async-copy21 +1822756209602431:1822756211003834 async-copy22 +1822756212733960:1822756215061779 async-copy23 +1822756223230732:1822756224633468 async-copy24 +1822756226053975:1822756228384757 async-copy25 +1822756236319165:1822756237720272 async-copy26 +1822756239300211:1822756241642698 async-copy27 +1822756249569085:1822756250970340 async-copy28 +1822756252539383:1822756254873721 async-copy29 +1822756262920159:1822756264322896 async-copy30 +1822756265929349:1822756268268725 async-copy31 +1822756276272690:1822756277674093 async-copy32 +1822756279261704:1822756281588042 async-copy33 +1822756289494062:1822756290898132 async-copy34 +1822756292486984:1822756294821026 async-copy35 +1822756302843271:1822756304244674 async-copy36 +1822756305836023:1822756308203845 async-copy37 +1822756316251013:1822756317651675 async-copy38 +1822756319222140:1822756321605222 async-copy39 +1822756329581609:1822756330984346 async-copy40 +1822756332570985:1822756334926954 async-copy41 +1822756343066596:1822756344469629 async-copy42 +1822756346208038:1822756348546377 async-copy43 +1822756356536391:1822756357937053 async-copy44 +1822756359514690:1822756361820434 async-copy45 +1822756369792080:1822756371196446 async-copy46 +1822756372858187:1822756375181117 async-copy47 +1822756383254616:1822756384656463 async-copy48 +1822756386235785:1822756388584495 async-copy49 +1822756396540013:1822756397941120 async-copy50 +1822756399532724:1822756401852098 async-copy51 +1822756409842431:1822756411242352 async-copy52 +1822756412851693:1822756415196254 async-copy53 +1822756423279344:1822756424681043 async-copy54 +1822756426237932:1822756428585901 async-copy55 +1822756436470646:1822756437872642 async-copy56 +1822756439453792:1822756441778648 async-copy57 +1822756449712164:1822756451114308 async-copy58 +1822756452839379:1822756455186162 async-copy59 +1822756463260798:1822756464661460 async-copy60 +1822756466285627:1822756468655226 async-copy61 +1822756476590661:1822756477992509 async-copy62 +1822756479567299:1822756481891414 async-copy63 +1822756489865100:1822756491268133 async-copy64 +1822756492886950:1822756495216695 async-copy65 +1822756503259171:1822756504662648 async-copy66 +1822756506318382:1822756508657017 async-copy67 +1822756516596286:1822756517997392 async-copy68 +1822756519589742:1822756521946600 async-copy69 +1822756529955321:1822756531359094 async-copy70 +1822756532973444:1822756535313857 async-copy71 +1822756543258544:1822756544660539 async-copy72 +1822756546243926:1822756548571153 async-copy73 +1822756556527558:1822756557931184 async-copy74 +1822756559499991:1822756561810772 async-copy75 +1822756569800608:1822756571201122 async-copy76 +1822756572827399:1822756575173442 async-copy77 +1822756583293358:1822756584696538 async-copy78 +1822756586289742:1822756588640674 async-copy79 +1822756596608409:1822756598009664 async-copy80 +1822756599601805:1822756601938366 async-copy81 +1822756609961382:1822756611362637 async-copy82 +1822756612814771:1822756615174444 async-copy83 +1822756623274987:1822756624674020 async-copy84 +1822756626244187:1822756628562524 async-copy85 +1822756636503810:1822756637906250 async-copy86 +1822756639495651:1822756641835027 async-copy87 +1822756649826815:1822756651228070 async-copy88 +1822756652845701:1822756655162408 async-copy89 +1822756663282560:1822756664684852 async-copy90 +1822756666270910:1822756668581543 async-copy91 +1822756676525576:1822756677927868 async-copy92 +1822756679498081:1822756681876718 async-copy93 +1822756689871911:1822756691274795 async-copy94 +1822756692863198:1822756695226575 async-copy95 +1822756703298473:1822756704701506 async-copy96 +1822756706292630:1822756708609337 async-copy97 +1822756716578756:1822756717982233 async-copy98 +1822756719573484:1822756721913156 async-copy99 +1822756729939935:1822756731340894 async-copy100 +1822756732957268:1822756735318866 async-copy101 +1822756743305668:1822756744707664 async-copy102 +1822756746288798:1822756748636766 async-copy103 +1822756756514188:1822756757915443 async-copy104 +1822756759506383:1822756761882056 async-copy105 +1822756769878684:1822756771280975 async-copy106 +1822756772869620:1822756775205440 async-copy107 +1822756783282081:1822756784682743 async-copy108 +1822756786250731:1822756788566402 async-copy109 +1822756796515073:1822756797917810 async-copy110 +1822756799499522:1822756801836675 async-copy111 +1822756809813022:1822756811214869 async-copy112 +1822756812847111:1822756815207673 async-copy113 +1822756823457191:1822756824860372 async-copy114 +1822756826415517:1822756828762448 async-copy115 +1822756836724312:1822756838124678 async-copy116 +1822756839841353:1822756842200284 async-copy117 +1822756850285409:1822756851688738 async-copy118 +1822756853252604:1822756855591979 async-copy119 +1822756863532804:1822756864935689 async-copy120 +1822756866497276:1822756868882283 async-copy121 +1822756876867480:1822756878268882 async-copy122 +1822756879872731:1822756882220551 async-copy123 +1822756890239449:1822756891639963 async-copy124 +1822756893222150:1822756895595898 async-copy125 +1822756903677825:1822756905079524 async-copy126 +1822756906675650:1822756909004358 async-copy127 +1822756916981833:1822756918385310 async-copy128 +1822756920026943:1822756922357429 async-copy129 +1822756930339119:1822756931742299 async-copy130 +1822756933341772:1822756935663665 async-copy131 +1822756943569147:1822756944968624 async-copy132 +1822756946417858:1822756948759603 async-copy133 +1822756956686881:1822756958087691 async-copy134 +1822756959654747:1822756961980344 async-copy135 +1822756969964854:1822756971366405 async-copy136 +1822756972958566:1822756975303275 async-copy137 +1822756983263992:1822756984667321 async-copy138 +1822756986248811:1822756988571889 async-copy139 +1822756996518043:1822756997919890 async-copy140 +1822756999482547:1822757001823404 async-copy141 +1822757009812945:1822757011214793 async-copy142 +1822757012865036:1822757015194337 async-copy143 +1822757023239827:1822757024642119 async-copy144 +1822757026219834:1822757028560691 async-copy145 +1822757036530048:1822757037933673 async-copy146 +1822757039501138:1822757041864663 async-copy147 +1822757049884042:1822757051284260 async-copy148 +1822757052885199:1822757055214352 async-copy149 +1822757063303774:1822757064706214 async-copy150 +1822757066306665:1822757068639522 async-copy151 +1822757076532551:1822757077934991 async-copy152 +1822757079491059:1822757081815619 async-copy153 +1822757089735648:1822757091137199 async-copy154 +1822757092848799:1822757095212472 async-copy155 +1822757103311340:1822757104713335 async-copy156 +1822757106282732:1822757108632923 async-copy157 +1822757116570884:1822757117973324 async-copy158 +1822757119555392:1822757121904545 async-copy159 +1822757129898577:1822757131299832 async-copy160 +1822757132884793:1822757135215724 async-copy161 +1822757143310937:1822757144715154 async-copy162 +1822757146294146:1822757148641078 async-copy163 +1822757156685092:1822757158085310 async-copy164 +1822757159666226:1822757162046048 async-copy165 +1822757170027327:1822757171429619 async-copy166 +1822757173048804:1822757175418107 async-copy167 +1822757183362207:1822757184764054 async-copy168 +1822757186326614:1822757188665545 async-copy169 +1822757196620800:1822757198025314 async-copy170 +1822757199624939:1822757201943573 async-copy171 +1822757209910756:1822757211311418 async-copy172 +1822757212901160:1822757215239647 async-copy173 +1822757223289758:1822757224693532 async-copy174 +1822757226264241:1822757228601246 async-copy175 +1822757236559874:1822757237961870 async-copy176 +1822757239550236:1822757241860277 async-copy177 +1822757249905346:1822757251307045 async-copy178 +1822757252895891:1822757255243267 async-copy179 +1822757263288395:1822757264689798 async-copy180 +1822757266253371:1822757268590820 async-copy181 +1822757276528185:1822757277931366 async-copy182 +1822757279512544:1822757281846142 async-copy183 +1822757289846499:1822757291247901 async-copy184 +1822757292866424:1822757295203429 async-copy185 +1822757303279340:1822757304680595 async-copy186 +1822757306303641:1822757308664795 async-copy187 +1822757316577803:1822757317977576 async-copy188 +1822757319560491:1822757321903570 async-copy189 +1822757329894057:1822757331297830 async-copy190 +1822757332884097:1822757335214731 async-copy191 +1822757343298266:1822757344700409 async-copy192 +1822757346279634:1822757348624046 async-copy193 +1822757356582659:1822757357985099 async-copy194 +1822757359570083:1822757361908569 async-copy195 +1822757369914110:1822757371315364 async-copy196 +1822757372908977:1822757375245093 async-copy197 +1822757383248827:1822757384651267 async-copy198 +1822757386227176:1822757388571292 async-copy199 From 69474a2e79f05534ae5b5b3946804f0fcbff750b Mon Sep 17 00:00:00 2001 From: rkebichi <54912798+rkebichi@users.noreply.github.com> Date: Fri, 31 Jan 2020 16:02:57 -0500 Subject: [PATCH 310/691] Create MatrixTranspose_hip_trace.txt --- .../MatrixTranspose_hip_trace.txt | 466 ++++++++++++++++++ 1 file changed, 466 insertions(+) create mode 100644 test/MatrixTranspose/MatrixTranspose_hip_trace.txt diff --git a/test/MatrixTranspose/MatrixTranspose_hip_trace.txt b/test/MatrixTranspose/MatrixTranspose_hip_trace.txt new file mode 100644 index 0000000000..860f8db54f --- /dev/null +++ b/test/MatrixTranspose/MatrixTranspose_hip_trace.txt @@ -0,0 +1,466 @@ +tool period test: "ROCP_CTRL_RATE=10:100000:1000000 ./test/MatrixTranspose" +ROCTracer (pid=116438): + HIP-trace() +ROCTracer: trace control: delay(10us), length(100000us), rate(1000000us) +Device name Vega 10 XT [Radeon RX Vega 64] +## Iteration (99) ################# +PASSED! +## Iteration (98) ################# +PASSED! +## Iteration (97) ################# +PASSED! +## Iteration (96) ################# +PASSED! +## Iteration (95) ################# +PASSED! +## Iteration (94) ################# +PASSED! +## Iteration (93) ################# +PASSED! +## Iteration (92) ################# +PASSED! +## Iteration (91) ################# +PASSED! +## Iteration (90) ################# +PASSED! +## Iteration (89) ################# +PASSED! +## Iteration (88) ################# +PASSED! +## Iteration (87) ################# +PASSED! +## Iteration (86) ################# +PASSED! +## Iteration (85) ################# +PASSED! +## Iteration (84) ################# +PASSED! +## Iteration (83) ################# +PASSED! +## Iteration (82) ################# +PASSED! +## Iteration (81) ################# +PASSED! +## Iteration (80) ################# +PASSED! +## Iteration (79) ################# +PASSED! +## Iteration (78) ################# +PASSED! +## Iteration (77) ################# +PASSED! +## Iteration (76) ################# +PASSED! +## Iteration (75) ################# +PASSED! +## Iteration (74) ################# +PASSED! +## Iteration (73) ################# +PASSED! +## Iteration (72) ################# +PASSED! +## Iteration (71) ################# +PASSED! +## Iteration (70) ################# +PASSED! +## Iteration (69) ################# +PASSED! +## Iteration (68) ################# +PASSED! +## Iteration (67) ################# +PASSED! +## Iteration (66) ################# +PASSED! +## Iteration (65) ################# +PASSED! +## Iteration (64) ################# +PASSED! +## Iteration (63) ################# +PASSED! +## Iteration (62) ################# +PASSED! +## Iteration (61) ################# +PASSED! +## Iteration (60) ################# +PASSED! +## Iteration (59) ################# +PASSED! +## Iteration (58) ################# +PASSED! +## Iteration (57) ################# +PASSED! +## Iteration (56) ################# +PASSED! +## Iteration (55) ################# +PASSED! +## Iteration (54) ################# +PASSED! +## Iteration (53) ################# +PASSED! +## Iteration (52) ################# +PASSED! +## Iteration (51) ################# +PASSED! +## Iteration (50) ################# +PASSED! +## Iteration (49) ################# +PASSED! +## Iteration (48) ################# +PASSED! +## Iteration (47) ################# +PASSED! +## Iteration (46) ################# +PASSED! +## Iteration (45) ################# +PASSED! +## Iteration (44) ################# +PASSED! +## Iteration (43) ################# +PASSED! +## Iteration (42) ################# +PASSED! +## Iteration (41) ################# +PASSED! +## Iteration (40) ################# +PASSED! +## Iteration (39) ################# +PASSED! +## Iteration (38) ################# +PASSED! +## Iteration (37) ################# +PASSED! +## Iteration (36) ################# +PASSED! +## Iteration (35) ################# +PASSED! +## Iteration (34) ################# +PASSED! +## Iteration (33) ################# +PASSED! +## Iteration (32) ################# +PASSED! +## Iteration (31) ################# +PASSED! +## Iteration (30) ################# +PASSED! +## Iteration (29) ################# +PASSED! +## Iteration (28) ################# +PASSED! +## Iteration (27) ################# +PASSED! +## Iteration (26) ################# +PASSED! +## Iteration (25) ################# +PASSED! +## Iteration (24) ################# +PASSED! +## Iteration (23) ################# +PASSED! +## Iteration (22) ################# +PASSED! +## Iteration (21) ################# +PASSED! +## Iteration (20) ################# +PASSED! +## Iteration (19) ################# +PASSED! +## Iteration (18) ################# +PASSED! +## Iteration (17) ################# +PASSED! +## Iteration (16) ################# +PASSED! +## Iteration (15) ################# +PASSED! +## Iteration (14) ################# +PASSED! +## Iteration (13) ################# +PASSED! +## Iteration (12) ################# +PASSED! +## Iteration (11) ################# +PASSED! +## Iteration (10) ################# +PASSED! +## Iteration (9) ################# +PASSED! +## Iteration (8) ################# +PASSED! +## Iteration (7) ################# +PASSED! +## Iteration (6) ################# +PASSED! +## Iteration (5) ################# +PASSED! +## Iteration (4) ################# +PASSED! +## Iteration (3) ################# +PASSED! +## Iteration (2) ################# +PASSED! +## Iteration (1) ################# +PASSED! +## Iteration (0) ################# +PASSED! +1822770162190096:1822770162201236 116438:116438 hipGetDeviceProperties() +1822770164732632:1822770164861753 116438:116438 hipMalloc(ptr(0x7fdfe4c00000) size(0x400000)) +1822770164862903:1822770164922593 116438:116438 hipMalloc(ptr(0x7fdfe4600000) size(0x400000)) +1822770164934104:1822770173240357 116438:116438 hipMemcpy(dst(0x7fdfe4c00000) src(0x20b7940) size(0x400000) kind(1)) +1822770173243647:1822770173243648 116438:116438 MARK(name(before HIP LaunchKernel)) +1822770618561423:1822770618561424 116438:116438 MARK(name(after HIP LaunchKernel)) +1822770636292136:1822770636292137 116438:116438 MARK(name(before HIP LaunchKernel)) +1822770636318946:1822770636318947 116438:116438 MARK(name(after HIP LaunchKernel)) +1822770649027427:1822770649027428 116438:116438 MARK(name(before HIP LaunchKernel)) +1822770649055147:1822770649055148 116438:116438 MARK(name(after HIP LaunchKernel)) +1822770661858819:1822770661858820 116438:116438 MARK(name(before HIP LaunchKernel)) +1822770661886030:1822770661886031 116438:116438 MARK(name(after HIP LaunchKernel)) +1822770674690761:1822770674690762 116438:116438 MARK(name(before HIP LaunchKernel)) +1822770674719182:1822770674719183 116438:116438 MARK(name(after HIP LaunchKernel)) +1822770687446783:1822770687446784 116438:116438 MARK(name(before HIP LaunchKernel)) +1822770687474763:1822770687474764 116438:116438 MARK(name(after HIP LaunchKernel)) +1822770700179044:1822770700179045 116438:116438 MARK(name(before HIP LaunchKernel)) +1822770700207174:1822770700207175 116438:116438 MARK(name(after HIP LaunchKernel)) +1822770713015755:1822770713015756 116438:116438 MARK(name(before HIP LaunchKernel)) +1822770713043885:1822770713043886 116438:116438 MARK(name(after HIP LaunchKernel)) +1822770725806637:1822770725806638 116438:116438 MARK(name(before HIP LaunchKernel)) +1822770725833717:1822770725833718 116438:116438 MARK(name(after HIP LaunchKernel)) +1822770738590118:1822770738590119 116438:116438 MARK(name(before HIP LaunchKernel)) +1822770738618148:1822770738618149 116438:116438 MARK(name(after HIP LaunchKernel)) +1822770751343939:1822770751343940 116438:116438 MARK(name(before HIP LaunchKernel)) +1822770751372549:1822770751372550 116438:116438 MARK(name(after HIP LaunchKernel)) +1822770764097681:1822770764097682 116438:116438 MARK(name(before HIP LaunchKernel)) +1822770764136631:1822770764136632 116438:116438 MARK(name(after HIP LaunchKernel)) +1822770776839992:1822770776839993 116438:116438 MARK(name(before HIP LaunchKernel)) +1822770776867912:1822770776867913 116438:116438 MARK(name(after HIP LaunchKernel)) +1822770789778774:1822770789778775 116438:116438 MARK(name(before HIP LaunchKernel)) +1822770789807094:1822770789807095 116438:116438 MARK(name(after HIP LaunchKernel)) +1822770802678836:1822770802678837 116438:116438 MARK(name(before HIP LaunchKernel)) +1822770802707166:1822770802707167 116438:116438 MARK(name(after HIP LaunchKernel)) +1822770815520828:1822770815520829 116438:116438 MARK(name(before HIP LaunchKernel)) +1822770815548698:1822770815548699 116438:116438 MARK(name(after HIP LaunchKernel)) +1822770828292289:1822770828292290 116438:116438 MARK(name(before HIP LaunchKernel)) +1822770828320769:1822770828320770 116438:116438 MARK(name(after HIP LaunchKernel)) +1822770841038531:1822770841038532 116438:116438 MARK(name(before HIP LaunchKernel)) +1822770841065971:1822770841065972 116438:116438 MARK(name(after HIP LaunchKernel)) +1822770853790232:1822770853790233 116438:116438 MARK(name(before HIP LaunchKernel)) +1822770853820062:1822770853820063 116438:116438 MARK(name(after HIP LaunchKernel)) +1822770866522263:1822770866522264 116438:116438 MARK(name(before HIP LaunchKernel)) +1822770866550493:1822770866550494 116438:116438 MARK(name(after HIP LaunchKernel)) +1822770879265854:1822770879265855 116438:116438 MARK(name(before HIP LaunchKernel)) +1822770879294035:1822770879294036 116438:116438 MARK(name(after HIP LaunchKernel)) +1822770892077246:1822770892077247 116438:116438 MARK(name(before HIP LaunchKernel)) +1822770892105206:1822770892105207 116438:116438 MARK(name(after HIP LaunchKernel)) +1822770904861617:1822770904861618 116438:116438 MARK(name(before HIP LaunchKernel)) +1822770904892457:1822770904892458 116438:116438 MARK(name(after HIP LaunchKernel)) +1822770917627368:1822770917627369 116438:116438 MARK(name(before HIP LaunchKernel)) +1822770917655519:1822770917655520 116438:116438 MARK(name(after HIP LaunchKernel)) +1822770930409670:1822770930409671 116438:116438 MARK(name(before HIP LaunchKernel)) +1822770930438360:1822770930438361 116438:116438 MARK(name(after HIP LaunchKernel)) +1822770943189151:1822770943189152 116438:116438 MARK(name(before HIP LaunchKernel)) +1822770943217081:1822770943217082 116438:116438 MARK(name(after HIP LaunchKernel)) +1822770956024813:1822770956024814 116438:116438 MARK(name(before HIP LaunchKernel)) +1822770956052314:1822770956052315 116438:116438 MARK(name(after HIP LaunchKernel)) +1822770968829485:1822770968829486 116438:116438 MARK(name(before HIP LaunchKernel)) +1822770968857945:1822770968857946 116438:116438 MARK(name(after HIP LaunchKernel)) +1822770981593826:1822770981593827 116438:116438 MARK(name(before HIP LaunchKernel)) +1822770981621566:1822770981621567 116438:116438 MARK(name(after HIP LaunchKernel)) +1822770994423678:1822770994423679 116438:116438 MARK(name(before HIP LaunchKernel)) +1822770994452568:1822770994452569 116438:116438 MARK(name(after HIP LaunchKernel)) +1822771007194429:1822771007194430 116438:116438 MARK(name(before HIP LaunchKernel)) +1822771007221919:1822771007221920 116438:116438 MARK(name(after HIP LaunchKernel)) +1822771020222042:1822771020222043 116438:116438 MARK(name(before HIP LaunchKernel)) +1822771020249972:1822771020249973 116438:116438 MARK(name(after HIP LaunchKernel)) +1822771032985534:1822771032985535 116438:116438 MARK(name(before HIP LaunchKernel)) +1822771033013724:1822771033013725 116438:116438 MARK(name(after HIP LaunchKernel)) +1822771045714144:1822771045714145 116438:116438 MARK(name(before HIP LaunchKernel)) +1822771045741935:1822771045741936 116438:116438 MARK(name(after HIP LaunchKernel)) +1822771058596217:1822771058596218 116438:116438 MARK(name(before HIP LaunchKernel)) +1822771058624617:1822771058624618 116438:116438 MARK(name(after HIP LaunchKernel)) +1822771071441309:1822771071441310 116438:116438 MARK(name(before HIP LaunchKernel)) +1822771071469609:1822771071469610 116438:116438 MARK(name(after HIP LaunchKernel)) +1822771084319850:1822771084319851 116438:116438 MARK(name(before HIP LaunchKernel)) +1822771084348361:1822771084348362 116438:116438 MARK(name(after HIP LaunchKernel)) +1822771097128132:1822771097128133 116438:116438 MARK(name(before HIP LaunchKernel)) +1822771097156612:1822771097156613 116438:116438 MARK(name(after HIP LaunchKernel)) +1822771109883183:1822771109883184 116438:116438 MARK(name(before HIP LaunchKernel)) +1822771109921563:1822771109921564 116438:116438 MARK(name(after HIP LaunchKernel)) +1822771122729855:1822771122729856 116438:116438 MARK(name(before HIP LaunchKernel)) +1822771122757155:1822771122757156 116438:116438 MARK(name(after HIP LaunchKernel)) +1822771135568637:1822771135568638 116438:116438 MARK(name(before HIP LaunchKernel)) +1822771135597657:1822771135597658 116438:116438 MARK(name(after HIP LaunchKernel)) +1822771148375219:1822771148375220 116438:116438 MARK(name(before HIP LaunchKernel)) +1822771148403629:1822771148403630 116438:116438 MARK(name(after HIP LaunchKernel)) +1822771159180137:1822771161235110 116438:116438 hipMemcpy(dst(0x7fdfe4c00000) src(0x20b7940) size(0x400000) kind(1)) +1822771161236660:1822771161236661 116438:116438 MARK(name(before HIP LaunchKernel)) +1822771161248381:1822771161264431 116438:116438 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822771161285751:1822771161285752 116438:116438 MARK(name(after HIP LaunchKernel)) +1822771161287281:1822771165514938 116438:116438 hipMemcpy(dst(0x24b7950) src(0x7fdfe4600000) size(0x400000) kind(2)) +1822771171918848:1822771173984782 116438:116438 hipMemcpy(dst(0x7fdfe4c00000) src(0x20b7940) size(0x400000) kind(1)) +1822771173986152:1822771173986153 116438:116438 MARK(name(before HIP LaunchKernel)) +1822771173996942:1822771174012792 116438:116438 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822771174014272:1822771174014273 116438:116438 MARK(name(after HIP LaunchKernel)) +1822771174015382:1822771178279619 116438:116438 hipMemcpy(dst(0x24b7950) src(0x7fdfe4600000) size(0x400000) kind(2)) +1822771184673329:1822771186731413 116438:116438 hipMemcpy(dst(0x7fdfe4c00000) src(0x20b7940) size(0x400000) kind(1)) +1822771186732863:1822771186732864 116438:116438 MARK(name(before HIP LaunchKernel)) +1822771186744233:1822771186760743 116438:116438 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822771186761783:1822771186761784 116438:116438 MARK(name(after HIP LaunchKernel)) +1822771186762873:1822771191066460 116438:116438 hipMemcpy(dst(0x24b7950) src(0x7fdfe4600000) size(0x400000) kind(2)) +1822771197562312:1822771199606165 116438:116438 hipMemcpy(dst(0x7fdfe4c00000) src(0x20b7940) size(0x400000) kind(1)) +1822771199607685:1822771199607686 116438:116438 MARK(name(before HIP LaunchKernel)) +1822771199618535:1822771199634505 116438:116438 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822771199635835:1822771199635836 116438:116438 MARK(name(after HIP LaunchKernel)) +1822771199636915:1822771203924882 116438:116438 hipMemcpy(dst(0x24b7950) src(0x7fdfe4600000) size(0x400000) kind(2)) +1822771210390814:1822771212448587 116438:116438 hipMemcpy(dst(0x7fdfe4c00000) src(0x20b7940) size(0x400000) kind(1)) +1822771212450127:1822771212450128 116438:116438 MARK(name(before HIP LaunchKernel)) +1822771212462917:1822771212479457 116438:116438 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822771212480477:1822771212480478 116438:116438 MARK(name(after HIP LaunchKernel)) +1822771212481567:1822771216792744 116438:116438 hipMemcpy(dst(0x24b7950) src(0x7fdfe4600000) size(0x400000) kind(2)) +1822771223198475:1822771225253498 116438:116438 hipMemcpy(dst(0x7fdfe4c00000) src(0x20b7940) size(0x400000) kind(1)) +1822771225255288:1822771225255289 116438:116438 MARK(name(before HIP LaunchKernel)) +1822771225266888:1822771225282819 116438:116438 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822771225283809:1822771225283810 116438:116438 MARK(name(after HIP LaunchKernel)) +1822771225284909:1822771229566596 116438:116438 hipMemcpy(dst(0x24b7950) src(0x7fdfe4600000) size(0x400000) kind(2)) +1822771236041977:1822771238101610 116438:116438 hipMemcpy(dst(0x7fdfe4c00000) src(0x20b7940) size(0x400000) kind(1)) +1822771238103080:1822771238103081 116438:116438 MARK(name(before HIP LaunchKernel)) +1822771238113820:1822771238129850 116438:116438 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822771238130840:1822771238130841 116438:116438 MARK(name(after HIP LaunchKernel)) +1822771238131950:1822771242369628 116438:116438 hipMemcpy(dst(0x24b7950) src(0x7fdfe4600000) size(0x400000) kind(2)) +1822771248769078:1822771250830021 116438:116438 hipMemcpy(dst(0x7fdfe4c00000) src(0x20b7940) size(0x400000) kind(1)) +1822771250831601:1822771250831602 116438:116438 MARK(name(before HIP LaunchKernel)) +1822771250842911:1822771250858631 116438:116438 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +1822771250859621:1822771250859622 116438:116438 MARK(name(after HIP LaunchKernel)) +1822771250860701:1822771255145869 116438:116438 hipMemcpy(dst(0x24b7950) src(0x7fdfe4600000) size(0x400000) kind(2)) +1822771263595032:1822771263595033 116438:116438 MARK(name(before HIP LaunchKernel)) +1822771263622582:1822771263622583 116438:116438 MARK(name(after HIP LaunchKernel)) +1822771276404694:1822771276404695 116438:116438 MARK(name(before HIP LaunchKernel)) +1822771276431864:1822771276431865 116438:116438 MARK(name(after HIP LaunchKernel)) +1822771289132475:1822771289132476 116438:116438 MARK(name(before HIP LaunchKernel)) +1822771289160596:1822771289160597 116438:116438 MARK(name(after HIP LaunchKernel)) +1822771301911557:1822771301911558 116438:116438 MARK(name(before HIP LaunchKernel)) +1822771301950127:1822771301950128 116438:116438 MARK(name(after HIP LaunchKernel)) +1822771314764229:1822771314764230 116438:116438 MARK(name(before HIP LaunchKernel)) +1822771314791509:1822771314791510 116438:116438 MARK(name(after HIP LaunchKernel)) +1822771327616470:1822771327616471 116438:116438 MARK(name(before HIP LaunchKernel)) +1822771327644471:1822771327644472 116438:116438 MARK(name(after HIP LaunchKernel)) +1822771340467792:1822771340467793 116438:116438 MARK(name(before HIP LaunchKernel)) +1822771340495392:1822771340495393 116438:116438 MARK(name(after HIP LaunchKernel)) +1822771353284764:1822771353284765 116438:116438 MARK(name(before HIP LaunchKernel)) +1822771353314034:1822771353314035 116438:116438 MARK(name(after HIP LaunchKernel)) +1822771366027805:1822771366027806 116438:116438 MARK(name(before HIP LaunchKernel)) +1822771366054975:1822771366054976 116438:116438 MARK(name(after HIP LaunchKernel)) +1822771378747056:1822771378747057 116438:116438 MARK(name(before HIP LaunchKernel)) +1822771378775616:1822771378775617 116438:116438 MARK(name(after HIP LaunchKernel)) +1822771391520358:1822771391520359 116438:116438 MARK(name(before HIP LaunchKernel)) +1822771391548328:1822771391548329 116438:116438 MARK(name(after HIP LaunchKernel)) +1822771404259849:1822771404259850 116438:116438 MARK(name(before HIP LaunchKernel)) +1822771404287629:1822771404287630 116438:116438 MARK(name(after HIP LaunchKernel)) +1822771417078650:1822771417078651 116438:116438 MARK(name(before HIP LaunchKernel)) +1822771417105521:1822771417105522 116438:116438 MARK(name(after HIP LaunchKernel)) +1822771429921622:1822771429921623 116438:116438 MARK(name(before HIP LaunchKernel)) +1822771429948912:1822771429948913 116438:116438 MARK(name(after HIP LaunchKernel)) +1822771442703863:1822771442703864 116438:116438 MARK(name(before HIP LaunchKernel)) +1822771442732114:1822771442732115 116438:116438 MARK(name(after HIP LaunchKernel)) +1822771455546175:1822771455546176 116438:116438 MARK(name(before HIP LaunchKernel)) +1822771455574765:1822771455574766 116438:116438 MARK(name(after HIP LaunchKernel)) +1822771468309596:1822771468309597 116438:116438 MARK(name(before HIP LaunchKernel)) +1822771468337556:1822771468337557 116438:116438 MARK(name(after HIP LaunchKernel)) +1822771481124388:1822771481124389 116438:116438 MARK(name(before HIP LaunchKernel)) +1822771481151899:1822771481151900 116438:116438 MARK(name(after HIP LaunchKernel)) +1822771493874879:1822771493874880 116438:116438 MARK(name(before HIP LaunchKernel)) +1822771493904120:1822771493904121 116438:116438 MARK(name(after HIP LaunchKernel)) +1822771506687371:1822771506687372 116438:116438 MARK(name(before HIP LaunchKernel)) +1822771506715871:1822771506715872 116438:116438 MARK(name(after HIP LaunchKernel)) +1822771519464533:1822771519464534 116438:116438 MARK(name(before HIP LaunchKernel)) +1822771519492293:1822771519492294 116438:116438 MARK(name(after HIP LaunchKernel)) +1822771532279194:1822771532279195 116438:116438 MARK(name(before HIP LaunchKernel)) +1822771532307234:1822771532307235 116438:116438 MARK(name(after HIP LaunchKernel)) +1822771545016015:1822771545016016 116438:116438 MARK(name(before HIP LaunchKernel)) +1822771545044205:1822771545044206 116438:116438 MARK(name(after HIP LaunchKernel)) +1822771557801846:1822771557801847 116438:116438 MARK(name(before HIP LaunchKernel)) +1822771557829627:1822771557829628 116438:116438 MARK(name(after HIP LaunchKernel)) +1822771570644168:1822771570644169 116438:116438 MARK(name(before HIP LaunchKernel)) +1822771570672029:1822771570672030 116438:116438 MARK(name(after HIP LaunchKernel)) +1822771583412800:1822771583412801 116438:116438 MARK(name(before HIP LaunchKernel)) +1822771583440560:1822771583440561 116438:116438 MARK(name(after HIP LaunchKernel)) +1822771596207231:1822771596207232 116438:116438 MARK(name(before HIP LaunchKernel)) +1822771596235072:1822771596235073 116438:116438 MARK(name(after HIP LaunchKernel)) +1822771609169614:1822771609169615 116438:116438 MARK(name(before HIP LaunchKernel)) +1822771609198584:1822771609198585 116438:116438 MARK(name(after HIP LaunchKernel)) +1822771621935145:1822771621935146 116438:116438 MARK(name(before HIP LaunchKernel)) +1822771621963045:1822771621963046 116438:116438 MARK(name(after HIP LaunchKernel)) +1822771634755077:1822771634755078 116438:116438 MARK(name(before HIP LaunchKernel)) +1822771634782347:1822771634782348 116438:116438 MARK(name(after HIP LaunchKernel)) +1822771647514558:1822771647514559 116438:116438 MARK(name(before HIP LaunchKernel)) +1822771647554188:1822771647554189 116438:116438 MARK(name(after HIP LaunchKernel)) +1822771660410781:1822771660410782 116438:116438 MARK(name(before HIP LaunchKernel)) +1822771660438721:1822771660438722 116438:116438 MARK(name(after HIP LaunchKernel)) +1822771673205902:1822771673205903 116438:116438 MARK(name(before HIP LaunchKernel)) +1822771673233972:1822771673233973 116438:116438 MARK(name(after HIP LaunchKernel)) +1822771686004863:1822771686004864 116438:116438 MARK(name(before HIP LaunchKernel)) +1822771686032954:1822771686032955 116438:116438 MARK(name(after HIP LaunchKernel)) +1822771698793305:1822771698793306 116438:116438 MARK(name(before HIP LaunchKernel)) +1822771698821805:1822771698821806 116438:116438 MARK(name(after HIP LaunchKernel)) +1822771711576346:1822771711576347 116438:116438 MARK(name(before HIP LaunchKernel)) +1822771711604186:1822771711604187 116438:116438 MARK(name(after HIP LaunchKernel)) +1822771724367387:1822771724367388 116438:116438 MARK(name(before HIP LaunchKernel)) +1822771724394878:1822771724394879 116438:116438 MARK(name(after HIP LaunchKernel)) +1822771737130739:1822771737130740 116438:116438 MARK(name(before HIP LaunchKernel)) +1822771737160079:1822771737160080 116438:116438 MARK(name(after HIP LaunchKernel)) +1822771749894700:1822771749894701 116438:116438 MARK(name(before HIP LaunchKernel)) +1822771749922980:1822771749922981 116438:116438 MARK(name(after HIP LaunchKernel)) +1822771762658122:1822771762658123 116438:116438 MARK(name(before HIP LaunchKernel)) +1822771762686292:1822771762686293 116438:116438 MARK(name(after HIP LaunchKernel)) +1822771775443853:1822771775443854 116438:116438 MARK(name(before HIP LaunchKernel)) +1822771775471433:1822771775471434 116438:116438 MARK(name(after HIP LaunchKernel)) +1822771788218125:1822771788218126 116438:116438 MARK(name(before HIP LaunchKernel)) +1822771788245825:1822771788245826 116438:116438 MARK(name(after HIP LaunchKernel)) +1822771801042946:1822771801042947 116438:116438 MARK(name(before HIP LaunchKernel)) +1822771801071416:1822771801071417 116438:116438 MARK(name(after HIP LaunchKernel)) +1822771813839688:1822771813839689 116438:116438 MARK(name(before HIP LaunchKernel)) +1822771813867578:1822771813867579 116438:116438 MARK(name(after HIP LaunchKernel)) +1822771826878471:1822771826878472 116438:116438 MARK(name(before HIP LaunchKernel)) +1822771826906261:1822771826906262 116438:116438 MARK(name(after HIP LaunchKernel)) +1822771839641572:1822771839641573 116438:116438 MARK(name(before HIP LaunchKernel)) +1822771839669053:1822771839669054 116438:116438 MARK(name(after HIP LaunchKernel)) +1822771852458764:1822771852458765 116438:116438 MARK(name(before HIP LaunchKernel)) +1822771852485704:1822771852485705 116438:116438 MARK(name(after HIP LaunchKernel)) +1822771865247615:1822771865247616 116438:116438 MARK(name(before HIP LaunchKernel)) +1822771865275756:1822771865275757 116438:116438 MARK(name(after HIP LaunchKernel)) +1822771878163408:1822771878163409 116438:116438 MARK(name(before HIP LaunchKernel)) +1822771878191438:1822771878191439 116438:116438 MARK(name(after HIP LaunchKernel)) +1822771891031999:1822771891032000 116438:116438 MARK(name(before HIP LaunchKernel)) +1822771891060780:1822771891060781 116438:116438 MARK(name(after HIP LaunchKernel)) +1822770164959094:1822770173233007 0:0 hcMemcpyHostToDevice:4 +1822771159196627:1822771161231010 0:0 hcMemcpyHostToDevice:89 +1822771161271486:1822771162462508 0:0 hcCommandKernel:91 +1822771162546779:1822771165512668 0:0 hcMemcpyDeviceToHost:93 +1822771171936428:1822771173981162 0:0 hcMemcpyHostToDevice:94 +1822771174019952:1822771175216159 0:0 hcCommandKernel:96 +1822771162467378:1822771162499379 0:0 hcCommandMarker:93 +1822771175297180:1822771178277099 0:0 hcMemcpyDeviceToHost:98 +1822771184690200:1822771186728003 0:0 hcMemcpyHostToDevice:99 +1822771186767974:1822771187965367 0:0 hcCommandKernel:101 +1822771175221178:1822771175252439 0:0 hcCommandMarker:98 +1822771188052511:1822771191063960 0:0 hcMemcpyDeviceToHost:103 +1822771197579732:1822771199602785 0:0 hcMemcpyHostToDevice:104 +1822771199641385:1822771200839370 0:0 hcCommandKernel:106 +1822771187970434:1822771188001695 0:0 hcCommandMarker:103 +1822771200920833:1822771203922192 0:0 hcMemcpyDeviceToHost:108 +1822771210408554:1822771212444577 0:0 hcMemcpyHostToDevice:109 +1822771212486611:1822771213670374 0:0 hcCommandKernel:111 +1822771200844255:1822771200875960 0:0 hcCommandMarker:108 +1822771213752345:1822771216790154 0:0 hcMemcpyDeviceToHost:113 +1822771223214605:1822771225250368 0:0 hcMemcpyHostToDevice:114 +1822771225289765:1822771226493528 0:0 hcCommandKernel:116 +1822771213675410:1822771213707115 0:0 hcCommandMarker:113 +1822771226574837:1822771229564026 0:0 hcMemcpyDeviceToHost:118 +1822771236058777:1822771238097360 0:0 hcMemcpyHostToDevice:119 +1822771238136777:1822771239325132 0:0 hcCommandKernel:121 +1822771226498570:1822771226530127 0:0 hcCommandMarker:118 +1822771239406108:1822771242367398 0:0 hcMemcpyDeviceToHost:123 +1822771248787248:1822771250826071 0:0 hcMemcpyHostToDevice:124 +1822771250866138:1822771252059234 0:0 hcCommandKernel:126 +1822771239330157:1822771239361418 0:0 hcCommandMarker:123 +1822771252142610:1822771255143279 0:0 hcMemcpyDeviceToHost:128 +1822771252064420:1822771252095680 0:0 hcCommandMarker:128 From 5d32ade5d642e9925819eda3161fbd13d16ac0d1 Mon Sep 17 00:00:00 2001 From: rkebichi <54912798+rkebichi@users.noreply.github.com> Date: Fri, 31 Jan 2020 16:06:39 -0500 Subject: [PATCH 311/691] Create MatrixTranspose_test_trace.txt --- .../MatrixTranspose_test_trace.txt | 6716 +++++++++++++++++ 1 file changed, 6716 insertions(+) create mode 100644 test/MatrixTranspose_test/MatrixTranspose_test_trace.txt diff --git a/test/MatrixTranspose_test/MatrixTranspose_test_trace.txt b/test/MatrixTranspose_test/MatrixTranspose_test_trace.txt new file mode 100644 index 0000000000..03f88c0880 --- /dev/null +++ b/test/MatrixTranspose_test/MatrixTranspose_test_trace.txt @@ -0,0 +1,6716 @@ +standalone HIP test: "LD_PRELOAD=libkfdwrapper64.so ./test/MatrixTranspose_test" +# INIT ############################# +# START (99) ############################# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Device 0 name: Vega 10 XT [Radeon RX Vega 64] + + + + ptr(0x7ffe1b3413b8) size(0x400000) + + + + + + + + *ptr(0x0x7feab4800000) + + + + ptr(0x7ffe1b3413b0) size(0x400000) + + + + + + + + *ptr(0x0x7feab4200000) + + + + dst(0x7feab4800000) src(0xc21170) size(0x400000) kind(1) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + dst(0x1021180) src(0x7feab4200000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + + ptr(0x7feab4800000) + + + + + + + + + + ptr(0x7feab4200000) + + + + + + +# START (98) ############################# +Device 0 name: Vega 10 XT [Radeon RX Vega 64] +PASSED! +# START (97) ############################# + + + + + + + + +Device 0 name: Vega 10 XT [Radeon RX Vega 64] + + + + ptr(0x7ffe1b3413b8) size(0x400000) + + + + + + + + *ptr(0x0x7feab4800000) + + + + ptr(0x7ffe1b3413b0) size(0x400000) + + + + + + + + *ptr(0x0x7feab4200000) + + + + dst(0x7feab4800000) src(0x63a3990) size(0x400000) kind(1) + + + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0xc21170) src(0x7feab4200000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + + ptr(0x7feab4800000) + + + + + + + + + + ptr(0x7feab4200000) + + + + + + +# START (96) ############################# +Device 0 name: Vega 10 XT [Radeon RX Vega 64] +PASSED! +# START (95) ############################# + + + + + + + + +Device 0 name: Vega 10 XT [Radeon RX Vega 64] + + + + ptr(0x7ffe1b3413b8) size(0x400000) + + + + + + + + *ptr(0x0x7feab4800000) + + + + ptr(0x7ffe1b3413b0) size(0x400000) + + + + + + + + *ptr(0x0x7feab4200000) + + + + dst(0x7feab4800000) src(0x63a3990) size(0x400000) kind(1) + + + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0xc21170) src(0x7feab4200000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + + ptr(0x7feab4800000) + + + + + + + + + + ptr(0x7feab4200000) + + + + + + +# START (94) ############################# +Device 0 name: Vega 10 XT [Radeon RX Vega 64] +PASSED! +# START (93) ############################# + + + + + + + + +Device 0 name: Vega 10 XT [Radeon RX Vega 64] + + + + ptr(0x7ffe1b3413b8) size(0x400000) + + + + + + + + *ptr(0x0x7feab4800000) + + + + ptr(0x7ffe1b3413b0) size(0x400000) + + + + + + + + *ptr(0x0x7feab4200000) + + + + dst(0x7feab4800000) src(0x63a3990) size(0x400000) kind(1) + + + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0xc21170) src(0x7feab4200000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + Activity records: + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116396) thread_id(116396) + external_id(33) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116396) thread_id(116396) + external_id(31) + process_id(116396) thread_id(116396) + external_id(31) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116396) thread_id(116396) + external_id(33) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116396) thread_id(116396) + external_id(31) + process_id(116396) thread_id(116396) + external_id(31) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116396) thread_id(116396) + external_id(33) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116396) thread_id(116396) + external_id(31) + process_id(116396) thread_id(116396) + external_id(31) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116396) thread_id(116396) + external_id(33) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) +PASSED! + + + + ptr(0x7feab4800000) + + + + + + + + + + ptr(0x7feab4200000) + + + + + + +# START (92) ############################# +Device 0 name: Vega 10 XT [Radeon RX Vega 64] +PASSED! +# START (91) ############################# + + + + + + + + +Device 0 name: Vega 10 XT [Radeon RX Vega 64] + + + + ptr(0x7ffe1b3413b8) size(0x400000) + + + + + + + + *ptr(0x0x7feab4800000) + + + + ptr(0x7ffe1b3413b0) size(0x400000) + + + + + + + + *ptr(0x0x7feab4200000) + + + + dst(0x7feab4800000) src(0x63a3990) size(0x400000) kind(1) + + + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0xc21170) src(0x7feab4200000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + + ptr(0x7feab4800000) + + + + + + + + + + ptr(0x7feab4200000) + + + + + + +# START (90) ############################# +Device 0 name: Vega 10 XT [Radeon RX Vega 64] +PASSED! +# START (89) ############################# + + + + + + + + +Device 0 name: Vega 10 XT [Radeon RX Vega 64] + + + + ptr(0x7ffe1b3413b8) size(0x400000) + + + + + + + + *ptr(0x0x7feab4800000) + + + + ptr(0x7ffe1b3413b0) size(0x400000) + + + + + + + + *ptr(0x0x7feab4200000) + + + + dst(0x7feab4800000) src(0x63a3990) size(0x400000) kind(1) + + + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0xc21170) src(0x7feab4200000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + + ptr(0x7feab4800000) + + + + + + + + + + ptr(0x7feab4200000) + + + + + + +# START (88) ############################# +Device 0 name: Vega 10 XT [Radeon RX Vega 64] +PASSED! +# START (87) ############################# + + + + + + + + +Device 0 name: Vega 10 XT [Radeon RX Vega 64] + + + + ptr(0x7ffe1b3413b8) size(0x400000) + + + + + + + + *ptr(0x0x7feab4800000) + + + + ptr(0x7ffe1b3413b0) size(0x400000) + + + + + + + + *ptr(0x0x7feab4200000) + + + + dst(0x7feab4800000) src(0x63a3990) size(0x400000) kind(1) + + + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0xc21170) src(0x7feab4200000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + + ptr(0x7feab4800000) + + + + + + + + + + ptr(0x7feab4200000) + + + + + + +# START (86) ############################# +Device 0 name: Vega 10 XT [Radeon RX Vega 64] +PASSED! +# START (85) ############################# + + + + + + + + +Device 0 name: Vega 10 XT [Radeon RX Vega 64] + + + + ptr(0x7ffe1b3413b8) size(0x400000) + + + + + + + + *ptr(0x0x7feab4800000) + + + + ptr(0x7ffe1b3413b0) size(0x400000) + Activity records: + device_id(0) queue_id(0) + bytes(0x400000) + + + + external_id(32) + process_id(116396) thread_id(116396) + external_id(31) + process_id(116396) thread_id(116396) + external_id(31) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + + + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + bytes(0x400000) + + + *ptr(0x0x7feab4200000) + + + + dst(0x7feab4800000) src(0x63a3990) size(0x400000) kind(1) + + + external_id(32) + + process_id(116396) thread_id(116396) + + external_id(33) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116396) thread_id(116396) + external_id(31) + process_id(116396) thread_id(116396) + external_id(31) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116396) thread_id(116396) + external_id(33) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116396) thread_id(116396) + external_id(31) + process_id(116396) thread_id(116396) + external_id(31) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116396) thread_id(116396) + external_id(33) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116396) thread_id(116396) + external_id(31) + process_id(116396) thread_id(116396) + external_id(31) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0xc21170) src(0x7feab4200000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + + ptr(0x7feab4800000) + + + + + + + + + + ptr(0x7feab4200000) + + + + + + +# START (84) ############################# +Device 0 name: Vega 10 XT [Radeon RX Vega 64] +PASSED! +# START (83) ############################# + + + + + + + + +Device 0 name: Vega 10 XT [Radeon RX Vega 64] + + + + ptr(0x7ffe1b3413b8) size(0x400000) + + + + + + + + *ptr(0x0x7feab4800000) + + + + ptr(0x7ffe1b3413b0) size(0x400000) + + + + + + + + *ptr(0x0x7feab4200000) + + + + dst(0x7feab4800000) src(0x63a3990) size(0x400000) kind(1) + + + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0xc21170) src(0x7feab4200000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + + ptr(0x7feab4800000) + + + + + + + + + + ptr(0x7feab4200000) + + + + + + +# START (82) ############################# +Device 0 name: Vega 10 XT [Radeon RX Vega 64] +PASSED! +# START (81) ############################# + + + + + + + + +Device 0 name: Vega 10 XT [Radeon RX Vega 64] + + + + ptr(0x7ffe1b3413b8) size(0x400000) + + + + + + + + *ptr(0x0x7feab4800000) + + + + ptr(0x7ffe1b3413b0) size(0x400000) + + + + + + + + *ptr(0x0x7feab4200000) + + + + dst(0x7feab4800000) src(0x63a3990) size(0x400000) kind(1) + + + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0xc21170) src(0x7feab4200000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + + ptr(0x7feab4800000) + + + + + + + + + + ptr(0x7feab4200000) + + + + + + +# START (80) ############################# +Device 0 name: Vega 10 XT [Radeon RX Vega 64] +PASSED! +# START (79) ############################# + + + + + + + + +Device 0 name: Vega 10 XT [Radeon RX Vega 64] + + + + ptr(0x7ffe1b3413b8) size(0x400000) + + + + + + + + *ptr(0x0x7feab4800000) + + + + ptr(0x7ffe1b3413b0) size(0x400000) + + + + + + + + *ptr(0x0x7feab4200000) + + + + dst(0x7feab4800000) src(0x63a3990) size(0x400000) kind(1) + + + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0xc21170) src(0x7feab4200000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + Activity records: + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116396) thread_id(116396) + external_id(33) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116396) thread_id(116396) + external_id(31) + process_id(116396) thread_id(116396) + external_id(31) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116396) thread_id(116396) + external_id(33) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116396) thread_id(116396) + external_id(31) + process_id(116396) thread_id(116396) + external_id(31) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116396) thread_id(116396) + external_id(33) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116396) thread_id(116396) + external_id(31) + process_id(116396) thread_id(116396) + external_id(31) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116396) thread_id(116396) + external_id(33) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) +PASSED! + + + + ptr(0x7feab4800000) + + + + + + + + + + ptr(0x7feab4200000) + + + + + + +# START (78) ############################# +Device 0 name: Vega 10 XT [Radeon RX Vega 64] +PASSED! +# START (77) ############################# + + + + + + + + +Device 0 name: Vega 10 XT [Radeon RX Vega 64] + + + + ptr(0x7ffe1b3413b8) size(0x400000) + + + + + + + + *ptr(0x0x7feab4800000) + + + + ptr(0x7ffe1b3413b0) size(0x400000) + + + + + + + + *ptr(0x0x7feab4200000) + + + + dst(0x7feab4800000) src(0x63a3990) size(0x400000) kind(1) + + + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0xc21170) src(0x7feab4200000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + + ptr(0x7feab4800000) + + + + + + + + + + ptr(0x7feab4200000) + + + + + + +# START (76) ############################# +Device 0 name: Vega 10 XT [Radeon RX Vega 64] +PASSED! +# START (75) ############################# + + + + + + + + +Device 0 name: Vega 10 XT [Radeon RX Vega 64] + + + + ptr(0x7ffe1b3413b8) size(0x400000) + + + + + + + + *ptr(0x0x7feab4800000) + + + + ptr(0x7ffe1b3413b0) size(0x400000) + + + + + + + + *ptr(0x0x7feab4200000) + + + + dst(0x7feab4800000) src(0x63a3990) size(0x400000) kind(1) + + + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0xc21170) src(0x7feab4200000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + + ptr(0x7feab4800000) + + + + + + + + + + ptr(0x7feab4200000) + + + + + + +# START (74) ############################# +Device 0 name: Vega 10 XT [Radeon RX Vega 64] +PASSED! +# START (73) ############################# + + + + + + + + +Device 0 name: Vega 10 XT [Radeon RX Vega 64] + + + + ptr(0x7ffe1b3413b8) size(0x400000) + + + + + + + + *ptr(0x0x7feab4800000) + + + + ptr(0x7ffe1b3413b0) size(0x400000) + + + + + + + + *ptr(0x0x7feab4200000) + + + + dst(0x7feab4800000) src(0x63a3990) size(0x400000) kind(1) + + + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0xc21170) src(0x7feab4200000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + + ptr(0x7feab4800000) + + + + + + + + + + ptr(0x7feab4200000) + + + + + + +# START (72) ############################# +Device 0 name: Vega 10 XT [Radeon RX Vega 64] +PASSED! +# START (71) ############################# + + + + + + + + +Device 0 name: Vega 10 XT [Radeon RX Vega 64] + + + + ptr(0x7ffe1b3413b8) size(0x400000) + + + + + + + + *ptr(0x0x7feab4800000) + + + + ptr(0x7ffe1b3413b0) size(0x400000) + + + + + + + + *ptr(0x0x7feab4200000) + + + + dst(0x7feab4800000) src(0x63a3990) size(0x400000) kind(1) + + + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + Activity records: + + process_id(116396) thread_id(116396) + + + + + + + + + dst(0xc21170) src(0x7feab4200000) size(0x400000) kind(2) + + + external_id(31) + process_id(116396) thread_id(116396) + external_id(31) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116396) thread_id(116396) + external_id(33) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116396) thread_id(116396) + external_id(31) + process_id(116396) thread_id(116396) + external_id(31) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116396) thread_id(116396) + + + + + + + external_id(33) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116396) thread_id(116396) + external_id(31) + process_id(116396) thread_id(116396) + external_id(31) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116396) thread_id(116396) + external_id(33) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116396) thread_id(116396) + external_id(31) + process_id(116396) thread_id(116396) + external_id(31) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + + + + + + + + + + + + + + +PASSED! + + + + ptr(0x7feab4800000) + + + + + + + + + + ptr(0x7feab4200000) + + + + + + +# START (70) ############################# +Device 0 name: Vega 10 XT [Radeon RX Vega 64] +PASSED! +# START (69) ############################# + + + + + + + + +Device 0 name: Vega 10 XT [Radeon RX Vega 64] + + + + ptr(0x7ffe1b3413b8) size(0x400000) + + + + + + + + *ptr(0x0x7feab4800000) + + + + ptr(0x7ffe1b3413b0) size(0x400000) + + + + + + + + *ptr(0x0x7feab4200000) + + + + dst(0x7feab4800000) src(0x63a3990) size(0x400000) kind(1) + + + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0xc21170) src(0x7feab4200000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + + ptr(0x7feab4800000) + + + + + + + + + + ptr(0x7feab4200000) + + + + + + +# START (68) ############################# +Device 0 name: Vega 10 XT [Radeon RX Vega 64] +PASSED! +# START (67) ############################# + + + + + + + + +Device 0 name: Vega 10 XT [Radeon RX Vega 64] + + + + ptr(0x7ffe1b3413b8) size(0x400000) + + + + + + + + *ptr(0x0x7feab4800000) + + + + ptr(0x7ffe1b3413b0) size(0x400000) + + + + + + + + *ptr(0x0x7feab4200000) + + + + dst(0x7feab4800000) src(0x63a3990) size(0x400000) kind(1) + + + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0xc21170) src(0x7feab4200000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + + ptr(0x7feab4800000) + + + + + + + + + + ptr(0x7feab4200000) + + + + + + +# START (66) ############################# +Device 0 name: Vega 10 XT [Radeon RX Vega 64] +PASSED! +# START (65) ############################# + + + + + + + + +Device 0 name: Vega 10 XT [Radeon RX Vega 64] + + + + ptr(0x7ffe1b3413b8) size(0x400000) + + + + + + + + *ptr(0x0x7feab4800000) + + + + ptr(0x7ffe1b3413b0) size(0x400000) + + + + + + + + *ptr(0x0x7feab4200000) + + + + dst(0x7feab4800000) src(0x63a3990) size(0x400000) kind(1) + + + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0xc21170) src(0x7feab4200000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + + ptr(0x7feab4800000) + + + + + + + + Activity records: + + + ptr(0x7feab4200000) + + device_id(0) queue_id(0) + bytes(0x400000) + + + + + +# START (64) ############################# +Device 0 name: Vega 10 XT [Radeon RX Vega 64] + external_id(32) + process_id(116396) thread_id(116396) + external_id(33) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116396) thread_id(116396) + external_id(31) + process_id(116396) thread_id(116396) + external_id(31) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116396) thread_id(116396) + external_id(33) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116396) thread_id(116396) + external_id(31) + process_id(116396) thread_id(116396) + external_id(31) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116396) thread_id(116396) + external_id(33) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116396) thread_id(116396) + external_id(31) + process_id(116396) thread_id(116396) + external_id(31) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116396) thread_id(116396) + external_id(33) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116396) thread_id(116396) + external_id(31) +PASSED! +# START (63) ############################# + + + + + + + + +Device 0 name: Vega 10 XT [Radeon RX Vega 64] + + + + ptr(0x7ffe1b3413b8) size(0x400000) + + + + + + + + *ptr(0x0x7feab4800000) + + + + ptr(0x7ffe1b3413b0) size(0x400000) + + + + + + + + *ptr(0x0x7feab4200000) + + + + dst(0x7feab4800000) src(0x63a3990) size(0x400000) kind(1) + + + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0xc21170) src(0x7feab4200000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + + ptr(0x7feab4800000) + + + + + + + + + + ptr(0x7feab4200000) + + + + + + +# START (62) ############################# +Device 0 name: Vega 10 XT [Radeon RX Vega 64] +PASSED! +# START (61) ############################# + + + + + + + + +Device 0 name: Vega 10 XT [Radeon RX Vega 64] + + + + ptr(0x7ffe1b3413b8) size(0x400000) + + + + + + + + *ptr(0x0x7feab4800000) + + + + ptr(0x7ffe1b3413b0) size(0x400000) + + + + + + + + *ptr(0x0x7feab4200000) + + + + dst(0x7feab4800000) src(0x63a3990) size(0x400000) kind(1) + + + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0xc21170) src(0x7feab4200000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + + ptr(0x7feab4800000) + + + + + + + + + + ptr(0x7feab4200000) + + + + + + +# START (60) ############################# +Device 0 name: Vega 10 XT [Radeon RX Vega 64] +PASSED! +# START (59) ############################# + + + + + + + + +Device 0 name: Vega 10 XT [Radeon RX Vega 64] + + + + ptr(0x7ffe1b3413b8) size(0x400000) + + + + + + + + *ptr(0x0x7feab4800000) + + + + ptr(0x7ffe1b3413b0) size(0x400000) + + + + + + + + *ptr(0x0x7feab4200000) + + + + dst(0x7feab4800000) src(0x63a3990) size(0x400000) kind(1) + + + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0xc21170) src(0x7feab4200000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + + ptr(0x7feab4800000) + + + + + + + + + + ptr(0x7feab4200000) + + + + + + +# START (58) ############################# +Device 0 name: Vega 10 XT [Radeon RX Vega 64] +PASSED! +# START (57) ############################# + + + + + + + + +Device 0 name: Vega 10 XT [Radeon RX Vega 64] + + + + ptr(0x7ffe1b3413b8) size(0x400000) + + + + + + + + *ptr(0x0x7feab4800000) + + + + ptr(0x7ffe1b3413b0) size(0x400000) + + + + + + + + *ptr(0x0x7feab4200000) + + + + dst(0x7feab4800000) src(0x63a3990) size(0x400000) kind(1) + + + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + Activity records: + process_id(116396) thread_id(116396) + + + + + + + + dst(0xc21170) src(0x7feab4200000) size(0x400000) kind(2) + + + external_id(31) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116396) thread_id(116396) + external_id(33) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116396) thread_id(116396) + external_id(31) + process_id(116396) thread_id(116396) + external_id(31) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + + process_id(116396) thread_id(116396) + + device_id(0) queue_id(0) + bytes(0x400000) + + + + + external_id(32) + process_id(116396) thread_id(116396) + external_id(33) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116396) thread_id(116396) + external_id(31) + process_id(116396) thread_id(116396) + external_id(31) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116396) thread_id(116396) + external_id(33) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116396) thread_id(116396) + external_id(31) + process_id(116396) thread_id(116396) + external_id(31) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + + + + + + + + + + + + + + +PASSED! + + + + ptr(0x7feab4800000) + + + + + + + + + + ptr(0x7feab4200000) + + + + + + +# START (56) ############################# +Device 0 name: Vega 10 XT [Radeon RX Vega 64] +PASSED! +# START (55) ############################# + + + + + + + + +Device 0 name: Vega 10 XT [Radeon RX Vega 64] + + + + ptr(0x7ffe1b3413b8) size(0x400000) + + + + + + + + *ptr(0x0x7feab4800000) + + + + ptr(0x7ffe1b3413b0) size(0x400000) + + + + + + + + *ptr(0x0x7feab4200000) + + + + dst(0x7feab4800000) src(0x63a3990) size(0x400000) kind(1) + + + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0xc21170) src(0x7feab4200000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + + ptr(0x7feab4800000) + + + + + + + + + + ptr(0x7feab4200000) + + + + + + +# START (54) ############################# +Device 0 name: Vega 10 XT [Radeon RX Vega 64] +PASSED! +# START (53) ############################# + + + + + + + + +Device 0 name: Vega 10 XT [Radeon RX Vega 64] + + + + ptr(0x7ffe1b3413b8) size(0x400000) + + + + + + + + *ptr(0x0x7feab4800000) + + + + ptr(0x7ffe1b3413b0) size(0x400000) + + + + + + + + *ptr(0x0x7feab4200000) + + + + dst(0x7feab4800000) src(0x63a3990) size(0x400000) kind(1) + + + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0xc21170) src(0x7feab4200000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + + ptr(0x7feab4800000) + + + + + + + + + + ptr(0x7feab4200000) + + + + + + +# START (52) ############################# +Device 0 name: Vega 10 XT [Radeon RX Vega 64] +PASSED! +# START (51) ############################# + + + + + + + + +Device 0 name: Vega 10 XT [Radeon RX Vega 64] + + + + ptr(0x7ffe1b3413b8) size(0x400000) + + + + + + + + *ptr(0x0x7feab4800000) + + + + ptr(0x7ffe1b3413b0) size(0x400000) + + + + + + + + *ptr(0x0x7feab4200000) + + + + dst(0x7feab4800000) src(0x63a3990) size(0x400000) kind(1) + + + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0xc21170) src(0x7feab4200000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + + ptr(0x7feab4800000) + + + + + + + + + + ptr(0x7feab4200000) + + + + + + +# START (50) ############################# + Activity records: + process_id(116396) thread_id(116396) +Device 0 name: Vega 10 XT [Radeon RX Vega 64] + external_id(33) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116396) thread_id(116396) + external_id(31) + process_id(116396) thread_id(116396) + external_id(31) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116396) thread_id(116396) + external_id(33) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116396) thread_id(116396) + external_id(31) + process_id(116396) thread_id(116396) + external_id(31) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116396) thread_id(116396) + external_id(33) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116396) thread_id(116396) + external_id(31) + process_id(116396) thread_id(116396) + external_id(31) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116396) thread_id(116396) + external_id(33) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116396) thread_id(116396) + external_id(31) + process_id(116396) thread_id(116396) + external_id(31) +PASSED! +# START (49) ############################# + + + + + + + + +Device 0 name: Vega 10 XT [Radeon RX Vega 64] + + + + ptr(0x7ffe1b3413b8) size(0x400000) + + + + + + + + *ptr(0x0x7feab4800000) + + + + ptr(0x7ffe1b3413b0) size(0x400000) + + + + + + + + *ptr(0x0x7feab4200000) + + + + dst(0x7feab4800000) src(0x63a3990) size(0x400000) kind(1) + + + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0xc21170) src(0x7feab4200000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + + ptr(0x7feab4800000) + + + + + + + + + + ptr(0x7feab4200000) + + + + + + +# START (48) ############################# +Device 0 name: Vega 10 XT [Radeon RX Vega 64] +PASSED! +# START (47) ############################# + + + + + + + + +Device 0 name: Vega 10 XT [Radeon RX Vega 64] + + + + ptr(0x7ffe1b3413b8) size(0x400000) + + + + + + + + *ptr(0x0x7feab4800000) + + + + ptr(0x7ffe1b3413b0) size(0x400000) + + + + + + + + *ptr(0x0x7feab4200000) + + + + dst(0x7feab4800000) src(0x63a3990) size(0x400000) kind(1) + + + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0xc21170) src(0x7feab4200000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + + ptr(0x7feab4800000) + + + + + + + + + + ptr(0x7feab4200000) + + + + + + +# START (46) ############################# +Device 0 name: Vega 10 XT [Radeon RX Vega 64] +PASSED! +# START (45) ############################# + + + + + + + + +Device 0 name: Vega 10 XT [Radeon RX Vega 64] + + + + ptr(0x7ffe1b3413b8) size(0x400000) + + + + + + + + *ptr(0x0x7feab4800000) + + + + ptr(0x7ffe1b3413b0) size(0x400000) + + + + + + + + *ptr(0x0x7feab4200000) + + + + dst(0x7feab4800000) src(0x63a3990) size(0x400000) kind(1) + + + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0xc21170) src(0x7feab4200000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + + ptr(0x7feab4800000) + + + + + + + + + + ptr(0x7feab4200000) + + + + + + +# START (44) ############################# +Device 0 name: Vega 10 XT [Radeon RX Vega 64] +PASSED! +# START (43) ############################# + + + + + + + + +Device 0 name: Vega 10 XT [Radeon RX Vega 64] + + + + ptr(0x7ffe1b3413b8) size(0x400000) + + + + + + + + *ptr(0x0x7feab4800000) + + + + ptr(0x7ffe1b3413b0) size(0x400000) + + + + + + + + *ptr(0x0x7feab4200000) + + + + dst(0x7feab4800000) src(0x63a3990) size(0x400000) kind(1) + + + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0xc21170) src(0x7feab4200000) size(0x400000) kind(2) + + + Activity records: + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116396) thread_id(116396) + external_id(33) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + device_id(0) queue_id(0) + bytes(0x400000) + + + + + + + external_id(32) + process_id(116396) thread_id(116396) + external_id(31) + process_id(116396) thread_id(116396) + external_id(31) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116396) thread_id(116396) + external_id(33) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116396) thread_id(116396) + external_id(31) + process_id(116396) thread_id(116396) + external_id(31) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116396) thread_id(116396) + external_id(33) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116396) thread_id(116396) + external_id(31) + process_id(116396) thread_id(116396) + external_id(31) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116396) thread_id(116396) + external_id(33) + + + + + + + + + + + + + + +PASSED! + + + + ptr(0x7feab4800000) + + + + + + + + + + ptr(0x7feab4200000) + + + + + + +# START (42) ############################# +Device 0 name: Vega 10 XT [Radeon RX Vega 64] +PASSED! +# START (41) ############################# + + + + + + + + +Device 0 name: Vega 10 XT [Radeon RX Vega 64] + + + + ptr(0x7ffe1b3413b8) size(0x400000) + + + + + + + + *ptr(0x0x7feab4800000) + + + + ptr(0x7ffe1b3413b0) size(0x400000) + + + + + + + + *ptr(0x0x7feab4200000) + + + + dst(0x7feab4800000) src(0x63a3990) size(0x400000) kind(1) + + + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0xc21170) src(0x7feab4200000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + + ptr(0x7feab4800000) + + + + + + + + + + ptr(0x7feab4200000) + + + + + + +# START (40) ############################# +Device 0 name: Vega 10 XT [Radeon RX Vega 64] +PASSED! +# START (39) ############################# + + + + + + + + +Device 0 name: Vega 10 XT [Radeon RX Vega 64] + + + + ptr(0x7ffe1b3413b8) size(0x400000) + + + + + + + + *ptr(0x0x7feab4800000) + + + + ptr(0x7ffe1b3413b0) size(0x400000) + + + + + + + + *ptr(0x0x7feab4200000) + + + + dst(0x7feab4800000) src(0x63a3990) size(0x400000) kind(1) + + + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0xc21170) src(0x7feab4200000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + + ptr(0x7feab4800000) + + + + + + + + + + ptr(0x7feab4200000) + + + + + + +# START (38) ############################# +Device 0 name: Vega 10 XT [Radeon RX Vega 64] +PASSED! +# START (37) ############################# + + + + + + + + +Device 0 name: Vega 10 XT [Radeon RX Vega 64] + + + + ptr(0x7ffe1b3413b8) size(0x400000) + + + + + + + + *ptr(0x0x7feab4800000) + + + + ptr(0x7ffe1b3413b0) size(0x400000) + + + + + + + + *ptr(0x0x7feab4200000) + + + + dst(0x7feab4800000) src(0x63a3990) size(0x400000) kind(1) + + + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0xc21170) src(0x7feab4200000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + + ptr(0x7feab4800000) + + + + + + + + + + ptr(0x7feab4200000) + + + + + + +# START (36) ############################# +Device 0 name: Vega 10 XT [Radeon RX Vega 64] +PASSED! +# START (35) ############################# + + + + + + + + +Device 0 name: Vega 10 XT [Radeon RX Vega 64] + Activity records: + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116396) thread_id(116396) + external_id(31) + process_id(116396) thread_id(116396) + external_id(31) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116396) thread_id(116396) + external_id(33) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116396) thread_id(116396) + external_id(31) + process_id(116396) thread_id(116396) + external_id(31) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116396) thread_id(116396) + external_id(33) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116396) thread_id(116396) + external_id(31) + process_id(116396) thread_id(116396) + external_id(31) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116396) thread_id(116396) + external_id(33) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116396) thread_id(116396) + external_id(31) + process_id(116396) thread_id(116396) + external_id(31) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + + + + ptr(0x7ffe1b3413b8) size(0x400000) + + + + + + + + *ptr(0x0x7feab4800000) + + + + ptr(0x7ffe1b3413b0) size(0x400000) + + + + + + + + *ptr(0x0x7feab4200000) + + + + dst(0x7feab4800000) src(0x63a3990) size(0x400000) kind(1) + + + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0xc21170) src(0x7feab4200000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + + ptr(0x7feab4800000) + + + + + + + + + + ptr(0x7feab4200000) + + + + + + +# START (34) ############################# +Device 0 name: Vega 10 XT [Radeon RX Vega 64] +PASSED! +# START (33) ############################# + + + + + + + + +Device 0 name: Vega 10 XT [Radeon RX Vega 64] + + + + ptr(0x7ffe1b3413b8) size(0x400000) + + + + + + + + *ptr(0x0x7feab4800000) + + + + ptr(0x7ffe1b3413b0) size(0x400000) + + + + + + + + *ptr(0x0x7feab4200000) + + + + dst(0x7feab4800000) src(0x63a3990) size(0x400000) kind(1) + + + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0xc21170) src(0x7feab4200000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + + ptr(0x7feab4800000) + + + + + + + + + + ptr(0x7feab4200000) + + + + + + +# START (32) ############################# +Device 0 name: Vega 10 XT [Radeon RX Vega 64] +PASSED! +# START (31) ############################# + + + + + + + + +Device 0 name: Vega 10 XT [Radeon RX Vega 64] + + + + ptr(0x7ffe1b3413b8) size(0x400000) + + + + + + + + *ptr(0x0x7feab4800000) + + + + ptr(0x7ffe1b3413b0) size(0x400000) + + + + + + + + *ptr(0x0x7feab4200000) + + + + dst(0x7feab4800000) src(0x63a3990) size(0x400000) kind(1) + + + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0xc21170) src(0x7feab4200000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + + ptr(0x7feab4800000) + + + + + + + + + + ptr(0x7feab4200000) + + + + + + +# START (30) ############################# +Device 0 name: Vega 10 XT [Radeon RX Vega 64] +PASSED! +# START (29) ############################# + + + + + + + + +Device 0 name: Vega 10 XT [Radeon RX Vega 64] + + + + ptr(0x7ffe1b3413b8) size(0x400000) + + + + + + + + *ptr(0x0x7feab4800000) + + + + ptr(0x7ffe1b3413b0) size(0x400000) + + + + + + + + *ptr(0x0x7feab4200000) + + + + dst(0x7feab4800000) src(0x63a3990) size(0x400000) kind(1) + + + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0xc21170) src(0x7feab4200000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + Activity records: + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116396) thread_id(116396) + external_id(33) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116396) thread_id(116396) + external_id(31) + process_id(116396) thread_id(116396) + external_id(31) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116396) thread_id(116396) + external_id(33) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116396) thread_id(116396) + external_id(31) + process_id(116396) thread_id(116396) + external_id(31) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116396) thread_id(116396) + external_id(33) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116396) thread_id(116396) + external_id(31) + process_id(116396) thread_id(116396) + external_id(31) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116396) thread_id(116396) + external_id(33) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) +PASSED! + + + + ptr(0x7feab4800000) + + + + + + + + + + ptr(0x7feab4200000) + + + + + + +# START (28) ############################# +Device 0 name: Vega 10 XT [Radeon RX Vega 64] +PASSED! +# START (27) ############################# + + + + + + + + +Device 0 name: Vega 10 XT [Radeon RX Vega 64] + + + + ptr(0x7ffe1b3413b8) size(0x400000) + + + + + + + + *ptr(0x0x7feab4800000) + + + + ptr(0x7ffe1b3413b0) size(0x400000) + + + + + + + + *ptr(0x0x7feab4200000) + + + + dst(0x7feab4800000) src(0x63a3990) size(0x400000) kind(1) + + + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0xc21170) src(0x7feab4200000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + + ptr(0x7feab4800000) + + + + + + + + + + ptr(0x7feab4200000) + + + + + + +# START (26) ############################# +Device 0 name: Vega 10 XT [Radeon RX Vega 64] +PASSED! +# START (25) ############################# + + + + + + + + +Device 0 name: Vega 10 XT [Radeon RX Vega 64] + + + + ptr(0x7ffe1b3413b8) size(0x400000) + + + + + + + + *ptr(0x0x7feab4800000) + + + + ptr(0x7ffe1b3413b0) size(0x400000) + + + + + + + + *ptr(0x0x7feab4200000) + + + + dst(0x7feab4800000) src(0x63a3990) size(0x400000) kind(1) + + + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0xc21170) src(0x7feab4200000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + + ptr(0x7feab4800000) + + + + + + + + + + ptr(0x7feab4200000) + + + + + + +# START (24) ############################# +Device 0 name: Vega 10 XT [Radeon RX Vega 64] +PASSED! +# START (23) ############################# + + + + + + + + +Device 0 name: Vega 10 XT [Radeon RX Vega 64] + + + + ptr(0x7ffe1b3413b8) size(0x400000) + + + + + + + + *ptr(0x0x7feab4800000) + + + + ptr(0x7ffe1b3413b0) size(0x400000) + + + + + + + + *ptr(0x0x7feab4200000) + + + + dst(0x7feab4800000) src(0x63a3990) size(0x400000) kind(1) + + + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0xc21170) src(0x7feab4200000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + + ptr(0x7feab4800000) + + + + + + + + + + ptr(0x7feab4200000) + + + + + + +# START (22) ############################# +Device 0 name: Vega 10 XT [Radeon RX Vega 64] +PASSED! +# START (21) ############################# + + + + + + + + +Device 0 name: Vega 10 XT [Radeon RX Vega 64] + + + + ptr(0x7ffe1b3413b8) size(0x400000) + + + + + + + + *ptr(0x0x7feab4800000) + + + + ptr(0x7ffe1b3413b0) size(0x400000) + + Activity records: + device_id(0) queue_id(0) + bytes(0x400000) + + + external_id(32) + process_id(116396) thread_id(116396) + external_id(31) + process_id(116396) thread_id(116396) + + + + + *ptr(0x0x7feab4200000) + + + + dst(0x7feab4800000) src(0x63a3990) size(0x400000) kind(1) + external_id(31) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + bytes(0x400000) + + + + + external_id(32) + process_id(116396) thread_id(116396) + external_id(33) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116396) thread_id(116396) + external_id(31) + process_id(116396) thread_id(116396) + external_id(31) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116396) thread_id(116396) + external_id(33) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116396) thread_id(116396) + external_id(31) + process_id(116396) thread_id(116396) + external_id(31) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116396) thread_id(116396) + external_id(33) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116396) thread_id(116396) + external_id(31) + process_id(116396) thread_id(116396) + external_id(31) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0xc21170) src(0x7feab4200000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + + ptr(0x7feab4800000) + + + + + + + + + + ptr(0x7feab4200000) + + + + + + +# START (20) ############################# +Device 0 name: Vega 10 XT [Radeon RX Vega 64] +PASSED! +# START (19) ############################# + + + + + + + + +Device 0 name: Vega 10 XT [Radeon RX Vega 64] + + + + ptr(0x7ffe1b3413b8) size(0x400000) + + + + + + + + *ptr(0x0x7feab4800000) + + + + ptr(0x7ffe1b3413b0) size(0x400000) + + + + + + + + *ptr(0x0x7feab4200000) + + + + dst(0x7feab4800000) src(0x63a3990) size(0x400000) kind(1) + + + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0xc21170) src(0x7feab4200000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + + ptr(0x7feab4800000) + + + + + + + + + + ptr(0x7feab4200000) + + + + + + +# START (18) ############################# +Device 0 name: Vega 10 XT [Radeon RX Vega 64] +PASSED! +# START (17) ############################# + + + + + + + + +Device 0 name: Vega 10 XT [Radeon RX Vega 64] + + + + ptr(0x7ffe1b3413b8) size(0x400000) + + + + + + + + *ptr(0x0x7feab4800000) + + + + ptr(0x7ffe1b3413b0) size(0x400000) + + + + + + + + *ptr(0x0x7feab4200000) + + + + dst(0x7feab4800000) src(0x63a3990) size(0x400000) kind(1) + + + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0xc21170) src(0x7feab4200000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + + ptr(0x7feab4800000) + + + + + + + + + + ptr(0x7feab4200000) + + + + + + +# START (16) ############################# +Device 0 name: Vega 10 XT [Radeon RX Vega 64] +PASSED! +# START (15) ############################# + + + + + + + + +Device 0 name: Vega 10 XT [Radeon RX Vega 64] + + + + ptr(0x7ffe1b3413b8) size(0x400000) + + + + + + + + *ptr(0x0x7feab4800000) + + + + ptr(0x7ffe1b3413b0) size(0x400000) + + + + + + + + *ptr(0x0x7feab4200000) + + + + dst(0x7feab4800000) src(0x63a3990) size(0x400000) kind(1) + + + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0xc21170) src(0x7feab4200000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + Activity records: + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116396) thread_id(116396) + external_id(33) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116396) thread_id(116396) + external_id(31) + process_id(116396) thread_id(116396) + external_id(31) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116396) thread_id(116396) + external_id(33) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116396) thread_id(116396) + external_id(31) + process_id(116396) thread_id(116396) + external_id(31) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116396) thread_id(116396) + external_id(33) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116396) thread_id(116396) + external_id(31) + process_id(116396) thread_id(116396) + external_id(31) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116396) thread_id(116396) + external_id(33) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) +PASSED! + + + + ptr(0x7feab4800000) + + + + + + + + + + ptr(0x7feab4200000) + + + + + + +# START (14) ############################# +Device 0 name: Vega 10 XT [Radeon RX Vega 64] +PASSED! +# START (13) ############################# + + + + + + + + +Device 0 name: Vega 10 XT [Radeon RX Vega 64] + + + + ptr(0x7ffe1b3413b8) size(0x400000) + + + + + + + + *ptr(0x0x7feab4800000) + + + + ptr(0x7ffe1b3413b0) size(0x400000) + + + + + + + + *ptr(0x0x7feab4200000) + + + + dst(0x7feab4800000) src(0x63a3990) size(0x400000) kind(1) + + + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0xc21170) src(0x7feab4200000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + + ptr(0x7feab4800000) + + + + + + + + + + ptr(0x7feab4200000) + + + + + + +# START (12) ############################# +Device 0 name: Vega 10 XT [Radeon RX Vega 64] +PASSED! +# START (11) ############################# + + + + + + + + +Device 0 name: Vega 10 XT [Radeon RX Vega 64] + + + + ptr(0x7ffe1b3413b8) size(0x400000) + + + + + + + + *ptr(0x0x7feab4800000) + + + + ptr(0x7ffe1b3413b0) size(0x400000) + + + + + + + + *ptr(0x0x7feab4200000) + + + + dst(0x7feab4800000) src(0x63a3990) size(0x400000) kind(1) + + + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0xc21170) src(0x7feab4200000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + + ptr(0x7feab4800000) + + + + + + + + + + ptr(0x7feab4200000) + + + + + + +# START (10) ############################# +Device 0 name: Vega 10 XT [Radeon RX Vega 64] +PASSED! +# START (9) ############################# + + + + + + + + +Device 0 name: Vega 10 XT [Radeon RX Vega 64] + + + + ptr(0x7ffe1b3413b8) size(0x400000) + + + + + + + + *ptr(0x0x7feab4800000) + + + + ptr(0x7ffe1b3413b0) size(0x400000) + + + + + + + + *ptr(0x0x7feab4200000) + + + + dst(0x7feab4800000) src(0x63a3990) size(0x400000) kind(1) + + + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0xc21170) src(0x7feab4200000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + + ptr(0x7feab4800000) + + + + + + + + + + ptr(0x7feab4200000) + + + + + + +# START (8) ############################# +Device 0 name: Vega 10 XT [Radeon RX Vega 64] +PASSED! +# START (7) ############################# + + + + + + + + +Device 0 name: Vega 10 XT [Radeon RX Vega 64] + + + + ptr(0x7ffe1b3413b8) size(0x400000) + + + + + + + + *ptr(0x0x7feab4800000) + + + + ptr(0x7ffe1b3413b0) size(0x400000) + + + + + + + + *ptr(0x0x7feab4200000) + + + + dst(0x7feab4800000) src(0x63a3990) size(0x400000) kind(1) + + + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + Activity records: + process_id(116396) thread_id(116396) + + + + + + + + + + dst(0xc21170) src(0x7feab4200000) size(0x400000) kind(2) + + + external_id(31) + process_id(116396) thread_id(116396) + external_id(31) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116396) thread_id(116396) + external_id(33) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116396) thread_id(116396) + external_id(31) + process_id(116396) thread_id(116396) + external_id(31) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116396) thread_id(116396) + external_id(33) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116396) thread_id(116396) + external_id(31) + process_id(116396) thread_id(116396) + external_id(31) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + bytes(0x400000) + + + + + + + external_id(32) + process_id(116396) thread_id(116396) + external_id(33) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116396) thread_id(116396) + external_id(31) + process_id(116396) thread_id(116396) + external_id(31) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + + + + + + + + + + + + + + +PASSED! + + + + ptr(0x7feab4800000) + + + + + + + + + + ptr(0x7feab4200000) + + + + + + +# START (6) ############################# +Device 0 name: Vega 10 XT [Radeon RX Vega 64] +PASSED! +# START (5) ############################# + + + + + + + + +Device 0 name: Vega 10 XT [Radeon RX Vega 64] + + + + ptr(0x7ffe1b3413b8) size(0x400000) + + + + + + + + *ptr(0x0x7feab4800000) + + + + ptr(0x7ffe1b3413b0) size(0x400000) + + + + + + + + *ptr(0x0x7feab4200000) + + + + dst(0x7feab4800000) src(0x63a3990) size(0x400000) kind(1) + + + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0xc21170) src(0x7feab4200000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + + ptr(0x7feab4800000) + + + + + + + + + + ptr(0x7feab4200000) + + + + + + +# START (4) ############################# +Device 0 name: Vega 10 XT [Radeon RX Vega 64] +PASSED! +# START (3) ############################# + + + + + + + + +Device 0 name: Vega 10 XT [Radeon RX Vega 64] + + + + ptr(0x7ffe1b3413b8) size(0x400000) + + + + + + + + *ptr(0x0x7feab4800000) + + + + ptr(0x7ffe1b3413b0) size(0x400000) + + + + + + + + *ptr(0x0x7feab4200000) + + + + dst(0x7feab4800000) src(0x63a3990) size(0x400000) kind(1) + + + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0xc21170) src(0x7feab4200000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + + ptr(0x7feab4800000) + + + + + + + + + + ptr(0x7feab4200000) + + + + + + +# START (2) ############################# +Device 0 name: Vega 10 XT [Radeon RX Vega 64] +PASSED! +# START (1) ############################# + + + + + + + + +Device 0 name: Vega 10 XT [Radeon RX Vega 64] + + + + ptr(0x7ffe1b3413b8) size(0x400000) + + + + + + + + *ptr(0x0x7feab4800000) + + + + ptr(0x7ffe1b3413b0) size(0x400000) + + + + + + + + *ptr(0x0x7feab4200000) + + + + dst(0x7feab4800000) src(0x63a3990) size(0x400000) kind(1) + + + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0xc21170) src(0x7feab4200000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + + ptr(0x7feab4800000) + + + + + + + + + + ptr(0x7feab4200000) + + Activity records: + device_id(0) queue_id(0) + + bytes(0x400000) + + + + +# START (0) ############################# +Device 0 name: Vega 10 XT [Radeon RX Vega 64] + external_id(32) + process_id(116396) thread_id(116396) + external_id(33) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116396) thread_id(116396) + external_id(31) + process_id(116396) thread_id(116396) + external_id(31) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116396) thread_id(116396) + external_id(33) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116396) thread_id(116396) + external_id(31) + process_id(116396) thread_id(116396) + external_id(31) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116396) thread_id(116396) + external_id(33) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116396) thread_id(116396) + external_id(31) + process_id(116396) thread_id(116396) + external_id(31) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116396) thread_id(116396) + external_id(33) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) + device_id(0) queue_id(0) + bytes(0x400000) + external_id(32) + process_id(116396) thread_id(116396) + external_id(31) +PASSED! + Activity records: + process_id(116396) thread_id(116396) + external_id(31) + process_id(116396) thread_id(116396) + device_id(0) queue_id(0) +# STOP ############################# + +standalone HIP test: PASSED +8 tests total / 1 tests run / 0 tests failed From 016b0e248d5889810d608f9f4552257fd0524c90 Mon Sep 17 00:00:00 2001 From: rkebichi <54912798+rkebichi@users.noreply.github.com> Date: Fri, 31 Jan 2020 16:15:41 -0500 Subject: [PATCH 312/691] Create ctrl_hsa_trace.txt --- test/ctrl_hsa_trace.txt | 164 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 164 insertions(+) create mode 100644 test/ctrl_hsa_trace.txt diff --git a/test/ctrl_hsa_trace.txt b/test/ctrl_hsa_trace.txt new file mode 100644 index 0000000000..8289d19a17 --- /dev/null +++ b/test/ctrl_hsa_trace.txt @@ -0,0 +1,164 @@ +tool HSA test: "./test/hsa/ctrl" +ROCTracer (pid=116451): + HSA-trace() + HSA-activity-trace() +> GPU agents : +> agent[0] : +>> Name : gfx900 +>> APU : 0 +>> HSAIL profile : 0 +>> Max Wave Size : 64 +>> Max Queue Size : 131072 +>> CU number : 64 +>> Waves per CU : 40 +>> SIMDs per CU : 4 +>> SE number : 4 +>> Shader Arrays per SE : 1 +TestHsa::Initialize : +> Using agent[0] : gfx900 +TestHsa::setup : +Code object filename: gfx9_DummyKernel.hsaco +TestHsa::run : +> Executing kernel: "DummyKernel" +> Waiting on kernel dispatch signal, que_idx=0 +> DONE, que_idx=0 +Test : Passed +Time taken for Setup by DummyKernel : 0.000803955 +Time taken for Dispatch by DummyKernel : 2.68555e-05 +Time taken in Total by DummyKernel : 0.000830811 +TestHsa::Initialize : +> Using agent[0] : gfx900 +TestHsa::setup : +Code object filename: gfx9_SimpleConvolution.hsaco +SimpleConvolution::init : +> Input[0] : +> 15 201 51 89 92 34 96 66 11 225 161 96 81 211 108 124 202 244 182 90 215 92 98 20 44 225 55 247 202 0 45 218 202 97 51 39 131 147 105 143 116 11 239 198 222 92 67 169 81 250 3 40 86 101 60 131 70 116 123 17 117 168 236 64 +> Mask : +> 0 0.2 0 +> 0.2 0.2 0.2 +> 0 0.2 0 +TestHsa::run : +> Executing kernel: "SimpleConvolution" +> Waiting on kernel dispatch signal, que_idx=1 +> DONE, que_idx=1 +> Output[0] : +> 45 60 89 75 79 86 45 43 104 82 144 105 99 90 109 124 123 146 149 124 120 87 43 36 88 91 113 103 98 53 68 104 113 106 76 90 90 122 82 92 102 124 95 149 112 102 69 82 146 116 103 62 50 96 99 87 84 110 88 81 61 105 134 71 +Test : Passed +Time taken for Setup by SimpleConvolution : 0.00060498 +Time taken for Dispatch by SimpleConvolution : 4.29687e-05 +Time taken in Total by SimpleConvolution : 0.000647949 +1822787198892285:1822787198903100 async-copy0 +1822786593183215:1822786593187325 116451:116451 hsa_amd_profiling_async_copy_enable() = 0 +1822786593205695:1822786593206405 116451:116451 hsa_agent_get_info(, 17, 0x7ffd08170f5c) = 0 +1822786593211235:1822786593212485 116451:116451 hsa_amd_memory_pool_get_info(, 0, 0x7ffd08170df8) = 0 +1822786593213335:1822786593213925 116451:116451 hsa_amd_memory_pool_get_info(, 1, 0x7ffd08170dfc) = 0 +1822786593214745:1822786593215305 116451:116451 hsa_amd_memory_pool_get_info(, 0, 0x7ffd08170df8) = 0 +1822786593216065:1822786593216635 116451:116451 hsa_amd_memory_pool_get_info(, 1, 0x7ffd08170dfc) = 0 +1822786593216065:1822786593217435 116451:116451 hsa_amd_agent_iterate_memory_pools(, 1, 0x143cfc0) = 1 +1822786593219035:1822786593219605 116451:116451 hsa_amd_memory_pool_get_info(, 0, 0x7ffd08170df8) = 0 +1822786593220385:1822786593220945 116451:116451 hsa_amd_memory_pool_get_info(, 1, 0x7ffd08170dfc) = 0 +1822786593220385:1822786593221715 116451:116451 hsa_amd_agent_iterate_memory_pools(, 1, 0x143cfd0) = 1 +1822786593224085:1822786593224895 116451:116451 hsa_agent_get_info(, 17, 0x7ffd08170f5c) = 0 +1822786593225835:1822786593231426 116451:116451 hsa_agent_get_info(, 0, 0x143d094) = 0 +1822786593233936:1822786593234536 116451:116451 hsa_agent_get_info(, 6, 0x143d0d4) = 0 +1822786593235326:1822786593235926 116451:116451 hsa_agent_get_info(, 14, 0x143d0d8) = 0 +1822786593236696:1822786593237276 116451:116451 hsa_agent_get_info(, 4, 0x143d0dc) = 0 +1822786593238046:1822786593238646 116451:116451 hsa_agent_get_info(, 40962, 0x143d0f8) = 0 +1822786593239416:1822786593240136 116451:116451 hsa_agent_get_info(, 40970, 0x143d0fc) = 0 +1822786593240946:1822786593241526 116451:116451 hsa_agent_get_info(, 40971, 0x143d100) = 0 +1822786593242296:1822786593242886 116451:116451 hsa_agent_get_info(, 40972, 0x143d104) = 0 +1822786593243666:1822786593244246 116451:116451 hsa_agent_get_info(, 40973, 0x143d108) = 0 +1822786593245736:1822786593246326 116451:116451 hsa_amd_memory_pool_get_info(, 0, 0x7ffd08170de8) = 0 +1822786593247096:1822786593247676 116451:116451 hsa_amd_memory_pool_get_info(, 1, 0x7ffd08170dec) = 0 +1822786593247096:1822786593248456 116451:116451 hsa_amd_agent_iterate_memory_pools(, 1, 0x143d0e8) = 1 +1822786593247096:1822786593250036 116451:116451 hsa_iterate_agents(1, 0x13fd320) = 0 +1822786593251826:1822786593416117 116451:116451 hsa_system_get_extension_table(, , , 0x13fd3b8) = 0 +1822786593417707:1822786593420377 116451:116451 hsa_system_get_extension_table(, , , 0x13fd408) = 0 +1822786593422447:1822786593423047 116451:116451 hsa_system_get_info(3, 0x7ffd08171128) = 0 +1822786593658778:1822786608352362 116451:116459 hsa_queue_create(, , , 0, 0, , , ) = 0 +1822786902531377:1822786902535757 116451:116459 hsa_signal_create(1, , 0, 0x7fa610001f20) = 0 +1822786902571037:1822786902584537 116451:116459 hsa_code_object_reader_create_from_file(5, 0x7fa665ffcbe0) = 0 +1822786902586167:1822786902597097 116451:116459 hsa_executable_create_alt(1, 0, +1822786902598597:1822786902965610 116451:116459 hsa_executable_load_agent_code_object(, , , +1822786902967780:1822786903353172 116451:116459 hsa_executable_freeze(, ) = 0 +1822786903355162:1822786903356442 116451:116459 hsa_executable_get_symbol(, +1822786903362512:1822786903363052 116451:116459 hsa_executable_symbol_get_info(, 13, 0x7fa665ffcc44) = 0 +1822786903363492:1822786903363782 116451:116459 hsa_executable_symbol_get_info(, 14, 0x7fa665ffcc48) = 0 +1822786903364172:1822786903364492 116451:116459 hsa_executable_symbol_get_info(, 22, 0x7fa665ffcc58) = 0 +1822786903365702:1822786903366022 116451:116459 hsa_signal_store_relaxed(, 1) = void +1822786903370912:1822786903371252 116451:116459 hsa_queue_load_write_index_relaxed(0x7fa7a2ce1000) = 0 +1822786903372632:1822786903372942 116451:116459 hsa_queue_store_write_index_relaxed(0x7fa7a2ce1000, ) = void +1822786903374072:1822786903374512 116451:116459 hsa_queue_load_read_index_relaxed(0x7fa7a2ce1000) = 0 +1822786903375092:1822786903375562 116451:116459 hsa_signal_store_relaxed(, 0) = void +1822786903379112:1822786903393132 116451:116459 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822786903425033:1822786903474693 116451:116459 hsa_executable_destroy() = 0 +1822786903475683:1822786903476973 116451:116459 hsa_signal_destroy() = 0 +1822787197612807:1822787197613567 116451:116459 hsa_signal_create(1, , 0, 0x7fa610007340) = 0 +1822787197622077:1822787197628137 116451:116459 hsa_code_object_reader_create_from_file(7, 0x7fa665ffcbe0) = 0 +1822787197628677:1822787197629627 116451:116459 hsa_executable_create_alt(1, 0, +1822787197630087:1822787197791048 116451:116459 hsa_executable_load_agent_code_object(, , , +1822787197792018:1822787197833668 116451:116459 hsa_executable_freeze(, ) = 0 +1822787197834218:1822787197839559 116451:116459 hsa_executable_get_symbol(, +1822787197841769:1822787197856699 116451:116459 hsa_amd_memory_pool_allocate(, , , 0x7fa665ffcc68) = 0 +1822787197858079:1822787197924589 116451:116459 hsa_amd_agents_allow_access(, 0x7fa665ffcc70, 0, 0x7fa7a2cc4000) = 0 +1822787197926269:1822787197927179 116451:116459 hsa_amd_memory_pool_allocate(, , , 0x7fa665ffcc70) = 0 +1822787197927659:1822787197939219 116451:116459 hsa_amd_memory_pool_allocate(, , , 0x7fa665ffcc68) = 0 +1822787197939719:1822787197992339 116451:116459 hsa_amd_agents_allow_access(, 0x7fa665ffcc70, 0, 0x7fa7a2cd6000) = 0 +1822787197993039:1822787197993399 116451:116459 hsa_executable_symbol_get_info(, 11, 0x7fa665ffcca0) = 0 +1822787197995009:1822787198005070 116451:116459 hsa_amd_memory_pool_allocate(, , , 0x7fa665ffcc68) = 0 +1822787198005560:1822787198054310 116451:116459 hsa_amd_agents_allow_access(, 0x7fa665ffcc70, 0, 0x7fa7a2cd4000) = 0 +1822787198222651:1822787198223061 116451:116459 hsa_executable_symbol_get_info(, 13, 0x7fa665ffcc44) = 0 +1822787198223531:1822787198223831 116451:116459 hsa_executable_symbol_get_info(, 14, 0x7fa665ffcc48) = 0 +1822787198224221:1822787198224531 116451:116459 hsa_executable_symbol_get_info(, 22, 0x7fa665ffcc58) = 0 +1822787198224991:1822787198225351 116451:116459 hsa_signal_store_relaxed(, 1) = void +1822787198228821:1822787198229191 116451:116459 hsa_queue_load_write_index_relaxed(0x7fa7a2ce1000) = 1 +1822787198229651:1822787198229961 116451:116459 hsa_queue_store_write_index_relaxed(0x7fa7a2ce1000, ) = void +1822787198230421:1822787198230851 116451:116459 hsa_queue_load_read_index_relaxed(0x7fa7a2ce1000) = 1 +1822787198231381:1822787198231871 116451:116459 hsa_signal_store_relaxed(, 1) = void +1822787198234591:1822787198268311 116451:116459 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822787198271101:1822787198289651 116451:116459 hsa_amd_memory_pool_allocate(, , , 0x7fa665ffcc68) = 0 +1822787198290261:1822787198347092 116451:116459 hsa_amd_agents_allow_access(, 0x7fa665ffcc70, 0, 0x7fa7a2c78000) = 0 +1822787198347792:1822787198349312 116451:116459 hsa_signal_create(1, , 0, 0x7fa665ffcc40) = 0 +1822787198356932:1822787198357642 116451:116459 hsa_agent_get_info(, 17, 0x7fa665ffc7bc) = 0 +1822787198359432:1822787198360132 116451:116459 hsa_amd_memory_pool_get_info(, 0, 0x7fa665ffc658) = 0 +1822787198360542:1822787198360842 116451:116459 hsa_amd_memory_pool_get_info(, 1, 0x7fa665ffc65c) = 0 +1822787198361262:1822787198361552 116451:116459 hsa_amd_memory_pool_get_info(, 0, 0x7fa665ffc658) = 0 +1822787198361942:1822787198362232 116451:116459 hsa_amd_memory_pool_get_info(, 1, 0x7fa665ffc65c) = 0 +1822787198361942:1822787198362632 116451:116459 hsa_amd_agent_iterate_memory_pools(, 1, 0x7fa610006d60) = 1 +1822787198363522:1822787198363812 116451:116459 hsa_amd_memory_pool_get_info(, 0, 0x7fa665ffc658) = 0 +1822787198364212:1822787198364502 116451:116459 hsa_amd_memory_pool_get_info(, 1, 0x7fa665ffc65c) = 0 +1822787198364212:1822787198364892 116451:116459 hsa_amd_agent_iterate_memory_pools(, 1, 0x7fa610006d70) = 1 +1822787198365732:1822787198366072 116451:116459 hsa_agent_get_info(, 17, 0x7fa665ffc7bc) = 0 +1822787198366522:1822787198369532 116451:116459 hsa_agent_get_info(, 0, 0x7fa610006e34) = 0 +1822787198372162:1822787198372472 116451:116459 hsa_agent_get_info(, 6, 0x7fa610006e74) = 0 +1822787198372872:1822787198373172 116451:116459 hsa_agent_get_info(, 14, 0x7fa610006e78) = 0 +1822787198373572:1822787198373862 116451:116459 hsa_agent_get_info(, 4, 0x7fa610006e7c) = 0 +1822787198374262:1822787198374572 116451:116459 hsa_agent_get_info(, 40962, 0x7fa610006e98) = 0 +1822787198375892:1822787198376202 116451:116459 hsa_agent_get_info(, 40970, 0x7fa610006e9c) = 0 +1822787198376692:1822787198376992 116451:116459 hsa_agent_get_info(, 40971, 0x7fa610006ea0) = 0 +1822787198377392:1822787198377692 116451:116459 hsa_agent_get_info(, 40972, 0x7fa610006ea4) = 0 +1822787198378092:1822787198378392 116451:116459 hsa_agent_get_info(, 40973, 0x7fa610006ea8) = 0 +1822787198379162:1822787198379462 116451:116459 hsa_amd_memory_pool_get_info(, 0, 0x7fa665ffc648) = 0 +1822787198379852:1822787198380152 116451:116459 hsa_amd_memory_pool_get_info(, 1, 0x7fa665ffc64c) = 0 +1822787198379852:1822787198380542 116451:116459 hsa_amd_agent_iterate_memory_pools(, 1, 0x7fa610006e88) = 1 +1822787198379852:1822787198381142 116451:116459 hsa_iterate_agents(1, 0x7fa610006980) = 0 +1822787198381692:1822787198397632 116451:116459 hsa_system_get_major_extension_table(, , , 0x7fa610006a18) = 0 +1822787198398112:1822787198398412 116451:116459 hsa_system_get_major_extension_table(, , , 0x7fa610006a68) = 0 +1822787198399032:1822787198399332 116451:116459 hsa_system_get_info(3, 0x7fa665ffc988) = 0 +1822787198399782:1822787198400322 116451:116459 hsa_system_get_info(2, 0x7fa665ffc9d0) = 0 +1822787198400762:1822787198401922 116451:116459 hsa_signal_create(1, , 0, 0x7fa68f797050) = 0 +1822787198402472:1822787198405132 116451:116459 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7fa68f797010) = 0 +1822787198405752:1822787198837475 116451:116459 hsa_amd_memory_async_copy(0x7fa7a2c78000, , 0x7fa688203000, , , , 0, ) = 0 +1822787198931945:1822787198941165 116451:116454 hsa_amd_profiling_get_async_copy_time(, 0x7fa7a092bc40) = 0 +1822787198944925:1822787198946035 116451:116454 hsa_system_get_info(2, 0x7fa7a092bc38) = 0 +1822787198947005:1822787198948155 116451:116454 hsa_signal_load_relaxed() = 1 +1822787198838365:1822787198950945 116451:116459 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +1822787198949035:1822787198951965 116451:116454 hsa_signal_store_screlease(, 0) = void +1822787198952535:1822787198953995 116451:116459 hsa_signal_destroy() = 0 +1822787198953835:1822787198955305 116451:116454 hsa_signal_destroy() = 0 +1822787199054396:1822787199072966 116451:116459 hsa_memory_free(0x7fa7a2c78000) = 0 +1822787199096536:1822787199113536 116451:116459 hsa_executable_destroy() = 0 +1822787199114426:1822787199116066 116451:116459 hsa_signal_destroy() = 0 +1822787199118006:1822787200339674 116451:116459 hsa_queue_destroy() = 0 +tool HSA test: PASSED +8 tests total / 1 tests run / 0 tests failed From cf9b4e166659757cbe91311ae69ca0c8d2713cb0 Mon Sep 17 00:00:00 2001 From: rkebichi <54912798+rkebichi@users.noreply.github.com> Date: Fri, 31 Jan 2020 16:16:40 -0500 Subject: [PATCH 313/691] Create ctrl_hsa_input_trace.txt --- test/ctrl_hsa_input_trace.txt | 77 +++++++++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 test/ctrl_hsa_input_trace.txt diff --git a/test/ctrl_hsa_input_trace.txt b/test/ctrl_hsa_input_trace.txt new file mode 100644 index 0000000000..4175b83efd --- /dev/null +++ b/test/ctrl_hsa_input_trace.txt @@ -0,0 +1,77 @@ +tool HSA test input: "./test/hsa/ctrl" +ROCTracer (pid=116477): input from "input.xml" + HSA-trace( hsa_agent_get_info hsa_amd_memory_pool_allocate) + HSA-activity-trace() +> GPU agents : +> agent[0] : +>> Name : gfx900 +>> APU : 0 +>> HSAIL profile : 0 +>> Max Wave Size : 64 +>> Max Queue Size : 131072 +>> CU number : 64 +>> Waves per CU : 40 +>> SIMDs per CU : 4 +>> SE number : 4 +>> Shader Arrays per SE : 1 +TestHsa::Initialize : +> Using agent[0] : gfx900 +TestHsa::setup : +Code object filename: gfx9_DummyKernel.hsaco +TestHsa::run : +> Executing kernel: "DummyKernel" +> Waiting on kernel dispatch signal, que_idx=0 +> DONE, que_idx=0 +Test : Passed +Time taken for Setup by DummyKernel : 0.000853027 +Time taken for Dispatch by DummyKernel : 2.39258e-05 +Time taken in Total by DummyKernel : 0.000876953 +TestHsa::Initialize : +> Using agent[0] : gfx900 +TestHsa::setup : +Code object filename: gfx9_SimpleConvolution.hsaco +SimpleConvolution::init : +> Input[0] : +> 15 201 51 89 92 34 96 66 11 225 161 96 81 211 108 124 202 244 182 90 215 92 98 20 44 225 55 247 202 0 45 218 202 97 51 39 131 147 105 143 116 11 239 198 222 92 67 169 81 250 3 40 86 101 60 131 70 116 123 17 117 168 236 64 +> Mask : +> 0 0.2 0 +> 0.2 0.2 0.2 +> 0 0.2 0 +TestHsa::run : +> Executing kernel: "SimpleConvolution" +> Waiting on kernel dispatch signal, que_idx=1 +> DONE, que_idx=1 +> Output[0] : +> 45 60 89 75 79 86 45 43 104 82 144 105 99 90 109 124 123 146 149 124 120 87 43 36 88 91 113 103 98 53 68 104 113 106 76 90 90 122 82 92 102 124 95 149 112 102 69 82 146 116 103 62 50 96 99 87 84 110 88 81 61 105 134 71 +Test : Passed +Time taken for Setup by SimpleConvolution : 0.000602051 +Time taken for Dispatch by SimpleConvolution : 4.00391e-05 +Time taken in Total by SimpleConvolution : 0.00064209 +1822810967909998:1822810967921554 async-copy0 +1822810364769411:1822810364771941 116477:116477 hsa_agent_get_info(, 17, 0x7ffeac015fec) = 0 +1822810364778011:1822810364778611 116477:116477 hsa_agent_get_info(, 17, 0x7ffeac015fec) = 0 +1822810364779111:1822810364782691 116477:116477 hsa_agent_get_info(, 0, 0x8aac04) = 0 +1822810364784511:1822810364785051 116477:116477 hsa_agent_get_info(, 6, 0x8aac44) = 0 +1822810364785491:1822810364785841 116477:116477 hsa_agent_get_info(, 14, 0x8aac48) = 0 +1822810364786281:1822810364786611 116477:116477 hsa_agent_get_info(, 4, 0x8aac4c) = 0 +1822810364787051:1822810364787401 116477:116477 hsa_agent_get_info(, 40962, 0x8aac68) = 0 +1822810364787841:1822810364788181 116477:116477 hsa_agent_get_info(, 40970, 0x8aac6c) = 0 +1822810364788621:1822810364788951 116477:116477 hsa_agent_get_info(, 40971, 0x8aac70) = 0 +1822810364789381:1822810364789711 116477:116477 hsa_agent_get_info(, 40972, 0x8aac74) = 0 +1822810364790151:1822810364790471 116477:116477 hsa_agent_get_info(, 40973, 0x8aac78) = 0 +1822810966872900:1822810966889591 116477:116485 hsa_amd_memory_pool_allocate(, , , 0x7fe988df8c68) = 0 +1822810966960311:1822810966961441 116477:116485 hsa_amd_memory_pool_allocate(, , , 0x7fe988df8c70) = 0 +1822810966961951:1822810966973001 116477:116485 hsa_amd_memory_pool_allocate(, , , 0x7fe988df8c68) = 0 +1822810967025981:1822810967035781 116477:116485 hsa_amd_memory_pool_allocate(, , , 0x7fe988df8c68) = 0 +1822810967298203:1822810967317743 116477:116485 hsa_amd_memory_pool_allocate(, , , 0x7fe988df8c68) = 0 +1822810967384054:1822810967384814 116477:116485 hsa_agent_get_info(, 17, 0x7fe988df87bc) = 0 +1822810967387674:1822810967388054 116477:116485 hsa_agent_get_info(, 17, 0x7fe988df87bc) = 0 +1822810967388514:1822810967391744 116477:116485 hsa_agent_get_info(, 0, 0x7fe930006e04) = 0 +1822810967394494:1822810967394794 116477:116485 hsa_agent_get_info(, 6, 0x7fe930006e44) = 0 +1822810967395194:1822810967395514 116477:116485 hsa_agent_get_info(, 14, 0x7fe930006e48) = 0 +1822810967395924:1822810967396214 116477:116485 hsa_agent_get_info(, 4, 0x7fe930006e4c) = 0 +1822810967396604:1822810967396904 116477:116485 hsa_agent_get_info(, 40962, 0x7fe930006e68) = 0 +1822810967397294:1822810967397594 116477:116485 hsa_agent_get_info(, 40970, 0x7fe930006e6c) = 0 +1822810967397984:1822810967398284 116477:116485 hsa_agent_get_info(, 40971, 0x7fe930006e70) = 0 +1822810967398674:1822810967398974 116477:116485 hsa_agent_get_info(, 40972, 0x7fe930006e74) = 0 +1822810967399364:1822810967399654 116477:116485 hsa_agent_get_info(, 40973, 0x7fe930006e78) = 0 From bd23c55ff7f0dc6ce94c0364a0c1377e1e95d813 Mon Sep 17 00:00:00 2001 From: rkebichi <54912798+rkebichi@users.noreply.github.com> Date: Fri, 31 Jan 2020 16:17:05 -0500 Subject: [PATCH 314/691] Update ctrl_hsa_trace.txt --- test/ctrl_hsa_trace.txt | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/test/ctrl_hsa_trace.txt b/test/ctrl_hsa_trace.txt index 8289d19a17..3f640fa8df 100644 --- a/test/ctrl_hsa_trace.txt +++ b/test/ctrl_hsa_trace.txt @@ -160,5 +160,4 @@ Time taken in Total by SimpleConvolution : 0.000647949 1822787199096536:1822787199113536 116451:116459 hsa_executable_destroy() = 0 1822787199114426:1822787199116066 116451:116459 hsa_signal_destroy() = 0 1822787199118006:1822787200339674 116451:116459 hsa_queue_destroy() = 0 -tool HSA test: PASSED -8 tests total / 1 tests run / 0 tests failed + From 8cc21b755779b30ab122e6240aa9043d126ad942 Mon Sep 17 00:00:00 2001 From: rkebichi <54912798+rkebichi@users.noreply.github.com> Date: Fri, 31 Jan 2020 16:19:29 -0500 Subject: [PATCH 315/691] Update CMakeLists.txt --- test/CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 32d22bc67a..20b52111ef 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -47,8 +47,8 @@ add_custom_target( mytest COMMAND sh -xc "cp ${TEST_DIR}/MatrixTranspose/MatrixTranspose_sys_trace.txt ${PROJECT_BINARY_DIR}/test/" COMMAND sh -xc "cp ${TEST_DIR}/MatrixTranspose/MatrixTranspose_sys_hsa_trace.txt ${PROJECT_BINARY_DIR}/test/" COMMAND sh -xc "cp ${TEST_DIR}/MatrixTranspose/MatrixTranspose_hip_trace.txt ${PROJECT_BINARY_DIR}/test/" - COMMAND sh -xc "cp ${TEST_DIR}/hsa/test/ctrl/ctrl_hsa_trace.txt ${PROJECT_BINARY_DIR}/test/" - COMMAND sh -xc "cp ${TEST_DIR}/hsa/test/ctrl/ctrl_hsa_input_trace.txt ${PROJECT_BINARY_DIR}/test/" + COMMAND sh -xc "cp ${TEST_DIR}/ctrl_hsa_trace.txt ${PROJECT_BINARY_DIR}/test/" + COMMAND sh -xc "cp ${TEST_DIR}/ctrl_hsa_input_trace.txt ${PROJECT_BINARY_DIR}/test/" ) ## Util sources From 20051e559e498fa8ab5e315a756e842ddd82c6d4 Mon Sep 17 00:00:00 2001 From: rkebichi <54912798+rkebichi@users.noreply.github.com> Date: Mon, 3 Feb 2020 17:25:28 -0500 Subject: [PATCH 316/691] Update parse_trace.py --- script/parse_trace.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/script/parse_trace.py b/script/parse_trace.py index 86ab68b308..56ff1de712 100644 --- a/script/parse_trace.py +++ b/script/parse_trace.py @@ -9,10 +9,12 @@ events_order = [] def parse_trace(tracefile,cnt,order): with open(tracefile) as f: for line in f: - event_pattern = re.compile(r'<(\w+)\s+id\(\d+\)\s+.*') + event_pattern = re.compile(r'<(\w+)\s+id\(\d+\)\s+.*|\d+:\d+\s+\d+:\d+\s+(\w+).*') m = event_pattern.match(line) if m: event = m.group(1) + if not event: + event = m.group(2) if cnt: if event in events_count: events_count[event] = events_count[event] + 1 From 1f33587c299321a68288dec32e4ddf302e81e4fc Mon Sep 17 00:00:00 2001 From: rkebichi <54912798+rkebichi@users.noreply.github.com> Date: Fri, 7 Feb 2020 16:42:39 -0500 Subject: [PATCH 317/691] Added level 3 trace compare (trace files diffed) --- test/run.sh | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/test/run.sh b/test/run.sh index f4aeaa3d3d..74dde02cb6 100755 --- a/test/run.sh +++ b/test/run.sh @@ -92,7 +92,17 @@ eval_test() { echo "$label: FAILED (trace compare, events order)" test_status=$(($test_status + 1)) fi - ;; + ;; + "3") + echo "Comparing $trace $rtrace :" + eval "diff --brief $trace $rtrace" + if [ $? != 0 ] ; then + echo "$label: FAILED (trace compare, files differ)" + test_status=$(($test_status + 1)) + else + echo "$label: PASSED (trace compare, files are the same)" + fi + ;; esac fi fi From 1771d1b826305e6cb1fba5cbbeed7d91fca08945 Mon Sep 17 00:00:00 2001 From: rkebichi <54912798+rkebichi@users.noreply.github.com> Date: Fri, 7 Feb 2020 16:51:24 -0500 Subject: [PATCH 318/691] Update MatrixTranspose_mgpu_trace.txt --- .../MatrixTranspose_mgpu_trace.txt | 10105 ++++++++-------- 1 file changed, 5052 insertions(+), 5053 deletions(-) diff --git a/test/MatrixTranspose/MatrixTranspose_mgpu_trace.txt b/test/MatrixTranspose/MatrixTranspose_mgpu_trace.txt index 4e17177da2..7fc1b7fa10 100644 --- a/test/MatrixTranspose/MatrixTranspose_mgpu_trace.txt +++ b/test/MatrixTranspose/MatrixTranspose_mgpu_trace.txt @@ -1,6720 +1,6719 @@ -standalone HIP MGPU test: "LD_PRELOAD=libkfdwrapper64.so ./test/MatrixTranspose_mgpu" # INIT ############################# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Number of GPUs: 1 # START (99) ############################# - - - - - - - - + + + + + + + + Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - + + - ptr(0x7ffc1d894588) size(0x400000) - - - - - - + ptr(0x7ffd15195b38) size(0x400000) + + + + + + - *ptr(0x0x7f0f2c200000) - - + *ptr(0x0x7fdccfa00000) + + - ptr(0x7ffc1d894580) size(0x400000) - - - - - - + ptr(0x7ffd15195b30) size(0x400000) + + + + + + - *ptr(0x0x7f0f1ba00000) - - + *ptr(0x0x7fdccf400000) + + - dst(0x7f0f2c200000) src(0x20442c0) size(0x400000) kind(1) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + dst(0x7fdccfa00000) src(0x10de660) size(0x400000) kind(1) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - dst(0x24442d0) src(0x7f0f1ba00000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - + dst(0x14de670) src(0x7fdccf400000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + PASSED! - - + + - ptr(0x7f0f2c200000) - - - - - - - - + ptr(0x7fdccfa00000) + + + + + + + + - ptr(0x7f0f1ba00000) - - - - - - + ptr(0x7fdccf400000) + + + + + + # START (98) ############################# Device 0 name: Vega 10 XT [Radeon RX Vega 64] PASSED! # START (97) ############################# - - - - - - - - + + + + + + + + Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - + + - ptr(0x7ffc1d894588) size(0x400000) - - - - - - + ptr(0x7ffd15195b38) size(0x400000) + + + + + + - *ptr(0x0x7f0f2c200000) - - + *ptr(0x0x7fdccfa00000) + + - ptr(0x7ffc1d894580) size(0x400000) - - - - - - + ptr(0x7ffd15195b30) size(0x400000) + + + + + + - *ptr(0x0x7f0f1ba00000) - - + *ptr(0x0x7fdccf400000) + + - dst(0x7f0f2c200000) src(0x74def40) size(0x400000) kind(1) - - - - - - - - + dst(0x7fdccfa00000) src(0x658fb00) size(0x400000) kind(1) + + + + + + + + - - + + kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - + + + + - - + + - dst(0x20442c0) src(0x7f0f1ba00000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - + dst(0x10de660) src(0x7fdccf400000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + PASSED! - - + + - ptr(0x7f0f2c200000) - - - - - - - - + ptr(0x7fdccfa00000) + + + + + + + + - ptr(0x7f0f1ba00000) - - - - - - + ptr(0x7fdccf400000) + + + + + + # START (96) ############################# Device 0 name: Vega 10 XT [Radeon RX Vega 64] PASSED! # START (95) ############################# - - - - - - - - + + + + + + + + Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - + + - ptr(0x7ffc1d894588) size(0x400000) - - - - - - + ptr(0x7ffd15195b38) size(0x400000) + + + + + + - *ptr(0x0x7f0f2c200000) - - + *ptr(0x0x7fdccfa00000) + + - ptr(0x7ffc1d894580) size(0x400000) - - - - - - + ptr(0x7ffd15195b30) size(0x400000) + + + + + + - *ptr(0x0x7f0f1ba00000) - - + *ptr(0x0x7fdccf400000) + + - dst(0x7f0f2c200000) src(0x74def40) size(0x400000) kind(1) - - - - - - - - + dst(0x7fdccfa00000) src(0x658fb00) size(0x400000) kind(1) + + + + + + + + - - + + kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - + + + + - - + + - dst(0x20442c0) src(0x7f0f1ba00000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - + dst(0x10de660) src(0x7fdccf400000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + PASSED! - - + + - ptr(0x7f0f2c200000) - - - - - - - - + ptr(0x7fdccfa00000) + + + + + + + + - ptr(0x7f0f1ba00000) - - - - - - + ptr(0x7fdccf400000) + + + + + + # START (94) ############################# Device 0 name: Vega 10 XT [Radeon RX Vega 64] PASSED! # START (93) ############################# - - - - - - - - + + + + + + + + Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - + + - ptr(0x7ffc1d894588) size(0x400000) - - - - - - + ptr(0x7ffd15195b38) size(0x400000) + + + + + + - *ptr(0x0x7f0f2c200000) - - + *ptr(0x0x7fdccfa00000) + + - ptr(0x7ffc1d894580) size(0x400000) - - - - - - + ptr(0x7ffd15195b30) size(0x400000) + + + + + + - *ptr(0x0x7f0f1ba00000) - - + *ptr(0x0x7fdccf400000) + + - dst(0x7f0f2c200000) src(0x74def40) size(0x400000) kind(1) - - - - - - - - + dst(0x7fdccfa00000) src(0x658fb00) size(0x400000) kind(1) + + + + + + + + - - + + kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - + + + + - - + + - dst(0x20442c0) src(0x7f0f1ba00000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - + dst(0x10de660) src(0x7fdccf400000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + Activity records: - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) bytes(0x400000) external_id(32) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(33) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) device_id(0) queue_id(0) bytes(0x400000) external_id(32) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(31) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(31) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) bytes(0x400000) external_id(32) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(33) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) device_id(0) queue_id(0) bytes(0x400000) external_id(32) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(31) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(31) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) bytes(0x400000) external_id(32) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(33) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) device_id(0) queue_id(0) bytes(0x400000) external_id(32) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(31) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(31) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) bytes(0x400000) external_id(32) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(33) - process_id(116404) thread_id(116404) - - - - + process_id(26224) thread_id(26224) + + + + PASSED! - - + + - ptr(0x7f0f2c200000) - - - - - - - - + ptr(0x7fdccfa00000) + + + + + + + + - ptr(0x7f0f1ba00000) - - - - - - + ptr(0x7fdccf400000) + + + + + + # START (92) ############################# Device 0 name: Vega 10 XT [Radeon RX Vega 64] PASSED! # START (91) ############################# - - - - - - - - + + + + + + + + Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - + + - ptr(0x7ffc1d894588) size(0x400000) - - - - - - + ptr(0x7ffd15195b38) size(0x400000) + + + + + + - *ptr(0x0x7f0f2c200000) - - + *ptr(0x0x7fdccfa00000) + + - ptr(0x7ffc1d894580) size(0x400000) - - - - - - + ptr(0x7ffd15195b30) size(0x400000) + + + + + + - *ptr(0x0x7f0f1ba00000) - - + *ptr(0x0x7fdccf400000) + + - dst(0x7f0f2c200000) src(0x74def40) size(0x400000) kind(1) - - - - - - - - + dst(0x7fdccfa00000) src(0x658fb00) size(0x400000) kind(1) + + + + + + + + - - + + kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - + + + + - - + + - dst(0x20442c0) src(0x7f0f1ba00000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - + dst(0x10de660) src(0x7fdccf400000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + PASSED! - - + + - ptr(0x7f0f2c200000) - - - - - - - - + ptr(0x7fdccfa00000) + + + + + + + + - ptr(0x7f0f1ba00000) - - - - - - + ptr(0x7fdccf400000) + + + + + + # START (90) ############################# Device 0 name: Vega 10 XT [Radeon RX Vega 64] PASSED! # START (89) ############################# - - - - - - - - + + + + + + + + Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - + + - ptr(0x7ffc1d894588) size(0x400000) - - - - - - + ptr(0x7ffd15195b38) size(0x400000) + + + + + + - *ptr(0x0x7f0f2c200000) - - + *ptr(0x0x7fdccfa00000) + + - ptr(0x7ffc1d894580) size(0x400000) - - - - - - + ptr(0x7ffd15195b30) size(0x400000) + + + + + + - *ptr(0x0x7f0f1ba00000) - - + *ptr(0x0x7fdccf400000) + + - dst(0x7f0f2c200000) src(0x74def40) size(0x400000) kind(1) - - - - - - - - + dst(0x7fdccfa00000) src(0x658fb00) size(0x400000) kind(1) + + + + + + + + - - + + kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - + + + + - - + + - dst(0x20442c0) src(0x7f0f1ba00000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - + dst(0x10de660) src(0x7fdccf400000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + PASSED! - - + + - ptr(0x7f0f2c200000) - - - - - - - - + ptr(0x7fdccfa00000) + + + + + + + + - ptr(0x7f0f1ba00000) - - - - - - + ptr(0x7fdccf400000) + + + + + + # START (88) ############################# Device 0 name: Vega 10 XT [Radeon RX Vega 64] PASSED! # START (87) ############################# - - - - - - - - + + + + + + + + Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - + + - ptr(0x7ffc1d894588) size(0x400000) - - - - - - + ptr(0x7ffd15195b38) size(0x400000) + + + + + + - *ptr(0x0x7f0f2c200000) - - + *ptr(0x0x7fdccfa00000) + + - ptr(0x7ffc1d894580) size(0x400000) - - - - - - + ptr(0x7ffd15195b30) size(0x400000) + + + + + + - *ptr(0x0x7f0f1ba00000) - - + *ptr(0x0x7fdccf400000) + + - dst(0x7f0f2c200000) src(0x74def40) size(0x400000) kind(1) - - - - - - - - + dst(0x7fdccfa00000) src(0x658fb00) size(0x400000) kind(1) + + + + + + + + - - + + kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - + + + + - - + + - dst(0x20442c0) src(0x7f0f1ba00000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - + dst(0x10de660) src(0x7fdccf400000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + PASSED! - - + + - ptr(0x7f0f2c200000) - - - - - - - - + ptr(0x7fdccfa00000) + + + + + + + + - ptr(0x7f0f1ba00000) - - - - - - + ptr(0x7fdccf400000) + + + + + + # START (86) ############################# Device 0 name: Vega 10 XT [Radeon RX Vega 64] PASSED! # START (85) ############################# - - - - - - - - + + + + + + + + Device 0 name: Vega 10 XT [Radeon RX Vega 64] Activity records: device_id(0) queue_id(0) device_id(0) queue_id(0) bytes(0x400000) external_id(32) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(31) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(31) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) bytes(0x400000) external_id(32) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(33) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) device_id(0) queue_id(0) bytes(0x400000) external_id(32) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(31) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(31) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) bytes(0x400000) external_id(32) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(33) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) device_id(0) queue_id(0) bytes(0x400000) external_id(32) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(31) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(31) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) bytes(0x400000) external_id(32) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(33) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) device_id(0) queue_id(0) bytes(0x400000) external_id(32) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(31) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(31) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) - process_id(116404) thread_id(116404) - - + process_id(26224) thread_id(26224) + + - ptr(0x7ffc1d894588) size(0x400000) - - - - - - + ptr(0x7ffd15195b38) size(0x400000) + + + + + + - *ptr(0x0x7f0f2c200000) - - + *ptr(0x0x7fdccfa00000) + + - ptr(0x7ffc1d894580) size(0x400000) - - - - - - + ptr(0x7ffd15195b30) size(0x400000) + + + + + + - *ptr(0x0x7f0f1ba00000) - - + *ptr(0x0x7fdccf400000) + + - dst(0x7f0f2c200000) src(0x74def40) size(0x400000) kind(1) - - - - - - - - + dst(0x7fdccfa00000) src(0x658fb00) size(0x400000) kind(1) + + + + + + + + - - + + kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - + + + + - - + + - dst(0x20442c0) src(0x7f0f1ba00000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - + dst(0x10de660) src(0x7fdccf400000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + PASSED! - - + + - ptr(0x7f0f2c200000) - - - - - - - - + ptr(0x7fdccfa00000) + + + + + + + + - ptr(0x7f0f1ba00000) - - - - - - + ptr(0x7fdccf400000) + + + + + + # START (84) ############################# Device 0 name: Vega 10 XT [Radeon RX Vega 64] PASSED! # START (83) ############################# - - - - - - - - + + + + + + + + Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - + + - ptr(0x7ffc1d894588) size(0x400000) - - - - - - + ptr(0x7ffd15195b38) size(0x400000) + + + + + + - *ptr(0x0x7f0f2c200000) - - + *ptr(0x0x7fdccfa00000) + + - ptr(0x7ffc1d894580) size(0x400000) - - - - - - + ptr(0x7ffd15195b30) size(0x400000) + + + + + + - *ptr(0x0x7f0f1ba00000) - - + *ptr(0x0x7fdccf400000) + + - dst(0x7f0f2c200000) src(0x74def40) size(0x400000) kind(1) - - - - - - - - + dst(0x7fdccfa00000) src(0x658fb00) size(0x400000) kind(1) + + + + + + + + - - + + kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - + + + + - - + + - dst(0x20442c0) src(0x7f0f1ba00000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - + dst(0x10de660) src(0x7fdccf400000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + PASSED! - - + + - ptr(0x7f0f2c200000) - - - - - - - - + ptr(0x7fdccfa00000) + + + + + + + + - ptr(0x7f0f1ba00000) - - - - - - + ptr(0x7fdccf400000) + + + + + + # START (82) ############################# Device 0 name: Vega 10 XT [Radeon RX Vega 64] PASSED! # START (81) ############################# - - - - - - - - + + + + + + + + Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - + + - ptr(0x7ffc1d894588) size(0x400000) - - - - - - + ptr(0x7ffd15195b38) size(0x400000) + + + + + + - *ptr(0x0x7f0f2c200000) - - + *ptr(0x0x7fdccfa00000) + + - ptr(0x7ffc1d894580) size(0x400000) - - - - - - + ptr(0x7ffd15195b30) size(0x400000) + + + + + + - *ptr(0x0x7f0f1ba00000) - - + *ptr(0x0x7fdccf400000) + + - dst(0x7f0f2c200000) src(0x74def40) size(0x400000) kind(1) - - - - - - - - + dst(0x7fdccfa00000) src(0x658fb00) size(0x400000) kind(1) + + + + + + + + - - + + kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - + + + + - - + + - dst(0x20442c0) src(0x7f0f1ba00000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - + dst(0x10de660) src(0x7fdccf400000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + PASSED! - - + + - ptr(0x7f0f2c200000) - - - - - - - - + ptr(0x7fdccfa00000) + + + + + + + + - ptr(0x7f0f1ba00000) - - - - - - + ptr(0x7fdccf400000) + + + + + + # START (80) ############################# Device 0 name: Vega 10 XT [Radeon RX Vega 64] PASSED! # START (79) ############################# - - - - - - - - + + + + + + + + Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - + + - ptr(0x7ffc1d894588) size(0x400000) - - - - - - + ptr(0x7ffd15195b38) size(0x400000) + + + + + + - *ptr(0x0x7f0f2c200000) - - + *ptr(0x0x7fdccfa00000) + + - ptr(0x7ffc1d894580) size(0x400000) - - - - - - + ptr(0x7ffd15195b30) size(0x400000) + + + + + + - *ptr(0x0x7f0f1ba00000) - - + *ptr(0x0x7fdccf400000) + + - dst(0x7f0f2c200000) src(0x74def40) size(0x400000) kind(1) - - - - - - - - + dst(0x7fdccfa00000) src(0x658fb00) size(0x400000) kind(1) + + + + + + + + - - + + kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - + + + + - - + + - dst(0x20442c0) src(0x7f0f1ba00000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - + dst(0x10de660) src(0x7fdccf400000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + Activity records: - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) bytes(0x400000) external_id(32) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(33) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) device_id(0) queue_id(0) bytes(0x400000) external_id(32) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(31) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(31) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) bytes(0x400000) external_id(32) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(33) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) device_id(0) queue_id(0) bytes(0x400000) external_id(32) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(31) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(31) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) bytes(0x400000) external_id(32) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(33) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) device_id(0) queue_id(0) bytes(0x400000) external_id(32) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(31) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(31) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) bytes(0x400000) external_id(32) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(33) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) device_id(0) queue_id(0) bytes(0x400000) PASSED! - - + + - ptr(0x7f0f2c200000) - - - - - - - - + ptr(0x7fdccfa00000) + + + + + + + + - ptr(0x7f0f1ba00000) - - - - - - + ptr(0x7fdccf400000) + + + + + + # START (78) ############################# Device 0 name: Vega 10 XT [Radeon RX Vega 64] PASSED! # START (77) ############################# - - - - - - - - + + + + + + + + Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - + + - ptr(0x7ffc1d894588) size(0x400000) - - - - - - + ptr(0x7ffd15195b38) size(0x400000) + + + + + + - *ptr(0x0x7f0f2c200000) - - + *ptr(0x0x7fdccfa00000) + + - ptr(0x7ffc1d894580) size(0x400000) - - - - - - + ptr(0x7ffd15195b30) size(0x400000) + + + + + + - *ptr(0x0x7f0f1ba00000) - - + *ptr(0x0x7fdccf400000) + + - dst(0x7f0f2c200000) src(0x74def40) size(0x400000) kind(1) - - - - - - - - + dst(0x7fdccfa00000) src(0x658fb00) size(0x400000) kind(1) + + + + + + + + - - + + kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - + + + + - - + + - dst(0x20442c0) src(0x7f0f1ba00000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - + dst(0x10de660) src(0x7fdccf400000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + PASSED! - - + + - ptr(0x7f0f2c200000) - - - - - - - - + ptr(0x7fdccfa00000) + + + + + + + + - ptr(0x7f0f1ba00000) - - - - - - + ptr(0x7fdccf400000) + + + + + + # START (76) ############################# Device 0 name: Vega 10 XT [Radeon RX Vega 64] PASSED! # START (75) ############################# - - - - - - - - + + + + + + + + Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - + + - ptr(0x7ffc1d894588) size(0x400000) - - - - - - + ptr(0x7ffd15195b38) size(0x400000) + + + + + + - *ptr(0x0x7f0f2c200000) - - + *ptr(0x0x7fdccfa00000) + + - ptr(0x7ffc1d894580) size(0x400000) - - - - - - + ptr(0x7ffd15195b30) size(0x400000) + + + + + + - *ptr(0x0x7f0f1ba00000) - - + *ptr(0x0x7fdccf400000) + + - dst(0x7f0f2c200000) src(0x74def40) size(0x400000) kind(1) - - - - - - - - + dst(0x7fdccfa00000) src(0x658fb00) size(0x400000) kind(1) + + + + + + + + - - + + kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - + + + + - - + + - dst(0x20442c0) src(0x7f0f1ba00000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - + dst(0x10de660) src(0x7fdccf400000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + PASSED! - - + + - ptr(0x7f0f2c200000) - - - - - - - - + ptr(0x7fdccfa00000) + + + + + + + + - ptr(0x7f0f1ba00000) - - - - - - + ptr(0x7fdccf400000) + + + + + + # START (74) ############################# Device 0 name: Vega 10 XT [Radeon RX Vega 64] PASSED! # START (73) ############################# - - - - - - - - + + + + + + + + Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - + + - ptr(0x7ffc1d894588) size(0x400000) - - - - - - + ptr(0x7ffd15195b38) size(0x400000) + + + + + + - *ptr(0x0x7f0f2c200000) - - + *ptr(0x0x7fdccfa00000) + + - ptr(0x7ffc1d894580) size(0x400000) - - - - - - + ptr(0x7ffd15195b30) size(0x400000) + + + + + + - *ptr(0x0x7f0f1ba00000) - - + *ptr(0x0x7fdccf400000) + + - dst(0x7f0f2c200000) src(0x74def40) size(0x400000) kind(1) - - - - - - - - + dst(0x7fdccfa00000) src(0x658fb00) size(0x400000) kind(1) + + + + + + + + - - + + kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - + + + + - - + + - dst(0x20442c0) src(0x7f0f1ba00000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - + dst(0x10de660) src(0x7fdccf400000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + PASSED! - - + + - ptr(0x7f0f2c200000) - - - - - - - - + ptr(0x7fdccfa00000) + + + + + + + + - ptr(0x7f0f1ba00000) - - - - - - + ptr(0x7fdccf400000) + + + + + + # START (72) ############################# Device 0 name: Vega 10 XT [Radeon RX Vega 64] PASSED! # START (71) ############################# - - - - - - - - + + + + + + + + Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - + + - ptr(0x7ffc1d894588) size(0x400000) - - - - - - + ptr(0x7ffd15195b38) size(0x400000) + + + + + + - *ptr(0x0x7f0f2c200000) - - + *ptr(0x0x7fdccfa00000) + + - ptr(0x7ffc1d894580) size(0x400000) - - - - - - + ptr(0x7ffd15195b30) size(0x400000) + + + + + + - *ptr(0x0x7f0f1ba00000) - - + *ptr(0x0x7fdccf400000) + + - dst(0x7f0f2c200000) src(0x74def40) size(0x400000) kind(1) + dst(0x7fdccfa00000) src(0x658fb00) size(0x400000) kind(1) Activity records: - - - - + + + + external_id(32) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(31) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(31) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) bytes(0x400000) external_id(32) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(33) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) device_id(0) queue_id(0) bytes(0x400000) external_id(32) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(31) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(31) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) bytes(0x400000) external_id(32) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(33) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) device_id(0) queue_id(0) bytes(0x400000) external_id(32) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(31) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(31) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) bytes(0x400000) external_id(32) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(33) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) device_id(0) queue_id(0) bytes(0x400000) external_id(32) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(31) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(31) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) - - - - + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) + + + + - - + + kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - + + + + - - + + - dst(0x20442c0) src(0x7f0f1ba00000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - + dst(0x10de660) src(0x7fdccf400000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + PASSED! - - + + - ptr(0x7f0f2c200000) - - - - - - - - + ptr(0x7fdccfa00000) + + + + + + + + - ptr(0x7f0f1ba00000) - - - - - - + ptr(0x7fdccf400000) + + + + + + # START (70) ############################# Device 0 name: Vega 10 XT [Radeon RX Vega 64] PASSED! # START (69) ############################# - - - - - - - - + + + + + + + + Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - + + - ptr(0x7ffc1d894588) size(0x400000) - - - - - - + ptr(0x7ffd15195b38) size(0x400000) + + + + + + - *ptr(0x0x7f0f2c200000) - - + *ptr(0x0x7fdccfa00000) + + - ptr(0x7ffc1d894580) size(0x400000) - - - - - - + ptr(0x7ffd15195b30) size(0x400000) + + + + + + - *ptr(0x0x7f0f1ba00000) - - + *ptr(0x0x7fdccf400000) + + - dst(0x7f0f2c200000) src(0x74def40) size(0x400000) kind(1) - - - - - - - - + dst(0x7fdccfa00000) src(0x658fb00) size(0x400000) kind(1) + + + + + + + + - - + + kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - + + + + - - + + - dst(0x20442c0) src(0x7f0f1ba00000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - + dst(0x10de660) src(0x7fdccf400000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + PASSED! - - + + - ptr(0x7f0f2c200000) - - - - - - - - + ptr(0x7fdccfa00000) + + + + + + + + - ptr(0x7f0f1ba00000) - - - - - - + ptr(0x7fdccf400000) + + + + + + # START (68) ############################# Device 0 name: Vega 10 XT [Radeon RX Vega 64] PASSED! # START (67) ############################# - - - - - - - - + + + + + + + + Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - + + - ptr(0x7ffc1d894588) size(0x400000) - - - - - - + ptr(0x7ffd15195b38) size(0x400000) + + + + + + - *ptr(0x0x7f0f2c200000) - - + *ptr(0x0x7fdccfa00000) + + - ptr(0x7ffc1d894580) size(0x400000) - - - - - - + ptr(0x7ffd15195b30) size(0x400000) + + + + + + - *ptr(0x0x7f0f1ba00000) - - + *ptr(0x0x7fdccf400000) + + - dst(0x7f0f2c200000) src(0x74def40) size(0x400000) kind(1) - - - - - - - - + dst(0x7fdccfa00000) src(0x658fb00) size(0x400000) kind(1) + + + + + + + + - - + + kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - + + + + - - + + - dst(0x20442c0) src(0x7f0f1ba00000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - + dst(0x10de660) src(0x7fdccf400000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + PASSED! - - + + - ptr(0x7f0f2c200000) - - - - - - - - + ptr(0x7fdccfa00000) + + + + + + + + - ptr(0x7f0f1ba00000) - - - - - - + ptr(0x7fdccf400000) + + + + + + # START (66) ############################# Device 0 name: Vega 10 XT [Radeon RX Vega 64] PASSED! # START (65) ############################# - - - - - - - - + + + + + + + + Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - + + - ptr(0x7ffc1d894588) size(0x400000) - - - - - - + ptr(0x7ffd15195b38) size(0x400000) + + + + + + - *ptr(0x0x7f0f2c200000) - - + *ptr(0x0x7fdccfa00000) + + - ptr(0x7ffc1d894580) size(0x400000) - - - - - - + ptr(0x7ffd15195b30) size(0x400000) + + + + + + - *ptr(0x0x7f0f1ba00000) - - + *ptr(0x0x7fdccf400000) + + - dst(0x7f0f2c200000) src(0x74def40) size(0x400000) kind(1) - - - - - - - - + dst(0x7fdccfa00000) src(0x658fb00) size(0x400000) kind(1) + + + + + + + + - - + + kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - + + + + - - + + - dst(0x20442c0) src(0x7f0f1ba00000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - + dst(0x10de660) src(0x7fdccf400000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + PASSED! - - + + - ptr(0x7f0f2c200000) - - - - - - - - + ptr(0x7fdccfa00000) + + + + + + + + - ptr(0x7f0f1ba00000) - - - - - - + ptr(0x7fdccf400000) + + + + + + # START (64) ############################# Device 0 name: Vega 10 XT [Radeon RX Vega 64] Activity records: - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) bytes(0x400000) external_id(32) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(33) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) device_id(0) queue_id(0) bytes(0x400000) external_id(32) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(31) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(31) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) bytes(0x400000) external_id(32) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(33) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) device_id(0) queue_id(0) bytes(0x400000) external_id(32) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(31) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(31) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) bytes(0x400000) external_id(32) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(33) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) device_id(0) queue_id(0) bytes(0x400000) external_id(32) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(31) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(31) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) bytes(0x400000) external_id(32) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(33) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) device_id(0) queue_id(0) bytes(0x400000) external_id(32) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) PASSED! # START (63) ############################# - - - - - - - - + + + + + + + + Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - + + - ptr(0x7ffc1d894588) size(0x400000) - - - - - - + ptr(0x7ffd15195b38) size(0x400000) + + + + + + - *ptr(0x0x7f0f2c200000) - - + *ptr(0x0x7fdccfa00000) + + - ptr(0x7ffc1d894580) size(0x400000) - - - - - - + ptr(0x7ffd15195b30) size(0x400000) + + + + + + - *ptr(0x0x7f0f1ba00000) - - + *ptr(0x0x7fdccf400000) + + - dst(0x7f0f2c200000) src(0x74def40) size(0x400000) kind(1) - - - - - - - - + dst(0x7fdccfa00000) src(0x658fb00) size(0x400000) kind(1) + + + + + + + + - - + + kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - + + + + - - + + - dst(0x20442c0) src(0x7f0f1ba00000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - + dst(0x10de660) src(0x7fdccf400000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + PASSED! - - + + - ptr(0x7f0f2c200000) - - - - - - - - + ptr(0x7fdccfa00000) + + + + + + + + - ptr(0x7f0f1ba00000) - - - - - - + ptr(0x7fdccf400000) + + + + + + # START (62) ############################# Device 0 name: Vega 10 XT [Radeon RX Vega 64] PASSED! # START (61) ############################# - - - - - - - - + + + + + + + + Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - + + - ptr(0x7ffc1d894588) size(0x400000) - - - - - - + ptr(0x7ffd15195b38) size(0x400000) + + + + + + - *ptr(0x0x7f0f2c200000) - - + *ptr(0x0x7fdccfa00000) + + - ptr(0x7ffc1d894580) size(0x400000) - - - - - - + ptr(0x7ffd15195b30) size(0x400000) + + + + + + - *ptr(0x0x7f0f1ba00000) - - + *ptr(0x0x7fdccf400000) + + - dst(0x7f0f2c200000) src(0x74def40) size(0x400000) kind(1) - - - - - - - - + dst(0x7fdccfa00000) src(0x658fb00) size(0x400000) kind(1) + + + + + + + + - - + + kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - + + + + - - + + - dst(0x20442c0) src(0x7f0f1ba00000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - + dst(0x10de660) src(0x7fdccf400000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + PASSED! - - + + - ptr(0x7f0f2c200000) - - - - - - - - + ptr(0x7fdccfa00000) + + + + + + + + - ptr(0x7f0f1ba00000) - - - - - - + ptr(0x7fdccf400000) + + + + + + # START (60) ############################# Device 0 name: Vega 10 XT [Radeon RX Vega 64] PASSED! # START (59) ############################# - - - - - - - - + + + + + + + + Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - + + - ptr(0x7ffc1d894588) size(0x400000) - - - - - - + ptr(0x7ffd15195b38) size(0x400000) + + + + + + - *ptr(0x0x7f0f2c200000) - - + *ptr(0x0x7fdccfa00000) + + - ptr(0x7ffc1d894580) size(0x400000) - - - - - - + ptr(0x7ffd15195b30) size(0x400000) + + + + + + - *ptr(0x0x7f0f1ba00000) - - + *ptr(0x0x7fdccf400000) + + - dst(0x7f0f2c200000) src(0x74def40) size(0x400000) kind(1) - - - - - - - - + dst(0x7fdccfa00000) src(0x658fb00) size(0x400000) kind(1) + + + + + + + + - - + + kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - + + + + - - + + - dst(0x20442c0) src(0x7f0f1ba00000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - + dst(0x10de660) src(0x7fdccf400000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + PASSED! - - + + - ptr(0x7f0f2c200000) - - - - - - - - + ptr(0x7fdccfa00000) + + + + + + + + - ptr(0x7f0f1ba00000) - - - - - - + ptr(0x7fdccf400000) + + + + + + # START (58) ############################# Device 0 name: Vega 10 XT [Radeon RX Vega 64] PASSED! # START (57) ############################# - - - - - - - - + + + + + + + + Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - + + - ptr(0x7ffc1d894588) size(0x400000) - - - - - - + ptr(0x7ffd15195b38) size(0x400000) + + + + + + - *ptr(0x0x7f0f2c200000) - - + *ptr(0x0x7fdccfa00000) + + - ptr(0x7ffc1d894580) size(0x400000) - - - - - - + ptr(0x7ffd15195b30) size(0x400000) + + + + + + - *ptr(0x0x7f0f1ba00000) - - + *ptr(0x0x7fdccf400000) + + - dst(0x7f0f2c200000) src(0x74def40) size(0x400000) kind(1) - - - - - - - - + dst(0x7fdccfa00000) src(0x658fb00) size(0x400000) kind(1) + + + + + + + + - - + + kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - Activity records: - - + + + + - - + + - dst(0x20442c0) src(0x7f0f1ba00000) size(0x400000) kind(2) - - + dst(0x10de660) src(0x7fdccf400000) size(0x400000) kind(2) + + + Activity records: external_id(31) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(31) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) bytes(0x400000) external_id(32) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(33) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) device_id(0) queue_id(0) bytes(0x400000) external_id(32) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(31) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(31) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) bytes(0x400000) external_id(32) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(33) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) device_id(0) queue_id(0) bytes(0x400000) external_id(32) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(31) - process_id(116404) thread_id(116404) - - - + process_id(26224) thread_id(26224) + + external_id(31) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) - process_id(116404) thread_id(116404) - - process_id(116404) thread_id(116404) - - - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) + + + + bytes(0x400000) external_id(32) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(33) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) device_id(0) queue_id(0) bytes(0x400000) external_id(32) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(31) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(31) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) bytes(0x400000) - - - - - - - - - - - - + + + + + + + + + + + + PASSED! - - + + - ptr(0x7f0f2c200000) - - - - - - - - + ptr(0x7fdccfa00000) + + + + + + + + - ptr(0x7f0f1ba00000) - - - - - - + ptr(0x7fdccf400000) + + + + + + # START (56) ############################# Device 0 name: Vega 10 XT [Radeon RX Vega 64] PASSED! # START (55) ############################# - - - - - - - - + + + + + + + + Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - + + - ptr(0x7ffc1d894588) size(0x400000) - - - - - - + ptr(0x7ffd15195b38) size(0x400000) + + + + + + - *ptr(0x0x7f0f2c200000) - - + *ptr(0x0x7fdccfa00000) + + - ptr(0x7ffc1d894580) size(0x400000) - - - - - - + ptr(0x7ffd15195b30) size(0x400000) + + + + + + - *ptr(0x0x7f0f1ba00000) - - + *ptr(0x0x7fdccf400000) + + - dst(0x7f0f2c200000) src(0x74def40) size(0x400000) kind(1) - - - - - - - - + dst(0x7fdccfa00000) src(0x658fb00) size(0x400000) kind(1) + + + + + + + + - - + + kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - + + + + - - + + - dst(0x20442c0) src(0x7f0f1ba00000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - + dst(0x10de660) src(0x7fdccf400000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + PASSED! - - + + - ptr(0x7f0f2c200000) - - - - - - - - + ptr(0x7fdccfa00000) + + + + + + + + - ptr(0x7f0f1ba00000) - - - - - - + ptr(0x7fdccf400000) + + + + + + # START (54) ############################# Device 0 name: Vega 10 XT [Radeon RX Vega 64] PASSED! # START (53) ############################# - - - - - - - - + + + + + + + + Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - + + - ptr(0x7ffc1d894588) size(0x400000) - - - - - - + ptr(0x7ffd15195b38) size(0x400000) + + + + + + - *ptr(0x0x7f0f2c200000) - - + *ptr(0x0x7fdccfa00000) + + - ptr(0x7ffc1d894580) size(0x400000) - - - - - - + ptr(0x7ffd15195b30) size(0x400000) + + + + + + - *ptr(0x0x7f0f1ba00000) - - + *ptr(0x0x7fdccf400000) + + - dst(0x7f0f2c200000) src(0x74def40) size(0x400000) kind(1) - - - - - - - - + dst(0x7fdccfa00000) src(0x658fb00) size(0x400000) kind(1) + + + + + + + + - - + + kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - + + + + - - + + - dst(0x20442c0) src(0x7f0f1ba00000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - + dst(0x10de660) src(0x7fdccf400000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + PASSED! - - + + - ptr(0x7f0f2c200000) - - - - - - - - + ptr(0x7fdccfa00000) + + + + + + + + - ptr(0x7f0f1ba00000) - - - - - - + ptr(0x7fdccf400000) + + + + + + # START (52) ############################# Device 0 name: Vega 10 XT [Radeon RX Vega 64] PASSED! # START (51) ############################# - - - - - - - - + + + + + + + + Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - + + - ptr(0x7ffc1d894588) size(0x400000) - - - - - - + ptr(0x7ffd15195b38) size(0x400000) + + + + + + - *ptr(0x0x7f0f2c200000) - - + *ptr(0x0x7fdccfa00000) + + - ptr(0x7ffc1d894580) size(0x400000) - - - - - - + ptr(0x7ffd15195b30) size(0x400000) + + + + + + - *ptr(0x0x7f0f1ba00000) - - + *ptr(0x0x7fdccf400000) + + - dst(0x7f0f2c200000) src(0x74def40) size(0x400000) kind(1) - - - - - - - - + dst(0x7fdccfa00000) src(0x658fb00) size(0x400000) kind(1) + + + + + + + + - - + + kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - + + + + - - + + - dst(0x20442c0) src(0x7f0f1ba00000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - + dst(0x10de660) src(0x7fdccf400000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + PASSED! - - + + - ptr(0x7f0f2c200000) - - - - - - - - + ptr(0x7fdccfa00000) + + + + + + + + - ptr(0x7f0f1ba00000) - - - - - - + ptr(0x7fdccf400000) + + + + + + # START (50) ############################# Device 0 name: Vega 10 XT [Radeon RX Vega 64] Activity records: external_id(32) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(33) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) device_id(0) queue_id(0) bytes(0x400000) external_id(32) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(31) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(31) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) bytes(0x400000) external_id(32) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(33) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) device_id(0) queue_id(0) bytes(0x400000) external_id(32) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(31) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(31) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) bytes(0x400000) external_id(32) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(33) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) device_id(0) queue_id(0) bytes(0x400000) external_id(32) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(31) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(31) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) bytes(0x400000) external_id(32) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(33) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) device_id(0) queue_id(0) bytes(0x400000) external_id(32) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(31) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) PASSED! # START (49) ############################# - - - - - - - - + + + + + + + + Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - + + - ptr(0x7ffc1d894588) size(0x400000) - - - - - - + ptr(0x7ffd15195b38) size(0x400000) + + + + + + - *ptr(0x0x7f0f2c200000) - - + *ptr(0x0x7fdccfa00000) + + - ptr(0x7ffc1d894580) size(0x400000) - - - - - - + ptr(0x7ffd15195b30) size(0x400000) + + + + + + - *ptr(0x0x7f0f1ba00000) - - + *ptr(0x0x7fdccf400000) + + - dst(0x7f0f2c200000) src(0x74def40) size(0x400000) kind(1) - - - - - - - - + dst(0x7fdccfa00000) src(0x658fb00) size(0x400000) kind(1) + + + + + + + + - - + + kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - + + + + - - + + - dst(0x20442c0) src(0x7f0f1ba00000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - + dst(0x10de660) src(0x7fdccf400000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + PASSED! - - + + - ptr(0x7f0f2c200000) - - - - - - - - + ptr(0x7fdccfa00000) + + + + + + + + - ptr(0x7f0f1ba00000) - - - - - - + ptr(0x7fdccf400000) + + + + + + # START (48) ############################# Device 0 name: Vega 10 XT [Radeon RX Vega 64] PASSED! # START (47) ############################# - - - - - - - - + + + + + + + + Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - + + - ptr(0x7ffc1d894588) size(0x400000) - - - - - - + ptr(0x7ffd15195b38) size(0x400000) + + + + + + - *ptr(0x0x7f0f2c200000) - - + *ptr(0x0x7fdccfa00000) + + - ptr(0x7ffc1d894580) size(0x400000) - - - - - - + ptr(0x7ffd15195b30) size(0x400000) + + + + + + - *ptr(0x0x7f0f1ba00000) - - + *ptr(0x0x7fdccf400000) + + - dst(0x7f0f2c200000) src(0x74def40) size(0x400000) kind(1) - - - - - - - - + dst(0x7fdccfa00000) src(0x658fb00) size(0x400000) kind(1) + + + + + + + + - - + + kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - + + + + - - + + - dst(0x20442c0) src(0x7f0f1ba00000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - + dst(0x10de660) src(0x7fdccf400000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + PASSED! - - + + - ptr(0x7f0f2c200000) - - - - - - - - + ptr(0x7fdccfa00000) + + + + + + + + - ptr(0x7f0f1ba00000) - - - - - - + ptr(0x7fdccf400000) + + + + + + # START (46) ############################# Device 0 name: Vega 10 XT [Radeon RX Vega 64] PASSED! # START (45) ############################# - - - - - - - - + + + + + + + + Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - + + - ptr(0x7ffc1d894588) size(0x400000) - - - - - - + ptr(0x7ffd15195b38) size(0x400000) + + + + + + - *ptr(0x0x7f0f2c200000) - - + *ptr(0x0x7fdccfa00000) + + - ptr(0x7ffc1d894580) size(0x400000) - - - - - - + ptr(0x7ffd15195b30) size(0x400000) + + + + + + - *ptr(0x0x7f0f1ba00000) - - + *ptr(0x0x7fdccf400000) + + - dst(0x7f0f2c200000) src(0x74def40) size(0x400000) kind(1) - - - - - - - - + dst(0x7fdccfa00000) src(0x658fb00) size(0x400000) kind(1) + + + + + + + + - - + + kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - + + + + - - + + - dst(0x20442c0) src(0x7f0f1ba00000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - + dst(0x10de660) src(0x7fdccf400000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + PASSED! - - + + - ptr(0x7f0f2c200000) - - - - - - - - + ptr(0x7fdccfa00000) + + + + + + + + - ptr(0x7f0f1ba00000) - - - - - - + ptr(0x7fdccf400000) + + + + + + # START (44) ############################# Device 0 name: Vega 10 XT [Radeon RX Vega 64] PASSED! # START (43) ############################# - - - - - - - - + + + + + + + + Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - + + - ptr(0x7ffc1d894588) size(0x400000) - - - - - - + ptr(0x7ffd15195b38) size(0x400000) + + + + + + - *ptr(0x0x7f0f2c200000) - - + *ptr(0x0x7fdccfa00000) + + - ptr(0x7ffc1d894580) size(0x400000) - - - - - - + ptr(0x7ffd15195b30) size(0x400000) + + + + + + - *ptr(0x0x7f0f1ba00000) - - + *ptr(0x0x7fdccf400000) + + - dst(0x7f0f2c200000) src(0x74def40) size(0x400000) kind(1) - - - - - - - - + dst(0x7fdccfa00000) src(0x658fb00) size(0x400000) kind(1) + + + + + + + + - - + + kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - + + + + - - + + - dst(0x20442c0) src(0x7f0f1ba00000) size(0x400000) kind(2) - - + dst(0x10de660) src(0x7fdccf400000) size(0x400000) kind(2) + + + + + + + + Activity records: - - - - - - external_id(31) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) bytes(0x400000) external_id(32) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(33) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) device_id(0) queue_id(0) bytes(0x400000) external_id(32) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(31) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(31) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) bytes(0x400000) external_id(32) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(33) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) device_id(0) queue_id(0) bytes(0x400000) external_id(32) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(31) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(31) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) bytes(0x400000) external_id(32) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(33) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) device_id(0) queue_id(0) bytes(0x400000) external_id(32) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(31) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(31) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) bytes(0x400000) external_id(32) - process_id(116404) thread_id(116404) - - - - - - - - - - - - + process_id(26224) thread_id(26224) + + + + + + + + + + + + PASSED! - - + + - ptr(0x7f0f2c200000) - - - - - - - - + ptr(0x7fdccfa00000) + + + + + + + + - ptr(0x7f0f1ba00000) - - - - - - + ptr(0x7fdccf400000) + + + + + + # START (42) ############################# Device 0 name: Vega 10 XT [Radeon RX Vega 64] PASSED! # START (41) ############################# - - - - - - - - + + + + + + + + Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - + + - ptr(0x7ffc1d894588) size(0x400000) - - - - - - + ptr(0x7ffd15195b38) size(0x400000) + + + + + + - *ptr(0x0x7f0f2c200000) - - + *ptr(0x0x7fdccfa00000) + + - ptr(0x7ffc1d894580) size(0x400000) - - - - - - + ptr(0x7ffd15195b30) size(0x400000) + + + + + + - *ptr(0x0x7f0f1ba00000) - - + *ptr(0x0x7fdccf400000) + + - dst(0x7f0f2c200000) src(0x74def40) size(0x400000) kind(1) - - - - - - - - + dst(0x7fdccfa00000) src(0x658fb00) size(0x400000) kind(1) + + + + + + + + - - + + kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - + + + + - - + + - dst(0x20442c0) src(0x7f0f1ba00000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - + dst(0x10de660) src(0x7fdccf400000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + PASSED! - - + + - ptr(0x7f0f2c200000) - - - - - - - - + ptr(0x7fdccfa00000) + + + + + + + + - ptr(0x7f0f1ba00000) - - - - - - + ptr(0x7fdccf400000) + + + + + + # START (40) ############################# Device 0 name: Vega 10 XT [Radeon RX Vega 64] PASSED! # START (39) ############################# - - - - - - - - + + + + + + + + Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - + + - ptr(0x7ffc1d894588) size(0x400000) - - - - - - + ptr(0x7ffd15195b38) size(0x400000) + + + + + + - *ptr(0x0x7f0f2c200000) - - + *ptr(0x0x7fdccfa00000) + + - ptr(0x7ffc1d894580) size(0x400000) - - - - - - + ptr(0x7ffd15195b30) size(0x400000) + + + + + + - *ptr(0x0x7f0f1ba00000) - - + *ptr(0x0x7fdccf400000) + + - dst(0x7f0f2c200000) src(0x74def40) size(0x400000) kind(1) - - - - - - - - + dst(0x7fdccfa00000) src(0x658fb00) size(0x400000) kind(1) + + + + + + + + - - + + kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - + + + + - - + + - dst(0x20442c0) src(0x7f0f1ba00000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - + dst(0x10de660) src(0x7fdccf400000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + PASSED! - - + + - ptr(0x7f0f2c200000) - - - - - - - - + ptr(0x7fdccfa00000) + + + + + + + + - ptr(0x7f0f1ba00000) - - - - - - + ptr(0x7fdccf400000) + + + + + + # START (38) ############################# Device 0 name: Vega 10 XT [Radeon RX Vega 64] PASSED! # START (37) ############################# - - - - - - - - + + + + + + + + Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - + + - ptr(0x7ffc1d894588) size(0x400000) - - - - - - + ptr(0x7ffd15195b38) size(0x400000) + + + + + + - *ptr(0x0x7f0f2c200000) - - + *ptr(0x0x7fdccfa00000) + + - ptr(0x7ffc1d894580) size(0x400000) - - - - - - + ptr(0x7ffd15195b30) size(0x400000) + + + + + + - *ptr(0x0x7f0f1ba00000) - - + *ptr(0x0x7fdccf400000) + + - dst(0x7f0f2c200000) src(0x74def40) size(0x400000) kind(1) - - - - - - - - + dst(0x7fdccfa00000) src(0x658fb00) size(0x400000) kind(1) + + + + + + + + - - + + kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - + + + + - - + + - dst(0x20442c0) src(0x7f0f1ba00000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - + dst(0x10de660) src(0x7fdccf400000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + PASSED! - - + + - ptr(0x7f0f2c200000) - - - - - - - - + ptr(0x7fdccfa00000) + + + + + + + + - ptr(0x7f0f1ba00000) - - - - - - + ptr(0x7fdccf400000) + + + + + + # START (36) ############################# Device 0 name: Vega 10 XT [Radeon RX Vega 64] Activity records: external_id(33) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) device_id(0) queue_id(0) bytes(0x400000) external_id(32) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(31) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(31) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) bytes(0x400000) external_id(32) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(33) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) device_id(0) queue_id(0) bytes(0x400000) external_id(32) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(31) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(31) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) bytes(0x400000) external_id(32) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(33) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) device_id(0) queue_id(0) bytes(0x400000) external_id(32) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(31) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(31) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) bytes(0x400000) external_id(32) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(33) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) device_id(0) queue_id(0) bytes(0x400000) external_id(32) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(31) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(31) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) PASSED! # START (35) ############################# - - - - - - - - + + + + + + + + Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - + + - ptr(0x7ffc1d894588) size(0x400000) - - - - - - + ptr(0x7ffd15195b38) size(0x400000) + + + + + + - *ptr(0x0x7f0f2c200000) - - + *ptr(0x0x7fdccfa00000) + + - ptr(0x7ffc1d894580) size(0x400000) - - - - - - + ptr(0x7ffd15195b30) size(0x400000) + + + + + + - *ptr(0x0x7f0f1ba00000) - - + *ptr(0x0x7fdccf400000) + + - dst(0x7f0f2c200000) src(0x74def40) size(0x400000) kind(1) - - - - - - - - + dst(0x7fdccfa00000) src(0x658fb00) size(0x400000) kind(1) + + + + + + + + - - + + kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - + + + + - - + + - dst(0x20442c0) src(0x7f0f1ba00000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - + dst(0x10de660) src(0x7fdccf400000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + PASSED! - - + + - ptr(0x7f0f2c200000) - - - - - - - - + ptr(0x7fdccfa00000) + + + + + + + + - ptr(0x7f0f1ba00000) - - - - - - + ptr(0x7fdccf400000) + + + + + + # START (34) ############################# Device 0 name: Vega 10 XT [Radeon RX Vega 64] PASSED! # START (33) ############################# - - - - - - - - + + + + + + + + Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - + + - ptr(0x7ffc1d894588) size(0x400000) - - - - - - + ptr(0x7ffd15195b38) size(0x400000) + + + + + + - *ptr(0x0x7f0f2c200000) - - + *ptr(0x0x7fdccfa00000) + + - ptr(0x7ffc1d894580) size(0x400000) - - - - - - + ptr(0x7ffd15195b30) size(0x400000) + + + + + + - *ptr(0x0x7f0f1ba00000) - - + *ptr(0x0x7fdccf400000) + + - dst(0x7f0f2c200000) src(0x74def40) size(0x400000) kind(1) - - - - - - - - + dst(0x7fdccfa00000) src(0x658fb00) size(0x400000) kind(1) + + + + + + + + - - + + kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - + + + + - - + + - dst(0x20442c0) src(0x7f0f1ba00000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - + dst(0x10de660) src(0x7fdccf400000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + PASSED! - - + + - ptr(0x7f0f2c200000) - - - - - - - - + ptr(0x7fdccfa00000) + + + + + + + + - ptr(0x7f0f1ba00000) - - - - - - + ptr(0x7fdccf400000) + + + + + + # START (32) ############################# Device 0 name: Vega 10 XT [Radeon RX Vega 64] PASSED! # START (31) ############################# - - - - - - - - + + + + + + + + Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - + + - ptr(0x7ffc1d894588) size(0x400000) - - - - - - + ptr(0x7ffd15195b38) size(0x400000) + + + + + + - *ptr(0x0x7f0f2c200000) - - + *ptr(0x0x7fdccfa00000) + + - ptr(0x7ffc1d894580) size(0x400000) - - - - - - + ptr(0x7ffd15195b30) size(0x400000) + + + + + + - *ptr(0x0x7f0f1ba00000) - - + *ptr(0x0x7fdccf400000) + + - dst(0x7f0f2c200000) src(0x74def40) size(0x400000) kind(1) - - - - - - - - + dst(0x7fdccfa00000) src(0x658fb00) size(0x400000) kind(1) + + + + + + + + - - + + kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - + + + + - - + + - dst(0x20442c0) src(0x7f0f1ba00000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - + dst(0x10de660) src(0x7fdccf400000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + PASSED! - - + + - ptr(0x7f0f2c200000) - - - - - - - - + ptr(0x7fdccfa00000) + + + + + + + + - ptr(0x7f0f1ba00000) - - - - - - + ptr(0x7fdccf400000) + + + + + + # START (30) ############################# Device 0 name: Vega 10 XT [Radeon RX Vega 64] PASSED! # START (29) ############################# - - - - - - - - + + + + + + + + Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - + + - ptr(0x7ffc1d894588) size(0x400000) - - - - - - + ptr(0x7ffd15195b38) size(0x400000) + + + + + + - *ptr(0x0x7f0f2c200000) - - + *ptr(0x0x7fdccfa00000) + + - ptr(0x7ffc1d894580) size(0x400000) - - - - - - + ptr(0x7ffd15195b30) size(0x400000) + + + + + + - *ptr(0x0x7f0f1ba00000) - - + *ptr(0x0x7fdccf400000) + + - dst(0x7f0f2c200000) src(0x74def40) size(0x400000) kind(1) - - - - - - - - + dst(0x7fdccfa00000) src(0x658fb00) size(0x400000) kind(1) + + + + + + + + - - + + kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - + + + + - - + + - dst(0x20442c0) src(0x7f0f1ba00000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - + dst(0x10de660) src(0x7fdccf400000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + Activity records: device_id(0) queue_id(0) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) bytes(0x400000) external_id(32) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(33) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) device_id(0) queue_id(0) bytes(0x400000) external_id(32) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(31) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(31) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) bytes(0x400000) external_id(32) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(33) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) device_id(0) queue_id(0) bytes(0x400000) external_id(32) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(31) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(31) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) bytes(0x400000) external_id(32) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(33) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) device_id(0) queue_id(0) bytes(0x400000) external_id(32) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(31) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(31) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) bytes(0x400000) external_id(32) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(33) - process_id(116404) thread_id(116404) - - - - + process_id(26224) thread_id(26224) + + + + PASSED! - - + + - ptr(0x7f0f2c200000) - - - - - - - - + ptr(0x7fdccfa00000) + + + + + + + + - ptr(0x7f0f1ba00000) - - - - - - + ptr(0x7fdccf400000) + + + + + + # START (28) ############################# Device 0 name: Vega 10 XT [Radeon RX Vega 64] PASSED! # START (27) ############################# - - - - - - - - + + + + + + + + Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - + + - ptr(0x7ffc1d894588) size(0x400000) - - - - - - + ptr(0x7ffd15195b38) size(0x400000) + + + + + + - *ptr(0x0x7f0f2c200000) - - + *ptr(0x0x7fdccfa00000) + + - ptr(0x7ffc1d894580) size(0x400000) - - - - - - + ptr(0x7ffd15195b30) size(0x400000) + + + + + + - *ptr(0x0x7f0f1ba00000) - - + *ptr(0x0x7fdccf400000) + + - dst(0x7f0f2c200000) src(0x74def40) size(0x400000) kind(1) - - - - - - - - + dst(0x7fdccfa00000) src(0x658fb00) size(0x400000) kind(1) + + + + + + + + - - + + kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - + + + + - - + + - dst(0x20442c0) src(0x7f0f1ba00000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - + dst(0x10de660) src(0x7fdccf400000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + PASSED! - - + + - ptr(0x7f0f2c200000) - - - - - - - - + ptr(0x7fdccfa00000) + + + + + + + + - ptr(0x7f0f1ba00000) - - - - - - + ptr(0x7fdccf400000) + + + + + + # START (26) ############################# Device 0 name: Vega 10 XT [Radeon RX Vega 64] PASSED! # START (25) ############################# - - - - - - - - + + + + + + + + Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - + + - ptr(0x7ffc1d894588) size(0x400000) - - - - - - + ptr(0x7ffd15195b38) size(0x400000) + + + + + + - *ptr(0x0x7f0f2c200000) - - + *ptr(0x0x7fdccfa00000) + + - ptr(0x7ffc1d894580) size(0x400000) - - - - - - + ptr(0x7ffd15195b30) size(0x400000) + + + + + + - *ptr(0x0x7f0f1ba00000) - - + *ptr(0x0x7fdccf400000) + + - dst(0x7f0f2c200000) src(0x74def40) size(0x400000) kind(1) - - - - - - - - + dst(0x7fdccfa00000) src(0x658fb00) size(0x400000) kind(1) + + + + + + + + - - + + kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - + + + + - - + + - dst(0x20442c0) src(0x7f0f1ba00000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - + dst(0x10de660) src(0x7fdccf400000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + PASSED! - - + + - ptr(0x7f0f2c200000) - - - - - - - - + ptr(0x7fdccfa00000) + + + + + + + + - ptr(0x7f0f1ba00000) - - - - - - + ptr(0x7fdccf400000) + + + + + + # START (24) ############################# Device 0 name: Vega 10 XT [Radeon RX Vega 64] PASSED! # START (23) ############################# - - - - - - - - + + + + + + + + Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - + + - ptr(0x7ffc1d894588) size(0x400000) - - - - - - + ptr(0x7ffd15195b38) size(0x400000) + + + + + + - *ptr(0x0x7f0f2c200000) - - + *ptr(0x0x7fdccfa00000) + + - ptr(0x7ffc1d894580) size(0x400000) - - - - - - + ptr(0x7ffd15195b30) size(0x400000) + + + + + + - *ptr(0x0x7f0f1ba00000) - - + *ptr(0x0x7fdccf400000) + + - dst(0x7f0f2c200000) src(0x74def40) size(0x400000) kind(1) - - - - - - - - + dst(0x7fdccfa00000) src(0x658fb00) size(0x400000) kind(1) + + + + + + + + - - + + kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - + + + + - - + + - dst(0x20442c0) src(0x7f0f1ba00000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - + dst(0x10de660) src(0x7fdccf400000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + PASSED! - - + + - ptr(0x7f0f2c200000) - - - - - - - - + ptr(0x7fdccfa00000) + + + + + + + + - ptr(0x7f0f1ba00000) - - - - - - + ptr(0x7fdccf400000) + + + + + + # START (22) ############################# Device 0 name: Vega 10 XT [Radeon RX Vega 64] PASSED! # START (21) ############################# - - - - - - - - + + + + + + + + Device 0 name: Vega 10 XT [Radeon RX Vega 64] Activity records: device_id(0) queue_id(0) device_id(0) queue_id(0) bytes(0x400000) external_id(32) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(31) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(31) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) bytes(0x400000) external_id(32) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(33) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) device_id(0) queue_id(0) bytes(0x400000) external_id(32) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(31) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(31) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) bytes(0x400000) external_id(32) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(33) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) device_id(0) queue_id(0) bytes(0x400000) external_id(32) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(31) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(31) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) bytes(0x400000) external_id(32) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(33) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) device_id(0) queue_id(0) bytes(0x400000) external_id(32) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(31) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(31) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) - process_id(116404) thread_id(116404) - - + process_id(26224) thread_id(26224) + + - ptr(0x7ffc1d894588) size(0x400000) - - - - - - + ptr(0x7ffd15195b38) size(0x400000) + + + + + + - *ptr(0x0x7f0f2c200000) - - + *ptr(0x0x7fdccfa00000) + + - ptr(0x7ffc1d894580) size(0x400000) - - - - - - + ptr(0x7ffd15195b30) size(0x400000) + + + + + + - *ptr(0x0x7f0f1ba00000) - - + *ptr(0x0x7fdccf400000) + + - dst(0x7f0f2c200000) src(0x74def40) size(0x400000) kind(1) - - - - - - - - + dst(0x7fdccfa00000) src(0x658fb00) size(0x400000) kind(1) + + + + + + + + - - + + kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - + + + + - - + + - dst(0x20442c0) src(0x7f0f1ba00000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - + dst(0x10de660) src(0x7fdccf400000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + PASSED! - - + + - ptr(0x7f0f2c200000) - - - - - - - - + ptr(0x7fdccfa00000) + + + + + + + + - ptr(0x7f0f1ba00000) - - - - - - + ptr(0x7fdccf400000) + + + + + + # START (20) ############################# Device 0 name: Vega 10 XT [Radeon RX Vega 64] PASSED! # START (19) ############################# - - - - - - - - + + + + + + + + Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - + + - ptr(0x7ffc1d894588) size(0x400000) - - - - - - + ptr(0x7ffd15195b38) size(0x400000) + + + + + + - *ptr(0x0x7f0f2c200000) - - + *ptr(0x0x7fdccfa00000) + + - ptr(0x7ffc1d894580) size(0x400000) - - - - - - + ptr(0x7ffd15195b30) size(0x400000) + + + + + + - *ptr(0x0x7f0f1ba00000) - - + *ptr(0x0x7fdccf400000) + + - dst(0x7f0f2c200000) src(0x74def40) size(0x400000) kind(1) - - - - - - - - + dst(0x7fdccfa00000) src(0x658fb00) size(0x400000) kind(1) + + + + + + + + - - + + kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - + + + + - - + + - dst(0x20442c0) src(0x7f0f1ba00000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - + dst(0x10de660) src(0x7fdccf400000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + PASSED! - - + + - ptr(0x7f0f2c200000) - - - - - - - - + ptr(0x7fdccfa00000) + + + + + + + + - ptr(0x7f0f1ba00000) - - - - - - + ptr(0x7fdccf400000) + + + + + + # START (18) ############################# Device 0 name: Vega 10 XT [Radeon RX Vega 64] PASSED! # START (17) ############################# - - - - - - - - + + + + + + + + Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - + + - ptr(0x7ffc1d894588) size(0x400000) - - - - - - + ptr(0x7ffd15195b38) size(0x400000) + + + + + + - *ptr(0x0x7f0f2c200000) - - + *ptr(0x0x7fdccfa00000) + + - ptr(0x7ffc1d894580) size(0x400000) - - - - - - + ptr(0x7ffd15195b30) size(0x400000) + + + + + + - *ptr(0x0x7f0f1ba00000) - - + *ptr(0x0x7fdccf400000) + + - dst(0x7f0f2c200000) src(0x74def40) size(0x400000) kind(1) - - - - - - - - + dst(0x7fdccfa00000) src(0x658fb00) size(0x400000) kind(1) + + + + + + + + - - + + kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - + + + + - - + + - dst(0x20442c0) src(0x7f0f1ba00000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - + dst(0x10de660) src(0x7fdccf400000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + PASSED! - - + + - ptr(0x7f0f2c200000) - - - - - - - - + ptr(0x7fdccfa00000) + + + + + + + + - ptr(0x7f0f1ba00000) - - - - - - + ptr(0x7fdccf400000) + + + + + + # START (16) ############################# Device 0 name: Vega 10 XT [Radeon RX Vega 64] PASSED! # START (15) ############################# - - - - - - - - + + + + + + + + Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - + + - ptr(0x7ffc1d894588) size(0x400000) - - - - - - + ptr(0x7ffd15195b38) size(0x400000) + + + + + + - *ptr(0x0x7f0f2c200000) - - + *ptr(0x0x7fdccfa00000) + + - ptr(0x7ffc1d894580) size(0x400000) - - - - - - + ptr(0x7ffd15195b30) size(0x400000) + + + + + + - *ptr(0x0x7f0f1ba00000) - - + *ptr(0x0x7fdccf400000) + + - dst(0x7f0f2c200000) src(0x74def40) size(0x400000) kind(1) - - - - - - - - + dst(0x7fdccfa00000) src(0x658fb00) size(0x400000) kind(1) + + + + + + + + - - + + kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - + + + + - - + + - dst(0x20442c0) src(0x7f0f1ba00000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - + dst(0x10de660) src(0x7fdccf400000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + Activity records: - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) bytes(0x400000) external_id(32) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(33) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) device_id(0) queue_id(0) bytes(0x400000) external_id(32) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(31) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(31) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) bytes(0x400000) external_id(32) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(33) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) device_id(0) queue_id(0) bytes(0x400000) external_id(32) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(31) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(31) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) bytes(0x400000) external_id(32) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(33) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) device_id(0) queue_id(0) bytes(0x400000) external_id(32) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(31) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(31) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) bytes(0x400000) external_id(32) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(33) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) device_id(0) queue_id(0) bytes(0x400000) PASSED! - - + + - ptr(0x7f0f2c200000) - - - - - - - - + ptr(0x7fdccfa00000) + + + + + + + + - ptr(0x7f0f1ba00000) - - - - - - + ptr(0x7fdccf400000) + + + + + + # START (14) ############################# Device 0 name: Vega 10 XT [Radeon RX Vega 64] PASSED! # START (13) ############################# - - - - - - - - + + + + + + + + Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - + + - ptr(0x7ffc1d894588) size(0x400000) - - - - - - + ptr(0x7ffd15195b38) size(0x400000) + + + + + + - *ptr(0x0x7f0f2c200000) - - + *ptr(0x0x7fdccfa00000) + + - ptr(0x7ffc1d894580) size(0x400000) - - - - - - + ptr(0x7ffd15195b30) size(0x400000) + + + + + + - *ptr(0x0x7f0f1ba00000) - - + *ptr(0x0x7fdccf400000) + + - dst(0x7f0f2c200000) src(0x74def40) size(0x400000) kind(1) - - - - - - - - + dst(0x7fdccfa00000) src(0x658fb00) size(0x400000) kind(1) + + + + + + + + - - + + kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - + + + + - - + + - dst(0x20442c0) src(0x7f0f1ba00000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - + dst(0x10de660) src(0x7fdccf400000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + PASSED! - - + + - ptr(0x7f0f2c200000) - - - - - - - - + ptr(0x7fdccfa00000) + + + + + + + + - ptr(0x7f0f1ba00000) - - - - - - + ptr(0x7fdccf400000) + + + + + + # START (12) ############################# Device 0 name: Vega 10 XT [Radeon RX Vega 64] PASSED! # START (11) ############################# - - - - - - - - + + + + + + + + Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - + + - ptr(0x7ffc1d894588) size(0x400000) - - - - - - + ptr(0x7ffd15195b38) size(0x400000) + + + + + + - *ptr(0x0x7f0f2c200000) - - + *ptr(0x0x7fdccfa00000) + + - ptr(0x7ffc1d894580) size(0x400000) - - - - - - + ptr(0x7ffd15195b30) size(0x400000) + + + + + + - *ptr(0x0x7f0f1ba00000) - - + *ptr(0x0x7fdccf400000) + + - dst(0x7f0f2c200000) src(0x74def40) size(0x400000) kind(1) - - - - - - - - + dst(0x7fdccfa00000) src(0x658fb00) size(0x400000) kind(1) + + + + + + + + - - + + kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - + + + + - - + + - dst(0x20442c0) src(0x7f0f1ba00000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - + dst(0x10de660) src(0x7fdccf400000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + PASSED! - - + + - ptr(0x7f0f2c200000) - - - - - - - - + ptr(0x7fdccfa00000) + + + + + + + + - ptr(0x7f0f1ba00000) - - - - - - + ptr(0x7fdccf400000) + + + + + + # START (10) ############################# Device 0 name: Vega 10 XT [Radeon RX Vega 64] PASSED! # START (9) ############################# - - - - - - - - + + + + + + + + Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - + + - ptr(0x7ffc1d894588) size(0x400000) - - - - - - + ptr(0x7ffd15195b38) size(0x400000) + + + + + + - *ptr(0x0x7f0f2c200000) - - + *ptr(0x0x7fdccfa00000) + + - ptr(0x7ffc1d894580) size(0x400000) - - - - - - + ptr(0x7ffd15195b30) size(0x400000) + + + + + + - *ptr(0x0x7f0f1ba00000) - - + *ptr(0x0x7fdccf400000) + + - dst(0x7f0f2c200000) src(0x74def40) size(0x400000) kind(1) - - - - - - - - + dst(0x7fdccfa00000) src(0x658fb00) size(0x400000) kind(1) + + + + + + + + - - + + kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - + + + + - - + + - dst(0x20442c0) src(0x7f0f1ba00000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - + dst(0x10de660) src(0x7fdccf400000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + PASSED! - - + + - ptr(0x7f0f2c200000) - - - - - - - - + ptr(0x7fdccfa00000) + + + + + + + + - ptr(0x7f0f1ba00000) - - - - - - + ptr(0x7fdccf400000) + + + + + + # START (8) ############################# Device 0 name: Vega 10 XT [Radeon RX Vega 64] PASSED! # START (7) ############################# - - - - - - - - + + + + + + + + Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - + + - ptr(0x7ffc1d894588) size(0x400000) - - - - - - + ptr(0x7ffd15195b38) size(0x400000) + + + + + + - *ptr(0x0x7f0f2c200000) - - + *ptr(0x0x7fdccfa00000) + + - ptr(0x7ffc1d894580) size(0x400000) - - - - - - + ptr(0x7ffd15195b30) size(0x400000) + + + + + + - *ptr(0x0x7f0f1ba00000) - - + *ptr(0x0x7fdccf400000) + + - dst(0x7f0f2c200000) src(0x74def40) size(0x400000) kind(1) - - - - + dst(0x7fdccfa00000) src(0x658fb00) size(0x400000) kind(1) Activity records: + + + + external_id(32) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(31) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(31) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) bytes(0x400000) external_id(32) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(33) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) device_id(0) queue_id(0) bytes(0x400000) external_id(32) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(31) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(31) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) bytes(0x400000) external_id(32) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(33) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) device_id(0) queue_id(0) bytes(0x400000) external_id(32) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(31) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(31) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) bytes(0x400000) external_id(32) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(33) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) device_id(0) queue_id(0) bytes(0x400000) external_id(32) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(31) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(31) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) - - - - + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) + + + + - - + + kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - + + + + - - + + - dst(0x20442c0) src(0x7f0f1ba00000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - + dst(0x10de660) src(0x7fdccf400000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + PASSED! - - + + - ptr(0x7f0f2c200000) - - - - - - - - + ptr(0x7fdccfa00000) + + + + + + + + - ptr(0x7f0f1ba00000) - - - - - - + ptr(0x7fdccf400000) + + + + + + # START (6) ############################# Device 0 name: Vega 10 XT [Radeon RX Vega 64] PASSED! # START (5) ############################# - - - - - - - - + + + + + + + + Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - + + - ptr(0x7ffc1d894588) size(0x400000) - - - - - - + ptr(0x7ffd15195b38) size(0x400000) + + + + + + - *ptr(0x0x7f0f2c200000) - - + *ptr(0x0x7fdccfa00000) + + - ptr(0x7ffc1d894580) size(0x400000) - - - - - - + ptr(0x7ffd15195b30) size(0x400000) + + + + + + - *ptr(0x0x7f0f1ba00000) - - + *ptr(0x0x7fdccf400000) + + - dst(0x7f0f2c200000) src(0x74def40) size(0x400000) kind(1) - - - - - - - - + dst(0x7fdccfa00000) src(0x658fb00) size(0x400000) kind(1) + + + + + + + + - - + + kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - + + + + - - + + - dst(0x20442c0) src(0x7f0f1ba00000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - + dst(0x10de660) src(0x7fdccf400000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + PASSED! - - + + - ptr(0x7f0f2c200000) - - - - - - - - + ptr(0x7fdccfa00000) + + + + + + + + - ptr(0x7f0f1ba00000) - - - - - - + ptr(0x7fdccf400000) + + + + + + # START (4) ############################# Device 0 name: Vega 10 XT [Radeon RX Vega 64] PASSED! # START (3) ############################# - - - - - - - - + + + + + + + + Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - + + - ptr(0x7ffc1d894588) size(0x400000) - - - - - - + ptr(0x7ffd15195b38) size(0x400000) + + + + + + - *ptr(0x0x7f0f2c200000) - - + *ptr(0x0x7fdccfa00000) + + - ptr(0x7ffc1d894580) size(0x400000) - - - - - - + ptr(0x7ffd15195b30) size(0x400000) + + + + + + - *ptr(0x0x7f0f1ba00000) - - + *ptr(0x0x7fdccf400000) + + - dst(0x7f0f2c200000) src(0x74def40) size(0x400000) kind(1) - - - - - - - - + dst(0x7fdccfa00000) src(0x658fb00) size(0x400000) kind(1) + + + + + + + + - - + + kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - + + + + - - + + - dst(0x20442c0) src(0x7f0f1ba00000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - + dst(0x10de660) src(0x7fdccf400000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + PASSED! - - + + - ptr(0x7f0f2c200000) - - - - - - - - + ptr(0x7fdccfa00000) + + + + + + + + - ptr(0x7f0f1ba00000) - - - - - - + ptr(0x7fdccf400000) + + + + + + # START (2) ############################# Device 0 name: Vega 10 XT [Radeon RX Vega 64] PASSED! # START (1) ############################# - - - - - - - - + + + + + + + + Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - + + - ptr(0x7ffc1d894588) size(0x400000) - - - - - - + ptr(0x7ffd15195b38) size(0x400000) + + + + + + - *ptr(0x0x7f0f2c200000) - - + *ptr(0x0x7fdccfa00000) + + - ptr(0x7ffc1d894580) size(0x400000) - - - - - - + ptr(0x7ffd15195b30) size(0x400000) + + + + + + - *ptr(0x0x7f0f1ba00000) - - + *ptr(0x0x7fdccf400000) + + - dst(0x7f0f2c200000) src(0x74def40) size(0x400000) kind(1) - - - - - - - - + dst(0x7fdccfa00000) src(0x658fb00) size(0x400000) kind(1) + + + + + + + + - - + + kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - + + + + - - + + - dst(0x20442c0) src(0x7f0f1ba00000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - + dst(0x10de660) src(0x7fdccf400000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + PASSED! - - + + - ptr(0x7f0f2c200000) - - - - - - - - + ptr(0x7fdccfa00000) + + + + + + + + - ptr(0x7f0f1ba00000) - - - - - - + ptr(0x7fdccf400000) + + + + + + # START (0) ############################# Device 0 name: Vega 10 XT [Radeon RX Vega 64] Activity records: - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) bytes(0x400000) external_id(32) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(33) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) device_id(0) queue_id(0) bytes(0x400000) external_id(32) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(31) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(31) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) bytes(0x400000) external_id(32) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(33) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) device_id(0) queue_id(0) bytes(0x400000) external_id(32) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(31) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(31) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) bytes(0x400000) external_id(32) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(33) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) device_id(0) queue_id(0) bytes(0x400000) external_id(32) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(31) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(31) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) bytes(0x400000) external_id(32) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(33) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) device_id(0) queue_id(0) bytes(0x400000) external_id(32) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) PASSED! Activity records: external_id(31) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) external_id(31) - process_id(116404) thread_id(116404) + process_id(26224) thread_id(26224) device_id(0) queue_id(0) # STOP ############################# - + From e28dde64b3f7f9eaf394458a727044c2789db08c Mon Sep 17 00:00:00 2001 From: rkebichi <54912798+rkebichi@users.noreply.github.com> Date: Fri, 7 Feb 2020 17:00:50 -0500 Subject: [PATCH 319/691] Update parse_trace.py --- script/parse_trace.py | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/script/parse_trace.py b/script/parse_trace.py index 56ff1de712..0ec82d8eed 100644 --- a/script/parse_trace.py +++ b/script/parse_trace.py @@ -4,33 +4,39 @@ import os, sys, re import argparse events_count = {} -events_order = [] +events_order = {} def parse_trace(tracefile,cnt,order): with open(tracefile) as f: for line in f: - event_pattern = re.compile(r'<(\w+)\s+id\(\d+\)\s+.*|\d+:\d+\s+\d+:\d+\s+(\w+).*') + event_pattern = re.compile(r'<(\w+)\s+id\(\d+\)\s+.*tid\((\d+)\)>|\d+:\d+\s+\d+:\d+\s+(\w+)') m = event_pattern.match(line) if m: event = m.group(1) if not event: - event = m.group(2) + event = m.group(3) + tid = m.group(2) if cnt: if event in events_count: events_count[event] = events_count[event] + 1 else: events_count[event] = 1 if order: - events_order.append(event) + if tid: + if tid in events_order.keys(): + events_order[tid].append(event) + else: + events_order[tid] = [event] if cnt: for event,count in events_count.items(): print event + ": count " + str(count) if order: - print events_order + for tid in sorted (events_order.keys()) : + print str(events_order[tid]) parser = argparse.ArgumentParser(description='parse_trace.py: reads roctracer trace file and parses it.') -parser.add_argument('-cn', action='store_true',help='Generates events count') parser.add_argument('-or', action='store_true',help='Generates ordered events') +parser.add_argument('-cn', action='store_true',help='Generates events count') requiredNamed = parser.add_argument_group('Required arguments') requiredNamed.add_argument('-in', metavar='file', help='Trace file', required=True) From d1f57c565fc3a9464ecf9c7d7a30c30da262864c Mon Sep 17 00:00:00 2001 From: rkebichi <54912798+rkebichi@users.noreply.github.com> Date: Fri, 7 Feb 2020 17:51:03 -0500 Subject: [PATCH 320/691] Update MatrixTranspose.cpp --- test/MatrixTranspose_test/MatrixTranspose.cpp | 185 +++++++++++------- 1 file changed, 119 insertions(+), 66 deletions(-) diff --git a/test/MatrixTranspose_test/MatrixTranspose.cpp b/test/MatrixTranspose_test/MatrixTranspose.cpp index 34007cf20f..76ce261fda 100644 --- a/test/MatrixTranspose_test/MatrixTranspose.cpp +++ b/test/MatrixTranspose_test/MatrixTranspose.cpp @@ -20,34 +20,39 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -#include +#include -// roctracer extension API -#include - -// hip header file -#include +#ifdef __cplusplus +#include +using namespace std; +#else +#include +#endif // roctx header file #include +// roctracer extension API +#include -// kfd header file -#ifdef KFD_WRAPPER -#include +#if HIP_TEST +// hip header file +#include +// Macro to call HIP API +#define HIP_CALL(call) do { call; } while(0) +#else +#define HIP_CALL(call) do {} while(0) #endif #ifndef ITERATIONS # define ITERATIONS 101 #endif #define WIDTH 1024 - - #define NUM (WIDTH * WIDTH) - #define THREADS_PER_BLOCK_X 4 #define THREADS_PER_BLOCK_Y 4 #define THREADS_PER_BLOCK_Z 1 +#if HIP_TEST // Device (Kernel) function, it must be void __global__ void matrixTranspose(float* out, float* in, const int width) { int x = hipBlockDim_x * hipBlockIdx_x + hipThreadIdx_x; @@ -55,6 +60,7 @@ __global__ void matrixTranspose(float* out, float* in, const int width) { out[y * width + x] = in[x * width + y]; } +#endif // CPU implementation of matrix transpose void matrixTransposeCPUReference(float* output, float* input, const unsigned int width) { @@ -78,19 +84,33 @@ int main() { float* gpuMatrix; float* gpuTransposeMatrix; - hipDeviceProp_t devProp; - hipGetDeviceProperties(&devProp, 0); - - std::cout << "Device name " << devProp.name << std::endl; - int i; int errors; init_tracing(); +#if HIP_TEST + int gpuCount = 1; +#if MGPU_TEST + hipGetDeviceCount(&gpuCount); + printf("Number of GPUs: %d\n", gpuCount); +#endif + iterations *= gpuCount; +#endif + while (iterations-- > 0) { start_tracing(); +#if HIP_TEST + // set GPU + const int devIndex = iterations % gpuCount; + hipSetDevice(devIndex); + + hipDeviceProp_t devProp; + HIP_CALL(hipGetDeviceProperties(&devProp, 0)); + printf("Device %d name: %s\n", devIndex, devProp.name); +#endif + Matrix = (float*)malloc(NUM * sizeof(float)); TransposeMatrix = (float*)malloc(NUM * sizeof(float)); cpuTransposeMatrix = (float*)malloc(NUM * sizeof(float)); @@ -101,8 +121,8 @@ int main() { } // allocate the memory on the device side - hipMalloc((void**)&gpuMatrix, NUM * sizeof(float)); - hipMalloc((void**)&gpuTransposeMatrix, NUM * sizeof(float)); + HIP_CALL(hipMalloc((void**)&gpuMatrix, NUM * sizeof(float))); + HIP_CALL(hipMalloc((void**)&gpuTransposeMatrix, NUM * sizeof(float))); // correlation reagion32 roctracer_activity_push_external_correlation_id(31); @@ -110,7 +130,7 @@ int main() { roctracer_activity_push_external_correlation_id(32); // Memory transfer from host to device - hipMemcpy(gpuMatrix, Matrix, NUM * sizeof(float), hipMemcpyHostToDevice); + HIP_CALL(hipMemcpy(gpuMatrix, Matrix, NUM * sizeof(float), hipMemcpyHostToDevice)); // correlation reagion33 roctracer_activity_push_external_correlation_id(33); @@ -119,9 +139,9 @@ int main() { roctxRangePush("hipLaunchKernel"); // Lauching kernel from host - hipLaunchKernelGGL(matrixTranspose, dim3(WIDTH / THREADS_PER_BLOCK_X, WIDTH / THREADS_PER_BLOCK_Y), - dim3(THREADS_PER_BLOCK_X, THREADS_PER_BLOCK_Y), 0, 0, gpuTransposeMatrix, - gpuMatrix, WIDTH); + HIP_CALL(hipLaunchKernelGGL(matrixTranspose, dim3(WIDTH / THREADS_PER_BLOCK_X, WIDTH / THREADS_PER_BLOCK_Y), + dim3(THREADS_PER_BLOCK_X, THREADS_PER_BLOCK_Y), 0, 0, gpuTransposeMatrix, + gpuMatrix, WIDTH)); roctxMark("after hipLaunchKernel"); @@ -131,39 +151,40 @@ int main() { // Memory transfer from device to host roctxRangePush("hipMemcpy"); - hipMemcpy(TransposeMatrix, gpuTransposeMatrix, NUM * sizeof(float), hipMemcpyDeviceToHost); + HIP_CALL(hipMemcpy(TransposeMatrix, gpuTransposeMatrix, NUM * sizeof(float), hipMemcpyDeviceToHost)); roctxRangePop(); // for "hipMemcpy" roctxRangePop(); // for "hipLaunchKernel" // correlation reagion end - roctracer_activity_pop_external_correlation_id(); + roctracer_activity_pop_external_correlation_id(NULL); // CPU MatrixTranspose computation - matrixTransposeCPUReference(cpuTransposeMatrix, Matrix, WIDTH); + HIP_CALL(matrixTransposeCPUReference(cpuTransposeMatrix, Matrix, WIDTH)); // verify the results errors = 0; double eps = 1.0E-6; for (i = 0; i < NUM; i++) { - if (std::abs(TransposeMatrix[i] - cpuTransposeMatrix[i]) > eps) { + if (abs(TransposeMatrix[i] - cpuTransposeMatrix[i]) > eps) { errors++; } } - if (errors != 0) { + if ((HIP_TEST != 0) && (errors != 0)) { printf("FAILED: %d errors\n", errors); } else { + errors = 0; printf("PASSED!\n"); } // free the resources on device side - hipFree(gpuMatrix); - hipFree(gpuTransposeMatrix); + HIP_CALL(hipFree(gpuMatrix)); + HIP_CALL(hipFree(gpuTransposeMatrix)); // correlation reagion end - roctracer_activity_pop_external_correlation_id(); + roctracer_activity_pop_external_correlation_id(NULL); // correlation reagion end - roctracer_activity_pop_external_correlation_id(); + roctracer_activity_pop_external_correlation_id(NULL); // free the resources on host side free(Matrix); @@ -182,18 +203,27 @@ int main() { #if 1 #include #include +#include +#include #include +#include +#include /* For SYS_xxx definitions */ + // Macro to check ROC-tracer calls status #define ROCTRACER_CALL(call) \ do { \ int err = call; \ if (err != 0) { \ - std::cerr << roctracer_error_string() << std::endl << std::flush; \ + fprintf(stderr, "%s\n", roctracer_error_string()); \ abort(); \ } \ } while (0) +static inline uint32_t GetTid() { return syscall(__NR_gettid); } +static inline uint32_t GetPid() { return syscall(__NR_getpid); } + + // Runtime API callback function void api_callback( uint32_t domain, @@ -204,47 +234,60 @@ void api_callback( (void)arg; if (domain == ACTIVITY_DOMAIN_ROCTX) { - const roctx_api_data_t* data = reinterpret_cast(callback_data); - fprintf(stdout, "ROCTX: \"%s\"\n", data->args.message); + const roctx_api_data_t* data = (const roctx_api_data_t*)(callback_data); + fprintf(stdout, "\n", data->args.message); return; } -#ifdef KFD_WRAPPER + if (domain == ACTIVITY_DOMAIN_KFD_API) { - const kfd_api_data_t* data = reinterpret_cast(callback_data); - fprintf(stdout, "KFD: <%s id(%u)\tcorrelation_id(%lu) %s> \n", + const kfd_api_data_t* data = (const kfd_api_data_t*)(callback_data); + fprintf(stdout, "<%s id(%u)\tcorrelation_id(%lu) %s pid(%u) tid(%u)> \n", roctracer_op_string(ACTIVITY_DOMAIN_KFD_API, cid, 0), cid, data->correlation_id, - (data->phase == ACTIVITY_API_PHASE_ENTER) ? "on-enter" : "on-exit"); + (data->phase == ACTIVITY_API_PHASE_ENTER) ? "on-enter" : "on-exit", + GetPid(), + GetTid() + ); return; } -#endif - const hip_api_data_t* data = reinterpret_cast(callback_data); - fprintf(stdout, "<%s id(%u)\tcorrelation_id(%lu) %s> ", - roctracer_op_string(ACTIVITY_DOMAIN_HIP_API, cid, 0), - cid, - data->correlation_id, - (data->phase == ACTIVITY_API_PHASE_ENTER) ? "on-enter" : "on-exit"); + const hip_api_data_t* data = (const hip_api_data_t*)(callback_data); if (data->phase == ACTIVITY_API_PHASE_ENTER) { switch (cid) { case HIP_API_ID_hipMemcpy: - fprintf(stdout, "dst(%p) src(%p) size(0x%x) kind(%u)", + fprintf(stdout, "<%s id(%u)\tcorrelation_id(%lu) %s>\n dst(%p) src(%p) size(0x%x) kind(%u)\n", + roctracer_op_string(ACTIVITY_DOMAIN_HIP_API, cid, 0), + cid, + data->correlation_id, + "on-enter", data->args.hipMemcpy.dst, data->args.hipMemcpy.src, (uint32_t)(data->args.hipMemcpy.sizeBytes), (uint32_t)(data->args.hipMemcpy.kind)); break; case HIP_API_ID_hipMalloc: - fprintf(stdout, "ptr(%p) size(0x%x)", + fprintf(stdout, "<%s id(%u)\tcorrelation_id(%lu) %s>\n ptr(%p) size(0x%x)\n", + roctracer_op_string(ACTIVITY_DOMAIN_HIP_API, cid, 0), + cid, + data->correlation_id, + "on-enter", data->args.hipMalloc.ptr, (uint32_t)(data->args.hipMalloc.size)); break; case HIP_API_ID_hipFree: - fprintf(stdout, "ptr(%p)", + fprintf(stdout, "<%s id(%u)\tcorrelation_id(%lu) %s>\n ptr(%p)\n", + roctracer_op_string(ACTIVITY_DOMAIN_HIP_API, cid, 0), + cid, + data->correlation_id, + "on-enter", data->args.hipFree.ptr); break; case HIP_API_ID_hipModuleLaunchKernel: - fprintf(stdout, "kernel(\"%s\") stream(%p)", + fprintf(stdout, "<%s id(%u)\tcorrelation_id(%lu) %s>\n kernel(\"%s\") stream(%p)\n", + roctracer_op_string(ACTIVITY_DOMAIN_HIP_API, cid, 0), + cid, + data->correlation_id, + "on-enter", hipKernelNameRef(data->args.hipModuleLaunchKernel.f), data->args.hipModuleLaunchKernel.stream); break; @@ -254,21 +297,25 @@ void api_callback( } else { switch (cid) { case HIP_API_ID_hipMalloc: - fprintf(stdout, "*ptr(0x%p)", + fprintf(stdout, "<%s id(%u)\tcorrelation_id(%lu) %s>\n *ptr(0x%p)\n", + roctracer_op_string(ACTIVITY_DOMAIN_HIP_API, cid, 0), + cid, + data->correlation_id, + "on-exit", *(data->args.hipMalloc.ptr)); break; default: break; } } - fprintf(stdout, "\n"); fflush(stdout); + //fprintf(stdout, "\n"); + fflush(stdout); } - // Activity tracing callback // hipMalloc id(3) correlation_id(1): begin_ns(1525888652762640464) end_ns(1525888652762877067) void activity_callback(const char* begin, const char* end, void* arg) { - const roctracer_record_t* record = reinterpret_cast(begin); - const roctracer_record_t* end_record = reinterpret_cast(end); + const roctracer_record_t* record = (const roctracer_record_t*)(begin); + const roctracer_record_t* end_record = (const roctracer_record_t*)(end); fprintf(stdout, "\tActivity records:\n"); fflush(stdout); while (record < end_record) { const char * name = roctracer_op_string(record->domain, record->op, record->kind); @@ -278,26 +325,25 @@ void activity_callback(const char* begin, const char* end, void* arg) { record->begin_ns, record->end_ns ); - if (record->domain == ACTIVITY_DOMAIN_HIP_API or record->domain == ACTIVITY_DOMAIN_KFD_API) { - fprintf(stdout, " process_id(%u) thread_id(%u)", + if ((record->domain == ACTIVITY_DOMAIN_HIP_API) || (record->domain == ACTIVITY_DOMAIN_KFD_API)) { + fprintf(stdout, " process_id(%u) thread_id(%u)\n", record->process_id, record->thread_id ); } else if (record->domain == ACTIVITY_DOMAIN_HCC_OPS) { - fprintf(stdout, " device_id(%d) queue_id(%lu)", + fprintf(stdout, " device_id(%d) queue_id(%lu)\n", record->device_id, record->queue_id ); - if (record->op == HIP_OP_ID_COPY) fprintf(stdout, " bytes(0x%zx)", record->bytes); + if (record->op == HIP_OP_ID_COPY) fprintf(stdout, " bytes(0x%zx)\n", record->bytes); } else if (record->domain == ACTIVITY_DOMAIN_EXT_API) { - fprintf(stdout, " external_id(%lu)", + fprintf(stdout, " external_id(%lu)\n", record->external_id ); } else { - fprintf(stderr, "Bad domain %d\n", record->domain); + fprintf(stderr, "Bad domain %d\n\n", record->domain); abort(); } - fprintf(stdout, "\n"); fflush(stdout); ROCTRACER_CALL(roctracer_next_record(record, &record)); } @@ -305,11 +351,12 @@ void activity_callback(const char* begin, const char* end, void* arg) { // Init tracing routine void init_tracing() { - std::cout << "# INIT #############################" << std::endl << std::flush; + printf("# INIT #############################\n"); // roctracer properties roctracer_set_properties(ACTIVITY_DOMAIN_HIP_API, NULL); // Allocating tracing pool - roctracer_properties_t properties{}; + roctracer_properties_t properties; + memset(&properties, 0, sizeof(roctracer_properties_t)); properties.buffer_size = 0x1000; properties.buffer_callback_fun = activity_callback; ROCTRACER_CALL(roctracer_open_pool(&properties)); @@ -318,11 +365,16 @@ void init_tracing() { // Enable HIP activity tracing ROCTRACER_CALL(roctracer_enable_domain_activity(ACTIVITY_DOMAIN_HIP_API)); ROCTRACER_CALL(roctracer_enable_domain_activity(ACTIVITY_DOMAIN_HCC_OPS)); + // Enable KFD API tracing + ROCTRACER_CALL(roctracer_enable_domain_callback(ACTIVITY_DOMAIN_KFD_API, api_callback, NULL)); + ROCTRACER_CALL(roctracer_enable_domain_activity(ACTIVITY_DOMAIN_KFD_API)); + // Enable rocTX + ROCTRACER_CALL(roctracer_enable_domain_callback(ACTIVITY_DOMAIN_ROCTX, api_callback, NULL)); } // Start tracing routine void start_tracing() { - std::cout << "# START (" << iterations << ") #############################" << std::endl << std::flush; + printf("# START (%d) #############################\n", iterations); // Start if ((iterations & 1) == 1) roctracer_start(); else roctracer_stop(); @@ -333,8 +385,9 @@ void stop_tracing() { ROCTRACER_CALL(roctracer_disable_domain_callback(ACTIVITY_DOMAIN_HIP_API)); ROCTRACER_CALL(roctracer_disable_domain_activity(ACTIVITY_DOMAIN_HIP_API)); ROCTRACER_CALL(roctracer_disable_domain_activity(ACTIVITY_DOMAIN_HCC_OPS)); + ROCTRACER_CALL(roctracer_disable_domain_activity(ACTIVITY_DOMAIN_KFD_API)); ROCTRACER_CALL(roctracer_flush_activity()); - std::cout << "# STOP #############################" << std::endl << std::flush; + printf("# STOP #############################\n"); } #else void init_tracing() {} From 70274c369271d6237d9cefed55865cf7f6ed38cd Mon Sep 17 00:00:00 2001 From: rkebichi <54912798+rkebichi@users.noreply.github.com> Date: Mon, 10 Feb 2020 15:29:49 -0500 Subject: [PATCH 321/691] Update parse_trace.py --- script/parse_trace.py | 30 ++++++++++++++++-------------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/script/parse_trace.py b/script/parse_trace.py index 0ec82d8eed..c1f3de0b66 100644 --- a/script/parse_trace.py +++ b/script/parse_trace.py @@ -9,24 +9,26 @@ events_order = {} def parse_trace(tracefile,cnt,order): with open(tracefile) as f: for line in f: - event_pattern = re.compile(r'<(\w+)\s+id\(\d+\)\s+.*tid\((\d+)\)>|\d+:\d+\s+\d+:\d+\s+(\w+)') + event_pattern = re.compile(r'<(\w+)\s+id\(\d+\)\s+.*tid\((\d+)\)>') m = event_pattern.match(line) if m: event = m.group(1) - if not event: - event = m.group(3) tid = m.group(2) - if cnt: - if event in events_count: - events_count[event] = events_count[event] + 1 - else: - events_count[event] = 1 - if order: - if tid: - if tid in events_order.keys(): - events_order[tid].append(event) - else: - events_order[tid] = [event] + event_pattern2 = re.compile(r'\d+:\d+\s+\d+:(\d+)\s+(\w+)') + m2 = event_pattern2.match(line) + if m2: + event = m2.group(2) + tid = m2.group(1) + if cnt and (m or m2): + if event in events_count: + events_count[event] = events_count[event] + 1 + else: + events_count[event] = 1 + if order and (m or m2): + if tid in events_order.keys(): + events_order[tid].append(event) + else: + events_order[tid] = [event] if cnt: for event,count in events_count.items(): print event + ": count " + str(count) From eb91d35df2d0204d314dd231dce1809d5ebcfaee Mon Sep 17 00:00:00 2001 From: Evgeny Date: Thu, 13 Feb 2020 21:03:14 -0600 Subject: [PATCH 322/691] roctx condition for timestamp or clocktime --- test/tool/tracer_tool.cpp | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/test/tool/tracer_tool.cpp b/test/tool/tracer_tool.cpp index 14373f93e0..b0850d0d2c 100644 --- a/test/tool/tracer_tool.cpp +++ b/test/tool/tracer_tool.cpp @@ -186,11 +186,16 @@ static inline void roctx_callback_fun( uint32_t tid, const char* message) { +#if ROCTX_CLOCK_TIME + const timestamp_t time = HsaTimer::clocktime_ns(HsaTimer::TIME_ID_CLOCK_MONOTONIC); +#else + const timestamp_t time = timer->timestamp_fn_ns(); +#endif roctx_trace_entry_t* entry = roctx_trace_buffer.GetEntry(); entry->valid = roctracer::TRACE_ENTRY_COMPL; entry->type = 0; entry->cid = cid; - entry->time = HsaTimer::clocktime_ns(HsaTimer::TIME_ID_CLOCK_MONOTONIC); + entry->time = time; entry->pid = GetPid(); entry->tid = tid; entry->message = (message != NULL) ? strdup(message) : NULL; @@ -219,8 +224,12 @@ void stop_callback() { roctracer::RocTxLoader::Instance().RangeStackIterate(roct // rocTX buffer flush function void roctx_flush_cb(roctx_trace_entry_t* entry) { +#if ROCTX_CLOCK_TIME timestamp_t timestamp = 0; HsaRsrcFactory::Instance().GetTimestamp(HsaTimer::TIME_ID_CLOCK_MONOTONIC, entry->time, ×tamp); +#else + const timestamp_t timestamp = entry->time; +#endif std::ostringstream os; os << timestamp << " " << entry->pid << ":" << entry->tid << " " << entry->cid; if (entry->message != NULL) os << ":\"" << entry->message << "\""; From b4f2aa1a1c7bd85166b4e00402296aa2a1d19448 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Thu, 27 Feb 2020 13:39:56 -0600 Subject: [PATCH 323/691] hcc_ops_trace.txt on request --- test/tool/tracer_tool.cpp | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/test/tool/tracer_tool.cpp b/test/tool/tracer_tool.cpp index b0850d0d2c..8c4b5a16d7 100644 --- a/test/tool/tracer_tool.cpp +++ b/test/tool/tracer_tool.cpp @@ -97,12 +97,12 @@ static inline uint32_t GetTid() { return syscall(__NR_gettid); } // Error handler void fatal(const std::string msg) { - fflush(roctx_file_handle); - fflush(hsa_api_file_handle); - fflush(hsa_async_copy_file_handle); - fflush(hip_api_file_handle); - fflush(hcc_activity_file_handle); - fflush(kfd_api_file_handle); + if (roctx_file_handle) fflush(roctx_file_handle); + if (hsa_api_file_handle) fflush(hsa_api_file_handle); + if (hsa_async_copy_file_handle) fflush(hsa_async_copy_file_handle); + if (hip_api_file_handle) fflush(hip_api_file_handle); + if (hcc_activity_file_handle) fflush(hcc_activity_file_handle); + if (kfd_api_file_handle) fflush(kfd_api_file_handle); fflush(stdout); fprintf(stderr, "%s\n\n", msg.c_str()); fflush(stderr); @@ -589,8 +589,8 @@ void tool_unload() { ROCTRACER_CALL(roctracer_close_pool()); hip_api_trace_buffer.Flush(); - close_output_file(hip_api_file_handle); - close_output_file(hcc_activity_file_handle); + if (hip_api_file_handle) close_output_file(hip_api_file_handle); + if (hcc_activity_file_handle) close_output_file(hcc_activity_file_handle); } if (trace_kfd) { @@ -843,8 +843,6 @@ extern "C" PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, // Enable HIP API callbacks/activity if (trace_hip_api || trace_hip_activity) { - hip_api_file_handle = open_output_file(output_prefix, "hip_api_trace.txt"); - hcc_activity_file_handle = open_output_file(output_prefix, "hcc_ops_trace.txt"); fprintf(stdout, " HIP-trace()\n"); fflush(stdout); // roctracer properties @@ -855,10 +853,12 @@ extern "C" PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, properties.buffer_callback_fun = hcc_activity_callback; ROCTRACER_CALL(roctracer_open_pool(&properties)); if (trace_hip_api) { + hip_api_file_handle = open_output_file(output_prefix, "hip_api_trace.txt"); ROCTRACER_CALL(roctracer_enable_domain_callback(ACTIVITY_DOMAIN_HIP_API, hip_api_callback, NULL)); ROCTRACER_CALL(roctracer_enable_domain_activity(ACTIVITY_DOMAIN_HIP_API)); } if (trace_hip_activity) { + hcc_activity_file_handle = open_output_file(output_prefix, "hcc_ops_trace.txt"); ROCTRACER_CALL(roctracer_enable_domain_activity(ACTIVITY_DOMAIN_HCC_OPS)); } } From 8b63135cedd01c3b2d0926b2161300c8f825aa56 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Thu, 23 Jan 2020 20:55:49 -0600 Subject: [PATCH 324/691] PC sampling initial bringup --- inc/ext/prof_protocol.h | 5 ++ inc/roctracer.h | 1 + inc/roctracer_hsa.h | 9 +++ script/hsaap.py | 4 +- src/core/loader.h | 30 +++++++ src/core/roctracer.cpp | 78 ++++++++++++------- test/MatrixTranspose_test/Makefile | 2 +- test/MatrixTranspose_test/MatrixTranspose.cpp | 8 ++ 8 files changed, 107 insertions(+), 30 deletions(-) diff --git a/inc/ext/prof_protocol.h b/inc/ext/prof_protocol.h index c578df0fd4..b6384b42ee 100644 --- a/inc/ext/prof_protocol.h +++ b/inc/ext/prof_protocol.h @@ -80,6 +80,11 @@ typedef struct activity_record_s { struct { activity_correlation_id_t external_id; // external correlatino id }; + struct { + uint32_t se; // sampled SE + uint64_t cycle; // sample cycle + uint64_t pc; // sample PC + } ps_sample; }; size_t bytes; // data size bytes } activity_record_t; diff --git a/inc/roctracer.h b/inc/roctracer.h index deffb0f6d3..8b0f2114f9 100644 --- a/inc/roctracer.h +++ b/inc/roctracer.h @@ -67,6 +67,7 @@ typedef enum { ROCTRACER_STATUS_BAD_PARAMETER = 5, ROCTRACER_STATUS_HIP_API_ERR = 6, ROCTRACER_STATUS_HCC_OPS_ERR = 7, + ROCTRACER_STATUS_HSA_ERR = 7, ROCTRACER_STATUS_ROCTX_ERR = 8, } roctracer_status_t; diff --git a/inc/roctracer_hsa.h b/inc/roctracer_hsa.h index 8531ab51dc..625fa0b760 100644 --- a/inc/roctracer_hsa.h +++ b/inc/roctracer_hsa.h @@ -28,6 +28,15 @@ THE SOFTWARE. #include "roctracer.h" +// HSA OP ID enumeration +enum hsa_op_id_t { + HSA_OP_ID_DISPATCH = 0, + HSA_OP_ID_COPY = 1, + HSA_OP_ID_BARRIER = 2, + HSA_OP_ID_PCSAMPLE = 3, + HSA_OP_ID_NUMBER = 4 +}; + #ifdef __cplusplus #include #include diff --git a/script/hsaap.py b/script/hsaap.py index 1e413a5295..f07c43d902 100755 --- a/script/hsaap.py +++ b/script/hsaap.py @@ -342,8 +342,8 @@ class API_DescrParser: self.content += ' ' + self.api_id[call] + ' = ' + str(n) + ',\n' else: self.content += '\n' - self.content += ' HSA_API_ID_NUMBER = ' + str(n) + ',\n' - self.content += ' HSA_API_ID_ANY = ' + str(n + 1) + ',\n' + self.content += ' HSA_API_ID_DISPATCH = ' + str(n) + ',\n' + self.content += ' HSA_API_ID_NUMBER = ' + str(n + 1) + ',\n' self.content += '};\n' # generate API args structure diff --git a/src/core/loader.h b/src/core/loader.h index 43b07be905..27a6fda55b 100644 --- a/src/core/loader.h +++ b/src/core/loader.h @@ -70,6 +70,33 @@ class BaseLoader : public T { void* handle_; }; +// 'rocprofiler' library loader class +class RocpApi { + public: + typedef BaseLoader Loader; + + typedef bool (RegisterCallback_t)(uint32_t op, void* callback, void* arg); + typedef bool (OperateCallback_t)(uint32_t op); + typedef bool (InitCallback_t)(void* callback, void* arg); + typedef bool (EnableCallback_t)(uint32_t op, bool enable); + typedef const char* (NameCallback_t)(uint32_t op); + + RegisterCallback_t* RegisterApiCallback; + OperateCallback_t* RemoveApiCallback; + InitCallback_t* InitActivityCallback; + EnableCallback_t* EnableActivityCallback; + NameCallback_t* GetOpName; + + protected: + void init(Loader* loader) { + RegisterApiCallback = loader->GetFun("RegisterApiCallback"); + RemoveApiCallback = loader->GetFun("RemoveApiCallback"); + InitActivityCallback = loader->GetFun("InitActivityCallback"); + EnableActivityCallback = loader->GetFun("EnableActivityCallback"); + GetOpName = loader->GetFun("GetOpName"); + } +}; + // HIP runtime library loader class class HipApi { public: @@ -164,6 +191,7 @@ class RocTxApi { } }; +typedef BaseLoader RocpLoader; typedef BaseLoader HipLoader; typedef BaseLoader HccLoader; typedef BaseLoader KfdLoader; @@ -176,6 +204,8 @@ typedef BaseLoader RocTxLoader; template std::atomic*> roctracer::BaseLoader::instance_{}; \ template bool roctracer::BaseLoader::to_load_ = false; \ template bool roctracer::BaseLoader::to_check_ = true; \ + template<> const char* roctracer::RocpLoader::lib_name_ = "librocprofiler64.so"; \ + template<> bool roctracer::RocpLoader::to_load_ = true; \ template<> const char* roctracer::HipLoader::lib_name_ = "libhip_hcc.so"; \ template<> bool roctracer::HipLoader::to_check_ = false; \ template<> const char* roctracer::HccLoader::lib_name_ = "libmcwamp.so"; \ diff --git a/src/core/roctracer.cpp b/src/core/roctracer.cpp index b975117ae6..9b31c64055 100644 --- a/src/core/roctracer.cpp +++ b/src/core/roctracer.cpp @@ -394,8 +394,6 @@ void HCC_ActivityIdCallback(activity_correlation_id_t correlation_id) { } void HCC_AsyncActivityCallback(uint32_t op_id, void* record, void* arg) { - static hsa_rt_utils::Timer timer; - MemoryPool* pool = reinterpret_cast(arg); roctracer_record_t* record_ptr = reinterpret_cast(record); record_ptr->domain = ACTIVITY_DOMAIN_HCC_OPS; @@ -526,6 +524,13 @@ hsa_status_t hsa_amd_memory_async_copy_rect_interceptor( return status; } +void HSA_AsyncActivityCallback(uint32_t op_id, void* record, void* arg) { + MemoryPool* pool = reinterpret_cast(arg); + roctracer_record_t* record_ptr = reinterpret_cast(record); + record_ptr->domain = ACTIVITY_DOMAIN_HSA_OPS; + pool->Write(*record_ptr); +} + // Logger routines and primitives util::Logger::mutex_t util::Logger::mutex_; std::atomic util::Logger::instance_{}; @@ -573,22 +578,16 @@ PUBLIC_API const char* roctracer_op_string( { API_METHOD_PREFIX switch (domain) { - case ACTIVITY_DOMAIN_HSA_API: { + case ACTIVITY_DOMAIN_HSA_API: return roctracer::hsa_support::GetApiName(op); - break; - } - case ACTIVITY_DOMAIN_HCC_OPS: { + case ACTIVITY_DOMAIN_HSA_OPS: + return roctracer::RocpLoader::Instance().GetOpName(op); + case ACTIVITY_DOMAIN_HCC_OPS: return roctracer::HccLoader::Instance().GetOpName(kind); - break; - } - case ACTIVITY_DOMAIN_HIP_API: { + case ACTIVITY_DOMAIN_HIP_API: return roctracer::HipLoader::Instance().ApiName(op); - break; - } - case ACTIVITY_DOMAIN_KFD_API: { + case ACTIVITY_DOMAIN_KFD_API: return roctracer::kfd_support::GetApiName(op); - break; - } default: EXC_RAISING(ROCTRACER_STATUS_BAD_DOMAIN, "invalid domain ID(" << domain << ")"); } @@ -622,7 +621,7 @@ PUBLIC_API roctracer_status_t roctracer_op_code( static inline uint32_t get_op_num(const uint32_t& domain) { switch (domain) { - case ACTIVITY_DOMAIN_HSA_OPS: return 1; + case ACTIVITY_DOMAIN_HSA_OPS: return HSA_OP_ID_NUMBER; case ACTIVITY_DOMAIN_HSA_API: return HSA_API_ID_NUMBER; case ACTIVITY_DOMAIN_HCC_OPS: return HIP_OP_ID_NUMBER; case ACTIVITY_DOMAIN_HIP_API: return HIP_API_ID_NUMBER; @@ -645,11 +644,16 @@ static roctracer_status_t roctracer_enable_callback_fun( switch (domain) { case ACTIVITY_DOMAIN_KFD_API: { const bool succ = roctracer::KfdLoader::Instance().RegisterApiCallback(op, (void*)callback, user_data); - if (succ == false) EXC_RAISING(ROCTRACER_STATUS_ERROR, "KFD RegisterApiCallback error"); + if (succ == false) EXC_RAISING(ROCTRACER_STATUS_ERROR, "KFD RegisterApiCallback error(" << op << ") failed"); break; } case ACTIVITY_DOMAIN_HSA_OPS: break; case ACTIVITY_DOMAIN_HSA_API: { + if (op == HSA_API_ID_DISPATCH) { + const bool succ = roctracer::RocpLoader::Instance().RegisterApiCallback(op, (void*)callback, user_data); + if (succ == false) HCC_EXC_RAISING(ROCTRACER_STATUS_HSA_ERR, "HSA::EnableActivityCallback error(" << op << ") failed"); + break; + } roctracer::hsa_support::cb_table.set(op, callback, user_data); break; } @@ -658,13 +662,13 @@ static roctracer_status_t roctracer_enable_callback_fun( if (roctracer::HipLoader::Instance().Enabled() == false) break; hipError_t hip_err = roctracer::HipLoader::Instance().RegisterApiCallback(op, (void*)callback, user_data); - if (hip_err != hipSuccess) HIP_EXC_RAISING(ROCTRACER_STATUS_HIP_API_ERR, "hipRegisterApiCallback(" << op << ") error(" << hip_err << ")"); + if (hip_err != hipSuccess) HIP_EXC_RAISING(ROCTRACER_STATUS_HIP_API_ERR, "HIP::RegisterApiCallback(" << op << ") error(" << hip_err << ")"); break; } case ACTIVITY_DOMAIN_ROCTX: { if (roctracer::RocTxLoader::Instance().Enabled()) { const bool suc = roctracer::RocTxLoader::Instance().RegisterApiCallback(op, (void*)callback, user_data); - if (suc == false) EXC_RAISING(ROCTRACER_STATUS_ROCTX_ERR, "roctxRegisterApiCallback(" << op << ") failed"); + if (suc == false) EXC_RAISING(ROCTRACER_STATUS_ROCTX_ERR, "ROCTX::RegisterApiCallback(" << op << ") failed"); } break; } @@ -730,19 +734,26 @@ static roctracer_status_t roctracer_disable_callback_fun( break; } case ACTIVITY_DOMAIN_HSA_OPS: break; - case ACTIVITY_DOMAIN_HSA_API: break; + case ACTIVITY_DOMAIN_HSA_API: { + if (op == HSA_API_ID_DISPATCH) { + const bool succ = roctracer::RocpLoader::Instance().RemoveApiCallback(op); + if (succ == false) HCC_EXC_RAISING(ROCTRACER_STATUS_HSA_ERR, "HSA::RemoveActivityCallback error(" << op << ") failed"); + break; + } + break; + } case ACTIVITY_DOMAIN_HCC_OPS: break; case ACTIVITY_DOMAIN_HIP_API: { if (roctracer::HipLoader::Instance().Enabled() == false) break; hipError_t hip_err = roctracer::HipLoader::Instance().RemoveApiCallback(op); - if (hip_err != hipSuccess) HIP_EXC_RAISING(ROCTRACER_STATUS_HIP_API_ERR, "hipRemoveApiCallback error(" << hip_err << ")"); + if (hip_err != hipSuccess) HIP_EXC_RAISING(ROCTRACER_STATUS_HIP_API_ERR, "HIP::RemoveApiCallback(" << op << "), error(" << hip_err << ")"); break; } case ACTIVITY_DOMAIN_ROCTX: { if (roctracer::RocTxLoader::Instance().Enabled()) { const bool suc = roctracer::RocTxLoader::Instance().RemoveApiCallback(op); - if (suc == false) EXC_RAISING(ROCTRACER_STATUS_ROCTX_ERR, "roctxRemoveApiCallback(" << op << ") failed"); + if (suc == false) EXC_RAISING(ROCTRACER_STATUS_ROCTX_ERR, "ROCTX::RemoveApiCallback(" << op << ") failed"); } break; } @@ -833,8 +844,17 @@ static roctracer_status_t roctracer_enable_activity_fun( if (pool == NULL) pool = roctracer_default_pool(); switch (domain) { case ACTIVITY_DOMAIN_HSA_OPS: { - roctracer::hsa_support::async_copy_callback_enabled = true; - rocprofiler::InterceptQueue::Enable(true); + if (op == HSA_OP_ID_DISPATCH) { + const bool init_phase = (roctracer::RocpLoader::GetRef() == NULL); + if (init_phase == true) { + roctracer::RocpLoader::Instance().InitActivityCallback((void*)roctracer::HSA_AsyncActivityCallback, + (void*)pool); + } + const bool succ = roctracer::RocpLoader::Instance().EnableActivityCallback(op, true); + if (succ == false) HCC_EXC_RAISING(ROCTRACER_STATUS_HSA_ERR, "HSA::EnableActivityCallback error"); + } else if (op == HSA_OP_ID_COPY) { + roctracer::hsa_support::async_copy_callback_enabled = true; + } break; } case ACTIVITY_DOMAIN_HSA_API: break; @@ -921,8 +941,12 @@ static roctracer_status_t roctracer_disable_activity_fun( { switch (domain) { case ACTIVITY_DOMAIN_HSA_OPS: { - roctracer::hsa_support::async_copy_callback_enabled = false; - rocprofiler::InterceptQueue::Enable(false); + if (op == HSA_OP_ID_DISPATCH) { + const bool succ = roctracer::RocpLoader::Instance().EnableActivityCallback(op, false); + if (succ == false) HCC_EXC_RAISING(ROCTRACER_STATUS_HSA_ERR, "HSA::EnableActivityCallback(false) error, op(" << op << ")"); + } else if (op == HSA_OP_ID_COPY) { + roctracer::hsa_support::async_copy_callback_enabled = true; + } break; } case ACTIVITY_DOMAIN_HSA_API: break; @@ -931,14 +955,14 @@ static roctracer_status_t roctracer_disable_activity_fun( if (roctracer::HccLoader::Instance().Enabled() == false) break; const bool succ = roctracer::HccLoader::Instance().EnableActivityCallback(op, false); - if (succ == false) HCC_EXC_RAISING(ROCTRACER_STATUS_HCC_OPS_ERR, "HCC::EnableActivityCallback(NULL) error domain(" << domain << ") op(" << op << ")"); + if (succ == false) HCC_EXC_RAISING(ROCTRACER_STATUS_HCC_OPS_ERR, "HCC::EnableActivityCallback(NULL) error, op(" << op << ")"); break; } case ACTIVITY_DOMAIN_HIP_API: { if (roctracer::HipLoader::Instance().Enabled() == false) break; const hipError_t hip_err = roctracer::HipLoader::Instance().RemoveActivityCallback(op); - if (hip_err != hipSuccess) HIP_EXC_RAISING(ROCTRACER_STATUS_HIP_API_ERR, "hipRemoveActivityCallback error(" << hip_err << ")"); + if (hip_err != hipSuccess) HIP_EXC_RAISING(ROCTRACER_STATUS_HIP_API_ERR, "HIP::RemoveActivityCallback op(" << op << "), error(" << hip_err << ")"); break; } case ACTIVITY_DOMAIN_ROCTX: break; diff --git a/test/MatrixTranspose_test/Makefile b/test/MatrixTranspose_test/Makefile index d25f64340b..571725fd1d 100644 --- a/test/MatrixTranspose_test/Makefile +++ b/test/MatrixTranspose_test/Makefile @@ -41,7 +41,7 @@ $(EXECUTABLE): $(OBJECTS) $(HIPCC) $(OBJECTS) -o $@ $(ROC_LIBS) test: $(EXECUTABLE) - LD_PRELOAD=$(LIB_PATH)/libkfdwrapper64.so $(EXECUTABLE) + LD_PRELOAD="$(LIB_PATH)/libkfdwrapper64.so librocprofiler64.so" $(EXECUTABLE) clean: rm -f $(EXECUTABLE) diff --git a/test/MatrixTranspose_test/MatrixTranspose.cpp b/test/MatrixTranspose_test/MatrixTranspose.cpp index cc261f4312..3877a4dead 100644 --- a/test/MatrixTranspose_test/MatrixTranspose.cpp +++ b/test/MatrixTranspose_test/MatrixTranspose.cpp @@ -310,6 +310,12 @@ void activity_callback(const char* begin, const char* end, void* arg) { record->queue_id ); if (record->op == HIP_OP_ID_COPY) fprintf(stdout, " bytes(0x%zx)", record->bytes); + } else if (record->domain == ACTIVITY_DOMAIN_HSA_OPS) { + fprintf(stdout, " se(%u) cycle(%lu) pc(%lx)", + record->ps_sample.se, + record->ps_sample.cycle, + record->ps_sample.pc + ); } else if (record->domain == ACTIVITY_DOMAIN_EXT_API) { fprintf(stdout, " external_id(%lu)", record->external_id @@ -340,6 +346,8 @@ void init_tracing() { // Enable HIP activity tracing ROCTRACER_CALL(roctracer_enable_domain_activity(ACTIVITY_DOMAIN_HIP_API)); ROCTRACER_CALL(roctracer_enable_domain_activity(ACTIVITY_DOMAIN_HCC_OPS)); + // Enable PC sampling + ROCTRACER_CALL(roctracer_enable_op_activity(ACTIVITY_DOMAIN_HSA_OPS, HSA_OP_ID_PCSAMPLE)); // Enable KFD API tracing ROCTRACER_CALL(roctracer_enable_domain_callback(ACTIVITY_DOMAIN_KFD_API, api_callback, NULL)); ROCTRACER_CALL(roctracer_enable_domain_activity(ACTIVITY_DOMAIN_KFD_API)); From c64a1ae4a68361acfc088c0273502eaeeea1bb2d Mon Sep 17 00:00:00 2001 From: rkebichi <54912798+rkebichi@users.noreply.github.com> Date: Fri, 6 Mar 2020 11:17:13 -0500 Subject: [PATCH 325/691] Create merge_jsons.py Script to merge comma separated list of json files into one --- bin/merge_jsons.py | 76 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 bin/merge_jsons.py diff --git a/bin/merge_jsons.py b/bin/merge_jsons.py new file mode 100644 index 0000000000..8fd368ed5b --- /dev/null +++ b/bin/merge_jsons.py @@ -0,0 +1,76 @@ +#!/usr/bin/python + +################################################################################ +# Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +# THE SOFTWARE. +################################################################################ + +import os, sys, re +import argparse + +shift = 100 + +def parse_json(jsonfile, fo): + if not re.search(r'\.json$', jsonfile): + raise Exception('wrong input file type: "' + jsonfile + '"' ) + + with open(jsonfile) as fp: + for line in fp: + ms = re.match(r'^{ "traceEvents":\[{}\n|^\]}\n',line) + if ms: + continue + mo = re.match(r'(.*"pid"\s*:\s*)(\d+)(.*)',line) + mp = re.match(r'(.*)"name"\s*:\s*"([\w,\s]+)"(.*)"pid"\s*:\s*(\d+)(.*)',line) + mp2 = re.match(r'(.*"pid"\s*:\s*")(\d+)(".*)',line) + if mp: + laneName = mp.group(2) + ' from ' + jsonfile + mpid = int(str(mp.group(4))) + mpid = mpid + shift + fo.write(mp.group(1) + '"name":"' + laneName + '"' + mp.group(3) + '"pid":' + str(mpid) + mp.group(5) + '\n') + elif mo: + mpid = int(str(mo.group(2))) + mpid = mpid + shift + fo.write(mo.group(1) + str(mpid) + mo.group(3) + '\n') + elif mp2: + mpid = int(str(mp2.group(2))) + mpid = mpid + shift + fo.write(mp2.group(1) + str(mpid) + mp2.group(3) + '\n') + else: + fo.write(line) + +def merge_jsons(jsons,outfile): + ljsons = jsons.split(',') + fo = open(outfile, mode='w') + fo.write('{ "traceEvents":[{}\n') + for i in range(0, len(ljsons)): + parse_json(ljsons[i],fo) + fo.write(']}\n') + fo.close() + +parser = argparse.ArgumentParser(description='merge_jsons.py: merges list of jsons into one json file.') +requiredNamed=parser.add_argument_group('Required arguments') +requiredNamed.add_argument('-in','--in', help='comma separated list of json files', required=True) +requiredNamed.add_argument('-out','--out', help='Output file (.json)', required=True) + +args = vars(parser.parse_args()) + +if __name__ == '__main__': + merge_jsons(args['in'],args['out']) + From d2243ef1ecca377c7c08c2af34e8ae0814874a05 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Sat, 7 Mar 2020 19:09:54 -0600 Subject: [PATCH 326/691] pc sampling integration fix --- inc/ext/prof_protocol.h | 2 +- src/core/roctracer.cpp | 16 +++--- src/core/trace_buffer.h | 4 ++ test/tool/tracer_tool.cpp | 112 +++++++++++++++++++++++++------------- 4 files changed, 86 insertions(+), 48 deletions(-) diff --git a/inc/ext/prof_protocol.h b/inc/ext/prof_protocol.h index b6384b42ee..6a13724e95 100644 --- a/inc/ext/prof_protocol.h +++ b/inc/ext/prof_protocol.h @@ -84,7 +84,7 @@ typedef struct activity_record_s { uint32_t se; // sampled SE uint64_t cycle; // sample cycle uint64_t pc; // sample PC - } ps_sample; + } pc_sample; }; size_t bytes; // data size bytes } activity_record_t; diff --git a/src/core/roctracer.cpp b/src/core/roctracer.cpp index 9b31c64055..846648dd45 100644 --- a/src/core/roctracer.cpp +++ b/src/core/roctracer.cpp @@ -844,7 +844,9 @@ static roctracer_status_t roctracer_enable_activity_fun( if (pool == NULL) pool = roctracer_default_pool(); switch (domain) { case ACTIVITY_DOMAIN_HSA_OPS: { - if (op == HSA_OP_ID_DISPATCH) { + if (op == HSA_OP_ID_COPY) { + roctracer::hsa_support::async_copy_callback_enabled = true; + } else { const bool init_phase = (roctracer::RocpLoader::GetRef() == NULL); if (init_phase == true) { roctracer::RocpLoader::Instance().InitActivityCallback((void*)roctracer::HSA_AsyncActivityCallback, @@ -852,8 +854,6 @@ static roctracer_status_t roctracer_enable_activity_fun( } const bool succ = roctracer::RocpLoader::Instance().EnableActivityCallback(op, true); if (succ == false) HCC_EXC_RAISING(ROCTRACER_STATUS_HSA_ERR, "HSA::EnableActivityCallback error"); - } else if (op == HSA_OP_ID_COPY) { - roctracer::hsa_support::async_copy_callback_enabled = true; } break; } @@ -941,11 +941,11 @@ static roctracer_status_t roctracer_disable_activity_fun( { switch (domain) { case ACTIVITY_DOMAIN_HSA_OPS: { - if (op == HSA_OP_ID_DISPATCH) { + if (op == HSA_OP_ID_COPY) { + roctracer::hsa_support::async_copy_callback_enabled = true; + } else { const bool succ = roctracer::RocpLoader::Instance().EnableActivityCallback(op, false); if (succ == false) HCC_EXC_RAISING(ROCTRACER_STATUS_HSA_ERR, "HSA::EnableActivityCallback(false) error, op(" << op << ")"); - } else if (op == HSA_OP_ID_COPY) { - roctracer::hsa_support::async_copy_callback_enabled = true; } break; } @@ -976,8 +976,8 @@ static void roctracer_disable_activity_impl( uint32_t domain, uint32_t op) { - roctracer::act_journal->remove({domain, op, {}}); - roctracer_disable_activity_fun((roctracer_domain_t)domain, op); + roctracer::act_journal->remove({domain, op, {}}); + roctracer_disable_activity_fun((roctracer_domain_t)domain, op); } PUBLIC_API roctracer_status_t roctracer_disable_op_activity( diff --git a/src/core/trace_buffer.h b/src/core/trace_buffer.h index 05bc3c47b6..fc778bb95e 100644 --- a/src/core/trace_buffer.h +++ b/src/core/trace_buffer.h @@ -184,8 +184,12 @@ class TraceBuffer : protected TraceBufferBase { if (is_flushed == false) { for (flush_prm_t* prm = flush_prm_arr_; prm < flush_prm_arr_ + flush_prm_count_; prm++) { + // Flushed entries type uint32_t type = prm->type; + // Flushing function callback_t fun = prm->fun; + if (fun == NULL) FATAL("flush function is not set"); + pointer_t pointer = 0; for (Entry* ptr : buf_list_) { Entry* end = ptr + size_; diff --git a/test/tool/tracer_tool.cpp b/test/tool/tracer_tool.cpp index 8c4b5a16d7..9ce34d549e 100644 --- a/test/tool/tracer_tool.cpp +++ b/test/tool/tracer_tool.cpp @@ -77,6 +77,7 @@ bool trace_hsa_activity = false; bool trace_hip_api = false; bool trace_hip_activity = false; bool trace_kfd = false; +bool trace_pcs = false; // API trace vector std::vector hsa_api_vec; std::vector kfd_api_vec; @@ -91,18 +92,25 @@ FILE* hsa_async_copy_file_handle = NULL; FILE* hip_api_file_handle = NULL; FILE* hcc_activity_file_handle = NULL; FILE* kfd_api_file_handle = NULL; +FILE* pc_sample_file_handle = NULL; + +void close_output_file(FILE* file_handle); +void close_file_handles() { + if (roctx_file_handle) close_output_file(roctx_file_handle); + if (hsa_api_file_handle) close_output_file(hsa_api_file_handle); + if (hsa_async_copy_file_handle) close_output_file(hsa_async_copy_file_handle); + if (hip_api_file_handle) close_output_file(hip_api_file_handle); + if (hcc_activity_file_handle) close_output_file(hcc_activity_file_handle); + if (kfd_api_file_handle) close_output_file(kfd_api_file_handle); + if (pc_sample_file_handle) close_output_file(pc_sample_file_handle); +} static inline uint32_t GetPid() { return syscall(__NR_getpid); } static inline uint32_t GetTid() { return syscall(__NR_gettid); } // Error handler void fatal(const std::string msg) { - if (roctx_file_handle) fflush(roctx_file_handle); - if (hsa_api_file_handle) fflush(hsa_api_file_handle); - if (hsa_async_copy_file_handle) fflush(hsa_async_copy_file_handle); - if (hip_api_file_handle) fflush(hip_api_file_handle); - if (hcc_activity_file_handle) fflush(hcc_activity_file_handle); - if (kfd_api_file_handle) fflush(kfd_api_file_handle); + close_file_handles(); fflush(stdout); fprintf(stderr, "%s\n\n", msg.c_str()); fflush(stderr); @@ -439,21 +447,27 @@ void hip_api_flush_cb(hip_api_trace_entry_t* entry) { // Activity tracing callback // hipMalloc id(3) correlation_id(1): begin_ns(1525888652762640464) end_ns(1525888652762877067) -void hcc_activity_callback(const char* begin, const char* end, void* arg) { +void pool_activity_callback(const char* begin, const char* end, void* arg) { const roctracer_record_t* record = reinterpret_cast(begin); const roctracer_record_t* end_record = reinterpret_cast(end); while (record < end_record) { const char * name = roctracer_op_string(record->domain, record->op, record->kind); - if (record->domain == ACTIVITY_DOMAIN_HCC_OPS) { - fprintf(hcc_activity_file_handle, "%lu:%lu %d:%lu %s:%lu\n", - record->begin_ns, record->end_ns, record->device_id, record->queue_id, name, record->correlation_id); - fflush(hcc_activity_file_handle); - } else { -#if 0 - fprintf(hip_api_file_handle, "%lu:%lu %u:%u %s()\n", - record->begin_ns, record->end_ns, record->process_id, record->thread_id, name); -#endif + switch(record->domain) { + case ACTIVITY_DOMAIN_HCC_OPS: + fprintf(hcc_activity_file_handle, "%lu:%lu %d:%lu %s:%lu\n", + record->begin_ns, record->end_ns, + record->device_id, record->queue_id, + name, record->correlation_id); + fflush(hcc_activity_file_handle); + break; + case ACTIVITY_DOMAIN_HSA_OPS: + if (record->op == HSA_OP_ID_PCSAMPLE) { + fprintf(pc_sample_file_handle, "%u %lu 0x%lx %s\n", + record->pc_sample.se, record->pc_sample.cycle, record->pc_sample.pc, name); + fflush(pc_sample_file_handle); + } + break; } ROCTRACER_CALL(roctracer_next_record(record, &record)); } @@ -551,7 +565,28 @@ FILE* open_output_file(const char* prefix, const char* name) { } void close_output_file(FILE* file_handle) { - if ((file_handle != NULL) && (file_handle != stdout)) fclose(file_handle); + if (file_handle != NULL) { + fflush(file_handle); + if (file_handle != stdout) fclose(file_handle); + } +} + +// Allocating tracing pool +void open_tracing_pool() { + if (roctracer_default_pool() == NULL) { + roctracer_properties_t properties{}; + properties.buffer_size = 0x80000; + properties.buffer_callback_fun = pool_activity_callback; + ROCTRACER_CALL(roctracer_open_pool(&properties)); + } +} + +// Flush tracing pool +void close_tracing_pool() { + if (roctracer_default_pool() != NULL) { + ROCTRACER_CALL(roctracer_flush_activity()); + ROCTRACER_CALL(roctracer_close_pool()); + } } // tool unload method @@ -566,38 +601,27 @@ void tool_unload() { if (trace_roctx) { ROCTRACER_CALL(roctracer_disable_domain_callback(ACTIVITY_DOMAIN_ROCTX)); - - roctx_trace_buffer.Flush(); - close_output_file(roctx_file_handle); } if (trace_hsa_api) { ROCTRACER_CALL(roctracer_disable_domain_callback(ACTIVITY_DOMAIN_HSA_API)); - - hsa_api_trace_buffer.Flush(); - close_output_file(hsa_api_file_handle); } - if (trace_hsa_activity) { + if (trace_hsa_activity || trace_pcs) { ROCTRACER_CALL(roctracer_disable_domain_activity(ACTIVITY_DOMAIN_HSA_OPS)); - - close_output_file(hsa_async_copy_file_handle); } if (trace_hip_api || trace_hip_activity) { ROCTRACER_CALL(roctracer_disable_domain_callback(ACTIVITY_DOMAIN_HIP_API)); ROCTRACER_CALL(roctracer_disable_domain_activity(ACTIVITY_DOMAIN_HIP_API)); ROCTRACER_CALL(roctracer_disable_domain_activity(ACTIVITY_DOMAIN_HCC_OPS)); - ROCTRACER_CALL(roctracer_flush_activity()); - ROCTRACER_CALL(roctracer_close_pool()); - - hip_api_trace_buffer.Flush(); - if (hip_api_file_handle) close_output_file(hip_api_file_handle); - if (hcc_activity_file_handle) close_output_file(hcc_activity_file_handle); } - if (trace_kfd) { ROCTRACER_CALL(roctracer_disable_domain_callback(ACTIVITY_DOMAIN_KFD_API)); - fclose(kfd_api_file_handle); } + // Flush tracing pool + close_tracing_pool(); + roctracer::TraceBufferBase::FlushAll(); + close_file_handles(); + ONLOAD_TRACE_END(); } @@ -648,6 +672,11 @@ void tool_load() { if (std::string(trace_domain).find("kfd") != std::string::npos) { trace_kfd = true; } + + // PC sampling enabling + if (std::string(trace_domain).find("pcs") != std::string::npos) { + trace_pcs = true; + } } printf("ROCTracer (pid=%d): ", (int)GetPid()); fflush(stdout); @@ -843,15 +872,12 @@ extern "C" PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, // Enable HIP API callbacks/activity if (trace_hip_api || trace_hip_activity) { - fprintf(stdout, " HIP-trace()\n"); fflush(stdout); // roctracer properties roctracer_set_properties(ACTIVITY_DOMAIN_HIP_API, (void*)mark_api_callback); // Allocating tracing pool - roctracer_properties_t properties{}; - properties.buffer_size = 0x80000; - properties.buffer_callback_fun = hcc_activity_callback; - ROCTRACER_CALL(roctracer_open_pool(&properties)); + open_tracing_pool(); + // Enable tracing if (trace_hip_api) { hip_api_file_handle = open_output_file(output_prefix, "hip_api_trace.txt"); ROCTRACER_CALL(roctracer_enable_domain_callback(ACTIVITY_DOMAIN_HIP_API, hip_api_callback, NULL)); @@ -863,6 +889,14 @@ extern "C" PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, } } + // Enable PC sampling + if (trace_pcs) { + fprintf(stdout, " PCS-trace()\n"); fflush(stdout); + open_tracing_pool(); + pc_sample_file_handle = open_output_file(output_prefix, "pc_sample_trace.txt"); + ROCTRACER_CALL(roctracer_enable_op_activity(ACTIVITY_DOMAIN_HSA_OPS, HSA_OP_ID_PCSAMPLE)); + } + ONLOAD_TRACE_END(); return true; } From c1455827b7f055eed974174787b31993a16b4240 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Sat, 7 Mar 2020 20:35:24 -0600 Subject: [PATCH 327/691] activity entry struct fix --- inc/ext/prof_protocol.h | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/inc/ext/prof_protocol.h b/inc/ext/prof_protocol.h index 6a13724e95..c29ff0e65a 100644 --- a/inc/ext/prof_protocol.h +++ b/inc/ext/prof_protocol.h @@ -65,9 +65,18 @@ typedef struct activity_record_s { uint32_t domain; // activity domain id activity_kind_t kind; // activity kind activity_op_t op; // activity op - activity_correlation_id_t correlation_id; // activity ID - uint64_t begin_ns; // host begin timestamp - uint64_t end_ns; // host end timestamp + union { + struct { + activity_correlation_id_t correlation_id; // activity ID + uint64_t begin_ns; // host begin timestamp + uint64_t end_ns; // host end timestamp + }; + struct { + uint32_t se; // sampled SE + uint64_t cycle; // sample cycle + uint64_t pc; // sample PC + } pc_sample; + }; union { struct { int device_id; // device id @@ -80,11 +89,6 @@ typedef struct activity_record_s { struct { activity_correlation_id_t external_id; // external correlatino id }; - struct { - uint32_t se; // sampled SE - uint64_t cycle; // sample cycle - uint64_t pc; // sample PC - } pc_sample; }; size_t bytes; // data size bytes } activity_record_t; From 7965a02680717f5ceb77a9ab0047c7195341f825 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Mon, 9 Mar 2020 21:13:44 -0500 Subject: [PATCH 328/691] fixing rocprofiler activity enabling --- src/core/loader.h | 19 ++++++++++--------- src/core/roctracer.cpp | 13 +++++++++++++ test/MatrixTranspose_test/MatrixTranspose.cpp | 11 ++++++----- 3 files changed, 29 insertions(+), 14 deletions(-) diff --git a/src/core/loader.h b/src/core/loader.h index 27a6fda55b..aa292418c4 100644 --- a/src/core/loader.h +++ b/src/core/loader.h @@ -21,11 +21,10 @@ class BaseLoader : public T { if (handle_ == NULL) return NULL; fun_t *f = (fun_t*) dlsym(handle_, fun_name); - if (f == NULL) { + if ((to_check_symb_ == true) && (f == NULL)) { fprintf(stderr, "roctracer: symbol lookup '%s' failed: \"%s\"\n", fun_name, dlerror()); abort(); } - dlerror(); return f; } @@ -48,11 +47,10 @@ class BaseLoader : public T { BaseLoader() { const int flags = (to_load_ == true) ? RTLD_LAZY : RTLD_LAZY|RTLD_NOLOAD; handle_ = dlopen(lib_name_, flags); - if ((to_check_ == true) && (handle_ == NULL)) { + if ((to_check_open_ == true) && (handle_ == NULL)) { fprintf(stderr, "roctracer: Loading '%s' failed, %s\n", lib_name_, dlerror()); abort(); } - dlerror(); T::init(this); } @@ -62,7 +60,8 @@ class BaseLoader : public T { } static bool to_load_; - static bool to_check_; + static bool to_check_open_; + static bool to_check_symb_; static mutex_t mutex_; static const char* lib_name_; @@ -203,13 +202,15 @@ typedef BaseLoader RocTxLoader; template typename roctracer::BaseLoader::mutex_t roctracer::BaseLoader::mutex_; \ template std::atomic*> roctracer::BaseLoader::instance_{}; \ template bool roctracer::BaseLoader::to_load_ = false; \ - template bool roctracer::BaseLoader::to_check_ = true; \ + template bool roctracer::BaseLoader::to_check_open_ = true; \ + template bool roctracer::BaseLoader::to_check_symb_ = true; \ template<> const char* roctracer::RocpLoader::lib_name_ = "librocprofiler64.so"; \ - template<> bool roctracer::RocpLoader::to_load_ = true; \ + template<> bool roctracer::RocpLoader::to_check_open_ = false; \ + template<> bool roctracer::RocpLoader::to_check_symb_ = false; \ template<> const char* roctracer::HipLoader::lib_name_ = "libhip_hcc.so"; \ - template<> bool roctracer::HipLoader::to_check_ = false; \ + template<> bool roctracer::HipLoader::to_check_open_ = false; \ template<> const char* roctracer::HccLoader::lib_name_ = "libmcwamp.so"; \ - template<> bool roctracer::HccLoader::to_check_ = false; \ + template<> bool roctracer::HccLoader::to_check_open_ = false; \ template<> const char* roctracer::KfdLoader::lib_name_ = "libkfdwrapper64.so"; \ template<> const char* roctracer::RocTxLoader::lib_name_ = "libroctx64.so"; \ template<> bool roctracer::RocTxLoader::to_load_ = true; diff --git a/src/core/roctracer.cpp b/src/core/roctracer.cpp index 846648dd45..37aa0dc9eb 100644 --- a/src/core/roctracer.cpp +++ b/src/core/roctracer.cpp @@ -649,11 +649,13 @@ static roctracer_status_t roctracer_enable_callback_fun( } case ACTIVITY_DOMAIN_HSA_OPS: break; case ACTIVITY_DOMAIN_HSA_API: { +#if 0 if (op == HSA_API_ID_DISPATCH) { const bool succ = roctracer::RocpLoader::Instance().RegisterApiCallback(op, (void*)callback, user_data); if (succ == false) HCC_EXC_RAISING(ROCTRACER_STATUS_HSA_ERR, "HSA::EnableActivityCallback error(" << op << ") failed"); break; } +#endif roctracer::hsa_support::cb_table.set(op, callback, user_data); break; } @@ -735,11 +737,14 @@ static roctracer_status_t roctracer_disable_callback_fun( } case ACTIVITY_DOMAIN_HSA_OPS: break; case ACTIVITY_DOMAIN_HSA_API: { +#if 0 if (op == HSA_API_ID_DISPATCH) { const bool succ = roctracer::RocpLoader::Instance().RemoveApiCallback(op); if (succ == false) HCC_EXC_RAISING(ROCTRACER_STATUS_HSA_ERR, "HSA::RemoveActivityCallback error(" << op << ") failed"); break; } +#endif + roctracer::hsa_support::cb_table.set(op, NULL, NULL); break; } case ACTIVITY_DOMAIN_HCC_OPS: break; @@ -848,10 +853,14 @@ static roctracer_status_t roctracer_enable_activity_fun( roctracer::hsa_support::async_copy_callback_enabled = true; } else { const bool init_phase = (roctracer::RocpLoader::GetRef() == NULL); + if (roctracer::RocpLoader::Instance().InitActivityCallback == NULL) break; if (init_phase == true) { roctracer::RocpLoader::Instance().InitActivityCallback((void*)roctracer::HSA_AsyncActivityCallback, (void*)pool); } + if (roctracer::RocpLoader::Instance().EnableActivityCallback == NULL) { + EXC_RAISING(ROCTRACER_STATUS_ERROR, "EnableActivityCallback not found"); + } const bool succ = roctracer::RocpLoader::Instance().EnableActivityCallback(op, true); if (succ == false) HCC_EXC_RAISING(ROCTRACER_STATUS_HSA_ERR, "HSA::EnableActivityCallback error"); } @@ -944,6 +953,10 @@ static roctracer_status_t roctracer_disable_activity_fun( if (op == HSA_OP_ID_COPY) { roctracer::hsa_support::async_copy_callback_enabled = true; } else { + if (roctracer::RocpLoader::Instance().InitActivityCallback == NULL) break; + if (roctracer::RocpLoader::Instance().EnableActivityCallback == NULL) { + EXC_RAISING(ROCTRACER_STATUS_ERROR, "EnableActivityCallback not found"); + } const bool succ = roctracer::RocpLoader::Instance().EnableActivityCallback(op, false); if (succ == false) HCC_EXC_RAISING(ROCTRACER_STATUS_HSA_ERR, "HSA::EnableActivityCallback(false) error, op(" << op << ")"); } diff --git a/test/MatrixTranspose_test/MatrixTranspose.cpp b/test/MatrixTranspose_test/MatrixTranspose.cpp index 3877a4dead..14e3b847c0 100644 --- a/test/MatrixTranspose_test/MatrixTranspose.cpp +++ b/test/MatrixTranspose_test/MatrixTranspose.cpp @@ -312,9 +312,9 @@ void activity_callback(const char* begin, const char* end, void* arg) { if (record->op == HIP_OP_ID_COPY) fprintf(stdout, " bytes(0x%zx)", record->bytes); } else if (record->domain == ACTIVITY_DOMAIN_HSA_OPS) { fprintf(stdout, " se(%u) cycle(%lu) pc(%lx)", - record->ps_sample.se, - record->ps_sample.cycle, - record->ps_sample.pc + record->pc_sample.se, + record->pc_sample.cycle, + record->pc_sample.pc ); } else if (record->domain == ACTIVITY_DOMAIN_EXT_API) { fprintf(stdout, " external_id(%lu)", @@ -350,7 +350,6 @@ void init_tracing() { ROCTRACER_CALL(roctracer_enable_op_activity(ACTIVITY_DOMAIN_HSA_OPS, HSA_OP_ID_PCSAMPLE)); // Enable KFD API tracing ROCTRACER_CALL(roctracer_enable_domain_callback(ACTIVITY_DOMAIN_KFD_API, api_callback, NULL)); - ROCTRACER_CALL(roctracer_enable_domain_activity(ACTIVITY_DOMAIN_KFD_API)); // Enable rocTX ROCTRACER_CALL(roctracer_enable_domain_callback(ACTIVITY_DOMAIN_ROCTX, api_callback, NULL)); } @@ -368,7 +367,9 @@ void stop_tracing() { ROCTRACER_CALL(roctracer_disable_domain_callback(ACTIVITY_DOMAIN_HIP_API)); ROCTRACER_CALL(roctracer_disable_domain_activity(ACTIVITY_DOMAIN_HIP_API)); ROCTRACER_CALL(roctracer_disable_domain_activity(ACTIVITY_DOMAIN_HCC_OPS)); - ROCTRACER_CALL(roctracer_disable_domain_activity(ACTIVITY_DOMAIN_KFD_API)); + ROCTRACER_CALL(roctracer_disable_domain_activity(ACTIVITY_DOMAIN_HSA_OPS)); + ROCTRACER_CALL(roctracer_disable_domain_callback(ACTIVITY_DOMAIN_KFD_API)); + ROCTRACER_CALL(roctracer_disable_domain_callback(ACTIVITY_DOMAIN_ROCTX)); ROCTRACER_CALL(roctracer_flush_activity()); printf("# STOP #############################\n"); } From be6216a749db60d4cba5c6410326dac89835be72 Mon Sep 17 00:00:00 2001 From: rkebichi <54912798+rkebichi@users.noreply.github.com> Date: Tue, 10 Mar 2020 15:39:25 -0400 Subject: [PATCH 329/691] Update run.sh Parses trace level files --- test/run.sh | 34 ++++++++++++++++++++++++++-------- 1 file changed, 26 insertions(+), 8 deletions(-) diff --git a/test/run.sh b/test/run.sh index 74dde02cb6..8e1a470120 100755 --- a/test/run.sh +++ b/test/run.sh @@ -34,14 +34,6 @@ if [ -n "$1" ] ; then fi # traces comparison -trace_level=0 -# 0 is no trace comparison -# 1 is events count comparison -# 2 is events order comparison -if [ -n "$2" ] ; then - trace_level=$2 -fi - # debugger debugger="" if [ -n "$3" ] ; then @@ -55,6 +47,8 @@ test_number=0 xeval_test() { test_number=$test_number } + +trace_level = 0 eval_test() { label=$1 cmdline=$2 @@ -111,8 +105,27 @@ eval_test() { # Standalone test # rocTrecer is used explicitely by test +eval_trlevel() { + testname=$1 + if grep -q MatrixTranspose_ctest_trace tests_trcmp_0.txt; then + trace_level=0 + fi + if grep -q MatrixTranspose_ctest_trace tests_trcmp_1.txt; then + trace_level=1 + fi + if grep -q MatrixTranspose_ctest_trace tests_trcmp_2.txt; then + trace_level=2 + fi + if grep -q MatrixTranspose_ctest_trace tests_trcmp_3.txt; then + trace_level=3 + fi +} + +eval_trlevel "MatrixTranspose_ctest_trace" eval_test "standalone C test" "LD_PRELOAD=libkfdwrapper64.so ./test/MatrixTranspose_ctest" "test/MatrixTranspose_ctest_trace" +eval_trlevel "MatrixTranspose_test_trace" eval_test "standalone HIP test" "LD_PRELOAD=libkfdwrapper64.so ./test/MatrixTranspose_test" "test/MatrixTranspose_test_trace" +eval_trlevel "MatrixTranspose_mgpu_trace" eval_test "standalone HIP MGPU test" "LD_PRELOAD=libkfdwrapper64.so ./test/MatrixTranspose_mgpu" "test/MatrixTranspose_mgpu_trace" # Tool test @@ -121,11 +134,14 @@ export HSA_TOOLS_LIB="test/libtracer_tool.so" # SYS test export ROCTRACER_DOMAIN="sys:roctx" +eval_trlevel "MatrixTranspose_sys_trace" eval_test "tool SYS test" ./test/MatrixTranspose "test/MatrixTranspose_sys_trace" export ROCTRACER_DOMAIN="sys:hsa:roctx" +eval_trlevel "MatrixTranspose_sys_hsa_trace" eval_test "tool SYS/HSA test" ./test/MatrixTranspose "test/MatrixTranspose_sys_hsa_trace" # Tracing control export ROCTRACER_DOMAIN="hip" +eval_trlevel "MatrixTranspose_hip_trace" eval_test "tool period test" "ROCP_CTRL_RATE=10:100000:1000000 ./test/MatrixTranspose" "test/MatrixTranspose_hip_trace" # HSA test @@ -143,10 +159,12 @@ export ROCP_AGENTS=1 # each thread creates a queue pre GPU agent export ROCP_THRS=1 +eval_trlevel "ctrl_hsa_trace" eval_test "tool HSA test" ./test/hsa/ctrl "test/ctrl_hsa_trace" echo "" > input.xml export ROCP_INPUT=input.xml +eval_trlevel "ctrl_hsa_input_trace" eval_test "tool HSA test input" ./test/hsa/ctrl "test/ctrl_hsa_input_trace" #valgrind --leak-check=full $tbin From 3568ca4dbb91418872ee7c5733f891647fc523e6 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Wed, 11 Mar 2020 11:33:27 -0500 Subject: [PATCH 330/691] compatibility with pre-pcs rocprofiler version --- src/core/loader.h | 2 -- src/core/roctracer.cpp | 9 +-------- test/tool/tracer_tool.cpp | 2 +- 3 files changed, 2 insertions(+), 11 deletions(-) diff --git a/src/core/loader.h b/src/core/loader.h index aa292418c4..dd30dc72dd 100644 --- a/src/core/loader.h +++ b/src/core/loader.h @@ -205,8 +205,6 @@ typedef BaseLoader RocTxLoader; template bool roctracer::BaseLoader::to_check_open_ = true; \ template bool roctracer::BaseLoader::to_check_symb_ = true; \ template<> const char* roctracer::RocpLoader::lib_name_ = "librocprofiler64.so"; \ - template<> bool roctracer::RocpLoader::to_check_open_ = false; \ - template<> bool roctracer::RocpLoader::to_check_symb_ = false; \ template<> const char* roctracer::HipLoader::lib_name_ = "libhip_hcc.so"; \ template<> bool roctracer::HipLoader::to_check_open_ = false; \ template<> const char* roctracer::HccLoader::lib_name_ = "libmcwamp.so"; \ diff --git a/src/core/roctracer.cpp b/src/core/roctracer.cpp index 37aa0dc9eb..e03bb0b176 100644 --- a/src/core/roctracer.cpp +++ b/src/core/roctracer.cpp @@ -853,14 +853,10 @@ static roctracer_status_t roctracer_enable_activity_fun( roctracer::hsa_support::async_copy_callback_enabled = true; } else { const bool init_phase = (roctracer::RocpLoader::GetRef() == NULL); - if (roctracer::RocpLoader::Instance().InitActivityCallback == NULL) break; if (init_phase == true) { roctracer::RocpLoader::Instance().InitActivityCallback((void*)roctracer::HSA_AsyncActivityCallback, (void*)pool); } - if (roctracer::RocpLoader::Instance().EnableActivityCallback == NULL) { - EXC_RAISING(ROCTRACER_STATUS_ERROR, "EnableActivityCallback not found"); - } const bool succ = roctracer::RocpLoader::Instance().EnableActivityCallback(op, true); if (succ == false) HCC_EXC_RAISING(ROCTRACER_STATUS_HSA_ERR, "HSA::EnableActivityCallback error"); } @@ -953,10 +949,7 @@ static roctracer_status_t roctracer_disable_activity_fun( if (op == HSA_OP_ID_COPY) { roctracer::hsa_support::async_copy_callback_enabled = true; } else { - if (roctracer::RocpLoader::Instance().InitActivityCallback == NULL) break; - if (roctracer::RocpLoader::Instance().EnableActivityCallback == NULL) { - EXC_RAISING(ROCTRACER_STATUS_ERROR, "EnableActivityCallback not found"); - } + if (roctracer::RocpLoader::GetRef() == NULL) break; const bool succ = roctracer::RocpLoader::Instance().EnableActivityCallback(op, false); if (succ == false) HCC_EXC_RAISING(ROCTRACER_STATUS_HSA_ERR, "HSA::EnableActivityCallback(false) error, op(" << op << ")"); } diff --git a/test/tool/tracer_tool.cpp b/test/tool/tracer_tool.cpp index 9ce34d549e..66a3856802 100644 --- a/test/tool/tracer_tool.cpp +++ b/test/tool/tracer_tool.cpp @@ -867,7 +867,7 @@ extern "C" PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, roctracer_set_properties(ACTIVITY_DOMAIN_HSA_OPS, &ops_properties); fprintf(stdout, " HSA-activity-trace()\n"); fflush(stdout); - ROCTRACER_CALL(roctracer_enable_domain_activity(ACTIVITY_DOMAIN_HSA_OPS)); + ROCTRACER_CALL(roctracer_enable_op_activity(ACTIVITY_DOMAIN_HSA_OPS, HSA_OP_ID_COPY)); } // Enable HIP API callbacks/activity From 190c4b322bd8103fd156a6b3b41575fea3facaa9 Mon Sep 17 00:00:00 2001 From: rkebichi <54912798+rkebichi@users.noreply.github.com> Date: Fri, 13 Mar 2020 15:43:57 -0400 Subject: [PATCH 331/691] Update merge_jsons.py --- bin/merge_jsons.py | 39 ++++++++++++++++++++++++++++++--------- 1 file changed, 30 insertions(+), 9 deletions(-) diff --git a/bin/merge_jsons.py b/bin/merge_jsons.py index 8fd368ed5b..135746564d 100644 --- a/bin/merge_jsons.py +++ b/bin/merge_jsons.py @@ -27,41 +27,62 @@ import argparse shift = 100 -def parse_json(jsonfile, fo): +def parse_json(jsonfile, fo, index,lastjson): if not re.search(r'\.json$', jsonfile): raise Exception('wrong input file type: "' + jsonfile + '"' ) - + metadata='' with open(jsonfile) as fp: for line in fp: - ms = re.match(r'^{ "traceEvents":\[{}\n|^\]}\n',line) + ms = re.match(r'^{ "traceEvents":\[{}\n|^\]}\n|^\],\n',line) if ms: continue + md = re.match(r'.*otherData.*',line) + if md: + metadata = ' ' + continue + if metadata != '': + minfo = re.match(r'(.*)"(.*)":(.*)',line) + if minfo: + if lastjson == 0: + metadata = metadata + minfo.group(1) + '"' + minfo.group(2) + '(' + os.path.splitext(jsonfile)[0] + ')":' + minfo.group(3) + ',\n' + else: + metadata = metadata + minfo.group(1) + '"' + minfo.group(2) + '(' + os.path.splitext(jsonfile)[0] + ')":' + minfo.group(3) + '\n' + continue mo = re.match(r'(.*"pid"\s*:\s*)(\d+)(.*)',line) mp = re.match(r'(.*)"name"\s*:\s*"([\w,\s]+)"(.*)"pid"\s*:\s*(\d+)(.*)',line) mp2 = re.match(r'(.*"pid"\s*:\s*")(\d+)(".*)',line) if mp: - laneName = mp.group(2) + ' from ' + jsonfile + laneName = mp.group(2) + '(' + os.path.splitext(jsonfile)[0] + ')' mpid = int(str(mp.group(4))) - mpid = mpid + shift + mpid = mpid + (index+1)*shift fo.write(mp.group(1) + '"name":"' + laneName + '"' + mp.group(3) + '"pid":' + str(mpid) + mp.group(5) + '\n') elif mo: mpid = int(str(mo.group(2))) - mpid = mpid + shift + mpid = mpid + (index+1)*shift fo.write(mo.group(1) + str(mpid) + mo.group(3) + '\n') elif mp2: mpid = int(str(mp2.group(2))) - mpid = mpid + shift + mpid = mpid + (index+1)*shift fo.write(mp2.group(1) + str(mpid) + mp2.group(3) + '\n') else: fo.write(line) + return metadata def merge_jsons(jsons,outfile): ljsons = jsons.split(',') fo = open(outfile, mode='w') fo.write('{ "traceEvents":[{}\n') + metadata = '' + res='' for i in range(0, len(ljsons)): - parse_json(ljsons[i],fo) - fo.write(']}\n') + if i == len(ljsons)-1: + res=res+parse_json(ljsons[i],fo,i,1) + else: + res=res+parse_json(ljsons[i],fo,i,0) + fo.write('],\n') + fo.write(' "otherData": {\n') + fo.write(res) + fo.write(' }\n}\n') fo.close() parser = argparse.ArgumentParser(description='merge_jsons.py: merges list of jsons into one json file.') From 1be273a1b41740e534867f4e44d85b3651b51965 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Sat, 14 Mar 2020 00:13:22 -0500 Subject: [PATCH 332/691] enable tool reloading --- script/hsaap.py | 7 ++++--- script/kfdap.py | 9 ++++---- src/core/journal.h | 2 +- src/core/roctracer.cpp | 43 +++++++++++++++++++-------------------- test/tool/tracer_tool.cpp | 19 ++++++++--------- 5 files changed, 39 insertions(+), 41 deletions(-) diff --git a/script/hsaap.py b/script/hsaap.py index f07c43d902..07a365e2b4 100755 --- a/script/hsaap.py +++ b/script/hsaap.py @@ -1,4 +1,5 @@ #!/usr/bin/python +from __future__ import print_function import os, sys, re OUT='inc/hsa_prof_str.h' @@ -36,7 +37,7 @@ LICENSE = \ ############################################################# # Error handler def fatal(module, msg): - print >>sys.stderr, module + ' Error: "' + msg + '"' + print (module + ' Error: "' + msg + '"', file = sys.stderr) sys.exit(1) # Get next text block @@ -490,7 +491,7 @@ class API_DescrParser: # main # Usage if len(sys.argv) != 3: - print >>sys.stderr, "Usage:", sys.argv[0], " " + print ("Usage:", sys.argv[0], " ", file=sys.stderr) sys.exit(1) else: ROOT = sys.argv[1] + '/' @@ -499,7 +500,7 @@ else: descr = API_DescrParser(OUT, HSA_DIR, API_TABLES_H, API_HEADERS_H, LICENSE) out_file = ROOT + OUT -print 'Generating "' + out_file + '"' +print ('Generating "' + out_file + '"') f = open(out_file, 'w') f.write(descr.content[:-1]) f.close() diff --git a/script/kfdap.py b/script/kfdap.py index 06248d9f26..a9c6defb5f 100755 --- a/script/kfdap.py +++ b/script/kfdap.py @@ -1,4 +1,5 @@ #!/usr/bin/python +from __future__ import print_function import os, sys, re OUT_H = 'inc/kfd_prof_str.h' @@ -33,7 +34,7 @@ LICENSE = \ ############################################################# # Error handler def fatal(module, msg): - print >>sys.stderr, module + ' Error: "' + msg + '"' + print (module + ' Error: "' + msg + '"', file = sys.stderr) sys.exit(1) # Get next text block @@ -539,7 +540,7 @@ class API_DescrParser: # main # Usage if len(sys.argv) != 3: - print >>sys.stderr, "Usage:", sys.argv[0], " " + print ("Usage:", sys.argv[0], " ", file = sys.stderr) sys.exit(1) else: ROOT = sys.argv[1] + '/' @@ -548,13 +549,13 @@ else: descr = API_DescrParser(OUT_H, KFD_DIR, API_HEADERS_H, LICENSE) out_file = ROOT + OUT_H -print 'Generating "' + out_file + '"' +print ('Generating "' + out_file + '"') f = open(out_file, 'w') f.write(descr.content_h[:-1]) f.close() out_file = ROOT + OUT_CPP -print 'Generating "' + out_file + '"' +print ('Generating "' + out_file + '"') f = open(out_file, 'w') f.write(descr.content_cpp[:-1]) f.close() diff --git a/src/core/journal.h b/src/core/journal.h index f4d8a676b7..68f1e67709 100644 --- a/src/core/journal.h +++ b/src/core/journal.h @@ -47,7 +47,7 @@ class Journal { } ~Journal() { - for (auto& val : map_) delete val.second; + for (auto& val : *map_) delete val.second; delete map_; } diff --git a/src/core/roctracer.cpp b/src/core/roctracer.cpp index e03bb0b176..daedb97db9 100644 --- a/src/core/roctracer.cpp +++ b/src/core/roctracer.cpp @@ -686,8 +686,8 @@ static void roctracer_enable_callback_impl( roctracer_rtapi_callback_t callback, void* user_data) { - roctracer::cb_journal->registr({domain, op, {callback, user_data}}); - roctracer_enable_callback_fun((roctracer_domain_t)domain, op, callback, user_data); + roctracer::cb_journal->registr({domain, op, {callback, user_data}}); + roctracer_enable_callback_fun((roctracer_domain_t)domain, op, callback, user_data); } PUBLIC_API roctracer_status_t roctracer_enable_op_callback( @@ -1152,46 +1152,45 @@ PUBLIC_API roctracer_status_t roctracer_set_properties( API_METHOD_SUFFIX } +static bool is_loaded = false; + PUBLIC_API bool roctracer_load() { - static bool is_loaded = false; ONLOAD_TRACE("begin, loaded(" << is_loaded << ")"); - if (is_loaded) return true; + if (is_loaded == true) return true; is_loaded = true; + if (roctracer::cb_journal == NULL) roctracer::cb_journal = new roctracer::CbJournal; + if (roctracer::act_journal == NULL) roctracer::act_journal = new roctracer::ActJournal; + ONLOAD_TRACE_END(); return true; } PUBLIC_API void roctracer_unload() { - static bool is_unloaded = false; - ONLOAD_TRACE("begin, unloaded(" << is_unloaded << ")"); + ONLOAD_TRACE("begin, loaded(" << is_loaded << ")"); - if (is_unloaded == true) return; - is_unloaded = true; + if (is_loaded == false) return; + is_loaded = false; + + if (roctracer::cb_journal != NULL) { + delete roctracer::cb_journal; + roctracer::cb_journal = NULL; + } + if (roctracer::act_journal != NULL) { + delete roctracer::act_journal; + roctracer::act_journal = NULL; + } roctracer::trace_buffer.Flush(); roctracer::close_output_file(roctracer::kernel_file_handle); ONLOAD_TRACE_END(); } -// HSA-runtime tool on-load/unload methods -PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, uint64_t failed_tool_count, - const char* const* failed_tool_names) { - ONLOAD_TRACE_BEG(); - const bool ret = roctracer_load(); - ONLOAD_TRACE_END(); - return ret; -} -PUBLIC_API void OnUnload() { - ONLOAD_TRACE("done"); -} - CONSTRUCTOR_API void constructor() { ONLOAD_TRACE_BEG(); roctracer::util::Logger::Create(); - if (roctracer::cb_journal == NULL) roctracer::cb_journal = new roctracer::CbJournal; - if (roctracer::act_journal == NULL) roctracer::act_journal = new roctracer::ActJournal; + roctracer_load(); ONLOAD_TRACE_END(); } diff --git a/test/tool/tracer_tool.cpp b/test/tool/tracer_tool.cpp index 66a3856802..b1114ecd75 100644 --- a/test/tool/tracer_tool.cpp +++ b/test/tool/tracer_tool.cpp @@ -585,19 +585,18 @@ void open_tracing_pool() { void close_tracing_pool() { if (roctracer_default_pool() != NULL) { ROCTRACER_CALL(roctracer_flush_activity()); - ROCTRACER_CALL(roctracer_close_pool()); } } +// tool library is loaded +static bool is_loaded = false; + // tool unload method void tool_unload() { - static bool is_unloaded = false; - ONLOAD_TRACE("begin, unloaded(" << is_unloaded << ")"); + ONLOAD_TRACE("begin, loaded(" << is_loaded << ")"); - if (is_unloaded == true) return; - is_unloaded = true; - - roctracer_unload(); + if (is_loaded == false) return; + is_loaded = false; if (trace_roctx) { ROCTRACER_CALL(roctracer_disable_domain_callback(ACTIVITY_DOMAIN_ROCTX)); @@ -627,12 +626,13 @@ void tool_unload() { // tool load method void tool_load() { - static bool is_loaded = false; ONLOAD_TRACE("begin, loaded(" << is_loaded << ")"); if (is_loaded == true) return; is_loaded = true; + roctracer::TraceBufferBase::StartWorkerThreadAll(); + // Output file const char* output_prefix = getenv("ROCP_OUTPUT_DIR"); if (output_prefix != NULL) { @@ -817,9 +817,6 @@ void tool_load() { printf(")\n"); } - roctracer::TraceBufferBase::StartWorkerThreadAll(); - roctracer_load(); - ONLOAD_TRACE_END(); } From 9c67df7fd0fa089be51ed36b3294a86d5cebfe78 Mon Sep 17 00:00:00 2001 From: rkebichi <54912798+rkebichi@users.noreply.github.com> Date: Tue, 17 Mar 2020 12:14:51 -0400 Subject: [PATCH 333/691] Update merge_jsons.py --- bin/merge_jsons.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/bin/merge_jsons.py b/bin/merge_jsons.py index 135746564d..91f49d206a 100644 --- a/bin/merge_jsons.py +++ b/bin/merge_jsons.py @@ -38,19 +38,32 @@ def parse_json(jsonfile, fo, index,lastjson): continue md = re.match(r'.*otherData.*',line) if md: + # collect metadata in variable 'metadata' metadata = ' ' continue if metadata != '': minfo = re.match(r'(.*)"(.*)":(.*)',line) + # minfo catch pattern like: "version": "my app V1.0" if minfo: + # test for last json to see if ',' needed at the end of metadata if lastjson == 0: metadata = metadata + minfo.group(1) + '"' + minfo.group(2) + '(' + os.path.splitext(jsonfile)[0] + ')":' + minfo.group(3) + ',\n' else: metadata = metadata + minfo.group(1) + '"' + minfo.group(2) + '(' + os.path.splitext(jsonfile)[0] + ')":' + minfo.group(3) + '\n' continue mo = re.match(r'(.*"pid"\s*:\s*)(\d+)(.*)',line) + # mo catch pattern like: ,{"ts":4258451581657,"ph":"s","cat":"DataFlow","id":0,"pid":2,"tid":83583,"name":"dep"} + # grp2 is pid number that needs shifting, grp1 is what comes before pid number and grp3 is what comes after mp = re.match(r'(.*)"name"\s*:\s*"([\w,\s]+)"(.*)"pid"\s*:\s*(\d+)(.*)',line) + # mp catch pattern like: ,{"args":{"name":"0 CPU HIP API"},"ph":"M","pid":2,"name":"process_name"} + # Grp 1. 0-10 ,{"args":{ + # Grp 2. 18-31 0 CPU HIP API + # Grp 3. 32-43 },"ph":"M", + # Grp 4. 49-50 2 + # Grp 5. 50-73 ,"name":"process_name"} mp2 = re.match(r'(.*"pid"\s*:\s*")(\d+)(".*)',line) + # mo2 catch pattern like: "pid":"3", + # where grp2 is the pid number to shift if mp: laneName = mp.group(2) + '(' + os.path.splitext(jsonfile)[0] + ')' mpid = int(str(mp.group(4))) @@ -74,12 +87,14 @@ def merge_jsons(jsons,outfile): fo.write('{ "traceEvents":[{}\n') metadata = '' res='' + # res will contain all metadata for all jsons files provided as input for i in range(0, len(ljsons)): if i == len(ljsons)-1: res=res+parse_json(ljsons[i],fo,i,1) else: res=res+parse_json(ljsons[i],fo,i,0) fo.write('],\n') + # write metadata at the end of output json file fo.write(' "otherData": {\n') fo.write(res) fo.write(' }\n}\n') From 90912231e784f9033186998d9ebfebf027898c93 Mon Sep 17 00:00:00 2001 From: rkebichi <54912798+rkebichi@users.noreply.github.com> Date: Tue, 17 Mar 2020 12:20:25 -0400 Subject: [PATCH 334/691] Update parse_trace.py --- script/parse_trace.py | 49 +++++++++++++++++++++++++++++-------------- 1 file changed, 33 insertions(+), 16 deletions(-) diff --git a/script/parse_trace.py b/script/parse_trace.py index c1f3de0b66..7c8a72c8e9 100644 --- a/script/parse_trace.py +++ b/script/parse_trace.py @@ -1,20 +1,47 @@ #!/usr/bin/python +#Copyright (c) 2015-present Advanced Micro Devices, Inc. All rights reserved. +# +#Permission is hereby granted, free of charge, to any person obtaining a copy +#of this software and associated documentation files (the "Software"), to deal +#in the Software without restriction, including without limitation the rights +#to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +#copies of the Software, and to permit persons to whom the Software is +#furnished to do so, subject to the following conditions: +# +#The above copyright notice and this permission notice shall be included in +#all copies or substantial portions of the Software. +# +#THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +#IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +#FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +#AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +#LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +#OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +#THE SOFTWARE. + import os, sys, re import argparse events_count = {} events_order = {} -def parse_trace(tracefile,cnt,order): +#Parses roctracer trace file for regression purpose +#and generates events count per event (when cnt is on) or events order per tid (when order is on) +def gen_events_info(tracefile,cnt,order): + res='' with open(tracefile) as f: for line in f: event_pattern = re.compile(r'<(\w+)\s+id\(\d+\)\s+.*tid\((\d+)\)>') + # event_pattern extracts event(grp1) and tid (grp2) from a line like this: + # m = event_pattern.match(line) if m: event = m.group(1) tid = m.group(2) event_pattern2 = re.compile(r'\d+:\d+\s+\d+:(\d+)\s+(\w+)') + # event_pattern2 extracts tid (grp1) and event (grp2) from a line like this: + # 1822810364769411:1822810364771941 116477:116477 hsa_agent_get_info(, 17, 0x7ffeac015fec) = 0 m2 = event_pattern2.match(line) if m2: event = m2.group(2) @@ -29,21 +56,11 @@ def parse_trace(tracefile,cnt,order): events_order[tid].append(event) else: events_order[tid] = [event] - if cnt: + if cnt==1: for event,count in events_count.items(): - print event + ": count " + str(count) - if order: + res = res + event + ": count " + str(count) + if order==1: for tid in sorted (events_order.keys()) : - print str(events_order[tid]) - -parser = argparse.ArgumentParser(description='parse_trace.py: reads roctracer trace file and parses it.') -parser.add_argument('-or', action='store_true',help='Generates ordered events') -parser.add_argument('-cn', action='store_true',help='Generates events count') -requiredNamed = parser.add_argument_group('Required arguments') -requiredNamed.add_argument('-in', metavar='file', help='Trace file', required=True) - -args = vars(parser.parse_args()) - -if __name__ == '__main__': - parse_trace(args['in'],args['cn'],args['or']) + res = res + str(events_order[tid]) + return res From a342265a308ec82dc19860acd1bd4181d1431adf Mon Sep 17 00:00:00 2001 From: rkebichi <54912798+rkebichi@users.noreply.github.com> Date: Tue, 17 Mar 2020 12:22:10 -0400 Subject: [PATCH 335/691] Create check_trace.sh --- script/check_trace.sh | 80 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 80 insertions(+) create mode 100644 script/check_trace.sh diff --git a/script/check_trace.sh b/script/check_trace.sh new file mode 100644 index 0000000000..2052a7c39f --- /dev/null +++ b/script/check_trace.sh @@ -0,0 +1,80 @@ +#!/bin/sh + +################################################################################ +# Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +# THE SOFTWARE. +################################################################################ + +tracename=$1 +trace="${tracename}.txt" +rtrace="${tracename}_r.txt" +label=$2 +trace_level=0 + +eval_trlevel() { + tracefilename=$(basename $1) + trace_level=`grep -w $tracefilename tests_trace_cmp_levels.txt | awk -F' ' '{print $2}'` + echo "Trace comparison for $tracefilename is at level $trace_level" +} + +eval_trlevel $tracename + +case "$trace_level" in + "0") echo "$label: PASSED" + ;; + "1") + #echo "../script/parse_trace.py -in $rtrace -cn" + echo "parse_trace.gen_events_info($rtrace,cn=1,or=0)" + cnt_r=$(python -c 'import sys;sys.path.append("../script");import parse_trace; print parse_trace.gen_events_info("'$rtrace'",1,0)') + #cnt_r=`../script/parse_trace.py -in $rtrace -cn` + #cnt=`../script/parse_trace.py -in $trace -cn` + cnt=$(python -c 'import sys;sys.path.append("../script");import parse_trace; print parse_trace.gen_events_info("'$trace'",1,0)') + if [ "$cnt_r" = "$cnt" ] ; then + echo "$label: PASSED (trace compare, events count)" + else + echo "$label: FAILED (trace compare, events count)" + test_status=$(($test_status + 1)) + fi + ;; + "2") + #echo "../script/parse_trace.py -in $rtrace -or" + echo "parse_trace.gen_events_info($rtrace,cn=0,or=1)" + cnt_r=$(python -c 'import sys;sys.path.append("../script");import parse_trace; print parse_trace.gen_events_info("'$rtrace'",0,1)') + #cnt_r=`../script/parse_trace.py -in $rtrace -or` + #cnt=`../script/parse_trace.py -in $trace -or` + cnt=$(python -c 'import sys;sys.path.append("../script");import parse_trace; print parse_trace.gen_events_info("'$trace'",0,1)') + if [ "$cnt_r" = "$cnt" ] ; then + echo "$label: PASSED (trace compare, events order)" + else + echo "$label: FAILED (trace compare, events order)" + test_status=$(($test_status + 1)) + fi + ;; + "3") + echo "Comparing $trace $rtrace :" + eval "diff --brief $trace $rtrace" + if [ $? != 0 ] ; then + echo "$label: FAILED (trace compare, files differ)" + test_status=$(($test_status + 1)) + else + echo "$label: PASSED (trace compare, files are the same)" + fi + ;; +esac From 85d96587d8ae90c9d1ce24ab132465255352b753 Mon Sep 17 00:00:00 2001 From: rkebichi <54912798+rkebichi@users.noreply.github.com> Date: Tue, 17 Mar 2020 12:26:23 -0400 Subject: [PATCH 336/691] Update run.sh --- test/run.sh | 65 ++--------------------------------------------------- 1 file changed, 2 insertions(+), 63 deletions(-) diff --git a/test/run.sh b/test/run.sh index 8e1a470120..e504c5ee7e 100755 --- a/test/run.sh +++ b/test/run.sh @@ -33,7 +33,6 @@ if [ -n "$1" ] ; then test_filter=$1 fi -# traces comparison # debugger debugger="" if [ -n "$3" ] ; then @@ -48,11 +47,9 @@ xeval_test() { test_number=$test_number } -trace_level = 0 eval_test() { label=$1 cmdline=$2 - trace="${3}.txt" rtrace="${3}_r.txt" if [ $test_filter = -1 -o $test_filter = $test_number ] ; then echo "$label: \"$cmdline\"" @@ -62,42 +59,8 @@ eval_test() { echo "$label: FAILED" test_status=$(($test_status + 1)) else - case "$trace_level" in - "0") echo "$label: PASSED" - ;; - "1") - echo "../script/parse_trace.py -in $rtrace -cn" - cnt_r=`../script/parse_trace.py -in $rtrace -cn` - cnt=`../script/parse_trace.py -in $trace -cn` - if [ "$cnt_r" = "$cnt" ] ; then - echo "$label: PASSED (trace compare, events count)" - else - echo "$label: FAILED (trace compare, events count)" - test_status=$(($test_status + 1)) - fi - ;; - "2") - echo "../script/parse_trace.py -in $rtrace -or" - cnt_r=`../script/parse_trace.py -in $rtrace -or` - cnt=`../script/parse_trace.py -in $trace -or` - if [ "$cnt_r" = "$cnt" ] ; then - echo "$label: PASSED (trace compare, events order)" - else - echo "$label: FAILED (trace compare, events order)" - test_status=$(($test_status + 1)) - fi - ;; - "3") - echo "Comparing $trace $rtrace :" - eval "diff --brief $trace $rtrace" - if [ $? != 0 ] ; then - echo "$label: FAILED (trace compare, files differ)" - test_status=$(($test_status + 1)) - else - echo "$label: PASSED (trace compare, files are the same)" - fi - ;; - esac + echo "Comparing traces: ../script/check_trace.sh $3" + eval "../script/check_trace.sh $3 $label" fi fi test_number=$((test_number + 1)) @@ -105,27 +68,8 @@ eval_test() { # Standalone test # rocTrecer is used explicitely by test -eval_trlevel() { - testname=$1 - if grep -q MatrixTranspose_ctest_trace tests_trcmp_0.txt; then - trace_level=0 - fi - if grep -q MatrixTranspose_ctest_trace tests_trcmp_1.txt; then - trace_level=1 - fi - if grep -q MatrixTranspose_ctest_trace tests_trcmp_2.txt; then - trace_level=2 - fi - if grep -q MatrixTranspose_ctest_trace tests_trcmp_3.txt; then - trace_level=3 - fi -} - -eval_trlevel "MatrixTranspose_ctest_trace" eval_test "standalone C test" "LD_PRELOAD=libkfdwrapper64.so ./test/MatrixTranspose_ctest" "test/MatrixTranspose_ctest_trace" -eval_trlevel "MatrixTranspose_test_trace" eval_test "standalone HIP test" "LD_PRELOAD=libkfdwrapper64.so ./test/MatrixTranspose_test" "test/MatrixTranspose_test_trace" -eval_trlevel "MatrixTranspose_mgpu_trace" eval_test "standalone HIP MGPU test" "LD_PRELOAD=libkfdwrapper64.so ./test/MatrixTranspose_mgpu" "test/MatrixTranspose_mgpu_trace" # Tool test @@ -134,14 +78,11 @@ export HSA_TOOLS_LIB="test/libtracer_tool.so" # SYS test export ROCTRACER_DOMAIN="sys:roctx" -eval_trlevel "MatrixTranspose_sys_trace" eval_test "tool SYS test" ./test/MatrixTranspose "test/MatrixTranspose_sys_trace" export ROCTRACER_DOMAIN="sys:hsa:roctx" -eval_trlevel "MatrixTranspose_sys_hsa_trace" eval_test "tool SYS/HSA test" ./test/MatrixTranspose "test/MatrixTranspose_sys_hsa_trace" # Tracing control export ROCTRACER_DOMAIN="hip" -eval_trlevel "MatrixTranspose_hip_trace" eval_test "tool period test" "ROCP_CTRL_RATE=10:100000:1000000 ./test/MatrixTranspose" "test/MatrixTranspose_hip_trace" # HSA test @@ -159,12 +100,10 @@ export ROCP_AGENTS=1 # each thread creates a queue pre GPU agent export ROCP_THRS=1 -eval_trlevel "ctrl_hsa_trace" eval_test "tool HSA test" ./test/hsa/ctrl "test/ctrl_hsa_trace" echo "" > input.xml export ROCP_INPUT=input.xml -eval_trlevel "ctrl_hsa_input_trace" eval_test "tool HSA test input" ./test/hsa/ctrl "test/ctrl_hsa_input_trace" #valgrind --leak-check=full $tbin From 8247b59a812ad96bb8d3f45d2ba2337ea2a0e60c Mon Sep 17 00:00:00 2001 From: rkebichi <54912798+rkebichi@users.noreply.github.com> Date: Tue, 17 Mar 2020 12:27:52 -0400 Subject: [PATCH 337/691] Update CMakeLists.txt --- test/CMakeLists.txt | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 20b52111ef..bdeb01afde 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -41,14 +41,8 @@ add_custom_target( mytest COMMAND C_TEST=1 ${TEST_CFLAGS} make -C "${TEST_DIR}/MatrixTranspose_test" COMMAND sh -xc "cp ${TEST_DIR}/MatrixTranspose_test/MatrixTranspose ${PROJECT_BINARY_DIR}/test/MatrixTranspose_ctest" # copy traces - COMMAND sh -xc "cp ${TEST_DIR}/MatrixTranspose_test/MatrixTranspose_test_trace.txt ${PROJECT_BINARY_DIR}/test/" - COMMAND sh -xc "cp ${TEST_DIR}/MatrixTranspose/MatrixTranspose_ctest_trace.txt ${PROJECT_BINARY_DIR}/test/" - COMMAND sh -xc "cp ${TEST_DIR}/MatrixTranspose/MatrixTranspose_mgpu_trace.txt ${PROJECT_BINARY_DIR}/test/" - COMMAND sh -xc "cp ${TEST_DIR}/MatrixTranspose/MatrixTranspose_sys_trace.txt ${PROJECT_BINARY_DIR}/test/" - COMMAND sh -xc "cp ${TEST_DIR}/MatrixTranspose/MatrixTranspose_sys_hsa_trace.txt ${PROJECT_BINARY_DIR}/test/" - COMMAND sh -xc "cp ${TEST_DIR}/MatrixTranspose/MatrixTranspose_hip_trace.txt ${PROJECT_BINARY_DIR}/test/" - COMMAND sh -xc "cp ${TEST_DIR}/ctrl_hsa_trace.txt ${PROJECT_BINARY_DIR}/test/" - COMMAND sh -xc "cp ${TEST_DIR}/ctrl_hsa_input_trace.txt ${PROJECT_BINARY_DIR}/test/" + COMMAND sh -xc "cp ${TEST_DIR}/MatrixTranspose*/*_trace.txt ${PROJECT_BINARY_DIR}/test/" + COMMAND sh -xc "cp ${TEST_DIR}/*_trace.txt ${PROJECT_BINARY_DIR}/test/" ) ## Util sources From 2ac70a3fb99ed69a77d8197670e77b5a27bdbbc8 Mon Sep 17 00:00:00 2001 From: rkebichi <54912798+rkebichi@users.noreply.github.com> Date: Wed, 18 Mar 2020 12:36:07 -0400 Subject: [PATCH 338/691] Update merge_jsons.py Fixed inclusion of metadata for rocminfo/hipcc_version, also fixed that no shift happens for 1st json --- bin/merge_jsons.py | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/bin/merge_jsons.py b/bin/merge_jsons.py index 91f49d206a..5fdb7d18e8 100644 --- a/bin/merge_jsons.py +++ b/bin/merge_jsons.py @@ -27,10 +27,10 @@ import argparse shift = 100 -def parse_json(jsonfile, fo, index,lastjson): +def parse_json(jsonfile, fo, index, lastjson): if not re.search(r'\.json$', jsonfile): raise Exception('wrong input file type: "' + jsonfile + '"' ) - metadata='' + metadata = '' with open(jsonfile) as fp: for line in fp: ms = re.match(r'^{ "traceEvents":\[{}\n|^\]}\n|^\],\n',line) @@ -45,11 +45,9 @@ def parse_json(jsonfile, fo, index,lastjson): minfo = re.match(r'(.*)"(.*)":(.*)',line) # minfo catch pattern like: "version": "my app V1.0" if minfo: - # test for last json to see if ',' needed at the end of metadata - if lastjson == 0: - metadata = metadata + minfo.group(1) + '"' + minfo.group(2) + '(' + os.path.splitext(jsonfile)[0] + ')":' + minfo.group(3) + ',\n' - else: - metadata = metadata + minfo.group(1) + '"' + minfo.group(2) + '(' + os.path.splitext(jsonfile)[0] + ')":' + minfo.group(3) + '\n' + metadata = metadata + minfo.group(1) + '"' + minfo.group(2) + '(' + os.path.splitext(jsonfile)[0] + ')":' + minfo.group(3) + '\n' + else: + metadata = metadata + line continue mo = re.match(r'(.*"pid"\s*:\s*)(\d+)(.*)',line) # mo catch pattern like: ,{"ts":4258451581657,"ph":"s","cat":"DataFlow","id":0,"pid":2,"tid":83583,"name":"dep"} @@ -67,18 +65,25 @@ def parse_json(jsonfile, fo, index,lastjson): if mp: laneName = mp.group(2) + '(' + os.path.splitext(jsonfile)[0] + ')' mpid = int(str(mp.group(4))) - mpid = mpid + (index+1)*shift + mpid = mpid + index*shift fo.write(mp.group(1) + '"name":"' + laneName + '"' + mp.group(3) + '"pid":' + str(mpid) + mp.group(5) + '\n') elif mo: mpid = int(str(mo.group(2))) - mpid = mpid + (index+1)*shift + mpid = mpid + index*shift fo.write(mo.group(1) + str(mpid) + mo.group(3) + '\n') elif mp2: mpid = int(str(mp2.group(2))) - mpid = mpid + (index+1)*shift + mpid = mpid + index*shift fo.write(mp2.group(1) + str(mpid) + mp2.group(3) + '\n') else: fo.write(line) + + metadata = metadata[:metadata.rfind('\n')] + metadata = metadata[:metadata.rfind('\n')] + if lastjson == 0: + metadata = metadata + ',\n' + else: + metadata = metadata + '\n' return metadata def merge_jsons(jsons,outfile): From e100e6d87dfb0b761bd2cbff47a42f1313947a25 Mon Sep 17 00:00:00 2001 From: rkebichi <54912798+rkebichi@users.noreply.github.com> Date: Mon, 23 Mar 2020 17:12:13 -0400 Subject: [PATCH 339/691] Create check_trace.py --- script/check_trace.py | 119 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 119 insertions(+) create mode 100644 script/check_trace.py diff --git a/script/check_trace.py b/script/check_trace.py new file mode 100644 index 0000000000..0023fa663b --- /dev/null +++ b/script/check_trace.py @@ -0,0 +1,119 @@ +#!/usr/bin/python + +#Copyright (c) 2015-present Advanced Micro Devices, Inc. All rights reserved. +# +#Permission is hereby granted, free of charge, to any person obtaining a copy +#of this software and associated documentation files (the "Software"), to deal +#in the Software without restriction, including without limitation the rights +#to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +#copies of the Software, and to permit persons to whom the Software is +#furnished to do so, subject to the following conditions: +# +#The above copyright notice and this permission notice shall be included in +#all copies or substantial portions of the Software. +# +#THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +#IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +#FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +#AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +#LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +#OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +#THE SOFTWARE. + +import os, re +import filecmp +import argparse + +events_count = {} +events_order = {} +trace2level = {} +trace2level_filename = 'tests_trace_cmp_levels.txt' + +def parse_trace_levels(filename): + f = open(filename) + trace2level = {} + for line in f: + item = line.split(' ', 1) + trace2level[item[0]] = eval(item[1]) + return trace2level + +# check trace againt golden reference and returns 0 for match, 1 for mismatch +def check_trace_status(tracename): + trace2level = parse_trace_levels(trace2level_filename) + trace = tracename + '.txt' + rtrace = tracename + '_r.txt' + if os.path.basename(tracename) in trace2level: + trace_level = trace2level[os.path.basename(tracename)] + print 'Trace comparison for ' + os.path.basename(tracename) + ' is at level ' + str(trace_level) + '\n' + else: + print 'Trace ' + os.path.basename(tracename) + ' not found in ' + trace2level_filename + ', defaulting to level 0\n' + return 0 + + if trace_level == 1: + cnt_r = gen_events_info(rtrace,'cnt') + cnt = gen_events_info(trace,'cnt') + if cnt_r == cnt: + return 0 + else: + return 1 + elif trace_level == 2: + cnt_r = gen_events_info(rtrace,'or') + cnt = gen_events_info(trace,'or') + if cnt_r == cnt: + return 0 + else: + return 1 + elif trace_level == 3: + if filecmp.cmp(trace,rtrace): + return 0 + else: + return 1 + +#Parses roctracer trace file for regression purpose +#and generates events count per event (when cnt is on) or events order per tid (when order is on) +def gen_events_info(tracefile, metric): + res='' + with open(tracefile) as f: + for line in f: + event_pattern = re.compile(r'<(\w+)\s+id\(\d+\)\s+.*tid\((\d+)\)>') + # event_pattern extracts event(grp1) and tid (grp2) from a line like this: + # + m = event_pattern.match(line) + if m: + event = m.group(1) + tid = m.group(2) + event_pattern2 = re.compile(r'\d+:\d+\s+\d+:(\d+)\s+(\w+)') + # event_pattern2 extracts tid (grp1) and event (grp2) from a line like this: + # 1822810364769411:1822810364771941 116477:116477 hsa_agent_get_info(, 17, 0x7ffeac015fec) = 0 + m2 = event_pattern2.match(line) + if m2: + event = m2.group(2) + tid = m2.group(1) + if metric == 'cnt' and (m or m2): + if event in events_count: + events_count[event] = events_count[event] + 1 + else: + events_count[event] = 1 + if metric == 'or' and (m or m2): + if tid in events_order.keys(): + events_order[tid].append(event) + else: + events_order[tid] = [event] + if metric == 'cnt': + for event,count in events_count.items(): + res = res + event + " : count " + str(count) + '\n' + if metric == 'or': + for tid in sorted (events_order.keys()) : + res = res + str(events_order[tid]) + +return res + + +parser = argparse.ArgumentParser(description='check_trace.py: check a trace aainst golden ref. Returns 0 for success, 1 for failure') +requiredNamed = parser.add_argument_group('Required arguments') +requiredNamed.add_argument('-in', metavar='file', help='Name of trace to be checked', required=True) +args = vars(parser.parse_args()) + +if __name__ == '__main__': + check_trace_status(args['in']) + From d8eeea6b8ba7ab5b17712e5a4eb2eaa001dda633 Mon Sep 17 00:00:00 2001 From: rkebichi <54912798+rkebichi@users.noreply.github.com> Date: Mon, 23 Mar 2020 17:14:03 -0400 Subject: [PATCH 340/691] Update run.sh --- test/run.sh | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/test/run.sh b/test/run.sh index e504c5ee7e..cade66cf07 100755 --- a/test/run.sh +++ b/test/run.sh @@ -59,8 +59,14 @@ eval_test() { echo "$label: FAILED" test_status=$(($test_status + 1)) else - echo "Comparing traces: ../script/check_trace.sh $3" - eval "../script/check_trace.sh $3 $label" + echo "Comparing traces: ../script/check_trace.py -in $3" + eval "../script/check_trace.py -in $3" + if [ $? != 0 ] ; then + echo "$label: FAILED trace comparison" + test_status=$(($test_status + 1)) + else + echo "$label: PASSED trace comparison" + fi fi fi test_number=$((test_number + 1)) From ebf78e2a4344d48a594f7c8429cab91d6d1f22ef Mon Sep 17 00:00:00 2001 From: rkebichi <54912798+rkebichi@users.noreply.github.com> Date: Mon, 23 Mar 2020 17:16:27 -0400 Subject: [PATCH 341/691] Delete check_trace.sh Not needed (replaced by check_trace.py) --- script/check_trace.sh | 80 ------------------------------------------- 1 file changed, 80 deletions(-) delete mode 100644 script/check_trace.sh diff --git a/script/check_trace.sh b/script/check_trace.sh deleted file mode 100644 index 2052a7c39f..0000000000 --- a/script/check_trace.sh +++ /dev/null @@ -1,80 +0,0 @@ -#!/bin/sh - -################################################################################ -# Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in -# all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -# THE SOFTWARE. -################################################################################ - -tracename=$1 -trace="${tracename}.txt" -rtrace="${tracename}_r.txt" -label=$2 -trace_level=0 - -eval_trlevel() { - tracefilename=$(basename $1) - trace_level=`grep -w $tracefilename tests_trace_cmp_levels.txt | awk -F' ' '{print $2}'` - echo "Trace comparison for $tracefilename is at level $trace_level" -} - -eval_trlevel $tracename - -case "$trace_level" in - "0") echo "$label: PASSED" - ;; - "1") - #echo "../script/parse_trace.py -in $rtrace -cn" - echo "parse_trace.gen_events_info($rtrace,cn=1,or=0)" - cnt_r=$(python -c 'import sys;sys.path.append("../script");import parse_trace; print parse_trace.gen_events_info("'$rtrace'",1,0)') - #cnt_r=`../script/parse_trace.py -in $rtrace -cn` - #cnt=`../script/parse_trace.py -in $trace -cn` - cnt=$(python -c 'import sys;sys.path.append("../script");import parse_trace; print parse_trace.gen_events_info("'$trace'",1,0)') - if [ "$cnt_r" = "$cnt" ] ; then - echo "$label: PASSED (trace compare, events count)" - else - echo "$label: FAILED (trace compare, events count)" - test_status=$(($test_status + 1)) - fi - ;; - "2") - #echo "../script/parse_trace.py -in $rtrace -or" - echo "parse_trace.gen_events_info($rtrace,cn=0,or=1)" - cnt_r=$(python -c 'import sys;sys.path.append("../script");import parse_trace; print parse_trace.gen_events_info("'$rtrace'",0,1)') - #cnt_r=`../script/parse_trace.py -in $rtrace -or` - #cnt=`../script/parse_trace.py -in $trace -or` - cnt=$(python -c 'import sys;sys.path.append("../script");import parse_trace; print parse_trace.gen_events_info("'$trace'",0,1)') - if [ "$cnt_r" = "$cnt" ] ; then - echo "$label: PASSED (trace compare, events order)" - else - echo "$label: FAILED (trace compare, events order)" - test_status=$(($test_status + 1)) - fi - ;; - "3") - echo "Comparing $trace $rtrace :" - eval "diff --brief $trace $rtrace" - if [ $? != 0 ] ; then - echo "$label: FAILED (trace compare, files differ)" - test_status=$(($test_status + 1)) - else - echo "$label: PASSED (trace compare, files are the same)" - fi - ;; -esac From d108cca32033b2a69353eb14d2969021b80a1bf2 Mon Sep 17 00:00:00 2001 From: rkebichi <54912798+rkebichi@users.noreply.github.com> Date: Mon, 23 Mar 2020 17:19:03 -0400 Subject: [PATCH 342/691] Delete parse_trace.py Not needed (replaced by check_trace.py) --- script/parse_trace.py | 66 ------------------------------------------- 1 file changed, 66 deletions(-) delete mode 100644 script/parse_trace.py diff --git a/script/parse_trace.py b/script/parse_trace.py deleted file mode 100644 index 7c8a72c8e9..0000000000 --- a/script/parse_trace.py +++ /dev/null @@ -1,66 +0,0 @@ -#!/usr/bin/python - -#Copyright (c) 2015-present Advanced Micro Devices, Inc. All rights reserved. -# -#Permission is hereby granted, free of charge, to any person obtaining a copy -#of this software and associated documentation files (the "Software"), to deal -#in the Software without restriction, including without limitation the rights -#to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -#copies of the Software, and to permit persons to whom the Software is -#furnished to do so, subject to the following conditions: -# -#The above copyright notice and this permission notice shall be included in -#all copies or substantial portions of the Software. -# -#THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -#IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -#FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -#AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -#LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -#OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -#THE SOFTWARE. - -import os, sys, re -import argparse - -events_count = {} -events_order = {} - -#Parses roctracer trace file for regression purpose -#and generates events count per event (when cnt is on) or events order per tid (when order is on) -def gen_events_info(tracefile,cnt,order): - res='' - with open(tracefile) as f: - for line in f: - event_pattern = re.compile(r'<(\w+)\s+id\(\d+\)\s+.*tid\((\d+)\)>') - # event_pattern extracts event(grp1) and tid (grp2) from a line like this: - # - m = event_pattern.match(line) - if m: - event = m.group(1) - tid = m.group(2) - event_pattern2 = re.compile(r'\d+:\d+\s+\d+:(\d+)\s+(\w+)') - # event_pattern2 extracts tid (grp1) and event (grp2) from a line like this: - # 1822810364769411:1822810364771941 116477:116477 hsa_agent_get_info(, 17, 0x7ffeac015fec) = 0 - m2 = event_pattern2.match(line) - if m2: - event = m2.group(2) - tid = m2.group(1) - if cnt and (m or m2): - if event in events_count: - events_count[event] = events_count[event] + 1 - else: - events_count[event] = 1 - if order and (m or m2): - if tid in events_order.keys(): - events_order[tid].append(event) - else: - events_order[tid] = [event] - if cnt==1: - for event,count in events_count.items(): - res = res + event + ": count " + str(count) - if order==1: - for tid in sorted (events_order.keys()) : - res = res + str(events_order[tid]) - return res - From cd2153829de8b4bb20182301eef32b6335f1887f Mon Sep 17 00:00:00 2001 From: rkebichi <54912798+rkebichi@users.noreply.github.com> Date: Mon, 23 Mar 2020 17:24:12 -0400 Subject: [PATCH 343/691] Create tests_trace_cmp_levels.txt --- test/tests_trace_cmp_levels.txt | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 test/tests_trace_cmp_levels.txt diff --git a/test/tests_trace_cmp_levels.txt b/test/tests_trace_cmp_levels.txt new file mode 100644 index 0000000000..837a50f839 --- /dev/null +++ b/test/tests_trace_cmp_levels.txt @@ -0,0 +1,8 @@ +ctrl_hsa_input_trace 0 +ctrl_hsa_trace 1 +MatrixTranspose_ctest_trace 2 +MatrixTranspose_hip_trace 3 +MatrixTranspose_mgpu_trace 2 +MatrixTranspose_sys_hsa_trace 3 +MatrixTranspose_sys_trace 1 +MatrixTranspose_test_trace 2 From a3be8ff7f128a0a28d68d8f617b1571cda698333 Mon Sep 17 00:00:00 2001 From: rkebichi <54912798+rkebichi@users.noreply.github.com> Date: Mon, 23 Mar 2020 17:28:46 -0400 Subject: [PATCH 344/691] Update CMakeLists.txt --- test/CMakeLists.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index bdeb01afde..ba23540c3f 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -43,6 +43,7 @@ add_custom_target( mytest # copy traces COMMAND sh -xc "cp ${TEST_DIR}/MatrixTranspose*/*_trace.txt ${PROJECT_BINARY_DIR}/test/" COMMAND sh -xc "cp ${TEST_DIR}/*_trace.txt ${PROJECT_BINARY_DIR}/test/" + COMMAND sh -xc "cp ${TEST_DIR}/tests_trace_cmp_levels.txt ${PROJECT_BINARY_DIR}/test/" ) ## Util sources From 1d46509af4330c44289c6038fd91020a83dfc520 Mon Sep 17 00:00:00 2001 From: rkebichi <54912798+rkebichi@users.noreply.github.com> Date: Mon, 23 Mar 2020 17:29:38 -0400 Subject: [PATCH 345/691] Update check_trace.py --- script/check_trace.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/script/check_trace.py b/script/check_trace.py index 0023fa663b..44bb022569 100644 --- a/script/check_trace.py +++ b/script/check_trace.py @@ -27,7 +27,7 @@ import argparse events_count = {} events_order = {} trace2level = {} -trace2level_filename = 'tests_trace_cmp_levels.txt' +trace2level_filename = 'test/tests_trace_cmp_levels.txt' def parse_trace_levels(filename): f = open(filename) From cb89ed3325ee0025438108065b3bbe1d2de41c7d Mon Sep 17 00:00:00 2001 From: Evgeny Date: Mon, 23 Mar 2020 17:35:18 -0500 Subject: [PATCH 346/691] change cmake links to directories --- CMakeLists.txt | 79 ++++++++++++++++++++++++++++++-------------------- 1 file changed, 47 insertions(+), 32 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index f9facb60ef..eb65300fd8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -80,39 +80,55 @@ set_property ( TARGET ${TARGET_NAME} PROPERTY VERSION "${LIB_VERSION_STRING}" ) set_property ( TARGET ${TARGET_NAME} PROPERTY SOVERSION "${LIB_VERSION_MAJOR}" ) # If the library is a release, strip the target library -if ( "${CMAKE_BUILD_TYPE}" STREQUAL release ) - add_custom_command ( TARGET ${ROCTRACER_TARGET} POST_BUILD COMMAND ${CMAKE_STRIP} *.so ) -endif () +#if ( "${CMAKE_BUILD_TYPE}" STREQUAL release ) +# add_custom_command ( TARGET ${ROCTRACER_TARGET} POST_BUILD COMMAND ${CMAKE_STRIP} *.so ) +#endif () ## Build tests add_subdirectory ( ${TEST_DIR} ${PROJECT_BINARY_DIR}/test ) -## Install and packaging -set ( CMAKE_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX}/${ROCTRACER_NAME} ) -message ( "---------Install-Dir: ${CMAKE_INSTALL_PREFIX}" ) +## pbulic headers +set ( PUBLIC_HEADERS + roctracer.h + roctracer_hip.h + roctracer_hcc.h + roctracer_ext.h + ext/prof_protocol.h + ext/hsa_rt_utils.hpp + roctx.h +) -add_custom_target ( inc-link ALL WORKING_DIRECTORY ${PROJECT_BINARY_DIR} - COMMAND ${CMAKE_COMMAND} -E create_symlink ../${ROCTRACER_NAME}/include inc-link ) +## Installation and packaging +set ( DEST_NAME ${ROCPROFILER_NAME} ) +if ( DEFINED CPACK_PACKAGING_INSTALL_PREFIX ) + get_filename_component ( DEST_NAME ${CPACK_PACKAGING_INSTALL_PREFIX} NAME ) + get_filename_component ( DEST_DIR ${CPACK_PACKAGING_INSTALL_PREFIX} DIRECTORY ) + set ( CPACK_PACKAGING_INSTALL_PREFIX ${DEST_DIR} ) +endif () +message ( "-----------Dest-name: ${DEST_NAME}" ) +message ( "------Install-prefix: ${CMAKE_INSTALL_PREFIX}" ) +message ( "-----------CPACK-dir: ${CPACK_PACKAGING_INSTALL_PREFIX}" ) + +#add_custom_target ( inc-link ALL WORKING_DIRECTORY ${PROJECT_BINARY_DIR} +# COMMAND ${CMAKE_COMMAND} -E create_symlink ../${DEST_NAME}/include inc-link ) add_custom_target ( so-link ALL WORKING_DIRECTORY ${PROJECT_BINARY_DIR} - COMMAND ${CMAKE_COMMAND} -E create_symlink ../${ROCTRACER_NAME}/lib/${ROCTRACER_LIBRARY}.so so-link ) + COMMAND ${CMAKE_COMMAND} -E create_symlink ../${DEST_NAME}/lib/${ROCTRACER_LIBRARY}.so so-link ) add_custom_target ( so-major-link ALL WORKING_DIRECTORY ${PROJECT_BINARY_DIR} - COMMAND ${CMAKE_COMMAND} -E create_symlink ../${ROCTRACER_NAME}/lib/${ROCTRACER_LIBRARY}.so.${LIB_VERSION_MAJOR} so-major-link ) + COMMAND ${CMAKE_COMMAND} -E create_symlink ../${DEST_NAME}/lib/${ROCTRACER_LIBRARY}.so.${LIB_VERSION_MAJOR} so-major-link ) add_custom_target ( so-patch-link ALL WORKING_DIRECTORY ${PROJECT_BINARY_DIR} - COMMAND ${CMAKE_COMMAND} -E create_symlink ../${ROCTRACER_NAME}/lib/${ROCTRACER_LIBRARY}.so.${LIB_VERSION_STRING} so-patch-link ) + COMMAND ${CMAKE_COMMAND} -E create_symlink ../${DEST_NAME}/lib/${ROCTRACER_LIBRARY}.so.${LIB_VERSION_STRING} so-patch-link ) ## Install information -install ( TARGETS ${ROCTRACER_TARGET} LIBRARY DESTINATION lib ) -install ( FILES ${CMAKE_CURRENT_SOURCE_DIR}/inc/roctracer.h DESTINATION include ) -install ( FILES ${CMAKE_CURRENT_SOURCE_DIR}/inc/roctracer_hip.h DESTINATION include ) -install ( FILES ${CMAKE_CURRENT_SOURCE_DIR}/inc/roctracer_hcc.h DESTINATION include ) -install ( FILES ${CMAKE_CURRENT_SOURCE_DIR}/inc/roctracer_ext.h DESTINATION include ) -install ( FILES ${CMAKE_CURRENT_SOURCE_DIR}/inc/ext/prof_protocol.h DESTINATION include/ext ) -install ( FILES ${CMAKE_CURRENT_SOURCE_DIR}/inc/ext/hsa_rt_utils.hpp DESTINATION include/ext ) -install ( FILES ${PROJECT_BINARY_DIR}/inc-link DESTINATION ../include RENAME ${ROCTRACER_NAME} ) -install ( FILES ${PROJECT_BINARY_DIR}/so-link DESTINATION ../lib RENAME ${ROCTRACER_LIBRARY}.so ) -install ( FILES ${PROJECT_BINARY_DIR}/so-major-link DESTINATION ../lib RENAME ${ROCTRACER_LIBRARY}.so.${LIB_VERSION_MAJOR} ) -install ( FILES ${PROJECT_BINARY_DIR}/so-patch-link DESTINATION ../lib RENAME ${ROCTRACER_LIBRARY}.so.${LIB_VERSION_STRING} ) -install ( FILES ${PROJECT_BINARY_DIR}/test/libtracer_tool.so DESTINATION tool ) +install ( TARGETS ${ROCTRACER_TARGET} LIBRARY DESTINATION ${DEST_NAME}/lib ) +foreach ( header ${PUBLIC_HEADERS} ) + install ( FILES ${CMAKE_CURRENT_SOURCE_DIR}/inc/${header} DESTINATION ${DEST_NAME}/include ) + install ( FILES ${CMAKE_CURRENT_SOURCE_DIR}/inc/${header} DESTINATION include/${DEST_NAME} ) +endforeach () +#install ( FILES ${PROJECT_BINARY_DIR}/inc-link DESTINATION include RENAME ${DEST_NAME} ) +install ( FILES ${PROJECT_BINARY_DIR}/so-link DESTINATION lib RENAME ${ROCTRACER_LIBRARY}.so ) +install ( FILES ${PROJECT_BINARY_DIR}/so-major-link DESTINATION lib RENAME ${ROCTRACER_LIBRARY}.so.${LIB_VERSION_MAJOR} ) +install ( FILES ${PROJECT_BINARY_DIR}/so-patch-link DESTINATION lib RENAME ${ROCTRACER_LIBRARY}.so.${LIB_VERSION_STRING} ) +install ( FILES ${PROJECT_BINARY_DIR}/test/libtracer_tool.so DESTINATION ${DEST_NAME}/tool ) ## rocTX set ( ROCTX_TARGET "roctx64" ) @@ -123,20 +139,19 @@ set_property ( TARGET ${ROCTX_TARGET} PROPERTY VERSION "${LIB_VERSION_STRING}" ) set_property ( TARGET ${ROCTX_TARGET} PROPERTY SOVERSION "${LIB_VERSION_MAJOR}" ) add_custom_target ( so-roctx-link ALL WORKING_DIRECTORY ${PROJECT_BINARY_DIR} - COMMAND ${CMAKE_COMMAND} -E create_symlink ../${ROCTRACER_NAME}/lib/${ROCTX_LIBRARY}.so so-roctx-link ) + COMMAND ${CMAKE_COMMAND} -E create_symlink ../${DEST_NAME}/lib/${ROCTX_LIBRARY}.so so-roctx-link ) add_custom_target ( so-roctx-major-link ALL WORKING_DIRECTORY ${PROJECT_BINARY_DIR} - COMMAND ${CMAKE_COMMAND} -E create_symlink ../${ROCTRACER_NAME}/lib/${ROCTX_LIBRARY}.so.${LIB_VERSION_MAJOR} so-roctx-major-link ) + COMMAND ${CMAKE_COMMAND} -E create_symlink ../${DEST_NAME}/lib/${ROCTX_LIBRARY}.so.${LIB_VERSION_MAJOR} so-roctx-major-link ) add_custom_target ( so-roctx-patch-link ALL WORKING_DIRECTORY ${PROJECT_BINARY_DIR} - COMMAND ${CMAKE_COMMAND} -E create_symlink ../${ROCTRACER_NAME}/lib/${ROCTX_LIBRARY}.so.${LIB_VERSION_STRING} so-roctx-patch-link ) + COMMAND ${CMAKE_COMMAND} -E create_symlink ../${DEST_NAME}/lib/${ROCTX_LIBRARY}.so.${LIB_VERSION_STRING} so-roctx-patch-link ) -install ( TARGETS "roctx64" LIBRARY DESTINATION lib ) -install ( FILES ${CMAKE_CURRENT_SOURCE_DIR}/inc/roctx.h DESTINATION include ) -install ( FILES ${PROJECT_BINARY_DIR}/so-roctx-link DESTINATION ../lib RENAME ${ROCTX_LIBRARY}.so ) -install ( FILES ${PROJECT_BINARY_DIR}/so-roctx-major-link DESTINATION ../lib RENAME ${ROCTX_LIBRARY}.so.${LIB_VERSION_MAJOR} ) -install ( FILES ${PROJECT_BINARY_DIR}/so-roctx-patch-link DESTINATION ../lib RENAME ${ROCTX_LIBRARY}.so.${LIB_VERSION_STRING} ) +install ( TARGETS "roctx64" LIBRARY DESTINATION ${DEST_NAME}/lib ) +install ( FILES ${PROJECT_BINARY_DIR}/so-roctx-link DESTINATION lib RENAME ${ROCTX_LIBRARY}.so ) +install ( FILES ${PROJECT_BINARY_DIR}/so-roctx-major-link DESTINATION lib RENAME ${ROCTX_LIBRARY}.so.${LIB_VERSION_MAJOR} ) +install ( FILES ${PROJECT_BINARY_DIR}/so-roctx-patch-link DESTINATION lib RENAME ${ROCTX_LIBRARY}.so.${LIB_VERSION_STRING} ) ## KFD wrapper -install ( TARGETS "kfdwrapper64" LIBRARY DESTINATION lib ) +install ( TARGETS "kfdwrapper64" LIBRARY DESTINATION ${DEST_NAME}/lib ) ## Packaging directives set ( CPACK_GENERATOR "DEB" "RPM" "TGZ" ) From 17a90f01f6ad8b16485ba5365c8bedb1d4cbb7a9 Mon Sep 17 00:00:00 2001 From: rkebichi <54912798+rkebichi@users.noreply.github.com> Date: Wed, 25 Mar 2020 11:41:07 -0400 Subject: [PATCH 347/691] Delete merge_jsons.py Will submit this file to rocprofiler instead. This way, the trace compare code changes can be merged to the master. --- bin/merge_jsons.py | 117 --------------------------------------------- 1 file changed, 117 deletions(-) delete mode 100644 bin/merge_jsons.py diff --git a/bin/merge_jsons.py b/bin/merge_jsons.py deleted file mode 100644 index 5fdb7d18e8..0000000000 --- a/bin/merge_jsons.py +++ /dev/null @@ -1,117 +0,0 @@ -#!/usr/bin/python - -################################################################################ -# Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in -# all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -# THE SOFTWARE. -################################################################################ - -import os, sys, re -import argparse - -shift = 100 - -def parse_json(jsonfile, fo, index, lastjson): - if not re.search(r'\.json$', jsonfile): - raise Exception('wrong input file type: "' + jsonfile + '"' ) - metadata = '' - with open(jsonfile) as fp: - for line in fp: - ms = re.match(r'^{ "traceEvents":\[{}\n|^\]}\n|^\],\n',line) - if ms: - continue - md = re.match(r'.*otherData.*',line) - if md: - # collect metadata in variable 'metadata' - metadata = ' ' - continue - if metadata != '': - minfo = re.match(r'(.*)"(.*)":(.*)',line) - # minfo catch pattern like: "version": "my app V1.0" - if minfo: - metadata = metadata + minfo.group(1) + '"' + minfo.group(2) + '(' + os.path.splitext(jsonfile)[0] + ')":' + minfo.group(3) + '\n' - else: - metadata = metadata + line - continue - mo = re.match(r'(.*"pid"\s*:\s*)(\d+)(.*)',line) - # mo catch pattern like: ,{"ts":4258451581657,"ph":"s","cat":"DataFlow","id":0,"pid":2,"tid":83583,"name":"dep"} - # grp2 is pid number that needs shifting, grp1 is what comes before pid number and grp3 is what comes after - mp = re.match(r'(.*)"name"\s*:\s*"([\w,\s]+)"(.*)"pid"\s*:\s*(\d+)(.*)',line) - # mp catch pattern like: ,{"args":{"name":"0 CPU HIP API"},"ph":"M","pid":2,"name":"process_name"} - # Grp 1. 0-10 ,{"args":{ - # Grp 2. 18-31 0 CPU HIP API - # Grp 3. 32-43 },"ph":"M", - # Grp 4. 49-50 2 - # Grp 5. 50-73 ,"name":"process_name"} - mp2 = re.match(r'(.*"pid"\s*:\s*")(\d+)(".*)',line) - # mo2 catch pattern like: "pid":"3", - # where grp2 is the pid number to shift - if mp: - laneName = mp.group(2) + '(' + os.path.splitext(jsonfile)[0] + ')' - mpid = int(str(mp.group(4))) - mpid = mpid + index*shift - fo.write(mp.group(1) + '"name":"' + laneName + '"' + mp.group(3) + '"pid":' + str(mpid) + mp.group(5) + '\n') - elif mo: - mpid = int(str(mo.group(2))) - mpid = mpid + index*shift - fo.write(mo.group(1) + str(mpid) + mo.group(3) + '\n') - elif mp2: - mpid = int(str(mp2.group(2))) - mpid = mpid + index*shift - fo.write(mp2.group(1) + str(mpid) + mp2.group(3) + '\n') - else: - fo.write(line) - - metadata = metadata[:metadata.rfind('\n')] - metadata = metadata[:metadata.rfind('\n')] - if lastjson == 0: - metadata = metadata + ',\n' - else: - metadata = metadata + '\n' - return metadata - -def merge_jsons(jsons,outfile): - ljsons = jsons.split(',') - fo = open(outfile, mode='w') - fo.write('{ "traceEvents":[{}\n') - metadata = '' - res='' - # res will contain all metadata for all jsons files provided as input - for i in range(0, len(ljsons)): - if i == len(ljsons)-1: - res=res+parse_json(ljsons[i],fo,i,1) - else: - res=res+parse_json(ljsons[i],fo,i,0) - fo.write('],\n') - # write metadata at the end of output json file - fo.write(' "otherData": {\n') - fo.write(res) - fo.write(' }\n}\n') - fo.close() - -parser = argparse.ArgumentParser(description='merge_jsons.py: merges list of jsons into one json file.') -requiredNamed=parser.add_argument_group('Required arguments') -requiredNamed.add_argument('-in','--in', help='comma separated list of json files', required=True) -requiredNamed.add_argument('-out','--out', help='Output file (.json)', required=True) - -args = vars(parser.parse_args()) - -if __name__ == '__main__': - merge_jsons(args['in'],args['out']) - From afd562dd94da40273797e27d0dd459ced53ce580 Mon Sep 17 00:00:00 2001 From: rkebichi <54912798+rkebichi@users.noreply.github.com> Date: Wed, 25 Mar 2020 15:27:20 -0400 Subject: [PATCH 348/691] Update check_trace.py --- script/check_trace.py | 42 +++++++++++++++++++++++++++++------------- 1 file changed, 29 insertions(+), 13 deletions(-) diff --git a/script/check_trace.py b/script/check_trace.py index 44bb022569..1cb99d8045 100644 --- a/script/check_trace.py +++ b/script/check_trace.py @@ -20,7 +20,7 @@ #OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN #THE SOFTWARE. -import os, re +import sys, os, re import filecmp import argparse @@ -40,13 +40,14 @@ def parse_trace_levels(filename): # check trace againt golden reference and returns 0 for match, 1 for mismatch def check_trace_status(tracename): trace2level = parse_trace_levels(trace2level_filename) + trace = tracename + '.txt' rtrace = tracename + '_r.txt' if os.path.basename(tracename) in trace2level: trace_level = trace2level[os.path.basename(tracename)] - print 'Trace comparison for ' + os.path.basename(tracename) + ' is at level ' + str(trace_level) + '\n' + print 'Trace comparison for ' + os.path.basename(tracename) + ' is at level ' + str(trace_level) else: - print 'Trace ' + os.path.basename(tracename) + ' not found in ' + trace2level_filename + ', defaulting to level 0\n' + print 'Trace ' + os.path.basename(tracename) + ' not found in ' + trace2level_filename + ', defaulting to level 0' return 0 if trace_level == 1: @@ -64,18 +65,25 @@ def check_trace_status(tracename): else: return 1 elif trace_level == 3: - if filecmp.cmp(trace,rtrace): - return 0 - else: - return 1 + if filecmp.cmp(trace,rtrace): + return 0 + else: + return 1 #Parses roctracer trace file for regression purpose #and generates events count per event (when cnt is on) or events order per tid (when order is on) def gen_events_info(tracefile, metric): + events_count = {} + events_order = {} res='' with open(tracefile) as f: for line in f: - event_pattern = re.compile(r'<(\w+)\s+id\(\d+\)\s+.*tid\((\d+)\)>') + event_pattern_s = re.compile(r'# START \((\d+)\) #############################') + ms = event_pattern_s.match(line) + if ms: + start_id = ms.group(1) + continue + event_pattern = re.compile(r'.*<(\w+)\s+id\(\d+\)\s+.*tid\((\d+)\)>') # event_pattern extracts event(grp1) and tid (grp2) from a line like this: # m = event_pattern.match(line) @@ -89,12 +97,20 @@ def gen_events_info(tracefile, metric): if m2: event = m2.group(2) tid = m2.group(1) - if metric == 'cnt' and (m or m2): + event_pattern3 = re.compile(r'') + # event_pattern2 extracts rocTX event like: + # + # + m3 = event_pattern3.match(line) + if m3: + event = m3.group(1) + tid = start_id + if metric == 'cnt' and (m or m2 or m3): if event in events_count: events_count[event] = events_count[event] + 1 else: events_count[event] = 1 - if metric == 'or' and (m or m2): + if metric == 'or' and (m or m2 or m3): if tid in events_order.keys(): events_order[tid].append(event) else: @@ -104,9 +120,9 @@ def gen_events_info(tracefile, metric): res = res + event + " : count " + str(count) + '\n' if metric == 'or': for tid in sorted (events_order.keys()) : + #res = res + 'Events for tid ' + tid + ' are:\n' + str(events_order[tid]) + '\n' res = res + str(events_order[tid]) - -return res + return res parser = argparse.ArgumentParser(description='check_trace.py: check a trace aainst golden ref. Returns 0 for success, 1 for failure') @@ -115,5 +131,5 @@ requiredNamed.add_argument('-in', metavar='file', help='Name of trace to be chec args = vars(parser.parse_args()) if __name__ == '__main__': - check_trace_status(args['in']) + sys.exit(check_trace_status(args['in'])) From bf64364899e1c89408816f4a6cc9929e904fa1b5 Mon Sep 17 00:00:00 2001 From: rkebichi <54912798+rkebichi@users.noreply.github.com> Date: Wed, 25 Mar 2020 15:29:29 -0400 Subject: [PATCH 349/691] Update MatrixTranspose_test_trace.txt --- .../MatrixTranspose_test_trace.txt | 11111 +++++++++------- 1 file changed, 5954 insertions(+), 5157 deletions(-) diff --git a/test/MatrixTranspose_test/MatrixTranspose_test_trace.txt b/test/MatrixTranspose_test/MatrixTranspose_test_trace.txt index 03f88c0880..cd3ddd4eae 100644 --- a/test/MatrixTranspose_test/MatrixTranspose_test_trace.txt +++ b/test/MatrixTranspose_test/MatrixTranspose_test_trace.txt @@ -1,6716 +1,7513 @@ -standalone HIP test: "LD_PRELOAD=libkfdwrapper64.so ./test/MatrixTranspose_test" # INIT ############################# # START (99) ############################# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - + + - ptr(0x7ffe1b3413b8) size(0x400000) - - - - - - + ptr(0x7ffe3359ea58) size(0x400000) + + + + + + - *ptr(0x0x7feab4800000) - - + *ptr(0x0x7f0f29a00000) + + - ptr(0x7ffe1b3413b0) size(0x400000) - - - - - - + ptr(0x7ffe3359ea50) size(0x400000) + + + + + + - *ptr(0x0x7feab4200000) - - + *ptr(0x0x7f0f29400000) + + - dst(0x7feab4800000) src(0xc21170) size(0x400000) kind(1) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + dst(0x7f0f29a00000) src(0x29b6680) size(0x400000) kind(1) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - dst(0x1021180) src(0x7feab4200000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - + dst(0x2db6690) src(0x7f0f29400000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + PASSED! - - + + - ptr(0x7feab4800000) - - - - - - - - + ptr(0x7f0f29a00000) + + + + + + + + - ptr(0x7feab4200000) - - - - - - + ptr(0x7f0f29400000) + + + + + + # START (98) ############################# Device 0 name: Vega 10 XT [Radeon RX Vega 64] PASSED! # START (97) ############################# - - - - - - - - + + + + + + + + Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - + + - ptr(0x7ffe1b3413b8) size(0x400000) - - - - - - + ptr(0x7ffe3359ea58) size(0x400000) + + + + + + - *ptr(0x0x7feab4800000) - - + *ptr(0x0x7f0f29a00000) + + - ptr(0x7ffe1b3413b0) size(0x400000) - - - - - - + ptr(0x7ffe3359ea50) size(0x400000) + + + + + + - *ptr(0x0x7feab4200000) - - + *ptr(0x0x7f0f29400000) + + - dst(0x7feab4800000) src(0x63a3990) size(0x400000) kind(1) - - - - - - - - + dst(0x7f0f29a00000) src(0x7e67bc0) size(0x400000) kind(1) + + + + + + + + - - + + kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - + + + + - - + + - dst(0xc21170) src(0x7feab4200000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - + dst(0x29b6680) src(0x7f0f29400000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + PASSED! - - + + - ptr(0x7feab4800000) - - - - - - - - + ptr(0x7f0f29a00000) + + + + + + + + - ptr(0x7feab4200000) - - - - - - + ptr(0x7f0f29400000) + + + + + + # START (96) ############################# Device 0 name: Vega 10 XT [Radeon RX Vega 64] PASSED! # START (95) ############################# - - - - - - - - + + + + + + + + Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - + + - ptr(0x7ffe1b3413b8) size(0x400000) - - - - - - + ptr(0x7ffe3359ea58) size(0x400000) + + + + + + - *ptr(0x0x7feab4800000) - - + *ptr(0x0x7f0f29a00000) + + - ptr(0x7ffe1b3413b0) size(0x400000) - - - - - - + ptr(0x7ffe3359ea50) size(0x400000) + + + + + + - *ptr(0x0x7feab4200000) - - + *ptr(0x0x7f0f29400000) + + - dst(0x7feab4800000) src(0x63a3990) size(0x400000) kind(1) - - - - - - - - + dst(0x7f0f29a00000) src(0x7e67bc0) size(0x400000) kind(1) + + + + + + + + - - + + kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - + + + + - - + + - dst(0xc21170) src(0x7feab4200000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - + dst(0x29b6680) src(0x7f0f29400000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + PASSED! - - + + - ptr(0x7feab4800000) - - - - - - - - + ptr(0x7f0f29a00000) + + + + + + + + - ptr(0x7feab4200000) - - - - - - + ptr(0x7f0f29400000) + + + + + + # START (94) ############################# Device 0 name: Vega 10 XT [Radeon RX Vega 64] PASSED! # START (93) ############################# - - - - - - - - + + + + + + + + Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - + + - ptr(0x7ffe1b3413b8) size(0x400000) - - - - - - + ptr(0x7ffe3359ea58) size(0x400000) + + + + + + - *ptr(0x0x7feab4800000) - - + *ptr(0x0x7f0f29a00000) + + - ptr(0x7ffe1b3413b0) size(0x400000) - - - - - - + ptr(0x7ffe3359ea50) size(0x400000) + + + + + + - *ptr(0x0x7feab4200000) - - + *ptr(0x0x7f0f29400000) + + - dst(0x7feab4800000) src(0x63a3990) size(0x400000) kind(1) - - - - - - - - + dst(0x7f0f29a00000) src(0x7e67bc0) size(0x400000) kind(1) + + + + + + + + - - + + kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - + + + + - - + + - dst(0xc21170) src(0x7feab4200000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - + dst(0x29b6680) src(0x7f0f29400000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + Activity records: - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) + hipSetDevice correlation_id(1) time_ns(6485124188342389:6485124188349979) + process_id(6177) thread_id(6177) + hipGetDeviceProperties correlation_id(2) time_ns(6485124188361079:6485124188364199) + process_id(6177) thread_id(6177) + hipMalloc correlation_id(3) time_ns(6485124190850946:6485124191181268) + process_id(6177) thread_id(6177) + hipMalloc correlation_id(4) time_ns(6485124191186178:6485124191250078) + process_id(6177) thread_id(6177) + hcMemcpyHostToDevice correlation_id(5) time_ns(6485124191288478:6485124199283372) device_id(0) queue_id(0) - bytes(0x400000) + bytes(0x400000) (null) correlation_id(5) time_ns(0:0) external_id(32) - process_id(116396) thread_id(116396) + hipMemcpy correlation_id(5) time_ns(6485124191259308:6485124199287622) + process_id(6177) thread_id(6177) + (null) correlation_id(6) time_ns(0:0) external_id(33) - process_id(116396) thread_id(116396) + hipModuleLaunchKernel correlation_id(6) time_ns(6485124640180177:6485124645801785) + process_id(6177) thread_id(6177) + hcCommandKernel correlation_id(6) time_ns(6485124645807460:6485124647017150) device_id(0) queue_id(0) + hcMemcpyDeviceToHost correlation_id(7) time_ns(6485124647151334:6485124650143834) device_id(0) queue_id(0) - bytes(0x400000) + bytes(0x400000) (null) correlation_id(7) time_ns(0:0) external_id(32) - process_id(116396) thread_id(116396) + hipMemcpy correlation_id(7) time_ns(6485124645822755:6485124650148314) + process_id(6177) thread_id(6177) + (null) correlation_id(8) time_ns(0:0) external_id(31) - process_id(116396) thread_id(116396) + hipFree correlation_id(8) time_ns(6485124659581497:6485124659705167) + process_id(6177) thread_id(6177) + (null) correlation_id(9) time_ns(0:0) external_id(31) - process_id(116396) thread_id(116396) + hipFree correlation_id(9) time_ns(6485124659710827:6485124659733398) + process_id(6177) thread_id(6177) + hcCommandMarker correlation_id(7) time_ns(6485124647030336:6485124647073153) device_id(0) queue_id(0) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) + hipSetDevice correlation_id(10) time_ns(6485124677869969:6485124677886909) + process_id(6177) thread_id(6177) + hipGetDeviceProperties correlation_id(11) time_ns(6485124677891179:6485124677893879) + process_id(6177) thread_id(6177) + hipMalloc correlation_id(12) time_ns(6485124682415410:6485124682739912) + process_id(6177) thread_id(6177) + hipMalloc correlation_id(13) time_ns(6485124682750472:6485124682868843) + process_id(6177) thread_id(6177) + hcMemcpyHostToDevice correlation_id(14) time_ns(6485124682894193:6485124684919306) device_id(0) queue_id(0) - bytes(0x400000) + bytes(0x400000) (null) correlation_id(14) time_ns(0:0) external_id(32) - process_id(116396) thread_id(116396) + hipMemcpy correlation_id(14) time_ns(6485124682876833:6485124684931606) + process_id(6177) thread_id(6177) + (null) correlation_id(15) time_ns(0:0) external_id(33) - process_id(116396) thread_id(116396) + hipModuleLaunchKernel correlation_id(15) time_ns(6485124684950576:6485124684973317) + process_id(6177) thread_id(6177) + hcCommandKernel correlation_id(15) time_ns(6485124684980802:6485124686186195) device_id(0) queue_id(0) + hcMemcpyDeviceToHost correlation_id(16) time_ns(6485124686263055:6485124689285425) device_id(0) queue_id(0) - bytes(0x400000) + bytes(0x400000) (null) correlation_id(16) time_ns(0:0) external_id(32) - process_id(116396) thread_id(116396) + hipMemcpy correlation_id(16) time_ns(6485124684993147:6485124689287775) + process_id(6177) thread_id(6177) + (null) correlation_id(17) time_ns(0:0) external_id(31) - process_id(116396) thread_id(116396) + hipFree correlation_id(17) time_ns(6485124696618335:6485124696718255) + process_id(6177) thread_id(6177) + (null) correlation_id(18) time_ns(0:0) external_id(31) - process_id(116396) thread_id(116396) + hipFree correlation_id(18) time_ns(6485124696740175:6485124696763135) + process_id(6177) thread_id(6177) + hcCommandMarker correlation_id(16) time_ns(6485124686191973:6485124686223678) device_id(0) queue_id(0) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) + hipSetDevice correlation_id(19) time_ns(6485124715256269:6485124715273659) + process_id(6177) thread_id(6177) + hipGetDeviceProperties correlation_id(20) time_ns(6485124715277519:6485124715280169) + process_id(6177) thread_id(6177) + hipMalloc correlation_id(21) time_ns(6485124719811839:6485124720164651) + process_id(6177) thread_id(6177) + hipMalloc correlation_id(22) time_ns(6485124720175962:6485124720293742) + process_id(6177) thread_id(6177) + hcMemcpyHostToDevice correlation_id(23) time_ns(6485124720318532:6485124722347146) device_id(0) queue_id(0) - bytes(0x400000) + bytes(0x400000) (null) correlation_id(23) time_ns(0:0) external_id(32) - process_id(116396) thread_id(116396) + hipMemcpy correlation_id(23) time_ns(6485124720301602:6485124722360376) + process_id(6177) thread_id(6177) + (null) correlation_id(24) time_ns(0:0) external_id(33) - process_id(116396) thread_id(116396) + hipModuleLaunchKernel correlation_id(24) time_ns(6485124722379797:6485124722404127) + process_id(6177) thread_id(6177) + hcCommandKernel correlation_id(24) time_ns(6485124722411451:6485124723600251) device_id(0) queue_id(0) + hcMemcpyDeviceToHost correlation_id(25) time_ns(6485124723698716:6485124726758446) device_id(0) queue_id(0) - bytes(0x400000) + bytes(0x400000) (null) correlation_id(25) time_ns(0:0) external_id(32) - process_id(116396) thread_id(116396) + hipMemcpy correlation_id(25) time_ns(6485124722409707:6485124726761586) + process_id(6177) thread_id(6177) + (null) correlation_id(26) time_ns(0:0) external_id(31) - process_id(116396) thread_id(116396) + hipFree correlation_id(26) time_ns(6485124735449544:6485124735549674) + process_id(6177) thread_id(6177) + (null) correlation_id(27) time_ns(0:0) external_id(31) - process_id(116396) thread_id(116396) + hipFree correlation_id(27) time_ns(6485124735554444:6485124735577434) + process_id(6177) thread_id(6177) + hcCommandMarker correlation_id(25) time_ns(6485124723606029:6485124723637734) device_id(0) queue_id(0) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) + hipSetDevice correlation_id(28) time_ns(6485124753729076:6485124753745996) + process_id(6177) thread_id(6177) + hipGetDeviceProperties correlation_id(29) time_ns(6485124753749646:6485124753752446) + process_id(6177) thread_id(6177) + hipMalloc correlation_id(30) time_ns(6485124758289177:6485124758598259) + process_id(6177) thread_id(6177) + hipMalloc correlation_id(31) time_ns(6485124758609469:6485124758728329) + process_id(6177) thread_id(6177) + hcMemcpyHostToDevice correlation_id(32) time_ns(6485124758753490:6485124760777913) device_id(0) queue_id(0) - bytes(0x400000) + bytes(0x400000) (null) correlation_id(32) time_ns(0:0) external_id(32) - process_id(116396) thread_id(116396) + hipMemcpy correlation_id(32) time_ns(6485124758736339:6485124760782643) + process_id(6177) thread_id(6177) + (null) correlation_id(33) time_ns(0:0) external_id(33) - process_id(116396) thread_id(116396) + hipModuleLaunchKernel correlation_id(33) time_ns(6485124760801583:6485124760824623) + process_id(6177) thread_id(6177) + hcCommandKernel correlation_id(33) time_ns(6485124760832042:6485124762020841) device_id(0) queue_id(0) PASSED! - - + + - ptr(0x7feab4800000) - - - - - - - - + ptr(0x7f0f29a00000) + + + + + + + + - ptr(0x7feab4200000) - - - - - - + ptr(0x7f0f29400000) + + + + + + # START (92) ############################# Device 0 name: Vega 10 XT [Radeon RX Vega 64] PASSED! # START (91) ############################# - - - - - - - - + + + + + + + + Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - + + - ptr(0x7ffe1b3413b8) size(0x400000) - - - - - - + ptr(0x7ffe3359ea58) size(0x400000) + + + + + + - *ptr(0x0x7feab4800000) - - + *ptr(0x0x7f0f29a00000) + + - ptr(0x7ffe1b3413b0) size(0x400000) - - - - - - + ptr(0x7ffe3359ea50) size(0x400000) + + + + + + - *ptr(0x0x7feab4200000) - - + *ptr(0x0x7f0f29400000) + + - dst(0x7feab4800000) src(0x63a3990) size(0x400000) kind(1) - - - - - - - - + dst(0x7f0f29a00000) src(0x7e67bc0) size(0x400000) kind(1) + + + + + + + + - - + + kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - + + + + - - + + - dst(0xc21170) src(0x7feab4200000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - + dst(0x29b6680) src(0x7f0f29400000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + PASSED! - - + + - ptr(0x7feab4800000) - - - - - - - - + ptr(0x7f0f29a00000) + + + + + + + + - ptr(0x7feab4200000) - - - - - - + ptr(0x7f0f29400000) + + + + + + # START (90) ############################# Device 0 name: Vega 10 XT [Radeon RX Vega 64] PASSED! # START (89) ############################# - - - - - - - - + + + + + + + + Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - + + - ptr(0x7ffe1b3413b8) size(0x400000) - - - - - - + ptr(0x7ffe3359ea58) size(0x400000) + + + + + + - *ptr(0x0x7feab4800000) - - + *ptr(0x0x7f0f29a00000) + + - ptr(0x7ffe1b3413b0) size(0x400000) - - - - - - + ptr(0x7ffe3359ea50) size(0x400000) + + + + + + - *ptr(0x0x7feab4200000) - - + *ptr(0x0x7f0f29400000) + + - dst(0x7feab4800000) src(0x63a3990) size(0x400000) kind(1) - - - - - - - - + dst(0x7f0f29a00000) src(0x7e67bc0) size(0x400000) kind(1) + + + + + + + + - - + + kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - + + + + - - + + - dst(0xc21170) src(0x7feab4200000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - + dst(0x29b6680) src(0x7f0f29400000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + PASSED! - - + + - ptr(0x7feab4800000) - - - - - - - - + ptr(0x7f0f29a00000) + + + + + + + + - ptr(0x7feab4200000) - - - - - - + ptr(0x7f0f29400000) + + + + + + # START (88) ############################# Device 0 name: Vega 10 XT [Radeon RX Vega 64] PASSED! # START (87) ############################# - - - - - - - - + + + + + + + + Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - + + - ptr(0x7ffe1b3413b8) size(0x400000) - - - - - - + ptr(0x7ffe3359ea58) size(0x400000) + + + + + + - *ptr(0x0x7feab4800000) - - + *ptr(0x0x7f0f29a00000) + + - ptr(0x7ffe1b3413b0) size(0x400000) - - - - - - + ptr(0x7ffe3359ea50) size(0x400000) + + + + + + - *ptr(0x0x7feab4200000) - - + *ptr(0x0x7f0f29400000) + + - dst(0x7feab4800000) src(0x63a3990) size(0x400000) kind(1) - - - - - - - - + dst(0x7f0f29a00000) src(0x7e67bc0) size(0x400000) kind(1) + + + + + + + + - - + + kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - + + + + - - + + - dst(0xc21170) src(0x7feab4200000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - + dst(0x29b6680) src(0x7f0f29400000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + PASSED! - - + + - ptr(0x7feab4800000) - - - - - - - - + ptr(0x7f0f29a00000) + + + + + + + + - ptr(0x7feab4200000) - - - - - - + ptr(0x7f0f29400000) + + + + + + # START (86) ############################# Device 0 name: Vega 10 XT [Radeon RX Vega 64] PASSED! # START (85) ############################# - - - - - - - - + + + + + + + + Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - + + - ptr(0x7ffe1b3413b8) size(0x400000) - - - - - - + ptr(0x7ffe3359ea58) size(0x400000) + + + + + + - *ptr(0x0x7feab4800000) - - + *ptr(0x0x7f0f29a00000) + + - ptr(0x7ffe1b3413b0) size(0x400000) + ptr(0x7ffe3359ea50) size(0x400000) + Activity records: + hcMemcpyDeviceToHost correlation_id(34) time_ns(6485124762108522:6485124765077142) device_id(0) queue_id(0) - bytes(0x400000) - - - + bytes(0x400000) + + (null) correlation_id(34) time_ns(0:0) external_id(32) - process_id(116396) thread_id(116396) + hipMemcpy correlation_id(34) time_ns(6485124760843523:6485124765089362) + process_id(6177) thread_id(6177) + (null) correlation_id(35) time_ns(0:0) external_id(31) - process_id(116396) thread_id(116396) + hipFree correlation_id(35) time_ns(6485124772381351:6485124772486441) + process_id(6177) thread_id(6177) + (null) correlation_id(36) time_ns(0:0) external_id(31) - process_id(116396) thread_id(116396) + hipFree correlation_id(36) time_ns(6485124772492321:6485124772516012) + process_id(6177) thread_id(6177) + hcCommandMarker correlation_id(34) time_ns(6485124762026619:6485124762058177) device_id(0) queue_id(0) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) - - - process_id(116396) thread_id(116396) + hipSetDevice correlation_id(37) time_ns(6485124790641873:6485124790655893) + process_id(6177) thread_id(6177) + hipGetDeviceProperties correlation_id(38) time_ns(6485124790659513:6485124790662323) + process_id(6177) thread_id(6177) + hipMalloc correlation_id(39) time_ns(6485124795188663:6485124795493815) + process_id(6177) thread_id(6177) + hipMalloc correlation_id(40) time_ns(6485124795504665:6485124795623776) + process_id(6177) thread_id(6177) + hcMemcpyHostToDevice correlation_id(41) time_ns(6485124795649086:6485124797692450) device_id(0) queue_id(0) - bytes(0x400000) - + bytes(0x400000) + (null) correlation_id(41) time_ns(0:0) + + - *ptr(0x0x7feab4200000) - - + *ptr(0x0x7f0f29400000) + + - dst(0x7feab4800000) src(0x63a3990) size(0x400000) kind(1) - - + dst(0x7f0f29a00000) src(0x7e67bc0) size(0x400000) kind(1) external_id(32) - - process_id(116396) thread_id(116396) - + hipMemcpy correlation_id(41) time_ns(6485124795631956:6485124797706270) + process_id(6177) thread_id(6177) + + + + + (null) correlation_id(42) time_ns(0:0) external_id(33) - process_id(116396) thread_id(116396) + hipModuleLaunchKernel correlation_id(42) time_ns(6485124797726170:6485124797749800) + process_id(6177) thread_id(6177) + hcCommandKernel correlation_id(42) time_ns(6485124797757372:6485124798960839) device_id(0) queue_id(0) + hcMemcpyDeviceToHost correlation_id(43) time_ns(6485124799058459:6485124802115559) device_id(0) queue_id(0) - bytes(0x400000) + bytes(0x400000) (null) correlation_id(43) time_ns(0:0) external_id(32) - process_id(116396) thread_id(116396) + hipMemcpy correlation_id(43) time_ns(6485124797755110:6485124802118749) + process_id(6177) thread_id(6177) + (null) correlation_id(44) time_ns(0:0) external_id(31) - process_id(116396) thread_id(116396) + hipFree correlation_id(44) time_ns(6485124810291284:6485124810382124) + process_id(6177) thread_id(6177) + (null) correlation_id(45) time_ns(0:0) external_id(31) - process_id(116396) thread_id(116396) + hipFree correlation_id(45) time_ns(6485124810390914:6485124810407154) + process_id(6177) thread_id(6177) + hcCommandMarker correlation_id(43) time_ns(6485124798966617:6485124798998618) device_id(0) queue_id(0) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) + hipSetDevice correlation_id(46) time_ns(6485124829444052:6485124829458162) + process_id(6177) thread_id(6177) + hipGetDeviceProperties correlation_id(47) time_ns(6485124829461362:6485124829463392) + process_id(6177) thread_id(6177) + hipMalloc correlation_id(48) time_ns(6485124832825245:6485124833251727) + process_id(6177) thread_id(6177) + hipMalloc correlation_id(49) time_ns(6485124833261827:6485124833375128) + process_id(6177) thread_id(6177) + hcMemcpyHostToDevice correlation_id(50) time_ns(6485124833398678:6485124835420832) device_id(0) queue_id(0) - bytes(0x400000) + bytes(0x400000) (null) correlation_id(50) time_ns(0:0) external_id(32) - process_id(116396) thread_id(116396) + hipMemcpy correlation_id(50) time_ns(6485124833382588:6485124835425832) + process_id(6177) thread_id(6177) + (null) correlation_id(51) time_ns(0:0) external_id(33) - process_id(116396) thread_id(116396) + hipModuleLaunchKernel correlation_id(51) time_ns(6485124835445012:6485124835468392) + process_id(6177) thread_id(6177) + hcCommandKernel correlation_id(51) time_ns(6485124835475589:6485124836677130) device_id(0) queue_id(0) + hcMemcpyDeviceToHost correlation_id(52) time_ns(6485124836752701:6485124839759961) device_id(0) queue_id(0) - bytes(0x400000) + bytes(0x400000) (null) correlation_id(52) time_ns(0:0) external_id(32) - process_id(116396) thread_id(116396) + hipMemcpy correlation_id(52) time_ns(6485124835473852:6485124839763401) + process_id(6177) thread_id(6177) + (null) correlation_id(53) time_ns(0:0) external_id(31) - process_id(116396) thread_id(116396) + hipFree correlation_id(53) time_ns(6485124848528449:6485124848628190) + process_id(6177) thread_id(6177) + (null) correlation_id(54) time_ns(0:0) external_id(31) - process_id(116396) thread_id(116396) + hipFree correlation_id(54) time_ns(6485124848634830:6485124848659320) + process_id(6177) thread_id(6177) + hcCommandMarker correlation_id(52) time_ns(6485124836682908:6485124836715058) device_id(0) queue_id(0) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) + hipSetDevice correlation_id(55) time_ns(6485124866755991:6485124866772241) + process_id(6177) thread_id(6177) + hipGetDeviceProperties correlation_id(56) time_ns(6485124866776191:6485124866778951) + process_id(6177) thread_id(6177) + hipMalloc correlation_id(57) time_ns(6485124870622527:6485124870972449) + process_id(6177) thread_id(6177) + hipMalloc correlation_id(58) time_ns(6485124870982259:6485124871093530) + process_id(6177) thread_id(6177) + hcMemcpyHostToDevice correlation_id(59) time_ns(6485124871117640:6485124873138493) device_id(0) queue_id(0) - bytes(0x400000) + bytes(0x400000) (null) correlation_id(59) time_ns(0:0) external_id(32) - process_id(116396) thread_id(116396) + hipMemcpy correlation_id(59) time_ns(6485124871101170:6485124873143533) + process_id(6177) thread_id(6177) + (null) correlation_id(60) time_ns(0:0) external_id(33) - process_id(116396) thread_id(116396) + hipModuleLaunchKernel correlation_id(60) time_ns(6485124873163454:6485124873186134) + process_id(6177) thread_id(6177) + hcCommandKernel correlation_id(60) time_ns(6485124873193873:6485124874392006) device_id(0) queue_id(0) + hcMemcpyDeviceToHost correlation_id(61) time_ns(6485124874477282:6485124877448242) device_id(0) queue_id(0) - bytes(0x400000) + bytes(0x400000) (null) correlation_id(61) time_ns(0:0) external_id(32) - process_id(116396) thread_id(116396) + hipMemcpy correlation_id(61) time_ns(6485124873200854:6485124877450632) + process_id(6177) thread_id(6177) + (null) correlation_id(62) time_ns(0:0) external_id(31) - process_id(116396) thread_id(116396) + hipFree correlation_id(62) time_ns(6485124884888052:6485124884985903) + process_id(6177) thread_id(6177) + (null) correlation_id(63) time_ns(0:0) external_id(31) - process_id(116396) thread_id(116396) + hipFree correlation_id(63) time_ns(6485124884990933:6485124885015443) + process_id(6177) thread_id(6177) + hcCommandMarker correlation_id(61) time_ns(6485124874397636:6485124874429342) device_id(0) queue_id(0) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) - - - - + hipSetDevice correlation_id(64) time_ns(6485124903423796:6485124903439396) + process_id(6177) thread_id(6177) + hipGetDeviceProperties correlation_id(65) time_ns(6485124903443276:6485124903445946) + process_id(6177) thread_id(6177) + + + + - - + + kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - + + + + - - + + - dst(0xc21170) src(0x7feab4200000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - + dst(0x29b6680) src(0x7f0f29400000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + PASSED! - - + + - ptr(0x7feab4800000) - - - - - - - - + ptr(0x7f0f29a00000) + + + + + + + + - ptr(0x7feab4200000) - - - - - - + ptr(0x7f0f29400000) + + + + + + # START (84) ############################# Device 0 name: Vega 10 XT [Radeon RX Vega 64] PASSED! # START (83) ############################# - - - - - - - - + + + + + + + + Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - + + - ptr(0x7ffe1b3413b8) size(0x400000) - - - - - - + ptr(0x7ffe3359ea58) size(0x400000) + + + + + + - *ptr(0x0x7feab4800000) - - + *ptr(0x0x7f0f29a00000) + + - ptr(0x7ffe1b3413b0) size(0x400000) - - - - - - + ptr(0x7ffe3359ea50) size(0x400000) + + + + + + - *ptr(0x0x7feab4200000) - - + *ptr(0x0x7f0f29400000) + + - dst(0x7feab4800000) src(0x63a3990) size(0x400000) kind(1) - - - - - - - - + dst(0x7f0f29a00000) src(0x7e67bc0) size(0x400000) kind(1) + + + + + + + + - - + + kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - + + + + - - + + - dst(0xc21170) src(0x7feab4200000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - + dst(0x29b6680) src(0x7f0f29400000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + PASSED! - - + + - ptr(0x7feab4800000) - - - - - - - - + ptr(0x7f0f29a00000) + + + + + + + + - ptr(0x7feab4200000) - - - - - - + ptr(0x7f0f29400000) + + + + + + # START (82) ############################# Device 0 name: Vega 10 XT [Radeon RX Vega 64] PASSED! # START (81) ############################# - - - - - - - - + + + + + + + + Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - + + - ptr(0x7ffe1b3413b8) size(0x400000) - - - - - - + ptr(0x7ffe3359ea58) size(0x400000) + + + + + + - *ptr(0x0x7feab4800000) - - + *ptr(0x0x7f0f29a00000) + + - ptr(0x7ffe1b3413b0) size(0x400000) - - - - - - + ptr(0x7ffe3359ea50) size(0x400000) + + + + + + - *ptr(0x0x7feab4200000) - - + *ptr(0x0x7f0f29400000) + + - dst(0x7feab4800000) src(0x63a3990) size(0x400000) kind(1) - - - - - - - - + dst(0x7f0f29a00000) src(0x7e67bc0) size(0x400000) kind(1) + + + + + + + + - - + + kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - + + + + - - + + - dst(0xc21170) src(0x7feab4200000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - + dst(0x29b6680) src(0x7f0f29400000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + PASSED! - - + + - ptr(0x7feab4800000) - - - - - - - - + ptr(0x7f0f29a00000) + + + + + + + + - ptr(0x7feab4200000) - - - - - - + ptr(0x7f0f29400000) + + + + + + # START (80) ############################# Device 0 name: Vega 10 XT [Radeon RX Vega 64] PASSED! # START (79) ############################# - - - - - - - - + + + + + + + + Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - + + - ptr(0x7ffe1b3413b8) size(0x400000) - - - - - - + ptr(0x7ffe3359ea58) size(0x400000) + + + + + + - *ptr(0x0x7feab4800000) - - + *ptr(0x0x7f0f29a00000) + + - ptr(0x7ffe1b3413b0) size(0x400000) - - - - - - + ptr(0x7ffe3359ea50) size(0x400000) + + + + + + - *ptr(0x0x7feab4200000) - - + *ptr(0x0x7f0f29400000) + + - dst(0x7feab4800000) src(0x63a3990) size(0x400000) kind(1) - - - - - - - - + dst(0x7f0f29a00000) src(0x7e67bc0) size(0x400000) kind(1) + + + + + + + + - - + + kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - + + + + - - + + - dst(0xc21170) src(0x7feab4200000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - + dst(0x29b6680) src(0x7f0f29400000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + Activity records: - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) + hipMalloc correlation_id(66) time_ns(6485124907739325:6485124908070797) + process_id(6177) thread_id(6177) + hipMalloc correlation_id(67) time_ns(6485124908087987:6485124908215248) + process_id(6177) thread_id(6177) + hcMemcpyHostToDevice correlation_id(68) time_ns(6485124908250409:6485124910289862) device_id(0) queue_id(0) - bytes(0x400000) + bytes(0x400000) (null) correlation_id(68) time_ns(0:0) external_id(32) - process_id(116396) thread_id(116396) + hipMemcpy correlation_id(68) time_ns(6485124908230598:6485124910295932) + process_id(6177) thread_id(6177) + (null) correlation_id(69) time_ns(0:0) external_id(33) - process_id(116396) thread_id(116396) + hipModuleLaunchKernel correlation_id(69) time_ns(6485124910317522:6485124910341342) + process_id(6177) thread_id(6177) + hcCommandKernel correlation_id(69) time_ns(6485124910349167:6485124911550115) device_id(0) queue_id(0) + hcMemcpyDeviceToHost correlation_id(70) time_ns(6485124911643101:6485124914662701) device_id(0) queue_id(0) - bytes(0x400000) + bytes(0x400000) (null) correlation_id(70) time_ns(0:0) external_id(32) - process_id(116396) thread_id(116396) + hipMemcpy correlation_id(70) time_ns(6485124910346692:6485124914666241) + process_id(6177) thread_id(6177) + (null) correlation_id(71) time_ns(0:0) external_id(31) - process_id(116396) thread_id(116396) + hipFree correlation_id(71) time_ns(6485124921447276:6485124921542137) + process_id(6177) thread_id(6177) + (null) correlation_id(72) time_ns(0:0) external_id(31) - process_id(116396) thread_id(116396) + hipFree correlation_id(72) time_ns(6485124921552307:6485124921569967) + process_id(6177) thread_id(6177) + hcCommandMarker correlation_id(70) time_ns(6485124911556042:6485124911588191) device_id(0) queue_id(0) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) + hipSetDevice correlation_id(73) time_ns(6485124938221628:6485124938238109) + process_id(6177) thread_id(6177) + hipGetDeviceProperties correlation_id(74) time_ns(6485124938241949:6485124938244519) + process_id(6177) thread_id(6177) + hipMalloc correlation_id(75) time_ns(6485124942825359:6485124943238372) + process_id(6177) thread_id(6177) + hipMalloc correlation_id(76) time_ns(6485124943249442:6485124943369353) + process_id(6177) thread_id(6177) + hcMemcpyHostToDevice correlation_id(77) time_ns(6485124943394993:6485124945427107) device_id(0) queue_id(0) - bytes(0x400000) + bytes(0x400000) (null) correlation_id(77) time_ns(0:0) external_id(32) - process_id(116396) thread_id(116396) + hipMemcpy correlation_id(77) time_ns(6485124943377543:6485124945432437) + process_id(6177) thread_id(6177) + (null) correlation_id(78) time_ns(0:0) external_id(33) - process_id(116396) thread_id(116396) + hipModuleLaunchKernel correlation_id(78) time_ns(6485124945451667:6485124945474287) + process_id(6177) thread_id(6177) + hcCommandKernel correlation_id(78) time_ns(6485124945481784:6485124946677696) device_id(0) queue_id(0) + hcMemcpyDeviceToHost correlation_id(79) time_ns(6485124946766615:6485124949731605) device_id(0) queue_id(0) - bytes(0x400000) + bytes(0x400000) (null) correlation_id(79) time_ns(0:0) external_id(32) - process_id(116396) thread_id(116396) + hipMemcpy correlation_id(79) time_ns(6485124945490127:6485124949734065) + process_id(6177) thread_id(6177) + (null) correlation_id(80) time_ns(0:0) external_id(31) - process_id(116396) thread_id(116396) + hipFree correlation_id(80) time_ns(6485124955842556:6485124955935977) + process_id(6177) thread_id(6177) + (null) correlation_id(81) time_ns(0:0) external_id(31) - process_id(116396) thread_id(116396) + hipFree correlation_id(81) time_ns(6485124955943247:6485124955960887) + process_id(6177) thread_id(6177) + hcCommandMarker correlation_id(79) time_ns(6485124946683622:6485124946715623) device_id(0) queue_id(0) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) + hipSetDevice correlation_id(82) time_ns(6485124973677535:6485124973694366) + process_id(6177) thread_id(6177) + hipGetDeviceProperties correlation_id(83) time_ns(6485124973698336:6485124973701046) + process_id(6177) thread_id(6177) + hipMalloc correlation_id(84) time_ns(6485124978289996:6485124978585128) + process_id(6177) thread_id(6177) + hipMalloc correlation_id(85) time_ns(6485124978595728:6485124978714839) + process_id(6177) thread_id(6177) + hcMemcpyHostToDevice correlation_id(86) time_ns(6485124978740359:6485124980771332) device_id(0) queue_id(0) - bytes(0x400000) + bytes(0x400000) (null) correlation_id(86) time_ns(0:0) external_id(32) - process_id(116396) thread_id(116396) + hipMemcpy correlation_id(86) time_ns(6485124978722979:6485124980776343) + process_id(6177) thread_id(6177) + (null) correlation_id(87) time_ns(0:0) external_id(33) - process_id(116396) thread_id(116396) + hipModuleLaunchKernel correlation_id(87) time_ns(6485124980795533:6485124980817973) + process_id(6177) thread_id(6177) + hcCommandKernel correlation_id(87) time_ns(6485124980825375:6485124982013730) device_id(0) queue_id(0) + hcMemcpyDeviceToHost correlation_id(88) time_ns(6485124982098331:6485124985101221) device_id(0) queue_id(0) - bytes(0x400000) + bytes(0x400000) (null) correlation_id(88) time_ns(0:0) external_id(32) - process_id(116396) thread_id(116396) + hipMemcpy correlation_id(88) time_ns(6485124980832783:6485124985104281) + process_id(6177) thread_id(6177) + (null) correlation_id(89) time_ns(0:0) external_id(31) - process_id(116396) thread_id(116396) + hipFree correlation_id(89) time_ns(6485124992410340:6485124992510151) + process_id(6177) thread_id(6177) + (null) correlation_id(90) time_ns(0:0) external_id(31) - process_id(116396) thread_id(116396) + hipFree correlation_id(90) time_ns(6485124992516671:6485124992541111) + process_id(6177) thread_id(6177) + hcCommandMarker correlation_id(88) time_ns(6485124982019508:6485124982051213) device_id(0) queue_id(0) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) + hipSetDevice correlation_id(91) time_ns(6485125010590112:6485125010607272) + process_id(6177) thread_id(6177) + hipGetDeviceProperties correlation_id(92) time_ns(6485125010611312:6485125010613982) + process_id(6177) thread_id(6177) + hipMalloc correlation_id(93) time_ns(6485125015170873:6485125015470645) + process_id(6177) thread_id(6177) + hipMalloc correlation_id(94) time_ns(6485125015481525:6485125015599466) + process_id(6177) thread_id(6177) + hcMemcpyHostToDevice correlation_id(95) time_ns(6485125015625666:6485125017667229) device_id(0) queue_id(0) - bytes(0x400000) + bytes(0x400000) (null) correlation_id(95) time_ns(0:0) external_id(32) - process_id(116396) thread_id(116396) + hipMemcpy correlation_id(95) time_ns(6485125015607386:6485125017680670) + process_id(6177) thread_id(6177) + (null) correlation_id(96) time_ns(0:0) external_id(33) - process_id(116396) thread_id(116396) + hipModuleLaunchKernel correlation_id(96) time_ns(6485125017700280:6485125017723030) + process_id(6177) thread_id(6177) + hcCommandKernel correlation_id(96) time_ns(6485125017730809:6485125018909830) device_id(0) queue_id(0) + hcMemcpyDeviceToHost correlation_id(97) time_ns(6485125018999358:6485125022007218) device_id(0) queue_id(0) - bytes(0x400000) + bytes(0x400000) (null) correlation_id(97) time_ns(0:0) external_id(32) PASSED! - - + + - ptr(0x7feab4800000) - - - - - - - - + ptr(0x7f0f29a00000) + + + + + + + + - ptr(0x7feab4200000) - - - - - - + ptr(0x7f0f29400000) + + + + + + # START (78) ############################# Device 0 name: Vega 10 XT [Radeon RX Vega 64] PASSED! # START (77) ############################# - - - - - - - - + + + + + + + + Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - + + - ptr(0x7ffe1b3413b8) size(0x400000) - - - - - - + ptr(0x7ffe3359ea58) size(0x400000) + + + + + + - *ptr(0x0x7feab4800000) - - + *ptr(0x0x7f0f29a00000) + + - ptr(0x7ffe1b3413b0) size(0x400000) - - - - - - + ptr(0x7ffe3359ea50) size(0x400000) + + + + + + - *ptr(0x0x7feab4200000) - - + *ptr(0x0x7f0f29400000) + + - dst(0x7feab4800000) src(0x63a3990) size(0x400000) kind(1) - - - - - - - - + dst(0x7f0f29a00000) src(0x7e67bc0) size(0x400000) kind(1) + + + + + + + + - - + + kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - + + + + - - + + - dst(0xc21170) src(0x7feab4200000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - + dst(0x29b6680) src(0x7f0f29400000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + PASSED! - - + + - ptr(0x7feab4800000) - - - - - - - - + ptr(0x7f0f29a00000) + + + + + + + + - ptr(0x7feab4200000) - - - - - - + ptr(0x7f0f29400000) + + + + + + # START (76) ############################# Device 0 name: Vega 10 XT [Radeon RX Vega 64] PASSED! # START (75) ############################# - - - - - - - - + + + + + + + + Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - + + - ptr(0x7ffe1b3413b8) size(0x400000) - - - - - - + ptr(0x7ffe3359ea58) size(0x400000) + + + + + + - *ptr(0x0x7feab4800000) - - + *ptr(0x0x7f0f29a00000) + + - ptr(0x7ffe1b3413b0) size(0x400000) - - - - - - + ptr(0x7ffe3359ea50) size(0x400000) + + + + + + - *ptr(0x0x7feab4200000) - - + *ptr(0x0x7f0f29400000) + + - dst(0x7feab4800000) src(0x63a3990) size(0x400000) kind(1) - - - - - - - - + dst(0x7f0f29a00000) src(0x7e67bc0) size(0x400000) kind(1) + + + + + + + + - - + + kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - + + + + - - + + - dst(0xc21170) src(0x7feab4200000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - + dst(0x29b6680) src(0x7f0f29400000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + PASSED! - - + + - ptr(0x7feab4800000) - - - - - - - - + ptr(0x7f0f29a00000) + + + + + + + + - ptr(0x7feab4200000) - - - - - - + ptr(0x7f0f29400000) + + + + + + # START (74) ############################# Device 0 name: Vega 10 XT [Radeon RX Vega 64] PASSED! # START (73) ############################# - - - - - - - - + + + + + + + + Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - + + - ptr(0x7ffe1b3413b8) size(0x400000) - - - - - - + ptr(0x7ffe3359ea58) size(0x400000) + + + + + + - *ptr(0x0x7feab4800000) - - + *ptr(0x0x7f0f29a00000) + + - ptr(0x7ffe1b3413b0) size(0x400000) - - - - - - + ptr(0x7ffe3359ea50) size(0x400000) + + + + + + - *ptr(0x0x7feab4200000) - - + *ptr(0x0x7f0f29400000) + + - dst(0x7feab4800000) src(0x63a3990) size(0x400000) kind(1) - - - - - - - - + dst(0x7f0f29a00000) src(0x7e67bc0) size(0x400000) kind(1) + + + + + + + + - - + + kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - + + + + - - + + - dst(0xc21170) src(0x7feab4200000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - + dst(0x29b6680) src(0x7f0f29400000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + PASSED! - - + + - ptr(0x7feab4800000) - - - - - - - - + ptr(0x7f0f29a00000) + + + + + + + + - ptr(0x7feab4200000) - - - - - - + ptr(0x7f0f29400000) + + + + + + # START (72) ############################# Device 0 name: Vega 10 XT [Radeon RX Vega 64] PASSED! # START (71) ############################# - - - - - - - - + + + + + + + + Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - + + - ptr(0x7ffe1b3413b8) size(0x400000) - - - - - - + ptr(0x7ffe3359ea58) size(0x400000) + + + + + + - *ptr(0x0x7feab4800000) - - + *ptr(0x0x7f0f29a00000) + + - ptr(0x7ffe1b3413b0) size(0x400000) - - - - - - + ptr(0x7ffe3359ea50) size(0x400000) + + + + + + - *ptr(0x0x7feab4200000) - - + *ptr(0x0x7f0f29400000) + + - dst(0x7feab4800000) src(0x63a3990) size(0x400000) kind(1) - - - - - - - - + dst(0x7f0f29a00000) src(0x7e67bc0) size(0x400000) kind(1) + + + + + + + + - - + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + Activity records: - - process_id(116396) thread_id(116396) - - - + hipMemcpy correlation_id(97) time_ns(6485125017738400:6485125022009588) + process_id(6177) thread_id(6177) + + - - + + - dst(0xc21170) src(0x7feab4200000) size(0x400000) kind(2) - - + dst(0x29b6680) src(0x7f0f29400000) size(0x400000) kind(2) + + + (null) correlation_id(98) time_ns(0:0) external_id(31) - process_id(116396) thread_id(116396) + hipFree correlation_id(98) time_ns(6485125028209109:6485125028305320) + process_id(6177) thread_id(6177) + (null) correlation_id(99) time_ns(0:0) external_id(31) - process_id(116396) thread_id(116396) + hipFree correlation_id(99) time_ns(6485125028311570:6485125028328850) + process_id(6177) thread_id(6177) + hcCommandMarker correlation_id(97) time_ns(6485125018915757:6485125018947462) device_id(0) queue_id(0) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) + hipSetDevice correlation_id(100) time_ns(6485125046374961:6485125046391121) + process_id(6177) thread_id(6177) + hipGetDeviceProperties correlation_id(101) time_ns(6485125046395231:6485125046398241) + process_id(6177) thread_id(6177) + hipMalloc correlation_id(102) time_ns(6485125050978222:6485125051282294) + process_id(6177) thread_id(6177) + hipMalloc correlation_id(103) time_ns(6485125051293184:6485125051410895) + process_id(6177) thread_id(6177) + hcMemcpyHostToDevice correlation_id(104) time_ns(6485125051436275:6485125053476828) device_id(0) queue_id(0) - bytes(0x400000) + bytes(0x400000) (null) correlation_id(104) time_ns(0:0) external_id(32) - process_id(116396) thread_id(116396) + hipMemcpy correlation_id(104) time_ns(6485125051418915:6485125053489569) + process_id(6177) thread_id(6177) + (null) correlation_id(105) time_ns(0:0) external_id(33) - process_id(116396) thread_id(116396) + hipModuleLaunchKernel correlation_id(105) time_ns(6485125053509189:6485125053532709) + process_id(6177) thread_id(6177) + hcCommandKernel correlation_id(105) time_ns(6485125053539668:6485125054732912) device_id(0) queue_id(0) + hcMemcpyDeviceToHost correlation_id(106) time_ns(6485125054822677:6485125057759917) device_id(0) queue_id(0) - bytes(0x400000) + bytes(0x400000) (null) correlation_id(106) time_ns(0:0) external_id(32) - process_id(116396) thread_id(116396) + hipMemcpy correlation_id(106) time_ns(6485125053545599:6485125057762497) + process_id(6177) thread_id(6177) + (null) correlation_id(107) time_ns(0:0) external_id(31) - process_id(116396) thread_id(116396) + hipFree correlation_id(107) time_ns(6485125065308738:6485125065409608) + process_id(6177) thread_id(6177) + (null) correlation_id(108) time_ns(0:0) external_id(31) - process_id(116396) thread_id(116396) + hipFree correlation_id(108) time_ns(6485125065415058:6485125065438439) + process_id(6177) thread_id(6177) + hcCommandMarker correlation_id(106) time_ns(6485125054738838:6485125054770692) device_id(0) queue_id(0) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) + hipSetDevice correlation_id(109) time_ns(6485125083426279:6485125083440799) + process_id(6177) thread_id(6177) + hipGetDeviceProperties correlation_id(110) time_ns(6485125083444919:6485125083447609) + process_id(6177) thread_id(6177) + hipMalloc correlation_id(111) time_ns(6485125087762127:6485125088084679) + process_id(6177) thread_id(6177) + hipMalloc correlation_id(112) time_ns(6485125088095670:6485125088213620) + process_id(6177) thread_id(6177) + hcMemcpyHostToDevice correlation_id(113) time_ns(6485125088239350:6485125090276704) device_id(0) queue_id(0) - bytes(0x400000) + bytes(0x400000) (null) correlation_id(113) time_ns(0:0) external_id(32) - process_id(116396) thread_id(116396) - - - - - - + hipMemcpy correlation_id(113) time_ns(6485125088221700:6485125090282114) + process_id(6177) thread_id(6177) + (null) correlation_id(114) time_ns(0:0) external_id(33) - process_id(116396) thread_id(116396) + hipModuleLaunchKernel correlation_id(114) time_ns(6485125090301814:6485125090325184) + process_id(6177) thread_id(6177) + hcCommandKernel correlation_id(114) time_ns(6485125090332824:6485125091522809) device_id(0) queue_id(0) + hcMemcpyDeviceToHost correlation_id(115) time_ns(6485125091622083:6485125094668764) device_id(0) queue_id(0) - bytes(0x400000) + bytes(0x400000) (null) correlation_id(115) time_ns(0:0) external_id(32) - process_id(116396) thread_id(116396) + hipMemcpy correlation_id(115) time_ns(6485125090338774:6485125094672314) + process_id(6177) thread_id(6177) + (null) correlation_id(116) time_ns(0:0) external_id(31) - process_id(116396) thread_id(116396) + hipFree correlation_id(116) time_ns(6485125102644837:6485125102737917) + process_id(6177) thread_id(6177) + (null) correlation_id(117) time_ns(0:0) external_id(31) - process_id(116396) thread_id(116396) + hipFree correlation_id(117) time_ns(6485125102759608:6485125102777838) + process_id(6177) thread_id(6177) + hcCommandMarker correlation_id(115) time_ns(6485125091528587:6485125091560588) + + + + + + device_id(0) queue_id(0) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) + hipSetDevice correlation_id(118) time_ns(6485125119027096:6485125119043226) + process_id(6177) thread_id(6177) + hipGetDeviceProperties correlation_id(119) time_ns(6485125119046196:6485125119048246) + process_id(6177) thread_id(6177) + hipMalloc correlation_id(120) time_ns(6485125122350629:6485125122667941) + process_id(6177) thread_id(6177) + hipMalloc correlation_id(121) time_ns(6485125122677931:6485125122791482) + process_id(6177) thread_id(6177) + hcMemcpyHostToDevice correlation_id(122) time_ns(6485125122815562:6485125124823835) device_id(0) queue_id(0) - bytes(0x400000) + bytes(0x400000) (null) correlation_id(122) time_ns(0:0) external_id(32) - process_id(116396) thread_id(116396) + hipMemcpy correlation_id(122) time_ns(6485125122799142:6485125124842356) + process_id(6177) thread_id(6177) + (null) correlation_id(123) time_ns(0:0) external_id(33) - process_id(116396) thread_id(116396) + hipModuleLaunchKernel correlation_id(123) time_ns(6485125124861376:6485125124885406) + process_id(6177) thread_id(6177) + hcCommandKernel correlation_id(123) time_ns(6485125124893328:6485125126095610) device_id(0) queue_id(0) + hcMemcpyDeviceToHost correlation_id(124) time_ns(6485125126180774:6485125129151474) device_id(0) queue_id(0) - bytes(0x400000) + bytes(0x400000) (null) correlation_id(124) time_ns(0:0) external_id(32) - process_id(116396) thread_id(116396) + hipMemcpy correlation_id(124) time_ns(6485125124890936:6485125129154044) + process_id(6177) thread_id(6177) + (null) correlation_id(125) time_ns(0:0) external_id(31) - process_id(116396) thread_id(116396) + hipFree correlation_id(125) time_ns(6485125136595454:6485125136698294) + process_id(6177) thread_id(6177) + (null) correlation_id(126) time_ns(0:0) external_id(31) - process_id(116396) thread_id(116396) + hipFree correlation_id(126) time_ns(6485125136703614:6485125136726514) + process_id(6177) thread_id(6177) + hcCommandMarker correlation_id(124) time_ns(6485125126101685:6485125126133983) device_id(0) queue_id(0) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) - - - - - - - - - - - - + hipSetDevice correlation_id(127) time_ns(6485125155017987:6485125155034037) + process_id(6177) thread_id(6177) + hipGetDeviceProperties correlation_id(128) time_ns(6485125155038007:6485125155040637) + process_id(6177) thread_id(6177) + hipMalloc correlation_id(129) time_ns(6485125159613978:6485125159951050) + process_id(6177) thread_id(6177) + hipMalloc correlation_id(130) time_ns(6485125159961770:6485125160095411) + process_id(6177) thread_id(6177) + + + + + + + + + + + + PASSED! - - + + - ptr(0x7feab4800000) - - - - - - - - + ptr(0x7f0f29a00000) + + + + + + + + - ptr(0x7feab4200000) - - - - - - + ptr(0x7f0f29400000) + + + + + + # START (70) ############################# Device 0 name: Vega 10 XT [Radeon RX Vega 64] PASSED! # START (69) ############################# - - - - - - - - + + + + + + + + Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - + + - ptr(0x7ffe1b3413b8) size(0x400000) - - - - - - + ptr(0x7ffe3359ea58) size(0x400000) + + + + + + - *ptr(0x0x7feab4800000) - - + *ptr(0x0x7f0f29a00000) + + - ptr(0x7ffe1b3413b0) size(0x400000) - - - - - - + ptr(0x7ffe3359ea50) size(0x400000) + + + + + + - *ptr(0x0x7feab4200000) - - + *ptr(0x0x7f0f29400000) + + - dst(0x7feab4800000) src(0x63a3990) size(0x400000) kind(1) - - - - - - - - + dst(0x7f0f29a00000) src(0x7e67bc0) size(0x400000) kind(1) + + + + + + + + - - + + kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - + + + + - - + + - dst(0xc21170) src(0x7feab4200000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - + dst(0x29b6680) src(0x7f0f29400000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + PASSED! - - + + - ptr(0x7feab4800000) - - - - - - - - + ptr(0x7f0f29a00000) + + + + + + + + - ptr(0x7feab4200000) - - - - - - + ptr(0x7f0f29400000) + + + + + + # START (68) ############################# Device 0 name: Vega 10 XT [Radeon RX Vega 64] PASSED! # START (67) ############################# - - - - - - - - + + + + + + + + Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - + + - ptr(0x7ffe1b3413b8) size(0x400000) - - - - - - + ptr(0x7ffe3359ea58) size(0x400000) + + + + + + - *ptr(0x0x7feab4800000) - - + *ptr(0x0x7f0f29a00000) + + - ptr(0x7ffe1b3413b0) size(0x400000) - - - - - - + ptr(0x7ffe3359ea50) size(0x400000) + + + + + + - *ptr(0x0x7feab4200000) - - + *ptr(0x0x7f0f29400000) + + - dst(0x7feab4800000) src(0x63a3990) size(0x400000) kind(1) - - - - - - - - + dst(0x7f0f29a00000) src(0x7e67bc0) size(0x400000) kind(1) + + + + + + + + - - + + kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - + + + + - - + + - dst(0xc21170) src(0x7feab4200000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - + dst(0x29b6680) src(0x7f0f29400000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + PASSED! - - + + - ptr(0x7feab4800000) - - - - - - - - + ptr(0x7f0f29a00000) + + + + + + + + - ptr(0x7feab4200000) - - - - - - + ptr(0x7f0f29400000) + + + + + + # START (66) ############################# Device 0 name: Vega 10 XT [Radeon RX Vega 64] PASSED! # START (65) ############################# - - - - - - - - + + + + + + + + Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - + + - ptr(0x7ffe1b3413b8) size(0x400000) - - - - - - + ptr(0x7ffe3359ea58) size(0x400000) + + + + + + - *ptr(0x0x7feab4800000) - - + *ptr(0x0x7f0f29a00000) + + - ptr(0x7ffe1b3413b0) size(0x400000) - - - - - - + ptr(0x7ffe3359ea50) size(0x400000) + + + + + + - *ptr(0x0x7feab4200000) - - + *ptr(0x0x7f0f29400000) + + - dst(0x7feab4800000) src(0x63a3990) size(0x400000) kind(1) - - - - - - - - + dst(0x7f0f29a00000) src(0x7e67bc0) size(0x400000) kind(1) + + + + + + + + - - + + kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - + + + + - - + + - dst(0xc21170) src(0x7feab4200000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - + dst(0x29b6680) src(0x7f0f29400000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + PASSED! - - + + - ptr(0x7feab4800000) - - - - - - - - Activity records: - + ptr(0x7f0f29a00000) + + + + + + + + - ptr(0x7feab4200000) - + ptr(0x7f0f29400000) + + + + + + + Activity records: + hcMemcpyHostToDevice correlation_id(131) time_ns(6485125160121931:6485125162152314) device_id(0) queue_id(0) - bytes(0x400000) - - - - - -# START (64) ############################# + bytes(0x400000)# START (64) ############################# + (null) correlation_id(131) time_ns(0:0) + external_id(32) + hipMemcpy correlation_id(131) time_ns(6485125160104451:6485125162171965) + process_id(6177) thread_id(6177) Device 0 name: Vega 10 XT [Radeon RX Vega 64] - external_id(32) - process_id(116396) thread_id(116396) + (null) correlation_id(132) time_ns(0:0) external_id(33) - process_id(116396) thread_id(116396) + hipModuleLaunchKernel correlation_id(132) time_ns(6485125162191685:6485125162215525) + process_id(6177) thread_id(6177) + hcCommandKernel correlation_id(132) time_ns(6485125162222454:6485125163414365) device_id(0) queue_id(0) + hcMemcpyDeviceToHost correlation_id(133) time_ns(6485125163514243:6485125166500743) device_id(0) queue_id(0) - bytes(0x400000) + bytes(0x400000) (null) correlation_id(133) time_ns(0:0) external_id(32) - process_id(116396) thread_id(116396) + hipMemcpy correlation_id(133) time_ns(6485125162221245:6485125166504743) + process_id(6177) thread_id(6177) + (null) correlation_id(134) time_ns(0:0) external_id(31) - process_id(116396) thread_id(116396) + hipFree correlation_id(134) time_ns(6485125173335879:6485125173428280) + process_id(6177) thread_id(6177) + (null) correlation_id(135) time_ns(0:0) external_id(31) - process_id(116396) thread_id(116396) + hipFree correlation_id(135) time_ns(6485125173432150:6485125173450010) + process_id(6177) thread_id(6177) + hcCommandMarker correlation_id(133) time_ns(6485125163420291:6485125163451700) device_id(0) queue_id(0) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) + hipSetDevice correlation_id(136) time_ns(6485125190147252:6485125190163572) + process_id(6177) thread_id(6177) + hipGetDeviceProperties correlation_id(137) time_ns(6485125190167512:6485125190170072) + process_id(6177) thread_id(6177) + hipMalloc correlation_id(138) time_ns(6485125193830126:6485125194234739) + process_id(6177) thread_id(6177) + hipMalloc correlation_id(139) time_ns(6485125194245409:6485125194363390) + process_id(6177) thread_id(6177) + hcMemcpyHostToDevice correlation_id(140) time_ns(6485125194389240:6485125196422983) device_id(0) queue_id(0) - bytes(0x400000) + bytes(0x400000) (null) correlation_id(140) time_ns(0:0) external_id(32) - process_id(116396) thread_id(116396) + hipMemcpy correlation_id(140) time_ns(6485125194371510:6485125196427913) + process_id(6177) thread_id(6177) + (null) correlation_id(141) time_ns(0:0) external_id(33) - process_id(116396) thread_id(116396) + hipModuleLaunchKernel correlation_id(141) time_ns(6485125196447853:6485125196472064) + process_id(6177) thread_id(6177) + hcCommandKernel correlation_id(141) time_ns(6485125196479844:6485125197667607) device_id(0) queue_id(0) + hcMemcpyDeviceToHost correlation_id(142) time_ns(6485125197762752:6485125200793523) device_id(0) queue_id(0) - bytes(0x400000) + bytes(0x400000) (null) correlation_id(142) time_ns(0:0) external_id(32) - process_id(116396) thread_id(116396) + hipMemcpy correlation_id(142) time_ns(6485125196477904:6485125200796833) + process_id(6177) thread_id(6177) + (null) correlation_id(143) time_ns(0:0) external_id(31) - process_id(116396) thread_id(116396) + hipFree correlation_id(143) time_ns(6485125209397650:6485125209489691) + process_id(6177) thread_id(6177) + (null) correlation_id(144) time_ns(0:0) external_id(31) - process_id(116396) thread_id(116396) + hipFree correlation_id(144) time_ns(6485125209499901:6485125209518311) + process_id(6177) thread_id(6177) + hcCommandMarker correlation_id(142) time_ns(6485125197673385:6485125197705386) device_id(0) queue_id(0) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) + hipSetDevice correlation_id(145) time_ns(6485125228529568:6485125228545878) + process_id(6177) thread_id(6177) + hipGetDeviceProperties correlation_id(146) time_ns(6485125228549808:6485125228552388) + process_id(6177) thread_id(6177) + hipMalloc correlation_id(147) time_ns(6485125231902361:6485125232252733) + process_id(6177) thread_id(6177) + hipMalloc correlation_id(148) time_ns(6485125232263173:6485125232374814) + process_id(6177) thread_id(6177) + hcMemcpyHostToDevice correlation_id(149) time_ns(6485125232399384:6485125234407477) device_id(0) queue_id(0) - bytes(0x400000) + bytes(0x400000) (null) correlation_id(149) time_ns(0:0) external_id(32) - process_id(116396) thread_id(116396) + hipMemcpy correlation_id(149) time_ns(6485125232382954:6485125234420217) + process_id(6177) thread_id(6177) + (null) correlation_id(150) time_ns(0:0) external_id(33) - process_id(116396) thread_id(116396) + hipModuleLaunchKernel correlation_id(150) time_ns(6485125234439198:6485125234461798) + process_id(6177) thread_id(6177) + hcCommandKernel correlation_id(150) time_ns(6485125234469226:6485125235662767) device_id(0) queue_id(0) + hcMemcpyDeviceToHost correlation_id(151) time_ns(6485125235754916:6485125238735816) device_id(0) queue_id(0) - bytes(0x400000) + bytes(0x400000) (null) correlation_id(151) time_ns(0:0) external_id(32) - process_id(116396) thread_id(116396) + hipMemcpy correlation_id(151) time_ns(6485125234467228:6485125238738056) + process_id(6177) thread_id(6177) + (null) correlation_id(152) time_ns(0:0) external_id(31) - process_id(116396) thread_id(116396) + hipFree correlation_id(152) time_ns(6485125246668569:6485125246771040) + process_id(6177) thread_id(6177) + (null) correlation_id(153) time_ns(0:0) external_id(31) - process_id(116396) thread_id(116396) + hipFree correlation_id(153) time_ns(6485125246776470:6485125246799390) + process_id(6177) thread_id(6177) + hcCommandMarker correlation_id(151) time_ns(6485125235668693:6485125235701139) device_id(0) queue_id(0) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) + hipSetDevice correlation_id(154) time_ns(6485125264743910:6485125264759320) + process_id(6177) thread_id(6177) + hipGetDeviceProperties correlation_id(155) time_ns(6485125264763290:6485125264766030) + process_id(6177) thread_id(6177) + hipMalloc correlation_id(156) time_ns(6485125269284030:6485125269590502) + process_id(6177) thread_id(6177) + hipMalloc correlation_id(157) time_ns(6485125269601012:6485125269719363) + process_id(6177) thread_id(6177) + hcMemcpyHostToDevice correlation_id(158) time_ns(6485125269744393:6485125271764117) device_id(0) queue_id(0) - bytes(0x400000) + bytes(0x400000) (null) correlation_id(158) time_ns(0:0) external_id(32) - process_id(116396) thread_id(116396) + hipMemcpy correlation_id(158) time_ns(6485125269727513:6485125271777117) + process_id(6177) thread_id(6177) + (null) correlation_id(159) time_ns(0:0) external_id(33) - process_id(116396) thread_id(116396) + hipModuleLaunchKernel correlation_id(159) time_ns(6485125271795907:6485125271819487) + process_id(6177) thread_id(6177) + hcCommandKernel correlation_id(159) time_ns(6485125271826659:6485125273019904) device_id(0) queue_id(0) + hcMemcpyDeviceToHost correlation_id(160) time_ns(6485125273108596:6485125276121956) device_id(0) queue_id(0) - bytes(0x400000) + bytes(0x400000) (null) correlation_id(160) time_ns(0:0) external_id(32) - process_id(116396) thread_id(116396) + hipMemcpy correlation_id(160) time_ns(6485125271833437:6485125276124536) + process_id(6177) thread_id(6177) + (null) correlation_id(161) time_ns(0:0) external_id(31) PASSED! # START (63) ############################# - - - - - - - - + + + + + + + + Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - + + - ptr(0x7ffe1b3413b8) size(0x400000) - - - - - - + ptr(0x7ffe3359ea58) size(0x400000) + + + + + + - *ptr(0x0x7feab4800000) - - + *ptr(0x0x7f0f29a00000) + + - ptr(0x7ffe1b3413b0) size(0x400000) - - - - - - + ptr(0x7ffe3359ea50) size(0x400000) + + + + + + - *ptr(0x0x7feab4200000) - - + *ptr(0x0x7f0f29400000) + + - dst(0x7feab4800000) src(0x63a3990) size(0x400000) kind(1) - - - - - - - - + dst(0x7f0f29a00000) src(0x7e67bc0) size(0x400000) kind(1) + + + + + + + + - - + + kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - + + + + - - + + - dst(0xc21170) src(0x7feab4200000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - + dst(0x29b6680) src(0x7f0f29400000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + PASSED! - - + + - ptr(0x7feab4800000) - - - - - - - - + ptr(0x7f0f29a00000) + + + + + + + + - ptr(0x7feab4200000) - - - - - - + ptr(0x7f0f29400000) + + + + + + # START (62) ############################# Device 0 name: Vega 10 XT [Radeon RX Vega 64] PASSED! # START (61) ############################# - - - - - - - - + + + + + + + + Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - + + - ptr(0x7ffe1b3413b8) size(0x400000) - - - - - - + ptr(0x7ffe3359ea58) size(0x400000) + + + + + + - *ptr(0x0x7feab4800000) - - + *ptr(0x0x7f0f29a00000) + + - ptr(0x7ffe1b3413b0) size(0x400000) - - - - - - + ptr(0x7ffe3359ea50) size(0x400000) + + + + + + - *ptr(0x0x7feab4200000) - - + *ptr(0x0x7f0f29400000) + + - dst(0x7feab4800000) src(0x63a3990) size(0x400000) kind(1) - - - - - - - - + dst(0x7f0f29a00000) src(0x7e67bc0) size(0x400000) kind(1) + + + + + + + + - - + + kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - + + + + - - + + - dst(0xc21170) src(0x7feab4200000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - + dst(0x29b6680) src(0x7f0f29400000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + PASSED! - - + + - ptr(0x7feab4800000) - - - - - - - - + ptr(0x7f0f29a00000) + + + + + + + + - ptr(0x7feab4200000) - - - - - - + ptr(0x7f0f29400000) + + + + + + # START (60) ############################# Device 0 name: Vega 10 XT [Radeon RX Vega 64] PASSED! # START (59) ############################# - - - - - - - - + + + + + + + + Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - + + - ptr(0x7ffe1b3413b8) size(0x400000) - - - - - - + ptr(0x7ffe3359ea58) size(0x400000) + + + + + + - *ptr(0x0x7feab4800000) - - + *ptr(0x0x7f0f29a00000) + + - ptr(0x7ffe1b3413b0) size(0x400000) - - - - - - + ptr(0x7ffe3359ea50) size(0x400000) + + + + + + - *ptr(0x0x7feab4200000) - - + *ptr(0x0x7f0f29400000) + + - dst(0x7feab4800000) src(0x63a3990) size(0x400000) kind(1) - - - - - - - - + dst(0x7f0f29a00000) src(0x7e67bc0) size(0x400000) kind(1) + + + + + + + + - - + + kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - + + + + - - + + - dst(0xc21170) src(0x7feab4200000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - + dst(0x29b6680) src(0x7f0f29400000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + PASSED! - - + + - ptr(0x7feab4800000) - - - - - - - - + ptr(0x7f0f29a00000) + + + + + + + + - ptr(0x7feab4200000) - - - - - - + ptr(0x7f0f29400000) + + + + + + # START (58) ############################# Device 0 name: Vega 10 XT [Radeon RX Vega 64] PASSED! # START (57) ############################# - - - - - - - - + + + + + + + + Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - + + - ptr(0x7ffe1b3413b8) size(0x400000) - - - - - - + ptr(0x7ffe3359ea58) size(0x400000) + + + + + + - *ptr(0x0x7feab4800000) - - + *ptr(0x0x7f0f29a00000) + + - ptr(0x7ffe1b3413b0) size(0x400000) - - - - - - + ptr(0x7ffe3359ea50) size(0x400000) + + + + + + - *ptr(0x0x7feab4200000) - - + *ptr(0x0x7f0f29400000) + + - dst(0x7feab4800000) src(0x63a3990) size(0x400000) kind(1) - - - - - - - - + dst(0x7f0f29a00000) src(0x7e67bc0) size(0x400000) kind(1) + + + + + + + + - - + + kernel("_Z15matrixTransposePfS_i") stream((nil)) - - + + Activity records: - process_id(116396) thread_id(116396) - - + hipFree correlation_id(161) time_ns(6485125283050922:6485125283151943) + process_id(6177) thread_id(6177) + + - - + + - dst(0xc21170) src(0x7feab4200000) size(0x400000) kind(2) - - + dst(0x29b6680) src(0x7f0f29400000) size(0x400000) kind(2) + + + (null) correlation_id(162) time_ns(0:0) external_id(31) - process_id(116396) thread_id(116396) + hipFree correlation_id(162) time_ns(6485125283163723:6485125283186473) + process_id(6177) thread_id(6177) + hcCommandMarker correlation_id(160) time_ns(6485125273025682:6485125273057535) device_id(0) queue_id(0) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) + hipSetDevice correlation_id(163) time_ns(6485125300857361:6485125300874031) + process_id(6177) thread_id(6177) + hipGetDeviceProperties correlation_id(164) time_ns(6485125300877201:6485125300879211) + process_id(6177) thread_id(6177) + hipMalloc correlation_id(165) time_ns(6485125305392331:6485125305700483) + process_id(6177) thread_id(6177) + hipMalloc correlation_id(166) time_ns(6485125305711804:6485125305830694) + process_id(6177) thread_id(6177) + hcMemcpyHostToDevice correlation_id(167) time_ns(6485125305856655:6485125307889258) device_id(0) queue_id(0) - bytes(0x400000) + bytes(0x400000) (null) correlation_id(167) time_ns(0:0) external_id(32) - process_id(116396) thread_id(116396) + hipMemcpy correlation_id(167) time_ns(6485125305839254:6485125307894638) + process_id(6177) thread_id(6177) + (null) correlation_id(168) time_ns(0:0) external_id(33) - process_id(116396) thread_id(116396) + hipModuleLaunchKernel correlation_id(168) time_ns(6485125307914299:6485125307938509) + process_id(6177) thread_id(6177) + hcCommandKernel correlation_id(168) time_ns(6485125307946204:6485125309151597) device_id(0) queue_id(0) + hcMemcpyDeviceToHost correlation_id(169) time_ns(6485125309245767:6485125312309768) device_id(0) queue_id(0) - bytes(0x400000) + bytes(0x400000) (null) correlation_id(169) time_ns(0:0) external_id(32) - process_id(116396) thread_id(116396) + hipMemcpy correlation_id(169) time_ns(6485125307944369:6485125312313368) + process_id(6177) thread_id(6177) + (null) correlation_id(170) time_ns(0:0) external_id(31) - process_id(116396) thread_id(116396) + hipFree correlation_id(170) time_ns(6485125321031056:6485125321127676) + process_id(6177) thread_id(6177) + (null) correlation_id(171) time_ns(0:0) external_id(31) - process_id(116396) thread_id(116396) + hipFree correlation_id(171) time_ns(6485125321135007:6485125321152917) + process_id(6177) thread_id(6177) + hcCommandMarker correlation_id(169) time_ns(6485125309157375:6485125309189229) device_id(0) queue_id(0) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) - - process_id(116396) thread_id(116396) - + hipSetDevice correlation_id(172) time_ns(6485125340134894:6485125340150784) + process_id(6177) thread_id(6177) + hipGetDeviceProperties correlation_id(173) time_ns(6485125340154814:6485125340157614) + process_id(6177) thread_id(6177) + hipMalloc correlation_id(174) time_ns(6485125343605967:6485125343982349) + process_id(6177) thread_id(6177) + hipMalloc correlation_id(175) time_ns(6485125343992549:6485125344126250) + process_id(6177) thread_id(6177) + hcMemcpyHostToDevice correlation_id(176) time_ns(6485125344155050:6485125346159074) device_id(0) queue_id(0) - bytes(0x400000) - - - - + bytes(0x400000) (null) correlation_id(176) time_ns(0:0) external_id(32) - process_id(116396) thread_id(116396) + hipMemcpy correlation_id(176) time_ns(6485125344138090:6485125346178864) + process_id(6177) thread_id(6177) + (null) correlation_id(177) time_ns(0:0) external_id(33) - process_id(116396) thread_id(116396) + hipModuleLaunchKernel correlation_id(177) time_ns(6485125346197074:6485125346219574) + process_id(6177) thread_id(6177) + hcCommandKernel correlation_id(177) time_ns(6485125346227140:6485125347426014) device_id(0) queue_id(0) + hcMemcpyDeviceToHost correlation_id(178) time_ns(6485125347517973:6485125350476022) device_id(0) queue_id(0) - bytes(0x400000) + bytes(0x400000) (null) correlation_id(178) time_ns(0:0) external_id(32) - process_id(116396) thread_id(116396) + hipMemcpy correlation_id(178) time_ns(6485125346237594:6485125350478522) + process_id(6177) thread_id(6177) + (null) correlation_id(179) time_ns(0:0) external_id(31) - process_id(116396) thread_id(116396) + hipFree correlation_id(179) time_ns(6485125358298355:6485125358402046) + process_id(6177) thread_id(6177) + (null) correlation_id(180) time_ns(0:0) + + + + + + external_id(31) - process_id(116396) thread_id(116396) + hipFree correlation_id(180) time_ns(6485125358407906:6485125358431986) + process_id(6177) thread_id(6177) + hcCommandMarker correlation_id(178) time_ns(6485125347432088:6485125347464090) device_id(0) queue_id(0) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) + hipSetDevice correlation_id(181) time_ns(6485125376446966:6485125376461306) + process_id(6177) thread_id(6177) + hipGetDeviceProperties correlation_id(182) time_ns(6485125376465306:6485125376467846) + process_id(6177) thread_id(6177) + hipMalloc correlation_id(183) time_ns(6485125380996816:6485125381301808) + process_id(6177) thread_id(6177) + hipMalloc correlation_id(184) time_ns(6485125381313018:6485125381430899) + process_id(6177) thread_id(6177) + hcMemcpyHostToDevice correlation_id(185) time_ns(6485125381457459:6485125383493573) device_id(0) queue_id(0) - bytes(0x400000) + bytes(0x400000) (null) correlation_id(185) time_ns(0:0) external_id(32) - process_id(116396) thread_id(116396) + hipMemcpy correlation_id(185) time_ns(6485125381439279:6485125383498673) + process_id(6177) thread_id(6177) + (null) correlation_id(186) time_ns(0:0) external_id(33) - process_id(116396) thread_id(116396) + hipModuleLaunchKernel correlation_id(186) time_ns(6485125383516823:6485125383538843) + process_id(6177) thread_id(6177) + hcCommandKernel correlation_id(186) time_ns(6485125383546561:6485125384739509) device_id(0) queue_id(0) + hcMemcpyDeviceToHost correlation_id(187) time_ns(6485125384817902:6485125387818542) device_id(0) queue_id(0) - bytes(0x400000) + bytes(0x400000) (null) correlation_id(187) time_ns(0:0) external_id(32) - process_id(116396) thread_id(116396) + hipMemcpy correlation_id(187) time_ns(6485125383553953:6485125387820962) + process_id(6177) thread_id(6177) + (null) correlation_id(188) time_ns(0:0) external_id(31) - process_id(116396) thread_id(116396) + hipFree correlation_id(188) time_ns(6485125394405436:6485125394502887) + process_id(6177) thread_id(6177) + (null) correlation_id(189) time_ns(0:0) external_id(31) - process_id(116396) thread_id(116396) + hipFree correlation_id(189) time_ns(6485125394508487:6485125394530467) + process_id(6177) thread_id(6177) + hcCommandMarker correlation_id(187) time_ns(6485125384745287:6485125384777141) device_id(0) queue_id(0) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) + hipSetDevice correlation_id(190) time_ns(6485125411150078:6485125411165148) + process_id(6177) thread_id(6177) + hipGetDeviceProperties correlation_id(191) time_ns(6485125411168268:6485125411170248) + process_id(6177) thread_id(6177) + hipMalloc correlation_id(192) time_ns(6485125414451260:6485125414763022) + process_id(6177) thread_id(6177) + hipMalloc correlation_id(193) time_ns(6485125414773232:6485125414896163) + process_id(6177) thread_id(6177) + hcMemcpyHostToDevice correlation_id(194) time_ns(6485125414921843:6485125416931547) device_id(0) queue_id(0) - bytes(0x400000) + bytes(0x400000) (null) correlation_id(194) time_ns(0:0) external_id(32) - - - - - - - - - - - - + + + + + + + + + + + + PASSED! - - + + - ptr(0x7feab4800000) - - - - - - - - + ptr(0x7f0f29a00000) + + + + + + + + - ptr(0x7feab4200000) - - - - - - + ptr(0x7f0f29400000) + + + + + + # START (56) ############################# Device 0 name: Vega 10 XT [Radeon RX Vega 64] PASSED! # START (55) ############################# - - - - - - - - + + + + + + + + Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - + + - ptr(0x7ffe1b3413b8) size(0x400000) - - - - - - + ptr(0x7ffe3359ea58) size(0x400000) + + + + + + - *ptr(0x0x7feab4800000) - - + *ptr(0x0x7f0f29a00000) + + - ptr(0x7ffe1b3413b0) size(0x400000) - - - - - - + ptr(0x7ffe3359ea50) size(0x400000) + + + + + + - *ptr(0x0x7feab4200000) - - + *ptr(0x0x7f0f29400000) + + - dst(0x7feab4800000) src(0x63a3990) size(0x400000) kind(1) - - - - - - - - + dst(0x7f0f29a00000) src(0x7e67bc0) size(0x400000) kind(1) + + + + + + + + - - + + kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - + + + + - - + + - dst(0xc21170) src(0x7feab4200000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - + dst(0x29b6680) src(0x7f0f29400000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + PASSED! - - + + - ptr(0x7feab4800000) - - - - - - - - + ptr(0x7f0f29a00000) + + + + + + + + - ptr(0x7feab4200000) - - - - - - + ptr(0x7f0f29400000) + + + + + + # START (54) ############################# Device 0 name: Vega 10 XT [Radeon RX Vega 64] PASSED! # START (53) ############################# - - - - - - - - + + + + + + + + Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - + + - ptr(0x7ffe1b3413b8) size(0x400000) - - - - - - + ptr(0x7ffe3359ea58) size(0x400000) + + + + + + - *ptr(0x0x7feab4800000) - - + *ptr(0x0x7f0f29a00000) + + - ptr(0x7ffe1b3413b0) size(0x400000) - - - - - - + ptr(0x7ffe3359ea50) size(0x400000) + + + + + + - *ptr(0x0x7feab4200000) - - + *ptr(0x0x7f0f29400000) + + - dst(0x7feab4800000) src(0x63a3990) size(0x400000) kind(1) - - - - - - - - + dst(0x7f0f29a00000) src(0x7e67bc0) size(0x400000) kind(1) + + + + + + + + - - + + kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - + + + + - - + + - dst(0xc21170) src(0x7feab4200000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - + dst(0x29b6680) src(0x7f0f29400000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + PASSED! - - + + - ptr(0x7feab4800000) - - - - - - - - + ptr(0x7f0f29a00000) + + + + + + + + - ptr(0x7feab4200000) - - - - - - + ptr(0x7f0f29400000) + + + + + + # START (52) ############################# Device 0 name: Vega 10 XT [Radeon RX Vega 64] PASSED! # START (51) ############################# - - - - - - - - + + + + + + + + Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - + + - ptr(0x7ffe1b3413b8) size(0x400000) - - - - - - + ptr(0x7ffe3359ea58) size(0x400000) + + + + + + - *ptr(0x0x7feab4800000) - - + *ptr(0x0x7f0f29a00000) + + - ptr(0x7ffe1b3413b0) size(0x400000) - - - - - - + ptr(0x7ffe3359ea50) size(0x400000) + + + + + + - *ptr(0x0x7feab4200000) - - + *ptr(0x0x7f0f29400000) + + - dst(0x7feab4800000) src(0x63a3990) size(0x400000) kind(1) - - - - - - - - + dst(0x7f0f29a00000) src(0x7e67bc0) size(0x400000) kind(1) + + + + + + + + - - + + kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - + + + + - - + + - dst(0xc21170) src(0x7feab4200000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - + dst(0x29b6680) src(0x7f0f29400000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + PASSED! - - + + - ptr(0x7feab4800000) - - - - - - - - + ptr(0x7f0f29a00000) + + + + + + + + - ptr(0x7feab4200000) - - - - - - + ptr(0x7f0f29400000) + + + + + + # START (50) ############################# Activity records: - process_id(116396) thread_id(116396) + hipMemcpy correlation_id(194) time_ns(6485125414904133:6485125416944507) + process_id(6177) thread_id(6177) Device 0 name: Vega 10 XT [Radeon RX Vega 64] + (null) correlation_id(195) time_ns(0:0) external_id(33) - process_id(116396) thread_id(116396) + hipModuleLaunchKernel correlation_id(195) time_ns(6485125416968937:6485125417006657) + process_id(6177) thread_id(6177) + hcCommandKernel correlation_id(195) time_ns(6485125416999005:6485125418200102) device_id(0) queue_id(0) + hcMemcpyDeviceToHost correlation_id(196) time_ns(6485125418285636:6485125421241395) device_id(0) queue_id(0) - bytes(0x400000) + bytes(0x400000) (null) correlation_id(196) time_ns(0:0) external_id(32) - process_id(116396) thread_id(116396) + hipMemcpy correlation_id(196) time_ns(6485125417018547:6485125421244355) + process_id(6177) thread_id(6177) + (null) correlation_id(197) time_ns(0:0) external_id(31) - process_id(116396) thread_id(116396) + hipFree correlation_id(197) time_ns(6485125428530684:6485125428631355) + process_id(6177) thread_id(6177) + (null) correlation_id(198) time_ns(0:0) external_id(31) - process_id(116396) thread_id(116396) + hipFree correlation_id(198) time_ns(6485125428636905:6485125428658715) + process_id(6177) thread_id(6177) + hcCommandMarker correlation_id(196) time_ns(6485125418205880:6485125418238030) device_id(0) queue_id(0) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) + hipSetDevice correlation_id(199) time_ns(6485125447658692:6485125447676062) + process_id(6177) thread_id(6177) + hipGetDeviceProperties correlation_id(200) time_ns(6485125447680002:6485125447682562) + process_id(6177) thread_id(6177) + hipMalloc correlation_id(201) time_ns(6485125452200222:6485125452539605) + process_id(6177) thread_id(6177) + hipMalloc correlation_id(202) time_ns(6485125452558565:6485125452723966) + process_id(6177) thread_id(6177) + hcMemcpyHostToDevice correlation_id(203) time_ns(6485125452758366:6485125454795309) device_id(0) queue_id(0) - bytes(0x400000) + bytes(0x400000) (null) correlation_id(203) time_ns(0:0) external_id(32) - process_id(116396) thread_id(116396) + hipMemcpy correlation_id(203) time_ns(6485125452739096:6485125454800289) + process_id(6177) thread_id(6177) + (null) correlation_id(204) time_ns(0:0) external_id(33) - process_id(116396) thread_id(116396) + hipModuleLaunchKernel correlation_id(204) time_ns(6485125454820290:6485125454844770) + process_id(6177) thread_id(6177) + hcCommandKernel correlation_id(204) time_ns(6485125454852105:6485125456039275) device_id(0) queue_id(0) + hcMemcpyDeviceToHost correlation_id(205) time_ns(6485125456121018:6485125459134538) device_id(0) queue_id(0) - bytes(0x400000) + bytes(0x400000) (null) correlation_id(205) time_ns(0:0) external_id(32) - process_id(116396) thread_id(116396) + hipMemcpy correlation_id(205) time_ns(6485125454855940:6485125459137698) + process_id(6177) thread_id(6177) + (null) correlation_id(206) time_ns(0:0) external_id(31) - process_id(116396) thread_id(116396) + hipFree correlation_id(206) time_ns(6485125467849267:6485125467952367) + process_id(6177) thread_id(6177) + (null) correlation_id(207) time_ns(0:0) external_id(31) - process_id(116396) thread_id(116396) + hipFree correlation_id(207) time_ns(6485125467957598:6485125467980518) + process_id(6177) thread_id(6177) + hcCommandMarker correlation_id(205) time_ns(6485125456045053:6485125456076314) device_id(0) queue_id(0) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) + hipSetDevice correlation_id(208) time_ns(6485125486195109:6485125486212519) + process_id(6177) thread_id(6177) + hipGetDeviceProperties correlation_id(209) time_ns(6485125486216729:6485125486219399) + process_id(6177) thread_id(6177) + hipMalloc correlation_id(210) time_ns(6485125490737810:6485125491063452) + process_id(6177) thread_id(6177) + hipMalloc correlation_id(211) time_ns(6485125491073842:6485125491193323) + process_id(6177) thread_id(6177) + hcMemcpyHostToDevice correlation_id(212) time_ns(6485125491218833:6485125493253937) device_id(0) queue_id(0) - bytes(0x400000) + bytes(0x400000) (null) correlation_id(212) time_ns(0:0) external_id(32) - process_id(116396) thread_id(116396) + hipMemcpy correlation_id(212) time_ns(6485125491201443:6485125493258947) + process_id(6177) thread_id(6177) + (null) correlation_id(213) time_ns(0:0) external_id(33) - process_id(116396) thread_id(116396) + hipModuleLaunchKernel correlation_id(213) time_ns(6485125493278627:6485125493301717) + process_id(6177) thread_id(6177) + hcCommandKernel correlation_id(213) time_ns(6485125493309268:6485125494499105) device_id(0) queue_id(0) + hcMemcpyDeviceToHost correlation_id(214) time_ns(6485125494583846:6485125497572065) device_id(0) queue_id(0) - bytes(0x400000) + bytes(0x400000) (null) correlation_id(214) time_ns(0:0) external_id(32) - process_id(116396) thread_id(116396) + hipMemcpy correlation_id(214) time_ns(6485125493320957:6485125497574255) + process_id(6177) thread_id(6177) + (null) correlation_id(215) time_ns(0:0) external_id(31) - process_id(116396) thread_id(116396) + hipFree correlation_id(215) time_ns(6485125505050285:6485125505149286) + process_id(6177) thread_id(6177) + (null) correlation_id(216) time_ns(0:0) external_id(31) - process_id(116396) thread_id(116396) + hipFree correlation_id(216) time_ns(6485125505167736:6485125505190006) + process_id(6177) thread_id(6177) + hcCommandMarker correlation_id(214) time_ns(6485125494504883:6485125494537033) device_id(0) queue_id(0) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) + hipSetDevice correlation_id(217) time_ns(6485125523603839:6485125523621140) + process_id(6177) thread_id(6177) + hipGetDeviceProperties correlation_id(218) time_ns(6485125523625050:6485125523627540) + process_id(6177) thread_id(6177) + hipMalloc correlation_id(219) time_ns(6485125528127730:6485125528433482) + process_id(6177) thread_id(6177) + hipMalloc correlation_id(220) time_ns(6485125528444302:6485125528562802) + process_id(6177) thread_id(6177) + hcMemcpyHostToDevice correlation_id(221) time_ns(6485125528589153:6485125530624636) device_id(0) queue_id(0) - bytes(0x400000) + bytes(0x400000) (null) correlation_id(221) time_ns(0:0) external_id(32) - process_id(116396) thread_id(116396) + hipMemcpy correlation_id(221) time_ns(6485125528571012:6485125530630086) + process_id(6177) thread_id(6177) + (null) correlation_id(222) time_ns(0:0) external_id(33) - process_id(116396) thread_id(116396) + hipModuleLaunchKernel correlation_id(222) time_ns(6485125530649636:6485125530672646) + process_id(6177) thread_id(6177) + hcCommandKernel correlation_id(222) time_ns(6485125530680387:6485125531872149) device_id(0) queue_id(0) + hcMemcpyDeviceToHost correlation_id(223) time_ns(6485125531962655:6485125534929915) device_id(0) queue_id(0) - bytes(0x400000) + bytes(0x400000) (null) correlation_id(223) time_ns(0:0) external_id(32) - process_id(116396) thread_id(116396) + hipMemcpy correlation_id(223) time_ns(6485125530691597:6485125534932405) + process_id(6177) thread_id(6177) + (null) correlation_id(224) time_ns(0:0) external_id(31) - process_id(116396) thread_id(116396) + hipFree correlation_id(224) time_ns(6485125541181237:6485125541283648) + process_id(6177) thread_id(6177) + (null) correlation_id(225) time_ns(0:0) external_id(31) PASSED! # START (49) ############################# - - - - - - - - + + + + + + + + Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - + + - ptr(0x7ffe1b3413b8) size(0x400000) - - - - - - + ptr(0x7ffe3359ea58) size(0x400000) + + + + + + - *ptr(0x0x7feab4800000) - - + *ptr(0x0x7f0f29a00000) + + - ptr(0x7ffe1b3413b0) size(0x400000) - - - - - - + ptr(0x7ffe3359ea50) size(0x400000) + + + + + + - *ptr(0x0x7feab4200000) - - + *ptr(0x0x7f0f29400000) + + - dst(0x7feab4800000) src(0x63a3990) size(0x400000) kind(1) - - - - - - - - + dst(0x7f0f29a00000) src(0x7e67bc0) size(0x400000) kind(1) + + + + + + + + - - + + kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - + + + + - - + + - dst(0xc21170) src(0x7feab4200000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - + dst(0x29b6680) src(0x7f0f29400000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + PASSED! - - + + - ptr(0x7feab4800000) - - - - - - - - + ptr(0x7f0f29a00000) + + + + + + + + - ptr(0x7feab4200000) - - - - - - + ptr(0x7f0f29400000) + + + + + + # START (48) ############################# Device 0 name: Vega 10 XT [Radeon RX Vega 64] PASSED! # START (47) ############################# - - - - - - - - + + + + + + + + Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - + + - ptr(0x7ffe1b3413b8) size(0x400000) - - - - - - + ptr(0x7ffe3359ea58) size(0x400000) + + + + + + - *ptr(0x0x7feab4800000) - - + *ptr(0x0x7f0f29a00000) + + - ptr(0x7ffe1b3413b0) size(0x400000) - - - - - - + ptr(0x7ffe3359ea50) size(0x400000) + + + + + + - *ptr(0x0x7feab4200000) - - + *ptr(0x0x7f0f29400000) + + - dst(0x7feab4800000) src(0x63a3990) size(0x400000) kind(1) - - - - - - - - + dst(0x7f0f29a00000) src(0x7e67bc0) size(0x400000) kind(1) + + + + + + + + - - + + kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - + + + + - - + + - dst(0xc21170) src(0x7feab4200000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - + dst(0x29b6680) src(0x7f0f29400000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + PASSED! - - + + - ptr(0x7feab4800000) - - - - - - - - + ptr(0x7f0f29a00000) + + + + + + + + - ptr(0x7feab4200000) - - - - - - + ptr(0x7f0f29400000) + + + + + + # START (46) ############################# Device 0 name: Vega 10 XT [Radeon RX Vega 64] PASSED! # START (45) ############################# - - - - - - - - + + + + + + + + Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - + + - ptr(0x7ffe1b3413b8) size(0x400000) - - - - - - + ptr(0x7ffe3359ea58) size(0x400000) + + + + + + - *ptr(0x0x7feab4800000) - - + *ptr(0x0x7f0f29a00000) + + - ptr(0x7ffe1b3413b0) size(0x400000) - - - - - - + ptr(0x7ffe3359ea50) size(0x400000) + + + + + + - *ptr(0x0x7feab4200000) - - + *ptr(0x0x7f0f29400000) + + - dst(0x7feab4800000) src(0x63a3990) size(0x400000) kind(1) - - - - - - - - + dst(0x7f0f29a00000) src(0x7e67bc0) size(0x400000) kind(1) + + + + + + + + - - + + kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - + + + + - - + + - dst(0xc21170) src(0x7feab4200000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - + dst(0x29b6680) src(0x7f0f29400000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + PASSED! - - + + - ptr(0x7feab4800000) - - - - - - - - + ptr(0x7f0f29a00000) + + + + + + + + - ptr(0x7feab4200000) - - - - - - + ptr(0x7f0f29400000) + + + + + + # START (44) ############################# Device 0 name: Vega 10 XT [Radeon RX Vega 64] PASSED! # START (43) ############################# - - - - - - - - + + + + + + + + Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - + + - ptr(0x7ffe1b3413b8) size(0x400000) - - - - - - + ptr(0x7ffe3359ea58) size(0x400000) + + + + + + - *ptr(0x0x7feab4800000) - - + *ptr(0x0x7f0f29a00000) + + - ptr(0x7ffe1b3413b0) size(0x400000) - - - - - - + ptr(0x7ffe3359ea50) size(0x400000) + + + + + + - *ptr(0x0x7feab4200000) - - + *ptr(0x0x7f0f29400000) + + - dst(0x7feab4800000) src(0x63a3990) size(0x400000) kind(1) - - - - - - - - + dst(0x7f0f29a00000) src(0x7e67bc0) size(0x400000) kind(1) + + + + + + + + - - + + kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - + + + + - - + + - dst(0xc21170) src(0x7feab4200000) size(0x400000) kind(2) - - + dst(0x29b6680) src(0x7f0f29400000) size(0x400000) kind(2) + + Activity records: - process_id(116396) thread_id(116396) + hipFree correlation_id(225) time_ns(6485125541288608:6485125541311758) + process_id(6177) thread_id(6177) + hcCommandMarker correlation_id(223) time_ns(6485125531877928:6485125531909633) device_id(0) queue_id(0) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) + hipSetDevice correlation_id(226) time_ns(6485125561435592:6485125561453002) + process_id(6177) thread_id(6177) + hipGetDeviceProperties correlation_id(227) time_ns(6485125561456292:6485125561458642) + process_id(6177) thread_id(6177) + hipMalloc correlation_id(228) time_ns(6485125564483582:6485125564787984) + process_id(6177) thread_id(6177) + hipMalloc correlation_id(229) time_ns(6485125564798724:6485125564911415) + process_id(6177) thread_id(6177) + hcMemcpyHostToDevice correlation_id(230) time_ns(6485125564936305:6485125566954879) device_id(0) queue_id(0) - bytes(0x400000) + bytes(0x400000) (null) correlation_id(230) time_ns(0:0) external_id(32) - process_id(116396) thread_id(116396) + hipMemcpy correlation_id(230) time_ns(6485125564919095:6485125566960089) + process_id(6177) thread_id(6177) + (null) correlation_id(231) time_ns(0:0) external_id(33) - process_id(116396) thread_id(116396) + hipModuleLaunchKernel correlation_id(231) time_ns(6485125566979039:6485125567002779) + process_id(6177) thread_id(6177) + hcCommandKernel correlation_id(231) time_ns(6485125567010437:6485125568211533) device_id(0) queue_id(0) + hcMemcpyDeviceToHost correlation_id(232) time_ns(6485125568286318:6485125571332928) device_id(0) queue_id(0) - bytes(0x400000) - - - - - - + bytes(0x400000) (null) correlation_id(232) time_ns(0:0) external_id(32) - process_id(116396) thread_id(116396) + hipMemcpy correlation_id(232) time_ns(6485125567027390:6485125571336208) + process_id(6177) thread_id(6177) + (null) correlation_id(233) time_ns(0:0) external_id(31) - process_id(116396) thread_id(116396) + hipFree correlation_id(233) time_ns(6485125580078336:6485125580178137) + process_id(6177) thread_id(6177) + (null) correlation_id(234) time_ns(0:0) external_id(31) - process_id(116396) thread_id(116396) + hipFree correlation_id(234) time_ns(6485125580185267:6485125580209227) + process_id(6177) thread_id(6177) + hcCommandMarker correlation_id(232) time_ns(6485125568217459:6485125568249165) device_id(0) queue_id(0) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) + hipSetDevice correlation_id(235) time_ns(6485125598212218:6485125598227898) + process_id(6177) thread_id(6177) + hipGetDeviceProperties correlation_id(236) time_ns(6485125598232088:6485125598234668) + process_id(6177) thread_id(6177) + hipMalloc correlation_id(237) time_ns(6485125602247865:6485125602552447) + process_id(6177) thread_id(6177) + hipMalloc correlation_id(238) time_ns(6485125602562577:6485125602675278) + process_id(6177) thread_id(6177) + hcMemcpyHostToDevice correlation_id(239) time_ns(6485125602700648:6485125604718891) device_id(0) queue_id(0) - bytes(0x400000) + bytes(0x400000) (null) correlation_id(239) time_ns(0:0) external_id(32) - process_id(116396) thread_id(116396) + hipMemcpy correlation_id(239) time_ns(6485125602683278:6485125604724261) + process_id(6177) thread_id(6177) + (null) correlation_id(240) time_ns(0:0) external_id(33) - process_id(116396) thread_id(116396) + hipModuleLaunchKernel correlation_id(240) time_ns(6485125604744071:6485125604766502) + process_id(6177) thread_id(6177) + hcCommandKernel correlation_id(240) time_ns(6485125604774146:6485125605969761) device_id(0) queue_id(0) + hcMemcpyDeviceToHost correlation_id(241) time_ns(6485125606053910:6485125609052940) device_id(0) queue_id(0) - bytes(0x400000) + bytes(0x400000) (null) correlation_id(241) time_ns(0:0) external_id(32) - process_id(116396) thread_id(116396) + + + hipMemcpy correlation_id(241) time_ns(6485125604781072:6485125609055260) + process_id(6177) thread_id(6177) + + + + + (null) correlation_id(242) time_ns(0:0) external_id(31) - process_id(116396) thread_id(116396) + hipFree correlation_id(242) time_ns(6485125616339709:6485125616435740) + process_id(6177) thread_id(6177) + (null) correlation_id(243) time_ns(0:0) external_id(31) - process_id(116396) thread_id(116396) + hipFree correlation_id(243) time_ns(6485125616441130:6485125616465770) + process_id(6177) thread_id(6177) + hcCommandMarker correlation_id(241) time_ns(6485125605975688:6485125606007689) device_id(0) queue_id(0) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) + hipSetDevice correlation_id(244) time_ns(6485125634516150:6485125634530140) + process_id(6177) thread_id(6177) + hipGetDeviceProperties correlation_id(245) time_ns(6485125634533950:6485125634536561) + process_id(6177) thread_id(6177) + hipMalloc correlation_id(246) time_ns(6485125638177085:6485125638473957) + process_id(6177) thread_id(6177) + hipMalloc correlation_id(247) time_ns(6485125638485107:6485125638600427) + process_id(6177) thread_id(6177) + hcMemcpyHostToDevice correlation_id(248) time_ns(6485125638626878:6485125640661231) device_id(0) queue_id(0) - bytes(0x400000) + bytes(0x400000) (null) correlation_id(248) time_ns(0:0) external_id(32) - process_id(116396) thread_id(116396) + hipMemcpy correlation_id(248) time_ns(6485125638608398:6485125640666501) + process_id(6177) thread_id(6177) + (null) correlation_id(249) time_ns(0:0) external_id(33) - process_id(116396) thread_id(116396) + hipModuleLaunchKernel correlation_id(249) time_ns(6485125640687701:6485125640711821) + process_id(6177) thread_id(6177) + hcCommandKernel correlation_id(249) time_ns(6485125640719380:6485125641923292) device_id(0) queue_id(0) + hcMemcpyDeviceToHost correlation_id(250) time_ns(6485125642012910:6485125644978340) device_id(0) queue_id(0) - bytes(0x400000) + bytes(0x400000) (null) correlation_id(250) time_ns(0:0) external_id(32) - process_id(116396) thread_id(116396) + hipMemcpy correlation_id(250) time_ns(6485125640718561:6485125644981060) + process_id(6177) thread_id(6177) + (null) correlation_id(251) time_ns(0:0) external_id(31) - process_id(116396) thread_id(116396) + hipFree correlation_id(251) time_ns(6485125651149091:6485125651240892) + process_id(6177) thread_id(6177) + (null) correlation_id(252) time_ns(0:0) external_id(31) - process_id(116396) thread_id(116396) + hipFree correlation_id(252) time_ns(6485125651244832:6485125651263552) + process_id(6177) thread_id(6177) + hcCommandMarker correlation_id(250) time_ns(6485125641929070:6485125641961368) device_id(0) queue_id(0) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) + hipSetDevice correlation_id(253) time_ns(6485125668738229:6485125668754979) + process_id(6177) thread_id(6177) + hipGetDeviceProperties correlation_id(254) time_ns(6485125668758859:6485125668761769) + process_id(6177) thread_id(6177) + hipMalloc correlation_id(255) time_ns(6485125673339520:6485125673642822) + process_id(6177) thread_id(6177) + hipMalloc correlation_id(256) time_ns(6485125673653362:6485125673772393) + process_id(6177) thread_id(6177) + hcMemcpyHostToDevice correlation_id(257) time_ns(6485125673798583:6485125675830197) device_id(0) queue_id(0) - bytes(0x400000) + bytes(0x400000) (null) correlation_id(257) time_ns(0:0) external_id(32) - process_id(116396) thread_id(116396) + hipMemcpy correlation_id(257) time_ns(6485125673780473:6485125675835347) + process_id(6177) thread_id(6177) + (null) correlation_id(258) time_ns(0:0) external_id(33) - - - - - - - - - - - - + + + + + + + + + + + + PASSED! - - + + - ptr(0x7feab4800000) - - - - - - - - + ptr(0x7f0f29a00000) + + + + + + + + - ptr(0x7feab4200000) - - - - - - + ptr(0x7f0f29400000) + + + + + + # START (42) ############################# Device 0 name: Vega 10 XT [Radeon RX Vega 64] PASSED! # START (41) ############################# - - - - - - - - + + + + + + + + Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - + + - ptr(0x7ffe1b3413b8) size(0x400000) - - - - - - + ptr(0x7ffe3359ea58) size(0x400000) + + + + + + - *ptr(0x0x7feab4800000) - - + *ptr(0x0x7f0f29a00000) + + - ptr(0x7ffe1b3413b0) size(0x400000) - - - - - - + ptr(0x7ffe3359ea50) size(0x400000) + + + + + + - *ptr(0x0x7feab4200000) - - + *ptr(0x0x7f0f29400000) + + - dst(0x7feab4800000) src(0x63a3990) size(0x400000) kind(1) - - - - - - - - + dst(0x7f0f29a00000) src(0x7e67bc0) size(0x400000) kind(1) + + + + + + + + - - + + kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - + + + + - - + + - dst(0xc21170) src(0x7feab4200000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - + dst(0x29b6680) src(0x7f0f29400000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + PASSED! - - + + - ptr(0x7feab4800000) - - - - - - - - + ptr(0x7f0f29a00000) + + + + + + + + - ptr(0x7feab4200000) - - - - - - + ptr(0x7f0f29400000) + + + + + + # START (40) ############################# Device 0 name: Vega 10 XT [Radeon RX Vega 64] PASSED! # START (39) ############################# - - - - - - - - + + + + + + + + Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - + + - ptr(0x7ffe1b3413b8) size(0x400000) - - - - - - + ptr(0x7ffe3359ea58) size(0x400000) + + + + + + - *ptr(0x0x7feab4800000) - - + *ptr(0x0x7f0f29a00000) + + - ptr(0x7ffe1b3413b0) size(0x400000) - - - - - - + ptr(0x7ffe3359ea50) size(0x400000) + + + + + + - *ptr(0x0x7feab4200000) - - + *ptr(0x0x7f0f29400000) + + - dst(0x7feab4800000) src(0x63a3990) size(0x400000) kind(1) - - - - - - - - + dst(0x7f0f29a00000) src(0x7e67bc0) size(0x400000) kind(1) + + + + + + + + - - + + kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - + + + + - - + + - dst(0xc21170) src(0x7feab4200000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - + dst(0x29b6680) src(0x7f0f29400000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + PASSED! - - + + - ptr(0x7feab4800000) - - - - - - - - + ptr(0x7f0f29a00000) + + + + + + + + - ptr(0x7feab4200000) - - - - - - + ptr(0x7f0f29400000) + + + + + + # START (38) ############################# Device 0 name: Vega 10 XT [Radeon RX Vega 64] PASSED! # START (37) ############################# - - - - - - - - + + + + + + + + Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - + + - ptr(0x7ffe1b3413b8) size(0x400000) - - - - - - + ptr(0x7ffe3359ea58) size(0x400000) + + + + + + - *ptr(0x0x7feab4800000) - - + *ptr(0x0x7f0f29a00000) + + - ptr(0x7ffe1b3413b0) size(0x400000) - - - - - - + ptr(0x7ffe3359ea50) size(0x400000) + + + + + + - *ptr(0x0x7feab4200000) - - + *ptr(0x0x7f0f29400000) + + - dst(0x7feab4800000) src(0x63a3990) size(0x400000) kind(1) - - - - - - - - + dst(0x7f0f29a00000) src(0x7e67bc0) size(0x400000) kind(1) + + + + + + + + - - + + kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - + + + + - - + + - dst(0xc21170) src(0x7feab4200000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - + dst(0x29b6680) src(0x7f0f29400000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + PASSED! - - + + - ptr(0x7feab4800000) - - - - - - - - + ptr(0x7f0f29a00000) + + + + + + + + - ptr(0x7feab4200000) - - - - - - + ptr(0x7f0f29400000) + + + + + + # START (36) ############################# Device 0 name: Vega 10 XT [Radeon RX Vega 64] PASSED! # START (35) ############################# - - - - - - - - + + + + + + + + Device 0 name: Vega 10 XT [Radeon RX Vega 64] Activity records: - process_id(116396) thread_id(116396) + hipModuleLaunchKernel correlation_id(258) time_ns(6485125675854037:6485125675877457) + process_id(6177) thread_id(6177) + hcCommandKernel correlation_id(258) time_ns(6485125675884879:6485125677098866) device_id(0) queue_id(0) + hcMemcpyDeviceToHost correlation_id(259) time_ns(6485125677188916:6485125680229416) device_id(0) queue_id(0) - bytes(0x400000) + bytes(0x400000) (null) correlation_id(259) time_ns(0:0) external_id(32) - process_id(116396) thread_id(116396) + hipMemcpy correlation_id(259) time_ns(6485125675891477:6485125680232646) + process_id(6177) thread_id(6177) + (null) correlation_id(260) time_ns(0:0) external_id(31) - process_id(116396) thread_id(116396) + hipFree correlation_id(260) time_ns(6485125687110121:6485125687209332) + process_id(6177) thread_id(6177) + (null) correlation_id(261) time_ns(0:0) external_id(31) - process_id(116396) thread_id(116396) + hipFree correlation_id(261) time_ns(6485125687215272:6485125687237922) + process_id(6177) thread_id(6177) + hcCommandMarker correlation_id(259) time_ns(6485125677104792:6485125677136794) device_id(0) queue_id(0) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) + hipSetDevice correlation_id(262) time_ns(6485125706808823:6485125706824203) + process_id(6177) thread_id(6177) + hipGetDeviceProperties correlation_id(263) time_ns(6485125706827283:6485125706829303) + process_id(6177) thread_id(6177) + hipMalloc correlation_id(264) time_ns(6485125710152476:6485125710459378) + process_id(6177) thread_id(6177) + hipMalloc correlation_id(265) time_ns(6485125710469338:6485125710581789) + process_id(6177) thread_id(6177) + hcMemcpyHostToDevice correlation_id(266) time_ns(6485125710606449:6485125712616202) device_id(0) queue_id(0) - bytes(0x400000) + bytes(0x400000) (null) correlation_id(266) time_ns(0:0) external_id(32) - process_id(116396) thread_id(116396) + hipMemcpy correlation_id(266) time_ns(6485125710589619:6485125712628852) + process_id(6177) thread_id(6177) + (null) correlation_id(267) time_ns(0:0) external_id(33) - process_id(116396) thread_id(116396) + hipModuleLaunchKernel correlation_id(267) time_ns(6485125712649152:6485125712672742) + process_id(6177) thread_id(6177) + hcCommandKernel correlation_id(267) time_ns(6485125712680708:6485125713873508) device_id(0) queue_id(0) + hcMemcpyDeviceToHost correlation_id(268) time_ns(6485125713962571:6485125716943831) device_id(0) queue_id(0) - bytes(0x400000) + bytes(0x400000) (null) correlation_id(268) time_ns(0:0) external_id(32) - process_id(116396) thread_id(116396) + hipMemcpy correlation_id(268) time_ns(6485125712678532:6485125716946381) + process_id(6177) thread_id(6177) + (null) correlation_id(269) time_ns(0:0) external_id(31) - process_id(116396) thread_id(116396) + hipFree correlation_id(269) time_ns(6485125723120992:6485125723213593) + process_id(6177) thread_id(6177) + (null) correlation_id(270) time_ns(0:0) external_id(31) - process_id(116396) thread_id(116396) + hipFree correlation_id(270) time_ns(6485125723223593:6485125723243223) + process_id(6177) thread_id(6177) + hcCommandMarker correlation_id(268) time_ns(6485125713879434:6485125713911139) device_id(0) queue_id(0) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) + hipSetDevice correlation_id(271) time_ns(6485125740776960:6485125740793370) + process_id(6177) thread_id(6177) + hipGetDeviceProperties correlation_id(272) time_ns(6485125740797300:6485125740799941) + process_id(6177) thread_id(6177) + hipMalloc correlation_id(273) time_ns(6485125744786127:6485125745124359) + process_id(6177) thread_id(6177) + hipMalloc correlation_id(274) time_ns(6485125745135879:6485125745254370) + process_id(6177) thread_id(6177) + hcMemcpyHostToDevice correlation_id(275) time_ns(6485125745281220:6485125747321894) device_id(0) queue_id(0) - bytes(0x400000) + bytes(0x400000) (null) correlation_id(275) time_ns(0:0) external_id(32) - process_id(116396) thread_id(116396) + hipMemcpy correlation_id(275) time_ns(6485125745262760:6485125747327144) + process_id(6177) thread_id(6177) + (null) correlation_id(276) time_ns(0:0) external_id(33) - process_id(116396) thread_id(116396) + hipModuleLaunchKernel correlation_id(276) time_ns(6485125747346214:6485125747370054) + process_id(6177) thread_id(6177) + hcCommandKernel correlation_id(276) time_ns(6485125747377310:6485125748577073) device_id(0) queue_id(0) + hcMemcpyDeviceToHost correlation_id(277) time_ns(6485125748653723:6485125751603003) device_id(0) queue_id(0) - bytes(0x400000) + bytes(0x400000) (null) correlation_id(277) time_ns(0:0) external_id(32) - process_id(116396) thread_id(116396) + hipMemcpy correlation_id(277) time_ns(6485125747375634:6485125751605163) + process_id(6177) thread_id(6177) + (null) correlation_id(278) time_ns(0:0) external_id(31) - process_id(116396) thread_id(116396) + hipFree correlation_id(278) time_ns(6485125758126676:6485125758227067) + process_id(6177) thread_id(6177) + (null) correlation_id(279) time_ns(0:0) external_id(31) - process_id(116396) thread_id(116396) + hipFree correlation_id(279) time_ns(6485125758232877:6485125758257287) + process_id(6177) thread_id(6177) + hcCommandMarker correlation_id(277) time_ns(6485125748582851:6485125748614556) device_id(0) queue_id(0) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) + hipSetDevice correlation_id(280) time_ns(6485125775818474:6485125775833604) + process_id(6177) thread_id(6177) + hipGetDeviceProperties correlation_id(281) time_ns(6485125775836594:6485125775838344) + process_id(6177) thread_id(6177) + hipMalloc correlation_id(282) time_ns(6485125779147596:6485125779441778) + process_id(6177) thread_id(6177) + hipMalloc correlation_id(283) time_ns(6485125779450088:6485125779557329) + process_id(6177) thread_id(6177) + hcMemcpyHostToDevice correlation_id(284) time_ns(6485125779580079:6485125781581533) device_id(0) queue_id(0) - bytes(0x400000) + bytes(0x400000) (null) correlation_id(284) time_ns(0:0) external_id(32) - process_id(116396) thread_id(116396) + hipMemcpy correlation_id(284) time_ns(6485125779564019:6485125781607663) + process_id(6177) thread_id(6177) + (null) correlation_id(285) time_ns(0:0) external_id(33) - process_id(116396) thread_id(116396) + hipModuleLaunchKernel correlation_id(285) time_ns(6485125781624083:6485125781643633) + process_id(6177) thread_id(6177) + hcCommandKernel correlation_id(285) time_ns(6485125781651893:6485125782846767) device_id(0) queue_id(0) + hcMemcpyDeviceToHost correlation_id(286) time_ns(6485125782933402:6485125785912432) device_id(0) queue_id(0) - bytes(0x400000) + bytes(0x400000) (null) correlation_id(286) time_ns(0:0) external_id(32) - process_id(116396) thread_id(116396) + hipMemcpy correlation_id(286) time_ns(6485125781664843:6485125785914672) + process_id(6177) thread_id(6177) + (null) correlation_id(287) time_ns(0:0) external_id(31) - process_id(116396) thread_id(116396) + hipFree correlation_id(287) time_ns(6485125793604153:6485125793704194) + process_id(6177) thread_id(6177) + (null) correlation_id(288) time_ns(0:0) external_id(31) - process_id(116396) thread_id(116396) + hipFree correlation_id(288) time_ns(6485125793709274:6485125793730844) + process_id(6177) thread_id(6177) + hcCommandMarker correlation_id(286) time_ns(6485125782852693:6485125782884398) device_id(0) queue_id(0) - - + + - ptr(0x7ffe1b3413b8) size(0x400000) - - - - - - + ptr(0x7ffe3359ea58) size(0x400000) + + + + + + - *ptr(0x0x7feab4800000) - - + *ptr(0x0x7f0f29a00000) + + - ptr(0x7ffe1b3413b0) size(0x400000) - - - - - - + ptr(0x7ffe3359ea50) size(0x400000) + + + + + + - *ptr(0x0x7feab4200000) - - + *ptr(0x0x7f0f29400000) + + - dst(0x7feab4800000) src(0x63a3990) size(0x400000) kind(1) - - - - - - - - + dst(0x7f0f29a00000) src(0x7e67bc0) size(0x400000) kind(1) + + + + + + + + - - + + kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - + + + + - - + + - dst(0xc21170) src(0x7feab4200000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - + dst(0x29b6680) src(0x7f0f29400000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + PASSED! - - + + - ptr(0x7feab4800000) - - - - - - - - + ptr(0x7f0f29a00000) + + + + + + + + - ptr(0x7feab4200000) - - - - - - + ptr(0x7f0f29400000) + + + + + + # START (34) ############################# Device 0 name: Vega 10 XT [Radeon RX Vega 64] PASSED! # START (33) ############################# - - - - - - - - + + + + + + + + Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - + + - ptr(0x7ffe1b3413b8) size(0x400000) - - - - - - + ptr(0x7ffe3359ea58) size(0x400000) + + + + + + - *ptr(0x0x7feab4800000) - - + *ptr(0x0x7f0f29a00000) + + - ptr(0x7ffe1b3413b0) size(0x400000) - - - - - - + ptr(0x7ffe3359ea50) size(0x400000) + + + + + + - *ptr(0x0x7feab4200000) - - + *ptr(0x0x7f0f29400000) + + - dst(0x7feab4800000) src(0x63a3990) size(0x400000) kind(1) - - - - - - - - + dst(0x7f0f29a00000) src(0x7e67bc0) size(0x400000) kind(1) + + + + + + + + - - + + kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - + + + + - - + + - dst(0xc21170) src(0x7feab4200000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - + dst(0x29b6680) src(0x7f0f29400000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + PASSED! - - + + - ptr(0x7feab4800000) - - - - - - - - + ptr(0x7f0f29a00000) + + + + + + + + - ptr(0x7feab4200000) - - - - - - + ptr(0x7f0f29400000) + + + + + + # START (32) ############################# Device 0 name: Vega 10 XT [Radeon RX Vega 64] PASSED! # START (31) ############################# - - - - - - - - + + + + + + + + Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - + + - ptr(0x7ffe1b3413b8) size(0x400000) - - - - - - + ptr(0x7ffe3359ea58) size(0x400000) + + + + + + - *ptr(0x0x7feab4800000) - - + *ptr(0x0x7f0f29a00000) + + - ptr(0x7ffe1b3413b0) size(0x400000) - - - - - - + ptr(0x7ffe3359ea50) size(0x400000) + + + + + + - *ptr(0x0x7feab4200000) - - + *ptr(0x0x7f0f29400000) + + - dst(0x7feab4800000) src(0x63a3990) size(0x400000) kind(1) - - - - - - - - + dst(0x7f0f29a00000) src(0x7e67bc0) size(0x400000) kind(1) + + + + + + + + - - + + kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - + + + + - - + + - dst(0xc21170) src(0x7feab4200000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - + dst(0x29b6680) src(0x7f0f29400000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + PASSED! - - + + - ptr(0x7feab4800000) - - - - - - - - + ptr(0x7f0f29a00000) + + + + + + + + - ptr(0x7feab4200000) - - - - - - + ptr(0x7f0f29400000) + + + + + + # START (30) ############################# Device 0 name: Vega 10 XT [Radeon RX Vega 64] PASSED! # START (29) ############################# - - - - - - - - + + + + + + + + Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - + + - ptr(0x7ffe1b3413b8) size(0x400000) - - - - - - + ptr(0x7ffe3359ea58) size(0x400000) + + + + + + - *ptr(0x0x7feab4800000) - - + *ptr(0x0x7f0f29a00000) + + - ptr(0x7ffe1b3413b0) size(0x400000) - - - - - - + ptr(0x7ffe3359ea50) size(0x400000) + + + + + + - *ptr(0x0x7feab4200000) - - + *ptr(0x0x7f0f29400000) + + - dst(0x7feab4800000) src(0x63a3990) size(0x400000) kind(1) - - - - - - - - + dst(0x7f0f29a00000) src(0x7e67bc0) size(0x400000) kind(1) + + + + + + + + - - + + kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - + + + + - - + + - dst(0xc21170) src(0x7feab4200000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - + dst(0x29b6680) src(0x7f0f29400000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + Activity records: - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) + hipSetDevice correlation_id(289) time_ns(6485125812340668:6485125812356778) + process_id(6177) thread_id(6177) + hipGetDeviceProperties correlation_id(290) time_ns(6485125812366068:6485125812368638) + process_id(6177) thread_id(6177) + hipMalloc correlation_id(291) time_ns(6485125816925179:6485125817261271) + process_id(6177) thread_id(6177) + hipMalloc correlation_id(292) time_ns(6485125817272301:6485125817390892) + process_id(6177) thread_id(6177) + hcMemcpyHostToDevice correlation_id(293) time_ns(6485125817417802:6485125819445496) device_id(0) queue_id(0) - bytes(0x400000) + bytes(0x400000) (null) correlation_id(293) time_ns(0:0) external_id(32) - process_id(116396) thread_id(116396) + hipMemcpy correlation_id(293) time_ns(6485125817399052:6485125819458066) + process_id(6177) thread_id(6177) + (null) correlation_id(294) time_ns(0:0) external_id(33) - process_id(116396) thread_id(116396) + hipModuleLaunchKernel correlation_id(294) time_ns(6485125819477346:6485125819500506) + process_id(6177) thread_id(6177) + hcCommandKernel correlation_id(294) time_ns(6485125819508274:6485125820714704) device_id(0) queue_id(0) + hcMemcpyDeviceToHost correlation_id(295) time_ns(6485125820790665:6485125823762434) device_id(0) queue_id(0) - bytes(0x400000) + bytes(0x400000) (null) correlation_id(295) time_ns(0:0) external_id(32) - process_id(116396) thread_id(116396) + hipMemcpy correlation_id(295) time_ns(6485125819506066:6485125823764784) + process_id(6177) thread_id(6177) + (null) correlation_id(296) time_ns(0:0) external_id(31) - process_id(116396) thread_id(116396) + hipFree correlation_id(296) time_ns(6485125832423953:6485125832523193) + process_id(6177) thread_id(6177) + (null) correlation_id(297) time_ns(0:0) external_id(31) - process_id(116396) thread_id(116396) + hipFree correlation_id(297) time_ns(6485125832528353:6485125832550743) + process_id(6177) thread_id(6177) + hcCommandMarker correlation_id(295) time_ns(6485125820720630:6485125820752335) device_id(0) queue_id(0) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) + hipSetDevice correlation_id(298) time_ns(6485125850521463:6485125850537553) + process_id(6177) thread_id(6177) + hipGetDeviceProperties correlation_id(299) time_ns(6485125850541764:6485125850544424) + process_id(6177) thread_id(6177) + hipMalloc correlation_id(300) time_ns(6485125854206848:6485125854497000) + process_id(6177) thread_id(6177) + hipMalloc correlation_id(301) time_ns(6485125854507590:6485125854623431) + process_id(6177) thread_id(6177) + hcMemcpyHostToDevice correlation_id(302) time_ns(6485125854649771:6485125856679504) device_id(0) queue_id(0) - bytes(0x400000) + bytes(0x400000) (null) correlation_id(302) time_ns(0:0) external_id(32) - process_id(116396) thread_id(116396) + hipMemcpy correlation_id(302) time_ns(6485125854631341:6485125856685894) + process_id(6177) thread_id(6177) + (null) correlation_id(303) time_ns(0:0) external_id(33) - process_id(116396) thread_id(116396) + hipModuleLaunchKernel correlation_id(303) time_ns(6485125856706615:6485125856730235) + process_id(6177) thread_id(6177) + hcCommandKernel correlation_id(303) time_ns(6485125856738307:6485125857923847) device_id(0) queue_id(0) + hcMemcpyDeviceToHost correlation_id(304) time_ns(6485125858013393:6485125861007894) device_id(0) queue_id(0) - bytes(0x400000) + bytes(0x400000) (null) correlation_id(304) time_ns(0:0) external_id(32) - process_id(116396) thread_id(116396) + hipMemcpy correlation_id(304) time_ns(6485125856747075:6485125861010554) + process_id(6177) thread_id(6177) + (null) correlation_id(305) time_ns(0:0) external_id(31) - process_id(116396) thread_id(116396) + hipFree correlation_id(305) time_ns(6485125867174995:6485125867265525) + process_id(6177) thread_id(6177) + (null) correlation_id(306) time_ns(0:0) external_id(31) - process_id(116396) thread_id(116396) + hipFree correlation_id(306) time_ns(6485125867276885:6485125867294845) + process_id(6177) thread_id(6177) + hcCommandMarker correlation_id(304) time_ns(6485125857929625:6485125857961775) device_id(0) queue_id(0) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) + hipSetDevice correlation_id(307) time_ns(6485125884936183:6485125884953063) + process_id(6177) thread_id(6177) + hipGetDeviceProperties correlation_id(308) time_ns(6485125884956903:6485125884959393) + process_id(6177) thread_id(6177) + hipMalloc correlation_id(309) time_ns(6485125888871779:6485125889276482) + process_id(6177) thread_id(6177) + hipMalloc correlation_id(310) time_ns(6485125889287172:6485125889405393) + process_id(6177) thread_id(6177) + hcMemcpyHostToDevice correlation_id(311) time_ns(6485125889432003:6485125891458317) device_id(0) queue_id(0) - bytes(0x400000) + bytes(0x400000) (null) correlation_id(311) time_ns(0:0) external_id(32) - process_id(116396) thread_id(116396) + hipMemcpy correlation_id(311) time_ns(6485125889413873:6485125891470627) + process_id(6177) thread_id(6177) + (null) correlation_id(312) time_ns(0:0) external_id(33) - process_id(116396) thread_id(116396) + hipModuleLaunchKernel correlation_id(312) time_ns(6485125891489817:6485125891513327) + process_id(6177) thread_id(6177) + hcCommandKernel correlation_id(312) time_ns(6485125891521573:6485125892722521) device_id(0) queue_id(0) + hcMemcpyDeviceToHost correlation_id(313) time_ns(6485125892797976:6485125895800796) device_id(0) queue_id(0) - bytes(0x400000) + bytes(0x400000) (null) correlation_id(313) time_ns(0:0) external_id(32) - process_id(116396) thread_id(116396) + hipMemcpy correlation_id(313) time_ns(6485125891525027:6485125895802976) + process_id(6177) thread_id(6177) + (null) correlation_id(314) time_ns(0:0) external_id(31) - process_id(116396) thread_id(116396) + hipFree correlation_id(314) time_ns(6485125902404140:6485125902502490) + process_id(6177) thread_id(6177) + (null) correlation_id(315) time_ns(0:0) external_id(31) - process_id(116396) thread_id(116396) + hipFree correlation_id(315) time_ns(6485125902517500:6485125902539671) + process_id(6177) thread_id(6177) + hcCommandMarker correlation_id(313) time_ns(6485125892728299:6485125892759708) device_id(0) queue_id(0) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) + hipSetDevice correlation_id(316) time_ns(6485125919972637:6485125919989367) + process_id(6177) thread_id(6177) + hipGetDeviceProperties correlation_id(317) time_ns(6485125919992517:6485125919994347) + process_id(6177) thread_id(6177) + hipMalloc correlation_id(318) time_ns(6485125923279160:6485125923587182) + process_id(6177) thread_id(6177) + hipMalloc correlation_id(319) time_ns(6485125923597302:6485125923709363) + process_id(6177) thread_id(6177) + hcMemcpyHostToDevice correlation_id(320) time_ns(6485125923734713:6485125925771206) device_id(0) queue_id(0) - bytes(0x400000) + bytes(0x400000) (null) correlation_id(320) time_ns(0:0) external_id(32) - process_id(116396) thread_id(116396) + hipMemcpy correlation_id(320) time_ns(6485125923717013:6485125925776726) + process_id(6177) thread_id(6177) + (null) correlation_id(321) time_ns(0:0) external_id(33) - process_id(116396) thread_id(116396) + hipModuleLaunchKernel correlation_id(321) time_ns(6485125925796976:6485125925819787) + process_id(6177) thread_id(6177) + hcCommandKernel correlation_id(321) time_ns(6485125925827237:6485125927018704) device_id(0) queue_id(0) PASSED! - - + + - ptr(0x7feab4800000) - - - - - - - - + ptr(0x7f0f29a00000) + + + + + + + + - ptr(0x7feab4200000) - - - - - - + ptr(0x7f0f29400000) + + + + + + # START (28) ############################# Device 0 name: Vega 10 XT [Radeon RX Vega 64] PASSED! # START (27) ############################# - - - - - - - - + + + + + + + + Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - + + - ptr(0x7ffe1b3413b8) size(0x400000) - - - - - - + ptr(0x7ffe3359ea58) size(0x400000) + + + + + + - *ptr(0x0x7feab4800000) - - + *ptr(0x0x7f0f29a00000) + + - ptr(0x7ffe1b3413b0) size(0x400000) - - - - - - + ptr(0x7ffe3359ea50) size(0x400000) + + + + + + - *ptr(0x0x7feab4200000) - - + *ptr(0x0x7f0f29400000) + + - dst(0x7feab4800000) src(0x63a3990) size(0x400000) kind(1) - - - - - - - - + dst(0x7f0f29a00000) src(0x7e67bc0) size(0x400000) kind(1) + + + + + + + + - - + + kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - + + + + - - + + - dst(0xc21170) src(0x7feab4200000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - + dst(0x29b6680) src(0x7f0f29400000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + PASSED! - - + + - ptr(0x7feab4800000) - - - - - - - - + ptr(0x7f0f29a00000) + + + + + + + + - ptr(0x7feab4200000) - - - - - - + ptr(0x7f0f29400000) + + + + + + # START (26) ############################# Device 0 name: Vega 10 XT [Radeon RX Vega 64] PASSED! # START (25) ############################# - - - - - - - - + + + + + + + + Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - + + - ptr(0x7ffe1b3413b8) size(0x400000) - - - - - - + ptr(0x7ffe3359ea58) size(0x400000) + + + + + + - *ptr(0x0x7feab4800000) - - + *ptr(0x0x7f0f29a00000) + + - ptr(0x7ffe1b3413b0) size(0x400000) - - - - - - + ptr(0x7ffe3359ea50) size(0x400000) + + + + + + - *ptr(0x0x7feab4200000) - - + *ptr(0x0x7f0f29400000) + + - dst(0x7feab4800000) src(0x63a3990) size(0x400000) kind(1) - - - - - - - - + dst(0x7f0f29a00000) src(0x7e67bc0) size(0x400000) kind(1) + + + + + + + + - - + + kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - + + + + - - + + - dst(0xc21170) src(0x7feab4200000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - + dst(0x29b6680) src(0x7f0f29400000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + PASSED! - - + + - ptr(0x7feab4800000) - - - - - - - - + ptr(0x7f0f29a00000) + + + + + + + + - ptr(0x7feab4200000) - - - - - - + ptr(0x7f0f29400000) + + + + + + # START (24) ############################# Device 0 name: Vega 10 XT [Radeon RX Vega 64] PASSED! # START (23) ############################# - - - - - - - - + + + + + + + + Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - + + - ptr(0x7ffe1b3413b8) size(0x400000) - - - - - - + ptr(0x7ffe3359ea58) size(0x400000) + + + + + + - *ptr(0x0x7feab4800000) - - + *ptr(0x0x7f0f29a00000) + + - ptr(0x7ffe1b3413b0) size(0x400000) - - - - - - + ptr(0x7ffe3359ea50) size(0x400000) + + + + + + - *ptr(0x0x7feab4200000) - - + *ptr(0x0x7f0f29400000) + + - dst(0x7feab4800000) src(0x63a3990) size(0x400000) kind(1) - - - - - - - - + dst(0x7f0f29a00000) src(0x7e67bc0) size(0x400000) kind(1) + + + + + + + + - - + + kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - + + + + - - + + - dst(0xc21170) src(0x7feab4200000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - + dst(0x29b6680) src(0x7f0f29400000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + PASSED! - - + + - ptr(0x7feab4800000) - - - - - - - - + ptr(0x7f0f29a00000) + + + + + + + + - ptr(0x7feab4200000) - - - - - - + ptr(0x7f0f29400000) + + + + + + # START (22) ############################# Device 0 name: Vega 10 XT [Radeon RX Vega 64] PASSED! # START (21) ############################# - - - - - - - - + + + + + + + + Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - + + - ptr(0x7ffe1b3413b8) size(0x400000) - - - - - - + ptr(0x7ffe3359ea58) size(0x400000) + + + + + + - *ptr(0x0x7feab4800000) - - + *ptr(0x0x7f0f29a00000) + + - ptr(0x7ffe1b3413b0) size(0x400000) - + ptr(0x7ffe3359ea50) size(0x400000) + Activity records: + hcMemcpyDeviceToHost correlation_id(322) time_ns(6485125927107115:6485125930073545) device_id(0) queue_id(0) - bytes(0x400000) - - + bytes(0x400000) + + (null) correlation_id(322) time_ns(0:0) external_id(32) - process_id(116396) thread_id(116396) + hipMemcpy correlation_id(322) time_ns(6485125925836737:6485125930080605) + process_id(6177) thread_id(6177) + (null) correlation_id(323) time_ns(0:0) external_id(31) - process_id(116396) thread_id(116396) - - - + hipFree correlation_id(323) time_ns(6485125937813706:6485125937918227) + process_id(6177) thread_id(6177) + (null) correlation_id(324) time_ns(0:0) + external_id(31) + hipFree correlation_id(324) time_ns(6485125937924147:6485125937947627) + process_id(6177) thread_id(6177) + hcCommandMarker correlation_id(322) time_ns(6485125927024630:6485125927056039) + device_id(0) queue_id(0) + hipSetDevice correlation_id(325) time_ns(6485125957437228:6485125957452428) + process_id(6177) thread_id(6177) + hipGetDeviceProperties correlation_id(326) time_ns(6485125957456408:6485125957459078) + process_id(6177) thread_id(6177) + hipMalloc correlation_id(327) time_ns(6485125961320183:6485125961620445) + process_id(6177) thread_id(6177) + hipMalloc correlation_id(328) time_ns(6485125961631136:6485125961740166) + process_id(6177) thread_id(6177) + hcMemcpyHostToDevice correlation_id(329) time_ns(6485125961766146:6485125963792030) + device_id(0) queue_id(0) + bytes(0x400000) + + (null) correlation_id(329) time_ns(0:0) + external_id(32) + hipMemcpy correlation_id(329) time_ns(6485125961747816:6485125963797840) + process_id(6177) thread_id(6177) + - *ptr(0x0x7feab4200000) - - + *ptr(0x0x7f0f29400000) + + - dst(0x7feab4800000) src(0x63a3990) size(0x400000) kind(1) - external_id(31) - process_id(116396) thread_id(116396) - device_id(0) queue_id(0) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) - device_id(0) queue_id(0) - bytes(0x400000) - - - - - external_id(32) - process_id(116396) thread_id(116396) + dst(0x7f0f29a00000) src(0x7e67bc0) size(0x400000) kind(1) + (null) correlation_id(330) time_ns(0:0) external_id(33) - process_id(116396) thread_id(116396) + hipModuleLaunchKernel correlation_id(330) time_ns(6485125963817360:6485125963840090) + process_id(6177) thread_id(6177) + hcCommandKernel correlation_id(330) time_ns(6485125963848148:6485125965046727) device_id(0) queue_id(0) + hcMemcpyDeviceToHost correlation_id(331) time_ns(6485125965133949:6485125968113889) device_id(0) queue_id(0) - bytes(0x400000) + bytes(0x400000) (null) correlation_id(331) time_ns(0:0) external_id(32) - process_id(116396) thread_id(116396) + hipMemcpy correlation_id(331) time_ns(6485125963851760:6485125968116709) + process_id(6177) thread_id(6177) + + + (null) correlation_id(332) time_ns(0:0) external_id(31) - process_id(116396) thread_id(116396) + hipFree correlation_id(332) time_ns(6485125974906894:6485125975008865) + process_id(6177) thread_id(6177) + + + (null) correlation_id(333) time_ns(0:0) external_id(31) - process_id(116396) thread_id(116396) + hipFree correlation_id(333) time_ns(6485125975014125:6485125975035615) + process_id(6177) thread_id(6177) + hcCommandMarker correlation_id(331) time_ns(6485125965052653:6485125965084654) device_id(0) queue_id(0) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) + hipSetDevice correlation_id(334) time_ns(6485125992595142:6485125992608652) + process_id(6177) thread_id(6177) + hipGetDeviceProperties correlation_id(335) time_ns(6485125992611972:6485125992614733) + process_id(6177) thread_id(6177) + hipMalloc correlation_id(336) time_ns(6485125997175593:6485125997467365) + process_id(6177) thread_id(6177) + hipMalloc correlation_id(337) time_ns(6485125997477975:6485125997595406) + process_id(6177) thread_id(6177) + hcMemcpyHostToDevice correlation_id(338) time_ns(6485125997622406:6485125999654870) device_id(0) queue_id(0) - bytes(0x400000) + bytes(0x400000) (null) correlation_id(338) time_ns(0:0) external_id(32) - process_id(116396) thread_id(116396) + hipMemcpy correlation_id(338) time_ns(6485125997603516:6485125999660300) + process_id(6177) thread_id(6177) + (null) correlation_id(339) time_ns(0:0) external_id(33) - process_id(116396) thread_id(116396) + hipModuleLaunchKernel correlation_id(339) time_ns(6485125999679040:6485125999702710) + process_id(6177) thread_id(6177) + hcCommandKernel correlation_id(339) time_ns(6485125999710183:6485126000891575) device_id(0) queue_id(0) + hcMemcpyDeviceToHost correlation_id(340) time_ns(6485126000985429:6485126003937298) device_id(0) queue_id(0) - bytes(0x400000) + bytes(0x400000) (null) correlation_id(340) time_ns(0:0) external_id(32) - process_id(116396) thread_id(116396) + hipMemcpy correlation_id(340) time_ns(6485125999719030:6485126003940738) + process_id(6177) thread_id(6177) + (null) correlation_id(341) time_ns(0:0) external_id(31) - process_id(116396) thread_id(116396) + hipFree correlation_id(341) time_ns(6485126012692877:6485126012792727) + process_id(6177) thread_id(6177) + (null) correlation_id(342) time_ns(0:0) external_id(31) - process_id(116396) thread_id(116396) + hipFree correlation_id(342) time_ns(6485126012798037:6485126012820787) + process_id(6177) thread_id(6177) + hcCommandMarker correlation_id(340) time_ns(6485126000897501:6485126000929651) device_id(0) queue_id(0) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) + hipSetDevice correlation_id(343) time_ns(6485126030918609:6485126030934739) + process_id(6177) thread_id(6177) + hipGetDeviceProperties correlation_id(344) time_ns(6485126030938869:6485126030941529) + process_id(6177) thread_id(6177) + hipMalloc correlation_id(345) time_ns(6485126034122910:6485126034430562) + process_id(6177) thread_id(6177) + hipMalloc correlation_id(346) time_ns(6485126034440402:6485126034553343) + process_id(6177) thread_id(6177) + hcMemcpyHostToDevice correlation_id(347) time_ns(6485126034580453:6485126036589586) device_id(0) queue_id(0) - bytes(0x400000) + bytes(0x400000) (null) correlation_id(347) time_ns(0:0) external_id(32) - process_id(116396) thread_id(116396) + hipMemcpy correlation_id(347) time_ns(6485126034561963:6485126036601757) + process_id(6177) thread_id(6177) + (null) correlation_id(348) time_ns(0:0) external_id(33) - process_id(116396) thread_id(116396) + hipModuleLaunchKernel correlation_id(348) time_ns(6485126036620687:6485126036643327) + process_id(6177) thread_id(6177) + hcCommandKernel correlation_id(348) time_ns(6485126036651100:6485126037846270) device_id(0) queue_id(0) + hcMemcpyDeviceToHost correlation_id(349) time_ns(6485126037930125:6485126040913165) device_id(0) queue_id(0) - bytes(0x400000) + bytes(0x400000) (null) correlation_id(349) time_ns(0:0) external_id(32) - process_id(116396) thread_id(116396) + hipMemcpy correlation_id(349) time_ns(6485126036648837:6485126040915835) + process_id(6177) thread_id(6177) + (null) correlation_id(350) time_ns(0:0) external_id(31) - process_id(116396) thread_id(116396) + hipFree correlation_id(350) time_ns(6485126048142684:6485126048240464) + process_id(6177) thread_id(6177) + (null) correlation_id(351) time_ns(0:0) external_id(31) - process_id(116396) thread_id(116396) + hipFree correlation_id(351) time_ns(6485126048258615:6485126048280265) + process_id(6177) thread_id(6177) + hcCommandMarker correlation_id(349) time_ns(6485126037852196:6485126037883902) device_id(0) queue_id(0) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) - - - - + hipSetDevice correlation_id(352) time_ns(6485126066174994:6485126066190844) + process_id(6177) thread_id(6177) + hipGetDeviceProperties correlation_id(353) time_ns(6485126066194634:6485126066197174) + process_id(6177) thread_id(6177) + + + + - - + + kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - + + + + - - + + - dst(0xc21170) src(0x7feab4200000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - + dst(0x29b6680) src(0x7f0f29400000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + PASSED! - - + + - ptr(0x7feab4800000) - - - - - - - - + ptr(0x7f0f29a00000) + + + + + + + + - ptr(0x7feab4200000) - - - - - - + ptr(0x7f0f29400000) + + + + + + # START (20) ############################# Device 0 name: Vega 10 XT [Radeon RX Vega 64] PASSED! # START (19) ############################# - - - - - - - - + + + + + + + + Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - + + - ptr(0x7ffe1b3413b8) size(0x400000) - - - - - - + ptr(0x7ffe3359ea58) size(0x400000) + + + + + + - *ptr(0x0x7feab4800000) - - + *ptr(0x0x7f0f29a00000) + + - ptr(0x7ffe1b3413b0) size(0x400000) - - - - - - + ptr(0x7ffe3359ea50) size(0x400000) + + + + + + - *ptr(0x0x7feab4200000) - - + *ptr(0x0x7f0f29400000) + + - dst(0x7feab4800000) src(0x63a3990) size(0x400000) kind(1) - - - - - - - - + dst(0x7f0f29a00000) src(0x7e67bc0) size(0x400000) kind(1) + + + + + + + + - - + + kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - + + + + - - + + - dst(0xc21170) src(0x7feab4200000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - + dst(0x29b6680) src(0x7f0f29400000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + PASSED! - - + + - ptr(0x7feab4800000) - - - - - - - - + ptr(0x7f0f29a00000) + + + + + + + + - ptr(0x7feab4200000) - - - - - - + ptr(0x7f0f29400000) + + + + + + # START (18) ############################# Device 0 name: Vega 10 XT [Radeon RX Vega 64] PASSED! # START (17) ############################# - - - - - - - - + + + + + + + + Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - + + - ptr(0x7ffe1b3413b8) size(0x400000) - - - - - - + ptr(0x7ffe3359ea58) size(0x400000) + + + + + + - *ptr(0x0x7feab4800000) - - + *ptr(0x0x7f0f29a00000) + + - ptr(0x7ffe1b3413b0) size(0x400000) - - - - - - + ptr(0x7ffe3359ea50) size(0x400000) + + + + + + - *ptr(0x0x7feab4200000) - - + *ptr(0x0x7f0f29400000) + + - dst(0x7feab4800000) src(0x63a3990) size(0x400000) kind(1) - - - - - - - - + dst(0x7f0f29a00000) src(0x7e67bc0) size(0x400000) kind(1) + + + + + + + + - - + + kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - + + + + - - + + - dst(0xc21170) src(0x7feab4200000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - + dst(0x29b6680) src(0x7f0f29400000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + PASSED! - - + + - ptr(0x7feab4800000) - - - - - - - - + ptr(0x7f0f29a00000) + + + + + + + + - ptr(0x7feab4200000) - - - - - - + ptr(0x7f0f29400000) + + + + + + # START (16) ############################# Device 0 name: Vega 10 XT [Radeon RX Vega 64] PASSED! # START (15) ############################# - - - - - - - - + + + + + + + + Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - + + - ptr(0x7ffe1b3413b8) size(0x400000) - - - - - - + ptr(0x7ffe3359ea58) size(0x400000) + + + + + + - *ptr(0x0x7feab4800000) - - + *ptr(0x0x7f0f29a00000) + + - ptr(0x7ffe1b3413b0) size(0x400000) - - - - - - + ptr(0x7ffe3359ea50) size(0x400000) + + + + + + - *ptr(0x0x7feab4200000) - - + *ptr(0x0x7f0f29400000) + + - dst(0x7feab4800000) src(0x63a3990) size(0x400000) kind(1) - - - - - - - - + dst(0x7f0f29a00000) src(0x7e67bc0) size(0x400000) kind(1) + + + + + + + + - - + + kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - + + + + - - + + - dst(0xc21170) src(0x7feab4200000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - + dst(0x29b6680) src(0x7f0f29400000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + Activity records: - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) + hipMalloc correlation_id(354) time_ns(6485126070748334:6485126071063737) + process_id(6177) thread_id(6177) + hipMalloc correlation_id(355) time_ns(6485126071080297:6485126071199017) + process_id(6177) thread_id(6177) + hcMemcpyHostToDevice correlation_id(356) time_ns(6485126071292098:6485126073331272) device_id(0) queue_id(0) - bytes(0x400000) + bytes(0x400000) (null) correlation_id(356) time_ns(0:0) external_id(32) - process_id(116396) thread_id(116396) + hipMemcpy correlation_id(356) time_ns(6485126071224898:6485126073336982) + process_id(6177) thread_id(6177) + (null) correlation_id(357) time_ns(0:0) external_id(33) - process_id(116396) thread_id(116396) + hipModuleLaunchKernel correlation_id(357) time_ns(6485126073359802:6485126073384062) + process_id(6177) thread_id(6177) + hcCommandKernel correlation_id(357) time_ns(6485126073391879:6485126074587049) device_id(0) queue_id(0) + hcMemcpyDeviceToHost correlation_id(358) time_ns(6485126074681381:6485126077725752) device_id(0) queue_id(0) - bytes(0x400000) + bytes(0x400000) (null) correlation_id(358) time_ns(0:0) external_id(32) - process_id(116396) thread_id(116396) + hipMemcpy correlation_id(358) time_ns(6485126073392232:6485126077729092) + process_id(6177) thread_id(6177) + (null) correlation_id(359) time_ns(0:0) external_id(31) - process_id(116396) thread_id(116396) + hipFree correlation_id(359) time_ns(6485126086034167:6485126086127337) + process_id(6177) thread_id(6177) + (null) correlation_id(360) time_ns(0:0) external_id(31) - process_id(116396) thread_id(116396) + hipFree correlation_id(360) time_ns(6485126086135297:6485126086152467) + process_id(6177) thread_id(6177) + hcCommandMarker correlation_id(358) time_ns(6485126074592827:6485126074624088) device_id(0) queue_id(0) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) + hipSetDevice correlation_id(361) time_ns(6485126105066254:6485126105082914) + process_id(6177) thread_id(6177) + hipGetDeviceProperties correlation_id(362) time_ns(6485126105086734:6485126105089434) + process_id(6177) thread_id(6177) + hipMalloc correlation_id(363) time_ns(6485126108354316:6485126108670218) + process_id(6177) thread_id(6177) + hipMalloc correlation_id(364) time_ns(6485126108680258:6485126108793509) + process_id(6177) thread_id(6177) + hcMemcpyHostToDevice correlation_id(365) time_ns(6485126108818819:6485126110837903) device_id(0) queue_id(0) - bytes(0x400000) + bytes(0x400000) (null) correlation_id(365) time_ns(0:0) external_id(32) - process_id(116396) thread_id(116396) + hipMemcpy correlation_id(365) time_ns(6485126108801149:6485126110843013) + process_id(6177) thread_id(6177) + (null) correlation_id(366) time_ns(0:0) external_id(33) - process_id(116396) thread_id(116396) + hipModuleLaunchKernel correlation_id(366) time_ns(6485126110861403:6485126110884783) + process_id(6177) thread_id(6177) + hcCommandKernel correlation_id(366) time_ns(6485126110892081:6485126112094066) device_id(0) queue_id(0) + hcMemcpyDeviceToHost correlation_id(367) time_ns(6485126112169551:6485126115192981) device_id(0) queue_id(0) - bytes(0x400000) + bytes(0x400000) (null) correlation_id(367) time_ns(0:0) external_id(32) - process_id(116396) thread_id(116396) + hipMemcpy correlation_id(367) time_ns(6485126110910033:6485126115196291) + process_id(6177) thread_id(6177) + (null) correlation_id(368) time_ns(0:0) external_id(31) - process_id(116396) thread_id(116396) + hipFree correlation_id(368) time_ns(6485126123952290:6485126124070911) + process_id(6177) thread_id(6177) + (null) correlation_id(369) time_ns(0:0) external_id(31) - process_id(116396) thread_id(116396) + hipFree correlation_id(369) time_ns(6485126124077511:6485126124101031) + process_id(6177) thread_id(6177) + hcCommandMarker correlation_id(367) time_ns(6485126112099992:6485126112131994) device_id(0) queue_id(0) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) + hipSetDevice correlation_id(370) time_ns(6485126142221572:6485126142237802) + process_id(6177) thread_id(6177) + hipGetDeviceProperties correlation_id(371) time_ns(6485126142241732:6485126142244302) + process_id(6177) thread_id(6177) + hipMalloc correlation_id(372) time_ns(6485126145628615:6485126146001867) + process_id(6177) thread_id(6177) + hipMalloc correlation_id(373) time_ns(6485126146012167:6485126146125138) + process_id(6177) thread_id(6177) + hcMemcpyHostToDevice correlation_id(374) time_ns(6485126146151738:6485126148155702) device_id(0) queue_id(0) - bytes(0x400000) + bytes(0x400000) (null) correlation_id(374) time_ns(0:0) external_id(32) - process_id(116396) thread_id(116396) + hipMemcpy correlation_id(374) time_ns(6485126146132798:6485126148174432) + process_id(6177) thread_id(6177) + (null) correlation_id(375) time_ns(0:0) external_id(33) - process_id(116396) thread_id(116396) + hipModuleLaunchKernel correlation_id(375) time_ns(6485126148194502:6485126148217222) + process_id(6177) thread_id(6177) + hcCommandKernel correlation_id(375) time_ns(6485126148225186:6485126149420061) device_id(0) queue_id(0) + hcMemcpyDeviceToHost correlation_id(376) time_ns(6485126149509671:6485126152554652) device_id(0) queue_id(0) - bytes(0x400000) + bytes(0x400000) (null) correlation_id(376) time_ns(0:0) external_id(32) - process_id(116396) thread_id(116396) + hipMemcpy correlation_id(376) time_ns(6485126148222582:6485126152557352) + process_id(6177) thread_id(6177) + (null) correlation_id(377) time_ns(0:0) external_id(31) - process_id(116396) thread_id(116396) + hipFree correlation_id(377) time_ns(6485126159535798:6485126159633608) + process_id(6177) thread_id(6177) + (null) correlation_id(378) time_ns(0:0) external_id(31) - process_id(116396) thread_id(116396) + hipFree correlation_id(378) time_ns(6485126159641068:6485126159663589) + process_id(6177) thread_id(6177) + hcCommandMarker correlation_id(376) time_ns(6485126149425987:6485126149458285) device_id(0) queue_id(0) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) + hipSetDevice correlation_id(379) time_ns(6485126177794230:6485126177809240) + process_id(6177) thread_id(6177) + hipGetDeviceProperties correlation_id(380) time_ns(6485126177812530:6485126177814530) + process_id(6177) thread_id(6177) + hipMalloc correlation_id(381) time_ns(6485126181116742:6485126181425204) + process_id(6177) thread_id(6177) + hipMalloc correlation_id(382) time_ns(6485126181435424:6485126181547815) + process_id(6177) thread_id(6177) + hcMemcpyHostToDevice correlation_id(383) time_ns(6485126181574055:6485126183593789) device_id(0) queue_id(0) - bytes(0x400000) + bytes(0x400000) (null) correlation_id(383) time_ns(0:0) external_id(32) - process_id(116396) thread_id(116396) + hipMemcpy correlation_id(383) time_ns(6485126181555535:6485126183599069) + process_id(6177) thread_id(6177) + (null) correlation_id(384) time_ns(0:0) external_id(33) - process_id(116396) thread_id(116396) + hipModuleLaunchKernel correlation_id(384) time_ns(6485126183617339:6485126183639879) + process_id(6177) thread_id(6177) + hcCommandKernel correlation_id(384) time_ns(6485126183647462:6485126184844114) device_id(0) queue_id(0) + hcMemcpyDeviceToHost correlation_id(385) time_ns(6485126184933898:6485126187918018) device_id(0) queue_id(0) - bytes(0x400000) + bytes(0x400000) (null) correlation_id(385) time_ns(0:0) external_id(32) PASSED! - - + + - ptr(0x7feab4800000) - - - - - - - - + ptr(0x7f0f29a00000) + + + + + + + + - ptr(0x7feab4200000) - - - - - - + ptr(0x7f0f29400000) + + + + + + # START (14) ############################# Device 0 name: Vega 10 XT [Radeon RX Vega 64] PASSED! # START (13) ############################# - - - - - - - - + + + + + + + + Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - + + - ptr(0x7ffe1b3413b8) size(0x400000) - - - - - - + ptr(0x7ffe3359ea58) size(0x400000) + + + + + + - *ptr(0x0x7feab4800000) - - + *ptr(0x0x7f0f29a00000) + + - ptr(0x7ffe1b3413b0) size(0x400000) - - - - - - + ptr(0x7ffe3359ea50) size(0x400000) + + + + + + - *ptr(0x0x7feab4200000) - - + *ptr(0x0x7f0f29400000) + + - dst(0x7feab4800000) src(0x63a3990) size(0x400000) kind(1) - - - - - - - - + dst(0x7f0f29a00000) src(0x7e67bc0) size(0x400000) kind(1) + + + + + + + + - - + + kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - + + + + - - + + - dst(0xc21170) src(0x7feab4200000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - + dst(0x29b6680) src(0x7f0f29400000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + PASSED! - - + + - ptr(0x7feab4800000) - - - - - - - - + ptr(0x7f0f29a00000) + + + + + + + + - ptr(0x7feab4200000) - - - - - - + ptr(0x7f0f29400000) + + + + + + # START (12) ############################# Device 0 name: Vega 10 XT [Radeon RX Vega 64] PASSED! # START (11) ############################# - - - - - - - - + + + + + + + + Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - + + - ptr(0x7ffe1b3413b8) size(0x400000) - - - - - - + ptr(0x7ffe3359ea58) size(0x400000) + + + + + + - *ptr(0x0x7feab4800000) - - + *ptr(0x0x7f0f29a00000) + + - ptr(0x7ffe1b3413b0) size(0x400000) - - - - - - + ptr(0x7ffe3359ea50) size(0x400000) + + + + + + - *ptr(0x0x7feab4200000) - - + *ptr(0x0x7f0f29400000) + + - dst(0x7feab4800000) src(0x63a3990) size(0x400000) kind(1) - - - - - - - - + dst(0x7f0f29a00000) src(0x7e67bc0) size(0x400000) kind(1) + + + + + + + + - - + + kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - + + + + - - + + - dst(0xc21170) src(0x7feab4200000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - + dst(0x29b6680) src(0x7f0f29400000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + PASSED! - - + + - ptr(0x7feab4800000) - - - - - - - - + ptr(0x7f0f29a00000) + + + + + + + + - ptr(0x7feab4200000) - - - - - - + ptr(0x7f0f29400000) + + + + + + # START (10) ############################# Device 0 name: Vega 10 XT [Radeon RX Vega 64] PASSED! # START (9) ############################# - - - - - - - - + + + + + + + + Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - + + - ptr(0x7ffe1b3413b8) size(0x400000) - - - - - - + ptr(0x7ffe3359ea58) size(0x400000) + + + + + + - *ptr(0x0x7feab4800000) - - + *ptr(0x0x7f0f29a00000) + + - ptr(0x7ffe1b3413b0) size(0x400000) - - - - - - + ptr(0x7ffe3359ea50) size(0x400000) + + + + + + - *ptr(0x0x7feab4200000) - - + *ptr(0x0x7f0f29400000) + + - dst(0x7feab4800000) src(0x63a3990) size(0x400000) kind(1) - - - - - - - - + dst(0x7f0f29a00000) src(0x7e67bc0) size(0x400000) kind(1) + + + + + + + + - - + + kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - + + + + - - + + - dst(0xc21170) src(0x7feab4200000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - + dst(0x29b6680) src(0x7f0f29400000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + PASSED! - - + + - ptr(0x7feab4800000) - - - - - - - - + ptr(0x7f0f29a00000) + + + + + + + + - ptr(0x7feab4200000) - - - - - - + ptr(0x7f0f29400000) + + + + + + # START (8) ############################# Device 0 name: Vega 10 XT [Radeon RX Vega 64] PASSED! # START (7) ############################# - - - - - - - - + + + + + + + + Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - + + - ptr(0x7ffe1b3413b8) size(0x400000) - - - - - - + ptr(0x7ffe3359ea58) size(0x400000) + + + + + + - *ptr(0x0x7feab4800000) - - + *ptr(0x0x7f0f29a00000) + + - ptr(0x7ffe1b3413b0) size(0x400000) - - - - - - + ptr(0x7ffe3359ea50) size(0x400000) + + + + + + - *ptr(0x0x7feab4200000) - - + *ptr(0x0x7f0f29400000) + + - dst(0x7feab4800000) src(0x63a3990) size(0x400000) kind(1) - - - - - - - - + dst(0x7f0f29a00000) src(0x7e67bc0) size(0x400000) kind(1) + + + + + + + + - - + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + Activity records: - process_id(116396) thread_id(116396) - - - - + hipMemcpy correlation_id(385) time_ns(6485126183660359:6485126187920148) + process_id(6177) thread_id(6177) + + - - + + - dst(0xc21170) src(0x7feab4200000) size(0x400000) kind(2) - - + dst(0x29b6680) src(0x7f0f29400000) size(0x400000) kind(2) + + + (null) correlation_id(386) time_ns(0:0) external_id(31) - process_id(116396) thread_id(116396) + hipFree correlation_id(386) time_ns(6485126196373614:6485126196479464) + process_id(6177) thread_id(6177) + (null) correlation_id(387) time_ns(0:0) external_id(31) - process_id(116396) thread_id(116396) + hipFree correlation_id(387) time_ns(6485126196484554:6485126196507065) + process_id(6177) thread_id(6177) + hcCommandMarker correlation_id(385) time_ns(6485126184850040:6485126184881746) device_id(0) queue_id(0) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) + hipSetDevice correlation_id(388) time_ns(6485126215708863:6485126215724833) + process_id(6177) thread_id(6177) + hipGetDeviceProperties correlation_id(389) time_ns(6485126215728813:6485126215731393) + process_id(6177) thread_id(6177) + hipMalloc correlation_id(390) time_ns(6485126219339597:6485126219657230) + process_id(6177) thread_id(6177) + hipMalloc correlation_id(391) time_ns(6485126219667570:6485126219779670) + process_id(6177) thread_id(6177) + hcMemcpyHostToDevice correlation_id(392) time_ns(6485126219805271:6485126221837084) device_id(0) queue_id(0) - bytes(0x400000) + bytes(0x400000) (null) correlation_id(392) time_ns(0:0) external_id(32) - process_id(116396) thread_id(116396) + hipMemcpy correlation_id(392) time_ns(6485126219787760:6485126221842494) + process_id(6177) thread_id(6177) + (null) correlation_id(393) time_ns(0:0) external_id(33) - process_id(116396) thread_id(116396) + hipModuleLaunchKernel correlation_id(393) time_ns(6485126221861884:6485126221885114) + process_id(6177) thread_id(6177) + hcCommandKernel correlation_id(393) time_ns(6485126221892706:6485126223095432) device_id(0) queue_id(0) + hcMemcpyDeviceToHost correlation_id(394) time_ns(6485126223187123:6485126226156263) device_id(0) queue_id(0) - bytes(0x400000) + bytes(0x400000) (null) correlation_id(394) time_ns(0:0) external_id(32) - process_id(116396) thread_id(116396) + hipMemcpy correlation_id(394) time_ns(6485126221890844:6485126226158733) + process_id(6177) thread_id(6177) + (null) correlation_id(395) time_ns(0:0) external_id(31) - process_id(116396) thread_id(116396) + hipFree correlation_id(395) time_ns(6485126233880295:6485126233981615) + process_id(6177) thread_id(6177) + (null) correlation_id(396) time_ns(0:0) external_id(31) - process_id(116396) thread_id(116396) + hipFree correlation_id(396) time_ns(6485126233987025:6485126234010195) + process_id(6177) thread_id(6177) + hcCommandMarker correlation_id(394) time_ns(6485126223101210:6485126223133212) device_id(0) queue_id(0) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) + hipSetDevice correlation_id(397) time_ns(6485126252656730:6485126252672940) + process_id(6177) thread_id(6177) + hipGetDeviceProperties correlation_id(398) time_ns(6485126252677030:6485126252679870) + process_id(6177) thread_id(6177) + hipMalloc correlation_id(399) time_ns(6485126257208460:6485126257516852) + process_id(6177) thread_id(6177) + hipMalloc correlation_id(400) time_ns(6485126257527472:6485126257645053) + process_id(6177) thread_id(6177) + hcMemcpyHostToDevice correlation_id(401) time_ns(6485126257670593:6485126259684487) device_id(0) queue_id(0) - bytes(0x400000) + bytes(0x400000) (null) correlation_id(401) time_ns(0:0) external_id(32) - process_id(116396) thread_id(116396) + hipMemcpy correlation_id(401) time_ns(6485126257652773:6485126259703367) + process_id(6177) thread_id(6177) + (null) correlation_id(402) time_ns(0:0) external_id(33) - process_id(116396) thread_id(116396) + hipModuleLaunchKernel correlation_id(402) time_ns(6485126259722137:6485126259745408) + process_id(6177) thread_id(6177) + hcCommandKernel correlation_id(402) time_ns(6485126259753102:6485126260955236) device_id(0) queue_id(0) + hcMemcpyDeviceToHost correlation_id(403) time_ns(6485126261041926:6485126264031546) device_id(0) queue_id(0) - bytes(0x400000) + bytes(0x400000) (null) correlation_id(403) time_ns(0:0) external_id(32) - process_id(116396) thread_id(116396) + hipMemcpy correlation_id(403) time_ns(6485126259771078:6485126264033916) + process_id(6177) thread_id(6177) + (null) correlation_id(404) time_ns(0:0) external_id(31) - process_id(116396) thread_id(116396) + hipFree correlation_id(404) time_ns(6485126270768981:6485126270868161) + process_id(6177) thread_id(6177) + (null) correlation_id(405) time_ns(0:0) external_id(31) - process_id(116396) thread_id(116396) + hipFree correlation_id(405) time_ns(6485126270873201:6485126270895902) + process_id(6177) thread_id(6177) + hcCommandMarker correlation_id(403) time_ns(6485126260961014:6485126260992867) device_id(0) queue_id(0) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) + hipSetDevice correlation_id(406) time_ns(6485126288605510:6485126288619470) + process_id(6177) thread_id(6177) + hipGetDeviceProperties correlation_id(407) time_ns(6485126288622410:6485126288624180) + process_id(6177) thread_id(6177) + hipMalloc correlation_id(408) time_ns(6485126293073560:6485126293368472) + process_id(6177) thread_id(6177) + hipMalloc correlation_id(409) time_ns(6485126293379422:6485126293497303) + process_id(6177) thread_id(6177) + hcMemcpyHostToDevice correlation_id(410) time_ns(6485126293524043:6485126295547917) device_id(0) queue_id(0) - bytes(0x400000) - - - - - - + bytes(0x400000) + + (null) correlation_id(410) time_ns(0:0) external_id(32) - process_id(116396) thread_id(116396) + hipMemcpy correlation_id(410) time_ns(6485126293505493:6485126295561457) + process_id(6177) thread_id(6177) + + + + + (null) correlation_id(411) time_ns(0:0) external_id(33) - process_id(116396) thread_id(116396) + hipModuleLaunchKernel correlation_id(411) time_ns(6485126295580427:6485126295605477) + process_id(6177) thread_id(6177) + hcCommandKernel correlation_id(411) time_ns(6485126295613305:6485126296806698) device_id(0) queue_id(0) + hcMemcpyDeviceToHost correlation_id(412) time_ns(6485126296900126:6485126299890955) device_id(0) queue_id(0) - bytes(0x400000) + bytes(0x400000) (null) correlation_id(412) time_ns(0:0) external_id(32) - process_id(116396) thread_id(116396) + hipMemcpy correlation_id(412) time_ns(6485126295632887:6485126299894195) + process_id(6177) thread_id(6177) + (null) correlation_id(413) time_ns(0:0) external_id(31) - process_id(116396) thread_id(116396) + hipFree correlation_id(413) time_ns(6485126308424513:6485126308524433) + process_id(6177) thread_id(6177) + (null) correlation_id(414) time_ns(0:0) external_id(31) - process_id(116396) thread_id(116396) + hipFree correlation_id(414) time_ns(6485126308530193:6485126308553384) + process_id(6177) thread_id(6177) + hcCommandMarker correlation_id(412) time_ns(6485126296812476:6485126296844774) device_id(0) queue_id(0) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) - - - - - - - - - - - - + hipSetDevice correlation_id(415) time_ns(6485126326661474:6485126326677245) + process_id(6177) thread_id(6177) + hipGetDeviceProperties correlation_id(416) time_ns(6485126326681515:6485126326684165) + process_id(6177) thread_id(6177) + hipMalloc correlation_id(417) time_ns(6485126330528830:6485126331018123) + process_id(6177) thread_id(6177) + hipMalloc correlation_id(418) time_ns(6485126331028253:6485126331142044) + process_id(6177) thread_id(6177) + + + + + + + + + + + + PASSED! - - + + - ptr(0x7feab4800000) - - - - - - - - + ptr(0x7f0f29a00000) + + + + + + + + - ptr(0x7feab4200000) - - - - - - + ptr(0x7f0f29400000) + + + + + + # START (6) ############################# Device 0 name: Vega 10 XT [Radeon RX Vega 64] PASSED! # START (5) ############################# - - - - - - - - + + + + + + + + Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - + + - ptr(0x7ffe1b3413b8) size(0x400000) - - - - - - + ptr(0x7ffe3359ea58) size(0x400000) + + + + + + - *ptr(0x0x7feab4800000) - - + *ptr(0x0x7f0f29a00000) + + - ptr(0x7ffe1b3413b0) size(0x400000) - - - - - - + ptr(0x7ffe3359ea50) size(0x400000) + + + + + + - *ptr(0x0x7feab4200000) - - + *ptr(0x0x7f0f29400000) + + - dst(0x7feab4800000) src(0x63a3990) size(0x400000) kind(1) - - - - - - - - + dst(0x7f0f29a00000) src(0x7e67bc0) size(0x400000) kind(1) + + + + + + + + - - + + kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - + + + + - - + + - dst(0xc21170) src(0x7feab4200000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - + dst(0x29b6680) src(0x7f0f29400000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + PASSED! - - + + - ptr(0x7feab4800000) - - - - - - - - + ptr(0x7f0f29a00000) + + + + + + + + - ptr(0x7feab4200000) - - - - - - + ptr(0x7f0f29400000) + + + + + + # START (4) ############################# Device 0 name: Vega 10 XT [Radeon RX Vega 64] PASSED! # START (3) ############################# - - - - - - - - + + + + + + + + Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - + + - ptr(0x7ffe1b3413b8) size(0x400000) - - - - - - + ptr(0x7ffe3359ea58) size(0x400000) + + + + + + - *ptr(0x0x7feab4800000) - - + *ptr(0x0x7f0f29a00000) + + - ptr(0x7ffe1b3413b0) size(0x400000) - - - - - - + ptr(0x7ffe3359ea50) size(0x400000) + + + + + + - *ptr(0x0x7feab4200000) - - + *ptr(0x0x7f0f29400000) + + - dst(0x7feab4800000) src(0x63a3990) size(0x400000) kind(1) - - - - - - - - + dst(0x7f0f29a00000) src(0x7e67bc0) size(0x400000) kind(1) + + + + + + + + - - + + kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - + + + + - - + + - dst(0xc21170) src(0x7feab4200000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - + dst(0x29b6680) src(0x7f0f29400000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + PASSED! - - + + - ptr(0x7feab4800000) - - - - - - - - + ptr(0x7f0f29a00000) + + + + + + + + - ptr(0x7feab4200000) - - - - - - + ptr(0x7f0f29400000) + + + + + + # START (2) ############################# Device 0 name: Vega 10 XT [Radeon RX Vega 64] PASSED! # START (1) ############################# - - - - - - - - + + + + + + + + Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - + + - ptr(0x7ffe1b3413b8) size(0x400000) - - - - - - + ptr(0x7ffe3359ea58) size(0x400000) + + + + + + - *ptr(0x0x7feab4800000) - - + *ptr(0x0x7f0f29a00000) + + - ptr(0x7ffe1b3413b0) size(0x400000) - - - - - - + ptr(0x7ffe3359ea50) size(0x400000) + + + + + + - *ptr(0x0x7feab4200000) - - + *ptr(0x0x7f0f29400000) + + - dst(0x7feab4800000) src(0x63a3990) size(0x400000) kind(1) - - - - - - - - + dst(0x7f0f29a00000) src(0x7e67bc0) size(0x400000) kind(1) + + + + + + + + - - + + kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - + + + + - - + + - dst(0xc21170) src(0x7feab4200000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - + dst(0x29b6680) src(0x7f0f29400000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + PASSED! - - + + - ptr(0x7feab4800000) - - - - - - - - + ptr(0x7f0f29a00000) + + + + + + + + - ptr(0x7feab4200000) - + ptr(0x7f0f29400000) + + + + Activity records: + hcMemcpyHostToDevice correlation_id(419) time_ns(6485126331167054:6485126333185568) device_id(0) queue_id(0) - - bytes(0x400000) - - - - + bytes(0x400000) + # START (0) ############################# -Device 0 name: Vega 10 XT [Radeon RX Vega 64] + (null) correlation_id(419) time_ns(0:0) external_id(32) - process_id(116396) thread_id(116396) + hipMemcpy correlation_id(419) time_ns(6485126331149904:6485126333196088) + process_id(6177) thread_id(6177) + (null) correlation_id(420) time_ns(0:0) external_id(33) - process_id(116396) thread_id(116396) + hipModuleLaunchKernel correlation_id(420) time_ns(6485126333215928:6485126333265288) + process_id(6177) thread_id(6177) + hcCommandKernel correlation_id(420) time_ns(6485126333262196:6485126334460626) device_id(0) queue_id(0) + hcMemcpyDeviceToHost correlation_id(421) time_ns(6485126334550077:6485126337495197) device_id(0) queue_id(0) - bytes(0x400000) + bytes(0x400000)Device 0 name: Vega 10 XT [Radeon RX Vega 64] + (null) correlation_id(421) time_ns(0:0) external_id(32) - process_id(116396) thread_id(116396) + hipMemcpy correlation_id(421) time_ns(6485126333273509:6485126337497957) + process_id(6177) thread_id(6177) + (null) correlation_id(422) time_ns(0:0) external_id(31) - process_id(116396) thread_id(116396) + hipFree correlation_id(422) time_ns(6485126344942256:6485126345043017) + process_id(6177) thread_id(6177) + (null) correlation_id(423) time_ns(0:0) external_id(31) - process_id(116396) thread_id(116396) + hipFree correlation_id(423) time_ns(6485126345048867:6485126345072307) + process_id(6177) thread_id(6177) + hcCommandMarker correlation_id(421) time_ns(6485126334466404:6485126334498109) device_id(0) queue_id(0) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) + hipSetDevice correlation_id(424) time_ns(6485126363378789:6485126363395100) + process_id(6177) thread_id(6177) + hipGetDeviceProperties correlation_id(425) time_ns(6485126363399100:6485126363401700) + process_id(6177) thread_id(6177) + hipMalloc correlation_id(426) time_ns(6485126367921470:6485126368271893) + process_id(6177) thread_id(6177) + hipMalloc correlation_id(427) time_ns(6485126368283213:6485126368401584) + process_id(6177) thread_id(6177) + hcMemcpyHostToDevice correlation_id(428) time_ns(6485126368428414:6485126370463217) device_id(0) queue_id(0) - bytes(0x400000) + bytes(0x400000) (null) correlation_id(428) time_ns(0:0) external_id(32) - process_id(116396) thread_id(116396) + hipMemcpy correlation_id(428) time_ns(6485126368409834:6485126370468377) + process_id(6177) thread_id(6177) + (null) correlation_id(429) time_ns(0:0) external_id(33) - process_id(116396) thread_id(116396) + hipModuleLaunchKernel correlation_id(429) time_ns(6485126370487507:6485126370510848) + process_id(6177) thread_id(6177) + hcCommandKernel correlation_id(429) time_ns(6485126370517934:6485126371719772) device_id(0) queue_id(0) + hcMemcpyDeviceToHost correlation_id(430) time_ns(6485126371811346:6485126374795336) device_id(0) queue_id(0) - bytes(0x400000) + bytes(0x400000) (null) correlation_id(430) time_ns(0:0) external_id(32) - process_id(116396) thread_id(116396) + hipMemcpy correlation_id(430) time_ns(6485126370529958:6485126374797486) + process_id(6177) thread_id(6177) + (null) correlation_id(431) time_ns(0:0) external_id(31) - process_id(116396) thread_id(116396) + hipFree correlation_id(431) time_ns(6485126380903007:6485126380996247) + process_id(6177) thread_id(6177) + (null) correlation_id(432) time_ns(0:0) external_id(31) - process_id(116396) thread_id(116396) + hipFree correlation_id(432) time_ns(6485126381006087:6485126381029487) + process_id(6177) thread_id(6177) + hcCommandMarker correlation_id(430) time_ns(6485126371725698:6485126371757551) device_id(0) queue_id(0) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) + hipSetDevice correlation_id(433) time_ns(6485126401264323:6485126401278843) + process_id(6177) thread_id(6177) + hipGetDeviceProperties correlation_id(434) time_ns(6485126401282183:6485126401284613) + process_id(6177) thread_id(6177) + hipMalloc correlation_id(435) time_ns(6485126404332013:6485126404636125) + process_id(6177) thread_id(6177) + hipMalloc correlation_id(436) time_ns(6485126404646615:6485126404760106) + process_id(6177) thread_id(6177) + hcMemcpyHostToDevice correlation_id(437) time_ns(6485126404785526:6485126406803720) device_id(0) queue_id(0) - bytes(0x400000) + bytes(0x400000) (null) correlation_id(437) time_ns(0:0) external_id(32) - process_id(116396) thread_id(116396) + hipMemcpy correlation_id(437) time_ns(6485126404768246:6485126406808960) + process_id(6177) thread_id(6177) + (null) correlation_id(438) time_ns(0:0) external_id(33) - process_id(116396) thread_id(116396) + hipModuleLaunchKernel correlation_id(438) time_ns(6485126406827120:6485126406850360) + process_id(6177) thread_id(6177) + hcCommandKernel correlation_id(438) time_ns(6485126406857898:6485126408069959) device_id(0) queue_id(0) + hcMemcpyDeviceToHost correlation_id(439) time_ns(6485126408144329:6485126411139689) device_id(0) queue_id(0) - bytes(0x400000) + bytes(0x400000) (null) correlation_id(439) time_ns(0:0) external_id(32) - process_id(116396) thread_id(116396) + hipMemcpy correlation_id(439) time_ns(6485126406863470:6485126411143269) + process_id(6177) thread_id(6177) + (null) correlation_id(440) time_ns(0:0) external_id(31) - process_id(116396) thread_id(116396) + hipFree correlation_id(440) time_ns(6485126419887627:6485126419988038) + process_id(6177) thread_id(6177) + (null) correlation_id(441) time_ns(0:0) external_id(31) - process_id(116396) thread_id(116396) + hipFree correlation_id(441) time_ns(6485126419993158:6485126420039578) + process_id(6177) thread_id(6177) + hcCommandMarker correlation_id(439) time_ns(6485126408075737:6485126408107887) device_id(0) queue_id(0) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) - process_id(116396) thread_id(116396) + hipSetDevice correlation_id(442) time_ns(6485126438187709:6485126438204259) + process_id(6177) thread_id(6177) + hipGetDeviceProperties correlation_id(443) time_ns(6485126438208279:6485126438210829) + process_id(6177) thread_id(6177) + hipMalloc correlation_id(444) time_ns(6485126442770370:6485126443102503) + process_id(6177) thread_id(6177) + hipMalloc correlation_id(445) time_ns(6485126443112943:6485126443229713) + process_id(6177) thread_id(6177) + hcMemcpyHostToDevice correlation_id(446) time_ns(6485126443255904:6485126445274137) device_id(0) queue_id(0) - bytes(0x400000) + bytes(0x400000) (null) correlation_id(446) time_ns(0:0) external_id(32) - process_id(116396) thread_id(116396) + hipMemcpy correlation_id(446) time_ns(6485126443237743:6485126445292817) + process_id(6177) thread_id(6177) + (null) correlation_id(447) time_ns(0:0) external_id(33) - process_id(116396) thread_id(116396) + hipModuleLaunchKernel correlation_id(447) time_ns(6485126445312157:6485126445335628) + process_id(6177) thread_id(6177) + hcCommandKernel correlation_id(447) time_ns(6485126445343403:6485126446549388) device_id(0) queue_id(0) + hcMemcpyDeviceToHost correlation_id(448) time_ns(6485126446638196:6485126449646466) device_id(0) queue_id(0) - bytes(0x400000) + bytes(0x400000) (null) correlation_id(448) time_ns(0:0) external_id(32) - process_id(116396) thread_id(116396) + hipMemcpy correlation_id(448) time_ns(6485126445354228:6485126449648766) + process_id(6177) thread_id(6177) + (null) correlation_id(449) time_ns(0:0) external_id(31) PASSED! Activity records: - process_id(116396) thread_id(116396) + hipFree correlation_id(449) time_ns(6485126457148196:6485126457245787) + process_id(6177) thread_id(6177) + (null) correlation_id(450) time_ns(0:0) external_id(31) - process_id(116396) thread_id(116396) + hipFree correlation_id(450) time_ns(6485126457256857:6485126457299467) + process_id(6177) thread_id(6177) + hcCommandMarker correlation_id(448) time_ns(6485126446555166:6485126446587464) device_id(0) queue_id(0) # STOP ############################# - -standalone HIP test: PASSED -8 tests total / 1 tests run / 0 tests failed + From e0b23ead23d9a3bdc0c38eb28b5907a7546e1c15 Mon Sep 17 00:00:00 2001 From: rkebichi <54912798+rkebichi@users.noreply.github.com> Date: Wed, 25 Mar 2020 15:30:24 -0400 Subject: [PATCH 350/691] Update tests_trace_cmp_levels.txt --- test/tests_trace_cmp_levels.txt | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/test/tests_trace_cmp_levels.txt b/test/tests_trace_cmp_levels.txt index 837a50f839..5d9f7d93c1 100644 --- a/test/tests_trace_cmp_levels.txt +++ b/test/tests_trace_cmp_levels.txt @@ -1,8 +1,8 @@ ctrl_hsa_input_trace 0 ctrl_hsa_trace 1 -MatrixTranspose_ctest_trace 2 -MatrixTranspose_hip_trace 3 -MatrixTranspose_mgpu_trace 2 -MatrixTranspose_sys_hsa_trace 3 +MatrixTranspose_ctest_trace 3 +MatrixTranspose_hip_trace 1 +MatrixTranspose_mgpu_trace 1 +MatrixTranspose_sys_hsa_trace 2 MatrixTranspose_sys_trace 1 -MatrixTranspose_test_trace 2 +MatrixTranspose_test_trace 1 From 32a11bdd527b9aab96728cdf0ec6bbda185404a4 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Thu, 26 Mar 2020 11:22:38 -0500 Subject: [PATCH 351/691] fix --- test/MatrixTranspose_test/MatrixTranspose.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/test/MatrixTranspose_test/MatrixTranspose.cpp b/test/MatrixTranspose_test/MatrixTranspose.cpp index eadeb8c3c5..a18d244799 100644 --- a/test/MatrixTranspose_test/MatrixTranspose.cpp +++ b/test/MatrixTranspose_test/MatrixTranspose.cpp @@ -240,12 +240,11 @@ void api_callback( } if (domain == ACTIVITY_DOMAIN_KFD_API) { const kfd_api_data_t* data = (const kfd_api_data_t*)(callback_data); - fprintf(stdout, "<%s id(%u)\tcorrelation_id(%lu) %s> \n", + fprintf(stdout, "<%s id(%u)\tcorrelation_id(%lu) %s>\n", roctracer_op_string(ACTIVITY_DOMAIN_KFD_API, cid, 0), cid, data->correlation_id, - (data->phase == ACTIVITY_API_PHASE_ENTER) ? "on-enter" : "on-exit", - ); + (data->phase == ACTIVITY_API_PHASE_ENTER) ? "on-enter" : "on-exit"); return; } const hip_api_data_t* data = (const hip_api_data_t*)(callback_data); From aaecb3dbbb41197a4d94410714f4905b9726e0ad Mon Sep 17 00:00:00 2001 From: Evgeny Date: Thu, 26 Mar 2020 11:51:56 -0500 Subject: [PATCH 352/691] cleanup --- script/check_trace.py | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/script/check_trace.py b/script/check_trace.py index 1cb99d8045..967149cb8b 100644 --- a/script/check_trace.py +++ b/script/check_trace.py @@ -25,7 +25,7 @@ import filecmp import argparse events_count = {} -events_order = {} +events_order = {} trace2level = {} trace2level_filename = 'test/tests_trace_cmp_levels.txt' @@ -37,19 +37,19 @@ def parse_trace_levels(filename): trace2level[item[0]] = eval(item[1]) return trace2level -# check trace againt golden reference and returns 0 for match, 1 for mismatch +# check trace againt golden reference and returns 0 for match, 1 for mismatch def check_trace_status(tracename): trace2level = parse_trace_levels(trace2level_filename) - + trace = tracename + '.txt' rtrace = tracename + '_r.txt' if os.path.basename(tracename) in trace2level: trace_level = trace2level[os.path.basename(tracename)] - print 'Trace comparison for ' + os.path.basename(tracename) + ' is at level ' + str(trace_level) + print 'Trace comparison for ' + os.path.basename(tracename) + ' is at level ' + str(trace_level) else: print 'Trace ' + os.path.basename(tracename) + ' not found in ' + trace2level_filename + ', defaulting to level 0' return 0 - + if trace_level == 1: cnt_r = gen_events_info(rtrace,'cnt') cnt = gen_events_info(trace,'cnt') @@ -70,14 +70,14 @@ def check_trace_status(tracename): else: return 1 -#Parses roctracer trace file for regression purpose -#and generates events count per event (when cnt is on) or events order per tid (when order is on) +#Parses roctracer trace file for regression purpose +#and generates events count per event (when cnt is on) or events order per tid (when order is on) def gen_events_info(tracefile, metric): events_count = {} events_order = {} res='' - with open(tracefile) as f: - for line in f: + with open(tracefile) as f: + for line in f: event_pattern_s = re.compile(r'# START \((\d+)\) #############################') ms = event_pattern_s.match(line) if ms: @@ -121,7 +121,7 @@ def gen_events_info(tracefile, metric): if metric == 'or': for tid in sorted (events_order.keys()) : #res = res + 'Events for tid ' + tid + ' are:\n' + str(events_order[tid]) + '\n' - res = res + str(events_order[tid]) + res = res + str(events_order[tid]) return res From 5e5fe9917d6b21d7468cff6eaae16349faae4091 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Fri, 27 Mar 2020 00:32:18 -0500 Subject: [PATCH 353/691] normalizing trace comparison mechanism --- script/check_trace.py | 6 +- src/core/roctracer.cpp | 1 + test/CMakeLists.txt | 10 +- .../MatrixTranspose_hip_trace.txt | 466 - .../MatrixTranspose_mgpu_trace.txt | 6719 ------------ .../MatrixTranspose_sys_hsa_trace.txt | 7334 -------------- .../MatrixTranspose_sys_trace.txt | 6506 ------------ test/MatrixTranspose_test/MatrixTranspose.cpp | 95 +- .../MatrixTranspose_test_trace.txt | 7513 -------------- test/ctrl_hsa_input_trace.txt | 77 - test/ctrl_hsa_trace.txt | 163 - .../MatrixTranspose_ctest_trace.txt | 1 - .../MatrixTranspose_hip_flush_trace.txt | 412 + .../MatrixTranspose_hip_period_trace.txt | 443 + .../MatrixTranspose_mgpu_trace.txt | 6595 ++++++++++++ .../MatrixTranspose_sys_hsa_trace.txt | 8968 +++++++++++++++++ .../MatrixTranspose_sys_trace.txt | 6139 +++++++++++ .../MatrixTranspose_test_trace.txt | 6605 ++++++++++++ test/golden_traces/ctrl_hsa_input_trace.txt | 4116 ++++++++ test/golden_traces/ctrl_hsa_trace.txt | 4116 ++++++++ .../tests_trace_cmp_levels.txt | 13 +- test/run.sh | 60 +- 22 files changed, 37488 insertions(+), 28870 deletions(-) delete mode 100644 test/MatrixTranspose/MatrixTranspose_hip_trace.txt delete mode 100644 test/MatrixTranspose/MatrixTranspose_mgpu_trace.txt delete mode 100644 test/MatrixTranspose/MatrixTranspose_sys_hsa_trace.txt delete mode 100644 test/MatrixTranspose/MatrixTranspose_sys_trace.txt delete mode 100644 test/MatrixTranspose_test/MatrixTranspose_test_trace.txt delete mode 100644 test/ctrl_hsa_input_trace.txt delete mode 100644 test/ctrl_hsa_trace.txt rename test/{MatrixTranspose => golden_traces}/MatrixTranspose_ctest_trace.txt (99%) create mode 100644 test/golden_traces/MatrixTranspose_hip_flush_trace.txt create mode 100644 test/golden_traces/MatrixTranspose_hip_period_trace.txt create mode 100644 test/golden_traces/MatrixTranspose_mgpu_trace.txt create mode 100644 test/golden_traces/MatrixTranspose_sys_hsa_trace.txt create mode 100644 test/golden_traces/MatrixTranspose_sys_trace.txt create mode 100644 test/golden_traces/MatrixTranspose_test_trace.txt create mode 100644 test/golden_traces/ctrl_hsa_input_trace.txt create mode 100644 test/golden_traces/ctrl_hsa_trace.txt rename test/{ => golden_traces}/tests_trace_cmp_levels.txt (73%) diff --git a/script/check_trace.py b/script/check_trace.py index 967149cb8b..1c4c5de88f 100644 --- a/script/check_trace.py +++ b/script/check_trace.py @@ -41,14 +41,14 @@ def parse_trace_levels(filename): def check_trace_status(tracename): trace2level = parse_trace_levels(trace2level_filename) - trace = tracename + '.txt' - rtrace = tracename + '_r.txt' + trace = 'test/' + tracename + '.txt' + rtrace = tracename + '.txt' if os.path.basename(tracename) in trace2level: trace_level = trace2level[os.path.basename(tracename)] print 'Trace comparison for ' + os.path.basename(tracename) + ' is at level ' + str(trace_level) else: print 'Trace ' + os.path.basename(tracename) + ' not found in ' + trace2level_filename + ', defaulting to level 0' - return 0 + return 1 if trace_level == 1: cnt_r = gen_events_info(rtrace,'cnt') diff --git a/src/core/roctracer.cpp b/src/core/roctracer.cpp index daedb97db9..552f6014dc 100644 --- a/src/core/roctracer.cpp +++ b/src/core/roctracer.cpp @@ -853,6 +853,7 @@ static roctracer_status_t roctracer_enable_activity_fun( roctracer::hsa_support::async_copy_callback_enabled = true; } else { const bool init_phase = (roctracer::RocpLoader::GetRef() == NULL); + if (roctracer::RocpLoader::GetRef() == NULL) break; if (init_phase == true) { roctracer::RocpLoader::Instance().InitActivityCallback((void*)roctracer::HSA_AsyncActivityCallback, (void*)pool); diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 2082e2ef05..853271ba35 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -25,6 +25,7 @@ set ( CMAKE_VERBOSE_MAKEFILE TRUE CACHE BOOL "Verbose Output" FORCE ) ## Path to HSA test set ( HSA_TEST_DIR "${TEST_DIR}/hsa/test" ) +set ( HSA_REV "5c90a68" ) ## test run script set ( RUN_SCRIPT "${TEST_DIR}/run.sh" ) @@ -41,9 +42,8 @@ add_custom_target( mytest COMMAND C_TEST=1 ${TEST_CFLAGS} make -C "${TEST_DIR}/MatrixTranspose_test" COMMAND sh -xc "cp ${TEST_DIR}/MatrixTranspose_test/MatrixTranspose ${PROJECT_BINARY_DIR}/test/MatrixTranspose_ctest" # copy traces - COMMAND sh -xc "cp ${TEST_DIR}/MatrixTranspose*/*_trace.txt ${PROJECT_BINARY_DIR}/test/" - COMMAND sh -xc "cp ${TEST_DIR}/*_trace.txt ${PROJECT_BINARY_DIR}/test/" - COMMAND sh -xc "cp ${TEST_DIR}/tests_trace_cmp_levels.txt ${PROJECT_BINARY_DIR}/test/" + COMMAND sh -xc "cp ${TEST_DIR}/golden_traces/*_trace.txt ${PROJECT_BINARY_DIR}/test/" + COMMAND sh -xc "cp ${TEST_DIR}/golden_traces/tests_trace_cmp_levels.txt ${PROJECT_BINARY_DIR}/test/" ) ## Util sources @@ -58,9 +58,9 @@ target_link_libraries ( ${TEST_LIB} ${ROCTRACER_TARGET} ${HSA_RUNTIME_LIB} c std ## Build HSA test execute_process ( COMMAND sh -xc "if [ ! -e ${TEST_DIR}/hsa ] ; then git clone https://github.com/ROCmSoftwarePlatform/hsa-class.git ${TEST_DIR}/hsa; fi" ) -execute_process ( COMMAND sh -xc "if [ -e ${TEST_DIR}/hsa ] ; then cd ${TEST_DIR}/hsa && git fetch origin && git checkout 777c308; fi" ) +execute_process ( COMMAND sh -xc "if [ -e ${TEST_DIR}/hsa ] ; then cd ${TEST_DIR}/hsa && git fetch origin && git checkout ${HSA_REV}; fi" ) set ( TEST_DIR ${HSA_TEST_DIR} ) add_subdirectory ( ${TEST_DIR} ${PROJECT_BINARY_DIR}/test/hsa ) ## copying run script -execute_process ( COMMAND sh -xc "cp ${RUN_SCRIPT} ${PROJECT_BINARY_DIR}" ) \ No newline at end of file +execute_process ( COMMAND sh -xc "cp ${RUN_SCRIPT} ${PROJECT_BINARY_DIR}" ) diff --git a/test/MatrixTranspose/MatrixTranspose_hip_trace.txt b/test/MatrixTranspose/MatrixTranspose_hip_trace.txt deleted file mode 100644 index 860f8db54f..0000000000 --- a/test/MatrixTranspose/MatrixTranspose_hip_trace.txt +++ /dev/null @@ -1,466 +0,0 @@ -tool period test: "ROCP_CTRL_RATE=10:100000:1000000 ./test/MatrixTranspose" -ROCTracer (pid=116438): - HIP-trace() -ROCTracer: trace control: delay(10us), length(100000us), rate(1000000us) -Device name Vega 10 XT [Radeon RX Vega 64] -## Iteration (99) ################# -PASSED! -## Iteration (98) ################# -PASSED! -## Iteration (97) ################# -PASSED! -## Iteration (96) ################# -PASSED! -## Iteration (95) ################# -PASSED! -## Iteration (94) ################# -PASSED! -## Iteration (93) ################# -PASSED! -## Iteration (92) ################# -PASSED! -## Iteration (91) ################# -PASSED! -## Iteration (90) ################# -PASSED! -## Iteration (89) ################# -PASSED! -## Iteration (88) ################# -PASSED! -## Iteration (87) ################# -PASSED! -## Iteration (86) ################# -PASSED! -## Iteration (85) ################# -PASSED! -## Iteration (84) ################# -PASSED! -## Iteration (83) ################# -PASSED! -## Iteration (82) ################# -PASSED! -## Iteration (81) ################# -PASSED! -## Iteration (80) ################# -PASSED! -## Iteration (79) ################# -PASSED! -## Iteration (78) ################# -PASSED! -## Iteration (77) ################# -PASSED! -## Iteration (76) ################# -PASSED! -## Iteration (75) ################# -PASSED! -## Iteration (74) ################# -PASSED! -## Iteration (73) ################# -PASSED! -## Iteration (72) ################# -PASSED! -## Iteration (71) ################# -PASSED! -## Iteration (70) ################# -PASSED! -## Iteration (69) ################# -PASSED! -## Iteration (68) ################# -PASSED! -## Iteration (67) ################# -PASSED! -## Iteration (66) ################# -PASSED! -## Iteration (65) ################# -PASSED! -## Iteration (64) ################# -PASSED! -## Iteration (63) ################# -PASSED! -## Iteration (62) ################# -PASSED! -## Iteration (61) ################# -PASSED! -## Iteration (60) ################# -PASSED! -## Iteration (59) ################# -PASSED! -## Iteration (58) ################# -PASSED! -## Iteration (57) ################# -PASSED! -## Iteration (56) ################# -PASSED! -## Iteration (55) ################# -PASSED! -## Iteration (54) ################# -PASSED! -## Iteration (53) ################# -PASSED! -## Iteration (52) ################# -PASSED! -## Iteration (51) ################# -PASSED! -## Iteration (50) ################# -PASSED! -## Iteration (49) ################# -PASSED! -## Iteration (48) ################# -PASSED! -## Iteration (47) ################# -PASSED! -## Iteration (46) ################# -PASSED! -## Iteration (45) ################# -PASSED! -## Iteration (44) ################# -PASSED! -## Iteration (43) ################# -PASSED! -## Iteration (42) ################# -PASSED! -## Iteration (41) ################# -PASSED! -## Iteration (40) ################# -PASSED! -## Iteration (39) ################# -PASSED! -## Iteration (38) ################# -PASSED! -## Iteration (37) ################# -PASSED! -## Iteration (36) ################# -PASSED! -## Iteration (35) ################# -PASSED! -## Iteration (34) ################# -PASSED! -## Iteration (33) ################# -PASSED! -## Iteration (32) ################# -PASSED! -## Iteration (31) ################# -PASSED! -## Iteration (30) ################# -PASSED! -## Iteration (29) ################# -PASSED! -## Iteration (28) ################# -PASSED! -## Iteration (27) ################# -PASSED! -## Iteration (26) ################# -PASSED! -## Iteration (25) ################# -PASSED! -## Iteration (24) ################# -PASSED! -## Iteration (23) ################# -PASSED! -## Iteration (22) ################# -PASSED! -## Iteration (21) ################# -PASSED! -## Iteration (20) ################# -PASSED! -## Iteration (19) ################# -PASSED! -## Iteration (18) ################# -PASSED! -## Iteration (17) ################# -PASSED! -## Iteration (16) ################# -PASSED! -## Iteration (15) ################# -PASSED! -## Iteration (14) ################# -PASSED! -## Iteration (13) ################# -PASSED! -## Iteration (12) ################# -PASSED! -## Iteration (11) ################# -PASSED! -## Iteration (10) ################# -PASSED! -## Iteration (9) ################# -PASSED! -## Iteration (8) ################# -PASSED! -## Iteration (7) ################# -PASSED! -## Iteration (6) ################# -PASSED! -## Iteration (5) ################# -PASSED! -## Iteration (4) ################# -PASSED! -## Iteration (3) ################# -PASSED! -## Iteration (2) ################# -PASSED! -## Iteration (1) ################# -PASSED! -## Iteration (0) ################# -PASSED! -1822770162190096:1822770162201236 116438:116438 hipGetDeviceProperties() -1822770164732632:1822770164861753 116438:116438 hipMalloc(ptr(0x7fdfe4c00000) size(0x400000)) -1822770164862903:1822770164922593 116438:116438 hipMalloc(ptr(0x7fdfe4600000) size(0x400000)) -1822770164934104:1822770173240357 116438:116438 hipMemcpy(dst(0x7fdfe4c00000) src(0x20b7940) size(0x400000) kind(1)) -1822770173243647:1822770173243648 116438:116438 MARK(name(before HIP LaunchKernel)) -1822770618561423:1822770618561424 116438:116438 MARK(name(after HIP LaunchKernel)) -1822770636292136:1822770636292137 116438:116438 MARK(name(before HIP LaunchKernel)) -1822770636318946:1822770636318947 116438:116438 MARK(name(after HIP LaunchKernel)) -1822770649027427:1822770649027428 116438:116438 MARK(name(before HIP LaunchKernel)) -1822770649055147:1822770649055148 116438:116438 MARK(name(after HIP LaunchKernel)) -1822770661858819:1822770661858820 116438:116438 MARK(name(before HIP LaunchKernel)) -1822770661886030:1822770661886031 116438:116438 MARK(name(after HIP LaunchKernel)) -1822770674690761:1822770674690762 116438:116438 MARK(name(before HIP LaunchKernel)) -1822770674719182:1822770674719183 116438:116438 MARK(name(after HIP LaunchKernel)) -1822770687446783:1822770687446784 116438:116438 MARK(name(before HIP LaunchKernel)) -1822770687474763:1822770687474764 116438:116438 MARK(name(after HIP LaunchKernel)) -1822770700179044:1822770700179045 116438:116438 MARK(name(before HIP LaunchKernel)) -1822770700207174:1822770700207175 116438:116438 MARK(name(after HIP LaunchKernel)) -1822770713015755:1822770713015756 116438:116438 MARK(name(before HIP LaunchKernel)) -1822770713043885:1822770713043886 116438:116438 MARK(name(after HIP LaunchKernel)) -1822770725806637:1822770725806638 116438:116438 MARK(name(before HIP LaunchKernel)) -1822770725833717:1822770725833718 116438:116438 MARK(name(after HIP LaunchKernel)) -1822770738590118:1822770738590119 116438:116438 MARK(name(before HIP LaunchKernel)) -1822770738618148:1822770738618149 116438:116438 MARK(name(after HIP LaunchKernel)) -1822770751343939:1822770751343940 116438:116438 MARK(name(before HIP LaunchKernel)) -1822770751372549:1822770751372550 116438:116438 MARK(name(after HIP LaunchKernel)) -1822770764097681:1822770764097682 116438:116438 MARK(name(before HIP LaunchKernel)) -1822770764136631:1822770764136632 116438:116438 MARK(name(after HIP LaunchKernel)) -1822770776839992:1822770776839993 116438:116438 MARK(name(before HIP LaunchKernel)) -1822770776867912:1822770776867913 116438:116438 MARK(name(after HIP LaunchKernel)) -1822770789778774:1822770789778775 116438:116438 MARK(name(before HIP LaunchKernel)) -1822770789807094:1822770789807095 116438:116438 MARK(name(after HIP LaunchKernel)) -1822770802678836:1822770802678837 116438:116438 MARK(name(before HIP LaunchKernel)) -1822770802707166:1822770802707167 116438:116438 MARK(name(after HIP LaunchKernel)) -1822770815520828:1822770815520829 116438:116438 MARK(name(before HIP LaunchKernel)) -1822770815548698:1822770815548699 116438:116438 MARK(name(after HIP LaunchKernel)) -1822770828292289:1822770828292290 116438:116438 MARK(name(before HIP LaunchKernel)) -1822770828320769:1822770828320770 116438:116438 MARK(name(after HIP LaunchKernel)) -1822770841038531:1822770841038532 116438:116438 MARK(name(before HIP LaunchKernel)) -1822770841065971:1822770841065972 116438:116438 MARK(name(after HIP LaunchKernel)) -1822770853790232:1822770853790233 116438:116438 MARK(name(before HIP LaunchKernel)) -1822770853820062:1822770853820063 116438:116438 MARK(name(after HIP LaunchKernel)) -1822770866522263:1822770866522264 116438:116438 MARK(name(before HIP LaunchKernel)) -1822770866550493:1822770866550494 116438:116438 MARK(name(after HIP LaunchKernel)) -1822770879265854:1822770879265855 116438:116438 MARK(name(before HIP LaunchKernel)) -1822770879294035:1822770879294036 116438:116438 MARK(name(after HIP LaunchKernel)) -1822770892077246:1822770892077247 116438:116438 MARK(name(before HIP LaunchKernel)) -1822770892105206:1822770892105207 116438:116438 MARK(name(after HIP LaunchKernel)) -1822770904861617:1822770904861618 116438:116438 MARK(name(before HIP LaunchKernel)) -1822770904892457:1822770904892458 116438:116438 MARK(name(after HIP LaunchKernel)) -1822770917627368:1822770917627369 116438:116438 MARK(name(before HIP LaunchKernel)) -1822770917655519:1822770917655520 116438:116438 MARK(name(after HIP LaunchKernel)) -1822770930409670:1822770930409671 116438:116438 MARK(name(before HIP LaunchKernel)) -1822770930438360:1822770930438361 116438:116438 MARK(name(after HIP LaunchKernel)) -1822770943189151:1822770943189152 116438:116438 MARK(name(before HIP LaunchKernel)) -1822770943217081:1822770943217082 116438:116438 MARK(name(after HIP LaunchKernel)) -1822770956024813:1822770956024814 116438:116438 MARK(name(before HIP LaunchKernel)) -1822770956052314:1822770956052315 116438:116438 MARK(name(after HIP LaunchKernel)) -1822770968829485:1822770968829486 116438:116438 MARK(name(before HIP LaunchKernel)) -1822770968857945:1822770968857946 116438:116438 MARK(name(after HIP LaunchKernel)) -1822770981593826:1822770981593827 116438:116438 MARK(name(before HIP LaunchKernel)) -1822770981621566:1822770981621567 116438:116438 MARK(name(after HIP LaunchKernel)) -1822770994423678:1822770994423679 116438:116438 MARK(name(before HIP LaunchKernel)) -1822770994452568:1822770994452569 116438:116438 MARK(name(after HIP LaunchKernel)) -1822771007194429:1822771007194430 116438:116438 MARK(name(before HIP LaunchKernel)) -1822771007221919:1822771007221920 116438:116438 MARK(name(after HIP LaunchKernel)) -1822771020222042:1822771020222043 116438:116438 MARK(name(before HIP LaunchKernel)) -1822771020249972:1822771020249973 116438:116438 MARK(name(after HIP LaunchKernel)) -1822771032985534:1822771032985535 116438:116438 MARK(name(before HIP LaunchKernel)) -1822771033013724:1822771033013725 116438:116438 MARK(name(after HIP LaunchKernel)) -1822771045714144:1822771045714145 116438:116438 MARK(name(before HIP LaunchKernel)) -1822771045741935:1822771045741936 116438:116438 MARK(name(after HIP LaunchKernel)) -1822771058596217:1822771058596218 116438:116438 MARK(name(before HIP LaunchKernel)) -1822771058624617:1822771058624618 116438:116438 MARK(name(after HIP LaunchKernel)) -1822771071441309:1822771071441310 116438:116438 MARK(name(before HIP LaunchKernel)) -1822771071469609:1822771071469610 116438:116438 MARK(name(after HIP LaunchKernel)) -1822771084319850:1822771084319851 116438:116438 MARK(name(before HIP LaunchKernel)) -1822771084348361:1822771084348362 116438:116438 MARK(name(after HIP LaunchKernel)) -1822771097128132:1822771097128133 116438:116438 MARK(name(before HIP LaunchKernel)) -1822771097156612:1822771097156613 116438:116438 MARK(name(after HIP LaunchKernel)) -1822771109883183:1822771109883184 116438:116438 MARK(name(before HIP LaunchKernel)) -1822771109921563:1822771109921564 116438:116438 MARK(name(after HIP LaunchKernel)) -1822771122729855:1822771122729856 116438:116438 MARK(name(before HIP LaunchKernel)) -1822771122757155:1822771122757156 116438:116438 MARK(name(after HIP LaunchKernel)) -1822771135568637:1822771135568638 116438:116438 MARK(name(before HIP LaunchKernel)) -1822771135597657:1822771135597658 116438:116438 MARK(name(after HIP LaunchKernel)) -1822771148375219:1822771148375220 116438:116438 MARK(name(before HIP LaunchKernel)) -1822771148403629:1822771148403630 116438:116438 MARK(name(after HIP LaunchKernel)) -1822771159180137:1822771161235110 116438:116438 hipMemcpy(dst(0x7fdfe4c00000) src(0x20b7940) size(0x400000) kind(1)) -1822771161236660:1822771161236661 116438:116438 MARK(name(before HIP LaunchKernel)) -1822771161248381:1822771161264431 116438:116438 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822771161285751:1822771161285752 116438:116438 MARK(name(after HIP LaunchKernel)) -1822771161287281:1822771165514938 116438:116438 hipMemcpy(dst(0x24b7950) src(0x7fdfe4600000) size(0x400000) kind(2)) -1822771171918848:1822771173984782 116438:116438 hipMemcpy(dst(0x7fdfe4c00000) src(0x20b7940) size(0x400000) kind(1)) -1822771173986152:1822771173986153 116438:116438 MARK(name(before HIP LaunchKernel)) -1822771173996942:1822771174012792 116438:116438 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822771174014272:1822771174014273 116438:116438 MARK(name(after HIP LaunchKernel)) -1822771174015382:1822771178279619 116438:116438 hipMemcpy(dst(0x24b7950) src(0x7fdfe4600000) size(0x400000) kind(2)) -1822771184673329:1822771186731413 116438:116438 hipMemcpy(dst(0x7fdfe4c00000) src(0x20b7940) size(0x400000) kind(1)) -1822771186732863:1822771186732864 116438:116438 MARK(name(before HIP LaunchKernel)) -1822771186744233:1822771186760743 116438:116438 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822771186761783:1822771186761784 116438:116438 MARK(name(after HIP LaunchKernel)) -1822771186762873:1822771191066460 116438:116438 hipMemcpy(dst(0x24b7950) src(0x7fdfe4600000) size(0x400000) kind(2)) -1822771197562312:1822771199606165 116438:116438 hipMemcpy(dst(0x7fdfe4c00000) src(0x20b7940) size(0x400000) kind(1)) -1822771199607685:1822771199607686 116438:116438 MARK(name(before HIP LaunchKernel)) -1822771199618535:1822771199634505 116438:116438 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822771199635835:1822771199635836 116438:116438 MARK(name(after HIP LaunchKernel)) -1822771199636915:1822771203924882 116438:116438 hipMemcpy(dst(0x24b7950) src(0x7fdfe4600000) size(0x400000) kind(2)) -1822771210390814:1822771212448587 116438:116438 hipMemcpy(dst(0x7fdfe4c00000) src(0x20b7940) size(0x400000) kind(1)) -1822771212450127:1822771212450128 116438:116438 MARK(name(before HIP LaunchKernel)) -1822771212462917:1822771212479457 116438:116438 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822771212480477:1822771212480478 116438:116438 MARK(name(after HIP LaunchKernel)) -1822771212481567:1822771216792744 116438:116438 hipMemcpy(dst(0x24b7950) src(0x7fdfe4600000) size(0x400000) kind(2)) -1822771223198475:1822771225253498 116438:116438 hipMemcpy(dst(0x7fdfe4c00000) src(0x20b7940) size(0x400000) kind(1)) -1822771225255288:1822771225255289 116438:116438 MARK(name(before HIP LaunchKernel)) -1822771225266888:1822771225282819 116438:116438 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822771225283809:1822771225283810 116438:116438 MARK(name(after HIP LaunchKernel)) -1822771225284909:1822771229566596 116438:116438 hipMemcpy(dst(0x24b7950) src(0x7fdfe4600000) size(0x400000) kind(2)) -1822771236041977:1822771238101610 116438:116438 hipMemcpy(dst(0x7fdfe4c00000) src(0x20b7940) size(0x400000) kind(1)) -1822771238103080:1822771238103081 116438:116438 MARK(name(before HIP LaunchKernel)) -1822771238113820:1822771238129850 116438:116438 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822771238130840:1822771238130841 116438:116438 MARK(name(after HIP LaunchKernel)) -1822771238131950:1822771242369628 116438:116438 hipMemcpy(dst(0x24b7950) src(0x7fdfe4600000) size(0x400000) kind(2)) -1822771248769078:1822771250830021 116438:116438 hipMemcpy(dst(0x7fdfe4c00000) src(0x20b7940) size(0x400000) kind(1)) -1822771250831601:1822771250831602 116438:116438 MARK(name(before HIP LaunchKernel)) -1822771250842911:1822771250858631 116438:116438 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822771250859621:1822771250859622 116438:116438 MARK(name(after HIP LaunchKernel)) -1822771250860701:1822771255145869 116438:116438 hipMemcpy(dst(0x24b7950) src(0x7fdfe4600000) size(0x400000) kind(2)) -1822771263595032:1822771263595033 116438:116438 MARK(name(before HIP LaunchKernel)) -1822771263622582:1822771263622583 116438:116438 MARK(name(after HIP LaunchKernel)) -1822771276404694:1822771276404695 116438:116438 MARK(name(before HIP LaunchKernel)) -1822771276431864:1822771276431865 116438:116438 MARK(name(after HIP LaunchKernel)) -1822771289132475:1822771289132476 116438:116438 MARK(name(before HIP LaunchKernel)) -1822771289160596:1822771289160597 116438:116438 MARK(name(after HIP LaunchKernel)) -1822771301911557:1822771301911558 116438:116438 MARK(name(before HIP LaunchKernel)) -1822771301950127:1822771301950128 116438:116438 MARK(name(after HIP LaunchKernel)) -1822771314764229:1822771314764230 116438:116438 MARK(name(before HIP LaunchKernel)) -1822771314791509:1822771314791510 116438:116438 MARK(name(after HIP LaunchKernel)) -1822771327616470:1822771327616471 116438:116438 MARK(name(before HIP LaunchKernel)) -1822771327644471:1822771327644472 116438:116438 MARK(name(after HIP LaunchKernel)) -1822771340467792:1822771340467793 116438:116438 MARK(name(before HIP LaunchKernel)) -1822771340495392:1822771340495393 116438:116438 MARK(name(after HIP LaunchKernel)) -1822771353284764:1822771353284765 116438:116438 MARK(name(before HIP LaunchKernel)) -1822771353314034:1822771353314035 116438:116438 MARK(name(after HIP LaunchKernel)) -1822771366027805:1822771366027806 116438:116438 MARK(name(before HIP LaunchKernel)) -1822771366054975:1822771366054976 116438:116438 MARK(name(after HIP LaunchKernel)) -1822771378747056:1822771378747057 116438:116438 MARK(name(before HIP LaunchKernel)) -1822771378775616:1822771378775617 116438:116438 MARK(name(after HIP LaunchKernel)) -1822771391520358:1822771391520359 116438:116438 MARK(name(before HIP LaunchKernel)) -1822771391548328:1822771391548329 116438:116438 MARK(name(after HIP LaunchKernel)) -1822771404259849:1822771404259850 116438:116438 MARK(name(before HIP LaunchKernel)) -1822771404287629:1822771404287630 116438:116438 MARK(name(after HIP LaunchKernel)) -1822771417078650:1822771417078651 116438:116438 MARK(name(before HIP LaunchKernel)) -1822771417105521:1822771417105522 116438:116438 MARK(name(after HIP LaunchKernel)) -1822771429921622:1822771429921623 116438:116438 MARK(name(before HIP LaunchKernel)) -1822771429948912:1822771429948913 116438:116438 MARK(name(after HIP LaunchKernel)) -1822771442703863:1822771442703864 116438:116438 MARK(name(before HIP LaunchKernel)) -1822771442732114:1822771442732115 116438:116438 MARK(name(after HIP LaunchKernel)) -1822771455546175:1822771455546176 116438:116438 MARK(name(before HIP LaunchKernel)) -1822771455574765:1822771455574766 116438:116438 MARK(name(after HIP LaunchKernel)) -1822771468309596:1822771468309597 116438:116438 MARK(name(before HIP LaunchKernel)) -1822771468337556:1822771468337557 116438:116438 MARK(name(after HIP LaunchKernel)) -1822771481124388:1822771481124389 116438:116438 MARK(name(before HIP LaunchKernel)) -1822771481151899:1822771481151900 116438:116438 MARK(name(after HIP LaunchKernel)) -1822771493874879:1822771493874880 116438:116438 MARK(name(before HIP LaunchKernel)) -1822771493904120:1822771493904121 116438:116438 MARK(name(after HIP LaunchKernel)) -1822771506687371:1822771506687372 116438:116438 MARK(name(before HIP LaunchKernel)) -1822771506715871:1822771506715872 116438:116438 MARK(name(after HIP LaunchKernel)) -1822771519464533:1822771519464534 116438:116438 MARK(name(before HIP LaunchKernel)) -1822771519492293:1822771519492294 116438:116438 MARK(name(after HIP LaunchKernel)) -1822771532279194:1822771532279195 116438:116438 MARK(name(before HIP LaunchKernel)) -1822771532307234:1822771532307235 116438:116438 MARK(name(after HIP LaunchKernel)) -1822771545016015:1822771545016016 116438:116438 MARK(name(before HIP LaunchKernel)) -1822771545044205:1822771545044206 116438:116438 MARK(name(after HIP LaunchKernel)) -1822771557801846:1822771557801847 116438:116438 MARK(name(before HIP LaunchKernel)) -1822771557829627:1822771557829628 116438:116438 MARK(name(after HIP LaunchKernel)) -1822771570644168:1822771570644169 116438:116438 MARK(name(before HIP LaunchKernel)) -1822771570672029:1822771570672030 116438:116438 MARK(name(after HIP LaunchKernel)) -1822771583412800:1822771583412801 116438:116438 MARK(name(before HIP LaunchKernel)) -1822771583440560:1822771583440561 116438:116438 MARK(name(after HIP LaunchKernel)) -1822771596207231:1822771596207232 116438:116438 MARK(name(before HIP LaunchKernel)) -1822771596235072:1822771596235073 116438:116438 MARK(name(after HIP LaunchKernel)) -1822771609169614:1822771609169615 116438:116438 MARK(name(before HIP LaunchKernel)) -1822771609198584:1822771609198585 116438:116438 MARK(name(after HIP LaunchKernel)) -1822771621935145:1822771621935146 116438:116438 MARK(name(before HIP LaunchKernel)) -1822771621963045:1822771621963046 116438:116438 MARK(name(after HIP LaunchKernel)) -1822771634755077:1822771634755078 116438:116438 MARK(name(before HIP LaunchKernel)) -1822771634782347:1822771634782348 116438:116438 MARK(name(after HIP LaunchKernel)) -1822771647514558:1822771647514559 116438:116438 MARK(name(before HIP LaunchKernel)) -1822771647554188:1822771647554189 116438:116438 MARK(name(after HIP LaunchKernel)) -1822771660410781:1822771660410782 116438:116438 MARK(name(before HIP LaunchKernel)) -1822771660438721:1822771660438722 116438:116438 MARK(name(after HIP LaunchKernel)) -1822771673205902:1822771673205903 116438:116438 MARK(name(before HIP LaunchKernel)) -1822771673233972:1822771673233973 116438:116438 MARK(name(after HIP LaunchKernel)) -1822771686004863:1822771686004864 116438:116438 MARK(name(before HIP LaunchKernel)) -1822771686032954:1822771686032955 116438:116438 MARK(name(after HIP LaunchKernel)) -1822771698793305:1822771698793306 116438:116438 MARK(name(before HIP LaunchKernel)) -1822771698821805:1822771698821806 116438:116438 MARK(name(after HIP LaunchKernel)) -1822771711576346:1822771711576347 116438:116438 MARK(name(before HIP LaunchKernel)) -1822771711604186:1822771711604187 116438:116438 MARK(name(after HIP LaunchKernel)) -1822771724367387:1822771724367388 116438:116438 MARK(name(before HIP LaunchKernel)) -1822771724394878:1822771724394879 116438:116438 MARK(name(after HIP LaunchKernel)) -1822771737130739:1822771737130740 116438:116438 MARK(name(before HIP LaunchKernel)) -1822771737160079:1822771737160080 116438:116438 MARK(name(after HIP LaunchKernel)) -1822771749894700:1822771749894701 116438:116438 MARK(name(before HIP LaunchKernel)) -1822771749922980:1822771749922981 116438:116438 MARK(name(after HIP LaunchKernel)) -1822771762658122:1822771762658123 116438:116438 MARK(name(before HIP LaunchKernel)) -1822771762686292:1822771762686293 116438:116438 MARK(name(after HIP LaunchKernel)) -1822771775443853:1822771775443854 116438:116438 MARK(name(before HIP LaunchKernel)) -1822771775471433:1822771775471434 116438:116438 MARK(name(after HIP LaunchKernel)) -1822771788218125:1822771788218126 116438:116438 MARK(name(before HIP LaunchKernel)) -1822771788245825:1822771788245826 116438:116438 MARK(name(after HIP LaunchKernel)) -1822771801042946:1822771801042947 116438:116438 MARK(name(before HIP LaunchKernel)) -1822771801071416:1822771801071417 116438:116438 MARK(name(after HIP LaunchKernel)) -1822771813839688:1822771813839689 116438:116438 MARK(name(before HIP LaunchKernel)) -1822771813867578:1822771813867579 116438:116438 MARK(name(after HIP LaunchKernel)) -1822771826878471:1822771826878472 116438:116438 MARK(name(before HIP LaunchKernel)) -1822771826906261:1822771826906262 116438:116438 MARK(name(after HIP LaunchKernel)) -1822771839641572:1822771839641573 116438:116438 MARK(name(before HIP LaunchKernel)) -1822771839669053:1822771839669054 116438:116438 MARK(name(after HIP LaunchKernel)) -1822771852458764:1822771852458765 116438:116438 MARK(name(before HIP LaunchKernel)) -1822771852485704:1822771852485705 116438:116438 MARK(name(after HIP LaunchKernel)) -1822771865247615:1822771865247616 116438:116438 MARK(name(before HIP LaunchKernel)) -1822771865275756:1822771865275757 116438:116438 MARK(name(after HIP LaunchKernel)) -1822771878163408:1822771878163409 116438:116438 MARK(name(before HIP LaunchKernel)) -1822771878191438:1822771878191439 116438:116438 MARK(name(after HIP LaunchKernel)) -1822771891031999:1822771891032000 116438:116438 MARK(name(before HIP LaunchKernel)) -1822771891060780:1822771891060781 116438:116438 MARK(name(after HIP LaunchKernel)) -1822770164959094:1822770173233007 0:0 hcMemcpyHostToDevice:4 -1822771159196627:1822771161231010 0:0 hcMemcpyHostToDevice:89 -1822771161271486:1822771162462508 0:0 hcCommandKernel:91 -1822771162546779:1822771165512668 0:0 hcMemcpyDeviceToHost:93 -1822771171936428:1822771173981162 0:0 hcMemcpyHostToDevice:94 -1822771174019952:1822771175216159 0:0 hcCommandKernel:96 -1822771162467378:1822771162499379 0:0 hcCommandMarker:93 -1822771175297180:1822771178277099 0:0 hcMemcpyDeviceToHost:98 -1822771184690200:1822771186728003 0:0 hcMemcpyHostToDevice:99 -1822771186767974:1822771187965367 0:0 hcCommandKernel:101 -1822771175221178:1822771175252439 0:0 hcCommandMarker:98 -1822771188052511:1822771191063960 0:0 hcMemcpyDeviceToHost:103 -1822771197579732:1822771199602785 0:0 hcMemcpyHostToDevice:104 -1822771199641385:1822771200839370 0:0 hcCommandKernel:106 -1822771187970434:1822771188001695 0:0 hcCommandMarker:103 -1822771200920833:1822771203922192 0:0 hcMemcpyDeviceToHost:108 -1822771210408554:1822771212444577 0:0 hcMemcpyHostToDevice:109 -1822771212486611:1822771213670374 0:0 hcCommandKernel:111 -1822771200844255:1822771200875960 0:0 hcCommandMarker:108 -1822771213752345:1822771216790154 0:0 hcMemcpyDeviceToHost:113 -1822771223214605:1822771225250368 0:0 hcMemcpyHostToDevice:114 -1822771225289765:1822771226493528 0:0 hcCommandKernel:116 -1822771213675410:1822771213707115 0:0 hcCommandMarker:113 -1822771226574837:1822771229564026 0:0 hcMemcpyDeviceToHost:118 -1822771236058777:1822771238097360 0:0 hcMemcpyHostToDevice:119 -1822771238136777:1822771239325132 0:0 hcCommandKernel:121 -1822771226498570:1822771226530127 0:0 hcCommandMarker:118 -1822771239406108:1822771242367398 0:0 hcMemcpyDeviceToHost:123 -1822771248787248:1822771250826071 0:0 hcMemcpyHostToDevice:124 -1822771250866138:1822771252059234 0:0 hcCommandKernel:126 -1822771239330157:1822771239361418 0:0 hcCommandMarker:123 -1822771252142610:1822771255143279 0:0 hcMemcpyDeviceToHost:128 -1822771252064420:1822771252095680 0:0 hcCommandMarker:128 diff --git a/test/MatrixTranspose/MatrixTranspose_mgpu_trace.txt b/test/MatrixTranspose/MatrixTranspose_mgpu_trace.txt deleted file mode 100644 index 7fc1b7fa10..0000000000 --- a/test/MatrixTranspose/MatrixTranspose_mgpu_trace.txt +++ /dev/null @@ -1,6719 +0,0 @@ -# INIT ############################# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Number of GPUs: 1 -# START (99) ############################# - - - - - - - - -Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - - - ptr(0x7ffd15195b38) size(0x400000) - - - - - - - - *ptr(0x0x7fdccfa00000) - - - - ptr(0x7ffd15195b30) size(0x400000) - - - - - - - - *ptr(0x0x7fdccf400000) - - - - dst(0x7fdccfa00000) src(0x10de660) size(0x400000) kind(1) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - dst(0x14de670) src(0x7fdccf400000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - -PASSED! - - - - ptr(0x7fdccfa00000) - - - - - - - - - - ptr(0x7fdccf400000) - - - - - - -# START (98) ############################# -Device 0 name: Vega 10 XT [Radeon RX Vega 64] -PASSED! -# START (97) ############################# - - - - - - - - -Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - - - ptr(0x7ffd15195b38) size(0x400000) - - - - - - - - *ptr(0x0x7fdccfa00000) - - - - ptr(0x7ffd15195b30) size(0x400000) - - - - - - - - *ptr(0x0x7fdccf400000) - - - - dst(0x7fdccfa00000) src(0x658fb00) size(0x400000) kind(1) - - - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x10de660) src(0x7fdccf400000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - -PASSED! - - - - ptr(0x7fdccfa00000) - - - - - - - - - - ptr(0x7fdccf400000) - - - - - - -# START (96) ############################# -Device 0 name: Vega 10 XT [Radeon RX Vega 64] -PASSED! -# START (95) ############################# - - - - - - - - -Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - - - ptr(0x7ffd15195b38) size(0x400000) - - - - - - - - *ptr(0x0x7fdccfa00000) - - - - ptr(0x7ffd15195b30) size(0x400000) - - - - - - - - *ptr(0x0x7fdccf400000) - - - - dst(0x7fdccfa00000) src(0x658fb00) size(0x400000) kind(1) - - - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x10de660) src(0x7fdccf400000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - -PASSED! - - - - ptr(0x7fdccfa00000) - - - - - - - - - - ptr(0x7fdccf400000) - - - - - - -# START (94) ############################# -Device 0 name: Vega 10 XT [Radeon RX Vega 64] -PASSED! -# START (93) ############################# - - - - - - - - -Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - - - ptr(0x7ffd15195b38) size(0x400000) - - - - - - - - *ptr(0x0x7fdccfa00000) - - - - ptr(0x7ffd15195b30) size(0x400000) - - - - - - - - *ptr(0x0x7fdccf400000) - - - - dst(0x7fdccfa00000) src(0x658fb00) size(0x400000) kind(1) - - - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x10de660) src(0x7fdccf400000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - Activity records: - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - bytes(0x400000) - external_id(32) - process_id(26224) thread_id(26224) - external_id(33) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - device_id(0) queue_id(0) - bytes(0x400000) - external_id(32) - process_id(26224) thread_id(26224) - external_id(31) - process_id(26224) thread_id(26224) - external_id(31) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - bytes(0x400000) - external_id(32) - process_id(26224) thread_id(26224) - external_id(33) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - device_id(0) queue_id(0) - bytes(0x400000) - external_id(32) - process_id(26224) thread_id(26224) - external_id(31) - process_id(26224) thread_id(26224) - external_id(31) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - bytes(0x400000) - external_id(32) - process_id(26224) thread_id(26224) - external_id(33) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - device_id(0) queue_id(0) - bytes(0x400000) - external_id(32) - process_id(26224) thread_id(26224) - external_id(31) - process_id(26224) thread_id(26224) - external_id(31) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - bytes(0x400000) - external_id(32) - process_id(26224) thread_id(26224) - external_id(33) - process_id(26224) thread_id(26224) - - - - - - -PASSED! - - - - ptr(0x7fdccfa00000) - - - - - - - - - - ptr(0x7fdccf400000) - - - - - - -# START (92) ############################# -Device 0 name: Vega 10 XT [Radeon RX Vega 64] -PASSED! -# START (91) ############################# - - - - - - - - -Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - - - ptr(0x7ffd15195b38) size(0x400000) - - - - - - - - *ptr(0x0x7fdccfa00000) - - - - ptr(0x7ffd15195b30) size(0x400000) - - - - - - - - *ptr(0x0x7fdccf400000) - - - - dst(0x7fdccfa00000) src(0x658fb00) size(0x400000) kind(1) - - - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x10de660) src(0x7fdccf400000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - -PASSED! - - - - ptr(0x7fdccfa00000) - - - - - - - - - - ptr(0x7fdccf400000) - - - - - - -# START (90) ############################# -Device 0 name: Vega 10 XT [Radeon RX Vega 64] -PASSED! -# START (89) ############################# - - - - - - - - -Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - - - ptr(0x7ffd15195b38) size(0x400000) - - - - - - - - *ptr(0x0x7fdccfa00000) - - - - ptr(0x7ffd15195b30) size(0x400000) - - - - - - - - *ptr(0x0x7fdccf400000) - - - - dst(0x7fdccfa00000) src(0x658fb00) size(0x400000) kind(1) - - - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x10de660) src(0x7fdccf400000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - -PASSED! - - - - ptr(0x7fdccfa00000) - - - - - - - - - - ptr(0x7fdccf400000) - - - - - - -# START (88) ############################# -Device 0 name: Vega 10 XT [Radeon RX Vega 64] -PASSED! -# START (87) ############################# - - - - - - - - -Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - - - ptr(0x7ffd15195b38) size(0x400000) - - - - - - - - *ptr(0x0x7fdccfa00000) - - - - ptr(0x7ffd15195b30) size(0x400000) - - - - - - - - *ptr(0x0x7fdccf400000) - - - - dst(0x7fdccfa00000) src(0x658fb00) size(0x400000) kind(1) - - - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x10de660) src(0x7fdccf400000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - -PASSED! - - - - ptr(0x7fdccfa00000) - - - - - - - - - - ptr(0x7fdccf400000) - - - - - - -# START (86) ############################# -Device 0 name: Vega 10 XT [Radeon RX Vega 64] -PASSED! -# START (85) ############################# - - - - - - - - -Device 0 name: Vega 10 XT [Radeon RX Vega 64] - Activity records: - device_id(0) queue_id(0) - device_id(0) queue_id(0) - bytes(0x400000) - external_id(32) - process_id(26224) thread_id(26224) - external_id(31) - process_id(26224) thread_id(26224) - external_id(31) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - bytes(0x400000) - external_id(32) - process_id(26224) thread_id(26224) - external_id(33) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - device_id(0) queue_id(0) - bytes(0x400000) - external_id(32) - process_id(26224) thread_id(26224) - external_id(31) - process_id(26224) thread_id(26224) - external_id(31) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - bytes(0x400000) - external_id(32) - process_id(26224) thread_id(26224) - external_id(33) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - device_id(0) queue_id(0) - bytes(0x400000) - external_id(32) - process_id(26224) thread_id(26224) - external_id(31) - process_id(26224) thread_id(26224) - external_id(31) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - bytes(0x400000) - external_id(32) - process_id(26224) thread_id(26224) - external_id(33) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - device_id(0) queue_id(0) - bytes(0x400000) - external_id(32) - process_id(26224) thread_id(26224) - external_id(31) - process_id(26224) thread_id(26224) - external_id(31) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - process_id(26224) thread_id(26224) - - - - ptr(0x7ffd15195b38) size(0x400000) - - - - - - - - *ptr(0x0x7fdccfa00000) - - - - ptr(0x7ffd15195b30) size(0x400000) - - - - - - - - *ptr(0x0x7fdccf400000) - - - - dst(0x7fdccfa00000) src(0x658fb00) size(0x400000) kind(1) - - - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x10de660) src(0x7fdccf400000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - -PASSED! - - - - ptr(0x7fdccfa00000) - - - - - - - - - - ptr(0x7fdccf400000) - - - - - - -# START (84) ############################# -Device 0 name: Vega 10 XT [Radeon RX Vega 64] -PASSED! -# START (83) ############################# - - - - - - - - -Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - - - ptr(0x7ffd15195b38) size(0x400000) - - - - - - - - *ptr(0x0x7fdccfa00000) - - - - ptr(0x7ffd15195b30) size(0x400000) - - - - - - - - *ptr(0x0x7fdccf400000) - - - - dst(0x7fdccfa00000) src(0x658fb00) size(0x400000) kind(1) - - - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x10de660) src(0x7fdccf400000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - -PASSED! - - - - ptr(0x7fdccfa00000) - - - - - - - - - - ptr(0x7fdccf400000) - - - - - - -# START (82) ############################# -Device 0 name: Vega 10 XT [Radeon RX Vega 64] -PASSED! -# START (81) ############################# - - - - - - - - -Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - - - ptr(0x7ffd15195b38) size(0x400000) - - - - - - - - *ptr(0x0x7fdccfa00000) - - - - ptr(0x7ffd15195b30) size(0x400000) - - - - - - - - *ptr(0x0x7fdccf400000) - - - - dst(0x7fdccfa00000) src(0x658fb00) size(0x400000) kind(1) - - - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x10de660) src(0x7fdccf400000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - -PASSED! - - - - ptr(0x7fdccfa00000) - - - - - - - - - - ptr(0x7fdccf400000) - - - - - - -# START (80) ############################# -Device 0 name: Vega 10 XT [Radeon RX Vega 64] -PASSED! -# START (79) ############################# - - - - - - - - -Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - - - ptr(0x7ffd15195b38) size(0x400000) - - - - - - - - *ptr(0x0x7fdccfa00000) - - - - ptr(0x7ffd15195b30) size(0x400000) - - - - - - - - *ptr(0x0x7fdccf400000) - - - - dst(0x7fdccfa00000) src(0x658fb00) size(0x400000) kind(1) - - - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x10de660) src(0x7fdccf400000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - Activity records: - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - bytes(0x400000) - external_id(32) - process_id(26224) thread_id(26224) - external_id(33) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - device_id(0) queue_id(0) - bytes(0x400000) - external_id(32) - process_id(26224) thread_id(26224) - external_id(31) - process_id(26224) thread_id(26224) - external_id(31) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - bytes(0x400000) - external_id(32) - process_id(26224) thread_id(26224) - external_id(33) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - device_id(0) queue_id(0) - bytes(0x400000) - external_id(32) - process_id(26224) thread_id(26224) - external_id(31) - process_id(26224) thread_id(26224) - external_id(31) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - bytes(0x400000) - external_id(32) - process_id(26224) thread_id(26224) - external_id(33) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - device_id(0) queue_id(0) - bytes(0x400000) - external_id(32) - process_id(26224) thread_id(26224) - external_id(31) - process_id(26224) thread_id(26224) - external_id(31) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - bytes(0x400000) - external_id(32) - process_id(26224) thread_id(26224) - external_id(33) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - device_id(0) queue_id(0) - bytes(0x400000) -PASSED! - - - - ptr(0x7fdccfa00000) - - - - - - - - - - ptr(0x7fdccf400000) - - - - - - -# START (78) ############################# -Device 0 name: Vega 10 XT [Radeon RX Vega 64] -PASSED! -# START (77) ############################# - - - - - - - - -Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - - - ptr(0x7ffd15195b38) size(0x400000) - - - - - - - - *ptr(0x0x7fdccfa00000) - - - - ptr(0x7ffd15195b30) size(0x400000) - - - - - - - - *ptr(0x0x7fdccf400000) - - - - dst(0x7fdccfa00000) src(0x658fb00) size(0x400000) kind(1) - - - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x10de660) src(0x7fdccf400000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - -PASSED! - - - - ptr(0x7fdccfa00000) - - - - - - - - - - ptr(0x7fdccf400000) - - - - - - -# START (76) ############################# -Device 0 name: Vega 10 XT [Radeon RX Vega 64] -PASSED! -# START (75) ############################# - - - - - - - - -Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - - - ptr(0x7ffd15195b38) size(0x400000) - - - - - - - - *ptr(0x0x7fdccfa00000) - - - - ptr(0x7ffd15195b30) size(0x400000) - - - - - - - - *ptr(0x0x7fdccf400000) - - - - dst(0x7fdccfa00000) src(0x658fb00) size(0x400000) kind(1) - - - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x10de660) src(0x7fdccf400000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - -PASSED! - - - - ptr(0x7fdccfa00000) - - - - - - - - - - ptr(0x7fdccf400000) - - - - - - -# START (74) ############################# -Device 0 name: Vega 10 XT [Radeon RX Vega 64] -PASSED! -# START (73) ############################# - - - - - - - - -Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - - - ptr(0x7ffd15195b38) size(0x400000) - - - - - - - - *ptr(0x0x7fdccfa00000) - - - - ptr(0x7ffd15195b30) size(0x400000) - - - - - - - - *ptr(0x0x7fdccf400000) - - - - dst(0x7fdccfa00000) src(0x658fb00) size(0x400000) kind(1) - - - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x10de660) src(0x7fdccf400000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - -PASSED! - - - - ptr(0x7fdccfa00000) - - - - - - - - - - ptr(0x7fdccf400000) - - - - - - -# START (72) ############################# -Device 0 name: Vega 10 XT [Radeon RX Vega 64] -PASSED! -# START (71) ############################# - - - - - - - - -Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - - - ptr(0x7ffd15195b38) size(0x400000) - - - - - - - - *ptr(0x0x7fdccfa00000) - - - - ptr(0x7ffd15195b30) size(0x400000) - - - - - - - - *ptr(0x0x7fdccf400000) - - - - dst(0x7fdccfa00000) src(0x658fb00) size(0x400000) kind(1) - Activity records: - - - - - external_id(32) - process_id(26224) thread_id(26224) - external_id(31) - process_id(26224) thread_id(26224) - external_id(31) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - bytes(0x400000) - external_id(32) - process_id(26224) thread_id(26224) - external_id(33) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - device_id(0) queue_id(0) - bytes(0x400000) - external_id(32) - process_id(26224) thread_id(26224) - external_id(31) - process_id(26224) thread_id(26224) - external_id(31) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - bytes(0x400000) - external_id(32) - process_id(26224) thread_id(26224) - external_id(33) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - device_id(0) queue_id(0) - bytes(0x400000) - external_id(32) - process_id(26224) thread_id(26224) - external_id(31) - process_id(26224) thread_id(26224) - external_id(31) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - bytes(0x400000) - external_id(32) - process_id(26224) thread_id(26224) - external_id(33) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - device_id(0) queue_id(0) - bytes(0x400000) - external_id(32) - process_id(26224) thread_id(26224) - external_id(31) - process_id(26224) thread_id(26224) - external_id(31) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x10de660) src(0x7fdccf400000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - -PASSED! - - - - ptr(0x7fdccfa00000) - - - - - - - - - - ptr(0x7fdccf400000) - - - - - - -# START (70) ############################# -Device 0 name: Vega 10 XT [Radeon RX Vega 64] -PASSED! -# START (69) ############################# - - - - - - - - -Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - - - ptr(0x7ffd15195b38) size(0x400000) - - - - - - - - *ptr(0x0x7fdccfa00000) - - - - ptr(0x7ffd15195b30) size(0x400000) - - - - - - - - *ptr(0x0x7fdccf400000) - - - - dst(0x7fdccfa00000) src(0x658fb00) size(0x400000) kind(1) - - - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x10de660) src(0x7fdccf400000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - -PASSED! - - - - ptr(0x7fdccfa00000) - - - - - - - - - - ptr(0x7fdccf400000) - - - - - - -# START (68) ############################# -Device 0 name: Vega 10 XT [Radeon RX Vega 64] -PASSED! -# START (67) ############################# - - - - - - - - -Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - - - ptr(0x7ffd15195b38) size(0x400000) - - - - - - - - *ptr(0x0x7fdccfa00000) - - - - ptr(0x7ffd15195b30) size(0x400000) - - - - - - - - *ptr(0x0x7fdccf400000) - - - - dst(0x7fdccfa00000) src(0x658fb00) size(0x400000) kind(1) - - - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x10de660) src(0x7fdccf400000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - -PASSED! - - - - ptr(0x7fdccfa00000) - - - - - - - - - - ptr(0x7fdccf400000) - - - - - - -# START (66) ############################# -Device 0 name: Vega 10 XT [Radeon RX Vega 64] -PASSED! -# START (65) ############################# - - - - - - - - -Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - - - ptr(0x7ffd15195b38) size(0x400000) - - - - - - - - *ptr(0x0x7fdccfa00000) - - - - ptr(0x7ffd15195b30) size(0x400000) - - - - - - - - *ptr(0x0x7fdccf400000) - - - - dst(0x7fdccfa00000) src(0x658fb00) size(0x400000) kind(1) - - - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x10de660) src(0x7fdccf400000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - -PASSED! - - - - ptr(0x7fdccfa00000) - - - - - - - - - - ptr(0x7fdccf400000) - - - - - - -# START (64) ############################# -Device 0 name: Vega 10 XT [Radeon RX Vega 64] - Activity records: - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - bytes(0x400000) - external_id(32) - process_id(26224) thread_id(26224) - external_id(33) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - device_id(0) queue_id(0) - bytes(0x400000) - external_id(32) - process_id(26224) thread_id(26224) - external_id(31) - process_id(26224) thread_id(26224) - external_id(31) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - bytes(0x400000) - external_id(32) - process_id(26224) thread_id(26224) - external_id(33) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - device_id(0) queue_id(0) - bytes(0x400000) - external_id(32) - process_id(26224) thread_id(26224) - external_id(31) - process_id(26224) thread_id(26224) - external_id(31) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - bytes(0x400000) - external_id(32) - process_id(26224) thread_id(26224) - external_id(33) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - device_id(0) queue_id(0) - bytes(0x400000) - external_id(32) - process_id(26224) thread_id(26224) - external_id(31) - process_id(26224) thread_id(26224) - external_id(31) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - bytes(0x400000) - external_id(32) - process_id(26224) thread_id(26224) - external_id(33) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - device_id(0) queue_id(0) - bytes(0x400000) - external_id(32) - process_id(26224) thread_id(26224) -PASSED! -# START (63) ############################# - - - - - - - - -Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - - - ptr(0x7ffd15195b38) size(0x400000) - - - - - - - - *ptr(0x0x7fdccfa00000) - - - - ptr(0x7ffd15195b30) size(0x400000) - - - - - - - - *ptr(0x0x7fdccf400000) - - - - dst(0x7fdccfa00000) src(0x658fb00) size(0x400000) kind(1) - - - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x10de660) src(0x7fdccf400000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - -PASSED! - - - - ptr(0x7fdccfa00000) - - - - - - - - - - ptr(0x7fdccf400000) - - - - - - -# START (62) ############################# -Device 0 name: Vega 10 XT [Radeon RX Vega 64] -PASSED! -# START (61) ############################# - - - - - - - - -Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - - - ptr(0x7ffd15195b38) size(0x400000) - - - - - - - - *ptr(0x0x7fdccfa00000) - - - - ptr(0x7ffd15195b30) size(0x400000) - - - - - - - - *ptr(0x0x7fdccf400000) - - - - dst(0x7fdccfa00000) src(0x658fb00) size(0x400000) kind(1) - - - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x10de660) src(0x7fdccf400000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - -PASSED! - - - - ptr(0x7fdccfa00000) - - - - - - - - - - ptr(0x7fdccf400000) - - - - - - -# START (60) ############################# -Device 0 name: Vega 10 XT [Radeon RX Vega 64] -PASSED! -# START (59) ############################# - - - - - - - - -Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - - - ptr(0x7ffd15195b38) size(0x400000) - - - - - - - - *ptr(0x0x7fdccfa00000) - - - - ptr(0x7ffd15195b30) size(0x400000) - - - - - - - - *ptr(0x0x7fdccf400000) - - - - dst(0x7fdccfa00000) src(0x658fb00) size(0x400000) kind(1) - - - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x10de660) src(0x7fdccf400000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - -PASSED! - - - - ptr(0x7fdccfa00000) - - - - - - - - - - ptr(0x7fdccf400000) - - - - - - -# START (58) ############################# -Device 0 name: Vega 10 XT [Radeon RX Vega 64] -PASSED! -# START (57) ############################# - - - - - - - - -Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - - - ptr(0x7ffd15195b38) size(0x400000) - - - - - - - - *ptr(0x0x7fdccfa00000) - - - - ptr(0x7ffd15195b30) size(0x400000) - - - - - - - - *ptr(0x0x7fdccf400000) - - - - dst(0x7fdccfa00000) src(0x658fb00) size(0x400000) kind(1) - - - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x10de660) src(0x7fdccf400000) size(0x400000) kind(2) - - - Activity records: - external_id(31) - process_id(26224) thread_id(26224) - external_id(31) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - bytes(0x400000) - external_id(32) - process_id(26224) thread_id(26224) - external_id(33) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - device_id(0) queue_id(0) - bytes(0x400000) - external_id(32) - process_id(26224) thread_id(26224) - external_id(31) - process_id(26224) thread_id(26224) - external_id(31) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - bytes(0x400000) - external_id(32) - process_id(26224) thread_id(26224) - external_id(33) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - device_id(0) queue_id(0) - bytes(0x400000) - external_id(32) - process_id(26224) thread_id(26224) - external_id(31) - process_id(26224) thread_id(26224) - - - external_id(31) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - - - - - bytes(0x400000) - external_id(32) - process_id(26224) thread_id(26224) - external_id(33) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - device_id(0) queue_id(0) - bytes(0x400000) - external_id(32) - process_id(26224) thread_id(26224) - external_id(31) - process_id(26224) thread_id(26224) - external_id(31) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - bytes(0x400000) - - - - - - - - - - - - - - -PASSED! - - - - ptr(0x7fdccfa00000) - - - - - - - - - - ptr(0x7fdccf400000) - - - - - - -# START (56) ############################# -Device 0 name: Vega 10 XT [Radeon RX Vega 64] -PASSED! -# START (55) ############################# - - - - - - - - -Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - - - ptr(0x7ffd15195b38) size(0x400000) - - - - - - - - *ptr(0x0x7fdccfa00000) - - - - ptr(0x7ffd15195b30) size(0x400000) - - - - - - - - *ptr(0x0x7fdccf400000) - - - - dst(0x7fdccfa00000) src(0x658fb00) size(0x400000) kind(1) - - - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x10de660) src(0x7fdccf400000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - -PASSED! - - - - ptr(0x7fdccfa00000) - - - - - - - - - - ptr(0x7fdccf400000) - - - - - - -# START (54) ############################# -Device 0 name: Vega 10 XT [Radeon RX Vega 64] -PASSED! -# START (53) ############################# - - - - - - - - -Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - - - ptr(0x7ffd15195b38) size(0x400000) - - - - - - - - *ptr(0x0x7fdccfa00000) - - - - ptr(0x7ffd15195b30) size(0x400000) - - - - - - - - *ptr(0x0x7fdccf400000) - - - - dst(0x7fdccfa00000) src(0x658fb00) size(0x400000) kind(1) - - - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x10de660) src(0x7fdccf400000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - -PASSED! - - - - ptr(0x7fdccfa00000) - - - - - - - - - - ptr(0x7fdccf400000) - - - - - - -# START (52) ############################# -Device 0 name: Vega 10 XT [Radeon RX Vega 64] -PASSED! -# START (51) ############################# - - - - - - - - -Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - - - ptr(0x7ffd15195b38) size(0x400000) - - - - - - - - *ptr(0x0x7fdccfa00000) - - - - ptr(0x7ffd15195b30) size(0x400000) - - - - - - - - *ptr(0x0x7fdccf400000) - - - - dst(0x7fdccfa00000) src(0x658fb00) size(0x400000) kind(1) - - - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x10de660) src(0x7fdccf400000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - -PASSED! - - - - ptr(0x7fdccfa00000) - - - - - - - - - - ptr(0x7fdccf400000) - - - - - - -# START (50) ############################# -Device 0 name: Vega 10 XT [Radeon RX Vega 64] - Activity records: - external_id(32) - process_id(26224) thread_id(26224) - external_id(33) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - device_id(0) queue_id(0) - bytes(0x400000) - external_id(32) - process_id(26224) thread_id(26224) - external_id(31) - process_id(26224) thread_id(26224) - external_id(31) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - bytes(0x400000) - external_id(32) - process_id(26224) thread_id(26224) - external_id(33) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - device_id(0) queue_id(0) - bytes(0x400000) - external_id(32) - process_id(26224) thread_id(26224) - external_id(31) - process_id(26224) thread_id(26224) - external_id(31) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - bytes(0x400000) - external_id(32) - process_id(26224) thread_id(26224) - external_id(33) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - device_id(0) queue_id(0) - bytes(0x400000) - external_id(32) - process_id(26224) thread_id(26224) - external_id(31) - process_id(26224) thread_id(26224) - external_id(31) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - bytes(0x400000) - external_id(32) - process_id(26224) thread_id(26224) - external_id(33) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - device_id(0) queue_id(0) - bytes(0x400000) - external_id(32) - process_id(26224) thread_id(26224) - external_id(31) - process_id(26224) thread_id(26224) -PASSED! -# START (49) ############################# - - - - - - - - -Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - - - ptr(0x7ffd15195b38) size(0x400000) - - - - - - - - *ptr(0x0x7fdccfa00000) - - - - ptr(0x7ffd15195b30) size(0x400000) - - - - - - - - *ptr(0x0x7fdccf400000) - - - - dst(0x7fdccfa00000) src(0x658fb00) size(0x400000) kind(1) - - - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x10de660) src(0x7fdccf400000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - -PASSED! - - - - ptr(0x7fdccfa00000) - - - - - - - - - - ptr(0x7fdccf400000) - - - - - - -# START (48) ############################# -Device 0 name: Vega 10 XT [Radeon RX Vega 64] -PASSED! -# START (47) ############################# - - - - - - - - -Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - - - ptr(0x7ffd15195b38) size(0x400000) - - - - - - - - *ptr(0x0x7fdccfa00000) - - - - ptr(0x7ffd15195b30) size(0x400000) - - - - - - - - *ptr(0x0x7fdccf400000) - - - - dst(0x7fdccfa00000) src(0x658fb00) size(0x400000) kind(1) - - - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x10de660) src(0x7fdccf400000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - -PASSED! - - - - ptr(0x7fdccfa00000) - - - - - - - - - - ptr(0x7fdccf400000) - - - - - - -# START (46) ############################# -Device 0 name: Vega 10 XT [Radeon RX Vega 64] -PASSED! -# START (45) ############################# - - - - - - - - -Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - - - ptr(0x7ffd15195b38) size(0x400000) - - - - - - - - *ptr(0x0x7fdccfa00000) - - - - ptr(0x7ffd15195b30) size(0x400000) - - - - - - - - *ptr(0x0x7fdccf400000) - - - - dst(0x7fdccfa00000) src(0x658fb00) size(0x400000) kind(1) - - - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x10de660) src(0x7fdccf400000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - -PASSED! - - - - ptr(0x7fdccfa00000) - - - - - - - - - - ptr(0x7fdccf400000) - - - - - - -# START (44) ############################# -Device 0 name: Vega 10 XT [Radeon RX Vega 64] -PASSED! -# START (43) ############################# - - - - - - - - -Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - - - ptr(0x7ffd15195b38) size(0x400000) - - - - - - - - *ptr(0x0x7fdccfa00000) - - - - ptr(0x7ffd15195b30) size(0x400000) - - - - - - - - *ptr(0x0x7fdccf400000) - - - - dst(0x7fdccfa00000) src(0x658fb00) size(0x400000) kind(1) - - - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x10de660) src(0x7fdccf400000) size(0x400000) kind(2) - - - - - - - - - Activity records: - external_id(31) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - bytes(0x400000) - external_id(32) - process_id(26224) thread_id(26224) - external_id(33) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - device_id(0) queue_id(0) - bytes(0x400000) - external_id(32) - process_id(26224) thread_id(26224) - external_id(31) - process_id(26224) thread_id(26224) - external_id(31) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - bytes(0x400000) - external_id(32) - process_id(26224) thread_id(26224) - external_id(33) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - device_id(0) queue_id(0) - bytes(0x400000) - external_id(32) - process_id(26224) thread_id(26224) - external_id(31) - process_id(26224) thread_id(26224) - external_id(31) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - bytes(0x400000) - external_id(32) - process_id(26224) thread_id(26224) - external_id(33) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - device_id(0) queue_id(0) - bytes(0x400000) - external_id(32) - process_id(26224) thread_id(26224) - external_id(31) - process_id(26224) thread_id(26224) - external_id(31) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - bytes(0x400000) - external_id(32) - process_id(26224) thread_id(26224) - - - - - - - - - - - - - - -PASSED! - - - - ptr(0x7fdccfa00000) - - - - - - - - - - ptr(0x7fdccf400000) - - - - - - -# START (42) ############################# -Device 0 name: Vega 10 XT [Radeon RX Vega 64] -PASSED! -# START (41) ############################# - - - - - - - - -Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - - - ptr(0x7ffd15195b38) size(0x400000) - - - - - - - - *ptr(0x0x7fdccfa00000) - - - - ptr(0x7ffd15195b30) size(0x400000) - - - - - - - - *ptr(0x0x7fdccf400000) - - - - dst(0x7fdccfa00000) src(0x658fb00) size(0x400000) kind(1) - - - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x10de660) src(0x7fdccf400000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - -PASSED! - - - - ptr(0x7fdccfa00000) - - - - - - - - - - ptr(0x7fdccf400000) - - - - - - -# START (40) ############################# -Device 0 name: Vega 10 XT [Radeon RX Vega 64] -PASSED! -# START (39) ############################# - - - - - - - - -Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - - - ptr(0x7ffd15195b38) size(0x400000) - - - - - - - - *ptr(0x0x7fdccfa00000) - - - - ptr(0x7ffd15195b30) size(0x400000) - - - - - - - - *ptr(0x0x7fdccf400000) - - - - dst(0x7fdccfa00000) src(0x658fb00) size(0x400000) kind(1) - - - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x10de660) src(0x7fdccf400000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - -PASSED! - - - - ptr(0x7fdccfa00000) - - - - - - - - - - ptr(0x7fdccf400000) - - - - - - -# START (38) ############################# -Device 0 name: Vega 10 XT [Radeon RX Vega 64] -PASSED! -# START (37) ############################# - - - - - - - - -Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - - - ptr(0x7ffd15195b38) size(0x400000) - - - - - - - - *ptr(0x0x7fdccfa00000) - - - - ptr(0x7ffd15195b30) size(0x400000) - - - - - - - - *ptr(0x0x7fdccf400000) - - - - dst(0x7fdccfa00000) src(0x658fb00) size(0x400000) kind(1) - - - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x10de660) src(0x7fdccf400000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - -PASSED! - - - - ptr(0x7fdccfa00000) - - - - - - - - - - ptr(0x7fdccf400000) - - - - - - -# START (36) ############################# -Device 0 name: Vega 10 XT [Radeon RX Vega 64] - Activity records: - external_id(33) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - device_id(0) queue_id(0) - bytes(0x400000) - external_id(32) - process_id(26224) thread_id(26224) - external_id(31) - process_id(26224) thread_id(26224) - external_id(31) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - bytes(0x400000) - external_id(32) - process_id(26224) thread_id(26224) - external_id(33) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - device_id(0) queue_id(0) - bytes(0x400000) - external_id(32) - process_id(26224) thread_id(26224) - external_id(31) - process_id(26224) thread_id(26224) - external_id(31) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - bytes(0x400000) - external_id(32) - process_id(26224) thread_id(26224) - external_id(33) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - device_id(0) queue_id(0) - bytes(0x400000) - external_id(32) - process_id(26224) thread_id(26224) - external_id(31) - process_id(26224) thread_id(26224) - external_id(31) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - bytes(0x400000) - external_id(32) - process_id(26224) thread_id(26224) - external_id(33) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - device_id(0) queue_id(0) - bytes(0x400000) - external_id(32) - process_id(26224) thread_id(26224) - external_id(31) - process_id(26224) thread_id(26224) - external_id(31) - process_id(26224) thread_id(26224) -PASSED! -# START (35) ############################# - - - - - - - - -Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - - - ptr(0x7ffd15195b38) size(0x400000) - - - - - - - - *ptr(0x0x7fdccfa00000) - - - - ptr(0x7ffd15195b30) size(0x400000) - - - - - - - - *ptr(0x0x7fdccf400000) - - - - dst(0x7fdccfa00000) src(0x658fb00) size(0x400000) kind(1) - - - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x10de660) src(0x7fdccf400000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - -PASSED! - - - - ptr(0x7fdccfa00000) - - - - - - - - - - ptr(0x7fdccf400000) - - - - - - -# START (34) ############################# -Device 0 name: Vega 10 XT [Radeon RX Vega 64] -PASSED! -# START (33) ############################# - - - - - - - - -Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - - - ptr(0x7ffd15195b38) size(0x400000) - - - - - - - - *ptr(0x0x7fdccfa00000) - - - - ptr(0x7ffd15195b30) size(0x400000) - - - - - - - - *ptr(0x0x7fdccf400000) - - - - dst(0x7fdccfa00000) src(0x658fb00) size(0x400000) kind(1) - - - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x10de660) src(0x7fdccf400000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - -PASSED! - - - - ptr(0x7fdccfa00000) - - - - - - - - - - ptr(0x7fdccf400000) - - - - - - -# START (32) ############################# -Device 0 name: Vega 10 XT [Radeon RX Vega 64] -PASSED! -# START (31) ############################# - - - - - - - - -Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - - - ptr(0x7ffd15195b38) size(0x400000) - - - - - - - - *ptr(0x0x7fdccfa00000) - - - - ptr(0x7ffd15195b30) size(0x400000) - - - - - - - - *ptr(0x0x7fdccf400000) - - - - dst(0x7fdccfa00000) src(0x658fb00) size(0x400000) kind(1) - - - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x10de660) src(0x7fdccf400000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - -PASSED! - - - - ptr(0x7fdccfa00000) - - - - - - - - - - ptr(0x7fdccf400000) - - - - - - -# START (30) ############################# -Device 0 name: Vega 10 XT [Radeon RX Vega 64] -PASSED! -# START (29) ############################# - - - - - - - - -Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - - - ptr(0x7ffd15195b38) size(0x400000) - - - - - - - - *ptr(0x0x7fdccfa00000) - - - - ptr(0x7ffd15195b30) size(0x400000) - - - - - - - - *ptr(0x0x7fdccf400000) - - - - dst(0x7fdccfa00000) src(0x658fb00) size(0x400000) kind(1) - - - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x10de660) src(0x7fdccf400000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - Activity records: - device_id(0) queue_id(0) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - bytes(0x400000) - external_id(32) - process_id(26224) thread_id(26224) - external_id(33) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - device_id(0) queue_id(0) - bytes(0x400000) - external_id(32) - process_id(26224) thread_id(26224) - external_id(31) - process_id(26224) thread_id(26224) - external_id(31) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - bytes(0x400000) - external_id(32) - process_id(26224) thread_id(26224) - external_id(33) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - device_id(0) queue_id(0) - bytes(0x400000) - external_id(32) - process_id(26224) thread_id(26224) - external_id(31) - process_id(26224) thread_id(26224) - external_id(31) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - bytes(0x400000) - external_id(32) - process_id(26224) thread_id(26224) - external_id(33) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - device_id(0) queue_id(0) - bytes(0x400000) - external_id(32) - process_id(26224) thread_id(26224) - external_id(31) - process_id(26224) thread_id(26224) - external_id(31) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - bytes(0x400000) - external_id(32) - process_id(26224) thread_id(26224) - external_id(33) - process_id(26224) thread_id(26224) - - - - - - -PASSED! - - - - ptr(0x7fdccfa00000) - - - - - - - - - - ptr(0x7fdccf400000) - - - - - - -# START (28) ############################# -Device 0 name: Vega 10 XT [Radeon RX Vega 64] -PASSED! -# START (27) ############################# - - - - - - - - -Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - - - ptr(0x7ffd15195b38) size(0x400000) - - - - - - - - *ptr(0x0x7fdccfa00000) - - - - ptr(0x7ffd15195b30) size(0x400000) - - - - - - - - *ptr(0x0x7fdccf400000) - - - - dst(0x7fdccfa00000) src(0x658fb00) size(0x400000) kind(1) - - - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x10de660) src(0x7fdccf400000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - -PASSED! - - - - ptr(0x7fdccfa00000) - - - - - - - - - - ptr(0x7fdccf400000) - - - - - - -# START (26) ############################# -Device 0 name: Vega 10 XT [Radeon RX Vega 64] -PASSED! -# START (25) ############################# - - - - - - - - -Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - - - ptr(0x7ffd15195b38) size(0x400000) - - - - - - - - *ptr(0x0x7fdccfa00000) - - - - ptr(0x7ffd15195b30) size(0x400000) - - - - - - - - *ptr(0x0x7fdccf400000) - - - - dst(0x7fdccfa00000) src(0x658fb00) size(0x400000) kind(1) - - - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x10de660) src(0x7fdccf400000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - -PASSED! - - - - ptr(0x7fdccfa00000) - - - - - - - - - - ptr(0x7fdccf400000) - - - - - - -# START (24) ############################# -Device 0 name: Vega 10 XT [Radeon RX Vega 64] -PASSED! -# START (23) ############################# - - - - - - - - -Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - - - ptr(0x7ffd15195b38) size(0x400000) - - - - - - - - *ptr(0x0x7fdccfa00000) - - - - ptr(0x7ffd15195b30) size(0x400000) - - - - - - - - *ptr(0x0x7fdccf400000) - - - - dst(0x7fdccfa00000) src(0x658fb00) size(0x400000) kind(1) - - - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x10de660) src(0x7fdccf400000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - -PASSED! - - - - ptr(0x7fdccfa00000) - - - - - - - - - - ptr(0x7fdccf400000) - - - - - - -# START (22) ############################# -Device 0 name: Vega 10 XT [Radeon RX Vega 64] -PASSED! -# START (21) ############################# - - - - - - - - -Device 0 name: Vega 10 XT [Radeon RX Vega 64] - Activity records: - device_id(0) queue_id(0) - device_id(0) queue_id(0) - bytes(0x400000) - external_id(32) - process_id(26224) thread_id(26224) - external_id(31) - process_id(26224) thread_id(26224) - external_id(31) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - bytes(0x400000) - external_id(32) - process_id(26224) thread_id(26224) - external_id(33) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - device_id(0) queue_id(0) - bytes(0x400000) - external_id(32) - process_id(26224) thread_id(26224) - external_id(31) - process_id(26224) thread_id(26224) - external_id(31) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - bytes(0x400000) - external_id(32) - process_id(26224) thread_id(26224) - external_id(33) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - device_id(0) queue_id(0) - bytes(0x400000) - external_id(32) - process_id(26224) thread_id(26224) - external_id(31) - process_id(26224) thread_id(26224) - external_id(31) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - bytes(0x400000) - external_id(32) - process_id(26224) thread_id(26224) - external_id(33) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - device_id(0) queue_id(0) - bytes(0x400000) - external_id(32) - process_id(26224) thread_id(26224) - external_id(31) - process_id(26224) thread_id(26224) - external_id(31) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - process_id(26224) thread_id(26224) - - - - ptr(0x7ffd15195b38) size(0x400000) - - - - - - - - *ptr(0x0x7fdccfa00000) - - - - ptr(0x7ffd15195b30) size(0x400000) - - - - - - - - *ptr(0x0x7fdccf400000) - - - - dst(0x7fdccfa00000) src(0x658fb00) size(0x400000) kind(1) - - - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x10de660) src(0x7fdccf400000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - -PASSED! - - - - ptr(0x7fdccfa00000) - - - - - - - - - - ptr(0x7fdccf400000) - - - - - - -# START (20) ############################# -Device 0 name: Vega 10 XT [Radeon RX Vega 64] -PASSED! -# START (19) ############################# - - - - - - - - -Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - - - ptr(0x7ffd15195b38) size(0x400000) - - - - - - - - *ptr(0x0x7fdccfa00000) - - - - ptr(0x7ffd15195b30) size(0x400000) - - - - - - - - *ptr(0x0x7fdccf400000) - - - - dst(0x7fdccfa00000) src(0x658fb00) size(0x400000) kind(1) - - - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x10de660) src(0x7fdccf400000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - -PASSED! - - - - ptr(0x7fdccfa00000) - - - - - - - - - - ptr(0x7fdccf400000) - - - - - - -# START (18) ############################# -Device 0 name: Vega 10 XT [Radeon RX Vega 64] -PASSED! -# START (17) ############################# - - - - - - - - -Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - - - ptr(0x7ffd15195b38) size(0x400000) - - - - - - - - *ptr(0x0x7fdccfa00000) - - - - ptr(0x7ffd15195b30) size(0x400000) - - - - - - - - *ptr(0x0x7fdccf400000) - - - - dst(0x7fdccfa00000) src(0x658fb00) size(0x400000) kind(1) - - - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x10de660) src(0x7fdccf400000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - -PASSED! - - - - ptr(0x7fdccfa00000) - - - - - - - - - - ptr(0x7fdccf400000) - - - - - - -# START (16) ############################# -Device 0 name: Vega 10 XT [Radeon RX Vega 64] -PASSED! -# START (15) ############################# - - - - - - - - -Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - - - ptr(0x7ffd15195b38) size(0x400000) - - - - - - - - *ptr(0x0x7fdccfa00000) - - - - ptr(0x7ffd15195b30) size(0x400000) - - - - - - - - *ptr(0x0x7fdccf400000) - - - - dst(0x7fdccfa00000) src(0x658fb00) size(0x400000) kind(1) - - - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x10de660) src(0x7fdccf400000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - Activity records: - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - bytes(0x400000) - external_id(32) - process_id(26224) thread_id(26224) - external_id(33) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - device_id(0) queue_id(0) - bytes(0x400000) - external_id(32) - process_id(26224) thread_id(26224) - external_id(31) - process_id(26224) thread_id(26224) - external_id(31) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - bytes(0x400000) - external_id(32) - process_id(26224) thread_id(26224) - external_id(33) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - device_id(0) queue_id(0) - bytes(0x400000) - external_id(32) - process_id(26224) thread_id(26224) - external_id(31) - process_id(26224) thread_id(26224) - external_id(31) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - bytes(0x400000) - external_id(32) - process_id(26224) thread_id(26224) - external_id(33) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - device_id(0) queue_id(0) - bytes(0x400000) - external_id(32) - process_id(26224) thread_id(26224) - external_id(31) - process_id(26224) thread_id(26224) - external_id(31) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - bytes(0x400000) - external_id(32) - process_id(26224) thread_id(26224) - external_id(33) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - device_id(0) queue_id(0) - bytes(0x400000) -PASSED! - - - - ptr(0x7fdccfa00000) - - - - - - - - - - ptr(0x7fdccf400000) - - - - - - -# START (14) ############################# -Device 0 name: Vega 10 XT [Radeon RX Vega 64] -PASSED! -# START (13) ############################# - - - - - - - - -Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - - - ptr(0x7ffd15195b38) size(0x400000) - - - - - - - - *ptr(0x0x7fdccfa00000) - - - - ptr(0x7ffd15195b30) size(0x400000) - - - - - - - - *ptr(0x0x7fdccf400000) - - - - dst(0x7fdccfa00000) src(0x658fb00) size(0x400000) kind(1) - - - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x10de660) src(0x7fdccf400000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - -PASSED! - - - - ptr(0x7fdccfa00000) - - - - - - - - - - ptr(0x7fdccf400000) - - - - - - -# START (12) ############################# -Device 0 name: Vega 10 XT [Radeon RX Vega 64] -PASSED! -# START (11) ############################# - - - - - - - - -Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - - - ptr(0x7ffd15195b38) size(0x400000) - - - - - - - - *ptr(0x0x7fdccfa00000) - - - - ptr(0x7ffd15195b30) size(0x400000) - - - - - - - - *ptr(0x0x7fdccf400000) - - - - dst(0x7fdccfa00000) src(0x658fb00) size(0x400000) kind(1) - - - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x10de660) src(0x7fdccf400000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - -PASSED! - - - - ptr(0x7fdccfa00000) - - - - - - - - - - ptr(0x7fdccf400000) - - - - - - -# START (10) ############################# -Device 0 name: Vega 10 XT [Radeon RX Vega 64] -PASSED! -# START (9) ############################# - - - - - - - - -Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - - - ptr(0x7ffd15195b38) size(0x400000) - - - - - - - - *ptr(0x0x7fdccfa00000) - - - - ptr(0x7ffd15195b30) size(0x400000) - - - - - - - - *ptr(0x0x7fdccf400000) - - - - dst(0x7fdccfa00000) src(0x658fb00) size(0x400000) kind(1) - - - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x10de660) src(0x7fdccf400000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - -PASSED! - - - - ptr(0x7fdccfa00000) - - - - - - - - - - ptr(0x7fdccf400000) - - - - - - -# START (8) ############################# -Device 0 name: Vega 10 XT [Radeon RX Vega 64] -PASSED! -# START (7) ############################# - - - - - - - - -Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - - - ptr(0x7ffd15195b38) size(0x400000) - - - - - - - - *ptr(0x0x7fdccfa00000) - - - - ptr(0x7ffd15195b30) size(0x400000) - - - - - - - - *ptr(0x0x7fdccf400000) - - - - dst(0x7fdccfa00000) src(0x658fb00) size(0x400000) kind(1) - Activity records: - - - - - external_id(32) - process_id(26224) thread_id(26224) - external_id(31) - process_id(26224) thread_id(26224) - external_id(31) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - bytes(0x400000) - external_id(32) - process_id(26224) thread_id(26224) - external_id(33) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - device_id(0) queue_id(0) - bytes(0x400000) - external_id(32) - process_id(26224) thread_id(26224) - external_id(31) - process_id(26224) thread_id(26224) - external_id(31) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - bytes(0x400000) - external_id(32) - process_id(26224) thread_id(26224) - external_id(33) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - device_id(0) queue_id(0) - bytes(0x400000) - external_id(32) - process_id(26224) thread_id(26224) - external_id(31) - process_id(26224) thread_id(26224) - external_id(31) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - bytes(0x400000) - external_id(32) - process_id(26224) thread_id(26224) - external_id(33) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - device_id(0) queue_id(0) - bytes(0x400000) - external_id(32) - process_id(26224) thread_id(26224) - external_id(31) - process_id(26224) thread_id(26224) - external_id(31) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x10de660) src(0x7fdccf400000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - -PASSED! - - - - ptr(0x7fdccfa00000) - - - - - - - - - - ptr(0x7fdccf400000) - - - - - - -# START (6) ############################# -Device 0 name: Vega 10 XT [Radeon RX Vega 64] -PASSED! -# START (5) ############################# - - - - - - - - -Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - - - ptr(0x7ffd15195b38) size(0x400000) - - - - - - - - *ptr(0x0x7fdccfa00000) - - - - ptr(0x7ffd15195b30) size(0x400000) - - - - - - - - *ptr(0x0x7fdccf400000) - - - - dst(0x7fdccfa00000) src(0x658fb00) size(0x400000) kind(1) - - - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x10de660) src(0x7fdccf400000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - -PASSED! - - - - ptr(0x7fdccfa00000) - - - - - - - - - - ptr(0x7fdccf400000) - - - - - - -# START (4) ############################# -Device 0 name: Vega 10 XT [Radeon RX Vega 64] -PASSED! -# START (3) ############################# - - - - - - - - -Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - - - ptr(0x7ffd15195b38) size(0x400000) - - - - - - - - *ptr(0x0x7fdccfa00000) - - - - ptr(0x7ffd15195b30) size(0x400000) - - - - - - - - *ptr(0x0x7fdccf400000) - - - - dst(0x7fdccfa00000) src(0x658fb00) size(0x400000) kind(1) - - - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x10de660) src(0x7fdccf400000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - -PASSED! - - - - ptr(0x7fdccfa00000) - - - - - - - - - - ptr(0x7fdccf400000) - - - - - - -# START (2) ############################# -Device 0 name: Vega 10 XT [Radeon RX Vega 64] -PASSED! -# START (1) ############################# - - - - - - - - -Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - - - ptr(0x7ffd15195b38) size(0x400000) - - - - - - - - *ptr(0x0x7fdccfa00000) - - - - ptr(0x7ffd15195b30) size(0x400000) - - - - - - - - *ptr(0x0x7fdccf400000) - - - - dst(0x7fdccfa00000) src(0x658fb00) size(0x400000) kind(1) - - - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x10de660) src(0x7fdccf400000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - -PASSED! - - - - ptr(0x7fdccfa00000) - - - - - - - - - - ptr(0x7fdccf400000) - - - - - - -# START (0) ############################# -Device 0 name: Vega 10 XT [Radeon RX Vega 64] - Activity records: - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - bytes(0x400000) - external_id(32) - process_id(26224) thread_id(26224) - external_id(33) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - device_id(0) queue_id(0) - bytes(0x400000) - external_id(32) - process_id(26224) thread_id(26224) - external_id(31) - process_id(26224) thread_id(26224) - external_id(31) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - bytes(0x400000) - external_id(32) - process_id(26224) thread_id(26224) - external_id(33) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - device_id(0) queue_id(0) - bytes(0x400000) - external_id(32) - process_id(26224) thread_id(26224) - external_id(31) - process_id(26224) thread_id(26224) - external_id(31) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - bytes(0x400000) - external_id(32) - process_id(26224) thread_id(26224) - external_id(33) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - device_id(0) queue_id(0) - bytes(0x400000) - external_id(32) - process_id(26224) thread_id(26224) - external_id(31) - process_id(26224) thread_id(26224) - external_id(31) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - bytes(0x400000) - external_id(32) - process_id(26224) thread_id(26224) - external_id(33) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) - device_id(0) queue_id(0) - bytes(0x400000) - external_id(32) - process_id(26224) thread_id(26224) -PASSED! - Activity records: - external_id(31) - process_id(26224) thread_id(26224) - external_id(31) - process_id(26224) thread_id(26224) - device_id(0) queue_id(0) -# STOP ############################# - diff --git a/test/MatrixTranspose/MatrixTranspose_sys_hsa_trace.txt b/test/MatrixTranspose/MatrixTranspose_sys_hsa_trace.txt deleted file mode 100644 index 38b348ab87..0000000000 --- a/test/MatrixTranspose/MatrixTranspose_sys_hsa_trace.txt +++ /dev/null @@ -1,7334 +0,0 @@ -tool SYS/HSA test: "./test/MatrixTranspose" -ROCTracer (pid=116426): - rocTX-trace() - HSA-trace() - HSA-activity-trace() - HIP-trace() -Device name Vega 10 XT [Radeon RX Vega 64] -## Iteration (99) ################# -PASSED! -## Iteration (98) ################# -PASSED! -## Iteration (97) ################# -PASSED! -## Iteration (96) ################# -PASSED! -## Iteration (95) ################# -PASSED! -## Iteration (94) ################# -PASSED! -## Iteration (93) ################# -PASSED! -## Iteration (92) ################# -PASSED! -## Iteration (91) ################# -PASSED! -## Iteration (90) ################# -PASSED! -## Iteration (89) ################# -PASSED! -## Iteration (88) ################# -PASSED! -## Iteration (87) ################# -PASSED! -## Iteration (86) ################# -PASSED! -## Iteration (85) ################# -PASSED! -## Iteration (84) ################# -PASSED! -## Iteration (83) ################# -PASSED! -## Iteration (82) ################# -PASSED! -## Iteration (81) ################# -PASSED! -## Iteration (80) ################# -PASSED! -## Iteration (79) ################# -PASSED! -## Iteration (78) ################# -PASSED! -## Iteration (77) ################# -PASSED! -## Iteration (76) ################# -PASSED! -## Iteration (75) ################# -PASSED! -## Iteration (74) ################# -PASSED! -## Iteration (73) ################# -PASSED! -## Iteration (72) ################# -PASSED! -## Iteration (71) ################# -PASSED! -## Iteration (70) ################# -PASSED! -## Iteration (69) ################# -PASSED! -## Iteration (68) ################# -PASSED! -## Iteration (67) ################# -PASSED! -## Iteration (66) ################# -PASSED! -## Iteration (65) ################# -PASSED! -## Iteration (64) ################# -PASSED! -## Iteration (63) ################# -PASSED! -## Iteration (62) ################# -PASSED! -## Iteration (61) ################# -PASSED! -## Iteration (60) ################# -PASSED! -## Iteration (59) ################# -PASSED! -## Iteration (58) ################# -PASSED! -## Iteration (57) ################# -PASSED! -## Iteration (56) ################# -PASSED! -## Iteration (55) ################# -PASSED! -## Iteration (54) ################# -PASSED! -## Iteration (53) ################# -PASSED! -## Iteration (52) ################# -PASSED! -## Iteration (51) ################# -PASSED! -## Iteration (50) ################# -PASSED! -## Iteration (49) ################# -PASSED! -## Iteration (48) ################# -PASSED! -## Iteration (47) ################# -PASSED! -## Iteration (46) ################# -PASSED! -## Iteration (45) ################# -PASSED! -## Iteration (44) ################# -PASSED! -## Iteration (43) ################# -PASSED! -## Iteration (42) ################# -PASSED! -## Iteration (41) ################# -PASSED! -## Iteration (40) ################# -PASSED! -## Iteration (39) ################# -PASSED! -## Iteration (38) ################# -PASSED! -## Iteration (37) ################# -PASSED! -## Iteration (36) ################# -PASSED! -## Iteration (35) ################# -PASSED! -## Iteration (34) ################# -PASSED! -## Iteration (33) ################# -PASSED! -## Iteration (32) ################# -PASSED! -## Iteration (31) ################# -PASSED! -## Iteration (30) ################# -PASSED! -## Iteration (29) ################# -PASSED! -## Iteration (28) ################# -PASSED! -## Iteration (27) ################# -PASSED! -## Iteration (26) ################# -PASSED! -## Iteration (25) ################# -PASSED! -## Iteration (24) ################# -PASSED! -## Iteration (23) ################# -PASSED! -## Iteration (22) ################# -PASSED! -## Iteration (21) ################# -PASSED! -## Iteration (20) ################# -PASSED! -## Iteration (19) ################# -PASSED! -## Iteration (18) ################# -PASSED! -## Iteration (17) ################# -PASSED! -## Iteration (16) ################# -PASSED! -## Iteration (15) ################# -PASSED! -## Iteration (14) ################# -PASSED! -## Iteration (13) ################# -PASSED! -## Iteration (12) ################# -PASSED! -## Iteration (11) ################# -PASSED! -## Iteration (10) ################# -PASSED! -## Iteration (9) ################# -PASSED! -## Iteration (8) ################# -PASSED! -## Iteration (7) ################# -PASSED! -## Iteration (6) ################# -PASSED! -## Iteration (5) ################# -PASSED! -## Iteration (4) ################# -PASSED! -## Iteration (3) ################# -PASSED! -## Iteration (2) ################# -PASSED! -## Iteration (1) ################# -PASSED! -## Iteration (0) ################# -PASSED! -1822755600583836:1822755600592396 116426:116426 hipGetDeviceProperties() -1822755603137292:1822755603261543 116426:116426 hipMalloc(ptr(0x7f15f6e00000) size(0x400000)) -1822755603263063:1822755603321183 116426:116426 hipMalloc(ptr(0x7f15f6800000) size(0x400000)) -1822755603331953:1822755612493572 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) -1822755612497492:1822755612497493 116426:116426 MARK(name(before HIP LaunchKernel)) -1822756053165228:1822756058322441 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822756058341371:1822756058341372 116426:116426 MARK(name(after HIP LaunchKernel)) -1822756058348611:1822756062842319 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) -1822756075706002:1822756078088527 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) -1822756078090097:1822756078090098 116426:116426 MARK(name(before HIP LaunchKernel)) -1822756078105407:1822756078127367 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822756078128487:1822756078128488 116426:116426 MARK(name(after HIP LaunchKernel)) -1822756078131817:1822756082629345 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) -1822756089169727:1822756091486222 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) -1822756091487702:1822756091487703 116426:116426 MARK(name(before HIP LaunchKernel)) -1822756091501982:1822756091524312 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822756091525612:1822756091525613 116426:116426 MARK(name(after HIP LaunchKernel)) -1822756091528952:1822756096115831 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) -1822756102585213:1822756104861737 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) -1822756104863207:1822756104863208 116426:116426 MARK(name(before HIP LaunchKernel)) -1822756104878057:1822756104898777 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822756104900067:1822756104900068 116426:116426 MARK(name(after HIP LaunchKernel)) -1822756104903357:1822756109424136 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) -1822756115849697:1822756118121221 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) -1822756118122771:1822756118122772 116426:116426 MARK(name(before HIP LaunchKernel)) -1822756118137001:1822756118158682 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822756118159732:1822756118159733 116426:116426 MARK(name(after HIP LaunchKernel)) -1822756118169582:1822756122648230 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) -1822756129192922:1822756131481137 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) -1822756131482907:1822756131482908 116426:116426 MARK(name(before HIP LaunchKernel)) -1822756131497317:1822756131527517 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822756131528547:1822756131528548 116426:116426 MARK(name(after HIP LaunchKernel)) -1822756131531817:1822756136133936 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) -1822756142559277:1822756144812022 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) -1822756144813802:1822756144813803 116426:116426 MARK(name(before HIP LaunchKernel)) -1822756144828002:1822756144859412 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822756144860642:1822756144860643 116426:116426 MARK(name(after HIP LaunchKernel)) -1822756144863952:1822756149392670 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) -1822756155832552:1822756158128596 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) -1822756158130056:1822756158130057 116426:116426 MARK(name(before HIP LaunchKernel)) -1822756158144806:1822756158176196 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822756158177406:1822756158177407 116426:116426 MARK(name(after HIP LaunchKernel)) -1822756158180866:1822756162648395 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) -1822756169141267:1822756171479702 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) -1822756171481192:1822756171481193 116426:116426 MARK(name(before HIP LaunchKernel)) -1822756171496522:1822756171517892 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822756171518932:1822756171518933 116426:116426 MARK(name(after HIP LaunchKernel)) -1822756171522302:1822756176124641 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) -1822756182700813:1822756184875037 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) -1822756184876847:1822756184876848 116426:116426 MARK(name(before HIP LaunchKernel)) -1822756184891907:1822756184914177 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822756184915417:1822756184915418 116426:116426 MARK(name(after HIP LaunchKernel)) -1822756184919077:1822756189253854 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) -1822756195697336:1822756197980300 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) -1822756197983650:1822756197983651 116426:116426 MARK(name(before HIP LaunchKernel)) -1822756197998930:1822756198020930 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822756198021960:1822756198021961 116426:116426 MARK(name(after HIP LaunchKernel)) -1822756198025511:1822756202490389 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) -1822756208934610:1822756211236435 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) -1822756211237895:1822756211237896 116426:116426 MARK(name(before HIP LaunchKernel)) -1822756211253375:1822756211274535 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822756211275535:1822756211275536 116426:116426 MARK(name(after HIP LaunchKernel)) -1822756211278895:1822756215906094 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) -1822756222572007:1822756224696150 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) -1822756224697740:1822756224697741 116426:116426 MARK(name(before HIP LaunchKernel)) -1822756224712410:1822756224734510 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822756224735951:1822756224735952 116426:116426 MARK(name(after HIP LaunchKernel)) -1822756224739551:1822756229250169 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) -1822756235652210:1822756237948645 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) -1822756237950385:1822756237950386 116426:116426 MARK(name(before HIP LaunchKernel)) -1822756237965145:1822756237987205 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822756237988225:1822756237988226 116426:116426 MARK(name(after HIP LaunchKernel)) -1822756237991545:1822756242475753 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) -1822756248912514:1822756251200179 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) -1822756251201669:1822756251201670 116426:116426 MARK(name(before HIP LaunchKernel)) -1822756251216759:1822756251238619 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822756251239819:1822756251239820 116426:116426 MARK(name(after HIP LaunchKernel)) -1822756251243189:1822756255699598 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) -1822756262255949:1822756264548564 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) -1822756264550074:1822756264550075 116426:116426 MARK(name(before HIP LaunchKernel)) -1822756264565454:1822756264595584 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822756264600734:1822756264600735 116426:116426 MARK(name(after HIP LaunchKernel)) -1822756264604334:1822756269112533 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) -1822756275609764:1822756277895409 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) -1822756277897079:1822756277897080 116426:116426 MARK(name(before HIP LaunchKernel)) -1822756277912129:1822756277944439 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822756277945489:1822756277945490 116426:116426 MARK(name(after HIP LaunchKernel)) -1822756277948819:1822756282415058 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) -1822756288851438:1822756291120613 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) -1822756291122513:1822756291122514 116426:116426 MARK(name(before HIP LaunchKernel)) -1822756291149593:1822756291175863 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822756291176943:1822756291176944 116426:116426 MARK(name(after HIP LaunchKernel)) -1822756291180203:1822756295645172 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) -1822756302171213:1822756304478118 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) -1822756304479708:1822756304479709 116426:116426 MARK(name(before HIP LaunchKernel)) -1822756304494178:1822756304515918 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822756304517068:1822756304517069 116426:116426 MARK(name(after HIP LaunchKernel)) -1822756304520898:1822756309107888 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) -1822756315566009:1822756317872983 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) -1822756317874743:1822756317874744 116426:116426 MARK(name(before HIP LaunchKernel)) -1822756317890003:1822756317911784 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822756317912824:1822756317912825 116426:116426 MARK(name(after HIP LaunchKernel)) -1822756317916174:1822756322439043 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) -1822756328910813:1822756331215508 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) -1822756331217458:1822756331217459 116426:116426 MARK(name(before HIP LaunchKernel)) -1822756331231968:1822756331253648 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822756331254698:1822756331254699 116426:116426 MARK(name(after HIP LaunchKernel)) -1822756331257828:1822756335753407 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) -1822756342390220:1822756344858365 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) -1822756344860215:1822756344860216 116426:116426 MARK(name(before HIP LaunchKernel)) -1822756344874965:1822756344896065 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822756344897095:1822756344897096 116426:116426 MARK(name(after HIP LaunchKernel)) -1822756344900925:1822756349401664 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) -1822756355860455:1822756358149420 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) -1822756358150960:1822756358150961 116426:116426 MARK(name(before HIP LaunchKernel)) -1822756358165560:1822756358187320 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822756358188350:1822756358188351 116426:116426 MARK(name(after HIP LaunchKernel)) -1822756358191690:1822756362649129 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) -1822756369152500:1822756371494465 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) -1822756371496295:1822756371496296 116426:116426 MARK(name(before HIP LaunchKernel)) -1822756371510515:1822756371530565 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822756371531595:1822756371531596 116426:116426 MARK(name(after HIP LaunchKernel)) -1822756371534665:1822756376133424 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) -1822756382612576:1822756384880270 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) -1822756384881870:1822756384881871 116426:116426 MARK(name(before HIP LaunchKernel)) -1822756384896410:1822756384917200 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822756384918210:1822756384918211 116426:116426 MARK(name(after HIP LaunchKernel)) -1822756384921530:1822756389416939 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) -1822756395870000:1822756398160975 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) -1822756398162565:1822756398162566 116426:116426 MARK(name(before HIP LaunchKernel)) -1822756398177805:1822756398213265 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822756398214305:1822756398214306 116426:116426 MARK(name(after HIP LaunchKernel)) -1822756398217745:1822756402685063 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) -1822756409203735:1822756411482520 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) -1822756411484130:1822756411484131 116426:116426 MARK(name(before HIP LaunchKernel)) -1822756411509660:1822756411532540 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822756411533560:1822756411533561 116426:116426 MARK(name(after HIP LaunchKernel)) -1822756411537360:1822756416122419 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) -1822756422623011:1822756424903275 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) -1822756424904885:1822756424904886 116426:116426 MARK(name(before HIP LaunchKernel)) -1822756424919835:1822756424942165 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822756424943185:1822756424943186 116426:116426 MARK(name(after HIP LaunchKernel)) -1822756424957215:1822756429406063 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) -1822756435805575:1822756438093209 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) -1822756438094729:1822756438094730 116426:116426 MARK(name(before HIP LaunchKernel)) -1822756438109529:1822756438130739 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822756438131789:1822756438131790 116426:116426 MARK(name(after HIP LaunchKernel)) -1822756438134930:1822756442604798 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) -1822756449043639:1822756451481194 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) -1822756451482654:1822756451482655 116426:116426 MARK(name(before HIP LaunchKernel)) -1822756451496875:1822756451518355 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822756451519375:1822756451519376 116426:116426 MARK(name(after HIP LaunchKernel)) -1822756451522695:1822756456118813 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) -1822756462615835:1822756464935750 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) -1822756464937590:1822756464937591 116426:116426 MARK(name(before HIP LaunchKernel)) -1822756464952410:1822756464973620 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822756464974650:1822756464974651 116426:116426 MARK(name(after HIP LaunchKernel)) -1822756464978310:1822756469482009 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) -1822756475916750:1822756478215505 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) -1822756478217155:1822756478217156 116426:116426 MARK(name(before HIP LaunchKernel)) -1822756478232365:1822756478254495 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822756478255515:1822756478255516 116426:116426 MARK(name(after HIP LaunchKernel)) -1822756478260725:1822756482717973 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) -1822756489224355:1822756491496559 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) -1822756491498149:1822756491498150 116426:116426 MARK(name(before HIP LaunchKernel)) -1822756491513269:1822756491535129 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822756491536169:1822756491536170 116426:116426 MARK(name(after HIP LaunchKernel)) -1822756491539309:1822756496133179 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) -1822756502617380:1822756504960795 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) -1822756504962405:1822756504962406 116426:116426 MARK(name(before HIP LaunchKernel)) -1822756504976805:1822756504996475 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822756504997495:1822756504997496 116426:116426 MARK(name(after HIP LaunchKernel)) -1822756505000715:1822756509486804 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) -1822756515924274:1822756518226989 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) -1822756518228529:1822756518228530 116426:116426 MARK(name(before HIP LaunchKernel)) -1822756518253389:1822756518275080 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822756518276100:1822756518276101 116426:116426 MARK(name(after HIP LaunchKernel)) -1822756518279570:1822756522775518 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) -1822756529296900:1822756531622655 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) -1822756531624595:1822756531624596 116426:116426 MARK(name(before HIP LaunchKernel)) -1822756531640655:1822756531671345 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822756531672395:1822756531672396 116426:116426 MARK(name(after HIP LaunchKernel)) -1822756531675905:1822756536172184 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) -1822756542624634:1822756544883439 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) -1822756544885089:1822756544885090 116426:116426 MARK(name(before HIP LaunchKernel)) -1822756544900779:1822756544929679 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822756544930729:1822756544930730 116426:116426 MARK(name(after HIP LaunchKernel)) -1822756544934009:1822756549407198 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) -1822756555851479:1822756558146433 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) -1822756558154803:1822756558154804 116426:116426 MARK(name(before HIP LaunchKernel)) -1822756558169663:1822756558192244 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822756558193264:1822756558193265 116426:116426 MARK(name(after HIP LaunchKernel)) -1822756558198284:1822756562636952 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) -1822756569145383:1822756571486988 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) -1822756571488778:1822756571488779 116426:116426 MARK(name(before HIP LaunchKernel)) -1822756571504158:1822756571525808 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822756571526878:1822756571526879 116426:116426 MARK(name(after HIP LaunchKernel)) -1822756571530299:1822756576128868 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) -1822756582616299:1822756584938464 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) -1822756584940074:1822756584940075 116426:116426 MARK(name(before HIP LaunchKernel)) -1822756584956164:1822756584979454 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822756584980484:1822756584980485 116426:116426 MARK(name(after HIP LaunchKernel)) -1822756584983974:1822756589472733 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) -1822756595920014:1822756598235618 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) -1822756598237198:1822756598237199 116426:116426 MARK(name(before HIP LaunchKernel)) -1822756598252469:1822756598273209 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822756598274249:1822756598274250 116426:116426 MARK(name(after HIP LaunchKernel)) -1822756598277709:1822756602770158 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) -1822756609299049:1822756611466343 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) -1822756611467883:1822756611467884 116426:116426 MARK(name(before HIP LaunchKernel)) -1822756611483103:1822756611504773 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822756611505783:1822756611505784 116426:116426 MARK(name(after HIP LaunchKernel)) -1822756611509313:1822756616132323 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) -1822756622616574:1822756624894869 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) -1822756624896249:1822756624896250 116426:116426 MARK(name(before HIP LaunchKernel)) -1822756624910669:1822756624932369 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822756624941849:1822756624941850 116426:116426 MARK(name(after HIP LaunchKernel)) -1822756624945649:1822756629406637 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) -1822756635848028:1822756638138283 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) -1822756638140063:1822756638140064 116426:116426 MARK(name(before HIP LaunchKernel)) -1822756638154493:1822756638175193 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822756638176473:1822756638176474 116426:116426 MARK(name(after HIP LaunchKernel)) -1822756638179643:1822756642665362 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) -1822756649186373:1822756651490688 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) -1822756651492298:1822756651492299 116426:116426 MARK(name(before HIP LaunchKernel)) -1822756651514798:1822756651536438 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822756651537558:1822756651537559 116426:116426 MARK(name(after HIP LaunchKernel)) -1822756651541098:1822756656137197 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) -1822756662626069:1822756664908903 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) -1822756664910573:1822756664910574 116426:116426 MARK(name(before HIP LaunchKernel)) -1822756664925194:1822756664956644 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822756664957724:1822756664957725 116426:116426 MARK(name(after HIP LaunchKernel)) -1822756664961214:1822756669415432 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) -1822756675858963:1822756678142727 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) -1822756678144287:1822756678144288 116426:116426 MARK(name(before HIP LaunchKernel)) -1822756678160038:1822756678189638 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822756678190678:1822756678190679 116426:116426 MARK(name(after HIP LaunchKernel)) -1822756678194638:1822756682710676 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) -1822756689230518:1822756691505853 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) -1822756691507323:1822756691507324 116426:116426 MARK(name(before HIP LaunchKernel)) -1822756691522913:1822756691545783 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822756691546893:1822756691546894 116426:116426 MARK(name(after HIP LaunchKernel)) -1822756691550693:1822756696120502 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) -1822756702630054:1822756704943748 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) -1822756704945428:1822756704945429 116426:116426 MARK(name(before HIP LaunchKernel)) -1822756704960728:1822756704983559 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822756704984589:1822756704984590 116426:116426 MARK(name(after HIP LaunchKernel)) -1822756704988559:1822756709440857 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) -1822756715893578:1822756718207233 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) -1822756718208803:1822756718208804 116426:116426 MARK(name(before HIP LaunchKernel)) -1822756718223753:1822756718246653 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822756718247683:1822756718247684 116426:116426 MARK(name(after HIP LaunchKernel)) -1822756718251113:1822756722741151 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) -1822756729273233:1822756731597148 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) -1822756731598688:1822756731598689 116426:116426 MARK(name(before HIP LaunchKernel)) -1822756731613598:1822756731635518 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822756731636568:1822756731636569 116426:116426 MARK(name(after HIP LaunchKernel)) -1822756731640028:1822756736179837 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) -1822756742647508:1822756744926793 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) -1822756744928633:1822756744928634 116426:116426 MARK(name(before HIP LaunchKernel)) -1822756744951763:1822756744973003 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822756744974063:1822756744974064 116426:116426 MARK(name(after HIP LaunchKernel)) -1822756744977513:1822756749465282 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) -1822756755866232:1822756758145827 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) -1822756758147437:1822756758147438 116426:116426 MARK(name(before HIP LaunchKernel)) -1822756758162007:1822756758184357 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822756758185377:1822756758185378 116426:116426 MARK(name(after HIP LaunchKernel)) -1822756758188967:1822756762710866 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) -1822756769239158:1822756771516892 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) -1822756771518432:1822756771518433 116426:116426 MARK(name(before HIP LaunchKernel)) -1822756771536932:1822756771558442 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822756771559462:1822756771559463 116426:116426 MARK(name(after HIP LaunchKernel)) -1822756771563172:1822756776138292 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) -1822756782623163:1822756784907137 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) -1822756784908677:1822756784908678 116426:116426 MARK(name(before HIP LaunchKernel)) -1822756784932258:1822756784953098 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822756784954108:1822756784954109 116426:116426 MARK(name(after HIP LaunchKernel)) -1822756784957658:1822756789426336 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) -1822756795870157:1822756798139672 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) -1822756798141272:1822756798141273 116426:116426 MARK(name(before HIP LaunchKernel)) -1822756798156212:1822756798188122 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822756798189182:1822756798189183 116426:116426 MARK(name(after HIP LaunchKernel)) -1822756798192822:1822756802664301 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) -1822756809172682:1822756811495407 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) -1822756811497017:1822756811497018 116426:116426 MARK(name(before HIP LaunchKernel)) -1822756811512747:1822756811544017 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822756811545057:1822756811545058 116426:116426 MARK(name(after HIP LaunchKernel)) -1822756811548467:1822756816123556 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) -1822756822801809:1822756825067123 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) -1822756825069003:1822756825069004 116426:116426 MARK(name(before HIP LaunchKernel)) -1822756825083383:1822756825106443 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822756825107513:1822756825107514 116426:116426 MARK(name(after HIP LaunchKernel)) -1822756825111163:1822756829594282 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) -1822756836043073:1822756838489348 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) -1822756838490878:1822756838490879 116426:116426 MARK(name(before HIP LaunchKernel)) -1822756838506629:1822756838529339 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822756838530389:1822756838530390 116426:116426 MARK(name(after HIP LaunchKernel)) -1822756838536339:1822756843117688 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) -1822756849597819:1822756851904454 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) -1822756851906284:1822756851906285 116426:116426 MARK(name(before HIP LaunchKernel)) -1822756851921594:1822756851943744 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822756851944794:1822756851944795 116426:116426 MARK(name(after HIP LaunchKernel)) -1822756851948634:1822756856432773 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) -1822756862870184:1822756865146458 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) -1822756865148348:1822756865148349 116426:116426 MARK(name(before HIP LaunchKernel)) -1822756865162678:1822756865184238 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822756865185268:1822756865185269 116426:116426 MARK(name(after HIP LaunchKernel)) -1822756865188768:1822756869717157 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) -1822756876234269:1822756878502283 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) -1822756878503883:1822756878503884 116426:116426 MARK(name(before HIP LaunchKernel)) -1822756878518613:1822756878540664 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822756878541914:1822756878541915 116426:116426 MARK(name(after HIP LaunchKernel)) -1822756878545134:1822756883115323 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) -1822756889597574:1822756891870778 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) -1822756891872388:1822756891872389 116426:116426 MARK(name(before HIP LaunchKernel)) -1822756891886738:1822756891907738 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822756891908938:1822756891908939 116426:116426 MARK(name(after HIP LaunchKernel)) -1822756891912218:1822756896439708 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) -1822756903017390:1822756905309874 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) -1822756905311494:1822756905311495 116426:116426 MARK(name(before HIP LaunchKernel)) -1822756905326004:1822756905347604 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822756905348785:1822756905348786 116426:116426 MARK(name(after HIP LaunchKernel)) -1822756905352035:1822756909844793 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) -1822756916324334:1822756918649929 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) -1822756918653659:1822756918653660 116426:116426 MARK(name(before HIP LaunchKernel)) -1822756918668219:1822756918694589 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822756918695609:1822756918695610 116426:116426 MARK(name(after HIP LaunchKernel)) -1822756918699129:1822756923216618 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) -1822756929680439:1822756931969004 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) -1822756931970654:1822756931970655 116426:116426 MARK(name(before HIP LaunchKernel)) -1822756931985954:1822756932032325 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822756932033415:1822756932033416 116426:116426 MARK(name(after HIP LaunchKernel)) -1822756932037015:1822756936514343 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) -1822756942929814:1822756945063257 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) -1822756945064847:1822756945064848 116426:116426 MARK(name(before HIP LaunchKernel)) -1822756945079387:1822756945110788 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822756945111818:1822756945111819 116426:116426 MARK(name(after HIP LaunchKernel)) -1822756945115148:1822756949592126 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) -1822756956036087:1822756958304422 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) -1822756958306022:1822756958306023 116426:116426 MARK(name(before HIP LaunchKernel)) -1822756958320622:1822756958343592 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822756958344642:1822756958344643 116426:116426 MARK(name(after HIP LaunchKernel)) -1822756958348242:1822756962809780 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) -1822756969310162:1822756971623357 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) -1822756971625107:1822756971625108 116426:116426 MARK(name(before HIP LaunchKernel)) -1822756971642617:1822756971664637 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822756971665647:1822756971665648 116426:116426 MARK(name(after HIP LaunchKernel)) -1822756971669227:1822756976162865 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) -1822756982623277:1822756984886411 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) -1822756984888221:1822756984888222 116426:116426 MARK(name(before HIP LaunchKernel)) -1822756984903231:1822756984924181 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822756984927741:1822756984927742 116426:116426 MARK(name(after HIP LaunchKernel)) -1822756984931021:1822756989414349 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) -1822756995839491:1822756998143566 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) -1822756998145226:1822756998145227 116426:116426 MARK(name(before HIP LaunchKernel)) -1822756998160536:1822756998182246 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822756998183286:1822756998183287 116426:116426 MARK(name(after HIP LaunchKernel)) -1822756998186696:1822757002652204 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) -1822757009164976:1822757011504701 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) -1822757011506291:1822757011506292 116426:116426 MARK(name(before HIP LaunchKernel)) -1822757011521491:1822757011542751 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822757011543781:1822757011543782 116426:116426 MARK(name(after HIP LaunchKernel)) -1822757011547231:1822757016133260 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) -1822757022595401:1822757024868116 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) -1822757024869646:1822757024869647 116426:116426 MARK(name(before HIP LaunchKernel)) -1822757024884006:1822757024904746 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822757024905776:1822757024905777 116426:116426 MARK(name(after HIP LaunchKernel)) -1822757024909096:1822757029417434 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) -1822757035857426:1822757038153230 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) -1822757038154770:1822757038154771 116426:116426 MARK(name(before HIP LaunchKernel)) -1822757038169890:1822757038191320 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822757038192350:1822757038192351 116426:116426 MARK(name(after HIP LaunchKernel)) -1822757038195600:1822757042692059 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) -1822757049217611:1822757051517045 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) -1822757051518535:1822757051518536 116426:116426 MARK(name(before HIP LaunchKernel)) -1822757051534055:1822757051563236 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822757051564266:1822757051564267 116426:116426 MARK(name(after HIP LaunchKernel)) -1822757051567596:1822757056133834 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) -1822757062623316:1822757064949271 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) -1822757064951161:1822757064951162 116426:116426 MARK(name(before HIP LaunchKernel)) -1822757064965531:1822757064995501 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822757064996531:1822757064996532 116426:116426 MARK(name(after HIP LaunchKernel)) -1822757065000011:1822757069466290 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) -1822757075876940:1822757078143465 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) -1822757078145045:1822757078145046 116426:116426 MARK(name(before HIP LaunchKernel)) -1822757078160595:1822757078192585 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822757078193635:1822757078193636 116426:116426 MARK(name(after HIP LaunchKernel)) -1822757078197025:1822757082649233 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) -1822757089064314:1822757091495340 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) -1822757091496900:1822757091496901 116426:116426 MARK(name(before HIP LaunchKernel)) -1822757091512150:1822757091533660 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822757091534750:1822757091534751 116426:116426 MARK(name(after HIP LaunchKernel)) -1822757091538010:1822757096140050 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) -1822757102636811:1822757104930745 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) -1822757104932205:1822757104932206 116426:116426 MARK(name(before HIP LaunchKernel)) -1822757104947175:1822757104969876 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822757104970916:1822757104970917 116426:116426 MARK(name(after HIP LaunchKernel)) -1822757104975026:1822757109465584 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) -1822757115895385:1822757118198910 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) -1822757118200500:1822757118200501 116426:116426 MARK(name(before HIP LaunchKernel)) -1822757118215420:1822757118237410 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822757118238470:1822757118238471 116426:116426 MARK(name(after HIP LaunchKernel)) -1822757118241640:1822757122735479 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) -1822757129251740:1822757131534175 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) -1822757131535695:1822757131535696 116426:116426 MARK(name(before HIP LaunchKernel)) -1822757131551645:1822757131572875 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822757131573925:1822757131573926 116426:116426 MARK(name(after HIP LaunchKernel)) -1822757131577395:1822757136137594 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) -1822757142628805:1822757144945570 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) -1822757144947120:1822757144947121 116426:116426 MARK(name(before HIP LaunchKernel)) -1822757144961670:1822757144982660 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822757144983690:1822757144983691 116426:116426 MARK(name(after HIP LaunchKernel)) -1822757144987120:1822757149451469 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) -1822757155997020:1822757158312535 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) -1822757158314305:1822757158314306 116426:116426 MARK(name(before HIP LaunchKernel)) -1822757158328965:1822757158350575 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822757158351605:1822757158351606 116426:116426 MARK(name(after HIP LaunchKernel)) -1822757158355195:1822757162886614 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) -1822757169385125:1822757171701610 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) -1822757171703420:1822757171703421 116426:116426 MARK(name(before HIP LaunchKernel)) -1822757171717930:1822757171739001 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822757171740011:1822757171740012 116426:116426 MARK(name(after HIP LaunchKernel)) -1822757171743351:1822757176315180 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) -1822757182724111:1822757184957875 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) -1822757184959425:1822757184959426 116426:116426 MARK(name(before HIP LaunchKernel)) -1822757184974655:1822757185006065 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822757185007105:1822757185007106 116426:116426 MARK(name(after HIP LaunchKernel)) -1822757185010415:1822757189497564 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) -1822757195934734:1822757198252839 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) -1822757198254529:1822757198254530 116426:116426 MARK(name(before HIP LaunchKernel)) -1822757198271129:1822757198295140 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822757198296720:1822757198296721 116426:116426 MARK(name(after HIP LaunchKernel)) -1822757198301840:1822757202773008 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) -1822757209272950:1822757211537104 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) -1822757211538744:1822757211538745 116426:116426 MARK(name(before HIP LaunchKernel)) -1822757211553424:1822757211574914 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822757211576014:1822757211576015 116426:116426 MARK(name(after HIP LaunchKernel)) -1822757211589224:1822757216144953 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) -1822757222623005:1822757224910759 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) -1822757224912349:1822757224912350 116426:116426 MARK(name(before HIP LaunchKernel)) -1822757224927790:1822757224949810 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822757224950900:1822757224950901 116426:116426 MARK(name(after HIP LaunchKernel)) -1822757224954720:1822757229431278 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) -1822757235884759:1822757238186904 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) -1822757238188454:1822757238188455 116426:116426 MARK(name(before HIP LaunchKernel)) -1822757238203054:1822757238224374 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822757238225634:1822757238225635 116426:116426 MARK(name(after HIP LaunchKernel)) -1822757238229684:1822757242685852 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) -1822757249238724:1822757251541669 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) -1822757251543189:1822757251543190 116426:116426 MARK(name(before HIP LaunchKernel)) -1822757251558699:1822757251580449 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822757251581729:1822757251581730 116426:116426 MARK(name(after HIP LaunchKernel)) -1822757251585029:1822757256133718 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) -1822757262629670:1822757264913374 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) -1822757264914984:1822757264914985 116426:116426 MARK(name(before HIP LaunchKernel)) -1822757264930504:1822757264953284 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822757264954384:1822757264954385 116426:116426 MARK(name(after HIP LaunchKernel)) -1822757264957734:1822757269422413 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) -1822757275859194:1822757278152778 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) -1822757278162068:1822757278162069 116426:116426 MARK(name(before HIP LaunchKernel)) -1822757278177868:1822757278198638 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822757278199688:1822757278199689 116426:116426 MARK(name(after HIP LaunchKernel)) -1822757278202988:1822757282674327 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) -1822757289209029:1822757291506964 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) -1822757291508534:1822757291508535 116426:116426 MARK(name(before HIP LaunchKernel)) -1822757291522734:1822757291543714 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822757291544734:1822757291544735 116426:116426 MARK(name(after HIP LaunchKernel)) -1822757291547894:1822757296141133 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) -1822757302620474:1822757304963489 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) -1822757304965309:1822757304965310 116426:116426 MARK(name(before HIP LaunchKernel)) -1822757304980299:1822757305001459 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822757305002479:1822757305002480 116426:116426 MARK(name(after HIP LaunchKernel)) -1822757305005779:1822757309495618 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) -1822757315913109:1822757318192753 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) -1822757318194393:1822757318194394 116426:116426 MARK(name(before HIP LaunchKernel)) -1822757318209814:1822757318242544 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822757318243694:1822757318243695 116426:116426 MARK(name(after HIP LaunchKernel)) -1822757318247724:1822757322734822 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) -1822757329258714:1822757331527788 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) -1822757331529328:1822757331529329 116426:116426 MARK(name(before HIP LaunchKernel)) -1822757331544288:1822757331574119 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822757331575169:1822757331575170 116426:116426 MARK(name(after HIP LaunchKernel)) -1822757331578509:1822757336151528 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) -1822757342640339:1822757344918404 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) -1822757344920164:1822757344920165 116426:116426 MARK(name(before HIP LaunchKernel)) -1822757344942864:1822757344965354 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822757344966554:1822757344966555 116426:116426 MARK(name(after HIP LaunchKernel)) -1822757344975354:1822757349453602 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) -1822757355903053:1822757358215338 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) -1822757358216948:1822757358216949 116426:116426 MARK(name(before HIP LaunchKernel)) -1822757358232668:1822757358254368 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822757358255418:1822757358255419 116426:116426 MARK(name(after HIP LaunchKernel)) -1822757358258608:1822757362733447 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) -1822757369251168:1822757371551123 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) -1822757371552733:1822757371552734 116426:116426 MARK(name(before HIP LaunchKernel)) -1822757371567043:1822757371588913 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822757371590083:1822757371590084 116426:116426 MARK(name(after HIP LaunchKernel)) -1822757371593943:1822757376142303 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) -1822757382602693:1822757384875598 116426:116426 hipMemcpy(dst(0x7f15f6e00000) src(0x2124940) size(0x400000) kind(1)) -1822757384877098:1822757384877099 116426:116426 MARK(name(before HIP LaunchKernel)) -1822757384891168:1822757384912708 116426:116426 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822757384913748:1822757384913749 116426:116426 MARK(name(after HIP LaunchKernel)) -1822757384916928:1822757389425657 116426:116426 hipMemcpy(dst(0x2524950) src(0x7f15f6800000) size(0x400000) kind(2)) -1822757395861378:1822757395971968 116426:116426 hipFree(ptr(0x7f15f6e00000)) -1822757395974058:1822757395992678 116426:116426 hipFree(ptr(0x7f15f6800000)) -1822755595358383:1822755595361503 116426:116426 hsa_amd_profiling_async_copy_enable() = 0 -1822755595485264:1822755595485714 116426:116426 hsa_agent_get_info(, 17, 0x7fff0b6eec64) = 0 -1822755595486744:1822755595487264 116426:116426 hsa_agent_get_info(, 17, 0x7fff0b6eec64) = 0 -1822755595486744:1822755595488004 116426:116426 hsa_iterate_agents(1, 0x1d47fe8) = 0 -1822755595488874:1822755595489204 116426:116426 hsa_agent_get_info(, 17, 0x7fff0b6eee6c) = 0 -1822755595488874:1822755595489644 116426:116426 hsa_iterate_agents(1, 0x1d47fe0) = 1 -1822755595495334:1822755595495694 116426:116426 hsa_agent_get_info(, 4, 0x7fff0b6eeb70) = 0 -1822755595496234:1822755595499514 116426:116426 hsa_agent_get_info(, 0, 0x7fff0b6eeb30) = 0 -1822755595500014:1822755595500344 116426:116426 hsa_agent_get_info(, 16, 0x1d3fdc8) = 0 -1822755595519244:1822755595519634 116426:116426 hsa_agent_get_info(, 21, 0x1d3fd60) = 0 -1822755595520084:1822755595520404 116426:116426 hsa_agent_get_info(, 22, 0x1d3fd62) = 0 -1822755595520844:1822755595521214 116426:116426 hsa_agent_get_info(, 14, 0x1d3fc00) = 0 -1822755595522934:1822755595523454 116426:116426 hsa_amd_profiling_async_copy_enable() = 0 -1822755595527194:1822755595528094 116426:116426 hsa_amd_memory_pool_get_info(, 0, 0x7fff0b6ee80c) = 0 -1822755595528614:1822755595528944 116426:116426 hsa_amd_memory_pool_get_info(, 0, 0x7fff0b6ee80c) = 0 -1822755595529394:1822755595529724 116426:116426 hsa_amd_memory_pool_get_info(, 2, 0x7fff0b6ee810) = 0 -1822755595529394:1822755595530164 116426:116426 hsa_amd_agent_iterate_memory_pools(, 1, 0x1d3fbf8) = 1 -1822755595530994:1822755595531324 116426:116426 hsa_amd_memory_pool_get_info(, 0, 0x7fff0b6ee664) = 0 -1822755595531784:1822755595532124 116426:116426 hsa_amd_memory_pool_get_info(, 1, 0x7fff0b6ee654) = 0 -1822755595532564:1822755595532884 116426:116426 hsa_amd_memory_pool_get_info(, 2, 0x7fff0b6ee658) = 0 -1822755595533444:1822755595533774 116426:116426 hsa_amd_memory_pool_get_info(, 0, 0x7fff0b6ee664) = 0 -1822755595533444:1822755595534234 116426:116426 hsa_amd_agent_iterate_memory_pools(, 1, 0x1d3fcb8) = 0 -1822755595535054:1822755595535384 116426:116426 hsa_amd_memory_pool_get_info(, 0, 0x7fff0b6ee81c) = 0 -1822755595535824:1822755595536154 116426:116426 hsa_amd_memory_pool_get_info(, 1, 0x7fff0b6ee68c) = 0 -1822755595536594:1822755595536914 116426:116426 hsa_amd_memory_pool_get_info(, 2, 0x7fff0b6ee680) = 0 -1822755595537714:1822755595538054 116426:116426 hsa_amd_memory_pool_get_info(, 0, 0x7fff0b6ee81c) = 0 -1822755595538484:1822755595538804 116426:116426 hsa_amd_memory_pool_get_info(, 1, 0x7fff0b6ee68c) = 0 -1822755595539244:1822755595539564 116426:116426 hsa_amd_memory_pool_get_info(, 2, 0x7fff0b6ee680) = 0 -1822755595539244:1822755595540024 116426:116426 hsa_amd_agent_iterate_memory_pools(, 1, 0x1d3fcb8) = 0 -1822755595546934:1822755595687625 116426:116426 hsa_amd_memory_pool_allocate(, , , 0x7fff0b6ee908) = 0 -1822755595689915:1822755595789026 116426:116426 hsa_amd_agents_allow_access(, 0x1d3fbf0, 0, 0x7f1624500000) = 0 -1822755595798136:1822755595798566 116426:116426 hsa_agent_get_info(, 8, 0x1d3fd14) = 0 -1822755595799036:1822755595799366 116426:116426 hsa_agent_get_info(, 7, 0x1d3fd18) = 0 -1822755595799806:1822755595800136 116426:116426 hsa_agent_get_info(, 4, 0x7fff0b6eed70) = 0 -1822755595803086:1822755595803486 116426:116426 hsa_amd_memory_pool_get_info(, 0, 0x7fff0b6ee6cc) = 0 -1822755595804196:1822755595804526 116426:116426 hsa_amd_memory_pool_get_info(, 1, 0x7fff0b6ee6c8) = 0 -1822755595805066:1822755595805406 116426:116426 hsa_amd_memory_pool_get_info(, 0, 0x7fff0b6ee6cc) = 0 -1822755595805886:1822755595806206 116426:116426 hsa_amd_memory_pool_get_info(, 1, 0x7fff0b6ee6c8) = 0 -1822755595805886:1822755595806726 116426:116426 hsa_amd_agent_iterate_memory_pools(, 1, 0x7fff0b6ee900) = 0 -1822755595807576:1822755595807926 116426:116426 hsa_agent_get_info(, 17, 0x7fff0b6ee6f4) = 0 -1822755595808406:1822755595808746 116426:116426 hsa_agent_get_info(, 17, 0x7fff0b6ee6f4) = 0 -1822755595808406:1822755595809256 116426:116426 hsa_iterate_agents(1, 0x7fff0b6ee860) = 0 -1822755595809916:1822755596784722 116426:116426 hsa_amd_memory_pool_allocate(, , , 0x1d40140) = 0 -1822755596786072:1822755596928003 116426:116426 hsa_amd_agents_allow_access(, 0x1d40220, 0, 0x7f1608a00000) = 0 -1822755596931973:1822755596936723 116426:116426 hsa_signal_create(0, , 0, 0x1d40160) = 0 -1822755596937143:1822755596938223 116426:116426 hsa_signal_create(0, , 0, 0x1d40180) = 0 -1822755596938973:1822755597869129 116426:116426 hsa_amd_memory_pool_allocate(, , , 0x1d40148) = 0 -1822755597870399:1822755598010980 116426:116426 hsa_amd_agents_allow_access(, 0x1d40220, 0, 0x7f1608400000) = 0 -1822755598012150:1822755598014460 116426:116426 hsa_signal_create(0, , 0, 0x1d40168) = 0 -1822755598014850:1822755598015820 116426:116426 hsa_signal_create(0, , 0, 0x1d40188) = 0 -1822755598017670:1822755598018440 116426:116426 hsa_amd_memory_pool_get_info(, 0, 0x7fff0b6ee6cc) = 0 -1822755598018880:1822755598019160 116426:116426 hsa_amd_memory_pool_get_info(, 1, 0x7fff0b6ee6c8) = 0 -1822755598019620:1822755598019900 116426:116426 hsa_amd_memory_pool_get_info(, 0, 0x7fff0b6ee6cc) = 0 -1822755598020320:1822755598020600 116426:116426 hsa_amd_memory_pool_get_info(, 1, 0x7fff0b6ee6c8) = 0 -1822755598020320:1822755598021040 116426:116426 hsa_amd_agent_iterate_memory_pools(, 1, 0x7fff0b6ee900) = 0 -1822755598022570:1822755598023250 116426:116426 hsa_agent_get_info(, 17, 0x7fff0b6ee6f4) = 0 -1822755598023760:1822755598024160 116426:116426 hsa_agent_get_info(, 17, 0x7fff0b6ee6f4) = 0 -1822755598023760:1822755598029930 116426:116426 hsa_iterate_agents(1, 0x7fff0b6ee860) = 0 -1822755598030980:1822755598958895 116426:116426 hsa_amd_memory_pool_allocate(, , , 0x1d40790) = 0 -1822755598959835:1822755599113766 116426:116426 hsa_amd_agents_allow_access(, 0x1d40340, 0, 0x7f15f7a00000) = 0 -1822755599114776:1822755599117096 116426:116426 hsa_signal_create(0, , 0, 0x1d407b0) = 0 -1822755599117496:1822755599118236 116426:116426 hsa_signal_create(0, , 0, 0x1d407d0) = 0 -1822755599118676:1822755600101853 116426:116426 hsa_amd_memory_pool_allocate(, , , 0x1d40798) = 0 -1822755600102873:1822755600244073 116426:116426 hsa_amd_agents_allow_access(, 0x1d40340, 0, 0x7f15f7400000) = 0 -1822755600245353:1822755600247673 116426:116426 hsa_signal_create(0, , 0, 0x1d407b8) = 0 -1822755600248073:1822755600248843 116426:116426 hsa_signal_create(0, , 0, 0x1d407d8) = 0 -1822755600266134:1822755600334494 116426:116426 hsa_amd_memory_lock(0x7f1623a5c6f0, , 0x1d271f0, 1, 0x7f1623a5c6f8) = 0 -1822755600350804:1822755600351444 116426:116426 hsa_agent_get_info(, 17, 0x7fff0b6ef1a4) = 0 -1822755600350804:1822755600351864 116426:116426 hsa_iterate_agents(1, 0x7f1622e24f08) = 1 -1822755600354564:1822755600355144 116426:116426 hsa_agent_get_info(, 40962, 0x1d40ed8) = 0 -1822755600356884:1822755600357174 116426:116426 hsa_agent_get_info(, 17, 0x7fff0b6eefbc) = 0 -1822755600357664:1822755600357964 116426:116426 hsa_agent_get_info(, 17, 0x7fff0b6eefbc) = 0 -1822755600357664:1822755600358464 116426:116426 hsa_iterate_agents(1, 0x7fff0b6ef10c) = 0 -1822755600358854:1822755600359204 116426:116426 hsa_agent_get_info(, 40969, 0x1d40ee0) = 0 -1822755600359594:1822755600373324 116426:116426 hsa_agent_get_info(, 0, 0x7fff0b6ef180) = 0 -1822755600375894:1822755600376204 116426:116426 hsa_agent_get_info(, 16, 0x7fff0b6ef13c) = 0 -1822755600376594:1822755600376894 116426:116426 hsa_agent_get_info(, 6, 0x1d40ff4) = 0 -1822755600377274:1822755600377574 116426:116426 hsa_agent_get_info(, 8, 0x1d40ff8) = 0 -1822755600377964:1822755600378254 116426:116426 hsa_agent_get_info(, 7, 0x7fff0b6ef0fe) = 0 -1822755600378644:1822755600378934 116426:116426 hsa_agent_get_info(, 9, 0x7fff0b6ef120) = 0 -1822755600379314:1822755600379614 116426:116426 hsa_agent_get_info(, 40963, 0x1d41014) = 0 -1822755600381494:1822755600381794 116426:116426 hsa_system_get_info(3, 0x7fff0b6ef130) = 0 -1822755600382184:1822755600382484 116426:116426 hsa_agent_get_info(, 40966, 0x7fff0b6ef0fc) = 0 -1822755600382874:1822755600383174 116426:116426 hsa_agent_get_info(, 40975, 0x1d4104c) = 0 -1822755600383564:1822755600383864 116426:116426 hsa_agent_get_info(, 40962, 0x1d41030) = 0 -1822755600384254:1822755600384554 116426:116426 hsa_agent_get_info(, 18, 0x7fff0b6ef170) = 0 -1822755600387574:1822755600387884 116426:116426 hsa_agent_get_info(, 40970, 0x7fff0b6ef108) = 0 -1822755600391664:1822755600392454 116426:116426 hsa_amd_memory_pool_get_info(, 0, 0x7fff0b6eef7c) = 0 -1822755600395074:1822755600395384 116426:116426 hsa_amd_memory_pool_get_info(, 0, 0x7fff0b6eef7c) = 0 -1822755600396414:1822755600396724 116426:116426 hsa_amd_memory_pool_get_info(, 2, 0x1d40fe8) = 0 -1822755600396414:1822755600397134 116426:116426 hsa_amd_agent_iterate_memory_pools(, 1, 0x1d40ee0) = 0 -1822755600428375:1822755600429865 116426:116426 hsa_signal_create(1, , 0x7fff0b6eee38, 0x1d441e8) = 0 -1822755600441295:1822755600442045 116426:116426 hsa_region_get_info(, 2, 0x1d40fe0) = 0 -1822755600442465:1822755600442845 116426:116426 hsa_region_get_info(, 40963, 0x1d41018) = 0 -1822755600443235:1822755600443525 116426:116426 hsa_region_get_info(, 40962, 0x1d4101c) = 0 -1822755600443925:1822755600444225 116426:116426 hsa_agent_get_info(, 4, 0x7fff0b6ef104) = 0 -1822755600444615:1822755600510135 116426:116426 hsa_agent_get_info(, 12288, 0x1d41078) = 0 -1822755600510585:1822755600510975 116426:116426 hsa_agent_get_info(, 12291, 0x1d4107c) = 0 -1822755600511375:1822755600511855 116426:116426 hsa_agent_get_info(, 12295, 0x1d41084) = 0 -1822755600512255:1822755600512565 116426:116426 hsa_agent_get_info(, 40974, 0x7fff0b6ef160) = 0 -1822755600512955:1822755600513255 116426:116426 hsa_agent_get_info(, 19, 0x7fff0b6ef118) = 0 -1822755600515525:1822755600548945 116426:116426 hsa_isa_get_info_alt(, 0, 0x7fff0b6ef110) = 0 -1822755600552385:1822755600556655 116426:116426 hsa_isa_get_info_alt(, 1, 0x1d3fff0) = 0 -1822755600579446:1822755600579736 116426:116426 hsa_system_get_info(3, 0x7fff0b6ef540) = 0 -1822755600580306:1822755600580846 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef540) = 0 -1822755600585306:1822755600585846 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef540) = 0 -1822755603136252:1822755603136832 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef540) = 0 -1822755603151762:1822755603255863 116426:116426 hsa_amd_memory_pool_allocate(, , , 0x7fff0b6ef298) = 0 -1822755603260423:1822755603260963 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef540) = 0 -1822755603262153:1822755603262683 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef540) = 0 -1822755603263623:1822755603318863 116426:116426 hsa_amd_memory_pool_allocate(, , , 0x7fff0b6ef298) = 0 -1822755603319973:1822755603320513 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef540) = 0 -1822755603330993:1822755603331533 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822755603351473:1822755603352003 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822755603354383:1822755603354913 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822755603360623:1822755603361493 116426:116426 hsa_signal_store_screlease(, 0) = void -1822755603361913:1822755603362363 116426:116426 hsa_signal_store_screlease(, 0) = void -1822755603364343:1822755603365234 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822755603887397:1822755603887807 116426:116426 hsa_signal_store_screlease(, 1) = void -1822755603994958:1822755603995478 116426:116426 hsa_agent_get_info(, 17, 0x7fff0b6ee92c) = 0 -1822755603996628:1822755603997578 116426:116426 hsa_amd_memory_pool_get_info(, 0, 0x7fff0b6ee7c8) = 0 -1822755603998028:1822755603998368 116426:116426 hsa_amd_memory_pool_get_info(, 1, 0x7fff0b6ee7cc) = 0 -1822755603998828:1822755603999148 116426:116426 hsa_amd_memory_pool_get_info(, 0, 0x7fff0b6ee7c8) = 0 -1822755603999578:1822755603999908 116426:116426 hsa_amd_memory_pool_get_info(, 1, 0x7fff0b6ee7cc) = 0 -1822755603999578:1822755604039948 116426:116426 hsa_amd_agent_iterate_memory_pools(, 1, 0x1d23670) = 1 -1822755604040958:1822755604041288 116426:116426 hsa_amd_memory_pool_get_info(, 0, 0x7fff0b6ee7c8) = 0 -1822755604041738:1822755604042068 116426:116426 hsa_amd_memory_pool_get_info(, 1, 0x7fff0b6ee7cc) = 0 -1822755604041738:1822755604042508 116426:116426 hsa_amd_agent_iterate_memory_pools(, 1, 0x1d23680) = 1 -1822755604043308:1822755604044238 116426:116426 hsa_agent_get_info(, 17, 0x7fff0b6ee92c) = 0 -1822755604044768:1822755604047898 116426:116426 hsa_agent_get_info(, 0, 0x1d23764) = 0 -1822755604050938:1822755604051288 116426:116426 hsa_agent_get_info(, 6, 0x1d237a4) = 0 -1822755604051758:1822755604052108 116426:116426 hsa_agent_get_info(, 14, 0x1d237a8) = 0 -1822755604052568:1822755604052898 116426:116426 hsa_agent_get_info(, 4, 0x1d237ac) = 0 -1822755604053348:1822755604053698 116426:116426 hsa_agent_get_info(, 40962, 0x1d237c8) = 0 -1822755604054138:1822755604054468 116426:116426 hsa_agent_get_info(, 40970, 0x1d237cc) = 0 -1822755604054908:1822755604055248 116426:116426 hsa_agent_get_info(, 40971, 0x1d237d0) = 0 -1822755604055698:1822755604056028 116426:116426 hsa_agent_get_info(, 40972, 0x1d237d4) = 0 -1822755604056478:1822755604056808 116426:116426 hsa_agent_get_info(, 40973, 0x1d237d8) = 0 -1822755604057898:1822755604058228 116426:116426 hsa_amd_memory_pool_get_info(, 0, 0x7fff0b6ee7b8) = 0 -1822755604058668:1822755604058998 116426:116426 hsa_amd_memory_pool_get_info(, 1, 0x7fff0b6ee7bc) = 0 -1822755604058668:1822755604059448 116426:116426 hsa_amd_agent_iterate_memory_pools(, 1, 0x1d237b8) = 1 -1822755604058668:1822755604060328 116426:116426 hsa_iterate_agents(1, 0x1d234a0) = 0 -1822755604061138:1822755604216809 116426:116426 hsa_system_get_major_extension_table(, , , 0x1d23538) = 0 -1822755604219099:1822755604219499 116426:116426 hsa_system_get_major_extension_table(, , , 0x1d23588) = 0 -1822755604220039:1822755604220359 116426:116426 hsa_system_get_info(3, 0x7fff0b6eeaf8) = 0 -1822755604221009:1822755604221619 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 -1822755604222179:1822755604225589 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce16050) = 0 -1822755604226269:1822755604232079 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce16010) = 0 -1822755604232729:1822755610722731 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 -1822755612460802:1822755612469442 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822755612473262:1822755612474302 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822755612475552:1822755612476712 116426:116430 hsa_signal_load_relaxed() = 1 -1822755610726841:1822755612479372 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822755612477602:1822755612480402 116426:116430 hsa_signal_store_screlease(, 0) = void -1822755612480902:1822755612481532 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822755612482272:1822755612483442 116426:116430 hsa_signal_destroy() = 0 -1822755612491192:1822755612491812 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822755769460962:1822755769463222 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fff0b6ef400) = 0 -1822755769691583:1822755769692163 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fff0b6ef400) = 0 -1822755773380166:1822755773381976 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fff0b6ef400) = 0 -1822755773385896:1822755773386876 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fff0b6ef400) = 0 -1822755773388946:1822755773389586 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7fff0b6ef400) = 0 -1822755773391656:1822755773392496 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7fff0b6ef400) = 0 -1822755773451617:1822755773452147 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fff0b6ef400) = 0 -1822755773453917:1822755773454387 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fff0b6ef400) = 0 -1822755773456337:1822755773456867 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7fff0b6ef400) = 0 -1822755773458627:1822755773459227 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7fff0b6ef400) = 0 -1822755773517217:1822755773517667 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fff0b6ef400) = 0 -1822755773520197:1822755773520717 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fff0b6ef400) = 0 -1822755773523267:1822755773523717 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7fff0b6ef400) = 0 -1822755773526307:1822755773526957 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7fff0b6ef400) = 0 -1822755773591938:1822755773592458 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fff0b6ef400) = 0 -1822755773594388:1822755773594898 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fff0b6ef400) = 0 -1822755773596958:1822755773597468 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7fff0b6ef400) = 0 -1822755773599218:1822755773599738 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7fff0b6ef400) = 0 -1822755773656528:1822755773657378 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fff0b6ef400) = 0 -1822755773659798:1822755773660248 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fff0b6ef400) = 0 -1822755773663058:1822755773663578 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7fff0b6ef400) = 0 -1822755773665958:1822755773666408 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7fff0b6ef400) = 0 -1822755773723538:1822755773724058 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fff0b6ef400) = 0 -1822755773726038:1822755773726558 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fff0b6ef400) = 0 -1822755773728928:1822755773729448 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7fff0b6ef400) = 0 -1822755773731288:1822755773731818 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7fff0b6ef400) = 0 -1822755773788459:1822755773788979 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fff0b6ef400) = 0 -1822755773791399:1822755773791849 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fff0b6ef400) = 0 -1822755773793919:1822755773794509 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7fff0b6ef400) = 0 -1822755773796379:1822755773796919 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7fff0b6ef400) = 0 -1822755773854079:1822755773854529 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fff0b6ef400) = 0 -1822755773856679:1822755773857279 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fff0b6ef400) = 0 -1822755773859379:1822755773859849 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7fff0b6ef400) = 0 -1822755773861759:1822755773862219 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7fff0b6ef400) = 0 -1822755773918750:1822755773919270 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fff0b6ef400) = 0 -1822755773921640:1822755773922160 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fff0b6ef400) = 0 -1822755773924800:1822755773925320 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7fff0b6ef400) = 0 -1822755773927600:1822755773928290 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7fff0b6ef400) = 0 -1822755774109351:1822755774109931 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fff0b6ef400) = 0 -1822755774113151:1822755774113661 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fff0b6ef400) = 0 -1822755774116961:1822755774117571 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7fff0b6ef400) = 0 -1822755774121221:1822755774121771 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7fff0b6ef400) = 0 -1822755774180341:1822755774180801 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fff0b6ef400) = 0 -1822755774183991:1822755774184461 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fff0b6ef400) = 0 -1822755774186361:1822755774186821 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7fff0b6ef400) = 0 -1822755774188481:1822755774188991 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7fff0b6ef400) = 0 -1822755774246022:1822755774246712 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fff0b6ef400) = 0 -1822755774248632:1822755774249082 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fff0b6ef400) = 0 -1822755774251092:1822755774251612 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7fff0b6ef400) = 0 -1822755774253622:1822755774254222 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7fff0b6ef400) = 0 -1822755774349252:1822755774349782 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fff0b6ef400) = 0 -1822755774352082:1822755774352602 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fff0b6ef400) = 0 -1822755774354782:1822755774355242 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7fff0b6ef400) = 0 -1822755774357492:1822755774357992 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7fff0b6ef400) = 0 -1822755774413483:1822755774414003 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fff0b6ef400) = 0 -1822755774415713:1822755774416223 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fff0b6ef400) = 0 -1822755774418393:1822755774419063 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7fff0b6ef400) = 0 -1822755774420853:1822755774421303 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7fff0b6ef400) = 0 -1822755774497853:1822755774498363 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fff0b6ef400) = 0 -1822755774500483:1822755774500993 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fff0b6ef400) = 0 -1822755774503083:1822755774503593 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7fff0b6ef400) = 0 -1822755774505773:1822755774506223 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7fff0b6ef400) = 0 -1822755774599154:1822755774599684 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fff0b6ef400) = 0 -1822755774601594:1822755774602044 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fff0b6ef400) = 0 -1822755774604404:1822755774605004 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7fff0b6ef400) = 0 -1822755774606914:1822755774607424 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7fff0b6ef400) = 0 -1822755774699285:1822755774699745 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fff0b6ef400) = 0 -1822755774702195:1822755774702635 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fff0b6ef400) = 0 -1822755774705165:1822755774705685 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7fff0b6ef400) = 0 -1822755774708625:1822755774709145 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7fff0b6ef400) = 0 -1822755774801965:1822755774802435 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fff0b6ef400) = 0 -1822755774806985:1822755774807505 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fff0b6ef400) = 0 -1822755774809575:1822755774810105 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7fff0b6ef400) = 0 -1822755774812415:1822755774812925 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7fff0b6ef400) = 0 -1822755774902276:1822755774902886 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fff0b6ef400) = 0 -1822755774904616:1822755774905226 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fff0b6ef400) = 0 -1822755774907186:1822755774907726 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7fff0b6ef400) = 0 -1822755774909546:1822755774910006 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7fff0b6ef400) = 0 -1822755774998947:1822755774999417 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fff0b6ef400) = 0 -1822755775001497:1822755775002097 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fff0b6ef400) = 0 -1822755775003847:1822755775004307 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7fff0b6ef400) = 0 -1822755775006097:1822755775006617 116426:116426 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7fff0b6ef400) = 0 -1822755867532726:1822755867545746 116426:116426 hsa_executable_create_alt(1, 0, -1822756011608523:1822756011612443 116426:116426 hsa_code_object_reader_create_from_memory(0x34e0180, , 0x7282e70) = 0 -1822756011615253:1822756011999356 116426:116426 hsa_executable_load_agent_code_object(, , , -1822756012024696:1822756012085186 116426:116426 hsa_executable_freeze(, -1822756012095196:1822756012096916 116426:116426 hsa_executable_create_alt(1, 0, -1822756012109906:1822756012110286 116426:116426 hsa_code_object_reader_create_from_memory(0x34e16f0, , 0x729ab40) = 0 -1822756012110716:1822756012245367 116426:116426 hsa_executable_load_agent_code_object(, , , -1822756012246217:1822756012289787 116426:116426 hsa_executable_freeze(, -1822756012295908:1822756012296758 116426:116426 hsa_executable_create_alt(1, 0, -1822756012307408:1822756012307748 116426:116426 hsa_code_object_reader_create_from_memory(0x34e2c60, , 0x72adf10) = 0 -1822756012308178:1822756012428938 116426:116426 hsa_executable_load_agent_code_object(, , , -1822756012429708:1822756012469819 116426:116426 hsa_executable_freeze(, -1822756012475549:1822756012476309 116426:116426 hsa_executable_create_alt(1, 0, -1822756012486749:1822756012487079 116426:116426 hsa_code_object_reader_create_from_memory(0x34e4640, , 0x72c9030) = 0 -1822756012487529:1822756012607010 116426:116426 hsa_executable_load_agent_code_object(, , , -1822756012607830:1822756012647650 116426:116426 hsa_executable_freeze(, -1822756012653160:1822756012653830 116426:116426 hsa_executable_create_alt(1, 0, -1822756012666390:1822756012666770 116426:116426 hsa_code_object_reader_create_from_memory(0x34e5fa0, , 0x72e4550) = 0 -1822756012667220:1822756012785021 116426:116426 hsa_executable_load_agent_code_object(, , , -1822756012785861:1822756012826071 116426:116426 hsa_executable_freeze(, -1822756012831871:1822756012832661 116426:116426 hsa_executable_create_alt(1, 0, -1822756012843171:1822756012843521 116426:116426 hsa_code_object_reader_create_from_memory(0x3497810, , 0x72fc550) = 0 -1822756012843971:1822756012965772 116426:116426 hsa_executable_load_agent_code_object(, , , -1822756012966522:1822756013005422 116426:116426 hsa_executable_freeze(, -1822756013011112:1822756013011902 116426:116426 hsa_executable_create_alt(1, 0, -1822756013021982:1822756013022342 116426:116426 hsa_code_object_reader_create_from_memory(0x3498d80, , 0x7310230) = 0 -1822756013022782:1822756013141913 116426:116426 hsa_executable_load_agent_code_object(, , , -1822756013142733:1822756013182403 116426:116426 hsa_executable_freeze(, -1822756013187983:1822756013188743 116426:116426 hsa_executable_create_alt(1, 0, -1822756013198493:1822756013198923 116426:116426 hsa_code_object_reader_create_from_memory(0x349a2f0, , 0x7321870) = 0 -1822756013199363:1822756013318164 116426:116426 hsa_executable_load_agent_code_object(, , , -1822756013318904:1822756013358204 116426:116426 hsa_executable_freeze(, -1822756013363584:1822756013364464 116426:116426 hsa_executable_create_alt(1, 0, -1822756013374654:1822756013375004 116426:116426 hsa_code_object_reader_create_from_memory(0x349b860, , 0x73365c0) = 0 -1822756013375444:1822756013492385 116426:116426 hsa_executable_load_agent_code_object(, , , -1822756013493145:1822756013532365 116426:116426 hsa_executable_freeze(, -1822756013538175:1822756013538775 116426:116426 hsa_executable_create_alt(1, 0, -1822756013553436:1822756013553826 116426:116426 hsa_code_object_reader_create_from_memory(0x34ac500, , 0x7349310) = 0 -1822756013554286:1822756013689616 116426:116426 hsa_executable_load_agent_code_object(, , , -1822756013690356:1822756013732407 116426:116426 hsa_executable_freeze(, -1822756013738327:1822756013739097 116426:116426 hsa_executable_create_alt(1, 0, -1822756013749957:1822756013750297 116426:116426 hsa_code_object_reader_create_from_memory(0x349e340, , 0x735cb10) = 0 -1822756013750727:1822756013866888 116426:116426 hsa_executable_load_agent_code_object(, , , -1822756013867628:1822756013908168 116426:116426 hsa_executable_freeze(, -1822756013913698:1822756013914568 116426:116426 hsa_executable_create_alt(1, 0, -1822756013924528:1822756013924928 116426:116426 hsa_code_object_reader_create_from_memory(0x349f8b0, , 0x736c6d0) = 0 -1822756013927188:1822756014043729 116426:116426 hsa_executable_load_agent_code_object(, , , -1822756014044489:1822756014085129 116426:116426 hsa_executable_freeze(, -1822756014090889:1822756014091659 116426:116426 hsa_executable_create_alt(1, 0, -1822756014103259:1822756014103619 116426:116426 hsa_code_object_reader_create_from_memory(0x34a5960, , 0x737e270) = 0 -1822756014104069:1822756014223310 116426:116426 hsa_executable_load_agent_code_object(, , , -1822756014224030:1822756014263040 116426:116426 hsa_executable_freeze(, -1822756014268780:1822756014269620 116426:116426 hsa_executable_create_alt(1, 0, -1822756014280020:1822756014280370 116426:116426 hsa_code_object_reader_create_from_memory(0x34a9470, , 0x7399d50) = 0 -1822756014280820:1822756014397001 116426:116426 hsa_executable_load_agent_code_object(, , , -1822756014397731:1822756014437811 116426:116426 hsa_executable_freeze(, -1822756014443391:1822756014444161 116426:116426 hsa_executable_create_alt(1, 0, -1822756014454551:1822756014454911 116426:116426 hsa_code_object_reader_create_from_memory(0x34aa9e0, , 0x73b4690) = 0 -1822756014455341:1822756014570932 116426:116426 hsa_executable_load_agent_code_object(, , , -1822756014571692:1822756014611562 116426:116426 hsa_executable_freeze(, -1822756014617052:1822756014617812 116426:116426 hsa_executable_create_alt(1, 0, -1822756014628382:1822756014628723 116426:116426 hsa_code_object_reader_create_from_memory(0x34a0e20, , 0x7393f30) = 0 -1822756014629153:1822756014743763 116426:116426 hsa_executable_load_agent_code_object(, , , -1822756014744503:1822756014783613 116426:116426 hsa_executable_freeze(, -1822756014789004:1822756014789914 116426:116426 hsa_executable_create_alt(1, 0, -1822756014800234:1822756014800674 116426:116426 hsa_code_object_reader_create_from_memory(0x34a2390, , 0x73df1b0) = 0 -1822756014801094:1822756014916484 116426:116426 hsa_executable_load_agent_code_object(, , , -1822756014917224:1822756014956405 116426:116426 hsa_executable_freeze(, -1822756014962095:1822756014962665 116426:116426 hsa_executable_create_alt(1, 0, -1822756014972385:1822756014972735 116426:116426 hsa_code_object_reader_create_from_memory(0x34a3900, , 0x73f7790) = 0 -1822756014973175:1822756015089265 116426:116426 hsa_executable_load_agent_code_object(, , , -1822756015090005:1822756015129646 116426:116426 hsa_executable_freeze(, -1822756015135086:1822756015135826 116426:116426 hsa_executable_create_alt(1, 0, -1822756015145686:1822756015146086 116426:116426 hsa_code_object_reader_create_from_memory(0x34b1870, , 0x74151f0) = 0 -1822756015148146:1822756015263277 116426:116426 hsa_executable_load_agent_code_object(, , , -1822756015264017:1822756015303057 116426:116426 hsa_executable_freeze(, -1822756015308617:1822756015309197 116426:116426 hsa_executable_create_alt(1, 0, -1822756015319207:1822756015319547 116426:116426 hsa_code_object_reader_create_from_memory(0x34b32b0, , 0x741db30) = 0 -1822756015319987:1822756015435658 116426:116426 hsa_executable_load_agent_code_object(, , , -1822756015436388:1822756015474858 116426:116426 hsa_executable_freeze(, -1822756015530228:1822756015530938 116426:116426 hsa_executable_create_alt(1, 0, -1822756015556988:1822756015557328 116426:116426 hsa_code_object_reader_create_from_memory(0x3076370, , 0x74485a0) = 0 -1822756015557768:1822756015685469 116426:116426 hsa_executable_load_agent_code_object(, , , -1822756015686189:1822756015724860 116426:116426 hsa_executable_freeze(, -1822756015731700:1822756015732780 116426:116426 hsa_executable_create_alt(1, 0, -1822756015752030:1822756015752420 116426:116426 hsa_code_object_reader_create_from_memory(0x3080cd0, , 0x74613c0) = 0 -1822756015752860:1822756015874891 116426:116426 hsa_executable_load_agent_code_object(, , , -1822756015875601:1822756015914241 116426:116426 hsa_executable_freeze(, -1822756015875601:1822756015922881 116426:116426 hsa_agent_iterate_isas(, 1, 0x7fff0b6ef348) = 0 -1822756015925641:1822756015926411 116426:116426 hsa_executable_iterate_agent_symbols(, , 1, 0x1d25b80) = 0 -1822756015926841:1822756015927161 116426:116426 hsa_executable_iterate_agent_symbols(, , 1, 0x1d25b80) = 0 -1822756015927561:1822756015927861 116426:116426 hsa_executable_iterate_agent_symbols(, , 1, 0x1d25b80) = 0 -1822756015928251:1822756015928551 116426:116426 hsa_executable_iterate_agent_symbols(, , 1, 0x1d25b80) = 0 -1822756015928931:1822756015929241 116426:116426 hsa_executable_iterate_agent_symbols(, , 1, 0x1d25b80) = 0 -1822756015929621:1822756015929941 116426:116426 hsa_executable_iterate_agent_symbols(, , 1, 0x1d25b80) = 0 -1822756015930321:1822756015930631 116426:116426 hsa_executable_iterate_agent_symbols(, , 1, 0x1d25b80) = 0 -1822756015931021:1822756015931321 116426:116426 hsa_executable_iterate_agent_symbols(, , 1, 0x1d25b80) = 0 -1822756015931701:1822756015932011 116426:116426 hsa_executable_iterate_agent_symbols(, , 1, 0x1d25b80) = 0 -1822756015933861:1822756015934501 116426:116426 hsa_executable_symbol_get_info(, 0, 0x7fff0b6ef268) = 0 -1822756015934951:1822756015935251 116426:116426 hsa_executable_symbol_get_info(, 1, 0x7fff0b6ef264) = 0 -1822756015935991:1822756015936331 116426:116426 hsa_executable_symbol_get_info(, 2, 0x6c819c0) = 0 -1822756015937231:1822756015937541 116426:116426 hsa_executable_symbol_get_info(, 0, 0x7fff0b6ef268) = 0 -1822756015937931:1822756015938221 116426:116426 hsa_executable_symbol_get_info(, 1, 0x7fff0b6ef264) = 0 -1822756015940341:1822756015940661 116426:116426 hsa_executable_symbol_get_info(, 2, 0x349d130) = 0 -1822756015941251:1822756015941551 116426:116426 hsa_executable_symbol_get_info(, 0, 0x7fff0b6ef268) = 0 -1822756015941941:1822756015942231 116426:116426 hsa_executable_symbol_get_info(, 1, 0x7fff0b6ef264) = 0 -1822756015942671:1822756015942991 116426:116426 hsa_executable_symbol_get_info(, 2, 0x755d040) = 0 -1822756015943611:1822756015943911 116426:116426 hsa_executable_symbol_get_info(, 0, 0x7fff0b6ef268) = 0 -1822756015944301:1822756015944591 116426:116426 hsa_executable_symbol_get_info(, 1, 0x7fff0b6ef264) = 0 -1822756015945051:1822756015945361 116426:116426 hsa_executable_symbol_get_info(, 2, 0x7568bf0) = 0 -1822756015945971:1822756015946271 116426:116426 hsa_executable_symbol_get_info(, 0, 0x7fff0b6ef268) = 0 -1822756015946661:1822756015946951 116426:116426 hsa_executable_symbol_get_info(, 1, 0x7fff0b6ef264) = 0 -1822756015947411:1822756015947721 116426:116426 hsa_executable_symbol_get_info(, 2, 0x7565b60) = 0 -1822756015948511:1822756015948811 116426:116426 hsa_executable_symbol_get_info(, 0, 0x7fff0b6ef268) = 0 -1822756015949201:1822756015949491 116426:116426 hsa_executable_symbol_get_info(, 1, 0x7fff0b6ef264) = 0 -1822756015949931:1822756015950231 116426:116426 hsa_executable_symbol_get_info(, 2, 0x73e4350) = 0 -1822756015949931:1822756015950811 116426:116426 hsa_executable_iterate_agent_symbols(, , 1, 0x1d25b80) = 0 -1822756015951221:1822756015951541 116426:116426 hsa_executable_iterate_agent_symbols(, , 1, 0x1d25b80) = 0 -1822756015951931:1822756015952231 116426:116426 hsa_executable_iterate_agent_symbols(, , 1, 0x1d25b80) = 0 -1822756015952941:1822756015953241 116426:116426 hsa_executable_symbol_get_info(, 0, 0x7fff0b6ef268) = 0 -1822756015953631:1822756015953921 116426:116426 hsa_executable_symbol_get_info(, 1, 0x7fff0b6ef264) = 0 -1822756015954361:1822756015954671 116426:116426 hsa_executable_symbol_get_info(, 2, 0x6d16c30) = 0 -1822756015954361:1822756015955261 116426:116426 hsa_executable_iterate_agent_symbols(, , 1, 0x1d25b80) = 0 -1822756015955651:1822756015955961 116426:116426 hsa_executable_iterate_agent_symbols(, , 1, 0x1d25b80) = 0 -1822756015956341:1822756015956651 116426:116426 hsa_executable_iterate_agent_symbols(, , 1, 0x1d25b80) = 0 -1822756015957031:1822756015957341 116426:116426 hsa_executable_iterate_agent_symbols(, , 1, 0x1d25b80) = 0 -1822756015957721:1822756015958031 116426:116426 hsa_executable_iterate_agent_symbols(, , 1, 0x1d25b80) = 0 -1822756015958411:1822756015958721 116426:116426 hsa_executable_iterate_agent_symbols(, , 1, 0x1d25b80) = 0 -1822756015959101:1822756015959411 116426:116426 hsa_executable_iterate_agent_symbols(, , 1, 0x1d25b80) = 0 -1822756015959791:1822756015960101 116426:116426 hsa_executable_iterate_agent_symbols(, , 1, 0x1d25b80) = 0 -1822756015960811:1822756015961101 116426:116426 hsa_executable_symbol_get_info(, 0, 0x7fff0b6ef268) = 0 -1822756015962351:1822756015962651 116426:116426 hsa_executable_symbol_get_info(, 1, 0x7fff0b6ef264) = 0 -1822756015963101:1822756015963421 116426:116426 hsa_executable_symbol_get_info(, 2, 0x349d990) = 0 -1822756015963101:1822756015964271 116426:116426 hsa_executable_iterate_agent_symbols(, , 1, 0x1d25b80) = 0 -1822756015965001:1822756015965291 116426:116426 hsa_executable_symbol_get_info(, 0, 0x7fff0b6ef268) = 0 -1822756015965691:1822756015965981 116426:116426 hsa_executable_symbol_get_info(, 1, 0x7fff0b6ef264) = 0 -1822756015966411:1822756015966721 116426:116426 hsa_executable_symbol_get_info(, 2, 0x7568c40) = 0 -1822756015966411:1822756015967341 116426:116426 hsa_executable_iterate_agent_symbols(, , 1, 0x1d25b80) = 0 -1822756051341716:1822756051343396 116426:116426 hsa_executable_symbol_get_info(, 22, 0x7fff0b6ef4e0) = 0 -1822756051351036:1822756051351526 116426:116426 hsa_system_major_extension_supported(, , , ) = 0 -1822756051353446:1822756051353796 116426:116426 hsa_system_get_major_extension_table(, , , 0x7fff0b6ef470) = 0 -1822756051431217:1822756051431517 116426:116426 hsa_executable_symbol_get_info(, 22, 0x7fff0b6ef4e0) = 0 -1822756051432037:1822756051432317 116426:116426 hsa_system_major_extension_supported(, , , ) = 0 -1822756051432717:1822756051433017 116426:116426 hsa_system_get_major_extension_table(, , , 0x7fff0b6ef470) = 0 -1822756051442837:1822756051443287 116426:116426 hsa_executable_symbol_get_info(, 22, 0x7fff0b6ef4e0) = 0 -1822756051443797:1822756051444077 116426:116426 hsa_system_major_extension_supported(, , , ) = 0 -1822756051444477:1822756051444777 116426:116426 hsa_system_get_major_extension_table(, , , 0x7fff0b6ef470) = 0 -1822756051446287:1822756051446657 116426:116426 hsa_executable_symbol_get_info(, 22, 0x7fff0b6ef4e0) = 0 -1822756051447127:1822756051447407 116426:116426 hsa_system_major_extension_supported(, , , ) = 0 -1822756051447807:1822756051448097 116426:116426 hsa_system_get_major_extension_table(, , , 0x7fff0b6ef470) = 0 -1822756051450297:1822756051450577 116426:116426 hsa_executable_symbol_get_info(, 22, 0x7fff0b6ef4e0) = 0 -1822756051451057:1822756051451337 116426:116426 hsa_system_major_extension_supported(, , , ) = 0 -1822756051451727:1822756051452017 116426:116426 hsa_system_get_major_extension_table(, , , 0x7fff0b6ef470) = 0 -1822756051453757:1822756051454047 116426:116426 hsa_executable_symbol_get_info(, 22, 0x7fff0b6ef4e0) = 0 -1822756051454657:1822756051454937 116426:116426 hsa_system_major_extension_supported(, , , ) = 0 -1822756051455337:1822756051455617 116426:116426 hsa_system_get_major_extension_table(, , , 0x7fff0b6ef470) = 0 -1822756051998390:1822756051998710 116426:116426 hsa_executable_symbol_get_info(, 22, 0x7fff0b6ef4e0) = 0 -1822756051999230:1822756051999510 116426:116426 hsa_system_major_extension_supported(, , , ) = 0 -1822756052009550:1822756052010000 116426:116426 hsa_system_get_major_extension_table(, , , 0x7fff0b6ef470) = 0 -1822756052011870:1822756052012230 116426:116426 hsa_executable_symbol_get_info(, 22, 0x7fff0b6ef4e0) = 0 -1822756052021070:1822756052021350 116426:116426 hsa_system_major_extension_supported(, , , ) = 0 -1822756052021740:1822756052022030 116426:116426 hsa_system_get_major_extension_table(, , , 0x7fff0b6ef470) = 0 -1822756052238542:1822756052238842 116426:116426 hsa_executable_symbol_get_info(, 22, 0x7fff0b6ef4e0) = 0 -1822756052239342:1822756052239622 116426:116426 hsa_system_major_extension_supported(, , , ) = 0 -1822756052240012:1822756052240302 116426:116426 hsa_system_get_major_extension_table(, , , 0x7fff0b6ef470) = 0 -1822756052241272:1822756052241562 116426:116426 hsa_executable_symbol_get_info(, 22, 0x7fff0b6ef4e0) = 0 -1822756052242042:1822756052242322 116426:116426 hsa_system_major_extension_supported(, , , ) = 0 -1822756052242712:1822756052242992 116426:116426 hsa_system_get_major_extension_table(, , , 0x7fff0b6ef470) = 0 -1822756052839946:1822756052840336 116426:116426 hsa_executable_symbol_get_info(, 22, 0x7fff0b6ef4e0) = 0 -1822756052840896:1822756052841186 116426:116426 hsa_system_major_extension_supported(, , , ) = 0 -1822756052841586:1822756052841876 116426:116426 hsa_system_get_major_extension_table(, , , 0x7fff0b6ef470) = 0 -1822756053163898:1822756053164458 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756053174058:1822756053174598 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 -1822756053191548:1822756058266990 116426:116426 hsa_queue_create(, , , 1, 0, , , ) = 0 -1822756058279151:1822756058280421 116426:116426 hsa_amd_profiling_set_profiler_enabled(, 1) = 0 -1822756058291021:1822756058291771 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 0 -1822756058294081:1822756058294471 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 0 -1822756058295951:1822756058298141 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 -1822756058300051:1822756058300401 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756058303401:1822756058304031 116426:116426 hsa_signal_store_relaxed(, 0) = void -1822756058320361:1822756058320991 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756058347521:1822756058348121 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756058360551:1822756058361161 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 -1822756058363681:1822756058367971 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 -1822756058368461:1822756058368781 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 1 -1822756058369251:1822756058369591 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 0 -1822756058370261:1822756058370581 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756058371051:1822756058371541 116426:116426 hsa_signal_store_relaxed(, 1) = void -1822756058383541:1822756059632269 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822756059641119:1822756059642409 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822756059655459:1822756059657209 116426:116426 hsa_signal_destroy() = 0 -1822756059660989:1822756059662359 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756059663459:1822756059664579 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756059668859:1822756059670269 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756059671089:1822756059671639 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756059672559:1822756059673109 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756059674990:1822756059676060 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 -1822756059676930:1822756059678110 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce160b0) = 0 -1822756059679260:1822756059684020 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce16070) = 0 -1822756059685310:1822756059689010 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 -1822756062126685:1822756062131785 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756062133775:1822756062134885 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756062135915:1822756062137085 116426:116430 hsa_signal_load_relaxed() = 1 -1822756059689930:1822756062140075 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756062138185:1822756062140305 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756062141705:1822756062142435 116426:116430 hsa_signal_destroy() = 0 -1822756062838929:1822756062840179 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756075702652:1822756075704062 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756075722832:1822756075723962 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756075725072:1822756075726192 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756075729152:1822756075730452 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756075731262:1822756075732412 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756075733392:1822756075734492 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756076416836:1822756076417956 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756076420166:1822756076421276 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 -1822756076422816:1822756076426206 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce16110) = 0 -1822756076427446:1822756076434206 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce160d0) = 0 -1822756076446266:1822756076449366 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 -1822756078070066:1822756078074827 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756078076837:1822756078077947 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756078078907:1822756078079767 116426:116430 hsa_signal_load_relaxed() = 1 -1822756076450406:1822756078081927 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756078080567:1822756078082677 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756078083287:1822756078083797 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756078084227:1822756078085057 116426:116430 hsa_signal_destroy() = 0 -1822756078086387:1822756078086987 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756078103757:1822756078104657 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756078109047:1822756078109647 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 -1822756078115207:1822756078116457 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 2 -1822756078117387:1822756078118227 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 2 -1822756078119137:1822756078120417 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 -1822756078121327:1822756078121677 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756078122787:1822756078123617 116426:116426 hsa_signal_store_relaxed(, 2) = void -1822756078126107:1822756078126717 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756078130767:1822756078131367 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756078134337:1822756078134947 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 -1822756078135997:1822756078141087 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 -1822756078141567:1822756078141887 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 3 -1822756078142337:1822756078142657 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 2 -1822756078143477:1822756078143797 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756078144247:1822756078144737 116426:116426 hsa_signal_store_relaxed(, 3) = void -1822756078146357:1822756079410695 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822756079415615:1822756079416275 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822756079419195:1822756079420545 116426:116426 hsa_signal_destroy() = 0 -1822756079423975:1822756079424965 116426:116426 hsa_signal_destroy() = 0 -1822756079428905:1822756079429535 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756079430065:1822756079430665 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756079431785:1822756079432315 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756079432775:1822756079433545 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756079434005:1822756079434315 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756079435425:1822756079436035 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 -1822756079436535:1822756079437315 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce16170) = 0 -1822756079437965:1822756079441555 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce16130) = 0 -1822756079442135:1822756079443525 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 -1822756081985631:1822756081990261 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756081992501:1822756081993611 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756081994631:1822756081995651 116426:116430 hsa_signal_load_relaxed() = 1 -1822756079444055:1822756081998071 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756081996461:1822756081998471 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756081999921:1822756082000661 116426:116430 hsa_signal_destroy() = 0 -1822756082627275:1822756082627955 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756089167467:1822756089168257 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756089183097:1822756089183637 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756089184237:1822756089184767 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756089188107:1822756089188977 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756089189587:1822756089190457 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756089191037:1822756089191937 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756089794011:1822756089794661 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756089796731:1822756089797261 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 -1822756089798071:1822756089800681 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce161d0) = 0 -1822756089801541:1822756089807401 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce16190) = 0 -1822756089807991:1822756089811381 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 -1822756091460741:1822756091465681 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756091473471:1822756091474602 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756091475582:1822756091476442 116426:116430 hsa_signal_load_relaxed() = 1 -1822756089811971:1822756091478602 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756091477262:1822756091479362 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756091480352:1822756091481202 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756091480932:1822756091482072 116426:116430 hsa_signal_destroy() = 0 -1822756091483972:1822756091484582 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756091500522:1822756091501132 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756091505362:1822756091505962 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 -1822756091512452:1822756091513482 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 4 -1822756091514682:1822756091515172 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 4 -1822756091516282:1822756091517712 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 -1822756091518452:1822756091518802 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756091520082:1822756091520922 116426:116426 hsa_signal_store_relaxed(, 4) = void -1822756091523062:1822756091523672 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756091527902:1822756091528512 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756091530952:1822756091531562 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 -1822756091532522:1822756091533262 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 -1822756091533712:1822756091534042 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 5 -1822756091534482:1822756091534792 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 4 -1822756091535442:1822756091535762 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756091536212:1822756091536702 116426:116426 hsa_signal_store_relaxed(, 5) = void -1822756091538062:1822756092816320 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822756092820680:1822756092821200 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822756092824540:1822756092825670 116426:116426 hsa_signal_destroy() = 0 -1822756092827330:1822756092827780 116426:116426 hsa_signal_destroy() = 0 -1822756092829100:1822756092829650 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756092830100:1822756092830640 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756092831710:1822756092832180 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756092842170:1822756092843010 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756092843430:1822756092843700 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756092844760:1822756092845300 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 -1822756092845780:1822756092846540 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce16230) = 0 -1822756092847070:1822756092850420 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce161f0) = 0 -1822756092850920:1822756092852200 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 -1822756095458137:1822756095462767 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756095464627:1822756095465737 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756095466757:1822756095467777 116426:116430 hsa_signal_load_relaxed() = 1 -1822756092852660:1822756095470157 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756095468587:1822756095470587 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756095471807:1822756095472547 116426:116430 hsa_signal_destroy() = 0 -1822756096113841:1822756096114511 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756102582553:1822756102583623 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756102598263:1822756102598803 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756102599593:1822756102600133 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756102602493:1822756102603373 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756102604103:1822756102604933 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756102605623:1822756102606503 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756103186457:1822756103186947 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756103188327:1822756103188867 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 -1822756103189947:1822756103192697 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce16290) = 0 -1822756103193597:1822756103199267 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce16250) = 0 -1822756103200407:1822756103203667 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 -1822756104834497:1822756104839117 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756104841217:1822756104842337 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756104843427:1822756104844287 116426:116430 hsa_signal_load_relaxed() = 1 -1822756103204267:1822756104846587 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756104845207:1822756104847127 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756104852817:1822756104853577 116426:116430 hsa_signal_destroy() = 0 -1822756104858077:1822756104858537 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756104860197:1822756104860807 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756104876957:1822756104877567 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756104881167:1822756104881767 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 -1822756104887667:1822756104888677 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 6 -1822756104889507:1822756104890167 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 6 -1822756104891067:1822756104892397 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 -1822756104893117:1822756104893467 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756104894657:1822756104895487 116426:116426 hsa_signal_store_relaxed(, 6) = void -1822756104897527:1822756104898137 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756104902317:1822756104902917 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756104905348:1822756104905958 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 -1822756104906888:1822756104907798 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 -1822756104908238:1822756104908558 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 7 -1822756104908998:1822756104909318 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 6 -1822756104910148:1822756104910468 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756104910918:1822756104911398 116426:116426 hsa_signal_store_relaxed(, 7) = void -1822756104912848:1822756106178705 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822756106183345:1822756106183975 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822756106186675:1822756106187805 116426:116426 hsa_signal_destroy() = 0 -1822756106189446:1822756106190116 116426:116426 hsa_signal_destroy() = 0 -1822756106191346:1822756106191906 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756106192356:1822756106192896 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756106193806:1822756106194276 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756106194696:1822756106195116 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756106195526:1822756106195796 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756106196696:1822756106197236 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 -1822756106200146:1822756106200856 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce162f0) = 0 -1822756106201386:1822756106204826 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce162b0) = 0 -1822756106205296:1822756106206536 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 -1822756108780922:1822756108785522 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756108787702:1822756108788812 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756108789842:1822756108790862 116426:116430 hsa_signal_load_relaxed() = 1 -1822756106207006:1822756108793292 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756108791672:1822756108793672 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756108795502:1822756108796232 116426:116430 hsa_signal_destroy() = 0 -1822756109422086:1822756109422766 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756115847097:1822756115848177 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756115862517:1822756115863057 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756115863657:1822756115864187 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756115866877:1822756115867777 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756115868237:1822756115868877 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756115869427:1822756115870557 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756116471951:1822756116472381 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756116473871:1822756116474471 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 -1822756116475471:1822756116478011 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce16350) = 0 -1822756116478781:1822756116484711 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce16310) = 0 -1822756116485571:1822756116489491 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 -1822756118099161:1822756118103751 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756118105991:1822756118107101 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756118108051:1822756118108911 116426:116430 hsa_signal_load_relaxed() = 1 -1822756116490031:1822756118111351 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756118110001:1822756118112131 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756118112651:1822756118113171 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756118113581:1822756118114411 116426:116430 hsa_signal_destroy() = 0 -1822756118115681:1822756118116281 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756118135951:1822756118136561 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756118140621:1822756118141231 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 -1822756118147102:1822756118148172 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 8 -1822756118148962:1822756118149622 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 8 -1822756118150442:1822756118151812 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 -1822756118152512:1822756118152942 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756118154012:1822756118154852 116426:116426 hsa_signal_store_relaxed(, 8) = void -1822756118157362:1822756118157972 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756118168382:1822756118168982 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756118171352:1822756118171952 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 -1822756118172972:1822756118173722 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 -1822756118174172:1822756118174582 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 9 -1822756118175032:1822756118175342 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 8 -1822756118176002:1822756118176312 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756118176762:1822756118177252 116426:116426 hsa_signal_store_relaxed(, 9) = void -1822756118179182:1822756119425929 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822756119430660:1822756119431510 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822756119434300:1822756119435420 116426:116426 hsa_signal_destroy() = 0 -1822756119437330:1822756119437810 116426:116426 hsa_signal_destroy() = 0 -1822756119438990:1822756119439620 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756119440130:1822756119440740 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756119441820:1822756119442340 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756119442970:1822756119443550 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756119444010:1822756119444310 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756119445280:1822756119445880 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 -1822756119446390:1822756119447220 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce163b0) = 0 -1822756119447740:1822756119451310 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce16370) = 0 -1822756119451830:1822756119453120 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 -1822756122001536:1822756122006176 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756122008206:1822756122009316 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756122010336:1822756122011356 116426:116430 hsa_signal_load_relaxed() = 1 -1822756119456260:1822756122013816 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756122012166:1822756122014166 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756122015386:1822756122016136 116426:116430 hsa_signal_destroy() = 0 -1822756122645770:1822756122646460 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756129189812:1822756129191232 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756129206872:1822756129207412 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756129208182:1822756129208722 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756129211552:1822756129212442 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756129213052:1822756129213932 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756129214592:1822756129215512 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756129818886:1822756129819386 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756129820966:1822756129821496 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 -1822756129822476:1822756129825176 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce16410) = 0 -1822756129826376:1822756129832656 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce163d0) = 0 -1822756129833406:1822756129836836 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 -1822756131462557:1822756131467197 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756131469197:1822756131470297 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756131471387:1822756131472247 116426:116430 hsa_signal_load_relaxed() = 1 -1822756129837506:1822756131474627 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756131473287:1822756131475427 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756131476007:1822756131476527 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756131477137:1822756131477877 116426:116430 hsa_signal_destroy() = 0 -1822756131479107:1822756131479707 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756131496027:1822756131496637 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756131500927:1822756131501527 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 -1822756131516167:1822756131517257 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 10 -1822756131518207:1822756131518687 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 10 -1822756131519657:1822756131520917 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 -1822756131521607:1822756131521967 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756131523177:1822756131524007 116426:116426 hsa_signal_store_relaxed(, 10) = void -1822756131526317:1822756131526927 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756131530777:1822756131531387 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756131533547:1822756131534157 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 -1822756131535267:1822756131536017 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 -1822756131536467:1822756131536777 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 11 -1822756131537217:1822756131537537 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 10 -1822756131538187:1822756131538497 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756131538937:1822756131539427 116426:116426 hsa_signal_store_relaxed(, 11) = void -1822756131540897:1822756132810665 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822756132815245:1822756132815805 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822756132818725:1822756132819855 116426:116426 hsa_signal_destroy() = 0 -1822756132821945:1822756132822385 116426:116426 hsa_signal_destroy() = 0 -1822756132823645:1822756132824195 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756132824645:1822756132825185 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756132826125:1822756132826605 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756132827015:1822756132827435 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756132827845:1822756132828115 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756132829185:1822756132829715 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 -1822756132830165:1822756132830925 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce16470) = 0 -1822756132831465:1822756132834876 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce16430) = 0 -1822756132835346:1822756132836566 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 -1822756135459942:1822756135464592 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756135466642:1822756135467752 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756135468902:1822756135469902 116426:116430 hsa_signal_load_relaxed() = 1 -1822756132837026:1822756135476042 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756135474462:1822756135476492 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756135477872:1822756135478602 116426:116430 hsa_signal_destroy() = 0 -1822756136131816:1822756136132526 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756142556547:1822756142557817 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756142572607:1822756142573147 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756142573837:1822756142574377 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756142576857:1822756142578057 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756142578447:1822756142579307 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756142579857:1822756142580757 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756143156891:1822756143157411 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756143159261:1822756143159791 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 -1822756143160941:1822756143163401 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce164d0) = 0 -1822756143164291:1822756143170031 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce16490) = 0 -1822756143170761:1822756143173881 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 -1822756144792972:1822756144797592 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756144799782:1822756144800902 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756144801862:1822756144802712 116426:116430 hsa_signal_load_relaxed() = 1 -1822756143174561:1822756144805162 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756144803672:1822756144805612 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756144806902:1822756144807872 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756144807172:1822756144808302 116426:116430 hsa_signal_destroy() = 0 -1822756144809962:1822756144810572 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756144826582:1822756144827192 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756144831902:1822756144832512 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 -1822756144838412:1822756144839342 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 12 -1822756144840132:1822756144840772 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 12 -1822756144841612:1822756144842772 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 -1822756144853052:1822756144853502 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756144854882:1822756144855732 116426:116426 hsa_signal_store_relaxed(, 12) = void -1822756144858092:1822756144858702 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756144862912:1822756144863512 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756144866032:1822756144866642 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 -1822756144867692:1822756144868642 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 -1822756144869082:1822756144869402 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 13 -1822756144869842:1822756144870162 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 12 -1822756144870802:1822756144871112 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756144871562:1822756144872042 116426:116426 hsa_signal_store_relaxed(, 13) = void -1822756144873652:1822756146142330 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822756146146650:1822756146147290 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822756146150090:1822756146151090 116426:116426 hsa_signal_destroy() = 0 -1822756146153140:1822756146153810 116426:116426 hsa_signal_destroy() = 0 -1822756146155020:1822756146155570 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756146156020:1822756146156550 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756146157350:1822756146157830 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756146158240:1822756146158660 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756146159070:1822756146159340 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756146160410:1822756146160940 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 -1822756146161390:1822756146162060 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce16530) = 0 -1822756146162890:1822756146166260 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce164f0) = 0 -1822756146166720:1822756146167840 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 -1822756148751906:1822756148756526 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756148758786:1822756148759896 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756148760926:1822756148761946 116426:116430 hsa_signal_load_relaxed() = 1 -1822756146168310:1822756148764516 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756148762886:1822756148764896 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756148770396:1822756148771156 116426:116430 hsa_signal_destroy() = 0 -1822756149390530:1822756149391210 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756155829762:1822756155831032 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756155845582:1822756155846112 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756155846692:1822756155847222 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756155849552:1822756155850422 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756155850812:1822756155851682 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756155852362:1822756155853072 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756156465696:1822756156466206 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756156467856:1822756156468386 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 -1822756156469176:1822756156471506 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce16590) = 0 -1822756156472746:1822756156479176 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce16550) = 0 -1822756156479926:1822756156483316 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 -1822756158109086:1822756158113656 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756158115776:1822756158116886 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756158118046:1822756158118916 116426:116430 hsa_signal_load_relaxed() = 1 -1822756156483886:1822756158121266 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756158119926:1822756158122026 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756158122846:1822756158123356 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756158123756:1822756158124586 116426:116430 hsa_signal_destroy() = 0 -1822756158126646:1822756158127266 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756158143376:1822756158143986 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756158148346:1822756158148946 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 -1822756158154956:1822756158155976 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 14 -1822756158157016:1822756158157816 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 14 -1822756158158656:1822756158159876 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 -1822756158160696:1822756158161126 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756158162196:1822756158163186 116426:116426 hsa_signal_store_relaxed(, 14) = void -1822756158165346:1822756158165956 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756158179826:1822756158180426 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756158183006:1822756158183606 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 -1822756158184596:1822756158185317 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 -1822756158185777:1822756158186087 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 15 -1822756158186527:1822756158186847 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 14 -1822756158187497:1822756158187817 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756158188267:1822756158188747 116426:116426 hsa_signal_store_relaxed(, 15) = void -1822756158190467:1822756159450364 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822756159455114:1822756159455754 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822756159459094:1822756159460294 116426:116426 hsa_signal_destroy() = 0 -1822756159462144:1822756159462624 116426:116426 hsa_signal_destroy() = 0 -1822756159464334:1822756159464954 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756159465464:1822756159466064 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756159466954:1822756159467474 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756159467934:1822756159468494 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756159468954:1822756159469264 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756159470364:1822756159470965 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 -1822756159471475:1822756159472285 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce165f0) = 0 -1822756159472775:1822756159476355 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce165b0) = 0 -1822756159476865:1822756159478145 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 -1822756162005461:1822756162010051 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756162012241:1822756162013341 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756162014561:1822756162015571 116426:116430 hsa_signal_load_relaxed() = 1 -1822756159478655:1822756162018331 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756162016671:1822756162018671 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756162020231:1822756162020971 116426:116430 hsa_signal_destroy() = 0 -1822756162646455:1822756162647135 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756169128456:1822756169129386 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756169154427:1822756169154967 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756169155537:1822756169156077 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756169158727:1822756169159817 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756169160207:1822756169161077 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756169161617:1822756169162747 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756169757070:1822756169757590 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756169759451:1822756169759981 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 -1822756169760841:1822756169763341 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce16650) = 0 -1822756169764161:1822756169769921 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce16610) = 0 -1822756169770741:1822756169774111 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 -1822756171461031:1822756171465631 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756171467921:1822756171469031 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756171469981:1822756171470841 116426:116430 hsa_signal_load_relaxed() = 1 -1822756169774681:1822756171473142 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756171471792:1822756171473912 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756171474382:1822756171475042 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756171475612:1822756171476352 116426:116430 hsa_signal_destroy() = 0 -1822756171477632:1822756171478242 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756171495172:1822756171495832 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756171499722:1822756171500322 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 -1822756171506452:1822756171507362 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 16 -1822756171508182:1822756171508832 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 16 -1822756171509722:1822756171510802 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 -1822756171511622:1822756171512052 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756171513572:1822756171514382 116426:116426 hsa_signal_store_relaxed(, 16) = void -1822756171516702:1822756171517312 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756171521222:1822756171521832 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756171523912:1822756171524512 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 -1822756171525452:1822756171526242 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 -1822756171528862:1822756171529272 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 17 -1822756171529712:1822756171530022 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 16 -1822756171530842:1822756171531152 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756171531602:1822756171532092 116426:116426 hsa_signal_store_relaxed(, 17) = void -1822756171533552:1822756172784450 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822756172788650:1822756172789220 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822756172792640:1822756172793710 116426:116426 hsa_signal_destroy() = 0 -1822756172795280:1822756172795720 116426:116426 hsa_signal_destroy() = 0 -1822756172796800:1822756172797350 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756172797800:1822756172798340 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756172799290:1822756172799760 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756172800170:1822756172800590 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756172801120:1822756172801400 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756172802300:1822756172802830 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 -1822756172803290:1822756172804030 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce166b0) = 0 -1822756172804540:1822756172807770 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce16670) = 0 -1822756172808240:1822756172809470 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 -1822756175460066:1822756175464646 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756175467016:1822756175468126 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756175469146:1822756175470166 116426:116430 hsa_signal_load_relaxed() = 1 -1822756172809930:1822756175472697 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756175471116:1822756175473157 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756175474517:1822756175475247 116426:116430 hsa_signal_destroy() = 0 -1822756176122201:1822756176122931 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756182698163:1822756182699343 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756182715193:1822756182715733 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756182716423:1822756182716963 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756182720033:1822756182720913 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756182731013:1822756182732093 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756182732743:1822756182733953 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756183331637:1822756183332337 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756183334217:1822756183334747 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 -1822756183335727:1822756183338457 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce16710) = 0 -1822756183339437:1822756183344927 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce166d0) = 0 -1822756183345757:1822756183348667 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 -1822756184855337:1822756184859857 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756184862317:1822756184863427 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756184864597:1822756184865457 116426:116430 hsa_signal_load_relaxed() = 1 -1822756183349287:1822756184867937 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756184866557:1822756184868497 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756184869457:1822756184870407 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756184870197:1822756184871347 116426:116430 hsa_signal_destroy() = 0 -1822756184872937:1822756184873547 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756184890477:1822756184891087 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756184895127:1822756184895727 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 -1822756184902387:1822756184903317 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 18 -1822756184904467:1822756184904957 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 18 -1822756184905837:1822756184906997 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 -1822756184907697:1822756184908047 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756184909357:1822756184910177 116426:116426 hsa_signal_store_relaxed(, 18) = void -1822756184912777:1822756184913377 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756184918027:1822756184918637 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756184920967:1822756184921577 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 -1822756184922777:1822756184923577 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 -1822756184924017:1822756184924347 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 19 -1822756184924787:1822756184925097 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 18 -1822756184925767:1822756184926077 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756184932187:1822756184932687 116426:116426 hsa_signal_store_relaxed(, 19) = void -1822756184934117:1822756186183495 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822756186188975:1822756186189655 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822756186192785:1822756186194185 116426:116426 hsa_signal_destroy() = 0 -1822756186196355:1822756186197175 116426:116426 hsa_signal_destroy() = 0 -1822756186198325:1822756186198935 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756186199445:1822756186200045 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756186200975:1822756186201755 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756186202215:1822756186202665 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756186203125:1822756186203435 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756186204395:1822756186204995 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 -1822756186205495:1822756186206255 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce16770) = 0 -1822756186206895:1822756186210495 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce16730) = 0 -1822756186211025:1822756186212365 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 -1822756188609880:1822756188614100 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756188616270:1822756188617380 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756188618610:1822756188619620 116426:116430 hsa_signal_load_relaxed() = 1 -1822756186212895:1822756188622360 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756188620720:1822756188622720 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756188624010:1822756188624750 116426:116430 hsa_signal_destroy() = 0 -1822756189251844:1822756189252524 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756195694386:1822756195695846 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756195709846:1822756195710376 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756195711126:1822756195711656 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756195714476:1822756195715376 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756195715766:1822756195716296 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756195716856:1822756195717636 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756196312259:1822756196312609 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756196324290:1822756196324820 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 -1822756196325890:1822756196328350 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce167d0) = 0 -1822756196329450:1822756196335220 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce16790) = 0 -1822756196335960:1822756196339040 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 -1822756197960690:1822756197965300 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756197967460:1822756197968580 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756197969530:1822756197970390 116426:116430 hsa_signal_load_relaxed() = 1 -1822756196339560:1822756197972560 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756197971200:1822756197973140 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756197974370:1822756197975210 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756197975000:1822756197976160 116426:116430 hsa_signal_destroy() = 0 -1822756197978310:1822756197978920 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756197997650:1822756197998250 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756198002480:1822756198003080 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 -1822756198009310:1822756198010320 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 20 -1822756198011330:1822756198011980 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 20 -1822756198013060:1822756198014410 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 -1822756198015250:1822756198015670 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756198016660:1822756198017430 116426:116426 hsa_signal_store_relaxed(, 20) = void -1822756198019610:1822756198020210 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756198024460:1822756198025070 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756198027611:1822756198028211 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 -1822756198029131:1822756198030051 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 -1822756198030491:1822756198030811 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 21 -1822756198031241:1822756198031561 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 20 -1822756198032201:1822756198032511 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756198032961:1822756198033441 116426:116426 hsa_signal_store_relaxed(, 21) = void -1822756198034941:1822756199301909 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822756199306689:1822756199307269 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822756199312899:1822756199313989 116426:116426 hsa_signal_destroy() = 0 -1822756199315629:1822756199316099 116426:116426 hsa_signal_destroy() = 0 -1822756199317289:1822756199317909 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756199318419:1822756199319019 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756199319829:1822756199320359 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756199320819:1822756199321389 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756199321849:1822756199322159 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756199323109:1822756199323709 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 -1822756199324229:1822756199325039 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce16830) = 0 -1822756199325679:1822756199329289 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce167f0) = 0 -1822756199329819:1822756199331229 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 -1822756201845465:1822756201850055 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756201852185:1822756201853295 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756201854315:1822756201855335 116426:116430 hsa_signal_load_relaxed() = 1 -1822756199331759:1822756201857775 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756201856135:1822756201858145 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756201859505:1822756201860245 116426:116430 hsa_signal_destroy() = 0 -1822756202488359:1822756202489049 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756208932050:1822756208933210 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756208948400:1822756208948940 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756208949780:1822756208950320 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756208953150:1822756208954180 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756208954920:1822756208955560 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756208956330:1822756208957240 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756209557914:1822756209558324 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756209560304:1822756209560834 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 -1822756209562234:1822756209564714 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce16890) = 0 -1822756209565734:1822756209571764 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce16850) = 0 -1822756209580124:1822756209583274 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 -1822756211217804:1822756211222314 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756211224444:1822756211225555 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756211226505:1822756211227365 116426:116430 hsa_signal_load_relaxed() = 1 -1822756209583944:1822756211229515 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756211228175:1822756211230295 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756211230865:1822756211231375 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756211231885:1822756211232715 116426:116430 hsa_signal_destroy() = 0 -1822756211234115:1822756211234725 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756211251965:1822756211252565 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756211256815:1822756211257415 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 -1822756211263195:1822756211264175 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 22 -1822756211265095:1822756211265745 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 22 -1822756211266635:1822756211267705 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 -1822756211268525:1822756211268955 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756211269935:1822756211270765 116426:116426 hsa_signal_store_relaxed(, 22) = void -1822756211273215:1822756211273825 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756211277845:1822756211278455 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756211280675:1822756211281275 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 -1822756211282375:1822756211283145 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 -1822756211283675:1822756211284085 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 23 -1822756211284625:1822756211284985 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 22 -1822756211285845:1822756211286155 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756211286605:1822756211287085 116426:116426 hsa_signal_store_relaxed(, 23) = void -1822756211288545:1822756212695814 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822756212700604:1822756212701174 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822756212703684:1822756212704814 116426:116426 hsa_signal_destroy() = 0 -1822756212706214:1822756212706644 116426:116426 hsa_signal_destroy() = 0 -1822756212710134:1822756212710684 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756212711144:1822756212711684 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756212712534:1822756212713024 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756212713424:1822756212714144 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756212714554:1822756212714824 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756212715894:1822756212716424 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 -1822756212716874:1822756212717714 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce168f0) = 0 -1822756212718304:1822756212721524 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce168b0) = 0 -1822756212721994:1822756212723244 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 -1822756215257240:1822756215261760 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756215264080:1822756215265190 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756215266290:1822756215267310 116426:116430 hsa_signal_load_relaxed() = 1 -1822756212723714:1822756215269700 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756215268110:1822756215270120 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756215271440:1822756215272180 116426:116430 hsa_signal_destroy() = 0 -1822756215904034:1822756215904714 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756222568927:1822756222570487 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756222584897:1822756222585437 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756222586337:1822756222586867 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756222589517:1822756222590397 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756222591017:1822756222591657 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756222592297:1822756222593397 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756223180801:1822756223181871 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756223183971:1822756223184501 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 -1822756223185691:1822756223188531 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce16950) = 0 -1822756223189081:1822756223194961 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce16910) = 0 -1822756223195751:1822756223199061 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 -1822756224674010:1822756224678170 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756224680000:1822756224681120 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756224685970:1822756224686840 116426:116430 hsa_signal_load_relaxed() = 1 -1822756223199571:1822756224689040 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756224687660:1822756224689570 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756224690740:1822756224691490 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756224691000:1822756224692020 116426:116430 hsa_signal_destroy() = 0 -1822756224694240:1822756224694840 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756224711040:1822756224711650 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756224715700:1822756224716300 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 -1822756224722570:1822756224723590 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 24 -1822756224724590:1822756224725240 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 24 -1822756224726060:1822756224727320 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 -1822756224728130:1822756224728560 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756224729980:1822756224730800 116426:116426 hsa_signal_store_relaxed(, 24) = void -1822756224733260:1822756224733870 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756224738511:1822756224739111 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756224741501:1822756224742111 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 -1822756224743221:1822756224743991 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 -1822756224744441:1822756224744761 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 25 -1822756224745201:1822756224745531 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 24 -1822756224746351:1822756224746661 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756224747111:1822756224747601 116426:116426 hsa_signal_store_relaxed(, 25) = void -1822756224749101:1822756226007829 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822756226012459:1822756226013039 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822756226015779:1822756226016869 116426:116426 hsa_signal_destroy() = 0 -1822756226018909:1822756226019599 116426:116426 hsa_signal_destroy() = 0 -1822756226020669:1822756226021219 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756226021669:1822756226022209 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756226022919:1822756226023399 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756226033659:1822756226034089 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756226034499:1822756226034769 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756226035689:1822756226036229 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 -1822756226036679:1822756226037579 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce169b0) = 0 -1822756226038109:1822756226041519 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce16970) = 0 -1822756226041989:1822756226043229 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 -1822756228602075:1822756228606695 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756228608755:1822756228609865 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756228610885:1822756228611905 116426:116430 hsa_signal_load_relaxed() = 1 -1822756226043709:1822756228614335 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756228612715:1822756228614715 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756228615995:1822756228616735 116426:116430 hsa_signal_destroy() = 0 -1822756229247939:1822756229248619 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756235649410:1822756235650590 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756235664620:1822756235665150 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756235665910:1822756235666440 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756235668940:1822756235669820 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756235670550:1822756235671100 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756235671890:1822756235673030 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756236281304:1822756236281874 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756236283604:1822756236284204 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 -1822756236285474:1822756236287724 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce16a10) = 0 -1822756236289014:1822756236294984 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce169d0) = 0 -1822756236296004:1822756236299264 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 -1822756237925164:1822756237929744 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756237931924:1822756237933034 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756237934124:1822756237934975 116426:116430 hsa_signal_load_relaxed() = 1 -1822756236300204:1822756237937265 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756237935915:1822756237938005 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756237938585:1822756237939105 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756237943225:1822756237943995 116426:116430 hsa_signal_destroy() = 0 -1822756237946615:1822756237947225 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756237963835:1822756237964445 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756237968675:1822756237969285 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 -1822756237975495:1822756237976265 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 26 -1822756237977395:1822756237978055 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 26 -1822756237978895:1822756237980075 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 -1822756237980805:1822756237981225 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756237982455:1822756237983245 116426:116426 hsa_signal_store_relaxed(, 26) = void -1822756237985945:1822756237986545 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756237990495:1822756237991105 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756237993745:1822756237994355 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 -1822756237995395:1822756237996275 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 -1822756237996715:1822756237997035 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 27 -1822756237997485:1822756237997795 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 26 -1822756237998635:1822756237998945 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756237999385:1822756237999875 116426:116426 hsa_signal_store_relaxed(, 27) = void -1822756238001435:1822756239258293 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822756239263133:1822756239263703 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822756239266403:1822756239267803 116426:116426 hsa_signal_destroy() = 0 -1822756239269523:1822756239269963 116426:116426 hsa_signal_destroy() = 0 -1822756239271023:1822756239271573 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756239272023:1822756239272553 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756239273253:1822756239273733 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756239274143:1822756239274673 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756239275073:1822756239275353 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756239276253:1822756239276783 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 -1822756239283103:1822756239283863 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce16a70) = 0 -1822756239284363:1822756239287943 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce16a30) = 0 -1822756239288423:1822756239289573 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 -1822756241829189:1822756241833819 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756241835899:1822756241837009 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756241838029:1822756241839049 116426:116430 hsa_signal_load_relaxed() = 1 -1822756239290043:1822756241841489 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756241839859:1822756241841859 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756241843489:1822756241844219 116426:116430 hsa_signal_destroy() = 0 -1822756242473573:1822756242474243 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756248909684:1822756248910794 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756248925624:1822756248926164 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756248926824:1822756248927354 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756248929704:1822756248930814 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756248931204:1822756248932064 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756248932614:1822756248933534 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756249531898:1822756249532678 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756249534388:1822756249534918 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 -1822756249536078:1822756249539138 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce16ad0) = 0 -1822756249540018:1822756249545588 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce16a90) = 0 -1822756249546558:1822756249549948 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 -1822756251173949:1822756251178499 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756251180629:1822756251181739 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756251182699:1822756251183559 116426:116430 hsa_signal_load_relaxed() = 1 -1822756249550448:1822756251186009 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756251184659:1822756251186779 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756251187629:1822756251188459 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756251188239:1822756251189369 116426:116430 hsa_signal_destroy() = 0 -1822756251190989:1822756251191599 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756251215459:1822756251216269 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756251220009:1822756251220609 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 -1822756251227079:1822756251228249 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 28 -1822756251229059:1822756251229699 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 28 -1822756251230569:1822756251231769 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 -1822756251232609:1822756251233039 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756251234069:1822756251234899 116426:116426 hsa_signal_store_relaxed(, 28) = void -1822756251237359:1822756251237969 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756251242149:1822756251242749 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756251244739:1822756251245349 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 -1822756251246669:1822756251247509 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 -1822756251247959:1822756251248289 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 29 -1822756251248739:1822756251249049 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 28 -1822756251249709:1822756251250029 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756251250469:1822756251250959 116426:116426 hsa_signal_store_relaxed(, 29) = void -1822756251252589:1822756252501467 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822756252506687:1822756252507317 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822756252510297:1822756252511427 116426:116426 hsa_signal_destroy() = 0 -1822756252513217:1822756252513697 116426:116426 hsa_signal_destroy() = 0 -1822756252514957:1822756252515567 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756252516077:1822756252516677 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756252517657:1822756252518177 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756252518637:1822756252519097 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756252519557:1822756252519867 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756252520847:1822756252521447 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 -1822756252521957:1822756252522777 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce16b30) = 0 -1822756252523397:1822756252526997 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce16af0) = 0 -1822756252527537:1822756252528807 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 -1822756255057714:1822756255062294 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756255064444:1822756255065544 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756255066574:1822756255067584 116426:116430 hsa_signal_load_relaxed() = 1 -1822756252532057:1822756255069964 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756255068394:1822756255070384 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756255071624:1822756255072364 116426:116430 hsa_signal_destroy() = 0 -1822756255697488:1822756255698168 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756262252889:1822756262254149 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756262269609:1822756262270149 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756262270919:1822756262271459 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756262273489:1822756262274359 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756262274959:1822756262275829 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756262276599:1822756262277399 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756262883313:1822756262883883 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756262885723:1822756262886263 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 -1822756262887523:1822756262890293 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce16b90) = 0 -1822756262891433:1822756262897523 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce16b50) = 0 -1822756262898263:1822756262901123 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 -1822756264529704:1822756264534154 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756264535954:1822756264537064 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756264538144:1822756264539004 116426:116430 hsa_signal_load_relaxed() = 1 -1822756262901803:1822756264541484 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756264540014:1822756264541944 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756264542864:1822756264543384 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756264543784:1822756264544614 116426:116430 hsa_signal_destroy() = 0 -1822756264546414:1822756264547024 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756264564174:1822756264564784 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756264568614:1822756264569214 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 -1822756264575734:1822756264576604 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 30 -1822756264586194:1822756264587184 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 30 -1822756264588014:1822756264589134 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 -1822756264589824:1822756264590174 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756264591214:1822756264592064 116426:116426 hsa_signal_store_relaxed(, 30) = void -1822756264594264:1822756264594874 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756264603284:1822756264603884 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756264606214:1822756264606824 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 -1822756264607704:1822756264608514 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 -1822756264608964:1822756264609274 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 31 -1822756264609714:1822756264610044 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 30 -1822756264610684:1822756264611004 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756264611444:1822756264611934 116426:116426 hsa_signal_store_relaxed(, 31) = void -1822756264613554:1822756265892863 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822756265897673:1822756265898283 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822756265900783:1822756265902003 116426:116426 hsa_signal_destroy() = 0 -1822756265903943:1822756265904633 116426:116426 hsa_signal_destroy() = 0 -1822756265905833:1822756265906383 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756265906833:1822756265907363 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756265908343:1822756265908823 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756265909233:1822756265909643 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756265910053:1822756265910333 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756265911223:1822756265911753 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 -1822756265912203:1822756265912873 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce16bf0) = 0 -1822756265913453:1822756265916833 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce16bb0) = 0 -1822756265917313:1822756265918773 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 -1822756268463839:1822756268468429 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756268470589:1822756268471699 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756268472849:1822756268473869 116426:116430 hsa_signal_load_relaxed() = 1 -1822756265919233:1822756268480409 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756268478749:1822756268480779 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756268481839:1822756268482569 116426:116430 hsa_signal_destroy() = 0 -1822756269110513:1822756269111193 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756275607554:1822756275608204 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756275624804:1822756275625334 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756275625924:1822756275626454 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756275628984:1822756275630174 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756275630574:1822756275631434 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756275631974:1822756275632874 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756276235428:1822756276235948 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756276237538:1822756276238068 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 -1822756276238938:1822756276241358 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce16c50) = 0 -1822756276242228:1822756276248348 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce16c10) = 0 -1822756276249088:1822756276252468 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 -1822756277876319:1822756277880889 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756277883139:1822756277884249 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756277885209:1822756277886069 116426:116430 hsa_signal_load_relaxed() = 1 -1822756276253008:1822756277888229 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756277886879:1822756277889009 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756277889789:1822756277890669 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756277890469:1822756277891609 116426:116430 hsa_signal_destroy() = 0 -1822756277893229:1822756277893839 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756277910479:1822756277911089 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756277915759:1822756277916369 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 -1822756277922889:1822756277923669 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 32 -1822756277924609:1822756277925269 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 32 -1822756277926269:1822756277927619 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 -1822756277938419:1822756277938869 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756277939959:1822756277940819 116426:116426 hsa_signal_store_relaxed(, 32) = void -1822756277943109:1822756277943719 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756277947769:1822756277948379 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756277950709:1822756277951319 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 -1822756277952329:1822756277953149 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 -1822756277953589:1822756277953899 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 33 -1822756277954349:1822756277954669 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 32 -1822756277955299:1822756277955609 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756277956059:1822756277956539 116426:116426 hsa_signal_store_relaxed(, 33) = void -1822756277957949:1822756279225997 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822756279230477:1822756279231067 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822756279234047:1822756279235197 116426:116426 hsa_signal_destroy() = 0 -1822756279236647:1822756279237087 116426:116426 hsa_signal_destroy() = 0 -1822756279238237:1822756279238787 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756279239237:1822756279239767 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756279240517:1822756279240997 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756279241397:1822756279241927 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756279242327:1822756279242607 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756279243667:1822756279244197 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 -1822756279244647:1822756279245398 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce16cb0) = 0 -1822756279246138:1822756279249348 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce16c70) = 0 -1822756279249808:1822756279250968 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 -1822756281773664:1822756281778294 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756281780454:1822756281781554 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756281782584:1822756281783594 116426:116430 hsa_signal_load_relaxed() = 1 -1822756279251438:1822756281786034 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756281784404:1822756281786414 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756281787624:1822756281788354 116426:116430 hsa_signal_destroy() = 0 -1822756282412728:1822756282413418 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756288848298:1822756288850038 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756288864098:1822756288864638 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756288865229:1822756288865759 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756288868489:1822756288869379 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756288869769:1822756288870639 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756288871279:1822756288872189 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756289457682:1822756289458032 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756289459622:1822756289460152 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 -1822756289461262:1822756289463962 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce16d10) = 0 -1822756289464822:1822756289470782 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce16cd0) = 0 -1822756289471532:1822756289474812 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 -1822756291101543:1822756291106103 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756291108183:1822756291109533 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756291110623:1822756291111483 116426:116430 hsa_signal_load_relaxed() = 1 -1822756289475482:1822756291113943 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756291112603:1822756291114723 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756291115363:1822756291115923 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756291116453:1822756291117273 116426:116430 hsa_signal_destroy() = 0 -1822756291118673:1822756291119283 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756291148233:1822756291148843 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756291153273:1822756291153883 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 -1822756291159793:1822756291160803 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 34 -1822756291161813:1822756291162463 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 34 -1822756291163343:1822756291164443 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 -1822756291165103:1822756291165443 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756291166523:1822756291167373 116426:116426 hsa_signal_store_relaxed(, 34) = void -1822756291169583:1822756291170193 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756291179163:1822756291179763 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756291182123:1822756291182723 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 -1822756291183783:1822756291184533 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 -1822756291184983:1822756291185303 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 35 -1822756291185733:1822756291186063 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 34 -1822756291186703:1822756291187013 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756291187463:1822756291187953 116426:116426 hsa_signal_store_relaxed(, 35) = void -1822756291189463:1822756292448332 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822756292453302:1822756292453972 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822756292456812:1822756292458212 116426:116426 hsa_signal_destroy() = 0 -1822756292460142:1822756292460632 116426:116426 hsa_signal_destroy() = 0 -1822756292462052:1822756292462672 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756292463182:1822756292463792 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756292464652:1822756292465182 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756292465642:1822756292466092 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756292466682:1822756292466992 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756292468102:1822756292468702 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 -1822756292469212:1822756292470182 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce16d70) = 0 -1822756292470702:1822756292474302 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce16d30) = 0 -1822756292474842:1822756292476332 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 -1822756295004188:1822756295008858 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756295011148:1822756295012258 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756295013478:1822756295014498 116426:116430 hsa_signal_load_relaxed() = 1 -1822756292476852:1822756295017188 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756295015608:1822756295017618 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756295019098:1822756295019828 116426:116430 hsa_signal_destroy() = 0 -1822756295643012:1822756295643682 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756302168333:1822756302169693 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756302184583:1822756302185133 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756302195943:1822756302196483 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756302198803:1822756302199653 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756302200053:1822756302200993 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756302201553:1822756302202443 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756302807107:1822756302807517 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756302809367:1822756302809897 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 -1822756302810867:1822756302813307 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce16dd0) = 0 -1822756302814057:1822756302820017 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce16d90) = 0 -1822756302820877:1822756302824177 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 -1822756304459028:1822756304463638 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756304465998:1822756304467108 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756304468068:1822756304468918 116426:116430 hsa_signal_load_relaxed() = 1 -1822756302824677:1822756304471248 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756304469868:1822756304471798 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756304472618:1822756304473268 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756304473398:1822756304474218 116426:116430 hsa_signal_destroy() = 0 -1822756304475658:1822756304476258 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756304492858:1822756304493468 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756304497458:1822756304498058 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 -1822756304504638:1822756304505688 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 36 -1822756304506618:1822756304507108 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 36 -1822756304508008:1822756304509098 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 -1822756304509798:1822756304510228 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756304511328:1822756304512238 116426:116426 hsa_signal_store_relaxed(, 36) = void -1822756304514658:1822756304515268 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756304519858:1822756304520458 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756304522798:1822756304523398 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 -1822756304524588:1822756304525338 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 -1822756304528538:1822756304528868 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 37 -1822756304529328:1822756304529648 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 36 -1822756304530298:1822756304530628 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756304531068:1822756304531558 116426:116426 hsa_signal_store_relaxed(, 37) = void -1822756304533388:1822756305800267 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822756305804497:1822756305805007 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822756305807697:1822756305809007 116426:116426 hsa_signal_destroy() = 0 -1822756305810787:1822756305811477 116426:116426 hsa_signal_destroy() = 0 -1822756305812517:1822756305813077 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756305813527:1822756305814057 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756305815057:1822756305815547 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756305815957:1822756305816367 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756305816777:1822756305817047 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756305818097:1822756305818627 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 -1822756305819077:1822756305819777 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce16e30) = 0 -1822756305820357:1822756305823757 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce16df0) = 0 -1822756305824227:1822756305825357 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 -1822756308461164:1822756308465754 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756308467914:1822756308469014 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756308470044:1822756308471064 116426:116430 hsa_signal_load_relaxed() = 1 -1822756305825817:1822756308473644 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756308472014:1822756308474024 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756308475374:1822756308476104 116426:116430 hsa_signal_destroy() = 0 -1822756309105648:1822756309106338 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756315563309:1822756315564549 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756315578249:1822756315578789 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756315579409:1822756315579939 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756315582279:1822756315583489 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756315584089:1822756315584729 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756315597089:1822756315598359 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756316213533:1822756316214043 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756316215563:1822756316216093 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 -1822756316217123:1822756316219623 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce16e90) = 0 -1822756316220633:1822756316226453 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce16e50) = 0 -1822756316227193:1822756316230983 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 -1822756317853733:1822756317858313 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756317860603:1822756317861723 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756317862883:1822756317863733 116426:116430 hsa_signal_load_relaxed() = 1 -1822756316231503:1822756317866083 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756317864733:1822756317866883 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756317867523:1822756317868023 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756317868483:1822756317869323 116426:116430 hsa_signal_destroy() = 0 -1822756317871013:1822756317871623 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756317888563:1822756317889173 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756317893843:1822756317894443 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 -1822756317900393:1822756317901403 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 38 -1822756317902423:1822756317903073 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 38 -1822756317903953:1822756317905143 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 -1822756317905953:1822756317906293 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756317907383:1822756317908213 116426:116426 hsa_signal_store_relaxed(, 38) = void -1822756317910534:1822756317911134 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756317915144:1822756317915744 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756317918724:1822756317919324 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 -1822756317920454:1822756317921194 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 -1822756317921644:1822756317921964 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 39 -1822756317922394:1822756317922724 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 38 -1822756317923354:1822756317923664 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756317926764:1822756317927264 116426:116426 hsa_signal_store_relaxed(, 39) = void -1822756317928944:1822756319186242 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822756319190502:1822756319191082 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822756319193992:1822756319195002 116426:116426 hsa_signal_destroy() = 0 -1822756319196632:1822756319197072 116426:116426 hsa_signal_destroy() = 0 -1822756319198282:1822756319198822 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756319199282:1822756319199822 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756319200972:1822756319201452 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756319201852:1822756319202272 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756319202672:1822756319202942 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756319203862:1822756319204392 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 -1822756319204832:1822756319205582 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce16ef0) = 0 -1822756319206032:1822756319209612 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce16eb0) = 0 -1822756319210072:1822756319211422 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 -1822756321790538:1822756321795168 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756321797448:1822756321798558 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756321799788:1822756321800809 116426:116430 hsa_signal_load_relaxed() = 1 -1822756319211872:1822756321803489 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756321801899:1822756321803919 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756321805239:1822756321805979 116426:116430 hsa_signal_destroy() = 0 -1822756322436933:1822756322437623 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756328908263:1822756328909283 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756328923633:1822756328924173 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756328924913:1822756328925453 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756328928593:1822756328929493 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756328930164:1822756328931024 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756328931644:1822756328932514 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756329534627:1822756329535157 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756329536947:1822756329537477 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 -1822756329548667:1822756329551407 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce16f50) = 0 -1822756329552377:1822756329558058 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce16f10) = 0 -1822756329558968:1822756329562398 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 -1822756331196558:1822756331201058 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756331203238:1822756331204448 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756331205408:1822756331206268 116426:116430 hsa_signal_load_relaxed() = 1 -1822756329562908:1822756331208428 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756331207078:1822756331209208 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756331210218:1822756331211088 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756331210768:1822756331211918 116426:116430 hsa_signal_destroy() = 0 -1822756331213528:1822756331214138 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756331230678:1822756331231288 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756331235188:1822756331235798 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 -1822756331242128:1822756331243018 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 40 -1822756331244028:1822756331244678 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 40 -1822756331245858:1822756331246998 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 -1822756331247778:1822756331248208 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756331249288:1822756331250128 116426:116426 hsa_signal_store_relaxed(, 40) = void -1822756331252328:1822756331252928 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756331256788:1822756331257388 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756331259568:1822756331260168 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 -1822756331261298:1822756331262038 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 -1822756331262488:1822756331262818 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 41 -1822756331263258:1822756331263568 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 40 -1822756331264208:1822756331264518 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756331264959:1822756331265449 116426:116426 hsa_signal_store_relaxed(, 41) = void -1822756331266919:1822756332530667 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822756332535547:1822756332536187 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822756332541657:1822756332542787 116426:116426 hsa_signal_destroy() = 0 -1822756332544447:1822756332544937 116426:116426 hsa_signal_destroy() = 0 -1822756332546257:1822756332546877 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756332547387:1822756332547997 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756332548987:1822756332549517 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756332549977:1822756332550427 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756332550897:1822756332551197 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756332552157:1822756332552757 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 -1822756332553267:1822756332554087 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce16fb0) = 0 -1822756332554687:1822756332558237 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce16f70) = 0 -1822756332558787:1822756332560287 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 -1822756335111233:1822756335115813 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756335118003:1822756335119103 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756335120133:1822756335121143 116426:116430 hsa_signal_load_relaxed() = 1 -1822756332560827:1822756335123523 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756335121943:1822756335123943 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756335125333:1822756335126073 116426:116430 hsa_signal_destroy() = 0 -1822756335751297:1822756335751977 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756342386799:1822756342388719 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756342404030:1822756342404560 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756342405230:1822756342405760 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756342408230:1822756342409260 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756342410010:1822756342410930 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756342411890:1822756342412660 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756343018233:1822756343018853 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756343030733:1822756343031293 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 -1822756343032233:1822756343035274 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce17010) = 0 -1822756343036264:1822756343041924 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce16fd0) = 0 -1822756343044534:1822756343047224 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 -1822756344839685:1822756344844345 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756344846355:1822756344847455 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756344848415:1822756344849275 116426:116430 hsa_signal_load_relaxed() = 1 -1822756343047724:1822756344851465 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756344850085:1822756344852015 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756344852845:1822756344853545 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756344853675:1822756344854515 116426:116430 hsa_signal_destroy() = 0 -1822756344856185:1822756344856785 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756344873535:1822756344874145 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756344878265:1822756344878865 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 -1822756344885325:1822756344886095 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 42 -1822756344886885:1822756344887545 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 42 -1822756344888365:1822756344889465 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 -1822756344890185:1822756344890535 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756344891605:1822756344892435 116426:116426 hsa_signal_store_relaxed(, 42) = void -1822756344894745:1822756344895355 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756344899885:1822756344900485 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756344902835:1822756344903445 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 -1822756344904475:1822756344905275 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 -1822756344905725:1822756344906035 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 43 -1822756344906485:1822756344906815 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 42 -1822756344907465:1822756344907775 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756344908225:1822756344908705 116426:116426 hsa_signal_store_relaxed(, 43) = void -1822756344910255:1822756346168673 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822756346173423:1822756346173943 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822756346176704:1822756346177914 116426:116426 hsa_signal_destroy() = 0 -1822756346179684:1822756346180374 116426:116426 hsa_signal_destroy() = 0 -1822756346181454:1822756346181994 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756346185224:1822756346185764 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756346186694:1822756346187184 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756346187594:1822756346188004 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756346188414:1822756346188684 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756346189764:1822756346190294 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 -1822756346190744:1822756346191414 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce17070) = 0 -1822756346191944:1822756346195344 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce17030) = 0 -1822756346195824:1822756346197184 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 -1822756348757620:1822756348762230 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756348764340:1822756348765440 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756348766460:1822756348767490 116426:116430 hsa_signal_load_relaxed() = 1 -1822756346197634:1822756348769940 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756348768290:1822756348770310 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756348771720:1822756348772460 116426:116430 hsa_signal_destroy() = 0 -1822756349399344:1822756349400034 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756355857885:1822756355858855 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756355873775:1822756355874305 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756355875085:1822756355875615 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756355877975:1822756355878855 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756355879455:1822756355880105 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756355880745:1822756355881625 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756356499239:1822756356499759 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756356501859:1822756356502459 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 -1822756356503579:1822756356505809 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce170d0) = 0 -1822756356506659:1822756356512969 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce17090) = 0 -1822756356514029:1822756356517109 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 -1822756358127119:1822756358131720 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756358133740:1822756358134850 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756358139560:1822756358140440 116426:116430 hsa_signal_load_relaxed() = 1 -1822756356517659:1822756358142630 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756358141280:1822756358143410 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756358144480:1822756358144920 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756358145400:1822756358146230 116426:116430 hsa_signal_destroy() = 0 -1822756358147380:1822756358147980 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756358164340:1822756358164950 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756358169200:1822756358169810 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 -1822756358176030:1822756358176880 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 44 -1822756358177830:1822756358178320 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 44 -1822756358179580:1822756358180770 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 -1822756358181430:1822756358181780 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756358182880:1822756358183690 116426:116426 hsa_signal_store_relaxed(, 44) = void -1822756358186130:1822756358186740 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756358190650:1822756358191250 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756358193620:1822756358194230 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 -1822756358195190:1822756358196010 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 -1822756358196450:1822756358196770 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 45 -1822756358197210:1822756358197530 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 44 -1822756358198160:1822756358198480 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756358198920:1822756358199410 116426:116426 hsa_signal_store_relaxed(, 45) = void -1822756358201240:1822756359467758 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822756359472678:1822756359473308 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822756359476008:1822756359477528 116426:116426 hsa_signal_destroy() = 0 -1822756359479598:1822756359480068 116426:116426 hsa_signal_destroy() = 0 -1822756359481278:1822756359481898 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756359482408:1822756359483008 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756359483928:1822756359484448 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756359484908:1822756359485358 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756359494888:1822756359495208 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756359496328:1822756359496938 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 -1822756359497438:1822756359498268 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce17130) = 0 -1822756359498858:1822756359502368 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce170f0) = 0 -1822756359502898:1822756359504178 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 -1822756362005454:1822756362010054 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756362012144:1822756362013254 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756362014274:1822756362015294 116426:116430 hsa_signal_load_relaxed() = 1 -1822756359504708:1822756362017734 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756362016104:1822756362018114 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756362019474:1822756362020224 116426:116430 hsa_signal_destroy() = 0 -1822756362646989:1822756362647669 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756369149300:1822756369150970 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756369165060:1822756369165600 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756369166440:1822756369166970 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756369169420:1822756369170320 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756369170710:1822756369171940 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756369172490:1822756369173700 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756369756064:1822756369756394 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756369758214:1822756369758744 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 -1822756369759744:1822756369762374 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce17190) = 0 -1822756369763374:1822756369769154 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce17150) = 0 -1822756369769914:1822756369773104 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 -1822756371466644:1822756371471235 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756371473455:1822756371474615 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756371475705:1822756371476565 116426:116430 hsa_signal_load_relaxed() = 1 -1822756369773704:1822756371478845 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756371477505:1822756371479605 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756371480175:1822756371480695 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756371484755:1822756371485505 116426:116430 hsa_signal_destroy() = 0 -1822756371492675:1822756371493275 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756371509415:1822756371510075 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756371513605:1822756371514205 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 -1822756371519665:1822756371520525 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 46 -1822756371521345:1822756371521995 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 46 -1822756371522835:1822756371523915 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 -1822756371524625:1822756371525055 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756371526085:1822756371526995 116426:116426 hsa_signal_store_relaxed(, 46) = void -1822756371529375:1822756371529975 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756371533615:1822756371534225 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756371536375:1822756371536985 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 -1822756371538055:1822756371538755 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 -1822756371539205:1822756371539525 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 47 -1822756371539965:1822756371540275 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 46 -1822756371540925:1822756371541245 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756371541685:1822756371542175 116426:116426 hsa_signal_store_relaxed(, 47) = void -1822756371543975:1822756372819853 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822756372824473:1822756372825133 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822756372827643:1822756372828973 116426:116426 hsa_signal_destroy() = 0 -1822756372830603:1822756372831043 116426:116426 hsa_signal_destroy() = 0 -1822756372832143:1822756372832693 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756372833143:1822756372833683 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756372834503:1822756372834993 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756372835493:1822756372835903 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756372836313:1822756372836583 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756372837653:1822756372838183 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 -1822756372838653:1822756372839413 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce171f0) = 0 -1822756372842663:1822756372845943 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce171b0) = 0 -1822756372846413:1822756372847563 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 -1822756375464660:1822756375469260 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756375471390:1822756375472490 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756375473510:1822756375474530 116426:116430 hsa_signal_load_relaxed() = 1 -1822756372848033:1822756375476910 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756375475340:1822756375477340 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756375478810:1822756375479550 116426:116430 hsa_signal_destroy() = 0 -1822756376131174:1822756376131914 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756382609966:1822756382611346 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756382625626:1822756382626156 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756382626766:1822756382627296 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756382629816:1822756382630546 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756382630936:1822756382631836 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756382632496:1822756382633396 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756383217890:1822756383218400 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756383219880:1822756383220410 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 -1822756383221390:1822756383224060 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce17250) = 0 -1822756383224840:1822756383230660 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce17210) = 0 -1822756383231480:1822756383234680 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 -1822756384853770:1822756384858390 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756384860360:1822756384861470 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756384862430:1822756384863290 116426:116430 hsa_signal_load_relaxed() = 1 -1822756383235240:1822756384865850 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756384864370:1822756384866310 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756384867600:1822756384868580 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756384867870:1822756384869010 116426:116430 hsa_signal_destroy() = 0 -1822756384870760:1822756384871360 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756384895300:1822756384895920 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756384899750:1822756384900360 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 -1822756384906240:1822756384907120 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 48 -1822756384907950:1822756384908600 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 48 -1822756384909500:1822756384910590 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 -1822756384911270:1822756384911620 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756384912660:1822756384913510 116426:116426 hsa_signal_store_relaxed(, 48) = void -1822756384915930:1822756384916540 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756384920480:1822756384921090 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756384923481:1822756384924091 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 -1822756384925011:1822756384925771 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 -1822756384926221:1822756384926551 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 49 -1822756384926991:1822756384927311 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 48 -1822756384927961:1822756384928271 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756384928721:1822756384929201 116426:116426 hsa_signal_store_relaxed(, 49) = void -1822756384930901:1822756386200168 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822756386204778:1822756386205348 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822756386208008:1822756386209049 116426:116426 hsa_signal_destroy() = 0 -1822756386210699:1822756386211379 116426:116426 hsa_signal_destroy() = 0 -1822756386212419:1822756386212969 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756386213419:1822756386213949 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756386214879:1822756386215349 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756386215759:1822756386216169 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756386216579:1822756386216849 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756386217759:1822756386218289 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 -1822756386218729:1822756386219399 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce172b0) = 0 -1822756386219899:1822756386223309 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce17270) = 0 -1822756386223769:1822756386224889 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 -1822756388771885:1822756388776485 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756388782935:1822756388784045 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756388785065:1822756388786085 116426:116430 hsa_signal_load_relaxed() = 1 -1822756386225349:1822756388788545 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756388786895:1822756388788915 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756388790365:1822756388791105 116426:116430 hsa_signal_destroy() = 0 -1822756389414899:1822756389415579 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756395867020:1822756395868360 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756395883290:1822756395883820 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756395884710:1822756395885250 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756395887650:1822756395888510 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756395888910:1822756395889540 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756395890330:1822756395891140 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756396502764:1822756396503544 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756396505054:1822756396505594 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 -1822756396506604:1822756396509234 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce17310) = 0 -1822756396510544:1822756396516634 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce172d0) = 0 -1822756396517374:1822756396520904 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 -1822756398142585:1822756398147165 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756398149325:1822756398150485 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756398151565:1822756398152425 116426:116430 hsa_signal_load_relaxed() = 1 -1822756396521594:1822756398154725 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756398153375:1822756398155525 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756398156045:1822756398156555 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756398157275:1822756398157995 116426:116430 hsa_signal_destroy() = 0 -1822756398159015:1822756398159625 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756398176525:1822756398177135 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756398181185:1822756398181785 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 -1822756398187795:1822756398188575 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 50 -1822756398203815:1822756398204315 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 50 -1822756398205215:1822756398206615 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 -1822756398207345:1822756398207695 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756398208725:1822756398209555 116426:116426 hsa_signal_store_relaxed(, 50) = void -1822756398212055:1822756398212665 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756398216695:1822756398217305 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756398220045:1822756398220655 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 -1822756398221815:1822756398222555 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 -1822756398223005:1822756398223325 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 51 -1822756398223765:1822756398224085 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 50 -1822756398224725:1822756398225045 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756398225485:1822756398225975 116426:116426 hsa_signal_store_relaxed(, 51) = void -1822756398227755:1822756399495114 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822756399499774:1822756399500454 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822756399503324:1822756399504784 116426:116426 hsa_signal_destroy() = 0 -1822756399506744:1822756399507234 116426:116426 hsa_signal_destroy() = 0 -1822756399508394:1822756399509014 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756399509524:1822756399510124 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756399510924:1822756399511454 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756399511914:1822756399512514 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756399512974:1822756399513284 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756399514234:1822756399514834 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 -1822756399515354:1822756399516184 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce17370) = 0 -1822756399516784:1822756399520314 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce17330) = 0 -1822756399520834:1822756399522084 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 -1822756402036219:1822756402040859 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756402042889:1822756402043999 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756402045149:1822756402046169 116426:116430 hsa_signal_load_relaxed() = 1 -1822756399522604:1822756402054410 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756402052760:1822756402054790 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756402056010:1822756402056740 116426:116430 hsa_signal_destroy() = 0 -1822756402683063:1822756402683743 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756409201595:1822756409202345 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756409216645:1822756409217185 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756409217765:1822756409218295 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756409220905:1822756409221795 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756409222185:1822756409223055 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756409223595:1822756409224495 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756409806429:1822756409807079 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756409808789:1822756409809319 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 -1822756409810269:1822756409812739 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce173d0) = 0 -1822756409813649:1822756409819329 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce17390) = 0 -1822756409819899:1822756409823259 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 -1822756411463670:1822756411468250 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756411470530:1822756411471640 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756411472590:1822756411473450 116426:116430 hsa_signal_load_relaxed() = 1 -1822756409823829:1822756411475820 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756411474470:1822756411476620 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756411477090:1822756411477770 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756411478240:1822756411479080 116426:116430 hsa_signal_destroy() = 0 -1822756411480400:1822756411481010 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756411508230:1822756411508840 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756411512960:1822756411513570 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 -1822756411519340:1822756411520400 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 52 -1822756411521190:1822756411521840 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 52 -1822756411522740:1822756411524190 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 -1822756411524880:1822756411525230 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756411528230:1822756411529070 116426:116426 hsa_signal_store_relaxed(, 52) = void -1822756411531220:1822756411531820 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756411536310:1822756411536920 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756411539480:1822756411540080 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 -1822756411541200:1822756411542030 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 -1822756411542470:1822756411542780 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 53 -1822756411543220:1822756411543530 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 52 -1822756411544180:1822756411544500 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756411544940:1822756411545420 116426:116426 hsa_signal_store_relaxed(, 53) = void -1822756411546860:1822756412816318 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822756412820658:1822756412821168 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822756412823928:1822756412824938 116426:116426 hsa_signal_destroy() = 0 -1822756412826508:1822756412826948 116426:116426 hsa_signal_destroy() = 0 -1822756412828048:1822756412828598 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756412829048:1822756412829578 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756412830428:1822756412830918 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756412831318:1822756412831738 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756412832278:1822756412832548 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756412833708:1822756412834238 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 -1822756412834698:1822756412835438 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce17430) = 0 -1822756412835888:1822756412839318 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce173f0) = 0 -1822756412839778:1822756412840988 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 -1822756415463065:1822756415467665 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756415470015:1822756415471115 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756415472145:1822756415473175 116426:116430 hsa_signal_load_relaxed() = 1 -1822756412841448:1822756415475715 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756415474135:1822756415476145 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756415477345:1822756415478085 116426:116430 hsa_signal_destroy() = 0 -1822756416120109:1822756416120839 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756422620081:1822756422621361 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756422635791:1822756422636331 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756422636901:1822756422637431 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756422639641:1822756422640511 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756422641011:1822756422641881 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756422642601:1822756422643481 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756423242725:1822756423243125 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756423244565:1822756423245095 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 -1822756423245785:1822756423248175 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce17490) = 0 -1822756423249145:1822756423255145 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce17450) = 0 -1822756423255835:1822756423258935 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 -1822756424885185:1822756424889805 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756424891705:1822756424892815 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756424893895:1822756424894755 116426:116430 hsa_signal_load_relaxed() = 1 -1822756423259495:1822756424896935 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756424895565:1822756424897505 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756424898615:1822756424899135 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756424899555:1822756424900385 116426:116430 hsa_signal_destroy() = 0 -1822756424901275:1822756424901885 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756424918565:1822756424919175 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756424923075:1822756424923685 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 -1822756424930055:1822756424930975 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 54 -1822756424931975:1822756424932635 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 54 -1822756424933515:1822756424934805 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 -1822756424935715:1822756424936145 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756424937755:1822756424938685 116426:116426 hsa_signal_store_relaxed(, 54) = void -1822756424940865:1822756424941475 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756424945335:1822756424945945 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756424958905:1822756424959515 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 -1822756424960705:1822756424961505 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 -1822756424961955:1822756424962275 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 55 -1822756424962715:1822756424963035 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 54 -1822756424963895:1822756424964205 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756424964645:1822756424965135 116426:116426 hsa_signal_store_relaxed(, 55) = void -1822756424966596:1822756426201633 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822756426206343:1822756426206933 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822756426209723:1822756426211103 116426:116426 hsa_signal_destroy() = 0 -1822756426212663:1822756426213353 116426:116426 hsa_signal_destroy() = 0 -1822756426214583:1822756426215133 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756426215583:1822756426216113 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756426216753:1822756426217233 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756426217633:1822756426218043 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756426218453:1822756426218723 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756426219793:1822756426220323 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 -1822756426220793:1822756426221613 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce174f0) = 0 -1822756426222093:1822756426225503 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce174b0) = 0 -1822756426226043:1822756426227273 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 -1822756428759799:1822756428764439 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756428766459:1822756428767569 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756428768719:1822756428769739 116426:116430 hsa_signal_load_relaxed() = 1 -1822756426227723:1822756428772549 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756428770849:1822756428772879 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756428774579:1822756428775319 116426:116430 hsa_signal_destroy() = 0 -1822756429404043:1822756429404713 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756435803005:1822756435804415 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756435818365:1822756435818895 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756435830865:1822756435831405 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756435833675:1822756435834555 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756435834945:1822756435835585 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756435836125:1822756435837375 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756436434389:1822756436434889 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756436436619:1822756436437149 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 -1822756436438459:1822756436440859 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce17550) = 0 -1822756436441789:1822756436447589 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce17510) = 0 -1822756436448259:1822756436451569 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 -1822756438074719:1822756438079319 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756438081529:1822756438082639 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756438083599:1822756438084459 116426:116430 hsa_signal_load_relaxed() = 1 -1822756436452079:1822756438086769 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756438085429:1822756438087519 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756438088209:1822756438088879 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756438088999:1822756438089829 116426:116430 hsa_signal_destroy() = 0 -1822756438091189:1822756438091799 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756438108159:1822756438108769 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756438112639:1822756438113249 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 -1822756438119379:1822756438120559 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 56 -1822756438121349:1822756438121999 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 56 -1822756438122819:1822756438124109 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 -1822756438124799:1822756438125229 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756438126239:1822756438127009 116426:116426 hsa_signal_store_relaxed(, 56) = void -1822756438129489:1822756438130089 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756438133879:1822756438134490 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756438136820:1822756438137420 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 -1822756438138710:1822756438139440 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 -1822756438139890:1822756438140200 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 57 -1822756438143150:1822756438143470 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 56 -1822756438144130:1822756438144460 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756438144900:1822756438145390 116426:116426 hsa_signal_store_relaxed(, 57) = void -1822756438146840:1822756439415178 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822756439419738:1822756439420408 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822756439423428:1822756439424778 116426:116426 hsa_signal_destroy() = 0 -1822756439426858:1822756439427348 116426:116426 hsa_signal_destroy() = 0 -1822756439428938:1822756439429558 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756439430058:1822756439430658 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756439431708:1822756439432288 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756439432738:1822756439433308 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756439433768:1822756439434078 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756439435188:1822756439435788 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 -1822756439436318:1822756439437128 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce175b0) = 0 -1822756439437748:1822756439441288 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce17570) = 0 -1822756439441818:1822756439443138 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 -1822756441963924:1822756441968594 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756441970784:1822756441971894 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756441972914:1822756441973934 116426:116430 hsa_signal_load_relaxed() = 1 -1822756439443668:1822756441976504 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756441974894:1822756441976894 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756441978174:1822756441978914 116426:116430 hsa_signal_destroy() = 0 -1822756442602578:1822756442603258 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756449040879:1822756449041969 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756449057869:1822756449058409 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756449059099:1822756449059629 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756449062629:1822756449063509 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756449064109:1822756449064979 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756449075339:1822756449076229 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756449675453:1822756449675943 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756449677793:1822756449678333 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 -1822756449679203:1822756449681913 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce17610) = 0 -1822756449682953:1822756449689203 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce175d0) = 0 -1822756449689933:1822756449692973 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 -1822756451461874:1822756451466454 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756451468644:1822756451469754 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756451470924:1822756451471784 116426:116430 hsa_signal_load_relaxed() = 1 -1822756449693613:1822756451474244 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756451472904:1822756451475004 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756451475834:1822756451476534 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756451476654:1822756451477484 116426:116430 hsa_signal_destroy() = 0 -1822756451479154:1822756451479764 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756451495445:1822756451496055 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756451500285:1822756451500885 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 -1822756451506895:1822756451508055 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 58 -1822756451509205:1822756451509695 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 58 -1822756451510515:1822756451511665 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 -1822756451512655:1822756451513075 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756451514135:1822756451514915 116426:116426 hsa_signal_store_relaxed(, 58) = void -1822756451517095:1822756451517705 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756451521655:1822756451522255 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756451524505:1822756451525115 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 -1822756451526185:1822756451526925 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 -1822756451527365:1822756451527685 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 59 -1822756451528135:1822756451528445 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 58 -1822756451529095:1822756451529405 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756451529855:1822756451530335 116426:116426 hsa_signal_store_relaxed(, 59) = void -1822756451534675:1822756452801943 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822756452807493:1822756452808063 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822756452811443:1822756452812863 116426:116426 hsa_signal_destroy() = 0 -1822756452814283:1822756452814723 116426:116426 hsa_signal_destroy() = 0 -1822756452815783:1822756452816343 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756452816793:1822756452817323 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756452818063:1822756452818543 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756452818953:1822756452819363 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756452819773:1822756452820043 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756452820943:1822756452821483 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 -1822756452821923:1822756452822683 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce17670) = 0 -1822756452823133:1822756452826643 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce17630) = 0 -1822756452827123:1822756452828413 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 -1822756455463779:1822756455468369 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756455470609:1822756455471719 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756455472939:1822756455473949 116426:116430 hsa_signal_load_relaxed() = 1 -1822756452828873:1822756455476619 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756455475039:1822756455477039 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756455478349:1822756455479089 116426:116430 hsa_signal_destroy() = 0 -1822756456116823:1822756456117483 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756462613095:1822756462614455 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756462628255:1822756462628795 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756462629555:1822756462630085 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756462632565:1822756462633455 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756462633845:1822756462634485 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756462635045:1822756462635935 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756463214449:1822756463214959 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756463216739:1822756463217269 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 -1822756463227509:1822756463230229 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce176d0) = 0 -1822756463231049:1822756463236839 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce17690) = 0 -1822756463237579:1822756463240969 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 -1822756464917130:1822756464921790 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756464923690:1822756464924800 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756464925750:1822756464926610 116426:116430 hsa_signal_load_relaxed() = 1 -1822756463241509:1822756464928800 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756464927420:1822756464929350 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756464930470:1822756464931310 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756464931030:1822756464932160 116426:116430 hsa_signal_destroy() = 0 -1822756464933730:1822756464934340 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756464951110:1822756464951720 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756464955630:1822756464956230 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 -1822756464962600:1822756464963460 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 60 -1822756464964260:1822756464964920 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 60 -1822756464966000:1822756464967360 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 -1822756464968050:1822756464968480 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756464969460:1822756464970240 116426:116426 hsa_signal_store_relaxed(, 60) = void -1822756464972420:1822756464973030 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756464977270:1822756464977880 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756464980190:1822756464980800 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 -1822756464981840:1822756464982600 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 -1822756464983040:1822756464983370 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 61 -1822756464983820:1822756464984140 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 60 -1822756464984960:1822756464985270 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756464985720:1822756464986210 116426:116426 hsa_signal_store_relaxed(, 61) = void -1822756464987820:1822756466247199 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822756466251549:1822756466252139 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822756466257199:1822756466258229 116426:116426 hsa_signal_destroy() = 0 -1822756466260039:1822756466260729 116426:116426 hsa_signal_destroy() = 0 -1822756466261859:1822756466262479 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756466262939:1822756466263469 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756466264619:1822756466265109 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756466265519:1822756466265939 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756466266349:1822756466266619 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756466267529:1822756466268059 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 -1822756466268519:1822756466269199 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce17730) = 0 -1822756466269729:1822756466273329 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce176f0) = 0 -1822756466273799:1822756466275029 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 -1822756468839505:1822756468844105 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756468846215:1822756468847325 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756468848345:1822756468849365 116426:116430 hsa_signal_load_relaxed() = 1 -1822756466275499:1822756468851805 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756468850175:1822756468852175 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756468853545:1822756468854275 116426:116430 hsa_signal_destroy() = 0 -1822756469479689:1822756469480369 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756475914030:1822756475915310 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756475930580:1822756475931110 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756475931780:1822756475932310 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756475934760:1822756475935640 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756475936390:1822756475937300 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756475938140:1822756475939410 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756476553474:1822756476553914 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756476555684:1822756476556284 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 -1822756476557464:1822756476559804 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce17790) = 0 -1822756476560914:1822756476566794 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce17750) = 0 -1822756476567604:1822756476571444 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 -1822756478197164:1822756478201665 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756478203915:1822756478205065 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756478206025:1822756478206885 116426:116430 hsa_signal_load_relaxed() = 1 -1822756476580704:1822756478209055 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756478207685:1822756478209625 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756478210425:1822756478210935 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756478211295:1822756478212135 116426:116430 hsa_signal_destroy() = 0 -1822756478213345:1822756478213945 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756478230745:1822756478231555 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756478235775:1822756478236385 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 -1822756478242365:1822756478243235 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 62 -1822756478244315:1822756478244965 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 62 -1822756478245785:1822756478247205 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 -1822756478248155:1822756478248585 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756478249825:1822756478250595 116426:116426 hsa_signal_store_relaxed(, 62) = void -1822756478252995:1822756478253595 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756478259665:1822756478260275 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756478262835:1822756478263435 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 -1822756478264355:1822756478265095 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 -1822756478265545:1822756478265865 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 63 -1822756478266305:1822756478266635 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 62 -1822756478267275:1822756478267585 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756478268035:1822756478268525 116426:116426 hsa_signal_store_relaxed(, 63) = void -1822756478270365:1822756479527383 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822756479532113:1822756479532753 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822756479535313:1822756479536393 116426:116426 hsa_signal_destroy() = 0 -1822756479538343:1822756479538823 116426:116426 hsa_signal_destroy() = 0 -1822756479540073:1822756479540693 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756479543903:1822756479544513 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756479545263:1822756479545793 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756479546263:1822756479547193 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756479547653:1822756479547963 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756479548903:1822756479549503 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 -1822756479550003:1822756479550833 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce177f0) = 0 -1822756479551333:1822756479554883 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce177b0) = 0 -1822756479555483:1822756479556713 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 -1822756482075999:1822756482080619 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756482082589:1822756482083699 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756482084729:1822756482085749 116426:116430 hsa_signal_load_relaxed() = 1 -1822756479557243:1822756482088179 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756482086559:1822756482088569 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756482089989:1822756482090729 116426:116430 hsa_signal_destroy() = 0 -1822756482715913:1822756482716593 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756489221565:1822756489222725 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756489237335:1822756489237875 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756489238655:1822756489239185 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756489242275:1822756489243025 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756489243415:1822756489244285 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756489244935:1822756489245815 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756489828988:1822756489829508 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756489831628:1822756489832158 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 -1822756489833038:1822756489835538 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce17850) = 0 -1822756489836198:1822756489841788 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce17810) = 0 -1822756489842589:1822756489845829 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 -1822756491474349:1822756491478939 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756491481039:1822756491482149 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756491483099:1822756491483959 116426:116430 hsa_signal_load_relaxed() = 1 -1822756489846399:1822756491489979 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756491488619:1822756491490729 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756491491439:1822756491491889 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756491492679:1822756491493419 116426:116430 hsa_signal_destroy() = 0 -1822756491494579:1822756491495179 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756491511969:1822756491512579 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756491516689:1822756491517289 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 -1822756491522899:1822756491523869 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 64 -1822756491524859:1822756491525779 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 64 -1822756491526869:1822756491528099 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 -1822756491528949:1822756491529379 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756491530429:1822756491531529 116426:116426 hsa_signal_store_relaxed(, 64) = void -1822756491533819:1822756491534429 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756491538269:1822756491538869 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756491540929:1822756491541529 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 -1822756491542469:1822756491543159 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 -1822756491543599:1822756491543919 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 65 -1822756491544349:1822756491544679 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 64 -1822756491545319:1822756491545639 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756491546079:1822756491546569 116426:116426 hsa_signal_store_relaxed(, 65) = void -1822756491548069:1822756492841178 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822756492845718:1822756492846328 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822756492848748:1822756492850108 116426:116426 hsa_signal_destroy() = 0 -1822756492852068:1822756492852508 116426:116426 hsa_signal_destroy() = 0 -1822756492854008:1822756492854558 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756492855008:1822756492855548 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756492856348:1822756492856828 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756492857318:1822756492857728 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756492867748:1822756492868028 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756492869108:1822756492869638 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 -1822756492870088:1822756492870848 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce178b0) = 0 -1822756492871428:1822756492874808 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce17870) = 0 -1822756492875268:1822756492876408 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 -1822756495465125:1822756495469705 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756495471815:1822756495472915 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756495473945:1822756495474955 116426:116430 hsa_signal_load_relaxed() = 1 -1822756492876878:1822756495477345 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756495475765:1822756495477775 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756495479265:1822756495480005 116426:116430 hsa_signal_destroy() = 0 -1822756496131059:1822756496131789 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756502614420:1822756502616020 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756502630690:1822756502631220 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756502631940:1822756502632470 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756502635130:1822756502636020 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756502636760:1822756502637300 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756502638110:1822756502639110 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756503221334:1822756503221684 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756503223544:1822756503224074 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 -1822756503225164:1822756503227664 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce17910) = 0 -1822756503228714:1822756503234424 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce178d0) = 0 -1822756503235154:1822756503238144 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 -1822756504933065:1822756504937545 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756504939505:1822756504940615 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756504941695:1822756504942555 116426:116430 hsa_signal_load_relaxed() = 1 -1822756503238644:1822756504944895 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756504943525:1822756504945465 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756504946225:1822756504946735 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756504947115:1822756504947955 116426:116430 hsa_signal_destroy() = 0 -1822756504959095:1822756504959705 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756504975715:1822756504976325 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756504979915:1822756504980515 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 -1822756504985995:1822756504986865 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 66 -1822756504987685:1822756504988345 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 66 -1822756504989275:1822756504990375 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 -1822756504991085:1822756504991435 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756504992445:1822756504993135 116426:116426 hsa_signal_store_relaxed(, 66) = void -1822756504995255:1822756504995865 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756504999665:1822756505000275 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756505002765:1822756505003375 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 -1822756505004515:1822756505005315 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 -1822756505005755:1822756505006075 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 67 -1822756505006515:1822756505006835 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 66 -1822756505007485:1822756505007805 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756505008245:1822756505008745 116426:116426 hsa_signal_store_relaxed(, 67) = void -1822756505010205:1822756506275643 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822756506280873:1822756506281383 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822756506283903:1822756506284913 116426:116426 hsa_signal_destroy() = 0 -1822756506286683:1822756506287373 116426:116426 hsa_signal_destroy() = 0 -1822756506288643:1822756506289193 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756506289643:1822756506290173 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756506291333:1822756506291813 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756506292223:1822756506292643 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756506293053:1822756506293333 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756506294393:1822756506294923 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 -1822756506295373:1822756506296003 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce17970) = 0 -1822756506302673:1822756506305913 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce17930) = 0 -1822756506306463:1822756506307663 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 -1822756508845000:1822756508849620 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756508851640:1822756508852750 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756508853770:1822756508854790 116426:116430 hsa_signal_load_relaxed() = 1 -1822756506308133:1822756508857250 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756508855600:1822756508857600 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756508859110:1822756508859840 116426:116430 hsa_signal_destroy() = 0 -1822756509484644:1822756509485364 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756515921174:1822756515922604 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756515938035:1822756515938565 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756515939215:1822756515939745 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756515942515:1822756515943385 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756515943975:1822756515944845 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756515945475:1822756515946115 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756516558589:1822756516559119 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756516561179:1822756516561709 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 -1822756516563259:1822756516565689 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce179d0) = 0 -1822756516566699:1822756516572879 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce17990) = 0 -1822756516573599:1822756516577129 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 -1822756518208409:1822756518212929 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756518214899:1822756518216009 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756518216959:1822756518217819 116426:116430 hsa_signal_load_relaxed() = 1 -1822756516577789:1822756518220269 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756518218919:1822756518220849 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756518221789:1822756518222669 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756518222459:1822756518223619 116426:116430 hsa_signal_destroy() = 0 -1822756518225029:1822756518225629 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756518250909:1822756518251519 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756518257419:1822756518258019 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 -1822756518263599:1822756518264470 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 68 -1822756518265400:1822756518266050 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 68 -1822756518266970:1822756518268420 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 -1822756518269140:1822756518269560 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756518270630:1822756518271320 116426:116426 hsa_signal_store_relaxed(, 68) = void -1822756518273830:1822756518274440 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756518278520:1822756518279130 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756518281500:1822756518282100 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 -1822756518283150:1822756518283960 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 -1822756518284400:1822756518284720 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 69 -1822756518285160:1822756518285480 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 68 -1822756518286130:1822756518286440 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756518286890:1822756518287370 116426:116426 hsa_signal_store_relaxed(, 69) = void -1822756518289080:1822756519552298 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822756519556968:1822756519557588 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822756519560608:1822756519561708 116426:116426 hsa_signal_destroy() = 0 -1822756519563648:1822756519564128 116426:116426 hsa_signal_destroy() = 0 -1822756519565338:1822756519565958 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756519566468:1822756519567068 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756519567958:1822756519568478 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756519568938:1822756519569388 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756519569848:1822756519570158 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756519571268:1822756519571868 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 -1822756519572398:1822756519573208 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce17a30) = 0 -1822756519573758:1822756519577338 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce179f0) = 0 -1822756519577858:1822756519579158 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 -1822756522132064:1822756522136674 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756522142344:1822756522143464 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756522144494:1822756522145504 116426:116430 hsa_signal_load_relaxed() = 1 -1822756519579668:1822756522147944 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756522146314:1822756522148324 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756522149814:1822756522150544 116426:116430 hsa_signal_destroy() = 0 -1822756522773498:1822756522774178 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756529294160:1822756529295000 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756529310610:1822756529311140 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756529311720:1822756529312260 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756529314970:1822756529315870 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756529316260:1822756529316620 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756529317170:1822756529318050 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756529919754:1822756529920094 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756529921814:1822756529922344 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 -1822756529923034:1822756529925724 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce17a90) = 0 -1822756529926614:1822756529932034 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce17a50) = 0 -1822756529932644:1822756529936014 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 -1822756531603514:1822756531608114 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756531610264:1822756531611374 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756531612454:1822756531613324 116426:116430 hsa_signal_load_relaxed() = 1 -1822756529936884:1822756531615594 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756531614244:1822756531616374 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756531617114:1822756531617634 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756531618114:1822756531618944 116426:116430 hsa_signal_destroy() = 0 -1822756531620685:1822756531621295 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756531639365:1822756531639975 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756531643755:1822756531644355 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 -1822756531650555:1822756531651435 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 70 -1822756531661765:1822756531662565 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 70 -1822756531663455:1822756531664715 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 -1822756531665445:1822756531665795 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756531667055:1822756531667745 116426:116426 hsa_signal_store_relaxed(, 70) = void -1822756531669905:1822756531670515 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756531674865:1822756531675465 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756531677505:1822756531678105 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 -1822756531679095:1822756531679765 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 -1822756531680205:1822756531680525 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 71 -1822756531680965:1822756531681295 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 70 -1822756531681935:1822756531682255 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756531682695:1822756531683185 116426:116426 hsa_signal_store_relaxed(, 71) = void -1822756531684575:1822756532936873 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822756532941263:1822756532941843 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822756532945053:1822756532946373 116426:116426 hsa_signal_destroy() = 0 -1822756532948013:1822756532948453 116426:116426 hsa_signal_destroy() = 0 -1822756532949643:1822756532950193 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756532950643:1822756532951173 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756532952003:1822756532952483 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756532952893:1822756532953413 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756532953943:1822756532954213 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756532955113:1822756532955643 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 -1822756532956083:1822756532956823 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce17af0) = 0 -1822756532957263:1822756532960753 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce17ab0) = 0 -1822756532961243:1822756532962613 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 -1822756535505099:1822756535509699 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756535511930:1822756535513040 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756535514190:1822756535515210 116426:116430 hsa_signal_load_relaxed() = 1 -1822756532963073:1822756535517750 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756535516170:1822756535518180 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756535523980:1822756535524740 116426:116430 hsa_signal_destroy() = 0 -1822756536169604:1822756536170324 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756542621584:1822756542623274 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756542637954:1822756542638494 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756542639204:1822756542639745 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756542642225:1822756542643105 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756542643785:1822756542644415 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756542645055:1822756542645955 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756543220998:1822756543221658 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756543223338:1822756543223868 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 -1822756543224808:1822756543227188 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce17b50) = 0 -1822756543228218:1822756543234278 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce17b10) = 0 -1822756543234968:1822756543238208 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 -1822756544864819:1822756544869449 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756544871509:1822756544872629 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756544873579:1822756544874439 116426:116430 hsa_signal_load_relaxed() = 1 -1822756543238828:1822756544876899 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756544875529:1822756544877459 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756544878389:1822756544879219 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756544879019:1822756544880169 116426:116430 hsa_signal_destroy() = 0 -1822756544881359:1822756544881959 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756544899139:1822756544899959 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756544904189:1822756544904789 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 -1822756544910669:1822756544911529 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 72 -1822756544912339:1822756544912989 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 72 -1822756544913819:1822756544914909 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 -1822756544915609:1822756544915959 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756544925349:1822756544926149 116426:116426 hsa_signal_store_relaxed(, 72) = void -1822756544928339:1822756544928949 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756544932969:1822756544933569 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756544935649:1822756544936249 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 -1822756544937239:1822756544937999 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 -1822756544938439:1822756544938759 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 73 -1822756544939199:1822756544939519 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 72 -1822756544940169:1822756544940479 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756544940929:1822756544941419 116426:116426 hsa_signal_store_relaxed(, 73) = void -1822756544943209:1822756546207507 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822756546212127:1822756546212637 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822756546215117:1822756546216417 116426:116426 hsa_signal_destroy() = 0 -1822756546218337:1822756546218927 116426:116426 hsa_signal_destroy() = 0 -1822756546220048:1822756546220598 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756546221048:1822756546221578 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756546222418:1822756546223228 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756546223638:1822756546224048 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756546224448:1822756546224728 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756546225618:1822756546226148 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 -1822756546226598:1822756546227288 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce17bb0) = 0 -1822756546227818:1822756546231298 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce17b70) = 0 -1822756546231758:1822756546233058 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 -1822756548761644:1822756548766274 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756548768494:1822756548769604 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756548770624:1822756548771644 116426:116430 hsa_signal_load_relaxed() = 1 -1822756546233518:1822756548774314 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756548772664:1822756548774674 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756548775884:1822756548776624 116426:116430 hsa_signal_destroy() = 0 -1822756549400638:1822756549401328 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756555848429:1822756555849919 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756555864639:1822756555865179 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756555865719:1822756555866249 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756555868689:1822756555869549 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756555869939:1822756555870469 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756555871109:1822756555871899 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756556489893:1822756556490573 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756556492573:1822756556493173 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 -1822756556494103:1822756556496553 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce17c10) = 0 -1822756556497623:1822756556504083 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce17bd0) = 0 -1822756556504853:1822756556508263 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 -1822756558127463:1822756558132053 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756558134193:1822756558135303 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756558136383:1822756558137243 116426:116430 hsa_signal_load_relaxed() = 1 -1822756556508813:1822756558139633 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756558138283:1822756558140403 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756558141023:1822756558141523 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756558142123:1822756558142853 116426:116430 hsa_signal_destroy() = 0 -1822756558144383:1822756558144983 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756558168353:1822756558168963 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756558173423:1822756558174024 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 -1822756558180484:1822756558181424 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 74 -1822756558182584:1822756558183074 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 74 -1822756558183894:1822756558185184 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 -1822756558186034:1822756558186454 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756558187554:1822756558188384 116426:116426 hsa_signal_store_relaxed(, 74) = void -1822756558190924:1822756558191534 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756558195734:1822756558196334 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756558200404:1822756558201014 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 -1822756558202204:1822756558202864 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 -1822756558203314:1822756558203634 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 75 -1822756558204074:1822756558204384 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 74 -1822756558205034:1822756558205354 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756558205794:1822756558206284 116426:116426 hsa_signal_store_relaxed(, 75) = void -1822756558208404:1822756559462322 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822756559467032:1822756559467702 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822756559470782:1822756559472132 116426:116426 hsa_signal_destroy() = 0 -1822756559473912:1822756559474402 116426:116426 hsa_signal_destroy() = 0 -1822756559475712:1822756559476332 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756559476852:1822756559477452 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756559478152:1822756559478682 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756559479162:1822756559479602 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756559480072:1822756559480372 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756559481502:1822756559482112 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 -1822756559482632:1822756559483442 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce17c70) = 0 -1822756559483992:1822756559487562 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce17c30) = 0 -1822756559488092:1822756559489412 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 -1822756561996078:1822756562000678 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756562002908:1822756562004018 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756562005158:1822756562006178 116426:116430 hsa_signal_load_relaxed() = 1 -1822756559489932:1822756562008918 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756562007288:1822756562009288 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756562010938:1822756562011678 116426:116430 hsa_signal_destroy() = 0 -1822756562634952:1822756562635632 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756569142783:1822756569143863 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756569158623:1822756569159163 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756569159753:1822756569160293 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756569172693:1822756569173583 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756569173973:1822756569174853 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756569175423:1822756569176563 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756569764227:1822756569764707 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756569766317:1822756569766847 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 -1822756569767757:1822756569770397 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce17cd0) = 0 -1822756569771467:1822756569776817 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce17c90) = 0 -1822756569777557:1822756569781327 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 -1822756571468368:1822756571472968 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756571475158:1822756571476258 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756571477218:1822756571478078 116426:116430 hsa_signal_load_relaxed() = 1 -1822756569781887:1822756571480388 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756571479038:1822756571481138 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756571481638:1822756571482268 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756571482758:1822756571483588 116426:116430 hsa_signal_destroy() = 0 -1822756571484868:1822756571485478 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756571502678:1822756571503338 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756571507848:1822756571508458 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 -1822756571514318:1822756571515258 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 76 -1822756571516068:1822756571516718 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 76 -1822756571517678:1822756571518908 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 -1822756571519648:1822756571520078 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756571521348:1822756571522218 116426:116426 hsa_signal_store_relaxed(, 76) = void -1822756571524498:1822756571525098 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756571529249:1822756571529859 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756571532009:1822756571532609 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 -1822756571533589:1822756571534269 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 -1822756571534709:1822756571535079 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 77 -1822756571538689:1822756571539009 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 76 -1822756571539689:1822756571539999 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756571540439:1822756571540929 116426:116426 hsa_signal_store_relaxed(, 77) = void -1822756571542589:1822756572790887 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822756572795237:1822756572795847 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822756572798727:1822756572799737 116426:116426 hsa_signal_destroy() = 0 -1822756572801807:1822756572802247 116426:116426 hsa_signal_destroy() = 0 -1822756572803307:1822756572803857 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756572804317:1822756572804847 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756572806087:1822756572806847 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756572807257:1822756572807667 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756572808077:1822756572808347 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756572809417:1822756572809947 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 -1822756572810407:1822756572811147 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce17d30) = 0 -1822756572811727:1822756572815097 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce17cf0) = 0 -1822756572815567:1822756572816737 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 -1822756575465874:1822756575470454 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756575472904:1822756575474024 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756575475054:1822756575476064 116426:116430 hsa_signal_load_relaxed() = 1 -1822756572817207:1822756575478604 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756575477024:1822756575479024 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756575480314:1822756575481054 116426:116430 hsa_signal_destroy() = 0 -1822756576126478:1822756576127188 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756582613139:1822756582614489 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756582630019:1822756582630559 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756582631349:1822756582631879 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756582634329:1822756582635209 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756582635599:1822756582636359 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756582637019:1822756582637669 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756583256113:1822756583256613 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756583258503:1822756583259033 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 -1822756583260393:1822756583263063 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce17d90) = 0 -1822756583264063:1822756583269843 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce17d50) = 0 -1822756583270583:1822756583273763 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 -1822756584919624:1822756584924244 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756584926284:1822756584927384 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756584928534:1822756584929384 116426:116430 hsa_signal_load_relaxed() = 1 -1822756583274253:1822756584931764 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756584930394:1822756584932324 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756584933344:1822756584933864 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756584934254:1822756584935084 116426:116430 hsa_signal_destroy() = 0 -1822756584936484:1822756584937094 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756584954534:1822756584955344 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756584959644:1822756584960254 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 -1822756584966794:1822756584967904 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 78 -1822756584968894:1822756584969814 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 78 -1822756584970634:1822756584971744 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 -1822756584972524:1822756584973264 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756584974494:1822756584975344 116426:116426 hsa_signal_store_relaxed(, 78) = void -1822756584978004:1822756584978614 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756584982554:1822756584983154 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756584986134:1822756584986744 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 -1822756584987974:1822756584988784 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 -1822756584989234:1822756584989554 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 79 -1822756584989994:1822756584990314 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 78 -1822756584991114:1822756584991434 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756584991874:1822756584992364 116426:116426 hsa_signal_store_relaxed(, 79) = void -1822756584996324:1822756586253202 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822756586257702:1822756586258312 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822756586261112:1822756586262522 116426:116426 hsa_signal_destroy() = 0 -1822756586264412:1822756586265002 116426:116426 hsa_signal_destroy() = 0 -1822756586266062:1822756586266612 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756586267072:1822756586267602 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756586268532:1822756586269012 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756586269422:1822756586269832 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756586270372:1822756586270652 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756586271712:1822756586272242 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 -1822756586272692:1822756586273382 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce17df0) = 0 -1822756586273972:1822756586277362 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce17db0) = 0 -1822756586277822:1822756586279022 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 -1822756588825239:1822756588829869 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756588831989:1822756588833109 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756588834329:1822756588835349 116426:116430 hsa_signal_load_relaxed() = 1 -1822756586279492:1822756588838099 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756588836459:1822756588838469 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756588839959:1822756588840689 116426:116430 hsa_signal_destroy() = 0 -1822756589470713:1822756589471423 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756595917144:1822756595918534 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756595932674:1822756595933214 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756595933964:1822756595934504 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756595936884:1822756595937814 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756595938204:1822756595939064 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756595939724:1822756595940804 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756596561058:1822756596561678 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756596563388:1822756596563988 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 -1822756596574828:1822756596577428 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce17e50) = 0 -1822756596578278:1822756596584718 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce17e10) = 0 -1822756596585448:1822756596588988 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 -1822756598216088:1822756598220608 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756598222768:1822756598223878 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756598224838:1822756598225698 116426:116430 hsa_signal_load_relaxed() = 1 -1822756596589568:1822756598227868 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756598226508:1822756598228438 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756598229378:1822756598230318 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756598230118:1822756598231248 116426:116430 hsa_signal_destroy() = 0 -1822756598233578:1822756598234188 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756598251249:1822756598251849 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756598255629:1822756598256229 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 -1822756598262229:1822756598263119 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 80 -1822756598264079:1822756598264569 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 80 -1822756598265469:1822756598266729 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 -1822756598267419:1822756598267759 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756598268759:1822756598269579 116426:116426 hsa_signal_store_relaxed(, 80) = void -1822756598272019:1822756598272619 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756598276659:1822756598277269 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756598279549:1822756598280159 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 -1822756598280999:1822756598281759 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 -1822756598282209:1822756598282519 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 81 -1822756598282959:1822756598283279 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 80 -1822756598283919:1822756598284239 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756598284679:1822756598285159 116426:116426 hsa_signal_store_relaxed(, 81) = void -1822756598286709:1822756599558467 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822756599563207:1822756599564177 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822756599567037:1822756599568237 116426:116426 hsa_signal_destroy() = 0 -1822756599575647:1822756599576137 116426:116426 hsa_signal_destroy() = 0 -1822756599577347:1822756599577967 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756599578477:1822756599579077 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756599579797:1822756599580327 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756599580787:1822756599581357 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756599581807:1822756599582117 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756599583097:1822756599583707 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 -1822756599584207:1822756599585027 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce17eb0) = 0 -1822756599585657:1822756599589207 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce17e70) = 0 -1822756599589747:1822756599591057 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 -1822756602122783:1822756602127373 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756602129484:1822756602130594 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756602131614:1822756602132634 116426:116430 hsa_signal_load_relaxed() = 1 -1822756599591587:1822756602135064 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756602133444:1822756602135434 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756602136814:1822756602137544 116426:116430 hsa_signal_destroy() = 0 -1822756602767928:1822756602768598 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756609296249:1822756609297649 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756609312239:1822756609312779 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756609313469:1822756609314009 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756609316239:1822756609317129 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756609317539:1822756609318629 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756609319409:1822756609320019 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756609924703:1822756609925263 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756609927153:1822756609927753 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 -1822756609928743:1822756609931373 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce17f10) = 0 -1822756609932163:1822756609937923 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce17ed0) = 0 -1822756609938773:1822756609942173 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 -1822756611447553:1822756611451963 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756611453823:1822756611454923 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756611455893:1822756611456753 116426:116430 hsa_signal_load_relaxed() = 1 -1822756609951243:1822756611458903 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756611457563:1822756611459393 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756611460373:1822756611461023 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756611461153:1822756611461983 116426:116430 hsa_signal_destroy() = 0 -1822756611464243:1822756611464853 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756611481673:1822756611482283 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756611486713:1822756611487323 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 -1822756611493703:1822756611494573 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 82 -1822756611495373:1822756611496033 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 82 -1822756611496913:1822756611497993 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 -1822756611498703:1822756611499133 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756611500433:1822756611501263 116426:116426 hsa_signal_store_relaxed(, 82) = void -1822756611503453:1822756611504063 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756611508273:1822756611508883 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756611511463:1822756611512083 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 -1822756611513123:1822756611513783 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 -1822756611514233:1822756611514563 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 83 -1822756611515003:1822756611515323 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 82 -1822756611515963:1822756611516283 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756611516733:1822756611517223 116426:116426 hsa_signal_store_relaxed(, 83) = void -1822756611519023:1822756612774861 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822756612779041:1822756612779611 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822756612782841:1822756612784141 116426:116426 hsa_signal_destroy() = 0 -1822756612786331:1822756612786771 116426:116426 hsa_signal_destroy() = 0 -1822756612788311:1822756612788871 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756612789321:1822756612789851 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756612793441:1822756612793931 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756612794341:1822756612794761 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756612795171:1822756612795441 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756612796331:1822756612796871 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 -1822756612797311:1822756612798301 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce17f70) = 0 -1822756612798841:1822756612802451 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce17f30) = 0 -1822756612802931:1822756612804181 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 -1822756615466748:1822756615471318 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756615473548:1822756615474688 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756615475708:1822756615476728 116426:116430 hsa_signal_load_relaxed() = 1 -1822756612804641:1822756615479118 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756615477538:1822756615479558 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756615480928:1822756615481648 116426:116430 hsa_signal_destroy() = 0 -1822756616129963:1822756616130673 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756622613644:1822756622615194 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756622630134:1822756622630664 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756622631594:1822756622632124 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756622635234:1822756622636104 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756622636704:1822756622637344 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756622637904:1822756622638824 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756623237888:1822756623238658 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756623240178:1822756623240708 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 -1822756623241698:1822756623244128 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce17fd0) = 0 -1822756623244908:1822756623250548 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce17f90) = 0 -1822756623251318:1822756623254998 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 -1822756624871958:1822756624876529 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756624878669:1822756624879779 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756624880739:1822756624881609 116426:116430 hsa_signal_load_relaxed() = 1 -1822756623255568:1822756624888549 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756624887039:1822756624888989 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756624890069:1822756624890529 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756624891069:1822756624891779 116426:116430 hsa_signal_destroy() = 0 -1822756624892909:1822756624893509 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756624909369:1822756624909979 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756624914169:1822756624914779 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 -1822756624921069:1822756624921949 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 84 -1822756624923199:1822756624923689 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 84 -1822756624924579:1822756624925649 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 -1822756624926359:1822756624926709 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756624927729:1822756624928559 116426:116426 hsa_signal_store_relaxed(, 84) = void -1822756624931039:1822756624931649 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756624944609:1822756624945209 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756624947259:1822756624947869 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 -1822756624948859:1822756624949619 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 -1822756624950069:1822756624950389 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 85 -1822756624950819:1822756624951139 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 84 -1822756624951969:1822756624952279 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756624952729:1822756624953219 116426:116426 hsa_signal_store_relaxed(, 85) = void -1822756624954819:1822756626203677 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822756626207947:1822756626208547 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822756626211137:1822756626212137 116426:116426 hsa_signal_destroy() = 0 -1822756626213977:1822756626214667 116426:116426 hsa_signal_destroy() = 0 -1822756626215847:1822756626216397 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756626216837:1822756626217367 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756626218217:1822756626218697 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756626219177:1822756626219677 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756626220147:1822756626220427 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756626226177:1822756626226707 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 -1822756626227157:1822756626227847 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce18030) = 0 -1822756626228437:1822756626231777 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce17ff0) = 0 -1822756626232257:1822756626233507 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 -1822756628763723:1822756628768283 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756628770473:1822756628771603 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756628772623:1822756628773663 116426:116430 hsa_signal_load_relaxed() = 1 -1822756626233967:1822756628776103 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756628774463:1822756628776473 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756628777853:1822756628778583 116426:116430 hsa_signal_destroy() = 0 -1822756629404627:1822756629405297 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756635845378:1822756635846588 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756635860748:1822756635861288 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756635861948:1822756635862478 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756635864798:1822756635865688 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756635866439:1822756635867079 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756635868029:1822756635868759 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756636466262:1822756636466872 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756636468942:1822756636469472 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 -1822756636471042:1822756636473432 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce18090) = 0 -1822756636474592:1822756636480612 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce18050) = 0 -1822756636481152:1822756636484632 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 -1822756638109513:1822756638114073 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756638116493:1822756638117633 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756638118783:1822756638119653 116426:116430 hsa_signal_load_relaxed() = 1 -1822756636485182:1822756638121973 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756638120613:1822756638122553 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756638123273:1822756638123823 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756638124183:1822756638125003 116426:116430 hsa_signal_destroy() = 0 -1822756638136173:1822756638136783 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756638153193:1822756638154003 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756638157443:1822756638158053 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 -1822756638163823:1822756638164753 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 86 -1822756638165393:1822756638166043 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 86 -1822756638166933:1822756638168153 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 -1822756638168823:1822756638169253 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756638170653:1822756638171483 116426:116426 hsa_signal_store_relaxed(, 86) = void -1822756638173993:1822756638174603 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756638178603:1822756638179203 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756638182023:1822756638182623 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 -1822756638183913:1822756638184573 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 -1822756638185013:1822756638185333 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 87 -1822756638185773:1822756638186093 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 86 -1822756638186933:1822756638187263 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756638187703:1822756638188183 116426:116426 hsa_signal_store_relaxed(, 87) = void -1822756638189683:1822756639455002 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822756639460042:1822756639460702 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822756639463342:1822756639464712 116426:116426 hsa_signal_destroy() = 0 -1822756639466502:1822756639466992 116426:116426 hsa_signal_destroy() = 0 -1822756639468332:1822756639468962 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756639469462:1822756639470072 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756639470892:1822756639471422 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756639472062:1822756639472632 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756639473092:1822756639473402 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756639474552:1822756639475152 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 -1822756639475652:1822756639476462 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce180f0) = 0 -1822756639477052:1822756639480562 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce180b0) = 0 -1822756639483692:1822756639484972 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 -1822756642021538:1822756642026138 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756642028368:1822756642029478 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756642030498:1822756642031538 116426:116430 hsa_signal_load_relaxed() = 1 -1822756639485492:1822756642033998 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756642032348:1822756642034358 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756642035758:1822756642036478 116426:116430 hsa_signal_destroy() = 0 -1822756642663272:1822756642663952 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756649184143:1822756649184803 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756649198853:1822756649199393 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756649200403:1822756649200943 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756649203443:1822756649204353 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756649204963:1822756649205823 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756649206373:1822756649207403 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756649790257:1822756649790787 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756649792807:1822756649793337 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 -1822756649794287:1822756649796797 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce18150) = 0 -1822756649797837:1822756649803587 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce18110) = 0 -1822756649804317:1822756649807617 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 -1822756651471038:1822756651475578 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756651477738:1822756651479068 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756651480038:1822756651480898 116426:116430 hsa_signal_load_relaxed() = 1 -1822756649808187:1822756651483358 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756651482008:1822756651483938 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756651485098:1822756651485968 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756651485608:1822756651486738 116426:116430 hsa_signal_destroy() = 0 -1822756651488808:1822756651489408 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756651505528:1822756651506138 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756651518338:1822756651518948 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 -1822756651524938:1822756651525948 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 88 -1822756651526778:1822756651527428 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 88 -1822756651528258:1822756651529568 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 -1822756651530278:1822756651530708 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756651531898:1822756651532718 116426:116426 hsa_signal_store_relaxed(, 88) = void -1822756651535188:1822756651535798 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756651539998:1822756651540608 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756651542688:1822756651543298 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 -1822756651544188:1822756651544858 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 -1822756651545298:1822756651545618 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 89 -1822756651546068:1822756651546378 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 88 -1822756651547028:1822756651547338 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756651547788:1822756651548268 116426:116426 hsa_signal_store_relaxed(, 89) = void -1822756651549708:1822756652808727 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822756652813527:1822756652814147 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822756652816767:1822756652817907 116426:116426 hsa_signal_destroy() = 0 -1822756652820027:1822756652820467 116426:116426 hsa_signal_destroy() = 0 -1822756652821727:1822756652822277 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756652822727:1822756652823267 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756652824207:1822756652824687 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756652825097:1822756652825657 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756652826197:1822756652826467 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756652827527:1822756652828057 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 -1822756652828517:1822756652829307 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce181b0) = 0 -1822756652829777:1822756652833107 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce18170) = 0 -1822756652833587:1822756652835047 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 -1822756655472343:1822756655476913 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756655482773:1822756655483893 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756655485023:1822756655486043 116426:116430 hsa_signal_load_relaxed() = 1 -1822756652835517:1822756655488433 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756655486853:1822756655488853 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756655490453:1822756655491173 116426:116430 hsa_signal_destroy() = 0 -1822756656135017:1822756656135747 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756662623309:1822756662624509 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756662639649:1822756662640189 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756662640839:1822756662641369 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756662644169:1822756662645049 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756662645439:1822756662645789 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756662646409:1822756662647299 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756663244763:1822756663245263 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756663246913:1822756663247443 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 -1822756663248123:1822756663250903 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce18210) = 0 -1822756663252053:1822756663257903 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce181d0) = 0 -1822756663258813:1822756663262493 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 -1822756664890623:1822756664895253 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756664897283:1822756664898383 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756664899463:1822756664900323 116426:116430 hsa_signal_load_relaxed() = 1 -1822756663263163:1822756664902613 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756664901133:1822756664903073 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756664903973:1822756664904483 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756664904833:1822756664905653 116426:116430 hsa_signal_destroy() = 0 -1822756664906813:1822756664907423 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756664923904:1822756664924514 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756664928424:1822756664929024 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 -1822756664935224:1822756664936414 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 90 -1822756664937334:1822756664938294 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 90 -1822756664949004:1822756664950394 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 -1822756664951084:1822756664951434 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756664952634:1822756664953404 116426:116426 hsa_signal_store_relaxed(, 90) = void -1822756664955454:1822756664956064 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756664960164:1822756664960774 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756664963124:1822756664963734 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 -1822756664964854:1822756664965654 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 -1822756664966104:1822756664966424 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 91 -1822756664966864:1822756664967184 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 90 -1822756664967814:1822756664968134 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756664968584:1822756664969074 116426:116426 hsa_signal_store_relaxed(, 91) = void -1822756664970744:1822756666234222 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822756666238432:1822756666239002 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822756666242172:1822756666243542 116426:116426 hsa_signal_destroy() = 0 -1822756666245372:1822756666246302 116426:116426 hsa_signal_destroy() = 0 -1822756666247712:1822756666248282 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756666248732:1822756666249262 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756666250002:1822756666250482 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756666250882:1822756666251412 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756666251812:1822756666252092 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756666253012:1822756666253542 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 -1822756666253992:1822756666254682 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce18270) = 0 -1822756666255252:1822756666258592 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce18230) = 0 -1822756666259072:1822756666260332 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 -1822756668767758:1822756668772368 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756668774558:1822756668775668 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756668776818:1822756668777848 116426:116430 hsa_signal_load_relaxed() = 1 -1822756666260792:1822756668780448 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756668778808:1822756668780808 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756668786228:1822756668786968 116426:116430 hsa_signal_destroy() = 0 -1822756669412832:1822756669413512 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756675856353:1822756675857433 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756675872483:1822756675873023 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756675873683:1822756675874213 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756675877033:1822756675878043 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756675878723:1822756675879593 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756675880143:1822756675880923 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756676489437:1822756676489847 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756676491547:1822756676492077 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 -1822756676493087:1822756676495497 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce182d0) = 0 -1822756676496547:1822756676502347 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce18290) = 0 -1822756676503067:1822756676506277 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 -1822756678123437:1822756678127977 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756678130307:1822756678131427 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756678132387:1822756678133257 116426:116430 hsa_signal_load_relaxed() = 1 -1822756676506857:1822756678135707 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756678134357:1822756678136277 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756678137077:1822756678137707 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756678137847:1822756678138677 116426:116430 hsa_signal_destroy() = 0 -1822756678140537:1822756678141147 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756678158398:1822756678159208 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756678163668:1822756678164268 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 -1822756678169838:1822756678170848 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 92 -1822756678171848:1822756678172498 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 92 -1822756678173848:1822756678175118 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 -1822756678176088:1822756678176518 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756678177638:1822756678178458 116426:116426 hsa_signal_store_relaxed(, 92) = void -1822756678188448:1822756678189058 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756678193588:1822756678194198 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756678196628:1822756678197228 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 -1822756678198208:1822756678198928 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 -1822756678199388:1822756678199698 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 93 -1822756678200148:1822756678200458 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 92 -1822756678201108:1822756678201418 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756678201858:1822756678202348 116426:116426 hsa_signal_store_relaxed(, 93) = void -1822756678203928:1822756679460006 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822756679465116:1822756679465736 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822756679468286:1822756679469676 116426:116426 hsa_signal_destroy() = 0 -1822756679471596:1822756679472076 116426:116426 hsa_signal_destroy() = 0 -1822756679473416:1822756679474036 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756679474536:1822756679475146 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756679476016:1822756679476546 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756679477006:1822756679477776 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756679478236:1822756679478546 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756679479516:1822756679480126 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 -1822756679480636:1822756679481446 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce18330) = 0 -1822756679482086:1822756679485616 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce182f0) = 0 -1822756679486156:1822756679487466 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 -1822756682062192:1822756682066802 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756682069172:1822756682070272 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756682071292:1822756682072332 116426:116430 hsa_signal_load_relaxed() = 1 -1822756679487976:1822756682075052 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756682073422:1822756682075432 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756682076632:1822756682077362 116426:116430 hsa_signal_destroy() = 0 -1822756682704566:1822756682705236 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756689227868:1822756689228998 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756689244548:1822756689245088 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756689245568:1822756689246098 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756689248648:1822756689249558 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756689249948:1822756689250478 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756689251118:1822756689252018 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756689836552:1822756689836962 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756689838482:1822756689839022 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 -1822756689839642:1822756689842282 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce18390) = 0 -1822756689843182:1822756689849032 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce18350) = 0 -1822756689849842:1822756689852872 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 -1822756691486513:1822756691491063 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756691493323:1822756691494483 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756691495573:1822756691496443 116426:116430 hsa_signal_load_relaxed() = 1 -1822756689853362:1822756691498823 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756691497473:1822756691499393 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756691500213:1822756691500713 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756691501213:1822756691502043 116426:116430 hsa_signal_destroy() = 0 -1822756691503903:1822756691504513 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756691521633:1822756691522243 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756691526083:1822756691526683 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 -1822756691533393:1822756691534423 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 94 -1822756691535443:1822756691536093 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 94 -1822756691536923:1822756691538583 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 -1822756691539623:1822756691539973 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756691541333:1822756691542083 116426:116426 hsa_signal_store_relaxed(, 94) = void -1822756691544353:1822756691544963 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756691549423:1822756691550033 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756691552663:1822756691553273 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 -1822756691562853:1822756691563613 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 -1822756691564063:1822756691564383 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 95 -1822756691564813:1822756691565143 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 94 -1822756691565773:1822756691566093 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756691566533:1822756691567023 116426:116426 hsa_signal_store_relaxed(, 95) = void -1822756691568443:1822756692826671 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822756692831181:1822756692831701 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822756692834371:1822756692835721 116426:116426 hsa_signal_destroy() = 0 -1822756692838051:1822756692838491 116426:116426 hsa_signal_destroy() = 0 -1822756692839601:1822756692840151 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756692840601:1822756692841131 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756692842111:1822756692842591 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756692842991:1822756692843411 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756692843951:1822756692844221 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756692845111:1822756692845641 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 -1822756692846131:1822756692846891 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce183f0) = 0 -1822756692847471:1822756692850821 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce183b0) = 0 -1822756692851291:1822756692852671 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 -1822756695468348:1822756695472908 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756695475148:1822756695476308 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756695477448:1822756695478478 116426:116430 hsa_signal_load_relaxed() = 1 -1822756692853121:1822756695481078 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756695479508:1822756695481508 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756695483088:1822756695483818 116426:116430 hsa_signal_destroy() = 0 -1822756696118602:1822756696119272 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756702627074:1822756702628574 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756702644384:1822756702644914 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756702645804:1822756702646334 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756702659664:1822756702660534 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756702660944:1822756702661814 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756702662374:1822756702663414 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756703261298:1822756703261668 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756703263328:1822756703263858 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 -1822756703264478:1822756703267578 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce18450) = 0 -1822756703268508:1822756703274348 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce18410) = 0 -1822756703275408:1822756703278718 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 -1822756704924908:1822756704929558 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756704931858:1822756704932968 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756704933928:1822756704934798 116426:116430 hsa_signal_load_relaxed() = 1 -1822756703279208:1822756704937158 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756704935768:1822756704937708 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756704938438:1822756704939118 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756704939248:1822756704940078 116426:116430 hsa_signal_destroy() = 0 -1822756704941528:1822756704942138 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756704959298:1822756704959918 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756704964418:1822756704965028 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 -1822756704971338:1822756704972258 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 96 -1822756704973188:1822756704973838 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 96 -1822756704974858:1822756704975948 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 -1822756704976798:1822756704977218 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756704978398:1822756704979218 116426:116426 hsa_signal_store_relaxed(, 96) = void -1822756704981848:1822756704982459 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756704987219:1822756704987819 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756704990409:1822756704991019 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 -1822756704992079:1822756704992839 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 -1822756704993289:1822756704993609 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 97 -1822756704994049:1822756704994369 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 96 -1822756704997379:1822756704997689 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756704998139:1822756704998629 116426:116426 hsa_signal_store_relaxed(, 97) = void -1822756705000569:1822756706256606 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822756706261086:1822756706261826 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822756706264346:1822756706265506 116426:116426 hsa_signal_destroy() = 0 -1822756706267346:1822756706268037 116426:116426 hsa_signal_destroy() = 0 -1822756706269067:1822756706269627 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756706270077:1822756706270607 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756706271747:1822756706272227 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756706272637:1822756706273047 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756706273457:1822756706273727 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756706274797:1822756706275327 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 -1822756706275767:1822756706276457 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce184b0) = 0 -1822756706276937:1822756706280277 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce18470) = 0 -1822756706280747:1822756706281957 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 -1822756708795572:1822756708800172 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756708802442:1822756708803552 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756708804562:1822756708805592 116426:116430 hsa_signal_load_relaxed() = 1 -1822756706282427:1822756708808202 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756708806552:1822756708808562 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756708809752:1822756708810472 116426:116430 hsa_signal_destroy() = 0 -1822756709438637:1822756709439307 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756715890698:1822756715891998 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756715906908:1822756715907438 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756715908188:1822756715908728 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756715911148:1822756715912028 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756715912628:1822756715913268 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756715913998:1822756715914878 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756716541782:1822756716542312 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756716544532:1822756716545132 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 -1822756716546412:1822756716548952 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce18510) = 0 -1822756716549902:1822756716555902 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce184d0) = 0 -1822756716556732:1822756716559652 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 -1822756718188233:1822756718192713 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756718194923:1822756718196143 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756718197093:1822756718197963 116426:116430 hsa_signal_load_relaxed() = 1 -1822756716560212:1822756718200123 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756718198763:1822756718200863 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756718201703:1822756718202213 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756718202623:1822756718203453 116426:116430 hsa_signal_destroy() = 0 -1822756718205093:1822756718205693 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756718222193:1822756718223003 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756718227313:1822756718227913 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 -1822756718234363:1822756718235383 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 98 -1822756718236393:1822756718237043 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 98 -1822756718237923:1822756718239213 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 -1822756718240273:1822756718240623 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756718241973:1822756718242793 116426:116426 hsa_signal_store_relaxed(, 98) = void -1822756718245213:1822756718245823 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756718250073:1822756718250673 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756718253023:1822756718253633 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 -1822756718254513:1822756718255253 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 -1822756718255693:1822756718256013 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 99 -1822756718256453:1822756718256773 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 98 -1822756718257413:1822756718257723 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756718258163:1822756718258653 116426:116426 hsa_signal_store_relaxed(, 99) = void -1822756718262963:1822756719536251 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822756719540931:1822756719541611 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822756719544351:1822756719545551 116426:116426 hsa_signal_destroy() = 0 -1822756719547451:1822756719547931 116426:116426 hsa_signal_destroy() = 0 -1822756719549201:1822756719549821 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756719550341:1822756719550941 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756719551712:1822756719552242 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756719552702:1822756719553152 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756719553612:1822756719553922 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756719555032:1822756719555632 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 -1822756719556142:1822756719556952 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce18570) = 0 -1822756719557562:1822756719561052 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce18530) = 0 -1822756719561572:1822756719562892 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 -1822756722098047:1822756722102587 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756722104797:1822756722106067 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756722107287:1822756722108308 116426:116430 hsa_signal_load_relaxed() = 1 -1822756719563412:1822756722111048 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756722109428:1822756722111438 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756722112988:1822756722113708 116426:116430 hsa_signal_destroy() = 0 -1822756722739211:1822756722739901 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756729270593:1822756729271943 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756729286043:1822756729286583 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756729287413:1822756729287943 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756729290593:1822756729291483 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756729292223:1822756729293093 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756729293743:1822756729294973 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756729894577:1822756729895217 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756729897017:1822756729897547 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 -1822756729898707:1822756729901247 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce185d0) = 0 -1822756729911387:1822756729917047 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce18590) = 0 -1822756729917627:1822756729920777 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 -1822756731577798:1822756731582338 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756731584488:1822756731585598 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756731586558:1822756731587438 116426:116430 hsa_signal_load_relaxed() = 1 -1822756729921287:1822756731589618 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756731588248:1822756731590178 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756731590988:1822756731591638 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756731591768:1822756731592598 116426:116430 hsa_signal_destroy() = 0 -1822756731595038:1822756731595638 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756731612308:1822756731612918 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756731616878:1822756731617488 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 -1822756731623898:1822756731624918 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 100 -1822756731625968:1822756731626618 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 100 -1822756731627758:1822756731628828 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 -1822756731629718:1822756731630068 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756731631108:1822756731631938 116426:116426 hsa_signal_store_relaxed(, 100) = void -1822756731634268:1822756731634868 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756731638988:1822756731639588 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756731641668:1822756731642278 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 -1822756731643248:1822756731643988 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 -1822756731644438:1822756731644758 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 101 -1822756731645198:1822756731645518 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 100 -1822756731646368:1822756731646678 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756731647118:1822756731647608 116426:116426 hsa_signal_store_relaxed(, 101) = void -1822756731649408:1822756732916646 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822756732921316:1822756732921966 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822756732924886:1822756732926146 116426:116426 hsa_signal_destroy() = 0 -1822756732930426:1822756732930916 116426:116426 hsa_signal_destroy() = 0 -1822756732932346:1822756732932966 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756732933476:1822756732934076 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756732934896:1822756732935426 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756732935887:1822756732936497 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756732936957:1822756732937267 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756732938387:1822756732938997 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 -1822756732939497:1822756732940317 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce18630) = 0 -1822756732940907:1822756732944577 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce185f0) = 0 -1822756732945117:1822756732946567 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 -1822756735516193:1822756735520773 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756735522993:1822756735524123 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756735525153:1822756735526173 116426:116430 hsa_signal_load_relaxed() = 1 -1822756732947087:1822756735528553 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756735526983:1822756735528993 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756735530383:1822756735531103 116426:116430 hsa_signal_destroy() = 0 -1822756736177447:1822756736178177 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756742644178:1822756742645858 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756742661128:1822756742661658 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756742662368:1822756742662908 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756742665538:1822756742666408 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756742667018:1822756742667878 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756742668638:1822756742669508 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756743267702:1822756743268052 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756743269812:1822756743270342 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 -1822756743271522:1822756743274072 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce18690) = 0 -1822756743275212:1822756743281102 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce18650) = 0 -1822756743281842:1822756743285682 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 -1822756744905603:1822756744910173 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756744915613:1822756744916733 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756744917703:1822756744918573 116426:116430 hsa_signal_load_relaxed() = 1 -1822756743286352:1822756744920853 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756744919383:1822756744921293 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756744922293:1822756744922873 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756744922993:1822756744923823 116426:116430 hsa_signal_destroy() = 0 -1822756744924833:1822756744925443 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756744950453:1822756744951063 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756744955303:1822756744955913 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 -1822756744961883:1822756744962893 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 102 -1822756744963693:1822756744964353 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 102 -1822756744965253:1822756744966323 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 -1822756744967243:1822756744967663 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756744968663:1822756744969483 116426:116426 hsa_signal_store_relaxed(, 102) = void -1822756744971733:1822756744972343 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756744976463:1822756744977073 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756744979063:1822756744979673 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 -1822756744980663:1822756744981463 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 -1822756744981903:1822756744982223 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 103 -1822756744982663:1822756744982983 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 102 -1822756744983623:1822756744983943 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756744984393:1822756744984873 116426:116426 hsa_signal_store_relaxed(, 103) = void -1822756744986403:1822756746250701 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822756746255131:1822756746255741 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822756746258431:1822756746259491 116426:116426 hsa_signal_destroy() = 0 -1822756746261402:1822756746262092 116426:116426 hsa_signal_destroy() = 0 -1822756746263202:1822756746263742 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756746264192:1822756746264722 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756746267802:1822756746268292 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756746268702:1822756746269262 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756746269672:1822756746269942 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756746270872:1822756746271402 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 -1822756746271842:1822756746272542 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce186f0) = 0 -1822756746273072:1822756746276422 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce186b0) = 0 -1822756746276892:1822756746278152 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 -1822756748825658:1822756748830218 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756748832348:1822756748833658 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756748834678:1822756748835708 116426:116430 hsa_signal_load_relaxed() = 1 -1822756746278602:1822756748838148 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756748836508:1822756748838528 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756748839898:1822756748840608 116426:116430 hsa_signal_destroy() = 0 -1822756749463172:1822756749463862 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756755863102:1822756755864492 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756755878952:1822756755879492 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756755880242:1822756755880782 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756755883523:1822756755884543 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756755884933:1822756755885793 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756755886333:1822756755887063 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756756477826:1822756756478466 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756756480246:1822756756480776 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 -1822756756481806:1822756756484226 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce18750) = 0 -1822756756485226:1822756756490976 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce18710) = 0 -1822756756491716:1822756756494766 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 -1822756758117817:1822756758122387 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756758124497:1822756758125717 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756758126677:1822756758127567 116426:116430 hsa_signal_load_relaxed() = 1 -1822756756495346:1822756758129877 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756758128517:1822756758130477 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756758135317:1822756758136077 116426:116430 hsa_signal_destroy() = 0 -1822756758141187:1822756758141757 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756758144167:1822756758144777 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756758160707:1822756758161517 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756758165927:1822756758166527 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 -1822756758172957:1822756758173977 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 104 -1822756758174767:1822756758175677 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 104 -1822756758176527:1822756758177967 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 -1822756758178747:1822756758179097 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756758180097:1822756758180907 116426:116426 hsa_signal_store_relaxed(, 104) = void -1822756758183027:1822756758183637 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756758187927:1822756758188527 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756758190587:1822756758191197 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 -1822756758192317:1822756758193077 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 -1822756758193697:1822756758194017 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 105 -1822756758194457:1822756758194777 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 104 -1822756758195587:1822756758195907 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756758196357:1822756758196847 116426:116426 hsa_signal_store_relaxed(, 105) = void -1822756758198667:1822756759466046 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822756759470986:1822756759471626 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822756759474286:1822756759475766 116426:116426 hsa_signal_destroy() = 0 -1822756759477296:1822756759477776 116426:116426 hsa_signal_destroy() = 0 -1822756759478946:1822756759479556 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756759480066:1822756759480676 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756759481656:1822756759482186 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756759482646:1822756759483106 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756759483696:1822756759484006 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756759487506:1822756759488116 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 -1822756759488616:1822756759489446 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce187b0) = 0 -1822756759490026:1822756759493686 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce18770) = 0 -1822756759494226:1822756759495686 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 -1822756762067402:1822756762071942 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756762074162:1822756762075322 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756762076342:1822756762077372 116426:116430 hsa_signal_load_relaxed() = 1 -1822756759496206:1822756762079802 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756762078172:1822756762080182 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756762081542:1822756762082262 116426:116430 hsa_signal_destroy() = 0 -1822756762708716:1822756762709396 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756769236898:1822756769237718 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756769252068:1822756769252608 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756769253218:1822756769253748 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756769256348:1822756769257568 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756769258308:1822756769259218 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756769259968:1822756769261118 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756769841941:1822756769842341 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756769843821:1822756769844351 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 -1822756769845711:1822756769848231 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce18810) = 0 -1822756769849261:1822756769854821 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce187d0) = 0 -1822756769855551:1822756769859132 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 -1822756771493572:1822756771498132 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756771500502:1822756771501602 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756771502762:1822756771503632 116426:116430 hsa_signal_load_relaxed() = 1 -1822756769859702:1822756771505982 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756771504632:1822756771506762 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756771507332:1822756771507852 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756771508312:1822756771509142 116426:116430 hsa_signal_destroy() = 0 -1822756771510562:1822756771511172 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756771535822:1822756771536432 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756771540052:1822756771540662 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 -1822756771546772:1822756771548122 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 106 -1822756771548902:1822756771549912 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 106 -1822756771550732:1822756771551802 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 -1822756771552462:1822756771552812 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756771553922:1822756771554752 116426:116426 hsa_signal_store_relaxed(, 106) = void -1822756771557242:1822756771557852 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756771562132:1822756771562732 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756771565612:1822756771566222 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 -1822756771567162:1822756771567912 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 -1822756771568362:1822756771568682 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 107 -1822756771569122:1822756771569442 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 106 -1822756771570092:1822756771570412 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756771570853:1822756771571343 116426:116426 hsa_signal_store_relaxed(, 107) = void -1822756771572773:1822756772831161 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822756772835751:1822756772836271 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822756772838921:1822756772840261 116426:116426 hsa_signal_destroy() = 0 -1822756772842041:1822756772842491 116426:116426 hsa_signal_destroy() = 0 -1822756772843591:1822756772844141 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756772844601:1822756772845131 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756772846071:1822756772846561 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756772846971:1822756772847391 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756772847791:1822756772848071 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756772849131:1822756772849661 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 -1822756772850111:1822756772850861 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce18870) = 0 -1822756772851401:1822756772854721 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce18830) = 0 -1822756772857441:1822756772858631 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 -1822756775474928:1822756775479488 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756775481658:1822756775482978 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756775483998:1822756775485028 116426:116430 hsa_signal_load_relaxed() = 1 -1822756772859111:1822756775487408 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756775485838:1822756775487848 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756775489148:1822756775489868 116426:116430 hsa_signal_destroy() = 0 -1822756776136072:1822756776136792 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756782620173:1822756782621553 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756782636473:1822756782637013 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756782637773:1822756782638303 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756782641053:1822756782641913 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756782642313:1822756782643283 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756782643913:1822756782644783 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756783244147:1822756783244827 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756783246657:1822756783247187 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 -1822756783248127:1822756783250527 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce188d0) = 0 -1822756783251647:1822756783257547 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce18890) = 0 -1822756783258287:1822756783261747 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 -1822756784887477:1822756784892077 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756784894247:1822756784895497 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756784896467:1822756784897327 116426:116430 hsa_signal_load_relaxed() = 1 -1822756783262317:1822756784899737 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756784898227:1822756784900167 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756784901527:1822756784902497 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756784901797:1822756784902927 116426:116430 hsa_signal_destroy() = 0 -1822756784905217:1822756784905817 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756784922667:1822756784923277 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756784935668:1822756784936268 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 -1822756784941928:1822756784942928 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 108 -1822756784943728:1822756784944388 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 108 -1822756784945208:1822756784946298 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 -1822756784946948:1822756784947368 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756784948408:1822756784949418 116426:116426 hsa_signal_store_relaxed(, 108) = void -1822756784951768:1822756784952378 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756784956568:1822756784957168 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756784959598:1822756784960208 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 -1822756784961438:1822756784962178 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 -1822756784962618:1822756784962938 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 109 -1822756784963378:1822756784963688 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 108 -1822756784964338:1822756784964648 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756784965098:1822756784965588 116426:116426 hsa_signal_store_relaxed(, 109) = void -1822756784967078:1822756786214266 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822756786218996:1822756786219606 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822756786222196:1822756786223206 116426:116426 hsa_signal_destroy() = 0 -1822756786225036:1822756786225726 116426:116426 hsa_signal_destroy() = 0 -1822756786226816:1822756786227356 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756786227806:1822756786228336 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756786229276:1822756786229966 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756786230386:1822756786230946 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756786231356:1822756786231626 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756786232696:1822756786233226 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 -1822756786233676:1822756786234316 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce18930) = 0 -1822756786234856:1822756786238196 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce188f0) = 0 -1822756786238656:1822756786239806 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 -1822756788782702:1822756788787262 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756788789542:1822756788790652 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756788795412:1822756788796462 116426:116430 hsa_signal_load_relaxed() = 1 -1822756786240266:1822756788798922 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756788797292:1822756788799292 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756788800882:1822756788801602 116426:116430 hsa_signal_destroy() = 0 -1822756789424296:1822756789424976 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756795867047:1822756795868457 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756795882487:1822756795883017 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756795883567:1822756795884097 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756795886377:1822756795887287 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756795887677:1822756795888317 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756795888857:1822756795889687 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756796478721:1822756796479261 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756796480811:1822756796481341 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 -1822756796482361:1822756796485091 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce18990) = 0 -1822756796486081:1822756796492051 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce18950) = 0 -1822756796492611:1822756796495891 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 -1822756798119601:1822756798124151 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756798126642:1822756798127752 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756798128832:1822756798129702 116426:116430 hsa_signal_load_relaxed() = 1 -1822756796496421:1822756798131992 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756798130632:1822756798132772 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756798133352:1822756798133902 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756798134352:1822756798135172 116426:116430 hsa_signal_destroy() = 0 -1822756798137642:1822756798138252 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756798154722:1822756798155542 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756798159342:1822756798159952 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 -1822756798165972:1822756798166912 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 110 -1822756798167842:1822756798168502 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 110 -1822756798180072:1822756798181442 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 -1822756798182192:1822756798182632 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756798183692:1822756798184542 116426:116426 hsa_signal_store_relaxed(, 110) = void -1822756798186862:1822756798187472 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756798191772:1822756798192382 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756798194972:1822756798195582 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 -1822756798196942:1822756798197692 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 -1822756798198132:1822756798198452 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 111 -1822756798198892:1822756798199212 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 110 -1822756798200032:1822756798200352 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756798200792:1822756798201292 116426:116426 hsa_signal_store_relaxed(, 111) = void -1822756798202772:1822756799461730 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822756799466490:1822756799467130 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822756799469790:1822756799471210 116426:116426 hsa_signal_destroy() = 0 -1822756799472890:1822756799473360 116426:116426 hsa_signal_destroy() = 0 -1822756799474550:1822756799475180 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756799475700:1822756799476300 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756799477330:1822756799477850 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756799478310:1822756799478880 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756799479330:1822756799479640 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756799480770:1822756799481370 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 -1822756799481890:1822756799482700 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce189f0) = 0 -1822756799483290:1822756799486830 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce189b0) = 0 -1822756799487370:1822756799488640 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 -1822756802022307:1822756802026897 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756802029347:1822756802030447 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756802031607:1822756802032647 116426:116430 hsa_signal_load_relaxed() = 1 -1822756799489150:1822756802035227 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756802033607:1822756802035617 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756802040387:1822756802041127 116426:116430 hsa_signal_destroy() = 0 -1822756802662191:1822756802662871 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756809170472:1822756809171442 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756809185532:1822756809186072 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756809186662:1822756809187202 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756809189682:1822756809190582 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756809190972:1822756809191882 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756809192442:1822756809193482 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756809776856:1822756809777216 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756809778756:1822756809779286 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 -1822756809780056:1822756809782496 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce18a50) = 0 -1822756809783546:1822756809788966 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce18a10) = 0 -1822756809789776:1822756809793916 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 -1822756811475616:1822756811480186 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756811482377:1822756811483567 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756811484537:1822756811485407 116426:116430 hsa_signal_load_relaxed() = 1 -1822756809794536:1822756811487847 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756811486487:1822756811488407 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756811489617:1822756811490447 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756811489977:1822756811490987 116426:116430 hsa_signal_destroy() = 0 -1822756811493407:1822756811494017 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756811511097:1822756811511907 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756811516047:1822756811516647 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 -1822756811522557:1822756811523577 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 112 -1822756811524597:1822756811525257 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 112 -1822756811526507:1822756811527707 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 -1822756811528547:1822756811528967 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756811530217:1822756811531047 116426:116426 hsa_signal_store_relaxed(, 112) = void -1822756811542757:1822756811543367 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756811547427:1822756811548027 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756811550417:1822756811551017 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 -1822756811551997:1822756811552897 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 -1822756811553347:1822756811553677 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 113 -1822756811554117:1822756811554437 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 112 -1822756811555067:1822756811555377 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756811555827:1822756811556317 116426:116426 hsa_signal_store_relaxed(, 113) = void -1822756811558017:1822756812811075 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822756812815655:1822756812816385 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822756812819025:1822756812819975 116426:116426 hsa_signal_destroy() = 0 -1822756812821785:1822756812822225 116426:116426 hsa_signal_destroy() = 0 -1822756812823295:1822756812823845 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756812824305:1822756812824845 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756812825765:1822756812826335 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756812826745:1822756812827315 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756812827725:1822756812827995 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756812828905:1822756812829435 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 -1822756812829895:1822756812830645 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce18ab0) = 0 -1822756812831195:1822756812834735 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce18a70) = 0 -1822756812835205:1822756812836575 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 -1822756815472282:1822756815476822 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756815479232:1822756815480382 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756815481402:1822756815482432 116426:116430 hsa_signal_load_relaxed() = 1 -1822756812837035:1822756815485102 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756815483522:1822756815485532 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756815486732:1822756815487452 116426:116430 hsa_signal_destroy() = 0 -1822756816121586:1822756816122246 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756822784839:1822756822786139 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756822815429:1822756822815959 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756822816719:1822756822817259 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756822819689:1822756822820549 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756822820939:1822756822821829 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756822822749:1822756822823959 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756823421573:1822756823422223 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756823423663:1822756823424193 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 -1822756823425323:1822756823427803 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce18b10) = 0 -1822756823428843:1822756823434523 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce18ad0) = 0 -1822756823435263:1822756823437933 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 -1822756825048533:1822756825053103 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756825055363:1822756825056463 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756825057533:1822756825058413 116426:116430 hsa_signal_load_relaxed() = 1 -1822756823438543:1822756825060753 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756825059363:1822756825061313 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756825062073:1822756825062583 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756825063143:1822756825063863 116426:116430 hsa_signal_destroy() = 0 -1822756825065233:1822756825065843 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756825082103:1822756825082703 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756825086933:1822756825087543 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 -1822756825094513:1822756825095523 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 114 -1822756825096443:1822756825097103 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 114 -1822756825097983:1822756825099093 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 -1822756825099993:1822756825100333 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756825101683:1822756825102523 116426:116426 hsa_signal_store_relaxed(, 114) = void -1822756825104923:1822756825105523 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756825109903:1822756825110503 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756825113433:1822756825114043 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 -1822756825117643:1822756825118463 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 -1822756825118913:1822756825119243 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 115 -1822756825119693:1822756825120013 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 114 -1822756825120843:1822756825121153 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756825121593:1822756825122083 116426:116426 hsa_signal_store_relaxed(, 115) = void -1822756825123863:1822756826377141 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822756826382161:1822756826382781 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822756826385911:1822756826387101 116426:116426 hsa_signal_destroy() = 0 -1822756826388911:1822756826389651 116426:116426 hsa_signal_destroy() = 0 -1822756826390961:1822756826391582 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756826392092:1822756826392702 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756826393772:1822756826394302 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756826394762:1822756826395212 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756826395682:1822756826395982 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756826396942:1822756826397542 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 -1822756826398052:1822756826398822 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce18b70) = 0 -1822756826399342:1822756826402862 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce18b30) = 0 -1822756826403392:1822756826404742 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 -1822756828947498:1822756828952098 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756828954308:1822756828955408 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756828956568:1822756828957598 116426:116430 hsa_signal_load_relaxed() = 1 -1822756826405262:1822756828960268 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756828958628:1822756828960638 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756828962338:1822756828963058 116426:116430 hsa_signal_destroy() = 0 -1822756829592172:1822756829592892 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756836040273:1822756836041863 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756836055853:1822756836056383 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756836056933:1822756836057463 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756836060083:1822756836060823 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756836072223:1822756836072903 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756836073443:1822756836074653 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756836687517:1822756836687957 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756836689547:1822756836690147 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 -1822756836691457:1822756836694437 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce18bd0) = 0 -1822756836695067:1822756836700937 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce18b90) = 0 -1822756836701837:1822756836705087 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 -1822756838470328:1822756838474888 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756838477338:1822756838478448 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756838479408:1822756838480278 116426:116430 hsa_signal_load_relaxed() = 1 -1822756836705687:1822756838482648 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756838481298:1822756838483248 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756838483948:1822756838484578 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756838484668:1822756838485498 116426:116430 hsa_signal_destroy() = 0 -1822756838487138:1822756838487748 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756838505109:1822756838505819 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756838510339:1822756838510939 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 -1822756838517059:1822756838517979 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 116 -1822756838518909:1822756838519559 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 116 -1822756838520569:1822756838521939 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 -1822756838522799:1822756838523149 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756838524219:1822756838525039 116426:116426 hsa_signal_store_relaxed(, 116) = void -1822756838527769:1822756838528379 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756838535089:1822756838535699 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756838538319:1822756838538919 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 -1822756838539959:1822756838540719 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 -1822756838541169:1822756838541489 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 117 -1822756838541929:1822756838542239 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 116 -1822756838544099:1822756838544409 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756838544859:1822756838545349 116426:116426 hsa_signal_store_relaxed(, 117) = void -1822756838546949:1822756839804987 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822756839809757:1822756839810397 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822756839813127:1822756839814287 116426:116426 hsa_signal_destroy() = 0 -1822756839816097:1822756839816537 116426:116426 hsa_signal_destroy() = 0 -1822756839817607:1822756839818157 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756839818617:1822756839819147 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756839820117:1822756839820877 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756839821287:1822756839821707 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756839822117:1822756839822387 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756839823277:1822756839823817 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 -1822756839824267:1822756839825007 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce18c30) = 0 -1822756839825457:1822756839828807 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce18bf0) = 0 -1822756839829277:1822756839830737 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 -1822756842472894:1822756842477424 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756842479844:1822756842481094 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756842482124:1822756842483144 116426:116430 hsa_signal_load_relaxed() = 1 -1822756839831207:1822756842485724 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756842484094:1822756842486114 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756842487294:1822756842488024 116426:116430 hsa_signal_destroy() = 0 -1822756843115178:1822756843115858 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756849594219:1822756849595979 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756849612090:1822756849612620 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756849613590:1822756849614120 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756849616530:1822756849617240 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756849617840:1822756849618700 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756849619360:1822756849620240 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756850227213:1822756850227563 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756850229383:1822756850229913 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 -1822756850230943:1822756850233503 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce18c90) = 0 -1822756850234123:1822756850239953 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce18c50) = 0 -1822756850240743:1822756850244233 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 -1822756851885324:1822756851889904 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756851892164:1822756851893274 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756851894354:1822756851895224 116426:116430 hsa_signal_load_relaxed() = 1 -1822756850244804:1822756851897584 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756851896224:1822756851898154 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756851899184:1822756851899744 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756851900104:1822756851900934 116426:116430 hsa_signal_destroy() = 0 -1822756851902504:1822756851903104 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756851920104:1822756851920914 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756851924704:1822756851925314 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 -1822756851931844:1822756851932854 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 118 -1822756851933864:1822756851934514 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 118 -1822756851935424:1822756851936564 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 -1822756851937404:1822756851937824 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756851938974:1822756851939814 116426:116426 hsa_signal_store_relaxed(, 118) = void -1822756851942304:1822756851942904 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756851947214:1822756851947824 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756851950204:1822756851950814 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 -1822756851952034:1822756851952934 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 -1822756851953374:1822756851953694 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 119 -1822756851954134:1822756851954454 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 118 -1822756851955104:1822756851955424 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756851955864:1822756851956344 116426:116426 hsa_signal_store_relaxed(, 119) = void -1822756851957874:1822756853212992 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822756853219882:1822756853220492 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822756853223342:1822756853224732 116426:116426 hsa_signal_destroy() = 0 -1822756853226752:1822756853227182 116426:116426 hsa_signal_destroy() = 0 -1822756853228362:1822756853228902 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756853229352:1822756853229882 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756853230822:1822756853231782 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756853232182:1822756853232602 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756853233002:1822756853233272 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756853234342:1822756853234872 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 -1822756853235362:1822756853236102 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce18cf0) = 0 -1822756853236642:1822756853240142 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce18cb0) = 0 -1822756853240622:1822756853241972 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 -1822756855777029:1822756855781569 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756855783689:1822756855785009 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756855786029:1822756855787059 116426:116430 hsa_signal_load_relaxed() = 1 -1822756853242442:1822756855789439 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756855787859:1822756855789899 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756855791649:1822756855792369 116426:116430 hsa_signal_destroy() = 0 -1822756856430853:1822756856431533 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756862867374:1822756862868504 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756862883544:1822756862884084 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756862884834:1822756862885364 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756862888104:1822756862889004 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756862889744:1822756862890604 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756862891254:1822756862892164 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756863489238:1822756863489588 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756863491478:1822756863492008 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 -1822756863493108:1822756863495748 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce18d50) = 0 -1822756863503968:1822756863509858 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce18d10) = 0 -1822756863510738:1822756863513418 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 -1822756865127998:1822756865132568 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756865134738:1822756865135848 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756865136808:1822756865137668 116426:116430 hsa_signal_load_relaxed() = 1 -1822756863514058:1822756865139848 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756865138478:1822756865140408 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756865141348:1822756865142198 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756865141988:1822756865143118 116426:116430 hsa_signal_destroy() = 0 -1822756865144358:1822756865144968 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756865161328:1822756865161938 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756865165608:1822756865166208 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 -1822756865172118:1822756865173128 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 120 -1822756865174048:1822756865174698 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 120 -1822756865175678:1822756865176928 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 -1822756865177828:1822756865178168 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756865179428:1822756865180288 116426:116426 hsa_signal_store_relaxed(, 120) = void -1822756865182738:1822756865183348 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756865187598:1822756865188208 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756865190438:1822756865191048 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 -1822756865191978:1822756865192838 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 -1822756865193288:1822756865193598 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 121 -1822756865194048:1822756865194368 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 120 -1822756865195018:1822756865195338 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756865195778:1822756865196268 116426:116426 hsa_signal_store_relaxed(, 121) = void -1822756865197638:1822756866456857 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822756866461237:1822756866461857 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822756866464897:1822756866466027 116426:116426 hsa_signal_destroy() = 0 -1822756866467807:1822756866468507 116426:116426 hsa_signal_destroy() = 0 -1822756866472577:1822756866473207 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756866473727:1822756866474327 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756866475207:1822756866475727 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756866476187:1822756866476647 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756866477107:1822756866477417 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756866478527:1822756866479127 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 -1822756866479647:1822756866480407 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce18db0) = 0 -1822756866481057:1822756866484577 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce18d70) = 0 -1822756866485117:1822756866486437 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 -1822756869071313:1822756869075933 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756869078133:1822756869079243 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756869080263:1822756869081293 116426:116430 hsa_signal_load_relaxed() = 1 -1822756866486967:1822756869083743 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756869082093:1822756869084163 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756869085443:1822756869086163 116426:116430 hsa_signal_destroy() = 0 -1822756869714957:1822756869715637 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756876231509:1822756876232829 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756876247859:1822756876248399 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756876249329:1822756876249869 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756876252449:1822756876253269 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756876253869:1822756876254519 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756876255199:1822756876256119 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756876831153:1822756876831493 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756876833123:1822756876833663 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 -1822756876834753:1822756876837553 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce18e10) = 0 -1822756876838483:1822756876844133 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce18dd0) = 0 -1822756876844943:1822756876848163 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 -1822756878479553:1822756878484113 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756878489943:1822756878491063 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756878492013:1822756878492883 116426:116430 hsa_signal_load_relaxed() = 1 -1822756876848833:1822756878495053 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756878493693:1822756878495623 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756878496793:1822756878497553 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756878497163:1822756878498293 116426:116430 hsa_signal_destroy() = 0 -1822756878500323:1822756878500923 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756878517153:1822756878517763 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756878521674:1822756878522274 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 -1822756878528924:1822756878529954 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 122 -1822756878530974:1822756878531624 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 122 -1822756878532454:1822756878533764 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 -1822756878534454:1822756878534884 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756878536234:1822756878537074 116426:116426 hsa_signal_store_relaxed(, 122) = void -1822756878539394:1822756878540004 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756878544084:1822756878544694 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756878546604:1822756878547204 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 -1822756878548254:1822756878549014 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 -1822756878549454:1822756878549774 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 123 -1822756878550214:1822756878550534 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 122 -1822756878551174:1822756878551494 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756878551934:1822756878552424 116426:116426 hsa_signal_store_relaxed(, 123) = void -1822756878553974:1822756879827112 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822756879831752:1822756879832372 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822756879835292:1822756879836362 116426:116426 hsa_signal_destroy() = 0 -1822756879837992:1822756879838432 116426:116426 hsa_signal_destroy() = 0 -1822756879839512:1822756879840062 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756879840512:1822756879841052 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756879841742:1822756879842222 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756879852442:1822756879852862 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756879853272:1822756879853542 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756879854462:1822756879854992 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 -1822756879855482:1822756879856232 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce18e70) = 0 -1822756879856772:1822756879860162 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce18e30) = 0 -1822756879860652:1822756879861932 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 -1822756882476469:1822756882481019 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756882483139:1822756882484249 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756882485269:1822756882486309 116426:116430 hsa_signal_load_relaxed() = 1 -1822756879862402:1822756882488729 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756882487109:1822756882489119 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756882490489:1822756882491209 116426:116430 hsa_signal_destroy() = 0 -1822756883113413:1822756883114093 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756889594244:1822756889595834 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756889613674:1822756889614214 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756889615114:1822756889615644 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756889618114:1822756889619014 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756889619404:1822756889620264 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756889620924:1822756889621804 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756890202678:1822756890203198 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756890204638:1822756890205168 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 -1822756890206458:1822756890209098 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce18ed0) = 0 -1822756890210008:1822756890216018 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce18e90) = 0 -1822756890216778:1822756890220038 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 -1822756891843078:1822756891847628 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756891849728:1822756891850838 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756891851798:1822756891852658 116426:116430 hsa_signal_load_relaxed() = 1 -1822756890220538:1822756891854968 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756891853608:1822756891855548 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756891860588:1822756891861318 116426:116430 hsa_signal_destroy() = 0 -1822756891866298:1822756891866878 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756891869238:1822756891869838 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756891885688:1822756891886298 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756891890028:1822756891890628 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 -1822756891896198:1822756891897218 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 124 -1822756891898178:1822756891898828 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 124 -1822756891899668:1822756891901048 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 -1822756891901768:1822756891902198 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756891903228:1822756891904138 116426:116426 hsa_signal_store_relaxed(, 124) = void -1822756891906488:1822756891907088 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756891911178:1822756891911778 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756891914318:1822756891914928 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 -1822756891916328:1822756891917068 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 -1822756891917518:1822756891917848 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 125 -1822756891918288:1822756891918608 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 124 -1822756891919239:1822756891919559 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756891919999:1822756891920489 116426:116426 hsa_signal_store_relaxed(, 125) = void -1822756891922419:1822756893184347 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822756893188877:1822756893189487 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822756893192077:1822756893193137 116426:116426 hsa_signal_destroy() = 0 -1822756893194887:1822756893195327 116426:116426 hsa_signal_destroy() = 0 -1822756893196357:1822756893196897 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756893197347:1822756893197877 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756893198827:1822756893199307 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756893199717:1822756893200127 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756893200587:1822756893200867 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756893201777:1822756893202307 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 -1822756893205047:1822756893206007 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce18f30) = 0 -1822756893206557:1822756893209887 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce18ef0) = 0 -1822756893210367:1822756893211507 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 -1822756895784493:1822756895789043 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756895791223:1822756895792423 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756895793443:1822756895794463 116426:116430 hsa_signal_load_relaxed() = 1 -1822756893211967:1822756895796843 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756895795273:1822756895797283 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756895798693:1822756895799413 116426:116430 hsa_signal_destroy() = 0 -1822756896437528:1822756896438238 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756903014920:1822756903015720 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756903031480:1822756903032010 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756903032840:1822756903033370 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756903035630:1822756903036500 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756903037250:1822756903038120 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756903038720:1822756903039620 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756903641814:1822756903642304 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756903643734:1822756903644264 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 -1822756903644924:1822756903647604 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce18f90) = 0 -1822756903648784:1822756903654754 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce18f50) = 0 -1822756903655574:1822756903658614 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 -1822756905286244:1822756905290744 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756905293184:1822756905294294 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756905295444:1822756905296304 116426:116430 hsa_signal_load_relaxed() = 1 -1822756903659224:1822756905298794 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756905297304:1822756905299244 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756905300154:1822756905301104 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756905300894:1822756905302024 116426:116430 hsa_signal_destroy() = 0 -1822756905303384:1822756905303994 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756905324704:1822756905325514 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756905329284:1822756905329884 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 -1822756905335984:1822756905336994 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 126 -1822756905337814:1822756905338464 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 126 -1822756905339334:1822756905340434 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 -1822756905341134:1822756905341554 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756905343114:1822756905344054 116426:116426 hsa_signal_store_relaxed(, 126) = void -1822756905346284:1822756905346894 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756905350995:1822756905351605 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756905353465:1822756905354075 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 -1822756905355015:1822756905355905 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 -1822756905356345:1822756905356675 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 127 -1822756905357115:1822756905357435 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 126 -1822756905358255:1822756905358565 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756905359015:1822756905359495 116426:116426 hsa_signal_store_relaxed(, 127) = void -1822756905360985:1822756906633362 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822756906638123:1822756906638693 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822756906641613:1822756906642633 116426:116426 hsa_signal_destroy() = 0 -1822756906644313:1822756906644973 116426:116426 hsa_signal_destroy() = 0 -1822756906646133:1822756906646683 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756906647133:1822756906647673 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756906648613:1822756906649093 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756906649523:1822756906650093 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756906650503:1822756906650773 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756906651683:1822756906652213 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 -1822756906652673:1822756906653353 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce18ff0) = 0 -1822756906653933:1822756906657283 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce18fb0) = 0 -1822756906663713:1822756906664993 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 -1822756909198199:1822756909202699 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756909205019:1822756909206139 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756909207179:1822756909208199 116426:116430 hsa_signal_load_relaxed() = 1 -1822756906665473:1822756909210689 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756909209039:1822756909211049 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756909212479:1822756909213199 116426:116430 hsa_signal_destroy() = 0 -1822756909842563:1822756909843243 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756916321314:1822756916322824 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756916337885:1822756916338425 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756916339185:1822756916339725 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756916342965:1822756916343855 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756916344245:1822756916345115 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756916345685:1822756916346565 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756916937828:1822756916938318 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756916947408:1822756916947948 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 -1822756916948838:1822756916951388 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce19050) = 0 -1822756916952738:1822756916958328 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce19010) = 0 -1822756916959128:1822756916962678 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 -1822756918630669:1822756918635239 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756918637409:1822756918638519 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756918639479:1822756918640339 116426:116430 hsa_signal_load_relaxed() = 1 -1822756916963198:1822756918642789 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756918641429:1822756918643369 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756918644389:1822756918645219 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756918645009:1822756918646139 116426:116430 hsa_signal_destroy() = 0 -1822756918647969:1822756918648569 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756918666929:1822756918667539 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756918671529:1822756918672129 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 -1822756918682909:1822756918684059 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 128 -1822756918684859:1822756918685509 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 128 -1822756918686389:1822756918687839 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 -1822756918688539:1822756918688889 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756918690149:1822756918690969 116426:116426 hsa_signal_store_relaxed(, 128) = void -1822756918693249:1822756918693859 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756918698089:1822756918698689 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756918700989:1822756918701599 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 -1822756918702559:1822756918703329 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 -1822756918703779:1822756918704109 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 129 -1822756918704549:1822756918704879 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 128 -1822756918705509:1822756918705829 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756918706269:1822756918706759 116426:116426 hsa_signal_store_relaxed(, 129) = void -1822756918708349:1822756919979947 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822756919984757:1822756919985357 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822756919987977:1822756919989017 116426:116426 hsa_signal_destroy() = 0 -1822756919990857:1822756919991297 116426:116426 hsa_signal_destroy() = 0 -1822756919992377:1822756919992927 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756919993367:1822756919993897 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756919994817:1822756919995467 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756919995877:1822756919996397 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756919996807:1822756919997077 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756919998167:1822756919998697 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 -1822756919999137:1822756919999877 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce190b0) = 0 -1822756920010957:1822756920014467 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce19070) = 0 -1822756920014947:1822756920016227 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 -1822756922568544:1822756922573084 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756922575414:1822756922576564 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756922581454:1822756922582494 116426:116430 hsa_signal_load_relaxed() = 1 -1822756920016697:1822756922585004 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756922583314:1822756922585324 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756922586934:1822756922587644 116426:116430 hsa_signal_destroy() = 0 -1822756923214568:1822756923215258 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756929677889:1822756929679049 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756929694830:1822756929695360 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756929695980:1822756929696510 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756929699120:1822756929699980 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756929700370:1822756929701000 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756929701620:1822756929702500 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756930301633:1822756930302203 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756930303813:1822756930304344 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 -1822756930305134:1822756930308124 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce19110) = 0 -1822756930308874:1822756930314794 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce190d0) = 0 -1822756930315584:1822756930319054 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 -1822756931949414:1822756931953954 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756931956434:1822756931957704 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756931958854:1822756931959714 116426:116430 hsa_signal_load_relaxed() = 1 -1822756930319744:1822756931961984 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756931960634:1822756931962554 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756931963334:1822756931963854 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756931964204:1822756931965034 116426:116430 hsa_signal_destroy() = 0 -1822756931966644:1822756931967254 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756931984594:1822756931985204 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756931989414:1822756931990014 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 -1822756931996354:1822756931997674 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 130 -1822756931998614:1822756931999524 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 130 -1822756932013374:1822756932014594 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 -1822756932025765:1822756932026215 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756932027505:1822756932028325 116426:116426 hsa_signal_store_relaxed(, 130) = void -1822756932031115:1822756932031725 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756932035965:1822756932036575 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756932039145:1822756932039755 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 -1822756932040655:1822756932041405 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 -1822756932041865:1822756932042195 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 131 -1822756932042645:1822756932042965 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 130 -1822756932043625:1822756932043935 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756932044385:1822756932044875 116426:116426 hsa_signal_store_relaxed(, 131) = void -1822756932046925:1822756933303193 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822756933307743:1822756933308413 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822756933311313:1822756933312693 116426:116426 hsa_signal_destroy() = 0 -1822756933315053:1822756933315543 116426:116426 hsa_signal_destroy() = 0 -1822756933316763:1822756933317383 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756933317893:1822756933318493 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756933319543:1822756933320063 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756933320523:1822756933320983 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756933321443:1822756933321753 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756933322873:1822756933323483 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 -1822756933323993:1822756933325123 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce19170) = 0 -1822756933325713:1822756933329213 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce19130) = 0 -1822756933329743:1822756933331293 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 -1822756935848418:1822756935852948 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756935855418:1822756935856658 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756935857808:1822756935858828 116426:116430 hsa_signal_load_relaxed() = 1 -1822756933331813:1822756935861368 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756935859798:1822756935861808 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756935866818:1822756935867558 116426:116430 hsa_signal_destroy() = 0 -1822756936511973:1822756936512653 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756942927064:1822756942928454 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756942943134:1822756942943664 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756942944294:1822756942944824 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756942946984:1822756942947774 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756942948164:1822756942948704 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756942949254:1822756942950134 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756943533598:1822756943534118 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756943535688:1822756943536218 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 -1822756943537128:1822756943539488 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce191d0) = 0 -1822756943540378:1822756943546038 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce19190) = 0 -1822756943546718:1822756943549718 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 -1822756945044167:1822756945048767 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756945050837:1822756945051937 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756945052907:1822756945053777 116426:116430 hsa_signal_load_relaxed() = 1 -1822756943550248:1822756945056227 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756945054857:1822756945056787 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756945057857:1822756945058697 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756945058407:1822756945059537 116426:116430 hsa_signal_destroy() = 0 -1822756945061277:1822756945061887 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756945077947:1822756945078557 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756945082957:1822756945083557 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 -1822756945089827:1822756945090757 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 132 -1822756945091737:1822756945092387 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 132 -1822756945093477:1822756945094568 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 -1822756945095378:1822756945095728 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756945096968:1822756945097728 116426:116426 hsa_signal_store_relaxed(, 132) = void -1822756945099998:1822756945100608 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756945114098:1822756945114708 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756945117238:1822756945117848 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 -1822756945118828:1822756945119808 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 -1822756945120258:1822756945120578 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 133 -1822756945121028:1822756945121348 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 132 -1822756945122128:1822756945122448 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756945122888:1822756945123378 116426:116426 hsa_signal_store_relaxed(, 133) = void -1822756945125058:1822756946379035 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822756946383846:1822756946384476 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822756946387686:1822756946389046 116426:116426 hsa_signal_destroy() = 0 -1822756946391206:1822756946391936 116426:116426 hsa_signal_destroy() = 0 -1822756946393326:1822756946393946 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756946394456:1822756946395056 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756946395906:1822756946396436 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756946396896:1822756946397346 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756946397816:1822756946398116 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756946399246:1822756946399846 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 -1822756946400346:1822756946401196 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce19230) = 0 -1822756946401826:1822756946405356 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce191f0) = 0 -1822756946405896:1822756946407226 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 -1822756948945522:1822756948950082 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756948952442:1822756948953662 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756948954692:1822756948955722 116426:116430 hsa_signal_load_relaxed() = 1 -1822756946407756:1822756948958442 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756948956802:1822756948958812 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756948960012:1822756948960732 116426:116430 hsa_signal_destroy() = 0 -1822756949589906:1822756949590586 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756956023397:1822756956024387 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756956049277:1822756956050037 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756956050617:1822756956051147 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756956053747:1822756956054487 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756956054877:1822756956055737 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756956056287:1822756956057137 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756956650301:1822756956650861 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756956652671:1822756956653281 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 -1822756956654261:1822756956656991 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce19290) = 0 -1822756956657771:1822756956663471 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce19250) = 0 -1822756956664371:1822756956667531 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 -1822756958285542:1822756958290032 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756958292322:1822756958293432 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756958294392:1822756958295262 116426:116430 hsa_signal_load_relaxed() = 1 -1822756956668101:1822756958297572 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756958296212:1822756958298152 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756958298882:1822756958299402 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756958299982:1822756958300702 116426:116430 hsa_signal_destroy() = 0 -1822756958302452:1822756958303062 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756958319272:1822756958319932 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756958324102:1822756958324712 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 -1822756958331022:1822756958331962 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 134 -1822756958332932:1822756958333582 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 134 -1822756958334482:1822756958335692 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 -1822756958336812:1822756958337152 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756958338812:1822756958339652 116426:116426 hsa_signal_store_relaxed(, 134) = void -1822756958342222:1822756958342832 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756958346982:1822756958347592 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756958349672:1822756958350282 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 -1822756958351402:1822756958352132 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 -1822756958355502:1822756958355822 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 135 -1822756958356272:1822756958356582 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 134 -1822756958357242:1822756958357552 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756958358002:1822756958358492 116426:116426 hsa_signal_store_relaxed(, 135) = void -1822756958360262:1822756959617660 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822756959621950:1822756959622740 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822756959625670:1822756959626680 116426:116426 hsa_signal_destroy() = 0 -1822756959628750:1822756959629190 116426:116426 hsa_signal_destroy() = 0 -1822756959630670:1822756959631230 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756959631670:1822756959632200 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756959633140:1822756959633790 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756959634200:1822756959634910 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756959635310:1822756959635590 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756959636500:1822756959637030 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 -1822756959637500:1822756959638250 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce192f0) = 0 -1822756959638750:1822756959642100 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce192b0) = 0 -1822756959642610:1822756959643900 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 -1822756962169976:1822756962174526 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756962176816:1822756962178106 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756962179256:1822756962180286 116426:116430 hsa_signal_load_relaxed() = 1 -1822756959644370:1822756962182876 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756962181236:1822756962183246 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756962184816:1822756962185536 116426:116430 hsa_signal_destroy() = 0 -1822756962807550:1822756962808250 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756969307082:1822756969308242 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756969323922:1822756969324462 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756969325162:1822756969325692 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756969328232:1822756969329122 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756969339072:1822756969339772 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756969340592:1822756969341512 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756969928986:1822756969929606 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756969931166:1822756969931706 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 -1822756969932566:1822756969935206 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce19350) = 0 -1822756969935916:1822756969941696 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce19310) = 0 -1822756969942536:1822756969945576 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 -1822756971604346:1822756971608886 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756971611386:1822756971612506 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756971613466:1822756971614337 116426:116430 hsa_signal_load_relaxed() = 1 -1822756969946216:1822756971616797 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756971615437:1822756971617367 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756971618097:1822756971618777 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756971618907:1822756971619727 116426:116430 hsa_signal_destroy() = 0 -1822756971621247:1822756971621857 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756971640987:1822756971641797 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756971646057:1822756971646667 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 -1822756971652267:1822756971653117 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 136 -1822756971654077:1822756971654727 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 136 -1822756971655707:1822756971656847 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 -1822756971657697:1822756971658127 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756971659347:1822756971660177 116426:116426 hsa_signal_store_relaxed(, 136) = void -1822756971662907:1822756971663517 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756971667997:1822756971668597 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756971671217:1822756971671817 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 -1822756971672967:1822756971673877 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 -1822756971674317:1822756971674637 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 137 -1822756971675077:1822756971675397 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 136 -1822756971677517:1822756971677837 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756971678277:1822756971678767 116426:116426 hsa_signal_store_relaxed(, 137) = void -1822756971680697:1822756972922175 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822756972926675:1822756972927275 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822756972930135:1822756972931295 116426:116426 hsa_signal_destroy() = 0 -1822756972933245:1822756972933685 116426:116426 hsa_signal_destroy() = 0 -1822756972934975:1822756972935525 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756972935975:1822756972936505 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756972937245:1822756972937995 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756972938405:1822756972938925 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756972939405:1822756972939675 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756972940565:1822756972941095 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 -1822756972941565:1822756972942315 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce193b0) = 0 -1822756972942875:1822756972946185 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce19370) = 0 -1822756972946655:1822756972947915 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 -1822756975496611:1822756975501171 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756975503531:1822756975504641 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756975505661:1822756975506691 116426:116430 hsa_signal_load_relaxed() = 1 -1822756972948365:1822756975509291 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756975507721:1822756975509731 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756975510921:1822756975511651 116426:116430 hsa_signal_destroy() = 0 -1822756976160605:1822756976161335 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756982619967:1822756982621647 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756982635447:1822756982635987 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756982636747:1822756982637287 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756982639667:1822756982640557 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756982641157:1822756982642027 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756982642697:1822756982643567 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756983219380:1822756983219740 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756983230761:1822756983231311 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 -1822756983232281:1822756983234441 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce19410) = 0 -1822756983235271:1822756983241011 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce193d0) = 0 -1822756983241811:1822756983244591 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 -1822756984867631:1822756984872261 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756984874421:1822756984875531 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756984876611:1822756984877471 116426:116430 hsa_signal_load_relaxed() = 1 -1822756983245261:1822756984879671 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756984878281:1822756984880211 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756984881281:1822756984881731 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756984882221:1822756984883051 116426:116430 hsa_signal_destroy() = 0 -1822756984884291:1822756984884901 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756984901961:1822756984902571 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756984906571:1822756984907171 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 -1822756984913061:1822756984914071 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 138 -1822756984915091:1822756984915741 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 138 -1822756984916571:1822756984917801 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 -1822756984918511:1822756984918861 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756984919861:1822756984920681 116426:116426 hsa_signal_store_relaxed(, 138) = void -1822756984922861:1822756984923471 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756984929971:1822756984930571 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756984932671:1822756984933271 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 -1822756984934191:1822756984935241 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 -1822756984935681:1822756984936001 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 139 -1822756984936441:1822756984936751 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 138 -1822756984937401:1822756984937711 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756984938161:1822756984938651 116426:116426 hsa_signal_store_relaxed(, 139) = void -1822756984940221:1822756986210309 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822756986217149:1822756986217729 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822756986220299:1822756986221589 116426:116426 hsa_signal_destroy() = 0 -1822756986223419:1822756986224089 116426:116426 hsa_signal_destroy() = 0 -1822756986225159:1822756986225709 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756986226149:1822756986226679 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756986227609:1822756986228089 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756986228499:1822756986228909 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756986229309:1822756986229589 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756986230649:1822756986231179 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 -1822756986231669:1822756986232359 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce19470) = 0 -1822756986232949:1822756986236139 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce19430) = 0 -1822756986236609:1822756986237919 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 -1822756988772475:1822756988777095 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756988779065:1822756988780165 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756988781205:1822756988782235 116426:116430 hsa_signal_load_relaxed() = 1 -1822756986238379:1822756988784675 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756988783035:1822756988785045 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756988786405:1822756988787125 116426:116430 hsa_signal_destroy() = 0 -1822756989412409:1822756989413089 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756995836601:1822756995838061 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756995852291:1822756995852821 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756995853481:1822756995854021 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756995856631:1822756995857501 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756995858251:1822756995859291 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756995859851:1822756995861001 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756996473055:1822756996473445 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756996475585:1822756996476115 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 -1822756996477025:1822756996479515 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce194d0) = 0 -1822756996480545:1822756996486455 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce19490) = 0 -1822756996495095:1822756996498695 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 -1822756998123005:1822756998127575 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822756998130085:1822756998131305 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822756998132255:1822756998133125 116426:116430 hsa_signal_load_relaxed() = 1 -1822756996499265:1822756998135285 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756998133935:1822756998135865 116426:116430 hsa_signal_store_screlease(, 0) = void -1822756998136925:1822756998137775 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822756998137415:1822756998138555 116426:116430 hsa_signal_destroy() = 0 -1822756998141115:1822756998141726 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756998158916:1822756998159726 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756998163636:1822756998164236 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 -1822756998170416:1822756998171436 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 140 -1822756998172536:1822756998173016 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 140 -1822756998173966:1822756998175286 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 -1822756998175936:1822756998176366 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756998177676:1822756998178526 116426:116426 hsa_signal_store_relaxed(, 140) = void -1822756998180656:1822756998181266 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822756998185656:1822756998186256 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822756998188876:1822756998189486 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 -1822756998190466:1822756998191236 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 -1822756998191676:1822756998191996 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 141 -1822756998192436:1822756998192756 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 140 -1822756998193406:1822756998193716 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822756998194166:1822756998194646 116426:116426 hsa_signal_store_relaxed(, 141) = void -1822756998196076:1822756999441854 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822756999446874:1822756999447614 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822756999450404:1822756999451474 116426:116426 hsa_signal_destroy() = 0 -1822756999453794:1822756999454274 116426:116426 hsa_signal_destroy() = 0 -1822756999458154:1822756999458774 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822756999459284:1822756999459884 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822756999460754:1822756999461284 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756999461744:1822756999462314 116426:116426 hsa_signal_store_screlease(, 0) = void -1822756999462774:1822756999463074 116426:116426 hsa_signal_store_screlease(, 1) = void -1822756999464214:1822756999464814 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 -1822756999465324:1822756999466134 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce19530) = 0 -1822756999466724:1822756999470244 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce194f0) = 0 -1822756999470774:1822756999472034 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 -1822757002008740:1822757002013340 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822757002015430:1822757002016530 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822757002017550:1822757002018590 116426:116430 hsa_signal_load_relaxed() = 1 -1822756999472554:1822757002021050 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822757002019400:1822757002021400 116426:116430 hsa_signal_store_screlease(, 0) = void -1822757002022690:1822757002023410 116426:116430 hsa_signal_destroy() = 0 -1822757002649524:1822757002650504 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757009162276:1822757009163356 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757009177356:1822757009177896 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822757009178636:1822757009179176 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822757009181916:1822757009182836 116426:116426 hsa_signal_store_screlease(, 0) = void -1822757009183446:1822757009184756 116426:116426 hsa_signal_store_screlease(, 0) = void -1822757009185436:1822757009186606 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822757009775559:1822757009776109 116426:116426 hsa_signal_store_screlease(, 1) = void -1822757009777729:1822757009778259 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 -1822757009779439:1822757009781849 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce19590) = 0 -1822757009783049:1822757009789150 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce19550) = 0 -1822757009790310:1822757009793570 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 -1822757011479530:1822757011484090 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822757011486330:1822757011487530 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822757011494290:1822757011495190 116426:116430 hsa_signal_load_relaxed() = 1 -1822757009794140:1822757011497351 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822757011496000:1822757011497921 116426:116430 hsa_signal_store_screlease(, 0) = void -1822757011499111:1822757011499861 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822757011499461:1822757011500631 116426:116430 hsa_signal_destroy() = 0 -1822757011502801:1822757011503411 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757011519831:1822757011520641 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822757011524701:1822757011525301 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 -1822757011531171:1822757011532331 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 142 -1822757011533441:1822757011534091 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 142 -1822757011534931:1822757011536071 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 -1822757011536751:1822757011537101 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822757011538111:1822757011538971 116426:116426 hsa_signal_store_relaxed(, 142) = void -1822757011541511:1822757011542111 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822757011546181:1822757011546791 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757011548901:1822757011549511 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 -1822757011550421:1822757011551231 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 -1822757011551681:1822757011552011 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 143 -1822757011552451:1822757011552771 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 142 -1822757011553411:1822757011553721 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822757011554171:1822757011554661 116426:116426 hsa_signal_store_relaxed(, 143) = void -1822757011556231:1822757012820269 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822757012824649:1822757012825159 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822757012827859:1822757012828919 116426:116426 hsa_signal_destroy() = 0 -1822757012830269:1822757012830709 116426:116426 hsa_signal_destroy() = 0 -1822757012831769:1822757012832319 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822757012832769:1822757012833309 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822757012834089:1822757012834559 116426:116426 hsa_signal_store_screlease(, 0) = void -1822757012844609:1822757012845029 116426:116426 hsa_signal_store_screlease(, 0) = void -1822757012845459:1822757012845729 116426:116426 hsa_signal_store_screlease(, 1) = void -1822757012846789:1822757012847319 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 -1822757012847759:1822757012848519 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce195f0) = 0 -1822757012849209:1822757012852699 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce195b0) = 0 -1822757012853179:1822757012854369 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 -1822757015475836:1822757015480376 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822757015482596:1822757015483786 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822757015484806:1822757015485836 116426:116430 hsa_signal_load_relaxed() = 1 -1822757012854829:1822757015488216 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822757015486636:1822757015488656 116426:116430 hsa_signal_store_screlease(, 0) = void -1822757015490286:1822757015490996 116426:116430 hsa_signal_destroy() = 0 -1822757016131020:1822757016131740 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757022592721:1822757022593981 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757022610211:1822757022610741 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822757022611531:1822757022612061 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822757022614531:1822757022615431 116426:116426 hsa_signal_store_screlease(, 0) = void -1822757022616171:1822757022616811 116426:116426 hsa_signal_store_screlease(, 0) = void -1822757022617431:1822757022618341 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822757023200495:1822757023201005 116426:116426 hsa_signal_store_screlease(, 1) = void -1822757023202555:1822757023203095 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 -1822757023204285:1822757023207055 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce19650) = 0 -1822757023207975:1822757023213865 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce19610) = 0 -1822757023214785:1822757023218095 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 -1822757024846705:1822757024851315 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822757024853515:1822757024854616 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822757024855576:1822757024856446 116426:116430 hsa_signal_load_relaxed() = 1 -1822757023218765:1822757024858866 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822757024857386:1822757024859326 116426:116430 hsa_signal_store_screlease(, 0) = void -1822757024860336:1822757024860896 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822757024864556:1822757024865296 116426:116430 hsa_signal_destroy() = 0 -1822757024866146:1822757024866766 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757024882696:1822757024883306 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822757024887376:1822757024887986 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 -1822757024893716:1822757024894646 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 144 -1822757024895666:1822757024896316 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 144 -1822757024897206:1822757024898366 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 -1822757024899076:1822757024899416 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822757024900416:1822757024901286 116426:116426 hsa_signal_store_relaxed(, 144) = void -1822757024903496:1822757024904106 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822757024908046:1822757024908656 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757024910876:1822757024911486 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 -1822757024912406:1822757024913596 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 -1822757024914036:1822757024914456 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 145 -1822757024914886:1822757024915206 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 144 -1822757024915846:1822757024916166 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822757024916606:1822757024917096 116426:116426 hsa_signal_store_relaxed(, 145) = void -1822757024918566:1822757026173414 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822757026178194:1822757026178704 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822757026181574:1822757026182634 116426:116426 hsa_signal_destroy() = 0 -1822757026184584:1822757026185254 116426:116426 hsa_signal_destroy() = 0 -1822757026186394:1822757026186944 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822757026187394:1822757026187924 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822757026188844:1822757026189324 116426:116426 hsa_signal_store_screlease(, 0) = void -1822757026189734:1822757026190144 116426:116426 hsa_signal_store_screlease(, 0) = void -1822757026190554:1822757026190824 116426:116426 hsa_signal_store_screlease(, 1) = void -1822757026191734:1822757026192264 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 -1822757026202874:1822757026203574 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce196b0) = 0 -1822757026204124:1822757026207454 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce19670) = 0 -1822757026207934:1822757026209174 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 -1822757028772240:1822757028776810 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822757028779010:1822757028780170 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822757028781190:1822757028782220 116426:116430 hsa_signal_load_relaxed() = 1 -1822757026209644:1822757028784660 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822757028783010:1822757028785030 116426:116430 hsa_signal_store_screlease(, 0) = void -1822757028786390:1822757028787120 116426:116430 hsa_signal_destroy() = 0 -1822757029415064:1822757029415754 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757035854736:1822757035856136 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757035870736:1822757035871276 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822757035872126:1822757035872656 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822757035875116:1822757035876336 116426:116426 hsa_signal_store_screlease(, 0) = void -1822757035877016:1822757035877546 116426:116426 hsa_signal_store_screlease(, 0) = void -1822757035878306:1822757035878936 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822757036493590:1822757036494060 116426:116426 hsa_signal_store_screlease(, 1) = void -1822757036495980:1822757036496510 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 -1822757036497320:1822757036499830 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce19710) = 0 -1822757036500940:1822757036507080 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce196d0) = 0 -1822757036508010:1822757036510690 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 -1822757038129380:1822757038133930 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822757038136400:1822757038137580 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822757038138730:1822757038139600 116426:116430 hsa_signal_load_relaxed() = 1 -1822757036511320:1822757038142050 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822757038140700:1822757038142830 116426:116430 hsa_signal_store_screlease(, 0) = void -1822757038143360:1822757038143890 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822757038144380:1822757038145200 116426:116430 hsa_signal_destroy() = 0 -1822757038146850:1822757038147460 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757038168590:1822757038169410 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822757038173150:1822757038173750 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 -1822757038179700:1822757038180630 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 146 -1822757038181810:1822757038182300 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 146 -1822757038183190:1822757038184660 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 -1822757038185320:1822757038185750 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822757038186910:1822757038187700 116426:116426 hsa_signal_store_relaxed(, 146) = void -1822757038189990:1822757038190600 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822757038194560:1822757038195160 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757038197310:1822757038197920 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 -1822757038198820:1822757038199580 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 -1822757038200020:1822757038200340 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 147 -1822757038200780:1822757038201090 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 146 -1822757038201730:1822757038202060 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822757038202500:1822757038202980 116426:116426 hsa_signal_store_relaxed(, 147) = void -1822757038204400:1822757039463118 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822757039468208:1822757039468778 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822757039471598:1822757039473008 116426:116426 hsa_signal_destroy() = 0 -1822757039474828:1822757039475318 116426:116426 hsa_signal_destroy() = 0 -1822757039476488:1822757039477108 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822757039477618:1822757039478218 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822757039479168:1822757039479698 116426:116426 hsa_signal_store_screlease(, 0) = void -1822757039480158:1822757039480728 116426:116426 hsa_signal_store_screlease(, 0) = void -1822757039481178:1822757039481488 116426:116426 hsa_signal_store_screlease(, 1) = void -1822757039482458:1822757039483058 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 -1822757039483558:1822757039484488 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce19770) = 0 -1822757039485078:1822757039488448 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce19730) = 0 -1822757039488978:1822757039490528 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 -1822757042050305:1822757042054855 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822757042057145:1822757042058425 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822757042059445:1822757042060475 116426:116430 hsa_signal_load_relaxed() = 1 -1822757039497788:1822757042062925 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822757042061285:1822757042063305 116426:116430 hsa_signal_store_screlease(, 0) = void -1822757042064735:1822757042065455 116426:116430 hsa_signal_destroy() = 0 -1822757042689929:1822757042690609 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757049214741:1822757049216071 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757049231671:1822757049232211 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822757049232951:1822757049233491 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822757049236371:1822757049237271 116426:116426 hsa_signal_store_screlease(, 0) = void -1822757049237881:1822757049239191 116426:116426 hsa_signal_store_screlease(, 0) = void -1822757049239771:1822757049240891 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822757049847335:1822757049847735 116426:116426 hsa_signal_store_screlease(, 1) = void -1822757049849435:1822757049849965 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 -1822757049850915:1822757049853705 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce197d0) = 0 -1822757049854765:1822757049860715 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce19790) = 0 -1822757049861475:1822757049864905 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 -1822757051497745:1822757051502285 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822757051504425:1822757051505745 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822757051506705:1822757051507575 116426:116430 hsa_signal_load_relaxed() = 1 -1822757049865475:1822757051509845 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822757051508485:1822757051510425 116426:116430 hsa_signal_store_screlease(, 0) = void -1822757051511595:1822757051512415 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822757051512065:1822757051513185 116426:116430 hsa_signal_destroy() = 0 -1822757051514975:1822757051515575 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757051532765:1822757051533385 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822757051537606:1822757051538216 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 -1822757051551676:1822757051552656 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 148 -1822757051553586:1822757051554526 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 148 -1822757051555426:1822757051556696 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 -1822757051557386:1822757051557736 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822757051558776:1822757051559636 116426:116426 hsa_signal_store_relaxed(, 148) = void -1822757051561926:1822757051562526 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822757051566556:1822757051567166 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757051569196:1822757051569806 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 -1822757051570626:1822757051571426 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 -1822757051571866:1822757051572276 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 149 -1822757051572726:1822757051573046 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 148 -1822757051573706:1822757051574016 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822757051574456:1822757051574946 116426:116426 hsa_signal_store_relaxed(, 149) = void -1822757051576256:1822757052849104 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822757052853914:1822757052854484 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822757052857034:1822757052858044 116426:116426 hsa_signal_destroy() = 0 -1822757052859764:1822757052860204 116426:116426 hsa_signal_destroy() = 0 -1822757052861234:1822757052861784 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822757052862244:1822757052862774 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822757052863714:1822757052864304 116426:116426 hsa_signal_store_screlease(, 0) = void -1822757052864714:1822757052865244 116426:116426 hsa_signal_store_screlease(, 0) = void -1822757052865654:1822757052865924 116426:116426 hsa_signal_store_screlease(, 1) = void -1822757052866814:1822757052867344 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 -1822757052867834:1822757052868584 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce19830) = 0 -1822757052869134:1822757052872614 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce197f0) = 0 -1822757052873084:1822757052874624 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 -1822757055474210:1822757055478770 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822757055481120:1822757055482330 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822757055483360:1822757055484380 116426:116430 hsa_signal_load_relaxed() = 1 -1822757052875094:1822757055490420 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822757055488820:1822757055490860 116426:116430 hsa_signal_store_screlease(, 0) = void -1822757055492690:1822757055493400 116426:116430 hsa_signal_destroy() = 0 -1822757056131544:1822757056132284 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757062620326:1822757062621836 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757062636906:1822757062637436 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822757062638136:1822757062638666 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822757062641636:1822757062642656 116426:116426 hsa_signal_store_screlease(, 0) = void -1822757062643046:1822757062643916 116426:116426 hsa_signal_store_screlease(, 0) = void -1822757062644536:1822757062645586 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822757063246500:1822757063246870 116426:116426 hsa_signal_store_screlease(, 1) = void -1822757063248870:1822757063249400 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 -1822757063250280:1822757063252550 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce19890) = 0 -1822757063253460:1822757063259480 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce19850) = 0 -1822757063260290:1822757063263430 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 -1822757064930801:1822757064935401 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822757064937811:1822757064938911 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822757064940061:1822757064940921 116426:116430 hsa_signal_load_relaxed() = 1 -1822757063263990:1822757064943251 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822757064941871:1822757064943811 116426:116430 hsa_signal_store_screlease(, 0) = void -1822757064944541:1822757064945091 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822757064945461:1822757064946281 116426:116430 hsa_signal_destroy() = 0 -1822757064947111:1822757064947721 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757064964101:1822757064964711 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822757064969061:1822757064969671 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 -1822757064975951:1822757064976871 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 150 -1822757064977951:1822757064978441 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 150 -1822757064979331:1822757064980431 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 -1822757064989271:1822757064989711 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822757064991171:1822757064992041 116426:116426 hsa_signal_store_relaxed(, 150) = void -1822757064994181:1822757064994791 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822757064998971:1822757064999571 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757065001921:1822757065002531 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 -1822757065003561:1822757065004861 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 -1822757065005311:1822757065005631 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 151 -1822757065006071:1822757065006391 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 150 -1822757065007031:1822757065007351 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822757065007791:1822757065008281 116426:116426 hsa_signal_store_relaxed(, 151) = void -1822757065009831:1822757066270739 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822757066275269:1822757066275839 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822757066278469:1822757066279479 116426:116426 hsa_signal_destroy() = 0 -1822757066281069:1822757066281749 116426:116426 hsa_signal_destroy() = 0 -1822757066283059:1822757066283619 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822757066284069:1822757066284599 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822757066285789:1822757066286259 116426:116426 hsa_signal_store_screlease(, 0) = void -1822757066286689:1822757066287099 116426:116426 hsa_signal_store_screlease(, 0) = void -1822757066287509:1822757066287779 116426:116426 hsa_signal_store_screlease(, 1) = void -1822757066288849:1822757066289389 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 -1822757066289829:1822757066290499 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce198f0) = 0 -1822757066290959:1822757066294310 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce198b0) = 0 -1822757066294780:1822757066296020 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 -1822757068825006:1822757068829606 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822757068831976:1822757068833086 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822757068834296:1822757068835326 116426:116430 hsa_signal_load_relaxed() = 1 -1822757066296490:1822757068837936 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822757068836286:1822757068838296 116426:116430 hsa_signal_store_screlease(, 0) = void -1822757068839586:1822757068840306 116426:116430 hsa_signal_destroy() = 0 -1822757069464000:1822757069464680 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757075874260:1822757075875640 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757075889930:1822757075890470 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822757075890940:1822757075891470 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822757075893640:1822757075894550 116426:116426 hsa_signal_store_screlease(, 0) = void -1822757075894940:1822757075895810 116426:116426 hsa_signal_store_screlease(, 0) = void -1822757075896340:1822757075897070 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822757076494634:1822757076495014 116426:116426 hsa_signal_store_screlease(, 1) = void -1822757076497074:1822757076497674 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 -1822757076498664:1822757076501524 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce19950) = 0 -1822757076502624:1822757076508894 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce19910) = 0 -1822757076509534:1822757076513024 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 -1822757078124475:1822757078129035 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822757078131225:1822757078132345 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822757078133305:1822757078134185 116426:116430 hsa_signal_load_relaxed() = 1 -1822757076513764:1822757078136635 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822757078135285:1822757078137235 116426:116430 hsa_signal_store_screlease(, 0) = void -1822757078138185:1822757078138805 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822757078138905:1822757078139725 116426:116430 hsa_signal_destroy() = 0 -1822757078141585:1822757078142185 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757078159035:1822757078159845 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822757078163945:1822757078164545 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 -1822757078170505:1822757078171525 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 152 -1822757078172555:1822757078173205 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 152 -1822757078174395:1822757078175665 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 -1822757078176505:1822757078176925 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822757078178055:1822757078178895 116426:116426 hsa_signal_store_relaxed(, 152) = void -1822757078181515:1822757078182125 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822757078195975:1822757078196575 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757078199695:1822757078200305 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 -1822757078201285:1822757078201955 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 -1822757078202405:1822757078202725 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 153 -1822757078203165:1822757078203495 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 152 -1822757078204125:1822757078204435 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822757078204885:1822757078205375 116426:116426 hsa_signal_store_relaxed(, 153) = void -1822757078206735:1822757079453003 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822757079457613:1822757079458513 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822757079461333:1822757079462733 116426:116426 hsa_signal_destroy() = 0 -1822757079464733:1822757079465213 116426:116426 hsa_signal_destroy() = 0 -1822757079466453:1822757079467073 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822757079467583:1822757079468193 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822757079469043:1822757079469573 116426:116426 hsa_signal_store_screlease(, 0) = void -1822757079470033:1822757079470573 116426:116426 hsa_signal_store_screlease(, 0) = void -1822757079471033:1822757079471343 116426:116426 hsa_signal_store_screlease(, 1) = void -1822757079472463:1822757079473063 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 -1822757079473563:1822757079474353 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce199b0) = 0 -1822757079474993:1822757079478503 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce19970) = 0 -1822757079479033:1822757079480353 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 -1822757082001399:1822757082005999 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822757082008289:1822757082009399 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822757082010419:1822757082011459 116426:116430 hsa_signal_load_relaxed() = 1 -1822757079480873:1822757082014189 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822757082012549:1822757082014559 116426:116430 hsa_signal_store_screlease(, 0) = void -1822757082015829:1822757082016549 116426:116430 hsa_signal_destroy() = 0 -1822757082647143:1822757082647823 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757089061924:1822757089062844 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757089077904:1822757089078444 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822757089089454:1822757089089994 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822757089093114:1822757089094164 116426:116426 hsa_signal_store_screlease(, 0) = void -1822757089094554:1822757089095424 116426:116426 hsa_signal_store_screlease(, 0) = void -1822757089096114:1822757089096904 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822757089699128:1822757089699598 116426:116426 hsa_signal_store_screlease(, 1) = void -1822757089701278:1822757089701808 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 -1822757089702668:1822757089705628 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce19a10) = 0 -1822757089706628:1822757089712098 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce199d0) = 0 -1822757089712738:1822757089716378 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 -1822757091476320:1822757091480900 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822757091483380:1822757091484480 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822757091485570:1822757091486440 116426:116430 hsa_signal_load_relaxed() = 1 -1822757089716938:1822757091488750 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822757091487400:1822757091489310 116426:116430 hsa_signal_store_screlease(, 0) = void -1822757091490010:1822757091490530 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822757091491050:1822757091491880 116426:116430 hsa_signal_destroy() = 0 -1822757091493240:1822757091493850 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757091510650:1822757091511460 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822757091515560:1822757091516160 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 -1822757091522020:1822757091523350 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 154 -1822757091524340:1822757091525130 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 154 -1822757091525990:1822757091527060 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 -1822757091527780:1822757091528200 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822757091529350:1822757091530170 116426:116426 hsa_signal_store_relaxed(, 154) = void -1822757091532400:1822757091533010 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822757091536960:1822757091537570 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757091539690:1822757091540300 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 -1822757091541190:1822757091542000 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 -1822757091545010:1822757091545330 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 155 -1822757091545780:1822757091546100 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 154 -1822757091546750:1822757091547060 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822757091547510:1822757091548000 116426:116426 hsa_signal_store_relaxed(, 155) = void -1822757091549500:1822757092812508 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822757092817178:1822757092817748 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822757092820568:1822757092821868 116426:116426 hsa_signal_destroy() = 0 -1822757092823408:1822757092823858 116426:116426 hsa_signal_destroy() = 0 -1822757092825268:1822757092825818 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822757092826268:1822757092826798 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822757092827718:1822757092828208 116426:116426 hsa_signal_store_screlease(, 0) = void -1822757092828608:1822757092829028 116426:116426 hsa_signal_store_screlease(, 0) = void -1822757092829438:1822757092829718 116426:116426 hsa_signal_store_screlease(, 1) = void -1822757092830618:1822757092831158 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 -1822757092831608:1822757092832358 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce19a70) = 0 -1822757092832868:1822757092836338 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce19a30) = 0 -1822757092836808:1822757092838218 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 -1822757095475145:1822757095479685 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822757095482025:1822757095483195 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822757095484235:1822757095485265 116426:116430 hsa_signal_load_relaxed() = 1 -1822757092838678:1822757095487805 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822757095486225:1822757095488235 116426:116430 hsa_signal_store_screlease(, 0) = void -1822757095489755:1822757095490485 116426:116430 hsa_signal_destroy() = 0 -1822757096137850:1822757096138550 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757102634221:1822757102635461 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757102650921:1822757102651451 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822757102652261:1822757102652791 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822757102655631:1822757102656521 116426:116426 hsa_signal_store_screlease(, 0) = void -1822757102667931:1822757102668621 116426:116426 hsa_signal_store_screlease(, 0) = void -1822757102669161:1822757102670081 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822757103273665:1822757103274025 116426:116426 hsa_signal_store_screlease(, 1) = void -1822757103275525:1822757103276055 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 -1822757103277035:1822757103279635 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce19ad0) = 0 -1822757103280555:1822757103286405 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce19a90) = 0 -1822757103287395:1822757103290555 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 -1822757104911985:1822757104916635 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822757104918915:1822757104920035 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822757104920995:1822757104921855 116426:116430 hsa_signal_load_relaxed() = 1 -1822757103291035:1822757104924425 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822757104922945:1822757104924875 116426:116430 hsa_signal_store_screlease(, 0) = void -1822757104925765:1822757104926645 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822757104926435:1822757104927565 116426:116430 hsa_signal_destroy() = 0 -1822757104928705:1822757104929325 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757104945725:1822757104946335 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822757104950455:1822757104951055 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 -1822757104957105:1822757104958016 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 156 -1822757104959016:1822757104959746 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 156 -1822757104960716:1822757104962016 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 -1822757104962856:1822757104963276 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822757104964326:1822757104965156 116426:116426 hsa_signal_store_relaxed(, 156) = void -1822757104967986:1822757104968596 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822757104973766:1822757104974376 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757104976966:1822757104977576 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 -1822757104978986:1822757104979926 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 -1822757104980376:1822757104980696 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 157 -1822757104981136:1822757104981466 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 156 -1822757104982116:1822757104982436 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822757104984966:1822757104985466 116426:116426 hsa_signal_store_relaxed(, 157) = void -1822757104987246:1822757106247164 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822757106251624:1822757106252274 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822757106254794:1822757106255814 116426:116426 hsa_signal_destroy() = 0 -1822757106257624:1822757106258404 116426:116426 hsa_signal_destroy() = 0 -1822757106259514:1822757106260064 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822757106260504:1822757106261034 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822757106262034:1822757106262644 116426:116426 hsa_signal_store_screlease(, 0) = void -1822757106263054:1822757106263464 116426:116426 hsa_signal_store_screlease(, 0) = void -1822757106263874:1822757106264144 116426:116426 hsa_signal_store_screlease(, 1) = void -1822757106265054:1822757106265574 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 -1822757106266024:1822757106266694 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce19b30) = 0 -1822757106267224:1822757106270554 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce19af0) = 0 -1822757106271024:1822757106272144 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 -1822757108821370:1822757108825930 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822757108828560:1822757108829680 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822757108830700:1822757108831730 116426:116430 hsa_signal_load_relaxed() = 1 -1822757106272594:1822757108834460 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822757108832820:1822757108834840 116426:116430 hsa_signal_store_screlease(, 0) = void -1822757108836040:1822757108836770 116426:116430 hsa_signal_destroy() = 0 -1822757109463364:1822757109464044 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757115892375:1822757115893645 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757115908955:1822757115909485 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822757115910285:1822757115910815 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822757115913315:1822757115914125 116426:116426 hsa_signal_store_screlease(, 0) = void -1822757115914725:1822757115915355 116426:116426 hsa_signal_store_screlease(, 0) = void -1822757115916085:1822757115916875 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822757116524389:1822757116524749 116426:116426 hsa_signal_store_screlease(, 1) = void -1822757116535789:1822757116536329 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 -1822757116537349:1822757116540109 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce19b90) = 0 -1822757116541169:1822757116547559 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce19b50) = 0 -1822757116548289:1822757116551659 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 -1822757118179550:1822757118184110 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822757118186350:1822757118187490 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822757118188580:1822757118189440 116426:116430 hsa_signal_load_relaxed() = 1 -1822757116552309:1822757118191720 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822757118190360:1822757118192300 116426:116430 hsa_signal_store_screlease(, 0) = void -1822757118193330:1822757118193830 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822757118194270:1822757118195090 116426:116430 hsa_signal_destroy() = 0 -1822757118196830:1822757118197440 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757118213940:1822757118214750 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822757118218780:1822757118219380 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 -1822757118225750:1822757118226930 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 158 -1822757118227740:1822757118228700 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 158 -1822757118229570:1822757118230880 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 -1822757118231600:1822757118231940 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822757118233050:1822757118233880 116426:116426 hsa_signal_store_relaxed(, 158) = void -1822757118236090:1822757118236700 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822757118240600:1822757118241210 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757118243480:1822757118244080 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 -1822757118245130:1822757118245880 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 -1822757118246330:1822757118246640 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 159 -1822757118247080:1822757118247400 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 158 -1822757118248030:1822757118248340 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822757118248790:1822757118249270 116426:116426 hsa_signal_store_relaxed(, 159) = void -1822757118250680:1822757119514598 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822757119519298:1822757119519918 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822757119525368:1822757119526448 116426:116426 hsa_signal_destroy() = 0 -1822757119528798:1822757119529288 116426:116426 hsa_signal_destroy() = 0 -1822757119530598:1822757119531218 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822757119531718:1822757119532318 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822757119533198:1822757119533728 116426:116426 hsa_signal_store_screlease(, 0) = void -1822757119534208:1822757119534668 116426:116426 hsa_signal_store_screlease(, 0) = void -1822757119535258:1822757119535558 116426:116426 hsa_signal_store_screlease(, 1) = void -1822757119536528:1822757119537138 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 -1822757119537638:1822757119538728 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce19bf0) = 0 -1822757119539318:1822757119542858 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce19bb0) = 0 -1822757119543398:1822757119544838 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 -1822757122089575:1822757122094135 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822757122096315:1822757122097585 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822757122098605:1822757122099635 116426:116430 hsa_signal_load_relaxed() = 1 -1822757119545378:1822757122102065 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822757122100435:1822757122102445 116426:116430 hsa_signal_store_screlease(, 0) = void -1822757122103795:1822757122104525 116426:116430 hsa_signal_destroy() = 0 -1822757122733549:1822757122734229 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757129248980:1822757129250110 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757129265250:1822757129265790 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822757129266500:1822757129267030 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822757129269430:1822757129270380 116426:116426 hsa_signal_store_screlease(, 0) = void -1822757129270770:1822757129271310 116426:116426 hsa_signal_store_screlease(, 0) = void -1822757129271930:1822757129272810 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822757129854744:1822757129855154 116426:116426 hsa_signal_store_screlease(, 1) = void -1822757129856964:1822757129857494 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 -1822757129858484:1822757129860934 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce19c50) = 0 -1822757129862244:1822757129867434 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce19c10) = 0 -1822757129876014:1822757129879264 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 -1822757131515085:1822757131519685 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822757131521945:1822757131523055 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822757131524015:1822757131524885 116426:116430 hsa_signal_load_relaxed() = 1 -1822757129879774:1822757131527045 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822757131525685:1822757131527625 116426:116430 hsa_signal_store_screlease(, 0) = void -1822757131528445:1822757131529075 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822757131529165:1822757131529995 116426:116430 hsa_signal_destroy() = 0 -1822757131532065:1822757131532675 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757131550015:1822757131550825 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822757131554585:1822757131555185 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 -1822757131561145:1822757131562195 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 160 -1822757131563135:1822757131563955 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 160 -1822757131564965:1822757131566025 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 -1822757131566795:1822757131567145 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822757131568185:1822757131568955 116426:116426 hsa_signal_store_relaxed(, 160) = void -1822757131571305:1822757131571905 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822757131576155:1822757131576765 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757131579385:1822757131579995 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 -1822757131581045:1822757131581865 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 -1822757131582305:1822757131582625 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 161 -1822757131583065:1822757131583395 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 160 -1822757131584055:1822757131584365 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822757131584805:1822757131585295 116426:116426 hsa_signal_store_relaxed(, 161) = void -1822757131586685:1822757132843883 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822757132848133:1822757132848653 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822757132851223:1822757132852523 116426:116426 hsa_signal_destroy() = 0 -1822757132853973:1822757132854423 116426:116426 hsa_signal_destroy() = 0 -1822757132855503:1822757132856053 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822757132862103:1822757132862633 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822757132863663:1822757132864153 116426:116426 hsa_signal_store_screlease(, 0) = void -1822757132864553:1822757132864973 116426:116426 hsa_signal_store_screlease(, 0) = void -1822757132865453:1822757132865723 116426:116426 hsa_signal_store_screlease(, 1) = void -1822757132866793:1822757132867323 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 -1822757132867763:1822757132868543 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce19cb0) = 0 -1822757132869123:1822757132872453 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce19c70) = 0 -1822757132872933:1822757132874153 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 -1822757135475740:1822757135480280 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822757135482570:1822757135483690 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822757135484710:1822757135485740 116426:116430 hsa_signal_load_relaxed() = 1 -1822757132874623:1822757135488120 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822757135486550:1822757135488550 116426:116430 hsa_signal_store_screlease(, 0) = void -1822757135489760:1822757135490490 116426:116430 hsa_signal_destroy() = 0 -1822757136135124:1822757136135874 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757142625635:1822757142627095 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757142642065:1822757142642605 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822757142643365:1822757142643905 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822757142646205:1822757142647085 116426:116426 hsa_signal_store_screlease(, 0) = void -1822757142647675:1822757142648205 116426:116426 hsa_signal_store_screlease(, 0) = void -1822757142648855:1822757142649935 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822757143252549:1822757143252939 116426:116426 hsa_signal_store_screlease(, 1) = void -1822757143254539:1822757143255069 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 -1822757143256249:1822757143259049 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce19d10) = 0 -1822757143260149:1822757143265829 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce19cd0) = 0 -1822757143266559:1822757143270209 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 -1822757144923010:1822757144927640 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822757144929750:1822757144930850 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822757144935810:1822757144936700 116426:116430 hsa_signal_load_relaxed() = 1 -1822757143270879:1822757144939000 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822757144937520:1822757144939460 116426:116430 hsa_signal_store_screlease(, 0) = void -1822757144940550:1822757144941350 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822757144941140:1822757144942260 116426:116430 hsa_signal_destroy() = 0 -1822757144943540:1822757144944140 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757144960430:1822757144961040 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822757144965070:1822757144965680 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 -1822757144971390:1822757144972400 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 162 -1822757144973340:1822757144973830 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 162 -1822757144974710:1822757144975950 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 -1822757144976610:1822757144977040 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822757144978060:1822757144979090 116426:116426 hsa_signal_store_relaxed(, 162) = void -1822757144981470:1822757144982080 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822757144986070:1822757144986680 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757144988670:1822757144989280 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 -1822757144990100:1822757144991050 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 -1822757144991490:1822757144991810 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 163 -1822757144992250:1822757144992570 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 162 -1822757144993210:1822757144993530 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822757144993970:1822757144994460 116426:116426 hsa_signal_store_relaxed(, 163) = void -1822757144995970:1822757146248778 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822757146253418:1822757146254038 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822757146256548:1822757146257858 116426:116426 hsa_signal_destroy() = 0 -1822757146259578:1822757146260338 116426:116426 hsa_signal_destroy() = 0 -1822757146261668:1822757146262208 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822757146262658:1822757146263188 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822757146263898:1822757146264378 116426:116426 hsa_signal_store_screlease(, 0) = void -1822757146264778:1822757146265198 116426:116426 hsa_signal_store_screlease(, 0) = void -1822757146274979:1822757146275259 116426:116426 hsa_signal_store_screlease(, 1) = void -1822757146276309:1822757146276839 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 -1822757146277289:1822757146277979 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce19d70) = 0 -1822757146278509:1822757146281879 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce19d30) = 0 -1822757146282339:1822757146283519 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 -1822757148808635:1822757148813255 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822757148815375:1822757148816475 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822757148817505:1822757148818525 116426:116430 hsa_signal_load_relaxed() = 1 -1822757146283979:1822757148820985 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822757148819335:1822757148821345 116426:116430 hsa_signal_store_screlease(, 0) = void -1822757148822635:1822757148823355 116426:116430 hsa_signal_destroy() = 0 -1822757149449519:1822757149450199 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757155994110:1822757155995440 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757156030800:1822757156031420 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822757156031960:1822757156032560 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822757156035110:1822757156036050 116426:116426 hsa_signal_store_screlease(, 0) = void -1822757156036500:1822757156037490 116426:116426 hsa_signal_store_screlease(, 0) = void -1822757156038160:1822757156039440 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822757156648964:1822757156649614 116426:116426 hsa_signal_store_screlease(, 1) = void -1822757156651404:1822757156651934 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 -1822757156652624:1822757156655294 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce19dd0) = 0 -1822757156656214:1822757156661834 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce19d90) = 0 -1822757156662414:1822757156665785 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 -1822757158289225:1822757158293715 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822757158296015:1822757158297295 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822757158298255:1822757158299115 116426:116430 hsa_signal_load_relaxed() = 1 -1822757156666295:1822757158301425 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822757158300075:1822757158302175 116426:116430 hsa_signal_store_screlease(, 0) = void -1822757158302825:1822757158303355 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822757158307505:1822757158308255 116426:116430 hsa_signal_destroy() = 0 -1822757158310395:1822757158311005 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757158327645:1822757158328255 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822757158332615:1822757158333225 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 -1822757158339095:1822757158340105 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 164 -1822757158341045:1822757158341695 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 164 -1822757158342575:1822757158343785 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 -1822757158344475:1822757158344895 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822757158346135:1822757158346955 116426:116426 hsa_signal_store_relaxed(, 164) = void -1822757158349205:1822757158349815 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822757158354145:1822757158354755 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757158357315:1822757158357915 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 -1822757158358995:1822757158359755 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 -1822757158360205:1822757158360535 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 165 -1822757158360975:1822757158361295 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 164 -1822757158361945:1822757158362265 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822757158362705:1822757158363195 116426:116426 hsa_signal_store_relaxed(, 165) = void -1822757158364615:1822757159624994 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822757159629334:1822757159629904 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822757159632554:1822757159633644 116426:116426 hsa_signal_destroy() = 0 -1822757159635134:1822757159635714 116426:116426 hsa_signal_destroy() = 0 -1822757159636784:1822757159637334 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822757159637784:1822757159638324 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822757159639194:1822757159639684 116426:116426 hsa_signal_store_screlease(, 0) = void -1822757159640184:1822757159640594 116426:116426 hsa_signal_store_screlease(, 0) = void -1822757159641004:1822757159641284 116426:116426 hsa_signal_store_screlease(, 1) = void -1822757159642344:1822757159642874 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 -1822757159649314:1822757159650074 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce19e30) = 0 -1822757159650614:1822757159653984 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce19df0) = 0 -1822757159654474:1822757159655614 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 -1822757162241380:1822757162245850 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822757162248120:1822757162249470 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822757162250490:1822757162251520 116426:116430 hsa_signal_load_relaxed() = 1 -1822757159656084:1822757162253950 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822757162252320:1822757162254340 116426:116430 hsa_signal_store_screlease(, 0) = void -1822757162255700:1822757162256420 116426:116430 hsa_signal_destroy() = 0 -1822757162884344:1822757162885024 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757169382495:1822757169383565 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757169398246:1822757169398786 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822757169399606:1822757169400136 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822757169402836:1822757169403726 116426:116426 hsa_signal_store_screlease(, 0) = void -1822757169404316:1822757169405146 116426:116426 hsa_signal_store_screlease(, 0) = void -1822757169405906:1822757169406946 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822757169990609:1822757169991019 116426:116426 hsa_signal_store_screlease(, 1) = void -1822757169992629:1822757169993159 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 -1822757169994339:1822757169997069 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce19e90) = 0 -1822757169998099:1822757170003679 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce19e50) = 0 -1822757170004619:1822757170008039 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 -1822757171674820:1822757171679360 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822757171681690:1822757171683070 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822757171684230:1822757171685090 116426:116430 hsa_signal_load_relaxed() = 1 -1822757170008669:1822757171687540 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822757171686190:1822757171688140 116426:116430 hsa_signal_store_screlease(, 0) = void -1822757171688950:1822757171689660 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822757171689780:1822757171690610 116426:116430 hsa_signal_destroy() = 0 -1822757171692380:1822757171692990 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757171716640:1822757171717440 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822757171721400:1822757171722010 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 -1822757171727760:1822757171728770 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 166 -1822757171729580:1822757171730230 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 166 -1822757171731110:1822757171732180 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 -1822757171732871:1822757171733221 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822757171734421:1822757171735451 116426:116426 hsa_signal_store_relaxed(, 166) = void -1822757171737731:1822757171738331 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822757171742311:1822757171742921 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757171744951:1822757171745551 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 -1822757171746711:1822757171747601 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 -1822757171748051:1822757171748371 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 167 -1822757171748811:1822757171749121 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 166 -1822757171749761:1822757171750081 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822757171750511:1822757171751001 116426:116426 hsa_signal_store_relaxed(, 167) = void -1822757171752541:1822757173010199 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822757173015189:1822757173015799 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822757173018769:1822757173020449 116426:116426 hsa_signal_destroy() = 0 -1822757173022519:1822757173022999 116426:116426 hsa_signal_destroy() = 0 -1822757173024419:1822757173025049 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822757173025559:1822757173026159 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822757173027169:1822757173027699 116426:116426 hsa_signal_store_screlease(, 0) = void -1822757173028159:1822757173028609 116426:116426 hsa_signal_store_screlease(, 0) = void -1822757173029079:1822757173029379 116426:116426 hsa_signal_store_screlease(, 1) = void -1822757173030369:1822757173030969 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 -1822757173031479:1822757173032289 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce19ef0) = 0 -1822757173032809:1822757173036139 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce19eb0) = 0 -1822757173036679:1822757173038019 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 -1822757175657816:1822757175662366 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822757175664626:1822757175666026 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822757175667066:1822757175668096 116426:116430 hsa_signal_load_relaxed() = 1 -1822757173041219:1822757175670476 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822757175668906:1822757175670946 116426:116430 hsa_signal_store_screlease(, 0) = void -1822757175672316:1822757175673046 116426:116430 hsa_signal_destroy() = 0 -1822757176312910:1822757176313690 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757182720761:1822757182722521 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757182736761:1822757182737291 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822757182738221:1822757182738751 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822757182741581:1822757182742311 116426:116426 hsa_signal_store_screlease(, 0) = void -1822757182742711:1822757182743571 116426:116426 hsa_signal_store_screlease(, 0) = void -1822757182744141:1822757182745351 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822757183325044:1822757183325554 116426:116426 hsa_signal_store_screlease(, 1) = void -1822757183327084:1822757183327614 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 -1822757183328584:1822757183331114 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce19f50) = 0 -1822757183332064:1822757183337894 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce19f10) = 0 -1822757183338624:1822757183341944 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 -1822757184938575:1822757184943195 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822757184945345:1822757184946455 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822757184947485:1822757184948345 116426:116430 hsa_signal_load_relaxed() = 1 -1822757183342434:1822757184950565 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822757184949185:1822757184951115 116426:116430 hsa_signal_store_screlease(, 0) = void -1822757184952355:1822757184953185 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822757184952765:1822757184953915 116426:116430 hsa_signal_destroy() = 0 -1822757184955805:1822757184956415 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757184973365:1822757184973975 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822757184977825:1822757184978425 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 -1822757184984705:1822757184985705 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 168 -1822757184996725:1822757184997385 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 168 -1822757184998475:1822757184999675 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 -1822757185000325:1822757185000755 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822757185001805:1822757185002645 116426:116426 hsa_signal_store_relaxed(, 168) = void -1822757185004885:1822757185005485 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822757185009375:1822757185009975 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757185012455:1822757185013065 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 -1822757185013995:1822757185014975 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 -1822757185015415:1822757185015725 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 169 -1822757185016165:1822757185016485 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 168 -1822757185017165:1822757185017475 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822757185017925:1822757185018415 116426:116426 hsa_signal_store_relaxed(, 169) = void -1822757185019945:1822757186290163 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822757186294853:1822757186295423 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822757186298433:1822757186299443 116426:116426 hsa_signal_destroy() = 0 -1822757186301363:1822757186302043 116426:116426 hsa_signal_destroy() = 0 -1822757186303173:1822757186303723 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822757186304173:1822757186304703 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822757186305643:1822757186306213 116426:116426 hsa_signal_store_screlease(, 0) = void -1822757186306623:1822757186307033 116426:116426 hsa_signal_store_screlease(, 0) = void -1822757186307443:1822757186307723 116426:116426 hsa_signal_store_screlease(, 1) = void -1822757186308623:1822757186309153 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 -1822757186309603:1822757186310243 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce19fb0) = 0 -1822757186310743:1822757186314243 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce19f70) = 0 -1822757186314723:1822757186315973 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 -1822757188851780:1822757188856370 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822757188858640:1822757188859740 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822757188860760:1822757188861790 116426:116430 hsa_signal_load_relaxed() = 1 -1822757186316443:1822757188867880 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822757188866220:1822757188868250 116426:116430 hsa_signal_store_screlease(, 0) = void -1822757188870050:1822757188870760 116426:116430 hsa_signal_destroy() = 0 -1822757189495264:1822757189495944 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757195932034:1822757195933124 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757195947484:1822757195948024 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822757195948634:1822757195949174 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822757195951665:1822757195952495 116426:116426 hsa_signal_store_screlease(, 0) = void -1822757195952905:1822757195953545 116426:116426 hsa_signal_store_screlease(, 0) = void -1822757195954165:1822757195954885 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822757196574248:1822757196574648 116426:116426 hsa_signal_store_screlease(, 1) = void -1822757196586429:1822757196587039 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 -1822757196587989:1822757196590599 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce1a010) = 0 -1822757196591499:1822757196597139 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce19fd0) = 0 -1822757196597979:1822757196601509 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 -1822757198232499:1822757198236989 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822757198239449:1822757198240559 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822757198241709:1822757198242569 116426:116430 hsa_signal_load_relaxed() = 1 -1822757196602159:1822757198244749 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822757198243379:1822757198245309 116426:116430 hsa_signal_store_screlease(, 0) = void -1822757198246129:1822757198247179 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822757198246959:1822757198248109 116426:116430 hsa_signal_destroy() = 0 -1822757198250709:1822757198251309 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757198269699:1822757198270309 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822757198274649:1822757198275249 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 -1822757198281689:1822757198282709 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 170 -1822757198283649:1822757198284299 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 170 -1822757198285119:1822757198286379 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 -1822757198287270:1822757198287620 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822757198290240:1822757198291170 116426:116426 hsa_signal_store_relaxed(, 170) = void -1822757198293800:1822757198294410 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822757198300790:1822757198301400 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757198303800:1822757198304410 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 -1822757198305300:1822757198306390 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 -1822757198306830:1822757198307140 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 171 -1822757198307580:1822757198307900 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 170 -1822757198308560:1822757198308870 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822757198309320:1822757198309800 116426:116426 hsa_signal_store_relaxed(, 171) = void -1822757198311270:1822757199587168 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822757199592098:1822757199592728 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822757199595628:1822757199596798 116426:116426 hsa_signal_destroy() = 0 -1822757199598438:1822757199598928 116426:116426 hsa_signal_destroy() = 0 -1822757199600248:1822757199600868 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822757199601378:1822757199601988 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822757199602858:1822757199603388 116426:116426 hsa_signal_store_screlease(, 0) = void -1822757199603848:1822757199604298 116426:116426 hsa_signal_store_screlease(, 0) = void -1822757199604758:1822757199605068 116426:116426 hsa_signal_store_screlease(, 1) = void -1822757199606188:1822757199606788 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 -1822757199607308:1822757199608128 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce1a070) = 0 -1822757199608668:1822757199612168 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce1a030) = 0 -1822757199612768:1822757199614158 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 -1822757202128484:1822757202133014 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822757202135464:1822757202136584 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822757202137804:1822757202138834 116426:116430 hsa_signal_load_relaxed() = 1 -1822757199614688:1822757202141424 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822757202139794:1822757202141804 116426:116430 hsa_signal_store_screlease(, 0) = void -1822757202143104:1822757202143814 116426:116430 hsa_signal_destroy() = 0 -1822757202770668:1822757202771348 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757209270260:1822757209271540 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757209285380:1822757209285920 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822757209286400:1822757209286930 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822757209289230:1822757209289960 116426:116426 hsa_signal_store_screlease(, 0) = void -1822757209290350:1822757209291220 116426:116426 hsa_signal_store_screlease(, 0) = void -1822757209291790:1822757209292910 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822757209874224:1822757209874564 116426:116426 hsa_signal_store_screlease(, 1) = void -1822757209876274:1822757209876804 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 -1822757209877994:1822757209880584 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce1a0d0) = 0 -1822757209881584:1822757209887394 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce1a090) = 0 -1822757209888144:1822757209891534 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 -1822757211517664:1822757211522194 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822757211524394:1822757211525604 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822757211526564:1822757211527434 116426:116430 hsa_signal_load_relaxed() = 1 -1822757209892024:1822757211529884 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822757211528534:1822757211530464 116426:116430 hsa_signal_store_screlease(, 0) = void -1822757211531444:1822757211532334 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822757211532114:1822757211533244 116426:116430 hsa_signal_destroy() = 0 -1822757211535124:1822757211535724 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757211552044:1822757211552664 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822757211556524:1822757211557124 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 -1822757211562744:1822757211563764 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 172 -1822757211564784:1822757211565434 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 172 -1822757211566484:1822757211567794 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 -1822757211568694:1822757211569124 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822757211570164:1822757211570984 116426:116426 hsa_signal_store_relaxed(, 172) = void -1822757211573344:1822757211573954 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822757211578134:1822757211578744 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757211590714:1822757211591324 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 -1822757211592244:1822757211593144 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 -1822757211593584:1822757211593994 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 173 -1822757211594444:1822757211594754 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 172 -1822757211595404:1822757211595714 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822757211596164:1822757211596654 116426:116426 hsa_signal_store_relaxed(, 173) = void -1822757211598174:1822757212865722 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822757212869912:1822757212870432 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822757212873542:1822757212874612 116426:116426 hsa_signal_destroy() = 0 -1822757212876282:1822757212876732 116426:116426 hsa_signal_destroy() = 0 -1822757212877832:1822757212878382 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822757212878832:1822757212879362 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822757212880182:1822757212880672 116426:116426 hsa_signal_store_screlease(, 0) = void -1822757212881082:1822757212881652 116426:116426 hsa_signal_store_screlease(, 0) = void -1822757212882062:1822757212882332 116426:116426 hsa_signal_store_screlease(, 1) = void -1822757212883422:1822757212883952 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 -1822757212884442:1822757212885182 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce1a130) = 0 -1822757212885642:1822757212889002 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce1a0f0) = 0 -1822757212889492:1822757212890652 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 -1822757215480689:1822757215485249 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822757215487599:1822757215488899 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822757215489919:1822757215490939 116426:116430 hsa_signal_load_relaxed() = 1 -1822757212891112:1822757215493619 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822757215492049:1822757215494059 116426:116430 hsa_signal_store_screlease(, 0) = void -1822757215495399:1822757215496119 116426:116430 hsa_signal_destroy() = 0 -1822757216142773:1822757216143493 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757222620205:1822757222621525 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757222637825:1822757222638365 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822757222650295:1822757222650835 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822757222653245:1822757222653975 116426:116426 hsa_signal_store_screlease(, 0) = void -1822757222654365:1822757222655225 116426:116426 hsa_signal_store_screlease(, 0) = void -1822757222655865:1822757222656815 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822757223253339:1822757223253739 116426:116426 hsa_signal_store_screlease(, 1) = void -1822757223255419:1822757223255949 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 -1822757223256909:1822757223259339 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce1a190) = 0 -1822757223260359:1822757223266849 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce1a150) = 0 -1822757223267769:1822757223270969 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 -1822757224891609:1822757224896179 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822757224898629:1822757224899739 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822757224900819:1822757224901689 116426:116430 hsa_signal_load_relaxed() = 1 -1822757223271549:1822757224904039 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822757224902669:1822757224904599 116426:116430 hsa_signal_store_screlease(, 0) = void -1822757224905299:1822757224905819 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822757224906279:1822757224907109 116426:116430 hsa_signal_destroy() = 0 -1822757224907979:1822757224908799 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757224926510:1822757224927120 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822757224930980:1822757224931580 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 -1822757224937730:1822757224938650 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 174 -1822757224939710:1822757224940200 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 174 -1822757224941030:1822757224942300 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 -1822757224943370:1822757224943800 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822757224944990:1822757224945820 116426:116426 hsa_signal_store_relaxed(, 174) = void -1822757224948490:1822757224949100 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822757224953450:1822757224954050 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757224956280:1822757224956890 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 -1822757224957970:1822757224958920 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 -1822757224961430:1822757224961760 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 175 -1822757224962210:1822757224962520 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 174 -1822757224963340:1822757224963660 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822757224964100:1822757224964590 116426:116426 hsa_signal_store_relaxed(, 175) = void -1822757224966150:1822757226228068 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822757226232178:1822757226232748 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822757226236018:1822757226237388 116426:116426 hsa_signal_destroy() = 0 -1822757226238968:1822757226239738 116426:116426 hsa_signal_destroy() = 0 -1822757226240918:1822757226241458 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822757226241898:1822757226242428 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822757226243218:1822757226243698 116426:116426 hsa_signal_store_screlease(, 0) = void -1822757226244108:1822757226244518 116426:116426 hsa_signal_store_screlease(, 0) = void -1822757226244928:1822757226245198 116426:116426 hsa_signal_store_screlease(, 1) = void -1822757226246248:1822757226246778 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 -1822757226247218:1822757226247908 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce1a1f0) = 0 -1822757226248478:1822757226251878 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce1a1b0) = 0 -1822757226252338:1822757226253518 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 -1822757228790444:1822757228795014 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822757228797464:1822757228798684 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822757228799824:1822757228800854 116426:116430 hsa_signal_load_relaxed() = 1 -1822757226253978:1822757228803464 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822757228801824:1822757228803834 116426:116430 hsa_signal_store_screlease(, 0) = void -1822757228805264:1822757228805984 116426:116430 hsa_signal_destroy() = 0 -1822757229429178:1822757229429858 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757235881799:1822757235883419 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757235897589:1822757235898129 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822757235898769:1822757235899299 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822757235901759:1822757235902639 116426:116426 hsa_signal_store_screlease(, 0) = void -1822757235903029:1822757235903899 116426:116426 hsa_signal_store_screlease(, 0) = void -1822757235914539:1822757235915739 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822757236523443:1822757236523753 116426:116426 hsa_signal_store_screlease(, 1) = void -1822757236525383:1822757236525913 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 -1822757236526873:1822757236529253 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce1a250) = 0 -1822757236530333:1822757236536433 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce1a210) = 0 -1822757236537003:1822757236540454 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 -1822757238166624:1822757238171184 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822757238173564:1822757238174724 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822757238175684:1822757238176544 116426:116430 hsa_signal_load_relaxed() = 1 -1822757236541064:1822757238178984 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822757238177624:1822757238179564 116426:116430 hsa_signal_store_screlease(, 0) = void -1822757238180724:1822757238181484 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822757238181104:1822757238182234 116426:116430 hsa_signal_destroy() = 0 -1822757238184534:1822757238185144 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757238201624:1822757238202234 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822757238206424:1822757238207034 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 -1822757238212964:1822757238213994 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 176 -1822757238214794:1822757238215454 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 176 -1822757238216344:1822757238217624 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 -1822757238218324:1822757238218754 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822757238219824:1822757238220824 116426:116426 hsa_signal_store_relaxed(, 176) = void -1822757238223164:1822757238223774 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822757238228644:1822757238229244 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757238231494:1822757238232104 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 -1822757238232934:1822757238233804 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 -1822757238234244:1822757238234564 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 177 -1822757238235004:1822757238235324 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 176 -1822757238235974:1822757238236284 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822757238242244:1822757238242744 116426:116426 hsa_signal_store_relaxed(, 177) = void -1822757238244494:1822757239512763 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822757239517433:1822757239517993 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822757239520733:1822757239521823 116426:116426 hsa_signal_destroy() = 0 -1822757239523633:1822757239524113 116426:116426 hsa_signal_destroy() = 0 -1822757239525363:1822757239525983 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822757239526493:1822757239527093 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822757239528033:1822757239528553 116426:116426 hsa_signal_store_screlease(, 0) = void -1822757239529013:1822757239529623 116426:116426 hsa_signal_store_screlease(, 0) = void -1822757239530403:1822757239530713 116426:116426 hsa_signal_store_screlease(, 1) = void -1822757239531693:1822757239532293 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 -1822757239532803:1822757239533623 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce1a2b0) = 0 -1822757239534263:1822757239537783 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce1a270) = 0 -1822757239538313:1822757239539553 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 -1822757242045168:1822757242049718 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822757242052239:1822757242053349 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822757242054379:1822757242055409 116426:116430 hsa_signal_load_relaxed() = 1 -1822757239540073:1822757242058119 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822757242056499:1822757242058549 116426:116430 hsa_signal_store_screlease(, 0) = void -1822757242059749:1822757242060479 116426:116430 hsa_signal_destroy() = 0 -1822757242683672:1822757242684342 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757249236054:1822757249236864 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757249251974:1822757249252514 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822757249253274:1822757249253814 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822757249256504:1822757249257384 116426:116426 hsa_signal_store_screlease(, 0) = void -1822757249258044:1822757249258914 116426:116426 hsa_signal_store_screlease(, 0) = void -1822757249259574:1822757249260384 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822757249862138:1822757249862558 116426:116426 hsa_signal_store_screlease(, 1) = void -1822757249864028:1822757249864568 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 -1822757249872578:1822757249875018 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce1a310) = 0 -1822757249875938:1822757249881718 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce1a2d0) = 0 -1822757249882878:1822757249886098 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 -1822757251523049:1822757251527609 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822757251529839:1822757251531079 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822757251532039:1822757251532899 116426:116430 hsa_signal_load_relaxed() = 1 -1822757249886678:1822757251535059 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822757251533699:1822757251535639 116426:116430 hsa_signal_store_screlease(, 0) = void -1822757251536579:1822757251537079 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822757251537519:1822757251538349 116426:116430 hsa_signal_destroy() = 0 -1822757251539719:1822757251540329 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757251557419:1822757251558029 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822757251562359:1822757251562959 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 -1822757251569089:1822757251570259 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 178 -1822757251571409:1822757251572059 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 178 -1822757251572939:1822757251573999 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 -1822757251574719:1822757251575069 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822757251576059:1822757251576869 116426:116426 hsa_signal_store_relaxed(, 178) = void -1822757251579119:1822757251579729 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822757251583989:1822757251584599 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757251587069:1822757251587669 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 -1822757251588649:1822757251589389 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 -1822757251589829:1822757251590149 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 179 -1822757251590589:1822757251590909 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 178 -1822757251591759:1822757251592069 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822757251592519:1822757251592999 116426:116426 hsa_signal_store_relaxed(, 179) = void -1822757251594479:1822757252857798 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822757252862678:1822757252863448 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822757252868188:1822757252869248 116426:116426 hsa_signal_destroy() = 0 -1822757252871038:1822757252871568 116426:116426 hsa_signal_destroy() = 0 -1822757252872658:1822757252873208 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822757252873668:1822757252874198 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822757252874798:1822757252875278 116426:116426 hsa_signal_store_screlease(, 0) = void -1822757252875688:1822757252876218 116426:116426 hsa_signal_store_screlease(, 0) = void -1822757252876748:1822757252877028 116426:116426 hsa_signal_store_screlease(, 1) = void -1822757252877918:1822757252878458 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 -1822757252878898:1822757252879648 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce1a370) = 0 -1822757252880168:1822757252883488 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce1a330) = 0 -1822757252883958:1822757252885328 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 -1822757255477504:1822757255482034 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822757255484244:1822757255485644 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822757255486694:1822757255487714 116426:116430 hsa_signal_load_relaxed() = 1 -1822757252885798:1822757255490094 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822757255488524:1822757255490524 116426:116430 hsa_signal_store_screlease(, 0) = void -1822757255492164:1822757255492884 116426:116430 hsa_signal_destroy() = 0 -1822757256131558:1822757256132258 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757262626950:1822757262628290 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757262643370:1822757262643910 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822757262644620:1822757262645150 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822757262648050:1822757262648950 116426:116426 hsa_signal_store_screlease(, 0) = void -1822757262649700:1822757262650570 116426:116426 hsa_signal_store_screlease(, 0) = void -1822757262651220:1822757262652090 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822757263251154:1822757263251644 116426:116426 hsa_signal_store_screlease(, 1) = void -1822757263253264:1822757263253794 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 -1822757263254874:1822757263257404 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce1a3d0) = 0 -1822757263258324:1822757263263964 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce1a390) = 0 -1822757263264774:1822757263268334 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 -1822757264894394:1822757264898954 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822757264901244:1822757264902354 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822757264903314:1822757264904194 116426:116430 hsa_signal_load_relaxed() = 1 -1822757263275434:1822757264906474 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822757264904994:1822757264906924 116426:116430 hsa_signal_store_screlease(, 0) = void -1822757264907874:1822757264908714 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822757264908484:1822757264909604 116426:116430 hsa_signal_destroy() = 0 -1822757264911224:1822757264911834 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757264929084:1822757264929694 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822757264934264:1822757264934864 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 -1822757264941064:1822757264942044 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 180 -1822757264943124:1822757264943614 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 180 -1822757264944644:1822757264945814 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 -1822757264946664:1822757264947084 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822757264948274:1822757264949184 116426:116426 hsa_signal_store_relaxed(, 180) = void -1822757264951704:1822757264952314 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822757264956494:1822757264957104 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757264959514:1822757264960124 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 -1822757264961094:1822757264962044 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 -1822757264962484:1822757264962804 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 181 -1822757264963244:1822757264963554 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 180 -1822757264964214:1822757264964524 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822757264964974:1822757264965464 116426:116426 hsa_signal_store_relaxed(, 181) = void -1822757264967185:1822757266215062 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822757266219422:1822757266219942 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822757266222862:1822757266224042 116426:116426 hsa_signal_destroy() = 0 -1822757266225782:1822757266226552 116426:116426 hsa_signal_destroy() = 0 -1822757266227722:1822757266228272 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822757266230862:1822757266231402 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822757266232102:1822757266232862 116426:116426 hsa_signal_store_screlease(, 0) = void -1822757266233272:1822757266233832 116426:116426 hsa_signal_store_screlease(, 0) = void -1822757266234242:1822757266234512 116426:116426 hsa_signal_store_screlease(, 1) = void -1822757266235402:1822757266235932 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 -1822757266236382:1822757266237072 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce1a430) = 0 -1822757266237652:1822757266241022 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce1a3f0) = 0 -1822757266241492:1822757266242742 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 -1822757268778378:1822757268782958 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822757268785048:1822757268786148 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822757268787168:1822757268788198 116426:116430 hsa_signal_load_relaxed() = 1 -1822757266243202:1822757268790648 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822757268789008:1822757268791008 116426:116430 hsa_signal_store_screlease(, 0) = void -1822757268792218:1822757268792938 116426:116430 hsa_signal_destroy() = 0 -1822757269420073:1822757269420753 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757275856114:1822757275857514 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757275871514:1822757275872044 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822757275873054:1822757275873584 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822757275876114:1822757275877004 116426:116426 hsa_signal_store_screlease(, 0) = void -1822757275877604:1822757275878054 116426:116426 hsa_signal_store_screlease(, 0) = void -1822757275878714:1822757275879404 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822757276490498:1822757276491138 116426:116426 hsa_signal_store_screlease(, 1) = void -1822757276492988:1822757276493518 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 -1822757276494598:1822757276497078 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce1a490) = 0 -1822757276498268:1822757276504438 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce1a450) = 0 -1822757276505178:1822757276508798 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 -1822757278129888:1822757278134458 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822757278136708:1822757278137928 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822757278139018:1822757278139878 116426:116430 hsa_signal_load_relaxed() = 1 -1822757276509378:1822757278145798 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822757278144428:1822757278146378 116426:116430 hsa_signal_store_screlease(, 0) = void -1822757278147358:1822757278147808 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822757278148408:1822757278149118 116426:116430 hsa_signal_destroy() = 0 -1822757278150528:1822757278151428 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757278176568:1822757278177178 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822757278181008:1822757278181618 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 -1822757278187228:1822757278188248 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 182 -1822757278189048:1822757278189698 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 182 -1822757278190588:1822757278191948 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 -1822757278192698:1822757278193118 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822757278194288:1822757278195048 116426:116426 hsa_signal_store_relaxed(, 182) = void -1822757278197318:1822757278197928 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822757278201948:1822757278202548 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757278205649:1822757278206259 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 -1822757278207379:1822757278208039 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 -1822757278208479:1822757278208799 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 183 -1822757278209239:1822757278209569 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 182 -1822757278210209:1822757278210519 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822757278210959:1822757278211449 116426:116426 hsa_signal_store_relaxed(, 183) = void -1822757278213129:1822757279471656 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822757279476836:1822757279477576 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822757279480266:1822757279481406 116426:116426 hsa_signal_destroy() = 0 -1822757279483006:1822757279483486 116426:116426 hsa_signal_destroy() = 0 -1822757279484716:1822757279485336 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822757279485846:1822757279486456 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822757279487296:1822757279487826 116426:116426 hsa_signal_store_screlease(, 0) = void -1822757279488286:1822757279488866 116426:116426 hsa_signal_store_screlease(, 0) = void -1822757279492557:1822757279492867 116426:116426 hsa_signal_store_screlease(, 1) = void -1822757279494007:1822757279494617 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 -1822757279495137:1822757279495977 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce1a4f0) = 0 -1822757279496567:1822757279500087 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce1a4b0) = 0 -1822757279500617:1822757279501937 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 -1822757282031023:1822757282035593 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822757282037783:1822757282039103 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822757282040123:1822757282041153 116426:116430 hsa_signal_load_relaxed() = 1 -1822757279502467:1822757282043603 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822757282041963:1822757282043973 116426:116430 hsa_signal_store_screlease(, 0) = void -1822757282045323:1822757282046043 116426:116430 hsa_signal_destroy() = 0 -1822757282672197:1822757282672877 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757289206669:1822757289207759 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757289222439:1822757289222979 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822757289223689:1822757289224229 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822757289226869:1822757289227849 116426:116426 hsa_signal_store_screlease(, 0) = void -1822757289228249:1822757289229119 116426:116426 hsa_signal_store_screlease(, 0) = void -1822757289229749:1822757289230639 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822757289810743:1822757289811383 116426:116426 hsa_signal_store_screlease(, 1) = void -1822757289813063:1822757289813593 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 -1822757289814223:1822757289816483 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce1a550) = 0 -1822757289817543:1822757289823353 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce1a510) = 0 -1822757289823943:1822757289827213 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 -1822757291478573:1822757291483133 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822757291485333:1822757291486443 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822757291487403:1822757291488263 116426:116430 hsa_signal_load_relaxed() = 1 -1822757289827703:1822757291490574 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822757291489223:1822757291491174 116426:116430 hsa_signal_store_screlease(, 0) = void -1822757291491874:1822757291492374 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822757291497114:1822757291497854 116426:116430 hsa_signal_destroy() = 0 -1822757291504884:1822757291505494 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757291521584:1822757291522244 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822757291525784:1822757291526394 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 -1822757291532734:1822757291533664 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 184 -1822757291534494:1822757291535144 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 184 -1822757291535994:1822757291537054 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 -1822757291537734:1822757291538084 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822757291539304:1822757291540124 116426:116426 hsa_signal_store_relaxed(, 184) = void -1822757291542514:1822757291543124 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822757291546844:1822757291547454 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757291549544:1822757291550144 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 -1822757291551374:1822757291552114 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 -1822757291552564:1822757291552884 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 185 -1822757291553324:1822757291553634 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 184 -1822757291554274:1822757291554604 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822757291555044:1822757291555544 116426:116426 hsa_signal_store_relaxed(, 185) = void -1822757291556994:1822757292826732 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822757292831412:1822757292832012 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822757292834962:1822757292836342 116426:116426 hsa_signal_destroy() = 0 -1822757292838152:1822757292838592 116426:116426 hsa_signal_destroy() = 0 -1822757292839702:1822757292840252 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822757292840702:1822757292841232 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822757292842152:1822757292842632 116426:116426 hsa_signal_store_screlease(, 0) = void -1822757292843192:1822757292843612 116426:116426 hsa_signal_store_screlease(, 0) = void -1822757292844162:1822757292844432 116426:116426 hsa_signal_store_screlease(, 1) = void -1822757292845482:1822757292846022 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 -1822757292846472:1822757292847222 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce1a5b0) = 0 -1822757292850582:1822757292854112 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce1a570) = 0 -1822757292854602:1822757292855722 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 -1822757295481668:1822757295486208 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822757295488448:1822757295489738 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822757295490758:1822757295491789 116426:116430 hsa_signal_load_relaxed() = 1 -1822757292856182:1822757295494169 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822757295492599:1822757295494639 116426:116430 hsa_signal_store_screlease(, 0) = void -1822757295495919:1822757295496649 116426:116430 hsa_signal_destroy() = 0 -1822757296138733:1822757296139473 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757302617784:1822757302619044 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757302634104:1822757302634634 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822757302635484:1822757302636014 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822757302638744:1822757302639454 116426:116426 hsa_signal_store_screlease(, 0) = void -1822757302640044:1822757302641074 116426:116426 hsa_signal_store_screlease(, 0) = void -1822757302641834:1822757302642744 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822757303241438:1822757303241798 116426:116426 hsa_signal_store_screlease(, 1) = void -1822757303243748:1822757303244278 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 -1822757303245438:1822757303248188 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce1a610) = 0 -1822757303249308:1822757303255188 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce1a5d0) = 0 -1822757303255998:1822757303259658 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 -1822757304936739:1822757304941369 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822757304943569:1822757304944679 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822757304945829:1822757304946699 116426:116430 hsa_signal_load_relaxed() = 1 -1822757303260218:1822757304949069 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822757304947699:1822757304949619 116426:116430 hsa_signal_store_screlease(, 0) = void -1822757304950649:1822757304951329 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822757304951459:1822757304952279 116426:116430 hsa_signal_destroy() = 0 -1822757304953759:1822757304954369 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757304979199:1822757304979809 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822757304983859:1822757304984469 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 -1822757304990459:1822757304991369 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 186 -1822757304992309:1822757304992799 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 186 -1822757304993649:1822757304994739 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 -1822757304995439:1822757304995869 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822757304996889:1822757304998049 116426:116426 hsa_signal_store_relaxed(, 186) = void -1822757305000199:1822757305000799 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822757305004729:1822757305005339 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757305008209:1822757305008819 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 -1822757305009969:1822757305010919 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 -1822757305011359:1822757305011679 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 187 -1822757305012119:1822757305012449 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 186 -1822757305013099:1822757305013419 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822757305013869:1822757305014359 116426:116426 hsa_signal_store_relaxed(, 187) = void -1822757305015889:1822757306266927 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822757306271557:1822757306272147 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822757306274717:1822757306276057 116426:116426 hsa_signal_destroy() = 0 -1822757306277917:1822757306278687 116426:116426 hsa_signal_destroy() = 0 -1822757306279997:1822757306280537 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822757306280987:1822757306281527 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822757306282567:1822757306283047 116426:116426 hsa_signal_store_screlease(, 0) = void -1822757306283457:1822757306284027 116426:116426 hsa_signal_store_screlease(, 0) = void -1822757306284567:1822757306284837 116426:116426 hsa_signal_store_screlease(, 1) = void -1822757306285757:1822757306286287 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 -1822757306286737:1822757306287387 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce1a670) = 0 -1822757306287917:1822757306291267 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce1a630) = 0 -1822757306291747:1822757306293007 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 -1822757308849993:1822757308854553 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822757308860473:1822757308861603 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822757308862654:1822757308863664 116426:116430 hsa_signal_load_relaxed() = 1 -1822757306293467:1822757308866114 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822757308864474:1822757308866474 116426:116430 hsa_signal_store_screlease(, 0) = void -1822757308867724:1822757308868454 116426:116430 hsa_signal_destroy() = 0 -1822757309493678:1822757309494348 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757315910369:1822757315911779 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757315925069:1822757315925609 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822757315926139:1822757315926669 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822757315929159:1822757315930049 116426:116426 hsa_signal_store_screlease(, 0) = void -1822757315930449:1822757315931079 116426:116426 hsa_signal_store_screlease(, 0) = void -1822757315931719:1822757315932509 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822757316540903:1822757316541543 116426:116426 hsa_signal_store_screlease(, 1) = void -1822757316543133:1822757316543733 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 -1822757316544593:1822757316547103 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce1a6d0) = 0 -1822757316548213:1822757316554783 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce1a690) = 0 -1822757316555563:1822757316558513 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 -1822757318173293:1822757318177863 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822757318180093:1822757318181353 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822757318182313:1822757318183183 116426:116430 hsa_signal_load_relaxed() = 1 -1822757316559123:1822757318185483 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822757318184133:1822757318186063 116426:116430 hsa_signal_store_screlease(, 0) = void -1822757318186983:1822757318187923 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822757318187713:1822757318188853 116426:116430 hsa_signal_destroy() = 0 -1822757318190793:1822757318191403 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757318208504:1822757318209114 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822757318213624:1822757318214224 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 -1822757318220304:1822757318221344 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 188 -1822757318232554:1822757318233224 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 188 -1822757318234054:1822757318235404 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 -1822757318236114:1822757318236464 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822757318238054:1822757318238904 116426:116426 hsa_signal_store_relaxed(, 188) = void -1822757318241274:1822757318241884 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822757318246684:1822757318247294 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757318249754:1822757318250354 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 -1822757318251394:1822757318252144 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 -1822757318252584:1822757318252904 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 189 -1822757318253344:1822757318253654 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 188 -1822757318254304:1822757318254614 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822757318255064:1822757318255544 116426:116426 hsa_signal_store_relaxed(, 189) = void -1822757318257084:1822757319522222 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822757319527102:1822757319527722 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822757319530472:1822757319531862 116426:116426 hsa_signal_destroy() = 0 -1822757319534182:1822757319534652 116426:116426 hsa_signal_destroy() = 0 -1822757319536012:1822757319536632 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822757319537142:1822757319537742 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822757319538632:1822757319539162 116426:116426 hsa_signal_store_screlease(, 0) = void -1822757319539622:1822757319540312 116426:116426 hsa_signal_store_screlease(, 0) = void -1822757319540782:1822757319541082 116426:116426 hsa_signal_store_screlease(, 1) = void -1822757319542062:1822757319542662 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 -1822757319543172:1822757319543982 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce1a730) = 0 -1822757319544542:1822757319548052 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce1a6f0) = 0 -1822757319548592:1822757319549912 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 -1822757322088768:1822757322093338 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822757322095608:1822757322096718 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822757322097748:1822757322098778 116426:116430 hsa_signal_load_relaxed() = 1 -1822757319550432:1822757322101348 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822757322099728:1822757322101738 116426:116430 hsa_signal_store_screlease(, 0) = void -1822757322107598:1822757322108328 116426:116430 hsa_signal_destroy() = 0 -1822757322732492:1822757322733172 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757329255954:1822757329257034 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757329271764:1822757329272294 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822757329272904:1822757329273434 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822757329275964:1822757329276974 116426:116426 hsa_signal_store_screlease(, 0) = void -1822757329277724:1822757329278584 116426:116426 hsa_signal_store_screlease(, 0) = void -1822757329279314:1822757329280044 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822757329858008:1822757329858518 116426:116426 hsa_signal_store_screlease(, 1) = void -1822757329859898:1822757329860438 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 -1822757329861448:1822757329864088 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce1a790) = 0 -1822757329865108:1822757329870938 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce1a750) = 0 -1822757329871678:1822757329874868 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 -1822757331507908:1822757331512498 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822757331514828:1822757331515928 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822757331517088:1822757331517948 116426:116430 hsa_signal_load_relaxed() = 1 -1822757329875538:1822757331520408 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822757331519048:1822757331520988 116426:116430 hsa_signal_store_screlease(, 0) = void -1822757331521678:1822757331522508 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822757331522638:1822757331523468 116426:116430 hsa_signal_destroy() = 0 -1822757331525608:1822757331526218 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757331542858:1822757331543468 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822757331547888:1822757331548498 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 -1822757331554208:1822757331555239 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 190 -1822757331556179:1822757331556829 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 190 -1822757331557659:1822757331559169 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 -1822757331560099:1822757331560529 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822757331569319:1822757331570179 116426:116426 hsa_signal_store_relaxed(, 190) = void -1822757331572789:1822757331573399 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822757331577469:1822757331578069 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757331580299:1822757331580899 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 -1822757331582279:1822757331583019 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 -1822757331583459:1822757331583779 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 191 -1822757331584229:1822757331584549 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 190 -1822757331585199:1822757331585519 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822757331585959:1822757331586449 116426:116426 hsa_signal_store_relaxed(, 191) = void -1822757331588069:1822757332848177 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822757332852597:1822757332853167 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822757332855807:1822757332856847 116426:116426 hsa_signal_destroy() = 0 -1822757332858777:1822757332859217 116426:116426 hsa_signal_destroy() = 0 -1822757332860267:1822757332860827 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822757332861277:1822757332861807 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822757332862737:1822757332863217 116426:116426 hsa_signal_store_screlease(, 0) = void -1822757332863627:1822757332864047 116426:116426 hsa_signal_store_screlease(, 0) = void -1822757332864457:1822757332864727 116426:116426 hsa_signal_store_screlease(, 1) = void -1822757332865627:1822757332866167 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 -1822757332866617:1822757332867367 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce1a7f0) = 0 -1822757332867947:1822757332871417 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce1a7b0) = 0 -1822757332871887:1822757332873287 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 -1822757335480664:1822757335485224 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822757335487614:1822757335488724 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822757335489934:1822757335490964 116426:116430 hsa_signal_load_relaxed() = 1 -1822757332873757:1822757335493564 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822757335491994:1822757335494004 116426:116430 hsa_signal_store_screlease(, 0) = void -1822757335495294:1822757335496014 116426:116430 hsa_signal_destroy() = 0 -1822757336145698:1822757336146428 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757342637789:1822757342639019 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757342655129:1822757342655659 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822757342656439:1822757342656969 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822757342659529:1822757342660389 116426:116426 hsa_signal_store_screlease(, 0) = void -1822757342660789:1822757342661649 116426:116426 hsa_signal_store_screlease(, 0) = void -1822757342662299:1822757342663339 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822757343261463:1822757343261983 116426:116426 hsa_signal_store_screlease(, 1) = void -1822757343263593:1822757343264123 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 -1822757343265303:1822757343267893 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce1a850) = 0 -1822757343268883:1822757343274783 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce1a810) = 0 -1822757343275523:1822757343278873 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 -1822757344898793:1822757344903393 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822757344905563:1822757344906673 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822757344907633:1822757344908503 116426:116430 hsa_signal_load_relaxed() = 1 -1822757343279423:1822757344911014 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822757344909603:1822757344911544 116426:116430 hsa_signal_store_screlease(, 0) = void -1822757344912684:1822757344913544 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822757344913184:1822757344914324 116426:116430 hsa_signal_destroy() = 0 -1822757344916204:1822757344916814 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757344941584:1822757344942194 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822757344945984:1822757344946594 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 -1822757344953114:1822757344954044 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 192 -1822757344955194:1822757344955684 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 192 -1822757344956914:1822757344958034 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 -1822757344958924:1822757344959354 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822757344960404:1822757344961274 116426:116426 hsa_signal_store_relaxed(, 192) = void -1822757344963794:1822757344964404 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822757344968914:1822757344969524 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757344977164:1822757344977764 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 -1822757344978774:1822757344979704 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 -1822757344980154:1822757344980474 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 193 -1822757344980914:1822757344981234 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 192 -1822757344981874:1822757344982194 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822757344982634:1822757344983124 116426:116426 hsa_signal_store_relaxed(, 193) = void -1822757344984834:1822757346243782 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822757346248222:1822757346248842 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822757346251552:1822757346252742 116426:116426 hsa_signal_destroy() = 0 -1822757346254302:1822757346255072 116426:116426 hsa_signal_destroy() = 0 -1822757346256132:1822757346256682 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822757346257132:1822757346257662 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822757346258582:1822757346259062 116426:116426 hsa_signal_store_screlease(, 0) = void -1822757346259472:1822757346259892 116426:116426 hsa_signal_store_screlease(, 0) = void -1822757346260292:1822757346260562 116426:116426 hsa_signal_store_screlease(, 1) = void -1822757346261632:1822757346262162 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 -1822757346262612:1822757346263312 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce1a8b0) = 0 -1822757346263782:1822757346267112 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce1a870) = 0 -1822757346267572:1822757346268932 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 -1822757348812938:1822757348817538 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822757348819628:1822757348820728 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822757348821768:1822757348822798 116426:116430 hsa_signal_load_relaxed() = 1 -1822757346269392:1822757348825598 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822757348823898:1822757348825908 116426:116430 hsa_signal_store_screlease(, 0) = void -1822757348827249:1822757348827969 116426:116430 hsa_signal_destroy() = 0 -1822757349451542:1822757349452232 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757355900323:1822757355901593 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757355916623:1822757355917163 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822757355928523:1822757355929053 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822757355931504:1822757355932344 116426:116426 hsa_signal_store_screlease(, 0) = void -1822757355932734:1822757355933384 116426:116426 hsa_signal_store_screlease(, 0) = void -1822757355934024:1822757355934804 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822757356546507:1822757356546827 116426:116426 hsa_signal_store_screlease(, 1) = void -1822757356548397:1822757356548937 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 -1822757356549947:1822757356552797 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce1a910) = 0 -1822757356553678:1822757356559588 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce1a8d0) = 0 -1822757356560368:1822757356563408 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 -1822757358195968:1822757358200518 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822757358202978:1822757358204088 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822757358205318:1822757358206178 116426:116430 hsa_signal_load_relaxed() = 1 -1822757356564028:1822757358208498 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822757358207148:1822757358209098 116426:116430 hsa_signal_store_screlease(, 0) = void -1822757358209608:1822757358210238 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822757358210748:1822757358211568 116426:116430 hsa_signal_destroy() = 0 -1822757358213198:1822757358213808 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757358231298:1822757358231918 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822757358236048:1822757358236658 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 -1822757358242408:1822757358243348 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 194 -1822757358244418:1822757358245228 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 194 -1822757358246168:1822757358247488 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 -1822757358248188:1822757358248538 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822757358249658:1822757358250498 116426:116426 hsa_signal_store_relaxed(, 194) = void -1822757358253118:1822757358253728 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822757358257568:1822757358258178 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757358260118:1822757358260728 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 -1822757358261788:1822757358262468 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 -1822757358262918:1822757358263238 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 195 -1822757358266099:1822757358266419 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 194 -1822757358267079:1822757358267409 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822757358267849:1822757358268339 116426:116426 hsa_signal_store_relaxed(, 195) = void -1822757358269969:1822757359531897 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822757359536257:1822757359536867 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822757359540137:1822757359541497 116426:116426 hsa_signal_destroy() = 0 -1822757359543367:1822757359543847 116426:116426 hsa_signal_destroy() = 0 -1822757359545377:1822757359546007 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822757359546517:1822757359547127 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822757359548117:1822757359548647 116426:116426 hsa_signal_store_screlease(, 0) = void -1822757359549107:1822757359549677 116426:116426 hsa_signal_store_screlease(, 0) = void -1822757359550207:1822757359550507 116426:116426 hsa_signal_store_screlease(, 1) = void -1822757359551447:1822757359552057 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 -1822757359552557:1822757359553367 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce1a970) = 0 -1822757359553957:1822757359557467 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce1a930) = 0 -1822757359557987:1822757359559427 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 -1822757362094043:1822757362098613 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822757362100993:1822757362102283 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822757362103433:1822757362104463 116426:116430 hsa_signal_load_relaxed() = 1 -1822757359559957:1822757362107053 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822757362105423:1822757362107443 116426:116430 hsa_signal_store_screlease(, 0) = void -1822757362108813:1822757362109543 116426:116430 hsa_signal_destroy() = 0 -1822757362731357:1822757362732037 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757369248468:1822757369249748 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757369264168:1822757369264708 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822757369265408:1822757369265948 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822757369268518:1822757369269408 116426:116426 hsa_signal_store_screlease(, 0) = void -1822757369269798:1822757369270698 116426:116426 hsa_signal_store_screlease(, 0) = void -1822757369280518:1822757369281558 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822757369877182:1822757369877702 116426:116426 hsa_signal_store_screlease(, 1) = void -1822757369879342:1822757369879872 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 -1822757369880962:1822757369883702 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce1a9d0) = 0 -1822757369884562:1822757369890322 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce1a990) = 0 -1822757369890882:1822757369894732 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 -1822757371531823:1822757371536363 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822757371538593:1822757371539693 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822757371540653:1822757371541523 116426:116430 hsa_signal_load_relaxed() = 1 -1822757369895292:1822757371543963 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822757371542603:1822757371544733 116426:116430 hsa_signal_store_screlease(, 0) = void -1822757371545603:1822757371546463 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822757371546253:1822757371547393 116426:116430 hsa_signal_destroy() = 0 -1822757371549163:1822757371549773 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757371565613:1822757371566213 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822757371570193:1822757371570803 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 -1822757371576813:1822757371577823 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 196 -1822757371578843:1822757371579483 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 196 -1822757371580573:1822757371581693 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 -1822757371582513:1822757371582943 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822757371584003:1822757371584823 116426:116426 hsa_signal_store_relaxed(, 196) = void -1822757371587283:1822757371587883 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822757371592523:1822757371593123 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757371595583:1822757371596183 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 -1822757371597103:1822757371597833 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 -1822757371598273:1822757371598603 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 197 -1822757371599053:1822757371599363 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 196 -1822757371600213:1822757371600533 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822757371600973:1822757371601453 116426:116426 hsa_signal_store_relaxed(, 197) = void -1822757371605263:1822757372872982 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822757372877672:1822757372878292 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822757372881312:1822757372882272 116426:116426 hsa_signal_destroy() = 0 -1822757372883712:1822757372884152 116426:116426 hsa_signal_destroy() = 0 -1822757372885252:1822757372885802 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822757372886252:1822757372886782 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822757372887712:1822757372888192 116426:116426 hsa_signal_store_screlease(, 0) = void -1822757372888602:1822757372889012 116426:116426 hsa_signal_store_screlease(, 0) = void -1822757372889482:1822757372889762 116426:116426 hsa_signal_store_screlease(, 1) = void -1822757372890812:1822757372891342 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 -1822757372891792:1822757372892542 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce1aa30) = 0 -1822757372892992:1822757372896352 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce1a9f0) = 0 -1822757372896902:1822757372898292 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 -1822757375482728:1822757375487288 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822757375489648:1822757375490758 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822757375491778:1822757375492808 116426:116430 hsa_signal_load_relaxed() = 1 -1822757372898752:1822757375495468 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822757375493898:1822757375495908 116426:116430 hsa_signal_store_screlease(, 0) = void -1822757375497098:1822757375497818 116426:116430 hsa_signal_destroy() = 0 -1822757376140183:1822757376140893 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757382599963:1822757382601173 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757382617683:1822757382618223 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822757382618993:1822757382619523 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822757382621873:1822757382622783 116426:116426 hsa_signal_store_screlease(, 0) = void -1822757382623523:1822757382624163 116426:116426 hsa_signal_store_screlease(, 0) = void -1822757382625103:1822757382626013 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822757383202677:1822757383203167 116426:116426 hsa_signal_store_screlease(, 1) = void -1822757383204717:1822757383205247 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb40) = 0 -1822757383215937:1822757383218627 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce1aa90) = 0 -1822757383219697:1822757383225767 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce1aa50) = 0 -1822757383226557:1822757383229747 116426:116426 hsa_amd_memory_async_copy(0x7f15f6e00000, , 0x7f1608a00000, , , , 0, ) = 0 -1822757384857048:1822757384861648 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822757384863708:1822757384864818 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822757384865778:1822757384866648 116426:116430 hsa_signal_load_relaxed() = 1 -1822757383230227:1822757384868828 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822757384867458:1822757384869398 116426:116430 hsa_signal_store_screlease(, 0) = void -1822757384870368:1822757384871168 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822757384871298:1822757384872118 116426:116430 hsa_signal_destroy() = 0 -1822757384873648:1822757384874258 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757384889878:1822757384890488 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822757384894548:1822757384895158 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef370) = 0 -1822757384901188:1822757384902208 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 198 -1822757384903038:1822757384903978 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 198 -1822757384904858:1822757384906098 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eefe0) = 0 -1822757384906788:1822757384907138 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822757384908218:1822757384909038 116426:116426 hsa_signal_store_relaxed(, 198) = void -1822757384911458:1822757384912058 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef380) = 0 -1822757384915888:1822757384916488 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757384918588:1822757384919198 116426:116426 hsa_system_get_info(2, 0x7fff0b6eef40) = 0 -1822757384920128:1822757384921068 116426:116426 hsa_signal_create(1, , 0, 0x7fff0b6eec20) = 0 -1822757384921518:1822757384921828 116426:116426 hsa_queue_load_write_index_relaxed(0x7f16245ba000) = 199 -1822757384922268:1822757384922598 116426:116426 hsa_queue_load_read_index_scacquire(0x7f16245ba000) = 198 -1822757384923238:1822757384923558 116426:116426 hsa_queue_store_write_index_relaxed(0x7f16245ba000, ) = void -1822757384923998:1822757384924488 116426:116426 hsa_signal_store_relaxed(, 199) = void -1822757384926388:1822757386188936 116426:116426 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822757386193466:1822757386194046 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822757386196826:1822757386197956 116426:116426 hsa_signal_destroy() = 0 -1822757386201546:1822757386202316 116426:116426 hsa_signal_destroy() = 0 -1822757386203626:1822757386204176 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef170) = 0 -1822757386204626:1822757386205156 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef1b8) = 0 -1822757386206386:1822757386206876 116426:116426 hsa_signal_store_screlease(, 0) = void -1822757386207266:1822757386207686 116426:116426 hsa_signal_store_screlease(, 0) = void -1822757386208086:1822757386208356 116426:116426 hsa_signal_store_screlease(, 1) = void -1822757386209156:1822757386209686 116426:116426 hsa_system_get_info(2, 0x7fff0b6eeb50) = 0 -1822757386210216:1822757386210896 116426:116426 hsa_signal_create(1, , 0, 0x7f160ce1aaf0) = 0 -1822757386211336:1822757386214726 116426:116426 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f160ce1aab0) = 0 -1822757386215276:1822757386216576 116426:116426 hsa_amd_memory_async_copy(0x7f15f7a00000, , 0x7f15f6800000, , , , 0, ) = 0 -1822757388780333:1822757388784893 116426:116430 hsa_amd_profiling_get_async_copy_time(, 0x7f160bc12b00) = 0 -1822757388787173:1822757388788473 116426:116430 hsa_system_get_info(2, 0x7f160bc12af8) = 0 -1822757388789493:1822757388790523 116426:116430 hsa_signal_load_relaxed() = 1 -1822757386217036:1822757388792973 116426:116426 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822757388791323:1822757388793423 116426:116430 hsa_signal_store_screlease(, 0) = void -1822757388795173:1822757388795893 116426:116430 hsa_signal_destroy() = 0 -1822757389423537:1822757389424217 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757395858398:1822757395859938 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757395878358:1822757395879568 116426:116426 hsa_signal_load_scacquire() = 0 -1822757395884448:1822757395962578 116426:116426 hsa_amd_memory_pool_free(0x7f15f6e00000) = 0 -1822757395970008:1822757395970548 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757395972978:1822757395973508 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757395974848:1822757395975158 116426:116426 hsa_signal_load_scacquire() = 0 -1822757395975938:1822757395989108 116426:116426 hsa_amd_memory_pool_free(0x7f15f6800000) = 0 -1822757395991148:1822757395991678 116426:116426 hsa_system_get_info(2, 0x7fff0b6ef520) = 0 -1822757396034509:1822757396062979 116426:116426 hsa_code_object_reader_destroy() = 0 -1822757396064039:1822757396066369 116426:116426 hsa_code_object_reader_destroy() = 0 -1822757396067069:1822757396069179 116426:116426 hsa_code_object_reader_destroy() = 0 -1822757396075699:1822757396077859 116426:116426 hsa_code_object_reader_destroy() = 0 -1822757396078649:1822757396080779 116426:116426 hsa_code_object_reader_destroy() = 0 -1822757396081639:1822757396083789 116426:116426 hsa_code_object_reader_destroy() = 0 -1822757396084679:1822757396086919 116426:116426 hsa_code_object_reader_destroy() = 0 -1822757396087729:1822757396090029 116426:116426 hsa_code_object_reader_destroy() = 0 -1822757396091039:1822757396093059 116426:116426 hsa_code_object_reader_destroy() = 0 -1822757396093849:1822757396095969 116426:116426 hsa_code_object_reader_destroy() = 0 -1822757396096779:1822757396098969 116426:116426 hsa_code_object_reader_destroy() = 0 -1822757396099899:1822757396101959 116426:116426 hsa_code_object_reader_destroy() = 0 -1822757396102559:1822757396104749 116426:116426 hsa_code_object_reader_destroy() = 0 -1822757396106099:1822757396109799 116426:116426 hsa_code_object_reader_destroy() = 0 -1822757396110529:1822757396112549 116426:116426 hsa_code_object_reader_destroy() = 0 -1822757396113299:1822757396115269 116426:116426 hsa_code_object_reader_destroy() = 0 -1822757396115989:1822757396117969 116426:116426 hsa_code_object_reader_destroy() = 0 -1822757396118779:1822757396120879 116426:116426 hsa_code_object_reader_destroy() = 0 -1822757396122039:1822757396124159 116426:116426 hsa_code_object_reader_destroy() = 0 -1822757396125049:1822757396127039 116426:116426 hsa_code_object_reader_destroy() = 0 -1822757396127869:1822757396129839 116426:116426 hsa_code_object_reader_destroy() = 0 -1822757396132839:1822757396134769 116426:116426 hsa_code_object_reader_destroy() = 0 -1822755612504922 116426:116426 0:"before hipLaunchKernel" -1822755612518422 116426:116426 1:"hipLaunchKernel" -1822756058343121 116426:116426 0:"after hipLaunchKernel" -1822756058344881 116426:116426 1:"hipMemcpy" -1822756062846249 116426:116426 2:"" -1822756062847399 116426:116426 2:"" -1822756078092167 116426:116426 0:"before hipLaunchKernel" -1822756078093897 116426:116426 1:"hipLaunchKernel" -1822756078129087 116426:116426 0:"after hipLaunchKernel" -1822756078129817 116426:116426 1:"hipMemcpy" -1822756082630395 116426:116426 2:"" -1822756082631055 116426:116426 2:"" -1822756091489962 116426:116426 0:"before hipLaunchKernel" -1822756091491332 116426:116426 1:"hipLaunchKernel" -1822756091526232 116426:116426 0:"after hipLaunchKernel" -1822756091526962 116426:116426 1:"hipMemcpy" -1822756096116881 116426:116426 2:"" -1822756096117531 116426:116426 2:"" -1822756104865537 116426:116426 0:"before hipLaunchKernel" -1822756104867127 116426:116426 1:"hipLaunchKernel" -1822756104900667 116426:116426 0:"after hipLaunchKernel" -1822756104901397 116426:116426 1:"hipMemcpy" -1822756109425196 116426:116426 2:"" -1822756109425806 116426:116426 2:"" -1822756118124761 116426:116426 0:"before hipLaunchKernel" -1822756118126151 116426:116426 1:"hipLaunchKernel" -1822756118166622 116426:116426 0:"after hipLaunchKernel" -1822756118167352 116426:116426 1:"hipMemcpy" -1822756122649280 116426:116426 2:"" -1822756122649930 116426:116426 2:"" -1822756131484817 116426:116426 0:"before hipLaunchKernel" -1822756131486227 116426:116426 1:"hipLaunchKernel" -1822756131529167 116426:116426 0:"after hipLaunchKernel" -1822756131529897 116426:116426 1:"hipMemcpy" -1822756136135006 116426:116426 2:"" -1822756136135656 116426:116426 2:"" -1822756144815882 116426:116426 0:"before hipLaunchKernel" -1822756144817182 116426:116426 1:"hipLaunchKernel" -1822756144861252 116426:116426 0:"after hipLaunchKernel" -1822756144861982 116426:116426 1:"hipMemcpy" -1822756149393800 116426:116426 2:"" -1822756149394530 116426:116426 2:"" -1822756158132406 116426:116426 0:"before hipLaunchKernel" -1822756158133746 116426:116426 1:"hipLaunchKernel" -1822756158178046 116426:116426 0:"after hipLaunchKernel" -1822756158178856 116426:116426 1:"hipMemcpy" -1822756162649315 116426:116426 2:"" -1822756162649975 116426:116426 2:"" -1822756171483522 116426:116426 0:"before hipLaunchKernel" -1822756171484822 116426:116426 1:"hipLaunchKernel" -1822756171519542 116426:116426 0:"after hipLaunchKernel" -1822756171520372 116426:116426 1:"hipMemcpy" -1822756176125701 116426:116426 2:"" -1822756176126371 116426:116426 2:"" -1822756184879007 116426:116426 0:"before hipLaunchKernel" -1822756184880357 116426:116426 1:"hipLaunchKernel" -1822756184916027 116426:116426 0:"after hipLaunchKernel" -1822756184916997 116426:116426 1:"hipMemcpy" -1822756189254694 116426:116426 2:"" -1822756189255314 116426:116426 2:"" -1822756197986070 116426:116426 0:"before hipLaunchKernel" -1822756197987470 116426:116426 1:"hipLaunchKernel" -1822756198022570 116426:116426 0:"after hipLaunchKernel" -1822756198023300 116426:116426 1:"hipMemcpy" -1822756202491429 116426:116426 2:"" -1822756202492069 116426:116426 2:"" -1822756211240645 116426:116426 0:"before hipLaunchKernel" -1822756211241825 116426:116426 1:"hipLaunchKernel" -1822756211276145 116426:116426 0:"after hipLaunchKernel" -1822756211276885 116426:116426 1:"hipMemcpy" -1822756215907144 116426:116426 2:"" -1822756215907754 116426:116426 2:"" -1822756224699780 116426:116426 0:"before hipLaunchKernel" -1822756224701180 116426:116426 1:"hipLaunchKernel" -1822756224736561 116426:116426 0:"after hipLaunchKernel" -1822756224737511 116426:116426 1:"hipMemcpy" -1822756229251309 116426:116426 2:"" -1822756229251959 116426:116426 2:"" -1822756237952695 116426:116426 0:"before hipLaunchKernel" -1822756237954265 116426:116426 1:"hipLaunchKernel" -1822756237988835 116426:116426 0:"after hipLaunchKernel" -1822756237989565 116426:116426 1:"hipMemcpy" -1822756242476883 116426:116426 2:"" -1822756242477673 116426:116426 2:"" -1822756251204259 116426:116426 0:"before hipLaunchKernel" -1822756251205619 116426:116426 1:"hipLaunchKernel" -1822756251240419 116426:116426 0:"after hipLaunchKernel" -1822756251241209 116426:116426 1:"hipMemcpy" -1822756255700578 116426:116426 2:"" -1822756255701198 116426:116426 2:"" -1822756264552224 116426:116426 0:"before hipLaunchKernel" -1822756264553414 116426:116426 1:"hipLaunchKernel" -1822756264601364 116426:116426 0:"after hipLaunchKernel" -1822756264602084 116426:116426 1:"hipMemcpy" -1822756269113463 116426:116426 2:"" -1822756269114113 116426:116426 2:"" -1822756277899089 116426:116426 0:"before hipLaunchKernel" -1822756277900279 116426:116426 1:"hipLaunchKernel" -1822756277946099 116426:116426 0:"after hipLaunchKernel" -1822756277946819 116426:116426 1:"hipMemcpy" -1822756282415998 116426:116426 2:"" -1822756282416648 116426:116426 2:"" -1822756291124983 116426:116426 0:"before hipLaunchKernel" -1822756291138453 116426:116426 1:"hipLaunchKernel" -1822756291177573 116426:116426 0:"after hipLaunchKernel" -1822756291178403 116426:116426 1:"hipMemcpy" -1822756295646242 116426:116426 2:"" -1822756295646892 116426:116426 2:"" -1822756304481768 116426:116426 0:"before hipLaunchKernel" -1822756304483338 116426:116426 1:"hipLaunchKernel" -1822756304517688 116426:116426 0:"after hipLaunchKernel" -1822756304518828 116426:116426 1:"hipMemcpy" -1822756309108978 116426:116426 2:"" -1822756309109758 116426:116426 2:"" -1822756317876883 116426:116426 0:"before hipLaunchKernel" -1822756317878393 116426:116426 1:"hipLaunchKernel" -1822756317913424 116426:116426 0:"after hipLaunchKernel" -1822756317914204 116426:116426 1:"hipMemcpy" -1822756322440023 116426:116426 2:"" -1822756322440783 116426:116426 2:"" -1822756331219758 116426:116426 0:"before hipLaunchKernel" -1822756331220978 116426:116426 1:"hipLaunchKernel" -1822756331255308 116426:116426 0:"after hipLaunchKernel" -1822756331256048 116426:116426 1:"hipMemcpy" -1822756335756447 116426:116426 2:"" -1822756335757077 116426:116426 2:"" -1822756344862575 116426:116426 0:"before hipLaunchKernel" -1822756344863825 116426:116426 1:"hipLaunchKernel" -1822756344897715 116426:116426 0:"after hipLaunchKernel" -1822756344898885 116426:116426 1:"hipMemcpy" -1822756349402724 116426:116426 2:"" -1822756349403304 116426:116426 2:"" -1822756358152990 116426:116426 0:"before hipLaunchKernel" -1822756358154280 116426:116426 1:"hipLaunchKernel" -1822756358188970 116426:116426 0:"after hipLaunchKernel" -1822756358189700 116426:116426 1:"hipMemcpy" -1822756362650089 116426:116426 2:"" -1822756362651039 116426:116426 2:"" -1822756371498485 116426:116426 0:"before hipLaunchKernel" -1822756371499805 116426:116426 1:"hipLaunchKernel" -1822756371532205 116426:116426 0:"after hipLaunchKernel" -1822756371532925 116426:116426 1:"hipMemcpy" -1822756376134534 116426:116426 2:"" -1822756376135194 116426:116426 2:"" -1822756384884370 116426:116426 0:"before hipLaunchKernel" -1822756384885770 116426:116426 1:"hipLaunchKernel" -1822756384918820 116426:116426 0:"after hipLaunchKernel" -1822756384919670 116426:116426 1:"hipMemcpy" -1822756389418009 116426:116426 2:"" -1822756389418809 116426:116426 2:"" -1822756398165185 116426:116426 0:"before hipLaunchKernel" -1822756398166525 116426:116426 1:"hipLaunchKernel" -1822756398214915 116426:116426 0:"after hipLaunchKernel" -1822756398215665 116426:116426 1:"hipMemcpy" -1822756402686193 116426:116426 2:"" -1822756402686833 116426:116426 2:"" -1822756411496550 116426:116426 0:"before hipLaunchKernel" -1822756411497880 116426:116426 1:"hipLaunchKernel" -1822756411534270 116426:116426 0:"after hipLaunchKernel" -1822756411535260 116426:116426 1:"hipMemcpy" -1822756416123469 116426:116426 2:"" -1822756416124369 116426:116426 2:"" -1822756424907335 116426:116426 0:"before hipLaunchKernel" -1822756424908835 116426:116426 1:"hipLaunchKernel" -1822756424943795 116426:116426 0:"after hipLaunchKernel" -1822756424944455 116426:116426 1:"hipMemcpy" -1822756429407003 116426:116426 2:"" -1822756429407643 116426:116426 2:"" -1822756438096819 116426:116426 0:"before hipLaunchKernel" -1822756438098159 116426:116426 1:"hipLaunchKernel" -1822756438132389 116426:116426 0:"after hipLaunchKernel" -1822756438133119 116426:116426 1:"hipMemcpy" -1822756442605968 116426:116426 2:"" -1822756442606618 116426:116426 2:"" -1822756451484834 116426:116426 0:"before hipLaunchKernel" -1822756451486074 116426:116426 1:"hipLaunchKernel" -1822756451520005 116426:116426 0:"after hipLaunchKernel" -1822756451520725 116426:116426 1:"hipMemcpy" -1822756456119723 116426:116426 2:"" -1822756456120523 116426:116426 2:"" -1822756464939870 116426:116426 0:"before hipLaunchKernel" -1822756464941270 116426:116426 1:"hipLaunchKernel" -1822756464975270 116426:116426 0:"after hipLaunchKernel" -1822756464976330 116426:116426 1:"hipMemcpy" -1822756469483059 116426:116426 2:"" -1822756469483709 116426:116426 2:"" -1822756478219395 116426:116426 0:"before hipLaunchKernel" -1822756478220755 116426:116426 1:"hipLaunchKernel" -1822756478257935 116426:116426 0:"after hipLaunchKernel" -1822756478258725 116426:116426 1:"hipMemcpy" -1822756482719023 116426:116426 2:"" -1822756482719673 116426:116426 2:"" -1822756491500699 116426:116426 0:"before hipLaunchKernel" -1822756491502269 116426:116426 1:"hipLaunchKernel" -1822756491536759 116426:116426 0:"after hipLaunchKernel" -1822756491537409 116426:116426 1:"hipMemcpy" -1822756496134239 116426:116426 2:"" -1822756496134889 116426:116426 2:"" -1822756504964625 116426:116426 0:"before hipLaunchKernel" -1822756504965905 116426:116426 1:"hipLaunchKernel" -1822756504998115 116426:116426 0:"after hipLaunchKernel" -1822756504998835 116426:116426 1:"hipMemcpy" -1822756509487864 116426:116426 2:"" -1822756509488564 116426:116426 2:"" -1822756518231189 116426:116426 0:"before hipLaunchKernel" -1822756518240539 116426:116426 1:"hipLaunchKernel" -1822756518276700 116426:116426 0:"after hipLaunchKernel" -1822756518277520 116426:116426 1:"hipMemcpy" -1822756522776738 116426:116426 2:"" -1822756522777388 116426:116426 2:"" -1822756531627555 116426:116426 0:"before hipLaunchKernel" -1822756531629185 116426:116426 1:"hipLaunchKernel" -1822756531673005 116426:116426 0:"after hipLaunchKernel" -1822756531673915 116426:116426 1:"hipMemcpy" -1822756536173354 116426:116426 2:"" -1822756536174014 116426:116426 2:"" -1822756544887719 116426:116426 0:"before hipLaunchKernel" -1822756544889119 116426:116426 1:"hipLaunchKernel" -1822756544931329 116426:116426 0:"after hipLaunchKernel" -1822756544931989 116426:116426 1:"hipMemcpy" -1822756549408288 116426:116426 2:"" -1822756549408938 116426:116426 2:"" -1822756558156873 116426:116426 0:"before hipLaunchKernel" -1822756558158203 116426:116426 1:"hipLaunchKernel" -1822756558193874 116426:116426 0:"after hipLaunchKernel" -1822756558194754 116426:116426 1:"hipMemcpy" -1822756562637952 116426:116426 2:"" -1822756562638602 116426:116426 2:"" -1822756571491038 116426:116426 0:"before hipLaunchKernel" -1822756571492378 116426:116426 1:"hipLaunchKernel" -1822756571527488 116426:116426 0:"after hipLaunchKernel" -1822756571528208 116426:116426 1:"hipMemcpy" -1822756576130058 116426:116426 2:"" -1822756576130718 116426:116426 2:"" -1822756584942214 116426:116426 0:"before hipLaunchKernel" -1822756584943554 116426:116426 1:"hipLaunchKernel" -1822756584981104 116426:116426 0:"after hipLaunchKernel" -1822756584981804 116426:116426 1:"hipMemcpy" -1822756589473653 116426:116426 2:"" -1822756589474303 116426:116426 2:"" -1822756598239149 116426:116426 0:"before hipLaunchKernel" -1822756598240799 116426:116426 1:"hipLaunchKernel" -1822756598274869 116426:116426 0:"after hipLaunchKernel" -1822756598275619 116426:116426 1:"hipMemcpy" -1822756602771208 116426:116426 2:"" -1822756602771868 116426:116426 2:"" -1822756611470293 116426:116426 0:"before hipLaunchKernel" -1822756611471793 116426:116426 1:"hipLaunchKernel" -1822756611506393 116426:116426 0:"after hipLaunchKernel" -1822756611507403 116426:116426 1:"hipMemcpy" -1822756616133183 116426:116426 2:"" -1822756616133843 116426:116426 2:"" -1822756624898669 116426:116426 0:"before hipLaunchKernel" -1822756624900099 116426:116426 1:"hipLaunchKernel" -1822756624942479 116426:116426 0:"after hipLaunchKernel" -1822756624943369 116426:116426 1:"hipMemcpy" -1822756629407707 116426:116426 2:"" -1822756629408357 116426:116426 2:"" -1822756638141933 116426:116426 0:"before hipLaunchKernel" -1822756638143483 116426:116426 1:"hipLaunchKernel" -1822756638177083 116426:116426 0:"after hipLaunchKernel" -1822756638177813 116426:116426 1:"hipMemcpy" -1822756642666412 116426:116426 2:"" -1822756642667062 116426:116426 2:"" -1822756651494288 116426:116426 0:"before hipLaunchKernel" -1822756651495898 116426:116426 1:"hipLaunchKernel" -1822756651538178 116426:116426 0:"after hipLaunchKernel" -1822756651538898 116426:116426 1:"hipMemcpy" -1822756656138267 116426:116426 2:"" -1822756656139037 116426:116426 2:"" -1822756664912873 116426:116426 0:"before hipLaunchKernel" -1822756664914133 116426:116426 1:"hipLaunchKernel" -1822756664958334 116426:116426 0:"after hipLaunchKernel" -1822756664959234 116426:116426 1:"hipMemcpy" -1822756669416472 116426:116426 2:"" -1822756669417132 116426:116426 2:"" -1822756678146637 116426:116426 0:"before hipLaunchKernel" -1822756678148007 116426:116426 1:"hipLaunchKernel" -1822756678191298 116426:116426 0:"after hipLaunchKernel" -1822756678192268 116426:116426 1:"hipMemcpy" -1822756682711766 116426:116426 2:"" -1822756682712426 116426:116426 2:"" -1822756691509923 116426:116426 0:"before hipLaunchKernel" -1822756691511563 116426:116426 1:"hipLaunchKernel" -1822756691547483 116426:116426 0:"after hipLaunchKernel" -1822756691548583 116426:116426 1:"hipMemcpy" -1822756696126212 116426:116426 2:"" -1822756696126872 116426:116426 2:"" -1822756704947748 116426:116426 0:"before hipLaunchKernel" -1822756704949458 116426:116426 1:"hipLaunchKernel" -1822756704985219 116426:116426 0:"after hipLaunchKernel" -1822756704986159 116426:116426 1:"hipMemcpy" -1822756709441907 116426:116426 2:"" -1822756709442567 116426:116426 2:"" -1822756718210853 116426:116426 0:"before hipLaunchKernel" -1822756718212283 116426:116426 1:"hipLaunchKernel" -1822756718248293 116426:116426 0:"after hipLaunchKernel" -1822756718249093 116426:116426 1:"hipMemcpy" -1822756722742201 116426:116426 2:"" -1822756722742951 116426:116426 2:"" -1822756731600798 116426:116426 0:"before hipLaunchKernel" -1822756731602028 116426:116426 1:"hipLaunchKernel" -1822756731637178 116426:116426 0:"after hipLaunchKernel" -1822756731637848 116426:116426 1:"hipMemcpy" -1822756736180897 116426:116426 2:"" -1822756736181547 116426:116426 2:"" -1822756744931193 116426:116426 0:"before hipLaunchKernel" -1822756744940783 116426:116426 1:"hipLaunchKernel" -1822756744974673 116426:116426 0:"after hipLaunchKernel" -1822756744975483 116426:116426 1:"hipMemcpy" -1822756749466342 116426:116426 2:"" -1822756749466962 116426:116426 2:"" -1822756758149627 116426:116426 0:"before hipLaunchKernel" -1822756758150907 116426:116426 1:"hipLaunchKernel" -1822756758185977 116426:116426 0:"after hipLaunchKernel" -1822756758186707 116426:116426 1:"hipMemcpy" -1822756762711926 116426:116426 2:"" -1822756762712716 116426:116426 2:"" -1822756771525322 116426:116426 0:"before hipLaunchKernel" -1822756771526772 116426:116426 1:"hipLaunchKernel" -1822756771560062 116426:116426 0:"after hipLaunchKernel" -1822756771561202 116426:116426 1:"hipMemcpy" -1822756776139352 116426:116426 2:"" -1822756776140082 116426:116426 2:"" -1822756784911217 116426:116426 0:"before hipLaunchKernel" -1822756784912727 116426:116426 1:"hipLaunchKernel" -1822756784954718 116426:116426 0:"after hipLaunchKernel" -1822756784955508 116426:116426 1:"hipMemcpy" -1822756789427396 116426:116426 2:"" -1822756789428126 116426:116426 2:"" -1822756798143552 116426:116426 0:"before hipLaunchKernel" -1822756798144862 116426:116426 1:"hipLaunchKernel" -1822756798189802 116426:116426 0:"after hipLaunchKernel" -1822756798190542 116426:116426 1:"hipMemcpy" -1822756802665361 116426:116426 2:"" -1822756802666021 116426:116426 2:"" -1822756811499247 116426:116426 0:"before hipLaunchKernel" -1822756811500717 116426:116426 1:"hipLaunchKernel" -1822756811545667 116426:116426 0:"after hipLaunchKernel" -1822756811546437 116426:116426 1:"hipMemcpy" -1822756816124876 116426:116426 2:"" -1822756816125676 116426:116426 2:"" -1822756825071093 116426:116426 0:"before hipLaunchKernel" -1822756825072443 116426:116426 1:"hipLaunchKernel" -1822756825108123 116426:116426 0:"after hipLaunchKernel" -1822756825108903 116426:116426 1:"hipMemcpy" -1822756829595332 116426:116426 2:"" -1822756829596262 116426:116426 2:"" -1822756838492908 116426:116426 0:"before hipLaunchKernel" -1822756838494218 116426:116426 1:"hipLaunchKernel" -1822756838533379 116426:116426 0:"after hipLaunchKernel" -1822756838534159 116426:116426 1:"hipMemcpy" -1822756843118728 116426:116426 2:"" -1822756843119448 116426:116426 2:"" -1822756851908244 116426:116426 0:"before hipLaunchKernel" -1822756851909664 116426:116426 1:"hipLaunchKernel" -1822756851945404 116426:116426 0:"after hipLaunchKernel" -1822756851946144 116426:116426 1:"hipMemcpy" -1822756856433913 116426:116426 2:"" -1822756856434713 116426:116426 2:"" -1822756865150308 116426:116426 0:"before hipLaunchKernel" -1822756865151648 116426:116426 1:"hipLaunchKernel" -1822756865185878 116426:116426 0:"after hipLaunchKernel" -1822756865186608 116426:116426 1:"hipMemcpy" -1822756869718217 116426:116426 2:"" -1822756869719007 116426:116426 2:"" -1822756878505843 116426:116426 0:"before hipLaunchKernel" -1822756878507233 116426:116426 1:"hipLaunchKernel" -1822756878542524 116426:116426 0:"after hipLaunchKernel" -1822756878543284 116426:116426 1:"hipMemcpy" -1822756883116533 116426:116426 2:"" -1822756883117323 116426:116426 2:"" -1822756891874838 116426:116426 0:"before hipLaunchKernel" -1822756891876088 116426:116426 1:"hipLaunchKernel" -1822756891909558 116426:116426 0:"after hipLaunchKernel" -1822756891910308 116426:116426 1:"hipMemcpy" -1822756896440778 116426:116426 2:"" -1822756896441498 116426:116426 2:"" -1822756905313504 116426:116426 0:"before hipLaunchKernel" -1822756905315164 116426:116426 1:"hipLaunchKernel" -1822756905349395 116426:116426 0:"after hipLaunchKernel" -1822756905350075 116426:116426 1:"hipMemcpy" -1822756909845943 116426:116426 2:"" -1822756909846673 116426:116426 2:"" -1822756918655859 116426:116426 0:"before hipLaunchKernel" -1822756918657319 116426:116426 1:"hipLaunchKernel" -1822756918696229 116426:116426 0:"after hipLaunchKernel" -1822756918696969 116426:116426 1:"hipMemcpy" -1822756923217748 116426:116426 2:"" -1822756923218538 116426:116426 2:"" -1822756931972714 116426:116426 0:"before hipLaunchKernel" -1822756931974224 116426:116426 1:"hipLaunchKernel" -1822756932034035 116426:116426 0:"after hipLaunchKernel" -1822756932034945 116426:116426 1:"hipMemcpy" -1822756936515393 116426:116426 2:"" -1822756936516233 116426:116426 2:"" -1822756945067097 116426:116426 0:"before hipLaunchKernel" -1822756945068567 116426:116426 1:"hipLaunchKernel" -1822756945112428 116426:116426 0:"after hipLaunchKernel" -1822756945113208 116426:116426 1:"hipMemcpy" -1822756949593196 116426:116426 2:"" -1822756949593916 116426:116426 2:"" -1822756958307932 116426:116426 0:"before hipLaunchKernel" -1822756958309532 116426:116426 1:"hipLaunchKernel" -1822756958345252 116426:116426 0:"after hipLaunchKernel" -1822756958346052 116426:116426 1:"hipMemcpy" -1822756962810840 116426:116426 2:"" -1822756962811480 116426:116426 2:"" -1822756971627137 116426:116426 0:"before hipLaunchKernel" -1822756971628417 116426:116426 1:"hipLaunchKernel" -1822756971666257 116426:116426 0:"after hipLaunchKernel" -1822756971667047 116426:116426 1:"hipMemcpy" -1822756976163925 116426:116426 2:"" -1822756976164585 116426:116426 2:"" -1822756984890371 116426:116426 0:"before hipLaunchKernel" -1822756984892011 116426:116426 1:"hipLaunchKernel" -1822756984928361 116426:116426 0:"after hipLaunchKernel" -1822756984929041 116426:116426 1:"hipMemcpy" -1822756989415409 116426:116426 2:"" -1822756989416199 116426:116426 2:"" -1822756998147406 116426:116426 0:"before hipLaunchKernel" -1822756998149046 116426:116426 1:"hipLaunchKernel" -1822756998183886 116426:116426 0:"after hipLaunchKernel" -1822756998184686 116426:116426 1:"hipMemcpy" -1822757002653244 116426:116426 2:"" -1822757002653894 116426:116426 2:"" -1822757011508581 116426:116426 0:"before hipLaunchKernel" -1822757011510141 116426:116426 1:"hipLaunchKernel" -1822757011544381 116426:116426 0:"after hipLaunchKernel" -1822757011545251 116426:116426 1:"hipMemcpy" -1822757016134320 116426:116426 2:"" -1822757016134980 116426:116426 2:"" -1822757024871576 116426:116426 0:"before hipLaunchKernel" -1822757024872986 116426:116426 1:"hipLaunchKernel" -1822757024906396 116426:116426 0:"after hipLaunchKernel" -1822757024907206 116426:116426 1:"hipMemcpy" -1822757029418504 116426:116426 2:"" -1822757029419154 116426:116426 2:"" -1822757038157240 116426:116426 0:"before hipLaunchKernel" -1822757038158520 116426:116426 1:"hipLaunchKernel" -1822757038192960 116426:116426 0:"after hipLaunchKernel" -1822757038193800 116426:116426 1:"hipMemcpy" -1822757042693109 116426:116426 2:"" -1822757042693699 116426:116426 2:"" -1822757051521045 116426:116426 0:"before hipLaunchKernel" -1822757051522525 116426:116426 1:"hipLaunchKernel" -1822757051564876 116426:116426 0:"after hipLaunchKernel" -1822757051565596 116426:116426 1:"hipMemcpy" -1822757056139434 116426:116426 2:"" -1822757056140114 116426:116426 2:"" -1822757064953431 116426:116426 0:"before hipLaunchKernel" -1822757064954731 116426:116426 1:"hipLaunchKernel" -1822757064997151 116426:116426 0:"after hipLaunchKernel" -1822757064997961 116426:116426 1:"hipMemcpy" -1822757069467370 116426:116426 2:"" -1822757069468020 116426:116426 2:"" -1822757078147265 116426:116426 0:"before hipLaunchKernel" -1822757078148605 116426:116426 1:"hipLaunchKernel" -1822757078194235 116426:116426 0:"after hipLaunchKernel" -1822757078194995 116426:116426 1:"hipMemcpy" -1822757082650303 116426:116426 2:"" -1822757082650953 116426:116426 2:"" -1822757091499160 116426:116426 0:"before hipLaunchKernel" -1822757091500700 116426:116426 1:"hipLaunchKernel" -1822757091535360 116426:116426 0:"after hipLaunchKernel" -1822757091536160 116426:116426 1:"hipMemcpy" -1822757096141260 116426:116426 2:"" -1822757096141910 116426:116426 2:"" -1822757104934825 116426:116426 0:"before hipLaunchKernel" -1822757104936575 116426:116426 1:"hipLaunchKernel" -1822757104971506 116426:116426 0:"after hipLaunchKernel" -1822757104972336 116426:116426 1:"hipMemcpy" -1822757109466484 116426:116426 2:"" -1822757109467144 116426:116426 2:"" -1822757118203040 116426:116426 0:"before hipLaunchKernel" -1822757118204260 116426:116426 1:"hipLaunchKernel" -1822757118239080 116426:116426 0:"after hipLaunchKernel" -1822757118239870 116426:116426 1:"hipMemcpy" -1822757122736549 116426:116426 2:"" -1822757122737199 116426:116426 2:"" -1822757131539455 116426:116426 0:"before hipLaunchKernel" -1822757131540855 116426:116426 1:"hipLaunchKernel" -1822757131574645 116426:116426 0:"after hipLaunchKernel" -1822757131575425 116426:116426 1:"hipMemcpy" -1822757136139044 116426:116426 2:"" -1822757136139694 116426:116426 2:"" -1822757144949400 116426:116426 0:"before hipLaunchKernel" -1822757144951090 116426:116426 1:"hipLaunchKernel" -1822757144984300 116426:116426 0:"after hipLaunchKernel" -1822757144985030 116426:116426 1:"hipMemcpy" -1822757149452529 116426:116426 2:"" -1822757149453179 116426:116426 2:"" -1822757158316495 116426:116426 0:"before hipLaunchKernel" -1822757158317965 116426:116426 1:"hipLaunchKernel" -1822757158352205 116426:116426 0:"after hipLaunchKernel" -1822757158353175 116426:116426 1:"hipMemcpy" -1822757162887724 116426:116426 2:"" -1822757162888374 116426:116426 2:"" -1822757171705490 116426:116426 0:"before hipLaunchKernel" -1822757171706930 116426:116426 1:"hipLaunchKernel" -1822757171740611 116426:116426 0:"after hipLaunchKernel" -1822757171741511 116426:116426 1:"hipMemcpy" -1822757176316230 116426:116426 2:"" -1822757176316880 116426:116426 2:"" -1822757184961485 116426:116426 0:"before hipLaunchKernel" -1822757184963005 116426:116426 1:"hipLaunchKernel" -1822757185007715 116426:116426 0:"after hipLaunchKernel" -1822757185008495 116426:116426 1:"hipMemcpy" -1822757189498604 116426:116426 2:"" -1822757189499254 116426:116426 2:"" -1822757198256469 116426:116426 0:"before hipLaunchKernel" -1822757198257999 116426:116426 1:"hipLaunchKernel" -1822757198298810 116426:116426 0:"after hipLaunchKernel" -1822757198299540 116426:116426 1:"hipMemcpy" -1822757202774278 116426:116426 2:"" -1822757202774938 116426:116426 2:"" -1822757211541234 116426:116426 0:"before hipLaunchKernel" -1822757211542624 116426:116426 1:"hipLaunchKernel" -1822757211576634 116426:116426 0:"after hipLaunchKernel" -1822757211577414 116426:116426 1:"hipMemcpy" -1822757216146013 116426:116426 2:"" -1822757216146663 116426:116426 2:"" -1822757224914419 116426:116426 0:"before hipLaunchKernel" -1822757224915999 116426:116426 1:"hipLaunchKernel" -1822757224951510 116426:116426 0:"after hipLaunchKernel" -1822757224952440 116426:116426 1:"hipMemcpy" -1822757229432328 116426:116426 2:"" -1822757229432978 116426:116426 2:"" -1822757238190334 116426:116426 0:"before hipLaunchKernel" -1822757238191834 116426:116426 1:"hipLaunchKernel" -1822757238226254 116426:116426 0:"after hipLaunchKernel" -1822757238227154 116426:116426 1:"hipMemcpy" -1822757242686762 116426:116426 2:"" -1822757242687412 116426:116426 2:"" -1822757251545359 116426:116426 0:"before hipLaunchKernel" -1822757251546929 116426:116426 1:"hipLaunchKernel" -1822757251582349 116426:116426 0:"after hipLaunchKernel" -1822757251583079 116426:116426 1:"hipMemcpy" -1822757256134628 116426:116426 2:"" -1822757256135288 116426:116426 2:"" -1822757264917154 116426:116426 0:"before hipLaunchKernel" -1822757264918864 116426:116426 1:"hipLaunchKernel" -1822757264955004 116426:116426 0:"after hipLaunchKernel" -1822757264955674 116426:116426 1:"hipMemcpy" -1822757269423623 116426:116426 2:"" -1822757269424273 116426:116426 2:"" -1822757278164368 116426:116426 0:"before hipLaunchKernel" -1822757278166008 116426:116426 1:"hipLaunchKernel" -1822757278200288 116426:116426 0:"after hipLaunchKernel" -1822757278201028 116426:116426 1:"hipMemcpy" -1822757282675377 116426:116426 2:"" -1822757282676027 116426:116426 2:"" -1822757291510604 116426:116426 0:"before hipLaunchKernel" -1822757291512254 116426:116426 1:"hipLaunchKernel" -1822757291545344 116426:116426 0:"after hipLaunchKernel" -1822757291546074 116426:116426 1:"hipMemcpy" -1822757296142203 116426:116426 2:"" -1822757296142843 116426:116426 2:"" -1822757304968109 116426:116426 0:"before hipLaunchKernel" -1822757304969609 116426:116426 1:"hipLaunchKernel" -1822757305003089 116426:116426 0:"after hipLaunchKernel" -1822757305003879 116426:116426 1:"hipMemcpy" -1822757309496688 116426:116426 2:"" -1822757309497348 116426:116426 2:"" -1822757318197103 116426:116426 0:"before hipLaunchKernel" -1822757318198713 116426:116426 1:"hipLaunchKernel" -1822757318244304 116426:116426 0:"after hipLaunchKernel" -1822757318245544 116426:116426 1:"hipMemcpy" -1822757322735882 116426:116426 2:"" -1822757322736532 116426:116426 2:"" -1822757331531378 116426:116426 0:"before hipLaunchKernel" -1822757331532828 116426:116426 1:"hipLaunchKernel" -1822757331575779 116426:116426 0:"after hipLaunchKernel" -1822757331576589 116426:116426 1:"hipMemcpy" -1822757336152608 116426:116426 2:"" -1822757336153268 116426:116426 2:"" -1822757344929524 116426:116426 0:"before hipLaunchKernel" -1822757344930804 116426:116426 1:"hipLaunchKernel" -1822757344967174 116426:116426 0:"after hipLaunchKernel" -1822757344967984 116426:116426 1:"hipMemcpy" -1822757349454582 116426:116426 2:"" -1822757349455242 116426:116426 2:"" -1822757358218998 116426:116426 0:"before hipLaunchKernel" -1822757358220358 116426:116426 1:"hipLaunchKernel" -1822757358256028 116426:116426 0:"after hipLaunchKernel" -1822757358256808 116426:116426 1:"hipMemcpy" -1822757362734497 116426:116426 2:"" -1822757362735147 116426:116426 2:"" -1822757371554633 116426:116426 0:"before hipLaunchKernel" -1822757371555973 116426:116426 1:"hipLaunchKernel" -1822757371590683 116426:116426 0:"after hipLaunchKernel" -1822757371591413 116426:116426 1:"hipMemcpy" -1822757376143363 116426:116426 2:"" -1822757376143983 116426:116426 2:"" -1822757384879008 116426:116426 0:"before hipLaunchKernel" -1822757384880308 116426:116426 1:"hipLaunchKernel" -1822757384914368 116426:116426 0:"after hipLaunchKernel" -1822757384915108 116426:116426 1:"hipMemcpy" -1822757389426697 116426:116426 2:"" -1822757389427347 116426:116426 2:"" -1822755610745597:1822755612148637 async-copy0 -1822756059703555:1822756061944704 async-copy1 -1822756076468363:1822756077871841 async-copy2 -1822756079453986:1822756081800621 async-copy3 -1822756089830592:1822756091230366 async-copy4 -1822756092862943:1822756095192985 async-copy5 -1822756103224676:1822756104626671 async-copy6 -1822756106217266:1822756108595458 async-copy7 -1822756116508728:1822756117909390 async-copy8 -1822756119463679:1822756121816388 async-copy9 -1822756129856005:1822756131259038 async-copy10 -1822756132847542:1822756135159509 async-copy11 -1822756143193383:1822756144594787 async-copy12 -1822756146178609:1822756148522133 async-copy13 -1822756156502642:1822756157906564 async-copy14 -1822756159488770:1822756161820738 async-copy15 -1822756169793271:1822756171196748 async-copy16 -1822756172819961:1822756175200080 async-copy17 -1822756183367822:1822756184770855 async-copy18 -1822756186222901:1822756188577685 async-copy19 -1822756196358553:1822756197758622 async-copy20 -1822756199341959:1822756201660742 async-copy21 -1822756209602431:1822756211003834 async-copy22 -1822756212733960:1822756215061779 async-copy23 -1822756223230732:1822756224633468 async-copy24 -1822756226053975:1822756228384757 async-copy25 -1822756236319165:1822756237720272 async-copy26 -1822756239300211:1822756241642698 async-copy27 -1822756249569085:1822756250970340 async-copy28 -1822756252539383:1822756254873721 async-copy29 -1822756262920159:1822756264322896 async-copy30 -1822756265929349:1822756268268725 async-copy31 -1822756276272690:1822756277674093 async-copy32 -1822756279261704:1822756281588042 async-copy33 -1822756289494062:1822756290898132 async-copy34 -1822756292486984:1822756294821026 async-copy35 -1822756302843271:1822756304244674 async-copy36 -1822756305836023:1822756308203845 async-copy37 -1822756316251013:1822756317651675 async-copy38 -1822756319222140:1822756321605222 async-copy39 -1822756329581609:1822756330984346 async-copy40 -1822756332570985:1822756334926954 async-copy41 -1822756343066596:1822756344469629 async-copy42 -1822756346208038:1822756348546377 async-copy43 -1822756356536391:1822756357937053 async-copy44 -1822756359514690:1822756361820434 async-copy45 -1822756369792080:1822756371196446 async-copy46 -1822756372858187:1822756375181117 async-copy47 -1822756383254616:1822756384656463 async-copy48 -1822756386235785:1822756388584495 async-copy49 -1822756396540013:1822756397941120 async-copy50 -1822756399532724:1822756401852098 async-copy51 -1822756409842431:1822756411242352 async-copy52 -1822756412851693:1822756415196254 async-copy53 -1822756423279344:1822756424681043 async-copy54 -1822756426237932:1822756428585901 async-copy55 -1822756436470646:1822756437872642 async-copy56 -1822756439453792:1822756441778648 async-copy57 -1822756449712164:1822756451114308 async-copy58 -1822756452839379:1822756455186162 async-copy59 -1822756463260798:1822756464661460 async-copy60 -1822756466285627:1822756468655226 async-copy61 -1822756476590661:1822756477992509 async-copy62 -1822756479567299:1822756481891414 async-copy63 -1822756489865100:1822756491268133 async-copy64 -1822756492886950:1822756495216695 async-copy65 -1822756503259171:1822756504662648 async-copy66 -1822756506318382:1822756508657017 async-copy67 -1822756516596286:1822756517997392 async-copy68 -1822756519589742:1822756521946600 async-copy69 -1822756529955321:1822756531359094 async-copy70 -1822756532973444:1822756535313857 async-copy71 -1822756543258544:1822756544660539 async-copy72 -1822756546243926:1822756548571153 async-copy73 -1822756556527558:1822756557931184 async-copy74 -1822756559499991:1822756561810772 async-copy75 -1822756569800608:1822756571201122 async-copy76 -1822756572827399:1822756575173442 async-copy77 -1822756583293358:1822756584696538 async-copy78 -1822756586289742:1822756588640674 async-copy79 -1822756596608409:1822756598009664 async-copy80 -1822756599601805:1822756601938366 async-copy81 -1822756609961382:1822756611362637 async-copy82 -1822756612814771:1822756615174444 async-copy83 -1822756623274987:1822756624674020 async-copy84 -1822756626244187:1822756628562524 async-copy85 -1822756636503810:1822756637906250 async-copy86 -1822756639495651:1822756641835027 async-copy87 -1822756649826815:1822756651228070 async-copy88 -1822756652845701:1822756655162408 async-copy89 -1822756663282560:1822756664684852 async-copy90 -1822756666270910:1822756668581543 async-copy91 -1822756676525576:1822756677927868 async-copy92 -1822756679498081:1822756681876718 async-copy93 -1822756689871911:1822756691274795 async-copy94 -1822756692863198:1822756695226575 async-copy95 -1822756703298473:1822756704701506 async-copy96 -1822756706292630:1822756708609337 async-copy97 -1822756716578756:1822756717982233 async-copy98 -1822756719573484:1822756721913156 async-copy99 -1822756729939935:1822756731340894 async-copy100 -1822756732957268:1822756735318866 async-copy101 -1822756743305668:1822756744707664 async-copy102 -1822756746288798:1822756748636766 async-copy103 -1822756756514188:1822756757915443 async-copy104 -1822756759506383:1822756761882056 async-copy105 -1822756769878684:1822756771280975 async-copy106 -1822756772869620:1822756775205440 async-copy107 -1822756783282081:1822756784682743 async-copy108 -1822756786250731:1822756788566402 async-copy109 -1822756796515073:1822756797917810 async-copy110 -1822756799499522:1822756801836675 async-copy111 -1822756809813022:1822756811214869 async-copy112 -1822756812847111:1822756815207673 async-copy113 -1822756823457191:1822756824860372 async-copy114 -1822756826415517:1822756828762448 async-copy115 -1822756836724312:1822756838124678 async-copy116 -1822756839841353:1822756842200284 async-copy117 -1822756850285409:1822756851688738 async-copy118 -1822756853252604:1822756855591979 async-copy119 -1822756863532804:1822756864935689 async-copy120 -1822756866497276:1822756868882283 async-copy121 -1822756876867480:1822756878268882 async-copy122 -1822756879872731:1822756882220551 async-copy123 -1822756890239449:1822756891639963 async-copy124 -1822756893222150:1822756895595898 async-copy125 -1822756903677825:1822756905079524 async-copy126 -1822756906675650:1822756909004358 async-copy127 -1822756916981833:1822756918385310 async-copy128 -1822756920026943:1822756922357429 async-copy129 -1822756930339119:1822756931742299 async-copy130 -1822756933341772:1822756935663665 async-copy131 -1822756943569147:1822756944968624 async-copy132 -1822756946417858:1822756948759603 async-copy133 -1822756956686881:1822756958087691 async-copy134 -1822756959654747:1822756961980344 async-copy135 -1822756969964854:1822756971366405 async-copy136 -1822756972958566:1822756975303275 async-copy137 -1822756983263992:1822756984667321 async-copy138 -1822756986248811:1822756988571889 async-copy139 -1822756996518043:1822756997919890 async-copy140 -1822756999482547:1822757001823404 async-copy141 -1822757009812945:1822757011214793 async-copy142 -1822757012865036:1822757015194337 async-copy143 -1822757023239827:1822757024642119 async-copy144 -1822757026219834:1822757028560691 async-copy145 -1822757036530048:1822757037933673 async-copy146 -1822757039501138:1822757041864663 async-copy147 -1822757049884042:1822757051284260 async-copy148 -1822757052885199:1822757055214352 async-copy149 -1822757063303774:1822757064706214 async-copy150 -1822757066306665:1822757068639522 async-copy151 -1822757076532551:1822757077934991 async-copy152 -1822757079491059:1822757081815619 async-copy153 -1822757089735648:1822757091137199 async-copy154 -1822757092848799:1822757095212472 async-copy155 -1822757103311340:1822757104713335 async-copy156 -1822757106282732:1822757108632923 async-copy157 -1822757116570884:1822757117973324 async-copy158 -1822757119555392:1822757121904545 async-copy159 -1822757129898577:1822757131299832 async-copy160 -1822757132884793:1822757135215724 async-copy161 -1822757143310937:1822757144715154 async-copy162 -1822757146294146:1822757148641078 async-copy163 -1822757156685092:1822757158085310 async-copy164 -1822757159666226:1822757162046048 async-copy165 -1822757170027327:1822757171429619 async-copy166 -1822757173048804:1822757175418107 async-copy167 -1822757183362207:1822757184764054 async-copy168 -1822757186326614:1822757188665545 async-copy169 -1822757196620800:1822757198025314 async-copy170 -1822757199624939:1822757201943573 async-copy171 -1822757209910756:1822757211311418 async-copy172 -1822757212901160:1822757215239647 async-copy173 -1822757223289758:1822757224693532 async-copy174 -1822757226264241:1822757228601246 async-copy175 -1822757236559874:1822757237961870 async-copy176 -1822757239550236:1822757241860277 async-copy177 -1822757249905346:1822757251307045 async-copy178 -1822757252895891:1822757255243267 async-copy179 -1822757263288395:1822757264689798 async-copy180 -1822757266253371:1822757268590820 async-copy181 -1822757276528185:1822757277931366 async-copy182 -1822757279512544:1822757281846142 async-copy183 -1822757289846499:1822757291247901 async-copy184 -1822757292866424:1822757295203429 async-copy185 -1822757303279340:1822757304680595 async-copy186 -1822757306303641:1822757308664795 async-copy187 -1822757316577803:1822757317977576 async-copy188 -1822757319560491:1822757321903570 async-copy189 -1822757329894057:1822757331297830 async-copy190 -1822757332884097:1822757335214731 async-copy191 -1822757343298266:1822757344700409 async-copy192 -1822757346279634:1822757348624046 async-copy193 -1822757356582659:1822757357985099 async-copy194 -1822757359570083:1822757361908569 async-copy195 -1822757369914110:1822757371315364 async-copy196 -1822757372908977:1822757375245093 async-copy197 -1822757383248827:1822757384651267 async-copy198 -1822757386227176:1822757388571292 async-copy199 diff --git a/test/MatrixTranspose/MatrixTranspose_sys_trace.txt b/test/MatrixTranspose/MatrixTranspose_sys_trace.txt deleted file mode 100644 index ce693dd3f3..0000000000 --- a/test/MatrixTranspose/MatrixTranspose_sys_trace.txt +++ /dev/null @@ -1,6506 +0,0 @@ -tool SYS test: "./test/MatrixTranspose" -ROCTracer (pid=116414): - rocTX-trace() - HSA-trace() - HIP-trace() -Device name Vega 10 XT [Radeon RX Vega 64] -## Iteration (99) ################# -PASSED! -## Iteration (98) ################# -PASSED! -## Iteration (97) ################# -PASSED! -## Iteration (96) ################# -PASSED! -## Iteration (95) ################# -PASSED! -## Iteration (94) ################# -PASSED! -## Iteration (93) ################# -PASSED! -## Iteration (92) ################# -PASSED! -## Iteration (91) ################# -PASSED! -## Iteration (90) ################# -PASSED! -## Iteration (89) ################# -PASSED! -## Iteration (88) ################# -PASSED! -## Iteration (87) ################# -PASSED! -## Iteration (86) ################# -PASSED! -## Iteration (85) ################# -PASSED! -## Iteration (84) ################# -PASSED! -## Iteration (83) ################# -PASSED! -## Iteration (82) ################# -PASSED! -## Iteration (81) ################# -PASSED! -## Iteration (80) ################# -PASSED! -## Iteration (79) ################# -PASSED! -## Iteration (78) ################# -PASSED! -## Iteration (77) ################# -PASSED! -## Iteration (76) ################# -PASSED! -## Iteration (75) ################# -PASSED! -## Iteration (74) ################# -PASSED! -## Iteration (73) ################# -PASSED! -## Iteration (72) ################# -PASSED! -## Iteration (71) ################# -PASSED! -## Iteration (70) ################# -PASSED! -## Iteration (69) ################# -PASSED! -## Iteration (68) ################# -PASSED! -## Iteration (67) ################# -PASSED! -## Iteration (66) ################# -PASSED! -## Iteration (65) ################# -PASSED! -## Iteration (64) ################# -PASSED! -## Iteration (63) ################# -PASSED! -## Iteration (62) ################# -PASSED! -## Iteration (61) ################# -PASSED! -## Iteration (60) ################# -PASSED! -## Iteration (59) ################# -PASSED! -## Iteration (58) ################# -PASSED! -## Iteration (57) ################# -PASSED! -## Iteration (56) ################# -PASSED! -## Iteration (55) ################# -PASSED! -## Iteration (54) ################# -PASSED! -## Iteration (53) ################# -PASSED! -## Iteration (52) ################# -PASSED! -## Iteration (51) ################# -PASSED! -## Iteration (50) ################# -PASSED! -## Iteration (49) ################# -PASSED! -## Iteration (48) ################# -PASSED! -## Iteration (47) ################# -PASSED! -## Iteration (46) ################# -PASSED! -## Iteration (45) ################# -PASSED! -## Iteration (44) ################# -PASSED! -## Iteration (43) ################# -PASSED! -## Iteration (42) ################# -PASSED! -## Iteration (41) ################# -PASSED! -## Iteration (40) ################# -PASSED! -## Iteration (39) ################# -PASSED! -## Iteration (38) ################# -PASSED! -## Iteration (37) ################# -PASSED! -## Iteration (36) ################# -PASSED! -## Iteration (35) ################# -PASSED! -## Iteration (34) ################# -PASSED! -## Iteration (33) ################# -PASSED! -## Iteration (32) ################# -PASSED! -## Iteration (31) ################# -PASSED! -## Iteration (30) ################# -PASSED! -## Iteration (29) ################# -PASSED! -## Iteration (28) ################# -PASSED! -## Iteration (27) ################# -PASSED! -## Iteration (26) ################# -PASSED! -## Iteration (25) ################# -PASSED! -## Iteration (24) ################# -PASSED! -## Iteration (23) ################# -PASSED! -## Iteration (22) ################# -PASSED! -## Iteration (21) ################# -PASSED! -## Iteration (20) ################# -PASSED! -## Iteration (19) ################# -PASSED! -## Iteration (18) ################# -PASSED! -## Iteration (17) ################# -PASSED! -## Iteration (16) ################# -PASSED! -## Iteration (15) ################# -PASSED! -## Iteration (14) ################# -PASSED! -## Iteration (13) ################# -PASSED! -## Iteration (12) ################# -PASSED! -## Iteration (11) ################# -PASSED! -## Iteration (10) ################# -PASSED! -## Iteration (9) ################# -PASSED! -## Iteration (8) ################# -PASSED! -## Iteration (7) ################# -PASSED! -## Iteration (6) ################# -PASSED! -## Iteration (5) ################# -PASSED! -## Iteration (4) ################# -PASSED! -## Iteration (3) ################# -PASSED! -## Iteration (2) ################# -PASSED! -## Iteration (1) ################# -PASSED! -## Iteration (0) ################# -PASSED! -1822745843970178:1822745843979318 116414:116414 hipGetDeviceProperties() -1822745846474714:1822745846593465 116414:116414 hipMalloc(ptr(0x7f074e800000) size(0x400000)) -1822745846595035:1822745846655616 116414:116414 hipMalloc(ptr(0x7f074e200000) size(0x400000)) -1822745846666816:1822745854964868 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) -1822745854968148:1822745854968149 116414:116414 MARK(name(before HIP LaunchKernel)) -1822746298308870:1822746303423953 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822746303443683:1822746303443684 116414:116414 MARK(name(after HIP LaunchKernel)) -1822746303451293:1822746307819121 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) -1822746320702463:1822746322784296 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) -1822746322785696:1822746322785697 116414:116414 MARK(name(before HIP LaunchKernel)) -1822746322799047:1822746322829467 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822746322830727:1822746322830728 116414:116414 MARK(name(after HIP LaunchKernel)) -1822746322833607:1822746327109964 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) -1822746333586775:1822746335660718 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) -1822746335661998:1822746335661999 116414:116414 MARK(name(before HIP LaunchKernel)) -1822746335675698:1822746335698609 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822746335699859:1822746335699860 116414:116414 MARK(name(after HIP LaunchKernel)) -1822746335702869:1822746340061426 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) -1822746346506927:1822746348567011 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) -1822746348568511:1822746348568512 116414:116414 MARK(name(before HIP LaunchKernel)) -1822746348580611:1822746348610931 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822746348612211:1822746348612212 116414:116414 MARK(name(after HIP LaunchKernel)) -1822746348615261:1822746352907138 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) -1822746359344249:1822746361405052 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) -1822746361406962:1822746361406963 116414:116414 MARK(name(before HIP LaunchKernel)) -1822746361421082:1822746361443332 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822746361444572:1822746361444573 116414:116414 MARK(name(after HIP LaunchKernel)) -1822746361455202:1822746365744469 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) -1822746372202171:1822746374270134 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) -1822746374271634:1822746374271635 116414:116414 MARK(name(before HIP LaunchKernel)) -1822746374294064:1822746374317035 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822746374318255:1822746374318256 116414:116414 MARK(name(after HIP LaunchKernel)) -1822746374321165:1822746378595171 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) -1822746384660700:1822746386722433 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) -1822746386723883:1822746386723884 116414:116414 MARK(name(before HIP LaunchKernel)) -1822746386738714:1822746386761374 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822746386762664:1822746386762665 116414:116414 MARK(name(after HIP LaunchKernel)) -1822746386765844:1822746391048471 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) -1822746397114629:1822746399185553 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) -1822746399186833:1822746399186834 116414:116414 MARK(name(before HIP LaunchKernel)) -1822746399200683:1822746399223483 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822746399224743:1822746399224744 116414:116414 MARK(name(after HIP LaunchKernel)) -1822746399227793:1822746403529961 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) -1822746409995081:1822746412057035 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) -1822746412058365:1822746412058366 116414:116414 MARK(name(before HIP LaunchKernel)) -1822746412071955:1822746412094595 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822746412095765:1822746412095766 116414:116414 MARK(name(after HIP LaunchKernel)) -1822746412098905:1822746416387712 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) -1822746422826463:1822746424897176 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) -1822746424898496:1822746424898497 116414:116414 MARK(name(before HIP LaunchKernel)) -1822746424911236:1822746424933737 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822746424935007:1822746424935008 116414:116414 MARK(name(after HIP LaunchKernel)) -1822746424938207:1822746429218004 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) -1822746435676255:1822746437720948 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) -1822746437730038:1822746437730039 116414:116414 MARK(name(before HIP LaunchKernel)) -1822746437743568:1822746437769188 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822746437770698:1822746437770699 116414:116414 MARK(name(after HIP LaunchKernel)) -1822746437773838:1822746442027596 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) -1822746448083424:1822746450158327 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) -1822746450159647:1822746450159648 116414:116414 MARK(name(before HIP LaunchKernel)) -1822746450173407:1822746450196707 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822746450197897:1822746450197898 116414:116414 MARK(name(after HIP LaunchKernel)) -1822746450200977:1822746454503295 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) -1822746460941515:1822746463002759 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) -1822746463004099:1822746463004100 116414:116414 MARK(name(before HIP LaunchKernel)) -1822746463017579:1822746463049159 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822746463050449:1822746463050450 116414:116414 MARK(name(after HIP LaunchKernel)) -1822746463053449:1822746467336197 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) -1822746473805778:1822746475882871 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) -1822746475884231:1822746475884232 116414:116414 MARK(name(before HIP LaunchKernel)) -1822746475897431:1822746475919811 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822746475921111:1822746475921112 116414:116414 MARK(name(after HIP LaunchKernel)) -1822746475924261:1822746480224589 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) -1822746486679779:1822746488737312 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) -1822746488738752:1822746488738753 116414:116414 MARK(name(before HIP LaunchKernel)) -1822746488751963:1822746488782493 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822746488783693:1822746488783694 116414:116414 MARK(name(after HIP LaunchKernel)) -1822746488786943:1822746493097300 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) -1822746499530752:1822746501598695 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) -1822746501600095:1822746501600096 116414:116414 MARK(name(before HIP LaunchKernel)) -1822746501614375:1822746501637495 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822746501648745:1822746501648746 116414:116414 MARK(name(after HIP LaunchKernel)) -1822746501652265:1822746505928192 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) -1822746512370343:1822746514457276 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) -1822746514458696:1822746514458697 116414:116414 MARK(name(before HIP LaunchKernel)) -1822746514473036:1822746514495377 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822746514496697:1822746514496698 116414:116414 MARK(name(after HIP LaunchKernel)) -1822746514499747:1822746518741494 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) -1822746525191625:1822746527258748 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) -1822746527260208:1822746527260209 116414:116414 MARK(name(before HIP LaunchKernel)) -1822746527284108:1822746527308108 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822746527309358:1822746527309359 116414:116414 MARK(name(after HIP LaunchKernel)) -1822746527312808:1822746531586155 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) -1822746538049717:1822746540124270 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) -1822746540125590:1822746540125591 116414:116414 MARK(name(before HIP LaunchKernel)) -1822746540139580:1822746540162980 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822746540164260:1822746540164261 116414:116414 MARK(name(after HIP LaunchKernel)) -1822746540167390:1822746544477457 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) -1822746550904939:1822746552970562 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) -1822746552972192:1822746552972193 116414:116414 MARK(name(before HIP LaunchKernel)) -1822746552986182:1822746553009192 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822746553010492:1822746553010493 116414:116414 MARK(name(after HIP LaunchKernel)) -1822746553013422:1822746557332730 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) -1822746563763110:1822746565846414 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) -1822746565848034:1822746565848035 116414:116414 MARK(name(before HIP LaunchKernel)) -1822746565861314:1822746565884274 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822746565885504:1822746565885505 116414:116414 MARK(name(after HIP LaunchKernel)) -1822746565888614:1822746570194671 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) -1822746576267190:1822746578332543 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) -1822746578333923:1822746578333924 116414:116414 MARK(name(before HIP LaunchKernel)) -1822746578348063:1822746578379063 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822746578380393:1822746578380394 116414:116414 MARK(name(after HIP LaunchKernel)) -1822746578383383:1822746582642821 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) -1822746589078011:1822746591158025 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) -1822746591159335:1822746591159336 116414:116414 MARK(name(before HIP LaunchKernel)) -1822746591172855:1822746591195855 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822746591197105:1822746591197106 116414:116414 MARK(name(after HIP LaunchKernel)) -1822746591200045:1822746595502053 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) -1822746601948173:1822746604015657 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) -1822746604016967:1822746604016968 116414:116414 MARK(name(before HIP LaunchKernel)) -1822746604030517:1822746604061257 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822746604062467:1822746604062468 116414:116414 MARK(name(after HIP LaunchKernel)) -1822746604065477:1822746608328534 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) -1822746614389352:1822746616469396 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) -1822746616470976:1822746616470977 116414:116414 MARK(name(before HIP LaunchKernel)) -1822746616484366:1822746616506406 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822746616507656:1822746616507657 116414:116414 MARK(name(after HIP LaunchKernel)) -1822746616510696:1822746620825594 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) -1822746627260834:1822746629329598 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) -1822746629331008:1822746629331009 116414:116414 MARK(name(before HIP LaunchKernel)) -1822746629344238:1822746629375238 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822746629376498:1822746629376499 116414:116414 MARK(name(after HIP LaunchKernel)) -1822746629379598:1822746633699056 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) -1822746639738834:1822746641811077 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) -1822746641812567:1822746641812568 116414:116414 MARK(name(before HIP LaunchKernel)) -1822746641833087:1822746641855257 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822746641856487:1822746641856488 116414:116414 MARK(name(after HIP LaunchKernel)) -1822746641859797:1822746646095074 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) -1822746652534346:1822746654611299 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) -1822746654612629:1822746654612630 116414:116414 MARK(name(before HIP LaunchKernel)) -1822746654626799:1822746654650289 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822746654651549:1822746654651550 116414:116414 MARK(name(after HIP LaunchKernel)) -1822746654654729:1822746658919216 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) -1822746665361737:1822746667426330 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) -1822746667428000:1822746667428001 116414:116414 MARK(name(before HIP LaunchKernel)) -1822746667440830:1822746667463430 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822746667464700:1822746667464701 116414:116414 MARK(name(after HIP LaunchKernel)) -1822746667467440:1822746671741578 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) -1822746678189259:1822746680263922 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) -1822746680265312:1822746680265313 116414:116414 MARK(name(before HIP LaunchKernel)) -1822746680278522:1822746680301313 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822746680302503:1822746680302504 116414:116414 MARK(name(after HIP LaunchKernel)) -1822746680305543:1822746684599749 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) -1822746691021611:1822746693084514 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) -1822746693085964:1822746693085965 116414:116414 MARK(name(before HIP LaunchKernel)) -1822746693099924:1822746693122074 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822746693123334:1822746693123335 116414:116414 MARK(name(after HIP LaunchKernel)) -1822746693126444:1822746697417261 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) -1822746703840982:1822746705929455 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) -1822746705931345:1822746705931346 116414:116414 MARK(name(before HIP LaunchKernel)) -1822746705945055:1822746705968686 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822746705970476:1822746705970477 116414:116414 MARK(name(after HIP LaunchKernel)) -1822746705975396:1822746710266673 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) -1822746716759864:1822746718818848 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) -1822746718820238:1822746718820239 116414:116414 MARK(name(before HIP LaunchKernel)) -1822746718833338:1822746718862488 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822746718863738:1822746718863739 116414:116414 MARK(name(after HIP LaunchKernel)) -1822746718866688:1822746723107325 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) -1822746729581726:1822746731654639 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) -1822746731656219:1822746731656220 116414:116414 MARK(name(before HIP LaunchKernel)) -1822746731669399:1822746731692850 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822746731694160:1822746731694161 116414:116414 MARK(name(after HIP LaunchKernel)) -1822746731697050:1822746735979657 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) -1822746742049516:1822746744110189 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) -1822746744111509:1822746744111510 116414:116414 MARK(name(before HIP LaunchKernel)) -1822746744133069:1822746744157759 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822746744159029:1822746744159030 116414:116414 MARK(name(after HIP LaunchKernel)) -1822746744162029:1822746748470026 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) -1822746754538355:1822746756604198 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) -1822746756605568:1822746756605569 116414:116414 MARK(name(before HIP LaunchKernel)) -1822746756620218:1822746756644108 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822746756645308:1822746756645309 116414:116414 MARK(name(after HIP LaunchKernel)) -1822746756648178:1822746760954265 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) -1822746767383727:1822746769460510 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) -1822746769462090:1822746769462091 116414:116414 MARK(name(before HIP LaunchKernel)) -1822746769475920:1822746769508420 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822746769510160:1822746769510161 116414:116414 MARK(name(after HIP LaunchKernel)) -1822746769513370:1822746773819308 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) -1822746780266169:1822746782332622 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) -1822746782341262:1822746782341263 116414:116414 MARK(name(before HIP LaunchKernel)) -1822746782355002:1822746782377392 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822746782378672:1822746782378673 116414:116414 MARK(name(after HIP LaunchKernel)) -1822746782381572:1822746786660119 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) -1822746793109760:1822746795184754 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) -1822746795186074:1822746795186075 116414:116414 MARK(name(before HIP LaunchKernel)) -1822746795200074:1822746795222534 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822746795223724:1822746795223725 116414:116414 MARK(name(after HIP LaunchKernel)) -1822746795227004:1822746799487531 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) -1822746805734131:1822746807826774 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) -1822746807828174:1822746807828175 116414:116414 MARK(name(before HIP LaunchKernel)) -1822746807841974:1822746807865544 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822746807866844:1822746807866845 116414:116414 MARK(name(after HIP LaunchKernel)) -1822746807869834:1822746812163911 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) -1822746818657433:1822746820718916 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) -1822746820720396:1822746820720397 116414:116414 MARK(name(before HIP LaunchKernel)) -1822746820733776:1822746820754526 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822746820755816:1822746820755817 116414:116414 MARK(name(after HIP LaunchKernel)) -1822746820759147:1822746825045544 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) -1822746831158123:1822746833219966 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) -1822746833221276:1822746833221277 116414:116414 MARK(name(before HIP LaunchKernel)) -1822746833235116:1822746833257296 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822746833258496:1822746833258497 116414:116414 MARK(name(after HIP LaunchKernel)) -1822746833262016:1822746837573733 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) -1822746844028614:1822746846098438 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) -1822746846099908:1822746846099909 116414:116414 MARK(name(before HIP LaunchKernel)) -1822746846113688:1822746846136198 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822746846139898:1822746846139899 116414:116414 MARK(name(after HIP LaunchKernel)) -1822746846143028:1822746850395185 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) -1822746856855246:1822746858924999 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) -1822746858926649:1822746858926650 116414:116414 MARK(name(before HIP LaunchKernel)) -1822746858940839:1822746858972180 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822746858973450:1822746858973451 116414:116414 MARK(name(after HIP LaunchKernel)) -1822746858976940:1822746863235007 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) -1822746869391056:1822746871466399 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) -1822746871467439:1822746871467440 116414:116414 MARK(name(before HIP LaunchKernel)) -1822746871481859:1822746871504729 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822746871505959:1822746871505960 116414:116414 MARK(name(after HIP LaunchKernel)) -1822746871509339:1822746875781837 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) -1822746882240938:1822746884305401 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) -1822746884306961:1822746884306962 116414:116414 MARK(name(before HIP LaunchKernel)) -1822746884320881:1822746884352031 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822746884353321:1822746884353322 116414:116414 MARK(name(after HIP LaunchKernel)) -1822746884356881:1822746888675479 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) -1822746895121520:1822746897183443 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) -1822746897184773:1822746897184774 116414:116414 MARK(name(before HIP LaunchKernel)) -1822746897198993:1822746897220863 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822746897222143:1822746897222144 116414:116414 MARK(name(after HIP LaunchKernel)) -1822746897225833:1822746901551111 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) -1822746907997171:1822746910084375 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) -1822746910085815:1822746910085816 116414:116414 MARK(name(before HIP LaunchKernel)) -1822746910100145:1822746910132645 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822746910133885:1822746910133886 116414:116414 MARK(name(after HIP LaunchKernel)) -1822746910137185:1822746914418213 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) -1822746920862944:1822746922908037 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) -1822746922909437:1822746922909438 116414:116414 MARK(name(before HIP LaunchKernel)) -1822746922923627:1822746922945717 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822746922947007:1822746922947008 116414:116414 MARK(name(after HIP LaunchKernel)) -1822746922950017:1822746927245224 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) -1822746933711785:1822746935787248 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) -1822746935788578:1822746935788579 116414:116414 MARK(name(before HIP LaunchKernel)) -1822746935802498:1822746935825959 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822746935827269:1822746935827270 116414:116414 MARK(name(after HIP LaunchKernel)) -1822746935830269:1822746940121236 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) -1822746946567968:1822746948633181 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) -1822746948634511:1822746948634512 116414:116414 MARK(name(before HIP LaunchKernel)) -1822746948648031:1822746948671011 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822746948672241:1822746948672242 116414:116414 MARK(name(after HIP LaunchKernel)) -1822746948675421:1822746952926358 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) -1822746959366809:1822746961429082 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) -1822746961430712:1822746961430713 116414:116414 MARK(name(before HIP LaunchKernel)) -1822746961446582:1822746961469232 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822746961470572:1822746961470573 116414:116414 MARK(name(after HIP LaunchKernel)) -1822746961473822:1822746965814810 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) -1822746972279711:1822746974343794 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) -1822746974345454:1822746974345455 116414:116414 MARK(name(before HIP LaunchKernel)) -1822746974360034:1822746974382215 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822746974383495:1822746974383496 116414:116414 MARK(name(after HIP LaunchKernel)) -1822746974394765:1822746978700292 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) -1822746985156093:1822746987233016 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) -1822746987234346:1822746987234347 116414:116414 MARK(name(before HIP LaunchKernel)) -1822746987249906:1822746987273247 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822746987274437:1822746987274438 116414:116414 MARK(name(after HIP LaunchKernel)) -1822746987277427:1822746991547133 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) -1822746997998865:1822747000042538 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) -1822747000043858:1822747000043859 116414:116414 MARK(name(before HIP LaunchKernel)) -1822747000056848:1822747000088678 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822747000090048:1822747000090049 116414:116414 MARK(name(after HIP LaunchKernel)) -1822747000093068:1822747004383005 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) -1822747010835117:1822747012916650 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) -1822747012918040:1822747012918041 116414:116414 MARK(name(before HIP LaunchKernel)) -1822747012931960:1822747012954660 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822747012955940:1822747012955941 116414:116414 MARK(name(after HIP LaunchKernel)) -1822747012959070:1822747017226257 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) -1822747023666818:1822747025736181 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) -1822747025737581:1822747025737582 116414:116414 MARK(name(before HIP LaunchKernel)) -1822747025750942:1822747025781412 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822747025782592:1822747025782593 116414:116414 MARK(name(after HIP LaunchKernel)) -1822747025785872:1822747030052239 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) -1822747036505630:1822747038573033 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) -1822747038574363:1822747038574364 116414:116414 MARK(name(before HIP LaunchKernel)) -1822747038587933:1822747038610283 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822747038611533:1822747038611534 116414:116414 MARK(name(after HIP LaunchKernel)) -1822747038614453:1822747042937121 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) -1822747049391692:1822747051453585 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) -1822747051454915:1822747051454916 116414:116414 MARK(name(before HIP LaunchKernel)) -1822747051477095:1822747051499955 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822747051501245:1822747051501246 116414:116414 MARK(name(after HIP LaunchKernel)) -1822747051505645:1822747055761853 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) -1822747062234364:1822747064278727 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) -1822747064280197:1822747064280198 116414:116414 MARK(name(before HIP LaunchKernel)) -1822747064294077:1822747064316727 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822747064317897:1822747064317898 116414:116414 MARK(name(after HIP LaunchKernel)) -1822747064321017:1822747068576644 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) -1822747075133836:1822747077187479 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) -1822747077188879:1822747077188880 116414:116414 MARK(name(before HIP LaunchKernel)) -1822747077202689:1822747077225089 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822747077226409:1822747077226410 116414:116414 MARK(name(after HIP LaunchKernel)) -1822747077229319:1822747081494496 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) -1822747087696776:1822747089772219 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) -1822747089773989:1822747089773990 116414:116414 MARK(name(before HIP LaunchKernel)) -1822747089788499:1822747089811079 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822747089812899:1822747089812900 116414:116414 MARK(name(after HIP LaunchKernel)) -1822747089815949:1822747094096777 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) -1822747100523827:1822747102603680 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) -1822747102605060:1822747102605061 116414:116414 MARK(name(before HIP LaunchKernel)) -1822747102619531:1822747102641481 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822747102642691:1822747102642692 116414:116414 MARK(name(after HIP LaunchKernel)) -1822747102645601:1822747106932618 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) -1822747113394119:1822747115459782 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) -1822747115461212:1822747115461213 116414:116414 MARK(name(before HIP LaunchKernel)) -1822747115475162:1822747115497753 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822747115499023:1822747115499024 116414:116414 MARK(name(after HIP LaunchKernel)) -1822747115515153:1822747119760390 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) -1822747126225621:1822747128302184 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) -1822747128305604:1822747128305605 116414:116414 MARK(name(before HIP LaunchKernel)) -1822747128319784:1822747128343274 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822747128344584:1822747128344585 116414:116414 MARK(name(after HIP LaunchKernel)) -1822747128348014:1822747132642992 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) -1822747139092793:1822747141161296 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) -1822747141162606:1822747141162607 116414:116414 MARK(name(before HIP LaunchKernel)) -1822747141175786:1822747141207066 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822747141208306:1822747141208307 116414:116414 MARK(name(after HIP LaunchKernel)) -1822747141211546:1822747145461953 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) -1822747151567003:1822747153656286 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) -1822747153657676:1822747153657677 116414:116414 MARK(name(before HIP LaunchKernel)) -1822747153671136:1822747153695166 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822747153696456:1822747153696457 116414:116414 MARK(name(after HIP LaunchKernel)) -1822747153699736:1822747157969813 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) -1822747164422934:1822747166485517 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) -1822747166486917:1822747166486918 116414:116414 MARK(name(before HIP LaunchKernel)) -1822747166501377:1822747166532578 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822747166533928:1822747166533929 116414:116414 MARK(name(after HIP LaunchKernel)) -1822747166537248:1822747170842615 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) -1822747177296116:1822747179360869 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) -1822747179362209:1822747179362210 116414:116414 MARK(name(before HIP LaunchKernel)) -1822747179384019:1822747179406819 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822747179408029:1822747179408030 116414:116414 MARK(name(after HIP LaunchKernel)) -1822747179411549:1822747183701457 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) -1822747190153568:1822747192218121 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) -1822747192219531:1822747192219532 116414:116414 MARK(name(before HIP LaunchKernel)) -1822747192241651:1822747192264562 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822747192268592:1822747192268593 116414:116414 MARK(name(after HIP LaunchKernel)) -1822747192271912:1822747196567838 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) -1822747203025850:1822747205089433 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) -1822747205090823:1822747205090824 116414:116414 MARK(name(before HIP LaunchKernel)) -1822747205104743:1822747205127533 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822747205128843:1822747205128844 116414:116414 MARK(name(after HIP LaunchKernel)) -1822747205131903:1822747209398351 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) -1822747215861132:1822747217941265 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) -1822747217942715:1822747217942716 116414:116414 MARK(name(before HIP LaunchKernel)) -1822747217956385:1822747217979925 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822747217981125:1822747217981126 116414:116414 MARK(name(after HIP LaunchKernel)) -1822747217984415:1822747222276732 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) -1822747228736384:1822747230805337 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) -1822747230806677:1822747230806678 116414:116414 MARK(name(before HIP LaunchKernel)) -1822747230820807:1822747230842957 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822747230844217:1822747230844218 116414:116414 MARK(name(after HIP LaunchKernel)) -1822747230847227:1822747235088114 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) -1822747241171943:1822747243246626 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) -1822747243248046:1822747243248047 116414:116414 MARK(name(before HIP LaunchKernel)) -1822747243261336:1822747243283836 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822747243285216:1822747243285217 116414:116414 MARK(name(after HIP LaunchKernel)) -1822747243288396:1822747247528633 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) -1822747253981024:1822747256039047 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) -1822747256040467:1822747256040468 116414:116414 MARK(name(before HIP LaunchKernel)) -1822747256054087:1822747256085958 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822747256087158:1822747256087159 116414:116414 MARK(name(after HIP LaunchKernel)) -1822747256090268:1822747260360155 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) -1822747266815846:1822747268892109 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) -1822747268893999:1822747268894000 116414:116414 MARK(name(before HIP LaunchKernel)) -1822747268908149:1822747268930499 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822747268931759:1822747268931760 116414:116414 MARK(name(after HIP LaunchKernel)) -1822747268934889:1822747273197947 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) -1822747279638697:1822747281720521 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) -1822747281721851:1822747281721852 116414:116414 MARK(name(before HIP LaunchKernel)) -1822747281736001:1822747281767771 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822747281769071:1822747281769072 116414:116414 MARK(name(after HIP LaunchKernel)) -1822747281772051:1822747286046009 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) -1822747292087217:1822747294175330 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) -1822747294176650:1822747294176651 116414:116414 MARK(name(before HIP LaunchKernel)) -1822747294190370:1822747294213700 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822747294214890:1822747294214891 116414:116414 MARK(name(after HIP LaunchKernel)) -1822747294218100:1822747298479718 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) -1822747304924289:1822747306988822 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) -1822747306990412:1822747306990413 116414:116414 MARK(name(before HIP LaunchKernel)) -1822747307004372:1822747307035392 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822747307036652:1822747307036653 116414:116414 MARK(name(after HIP LaunchKernel)) -1822747307039652:1822747311314729 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) -1822747317791590:1822747319871093 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) -1822747319872493:1822747319872494 116414:116414 MARK(name(before HIP LaunchKernel)) -1822747319887283:1822747319910064 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822747319911324:1822747319911325 116414:116414 MARK(name(after HIP LaunchKernel)) -1822747319914424:1822747324203491 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) -1822747330643493:1822747332700526 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) -1822747332702106:1822747332702107 116414:116414 MARK(name(before HIP LaunchKernel)) -1822747332716586:1822747332739436 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822747332740626:1822747332740627 116414:116414 MARK(name(after HIP LaunchKernel)) -1822747332744156:1822747337036843 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) -1822747343481914:1822747345556187 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) -1822747345557677:1822747345557678 116414:116414 MARK(name(before HIP LaunchKernel)) -1822747345571377:1822747345594768 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822747345596058:1822747345596059 116414:116414 MARK(name(after HIP LaunchKernel)) -1822747345599338:1822747349872305 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) -1822747355971414:1822747358047577 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) -1822747358048997:1822747358048998 116414:116414 MARK(name(before HIP LaunchKernel)) -1822747358063047:1822747358085817 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822747358087087:1822747358087088 116414:116414 MARK(name(after HIP LaunchKernel)) -1822747358090547:1822747362398395 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) -1822747368851376:1822747370900379 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) -1822747370901939:1822747370901940 116414:116414 MARK(name(before HIP LaunchKernel)) -1822747370915989:1822747370938199 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822747370939399:1822747370939400 116414:116414 MARK(name(after HIP LaunchKernel)) -1822747370942579:1822747375221076 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) -1822747381681947:1822747383754331 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) -1822747383755681:1822747383755682 116414:116414 MARK(name(before HIP LaunchKernel)) -1822747383768661:1822747383791121 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822747383792401:1822747383792402 116414:116414 MARK(name(after HIP LaunchKernel)) -1822747383795301:1822747388092428 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) -1822747394536289:1822747396603152 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) -1822747396604482:1822747396604483 116414:116414 MARK(name(before HIP LaunchKernel)) -1822747396626433:1822747396650613 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822747396651883:1822747396651884 116414:116414 MARK(name(after HIP LaunchKernel)) -1822747396656463:1822747400910100 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) -1822747407366001:1822747409448144 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) -1822747409449544:1822747409449545 116414:116414 MARK(name(before HIP LaunchKernel)) -1822747409464164:1822747409487494 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822747409488684:1822747409488685 116414:116414 MARK(name(after HIP LaunchKernel)) -1822747409492014:1822747413770062 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) -1822747419814600:1822747421885053 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) -1822747421886603:1822747421886604 116414:116414 MARK(name(before HIP LaunchKernel)) -1822747421900793:1822747421932093 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822747421933384:1822747421933385 116414:116414 MARK(name(after HIP LaunchKernel)) -1822747421936594:1822747426217111 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) -1822747432672842:1822747434748835 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) -1822747434750165:1822747434750166 116414:116414 MARK(name(before HIP LaunchKernel)) -1822747434763215:1822747434785875 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822747434787135:1822747434787136 116414:116414 MARK(name(after HIP LaunchKernel)) -1822747434790075:1822747439088443 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) -1822747445545044:1822747447609577 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) -1822747447610877:1822747447610878 116414:116414 MARK(name(before HIP LaunchKernel)) -1822747447624707:1822747447653147 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822747447654367:1822747447654368 116414:116414 MARK(name(after HIP LaunchKernel)) -1822747447657297:1822747451957375 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) -1822747458405686:1822747460450399 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) -1822747460451959:1822747460451960 116414:116414 MARK(name(before HIP LaunchKernel)) -1822747460466289:1822747460489279 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822747460490549:1822747460490550 116414:116414 MARK(name(after HIP LaunchKernel)) -1822747460493389:1822747464743566 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) -1822747471179157:1822747473254680 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) -1822747473257360:1822747473257361 116414:116414 MARK(name(before HIP LaunchKernel)) -1822747473270550:1822747473293450 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822747473294800:1822747473294801 116414:116414 MARK(name(after HIP LaunchKernel)) -1822747473297950:1822747477591398 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) -1822747484028118:1822747486091922 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) -1822747486093502:1822747486093503 116414:116414 MARK(name(before HIP LaunchKernel)) -1822747486106882:1822747486130172 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822747486131372:1822747486131373 116414:116414 MARK(name(after HIP LaunchKernel)) -1822747486134422:1822747490419139 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) -1822747496865051:1822747498943064 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) -1822747498944464:1822747498944465 116414:116414 MARK(name(before HIP LaunchKernel)) -1822747498958554:1822747498980754 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822747498982014:1822747498982015 116414:116414 MARK(name(after HIP LaunchKernel)) -1822747498984894:1822747503268461 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) -1822747509756563:1822747511818276 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) -1822747511819686:1822747511819687 116414:116414 MARK(name(before HIP LaunchKernel)) -1822747511833116:1822747511855426 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822747511856726:1822747511856727 116414:116414 MARK(name(after HIP LaunchKernel)) -1822747511859826:1822747516150013 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) -1822747522597635:1822747524670938 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) -1822747524672268:1822747524672269 116414:116414 MARK(name(before HIP LaunchKernel)) -1822747524685428:1822747524707998 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822747524709218:1822747524709219 116414:116414 MARK(name(after HIP LaunchKernel)) -1822747524712398:1822747528987975 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) -1822747535047784:1822747537113067 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) -1822747537114857:1822747537114858 116414:116414 MARK(name(before HIP LaunchKernel)) -1822747537138907:1822747537163577 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822747537164877:1822747537164878 116414:116414 MARK(name(after HIP LaunchKernel)) -1822747537167957:1822747541436424 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) -1822747547534253:1822747549612217 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) -1822747549613767:1822747549613768 116414:116414 MARK(name(before HIP LaunchKernel)) -1822747549627617:1822747549651057 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822747549652307:1822747549652308 116414:116414 MARK(name(after HIP LaunchKernel)) -1822747549655577:1822747553933694 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) -1822747560390115:1822747562453868 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) -1822747562455438:1822747562455439 116414:116414 MARK(name(before HIP LaunchKernel)) -1822747562469358:1822747562501949 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822747562503169:1822747562503170 116414:116414 MARK(name(after HIP LaunchKernel)) -1822747562506189:1822747566818226 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) -1822747572878324:1822747574942608 116414:116414 hipMemcpy(dst(0x7f074e800000) src(0x14fd940) size(0x400000) kind(1)) -1822747574943958:1822747574943959 116414:116414 MARK(name(before HIP LaunchKernel)) -1822747574958378:1822747574981108 116414:116414 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -1822747574982378:1822747574982379 116414:116414 MARK(name(after HIP LaunchKernel)) -1822747574985538:1822747579262875 116414:116414 hipMemcpy(dst(0x18fd950) src(0x7f074e200000) size(0x400000) kind(2)) -1822747585404054:1822747585512165 116414:116414 hipFree(ptr(0x7f074e800000)) -1822747585513895:1822747585531215 116414:116414 hipFree(ptr(0x7f074e200000)) -1822745838864805:1822745838865295 116414:116414 hsa_agent_get_info(, 17, 0x7ffcc96c5e74) = 0 -1822745838866635:1822745838867175 116414:116414 hsa_agent_get_info(, 17, 0x7ffcc96c5e74) = 0 -1822745838866635:1822745838868025 116414:116414 hsa_iterate_agents(1, 0x1120fe8) = 0 -1822745838868896:1822745838869216 116414:116414 hsa_agent_get_info(, 17, 0x7ffcc96c607c) = 0 -1822745838868896:1822745838869656 116414:116414 hsa_iterate_agents(1, 0x1120fe0) = 1 -1822745838878436:1822745838878816 116414:116414 hsa_agent_get_info(, 4, 0x7ffcc96c5d80) = 0 -1822745838879306:1822745838882766 116414:116414 hsa_agent_get_info(, 0, 0x7ffcc96c5d40) = 0 -1822745838883246:1822745838883586 116414:116414 hsa_agent_get_info(, 16, 0x1118fd8) = 0 -1822745838897646:1822745838897996 116414:116414 hsa_agent_get_info(, 21, 0x1118f70) = 0 -1822745838898446:1822745838898776 116414:116414 hsa_agent_get_info(, 22, 0x1118f72) = 0 -1822745838899226:1822745838899566 116414:116414 hsa_agent_get_info(, 14, 0x1118e10) = 0 -1822745838902156:1822745838902776 116414:116414 hsa_amd_profiling_async_copy_enable() = 0 -1822745838906586:1822745838907436 116414:116414 hsa_amd_memory_pool_get_info(, 0, 0x7ffcc96c5a1c) = 0 -1822745838907946:1822745838908276 116414:116414 hsa_amd_memory_pool_get_info(, 0, 0x7ffcc96c5a1c) = 0 -1822745838908726:1822745838909056 116414:116414 hsa_amd_memory_pool_get_info(, 2, 0x7ffcc96c5a20) = 0 -1822745838908726:1822745838909506 116414:116414 hsa_amd_agent_iterate_memory_pools(, 1, 0x1118e08) = 1 -1822745838910296:1822745838910626 116414:116414 hsa_amd_memory_pool_get_info(, 0, 0x7ffcc96c5874) = 0 -1822745838911066:1822745838911396 116414:116414 hsa_amd_memory_pool_get_info(, 1, 0x7ffcc96c5864) = 0 -1822745838911836:1822745838912156 116414:116414 hsa_amd_memory_pool_get_info(, 2, 0x7ffcc96c5868) = 0 -1822745838912706:1822745838913026 116414:116414 hsa_amd_memory_pool_get_info(, 0, 0x7ffcc96c5874) = 0 -1822745838912706:1822745838913486 116414:116414 hsa_amd_agent_iterate_memory_pools(, 1, 0x1118ec8) = 0 -1822745838914286:1822745838914616 116414:116414 hsa_amd_memory_pool_get_info(, 0, 0x7ffcc96c5a2c) = 0 -1822745838915046:1822745838915376 116414:116414 hsa_amd_memory_pool_get_info(, 1, 0x7ffcc96c589c) = 0 -1822745838915816:1822745838916136 116414:116414 hsa_amd_memory_pool_get_info(, 2, 0x7ffcc96c5890) = 0 -1822745838916906:1822745838917226 116414:116414 hsa_amd_memory_pool_get_info(, 0, 0x7ffcc96c5a2c) = 0 -1822745838917656:1822745838917976 116414:116414 hsa_amd_memory_pool_get_info(, 1, 0x7ffcc96c589c) = 0 -1822745838918406:1822745838918726 116414:116414 hsa_amd_memory_pool_get_info(, 2, 0x7ffcc96c5890) = 0 -1822745838918406:1822745838919186 116414:116414 hsa_amd_agent_iterate_memory_pools(, 1, 0x1118ec8) = 0 -1822745838921716:1822745839063337 116414:116414 hsa_amd_memory_pool_allocate(, , , 0x7ffcc96c5b18) = 0 -1822745839067757:1822745839136437 116414:116414 hsa_amd_agents_allow_access(, 0x1118e00, 0, 0x7f077be80000) = 0 -1822745839146337:1822745839146717 116414:116414 hsa_agent_get_info(, 8, 0x1118f24) = 0 -1822745839147187:1822745839147507 116414:116414 hsa_agent_get_info(, 7, 0x1118f28) = 0 -1822745839147957:1822745839148277 116414:116414 hsa_agent_get_info(, 4, 0x7ffcc96c5f80) = 0 -1822745839153787:1822745839154177 116414:116414 hsa_amd_memory_pool_get_info(, 0, 0x7ffcc96c58dc) = 0 -1822745839154797:1822745839155117 116414:116414 hsa_amd_memory_pool_get_info(, 1, 0x7ffcc96c58d8) = 0 -1822745839155657:1822745839155977 116414:116414 hsa_amd_memory_pool_get_info(, 0, 0x7ffcc96c58dc) = 0 -1822745839156457:1822745839156797 116414:116414 hsa_amd_memory_pool_get_info(, 1, 0x7ffcc96c58d8) = 0 -1822745839156457:1822745839157297 116414:116414 hsa_amd_agent_iterate_memory_pools(, 1, 0x7ffcc96c5b10) = 0 -1822745839158167:1822745839158517 116414:116414 hsa_agent_get_info(, 17, 0x7ffcc96c5904) = 0 -1822745839158997:1822745839159337 116414:116414 hsa_agent_get_info(, 17, 0x7ffcc96c5904) = 0 -1822745839158997:1822745839159857 116414:116414 hsa_iterate_agents(1, 0x7ffcc96c5a70) = 0 -1822745839160547:1822745840209184 116414:116414 hsa_amd_memory_pool_allocate(, , , 0x1119340) = 0 -1822745840210754:1822745840361735 116414:116414 hsa_amd_agents_allow_access(, 0x1100a00, 0, 0x7f0760400000) = 0 -1822745840365565:1822745840370505 116414:116414 hsa_signal_create(0, , 0, 0x1119360) = 0 -1822745840370975:1822745840372085 116414:116414 hsa_signal_create(0, , 0, 0x1119380) = 0 -1822745840372845:1822745841339691 116414:116414 hsa_amd_memory_pool_allocate(, , , 0x1119348) = 0 -1822745841341081:1822745841483972 116414:116414 hsa_amd_agents_allow_access(, 0x1100a00, 0, 0x7f074fa00000) = 0 -1822745841486242:1822745841489022 116414:116414 hsa_signal_create(0, , 0, 0x1119368) = 0 -1822745841489422:1822745841490542 116414:116414 hsa_signal_create(0, , 0, 0x1119388) = 0 -1822745841492512:1822745841493102 116414:116414 hsa_amd_memory_pool_get_info(, 0, 0x7ffcc96c58dc) = 0 -1822745841493572:1822745841493852 116414:116414 hsa_amd_memory_pool_get_info(, 1, 0x7ffcc96c58d8) = 0 -1822745841494312:1822745841494602 116414:116414 hsa_amd_memory_pool_get_info(, 0, 0x7ffcc96c58dc) = 0 -1822745841495022:1822745841495302 116414:116414 hsa_amd_memory_pool_get_info(, 1, 0x7ffcc96c58d8) = 0 -1822745841495022:1822745841495732 116414:116414 hsa_amd_agent_iterate_memory_pools(, 1, 0x7ffcc96c5b10) = 0 -1822745841497002:1822745841497712 116414:116414 hsa_agent_get_info(, 17, 0x7ffcc96c5904) = 0 -1822745841498132:1822745841498612 116414:116414 hsa_agent_get_info(, 17, 0x7ffcc96c5904) = 0 -1822745841498132:1822745841499052 116414:116414 hsa_iterate_agents(1, 0x7ffcc96c5a70) = 0 -1822745841504172:1822745842421788 116414:116414 hsa_amd_memory_pool_allocate(, , , 0x1119920) = 0 -1822745842423278:1822745842568269 116414:116414 hsa_amd_agents_allow_access(, 0x1100150, 0, 0x7f074f400000) = 0 -1822745842569509:1822745842571469 116414:116414 hsa_signal_create(0, , 0, 0x1119940) = 0 -1822745842571879:1822745842572669 116414:116414 hsa_signal_create(0, , 0, 0x1119960) = 0 -1822745842573259:1822745843500275 116414:116414 hsa_amd_memory_pool_allocate(, , , 0x1119928) = 0 -1822745843502365:1822745843637306 116414:116414 hsa_amd_agents_allow_access(, 0x1100150, 0, 0x7f074ee00000) = 0 -1822745843638486:1822745843640556 116414:116414 hsa_signal_create(0, , 0, 0x1119948) = 0 -1822745843640966:1822745843641846 116414:116414 hsa_signal_create(0, , 0, 0x1119968) = 0 -1822745843658626:1822745843725117 116414:116414 hsa_amd_memory_lock(0x7f077b3a86f0, , 0x10ffc50, 1, 0x7f077b3a86f8) = 0 -1822745843739687:1822745843740347 116414:116414 hsa_agent_get_info(, 17, 0x7ffcc96c63b4) = 0 -1822745843739687:1822745843740767 116414:116414 hsa_iterate_agents(1, 0x7f077a770f08) = 1 -1822745843743707:1822745843744287 116414:116414 hsa_agent_get_info(, 40962, 0x111a068) = 0 -1822745843745907:1822745843746197 116414:116414 hsa_agent_get_info(, 17, 0x7ffcc96c61cc) = 0 -1822745843746697:1822745843746997 116414:116414 hsa_agent_get_info(, 17, 0x7ffcc96c61cc) = 0 -1822745843746697:1822745843747387 116414:116414 hsa_iterate_agents(1, 0x7ffcc96c631c) = 0 -1822745843747777:1822745843748127 116414:116414 hsa_agent_get_info(, 40969, 0x111a070) = 0 -1822745843748517:1822745843761367 116414:116414 hsa_agent_get_info(, 0, 0x7ffcc96c6390) = 0 -1822745843763977:1822745843764287 116414:116414 hsa_agent_get_info(, 16, 0x7ffcc96c634c) = 0 -1822745843764677:1822745843764977 116414:116414 hsa_agent_get_info(, 6, 0x111a184) = 0 -1822745843765367:1822745843765667 116414:116414 hsa_agent_get_info(, 8, 0x111a188) = 0 -1822745843766057:1822745843766347 116414:116414 hsa_agent_get_info(, 7, 0x7ffcc96c630e) = 0 -1822745843766747:1822745843767027 116414:116414 hsa_agent_get_info(, 9, 0x7ffcc96c6330) = 0 -1822745843767427:1822745843767717 116414:116414 hsa_agent_get_info(, 40963, 0x111a1a4) = 0 -1822745843769647:1822745843769947 116414:116414 hsa_system_get_info(3, 0x7ffcc96c6340) = 0 -1822745843770347:1822745843770647 116414:116414 hsa_agent_get_info(, 40966, 0x7ffcc96c630c) = 0 -1822745843771047:1822745843771337 116414:116414 hsa_agent_get_info(, 40975, 0x111a1dc) = 0 -1822745843771737:1822745843772017 116414:116414 hsa_agent_get_info(, 40962, 0x111a1c0) = 0 -1822745843772407:1822745843772707 116414:116414 hsa_agent_get_info(, 18, 0x7ffcc96c6380) = 0 -1822745843773197:1822745843773487 116414:116414 hsa_agent_get_info(, 40970, 0x7ffcc96c6318) = 0 -1822745843779967:1822745843780487 116414:116414 hsa_amd_memory_pool_get_info(, 0, 0x7ffcc96c618c) = 0 -1822745843783457:1822745843783757 116414:116414 hsa_amd_memory_pool_get_info(, 0, 0x7ffcc96c618c) = 0 -1822745843784217:1822745843784507 116414:116414 hsa_amd_memory_pool_get_info(, 2, 0x111a178) = 0 -1822745843784217:1822745843784957 116414:116414 hsa_amd_agent_iterate_memory_pools(, 1, 0x111a070) = 0 -1822745843817537:1822745843819237 116414:116414 hsa_signal_create(1, , 0x7ffcc96c6048, 0x111d3e8) = 0 -1822745843826787:1822745843827217 116414:116414 hsa_region_get_info(, 2, 0x111a170) = 0 -1822745843827627:1822745843828007 116414:116414 hsa_region_get_info(, 40963, 0x111a1a8) = 0 -1822745843828397:1822745843828687 116414:116414 hsa_region_get_info(, 40962, 0x111a1ac) = 0 -1822745843829097:1822745843829417 116414:116414 hsa_agent_get_info(, 4, 0x7ffcc96c6314) = 0 -1822745843829807:1822745843897558 116414:116414 hsa_agent_get_info(, 12288, 0x111a208) = 0 -1822745843898058:1822745843898438 116414:116414 hsa_agent_get_info(, 12291, 0x111a20c) = 0 -1822745843898838:1822745843899178 116414:116414 hsa_agent_get_info(, 12295, 0x111a214) = 0 -1822745843899578:1822745843899878 116414:116414 hsa_agent_get_info(, 40974, 0x7ffcc96c6370) = 0 -1822745843900268:1822745843900558 116414:116414 hsa_agent_get_info(, 19, 0x7ffcc96c6328) = 0 -1822745843902748:1822745843936028 116414:116414 hsa_isa_get_info_alt(, 0, 0x7ffcc96c6320) = 0 -1822745843939378:1822745843942918 116414:116414 hsa_isa_get_info_alt(, 1, 0x11191f0) = 0 -1822745843965978:1822745843966318 116414:116414 hsa_system_get_info(3, 0x7ffcc96c6750) = 0 -1822745843967228:1822745843967768 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6750) = 0 -1822745843971488:1822745843972028 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6750) = 0 -1822745846473634:1822745846474264 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6750) = 0 -1822745846484914:1822745846587705 116414:116414 hsa_amd_memory_pool_allocate(, , , 0x7ffcc96c64a8) = 0 -1822745846592315:1822745846592865 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6750) = 0 -1822745846594105:1822745846594645 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6750) = 0 -1822745846595565:1822745846653206 116414:116414 hsa_amd_memory_pool_allocate(, , , 0x7ffcc96c64a8) = 0 -1822745846654406:1822745846654946 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6750) = 0 -1822745846665836:1822745846666376 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822745846687396:1822745846687936 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822745846690466:1822745846690756 116414:116414 hsa_system_get_info(3, 0x7ffcc96c6318) = 0 -1822745846694326:1822745846694866 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822745846700276:1822745846701166 116414:116414 hsa_signal_store_screlease(, 0) = void -1822745846701576:1822745846702136 116414:116414 hsa_signal_store_screlease(, 0) = void -1822745846703646:1822745846704306 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822745847229929:1822745847230429 116414:116414 hsa_signal_store_screlease(, 1) = void -1822745847232589:1822745853512519 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 -1822745853516229:1822745854941278 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822745854941728:1822745854942148 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822745854958308:1822745854958868 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822745854959758:1822745854960048 116414:116414 hsa_system_get_info(3, 0x7ffcc96c61a0) = 0 -1822745854963078:1822745854963618 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746012614062:1822746012617122 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7ffcc96c6610) = 0 -1822746012845913:1822746012846523 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7ffcc96c6610) = 0 -1822746016793828:1822746016796628 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7ffcc96c6610) = 0 -1822746016800158:1822746016801078 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7ffcc96c6610) = 0 -1822746016803218:1822746016803878 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7ffcc96c6610) = 0 -1822746016806168:1822746016806918 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7ffcc96c6610) = 0 -1822746016867579:1822746016868049 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7ffcc96c6610) = 0 -1822746016869949:1822746016870599 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7ffcc96c6610) = 0 -1822746016872579:1822746016873209 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7ffcc96c6610) = 0 -1822746016875309:1822746016875839 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7ffcc96c6610) = 0 -1822746016934009:1822746016934489 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7ffcc96c6610) = 0 -1822746016936889:1822746016937409 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7ffcc96c6610) = 0 -1822746016939679:1822746016940199 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7ffcc96c6610) = 0 -1822746016942589:1822746016943109 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7ffcc96c6610) = 0 -1822746017001010:1822746017001530 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7ffcc96c6610) = 0 -1822746017003660:1822746017004170 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7ffcc96c6610) = 0 -1822746017006870:1822746017007420 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7ffcc96c6610) = 0 -1822746017009390:1822746017009900 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7ffcc96c6610) = 0 -1822746017074520:1822746017075060 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7ffcc96c6610) = 0 -1822746017077300:1822746017077750 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7ffcc96c6610) = 0 -1822746017080040:1822746017080490 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7ffcc96c6610) = 0 -1822746017082570:1822746017083120 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7ffcc96c6610) = 0 -1822746017140200:1822746017140720 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7ffcc96c6610) = 0 -1822746017142580:1822746017143180 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7ffcc96c6610) = 0 -1822746017145290:1822746017145830 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7ffcc96c6610) = 0 -1822746017147670:1822746017148190 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7ffcc96c6610) = 0 -1822746017204571:1822746017205021 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7ffcc96c6610) = 0 -1822746017207251:1822746017207701 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7ffcc96c6610) = 0 -1822746017209541:1822746017210061 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7ffcc96c6610) = 0 -1822746017211861:1822746017212371 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7ffcc96c6610) = 0 -1822746017270161:1822746017270851 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7ffcc96c6610) = 0 -1822746017272781:1822746017273311 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7ffcc96c6610) = 0 -1822746017275131:1822746017275651 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7ffcc96c6610) = 0 -1822746017277381:1822746017277891 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7ffcc96c6610) = 0 -1822746017335432:1822746017335912 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7ffcc96c6610) = 0 -1822746017338152:1822746017338672 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7ffcc96c6610) = 0 -1822746017340862:1822746017341382 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7ffcc96c6610) = 0 -1822746017344602:1822746017345062 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7ffcc96c6610) = 0 -1822746017527473:1822746017527993 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7ffcc96c6610) = 0 -1822746017530963:1822746017531423 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7ffcc96c6610) = 0 -1822746017534723:1822746017535183 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7ffcc96c6610) = 0 -1822746017539073:1822746017539613 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7ffcc96c6610) = 0 -1822746017597893:1822746017598603 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7ffcc96c6610) = 0 -1822746017600493:1822746017601093 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7ffcc96c6610) = 0 -1822746017603063:1822746017603523 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7ffcc96c6610) = 0 -1822746017605373:1822746017606133 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7ffcc96c6610) = 0 -1822746017663164:1822746017663624 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7ffcc96c6610) = 0 -1822746017665314:1822746017665834 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7ffcc96c6610) = 0 -1822746017668134:1822746017668594 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7ffcc96c6610) = 0 -1822746017670294:1822746017670804 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7ffcc96c6610) = 0 -1822746017764394:1822746017764874 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7ffcc96c6610) = 0 -1822746017767164:1822746017767684 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7ffcc96c6610) = 0 -1822746017769894:1822746017770414 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7ffcc96c6610) = 0 -1822746017772154:1822746017772674 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7ffcc96c6610) = 0 -1822746017829675:1822746017830335 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7ffcc96c6610) = 0 -1822746017832375:1822746017832885 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7ffcc96c6610) = 0 -1822746017835445:1822746017835965 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7ffcc96c6610) = 0 -1822746017838005:1822746017838455 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7ffcc96c6610) = 0 -1822746017895195:1822746017895735 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7ffcc96c6610) = 0 -1822746017897715:1822746017898325 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7ffcc96c6610) = 0 -1822746017900335:1822746017900795 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7ffcc96c6610) = 0 -1822746017902835:1822746017903355 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7ffcc96c6610) = 0 -1822746017960856:1822746017961256 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7ffcc96c6610) = 0 -1822746017963036:1822746017963506 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7ffcc96c6610) = 0 -1822746017965616:1822746017966126 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7ffcc96c6610) = 0 -1822746017968586:1822746017969106 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7ffcc96c6610) = 0 -1822746018025206:1822746018025716 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7ffcc96c6610) = 0 -1822746018028306:1822746018028816 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7ffcc96c6610) = 0 -1822746018031046:1822746018031566 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7ffcc96c6610) = 0 -1822746018033936:1822746018034466 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7ffcc96c6610) = 0 -1822746018091297:1822746018091757 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7ffcc96c6610) = 0 -1822746018093697:1822746018094207 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7ffcc96c6610) = 0 -1822746018096517:1822746018097377 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7ffcc96c6610) = 0 -1822746018099217:1822746018099747 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7ffcc96c6610) = 0 -1822746018155967:1822746018156437 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7ffcc96c6610) = 0 -1822746018160057:1822746018160657 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7ffcc96c6610) = 0 -1822746018162757:1822746018163437 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7ffcc96c6610) = 0 -1822746018165107:1822746018165567 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7ffcc96c6610) = 0 -1822746018221307:1822746018221817 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7ffcc96c6610) = 0 -1822746018223687:1822746018224217 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7ffcc96c6610) = 0 -1822746018226157:1822746018226677 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7ffcc96c6610) = 0 -1822746018228677:1822746018229207 116414:116414 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7ffcc96c6610) = 0 -1822746110461644:1822746110469244 116414:116414 hsa_executable_create_alt(1, 0, -1822746256712946:1822746256716936 116414:116414 hsa_code_object_reader_create_from_memory(0x6a381b0, , 0x6662170) = 0 -1822746256720556:1822746257098998 116414:116414 hsa_executable_load_agent_code_object(, , , -1822746257101078:1822746257161869 116414:116414 hsa_executable_freeze(, -1822746257172039:1822746257173319 116414:116414 hsa_executable_create_alt(1, 0, -1822746257186299:1822746257186669 116414:116414 hsa_code_object_reader_create_from_memory(0x6a39720, , 0x667c5a0) = 0 -1822746257187119:1822746257312030 116414:116414 hsa_executable_load_agent_code_object(, , , -1822746257312920:1822746257356540 116414:116414 hsa_executable_freeze(, -1822746257362660:1822746257363500 116414:116414 hsa_executable_create_alt(1, 0, -1822746257373630:1822746257374020 116414:116414 hsa_code_object_reader_create_from_memory(0x6a3ac90, , 0x6697480) = 0 -1822746257374460:1822746257500421 116414:116414 hsa_executable_load_agent_code_object(, , , -1822746257501171:1822746257540031 116414:116414 hsa_executable_freeze(, -1822746257545971:1822746257546701 116414:116414 hsa_executable_create_alt(1, 0, -1822746257557251:1822746257557611 116414:116414 hsa_code_object_reader_create_from_memory(0x6a3c670, , 0x66af7a0) = 0 -1822746257558061:1822746257674412 116414:116414 hsa_executable_load_agent_code_object(, , , -1822746257675172:1822746257715262 116414:116414 hsa_executable_freeze(, -1822746257720962:1822746257721652 116414:116414 hsa_executable_create_alt(1, 0, -1822746257732452:1822746257732822 116414:116414 hsa_code_object_reader_create_from_memory(0x6a3dfd0, , 0x66c6750) = 0 -1822746257733282:1822746257849543 116414:116414 hsa_executable_load_agent_code_object(, , , -1822746257850303:1822746257890183 116414:116414 hsa_executable_freeze(, -1822746257896133:1822746257896993 116414:116414 hsa_executable_create_alt(1, 0, -1822746257909843:1822746257910243 116414:116414 hsa_code_object_reader_create_from_memory(0x6aaab60, , 0x66dbe40) = 0 -1822746257910683:1822746258030784 116414:116414 hsa_executable_load_agent_code_object(, , , -1822746258031634:1822746258070614 116414:116414 hsa_executable_freeze(, -1822746258076394:1822746258077154 116414:116414 hsa_executable_create_alt(1, 0, -1822746258087464:1822746258087844 116414:116414 hsa_code_object_reader_create_from_memory(0x6aac0d0, , 0x66ef250) = 0 -1822746258088294:1822746258207445 116414:116414 hsa_executable_load_agent_code_object(, , , -1822746258208245:1822746258246955 116414:116414 hsa_executable_freeze(, -1822746258252595:1822746258253325 116414:116414 hsa_executable_create_alt(1, 0, -1822746258263875:1822746258264325 116414:116414 hsa_code_object_reader_create_from_memory(0x6aad640, , 0x6703160) = 0 -1822746258264775:1822746258380106 116414:116414 hsa_executable_load_agent_code_object(, , , -1822746258380886:1822746258420086 116414:116414 hsa_executable_freeze(, -1822746258425756:1822746258426666 116414:116414 hsa_executable_create_alt(1, 0, -1822746258439067:1822746258439447 116414:116414 hsa_code_object_reader_create_from_memory(0x6aaebb0, , 0x6714630) = 0 -1822746258439887:1822746258555897 116414:116414 hsa_executable_load_agent_code_object(, , , -1822746258556677:1822746258595328 116414:116414 hsa_executable_freeze(, -1822746258601478:1822746258602068 116414:116414 hsa_executable_create_alt(1, 0, -1822746258622128:1822746258622538 116414:116414 hsa_code_object_reader_create_from_memory(0x6abf850, , 0x6726780) = 0 -1822746258622988:1822746258756259 116414:116414 hsa_executable_load_agent_code_object(, , , -1822746258757039:1822746258798919 116414:116414 hsa_executable_freeze(, -1822746258804949:1822746258805739 116414:116414 hsa_executable_create_alt(1, 0, -1822746258817549:1822746258817929 116414:116414 hsa_code_object_reader_create_from_memory(0x6ac6130, , 0x673b0c0) = 0 -1822746258818379:1822746258936190 116414:116414 hsa_executable_load_agent_code_object(, , , -1822746258936950:1822746258976860 116414:116414 hsa_executable_freeze(, -1822746258982530:1822746258983350 116414:116414 hsa_executable_create_alt(1, 0, -1822746258994080:1822746258994500 116414:116414 hsa_code_object_reader_create_from_memory(0x6ac76a0, , 0x67498b0) = 0 -1822746258994950:1822746259108911 116414:116414 hsa_executable_load_agent_code_object(, , , -1822746259109691:1822746259149691 116414:116414 hsa_executable_freeze(, -1822746259155131:1822746259155921 116414:116414 hsa_executable_create_alt(1, 0, -1822746259170591:1822746259170971 116414:116414 hsa_code_object_reader_create_from_memory(0x6acd750, , 0x6763d90) = 0 -1822746259171411:1822746259290812 116414:116414 hsa_executable_load_agent_code_object(, , , -1822746259291552:1822746259330572 116414:116414 hsa_executable_freeze(, -1822746259336192:1822746259336992 116414:116414 hsa_executable_create_alt(1, 0, -1822746259347902:1822746259348282 116414:116414 hsa_code_object_reader_create_from_memory(0x6ac8c10, , 0x677c550) = 0 -1822746259348732:1822746259467703 116414:116414 hsa_executable_load_agent_code_object(, , , -1822746259468453:1822746259508453 116414:116414 hsa_executable_freeze(, -1822746259514053:1822746259514783 116414:116414 hsa_executable_create_alt(1, 0, -1822746259525393:1822746259525763 116414:116414 hsa_code_object_reader_create_from_memory(0x6aca180, , 0x67979f0) = 0 -1822746259526213:1822746259640614 116414:116414 hsa_executable_load_agent_code_object(, , , -1822746259641384:1822746259681794 116414:116414 hsa_executable_freeze(, -1822746259687194:1822746259687974 116414:116414 hsa_executable_create_alt(1, 0, -1822746259698134:1822746259698514 116414:116414 hsa_code_object_reader_create_from_memory(0x6acb6f0, , 0x67b1160) = 0 -1822746259698964:1822746259814605 116414:116414 hsa_executable_load_agent_code_object(, , , -1822746259815395:1822746259853815 116414:116414 hsa_executable_freeze(, -1822746259859295:1822746259860175 116414:116414 hsa_executable_create_alt(1, 0, -1822746259870295:1822746259870755 116414:116414 hsa_code_object_reader_create_from_memory(0x6ab0120, , 0x67bf080) = 0 -1822746259871215:1822746259986606 116414:116414 hsa_executable_load_agent_code_object(, , , -1822746259987396:1822746260041437 116414:116414 hsa_executable_freeze(, -1822746260043467:1822746260044077 116414:116414 hsa_executable_create_alt(1, 0, -1822746260054487:1822746260054857 116414:116414 hsa_code_object_reader_create_from_memory(0x6ab1690, , 0x67d7900) = 0 -1822746260055297:1822746260171737 116414:116414 hsa_executable_load_agent_code_object(, , , -1822746260172517:1822746260210558 116414:116414 hsa_executable_freeze(, -1822746260216698:1822746260217748 116414:116414 hsa_executable_create_alt(1, 0, -1822746260229578:1822746260230008 116414:116414 hsa_code_object_reader_create_from_memory(0x6ab2c00, , 0x67f5420) = 0 -1822746260230518:1822746260349979 116414:116414 hsa_executable_load_agent_code_object(, , , -1822746260350849:1822746260389269 116414:116414 hsa_executable_freeze(, -1822746260395479:1822746260396299 116414:116414 hsa_executable_create_alt(1, 0, -1822746260406959:1822746260407379 116414:116414 hsa_code_object_reader_create_from_memory(0x6ab42d0, , 0x680bc60) = 0 -1822746260409619:1822746260529400 116414:116414 hsa_executable_load_agent_code_object(, , , -1822746260530280:1822746260568970 116414:116414 hsa_executable_freeze(, -1822746260632020:1822746260632760 116414:116414 hsa_executable_create_alt(1, 0, -1822746260658031:1822746260658531 116414:116414 hsa_code_object_reader_create_from_memory(0x69ef840, , 0x682bbe0) = 0 -1822746260659031:1822746260787191 116414:116414 hsa_executable_load_agent_code_object(, , , -1822746260788061:1822746260828412 116414:116414 hsa_executable_freeze(, -1822746260836172:1822746260837402 116414:116414 hsa_executable_create_alt(1, 0, -1822746260855362:1822746260855802 116414:116414 hsa_code_object_reader_create_from_memory(0x69fa1a0, , 0x68423e0) = 0 -1822746260856332:1822746260985623 116414:116414 hsa_executable_load_agent_code_object(, , , -1822746260987213:1822746261027993 116414:116414 hsa_executable_freeze(, -1822746260987213:1822746261038183 116414:116414 hsa_agent_iterate_isas(, 1, 0x7ffcc96c6558) = 0 -1822746261041573:1822746261042413 116414:116414 hsa_executable_iterate_agent_symbols(, , 1, 0x10fde00) = 0 -1822746261042893:1822746261043243 116414:116414 hsa_executable_iterate_agent_symbols(, , 1, 0x10fde00) = 0 -1822746261043673:1822746261044013 116414:116414 hsa_executable_iterate_agent_symbols(, , 1, 0x10fde00) = 0 -1822746261044443:1822746261044773 116414:116414 hsa_executable_iterate_agent_symbols(, , 1, 0x10fde00) = 0 -1822746261045213:1822746261045543 116414:116414 hsa_executable_iterate_agent_symbols(, , 1, 0x10fde00) = 0 -1822746261045973:1822746261046323 116414:116414 hsa_executable_iterate_agent_symbols(, , 1, 0x10fde00) = 0 -1822746261046753:1822746261047093 116414:116414 hsa_executable_iterate_agent_symbols(, , 1, 0x10fde00) = 0 -1822746261047523:1822746261047853 116414:116414 hsa_executable_iterate_agent_symbols(, , 1, 0x10fde00) = 0 -1822746261048283:1822746261048623 116414:116414 hsa_executable_iterate_agent_symbols(, , 1, 0x10fde00) = 0 -1822746261050613:1822746261051313 116414:116414 hsa_executable_symbol_get_info(, 0, 0x7ffcc96c6478) = 0 -1822746261051813:1822746261052153 116414:116414 hsa_executable_symbol_get_info(, 1, 0x7ffcc96c6474) = 0 -1822746261052703:1822746261053073 116414:116414 hsa_executable_symbol_get_info(, 2, 0x6ac5690) = 0 -1822746261053933:1822746261054263 116414:116414 hsa_executable_symbol_get_info(, 0, 0x7ffcc96c6478) = 0 -1822746261054703:1822746261055023 116414:116414 hsa_executable_symbol_get_info(, 1, 0x7ffcc96c6474) = 0 -1822746261055823:1822746261056183 116414:116414 hsa_executable_symbol_get_info(, 2, 0x5d5f1c0) = 0 -1822746261056913:1822746261057243 116414:116414 hsa_executable_symbol_get_info(, 0, 0x7ffcc96c6478) = 0 -1822746261057673:1822746261057993 116414:116414 hsa_executable_symbol_get_info(, 1, 0x7ffcc96c6474) = 0 -1822746261060253:1822746261060613 116414:116414 hsa_executable_symbol_get_info(, 2, 0x6062190) = 0 -1822746261061373:1822746261061703 116414:116414 hsa_executable_symbol_get_info(, 0, 0x7ffcc96c6478) = 0 -1822746261062133:1822746261062453 116414:116414 hsa_executable_symbol_get_info(, 1, 0x7ffcc96c6474) = 0 -1822746261062973:1822746261063323 116414:116414 hsa_executable_symbol_get_info(, 2, 0x694f760) = 0 -1822746261064013:1822746261064333 116414:116414 hsa_executable_symbol_get_info(, 0, 0x7ffcc96c6478) = 0 -1822746261064773:1822746261065093 116414:116414 hsa_executable_symbol_get_info(, 1, 0x7ffcc96c6474) = 0 -1822746261065563:1822746261065903 116414:116414 hsa_executable_symbol_get_info(, 2, 0x6ac50b0) = 0 -1822746261067023:1822746261067353 116414:116414 hsa_executable_symbol_get_info(, 0, 0x7ffcc96c6478) = 0 -1822746261067783:1822746261068103 116414:116414 hsa_executable_symbol_get_info(, 1, 0x7ffcc96c6474) = 0 -1822746261068583:1822746261068923 116414:116414 hsa_executable_symbol_get_info(, 2, 0x67c4800) = 0 -1822746261068583:1822746261069563 116414:116414 hsa_executable_iterate_agent_symbols(, , 1, 0x10fde00) = 0 -1822746261070003:1822746261070363 116414:116414 hsa_executable_iterate_agent_symbols(, , 1, 0x10fde00) = 0 -1822746261070793:1822746261071133 116414:116414 hsa_executable_iterate_agent_symbols(, , 1, 0x10fde00) = 0 -1822746261071913:1822746261072243 116414:116414 hsa_executable_symbol_get_info(, 0, 0x7ffcc96c6478) = 0 -1822746261072673:1822746261072993 116414:116414 hsa_executable_symbol_get_info(, 1, 0x7ffcc96c6474) = 0 -1822746261073483:1822746261073833 116414:116414 hsa_executable_symbol_get_info(, 2, 0x60dda00) = 0 -1822746261073483:1822746261074483 116414:116414 hsa_executable_iterate_agent_symbols(, , 1, 0x10fde00) = 0 -1822746261074913:1822746261075253 116414:116414 hsa_executable_iterate_agent_symbols(, , 1, 0x10fde00) = 0 -1822746261075693:1822746261076023 116414:116414 hsa_executable_iterate_agent_symbols(, , 1, 0x10fde00) = 0 -1822746261076453:1822746261076793 116414:116414 hsa_executable_iterate_agent_symbols(, , 1, 0x10fde00) = 0 -1822746261077223:1822746261077553 116414:116414 hsa_executable_iterate_agent_symbols(, , 1, 0x10fde00) = 0 -1822746261077993:1822746261078323 116414:116414 hsa_executable_iterate_agent_symbols(, , 1, 0x10fde00) = 0 -1822746261078753:1822746261079093 116414:116414 hsa_executable_iterate_agent_symbols(, , 1, 0x10fde00) = 0 -1822746261079523:1822746261079853 116414:116414 hsa_executable_iterate_agent_symbols(, , 1, 0x10fde00) = 0 -1822746261080643:1822746261080963 116414:116414 hsa_executable_symbol_get_info(, 0, 0x7ffcc96c6478) = 0 -1822746261081403:1822746261081723 116414:116414 hsa_executable_symbol_get_info(, 1, 0x7ffcc96c6474) = 0 -1822746261082203:1822746261082553 116414:116414 hsa_executable_symbol_get_info(, 2, 0x6a40940) = 0 -1822746261082203:1822746261083163 116414:116414 hsa_executable_iterate_agent_symbols(, , 1, 0x10fde00) = 0 -1822746261083953:1822746261084273 116414:116414 hsa_executable_symbol_get_info(, 0, 0x7ffcc96c6478) = 0 -1822746261085563:1822746261085893 116414:116414 hsa_executable_symbol_get_info(, 1, 0x7ffcc96c6474) = 0 -1822746261086393:1822746261086733 116414:116414 hsa_executable_symbol_get_info(, 2, 0x694f7b0) = 0 -1822746261086393:1822746261087473 116414:116414 hsa_executable_iterate_agent_symbols(, , 1, 0x10fde00) = 0 -1822746295930116:1822746295931786 116414:116414 hsa_executable_symbol_get_info(, 22, 0x7ffcc96c66f0) = 0 -1822746295939716:1822746295940186 116414:116414 hsa_system_major_extension_supported(, , , ) = 0 -1822746295941986:1822746295942326 116414:116414 hsa_system_get_major_extension_table(, , , 0x7ffcc96c6680) = 0 -1822746295949766:1822746295950056 116414:116414 hsa_executable_symbol_get_info(, 22, 0x7ffcc96c66f0) = 0 -1822746295950566:1822746295950846 116414:116414 hsa_system_major_extension_supported(, , , ) = 0 -1822746295951256:1822746295951546 116414:116414 hsa_system_get_major_extension_table(, , , 0x7ffcc96c6680) = 0 -1822746296613290:1822746296613760 116414:116414 hsa_executable_symbol_get_info(, 22, 0x7ffcc96c66f0) = 0 -1822746296614360:1822746296614640 116414:116414 hsa_system_major_extension_supported(, , , ) = 0 -1822746296615050:1822746296615350 116414:116414 hsa_system_get_major_extension_table(, , , 0x7ffcc96c6680) = 0 -1822746296682290:1822746296682580 116414:116414 hsa_executable_symbol_get_info(, 22, 0x7ffcc96c66f0) = 0 -1822746296683080:1822746296683360 116414:116414 hsa_system_major_extension_supported(, , , ) = 0 -1822746296683750:1822746296684030 116414:116414 hsa_system_get_major_extension_table(, , , 0x7ffcc96c6680) = 0 -1822746296693170:1822746296693520 116414:116414 hsa_executable_symbol_get_info(, 22, 0x7ffcc96c66f0) = 0 -1822746296694050:1822746296694340 116414:116414 hsa_system_major_extension_supported(, , , ) = 0 -1822746296694730:1822746296695010 116414:116414 hsa_system_get_major_extension_table(, , , 0x7ffcc96c6680) = 0 -1822746296696350:1822746296696770 116414:116414 hsa_executable_symbol_get_info(, 22, 0x7ffcc96c66f0) = 0 -1822746296697320:1822746296697600 116414:116414 hsa_system_major_extension_supported(, , , ) = 0 -1822746296697990:1822746296698270 116414:116414 hsa_system_get_major_extension_table(, , , 0x7ffcc96c6680) = 0 -1822746296700910:1822746296701330 116414:116414 hsa_executable_symbol_get_info(, 22, 0x7ffcc96c66f0) = 0 -1822746296701820:1822746296702100 116414:116414 hsa_system_major_extension_supported(, , , ) = 0 -1822746296702490:1822746296702770 116414:116414 hsa_system_get_major_extension_table(, , , 0x7ffcc96c6680) = 0 -1822746296704480:1822746296704760 116414:116414 hsa_executable_symbol_get_info(, 22, 0x7ffcc96c66f0) = 0 -1822746296705270:1822746296705550 116414:116414 hsa_system_major_extension_supported(, , , ) = 0 -1822746296705940:1822746296706220 116414:116414 hsa_system_get_major_extension_table(, , , 0x7ffcc96c6680) = 0 -1822746297964778:1822746297965118 116414:116414 hsa_executable_symbol_get_info(, 22, 0x7ffcc96c66f0) = 0 -1822746297973018:1822746297973318 116414:116414 hsa_system_major_extension_supported(, , , ) = 0 -1822746297973708:1822746297973988 116414:116414 hsa_system_get_major_extension_table(, , , 0x7ffcc96c6680) = 0 -1822746297975208:1822746297975488 116414:116414 hsa_executable_symbol_get_info(, 22, 0x7ffcc96c66f0) = 0 -1822746297975948:1822746297976228 116414:116414 hsa_system_major_extension_supported(, , , ) = 0 -1822746297976618:1822746297976888 116414:116414 hsa_system_get_major_extension_table(, , , 0x7ffcc96c6680) = 0 -1822746297983228:1822746297983508 116414:116414 hsa_executable_symbol_get_info(, 22, 0x7ffcc96c66f0) = 0 -1822746297984018:1822746297984298 116414:116414 hsa_system_major_extension_supported(, , , ) = 0 -1822746297984688:1822746297984968 116414:116414 hsa_system_get_major_extension_table(, , , 0x7ffcc96c6680) = 0 -1822746298307500:1822746298308110 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822746298317470:1822746298318010 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 -1822746298336671:1822746303368323 116414:116414 hsa_queue_create(, , , 1, 0, , , ) = 0 -1822746303379963:1822746303380583 116414:116414 hsa_amd_profiling_set_profiler_enabled(, 1) = 0 -1822746303392083:1822746303392743 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 0 -1822746303395403:1822746303395893 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 0 -1822746303397053:1822746303401123 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 -1822746303402923:1822746303403243 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822746303406393:1822746303407053 116414:116414 hsa_signal_store_relaxed(, 0) = void -1822746303421673:1822746303422223 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822746303450323:1822746303450853 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746303463453:1822746303463983 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 -1822746303467393:1822746303469633 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 -1822746303470033:1822746303470333 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 1 -1822746303470753:1822746303471053 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 0 -1822746303471833:1822746303472123 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822746303472533:1822746303472993 116414:116414 hsa_signal_store_relaxed(, 1) = void -1822746303480463:1822746304748201 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822746304757671:1822746304758801 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822746304763831:1822746304768792 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822746304769692:1822746304770312 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822746304787842:1822746304789742 116414:116414 hsa_signal_destroy() = 0 -1822746304792022:1822746304793102 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822746304794652:1822746304795722 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822746304799412:1822746304800262 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746304801082:1822746304801792 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746304802712:1822746304803252 116414:116414 hsa_signal_store_screlease(, 1) = void -1822746304804362:1822746304808472 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 -1822746304809312:1822746307121197 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746307812921:1822746307814101 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822746307816521:1822746307817671 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746320698363:1822746320700143 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746320718253:1822746320719373 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822746320722453:1822746320723573 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822746320726833:1822746320728443 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746320729273:1822746320730213 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746320731213:1822746320732563 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746321346967:1822746321347457 116414:116414 hsa_signal_store_screlease(, 1) = void -1822746321348847:1822746321351647 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 -1822746321352197:1822746322777946 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746322778346:1822746322778656 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746322780426:1822746322780966 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822746322782686:1822746322783216 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746322798097:1822746322798627 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822746322801967:1822746322802497 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 -1822746322809177:1822746322809917 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 2 -1822746322810657:1822746322811297 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 2 -1822746322812327:1822746322814717 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 -1822746322815557:1822746322815867 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822746322825127:1822746322825967 116414:116414 hsa_signal_store_relaxed(, 2) = void -1822746322828407:1822746322828947 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822746322832697:1822746322833227 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746322835307:1822746322835847 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 -1822746322837537:1822746322842377 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 -1822746322842787:1822746322843067 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 3 -1822746322843457:1822746322843737 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 2 -1822746322844697:1822746322844977 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822746322845367:1822746322845817 116414:116414 hsa_signal_store_relaxed(, 3) = void -1822746322847767:1822746324100465 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822746324104985:1822746324105615 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822746324107075:1822746324111965 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822746324112445:1822746324112765 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822746324114775:1822746324116085 116414:116414 hsa_signal_destroy() = 0 -1822746324119105:1822746324119415 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822746324119885:1822746324120195 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822746324121105:1822746324121705 116414:116414 hsa_signal_destroy() = 0 -1822746324122555:1822746324123105 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822746324123855:1822746324124385 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822746324125445:1822746324126105 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746324126505:1822746324126975 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746324127455:1822746324127725 116414:116414 hsa_signal_store_screlease(, 1) = void -1822746324128185:1822746324129335 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 -1822746324129745:1822746326483210 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746327106484:1822746327107064 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822746327108604:1822746327109134 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746333583475:1822746333585175 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746333600775:1822746333601305 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822746333603205:1822746333603735 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822746333616855:1822746333617795 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746333618185:1822746333618825 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746333619465:1822746333621015 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746334228139:1822746334228719 116414:116414 hsa_signal_store_screlease(, 1) = void -1822746334229849:1822746334232359 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 -1822746334232839:1822746335654448 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746335654848:1822746335655308 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746335656508:1822746335657038 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822746335659158:1822746335659698 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746335674698:1822746335675248 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822746335678539:1822746335679079 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 -1822746335686109:1822746335687109 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 4 -1822746335687999:1822746335688689 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 4 -1822746335689729:1822746335692139 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 -1822746335692809:1822746335693119 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822746335694199:1822746335694919 116414:116414 hsa_signal_store_relaxed(, 4) = void -1822746335697509:1822746335698069 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822746335701949:1822746335702489 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746335705069:1822746335705609 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 -1822746335706639:1822746335707249 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 -1822746335707639:1822746335707919 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 5 -1822746335708319:1822746335708589 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 4 -1822746335709459:1822746335709739 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822746335710139:1822746335710589 116414:116414 hsa_signal_store_relaxed(, 5) = void -1822746335712139:1822746336997057 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822746337001747:1822746337002367 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822746337003907:1822746337008107 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822746337008587:1822746337008897 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822746337013647:1822746337014697 116414:116414 hsa_signal_destroy() = 0 -1822746337015787:1822746337016107 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822746337016587:1822746337016887 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822746337018037:1822746337018367 116414:116414 hsa_signal_destroy() = 0 -1822746337019357:1822746337019917 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822746337020847:1822746337021387 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822746337022127:1822746337022587 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746337022977:1822746337023397 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746337023947:1822746337024217 116414:116414 hsa_signal_store_screlease(, 1) = void -1822746337024647:1822746337025797 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 -1822746337026227:1822746339410132 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746340057906:1822746340058496 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822746340059966:1822746340060496 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746346503777:1822746346505087 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746346520418:1822746346520958 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822746346523028:1822746346523558 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822746346525788:1822746346526838 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746346527238:1822746346527648 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746346528278:1822746346529158 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746347134931:1822746347135401 116414:116414 hsa_signal_store_screlease(, 1) = void -1822746347136412:1822746347139072 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 -1822746347139612:1822746348561471 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746348561901:1822746348562341 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746348563321:1822746348563851 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822746348565601:1822746348566131 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746348579651:1822746348580201 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822746348583491:1822746348584021 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 -1822746348590631:1822746348591701 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 6 -1822746348600591:1822746348600921 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 6 -1822746348601911:1822746348604611 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 -1822746348605271:1822746348605581 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822746348606641:1822746348607481 116414:116414 hsa_signal_store_relaxed(, 6) = void -1822746348609831:1822746348610361 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822746348614341:1822746348614871 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746348617281:1822746348617811 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 -1822746348619181:1822746348620041 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 -1822746348620431:1822746348620711 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 7 -1822746348621111:1822746348621391 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 6 -1822746348622281:1822746348622551 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822746348622941:1822746348623401 116414:116414 hsa_signal_store_relaxed(, 7) = void -1822746348625021:1822746349882739 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822746349887459:1822746349888059 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822746349889559:1822746349894099 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822746349894519:1822746349894839 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822746349896869:1822746349898169 116414:116414 hsa_signal_destroy() = 0 -1822746349899299:1822746349899619 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822746349900099:1822746349900399 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822746349901519:1822746349901859 116414:116414 hsa_signal_destroy() = 0 -1822746349903239:1822746349903789 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822746349904659:1822746349905199 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822746349905899:1822746349906679 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746349907079:1822746349907489 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746349908049:1822746349908319 116414:116414 hsa_signal_store_screlease(, 1) = void -1822746349908769:1822746349909939 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 -1822746349910359:1822746352275374 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746352899378:1822746352899968 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822746352902078:1822746352902688 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746359340749:1822746359342339 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746359357889:1822746359358429 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822746359361359:1822746359361889 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822746359364289:1822746359365359 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746359365749:1822746359366159 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746359366819:1822746359367669 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746359970763:1822746359971223 116414:116414 hsa_signal_store_screlease(, 1) = void -1822746359972363:1822746359974593 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 -1822746359975073:1822746361397562 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746361398092:1822746361398532 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746361399992:1822746361400522 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822746361403222:1822746361403892 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746361420142:1822746361420682 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822746361424002:1822746361424542 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 -1822746361431402:1822746361432122 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 8 -1822746361433242:1822746361433552 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 8 -1822746361434522:1822746361437102 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 -1822746361437742:1822746361438052 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822746361439132:1822746361439942 116414:116414 hsa_signal_store_relaxed(, 8) = void -1822746361442152:1822746361442692 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822746361454292:1822746361454822 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746361457162:1822746361457692 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 -1822746361458912:1822746361459442 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 -1822746361459842:1822746361460122 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 9 -1822746361460522:1822746361460802 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 8 -1822746361461402:1822746361461672 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822746361462072:1822746361462522 116414:116414 hsa_signal_store_relaxed(, 9) = void -1822746361463972:1822746362703270 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822746362710080:1822746362710660 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822746362712160:1822746362717040 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822746362717460:1822746362717780 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822746362720110:1822746362721180 116414:116414 hsa_signal_destroy() = 0 -1822746362722150:1822746362722470 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822746362722940:1822746362723240 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822746362724180:1822746362724520 116414:116414 hsa_signal_destroy() = 0 -1822746362725600:1822746362726150 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822746362727050:1822746362727590 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822746362728330:1822746362728730 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746362729140:1822746362729550 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746362730030:1822746362730300 116414:116414 hsa_signal_store_screlease(, 1) = void -1822746362730770:1822746362731920 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 -1822746362732340:1822746365120845 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746365740689:1822746365741279 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822746365743089:1822746365743629 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746372198881:1822746372200051 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746372215221:1822746372215761 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822746372218321:1822746372218851 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822746372221251:1822746372222161 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746372222551:1822746372222961 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746372223611:1822746372224781 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746372834235:1822746372834685 116414:116414 hsa_signal_store_screlease(, 1) = void -1822746372835815:1822746372838805 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 -1822746372839295:1822746374262924 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746374263324:1822746374263754 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746374265384:1822746374265924 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822746374268584:1822746374269124 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746374284274:1822746374284824 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822746374297244:1822746374297774 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 -1822746374305034:1822746374305754 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 10 -1822746374306664:1822746374307104 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 10 -1822746374308064:1822746374310714 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 -1822746374311364:1822746374311684 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822746374312755:1822746374313575 116414:116414 hsa_signal_store_relaxed(, 10) = void -1822746374315915:1822746374316455 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822746374320235:1822746374320775 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746374323055:1822746374323595 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 -1822746374324675:1822746374325295 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 -1822746374325685:1822746374325965 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 11 -1822746374326365:1822746374326645 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 10 -1822746374327255:1822746374327525 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822746374327925:1822746374328375 116414:116414 hsa_signal_store_relaxed(, 11) = void -1822746374330325:1822746375589673 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822746375594213:1822746375595033 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822746375596593:1822746375601043 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822746375601523:1822746375601833 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822746375604023:1822746375605133 116414:116414 hsa_signal_destroy() = 0 -1822746375606193:1822746375606503 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822746375606913:1822746375607223 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822746375608153:1822746375608503 116414:116414 hsa_signal_destroy() = 0 -1822746375609453:1822746375610003 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822746375610883:1822746375611413 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822746375612263:1822746375612603 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746375612993:1822746375613413 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746375613883:1822746375614163 116414:116414 hsa_signal_store_screlease(, 1) = void -1822746375614603:1822746375615783 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 -1822746375619093:1822746377966288 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746378591361:1822746378591931 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822746378593651:1822746378594181 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746384657490:1822746384658760 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746384674680:1822746384675220 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822746384677600:1822746384678130 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822746384680500:1822746384681410 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746384681810:1822746384682240 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746384682900:1822746384683810 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746385288884:1822746385289324 116414:116414 hsa_signal_store_screlease(, 1) = void -1822746385290844:1822746385293524 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 -1822746385294054:1822746386716053 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746386716463:1822746386716893 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746386717893:1822746386718433 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822746386720633:1822746386721163 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746386737714:1822746386738254 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822746386741504:1822746386742034 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 -1822746386749214:1822746386749954 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 12 -1822746386750694:1822746386751304 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 12 -1822746386752294:1822746386754914 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 -1822746386755564:1822746386755874 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822746386756934:1822746386757734 116414:116414 hsa_signal_store_relaxed(, 12) = void -1822746386760264:1822746386760794 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822746386764884:1822746386765464 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746386767694:1822746386768224 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 -1822746386769344:1822746386769934 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 -1822746386770394:1822746386770664 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 13 -1822746386771124:1822746386771404 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 12 -1822746386772234:1822746386772504 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822746386782684:1822746386783144 116414:116414 hsa_signal_store_relaxed(, 13) = void -1822746386784984:1822746388043302 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822746388047662:1822746388048242 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822746388049822:1822746388054152 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822746388054562:1822746388054882 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822746388056892:1822746388057802 116414:116414 hsa_signal_destroy() = 0 -1822746388058922:1822746388059242 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822746388059662:1822746388059962 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822746388060872:1822746388061212 116414:116414 hsa_signal_destroy() = 0 -1822746388062292:1822746388062842 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822746388063712:1822746388064242 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822746388065002:1822746388065422 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746388065822:1822746388066302 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746388066712:1822746388066982 116414:116414 hsa_signal_store_screlease(, 1) = void -1822746388067422:1822746388068822 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 -1822746388069262:1822746390423067 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746391044831:1822746391045421 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822746391046871:1822746391047491 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746397111369:1822746397112609 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746397127949:1822746397128489 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822746397130549:1822746397131079 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822746397133090:1822746397134050 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746397134440:1822746397134790 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746397135450:1822746397136480 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746397741433:1822746397741973 116414:116414 hsa_signal_store_screlease(, 1) = void -1822746397743283:1822746397745943 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 -1822746397746483:1822746399169893 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746399170293:1822746399170723 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746399181333:1822746399181863 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822746399183863:1822746399184403 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746399199703:1822746399200243 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822746399203923:1822746399204453 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 -1822746399211793:1822746399212523 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 14 -1822746399213443:1822746399213883 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 14 -1822746399214863:1822746399217333 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 -1822746399217973:1822746399218273 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822746399219343:1822746399220193 116414:116414 hsa_signal_store_relaxed(, 14) = void -1822746399222283:1822746399222823 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822746399226883:1822746399227413 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746399229603:1822746399230143 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 -1822746399231203:1822746399231713 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 -1822746399232103:1822746399232383 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 15 -1822746399232773:1822746399233063 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 14 -1822746399233663:1822746399233943 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822746399234333:1822746399234783 116414:116414 hsa_signal_store_relaxed(, 15) = void -1822746399236553:1822746400502871 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822746400508131:1822746400508651 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822746400510181:1822746400514691 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822746400515111:1822746400515421 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822746400517681:1822746400518731 116414:116414 hsa_signal_destroy() = 0 -1822746400519951:1822746400520261 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822746400520741:1822746400521041 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822746400522111:1822746400522461 116414:116414 hsa_signal_destroy() = 0 -1822746400523571:1822746400524121 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822746400525031:1822746400525571 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822746400526401:1822746400526741 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746400527141:1822746400527561 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746400530341:1822746400530631 116414:116414 hsa_signal_store_screlease(, 1) = void -1822746400531071:1822746400532161 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 -1822746400532591:1822746402904457 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746403526381:1822746403526961 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822746403528681:1822746403529211 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746409991931:1822746409993101 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746410007851:1822746410008401 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822746410010731:1822746410011261 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822746410013301:1822746410014251 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746410014651:1822746410015001 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746410015641:1822746410016451 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746410621655:1822746410622195 116414:116414 hsa_signal_store_screlease(, 1) = void -1822746410623955:1822746410626565 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 -1822746410627055:1822746412050915 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746412051345:1822746412051785 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746412053475:1822746412054005 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822746412055635:1822746412056165 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746412070975:1822746412071515 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822746412074865:1822746412075395 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 -1822746412081965:1822746412082705 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 16 -1822746412083615:1822746412084085 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 16 -1822746412085125:1822746412088065 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 -1822746412088705:1822746412089005 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822746412090275:1822746412091095 116414:116414 hsa_signal_store_relaxed(, 16) = void -1822746412093465:1822746412093995 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822746412097995:1822746412098525 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746412100915:1822746412101465 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 -1822746412102615:1822746412103265 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 -1822746412117455:1822746412117745 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 17 -1822746412118145:1822746412118415 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 16 -1822746412119015:1822746412119285 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822746412119685:1822746412120145 116414:116414 hsa_signal_store_relaxed(, 17) = void -1822746412121565:1822746413367893 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822746413372523:1822746413373113 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822746413374683:1822746413379043 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822746413379513:1822746413379823 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822746413381943:1822746413383083 116414:116414 hsa_signal_destroy() = 0 -1822746413384113:1822746413384553 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822746413385023:1822746413385333 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822746413386493:1822746413386833 116414:116414 hsa_signal_destroy() = 0 -1822746413387943:1822746413388493 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822746413389373:1822746413389913 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822746413390683:1822746413391013 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746413391413:1822746413391823 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746413392313:1822746413392583 116414:116414 hsa_signal_store_screlease(, 1) = void -1822746413393033:1822746413394093 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 -1822746413394513:1822746415754108 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746416383892:1822746416384452 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822746416386362:1822746416386982 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746422823203:1822746422824403 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746422839253:1822746422839783 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822746422842493:1822746422843023 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822746422845653:1822746422846713 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746422847103:1822746422847513 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746422848043:1822746422849323 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746423452647:1822746423453027 116414:116414 hsa_signal_store_screlease(, 1) = void -1822746423464997:1822746423467517 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 -1822746423468047:1822746424891726 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746424892236:1822746424892556 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746424893646:1822746424894186 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822746424895706:1822746424896236 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746424910256:1822746424910786 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822746424914346:1822746424914886 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 -1822746424921576:1822746424922306 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 18 -1822746424923056:1822746424923526 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 18 -1822746424924496:1822746424927356 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 -1822746424928136:1822746424928446 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822746424929476:1822746424930306 116414:116414 hsa_signal_store_relaxed(, 18) = void -1822746424932477:1822746424933017 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822746424937287:1822746424937827 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746424940457:1822746424941027 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 -1822746424942137:1822746424942757 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 -1822746424943147:1822746424943427 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 19 -1822746424943827:1822746424944097 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 18 -1822746424944927:1822746424945197 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822746424945597:1822746424946047 116414:116414 hsa_signal_store_relaxed(, 19) = void -1822746424947507:1822746426199955 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822746426204975:1822746426205555 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822746426207385:1822746426211655 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822746426212135:1822746426212445 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822746426214695:1822746426215755 116414:116414 hsa_signal_destroy() = 0 -1822746426216715:1822746426217035 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822746426217505:1822746426217805 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822746426218745:1822746426219125 116414:116414 hsa_signal_destroy() = 0 -1822746426220195:1822746426220745 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822746426223955:1822746426224495 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822746426225325:1822746426225915 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746426226325:1822746426226745 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746426227155:1822746426227425 116414:116414 hsa_signal_store_screlease(, 1) = void -1822746426227885:1822746426229005 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 -1822746426229425:1822746428594270 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746429214304:1822746429214884 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822746429216584:1822746429217204 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746435673065:1822746435674265 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746435689745:1822746435690285 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822746435692895:1822746435693425 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822746435695645:1822746435696575 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746435696965:1822746435697375 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746435697925:1822746435698845 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746436286849:1822746436287409 116414:116414 hsa_signal_store_screlease(, 1) = void -1822746436288719:1822746436291459 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 -1822746436292089:1822746437715368 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746437715758:1822746437716188 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746437717138:1822746437717678 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822746437719398:1822746437719928 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746437742578:1822746437743118 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822746437746898:1822746437747438 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 -1822746437754548:1822746437755278 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 20 -1822746437756018:1822746437756648 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 20 -1822746437757958:1822746437760858 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 -1822746437761508:1822746437761818 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822746437762828:1822746437763568 116414:116414 hsa_signal_store_relaxed(, 20) = void -1822746437765958:1822746437766498 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822746437772928:1822746437773458 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746437775338:1822746437775878 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 -1822746437776918:1822746437777558 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 -1822746437777958:1822746437778228 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 21 -1822746437778628:1822746437778908 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 20 -1822746437779718:1822746437779998 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822746437780398:1822746437780848 116414:116414 hsa_signal_store_relaxed(, 21) = void -1822746437782298:1822746439034726 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822746439039286:1822746439039856 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822746439041646:1822746439046056 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822746439046536:1822746439046846 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822746439049296:1822746439050346 116414:116414 hsa_signal_destroy() = 0 -1822746439051336:1822746439051646 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822746439052116:1822746439052416 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822746439053356:1822746439053696 116414:116414 hsa_signal_destroy() = 0 -1822746439054786:1822746439055336 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822746439056086:1822746439056616 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822746439057356:1822746439057766 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746439058166:1822746439058586 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746439059126:1822746439059396 116414:116414 hsa_signal_store_screlease(, 1) = void -1822746439059846:1822746439061046 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 -1822746439061466:1822746441405782 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746442023906:1822746442024486 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822746442026206:1822746442026816 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746448080144:1822746448081594 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746448096484:1822746448097024 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822746448098994:1822746448099524 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822746448102004:1822746448102944 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746448103404:1822746448103754 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746448114214:1822746448115444 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746448723798:1822746448724338 116414:116414 hsa_signal_store_screlease(, 1) = void -1822746448725728:1822746448727798 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 -1822746448728768:1822746450152397 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746450152797:1822746450153217 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746450154137:1822746450154677 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822746450156497:1822746450157027 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746450172417:1822746450172957 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822746450176287:1822746450176827 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 -1822746450184797:1822746450185517 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 22 -1822746450186287:1822746450186907 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 22 -1822746450187877:1822746450190547 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 -1822746450191207:1822746450191517 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822746450192537:1822746450193367 116414:116414 hsa_signal_store_relaxed(, 22) = void -1822746450195497:1822746450196037 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822746450200057:1822746450200597 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746450202887:1822746450203447 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 -1822746450204747:1822746450205357 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 -1822746450205747:1822746450206027 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 23 -1822746450206417:1822746450206697 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 22 -1822746450207537:1822746450207817 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822746450208207:1822746450208657 116414:116414 hsa_signal_store_relaxed(, 23) = void -1822746450210087:1822746451479335 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822746451484065:1822746451484585 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822746451486146:1822746451490376 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822746451490846:1822746451491156 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822746451493516:1822746451494636 116414:116414 hsa_signal_destroy() = 0 -1822746451495826:1822746451496266 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822746451499926:1822746451500236 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822746451501286:1822746451501626 116414:116414 hsa_signal_destroy() = 0 -1822746451502586:1822746451503136 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822746451504076:1822746451504606 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822746451505326:1822746451505736 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746451506136:1822746451506716 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746451507186:1822746451507466 116414:116414 hsa_signal_store_screlease(, 1) = void -1822746451507906:1822746451509326 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 -1822746451509746:1822746453870811 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746454498785:1822746454499375 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822746454501685:1822746454502265 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746460938235:1822746460939575 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746460955356:1822746460955886 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822746460958746:1822746460959276 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822746460961456:1822746460962346 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746460962746:1822746460963146 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746460963806:1822746460964726 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746461569219:1822746461569669 116414:116414 hsa_signal_store_screlease(, 1) = void -1822746461570989:1822746461573730 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 -1822746461574260:1822746462996939 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746462997339:1822746462997769 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746462998519:1822746462999049 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822746463001199:1822746463001729 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746463016459:1822746463016989 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822746463020389:1822746463020919 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 -1822746463028209:1822746463028939 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 24 -1822746463029839:1822746463030289 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 24 -1822746463031389:1822746463034119 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 -1822746463034789:1822746463035099 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822746463044759:1822746463045569 116414:116414 hsa_signal_store_relaxed(, 24) = void -1822746463048029:1822746463048589 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822746463052539:1822746463053079 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746463054999:1822746463055529 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 -1822746463057049:1822746463057659 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 -1822746463058049:1822746463058329 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 25 -1822746463058719:1822746463059009 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 24 -1822746463059619:1822746463059899 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822746463060289:1822746463060739 116414:116414 hsa_signal_store_relaxed(, 25) = void -1822746463062919:1822746464328607 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822746464333087:1822746464333697 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822746464335587:1822746464339807 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822746464340227:1822746464340537 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822746464342647:1822746464343967 116414:116414 hsa_signal_destroy() = 0 -1822746464344997:1822746464345457 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822746464345927:1822746464346227 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822746464347507:1822746464347847 116414:116414 hsa_signal_destroy() = 0 -1822746464348957:1822746464349507 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822746464350407:1822746464350937 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822746464351677:1822746464352087 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746464352487:1822746464352907 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746464353387:1822746464353667 116414:116414 hsa_signal_store_screlease(, 1) = void -1822746464354107:1822746464355287 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 -1822746464355707:1822746466712873 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746467332347:1822746467332937 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822746467334797:1822746467335367 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746473802268:1822746473803758 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746473819158:1822746473819698 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822746473833038:1822746473833578 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822746473835648:1822746473836428 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746473836828:1822746473837238 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746473838008:1822746473839238 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746474447122:1822746474447562 116414:116414 hsa_signal_store_screlease(, 1) = void -1822746474449252:1822746474452232 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 -1822746474452872:1822746475876951 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746475877351:1822746475877771 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746475879091:1822746475879621 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822746475881571:1822746475882111 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746475896441:1822746475896981 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822746475900441:1822746475900971 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 -1822746475907681:1822746475908411 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 26 -1822746475909291:1822746475909741 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 26 -1822746475910721:1822746475913481 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 -1822746475914331:1822746475914641 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822746475915691:1822746475916391 116414:116414 hsa_signal_store_relaxed(, 26) = void -1822746475918621:1822746475919161 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822746475923351:1822746475923891 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746475926281:1822746475926861 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 -1822746475928111:1822746475928671 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 -1822746475929061:1822746475929341 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 27 -1822746475929731:1822746475930021 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 26 -1822746475930811:1822746475931091 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822746475931481:1822746475931931 116414:116414 hsa_signal_store_relaxed(, 27) = void -1822746475933401:1822746477189829 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822746477194659:1822746477195169 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822746477196859:1822746477201119 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822746477201589:1822746477201909 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822746477207619:1822746477208689 116414:116414 hsa_signal_destroy() = 0 -1822746477210059:1822746477210369 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822746477210839:1822746477211149 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822746477212269:1822746477212609 116414:116414 hsa_signal_destroy() = 0 -1822746477213639:1822746477214179 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822746477215139:1822746477215679 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822746477216439:1822746477216859 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746477217269:1822746477217679 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746477218089:1822746477218369 116414:116414 hsa_signal_store_screlease(, 1) = void -1822746477218839:1822746477219959 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 -1822746477220379:1822746479588804 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746480220649:1822746480221239 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822746480223269:1822746480223809 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746486677019:1822746486678299 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746486693990:1822746486694530 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822746486696690:1822746486697220 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822746486699550:1822746486700450 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746486700860:1822746486701270 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746486701850:1822746486703050 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746487306013:1822746487306383 116414:116414 hsa_signal_store_screlease(, 1) = void -1822746487307313:1822746487309873 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 -1822746487310443:1822746488731652 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746488732092:1822746488732862 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746488733762:1822746488734302 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822746488735872:1822746488736402 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746488751003:1822746488751543 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822746488755113:1822746488755643 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 -1822746488762583:1822746488763313 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 28 -1822746488771993:1822746488772333 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 28 -1822746488773313:1822746488775973 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 -1822746488776613:1822746488776923 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822746488778043:1822746488778863 116414:116414 hsa_signal_store_relaxed(, 28) = void -1822746488781303:1822746488781833 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822746488786023:1822746488786563 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746488788433:1822746488788973 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 -1822746488790223:1822746488791013 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 -1822746488791403:1822746488791683 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 29 -1822746488792083:1822746488792353 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 28 -1822746488793203:1822746488793473 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822746488793883:1822746488794333 116414:116414 hsa_signal_store_relaxed(, 29) = void -1822746488795883:1822746490038851 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822746490043731:1822746490044251 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822746490045811:1822746490050361 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822746490050841:1822746490051151 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822746490053231:1822746490054281 116414:116414 hsa_signal_destroy() = 0 -1822746490055421:1822746490055861 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822746490056271:1822746490056571 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822746490057491:1822746490057831 116414:116414 hsa_signal_destroy() = 0 -1822746490058911:1822746490059461 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822746490060351:1822746490060881 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822746490061511:1822746490061851 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746490062241:1822746490062711 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746490063191:1822746490063461 116414:116414 hsa_signal_store_screlease(, 1) = void -1822746490063901:1822746490065021 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 -1822746490065441:1822746492466946 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746493090220:1822746493090800 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822746493095950:1822746493096480 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746499527742:1822746499528962 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746499543972:1822746499544512 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822746499547892:1822746499548422 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822746499550432:1822746499551512 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746499551902:1822746499552252 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746499552882:1822746499553992 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746500165456:1822746500165826 116414:116414 hsa_signal_store_screlease(, 1) = void -1822746500167226:1822746500169796 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 -1822746500170276:1822746501592635 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746501593025:1822746501593455 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746501594355:1822746501594885 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822746501597385:1822746501597915 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746501613405:1822746501613945 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822746501617655:1822746501618185 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 -1822746501625015:1822746501625735 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 30 -1822746501626635:1822746501627085 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 30 -1822746501628045:1822746501630585 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 -1822746501631405:1822746501631705 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822746501633015:1822746501633885 116414:116414 hsa_signal_store_relaxed(, 30) = void -1822746501636385:1822746501636915 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822746501651355:1822746501651885 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746501654125:1822746501654665 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 -1822746501656005:1822746501656705 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 -1822746501657105:1822746501657385 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 31 -1822746501657775:1822746501658055 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 30 -1822746501658785:1822746501659055 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822746501659445:1822746501659905 116414:116414 hsa_signal_store_relaxed(, 31) = void -1822746501661505:1822746502917473 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822746502924833:1822746502925363 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822746502926943:1822746502931463 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822746502931873:1822746502932193 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822746502934423:1822746502935463 116414:116414 hsa_signal_destroy() = 0 -1822746502936483:1822746502936803 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822746502937283:1822746502937583 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822746502938473:1822746502938813 116414:116414 hsa_signal_destroy() = 0 -1822746502939853:1822746502940413 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822746502941333:1822746502941863 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822746502942593:1822746502943053 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746502943453:1822746502943873 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746502944433:1822746502944703 116414:116414 hsa_signal_store_screlease(, 1) = void -1822746502945143:1822746502946213 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 -1822746502946643:1822746505300748 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746505924502:1822746505925072 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822746505926692:1822746505927272 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746512367123:1822746512368573 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746512383923:1822746512384463 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822746512386583:1822746512387113 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822746512389194:1822746512390154 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746512390554:1822746512390964 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746512391604:1822746512392464 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746513012867:1822746513013267 116414:116414 hsa_signal_store_screlease(, 1) = void -1822746513014597:1822746513017267 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 -1822746513017787:1822746514439686 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746514440086:1822746514440516 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746514441596:1822746514442136 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822746514443936:1822746514444476 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746514472076:1822746514472616 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822746514475926:1822746514476456 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 -1822746514483067:1822746514483777 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 32 -1822746514484667:1822746514485427 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 32 -1822746514486437:1822746514488967 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 -1822746514489567:1822746514489877 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822746514490937:1822746514491647 116414:116414 hsa_signal_store_relaxed(, 32) = void -1822746514494197:1822746514494727 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822746514498817:1822746514499357 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746514501517:1822746514502047 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 -1822746514503157:1822746514503857 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 -1822746514504247:1822746514504527 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 33 -1822746514504927:1822746514505197 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 32 -1822746514505857:1822746514506127 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822746514506527:1822746514506977 116414:116414 hsa_signal_store_relaxed(, 33) = void -1822746514508517:1822746515765095 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822746515769915:1822746515770435 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822746515771955:1822746515776015 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822746515776425:1822746515776745 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822746515779015:1822746515780215 116414:116414 hsa_signal_destroy() = 0 -1822746515781545:1822746515781855 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822746515782335:1822746515782635 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822746515783585:1822746515783935 116414:116414 hsa_signal_destroy() = 0 -1822746515785035:1822746515785585 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822746515786485:1822746515787015 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822746515787755:1822746515788165 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746515788565:1822746515788975 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746515789455:1822746515789735 116414:116414 hsa_signal_store_screlease(, 1) = void -1822746515790185:1822746515791285 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 -1822746515795185:1822746518113970 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746518737354:1822746518737934 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822746518739964:1822746518740544 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746525188405:1822746525189945 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746525204905:1822746525205445 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822746525208675:1822746525209215 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822746525211395:1822746525212295 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746525212695:1822746525213345 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746525214065:1822746525214935 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746525821369:1822746525821879 116414:116414 hsa_signal_store_screlease(, 1) = void -1822746525823079:1822746525825569 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 -1822746525826099:1822746527252128 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746527252578:1822746527253048 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746527254108:1822746527254708 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822746527256938:1822746527257548 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746527282838:1822746527283448 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822746527287418:1822746527288018 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 -1822746527295058:1822746527296018 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 34 -1822746527297018:1822746527297388 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 34 -1822746527298448:1822746527301108 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 -1822746527301978:1822746527302328 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822746527303428:1822746527304278 116414:116414 hsa_signal_store_relaxed(, 34) = void -1822746527306828:1822746527307438 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822746527311768:1822746527312378 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746527315078:1822746527315688 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 -1822746527316808:1822746527317478 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 -1822746527317918:1822746527318238 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 35 -1822746527318688:1822746527318998 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 34 -1822746527321898:1822746527322228 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822746527322668:1822746527323158 116414:116414 hsa_signal_store_relaxed(, 35) = void -1822746527325108:1822746528597586 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822746528602576:1822746528603096 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822746528604666:1822746528608766 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822746528609186:1822746528609496 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822746528611616:1822746528612646 116414:116414 hsa_signal_destroy() = 0 -1822746528613696:1822746528614136 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822746528614556:1822746528614856 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822746528615736:1822746528616076 116414:116414 hsa_signal_destroy() = 0 -1822746528617026:1822746528617576 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822746528618466:1822746528618996 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822746528619866:1822746528620276 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746528620676:1822746528621386 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746528621876:1822746528622146 116414:116414 hsa_signal_store_screlease(, 1) = void -1822746528622586:1822746528623886 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 -1822746528624306:1822746530960481 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746531582165:1822746531582745 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822746531584865:1822746531585435 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746538046067:1822746538047627 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746538062807:1822746538063337 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822746538066057:1822746538066587 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822746538068587:1822746538069807 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746538070207:1822746538070857 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746538071697:1822746538072947 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746538679701:1822746538680151 116414:116414 hsa_signal_store_screlease(, 1) = void -1822746538681961:1822746538684381 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 -1822746538684921:1822746540107090 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746540107530:1822746540107960 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746540119530:1822746540120070 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822746540122880:1822746540123410 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746540138600:1822746540139140 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822746540142430:1822746540142970 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 -1822746540150120:1822746540150860 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 36 -1822746540151790:1822746540152400 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 36 -1822746540153590:1822746540156490 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 -1822746540157130:1822746540157440 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822746540158590:1822746540159440 116414:116414 hsa_signal_store_relaxed(, 36) = void -1822746540161790:1822746540162330 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822746540166480:1822746540167010 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746540168850:1822746540169390 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 -1822746540170610:1822746540171200 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 -1822746540171590:1822746540171870 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 37 -1822746540172260:1822746540172530 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 36 -1822746540173190:1822746540173470 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822746540173860:1822746540174310 116414:116414 hsa_signal_store_relaxed(, 37) = void -1822746540176030:1822746541430198 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822746541435168:1822746541435738 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822746541437468:1822746541441928 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822746541442348:1822746541442658 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822746541444728:1822746541445678 116414:116414 hsa_signal_destroy() = 0 -1822746541446838:1822746541447168 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822746541447638:1822746541447948 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822746541448888:1822746541449228 116414:116414 hsa_signal_destroy() = 0 -1822746541450308:1822746541450858 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822746541451758:1822746541452288 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822746541453158:1822746541453518 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746541456438:1822746541456868 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746541457438:1822746541457708 116414:116414 hsa_signal_store_screlease(, 1) = void -1822746541458148:1822746541459238 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 -1822746541459658:1822746543827983 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746544473537:1822746544474137 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822746544475977:1822746544476517 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746550902088:1822746550903269 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746550917549:1822746550918089 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822746550920669:1822746550921209 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822746550923009:1822746550924089 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746550924479:1822746550924749 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746550925469:1822746550926599 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746551536173:1822746551536613 116414:116414 hsa_signal_store_screlease(, 1) = void -1822746551538003:1822746551540703 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 -1822746551541243:1822746552964452 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746552965142:1822746552965462 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746552966332:1822746552966862 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822746552969172:1822746552969702 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746552985212:1822746552985742 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822746552989742:1822746552990272 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 -1822746552997292:1822746552998012 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 38 -1822746552998802:1822746552999282 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 38 -1822746553000242:1822746553002572 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 -1822746553003212:1822746553003522 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822746553004622:1822746553005692 116414:116414 hsa_signal_store_relaxed(, 38) = void -1822746553008042:1822746553008602 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822746553012512:1822746553013052 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746553015462:1822746553016002 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 -1822746553017202:1822746553017912 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 -1822746553026312:1822746553026592 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 39 -1822746553026982:1822746553027252 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 38 -1822746553027852:1822746553028122 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822746553028512:1822746553028962 116414:116414 hsa_signal_store_relaxed(, 39) = void -1822746553030392:1822746554289340 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822746554294130:1822746554294710 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822746554296410:1822746554300630 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822746554301040:1822746554301350 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822746554303630:1822746554304820 116414:116414 hsa_signal_destroy() = 0 -1822746554306150:1822746554306520 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822746554306940:1822746554307240 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822746554308300:1822746554308640 116414:116414 hsa_signal_destroy() = 0 -1822746554309600:1822746554310160 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822746554311060:1822746554311600 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822746554312300:1822746554312720 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746554313110:1822746554313620 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746554314020:1822746554314300 116414:116414 hsa_signal_store_screlease(, 1) = void -1822746554314770:1822746554315970 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 -1822746554316390:1822746556708046 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746557328420:1822746557329000 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822746557331270:1822746557331800 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746563760070:1822746563761280 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746563777580:1822746563778120 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822746563780450:1822746563780980 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822746563783130:1822746563784050 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746563784460:1822746563784870 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746563785520:1822746563786420 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746564399844:1822746564400234 116414:116414 hsa_signal_store_screlease(, 1) = void -1822746564411584:1822746564414045 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 -1822746564414595:1822746565840034 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746565840434:1822746565840864 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746565842194:1822746565842724 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822746565844694:1822746565845294 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746565860394:1822746565860934 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822746565864484:1822746565865014 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 -1822746565871984:1822746565872704 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 40 -1822746565873624:1822746565874084 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 40 -1822746565874934:1822746565877924 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 -1822746565878824:1822746565879134 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822746565880134:1822746565880854 116414:116414 hsa_signal_store_relaxed(, 40) = void -1822746565883084:1822746565883614 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822746565887644:1822746565888204 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746565890224:1822746565890764 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 -1822746565891954:1822746565892554 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 -1822746565892954:1822746565893234 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 41 -1822746565893624:1822746565893904 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 40 -1822746565894714:1822746565894994 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822746565895384:1822746565895834 116414:116414 hsa_signal_store_relaxed(, 41) = void -1822746565897284:1822746567174782 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822746567179382:1822746567179962 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822746567181552:1822746567185592 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822746567186062:1822746567186372 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822746567188752:1822746567189802 116414:116414 hsa_signal_destroy() = 0 -1822746567190802:1822746567191242 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822746567191712:1822746567192012 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822746567192882:1822746567193222 116414:116414 hsa_signal_destroy() = 0 -1822746567196622:1822746567197172 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822746567198082:1822746567198622 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822746567199452:1822746567199942 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746567200352:1822746567200762 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746567201242:1822746567201512 116414:116414 hsa_signal_store_screlease(, 1) = void -1822746567201962:1822746567203112 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 -1822746567203522:1822746569568617 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746570191151:1822746570191731 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822746570193301:1822746570193921 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746576263830:1822746576265480 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746576281000:1822746576281540 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822746576284710:1822746576285240 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822746576287440:1822746576288630 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746576289020:1822746576289650 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746576290290:1822746576291190 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746576896794:1822746576897234 116414:116414 hsa_signal_store_screlease(, 1) = void -1822746576898584:1822746576901224 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 -1822746576901694:1822746578326743 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746578327153:1822746578327583 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746578328923:1822746578329453 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822746578331153:1822746578331693 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746578346973:1822746578347523 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822746578351133:1822746578351673 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 -1822746578358923:1822746578359653 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 42 -1822746578360593:1822746578361193 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 42 -1822746578362323:1822746578364943 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 -1822746578365613:1822746578365923 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822746578366953:1822746578367773 116414:116414 hsa_signal_store_relaxed(, 42) = void -1822746578370013:1822746578370553 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822746578382473:1822746578383013 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746578385523:1822746578386053 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 -1822746578387293:1822746578388003 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 -1822746578388403:1822746578388683 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 43 -1822746578389073:1822746578389353 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 42 -1822746578389953:1822746578390243 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822746578390644:1822746578391104 116414:116414 hsa_signal_store_relaxed(, 43) = void -1822746578392584:1822746579643632 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822746579648472:1822746579649082 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822746579650662:1822746579655192 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822746579655672:1822746579655992 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822746579658072:1822746579658972 116414:116414 hsa_signal_destroy() = 0 -1822746579659992:1822746579660442 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822746579660922:1822746579661222 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822746579662492:1822746579662872 116414:116414 hsa_signal_destroy() = 0 -1822746579663822:1822746579664362 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822746579665252:1822746579665782 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822746579666492:1822746579666902 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746579667302:1822746579667712 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746579668272:1822746579668542 116414:116414 hsa_signal_store_screlease(, 1) = void -1822746579668982:1822746579670212 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 -1822746579670632:1822746582018377 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746582638841:1822746582639411 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822746582641251:1822746582641821 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746589074281:1822746589076201 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746589092561:1822746589093101 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822746589095241:1822746589095771 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822746589098411:1822746589099371 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746589110022:1822746589110522 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746589111172:1822746589112652 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746589724146:1822746589724656 116414:116414 hsa_signal_store_screlease(, 1) = void -1822746589725816:1822746589728536 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 -1822746589729006:1822746591151735 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746591152145:1822746591152445 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746591153375:1822746591153915 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822746591156655:1822746591157245 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746591171915:1822746591172455 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822746591175695:1822746591176225 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 -1822746591183155:1822746591183875 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 44 -1822746591184775:1822746591185225 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 44 -1822746591186555:1822746591189435 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 -1822746591190085:1822746591190395 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822746591191445:1822746591192345 116414:116414 hsa_signal_store_relaxed(, 44) = void -1822746591194735:1822746591195275 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822746591199145:1822746591199675 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746591201475:1822746591202035 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 -1822746591203345:1822746591204205 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 -1822746591204595:1822746591204875 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 45 -1822746591205275:1822746591205545 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 44 -1822746591206195:1822746591206475 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822746591206865:1822746591207315 116414:116414 hsa_signal_store_relaxed(, 45) = void -1822746591208925:1822746592487673 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822746592492063:1822746592492583 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822746592494163:1822746592498373 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822746592498843:1822746592499153 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822746592501223:1822746592502353 116414:116414 hsa_signal_destroy() = 0 -1822746592503603:1822746592503983 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822746592507733:1822746592508043 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822746592508933:1822746592509283 116414:116414 hsa_signal_destroy() = 0 -1822746592510373:1822746592510933 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822746592511843:1822746592512383 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822746592513093:1822746592513613 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746592514023:1822746592514523 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746592514933:1822746592515203 116414:116414 hsa_signal_store_screlease(, 1) = void -1822746592515653:1822746592516753 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 -1822746592517183:1822746594874429 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746595498293:1822746595498883 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822746595500593:1822746595501213 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746601944633:1822746601946173 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746601961433:1822746601961973 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822746601964443:1822746601964983 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822746601967163:1822746601968223 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746601968613:1822746601969023 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746601970013:1822746601971383 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746602578307:1822746602578767 116414:116414 hsa_signal_store_screlease(, 1) = void -1822746602580477:1822746602582987 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 -1822746602583777:1822746604009326 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746604009786:1822746604010216 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746604011377:1822746604011907 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822746604014207:1822746604014747 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746604029557:1822746604030087 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822746604033607:1822746604034137 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 -1822746604040617:1822746604041337 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 46 -1822746604042247:1822746604042687 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 46 -1822746604043697:1822746604046047 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 -1822746604055817:1822746604056137 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822746604057517:1822746604058217 116414:116414 hsa_signal_store_relaxed(, 46) = void -1822746604060197:1822746604060747 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822746604064557:1822746604065097 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746604067527:1822746604068067 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 -1822746604069457:1822746604070047 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 -1822746604070437:1822746604070717 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 47 -1822746604071107:1822746604071397 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 46 -1822746604071997:1822746604072277 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822746604072667:1822746604073117 116414:116414 hsa_signal_store_relaxed(, 47) = void -1822746604074687:1822746605344665 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822746605349355:1822746605349935 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822746605351515:1822746605355925 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822746605356405:1822746605356715 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822746605358865:1822746605360015 116414:116414 hsa_signal_destroy() = 0 -1822746605361155:1822746605361595 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822746605362015:1822746605362325 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822746605363405:1822746605363745 116414:116414 hsa_signal_destroy() = 0 -1822746605364705:1822746605365265 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822746605366155:1822746605366695 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822746605367445:1822746605367905 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746605368305:1822746605368715 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746605369275:1822746605369545 116414:116414 hsa_signal_store_screlease(, 1) = void -1822746605369995:1822746605371075 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 -1822746605371495:1822746607694020 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746608324664:1822746608325274 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822746608327214:1822746608327754 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746614386082:1822746614387442 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746614402552:1822746614403102 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822746614420793:1822746614421333 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822746614423763:1822746614424883 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746614425283:1822746614425693 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746614426253:1822746614427583 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746615034897:1822746615035347 116414:116414 hsa_signal_store_screlease(, 1) = void -1822746615036517:1822746615039187 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 -1822746615039707:1822746616463426 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746616463886:1822746616464346 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746616465086:1822746616465616 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822746616468006:1822746616468536 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746616483376:1822746616483916 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822746616487356:1822746616487886 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 -1822746616494296:1822746616495016 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 48 -1822746616495916:1822746616496456 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 48 -1822746616497556:1822746616500286 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 -1822746616500916:1822746616501226 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822746616502276:1822746616503076 116414:116414 hsa_signal_store_relaxed(, 48) = void -1822746616505296:1822746616505826 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822746616509786:1822746616510316 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746616512636:1822746616513196 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 -1822746616514376:1822746616515086 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 -1822746616515476:1822746616515756 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 49 -1822746616516156:1822746616516426 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 48 -1822746616517056:1822746616517326 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822746616517716:1822746616518166 116414:116414 hsa_signal_store_relaxed(, 49) = void -1822746616519916:1822746617793764 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822746617798924:1822746617799544 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822746617801134:1822746617805334 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822746617809144:1822746617809574 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822746617811794:1822746617812854 116414:116414 hsa_signal_destroy() = 0 -1822746617813964:1822746617814584 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822746617814994:1822746617815304 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822746617816254:1822746617816584 116414:116414 hsa_signal_destroy() = 0 -1822746617817574:1822746617818114 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822746617819024:1822746617819554 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822746617820354:1822746617820694 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746617821094:1822746617821784 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746617822194:1822746617822464 116414:116414 hsa_signal_store_screlease(, 1) = void -1822746617822914:1822746617824384 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 -1822746617824804:1822746620196770 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746620821344:1822746620821924 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822746620824164:1822746620824784 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746627257904:1822746627259094 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746627274375:1822746627274915 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822746627278165:1822746627278695 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822746627280835:1822746627281995 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746627282385:1822746627282805 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746627283455:1822746627284255 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746627894398:1822746627894838 116414:116414 hsa_signal_store_screlease(, 1) = void -1822746627896278:1822746627899128 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 -1822746627899668:1822746629323398 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746629323838:1822746629324278 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746629325428:1822746629325968 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822746629328138:1822746629328668 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746629343248:1822746629343788 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822746629347338:1822746629347868 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 -1822746629354818:1822746629355548 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 50 -1822746629364918:1822746629365368 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 50 -1822746629366348:1822746629368828 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 -1822746629369748:1822746629370058 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822746629371068:1822746629371998 116414:116414 hsa_signal_store_relaxed(, 50) = void -1822746629374158:1822746629374718 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822746629378688:1822746629379218 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746629381428:1822746629381968 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 -1822746629383138:1822746629383768 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 -1822746629384158:1822746629384438 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 51 -1822746629384828:1822746629385108 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 50 -1822746629385718:1822746629385998 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822746629386388:1822746629386838 116414:116414 hsa_signal_store_relaxed(, 51) = void -1822746629388258:1822746630659826 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822746630664516:1822746630665086 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822746630666596:1822746630670806 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822746630671286:1822746630671596 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822746630674086:1822746630675256 116414:116414 hsa_signal_destroy() = 0 -1822746630676696:1822746630677086 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822746630677556:1822746630677856 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822746630678886:1822746630679226 116414:116414 hsa_signal_destroy() = 0 -1822746630680246:1822746630680796 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822746630681726:1822746630682256 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822746630682876:1822746630683206 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746630683606:1822746630684016 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746630684496:1822746630684766 116414:116414 hsa_signal_store_screlease(, 1) = void -1822746630685216:1822746630686296 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 -1822746630686716:1822746633065962 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746633692476:1822746633693056 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822746633697606:1822746633698196 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746639735804:1822746639737084 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746639751994:1822746639752534 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822746639755484:1822746639756014 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822746639758044:1822746639759174 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746639759564:1822746639759914 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746639760504:1822746639761444 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746640374108:1822746640374488 116414:116414 hsa_signal_store_screlease(, 1) = void -1822746640375758:1822746640378378 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 -1822746640378908:1822746641804707 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746641805107:1822746641805537 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746641806737:1822746641807267 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822746641809497:1822746641810027 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746641832097:1822746641832637 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822746641836087:1822746641836617 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 -1822746641843567:1822746641844287 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 52 -1822746641845317:1822746641845757 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 52 -1822746641846717:1822746641849367 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 -1822746641850027:1822746641850327 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822746641851347:1822746641852167 116414:116414 hsa_signal_store_relaxed(, 52) = void -1822746641854187:1822746641854717 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822746641858887:1822746641859417 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746641861667:1822746641862197 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 -1822746641863397:1822746641864007 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 -1822746641864397:1822746641864677 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 53 -1822746641865067:1822746641865337 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 52 -1822746641865987:1822746641866257 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822746641866647:1822746641867097 116414:116414 hsa_signal_store_relaxed(, 53) = void -1822746641870807:1822746643124045 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822746643129115:1822746643129635 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822746643131215:1822746643135915 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822746643136385:1822746643136695 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822746643138755:1822746643139995 116414:116414 hsa_signal_destroy() = 0 -1822746643141135:1822746643141575 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822746643142045:1822746643142345 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822746643143296:1822746643143636 116414:116414 hsa_signal_destroy() = 0 -1822746643144706:1822746643145256 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822746643146146:1822746643146676 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822746643147406:1822746643147736 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746643148136:1822746643148556 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746643149026:1822746643149296 116414:116414 hsa_signal_store_screlease(, 1) = void -1822746643149746:1822746643150896 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 -1822746643151316:1822746645470540 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746646091314:1822746646091894 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822746646093634:1822746646094214 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746652531326:1822746652532706 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746652547876:1822746652548416 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822746652551146:1822746652551676 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822746652554056:1822746652554976 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746652555456:1822746652555866 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746652556516:1822746652557396 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746653166340:1822746653167060 116414:116414 hsa_signal_store_screlease(, 1) = void -1822746653168300:1822746653170950 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 -1822746653171490:1822746654594819 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746654595219:1822746654595719 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746654597099:1822746654597629 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822746654599599:1822746654600139 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746654625809:1822746654626349 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822746654629729:1822746654630259 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 -1822746654637229:1822746654638149 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 54 -1822746654639099:1822746654639539 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 54 -1822746654640679:1822746654643609 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 -1822746654644329:1822746654644629 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822746654645989:1822746654646819 116414:116414 hsa_signal_store_relaxed(, 54) = void -1822746654648799:1822746654649329 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822746654653819:1822746654654349 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746654656199:1822746654656729 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 -1822746654657889:1822746654658669 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 -1822746654659059:1822746654659339 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 55 -1822746654659729:1822746654660009 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 54 -1822746654660829:1822746654661099 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822746654661509:1822746654661949 116414:116414 hsa_signal_store_relaxed(, 55) = void -1822746654663549:1822746655926857 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822746655931767:1822746655932547 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822746655934117:1822746655938477 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822746655938957:1822746655939277 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822746655941467:1822746655942897 116414:116414 hsa_signal_destroy() = 0 -1822746655944027:1822746655944357 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822746655944827:1822746655945137 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822746655946177:1822746655946517 116414:116414 hsa_signal_destroy() = 0 -1822746655947587:1822746655948137 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822746655949037:1822746655949567 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822746655950357:1822746655950777 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746655951177:1822746655951587 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746655952077:1822746655952347 116414:116414 hsa_signal_store_screlease(, 1) = void -1822746655955137:1822746655956267 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 -1822746655956707:1822746658290032 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746658915416:1822746658915996 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822746658917696:1822746658918236 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746665358737:1822746665360097 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746665374977:1822746665375527 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822746665377997:1822746665378537 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822746665380517:1822746665381447 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746665381847:1822746665382197 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746665383017:1822746665383717 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746665991281:1822746665991841 116414:116414 hsa_signal_store_screlease(, 1) = void -1822746665992981:1822746665995691 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 -1822746665996221:1822746667420900 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746667421310:1822746667421730 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746667422850:1822746667423380 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822746667424930:1822746667425460 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746667439880:1822746667440420 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822746667444000:1822746667444540 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 -1822746667450920:1822746667451840 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 56 -1822746667452590:1822746667453350 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 56 -1822746667454340:1822746667457050 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 -1822746667457680:1822746667457990 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822746667459010:1822746667459820 116414:116414 hsa_signal_store_relaxed(, 56) = void -1822746667462310:1822746667462850 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822746667466520:1822746667467060 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746667468670:1822746667469200 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 -1822746667470910:1822746667471520 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 -1822746667471920:1822746667472220 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 57 -1822746667472640:1822746667472940 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 56 -1822746667482650:1822746667482930 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822746667483320:1822746667483780 116414:116414 hsa_signal_store_relaxed(, 57) = void -1822746667485200:1822746668743938 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822746668749078:1822746668749598 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822746668751038:1822746668755308 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822746668755718:1822746668756038 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822746668758288:1822746668759358 116414:116414 hsa_signal_destroy() = 0 -1822746668760538:1822746668760928 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822746668761408:1822746668761708 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822746668762798:1822746668763139 116414:116414 hsa_signal_destroy() = 0 -1822746668764299:1822746668764849 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822746668765889:1822746668766419 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822746668767109:1822746668767519 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746668767919:1822746668768339 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746668768949:1822746668769229 116414:116414 hsa_signal_store_screlease(, 1) = void -1822746668769669:1822746668770799 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 -1822746668771219:1822746671117194 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746671737808:1822746671738388 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822746671740248:1822746671740778 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746678186569:1822746678187769 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746678202569:1822746678203109 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822746678206069:1822746678206599 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822746678208999:1822746678209889 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746678210279:1822746678210909 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746678211809:1822746678212699 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746678818183:1822746678818663 116414:116414 hsa_signal_store_screlease(, 1) = void -1822746678820023:1822746678822933 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 -1822746678823463:1822746680248062 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746680258082:1822746680258542 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746680259832:1822746680260362 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822746680262252:1822746680262792 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746680277542:1822746680278082 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822746680281582:1822746680282112 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 -1822746680289133:1822746680289863 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 58 -1822746680290753:1822746680291203 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 58 -1822746680292173:1822746680294933 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 -1822746680295573:1822746680295883 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822746680296943:1822746680297773 116414:116414 hsa_signal_store_relaxed(, 58) = void -1822746680300133:1822746680300673 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822746680304613:1822746680305153 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746680307543:1822746680308083 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 -1822746680309333:1822746680309933 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 -1822746680310323:1822746680310603 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 59 -1822746680311003:1822746680311273 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 58 -1822746680311883:1822746680312153 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822746680312543:1822746680313003 116414:116414 hsa_signal_store_relaxed(, 59) = void -1822746680314443:1822746681576751 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822746681581821:1822746681582391 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822746681583881:1822746681588181 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822746681588661:1822746681588971 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822746681591291:1822746681592341 116414:116414 hsa_signal_destroy() = 0 -1822746681593441:1822746681593891 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822746681594361:1822746681594661 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822746681595791:1822746681596131 116414:116414 hsa_signal_destroy() = 0 -1822746681597341:1822746681597891 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822746681598781:1822746681599311 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822746681600021:1822746681600431 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746681603041:1822746681603541 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746681604151:1822746681604421 116414:116414 hsa_signal_store_screlease(, 1) = void -1822746681604871:1822746681606031 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 -1822746681606461:1822746683967395 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746684595879:1822746684596469 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822746684598349:1822746684598879 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746691018881:1822746691020041 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746691034891:1822746691035431 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822746691038111:1822746691038641 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822746691041021:1822746691041931 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746691042391:1822746691042941 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746691043631:1822746691044651 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746691651495:1822746691651945 116414:116414 hsa_signal_store_screlease(, 1) = void -1822746691653085:1822746691655985 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 -1822746691656515:1822746693078814 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746693079254:1822746693079564 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746693080514:1822746693081054 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822746693083074:1822746693083604 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746693098934:1822746693099474 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822746693103024:1822746693103554 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 -1822746693110604:1822746693111334 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 60 -1822746693112114:1822746693112724 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 60 -1822746693113684:1822746693116094 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 -1822746693116674:1822746693116984 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822746693118064:1822746693118884 116414:116414 hsa_signal_store_relaxed(, 60) = void -1822746693121024:1822746693121554 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822746693125534:1822746693126074 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746693128184:1822746693128724 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 -1822746693138894:1822746693139614 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 -1822746693140004:1822746693140274 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 61 -1822746693140674:1822746693140944 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 60 -1822746693141534:1822746693141814 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822746693142204:1822746693142654 116414:116414 hsa_signal_store_relaxed(, 61) = void -1822746693144294:1822746694398722 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822746694404652:1822746694405352 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822746694407262:1822746694411722 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822746694412132:1822746694412442 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822746694414762:1822746694415882 116414:116414 hsa_signal_destroy() = 0 -1822746694416872:1822746694417332 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822746694417752:1822746694418052 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822746694418942:1822746694419282 116414:116414 hsa_signal_destroy() = 0 -1822746694420372:1822746694420922 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822746694421832:1822746694422372 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822746694423082:1822746694423412 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746694423812:1822746694424232 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746694424712:1822746694424982 116414:116414 hsa_signal_store_screlease(, 1) = void -1822746694425432:1822746694426582 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 -1822746694427002:1822746696790397 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746697413431:1822746697414011 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822746697415731:1822746697416311 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746703837982:1822746703839232 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746703854402:1822746703854942 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822746703857932:1822746703858472 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822746703860432:1822746703861402 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746703861802:1822746703862072 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746703862722:1822746703863602 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746704484836:1822746704485416 116414:116414 hsa_signal_store_screlease(, 1) = void -1822746704496636:1822746704499366 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 -1822746704500076:1822746705923615 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746705924015:1822746705924325 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746705925235:1822746705925765 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822746705927815:1822746705928415 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746705944065:1822746705944605 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822746705948265:1822746705948795 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 -1822746705956305:1822746705957035 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 62 -1822746705957965:1822746705958415 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 62 -1822746705959525:1822746705962476 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 -1822746705963126:1822746705963436 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822746705964516:1822746705965346 116414:116414 hsa_signal_store_relaxed(, 62) = void -1822746705967636:1822746705968166 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822746705974486:1822746705975016 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746705977586:1822746705978126 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 -1822746705979266:1822746705979906 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 -1822746705980306:1822746705980586 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 63 -1822746705980986:1822746705981266 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 62 -1822746705982126:1822746705982396 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822746705982806:1822746705983256 116414:116414 hsa_signal_store_relaxed(, 63) = void -1822746705984836:1822746707245173 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822746707250344:1822746707250864 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822746707252454:1822746707256804 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822746707257224:1822746707257534 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822746707259584:1822746707260714 116414:116414 hsa_signal_destroy() = 0 -1822746707261964:1822746707262344 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822746707262814:1822746707263114 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822746707264114:1822746707264454 116414:116414 hsa_signal_destroy() = 0 -1822746707270784:1822746707271334 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822746707272304:1822746707272834 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822746707273904:1822746707274314 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746707274714:1822746707275124 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746707275604:1822746707275874 116414:116414 hsa_signal_store_screlease(, 1) = void -1822746707276324:1822746707277404 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 -1822746707277814:1822746709639869 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746710262693:1822746710263273 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822746710265283:1822746710265863 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746716756714:1822746716758214 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746716773575:1822746716774185 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822746716776615:1822746716777215 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822746716779315:1822746716780285 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746716780725:1822746716781115 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746716781775:1822746716782815 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746717381248:1822746717381818 116414:116414 hsa_signal_store_screlease(, 1) = void -1822746717383408:1822746717386378 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 -1822746717386968:1822746718813308 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746718813718:1822746718814138 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746718815288:1822746718815818 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822746718817418:1822746718817948 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746718832208:1822746718832738 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822746718836108:1822746718836648 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 -1822746718842608:1822746718843418 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 64 -1822746718844168:1822746718844938 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 64 -1822746718846008:1822746718848428 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 -1822746718849018:1822746718849318 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822746718850358:1822746718851178 116414:116414 hsa_signal_store_relaxed(, 64) = void -1822746718861408:1822746718861958 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822746718865768:1822746718866308 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746718868148:1822746718868678 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 -1822746718869988:1822746718870598 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 -1822746718870988:1822746718871268 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 65 -1822746718871668:1822746718871948 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 64 -1822746718872548:1822746718872828 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822746718873238:1822746718873688 116414:116414 hsa_signal_store_relaxed(, 65) = void -1822746718875208:1822746720136216 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822746720140456:1822746720140986 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822746720142566:1822746720146916 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822746720147406:1822746720147716 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822746720149836:1822746720150756 116414:116414 hsa_signal_destroy() = 0 -1822746720151866:1822746720152316 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822746720152736:1822746720153036 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822746720154066:1822746720154416 116414:116414 hsa_signal_destroy() = 0 -1822746720155436:1822746720155986 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822746720156746:1822746720157286 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822746720157976:1822746720158436 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746720158826:1822746720159256 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746720159816:1822746720160096 116414:116414 hsa_signal_store_screlease(, 1) = void -1822746720160536:1822746720161566 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 -1822746720161986:1822746722483951 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746723103375:1822746723103965 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822746723105935:1822746723106505 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746729578296:1822746729579826 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746729595516:1822746729596046 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822746729598666:1822746729599196 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822746729601386:1822746729602296 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746729613226:1822746729613736 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746729614376:1822746729615396 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746730220420:1822746730220780 116414:116414 hsa_signal_store_screlease(, 1) = void -1822746730221940:1822746730224230 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 -1822746730224760:1822746731648649 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746731649049:1822746731649359 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746731650709:1822746731651239 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822746731653309:1822746731653849 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746731668409:1822746731668939 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822746731672369:1822746731672899 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 -1822746731680340:1822746731681060 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 66 -1822746731681810:1822746731682420 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 66 -1822746731683480:1822746731686270 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 -1822746731687060:1822746731687360 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822746731688390:1822746731689200 116414:116414 hsa_signal_store_relaxed(, 66) = void -1822746731691770:1822746731692300 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822746731696130:1822746731696670 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746731698640:1822746731699180 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 -1822746731700760:1822746731701360 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 -1822746731701750:1822746731702030 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 67 -1822746731702430:1822746731702710 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 66 -1822746731703310:1822746731703590 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822746731703990:1822746731704440 116414:116414 hsa_signal_store_relaxed(, 67) = void -1822746731705990:1822746732968668 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822746732973188:1822746732973768 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822746732975378:1822746732979428 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822746732979898:1822746732980208 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822746732982538:1822746732983458 116414:116414 hsa_signal_destroy() = 0 -1822746732987348:1822746732987898 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822746732988308:1822746732988608 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822746732989488:1822746732989838 116414:116414 hsa_signal_destroy() = 0 -1822746732990938:1822746732991498 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822746732992398:1822746732992928 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822746732993658:1822746732994278 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746732994668:1822746732995088 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746732995488:1822746732995768 116414:116414 hsa_signal_store_screlease(, 1) = void -1822746732996208:1822746732997308 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 -1822746732997728:1822746735349663 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746735976047:1822746735976637 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822746735978247:1822746735978777 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746742045776:1822746742047656 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746742063606:1822746742064146 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822746742066616:1822746742067146 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822746742069216:1822746742070126 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746742070596:1822746742071226 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746742071866:1822746742073106 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746742677530:1822746742677970 116414:116414 hsa_signal_store_screlease(, 1) = void -1822746742679690:1822746742682100 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 -1822746742682600:1822746744104179 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746744104609:1822746744105049 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746744106549:1822746744107089 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822746744108779:1822746744109319 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746744132079:1822746744132619 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822746744136219:1822746744136759 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 -1822746744143339:1822746744144049 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 68 -1822746744145019:1822746744145619 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 68 -1822746744146649:1822746744149309 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 -1822746744151869:1822746744152179 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822746744153269:1822746744154099 116414:116414 hsa_signal_store_relaxed(, 68) = void -1822746744156559:1822746744157089 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822746744161109:1822746744161639 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746744163719:1822746744164249 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 -1822746744165539:1822746744166149 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 -1822746744166549:1822746744166819 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 69 -1822746744167219:1822746744167499 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 68 -1822746744168269:1822746744168539 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822746744168939:1822746744169389 116414:116414 hsa_signal_store_relaxed(, 69) = void -1822746744171319:1822746745432787 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822746745437377:1822746745437897 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822746745439447:1822746745444127 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822746745444547:1822746745444857 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822746745447517:1822746745448567 116414:116414 hsa_signal_destroy() = 0 -1822746745449757:1822746745450157 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822746745450627:1822746745450937 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822746745452067:1822746745452407 116414:116414 hsa_signal_destroy() = 0 -1822746745453567:1822746745454117 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822746745455017:1822746745455557 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822746745456407:1822746745456747 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746745457137:1822746745457557 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746745458037:1822746745458317 116414:116414 hsa_signal_store_screlease(, 1) = void -1822746745458757:1822746745459857 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 -1822746745460297:1822746747819222 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746748465856:1822746748466466 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822746748468546:1822746748469126 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746754526055:1822746754527215 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746754552505:1822746754553045 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822746754556435:1822746754556965 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822746754559265:1822746754560165 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746754560555:1822746754561205 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746754562015:1822746754562875 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746755168449:1822746755168819 116414:116414 hsa_signal_store_screlease(, 1) = void -1822746755170379:1822746755172849 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 -1822746755173379:1822746756598178 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746756598648:1822746756599158 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746756600248:1822746756600778 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822746756602708:1822746756603238 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746756619258:1822746756619798 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822746756623758:1822746756624298 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 -1822746756631708:1822746756632418 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 70 -1822746756633348:1822746756633788 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 70 -1822746756634638:1822746756637358 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 -1822746756638218:1822746756638528 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822746756639588:1822746756640308 116414:116414 hsa_signal_store_relaxed(, 70) = void -1822746756642738:1822746756643298 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822746756647268:1822746756647798 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746756649948:1822746756650478 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 -1822746756651718:1822746756652348 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 -1822746756652738:1822746756653018 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 71 -1822746756653408:1822746756653688 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 70 -1822746756654278:1822746756654558 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822746756654948:1822746756655398 116414:116414 hsa_signal_store_relaxed(, 71) = void -1822746756657188:1822746757917116 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822746757921666:1822746757922246 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822746757923966:1822746757928366 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822746757932066:1822746757932406 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822746757934906:1822746757935846 116414:116414 hsa_signal_destroy() = 0 -1822746757936986:1822746757937426 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822746757937896:1822746757938206 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822746757939276:1822746757939626 116414:116414 hsa_signal_destroy() = 0 -1822746757940586:1822746757941146 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822746757942086:1822746757942616 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822746757943396:1822746757943866 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746757944276:1822746757944686 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746757945256:1822746757945526 116414:116414 hsa_signal_store_screlease(, 1) = void -1822746757945986:1822746757947166 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 -1822746757947596:1822746760327551 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746760950165:1822746760950775 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822746760952685:1822746760953315 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746767380777:1822746767382127 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746767397527:1822746767398067 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822746767400527:1822746767401057 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822746767403067:1822746767404167 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746767404557:1822746767405187 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746767405827:1822746767406697 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746768026721:1822746768027231 116414:116414 hsa_signal_store_screlease(, 1) = void -1822746768028791:1822746768031241 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 -1822746768031691:1822746769454000 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746769454400:1822746769454830 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746769455810:1822746769456340 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822746769458610:1822746769459150 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746769474920:1822746769475480 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822746769479030:1822746769479560 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 -1822746769495810:1822746769496540 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 72 -1822746769497450:1822746769497900 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 72 -1822746769498920:1822746769501560 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 -1822746769502230:1822746769502560 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822746769504140:1822746769504840 116414:116414 hsa_signal_store_relaxed(, 72) = void -1822746769507210:1822746769507750 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822746769512460:1822746769512990 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746769514660:1822746769515200 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 -1822746769516480:1822746769517220 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 -1822746769517610:1822746769517890 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 73 -1822746769518280:1822746769518560 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 72 -1822746769519170:1822746769519440 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822746769519830:1822746769520280 116414:116414 hsa_signal_store_relaxed(, 73) = void -1822746769521810:1822746770780559 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822746770785319:1822746770785879 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822746770787429:1822746770791759 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822746770792239:1822746770792549 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822746770794659:1822746770796109 116414:116414 hsa_signal_destroy() = 0 -1822746770797139:1822746770797599 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822746770798069:1822746770798379 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822746770799499:1822746770799839 116414:116414 hsa_signal_destroy() = 0 -1822746770801009:1822746770801559 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822746770802469:1822746770803009 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822746770803729:1822746770804149 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746770804549:1822746770805119 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746770805529:1822746770805799 116414:116414 hsa_signal_store_screlease(, 1) = void -1822746770806249:1822746770807469 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 -1822746770807889:1822746773192984 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746773811888:1822746773812478 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822746773817938:1822746773818478 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746780262889:1822746780264379 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746780280029:1822746780280569 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822746780283849:1822746780284389 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822746780286459:1822746780287619 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746780288009:1822746780288419 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746780289079:1822746780289929 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746780896513:1822746780896953 116414:116414 hsa_signal_store_screlease(, 1) = void -1822746780898323:1822746780900833 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 -1822746780901373:1822746782326702 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746782327102:1822746782327532 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746782328622:1822746782329162 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822746782331322:1822746782331852 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746782354012:1822746782354552 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822746782358192:1822746782358732 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 -1822746782365462:1822746782366182 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 74 -1822746782367152:1822746782367472 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 74 -1822746782368432:1822746782371252 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 -1822746782371912:1822746782372222 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822746782373312:1822746782374122 116414:116414 hsa_signal_store_relaxed(, 74) = void -1822746782376252:1822746782376792 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822746782380652:1822746782381192 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746782383962:1822746782384502 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 -1822746782385812:1822746782386522 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 -1822746782386922:1822746782387202 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 75 -1822746782387592:1822746782387882 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 74 -1822746782388472:1822746782388742 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822746782389142:1822746782389592 116414:116414 hsa_signal_store_relaxed(, 75) = void -1822746782393272:1822746783657780 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822746783662530:1822746783663440 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822746783665031:1822746783669631 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822746783670111:1822746783670411 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822746783672541:1822746783673661 116414:116414 hsa_signal_destroy() = 0 -1822746783674801:1822746783675201 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822746783675671:1822746783675971 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822746783677151:1822746783677491 116414:116414 hsa_signal_destroy() = 0 -1822746783678581:1822746783679131 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822746783680041:1822746783680571 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822746783681371:1822746783681701 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746783682101:1822746783682511 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746783682931:1822746783683201 116414:116414 hsa_signal_store_screlease(, 1) = void -1822746783683651:1822746783684861 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 -1822746783685271:1822746786031285 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746786656249:1822746786656829 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822746786658739:1822746786659309 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746793106700:1822746793107870 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746793123070:1822746793123610 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822746793126300:1822746793126830 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822746793128981:1822746793129901 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746793130291:1822746793130701 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746793131341:1822746793132081 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746793741214:1822746793741724 116414:116414 hsa_signal_store_screlease(, 1) = void -1822746793742954:1822746793746184 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 -1822746793746654:1822746795168774 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746795169184:1822746795169604 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746795170584:1822746795171114 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822746795183214:1822746795183754 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746795199094:1822746795199634 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822746795203544:1822746795204084 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 -1822746795210484:1822746795211224 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 76 -1822746795211994:1822746795212604 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 76 -1822746795213734:1822746795216464 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 -1822746795217244:1822746795217584 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822746795218604:1822746795219454 116414:116414 hsa_signal_store_relaxed(, 76) = void -1822746795221414:1822746795221954 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822746795226094:1822746795226624 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746795228734:1822746795229274 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 -1822746795230504:1822746795231114 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 -1822746795231514:1822746795231794 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 77 -1822746795232184:1822746795232464 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 76 -1822746795233074:1822746795233344 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822746795233744:1822746795234194 116414:116414 hsa_signal_store_relaxed(, 77) = void -1822746795235674:1822746796492512 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822746796497332:1822746796497912 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822746796499482:1822746796503572 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822746796504052:1822746796504362 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822746796506782:1822746796507842 116414:116414 hsa_signal_destroy() = 0 -1822746796509012:1822746796509452 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822746796509922:1822746796510232 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822746796511212:1822746796511562 116414:116414 hsa_signal_destroy() = 0 -1822746796512682:1822746796513232 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822746796514142:1822746796514672 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822746796515392:1822746796515812 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746796516212:1822746796516632 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746796517112:1822746796517392 116414:116414 hsa_signal_store_screlease(, 1) = void -1822746796520142:1822746796521442 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 -1822746796521882:1822746798851377 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746799483181:1822746799483841 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822746799485891:1822746799486551 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746805731051:1822746805732541 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746805748601:1822746805749141 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822746805751861:1822746805752401 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822746805754581:1822746805755501 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746805755891:1822746805756361 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746805757011:1822746805758401 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746806367385:1822746806367895 116414:116414 hsa_signal_store_screlease(, 1) = void -1822746806369645:1822746806372055 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 -1822746806372555:1822746807820344 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746807820744:1822746807821174 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746807822594:1822746807823134 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822746807825384:1822746807825914 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746807840994:1822746807841534 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822746807845024:1822746807845564 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 -1822746807853474:1822746807854204 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 78 -1822746807855094:1822746807855534 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 78 -1822746807856524:1822746807859244 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 -1822746807859894:1822746807860194 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822746807861214:1822746807862044 116414:116414 hsa_signal_store_relaxed(, 78) = void -1822746807864354:1822746807864884 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822746807868864:1822746807869444 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746807871445:1822746807871985 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 -1822746807873245:1822746807873935 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 -1822746807874325:1822746807874605 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 79 -1822746807888265:1822746807888545 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 78 -1822746807889225:1822746807889495 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822746807889905:1822746807890365 116414:116414 hsa_signal_store_relaxed(, 79) = void -1822746807891875:1822746809134712 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822746809139502:1822746809140022 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822746809141602:1822746809146162 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822746809146642:1822746809146952 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822746809149202:1822746809150112 116414:116414 hsa_signal_destroy() = 0 -1822746809151252:1822746809151652 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822746809152133:1822746809152433 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822746809153503:1822746809153883 116414:116414 hsa_signal_destroy() = 0 -1822746809154853:1822746809155403 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822746809156293:1822746809156833 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822746809157553:1822746809157893 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746809158293:1822746809158703 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746809159183:1822746809159463 116414:116414 hsa_signal_store_screlease(, 1) = void -1822746809159903:1822746809161013 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 -1822746809161443:1822746811520807 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746812160031:1822746812160611 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822746812162381:1822746812162921 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746818654253:1822746818655703 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746818671863:1822746818672473 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822746818675103:1822746818675703 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822746818677923:1822746818679043 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746818679493:1822746818679883 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746818680483:1822746818681503 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746819275267:1822746819275787 116414:116414 hsa_signal_store_screlease(, 1) = void -1822746819277117:1822746819279767 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 -1822746819280387:1822746820703026 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746820713396:1822746820713716 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746820714896:1822746820715426 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822746820717506:1822746820718036 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746820732796:1822746820733336 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822746820736426:1822746820736966 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 -1822746820742956:1822746820743686 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 80 -1822746820744436:1822746820744956 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 80 -1822746820745936:1822746820748366 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 -1822746820748966:1822746820749276 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822746820750566:1822746820751396 116414:116414 hsa_signal_store_relaxed(, 80) = void -1822746820753466:1822746820754006 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822746820758236:1822746820758766 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746820760957:1822746820761497 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 -1822746820762547:1822746820763197 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 -1822746820763597:1822746820763877 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 81 -1822746820764277:1822746820764557 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 80 -1822746820765167:1822746820765447 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822746820765847:1822746820766297 116414:116414 hsa_signal_store_relaxed(, 81) = void -1822746820767887:1822746822027925 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822746822032095:1822746822032605 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822746822034155:1822746822038335 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822746822038805:1822746822039115 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822746822041675:1822746822042745 116414:116414 hsa_signal_destroy() = 0 -1822746822043935:1822746822044325 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822746822044795:1822746822045105 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822746822046125:1822746822046465 116414:116414 hsa_signal_destroy() = 0 -1822746822047545:1822746822048105 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822746822048855:1822746822049385 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822746822052395:1822746822052745 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746822053145:1822746822053555 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746822053965:1822746822054235 116414:116414 hsa_signal_store_screlease(, 1) = void -1822746822054685:1822746822055715 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 -1822746822056155:1822746824422180 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746825041784:1822746825042364 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822746825044174:1822746825044704 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746831155292:1822746831156632 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746831171193:1822746831171733 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822746831174433:1822746831174973 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822746831177083:1822746831178283 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746831178693:1822746831179043 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746831179683:1822746831180543 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746831786087:1822746831786447 116414:116414 hsa_signal_store_screlease(, 1) = void -1822746831787497:1822746831790037 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 -1822746831790577:1822746833214316 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746833214836:1822746833215276 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746833216396:1822746833216926 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822746833218526:1822746833219056 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746833234136:1822746833234676 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822746833238486:1822746833239016 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 -1822746833245576:1822746833246316 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 82 -1822746833247216:1822746833247526 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 82 -1822746833248516:1822746833251166 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 -1822746833251936:1822746833252246 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822746833253276:1822746833253986 116414:116414 hsa_signal_store_relaxed(, 82) = void -1822746833256106:1822746833256646 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822746833261086:1822746833261626 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746833263476:1822746833264036 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 -1822746833272656:1822746833273266 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 -1822746833273666:1822746833273946 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 83 -1822746833274346:1822746833274626 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 82 -1822746833275226:1822746833275506 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822746833275896:1822746833276356 116414:116414 hsa_signal_store_relaxed(, 83) = void -1822746833277976:1822746834546174 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822746834550624:1822746834551194 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822746834552784:1822746834557044 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822746834557464:1822746834557774 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822746834560314:1822746834561374 116414:116414 hsa_signal_destroy() = 0 -1822746834562444:1822746834562884 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822746834563354:1822746834563654 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822746834564734:1822746834565074 116414:116414 hsa_signal_destroy() = 0 -1822746834566174:1822746834566714 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822746834567604:1822746834568134 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822746834568774:1822746834569114 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746834569504:1822746834569924 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746834570394:1822746834570674 116414:116414 hsa_signal_store_screlease(, 1) = void -1822746834571144:1822746834572204 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 -1822746834572624:1822746836944949 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746837569803:1822746837570403 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822746837572333:1822746837572953 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746844025434:1822746844026894 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746844042014:1822746844042554 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822746844045675:1822746844046205 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822746844048195:1822746844049105 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746844049495:1822746844049895 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746844050465:1822746844051595 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746844665118:1822746844665698 116414:116414 hsa_signal_store_screlease(, 1) = void -1822746844667178:1822746844670029 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 -1822746844670559:1822746846092528 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746846092928:1822746846093358 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746846094438:1822746846094978 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822746846097038:1822746846097568 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746846112698:1822746846113238 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822746846116588:1822746846117118 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 -1822746846123848:1822746846124578 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 84 -1822746846125318:1822746846125948 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 84 -1822746846127258:1822746846129938 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 -1822746846130608:1822746846130908 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822746846131928:1822746846132778 116414:116414 hsa_signal_store_relaxed(, 84) = void -1822746846135088:1822746846135618 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822746846142108:1822746846142648 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746846144538:1822746846145068 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 -1822746846146278:1822746846146998 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 -1822746846147398:1822746846147678 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 85 -1822746846148068:1822746846148358 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 84 -1822746846148968:1822746846149248 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822746846149638:1822746846150088 116414:116414 hsa_signal_store_relaxed(, 85) = void -1822746846151458:1822746847406186 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822746847410596:1822746847411116 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822746847412806:1822746847417376 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822746847417796:1822746847418106 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822746847420576:1822746847421516 116414:116414 hsa_signal_destroy() = 0 -1822746847422766:1822746847423086 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822746847423506:1822746847423806 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822746847424976:1822746847425326 116414:116414 hsa_signal_destroy() = 0 -1822746847428856:1822746847429406 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822746847430196:1822746847430726 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822746847431466:1822746847431886 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746847432276:1822746847432696 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746847433106:1822746847433376 116414:116414 hsa_signal_store_screlease(, 1) = void -1822746847433826:1822746847434886 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 -1822746847435316:1822746849768131 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746850391215:1822746850391795 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822746850393775:1822746850394395 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746856852406:1822746856853586 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746856868066:1822746856868606 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822746856872066:1822746856872596 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822746856874866:1822746856875776 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746856876166:1822746856876576 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746856877426:1822746856878266 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746857489620:1822746857490130 116414:116414 hsa_signal_store_screlease(, 1) = void -1822746857491390:1822746857493990 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 -1822746857494550:1822746858918679 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746858919079:1822746858919539 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746858920609:1822746858921139 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822746858923559:1822746858924089 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746858939859:1822746858940389 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822746858944009:1822746858944539 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 -1822746858951729:1822746858952469 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 86 -1822746858953469:1822746858953769 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 86 -1822746858954749:1822746858957290 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 -1822746858957950:1822746858958270 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822746858959640:1822746858960470 116414:116414 hsa_signal_store_relaxed(, 86) = void -1822746858970970:1822746858971500 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822746858976030:1822746858976560 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746858978680:1822746858979220 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 -1822746858980540:1822746858981250 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 -1822746858981650:1822746858981930 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 87 -1822746858982320:1822746858982600 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 86 -1822746858983420:1822746858983690 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822746858984090:1822746858984570 116414:116414 hsa_signal_store_relaxed(, 87) = void -1822746858986020:1822746860230488 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822746860235298:1822746860235828 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822746860237348:1822746860241668 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822746860242088:1822746860242398 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822746860244518:1822746860246028 116414:116414 hsa_signal_destroy() = 0 -1822746860247208:1822746860247608 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822746860248078:1822746860248388 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822746860249328:1822746860249668 116414:116414 hsa_signal_destroy() = 0 -1822746860250638:1822746860251188 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822746860252078:1822746860252618 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822746860253388:1822746860253808 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746860254198:1822746860254618 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746860255098:1822746860255378 116414:116414 hsa_signal_store_screlease(, 1) = void -1822746860255818:1822746860256938 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 -1822746860257358:1822746862607943 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746863231107:1822746863231687 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822746863233507:1822746863234127 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746869387856:1822746869389636 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746869405026:1822746869405566 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822746869408286:1822746869408816 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822746869420636:1822746869421526 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746869421916:1822746869422586 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746869423316:1822746869424546 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746870032760:1822746870033400 116414:116414 hsa_signal_store_screlease(, 1) = void -1822746870035010:1822746870037090 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 -1822746870037620:1822746871459859 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746871460259:1822746871460689 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746871461849:1822746871462389 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822746871464859:1822746871465389 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746871480889:1822746871481429 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822746871485009:1822746871485549 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 -1822746871492729:1822746871493469 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 88 -1822746871494339:1822746871494789 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 88 -1822746871495789:1822746871498709 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 -1822746871499359:1822746871499669 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822746871500729:1822746871501379 116414:116414 hsa_signal_store_relaxed(, 88) = void -1822746871503609:1822746871504139 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822746871508369:1822746871508949 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746871511009:1822746871511549 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 -1822746871513019:1822746871513629 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 -1822746871514019:1822746871514299 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 89 -1822746871514699:1822746871514979 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 88 -1822746871515909:1822746871516189 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822746871516579:1822746871517029 116414:116414 hsa_signal_store_relaxed(, 89) = void -1822746871518659:1822746872784378 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822746872788808:1822746872789388 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822746872791098:1822746872795768 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822746872796248:1822746872796558 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822746872798778:1822746872799828 116414:116414 hsa_signal_destroy() = 0 -1822746872804078:1822746872804528 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822746872804948:1822746872805248 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822746872806368:1822746872806718 116414:116414 hsa_signal_destroy() = 0 -1822746872807798:1822746872808348 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822746872809298:1822746872809828 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822746872810548:1822746872810968 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746872811358:1822746872811768 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746872812178:1822746872812448 116414:116414 hsa_signal_store_screlease(, 1) = void -1822746872812888:1822746872814058 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 -1822746872814478:1822746875155543 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746875777847:1822746875778427 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822746875780377:1822746875780947 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746882238328:1822746882239608 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746882255148:1822746882255688 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822746882258498:1822746882259038 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822746882261138:1822746882262048 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746882262448:1822746882262948 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746882263638:1822746882264438 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746882871302:1822746882871852 116414:116414 hsa_signal_store_screlease(, 1) = void -1822746882873162:1822746882876242 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 -1822746882876722:1822746884299251 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746884299701:1822746884300141 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746884301501:1822746884302031 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822746884303921:1822746884304451 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746884319881:1822746884320421 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822746884324411:1822746884324941 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 -1822746884331941:1822746884332661 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 90 -1822746884333861:1822746884334181 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 90 -1822746884343181:1822746884345901 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 -1822746884346521:1822746884346831 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822746884347951:1822746884348741 116414:116414 hsa_signal_store_relaxed(, 90) = void -1822746884350981:1822746884351521 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822746884355961:1822746884356491 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746884358331:1822746884358871 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 -1822746884360131:1822746884360841 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 -1822746884361241:1822746884361511 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 91 -1822746884361911:1822746884362191 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 90 -1822746884362991:1822746884363261 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822746884363661:1822746884364111 116414:116414 hsa_signal_store_relaxed(, 91) = void -1822746884365661:1822746885631779 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822746885636739:1822746885637369 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822746885639099:1822746885643659 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822746885644139:1822746885644459 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822746885646689:1822746885647739 116414:116414 hsa_signal_destroy() = 0 -1822746885649039:1822746885649509 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822746885649929:1822746885650229 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822746885651169:1822746885651509 116414:116414 hsa_signal_destroy() = 0 -1822746885652599:1822746885653149 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822746885654049:1822746885654589 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822746885655309:1822746885655719 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746885656119:1822746885656529 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746885657169:1822746885657439 116414:116414 hsa_signal_store_screlease(, 1) = void -1822746885657879:1822746885658999 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 -1822746885659429:1822746888043865 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746888671729:1822746888672309 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822746888673919:1822746888674539 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746895108290:1822746895109550 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746895134610:1822746895135150 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822746895138340:1822746895138870 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822746895141530:1822746895142450 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746895142850:1822746895143490 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746895144150:1822746895144950 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746895750584:1822746895751034 116414:116414 hsa_signal_store_screlease(, 1) = void -1822746895752444:1822746895755044 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 -1822746895755574:1822746897177163 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746897177593:1822746897178033 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746897179243:1822746897179783 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822746897181893:1822746897182423 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746897198003:1822746897198553 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822746897201833:1822746897202363 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 -1822746897209073:1822746897209793 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 92 -1822746897210703:1822746897211143 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 92 -1822746897212113:1822746897214673 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 -1822746897215303:1822746897215613 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822746897216673:1822746897217523 116414:116414 hsa_signal_store_relaxed(, 92) = void -1822746897219693:1822746897220223 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822746897224663:1822746897225193 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746897227533:1822746897228063 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 -1822746897229313:1822746897230263 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 -1822746897230653:1822746897230933 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 93 -1822746897231323:1822746897231603 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 92 -1822746897232403:1822746897232683 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822746897233073:1822746897233523 116414:116414 hsa_signal_store_relaxed(, 93) = void -1822746897235083:1822746898515301 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822746898519641:1822746898520161 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822746898525071:1822746898529271 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822746898529691:1822746898530001 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822746898532421:1822746898533481 116414:116414 hsa_signal_destroy() = 0 -1822746898534651:1822746898535051 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822746898535531:1822746898535831 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822746898536891:1822746898537231 116414:116414 hsa_signal_destroy() = 0 -1822746898538421:1822746898538971 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822746898540331:1822746898540861 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822746898541641:1822746898542061 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746898542461:1822746898542871 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746898543431:1822746898543701 116414:116414 hsa_signal_store_screlease(, 1) = void -1822746898544141:1822746898545221 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 -1822746898545641:1822746900927097 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746901547101:1822746901547691 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822746901549681:1822746901550261 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746907993861:1822746907995191 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746908018061:1822746908018611 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822746908021082:1822746908021622 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822746908023722:1822746908024642 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746908025032:1822746908025672 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746908026332:1822746908027792 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746908648446:1822746908648866 116414:116414 hsa_signal_store_screlease(, 1) = void -1822746908650156:1822746908653166 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 -1822746908653726:1822746910078175 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746910078575:1822746910079005 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746910080375:1822746910080905 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822746910082705:1822746910083385 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746910099185:1822746910099725 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822746910103995:1822746910104535 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 -1822746910120395:1822746910121155 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 94 -1822746910122145:1822746910122585 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 94 -1822746910123565:1822746910126375 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 -1822746910127035:1822746910127345 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822746910128325:1822746910129045 116414:116414 hsa_signal_store_relaxed(, 94) = void -1822746910131535:1822746910132065 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822746910136265:1822746910136805 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746910139015:1822746910139555 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 -1822746910140635:1822746910141255 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 -1822746910141645:1822746910141925 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 95 -1822746910142315:1822746910142595 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 94 -1822746910143195:1822746910143475 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822746910143865:1822746910144315 116414:116414 hsa_signal_store_relaxed(, 95) = void -1822746910146125:1822746911420973 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822746911424843:1822746911425413 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822746911427033:1822746911431333 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822746911431753:1822746911432063 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822746911434633:1822746911435533 116414:116414 hsa_signal_destroy() = 0 -1822746911436773:1822746911437213 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822746911437693:1822746911437993 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822746911438873:1822746911439213 116414:116414 hsa_signal_destroy() = 0 -1822746911440263:1822746911440813 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822746911441713:1822746911442243 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822746911443094:1822746911443434 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746911443824:1822746911444244 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746911444654:1822746911444924 116414:116414 hsa_signal_store_screlease(, 1) = void -1822746911445374:1822746911446474 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 -1822746911446904:1822746913785979 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746914414483:1822746914415063 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822746914416733:1822746914417273 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746920859804:1822746920861184 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746920876184:1822746920876724 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822746920879834:1822746920880364 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822746920882294:1822746920883214 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746920883604:1822746920884014 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746920884874:1822746920885884 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746921472088:1822746921472608 116414:116414 hsa_signal_store_screlease(, 1) = void -1822746921473758:1822746921476508 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 -1822746921477048:1822746922902037 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746922902437:1822746922902747 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746922903917:1822746922904447 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822746922906457:1822746922906987 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746922922597:1822746922923147 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822746922926337:1822746922926877 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 -1822746922933307:1822746922934037 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 96 -1822746922934787:1822746922935657 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 96 -1822746922936707:1822746922939297 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 -1822746922939917:1822746922940227 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822746922941317:1822746922942137 116414:116414 hsa_signal_store_relaxed(, 96) = void -1822746922944607:1822746922945177 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822746922949097:1822746922949637 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746922951997:1822746922952537 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 -1822746922953747:1822746922954457 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 -1822746922954917:1822746922955197 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 97 -1822746922955587:1822746922955877 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 96 -1822746922956477:1822746922956757 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822746922957147:1822746922957597 116414:116414 hsa_signal_store_relaxed(, 97) = void -1822746922967767:1822746924234385 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822746924238745:1822746924239375 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822746924240935:1822746924245485 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822746924245895:1822746924246215 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822746924248375:1822746924249495 116414:116414 hsa_signal_destroy() = 0 -1822746924250585:1822746924251045 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822746924251515:1822746924251825 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822746924252885:1822746924253235 116414:116414 hsa_signal_destroy() = 0 -1822746924254355:1822746924254905 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822746924255695:1822746924256225 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822746924257035:1822746924257375 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746924257785:1822746924258195 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746924258605:1822746924258875 116414:116414 hsa_signal_store_screlease(, 1) = void -1822746924259325:1822746924260325 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 -1822746924260745:1822746926621140 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746927241324:1822746927241904 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822746927243574:1822746927244154 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746933708165:1822746933709725 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746933724805:1822746933725345 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822746933728595:1822746933729126 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822746933731296:1822746933732196 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746933732586:1822746933732996 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746933733646:1822746933735166 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746934339539:1822746934340079 116414:116414 hsa_signal_store_screlease(, 1) = void -1822746934341449:1822746934344459 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 -1822746934345009:1822746935771158 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746935771558:1822746935771988 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746935773068:1822746935773598 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822746935785688:1822746935786228 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746935801548:1822746935802088 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822746935805628:1822746935806168 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 -1822746935813578:1822746935814378 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 98 -1822746935815298:1822746935815748 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 98 -1822746935816878:1822746935819669 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 -1822746935820319:1822746935820629 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822746935821659:1822746935822489 116414:116414 hsa_signal_store_relaxed(, 98) = void -1822746935824839:1822746935825379 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822746935829349:1822746935829889 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746935831679:1822746935832219 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 -1822746935833379:1822746935834349 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 -1822746935834739:1822746935835019 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 99 -1822746935835409:1822746935835689 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 98 -1822746935836289:1822746935836569 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822746935836959:1822746935837409 116414:116414 hsa_signal_store_relaxed(, 99) = void -1822746935839079:1822746937100677 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822746937105627:1822746937106237 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822746937107767:1822746937112067 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822746937112487:1822746937112797 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822746937115007:1822746937116157 116414:116414 hsa_signal_destroy() = 0 -1822746937117317:1822746937117707 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822746937118127:1822746937118427 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822746937119357:1822746937119707 116414:116414 hsa_signal_destroy() = 0 -1822746937120767:1822746937121317 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822746937122207:1822746937122737 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822746937123547:1822746937123887 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746937124287:1822746937124697 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746937127607:1822746937127887 116414:116414 hsa_signal_store_screlease(, 1) = void -1822746937128367:1822746937129447 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 -1822746937129867:1822746939469682 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746940117496:1822746940118096 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822746940119716:1822746940120246 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746946565318:1822746946566488 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746946581488:1822746946582028 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822746946584628:1822746946585168 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822746946587488:1822746946588608 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746946588998:1822746946589408 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746946590228:1822746946591218 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746947199172:1822746947199532 116414:116414 hsa_signal_store_screlease(, 1) = void -1822746947200972:1822746947203692 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 -1822746947204232:1822746948627031 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746948627521:1822746948627951 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746948629031:1822746948629561 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822746948631701:1822746948632231 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746948647021:1822746948647561 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822746948651391:1822746948651921 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 -1822746948658571:1822746948659451 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 100 -1822746948660681:1822746948660971 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 100 -1822746948661941:1822746948664551 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 -1822746948665201:1822746948665511 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822746948666871:1822746948667571 116414:116414 hsa_signal_store_relaxed(, 100) = void -1822746948669801:1822746948670351 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822746948674521:1822746948675051 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746948677331:1822746948677861 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 -1822746948678971:1822746948679871 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 -1822746948680261:1822746948680541 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 101 -1822746948690031:1822746948690321 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 100 -1822746948690951:1822746948691221 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822746948691611:1822746948692061 116414:116414 hsa_signal_store_relaxed(, 101) = void -1822746948693581:1822746949940239 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822746949945049:1822746949945569 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822746949947379:1822746949951419 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822746949951849:1822746949952159 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822746949954269:1822746949955269 116414:116414 hsa_signal_destroy() = 0 -1822746949956409:1822746949956849 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822746949957319:1822746949957619 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822746949958519:1822746949958859 116414:116414 hsa_signal_destroy() = 0 -1822746949959929:1822746949960469 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822746949961389:1822746949961919 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822746949963059:1822746949963399 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746949963819:1822746949964229 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746949964779:1822746949965059 116414:116414 hsa_signal_store_screlease(, 1) = void -1822746949965499:1822746949966679 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 -1822746949967099:1822746952299564 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746952922638:1822746952923228 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822746952924868:1822746952925408 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746959363779:1822746959365019 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746959380169:1822746959380709 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822746959383809:1822746959384349 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822746959386749:1822746959387819 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746959388229:1822746959388639 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746959389289:1822746959390169 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746959994133:1822746959994563 116414:116414 hsa_signal_store_screlease(, 1) = void -1822746959995993:1822746959999013 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 -1822746960017983:1822746961422332 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746961422752:1822746961423182 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746961424362:1822746961424892 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822746961427242:1822746961427842 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746961445652:1822746961446182 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822746961449662:1822746961450192 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 -1822746961457052:1822746961457792 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 102 -1822746961458722:1822746961459172 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 102 -1822746961460162:1822746961463092 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 -1822746961463822:1822746961464132 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822746961465182:1822746961465982 116414:116414 hsa_signal_store_relaxed(, 102) = void -1822746961468112:1822746961468652 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822746961472902:1822746961473432 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746961475482:1822746961476022 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 -1822746961477332:1822746961478182 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 -1822746961478572:1822746961478852 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 103 -1822746961479242:1822746961479522 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 102 -1822746961480342:1822746961480612 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822746961481022:1822746961481472 116414:116414 hsa_signal_store_relaxed(, 103) = void -1822746961483072:1822746962756050 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822746962760680:1822746962761250 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822746962762820:1822746962767480 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822746962767890:1822746962768210 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822746962770470:1822746962771880 116414:116414 hsa_signal_destroy() = 0 -1822746962773120:1822746962773580 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822746962774010:1822746962774310 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822746962775290:1822746962775630 116414:116414 hsa_signal_destroy() = 0 -1822746962776620:1822746962777180 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822746962778090:1822746962778620 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822746962782030:1822746962782390 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746962782790:1822746962783200 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746962783610:1822746962783880 116414:116414 hsa_signal_store_screlease(, 1) = void -1822746962784330:1822746962785520 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 -1822746962785950:1822746965189926 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746965811010:1822746965811590 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822746965813360:1822746965813900 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746972276661:1822746972278131 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746972292691:1822746972293231 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822746972296251:1822746972296781 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822746972299201:1822746972300341 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746972300811:1822746972301221 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746972301791:1822746972302691 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746972909935:1822746972910445 116414:116414 hsa_signal_store_screlease(, 1) = void -1822746972911875:1822746972914865 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 -1822746972915425:1822746974338154 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746974338554:1822746974338984 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746974339924:1822746974340454 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822746974342314:1822746974342844 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746974359074:1822746974359624 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822746974362965:1822746974363495 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 -1822746974370145:1822746974370875 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 104 -1822746974371935:1822746974372385 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 104 -1822746974373395:1822746974375995 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 -1822746974376685:1822746974376995 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822746974378015:1822746974378825 116414:116414 hsa_signal_store_relaxed(, 104) = void -1822746974381035:1822746974381575 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822746974386045:1822746974386615 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746974396275:1822746974396815 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 -1822746974398065:1822746974398785 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 -1822746974399175:1822746974399455 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 105 -1822746974399855:1822746974400125 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 104 -1822746974400805:1822746974401085 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822746974401485:1822746974401935 116414:116414 hsa_signal_store_relaxed(, 105) = void -1822746974403715:1822746975678263 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822746975683233:1822746975683803 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822746975685323:1822746975689443 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822746975689853:1822746975690163 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822746975692393:1822746975693443 116414:116414 hsa_signal_destroy() = 0 -1822746975694723:1822746975695123 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822746975695593:1822746975695893 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822746975697003:1822746975697343 116414:116414 hsa_signal_destroy() = 0 -1822746975698433:1822746975698983 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822746975699873:1822746975700413 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822746975701163:1822746975701573 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746975701973:1822746975702383 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746975702793:1822746975703063 116414:116414 hsa_signal_store_screlease(, 1) = void -1822746975703503:1822746975704673 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 -1822746975705093:1822746978072968 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746978696782:1822746978697362 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822746978698872:1822746978699492 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746985152363:1822746985154233 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746985169943:1822746985170483 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822746985173383:1822746985173913 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822746985176063:1822746985176973 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746985177373:1822746985177773 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746985178583:1822746985179533 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746985797997:1822746985798547 116414:116414 hsa_signal_store_screlease(, 1) = void -1822746985799757:1822746985802657 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 -1822746985803187:1822746987227196 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746987227596:1822746987228046 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746987228906:1822746987229446 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822746987231546:1822746987232076 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746987248916:1822746987249466 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822746987252917:1822746987253457 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 -1822746987261187:1822746987261927 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 106 -1822746987262887:1822746987263207 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 106 -1822746987264177:1822746987266937 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 -1822746987267567:1822746987267877 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822746987268837:1822746987269737 116414:116414 hsa_signal_store_relaxed(, 106) = void -1822746987272127:1822746987272667 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822746987276477:1822746987277027 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746987279987:1822746987280527 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 -1822746987281617:1822746987282247 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 -1822746987282637:1822746987282917 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 107 -1822746987283307:1822746987283597 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 106 -1822746987284197:1822746987284467 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822746987284877:1822746987285327 116414:116414 hsa_signal_store_relaxed(, 107) = void -1822746987287147:1822746988556345 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822746988561295:1822746988561865 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822746988563435:1822746988567655 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822746988568135:1822746988568445 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822746988570595:1822746988571655 116414:116414 hsa_signal_destroy() = 0 -1822746988572845:1822746988573285 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822746988573765:1822746988574065 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822746988577395:1822746988577755 116414:116414 hsa_signal_destroy() = 0 -1822746988578735:1822746988579285 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822746988580215:1822746988580755 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822746988581715:1822746988582065 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746988582475:1822746988582885 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746988583365:1822746988583645 116414:116414 hsa_signal_store_screlease(, 1) = void -1822746988584105:1822746988585295 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 -1822746988585725:1822746990921010 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746991543623:1822746991544203 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822746991545723:1822746991546303 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746997995645:1822746997997115 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822746998013275:1822746998013815 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822746998016225:1822746998016755 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822746998018795:1822746998019715 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746998020115:1822746998020655 116414:116414 hsa_signal_store_screlease(, 0) = void -1822746998021185:1822746998022085 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822746998609429:1822746998609939 116414:116414 hsa_signal_store_screlease(, 1) = void -1822746998611359:1822746998613949 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 -1822746998614499:1822747000036518 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747000036958:1822747000037388 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747000038508:1822747000039038 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822747000040908:1822747000041438 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747000055908:1822747000056438 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822747000060248:1822747000060778 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 -1822747000067508:1822747000068228 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 108 -1822747000069018:1822747000069648 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 108 -1822747000070608:1822747000073638 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 -1822747000074268:1822747000074568 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822747000075838:1822747000076668 116414:116414 hsa_signal_store_relaxed(, 108) = void -1822747000087568:1822747000088108 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822747000092158:1822747000092688 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747000094938:1822747000095468 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 -1822747000097118:1822747000097768 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 -1822747000098158:1822747000098438 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 109 -1822747000098828:1822747000099118 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 108 -1822747000099718:1822747000099988 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822747000100378:1822747000100838 116414:116414 hsa_signal_store_relaxed(, 109) = void -1822747000102408:1822747001354776 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822747001359306:1822747001360176 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822747001361766:1822747001366106 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822747001366526:1822747001366836 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822747001369086:1822747001370076 116414:116414 hsa_signal_destroy() = 0 -1822747001371166:1822747001371626 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822747001372096:1822747001372406 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822747001373396:1822747001373726 116414:116414 hsa_signal_destroy() = 0 -1822747001374826:1822747001375376 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822747001376136:1822747001376676 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822747001377486:1822747001377836 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747001378246:1822747001378656 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747001379066:1822747001379346 116414:116414 hsa_signal_store_screlease(, 1) = void -1822747001379796:1822747001380916 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 -1822747001381336:1822747003745491 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747004379125:1822747004379715 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822747004381505:1822747004382085 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747010832127:1822747010833487 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747010848317:1822747010848867 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822747010851947:1822747010852477 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822747010868127:1822747010869027 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747010869437:1822747010870067 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747010870737:1822747010872107 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747011480291:1822747011480741 116414:116414 hsa_signal_store_screlease(, 1) = void -1822747011481981:1822747011484441 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 -1822747011484921:1822747012910620 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747012911110:1822747012911580 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747012912740:1822747012913280 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822747012915160:1822747012915700 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747012931010:1822747012931550 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822747012935030:1822747012935570 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 -1822747012943030:1822747012943770 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 110 -1822747012944670:1822747012944980 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 110 -1822747012945960:1822747012948620 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 -1822747012949230:1822747012949530 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822747012950560:1822747012951410 116414:116414 hsa_signal_store_relaxed(, 110) = void -1822747012953480:1822747012954020 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822747012958110:1822747012958670 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747012960700:1822747012961240 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 -1822747012962470:1822747012963110 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 -1822747012963510:1822747012963790 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 111 -1822747012964180:1822747012964460 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 110 -1822747012965290:1822747012965560 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822747012965960:1822747012966410 116414:116414 hsa_signal_store_relaxed(, 111) = void -1822747012968070:1822747014228138 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822747014233458:1822747014234068 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822747014235908:1822747014240168 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822747014240578:1822747014240898 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822747014246008:1822747014247128 116414:116414 hsa_signal_destroy() = 0 -1822747014248318:1822747014248698 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822747014249178:1822747014249488 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822747014250658:1822747014250998 116414:116414 hsa_signal_destroy() = 0 -1822747014252098:1822747014252648 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822747014253548:1822747014254088 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822747014254778:1822747014255188 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747014255598:1822747014256008 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747014256718:1822747014256988 116414:116414 hsa_signal_store_screlease(, 1) = void -1822747014257428:1822747014258498 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 -1822747014258918:1822747016600083 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747017222227:1822747017222817 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822747017224697:1822747017225317 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747023663198:1822747023664798 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747023679758:1822747023680298 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822747023683568:1822747023684098 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822747023686258:1822747023687158 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747023687548:1822747023687958 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747023688598:1822747023689608 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747024302822:1822747024303292 116414:116414 hsa_signal_store_screlease(, 1) = void -1822747024304512:1822747024306982 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 -1822747024307512:1822747025730101 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747025730501:1822747025730931 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747025732031:1822747025732571 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822747025734781:1822747025735311 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747025749872:1822747025750412 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822747025754262:1822747025754802 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 -1822747025761722:1822747025762482 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 112 -1822747025763232:1822747025763852 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 112 -1822747025772682:1822747025775492 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 -1822747025776162:1822747025776472 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822747025777472:1822747025778322 116414:116414 hsa_signal_store_relaxed(, 112) = void -1822747025780362:1822747025780892 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822747025784962:1822747025785502 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747025787692:1822747025788232 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 -1822747025789562:1822747025790162 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 -1822747025790562:1822747025790842 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 113 -1822747025791232:1822747025791512 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 112 -1822747025792322:1822747025792602 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822747025793002:1822747025793462 116414:116414 hsa_signal_store_relaxed(, 113) = void -1822747025795352:1822747027047410 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822747027052100:1822747027052680 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822747027054540:1822747027058870 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822747027059300:1822747027059610 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822747027062220:1822747027063450 116414:116414 hsa_signal_destroy() = 0 -1822747027064560:1822747027065000 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822747027065470:1822747027065770 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822747027066890:1822747027067230 116414:116414 hsa_signal_destroy() = 0 -1822747027068310:1822747027068850 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822747027069840:1822747027070370 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822747027071110:1822747027071520 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747027071910:1822747027072330 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747027072740:1822747027073010 116414:116414 hsa_signal_store_screlease(, 1) = void -1822747027073450:1822747027074630 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 -1822747027075050:1822747029417945 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747030045319:1822747030045899 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822747030047559:1822747030048089 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747036502340:1822747036503610 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747036518860:1822747036519400 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822747036522260:1822747036522790 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822747036525060:1822747036526240 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747036526640:1822747036526910 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747036527570:1822747036528820 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747037138354:1822747037138794 116414:116414 hsa_signal_store_screlease(, 1) = void -1822747037140294:1822747037142764 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 -1822747037143304:1822747038567123 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747038567523:1822747038567823 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747038568973:1822747038569503 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822747038571373:1822747038571973 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747038586983:1822747038587523 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822747038590993:1822747038591523 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 -1822747038598303:1822747038599023 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 114 -1822747038599933:1822747038600373 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 114 -1822747038601353:1822747038604133 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 -1822747038604793:1822747038605093 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822747038606113:1822747038606933 116414:116414 hsa_signal_store_relaxed(, 114) = void -1822747038609163:1822747038609693 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822747038613543:1822747038614083 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747038616713:1822747038617273 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 -1822747038618273:1822747038618963 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 -1822747038619353:1822747038619633 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 115 -1822747038620023:1822747038620303 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 114 -1822747038621183:1822747038621453 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822747038621843:1822747038622293 116414:116414 hsa_signal_store_relaxed(, 115) = void -1822747038623943:1822747039876201 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822747039881682:1822747039882252 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822747039892852:1822747039897112 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822747039897602:1822747039897912 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822747039900502:1822747039901552 116414:116414 hsa_signal_destroy() = 0 -1822747039902672:1822747039902992 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822747039903472:1822747039903772 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822747039904742:1822747039905122 116414:116414 hsa_signal_destroy() = 0 -1822747039906052:1822747039906612 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822747039907572:1822747039908102 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822747039908812:1822747039909152 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747039909542:1822747039909962 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747039910442:1822747039910712 116414:116414 hsa_signal_store_screlease(, 1) = void -1822747039911162:1822747039912272 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 -1822747039912692:1822747042310027 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747042932861:1822747042933451 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822747042935701:1822747042936321 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747049388052:1822747049389602 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747049405452:1822747049405992 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822747049409042:1822747049409582 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822747049411762:1822747049412682 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747049413072:1822747049413432 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747049414002:1822747049415042 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747050020126:1822747050020586 116414:116414 hsa_signal_store_screlease(, 1) = void -1822747050022046:1822747050025176 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 -1822747050025736:1822747051447575 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747051447975:1822747051448405 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747051449225:1822747051449755 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822747051452225:1822747051452755 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747051467625:1822747051468165 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822747051480035:1822747051480565 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 -1822747051487525:1822747051488245 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 116 -1822747051489165:1822747051489605 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 116 -1822747051490895:1822747051493375 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 -1822747051494015:1822747051494325 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822747051495365:1822747051496215 116414:116414 hsa_signal_store_relaxed(, 116) = void -1822747051498835:1822747051499365 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822747051504715:1822747051505245 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747051507535:1822747051508075 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 -1822747051509115:1822747051509955 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 -1822747051510355:1822747051510635 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 117 -1822747051511025:1822747051511305 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 116 -1822747051512085:1822747051512365 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822747051512755:1822747051513205 116414:116414 hsa_signal_store_relaxed(, 117) = void -1822747051514885:1822747052784144 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822747052789064:1822747052789594 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822747052791074:1822747052795334 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822747052795744:1822747052796054 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822747052798504:1822747052799624 116414:116414 hsa_signal_destroy() = 0 -1822747052800874:1822747052801264 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822747052801684:1822747052801994 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822747052802914:1822747052803254 116414:116414 hsa_signal_destroy() = 0 -1822747052804384:1822747052804934 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822747052805844:1822747052806384 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822747052807104:1822747052807434 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747052807834:1822747052808254 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747052808664:1822747052808934 116414:116414 hsa_signal_store_screlease(, 1) = void -1822747052809384:1822747052810524 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 -1822747052810944:1822747055134709 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747055757653:1822747055758263 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822747055760213:1822747055760833 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747062231124:1822747062232654 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747062247034:1822747062247574 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822747062250934:1822747062251464 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822747062253534:1822747062254724 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747062255114:1822747062255524 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747062256084:1822747062256994 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747062842497:1822747062842857 116414:116414 hsa_signal_store_screlease(, 1) = void -1822747062843987:1822747062846467 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 -1822747062847037:1822747064271997 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747064272437:1822747064272757 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747064274107:1822747064274637 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822747064277217:1822747064277747 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747064293047:1822747064293577 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822747064297397:1822747064297937 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 -1822747064304827:1822747064305457 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 118 -1822747064306217:1822747064306827 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 118 -1822747064307787:1822747064310407 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 -1822747064311047:1822747064311357 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822747064312447:1822747064313257 116414:116414 hsa_signal_store_relaxed(, 118) = void -1822747064315537:1822747064316067 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822747064320007:1822747064320547 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747064322577:1822747064323117 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 -1822747064324157:1822747064324747 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 -1822747064325147:1822747064325417 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 119 -1822747064325807:1822747064326097 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 118 -1822747064326687:1822747064326967 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822747064336217:1822747064336677 116414:116414 hsa_signal_store_relaxed(, 119) = void -1822747064338177:1822747065595965 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822747065600725:1822747065601245 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822747065602905:1822747065607185 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822747065607665:1822747065607975 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822747065610205:1822747065611135 116414:116414 hsa_signal_destroy() = 0 -1822747065612205:1822747065612645 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822747065613115:1822747065613415 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822747065614475:1822747065614815 116414:116414 hsa_signal_destroy() = 0 -1822747065615905:1822747065616455 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822747065617225:1822747065617755 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822747065618515:1822747065618935 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747065619335:1822747065619755 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747065620315:1822747065620585 116414:116414 hsa_signal_store_screlease(, 1) = void -1822747065621035:1822747065622235 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 -1822747065622655:1822747067947050 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747068572314:1822747068572914 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822747068575194:1822747068575724 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747075131106:1822747075132396 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747075146486:1822747075147026 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822747075149456:1822747075149996 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822747075152256:1822747075153376 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747075153846:1822747075154256 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747075154806:1822747075156126 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747075742730:1822747075743090 116414:116414 hsa_signal_store_screlease(, 1) = void -1822747075744450:1822747075747010 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 -1822747075747520:1822747077171229 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747077171809:1822747077172119 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747077173449:1822747077173979 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822747077186079:1822747077186619 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747077201729:1822747077202269 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822747077205809:1822747077206349 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 -1822747077213259:1822747077213979 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 120 -1822747077214739:1822747077215349 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 120 -1822747077216299:1822747077218709 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 -1822747077219309:1822747077219619 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822747077220659:1822747077221859 116414:116414 hsa_signal_store_relaxed(, 120) = void -1822747077224029:1822747077224569 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822747077228399:1822747077228939 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747077231219:1822747077231749 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 -1822747077232949:1822747077233639 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 -1822747077234029:1822747077234309 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 121 -1822747077234699:1822747077234979 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 120 -1822747077235579:1822747077235849 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822747077236249:1822747077236699 116414:116414 hsa_signal_store_relaxed(, 121) = void -1822747077238139:1822747078505777 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822747078510517:1822747078511087 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822747078512497:1822747078516467 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822747078516887:1822747078517197 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822747078519197:1822747078520377 116414:116414 hsa_signal_destroy() = 0 -1822747078521477:1822747078521797 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822747078522267:1822747078522567 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822747078523517:1822747078523857 116414:116414 hsa_signal_destroy() = 0 -1822747078524957:1822747078525497 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822747078526257:1822747078526787 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822747078527627:1822747078527967 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747078528377:1822747078528787 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747078531577:1822747078531857 116414:116414 hsa_signal_store_screlease(, 1) = void -1822747078532317:1822747078533387 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 -1822747078533807:1822747080866312 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747081489966:1822747081490556 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822747081492896:1822747081493466 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747087693976:1822747087695126 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747087709606:1822747087710146 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822747087712836:1822747087713366 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822747087715316:1822747087716646 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747087717046:1822747087717446 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747087718036:1822747087719006 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747088336630:1822747088337270 116414:116414 hsa_signal_store_screlease(, 1) = void -1822747088338880:1822747088342060 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 -1822747088342650:1822747089766259 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747089766659:1822747089767309 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747089768269:1822747089768799 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822747089770829:1822747089771359 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747089787509:1822747089788049 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822747089791589:1822747089792119 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 -1822747089799039:1822747089799749 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 122 -1822747089800649:1822747089801089 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 122 -1822747089801939:1822747089804469 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 -1822747089805139:1822747089805449 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822747089806629:1822747089807479 116414:116414 hsa_signal_store_relaxed(, 122) = void -1822747089809909:1822747089810439 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822747089815029:1822747089815569 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747089818039:1822747089818579 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 -1822747089819839:1822747089820459 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 -1822747089829029:1822747089829309 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 123 -1822747089829719:1822747089829989 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 122 -1822747089830769:1822747089831049 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822747089831439:1822747089831889 116414:116414 hsa_signal_store_relaxed(, 123) = void -1822747089833409:1822747091087987 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822747091092947:1822747091093467 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822747091095027:1822747091099257 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822747091099677:1822747091099987 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822747091102407:1822747091103477 116414:116414 hsa_signal_destroy() = 0 -1822747091104647:1822747091105037 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822747091105457:1822747091105757 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822747091106807:1822747091107157 116414:116414 hsa_signal_destroy() = 0 -1822747091108117:1822747091108667 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822747091109557:1822747091110097 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822747091110907:1822747091111307 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747091111707:1822747091112127 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747091112677:1822747091112947 116414:116414 hsa_signal_store_screlease(, 1) = void -1822747091113397:1822747091114547 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 -1822747091114967:1822747093471153 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747094092797:1822747094093377 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822747094095137:1822747094095717 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747100520497:1822747100521827 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747100537657:1822747100538187 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822747100540947:1822747100541477 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822747100543497:1822747100544417 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747100544807:1822747100545217 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747100545877:1822747100546967 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747101169891:1822747101170431 116414:116414 hsa_signal_store_screlease(, 1) = void -1822747101171771:1822747101174731 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 -1822747101184901:1822747102597750 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747102598180:1822747102598640 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747102599680:1822747102600220 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822747102602110:1822747102602640 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747102618541:1822747102619081 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822747102622481:1822747102623021 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 -1822747102629441:1822747102630171 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 124 -1822747102630921:1822747102631521 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 124 -1822747102632501:1822747102635171 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 -1822747102635831:1822747102636141 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822747102637201:1822747102638031 116414:116414 hsa_signal_store_relaxed(, 124) = void -1822747102640301:1822747102640841 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822747102644681:1822747102645221 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747102647301:1822747102647841 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 -1822747102649041:1822747102649651 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 -1822747102650041:1822747102650321 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 125 -1822747102650711:1822747102650991 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 124 -1822747102652031:1822747102652311 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822747102652701:1822747102653151 116414:116414 hsa_signal_store_relaxed(, 125) = void -1822747102655101:1822747103911509 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822747103916359:1822747103917229 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822747103918719:1822747103923059 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822747103923479:1822747103923789 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822747103926169:1822747103927279 116414:116414 hsa_signal_destroy() = 0 -1822747103928469:1822747103928909 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822747103929389:1822747103929689 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822747103930659:1822747103930999 116414:116414 hsa_signal_destroy() = 0 -1822747103932159:1822747103932709 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822747103935809:1822747103936349 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822747103937229:1822747103937639 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747103938039:1822747103938459 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747103939009:1822747103939279 116414:116414 hsa_signal_store_screlease(, 1) = void -1822747103939729:1822747103941029 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 -1822747103941449:1822747106306964 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747106928668:1822747106929248 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822747106931288:1822747106931818 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747113390879:1822747113392469 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747113407569:1822747113408119 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822747113411029:1822747113411569 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822747113414219:1822747113415139 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747113415539:1822747113415889 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747113416479:1822747113417259 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747114023683:1822747114024523 116414:116414 hsa_signal_store_screlease(, 1) = void -1822747114025753:1822747114028553 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 -1822747114029043:1822747115453532 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747115453932:1822747115454362 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747115455302:1822747115455832 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822747115458262:1822747115458802 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747115474172:1822747115474712 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822747115478052:1822747115478592 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 -1822747115485802:1822747115486552 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 126 -1822747115487452:1822747115487762 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 126 -1822747115488692:1822747115491372 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 -1822747115492012:1822747115492322 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822747115493383:1822747115494183 116414:116414 hsa_signal_store_relaxed(, 126) = void -1822747115496583:1822747115497143 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822747115501323:1822747115501853 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747115516563:1822747115517103 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 -1822747115518513:1822747115519243 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 -1822747115519633:1822747115519913 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 127 -1822747115520313:1822747115520583 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 126 -1822747115521243:1822747115521523 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822747115521923:1822747115522373 116414:116414 hsa_signal_store_relaxed(, 127) = void -1822747115523903:1822747116776801 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822747116781301:1822747116781941 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822747116783521:1822747116787711 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822747116788121:1822747116788451 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822747116790911:1822747116791961 116414:116414 hsa_signal_destroy() = 0 -1822747116793051:1822747116793511 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822747116793981:1822747116794281 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822747116795381:1822747116795721 116414:116414 hsa_signal_destroy() = 0 -1822747116796811:1822747116797361 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822747116798261:1822747116798791 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822747116799811:1822747116800141 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747116800541:1822747116800951 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747116801431:1822747116801711 116414:116414 hsa_signal_store_screlease(, 1) = void -1822747116802151:1822747116803231 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 -1822747116803661:1822747119138136 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747119756450:1822747119757030 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822747119758950:1822747119759520 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747126221861:1822747126223611 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747126238511:1822747126239051 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822747126242201:1822747126242731 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822747126245001:1822747126245971 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747126246431:1822747126246711 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747126257351:1822747126258701 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747126867345:1822747126867805 116414:116414 hsa_signal_store_screlease(, 1) = void -1822747126869205:1822747126871795 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 -1822747126872335:1822747128295954 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747128296424:1822747128296744 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747128298114:1822747128298654 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822747128300714:1822747128301244 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747128318804:1822747128319344 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822747128323174:1822747128323714 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 -1822747128330324:1822747128331214 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 128 -1822747128332424:1822747128332724 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 128 -1822747128333814:1822747128336474 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 -1822747128337104:1822747128337414 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822747128338684:1822747128339514 116414:116414 hsa_signal_store_relaxed(, 128) = void -1822747128342054:1822747128342614 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822747128347104:1822747128347634 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747128349854:1822747128350394 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 -1822747128351644:1822747128352324 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 -1822747128352714:1822747128352994 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 129 -1822747128353394:1822747128353664 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 128 -1822747128354294:1822747128354574 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822747128354964:1822747128355424 116414:116414 hsa_signal_store_relaxed(, 129) = void -1822747128357154:1822747129632403 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822747129637083:1822747129637603 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822747129639123:1822747129643353 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822747129643833:1822747129644143 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822747129646303:1822747129647443 116414:116414 hsa_signal_destroy() = 0 -1822747129648953:1822747129649353 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822747129649773:1822747129650073 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822747129653353:1822747129653703 116414:116414 hsa_signal_destroy() = 0 -1822747129654813:1822747129655363 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822747129656283:1822747129656823 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822747129657593:1822747129658013 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747129658413:1822747129658833 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747129659303:1822747129659583 116414:116414 hsa_signal_store_screlease(, 1) = void -1822747129660033:1822747129661133 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 -1822747129661563:1822747131998808 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747132639252:1822747132639832 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822747132641442:1822747132641982 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747139089553:1822747139091223 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747139106603:1822747139107143 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822747139110433:1822747139110973 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822747139113253:1822747139114363 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747139114753:1822747139115393 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747139116123:1822747139116993 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747139725597:1822747139726057 116414:116414 hsa_signal_store_screlease(, 1) = void -1822747139727577:1822747139730567 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 -1822747139731067:1822747141155726 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747141156266:1822747141156736 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747141157606:1822747141158146 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822747141159926:1822747141160456 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747141174806:1822747141175346 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822747141179056:1822747141179596 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 -1822747141187216:1822747141188076 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 130 -1822747141188826:1822747141189296 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 130 -1822747141190486:1822747141192756 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 -1822747141193386:1822747141193696 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822747141203106:1822747141203846 116414:116414 hsa_signal_store_relaxed(, 130) = void -1822747141206006:1822747141206546 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822747141210636:1822747141211166 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747141213606:1822747141214146 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 -1822747141215446:1822747141215926 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 -1822747141216316:1822747141216586 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 131 -1822747141216986:1822747141217256 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 130 -1822747141217876:1822747141218146 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822747141218546:1822747141218996 116414:116414 hsa_signal_store_relaxed(, 131) = void -1822747141220506:1822747142475084 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822747142479574:1822747142480154 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822747142481754:1822747142486074 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822747142486554:1822747142486864 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822747142488974:1822747142490484 116414:116414 hsa_signal_destroy() = 0 -1822747142491814:1822747142492264 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822747142492734:1822747142493044 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822747142493984:1822747142494324 116414:116414 hsa_signal_destroy() = 0 -1822747142495304:1822747142495854 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822747142496744:1822747142497284 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822747142498014:1822747142498434 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747142498844:1822747142499254 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747142499734:1822747142500004 116414:116414 hsa_signal_store_screlease(, 1) = void -1822747142500474:1822747142501614 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 -1822747142502034:1822747144833659 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747145458183:1822747145458753 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822747145460333:1822747145460953 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747151563893:1822747151565403 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747151581003:1822747151581543 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822747151584973:1822747151585503 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822747151598283:1822747151599403 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747151599793:1822747151600443 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747151601103:1822747151602223 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747152222447:1822747152223197 116414:116414 hsa_signal_store_screlease(, 1) = void -1822747152224577:1822747152227107 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 -1822747152227587:1822747153649646 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747153650046:1822747153650466 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747153651166:1822747153651696 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822747153654416:1822747153654946 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747153670146:1822747153670686 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822747153674376:1822747153674906 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 -1822747153682766:1822747153683496 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 132 -1822747153684436:1822747153684886 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 132 -1822747153685926:1822747153688936 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 -1822747153689616:1822747153689926 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822747153690906:1822747153691786 116414:116414 hsa_signal_store_relaxed(, 132) = void -1822747153693986:1822747153694526 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822747153698816:1822747153699356 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747153701386:1822747153701926 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 -1822747153703046:1822747153703686 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 -1822747153704076:1822747153704356 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 133 -1822747153704746:1822747153705026 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 132 -1822747153705626:1822747153705906 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822747153706296:1822747153706756 116414:116414 hsa_signal_store_relaxed(, 133) = void -1822747153708476:1822747154960334 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822747154964944:1822747154965734 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822747154967274:1822747154971714 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822747154972144:1822747154972454 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822747154977944:1822747154979084 116414:116414 hsa_signal_destroy() = 0 -1822747154980124:1822747154980444 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822747154980924:1822747154981224 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822747154982104:1822747154982484 116414:116414 hsa_signal_destroy() = 0 -1822747154983554:1822747154984104 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822747154985044:1822747154985574 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822747154986294:1822747154986864 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747154987274:1822747154987684 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747154988254:1822747154988524 116414:116414 hsa_signal_store_screlease(, 1) = void -1822747154988974:1822747154990134 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 -1822747154990574:1822747157342599 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747157965233:1822747157965823 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822747157968053:1822747157968673 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747164419714:1822747164420954 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747164436544:1822747164437084 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822747164440114:1822747164440644 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822747164442964:1822747164443855 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747164444315:1822747164444995 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747164445635:1822747164446425 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747165051308:1822747165051848 116414:116414 hsa_signal_store_screlease(, 1) = void -1822747165053268:1822747165056038 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 -1822747165056578:1822747166479547 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747166479957:1822747166480387 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747166481647:1822747166482177 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822747166483957:1822747166484487 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747166500317:1822747166500867 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822747166504407:1822747166504947 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 -1822747166511917:1822747166512647 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 134 -1822747166522087:1822747166522397 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 134 -1822747166523527:1822747166525987 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 -1822747166526627:1822747166526937 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822747166527987:1822747166528837 116414:116414 hsa_signal_store_relaxed(, 134) = void -1822747166531517:1822747166532057 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822747166536328:1822747166536858 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747166538688:1822747166539228 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 -1822747166540418:1822747166541168 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 -1822747166541568:1822747166541848 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 135 -1822747166542238:1822747166542518 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 134 -1822747166543328:1822747166543608 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822747166544018:1822747166544468 116414:116414 hsa_signal_store_relaxed(, 135) = void -1822747166545898:1822747167808875 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822747167813335:1822747167813905 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822747167815475:1822747167819846 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822747167820266:1822747167820576 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822747167822906:1822747167824076 116414:116414 hsa_signal_destroy() = 0 -1822747167825486:1822747167825876 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822747167826356:1822747167826656 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822747167827646:1822747167827986 116414:116414 hsa_signal_destroy() = 0 -1822747167829066:1822747167829616 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822747167830526:1822747167831056 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822747167831906:1822747167832316 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747167832706:1822747167833196 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747167833676:1822747167833946 116414:116414 hsa_signal_store_screlease(, 1) = void -1822747167834386:1822747167835546 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 -1822747167835966:1822747170214841 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747170835495:1822747170836085 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822747170838005:1822747170838535 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747177292986:1822747177294116 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747177309586:1822747177310126 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822747177313386:1822747177313916 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822747177316186:1822747177317066 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747177317456:1822747177318106 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747177318776:1822747177319636 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747177926930:1822747177927470 116414:116414 hsa_signal_store_screlease(, 1) = void -1822747177929290:1822747177931750 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 -1822747177932300:1822747179354989 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747179355389:1822747179355819 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747179356979:1822747179357519 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822747179359409:1822747179359939 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747179383059:1822747179383599 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822747179387069:1822747179387609 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 -1822747179394179:1822747179395009 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 136 -1822747179395919:1822747179396529 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 136 -1822747179397499:1822747179400329 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 -1822747179400969:1822747179401269 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822747179402209:1822747179402949 116414:116414 hsa_signal_store_relaxed(, 136) = void -1822747179405519:1822747179406059 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822747179410499:1822747179411039 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747179412929:1822747179413469 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 -1822747179414809:1822747179415709 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 -1822747179416229:1822747179416509 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 137 -1822747179416899:1822747179417179 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 136 -1822747179417899:1822747179418179 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822747179418569:1822747179419019 116414:116414 hsa_signal_store_relaxed(, 137) = void -1822747179420789:1822747180678047 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822747180685447:1822747180686037 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822747180687637:1822747180691857 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822747180692277:1822747180692587 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822747180695307:1822747180696367 116414:116414 hsa_signal_destroy() = 0 -1822747180697617:1822747180698057 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822747180698477:1822747180698787 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822747180699797:1822747180700147 116414:116414 hsa_signal_destroy() = 0 -1822747180701217:1822747180701767 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822747180702677:1822747180703217 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822747180704007:1822747180704347 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747180704737:1822747180705157 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747180705567:1822747180705837 116414:116414 hsa_signal_store_screlease(, 1) = void -1822747180706287:1822747180707417 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 -1822747180707837:1822747183076073 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747183697157:1822747183697737 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822747183699937:1822747183700517 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747190150058:1822747190151358 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747190166648:1822747190167188 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822747190170198:1822747190170738 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822747190172898:1822747190173808 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747190174198:1822747190174598 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747190175248:1822747190176348 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747190782482:1822747190782842 116414:116414 hsa_signal_store_screlease(, 1) = void -1822747190784282:1822747190786942 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 -1822747190787482:1822747192211641 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747192212081:1822747192212521 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747192213791:1822747192214321 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822747192216561:1822747192217151 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747192232721:1822747192233251 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822747192245171:1822747192245701 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 -1822747192252741:1822747192253461 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 138 -1822747192254501:1822747192254811 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 138 -1822747192255821:1822747192258332 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 -1822747192258982:1822747192259282 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822747192260502:1822747192261322 116414:116414 hsa_signal_store_relaxed(, 138) = void -1822747192263452:1822747192263982 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822747192271002:1822747192271532 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747192273482:1822747192274012 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 -1822747192275072:1822747192275902 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 -1822747192276292:1822747192276572 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 139 -1822747192276962:1822747192277252 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 138 -1822747192278022:1822747192278292 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822747192278682:1822747192279142 116414:116414 hsa_signal_store_relaxed(, 139) = void -1822747192280682:1822747193537839 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822747193542510:1822747193543130 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822747193544750:1822747193549160 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822747193549580:1822747193549890 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822747193552240:1822747193553380 116414:116414 hsa_signal_destroy() = 0 -1822747193554510:1822747193554970 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822747193555390:1822747193555690 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822747193556650:1822747193556990 116414:116414 hsa_signal_destroy() = 0 -1822747193558050:1822747193558600 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822747193559500:1822747193560040 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822747193560780:1822747193561120 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747193561510:1822747193561980 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747193562400:1822747193562670 116414:116414 hsa_signal_store_screlease(, 1) = void -1822747193563110:1822747193564550 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 -1822747193567160:1822747195923394 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747196564078:1822747196564688 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822747196566338:1822747196566868 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747203022800:1822747203024170 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747203039570:1822747203040110 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822747203043150:1822747203043690 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822747203046010:1822747203046910 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747203047300:1822747203047950 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747203048600:1822747203049580 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747203656664:1822747203657024 116414:116414 hsa_signal_store_screlease(, 1) = void -1822747203658244:1822747203660804 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 -1822747203661374:1822747205083573 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747205084033:1822747205084473 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747205085563:1822747205086093 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822747205088123:1822747205088653 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747205103763:1822747205104303 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822747205107763:1822747205108293 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 -1822747205115423:1822747205116163 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 140 -1822747205117063:1822747205117513 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 140 -1822747205118503:1822747205121233 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 -1822747205121873:1822747205122183 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822747205123253:1822747205124003 116414:116414 hsa_signal_store_relaxed(, 140) = void -1822747205126423:1822747205126953 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822747205130963:1822747205131503 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747205134563:1822747205135103 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 -1822747205136143:1822747205136864 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 -1822747205137264:1822747205137544 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 141 -1822747205137934:1822747205138214 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 140 -1822747205139064:1822747205139334 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822747205151794:1822747205152254 116414:116414 hsa_signal_store_relaxed(, 141) = void -1822747205153854:1822747206391402 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822747206396562:1822747206397132 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822747206398952:1822747206403352 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822747206403832:1822747206404142 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822747206406422:1822747206407472 116414:116414 hsa_signal_destroy() = 0 -1822747206408652:1822747206409042 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822747206409522:1822747206409822 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822747206410682:1822747206411022 116414:116414 hsa_signal_destroy() = 0 -1822747206412002:1822747206412552 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822747206413462:1822747206414002 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822747206414772:1822747206415192 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747206415592:1822747206416002 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747206416552:1822747206416832 116414:116414 hsa_signal_store_screlease(, 1) = void -1822747206417272:1822747206418372 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 -1822747206418782:1822747208759447 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747209394101:1822747209394761 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822747209396581:1822747209397281 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747215858682:1822747215859742 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747215874122:1822747215874662 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822747215878022:1822747215878552 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822747215880652:1822747215881542 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747215882012:1822747215882422 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747215883072:1822747215884092 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747216496526:1822747216496976 116414:116414 hsa_signal_store_screlease(, 1) = void -1822747216498206:1822747216501056 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 -1822747216501586:1822747217925555 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747217925955:1822747217926385 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747217937135:1822747217937675 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822747217939735:1822747217940265 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747217955455:1822747217955995 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822747217959885:1822747217960415 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 -1822747217967425:1822747217968315 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 142 -1822747217969515:1822747217969825 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 142 -1822747217970775:1822747217973445 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 -1822747217974095:1822747217974405 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822747217975705:1822747217976515 116414:116414 hsa_signal_store_relaxed(, 142) = void -1822747217978865:1822747217979405 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822747217983495:1822747217984025 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747217986495:1822747217987025 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 -1822747217988085:1822747217988705 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 -1822747217989095:1822747217989375 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 143 -1822747217989775:1822747217990045 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 142 -1822747217990925:1822747217991205 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822747217991595:1822747217992055 116414:116414 hsa_signal_store_relaxed(, 143) = void -1822747217993525:1822747219276764 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822747219281414:1822747219282004 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822747219283614:1822747219288174 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822747219288594:1822747219288904 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822747219291554:1822747219292614 116414:116414 hsa_signal_destroy() = 0 -1822747219293834:1822747219294284 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822747219294754:1822747219295054 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822747219296244:1822747219296594 116414:116414 hsa_signal_destroy() = 0 -1822747219297684:1822747219298224 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822747219299134:1822747219299674 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822747219300404:1822747219300734 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747219301134:1822747219301544 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747219304324:1822747219304604 116414:116414 hsa_signal_store_screlease(, 1) = void -1822747219305054:1822747219306114 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 -1822747219306534:1822747221652168 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747222272712:1822747222273282 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822747222275222:1822747222275792 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747228733103:1822747228734824 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747228749614:1822747228750154 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822747228753894:1822747228754424 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822747228756484:1822747228757384 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747228757854:1822747228758204 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747228758984:1822747228760104 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747229370368:1822747229370798 116414:116414 hsa_signal_store_screlease(, 1) = void -1822747229372108:1822747229375238 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 -1822747229375768:1822747230798937 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747230799337:1822747230799767 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747230801177:1822747230801707 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822747230803977:1822747230804507 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747230819817:1822747230820347 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822747230823717:1822747230824247 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 -1822747230830897:1822747230831647 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 144 -1822747230832537:1822747230833007 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 144 -1822747230834077:1822747230836797 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 -1822747230837457:1822747230837757 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822747230838947:1822747230839737 116414:116414 hsa_signal_store_relaxed(, 144) = void -1822747230841907:1822747230842437 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822747230846317:1822747230846857 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747230848777:1822747230849327 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 -1822747230850957:1822747230851647 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 -1822747230860367:1822747230860647 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 145 -1822747230861047:1822747230861317 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 144 -1822747230862007:1822747230862277 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822747230862677:1822747230863117 116414:116414 hsa_signal_store_relaxed(, 145) = void -1822747230864737:1822747232102035 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822747232106995:1822747232107625 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822747232109235:1822747232113425 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822747232113845:1822747232114155 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822747232116335:1822747232117395 116414:116414 hsa_signal_destroy() = 0 -1822747232118425:1822747232118755 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822747232119225:1822747232119535 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822747232120395:1822747232120735 116414:116414 hsa_signal_destroy() = 0 -1822747232121845:1822747232122405 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822747232123305:1822747232123845 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822747232124545:1822747232124875 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747232125275:1822747232125685 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747232126175:1822747232126445 116414:116414 hsa_signal_store_screlease(, 1) = void -1822747232126895:1822747232127975 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 -1822747232128395:1822747234463530 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747235084494:1822747235085084 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822747235086744:1822747235087324 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747241168533:1822747241169903 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747241186333:1822747241186873 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822747241190093:1822747241190623 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822747241193083:1822747241193983 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747241194383:1822747241195283 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747241195933:1822747241196843 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747241805457:1822747241805967 116414:116414 hsa_signal_store_screlease(, 1) = void -1822747241816797:1822747241819377 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 -1822747241819867:1822747243240476 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747243240866:1822747243241306 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747243242896:1822747243243436 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822747243245246:1822747243245776 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747243260386:1822747243260916 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822747243264276:1822747243264806 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 -1822747243271696:1822747243272356 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 146 -1822747243273126:1822747243273606 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 146 -1822747243274586:1822747243277406 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 -1822747243278066:1822747243278366 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822747243279626:1822747243280446 116414:116414 hsa_signal_store_relaxed(, 146) = void -1822747243282646:1822747243283176 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822747243287486:1822747243288016 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747243290136:1822747243290696 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 -1822747243291816:1822747243292536 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 -1822747243292936:1822747243293206 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 147 -1822747243293596:1822747243293876 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 146 -1822747243294496:1822747243294766 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822747243295156:1822747243295606 116414:116414 hsa_signal_store_relaxed(, 147) = void -1822747243297076:1822747244556874 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822747244561504:1822747244562084 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822747244563654:1822747244568084 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822747244568554:1822747244568874 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822747244571004:1822747244572084 116414:116414 hsa_signal_destroy() = 0 -1822747244573324:1822747244573704 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822747244574124:1822747244574424 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822747244575374:1822747244575724 116414:116414 hsa_signal_destroy() = 0 -1822747244576834:1822747244577374 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822747244581045:1822747244581595 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822747244582355:1822747244582775 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747244583175:1822747244583595 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747244584005:1822747244584285 116414:116414 hsa_signal_store_screlease(, 1) = void -1822747244584725:1822747244585855 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 -1822747244586275:1822747246902889 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747247524713:1822747247525303 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822747247527363:1822747247527893 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747253977674:1822747253979224 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747253994274:1822747253994814 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822747253997704:1822747253998234 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822747254000314:1822747254001244 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747254001714:1822747254002124 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747254002694:1822747254004174 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747254604618:1822747254605128 116414:116414 hsa_signal_store_screlease(, 1) = void -1822747254606798:1822747254610208 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 -1822747254610658:1822747256031757 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747256032267:1822747256032727 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747256034167:1822747256034707 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822747256037297:1822747256037837 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747256053107:1822747256053647 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822747256057277:1822747256057807 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 -1822747256065227:1822747256065967 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 148 -1822747256067018:1822747256067638 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 148 -1822747256068608:1822747256071008 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 -1822747256071608:1822747256071908 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822747256072918:1822747256073738 116414:116414 hsa_signal_store_relaxed(, 148) = void -1822747256076238:1822747256076778 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822747256089358:1822747256089888 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747256091958:1822747256092498 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 -1822747256093768:1822747256094398 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 -1822747256094788:1822747256095068 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 149 -1822747256095478:1822747256095748 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 148 -1822747256096368:1822747256096638 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822747256097038:1822747256097488 116414:116414 hsa_signal_store_relaxed(, 149) = void -1822747256099148:1822747257357096 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822747257362016:1822747257362546 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822747257364256:1822747257368646 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822747257369066:1822747257369376 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822747257371436:1822747257372566 116414:116414 hsa_signal_destroy() = 0 -1822747257373796:1822747257374236 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822747257374656:1822747257374966 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822747257375846:1822747257376186 116414:116414 hsa_signal_destroy() = 0 -1822747257377146:1822747257377696 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822747257378596:1822747257379126 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822747257379936:1822747257380346 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747257380746:1822747257381166 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747257381646:1822747257381916 116414:116414 hsa_signal_store_screlease(, 1) = void -1822747257382366:1822747257383426 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 -1822747257383846:1822747259725291 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747260356225:1822747260356815 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822747260358565:1822747260359185 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747266812886:1822747266814156 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747266829546:1822747266830086 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822747266833586:1822747266834116 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822747266836196:1822747266837086 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747266837486:1822747266838376 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747266846136:1822747266847466 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747267456710:1822747267457070 116414:116414 hsa_signal_store_screlease(, 1) = void -1822747267458040:1822747267460660 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 -1822747267461190:1822747268886439 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747268886889:1822747268887329 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747268888179:1822747268888709 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822747268890639:1822747268891169 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747268907169:1822747268907709 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822747268911279:1822747268911809 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 -1822747268918319:1822747268919029 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 150 -1822747268919969:1822747268920419 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 150 -1822747268921399:1822747268924259 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 -1822747268924899:1822747268925229 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822747268926319:1822747268927169 116414:116414 hsa_signal_store_relaxed(, 150) = void -1822747268929309:1822747268929849 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822747268933979:1822747268934509 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747268936649:1822747268937189 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 -1822747268938459:1822747268939079 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 -1822747268939479:1822747268939749 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 151 -1822747268940149:1822747268940429 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 150 -1822747268941259:1822747268941529 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822747268941939:1822747268942389 116414:116414 hsa_signal_store_relaxed(, 151) = void -1822747268944319:1822747270209748 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822747270214998:1822747270215518 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822747270217388:1822747270221948 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822747270222358:1822747270222678 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822747270224968:1822747270225968 116414:116414 hsa_signal_destroy() = 0 -1822747270227228:1822747270227678 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822747270231388:1822747270231698 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822747270232778:1822747270233158 116414:116414 hsa_signal_destroy() = 0 -1822747270234228:1822747270234768 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822747270235678:1822747270236218 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822747270236978:1822747270237318 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747270237708:1822747270238128 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747270238668:1822747270238948 116414:116414 hsa_signal_store_screlease(, 1) = void -1822747270239388:1822747270240518 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 -1822747270240938:1822747272572323 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747273193617:1822747273194187 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822747273196597:1822747273197127 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747279635857:1822747279637127 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747279652107:1822747279652657 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822747279656038:1822747279656568 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822747279659048:1822747279659958 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747279660348:1822747279660758 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747279661398:1822747279662328 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747280284031:1822747280284491 116414:116414 hsa_signal_store_screlease(, 1) = void -1822747280286051:1822747280289102 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 -1822747280289632:1822747281714101 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747281714501:1822747281714931 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747281716311:1822747281716851 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822747281719121:1822747281719651 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747281735021:1822747281735561 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822747281738911:1822747281739441 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 -1822747281746971:1822747281747711 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 152 -1822747281748801:1822747281749401 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 152 -1822747281750391:1822747281752621 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 -1822747281753261:1822747281753571 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822747281763471:1822747281764311 116414:116414 hsa_signal_store_relaxed(, 152) = void -1822747281766661:1822747281767191 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822747281771141:1822747281771671 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747281773391:1822747281773931 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 -1822747281775291:1822747281775991 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 -1822747281776381:1822747281776661 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 153 -1822747281777051:1822747281777341 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 152 -1822747281777941:1822747281778211 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822747281778621:1822747281779071 116414:116414 hsa_signal_store_relaxed(, 153) = void -1822747281780641:1822747283045889 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822747283050609:1822747283051199 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822747283053059:1822747283057149 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822747283057629:1822747283057939 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822747283060229:1822747283061379 116414:116414 hsa_signal_destroy() = 0 -1822747283062569:1822747283062959 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822747283063429:1822747283063739 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822747283064809:1822747283065159 116414:116414 hsa_signal_destroy() = 0 -1822747283066249:1822747283066799 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822747283067709:1822747283068249 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822747283069039:1822747283069369 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747283069769:1822747283070189 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747283070709:1822747283070989 116414:116414 hsa_signal_store_screlease(, 1) = void -1822747283071429:1822747283072599 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 -1822747283073029:1822747285416594 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747286041978:1822747286042558 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822747286044508:1822747286045088 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747292083976:1822747292085747 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747292099477:1822747292100017 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822747292114167:1822747292114707 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822747292116907:1822747292117807 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747292118207:1822747292119057 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747292119627:1822747292120867 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747292741371:1822747292741781 116414:116414 hsa_signal_store_screlease(, 1) = void -1822747292743521:1822747292746191 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 -1822747292746711:1822747294169160 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747294169560:1822747294169980 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747294170940:1822747294171470 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822747294173640:1822747294174180 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747294189440:1822747294189980 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822747294193720:1822747294194260 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 -1822747294201180:1822747294201830 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 154 -1822747294203050:1822747294203350 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 154 -1822747294204340:1822747294207010 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 -1822747294207670:1822747294207980 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822747294209220:1822747294209950 116414:116414 hsa_signal_store_relaxed(, 154) = void -1822747294212500:1822747294213050 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822747294217180:1822747294217720 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747294219860:1822747294220400 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 -1822747294221580:1822747294222240 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 -1822747294222660:1822747294222940 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 155 -1822747294223330:1822747294223610 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 154 -1822747294224490:1822747294224770 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822747294225160:1822747294225610 116414:116414 hsa_signal_store_relaxed(, 155) = void -1822747294227390:1822747295483438 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822747295487918:1822747295488498 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822747295490198:1822747295494358 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822747295494838:1822747295495148 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822747295500198:1822747295501338 116414:116414 hsa_signal_destroy() = 0 -1822747295502538:1822747295502978 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822747295503448:1822747295503748 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822747295504678:1822747295505018 116414:116414 hsa_signal_destroy() = 0 -1822747295506198:1822747295506758 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822747295507668:1822747295508198 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822747295509008:1822747295509489 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747295509889:1822747295510309 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747295511119:1822747295511389 116414:116414 hsa_signal_store_screlease(, 1) = void -1822747295511839:1822747295513019 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 -1822747295513439:1822747297858244 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747298475668:1822747298476248 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822747298478098:1822747298478678 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747304921009:1822747304922479 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747304937109:1822747304937649 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822747304940569:1822747304941109 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822747304943299:1822747304944229 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747304944619:1822747304945029 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747304945769:1822747304946999 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747305554193:1822747305554633 116414:116414 hsa_signal_store_screlease(, 1) = void -1822747305556043:1822747305558503 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 -1822747305558913:1822747306982502 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747306982902:1822747306983332 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747306984792:1822747306985322 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822747306987262:1822747306987792 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747307003372:1822747307003912 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822747307007322:1822747307007862 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 -1822747307014802:1822747307015542 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 156 -1822747307024842:1822747307025482 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 156 -1822747307026772:1822747307029292 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 -1822747307029932:1822747307030322 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822747307031392:1822747307032212 116414:116414 hsa_signal_store_relaxed(, 156) = void -1822747307034322:1822747307034862 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822747307038732:1822747307039262 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747307042052:1822747307042592 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 -1822747307043922:1822747307044542 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 -1822747307044932:1822747307045212 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 157 -1822747307045622:1822747307045902 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 156 -1822747307046502:1822747307046782 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822747307047172:1822747307047622 116414:116414 hsa_signal_store_relaxed(, 157) = void -1822747307049152:1822747308299690 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822747308304430:1822747308305080 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822747308306950:1822747308311410 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822747308311830:1822747308312140 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822747308314460:1822747308315510 116414:116414 hsa_signal_destroy() = 0 -1822747308316620:1822747308316940 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822747308317410:1822747308317710 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822747308318510:1822747308318850 116414:116414 hsa_signal_destroy() = 0 -1822747308319820:1822747308320370 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822747308321270:1822747308321800 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822747308322520:1822747308322850 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747308323250:1822747308323670 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747308324230:1822747308324500 116414:116414 hsa_signal_store_screlease(, 1) = void -1822747308324950:1822747308326050 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 -1822747308326480:1822747310682835 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747311301239:1822747311301829 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822747311313139:1822747311313719 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747317788010:1822747317789730 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747317804481:1822747317805021 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822747317808141:1822747317808671 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822747317811181:1822747317812101 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747317812491:1822747317813141 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747317813781:1822747317814991 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747318421794:1822747318422334 116414:116414 hsa_signal_store_screlease(, 1) = void -1822747318423984:1822747318427174 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 -1822747318427684:1822747319864703 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747319865103:1822747319865533 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747319866903:1822747319867433 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822747319869553:1822747319870083 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747319886273:1822747319886813 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822747319890134:1822747319890664 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 -1822747319897724:1822747319898454 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 158 -1822747319899234:1822747319899844 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 158 -1822747319900954:1822747319903684 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 -1822747319904354:1822747319904654 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822747319905744:1822747319906574 116414:116414 hsa_signal_store_relaxed(, 158) = void -1822747319908934:1822747319909474 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822747319913374:1822747319913904 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747319916264:1822747319916804 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 -1822747319918234:1822747319918874 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 -1822747319919264:1822747319919544 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 159 -1822747319919944:1822747319920214 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 158 -1822747319921044:1822747319921314 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822747319921704:1822747319922164 116414:116414 hsa_signal_store_relaxed(, 159) = void -1822747319923574:1822747321186652 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822747321199972:1822747321200542 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822747321202072:1822747321206432 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822747321206912:1822747321207222 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822747321209422:1822747321210892 116414:116414 hsa_signal_destroy() = 0 -1822747321211992:1822747321212372 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822747321212792:1822747321213092 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822747321214032:1822747321214372 116414:116414 hsa_signal_destroy() = 0 -1822747321215542:1822747321216092 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822747321217002:1822747321217532 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822747321218262:1822747321218682 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747321219082:1822747321219502 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747321220022:1822747321220292 116414:116414 hsa_signal_store_screlease(, 1) = void -1822747321220742:1822747321221822 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 -1822747321222252:1822747323556667 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747324199791:1822747324200361 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822747324202041:1822747324202581 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747330640423:1822747330641583 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747330656613:1822747330657153 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822747330660303:1822747330660833 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822747330663293:1822747330664193 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747330664663:1822747330665013 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747330665533:1822747330666643 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747331257277:1822747331257657 116414:116414 hsa_signal_store_screlease(, 1) = void -1822747331259227:1822747331261857 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 -1822747331262417:1822747332686656 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747332687116:1822747332687436 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747332688416:1822747332688946 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822747332691306:1822747332691846 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747332715596:1822747332716136 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822747332719696:1822747332720226 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 -1822747332727106:1822747332728006 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 160 -1822747332728766:1822747332729406 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 160 -1822747332730456:1822747332732976 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 -1822747332733626:1822747332733936 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822747332734966:1822747332735836 116414:116414 hsa_signal_store_relaxed(, 160) = void -1822747332738256:1822747332738786 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822747332743236:1822747332743766 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747332745526:1822747332746056 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 -1822747332747256:1822747332747876 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 -1822747332748266:1822747332748546 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 161 -1822747332748936:1822747332749206 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 160 -1822747332749946:1822747332750226 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822747332750616:1822747332751066 116414:116414 hsa_signal_store_relaxed(, 161) = void -1822747332752836:1822747334013604 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822747334018064:1822747334018644 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822747334020214:1822747334024584 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822747334025014:1822747334025324 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822747334027524:1822747334028424 116414:116414 hsa_signal_destroy() = 0 -1822747334029824:1822747334030264 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822747334030684:1822747334030984 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822747334032014:1822747334032354 116414:116414 hsa_signal_destroy() = 0 -1822747334033434:1822747334033984 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822747334034754:1822747334035294 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822747334036004:1822747334036334 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747334036734:1822747334037244 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747334037724:1822747334038004 116414:116414 hsa_signal_store_screlease(, 1) = void -1822747334038444:1822747334039524 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 -1822747334042324:1822747336405499 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747337032653:1822747337033243 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822747337035163:1822747337035743 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747343478674:1822747343480134 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747343495274:1822747343495814 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822747343498864:1822747343499394 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822747343501894:1822747343503104 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747343503504:1822747343503904 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747343504564:1822747343505364 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747344120968:1822747344121458 116414:116414 hsa_signal_store_screlease(, 1) = void -1822747344123148:1822747344125798 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 -1822747344126398:1822747345549997 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747345550397:1822747345550827 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747345552207:1822747345552747 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822747345554667:1822747345555207 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747345570397:1822747345570927 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822747345574847:1822747345575377 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 -1822747345582337:1822747345583067 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 162 -1822747345583807:1822747345584417 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 162 -1822747345585387:1822747345588457 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 -1822747345589107:1822747345589417 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822747345590687:1822747345591507 116414:116414 hsa_signal_store_relaxed(, 162) = void -1822747345593708:1822747345594248 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822747345598348:1822747345598928 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747345601228:1822747345601768 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 -1822747345603078:1822747345603958 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 -1822747345604348:1822747345604628 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 163 -1822747345605028:1822747345605298 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 162 -1822747345614918:1822747345615208 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822747345615608:1822747345616058 116414:116414 hsa_signal_store_relaxed(, 163) = void -1822747345617498:1822747346883706 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822747346888546:1822747346889076 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822747346890636:1822747346894856 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822747346895276:1822747346895586 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822747346897726:1822747346898716 116414:116414 hsa_signal_destroy() = 0 -1822747346899806:1822747346900126 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822747346900596:1822747346900906 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822747346901986:1822747346902376 116414:116414 hsa_signal_destroy() = 0 -1822747346903486:1822747346904036 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822747346904936:1822747346905476 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822747346906246:1822747346906666 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747346907066:1822747346907476 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747346907896:1822747346908166 116414:116414 hsa_signal_store_screlease(, 1) = void -1822747346908606:1822747346909686 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 -1822747346910106:1822747349243160 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747349868534:1822747349869124 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822747349870964:1822747349871545 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747355968424:1822747355969684 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747355983664:1822747355984204 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822747355986904:1822747355987434 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822747355989524:1822747355990414 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747355990814:1822747355991214 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747355992034:1822747355992994 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747356603948:1822747356604468 116414:116414 hsa_signal_store_screlease(, 1) = void -1822747356605848:1822747356608698 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 -1822747356609238:1822747358031147 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747358031547:1822747358031977 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747358042997:1822747358043537 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822747358046057:1822747358046587 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747358062077:1822747358062607 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822747358066367:1822747358066897 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 -1822747358073547:1822747358074267 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 164 -1822747358075177:1822747358075627 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 164 -1822747358076587:1822747358079097 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 -1822747358079737:1822747358080067 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822747358081157:1822747358081997 116414:116414 hsa_signal_store_relaxed(, 164) = void -1822747358084297:1822747358084827 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822747358089627:1822747358090167 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747358092797:1822747358093337 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 -1822747358094377:1822747358095027 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 -1822747358095417:1822747358095697 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 165 -1822747358096087:1822747358096367 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 164 -1822747358097307:1822747358097587 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822747358097987:1822747358098437 116414:116414 hsa_signal_store_relaxed(, 165) = void -1822747358100217:1822747359369396 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822747359374096:1822747359374616 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822747359376306:1822747359380706 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822747359381126:1822747359381436 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822747359384016:1822747359385026 116414:116414 hsa_signal_destroy() = 0 -1822747359386476:1822747359386866 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822747359387336:1822747359387646 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822747359388996:1822747359389336 116414:116414 hsa_signal_destroy() = 0 -1822747359390326:1822747359390886 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822747359391786:1822747359392326 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822747359393046:1822747359393466 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747359396026:1822747359396456 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747359396876:1822747359397146 116414:116414 hsa_signal_store_screlease(, 1) = void -1822747359397596:1822747359398826 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 -1822747359399266:1822747361766251 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747362394314:1822747362394904 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822747362396834:1822747362397374 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747368848266:1822747368849746 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747368865536:1822747368866076 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822747368869656:1822747368870186 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822747368872226:1822747368873366 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747368873766:1822747368874396 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747368875106:1822747368876116 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747369464620:1822747369465070 116414:116414 hsa_signal_store_screlease(, 1) = void -1822747369466390:1822747369469530 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 -1822747369470060:1822747370894919 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747370895319:1822747370895629 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747370896799:1822747370897349 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822747370898899:1822747370899429 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747370915029:1822747370915569 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822747370918959:1822747370919489 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 -1822747370925879:1822747370926619 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 166 -1822747370927379:1822747370927849 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 166 -1822747370928819:1822747370931779 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 -1822747370932419:1822747370932719 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822747370934019:1822747370934829 116414:116414 hsa_signal_store_relaxed(, 166) = void -1822747370937079:1822747370937609 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822747370941669:1822747370942199 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747370944089:1822747370944649 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 -1822747370946039:1822747370946649 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 -1822747370955409:1822747370955699 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 167 -1822747370956089:1822747370956359 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 166 -1822747370957169:1822747370957449 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822747370957839:1822747370958289 116414:116414 hsa_signal_store_relaxed(, 167) = void -1822747370960199:1822747372201607 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822747372206417:1822747372206997 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822747372208567:1822747372212737 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822747372213157:1822747372213467 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822747372215587:1822747372216647 116414:116414 hsa_signal_destroy() = 0 -1822747372217697:1822747372218137 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822747372218547:1822747372218857 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822747372219767:1822747372220107 116414:116414 hsa_signal_destroy() = 0 -1822747372221137:1822747372221687 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822747372222447:1822747372222987 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822747372223817:1822747372224157 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747372224557:1822747372224967 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747372225377:1822747372225647 116414:116414 hsa_signal_store_screlease(, 1) = void -1822747372226087:1822747372227287 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 -1822747372227727:1822747374594882 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747375217216:1822747375217786 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822747375219696:1822747375220246 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747381678487:1822747381680067 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747381696247:1822747381696777 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822747381699827:1822747381700357 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822747381702407:1822747381703637 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747381704037:1822747381704667 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747381705317:1822747381706617 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747382310581:1822747382311131 116414:116414 hsa_signal_store_screlease(, 1) = void -1822747382322081:1822747382325111 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 -1822747382325591:1822747383748301 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747383748701:1822747383749131 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747383750461:1822747383750991 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822747383752691:1822747383753231 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747383767671:1822747383768211 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822747383771551:1822747383772091 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 -1822747383778731:1822747383779461 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 168 -1822747383780351:1822747383780801 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 168 -1822747383781771:1822747383784881 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 -1822747383785581:1822747383785891 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822747383786951:1822747383787791 116414:116414 hsa_signal_store_relaxed(, 168) = void -1822747383789941:1822747383790471 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822747383794381:1822747383794921 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747383796851:1822747383797411 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 -1822747383798681:1822747383799471 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 -1822747383799891:1822747383800161 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 169 -1822747383800561:1822747383800841 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 168 -1822747383801701:1822747383801971 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822747383802371:1822747383802821 116414:116414 hsa_signal_store_relaxed(, 169) = void -1822747383804491:1822747385053749 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822747385058219:1822747385058749 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822747385060359:1822747385064519 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822747385064989:1822747385065299 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822747385067559:1822747385068449 116414:116414 hsa_signal_destroy() = 0 -1822747385069489:1822747385069899 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822747385070369:1822747385070669 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822747385071619:1822747385071959 116414:116414 hsa_signal_destroy() = 0 -1822747385075309:1822747385075859 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822747385076799:1822747385077329 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822747385078079:1822747385078499 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747385078909:1822747385079319 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747385079879:1822747385080149 116414:116414 hsa_signal_store_screlease(, 1) = void -1822747385080619:1822747385081769 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 -1822747385082179:1822747387448754 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747388088508:1822747388089088 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822747388090908:1822747388091478 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747394532749:1822747394534149 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747394549769:1822747394550309 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822747394553779:1822747394554309 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822747394556439:1822747394557369 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747394557769:1822747394558039 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747394558689:1822747394559949 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747395168593:1822747395168973 116414:116414 hsa_signal_store_screlease(, 1) = void -1822747395170573:1822747395173243 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 -1822747395173783:1822747396597472 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747396597952:1822747396598272 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747396599142:1822747396599682 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822747396601712:1822747396602242 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747396625413:1822747396625973 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822747396629763:1822747396630303 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 -1822747396637173:1822747396637893 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 170 -1822747396638683:1822747396639293 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 170 -1822747396640243:1822747396642713 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 -1822747396643343:1822747396643653 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822747396644783:1822747396645623 116414:116414 hsa_signal_store_relaxed(, 170) = void -1822747396647763:1822747396648303 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822747396655543:1822747396656073 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747396658033:1822747396658563 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 -1822747396659613:1822747396660313 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 -1822747396660703:1822747396660983 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 171 -1822747396661373:1822747396661653 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 170 -1822747396662263:1822747396662533 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822747396662923:1822747396663373 116414:116414 hsa_signal_store_relaxed(, 171) = void -1822747396664923:1822747397937491 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822747397942331:1822747397942851 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822747397944481:1822747397948841 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822747397949251:1822747397949571 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822747397951881:1822747397952861 116414:116414 hsa_signal_destroy() = 0 -1822747397954041:1822747397954431 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822747397954841:1822747397955151 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822747397956041:1822747397956381 116414:116414 hsa_signal_destroy() = 0 -1822747397957431:1822747397957981 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822747397958891:1822747397959431 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822747397960151:1822747397960481 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747397960881:1822747397961301 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747397961711:1822747397961991 116414:116414 hsa_signal_store_screlease(, 1) = void -1822747397962431:1822747397963611 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 -1822747397964041:1822747400283186 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747400906210:1822747400906790 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822747400908720:1822747400909260 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747407363081:1822747407364221 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747407379351:1822747407379891 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822747407383081:1822747407383611 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822747407385761:1822747407386681 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747407400571:1822747407401191 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747407401851:1822747407403391 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747408015165:1822747408015525 116414:116414 hsa_signal_store_screlease(, 1) = void -1822747408016615:1822747408019655 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 -1822747408020185:1822747409441924 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747409442324:1822747409442624 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747409443714:1822747409444244 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822747409446594:1822747409447134 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747409463154:1822747409463714 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822747409467124:1822747409467664 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 -1822747409474504:1822747409475384 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 172 -1822747409476314:1822747409476924 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 172 -1822747409477914:1822747409480924 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 -1822747409481654:1822747409482044 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822747409483114:1822747409483944 116414:116414 hsa_signal_store_relaxed(, 172) = void -1822747409486434:1822747409486974 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822747409491044:1822747409491604 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747409493344:1822747409493904 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 -1822747409495164:1822747409495764 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 -1822747409496154:1822747409496434 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 173 -1822747409496824:1822747409497104 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 172 -1822747409497704:1822747409497984 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822747409498384:1822747409498834 116414:116414 hsa_signal_store_relaxed(, 173) = void -1822747409500394:1822747410771183 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822747410775703:1822747410776283 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822747410777873:1822747410782063 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822747410782483:1822747410782793 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822747410785263:1822747410786383 116414:116414 hsa_signal_destroy() = 0 -1822747410787443:1822747410787883 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822747410791373:1822747410791683 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822747410792553:1822747410792903 116414:116414 hsa_signal_destroy() = 0 -1822747410793983:1822747410794533 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822747410795463:1822747410796003 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822747410796713:1822747410797343 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747410797743:1822747410798593 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747410799153:1822747410799423 116414:116414 hsa_signal_store_screlease(, 1) = void -1822747410799873:1822747410801303 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 -1822747410801733:1822747413145028 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747413766281:1822747413766871 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822747413768571:1822747413769111 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747419811450:1822747419812680 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747419828690:1822747419829240 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822747419832350:1822747419832880 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822747419835180:1822747419836070 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747419836470:1822747419836910 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747419837890:1822747419838660 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747420449934:1822747420450334 116414:116414 hsa_signal_store_screlease(, 1) = void -1822747420451884:1822747420454544 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 -1822747420455024:1822747421879173 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747421879573:1822747421880003 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747421881123:1822747421881663 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822747421883693:1822747421884223 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747421899813:1822747421900343 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822747421904133:1822747421904673 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 -1822747421911193:1822747421911983 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 174 -1822747421912773:1822747421913373 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 174 -1822747421914433:1822747421916873 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 -1822747421926333:1822747421926653 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822747421928003:1822747421928873 116414:116414 hsa_signal_store_relaxed(, 174) = void -1822747421931043:1822747421931573 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822747421935674:1822747421936204 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747421939254:1822747421939794 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 -1822747421941134:1822747421941874 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 -1822747421942264:1822747421942544 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 175 -1822747421942934:1822747421943214 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 174 -1822747421943884:1822747421944164 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822747421944554:1822747421945004 116414:116414 hsa_signal_store_relaxed(, 175) = void -1822747421946604:1822747423202352 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822747423207202:1822747423207762 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822747423209352:1822747423213702 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822747423214192:1822747423214502 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822747423216912:1822747423218092 116414:116414 hsa_signal_destroy() = 0 -1822747423219142:1822747423219462 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822747423219932:1822747423220232 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822747423221322:1822747423221662 116414:116414 hsa_signal_destroy() = 0 -1822747423222762:1822747423223312 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822747423224222:1822747423224752 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822747423225582:1822747423225992 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747423226392:1822747423226812 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747423227282:1822747423227552 116414:116414 hsa_signal_store_screlease(, 1) = void -1822747423228002:1822747423229102 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 -1822747423229522:1822747425591667 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747426213221:1822747426213811 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822747426215551:1822747426216081 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747432670002:1822747432671332 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747432686562:1822747432687102 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822747432700412:1822747432700942 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822747432703402:1822747432704332 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747432704722:1822747432705122 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747432705852:1822747432707092 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747433315886:1822747433316316 116414:116414 hsa_signal_store_screlease(, 1) = void -1822747433317686:1822747433320016 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 -1822747433320576:1822747434743075 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747434743485:1822747434743945 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747434745185:1822747434745725 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822747434747455:1822747434747995 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747434762215:1822747434762755 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822747434766285:1822747434766825 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 -1822747434773885:1822747434774625 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 176 -1822747434775515:1822747434775825 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 176 -1822747434776875:1822747434779745 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 -1822747434780435:1822747434780745 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822747434781815:1822747434782625 116414:116414 hsa_signal_store_relaxed(, 176) = void -1822747434784755:1822747434785295 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822747434789155:1822747434789695 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747434791895:1822747434792465 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 -1822747434793495:1822747434794155 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 -1822747434794565:1822747434794865 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 177 -1822747434795265:1822747434795545 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 176 -1822747434796345:1822747434796625 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822747434797025:1822747434797475 116414:116414 hsa_signal_store_relaxed(, 177) = void -1822747434799165:1822747436053983 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822747436059313:1822747436059913 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822747436061343:1822747436065353 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822747436068584:1822747436068924 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822747436071054:1822747436072104 116414:116414 hsa_signal_destroy() = 0 -1822747436073194:1822747436073644 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822747436074114:1822747436074414 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822747436075204:1822747436075544 116414:116414 hsa_signal_destroy() = 0 -1822747436076504:1822747436077044 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822747436077984:1822747436078524 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822747436079244:1822747436079664 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747436080074:1822747436080484 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747436081054:1822747436081324 116414:116414 hsa_signal_store_screlease(, 1) = void -1822747436081774:1822747436082854 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 -1822747436083284:1822747438463489 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747439084533:1822747439085123 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822747439087033:1822747439087653 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747445541734:1822747445543304 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747445558074:1822747445558614 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822747445561634:1822747445562164 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822747445564424:1822747445565354 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747445565744:1822747445566104 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747445566754:1822747445567874 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747446174108:1822747446174868 116414:116414 hsa_signal_store_screlease(, 1) = void -1822747446176158:1822747446179338 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 -1822747446179888:1822747447603417 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747447603807:1822747447604237 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747447605937:1822747447606467 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822747447607967:1822747447608497 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747447623677:1822747447624217 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822747447627777:1822747447628307 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 -1822747447635007:1822747447635907 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 178 -1822747447642987:1822747447643457 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 178 -1822747447644437:1822747447646907 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 -1822747447647537:1822747447647847 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822747447648867:1822747447649667 116414:116414 hsa_signal_store_relaxed(, 178) = void -1822747447651917:1822747447652477 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822747447656377:1822747447656907 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747447659137:1822747447659677 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 -1822747447660897:1822747447661477 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 -1822747447661877:1822747447662157 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 179 -1822747447662567:1822747447662857 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 178 -1822747447663447:1822747447663717 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822747447664107:1822747447664557 116414:116414 hsa_signal_store_relaxed(, 179) = void -1822747447666517:1822747448927695 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822747448932255:1822747448932785 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822747448934365:1822747448939155 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822747448939635:1822747448939945 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822747448942065:1822747448943225 116414:116414 hsa_signal_destroy() = 0 -1822747448944325:1822747448944765 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822747448945235:1822747448945545 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822747448946575:1822747448946915 116414:116414 hsa_signal_destroy() = 0 -1822747448947985:1822747448948545 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822747448949435:1822747448949975 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822747448950895:1822747448951235 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747448951635:1822747448952045 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747448952455:1822747448952735 116414:116414 hsa_signal_store_screlease(, 1) = void -1822747448953175:1822747448954225 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 -1822747448954646:1822747451328661 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747451950155:1822747451950745 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822747451955875:1822747451956415 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747458402416:1822747458403976 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747458418866:1822747458419406 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822747458422506:1822747458423036 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822747458425386:1822747458426586 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747458426986:1822747458427336 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747458427896:1822747458428886 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747459017480:1822747459017940 116414:116414 hsa_signal_store_screlease(, 1) = void -1822747459019430:1822747459021880 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 -1822747459022440:1822747460443019 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747460443479:1822747460443799 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747460445289:1822747460445829 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822747460448999:1822747460449539 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747460465279:1822747460465859 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822747460469299:1822747460469839 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 -1822747460476339:1822747460477109 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 180 -1822747460477859:1822747460478469 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 180 -1822747460479539:1822747460482619 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 -1822747460483269:1822747460483569 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822747460484819:1822747460485529 116414:116414 hsa_signal_store_relaxed(, 180) = void -1822747460488159:1822747460488699 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822747460492479:1822747460493009 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747460494629:1822747460495169 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 -1822747460496379:1822747460497079 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 -1822747460497619:1822747460497899 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 181 -1822747460498299:1822747460498589 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 180 -1822747460499169:1822747460499449 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822747460499839:1822747460500289 116414:116414 hsa_signal_store_relaxed(, 181) = void -1822747460507589:1822747461765257 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822747461769817:1822747461770387 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822747461772187:1822747461776447 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822747461776867:1822747461777177 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822747461779427:1822747461780467 116414:116414 hsa_signal_destroy() = 0 -1822747461781657:1822747461782197 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822747461782677:1822747461782977 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822747461783927:1822747461784267 116414:116414 hsa_signal_destroy() = 0 -1822747461785387:1822747461785937 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822747461786707:1822747461787237 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822747461788007:1822747461788427 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747461788817:1822747461789237 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747461789717:1822747461789987 116414:116414 hsa_signal_store_screlease(, 1) = void -1822747461790427:1822747461791627 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 -1822747461792047:1822747464116062 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747464739636:1822747464740216 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822747464742116:1822747464742646 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747471176137:1822747471177607 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747471191627:1822747471192167 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822747471195187:1822747471195727 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822747471197957:1822747471198927 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747471199317:1822747471199727 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747471200387:1822747471201347 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747471808981:1822747471809351 116414:116414 hsa_signal_store_screlease(, 1) = void -1822747471810701:1822747471813461 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 -1822747471813961:1822747473238480 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747473239020:1822747473239460 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747473240610:1822747473241150 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822747473243560:1822747473244100 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747473269550:1822747473270090 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822747473273660:1822747473274200 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 -1822747473281750:1822747473282470 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 182 -1822747473283350:1822747473283960 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 182 -1822747473284950:1822747473287550 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 -1822747473288200:1822747473288510 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822747473289600:1822747473290330 116414:116414 hsa_signal_store_relaxed(, 182) = void -1822747473292380:1822747473292910 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822747473297020:1822747473297560 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747473299750:1822747473300290 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 -1822747473301630:1822747473302330 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 -1822747473302720:1822747473303000 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 183 -1822747473303390:1822747473303670 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 182 -1822747473304310:1822747473304590 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822747473304990:1822747473305440 116414:116414 hsa_signal_store_relaxed(, 183) = void -1822747473307160:1822747474579159 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822747474583939:1822747474584539 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822747474586099:1822747474590349 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822747474590759:1822747474591069 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822747474593189:1822747474594249 116414:116414 hsa_signal_destroy() = 0 -1822747474595429:1822747474595819 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822747474596229:1822747474596539 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822747474597749:1822747474598089 116414:116414 hsa_signal_destroy() = 0 -1822747474599179:1822747474599729 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822747474600619:1822747474601149 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822747474601869:1822747474602289 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747474602689:1822747474603099 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747474603659:1822747474603929 116414:116414 hsa_signal_store_screlease(, 1) = void -1822747474606409:1822747474607559 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 -1822747474607989:1822747476962604 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747477587348:1822747477587938 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822747477589838:1822747477590448 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747484025008:1822747484026458 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747484041599:1822747484042129 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822747484045149:1822747484045679 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822747484048069:1822747484048959 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747484049429:1822747484049839 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747484050409:1822747484051629 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747484658012:1822747484658582 116414:116414 hsa_signal_store_screlease(, 1) = void -1822747484660222:1822747484663153 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 -1822747484663733:1822747486086062 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747486086462:1822747486086892 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747486087922:1822747486088452 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822747486090552:1822747486091092 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747486105892:1822747486106432 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822747486109742:1822747486110272 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 -1822747486117472:1822747486118192 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 184 -1822747486119082:1822747486119712 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 184 -1822747486120682:1822747486123442 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 -1822747486124322:1822747486124632 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822747486125672:1822747486126532 116414:116414 hsa_signal_store_relaxed(, 184) = void -1822747486129012:1822747486129552 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822747486133512:1822747486134042 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747486136192:1822747486136732 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 -1822747486137962:1822747486138572 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 -1822747486138962:1822747486139242 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 185 -1822747486139642:1822747486139922 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 184 -1822747486149012:1822747486149302 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822747486149702:1822747486150152 116414:116414 hsa_signal_store_relaxed(, 185) = void -1822747486151812:1822747487403120 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822747487407620:1822747487408250 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822747487410060:1822747487414460 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822747487414880:1822747487415190 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822747487417730:1822747487418780 116414:116414 hsa_signal_destroy() = 0 -1822747487419970:1822747487420420 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822747487420890:1822747487421190 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822747487422220:1822747487422560 116414:116414 hsa_signal_destroy() = 0 -1822747487423520:1822747487424080 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822747487424840:1822747487425370 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822747487426070:1822747487426480 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747487426880:1822747487427290 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747487427770:1822747487428050 116414:116414 hsa_signal_store_screlease(, 1) = void -1822747487428490:1822747487429650 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 -1822747487430060:1822747489795855 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747490415289:1822747490415869 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822747490417619:1822747490418199 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747496862251:1822747496863481 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747496878261:1822747496878801 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822747496881831:1822747496882371 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822747496884921:1822747496885841 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747496886231:1822747496886861 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747496887501:1822747496888241 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747497497055:1822747497497605 116414:116414 hsa_signal_store_screlease(, 1) = void -1822747497498885:1822747497501975 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 -1822747497502515:1822747498927444 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747498937874:1822747498938334 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747498939134:1822747498939664 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822747498941654:1822747498942184 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747498957574:1822747498958104 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822747498961514:1822747498962054 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 -1822747498969024:1822747498969814 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 186 -1822747498970744:1822747498971054 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 186 -1822747498972054:1822747498974644 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 -1822747498975274:1822747498975584 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822747498976664:1822747498977514 116414:116414 hsa_signal_store_relaxed(, 186) = void -1822747498979684:1822747498980214 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822747498983984:1822747498984514 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747498986544:1822747498987084 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 -1822747498988514:1822747498989144 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 -1822747498989534:1822747498989814 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 187 -1822747498990214:1822747498990494 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 186 -1822747498991304:1822747498991584 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822747498991984:1822747498992434 116414:116414 hsa_signal_store_relaxed(, 187) = void -1822747498993894:1822747500258382 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822747500263282:1822747500264162 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822747500265782:1822747500270052 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822747500270542:1822747500270852 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822747500272972:1822747500274432 116414:116414 hsa_signal_destroy() = 0 -1822747500275552:1822747500275872 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822747500276292:1822747500276592 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822747500277552:1822747500277892 116414:116414 hsa_signal_destroy() = 0 -1822747500279042:1822747500279592 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822747500280492:1822747500281022 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822747500281982:1822747500282322 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747500284962:1822747500285392 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747500285932:1822747500286202 116414:116414 hsa_signal_store_screlease(, 1) = void -1822747500286652:1822747500287812 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 -1822747500288242:1822747502645347 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747503264531:1822747503265121 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822747503267071:1822747503267611 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747509753333:1822747509754743 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747509770333:1822747509770873 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822747509774193:1822747509774723 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822747509776953:1822747509777883 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747509778273:1822747509779133 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747509779793:1822747509780663 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747510386477:1822747510386917 116414:116414 hsa_signal_store_screlease(, 1) = void -1822747510388007:1822747510390857 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 -1822747510391407:1822747511812186 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747511812586:1822747511813016 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747511814456:1822747511814986 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822747511816886:1822747511817426 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747511832126:1822747511832656 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822747511836166:1822747511836706 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 -1822747511843496:1822747511844226 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 188 -1822747511845426:1822747511845876 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 188 -1822747511846846:1822747511849156 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 -1822747511849796:1822747511850106 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822747511851106:1822747511851896 116414:116414 hsa_signal_store_relaxed(, 188) = void -1822747511854196:1822747511854746 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822747511858906:1822747511859446 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747511861736:1822747511862276 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 -1822747511875197:1822747511875887 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 -1822747511876297:1822747511876577 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 189 -1822747511876967:1822747511877257 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 188 -1822747511877847:1822747511878127 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822747511878517:1822747511878977 116414:116414 hsa_signal_store_relaxed(, 189) = void -1822747511880477:1822747513129574 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822747513134834:1822747513135404 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822747513136914:1822747513141424 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822747513141904:1822747513142214 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822747513144404:1822747513145454 116414:116414 hsa_signal_destroy() = 0 -1822747513146504:1822747513146894 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822747513147314:1822747513147614 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822747513148544:1822747513148884 116414:116414 hsa_signal_destroy() = 0 -1822747513149984:1822747513150534 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822747513151434:1822747513151974 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822747513152674:1822747513153014 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747513153404:1822747513153814 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747513154294:1822747513154574 116414:116414 hsa_signal_store_screlease(, 1) = void -1822747513155004:1822747513156104 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 -1822747513156525:1822747515497939 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747516146013:1822747516146653 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822747516148463:1822747516149003 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747522594135:1822747522595385 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747522611015:1822747522611555 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822747522614685:1822747522615225 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822747522617605:1822747522618505 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747522618895:1822747522619525 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747522620165:1822747522621235 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747523226019:1822747523226499 116414:116414 hsa_signal_store_screlease(, 1) = void -1822747523237889:1822747523241039 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 -1822747523241589:1822747524665478 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747524665918:1822747524666348 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747524667228:1822747524667768 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822747524669538:1822747524670068 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747524684468:1822747524684998 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822747524688518:1822747524689058 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 -1822747524696238:1822747524696888 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 190 -1822747524697658:1822747524698118 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 190 -1822747524699098:1822747524701698 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 -1822747524702328:1822747524702638 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822747524703718:1822747524704548 116414:116414 hsa_signal_store_relaxed(, 190) = void -1822747524706838:1822747524707398 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822747524711478:1822747524712018 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747524714038:1822747524714578 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 -1822747524715638:1822747524716348 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 -1822747524716748:1822747524717018 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 191 -1822747524717408:1822747524717688 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 190 -1822747524718528:1822747524718808 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822747524719198:1822747524719648 116414:116414 hsa_signal_store_relaxed(, 191) = void -1822747524721218:1822747525985736 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822747525990426:1822747525990956 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822747525992476:1822747525996896 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822747525997316:1822747525997626 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822747525999896:1822747526000956 116414:116414 hsa_signal_destroy() = 0 -1822747526001996:1822747526002436 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822747526002906:1822747526003216 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822747526004216:1822747526004556 116414:116414 hsa_signal_destroy() = 0 -1822747526008196:1822747526008756 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822747526009706:1822747526010236 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822747526011126:1822747526011556 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747526011956:1822747526012426 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747526013036:1822747526013306 116414:116414 hsa_signal_store_screlease(, 1) = void -1822747526013746:1822747526014846 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 -1822747526015266:1822747528357531 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747528984065:1822747528984645 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822747528986585:1822747528987215 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747535044764:1822747535045994 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747535060964:1822747535061514 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822747535064534:1822747535065064 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822747535067164:1822747535068054 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747535068454:1822747535068864 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747535069454:1822747535070354 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747535678118:1822747535678628 116414:116414 hsa_signal_store_screlease(, 1) = void -1822747535680068:1822747535683038 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 -1822747535683578:1822747537107137 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747537107567:1822747537108007 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747537109137:1822747537109667 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822747537111687:1822747537112217 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747537137927:1822747537138457 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822747537142337:1822747537142867 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 -1822747537149667:1822747537150407 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 192 -1822747537151207:1822747537151677 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 192 -1822747537152797:1822747537155297 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 -1822747537156137:1822747537156467 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822747537157647:1822747537158467 116414:116414 hsa_signal_store_relaxed(, 192) = void -1822747537162397:1822747537162937 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822747537167057:1822747537167587 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747537169747:1822747537170277 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 -1822747537171557:1822747537172187 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 -1822747537172577:1822747537172857 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 193 -1822747537173247:1822747537173527 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 192 -1822747537174317:1822747537174597 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822747537174987:1822747537175437 116414:116414 hsa_signal_store_relaxed(, 193) = void -1822747537177207:1822747538439885 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822747538444565:1822747538445135 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822747538446615:1822747538450925 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822747538451355:1822747538451665 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822747538453865:1822747538454915 116414:116414 hsa_signal_destroy() = 0 -1822747538455995:1822747538456535 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822747538457005:1822747538457305 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822747538458245:1822747538458585 116414:116414 hsa_signal_destroy() = 0 -1822747538459555:1822747538460105 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822747538460995:1822747538461535 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822747538462195:1822747538462775 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747538463175:1822747538463585 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747538464065:1822747538464335 116414:116414 hsa_signal_store_screlease(, 1) = void -1822747538464785:1822747538465845 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 -1822747538466265:1822747540808780 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747541432674:1822747541433254 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822747541435114:1822747541435644 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747547531423:1822747547532633 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747547548043:1822747547548583 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822747547551563:1822747547552093 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822747547554193:1822747547555123 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747547566913:1822747547567333 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747547567993:1822747547569223 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747548178497:1822747548178997 116414:116414 hsa_signal_store_screlease(, 1) = void -1822747548180577:1822747548183267 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 -1822747548183777:1822747549606527 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747549606927:1822747549607237 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747549608217:1822747549608747 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822747549610687:1822747549611217 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747549626467:1822747549627047 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822747549630997:1822747549631527 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 -1822747549638487:1822747549639367 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 194 -1822747549640617:1822747549641257 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 194 -1822747549642287:1822747549645047 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 -1822747549645687:1822747549645997 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822747549647037:1822747549647857 116414:116414 hsa_signal_store_relaxed(, 194) = void -1822747549649997:1822747549650527 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822747549654597:1822747549655177 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747549657517:1822747549658057 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 -1822747549659287:1822747549659987 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 -1822747549660377:1822747549660647 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 195 -1822747549661047:1822747549661317 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 194 -1822747549662117:1822747549662397 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822747549662797:1822747549663237 116414:116414 hsa_signal_store_relaxed(, 195) = void -1822747549664867:1822747550927885 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822747550933125:1822747550933645 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822747550935495:1822747550939675 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822747550940145:1822747550940465 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822747550942785:1822747550943905 116414:116414 hsa_signal_destroy() = 0 -1822747550948075:1822747550948645 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822747550949075:1822747550949375 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822747550950265:1822747550950615 116414:116414 hsa_signal_destroy() = 0 -1822747550951655:1822747550952205 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822747550953115:1822747550953645 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822747550954395:1822747550954975 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747550955375:1822747550956205 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747550956615:1822747550956895 116414:116414 hsa_signal_store_screlease(, 1) = void -1822747550957335:1822747550958685 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 -1822747550959105:1822747553304780 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747553929754:1822747553930334 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822747553932394:1822747553932964 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747560387065:1822747560388415 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747560403595:1822747560404135 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822747560407325:1822747560407865 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822747560410065:1822747560410975 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747560411365:1822747560411955 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747560412595:1822747560413595 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747561020609:1822747561021049 116414:116414 hsa_signal_store_screlease(, 1) = void -1822747561022349:1822747561025409 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 -1822747561025969:1822747562448308 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747562448708:1822747562449138 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747562450148:1822747562450678 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822747562452378:1822747562452918 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747562468408:1822747562468948 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822747562472768:1822747562473298 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 -1822747562480028:1822747562480978 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 196 -1822747562481918:1822747562482718 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 196 -1822747562483748:1822747562486578 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 -1822747562496329:1822747562496649 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822747562497669:1822747562498579 116414:116414 hsa_signal_store_relaxed(, 196) = void -1822747562500889:1822747562501429 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822747562505259:1822747562505799 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747562507479:1822747562508009 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 -1822747562509599:1822747562510189 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 -1822747562510579:1822747562510859 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 197 -1822747562511259:1822747562511539 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 196 -1822747562512149:1822747562512429 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822747562512819:1822747562513279 116414:116414 hsa_signal_store_relaxed(, 197) = void -1822747562514809:1822747563784907 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822747563789447:1822747563790037 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822747563791757:1822747563796357 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822747563796827:1822747563797137 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822747563799477:1822747563800707 116414:116414 hsa_signal_destroy() = 0 -1822747563802017:1822747563802457 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822747563802867:1822747563803167 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822747563804297:1822747563804637 116414:116414 hsa_signal_destroy() = 0 -1822747563805727:1822747563806277 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822747563807167:1822747563807707 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822747563808517:1822747563808857 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747563809267:1822747563809677 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747563810087:1822747563810357 116414:116414 hsa_signal_store_screlease(, 1) = void -1822747563810807:1822747563812007 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 -1822747563812417:1822747566191552 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747566814226:1822747566814806 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822747566816706:1822747566817276 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747572864634:1822747572866034 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747572892975:1822747572893515 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822747572896535:1822747572897065 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822747572899315:1822747572900215 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747572900605:1822747572901015 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747572901655:1822747572902605 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747573508058:1822747573508508 116414:116414 hsa_signal_store_screlease(, 1) = void -1822747573509898:1822747573512568 116414:116414 hsa_amd_memory_async_copy(0x7f074e800000, , 0x7f0760400000, , , , 0, ) = 0 -1822747573513088:1822747574936418 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747574936818:1822747574937278 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747574938488:1822747574939028 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822747574941028:1822747574941558 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747574957348:1822747574957888 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822747574961318:1822747574961858 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6580) = 0 -1822747574968798:1822747574969528 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 198 -1822747574970418:1822747574970858 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 198 -1822747574971968:1822747574974708 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c61f0) = 0 -1822747574975348:1822747574975658 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822747574976638:1822747574977578 116414:116414 hsa_signal_store_relaxed(, 198) = void -1822747574979978:1822747574980518 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6590) = 0 -1822747574984598:1822747574985138 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747574987368:1822747574987928 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6150) = 0 -1822747574989078:1822747574989788 116414:116414 hsa_signal_create(1, , 0, 0x7ffcc96c5e30) = 0 -1822747574990178:1822747574990458 116414:116414 hsa_queue_load_write_index_relaxed(0x7f077bf02000) = 199 -1822747574990848:1822747574991128 116414:116414 hsa_queue_load_read_index_scacquire(0x7f077bf02000) = 198 -1822747574991948:1822747574992218 116414:116414 hsa_queue_store_write_index_relaxed(0x7f077bf02000, ) = void -1822747574992618:1822747574993068 116414:116414 hsa_signal_store_relaxed(, 199) = void -1822747574994438:1822747576251726 116414:116414 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 -1822747576256386:1822747576256966 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822747576258546:1822747576262856 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822747576266286:1822747576266706 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5fb8) = 0 -1822747576269366:1822747576270476 116414:116414 hsa_signal_destroy() = 0 -1822747576271746:1822747576272206 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822747576272616:1822747576272916 116414:116414 hsa_amd_profiling_get_dispatch_time(, , 0x7ffcc96c5ec8) = 0 -1822747576273966:1822747576274346 116414:116414 hsa_signal_destroy() = 0 -1822747576275496:1822747576276036 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6380) = 0 -1822747576276956:1822747576277496 116414:116414 hsa_system_get_info(2, 0x7ffcc96c63c8) = 0 -1822747576278226:1822747576278636 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747576279046:1822747576279466 116414:116414 hsa_signal_store_screlease(, 0) = void -1822747576280026:1822747576280306 116414:116414 hsa_signal_store_screlease(, 1) = void -1822747576280746:1822747576281906 116414:116414 hsa_amd_memory_async_copy(0x7f074f400000, , 0x7f074e200000, , , , 0, ) = 0 -1822747576282336:1822747578641251 116414:116414 hsa_signal_wait_scacquire(, 2, 1, , 1) = 0 -1822747579259055:1822747579259635 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6270) = 0 -1822747579261365:1822747579261935 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747585400924:1822747585402374 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747585422634:1822747585424114 116414:116414 hsa_signal_load_scacquire() = 0 -1822747585429354:1822747585503685 116414:116414 hsa_amd_memory_pool_free(0x7f074e800000) = 0 -1822747585510455:1822747585510995 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747585512935:1822747585513475 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747585514955:1822747585515295 116414:116414 hsa_signal_load_scacquire() = 0 -1822747585515825:1822747585527825 116414:116414 hsa_amd_memory_pool_free(0x7f074e200000) = 0 -1822747585529925:1822747585530465 116414:116414 hsa_system_get_info(2, 0x7ffcc96c6730) = 0 -1822747585548115:1822747585573865 116414:116414 hsa_code_object_reader_destroy() = 0 -1822747585574725:1822747585577005 116414:116414 hsa_code_object_reader_destroy() = 0 -1822747585578145:1822747585580245 116414:116414 hsa_code_object_reader_destroy() = 0 -1822747585581055:1822747585582885 116414:116414 hsa_code_object_reader_destroy() = 0 -1822747585583675:1822747585585765 116414:116414 hsa_code_object_reader_destroy() = 0 -1822747585586525:1822747585588735 116414:116414 hsa_code_object_reader_destroy() = 0 -1822747585597575:1822747585599805 116414:116414 hsa_code_object_reader_destroy() = 0 -1822747585600725:1822747585602665 116414:116414 hsa_code_object_reader_destroy() = 0 -1822747585603415:1822747585605635 116414:116414 hsa_code_object_reader_destroy() = 0 -1822747585606455:1822747585608375 116414:116414 hsa_code_object_reader_destroy() = 0 -1822747585609525:1822747585611475 116414:116414 hsa_code_object_reader_destroy() = 0 -1822747585612375:1822747585614545 116414:116414 hsa_code_object_reader_destroy() = 0 -1822747585615405:1822747585617345 116414:116414 hsa_code_object_reader_destroy() = 0 -1822747585618635:1822747585620675 116414:116414 hsa_code_object_reader_destroy() = 0 -1822747585621465:1822747585623735 116414:116414 hsa_code_object_reader_destroy() = 0 -1822747585624536:1822747585626626 116414:116414 hsa_code_object_reader_destroy() = 0 -1822747585627286:1822747585629366 116414:116414 hsa_code_object_reader_destroy() = 0 -1822747585629996:1822747585631916 116414:116414 hsa_code_object_reader_destroy() = 0 -1822747585632616:1822747585634656 116414:116414 hsa_code_object_reader_destroy() = 0 -1822747585635296:1822747585637346 116414:116414 hsa_code_object_reader_destroy() = 0 -1822747585638376:1822747585640376 116414:116414 hsa_code_object_reader_destroy() = 0 -1822747585641546:1822747585643406 116414:116414 hsa_code_object_reader_destroy() = 0 -1822745854975538 116414:116414 0:"before hipLaunchKernel" -1822745854987608 116414:116414 1:"hipLaunchKernel" -1822746303445573 116414:116414 0:"after hipLaunchKernel" -1822746303447393 116414:116414 1:"hipMemcpy" -1822746307822981 116414:116414 2:"" -1822746307824171 116414:116414 2:"" -1822746322787926 116414:116414 0:"before hipLaunchKernel" -1822746322789216 116414:116414 1:"hipLaunchKernel" -1822746322831267 116414:116414 0:"after hipLaunchKernel" -1822746322831937 116414:116414 1:"hipMemcpy" -1822746327110704 116414:116414 2:"" -1822746327111214 116414:116414 2:"" -1822746335664418 116414:116414 0:"before hipLaunchKernel" -1822746335666208 116414:116414 1:"hipLaunchKernel" -1822746335700419 116414:116414 0:"after hipLaunchKernel" -1822746335701109 116414:116414 1:"hipMemcpy" -1822746340062306 116414:116414 2:"" -1822746340062946 116414:116414 2:"" -1822746348570521 116414:116414 0:"before hipLaunchKernel" -1822746348571691 116414:116414 1:"hipLaunchKernel" -1822746348612761 116414:116414 0:"after hipLaunchKernel" -1822746348613511 116414:116414 1:"hipMemcpy" -1822746352908008 116414:116414 2:"" -1822746352908648 116414:116414 2:"" -1822746361409792 116414:116414 0:"before hipLaunchKernel" -1822746361411282 116414:116414 1:"hipLaunchKernel" -1822746361452822 116414:116414 0:"after hipLaunchKernel" -1822746361453632 116414:116414 1:"hipMemcpy" -1822746365745219 116414:116414 2:"" -1822746365745819 116414:116414 2:"" -1822746374273854 116414:116414 0:"before hipLaunchKernel" -1822746374275264 116414:116414 1:"hipLaunchKernel" -1822746374318815 116414:116414 0:"after hipLaunchKernel" -1822746374319505 116414:116414 1:"hipMemcpy" -1822746378595931 116414:116414 2:"" -1822746378596562 116414:116414 2:"" -1822746386726273 116414:116414 0:"before hipLaunchKernel" -1822746386728083 116414:116414 1:"hipLaunchKernel" -1822746386763224 116414:116414 0:"after hipLaunchKernel" -1822746386764104 116414:116414 1:"hipMemcpy" -1822746391049231 116414:116414 2:"" -1822746391049781 116414:116414 2:"" -1822746399189143 116414:116414 0:"before hipLaunchKernel" -1822746399190593 116414:116414 1:"hipLaunchKernel" -1822746399225293 116414:116414 0:"after hipLaunchKernel" -1822746399225973 116414:116414 1:"hipMemcpy" -1822746403530731 116414:116414 2:"" -1822746403531411 116414:116414 2:"" -1822746412060765 116414:116414 0:"before hipLaunchKernel" -1822746412062005 116414:116414 1:"hipLaunchKernel" -1822746412096325 116414:116414 0:"after hipLaunchKernel" -1822746412097335 116414:116414 1:"hipMemcpy" -1822746416388452 116414:116414 2:"" -1822746416389002 116414:116414 2:"" -1822746424900556 116414:116414 0:"before hipLaunchKernel" -1822746424901856 116414:116414 1:"hipLaunchKernel" -1822746424935537 116414:116414 0:"after hipLaunchKernel" -1822746424936147 116414:116414 1:"hipMemcpy" -1822746429218754 116414:116414 2:"" -1822746429219394 116414:116414 2:"" -1822746437732398 116414:116414 0:"before hipLaunchKernel" -1822746437733798 116414:116414 1:"hipLaunchKernel" -1822746437771248 116414:116414 0:"after hipLaunchKernel" -1822746437771858 116414:116414 1:"hipMemcpy" -1822746442028356 116414:116414 2:"" -1822746442028896 116414:116414 2:"" -1822746450161817 116414:116414 0:"before hipLaunchKernel" -1822746450163067 116414:116414 1:"hipLaunchKernel" -1822746450198447 116414:116414 0:"after hipLaunchKernel" -1822746450199117 116414:116414 1:"hipMemcpy" -1822746454504065 116414:116414 2:"" -1822746454504665 116414:116414 2:"" -1822746463006129 116414:116414 0:"before hipLaunchKernel" -1822746463007299 116414:116414 1:"hipLaunchKernel" -1822746463050979 116414:116414 0:"after hipLaunchKernel" -1822746463051589 116414:116414 1:"hipMemcpy" -1822746467336937 116414:116414 2:"" -1822746467337447 116414:116414 2:"" -1822746475886201 116414:116414 0:"before hipLaunchKernel" -1822746475887511 116414:116414 1:"hipLaunchKernel" -1822746475921661 116414:116414 0:"after hipLaunchKernel" -1822746475922411 116414:116414 1:"hipMemcpy" -1822746480225449 116414:116414 2:"" -1822746480226089 116414:116414 2:"" -1822746488740732 116414:116414 0:"before hipLaunchKernel" -1822746488742122 116414:116414 1:"hipLaunchKernel" -1822746488784243 116414:116414 0:"after hipLaunchKernel" -1822746488785013 116414:116414 1:"hipMemcpy" -1822746493098030 116414:116414 2:"" -1822746493098580 116414:116414 2:"" -1822746501602385 116414:116414 0:"before hipLaunchKernel" -1822746501604095 116414:116414 1:"hipLaunchKernel" -1822746501649305 116414:116414 0:"after hipLaunchKernel" -1822746501649925 116414:116414 1:"hipMemcpy" -1822746505928982 116414:116414 2:"" -1822746505929612 116414:116414 2:"" -1822746514461686 116414:116414 0:"before hipLaunchKernel" -1822746514462916 116414:116414 1:"hipLaunchKernel" -1822746514497227 116414:116414 0:"after hipLaunchKernel" -1822746514497897 116414:116414 1:"hipMemcpy" -1822746518742374 116414:116414 2:"" -1822746518742994 116414:116414 2:"" -1822746527262578 116414:116414 0:"before hipLaunchKernel" -1822746527273538 116414:116414 1:"hipLaunchKernel" -1822746527309978 116414:116414 0:"after hipLaunchKernel" -1822746527310798 116414:116414 1:"hipMemcpy" -1822746531586925 116414:116414 2:"" -1822746531587445 116414:116414 2:"" -1822746540127990 116414:116414 0:"before hipLaunchKernel" -1822746540129470 116414:116414 1:"hipLaunchKernel" -1822746540164820 116414:116414 0:"after hipLaunchKernel" -1822746540165560 116414:116414 1:"hipMemcpy" -1822746544478227 116414:116414 2:"" -1822746544478907 116414:116414 2:"" -1822746552974642 116414:116414 0:"before hipLaunchKernel" -1822746552976122 116414:116414 1:"hipLaunchKernel" -1822746553011042 116414:116414 0:"after hipLaunchKernel" -1822746553011832 116414:116414 1:"hipMemcpy" -1822746557333510 116414:116414 2:"" -1822746557334020 116414:116414 2:"" -1822746565850204 116414:116414 0:"before hipLaunchKernel" -1822746565851604 116414:116414 1:"hipLaunchKernel" -1822746565886044 116414:116414 0:"after hipLaunchKernel" -1822746565886794 116414:116414 1:"hipMemcpy" -1822746570197791 116414:116414 2:"" -1822746570198451 116414:116414 2:"" -1822746578336243 116414:116414 0:"before hipLaunchKernel" -1822746578337593 116414:116414 1:"hipLaunchKernel" -1822746578380923 116414:116414 0:"after hipLaunchKernel" -1822746578381683 116414:116414 1:"hipMemcpy" -1822746582643601 116414:116414 2:"" -1822746582644111 116414:116414 2:"" -1822746591161555 116414:116414 0:"before hipLaunchKernel" -1822746591163265 116414:116414 1:"hipLaunchKernel" -1822746591197655 116414:116414 0:"after hipLaunchKernel" -1822746591198265 116414:116414 1:"hipMemcpy" -1822746595502803 116414:116414 2:"" -1822746595503443 116414:116414 2:"" -1822746604019077 116414:116414 0:"before hipLaunchKernel" -1822746604020797 116414:116414 1:"hipLaunchKernel" -1822746604063007 116414:116414 0:"after hipLaunchKernel" -1822746604063787 116414:116414 1:"hipMemcpy" -1822746608329344 116414:116414 2:"" -1822746608329904 116414:116414 2:"" -1822746616473316 116414:116414 0:"before hipLaunchKernel" -1822746616474706 116414:116414 1:"hipLaunchKernel" -1822746616508206 116414:116414 0:"after hipLaunchKernel" -1822746616508816 116414:116414 1:"hipMemcpy" -1822746620826424 116414:116414 2:"" -1822746620826974 116414:116414 2:"" -1822746629333318 116414:116414 0:"before hipLaunchKernel" -1822746629334808 116414:116414 1:"hipLaunchKernel" -1822746629377048 116414:116414 0:"after hipLaunchKernel" -1822746629377788 116414:116414 1:"hipMemcpy" -1822746633699786 116414:116414 2:"" -1822746633700336 116414:116414 2:"" -1822746641821417 116414:116414 0:"before hipLaunchKernel" -1822746641822817 116414:116414 1:"hipLaunchKernel" -1822746641857047 116414:116414 0:"after hipLaunchKernel" -1822746641857937 116414:116414 1:"hipMemcpy" -1822746646095824 116414:116414 2:"" -1822746646096334 116414:116414 2:"" -1822746654614869 116414:116414 0:"before hipLaunchKernel" -1822746654616489 116414:116414 1:"hipLaunchKernel" -1822746654652079 116414:116414 0:"after hipLaunchKernel" -1822746654652809 116414:116414 1:"hipMemcpy" -1822746658919976 116414:116414 2:"" -1822746658920616 116414:116414 2:"" -1822746667430060 116414:116414 0:"before hipLaunchKernel" -1822746667431310 116414:116414 1:"hipLaunchKernel" -1822746667465260 116414:116414 0:"after hipLaunchKernel" -1822746667465870 116414:116414 1:"hipMemcpy" -1822746671742458 116414:116414 2:"" -1822746671742968 116414:116414 2:"" -1822746680267302 116414:116414 0:"before hipLaunchKernel" -1822746680268782 116414:116414 1:"hipLaunchKernel" -1822746680303053 116414:116414 0:"after hipLaunchKernel" -1822746680303803 116414:116414 1:"hipMemcpy" -1822746684600499 116414:116414 2:"" -1822746684601029 116414:116414 2:"" -1822746693088044 116414:116414 0:"before hipLaunchKernel" -1822746693089474 116414:116414 1:"hipLaunchKernel" -1822746693123884 116414:116414 0:"after hipLaunchKernel" -1822746693124644 116414:116414 1:"hipMemcpy" -1822746697418081 116414:116414 2:"" -1822746697418641 116414:116414 2:"" -1822746705933515 116414:116414 0:"before hipLaunchKernel" -1822746705934975 116414:116414 1:"hipLaunchKernel" -1822746705972696 116414:116414 0:"after hipLaunchKernel" -1822746705973596 116414:116414 1:"hipMemcpy" -1822746710267423 116414:116414 2:"" -1822746710268023 116414:116414 2:"" -1822746718822338 116414:116414 0:"before hipLaunchKernel" -1822746718823618 116414:116414 1:"hipLaunchKernel" -1822746718864278 116414:116414 0:"after hipLaunchKernel" -1822746718864968 116414:116414 1:"hipMemcpy" -1822746723108095 116414:116414 2:"" -1822746723108605 116414:116414 2:"" -1822746731658299 116414:116414 0:"before hipLaunchKernel" -1822746731659809 116414:116414 1:"hipLaunchKernel" -1822746731694730 116414:116414 0:"after hipLaunchKernel" -1822746731695340 116414:116414 1:"hipMemcpy" -1822746735980407 116414:116414 2:"" -1822746735980997 116414:116414 2:"" -1822746744113829 116414:116414 0:"before hipLaunchKernel" -1822746744123879 116414:116414 1:"hipLaunchKernel" -1822746744159579 116414:116414 0:"after hipLaunchKernel" -1822746744160189 116414:116414 1:"hipMemcpy" -1822746748470806 116414:116414 2:"" -1822746748471316 116414:116414 2:"" -1822746756607968 116414:116414 0:"before hipLaunchKernel" -1822746756609468 116414:116414 1:"hipLaunchKernel" -1822746756645858 116414:116414 0:"after hipLaunchKernel" -1822746756646558 116414:116414 1:"hipMemcpy" -1822746760955005 116414:116414 2:"" -1822746760955645 116414:116414 2:"" -1822746769464290 116414:116414 0:"before hipLaunchKernel" -1822746769465720 116414:116414 1:"hipLaunchKernel" -1822746769510720 116414:116414 0:"after hipLaunchKernel" -1822746769511470 116414:116414 1:"hipMemcpy" -1822746773820048 116414:116414 2:"" -1822746773820638 116414:116414 2:"" -1822746782343662 116414:116414 0:"before hipLaunchKernel" -1822746782344962 116414:116414 1:"hipLaunchKernel" -1822746782379212 116414:116414 0:"after hipLaunchKernel" -1822746782379922 116414:116414 1:"hipMemcpy" -1822746786661019 116414:116414 2:"" -1822746786661529 116414:116414 2:"" -1822746795188364 116414:116414 0:"before hipLaunchKernel" -1822746795189874 116414:116414 1:"hipLaunchKernel" -1822746795224264 116414:116414 0:"after hipLaunchKernel" -1822746795224934 116414:116414 1:"hipMemcpy" -1822746799488501 116414:116414 2:"" -1822746799489171 116414:116414 2:"" -1822746807830504 116414:116414 0:"before hipLaunchKernel" -1822746807832274 116414:116414 1:"hipLaunchKernel" -1822746807867394 116414:116414 0:"after hipLaunchKernel" -1822746807868064 116414:116414 1:"hipMemcpy" -1822746812164681 116414:116414 2:"" -1822746812165231 116414:116414 2:"" -1822746820722496 116414:116414 0:"before hipLaunchKernel" -1822746820723886 116414:116414 1:"hipLaunchKernel" -1822746820756366 116414:116414 0:"after hipLaunchKernel" -1822746820757286 116414:116414 1:"hipMemcpy" -1822746825046294 116414:116414 2:"" -1822746825046954 116414:116414 2:"" -1822746833223776 116414:116414 0:"before hipLaunchKernel" -1822746833225106 116414:116414 1:"hipLaunchKernel" -1822746833259056 116414:116414 0:"after hipLaunchKernel" -1822746833259996 116414:116414 1:"hipMemcpy" -1822746837574493 116414:116414 2:"" -1822746837575043 116414:116414 2:"" -1822746846102378 116414:116414 0:"before hipLaunchKernel" -1822746846104068 116414:116414 1:"hipLaunchKernel" -1822746846140448 116414:116414 0:"after hipLaunchKernel" -1822746846141318 116414:116414 1:"hipMemcpy" -1822746850396045 116414:116414 2:"" -1822746850396685 116414:116414 2:"" -1822746858929349 116414:116414 0:"before hipLaunchKernel" -1822746858930929 116414:116414 1:"hipLaunchKernel" -1822746858974000 116414:116414 0:"after hipLaunchKernel" -1822746858975060 116414:116414 1:"hipMemcpy" -1822746863235857 116414:116414 2:"" -1822746863236417 116414:116414 2:"" -1822746871469829 116414:116414 0:"before hipLaunchKernel" -1822746871471599 116414:116414 1:"hipLaunchKernel" -1822746871506509 116414:116414 0:"after hipLaunchKernel" -1822746871507269 116414:116414 1:"hipMemcpy" -1822746875782647 116414:116414 2:"" -1822746875783527 116414:116414 2:"" -1822746884309081 116414:116414 0:"before hipLaunchKernel" -1822746884310891 116414:116414 1:"hipLaunchKernel" -1822746884353891 116414:116414 0:"after hipLaunchKernel" -1822746884355141 116414:116414 1:"hipMemcpy" -1822746888676259 116414:116414 2:"" -1822746888676809 116414:116414 2:"" -1822746897186943 116414:116414 0:"before hipLaunchKernel" -1822746897188273 116414:116414 1:"hipLaunchKernel" -1822746897222683 116414:116414 0:"after hipLaunchKernel" -1822746897223593 116414:116414 1:"hipMemcpy" -1822746901551981 116414:116414 2:"" -1822746901552501 116414:116414 2:"" -1822746910088165 116414:116414 0:"before hipLaunchKernel" -1822746910089685 116414:116414 1:"hipLaunchKernel" -1822746910134435 116414:116414 0:"after hipLaunchKernel" -1822746910135325 116414:116414 1:"hipMemcpy" -1822746914420963 116414:116414 2:"" -1822746914421563 116414:116414 2:"" -1822746922911487 116414:116414 0:"before hipLaunchKernel" -1822746922912937 116414:116414 1:"hipLaunchKernel" -1822746922947557 116414:116414 0:"after hipLaunchKernel" -1822746922948317 116414:116414 1:"hipMemcpy" -1822746927246104 116414:116414 2:"" -1822746927246624 116414:116414 2:"" -1822746935790968 116414:116414 0:"before hipLaunchKernel" -1822746935792308 116414:116414 1:"hipLaunchKernel" -1822746935827819 116414:116414 0:"after hipLaunchKernel" -1822746935828559 116414:116414 1:"hipMemcpy" -1822746940122006 116414:116414 2:"" -1822746940122596 116414:116414 2:"" -1822746948636931 116414:116414 0:"before hipLaunchKernel" -1822746948638371 116414:116414 1:"hipLaunchKernel" -1822746948672781 116414:116414 0:"after hipLaunchKernel" -1822746948673531 116414:116414 1:"hipMemcpy" -1822746952927188 116414:116414 2:"" -1822746952927708 116414:116414 2:"" -1822746961432932 116414:116414 0:"before hipLaunchKernel" -1822746961435752 116414:116414 1:"hipLaunchKernel" -1822746961471142 116414:116414 0:"after hipLaunchKernel" -1822746961471802 116414:116414 1:"hipMemcpy" -1822746965815570 116414:116414 2:"" -1822746965816100 116414:116414 2:"" -1822746974347674 116414:116414 0:"before hipLaunchKernel" -1822746974349324 116414:116414 1:"hipLaunchKernel" -1822746974384045 116414:116414 0:"after hipLaunchKernel" -1822746974385025 116414:116414 1:"hipMemcpy" -1822746978701042 116414:116414 2:"" -1822746978701592 116414:116414 2:"" -1822746987238836 116414:116414 0:"before hipLaunchKernel" -1822746987240226 116414:116414 1:"hipLaunchKernel" -1822746987274997 116414:116414 0:"after hipLaunchKernel" -1822746987275707 116414:116414 1:"hipMemcpy" -1822746991547893 116414:116414 2:"" -1822746991548494 116414:116414 2:"" -1822747000045978 116414:116414 0:"before hipLaunchKernel" -1822747000047348 116414:116414 1:"hipLaunchKernel" -1822747000090598 116414:116414 0:"after hipLaunchKernel" -1822747000091268 116414:116414 1:"hipMemcpy" -1822747004383755 116414:116414 2:"" -1822747004384265 116414:116414 2:"" -1822747012920530 116414:116414 0:"before hipLaunchKernel" -1822747012922090 116414:116414 1:"hipLaunchKernel" -1822747012956500 116414:116414 0:"after hipLaunchKernel" -1822747012957150 116414:116414 1:"hipMemcpy" -1822747017227137 116414:116414 2:"" -1822747017227777 116414:116414 2:"" -1822747025739591 116414:116414 0:"before hipLaunchKernel" -1822747025741081 116414:116414 1:"hipLaunchKernel" -1822747025783142 116414:116414 0:"after hipLaunchKernel" -1822747025783922 116414:116414 1:"hipMemcpy" -1822747030052989 116414:116414 2:"" -1822747030053759 116414:116414 2:"" -1822747038576853 116414:116414 0:"before hipLaunchKernel" -1822747038578503 116414:116414 1:"hipLaunchKernel" -1822747038612073 116414:116414 0:"after hipLaunchKernel" -1822747038612833 116414:116414 1:"hipMemcpy" -1822747042937871 116414:116414 2:"" -1822747042938471 116414:116414 2:"" -1822747051456945 116414:116414 0:"before hipLaunchKernel" -1822747051458345 116414:116414 1:"hipLaunchKernel" -1822747051503015 116414:116414 0:"after hipLaunchKernel" -1822747051503705 116414:116414 1:"hipMemcpy" -1822747055762813 116414:116414 2:"" -1822747055763443 116414:116414 2:"" -1822747064282657 116414:116414 0:"before hipLaunchKernel" -1822747064284077 116414:116414 1:"hipLaunchKernel" -1822747064318447 116414:116414 0:"after hipLaunchKernel" -1822747064319197 116414:116414 1:"hipMemcpy" -1822747068577384 116414:116414 2:"" -1822747068577934 116414:116414 2:"" -1822747077191129 116414:116414 0:"before hipLaunchKernel" -1822747077192549 116414:116414 1:"hipLaunchKernel" -1822747077226949 116414:116414 0:"after hipLaunchKernel" -1822747077227719 116414:116414 1:"hipMemcpy" -1822747081495256 116414:116414 2:"" -1822747081495776 116414:116414 2:"" -1822747089776589 116414:116414 0:"before hipLaunchKernel" -1822747089777999 116414:116414 1:"hipLaunchKernel" -1822747089813449 116414:116414 0:"after hipLaunchKernel" -1822747089814139 116414:116414 1:"hipMemcpy" -1822747094097527 116414:116414 2:"" -1822747094098047 116414:116414 2:"" -1822747102607691 116414:116414 0:"before hipLaunchKernel" -1822747102609421 116414:116414 1:"hipLaunchKernel" -1822747102643231 116414:116414 0:"after hipLaunchKernel" -1822747102643911 116414:116414 1:"hipMemcpy" -1822747106933368 116414:116414 2:"" -1822747106933978 116414:116414 2:"" -1822747115463482 116414:116414 0:"before hipLaunchKernel" -1822747115465012 116414:116414 1:"hipLaunchKernel" -1822747115499573 116414:116414 0:"after hipLaunchKernel" -1822747115500483 116414:116414 1:"hipMemcpy" -1822747119761130 116414:116414 2:"" -1822747119761640 116414:116414 2:"" -1822747128308084 116414:116414 0:"before hipLaunchKernel" -1822747128309904 116414:116414 1:"hipLaunchKernel" -1822747128345134 116414:116414 0:"after hipLaunchKernel" -1822747128346204 116414:116414 1:"hipMemcpy" -1822747132643762 116414:116414 2:"" -1822747132644392 116414:116414 2:"" -1822747141164966 116414:116414 0:"before hipLaunchKernel" -1822747141166346 116414:116414 1:"hipLaunchKernel" -1822747141208846 116414:116414 0:"after hipLaunchKernel" -1822747141209526 116414:116414 1:"hipMemcpy" -1822747145462743 116414:116414 2:"" -1822747145463293 116414:116414 2:"" -1822747153659646 116414:116414 0:"before hipLaunchKernel" -1822747153661386 116414:116414 1:"hipLaunchKernel" -1822747153697026 116414:116414 0:"after hipLaunchKernel" -1822747153697946 116414:116414 1:"hipMemcpy" -1822747157970553 116414:116414 2:"" -1822747157971203 116414:116414 2:"" -1822747166489167 116414:116414 0:"before hipLaunchKernel" -1822747166490847 116414:116414 1:"hipLaunchKernel" -1822747166534498 116414:116414 0:"after hipLaunchKernel" -1822747166535248 116414:116414 1:"hipMemcpy" -1822747170843355 116414:116414 2:"" -1822747170844005 116414:116414 2:"" -1822747179364369 116414:116414 0:"before hipLaunchKernel" -1822747179366319 116414:116414 1:"hipLaunchKernel" -1822747179408579 116414:116414 0:"after hipLaunchKernel" -1822747179409199 116414:116414 1:"hipMemcpy" -1822747183702187 116414:116414 2:"" -1822747183702787 116414:116414 2:"" -1822747192222161 116414:116414 0:"before hipLaunchKernel" -1822747192223991 116414:116414 1:"hipLaunchKernel" -1822747192269142 116414:116414 0:"after hipLaunchKernel" -1822747192269822 116414:116414 1:"hipMemcpy" -1822747196568598 116414:116414 2:"" -1822747196569168 116414:116414 2:"" -1822747205092893 116414:116414 0:"before hipLaunchKernel" -1822747205094473 116414:116414 1:"hipLaunchKernel" -1822747205129393 116414:116414 0:"after hipLaunchKernel" -1822747205130083 116414:116414 1:"hipMemcpy" -1822747209399201 116414:116414 2:"" -1822747209399821 116414:116414 2:"" -1822747217944995 116414:116414 0:"before hipLaunchKernel" -1822747217946345 116414:116414 1:"hipLaunchKernel" -1822747217981665 116414:116414 0:"after hipLaunchKernel" -1822747217982525 116414:116414 1:"hipMemcpy" -1822747222277472 116414:116414 2:"" -1822747222278072 116414:116414 2:"" -1822747230808677 116414:116414 0:"before hipLaunchKernel" -1822747230810017 116414:116414 1:"hipLaunchKernel" -1822747230844757 116414:116414 0:"after hipLaunchKernel" -1822747230845487 116414:116414 1:"hipMemcpy" -1822747235088884 116414:116414 2:"" -1822747235089394 116414:116414 2:"" -1822747243249936 116414:116414 0:"before hipLaunchKernel" -1822747243251626 116414:116414 1:"hipLaunchKernel" -1822747243285766 116414:116414 0:"after hipLaunchKernel" -1822747243286516 116414:116414 1:"hipMemcpy" -1822747247529393 116414:116414 2:"" -1822747247530013 116414:116414 2:"" -1822747256043087 116414:116414 0:"before hipLaunchKernel" -1822747256044427 116414:116414 1:"hipLaunchKernel" -1822747256087698 116414:116414 0:"after hipLaunchKernel" -1822747256088488 116414:116414 1:"hipMemcpy" -1822747260364015 116414:116414 2:"" -1822747260364585 116414:116414 2:"" -1822747268896409 116414:116414 0:"before hipLaunchKernel" -1822747268897949 116414:116414 1:"hipLaunchKernel" -1822747268932309 116414:116414 0:"after hipLaunchKernel" -1822747268933119 116414:116414 1:"hipMemcpy" -1822747273198687 116414:116414 2:"" -1822747273199287 116414:116414 2:"" -1822747281724171 116414:116414 0:"before hipLaunchKernel" -1822747281725431 116414:116414 1:"hipLaunchKernel" -1822747281769611 116414:116414 0:"after hipLaunchKernel" -1822747281770251 116414:116414 1:"hipMemcpy" -1822747286046789 116414:116414 2:"" -1822747286047509 116414:116414 2:"" -1822747294179420 116414:116414 0:"before hipLaunchKernel" -1822747294180750 116414:116414 1:"hipLaunchKernel" -1822747294215440 116414:116414 0:"after hipLaunchKernel" -1822747294216190 116414:116414 1:"hipMemcpy" -1822747298480488 116414:116414 2:"" -1822747298481088 116414:116414 2:"" -1822747306992672 116414:116414 0:"before hipLaunchKernel" -1822747306994192 116414:116414 1:"hipLaunchKernel" -1822747307037212 116414:116414 0:"after hipLaunchKernel" -1822747307037882 116414:116414 1:"hipMemcpy" -1822747311315539 116414:116414 2:"" -1822747311316169 116414:116414 2:"" -1822747319874703 116414:116414 0:"before hipLaunchKernel" -1822747319876163 116414:116414 1:"hipLaunchKernel" -1822747319911874 116414:116414 0:"after hipLaunchKernel" -1822747319912624 116414:116414 1:"hipMemcpy" -1822747324204331 116414:116414 2:"" -1822747324204961 116414:116414 2:"" -1822747332705286 116414:116414 0:"before hipLaunchKernel" -1822747332706706 116414:116414 1:"hipLaunchKernel" -1822747332741176 116414:116414 0:"after hipLaunchKernel" -1822747332741956 116414:116414 1:"hipMemcpy" -1822747337037743 116414:116414 2:"" -1822747337038363 116414:116414 2:"" -1822747345559747 116414:116414 0:"before hipLaunchKernel" -1822747345561087 116414:116414 1:"hipLaunchKernel" -1822747345596618 116414:116414 0:"after hipLaunchKernel" -1822747345597448 116414:116414 1:"hipMemcpy" -1822747349873355 116414:116414 2:"" -1822747349873885 116414:116414 2:"" -1822747358051257 116414:116414 0:"before hipLaunchKernel" -1822747358052777 116414:116414 1:"hipLaunchKernel" -1822747358087627 116414:116414 0:"after hipLaunchKernel" -1822747358088377 116414:116414 1:"hipMemcpy" -1822747362399145 116414:116414 2:"" -1822747362399835 116414:116414 2:"" -1822747370904859 116414:116414 0:"before hipLaunchKernel" -1822747370906179 116414:116414 1:"hipLaunchKernel" -1822747370939949 116414:116414 0:"after hipLaunchKernel" -1822747370940629 116414:116414 1:"hipMemcpy" -1822747375221976 116414:116414 2:"" -1822747375222496 116414:116414 2:"" -1822747383758011 116414:116414 0:"before hipLaunchKernel" -1822747383759461 116414:116414 1:"hipLaunchKernel" -1822747383792951 116414:116414 0:"after hipLaunchKernel" -1822747383793631 116414:116414 1:"hipMemcpy" -1822747388093298 116414:116414 2:"" -1822747388093808 116414:116414 2:"" -1822747396606582 116414:116414 0:"before hipLaunchKernel" -1822747396608512 116414:116414 1:"hipLaunchKernel" -1822747396653613 116414:116414 0:"after hipLaunchKernel" -1822747396654593 116414:116414 1:"hipMemcpy" -1822747400910840 116414:116414 2:"" -1822747400911400 116414:116414 2:"" -1822747409452094 116414:116414 0:"before hipLaunchKernel" -1822747409453434 116414:116414 1:"hipLaunchKernel" -1822747409489224 116414:116414 0:"after hipLaunchKernel" -1822747409489944 116414:116414 1:"hipMemcpy" -1822747413770832 116414:116414 2:"" -1822747413771422 116414:116414 2:"" -1822747421888943 116414:116414 0:"before hipLaunchKernel" -1822747421890693 116414:116414 1:"hipLaunchKernel" -1822747421933914 116414:116414 0:"after hipLaunchKernel" -1822747421934664 116414:116414 1:"hipMemcpy" -1822747426217861 116414:116414 2:"" -1822747426218411 116414:116414 2:"" -1822747434752365 116414:116414 0:"before hipLaunchKernel" -1822747434753675 116414:116414 1:"hipLaunchKernel" -1822747434787675 116414:116414 0:"after hipLaunchKernel" -1822747434788355 116414:116414 1:"hipMemcpy" -1822747439089323 116414:116414 2:"" -1822747439089873 116414:116414 2:"" -1822747447612967 116414:116414 0:"before hipLaunchKernel" -1822747447614377 116414:116414 1:"hipLaunchKernel" -1822747447654907 116414:116414 0:"after hipLaunchKernel" -1822747447655657 116414:116414 1:"hipMemcpy" -1822747451958285 116414:116414 2:"" -1822747451958855 116414:116414 2:"" -1822747460454349 116414:116414 0:"before hipLaunchKernel" -1822747460456039 116414:116414 1:"hipLaunchKernel" -1822747460491099 116414:116414 0:"after hipLaunchKernel" -1822747460491699 116414:116414 1:"hipMemcpy" -1822747464744336 116414:116414 2:"" -1822747464744886 116414:116414 2:"" -1822747473259650 116414:116414 0:"before hipLaunchKernel" -1822747473261100 116414:116414 1:"hipLaunchKernel" -1822747473295340 116414:116414 0:"after hipLaunchKernel" -1822747473296320 116414:116414 1:"hipMemcpy" -1822747477592178 116414:116414 2:"" -1822747477592778 116414:116414 2:"" -1822747486095772 116414:116414 0:"before hipLaunchKernel" -1822747486097132 116414:116414 1:"hipLaunchKernel" -1822747486131912 116414:116414 0:"after hipLaunchKernel" -1822747486132722 116414:116414 1:"hipMemcpy" -1822747490419909 116414:116414 2:"" -1822747490420420 116414:116414 2:"" -1822747498947114 116414:116414 0:"before hipLaunchKernel" -1822747498948454 116414:116414 1:"hipLaunchKernel" -1822747498982554 116414:116414 0:"after hipLaunchKernel" -1822747498983314 116414:116414 1:"hipMemcpy" -1822747503269211 116414:116414 2:"" -1822747503269801 116414:116414 2:"" -1822747511821906 116414:116414 0:"before hipLaunchKernel" -1822747511823506 116414:116414 1:"hipLaunchKernel" -1822747511857306 116414:116414 0:"after hipLaunchKernel" -1822747511858026 116414:116414 1:"hipMemcpy" -1822747516150773 116414:116414 2:"" -1822747516151333 116414:116414 2:"" -1822747524674428 116414:116414 0:"before hipLaunchKernel" -1822747524675968 116414:116414 1:"hipLaunchKernel" -1822747524709788 116414:116414 0:"after hipLaunchKernel" -1822747524710798 116414:116414 1:"hipMemcpy" -1822747528988735 116414:116414 2:"" -1822747528989295 116414:116414 2:"" -1822747537127717 116414:116414 0:"before hipLaunchKernel" -1822747537129107 116414:116414 1:"hipLaunchKernel" -1822747537165427 116414:116414 0:"after hipLaunchKernel" -1822747537166147 116414:116414 1:"hipMemcpy" -1822747541437164 116414:116414 2:"" -1822747541437674 116414:116414 2:"" -1822747549616007 116414:116414 0:"before hipLaunchKernel" -1822747549617497 116414:116414 1:"hipLaunchKernel" -1822747549652847 116414:116414 0:"after hipLaunchKernel" -1822747549653597 116414:116414 1:"hipMemcpy" -1822747553934464 116414:116414 2:"" -1822747553935054 116414:116414 2:"" -1822747562457678 116414:116414 0:"before hipLaunchKernel" -1822747562459548 116414:116414 1:"hipLaunchKernel" -1822747562503719 116414:116414 0:"after hipLaunchKernel" -1822747562504369 116414:116414 1:"hipMemcpy" -1822747566818976 116414:116414 2:"" -1822747566819486 116414:116414 2:"" -1822747574946208 116414:116414 0:"before hipLaunchKernel" -1822747574947718 116414:116414 1:"hipLaunchKernel" -1822747574982938 116414:116414 0:"after hipLaunchKernel" -1822747574983698 116414:116414 1:"hipMemcpy" -1822747579263685 116414:116414 2:"" -1822747579264285 116414:116414 2:"" -1822745846694606:1822745854958588 0:0 hcMemcpyHostToDevice:4 -1822746303429824:1822746304643366 0:0 hcCommandKernel:6 -1822746304795192:1822746307813551 0:0 hcMemcpyDeviceToHost:8 -1822746320723013:1822746322780696 0:0 hcMemcpyHostToDevice:9 -1822746322836451:1822746324030881 0:0 hcCommandKernel:11 -1822746304656289:1822746304698662 0:0 hcCommandMarker:8 -1822746324124125:1822746327106804 0:0 hcMemcpyDeviceToHost:13 -1822746333603475:1822746335656778 0:0 hcMemcpyHostToDevice:14 -1822746335705194:1822746336927625 0:0 hcCommandKernel:16 -1822746324035875:1822746324067433 0:0 hcCommandMarker:13 -1822746337021117:1822746340058236 0:0 hcMemcpyDeviceToHost:18 -1822746346523298:1822746348563591 0:0 hcMemcpyHostToDevice:19 -1822746348617706:1822746349814210 0:0 hcCommandKernel:21 -1822746336932682:1822746336964388 0:0 hcCommandMarker:18 -1822746349904929:1822746352899698 0:0 hcMemcpyDeviceToHost:23 -1822746359361629:1822746361400262 0:0 hcMemcpyHostToDevice:24 -1822746361450267:1822746362634919 0:0 hcCommandKernel:26 -1822746349819318:1822746349850875 0:0 hcCommandMarker:23 -1822746362727320:1822746365741009 0:0 hcMemcpyDeviceToHost:28 -1822746372218591:1822746374265654 0:0 hcMemcpyHostToDevice:29 -1822746374324206:1822746375517450 0:0 hcCommandKernel:31 -1822746362640070:1822746362671182 0:0 hcCommandMarker:28 -1822746375611153:1822746378591671 0:0 hcMemcpyDeviceToHost:33 -1822746384677870:1822746386718163 0:0 hcMemcpyHostToDevice:34 -1822746386768129:1822746387975152 0:0 hcCommandKernel:36 -1822746375522532:1822746375553645 0:0 hcCommandMarker:33 -1822746388063982:1822746391045151 0:0 hcMemcpyDeviceToHost:38 -1822746397130819:1822746399181603 0:0 hcMemcpyHostToDevice:39 -1822746399230436:1822746400431829 0:0 hcCommandKernel:41 -1822746387980100:1822746388011657 0:0 hcCommandMarker:38 -1822746400525301:1822746403526701 0:0 hcMemcpyDeviceToHost:43 -1822746410010991:1822746412053745 0:0 hcMemcpyHostToDevice:44 -1822746412101455:1822746413300181 0:0 hcCommandKernel:46 -1822746400437024:1822746400468582 0:0 hcCommandMarker:43 -1822746413389643:1822746416384192 0:0 hcMemcpyDeviceToHost:48 -1822746422842763:1822746424893916 0:0 hcMemcpyHostToDevice:49 -1822746424940744:1822746426133988 0:0 hcCommandKernel:51 -1822746413305352:1822746413337206 0:0 hcCommandMarker:48 -1822746426224225:1822746429214624 0:0 hcMemcpyDeviceToHost:53 -1822746435693165:1822746437717408 0:0 hcMemcpyHostToDevice:54 -1822746437774256:1822746438967204 0:0 hcCommandKernel:56 -1822746426139161:1822746426170866 0:0 hcCommandMarker:53 -1822746439056356:1822746442024226 0:0 hcMemcpyDeviceToHost:58 -1822746448099264:1822746450154407 0:0 hcMemcpyHostToDevice:59 -1822746450203751:1822746451407810 0:0 hcCommandKernel:61 -1822746438972231:1822746439004529 0:0 hcCommandMarker:58 -1822746451504346:1822746454499105 0:0 hcMemcpyDeviceToHost:63 -1822746460959016:1822746462998779 0:0 hcMemcpyHostToDevice:64 -1822746463055996:1822746464260649 0:0 hcCommandKernel:66 -1822746451412900:1822746451444753 0:0 hcCommandMarker:63 -1822746464350677:1822746467332667 0:0 hcMemcpyDeviceToHost:68 -1822746473833308:1822746475879361 0:0 hcMemcpyHostToDevice:69 -1822746475926642:1822746477121072 0:0 hcCommandKernel:71 -1822746464265472:1822746464296881 0:0 hcCommandMarker:68 -1822746477215419:1822746480220979 0:0 hcMemcpyDeviceToHost:73 -1822746486696960:1822746488734042 0:0 hcMemcpyHostToDevice:74 -1822746488789228:1822746489970324 0:0 hcCommandKernel:76 -1822746477126132:1822746477157837 0:0 hcCommandMarker:73 -1822746490060621:1822746493090540 0:0 hcMemcpyDeviceToHost:78 -1822746499548162:1822746501594625 0:0 hcMemcpyHostToDevice:79 -1822746501644245:1822746502848156 0:0 hcCommandKernel:81 -1822746489975370:1822746490006927 0:0 hcCommandMarker:78 -1822746502941603:1822746505924812 0:0 hcMemcpyDeviceToHost:83 -1822746512386853:1822746514441866 0:0 hcMemcpyHostToDevice:84 -1822746514502279:1822746515697005 0:0 hcCommandKernel:86 -1822746502853256:1822746502884961 0:0 hcCommandMarker:83 -1822746515786755:1822746518737674 0:0 hcMemcpyDeviceToHost:88 -1822746525208945:1822746527254418 0:0 hcMemcpyHostToDevice:89 -1822746527314585:1822746528529015 0:0 hcCommandKernel:91 -1822746515702008:1822746515733862 0:0 hcCommandMarker:88 -1822746528618736:1822746531582475 0:0 hcMemcpyDeviceToHost:93 -1822746538066317:1822746540119810 0:0 hcMemcpyHostToDevice:94 -1822746540169674:1822746541362622 0:0 hcCommandKernel:96 -1822746528533986:1822746528565692 0:0 hcCommandMarker:93 -1822746541452028:1822746544473877 0:0 hcMemcpyDeviceToHost:98 -1822746550920939:1822746552966602 0:0 hcMemcpyHostToDevice:99 -1822746553016227:1822746554220435 0:0 hcCommandKernel:101 -1822746541367502:1822746541398763 0:0 hcCommandMarker:98 -1822746554311330:1822746557328730 0:0 hcMemcpyDeviceToHost:103 -1822746563780720:1822746565842464 0:0 hcMemcpyHostToDevice:104 -1822746565891124:1822746567105259 0:0 hcCommandKernel:106 -1822746554225509:1822746554257214 0:0 hcCommandMarker:103 -1822746567198362:1822746570191461 0:0 hcMemcpyDeviceToHost:108 -1822746576284980:1822746578329193 0:0 hcMemcpyHostToDevice:109 -1822746578378206:1822746579570858 0:0 hcCommandKernel:111 -1822746567110536:1822746567142537 0:0 hcCommandMarker:108 -1822746579665522:1822746582639151 0:0 hcMemcpyDeviceToHost:113 -1822746589095511:1822746591153645 0:0 hcMemcpyHostToDevice:114 -1822746591202562:1822746592414029 0:0 hcCommandKernel:116 -1822746579575616:1822746579607321 0:0 hcCommandMarker:113 -1822746592512113:1822746595498623 0:0 hcMemcpyDeviceToHost:118 -1822746601964713:1822746604011647 0:0 hcMemcpyHostToDevice:119 -1822746604068569:1822746605275592 0:0 hcCommandKernel:121 -1822746592419251:1822746592450956 0:0 hcCommandMarker:118 -1822746605366435:1822746608325004 0:0 hcMemcpyDeviceToHost:123 -1822746614421063:1822746616465356 0:0 hcMemcpyHostToDevice:124 -1822746616513523:1822746617722176 0:0 hcCommandKernel:126 -1822746605280818:1822746605312523 0:0 hcCommandMarker:123 -1822746617819294:1822746620821664 0:0 hcMemcpyDeviceToHost:128 -1822746627278435:1822746629325708 0:0 hcMemcpyHostToDevice:129 -1822746629382265:1822746630589287 0:0 hcCommandKernel:131 -1822746617727168:1822746617758429 0:0 hcCommandMarker:128 -1822746630681996:1822746633692796 0:0 hcMemcpyDeviceToHost:133 -1822746639755754:1822746641806997 0:0 hcMemcpyHostToDevice:134 -1822746641862485:1822746643058248 0:0 hcCommandKernel:136 -1822746630594519:1822746630626669 0:0 hcCommandMarker:133 -1822746643146416:1822746646091634 0:0 hcMemcpyDeviceToHost:138 -1822746652551416:1822746654597369 0:0 hcMemcpyHostToDevice:139 -1822746654657047:1822746655860810 0:0 hcCommandKernel:141 -1822746643063731:1822746643095288 0:0 hcCommandMarker:138 -1822746655949307:1822746658915726 0:0 hcMemcpyDeviceToHost:143 -1822746665378267:1822746667423120 0:0 hcMemcpyHostToDevice:144 -1822746667470322:1822746668671419 0:0 hcCommandKernel:146 -1822746655865746:1822746655897451 0:0 hcCommandMarker:143 -1822746668766159:1822746671738128 0:0 hcMemcpyDeviceToHost:148 -1822746678206339:1822746680260102 0:0 hcMemcpyHostToDevice:149 -1822746680308232:1822746681508292 0:0 hcCommandKernel:151 -1822746668676544:1822746668708250 0:0 hcCommandMarker:148 -1822746681599051:1822746684596209 0:0 hcMemcpyDeviceToHost:153 -1822746691038381:1822746693080794 0:0 hcMemcpyHostToDevice:154 -1822746693129097:1822746694329749 0:0 hcCommandKernel:156 -1822746681513411:1822746681545116 0:0 hcCommandMarker:153 -1822746694422112:1822746697413751 0:0 hcMemcpyDeviceToHost:158 -1822746703858202:1822746705925495 0:0 hcMemcpyHostToDevice:159 -1822746705975818:1822746707175878 0:0 hcCommandKernel:161 -1822746694334649:1822746694366503 0:0 hcCommandMarker:158 -1822746707272574:1822746710263013 0:0 hcMemcpyDeviceToHost:163 -1822746716776915:1822746718815558 0:0 hcMemcpyHostToDevice:164 -1822746718861486:1822746720065694 0:0 hcCommandKernel:166 -1822746707180907:1822746707212316 0:0 hcCommandMarker:163 -1822746720157016:1822746723103705 0:0 hcMemcpyDeviceToHost:168 -1822746729598936:1822746731650979 0:0 hcMemcpyHostToDevice:169 -1822746731699480:1822746732898798 0:0 hcCommandKernel:171 -1822746720070755:1822746720102757 0:0 hcCommandMarker:168 -1822746732992668:1822746735976367 0:0 hcMemcpyDeviceToHost:173 -1822746742066876:1822746744106829 0:0 hcMemcpyHostToDevice:174 -1822746744164465:1822746745363784 0:0 hcCommandKernel:176 -1822746732903906:1822746732935759 0:0 hcCommandMarker:173 -1822746745455297:1822746748466206 0:0 hcMemcpyDeviceToHost:178 -1822746754556705:1822746756600518 0:0 hcMemcpyHostToDevice:179 -1822746756650492:1822746757849514 0:0 hcCommandKernel:181 -1822746745368748:1822746745401045 0:0 hcCommandMarker:178 -1822746757942356:1822746760950505 0:0 hcMemcpyDeviceToHost:183 -1822746767400787:1822746769456080 0:0 hcMemcpyHostToDevice:184 -1822746769515356:1822746770712897 0:0 hcCommandKernel:186 -1822746757854629:1822746757886186 0:0 hcCommandMarker:183 -1822746770802739:1822746773812208 0:0 hcMemcpyDeviceToHost:188 -1822746780284119:1822746782328902 0:0 hcMemcpyHostToDevice:189 -1822746782384783:1822746783584102 0:0 hcCommandKernel:191 -1822746770717687:1822746770749837 0:0 hcCommandMarker:188 -1822746783680311:1822746786656569 0:0 hcMemcpyDeviceToHost:193 -1822746793126570:1822746795170844 0:0 hcMemcpyHostToDevice:194 -1822746795229846:1822746796419535 0:0 hcCommandKernel:196 -1822746783589268:1822746783621714 0:0 hcCommandMarker:193 -1822746796514412:1822746799483541 0:0 hcMemcpyDeviceToHost:198 -1822746805752131:1822746807822864 0:0 hcMemcpyHostToDevice:199 -1822746807872258:1822746809066836 0:0 hcCommandKernel:201 -1822746796424432:1822746796456285 0:0 hcCommandMarker:198 -1822746809156563:1822746812160341 0:0 hcMemcpyDeviceToHost:203 -1822746818675413:1822746820715166 0:0 hcMemcpyHostToDevice:204 -1822746820761636:1822746821961547 0:0 hcCommandKernel:206 -1822746809071724:1822746809103577 0:0 hcCommandMarker:203 -1822746822049125:1822746825042094 0:0 hcMemcpyDeviceToHost:208 -1822746831174713:1822746833216666 0:0 hcMemcpyHostToDevice:209 -1822746833264354:1822746834474636 0:0 hcCommandKernel:211 -1822746821966609:1822746821998315 0:0 hcCommandMarker:208 -1822746834567874:1822746837570143 0:0 hcMemcpyDeviceToHost:213 -1822746844045945:1822746846094708 0:0 hcMemcpyHostToDevice:214 -1822746846143047:1822746847339107 0:0 hcCommandKernel:216 -1822746834479803:1822746834511657 0:0 hcCommandMarker:213 -1822746847430466:1822746850391535 0:0 hcMemcpyDeviceToHost:218 -1822746856872336:1822746858920879 0:0 hcMemcpyHostToDevice:219 -1822746858970905:1822746860163557 0:0 hcCommandKernel:221 -1822746847344106:1822746847375663 0:0 hcCommandMarker:218 -1822746860252348:1822746863231427 0:0 hcMemcpyDeviceToHost:223 -1822746869408556:1822746871462119 0:0 hcMemcpyHostToDevice:224 -1822746871511819:1822746872712620 0:0 hcCommandKernel:226 -1822746860168590:1822746860200147 0:0 hcCommandMarker:223 -1822746872809568:1822746875778157 0:0 hcMemcpyDeviceToHost:228 -1822746882258768:1822746884301771 0:0 hcMemcpyHostToDevice:229 -1822746884359118:1822746885560511 0:0 hcCommandKernel:231 -1822746872717651:1822746872748912 0:0 hcCommandMarker:228 -1822746885654319:1822746888672049 0:0 hcMemcpyDeviceToHost:233 -1822746895138610:1822746897179513 0:0 hcMemcpyHostToDevice:234 -1822746897227988:1822746898442271 0:0 hcCommandKernel:236 -1822746885565336:1822746885596449 0:0 hcCommandMarker:233 -1822746898540601:1822746901547421 0:0 hcMemcpyDeviceToHost:238 -1822746908021352:1822746910080635 0:0 hcMemcpyHostToDevice:239 -1822746910139374:1822746911351286 0:0 hcCommandKernel:241 -1822746898447386:1822746898478795 0:0 hcCommandMarker:238 -1822746911441983:1822746914414793 0:0 hcMemcpyDeviceToHost:243 -1822746920880104:1822746922904187 0:0 hcMemcpyHostToDevice:244 -1822746922952505:1822746924164417 0:0 hcCommandKernel:246 -1822746911356227:1822746911388229 0:0 hcCommandMarker:243 -1822746924255965:1822746927241634 0:0 hcMemcpyDeviceToHost:248 -1822746933728855:1822746935773338 0:0 hcMemcpyHostToDevice:249 -1822746935832849:1822746937031279 0:0 hcCommandKernel:251 -1822746924169308:1822746924201162 0:0 hcCommandMarker:248 -1822746937122477:1822746940117836 0:0 hcMemcpyDeviceToHost:253 -1822746946584908:1822746948629301 0:0 hcMemcpyHostToDevice:254 -1822746948677959:1822746949871056 0:0 hcCommandKernel:256 -1822746937036345:1822746937068199 0:0 hcCommandMarker:253 -1822746949961659:1822746952922958 0:0 hcMemcpyDeviceToHost:258 -1822746959384079:1822746961424632 0:0 hcMemcpyHostToDevice:259 -1822746961476400:1822746962686682 0:0 hcCommandKernel:261 -1822746949876121:1822746949907974 0:0 hcCommandMarker:258 -1822746962778350:1822746965811330 0:0 hcMemcpyDeviceToHost:263 -1822746972296521:1822746974340194 0:0 hcMemcpyHostToDevice:264 -1822746974389187:1822746975606581 0:0 hcCommandKernel:266 -1822746962691718:1822746962723423 0:0 hcCommandMarker:263 -1822746975700143:1822746978697102 0:0 hcMemcpyDeviceToHost:268 -1822746985173653:1822746987229176 0:0 hcMemcpyHostToDevice:269 -1822746987280002:1822746988484358 0:0 hcCommandKernel:271 -1822746975611572:1822746975643426 0:0 hcCommandMarker:268 -1822746988580485:1822746991543943 0:0 hcMemcpyDeviceToHost:273 -1822746998016495:1822747000038778 0:0 hcMemcpyHostToDevice:274 -1822747000087046:1822747001287995 0:0 hcCommandKernel:276 -1822746988489582:1822746988521436 0:0 hcCommandMarker:273 -1822747001376406:1822747004379455 0:0 hcMemcpyDeviceToHost:278 -1822747010852217:1822747012913010 0:0 hcMemcpyHostToDevice:279 -1822747012961691:1822747014161158 0:0 hcCommandKernel:281 -1822747001292965:1822747001324818 0:0 hcCommandMarker:278 -1822747014253818:1822747017222547 0:0 hcMemcpyDeviceToHost:283 -1822747023683838:1822747025732301 0:0 hcMemcpyHostToDevice:284 -1822747025788996:1822747026979574 0:0 hcCommandKernel:286 -1822747014166198:1822747014198052 0:0 hcCommandMarker:283 -1822747027070100:1822747030045629 0:0 hcMemcpyDeviceToHost:288 -1822747036522520:1822747038569243 0:0 hcMemcpyHostToDevice:289 -1822747038617312:1822747039808778 0:0 hcCommandKernel:291 -1822747026984734:1822747027016736 0:0 hcCommandMarker:288 -1822747039907842:1822747042933181 0:0 hcMemcpyDeviceToHost:293 -1822747049409322:1822747051449495 0:0 hcMemcpyHostToDevice:294 -1822747051506634:1822747052713805 0:0 hcCommandKernel:296 -1822747039813758:1822747039845760 0:0 hcCommandMarker:293 -1822747052806114:1822747055758003 0:0 hcMemcpyDeviceToHost:298 -1822747062251204:1822747064274377 0:0 hcMemcpyHostToDevice:299 -1822747064323523:1822747065521952 0:0 hcCommandKernel:301 -1822747052718948:1822747052751394 0:0 hcCommandMarker:298 -1822747065617495:1822747068572654 0:0 hcMemcpyDeviceToHost:303 -1822747075149726:1822747077173719 0:0 hcMemcpyHostToDevice:304 -1822747077232222:1822747078433170 0:0 hcCommandKernel:306 -1822747065527049:1822747065558902 0:0 hcCommandMarker:303 -1822747078526527:1822747081490286 0:0 hcMemcpyDeviceToHost:308 -1822747087713106:1822747089768539 0:0 hcMemcpyHostToDevice:309 -1822747089818113:1822747091020691 0:0 hcCommandKernel:311 -1822747078437994:1822747078469551 0:0 hcCommandMarker:308 -1822747091109837:1822747094093117 0:0 hcMemcpyDeviceToHost:313 -1822747100541217:1822747102599950 0:0 hcMemcpyHostToDevice:314 -1822747102648562:1822747103843436 0:0 hcCommandKernel:316 -1822747091025764:1822747091057617 0:0 hcCommandMarker:313 -1822747103936089:1822747106928978 0:0 hcMemcpyDeviceToHost:318 -1822747113411299:1822747115455572 0:0 hcMemcpyHostToDevice:319 -1822747115504503:1822747116704118 0:0 hcCommandKernel:321 -1822747103848517:1822747103880371 0:0 hcCommandMarker:318 -1822747116798531:1822747119756760 0:0 hcMemcpyDeviceToHost:323 -1822747126242471:1822747128298384 0:0 hcMemcpyHostToDevice:324 -1822747128349774:1822747129559908 0:0 hcCommandKernel:326 -1822747116709198:1822747116741051 0:0 hcCommandMarker:323 -1822747129656553:1822747132639572 0:0 hcMemcpyDeviceToHost:328 -1822747139110713:1822747141157876 0:0 hcMemcpyHostToDevice:329 -1822747141214126:1822747142402037 0:0 hcCommandKernel:331 -1822747129564956:1822747129596513 0:0 hcCommandMarker:328 -1822747142497014:1822747145458493 0:0 hcMemcpyDeviceToHost:333 -1822747151585243:1822747153651436 0:0 hcMemcpyHostToDevice:334 -1822747153701988:1822747154890936 0:0 hcCommandKernel:336 -1822747142407059:1822747142438764 0:0 hcCommandMarker:333 -1822747154985314:1822747157965553 0:0 hcMemcpyDeviceToHost:338 -1822747164440384:1822747166481917 0:0 hcMemcpyHostToDevice:339 -1822747166539009:1822747167736549 0:0 hcCommandKernel:341 -1822747154895913:1822747154927914 0:0 hcCommandMarker:338 -1822747167830796:1822747170835815 0:0 hcMemcpyDeviceToHost:343 -1822747177313656:1822747179357249 0:0 hcMemcpyHostToDevice:344 -1822747179413232:1822747180605143 0:0 hcCommandKernel:346 -1822747167741542:1822747167772803 0:0 hcCommandMarker:343 -1822747180702947:1822747183697477 0:0 hcMemcpyDeviceToHost:348 -1822747190170468:1822747192214061 0:0 hcMemcpyHostToDevice:349 -1822747192271730:1822747193468975 0:0 hcCommandKernel:351 -1822747180610263:1822747180642116 0:0 hcCommandMarker:348 -1822747193559770:1822747196564428 0:0 hcMemcpyDeviceToHost:353 -1822747203043420:1822747205085833 0:0 hcMemcpyHostToDevice:354 -1822747205134515:1822747206325833 0:0 hcCommandKernel:356 -1822747193473789:1822747193505346 0:0 hcCommandMarker:353 -1822747206413732:1822747209394461 0:0 hcMemcpyDeviceToHost:358 -1822747215878292:1822747217937415 0:0 hcMemcpyHostToDevice:359 -1822747217986743:1822747219210211 0:0 hcCommandKernel:361 -1822747206330906:1822747206362463 0:0 hcCommandMarker:358 -1822747219299404:1822747222273022 0:0 hcMemcpyDeviceToHost:363 -1822747228754164:1822747230801437 0:0 hcMemcpyHostToDevice:364 -1822747230850218:1822747232046722 0:0 hcCommandKernel:366 -1822747219215271:1822747219246828 0:0 hcCommandMarker:363 -1822747232123575:1822747235084824 0:0 hcMemcpyDeviceToHost:368 -1822747241190363:1822747243243166 0:0 hcMemcpyHostToDevice:369 -1822747243291089:1822747244488185 0:0 hcCommandKernel:371 -1822747232051717:1822747232082977 0:0 hcCommandMarker:368 -1822747244581325:1822747247525033 0:0 hcMemcpyDeviceToHost:373 -1822747253997974:1822747256034437 0:0 hcMemcpyHostToDevice:374 -1822747256084105:1822747257288164 0:0 hcCommandKernel:376 -1822747244493160:1822747244525014 0:0 hcCommandMarker:373 -1822747257378866:1822747260356555 0:0 hcMemcpyDeviceToHost:378 -1822747266833856:1822747268888449 0:0 hcMemcpyHostToDevice:379 -1822747268937397:1822747270141605 0:0 hcCommandKernel:381 -1822747257293264:1822747257325562 0:0 hcCommandMarker:378 -1822747270235958:1822747273193927 0:0 hcMemcpyDeviceToHost:383 -1822747279656308:1822747281716591 0:0 hcMemcpyHostToDevice:384 -1822747281774820:1822747282977250 0:0 hcCommandKernel:386 -1822747270146539:1822747270177948 0:0 hcCommandMarker:383 -1822747283067979:1822747286042298 0:0 hcMemcpyDeviceToHost:388 -1822747292114437:1822747294171210 0:0 hcMemcpyHostToDevice:389 -1822747294220474:1822747295414015 0:0 hcCommandKernel:391 -1822747282982287:1822747283014585 0:0 hcCommandMarker:388 -1822747295507938:1822747298475988 0:0 hcMemcpyDeviceToHost:393 -1822747304940839:1822747306985062 0:0 hcMemcpyHostToDevice:394 -1822747307042711:1822747308231511 0:0 hcCommandKernel:396 -1822747295419024:1822747295450877 0:0 hcCommandMarker:393 -1822747308321540:1822747311301569 0:0 hcMemcpyDeviceToHost:398 -1822747317808411:1822747319867173 0:0 hcMemcpyHostToDevice:399 -1822747319916853:1822747321117654 0:0 hcCommandKernel:401 -1822747308236422:1822747308268127 0:0 hcCommandMarker:398 -1822747321217272:1822747324200101 0:0 hcMemcpyDeviceToHost:403 -1822747330660573:1822747332688686 0:0 hcMemcpyHostToDevice:404 -1822747332746255:1822747333946167 0:0 hcCommandKernel:406 -1822747321122715:1822747321154421 0:0 hcCommandMarker:403 -1822747334035024:1822747337032983 0:0 hcMemcpyDeviceToHost:408 -1822747343499134:1822747345552477 0:0 hcMemcpyHostToDevice:409 -1822747345601712:1822747346815105 0:0 hcCommandKernel:411 -1822747333951209:1822747333982914 0:0 hcCommandMarker:408 -1822747346905206:1822747349868854 0:0 hcMemcpyDeviceToHost:413 -1822747355987174:1822747358043277 0:0 hcMemcpyHostToDevice:414 -1822747358092303:1822747359300955 0:0 hcCommandKernel:416 -1822747346820040:1822747346851746 0:0 hcCommandMarker:413 -1822747359392056:1822747362394634 0:0 hcMemcpyDeviceToHost:418 -1822747368869926:1822747370897079 0:0 hcMemcpyHostToDevice:419 -1822747370945085:1822747372132404 0:0 hcCommandKernel:421 -1822747359305990:1822747359338288 0:0 hcCommandMarker:418 -1822747372222717:1822747375217526 0:0 hcMemcpyDeviceToHost:423 -1822747381700097:1822747383750731 0:0 hcMemcpyHostToDevice:424 -1822747383798189:1822747384984766 0:0 hcCommandKernel:426 -1822747372137463:1822747372169168 0:0 hcCommandMarker:423 -1822747385077069:1822747388088828 0:0 hcMemcpyDeviceToHost:428 -1822747394554049:1822747396599412 0:0 hcMemcpyHostToDevice:429 -1822747396655845:1822747397870424 0:0 hcCommandKernel:431 -1822747384989637:1822747385021935 0:0 hcCommandMarker:428 -1822747397959161:1822747400906520 0:0 hcMemcpyDeviceToHost:433 -1822747407383351:1822747409443974 0:0 hcMemcpyHostToDevice:434 -1822747409494262:1822747410702915 0:0 hcCommandKernel:436 -1822747397875612:1822747397907318 0:0 hcCommandMarker:433 -1822747410795733:1822747413766601 0:0 hcMemcpyDeviceToHost:438 -1822747419832620:1822747421881393 0:0 hcMemcpyHostToDevice:439 -1822747421939077:1822747423137062 0:0 hcCommandKernel:441 -1822747410708150:1822747410740300 0:0 hcCommandMarker:438 -1822747423224492:1822747426213551 0:0 hcMemcpyDeviceToHost:443 -1822747432700682:1822747434745455 0:0 hcMemcpyHostToDevice:444 -1822747434792960:1822747435986205 0:0 hcCommandKernel:446 -1822747423141865:1822747423173570 0:0 hcCommandMarker:443 -1822747436078254:1822747439084853 0:0 hcMemcpyDeviceToHost:448 -1822747445561904:1822747447606207 0:0 hcMemcpyHostToDevice:449 -1822747447660064:1822747448858938 0:0 hcCommandKernel:451 -1822747435991337:1822747436023042 0:0 hcCommandMarker:448 -1822747448949705:1822747451950475 0:0 hcMemcpyDeviceToHost:453 -1822747458422776:1822747460445569 0:0 hcMemcpyHostToDevice:454 -1822747460495906:1822747461698632 0:0 hcCommandKernel:456 -1822747448864070:1822747448895924 0:0 hcCommandMarker:453 -1822747461786977:1822747464739946 0:0 hcMemcpyDeviceToHost:458 -1822747471195457:1822747473240880 0:0 hcMemcpyHostToDevice:459 -1822747473300770:1822747474507497 0:0 hcCommandKernel:461 -1822747461703602:1822747461735160 0:0 hcCommandMarker:458 -1822747474600889:1822747477587668 0:0 hcMemcpyDeviceToHost:463 -1822747484045419:1822747486088192 0:0 hcMemcpyHostToDevice:464 -1822747486136882:1822747487335904 0:0 hcCommandKernel:466 -1822747474512454:1822747474544456 0:0 hcCommandMarker:463 -1822747487425110:1822747490415609 0:0 hcMemcpyDeviceToHost:468 -1822747496882101:1822747498939404 0:0 hcMemcpyHostToDevice:469 -1822747498987881:1822747500189719 0:0 hcCommandKernel:471 -1822747487340934:1822747487372639 0:0 hcCommandMarker:468 -1822747500280762:1822747503264851 0:0 hcMemcpyDeviceToHost:473 -1822747509774463:1822747511814726 0:0 hcMemcpyHostToDevice:474 -1822747511862364:1822747513061831 0:0 hcCommandKernel:476 -1822747500194823:1822747500226973 0:0 hcCommandMarker:473 -1822747513151704:1822747516146383 0:0 hcMemcpyDeviceToHost:478 -1822747522614955:1822747524667498 0:0 hcMemcpyHostToDevice:479 -1822747524715308:1822747525917145 0:0 hcCommandKernel:481 -1822747513067026:1822747513098583 0:0 hcCommandMarker:478 -1822747526009976:1822747528984375 0:0 hcMemcpyDeviceToHost:483 -1822747535064804:1822747537109407 0:0 hcMemcpyHostToDevice:484 -1822747537169050:1822747538372221 0:0 hcCommandKernel:486 -1822747525922123:1822747525954272 0:0 hcCommandMarker:483 -1822747538461275:1822747541432984 0:0 hcMemcpyDeviceToHost:488 -1822747547551833:1822747549608487 0:0 hcMemcpyHostToDevice:489 -1822747549658235:1822747550859776 0:0 hcCommandKernel:491 -1822747538377083:1822747538408937 0:0 hcCommandMarker:488 -1822747550953385:1822747553930064 0:0 hcMemcpyDeviceToHost:493 -1822747560407595:1822747562450418 0:0 hcMemcpyHostToDevice:494 -1822747562508843:1822747563712606 0:0 hcCommandKernel:496 -1822747550865006:1822747550897008 0:0 hcCommandMarker:493 -1822747563807437:1822747566814536 0:0 hcMemcpyDeviceToHost:498 -1822747572896795:1822747574938758 0:0 hcMemcpyHostToDevice:499 -1822747574987797:1822747576184152 0:0 hcCommandKernel:501 -1822747563717609:1822747563749314 0:0 hcCommandMarker:498 -1822747576277226:1822747579259365 0:0 hcMemcpyDeviceToHost:503 -1822747576189041:1822747576220747 0:0 hcCommandMarker:503 diff --git a/test/MatrixTranspose_test/MatrixTranspose.cpp b/test/MatrixTranspose_test/MatrixTranspose.cpp index a18d244799..5be7127acb 100644 --- a/test/MatrixTranspose_test/MatrixTranspose.cpp +++ b/test/MatrixTranspose_test/MatrixTranspose.cpp @@ -20,7 +20,9 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +#include #include +#include #ifdef __cplusplus #include @@ -34,6 +36,28 @@ using namespace std; // roctracer extension API #include +const size_t msg_size = 512; +char* msg_buf = NULL; +char* message = NULL; +void SPRINT(const char* fmt, ...) { + if (msg_buf == NULL) { + msg_buf = (char*) calloc(msg_size, 1); + message = msg_buf; + } + + va_list args; + va_start(args, fmt); + message += vsnprintf(message, msg_size - (message - msg_buf), fmt, args); + va_end(args); +} +void SFLUSH() { + if (msg_buf == NULL) abort(); + message = msg_buf; + msg_buf[msg_size - 1] = 0; + fprintf(stdout, "%s", msg_buf); + fflush(stdout); +} + #if HIP_TEST // hip header file #include @@ -248,7 +272,7 @@ void api_callback( return; } const hip_api_data_t* data = (const hip_api_data_t*)(callback_data); - fprintf(stdout, "<%s id(%u)\tcorrelation_id(%lu) %s> ", + SPRINT("<%s id(%u)\tcorrelation_id(%lu) %s> ", roctracer_op_string(ACTIVITY_DOMAIN_HIP_API, cid, 0), cid, data->correlation_id, @@ -256,39 +280,22 @@ void api_callback( if (data->phase == ACTIVITY_API_PHASE_ENTER) { switch (cid) { case HIP_API_ID_hipMemcpy: - fprintf(stdout, "<%s id(%u)\tcorrelation_id(%lu) %s>\n dst(%p) src(%p) size(0x%x) kind(%u)\n", - roctracer_op_string(ACTIVITY_DOMAIN_HIP_API, cid, 0), - cid, - data->correlation_id, - "on-enter", + SPRINT("dst(%p) src(%p) size(0x%x) kind(%u)", data->args.hipMemcpy.dst, data->args.hipMemcpy.src, (uint32_t)(data->args.hipMemcpy.sizeBytes), (uint32_t)(data->args.hipMemcpy.kind)); break; case HIP_API_ID_hipMalloc: - fprintf(stdout, "<%s id(%u)\tcorrelation_id(%lu) %s>\n ptr(%p) size(0x%x)\n", - roctracer_op_string(ACTIVITY_DOMAIN_HIP_API, cid, 0), - cid, - data->correlation_id, - "on-enter", + SPRINT("ptr(%p) size(0x%x)", data->args.hipMalloc.ptr, (uint32_t)(data->args.hipMalloc.size)); break; case HIP_API_ID_hipFree: - fprintf(stdout, "<%s id(%u)\tcorrelation_id(%lu) %s>\n ptr(%p)\n", - roctracer_op_string(ACTIVITY_DOMAIN_HIP_API, cid, 0), - cid, - data->correlation_id, - "on-enter", - data->args.hipFree.ptr); + SPRINT("ptr(%p)", data->args.hipFree.ptr); break; case HIP_API_ID_hipModuleLaunchKernel: - fprintf(stdout, "<%s id(%u)\tcorrelation_id(%lu) %s>\n kernel(\"%s\") stream(%p)\n", - roctracer_op_string(ACTIVITY_DOMAIN_HIP_API, cid, 0), - cid, - data->correlation_id, - "on-enter", + SPRINT("kernel(\"%s\") stream(%p)", hipKernelNameRef(data->args.hipModuleLaunchKernel.f), data->args.hipModuleLaunchKernel.stream); break; @@ -298,60 +305,52 @@ void api_callback( } else { switch (cid) { case HIP_API_ID_hipMalloc: - fprintf(stdout, "<%s id(%u)\tcorrelation_id(%lu) %s>\n *ptr(0x%p)\n", - roctracer_op_string(ACTIVITY_DOMAIN_HIP_API, cid, 0), - cid, - data->correlation_id, - "on-exit", - *(data->args.hipMalloc.ptr)); + SPRINT("*ptr(0x%p)", *(data->args.hipMalloc.ptr)); break; default: break; } } - //fprintf(stdout, "\n"); - fflush(stdout); + SPRINT("\n"); + SFLUSH(); } // Activity tracing callback // hipMalloc id(3) correlation_id(1): begin_ns(1525888652762640464) end_ns(1525888652762877067) void activity_callback(const char* begin, const char* end, void* arg) { const roctracer_record_t* record = (const roctracer_record_t*)(begin); const roctracer_record_t* end_record = (const roctracer_record_t*)(end); - fprintf(stdout, "\tActivity records:\n"); fflush(stdout); + + SPRINT("\tActivity records:\n"); while (record < end_record) { const char * name = roctracer_op_string(record->domain, record->op, record->kind); - fprintf(stdout, "\t%s\tcorrelation_id(%lu) time_ns(%lu:%lu)", + SPRINT("\t%s\tcorrelation_id(%lu) time_ns(%lu:%lu)", name, record->correlation_id, record->begin_ns, - record->end_ns - ); + record->end_ns); if ((record->domain == ACTIVITY_DOMAIN_HIP_API) || (record->domain == ACTIVITY_DOMAIN_KFD_API)) { - fprintf(stdout, " process_id(%u) thread_id(%u)", + SPRINT(" process_id(%u) thread_id(%u)", record->process_id, - record->thread_id - ); + record->thread_id); } else if (record->domain == ACTIVITY_DOMAIN_HCC_OPS) { - fprintf(stdout, " device_id(%d) queue_id(%lu)\n", + SPRINT(" device_id(%d) queue_id(%lu)", record->device_id, - record->queue_id - ); - if (record->op == HIP_OP_ID_COPY) fprintf(stdout, " bytes(0x%zx)", record->bytes); + record->queue_id); + if (record->op == HIP_OP_ID_COPY) SPRINT(" bytes(0x%zx)", record->bytes); } else if (record->domain == ACTIVITY_DOMAIN_HSA_OPS) { - fprintf(stdout, " se(%u) cycle(%lu) pc(%lx)", + SPRINT(" se(%u) cycle(%lu) pc(%lx)", record->pc_sample.se, record->pc_sample.cycle, - record->pc_sample.pc - ); + record->pc_sample.pc); } else if (record->domain == ACTIVITY_DOMAIN_EXT_API) { - fprintf(stdout, " external_id(%lu)\n", - record->external_id - ); + SPRINT(" external_id(%lu)", record->external_id); } else { fprintf(stderr, "Bad domain %d\n\n", record->domain); abort(); } - fflush(stdout); + SPRINT("\n"); + SFLUSH(); + ROCTRACER_CALL(roctracer_next_record(record, &record)); } } diff --git a/test/MatrixTranspose_test/MatrixTranspose_test_trace.txt b/test/MatrixTranspose_test/MatrixTranspose_test_trace.txt deleted file mode 100644 index cd3ddd4eae..0000000000 --- a/test/MatrixTranspose_test/MatrixTranspose_test_trace.txt +++ /dev/null @@ -1,7513 +0,0 @@ -# INIT ############################# -# START (99) ############################# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - - - ptr(0x7ffe3359ea58) size(0x400000) - - - - - - - - *ptr(0x0x7f0f29a00000) - - - - ptr(0x7ffe3359ea50) size(0x400000) - - - - - - - - *ptr(0x0x7f0f29400000) - - - - dst(0x7f0f29a00000) src(0x29b6680) size(0x400000) kind(1) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - dst(0x2db6690) src(0x7f0f29400000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - -PASSED! - - - - ptr(0x7f0f29a00000) - - - - - - - - - - ptr(0x7f0f29400000) - - - - - - -# START (98) ############################# -Device 0 name: Vega 10 XT [Radeon RX Vega 64] -PASSED! -# START (97) ############################# - - - - - - - - -Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - - - ptr(0x7ffe3359ea58) size(0x400000) - - - - - - - - *ptr(0x0x7f0f29a00000) - - - - ptr(0x7ffe3359ea50) size(0x400000) - - - - - - - - *ptr(0x0x7f0f29400000) - - - - dst(0x7f0f29a00000) src(0x7e67bc0) size(0x400000) kind(1) - - - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x29b6680) src(0x7f0f29400000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - -PASSED! - - - - ptr(0x7f0f29a00000) - - - - - - - - - - ptr(0x7f0f29400000) - - - - - - -# START (96) ############################# -Device 0 name: Vega 10 XT [Radeon RX Vega 64] -PASSED! -# START (95) ############################# - - - - - - - - -Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - - - ptr(0x7ffe3359ea58) size(0x400000) - - - - - - - - *ptr(0x0x7f0f29a00000) - - - - ptr(0x7ffe3359ea50) size(0x400000) - - - - - - - - *ptr(0x0x7f0f29400000) - - - - dst(0x7f0f29a00000) src(0x7e67bc0) size(0x400000) kind(1) - - - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x29b6680) src(0x7f0f29400000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - -PASSED! - - - - ptr(0x7f0f29a00000) - - - - - - - - - - ptr(0x7f0f29400000) - - - - - - -# START (94) ############################# -Device 0 name: Vega 10 XT [Radeon RX Vega 64] -PASSED! -# START (93) ############################# - - - - - - - - -Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - - - ptr(0x7ffe3359ea58) size(0x400000) - - - - - - - - *ptr(0x0x7f0f29a00000) - - - - ptr(0x7ffe3359ea50) size(0x400000) - - - - - - - - *ptr(0x0x7f0f29400000) - - - - dst(0x7f0f29a00000) src(0x7e67bc0) size(0x400000) kind(1) - - - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x29b6680) src(0x7f0f29400000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - Activity records: - hipSetDevice correlation_id(1) time_ns(6485124188342389:6485124188349979) - process_id(6177) thread_id(6177) - hipGetDeviceProperties correlation_id(2) time_ns(6485124188361079:6485124188364199) - process_id(6177) thread_id(6177) - hipMalloc correlation_id(3) time_ns(6485124190850946:6485124191181268) - process_id(6177) thread_id(6177) - hipMalloc correlation_id(4) time_ns(6485124191186178:6485124191250078) - process_id(6177) thread_id(6177) - hcMemcpyHostToDevice correlation_id(5) time_ns(6485124191288478:6485124199283372) - device_id(0) queue_id(0) - bytes(0x400000) (null) correlation_id(5) time_ns(0:0) - external_id(32) - hipMemcpy correlation_id(5) time_ns(6485124191259308:6485124199287622) - process_id(6177) thread_id(6177) - (null) correlation_id(6) time_ns(0:0) - external_id(33) - hipModuleLaunchKernel correlation_id(6) time_ns(6485124640180177:6485124645801785) - process_id(6177) thread_id(6177) - hcCommandKernel correlation_id(6) time_ns(6485124645807460:6485124647017150) - device_id(0) queue_id(0) - hcMemcpyDeviceToHost correlation_id(7) time_ns(6485124647151334:6485124650143834) - device_id(0) queue_id(0) - bytes(0x400000) (null) correlation_id(7) time_ns(0:0) - external_id(32) - hipMemcpy correlation_id(7) time_ns(6485124645822755:6485124650148314) - process_id(6177) thread_id(6177) - (null) correlation_id(8) time_ns(0:0) - external_id(31) - hipFree correlation_id(8) time_ns(6485124659581497:6485124659705167) - process_id(6177) thread_id(6177) - (null) correlation_id(9) time_ns(0:0) - external_id(31) - hipFree correlation_id(9) time_ns(6485124659710827:6485124659733398) - process_id(6177) thread_id(6177) - hcCommandMarker correlation_id(7) time_ns(6485124647030336:6485124647073153) - device_id(0) queue_id(0) - hipSetDevice correlation_id(10) time_ns(6485124677869969:6485124677886909) - process_id(6177) thread_id(6177) - hipGetDeviceProperties correlation_id(11) time_ns(6485124677891179:6485124677893879) - process_id(6177) thread_id(6177) - hipMalloc correlation_id(12) time_ns(6485124682415410:6485124682739912) - process_id(6177) thread_id(6177) - hipMalloc correlation_id(13) time_ns(6485124682750472:6485124682868843) - process_id(6177) thread_id(6177) - hcMemcpyHostToDevice correlation_id(14) time_ns(6485124682894193:6485124684919306) - device_id(0) queue_id(0) - bytes(0x400000) (null) correlation_id(14) time_ns(0:0) - external_id(32) - hipMemcpy correlation_id(14) time_ns(6485124682876833:6485124684931606) - process_id(6177) thread_id(6177) - (null) correlation_id(15) time_ns(0:0) - external_id(33) - hipModuleLaunchKernel correlation_id(15) time_ns(6485124684950576:6485124684973317) - process_id(6177) thread_id(6177) - hcCommandKernel correlation_id(15) time_ns(6485124684980802:6485124686186195) - device_id(0) queue_id(0) - hcMemcpyDeviceToHost correlation_id(16) time_ns(6485124686263055:6485124689285425) - device_id(0) queue_id(0) - bytes(0x400000) (null) correlation_id(16) time_ns(0:0) - external_id(32) - hipMemcpy correlation_id(16) time_ns(6485124684993147:6485124689287775) - process_id(6177) thread_id(6177) - (null) correlation_id(17) time_ns(0:0) - external_id(31) - hipFree correlation_id(17) time_ns(6485124696618335:6485124696718255) - process_id(6177) thread_id(6177) - (null) correlation_id(18) time_ns(0:0) - external_id(31) - hipFree correlation_id(18) time_ns(6485124696740175:6485124696763135) - process_id(6177) thread_id(6177) - hcCommandMarker correlation_id(16) time_ns(6485124686191973:6485124686223678) - device_id(0) queue_id(0) - hipSetDevice correlation_id(19) time_ns(6485124715256269:6485124715273659) - process_id(6177) thread_id(6177) - hipGetDeviceProperties correlation_id(20) time_ns(6485124715277519:6485124715280169) - process_id(6177) thread_id(6177) - hipMalloc correlation_id(21) time_ns(6485124719811839:6485124720164651) - process_id(6177) thread_id(6177) - hipMalloc correlation_id(22) time_ns(6485124720175962:6485124720293742) - process_id(6177) thread_id(6177) - hcMemcpyHostToDevice correlation_id(23) time_ns(6485124720318532:6485124722347146) - device_id(0) queue_id(0) - bytes(0x400000) (null) correlation_id(23) time_ns(0:0) - external_id(32) - hipMemcpy correlation_id(23) time_ns(6485124720301602:6485124722360376) - process_id(6177) thread_id(6177) - (null) correlation_id(24) time_ns(0:0) - external_id(33) - hipModuleLaunchKernel correlation_id(24) time_ns(6485124722379797:6485124722404127) - process_id(6177) thread_id(6177) - hcCommandKernel correlation_id(24) time_ns(6485124722411451:6485124723600251) - device_id(0) queue_id(0) - hcMemcpyDeviceToHost correlation_id(25) time_ns(6485124723698716:6485124726758446) - device_id(0) queue_id(0) - bytes(0x400000) (null) correlation_id(25) time_ns(0:0) - external_id(32) - hipMemcpy correlation_id(25) time_ns(6485124722409707:6485124726761586) - process_id(6177) thread_id(6177) - (null) correlation_id(26) time_ns(0:0) - external_id(31) - hipFree correlation_id(26) time_ns(6485124735449544:6485124735549674) - process_id(6177) thread_id(6177) - (null) correlation_id(27) time_ns(0:0) - external_id(31) - hipFree correlation_id(27) time_ns(6485124735554444:6485124735577434) - process_id(6177) thread_id(6177) - hcCommandMarker correlation_id(25) time_ns(6485124723606029:6485124723637734) - device_id(0) queue_id(0) - hipSetDevice correlation_id(28) time_ns(6485124753729076:6485124753745996) - process_id(6177) thread_id(6177) - hipGetDeviceProperties correlation_id(29) time_ns(6485124753749646:6485124753752446) - process_id(6177) thread_id(6177) - hipMalloc correlation_id(30) time_ns(6485124758289177:6485124758598259) - process_id(6177) thread_id(6177) - hipMalloc correlation_id(31) time_ns(6485124758609469:6485124758728329) - process_id(6177) thread_id(6177) - hcMemcpyHostToDevice correlation_id(32) time_ns(6485124758753490:6485124760777913) - device_id(0) queue_id(0) - bytes(0x400000) (null) correlation_id(32) time_ns(0:0) - external_id(32) - hipMemcpy correlation_id(32) time_ns(6485124758736339:6485124760782643) - process_id(6177) thread_id(6177) - (null) correlation_id(33) time_ns(0:0) - external_id(33) - hipModuleLaunchKernel correlation_id(33) time_ns(6485124760801583:6485124760824623) - process_id(6177) thread_id(6177) - hcCommandKernel correlation_id(33) time_ns(6485124760832042:6485124762020841) - device_id(0) queue_id(0) -PASSED! - - - - ptr(0x7f0f29a00000) - - - - - - - - - - ptr(0x7f0f29400000) - - - - - - -# START (92) ############################# -Device 0 name: Vega 10 XT [Radeon RX Vega 64] -PASSED! -# START (91) ############################# - - - - - - - - -Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - - - ptr(0x7ffe3359ea58) size(0x400000) - - - - - - - - *ptr(0x0x7f0f29a00000) - - - - ptr(0x7ffe3359ea50) size(0x400000) - - - - - - - - *ptr(0x0x7f0f29400000) - - - - dst(0x7f0f29a00000) src(0x7e67bc0) size(0x400000) kind(1) - - - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x29b6680) src(0x7f0f29400000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - -PASSED! - - - - ptr(0x7f0f29a00000) - - - - - - - - - - ptr(0x7f0f29400000) - - - - - - -# START (90) ############################# -Device 0 name: Vega 10 XT [Radeon RX Vega 64] -PASSED! -# START (89) ############################# - - - - - - - - -Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - - - ptr(0x7ffe3359ea58) size(0x400000) - - - - - - - - *ptr(0x0x7f0f29a00000) - - - - ptr(0x7ffe3359ea50) size(0x400000) - - - - - - - - *ptr(0x0x7f0f29400000) - - - - dst(0x7f0f29a00000) src(0x7e67bc0) size(0x400000) kind(1) - - - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x29b6680) src(0x7f0f29400000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - -PASSED! - - - - ptr(0x7f0f29a00000) - - - - - - - - - - ptr(0x7f0f29400000) - - - - - - -# START (88) ############################# -Device 0 name: Vega 10 XT [Radeon RX Vega 64] -PASSED! -# START (87) ############################# - - - - - - - - -Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - - - ptr(0x7ffe3359ea58) size(0x400000) - - - - - - - - *ptr(0x0x7f0f29a00000) - - - - ptr(0x7ffe3359ea50) size(0x400000) - - - - - - - - *ptr(0x0x7f0f29400000) - - - - dst(0x7f0f29a00000) src(0x7e67bc0) size(0x400000) kind(1) - - - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x29b6680) src(0x7f0f29400000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - -PASSED! - - - - ptr(0x7f0f29a00000) - - - - - - - - - - ptr(0x7f0f29400000) - - - - - - -# START (86) ############################# -Device 0 name: Vega 10 XT [Radeon RX Vega 64] -PASSED! -# START (85) ############################# - - - - - - - - -Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - - - ptr(0x7ffe3359ea58) size(0x400000) - - - - - - - - *ptr(0x0x7f0f29a00000) - - - - ptr(0x7ffe3359ea50) size(0x400000) - - Activity records: - hcMemcpyDeviceToHost correlation_id(34) time_ns(6485124762108522:6485124765077142) - device_id(0) queue_id(0) - bytes(0x400000) - - (null) correlation_id(34) time_ns(0:0) - external_id(32) - hipMemcpy correlation_id(34) time_ns(6485124760843523:6485124765089362) - process_id(6177) thread_id(6177) - (null) correlation_id(35) time_ns(0:0) - external_id(31) - hipFree correlation_id(35) time_ns(6485124772381351:6485124772486441) - process_id(6177) thread_id(6177) - (null) correlation_id(36) time_ns(0:0) - external_id(31) - hipFree correlation_id(36) time_ns(6485124772492321:6485124772516012) - process_id(6177) thread_id(6177) - hcCommandMarker correlation_id(34) time_ns(6485124762026619:6485124762058177) - device_id(0) queue_id(0) - hipSetDevice correlation_id(37) time_ns(6485124790641873:6485124790655893) - process_id(6177) thread_id(6177) - hipGetDeviceProperties correlation_id(38) time_ns(6485124790659513:6485124790662323) - process_id(6177) thread_id(6177) - hipMalloc correlation_id(39) time_ns(6485124795188663:6485124795493815) - process_id(6177) thread_id(6177) - hipMalloc correlation_id(40) time_ns(6485124795504665:6485124795623776) - process_id(6177) thread_id(6177) - hcMemcpyHostToDevice correlation_id(41) time_ns(6485124795649086:6485124797692450) - device_id(0) queue_id(0) - bytes(0x400000) - (null) correlation_id(41) time_ns(0:0) - - - - *ptr(0x0x7f0f29400000) - - - - dst(0x7f0f29a00000) src(0x7e67bc0) size(0x400000) kind(1) - external_id(32) - hipMemcpy correlation_id(41) time_ns(6485124795631956:6485124797706270) - process_id(6177) thread_id(6177) - - - - - (null) correlation_id(42) time_ns(0:0) - external_id(33) - hipModuleLaunchKernel correlation_id(42) time_ns(6485124797726170:6485124797749800) - process_id(6177) thread_id(6177) - hcCommandKernel correlation_id(42) time_ns(6485124797757372:6485124798960839) - device_id(0) queue_id(0) - hcMemcpyDeviceToHost correlation_id(43) time_ns(6485124799058459:6485124802115559) - device_id(0) queue_id(0) - bytes(0x400000) (null) correlation_id(43) time_ns(0:0) - external_id(32) - hipMemcpy correlation_id(43) time_ns(6485124797755110:6485124802118749) - process_id(6177) thread_id(6177) - (null) correlation_id(44) time_ns(0:0) - external_id(31) - hipFree correlation_id(44) time_ns(6485124810291284:6485124810382124) - process_id(6177) thread_id(6177) - (null) correlation_id(45) time_ns(0:0) - external_id(31) - hipFree correlation_id(45) time_ns(6485124810390914:6485124810407154) - process_id(6177) thread_id(6177) - hcCommandMarker correlation_id(43) time_ns(6485124798966617:6485124798998618) - device_id(0) queue_id(0) - hipSetDevice correlation_id(46) time_ns(6485124829444052:6485124829458162) - process_id(6177) thread_id(6177) - hipGetDeviceProperties correlation_id(47) time_ns(6485124829461362:6485124829463392) - process_id(6177) thread_id(6177) - hipMalloc correlation_id(48) time_ns(6485124832825245:6485124833251727) - process_id(6177) thread_id(6177) - hipMalloc correlation_id(49) time_ns(6485124833261827:6485124833375128) - process_id(6177) thread_id(6177) - hcMemcpyHostToDevice correlation_id(50) time_ns(6485124833398678:6485124835420832) - device_id(0) queue_id(0) - bytes(0x400000) (null) correlation_id(50) time_ns(0:0) - external_id(32) - hipMemcpy correlation_id(50) time_ns(6485124833382588:6485124835425832) - process_id(6177) thread_id(6177) - (null) correlation_id(51) time_ns(0:0) - external_id(33) - hipModuleLaunchKernel correlation_id(51) time_ns(6485124835445012:6485124835468392) - process_id(6177) thread_id(6177) - hcCommandKernel correlation_id(51) time_ns(6485124835475589:6485124836677130) - device_id(0) queue_id(0) - hcMemcpyDeviceToHost correlation_id(52) time_ns(6485124836752701:6485124839759961) - device_id(0) queue_id(0) - bytes(0x400000) (null) correlation_id(52) time_ns(0:0) - external_id(32) - hipMemcpy correlation_id(52) time_ns(6485124835473852:6485124839763401) - process_id(6177) thread_id(6177) - (null) correlation_id(53) time_ns(0:0) - external_id(31) - hipFree correlation_id(53) time_ns(6485124848528449:6485124848628190) - process_id(6177) thread_id(6177) - (null) correlation_id(54) time_ns(0:0) - external_id(31) - hipFree correlation_id(54) time_ns(6485124848634830:6485124848659320) - process_id(6177) thread_id(6177) - hcCommandMarker correlation_id(52) time_ns(6485124836682908:6485124836715058) - device_id(0) queue_id(0) - hipSetDevice correlation_id(55) time_ns(6485124866755991:6485124866772241) - process_id(6177) thread_id(6177) - hipGetDeviceProperties correlation_id(56) time_ns(6485124866776191:6485124866778951) - process_id(6177) thread_id(6177) - hipMalloc correlation_id(57) time_ns(6485124870622527:6485124870972449) - process_id(6177) thread_id(6177) - hipMalloc correlation_id(58) time_ns(6485124870982259:6485124871093530) - process_id(6177) thread_id(6177) - hcMemcpyHostToDevice correlation_id(59) time_ns(6485124871117640:6485124873138493) - device_id(0) queue_id(0) - bytes(0x400000) (null) correlation_id(59) time_ns(0:0) - external_id(32) - hipMemcpy correlation_id(59) time_ns(6485124871101170:6485124873143533) - process_id(6177) thread_id(6177) - (null) correlation_id(60) time_ns(0:0) - external_id(33) - hipModuleLaunchKernel correlation_id(60) time_ns(6485124873163454:6485124873186134) - process_id(6177) thread_id(6177) - hcCommandKernel correlation_id(60) time_ns(6485124873193873:6485124874392006) - device_id(0) queue_id(0) - hcMemcpyDeviceToHost correlation_id(61) time_ns(6485124874477282:6485124877448242) - device_id(0) queue_id(0) - bytes(0x400000) (null) correlation_id(61) time_ns(0:0) - external_id(32) - hipMemcpy correlation_id(61) time_ns(6485124873200854:6485124877450632) - process_id(6177) thread_id(6177) - (null) correlation_id(62) time_ns(0:0) - external_id(31) - hipFree correlation_id(62) time_ns(6485124884888052:6485124884985903) - process_id(6177) thread_id(6177) - (null) correlation_id(63) time_ns(0:0) - external_id(31) - hipFree correlation_id(63) time_ns(6485124884990933:6485124885015443) - process_id(6177) thread_id(6177) - hcCommandMarker correlation_id(61) time_ns(6485124874397636:6485124874429342) - device_id(0) queue_id(0) - hipSetDevice correlation_id(64) time_ns(6485124903423796:6485124903439396) - process_id(6177) thread_id(6177) - hipGetDeviceProperties correlation_id(65) time_ns(6485124903443276:6485124903445946) - process_id(6177) thread_id(6177) - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x29b6680) src(0x7f0f29400000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - -PASSED! - - - - ptr(0x7f0f29a00000) - - - - - - - - - - ptr(0x7f0f29400000) - - - - - - -# START (84) ############################# -Device 0 name: Vega 10 XT [Radeon RX Vega 64] -PASSED! -# START (83) ############################# - - - - - - - - -Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - - - ptr(0x7ffe3359ea58) size(0x400000) - - - - - - - - *ptr(0x0x7f0f29a00000) - - - - ptr(0x7ffe3359ea50) size(0x400000) - - - - - - - - *ptr(0x0x7f0f29400000) - - - - dst(0x7f0f29a00000) src(0x7e67bc0) size(0x400000) kind(1) - - - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x29b6680) src(0x7f0f29400000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - -PASSED! - - - - ptr(0x7f0f29a00000) - - - - - - - - - - ptr(0x7f0f29400000) - - - - - - -# START (82) ############################# -Device 0 name: Vega 10 XT [Radeon RX Vega 64] -PASSED! -# START (81) ############################# - - - - - - - - -Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - - - ptr(0x7ffe3359ea58) size(0x400000) - - - - - - - - *ptr(0x0x7f0f29a00000) - - - - ptr(0x7ffe3359ea50) size(0x400000) - - - - - - - - *ptr(0x0x7f0f29400000) - - - - dst(0x7f0f29a00000) src(0x7e67bc0) size(0x400000) kind(1) - - - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x29b6680) src(0x7f0f29400000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - -PASSED! - - - - ptr(0x7f0f29a00000) - - - - - - - - - - ptr(0x7f0f29400000) - - - - - - -# START (80) ############################# -Device 0 name: Vega 10 XT [Radeon RX Vega 64] -PASSED! -# START (79) ############################# - - - - - - - - -Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - - - ptr(0x7ffe3359ea58) size(0x400000) - - - - - - - - *ptr(0x0x7f0f29a00000) - - - - ptr(0x7ffe3359ea50) size(0x400000) - - - - - - - - *ptr(0x0x7f0f29400000) - - - - dst(0x7f0f29a00000) src(0x7e67bc0) size(0x400000) kind(1) - - - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x29b6680) src(0x7f0f29400000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - Activity records: - hipMalloc correlation_id(66) time_ns(6485124907739325:6485124908070797) - process_id(6177) thread_id(6177) - hipMalloc correlation_id(67) time_ns(6485124908087987:6485124908215248) - process_id(6177) thread_id(6177) - hcMemcpyHostToDevice correlation_id(68) time_ns(6485124908250409:6485124910289862) - device_id(0) queue_id(0) - bytes(0x400000) (null) correlation_id(68) time_ns(0:0) - external_id(32) - hipMemcpy correlation_id(68) time_ns(6485124908230598:6485124910295932) - process_id(6177) thread_id(6177) - (null) correlation_id(69) time_ns(0:0) - external_id(33) - hipModuleLaunchKernel correlation_id(69) time_ns(6485124910317522:6485124910341342) - process_id(6177) thread_id(6177) - hcCommandKernel correlation_id(69) time_ns(6485124910349167:6485124911550115) - device_id(0) queue_id(0) - hcMemcpyDeviceToHost correlation_id(70) time_ns(6485124911643101:6485124914662701) - device_id(0) queue_id(0) - bytes(0x400000) (null) correlation_id(70) time_ns(0:0) - external_id(32) - hipMemcpy correlation_id(70) time_ns(6485124910346692:6485124914666241) - process_id(6177) thread_id(6177) - (null) correlation_id(71) time_ns(0:0) - external_id(31) - hipFree correlation_id(71) time_ns(6485124921447276:6485124921542137) - process_id(6177) thread_id(6177) - (null) correlation_id(72) time_ns(0:0) - external_id(31) - hipFree correlation_id(72) time_ns(6485124921552307:6485124921569967) - process_id(6177) thread_id(6177) - hcCommandMarker correlation_id(70) time_ns(6485124911556042:6485124911588191) - device_id(0) queue_id(0) - hipSetDevice correlation_id(73) time_ns(6485124938221628:6485124938238109) - process_id(6177) thread_id(6177) - hipGetDeviceProperties correlation_id(74) time_ns(6485124938241949:6485124938244519) - process_id(6177) thread_id(6177) - hipMalloc correlation_id(75) time_ns(6485124942825359:6485124943238372) - process_id(6177) thread_id(6177) - hipMalloc correlation_id(76) time_ns(6485124943249442:6485124943369353) - process_id(6177) thread_id(6177) - hcMemcpyHostToDevice correlation_id(77) time_ns(6485124943394993:6485124945427107) - device_id(0) queue_id(0) - bytes(0x400000) (null) correlation_id(77) time_ns(0:0) - external_id(32) - hipMemcpy correlation_id(77) time_ns(6485124943377543:6485124945432437) - process_id(6177) thread_id(6177) - (null) correlation_id(78) time_ns(0:0) - external_id(33) - hipModuleLaunchKernel correlation_id(78) time_ns(6485124945451667:6485124945474287) - process_id(6177) thread_id(6177) - hcCommandKernel correlation_id(78) time_ns(6485124945481784:6485124946677696) - device_id(0) queue_id(0) - hcMemcpyDeviceToHost correlation_id(79) time_ns(6485124946766615:6485124949731605) - device_id(0) queue_id(0) - bytes(0x400000) (null) correlation_id(79) time_ns(0:0) - external_id(32) - hipMemcpy correlation_id(79) time_ns(6485124945490127:6485124949734065) - process_id(6177) thread_id(6177) - (null) correlation_id(80) time_ns(0:0) - external_id(31) - hipFree correlation_id(80) time_ns(6485124955842556:6485124955935977) - process_id(6177) thread_id(6177) - (null) correlation_id(81) time_ns(0:0) - external_id(31) - hipFree correlation_id(81) time_ns(6485124955943247:6485124955960887) - process_id(6177) thread_id(6177) - hcCommandMarker correlation_id(79) time_ns(6485124946683622:6485124946715623) - device_id(0) queue_id(0) - hipSetDevice correlation_id(82) time_ns(6485124973677535:6485124973694366) - process_id(6177) thread_id(6177) - hipGetDeviceProperties correlation_id(83) time_ns(6485124973698336:6485124973701046) - process_id(6177) thread_id(6177) - hipMalloc correlation_id(84) time_ns(6485124978289996:6485124978585128) - process_id(6177) thread_id(6177) - hipMalloc correlation_id(85) time_ns(6485124978595728:6485124978714839) - process_id(6177) thread_id(6177) - hcMemcpyHostToDevice correlation_id(86) time_ns(6485124978740359:6485124980771332) - device_id(0) queue_id(0) - bytes(0x400000) (null) correlation_id(86) time_ns(0:0) - external_id(32) - hipMemcpy correlation_id(86) time_ns(6485124978722979:6485124980776343) - process_id(6177) thread_id(6177) - (null) correlation_id(87) time_ns(0:0) - external_id(33) - hipModuleLaunchKernel correlation_id(87) time_ns(6485124980795533:6485124980817973) - process_id(6177) thread_id(6177) - hcCommandKernel correlation_id(87) time_ns(6485124980825375:6485124982013730) - device_id(0) queue_id(0) - hcMemcpyDeviceToHost correlation_id(88) time_ns(6485124982098331:6485124985101221) - device_id(0) queue_id(0) - bytes(0x400000) (null) correlation_id(88) time_ns(0:0) - external_id(32) - hipMemcpy correlation_id(88) time_ns(6485124980832783:6485124985104281) - process_id(6177) thread_id(6177) - (null) correlation_id(89) time_ns(0:0) - external_id(31) - hipFree correlation_id(89) time_ns(6485124992410340:6485124992510151) - process_id(6177) thread_id(6177) - (null) correlation_id(90) time_ns(0:0) - external_id(31) - hipFree correlation_id(90) time_ns(6485124992516671:6485124992541111) - process_id(6177) thread_id(6177) - hcCommandMarker correlation_id(88) time_ns(6485124982019508:6485124982051213) - device_id(0) queue_id(0) - hipSetDevice correlation_id(91) time_ns(6485125010590112:6485125010607272) - process_id(6177) thread_id(6177) - hipGetDeviceProperties correlation_id(92) time_ns(6485125010611312:6485125010613982) - process_id(6177) thread_id(6177) - hipMalloc correlation_id(93) time_ns(6485125015170873:6485125015470645) - process_id(6177) thread_id(6177) - hipMalloc correlation_id(94) time_ns(6485125015481525:6485125015599466) - process_id(6177) thread_id(6177) - hcMemcpyHostToDevice correlation_id(95) time_ns(6485125015625666:6485125017667229) - device_id(0) queue_id(0) - bytes(0x400000) (null) correlation_id(95) time_ns(0:0) - external_id(32) - hipMemcpy correlation_id(95) time_ns(6485125015607386:6485125017680670) - process_id(6177) thread_id(6177) - (null) correlation_id(96) time_ns(0:0) - external_id(33) - hipModuleLaunchKernel correlation_id(96) time_ns(6485125017700280:6485125017723030) - process_id(6177) thread_id(6177) - hcCommandKernel correlation_id(96) time_ns(6485125017730809:6485125018909830) - device_id(0) queue_id(0) - hcMemcpyDeviceToHost correlation_id(97) time_ns(6485125018999358:6485125022007218) - device_id(0) queue_id(0) - bytes(0x400000) (null) correlation_id(97) time_ns(0:0) - external_id(32) -PASSED! - - - - ptr(0x7f0f29a00000) - - - - - - - - - - ptr(0x7f0f29400000) - - - - - - -# START (78) ############################# -Device 0 name: Vega 10 XT [Radeon RX Vega 64] -PASSED! -# START (77) ############################# - - - - - - - - -Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - - - ptr(0x7ffe3359ea58) size(0x400000) - - - - - - - - *ptr(0x0x7f0f29a00000) - - - - ptr(0x7ffe3359ea50) size(0x400000) - - - - - - - - *ptr(0x0x7f0f29400000) - - - - dst(0x7f0f29a00000) src(0x7e67bc0) size(0x400000) kind(1) - - - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x29b6680) src(0x7f0f29400000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - -PASSED! - - - - ptr(0x7f0f29a00000) - - - - - - - - - - ptr(0x7f0f29400000) - - - - - - -# START (76) ############################# -Device 0 name: Vega 10 XT [Radeon RX Vega 64] -PASSED! -# START (75) ############################# - - - - - - - - -Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - - - ptr(0x7ffe3359ea58) size(0x400000) - - - - - - - - *ptr(0x0x7f0f29a00000) - - - - ptr(0x7ffe3359ea50) size(0x400000) - - - - - - - - *ptr(0x0x7f0f29400000) - - - - dst(0x7f0f29a00000) src(0x7e67bc0) size(0x400000) kind(1) - - - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x29b6680) src(0x7f0f29400000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - -PASSED! - - - - ptr(0x7f0f29a00000) - - - - - - - - - - ptr(0x7f0f29400000) - - - - - - -# START (74) ############################# -Device 0 name: Vega 10 XT [Radeon RX Vega 64] -PASSED! -# START (73) ############################# - - - - - - - - -Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - - - ptr(0x7ffe3359ea58) size(0x400000) - - - - - - - - *ptr(0x0x7f0f29a00000) - - - - ptr(0x7ffe3359ea50) size(0x400000) - - - - - - - - *ptr(0x0x7f0f29400000) - - - - dst(0x7f0f29a00000) src(0x7e67bc0) size(0x400000) kind(1) - - - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x29b6680) src(0x7f0f29400000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - -PASSED! - - - - ptr(0x7f0f29a00000) - - - - - - - - - - ptr(0x7f0f29400000) - - - - - - -# START (72) ############################# -Device 0 name: Vega 10 XT [Radeon RX Vega 64] -PASSED! -# START (71) ############################# - - - - - - - - -Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - - - ptr(0x7ffe3359ea58) size(0x400000) - - - - - - - - *ptr(0x0x7f0f29a00000) - - - - ptr(0x7ffe3359ea50) size(0x400000) - - - - - - - - *ptr(0x0x7f0f29400000) - - - - dst(0x7f0f29a00000) src(0x7e67bc0) size(0x400000) kind(1) - - - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - Activity records: - hipMemcpy correlation_id(97) time_ns(6485125017738400:6485125022009588) - process_id(6177) thread_id(6177) - - - - - - - - dst(0x29b6680) src(0x7f0f29400000) size(0x400000) kind(2) - - - (null) correlation_id(98) time_ns(0:0) - external_id(31) - hipFree correlation_id(98) time_ns(6485125028209109:6485125028305320) - process_id(6177) thread_id(6177) - (null) correlation_id(99) time_ns(0:0) - external_id(31) - hipFree correlation_id(99) time_ns(6485125028311570:6485125028328850) - process_id(6177) thread_id(6177) - hcCommandMarker correlation_id(97) time_ns(6485125018915757:6485125018947462) - device_id(0) queue_id(0) - hipSetDevice correlation_id(100) time_ns(6485125046374961:6485125046391121) - process_id(6177) thread_id(6177) - hipGetDeviceProperties correlation_id(101) time_ns(6485125046395231:6485125046398241) - process_id(6177) thread_id(6177) - hipMalloc correlation_id(102) time_ns(6485125050978222:6485125051282294) - process_id(6177) thread_id(6177) - hipMalloc correlation_id(103) time_ns(6485125051293184:6485125051410895) - process_id(6177) thread_id(6177) - hcMemcpyHostToDevice correlation_id(104) time_ns(6485125051436275:6485125053476828) - device_id(0) queue_id(0) - bytes(0x400000) (null) correlation_id(104) time_ns(0:0) - external_id(32) - hipMemcpy correlation_id(104) time_ns(6485125051418915:6485125053489569) - process_id(6177) thread_id(6177) - (null) correlation_id(105) time_ns(0:0) - external_id(33) - hipModuleLaunchKernel correlation_id(105) time_ns(6485125053509189:6485125053532709) - process_id(6177) thread_id(6177) - hcCommandKernel correlation_id(105) time_ns(6485125053539668:6485125054732912) - device_id(0) queue_id(0) - hcMemcpyDeviceToHost correlation_id(106) time_ns(6485125054822677:6485125057759917) - device_id(0) queue_id(0) - bytes(0x400000) (null) correlation_id(106) time_ns(0:0) - external_id(32) - hipMemcpy correlation_id(106) time_ns(6485125053545599:6485125057762497) - process_id(6177) thread_id(6177) - (null) correlation_id(107) time_ns(0:0) - external_id(31) - hipFree correlation_id(107) time_ns(6485125065308738:6485125065409608) - process_id(6177) thread_id(6177) - (null) correlation_id(108) time_ns(0:0) - external_id(31) - hipFree correlation_id(108) time_ns(6485125065415058:6485125065438439) - process_id(6177) thread_id(6177) - hcCommandMarker correlation_id(106) time_ns(6485125054738838:6485125054770692) - device_id(0) queue_id(0) - hipSetDevice correlation_id(109) time_ns(6485125083426279:6485125083440799) - process_id(6177) thread_id(6177) - hipGetDeviceProperties correlation_id(110) time_ns(6485125083444919:6485125083447609) - process_id(6177) thread_id(6177) - hipMalloc correlation_id(111) time_ns(6485125087762127:6485125088084679) - process_id(6177) thread_id(6177) - hipMalloc correlation_id(112) time_ns(6485125088095670:6485125088213620) - process_id(6177) thread_id(6177) - hcMemcpyHostToDevice correlation_id(113) time_ns(6485125088239350:6485125090276704) - device_id(0) queue_id(0) - bytes(0x400000) (null) correlation_id(113) time_ns(0:0) - external_id(32) - hipMemcpy correlation_id(113) time_ns(6485125088221700:6485125090282114) - process_id(6177) thread_id(6177) - (null) correlation_id(114) time_ns(0:0) - external_id(33) - hipModuleLaunchKernel correlation_id(114) time_ns(6485125090301814:6485125090325184) - process_id(6177) thread_id(6177) - hcCommandKernel correlation_id(114) time_ns(6485125090332824:6485125091522809) - device_id(0) queue_id(0) - hcMemcpyDeviceToHost correlation_id(115) time_ns(6485125091622083:6485125094668764) - device_id(0) queue_id(0) - bytes(0x400000) (null) correlation_id(115) time_ns(0:0) - external_id(32) - hipMemcpy correlation_id(115) time_ns(6485125090338774:6485125094672314) - process_id(6177) thread_id(6177) - (null) correlation_id(116) time_ns(0:0) - external_id(31) - hipFree correlation_id(116) time_ns(6485125102644837:6485125102737917) - process_id(6177) thread_id(6177) - (null) correlation_id(117) time_ns(0:0) - external_id(31) - hipFree correlation_id(117) time_ns(6485125102759608:6485125102777838) - process_id(6177) thread_id(6177) - hcCommandMarker correlation_id(115) time_ns(6485125091528587:6485125091560588) - - - - - - - device_id(0) queue_id(0) - hipSetDevice correlation_id(118) time_ns(6485125119027096:6485125119043226) - process_id(6177) thread_id(6177) - hipGetDeviceProperties correlation_id(119) time_ns(6485125119046196:6485125119048246) - process_id(6177) thread_id(6177) - hipMalloc correlation_id(120) time_ns(6485125122350629:6485125122667941) - process_id(6177) thread_id(6177) - hipMalloc correlation_id(121) time_ns(6485125122677931:6485125122791482) - process_id(6177) thread_id(6177) - hcMemcpyHostToDevice correlation_id(122) time_ns(6485125122815562:6485125124823835) - device_id(0) queue_id(0) - bytes(0x400000) (null) correlation_id(122) time_ns(0:0) - external_id(32) - hipMemcpy correlation_id(122) time_ns(6485125122799142:6485125124842356) - process_id(6177) thread_id(6177) - (null) correlation_id(123) time_ns(0:0) - external_id(33) - hipModuleLaunchKernel correlation_id(123) time_ns(6485125124861376:6485125124885406) - process_id(6177) thread_id(6177) - hcCommandKernel correlation_id(123) time_ns(6485125124893328:6485125126095610) - device_id(0) queue_id(0) - hcMemcpyDeviceToHost correlation_id(124) time_ns(6485125126180774:6485125129151474) - device_id(0) queue_id(0) - bytes(0x400000) (null) correlation_id(124) time_ns(0:0) - external_id(32) - hipMemcpy correlation_id(124) time_ns(6485125124890936:6485125129154044) - process_id(6177) thread_id(6177) - (null) correlation_id(125) time_ns(0:0) - external_id(31) - hipFree correlation_id(125) time_ns(6485125136595454:6485125136698294) - process_id(6177) thread_id(6177) - (null) correlation_id(126) time_ns(0:0) - external_id(31) - hipFree correlation_id(126) time_ns(6485125136703614:6485125136726514) - process_id(6177) thread_id(6177) - hcCommandMarker correlation_id(124) time_ns(6485125126101685:6485125126133983) - device_id(0) queue_id(0) - hipSetDevice correlation_id(127) time_ns(6485125155017987:6485125155034037) - process_id(6177) thread_id(6177) - hipGetDeviceProperties correlation_id(128) time_ns(6485125155038007:6485125155040637) - process_id(6177) thread_id(6177) - hipMalloc correlation_id(129) time_ns(6485125159613978:6485125159951050) - process_id(6177) thread_id(6177) - hipMalloc correlation_id(130) time_ns(6485125159961770:6485125160095411) - process_id(6177) thread_id(6177) - - - - - - - - - - - - - - -PASSED! - - - - ptr(0x7f0f29a00000) - - - - - - - - - - ptr(0x7f0f29400000) - - - - - - -# START (70) ############################# -Device 0 name: Vega 10 XT [Radeon RX Vega 64] -PASSED! -# START (69) ############################# - - - - - - - - -Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - - - ptr(0x7ffe3359ea58) size(0x400000) - - - - - - - - *ptr(0x0x7f0f29a00000) - - - - ptr(0x7ffe3359ea50) size(0x400000) - - - - - - - - *ptr(0x0x7f0f29400000) - - - - dst(0x7f0f29a00000) src(0x7e67bc0) size(0x400000) kind(1) - - - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x29b6680) src(0x7f0f29400000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - -PASSED! - - - - ptr(0x7f0f29a00000) - - - - - - - - - - ptr(0x7f0f29400000) - - - - - - -# START (68) ############################# -Device 0 name: Vega 10 XT [Radeon RX Vega 64] -PASSED! -# START (67) ############################# - - - - - - - - -Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - - - ptr(0x7ffe3359ea58) size(0x400000) - - - - - - - - *ptr(0x0x7f0f29a00000) - - - - ptr(0x7ffe3359ea50) size(0x400000) - - - - - - - - *ptr(0x0x7f0f29400000) - - - - dst(0x7f0f29a00000) src(0x7e67bc0) size(0x400000) kind(1) - - - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x29b6680) src(0x7f0f29400000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - -PASSED! - - - - ptr(0x7f0f29a00000) - - - - - - - - - - ptr(0x7f0f29400000) - - - - - - -# START (66) ############################# -Device 0 name: Vega 10 XT [Radeon RX Vega 64] -PASSED! -# START (65) ############################# - - - - - - - - -Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - - - ptr(0x7ffe3359ea58) size(0x400000) - - - - - - - - *ptr(0x0x7f0f29a00000) - - - - ptr(0x7ffe3359ea50) size(0x400000) - - - - - - - - *ptr(0x0x7f0f29400000) - - - - dst(0x7f0f29a00000) src(0x7e67bc0) size(0x400000) kind(1) - - - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x29b6680) src(0x7f0f29400000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - -PASSED! - - - - ptr(0x7f0f29a00000) - - - - - - - - - - ptr(0x7f0f29400000) - - - - - - - Activity records: - hcMemcpyHostToDevice correlation_id(131) time_ns(6485125160121931:6485125162152314) - device_id(0) queue_id(0) - bytes(0x400000)# START (64) ############################# - (null) correlation_id(131) time_ns(0:0) - external_id(32) - hipMemcpy correlation_id(131) time_ns(6485125160104451:6485125162171965) - process_id(6177) thread_id(6177) -Device 0 name: Vega 10 XT [Radeon RX Vega 64] - (null) correlation_id(132) time_ns(0:0) - external_id(33) - hipModuleLaunchKernel correlation_id(132) time_ns(6485125162191685:6485125162215525) - process_id(6177) thread_id(6177) - hcCommandKernel correlation_id(132) time_ns(6485125162222454:6485125163414365) - device_id(0) queue_id(0) - hcMemcpyDeviceToHost correlation_id(133) time_ns(6485125163514243:6485125166500743) - device_id(0) queue_id(0) - bytes(0x400000) (null) correlation_id(133) time_ns(0:0) - external_id(32) - hipMemcpy correlation_id(133) time_ns(6485125162221245:6485125166504743) - process_id(6177) thread_id(6177) - (null) correlation_id(134) time_ns(0:0) - external_id(31) - hipFree correlation_id(134) time_ns(6485125173335879:6485125173428280) - process_id(6177) thread_id(6177) - (null) correlation_id(135) time_ns(0:0) - external_id(31) - hipFree correlation_id(135) time_ns(6485125173432150:6485125173450010) - process_id(6177) thread_id(6177) - hcCommandMarker correlation_id(133) time_ns(6485125163420291:6485125163451700) - device_id(0) queue_id(0) - hipSetDevice correlation_id(136) time_ns(6485125190147252:6485125190163572) - process_id(6177) thread_id(6177) - hipGetDeviceProperties correlation_id(137) time_ns(6485125190167512:6485125190170072) - process_id(6177) thread_id(6177) - hipMalloc correlation_id(138) time_ns(6485125193830126:6485125194234739) - process_id(6177) thread_id(6177) - hipMalloc correlation_id(139) time_ns(6485125194245409:6485125194363390) - process_id(6177) thread_id(6177) - hcMemcpyHostToDevice correlation_id(140) time_ns(6485125194389240:6485125196422983) - device_id(0) queue_id(0) - bytes(0x400000) (null) correlation_id(140) time_ns(0:0) - external_id(32) - hipMemcpy correlation_id(140) time_ns(6485125194371510:6485125196427913) - process_id(6177) thread_id(6177) - (null) correlation_id(141) time_ns(0:0) - external_id(33) - hipModuleLaunchKernel correlation_id(141) time_ns(6485125196447853:6485125196472064) - process_id(6177) thread_id(6177) - hcCommandKernel correlation_id(141) time_ns(6485125196479844:6485125197667607) - device_id(0) queue_id(0) - hcMemcpyDeviceToHost correlation_id(142) time_ns(6485125197762752:6485125200793523) - device_id(0) queue_id(0) - bytes(0x400000) (null) correlation_id(142) time_ns(0:0) - external_id(32) - hipMemcpy correlation_id(142) time_ns(6485125196477904:6485125200796833) - process_id(6177) thread_id(6177) - (null) correlation_id(143) time_ns(0:0) - external_id(31) - hipFree correlation_id(143) time_ns(6485125209397650:6485125209489691) - process_id(6177) thread_id(6177) - (null) correlation_id(144) time_ns(0:0) - external_id(31) - hipFree correlation_id(144) time_ns(6485125209499901:6485125209518311) - process_id(6177) thread_id(6177) - hcCommandMarker correlation_id(142) time_ns(6485125197673385:6485125197705386) - device_id(0) queue_id(0) - hipSetDevice correlation_id(145) time_ns(6485125228529568:6485125228545878) - process_id(6177) thread_id(6177) - hipGetDeviceProperties correlation_id(146) time_ns(6485125228549808:6485125228552388) - process_id(6177) thread_id(6177) - hipMalloc correlation_id(147) time_ns(6485125231902361:6485125232252733) - process_id(6177) thread_id(6177) - hipMalloc correlation_id(148) time_ns(6485125232263173:6485125232374814) - process_id(6177) thread_id(6177) - hcMemcpyHostToDevice correlation_id(149) time_ns(6485125232399384:6485125234407477) - device_id(0) queue_id(0) - bytes(0x400000) (null) correlation_id(149) time_ns(0:0) - external_id(32) - hipMemcpy correlation_id(149) time_ns(6485125232382954:6485125234420217) - process_id(6177) thread_id(6177) - (null) correlation_id(150) time_ns(0:0) - external_id(33) - hipModuleLaunchKernel correlation_id(150) time_ns(6485125234439198:6485125234461798) - process_id(6177) thread_id(6177) - hcCommandKernel correlation_id(150) time_ns(6485125234469226:6485125235662767) - device_id(0) queue_id(0) - hcMemcpyDeviceToHost correlation_id(151) time_ns(6485125235754916:6485125238735816) - device_id(0) queue_id(0) - bytes(0x400000) (null) correlation_id(151) time_ns(0:0) - external_id(32) - hipMemcpy correlation_id(151) time_ns(6485125234467228:6485125238738056) - process_id(6177) thread_id(6177) - (null) correlation_id(152) time_ns(0:0) - external_id(31) - hipFree correlation_id(152) time_ns(6485125246668569:6485125246771040) - process_id(6177) thread_id(6177) - (null) correlation_id(153) time_ns(0:0) - external_id(31) - hipFree correlation_id(153) time_ns(6485125246776470:6485125246799390) - process_id(6177) thread_id(6177) - hcCommandMarker correlation_id(151) time_ns(6485125235668693:6485125235701139) - device_id(0) queue_id(0) - hipSetDevice correlation_id(154) time_ns(6485125264743910:6485125264759320) - process_id(6177) thread_id(6177) - hipGetDeviceProperties correlation_id(155) time_ns(6485125264763290:6485125264766030) - process_id(6177) thread_id(6177) - hipMalloc correlation_id(156) time_ns(6485125269284030:6485125269590502) - process_id(6177) thread_id(6177) - hipMalloc correlation_id(157) time_ns(6485125269601012:6485125269719363) - process_id(6177) thread_id(6177) - hcMemcpyHostToDevice correlation_id(158) time_ns(6485125269744393:6485125271764117) - device_id(0) queue_id(0) - bytes(0x400000) (null) correlation_id(158) time_ns(0:0) - external_id(32) - hipMemcpy correlation_id(158) time_ns(6485125269727513:6485125271777117) - process_id(6177) thread_id(6177) - (null) correlation_id(159) time_ns(0:0) - external_id(33) - hipModuleLaunchKernel correlation_id(159) time_ns(6485125271795907:6485125271819487) - process_id(6177) thread_id(6177) - hcCommandKernel correlation_id(159) time_ns(6485125271826659:6485125273019904) - device_id(0) queue_id(0) - hcMemcpyDeviceToHost correlation_id(160) time_ns(6485125273108596:6485125276121956) - device_id(0) queue_id(0) - bytes(0x400000) (null) correlation_id(160) time_ns(0:0) - external_id(32) - hipMemcpy correlation_id(160) time_ns(6485125271833437:6485125276124536) - process_id(6177) thread_id(6177) - (null) correlation_id(161) time_ns(0:0) - external_id(31) -PASSED! -# START (63) ############################# - - - - - - - - -Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - - - ptr(0x7ffe3359ea58) size(0x400000) - - - - - - - - *ptr(0x0x7f0f29a00000) - - - - ptr(0x7ffe3359ea50) size(0x400000) - - - - - - - - *ptr(0x0x7f0f29400000) - - - - dst(0x7f0f29a00000) src(0x7e67bc0) size(0x400000) kind(1) - - - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x29b6680) src(0x7f0f29400000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - -PASSED! - - - - ptr(0x7f0f29a00000) - - - - - - - - - - ptr(0x7f0f29400000) - - - - - - -# START (62) ############################# -Device 0 name: Vega 10 XT [Radeon RX Vega 64] -PASSED! -# START (61) ############################# - - - - - - - - -Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - - - ptr(0x7ffe3359ea58) size(0x400000) - - - - - - - - *ptr(0x0x7f0f29a00000) - - - - ptr(0x7ffe3359ea50) size(0x400000) - - - - - - - - *ptr(0x0x7f0f29400000) - - - - dst(0x7f0f29a00000) src(0x7e67bc0) size(0x400000) kind(1) - - - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x29b6680) src(0x7f0f29400000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - -PASSED! - - - - ptr(0x7f0f29a00000) - - - - - - - - - - ptr(0x7f0f29400000) - - - - - - -# START (60) ############################# -Device 0 name: Vega 10 XT [Radeon RX Vega 64] -PASSED! -# START (59) ############################# - - - - - - - - -Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - - - ptr(0x7ffe3359ea58) size(0x400000) - - - - - - - - *ptr(0x0x7f0f29a00000) - - - - ptr(0x7ffe3359ea50) size(0x400000) - - - - - - - - *ptr(0x0x7f0f29400000) - - - - dst(0x7f0f29a00000) src(0x7e67bc0) size(0x400000) kind(1) - - - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x29b6680) src(0x7f0f29400000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - -PASSED! - - - - ptr(0x7f0f29a00000) - - - - - - - - - - ptr(0x7f0f29400000) - - - - - - -# START (58) ############################# -Device 0 name: Vega 10 XT [Radeon RX Vega 64] -PASSED! -# START (57) ############################# - - - - - - - - -Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - - - ptr(0x7ffe3359ea58) size(0x400000) - - - - - - - - *ptr(0x0x7f0f29a00000) - - - - ptr(0x7ffe3359ea50) size(0x400000) - - - - - - - - *ptr(0x0x7f0f29400000) - - - - dst(0x7f0f29a00000) src(0x7e67bc0) size(0x400000) kind(1) - - - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - Activity records: - hipFree correlation_id(161) time_ns(6485125283050922:6485125283151943) - process_id(6177) thread_id(6177) - - - - - - - - dst(0x29b6680) src(0x7f0f29400000) size(0x400000) kind(2) - - - (null) correlation_id(162) time_ns(0:0) - external_id(31) - hipFree correlation_id(162) time_ns(6485125283163723:6485125283186473) - process_id(6177) thread_id(6177) - hcCommandMarker correlation_id(160) time_ns(6485125273025682:6485125273057535) - device_id(0) queue_id(0) - hipSetDevice correlation_id(163) time_ns(6485125300857361:6485125300874031) - process_id(6177) thread_id(6177) - hipGetDeviceProperties correlation_id(164) time_ns(6485125300877201:6485125300879211) - process_id(6177) thread_id(6177) - hipMalloc correlation_id(165) time_ns(6485125305392331:6485125305700483) - process_id(6177) thread_id(6177) - hipMalloc correlation_id(166) time_ns(6485125305711804:6485125305830694) - process_id(6177) thread_id(6177) - hcMemcpyHostToDevice correlation_id(167) time_ns(6485125305856655:6485125307889258) - device_id(0) queue_id(0) - bytes(0x400000) (null) correlation_id(167) time_ns(0:0) - external_id(32) - hipMemcpy correlation_id(167) time_ns(6485125305839254:6485125307894638) - process_id(6177) thread_id(6177) - (null) correlation_id(168) time_ns(0:0) - external_id(33) - hipModuleLaunchKernel correlation_id(168) time_ns(6485125307914299:6485125307938509) - process_id(6177) thread_id(6177) - hcCommandKernel correlation_id(168) time_ns(6485125307946204:6485125309151597) - device_id(0) queue_id(0) - hcMemcpyDeviceToHost correlation_id(169) time_ns(6485125309245767:6485125312309768) - device_id(0) queue_id(0) - bytes(0x400000) (null) correlation_id(169) time_ns(0:0) - external_id(32) - hipMemcpy correlation_id(169) time_ns(6485125307944369:6485125312313368) - process_id(6177) thread_id(6177) - (null) correlation_id(170) time_ns(0:0) - external_id(31) - hipFree correlation_id(170) time_ns(6485125321031056:6485125321127676) - process_id(6177) thread_id(6177) - (null) correlation_id(171) time_ns(0:0) - external_id(31) - hipFree correlation_id(171) time_ns(6485125321135007:6485125321152917) - process_id(6177) thread_id(6177) - hcCommandMarker correlation_id(169) time_ns(6485125309157375:6485125309189229) - device_id(0) queue_id(0) - hipSetDevice correlation_id(172) time_ns(6485125340134894:6485125340150784) - process_id(6177) thread_id(6177) - hipGetDeviceProperties correlation_id(173) time_ns(6485125340154814:6485125340157614) - process_id(6177) thread_id(6177) - hipMalloc correlation_id(174) time_ns(6485125343605967:6485125343982349) - process_id(6177) thread_id(6177) - hipMalloc correlation_id(175) time_ns(6485125343992549:6485125344126250) - process_id(6177) thread_id(6177) - hcMemcpyHostToDevice correlation_id(176) time_ns(6485125344155050:6485125346159074) - device_id(0) queue_id(0) - bytes(0x400000) (null) correlation_id(176) time_ns(0:0) - external_id(32) - hipMemcpy correlation_id(176) time_ns(6485125344138090:6485125346178864) - process_id(6177) thread_id(6177) - (null) correlation_id(177) time_ns(0:0) - external_id(33) - hipModuleLaunchKernel correlation_id(177) time_ns(6485125346197074:6485125346219574) - process_id(6177) thread_id(6177) - hcCommandKernel correlation_id(177) time_ns(6485125346227140:6485125347426014) - device_id(0) queue_id(0) - hcMemcpyDeviceToHost correlation_id(178) time_ns(6485125347517973:6485125350476022) - device_id(0) queue_id(0) - bytes(0x400000) (null) correlation_id(178) time_ns(0:0) - external_id(32) - hipMemcpy correlation_id(178) time_ns(6485125346237594:6485125350478522) - process_id(6177) thread_id(6177) - (null) correlation_id(179) time_ns(0:0) - external_id(31) - hipFree correlation_id(179) time_ns(6485125358298355:6485125358402046) - process_id(6177) thread_id(6177) - (null) correlation_id(180) time_ns(0:0) - - - - - - - external_id(31) - hipFree correlation_id(180) time_ns(6485125358407906:6485125358431986) - process_id(6177) thread_id(6177) - hcCommandMarker correlation_id(178) time_ns(6485125347432088:6485125347464090) - device_id(0) queue_id(0) - hipSetDevice correlation_id(181) time_ns(6485125376446966:6485125376461306) - process_id(6177) thread_id(6177) - hipGetDeviceProperties correlation_id(182) time_ns(6485125376465306:6485125376467846) - process_id(6177) thread_id(6177) - hipMalloc correlation_id(183) time_ns(6485125380996816:6485125381301808) - process_id(6177) thread_id(6177) - hipMalloc correlation_id(184) time_ns(6485125381313018:6485125381430899) - process_id(6177) thread_id(6177) - hcMemcpyHostToDevice correlation_id(185) time_ns(6485125381457459:6485125383493573) - device_id(0) queue_id(0) - bytes(0x400000) (null) correlation_id(185) time_ns(0:0) - external_id(32) - hipMemcpy correlation_id(185) time_ns(6485125381439279:6485125383498673) - process_id(6177) thread_id(6177) - (null) correlation_id(186) time_ns(0:0) - external_id(33) - hipModuleLaunchKernel correlation_id(186) time_ns(6485125383516823:6485125383538843) - process_id(6177) thread_id(6177) - hcCommandKernel correlation_id(186) time_ns(6485125383546561:6485125384739509) - device_id(0) queue_id(0) - hcMemcpyDeviceToHost correlation_id(187) time_ns(6485125384817902:6485125387818542) - device_id(0) queue_id(0) - bytes(0x400000) (null) correlation_id(187) time_ns(0:0) - external_id(32) - hipMemcpy correlation_id(187) time_ns(6485125383553953:6485125387820962) - process_id(6177) thread_id(6177) - (null) correlation_id(188) time_ns(0:0) - external_id(31) - hipFree correlation_id(188) time_ns(6485125394405436:6485125394502887) - process_id(6177) thread_id(6177) - (null) correlation_id(189) time_ns(0:0) - external_id(31) - hipFree correlation_id(189) time_ns(6485125394508487:6485125394530467) - process_id(6177) thread_id(6177) - hcCommandMarker correlation_id(187) time_ns(6485125384745287:6485125384777141) - device_id(0) queue_id(0) - hipSetDevice correlation_id(190) time_ns(6485125411150078:6485125411165148) - process_id(6177) thread_id(6177) - hipGetDeviceProperties correlation_id(191) time_ns(6485125411168268:6485125411170248) - process_id(6177) thread_id(6177) - hipMalloc correlation_id(192) time_ns(6485125414451260:6485125414763022) - process_id(6177) thread_id(6177) - hipMalloc correlation_id(193) time_ns(6485125414773232:6485125414896163) - process_id(6177) thread_id(6177) - hcMemcpyHostToDevice correlation_id(194) time_ns(6485125414921843:6485125416931547) - device_id(0) queue_id(0) - bytes(0x400000) (null) correlation_id(194) time_ns(0:0) - external_id(32) - - - - - - - - - - - - - - -PASSED! - - - - ptr(0x7f0f29a00000) - - - - - - - - - - ptr(0x7f0f29400000) - - - - - - -# START (56) ############################# -Device 0 name: Vega 10 XT [Radeon RX Vega 64] -PASSED! -# START (55) ############################# - - - - - - - - -Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - - - ptr(0x7ffe3359ea58) size(0x400000) - - - - - - - - *ptr(0x0x7f0f29a00000) - - - - ptr(0x7ffe3359ea50) size(0x400000) - - - - - - - - *ptr(0x0x7f0f29400000) - - - - dst(0x7f0f29a00000) src(0x7e67bc0) size(0x400000) kind(1) - - - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x29b6680) src(0x7f0f29400000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - -PASSED! - - - - ptr(0x7f0f29a00000) - - - - - - - - - - ptr(0x7f0f29400000) - - - - - - -# START (54) ############################# -Device 0 name: Vega 10 XT [Radeon RX Vega 64] -PASSED! -# START (53) ############################# - - - - - - - - -Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - - - ptr(0x7ffe3359ea58) size(0x400000) - - - - - - - - *ptr(0x0x7f0f29a00000) - - - - ptr(0x7ffe3359ea50) size(0x400000) - - - - - - - - *ptr(0x0x7f0f29400000) - - - - dst(0x7f0f29a00000) src(0x7e67bc0) size(0x400000) kind(1) - - - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x29b6680) src(0x7f0f29400000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - -PASSED! - - - - ptr(0x7f0f29a00000) - - - - - - - - - - ptr(0x7f0f29400000) - - - - - - -# START (52) ############################# -Device 0 name: Vega 10 XT [Radeon RX Vega 64] -PASSED! -# START (51) ############################# - - - - - - - - -Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - - - ptr(0x7ffe3359ea58) size(0x400000) - - - - - - - - *ptr(0x0x7f0f29a00000) - - - - ptr(0x7ffe3359ea50) size(0x400000) - - - - - - - - *ptr(0x0x7f0f29400000) - - - - dst(0x7f0f29a00000) src(0x7e67bc0) size(0x400000) kind(1) - - - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x29b6680) src(0x7f0f29400000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - -PASSED! - - - - ptr(0x7f0f29a00000) - - - - - - - - - - ptr(0x7f0f29400000) - - - - - - -# START (50) ############################# - Activity records: - hipMemcpy correlation_id(194) time_ns(6485125414904133:6485125416944507) - process_id(6177) thread_id(6177) -Device 0 name: Vega 10 XT [Radeon RX Vega 64] - (null) correlation_id(195) time_ns(0:0) - external_id(33) - hipModuleLaunchKernel correlation_id(195) time_ns(6485125416968937:6485125417006657) - process_id(6177) thread_id(6177) - hcCommandKernel correlation_id(195) time_ns(6485125416999005:6485125418200102) - device_id(0) queue_id(0) - hcMemcpyDeviceToHost correlation_id(196) time_ns(6485125418285636:6485125421241395) - device_id(0) queue_id(0) - bytes(0x400000) (null) correlation_id(196) time_ns(0:0) - external_id(32) - hipMemcpy correlation_id(196) time_ns(6485125417018547:6485125421244355) - process_id(6177) thread_id(6177) - (null) correlation_id(197) time_ns(0:0) - external_id(31) - hipFree correlation_id(197) time_ns(6485125428530684:6485125428631355) - process_id(6177) thread_id(6177) - (null) correlation_id(198) time_ns(0:0) - external_id(31) - hipFree correlation_id(198) time_ns(6485125428636905:6485125428658715) - process_id(6177) thread_id(6177) - hcCommandMarker correlation_id(196) time_ns(6485125418205880:6485125418238030) - device_id(0) queue_id(0) - hipSetDevice correlation_id(199) time_ns(6485125447658692:6485125447676062) - process_id(6177) thread_id(6177) - hipGetDeviceProperties correlation_id(200) time_ns(6485125447680002:6485125447682562) - process_id(6177) thread_id(6177) - hipMalloc correlation_id(201) time_ns(6485125452200222:6485125452539605) - process_id(6177) thread_id(6177) - hipMalloc correlation_id(202) time_ns(6485125452558565:6485125452723966) - process_id(6177) thread_id(6177) - hcMemcpyHostToDevice correlation_id(203) time_ns(6485125452758366:6485125454795309) - device_id(0) queue_id(0) - bytes(0x400000) (null) correlation_id(203) time_ns(0:0) - external_id(32) - hipMemcpy correlation_id(203) time_ns(6485125452739096:6485125454800289) - process_id(6177) thread_id(6177) - (null) correlation_id(204) time_ns(0:0) - external_id(33) - hipModuleLaunchKernel correlation_id(204) time_ns(6485125454820290:6485125454844770) - process_id(6177) thread_id(6177) - hcCommandKernel correlation_id(204) time_ns(6485125454852105:6485125456039275) - device_id(0) queue_id(0) - hcMemcpyDeviceToHost correlation_id(205) time_ns(6485125456121018:6485125459134538) - device_id(0) queue_id(0) - bytes(0x400000) (null) correlation_id(205) time_ns(0:0) - external_id(32) - hipMemcpy correlation_id(205) time_ns(6485125454855940:6485125459137698) - process_id(6177) thread_id(6177) - (null) correlation_id(206) time_ns(0:0) - external_id(31) - hipFree correlation_id(206) time_ns(6485125467849267:6485125467952367) - process_id(6177) thread_id(6177) - (null) correlation_id(207) time_ns(0:0) - external_id(31) - hipFree correlation_id(207) time_ns(6485125467957598:6485125467980518) - process_id(6177) thread_id(6177) - hcCommandMarker correlation_id(205) time_ns(6485125456045053:6485125456076314) - device_id(0) queue_id(0) - hipSetDevice correlation_id(208) time_ns(6485125486195109:6485125486212519) - process_id(6177) thread_id(6177) - hipGetDeviceProperties correlation_id(209) time_ns(6485125486216729:6485125486219399) - process_id(6177) thread_id(6177) - hipMalloc correlation_id(210) time_ns(6485125490737810:6485125491063452) - process_id(6177) thread_id(6177) - hipMalloc correlation_id(211) time_ns(6485125491073842:6485125491193323) - process_id(6177) thread_id(6177) - hcMemcpyHostToDevice correlation_id(212) time_ns(6485125491218833:6485125493253937) - device_id(0) queue_id(0) - bytes(0x400000) (null) correlation_id(212) time_ns(0:0) - external_id(32) - hipMemcpy correlation_id(212) time_ns(6485125491201443:6485125493258947) - process_id(6177) thread_id(6177) - (null) correlation_id(213) time_ns(0:0) - external_id(33) - hipModuleLaunchKernel correlation_id(213) time_ns(6485125493278627:6485125493301717) - process_id(6177) thread_id(6177) - hcCommandKernel correlation_id(213) time_ns(6485125493309268:6485125494499105) - device_id(0) queue_id(0) - hcMemcpyDeviceToHost correlation_id(214) time_ns(6485125494583846:6485125497572065) - device_id(0) queue_id(0) - bytes(0x400000) (null) correlation_id(214) time_ns(0:0) - external_id(32) - hipMemcpy correlation_id(214) time_ns(6485125493320957:6485125497574255) - process_id(6177) thread_id(6177) - (null) correlation_id(215) time_ns(0:0) - external_id(31) - hipFree correlation_id(215) time_ns(6485125505050285:6485125505149286) - process_id(6177) thread_id(6177) - (null) correlation_id(216) time_ns(0:0) - external_id(31) - hipFree correlation_id(216) time_ns(6485125505167736:6485125505190006) - process_id(6177) thread_id(6177) - hcCommandMarker correlation_id(214) time_ns(6485125494504883:6485125494537033) - device_id(0) queue_id(0) - hipSetDevice correlation_id(217) time_ns(6485125523603839:6485125523621140) - process_id(6177) thread_id(6177) - hipGetDeviceProperties correlation_id(218) time_ns(6485125523625050:6485125523627540) - process_id(6177) thread_id(6177) - hipMalloc correlation_id(219) time_ns(6485125528127730:6485125528433482) - process_id(6177) thread_id(6177) - hipMalloc correlation_id(220) time_ns(6485125528444302:6485125528562802) - process_id(6177) thread_id(6177) - hcMemcpyHostToDevice correlation_id(221) time_ns(6485125528589153:6485125530624636) - device_id(0) queue_id(0) - bytes(0x400000) (null) correlation_id(221) time_ns(0:0) - external_id(32) - hipMemcpy correlation_id(221) time_ns(6485125528571012:6485125530630086) - process_id(6177) thread_id(6177) - (null) correlation_id(222) time_ns(0:0) - external_id(33) - hipModuleLaunchKernel correlation_id(222) time_ns(6485125530649636:6485125530672646) - process_id(6177) thread_id(6177) - hcCommandKernel correlation_id(222) time_ns(6485125530680387:6485125531872149) - device_id(0) queue_id(0) - hcMemcpyDeviceToHost correlation_id(223) time_ns(6485125531962655:6485125534929915) - device_id(0) queue_id(0) - bytes(0x400000) (null) correlation_id(223) time_ns(0:0) - external_id(32) - hipMemcpy correlation_id(223) time_ns(6485125530691597:6485125534932405) - process_id(6177) thread_id(6177) - (null) correlation_id(224) time_ns(0:0) - external_id(31) - hipFree correlation_id(224) time_ns(6485125541181237:6485125541283648) - process_id(6177) thread_id(6177) - (null) correlation_id(225) time_ns(0:0) - external_id(31) -PASSED! -# START (49) ############################# - - - - - - - - -Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - - - ptr(0x7ffe3359ea58) size(0x400000) - - - - - - - - *ptr(0x0x7f0f29a00000) - - - - ptr(0x7ffe3359ea50) size(0x400000) - - - - - - - - *ptr(0x0x7f0f29400000) - - - - dst(0x7f0f29a00000) src(0x7e67bc0) size(0x400000) kind(1) - - - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x29b6680) src(0x7f0f29400000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - -PASSED! - - - - ptr(0x7f0f29a00000) - - - - - - - - - - ptr(0x7f0f29400000) - - - - - - -# START (48) ############################# -Device 0 name: Vega 10 XT [Radeon RX Vega 64] -PASSED! -# START (47) ############################# - - - - - - - - -Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - - - ptr(0x7ffe3359ea58) size(0x400000) - - - - - - - - *ptr(0x0x7f0f29a00000) - - - - ptr(0x7ffe3359ea50) size(0x400000) - - - - - - - - *ptr(0x0x7f0f29400000) - - - - dst(0x7f0f29a00000) src(0x7e67bc0) size(0x400000) kind(1) - - - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x29b6680) src(0x7f0f29400000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - -PASSED! - - - - ptr(0x7f0f29a00000) - - - - - - - - - - ptr(0x7f0f29400000) - - - - - - -# START (46) ############################# -Device 0 name: Vega 10 XT [Radeon RX Vega 64] -PASSED! -# START (45) ############################# - - - - - - - - -Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - - - ptr(0x7ffe3359ea58) size(0x400000) - - - - - - - - *ptr(0x0x7f0f29a00000) - - - - ptr(0x7ffe3359ea50) size(0x400000) - - - - - - - - *ptr(0x0x7f0f29400000) - - - - dst(0x7f0f29a00000) src(0x7e67bc0) size(0x400000) kind(1) - - - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x29b6680) src(0x7f0f29400000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - -PASSED! - - - - ptr(0x7f0f29a00000) - - - - - - - - - - ptr(0x7f0f29400000) - - - - - - -# START (44) ############################# -Device 0 name: Vega 10 XT [Radeon RX Vega 64] -PASSED! -# START (43) ############################# - - - - - - - - -Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - - - ptr(0x7ffe3359ea58) size(0x400000) - - - - - - - - *ptr(0x0x7f0f29a00000) - - - - ptr(0x7ffe3359ea50) size(0x400000) - - - - - - - - *ptr(0x0x7f0f29400000) - - - - dst(0x7f0f29a00000) src(0x7e67bc0) size(0x400000) kind(1) - - - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x29b6680) src(0x7f0f29400000) size(0x400000) kind(2) - - - Activity records: - hipFree correlation_id(225) time_ns(6485125541288608:6485125541311758) - process_id(6177) thread_id(6177) - hcCommandMarker correlation_id(223) time_ns(6485125531877928:6485125531909633) - device_id(0) queue_id(0) - hipSetDevice correlation_id(226) time_ns(6485125561435592:6485125561453002) - process_id(6177) thread_id(6177) - hipGetDeviceProperties correlation_id(227) time_ns(6485125561456292:6485125561458642) - process_id(6177) thread_id(6177) - hipMalloc correlation_id(228) time_ns(6485125564483582:6485125564787984) - process_id(6177) thread_id(6177) - hipMalloc correlation_id(229) time_ns(6485125564798724:6485125564911415) - process_id(6177) thread_id(6177) - hcMemcpyHostToDevice correlation_id(230) time_ns(6485125564936305:6485125566954879) - device_id(0) queue_id(0) - bytes(0x400000) (null) correlation_id(230) time_ns(0:0) - external_id(32) - hipMemcpy correlation_id(230) time_ns(6485125564919095:6485125566960089) - process_id(6177) thread_id(6177) - (null) correlation_id(231) time_ns(0:0) - external_id(33) - hipModuleLaunchKernel correlation_id(231) time_ns(6485125566979039:6485125567002779) - process_id(6177) thread_id(6177) - hcCommandKernel correlation_id(231) time_ns(6485125567010437:6485125568211533) - device_id(0) queue_id(0) - hcMemcpyDeviceToHost correlation_id(232) time_ns(6485125568286318:6485125571332928) - device_id(0) queue_id(0) - bytes(0x400000) (null) correlation_id(232) time_ns(0:0) - external_id(32) - hipMemcpy correlation_id(232) time_ns(6485125567027390:6485125571336208) - process_id(6177) thread_id(6177) - (null) correlation_id(233) time_ns(0:0) - external_id(31) - hipFree correlation_id(233) time_ns(6485125580078336:6485125580178137) - process_id(6177) thread_id(6177) - (null) correlation_id(234) time_ns(0:0) - external_id(31) - hipFree correlation_id(234) time_ns(6485125580185267:6485125580209227) - process_id(6177) thread_id(6177) - hcCommandMarker correlation_id(232) time_ns(6485125568217459:6485125568249165) - device_id(0) queue_id(0) - hipSetDevice correlation_id(235) time_ns(6485125598212218:6485125598227898) - process_id(6177) thread_id(6177) - hipGetDeviceProperties correlation_id(236) time_ns(6485125598232088:6485125598234668) - process_id(6177) thread_id(6177) - hipMalloc correlation_id(237) time_ns(6485125602247865:6485125602552447) - process_id(6177) thread_id(6177) - hipMalloc correlation_id(238) time_ns(6485125602562577:6485125602675278) - process_id(6177) thread_id(6177) - hcMemcpyHostToDevice correlation_id(239) time_ns(6485125602700648:6485125604718891) - device_id(0) queue_id(0) - bytes(0x400000) (null) correlation_id(239) time_ns(0:0) - external_id(32) - hipMemcpy correlation_id(239) time_ns(6485125602683278:6485125604724261) - process_id(6177) thread_id(6177) - (null) correlation_id(240) time_ns(0:0) - external_id(33) - hipModuleLaunchKernel correlation_id(240) time_ns(6485125604744071:6485125604766502) - process_id(6177) thread_id(6177) - hcCommandKernel correlation_id(240) time_ns(6485125604774146:6485125605969761) - device_id(0) queue_id(0) - hcMemcpyDeviceToHost correlation_id(241) time_ns(6485125606053910:6485125609052940) - device_id(0) queue_id(0) - bytes(0x400000) (null) correlation_id(241) time_ns(0:0) - external_id(32) - - - hipMemcpy correlation_id(241) time_ns(6485125604781072:6485125609055260) - process_id(6177) thread_id(6177) - - - - - (null) correlation_id(242) time_ns(0:0) - external_id(31) - hipFree correlation_id(242) time_ns(6485125616339709:6485125616435740) - process_id(6177) thread_id(6177) - (null) correlation_id(243) time_ns(0:0) - external_id(31) - hipFree correlation_id(243) time_ns(6485125616441130:6485125616465770) - process_id(6177) thread_id(6177) - hcCommandMarker correlation_id(241) time_ns(6485125605975688:6485125606007689) - device_id(0) queue_id(0) - hipSetDevice correlation_id(244) time_ns(6485125634516150:6485125634530140) - process_id(6177) thread_id(6177) - hipGetDeviceProperties correlation_id(245) time_ns(6485125634533950:6485125634536561) - process_id(6177) thread_id(6177) - hipMalloc correlation_id(246) time_ns(6485125638177085:6485125638473957) - process_id(6177) thread_id(6177) - hipMalloc correlation_id(247) time_ns(6485125638485107:6485125638600427) - process_id(6177) thread_id(6177) - hcMemcpyHostToDevice correlation_id(248) time_ns(6485125638626878:6485125640661231) - device_id(0) queue_id(0) - bytes(0x400000) (null) correlation_id(248) time_ns(0:0) - external_id(32) - hipMemcpy correlation_id(248) time_ns(6485125638608398:6485125640666501) - process_id(6177) thread_id(6177) - (null) correlation_id(249) time_ns(0:0) - external_id(33) - hipModuleLaunchKernel correlation_id(249) time_ns(6485125640687701:6485125640711821) - process_id(6177) thread_id(6177) - hcCommandKernel correlation_id(249) time_ns(6485125640719380:6485125641923292) - device_id(0) queue_id(0) - hcMemcpyDeviceToHost correlation_id(250) time_ns(6485125642012910:6485125644978340) - device_id(0) queue_id(0) - bytes(0x400000) (null) correlation_id(250) time_ns(0:0) - external_id(32) - hipMemcpy correlation_id(250) time_ns(6485125640718561:6485125644981060) - process_id(6177) thread_id(6177) - (null) correlation_id(251) time_ns(0:0) - external_id(31) - hipFree correlation_id(251) time_ns(6485125651149091:6485125651240892) - process_id(6177) thread_id(6177) - (null) correlation_id(252) time_ns(0:0) - external_id(31) - hipFree correlation_id(252) time_ns(6485125651244832:6485125651263552) - process_id(6177) thread_id(6177) - hcCommandMarker correlation_id(250) time_ns(6485125641929070:6485125641961368) - device_id(0) queue_id(0) - hipSetDevice correlation_id(253) time_ns(6485125668738229:6485125668754979) - process_id(6177) thread_id(6177) - hipGetDeviceProperties correlation_id(254) time_ns(6485125668758859:6485125668761769) - process_id(6177) thread_id(6177) - hipMalloc correlation_id(255) time_ns(6485125673339520:6485125673642822) - process_id(6177) thread_id(6177) - hipMalloc correlation_id(256) time_ns(6485125673653362:6485125673772393) - process_id(6177) thread_id(6177) - hcMemcpyHostToDevice correlation_id(257) time_ns(6485125673798583:6485125675830197) - device_id(0) queue_id(0) - bytes(0x400000) (null) correlation_id(257) time_ns(0:0) - external_id(32) - hipMemcpy correlation_id(257) time_ns(6485125673780473:6485125675835347) - process_id(6177) thread_id(6177) - (null) correlation_id(258) time_ns(0:0) - external_id(33) - - - - - - - - - - - - - - -PASSED! - - - - ptr(0x7f0f29a00000) - - - - - - - - - - ptr(0x7f0f29400000) - - - - - - -# START (42) ############################# -Device 0 name: Vega 10 XT [Radeon RX Vega 64] -PASSED! -# START (41) ############################# - - - - - - - - -Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - - - ptr(0x7ffe3359ea58) size(0x400000) - - - - - - - - *ptr(0x0x7f0f29a00000) - - - - ptr(0x7ffe3359ea50) size(0x400000) - - - - - - - - *ptr(0x0x7f0f29400000) - - - - dst(0x7f0f29a00000) src(0x7e67bc0) size(0x400000) kind(1) - - - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x29b6680) src(0x7f0f29400000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - -PASSED! - - - - ptr(0x7f0f29a00000) - - - - - - - - - - ptr(0x7f0f29400000) - - - - - - -# START (40) ############################# -Device 0 name: Vega 10 XT [Radeon RX Vega 64] -PASSED! -# START (39) ############################# - - - - - - - - -Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - - - ptr(0x7ffe3359ea58) size(0x400000) - - - - - - - - *ptr(0x0x7f0f29a00000) - - - - ptr(0x7ffe3359ea50) size(0x400000) - - - - - - - - *ptr(0x0x7f0f29400000) - - - - dst(0x7f0f29a00000) src(0x7e67bc0) size(0x400000) kind(1) - - - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x29b6680) src(0x7f0f29400000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - -PASSED! - - - - ptr(0x7f0f29a00000) - - - - - - - - - - ptr(0x7f0f29400000) - - - - - - -# START (38) ############################# -Device 0 name: Vega 10 XT [Radeon RX Vega 64] -PASSED! -# START (37) ############################# - - - - - - - - -Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - - - ptr(0x7ffe3359ea58) size(0x400000) - - - - - - - - *ptr(0x0x7f0f29a00000) - - - - ptr(0x7ffe3359ea50) size(0x400000) - - - - - - - - *ptr(0x0x7f0f29400000) - - - - dst(0x7f0f29a00000) src(0x7e67bc0) size(0x400000) kind(1) - - - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x29b6680) src(0x7f0f29400000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - -PASSED! - - - - ptr(0x7f0f29a00000) - - - - - - - - - - ptr(0x7f0f29400000) - - - - - - -# START (36) ############################# -Device 0 name: Vega 10 XT [Radeon RX Vega 64] -PASSED! -# START (35) ############################# - - - - - - - - -Device 0 name: Vega 10 XT [Radeon RX Vega 64] - Activity records: - hipModuleLaunchKernel correlation_id(258) time_ns(6485125675854037:6485125675877457) - process_id(6177) thread_id(6177) - hcCommandKernel correlation_id(258) time_ns(6485125675884879:6485125677098866) - device_id(0) queue_id(0) - hcMemcpyDeviceToHost correlation_id(259) time_ns(6485125677188916:6485125680229416) - device_id(0) queue_id(0) - bytes(0x400000) (null) correlation_id(259) time_ns(0:0) - external_id(32) - hipMemcpy correlation_id(259) time_ns(6485125675891477:6485125680232646) - process_id(6177) thread_id(6177) - (null) correlation_id(260) time_ns(0:0) - external_id(31) - hipFree correlation_id(260) time_ns(6485125687110121:6485125687209332) - process_id(6177) thread_id(6177) - (null) correlation_id(261) time_ns(0:0) - external_id(31) - hipFree correlation_id(261) time_ns(6485125687215272:6485125687237922) - process_id(6177) thread_id(6177) - hcCommandMarker correlation_id(259) time_ns(6485125677104792:6485125677136794) - device_id(0) queue_id(0) - hipSetDevice correlation_id(262) time_ns(6485125706808823:6485125706824203) - process_id(6177) thread_id(6177) - hipGetDeviceProperties correlation_id(263) time_ns(6485125706827283:6485125706829303) - process_id(6177) thread_id(6177) - hipMalloc correlation_id(264) time_ns(6485125710152476:6485125710459378) - process_id(6177) thread_id(6177) - hipMalloc correlation_id(265) time_ns(6485125710469338:6485125710581789) - process_id(6177) thread_id(6177) - hcMemcpyHostToDevice correlation_id(266) time_ns(6485125710606449:6485125712616202) - device_id(0) queue_id(0) - bytes(0x400000) (null) correlation_id(266) time_ns(0:0) - external_id(32) - hipMemcpy correlation_id(266) time_ns(6485125710589619:6485125712628852) - process_id(6177) thread_id(6177) - (null) correlation_id(267) time_ns(0:0) - external_id(33) - hipModuleLaunchKernel correlation_id(267) time_ns(6485125712649152:6485125712672742) - process_id(6177) thread_id(6177) - hcCommandKernel correlation_id(267) time_ns(6485125712680708:6485125713873508) - device_id(0) queue_id(0) - hcMemcpyDeviceToHost correlation_id(268) time_ns(6485125713962571:6485125716943831) - device_id(0) queue_id(0) - bytes(0x400000) (null) correlation_id(268) time_ns(0:0) - external_id(32) - hipMemcpy correlation_id(268) time_ns(6485125712678532:6485125716946381) - process_id(6177) thread_id(6177) - (null) correlation_id(269) time_ns(0:0) - external_id(31) - hipFree correlation_id(269) time_ns(6485125723120992:6485125723213593) - process_id(6177) thread_id(6177) - (null) correlation_id(270) time_ns(0:0) - external_id(31) - hipFree correlation_id(270) time_ns(6485125723223593:6485125723243223) - process_id(6177) thread_id(6177) - hcCommandMarker correlation_id(268) time_ns(6485125713879434:6485125713911139) - device_id(0) queue_id(0) - hipSetDevice correlation_id(271) time_ns(6485125740776960:6485125740793370) - process_id(6177) thread_id(6177) - hipGetDeviceProperties correlation_id(272) time_ns(6485125740797300:6485125740799941) - process_id(6177) thread_id(6177) - hipMalloc correlation_id(273) time_ns(6485125744786127:6485125745124359) - process_id(6177) thread_id(6177) - hipMalloc correlation_id(274) time_ns(6485125745135879:6485125745254370) - process_id(6177) thread_id(6177) - hcMemcpyHostToDevice correlation_id(275) time_ns(6485125745281220:6485125747321894) - device_id(0) queue_id(0) - bytes(0x400000) (null) correlation_id(275) time_ns(0:0) - external_id(32) - hipMemcpy correlation_id(275) time_ns(6485125745262760:6485125747327144) - process_id(6177) thread_id(6177) - (null) correlation_id(276) time_ns(0:0) - external_id(33) - hipModuleLaunchKernel correlation_id(276) time_ns(6485125747346214:6485125747370054) - process_id(6177) thread_id(6177) - hcCommandKernel correlation_id(276) time_ns(6485125747377310:6485125748577073) - device_id(0) queue_id(0) - hcMemcpyDeviceToHost correlation_id(277) time_ns(6485125748653723:6485125751603003) - device_id(0) queue_id(0) - bytes(0x400000) (null) correlation_id(277) time_ns(0:0) - external_id(32) - hipMemcpy correlation_id(277) time_ns(6485125747375634:6485125751605163) - process_id(6177) thread_id(6177) - (null) correlation_id(278) time_ns(0:0) - external_id(31) - hipFree correlation_id(278) time_ns(6485125758126676:6485125758227067) - process_id(6177) thread_id(6177) - (null) correlation_id(279) time_ns(0:0) - external_id(31) - hipFree correlation_id(279) time_ns(6485125758232877:6485125758257287) - process_id(6177) thread_id(6177) - hcCommandMarker correlation_id(277) time_ns(6485125748582851:6485125748614556) - device_id(0) queue_id(0) - hipSetDevice correlation_id(280) time_ns(6485125775818474:6485125775833604) - process_id(6177) thread_id(6177) - hipGetDeviceProperties correlation_id(281) time_ns(6485125775836594:6485125775838344) - process_id(6177) thread_id(6177) - hipMalloc correlation_id(282) time_ns(6485125779147596:6485125779441778) - process_id(6177) thread_id(6177) - hipMalloc correlation_id(283) time_ns(6485125779450088:6485125779557329) - process_id(6177) thread_id(6177) - hcMemcpyHostToDevice correlation_id(284) time_ns(6485125779580079:6485125781581533) - device_id(0) queue_id(0) - bytes(0x400000) (null) correlation_id(284) time_ns(0:0) - external_id(32) - hipMemcpy correlation_id(284) time_ns(6485125779564019:6485125781607663) - process_id(6177) thread_id(6177) - (null) correlation_id(285) time_ns(0:0) - external_id(33) - hipModuleLaunchKernel correlation_id(285) time_ns(6485125781624083:6485125781643633) - process_id(6177) thread_id(6177) - hcCommandKernel correlation_id(285) time_ns(6485125781651893:6485125782846767) - device_id(0) queue_id(0) - hcMemcpyDeviceToHost correlation_id(286) time_ns(6485125782933402:6485125785912432) - device_id(0) queue_id(0) - bytes(0x400000) (null) correlation_id(286) time_ns(0:0) - external_id(32) - hipMemcpy correlation_id(286) time_ns(6485125781664843:6485125785914672) - process_id(6177) thread_id(6177) - (null) correlation_id(287) time_ns(0:0) - external_id(31) - hipFree correlation_id(287) time_ns(6485125793604153:6485125793704194) - process_id(6177) thread_id(6177) - (null) correlation_id(288) time_ns(0:0) - external_id(31) - hipFree correlation_id(288) time_ns(6485125793709274:6485125793730844) - process_id(6177) thread_id(6177) - hcCommandMarker correlation_id(286) time_ns(6485125782852693:6485125782884398) - device_id(0) queue_id(0) - - - - ptr(0x7ffe3359ea58) size(0x400000) - - - - - - - - *ptr(0x0x7f0f29a00000) - - - - ptr(0x7ffe3359ea50) size(0x400000) - - - - - - - - *ptr(0x0x7f0f29400000) - - - - dst(0x7f0f29a00000) src(0x7e67bc0) size(0x400000) kind(1) - - - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x29b6680) src(0x7f0f29400000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - -PASSED! - - - - ptr(0x7f0f29a00000) - - - - - - - - - - ptr(0x7f0f29400000) - - - - - - -# START (34) ############################# -Device 0 name: Vega 10 XT [Radeon RX Vega 64] -PASSED! -# START (33) ############################# - - - - - - - - -Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - - - ptr(0x7ffe3359ea58) size(0x400000) - - - - - - - - *ptr(0x0x7f0f29a00000) - - - - ptr(0x7ffe3359ea50) size(0x400000) - - - - - - - - *ptr(0x0x7f0f29400000) - - - - dst(0x7f0f29a00000) src(0x7e67bc0) size(0x400000) kind(1) - - - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x29b6680) src(0x7f0f29400000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - -PASSED! - - - - ptr(0x7f0f29a00000) - - - - - - - - - - ptr(0x7f0f29400000) - - - - - - -# START (32) ############################# -Device 0 name: Vega 10 XT [Radeon RX Vega 64] -PASSED! -# START (31) ############################# - - - - - - - - -Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - - - ptr(0x7ffe3359ea58) size(0x400000) - - - - - - - - *ptr(0x0x7f0f29a00000) - - - - ptr(0x7ffe3359ea50) size(0x400000) - - - - - - - - *ptr(0x0x7f0f29400000) - - - - dst(0x7f0f29a00000) src(0x7e67bc0) size(0x400000) kind(1) - - - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x29b6680) src(0x7f0f29400000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - -PASSED! - - - - ptr(0x7f0f29a00000) - - - - - - - - - - ptr(0x7f0f29400000) - - - - - - -# START (30) ############################# -Device 0 name: Vega 10 XT [Radeon RX Vega 64] -PASSED! -# START (29) ############################# - - - - - - - - -Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - - - ptr(0x7ffe3359ea58) size(0x400000) - - - - - - - - *ptr(0x0x7f0f29a00000) - - - - ptr(0x7ffe3359ea50) size(0x400000) - - - - - - - - *ptr(0x0x7f0f29400000) - - - - dst(0x7f0f29a00000) src(0x7e67bc0) size(0x400000) kind(1) - - - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x29b6680) src(0x7f0f29400000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - Activity records: - hipSetDevice correlation_id(289) time_ns(6485125812340668:6485125812356778) - process_id(6177) thread_id(6177) - hipGetDeviceProperties correlation_id(290) time_ns(6485125812366068:6485125812368638) - process_id(6177) thread_id(6177) - hipMalloc correlation_id(291) time_ns(6485125816925179:6485125817261271) - process_id(6177) thread_id(6177) - hipMalloc correlation_id(292) time_ns(6485125817272301:6485125817390892) - process_id(6177) thread_id(6177) - hcMemcpyHostToDevice correlation_id(293) time_ns(6485125817417802:6485125819445496) - device_id(0) queue_id(0) - bytes(0x400000) (null) correlation_id(293) time_ns(0:0) - external_id(32) - hipMemcpy correlation_id(293) time_ns(6485125817399052:6485125819458066) - process_id(6177) thread_id(6177) - (null) correlation_id(294) time_ns(0:0) - external_id(33) - hipModuleLaunchKernel correlation_id(294) time_ns(6485125819477346:6485125819500506) - process_id(6177) thread_id(6177) - hcCommandKernel correlation_id(294) time_ns(6485125819508274:6485125820714704) - device_id(0) queue_id(0) - hcMemcpyDeviceToHost correlation_id(295) time_ns(6485125820790665:6485125823762434) - device_id(0) queue_id(0) - bytes(0x400000) (null) correlation_id(295) time_ns(0:0) - external_id(32) - hipMemcpy correlation_id(295) time_ns(6485125819506066:6485125823764784) - process_id(6177) thread_id(6177) - (null) correlation_id(296) time_ns(0:0) - external_id(31) - hipFree correlation_id(296) time_ns(6485125832423953:6485125832523193) - process_id(6177) thread_id(6177) - (null) correlation_id(297) time_ns(0:0) - external_id(31) - hipFree correlation_id(297) time_ns(6485125832528353:6485125832550743) - process_id(6177) thread_id(6177) - hcCommandMarker correlation_id(295) time_ns(6485125820720630:6485125820752335) - device_id(0) queue_id(0) - hipSetDevice correlation_id(298) time_ns(6485125850521463:6485125850537553) - process_id(6177) thread_id(6177) - hipGetDeviceProperties correlation_id(299) time_ns(6485125850541764:6485125850544424) - process_id(6177) thread_id(6177) - hipMalloc correlation_id(300) time_ns(6485125854206848:6485125854497000) - process_id(6177) thread_id(6177) - hipMalloc correlation_id(301) time_ns(6485125854507590:6485125854623431) - process_id(6177) thread_id(6177) - hcMemcpyHostToDevice correlation_id(302) time_ns(6485125854649771:6485125856679504) - device_id(0) queue_id(0) - bytes(0x400000) (null) correlation_id(302) time_ns(0:0) - external_id(32) - hipMemcpy correlation_id(302) time_ns(6485125854631341:6485125856685894) - process_id(6177) thread_id(6177) - (null) correlation_id(303) time_ns(0:0) - external_id(33) - hipModuleLaunchKernel correlation_id(303) time_ns(6485125856706615:6485125856730235) - process_id(6177) thread_id(6177) - hcCommandKernel correlation_id(303) time_ns(6485125856738307:6485125857923847) - device_id(0) queue_id(0) - hcMemcpyDeviceToHost correlation_id(304) time_ns(6485125858013393:6485125861007894) - device_id(0) queue_id(0) - bytes(0x400000) (null) correlation_id(304) time_ns(0:0) - external_id(32) - hipMemcpy correlation_id(304) time_ns(6485125856747075:6485125861010554) - process_id(6177) thread_id(6177) - (null) correlation_id(305) time_ns(0:0) - external_id(31) - hipFree correlation_id(305) time_ns(6485125867174995:6485125867265525) - process_id(6177) thread_id(6177) - (null) correlation_id(306) time_ns(0:0) - external_id(31) - hipFree correlation_id(306) time_ns(6485125867276885:6485125867294845) - process_id(6177) thread_id(6177) - hcCommandMarker correlation_id(304) time_ns(6485125857929625:6485125857961775) - device_id(0) queue_id(0) - hipSetDevice correlation_id(307) time_ns(6485125884936183:6485125884953063) - process_id(6177) thread_id(6177) - hipGetDeviceProperties correlation_id(308) time_ns(6485125884956903:6485125884959393) - process_id(6177) thread_id(6177) - hipMalloc correlation_id(309) time_ns(6485125888871779:6485125889276482) - process_id(6177) thread_id(6177) - hipMalloc correlation_id(310) time_ns(6485125889287172:6485125889405393) - process_id(6177) thread_id(6177) - hcMemcpyHostToDevice correlation_id(311) time_ns(6485125889432003:6485125891458317) - device_id(0) queue_id(0) - bytes(0x400000) (null) correlation_id(311) time_ns(0:0) - external_id(32) - hipMemcpy correlation_id(311) time_ns(6485125889413873:6485125891470627) - process_id(6177) thread_id(6177) - (null) correlation_id(312) time_ns(0:0) - external_id(33) - hipModuleLaunchKernel correlation_id(312) time_ns(6485125891489817:6485125891513327) - process_id(6177) thread_id(6177) - hcCommandKernel correlation_id(312) time_ns(6485125891521573:6485125892722521) - device_id(0) queue_id(0) - hcMemcpyDeviceToHost correlation_id(313) time_ns(6485125892797976:6485125895800796) - device_id(0) queue_id(0) - bytes(0x400000) (null) correlation_id(313) time_ns(0:0) - external_id(32) - hipMemcpy correlation_id(313) time_ns(6485125891525027:6485125895802976) - process_id(6177) thread_id(6177) - (null) correlation_id(314) time_ns(0:0) - external_id(31) - hipFree correlation_id(314) time_ns(6485125902404140:6485125902502490) - process_id(6177) thread_id(6177) - (null) correlation_id(315) time_ns(0:0) - external_id(31) - hipFree correlation_id(315) time_ns(6485125902517500:6485125902539671) - process_id(6177) thread_id(6177) - hcCommandMarker correlation_id(313) time_ns(6485125892728299:6485125892759708) - device_id(0) queue_id(0) - hipSetDevice correlation_id(316) time_ns(6485125919972637:6485125919989367) - process_id(6177) thread_id(6177) - hipGetDeviceProperties correlation_id(317) time_ns(6485125919992517:6485125919994347) - process_id(6177) thread_id(6177) - hipMalloc correlation_id(318) time_ns(6485125923279160:6485125923587182) - process_id(6177) thread_id(6177) - hipMalloc correlation_id(319) time_ns(6485125923597302:6485125923709363) - process_id(6177) thread_id(6177) - hcMemcpyHostToDevice correlation_id(320) time_ns(6485125923734713:6485125925771206) - device_id(0) queue_id(0) - bytes(0x400000) (null) correlation_id(320) time_ns(0:0) - external_id(32) - hipMemcpy correlation_id(320) time_ns(6485125923717013:6485125925776726) - process_id(6177) thread_id(6177) - (null) correlation_id(321) time_ns(0:0) - external_id(33) - hipModuleLaunchKernel correlation_id(321) time_ns(6485125925796976:6485125925819787) - process_id(6177) thread_id(6177) - hcCommandKernel correlation_id(321) time_ns(6485125925827237:6485125927018704) - device_id(0) queue_id(0) -PASSED! - - - - ptr(0x7f0f29a00000) - - - - - - - - - - ptr(0x7f0f29400000) - - - - - - -# START (28) ############################# -Device 0 name: Vega 10 XT [Radeon RX Vega 64] -PASSED! -# START (27) ############################# - - - - - - - - -Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - - - ptr(0x7ffe3359ea58) size(0x400000) - - - - - - - - *ptr(0x0x7f0f29a00000) - - - - ptr(0x7ffe3359ea50) size(0x400000) - - - - - - - - *ptr(0x0x7f0f29400000) - - - - dst(0x7f0f29a00000) src(0x7e67bc0) size(0x400000) kind(1) - - - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x29b6680) src(0x7f0f29400000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - -PASSED! - - - - ptr(0x7f0f29a00000) - - - - - - - - - - ptr(0x7f0f29400000) - - - - - - -# START (26) ############################# -Device 0 name: Vega 10 XT [Radeon RX Vega 64] -PASSED! -# START (25) ############################# - - - - - - - - -Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - - - ptr(0x7ffe3359ea58) size(0x400000) - - - - - - - - *ptr(0x0x7f0f29a00000) - - - - ptr(0x7ffe3359ea50) size(0x400000) - - - - - - - - *ptr(0x0x7f0f29400000) - - - - dst(0x7f0f29a00000) src(0x7e67bc0) size(0x400000) kind(1) - - - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x29b6680) src(0x7f0f29400000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - -PASSED! - - - - ptr(0x7f0f29a00000) - - - - - - - - - - ptr(0x7f0f29400000) - - - - - - -# START (24) ############################# -Device 0 name: Vega 10 XT [Radeon RX Vega 64] -PASSED! -# START (23) ############################# - - - - - - - - -Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - - - ptr(0x7ffe3359ea58) size(0x400000) - - - - - - - - *ptr(0x0x7f0f29a00000) - - - - ptr(0x7ffe3359ea50) size(0x400000) - - - - - - - - *ptr(0x0x7f0f29400000) - - - - dst(0x7f0f29a00000) src(0x7e67bc0) size(0x400000) kind(1) - - - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x29b6680) src(0x7f0f29400000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - -PASSED! - - - - ptr(0x7f0f29a00000) - - - - - - - - - - ptr(0x7f0f29400000) - - - - - - -# START (22) ############################# -Device 0 name: Vega 10 XT [Radeon RX Vega 64] -PASSED! -# START (21) ############################# - - - - - - - - -Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - - - ptr(0x7ffe3359ea58) size(0x400000) - - - - - - - - *ptr(0x0x7f0f29a00000) - - - - ptr(0x7ffe3359ea50) size(0x400000) - - Activity records: - hcMemcpyDeviceToHost correlation_id(322) time_ns(6485125927107115:6485125930073545) - device_id(0) queue_id(0) - bytes(0x400000) - - (null) correlation_id(322) time_ns(0:0) - external_id(32) - hipMemcpy correlation_id(322) time_ns(6485125925836737:6485125930080605) - process_id(6177) thread_id(6177) - (null) correlation_id(323) time_ns(0:0) - external_id(31) - hipFree correlation_id(323) time_ns(6485125937813706:6485125937918227) - process_id(6177) thread_id(6177) - (null) correlation_id(324) time_ns(0:0) - external_id(31) - hipFree correlation_id(324) time_ns(6485125937924147:6485125937947627) - process_id(6177) thread_id(6177) - hcCommandMarker correlation_id(322) time_ns(6485125927024630:6485125927056039) - device_id(0) queue_id(0) - hipSetDevice correlation_id(325) time_ns(6485125957437228:6485125957452428) - process_id(6177) thread_id(6177) - hipGetDeviceProperties correlation_id(326) time_ns(6485125957456408:6485125957459078) - process_id(6177) thread_id(6177) - hipMalloc correlation_id(327) time_ns(6485125961320183:6485125961620445) - process_id(6177) thread_id(6177) - hipMalloc correlation_id(328) time_ns(6485125961631136:6485125961740166) - process_id(6177) thread_id(6177) - hcMemcpyHostToDevice correlation_id(329) time_ns(6485125961766146:6485125963792030) - device_id(0) queue_id(0) - bytes(0x400000) - - (null) correlation_id(329) time_ns(0:0) - external_id(32) - hipMemcpy correlation_id(329) time_ns(6485125961747816:6485125963797840) - process_id(6177) thread_id(6177) - - - *ptr(0x0x7f0f29400000) - - - - dst(0x7f0f29a00000) src(0x7e67bc0) size(0x400000) kind(1) - (null) correlation_id(330) time_ns(0:0) - external_id(33) - hipModuleLaunchKernel correlation_id(330) time_ns(6485125963817360:6485125963840090) - process_id(6177) thread_id(6177) - hcCommandKernel correlation_id(330) time_ns(6485125963848148:6485125965046727) - device_id(0) queue_id(0) - hcMemcpyDeviceToHost correlation_id(331) time_ns(6485125965133949:6485125968113889) - device_id(0) queue_id(0) - bytes(0x400000) (null) correlation_id(331) time_ns(0:0) - external_id(32) - hipMemcpy correlation_id(331) time_ns(6485125963851760:6485125968116709) - process_id(6177) thread_id(6177) - - - (null) correlation_id(332) time_ns(0:0) - external_id(31) - hipFree correlation_id(332) time_ns(6485125974906894:6485125975008865) - process_id(6177) thread_id(6177) - - - (null) correlation_id(333) time_ns(0:0) - external_id(31) - hipFree correlation_id(333) time_ns(6485125975014125:6485125975035615) - process_id(6177) thread_id(6177) - hcCommandMarker correlation_id(331) time_ns(6485125965052653:6485125965084654) - device_id(0) queue_id(0) - hipSetDevice correlation_id(334) time_ns(6485125992595142:6485125992608652) - process_id(6177) thread_id(6177) - hipGetDeviceProperties correlation_id(335) time_ns(6485125992611972:6485125992614733) - process_id(6177) thread_id(6177) - hipMalloc correlation_id(336) time_ns(6485125997175593:6485125997467365) - process_id(6177) thread_id(6177) - hipMalloc correlation_id(337) time_ns(6485125997477975:6485125997595406) - process_id(6177) thread_id(6177) - hcMemcpyHostToDevice correlation_id(338) time_ns(6485125997622406:6485125999654870) - device_id(0) queue_id(0) - bytes(0x400000) (null) correlation_id(338) time_ns(0:0) - external_id(32) - hipMemcpy correlation_id(338) time_ns(6485125997603516:6485125999660300) - process_id(6177) thread_id(6177) - (null) correlation_id(339) time_ns(0:0) - external_id(33) - hipModuleLaunchKernel correlation_id(339) time_ns(6485125999679040:6485125999702710) - process_id(6177) thread_id(6177) - hcCommandKernel correlation_id(339) time_ns(6485125999710183:6485126000891575) - device_id(0) queue_id(0) - hcMemcpyDeviceToHost correlation_id(340) time_ns(6485126000985429:6485126003937298) - device_id(0) queue_id(0) - bytes(0x400000) (null) correlation_id(340) time_ns(0:0) - external_id(32) - hipMemcpy correlation_id(340) time_ns(6485125999719030:6485126003940738) - process_id(6177) thread_id(6177) - (null) correlation_id(341) time_ns(0:0) - external_id(31) - hipFree correlation_id(341) time_ns(6485126012692877:6485126012792727) - process_id(6177) thread_id(6177) - (null) correlation_id(342) time_ns(0:0) - external_id(31) - hipFree correlation_id(342) time_ns(6485126012798037:6485126012820787) - process_id(6177) thread_id(6177) - hcCommandMarker correlation_id(340) time_ns(6485126000897501:6485126000929651) - device_id(0) queue_id(0) - hipSetDevice correlation_id(343) time_ns(6485126030918609:6485126030934739) - process_id(6177) thread_id(6177) - hipGetDeviceProperties correlation_id(344) time_ns(6485126030938869:6485126030941529) - process_id(6177) thread_id(6177) - hipMalloc correlation_id(345) time_ns(6485126034122910:6485126034430562) - process_id(6177) thread_id(6177) - hipMalloc correlation_id(346) time_ns(6485126034440402:6485126034553343) - process_id(6177) thread_id(6177) - hcMemcpyHostToDevice correlation_id(347) time_ns(6485126034580453:6485126036589586) - device_id(0) queue_id(0) - bytes(0x400000) (null) correlation_id(347) time_ns(0:0) - external_id(32) - hipMemcpy correlation_id(347) time_ns(6485126034561963:6485126036601757) - process_id(6177) thread_id(6177) - (null) correlation_id(348) time_ns(0:0) - external_id(33) - hipModuleLaunchKernel correlation_id(348) time_ns(6485126036620687:6485126036643327) - process_id(6177) thread_id(6177) - hcCommandKernel correlation_id(348) time_ns(6485126036651100:6485126037846270) - device_id(0) queue_id(0) - hcMemcpyDeviceToHost correlation_id(349) time_ns(6485126037930125:6485126040913165) - device_id(0) queue_id(0) - bytes(0x400000) (null) correlation_id(349) time_ns(0:0) - external_id(32) - hipMemcpy correlation_id(349) time_ns(6485126036648837:6485126040915835) - process_id(6177) thread_id(6177) - (null) correlation_id(350) time_ns(0:0) - external_id(31) - hipFree correlation_id(350) time_ns(6485126048142684:6485126048240464) - process_id(6177) thread_id(6177) - (null) correlation_id(351) time_ns(0:0) - external_id(31) - hipFree correlation_id(351) time_ns(6485126048258615:6485126048280265) - process_id(6177) thread_id(6177) - hcCommandMarker correlation_id(349) time_ns(6485126037852196:6485126037883902) - device_id(0) queue_id(0) - hipSetDevice correlation_id(352) time_ns(6485126066174994:6485126066190844) - process_id(6177) thread_id(6177) - hipGetDeviceProperties correlation_id(353) time_ns(6485126066194634:6485126066197174) - process_id(6177) thread_id(6177) - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x29b6680) src(0x7f0f29400000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - -PASSED! - - - - ptr(0x7f0f29a00000) - - - - - - - - - - ptr(0x7f0f29400000) - - - - - - -# START (20) ############################# -Device 0 name: Vega 10 XT [Radeon RX Vega 64] -PASSED! -# START (19) ############################# - - - - - - - - -Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - - - ptr(0x7ffe3359ea58) size(0x400000) - - - - - - - - *ptr(0x0x7f0f29a00000) - - - - ptr(0x7ffe3359ea50) size(0x400000) - - - - - - - - *ptr(0x0x7f0f29400000) - - - - dst(0x7f0f29a00000) src(0x7e67bc0) size(0x400000) kind(1) - - - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x29b6680) src(0x7f0f29400000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - -PASSED! - - - - ptr(0x7f0f29a00000) - - - - - - - - - - ptr(0x7f0f29400000) - - - - - - -# START (18) ############################# -Device 0 name: Vega 10 XT [Radeon RX Vega 64] -PASSED! -# START (17) ############################# - - - - - - - - -Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - - - ptr(0x7ffe3359ea58) size(0x400000) - - - - - - - - *ptr(0x0x7f0f29a00000) - - - - ptr(0x7ffe3359ea50) size(0x400000) - - - - - - - - *ptr(0x0x7f0f29400000) - - - - dst(0x7f0f29a00000) src(0x7e67bc0) size(0x400000) kind(1) - - - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x29b6680) src(0x7f0f29400000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - -PASSED! - - - - ptr(0x7f0f29a00000) - - - - - - - - - - ptr(0x7f0f29400000) - - - - - - -# START (16) ############################# -Device 0 name: Vega 10 XT [Radeon RX Vega 64] -PASSED! -# START (15) ############################# - - - - - - - - -Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - - - ptr(0x7ffe3359ea58) size(0x400000) - - - - - - - - *ptr(0x0x7f0f29a00000) - - - - ptr(0x7ffe3359ea50) size(0x400000) - - - - - - - - *ptr(0x0x7f0f29400000) - - - - dst(0x7f0f29a00000) src(0x7e67bc0) size(0x400000) kind(1) - - - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x29b6680) src(0x7f0f29400000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - Activity records: - hipMalloc correlation_id(354) time_ns(6485126070748334:6485126071063737) - process_id(6177) thread_id(6177) - hipMalloc correlation_id(355) time_ns(6485126071080297:6485126071199017) - process_id(6177) thread_id(6177) - hcMemcpyHostToDevice correlation_id(356) time_ns(6485126071292098:6485126073331272) - device_id(0) queue_id(0) - bytes(0x400000) (null) correlation_id(356) time_ns(0:0) - external_id(32) - hipMemcpy correlation_id(356) time_ns(6485126071224898:6485126073336982) - process_id(6177) thread_id(6177) - (null) correlation_id(357) time_ns(0:0) - external_id(33) - hipModuleLaunchKernel correlation_id(357) time_ns(6485126073359802:6485126073384062) - process_id(6177) thread_id(6177) - hcCommandKernel correlation_id(357) time_ns(6485126073391879:6485126074587049) - device_id(0) queue_id(0) - hcMemcpyDeviceToHost correlation_id(358) time_ns(6485126074681381:6485126077725752) - device_id(0) queue_id(0) - bytes(0x400000) (null) correlation_id(358) time_ns(0:0) - external_id(32) - hipMemcpy correlation_id(358) time_ns(6485126073392232:6485126077729092) - process_id(6177) thread_id(6177) - (null) correlation_id(359) time_ns(0:0) - external_id(31) - hipFree correlation_id(359) time_ns(6485126086034167:6485126086127337) - process_id(6177) thread_id(6177) - (null) correlation_id(360) time_ns(0:0) - external_id(31) - hipFree correlation_id(360) time_ns(6485126086135297:6485126086152467) - process_id(6177) thread_id(6177) - hcCommandMarker correlation_id(358) time_ns(6485126074592827:6485126074624088) - device_id(0) queue_id(0) - hipSetDevice correlation_id(361) time_ns(6485126105066254:6485126105082914) - process_id(6177) thread_id(6177) - hipGetDeviceProperties correlation_id(362) time_ns(6485126105086734:6485126105089434) - process_id(6177) thread_id(6177) - hipMalloc correlation_id(363) time_ns(6485126108354316:6485126108670218) - process_id(6177) thread_id(6177) - hipMalloc correlation_id(364) time_ns(6485126108680258:6485126108793509) - process_id(6177) thread_id(6177) - hcMemcpyHostToDevice correlation_id(365) time_ns(6485126108818819:6485126110837903) - device_id(0) queue_id(0) - bytes(0x400000) (null) correlation_id(365) time_ns(0:0) - external_id(32) - hipMemcpy correlation_id(365) time_ns(6485126108801149:6485126110843013) - process_id(6177) thread_id(6177) - (null) correlation_id(366) time_ns(0:0) - external_id(33) - hipModuleLaunchKernel correlation_id(366) time_ns(6485126110861403:6485126110884783) - process_id(6177) thread_id(6177) - hcCommandKernel correlation_id(366) time_ns(6485126110892081:6485126112094066) - device_id(0) queue_id(0) - hcMemcpyDeviceToHost correlation_id(367) time_ns(6485126112169551:6485126115192981) - device_id(0) queue_id(0) - bytes(0x400000) (null) correlation_id(367) time_ns(0:0) - external_id(32) - hipMemcpy correlation_id(367) time_ns(6485126110910033:6485126115196291) - process_id(6177) thread_id(6177) - (null) correlation_id(368) time_ns(0:0) - external_id(31) - hipFree correlation_id(368) time_ns(6485126123952290:6485126124070911) - process_id(6177) thread_id(6177) - (null) correlation_id(369) time_ns(0:0) - external_id(31) - hipFree correlation_id(369) time_ns(6485126124077511:6485126124101031) - process_id(6177) thread_id(6177) - hcCommandMarker correlation_id(367) time_ns(6485126112099992:6485126112131994) - device_id(0) queue_id(0) - hipSetDevice correlation_id(370) time_ns(6485126142221572:6485126142237802) - process_id(6177) thread_id(6177) - hipGetDeviceProperties correlation_id(371) time_ns(6485126142241732:6485126142244302) - process_id(6177) thread_id(6177) - hipMalloc correlation_id(372) time_ns(6485126145628615:6485126146001867) - process_id(6177) thread_id(6177) - hipMalloc correlation_id(373) time_ns(6485126146012167:6485126146125138) - process_id(6177) thread_id(6177) - hcMemcpyHostToDevice correlation_id(374) time_ns(6485126146151738:6485126148155702) - device_id(0) queue_id(0) - bytes(0x400000) (null) correlation_id(374) time_ns(0:0) - external_id(32) - hipMemcpy correlation_id(374) time_ns(6485126146132798:6485126148174432) - process_id(6177) thread_id(6177) - (null) correlation_id(375) time_ns(0:0) - external_id(33) - hipModuleLaunchKernel correlation_id(375) time_ns(6485126148194502:6485126148217222) - process_id(6177) thread_id(6177) - hcCommandKernel correlation_id(375) time_ns(6485126148225186:6485126149420061) - device_id(0) queue_id(0) - hcMemcpyDeviceToHost correlation_id(376) time_ns(6485126149509671:6485126152554652) - device_id(0) queue_id(0) - bytes(0x400000) (null) correlation_id(376) time_ns(0:0) - external_id(32) - hipMemcpy correlation_id(376) time_ns(6485126148222582:6485126152557352) - process_id(6177) thread_id(6177) - (null) correlation_id(377) time_ns(0:0) - external_id(31) - hipFree correlation_id(377) time_ns(6485126159535798:6485126159633608) - process_id(6177) thread_id(6177) - (null) correlation_id(378) time_ns(0:0) - external_id(31) - hipFree correlation_id(378) time_ns(6485126159641068:6485126159663589) - process_id(6177) thread_id(6177) - hcCommandMarker correlation_id(376) time_ns(6485126149425987:6485126149458285) - device_id(0) queue_id(0) - hipSetDevice correlation_id(379) time_ns(6485126177794230:6485126177809240) - process_id(6177) thread_id(6177) - hipGetDeviceProperties correlation_id(380) time_ns(6485126177812530:6485126177814530) - process_id(6177) thread_id(6177) - hipMalloc correlation_id(381) time_ns(6485126181116742:6485126181425204) - process_id(6177) thread_id(6177) - hipMalloc correlation_id(382) time_ns(6485126181435424:6485126181547815) - process_id(6177) thread_id(6177) - hcMemcpyHostToDevice correlation_id(383) time_ns(6485126181574055:6485126183593789) - device_id(0) queue_id(0) - bytes(0x400000) (null) correlation_id(383) time_ns(0:0) - external_id(32) - hipMemcpy correlation_id(383) time_ns(6485126181555535:6485126183599069) - process_id(6177) thread_id(6177) - (null) correlation_id(384) time_ns(0:0) - external_id(33) - hipModuleLaunchKernel correlation_id(384) time_ns(6485126183617339:6485126183639879) - process_id(6177) thread_id(6177) - hcCommandKernel correlation_id(384) time_ns(6485126183647462:6485126184844114) - device_id(0) queue_id(0) - hcMemcpyDeviceToHost correlation_id(385) time_ns(6485126184933898:6485126187918018) - device_id(0) queue_id(0) - bytes(0x400000) (null) correlation_id(385) time_ns(0:0) - external_id(32) -PASSED! - - - - ptr(0x7f0f29a00000) - - - - - - - - - - ptr(0x7f0f29400000) - - - - - - -# START (14) ############################# -Device 0 name: Vega 10 XT [Radeon RX Vega 64] -PASSED! -# START (13) ############################# - - - - - - - - -Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - - - ptr(0x7ffe3359ea58) size(0x400000) - - - - - - - - *ptr(0x0x7f0f29a00000) - - - - ptr(0x7ffe3359ea50) size(0x400000) - - - - - - - - *ptr(0x0x7f0f29400000) - - - - dst(0x7f0f29a00000) src(0x7e67bc0) size(0x400000) kind(1) - - - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x29b6680) src(0x7f0f29400000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - -PASSED! - - - - ptr(0x7f0f29a00000) - - - - - - - - - - ptr(0x7f0f29400000) - - - - - - -# START (12) ############################# -Device 0 name: Vega 10 XT [Radeon RX Vega 64] -PASSED! -# START (11) ############################# - - - - - - - - -Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - - - ptr(0x7ffe3359ea58) size(0x400000) - - - - - - - - *ptr(0x0x7f0f29a00000) - - - - ptr(0x7ffe3359ea50) size(0x400000) - - - - - - - - *ptr(0x0x7f0f29400000) - - - - dst(0x7f0f29a00000) src(0x7e67bc0) size(0x400000) kind(1) - - - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x29b6680) src(0x7f0f29400000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - -PASSED! - - - - ptr(0x7f0f29a00000) - - - - - - - - - - ptr(0x7f0f29400000) - - - - - - -# START (10) ############################# -Device 0 name: Vega 10 XT [Radeon RX Vega 64] -PASSED! -# START (9) ############################# - - - - - - - - -Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - - - ptr(0x7ffe3359ea58) size(0x400000) - - - - - - - - *ptr(0x0x7f0f29a00000) - - - - ptr(0x7ffe3359ea50) size(0x400000) - - - - - - - - *ptr(0x0x7f0f29400000) - - - - dst(0x7f0f29a00000) src(0x7e67bc0) size(0x400000) kind(1) - - - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x29b6680) src(0x7f0f29400000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - -PASSED! - - - - ptr(0x7f0f29a00000) - - - - - - - - - - ptr(0x7f0f29400000) - - - - - - -# START (8) ############################# -Device 0 name: Vega 10 XT [Radeon RX Vega 64] -PASSED! -# START (7) ############################# - - - - - - - - -Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - - - ptr(0x7ffe3359ea58) size(0x400000) - - - - - - - - *ptr(0x0x7f0f29a00000) - - - - ptr(0x7ffe3359ea50) size(0x400000) - - - - - - - - *ptr(0x0x7f0f29400000) - - - - dst(0x7f0f29a00000) src(0x7e67bc0) size(0x400000) kind(1) - - - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - Activity records: - hipMemcpy correlation_id(385) time_ns(6485126183660359:6485126187920148) - process_id(6177) thread_id(6177) - - - - - - - - dst(0x29b6680) src(0x7f0f29400000) size(0x400000) kind(2) - - - (null) correlation_id(386) time_ns(0:0) - external_id(31) - hipFree correlation_id(386) time_ns(6485126196373614:6485126196479464) - process_id(6177) thread_id(6177) - (null) correlation_id(387) time_ns(0:0) - external_id(31) - hipFree correlation_id(387) time_ns(6485126196484554:6485126196507065) - process_id(6177) thread_id(6177) - hcCommandMarker correlation_id(385) time_ns(6485126184850040:6485126184881746) - device_id(0) queue_id(0) - hipSetDevice correlation_id(388) time_ns(6485126215708863:6485126215724833) - process_id(6177) thread_id(6177) - hipGetDeviceProperties correlation_id(389) time_ns(6485126215728813:6485126215731393) - process_id(6177) thread_id(6177) - hipMalloc correlation_id(390) time_ns(6485126219339597:6485126219657230) - process_id(6177) thread_id(6177) - hipMalloc correlation_id(391) time_ns(6485126219667570:6485126219779670) - process_id(6177) thread_id(6177) - hcMemcpyHostToDevice correlation_id(392) time_ns(6485126219805271:6485126221837084) - device_id(0) queue_id(0) - bytes(0x400000) (null) correlation_id(392) time_ns(0:0) - external_id(32) - hipMemcpy correlation_id(392) time_ns(6485126219787760:6485126221842494) - process_id(6177) thread_id(6177) - (null) correlation_id(393) time_ns(0:0) - external_id(33) - hipModuleLaunchKernel correlation_id(393) time_ns(6485126221861884:6485126221885114) - process_id(6177) thread_id(6177) - hcCommandKernel correlation_id(393) time_ns(6485126221892706:6485126223095432) - device_id(0) queue_id(0) - hcMemcpyDeviceToHost correlation_id(394) time_ns(6485126223187123:6485126226156263) - device_id(0) queue_id(0) - bytes(0x400000) (null) correlation_id(394) time_ns(0:0) - external_id(32) - hipMemcpy correlation_id(394) time_ns(6485126221890844:6485126226158733) - process_id(6177) thread_id(6177) - (null) correlation_id(395) time_ns(0:0) - external_id(31) - hipFree correlation_id(395) time_ns(6485126233880295:6485126233981615) - process_id(6177) thread_id(6177) - (null) correlation_id(396) time_ns(0:0) - external_id(31) - hipFree correlation_id(396) time_ns(6485126233987025:6485126234010195) - process_id(6177) thread_id(6177) - hcCommandMarker correlation_id(394) time_ns(6485126223101210:6485126223133212) - device_id(0) queue_id(0) - hipSetDevice correlation_id(397) time_ns(6485126252656730:6485126252672940) - process_id(6177) thread_id(6177) - hipGetDeviceProperties correlation_id(398) time_ns(6485126252677030:6485126252679870) - process_id(6177) thread_id(6177) - hipMalloc correlation_id(399) time_ns(6485126257208460:6485126257516852) - process_id(6177) thread_id(6177) - hipMalloc correlation_id(400) time_ns(6485126257527472:6485126257645053) - process_id(6177) thread_id(6177) - hcMemcpyHostToDevice correlation_id(401) time_ns(6485126257670593:6485126259684487) - device_id(0) queue_id(0) - bytes(0x400000) (null) correlation_id(401) time_ns(0:0) - external_id(32) - hipMemcpy correlation_id(401) time_ns(6485126257652773:6485126259703367) - process_id(6177) thread_id(6177) - (null) correlation_id(402) time_ns(0:0) - external_id(33) - hipModuleLaunchKernel correlation_id(402) time_ns(6485126259722137:6485126259745408) - process_id(6177) thread_id(6177) - hcCommandKernel correlation_id(402) time_ns(6485126259753102:6485126260955236) - device_id(0) queue_id(0) - hcMemcpyDeviceToHost correlation_id(403) time_ns(6485126261041926:6485126264031546) - device_id(0) queue_id(0) - bytes(0x400000) (null) correlation_id(403) time_ns(0:0) - external_id(32) - hipMemcpy correlation_id(403) time_ns(6485126259771078:6485126264033916) - process_id(6177) thread_id(6177) - (null) correlation_id(404) time_ns(0:0) - external_id(31) - hipFree correlation_id(404) time_ns(6485126270768981:6485126270868161) - process_id(6177) thread_id(6177) - (null) correlation_id(405) time_ns(0:0) - external_id(31) - hipFree correlation_id(405) time_ns(6485126270873201:6485126270895902) - process_id(6177) thread_id(6177) - hcCommandMarker correlation_id(403) time_ns(6485126260961014:6485126260992867) - device_id(0) queue_id(0) - hipSetDevice correlation_id(406) time_ns(6485126288605510:6485126288619470) - process_id(6177) thread_id(6177) - hipGetDeviceProperties correlation_id(407) time_ns(6485126288622410:6485126288624180) - process_id(6177) thread_id(6177) - hipMalloc correlation_id(408) time_ns(6485126293073560:6485126293368472) - process_id(6177) thread_id(6177) - hipMalloc correlation_id(409) time_ns(6485126293379422:6485126293497303) - process_id(6177) thread_id(6177) - hcMemcpyHostToDevice correlation_id(410) time_ns(6485126293524043:6485126295547917) - device_id(0) queue_id(0) - bytes(0x400000) - - (null) correlation_id(410) time_ns(0:0) - external_id(32) - hipMemcpy correlation_id(410) time_ns(6485126293505493:6485126295561457) - process_id(6177) thread_id(6177) - - - - - (null) correlation_id(411) time_ns(0:0) - external_id(33) - hipModuleLaunchKernel correlation_id(411) time_ns(6485126295580427:6485126295605477) - process_id(6177) thread_id(6177) - hcCommandKernel correlation_id(411) time_ns(6485126295613305:6485126296806698) - device_id(0) queue_id(0) - hcMemcpyDeviceToHost correlation_id(412) time_ns(6485126296900126:6485126299890955) - device_id(0) queue_id(0) - bytes(0x400000) (null) correlation_id(412) time_ns(0:0) - external_id(32) - hipMemcpy correlation_id(412) time_ns(6485126295632887:6485126299894195) - process_id(6177) thread_id(6177) - (null) correlation_id(413) time_ns(0:0) - external_id(31) - hipFree correlation_id(413) time_ns(6485126308424513:6485126308524433) - process_id(6177) thread_id(6177) - (null) correlation_id(414) time_ns(0:0) - external_id(31) - hipFree correlation_id(414) time_ns(6485126308530193:6485126308553384) - process_id(6177) thread_id(6177) - hcCommandMarker correlation_id(412) time_ns(6485126296812476:6485126296844774) - device_id(0) queue_id(0) - hipSetDevice correlation_id(415) time_ns(6485126326661474:6485126326677245) - process_id(6177) thread_id(6177) - hipGetDeviceProperties correlation_id(416) time_ns(6485126326681515:6485126326684165) - process_id(6177) thread_id(6177) - hipMalloc correlation_id(417) time_ns(6485126330528830:6485126331018123) - process_id(6177) thread_id(6177) - hipMalloc correlation_id(418) time_ns(6485126331028253:6485126331142044) - process_id(6177) thread_id(6177) - - - - - - - - - - - - - - -PASSED! - - - - ptr(0x7f0f29a00000) - - - - - - - - - - ptr(0x7f0f29400000) - - - - - - -# START (6) ############################# -Device 0 name: Vega 10 XT [Radeon RX Vega 64] -PASSED! -# START (5) ############################# - - - - - - - - -Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - - - ptr(0x7ffe3359ea58) size(0x400000) - - - - - - - - *ptr(0x0x7f0f29a00000) - - - - ptr(0x7ffe3359ea50) size(0x400000) - - - - - - - - *ptr(0x0x7f0f29400000) - - - - dst(0x7f0f29a00000) src(0x7e67bc0) size(0x400000) kind(1) - - - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x29b6680) src(0x7f0f29400000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - -PASSED! - - - - ptr(0x7f0f29a00000) - - - - - - - - - - ptr(0x7f0f29400000) - - - - - - -# START (4) ############################# -Device 0 name: Vega 10 XT [Radeon RX Vega 64] -PASSED! -# START (3) ############################# - - - - - - - - -Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - - - ptr(0x7ffe3359ea58) size(0x400000) - - - - - - - - *ptr(0x0x7f0f29a00000) - - - - ptr(0x7ffe3359ea50) size(0x400000) - - - - - - - - *ptr(0x0x7f0f29400000) - - - - dst(0x7f0f29a00000) src(0x7e67bc0) size(0x400000) kind(1) - - - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x29b6680) src(0x7f0f29400000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - -PASSED! - - - - ptr(0x7f0f29a00000) - - - - - - - - - - ptr(0x7f0f29400000) - - - - - - -# START (2) ############################# -Device 0 name: Vega 10 XT [Radeon RX Vega 64] -PASSED! -# START (1) ############################# - - - - - - - - -Device 0 name: Vega 10 XT [Radeon RX Vega 64] - - - - ptr(0x7ffe3359ea58) size(0x400000) - - - - - - - - *ptr(0x0x7f0f29a00000) - - - - ptr(0x7ffe3359ea50) size(0x400000) - - - - - - - - *ptr(0x0x7f0f29400000) - - - - dst(0x7f0f29a00000) src(0x7e67bc0) size(0x400000) kind(1) - - - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x29b6680) src(0x7f0f29400000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - -PASSED! - - - - ptr(0x7f0f29a00000) - - - - - - - - - - ptr(0x7f0f29400000) - - - - - Activity records: - hcMemcpyHostToDevice correlation_id(419) time_ns(6485126331167054:6485126333185568) - device_id(0) queue_id(0) - bytes(0x400000) - -# START (0) ############################# - (null) correlation_id(419) time_ns(0:0) - external_id(32) - hipMemcpy correlation_id(419) time_ns(6485126331149904:6485126333196088) - process_id(6177) thread_id(6177) - (null) correlation_id(420) time_ns(0:0) - external_id(33) - hipModuleLaunchKernel correlation_id(420) time_ns(6485126333215928:6485126333265288) - process_id(6177) thread_id(6177) - hcCommandKernel correlation_id(420) time_ns(6485126333262196:6485126334460626) - device_id(0) queue_id(0) - hcMemcpyDeviceToHost correlation_id(421) time_ns(6485126334550077:6485126337495197) - device_id(0) queue_id(0) - bytes(0x400000)Device 0 name: Vega 10 XT [Radeon RX Vega 64] - (null) correlation_id(421) time_ns(0:0) - external_id(32) - hipMemcpy correlation_id(421) time_ns(6485126333273509:6485126337497957) - process_id(6177) thread_id(6177) - (null) correlation_id(422) time_ns(0:0) - external_id(31) - hipFree correlation_id(422) time_ns(6485126344942256:6485126345043017) - process_id(6177) thread_id(6177) - (null) correlation_id(423) time_ns(0:0) - external_id(31) - hipFree correlation_id(423) time_ns(6485126345048867:6485126345072307) - process_id(6177) thread_id(6177) - hcCommandMarker correlation_id(421) time_ns(6485126334466404:6485126334498109) - device_id(0) queue_id(0) - hipSetDevice correlation_id(424) time_ns(6485126363378789:6485126363395100) - process_id(6177) thread_id(6177) - hipGetDeviceProperties correlation_id(425) time_ns(6485126363399100:6485126363401700) - process_id(6177) thread_id(6177) - hipMalloc correlation_id(426) time_ns(6485126367921470:6485126368271893) - process_id(6177) thread_id(6177) - hipMalloc correlation_id(427) time_ns(6485126368283213:6485126368401584) - process_id(6177) thread_id(6177) - hcMemcpyHostToDevice correlation_id(428) time_ns(6485126368428414:6485126370463217) - device_id(0) queue_id(0) - bytes(0x400000) (null) correlation_id(428) time_ns(0:0) - external_id(32) - hipMemcpy correlation_id(428) time_ns(6485126368409834:6485126370468377) - process_id(6177) thread_id(6177) - (null) correlation_id(429) time_ns(0:0) - external_id(33) - hipModuleLaunchKernel correlation_id(429) time_ns(6485126370487507:6485126370510848) - process_id(6177) thread_id(6177) - hcCommandKernel correlation_id(429) time_ns(6485126370517934:6485126371719772) - device_id(0) queue_id(0) - hcMemcpyDeviceToHost correlation_id(430) time_ns(6485126371811346:6485126374795336) - device_id(0) queue_id(0) - bytes(0x400000) (null) correlation_id(430) time_ns(0:0) - external_id(32) - hipMemcpy correlation_id(430) time_ns(6485126370529958:6485126374797486) - process_id(6177) thread_id(6177) - (null) correlation_id(431) time_ns(0:0) - external_id(31) - hipFree correlation_id(431) time_ns(6485126380903007:6485126380996247) - process_id(6177) thread_id(6177) - (null) correlation_id(432) time_ns(0:0) - external_id(31) - hipFree correlation_id(432) time_ns(6485126381006087:6485126381029487) - process_id(6177) thread_id(6177) - hcCommandMarker correlation_id(430) time_ns(6485126371725698:6485126371757551) - device_id(0) queue_id(0) - hipSetDevice correlation_id(433) time_ns(6485126401264323:6485126401278843) - process_id(6177) thread_id(6177) - hipGetDeviceProperties correlation_id(434) time_ns(6485126401282183:6485126401284613) - process_id(6177) thread_id(6177) - hipMalloc correlation_id(435) time_ns(6485126404332013:6485126404636125) - process_id(6177) thread_id(6177) - hipMalloc correlation_id(436) time_ns(6485126404646615:6485126404760106) - process_id(6177) thread_id(6177) - hcMemcpyHostToDevice correlation_id(437) time_ns(6485126404785526:6485126406803720) - device_id(0) queue_id(0) - bytes(0x400000) (null) correlation_id(437) time_ns(0:0) - external_id(32) - hipMemcpy correlation_id(437) time_ns(6485126404768246:6485126406808960) - process_id(6177) thread_id(6177) - (null) correlation_id(438) time_ns(0:0) - external_id(33) - hipModuleLaunchKernel correlation_id(438) time_ns(6485126406827120:6485126406850360) - process_id(6177) thread_id(6177) - hcCommandKernel correlation_id(438) time_ns(6485126406857898:6485126408069959) - device_id(0) queue_id(0) - hcMemcpyDeviceToHost correlation_id(439) time_ns(6485126408144329:6485126411139689) - device_id(0) queue_id(0) - bytes(0x400000) (null) correlation_id(439) time_ns(0:0) - external_id(32) - hipMemcpy correlation_id(439) time_ns(6485126406863470:6485126411143269) - process_id(6177) thread_id(6177) - (null) correlation_id(440) time_ns(0:0) - external_id(31) - hipFree correlation_id(440) time_ns(6485126419887627:6485126419988038) - process_id(6177) thread_id(6177) - (null) correlation_id(441) time_ns(0:0) - external_id(31) - hipFree correlation_id(441) time_ns(6485126419993158:6485126420039578) - process_id(6177) thread_id(6177) - hcCommandMarker correlation_id(439) time_ns(6485126408075737:6485126408107887) - device_id(0) queue_id(0) - hipSetDevice correlation_id(442) time_ns(6485126438187709:6485126438204259) - process_id(6177) thread_id(6177) - hipGetDeviceProperties correlation_id(443) time_ns(6485126438208279:6485126438210829) - process_id(6177) thread_id(6177) - hipMalloc correlation_id(444) time_ns(6485126442770370:6485126443102503) - process_id(6177) thread_id(6177) - hipMalloc correlation_id(445) time_ns(6485126443112943:6485126443229713) - process_id(6177) thread_id(6177) - hcMemcpyHostToDevice correlation_id(446) time_ns(6485126443255904:6485126445274137) - device_id(0) queue_id(0) - bytes(0x400000) (null) correlation_id(446) time_ns(0:0) - external_id(32) - hipMemcpy correlation_id(446) time_ns(6485126443237743:6485126445292817) - process_id(6177) thread_id(6177) - (null) correlation_id(447) time_ns(0:0) - external_id(33) - hipModuleLaunchKernel correlation_id(447) time_ns(6485126445312157:6485126445335628) - process_id(6177) thread_id(6177) - hcCommandKernel correlation_id(447) time_ns(6485126445343403:6485126446549388) - device_id(0) queue_id(0) - hcMemcpyDeviceToHost correlation_id(448) time_ns(6485126446638196:6485126449646466) - device_id(0) queue_id(0) - bytes(0x400000) (null) correlation_id(448) time_ns(0:0) - external_id(32) - hipMemcpy correlation_id(448) time_ns(6485126445354228:6485126449648766) - process_id(6177) thread_id(6177) - (null) correlation_id(449) time_ns(0:0) - external_id(31) -PASSED! - Activity records: - hipFree correlation_id(449) time_ns(6485126457148196:6485126457245787) - process_id(6177) thread_id(6177) - (null) correlation_id(450) time_ns(0:0) - external_id(31) - hipFree correlation_id(450) time_ns(6485126457256857:6485126457299467) - process_id(6177) thread_id(6177) - hcCommandMarker correlation_id(448) time_ns(6485126446555166:6485126446587464) - device_id(0) queue_id(0) -# STOP ############################# - diff --git a/test/ctrl_hsa_input_trace.txt b/test/ctrl_hsa_input_trace.txt deleted file mode 100644 index 4175b83efd..0000000000 --- a/test/ctrl_hsa_input_trace.txt +++ /dev/null @@ -1,77 +0,0 @@ -tool HSA test input: "./test/hsa/ctrl" -ROCTracer (pid=116477): input from "input.xml" - HSA-trace( hsa_agent_get_info hsa_amd_memory_pool_allocate) - HSA-activity-trace() -> GPU agents : -> agent[0] : ->> Name : gfx900 ->> APU : 0 ->> HSAIL profile : 0 ->> Max Wave Size : 64 ->> Max Queue Size : 131072 ->> CU number : 64 ->> Waves per CU : 40 ->> SIMDs per CU : 4 ->> SE number : 4 ->> Shader Arrays per SE : 1 -TestHsa::Initialize : -> Using agent[0] : gfx900 -TestHsa::setup : -Code object filename: gfx9_DummyKernel.hsaco -TestHsa::run : -> Executing kernel: "DummyKernel" -> Waiting on kernel dispatch signal, que_idx=0 -> DONE, que_idx=0 -Test : Passed -Time taken for Setup by DummyKernel : 0.000853027 -Time taken for Dispatch by DummyKernel : 2.39258e-05 -Time taken in Total by DummyKernel : 0.000876953 -TestHsa::Initialize : -> Using agent[0] : gfx900 -TestHsa::setup : -Code object filename: gfx9_SimpleConvolution.hsaco -SimpleConvolution::init : -> Input[0] : -> 15 201 51 89 92 34 96 66 11 225 161 96 81 211 108 124 202 244 182 90 215 92 98 20 44 225 55 247 202 0 45 218 202 97 51 39 131 147 105 143 116 11 239 198 222 92 67 169 81 250 3 40 86 101 60 131 70 116 123 17 117 168 236 64 -> Mask : -> 0 0.2 0 -> 0.2 0.2 0.2 -> 0 0.2 0 -TestHsa::run : -> Executing kernel: "SimpleConvolution" -> Waiting on kernel dispatch signal, que_idx=1 -> DONE, que_idx=1 -> Output[0] : -> 45 60 89 75 79 86 45 43 104 82 144 105 99 90 109 124 123 146 149 124 120 87 43 36 88 91 113 103 98 53 68 104 113 106 76 90 90 122 82 92 102 124 95 149 112 102 69 82 146 116 103 62 50 96 99 87 84 110 88 81 61 105 134 71 -Test : Passed -Time taken for Setup by SimpleConvolution : 0.000602051 -Time taken for Dispatch by SimpleConvolution : 4.00391e-05 -Time taken in Total by SimpleConvolution : 0.00064209 -1822810967909998:1822810967921554 async-copy0 -1822810364769411:1822810364771941 116477:116477 hsa_agent_get_info(, 17, 0x7ffeac015fec) = 0 -1822810364778011:1822810364778611 116477:116477 hsa_agent_get_info(, 17, 0x7ffeac015fec) = 0 -1822810364779111:1822810364782691 116477:116477 hsa_agent_get_info(, 0, 0x8aac04) = 0 -1822810364784511:1822810364785051 116477:116477 hsa_agent_get_info(, 6, 0x8aac44) = 0 -1822810364785491:1822810364785841 116477:116477 hsa_agent_get_info(, 14, 0x8aac48) = 0 -1822810364786281:1822810364786611 116477:116477 hsa_agent_get_info(, 4, 0x8aac4c) = 0 -1822810364787051:1822810364787401 116477:116477 hsa_agent_get_info(, 40962, 0x8aac68) = 0 -1822810364787841:1822810364788181 116477:116477 hsa_agent_get_info(, 40970, 0x8aac6c) = 0 -1822810364788621:1822810364788951 116477:116477 hsa_agent_get_info(, 40971, 0x8aac70) = 0 -1822810364789381:1822810364789711 116477:116477 hsa_agent_get_info(, 40972, 0x8aac74) = 0 -1822810364790151:1822810364790471 116477:116477 hsa_agent_get_info(, 40973, 0x8aac78) = 0 -1822810966872900:1822810966889591 116477:116485 hsa_amd_memory_pool_allocate(, , , 0x7fe988df8c68) = 0 -1822810966960311:1822810966961441 116477:116485 hsa_amd_memory_pool_allocate(, , , 0x7fe988df8c70) = 0 -1822810966961951:1822810966973001 116477:116485 hsa_amd_memory_pool_allocate(, , , 0x7fe988df8c68) = 0 -1822810967025981:1822810967035781 116477:116485 hsa_amd_memory_pool_allocate(, , , 0x7fe988df8c68) = 0 -1822810967298203:1822810967317743 116477:116485 hsa_amd_memory_pool_allocate(, , , 0x7fe988df8c68) = 0 -1822810967384054:1822810967384814 116477:116485 hsa_agent_get_info(, 17, 0x7fe988df87bc) = 0 -1822810967387674:1822810967388054 116477:116485 hsa_agent_get_info(, 17, 0x7fe988df87bc) = 0 -1822810967388514:1822810967391744 116477:116485 hsa_agent_get_info(, 0, 0x7fe930006e04) = 0 -1822810967394494:1822810967394794 116477:116485 hsa_agent_get_info(, 6, 0x7fe930006e44) = 0 -1822810967395194:1822810967395514 116477:116485 hsa_agent_get_info(, 14, 0x7fe930006e48) = 0 -1822810967395924:1822810967396214 116477:116485 hsa_agent_get_info(, 4, 0x7fe930006e4c) = 0 -1822810967396604:1822810967396904 116477:116485 hsa_agent_get_info(, 40962, 0x7fe930006e68) = 0 -1822810967397294:1822810967397594 116477:116485 hsa_agent_get_info(, 40970, 0x7fe930006e6c) = 0 -1822810967397984:1822810967398284 116477:116485 hsa_agent_get_info(, 40971, 0x7fe930006e70) = 0 -1822810967398674:1822810967398974 116477:116485 hsa_agent_get_info(, 40972, 0x7fe930006e74) = 0 -1822810967399364:1822810967399654 116477:116485 hsa_agent_get_info(, 40973, 0x7fe930006e78) = 0 diff --git a/test/ctrl_hsa_trace.txt b/test/ctrl_hsa_trace.txt deleted file mode 100644 index 3f640fa8df..0000000000 --- a/test/ctrl_hsa_trace.txt +++ /dev/null @@ -1,163 +0,0 @@ -tool HSA test: "./test/hsa/ctrl" -ROCTracer (pid=116451): - HSA-trace() - HSA-activity-trace() -> GPU agents : -> agent[0] : ->> Name : gfx900 ->> APU : 0 ->> HSAIL profile : 0 ->> Max Wave Size : 64 ->> Max Queue Size : 131072 ->> CU number : 64 ->> Waves per CU : 40 ->> SIMDs per CU : 4 ->> SE number : 4 ->> Shader Arrays per SE : 1 -TestHsa::Initialize : -> Using agent[0] : gfx900 -TestHsa::setup : -Code object filename: gfx9_DummyKernel.hsaco -TestHsa::run : -> Executing kernel: "DummyKernel" -> Waiting on kernel dispatch signal, que_idx=0 -> DONE, que_idx=0 -Test : Passed -Time taken for Setup by DummyKernel : 0.000803955 -Time taken for Dispatch by DummyKernel : 2.68555e-05 -Time taken in Total by DummyKernel : 0.000830811 -TestHsa::Initialize : -> Using agent[0] : gfx900 -TestHsa::setup : -Code object filename: gfx9_SimpleConvolution.hsaco -SimpleConvolution::init : -> Input[0] : -> 15 201 51 89 92 34 96 66 11 225 161 96 81 211 108 124 202 244 182 90 215 92 98 20 44 225 55 247 202 0 45 218 202 97 51 39 131 147 105 143 116 11 239 198 222 92 67 169 81 250 3 40 86 101 60 131 70 116 123 17 117 168 236 64 -> Mask : -> 0 0.2 0 -> 0.2 0.2 0.2 -> 0 0.2 0 -TestHsa::run : -> Executing kernel: "SimpleConvolution" -> Waiting on kernel dispatch signal, que_idx=1 -> DONE, que_idx=1 -> Output[0] : -> 45 60 89 75 79 86 45 43 104 82 144 105 99 90 109 124 123 146 149 124 120 87 43 36 88 91 113 103 98 53 68 104 113 106 76 90 90 122 82 92 102 124 95 149 112 102 69 82 146 116 103 62 50 96 99 87 84 110 88 81 61 105 134 71 -Test : Passed -Time taken for Setup by SimpleConvolution : 0.00060498 -Time taken for Dispatch by SimpleConvolution : 4.29687e-05 -Time taken in Total by SimpleConvolution : 0.000647949 -1822787198892285:1822787198903100 async-copy0 -1822786593183215:1822786593187325 116451:116451 hsa_amd_profiling_async_copy_enable() = 0 -1822786593205695:1822786593206405 116451:116451 hsa_agent_get_info(, 17, 0x7ffd08170f5c) = 0 -1822786593211235:1822786593212485 116451:116451 hsa_amd_memory_pool_get_info(, 0, 0x7ffd08170df8) = 0 -1822786593213335:1822786593213925 116451:116451 hsa_amd_memory_pool_get_info(, 1, 0x7ffd08170dfc) = 0 -1822786593214745:1822786593215305 116451:116451 hsa_amd_memory_pool_get_info(, 0, 0x7ffd08170df8) = 0 -1822786593216065:1822786593216635 116451:116451 hsa_amd_memory_pool_get_info(, 1, 0x7ffd08170dfc) = 0 -1822786593216065:1822786593217435 116451:116451 hsa_amd_agent_iterate_memory_pools(, 1, 0x143cfc0) = 1 -1822786593219035:1822786593219605 116451:116451 hsa_amd_memory_pool_get_info(, 0, 0x7ffd08170df8) = 0 -1822786593220385:1822786593220945 116451:116451 hsa_amd_memory_pool_get_info(, 1, 0x7ffd08170dfc) = 0 -1822786593220385:1822786593221715 116451:116451 hsa_amd_agent_iterate_memory_pools(, 1, 0x143cfd0) = 1 -1822786593224085:1822786593224895 116451:116451 hsa_agent_get_info(, 17, 0x7ffd08170f5c) = 0 -1822786593225835:1822786593231426 116451:116451 hsa_agent_get_info(, 0, 0x143d094) = 0 -1822786593233936:1822786593234536 116451:116451 hsa_agent_get_info(, 6, 0x143d0d4) = 0 -1822786593235326:1822786593235926 116451:116451 hsa_agent_get_info(, 14, 0x143d0d8) = 0 -1822786593236696:1822786593237276 116451:116451 hsa_agent_get_info(, 4, 0x143d0dc) = 0 -1822786593238046:1822786593238646 116451:116451 hsa_agent_get_info(, 40962, 0x143d0f8) = 0 -1822786593239416:1822786593240136 116451:116451 hsa_agent_get_info(, 40970, 0x143d0fc) = 0 -1822786593240946:1822786593241526 116451:116451 hsa_agent_get_info(, 40971, 0x143d100) = 0 -1822786593242296:1822786593242886 116451:116451 hsa_agent_get_info(, 40972, 0x143d104) = 0 -1822786593243666:1822786593244246 116451:116451 hsa_agent_get_info(, 40973, 0x143d108) = 0 -1822786593245736:1822786593246326 116451:116451 hsa_amd_memory_pool_get_info(, 0, 0x7ffd08170de8) = 0 -1822786593247096:1822786593247676 116451:116451 hsa_amd_memory_pool_get_info(, 1, 0x7ffd08170dec) = 0 -1822786593247096:1822786593248456 116451:116451 hsa_amd_agent_iterate_memory_pools(, 1, 0x143d0e8) = 1 -1822786593247096:1822786593250036 116451:116451 hsa_iterate_agents(1, 0x13fd320) = 0 -1822786593251826:1822786593416117 116451:116451 hsa_system_get_extension_table(, , , 0x13fd3b8) = 0 -1822786593417707:1822786593420377 116451:116451 hsa_system_get_extension_table(, , , 0x13fd408) = 0 -1822786593422447:1822786593423047 116451:116451 hsa_system_get_info(3, 0x7ffd08171128) = 0 -1822786593658778:1822786608352362 116451:116459 hsa_queue_create(, , , 0, 0, , , ) = 0 -1822786902531377:1822786902535757 116451:116459 hsa_signal_create(1, , 0, 0x7fa610001f20) = 0 -1822786902571037:1822786902584537 116451:116459 hsa_code_object_reader_create_from_file(5, 0x7fa665ffcbe0) = 0 -1822786902586167:1822786902597097 116451:116459 hsa_executable_create_alt(1, 0, -1822786902598597:1822786902965610 116451:116459 hsa_executable_load_agent_code_object(, , , -1822786902967780:1822786903353172 116451:116459 hsa_executable_freeze(, ) = 0 -1822786903355162:1822786903356442 116451:116459 hsa_executable_get_symbol(, -1822786903362512:1822786903363052 116451:116459 hsa_executable_symbol_get_info(, 13, 0x7fa665ffcc44) = 0 -1822786903363492:1822786903363782 116451:116459 hsa_executable_symbol_get_info(, 14, 0x7fa665ffcc48) = 0 -1822786903364172:1822786903364492 116451:116459 hsa_executable_symbol_get_info(, 22, 0x7fa665ffcc58) = 0 -1822786903365702:1822786903366022 116451:116459 hsa_signal_store_relaxed(, 1) = void -1822786903370912:1822786903371252 116451:116459 hsa_queue_load_write_index_relaxed(0x7fa7a2ce1000) = 0 -1822786903372632:1822786903372942 116451:116459 hsa_queue_store_write_index_relaxed(0x7fa7a2ce1000, ) = void -1822786903374072:1822786903374512 116451:116459 hsa_queue_load_read_index_relaxed(0x7fa7a2ce1000) = 0 -1822786903375092:1822786903375562 116451:116459 hsa_signal_store_relaxed(, 0) = void -1822786903379112:1822786903393132 116451:116459 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822786903425033:1822786903474693 116451:116459 hsa_executable_destroy() = 0 -1822786903475683:1822786903476973 116451:116459 hsa_signal_destroy() = 0 -1822787197612807:1822787197613567 116451:116459 hsa_signal_create(1, , 0, 0x7fa610007340) = 0 -1822787197622077:1822787197628137 116451:116459 hsa_code_object_reader_create_from_file(7, 0x7fa665ffcbe0) = 0 -1822787197628677:1822787197629627 116451:116459 hsa_executable_create_alt(1, 0, -1822787197630087:1822787197791048 116451:116459 hsa_executable_load_agent_code_object(, , , -1822787197792018:1822787197833668 116451:116459 hsa_executable_freeze(, ) = 0 -1822787197834218:1822787197839559 116451:116459 hsa_executable_get_symbol(, -1822787197841769:1822787197856699 116451:116459 hsa_amd_memory_pool_allocate(, , , 0x7fa665ffcc68) = 0 -1822787197858079:1822787197924589 116451:116459 hsa_amd_agents_allow_access(, 0x7fa665ffcc70, 0, 0x7fa7a2cc4000) = 0 -1822787197926269:1822787197927179 116451:116459 hsa_amd_memory_pool_allocate(, , , 0x7fa665ffcc70) = 0 -1822787197927659:1822787197939219 116451:116459 hsa_amd_memory_pool_allocate(, , , 0x7fa665ffcc68) = 0 -1822787197939719:1822787197992339 116451:116459 hsa_amd_agents_allow_access(, 0x7fa665ffcc70, 0, 0x7fa7a2cd6000) = 0 -1822787197993039:1822787197993399 116451:116459 hsa_executable_symbol_get_info(, 11, 0x7fa665ffcca0) = 0 -1822787197995009:1822787198005070 116451:116459 hsa_amd_memory_pool_allocate(, , , 0x7fa665ffcc68) = 0 -1822787198005560:1822787198054310 116451:116459 hsa_amd_agents_allow_access(, 0x7fa665ffcc70, 0, 0x7fa7a2cd4000) = 0 -1822787198222651:1822787198223061 116451:116459 hsa_executable_symbol_get_info(, 13, 0x7fa665ffcc44) = 0 -1822787198223531:1822787198223831 116451:116459 hsa_executable_symbol_get_info(, 14, 0x7fa665ffcc48) = 0 -1822787198224221:1822787198224531 116451:116459 hsa_executable_symbol_get_info(, 22, 0x7fa665ffcc58) = 0 -1822787198224991:1822787198225351 116451:116459 hsa_signal_store_relaxed(, 1) = void -1822787198228821:1822787198229191 116451:116459 hsa_queue_load_write_index_relaxed(0x7fa7a2ce1000) = 1 -1822787198229651:1822787198229961 116451:116459 hsa_queue_store_write_index_relaxed(0x7fa7a2ce1000, ) = void -1822787198230421:1822787198230851 116451:116459 hsa_queue_load_read_index_relaxed(0x7fa7a2ce1000) = 1 -1822787198231381:1822787198231871 116451:116459 hsa_signal_store_relaxed(, 1) = void -1822787198234591:1822787198268311 116451:116459 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822787198271101:1822787198289651 116451:116459 hsa_amd_memory_pool_allocate(, , , 0x7fa665ffcc68) = 0 -1822787198290261:1822787198347092 116451:116459 hsa_amd_agents_allow_access(, 0x7fa665ffcc70, 0, 0x7fa7a2c78000) = 0 -1822787198347792:1822787198349312 116451:116459 hsa_signal_create(1, , 0, 0x7fa665ffcc40) = 0 -1822787198356932:1822787198357642 116451:116459 hsa_agent_get_info(, 17, 0x7fa665ffc7bc) = 0 -1822787198359432:1822787198360132 116451:116459 hsa_amd_memory_pool_get_info(, 0, 0x7fa665ffc658) = 0 -1822787198360542:1822787198360842 116451:116459 hsa_amd_memory_pool_get_info(, 1, 0x7fa665ffc65c) = 0 -1822787198361262:1822787198361552 116451:116459 hsa_amd_memory_pool_get_info(, 0, 0x7fa665ffc658) = 0 -1822787198361942:1822787198362232 116451:116459 hsa_amd_memory_pool_get_info(, 1, 0x7fa665ffc65c) = 0 -1822787198361942:1822787198362632 116451:116459 hsa_amd_agent_iterate_memory_pools(, 1, 0x7fa610006d60) = 1 -1822787198363522:1822787198363812 116451:116459 hsa_amd_memory_pool_get_info(, 0, 0x7fa665ffc658) = 0 -1822787198364212:1822787198364502 116451:116459 hsa_amd_memory_pool_get_info(, 1, 0x7fa665ffc65c) = 0 -1822787198364212:1822787198364892 116451:116459 hsa_amd_agent_iterate_memory_pools(, 1, 0x7fa610006d70) = 1 -1822787198365732:1822787198366072 116451:116459 hsa_agent_get_info(, 17, 0x7fa665ffc7bc) = 0 -1822787198366522:1822787198369532 116451:116459 hsa_agent_get_info(, 0, 0x7fa610006e34) = 0 -1822787198372162:1822787198372472 116451:116459 hsa_agent_get_info(, 6, 0x7fa610006e74) = 0 -1822787198372872:1822787198373172 116451:116459 hsa_agent_get_info(, 14, 0x7fa610006e78) = 0 -1822787198373572:1822787198373862 116451:116459 hsa_agent_get_info(, 4, 0x7fa610006e7c) = 0 -1822787198374262:1822787198374572 116451:116459 hsa_agent_get_info(, 40962, 0x7fa610006e98) = 0 -1822787198375892:1822787198376202 116451:116459 hsa_agent_get_info(, 40970, 0x7fa610006e9c) = 0 -1822787198376692:1822787198376992 116451:116459 hsa_agent_get_info(, 40971, 0x7fa610006ea0) = 0 -1822787198377392:1822787198377692 116451:116459 hsa_agent_get_info(, 40972, 0x7fa610006ea4) = 0 -1822787198378092:1822787198378392 116451:116459 hsa_agent_get_info(, 40973, 0x7fa610006ea8) = 0 -1822787198379162:1822787198379462 116451:116459 hsa_amd_memory_pool_get_info(, 0, 0x7fa665ffc648) = 0 -1822787198379852:1822787198380152 116451:116459 hsa_amd_memory_pool_get_info(, 1, 0x7fa665ffc64c) = 0 -1822787198379852:1822787198380542 116451:116459 hsa_amd_agent_iterate_memory_pools(, 1, 0x7fa610006e88) = 1 -1822787198379852:1822787198381142 116451:116459 hsa_iterate_agents(1, 0x7fa610006980) = 0 -1822787198381692:1822787198397632 116451:116459 hsa_system_get_major_extension_table(, , , 0x7fa610006a18) = 0 -1822787198398112:1822787198398412 116451:116459 hsa_system_get_major_extension_table(, , , 0x7fa610006a68) = 0 -1822787198399032:1822787198399332 116451:116459 hsa_system_get_info(3, 0x7fa665ffc988) = 0 -1822787198399782:1822787198400322 116451:116459 hsa_system_get_info(2, 0x7fa665ffc9d0) = 0 -1822787198400762:1822787198401922 116451:116459 hsa_signal_create(1, , 0, 0x7fa68f797050) = 0 -1822787198402472:1822787198405132 116451:116459 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7fa68f797010) = 0 -1822787198405752:1822787198837475 116451:116459 hsa_amd_memory_async_copy(0x7fa7a2c78000, , 0x7fa688203000, , , , 0, ) = 0 -1822787198931945:1822787198941165 116451:116454 hsa_amd_profiling_get_async_copy_time(, 0x7fa7a092bc40) = 0 -1822787198944925:1822787198946035 116451:116454 hsa_system_get_info(2, 0x7fa7a092bc38) = 0 -1822787198947005:1822787198948155 116451:116454 hsa_signal_load_relaxed() = 1 -1822787198838365:1822787198950945 116451:116459 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -1822787198949035:1822787198951965 116451:116454 hsa_signal_store_screlease(, 0) = void -1822787198952535:1822787198953995 116451:116459 hsa_signal_destroy() = 0 -1822787198953835:1822787198955305 116451:116454 hsa_signal_destroy() = 0 -1822787199054396:1822787199072966 116451:116459 hsa_memory_free(0x7fa7a2c78000) = 0 -1822787199096536:1822787199113536 116451:116459 hsa_executable_destroy() = 0 -1822787199114426:1822787199116066 116451:116459 hsa_signal_destroy() = 0 -1822787199118006:1822787200339674 116451:116459 hsa_queue_destroy() = 0 - diff --git a/test/MatrixTranspose/MatrixTranspose_ctest_trace.txt b/test/golden_traces/MatrixTranspose_ctest_trace.txt similarity index 99% rename from test/MatrixTranspose/MatrixTranspose_ctest_trace.txt rename to test/golden_traces/MatrixTranspose_ctest_trace.txt index 61e8730e44..833753d134 100644 --- a/test/MatrixTranspose/MatrixTranspose_ctest_trace.txt +++ b/test/golden_traces/MatrixTranspose_ctest_trace.txt @@ -1,4 +1,3 @@ -standalone C test: "LD_PRELOAD=libkfdwrapper64.so ./test/MatrixTranspose_ctest" # INIT ############################# # START (99) ############################# diff --git a/test/golden_traces/MatrixTranspose_hip_flush_trace.txt b/test/golden_traces/MatrixTranspose_hip_flush_trace.txt new file mode 100644 index 0000000000..5d8a96185b --- /dev/null +++ b/test/golden_traces/MatrixTranspose_hip_flush_trace.txt @@ -0,0 +1,412 @@ +ROCTracer (pid=26066): +ROCTracer: trace control flush rate(100000us) + HIP-trace() +ROCTracer (pid=26066): +ROCTracer: trace control flush rate(100000us) + HIP-trace() +Device name Ellesmere [Radeon RX 470/480/570/570X/580/580X] +## Iteration (99) ################# +43934932418043:43934932456496 26066:26066 hipGetDeviceProperties() +43934934626423:43934934675542 26066:26066 hipMalloc(ptr(0x902800000) size(0x400000)) +43934934677103:43934934698784 26066:26066 hipMalloc(ptr(0x903000000) size(0x400000)) +43934934708976:43934940336620 26066:26066 hipMemcpy(dst(0x902800000) src(0x1384170) size(0x400000) kind(1)) +43934940338871:43934940338872 26066:26066 MARK(name(before HIP LaunchKernel)) +43935225511780:43935227349863 0:0 hcCommandKernel:6 +43935227358980:43935227395780 0:0 hcCommandMarker:8 +PASSED! +## Iteration (98) ################# +PASSED! +## Iteration (97) ################# +PASSED! +## Iteration (96) ################# +PASSED! +## Iteration (95) ################# +PASSED! +## Iteration (94) ################# +43935243433550:43935245268113 0:0 hcCommandKernel:11 +43935245270936:43935245302936 0:0 hcCommandMarker:13 +43935261086822:43935262934346 0:0 hcCommandKernel:16 +43935262937310:43935262969310 0:0 hcCommandMarker:18 +43935278843800:43935280686843 0:0 hcCommandKernel:21 +43935280690009:43935280722009 0:0 hcCommandMarker:23 +43935296495925:43935298337528 0:0 hcCommandKernel:26 +43935298340338:43935298371858 0:0 hcCommandMarker:28 +43935314291986:43935316140949 0:0 hcCommandKernel:31 +43935316144062:43935316175422 0:0 hcCommandMarker:33 +PASSED! +## Iteration (93) ################# +PASSED! +## Iteration (92) ################# +PASSED! +## Iteration (91) ################# +PASSED! +## Iteration (90) ################# +PASSED! +## Iteration (89) ################# +43935332066943:43935333908066 0:0 hcCommandKernel:36 +43935333911153:43935333942513 0:0 hcCommandMarker:38 +43935350038934:43935351880697 0:0 hcCommandKernel:41 +43935351883641:43935351915001 0:0 hcCommandMarker:43 +43935367793257:43935369638700 0:0 hcCommandKernel:46 +43935369641744:43935369673104 0:0 hcCommandMarker:48 +43935385528005:43935387375368 0:0 hcCommandKernel:51 +43935387378362:43935387409722 0:0 hcCommandMarker:53 +43935403309412:43935405152295 0:0 hcCommandKernel:56 +43935405155209:43935405186569 0:0 hcCommandMarker:58 +PASSED! +## Iteration (88) ################# +43935421119359:43935422961442 0:0 hcCommandKernel:61 +43935422964474:43935422995834 0:0 hcCommandMarker:63 +PASSED! +## Iteration (87) ################# +PASSED! +## Iteration (86) ################# +PASSED! +## Iteration (85) ################# +PASSED! +## Iteration (84) ################# +PASSED! +## Iteration (83) ################# +43935438844897:43935440686660 0:0 hcCommandKernel:66 +43935440689713:43935440721393 0:0 hcCommandMarker:68 +43935456490502:43935458334505 0:0 hcCommandKernel:71 +43935458337617:43935458368977 0:0 hcCommandMarker:73 +43935474147631:43935475986514 0:0 hcCommandKernel:76 +43935475989587:43935476020947 0:0 hcCommandMarker:78 +43935491854358:43935492341878 0:0 hcCommandKernel:81 +43935492345644:43935492352044 0:0 hcCommandMarker:83 +43935508126004:43935508605044 0:0 hcCommandKernel:86 +43935508608028:43935508614588 0:0 hcCommandMarker:88 +PASSED! +## Iteration (82) ################# +43935524418876:43935524907836 0:0 hcCommandKernel:91 +43935524910557:43935524917117 0:0 hcCommandMarker:93 +PASSED! +## Iteration (81) ################# +PASSED! +## Iteration (80) ################# +PASSED! +## Iteration (79) ################# +PASSED! +## Iteration (78) ################# +PASSED! +## Iteration (77) ################# +43935540719417:43935541208217 0:0 hcCommandKernel:96 +43935541211437:43935541217997 0:0 hcCommandMarker:98 +43935556967811:43935557454211 0:0 hcCommandKernel:101 +43935557457796:43935557464356 0:0 hcCommandMarker:103 +43935573251751:43935573737511 0:0 hcCommandKernel:106 +43935573740418:43935573746978 0:0 hcCommandMarker:108 +43935589528260:43935590013700 0:0 hcCommandKernel:111 +43935590017484:43935590024044 0:0 hcCommandMarker:113 +43935605722549:43935606210549 0:0 hcCommandKernel:116 +43935606213595:43935606220155 0:0 hcCommandMarker:118 +PASSED! +## Iteration (76) ################# +43935621981951:43935622472991 0:0 hcCommandKernel:121 +43935622476644:43935622483204 0:0 hcCommandMarker:123 +PASSED! +## Iteration (75) ################# +PASSED! +## Iteration (74) ################# +PASSED! +## Iteration (73) ################# +PASSED! +## Iteration (72) ################# +PASSED! +## Iteration (71) ################# +43935638193139:43935638675859 0:0 hcCommandKernel:126 +43935638678816:43935638685216 0:0 hcCommandMarker:128 +43935654459215:43935654944496 0:0 hcCommandKernel:131 +43935654952142:43935654958862 0:0 hcCommandMarker:133 +43935670702708:43935671183508 0:0 hcCommandKernel:136 +43935671186548:43935671193108 0:0 hcCommandMarker:138 +43935686939367:43935687417768 0:0 hcCommandKernel:141 +43935687425608:43935687432168 0:0 hcCommandMarker:143 +43935703168285:43935703658045 0:0 hcCommandKernel:146 +43935703661042:43935703667442 0:0 hcCommandMarker:148 +PASSED! +## Iteration (70) ################# +43935719453292:43935719944172 0:0 hcCommandKernel:151 +43935719947859:43935719954419 0:0 hcCommandMarker:153 +PASSED! +## Iteration (69) ################# +PASSED! +## Iteration (68) ################# +PASSED! +## Iteration (67) ################# +PASSED! +## Iteration (66) ################# +PASSED! +## Iteration (65) ################# +43935735726735:43935736208335 0:0 hcCommandKernel:156 +43935736212026:43935736218586 0:0 hcCommandMarker:158 +43935751921190:43935752410790 0:0 hcCommandKernel:161 +43935752414441:43935752421001 0:0 hcCommandMarker:163 +43935768118205:43935768606045 0:0 hcCommandKernel:166 +43935768608995:43935768615555 0:0 hcCommandMarker:168 +43935784195088:43935784686608 0:0 hcCommandKernel:171 +43935784689436:43935784695996 0:0 hcCommandMarker:173 +43935800433600:43935800920160 0:0 hcCommandKernel:176 +43935800923246:43935800929646 0:0 hcCommandMarker:178 +PASSED! +## Iteration (64) ################# +43935816699624:43935817182024 0:0 hcCommandKernel:181 +43935817187808:43935817194368 0:0 hcCommandMarker:183 +PASSED! +## Iteration (63) ################# +PASSED! +## Iteration (62) ################# +PASSED! +## Iteration (61) ################# +PASSED! +## Iteration (60) ################# +PASSED! +## Iteration (59) ################# +43935832969893:43935833459333 0:0 hcCommandKernel:186 +43935833462980:43935833469540 0:0 hcCommandMarker:188 +43935849246062:43935851077905 0:0 hcCommandKernel:191 +43935851080726:43935851112246 0:0 hcCommandMarker:193 +43935866982020:43935868823143 0:0 hcCommandKernel:196 +43935868826123:43935868857483 0:0 hcCommandMarker:198 +43935884647922:43935886487605 0:0 hcCommandKernel:201 +43935886490571:43935886521931 0:0 hcCommandMarker:203 +43935902402549:43935904242232 0:0 hcCommandKernel:206 +43935904245256:43935904276776 0:0 hcCommandMarker:208 +PASSED! +## Iteration (58) ################# +43935920062038:43935921897081 0:0 hcCommandKernel:211 +43935921900164:43935921931524 0:0 hcCommandMarker:213 +PASSED! +## Iteration (57) ################# +PASSED! +## Iteration (56) ################# +PASSED! +## Iteration (55) ################# +PASSED! +## Iteration (54) ################# +PASSED! +## Iteration (53) ################# +43935937812069:43935939657512 0:0 hcCommandKernel:216 +43935939660443:43935939691803 0:0 hcCommandMarker:218 +43935955484682:43935957328525 0:0 hcCommandKernel:221 +43935957331582:43935957362942 0:0 hcCommandMarker:223 +43935973218819:43935975058982 0:0 hcCommandKernel:226 +43935975061799:43935975093159 0:0 hcCommandMarker:228 +43935990920488:43935992758411 0:0 hcCommandKernel:231 +43935992761237:43935992792757 0:0 hcCommandMarker:233 +43936008544679:43936010384682 0:0 hcCommandKernel:236 +43936010389056:43936010420416 0:0 hcCommandMarker:238 +PASSED! +## Iteration (52) ################# +43936026228358:43936028068841 0:0 hcCommandKernel:241 +43936028072005:43936028103685 0:0 hcCommandMarker:243 +PASSED! +## Iteration (51) ################# +PASSED! +## Iteration (50) ################# +PASSED! +## Iteration (49) ################# +PASSED! +## Iteration (48) ################# +PASSED! +## Iteration (47) ################# +43936043785925:43936045629448 0:0 hcCommandKernel:246 +43936045632305:43936045663985 0:0 hcCommandMarker:248 +43936061522848:43936063368291 0:0 hcCommandKernel:251 +43936063371344:43936063402864 0:0 hcCommandMarker:253 +43936079184681:43936081031404 0:0 hcCommandKernel:256 +43936081034470:43936081065830 0:0 hcCommandMarker:258 +43936096912019:43936098088660 0:0 hcCommandKernel:261 +43936098091778:43936098098338 0:0 hcCommandMarker:263 +43936113848983:43936114331063 0:0 hcCommandKernel:266 +43936114334738:43936114341298 0:0 hcCommandMarker:268 +PASSED! +## Iteration (46) ################# +43936130207157:43936130701557 0:0 hcCommandKernel:271 +43936130704352:43936130710912 0:0 hcCommandMarker:273 +PASSED! +## Iteration (45) ################# +PASSED! +## Iteration (44) ################# +PASSED! +## Iteration (43) ################# +PASSED! +## Iteration (42) ################# +PASSED! +## Iteration (41) ################# +43936146563182:43936147046062 0:0 hcCommandKernel:276 +43936147049151:43936147055711 0:0 hcCommandMarker:278 +43936162894728:43936163374888 0:0 hcCommandKernel:281 +43936163377872:43936163384592 0:0 hcCommandMarker:283 +43936179200342:43936179687382 0:0 hcCommandKernel:286 +43936179691196:43936179697756 0:0 hcCommandMarker:288 +43936195476376:43936195958456 0:0 hcCommandKernel:291 +43936195961532:43936195968092 0:0 hcCommandMarker:293 +43936211754702:43936212238862 0:0 hcCommandKernel:296 +43936212241993:43936212248553 0:0 hcCommandMarker:298 +PASSED! +## Iteration (40) ################# +43936228051680:43936228530400 0:0 hcCommandKernel:301 +43936228534046:43936228540606 0:0 hcCommandMarker:303 +PASSED! +## Iteration (39) ################# +PASSED! +## Iteration (38) ################# +PASSED! +## Iteration (37) ################# +PASSED! +## Iteration (36) ################# +PASSED! +## Iteration (35) ################# +43936244268347:43936244752187 0:0 hcCommandKernel:306 +43936244759707:43936244766107 0:0 hcCommandMarker:308 +43936260465746:43936260949906 0:0 hcCommandKernel:311 +43936260953781:43936260960181 0:0 hcCommandMarker:313 +43936276704103:43936277186183 0:0 hcCommandKernel:316 +43936277189819:43936277196379 0:0 hcCommandMarker:318 +43936292908367:43936293394927 0:0 hcCommandKernel:321 +43936293398665:43936293405065 0:0 hcCommandMarker:323 +43936309159941:43936309655781 0:0 hcCommandKernel:326 +43936309658663:43936309665223 0:0 hcCommandMarker:328 +PASSED! +## Iteration (34) ################# +43936325491676:43936325977116 0:0 hcCommandKernel:331 +43936325980102:43936325986662 0:0 hcCommandMarker:333 +PASSED! +## Iteration (33) ################# +PASSED! +## Iteration (32) ################# +PASSED! +## Iteration (31) ################# +PASSED! +## Iteration (30) ################# +PASSED! +## Iteration (29) ################# +43936341856430:43936342339790 0:0 hcCommandKernel:336 +43936342342883:43936342349283 0:0 hcCommandMarker:338 +43936358065666:43936358544706 0:0 hcCommandKernel:341 +43936358548573:43936358554973 0:0 hcCommandMarker:343 +43936374226834:43936374711954 0:0 hcCommandKernel:346 +43936374714957:43936374721517 0:0 hcCommandMarker:348 +43936390393107:43936390876947 0:0 hcCommandKernel:351 +43936390879989:43936390886549 0:0 hcCommandMarker:353 +43936406478567:43936406968327 0:0 hcCommandKernel:356 +43936406971190:43936406977750 0:0 hcCommandMarker:358 +PASSED! +## Iteration (28) ################# +43936422759883:43936423242603 0:0 hcCommandKernel:361 +43936423245282:43936423251842 0:0 hcCommandMarker:363 +PASSED! +## Iteration (27) ################# +PASSED! +## Iteration (26) ################# +PASSED! +## Iteration (25) ################# +PASSED! +## Iteration (24) ################# +PASSED! +## Iteration (23) ################# +43936439030746:43936439514266 0:0 hcCommandKernel:366 +43936439518052:43936439524612 0:0 hcCommandMarker:368 +43936455234140:43936455719900 0:0 hcCommandKernel:371 +43936455722741:43936455729141 0:0 hcCommandMarker:373 +43936471535617:43936473377220 0:0 hcCommandKernel:376 +43936473379982:43936473411502 0:0 hcCommandMarker:378 +43936489194662:43936491033065 0:0 hcCommandKernel:381 +43936491035944:43936491067304 0:0 hcCommandMarker:383 +43936506844418:43936508676581 0:0 hcCommandKernel:386 +43936508679657:43936508711177 0:0 hcCommandMarker:388 +PASSED! +## Iteration (22) ################# +43936524587883:43936526420846 0:0 hcCommandKernel:391 +43936526423835:43936526455195 0:0 hcCommandMarker:393 +PASSED! +## Iteration (21) ################# +PASSED! +## Iteration (20) ################# +PASSED! +## Iteration (19) ################# +PASSED! +## Iteration (18) ################# +PASSED! +## Iteration (17) ################# +43936542246761:43936544088524 0:0 hcCommandKernel:396 +43936544091588:43936544123268 0:0 hcCommandMarker:398 +43936559948159:43936561794402 0:0 hcCommandKernel:401 +43936561797239:43936561828759 0:0 hcCommandMarker:403 +43936577605213:43936579448896 0:0 hcCommandKernel:406 +43936579451894:43936579483254 0:0 hcCommandMarker:408 +43936595369090:43936597208613 0:0 hcCommandKernel:411 +43936597211572:43936597242932 0:0 hcCommandMarker:413 +43936613017192:43936614856075 0:0 hcCommandKernel:416 +43936614859107:43936614890467 0:0 hcCommandMarker:418 +PASSED! +## Iteration (16) ################# +43936630770153:43936632618476 0:0 hcCommandKernel:421 +43936632621411:43936632653091 0:0 hcCommandMarker:423 +PASSED! +## Iteration (15) ################# +PASSED! +## Iteration (14) ################# +PASSED! +## Iteration (13) ################# +PASSED! +## Iteration (12) ################# +43936648421451:43936650272014 0:0 hcCommandKernel:426 +43936650274717:43936650306397 0:0 hcCommandMarker:428 +43936666186176:43936668028259 0:0 hcCommandKernel:431 +43936668031033:43936668062553 0:0 hcCommandMarker:433 +43936683847105:43936685694788 0:0 hcCommandKernel:436 +43936685697850:43936685729530 0:0 hcCommandMarker:438 +43936701611894:43936703454617 0:0 hcCommandKernel:441 +43936703457617:43936703488977 0:0 hcCommandMarker:443 +PASSED! +## Iteration (11) ################# +43936719264608:43936719749728 0:0 hcCommandKernel:446 +43936719752843:43936719759403 0:0 hcCommandMarker:448 +PASSED! +## Iteration (10) ################# +PASSED! +## Iteration (9) ################# +PASSED! +## Iteration (8) ################# +PASSED! +## Iteration (7) ################# +PASSED! +## Iteration (6) ################# +PASSED! +## Iteration (5) ################# +43936735528823:43936736005623 0:0 hcCommandKernel:451 +43936736008904:43936736015464 0:0 hcCommandMarker:453 +43936751784154:43936752265434 0:0 hcCommandKernel:456 +43936752268477:43936752274877 0:0 hcCommandMarker:458 +43936768038508:43936768522508 0:0 hcCommandKernel:461 +43936768526347:43936768532907 0:0 hcCommandMarker:463 +43936784289295:43936784779215 0:0 hcCommandKernel:466 +43936784782982:43936784789542 0:0 hcCommandMarker:468 +43936800538297:43936801016857 0:0 hcCommandKernel:471 +43936801019748:43936801026468 0:0 hcCommandMarker:473 +PASSED! +## Iteration (4) ################# +43936816815614:43936817294654 0:0 hcCommandKernel:476 +43936817297320:43936817303880 0:0 hcCommandMarker:478 +PASSED! +## Iteration (3) ################# +PASSED! +## Iteration (2) ################# +PASSED! +## Iteration (1) ################# +PASSED! +## Iteration (0) ################# +43936833089833:43936833579433 0:0 hcCommandKernel:481 +43936833582286:43936833588846 0:0 hcCommandMarker:483 +43936849646904:43936850132504 0:0 hcCommandKernel:486 +43936850135326:43936850141886 0:0 hcCommandMarker:488 +43936867294430:43936867780350 0:0 hcCommandKernel:491 +43936867783055:43936867789615 0:0 hcCommandMarker:493 +43936884613213:43936885103133 0:0 hcCommandKernel:496 +43936885106028:43936885112748 0:0 hcCommandMarker:498 +43936901844607:43936902331647 0:0 hcCommandKernel:501 +43936902334630:43936902341030 0:0 hcCommandMarker:503 +PASSED! diff --git a/test/golden_traces/MatrixTranspose_hip_period_trace.txt b/test/golden_traces/MatrixTranspose_hip_period_trace.txt new file mode 100644 index 0000000000..468e672c76 --- /dev/null +++ b/test/golden_traces/MatrixTranspose_hip_period_trace.txt @@ -0,0 +1,443 @@ +ROCTracer (pid=26055): +ROCTracer: trace control: delay(10us), length(100000us), rate(1000000us) + HIP-trace() +ROCTracer (pid=26055): +ROCTracer: trace control: delay(10us), length(100000us), rate(1000000us) + HIP-trace() +Device name Ellesmere [Radeon RX 470/480/570/570X/580/580X] +## Iteration (99) ################# +PASSED! +## Iteration (98) ################# +PASSED! +## Iteration (97) ################# +PASSED! +## Iteration (96) ################# +PASSED! +## Iteration (95) ################# +PASSED! +## Iteration (94) ################# +PASSED! +## Iteration (93) ################# +PASSED! +## Iteration (92) ################# +PASSED! +## Iteration (91) ################# +PASSED! +## Iteration (90) ################# +PASSED! +## Iteration (89) ################# +PASSED! +## Iteration (88) ################# +PASSED! +## Iteration (87) ################# +PASSED! +## Iteration (86) ################# +PASSED! +## Iteration (85) ################# +PASSED! +## Iteration (84) ################# +PASSED! +## Iteration (83) ################# +PASSED! +## Iteration (82) ################# +PASSED! +## Iteration (81) ################# +PASSED! +## Iteration (80) ################# +PASSED! +## Iteration (79) ################# +PASSED! +## Iteration (78) ################# +PASSED! +## Iteration (77) ################# +PASSED! +## Iteration (76) ################# +PASSED! +## Iteration (75) ################# +PASSED! +## Iteration (74) ################# +PASSED! +## Iteration (73) ################# +PASSED! +## Iteration (72) ################# +PASSED! +## Iteration (71) ################# +PASSED! +## Iteration (70) ################# +PASSED! +## Iteration (69) ################# +PASSED! +## Iteration (68) ################# +PASSED! +## Iteration (67) ################# +PASSED! +## Iteration (66) ################# +PASSED! +## Iteration (65) ################# +PASSED! +## Iteration (64) ################# +PASSED! +## Iteration (63) ################# +PASSED! +## Iteration (62) ################# +PASSED! +## Iteration (61) ################# +PASSED! +## Iteration (60) ################# +PASSED! +## Iteration (59) ################# +PASSED! +## Iteration (58) ################# +PASSED! +## Iteration (57) ################# +PASSED! +## Iteration (56) ################# +PASSED! +## Iteration (55) ################# +PASSED! +## Iteration (54) ################# +PASSED! +## Iteration (53) ################# +PASSED! +## Iteration (52) ################# +PASSED! +## Iteration (51) ################# +PASSED! +## Iteration (50) ################# +PASSED! +## Iteration (49) ################# +PASSED! +## Iteration (48) ################# +PASSED! +## Iteration (47) ################# +PASSED! +## Iteration (46) ################# +PASSED! +## Iteration (45) ################# +PASSED! +## Iteration (44) ################# +PASSED! +## Iteration (43) ################# +PASSED! +## Iteration (42) ################# +PASSED! +## Iteration (41) ################# +PASSED! +## Iteration (40) ################# +PASSED! +## Iteration (39) ################# +PASSED! +## Iteration (38) ################# +PASSED! +## Iteration (37) ################# +PASSED! +## Iteration (36) ################# +PASSED! +## Iteration (35) ################# +PASSED! +## Iteration (34) ################# +PASSED! +## Iteration (33) ################# +PASSED! +## Iteration (32) ################# +PASSED! +## Iteration (31) ################# +PASSED! +## Iteration (30) ################# +PASSED! +## Iteration (29) ################# +PASSED! +## Iteration (28) ################# +PASSED! +## Iteration (27) ################# +PASSED! +## Iteration (26) ################# +PASSED! +## Iteration (25) ################# +PASSED! +## Iteration (24) ################# +PASSED! +## Iteration (23) ################# +PASSED! +## Iteration (22) ################# +PASSED! +## Iteration (21) ################# +PASSED! +## Iteration (20) ################# +PASSED! +## Iteration (19) ################# +PASSED! +## Iteration (18) ################# +PASSED! +## Iteration (17) ################# +PASSED! +## Iteration (16) ################# +PASSED! +## Iteration (15) ################# +PASSED! +## Iteration (14) ################# +PASSED! +## Iteration (13) ################# +PASSED! +## Iteration (12) ################# +PASSED! +## Iteration (11) ################# +PASSED! +## Iteration (10) ################# +PASSED! +## Iteration (9) ################# +PASSED! +## Iteration (8) ################# +PASSED! +## Iteration (7) ################# +PASSED! +## Iteration (6) ################# +PASSED! +## Iteration (5) ################# +PASSED! +## Iteration (4) ################# +PASSED! +## Iteration (3) ################# +PASSED! +## Iteration (2) ################# +PASSED! +## Iteration (1) ################# +PASSED! +## Iteration (0) ################# +PASSED! +43932016356046:43932016397500 26055:26055 hipGetDeviceProperties() +43932018579649:43932018627633 26055:26055 hipMalloc(ptr(0x903400000) size(0x400000)) +43932018629101:43932018648692 26055:26055 hipMalloc(ptr(0x903c00000) size(0x400000)) +43932018657045:43932024206624 26055:26055 hipMemcpy(dst(0x903400000) src(0x25fd170) size(0x400000) kind(1)) +43932024210084:43932024210085 26055:26055 MARK(name(before HIP LaunchKernel)) +43932309367516:43932309367517 26055:26055 MARK(name(after HIP LaunchKernel)) +43932325768070:43932325768071 26055:26055 MARK(name(before HIP LaunchKernel)) +43932325806211:43932325806212 26055:26055 MARK(name(after HIP LaunchKernel)) +43932342067435:43932342067436 26055:26055 MARK(name(before HIP LaunchKernel)) +43932342101677:43932342101678 26055:26055 MARK(name(after HIP LaunchKernel)) +43932358360160:43932358360161 26055:26055 MARK(name(before HIP LaunchKernel)) +43932358394862:43932358394863 26055:26055 MARK(name(after HIP LaunchKernel)) +43932374818865:43932374818866 26055:26055 MARK(name(before HIP LaunchKernel)) +43932374857099:43932374857100 26055:26055 MARK(name(after HIP LaunchKernel)) +43932392553937:43932392553938 26055:26055 MARK(name(before HIP LaunchKernel)) +43932392587074:43932392587075 26055:26055 MARK(name(after HIP LaunchKernel)) +43932410322278:43932410322279 26055:26055 MARK(name(before HIP LaunchKernel)) +43932410356222:43932410356223 26055:26055 MARK(name(after HIP LaunchKernel)) +43932428013622:43932428013623 26055:26055 MARK(name(before HIP LaunchKernel)) +43932428047370:43932428047371 26055:26055 MARK(name(after HIP LaunchKernel)) +43932445823875:43932445823876 26055:26055 MARK(name(before HIP LaunchKernel)) +43932445858364:43932445858365 26055:26055 MARK(name(after HIP LaunchKernel)) +43932463522521:43932463522522 26055:26055 MARK(name(before HIP LaunchKernel)) +43932463556106:43932463556107 26055:26055 MARK(name(after HIP LaunchKernel)) +43932481264157:43932481264158 26055:26055 MARK(name(before HIP LaunchKernel)) +43932481302264:43932481302265 26055:26055 MARK(name(after HIP LaunchKernel)) +43932498957147:43932498957148 26055:26055 MARK(name(before HIP LaunchKernel)) +43932499007307:43932499007308 26055:26055 MARK(name(after HIP LaunchKernel)) +43932516701532:43932516701533 26055:26055 MARK(name(before HIP LaunchKernel)) +43932516740634:43932516740635 26055:26055 MARK(name(after HIP LaunchKernel)) +43932534396161:43932534396162 26055:26055 MARK(name(before HIP LaunchKernel)) +43932534430109:43932534430110 26055:26055 MARK(name(after HIP LaunchKernel)) +43932552136507:43932552136508 26055:26055 MARK(name(before HIP LaunchKernel)) +43932552174955:43932552174956 26055:26055 MARK(name(after HIP LaunchKernel)) +43932569838372:43932569838373 26055:26055 MARK(name(before HIP LaunchKernel)) +43932569873357:43932569873358 26055:26055 MARK(name(after HIP LaunchKernel)) +43932587582936:43932587582937 26055:26055 MARK(name(before HIP LaunchKernel)) +43932587616530:43932587616531 26055:26055 MARK(name(after HIP LaunchKernel)) +43932605271897:43932605271898 26055:26055 MARK(name(before HIP LaunchKernel)) +43932605306872:43932605306873 26055:26055 MARK(name(after HIP LaunchKernel)) +43932623037986:43932623037987 26055:26055 MARK(name(before HIP LaunchKernel)) +43932623072073:43932623072074 26055:26055 MARK(name(after HIP LaunchKernel)) +43932640747873:43932640747874 26055:26055 MARK(name(before HIP LaunchKernel)) +43932640782515:43932640782516 26055:26055 MARK(name(after HIP LaunchKernel)) +43932657068887:43932657068888 26055:26055 MARK(name(before HIP LaunchKernel)) +43932657102762:43932657102763 26055:26055 MARK(name(after HIP LaunchKernel)) +43932673379533:43932673379534 26055:26055 MARK(name(before HIP LaunchKernel)) +43932673413702:43932673413703 26055:26055 MARK(name(after HIP LaunchKernel)) +43932689650275:43932689650276 26055:26055 MARK(name(before HIP LaunchKernel)) +43932689688120:43932689688121 26055:26055 MARK(name(after HIP LaunchKernel)) +43932706024306:43932706024307 26055:26055 MARK(name(before HIP LaunchKernel)) +43932706061892:43932706061893 26055:26055 MARK(name(after HIP LaunchKernel)) +43932722404114:43932722404115 26055:26055 MARK(name(before HIP LaunchKernel)) +43932722450953:43932722450954 26055:26055 MARK(name(after HIP LaunchKernel)) +43932738747072:43932738747073 26055:26055 MARK(name(before HIP LaunchKernel)) +43932738783895:43932738783896 26055:26055 MARK(name(after HIP LaunchKernel)) +43932755053911:43932755053912 26055:26055 MARK(name(before HIP LaunchKernel)) +43932755086752:43932755086753 26055:26055 MARK(name(after HIP LaunchKernel)) +43932771329207:43932771329208 26055:26055 MARK(name(before HIP LaunchKernel)) +43932771347101:43932771347102 26055:26055 MARK(name(after HIP LaunchKernel)) +43932787609603:43932787609604 26055:26055 MARK(name(before HIP LaunchKernel)) +43932787626372:43932787626373 26055:26055 MARK(name(after HIP LaunchKernel)) +43932803880283:43932803880284 26055:26055 MARK(name(before HIP LaunchKernel)) +43932803913740:43932803913741 26055:26055 MARK(name(after HIP LaunchKernel)) +43932820132122:43932820132123 26055:26055 MARK(name(before HIP LaunchKernel)) +43932820170233:43932820170234 26055:26055 MARK(name(after HIP LaunchKernel)) +43932836497613:43932836497614 26055:26055 MARK(name(before HIP LaunchKernel)) +43932836535605:43932836535606 26055:26055 MARK(name(after HIP LaunchKernel)) +43932852904822:43932852904823 26055:26055 MARK(name(before HIP LaunchKernel)) +43932852942407:43932852942408 26055:26055 MARK(name(after HIP LaunchKernel)) +43932869290524:43932869290525 26055:26055 MARK(name(before HIP LaunchKernel)) +43932869329866:43932869329867 26055:26055 MARK(name(after HIP LaunchKernel)) +43932885635307:43932885635308 26055:26055 MARK(name(before HIP LaunchKernel)) +43932885669256:43932885669257 26055:26055 MARK(name(after HIP LaunchKernel)) +43932901970155:43932901970156 26055:26055 MARK(name(before HIP LaunchKernel)) +43932901989697:43932901989698 26055:26055 MARK(name(after HIP LaunchKernel)) +43932918260839:43932918260840 26055:26055 MARK(name(before HIP LaunchKernel)) +43932918293762:43932918293763 26055:26055 MARK(name(after HIP LaunchKernel)) +43932934545610:43932934545611 26055:26055 MARK(name(before HIP LaunchKernel)) +43932934577595:43932934577596 26055:26055 MARK(name(after HIP LaunchKernel)) +43932950855037:43932950855038 26055:26055 MARK(name(before HIP LaunchKernel)) +43932950906554:43932950906555 26055:26055 MARK(name(after HIP LaunchKernel)) +43932967158140:43932967158141 26055:26055 MARK(name(before HIP LaunchKernel)) +43932967204959:43932967204960 26055:26055 MARK(name(after HIP LaunchKernel)) +43932983443711:43932983443712 26055:26055 MARK(name(before HIP LaunchKernel)) +43932983481045:43932983481046 26055:26055 MARK(name(after HIP LaunchKernel)) +43932998919789:43932999777243 26055:26055 hipMemcpy(dst(0x903400000) src(0x25fd170) size(0x400000) kind(1)) +43932999778933:43932999778934 26055:26055 MARK(name(before HIP LaunchKernel)) +43932999790858:43932999857966 26055:26055 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43932999869719:43932999869720 26055:26055 MARK(name(after HIP LaunchKernel)) +43932999871831:43933002727304 26055:26055 hipMemcpy(dst(0x29fd180) src(0x903c00000) size(0x400000) kind(2)) +43933016724230:43933017583617 26055:26055 hipMemcpy(dst(0x903400000) src(0x25fd170) size(0x400000) kind(1)) +43933017585152:43933017585153 26055:26055 MARK(name(before HIP LaunchKernel)) +43933017597371:43933017637628 26055:26055 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43933017639250:43933017639251 26055:26055 MARK(name(after HIP LaunchKernel)) +43933017641217:43933020520010 26055:26055 hipMemcpy(dst(0x29fd180) src(0x903c00000) size(0x400000) kind(2)) +43933034542756:43933035404131 26055:26055 hipMemcpy(dst(0x903400000) src(0x25fd170) size(0x400000) kind(1)) +43933035405703:43933035405704 26055:26055 MARK(name(before HIP LaunchKernel)) +43933035417664:43933035457991 26055:26055 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43933035459677:43933035459678 26055:26055 MARK(name(after HIP LaunchKernel)) +43933035461554:43933038337624 26055:26055 hipMemcpy(dst(0x29fd180) src(0x903c00000) size(0x400000) kind(2)) +43933052293417:43933053160408 26055:26055 hipMemcpy(dst(0x903400000) src(0x25fd170) size(0x400000) kind(1)) +43933053162015:43933053162016 26055:26055 MARK(name(before HIP LaunchKernel)) +43933053174382:43933053196225 26055:26055 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43933053198167:43933053198168 26055:26055 MARK(name(after HIP LaunchKernel)) +43933053200026:43933056101223 26055:26055 hipMemcpy(dst(0x29fd180) src(0x903c00000) size(0x400000) kind(2)) +43933070121982:43933070978773 26055:26055 hipMemcpy(dst(0x903400000) src(0x25fd170) size(0x400000) kind(1)) +43933070980262:43933070980263 26055:26055 MARK(name(before HIP LaunchKernel)) +43933070997704:43933071038037 26055:26055 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43933071039939:43933071039940 26055:26055 MARK(name(after HIP LaunchKernel)) +43933071041871:43933073922115 26055:26055 hipMemcpy(dst(0x29fd180) src(0x903c00000) size(0x400000) kind(2)) +43933087857070:43933088762523 26055:26055 hipMemcpy(dst(0x903400000) src(0x25fd170) size(0x400000) kind(1)) +43933088764032:43933088764033 26055:26055 MARK(name(before HIP LaunchKernel)) +43933088775969:43933088816379 26055:26055 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43933088818233:43933088818234 26055:26055 MARK(name(after HIP LaunchKernel)) +43933088830023:43933091723027 26055:26055 hipMemcpy(dst(0x29fd180) src(0x903c00000) size(0x400000) kind(2)) +43933106593182:43933106593183 26055:26055 MARK(name(before HIP LaunchKernel)) +43933106631182:43933106631183 26055:26055 MARK(name(after HIP LaunchKernel)) +43933124264790:43933124264791 26055:26055 MARK(name(before HIP LaunchKernel)) +43933124299416:43933124299417 26055:26055 MARK(name(after HIP LaunchKernel)) +43933141986334:43933141986335 26055:26055 MARK(name(before HIP LaunchKernel)) +43933142020652:43933142020653 26055:26055 MARK(name(after HIP LaunchKernel)) +43933159656263:43933159656264 26055:26055 MARK(name(before HIP LaunchKernel)) +43933159689392:43933159689393 26055:26055 MARK(name(after HIP LaunchKernel)) +43933177421632:43933177421633 26055:26055 MARK(name(before HIP LaunchKernel)) +43933177460424:43933177460425 26055:26055 MARK(name(after HIP LaunchKernel)) +43933195118213:43933195118214 26055:26055 MARK(name(before HIP LaunchKernel)) +43933195156305:43933195156306 26055:26055 MARK(name(after HIP LaunchKernel)) +43933212858769:43933212858770 26055:26055 MARK(name(before HIP LaunchKernel)) +43933212892428:43933212892429 26055:26055 MARK(name(after HIP LaunchKernel)) +43933230550599:43933230550600 26055:26055 MARK(name(before HIP LaunchKernel)) +43933230584794:43933230584795 26055:26055 MARK(name(after HIP LaunchKernel)) +43933248275723:43933248275724 26055:26055 MARK(name(before HIP LaunchKernel)) +43933248310176:43933248310177 26055:26055 MARK(name(after HIP LaunchKernel)) +43933264626153:43933264626154 26055:26055 MARK(name(before HIP LaunchKernel)) +43933264665629:43933264665630 26055:26055 MARK(name(after HIP LaunchKernel)) +43933280992560:43933280992561 26055:26055 MARK(name(before HIP LaunchKernel)) +43933281027422:43933281027423 26055:26055 MARK(name(after HIP LaunchKernel)) +43933297321505:43933297321506 26055:26055 MARK(name(before HIP LaunchKernel)) +43933297359452:43933297359453 26055:26055 MARK(name(after HIP LaunchKernel)) +43933313662994:43933313662995 26055:26055 MARK(name(before HIP LaunchKernel)) +43933313700705:43933313700706 26055:26055 MARK(name(after HIP LaunchKernel)) +43933329971419:43933329971420 26055:26055 MARK(name(before HIP LaunchKernel)) +43933330018417:43933330018418 26055:26055 MARK(name(after HIP LaunchKernel)) +43933346273054:43933346273055 26055:26055 MARK(name(before HIP LaunchKernel)) +43933346306837:43933346306838 26055:26055 MARK(name(after HIP LaunchKernel)) +43933362521760:43933362521761 26055:26055 MARK(name(before HIP LaunchKernel)) +43933362540391:43933362540392 26055:26055 MARK(name(after HIP LaunchKernel)) +43933378827233:43933378827234 26055:26055 MARK(name(before HIP LaunchKernel)) +43933378845241:43933378845242 26055:26055 MARK(name(after HIP LaunchKernel)) +43933395183216:43933395183217 26055:26055 MARK(name(before HIP LaunchKernel)) +43933395215386:43933395215387 26055:26055 MARK(name(after HIP LaunchKernel)) +43933411559286:43933411559287 26055:26055 MARK(name(before HIP LaunchKernel)) +43933411596821:43933411596822 26055:26055 MARK(name(after HIP LaunchKernel)) +43933427865512:43933427865513 26055:26055 MARK(name(before HIP LaunchKernel)) +43933427898752:43933427898753 26055:26055 MARK(name(after HIP LaunchKernel)) +43933444147624:43933444147625 26055:26055 MARK(name(before HIP LaunchKernel)) +43933444175808:43933444175809 26055:26055 MARK(name(after HIP LaunchKernel)) +43933460414293:43933460414294 26055:26055 MARK(name(before HIP LaunchKernel)) +43933460446208:43933460446209 26055:26055 MARK(name(after HIP LaunchKernel)) +43933476718044:43933476718045 26055:26055 MARK(name(before HIP LaunchKernel)) +43933476749715:43933476749716 26055:26055 MARK(name(after HIP LaunchKernel)) +43933492989969:43933492989970 26055:26055 MARK(name(before HIP LaunchKernel)) +43933493020764:43933493020765 26055:26055 MARK(name(after HIP LaunchKernel)) +43933509257931:43933509257932 26055:26055 MARK(name(before HIP LaunchKernel)) +43933509289509:43933509289510 26055:26055 MARK(name(after HIP LaunchKernel)) +43933525557224:43933525557225 26055:26055 MARK(name(before HIP LaunchKernel)) +43933525588932:43933525588933 26055:26055 MARK(name(after HIP LaunchKernel)) +43933541884683:43933541884684 26055:26055 MARK(name(before HIP LaunchKernel)) +43933541916037:43933541916038 26055:26055 MARK(name(after HIP LaunchKernel)) +43933558234802:43933558234803 26055:26055 MARK(name(before HIP LaunchKernel)) +43933558266471:43933558266472 26055:26055 MARK(name(after HIP LaunchKernel)) +43933574598996:43933574598997 26055:26055 MARK(name(before HIP LaunchKernel)) +43933574630471:43933574630472 26055:26055 MARK(name(after HIP LaunchKernel)) +43933590916499:43933590916500 26055:26055 MARK(name(before HIP LaunchKernel)) +43933590946901:43933590946902 26055:26055 MARK(name(after HIP LaunchKernel)) +43933607216207:43933607216208 26055:26055 MARK(name(before HIP LaunchKernel)) +43933607247236:43933607247237 26055:26055 MARK(name(after HIP LaunchKernel)) +43933624120350:43933624120351 26055:26055 MARK(name(before HIP LaunchKernel)) +43933624138017:43933624138018 26055:26055 MARK(name(after HIP LaunchKernel)) +43933641790135:43933641790136 26055:26055 MARK(name(before HIP LaunchKernel)) +43933641807143:43933641807144 26055:26055 MARK(name(after HIP LaunchKernel)) +43933659509173:43933659509174 26055:26055 MARK(name(before HIP LaunchKernel)) +43933659526749:43933659526750 26055:26055 MARK(name(after HIP LaunchKernel)) +43933677219727:43933677219728 26055:26055 MARK(name(before HIP LaunchKernel)) +43933677254061:43933677254062 26055:26055 MARK(name(after HIP LaunchKernel)) +43933694974650:43933694974651 26055:26055 MARK(name(before HIP LaunchKernel)) +43933695009347:43933695009348 26055:26055 MARK(name(after HIP LaunchKernel)) +43933712659673:43933712659674 26055:26055 MARK(name(before HIP LaunchKernel)) +43933712708655:43933712708656 26055:26055 MARK(name(after HIP LaunchKernel)) +43933730412868:43933730412869 26055:26055 MARK(name(before HIP LaunchKernel)) +43933730446931:43933730446932 26055:26055 MARK(name(after HIP LaunchKernel)) +43933748101862:43933748101863 26055:26055 MARK(name(before HIP LaunchKernel)) +43933748139940:43933748139941 26055:26055 MARK(name(after HIP LaunchKernel)) +43933765877856:43933765877857 26055:26055 MARK(name(before HIP LaunchKernel)) +43933765916382:43933765916383 26055:26055 MARK(name(after HIP LaunchKernel)) +43933783570361:43933783570362 26055:26055 MARK(name(before HIP LaunchKernel)) +43933783603616:43933783603617 26055:26055 MARK(name(after HIP LaunchKernel)) +43933801334338:43933801334339 26055:26055 MARK(name(before HIP LaunchKernel)) +43933801368467:43933801368468 26055:26055 MARK(name(after HIP LaunchKernel)) +43933819035225:43933819035226 26055:26055 MARK(name(before HIP LaunchKernel)) +43933819068314:43933819068315 26055:26055 MARK(name(after HIP LaunchKernel)) +43933836809157:43933836809158 26055:26055 MARK(name(before HIP LaunchKernel)) +43933836847860:43933836847861 26055:26055 MARK(name(after HIP LaunchKernel)) +43933854512746:43933854512747 26055:26055 MARK(name(before HIP LaunchKernel)) +43933854546024:43933854546025 26055:26055 MARK(name(after HIP LaunchKernel)) +43933872241982:43933872241983 26055:26055 MARK(name(before HIP LaunchKernel)) +43933872276613:43933872276614 26055:26055 MARK(name(after HIP LaunchKernel)) +43933888625718:43933888625719 26055:26055 MARK(name(before HIP LaunchKernel)) +43933888659297:43933888659298 26055:26055 MARK(name(after HIP LaunchKernel)) +43933904989760:43933904989761 26055:26055 MARK(name(before HIP LaunchKernel)) +43933905023554:43933905023555 26055:26055 MARK(name(after HIP LaunchKernel)) +43933921307079:43933921307080 26055:26055 MARK(name(before HIP LaunchKernel)) +43933921344505:43933921344506 26055:26055 MARK(name(after HIP LaunchKernel)) +43933937634499:43933937634500 26055:26055 MARK(name(before HIP LaunchKernel)) +43933937681958:43933937681959 26055:26055 MARK(name(after HIP LaunchKernel)) +43933953935834:43933953935835 26055:26055 MARK(name(before HIP LaunchKernel)) +43933953973608:43933953973609 26055:26055 MARK(name(after HIP LaunchKernel)) +43933970237558:43933970237559 26055:26055 MARK(name(before HIP LaunchKernel)) +43933970274704:43933970274705 26055:26055 MARK(name(after HIP LaunchKernel)) +43933986518798:43933986518799 26055:26055 MARK(name(before HIP LaunchKernel)) +43933986551047:43933986551048 26055:26055 MARK(name(after HIP LaunchKernel)) +43934001936907:43934002013320 26055:26055 hipFree(ptr(0x903400000)) +43934002015215:43934002031122 26055:26055 hipFree(ptr(0x903c00000)) +43932999861577:43933001699020 0:0 hcCommandKernel:89 +43933001702044:43933001733884 0:0 hcCommandMarker:91 +43933017641348:43933019466951 0:0 hcCommandKernel:94 +43933019470002:43933019501362 0:0 hcCommandMarker:96 +43933035461722:43933037295325 0:0 hcCommandKernel:99 +43933037298331:43933037330011 0:0 hcCommandMarker:101 +43933053199946:43933055040429 0:0 hcCommandKernel:104 +43933055043394:43933055075234 0:0 hcCommandMarker:106 +43933071041680:43933072880403 0:0 hcCommandKernel:109 +43933072883281:43933072915281 0:0 hcCommandMarker:111 +43933088820348:43933090670751 0:0 hcCommandKernel:114 +43933090673779:43933090705459 0:0 hcCommandMarker:116 diff --git a/test/golden_traces/MatrixTranspose_mgpu_trace.txt b/test/golden_traces/MatrixTranspose_mgpu_trace.txt new file mode 100644 index 0000000000..77cb13f9c2 --- /dev/null +++ b/test/golden_traces/MatrixTranspose_mgpu_trace.txt @@ -0,0 +1,6595 @@ +# INIT ############################# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Number of GPUs: 1 +# START (99) ############################# + + + + + + + + + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + + + ptr(0x7ffdc052b378) size(0x400000) + + + + + + + *ptr(0x0x903400000) + + + ptr(0x7ffdc052b370) size(0x400000) + + + + + + + *ptr(0x0x903c00000) + + + dst(0x903400000) src(0x2401810) size(0x400000) kind(1) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + dst(0x2801820) src(0x903c00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + ptr(0x903400000) + + + + + + + + + + ptr(0x903c00000) + + + + + + + +# START (98) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (97) ############################# + + + + + + + + + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + + + ptr(0x7ffdc052b378) size(0x400000) + + + + + + + *ptr(0x0x903400000) + + + ptr(0x7ffdc052b370) size(0x400000) + + + + + + + *ptr(0x0x903c00000) + + + dst(0x903400000) src(0x7f1879f80010) size(0x400000) kind(1) + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0x30c1e60) src(0x903c00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + ptr(0x903400000) + + + + + + + + + + ptr(0x903c00000) + + + + + + + +# START (96) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (95) ############################# + + + + + + + + + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + + + ptr(0x7ffdc052b378) size(0x400000) + + + + + + + *ptr(0x0x903400000) + + + ptr(0x7ffdc052b370) size(0x400000) + + + + + + + *ptr(0x0x903c00000) + + + dst(0x903400000) src(0x7f1879f80010) size(0x400000) kind(1) + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0x30c1e60) src(0x903c00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + ptr(0x903400000) + + + + + + + + + + ptr(0x903c00000) + + + + + + + +# START (94) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (93) ############################# + + + + + + + + + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + + + ptr(0x7ffdc052b378) size(0x400000) + + + + + + + *ptr(0x0x903400000) + + + ptr(0x7ffdc052b370) size(0x400000) + + + + + + + *ptr(0x0x903c00000) + + + dst(0x903400000) src(0x7f1879f80010) size(0x400000) kind(1) + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0x30c1e60) src(0x903c00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + ptr(0x903400000) + + + + + + + + + + ptr(0x903c00000) + + + + + + + +# START (92) ############################# + Activity records: + hipGetDeviceCount correlation_id(1) time_ns(43922570338225:43922570350816) process_id(26027) thread_id(26027) + hipSetDevice correlation_id(2) time_ns(43922570414991:43922570417305) process_id(26027) thread_id(26027) + hipGetDeviceProperties correlation_id(3) time_ns(43922570420850:43922570423976) process_id(26027) thread_id(26027) + hipMalloc correlation_id(4) time_ns(43922572625420:43922572708261) process_id(26027) thread_id(26027) + hipMalloc correlation_id(5) time_ns(43922572712560:43922572747856) process_id(26027) thread_id(26027) +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + (null) correlation_id(6) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(6) time_ns(43922572757735:43922578884743) process_id(26027) thread_id(26027) + (null) correlation_id(7) time_ns(0:0) external_id(33) + hipModuleLaunchKernel correlation_id(7) time_ns(43922865127791:43922867209453) process_id(26027) thread_id(26027) + hcCommandKernel correlation_id(7) time_ns(43922867213507:43922867700708) device_id(0) queue_id(0) + hcCommandMarker correlation_id(8) time_ns(43922867711310:43922867722670) device_id(0) queue_id(0) + (null) correlation_id(8) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(8) time_ns(43922867233547:43922868704626) process_id(26027) thread_id(26027) + (null) correlation_id(9) time_ns(0:0) external_id(31) + hipFree correlation_id(9) time_ns(43922883606933:43922883712731) process_id(26027) thread_id(26027) + (null) correlation_id(10) time_ns(0:0) external_id(31) + hipFree correlation_id(10) time_ns(43922883719077:43922883747673) process_id(26027) thread_id(26027) + hipSetDevice correlation_id(11) time_ns(43922902865915:43922902875804) process_id(26027) thread_id(26027) + hipGetDeviceProperties correlation_id(12) time_ns(43922902879544:43922902881949) process_id(26027) thread_id(26027) + hipMalloc correlation_id(13) time_ns(43922905081211:43922905131288) process_id(26027) thread_id(26027) + hipMalloc correlation_id(14) time_ns(43922905146451:43922905187584) process_id(26027) thread_id(26027) + (null) correlation_id(15) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(15) time_ns(43922905201487:43922905857939) process_id(26027) thread_id(26027) + (null) correlation_id(16) time_ns(0:0) external_id(33) + hipModuleLaunchKernel correlation_id(16) time_ns(43922905888719:43922905928943) process_id(26027) thread_id(26027) + hcCommandKernel correlation_id(16) time_ns(43922905933474:43922906414755) device_id(0) queue_id(0) + hcCommandMarker correlation_id(17) time_ns(43922906417604:43922906424164) device_id(0) queue_id(0) + (null) correlation_id(17) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(17) time_ns(43922905933657:43922907330226) process_id(26027) thread_id(26027) + (null) correlation_id(18) time_ns(0:0) external_id(31) + hipFree correlation_id(18) time_ns(43922921951233:43922922047039) process_id(26027) thread_id(26027) + (null) correlation_id(19) time_ns(0:0) external_id(31) + hipFree correlation_id(19) time_ns(43922922053161:43922922081237) process_id(26027) thread_id(26027) + hipSetDevice correlation_id(20) time_ns(43922941195766:43922941205679) process_id(26027) thread_id(26027) + hipGetDeviceProperties correlation_id(21) time_ns(43922941209377:43922941211772) process_id(26027) thread_id(26027) + hipMalloc correlation_id(22) time_ns(43922943401847:43922943451557) process_id(26027) thread_id(26027) + hipMalloc correlation_id(23) time_ns(43922943468086:43922943496477) process_id(26027) thread_id(26027) + (null) correlation_id(24) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(24) time_ns(43922943500706:43922944138743) process_id(26027) thread_id(26027) + (null) correlation_id(25) time_ns(0:0) external_id(33) + hipModuleLaunchKernel correlation_id(25) time_ns(43922944170568:43922944210833) process_id(26027) thread_id(26027) + hcCommandKernel correlation_id(25) time_ns(43922944215327:43922944693408) device_id(0) queue_id(0) + hcCommandMarker correlation_id(26) time_ns(43922944696507:43922944703067) device_id(0) queue_id(0) + (null) correlation_id(26) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(26) time_ns(43922944229530:43922945636180) process_id(26027) thread_id(26027) + (null) correlation_id(27) time_ns(0:0) external_id(31) + hipFree correlation_id(27) time_ns(43922960282096:43922960379572) process_id(26027) thread_id(26027) + (null) correlation_id(28) time_ns(0:0) external_id(31) + hipFree correlation_id(28) time_ns(43922960385405:43922960421244) process_id(26027) thread_id(26027) + hipSetDevice correlation_id(29) time_ns(43922980986535:43922980996620) process_id(26027) thread_id(26027) + hipGetDeviceProperties correlation_id(30) time_ns(43922981000314:43922981002675) process_id(26027) thread_id(26027) + hipMalloc correlation_id(31) time_ns(43922983193110:43922983242775) process_id(26027) thread_id(26027) + hipMalloc correlation_id(32) time_ns(43922983258259:43922983298673) process_id(26027) thread_id(26027) + (null) correlation_id(33) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(33) time_ns(43922983303455:43922983991193) process_id(26027) thread_id(26027) + (null) correlation_id(34) time_ns(0:0) external_id(33) + hipModuleLaunchKernel correlation_id(34) time_ns(43922984026885:43922984067158) process_id(26027) thread_id(26027) + hcCommandKernel correlation_id(34) time_ns(43922984072743:43922985918186) device_id(0) queue_id(0) + hcCommandMarker correlation_id(35) time_ns(43922985922415:43922985953935) device_id(0) queue_id(0) + (null) correlation_id(35) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(35) time_ns(43922984082183:43922986890265) process_id(26027) thread_id(26027) + (null) correlation_id(36) time_ns(0:0) external_id(31) + hipFree correlation_id(36) time_ns(43923001493780:43923001593783) process_id(26027) thread_id(26027) + (null) correlation_id(37) time_ns(0:0) external_id(31) +PASSED! +# START (91) ############################# + + + + + + + + + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + + + ptr(0x7ffdc052b378) size(0x400000) + + + + + + + *ptr(0x0x903400000) + + + ptr(0x7ffdc052b370) size(0x400000) + + + + + + + *ptr(0x0x903c00000) + + + dst(0x903400000) src(0x7f1879f80010) size(0x400000) kind(1) + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + + dst(0x30c1e60) src(0x903c00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + ptr(0x903400000) + + + + + + + + + + ptr(0x903c00000) + + + + + + + +# START (90) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (89) ############################# + + + + + + + + + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + + + ptr(0x7ffdc052b378) size(0x400000) + + + + + + + *ptr(0x0x903400000) + + + ptr(0x7ffdc052b370) size(0x400000) + + + + + + + *ptr(0x0x903c00000) + + + dst(0x903400000) src(0x7f1879f80010) size(0x400000) kind(1) + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0x30c1e60) src(0x903c00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + ptr(0x903400000) + + + + + + + + + + ptr(0x903c00000) + + + + + + + +# START (88) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (87) ############################# + + + + + + + + + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + + + ptr(0x7ffdc052b378) size(0x400000) + + + + + + + *ptr(0x0x903400000) + + + ptr(0x7ffdc052b370) size(0x400000) + + + + + + + *ptr(0x0x903c00000) + + + dst(0x903400000) src(0x7f1879f80010) size(0x400000) kind(1) + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0x30c1e60) src(0x903c00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + ptr(0x903400000) + + + + + + + + + + ptr(0x903c00000) + + + + + + + +# START (86) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (85) ############################# + + + + + + + + + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + + + ptr(0x7ffdc052b378) size(0x400000) + + + + + + + *ptr(0x0x903400000) + + + ptr(0x7ffdc052b370) size(0x400000) + + + + + + + *ptr(0x0x903c00000) + + + dst(0x903400000) src(0x7f1879f80010) size(0x400000) kind(1) + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0x30c1e60) src(0x903c00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + ptr(0x903400000) + + + + + + + + + + ptr(0x903c00000) + + + + + + + +# START (84) ############################# + Activity records: + hipFree correlation_id(37) time_ns(43923001599628:43923001629383) process_id(26027) thread_id(26027) + hipSetDevice correlation_id(38) time_ns(43923022566379:43923022577111) process_id(26027) thread_id(26027) + hipGetDeviceProperties correlation_id(39) time_ns(43923022580804:43923022583438) process_id(26027) thread_id(26027) + hipMalloc correlation_id(40) time_ns(43923024855074:43923024907454) process_id(26027) thread_id(26027) + hipMalloc correlation_id(41) time_ns(43923024911894:43923024931794) process_id(26027) thread_id(26027) +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + (null) correlation_id(42) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(42) time_ns(43923024936698:43923025616946) process_id(26027) thread_id(26027) + (null) correlation_id(43) time_ns(0:0) external_id(33) + hipModuleLaunchKernel correlation_id(43) time_ns(43923025640747:43923025662374) process_id(26027) thread_id(26027) + hcCommandKernel correlation_id(43) time_ns(43923025667862:43923027514585) device_id(0) queue_id(0) + hcCommandMarker correlation_id(44) time_ns(43923027518869:43923027550069) device_id(0) queue_id(0) + (null) correlation_id(44) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(44) time_ns(43923025682586:43923028481953) process_id(26027) thread_id(26027) + (null) correlation_id(45) time_ns(0:0) external_id(31) + hipFree correlation_id(45) time_ns(43923043071306:43923043170243) process_id(26027) thread_id(26027) + (null) correlation_id(46) time_ns(0:0) external_id(31) + hipFree correlation_id(46) time_ns(43923043176011:43923043203101) process_id(26027) thread_id(26027) + hipSetDevice correlation_id(47) time_ns(43923063702211:43923063712585) process_id(26027) thread_id(26027) + hipGetDeviceProperties correlation_id(48) time_ns(43923063716382:43923063718832) process_id(26027) thread_id(26027) + hipMalloc correlation_id(49) time_ns(43923065915567:43923065966184) process_id(26027) thread_id(26027) + hipMalloc correlation_id(50) time_ns(43923065982886:43923066011591) process_id(26027) thread_id(26027) + (null) correlation_id(51) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(51) time_ns(43923066015842:43923066671501) process_id(26027) thread_id(26027) + (null) correlation_id(52) time_ns(0:0) external_id(33) + hipModuleLaunchKernel correlation_id(52) time_ns(43923066702430:43923066742257) process_id(26027) thread_id(26027) + hcCommandKernel correlation_id(52) time_ns(43923066747787:43923068582030) device_id(0) queue_id(0) + hcCommandMarker correlation_id(53) time_ns(43923068586194:43923068617714) device_id(0) queue_id(0) + (null) correlation_id(53) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(53) time_ns(43923066747235:43923069558816) process_id(26027) thread_id(26027) + (null) correlation_id(54) time_ns(0:0) external_id(31) + hipFree correlation_id(54) time_ns(43923084166434:43923084250009) process_id(26027) thread_id(26027) + (null) correlation_id(55) time_ns(0:0) external_id(31) + hipFree correlation_id(55) time_ns(43923084265884:43923084283599) process_id(26027) thread_id(26027) + hipSetDevice correlation_id(56) time_ns(43923104742826:43923104752374) process_id(26027) thread_id(26027) + hipGetDeviceProperties correlation_id(57) time_ns(43923104756067:43923104758528) process_id(26027) thread_id(26027) + hipMalloc correlation_id(58) time_ns(43923106948971:43923106998942) process_id(26027) thread_id(26027) + hipMalloc correlation_id(59) time_ns(43923107014427:43923107055323) process_id(26027) thread_id(26027) + (null) correlation_id(60) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(60) time_ns(43923107069378:43923107751363) process_id(26027) thread_id(26027) + (null) correlation_id(61) time_ns(0:0) external_id(33) + hipModuleLaunchKernel correlation_id(61) time_ns(43923107782202:43923107823928) process_id(26027) thread_id(26027) + hcCommandKernel correlation_id(61) time_ns(43923107829290:43923109660973) device_id(0) queue_id(0) + hcCommandMarker correlation_id(62) time_ns(43923109664904:43923109696424) device_id(0) queue_id(0) + (null) correlation_id(62) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(62) time_ns(43923107840747:43923110646206) process_id(26027) thread_id(26027) + (null) correlation_id(63) time_ns(0:0) external_id(31) + hipFree correlation_id(63) time_ns(43923125304818:43923125389418) process_id(26027) thread_id(26027) + (null) correlation_id(64) time_ns(0:0) external_id(31) + hipFree correlation_id(64) time_ns(43923125404917:43923125433357) process_id(26027) thread_id(26027) + hipSetDevice correlation_id(65) time_ns(43923145921261:43923145931435) process_id(26027) thread_id(26027) + hipGetDeviceProperties correlation_id(66) time_ns(43923145935238:43923145937651) process_id(26027) thread_id(26027) + hipMalloc correlation_id(67) time_ns(43923148135273:43923148184877) process_id(26027) thread_id(26027) + hipMalloc correlation_id(68) time_ns(43923148202166:43923148230717) process_id(26027) thread_id(26027) + (null) correlation_id(69) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(69) time_ns(43923148235195:43923148890206) process_id(26027) thread_id(26027) + (null) correlation_id(70) time_ns(0:0) external_id(33) + hipModuleLaunchKernel correlation_id(70) time_ns(43923148921619:43923148962298) process_id(26027) thread_id(26027) + hcCommandKernel correlation_id(70) time_ns(43923148967771:43923150804894) device_id(0) queue_id(0) + hcCommandMarker correlation_id(71) time_ns(43923150808892:43923150841052) device_id(0) queue_id(0) + (null) correlation_id(71) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(71) time_ns(43923148967011:43923151783982) process_id(26027) thread_id(26027) + (null) correlation_id(72) time_ns(0:0) external_id(31) + hipFree correlation_id(72) time_ns(43923166413821:43923166495698) process_id(26027) thread_id(26027) + (null) correlation_id(73) time_ns(0:0) external_id(31) +PASSED! +# START (83) ############################# + + + + + + + + + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + + + ptr(0x7ffdc052b378) size(0x400000) + + + + + + + *ptr(0x0x903400000) + + + ptr(0x7ffdc052b370) size(0x400000) + + + + + + + *ptr(0x0x903c00000) + + + dst(0x903400000) src(0x7f1879f80010) size(0x400000) kind(1) + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + + dst(0x30c1e60) src(0x903c00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + ptr(0x903400000) + + + + + + + + + + ptr(0x903c00000) + + + + + + + +# START (82) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (81) ############################# + + + + + + + + + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + + + ptr(0x7ffdc052b378) size(0x400000) + + + + + + + *ptr(0x0x903400000) + + + ptr(0x7ffdc052b370) size(0x400000) + + + + + + + *ptr(0x0x903c00000) + + + dst(0x903400000) src(0x7f1879f80010) size(0x400000) kind(1) + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0x30c1e60) src(0x903c00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + ptr(0x903400000) + + + + + + + + + + ptr(0x903c00000) + + + + + + + +# START (80) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (79) ############################# + + + + + + + + + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + + + ptr(0x7ffdc052b378) size(0x400000) + + + + + + + *ptr(0x0x903400000) + + + ptr(0x7ffdc052b370) size(0x400000) + + + + + + + *ptr(0x0x903c00000) + + + dst(0x903400000) src(0x7f1879f80010) size(0x400000) kind(1) + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0x30c1e60) src(0x903c00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + ptr(0x903400000) + + + + + + + + + + ptr(0x903c00000) + + + + + + + +# START (78) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (77) ############################# + + + + + + + + + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + + + ptr(0x7ffdc052b378) size(0x400000) + + + + + + + *ptr(0x0x903400000) + + + ptr(0x7ffdc052b370) size(0x400000) + + + + + + + *ptr(0x0x903c00000) + + + dst(0x903400000) src(0x7f1879f80010) size(0x400000) kind(1) + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0x30c1e60) src(0x903c00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + ptr(0x903400000) + + + + + + + + + + ptr(0x903c00000) + + + + + + + +# START (76) ############################# + Activity records: + hipFree correlation_id(73) time_ns(43923166501544:43923166529122) process_id(26027) thread_id(26027) + hipSetDevice correlation_id(74) time_ns(43923187472300:43923187482793) process_id(26027) thread_id(26027) + hipGetDeviceProperties correlation_id(75) time_ns(43923187486628:43923187489165) process_id(26027) thread_id(26027) + hipMalloc correlation_id(76) time_ns(43923189740883:43923189792175) process_id(26027) thread_id(26027) + hipMalloc correlation_id(77) time_ns(43923189796556:43923189816149) process_id(26027) thread_id(26027) +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + (null) correlation_id(78) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(78) time_ns(43923189821160:43923190481532) process_id(26027) thread_id(26027) + (null) correlation_id(79) time_ns(0:0) external_id(33) + hipModuleLaunchKernel correlation_id(79) time_ns(43923190506640:43923190528706) process_id(26027) thread_id(26027) + hcCommandKernel correlation_id(79) time_ns(43923190534173:43923192373536) device_id(0) queue_id(0) + hcCommandMarker correlation_id(80) time_ns(43923192377643:43923192409483) device_id(0) queue_id(0) + (null) correlation_id(80) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(80) time_ns(43923190543949:43923193343331) process_id(26027) thread_id(26027) + (null) correlation_id(81) time_ns(0:0) external_id(31) + hipFree correlation_id(81) time_ns(43923207940666:43923208041035) process_id(26027) thread_id(26027) + (null) correlation_id(82) time_ns(0:0) external_id(31) + hipFree correlation_id(82) time_ns(43923208047021:43923208064334) process_id(26027) thread_id(26027) + hipSetDevice correlation_id(83) time_ns(43923228537278:43923228546788) process_id(26027) thread_id(26027) + hipGetDeviceProperties correlation_id(84) time_ns(43923228550628:43923228553109) process_id(26027) thread_id(26027) + hipMalloc correlation_id(85) time_ns(43923230723589:43923230773155) process_id(26027) thread_id(26027) + hipMalloc correlation_id(86) time_ns(43923230777434:43923230806756) process_id(26027) thread_id(26027) + (null) correlation_id(87) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(87) time_ns(43923230810974:43923231437837) process_id(26027) thread_id(26027) + (null) correlation_id(88) time_ns(0:0) external_id(33) + hipModuleLaunchKernel correlation_id(88) time_ns(43923231468999:43923231510014) process_id(26027) thread_id(26027) + hcCommandKernel correlation_id(88) time_ns(43923231514484:43923231997685) device_id(0) queue_id(0) + hcCommandMarker correlation_id(89) time_ns(43923232000725:43923232007605) device_id(0) queue_id(0) + (null) correlation_id(89) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(89) time_ns(43923231514870:43923232945021) process_id(26027) thread_id(26027) + (null) correlation_id(90) time_ns(0:0) external_id(31) + hipFree correlation_id(90) time_ns(43923247555347:43923247652887) process_id(26027) thread_id(26027) + (null) correlation_id(91) time_ns(0:0) external_id(31) + hipFree correlation_id(91) time_ns(43923247658848:43923247675545) process_id(26027) thread_id(26027) + hipSetDevice correlation_id(92) time_ns(43923266790798:43923266800885) process_id(26027) thread_id(26027) + hipGetDeviceProperties correlation_id(93) time_ns(43923266804638:43923266807088) process_id(26027) thread_id(26027) + hipMalloc correlation_id(94) time_ns(43923269004204:43923269054294) process_id(26027) thread_id(26027) + hipMalloc correlation_id(95) time_ns(43923269071335:43923269099836) process_id(26027) thread_id(26027) + (null) correlation_id(96) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(96) time_ns(43923269104178:43923269741867) process_id(26027) thread_id(26027) + (null) correlation_id(97) time_ns(0:0) external_id(33) + hipModuleLaunchKernel correlation_id(97) time_ns(43923269773387:43923269813869) process_id(26027) thread_id(26027) + hcCommandKernel correlation_id(97) time_ns(43923269818278:43923270309158) device_id(0) queue_id(0) + hcCommandMarker correlation_id(98) time_ns(43923270312110:43923270318830) device_id(0) queue_id(0) + (null) correlation_id(98) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(98) time_ns(43923269829999:43923271227540) process_id(26027) thread_id(26027) + (null) correlation_id(99) time_ns(0:0) external_id(31) + hipFree correlation_id(99) time_ns(43923285847908:43923285945374) process_id(26027) thread_id(26027) + (null) correlation_id(100) time_ns(0:0) external_id(31) + hipFree correlation_id(100) time_ns(43923285951361:43923285968041) process_id(26027) thread_id(26027) + hipSetDevice correlation_id(101) time_ns(43923305073815:43923305083067) process_id(26027) thread_id(26027) + hipGetDeviceProperties correlation_id(102) time_ns(43923305087221:43923305089606) process_id(26027) thread_id(26027) + hipMalloc correlation_id(103) time_ns(43923307263948:43923307313870) process_id(26027) thread_id(26027) + hipMalloc correlation_id(104) time_ns(43923307318020:43923307356703) process_id(26027) thread_id(26027) + (null) correlation_id(105) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(105) time_ns(43923307360879:43923308032277) process_id(26027) thread_id(26027) + (null) correlation_id(106) time_ns(0:0) external_id(33) + hipModuleLaunchKernel correlation_id(106) time_ns(43923308056868:43923308096612) process_id(26027) thread_id(26027) + hcCommandKernel correlation_id(106) time_ns(43923308101054:43923308579934) device_id(0) queue_id(0) + hcCommandMarker correlation_id(107) time_ns(43923308582862:43923308589422) device_id(0) queue_id(0) + (null) correlation_id(107) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(107) time_ns(43923308101603:43923309526202) process_id(26027) thread_id(26027) + (null) correlation_id(108) time_ns(0:0) external_id(31) + hipFree correlation_id(108) time_ns(43923324159330:43923324253297) process_id(26027) thread_id(26027) + (null) correlation_id(109) time_ns(0:0) external_id(31) +PASSED! +# START (75) ############################# + + + + + + + + + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + + + ptr(0x7ffdc052b378) size(0x400000) + + + + + + + *ptr(0x0x903400000) + + + ptr(0x7ffdc052b370) size(0x400000) + + + + + + + *ptr(0x0x903c00000) + + + dst(0x903400000) src(0x7f1879f80010) size(0x400000) kind(1) + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + + dst(0x30c1e60) src(0x903c00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + ptr(0x903400000) + + + + + + + + + + ptr(0x903c00000) + + + + + + + +# START (74) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (73) ############################# + + + + + + + + + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + + + ptr(0x7ffdc052b378) size(0x400000) + + + + + + + *ptr(0x0x903400000) + + + ptr(0x7ffdc052b370) size(0x400000) + + + + + + + *ptr(0x0x903c00000) + + + dst(0x903400000) src(0x7f1879f80010) size(0x400000) kind(1) + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0x30c1e60) src(0x903c00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + ptr(0x903400000) + + + + + + + + + + ptr(0x903c00000) + + + + + + + +# START (72) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (71) ############################# + + + + + + + + + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + + + ptr(0x7ffdc052b378) size(0x400000) + + + + + + + *ptr(0x0x903400000) + + + ptr(0x7ffdc052b370) size(0x400000) + + + + + + + *ptr(0x0x903c00000) + + + dst(0x903400000) src(0x7f1879f80010) size(0x400000) kind(1) + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0x30c1e60) src(0x903c00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + ptr(0x903400000) + + + + + + + + + + ptr(0x903c00000) + + + + + + + +# START (70) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (69) ############################# + + + + + + + + + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + + + ptr(0x7ffdc052b378) size(0x400000) + + + + + + + *ptr(0x0x903400000) + + + ptr(0x7ffdc052b370) size(0x400000) + + + + + + + *ptr(0x0x903c00000) + + + dst(0x903400000) src(0x7f1879f80010) size(0x400000) kind(1) + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0x30c1e60) src(0x903c00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + ptr(0x903400000) + + + + + + + + + + ptr(0x903c00000) + + + + + + + +# START (68) ############################# + Activity records: + hipFree correlation_id(109) time_ns(43923324259607:43923324296890) process_id(26027) thread_id(26027) + hipSetDevice correlation_id(110) time_ns(43923343783441:43923343792602) process_id(26027) thread_id(26027) + hipGetDeviceProperties correlation_id(111) time_ns(43923343796414:43923343798915) process_id(26027) thread_id(26027) + hipMalloc correlation_id(112) time_ns(43923346029952:43923346080708) process_id(26027) thread_id(26027) + hipMalloc correlation_id(113) time_ns(43923346085241:43923346103704) process_id(26027) thread_id(26027) + (null) correlation_id(114) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(114) time_ns(43923346117301:43923346791409) process_id(26027) thread_id(26027) +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + (null) correlation_id(115) time_ns(0:0) external_id(33) + hipModuleLaunchKernel correlation_id(115) time_ns(43923346826463:43923346848239) process_id(26027) thread_id(26027) + hcCommandKernel correlation_id(115) time_ns(43923346852975:43923347343055) device_id(0) queue_id(0) + hcCommandMarker correlation_id(116) time_ns(43923347347000:43923347353880) device_id(0) queue_id(0) + (null) correlation_id(116) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(116) time_ns(43923346861840:43923348270921) process_id(26027) thread_id(26027) + (null) correlation_id(117) time_ns(0:0) external_id(31) + hipFree correlation_id(117) time_ns(43923362918776:43923363013264) process_id(26027) thread_id(26027) + (null) correlation_id(118) time_ns(0:0) external_id(31) + hipFree correlation_id(118) time_ns(43923363018807:43923363056010) process_id(26027) thread_id(26027) + hipSetDevice correlation_id(119) time_ns(43923382164288:43923382173905) process_id(26027) thread_id(26027) + hipGetDeviceProperties correlation_id(120) time_ns(43923382177905:43923382180619) process_id(26027) thread_id(26027) + hipMalloc correlation_id(121) time_ns(43923384379713:43923384430553) process_id(26027) thread_id(26027) + hipMalloc correlation_id(122) time_ns(43923384447265:43923384476233) process_id(26027) thread_id(26027) + (null) correlation_id(123) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(123) time_ns(43923384480482:43923385117773) process_id(26027) thread_id(26027) + (null) correlation_id(124) time_ns(0:0) external_id(33) + hipModuleLaunchKernel correlation_id(124) time_ns(43923385148848:43923385188553) process_id(26027) thread_id(26027) + hcCommandKernel correlation_id(124) time_ns(43923385193190:43923385682470) device_id(0) queue_id(0) + hcCommandMarker correlation_id(125) time_ns(43923385685409:43923385691969) device_id(0) queue_id(0) + (null) correlation_id(125) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(125) time_ns(43923385193330:43923386599747) process_id(26027) thread_id(26027) + (null) correlation_id(126) time_ns(0:0) external_id(31) + hipFree correlation_id(126) time_ns(43923401224065:43923401322747) process_id(26027) thread_id(26027) + (null) correlation_id(127) time_ns(0:0) external_id(31) + hipFree correlation_id(127) time_ns(43923401328833:43923401356064) process_id(26027) thread_id(26027) + hipSetDevice correlation_id(128) time_ns(43923420505471:43923420514646) process_id(26027) thread_id(26027) + hipGetDeviceProperties correlation_id(129) time_ns(43923420518402:43923420520840) process_id(26027) thread_id(26027) + hipMalloc correlation_id(130) time_ns(43923422695255:43923422745429) process_id(26027) thread_id(26027) + hipMalloc correlation_id(131) time_ns(43923422749520:43923422787237) process_id(26027) thread_id(26027) + (null) correlation_id(132) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(132) time_ns(43923422791618:43923423435484) process_id(26027) thread_id(26027) + (null) correlation_id(133) time_ns(0:0) external_id(33) + hipModuleLaunchKernel correlation_id(133) time_ns(43923423466950:43923423508155) process_id(26027) thread_id(26027) + hcCommandKernel correlation_id(133) time_ns(43923423512949:43923423996309) device_id(0) queue_id(0) + hcCommandMarker correlation_id(134) time_ns(43923423999174:43923424005894) device_id(0) queue_id(0) + (null) correlation_id(134) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(134) time_ns(43923423525127:43923424991816) process_id(26027) thread_id(26027) + (null) correlation_id(135) time_ns(0:0) external_id(31) + hipFree correlation_id(135) time_ns(43923439636628:43923439721518) process_id(26027) thread_id(26027) + (null) correlation_id(136) time_ns(0:0) external_id(31) + hipFree correlation_id(136) time_ns(43923439737564:43923439767604) process_id(26027) thread_id(26027) + hipSetDevice correlation_id(137) time_ns(43923458908892:43923458918725) process_id(26027) thread_id(26027) + hipGetDeviceProperties correlation_id(138) time_ns(43923458922419:43923458924977) process_id(26027) thread_id(26027) + hipMalloc correlation_id(139) time_ns(43923461119944:43923461169258) process_id(26027) thread_id(26027) + hipMalloc correlation_id(140) time_ns(43923461186478:43923461214108) process_id(26027) thread_id(26027) + (null) correlation_id(141) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(141) time_ns(43923461218204:43923461856445) process_id(26027) thread_id(26027) + (null) correlation_id(142) time_ns(0:0) external_id(33) + hipModuleLaunchKernel correlation_id(142) time_ns(43923461887128:43923461928559) process_id(26027) thread_id(26027) + hcCommandKernel correlation_id(142) time_ns(43923461933371:43923462413371) device_id(0) queue_id(0) + hcCommandMarker correlation_id(143) time_ns(43923462416318:43923462422878) device_id(0) queue_id(0) + (null) correlation_id(143) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(143) time_ns(43923461944949:43923463384786) process_id(26027) thread_id(26027) + (null) correlation_id(144) time_ns(0:0) external_id(31) + hipFree correlation_id(144) time_ns(43923478031514:43923478101679) process_id(26027) thread_id(26027) + (null) correlation_id(145) time_ns(0:0) external_id(31) +PASSED! +# START (67) ############################# + + + + + + + + + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + + + ptr(0x7ffdc052b378) size(0x400000) + + + + + + + *ptr(0x0x903400000) + + + ptr(0x7ffdc052b370) size(0x400000) + + + + + + + *ptr(0x0x903c00000) + + + dst(0x903400000) src(0x7f1879f80010) size(0x400000) kind(1) + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0x30c1e60) src(0x903c00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + ptr(0x903400000) + + + + + + + + + + ptr(0x903c00000) + + + + + + + +# START (66) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (65) ############################# + + + + + + + + + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + + + ptr(0x7ffdc052b378) size(0x400000) + + + + + + + *ptr(0x0x903400000) + + + ptr(0x7ffdc052b370) size(0x400000) + + + + + + + *ptr(0x0x903c00000) + + + dst(0x903400000) src(0x7f1879f80010) size(0x400000) kind(1) + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + + dst(0x30c1e60) src(0x903c00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + ptr(0x903400000) + + + + + + + + + + ptr(0x903c00000) + + + + + + + +# START (64) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (63) ############################# + + + + + + + + + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + + + ptr(0x7ffdc052b378) size(0x400000) + + + + + + + *ptr(0x0x903400000) + + + ptr(0x7ffdc052b370) size(0x400000) + + + + + + + *ptr(0x0x903c00000) + + + dst(0x903400000) src(0x7f1879f80010) size(0x400000) kind(1) + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0x30c1e60) src(0x903c00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + ptr(0x903400000) + + + + + + + + + + ptr(0x903c00000) + + + + + + + +# START (62) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (61) ############################# + + + + + + + + + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + + + ptr(0x7ffdc052b378) size(0x400000) + + + + + + + *ptr(0x0x903400000) + + + ptr(0x7ffdc052b370) size(0x400000) + + + + + + + *ptr(0x0x903c00000) + + + dst(0x903400000) src(0x7f1879f80010) size(0x400000) kind(1) + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + + dst(0x30c1e60) src(0x903c00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + ptr(0x903400000) + + + + + + + + + + ptr(0x903c00000) + + + + + + + +# START (60) ############################# + Activity records: + hipFree correlation_id(145) time_ns(43923478107118:43923478133836) process_id(26027) thread_id(26027) + hipSetDevice correlation_id(146) time_ns(43923497787053:43923497797057) process_id(26027) thread_id(26027) + hipGetDeviceProperties correlation_id(147) time_ns(43923497800893:43923497803502) process_id(26027) thread_id(26027) + hipMalloc correlation_id(148) time_ns(43923500074115:43923500125579) process_id(26027) thread_id(26027) + hipMalloc correlation_id(149) time_ns(43923500129967:43923500149866) process_id(26027) thread_id(26027) + (null) correlation_id(150) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(150) time_ns(43923500154821:43923500796762) process_id(26027) thread_id(26027) +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + (null) correlation_id(151) time_ns(0:0) external_id(33) + hipModuleLaunchKernel correlation_id(151) time_ns(43923500821675:43923500843166) process_id(26027) thread_id(26027) + hcCommandKernel correlation_id(151) time_ns(43923500847739:43923501333819) device_id(0) queue_id(0) + hcCommandMarker correlation_id(152) time_ns(43923501336746:43923501343306) device_id(0) queue_id(0) + (null) correlation_id(152) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(152) time_ns(43923500856672:43923502262652) process_id(26027) thread_id(26027) + (null) correlation_id(153) time_ns(0:0) external_id(31) + hipFree correlation_id(153) time_ns(43923516890979:43923516974407) process_id(26027) thread_id(26027) + (null) correlation_id(154) time_ns(0:0) external_id(31) + hipFree correlation_id(154) time_ns(43923516980172:43923517007413) process_id(26027) thread_id(26027) + hipSetDevice correlation_id(155) time_ns(43923536185924:43923536195427) process_id(26027) thread_id(26027) + hipGetDeviceProperties correlation_id(156) time_ns(43923536199375:43923536202001) process_id(26027) thread_id(26027) + hipMalloc correlation_id(157) time_ns(43923538372414:43923538422093) process_id(26027) thread_id(26027) + hipMalloc correlation_id(158) time_ns(43923538426404:43923538465287) process_id(26027) thread_id(26027) + (null) correlation_id(159) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(159) time_ns(43923538469387:43923539112786) process_id(26027) thread_id(26027) + (null) correlation_id(160) time_ns(0:0) external_id(33) + hipModuleLaunchKernel correlation_id(160) time_ns(43923539143922:43923539184637) process_id(26027) thread_id(26027) + hcCommandKernel correlation_id(160) time_ns(43923539189018:43923539679258) device_id(0) queue_id(0) + hcCommandMarker correlation_id(161) time_ns(43923539682215:43923539688775) device_id(0) queue_id(0) + (null) correlation_id(161) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(161) time_ns(43923539189370:43923540652339) process_id(26027) thread_id(26027) + (null) correlation_id(162) time_ns(0:0) external_id(31) + hipFree correlation_id(162) time_ns(43923555281370:43923555351858) process_id(26027) thread_id(26027) + (null) correlation_id(163) time_ns(0:0) external_id(31) + hipFree correlation_id(163) time_ns(43923555357808:43923555384570) process_id(26027) thread_id(26027) + hipSetDevice correlation_id(164) time_ns(43923574559865:43923574568423) process_id(26027) thread_id(26027) + hipGetDeviceProperties correlation_id(165) time_ns(43923574571947:43923574574268) process_id(26027) thread_id(26027) + hipMalloc correlation_id(166) time_ns(43923576768554:43923576816971) process_id(26027) thread_id(26027) + hipMalloc correlation_id(167) time_ns(43923576834755:43923576853291) process_id(26027) thread_id(26027) + (null) correlation_id(168) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(168) time_ns(43923576857952:43923577531887) process_id(26027) thread_id(26027) + (null) correlation_id(169) time_ns(0:0) external_id(33) + hipModuleLaunchKernel correlation_id(169) time_ns(43923577562527:43923577601613) process_id(26027) thread_id(26027) + hcCommandKernel correlation_id(169) time_ns(43923577606603:43923578089483) device_id(0) queue_id(0) + hcCommandMarker correlation_id(170) time_ns(43923578092421:43923578099301) device_id(0) queue_id(0) + (null) correlation_id(170) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(170) time_ns(43923577606200:43923579133582) process_id(26027) thread_id(26027) + (null) correlation_id(171) time_ns(0:0) external_id(31) + hipFree correlation_id(171) time_ns(43923593783428:43923593854144) process_id(26027) thread_id(26027) + (null) correlation_id(172) time_ns(0:0) external_id(31) + hipFree correlation_id(172) time_ns(43923593859731:43923593886059) process_id(26027) thread_id(26027) + hipSetDevice correlation_id(173) time_ns(43923614371074:43923614381008) process_id(26027) thread_id(26027) + hipGetDeviceProperties correlation_id(174) time_ns(43923614384837:43923614387415) process_id(26027) thread_id(26027) + hipMalloc correlation_id(175) time_ns(43923616587729:43923616637841) process_id(26027) thread_id(26027) + hipMalloc correlation_id(176) time_ns(43923616653716:43923616682292) process_id(26027) thread_id(26027) + (null) correlation_id(177) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(177) time_ns(43923616686661:43923617367358) process_id(26027) thread_id(26027) + (null) correlation_id(178) time_ns(0:0) external_id(33) + hipModuleLaunchKernel correlation_id(178) time_ns(43923617398197:43923617439007) process_id(26027) thread_id(26027) + hcCommandKernel correlation_id(178) time_ns(43923617444410:43923619286333) device_id(0) queue_id(0) + hcCommandMarker correlation_id(179) time_ns(43923619289400:43923619321400) device_id(0) queue_id(0) + (null) correlation_id(179) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(179) time_ns(43923617443875:43923620346684) process_id(26027) thread_id(26027) + (null) correlation_id(180) time_ns(0:0) external_id(31) + hipFree correlation_id(180) time_ns(43923634950544:43923635035155) process_id(26027) thread_id(26027) + (null) correlation_id(181) time_ns(0:0) external_id(31) +PASSED! +# START (59) ############################# + + + + + + + + + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + + + ptr(0x7ffdc052b378) size(0x400000) + + + + + + + *ptr(0x0x903400000) + + + ptr(0x7ffdc052b370) size(0x400000) + + + + + + + *ptr(0x0x903c00000) + + + dst(0x903400000) src(0x7f1879f80010) size(0x400000) kind(1) + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + + dst(0x30c1e60) src(0x903c00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + ptr(0x903400000) + + + + + + + + + + ptr(0x903c00000) + + + + + + + +# START (58) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (57) ############################# + + + + + + + + + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + + + ptr(0x7ffdc052b378) size(0x400000) + + + + + + + *ptr(0x0x903400000) + + + ptr(0x7ffdc052b370) size(0x400000) + + + + + + + *ptr(0x0x903c00000) + + + dst(0x903400000) src(0x7f1879f80010) size(0x400000) kind(1) + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + + dst(0x30c1e60) src(0x903c00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + ptr(0x903400000) + + + + + + + + + + ptr(0x903c00000) + + + + + + + +# START (56) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (55) ############################# + + + + + + + + + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + + + ptr(0x7ffdc052b378) size(0x400000) + + + + + + + *ptr(0x0x903400000) + + + ptr(0x7ffdc052b370) size(0x400000) + + + + + + + *ptr(0x0x903c00000) + + + dst(0x903400000) src(0x7f1879f80010) size(0x400000) kind(1) + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + + dst(0x30c1e60) src(0x903c00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + ptr(0x903400000) + + + + + + + + + + ptr(0x903c00000) + + + + + + + +# START (54) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (53) ############################# + + + + + + + + + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + + + ptr(0x7ffdc052b378) size(0x400000) + + + + + + + *ptr(0x0x903400000) + + + ptr(0x7ffdc052b370) size(0x400000) + + + + + + + *ptr(0x0x903c00000) + + + dst(0x903400000) src(0x7f1879f80010) size(0x400000) kind(1) + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0x30c1e60) src(0x903c00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + ptr(0x903400000) + + + + + + + + + + ptr(0x903c00000) + + + + + + + +# START (52) ############################# + Activity records: + hipFree correlation_id(181) time_ns(43923635040796:43923635067423) process_id(26027) thread_id(26027) + hipSetDevice correlation_id(182) time_ns(43923655974843:43923655985986) process_id(26027) thread_id(26027) + hipGetDeviceProperties correlation_id(183) time_ns(43923655989930:43923655993147) process_id(26027) thread_id(26027) + hipMalloc correlation_id(184) time_ns(43923658246101:43923658298790) process_id(26027) thread_id(26027) + hipMalloc correlation_id(185) time_ns(43923658303339:43923658323309) process_id(26027) thread_id(26027) + (null) correlation_id(186) time_ns(0:0) external_id(32) +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + hipMemcpy correlation_id(186) time_ns(43923658328717:43923659005376) process_id(26027) thread_id(26027) + (null) correlation_id(187) time_ns(0:0) external_id(33) + hipModuleLaunchKernel correlation_id(187) time_ns(43923659029806:43923659052256) process_id(26027) thread_id(26027) + hcCommandKernel correlation_id(187) time_ns(43923659063291:43923660906334) device_id(0) queue_id(0) + hcCommandMarker correlation_id(188) time_ns(43923660909068:43923660940908) device_id(0) queue_id(0) + (null) correlation_id(188) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(188) time_ns(43923659068015:43923661955500) process_id(26027) thread_id(26027) + (null) correlation_id(189) time_ns(0:0) external_id(31) + hipFree correlation_id(189) time_ns(43923676770003:43923676860623) process_id(26027) thread_id(26027) + (null) correlation_id(190) time_ns(0:0) external_id(31) + hipFree correlation_id(190) time_ns(43923676876968:43923676895497) process_id(26027) thread_id(26027) + hipSetDevice correlation_id(191) time_ns(43923697660900:43923697669089) process_id(26027) thread_id(26027) + hipGetDeviceProperties correlation_id(192) time_ns(43923697682986:43923697685330) process_id(26027) thread_id(26027) + hipMalloc correlation_id(193) time_ns(43923699891927:43923699953112) process_id(26027) thread_id(26027) + hipMalloc correlation_id(194) time_ns(43923699966662:43923699996846) process_id(26027) thread_id(26027) + (null) correlation_id(195) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(195) time_ns(43923700007081:43923700671536) process_id(26027) thread_id(26027) + (null) correlation_id(196) time_ns(0:0) external_id(33) + hipModuleLaunchKernel correlation_id(196) time_ns(43923700705997:43923700746728) process_id(26027) thread_id(26027) + hcCommandKernel correlation_id(196) time_ns(43923700748397:43923702591920) device_id(0) queue_id(0) + hcCommandMarker correlation_id(197) time_ns(43923702594931:43923702627091) device_id(0) queue_id(0) + (null) correlation_id(197) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(197) time_ns(43923700758715:43923703651888) process_id(26027) thread_id(26027) + (null) correlation_id(198) time_ns(0:0) external_id(31) + hipFree correlation_id(198) time_ns(43923718320201:43923718404644) process_id(26027) thread_id(26027) + (null) correlation_id(199) time_ns(0:0) external_id(31) + hipFree correlation_id(199) time_ns(43923718410462:43923718437157) process_id(26027) thread_id(26027) + hipSetDevice correlation_id(200) time_ns(43923739065926:43923739076200) process_id(26027) thread_id(26027) + hipGetDeviceProperties correlation_id(201) time_ns(43923739090270:43923739092867) process_id(26027) thread_id(26027) + hipMalloc correlation_id(202) time_ns(43923741261081:43923741311830) process_id(26027) thread_id(26027) + hipMalloc correlation_id(203) time_ns(43923741316146:43923741354541) process_id(26027) thread_id(26027) + (null) correlation_id(204) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(204) time_ns(43923741358648:43923742048288) process_id(26027) thread_id(26027) + (null) correlation_id(205) time_ns(0:0) external_id(33) + hipModuleLaunchKernel correlation_id(205) time_ns(43923742079823:43923742119846) process_id(26027) thread_id(26027) + hcCommandKernel correlation_id(205) time_ns(43923742125361:43923743966164) device_id(0) queue_id(0) + hcCommandMarker correlation_id(206) time_ns(43923743969118:43923744001278) device_id(0) queue_id(0) + (null) correlation_id(206) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(206) time_ns(43923742124688:43923745002387) process_id(26027) thread_id(26027) + (null) correlation_id(207) time_ns(0:0) external_id(31) + hipFree correlation_id(207) time_ns(43923759598842:43923759684702) process_id(26027) thread_id(26027) + (null) correlation_id(208) time_ns(0:0) external_id(31) + hipFree correlation_id(208) time_ns(43923759700758:43923759730435) process_id(26027) thread_id(26027) + hipSetDevice correlation_id(209) time_ns(43923780293722:43923780303409) process_id(26027) thread_id(26027) + hipGetDeviceProperties correlation_id(210) time_ns(43923780307271:43923780309737) process_id(26027) thread_id(26027) + hipMalloc correlation_id(211) time_ns(43923782500661:43923782550435) process_id(26027) thread_id(26027) + hipMalloc correlation_id(212) time_ns(43923782566769:43923782595397) process_id(26027) thread_id(26027) + (null) correlation_id(213) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(213) time_ns(43923782599606:43923783256624) process_id(26027) thread_id(26027) + (null) correlation_id(214) time_ns(0:0) external_id(33) + hipModuleLaunchKernel correlation_id(214) time_ns(43923783287682:43923783328269) process_id(26027) thread_id(26027) + hcCommandKernel correlation_id(214) time_ns(43923783334160:43923785178163) device_id(0) queue_id(0) + hcCommandMarker correlation_id(215) time_ns(43923785181076:43923785213076) device_id(0) queue_id(0) + (null) correlation_id(215) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(215) time_ns(43923783333005:43923786216665) process_id(26027) thread_id(26027) + (null) correlation_id(216) time_ns(0:0) external_id(31) + hipFree correlation_id(216) time_ns(43923800877367:43923800968284) process_id(26027) thread_id(26027) + (null) correlation_id(217) time_ns(0:0) external_id(31) +PASSED! +# START (51) ############################# + + + + + + + + + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + + + ptr(0x7ffdc052b378) size(0x400000) + + + + + + + *ptr(0x0x903400000) + + + ptr(0x7ffdc052b370) size(0x400000) + + + + + + + *ptr(0x0x903c00000) + + + dst(0x903400000) src(0x7f1879f80010) size(0x400000) kind(1) + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0x30c1e60) src(0x903c00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + ptr(0x903400000) + + + + + + + + + + ptr(0x903c00000) + + + + + + + +# START (50) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (49) ############################# + + + + + + + + + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + + + ptr(0x7ffdc052b378) size(0x400000) + + + + + + + *ptr(0x0x903400000) + + + ptr(0x7ffdc052b370) size(0x400000) + + + + + + + *ptr(0x0x903c00000) + + + dst(0x903400000) src(0x7f1879f80010) size(0x400000) kind(1) + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0x30c1e60) src(0x903c00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + ptr(0x903400000) + + + + + + + + + + ptr(0x903c00000) + + + + + + + +# START (48) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (47) ############################# + + + + + + + + + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + + + ptr(0x7ffdc052b378) size(0x400000) + + + + + + + *ptr(0x0x903400000) + + + ptr(0x7ffdc052b370) size(0x400000) + + + + + + + *ptr(0x0x903c00000) + + + dst(0x903400000) src(0x7f1879f80010) size(0x400000) kind(1) + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0x30c1e60) src(0x903c00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + ptr(0x903400000) + + + + + + + + + + ptr(0x903c00000) + + + + + + + +# START (46) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (45) ############################# + + + + + + + + + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + + + ptr(0x7ffdc052b378) size(0x400000) + + + + + + + *ptr(0x0x903400000) + + + ptr(0x7ffdc052b370) size(0x400000) + + + + + + + *ptr(0x0x903c00000) + + + dst(0x903400000) src(0x7f1879f80010) size(0x400000) kind(1) + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + + dst(0x30c1e60) src(0x903c00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + ptr(0x903400000) + + + + + + + + + + ptr(0x903c00000) + + + + + + + +# START (44) ############################# + Activity records: + hipFree correlation_id(217) time_ns(43923800974193:43923801002074) process_id(26027) thread_id(26027) + hipSetDevice correlation_id(218) time_ns(43923821923676:43923821933811) process_id(26027) thread_id(26027) + hipGetDeviceProperties correlation_id(219) time_ns(43923821937522:43923821940063) process_id(26027) thread_id(26027) + hipMalloc correlation_id(220) time_ns(43923824213169:43923824264743) process_id(26027) thread_id(26027) + hipMalloc correlation_id(221) time_ns(43923824269322:43923824289224) process_id(26027) thread_id(26027) +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + (null) correlation_id(222) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(222) time_ns(43923824294155:43923824954754) process_id(26027) thread_id(26027) + (null) correlation_id(223) time_ns(0:0) external_id(33) + hipModuleLaunchKernel correlation_id(223) time_ns(43923824979430:43923825001473) process_id(26027) thread_id(26027) + hcCommandKernel correlation_id(223) time_ns(43923825007133:43923826844896) device_id(0) queue_id(0) + hcCommandMarker correlation_id(224) time_ns(43923826847709:43923826879549) device_id(0) queue_id(0) + (null) correlation_id(224) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(224) time_ns(43923825015022:43923827883491) process_id(26027) thread_id(26027) + (null) correlation_id(225) time_ns(0:0) external_id(31) + hipFree correlation_id(225) time_ns(43923842537911:43923842620877) process_id(26027) thread_id(26027) + (null) correlation_id(226) time_ns(0:0) external_id(31) + hipFree correlation_id(226) time_ns(43923842637318:43923842666493) process_id(26027) thread_id(26027) + hipSetDevice correlation_id(227) time_ns(43923861766130:43923861776321) process_id(26027) thread_id(26027) + hipGetDeviceProperties correlation_id(228) time_ns(43923861780019:43923861782446) process_id(26027) thread_id(26027) + hipMalloc correlation_id(229) time_ns(43923863972094:43923864039954) process_id(26027) thread_id(26027) + hipMalloc correlation_id(230) time_ns(43923864057471:43923864089047) process_id(26027) thread_id(26027) + (null) correlation_id(231) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(231) time_ns(43923864094177:43923864740876) process_id(26027) thread_id(26027) + (null) correlation_id(232) time_ns(0:0) external_id(33) + hipModuleLaunchKernel correlation_id(232) time_ns(43923864771362:43923864812507) process_id(26027) thread_id(26027) + hcCommandKernel correlation_id(232) time_ns(43923864817106:43923865301106) device_id(0) queue_id(0) + hcCommandMarker correlation_id(233) time_ns(43923865304184:43923865310744) device_id(0) queue_id(0) + (null) correlation_id(233) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(233) time_ns(43923864817292:43923866255059) process_id(26027) thread_id(26027) + (null) correlation_id(234) time_ns(0:0) external_id(31) + hipFree correlation_id(234) time_ns(43923880888738:43923880989206) process_id(26027) thread_id(26027) + (null) correlation_id(235) time_ns(0:0) external_id(31) + hipFree correlation_id(235) time_ns(43923881003862:43923881030622) process_id(26027) thread_id(26027) + hipSetDevice correlation_id(236) time_ns(43923900186141:43923900195829) process_id(26027) thread_id(26027) + hipGetDeviceProperties correlation_id(237) time_ns(43923900199802:43923900202255) process_id(26027) thread_id(26027) + hipMalloc correlation_id(238) time_ns(43923902393152:43923902454943) process_id(26027) thread_id(26027) + hipMalloc correlation_id(239) time_ns(43923902459292:43923902487918) process_id(26027) thread_id(26027) + (null) correlation_id(240) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(240) time_ns(43923902492113:43923903128658) process_id(26027) thread_id(26027) + (null) correlation_id(241) time_ns(0:0) external_id(33) + hipModuleLaunchKernel correlation_id(241) time_ns(43923903159454:43923903200555) process_id(26027) thread_id(26027) + hcCommandKernel correlation_id(241) time_ns(43923903205033:43923903690473) device_id(0) queue_id(0) + hcCommandMarker correlation_id(242) time_ns(43923903693465:43923903700025) device_id(0) queue_id(0) + (null) correlation_id(242) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(242) time_ns(43923903205188:43923904663132) process_id(26027) thread_id(26027) + (null) correlation_id(243) time_ns(0:0) external_id(31) + hipFree correlation_id(243) time_ns(43923919295931:43923919365533) process_id(26027) thread_id(26027) + (null) correlation_id(244) time_ns(0:0) external_id(31) + hipFree correlation_id(244) time_ns(43923919370940:43923919397404) process_id(26027) thread_id(26027) + hipSetDevice correlation_id(245) time_ns(43923938489404:43923938499380) process_id(26027) thread_id(26027) + hipGetDeviceProperties correlation_id(246) time_ns(43923938503077:43923938505438) process_id(26027) thread_id(26027) + hipMalloc correlation_id(247) time_ns(43923940680966:43923940730786) process_id(26027) thread_id(26027) + hipMalloc correlation_id(248) time_ns(43923940735372:43923940764971) process_id(26027) thread_id(26027) + (null) correlation_id(249) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(249) time_ns(43923940769209:43923941386237) process_id(26027) thread_id(26027) + (null) correlation_id(250) time_ns(0:0) external_id(33) + hipModuleLaunchKernel correlation_id(250) time_ns(43923941417772:43923941458957) process_id(26027) thread_id(26027) + hcCommandKernel correlation_id(250) time_ns(43923941463395:43923941944675) device_id(0) queue_id(0) + hcCommandMarker correlation_id(251) time_ns(43923941947651:43923941954211) device_id(0) queue_id(0) + (null) correlation_id(251) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(251) time_ns(43923941463630:43923942895196) process_id(26027) thread_id(26027) + (null) correlation_id(252) time_ns(0:0) external_id(31) + hipFree correlation_id(252) time_ns(43923957484127:43923957580001) process_id(26027) thread_id(26027) + (null) correlation_id(253) time_ns(0:0) external_id(31) +PASSED! +# START (43) ############################# + + + + + + + + + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + + + ptr(0x7ffdc052b378) size(0x400000) + + + + + + + *ptr(0x0x903400000) + + + ptr(0x7ffdc052b370) size(0x400000) + + + + + + + *ptr(0x0x903c00000) + + + dst(0x903400000) src(0x7f1879f80010) size(0x400000) kind(1) + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0x30c1e60) src(0x903c00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + ptr(0x903400000) + + + + + + + + + + ptr(0x903c00000) + + + + + + + +# START (42) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (41) ############################# + + + + + + + + + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + + + ptr(0x7ffdc052b378) size(0x400000) + + + + + + + *ptr(0x0x903400000) + + + ptr(0x7ffdc052b370) size(0x400000) + + + + + + + *ptr(0x0x903c00000) + + + dst(0x903400000) src(0x7f1879f80010) size(0x400000) kind(1) + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0x30c1e60) src(0x903c00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + ptr(0x903400000) + + + + + + + + + + ptr(0x903c00000) + + + + + + + +# START (40) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (39) ############################# + + + + + + + + + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + + + ptr(0x7ffdc052b378) size(0x400000) + + + + + + + *ptr(0x0x903400000) + + + ptr(0x7ffdc052b370) size(0x400000) + + + + + + + *ptr(0x0x903c00000) + + + dst(0x903400000) src(0x7f1879f80010) size(0x400000) kind(1) + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0x30c1e60) src(0x903c00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + ptr(0x903400000) + + + + + + + + + + ptr(0x903c00000) + + + + + + + +# START (38) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (37) ############################# + + + + + + + + + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + + + ptr(0x7ffdc052b378) size(0x400000) + + + + + + + *ptr(0x0x903400000) + + + ptr(0x7ffdc052b370) size(0x400000) + + + + + + + *ptr(0x0x903c00000) + + + dst(0x903400000) src(0x7f1879f80010) size(0x400000) kind(1) + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + + dst(0x30c1e60) src(0x903c00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + ptr(0x903400000) + + + + + + + + + + ptr(0x903c00000) + + + + + + + +# START (36) ############################# + Activity records: + hipFree correlation_id(253) time_ns(43923957585741:43923957612870) process_id(26027) thread_id(26027) + hipSetDevice correlation_id(254) time_ns(43923977085513:43923977095289) process_id(26027) thread_id(26027) + hipGetDeviceProperties correlation_id(255) time_ns(43923977109029:43923977111674) process_id(26027) thread_id(26027) + hipMalloc correlation_id(256) time_ns(43923979317852:43923979378871) process_id(26027) thread_id(26027) + hipMalloc correlation_id(257) time_ns(43923979392472:43923979422257) process_id(26027) thread_id(26027) +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + (null) correlation_id(258) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(258) time_ns(43923979426410:43923980064921) process_id(26027) thread_id(26027) + (null) correlation_id(259) time_ns(0:0) external_id(33) + hipModuleLaunchKernel correlation_id(259) time_ns(43923980096048:43923980137087) process_id(26027) thread_id(26027) + hcCommandKernel correlation_id(259) time_ns(43923980141801:43923980625481) device_id(0) queue_id(0) + hcCommandMarker correlation_id(260) time_ns(43923980628295:43923980635015) device_id(0) queue_id(0) + (null) correlation_id(260) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(260) time_ns(43923980141914:43923981601157) process_id(26027) thread_id(26027) + (null) correlation_id(261) time_ns(0:0) external_id(31) + hipFree correlation_id(261) time_ns(43923996238184:43923996331957) process_id(26027) thread_id(26027) + (null) correlation_id(262) time_ns(0:0) external_id(31) + hipFree correlation_id(262) time_ns(43923996337229:43923996353339) process_id(26027) thread_id(26027) + hipSetDevice correlation_id(263) time_ns(43924015379706:43924015389299) process_id(26027) thread_id(26027) + hipGetDeviceProperties correlation_id(264) time_ns(43924015392814:43924015395121) process_id(26027) thread_id(26027) + hipMalloc correlation_id(265) time_ns(43924017571212:43924017619824) process_id(26027) thread_id(26027) + hipMalloc correlation_id(266) time_ns(43924017623918:43924017651953) process_id(26027) thread_id(26027) + (null) correlation_id(267) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(267) time_ns(43924017656734:43924018300772) process_id(26027) thread_id(26027) + (null) correlation_id(268) time_ns(0:0) external_id(33) + hipModuleLaunchKernel correlation_id(268) time_ns(43924018332018:43924018372394) process_id(26027) thread_id(26027) + hcCommandKernel correlation_id(268) time_ns(43924018377238:43924018857878) device_id(0) queue_id(0) + hcCommandMarker correlation_id(269) time_ns(43924018860661:43924018867381) device_id(0) queue_id(0) + (null) correlation_id(269) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(269) time_ns(43924018376979:43924019807931) process_id(26027) thread_id(26027) + (null) correlation_id(270) time_ns(0:0) external_id(31) + hipFree correlation_id(270) time_ns(43924034370733:43924034462002) process_id(26027) thread_id(26027) + (null) correlation_id(271) time_ns(0:0) external_id(31) + hipFree correlation_id(271) time_ns(43924034467948:43924034967481) process_id(26027) thread_id(26027) + hipSetDevice correlation_id(272) time_ns(43924053901958:43924053911808) process_id(26027) thread_id(26027) + hipGetDeviceProperties correlation_id(273) time_ns(43924053915503:43924053917837) process_id(26027) thread_id(26027) + hipMalloc correlation_id(274) time_ns(43924056115847:43924056166685) process_id(26027) thread_id(26027) + hipMalloc correlation_id(275) time_ns(43924056183398:43924056212459) process_id(26027) thread_id(26027) + (null) correlation_id(276) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(276) time_ns(43924056216824:43924056854100) process_id(26027) thread_id(26027) + (null) correlation_id(277) time_ns(0:0) external_id(33) + hipModuleLaunchKernel correlation_id(277) time_ns(43924056885223:43924056926049) process_id(26027) thread_id(26027) + hcCommandKernel correlation_id(277) time_ns(43924056930476:43924057416876) device_id(0) queue_id(0) + hcCommandMarker correlation_id(278) time_ns(43924057419895:43924057426455) device_id(0) queue_id(0) + (null) correlation_id(278) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(278) time_ns(43924056930872:43924058371562) process_id(26027) thread_id(26027) + (null) correlation_id(279) time_ns(0:0) external_id(31) + hipFree correlation_id(279) time_ns(43924073259129:43924073333323) process_id(26027) thread_id(26027) + (null) correlation_id(280) time_ns(0:0) external_id(31) + hipFree correlation_id(280) time_ns(43924073339755:43924073367492) process_id(26027) thread_id(26027) + hipSetDevice correlation_id(281) time_ns(43924092286009:43924092295684) process_id(26027) thread_id(26027) + hipGetDeviceProperties correlation_id(282) time_ns(43924092299467:43924092301851) process_id(26027) thread_id(26027) + hipMalloc correlation_id(283) time_ns(43924094476650:43924094526050) process_id(26027) thread_id(26027) + hipMalloc correlation_id(284) time_ns(43924094530264:43924094560138) process_id(26027) thread_id(26027) + (null) correlation_id(285) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(285) time_ns(43924094564860:43924095209172) process_id(26027) thread_id(26027) + (null) correlation_id(286) time_ns(0:0) external_id(33) + hipModuleLaunchKernel correlation_id(286) time_ns(43924095240065:43924095281039) process_id(26027) thread_id(26027) + hcCommandKernel correlation_id(286) time_ns(43924095285353:43924095767273) device_id(0) queue_id(0) + hcCommandMarker correlation_id(287) time_ns(43924095770342:43924095777222) device_id(0) queue_id(0) + (null) correlation_id(287) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(287) time_ns(43924095285700:43924096717062) process_id(26027) thread_id(26027) + (null) correlation_id(288) time_ns(0:0) external_id(31) + hipFree correlation_id(288) time_ns(43924111647330:43924111719564) process_id(26027) thread_id(26027) + (null) correlation_id(289) time_ns(0:0) external_id(31) +PASSED! +# START (35) ############################# + + + + + + + + + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + + + ptr(0x7ffdc052b378) size(0x400000) + + + + + + + *ptr(0x0x903400000) + + + ptr(0x7ffdc052b370) size(0x400000) + + + + + + + *ptr(0x0x903c00000) + + + dst(0x903400000) src(0x7f1879f80010) size(0x400000) kind(1) + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0x30c1e60) src(0x903c00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + ptr(0x903400000) + + + + + + + + + + ptr(0x903c00000) + + + + + + + +# START (34) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (33) ############################# + + + + + + + + + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + + + ptr(0x7ffdc052b378) size(0x400000) + + + + + + + *ptr(0x0x903400000) + + + ptr(0x7ffdc052b370) size(0x400000) + + + + + + + *ptr(0x0x903c00000) + + + dst(0x903400000) src(0x7f1879f80010) size(0x400000) kind(1) + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0x30c1e60) src(0x903c00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + ptr(0x903400000) + + + + + + + + + + ptr(0x903c00000) + + + + + + + +# START (32) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (31) ############################# + + + + + + + + + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + + + ptr(0x7ffdc052b378) size(0x400000) + + + + + + + *ptr(0x0x903400000) + + + ptr(0x7ffdc052b370) size(0x400000) + + + + + + + *ptr(0x0x903c00000) + + + dst(0x903400000) src(0x7f1879f80010) size(0x400000) kind(1) + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0x30c1e60) src(0x903c00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + ptr(0x903400000) + + + + + + + + + + ptr(0x903c00000) + + + + + + + +# START (30) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (29) ############################# + + + + + + + + + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + + + ptr(0x7ffdc052b378) size(0x400000) + + + + + + + *ptr(0x0x903400000) + + + ptr(0x7ffdc052b370) size(0x400000) + + + + + + + *ptr(0x0x903c00000) + + + dst(0x903400000) src(0x7f1879f80010) size(0x400000) kind(1) + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0x30c1e60) src(0x903c00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + ptr(0x903400000) + + + + + + + + + + ptr(0x903c00000) + + + + + + + +# START (28) ############################# + Activity records: + hipFree correlation_id(289) time_ns(43924111725499:43924111752081) process_id(26027) thread_id(26027) + hipSetDevice correlation_id(290) time_ns(43924133010932:43924133020346) process_id(26027) thread_id(26027) + hipGetDeviceProperties correlation_id(291) time_ns(43924133024098:43924133026658) process_id(26027) thread_id(26027) + hipMalloc correlation_id(292) time_ns(43924135252772:43924135304037) process_id(26027) thread_id(26027) + hipMalloc correlation_id(293) time_ns(43924135308510:43924135327613) process_id(26027) thread_id(26027) +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + (null) correlation_id(294) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(294) time_ns(43924135332515:43924135972906) process_id(26027) thread_id(26027) + (null) correlation_id(295) time_ns(0:0) external_id(33) + hipModuleLaunchKernel correlation_id(295) time_ns(43924135997252:43924136035107) process_id(26027) thread_id(26027) + hcCommandKernel correlation_id(295) time_ns(43924136036842:43924136524682) device_id(0) queue_id(0) + hcCommandMarker correlation_id(296) time_ns(43924136527613:43924136534173) device_id(0) queue_id(0) + (null) correlation_id(296) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(296) time_ns(43924136039997:43924137456346) process_id(26027) thread_id(26027) + (null) correlation_id(297) time_ns(0:0) external_id(31) + hipFree correlation_id(297) time_ns(43924151908771:43924151983651) process_id(26027) thread_id(26027) + (null) correlation_id(298) time_ns(0:0) external_id(31) + hipFree correlation_id(298) time_ns(43924151989360:43924152022262) process_id(26027) thread_id(26027) + hipSetDevice correlation_id(299) time_ns(43924171088698:43924171097139) process_id(26027) thread_id(26027) + hipGetDeviceProperties correlation_id(300) time_ns(43924171100734:43924171103152) process_id(26027) thread_id(26027) + hipMalloc correlation_id(301) time_ns(43924173304593:43924173354672) process_id(26027) thread_id(26027) + hipMalloc correlation_id(302) time_ns(43924173371642:43924173400059) process_id(26027) thread_id(26027) + (null) correlation_id(303) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(303) time_ns(43924173404405:43924174044683) process_id(26027) thread_id(26027) + (null) correlation_id(304) time_ns(0:0) external_id(33) + hipModuleLaunchKernel correlation_id(304) time_ns(43924174076253:43924174116723) process_id(26027) thread_id(26027) + hcCommandKernel correlation_id(304) time_ns(43924174121204:43924174603444) device_id(0) queue_id(0) + hcCommandMarker correlation_id(305) time_ns(43924174606317:43924174612877) device_id(0) queue_id(0) + (null) correlation_id(305) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(305) time_ns(43924174133069:43924175557594) process_id(26027) thread_id(26027) + (null) correlation_id(306) time_ns(0:0) external_id(31) + hipFree correlation_id(306) time_ns(43924190219735:43924190303515) process_id(26027) thread_id(26027) + (null) correlation_id(307) time_ns(0:0) external_id(31) + hipFree correlation_id(307) time_ns(43924190319242:43924190347098) process_id(26027) thread_id(26027) + hipSetDevice correlation_id(308) time_ns(43924209447139:43924209456906) process_id(26027) thread_id(26027) + hipGetDeviceProperties correlation_id(309) time_ns(43924209460535:43924209463004) process_id(26027) thread_id(26027) + hipMalloc correlation_id(310) time_ns(43924211678128:43924211727787) process_id(26027) thread_id(26027) + hipMalloc correlation_id(311) time_ns(43924211745058:43924211773876) process_id(26027) thread_id(26027) + (null) correlation_id(312) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(312) time_ns(43924211778084:43924212443036) process_id(26027) thread_id(26027) + (null) correlation_id(313) time_ns(0:0) external_id(33) + hipModuleLaunchKernel correlation_id(313) time_ns(43924212474572:43924212518890) process_id(26027) thread_id(26027) + hcCommandKernel correlation_id(313) time_ns(43924212523859:43924214375062) device_id(0) queue_id(0) + hcCommandMarker correlation_id(314) time_ns(43924214378145:43924214409665) device_id(0) queue_id(0) + (null) correlation_id(314) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(314) time_ns(43924212537767:43924215426654) process_id(26027) thread_id(26027) + (null) correlation_id(315) time_ns(0:0) external_id(31) + hipFree correlation_id(315) time_ns(43924229894349:43924229979101) process_id(26027) thread_id(26027) + (null) correlation_id(316) time_ns(0:0) external_id(31) + hipFree correlation_id(316) time_ns(43924229995319:43924230026120) process_id(26027) thread_id(26027) + hipSetDevice correlation_id(317) time_ns(43924250535564:43924250545872) process_id(26027) thread_id(26027) + hipGetDeviceProperties correlation_id(318) time_ns(43924250549624:43924250552072) process_id(26027) thread_id(26027) + hipMalloc correlation_id(319) time_ns(43924252752966:43924252802481) process_id(26027) thread_id(26027) + hipMalloc correlation_id(320) time_ns(43924252819847:43924252848213) process_id(26027) thread_id(26027) + (null) correlation_id(321) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(321) time_ns(43924252852306:43924253543113) process_id(26027) thread_id(26027) + (null) correlation_id(322) time_ns(0:0) external_id(33) + hipModuleLaunchKernel correlation_id(322) time_ns(43924253574635:43924253615072) process_id(26027) thread_id(26027) + hcCommandKernel correlation_id(322) time_ns(43924253620622:43924255453105) device_id(0) queue_id(0) + hcCommandMarker correlation_id(323) time_ns(43924255456151:43924255487831) device_id(0) queue_id(0) + (null) correlation_id(323) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(323) time_ns(43924253632295:43924256514921) process_id(26027) thread_id(26027) + (null) correlation_id(324) time_ns(0:0) external_id(31) + hipFree correlation_id(324) time_ns(43924271073847:43924271169352) process_id(26027) thread_id(26027) + (null) correlation_id(325) time_ns(0:0) external_id(31) +PASSED! +# START (27) ############################# + + + + + + + + + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + + + ptr(0x7ffdc052b378) size(0x400000) + + + + + + + *ptr(0x0x903400000) + + + ptr(0x7ffdc052b370) size(0x400000) + + + + + + + *ptr(0x0x903c00000) + + + dst(0x903400000) src(0x7f1879f80010) size(0x400000) kind(1) + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + + dst(0x30c1e60) src(0x903c00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + ptr(0x903400000) + + + + + + + + + + ptr(0x903c00000) + + + + + + + +# START (26) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (25) ############################# + + + + + + + + + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + + + ptr(0x7ffdc052b378) size(0x400000) + + + + + + + *ptr(0x0x903400000) + + + ptr(0x7ffdc052b370) size(0x400000) + + + + + + + *ptr(0x0x903c00000) + + + dst(0x903400000) src(0x7f1879f80010) size(0x400000) kind(1) + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + + dst(0x30c1e60) src(0x903c00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + ptr(0x903400000) + + + + + + + + + + ptr(0x903c00000) + + + + + + + +# START (24) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (23) ############################# + + + + + + + + + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + + + ptr(0x7ffdc052b378) size(0x400000) + + + + + + + *ptr(0x0x903400000) + + + ptr(0x7ffdc052b370) size(0x400000) + + + + + + + *ptr(0x0x903c00000) + + + dst(0x903400000) src(0x7f1879f80010) size(0x400000) kind(1) + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + + dst(0x30c1e60) src(0x903c00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + ptr(0x903400000) + + + + + + + + + + ptr(0x903c00000) + + + + + + + +# START (22) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (21) ############################# + + + + + + + + + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + + + ptr(0x7ffdc052b378) size(0x400000) + + + + + + + *ptr(0x0x903400000) + + + ptr(0x7ffdc052b370) size(0x400000) + + + + + + + *ptr(0x0x903c00000) + + + dst(0x903400000) src(0x7f1879f80010) size(0x400000) kind(1) + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + + dst(0x30c1e60) src(0x903c00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + ptr(0x903400000) + + + + + + + + + + ptr(0x903c00000) + + + + + + + +# START (20) ############################# + Activity records: + hipFree correlation_id(325) time_ns(43924271175070:43924271192040) process_id(26027) thread_id(26027) + hipSetDevice correlation_id(326) time_ns(43924291762988:43924291771076) process_id(26027) thread_id(26027) + hipGetDeviceProperties correlation_id(327) time_ns(43924291774642:43924291777092) process_id(26027) thread_id(26027) + hipMalloc correlation_id(328) time_ns(43924294026024:43924294085514) process_id(26027) thread_id(26027) + hipMalloc correlation_id(329) time_ns(43924294090994:43924294129855) process_id(26027) thread_id(26027) +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + (null) correlation_id(330) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(330) time_ns(43924294134205:43924294800341) process_id(26027) thread_id(26027) + (null) correlation_id(331) time_ns(0:0) external_id(33) + hipModuleLaunchKernel correlation_id(331) time_ns(43924294835233:43924294876561) process_id(26027) thread_id(26027) + hcCommandKernel correlation_id(331) time_ns(43924294882266:43924296713789) device_id(0) queue_id(0) + hcCommandMarker correlation_id(332) time_ns(43924296716869:43924296748069) device_id(0) queue_id(0) + (null) correlation_id(332) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(332) time_ns(43924294888013:43924297778419) process_id(26027) thread_id(26027) + (null) correlation_id(333) time_ns(0:0) external_id(31) + hipFree correlation_id(333) time_ns(43924312395860:43924312492979) process_id(26027) thread_id(26027) + (null) correlation_id(334) time_ns(0:0) external_id(31) + hipFree correlation_id(334) time_ns(43924312507649:43924312535945) process_id(26027) thread_id(26027) + hipSetDevice correlation_id(335) time_ns(43924333052377:43924333062076) process_id(26027) thread_id(26027) + hipGetDeviceProperties correlation_id(336) time_ns(43924333065817:43924333068268) process_id(26027) thread_id(26027) + hipMalloc correlation_id(337) time_ns(43924335264198:43924335313660) process_id(26027) thread_id(26027) + hipMalloc correlation_id(338) time_ns(43924335329255:43924335357001) process_id(26027) thread_id(26027) + (null) correlation_id(339) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(339) time_ns(43924335361097:43924336036253) process_id(26027) thread_id(26027) + (null) correlation_id(340) time_ns(0:0) external_id(33) + hipModuleLaunchKernel correlation_id(340) time_ns(43924336051007:43924336094552) process_id(26027) thread_id(26027) + hcCommandKernel correlation_id(340) time_ns(43924336100184:43924337940187) device_id(0) queue_id(0) + hcCommandMarker correlation_id(341) time_ns(43924337943034:43924337974394) device_id(0) queue_id(0) + (null) correlation_id(341) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(341) time_ns(43924336099635:43924338934658) process_id(26027) thread_id(26027) + (null) correlation_id(342) time_ns(0:0) external_id(31) + hipFree correlation_id(342) time_ns(43924353465028:43924353550492) process_id(26027) thread_id(26027) + (null) correlation_id(343) time_ns(0:0) external_id(31) + hipFree correlation_id(343) time_ns(43924353566871:43924353597370) process_id(26027) thread_id(26027) + hipSetDevice correlation_id(344) time_ns(43924374057647:43924374067442) process_id(26027) thread_id(26027) + hipGetDeviceProperties correlation_id(345) time_ns(43924374071233:43924374073570) process_id(26027) thread_id(26027) + hipMalloc correlation_id(346) time_ns(43924376274104:43924376324074) process_id(26027) thread_id(26027) + hipMalloc correlation_id(347) time_ns(43924376341080:43924376369346) process_id(26027) thread_id(26027) + (null) correlation_id(348) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(348) time_ns(43924376373655:43924377031921) process_id(26027) thread_id(26027) + (null) correlation_id(349) time_ns(0:0) external_id(33) + hipModuleLaunchKernel correlation_id(349) time_ns(43924377046388:43924377090396) process_id(26027) thread_id(26027) + hcCommandKernel correlation_id(349) time_ns(43924377095818:43924378930381) device_id(0) queue_id(0) + hcCommandMarker correlation_id(350) time_ns(43924378933281:43924378964641) device_id(0) queue_id(0) + (null) correlation_id(350) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(350) time_ns(43924377095637:43924379989699) process_id(26027) thread_id(26027) + (null) correlation_id(351) time_ns(0:0) external_id(31) + hipFree correlation_id(351) time_ns(43924394485102:43924394572492) process_id(26027) thread_id(26027) + (null) correlation_id(352) time_ns(0:0) external_id(31) + hipFree correlation_id(352) time_ns(43924394588538:43924394617306) process_id(26027) thread_id(26027) + hipSetDevice correlation_id(353) time_ns(43924415129763:43924415138209) process_id(26027) thread_id(26027) + hipGetDeviceProperties correlation_id(354) time_ns(43924415141941:43924415144362) process_id(26027) thread_id(26027) + hipMalloc correlation_id(355) time_ns(43924417363809:43924417413267) process_id(26027) thread_id(26027) + hipMalloc correlation_id(356) time_ns(43924417430049:43924417458479) process_id(26027) thread_id(26027) + (null) correlation_id(357) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(357) time_ns(43924417462767:43924418136752) process_id(26027) thread_id(26027) + (null) correlation_id(358) time_ns(0:0) external_id(33) + hipModuleLaunchKernel correlation_id(358) time_ns(43924418151104:43924418195069) process_id(26027) thread_id(26027) + hcCommandKernel correlation_id(358) time_ns(43924418200313:43924420038236) device_id(0) queue_id(0) + hcCommandMarker correlation_id(359) time_ns(43924420044513:43924420076353) device_id(0) queue_id(0) + (null) correlation_id(359) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(359) time_ns(43924418200328:43924421028788) process_id(26027) thread_id(26027) + (null) correlation_id(360) time_ns(0:0) external_id(31) + hipFree correlation_id(360) time_ns(43924435641433:43924435737289) process_id(26027) thread_id(26027) + (null) correlation_id(361) time_ns(0:0) external_id(31) +PASSED! +# START (19) ############################# + + + + + + + + + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + + + ptr(0x7ffdc052b378) size(0x400000) + + + + + + + *ptr(0x0x903400000) + + + ptr(0x7ffdc052b370) size(0x400000) + + + + + + + *ptr(0x0x903c00000) + + + dst(0x903400000) src(0x7f1879f80010) size(0x400000) kind(1) + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + + dst(0x30c1e60) src(0x903c00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + ptr(0x903400000) + + + + + + + + + + ptr(0x903c00000) + + + + + + + +# START (18) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (17) ############################# + + + + + + + + + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + + + ptr(0x7ffdc052b378) size(0x400000) + + + + + + + *ptr(0x0x903400000) + + + ptr(0x7ffdc052b370) size(0x400000) + + + + + + + *ptr(0x0x903c00000) + + + dst(0x903400000) src(0x7f1879f80010) size(0x400000) kind(1) + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + + dst(0x30c1e60) src(0x903c00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + ptr(0x903400000) + + + + + + + + + + ptr(0x903c00000) + + + + + + + +# START (16) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (15) ############################# + + + + + + + + + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + + + ptr(0x7ffdc052b378) size(0x400000) + + + + + + + *ptr(0x0x903400000) + + + ptr(0x7ffdc052b370) size(0x400000) + + + + + + + *ptr(0x0x903c00000) + + + dst(0x903400000) src(0x7f1879f80010) size(0x400000) kind(1) + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + + dst(0x30c1e60) src(0x903c00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + ptr(0x903400000) + + + + + + + + + + ptr(0x903c00000) + + + + + + + +# START (14) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (13) ############################# + + + + + + + + + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + + + ptr(0x7ffdc052b378) size(0x400000) + + + + + + + *ptr(0x0x903400000) + + + ptr(0x7ffdc052b370) size(0x400000) + + + + + + + *ptr(0x0x903c00000) + + + dst(0x903400000) src(0x7f1879f80010) size(0x400000) kind(1) + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + + dst(0x30c1e60) src(0x903c00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + ptr(0x903400000) + + + + + + + + + + ptr(0x903c00000) + + + + + + + +# START (12) ############################# + Activity records: + hipFree correlation_id(361) time_ns(43924435753844:43924435782472) process_id(26027) thread_id(26027) + hipSetDevice correlation_id(362) time_ns(43924456417081:43924456426453) process_id(26027) thread_id(26027) + hipGetDeviceProperties correlation_id(363) time_ns(43924456430167:43924456432757) process_id(26027) thread_id(26027) + hipMalloc correlation_id(364) time_ns(43924458612031:43924458674256) process_id(26027) thread_id(26027) + hipMalloc correlation_id(365) time_ns(43924458687741:43924458718593) process_id(26027) thread_id(26027) +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + (null) correlation_id(366) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(366) time_ns(43924458724143:43924459369768) process_id(26027) thread_id(26027) + (null) correlation_id(367) time_ns(0:0) external_id(33) + hipModuleLaunchKernel correlation_id(367) time_ns(43924459394827:43924459441024) process_id(26027) thread_id(26027) + hcCommandKernel correlation_id(367) time_ns(43924459445624:43924459936504) device_id(0) queue_id(0) + hcCommandMarker correlation_id(368) time_ns(43924459939526:43924459945926) device_id(0) queue_id(0) + (null) correlation_id(368) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(368) time_ns(43924459456241:43924460891352) process_id(26027) thread_id(26027) + (null) correlation_id(369) time_ns(0:0) external_id(31) + hipFree correlation_id(369) time_ns(43924475335127:43924475426517) process_id(26027) thread_id(26027) + (null) correlation_id(370) time_ns(0:0) external_id(31) + hipFree correlation_id(370) time_ns(43924475432213:43924475458809) process_id(26027) thread_id(26027) + hipSetDevice correlation_id(371) time_ns(43924494473089:43924494483454) process_id(26027) thread_id(26027) + hipGetDeviceProperties correlation_id(372) time_ns(43924494487147:43924494489484) process_id(26027) thread_id(26027) + hipMalloc correlation_id(373) time_ns(43924496708487:43924496758343) process_id(26027) thread_id(26027) + hipMalloc correlation_id(374) time_ns(43924496775079:43924496803210) process_id(26027) thread_id(26027) + (null) correlation_id(375) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(375) time_ns(43924496807329:43924497445337) process_id(26027) thread_id(26027) + (null) correlation_id(376) time_ns(0:0) external_id(33) + hipModuleLaunchKernel correlation_id(376) time_ns(43924497459798:43924497503949) process_id(26027) thread_id(26027) + hcCommandKernel correlation_id(376) time_ns(43924497508311:43924497993431) device_id(0) queue_id(0) + hcCommandMarker correlation_id(377) time_ns(43924497996249:43924498002969) device_id(0) queue_id(0) + (null) correlation_id(377) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(377) time_ns(43924497509090:43924498986358) process_id(26027) thread_id(26027) + (null) correlation_id(378) time_ns(0:0) external_id(31) + hipFree correlation_id(378) time_ns(43924513614351:43924513708581) process_id(26027) thread_id(26027) + (null) correlation_id(379) time_ns(0:0) external_id(31) + hipFree correlation_id(379) time_ns(43924513723691:43924513751429) process_id(26027) thread_id(26027) + hipSetDevice correlation_id(380) time_ns(43924532893579:43924532903634) process_id(26027) thread_id(26027) + hipGetDeviceProperties correlation_id(381) time_ns(43924532907691:43924532910260) process_id(26027) thread_id(26027) + hipMalloc correlation_id(382) time_ns(43924535105549:43924535155671) process_id(26027) thread_id(26027) + hipMalloc correlation_id(383) time_ns(43924535174732:43924535212783) process_id(26027) thread_id(26027) + (null) correlation_id(384) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(384) time_ns(43924535216917:43924535856633) process_id(26027) thread_id(26027) + (null) correlation_id(385) time_ns(0:0) external_id(33) + hipModuleLaunchKernel correlation_id(385) time_ns(43924535871470:43924535916117) process_id(26027) thread_id(26027) + hcCommandKernel correlation_id(385) time_ns(43924535920351:43924536404511) device_id(0) queue_id(0) + hcCommandMarker correlation_id(386) time_ns(43924536407570:43924536413970) device_id(0) queue_id(0) + (null) correlation_id(386) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(386) time_ns(43924535930585:43924537355425) process_id(26027) thread_id(26027) + (null) correlation_id(387) time_ns(0:0) external_id(31) + hipFree correlation_id(387) time_ns(43924551986515:43924552084664) process_id(26027) thread_id(26027) + (null) correlation_id(388) time_ns(0:0) external_id(31) + hipFree correlation_id(388) time_ns(43924552099468:43924552128239) process_id(26027) thread_id(26027) + hipSetDevice correlation_id(389) time_ns(43924571253670:43924571263558) process_id(26027) thread_id(26027) + hipGetDeviceProperties correlation_id(390) time_ns(43924571267289:43924571269725) process_id(26027) thread_id(26027) + hipMalloc correlation_id(391) time_ns(43924573449916:43924573500705) process_id(26027) thread_id(26027) + hipMalloc correlation_id(392) time_ns(43924573517682:43924573546177) process_id(26027) thread_id(26027) + (null) correlation_id(393) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(393) time_ns(43924573550373:43924574188815) process_id(26027) thread_id(26027) + (null) correlation_id(394) time_ns(0:0) external_id(33) + hipModuleLaunchKernel correlation_id(394) time_ns(43924574202362:43924574246767) process_id(26027) thread_id(26027) + hcCommandKernel correlation_id(394) time_ns(43924574251113:43924574731273) device_id(0) queue_id(0) + hcCommandMarker correlation_id(395) time_ns(43924574734047:43924574740767) device_id(0) queue_id(0) + (null) correlation_id(395) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(395) time_ns(43924574252163:43924575708203) process_id(26027) thread_id(26027) + (null) correlation_id(396) time_ns(0:0) external_id(31) + hipFree correlation_id(396) time_ns(43924590306093:43924590390382) process_id(26027) thread_id(26027) + (null) correlation_id(397) time_ns(0:0) external_id(31) +PASSED! +# START (11) ############################# + + + + + + + + + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + + + ptr(0x7ffdc052b378) size(0x400000) + + + + + + + *ptr(0x0x903400000) + + + ptr(0x7ffdc052b370) size(0x400000) + + + + + + + *ptr(0x0x903c00000) + + + dst(0x903400000) src(0x7f1879f80010) size(0x400000) kind(1) + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + + dst(0x30c1e60) src(0x903c00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + ptr(0x903400000) + + + + + + + + + + ptr(0x903c00000) + + + + + + + +# START (10) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (9) ############################# + + + + + + + + + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + + + ptr(0x7ffdc052b378) size(0x400000) + + + + + + + *ptr(0x0x903400000) + + + ptr(0x7ffdc052b370) size(0x400000) + + + + + + + *ptr(0x0x903c00000) + + + dst(0x903400000) src(0x7f1879f80010) size(0x400000) kind(1) + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + + dst(0x30c1e60) src(0x903c00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + ptr(0x903400000) + + + + + + + + + + ptr(0x903c00000) + + + + + + + +# START (8) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (7) ############################# + + + + + + + + + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + + + ptr(0x7ffdc052b378) size(0x400000) + + + + + + + *ptr(0x0x903400000) + + + ptr(0x7ffdc052b370) size(0x400000) + + + + + + + *ptr(0x0x903c00000) + + + dst(0x903400000) src(0x7f1879f80010) size(0x400000) kind(1) + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0x30c1e60) src(0x903c00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + +PASSED! + + + ptr(0x903400000) + + + + + + + + + + ptr(0x903c00000) + + + + + + + +# START (6) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (5) ############################# + + + + + + + + + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + + + ptr(0x7ffdc052b378) size(0x400000) + + + + + + + *ptr(0x0x903400000) + + + ptr(0x7ffdc052b370) size(0x400000) + + + + + + + *ptr(0x0x903c00000) + + + dst(0x903400000) src(0x7f1879f80010) size(0x400000) kind(1) + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0x30c1e60) src(0x903c00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + ptr(0x903400000) + + + + + + + + + + ptr(0x903c00000) + + + + + + + +# START (4) ############################# + Activity records: + hipFree correlation_id(397) time_ns(43924590406775:43924590434772) process_id(26027) thread_id(26027) + hipSetDevice correlation_id(398) time_ns(43924609307484:43924609316400) process_id(26027) thread_id(26027) + hipGetDeviceProperties correlation_id(399) time_ns(43924609330707:43924609333163) process_id(26027) thread_id(26027) + hipMalloc correlation_id(400) time_ns(43924611536977:43924611585257) process_id(26027) thread_id(26027) + hipMalloc correlation_id(401) time_ns(43924611589444:43924611612016) process_id(26027) thread_id(26027) +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + (null) correlation_id(402) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(402) time_ns(43924611616893:43924612253700) process_id(26027) thread_id(26027) + (null) correlation_id(403) time_ns(0:0) external_id(33) + hipModuleLaunchKernel correlation_id(403) time_ns(43924612277792:43924612321418) process_id(26027) thread_id(26027) + hcCommandKernel correlation_id(403) time_ns(43924612321873:43924612798673) device_id(0) queue_id(0) + hcCommandMarker correlation_id(404) time_ns(43924612801648:43924612808048) device_id(0) queue_id(0) + (null) correlation_id(404) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(404) time_ns(43924612327977:43924613721928) process_id(26027) thread_id(26027) + (null) correlation_id(405) time_ns(0:0) external_id(31) + hipFree correlation_id(405) time_ns(43924628152462:43924628234778) process_id(26027) thread_id(26027) + (null) correlation_id(406) time_ns(0:0) external_id(31) + hipFree correlation_id(406) time_ns(43924628241577:43924628258879) process_id(26027) thread_id(26027) + hipSetDevice correlation_id(407) time_ns(43924647370765:43924647379809) process_id(26027) thread_id(26027) + hipGetDeviceProperties correlation_id(408) time_ns(43924647393625:43924647395924) process_id(26027) thread_id(26027) + hipMalloc correlation_id(409) time_ns(43924649646742:43924649698074) process_id(26027) thread_id(26027) + hipMalloc correlation_id(410) time_ns(43924649702498:43924649726483) process_id(26027) thread_id(26027) + (null) correlation_id(411) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(411) time_ns(43924649740436:43924650367679) process_id(26027) thread_id(26027) + (null) correlation_id(412) time_ns(0:0) external_id(33) + hipModuleLaunchKernel correlation_id(412) time_ns(43924650381865:43924650425898) process_id(26027) thread_id(26027) + hcCommandKernel correlation_id(412) time_ns(43924650430530:43924650921250) device_id(0) queue_id(0) + hcCommandMarker correlation_id(413) time_ns(43924650924099:43924650930499) device_id(0) queue_id(0) + (null) correlation_id(413) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(413) time_ns(43924650442002:43924651843203) process_id(26027) thread_id(26027) + (null) correlation_id(414) time_ns(0:0) external_id(31) + hipFree correlation_id(414) time_ns(43924666222121:43924666301439) process_id(26027) thread_id(26027) + (null) correlation_id(415) time_ns(0:0) external_id(31) + hipFree correlation_id(415) time_ns(43924666307003:43924666342180) process_id(26027) thread_id(26027) + hipSetDevice correlation_id(416) time_ns(43924685034845:43924685043440) process_id(26027) thread_id(26027) + hipGetDeviceProperties correlation_id(417) time_ns(43924685046918:43924685049180) process_id(26027) thread_id(26027) + hipMalloc correlation_id(418) time_ns(43924687222858:43924687270046) process_id(26027) thread_id(26027) + hipMalloc correlation_id(419) time_ns(43924687274152:43924687295655) process_id(26027) thread_id(26027) + (null) correlation_id(420) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(420) time_ns(43924687300729:43924687952269) process_id(26027) thread_id(26027) + (null) correlation_id(421) time_ns(0:0) external_id(33) + hipModuleLaunchKernel correlation_id(421) time_ns(43924687986953:43924688013077) process_id(26027) thread_id(26027) + hcCommandKernel correlation_id(421) time_ns(43924688018217:43924688500938) device_id(0) queue_id(0) + hcCommandMarker correlation_id(422) time_ns(43924688503978:43924688510378) device_id(0) queue_id(0) + (null) correlation_id(422) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(422) time_ns(43924688018510:43924689429970) process_id(26027) thread_id(26027) + (null) correlation_id(423) time_ns(0:0) external_id(31) + hipFree correlation_id(423) time_ns(43924703932199:43924704014713) process_id(26027) thread_id(26027) + (null) correlation_id(424) time_ns(0:0) external_id(31) + hipFree correlation_id(424) time_ns(43924704020644:43924704040647) process_id(26027) thread_id(26027) + hipSetDevice correlation_id(425) time_ns(43924723051279:43924723060173) process_id(26027) thread_id(26027) + hipGetDeviceProperties correlation_id(426) time_ns(43924723073743:43924723076102) process_id(26027) thread_id(26027) + hipMalloc correlation_id(427) time_ns(43924725307181:43924725358517) process_id(26027) thread_id(26027) + hipMalloc correlation_id(428) time_ns(43924725362871:43924725385936) process_id(26027) thread_id(26027) + (null) correlation_id(429) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(429) time_ns(43924725390694:43924726048510) process_id(26027) thread_id(26027) + (null) correlation_id(430) time_ns(0:0) external_id(33) + hipModuleLaunchKernel correlation_id(430) time_ns(43924726071761:43924726114911) process_id(26027) thread_id(26027) + hcCommandKernel correlation_id(430) time_ns(43924726119461:43924726600901) device_id(0) queue_id(0) + hcCommandMarker correlation_id(431) time_ns(43924726603712:43924726610432) device_id(0) queue_id(0) + (null) correlation_id(431) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(431) time_ns(43924726119857:43924727502384) process_id(26027) thread_id(26027) + (null) correlation_id(432) time_ns(0:0) external_id(31) + hipFree correlation_id(432) time_ns(43924741848451:43924741920620) process_id(26027) thread_id(26027) + (null) correlation_id(433) time_ns(0:0) external_id(31) +PASSED! +# START (3) ############################# + + + + + + + + + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + + + ptr(0x7ffdc052b378) size(0x400000) + + + + + + + *ptr(0x0x903400000) + + + ptr(0x7ffdc052b370) size(0x400000) + + + + + + + *ptr(0x0x903c00000) + + + dst(0x903400000) src(0x7f1879f80010) size(0x400000) kind(1) + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + + dst(0x30c1e60) src(0x903c00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + ptr(0x903400000) + + + + + + + + + + ptr(0x903c00000) + + + + + + + +# START (2) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (1) ############################# + + + + + + + + + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + + + ptr(0x7ffdc052b378) size(0x400000) + + + + + + + *ptr(0x0x903400000) + + + ptr(0x7ffdc052b370) size(0x400000) + + + + + + + *ptr(0x0x903c00000) + + + dst(0x903400000) src(0x7f1879f80010) size(0x400000) kind(1) + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + + dst(0x30c1e60) src(0x903c00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + ptr(0x903400000) + + + + + + + + + + ptr(0x903c00000) + + + + + + + +# START (0) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! + Activity records: + hipFree correlation_id(433) time_ns(43924741926422:43924741958578) process_id(26027) thread_id(26027) + hipSetDevice correlation_id(434) time_ns(43924761216886:43924761225167) process_id(26027) thread_id(26027) + hipGetDeviceProperties correlation_id(435) time_ns(43924761228808:43924761231248) process_id(26027) thread_id(26027) + hipMalloc correlation_id(436) time_ns(43924763457381:43924763515635) process_id(26027) thread_id(26027) + hipMalloc correlation_id(437) time_ns(43924763519639:43924763548024) process_id(26027) thread_id(26027) + (null) correlation_id(438) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(438) time_ns(43924763552948:43924764207043) process_id(26027) thread_id(26027) + (null) correlation_id(439) time_ns(0:0) external_id(33) + hipModuleLaunchKernel correlation_id(439) time_ns(43924764230619:43924764274761) process_id(26027) thread_id(26027) + hcCommandKernel correlation_id(439) time_ns(43924764274974:43924764760734) device_id(0) queue_id(0) + hcCommandMarker correlation_id(440) time_ns(43924764763639:43924764770199) device_id(0) queue_id(0) + (null) correlation_id(440) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(440) time_ns(43924764285853:43924765677534) process_id(26027) thread_id(26027) + (null) correlation_id(441) time_ns(0:0) external_id(31) + hipFree correlation_id(441) time_ns(43924780374843:43924780443668) process_id(26027) thread_id(26027) + (null) correlation_id(442) time_ns(0:0) external_id(31) + hipFree correlation_id(442) time_ns(43924780449734:43924780471282) process_id(26027) thread_id(26027) + hipSetDevice correlation_id(443) time_ns(43924799708096:43924799716960) process_id(26027) thread_id(26027) + hipGetDeviceProperties correlation_id(444) time_ns(43924799720376:43924799722561) process_id(26027) thread_id(26027) + hipMalloc correlation_id(445) time_ns(43924801896671:43924801948463) process_id(26027) thread_id(26027) + hipMalloc correlation_id(446) time_ns(43924801952845:43924801975714) process_id(26027) thread_id(26027) + (null) correlation_id(447) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(447) time_ns(43924801990209:43924802616444) process_id(26027) thread_id(26027) + (null) correlation_id(448) time_ns(0:0) external_id(33) + hipModuleLaunchKernel correlation_id(448) time_ns(43924802629888:43924802670261) process_id(26027) thread_id(26027) + hcCommandKernel correlation_id(448) time_ns(43924802675198:43924803158398) device_id(0) queue_id(0) + hcCommandMarker correlation_id(449) time_ns(43924803161402:43924803167802) device_id(0) queue_id(0) + (null) correlation_id(449) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(449) time_ns(43924802675647:43924804134907) process_id(26027) thread_id(26027) + (null) correlation_id(450) time_ns(0:0) external_id(31) + hipFree correlation_id(450) time_ns(43924818672850:43924818752150) process_id(26027) thread_id(26027) + (null) correlation_id(451) time_ns(0:0) external_id(31) + hipFree correlation_id(451) time_ns(43924818757801:43924818793634) process_id(26027) thread_id(26027) +# STOP ############################# + diff --git a/test/golden_traces/MatrixTranspose_sys_hsa_trace.txt b/test/golden_traces/MatrixTranspose_sys_hsa_trace.txt new file mode 100644 index 0000000000..d418387700 --- /dev/null +++ b/test/golden_traces/MatrixTranspose_sys_hsa_trace.txt @@ -0,0 +1,8968 @@ +ROCTracer (pid=26045): + rocTX-trace() + HSA-trace() + HSA-activity-trace() + HIP-trace() +43928801217964:43928801221015 26045:26045 hsa_amd_profiling_async_copy_enable() = 0 +43928801708283:43928801708869 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38914) = 0 +43928801708283:43928801710116 26045:26045 hsa_iterate_agents(1, 0x7fffcdc38a70) = 1 +43928801711586:43928801711979 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38914) = 0 +43928801711586:43928801712879 26045:26045 hsa_iterate_agents(1, 0x7fffcdc38a70) = 1 +43928801716090:43928801716732 26045:26045 hsa_region_get_info(, 0, 0x7fffcdc38a34) = 0 +43928801717791:43928801718222 26045:26045 hsa_region_get_info(, 1, 0x7fffcdc38a30) = 0 +43928801719585:43928801719982 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38784) = 0 +43928801719585:43928801720856 26045:26045 hsa_iterate_agents(1, 0x7fffcdc388e0) = 1 +43928801722745:43928801723431 26045:26045 hsa_amd_agent_memory_pool_get_info(, , 0, 0x7fffcdc38a2c) = 0 +43928801724363:43928801724793 26045:26045 hsa_region_get_info(, 0, 0x7fffcdc38a34) = 0 +43928801725795:43928801726200 26045:26045 hsa_region_get_info(, 0, 0x7fffcdc38a34) = 0 +43928801727108:43928801727528 26045:26045 hsa_region_get_info(, 1, 0x7fffcdc38a30) = 0 +43928801728475:43928801728867 26045:26045 hsa_region_get_info(, 0, 0x7fffcdc38a64) = 0 +43928801729761:43928801730166 26045:26045 hsa_region_get_info(, 1, 0x7fffcdc38a60) = 0 +43928801731509:43928801731902 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc387b4) = 0 +43928801731509:43928801732776 26045:26045 hsa_iterate_agents(1, 0x7fffcdc38910) = 1 +43928801733702:43928801734141 26045:26045 hsa_amd_agent_memory_pool_get_info(, , 0, 0x7fffcdc38a5c) = 0 +43928801733702:43928801735023 26045:26045 hsa_agent_iterate_regions(, 1, 0x7fffcdc38d0f) = 0 +43928801733702:43928801735967 26045:26045 hsa_iterate_agents(1, 0x7fffcdc38d0f) = 0 +ROCTracer (pid=26045): + rocTX-trace() + HSA-trace() + HSA-activity-trace() + HIP-trace() +Device name Ellesmere [Radeon RX 470/480/570/570X/580/580X] +## Iteration (99) ################# +PASSED! +## Iteration (98) ################# +PASSED! +## Iteration (97) ################# +PASSED! +## Iteration (96) ################# +PASSED! +## Iteration (95) ################# +PASSED! +## Iteration (94) ################# +PASSED! +## Iteration (93) ################# +PASSED! +## Iteration (92) ################# +PASSED! +## Iteration (91) ################# +PASSED! +## Iteration (90) ################# +PASSED! +## Iteration (89) ################# +PASSED! +## Iteration (88) ################# +PASSED! +## Iteration (87) ################# +PASSED! +## Iteration (86) ################# +PASSED! +## Iteration (85) ################# +PASSED! +## Iteration (84) ################# +PASSED! +## Iteration (83) ################# +PASSED! +## Iteration (82) ################# +PASSED! +## Iteration (81) ################# +PASSED! +## Iteration (80) ################# +PASSED! +## Iteration (79) ################# +PASSED! +## Iteration (78) ################# +PASSED! +## Iteration (77) ################# +PASSED! +## Iteration (76) ################# +PASSED! +## Iteration (75) ################# +PASSED! +## Iteration (74) ################# +PASSED! +## Iteration (73) ################# +PASSED! +## Iteration (72) ################# +PASSED! +## Iteration (71) ################# +PASSED! +## Iteration (70) ################# +PASSED! +## Iteration (69) ################# +PASSED! +## Iteration (68) ################# +PASSED! +## Iteration (67) ################# +PASSED! +## Iteration (66) ################# +PASSED! +## Iteration (65) ################# +PASSED! +## Iteration (64) ################# +PASSED! +## Iteration (63) ################# +PASSED! +## Iteration (62) ################# +PASSED! +## Iteration (61) ################# +PASSED! +## Iteration (60) ################# +PASSED! +## Iteration (59) ################# +PASSED! +## Iteration (58) ################# +PASSED! +## Iteration (57) ################# +PASSED! +## Iteration (56) ################# +PASSED! +## Iteration (55) ################# +PASSED! +## Iteration (54) ################# +PASSED! +## Iteration (53) ################# +PASSED! +## Iteration (52) ################# +PASSED! +## Iteration (51) ################# +PASSED! +## Iteration (50) ################# +PASSED! +## Iteration (49) ################# +PASSED! +## Iteration (48) ################# +PASSED! +## Iteration (47) ################# +PASSED! +## Iteration (46) ################# +PASSED! +## Iteration (45) ################# +PASSED! +## Iteration (44) ################# +PASSED! +## Iteration (43) ################# +PASSED! +## Iteration (42) ################# +PASSED! +## Iteration (41) ################# +PASSED! +## Iteration (40) ################# +PASSED! +## Iteration (39) ################# +PASSED! +## Iteration (38) ################# +PASSED! +## Iteration (37) ################# +PASSED! +## Iteration (36) ################# +PASSED! +## Iteration (35) ################# +PASSED! +## Iteration (34) ################# +PASSED! +## Iteration (33) ################# +PASSED! +## Iteration (32) ################# +PASSED! +## Iteration (31) ################# +PASSED! +## Iteration (30) ################# +PASSED! +## Iteration (29) ################# +PASSED! +## Iteration (28) ################# +PASSED! +## Iteration (27) ################# +PASSED! +## Iteration (26) ################# +PASSED! +## Iteration (25) ################# +PASSED! +## Iteration (24) ################# +PASSED! +## Iteration (23) ################# +PASSED! +## Iteration (22) ################# +PASSED! +## Iteration (21) ################# +PASSED! +## Iteration (20) ################# +PASSED! +## Iteration (19) ################# +PASSED! +## Iteration (18) ################# +PASSED! +## Iteration (17) ################# +PASSED! +## Iteration (16) ################# +PASSED! +## Iteration (15) ################# +PASSED! +## Iteration (14) ################# +PASSED! +## Iteration (13) ################# +PASSED! +## Iteration (12) ################# +PASSED! +## Iteration (11) ################# +PASSED! +## Iteration (10) ################# +PASSED! +## Iteration (9) ################# +PASSED! +## Iteration (8) ################# +PASSED! +## Iteration (7) ################# +PASSED! +## Iteration (6) ################# +PASSED! +## Iteration (5) ################# +PASSED! +## Iteration (4) ################# +PASSED! +## Iteration (3) ################# +PASSED! +## Iteration (2) ################# +PASSED! +## Iteration (1) ################# +PASSED! +## Iteration (0) ################# +PASSED! +43928821349789:43928821382009 26045:26045 hipGetDeviceProperties() +43928823527393:43928823577974 26045:26045 hipMalloc(ptr(0x903200000) size(0x400000)) +43928823580565:43928823607854 26045:26045 hipMalloc(ptr(0x903a00000) size(0x400000)) +43928823618546:43928832187179 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) +43928832189412:43928832189413 26045:26045 MARK(name(before HIP LaunchKernel)) +43929122496932:43929124505488 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43929124519437:43929124519438 26045:26045 MARK(name(after HIP LaunchKernel)) +43929124529204:43929127422610 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) +43929141921543:43929142892842 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) +43929142894231:43929142894232 26045:26045 MARK(name(before HIP LaunchKernel)) +43929142907733:43929142930236 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43929142932044:43929142932045 26045:26045 MARK(name(after HIP LaunchKernel)) +43929142936456:43929145768755 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) +43929160301367:43929161269439 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) +43929161270889:43929161270890 26045:26045 MARK(name(before HIP LaunchKernel)) +43929161283815:43929161299219 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43929161300780:43929161300781 26045:26045 MARK(name(after HIP LaunchKernel)) +43929161305118:43929164149544 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) +43929178652936:43929179622531 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) +43929179623829:43929179623830 26045:26045 MARK(name(before HIP LaunchKernel)) +43929179636377:43929179650908 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43929179652469:43929179652470 26045:26045 MARK(name(after HIP LaunchKernel)) +43929179656703:43929182557129 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) +43929197182256:43929198153490 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) +43929198154846:43929198154847 26045:26045 MARK(name(before HIP LaunchKernel)) +43929198169114:43929198185792 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43929198187846:43929198187847 26045:26045 MARK(name(after HIP LaunchKernel)) +43929198193630:43929201091542 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) +43929215721844:43929216707350 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) +43929216708830:43929216708831 26045:26045 MARK(name(before HIP LaunchKernel)) +43929216722891:43929216739780 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43929216741314:43929216741315 26045:26045 MARK(name(after HIP LaunchKernel)) +43929216745737:43929219645262 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) +43929234221351:43929235190720 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) +43929235192054:43929235192055 26045:26045 MARK(name(before HIP LaunchKernel)) +43929235206946:43929235223433 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43929235225313:43929235225314 26045:26045 MARK(name(after HIP LaunchKernel)) +43929235230023:43929238131668 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) +43929252729048:43929253700499 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) +43929253701831:43929253701832 26045:26045 MARK(name(before HIP LaunchKernel)) +43929253715993:43929253737526 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43929253739391:43929253739392 26045:26045 MARK(name(after HIP LaunchKernel)) +43929253743905:43929256643340 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) +43929271255048:43929272229323 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) +43929272230670:43929272230671 26045:26045 MARK(name(before HIP LaunchKernel)) +43929272245263:43929272262213 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43929272264308:43929272264309 26045:26045 MARK(name(after HIP LaunchKernel)) +43929272268826:43929275174379 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) +43929289817600:43929290791393 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) +43929290792785:43929290792786 26045:26045 MARK(name(before HIP LaunchKernel)) +43929290807162:43929290824056 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43929290826013:43929290826014 26045:26045 MARK(name(after HIP LaunchKernel)) +43929290830506:43929293734020 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) +43929308308422:43929309314931 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) +43929309317553:43929309317554 26045:26045 MARK(name(before HIP LaunchKernel)) +43929309333035:43929309350822 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43929309352607:43929309352608 26045:26045 MARK(name(after HIP LaunchKernel)) +43929309357142:43929312250349 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) +43929326892762:43929327880929 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) +43929327882165:43929327882166 26045:26045 MARK(name(before HIP LaunchKernel)) +43929327894340:43929327908796 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43929327910663:43929327910664 26045:26045 MARK(name(after HIP LaunchKernel)) +43929327915093:43929330816721 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) +43929345439572:43929346418675 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) +43929346419914:43929346419915 26045:26045 MARK(name(before HIP LaunchKernel)) +43929346438063:43929346455270 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43929346457386:43929346457387 26045:26045 MARK(name(after HIP LaunchKernel)) +43929346461928:43929349365087 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) +43929363942268:43929364947812 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) +43929364949253:43929364949254 26045:26045 MARK(name(before HIP LaunchKernel)) +43929364964354:43929364986157 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43929364988058:43929364988059 26045:26045 MARK(name(after HIP LaunchKernel)) +43929364992701:43929367892049 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) +43929382529646:43929383531855 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) +43929383533188:43929383533189 26045:26045 MARK(name(before HIP LaunchKernel)) +43929383547883:43929383564546 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43929383566538:43929383566539 26045:26045 MARK(name(after HIP LaunchKernel)) +43929383571074:43929386468526 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) +43929401101455:43929402069444 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) +43929402070723:43929402070724 26045:26045 MARK(name(before HIP LaunchKernel)) +43929402085183:43929402101918 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43929402105362:43929402105363 26045:26045 MARK(name(after HIP LaunchKernel)) +43929402110067:43929403670323 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) +43929418301360:43929419270002 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) +43929419271377:43929419271378 26045:26045 MARK(name(before HIP LaunchKernel)) +43929419285635:43929419302710 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43929419304452:43929419304453 26045:26045 MARK(name(after HIP LaunchKernel)) +43929419308978:43929420883859 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) +43929435493327:43929436476008 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) +43929436477432:43929436477433 26045:26045 MARK(name(before HIP LaunchKernel)) +43929436494492:43929436511649 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43929436513747:43929436513748 26045:26045 MARK(name(after HIP LaunchKernel)) +43929436518496:43929438080614 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) +43929452742813:43929453737889 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) +43929453739162:43929453739163 26045:26045 MARK(name(before HIP LaunchKernel)) +43929453753668:43929453774624 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43929453776747:43929453776748 26045:26045 MARK(name(after HIP LaunchKernel)) +43929453781324:43929455345104 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) +43929470000946:43929470966021 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) +43929470967494:43929470967495 26045:26045 MARK(name(before HIP LaunchKernel)) +43929470981847:43929471003818 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43929471005900:43929471005901 26045:26045 MARK(name(after HIP LaunchKernel)) +43929471010424:43929472568178 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) +43929487189277:43929488164343 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) +43929488165660:43929488165661 26045:26045 MARK(name(before HIP LaunchKernel)) +43929488180179:43929488197188 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43929488199280:43929488199281 26045:26045 MARK(name(after HIP LaunchKernel)) +43929488203862:43929489765538 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) +43929504402971:43929505388745 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) +43929505390102:43929505390103 26045:26045 MARK(name(before HIP LaunchKernel)) +43929505405352:43929505422489 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43929505424500:43929505424501 26045:26045 MARK(name(after HIP LaunchKernel)) +43929505429035:43929506982440 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) +43929521609819:43929522583407 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) +43929522584846:43929522584847 26045:26045 MARK(name(before HIP LaunchKernel)) +43929522597766:43929522612691 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43929522614261:43929522614262 26045:26045 MARK(name(after HIP LaunchKernel)) +43929522618856:43929524182689 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) +43929538841270:43929539819001 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) +43929539820281:43929539820282 26045:26045 MARK(name(before HIP LaunchKernel)) +43929539833263:43929539847633 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43929539849269:43929539849270 26045:26045 MARK(name(after HIP LaunchKernel)) +43929539853886:43929541402153 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) +43929556036676:43929557029288 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) +43929557030559:43929557030560 26045:26045 MARK(name(before HIP LaunchKernel)) +43929557042992:43929557063048 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43929557064565:43929557064566 26045:26045 MARK(name(after HIP LaunchKernel)) +43929557068884:43929558636054 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) +43929573278566:43929574270860 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) +43929574272189:43929574272190 26045:26045 MARK(name(before HIP LaunchKernel)) +43929574286316:43929574303663 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43929574305580:43929574305581 26045:26045 MARK(name(after HIP LaunchKernel)) +43929574314651:43929575872259 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) +43929590508650:43929591490352 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) +43929591491958:43929591491959 26045:26045 MARK(name(before HIP LaunchKernel)) +43929591507760:43929591524650 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43929591526538:43929591526539 26045:26045 MARK(name(after HIP LaunchKernel)) +43929591531100:43929593086012 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) +43929607748065:43929608731693 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) +43929608732974:43929608732975 26045:26045 MARK(name(before HIP LaunchKernel)) +43929608747553:43929608764469 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43929608766546:43929608766547 26045:26045 MARK(name(after HIP LaunchKernel)) +43929608771185:43929610285256 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) +43929624886784:43929625864553 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) +43929625865841:43929625865842 26045:26045 MARK(name(before HIP LaunchKernel)) +43929625880655:43929625897635 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43929625899489:43929625899490 26045:26045 MARK(name(after HIP LaunchKernel)) +43929625904163:43929627431462 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) +43929642026246:43929643003975 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) +43929643005437:43929643005438 26045:26045 MARK(name(before HIP LaunchKernel)) +43929643019632:43929643036773 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43929643038718:43929643038719 26045:26045 MARK(name(after HIP LaunchKernel)) +43929643043285:43929644565233 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) +43929659153449:43929660129188 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) +43929660130544:43929660130545 26045:26045 MARK(name(before HIP LaunchKernel)) +43929660145548:43929660165863 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43929660167692:43929660167693 26045:26045 MARK(name(after HIP LaunchKernel)) +43929660172313:43929661686620 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) +43929676270210:43929677243437 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) +43929677244739:43929677244740 26045:26045 MARK(name(before HIP LaunchKernel)) +43929677257264:43929677272645 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43929677274225:43929677274226 26045:26045 MARK(name(after HIP LaunchKernel)) +43929677282356:43929678790765 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) +43929693378035:43929694356235 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) +43929694357510:43929694357511 26045:26045 MARK(name(before HIP LaunchKernel)) +43929694369691:43929694384356 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43929694385686:43929694385687 26045:26045 MARK(name(after HIP LaunchKernel)) +43929694390045:43929695900043 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) +43929710495732:43929711471850 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) +43929711473373:43929711473374 26045:26045 MARK(name(before HIP LaunchKernel)) +43929711486434:43929711501181 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43929711502830:43929711502831 26045:26045 MARK(name(after HIP LaunchKernel)) +43929711507135:43929713044889 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) +43929727642513:43929728628456 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) +43929728629717:43929728629718 26045:26045 MARK(name(before HIP LaunchKernel)) +43929728647568:43929728664780 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43929728666876:43929728666877 26045:26045 MARK(name(after HIP LaunchKernel)) +43929728671361:43929730222453 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) +43929744878127:43929745854187 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) +43929745855666:43929745855667 26045:26045 MARK(name(before HIP LaunchKernel)) +43929745870466:43929745887246 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43929745889089:43929745889090 26045:26045 MARK(name(after HIP LaunchKernel)) +43929745893525:43929747458083 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) +43929762120482:43929763114733 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) +43929763116321:43929763116322 26045:26045 MARK(name(before HIP LaunchKernel)) +43929763130435:43929763152286 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43929763154418:43929763154419 26045:26045 MARK(name(after HIP LaunchKernel)) +43929763159253:43929766058943 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) +43929780644100:43929781643799 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) +43929781649981:43929781649982 26045:26045 MARK(name(before HIP LaunchKernel)) +43929781664297:43929781680995 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43929781682824:43929781682825 26045:26045 MARK(name(after HIP LaunchKernel)) +43929781687300:43929784586554 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) +43929799171951:43929800170206 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) +43929800171627:43929800171628 26045:26045 MARK(name(before HIP LaunchKernel)) +43929800186144:43929800203730 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43929800205270:43929800205271 26045:26045 MARK(name(after HIP LaunchKernel)) +43929800210147:43929803113820 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) +43929817751760:43929818737989 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) +43929818739578:43929818739579 26045:26045 MARK(name(before HIP LaunchKernel)) +43929818753620:43929818770501 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43929818772529:43929818772530 26045:26045 MARK(name(after HIP LaunchKernel)) +43929818777286:43929821683223 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) +43929836371578:43929837334679 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) +43929837335903:43929837335904 26045:26045 MARK(name(before HIP LaunchKernel)) +43929837350613:43929837367783 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43929837369672:43929837369673 26045:26045 MARK(name(after HIP LaunchKernel)) +43929837374282:43929840272873 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) +43929854836173:43929855815577 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) +43929855816867:43929855816868 26045:26045 MARK(name(before HIP LaunchKernel)) +43929855837334:43929855854414 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43929855856567:43929855856568 26045:26045 MARK(name(after HIP LaunchKernel)) +43929855861443:43929858764402 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) +43929873402372:43929874391539 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) +43929874393389:43929874393390 26045:26045 MARK(name(before HIP LaunchKernel)) +43929874407960:43929874430066 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43929874433041:43929874433042 26045:26045 MARK(name(after HIP LaunchKernel)) +43929874437815:43929877343712 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) +43929891975736:43929892975981 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) +43929892977348:43929892977349 26045:26045 MARK(name(before HIP LaunchKernel)) +43929892992275:43929893009629 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43929893011596:43929893011597 26045:26045 MARK(name(after HIP LaunchKernel)) +43929893016078:43929895902827 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) +43929910484980:43929911479912 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) +43929911481273:43929911481274 26045:26045 MARK(name(before HIP LaunchKernel)) +43929911495863:43929911512596 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43929911514242:43929911514243 26045:26045 MARK(name(after HIP LaunchKernel)) +43929911518973:43929914424417 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) +43929929134999:43929930128112 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) +43929930129548:43929930129549 26045:26045 MARK(name(before HIP LaunchKernel)) +43929930144415:43929930161218 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43929930163168:43929930163169 26045:26045 MARK(name(after HIP LaunchKernel)) +43929930167782:43929933071093 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) +43929947660378:43929948658331 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) +43929948659695:43929948659696 26045:26045 MARK(name(before HIP LaunchKernel)) +43929948674143:43929948691079 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43929948692920:43929948692921 26045:26045 MARK(name(after HIP LaunchKernel)) +43929948697776:43929951598994 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) +43929966216132:43929967193717 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) +43929967195384:43929967195385 26045:26045 MARK(name(before HIP LaunchKernel)) +43929967213512:43929967230254 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43929967232110:43929967232111 26045:26045 MARK(name(after HIP LaunchKernel)) +43929967236622:43929970133543 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) +43929984790368:43929985782108 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) +43929985783397:43929985783398 26045:26045 MARK(name(before HIP LaunchKernel)) +43929985797877:43929985820890 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43929985822734:43929985822735 26045:26045 MARK(name(after HIP LaunchKernel)) +43929985827494:43929988724371 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) +43930003343601:43930004346293 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) +43930004347550:43930004347551 26045:26045 MARK(name(before HIP LaunchKernel)) +43930004362452:43930004379248 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43930004381133:43930004381134 26045:26045 MARK(name(after HIP LaunchKernel)) +43930004385760:43930007279098 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) +43930021912118:43930022892399 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) +43930022893764:43930022893765 26045:26045 MARK(name(before HIP LaunchKernel)) +43930022908179:43930022925044 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43930022926648:43930022926649 26045:26045 MARK(name(after HIP LaunchKernel)) +43930022931180:43930024457641 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) +43930039081409:43930040065932 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) +43930040067274:43930040067275 26045:26045 MARK(name(before HIP LaunchKernel)) +43930040092047:43930040108647 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43930040110596:43930040110597 26045:26045 MARK(name(after HIP LaunchKernel)) +43930040115091:43930041642494 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) +43930056277901:43930057256648 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) +43930057257977:43930057257978 26045:26045 MARK(name(before HIP LaunchKernel)) +43930057272223:43930057289480 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43930057291332:43930057291333 26045:26045 MARK(name(after HIP LaunchKernel)) +43930057295873:43930058824334 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) +43930073425379:43930074399760 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) +43930074401252:43930074401253 26045:26045 MARK(name(before HIP LaunchKernel)) +43930074419817:43930074438268 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43930074440170:43930074440171 26045:26045 MARK(name(after HIP LaunchKernel)) +43930074444725:43930075965254 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) +43930090573064:43930091549310 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) +43930091550651:43930091550652 26045:26045 MARK(name(before HIP LaunchKernel)) +43930091565318:43930091586526 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43930091588403:43930091588404 26045:26045 MARK(name(after HIP LaunchKernel)) +43930091593005:43930093154139 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) +43930107762046:43930108750345 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) +43930108751815:43930108751816 26045:26045 MARK(name(before HIP LaunchKernel)) +43930108766235:43930108783875 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43930108785788:43930108785789 26045:26045 MARK(name(after HIP LaunchKernel)) +43930108790444:43930110347879 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) +43930125002524:43930125982636 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) +43930125983908:43930125983909 26045:26045 MARK(name(before HIP LaunchKernel)) +43930125996898:43930126011708 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43930126013155:43930126013156 26045:26045 MARK(name(after HIP LaunchKernel)) +43930126017486:43930127543710 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) +43930142196077:43930143170122 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) +43930143171557:43930143171558 26045:26045 MARK(name(before HIP LaunchKernel)) +43930143183967:43930143198412 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43930143200095:43930143200096 26045:26045 MARK(name(after HIP LaunchKernel)) +43930143204452:43930144771054 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) +43930159403691:43930160393521 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) +43930160394814:43930160394815 26045:26045 MARK(name(before HIP LaunchKernel)) +43930160407201:43930160421674 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43930160423285:43930160423286 26045:26045 MARK(name(after HIP LaunchKernel)) +43930160428657:43930161976186 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) +43930176596876:43930177567385 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) +43930177568762:43930177568763 26045:26045 MARK(name(before HIP LaunchKernel)) +43930177580617:43930177599106 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43930177600622:43930177600623 26045:26045 MARK(name(after HIP LaunchKernel)) +43930177605236:43930179156766 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) +43930193786814:43930194761708 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) +43930194763193:43930194763194 26045:26045 MARK(name(before HIP LaunchKernel)) +43930194775546:43930194789719 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43930194791198:43930194791199 26045:26045 MARK(name(after HIP LaunchKernel)) +43930194799346:43930196371655 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) +43930211027029:43930212004351 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) +43930212005914:43930212005915 26045:26045 MARK(name(before HIP LaunchKernel)) +43930212028861:43930212043049 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43930212053785:43930212053786 26045:26045 MARK(name(after HIP LaunchKernel)) +43930212058354:43930213609958 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) +43930228262713:43930229240371 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) +43930229241594:43930229241595 26045:26045 MARK(name(before HIP LaunchKernel)) +43930229253718:43930229267338 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43930229268677:43930229268678 26045:26045 MARK(name(after HIP LaunchKernel)) +43930229273036:43930230828395 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) +43930245480631:43930246455490 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) +43930246456769:43930246456770 26045:26045 MARK(name(before HIP LaunchKernel)) +43930246469196:43930246482896 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43930246484464:43930246484465 26045:26045 MARK(name(after HIP LaunchKernel)) +43930246488848:43930248045447 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) +43930262674151:43930263651803 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) +43930263654095:43930263654096 26045:26045 MARK(name(before HIP LaunchKernel)) +43930263666279:43930263680027 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43930263681543:43930263681544 26045:26045 MARK(name(after HIP LaunchKernel)) +43930263685887:43930265246396 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) +43930279853420:43930280852934 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) +43930280854474:43930280854475 26045:26045 MARK(name(before HIP LaunchKernel)) +43930280866659:43930280883869 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43930280885482:43930280885483 26045:26045 MARK(name(after HIP LaunchKernel)) +43930280889840:43930282443424 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) +43930297113151:43930298086759 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) +43930298088033:43930298088034 26045:26045 MARK(name(before HIP LaunchKernel)) +43930298100887:43930298114444 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43930298115954:43930298115955 26045:26045 MARK(name(after HIP LaunchKernel)) +43930298120290:43930299667942 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) +43930314333956:43930315310609 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) +43930315311820:43930315311821 26045:26045 MARK(name(before HIP LaunchKernel)) +43930315324785:43930315338444 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43930315339975:43930315339976 26045:26045 MARK(name(after HIP LaunchKernel)) +43930315344661:43930316915748 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) +43930331551482:43930332535669 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) +43930332536980:43930332536981 26045:26045 MARK(name(before HIP LaunchKernel)) +43930332549985:43930332563637 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43930332565027:43930332565028 26045:26045 MARK(name(after HIP LaunchKernel)) +43930332569394:43930334124047 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) +43930348756805:43930349735833 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) +43930349737337:43930349737338 26045:26045 MARK(name(before HIP LaunchKernel)) +43930349749102:43930349762696 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43930349766394:43930349766395 26045:26045 MARK(name(after HIP LaunchKernel)) +43930349770821:43930351318643 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) +43930365952737:43930366927280 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) +43930366928543:43930366928544 26045:26045 MARK(name(before HIP LaunchKernel)) +43930366940834:43930366954672 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43930366956265:43930366956266 26045:26045 MARK(name(after HIP LaunchKernel)) +43930366960759:43930368468025 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) +43930383042804:43930384031864 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) +43930384033125:43930384033126 26045:26045 MARK(name(before HIP LaunchKernel)) +43930384045585:43930384064690 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43930384066187:43930384066188 26045:26045 MARK(name(after HIP LaunchKernel)) +43930384070873:43930386956640 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) +43930401606890:43930402595595 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) +43930402596786:43930402596787 26045:26045 MARK(name(before HIP LaunchKernel)) +43930402609403:43930402623248 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43930402624768:43930402624769 26045:26045 MARK(name(after HIP LaunchKernel)) +43930402629125:43930405512214 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) +43930420155344:43930421144143 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) +43930421145457:43930421145458 26045:26045 MARK(name(before HIP LaunchKernel)) +43930421158149:43930421171754 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43930421173279:43930421173280 26045:26045 MARK(name(after HIP LaunchKernel)) +43930421177671:43930424086855 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) +43930438638964:43930439630170 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) +43930439631448:43930439631449 26045:26045 MARK(name(before HIP LaunchKernel)) +43930439643417:43930439656783 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43930439658236:43930439658237 26045:26045 MARK(name(after HIP LaunchKernel)) +43930439662612:43930442556618 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) +43930457234588:43930458235604 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) +43930458236944:43930458236945 26045:26045 MARK(name(before HIP LaunchKernel)) +43930458252561:43930458270034 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43930458271946:43930458271947 26045:26045 MARK(name(after HIP LaunchKernel)) +43930458276581:43930461174006 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) +43930475767073:43930476761677 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) +43930476763074:43930476763075 26045:26045 MARK(name(before HIP LaunchKernel)) +43930476780668:43930476797506 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43930476799292:43930476799293 26045:26045 MARK(name(after HIP LaunchKernel)) +43930476803907:43930479695341 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) +43930494306470:43930495297876 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) +43930495299303:43930495299304 26045:26045 MARK(name(before HIP LaunchKernel)) +43930495313946:43930495336102 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43930495338219:43930495338220 26045:26045 MARK(name(after HIP LaunchKernel)) +43930495342911:43930498227245 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) +43930512881639:43930513864262 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) +43930513865712:43930513865713 26045:26045 MARK(name(before HIP LaunchKernel)) +43930513880258:43930513897477 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43930513899274:43930513899275 26045:26045 MARK(name(after HIP LaunchKernel)) +43930513903971:43930516803453 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) +43930531430328:43930532437431 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) +43930532438771:43930532438772 26045:26045 MARK(name(before HIP LaunchKernel)) +43930532453106:43930532469898 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43930532471967:43930532471968 26045:26045 MARK(name(after HIP LaunchKernel)) +43930532476519:43930535371401 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) +43930549945202:43930550940770 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) +43930550942142:43930550942143 26045:26045 MARK(name(before HIP LaunchKernel)) +43930550957781:43930550974611 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43930550976381:43930550976382 26045:26045 MARK(name(after HIP LaunchKernel)) +43930550980977:43930553876692 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) +43930568599586:43930569594162 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) +43930569595844:43930569595845 26045:26045 MARK(name(before HIP LaunchKernel)) +43930569611408:43930569628942 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43930569631114:43930569631115 26045:26045 MARK(name(after HIP LaunchKernel)) +43930569635683:43930572531861 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) +43930587121462:43930588126225 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) +43930588127701:43930588127702 26045:26045 MARK(name(before HIP LaunchKernel)) +43930588142491:43930588164272 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43930588166135:43930588166136 26045:26045 MARK(name(after HIP LaunchKernel)) +43930588170741:43930591053523 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) +43930605678019:43930606669058 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) +43930606670431:43930606670432 26045:26045 MARK(name(before HIP LaunchKernel)) +43930606684605:43930606707405 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43930606709278:43930606709279 26045:26045 MARK(name(after HIP LaunchKernel)) +43930606713964:43930609614815 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) +43930624303095:43930625294059 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) +43930625295402:43930625295403 26045:26045 MARK(name(before HIP LaunchKernel)) +43930625309834:43930625326524 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43930625328474:43930625328475 26045:26045 MARK(name(after HIP LaunchKernel)) +43930625332967:43930628237487 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) +43930642855151:43930643835333 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) +43930643837061:43930643837062 26045:26045 MARK(name(before HIP LaunchKernel)) +43930643852287:43930643869129 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43930643870964:43930643870965 26045:26045 MARK(name(after HIP LaunchKernel)) +43930643876458:43930645418991 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) +43930660043380:43930661017218 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) +43930661018732:43930661018733 26045:26045 MARK(name(before HIP LaunchKernel)) +43930661033444:43930661050116 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43930661051826:43930661051827 26045:26045 MARK(name(after HIP LaunchKernel)) +43930661056328:43930662619508 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) +43930677239065:43930678215639 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) +43930678217048:43930678217049 26045:26045 MARK(name(before HIP LaunchKernel)) +43930678231055:43930678247980 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43930678250226:43930678250227 26045:26045 MARK(name(after HIP LaunchKernel)) +43930678254748:43930679817672 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) +43930694477507:43930695453612 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) +43930695454921:43930695454922 26045:26045 MARK(name(before HIP LaunchKernel)) +43930695469868:43930695490917 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43930695492677:43930695492678 26045:26045 MARK(name(after HIP LaunchKernel)) +43930695497229:43930697062436 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) +43930711713021:43930712688922 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) +43930712690236:43930712690237 26045:26045 MARK(name(before HIP LaunchKernel)) +43930712705309:43930712722139 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43930712724002:43930712724003 26045:26045 MARK(name(after HIP LaunchKernel)) +43930712732625:43930714284929 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) +43930728920088:43930729903146 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) +43930729904509:43930729904510 26045:26045 MARK(name(before HIP LaunchKernel)) +43930729919170:43930729935894 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43930729937815:43930729937816 26045:26045 MARK(name(after HIP LaunchKernel)) +43930729942327:43930731499310 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) +43930746137535:43930747115076 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) +43930747117381:43930747117382 26045:26045 MARK(name(before HIP LaunchKernel)) +43930747132166:43930747148830 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43930747150641:43930747150642 26045:26045 MARK(name(after HIP LaunchKernel)) +43930747155075:43930748712751 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) +43930763363169:43930764354316 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) +43930764355479:43930764355480 26045:26045 MARK(name(before HIP LaunchKernel)) +43930764368427:43930764383862 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43930764385419:43930764385420 26045:26045 MARK(name(after HIP LaunchKernel)) +43930764389726:43930765937408 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) +43930780592450:43930781566891 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) +43930781568219:43930781568220 26045:26045 MARK(name(before HIP LaunchKernel)) +43930781581007:43930781595946 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43930781597557:43930781597558 26045:26045 MARK(name(after HIP LaunchKernel)) +43930781601983:43930783151888 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) +43930797819027:43930798792755 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) +43930798794155:43930798794156 26045:26045 MARK(name(before HIP LaunchKernel)) +43930798806903:43930798825095 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43930798826655:43930798826656 26045:26045 MARK(name(after HIP LaunchKernel)) +43930798831124:43930800419144 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) +43930815032961:43930816039623 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) +43930816041071:43930816041072 26045:26045 MARK(name(before HIP LaunchKernel)) +43930816064413:43930816082004 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43930816083866:43930816083867 26045:26045 MARK(name(after HIP LaunchKernel)) +43930816088481:43930817652051 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) +43930832157120:43930833136126 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) +43930833137623:43930833137624 26045:26045 MARK(name(before HIP LaunchKernel)) +43930833153662:43930833170115 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43930833171924:43930833171925 26045:26045 MARK(name(after HIP LaunchKernel)) +43930833176374:43930834734585 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) +43930849335968:43930850310035 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) +43930850311309:43930850311310 26045:26045 MARK(name(before HIP LaunchKernel)) +43930850325544:43930850342153 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43930850343996:43930850343997 26045:26045 MARK(name(after HIP LaunchKernel)) +43930850348482:43930851912663 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) +43930866546277:43930867526754 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) +43930867528163:43930867528164 26045:26045 MARK(name(before HIP LaunchKernel)) +43930867543160:43930867559785 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43930867561512:43930867561513 26045:26045 MARK(name(after HIP LaunchKernel)) +43930867565902:43930869091920 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) +43930883716131:43930884677342 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) +43930884678631:43930884678632 26045:26045 MARK(name(before HIP LaunchKernel)) +43930884694101:43930884711548 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43930884713779:43930884713780 26045:26045 MARK(name(after HIP LaunchKernel)) +43930884718249:43930886238842 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) +43930900879693:43930900961693 26045:26045 hipFree(ptr(0x903200000)) +43930900964643:43930900983784 26045:26045 hipFree(ptr(0x903a00000)) +43928818806550:43928818808630 26045:26045 hsa_amd_profiling_async_copy_enable() = 0 +43928819009702:43928819010128 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc37d64) = 0 +43928819013500:43928819014204 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc37d64) = 0 +43928819013500:43928819015077 26045:26045 hsa_iterate_agents(1, 0x1d6ef58) = 0 +43928819016342:43928819016680 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc37f6c) = 0 +43928819016342:43928819017415 26045:26045 hsa_iterate_agents(1, 0x1d6ef50) = 1 +43928819020487:43928819020874 26045:26045 hsa_agent_get_info(, 4, 0x7fffcdc37c80) = 0 +43928819021766:43928819024997 26045:26045 hsa_agent_get_info(, 0, 0x7fffcdc37c40) = 0 +43928819025767:43928819026140 26045:26045 hsa_agent_get_info(, 16, 0x1d43968) = 0 +43928819037072:43928819037444 26045:26045 hsa_agent_get_info(, 21, 0x1d43900) = 0 +43928819038207:43928819038547 26045:26045 hsa_agent_get_info(, 22, 0x1d43902) = 0 +43928819039564:43928819039908 26045:26045 hsa_agent_get_info(, 14, 0x1d437a0) = 0 +43928819041336:43928819041729 26045:26045 hsa_amd_profiling_async_copy_enable() = 0 +43928819044307:43928819044915 26045:26045 hsa_amd_memory_pool_get_info(, 0, 0x7fffcdc3790c) = 0 +43928819045706:43928819046046 26045:26045 hsa_amd_memory_pool_get_info(, 0, 0x7fffcdc3790c) = 0 +43928819046840:43928819047178 26045:26045 hsa_amd_memory_pool_get_info(, 2, 0x7fffcdc37910) = 0 +43928819046840:43928819047918 26045:26045 hsa_amd_agent_iterate_memory_pools(, 1, 0x1d43798) = 1 +43928819049101:43928819049438 26045:26045 hsa_amd_memory_pool_get_info(, 0, 0x7fffcdc37764) = 0 +43928819050193:43928819050544 26045:26045 hsa_amd_memory_pool_get_info(, 1, 0x7fffcdc37754) = 0 +43928819051283:43928819051621 26045:26045 hsa_amd_memory_pool_get_info(, 2, 0x7fffcdc37758) = 0 +43928819052572:43928819052919 26045:26045 hsa_amd_memory_pool_get_info(, 0, 0x7fffcdc37764) = 0 +43928819052572:43928819053656 26045:26045 hsa_amd_agent_iterate_memory_pools(, 1, 0x1d43858) = 0 +43928819054808:43928819055135 26045:26045 hsa_amd_memory_pool_get_info(, 0, 0x7fffcdc3791c) = 0 +43928819055878:43928819056221 26045:26045 hsa_amd_memory_pool_get_info(, 1, 0x7fffcdc3778c) = 0 +43928819056962:43928819057294 26045:26045 hsa_amd_memory_pool_get_info(, 2, 0x7fffcdc37780) = 0 +43928819058408:43928819058750 26045:26045 hsa_amd_memory_pool_get_info(, 0, 0x7fffcdc3791c) = 0 +43928819059487:43928819059824 26045:26045 hsa_amd_memory_pool_get_info(, 1, 0x7fffcdc3778c) = 0 +43928819060566:43928819060904 26045:26045 hsa_amd_memory_pool_get_info(, 2, 0x7fffcdc37780) = 0 +43928819060566:43928819061658 26045:26045 hsa_amd_agent_iterate_memory_pools(, 1, 0x1d43858) = 0 +43928819064729:43928819134507 26045:26045 hsa_amd_memory_pool_allocate(, , , 0x7fffcdc37a18) = 0 +43928819136448:43928819149090 26045:26045 hsa_amd_agents_allow_access(, 0x1d43790, 0, 0x3d00000) = 0 +43928819155469:43928819155860 26045:26045 hsa_agent_get_info(, 8, 0x1d438b4) = 0 +43928819156659:43928819156997 26045:26045 hsa_agent_get_info(, 7, 0x1d438b8) = 0 +43928819157733:43928819158075 26045:26045 hsa_agent_get_info(, 4, 0x7fffcdc37e80) = 0 +43928819160373:43928819160778 26045:26045 hsa_amd_memory_pool_get_info(, 0, 0x7fffcdc377cc) = 0 +43928819161713:43928819162069 26045:26045 hsa_amd_memory_pool_get_info(, 1, 0x7fffcdc377c8) = 0 +43928819162907:43928819163243 26045:26045 hsa_amd_memory_pool_get_info(, 0, 0x7fffcdc377cc) = 0 +43928819164025:43928819164363 26045:26045 hsa_amd_memory_pool_get_info(, 1, 0x7fffcdc377c8) = 0 +43928819164025:43928819165141 26045:26045 hsa_amd_agent_iterate_memory_pools(, 1, 0x7fffcdc37a10) = 0 +43928819166352:43928819166715 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc377f4) = 0 +43928819167483:43928819167828 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc377f4) = 0 +43928819167483:43928819168617 26045:26045 hsa_iterate_agents(1, 0x7fffcdc37970) = 0 +43928819169589:43928819653388 26045:26045 hsa_amd_memory_pool_allocate(, , , 0x1d43cd0) = 0 +43928819654666:43928819672465 26045:26045 hsa_amd_agents_allow_access(, 0x1d6a7f0, 0, 0x4000000) = 0 +43928819674787:43928819676489 26045:26045 hsa_signal_create(0, , 0, 0x1d43cf0) = 0 +43928819677286:43928819678215 26045:26045 hsa_signal_create(0, , 0, 0x1d43d10) = 0 +43928819679042:43928820154075 26045:26045 hsa_amd_memory_pool_allocate(, , , 0x1d43cd8) = 0 +43928820155264:43928820171958 26045:26045 hsa_amd_agents_allow_access(, 0x1d6a7f0, 0, 0x4800000) = 0 +43928820172893:43928820174180 26045:26045 hsa_signal_create(0, , 0, 0x1d43cf8) = 0 +43928820175016:43928820175885 26045:26045 hsa_signal_create(0, , 0, 0x1d43d18) = 0 +43928820177416:43928820177793 26045:26045 hsa_amd_memory_pool_get_info(, 0, 0x7fffcdc377cc) = 0 +43928820178637:43928820178982 26045:26045 hsa_amd_memory_pool_get_info(, 1, 0x7fffcdc377c8) = 0 +43928820179817:43928820180150 26045:26045 hsa_amd_memory_pool_get_info(, 0, 0x7fffcdc377cc) = 0 +43928820180988:43928820181324 26045:26045 hsa_amd_memory_pool_get_info(, 1, 0x7fffcdc377c8) = 0 +43928820180988:43928820182100 26045:26045 hsa_amd_agent_iterate_memory_pools(, 1, 0x7fffcdc37a10) = 0 +43928820183361:43928820183769 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc377f4) = 0 +43928820184543:43928820184953 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc377f4) = 0 +43928820184543:43928820186848 26045:26045 hsa_iterate_agents(1, 0x7fffcdc37970) = 0 +43928820187774:43928820661205 26045:26045 hsa_amd_memory_pool_allocate(, , , 0x1d44310) = 0 +43928820662276:43928820678100 26045:26045 hsa_amd_agents_allow_access(, 0x1d6a7f0, 0, 0x5000000) = 0 +43928820679016:43928820680215 26045:26045 hsa_signal_create(0, , 0, 0x1d44330) = 0 +43928820680967:43928820681811 26045:26045 hsa_signal_create(0, , 0, 0x1d44350) = 0 +43928820682618:43928821157014 26045:26045 hsa_amd_memory_pool_allocate(, , , 0x1d44318) = 0 +43928821158075:43928821173448 26045:26045 hsa_amd_agents_allow_access(, 0x1d6a7f0, 0, 0x5800000) = 0 +43928821174359:43928821175500 26045:26045 hsa_signal_create(0, , 0, 0x1d44338) = 0 +43928821176233:43928821177104 26045:26045 hsa_signal_create(0, , 0, 0x1d44358) = 0 +43928821180446:43928821197812 26045:26045 hsa_amd_memory_lock(0x7f153c4b8380, , 0x1d6a4b0, 1, 0x7f153c4b8388) = 0 +43928821203025:43928821203421 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc382a4) = 0 +43928821203025:43928821204162 26045:26045 hsa_iterate_agents(1, 0x7f153b86f1d8) = 1 +43928821206149:43928821206557 26045:26045 hsa_agent_get_info(, 40962, 0x1d44ac8) = 0 +43928821207918:43928821208256 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc380bc) = 0 +43928821209223:43928821209574 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc380bc) = 0 +43928821209223:43928821210347 26045:26045 hsa_iterate_agents(1, 0x7fffcdc3821c) = 0 +43928821211105:43928821211536 26045:26045 hsa_agent_get_info(, 40969, 0x1d44ad0) = 0 +43928821212270:43928821214862 26045:26045 hsa_agent_get_info(, 0, 0x7fffcdc38290) = 0 +43928821216805:43928821217171 26045:26045 hsa_agent_get_info(, 16, 0x7fffcdc3824c) = 0 +43928821217964:43928821218310 26045:26045 hsa_agent_get_info(, 6, 0x1d44be4) = 0 +43928821219050:43928821219389 26045:26045 hsa_agent_get_info(, 8, 0x1d44be8) = 0 +43928821220239:43928821220583 26045:26045 hsa_agent_get_info(, 7, 0x7fffcdc3820e) = 0 +43928821221351:43928821221696 26045:26045 hsa_agent_get_info(, 9, 0x7fffcdc38230) = 0 +43928821222484:43928821222850 26045:26045 hsa_agent_get_info(, 40963, 0x1d44c04) = 0 +43928821224207:43928821224568 26045:26045 hsa_system_get_info(3, 0x7fffcdc38240) = 0 +43928821225350:43928821225703 26045:26045 hsa_agent_get_info(, 40966, 0x7fffcdc3820c) = 0 +43928821226439:43928821226794 26045:26045 hsa_agent_get_info(, 40975, 0x1d44c3c) = 0 +43928821227531:43928821227880 26045:26045 hsa_agent_get_info(, 40962, 0x1d44c20) = 0 +43928821228621:43928821228976 26045:26045 hsa_agent_get_info(, 18, 0x7fffcdc38280) = 0 +43928821231522:43928821231888 26045:26045 hsa_agent_get_info(, 40970, 0x7fffcdc38218) = 0 +43928821234216:43928821234593 26045:26045 hsa_amd_memory_pool_get_info(, 0, 0x7fffcdc3807c) = 0 +43928821236636:43928821236975 26045:26045 hsa_amd_memory_pool_get_info(, 0, 0x7fffcdc3807c) = 0 +43928821237796:43928821238130 26045:26045 hsa_amd_memory_pool_get_info(, 2, 0x1d44bd8) = 0 +43928821237796:43928821238867 26045:26045 hsa_amd_agent_iterate_memory_pools(, 1, 0x1d44ad0) = 0 +43928821252280:43928821253380 26045:26045 hsa_signal_create(1, , 0x7fffcdc37f48, 0x1d44e88) = 0 +43928821258394:43928821258839 26045:26045 hsa_region_get_info(, 2, 0x1d44bd0) = 0 +43928821259604:43928821259949 26045:26045 hsa_region_get_info(, 40963, 0x1d44c08) = 0 +43928821260721:43928821261054 26045:26045 hsa_region_get_info(, 40962, 0x1d44c0c) = 0 +43928821261841:43928821262197 26045:26045 hsa_agent_get_info(, 4, 0x7fffcdc38214) = 0 +43928821262967:43928821303493 26045:26045 hsa_agent_get_info(, 12288, 0x1d44c68) = 0 +43928821304373:43928821304811 26045:26045 hsa_agent_get_info(, 12291, 0x1d44c6c) = 0 +43928821305590:43928821305966 26045:26045 hsa_agent_get_info(, 12295, 0x1d44c74) = 0 +43928821306735:43928821307105 26045:26045 hsa_agent_get_info(, 40974, 0x7fffcdc38270) = 0 +43928821307876:43928821308226 26045:26045 hsa_agent_get_info(, 19, 0x7fffcdc38228) = 0 +43928821310002:43928821323222 26045:26045 hsa_isa_get_info_alt(, 0, 0x7fffcdc38220) = 0 +43928821326057:43928821329564 26045:26045 hsa_isa_get_info_alt(, 1, 0x1d447d0) = 0 +43928821345785:43928821346161 26045:26045 hsa_system_get_info(3, 0x7fffcdc385b0) = 0 +43928821347112:43928821347751 26045:26045 hsa_system_get_info(2, 0x7fffcdc385e0) = 0 +43928821351324:43928821351976 26045:26045 hsa_system_get_info(2, 0x7fffcdc385e0) = 0 +43928823525445:43928823526222 26045:26045 hsa_system_get_info(2, 0x7fffcdc385e0) = 0 +43928823534661:43928823571234 26045:26045 hsa_amd_memory_pool_allocate(, , , 0x7fffcdc383a8) = 0 +43928823575592:43928823576221 26045:26045 hsa_system_get_info(2, 0x7fffcdc385e0) = 0 +43928823579162:43928823579793 26045:26045 hsa_system_get_info(2, 0x7fffcdc385e0) = 0 +43928823581249:43928823604613 26045:26045 hsa_amd_memory_pool_allocate(, , , 0x7fffcdc383a8) = 0 +43928823605991:43928823606632 26045:26045 hsa_system_get_info(2, 0x7fffcdc385e0) = 0 +43928823617129:43928823617774 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43928823622797:43928823624003 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 +43928823626445:43928823626902 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43928823627752:43928823628314 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 +43928823629092:43928823629471 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43928823631185:43928823631524 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38264) = 0 +43928823631185:43928823632334 26045:26045 hsa_iterate_agents(1, 0x7fffcdc383c0) = 1 +43928823633956:43928823634463 26045:26045 hsa_region_get_info(, 0, 0x7fffcdc383bc) = 0 +43928823635500:43928823635957 26045:26045 hsa_region_get_info(, 1, 0x7fffcdc383b8) = 0 +43928823636957:43928823637408 26045:26045 hsa_region_get_info(, 0, 0x7fffcdc383bc) = 0 +43928823638320:43928823638752 26045:26045 hsa_region_get_info(, 1, 0x7fffcdc383b8) = 0 +43928823638320:43928823639683 26045:26045 hsa_agent_iterate_regions(, 1, 0x7fffcdc38500) = 1 +43928823651914:43928824161501 26045:26045 hsa_memory_allocate(, , 0x7fffcdc38508) = 0 +43928824163804:43928824164195 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38264) = 0 +43928824163804:43928824164975 26045:26045 hsa_iterate_agents(1, 0x7fffcdc383c0) = 1 +43928824166461:43928824168385 26045:26045 hsa_signal_create(1, , 0x7fffcdc38508, 0x7fffcdc38500) = 0 +43928824429542:43928824430152 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43928824434116:43928824434498 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc37ec0) = 0 +43928824436034:43928824436471 26045:26045 hsa_amd_memory_pool_get_info(, 0, 0x7fffcdc37d40) = 0 +43928824437266:43928824437611 26045:26045 hsa_amd_memory_pool_get_info(, 1, 0x7fffcdc37d44) = 0 +43928824438425:43928824438782 26045:26045 hsa_amd_memory_pool_get_info(, 0, 0x7fffcdc37d40) = 0 +43928824439515:43928824439856 26045:26045 hsa_amd_memory_pool_get_info(, 1, 0x7fffcdc37d44) = 0 +43928824439515:43928824440636 26045:26045 hsa_amd_agent_iterate_memory_pools(, 1, 0x1d4a850) = 1 +43928824441793:43928824442130 26045:26045 hsa_amd_memory_pool_get_info(, 0, 0x7fffcdc37d40) = 0 +43928824442859:43928824443191 26045:26045 hsa_amd_memory_pool_get_info(, 1, 0x7fffcdc37d44) = 0 +43928824442859:43928824443950 26045:26045 hsa_amd_agent_iterate_memory_pools(, 1, 0x1d4a860) = 1 +43928824456520:43928824456961 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc37ec0) = 0 +43928824457818:43928824461936 26045:26045 hsa_agent_get_info(, 0, 0x1d4a944) = 0 +43928824464336:43928824464696 26045:26045 hsa_agent_get_info(, 6, 0x1d4a984) = 0 +43928824465437:43928824465796 26045:26045 hsa_agent_get_info(, 14, 0x1d4a988) = 0 +43928824466532:43928824466883 26045:26045 hsa_agent_get_info(, 4, 0x1d4a98c) = 0 +43928824469219:43928824469569 26045:26045 hsa_agent_get_info(, 40962, 0x1d4a9a8) = 0 +43928824470307:43928824470649 26045:26045 hsa_agent_get_info(, 40970, 0x1d4a9ac) = 0 +43928824471384:43928824471720 26045:26045 hsa_agent_get_info(, 40971, 0x1d4a9b0) = 0 +43928824472458:43928824472808 26045:26045 hsa_agent_get_info(, 40972, 0x1d4a9b4) = 0 +43928824473541:43928824473877 26045:26045 hsa_agent_get_info(, 40973, 0x1d4a9b8) = 0 +43928824475087:43928824475419 26045:26045 hsa_amd_memory_pool_get_info(, 0, 0x7fffcdc37d30) = 0 +43928824476149:43928824476494 26045:26045 hsa_amd_memory_pool_get_info(, 1, 0x7fffcdc37d34) = 0 +43928824476149:43928824477252 26045:26045 hsa_amd_agent_iterate_memory_pools(, 1, 0x1d4a998) = 1 +43928824476149:43928824481825 26045:26045 hsa_iterate_agents(1, 0x1d4a660) = 0 +43928824482797:43928824589956 26045:26045 hsa_system_get_major_extension_table(, , , 0x1d4a6f8) = 0 +43928824591434:43928824591840 26045:26045 hsa_system_get_major_extension_table(, , , 0x1d4a748) = 0 +43928824592784:43928824593135 26045:26045 hsa_system_get_info(3, 0x7fffcdc38038) = 0 +43928824606887:43928824607534 26045:26045 hsa_system_get_info(2, 0x1d4b210) = 0 +43928824609541:43928824610168 26045:26045 hsa_system_get_info(2, 0x1d4b218) = 0 +43928824610956:43928824611577 26045:26045 hsa_system_get_info(2, 0x1d4b220) = 0 +43928824612326:43928824612946 26045:26045 hsa_system_get_info(2, 0x1d4b228) = 0 +43928824613693:43928824614311 26045:26045 hsa_system_get_info(2, 0x1d4b230) = 0 +43928824615060:43928824615679 26045:26045 hsa_system_get_info(2, 0x1d4b238) = 0 +43928824616427:43928824617043 26045:26045 hsa_system_get_info(2, 0x1d4b240) = 0 +43928824617790:43928824618408 26045:26045 hsa_system_get_info(2, 0x1d4b248) = 0 +43928824619153:43928824619775 26045:26045 hsa_system_get_info(2, 0x1d4b250) = 0 +43928824620521:43928824621161 26045:26045 hsa_system_get_info(2, 0x1d4b258) = 0 +43928824621907:43928824622522 26045:26045 hsa_system_get_info(2, 0x1d4b260) = 0 +43928824623272:43928824623887 26045:26045 hsa_system_get_info(2, 0x1d4b268) = 0 +43928824624629:43928824625250 26045:26045 hsa_system_get_info(2, 0x1d4b270) = 0 +43928824625998:43928824626620 26045:26045 hsa_system_get_info(2, 0x1d4b278) = 0 +43928824627369:43928824627991 26045:26045 hsa_system_get_info(2, 0x1d4b280) = 0 +43928824628741:43928824629358 26045:26045 hsa_system_get_info(2, 0x1d4b288) = 0 +43928824631362:43928824631982 26045:26045 hsa_system_get_info(2, 0x1d4b290) = 0 +43928824632731:43928824633349 26045:26045 hsa_system_get_info(2, 0x1d4b298) = 0 +43928824634095:43928824634714 26045:26045 hsa_system_get_info(2, 0x1d4b2a0) = 0 +43928824635461:43928824636078 26045:26045 hsa_system_get_info(2, 0x1d4b2a8) = 0 +43928824636824:43928824637441 26045:26045 hsa_system_get_info(2, 0x1d4b2b0) = 0 +43928824638186:43928824638806 26045:26045 hsa_system_get_info(2, 0x1d4b2b8) = 0 +43928824639612:43928824640233 26045:26045 hsa_system_get_info(2, 0x1d4b2c0) = 0 +43928824640979:43928824641598 26045:26045 hsa_system_get_info(2, 0x1d4b2c8) = 0 +43928824642346:43928824642960 26045:26045 hsa_system_get_info(2, 0x1d4b2d0) = 0 +43928824643708:43928824644327 26045:26045 hsa_system_get_info(2, 0x1d4b2d8) = 0 +43928824645076:43928824645699 26045:26045 hsa_system_get_info(2, 0x1d4b2e0) = 0 +43928824646448:43928824647068 26045:26045 hsa_system_get_info(2, 0x1d4b2e8) = 0 +43928824647817:43928824648438 26045:26045 hsa_system_get_info(2, 0x1d4b2f0) = 0 +43928824649186:43928824649822 26045:26045 hsa_system_get_info(2, 0x1d4b2f8) = 0 +43928824650571:43928824651189 26045:26045 hsa_system_get_info(2, 0x1d4b300) = 0 +43928824651934:43928824652561 26045:26045 hsa_system_get_info(2, 0x1d4b308) = 0 +43928824653306:43928824653924 26045:26045 hsa_system_get_info(2, 0x1d4b310) = 0 +43928824654671:43928824655292 26045:26045 hsa_system_get_info(2, 0x1d4b318) = 0 +43928824656041:43928824656658 26045:26045 hsa_system_get_info(2, 0x1d4b320) = 0 +43928824657406:43928824658034 26045:26045 hsa_system_get_info(2, 0x1d4b328) = 0 +43928824658782:43928824659403 26045:26045 hsa_system_get_info(2, 0x1d4b330) = 0 +43928824660154:43928824660772 26045:26045 hsa_system_get_info(2, 0x1d4b338) = 0 +43928824661519:43928824662144 26045:26045 hsa_system_get_info(2, 0x1d4b340) = 0 +43928824662890:43928824663516 26045:26045 hsa_system_get_info(2, 0x1d4b348) = 0 +43928824664265:43928824664885 26045:26045 hsa_system_get_info(2, 0x1d4b350) = 0 +43928824665631:43928824666252 26045:26045 hsa_system_get_info(2, 0x1d4b358) = 0 +43928824667001:43928824667621 26045:26045 hsa_system_get_info(2, 0x1d4b360) = 0 +43928824668372:43928824668995 26045:26045 hsa_system_get_info(2, 0x1d4b368) = 0 +43928824669763:43928824670382 26045:26045 hsa_system_get_info(2, 0x1d4b370) = 0 +43928824671921:43928824672540 26045:26045 hsa_system_get_info(2, 0x1d4b378) = 0 +43928824673290:43928824673910 26045:26045 hsa_system_get_info(2, 0x1d4b380) = 0 +43928824674655:43928824675275 26045:26045 hsa_system_get_info(2, 0x1d4b388) = 0 +43928824676019:43928824676638 26045:26045 hsa_system_get_info(2, 0x1d4b390) = 0 +43928824677386:43928824678007 26045:26045 hsa_system_get_info(2, 0x1d4b398) = 0 +43928824678759:43928824679380 26045:26045 hsa_system_get_info(2, 0x1d4b3a0) = 0 +43928824680124:43928824680741 26045:26045 hsa_system_get_info(2, 0x1d4b3a8) = 0 +43928824681488:43928824682108 26045:26045 hsa_system_get_info(2, 0x1d4b3b0) = 0 +43928824682851:43928824683476 26045:26045 hsa_system_get_info(2, 0x1d4b3b8) = 0 +43928824684219:43928824684840 26045:26045 hsa_system_get_info(2, 0x1d4b3c0) = 0 +43928824685582:43928824686207 26045:26045 hsa_system_get_info(2, 0x1d4b3c8) = 0 +43928824686953:43928824687575 26045:26045 hsa_system_get_info(2, 0x1d4b3d0) = 0 +43928824688322:43928824688943 26045:26045 hsa_system_get_info(2, 0x1d4b3d8) = 0 +43928824689692:43928824690316 26045:26045 hsa_system_get_info(2, 0x1d4b3e0) = 0 +43928824691063:43928824691684 26045:26045 hsa_system_get_info(2, 0x1d4b3e8) = 0 +43928824692434:43928824693073 26045:26045 hsa_system_get_info(2, 0x1d4b3f0) = 0 +43928824693818:43928824694438 26045:26045 hsa_system_get_info(2, 0x1d4b3f8) = 0 +43928824695186:43928824695804 26045:26045 hsa_system_get_info(2, 0x1d4b400) = 0 +43928824696551:43928824697173 26045:26045 hsa_system_get_info(2, 0x1d4b408) = 0 +43928824697920:43928824698538 26045:26045 hsa_system_get_info(2, 0x1d4b410) = 0 +43928824699282:43928824699902 26045:26045 hsa_system_get_info(2, 0x1d4b418) = 0 +43928824700649:43928824701267 26045:26045 hsa_system_get_info(2, 0x1d4b420) = 0 +43928824702016:43928824702637 26045:26045 hsa_system_get_info(2, 0x1d4b428) = 0 +43928824703384:43928824703999 26045:26045 hsa_system_get_info(2, 0x1d4b430) = 0 +43928824704744:43928824705361 26045:26045 hsa_system_get_info(2, 0x1d4b438) = 0 +43928824706109:43928824706726 26045:26045 hsa_system_get_info(2, 0x1d4b440) = 0 +43928824707474:43928824708101 26045:26045 hsa_system_get_info(2, 0x1d4b448) = 0 +43928824708848:43928824709465 26045:26045 hsa_system_get_info(2, 0x1d4b450) = 0 +43928824710967:43928824711595 26045:26045 hsa_system_get_info(2, 0x1d4b458) = 0 +43928824712339:43928824712957 26045:26045 hsa_system_get_info(2, 0x1d4b460) = 0 +43928824713707:43928824714324 26045:26045 hsa_system_get_info(2, 0x1d4b468) = 0 +43928824715070:43928824715692 26045:26045 hsa_system_get_info(2, 0x1d4b470) = 0 +43928824716440:43928824717059 26045:26045 hsa_system_get_info(2, 0x1d4b478) = 0 +43928824717803:43928824718421 26045:26045 hsa_system_get_info(2, 0x1d4b480) = 0 +43928824719170:43928824719793 26045:26045 hsa_system_get_info(2, 0x1d4b488) = 0 +43928824720541:43928824721169 26045:26045 hsa_system_get_info(2, 0x1d4b490) = 0 +43928824721913:43928824722535 26045:26045 hsa_system_get_info(2, 0x1d4b498) = 0 +43928824723283:43928824723904 26045:26045 hsa_system_get_info(2, 0x1d4b4a0) = 0 +43928824724647:43928824725267 26045:26045 hsa_system_get_info(2, 0x1d4b4a8) = 0 +43928824726012:43928824726630 26045:26045 hsa_system_get_info(2, 0x1d4b4b0) = 0 +43928824727376:43928824728007 26045:26045 hsa_system_get_info(2, 0x1d4b4b8) = 0 +43928824728752:43928824729369 26045:26045 hsa_system_get_info(2, 0x1d4b4c0) = 0 +43928824730115:43928824730733 26045:26045 hsa_system_get_info(2, 0x1d4b4c8) = 0 +43928824731480:43928824732095 26045:26045 hsa_system_get_info(2, 0x1d4b4d0) = 0 +43928824732839:43928824733460 26045:26045 hsa_system_get_info(2, 0x1d4b4d8) = 0 +43928824734205:43928824734823 26045:26045 hsa_system_get_info(2, 0x1d4b4e0) = 0 +43928824735567:43928824736189 26045:26045 hsa_system_get_info(2, 0x1d4b4e8) = 0 +43928824736931:43928824737551 26045:26045 hsa_system_get_info(2, 0x1d4b4f0) = 0 +43928824738297:43928824738917 26045:26045 hsa_system_get_info(2, 0x1d4b4f8) = 0 +43928824739662:43928824740282 26045:26045 hsa_system_get_info(2, 0x1d4b500) = 0 +43928824741029:43928824741645 26045:26045 hsa_system_get_info(2, 0x1d4b508) = 0 +43928824742391:43928824743007 26045:26045 hsa_system_get_info(2, 0x1d4b510) = 0 +43928824743754:43928824744375 26045:26045 hsa_system_get_info(2, 0x1d4b518) = 0 +43928824745121:43928824745738 26045:26045 hsa_system_get_info(2, 0x1d4b520) = 0 +43928824746483:43928824747105 26045:26045 hsa_system_get_info(2, 0x1d4b528) = 0 +43928824747869:43928824748488 26045:26045 hsa_system_get_info(2, 0x1d4b530) = 0 +43928824749940:43928824750565 26045:26045 hsa_system_get_info(2, 0x1d4b538) = 0 +43928824751325:43928824751945 26045:26045 hsa_system_get_info(2, 0x1d4b540) = 0 +43928824752692:43928824753316 26045:26045 hsa_system_get_info(2, 0x1d4b548) = 0 +43928824754061:43928824754682 26045:26045 hsa_system_get_info(2, 0x1d4b550) = 0 +43928824755429:43928824756050 26045:26045 hsa_system_get_info(2, 0x1d4b558) = 0 +43928824756795:43928824757413 26045:26045 hsa_system_get_info(2, 0x1d4b560) = 0 +43928824758162:43928824758781 26045:26045 hsa_system_get_info(2, 0x1d4b568) = 0 +43928824759525:43928824760146 26045:26045 hsa_system_get_info(2, 0x1d4b570) = 0 +43928824760912:43928824761526 26045:26045 hsa_system_get_info(2, 0x1d4b578) = 0 +43928824762273:43928824762894 26045:26045 hsa_system_get_info(2, 0x1d4b580) = 0 +43928824763639:43928824764259 26045:26045 hsa_system_get_info(2, 0x1d4b588) = 0 +43928824765006:43928824765624 26045:26045 hsa_system_get_info(2, 0x1d4b590) = 0 +43928824766367:43928824766990 26045:26045 hsa_system_get_info(2, 0x1d4b598) = 0 +43928824767741:43928824768369 26045:26045 hsa_system_get_info(2, 0x1d4b5a0) = 0 +43928824769120:43928824769742 26045:26045 hsa_system_get_info(2, 0x1d4b5a8) = 0 +43928824770489:43928824771113 26045:26045 hsa_system_get_info(2, 0x1d4b5b0) = 0 +43928824771862:43928824772487 26045:26045 hsa_system_get_info(2, 0x1d4b5b8) = 0 +43928824773232:43928824773855 26045:26045 hsa_system_get_info(2, 0x1d4b5c0) = 0 +43928824774601:43928824775224 26045:26045 hsa_system_get_info(2, 0x1d4b5c8) = 0 +43928824775972:43928824776593 26045:26045 hsa_system_get_info(2, 0x1d4b5d0) = 0 +43928824777340:43928824777952 26045:26045 hsa_system_get_info(2, 0x1d4b5d8) = 0 +43928824778702:43928824779324 26045:26045 hsa_system_get_info(2, 0x1d4b5e0) = 0 +43928824780071:43928824780713 26045:26045 hsa_system_get_info(2, 0x1d4b5e8) = 0 +43928824781459:43928824782084 26045:26045 hsa_system_get_info(2, 0x1d4b5f0) = 0 +43928824782833:43928824783453 26045:26045 hsa_system_get_info(2, 0x1d4b5f8) = 0 +43928824784200:43928824784821 26045:26045 hsa_system_get_info(2, 0x1d4b600) = 0 +43928824785572:43928824786195 26045:26045 hsa_system_get_info(2, 0x1d4b608) = 0 +43928824786969:43928824787591 26045:26045 hsa_system_get_info(2, 0x1d4b610) = 0 +43928824788340:43928824788964 26045:26045 hsa_system_get_info(2, 0x1d4b618) = 0 +43928824790477:43928824791097 26045:26045 hsa_system_get_info(2, 0x1d4b620) = 0 +43928824791844:43928824792462 26045:26045 hsa_system_get_info(2, 0x1d4b628) = 0 +43928824793211:43928824793830 26045:26045 hsa_system_get_info(2, 0x1d4b630) = 0 +43928824794575:43928824795191 26045:26045 hsa_system_get_info(2, 0x1d4b638) = 0 +43928824795934:43928824796553 26045:26045 hsa_system_get_info(2, 0x1d4b640) = 0 +43928824797301:43928824797921 26045:26045 hsa_system_get_info(2, 0x1d4b648) = 0 +43928824798668:43928824799286 26045:26045 hsa_system_get_info(2, 0x1d4b650) = 0 +43928824800033:43928824800654 26045:26045 hsa_system_get_info(2, 0x1d4b658) = 0 +43928824801399:43928824802018 26045:26045 hsa_system_get_info(2, 0x1d4b660) = 0 +43928824802764:43928824803380 26045:26045 hsa_system_get_info(2, 0x1d4b668) = 0 +43928824804122:43928824804745 26045:26045 hsa_system_get_info(2, 0x1d4b670) = 0 +43928824805492:43928824806109 26045:26045 hsa_system_get_info(2, 0x1d4b678) = 0 +43928824806857:43928824807477 26045:26045 hsa_system_get_info(2, 0x1d4b680) = 0 +43928824808237:43928824808855 26045:26045 hsa_system_get_info(2, 0x1d4b688) = 0 +43928824809605:43928824810230 26045:26045 hsa_system_get_info(2, 0x1d4b690) = 0 +43928824810980:43928824811596 26045:26045 hsa_system_get_info(2, 0x1d4b698) = 0 +43928824812342:43928824812962 26045:26045 hsa_system_get_info(2, 0x1d4b6a0) = 0 +43928824813713:43928824814335 26045:26045 hsa_system_get_info(2, 0x1d4b6a8) = 0 +43928824815083:43928824815704 26045:26045 hsa_system_get_info(2, 0x1d4b6b0) = 0 +43928824816449:43928824817066 26045:26045 hsa_system_get_info(2, 0x1d4b6b8) = 0 +43928824817819:43928824818438 26045:26045 hsa_system_get_info(2, 0x1d4b6c0) = 0 +43928824819180:43928824819799 26045:26045 hsa_system_get_info(2, 0x1d4b6c8) = 0 +43928824820549:43928824821171 26045:26045 hsa_system_get_info(2, 0x1d4b6d0) = 0 +43928824821918:43928824822539 26045:26045 hsa_system_get_info(2, 0x1d4b6d8) = 0 +43928824823289:43928824823908 26045:26045 hsa_system_get_info(2, 0x1d4b6e0) = 0 +43928824824654:43928824825280 26045:26045 hsa_system_get_info(2, 0x1d4b6e8) = 0 +43928824826030:43928824826650 26045:26045 hsa_system_get_info(2, 0x1d4b6f0) = 0 +43928824827405:43928824828042 26045:26045 hsa_system_get_info(2, 0x1d4b6f8) = 0 +43928824829561:43928824830182 26045:26045 hsa_system_get_info(2, 0x1d4b700) = 0 +43928824830932:43928824831552 26045:26045 hsa_system_get_info(2, 0x1d4b708) = 0 +43928824832296:43928824832921 26045:26045 hsa_system_get_info(2, 0x1d4b710) = 0 +43928824833672:43928824834295 26045:26045 hsa_system_get_info(2, 0x1d4b718) = 0 +43928824835044:43928824835665 26045:26045 hsa_system_get_info(2, 0x1d4b720) = 0 +43928824836411:43928824837029 26045:26045 hsa_system_get_info(2, 0x1d4b728) = 0 +43928824837775:43928824838396 26045:26045 hsa_system_get_info(2, 0x1d4b730) = 0 +43928824839142:43928824839766 26045:26045 hsa_system_get_info(2, 0x1d4b738) = 0 +43928824840513:43928824841137 26045:26045 hsa_system_get_info(2, 0x1d4b740) = 0 +43928824841887:43928824842508 26045:26045 hsa_system_get_info(2, 0x1d4b748) = 0 +43928824843258:43928824843879 26045:26045 hsa_system_get_info(2, 0x1d4b750) = 0 +43928824844625:43928824845249 26045:26045 hsa_system_get_info(2, 0x1d4b758) = 0 +43928824846009:43928824846629 26045:26045 hsa_system_get_info(2, 0x1d4b760) = 0 +43928824847374:43928824848001 26045:26045 hsa_system_get_info(2, 0x1d4b768) = 0 +43928824848748:43928824849364 26045:26045 hsa_system_get_info(2, 0x1d4b770) = 0 +43928824850111:43928824850728 26045:26045 hsa_system_get_info(2, 0x1d4b778) = 0 +43928824851475:43928824852095 26045:26045 hsa_system_get_info(2, 0x1d4b780) = 0 +43928824852843:43928824853464 26045:26045 hsa_system_get_info(2, 0x1d4b788) = 0 +43928824854208:43928824854827 26045:26045 hsa_system_get_info(2, 0x1d4b790) = 0 +43928824855574:43928824856189 26045:26045 hsa_system_get_info(2, 0x1d4b798) = 0 +43928824856939:43928824857557 26045:26045 hsa_system_get_info(2, 0x1d4b7a0) = 0 +43928824858301:43928824858920 26045:26045 hsa_system_get_info(2, 0x1d4b7a8) = 0 +43928824859668:43928824860287 26045:26045 hsa_system_get_info(2, 0x1d4b7b0) = 0 +43928824861033:43928824861653 26045:26045 hsa_system_get_info(2, 0x1d4b7b8) = 0 +43928824862404:43928824863030 26045:26045 hsa_system_get_info(2, 0x1d4b7c0) = 0 +43928824863773:43928824864390 26045:26045 hsa_system_get_info(2, 0x1d4b7c8) = 0 +43928824865136:43928824865754 26045:26045 hsa_system_get_info(2, 0x1d4b7d0) = 0 +43928824866535:43928824867152 26045:26045 hsa_system_get_info(2, 0x1d4b7d8) = 0 +43928824867896:43928824868515 26045:26045 hsa_system_get_info(2, 0x1d4b7e0) = 0 +43928824869994:43928824870619 26045:26045 hsa_system_get_info(2, 0x1d4b7e8) = 0 +43928824871365:43928824871990 26045:26045 hsa_system_get_info(2, 0x1d4b7f0) = 0 +43928824872738:43928824873361 26045:26045 hsa_system_get_info(2, 0x1d4b7f8) = 0 +43928824874108:43928824874732 26045:26045 hsa_system_get_info(2, 0x1d4b800) = 0 +43928824875480:43928824876107 26045:26045 hsa_system_get_info(2, 0x1d4b808) = 0 +43928824876854:43928824877480 26045:26045 hsa_system_get_info(2, 0x1d4b810) = 0 +43928824878224:43928824878850 26045:26045 hsa_system_get_info(2, 0x1d4b818) = 0 +43928824879594:43928824880215 26045:26045 hsa_system_get_info(2, 0x1d4b820) = 0 +43928824880963:43928824881582 26045:26045 hsa_system_get_info(2, 0x1d4b828) = 0 +43928824882331:43928824882951 26045:26045 hsa_system_get_info(2, 0x1d4b830) = 0 +43928824883701:43928824884318 26045:26045 hsa_system_get_info(2, 0x1d4b838) = 0 +43928824885065:43928824885686 26045:26045 hsa_system_get_info(2, 0x1d4b840) = 0 +43928824886435:43928824887056 26045:26045 hsa_system_get_info(2, 0x1d4b848) = 0 +43928824887814:43928824888434 26045:26045 hsa_system_get_info(2, 0x1d4b850) = 0 +43928824889184:43928824889800 26045:26045 hsa_system_get_info(2, 0x1d4b858) = 0 +43928824890548:43928824891168 26045:26045 hsa_system_get_info(2, 0x1d4b860) = 0 +43928824891919:43928824892538 26045:26045 hsa_system_get_info(2, 0x1d4b868) = 0 +43928824893286:43928824893907 26045:26045 hsa_system_get_info(2, 0x1d4b870) = 0 +43928824894652:43928824895268 26045:26045 hsa_system_get_info(2, 0x1d4b878) = 0 +43928824896018:43928824896636 26045:26045 hsa_system_get_info(2, 0x1d4b880) = 0 +43928824897382:43928824897996 26045:26045 hsa_system_get_info(2, 0x1d4b888) = 0 +43928824898745:43928824899366 26045:26045 hsa_system_get_info(2, 0x1d4b890) = 0 +43928824900113:43928824900732 26045:26045 hsa_system_get_info(2, 0x1d4b898) = 0 +43928824901481:43928824902098 26045:26045 hsa_system_get_info(2, 0x1d4b8a0) = 0 +43928824902845:43928824903469 26045:26045 hsa_system_get_info(2, 0x1d4b8a8) = 0 +43928824904216:43928824904837 26045:26045 hsa_system_get_info(2, 0x1d4b8b0) = 0 +43928824905581:43928824906220 26045:26045 hsa_system_get_info(2, 0x1d4b8b8) = 0 +43928824906975:43928824907589 26045:26045 hsa_system_get_info(2, 0x1d4b8c0) = 0 +43928824909051:43928824909671 26045:26045 hsa_system_get_info(2, 0x1d4b8c8) = 0 +43928824910418:43928824911039 26045:26045 hsa_system_get_info(2, 0x1d4b8d0) = 0 +43928824911783:43928824912401 26045:26045 hsa_system_get_info(2, 0x1d4b8d8) = 0 +43928824913154:43928824913775 26045:26045 hsa_system_get_info(2, 0x1d4b8e0) = 0 +43928824914523:43928824915140 26045:26045 hsa_system_get_info(2, 0x1d4b8e8) = 0 +43928824915889:43928824916509 26045:26045 hsa_system_get_info(2, 0x1d4b8f0) = 0 +43928824917255:43928824917872 26045:26045 hsa_system_get_info(2, 0x1d4b8f8) = 0 +43928824918617:43928824919237 26045:26045 hsa_system_get_info(2, 0x1d4b900) = 0 +43928824919986:43928824920609 26045:26045 hsa_system_get_info(2, 0x1d4b908) = 0 +43928824921359:43928824921983 26045:26045 hsa_system_get_info(2, 0x1d4b910) = 0 +43928824922729:43928824923354 26045:26045 hsa_system_get_info(2, 0x1d4b918) = 0 +43928824924098:43928824924717 26045:26045 hsa_system_get_info(2, 0x1d4b920) = 0 +43928824925462:43928824926085 26045:26045 hsa_system_get_info(2, 0x1d4b928) = 0 +43928824926850:43928824927467 26045:26045 hsa_system_get_info(2, 0x1d4b930) = 0 +43928824928211:43928824928832 26045:26045 hsa_system_get_info(2, 0x1d4b938) = 0 +43928824929579:43928824930199 26045:26045 hsa_system_get_info(2, 0x1d4b940) = 0 +43928824930945:43928824931571 26045:26045 hsa_system_get_info(2, 0x1d4b948) = 0 +43928824932316:43928824932935 26045:26045 hsa_system_get_info(2, 0x1d4b950) = 0 +43928824933683:43928824934302 26045:26045 hsa_system_get_info(2, 0x1d4b958) = 0 +43928824935051:43928824935670 26045:26045 hsa_system_get_info(2, 0x1d4b960) = 0 +43928824936417:43928824937035 26045:26045 hsa_system_get_info(2, 0x1d4b968) = 0 +43928824937784:43928824938404 26045:26045 hsa_system_get_info(2, 0x1d4b970) = 0 +43928824939146:43928824939766 26045:26045 hsa_system_get_info(2, 0x1d4b978) = 0 +43928824940514:43928824941134 26045:26045 hsa_system_get_info(2, 0x1d4b980) = 0 +43928824941880:43928824942502 26045:26045 hsa_system_get_info(2, 0x1d4b988) = 0 +43928824943252:43928824943869 26045:26045 hsa_system_get_info(2, 0x1d4b990) = 0 +43928824944632:43928824945252 26045:26045 hsa_system_get_info(2, 0x1d4b998) = 0 +43928824946013:43928824946637 26045:26045 hsa_system_get_info(2, 0x1d4b9a0) = 0 +43928824947383:43928824948005 26045:26045 hsa_system_get_info(2, 0x1d4b9a8) = 0 +43928824949482:43928824950111 26045:26045 hsa_system_get_info(2, 0x1d4b9b0) = 0 +43928824950864:43928824951506 26045:26045 hsa_system_get_info(2, 0x1d4b9b8) = 0 +43928824952260:43928824952877 26045:26045 hsa_system_get_info(2, 0x1d4b9c0) = 0 +43928824953622:43928824954245 26045:26045 hsa_system_get_info(2, 0x1d4b9c8) = 0 +43928824954993:43928824955614 26045:26045 hsa_system_get_info(2, 0x1d4b9d0) = 0 +43928824956364:43928824956989 26045:26045 hsa_system_get_info(2, 0x1d4b9d8) = 0 +43928824957738:43928824958361 26045:26045 hsa_system_get_info(2, 0x1d4b9e0) = 0 +43928824959111:43928824959730 26045:26045 hsa_system_get_info(2, 0x1d4b9e8) = 0 +43928824960476:43928824961100 26045:26045 hsa_system_get_info(2, 0x1d4b9f0) = 0 +43928824961851:43928824962470 26045:26045 hsa_system_get_info(2, 0x1d4b9f8) = 0 +43928824963219:43928824963833 26045:26045 hsa_system_get_info(2, 0x1d4ba00) = 0 +43928824964581:43928824965204 26045:26045 hsa_system_get_info(2, 0x1d4ba08) = 0 +43928824965952:43928824966570 26045:26045 hsa_system_get_info(2, 0x1d4ba10) = 0 +43928824967316:43928824967939 26045:26045 hsa_system_get_info(2, 0x1d4ba18) = 0 +43928824968686:43928824969304 26045:26045 hsa_system_get_info(2, 0x1d4ba20) = 0 +43928824970050:43928824970668 26045:26045 hsa_system_get_info(2, 0x1d4ba28) = 0 +43928824971431:43928824972045 26045:26045 hsa_system_get_info(2, 0x1d4ba30) = 0 +43928824972792:43928824973415 26045:26045 hsa_system_get_info(2, 0x1d4ba38) = 0 +43928824974160:43928824974780 26045:26045 hsa_system_get_info(2, 0x1d4ba40) = 0 +43928824975526:43928824976151 26045:26045 hsa_system_get_info(2, 0x1d4ba48) = 0 +43928824976898:43928824977520 26045:26045 hsa_system_get_info(2, 0x1d4ba50) = 0 +43928824978270:43928824978890 26045:26045 hsa_system_get_info(2, 0x1d4ba58) = 0 +43928824979638:43928824980259 26045:26045 hsa_system_get_info(2, 0x1d4ba60) = 0 +43928824981008:43928824981623 26045:26045 hsa_system_get_info(2, 0x1d4ba68) = 0 +43928824982370:43928824982984 26045:26045 hsa_system_get_info(2, 0x1d4ba70) = 0 +43928824983732:43928824984353 26045:26045 hsa_system_get_info(2, 0x1d4ba78) = 0 +43928824985101:43928824985722 26045:26045 hsa_system_get_info(2, 0x1d4ba80) = 0 +43928824986472:43928824987090 26045:26045 hsa_system_get_info(2, 0x1d4ba88) = 0 +43928824988553:43928824989169 26045:26045 hsa_system_get_info(2, 0x1d4ba90) = 0 +43928824989918:43928824990542 26045:26045 hsa_system_get_info(2, 0x1d4ba98) = 0 +43928824991287:43928824991906 26045:26045 hsa_system_get_info(2, 0x1d4baa0) = 0 +43928824992649:43928824993269 26045:26045 hsa_system_get_info(2, 0x1d4baa8) = 0 +43928824994017:43928824994639 26045:26045 hsa_system_get_info(2, 0x1d4bab0) = 0 +43928824995386:43928824996002 26045:26045 hsa_system_get_info(2, 0x1d4bab8) = 0 +43928824996750:43928824997371 26045:26045 hsa_system_get_info(2, 0x1d4bac0) = 0 +43928824998119:43928824998738 26045:26045 hsa_system_get_info(2, 0x1d4bac8) = 0 +43928824999485:43928825000109 26045:26045 hsa_system_get_info(2, 0x1d4bad0) = 0 +43928825000855:43928825001479 26045:26045 hsa_system_get_info(2, 0x1d4bad8) = 0 +43928825002224:43928825002846 26045:26045 hsa_system_get_info(2, 0x1d4bae0) = 0 +43928825003593:43928825004212 26045:26045 hsa_system_get_info(2, 0x1d4bae8) = 0 +43928825004960:43928825005595 26045:26045 hsa_system_get_info(2, 0x1d4baf0) = 0 +43928825006342:43928825006959 26045:26045 hsa_system_get_info(2, 0x1d4baf8) = 0 +43928825007707:43928825008326 26045:26045 hsa_system_get_info(2, 0x1d4bb00) = 0 +43928825009073:43928825009690 26045:26045 hsa_system_get_info(2, 0x1d4bb08) = 0 +43928825010439:43928825011060 26045:26045 hsa_system_get_info(2, 0x1d4bb10) = 0 +43928825011808:43928825012425 26045:26045 hsa_system_get_info(2, 0x1d4bb18) = 0 +43928825013172:43928825013795 26045:26045 hsa_system_get_info(2, 0x1d4bb20) = 0 +43928825014542:43928825015159 26045:26045 hsa_system_get_info(2, 0x1d4bb28) = 0 +43928825015907:43928825016528 26045:26045 hsa_system_get_info(2, 0x1d4bb30) = 0 +43928825017272:43928825017899 26045:26045 hsa_system_get_info(2, 0x1d4bb38) = 0 +43928825018642:43928825019259 26045:26045 hsa_system_get_info(2, 0x1d4bb40) = 0 +43928825020006:43928825020625 26045:26045 hsa_system_get_info(2, 0x1d4bb48) = 0 +43928825021371:43928825021994 26045:26045 hsa_system_get_info(2, 0x1d4bb50) = 0 +43928825022741:43928825023363 26045:26045 hsa_system_get_info(2, 0x1d4bb58) = 0 +43928825024109:43928825024728 26045:26045 hsa_system_get_info(2, 0x1d4bb60) = 0 +43928825025495:43928825026109 26045:26045 hsa_system_get_info(2, 0x1d4bb68) = 0 +43928825026860:43928825027480 26045:26045 hsa_system_get_info(2, 0x1d4bb70) = 0 +43928825028935:43928825029559 26045:26045 hsa_system_get_info(2, 0x1d4bb78) = 0 +43928825030310:43928825030931 26045:26045 hsa_system_get_info(2, 0x1d4bb80) = 0 +43928825031677:43928825032299 26045:26045 hsa_system_get_info(2, 0x1d4bb88) = 0 +43928825033044:43928825033669 26045:26045 hsa_system_get_info(2, 0x1d4bb90) = 0 +43928825034417:43928825035034 26045:26045 hsa_system_get_info(2, 0x1d4bb98) = 0 +43928825035791:43928825036413 26045:26045 hsa_system_get_info(2, 0x1d4bba0) = 0 +43928825037161:43928825037777 26045:26045 hsa_system_get_info(2, 0x1d4bba8) = 0 +43928825038526:43928825039150 26045:26045 hsa_system_get_info(2, 0x1d4bbb0) = 0 +43928825039898:43928825040517 26045:26045 hsa_system_get_info(2, 0x1d4bbb8) = 0 +43928825041265:43928825041884 26045:26045 hsa_system_get_info(2, 0x1d4bbc0) = 0 +43928825042633:43928825043253 26045:26045 hsa_system_get_info(2, 0x1d4bbc8) = 0 +43928825043999:43928825044624 26045:26045 hsa_system_get_info(2, 0x1d4bbd0) = 0 +43928825045369:43928825045990 26045:26045 hsa_system_get_info(2, 0x1d4bbd8) = 0 +43928825046755:43928825047378 26045:26045 hsa_system_get_info(2, 0x1d4bbe0) = 0 +43928825048127:43928825048750 26045:26045 hsa_system_get_info(2, 0x1d4bbe8) = 0 +43928825049500:43928825050121 26045:26045 hsa_system_get_info(2, 0x1d4bbf0) = 0 +43928825050870:43928825051494 26045:26045 hsa_system_get_info(2, 0x1d4bbf8) = 0 +43928825052248:43928825052869 26045:26045 hsa_system_get_info(2, 0x1d4bc00) = 0 +43928825053619:43928825054244 26045:26045 hsa_system_get_info(2, 0x1d4bc08) = 0 +43928825054987:43928825055610 26045:26045 hsa_system_get_info(2, 0x1d4bc10) = 0 +43928825056355:43928825056977 26045:26045 hsa_system_get_info(2, 0x1d4bc18) = 0 +43928825057725:43928825058346 26045:26045 hsa_system_get_info(2, 0x1d4bc20) = 0 +43928825059093:43928825059709 26045:26045 hsa_system_get_info(2, 0x1d4bc28) = 0 +43928825060459:43928825061080 26045:26045 hsa_system_get_info(2, 0x1d4bc30) = 0 +43928825061829:43928825062447 26045:26045 hsa_system_get_info(2, 0x1d4bc38) = 0 +43928825063210:43928825063830 26045:26045 hsa_system_get_info(2, 0x1d4bc40) = 0 +43928825064576:43928825065191 26045:26045 hsa_system_get_info(2, 0x1d4bc48) = 0 +43928825065941:43928825066568 26045:26045 hsa_system_get_info(2, 0x1d4bc50) = 0 +43928825068028:43928825068651 26045:26045 hsa_system_get_info(2, 0x1d4bc58) = 0 +43928825069398:43928825070024 26045:26045 hsa_system_get_info(2, 0x1d4bc60) = 0 +43928825070768:43928825071380 26045:26045 hsa_system_get_info(2, 0x1d4bc68) = 0 +43928825072126:43928825072749 26045:26045 hsa_system_get_info(2, 0x1d4bc70) = 0 +43928825073496:43928825074115 26045:26045 hsa_system_get_info(2, 0x1d4bc78) = 0 +43928825074864:43928825075484 26045:26045 hsa_system_get_info(2, 0x1d4bc80) = 0 +43928825076229:43928825076849 26045:26045 hsa_system_get_info(2, 0x1d4bc88) = 0 +43928825077602:43928825078223 26045:26045 hsa_system_get_info(2, 0x1d4bc90) = 0 +43928825078970:43928825079590 26045:26045 hsa_system_get_info(2, 0x1d4bc98) = 0 +43928825080339:43928825080959 26045:26045 hsa_system_get_info(2, 0x1d4bca0) = 0 +43928825081710:43928825082328 26045:26045 hsa_system_get_info(2, 0x1d4bca8) = 0 +43928825083078:43928825083701 26045:26045 hsa_system_get_info(2, 0x1d4bcb0) = 0 +43928825084449:43928825085067 26045:26045 hsa_system_get_info(2, 0x1d4bcb8) = 0 +43928825085831:43928825086451 26045:26045 hsa_system_get_info(2, 0x1d4bcc0) = 0 +43928825087195:43928825087822 26045:26045 hsa_system_get_info(2, 0x1d4bcc8) = 0 +43928825088566:43928825089183 26045:26045 hsa_system_get_info(2, 0x1d4bcd0) = 0 +43928825089933:43928825090555 26045:26045 hsa_system_get_info(2, 0x1d4bcd8) = 0 +43928825091303:43928825091921 26045:26045 hsa_system_get_info(2, 0x1d4bce0) = 0 +43928825092666:43928825093288 26045:26045 hsa_system_get_info(2, 0x1d4bce8) = 0 +43928825094037:43928825094652 26045:26045 hsa_system_get_info(2, 0x1d4bcf0) = 0 +43928825095396:43928825096024 26045:26045 hsa_system_get_info(2, 0x1d4bcf8) = 0 +43928825096773:43928825097389 26045:26045 hsa_system_get_info(2, 0x1d4bd00) = 0 +43928825098139:43928825098758 26045:26045 hsa_system_get_info(2, 0x1d4bd08) = 0 +43928825099506:43928825100128 26045:26045 hsa_system_get_info(2, 0x1d4bd10) = 0 +43928825100875:43928825101491 26045:26045 hsa_system_get_info(2, 0x1d4bd18) = 0 +43928825102239:43928825102858 26045:26045 hsa_system_get_info(2, 0x1d4bd20) = 0 +43928825103602:43928825104222 26045:26045 hsa_system_get_info(2, 0x1d4bd28) = 0 +43928825104984:43928825105606 26045:26045 hsa_system_get_info(2, 0x1d4bd30) = 0 +43928825107069:43928825107701 26045:26045 hsa_system_get_info(2, 0x1d4bd38) = 0 +43928825108446:43928825109072 26045:26045 hsa_system_get_info(2, 0x1d4bd40) = 0 +43928825109831:43928825110456 26045:26045 hsa_system_get_info(2, 0x1d4bd48) = 0 +43928825111207:43928825111832 26045:26045 hsa_system_get_info(2, 0x1d4bd50) = 0 +43928825112580:43928825113198 26045:26045 hsa_system_get_info(2, 0x1d4bd58) = 0 +43928825113949:43928825114571 26045:26045 hsa_system_get_info(2, 0x1d4bd60) = 0 +43928825115321:43928825115949 26045:26045 hsa_system_get_info(2, 0x1d4bd68) = 0 +43928825116700:43928825117317 26045:26045 hsa_system_get_info(2, 0x1d4bd70) = 0 +43928825118066:43928825118686 26045:26045 hsa_system_get_info(2, 0x1d4bd78) = 0 +43928825119433:43928825120056 26045:26045 hsa_system_get_info(2, 0x1d4bd80) = 0 +43928825120804:43928825121429 26045:26045 hsa_system_get_info(2, 0x1d4bd88) = 0 +43928825122173:43928825122795 26045:26045 hsa_system_get_info(2, 0x1d4bd90) = 0 +43928825123543:43928825124166 26045:26045 hsa_system_get_info(2, 0x1d4bd98) = 0 +43928825124913:43928825125532 26045:26045 hsa_system_get_info(2, 0x1d4bda0) = 0 +43928825126278:43928825126900 26045:26045 hsa_system_get_info(2, 0x1d4bda8) = 0 +43928825127651:43928825128266 26045:26045 hsa_system_get_info(2, 0x1d4bdb0) = 0 +43928825129015:43928825129632 26045:26045 hsa_system_get_info(2, 0x1d4bdb8) = 0 +43928825130397:43928825131015 26045:26045 hsa_system_get_info(2, 0x1d4bdc0) = 0 +43928825131761:43928825132379 26045:26045 hsa_system_get_info(2, 0x1d4bdc8) = 0 +43928825133130:43928825133749 26045:26045 hsa_system_get_info(2, 0x1d4bdd0) = 0 +43928825134496:43928825135112 26045:26045 hsa_system_get_info(2, 0x1d4bdd8) = 0 +43928825135860:43928825136479 26045:26045 hsa_system_get_info(2, 0x1d4bde0) = 0 +43928825137228:43928825137843 26045:26045 hsa_system_get_info(2, 0x1d4bde8) = 0 +43928825138587:43928825139205 26045:26045 hsa_system_get_info(2, 0x1d4bdf0) = 0 +43928825139953:43928825140572 26045:26045 hsa_system_get_info(2, 0x1d4bdf8) = 0 +43928825141321:43928825141939 26045:26045 hsa_system_get_info(2, 0x1d4be00) = 0 +43928825142686:43928825143311 26045:26045 hsa_system_get_info(2, 0x1d4be08) = 0 +43928825144068:43928825144688 26045:26045 hsa_system_get_info(2, 0x1d4be10) = 0 +43928825145435:43928825146056 26045:26045 hsa_system_get_info(2, 0x1d4be18) = 0 +43928825148259:43928825148896 26045:26045 hsa_system_get_info(2, 0x1d4be20) = 0 +43928825149646:43928825150266 26045:26045 hsa_system_get_info(2, 0x1d4be28) = 0 +43928825151011:43928825151640 26045:26045 hsa_system_get_info(2, 0x1d4be30) = 0 +43928825152389:43928825153013 26045:26045 hsa_system_get_info(2, 0x1d4be38) = 0 +43928825153761:43928825154386 26045:26045 hsa_system_get_info(2, 0x1d4be40) = 0 +43928825155133:43928825155760 26045:26045 hsa_system_get_info(2, 0x1d4be48) = 0 +43928825156507:43928825157129 26045:26045 hsa_system_get_info(2, 0x1d4be50) = 0 +43928825157882:43928825158499 26045:26045 hsa_system_get_info(2, 0x1d4be58) = 0 +43928825159245:43928825159864 26045:26045 hsa_system_get_info(2, 0x1d4be60) = 0 +43928825160611:43928825161230 26045:26045 hsa_system_get_info(2, 0x1d4be68) = 0 +43928825161976:43928825162597 26045:26045 hsa_system_get_info(2, 0x1d4be70) = 0 +43928825163345:43928825163966 26045:26045 hsa_system_get_info(2, 0x1d4be78) = 0 +43928825164735:43928825165353 26045:26045 hsa_system_get_info(2, 0x1d4be80) = 0 +43928825166103:43928825166721 26045:26045 hsa_system_get_info(2, 0x1d4be88) = 0 +43928825167469:43928825168092 26045:26045 hsa_system_get_info(2, 0x1d4be90) = 0 +43928825168842:43928825169459 26045:26045 hsa_system_get_info(2, 0x1d4be98) = 0 +43928825170208:43928825170833 26045:26045 hsa_system_get_info(2, 0x1d4bea0) = 0 +43928825171582:43928825172203 26045:26045 hsa_system_get_info(2, 0x1d4bea8) = 0 +43928825172954:43928825173575 26045:26045 hsa_system_get_info(2, 0x1d4beb0) = 0 +43928825174325:43928825174949 26045:26045 hsa_system_get_info(2, 0x1d4beb8) = 0 +43928825175696:43928825176320 26045:26045 hsa_system_get_info(2, 0x1d4bec0) = 0 +43928825177067:43928825177690 26045:26045 hsa_system_get_info(2, 0x1d4bec8) = 0 +43928825178440:43928825179063 26045:26045 hsa_system_get_info(2, 0x1d4bed0) = 0 +43928825179812:43928825180434 26045:26045 hsa_system_get_info(2, 0x1d4bed8) = 0 +43928825181182:43928825181804 26045:26045 hsa_system_get_info(2, 0x1d4bee0) = 0 +43928825182566:43928825183188 26045:26045 hsa_system_get_info(2, 0x1d4bee8) = 0 +43928825183938:43928825184559 26045:26045 hsa_system_get_info(2, 0x1d4bef0) = 0 +43928825185311:43928825185935 26045:26045 hsa_system_get_info(2, 0x1d4bef8) = 0 +43928825187397:43928825188026 26045:26045 hsa_system_get_info(2, 0x1d4bf00) = 0 +43928825188770:43928825189392 26045:26045 hsa_system_get_info(2, 0x1d4bf08) = 0 +43928825190142:43928825190758 26045:26045 hsa_system_get_info(2, 0x1d4bf10) = 0 +43928825191504:43928825192122 26045:26045 hsa_system_get_info(2, 0x1d4bf18) = 0 +43928825192870:43928825193485 26045:26045 hsa_system_get_info(2, 0x1d4bf20) = 0 +43928825194235:43928825194855 26045:26045 hsa_system_get_info(2, 0x1d4bf28) = 0 +43928825195604:43928825196224 26045:26045 hsa_system_get_info(2, 0x1d4bf30) = 0 +43928825196971:43928825197591 26045:26045 hsa_system_get_info(2, 0x1d4bf38) = 0 +43928825198338:43928825198959 26045:26045 hsa_system_get_info(2, 0x1d4bf40) = 0 +43928825199706:43928825200326 26045:26045 hsa_system_get_info(2, 0x1d4bf48) = 0 +43928825201074:43928825201693 26045:26045 hsa_system_get_info(2, 0x1d4bf50) = 0 +43928825202440:43928825203058 26045:26045 hsa_system_get_info(2, 0x1d4bf58) = 0 +43928825203822:43928825204440 26045:26045 hsa_system_get_info(2, 0x1d4bf60) = 0 +43928825205185:43928825205807 26045:26045 hsa_system_get_info(2, 0x1d4bf68) = 0 +43928825206551:43928825207172 26045:26045 hsa_system_get_info(2, 0x1d4bf70) = 0 +43928825207920:43928825208542 26045:26045 hsa_system_get_info(2, 0x1d4bf78) = 0 +43928825209292:43928825209914 26045:26045 hsa_system_get_info(2, 0x1d4bf80) = 0 +43928825210664:43928825211290 26045:26045 hsa_system_get_info(2, 0x1d4bf88) = 0 +43928825212037:43928825212661 26045:26045 hsa_system_get_info(2, 0x1d4bf90) = 0 +43928825213404:43928825214032 26045:26045 hsa_system_get_info(2, 0x1d4bf98) = 0 +43928825214777:43928825215397 26045:26045 hsa_system_get_info(2, 0x1d4bfa0) = 0 +43928825216145:43928825216763 26045:26045 hsa_system_get_info(2, 0x1d4bfa8) = 0 +43928825217509:43928825218136 26045:26045 hsa_system_get_info(2, 0x1d4bfb0) = 0 +43928825218885:43928825219504 26045:26045 hsa_system_get_info(2, 0x1d4bfb8) = 0 +43928825220248:43928825220869 26045:26045 hsa_system_get_info(2, 0x1d4bfc0) = 0 +43928825221617:43928825222237 26045:26045 hsa_system_get_info(2, 0x1d4bfc8) = 0 +43928825222996:43928825223614 26045:26045 hsa_system_get_info(2, 0x1d4bfd0) = 0 +43928825224370:43928825224990 26045:26045 hsa_system_get_info(2, 0x1d4bfd8) = 0 +43928825225739:43928825226358 26045:26045 hsa_system_get_info(2, 0x1d4bfe0) = 0 +43928825227813:43928825228434 26045:26045 hsa_system_get_info(2, 0x1d4bfe8) = 0 +43928825229184:43928825229802 26045:26045 hsa_system_get_info(2, 0x1d4bff0) = 0 +43928825230551:43928825231171 26045:26045 hsa_system_get_info(2, 0x1d4bff8) = 0 +43928825231917:43928825232541 26045:26045 hsa_system_get_info(2, 0x1d4c000) = 0 +43928825233286:43928825233906 26045:26045 hsa_system_get_info(2, 0x1d4c008) = 0 +43928825234654:43928825235276 26045:26045 hsa_system_get_info(2, 0x1d4c010) = 0 +43928825236026:43928825236646 26045:26045 hsa_system_get_info(2, 0x1d4c018) = 0 +43928825237396:43928825238018 26045:26045 hsa_system_get_info(2, 0x1d4c020) = 0 +43928825238768:43928825239388 26045:26045 hsa_system_get_info(2, 0x1d4c028) = 0 +43928825240136:43928825240751 26045:26045 hsa_system_get_info(2, 0x1d4c030) = 0 +43928825241500:43928825242118 26045:26045 hsa_system_get_info(2, 0x1d4c038) = 0 +43928825242864:43928825243487 26045:26045 hsa_system_get_info(2, 0x1d4c040) = 0 +43928825244234:43928825244853 26045:26045 hsa_system_get_info(2, 0x1d4c048) = 0 +43928825245614:43928825246235 26045:26045 hsa_system_get_info(2, 0x1d4c050) = 0 +43928825246982:43928825247604 26045:26045 hsa_system_get_info(2, 0x1d4c058) = 0 +43928825248352:43928825248968 26045:26045 hsa_system_get_info(2, 0x1d4c060) = 0 +43928825249715:43928825250336 26045:26045 hsa_system_get_info(2, 0x1d4c068) = 0 +43928825251078:43928825251700 26045:26045 hsa_system_get_info(2, 0x1d4c070) = 0 +43928825252450:43928825253074 26045:26045 hsa_system_get_info(2, 0x1d4c078) = 0 +43928825253821:43928825254440 26045:26045 hsa_system_get_info(2, 0x1d4c080) = 0 +43928825255187:43928825255806 26045:26045 hsa_system_get_info(2, 0x1d4c088) = 0 +43928825256551:43928825257169 26045:26045 hsa_system_get_info(2, 0x1d4c090) = 0 +43928825257917:43928825258536 26045:26045 hsa_system_get_info(2, 0x1d4c098) = 0 +43928825259282:43928825259899 26045:26045 hsa_system_get_info(2, 0x1d4c0a0) = 0 +43928825260647:43928825261265 26045:26045 hsa_system_get_info(2, 0x1d4c0a8) = 0 +43928825262013:43928825262631 26045:26045 hsa_system_get_info(2, 0x1d4c0b0) = 0 +43928825263379:43928825263994 26045:26045 hsa_system_get_info(2, 0x1d4c0b8) = 0 +43928825264740:43928825265373 26045:26045 hsa_system_get_info(2, 0x1d4c0c0) = 0 +43928825267852:43928825268475 26045:26045 hsa_system_get_info(2, 0x1d4c0c8) = 0 +43928825269223:43928825269846 26045:26045 hsa_system_get_info(2, 0x1d4c0d0) = 0 +43928825270589:43928825271214 26045:26045 hsa_system_get_info(2, 0x1d4c0d8) = 0 +43928825271969:43928825272605 26045:26045 hsa_system_get_info(2, 0x1d4c0e0) = 0 +43928825273351:43928825273972 26045:26045 hsa_system_get_info(2, 0x1d4c0e8) = 0 +43928825274721:43928825275336 26045:26045 hsa_system_get_info(2, 0x1d4c0f0) = 0 +43928825276083:43928825276704 26045:26045 hsa_system_get_info(2, 0x1d4c0f8) = 0 +43928825277448:43928825278068 26045:26045 hsa_system_get_info(2, 0x1d4c100) = 0 +43928825278813:43928825279431 26045:26045 hsa_system_get_info(2, 0x1d4c108) = 0 +43928825280179:43928825280796 26045:26045 hsa_system_get_info(2, 0x1d4c110) = 0 +43928825281546:43928825282162 26045:26045 hsa_system_get_info(2, 0x1d4c118) = 0 +43928825282908:43928825283525 26045:26045 hsa_system_get_info(2, 0x1d4c120) = 0 +43928825284273:43928825284895 26045:26045 hsa_system_get_info(2, 0x1d4c128) = 0 +43928825285643:43928825286262 26045:26045 hsa_system_get_info(2, 0x1d4c130) = 0 +43928825287005:43928825287626 26045:26045 hsa_system_get_info(2, 0x1d4c138) = 0 +43928825288371:43928825288988 26045:26045 hsa_system_get_info(2, 0x1d4c140) = 0 +43928825289736:43928825290352 26045:26045 hsa_system_get_info(2, 0x1d4c148) = 0 +43928825291099:43928825291720 26045:26045 hsa_system_get_info(2, 0x1d4c150) = 0 +43928825292486:43928825293122 26045:26045 hsa_system_get_info(2, 0x1d4c158) = 0 +43928825293869:43928825294492 26045:26045 hsa_system_get_info(2, 0x1d4c160) = 0 +43928825295240:43928825295855 26045:26045 hsa_system_get_info(2, 0x1d4c168) = 0 +43928825296605:43928825297226 26045:26045 hsa_system_get_info(2, 0x1d4c170) = 0 +43928825297974:43928825298596 26045:26045 hsa_system_get_info(2, 0x1d4c178) = 0 +43928825299345:43928825299970 26045:26045 hsa_system_get_info(2, 0x1d4c180) = 0 +43928825300715:43928825301334 26045:26045 hsa_system_get_info(2, 0x1d4c188) = 0 +43928825302081:43928825302699 26045:26045 hsa_system_get_info(2, 0x1d4c190) = 0 +43928825303446:43928825304066 26045:26045 hsa_system_get_info(2, 0x1d4c198) = 0 +43928825304826:43928825305444 26045:26045 hsa_system_get_info(2, 0x1d4c1a0) = 0 +43928825306193:43928825306815 26045:26045 hsa_system_get_info(2, 0x1d4c1a8) = 0 +43928825308302:43928825308928 26045:26045 hsa_system_get_info(2, 0x1d4c1b0) = 0 +43928825309680:43928825310301 26045:26045 hsa_system_get_info(2, 0x1d4c1b8) = 0 +43928825311046:43928825311668 26045:26045 hsa_system_get_info(2, 0x1d4c1c0) = 0 +43928825312418:43928825313038 26045:26045 hsa_system_get_info(2, 0x1d4c1c8) = 0 +43928825313789:43928825314412 26045:26045 hsa_system_get_info(2, 0x1d4c1d0) = 0 +43928825315159:43928825315781 26045:26045 hsa_system_get_info(2, 0x1d4c1d8) = 0 +43928825316530:43928825317151 26045:26045 hsa_system_get_info(2, 0x1d4c1e0) = 0 +43928825317895:43928825318512 26045:26045 hsa_system_get_info(2, 0x1d4c1e8) = 0 +43928825319258:43928825319876 26045:26045 hsa_system_get_info(2, 0x1d4c1f0) = 0 +43928825320624:43928825321243 26045:26045 hsa_system_get_info(2, 0x1d4c1f8) = 0 +43928825321988:43928825322610 26045:26045 hsa_system_get_info(2, 0x1d4c200) = 0 +43928825323357:43928825323977 26045:26045 hsa_system_get_info(2, 0x1d4c208) = 0 +43928825324721:43928825325344 26045:26045 hsa_system_get_info(2, 0x1d4c210) = 0 +43928825326112:43928825326730 26045:26045 hsa_system_get_info(2, 0x1d4c218) = 0 +43928825327477:43928825328091 26045:26045 hsa_system_get_info(2, 0x1d4c220) = 0 +43928825328839:43928825329457 26045:26045 hsa_system_get_info(2, 0x1d4c228) = 0 +43928825330208:43928825330828 26045:26045 hsa_system_get_info(2, 0x1d4c230) = 0 +43928825331571:43928825332195 26045:26045 hsa_system_get_info(2, 0x1d4c238) = 0 +43928825332939:43928825333557 26045:26045 hsa_system_get_info(2, 0x1d4c240) = 0 +43928825334305:43928825334927 26045:26045 hsa_system_get_info(2, 0x1d4c248) = 0 +43928825335677:43928825336294 26045:26045 hsa_system_get_info(2, 0x1d4c250) = 0 +43928825337041:43928825337657 26045:26045 hsa_system_get_info(2, 0x1d4c258) = 0 +43928825338404:43928825339022 26045:26045 hsa_system_get_info(2, 0x1d4c260) = 0 +43928825339769:43928825340388 26045:26045 hsa_system_get_info(2, 0x1d4c268) = 0 +43928825341134:43928825341757 26045:26045 hsa_system_get_info(2, 0x1d4c270) = 0 +43928825342504:43928825343122 26045:26045 hsa_system_get_info(2, 0x1d4c278) = 0 +43928825343870:43928825344495 26045:26045 hsa_system_get_info(2, 0x1d4c280) = 0 +43928825345269:43928825345892 26045:26045 hsa_system_get_info(2, 0x1d4c288) = 0 +43928825347423:43928825348053 26045:26045 hsa_system_get_info(2, 0x1d4c290) = 0 +43928825348801:43928825349422 26045:26045 hsa_system_get_info(2, 0x1d4c298) = 0 +43928825350161:43928825350775 26045:26045 hsa_system_get_info(2, 0x1d4c2a0) = 0 +43928825351520:43928825352137 26045:26045 hsa_system_get_info(2, 0x1d4c2a8) = 0 +43928825352890:43928825353506 26045:26045 hsa_system_get_info(2, 0x1d4c2b0) = 0 +43928825354254:43928825354874 26045:26045 hsa_system_get_info(2, 0x1d4c2b8) = 0 +43928825355617:43928825356240 26045:26045 hsa_system_get_info(2, 0x1d4c2c0) = 0 +43928825356985:43928825357601 26045:26045 hsa_system_get_info(2, 0x1d4c2c8) = 0 +43928825358349:43928825358969 26045:26045 hsa_system_get_info(2, 0x1d4c2d0) = 0 +43928825359718:43928825360348 26045:26045 hsa_system_get_info(2, 0x1d4c2d8) = 0 +43928825361098:43928825361719 26045:26045 hsa_system_get_info(2, 0x1d4c2e0) = 0 +43928825362483:43928825363106 26045:26045 hsa_system_get_info(2, 0x1d4c2e8) = 0 +43928825363852:43928825364474 26045:26045 hsa_system_get_info(2, 0x1d4c2f0) = 0 +43928825365223:43928825365845 26045:26045 hsa_system_get_info(2, 0x1d4c2f8) = 0 +43928825366594:43928825367216 26045:26045 hsa_system_get_info(2, 0x1d4c300) = 0 +43928825367971:43928825368590 26045:26045 hsa_system_get_info(2, 0x1d4c308) = 0 +43928825369337:43928825369962 26045:26045 hsa_system_get_info(2, 0x1d4c310) = 0 +43928825370713:43928825371331 26045:26045 hsa_system_get_info(2, 0x1d4c318) = 0 +43928825372079:43928825372698 26045:26045 hsa_system_get_info(2, 0x1d4c320) = 0 +43928825373446:43928825374068 26045:26045 hsa_system_get_info(2, 0x1d4c328) = 0 +43928825374820:43928825375439 26045:26045 hsa_system_get_info(2, 0x1d4c330) = 0 +43928825376190:43928825376808 26045:26045 hsa_system_get_info(2, 0x1d4c338) = 0 +43928825377557:43928825378176 26045:26045 hsa_system_get_info(2, 0x1d4c340) = 0 +43928825378925:43928825379546 26045:26045 hsa_system_get_info(2, 0x1d4c348) = 0 +43928825380293:43928825380913 26045:26045 hsa_system_get_info(2, 0x1d4c350) = 0 +43928825381662:43928825382282 26045:26045 hsa_system_get_info(2, 0x1d4c358) = 0 +43928825383043:43928825383661 26045:26045 hsa_system_get_info(2, 0x1d4c360) = 0 +43928825384413:43928825385032 26045:26045 hsa_system_get_info(2, 0x1d4c368) = 0 +43928825385776:43928825386395 26045:26045 hsa_system_get_info(2, 0x1d4c370) = 0 +43928825387936:43928825388564 26045:26045 hsa_system_get_info(2, 0x1d4c378) = 0 +43928825389316:43928825389933 26045:26045 hsa_system_get_info(2, 0x1d4c380) = 0 +43928825390677:43928825391290 26045:26045 hsa_system_get_info(2, 0x1d4c388) = 0 +43928825392036:43928825392657 26045:26045 hsa_system_get_info(2, 0x1d4c390) = 0 +43928825393405:43928825394017 26045:26045 hsa_system_get_info(2, 0x1d4c398) = 0 +43928825394767:43928825395386 26045:26045 hsa_system_get_info(2, 0x1d4c3a0) = 0 +43928825396135:43928825396751 26045:26045 hsa_system_get_info(2, 0x1d4c3a8) = 0 +43928825397499:43928825398118 26045:26045 hsa_system_get_info(2, 0x1d4c3b0) = 0 +43928825398863:43928825399483 26045:26045 hsa_system_get_info(2, 0x1d4c3b8) = 0 +43928825400231:43928825400845 26045:26045 hsa_system_get_info(2, 0x1d4c3c0) = 0 +43928825401593:43928825402212 26045:26045 hsa_system_get_info(2, 0x1d4c3c8) = 0 +43928825402957:43928825403574 26045:26045 hsa_system_get_info(2, 0x1d4c3d0) = 0 +43928825404323:43928825404942 26045:26045 hsa_system_get_info(2, 0x1d4c3d8) = 0 +43928825405686:43928825406309 26045:26045 hsa_system_get_info(2, 0x1d4c3e0) = 0 +43928825407074:43928825407695 26045:26045 hsa_system_get_info(2, 0x1d4c3e8) = 0 +43928825408444:43928825409067 26045:26045 hsa_system_get_info(2, 0x1d4c3f0) = 0 +43928825409815:43928825410434 26045:26045 hsa_system_get_info(2, 0x1d4c3f8) = 0 +43928825411180:43928825411798 26045:26045 hsa_system_get_info(2, 0x1d4c400) = 0 +43928825412546:43928825413161 26045:26045 hsa_system_get_info(2, 0x1d4c408) = 0 +43928825413910:43928825414523 26045:26045 hsa_system_get_info(2, 0x1d4c410) = 0 +43928825415269:43928825415887 26045:26045 hsa_system_get_info(2, 0x1d4c418) = 0 +43928825416634:43928825417257 26045:26045 hsa_system_get_info(2, 0x1d4c420) = 0 +43928825418003:43928825418621 26045:26045 hsa_system_get_info(2, 0x1d4c428) = 0 +43928825419365:43928825419981 26045:26045 hsa_system_get_info(2, 0x1d4c430) = 0 +43928825420731:43928825421347 26045:26045 hsa_system_get_info(2, 0x1d4c438) = 0 +43928825422096:43928825422715 26045:26045 hsa_system_get_info(2, 0x1d4c440) = 0 +43928825423464:43928825424088 26045:26045 hsa_system_get_info(2, 0x1d4c448) = 0 +43928825424837:43928825425476 26045:26045 hsa_system_get_info(2, 0x1d4c450) = 0 +43928825426970:43928825427599 26045:26045 hsa_system_get_info(2, 0x1d4c458) = 0 +43928825428345:43928825428962 26045:26045 hsa_system_get_info(2, 0x1d4c460) = 0 +43928825429707:43928825430326 26045:26045 hsa_system_get_info(2, 0x1d4c468) = 0 +43928825431070:43928825431689 26045:26045 hsa_system_get_info(2, 0x1d4c470) = 0 +43928825432438:43928825433052 26045:26045 hsa_system_get_info(2, 0x1d4c478) = 0 +43928825433800:43928825434415 26045:26045 hsa_system_get_info(2, 0x1d4c480) = 0 +43928825435162:43928825435783 26045:26045 hsa_system_get_info(2, 0x1d4c488) = 0 +43928825436525:43928825437145 26045:26045 hsa_system_get_info(2, 0x1d4c490) = 0 +43928825437893:43928825438510 26045:26045 hsa_system_get_info(2, 0x1d4c498) = 0 +43928825439253:43928825439876 26045:26045 hsa_system_get_info(2, 0x1d4c4a0) = 0 +43928825440625:43928825441245 26045:26045 hsa_system_get_info(2, 0x1d4c4a8) = 0 +43928825441988:43928825442609 26045:26045 hsa_system_get_info(2, 0x1d4c4b0) = 0 +43928825443365:43928825443989 26045:26045 hsa_system_get_info(2, 0x1d4c4b8) = 0 +43928825444734:43928825445374 26045:26045 hsa_system_get_info(2, 0x1d4c4c0) = 0 +43928825446121:43928825446742 26045:26045 hsa_system_get_info(2, 0x1d4c4c8) = 0 +43928825447487:43928825448108 26045:26045 hsa_system_get_info(2, 0x1d4c4d0) = 0 +43928825448856:43928825449480 26045:26045 hsa_system_get_info(2, 0x1d4c4d8) = 0 +43928825450230:43928825450850 26045:26045 hsa_system_get_info(2, 0x1d4c4e0) = 0 +43928825451600:43928825452221 26045:26045 hsa_system_get_info(2, 0x1d4c4e8) = 0 +43928825452970:43928825453588 26045:26045 hsa_system_get_info(2, 0x1d4c4f0) = 0 +43928825454335:43928825454962 26045:26045 hsa_system_get_info(2, 0x1d4c4f8) = 0 +43928825455713:43928825456334 26045:26045 hsa_system_get_info(2, 0x1d4c500) = 0 +43928825457083:43928825457706 26045:26045 hsa_system_get_info(2, 0x1d4c508) = 0 +43928825458456:43928825459076 26045:26045 hsa_system_get_info(2, 0x1d4c510) = 0 +43928825459825:43928825460448 26045:26045 hsa_system_get_info(2, 0x1d4c518) = 0 +43928825461193:43928825461810 26045:26045 hsa_system_get_info(2, 0x1d4c520) = 0 +43928825462556:43928825463176 26045:26045 hsa_system_get_info(2, 0x1d4c528) = 0 +43928825463925:43928825464546 26045:26045 hsa_system_get_info(2, 0x1d4c530) = 0 +43928825466100:43928825466728 26045:26045 hsa_system_get_info(2, 0x1d4c538) = 0 +43928825467474:43928825468098 26045:26045 hsa_system_get_info(2, 0x1d4c540) = 0 +43928825468841:43928825469464 26045:26045 hsa_system_get_info(2, 0x1d4c548) = 0 +43928825470211:43928825470834 26045:26045 hsa_system_get_info(2, 0x1d4c550) = 0 +43928825471584:43928825472211 26045:26045 hsa_system_get_info(2, 0x1d4c558) = 0 +43928825472959:43928825473582 26045:26045 hsa_system_get_info(2, 0x1d4c560) = 0 +43928825474327:43928825474950 26045:26045 hsa_system_get_info(2, 0x1d4c568) = 0 +43928825475696:43928825476321 26045:26045 hsa_system_get_info(2, 0x1d4c570) = 0 +43928825477069:43928825477693 26045:26045 hsa_system_get_info(2, 0x1d4c578) = 0 +43928825478443:43928825479065 26045:26045 hsa_system_get_info(2, 0x1d4c580) = 0 +43928825479816:43928825480437 26045:26045 hsa_system_get_info(2, 0x1d4c588) = 0 +43928825481184:43928825481802 26045:26045 hsa_system_get_info(2, 0x1d4c590) = 0 +43928825482547:43928825483165 26045:26045 hsa_system_get_info(2, 0x1d4c598) = 0 +43928825483910:43928825484548 26045:26045 hsa_system_get_info(2, 0x1d4c5a0) = 0 +43928825485298:43928825485918 26045:26045 hsa_system_get_info(2, 0x1d4c5a8) = 0 +43928825486662:43928825487282 26045:26045 hsa_system_get_info(2, 0x1d4c5b0) = 0 +43928825488028:43928825488650 26045:26045 hsa_system_get_info(2, 0x1d4c5b8) = 0 +43928825489395:43928825490016 26045:26045 hsa_system_get_info(2, 0x1d4c5c0) = 0 +43928825490764:43928825491391 26045:26045 hsa_system_get_info(2, 0x1d4c5c8) = 0 +43928825492136:43928825492758 26045:26045 hsa_system_get_info(2, 0x1d4c5d0) = 0 +43928825493507:43928825494133 26045:26045 hsa_system_get_info(2, 0x1d4c5d8) = 0 +43928825494884:43928825495504 26045:26045 hsa_system_get_info(2, 0x1d4c5e0) = 0 +43928825496250:43928825496873 26045:26045 hsa_system_get_info(2, 0x1d4c5e8) = 0 +43928825497620:43928825498238 26045:26045 hsa_system_get_info(2, 0x1d4c5f0) = 0 +43928825498987:43928825499606 26045:26045 hsa_system_get_info(2, 0x1d4c5f8) = 0 +43928825500352:43928825500970 26045:26045 hsa_system_get_info(2, 0x1d4c600) = 0 +43928825501718:43928825502337 26045:26045 hsa_system_get_info(2, 0x1d4c608) = 0 +43928825503111:43928825503727 26045:26045 hsa_system_get_info(2, 0x1d4c610) = 0 +43928825504492:43928825505110 26045:26045 hsa_system_get_info(2, 0x1d4c618) = 0 +43928825506652:43928825507274 26045:26045 hsa_system_get_info(2, 0x1d4c620) = 0 +43928825508021:43928825508636 26045:26045 hsa_system_get_info(2, 0x1d4c628) = 0 +43928825509384:43928825509996 26045:26045 hsa_system_get_info(2, 0x1d4c630) = 0 +43928825510747:43928825511362 26045:26045 hsa_system_get_info(2, 0x1d4c638) = 0 +43928825512104:43928825512725 26045:26045 hsa_system_get_info(2, 0x1d4c640) = 0 +43928825513473:43928825514090 26045:26045 hsa_system_get_info(2, 0x1d4c648) = 0 +43928825514836:43928825515455 26045:26045 hsa_system_get_info(2, 0x1d4c650) = 0 +43928825516200:43928825516820 26045:26045 hsa_system_get_info(2, 0x1d4c658) = 0 +43928825517569:43928825518188 26045:26045 hsa_system_get_info(2, 0x1d4c660) = 0 +43928825518931:43928825519549 26045:26045 hsa_system_get_info(2, 0x1d4c668) = 0 +43928825520297:43928825520911 26045:26045 hsa_system_get_info(2, 0x1d4c670) = 0 +43928825521658:43928825522274 26045:26045 hsa_system_get_info(2, 0x1d4c678) = 0 +43928825523021:43928825523640 26045:26045 hsa_system_get_info(2, 0x1d4c680) = 0 +43928825524385:43928825525002 26045:26045 hsa_system_get_info(2, 0x1d4c688) = 0 +43928825525764:43928825526387 26045:26045 hsa_system_get_info(2, 0x1d4c690) = 0 +43928825527131:43928825527752 26045:26045 hsa_system_get_info(2, 0x1d4c698) = 0 +43928825528498:43928825529117 26045:26045 hsa_system_get_info(2, 0x1d4c6a0) = 0 +43928825529859:43928825530477 26045:26045 hsa_system_get_info(2, 0x1d4c6a8) = 0 +43928825531223:43928825531847 26045:26045 hsa_system_get_info(2, 0x1d4c6b0) = 0 +43928825532590:43928825533210 26045:26045 hsa_system_get_info(2, 0x1d4c6b8) = 0 +43928825533956:43928825534578 26045:26045 hsa_system_get_info(2, 0x1d4c6c0) = 0 +43928825535325:43928825535941 26045:26045 hsa_system_get_info(2, 0x1d4c6c8) = 0 +43928825536688:43928825537301 26045:26045 hsa_system_get_info(2, 0x1d4c6d0) = 0 +43928825538047:43928825538669 26045:26045 hsa_system_get_info(2, 0x1d4c6d8) = 0 +43928825539418:43928825540035 26045:26045 hsa_system_get_info(2, 0x1d4c6e0) = 0 +43928825540785:43928825541404 26045:26045 hsa_system_get_info(2, 0x1d4c6e8) = 0 +43928825542152:43928825542769 26045:26045 hsa_system_get_info(2, 0x1d4c6f0) = 0 +43928825543524:43928825544158 26045:26045 hsa_system_get_info(2, 0x1d4c6f8) = 0 +43928825545639:43928825546267 26045:26045 hsa_system_get_info(2, 0x1d4c700) = 0 +43928825547018:43928825547637 26045:26045 hsa_system_get_info(2, 0x1d4c708) = 0 +43928825548387:43928825549009 26045:26045 hsa_system_get_info(2, 0x1d4c710) = 0 +43928825549755:43928825550374 26045:26045 hsa_system_get_info(2, 0x1d4c718) = 0 +43928825551119:43928825551741 26045:26045 hsa_system_get_info(2, 0x1d4c720) = 0 +43928825552488:43928825553099 26045:26045 hsa_system_get_info(2, 0x1d4c728) = 0 +43928825553842:43928825554464 26045:26045 hsa_system_get_info(2, 0x1d4c730) = 0 +43928825555213:43928825555840 26045:26045 hsa_system_get_info(2, 0x1d4c738) = 0 +43928825556583:43928825557209 26045:26045 hsa_system_get_info(2, 0x1d4c740) = 0 +43928825557956:43928825558576 26045:26045 hsa_system_get_info(2, 0x1d4c748) = 0 +43928825559325:43928825559947 26045:26045 hsa_system_get_info(2, 0x1d4c750) = 0 +43928825560695:43928825561320 26045:26045 hsa_system_get_info(2, 0x1d4c758) = 0 +43928825562066:43928825562684 26045:26045 hsa_system_get_info(2, 0x1d4c760) = 0 +43928825563433:43928825564056 26045:26045 hsa_system_get_info(2, 0x1d4c768) = 0 +43928825564803:43928825565422 26045:26045 hsa_system_get_info(2, 0x1d4c770) = 0 +43928825566180:43928825566808 26045:26045 hsa_system_get_info(2, 0x1d4c778) = 0 +43928825567558:43928825568179 26045:26045 hsa_system_get_info(2, 0x1d4c780) = 0 +43928825568930:43928825569557 26045:26045 hsa_system_get_info(2, 0x1d4c788) = 0 +43928825570302:43928825570919 26045:26045 hsa_system_get_info(2, 0x1d4c790) = 0 +43928825571670:43928825572289 26045:26045 hsa_system_get_info(2, 0x1d4c798) = 0 +43928825573034:43928825573652 26045:26045 hsa_system_get_info(2, 0x1d4c7a0) = 0 +43928825574399:43928825575022 26045:26045 hsa_system_get_info(2, 0x1d4c7a8) = 0 +43928825575770:43928825576392 26045:26045 hsa_system_get_info(2, 0x1d4c7b0) = 0 +43928825577137:43928825577761 26045:26045 hsa_system_get_info(2, 0x1d4c7b8) = 0 +43928825578513:43928825579133 26045:26045 hsa_system_get_info(2, 0x1d4c7c0) = 0 +43928825579882:43928825580502 26045:26045 hsa_system_get_info(2, 0x1d4c7c8) = 0 +43928825581247:43928825581864 26045:26045 hsa_system_get_info(2, 0x1d4c7d0) = 0 +43928825582628:43928825583244 26045:26045 hsa_system_get_info(2, 0x1d4c7d8) = 0 +43928825584004:43928825584625 26045:26045 hsa_system_get_info(2, 0x1d4c7e0) = 0 +43928825586109:43928825586736 26045:26045 hsa_system_get_info(2, 0x1d4c7e8) = 0 +43928825587480:43928825588099 26045:26045 hsa_system_get_info(2, 0x1d4c7f0) = 0 +43928825588847:43928825589469 26045:26045 hsa_system_get_info(2, 0x1d4c7f8) = 0 +43928825590219:43928825590838 26045:26045 hsa_system_get_info(2, 0x1d4c800) = 0 +43928825591583:43928825592204 26045:26045 hsa_system_get_info(2, 0x1d4c808) = 0 +43928825592952:43928825593574 26045:26045 hsa_system_get_info(2, 0x1d4c810) = 0 +43928825594325:43928825594946 26045:26045 hsa_system_get_info(2, 0x1d4c818) = 0 +43928825595694:43928825596314 26045:26045 hsa_system_get_info(2, 0x1d4c820) = 0 +43928825597063:43928825597685 26045:26045 hsa_system_get_info(2, 0x1d4c828) = 0 +43928825598429:43928825599046 26045:26045 hsa_system_get_info(2, 0x1d4c830) = 0 +43928825599796:43928825600414 26045:26045 hsa_system_get_info(2, 0x1d4c838) = 0 +43928825601160:43928825601776 26045:26045 hsa_system_get_info(2, 0x1d4c840) = 0 +43928825602520:43928825603139 26045:26045 hsa_system_get_info(2, 0x1d4c848) = 0 +43928825603885:43928825604522 26045:26045 hsa_system_get_info(2, 0x1d4c850) = 0 +43928825605266:43928825605883 26045:26045 hsa_system_get_info(2, 0x1d4c858) = 0 +43928825606631:43928825607257 26045:26045 hsa_system_get_info(2, 0x1d4c860) = 0 +43928825607999:43928825608618 26045:26045 hsa_system_get_info(2, 0x1d4c868) = 0 +43928825609364:43928825609983 26045:26045 hsa_system_get_info(2, 0x1d4c870) = 0 +43928825610730:43928825611349 26045:26045 hsa_system_get_info(2, 0x1d4c878) = 0 +43928825612094:43928825612715 26045:26045 hsa_system_get_info(2, 0x1d4c880) = 0 +43928825613463:43928825614080 26045:26045 hsa_system_get_info(2, 0x1d4c888) = 0 +43928825614828:43928825615452 26045:26045 hsa_system_get_info(2, 0x1d4c890) = 0 +43928825616199:43928825616815 26045:26045 hsa_system_get_info(2, 0x1d4c898) = 0 +43928825617566:43928825618184 26045:26045 hsa_system_get_info(2, 0x1d4c8a0) = 0 +43928825618934:43928825619554 26045:26045 hsa_system_get_info(2, 0x1d4c8a8) = 0 +43928825620301:43928825620919 26045:26045 hsa_system_get_info(2, 0x1d4c8b0) = 0 +43928825621668:43928825622287 26045:26045 hsa_system_get_info(2, 0x1d4c8b8) = 0 +43928825623039:43928825623658 26045:26045 hsa_system_get_info(2, 0x1d4c8c0) = 0 +43928825625129:43928825625762 26045:26045 hsa_system_get_info(2, 0x1d4c8c8) = 0 +43928825626510:43928825627133 26045:26045 hsa_system_get_info(2, 0x1d4c8d0) = 0 +43928825627881:43928825628499 26045:26045 hsa_system_get_info(2, 0x1d4c8d8) = 0 +43928825629250:43928825629870 26045:26045 hsa_system_get_info(2, 0x1d4c8e0) = 0 +43928825630616:43928825631243 26045:26045 hsa_system_get_info(2, 0x1d4c8e8) = 0 +43928825631991:43928825632609 26045:26045 hsa_system_get_info(2, 0x1d4c8f0) = 0 +43928825633355:43928825633976 26045:26045 hsa_system_get_info(2, 0x1d4c8f8) = 0 +43928825634724:43928825635343 26045:26045 hsa_system_get_info(2, 0x1d4c900) = 0 +43928825636093:43928825636709 26045:26045 hsa_system_get_info(2, 0x1d4c908) = 0 +43928825637456:43928825638078 26045:26045 hsa_system_get_info(2, 0x1d4c910) = 0 +43928825638822:43928825639447 26045:26045 hsa_system_get_info(2, 0x1d4c918) = 0 +43928825640191:43928825640812 26045:26045 hsa_system_get_info(2, 0x1d4c920) = 0 +43928825641558:43928825642183 26045:26045 hsa_system_get_info(2, 0x1d4c928) = 0 +43928825642930:43928825643569 26045:26045 hsa_system_get_info(2, 0x1d4c930) = 0 +43928825644314:43928825644933 26045:26045 hsa_system_get_info(2, 0x1d4c938) = 0 +43928825645680:43928825646299 26045:26045 hsa_system_get_info(2, 0x1d4c940) = 0 +43928825647044:43928825647666 26045:26045 hsa_system_get_info(2, 0x1d4c948) = 0 +43928825648420:43928825649045 26045:26045 hsa_system_get_info(2, 0x1d4c950) = 0 +43928825649796:43928825650409 26045:26045 hsa_system_get_info(2, 0x1d4c958) = 0 +43928825651156:43928825651779 26045:26045 hsa_system_get_info(2, 0x1d4c960) = 0 +43928825652525:43928825653143 26045:26045 hsa_system_get_info(2, 0x1d4c968) = 0 +43928825653889:43928825654506 26045:26045 hsa_system_get_info(2, 0x1d4c970) = 0 +43928825655254:43928825655868 26045:26045 hsa_system_get_info(2, 0x1d4c978) = 0 +43928825656616:43928825657245 26045:26045 hsa_system_get_info(2, 0x1d4c980) = 0 +43928825657993:43928825658617 26045:26045 hsa_system_get_info(2, 0x1d4c988) = 0 +43928825659361:43928825659978 26045:26045 hsa_system_get_info(2, 0x1d4c990) = 0 +43928825660724:43928825661343 26045:26045 hsa_system_get_info(2, 0x1d4c998) = 0 +43928825662091:43928825662728 26045:26045 hsa_system_get_info(2, 0x1d4c9a0) = 0 +43928825663475:43928825664097 26045:26045 hsa_system_get_info(2, 0x1d4c9a8) = 0 +43928825665585:43928825666205 26045:26045 hsa_system_get_info(2, 0x1d4c9b0) = 0 +43928825666957:43928825667576 26045:26045 hsa_system_get_info(2, 0x1d4c9b8) = 0 +43928825668322:43928825668944 26045:26045 hsa_system_get_info(2, 0x1d4c9c0) = 0 +43928825669690:43928825670307 26045:26045 hsa_system_get_info(2, 0x1d4c9c8) = 0 +43928825671053:43928825671669 26045:26045 hsa_system_get_info(2, 0x1d4c9d0) = 0 +43928825672414:43928825673034 26045:26045 hsa_system_get_info(2, 0x1d4c9d8) = 0 +43928825673781:43928825674399 26045:26045 hsa_system_get_info(2, 0x1d4c9e0) = 0 +43928825675147:43928825675768 26045:26045 hsa_system_get_info(2, 0x1d4c9e8) = 0 +43928825676512:43928825677131 26045:26045 hsa_system_get_info(2, 0x1d4c9f0) = 0 +43928825677879:43928825678499 26045:26045 hsa_system_get_info(2, 0x1d4c9f8) = 0 +43928825679245:43928825679862 26045:26045 hsa_system_get_info(2, 0x1d4ca00) = 0 +43928825680609:43928825681233 26045:26045 hsa_system_get_info(2, 0x1d4ca08) = 0 +43928825681979:43928825682604 26045:26045 hsa_system_get_info(2, 0x1d4ca10) = 0 +43928825683351:43928825683992 26045:26045 hsa_system_get_info(2, 0x1d4ca18) = 0 +43928825684741:43928825685363 26045:26045 hsa_system_get_info(2, 0x1d4ca20) = 0 +43928825686128:43928825686746 26045:26045 hsa_system_get_info(2, 0x1d4ca28) = 0 +43928825687488:43928825688114 26045:26045 hsa_system_get_info(2, 0x1d4ca30) = 0 +43928825688858:43928825689480 26045:26045 hsa_system_get_info(2, 0x1d4ca38) = 0 +43928825690228:43928825690856 26045:26045 hsa_system_get_info(2, 0x1d4ca40) = 0 +43928825691602:43928825692227 26045:26045 hsa_system_get_info(2, 0x1d4ca48) = 0 +43928825692977:43928825693597 26045:26045 hsa_system_get_info(2, 0x1d4ca50) = 0 +43928825694344:43928825694962 26045:26045 hsa_system_get_info(2, 0x1d4ca58) = 0 +43928825695710:43928825696330 26045:26045 hsa_system_get_info(2, 0x1d4ca60) = 0 +43928825697079:43928825697698 26045:26045 hsa_system_get_info(2, 0x1d4ca68) = 0 +43928825698446:43928825699069 26045:26045 hsa_system_get_info(2, 0x1d4ca70) = 0 +43928825699836:43928825700457 26045:26045 hsa_system_get_info(2, 0x1d4ca78) = 0 +43928825701211:43928825701832 26045:26045 hsa_system_get_info(2, 0x1d4ca80) = 0 +43928825702584:43928825703203 26045:26045 hsa_system_get_info(2, 0x1d4ca88) = 0 +43928825705260:43928825705893 26045:26045 hsa_system_get_info(2, 0x1d4ca90) = 0 +43928825706641:43928825707275 26045:26045 hsa_system_get_info(2, 0x1d4ca98) = 0 +43928825708021:43928825708648 26045:26045 hsa_system_get_info(2, 0x1d4caa0) = 0 +43928825709399:43928825710017 26045:26045 hsa_system_get_info(2, 0x1d4caa8) = 0 +43928825710766:43928825711388 26045:26045 hsa_system_get_info(2, 0x1d4cab0) = 0 +43928825712142:43928825712765 26045:26045 hsa_system_get_info(2, 0x1d4cab8) = 0 +43928825713511:43928825714130 26045:26045 hsa_system_get_info(2, 0x1d4cac0) = 0 +43928825714875:43928825715496 26045:26045 hsa_system_get_info(2, 0x1d4cac8) = 0 +43928825716245:43928825716865 26045:26045 hsa_system_get_info(2, 0x1d4cad0) = 0 +43928825717613:43928825718230 26045:26045 hsa_system_get_info(2, 0x1d4cad8) = 0 +43928825718975:43928825719593 26045:26045 hsa_system_get_info(2, 0x1d4cae0) = 0 +43928825720358:43928825720977 26045:26045 hsa_system_get_info(2, 0x1d4cae8) = 0 +43928825721722:43928825722339 26045:26045 hsa_system_get_info(2, 0x1d4caf0) = 0 +43928825723087:43928825723708 26045:26045 hsa_system_get_info(2, 0x1d4caf8) = 0 +43928825724456:43928825725077 26045:26045 hsa_system_get_info(2, 0x1d4cb00) = 0 +43928825725826:43928825726447 26045:26045 hsa_system_get_info(2, 0x1d4cb08) = 0 +43928825727191:43928825727812 26045:26045 hsa_system_get_info(2, 0x1d4cb10) = 0 +43928825728560:43928825729178 26045:26045 hsa_system_get_info(2, 0x1d4cb18) = 0 +43928825729924:43928825730542 26045:26045 hsa_system_get_info(2, 0x1d4cb20) = 0 +43928825731291:43928825731914 26045:26045 hsa_system_get_info(2, 0x1d4cb28) = 0 +43928825732660:43928825733281 26045:26045 hsa_system_get_info(2, 0x1d4cb30) = 0 +43928825734031:43928825734646 26045:26045 hsa_system_get_info(2, 0x1d4cb38) = 0 +43928825735393:43928825736012 26045:26045 hsa_system_get_info(2, 0x1d4cb40) = 0 +43928825736758:43928825737379 26045:26045 hsa_system_get_info(2, 0x1d4cb48) = 0 +43928825738126:43928825738749 26045:26045 hsa_system_get_info(2, 0x1d4cb50) = 0 +43928825739510:43928825740127 26045:26045 hsa_system_get_info(2, 0x1d4cb58) = 0 +43928825740876:43928825741494 26045:26045 hsa_system_get_info(2, 0x1d4cb60) = 0 +43928825742249:43928825742868 26045:26045 hsa_system_get_info(2, 0x1d4cb68) = 0 +43928825743616:43928825744232 26045:26045 hsa_system_get_info(2, 0x1d4cb70) = 0 +43928825745823:43928825746451 26045:26045 hsa_system_get_info(2, 0x1d4cb78) = 0 +43928825747199:43928825747822 26045:26045 hsa_system_get_info(2, 0x1d4cb80) = 0 +43928825748569:43928825749185 26045:26045 hsa_system_get_info(2, 0x1d4cb88) = 0 +43928825749929:43928825750545 26045:26045 hsa_system_get_info(2, 0x1d4cb90) = 0 +43928825751292:43928825751905 26045:26045 hsa_system_get_info(2, 0x1d4cb98) = 0 +43928825752656:43928825753275 26045:26045 hsa_system_get_info(2, 0x1d4cba0) = 0 +43928825754023:43928825754645 26045:26045 hsa_system_get_info(2, 0x1d4cba8) = 0 +43928825755386:43928825756008 26045:26045 hsa_system_get_info(2, 0x1d4cbb0) = 0 +43928825756757:43928825757376 26045:26045 hsa_system_get_info(2, 0x1d4cbb8) = 0 +43928825758120:43928825758741 26045:26045 hsa_system_get_info(2, 0x1d4cbc0) = 0 +43928825759489:43928825760116 26045:26045 hsa_system_get_info(2, 0x1d4cbc8) = 0 +43928825760866:43928825761488 26045:26045 hsa_system_get_info(2, 0x1d4cbd0) = 0 +43928825762236:43928825762857 26045:26045 hsa_system_get_info(2, 0x1d4cbd8) = 0 +43928825763602:43928825764222 26045:26045 hsa_system_get_info(2, 0x1d4cbe0) = 0 +43928825764985:43928825765610 26045:26045 hsa_system_get_info(2, 0x1d4cbe8) = 0 +43928825766360:43928825766974 26045:26045 hsa_system_get_info(2, 0x1d4cbf0) = 0 +43928825767723:43928825768343 26045:26045 hsa_system_get_info(2, 0x1d4cbf8) = 0 +43928825769091:43928825769712 26045:26045 hsa_system_get_info(2, 0x1d4cc00) = 0 +43928825770460:43928825771078 26045:26045 hsa_system_get_info(2, 0x1d4cc08) = 0 +43928825771827:43928825772445 26045:26045 hsa_system_get_info(2, 0x1d4cc10) = 0 +43928825773194:43928825773815 26045:26045 hsa_system_get_info(2, 0x1d4cc18) = 0 +43928825774557:43928825775181 26045:26045 hsa_system_get_info(2, 0x1d4cc20) = 0 +43928825775928:43928825776548 26045:26045 hsa_system_get_info(2, 0x1d4cc28) = 0 +43928825777290:43928825777908 26045:26045 hsa_system_get_info(2, 0x1d4cc30) = 0 +43928825778655:43928825779273 26045:26045 hsa_system_get_info(2, 0x1d4cc38) = 0 +43928825780020:43928825780639 26045:26045 hsa_system_get_info(2, 0x1d4cc40) = 0 +43928825781387:43928825782008 26045:26045 hsa_system_get_info(2, 0x1d4cc48) = 0 +43928825782754:43928825783392 26045:26045 hsa_system_get_info(2, 0x1d4cc50) = 0 +43928825784931:43928825785555 26045:26045 hsa_system_get_info(2, 0x1d4cc58) = 0 +43928825786305:43928825786926 26045:26045 hsa_system_get_info(2, 0x1d4cc60) = 0 +43928825787674:43928825788294 26045:26045 hsa_system_get_info(2, 0x1d4cc68) = 0 +43928825789041:43928825789663 26045:26045 hsa_system_get_info(2, 0x1d4cc70) = 0 +43928825790412:43928825791029 26045:26045 hsa_system_get_info(2, 0x1d4cc78) = 0 +43928825791778:43928825792400 26045:26045 hsa_system_get_info(2, 0x1d4cc80) = 0 +43928825793148:43928825793771 26045:26045 hsa_system_get_info(2, 0x1d4cc88) = 0 +43928825794519:43928825795136 26045:26045 hsa_system_get_info(2, 0x1d4cc90) = 0 +43928825795880:43928825796499 26045:26045 hsa_system_get_info(2, 0x1d4cc98) = 0 +43928825797247:43928825797866 26045:26045 hsa_system_get_info(2, 0x1d4cca0) = 0 +43928825798614:43928825799234 26045:26045 hsa_system_get_info(2, 0x1d4cca8) = 0 +43928825799978:43928825800600 26045:26045 hsa_system_get_info(2, 0x1d4ccb0) = 0 +43928825801344:43928825801963 26045:26045 hsa_system_get_info(2, 0x1d4ccb8) = 0 +43928825802711:43928825803353 26045:26045 hsa_system_get_info(2, 0x1d4ccc0) = 0 +43928825804100:43928825804720 26045:26045 hsa_system_get_info(2, 0x1d4ccc8) = 0 +43928825805466:43928825806088 26045:26045 hsa_system_get_info(2, 0x1d4ccd0) = 0 +43928825806837:43928825807455 26045:26045 hsa_system_get_info(2, 0x1d4ccd8) = 0 +43928825808202:43928825808823 26045:26045 hsa_system_get_info(2, 0x1d4cce0) = 0 +43928825809569:43928825810188 26045:26045 hsa_system_get_info(2, 0x1d4cce8) = 0 +43928825810935:43928825811561 26045:26045 hsa_system_get_info(2, 0x1d4ccf0) = 0 +43928825812310:43928825812926 26045:26045 hsa_system_get_info(2, 0x1d4ccf8) = 0 +43928825813671:43928825814291 26045:26045 hsa_system_get_info(2, 0x1d4cd00) = 0 +43928825815038:43928825815656 26045:26045 hsa_system_get_info(2, 0x1d4cd08) = 0 +43928825816400:43928825817020 26045:26045 hsa_system_get_info(2, 0x1d4cd10) = 0 +43928825817763:43928825818390 26045:26045 hsa_system_get_info(2, 0x1d4cd18) = 0 +43928825819134:43928825819752 26045:26045 hsa_system_get_info(2, 0x1d4cd20) = 0 +43928825820501:43928825821123 26045:26045 hsa_system_get_info(2, 0x1d4cd28) = 0 +43928825821883:43928825822503 26045:26045 hsa_system_get_info(2, 0x1d4cd30) = 0 +43928825823981:43928825824608 26045:26045 hsa_system_get_info(2, 0x1d4cd38) = 0 +43928825825355:43928825825975 26045:26045 hsa_system_get_info(2, 0x1d4cd40) = 0 +43928825826723:43928825827343 26045:26045 hsa_system_get_info(2, 0x1d4cd48) = 0 +43928825828107:43928825828727 26045:26045 hsa_system_get_info(2, 0x1d4cd50) = 0 +43928825829475:43928825830088 26045:26045 hsa_system_get_info(2, 0x1d4cd58) = 0 +43928825830837:43928825831452 26045:26045 hsa_system_get_info(2, 0x1d4cd60) = 0 +43928825832196:43928825832812 26045:26045 hsa_system_get_info(2, 0x1d4cd68) = 0 +43928825833561:43928825834183 26045:26045 hsa_system_get_info(2, 0x1d4cd70) = 0 +43928825834931:43928825835554 26045:26045 hsa_system_get_info(2, 0x1d4cd78) = 0 +43928825836301:43928825836915 26045:26045 hsa_system_get_info(2, 0x1d4cd80) = 0 +43928825837662:43928825838284 26045:26045 hsa_system_get_info(2, 0x1d4cd88) = 0 +43928825839033:43928825839651 26045:26045 hsa_system_get_info(2, 0x1d4cd90) = 0 +43928825840396:43928825841014 26045:26045 hsa_system_get_info(2, 0x1d4cd98) = 0 +43928825841756:43928825842377 26045:26045 hsa_system_get_info(2, 0x1d4cda0) = 0 +43928825843122:43928825843745 26045:26045 hsa_system_get_info(2, 0x1d4cda8) = 0 +43928825844494:43928825845111 26045:26045 hsa_system_get_info(2, 0x1d4cdb0) = 0 +43928825845859:43928825846479 26045:26045 hsa_system_get_info(2, 0x1d4cdb8) = 0 +43928825847238:43928825847856 26045:26045 hsa_system_get_info(2, 0x1d4cdc0) = 0 +43928825848607:43928825849231 26045:26045 hsa_system_get_info(2, 0x1d4cdc8) = 0 +43928825849979:43928825850597 26045:26045 hsa_system_get_info(2, 0x1d4cdd0) = 0 +43928825851343:43928825851961 26045:26045 hsa_system_get_info(2, 0x1d4cdd8) = 0 +43928825852708:43928825853324 26045:26045 hsa_system_get_info(2, 0x1d4cde0) = 0 +43928825854073:43928825854691 26045:26045 hsa_system_get_info(2, 0x1d4cde8) = 0 +43928825855441:43928825856055 26045:26045 hsa_system_get_info(2, 0x1d4cdf0) = 0 +43928825856803:43928825857422 26045:26045 hsa_system_get_info(2, 0x1d4cdf8) = 0 +43928825858172:43928825858789 26045:26045 hsa_system_get_info(2, 0x1d4ce00) = 0 +43928825859534:43928825860153 26045:26045 hsa_system_get_info(2, 0x1d4ce08) = 0 +43928825860923:43928825861548 26045:26045 hsa_system_get_info(2, 0x1d4ce10) = 0 +43928825862296:43928825862915 26045:26045 hsa_system_get_info(2, 0x1d4ce18) = 0 +43928825864399:43928825865032 26045:26045 hsa_system_get_info(2, 0x1d4ce20) = 0 +43928825865783:43928825866400 26045:26045 hsa_system_get_info(2, 0x1d4ce28) = 0 +43928825867146:43928825867760 26045:26045 hsa_system_get_info(2, 0x1d4ce30) = 0 +43928825868508:43928825869123 26045:26045 hsa_system_get_info(2, 0x1d4ce38) = 0 +43928825869870:43928825870493 26045:26045 hsa_system_get_info(2, 0x1d4ce40) = 0 +43928825871238:43928825871855 26045:26045 hsa_system_get_info(2, 0x1d4ce48) = 0 +43928825872602:43928825873215 26045:26045 hsa_system_get_info(2, 0x1d4ce50) = 0 +43928825873956:43928825874583 26045:26045 hsa_system_get_info(2, 0x1d4ce58) = 0 +43928825875328:43928825875951 26045:26045 hsa_system_get_info(2, 0x1d4ce60) = 0 +43928825876693:43928825877313 26045:26045 hsa_system_get_info(2, 0x1d4ce68) = 0 +43928825878058:43928825878675 26045:26045 hsa_system_get_info(2, 0x1d4ce70) = 0 +43928825879423:43928825880047 26045:26045 hsa_system_get_info(2, 0x1d4ce78) = 0 +43928825880790:43928825881414 26045:26045 hsa_system_get_info(2, 0x1d4ce80) = 0 +43928825882162:43928825882785 26045:26045 hsa_system_get_info(2, 0x1d4ce88) = 0 +43928825883547:43928825884163 26045:26045 hsa_system_get_info(2, 0x1d4ce90) = 0 +43928825884909:43928825885528 26045:26045 hsa_system_get_info(2, 0x1d4ce98) = 0 +43928825886274:43928825886894 26045:26045 hsa_system_get_info(2, 0x1d4cea0) = 0 +43928825887642:43928825888261 26045:26045 hsa_system_get_info(2, 0x1d4cea8) = 0 +43928825889006:43928825889626 26045:26045 hsa_system_get_info(2, 0x1d4ceb0) = 0 +43928825890375:43928825890993 26045:26045 hsa_system_get_info(2, 0x1d4ceb8) = 0 +43928825891741:43928825892360 26045:26045 hsa_system_get_info(2, 0x1d4cec0) = 0 +43928825893112:43928825893731 26045:26045 hsa_system_get_info(2, 0x1d4cec8) = 0 +43928825894477:43928825895099 26045:26045 hsa_system_get_info(2, 0x1d4ced0) = 0 +43928825895848:43928825896468 26045:26045 hsa_system_get_info(2, 0x1d4ced8) = 0 +43928825897218:43928825897839 26045:26045 hsa_system_get_info(2, 0x1d4cee0) = 0 +43928825898587:43928825899207 26045:26045 hsa_system_get_info(2, 0x1d4cee8) = 0 +43928825899956:43928825900576 26045:26045 hsa_system_get_info(2, 0x1d4cef0) = 0 +43928825901326:43928825901961 26045:26045 hsa_system_get_info(2, 0x1d4cef8) = 0 +43928825903438:43928825904062 26045:26045 hsa_system_get_info(2, 0x1d4cf00) = 0 +43928825904810:43928825905429 26045:26045 hsa_system_get_info(2, 0x1d4cf08) = 0 +43928825906172:43928825906790 26045:26045 hsa_system_get_info(2, 0x1d4cf10) = 0 +43928825907535:43928825908154 26045:26045 hsa_system_get_info(2, 0x1d4cf18) = 0 +43928825908897:43928825909524 26045:26045 hsa_system_get_info(2, 0x1d4cf20) = 0 +43928825910274:43928825910887 26045:26045 hsa_system_get_info(2, 0x1d4cf28) = 0 +43928825911629:43928825912254 26045:26045 hsa_system_get_info(2, 0x1d4cf30) = 0 +43928825913002:43928825913620 26045:26045 hsa_system_get_info(2, 0x1d4cf38) = 0 +43928825914366:43928825914989 26045:26045 hsa_system_get_info(2, 0x1d4cf40) = 0 +43928825915738:43928825916358 26045:26045 hsa_system_get_info(2, 0x1d4cf48) = 0 +43928825917099:43928825917717 26045:26045 hsa_system_get_info(2, 0x1d4cf50) = 0 +43928825918465:43928825919082 26045:26045 hsa_system_get_info(2, 0x1d4cf58) = 0 +43928825919828:43928825920444 26045:26045 hsa_system_get_info(2, 0x1d4cf60) = 0 +43928825921194:43928825921821 26045:26045 hsa_system_get_info(2, 0x1d4cf68) = 0 +43928825922569:43928825923192 26045:26045 hsa_system_get_info(2, 0x1d4cf70) = 0 +43928825923963:43928825924582 26045:26045 hsa_system_get_info(2, 0x1d4cf78) = 0 +43928825925329:43928825925946 26045:26045 hsa_system_get_info(2, 0x1d4cf80) = 0 +43928825926695:43928825927315 26045:26045 hsa_system_get_info(2, 0x1d4cf88) = 0 +43928825928058:43928825928683 26045:26045 hsa_system_get_info(2, 0x1d4cf90) = 0 +43928825929433:43928825930055 26045:26045 hsa_system_get_info(2, 0x1d4cf98) = 0 +43928825930802:43928825931424 26045:26045 hsa_system_get_info(2, 0x1d4cfa0) = 0 +43928825932171:43928825932794 26045:26045 hsa_system_get_info(2, 0x1d4cfa8) = 0 +43928825933544:43928825934161 26045:26045 hsa_system_get_info(2, 0x1d4cfb0) = 0 +43928825934907:43928825935528 26045:26045 hsa_system_get_info(2, 0x1d4cfb8) = 0 +43928825936272:43928825936890 26045:26045 hsa_system_get_info(2, 0x1d4cfc0) = 0 +43928825937637:43928825938253 26045:26045 hsa_system_get_info(2, 0x1d4cfc8) = 0 +43928825939003:43928825939624 26045:26045 hsa_system_get_info(2, 0x1d4cfd0) = 0 +43928825940385:43928825941004 26045:26045 hsa_system_get_info(2, 0x1d4cfd8) = 0 +43928825941753:43928825942373 26045:26045 hsa_system_get_info(2, 0x1d4cfe0) = 0 +43928825943875:43928825944501 26045:26045 hsa_system_get_info(2, 0x1d4cfe8) = 0 +43928825945247:43928825945864 26045:26045 hsa_system_get_info(2, 0x1d4cff0) = 0 +43928825946612:43928825947228 26045:26045 hsa_system_get_info(2, 0x1d4cff8) = 0 +43928825947975:43928825948595 26045:26045 hsa_system_get_info(2, 0x1d4d000) = 0 +43928825949337:43928825949953 26045:26045 hsa_system_get_info(2, 0x1d4d008) = 0 +43928825950694:43928825951309 26045:26045 hsa_system_get_info(2, 0x1d4d010) = 0 +43928825952055:43928825952669 26045:26045 hsa_system_get_info(2, 0x1d4d018) = 0 +43928825953415:43928825954033 26045:26045 hsa_system_get_info(2, 0x1d4d020) = 0 +43928825954780:43928825955400 26045:26045 hsa_system_get_info(2, 0x1d4d028) = 0 +43928825956147:43928825956764 26045:26045 hsa_system_get_info(2, 0x1d4d030) = 0 +43928825957510:43928825958129 26045:26045 hsa_system_get_info(2, 0x1d4d038) = 0 +43928825958874:43928825959499 26045:26045 hsa_system_get_info(2, 0x1d4d040) = 0 +43928825960244:43928825960864 26045:26045 hsa_system_get_info(2, 0x1d4d048) = 0 +43928825961606:43928825962231 26045:26045 hsa_system_get_info(2, 0x1d4d050) = 0 +43928825962987:43928825963609 26045:26045 hsa_system_get_info(2, 0x1d4d058) = 0 +43928825964358:43928825964978 26045:26045 hsa_system_get_info(2, 0x1d4d060) = 0 +43928825965726:43928825966345 26045:26045 hsa_system_get_info(2, 0x1d4d068) = 0 +43928825967091:43928825967710 26045:26045 hsa_system_get_info(2, 0x1d4d070) = 0 +43928825968458:43928825969077 26045:26045 hsa_system_get_info(2, 0x1d4d078) = 0 +43928825969822:43928825970448 26045:26045 hsa_system_get_info(2, 0x1d4d080) = 0 +43928825971197:43928825971819 26045:26045 hsa_system_get_info(2, 0x1d4d088) = 0 +43928825972567:43928825973191 26045:26045 hsa_system_get_info(2, 0x1d4d090) = 0 +43928825973935:43928825974555 26045:26045 hsa_system_get_info(2, 0x1d4d098) = 0 +43928825975303:43928825975923 26045:26045 hsa_system_get_info(2, 0x1d4d0a0) = 0 +43928825976669:43928825977287 26045:26045 hsa_system_get_info(2, 0x1d4d0a8) = 0 +43928825978032:43928825978650 26045:26045 hsa_system_get_info(2, 0x1d4d0b0) = 0 +43928825979395:43928825980013 26045:26045 hsa_system_get_info(2, 0x1d4d0b8) = 0 +43928825980764:43928825981385 26045:26045 hsa_system_get_info(2, 0x1d4d0c0) = 0 +43928825982895:43928825983517 26045:26045 hsa_system_get_info(2, 0x1d4d0c8) = 0 +43928825984261:43928825984879 26045:26045 hsa_system_get_info(2, 0x1d4d0d0) = 0 +43928825985620:43928825986244 26045:26045 hsa_system_get_info(2, 0x1d4d0d8) = 0 +43928825986992:43928825987613 26045:26045 hsa_system_get_info(2, 0x1d4d0e0) = 0 +43928825988362:43928825988982 26045:26045 hsa_system_get_info(2, 0x1d4d0e8) = 0 +43928825989731:43928825990350 26045:26045 hsa_system_get_info(2, 0x1d4d0f0) = 0 +43928825991095:43928825991714 26045:26045 hsa_system_get_info(2, 0x1d4d0f8) = 0 +43928825992460:43928825993258 26045:26045 hsa_system_get_info(2, 0x1d4d100) = 0 +43928825994010:43928825994626 26045:26045 hsa_system_get_info(2, 0x1d4d108) = 0 +43928825995372:43928825995990 26045:26045 hsa_system_get_info(2, 0x1d4d110) = 0 +43928825996736:43928825997362 26045:26045 hsa_system_get_info(2, 0x1d4d118) = 0 +43928825998108:43928825998728 26045:26045 hsa_system_get_info(2, 0x1d4d120) = 0 +43928825999474:43928826000096 26045:26045 hsa_system_get_info(2, 0x1d4d128) = 0 +43928826000844:43928826001477 26045:26045 hsa_system_get_info(2, 0x1d4d130) = 0 +43928826002224:43928826002848 26045:26045 hsa_system_get_info(2, 0x1d4d138) = 0 +43928826003595:43928826004216 26045:26045 hsa_system_get_info(2, 0x1d4d140) = 0 +43928826004961:43928826005587 26045:26045 hsa_system_get_info(2, 0x1d4d148) = 0 +43928826022682:43928826023338 26045:26045 hsa_system_get_info(2, 0x1d4b210) = 0 +43928826024107:43928826024720 26045:26045 hsa_system_get_info(2, 0x1d4b218) = 0 +43928826025464:43928826026083 26045:26045 hsa_system_get_info(2, 0x1d4b220) = 0 +43928826026829:43928826027449 26045:26045 hsa_system_get_info(2, 0x1d4b228) = 0 +43928826028193:43928826028815 26045:26045 hsa_system_get_info(2, 0x1d4b230) = 0 +43928826029560:43928826030183 26045:26045 hsa_system_get_info(2, 0x1d4b238) = 0 +43928826030930:43928826031547 26045:26045 hsa_system_get_info(2, 0x1d4b240) = 0 +43928826032296:43928826032915 26045:26045 hsa_system_get_info(2, 0x1d4b248) = 0 +43928826033662:43928826034283 26045:26045 hsa_system_get_info(2, 0x1d4b250) = 0 +43928826035029:43928826035647 26045:26045 hsa_system_get_info(2, 0x1d4b258) = 0 +43928826036403:43928826037025 26045:26045 hsa_system_get_info(2, 0x1d4b260) = 0 +43928826037774:43928826038392 26045:26045 hsa_system_get_info(2, 0x1d4b268) = 0 +43928826039945:43928826040573 26045:26045 hsa_system_get_info(2, 0x1d4b270) = 0 +43928826041319:43928826041944 26045:26045 hsa_system_get_info(2, 0x1d4b278) = 0 +43928826042694:43928826043313 26045:26045 hsa_system_get_info(2, 0x1d4b280) = 0 +43928826044061:43928826044679 26045:26045 hsa_system_get_info(2, 0x1d4b288) = 0 +43928826045423:43928826046045 26045:26045 hsa_system_get_info(2, 0x1d4b290) = 0 +43928826046793:43928826047415 26045:26045 hsa_system_get_info(2, 0x1d4b298) = 0 +43928826048162:43928826048781 26045:26045 hsa_system_get_info(2, 0x1d4b2a0) = 0 +43928826049531:43928826050146 26045:26045 hsa_system_get_info(2, 0x1d4b2a8) = 0 +43928826050893:43928826051512 26045:26045 hsa_system_get_info(2, 0x1d4b2b0) = 0 +43928826052260:43928826052883 26045:26045 hsa_system_get_info(2, 0x1d4b2b8) = 0 +43928826053630:43928826054248 26045:26045 hsa_system_get_info(2, 0x1d4b2c0) = 0 +43928826054991:43928826055610 26045:26045 hsa_system_get_info(2, 0x1d4b2c8) = 0 +43928826056357:43928826056979 26045:26045 hsa_system_get_info(2, 0x1d4b2d0) = 0 +43928826057729:43928826058367 26045:26045 hsa_system_get_info(2, 0x1d4b2d8) = 0 +43928826059114:43928826059741 26045:26045 hsa_system_get_info(2, 0x1d4b2e0) = 0 +43928826060490:43928826061108 26045:26045 hsa_system_get_info(2, 0x1d4b2e8) = 0 +43928826061911:43928826062535 26045:26045 hsa_system_get_info(2, 0x1d4b2f0) = 0 +43928826063285:43928826063912 26045:26045 hsa_system_get_info(2, 0x1d4b2f8) = 0 +43928826064664:43928826065285 26045:26045 hsa_system_get_info(2, 0x1d4b300) = 0 +43928826066031:43928826066652 26045:26045 hsa_system_get_info(2, 0x1d4b308) = 0 +43928826067398:43928826068021 26045:26045 hsa_system_get_info(2, 0x1d4b310) = 0 +43928826068768:43928826069383 26045:26045 hsa_system_get_info(2, 0x1d4b318) = 0 +43928826070130:43928826070757 26045:26045 hsa_system_get_info(2, 0x1d4b320) = 0 +43928826071508:43928826072140 26045:26045 hsa_system_get_info(2, 0x1d4b328) = 0 +43928826072888:43928826073510 26045:26045 hsa_system_get_info(2, 0x1d4b330) = 0 +43928826074262:43928826074885 26045:26045 hsa_system_get_info(2, 0x1d4b338) = 0 +43928826075633:43928826076257 26045:26045 hsa_system_get_info(2, 0x1d4b340) = 0 +43928826077002:43928826077624 26045:26045 hsa_system_get_info(2, 0x1d4b348) = 0 +43928826079104:43928826079736 26045:26045 hsa_system_get_info(2, 0x1d4b350) = 0 +43928826080482:43928826081105 26045:26045 hsa_system_get_info(2, 0x1d4b358) = 0 +43928826081853:43928826082472 26045:26045 hsa_system_get_info(2, 0x1d4b360) = 0 +43928826083214:43928826083834 26045:26045 hsa_system_get_info(2, 0x1d4b368) = 0 +43928826084581:43928826085206 26045:26045 hsa_system_get_info(2, 0x1d4b370) = 0 +43928826085954:43928826086574 26045:26045 hsa_system_get_info(2, 0x1d4b378) = 0 +43928826087320:43928826087939 26045:26045 hsa_system_get_info(2, 0x1d4b380) = 0 +43928826088689:43928826089311 26045:26045 hsa_system_get_info(2, 0x1d4b388) = 0 +43928826090059:43928826090680 26045:26045 hsa_system_get_info(2, 0x1d4b390) = 0 +43928826091430:43928826092051 26045:26045 hsa_system_get_info(2, 0x1d4b398) = 0 +43928826092797:43928826093418 26045:26045 hsa_system_get_info(2, 0x1d4b3a0) = 0 +43928826094168:43928826094788 26045:26045 hsa_system_get_info(2, 0x1d4b3a8) = 0 +43928826095534:43928826096163 26045:26045 hsa_system_get_info(2, 0x1d4b3b0) = 0 +43928826096909:43928826097532 26045:26045 hsa_system_get_info(2, 0x1d4b3b8) = 0 +43928826098304:43928826098921 26045:26045 hsa_system_get_info(2, 0x1d4b3c0) = 0 +43928826099667:43928826100287 26045:26045 hsa_system_get_info(2, 0x1d4b3c8) = 0 +43928826101032:43928826101654 26045:26045 hsa_system_get_info(2, 0x1d4b3d0) = 0 +43928826102405:43928826103024 26045:26045 hsa_system_get_info(2, 0x1d4b3d8) = 0 +43928826103769:43928826104390 26045:26045 hsa_system_get_info(2, 0x1d4b3e0) = 0 +43928826105137:43928826105757 26045:26045 hsa_system_get_info(2, 0x1d4b3e8) = 0 +43928826106501:43928826107119 26045:26045 hsa_system_get_info(2, 0x1d4b3f0) = 0 +43928826107867:43928826108482 26045:26045 hsa_system_get_info(2, 0x1d4b3f8) = 0 +43928826109231:43928826109855 26045:26045 hsa_system_get_info(2, 0x1d4b400) = 0 +43928826110602:43928826111223 26045:26045 hsa_system_get_info(2, 0x1d4b408) = 0 +43928826111971:43928826112594 26045:26045 hsa_system_get_info(2, 0x1d4b410) = 0 +43928826113342:43928826113960 26045:26045 hsa_system_get_info(2, 0x1d4b418) = 0 +43928826114712:43928826115331 26045:26045 hsa_system_get_info(2, 0x1d4b420) = 0 +43928826116082:43928826116706 26045:26045 hsa_system_get_info(2, 0x1d4b428) = 0 +43928826117466:43928826118088 26045:26045 hsa_system_get_info(2, 0x1d4b430) = 0 +43928826119659:43928826120285 26045:26045 hsa_system_get_info(2, 0x1d4b438) = 0 +43928826121035:43928826121659 26045:26045 hsa_system_get_info(2, 0x1d4b440) = 0 +43928826122408:43928826123034 26045:26045 hsa_system_get_info(2, 0x1d4b448) = 0 +43928826123781:43928826124407 26045:26045 hsa_system_get_info(2, 0x1d4b450) = 0 +43928826125154:43928826125775 26045:26045 hsa_system_get_info(2, 0x1d4b458) = 0 +43928826126520:43928826127140 26045:26045 hsa_system_get_info(2, 0x1d4b460) = 0 +43928826127883:43928826128500 26045:26045 hsa_system_get_info(2, 0x1d4b468) = 0 +43928826129247:43928826129864 26045:26045 hsa_system_get_info(2, 0x1d4b470) = 0 +43928826130610:43928826131232 26045:26045 hsa_system_get_info(2, 0x1d4b478) = 0 +43928826131975:43928826132596 26045:26045 hsa_system_get_info(2, 0x1d4b480) = 0 +43928826133343:43928826133963 26045:26045 hsa_system_get_info(2, 0x1d4b488) = 0 +43928826134711:43928826135330 26045:26045 hsa_system_get_info(2, 0x1d4b490) = 0 +43928826136074:43928826136691 26045:26045 hsa_system_get_info(2, 0x1d4b498) = 0 +43928826137436:43928826138073 26045:26045 hsa_system_get_info(2, 0x1d4b4a0) = 0 +43928826138825:43928826139447 26045:26045 hsa_system_get_info(2, 0x1d4b4a8) = 0 +43928826140194:43928826140815 26045:26045 hsa_system_get_info(2, 0x1d4b4b0) = 0 +43928826141567:43928826142186 26045:26045 hsa_system_get_info(2, 0x1d4b4b8) = 0 +43928826142935:43928826143555 26045:26045 hsa_system_get_info(2, 0x1d4b4c0) = 0 +43928826144299:43928826144918 26045:26045 hsa_system_get_info(2, 0x1d4b4c8) = 0 +43928826145663:43928826146291 26045:26045 hsa_system_get_info(2, 0x1d4b4d0) = 0 +43928826147041:43928826147660 26045:26045 hsa_system_get_info(2, 0x1d4b4d8) = 0 +43928826148405:43928826149022 26045:26045 hsa_system_get_info(2, 0x1d4b4e0) = 0 +43928826149772:43928826150384 26045:26045 hsa_system_get_info(2, 0x1d4b4e8) = 0 +43928826151130:43928826151749 26045:26045 hsa_system_get_info(2, 0x1d4b4f0) = 0 +43928826152493:43928826153114 26045:26045 hsa_system_get_info(2, 0x1d4b4f8) = 0 +43928826153862:43928826154486 26045:26045 hsa_system_get_info(2, 0x1d4b500) = 0 +43928826155236:43928826155853 26045:26045 hsa_system_get_info(2, 0x1d4b508) = 0 +43928826156597:43928826157229 26045:26045 hsa_system_get_info(2, 0x1d4b510) = 0 +43928826158738:43928826159357 26045:26045 hsa_system_get_info(2, 0x1d4b518) = 0 +43928826160101:43928826160728 26045:26045 hsa_system_get_info(2, 0x1d4b520) = 0 +43928826161471:43928826162092 26045:26045 hsa_system_get_info(2, 0x1d4b528) = 0 +43928826162838:43928826163460 26045:26045 hsa_system_get_info(2, 0x1d4b530) = 0 +43928826164208:43928826164827 26045:26045 hsa_system_get_info(2, 0x1d4b538) = 0 +43928826165572:43928826166198 26045:26045 hsa_system_get_info(2, 0x1d4b540) = 0 +43928826166942:43928826167564 26045:26045 hsa_system_get_info(2, 0x1d4b548) = 0 +43928826168306:43928826168923 26045:26045 hsa_system_get_info(2, 0x1d4b550) = 0 +43928826169667:43928826170291 26045:26045 hsa_system_get_info(2, 0x1d4b558) = 0 +43928826171038:43928826171663 26045:26045 hsa_system_get_info(2, 0x1d4b560) = 0 +43928826172408:43928826173032 26045:26045 hsa_system_get_info(2, 0x1d4b568) = 0 +43928826173776:43928826174396 26045:26045 hsa_system_get_info(2, 0x1d4b570) = 0 +43928826175143:43928826175759 26045:26045 hsa_system_get_info(2, 0x1d4b578) = 0 +43928826176509:43928826177142 26045:26045 hsa_system_get_info(2, 0x1d4b580) = 0 +43928826177889:43928826178509 26045:26045 hsa_system_get_info(2, 0x1d4b588) = 0 +43928826179256:43928826179876 26045:26045 hsa_system_get_info(2, 0x1d4b590) = 0 +43928826180620:43928826181241 26045:26045 hsa_system_get_info(2, 0x1d4b598) = 0 +43928826181984:43928826182609 26045:26045 hsa_system_get_info(2, 0x1d4b5a0) = 0 +43928826183352:43928826183972 26045:26045 hsa_system_get_info(2, 0x1d4b5a8) = 0 +43928826184721:43928826185345 26045:26045 hsa_system_get_info(2, 0x1d4b5b0) = 0 +43928826186096:43928826186717 26045:26045 hsa_system_get_info(2, 0x1d4b5b8) = 0 +43928826187463:43928826188080 26045:26045 hsa_system_get_info(2, 0x1d4b5c0) = 0 +43928826188827:43928826189447 26045:26045 hsa_system_get_info(2, 0x1d4b5c8) = 0 +43928826190195:43928826190814 26045:26045 hsa_system_get_info(2, 0x1d4b5d0) = 0 +43928826191563:43928826192183 26045:26045 hsa_system_get_info(2, 0x1d4b5d8) = 0 +43928826192929:43928826193554 26045:26045 hsa_system_get_info(2, 0x1d4b5e0) = 0 +43928826194335:43928826194955 26045:26045 hsa_system_get_info(2, 0x1d4b5e8) = 0 +43928826195706:43928826196325 26045:26045 hsa_system_get_info(2, 0x1d4b5f0) = 0 +43928826197810:43928826198452 26045:26045 hsa_system_get_info(2, 0x1d4b5f8) = 0 +43928826199200:43928826199820 26045:26045 hsa_system_get_info(2, 0x1d4b600) = 0 +43928826200570:43928826201188 26045:26045 hsa_system_get_info(2, 0x1d4b608) = 0 +43928826201953:43928826202574 26045:26045 hsa_system_get_info(2, 0x1d4b610) = 0 +43928826203320:43928826203934 26045:26045 hsa_system_get_info(2, 0x1d4b618) = 0 +43928826204683:43928826205304 26045:26045 hsa_system_get_info(2, 0x1d4b620) = 0 +43928826206051:43928826206669 26045:26045 hsa_system_get_info(2, 0x1d4b628) = 0 +43928826207415:43928826208032 26045:26045 hsa_system_get_info(2, 0x1d4b630) = 0 +43928826208776:43928826209393 26045:26045 hsa_system_get_info(2, 0x1d4b638) = 0 +43928826210137:43928826210753 26045:26045 hsa_system_get_info(2, 0x1d4b640) = 0 +43928826211499:43928826212127 26045:26045 hsa_system_get_info(2, 0x1d4b648) = 0 +43928826212875:43928826213489 26045:26045 hsa_system_get_info(2, 0x1d4b650) = 0 +43928826214233:43928826214849 26045:26045 hsa_system_get_info(2, 0x1d4b658) = 0 +43928826215597:43928826216217 26045:26045 hsa_system_get_info(2, 0x1d4b660) = 0 +43928826216968:43928826217588 26045:26045 hsa_system_get_info(2, 0x1d4b668) = 0 +43928826218334:43928826218954 26045:26045 hsa_system_get_info(2, 0x1d4b670) = 0 +43928826219701:43928826220320 26045:26045 hsa_system_get_info(2, 0x1d4b678) = 0 +43928826221077:43928826221696 26045:26045 hsa_system_get_info(2, 0x1d4b680) = 0 +43928826222440:43928826223057 26045:26045 hsa_system_get_info(2, 0x1d4b688) = 0 +43928826223804:43928826224424 26045:26045 hsa_system_get_info(2, 0x1d4b690) = 0 +43928826225173:43928826225795 26045:26045 hsa_system_get_info(2, 0x1d4b698) = 0 +43928826226540:43928826227163 26045:26045 hsa_system_get_info(2, 0x1d4b6a0) = 0 +43928826227909:43928826228529 26045:26045 hsa_system_get_info(2, 0x1d4b6a8) = 0 +43928826229276:43928826229892 26045:26045 hsa_system_get_info(2, 0x1d4b6b0) = 0 +43928826230635:43928826231252 26045:26045 hsa_system_get_info(2, 0x1d4b6b8) = 0 +43928826232001:43928826232621 26045:26045 hsa_system_get_info(2, 0x1d4b6c0) = 0 +43928826233366:43928826233990 26045:26045 hsa_system_get_info(2, 0x1d4b6c8) = 0 +43928826234758:43928826235378 26045:26045 hsa_system_get_info(2, 0x1d4b6d0) = 0 +43928826236123:43928826236742 26045:26045 hsa_system_get_info(2, 0x1d4b6d8) = 0 +43928826238232:43928826238856 26045:26045 hsa_system_get_info(2, 0x1d4b6e0) = 0 +43928826239602:43928826240228 26045:26045 hsa_system_get_info(2, 0x1d4b6e8) = 0 +43928826240974:43928826241597 26045:26045 hsa_system_get_info(2, 0x1d4b6f0) = 0 +43928826242343:43928826242967 26045:26045 hsa_system_get_info(2, 0x1d4b6f8) = 0 +43928826243715:43928826244336 26045:26045 hsa_system_get_info(2, 0x1d4b700) = 0 +43928826245080:43928826245699 26045:26045 hsa_system_get_info(2, 0x1d4b708) = 0 +43928826246444:43928826247067 26045:26045 hsa_system_get_info(2, 0x1d4b710) = 0 +43928826247811:43928826248429 26045:26045 hsa_system_get_info(2, 0x1d4b718) = 0 +43928826249176:43928826249793 26045:26045 hsa_system_get_info(2, 0x1d4b720) = 0 +43928826250540:43928826251160 26045:26045 hsa_system_get_info(2, 0x1d4b728) = 0 +43928826251911:43928826252529 26045:26045 hsa_system_get_info(2, 0x1d4b730) = 0 +43928826253278:43928826253896 26045:26045 hsa_system_get_info(2, 0x1d4b738) = 0 +43928826254644:43928826255259 26045:26045 hsa_system_get_info(2, 0x1d4b740) = 0 +43928826256003:43928826256636 26045:26045 hsa_system_get_info(2, 0x1d4b748) = 0 +43928826257384:43928826258001 26045:26045 hsa_system_get_info(2, 0x1d4b750) = 0 +43928826258748:43928826259368 26045:26045 hsa_system_get_info(2, 0x1d4b758) = 0 +43928826260115:43928826260735 26045:26045 hsa_system_get_info(2, 0x1d4b760) = 0 +43928826261479:43928826262100 26045:26045 hsa_system_get_info(2, 0x1d4b768) = 0 +43928826262848:43928826263466 26045:26045 hsa_system_get_info(2, 0x1d4b770) = 0 +43928826264215:43928826264836 26045:26045 hsa_system_get_info(2, 0x1d4b778) = 0 +43928826265586:43928826266201 26045:26045 hsa_system_get_info(2, 0x1d4b780) = 0 +43928826266949:43928826267573 26045:26045 hsa_system_get_info(2, 0x1d4b788) = 0 +43928826268323:43928826268942 26045:26045 hsa_system_get_info(2, 0x1d4b790) = 0 +43928826269690:43928826270303 26045:26045 hsa_system_get_info(2, 0x1d4b798) = 0 +43928826271051:43928826271671 26045:26045 hsa_system_get_info(2, 0x1d4b7a0) = 0 +43928826272419:43928826273039 26045:26045 hsa_system_get_info(2, 0x1d4b7a8) = 0 +43928826273785:43928826274402 26045:26045 hsa_system_get_info(2, 0x1d4b7b0) = 0 +43928826275166:43928826275788 26045:26045 hsa_system_get_info(2, 0x1d4b7b8) = 0 +43928826277869:43928826278506 26045:26045 hsa_system_get_info(2, 0x1d4b7c0) = 0 +43928826279254:43928826279869 26045:26045 hsa_system_get_info(2, 0x1d4b7c8) = 0 +43928826280614:43928826281235 26045:26045 hsa_system_get_info(2, 0x1d4b7d0) = 0 +43928826281987:43928826282606 26045:26045 hsa_system_get_info(2, 0x1d4b7d8) = 0 +43928826283348:43928826283969 26045:26045 hsa_system_get_info(2, 0x1d4b7e0) = 0 +43928826284716:43928826285337 26045:26045 hsa_system_get_info(2, 0x1d4b7e8) = 0 +43928826286082:43928826286705 26045:26045 hsa_system_get_info(2, 0x1d4b7f0) = 0 +43928826287450:43928826288069 26045:26045 hsa_system_get_info(2, 0x1d4b7f8) = 0 +43928826288815:43928826289434 26045:26045 hsa_system_get_info(2, 0x1d4b800) = 0 +43928826290179:43928826290814 26045:26045 hsa_system_get_info(2, 0x1d4b808) = 0 +43928826291563:43928826292185 26045:26045 hsa_system_get_info(2, 0x1d4b810) = 0 +43928826292935:43928826293557 26045:26045 hsa_system_get_info(2, 0x1d4b818) = 0 +43928826294356:43928826294978 26045:26045 hsa_system_get_info(2, 0x1d4b820) = 0 +43928826295749:43928826296370 26045:26045 hsa_system_get_info(2, 0x1d4b828) = 0 +43928826297121:43928826297735 26045:26045 hsa_system_get_info(2, 0x1d4b830) = 0 +43928826298484:43928826299105 26045:26045 hsa_system_get_info(2, 0x1d4b838) = 0 +43928826299850:43928826300469 26045:26045 hsa_system_get_info(2, 0x1d4b840) = 0 +43928826301218:43928826301832 26045:26045 hsa_system_get_info(2, 0x1d4b848) = 0 +43928826302580:43928826303199 26045:26045 hsa_system_get_info(2, 0x1d4b850) = 0 +43928826303948:43928826304562 26045:26045 hsa_system_get_info(2, 0x1d4b858) = 0 +43928826305309:43928826305926 26045:26045 hsa_system_get_info(2, 0x1d4b860) = 0 +43928826306671:43928826307292 26045:26045 hsa_system_get_info(2, 0x1d4b868) = 0 +43928826308041:43928826308656 26045:26045 hsa_system_get_info(2, 0x1d4b870) = 0 +43928826309403:43928826310021 26045:26045 hsa_system_get_info(2, 0x1d4b878) = 0 +43928826310766:43928826311385 26045:26045 hsa_system_get_info(2, 0x1d4b880) = 0 +43928826312129:43928826312749 26045:26045 hsa_system_get_info(2, 0x1d4b888) = 0 +43928826313498:43928826314120 26045:26045 hsa_system_get_info(2, 0x1d4b890) = 0 +43928826314890:43928826315511 26045:26045 hsa_system_get_info(2, 0x1d4b898) = 0 +43928826316278:43928826316905 26045:26045 hsa_system_get_info(2, 0x1d4b8a0) = 0 +43928826318390:43928826319017 26045:26045 hsa_system_get_info(2, 0x1d4b8a8) = 0 +43928826319761:43928826320377 26045:26045 hsa_system_get_info(2, 0x1d4b8b0) = 0 +43928826321124:43928826321747 26045:26045 hsa_system_get_info(2, 0x1d4b8b8) = 0 +43928826322490:43928826323110 26045:26045 hsa_system_get_info(2, 0x1d4b8c0) = 0 +43928826323856:43928826324470 26045:26045 hsa_system_get_info(2, 0x1d4b8c8) = 0 +43928826325215:43928826325836 26045:26045 hsa_system_get_info(2, 0x1d4b8d0) = 0 +43928826326582:43928826327206 26045:26045 hsa_system_get_info(2, 0x1d4b8d8) = 0 +43928826327955:43928826328577 26045:26045 hsa_system_get_info(2, 0x1d4b8e0) = 0 +43928826329326:43928826329939 26045:26045 hsa_system_get_info(2, 0x1d4b8e8) = 0 +43928826330686:43928826331308 26045:26045 hsa_system_get_info(2, 0x1d4b8f0) = 0 +43928826332053:43928826332676 26045:26045 hsa_system_get_info(2, 0x1d4b8f8) = 0 +43928826333424:43928826334049 26045:26045 hsa_system_get_info(2, 0x1d4b900) = 0 +43928826334797:43928826335419 26045:26045 hsa_system_get_info(2, 0x1d4b908) = 0 +43928826336166:43928826336786 26045:26045 hsa_system_get_info(2, 0x1d4b910) = 0 +43928826337556:43928826338178 26045:26045 hsa_system_get_info(2, 0x1d4b918) = 0 +43928826338923:43928826339545 26045:26045 hsa_system_get_info(2, 0x1d4b920) = 0 +43928826340294:43928826340912 26045:26045 hsa_system_get_info(2, 0x1d4b928) = 0 +43928826341663:43928826342281 26045:26045 hsa_system_get_info(2, 0x1d4b930) = 0 +43928826343024:43928826343644 26045:26045 hsa_system_get_info(2, 0x1d4b938) = 0 +43928826344393:43928826345011 26045:26045 hsa_system_get_info(2, 0x1d4b940) = 0 +43928826345757:43928826346378 26045:26045 hsa_system_get_info(2, 0x1d4b948) = 0 +43928826347125:43928826347749 26045:26045 hsa_system_get_info(2, 0x1d4b950) = 0 +43928826348496:43928826349114 26045:26045 hsa_system_get_info(2, 0x1d4b958) = 0 +43928826349860:43928826350480 26045:26045 hsa_system_get_info(2, 0x1d4b960) = 0 +43928826351231:43928826351856 26045:26045 hsa_system_get_info(2, 0x1d4b968) = 0 +43928826352607:43928826353229 26045:26045 hsa_system_get_info(2, 0x1d4b970) = 0 +43928826353977:43928826354600 26045:26045 hsa_system_get_info(2, 0x1d4b978) = 0 +43928826355352:43928826355971 26045:26045 hsa_system_get_info(2, 0x1d4b980) = 0 +43928826357491:43928826358118 26045:26045 hsa_system_get_info(2, 0x1d4b988) = 0 +43928826358864:43928826359483 26045:26045 hsa_system_get_info(2, 0x1d4b990) = 0 +43928826360225:43928826360845 26045:26045 hsa_system_get_info(2, 0x1d4b998) = 0 +43928826361593:43928826362220 26045:26045 hsa_system_get_info(2, 0x1d4b9a0) = 0 +43928826362968:43928826363588 26045:26045 hsa_system_get_info(2, 0x1d4b9a8) = 0 +43928826364333:43928826364953 26045:26045 hsa_system_get_info(2, 0x1d4b9b0) = 0 +43928826365697:43928826366316 26045:26045 hsa_system_get_info(2, 0x1d4b9b8) = 0 +43928826367060:43928826367681 26045:26045 hsa_system_get_info(2, 0x1d4b9c0) = 0 +43928826368427:43928826369045 26045:26045 hsa_system_get_info(2, 0x1d4b9c8) = 0 +43928826369791:43928826370407 26045:26045 hsa_system_get_info(2, 0x1d4b9d0) = 0 +43928826371149:43928826371763 26045:26045 hsa_system_get_info(2, 0x1d4b9d8) = 0 +43928826372511:43928826373130 26045:26045 hsa_system_get_info(2, 0x1d4b9e0) = 0 +43928826373879:43928826374501 26045:26045 hsa_system_get_info(2, 0x1d4b9e8) = 0 +43928826375248:43928826375871 26045:26045 hsa_system_get_info(2, 0x1d4b9f0) = 0 +43928826376634:43928826377252 26045:26045 hsa_system_get_info(2, 0x1d4b9f8) = 0 +43928826378003:43928826378622 26045:26045 hsa_system_get_info(2, 0x1d4ba00) = 0 +43928826379370:43928826379984 26045:26045 hsa_system_get_info(2, 0x1d4ba08) = 0 +43928826380726:43928826381344 26045:26045 hsa_system_get_info(2, 0x1d4ba10) = 0 +43928826382088:43928826382709 26045:26045 hsa_system_get_info(2, 0x1d4ba18) = 0 +43928826383458:43928826384076 26045:26045 hsa_system_get_info(2, 0x1d4ba20) = 0 +43928826384820:43928826385444 26045:26045 hsa_system_get_info(2, 0x1d4ba28) = 0 +43928826386190:43928826386811 26045:26045 hsa_system_get_info(2, 0x1d4ba30) = 0 +43928826387558:43928826388180 26045:26045 hsa_system_get_info(2, 0x1d4ba38) = 0 +43928826388927:43928826389547 26045:26045 hsa_system_get_info(2, 0x1d4ba40) = 0 +43928826390293:43928826390914 26045:26045 hsa_system_get_info(2, 0x1d4ba48) = 0 +43928826391659:43928826392282 26045:26045 hsa_system_get_info(2, 0x1d4ba50) = 0 +43928826393026:43928826393644 26045:26045 hsa_system_get_info(2, 0x1d4ba58) = 0 +43928826394393:43928826395017 26045:26045 hsa_system_get_info(2, 0x1d4ba60) = 0 +43928826395783:43928826396403 26045:26045 hsa_system_get_info(2, 0x1d4ba68) = 0 +43928826397888:43928826398512 26045:26045 hsa_system_get_info(2, 0x1d4ba70) = 0 +43928826399256:43928826399883 26045:26045 hsa_system_get_info(2, 0x1d4ba78) = 0 +43928826400629:43928826401248 26045:26045 hsa_system_get_info(2, 0x1d4ba80) = 0 +43928826401997:43928826402620 26045:26045 hsa_system_get_info(2, 0x1d4ba88) = 0 +43928826403369:43928826403989 26045:26045 hsa_system_get_info(2, 0x1d4ba90) = 0 +43928826404737:43928826405355 26045:26045 hsa_system_get_info(2, 0x1d4ba98) = 0 +43928826406102:43928826406721 26045:26045 hsa_system_get_info(2, 0x1d4baa0) = 0 +43928826407470:43928826408089 26045:26045 hsa_system_get_info(2, 0x1d4baa8) = 0 +43928826408840:43928826409453 26045:26045 hsa_system_get_info(2, 0x1d4bab0) = 0 +43928826410203:43928826410820 26045:26045 hsa_system_get_info(2, 0x1d4bab8) = 0 +43928826411621:43928826412239 26045:26045 hsa_system_get_info(2, 0x1d4bac0) = 0 +43928826412987:43928826413612 26045:26045 hsa_system_get_info(2, 0x1d4bac8) = 0 +43928826414356:43928826414976 26045:26045 hsa_system_get_info(2, 0x1d4bad0) = 0 +43928826415724:43928826416344 26045:26045 hsa_system_get_info(2, 0x1d4bad8) = 0 +43928826417089:43928826417714 26045:26045 hsa_system_get_info(2, 0x1d4bae0) = 0 +43928826418463:43928826419087 26045:26045 hsa_system_get_info(2, 0x1d4bae8) = 0 +43928826419834:43928826420449 26045:26045 hsa_system_get_info(2, 0x1d4baf0) = 0 +43928826421196:43928826421816 26045:26045 hsa_system_get_info(2, 0x1d4baf8) = 0 +43928826422560:43928826423180 26045:26045 hsa_system_get_info(2, 0x1d4bb00) = 0 +43928826423929:43928826424547 26045:26045 hsa_system_get_info(2, 0x1d4bb08) = 0 +43928826425293:43928826425918 26045:26045 hsa_system_get_info(2, 0x1d4bb10) = 0 +43928826426665:43928826427285 26045:26045 hsa_system_get_info(2, 0x1d4bb18) = 0 +43928826428029:43928826428652 26045:26045 hsa_system_get_info(2, 0x1d4bb20) = 0 +43928826429399:43928826430015 26045:26045 hsa_system_get_info(2, 0x1d4bb28) = 0 +43928826430773:43928826431394 26045:26045 hsa_system_get_info(2, 0x1d4bb30) = 0 +43928826432142:43928826432762 26045:26045 hsa_system_get_info(2, 0x1d4bb38) = 0 +43928826433508:43928826434132 26045:26045 hsa_system_get_info(2, 0x1d4bb40) = 0 +43928826434880:43928826435503 26045:26045 hsa_system_get_info(2, 0x1d4bb48) = 0 +43928826437039:43928826437660 26045:26045 hsa_system_get_info(2, 0x1d4bb50) = 0 +43928826438408:43928826439027 26045:26045 hsa_system_get_info(2, 0x1d4bb58) = 0 +43928826439771:43928826440392 26045:26045 hsa_system_get_info(2, 0x1d4bb60) = 0 +43928826441138:43928826441761 26045:26045 hsa_system_get_info(2, 0x1d4bb68) = 0 +43928826442508:43928826443129 26045:26045 hsa_system_get_info(2, 0x1d4bb70) = 0 +43928826443872:43928826444489 26045:26045 hsa_system_get_info(2, 0x1d4bb78) = 0 +43928826445233:43928826445854 26045:26045 hsa_system_get_info(2, 0x1d4bb80) = 0 +43928826446595:43928826447217 26045:26045 hsa_system_get_info(2, 0x1d4bb88) = 0 +43928826447964:43928826448587 26045:26045 hsa_system_get_info(2, 0x1d4bb90) = 0 +43928826449333:43928826449956 26045:26045 hsa_system_get_info(2, 0x1d4bb98) = 0 +43928826450699:43928826451322 26045:26045 hsa_system_get_info(2, 0x1d4bba0) = 0 +43928826452067:43928826452688 26045:26045 hsa_system_get_info(2, 0x1d4bba8) = 0 +43928826453436:43928826454056 26045:26045 hsa_system_get_info(2, 0x1d4bbb0) = 0 +43928826454819:43928826455439 26045:26045 hsa_system_get_info(2, 0x1d4bbb8) = 0 +43928826456186:43928826456806 26045:26045 hsa_system_get_info(2, 0x1d4bbc0) = 0 +43928826457555:43928826458173 26045:26045 hsa_system_get_info(2, 0x1d4bbc8) = 0 +43928826458919:43928826459541 26045:26045 hsa_system_get_info(2, 0x1d4bbd0) = 0 +43928826460289:43928826460914 26045:26045 hsa_system_get_info(2, 0x1d4bbd8) = 0 +43928826461663:43928826462280 26045:26045 hsa_system_get_info(2, 0x1d4bbe0) = 0 +43928826463025:43928826463644 26045:26045 hsa_system_get_info(2, 0x1d4bbe8) = 0 +43928826464393:43928826465012 26045:26045 hsa_system_get_info(2, 0x1d4bbf0) = 0 +43928826465757:43928826466375 26045:26045 hsa_system_get_info(2, 0x1d4bbf8) = 0 +43928826467117:43928826467734 26045:26045 hsa_system_get_info(2, 0x1d4bc00) = 0 +43928826468482:43928826469098 26045:26045 hsa_system_get_info(2, 0x1d4bc08) = 0 +43928826469845:43928826470464 26045:26045 hsa_system_get_info(2, 0x1d4bc10) = 0 +43928826471210:43928826471834 26045:26045 hsa_system_get_info(2, 0x1d4bc18) = 0 +43928826472578:43928826473198 26045:26045 hsa_system_get_info(2, 0x1d4bc20) = 0 +43928826473965:43928826474582 26045:26045 hsa_system_get_info(2, 0x1d4bc28) = 0 +43928826475328:43928826475951 26045:26045 hsa_system_get_info(2, 0x1d4bc30) = 0 +43928826477453:43928826478079 26045:26045 hsa_system_get_info(2, 0x1d4bc38) = 0 +43928826478831:43928826479455 26045:26045 hsa_system_get_info(2, 0x1d4bc40) = 0 +43928826480202:43928826480829 26045:26045 hsa_system_get_info(2, 0x1d4bc48) = 0 +43928826481577:43928826482201 26045:26045 hsa_system_get_info(2, 0x1d4bc50) = 0 +43928826482951:43928826483568 26045:26045 hsa_system_get_info(2, 0x1d4bc58) = 0 +43928826484323:43928826484943 26045:26045 hsa_system_get_info(2, 0x1d4bc60) = 0 +43928826485691:43928826486313 26045:26045 hsa_system_get_info(2, 0x1d4bc68) = 0 +43928826487059:43928826487686 26045:26045 hsa_system_get_info(2, 0x1d4bc70) = 0 +43928826488435:43928826489050 26045:26045 hsa_system_get_info(2, 0x1d4bc78) = 0 +43928826489795:43928826490411 26045:26045 hsa_system_get_info(2, 0x1d4bc80) = 0 +43928826491156:43928826491772 26045:26045 hsa_system_get_info(2, 0x1d4bc88) = 0 +43928826492520:43928826493139 26045:26045 hsa_system_get_info(2, 0x1d4bc90) = 0 +43928826493882:43928826494508 26045:26045 hsa_system_get_info(2, 0x1d4bc98) = 0 +43928826495254:43928826495872 26045:26045 hsa_system_get_info(2, 0x1d4bca0) = 0 +43928826496634:43928826497252 26045:26045 hsa_system_get_info(2, 0x1d4bca8) = 0 +43928826497999:43928826498614 26045:26045 hsa_system_get_info(2, 0x1d4bcb0) = 0 +43928826499359:43928826499976 26045:26045 hsa_system_get_info(2, 0x1d4bcb8) = 0 +43928826500722:43928826501335 26045:26045 hsa_system_get_info(2, 0x1d4bcc0) = 0 +43928826502083:43928826502705 26045:26045 hsa_system_get_info(2, 0x1d4bcc8) = 0 +43928826503463:43928826504082 26045:26045 hsa_system_get_info(2, 0x1d4bcd0) = 0 +43928826504825:43928826505446 26045:26045 hsa_system_get_info(2, 0x1d4bcd8) = 0 +43928826506194:43928826506811 26045:26045 hsa_system_get_info(2, 0x1d4bce0) = 0 +43928826507561:43928826508182 26045:26045 hsa_system_get_info(2, 0x1d4bce8) = 0 +43928826508931:43928826509556 26045:26045 hsa_system_get_info(2, 0x1d4bcf0) = 0 +43928826510301:43928826510923 26045:26045 hsa_system_get_info(2, 0x1d4bcf8) = 0 +43928826511690:43928826512308 26045:26045 hsa_system_get_info(2, 0x1d4bd00) = 0 +43928826513057:43928826513678 26045:26045 hsa_system_get_info(2, 0x1d4bd08) = 0 +43928826514425:43928826515041 26045:26045 hsa_system_get_info(2, 0x1d4bd10) = 0 +43928826517370:43928826517995 26045:26045 hsa_system_get_info(2, 0x1d4bd18) = 0 +43928826518747:43928826519371 26045:26045 hsa_system_get_info(2, 0x1d4bd20) = 0 +43928826520118:43928826520738 26045:26045 hsa_system_get_info(2, 0x1d4bd28) = 0 +43928826521487:43928826522107 26045:26045 hsa_system_get_info(2, 0x1d4bd30) = 0 +43928826522854:43928826523476 26045:26045 hsa_system_get_info(2, 0x1d4bd38) = 0 +43928826524226:43928826524845 26045:26045 hsa_system_get_info(2, 0x1d4bd40) = 0 +43928826525590:43928826526210 26045:26045 hsa_system_get_info(2, 0x1d4bd48) = 0 +43928826526955:43928826527573 26045:26045 hsa_system_get_info(2, 0x1d4bd50) = 0 +43928826528319:43928826528942 26045:26045 hsa_system_get_info(2, 0x1d4bd58) = 0 +43928826529701:43928826530318 26045:26045 hsa_system_get_info(2, 0x1d4bd60) = 0 +43928826531061:43928826531684 26045:26045 hsa_system_get_info(2, 0x1d4bd68) = 0 +43928826532432:43928826533052 26045:26045 hsa_system_get_info(2, 0x1d4bd70) = 0 +43928826533797:43928826534417 26045:26045 hsa_system_get_info(2, 0x1d4bd78) = 0 +43928826535163:43928826535783 26045:26045 hsa_system_get_info(2, 0x1d4bd80) = 0 +43928826536527:43928826537151 26045:26045 hsa_system_get_info(2, 0x1d4bd88) = 0 +43928826537896:43928826538513 26045:26045 hsa_system_get_info(2, 0x1d4bd90) = 0 +43928826539256:43928826539876 26045:26045 hsa_system_get_info(2, 0x1d4bd98) = 0 +43928826540620:43928826541245 26045:26045 hsa_system_get_info(2, 0x1d4bda0) = 0 +43928826541990:43928826542614 26045:26045 hsa_system_get_info(2, 0x1d4bda8) = 0 +43928826543365:43928826543981 26045:26045 hsa_system_get_info(2, 0x1d4bdb0) = 0 +43928826544728:43928826545348 26045:26045 hsa_system_get_info(2, 0x1d4bdb8) = 0 +43928826546094:43928826546717 26045:26045 hsa_system_get_info(2, 0x1d4bdc0) = 0 +43928826547459:43928826548080 26045:26045 hsa_system_get_info(2, 0x1d4bdc8) = 0 +43928826548839:43928826549453 26045:26045 hsa_system_get_info(2, 0x1d4bdd0) = 0 +43928826550199:43928826550814 26045:26045 hsa_system_get_info(2, 0x1d4bdd8) = 0 +43928826551563:43928826552177 26045:26045 hsa_system_get_info(2, 0x1d4bde0) = 0 +43928826552923:43928826553541 26045:26045 hsa_system_get_info(2, 0x1d4bde8) = 0 +43928826554291:43928826554911 26045:26045 hsa_system_get_info(2, 0x1d4bdf0) = 0 +43928826556400:43928826557028 26045:26045 hsa_system_get_info(2, 0x1d4bdf8) = 0 +43928826557778:43928826558419 26045:26045 hsa_system_get_info(2, 0x1d4be00) = 0 +43928826559169:43928826559797 26045:26045 hsa_system_get_info(2, 0x1d4be08) = 0 +43928826560547:43928826561172 26045:26045 hsa_system_get_info(2, 0x1d4be10) = 0 +43928826561926:43928826562548 26045:26045 hsa_system_get_info(2, 0x1d4be18) = 0 +43928826563297:43928826563921 26045:26045 hsa_system_get_info(2, 0x1d4be20) = 0 +43928826564670:43928826565291 26045:26045 hsa_system_get_info(2, 0x1d4be28) = 0 +43928826566040:43928826566668 26045:26045 hsa_system_get_info(2, 0x1d4be30) = 0 +43928826567412:43928826568033 26045:26045 hsa_system_get_info(2, 0x1d4be38) = 0 +43928826568781:43928826569402 26045:26045 hsa_system_get_info(2, 0x1d4be40) = 0 +43928826570150:43928826570771 26045:26045 hsa_system_get_info(2, 0x1d4be48) = 0 +43928826571521:43928826572145 26045:26045 hsa_system_get_info(2, 0x1d4be50) = 0 +43928826572894:43928826573515 26045:26045 hsa_system_get_info(2, 0x1d4be58) = 0 +43928826574265:43928826574884 26045:26045 hsa_system_get_info(2, 0x1d4be60) = 0 +43928826575633:43928826576257 26045:26045 hsa_system_get_info(2, 0x1d4be68) = 0 +43928826577001:43928826577638 26045:26045 hsa_system_get_info(2, 0x1d4be70) = 0 +43928826578386:43928826579007 26045:26045 hsa_system_get_info(2, 0x1d4be78) = 0 +43928826579758:43928826580379 26045:26045 hsa_system_get_info(2, 0x1d4be80) = 0 +43928826581124:43928826581741 26045:26045 hsa_system_get_info(2, 0x1d4be88) = 0 +43928826582487:43928826583110 26045:26045 hsa_system_get_info(2, 0x1d4be90) = 0 +43928826583855:43928826584478 26045:26045 hsa_system_get_info(2, 0x1d4be98) = 0 +43928826585220:43928826585836 26045:26045 hsa_system_get_info(2, 0x1d4bea0) = 0 +43928826586586:43928826587205 26045:26045 hsa_system_get_info(2, 0x1d4bea8) = 0 +43928826587953:43928826588572 26045:26045 hsa_system_get_info(2, 0x1d4beb0) = 0 +43928826589322:43928826589943 26045:26045 hsa_system_get_info(2, 0x1d4beb8) = 0 +43928826590693:43928826591309 26045:26045 hsa_system_get_info(2, 0x1d4bec0) = 0 +43928826592059:43928826592680 26045:26045 hsa_system_get_info(2, 0x1d4bec8) = 0 +43928826593445:43928826594066 26045:26045 hsa_system_get_info(2, 0x1d4bed0) = 0 +43928826594810:43928826595430 26045:26045 hsa_system_get_info(2, 0x1d4bed8) = 0 +43928826596920:43928826597542 26045:26045 hsa_system_get_info(2, 0x1d4bee0) = 0 +43928826598293:43928826598912 26045:26045 hsa_system_get_info(2, 0x1d4bee8) = 0 +43928826599659:43928826600278 26045:26045 hsa_system_get_info(2, 0x1d4bef0) = 0 +43928826601024:43928826601642 26045:26045 hsa_system_get_info(2, 0x1d4bef8) = 0 +43928826602383:43928826603002 26045:26045 hsa_system_get_info(2, 0x1d4bf00) = 0 +43928826603751:43928826604372 26045:26045 hsa_system_get_info(2, 0x1d4bf08) = 0 +43928826605117:43928826605745 26045:26045 hsa_system_get_info(2, 0x1d4bf10) = 0 +43928826606486:43928826607107 26045:26045 hsa_system_get_info(2, 0x1d4bf18) = 0 +43928826607854:43928826608474 26045:26045 hsa_system_get_info(2, 0x1d4bf20) = 0 +43928826609223:43928826609843 26045:26045 hsa_system_get_info(2, 0x1d4bf28) = 0 +43928826610589:43928826611208 26045:26045 hsa_system_get_info(2, 0x1d4bf30) = 0 +43928826611951:43928826612569 26045:26045 hsa_system_get_info(2, 0x1d4bf38) = 0 +43928826613316:43928826613936 26045:26045 hsa_system_get_info(2, 0x1d4bf40) = 0 +43928826614682:43928826615303 26045:26045 hsa_system_get_info(2, 0x1d4bf48) = 0 +43928826616089:43928826616708 26045:26045 hsa_system_get_info(2, 0x1d4bf50) = 0 +43928826617454:43928826618075 26045:26045 hsa_system_get_info(2, 0x1d4bf58) = 0 +43928826618822:43928826619443 26045:26045 hsa_system_get_info(2, 0x1d4bf60) = 0 +43928826620191:43928826620809 26045:26045 hsa_system_get_info(2, 0x1d4bf68) = 0 +43928826621556:43928826622177 26045:26045 hsa_system_get_info(2, 0x1d4bf70) = 0 +43928826622923:43928826623543 26045:26045 hsa_system_get_info(2, 0x1d4bf78) = 0 +43928826624288:43928826624906 26045:26045 hsa_system_get_info(2, 0x1d4bf80) = 0 +43928826625649:43928826626273 26045:26045 hsa_system_get_info(2, 0x1d4bf88) = 0 +43928826627018:43928826627638 26045:26045 hsa_system_get_info(2, 0x1d4bf90) = 0 +43928826628383:43928826629000 26045:26045 hsa_system_get_info(2, 0x1d4bf98) = 0 +43928826629748:43928826630369 26045:26045 hsa_system_get_info(2, 0x1d4bfa0) = 0 +43928826631117:43928826631732 26045:26045 hsa_system_get_info(2, 0x1d4bfa8) = 0 +43928826632479:43928826633099 26045:26045 hsa_system_get_info(2, 0x1d4bfb0) = 0 +43928826633852:43928826634472 26045:26045 hsa_system_get_info(2, 0x1d4bfb8) = 0 +43928826635965:43928826636590 26045:26045 hsa_system_get_info(2, 0x1d4bfc0) = 0 +43928826637334:43928826637956 26045:26045 hsa_system_get_info(2, 0x1d4bfc8) = 0 +43928826638704:43928826639321 26045:26045 hsa_system_get_info(2, 0x1d4bfd0) = 0 +43928826640067:43928826640687 26045:26045 hsa_system_get_info(2, 0x1d4bfd8) = 0 +43928826641436:43928826642057 26045:26045 hsa_system_get_info(2, 0x1d4bfe0) = 0 +43928826642803:43928826643425 26045:26045 hsa_system_get_info(2, 0x1d4bfe8) = 0 +43928826644170:43928826644790 26045:26045 hsa_system_get_info(2, 0x1d4bff0) = 0 +43928826645536:43928826646158 26045:26045 hsa_system_get_info(2, 0x1d4bff8) = 0 +43928826646901:43928826647526 26045:26045 hsa_system_get_info(2, 0x1d4c000) = 0 +43928826648272:43928826648897 26045:26045 hsa_system_get_info(2, 0x1d4c008) = 0 +43928826649646:43928826650269 26045:26045 hsa_system_get_info(2, 0x1d4c010) = 0 +43928826651018:43928826651643 26045:26045 hsa_system_get_info(2, 0x1d4c018) = 0 +43928826652390:43928826653011 26045:26045 hsa_system_get_info(2, 0x1d4c020) = 0 +43928826653761:43928826654381 26045:26045 hsa_system_get_info(2, 0x1d4c028) = 0 +43928826655141:43928826655763 26045:26045 hsa_system_get_info(2, 0x1d4c030) = 0 +43928826656514:43928826657134 26045:26045 hsa_system_get_info(2, 0x1d4c038) = 0 +43928826657885:43928826658504 26045:26045 hsa_system_get_info(2, 0x1d4c040) = 0 +43928826659252:43928826659874 26045:26045 hsa_system_get_info(2, 0x1d4c048) = 0 +43928826660623:43928826661244 26045:26045 hsa_system_get_info(2, 0x1d4c050) = 0 +43928826661990:43928826662606 26045:26045 hsa_system_get_info(2, 0x1d4c058) = 0 +43928826663351:43928826663969 26045:26045 hsa_system_get_info(2, 0x1d4c060) = 0 +43928826664718:43928826665336 26045:26045 hsa_system_get_info(2, 0x1d4c068) = 0 +43928826666085:43928826666702 26045:26045 hsa_system_get_info(2, 0x1d4c070) = 0 +43928826667449:43928826668070 26045:26045 hsa_system_get_info(2, 0x1d4c078) = 0 +43928826668817:43928826669434 26045:26045 hsa_system_get_info(2, 0x1d4c080) = 0 +43928826670183:43928826670801 26045:26045 hsa_system_get_info(2, 0x1d4c088) = 0 +43928826671564:43928826672183 26045:26045 hsa_system_get_info(2, 0x1d4c090) = 0 +43928826672936:43928826673556 26045:26045 hsa_system_get_info(2, 0x1d4c098) = 0 +43928826674307:43928826674928 26045:26045 hsa_system_get_info(2, 0x1d4c0a0) = 0 +43928826676429:43928826677052 26045:26045 hsa_system_get_info(2, 0x1d4c0a8) = 0 +43928826677794:43928826678407 26045:26045 hsa_system_get_info(2, 0x1d4c0b0) = 0 +43928826679154:43928826679775 26045:26045 hsa_system_get_info(2, 0x1d4c0b8) = 0 +43928826680519:43928826681137 26045:26045 hsa_system_get_info(2, 0x1d4c0c0) = 0 +43928826681882:43928826682506 26045:26045 hsa_system_get_info(2, 0x1d4c0c8) = 0 +43928826683251:43928826683869 26045:26045 hsa_system_get_info(2, 0x1d4c0d0) = 0 +43928826684616:43928826685234 26045:26045 hsa_system_get_info(2, 0x1d4c0d8) = 0 +43928826685987:43928826686614 26045:26045 hsa_system_get_info(2, 0x1d4c0e0) = 0 +43928826687357:43928826687973 26045:26045 hsa_system_get_info(2, 0x1d4c0e8) = 0 +43928826688718:43928826689335 26045:26045 hsa_system_get_info(2, 0x1d4c0f0) = 0 +43928826690082:43928826690697 26045:26045 hsa_system_get_info(2, 0x1d4c0f8) = 0 +43928826691445:43928826692063 26045:26045 hsa_system_get_info(2, 0x1d4c100) = 0 +43928826692811:43928826693427 26045:26045 hsa_system_get_info(2, 0x1d4c108) = 0 +43928826694168:43928826694802 26045:26045 hsa_system_get_info(2, 0x1d4c110) = 0 +43928826695550:43928826696169 26045:26045 hsa_system_get_info(2, 0x1d4c118) = 0 +43928826696916:43928826697539 26045:26045 hsa_system_get_info(2, 0x1d4c120) = 0 +43928826698286:43928826698906 26045:26045 hsa_system_get_info(2, 0x1d4c128) = 0 +43928826699650:43928826700268 26045:26045 hsa_system_get_info(2, 0x1d4c130) = 0 +43928826701017:43928826701640 26045:26045 hsa_system_get_info(2, 0x1d4c138) = 0 +43928826702389:43928826703014 26045:26045 hsa_system_get_info(2, 0x1d4c140) = 0 +43928826703768:43928826704390 26045:26045 hsa_system_get_info(2, 0x1d4c148) = 0 +43928826705135:43928826705761 26045:26045 hsa_system_get_info(2, 0x1d4c150) = 0 +43928826706505:43928826707126 26045:26045 hsa_system_get_info(2, 0x1d4c158) = 0 +43928826707874:43928826708494 26045:26045 hsa_system_get_info(2, 0x1d4c160) = 0 +43928826709236:43928826709854 26045:26045 hsa_system_get_info(2, 0x1d4c168) = 0 +43928826710602:43928826711222 26045:26045 hsa_system_get_info(2, 0x1d4c170) = 0 +43928826711968:43928826712584 26045:26045 hsa_system_get_info(2, 0x1d4c178) = 0 +43928826713348:43928826713968 26045:26045 hsa_system_get_info(2, 0x1d4c180) = 0 +43928826715511:43928826716138 26045:26045 hsa_system_get_info(2, 0x1d4c188) = 0 +43928826716887:43928826717506 26045:26045 hsa_system_get_info(2, 0x1d4c190) = 0 +43928826718255:43928826718868 26045:26045 hsa_system_get_info(2, 0x1d4c198) = 0 +43928826719613:43928826720236 26045:26045 hsa_system_get_info(2, 0x1d4c1a0) = 0 +43928826720983:43928826721603 26045:26045 hsa_system_get_info(2, 0x1d4c1a8) = 0 +43928826722349:43928826722965 26045:26045 hsa_system_get_info(2, 0x1d4c1b0) = 0 +43928826723715:43928826724335 26045:26045 hsa_system_get_info(2, 0x1d4c1b8) = 0 +43928826725084:43928826725704 26045:26045 hsa_system_get_info(2, 0x1d4c1c0) = 0 +43928826726451:43928826727070 26045:26045 hsa_system_get_info(2, 0x1d4c1c8) = 0 +43928826727814:43928826728438 26045:26045 hsa_system_get_info(2, 0x1d4c1d0) = 0 +43928826729186:43928826729806 26045:26045 hsa_system_get_info(2, 0x1d4c1d8) = 0 +43928826730556:43928826731175 26045:26045 hsa_system_get_info(2, 0x1d4c1e0) = 0 +43928826731924:43928826732541 26045:26045 hsa_system_get_info(2, 0x1d4c1e8) = 0 +43928826733290:43928826733908 26045:26045 hsa_system_get_info(2, 0x1d4c1f0) = 0 +43928826734669:43928826735288 26045:26045 hsa_system_get_info(2, 0x1d4c1f8) = 0 +43928826736031:43928826736650 26045:26045 hsa_system_get_info(2, 0x1d4c200) = 0 +43928826737397:43928826738013 26045:26045 hsa_system_get_info(2, 0x1d4c208) = 0 +43928826738761:43928826739383 26045:26045 hsa_system_get_info(2, 0x1d4c210) = 0 +43928826740131:43928826740751 26045:26045 hsa_system_get_info(2, 0x1d4c218) = 0 +43928826741493:43928826742111 26045:26045 hsa_system_get_info(2, 0x1d4c220) = 0 +43928826742857:43928826743475 26045:26045 hsa_system_get_info(2, 0x1d4c228) = 0 +43928826744221:43928826744838 26045:26045 hsa_system_get_info(2, 0x1d4c230) = 0 +43928826745585:43928826746206 26045:26045 hsa_system_get_info(2, 0x1d4c238) = 0 +43928826746953:43928826747572 26045:26045 hsa_system_get_info(2, 0x1d4c240) = 0 +43928826748318:43928826748938 26045:26045 hsa_system_get_info(2, 0x1d4c248) = 0 +43928826749688:43928826750307 26045:26045 hsa_system_get_info(2, 0x1d4c250) = 0 +43928826751054:43928826751668 26045:26045 hsa_system_get_info(2, 0x1d4c258) = 0 +43928826752431:43928826753051 26045:26045 hsa_system_get_info(2, 0x1d4c260) = 0 +43928826753810:43928826754433 26045:26045 hsa_system_get_info(2, 0x1d4c268) = 0 +43928826755983:43928826756612 26045:26045 hsa_system_get_info(2, 0x1d4c270) = 0 +43928826757360:43928826757982 26045:26045 hsa_system_get_info(2, 0x1d4c278) = 0 +43928826758729:43928826759351 26045:26045 hsa_system_get_info(2, 0x1d4c280) = 0 +43928826760097:43928826760720 26045:26045 hsa_system_get_info(2, 0x1d4c288) = 0 +43928826761467:43928826762085 26045:26045 hsa_system_get_info(2, 0x1d4c290) = 0 +43928826762831:43928826763446 26045:26045 hsa_system_get_info(2, 0x1d4c298) = 0 +43928826764189:43928826764815 26045:26045 hsa_system_get_info(2, 0x1d4c2a0) = 0 +43928826765558:43928826766177 26045:26045 hsa_system_get_info(2, 0x1d4c2a8) = 0 +43928826766925:43928826767540 26045:26045 hsa_system_get_info(2, 0x1d4c2b0) = 0 +43928826768286:43928826768904 26045:26045 hsa_system_get_info(2, 0x1d4c2b8) = 0 +43928826769650:43928826770272 26045:26045 hsa_system_get_info(2, 0x1d4c2c0) = 0 +43928826771021:43928826771641 26045:26045 hsa_system_get_info(2, 0x1d4c2c8) = 0 +43928826772388:43928826773007 26045:26045 hsa_system_get_info(2, 0x1d4c2d0) = 0 +43928826773761:43928826774382 26045:26045 hsa_system_get_info(2, 0x1d4c2d8) = 0 +43928826775129:43928826775749 26045:26045 hsa_system_get_info(2, 0x1d4c2e0) = 0 +43928826776495:43928826777116 26045:26045 hsa_system_get_info(2, 0x1d4c2e8) = 0 +43928826777860:43928826778480 26045:26045 hsa_system_get_info(2, 0x1d4c2f0) = 0 +43928826779225:43928826779844 26045:26045 hsa_system_get_info(2, 0x1d4c2f8) = 0 +43928826780593:43928826781216 26045:26045 hsa_system_get_info(2, 0x1d4c300) = 0 +43928826781963:43928826782578 26045:26045 hsa_system_get_info(2, 0x1d4c308) = 0 +43928826783323:43928826783944 26045:26045 hsa_system_get_info(2, 0x1d4c310) = 0 +43928826784687:43928826785304 26045:26045 hsa_system_get_info(2, 0x1d4c318) = 0 +43928826786051:43928826786674 26045:26045 hsa_system_get_info(2, 0x1d4c320) = 0 +43928826787422:43928826788041 26045:26045 hsa_system_get_info(2, 0x1d4c328) = 0 +43928826788787:43928826789408 26045:26045 hsa_system_get_info(2, 0x1d4c330) = 0 +43928826790154:43928826790777 26045:26045 hsa_system_get_info(2, 0x1d4c338) = 0 +43928826791535:43928826792159 26045:26045 hsa_system_get_info(2, 0x1d4c340) = 0 +43928826792904:43928826793524 26045:26045 hsa_system_get_info(2, 0x1d4c348) = 0 +43928826795013:43928826795634 26045:26045 hsa_system_get_info(2, 0x1d4c350) = 0 +43928826796383:43928826797002 26045:26045 hsa_system_get_info(2, 0x1d4c358) = 0 +43928826797747:43928826798364 26045:26045 hsa_system_get_info(2, 0x1d4c360) = 0 +43928826799112:43928826799732 26045:26045 hsa_system_get_info(2, 0x1d4c368) = 0 +43928826800476:43928826801094 26045:26045 hsa_system_get_info(2, 0x1d4c370) = 0 +43928826801844:43928826802469 26045:26045 hsa_system_get_info(2, 0x1d4c378) = 0 +43928826803216:43928826803835 26045:26045 hsa_system_get_info(2, 0x1d4c380) = 0 +43928826804582:43928826805206 26045:26045 hsa_system_get_info(2, 0x1d4c388) = 0 +43928826805950:43928826806573 26045:26045 hsa_system_get_info(2, 0x1d4c390) = 0 +43928826807319:43928826807939 26045:26045 hsa_system_get_info(2, 0x1d4c398) = 0 +43928826808683:43928826809307 26045:26045 hsa_system_get_info(2, 0x1d4c3a0) = 0 +43928826810055:43928826810676 26045:26045 hsa_system_get_info(2, 0x1d4c3a8) = 0 +43928826811423:43928826812045 26045:26045 hsa_system_get_info(2, 0x1d4c3b0) = 0 +43928826812794:43928826813413 26045:26045 hsa_system_get_info(2, 0x1d4c3b8) = 0 +43928826814172:43928826814798 26045:26045 hsa_system_get_info(2, 0x1d4c3c0) = 0 +43928826815543:43928826816165 26045:26045 hsa_system_get_info(2, 0x1d4c3c8) = 0 +43928826816913:43928826817529 26045:26045 hsa_system_get_info(2, 0x1d4c3d0) = 0 +43928826818276:43928826818890 26045:26045 hsa_system_get_info(2, 0x1d4c3d8) = 0 +43928826819637:43928826820256 26045:26045 hsa_system_get_info(2, 0x1d4c3e0) = 0 +43928826820998:43928826821619 26045:26045 hsa_system_get_info(2, 0x1d4c3e8) = 0 +43928826822366:43928826822987 26045:26045 hsa_system_get_info(2, 0x1d4c3f0) = 0 +43928826823730:43928826824351 26045:26045 hsa_system_get_info(2, 0x1d4c3f8) = 0 +43928826825101:43928826825722 26045:26045 hsa_system_get_info(2, 0x1d4c400) = 0 +43928826826464:43928826827083 26045:26045 hsa_system_get_info(2, 0x1d4c408) = 0 +43928826827831:43928826828451 26045:26045 hsa_system_get_info(2, 0x1d4c410) = 0 +43928826829196:43928826829819 26045:26045 hsa_system_get_info(2, 0x1d4c418) = 0 +43928826830583:43928826831201 26045:26045 hsa_system_get_info(2, 0x1d4c420) = 0 +43928826831947:43928826832567 26045:26045 hsa_system_get_info(2, 0x1d4c428) = 0 +43928826833318:43928826833942 26045:26045 hsa_system_get_info(2, 0x1d4c430) = 0 +43928826836038:43928826836668 26045:26045 hsa_system_get_info(2, 0x1d4c438) = 0 +43928826837420:43928826838045 26045:26045 hsa_system_get_info(2, 0x1d4c440) = 0 +43928826838791:43928826839409 26045:26045 hsa_system_get_info(2, 0x1d4c448) = 0 +43928826840155:43928826840770 26045:26045 hsa_system_get_info(2, 0x1d4c450) = 0 +43928826841516:43928826842134 26045:26045 hsa_system_get_info(2, 0x1d4c458) = 0 +43928826842887:43928826843501 26045:26045 hsa_system_get_info(2, 0x1d4c460) = 0 +43928826844245:43928826844862 26045:26045 hsa_system_get_info(2, 0x1d4c468) = 0 +43928826845608:43928826846225 26045:26045 hsa_system_get_info(2, 0x1d4c470) = 0 +43928826846971:43928826847586 26045:26045 hsa_system_get_info(2, 0x1d4c478) = 0 +43928826848333:43928826848951 26045:26045 hsa_system_get_info(2, 0x1d4c480) = 0 +43928826849695:43928826850316 26045:26045 hsa_system_get_info(2, 0x1d4c488) = 0 +43928826851059:43928826851684 26045:26045 hsa_system_get_info(2, 0x1d4c490) = 0 +43928826852429:43928826853048 26045:26045 hsa_system_get_info(2, 0x1d4c498) = 0 +43928826853796:43928826854420 26045:26045 hsa_system_get_info(2, 0x1d4c4a0) = 0 +43928826855185:43928826855807 26045:26045 hsa_system_get_info(2, 0x1d4c4a8) = 0 +43928826856552:43928826857176 26045:26045 hsa_system_get_info(2, 0x1d4c4b0) = 0 +43928826857923:43928826858542 26045:26045 hsa_system_get_info(2, 0x1d4c4b8) = 0 +43928826859289:43928826859910 26045:26045 hsa_system_get_info(2, 0x1d4c4c0) = 0 +43928826860654:43928826861282 26045:26045 hsa_system_get_info(2, 0x1d4c4c8) = 0 +43928826862030:43928826862652 26045:26045 hsa_system_get_info(2, 0x1d4c4d0) = 0 +43928826863454:43928826864076 26045:26045 hsa_system_get_info(2, 0x1d4c4d8) = 0 +43928826864824:43928826865444 26045:26045 hsa_system_get_info(2, 0x1d4c4e0) = 0 +43928826866188:43928826866815 26045:26045 hsa_system_get_info(2, 0x1d4c4e8) = 0 +43928826867565:43928826868186 26045:26045 hsa_system_get_info(2, 0x1d4c4f0) = 0 +43928826868933:43928826869553 26045:26045 hsa_system_get_info(2, 0x1d4c4f8) = 0 +43928826870297:43928826870915 26045:26045 hsa_system_get_info(2, 0x1d4c500) = 0 +43928826871720:43928826872341 26045:26045 hsa_system_get_info(2, 0x1d4c508) = 0 +43928826873091:43928826873709 26045:26045 hsa_system_get_info(2, 0x1d4c510) = 0 +43928826875206:43928826875827 26045:26045 hsa_system_get_info(2, 0x1d4c518) = 0 +43928826876570:43928826877193 26045:26045 hsa_system_get_info(2, 0x1d4c520) = 0 +43928826877939:43928826878562 26045:26045 hsa_system_get_info(2, 0x1d4c528) = 0 +43928826879311:43928826879930 26045:26045 hsa_system_get_info(2, 0x1d4c530) = 0 +43928826880732:43928826881351 26045:26045 hsa_system_get_info(2, 0x1d4c538) = 0 +43928826882100:43928826882717 26045:26045 hsa_system_get_info(2, 0x1d4c540) = 0 +43928826883465:43928826884086 26045:26045 hsa_system_get_info(2, 0x1d4c548) = 0 +43928826884835:43928826885455 26045:26045 hsa_system_get_info(2, 0x1d4c550) = 0 +43928826886202:43928826886824 26045:26045 hsa_system_get_info(2, 0x1d4c558) = 0 +43928826887569:43928826888189 26045:26045 hsa_system_get_info(2, 0x1d4c560) = 0 +43928826888936:43928826889557 26045:26045 hsa_system_get_info(2, 0x1d4c568) = 0 +43928826890299:43928826890922 26045:26045 hsa_system_get_info(2, 0x1d4c570) = 0 +43928826891667:43928826892287 26045:26045 hsa_system_get_info(2, 0x1d4c578) = 0 +43928826893032:43928826893653 26045:26045 hsa_system_get_info(2, 0x1d4c580) = 0 +43928826894401:43928826895019 26045:26045 hsa_system_get_info(2, 0x1d4c588) = 0 +43928826895763:43928826896385 26045:26045 hsa_system_get_info(2, 0x1d4c590) = 0 +43928826897134:43928826897752 26045:26045 hsa_system_get_info(2, 0x1d4c598) = 0 +43928826898496:43928826899127 26045:26045 hsa_system_get_info(2, 0x1d4c5a0) = 0 +43928826899874:43928826900493 26045:26045 hsa_system_get_info(2, 0x1d4c5a8) = 0 +43928826901238:43928826901856 26045:26045 hsa_system_get_info(2, 0x1d4c5b0) = 0 +43928826902602:43928826903221 26045:26045 hsa_system_get_info(2, 0x1d4c5b8) = 0 +43928826903969:43928826904582 26045:26045 hsa_system_get_info(2, 0x1d4c5c0) = 0 +43928826905328:43928826905947 26045:26045 hsa_system_get_info(2, 0x1d4c5c8) = 0 +43928826906695:43928826907310 26045:26045 hsa_system_get_info(2, 0x1d4c5d0) = 0 +43928826908059:43928826908680 26045:26045 hsa_system_get_info(2, 0x1d4c5d8) = 0 +43928826909425:43928826910045 26045:26045 hsa_system_get_info(2, 0x1d4c5e0) = 0 +43928826910792:43928826911410 26045:26045 hsa_system_get_info(2, 0x1d4c5e8) = 0 +43928826912159:43928826912779 26045:26045 hsa_system_get_info(2, 0x1d4c5f0) = 0 +43928826914264:43928826914888 26045:26045 hsa_system_get_info(2, 0x1d4c5f8) = 0 +43928826915634:43928826916249 26045:26045 hsa_system_get_info(2, 0x1d4c600) = 0 +43928826916993:43928826917612 26045:26045 hsa_system_get_info(2, 0x1d4c608) = 0 +43928826918355:43928826918975 26045:26045 hsa_system_get_info(2, 0x1d4c610) = 0 +43928826919723:43928826920342 26045:26045 hsa_system_get_info(2, 0x1d4c618) = 0 +43928826921088:43928826921705 26045:26045 hsa_system_get_info(2, 0x1d4c620) = 0 +43928826922450:43928826923074 26045:26045 hsa_system_get_info(2, 0x1d4c628) = 0 +43928826923823:43928826924440 26045:26045 hsa_system_get_info(2, 0x1d4c630) = 0 +43928826925190:43928826925808 26045:26045 hsa_system_get_info(2, 0x1d4c638) = 0 +43928826926556:43928826927177 26045:26045 hsa_system_get_info(2, 0x1d4c640) = 0 +43928826927921:43928826928541 26045:26045 hsa_system_get_info(2, 0x1d4c648) = 0 +43928826929288:43928826929909 26045:26045 hsa_system_get_info(2, 0x1d4c650) = 0 +43928826930658:43928826931275 26045:26045 hsa_system_get_info(2, 0x1d4c658) = 0 +43928826932021:43928826932663 26045:26045 hsa_system_get_info(2, 0x1d4c660) = 0 +43928826933409:43928826934027 26045:26045 hsa_system_get_info(2, 0x1d4c668) = 0 +43928826934771:43928826935395 26045:26045 hsa_system_get_info(2, 0x1d4c670) = 0 +43928826936144:43928826936757 26045:26045 hsa_system_get_info(2, 0x1d4c678) = 0 +43928826937505:43928826938123 26045:26045 hsa_system_get_info(2, 0x1d4c680) = 0 +43928826938872:43928826939487 26045:26045 hsa_system_get_info(2, 0x1d4c688) = 0 +43928826940229:43928826940850 26045:26045 hsa_system_get_info(2, 0x1d4c690) = 0 +43928826941599:43928826942218 26045:26045 hsa_system_get_info(2, 0x1d4c698) = 0 +43928826942968:43928826943585 26045:26045 hsa_system_get_info(2, 0x1d4c6a0) = 0 +43928826944335:43928826944956 26045:26045 hsa_system_get_info(2, 0x1d4c6a8) = 0 +43928826945699:43928826946317 26045:26045 hsa_system_get_info(2, 0x1d4c6b0) = 0 +43928826947064:43928826947684 26045:26045 hsa_system_get_info(2, 0x1d4c6b8) = 0 +43928826948432:43928826949048 26045:26045 hsa_system_get_info(2, 0x1d4c6c0) = 0 +43928826949792:43928826950411 26045:26045 hsa_system_get_info(2, 0x1d4c6c8) = 0 +43928826951186:43928826951826 26045:26045 hsa_system_get_info(2, 0x1d4c6d0) = 0 +43928826952575:43928826953198 26045:26045 hsa_system_get_info(2, 0x1d4c6d8) = 0 +43928826954706:43928826955335 26045:26045 hsa_system_get_info(2, 0x1d4c6e0) = 0 +43928826956078:43928826956695 26045:26045 hsa_system_get_info(2, 0x1d4c6e8) = 0 +43928826957440:43928826958057 26045:26045 hsa_system_get_info(2, 0x1d4c6f0) = 0 +43928826958805:43928826959425 26045:26045 hsa_system_get_info(2, 0x1d4c6f8) = 0 +43928826960171:43928826960796 26045:26045 hsa_system_get_info(2, 0x1d4c700) = 0 +43928826961542:43928826962169 26045:26045 hsa_system_get_info(2, 0x1d4c708) = 0 +43928826962920:43928826963542 26045:26045 hsa_system_get_info(2, 0x1d4c710) = 0 +43928826964289:43928826964909 26045:26045 hsa_system_get_info(2, 0x1d4c718) = 0 +43928826965657:43928826966278 26045:26045 hsa_system_get_info(2, 0x1d4c720) = 0 +43928826967020:43928826967643 26045:26045 hsa_system_get_info(2, 0x1d4c728) = 0 +43928826968390:43928826969004 26045:26045 hsa_system_get_info(2, 0x1d4c730) = 0 +43928826969752:43928826970377 26045:26045 hsa_system_get_info(2, 0x1d4c738) = 0 +43928826971125:43928826971738 26045:26045 hsa_system_get_info(2, 0x1d4c740) = 0 +43928826972486:43928826973105 26045:26045 hsa_system_get_info(2, 0x1d4c748) = 0 +43928826973875:43928826974498 26045:26045 hsa_system_get_info(2, 0x1d4c750) = 0 +43928826975245:43928826975859 26045:26045 hsa_system_get_info(2, 0x1d4c758) = 0 +43928826976601:43928826977225 26045:26045 hsa_system_get_info(2, 0x1d4c760) = 0 +43928826977971:43928826978590 26045:26045 hsa_system_get_info(2, 0x1d4c768) = 0 +43928826979335:43928826979952 26045:26045 hsa_system_get_info(2, 0x1d4c770) = 0 +43928826980693:43928826981314 26045:26045 hsa_system_get_info(2, 0x1d4c778) = 0 +43928826982061:43928826982682 26045:26045 hsa_system_get_info(2, 0x1d4c780) = 0 +43928826983432:43928826984055 26045:26045 hsa_system_get_info(2, 0x1d4c788) = 0 +43928826984801:43928826985416 26045:26045 hsa_system_get_info(2, 0x1d4c790) = 0 +43928826986167:43928826986790 26045:26045 hsa_system_get_info(2, 0x1d4c798) = 0 +43928826987536:43928826988158 26045:26045 hsa_system_get_info(2, 0x1d4c7a0) = 0 +43928826988907:43928826989525 26045:26045 hsa_system_get_info(2, 0x1d4c7a8) = 0 +43928826990306:43928826990923 26045:26045 hsa_system_get_info(2, 0x1d4c7b0) = 0 +43928826991674:43928826992289 26045:26045 hsa_system_get_info(2, 0x1d4c7b8) = 0 +43928826993771:43928826994398 26045:26045 hsa_system_get_info(2, 0x1d4c7c0) = 0 +43928826995146:43928826995768 26045:26045 hsa_system_get_info(2, 0x1d4c7c8) = 0 +43928826996515:43928826997130 26045:26045 hsa_system_get_info(2, 0x1d4c7d0) = 0 +43928826997880:43928826998497 26045:26045 hsa_system_get_info(2, 0x1d4c7d8) = 0 +43928826999242:43928826999853 26045:26045 hsa_system_get_info(2, 0x1d4c7e0) = 0 +43928827000600:43928827001220 26045:26045 hsa_system_get_info(2, 0x1d4c7e8) = 0 +43928827001968:43928827002591 26045:26045 hsa_system_get_info(2, 0x1d4c7f0) = 0 +43928827003340:43928827003961 26045:26045 hsa_system_get_info(2, 0x1d4c7f8) = 0 +43928827004707:43928827005327 26045:26045 hsa_system_get_info(2, 0x1d4c800) = 0 +43928827006076:43928827006694 26045:26045 hsa_system_get_info(2, 0x1d4c808) = 0 +43928827007443:43928827008063 26045:26045 hsa_system_get_info(2, 0x1d4c810) = 0 +43928827008807:43928827009426 26045:26045 hsa_system_get_info(2, 0x1d4c818) = 0 +43928827010170:43928827010788 26045:26045 hsa_system_get_info(2, 0x1d4c820) = 0 +43928827011541:43928827012167 26045:26045 hsa_system_get_info(2, 0x1d4c828) = 0 +43928827012934:43928827013567 26045:26045 hsa_system_get_info(2, 0x1d4c830) = 0 +43928827014312:43928827014931 26045:26045 hsa_system_get_info(2, 0x1d4c838) = 0 +43928827015679:43928827016302 26045:26045 hsa_system_get_info(2, 0x1d4c840) = 0 +43928827017049:43928827017674 26045:26045 hsa_system_get_info(2, 0x1d4c848) = 0 +43928827018423:43928827019050 26045:26045 hsa_system_get_info(2, 0x1d4c850) = 0 +43928827019799:43928827020420 26045:26045 hsa_system_get_info(2, 0x1d4c858) = 0 +43928827021170:43928827021791 26045:26045 hsa_system_get_info(2, 0x1d4c860) = 0 +43928827022536:43928827023157 26045:26045 hsa_system_get_info(2, 0x1d4c868) = 0 +43928827023902:43928827024518 26045:26045 hsa_system_get_info(2, 0x1d4c870) = 0 +43928827025265:43928827025889 26045:26045 hsa_system_get_info(2, 0x1d4c878) = 0 +43928827026637:43928827027259 26045:26045 hsa_system_get_info(2, 0x1d4c880) = 0 +43928827028008:43928827028634 26045:26045 hsa_system_get_info(2, 0x1d4c888) = 0 +43928827029381:43928827029997 26045:26045 hsa_system_get_info(2, 0x1d4c890) = 0 +43928827030757:43928827031377 26045:26045 hsa_system_get_info(2, 0x1d4c898) = 0 +43928827032122:43928827032741 26045:26045 hsa_system_get_info(2, 0x1d4c8a0) = 0 +43928827034292:43928827034925 26045:26045 hsa_system_get_info(2, 0x1d4c8a8) = 0 +43928827035678:43928827036304 26045:26045 hsa_system_get_info(2, 0x1d4c8b0) = 0 +43928827037055:43928827037676 26045:26045 hsa_system_get_info(2, 0x1d4c8b8) = 0 +43928827038423:43928827039043 26045:26045 hsa_system_get_info(2, 0x1d4c8c0) = 0 +43928827039787:43928827040414 26045:26045 hsa_system_get_info(2, 0x1d4c8c8) = 0 +43928827041162:43928827041785 26045:26045 hsa_system_get_info(2, 0x1d4c8d0) = 0 +43928827042533:43928827043147 26045:26045 hsa_system_get_info(2, 0x1d4c8d8) = 0 +43928827043899:43928827044517 26045:26045 hsa_system_get_info(2, 0x1d4c8e0) = 0 +43928827045265:43928827045883 26045:26045 hsa_system_get_info(2, 0x1d4c8e8) = 0 +43928827046631:43928827047254 26045:26045 hsa_system_get_info(2, 0x1d4c8f0) = 0 +43928827048001:43928827048621 26045:26045 hsa_system_get_info(2, 0x1d4c8f8) = 0 +43928827049367:43928827049988 26045:26045 hsa_system_get_info(2, 0x1d4c900) = 0 +43928827050740:43928827051360 26045:26045 hsa_system_get_info(2, 0x1d4c908) = 0 +43928827052108:43928827052725 26045:26045 hsa_system_get_info(2, 0x1d4c910) = 0 +43928827053488:43928827054104 26045:26045 hsa_system_get_info(2, 0x1d4c918) = 0 +43928827054849:43928827055466 26045:26045 hsa_system_get_info(2, 0x1d4c920) = 0 +43928827056216:43928827056837 26045:26045 hsa_system_get_info(2, 0x1d4c928) = 0 +43928827057583:43928827058197 26045:26045 hsa_system_get_info(2, 0x1d4c930) = 0 +43928827058942:43928827059561 26045:26045 hsa_system_get_info(2, 0x1d4c938) = 0 +43928827060306:43928827060927 26045:26045 hsa_system_get_info(2, 0x1d4c940) = 0 +43928827061670:43928827062290 26045:26045 hsa_system_get_info(2, 0x1d4c948) = 0 +43928827063037:43928827063658 26045:26045 hsa_system_get_info(2, 0x1d4c950) = 0 +43928827064400:43928827065020 26045:26045 hsa_system_get_info(2, 0x1d4c958) = 0 +43928827065769:43928827066382 26045:26045 hsa_system_get_info(2, 0x1d4c960) = 0 +43928827067131:43928827067751 26045:26045 hsa_system_get_info(2, 0x1d4c968) = 0 +43928827068496:43928827069118 26045:26045 hsa_system_get_info(2, 0x1d4c970) = 0 +43928827069870:43928827070485 26045:26045 hsa_system_get_info(2, 0x1d4c978) = 0 +43928827071240:43928827071854 26045:26045 hsa_system_get_info(2, 0x1d4c980) = 0 +43928827073410:43928827074040 26045:26045 hsa_system_get_info(2, 0x1d4c988) = 0 +43928827074783:43928827075410 26045:26045 hsa_system_get_info(2, 0x1d4c990) = 0 +43928827076157:43928827076775 26045:26045 hsa_system_get_info(2, 0x1d4c998) = 0 +43928827077522:43928827078138 26045:26045 hsa_system_get_info(2, 0x1d4c9a0) = 0 +43928827078886:43928827079504 26045:26045 hsa_system_get_info(2, 0x1d4c9a8) = 0 +43928827080250:43928827080870 26045:26045 hsa_system_get_info(2, 0x1d4c9b0) = 0 +43928827081620:43928827082242 26045:26045 hsa_system_get_info(2, 0x1d4c9b8) = 0 +43928827082991:43928827083615 26045:26045 hsa_system_get_info(2, 0x1d4c9c0) = 0 +43928827084366:43928827084982 26045:26045 hsa_system_get_info(2, 0x1d4c9c8) = 0 +43928827085730:43928827086358 26045:26045 hsa_system_get_info(2, 0x1d4c9d0) = 0 +43928827087104:43928827087728 26045:26045 hsa_system_get_info(2, 0x1d4c9d8) = 0 +43928827088478:43928827089095 26045:26045 hsa_system_get_info(2, 0x1d4c9e0) = 0 +43928827089843:43928827090462 26045:26045 hsa_system_get_info(2, 0x1d4c9e8) = 0 +43928827091204:43928827091821 26045:26045 hsa_system_get_info(2, 0x1d4c9f0) = 0 +43928827092587:43928827093205 26045:26045 hsa_system_get_info(2, 0x1d4c9f8) = 0 +43928827093954:43928827094574 26045:26045 hsa_system_get_info(2, 0x1d4ca00) = 0 +43928827095318:43928827095942 26045:26045 hsa_system_get_info(2, 0x1d4ca08) = 0 +43928827096690:43928827097307 26045:26045 hsa_system_get_info(2, 0x1d4ca10) = 0 +43928827098055:43928827098674 26045:26045 hsa_system_get_info(2, 0x1d4ca18) = 0 +43928827099427:43928827100048 26045:26045 hsa_system_get_info(2, 0x1d4ca20) = 0 +43928827100795:43928827101415 26045:26045 hsa_system_get_info(2, 0x1d4ca28) = 0 +43928827102162:43928827102780 26045:26045 hsa_system_get_info(2, 0x1d4ca30) = 0 +43928827103527:43928827104148 26045:26045 hsa_system_get_info(2, 0x1d4ca38) = 0 +43928827104898:43928827105515 26045:26045 hsa_system_get_info(2, 0x1d4ca40) = 0 +43928827106264:43928827106881 26045:26045 hsa_system_get_info(2, 0x1d4ca48) = 0 +43928827107631:43928827108253 26045:26045 hsa_system_get_info(2, 0x1d4ca50) = 0 +43928827109001:43928827109623 26045:26045 hsa_system_get_info(2, 0x1d4ca58) = 0 +43928827110375:43928827110997 26045:26045 hsa_system_get_info(2, 0x1d4ca60) = 0 +43928827111764:43928827112378 26045:26045 hsa_system_get_info(2, 0x1d4ca68) = 0 +43928827113877:43928827114503 26045:26045 hsa_system_get_info(2, 0x1d4ca70) = 0 +43928827115247:43928827115869 26045:26045 hsa_system_get_info(2, 0x1d4ca78) = 0 +43928827116617:43928827117236 26045:26045 hsa_system_get_info(2, 0x1d4ca80) = 0 +43928827117980:43928827118599 26045:26045 hsa_system_get_info(2, 0x1d4ca88) = 0 +43928827119347:43928827119963 26045:26045 hsa_system_get_info(2, 0x1d4ca90) = 0 +43928827120711:43928827121324 26045:26045 hsa_system_get_info(2, 0x1d4ca98) = 0 +43928827122072:43928827122693 26045:26045 hsa_system_get_info(2, 0x1d4caa0) = 0 +43928827123439:43928827124055 26045:26045 hsa_system_get_info(2, 0x1d4caa8) = 0 +43928827124805:43928827125423 26045:26045 hsa_system_get_info(2, 0x1d4cab0) = 0 +43928827126170:43928827126790 26045:26045 hsa_system_get_info(2, 0x1d4cab8) = 0 +43928827127533:43928827128157 26045:26045 hsa_system_get_info(2, 0x1d4cac0) = 0 +43928827128906:43928827129528 26045:26045 hsa_system_get_info(2, 0x1d4cac8) = 0 +43928827130276:43928827130899 26045:26045 hsa_system_get_info(2, 0x1d4cad0) = 0 +43928827131663:43928827132279 26045:26045 hsa_system_get_info(2, 0x1d4cad8) = 0 +43928827133029:43928827133646 26045:26045 hsa_system_get_info(2, 0x1d4cae0) = 0 +43928827134394:43928827135010 26045:26045 hsa_system_get_info(2, 0x1d4cae8) = 0 +43928827135760:43928827136382 26045:26045 hsa_system_get_info(2, 0x1d4caf0) = 0 +43928827137132:43928827137751 26045:26045 hsa_system_get_info(2, 0x1d4caf8) = 0 +43928827138499:43928827139120 26045:26045 hsa_system_get_info(2, 0x1d4cb00) = 0 +43928827139868:43928827140484 26045:26045 hsa_system_get_info(2, 0x1d4cb08) = 0 +43928827141231:43928827141849 26045:26045 hsa_system_get_info(2, 0x1d4cb10) = 0 +43928827142594:43928827143213 26045:26045 hsa_system_get_info(2, 0x1d4cb18) = 0 +43928827143960:43928827144577 26045:26045 hsa_system_get_info(2, 0x1d4cb20) = 0 +43928827145325:43928827145947 26045:26045 hsa_system_get_info(2, 0x1d4cb28) = 0 +43928827146696:43928827147318 26045:26045 hsa_system_get_info(2, 0x1d4cb30) = 0 +43928827148069:43928827148689 26045:26045 hsa_system_get_info(2, 0x1d4cb38) = 0 +43928827149438:43928827150057 26045:26045 hsa_system_get_info(2, 0x1d4cb40) = 0 +43928827150826:43928827151452 26045:26045 hsa_system_get_info(2, 0x1d4cb48) = 0 +43928827152930:43928827153566 26045:26045 hsa_system_get_info(2, 0x1d4cb50) = 0 +43928827154318:43928827154941 26045:26045 hsa_system_get_info(2, 0x1d4cb58) = 0 +43928827155688:43928827156309 26045:26045 hsa_system_get_info(2, 0x1d4cb60) = 0 +43928827157058:43928827157679 26045:26045 hsa_system_get_info(2, 0x1d4cb68) = 0 +43928827158424:43928827159051 26045:26045 hsa_system_get_info(2, 0x1d4cb70) = 0 +43928827159799:43928827160423 26045:26045 hsa_system_get_info(2, 0x1d4cb78) = 0 +43928827161171:43928827161794 26045:26045 hsa_system_get_info(2, 0x1d4cb80) = 0 +43928827162541:43928827163163 26045:26045 hsa_system_get_info(2, 0x1d4cb88) = 0 +43928827163907:43928827164534 26045:26045 hsa_system_get_info(2, 0x1d4cb90) = 0 +43928827165285:43928827165905 26045:26045 hsa_system_get_info(2, 0x1d4cb98) = 0 +43928827166654:43928827167273 26045:26045 hsa_system_get_info(2, 0x1d4cba0) = 0 +43928827168025:43928827168651 26045:26045 hsa_system_get_info(2, 0x1d4cba8) = 0 +43928827169397:43928827170016 26045:26045 hsa_system_get_info(2, 0x1d4cbb0) = 0 +43928827170759:43928827171376 26045:26045 hsa_system_get_info(2, 0x1d4cbb8) = 0 +43928827172133:43928827172756 26045:26045 hsa_system_get_info(2, 0x1d4cbc0) = 0 +43928827173502:43928827174122 26045:26045 hsa_system_get_info(2, 0x1d4cbc8) = 0 +43928827174865:43928827175484 26045:26045 hsa_system_get_info(2, 0x1d4cbd0) = 0 +43928827176230:43928827176850 26045:26045 hsa_system_get_info(2, 0x1d4cbd8) = 0 +43928827177594:43928827178215 26045:26045 hsa_system_get_info(2, 0x1d4cbe0) = 0 +43928827178962:43928827179582 26045:26045 hsa_system_get_info(2, 0x1d4cbe8) = 0 +43928827180327:43928827180944 26045:26045 hsa_system_get_info(2, 0x1d4cbf0) = 0 +43928827181691:43928827182308 26045:26045 hsa_system_get_info(2, 0x1d4cbf8) = 0 +43928827183056:43928827183678 26045:26045 hsa_system_get_info(2, 0x1d4cc00) = 0 +43928827184426:43928827185046 26045:26045 hsa_system_get_info(2, 0x1d4cc08) = 0 +43928827185787:43928827186404 26045:26045 hsa_system_get_info(2, 0x1d4cc10) = 0 +43928827187150:43928827187766 26045:26045 hsa_system_get_info(2, 0x1d4cc18) = 0 +43928827188515:43928827189132 26045:26045 hsa_system_get_info(2, 0x1d4cc20) = 0 +43928827189886:43928827190503 26045:26045 hsa_system_get_info(2, 0x1d4cc28) = 0 +43928827191267:43928827191888 26045:26045 hsa_system_get_info(2, 0x1d4cc30) = 0 +43928827193400:43928827194024 26045:26045 hsa_system_get_info(2, 0x1d4cc38) = 0 +43928827194773:43928827195392 26045:26045 hsa_system_get_info(2, 0x1d4cc40) = 0 +43928827196136:43928827196756 26045:26045 hsa_system_get_info(2, 0x1d4cc48) = 0 +43928827197504:43928827198123 26045:26045 hsa_system_get_info(2, 0x1d4cc50) = 0 +43928827198868:43928827199493 26045:26045 hsa_system_get_info(2, 0x1d4cc58) = 0 +43928827200239:43928827200867 26045:26045 hsa_system_get_info(2, 0x1d4cc60) = 0 +43928827201615:43928827202234 26045:26045 hsa_system_get_info(2, 0x1d4cc68) = 0 +43928827202978:43928827203597 26045:26045 hsa_system_get_info(2, 0x1d4cc70) = 0 +43928827204342:43928827204959 26045:26045 hsa_system_get_info(2, 0x1d4cc78) = 0 +43928827205703:43928827206326 26045:26045 hsa_system_get_info(2, 0x1d4cc80) = 0 +43928827207071:43928827207692 26045:26045 hsa_system_get_info(2, 0x1d4cc88) = 0 +43928827208439:43928827209061 26045:26045 hsa_system_get_info(2, 0x1d4cc90) = 0 +43928827209808:43928827210435 26045:26045 hsa_system_get_info(2, 0x1d4cc98) = 0 +43928827211184:43928827211810 26045:26045 hsa_system_get_info(2, 0x1d4cca0) = 0 +43928827212583:43928827213202 26045:26045 hsa_system_get_info(2, 0x1d4cca8) = 0 +43928827213953:43928827214575 26045:26045 hsa_system_get_info(2, 0x1d4ccb0) = 0 +43928827215328:43928827215955 26045:26045 hsa_system_get_info(2, 0x1d4ccb8) = 0 +43928827216707:43928827217332 26045:26045 hsa_system_get_info(2, 0x1d4ccc0) = 0 +43928827218082:43928827218703 26045:26045 hsa_system_get_info(2, 0x1d4ccc8) = 0 +43928827219451:43928827220074 26045:26045 hsa_system_get_info(2, 0x1d4ccd0) = 0 +43928827220821:43928827221438 26045:26045 hsa_system_get_info(2, 0x1d4ccd8) = 0 +43928827222185:43928827222803 26045:26045 hsa_system_get_info(2, 0x1d4cce0) = 0 +43928827223556:43928827224178 26045:26045 hsa_system_get_info(2, 0x1d4cce8) = 0 +43928827224929:43928827225549 26045:26045 hsa_system_get_info(2, 0x1d4ccf0) = 0 +43928827226295:43928827226915 26045:26045 hsa_system_get_info(2, 0x1d4ccf8) = 0 +43928827227664:43928827228289 26045:26045 hsa_system_get_info(2, 0x1d4cd00) = 0 +43928827229040:43928827229661 26045:26045 hsa_system_get_info(2, 0x1d4cd08) = 0 +43928827230425:43928827231046 26045:26045 hsa_system_get_info(2, 0x1d4cd10) = 0 +43928827232587:43928827233216 26045:26045 hsa_system_get_info(2, 0x1d4cd18) = 0 +43928827233963:43928827234582 26045:26045 hsa_system_get_info(2, 0x1d4cd20) = 0 +43928827235330:43928827235954 26045:26045 hsa_system_get_info(2, 0x1d4cd28) = 0 +43928827236701:43928827237323 26045:26045 hsa_system_get_info(2, 0x1d4cd30) = 0 +43928827238067:43928827238685 26045:26045 hsa_system_get_info(2, 0x1d4cd38) = 0 +43928827239429:43928827240045 26045:26045 hsa_system_get_info(2, 0x1d4cd40) = 0 +43928827240792:43928827241411 26045:26045 hsa_system_get_info(2, 0x1d4cd48) = 0 +43928827242160:43928827242780 26045:26045 hsa_system_get_info(2, 0x1d4cd50) = 0 +43928827243530:43928827244144 26045:26045 hsa_system_get_info(2, 0x1d4cd58) = 0 +43928827244892:43928827245511 26045:26045 hsa_system_get_info(2, 0x1d4cd60) = 0 +43928827246255:43928827246881 26045:26045 hsa_system_get_info(2, 0x1d4cd68) = 0 +43928827247629:43928827248247 26045:26045 hsa_system_get_info(2, 0x1d4cd70) = 0 +43928827248996:43928827249615 26045:26045 hsa_system_get_info(2, 0x1d4cd78) = 0 +43928827250363:43928827250981 26045:26045 hsa_system_get_info(2, 0x1d4cd80) = 0 +43928827251742:43928827252364 26045:26045 hsa_system_get_info(2, 0x1d4cd88) = 0 +43928827253113:43928827253736 26045:26045 hsa_system_get_info(2, 0x1d4cd90) = 0 +43928827254487:43928827255100 26045:26045 hsa_system_get_info(2, 0x1d4cd98) = 0 +43928827255851:43928827256472 26045:26045 hsa_system_get_info(2, 0x1d4cda0) = 0 +43928827257221:43928827257846 26045:26045 hsa_system_get_info(2, 0x1d4cda8) = 0 +43928827258593:43928827259214 26045:26045 hsa_system_get_info(2, 0x1d4cdb0) = 0 +43928827259962:43928827260581 26045:26045 hsa_system_get_info(2, 0x1d4cdb8) = 0 +43928827261327:43928827261951 26045:26045 hsa_system_get_info(2, 0x1d4cdc0) = 0 +43928827262699:43928827263322 26045:26045 hsa_system_get_info(2, 0x1d4cdc8) = 0 +43928827264065:43928827264684 26045:26045 hsa_system_get_info(2, 0x1d4cdd0) = 0 +43928827265430:43928827266050 26045:26045 hsa_system_get_info(2, 0x1d4cdd8) = 0 +43928827266794:43928827267412 26045:26045 hsa_system_get_info(2, 0x1d4cde0) = 0 +43928827268158:43928827268775 26045:26045 hsa_system_get_info(2, 0x1d4cde8) = 0 +43928827269525:43928827270142 26045:26045 hsa_system_get_info(2, 0x1d4cdf0) = 0 +43928827271628:43928827272249 26045:26045 hsa_system_get_info(2, 0x1d4cdf8) = 0 +43928827272994:43928827273611 26045:26045 hsa_system_get_info(2, 0x1d4ce00) = 0 +43928827274358:43928827274982 26045:26045 hsa_system_get_info(2, 0x1d4ce08) = 0 +43928827275751:43928827276379 26045:26045 hsa_system_get_info(2, 0x1d4ce10) = 0 +43928827277123:43928827277740 26045:26045 hsa_system_get_info(2, 0x1d4ce18) = 0 +43928827278487:43928827279109 26045:26045 hsa_system_get_info(2, 0x1d4ce20) = 0 +43928827279855:43928827280475 26045:26045 hsa_system_get_info(2, 0x1d4ce28) = 0 +43928827281221:43928827281841 26045:26045 hsa_system_get_info(2, 0x1d4ce30) = 0 +43928827282582:43928827283202 26045:26045 hsa_system_get_info(2, 0x1d4ce38) = 0 +43928827283947:43928827284565 26045:26045 hsa_system_get_info(2, 0x1d4ce40) = 0 +43928827285312:43928827285935 26045:26045 hsa_system_get_info(2, 0x1d4ce48) = 0 +43928827286684:43928827287303 26045:26045 hsa_system_get_info(2, 0x1d4ce50) = 0 +43928827288048:43928827288670 26045:26045 hsa_system_get_info(2, 0x1d4ce58) = 0 +43928827289417:43928827290036 26045:26045 hsa_system_get_info(2, 0x1d4ce60) = 0 +43928827290784:43928827291400 26045:26045 hsa_system_get_info(2, 0x1d4ce68) = 0 +43928827292147:43928827292769 26045:26045 hsa_system_get_info(2, 0x1d4ce70) = 0 +43928827293518:43928827294139 26045:26045 hsa_system_get_info(2, 0x1d4ce78) = 0 +43928827294910:43928827295529 26045:26045 hsa_system_get_info(2, 0x1d4ce80) = 0 +43928827296273:43928827296893 26045:26045 hsa_system_get_info(2, 0x1d4ce88) = 0 +43928827297640:43928827298255 26045:26045 hsa_system_get_info(2, 0x1d4ce90) = 0 +43928827299002:43928827299620 26045:26045 hsa_system_get_info(2, 0x1d4ce98) = 0 +43928827300365:43928827300985 26045:26045 hsa_system_get_info(2, 0x1d4cea0) = 0 +43928827301730:43928827302352 26045:26045 hsa_system_get_info(2, 0x1d4cea8) = 0 +43928827303095:43928827303712 26045:26045 hsa_system_get_info(2, 0x1d4ceb0) = 0 +43928827304457:43928827305072 26045:26045 hsa_system_get_info(2, 0x1d4ceb8) = 0 +43928827305819:43928827306437 26045:26045 hsa_system_get_info(2, 0x1d4cec0) = 0 +43928827307185:43928827307800 26045:26045 hsa_system_get_info(2, 0x1d4cec8) = 0 +43928827308567:43928827309188 26045:26045 hsa_system_get_info(2, 0x1d4ced0) = 0 +43928827309929:43928827310549 26045:26045 hsa_system_get_info(2, 0x1d4ced8) = 0 +43928827312040:43928827312663 26045:26045 hsa_system_get_info(2, 0x1d4cee0) = 0 +43928827313411:43928827314033 26045:26045 hsa_system_get_info(2, 0x1d4cee8) = 0 +43928827314781:43928827315400 26045:26045 hsa_system_get_info(2, 0x1d4cef0) = 0 +43928827316150:43928827316771 26045:26045 hsa_system_get_info(2, 0x1d4cef8) = 0 +43928827317514:43928827318136 26045:26045 hsa_system_get_info(2, 0x1d4cf00) = 0 +43928827318881:43928827319497 26045:26045 hsa_system_get_info(2, 0x1d4cf08) = 0 +43928827320243:43928827320859 26045:26045 hsa_system_get_info(2, 0x1d4cf10) = 0 +43928827321605:43928827322225 26045:26045 hsa_system_get_info(2, 0x1d4cf18) = 0 +43928827322969:43928827323593 26045:26045 hsa_system_get_info(2, 0x1d4cf20) = 0 +43928827324341:43928827324958 26045:26045 hsa_system_get_info(2, 0x1d4cf28) = 0 +43928827325706:43928827326322 26045:26045 hsa_system_get_info(2, 0x1d4cf30) = 0 +43928827327068:43928827327688 26045:26045 hsa_system_get_info(2, 0x1d4cf38) = 0 +43928827328436:43928827329056 26045:26045 hsa_system_get_info(2, 0x1d4cf40) = 0 +43928827329801:43928827330433 26045:26045 hsa_system_get_info(2, 0x1d4cf48) = 0 +43928827331181:43928827331798 26045:26045 hsa_system_get_info(2, 0x1d4cf50) = 0 +43928827332543:43928827333164 26045:26045 hsa_system_get_info(2, 0x1d4cf58) = 0 +43928827333910:43928827334532 26045:26045 hsa_system_get_info(2, 0x1d4cf60) = 0 +43928827335277:43928827335896 26045:26045 hsa_system_get_info(2, 0x1d4cf68) = 0 +43928827336641:43928827337255 26045:26045 hsa_system_get_info(2, 0x1d4cf70) = 0 +43928827338005:43928827338624 26045:26045 hsa_system_get_info(2, 0x1d4cf78) = 0 +43928827339370:43928827339990 26045:26045 hsa_system_get_info(2, 0x1d4cf80) = 0 +43928827340738:43928827341359 26045:26045 hsa_system_get_info(2, 0x1d4cf88) = 0 +43928827342105:43928827342722 26045:26045 hsa_system_get_info(2, 0x1d4cf90) = 0 +43928827343469:43928827344095 26045:26045 hsa_system_get_info(2, 0x1d4cf98) = 0 +43928827344841:43928827345460 26045:26045 hsa_system_get_info(2, 0x1d4cfa0) = 0 +43928827346207:43928827346830 26045:26045 hsa_system_get_info(2, 0x1d4cfa8) = 0 +43928827347578:43928827348201 26045:26045 hsa_system_get_info(2, 0x1d4cfb0) = 0 +43928827348953:43928827349593 26045:26045 hsa_system_get_info(2, 0x1d4cfb8) = 0 +43928827351075:43928827351700 26045:26045 hsa_system_get_info(2, 0x1d4cfc0) = 0 +43928827352450:43928827353064 26045:26045 hsa_system_get_info(2, 0x1d4cfc8) = 0 +43928827353810:43928827354432 26045:26045 hsa_system_get_info(2, 0x1d4cfd0) = 0 +43928827355176:43928827355802 26045:26045 hsa_system_get_info(2, 0x1d4cfd8) = 0 +43928827356549:43928827357168 26045:26045 hsa_system_get_info(2, 0x1d4cfe0) = 0 +43928827357916:43928827358534 26045:26045 hsa_system_get_info(2, 0x1d4cfe8) = 0 +43928827359278:43928827359898 26045:26045 hsa_system_get_info(2, 0x1d4cff0) = 0 +43928827360642:43928827361261 26045:26045 hsa_system_get_info(2, 0x1d4cff8) = 0 +43928827362007:43928827362626 26045:26045 hsa_system_get_info(2, 0x1d4d000) = 0 +43928827363370:43928827363990 26045:26045 hsa_system_get_info(2, 0x1d4d008) = 0 +43928827364734:43928827365355 26045:26045 hsa_system_get_info(2, 0x1d4d010) = 0 +43928827366101:43928827366720 26045:26045 hsa_system_get_info(2, 0x1d4d018) = 0 +43928827367464:43928827368086 26045:26045 hsa_system_get_info(2, 0x1d4d020) = 0 +43928827368836:43928827369462 26045:26045 hsa_system_get_info(2, 0x1d4d028) = 0 +43928827370220:43928827370835 26045:26045 hsa_system_get_info(2, 0x1d4d030) = 0 +43928827371588:43928827372214 26045:26045 hsa_system_get_info(2, 0x1d4d038) = 0 +43928827372959:43928827373578 26045:26045 hsa_system_get_info(2, 0x1d4d040) = 0 +43928827374326:43928827374945 26045:26045 hsa_system_get_info(2, 0x1d4d048) = 0 +43928827375693:43928827376309 26045:26045 hsa_system_get_info(2, 0x1d4d050) = 0 +43928827377060:43928827377677 26045:26045 hsa_system_get_info(2, 0x1d4d058) = 0 +43928827378421:43928827379045 26045:26045 hsa_system_get_info(2, 0x1d4d060) = 0 +43928827379790:43928827380408 26045:26045 hsa_system_get_info(2, 0x1d4d068) = 0 +43928827381154:43928827381779 26045:26045 hsa_system_get_info(2, 0x1d4d070) = 0 +43928827382530:43928827383151 26045:26045 hsa_system_get_info(2, 0x1d4d078) = 0 +43928827383899:43928827384521 26045:26045 hsa_system_get_info(2, 0x1d4d080) = 0 +43928827385271:43928827385891 26045:26045 hsa_system_get_info(2, 0x1d4d088) = 0 +43928827386639:43928827387253 26045:26045 hsa_system_get_info(2, 0x1d4d090) = 0 +43928827388011:43928827388630 26045:26045 hsa_system_get_info(2, 0x1d4d098) = 0 +43928827389392:43928827390011 26045:26045 hsa_system_get_info(2, 0x1d4d0a0) = 0 +43928827392134:43928827392768 26045:26045 hsa_system_get_info(2, 0x1d4d0a8) = 0 +43928827393514:43928827394134 26045:26045 hsa_system_get_info(2, 0x1d4d0b0) = 0 +43928827394881:43928827395505 26045:26045 hsa_system_get_info(2, 0x1d4d0b8) = 0 +43928827396256:43928827396881 26045:26045 hsa_system_get_info(2, 0x1d4d0c0) = 0 +43928827397632:43928827398257 26045:26045 hsa_system_get_info(2, 0x1d4d0c8) = 0 +43928827399002:43928827399623 26045:26045 hsa_system_get_info(2, 0x1d4d0d0) = 0 +43928827400372:43928827400993 26045:26045 hsa_system_get_info(2, 0x1d4d0d8) = 0 +43928827401744:43928827402362 26045:26045 hsa_system_get_info(2, 0x1d4d0e0) = 0 +43928827403105:43928827403725 26045:26045 hsa_system_get_info(2, 0x1d4d0e8) = 0 +43928827404470:43928827405091 26045:26045 hsa_system_get_info(2, 0x1d4d0f0) = 0 +43928827405835:43928827406454 26045:26045 hsa_system_get_info(2, 0x1d4d0f8) = 0 +43928827407199:43928827407816 26045:26045 hsa_system_get_info(2, 0x1d4d100) = 0 +43928827408567:43928827409187 26045:26045 hsa_system_get_info(2, 0x1d4d108) = 0 +43928827409933:43928827410557 26045:26045 hsa_system_get_info(2, 0x1d4d110) = 0 +43928827411321:43928827411941 26045:26045 hsa_system_get_info(2, 0x1d4d118) = 0 +43928827412692:43928827413315 26045:26045 hsa_system_get_info(2, 0x1d4d120) = 0 +43928827414061:43928827414686 26045:26045 hsa_system_get_info(2, 0x1d4d128) = 0 +43928827415432:43928827416049 26045:26045 hsa_system_get_info(2, 0x1d4d130) = 0 +43928827416799:43928827417418 26045:26045 hsa_system_get_info(2, 0x1d4d138) = 0 +43928827418161:43928827418783 26045:26045 hsa_system_get_info(2, 0x1d4d140) = 0 +43928827419529:43928827420145 26045:26045 hsa_system_get_info(2, 0x1d4d148) = 0 +43928827427996:43928827428640 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43928827429529:43928827431617 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e7050) = 0 +43928827432588:43928827435931 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e7010) = 0 +43928827436998:43928831667381 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 +43928832171311:43928832174994 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43928832176659:43928832177319 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43928832178278:43928832178750 26045:26051 hsa_signal_load_relaxed() = 1 +43928831670233:43928832183220 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43928832182362:43928832183727 26045:26051 hsa_signal_store_screlease(, 0) = void +43928832184553:43928832185220 26045:26051 hsa_signal_destroy() = 0 +43928832184841:43928832185548 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43928941382454:43928941384452 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fffcdc38520) = 0 +43928941524205:43928941524875 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fffcdc38520) = 0 +43928944821235:43928944822559 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fffcdc38520) = 0 +43928944827290:43928944828114 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fffcdc38520) = 0 +43928944830301:43928944830984 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7fffcdc38520) = 0 +43928944833036:43928944833748 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7fffcdc38520) = 0 +43928944881623:43928944882150 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fffcdc38520) = 0 +43928944884092:43928944884612 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fffcdc38520) = 0 +43928944886670:43928944887263 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7fffcdc38520) = 0 +43928944889138:43928944889638 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7fffcdc38520) = 0 +43928944938275:43928944938873 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fffcdc38520) = 0 +43928944940823:43928944941322 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fffcdc38520) = 0 +43928944943301:43928944943818 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7fffcdc38520) = 0 +43928944945801:43928944946317 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7fffcdc38520) = 0 +43928944993531:43928944994039 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fffcdc38520) = 0 +43928944996046:43928944996550 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fffcdc38520) = 0 +43928944998374:43928944998874 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7fffcdc38520) = 0 +43928945000877:43928945001389 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7fffcdc38520) = 0 +43928945047481:43928945047997 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fffcdc38520) = 0 +43928945050301:43928945050800 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fffcdc38520) = 0 +43928945052824:43928945053331 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7fffcdc38520) = 0 +43928945055292:43928945055806 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7fffcdc38520) = 0 +43928945101634:43928945102153 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fffcdc38520) = 0 +43928945104075:43928945104578 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fffcdc38520) = 0 +43928945106279:43928945106780 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7fffcdc38520) = 0 +43928945114883:43928945115400 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7fffcdc38520) = 0 +43928945161473:43928945161996 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fffcdc38520) = 0 +43928945163709:43928945164224 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fffcdc38520) = 0 +43928945166052:43928945166571 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7fffcdc38520) = 0 +43928945168337:43928945168839 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7fffcdc38520) = 0 +43928945216026:43928945216544 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fffcdc38520) = 0 +43928945218502:43928945219016 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fffcdc38520) = 0 +43928945220707:43928945221230 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7fffcdc38520) = 0 +43928945222959:43928945223467 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7fffcdc38520) = 0 +43928945269478:43928945270025 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fffcdc38520) = 0 +43928945272119:43928945272629 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fffcdc38520) = 0 +43928945274699:43928945275214 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7fffcdc38520) = 0 +43928945277274:43928945277795 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7fffcdc38520) = 0 +43928945430624:43928945431207 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fffcdc38520) = 0 +43928945433842:43928945434350 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fffcdc38520) = 0 +43928945436869:43928945437390 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7fffcdc38520) = 0 +43928945439833:43928945440339 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7fffcdc38520) = 0 +43928945485777:43928945486299 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fffcdc38520) = 0 +43928945488129:43928945488628 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fffcdc38520) = 0 +43928945490470:43928945490969 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7fffcdc38520) = 0 +43928945492709:43928945493196 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7fffcdc38520) = 0 +43928945536858:43928945537392 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fffcdc38520) = 0 +43928945539091:43928945539643 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fffcdc38520) = 0 +43928945541250:43928945541798 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7fffcdc38520) = 0 +43928945543548:43928945544038 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7fffcdc38520) = 0 +43928945618932:43928945619453 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fffcdc38520) = 0 +43928945621810:43928945622306 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fffcdc38520) = 0 +43928945624402:43928945624905 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7fffcdc38520) = 0 +43928945628384:43928945628899 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7fffcdc38520) = 0 +43928945672239:43928945672817 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fffcdc38520) = 0 +43928945674518:43928945675011 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fffcdc38520) = 0 +43928945676800:43928945677295 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7fffcdc38520) = 0 +43928945679100:43928945679590 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7fffcdc38520) = 0 +43928945724477:43928945724960 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fffcdc38520) = 0 +43928945726721:43928945727220 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fffcdc38520) = 0 +43928945729046:43928945729611 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7fffcdc38520) = 0 +43928945731357:43928945731851 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7fffcdc38520) = 0 +43928945776998:43928945777505 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fffcdc38520) = 0 +43928945779241:43928945779797 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fffcdc38520) = 0 +43928945781487:43928945782040 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7fffcdc38520) = 0 +43928945783817:43928945784370 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7fffcdc38520) = 0 +43928945827141:43928945827691 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fffcdc38520) = 0 +43928945829748:43928945830239 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fffcdc38520) = 0 +43928945832066:43928945832555 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7fffcdc38520) = 0 +43928945834726:43928945835217 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7fffcdc38520) = 0 +43928945879928:43928945880487 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fffcdc38520) = 0 +43928945882124:43928945882626 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fffcdc38520) = 0 +43928945884286:43928945884786 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7fffcdc38520) = 0 +43928945886799:43928945887287 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7fffcdc38520) = 0 +43928945932465:43928945932964 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fffcdc38520) = 0 +43928945934647:43928945935209 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fffcdc38520) = 0 +43928945937269:43928945937819 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7fffcdc38520) = 0 +43928945939546:43928945940042 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7fffcdc38520) = 0 +43928945983788:43928945984353 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fffcdc38520) = 0 +43928945985907:43928945986389 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fffcdc38520) = 0 +43928945988107:43928945988657 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7fffcdc38520) = 0 +43928945990700:43928945991192 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7fffcdc38520) = 0 +43929005193572:43929005201288 26045:26045 hsa_executable_create_alt(1, 0, +43929085803268:43929085805784 26045:26045 hsa_code_object_reader_create_from_memory(0x2eec240, , 0x7f14f5ffb2d0) = 0 +43929085809100:43929085977363 26045:26045 hsa_executable_load_agent_code_object(, , , +43929085979767:43929086007324 26045:26045 hsa_executable_freeze(, +43929086014150:43929086015507 26045:26045 hsa_executable_create_alt(1, 0, +43929086028635:43929086029095 26045:26045 hsa_code_object_reader_create_from_memory(0x7f1524151ef0, , 0x3b27400) = 0 +43929086030023:43929086090645 26045:26045 hsa_executable_load_agent_code_object(, , , +43929086092252:43929086112081 26045:26045 hsa_executable_freeze(, +43929086114920:43929086115872 26045:26045 hsa_executable_create_alt(1, 0, +43929086127603:43929086128165 26045:26045 hsa_code_object_reader_create_from_memory(0x7f152414f340, , 0x3b822d0) = 0 +43929086129008:43929086183752 26045:26045 hsa_executable_load_agent_code_object(, , , +43929086185157:43929086204399 26045:26045 hsa_executable_freeze(, +43929086206967:43929086207799 26045:26045 hsa_executable_create_alt(1, 0, +43929086218746:43929086219240 26045:26045 hsa_code_object_reader_create_from_memory(0x2eb9370, , 0x7f153d003110) = 0 +43929086220094:43929086272363 26045:26045 hsa_executable_load_agent_code_object(, , , +43929086273678:43929086292934 26045:26045 hsa_executable_freeze(, +43929086295443:43929086296458 26045:26045 hsa_executable_create_alt(1, 0, +43929086307333:43929086307784 26045:26045 hsa_code_object_reader_create_from_memory(0x2eba8e0, , 0x3b29f00) = 0 +43929086308621:43929086359985 26045:26045 hsa_executable_load_agent_code_object(, , , +43929086361304:43929086380629 26045:26045 hsa_executable_freeze(, +43929086383060:43929086383980 26045:26045 hsa_executable_create_alt(1, 0, +43929086394310:43929086394757 26045:26045 hsa_code_object_reader_create_from_memory(0x1fa2280, , 0x7f15240ca630) = 0 +43929086395626:43929086447073 26045:26045 hsa_executable_load_agent_code_object(, , , +43929086448420:43929086467548 26045:26045 hsa_executable_freeze(, +43929086469925:43929086470768 26045:26045 hsa_executable_create_alt(1, 0, +43929086481093:43929086481518 26045:26045 hsa_code_object_reader_create_from_memory(0x1fa37f0, , 0x7f152410e2a0) = 0 +43929086482371:43929086540989 26045:26045 hsa_executable_load_agent_code_object(, , , +43929086542283:43929086561279 26045:26045 hsa_executable_freeze(, +43929086565182:43929086566012 26045:26045 hsa_executable_create_alt(1, 0, +43929086586948:43929086587437 26045:26045 hsa_code_object_reader_create_from_memory(0x2d81ed0, , 0x7f1524132b80) = 0 +43929086588267:43929086639745 26045:26045 hsa_executable_load_agent_code_object(, , , +43929086641131:43929086660075 26045:26045 hsa_executable_freeze(, +43929086662454:43929086663353 26045:26045 hsa_executable_create_alt(1, 0, +43929086673799:43929086674206 26045:26045 hsa_code_object_reader_create_from_memory(0x2d83440, , 0x7f1524138fd0) = 0 +43929086675028:43929086725590 26045:26045 hsa_executable_load_agent_code_object(, , , +43929086726813:43929086745509 26045:26045 hsa_executable_freeze(, +43929086748053:43929086748753 26045:26045 hsa_executable_create_alt(1, 0, +43929086765679:43929086766141 26045:26045 hsa_code_object_reader_create_from_memory(0x2db0df0, , 0x7f152415e1b0) = 0 +43929086766958:43929086837593 26045:26045 hsa_executable_load_agent_code_object(, , , +43929086838996:43929086860060 26045:26045 hsa_executable_freeze(, +43929086862767:43929086863718 26045:26045 hsa_executable_create_alt(1, 0, +43929086875294:43929086875739 26045:26045 hsa_code_object_reader_create_from_memory(0x2d849b0, , 0x7f152417f1a0) = 0 +43929086876557:43929086929345 26045:26045 hsa_executable_load_agent_code_object(, , , +43929086930659:43929086949791 26045:26045 hsa_executable_freeze(, +43929086952272:43929086953227 26045:26045 hsa_executable_create_alt(1, 0, +43929086963672:43929086964084 26045:26045 hsa_code_object_reader_create_from_memory(0x2d85f20, , 0x7f152419ab60) = 0 +43929086964906:43929087015675 26045:26045 hsa_executable_load_agent_code_object(, , , +43929087016939:43929087036285 26045:26045 hsa_executable_freeze(, +43929087038660:43929087039526 26045:26045 hsa_executable_create_alt(1, 0, +43929087051425:43929087051856 26045:26045 hsa_code_object_reader_create_from_memory(0x2daba70, , 0x7f14f47a9b40) = 0 +43929087052652:43929087107634 26045:26045 hsa_executable_load_agent_code_object(, , , +43929087108963:43929087128819 26045:26045 hsa_executable_freeze(, +43929087131465:43929087132341 26045:26045 hsa_executable_create_alt(1, 0, +43929087143457:43929087144369 26045:26045 hsa_code_object_reader_create_from_memory(0x2da94b0, , 0x7f14f47987a0) = 0 +43929087145172:43929087196169 26045:26045 hsa_executable_load_agent_code_object(, , , +43929087197458:43929087216413 26045:26045 hsa_executable_freeze(, +43929087220194:43929087220993 26045:26045 hsa_executable_create_alt(1, 0, +43929087231204:43929087231636 26045:26045 hsa_code_object_reader_create_from_memory(0x2dae030, , 0x7f14f4777780) = 0 +43929087232473:43929087282411 26045:26045 hsa_executable_load_agent_code_object(, , , +43929087283786:43929087303064 26045:26045 hsa_executable_freeze(, +43929087305366:43929087306185 26045:26045 hsa_executable_create_alt(1, 0, +43929087316162:43929087316572 26045:26045 hsa_code_object_reader_create_from_memory(0x7f1524153460, , 0x7f14f473a6b0) = 0 +43929087317373:43929087371035 26045:26045 hsa_executable_load_agent_code_object(, , , +43929087372312:43929087391713 26045:26045 hsa_executable_freeze(, +43929087394123:43929087395125 26045:26045 hsa_executable_create_alt(1, 0, +43929087405210:43929087405626 26045:26045 hsa_code_object_reader_create_from_memory(0x2d87490, , 0x7f14f47d42c0) = 0 +43929087406440:43929087455989 26045:26045 hsa_executable_load_agent_code_object(, , , +43929087457274:43929087476857 26045:26045 hsa_executable_freeze(, +43929087479412:43929087480096 26045:26045 hsa_executable_create_alt(1, 0, +43929087490079:43929087490492 26045:26045 hsa_code_object_reader_create_from_memory(0x2d88a00, , 0x7f14f47ee870) = 0 +43929087491330:43929087542007 26045:26045 hsa_executable_load_agent_code_object(, , , +43929087543266:43929087563186 26045:26045 hsa_executable_freeze(, +43929087565548:43929087566491 26045:26045 hsa_executable_create_alt(1, 0, +43929087576222:43929087576625 26045:26045 hsa_code_object_reader_create_from_memory(0x2db5770, , 0x7f153ced0920) = 0 +43929087577458:43929087627158 26045:26045 hsa_executable_load_agent_code_object(, , , +43929087628423:43929087647631 26045:26045 hsa_executable_freeze(, +43929087649940:43929087650904 26045:26045 hsa_executable_create_alt(1, 0, +43929087660596:43929087661003 26045:26045 hsa_code_object_reader_create_from_memory(0x2db6ce0, , 0x7f153cee8e20) = 0 +43929087661841:43929087712675 26045:26045 hsa_executable_load_agent_code_object(, , , +43929087713920:43929087732918 26045:26045 hsa_executable_freeze(, +43929087766979:43929087767799 26045:26045 hsa_executable_create_alt(1, 0, +43929087780510:43929087780961 26045:26045 hsa_code_object_reader_create_from_memory(0x7f153d0193b0, , 0x7f153cef3440) = 0 +43929087781805:43929087840749 26045:26045 hsa_executable_load_agent_code_object(, , , +43929087842149:43929087862510 26045:26045 hsa_executable_freeze(, +43929087865443:43929087866495 26045:26045 hsa_executable_create_alt(1, 0, +43929087880558:43929087881006 26045:26045 hsa_code_object_reader_create_from_memory(0x2ef58b0, , 0x7f153cf0dfc0) = 0 +43929087881835:43929087939368 26045:26045 hsa_executable_load_agent_code_object(, , , +43929087940734:43929087960405 26045:26045 hsa_executable_freeze(, +43929087940734:43929087964724 26045:26045 hsa_agent_iterate_isas(, 1, 0x7fffcdc38468) = 0 +43929087967694:43929087968543 26045:26045 hsa_executable_iterate_agent_symbols(, , 1, 0x1d4cbc0) = 0 +43929087969345:43929087969747 26045:26045 hsa_executable_iterate_agent_symbols(, , 1, 0x1d4cbc0) = 0 +43929087970528:43929087970927 26045:26045 hsa_executable_iterate_agent_symbols(, , 1, 0x1d4cbc0) = 0 +43929087971685:43929087972054 26045:26045 hsa_executable_iterate_agent_symbols(, , 1, 0x1d4cbc0) = 0 +43929087972807:43929087973192 26045:26045 hsa_executable_iterate_agent_symbols(, , 1, 0x1d4cbc0) = 0 +43929087973951:43929087974316 26045:26045 hsa_executable_iterate_agent_symbols(, , 1, 0x1d4cbc0) = 0 +43929087975073:43929087975451 26045:26045 hsa_executable_iterate_agent_symbols(, , 1, 0x1d4cbc0) = 0 +43929087976209:43929087976577 26045:26045 hsa_executable_iterate_agent_symbols(, , 1, 0x1d4cbc0) = 0 +43929087977331:43929087977697 26045:26045 hsa_executable_iterate_agent_symbols(, , 1, 0x1d4cbc0) = 0 +43929087979970:43929087980669 26045:26045 hsa_executable_symbol_get_info(, 0, 0x7fffcdc38388) = 0 +43929087981633:43929087982001 26045:26045 hsa_executable_symbol_get_info(, 1, 0x7fffcdc38384) = 0 +43929087982917:43929087983354 26045:26045 hsa_executable_symbol_get_info(, 2, 0x3ac5ad0) = 0 +43929087984514:43929087984866 26045:26045 hsa_executable_symbol_get_info(, 0, 0x7fffcdc38388) = 0 +43929087985632:43929087985985 26045:26045 hsa_executable_symbol_get_info(, 1, 0x7fffcdc38384) = 0 +43929087986774:43929087987143 26045:26045 hsa_executable_symbol_get_info(, 2, 0x3b49310) = 0 +43929087988125:43929087988481 26045:26045 hsa_executable_symbol_get_info(, 0, 0x7fffcdc38388) = 0 +43929087989240:43929087989593 26045:26045 hsa_executable_symbol_get_info(, 1, 0x7fffcdc38384) = 0 +43929087990383:43929087990747 26045:26045 hsa_executable_symbol_get_info(, 2, 0x7f14f4506900) = 0 +43929087991645:43929087991997 26045:26045 hsa_executable_symbol_get_info(, 0, 0x7fffcdc38388) = 0 +43929087992760:43929087993109 26045:26045 hsa_executable_symbol_get_info(, 1, 0x7fffcdc38384) = 0 +43929087993888:43929087994246 26045:26045 hsa_executable_symbol_get_info(, 2, 0x7f14f44a0970) = 0 +43929087995184:43929087995526 26045:26045 hsa_executable_symbol_get_info(, 0, 0x7fffcdc38388) = 0 +43929087996287:43929087996636 26045:26045 hsa_executable_symbol_get_info(, 1, 0x7fffcdc38384) = 0 +43929087997581:43929087997930 26045:26045 hsa_executable_symbol_get_info(, 2, 0x3be6430) = 0 +43929088006406:43929088006789 26045:26045 hsa_executable_symbol_get_info(, 0, 0x7fffcdc38388) = 0 +43929088007585:43929088007927 26045:26045 hsa_executable_symbol_get_info(, 1, 0x7fffcdc38384) = 0 +43929088008766:43929088009123 26045:26045 hsa_executable_symbol_get_info(, 2, 0x2e52290) = 0 +43929088008766:43929088010074 26045:26045 hsa_executable_iterate_agent_symbols(, , 1, 0x1d4cbc0) = 0 +43929088010854:43929088011248 26045:26045 hsa_executable_iterate_agent_symbols(, , 1, 0x1d4cbc0) = 0 +43929088012011:43929088012374 26045:26045 hsa_executable_iterate_agent_symbols(, , 1, 0x1d4cbc0) = 0 +43929088013564:43929088013914 26045:26045 hsa_executable_symbol_get_info(, 0, 0x7fffcdc38388) = 0 +43929088014682:43929088015030 26045:26045 hsa_executable_symbol_get_info(, 1, 0x7fffcdc38384) = 0 +43929088015821:43929088016177 26045:26045 hsa_executable_symbol_get_info(, 2, 0x7f14b131e650) = 0 +43929088015821:43929088017087 26045:26045 hsa_executable_iterate_agent_symbols(, , 1, 0x1d4cbc0) = 0 +43929088017848:43929088018219 26045:26045 hsa_executable_iterate_agent_symbols(, , 1, 0x1d4cbc0) = 0 +43929088018974:43929088019342 26045:26045 hsa_executable_iterate_agent_symbols(, , 1, 0x1d4cbc0) = 0 +43929088020095:43929088020462 26045:26045 hsa_executable_iterate_agent_symbols(, , 1, 0x1d4cbc0) = 0 +43929088021218:43929088021584 26045:26045 hsa_executable_iterate_agent_symbols(, , 1, 0x1d4cbc0) = 0 +43929088022339:43929088022716 26045:26045 hsa_executable_iterate_agent_symbols(, , 1, 0x1d4cbc0) = 0 +43929088023485:43929088023852 26045:26045 hsa_executable_iterate_agent_symbols(, , 1, 0x1d4cbc0) = 0 +43929088024606:43929088024972 26045:26045 hsa_executable_iterate_agent_symbols(, , 1, 0x1d4cbc0) = 0 +43929088026156:43929088026494 26045:26045 hsa_executable_symbol_get_info(, 0, 0x7fffcdc38388) = 0 +43929088027252:43929088027601 26045:26045 hsa_executable_symbol_get_info(, 1, 0x7fffcdc38384) = 0 +43929088028376:43929088028728 26045:26045 hsa_executable_symbol_get_info(, 2, 0x7f14b1328d60) = 0 +43929088028376:43929088029609 26045:26045 hsa_executable_iterate_agent_symbols(, , 1, 0x1d4cbc0) = 0 +43929088030781:43929088031128 26045:26045 hsa_executable_symbol_get_info(, 0, 0x7fffcdc38388) = 0 +43929088031890:43929088032230 26045:26045 hsa_executable_symbol_get_info(, 1, 0x7fffcdc38384) = 0 +43929088033016:43929088033371 26045:26045 hsa_executable_symbol_get_info(, 2, 0x2eabcf0) = 0 +43929088033016:43929088034343 26045:26045 hsa_executable_iterate_agent_symbols(, , 1, 0x1d4cbc0) = 0 +43929117719851:43929117721048 26045:26045 hsa_executable_symbol_get_info(, 22, 0x7fffcdc38600) = 0 +43929117725923:43929117726401 26045:26045 hsa_system_major_extension_supported(, , , ) = 0 +43929117728089:43929117728571 26045:26045 hsa_system_get_major_extension_table(, , , 0x7fffcdc38590) = 0 +43929117733687:43929117734084 26045:26045 hsa_executable_symbol_get_info(, 22, 0x7fffcdc38600) = 0 +43929117738516:43929117738884 26045:26045 hsa_system_major_extension_supported(, , , ) = 0 +43929117739690:43929117740055 26045:26045 hsa_system_get_major_extension_table(, , , 0x7fffcdc38590) = 0 +43929119036558:43929119037114 26045:26045 hsa_executable_symbol_get_info(, 22, 0x7fffcdc38600) = 0 +43929119038087:43929119038453 26045:26045 hsa_system_major_extension_supported(, , , ) = 0 +43929119039251:43929119039639 26045:26045 hsa_system_get_major_extension_table(, , , 0x7fffcdc38590) = 0 +43929119882931:43929119883405 26045:26045 hsa_executable_symbol_get_info(, 22, 0x7fffcdc38600) = 0 +43929119884413:43929119884777 26045:26045 hsa_system_major_extension_supported(, , , ) = 0 +43929119885558:43929119885910 26045:26045 hsa_system_get_major_extension_table(, , , 0x7fffcdc38590) = 0 +43929119899183:43929119899578 26045:26045 hsa_executable_symbol_get_info(, 22, 0x7fffcdc38600) = 0 +43929119900456:43929119900789 26045:26045 hsa_system_major_extension_supported(, , , ) = 0 +43929119901573:43929119901919 26045:26045 hsa_system_get_major_extension_table(, , , 0x7fffcdc38590) = 0 +43929119907625:43929119908298 26045:26045 hsa_executable_symbol_get_info(, 22, 0x7fffcdc38600) = 0 +43929119909146:43929119909484 26045:26045 hsa_system_major_extension_supported(, , , ) = 0 +43929119910245:43929119910577 26045:26045 hsa_system_get_major_extension_table(, , , 0x7fffcdc38590) = 0 +43929119918892:43929119919280 26045:26045 hsa_executable_symbol_get_info(, 22, 0x7fffcdc38600) = 0 +43929119920131:43929119920489 26045:26045 hsa_system_major_extension_supported(, , , ) = 0 +43929119921241:43929119921583 26045:26045 hsa_system_get_major_extension_table(, , , 0x7fffcdc38590) = 0 +43929119924152:43929119924572 26045:26045 hsa_executable_symbol_get_info(, 22, 0x7fffcdc38600) = 0 +43929119925433:43929119925779 26045:26045 hsa_system_major_extension_supported(, , , ) = 0 +43929119926537:43929119926873 26045:26045 hsa_system_get_major_extension_table(, , , 0x7fffcdc38590) = 0 +43929119928297:43929119928684 26045:26045 hsa_executable_symbol_get_info(, 22, 0x7fffcdc38600) = 0 +43929119929580:43929119929913 26045:26045 hsa_system_major_extension_supported(, , , ) = 0 +43929119930674:43929119931007 26045:26045 hsa_system_get_major_extension_table(, , , 0x7fffcdc38590) = 0 +43929120567708:43929120568280 26045:26045 hsa_executable_symbol_get_info(, 22, 0x7fffcdc38600) = 0 +43929120569359:43929120569706 26045:26045 hsa_system_major_extension_supported(, , , ) = 0 +43929120570482:43929120570845 26045:26045 hsa_system_get_major_extension_table(, , , 0x7fffcdc38590) = 0 +43929120572730:43929120573071 26045:26045 hsa_executable_symbol_get_info(, 22, 0x7fffcdc38600) = 0 +43929120573888:43929120574225 26045:26045 hsa_system_major_extension_supported(, , , ) = 0 +43929120576322:43929120576675 26045:26045 hsa_system_get_major_extension_table(, , , 0x7fffcdc38590) = 0 +43929122494960:43929122495666 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43929122517488:43929124470235 26045:26045 hsa_queue_create(, , , 1, 0, , , ) = 0 +43929124477808:43929124478536 26045:26045 hsa_amd_profiling_set_profiler_enabled(, 1) = 0 +43929124486342:43929124486970 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 0 +43929124488882:43929124489547 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 0 +43929124490944:43929124492177 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 +43929124493688:43929124494089 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43929124496288:43929124497203 26045:26045 hsa_signal_store_relaxed(, 0) = void +43929124502451:43929124503112 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43929124527707:43929124528353 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929124535885:43929124538568 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 +43929124539467:43929124539814 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 1 +43929124540627:43929124540972 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 0 +43929124542029:43929124542375 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43929124543193:43929124543598 26045:26045 hsa_signal_store_relaxed(, 1) = void +43929124545747:43929126398116 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929126400669:43929126401193 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929126405423:43929126406401 26045:26045 hsa_signal_destroy() = 0 +43929126408754:43929126411164 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 +43929126412455:43929126413102 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43929126414082:43929126414824 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 +43929126415872:43929126416400 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43929126417717:43929126418254 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43929126420309:43929126421012 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43929126421932:43929126422480 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e70b0) = 0 +43929126423588:43929126425989 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e7070) = 0 +43929126427230:43929126429371 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 +43929126875961:43929126879011 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43929126884976:43929126885732 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43929126886820:43929126887358 26045:26051 hsa_signal_load_relaxed() = 1 +43929126430234:43929126888873 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43929126888255:43929126889595 26045:26051 hsa_signal_store_screlease(, 0) = void +43929126890507:43929126891019 26045:26051 hsa_signal_destroy() = 0 +43929127420349:43929127421117 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929141918502:43929141919581 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929141924447:43929141925584 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929141927676:43929141930517 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 +43929141931650:43929141932428 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43929141933280:43929141933887 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 +43929141934665:43929141935144 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43929142381321:43929142382074 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43929142383966:43929142384597 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43929142385767:43929142387371 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e7110) = 0 +43929142388285:43929142392492 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e70d0) = 0 +43929142393468:43929142395587 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 +43929142880274:43929142883588 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43929142885175:43929142885839 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43929142886976:43929142887509 26045:26051 hsa_signal_load_relaxed() = 1 +43929142396510:43929142889061 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43929142888395:43929142889771 26045:26051 hsa_signal_store_screlease(, 0) = void +43929142890334:43929142891041 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929142890711:43929142891354 26045:26051 hsa_signal_destroy() = 0 +43929142906316:43929142906961 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43929142914287:43929142915024 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 2 +43929142915963:43929142916418 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 2 +43929142917346:43929142917946 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 +43929142924529:43929142924993 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43929142926125:43929142926699 26045:26045 hsa_signal_store_relaxed(, 2) = void +43929142928379:43929142929013 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43929142935078:43929142935715 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929142938302:43929142941222 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 +43929142942072:43929142942456 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 3 +43929142943202:43929142943541 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 2 +43929142944431:43929142944758 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43929142945499:43929142945884 26045:26045 hsa_signal_store_relaxed(, 3) = void +43929142946971:43929144835668 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929144837159:43929144837630 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929144839147:43929144839798 26045:26045 hsa_signal_destroy() = 0 +43929144840904:43929144841331 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929144842389:43929144843053 26045:26045 hsa_signal_destroy() = 0 +43929144844518:43929144845630 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 +43929144846556:43929144847031 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43929144847884:43929144848436 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 +43929144849331:43929144849756 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43929144850713:43929144851122 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43929144852167:43929144852863 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43929144853731:43929144854384 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e7170) = 0 +43929144855272:43929144857346 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e7130) = 0 +43929144858223:43929144859107 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 +43929145322440:43929145325002 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43929145326402:43929145327119 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43929145328150:43929145328687 26045:26051 hsa_signal_load_relaxed() = 1 +43929144859983:43929145330204 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43929145329598:43929145330978 26045:26051 hsa_signal_store_screlease(, 0) = void +43929145331922:43929145332427 26045:26051 hsa_signal_destroy() = 0 +43929145766304:43929145767114 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929160298088:43929160299227 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929160303814:43929160305098 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929160307399:43929160309746 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 +43929160310873:43929160311523 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43929160312367:43929160312977 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 +43929160313908:43929160314306 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43929160759244:43929160760013 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43929160762090:43929160762725 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43929160763836:43929160765485 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e71d0) = 0 +43929160766456:43929160770508 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e7190) = 0 +43929160771466:43929160773092 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 +43929161257204:43929161260228 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43929161261769:43929161262410 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43929161263521:43929161264052 26045:26051 hsa_signal_load_relaxed() = 1 +43929160773941:43929161265626 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43929161264960:43929161266425 26045:26051 hsa_signal_store_screlease(, 0) = void +43929161266955:43929161267642 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929161267313:43929161267950 26045:26051 hsa_signal_destroy() = 0 +43929161282365:43929161283005 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43929161289306:43929161290160 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 4 +43929161290959:43929161291379 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 4 +43929161292331:43929161292932 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 +43929161293799:43929161294196 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43929161295193:43929161295762 26045:26045 hsa_signal_store_relaxed(, 4) = void +43929161297277:43929161297910 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43929161303737:43929161304375 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929161306276:43929161306940 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 +43929161311781:43929161312158 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 5 +43929161312911:43929161313244 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 4 +43929161314059:43929161314385 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43929161315129:43929161315522 26045:26045 hsa_signal_store_relaxed(, 5) = void +43929161316594:43929163210848 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929163212468:43929163212966 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929163214605:43929163215208 26045:26045 hsa_signal_destroy() = 0 +43929163216250:43929163216683 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929163217711:43929163218146 26045:26045 hsa_signal_destroy() = 0 +43929163219554:43929163220608 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 +43929163221589:43929163222062 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43929163222971:43929163223501 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 +43929163224327:43929163224734 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43929163225688:43929163226096 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43929163227177:43929163227868 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43929163228737:43929163229335 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e7230) = 0 +43929163230196:43929163232166 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e71f0) = 0 +43929163233029:43929163233872 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 +43929163696128:43929163698891 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43929163700289:43929163701008 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43929163702034:43929163702553 26045:26051 hsa_signal_load_relaxed() = 1 +43929163234741:43929163704075 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43929163703456:43929163704794 26045:26051 hsa_signal_store_screlease(, 0) = void +43929163705731:43929163706241 26045:26051 hsa_signal_destroy() = 0 +43929164147117:43929164147936 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929178649862:43929178650929 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929178655359:43929178656553 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929178658472:43929178661282 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 +43929178666568:43929178667206 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43929178668047:43929178668617 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 +43929178669438:43929178669831 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43929179111859:43929179112621 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43929179114623:43929179115261 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43929179116404:43929179117991 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e7290) = 0 +43929179118993:43929179123011 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e7250) = 0 +43929179123935:43929179125613 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 +43929179610189:43929179613422 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43929179614944:43929179615589 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43929179616623:43929179617149 26045:26051 hsa_signal_load_relaxed() = 1 +43929179126429:43929179618696 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43929179618022:43929179619409 26045:26051 hsa_signal_store_screlease(, 0) = void +43929179620092:43929179620761 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929179620294:43929179620913 26045:26051 hsa_signal_destroy() = 0 +43929179634963:43929179635601 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43929179641290:43929179642083 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 6 +43929179642905:43929179643337 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 6 +43929179644251:43929179644846 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 +43929179645660:43929179646056 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43929179647017:43929179647589 26045:26045 hsa_signal_store_relaxed(, 6) = void +43929179649054:43929179649689 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43929179655331:43929179655961 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929179657798:43929179658473 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 +43929179659244:43929179659619 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 7 +43929179660363:43929179660694 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 6 +43929179661494:43929179661830 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43929179662568:43929179662949 26045:26045 hsa_signal_store_relaxed(, 7) = void +43929179663993:43929181590303 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929181619484:43929181620179 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929181622284:43929181623063 26045:26045 hsa_signal_destroy() = 0 +43929181624207:43929181624657 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929181625685:43929181626121 26045:26045 hsa_signal_destroy() = 0 +43929181627577:43929181628983 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 +43929181629946:43929181630483 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43929181631416:43929181632029 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 +43929181632871:43929181633296 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43929181634336:43929181634826 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43929181636098:43929181636820 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43929181637788:43929181638679 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e72f0) = 0 +43929181639606:43929181642667 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e72b0) = 0 +43929181643594:43929181644746 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 +43929182108436:43929182111061 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43929182112513:43929182113244 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43929182114295:43929182114831 26045:26051 hsa_signal_load_relaxed() = 1 +43929181645669:43929182116357 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43929182115730:43929182117083 26045:26051 hsa_signal_store_screlease(, 0) = void +43929182118023:43929182118538 26045:26051 hsa_signal_destroy() = 0 +43929182554379:43929182555185 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929197179150:43929197180286 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929197185918:43929197186974 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929197188745:43929197191516 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 +43929197192634:43929197193332 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43929197194157:43929197194988 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 +43929197195763:43929197196466 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43929197639562:43929197640284 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43929197642049:43929197642674 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43929197647257:43929197648785 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e7350) = 0 +43929197649713:43929197654010 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e7310) = 0 +43929197654963:43929197656940 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 +43929198141437:43929198144433 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43929198146082:43929198146725 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43929198147841:43929198148365 26045:26051 hsa_signal_load_relaxed() = 1 +43929197657834:43929198149905 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43929198149238:43929198150606 26045:26051 hsa_signal_store_screlease(, 0) = void +43929198151096:43929198151774 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929198151491:43929198152129 26045:26051 hsa_signal_destroy() = 0 +43929198167682:43929198168323 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43929198175602:43929198176160 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 8 +43929198177128:43929198177750 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 8 +43929198178659:43929198179237 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 +43929198180069:43929198180442 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43929198181609:43929198182207 26045:26045 hsa_signal_store_relaxed(, 8) = void +43929198183983:43929198184623 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43929198192257:43929198192891 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929198195148:43929198195742 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 +43929198196512:43929198196848 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 9 +43929198197583:43929198197928 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 8 +43929198198884:43929198199215 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43929198199973:43929198200359 26045:26045 hsa_signal_store_relaxed(, 9) = void +43929198201386:43929200128344 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929200143210:43929200144035 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929200146713:43929200157867 26045:26045 hsa_signal_destroy() = 0 +43929200159014:43929200159451 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929200160450:43929200160892 26045:26045 hsa_signal_destroy() = 0 +43929200162403:43929200164055 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 +43929200167276:43929200167811 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43929200168708:43929200169341 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 +43929200170181:43929200170596 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43929200171699:43929200172179 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43929200173447:43929200174157 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43929200175140:43929200176074 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e73b0) = 0 +43929200177011:43929200180130 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e7370) = 0 +43929200181071:43929200182179 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 +43929200644644:43929200647296 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43929200648747:43929200649480 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43929200650537:43929200651072 26045:26051 hsa_signal_load_relaxed() = 1 +43929200183101:43929200652597 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43929200651976:43929200653348 26045:26051 hsa_signal_store_screlease(, 0) = void +43929200654294:43929200654806 26045:26051 hsa_signal_destroy() = 0 +43929201088720:43929201089509 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929215718834:43929215719914 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929215725649:43929215726725 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929215729039:43929215732120 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 +43929215733416:43929215734361 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43929215735201:43929215735964 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 +43929215736772:43929215737264 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43929216190373:43929216191105 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43929216192996:43929216193619 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43929216194714:43929216196179 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e7410) = 0 +43929216197150:43929216201580 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e73d0) = 0 +43929216202555:43929216204535 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 +43929216689694:43929216692945 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43929216694510:43929216695172 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43929216701266:43929216701997 26045:26051 hsa_signal_load_relaxed() = 1 +43929216205397:43929216703557 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43929216702875:43929216704289 26045:26051 hsa_signal_store_screlease(, 0) = void +43929216704826:43929216705552 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929216705207:43929216705812 26045:26051 hsa_signal_destroy() = 0 +43929216721433:43929216722081 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43929216729835:43929216730394 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 10 +43929216731356:43929216731819 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 10 +43929216732766:43929216733379 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 +43929216734157:43929216734514 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43929216735712:43929216736308 26045:26045 hsa_signal_store_relaxed(, 10) = void +43929216737967:43929216738602 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43929216744351:43929216744982 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929216747282:43929216747884 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 +43929216748636:43929216748966 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 11 +43929216749702:43929216750028 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 10 +43929216750974:43929216751298 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43929216752059:43929216752446 26045:26045 hsa_signal_store_relaxed(, 11) = void +43929216753399:43929218680911 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929218695538:43929218696359 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929218699102:43929218700184 26045:26045 hsa_signal_destroy() = 0 +43929218711318:43929218711815 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929218712855:43929218713295 26045:26045 hsa_signal_destroy() = 0 +43929218714750:43929218716150 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 +43929218717153:43929218717672 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43929218718550:43929218719175 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 +43929218720014:43929218720432 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43929218721475:43929218721952 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43929218723210:43929218723921 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43929218727837:43929218728720 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e7470) = 0 +43929218729671:43929218732684 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e7430) = 0 +43929218733630:43929218734736 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 +43929219198227:43929219200879 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43929219202327:43929219203055 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43929219204110:43929219204646 26045:26051 hsa_signal_load_relaxed() = 1 +43929218735699:43929219206140 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43929219205539:43929219206969 26045:26051 hsa_signal_store_screlease(, 0) = void +43929219207917:43929219208430 26045:26051 hsa_signal_destroy() = 0 +43929219642515:43929219643313 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929234217987:43929234219286 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929234225251:43929234226486 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929234228326:43929234231575 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 +43929234232672:43929234233504 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43929234234443:43929234235073 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 +43929234235847:43929234236316 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43929234679911:43929234680764 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43929234682821:43929234683447 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43929234684452:43929234685996 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e74d0) = 0 +43929234686956:43929234691271 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e7490) = 0 +43929234692247:43929234694341 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 +43929235178335:43929235181357 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43929235182952:43929235183612 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43929235184750:43929235185284 26045:26051 hsa_signal_load_relaxed() = 1 +43929234695209:43929235186827 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43929235186173:43929235187551 26045:26051 hsa_signal_store_screlease(, 0) = void +43929235188065:43929235188739 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929235188437:43929235189044 26045:26051 hsa_signal_destroy() = 0 +43929235205469:43929235206116 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43929235213466:43929235214267 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 12 +43929235215161:43929235215631 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 12 +43929235216590:43929235217178 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 +43929235217960:43929235218316 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43929235219451:43929235220050 26045:26045 hsa_signal_store_relaxed(, 12) = void +43929235221640:43929235222272 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43929235228654:43929235229287 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929235231441:43929235232007 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 +43929235232768:43929235233100 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 13 +43929235233842:43929235234170 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 12 +43929235235106:43929235235429 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43929235236189:43929235236569 26045:26045 hsa_signal_store_relaxed(, 13) = void +43929235237581:43929237160160 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929237174446:43929237175262 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929237177922:43929237179008 26045:26045 hsa_signal_destroy() = 0 +43929237190705:43929237191174 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929237192184:43929237192667 26045:26045 hsa_signal_destroy() = 0 +43929237194163:43929237195597 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 +43929237196571:43929237197090 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43929237197976:43929237198604 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 +43929237199445:43929237199859 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43929237200897:43929237201377 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43929237202625:43929237203337 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43929237204319:43929237205149 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e7530) = 0 +43929237206090:43929237209147 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e74f0) = 0 +43929237210086:43929237211200 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 +43929237675533:43929237678209 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43929237679660:43929237680392 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43929237683765:43929237684303 26045:26051 hsa_signal_load_relaxed() = 1 +43929237212145:43929237685841 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43929237685213:43929237686624 26045:26051 hsa_signal_store_screlease(, 0) = void +43929237687535:43929237688051 26045:26051 hsa_signal_destroy() = 0 +43929238128939:43929238129704 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929252725796:43929252726869 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929252732974:43929252734294 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929252736110:43929252739612 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 +43929252740661:43929252741411 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43929252742238:43929252742905 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 +43929252743688:43929252744160 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43929253190777:43929253191643 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43929253193368:43929253193993 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43929253195265:43929253196908 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e7590) = 0 +43929253197819:43929253201962 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e7550) = 0 +43929253203157:43929253205042 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 +43929253688457:43929253691441 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43929253693036:43929253693689 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43929253694775:43929253695311 26045:26051 hsa_signal_load_relaxed() = 1 +43929253205908:43929253696857 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43929253696201:43929253697573 26045:26051 hsa_signal_store_screlease(, 0) = void +43929253698146:43929253698827 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929253698459:43929253699064 26045:26051 hsa_signal_destroy() = 0 +43929253714551:43929253715198 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43929253722920:43929253723480 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 14 +43929253724470:43929253724942 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 14 +43929253726040:43929253726634 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 +43929253727442:43929253727801 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43929253733506:43929253734114 26045:26045 hsa_signal_store_relaxed(, 14) = void +43929253735718:43929253736349 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43929253742530:43929253743160 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929253745473:43929253745983 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 +43929253746747:43929253747083 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 15 +43929253747824:43929253748182 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 14 +43929253749125:43929253749448 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43929253750201:43929253750577 26045:26045 hsa_signal_store_relaxed(, 15) = void +43929253751529:43929255680707 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929255694849:43929255695682 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929255698416:43929255699480 26045:26045 hsa_signal_destroy() = 0 +43929255710585:43929255711081 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929255712120:43929255712567 26045:26045 hsa_signal_destroy() = 0 +43929255713971:43929255715488 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 +43929255716461:43929255716985 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43929255717913:43929255718542 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 +43929255719370:43929255719788 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43929255720851:43929255721330 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43929255722588:43929255723299 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43929255724278:43929255725216 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e75f0) = 0 +43929255726152:43929255729149 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e75b0) = 0 +43929255730081:43929255731194 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 +43929256194930:43929256197868 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43929256199312:43929256200047 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43929256201104:43929256201639 26045:26051 hsa_signal_load_relaxed() = 1 +43929255732119:43929256203244 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43929256202534:43929256203899 26045:26051 hsa_signal_store_screlease(, 0) = void +43929256204837:43929256205348 26045:26051 hsa_signal_destroy() = 0 +43929256640510:43929256641310 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929271251798:43929271252869 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929271258982:43929271260167 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929271262222:43929271265016 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 +43929271266149:43929271266942 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43929271267767:43929271268385 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 +43929271269171:43929271269563 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43929271715861:43929271716826 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43929271718734:43929271719355 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43929271720488:43929271722204 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e7650) = 0 +43929271723228:43929271727704 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e7610) = 0 +43929271728681:43929271730754 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 +43929272216642:43929272219852 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43929272221470:43929272222141 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43929272223317:43929272223851 26045:26051 hsa_signal_load_relaxed() = 1 +43929271731620:43929272225641 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43929272224932:43929272226347 26045:26051 hsa_signal_store_screlease(, 0) = void +43929272226937:43929272227617 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929272227229:43929272227782 26045:26051 hsa_signal_destroy() = 0 +43929272243792:43929272244434 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43929272252112:43929272252669 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 16 +43929272253657:43929272254157 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 16 +43929272255189:43929272255788 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 +43929272256660:43929272257019 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43929272258161:43929272258767 26045:26045 hsa_signal_store_relaxed(, 16) = void +43929272260365:43929272261003 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43929272267435:43929272268067 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929272270310:43929272270973 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 +43929272271727:43929272272052 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 17 +43929272277434:43929272277791 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 16 +43929272278756:43929272279093 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43929272279873:43929272280269 26045:26045 hsa_signal_store_relaxed(, 17) = void +43929272281334:43929274207445 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929274221831:43929274222647 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929274225298:43929274226388 26045:26045 hsa_signal_destroy() = 0 +43929274237620:43929274238115 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929274239132:43929274239570 26045:26045 hsa_signal_destroy() = 0 +43929274241108:43929274242524 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 +43929274243495:43929274244033 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43929274244918:43929274245551 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 +43929274246381:43929274246795 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43929274247842:43929274248326 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43929274249590:43929274250301 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43929274251287:43929274252158 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e76b0) = 0 +43929274253095:43929274256088 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e7670) = 0 +43929274257046:43929274258217 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 +43929274721699:43929274724363 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43929274725841:43929274726575 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43929274727630:43929274728165 26045:26051 hsa_signal_load_relaxed() = 1 +43929274259162:43929274729674 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43929274729066:43929274730448 26045:26051 hsa_signal_store_screlease(, 0) = void +43929274731395:43929274731900 26045:26051 hsa_signal_destroy() = 0 +43929275171650:43929275172458 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929289814663:43929289815728 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929289821211:43929289822372 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929289824344:43929289827332 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 +43929289828467:43929289829230 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43929289835294:43929289836125 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 +43929289837081:43929289837631 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43929290279991:43929290280886 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43929290282941:43929290283563 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43929290284839:43929290286693 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e7710) = 0 +43929290287578:43929290292217 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e76d0) = 0 +43929290293198:43929290295199 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 +43929290779407:43929290782442 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43929290784015:43929290784671 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43929290785743:43929290786273 26045:26051 hsa_signal_load_relaxed() = 1 +43929290296105:43929290787781 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43929290787120:43929290788507 26045:26051 hsa_signal_store_screlease(, 0) = void +43929290789005:43929290789685 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929290789393:43929290789997 26045:26051 hsa_signal_destroy() = 0 +43929290805692:43929290806339 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43929290814130:43929290814698 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 18 +43929290815668:43929290816131 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 18 +43929290817177:43929290817824 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 +43929290818598:43929290818959 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43929290820094:43929290820689 26045:26045 hsa_signal_store_relaxed(, 18) = void +43929290822228:43929290822862 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43929290829132:43929290829765 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929290832019:43929290832688 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 +43929290833461:43929290833789 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 19 +43929290834524:43929290834863 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 18 +43929290835830:43929290836155 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43929290836915:43929290837295 26045:26045 hsa_signal_store_relaxed(, 19) = void +43929290838242:43929292769269 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929292784099:43929292784930 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929292801324:43929292802112 26045:26045 hsa_signal_destroy() = 0 +43929292803246:43929292803702 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929292804745:43929292805232 26045:26045 hsa_signal_destroy() = 0 +43929292806646:43929292808146 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 +43929292809118:43929292809648 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43929292810530:43929292811149 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 +43929292811978:43929292812404 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43929292813446:43929292813932 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43929292815217:43929292815938 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43929292816904:43929292817747 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e7770) = 0 +43929292818680:43929292821769 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e7730) = 0 +43929292822699:43929292823821 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 +43929293287543:43929293290171 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43929293291608:43929293292339 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43929293293394:43929293293927 26045:26051 hsa_signal_load_relaxed() = 1 +43929292824747:43929293295456 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43929293294828:43929293296229 26045:26051 hsa_signal_store_screlease(, 0) = void +43929293297169:43929293297682 26045:26051 hsa_signal_destroy() = 0 +43929293731198:43929293731998 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929308305284:43929308306396 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929308312898:43929308314256 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929308316592:43929308320034 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 +43929308321210:43929308322001 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43929308322835:43929308323545 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 +43929308324343:43929308324826 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43929308797336:43929308798359 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43929308800050:43929308800680 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43929308801820:43929308803603 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e77d0) = 0 +43929308810863:43929308815573 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e7790) = 0 +43929308816568:43929308818521 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 +43929309302684:43929309305886 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43929309307400:43929309308064 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43929309309195:43929309309903 26045:26051 hsa_signal_load_relaxed() = 1 +43929308819426:43929309311430 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43929309310761:43929309312330 26045:26051 hsa_signal_store_screlease(, 0) = void +43929309312617:43929309313281 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929309313215:43929309313876 26045:26051 hsa_signal_destroy() = 0 +43929309331592:43929309332237 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43929309340681:43929309341462 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 20 +43929309342354:43929309342848 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 20 +43929309343848:43929309344463 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 +43929309345292:43929309345659 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43929309346815:43929309347431 26045:26045 hsa_signal_store_relaxed(, 20) = void +43929309348990:43929309349625 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43929309355764:43929309356394 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929309358922:43929309359488 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 +43929309360253:43929309360583 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 21 +43929309361319:43929309361667 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 20 +43929309362614:43929309362941 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43929309363693:43929309364084 26045:26045 hsa_signal_store_relaxed(, 21) = void +43929309365079:43929311284734 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929311286913:43929311287458 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929311299847:43929311300769 26045:26045 hsa_signal_destroy() = 0 +43929311302019:43929311302523 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929311303568:43929311303999 26045:26045 hsa_signal_destroy() = 0 +43929311305694:43929311318216 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 +43929311319282:43929311319760 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43929311322230:43929311322860 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 +43929311323689:43929311324097 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43929311325039:43929311325459 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43929311326492:43929311327210 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43929311328088:43929311328947 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e7830) = 0 +43929311329827:43929311332157 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e77f0) = 0 +43929311333022:43929311333916 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 +43929311797220:43929311799875 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43929311801316:43929311802044 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43929311803091:43929311803628 26045:26051 hsa_signal_load_relaxed() = 1 +43929311334785:43929311805182 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43929311804531:43929311805914 26045:26051 hsa_signal_store_screlease(, 0) = void +43929311806865:43929311807376 26045:26051 hsa_signal_destroy() = 0 +43929312247839:43929312248625 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929326889687:43929326890754 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929326895540:43929326896687 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929326898613:43929326901357 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 +43929326902536:43929326903277 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43929326904088:43929326904624 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 +43929326905470:43929326905944 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43929327364798:43929327365528 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43929327367112:43929327367744 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43929327369121:43929327370717 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e7890) = 0 +43929327371734:43929327375787 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e7850) = 0 +43929327376993:43929327378622 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 +43929327863480:43929327866747 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43929327868280:43929327868937 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43929327870054:43929327870600 26045:26051 hsa_signal_load_relaxed() = 1 +43929327379570:43929327877083 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43929327876377:43929327877847 26045:26051 hsa_signal_store_screlease(, 0) = void +43929327878483:43929327879159 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929327878736:43929327879394 26045:26051 hsa_signal_destroy() = 0 +43929327892901:43929327893541 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43929327899425:43929327900216 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 22 +43929327901120:43929327901585 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 22 +43929327902498:43929327903111 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 +43929327903920:43929327904363 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43929327905260:43929327905838 26045:26045 hsa_signal_store_relaxed(, 22) = void +43929327906973:43929327907605 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43929327913727:43929327914359 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929327916085:43929327916704 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 +43929327917534:43929327917917 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 23 +43929327918667:43929327919005 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 22 +43929327919750:43929327920069 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43929327920801:43929327921187 26045:26045 hsa_signal_store_relaxed(, 23) = void +43929327922222:43929329851018 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929329865504:43929329866314 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929329869352:43929329870430 26045:26045 hsa_signal_destroy() = 0 +43929329881044:43929329881493 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929329882793:43929329883233 26045:26045 hsa_signal_destroy() = 0 +43929329884759:43929329886177 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 +43929329887151:43929329887676 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43929329888659:43929329889291 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 +43929329890379:43929329890792 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43929329891833:43929329892304 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43929329893559:43929329894274 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43929329895258:43929329896150 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e78f0) = 0 +43929329899770:43929329902820 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e78b0) = 0 +43929329903768:43929329904919 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 +43929330368802:43929330371754 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43929330373204:43929330373942 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43929330374996:43929330375534 26045:26051 hsa_signal_load_relaxed() = 1 +43929329905876:43929330377049 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43929330376435:43929330377817 26045:26051 hsa_signal_store_screlease(, 0) = void +43929330378762:43929330379282 26045:26051 hsa_signal_destroy() = 0 +43929330814011:43929330814808 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929345436429:43929345437550 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929345443280:43929345444823 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929345447265:43929345450204 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 +43929345451284:43929345452049 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43929345452886:43929345453579 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 +43929345454357:43929345454826 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43929345908768:43929345909577 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43929345911313:43929345911940 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43929345912945:43929345914406 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e7950) = 0 +43929345915510:43929345919877 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e7910) = 0 +43929345920946:43929345922879 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 +43929346406344:43929346409548 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43929346411039:43929346411696 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43929346412853:43929346413387 26045:26051 hsa_signal_load_relaxed() = 1 +43929345923744:43929346414924 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43929346414271:43929346415663 26045:26051 hsa_signal_store_screlease(, 0) = void +43929346416177:43929346416857 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929346416550:43929346417193 26045:26051 hsa_signal_destroy() = 0 +43929346433013:43929346433667 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43929346445041:43929346445675 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 24 +43929346446541:43929346447181 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 24 +43929346448149:43929346448742 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 +43929346449582:43929346449941 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43929346451082:43929346451682 26045:26045 hsa_signal_store_relaxed(, 24) = void +43929346453455:43929346454100 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43929346460558:43929346461190 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929346463398:43929346463964 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 +43929346464721:43929346465050 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 25 +43929346465789:43929346466122 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 24 +43929346467057:43929346467380 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43929346468134:43929346468517 26045:26045 hsa_signal_store_relaxed(, 25) = void +43929346469525:43929348402329 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929348416671:43929348417491 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929348420171:43929348421255 26045:26045 hsa_signal_destroy() = 0 +43929348432355:43929348432865 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929348433858:43929348434338 26045:26045 hsa_signal_destroy() = 0 +43929348436016:43929348437434 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 +43929348438411:43929348438935 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43929348439846:43929348440472 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 +43929348441299:43929348441715 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43929348442754:43929348443236 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43929348444506:43929348445219 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43929348446203:43929348447101 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e79b0) = 0 +43929348448035:43929348451122 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e7970) = 0 +43929348452066:43929348453196 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 +43929348915642:43929348918354 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43929348919793:43929348920520 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43929348924662:43929348925201 26045:26051 hsa_signal_load_relaxed() = 1 +43929348454147:43929348926708 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43929348926102:43929348927439 26045:26051 hsa_signal_store_screlease(, 0) = void +43929348928354:43929348928871 26045:26051 hsa_signal_destroy() = 0 +43929349362276:43929349363090 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929363939143:43929363940215 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929363946248:43929363947269 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929363949461:43929363952630 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 +43929363953969:43929363954645 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43929363955471:43929363956097 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 +43929363956902:43929363957371 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43929364438479:43929364439223 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43929364441151:43929364441779 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43929364443010:43929364444680 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e7a10) = 0 +43929364445747:43929364449916 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e79d0) = 0 +43929364450948:43929364452562 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 +43929364935662:43929364938668 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43929364940171:43929364940830 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43929364941997:43929364942538 26045:26051 hsa_signal_load_relaxed() = 1 +43929364453430:43929364944090 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43929364943427:43929364944822 26045:26051 hsa_signal_store_screlease(, 0) = void +43929364945321:43929364945994 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929364945805:43929364946440 26045:26051 hsa_signal_destroy() = 0 +43929364962915:43929364963566 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43929364971278:43929364971926 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 26 +43929364972821:43929364973295 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 26 +43929364974242:43929364974840 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 +43929364975651:43929364976012 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43929364977168:43929364977760 26045:26045 hsa_signal_store_relaxed(, 26) = void +43929364984324:43929364984960 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43929364991337:43929364991968 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929364994132:43929364994637 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 +43929364995400:43929364995727 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 27 +43929364996467:43929364996809 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 26 +43929364997699:43929364998025 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43929364998785:43929364999169 26045:26045 hsa_signal_store_relaxed(, 27) = void +43929365000103:43929366920667 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929366935111:43929366935945 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929366938576:43929366939668 26045:26045 hsa_signal_destroy() = 0 +43929366950251:43929366950750 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929366951800:43929366952240 26045:26045 hsa_signal_destroy() = 0 +43929366953736:43929366955151 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 +43929366956125:43929366956648 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43929366957576:43929366958205 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 +43929366959034:43929366959446 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43929366960479:43929366960953 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43929366962214:43929366962928 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43929366963905:43929366964839 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e7a70) = 0 +43929366965765:43929366968776 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e7a30) = 0 +43929366969794:43929366970997 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 +43929367434790:43929367437382 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43929367438807:43929367439537 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43929367440594:43929367441127 26045:26051 hsa_signal_load_relaxed() = 1 +43929366971948:43929367442634 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43929367442026:43929367443385 26045:26051 hsa_signal_store_screlease(, 0) = void +43929367444324:43929367444850 26045:26051 hsa_signal_destroy() = 0 +43929367887135:43929367887947 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929382526761:43929382527816 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929382533568:43929382534649 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929382536676:43929382539712 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 +43929382540855:43929382541638 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43929382542481:43929382543180 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 +43929382543980:43929382544450 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43929383022222:43929383023142 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43929383024840:43929383025466 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43929383026469:43929383027894 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e7ad0) = 0 +43929383028917:43929383032847 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e7a90) = 0 +43929383033845:43929383035708 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 +43929383519641:43929383522730 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43929383524253:43929383525050 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43929383526172:43929383526710 26045:26051 hsa_signal_load_relaxed() = 1 +43929383036750:43929383528265 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43929383527609:43929383529018 26045:26051 hsa_signal_store_screlease(, 0) = void +43929383529495:43929383530174 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929383529903:43929383530563 26045:26051 hsa_signal_destroy() = 0 +43929383546413:43929383547064 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43929383554505:43929383555151 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 28 +43929383556036:43929383556501 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 28 +43929383557614:43929383558239 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 +43929383559043:43929383559404 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43929383560562:43929383561153 26045:26045 hsa_signal_store_relaxed(, 28) = void +43929383562711:43929383563347 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43929383569700:43929383570330 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929383572561:43929383573326 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 +43929383574086:43929383574414 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 29 +43929383575150:43929383575494 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 28 +43929383580666:43929383581015 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43929383581774:43929383582156 26045:26045 hsa_signal_store_relaxed(, 29) = void +43929383583144:43929385506452 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929385520818:43929385521633 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929385524496:43929385525579 26045:26045 hsa_signal_destroy() = 0 +43929385536675:43929385537157 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929385538250:43929385538692 26045:26045 hsa_signal_destroy() = 0 +43929385540199:43929385541641 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 +43929385542627:43929385543146 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43929385544056:43929385544686 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 +43929385545527:43929385545947 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43929385547000:43929385547487 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43929385548760:43929385549473 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43929385550455:43929385551329 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e7b30) = 0 +43929385552265:43929385555341 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e7af0) = 0 +43929385556288:43929385557399 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 +43929386020524:43929386023155 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43929386024609:43929386025341 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43929386026394:43929386026933 26045:26051 hsa_signal_load_relaxed() = 1 +43929385558347:43929386028433 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43929386027828:43929386029272 26045:26051 hsa_signal_store_screlease(, 0) = void +43929386030213:43929386030721 26045:26051 hsa_signal_destroy() = 0 +43929386465847:43929386466653 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929401098385:43929401099456 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929401105161:43929401106332 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929401108450:43929401111208 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 +43929401112591:43929401113344 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43929401114186:43929401114792 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 +43929401120946:43929401121434 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43929401575328:43929401576258 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43929401577869:43929401578507 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43929401579616:43929401581201 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e7b90) = 0 +43929401582144:43929401586383 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e7b50) = 0 +43929401587336:43929401589262 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 +43929402057421:43929402060466 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43929402061985:43929402062654 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43929402063778:43929402064310 26045:26051 hsa_signal_load_relaxed() = 1 +43929401590219:43929402065841 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43929402065181:43929402066571 26045:26051 hsa_signal_store_screlease(, 0) = void +43929402067139:43929402067819 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929402067458:43929402068104 26045:26051 hsa_signal_destroy() = 0 +43929402083730:43929402084396 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43929402092066:43929402092714 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 30 +43929402093605:43929402094079 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 30 +43929402095007:43929402095624 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 +43929402096407:43929402096764 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43929402097907:43929402098500 26045:26045 hsa_signal_store_relaxed(, 30) = void +43929402100129:43929402100759 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43929402108690:43929402109317 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929402111515:43929402112149 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 +43929402112903:43929402113226 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 31 +43929402113968:43929402114305 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 30 +43929402115239:43929402115566 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43929402116319:43929402116699 26045:26045 hsa_signal_store_relaxed(, 31) = void +43929402117638:43929402675171 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929402688138:43929402688910 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929402691395:43929402692409 26045:26045 hsa_signal_destroy() = 0 +43929402706485:43929402707005 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929402707968:43929402708409 26045:26045 hsa_signal_destroy() = 0 +43929402709899:43929402711211 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 +43929402712085:43929402712558 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43929402713369:43929402713981 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 +43929402714735:43929402715111 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43929402716054:43929402716485 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43929402717620:43929402718263 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43929402719144:43929402719915 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e7bf0) = 0 +43929402720758:43929402723238 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e7bb0) = 0 +43929402724084:43929402725102 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 +43929403216040:43929403218851 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43929403220193:43929403220853 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43929403221808:43929403222286 26045:26051 hsa_signal_load_relaxed() = 1 +43929402725922:43929403223744 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43929403223092:43929403224356 26045:26051 hsa_signal_store_screlease(, 0) = void +43929403225199:43929403225667 26045:26051 hsa_signal_destroy() = 0 +43929403667394:43929403668254 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929418298409:43929418299474 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929418305197:43929418306476 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929418308419:43929418310898 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 +43929418311992:43929418312745 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43929418313568:43929418314149 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 +43929418314920:43929418315396 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43929418771823:43929418772575 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43929418774462:43929418775092 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43929418776123:43929418777795 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e7c50) = 0 +43929418778810:43929418783188 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e7c10) = 0 +43929418787985:43929418789976 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 +43929419258162:43929419261187 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43929419262645:43929419263304 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43929419264398:43929419264939 26045:26051 hsa_signal_load_relaxed() = 1 +43929418790831:43929419266449 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43929419265808:43929419267195 26045:26051 hsa_signal_store_screlease(, 0) = void +43929419267659:43929419268339 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929419268081:43929419268732 26045:26051 hsa_signal_destroy() = 0 +43929419284201:43929419284856 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43929419292618:43929419293264 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 32 +43929419294310:43929419294774 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 32 +43929419295796:43929419296402 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 +43929419297238:43929419297592 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43929419298717:43929419299312 26045:26045 hsa_signal_store_relaxed(, 32) = void +43929419300924:43929419301555 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43929419307607:43929419308238 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929419310815:43929419311380 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 +43929419312140:43929419312471 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 33 +43929419313206:43929419313560 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 32 +43929419314430:43929419314752 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43929419315509:43929419315891 26045:26045 hsa_signal_store_relaxed(, 33) = void +43929419316913:43929419873409 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929419886980:43929419887753 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929419890282:43929419891325 26045:26045 hsa_signal_destroy() = 0 +43929419892530:43929419893356 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929419903932:43929419904333 26045:26045 hsa_signal_destroy() = 0 +43929419905803:43929419907124 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 +43929419908004:43929419908477 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43929419909268:43929419909836 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 +43929419914629:43929419915011 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43929419915967:43929419916402 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43929419917543:43929419918179 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43929419919061:43929419919909 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e7cb0) = 0 +43929419920752:43929419923252 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e7c70) = 0 +43929419924099:43929419925097 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 +43929420429654:43929420432285 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43929420433618:43929420434276 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43929420435222:43929420435703 26045:26051 hsa_signal_load_relaxed() = 1 +43929419925957:43929420437260 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43929420436508:43929420437759 26045:26051 hsa_signal_store_screlease(, 0) = void +43929420438602:43929420439064 26045:26051 hsa_signal_destroy() = 0 +43929420880916:43929420881765 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929435490072:43929435491275 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929435497504:43929435498675 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929435500516:43929435503557 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 +43929435504640:43929435505468 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43929435506294:43929435506993 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 +43929435507832:43929435508320 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43929435965425:43929435966336 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43929435968320:43929435968956 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43929435969981:43929435971535 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e7d10) = 0 +43929435972551:43929435976763 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e7cd0) = 0 +43929435977802:43929435979967 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 +43929436460732:43929436463734 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43929436465179:43929436465824 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43929436466965:43929436467487 26045:26051 hsa_signal_load_relaxed() = 1 +43929435980885:43929436469098 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43929436468370:43929436469754 26045:26051 hsa_signal_store_screlease(, 0) = void +43929436473776:43929436474410 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929436474949:43929436475540 26045:26051 hsa_signal_destroy() = 0 +43929436493052:43929436493709 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43929436501562:43929436502211 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 34 +43929436503201:43929436503662 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 34 +43929436504596:43929436505248 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 +43929436506094:43929436506459 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43929436507599:43929436508205 26045:26045 hsa_signal_store_relaxed(, 34) = void +43929436509848:43929436510479 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43929436517110:43929436517744 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929436519895:43929436520665 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 +43929436521414:43929436521741 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 35 +43929436522477:43929436522814 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 34 +43929436523756:43929436524084 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43929436524850:43929436525231 26045:26045 hsa_signal_store_relaxed(, 35) = void +43929436526185:43929437082748 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929437096284:43929437097057 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929437099554:43929437100561 26045:26045 hsa_signal_destroy() = 0 +43929437101769:43929437102212 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929437112657:43929437113123 26045:26045 hsa_signal_destroy() = 0 +43929437114494:43929437116068 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 +43929437116950:43929437117417 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43929437118220:43929437118785 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 +43929437119532:43929437119907 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43929437120852:43929437121288 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43929437122416:43929437123059 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43929437123944:43929437124705 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e7d70) = 0 +43929437127503:43929437130206 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e7d30) = 0 +43929437131061:43929437132104 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 +43929437625299:43929437627771 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43929437629115:43929437629772 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43929437630729:43929437631211 26045:26051 hsa_signal_load_relaxed() = 1 +43929437132958:43929437632681 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43929437632022:43929437633306 26045:26051 hsa_signal_store_screlease(, 0) = void +43929437634150:43929437634612 26045:26051 hsa_signal_destroy() = 0 +43929438077750:43929438078605 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929452739469:43929452740544 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929452746614:43929452747634 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929452749806:43929452752512 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 +43929452753563:43929452754234 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43929452755058:43929452755719 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 +43929452756496:43929452756968 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43929453244764:43929453245500 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43929453247518:43929453248139 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43929453249151:43929453250593 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e7dd0) = 0 +43929453251621:43929453255586 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e7d90) = 0 +43929453256644:43929453258576 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 +43929453725817:43929453728826 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43929453730291:43929453730939 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43929453732052:43929453732584 26045:26051 hsa_signal_load_relaxed() = 1 +43929453259503:43929453734137 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43929453733477:43929453734857 26045:26051 hsa_signal_store_screlease(, 0) = void +43929453735402:43929453736144 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929453735811:43929453736474 26045:26051 hsa_signal_destroy() = 0 +43929453752199:43929453752858 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43929453760731:43929453761378 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 36 +43929453766047:43929453766676 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 36 +43929453767660:43929453768287 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 +43929453769128:43929453769481 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43929453770624:43929453771247 26045:26045 hsa_signal_store_relaxed(, 36) = void +43929453772813:43929453773449 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43929453779948:43929453780583 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929453782926:43929453783515 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 +43929453784264:43929453784590 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 37 +43929453785337:43929453785668 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 36 +43929453786626:43929453786972 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43929453787727:43929453788108 26045:26045 hsa_signal_store_relaxed(, 37) = void +43929453789073:43929454347961 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929454361392:43929454362169 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929454364625:43929454365634 26045:26045 hsa_signal_destroy() = 0 +43929454366849:43929454367712 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929454378742:43929454379197 26045:26045 hsa_signal_destroy() = 0 +43929454380652:43929454381980 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 +43929454382871:43929454383344 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43929454384176:43929454384733 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 +43929454385495:43929454385866 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43929454386805:43929454387236 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43929454388366:43929454389004 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43929454389895:43929454390684 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e7e30) = 0 +43929454391524:43929454393988 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e7df0) = 0 +43929454394845:43929454395867 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 +43929454887819:43929454890347 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43929454891667:43929454892324 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43929454893278:43929454893766 26045:26051 hsa_signal_load_relaxed() = 1 +43929454396714:43929454897880 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43929454897221:43929454898449 26045:26051 hsa_signal_store_screlease(, 0) = void +43929454899283:43929454899739 26045:26051 hsa_signal_destroy() = 0 +43929455342180:43929455343023 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929469997961:43929469999088 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929470004910:43929470006011 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929470008006:43929470011172 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 +43929470012265:43929470013027 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43929470013864:43929470014616 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 +43929470015429:43929470015899 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43929470471749:43929470472484 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43929470474119:43929470474751 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43929470475810:43929470477224 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e7e90) = 0 +43929470478252:43929470482236 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e7e50) = 0 +43929470483240:43929470485202 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 +43929470953625:43929470956677 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43929470958190:43929470958847 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43929470960002:43929470960534 26045:26051 hsa_signal_load_relaxed() = 1 +43929470486075:43929470962106 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43929470961442:43929470962831 26045:26051 hsa_signal_store_screlease(, 0) = void +43929470963393:43929470964163 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929470963803:43929470964447 26045:26051 hsa_signal_destroy() = 0 +43929470980410:43929470981056 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43929470988947:43929470989574 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 38 +43929470990385:43929470990849 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 38 +43929470991800:43929470992403 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 +43929470993216:43929470993572 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43929470994733:43929470995325 26045:26045 hsa_signal_store_relaxed(, 38) = void +43929470996944:43929470997580 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43929471009036:43929471009668 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929471011863:43929471012364 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 +43929471013142:43929471013481 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 39 +43929471014213:43929471014545 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 38 +43929471015483:43929471015812 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43929471016577:43929471016968 26045:26045 hsa_signal_store_relaxed(, 39) = void +43929471017961:43929471572217 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929471585584:43929471586363 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929471588851:43929471589866 26045:26045 hsa_signal_destroy() = 0 +43929471591086:43929471591610 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929471592678:43929471603111 26045:26045 hsa_signal_destroy() = 0 +43929471604549:43929471605879 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 +43929471606765:43929471607245 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43929471608056:43929471608616 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 +43929471609364:43929471609747 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43929471610687:43929471611127 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43929471612260:43929471612914 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43929471613793:43929471614650 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e7ef0) = 0 +43929471615485:43929471618200 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e7eb0) = 0 +43929471619043:43929471620063 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 +43929472112280:43929472114775 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43929472116099:43929472116765 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43929472117710:43929472118196 26045:26051 hsa_signal_load_relaxed() = 1 +43929471620908:43929472119739 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43929472119000:43929472120239 26045:26051 hsa_signal_store_screlease(, 0) = void +43929472121079:43929472121541 26045:26051 hsa_signal_destroy() = 0 +43929472565326:43929472566182 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929487180702:43929487181757 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929487193391:43929487194579 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929487196566:43929487199735 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 +43929487200757:43929487201515 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43929487202348:43929487203031 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 +43929487214273:43929487214765 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43929487669497:43929487670327 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43929487672115:43929487672739 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43929487673750:43929487675440 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e7f50) = 0 +43929487676660:43929487680909 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e7f10) = 0 +43929487681874:43929487683804 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 +43929488151795:43929488155094 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43929488156598:43929488157247 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43929488158369:43929488158895 26045:26051 hsa_signal_load_relaxed() = 1 +43929487684728:43929488160504 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43929488159745:43929488161169 26045:26051 hsa_signal_store_screlease(, 0) = void +43929488161906:43929488162598 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929488162105:43929488162766 26045:26051 hsa_signal_destroy() = 0 +43929488178744:43929488179391 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43929488187214:43929488187854 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 40 +43929488188746:43929488189223 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 40 +43929488190158:43929488190766 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 +43929488191628:43929488191995 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43929488193164:43929488193768 26045:26045 hsa_signal_store_relaxed(, 40) = void +43929488195355:43929488195990 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43929488202476:43929488203104 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929488205341:43929488205984 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 +43929488206751:43929488207085 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 41 +43929488207822:43929488208174 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 40 +43929488209142:43929488209465 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43929488211804:43929488212188 26045:26045 hsa_signal_store_relaxed(, 41) = void +43929488213230:43929488773874 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929488787262:43929488788032 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929488790520:43929488791543 26045:26045 hsa_signal_destroy() = 0 +43929488792797:43929488793243 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929488794235:43929488804187 26045:26045 hsa_signal_destroy() = 0 +43929488805556:43929488807086 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 +43929488807970:43929488808443 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43929488809239:43929488809799 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 +43929488810544:43929488810921 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43929488811872:43929488812311 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43929488813445:43929488814086 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43929488814967:43929488815762 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e7fb0) = 0 +43929488816608:43929488819074 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e7f70) = 0 +43929488819936:43929488820966 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 +43929489313167:43929489315769 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43929489317084:43929489317736 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43929489318687:43929489319165 26045:26051 hsa_signal_load_relaxed() = 1 +43929488821816:43929489320628 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43929489319976:43929489321221 26045:26051 hsa_signal_store_screlease(, 0) = void +43929489322064:43929489322526 26045:26051 hsa_signal_destroy() = 0 +43929489762742:43929489763584 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929504399790:43929504400861 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929504407143:43929504408158 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929504410099:43929504413297 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 +43929504414378:43929504415128 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43929504415958:43929504416552 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 +43929504417320:43929504417792 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43929504891368:43929504892193 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43929504896527:43929504897150 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43929504898162:43929504899703 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e8010) = 0 +43929504900751:43929504905066 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e7fd0) = 0 +43929504905961:43929504907938 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 +43929505376510:43929505379778 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43929505381293:43929505381959 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43929505383055:43929505383588 26045:26051 hsa_signal_load_relaxed() = 1 +43929504908775:43929505385120 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43929505384440:43929505385831 26045:26051 hsa_signal_store_screlease(, 0) = void +43929505386386:43929505387086 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929505386757:43929505387401 26045:26051 hsa_signal_destroy() = 0 +43929505403909:43929505404552 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43929505412446:43929505413213 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 42 +43929505414098:43929505414563 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 42 +43929505415484:43929505416097 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 +43929505416940:43929505417300 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43929505418435:43929505419037 26045:26045 hsa_signal_store_relaxed(, 42) = void +43929505420666:43929505421296 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43929505427663:43929505428294 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929505430359:43929505430985 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 +43929505431749:43929505432083 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 43 +43929505432818:43929505433169 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 42 +43929505434127:43929505434446 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43929505435199:43929505435582 26045:26045 hsa_signal_store_relaxed(, 43) = void +43929505436526:43929505991688 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929505993678:43929505994175 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929505995648:43929505996212 26045:26045 hsa_signal_destroy() = 0 +43929506008060:43929506008551 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929506013801:43929506014282 26045:26045 hsa_signal_destroy() = 0 +43929506025613:43929506026700 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 +43929506027548:43929506027981 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43929506028750:43929506029226 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 +43929506029963:43929506030329 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43929506031184:43929506031588 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43929506032555:43929506033181 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43929506033973:43929506034503 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e8070) = 0 +43929506035270:43929506037257 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e8030) = 0 +43929506038036:43929506038766 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 +43929506531086:43929506533511 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43929506534863:43929506535516 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43929506536458:43929506536940 26045:26051 hsa_signal_load_relaxed() = 1 +43929506039535:43929506538396 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43929506537748:43929506539003 26045:26051 hsa_signal_store_screlease(, 0) = void +43929506539849:43929506540319 26045:26051 hsa_signal_destroy() = 0 +43929506979890:43929506980740 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929521606516:43929521607582 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929521612368:43929521613558 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929521615712:43929521618393 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 +43929521619548:43929521620239 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43929521621059:43929521621640 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 +43929521622512:43929521622999 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43929522089602:43929522090942 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43929522092781:43929522093405 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43929522094442:43929522096064 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e80d0) = 0 +43929522097095:43929522100999 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e8090) = 0 +43929522101981:43929522103783 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 +43929522570994:43929522574128 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43929522575681:43929522576340 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43929522577545:43929522578082 26045:26051 hsa_signal_load_relaxed() = 1 +43929522108460:43929522579619 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43929522578956:43929522580337 26045:26051 hsa_signal_store_screlease(, 0) = void +43929522581132:43929522581812 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929522581220:43929522581867 26045:26051 hsa_signal_destroy() = 0 +43929522596321:43929522596974 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43929522603085:43929522603677 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 44 +43929522604636:43929522605064 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 44 +43929522606018:43929522606600 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 +43929522607383:43929522607827 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43929522608833:43929522609416 26045:26045 hsa_signal_store_relaxed(, 44) = void +43929522610848:43929522611479 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43929522617491:43929522618126 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929522619796:43929522620354 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 +43929522621178:43929522621508 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 45 +43929522622246:43929522622578 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 44 +43929522623318:43929522623644 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43929522624387:43929522624831 26045:26045 hsa_signal_store_relaxed(, 45) = void +43929522626050:43929523185591 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929523187066:43929523187544 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929523188893:43929523189442 26045:26045 hsa_signal_destroy() = 0 +43929523190338:43929523201030 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929523202010:43929523202403 26045:26045 hsa_signal_destroy() = 0 +43929523204031:43929523206022 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 +43929523207051:43929523207570 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43929523208432:43929523218500 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 +43929523221064:43929523221443 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43929523222320:43929523222705 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43929523223656:43929523224285 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43929523225076:43929523225684 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e8130) = 0 +43929523226448:43929523228277 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e80f0) = 0 +43929523229053:43929523229777 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 +43929523722771:43929523725183 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43929523726518:43929523727170 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43929523728111:43929523728594 26045:26051 hsa_signal_load_relaxed() = 1 +43929523230574:43929523730061 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43929523729410:43929523730641 26045:26051 hsa_signal_store_screlease(, 0) = void +43929523731489:43929523731954 26045:26051 hsa_signal_destroy() = 0 +43929524180065:43929524180903 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929538838351:43929538839423 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929538843920:43929538844942 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929538846880:43929538849203 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 +43929538850294:43929538851178 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43929538851995:43929538852708 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 +43929538853651:43929538854147 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43929539321625:43929539322518 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43929539324025:43929539324648 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43929539326003:43929539327871 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e8190) = 0 +43929539328893:43929539333016 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e8150) = 0 +43929539334007:43929539335511 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 +43929539803747:43929539806785 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43929539808367:43929539809038 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43929539810200:43929539810737 26045:26051 hsa_signal_load_relaxed() = 1 +43929539336426:43929539812348 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43929539811705:43929539813097 26045:26051 hsa_signal_store_screlease(, 0) = void +43929539813800:43929539814430 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929539818959:43929539819657 26045:26051 hsa_signal_destroy() = 0 +43929539831849:43929539832481 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43929539838051:43929539838832 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 46 +43929539839787:43929539840214 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 46 +43929539841086:43929539841729 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 +43929539842516:43929539842966 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43929539843920:43929539844494 26045:26045 hsa_signal_store_relaxed(, 46) = void +43929539845818:43929539846449 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43929539852521:43929539853156 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929539854760:43929539855383 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 +43929539856208:43929539856590 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 47 +43929539857328:43929539857659 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 46 +43929539858402:43929539858722 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43929539859462:43929539859837 26045:26045 hsa_signal_store_relaxed(, 47) = void +43929539860866:43929540413762 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929540415249:43929540415744 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929540417184:43929540417736 26045:26045 hsa_signal_destroy() = 0 +43929540418709:43929540429343 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929540430346:43929540430743 26045:26045 hsa_signal_destroy() = 0 +43929540432337:43929540434147 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 +43929540435194:43929540435765 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43929540436635:43929540437115 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 +43929540447290:43929540447674 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43929540448564:43929540448998 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43929540449978:43929540450619 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43929540451417:43929540451955 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e81f0) = 0 +43929540452717:43929540454585 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e81b0) = 0 +43929540456736:43929540457513 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 +43929540949826:43929540952315 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43929540953654:43929540954309 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43929540955252:43929540955733 26045:26051 hsa_signal_load_relaxed() = 1 +43929540458321:43929540957188 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43929540956539:43929540957819 26045:26051 hsa_signal_store_screlease(, 0) = void +43929540958670:43929540959137 26045:26051 hsa_signal_destroy() = 0 +43929541399790:43929541400616 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929556033565:43929556034639 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929556039249:43929556040423 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929556042920:43929556045332 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 +43929556046399:43929556047138 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43929556047963:43929556048620 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 +43929556049414:43929556049881 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43929556535933:43929556536668 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43929556538205:43929556538832 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43929556540051:43929556541685 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e8250) = 0 +43929556542781:43929556546715 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e8210) = 0 +43929556547687:43929556549317 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 +43929557016936:43929557020017 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43929557021614:43929557022260 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43929557023438:43929557024121 26045:26051 hsa_signal_load_relaxed() = 1 +43929556550233:43929557025676 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43929557025024:43929557026403 26045:26051 hsa_signal_store_screlease(, 0) = void +43929557026975:43929557027656 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929557027291:43929557027964 26045:26051 hsa_signal_destroy() = 0 +43929557041536:43929557042172 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43929557048206:43929557048863 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 48 +43929557049818:43929557050221 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 48 +43929557056477:43929557057085 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 +43929557057868:43929557058313 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43929557059271:43929557059879 26045:26045 hsa_signal_store_relaxed(, 48) = void +43929557061219:43929557061860 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43929557067527:43929557068155 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929557070025:43929557070609 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 +43929557071438:43929557071820 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 49 +43929557072558:43929557072882 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 48 +43929557073621:43929557073938 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43929557074677:43929557075057 26045:26045 hsa_signal_store_relaxed(, 49) = void +43929557076085:43929557637968 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929557651579:43929557652353 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929557655086:43929557656097 26045:26045 hsa_signal_destroy() = 0 +43929557657407:43929557658073 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929557668606:43929557669056 26045:26045 hsa_signal_destroy() = 0 +43929557670545:43929557671857 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 +43929557672742:43929557673216 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43929557674073:43929557674643 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 +43929557675393:43929557675768 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43929557676715:43929557677153 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43929557678290:43929557678929 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43929557679815:43929557680648 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e82b0) = 0 +43929557681498:43929557684218 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e8270) = 0 +43929557685069:43929557686219 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 +43929558178255:43929558180790 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43929558182104:43929558182761 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43929558183709:43929558184192 26045:26051 hsa_signal_load_relaxed() = 1 +43929557687069:43929558185658 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43929558185000:43929558186229 26045:26051 hsa_signal_store_screlease(, 0) = void +43929558190285:43929558190745 26045:26051 hsa_signal_destroy() = 0 +43929558633220:43929558634070 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929573275474:43929573276546 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929573282557:43929573283537 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929573285810:43929573288319 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 +43929573289399:43929573290193 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43929573291041:43929573291735 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 +43929573292536:43929573293006 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43929573778001:43929573778737 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43929573780535:43929573781157 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43929573782304:43929573783673 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e8310) = 0 +43929573784697:43929573788940 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e82d0) = 0 +43929573790080:43929573792049 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 +43929574258542:43929574261819 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43929574263312:43929574263968 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43929574265130:43929574265670 26045:26051 hsa_signal_load_relaxed() = 1 +43929573793045:43929574267235 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43929574266583:43929574267971 26045:26051 hsa_signal_store_screlease(, 0) = void +43929574268497:43929574269176 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929574268853:43929574269499 26045:26051 hsa_signal_destroy() = 0 +43929574284841:43929574285490 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43929574293437:43929574294075 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 50 +43929574294950:43929574295539 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 50 +43929574296493:43929574297091 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 +43929574297909:43929574298264 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43929574299428:43929574300035 26045:26045 hsa_signal_store_relaxed(, 50) = void +43929574301676:43929574302318 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43929574308749:43929574309378 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929574316109:43929574316718 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 +43929574317486:43929574317821 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 51 +43929574318554:43929574318893 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 50 +43929574319853:43929574320187 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43929574320944:43929574321339 26045:26045 hsa_signal_store_relaxed(, 51) = void +43929574322299:43929574877016 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929574890422:43929574891204 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929574893692:43929574894762 26045:26045 hsa_signal_destroy() = 0 +43929574896008:43929574896652 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929574907699:43929574908128 26045:26045 hsa_signal_destroy() = 0 +43929574909535:43929574910912 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 +43929574911792:43929574912256 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43929574913084:43929574913647 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 +43929574914389:43929574914760 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43929574915713:43929574916146 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43929574917276:43929574917921 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43929574918810:43929574919660 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e8370) = 0 +43929574920502:43929574922970 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e8330) = 0 +43929574923822:43929574924850 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 +43929575417602:43929575420105 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43929575421433:43929575422085 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43929575423035:43929575423516 26045:26051 hsa_signal_load_relaxed() = 1 +43929574925689:43929575424997 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43929575424332:43929575425626 26045:26051 hsa_signal_store_screlease(, 0) = void +43929575426463:43929575426923 26045:26051 hsa_signal_destroy() = 0 +43929575869413:43929575870249 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929590505356:43929590506470 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929590512659:43929590513646 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929590521288:43929590524450 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 +43929590525563:43929590526289 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43929590527113:43929590538075 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 +43929590538945:43929590539438 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43929590997057:43929590997927 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43929590999569:43929591000190 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43929591001221:43929591002972 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e83d0) = 0 +43929591003958:43929591008560 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e8390) = 0 +43929591009517:43929591011612 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 +43929591478365:43929591481378 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43929591482879:43929591483533 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43929591484657:43929591485187 26045:26051 hsa_signal_load_relaxed() = 1 +43929591012518:43929591486695 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43929591486060:43929591487450 26045:26051 hsa_signal_store_screlease(, 0) = void +43929591487951:43929591488632 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929591488334:43929591488990 26045:26051 hsa_signal_destroy() = 0 +43929591506297:43929591506965 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43929591514616:43929591515251 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 52 +43929591516133:43929591516601 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 52 +43929591517583:43929591518208 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 +43929591519047:43929591519402 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43929591520540:43929591521145 26045:26045 hsa_signal_store_relaxed(, 52) = void +43929591522846:43929591523477 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43929591529728:43929591530360 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929591532527:43929591533166 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 +43929591533926:43929591534257 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 53 +43929591534991:43929591535323 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 52 +43929591536272:43929591536600 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43929591537353:43929591537734 26045:26045 hsa_signal_store_relaxed(, 53) = void +43929591539669:43929592094058 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929592107637:43929592108406 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929592110842:43929592111853 26045:26045 hsa_signal_destroy() = 0 +43929592113133:43929592113574 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929592123995:43929592124462 26045:26045 hsa_signal_destroy() = 0 +43929592125879:43929592127210 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 +43929592128087:43929592128559 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43929592129350:43929592129921 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 +43929592130670:43929592131042 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43929592131989:43929592132426 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43929592133557:43929592134200 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43929592135081:43929592135886 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e8430) = 0 +43929592136729:43929592139470 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e83f0) = 0 +43929592140321:43929592141338 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 +43929592632657:43929592635123 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43929592636446:43929592637105 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43929592638056:43929592638542 26045:26051 hsa_signal_load_relaxed() = 1 +43929592142188:43929592640011 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43929592639354:43929592640602 26045:26051 hsa_signal_store_screlease(, 0) = void +43929592641442:43929592641900 26045:26051 hsa_signal_destroy() = 0 +43929593083215:43929593084063 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929607744724:43929607745796 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929607751970:43929607753258 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929607755235:43929607758264 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 +43929607759393:43929607760089 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43929607760930:43929607761559 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 +43929607762333:43929607762808 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43929608232776:43929608233456 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43929608240412:43929608241053 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43929608242096:43929608243532 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e8490) = 0 +43929608244584:43929608248645 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e8450) = 0 +43929608249537:43929608251621 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 +43929608719795:43929608722841 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43929608724323:43929608724980 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43929608726087:43929608726623 26045:26051 hsa_signal_load_relaxed() = 1 +43929608252618:43929608728173 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43929608727495:43929608728904 26045:26051 hsa_signal_store_screlease(, 0) = void +43929608729434:43929608730110 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929608729789:43929608730443 26045:26051 hsa_signal_destroy() = 0 +43929608746135:43929608746774 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43929608754241:43929608754866 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 54 +43929608755740:43929608756396 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 54 +43929608757381:43929608757992 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 +43929608758827:43929608759179 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43929608760325:43929608760937 26045:26045 hsa_signal_store_relaxed(, 54) = void +43929608762633:43929608763263 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43929608769817:43929608770444 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929608772605:43929608773237 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 +43929608773998:43929608774325 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 55 +43929608775061:43929608775402 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 54 +43929608776358:43929608776681 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43929608777434:43929608777815 26045:26045 hsa_signal_store_relaxed(, 55) = void +43929608778778:43929609337113 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929609350703:43929609351505 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929609354070:43929609355097 26045:26045 hsa_signal_destroy() = 0 +43929609356361:43929609356982 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929609370022:43929609370489 26045:26045 hsa_signal_destroy() = 0 +43929609371901:43929609373219 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 +43929609374127:43929609374604 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43929609375416:43929609375989 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 +43929609376760:43929609377138 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43929609378110:43929609378561 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43929609379709:43929609380376 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43929609381285:43929609382062 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e84f0) = 0 +43929609382930:43929609385388 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e84b0) = 0 +43929609386259:43929609387304 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 +43929609842565:43929609845092 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43929609846425:43929609847100 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43929609848071:43929609848572 26045:26051 hsa_signal_load_relaxed() = 1 +43929609388176:43929609849980 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43929609849410:43929609850695 26045:26051 hsa_signal_store_screlease(, 0) = void +43929609851557:43929609852032 26045:26051 hsa_signal_destroy() = 0 +43929610282667:43929610283409 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929624883510:43929624884632 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929624890597:43929624892071 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929624894275:43929624897605 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 +43929624899005:43929624899755 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43929624900636:43929624901189 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 +43929624901958:43929624902430 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43929625366697:43929625367436 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43929625369016:43929625369638 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43929625370652:43929625372189 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e8550) = 0 +43929625373267:43929625377291 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e8510) = 0 +43929625378226:43929625380138 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 +43929625847832:43929625850911 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43929625857040:43929625857707 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43929625858829:43929625859616 26045:26051 hsa_signal_load_relaxed() = 1 +43929625381058:43929625861119 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43929625860461:43929625861844 26045:26051 hsa_signal_store_screlease(, 0) = void +43929625862245:43929625862912 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929625862723:43929625863548 26045:26051 hsa_signal_destroy() = 0 +43929625879205:43929625879858 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43929625887797:43929625888435 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 56 +43929625889221:43929625889686 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 56 +43929625890756:43929625891356 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 +43929625892188:43929625892547 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43929625893662:43929625894269 26045:26045 hsa_signal_store_relaxed(, 56) = void +43929625895834:43929625896463 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43929625902781:43929625903413 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929625905638:43929625906197 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 +43929625906967:43929625907300 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 57 +43929625908047:43929625908390 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 56 +43929625909341:43929625909665 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43929625910432:43929625910816 26045:26045 hsa_signal_store_relaxed(, 57) = void +43929625911847:43929626471724 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929626485892:43929626486716 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929626489297:43929626490367 26045:26045 hsa_signal_destroy() = 0 +43929626501142:43929626501631 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929626502643:43929626503073 26045:26045 hsa_signal_destroy() = 0 +43929626504501:43929626505938 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 +43929626506880:43929626507499 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43929626508397:43929626509045 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 +43929626509881:43929626510283 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43929626514169:43929626514644 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43929626515907:43929626516598 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43929626517556:43929626518466 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e85b0) = 0 +43929626519373:43929626521961 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e8570) = 0 +43929626522871:43929626523993 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 +43929626977249:43929626979889 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43929626981302:43929626982011 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43929626983030:43929626983552 26045:26051 hsa_signal_load_relaxed() = 1 +43929626524908:43929626985026 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43929626984427:43929626985754 26045:26051 hsa_signal_store_screlease(, 0) = void +43929626986669:43929626987162 26045:26051 hsa_signal_destroy() = 0 +43929627428891:43929627429649 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929642022798:43929642023934 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929642030078:43929642031509 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929642033759:43929642037151 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 +43929642038272:43929642039073 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43929642039962:43929642040851 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 +43929642041620:43929642042123 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43929642507476:43929642508218 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43929642509853:43929642510483 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43929642511516:43929642513124 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e8610) = 0 +43929642514356:43929642518135 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e85d0) = 0 +43929642519124:43929642521099 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 +43929642988232:43929642991341 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43929642992822:43929642993472 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43929642994613:43929642995149 26045:26051 hsa_signal_load_relaxed() = 1 +43929642522017:43929642996937 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43929642996268:43929642997692 26045:26051 hsa_signal_store_screlease(, 0) = void +43929642998135:43929642998811 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929642998621:43929642999256 26045:26051 hsa_signal_destroy() = 0 +43929643018192:43929643018844 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43929643026667:43929643027305 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 58 +43929643028187:43929643028653 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 58 +43929643029573:43929643030184 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 +43929643031020:43929643031379 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43929643032509:43929643033363 26045:26045 hsa_signal_store_relaxed(, 58) = void +43929643034967:43929643035605 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43929643041906:43929643042538 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929643044679:43929643045300 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 +43929643046063:43929643046393 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 59 +43929643047132:43929643047480 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 58 +43929643048441:43929643048764 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43929643049515:43929643049894 26045:26045 hsa_signal_store_relaxed(, 59) = void +43929643050829:43929643611891 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929643625158:43929643625931 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929643628423:43929643629436 26045:26045 hsa_signal_destroy() = 0 +43929643630609:43929643631049 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929643632015:43929643641825 26045:26045 hsa_signal_destroy() = 0 +43929643643433:43929643644876 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 +43929643645853:43929643646377 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43929643647265:43929643647887 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 +43929643648713:43929643649131 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43929643650177:43929643650672 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43929643651950:43929643652664 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43929643653649:43929643654499 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e8670) = 0 +43929643655444:43929643658405 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e8630) = 0 +43929643659351:43929643660522 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 +43929644118490:43929644121238 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43929644122687:43929644123410 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43929644124620:43929644125159 26045:26051 hsa_signal_load_relaxed() = 1 +43929643663742:43929644126755 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43929644126057:43929644127472 26045:26051 hsa_signal_store_screlease(, 0) = void +43929644128416:43929644128928 26045:26051 hsa_signal_destroy() = 0 +43929644562471:43929644563272 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929659150447:43929659151567 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929659157628:43929659158782 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929659161082:43929659163693 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 +43929659164882:43929659165657 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43929659166498:43929659167138 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 +43929659167943:43929659168410 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43929659634121:43929659634854 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43929659636847:43929659637475 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43929659638497:43929659639957 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e86d0) = 0 +43929659641208:43929659644891 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e8690) = 0 +43929659645894:43929659647779 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 +43929660116642:43929660120057 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43929660121525:43929660122167 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43929660123336:43929660123864 26045:26051 hsa_signal_load_relaxed() = 1 +43929659648803:43929660125510 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43929660124749:43929660126129 26045:26051 hsa_signal_store_screlease(, 0) = void +43929660126817:43929660127479 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929660127016:43929660127642 26045:26051 hsa_signal_destroy() = 0 +43929660144076:43929660144729 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43929660152416:43929660153189 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 60 +43929660153975:43929660154443 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 60 +43929660155391:43929660156005 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 +43929660160404:43929660160761 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43929660161870:43929660162475 26045:26045 hsa_signal_store_relaxed(, 60) = void +43929660164072:43929660164702 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43929660170955:43929660171582 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929660173912:43929660174496 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 +43929660175254:43929660175589 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 61 +43929660176327:43929660176666 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 60 +43929660177624:43929660177950 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43929660178705:43929660179088 26045:26045 hsa_signal_store_relaxed(, 61) = void +43929660180087:43929660734978 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929660736952:43929660737447 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929660738867:43929660739431 26045:26045 hsa_signal_destroy() = 0 +43929660750837:43929660751337 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929660752244:43929660752716 26045:26045 hsa_signal_destroy() = 0 +43929660754391:43929660756432 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 +43929660757461:43929660758017 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43929660768354:43929660768853 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 +43929660769609:43929660769979 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43929660770836:43929660771238 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43929660772182:43929660772808 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43929660773593:43929660774110 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e8730) = 0 +43929660774873:43929660776798 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e86f0) = 0 +43929660777571:43929660778303 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 +43929661237885:43929661240594 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43929661242036:43929661242766 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43929661243815:43929661244355 26045:26051 hsa_signal_load_relaxed() = 1 +43929660779091:43929661245983 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43929661245253:43929661246614 26045:26051 hsa_signal_store_screlease(, 0) = void +43929661251087:43929661251605 26045:26051 hsa_signal_destroy() = 0 +43929661684089:43929661684883 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929676267191:43929676268197 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929676272891:43929676273986 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929676276053:43929676278350 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 +43929676279474:43929676280375 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43929676281185:43929676281783 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 +43929676282677:43929676283150 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43929676749722:43929676750466 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43929676752302:43929676752925 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43929676753964:43929676755416 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e8790) = 0 +43929676756447:43929676760480 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e8750) = 0 +43929676761471:43929676763372 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 +43929677230945:43929677234273 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43929677235861:43929677236511 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43929677237661:43929677238183 26045:26051 hsa_signal_load_relaxed() = 1 +43929676764291:43929677239755 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43929677239092:43929677240456 26045:26051 hsa_signal_store_screlease(, 0) = void +43929677241097:43929677241778 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929677241345:43929677241986 26045:26051 hsa_signal_destroy() = 0 +43929677255791:43929677256430 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43929677263021:43929677263925 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 62 +43929677264811:43929677265205 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 62 +43929677266153:43929677266753 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 +43929677267587:43929677268039 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43929677269061:43929677269638 26045:26045 hsa_signal_store_relaxed(, 62) = void +43929677270750:43929677271382 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43929677280991:43929677281624 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929677283640:43929677284147 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 +43929677285924:43929677286331 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 63 +43929677287077:43929677287408 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 62 +43929677288202:43929677288526 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43929677289270:43929677289662 26045:26045 hsa_signal_store_relaxed(, 63) = void +43929677290671:43929677841267 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929677843142:43929677843637 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929677845029:43929677845586 26045:26045 hsa_signal_destroy() = 0 +43929677857047:43929677857578 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929677858508:43929677858904 26045:26045 hsa_signal_destroy() = 0 +43929677860545:43929677862436 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 +43929677863444:43929677863953 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43929677874842:43929677875331 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 +43929677876091:43929677876460 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43929677877310:43929677877714 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43929677878684:43929677879313 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43929677880100:43929677880690 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e87f0) = 0 +43929677881449:43929677883348 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e87b0) = 0 +43929677884126:43929677884884 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 +43929678343789:43929678346360 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43929678347808:43929678348539 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43929678349583:43929678350120 26045:26051 hsa_signal_load_relaxed() = 1 +43929677885651:43929678351752 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43929678351021:43929678352701 26045:26051 hsa_signal_store_screlease(, 0) = void +43929678353636:43929678354145 26045:26051 hsa_signal_destroy() = 0 +43929678788447:43929678789246 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929693375128:43929693376137 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929693380393:43929693381427 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929693383522:43929693385917 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 +43929693393049:43929693393810 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43929693394643:43929693395232 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 +43929693396064:43929693396534 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43929693863382:43929693864114 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43929693865672:43929693866301 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43929693867415:43929693869124 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e8850) = 0 +43929693870324:43929693874474 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e8810) = 0 +43929693875675:43929693877239 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 +43929694344097:43929694347099 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43929694348637:43929694349283 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43929694350370:43929694350892 26045:26051 hsa_signal_load_relaxed() = 1 +43929693878258:43929694352455 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43929694351801:43929694353178 26045:26051 hsa_signal_store_screlease(, 0) = void +43929694353682:43929694354363 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929694354059:43929694354692 26045:26051 hsa_signal_destroy() = 0 +43929694368290:43929694368927 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43929694374803:43929694375605 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 64 +43929694376478:43929694376875 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 64 +43929694377798:43929694378413 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 +43929694379233:43929694379680 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43929694380644:43929694381228 26045:26045 hsa_signal_store_relaxed(, 64) = void +43929694382472:43929694383106 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43929694388678:43929694389313 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929694391224:43929694391847 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 +43929694392676:43929694393063 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 65 +43929694393803:43929694394134 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 64 +43929694394874:43929694395195 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43929694395977:43929694396356 26045:26045 hsa_signal_store_relaxed(, 65) = void +43929694400807:43929694952779 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929694954239:43929694954731 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929694956121:43929694956678 26045:26045 hsa_signal_destroy() = 0 +43929694957586:43929694957972 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929694969208:43929694969645 26045:26045 hsa_signal_destroy() = 0 +43929694971167:43929694972957 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 +43929694973981:43929694974529 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43929694975399:43929694975891 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 +43929694986119:43929694986552 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43929694987435:43929694987844 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43929694988753:43929694989383 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43929694990175:43929694990714 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e88b0) = 0 +43929694991478:43929694993478 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e8870) = 0 +43929694994261:43929694995013 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 +43929695454001:43929695456544 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43929695457986:43929695458717 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43929695459763:43929695460299 26045:26051 hsa_signal_load_relaxed() = 1 +43929694995778:43929695461937 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43929695461196:43929695462588 26045:26051 hsa_signal_store_screlease(, 0) = void +43929695463526:43929695464035 26045:26051 hsa_signal_destroy() = 0 +43929695897700:43929695898496 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929710492496:43929710493641 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929710497736:43929710499099 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929710501006:43929710502977 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 +43929710504132:43929710504813 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43929710505624:43929710506260 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 +43929710507114:43929710507581 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43929710974308:43929710975459 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43929710976984:43929710977611 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43929710982574:43929710984155 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e8910) = 0 +43929710985296:43929710989194 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e88d0) = 0 +43929710990154:43929710991898 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 +43929711459672:43929711462757 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43929711464337:43929711465000 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43929711466149:43929711466675 26045:26051 hsa_signal_load_relaxed() = 1 +43929710992769:43929711468188 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43929711467522:43929711469132 26045:26051 hsa_signal_store_screlease(, 0) = void +43929711469522:43929711470182 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929711470019:43929711470637 26045:26051 hsa_signal_destroy() = 0 +43929711485019:43929711485653 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43929711491414:43929711492085 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 66 +43929711493017:43929711493505 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 66 +43929711494458:43929711495104 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 +43929711495942:43929711496384 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43929711497347:43929711497927 26045:26045 hsa_signal_store_relaxed(, 66) = void +43929711499360:43929711499992 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43929711505777:43929711506409 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929711508576:43929711509201 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 +43929711510032:43929711510420 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 67 +43929711511156:43929711511487 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 66 +43929711512226:43929711512552 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43929711513297:43929711513685 26045:26045 hsa_signal_store_relaxed(, 67) = void +43929711514703:43929712076189 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929712089571:43929712090384 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929712093148:43929712094200 26045:26045 hsa_signal_destroy() = 0 +43929712095497:43929712095977 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929712106953:43929712107427 26045:26045 hsa_signal_destroy() = 0 +43929712111481:43929712112819 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 +43929712113714:43929712114190 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43929712115028:43929712115603 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 +43929712116345:43929712116714 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43929712117663:43929712118095 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43929712119231:43929712119870 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43929712120753:43929712121562 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e8970) = 0 +43929712122396:43929712124898 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e8930) = 0 +43929712125740:43929712126754 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 +43929712596937:43929712599585 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43929712601032:43929712601765 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43929712602819:43929712603357 26045:26051 hsa_signal_load_relaxed() = 1 +43929712127579:43929712605001 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43929712604257:43929712605617 26045:26051 hsa_signal_store_screlease(, 0) = void +43929712606552:43929712607065 26045:26051 hsa_signal_destroy() = 0 +43929713042132:43929713042940 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929727639336:43929727640642 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929727646978:43929727648238 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929727650611:43929727653681 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 +43929727654896:43929727655657 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43929727656486:43929727657369 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 +43929727658174:43929727658654 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43929728130709:43929728131390 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43929728133060:43929728133682 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43929728134718:43929728136467 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e89d0) = 0 +43929728137494:43929728141615 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e8990) = 0 +43929728142603:43929728144712 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 +43929728611703:43929728614762 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43929728616314:43929728616970 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43929728622738:43929728623277 26045:26051 hsa_signal_load_relaxed() = 1 +43929728145565:43929728624794 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43929728624147:43929728625533 26045:26051 hsa_signal_store_screlease(, 0) = void +43929728626040:43929728626713 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929728626412:43929728627061 26045:26051 hsa_signal_destroy() = 0 +43929728646133:43929728646787 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43929728654429:43929728655058 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 68 +43929728655940:43929728656587 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 68 +43929728657510:43929728658128 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 +43929728659001:43929728659359 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43929728660491:43929728661090 26045:26045 hsa_signal_store_relaxed(, 68) = void +43929728662921:43929728663561 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43929728670005:43929728670629 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929728672811:43929728673321 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 +43929728674090:43929728674419 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 69 +43929728675161:43929728675491 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 68 +43929728676439:43929728676764 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43929728677517:43929728677914 26045:26045 hsa_signal_store_relaxed(, 69) = void +43929728678921:43929729233271 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929729246360:43929729247142 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929729249722:43929729250759 26045:26045 hsa_signal_destroy() = 0 +43929729251944:43929729252668 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929729263231:43929729263650 26045:26045 hsa_signal_destroy() = 0 +43929729265145:43929729266446 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 +43929729267323:43929729267797 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43929729268599:43929729269160 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 +43929729269905:43929729270283 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43929729271232:43929729271671 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43929729274757:43929729275414 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43929729276307:43929729277174 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e8a30) = 0 +43929729278028:43929729280509 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e89f0) = 0 +43929729281350:43929729282395 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 +43929729774740:43929729777457 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43929729778933:43929729779662 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43929729780716:43929729781253 26045:26051 hsa_signal_load_relaxed() = 1 +43929729283247:43929729782874 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43929729782145:43929729783570 26045:26051 hsa_signal_store_screlease(, 0) = void +43929729784505:43929729785013 26045:26051 hsa_signal_destroy() = 0 +43929730219689:43929730220490 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929744874998:43929744876353 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929744882383:43929744883467 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929744885652:43929744888712 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 +43929744889860:43929744890571 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43929744891400:43929744892092 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 +43929744892893:43929744893363 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43929745360245:43929745361123 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43929745363071:43929745363693 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43929745364732:43929745366443 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e8a90) = 0 +43929745367464:43929745371748 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e8a50) = 0 +43929745372755:43929745374696 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 +43929745842090:43929745845068 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43929745846568:43929745847222 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43929745848385:43929745848921 26045:26051 hsa_signal_load_relaxed() = 1 +43929745375566:43929745850452 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43929745849803:43929745851176 26045:26051 hsa_signal_store_screlease(, 0) = void +43929745851852:43929745852564 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929745852062:43929745852726 26045:26051 hsa_signal_destroy() = 0 +43929745868991:43929745869633 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43929745877420:43929745878068 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 70 +43929745878948:43929745879413 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 70 +43929745880324:43929745880939 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 +43929745881720:43929745882080 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43929745883230:43929745883829 26045:26045 hsa_signal_store_relaxed(, 70) = void +43929745885412:43929745886044 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43929745892147:43929745892777 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929745895309:43929745895930 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 +43929745896696:43929745897030 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 71 +43929745897771:43929745898117 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 70 +43929745899068:43929745899391 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43929745900149:43929745900544 26045:26045 hsa_signal_store_relaxed(, 71) = void +43929745901503:43929746460255 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929746473602:43929746474374 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929746476883:43929746477894 26045:26045 hsa_signal_destroy() = 0 +43929746479186:43929746479632 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929746480635:43929746490590 26045:26045 hsa_signal_destroy() = 0 +43929746491954:43929746493291 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 +43929746494171:43929746494643 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43929746495481:43929746496037 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 +43929746496783:43929746497158 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43929746498102:43929746498533 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43929746499666:43929746500310 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43929746501196:43929746501969 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e8af0) = 0 +43929746502808:43929746505516 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e8ab0) = 0 +43929746506363:43929746507459 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 +43929746999021:43929747001772 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43929747005196:43929747005860 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43929747006834:43929747007316 26045:26051 hsa_signal_load_relaxed() = 1 +43929746508291:43929747017487 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43929747016731:43929747018172 26045:26051 hsa_signal_store_screlease(, 0) = void +43929747019089:43929747019606 26045:26051 hsa_signal_destroy() = 0 +43929747455309:43929747456112 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929762117331:43929762118397 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929762124360:43929762125436 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929762127546:43929762140827 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 +43929762142113:43929762142893 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43929762143867:43929762144719 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 +43929762145513:43929762146022 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43929762604140:43929762604844 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43929762606465:43929762607098 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43929762608139:43929762609694 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e8b50) = 0 +43929762610711:43929762614880 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e8b10) = 0 +43929762615872:43929762617755 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 +43929763102433:43929763105458 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43929763106995:43929763107645 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43929763108796:43929763109506 26045:26051 hsa_signal_load_relaxed() = 1 +43929762618681:43929763111059 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43929763110417:43929763111964 26045:26051 hsa_signal_store_screlease(, 0) = void +43929763112284:43929763112947 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929763112849:43929763113500 26045:26051 hsa_signal_destroy() = 0 +43929763128957:43929763129608 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43929763137186:43929763137909 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 72 +43929763138774:43929763139243 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 72 +43929763140190:43929763140814 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 +43929763141639:43929763141996 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43929763148028:43929763148626 26045:26045 hsa_signal_store_relaxed(, 72) = void +43929763150469:43929763151107 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43929763157879:43929763158511 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929763161114:43929763161860 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 +43929763162621:43929763162953 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 73 +43929763163707:43929763164044 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 72 +43929763164993:43929763165320 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43929763166089:43929763166475 26045:26045 hsa_signal_store_relaxed(, 73) = void +43929763167526:43929765097400 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929765111803:43929765112658 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929765115364:43929765116433 26045:26045 hsa_signal_destroy() = 0 +43929765127636:43929765128205 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929765129234:43929765129748 26045:26045 hsa_signal_destroy() = 0 +43929765131329:43929765132753 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 +43929765133739:43929765134261 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43929765135143:43929765135770 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 +43929765136604:43929765137022 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43929765138062:43929765138546 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43929765139806:43929765140523 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43929765141507:43929765142353 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e8bb0) = 0 +43929765143290:43929765146349 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e8b70) = 0 +43929765147299:43929765148422 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 +43929765611239:43929765613878 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43929765615298:43929765616029 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43929765617091:43929765617625 26045:26051 hsa_signal_load_relaxed() = 1 +43929765149365:43929765619141 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43929765618534:43929765619883 26045:26051 hsa_signal_store_screlease(, 0) = void +43929765620817:43929765621325 26045:26051 hsa_signal_destroy() = 0 +43929766056212:43929766057012 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929780641022:43929780642143 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929780647909:43929780648937 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929780650980:43929780653576 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 +43929780654649:43929780655399 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43929780656241:43929780656788 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 +43929780657597:43929780658074 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43929781134598:43929781135329 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43929781137287:43929781137914 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43929781138998:43929781140491 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e8c10) = 0 +43929781141516:43929781145472 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e8bd0) = 0 +43929781146460:43929781148390 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 +43929781631324:43929781634564 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43929781636143:43929781636795 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43929781637955:43929781638488 26045:26051 hsa_signal_load_relaxed() = 1 +43929781149359:43929781640026 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43929781639378:43929781640774 26045:26051 hsa_signal_store_screlease(, 0) = void +43929781641227:43929781641908 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929781641655:43929781642300 26045:26051 hsa_signal_destroy() = 0 +43929781662630:43929781663287 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43929781671025:43929781671667 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 74 +43929781672525:43929781672995 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 74 +43929781673957:43929781674575 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 +43929781675385:43929781675739 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43929781676919:43929781677523 26045:26045 hsa_signal_store_relaxed(, 74) = void +43929781679168:43929781679799 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43929781685931:43929781686562 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929781688719:43929781689221 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 +43929781690978:43929781691316 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 75 +43929781692059:43929781692396 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 74 +43929781693292:43929781693618 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43929781694380:43929781694763 26045:26045 hsa_signal_store_relaxed(, 75) = void +43929781695709:43929783624022 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929783638538:43929783639374 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929783642027:43929783643112 26045:26045 hsa_signal_destroy() = 0 +43929783654307:43929783654888 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929783655910:43929783656354 26045:26045 hsa_signal_destroy() = 0 +43929783657874:43929783659348 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 +43929783660331:43929783660865 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43929783661741:43929783662427 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 +43929783663256:43929783663673 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43929783664728:43929783665211 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43929783666474:43929783667195 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43929783668182:43929783669102 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e8c70) = 0 +43929783670042:43929783673069 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e8c30) = 0 +43929783674014:43929783675174 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 +43929784138990:43929784141664 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43929784143102:43929784143831 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43929784144886:43929784145426 26045:26051 hsa_signal_load_relaxed() = 1 +43929783676101:43929784147043 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43929784146328:43929784147702 26045:26051 hsa_signal_store_screlease(, 0) = void +43929784148644:43929784149151 26045:26051 hsa_signal_destroy() = 0 +43929784583741:43929784584542 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929799168918:43929799170035 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929799176182:43929799177327 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929799179579:43929799182495 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 +43929799183568:43929799184382 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43929799190717:43929799191293 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 +43929799192041:43929799192514 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43929799659696:43929799660576 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43929799662207:43929799662831 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43929799663866:43929799665535 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e8cd0) = 0 +43929799666513:43929799671166 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e8c90) = 0 +43929799672113:43929799674233 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 +43929800157850:43929800160900 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43929800162468:43929800163133 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43929800164254:43929800165012 26045:26051 hsa_signal_load_relaxed() = 1 +43929799675125:43929800166621 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43929800165864:43929800167264 26045:26051 hsa_signal_store_screlease(, 0) = void +43929800167864:43929800168544 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929800168148:43929800168944 26045:26051 hsa_signal_destroy() = 0 +43929800184679:43929800185333 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43929800193430:43929800194230 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 76 +43929800195172:43929800195642 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 76 +43929800196623:43929800197246 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 +43929800198213:43929800198573 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43929800199731:43929800200333 26045:26045 hsa_signal_store_relaxed(, 76) = void +43929800201901:43929800202533 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43929800208762:43929800209390 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929800211640:43929800212264 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 +43929800213019:43929800213344 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 77 +43929800214082:43929800214432 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 76 +43929800215412:43929800215744 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43929800216533:43929800216920 26045:26045 hsa_signal_store_relaxed(, 77) = void +43929800217958:43929802148500 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929802167413:43929802177658 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929802179580:43929802180352 26045:26045 hsa_signal_destroy() = 0 +43929802181433:43929802181883 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929802182888:43929802183321 26045:26045 hsa_signal_destroy() = 0 +43929802184882:43929802186316 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 +43929802187299:43929802187836 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43929802188722:43929802189350 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 +43929802190181:43929802190599 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43929802191646:43929802192129 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43929802193397:43929802194111 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43929802195096:43929802195968 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e8d30) = 0 +43929802196905:43929802199960 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e8cf0) = 0 +43929802200901:43929802202026 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 +43929802665931:43929802668585 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43929802670031:43929802670761 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43929802671824:43929802672357 26045:26051 hsa_signal_load_relaxed() = 1 +43929802202956:43929802673883 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43929802673256:43929802674619 26045:26051 hsa_signal_store_screlease(, 0) = void +43929802675553:43929802676061 26045:26051 hsa_signal_destroy() = 0 +43929803111026:43929803111848 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929817748554:43929817749670 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929817755848:43929817757286 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929817759569:43929817762721 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 +43929817763843:43929817764617 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43929817765450:43929817766143 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 +43929817766940:43929817767412 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43929818224488:43929818225404 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43929818226994:43929818227619 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43929818228658:43929818230146 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e8d90) = 0 +43929818234874:43929818239203 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e8d50) = 0 +43929818240165:43929818242044 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 +43929818725633:43929818728948 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43929818730385:43929818731044 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43929818732180:43929818732717 26045:26051 hsa_signal_load_relaxed() = 1 +43929818242875:43929818734217 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43929818733568:43929818734954 26045:26051 hsa_signal_store_screlease(, 0) = void +43929818735440:43929818736123 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929818735845:43929818736490 26045:26051 hsa_signal_destroy() = 0 +43929818752170:43929818752829 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43929818760632:43929818761275 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 78 +43929818762185:43929818762654 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 78 +43929818763587:43929818764193 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 +43929818765017:43929818765369 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43929818766503:43929818767106 26045:26045 hsa_signal_store_relaxed(, 78) = void +43929818768706:43929818769335 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43929818775910:43929818776541 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929818778773:43929818779402 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 +43929818780185:43929818780516 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 79 +43929818781254:43929818781592 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 78 +43929818782537:43929818782865 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43929818783620:43929818784003 26045:26045 hsa_signal_store_relaxed(, 79) = void +43929818784956:43929820716198 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929820730880:43929820731756 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929820734457:43929820745553 26045:26045 hsa_signal_destroy() = 0 +43929820746704:43929820747212 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929820748239:43929820748724 26045:26045 hsa_signal_destroy() = 0 +43929820750302:43929820751696 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 +43929820755175:43929820755707 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43929820756617:43929820757327 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 +43929820758150:43929820758567 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43929820759613:43929820760097 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43929820761358:43929820762067 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43929820763045:43929820763907 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e8df0) = 0 +43929820764848:43929820767920 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e8db0) = 0 +43929820768848:43929820769989 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 +43929821235862:43929821238439 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43929821239898:43929821240633 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43929821241718:43929821242257 26045:26051 hsa_signal_load_relaxed() = 1 +43929820770933:43929821243762 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43929821243155:43929821244522 26045:26051 hsa_signal_store_screlease(, 0) = void +43929821245475:43929821245990 26045:26051 hsa_signal_destroy() = 0 +43929821680395:43929821681190 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929836368472:43929836369549 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929836375989:43929836377330 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929836379523:43929836382603 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 +43929836383653:43929836384385 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43929836385218:43929836385947 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 +43929836386723:43929836387468 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43929836853547:43929836854568 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43929836856303:43929836856931 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43929836857978:43929836859699 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e8e50) = 0 +43929836860808:43929836865771 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e8e10) = 0 +43929836866778:43929836868891 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 +43929837318388:43929837321432 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43929837322933:43929837323591 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43929837324768:43929837325313 26045:26051 hsa_signal_load_relaxed() = 1 +43929836869763:43929837330851 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43929837330176:43929837331623 26045:26051 hsa_signal_store_screlease(, 0) = void +43929837332199:43929837332913 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929837332578:43929837333229 26045:26051 hsa_signal_destroy() = 0 +43929837349127:43929837349792 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43929837357673:43929837358366 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 80 +43929837359255:43929837359730 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 80 +43929837360667:43929837361290 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 +43929837362148:43929837362514 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43929837363678:43929837364292 26045:26045 hsa_signal_store_relaxed(, 80) = void +43929837365871:43929837366519 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43929837372860:43929837373508 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929837375836:43929837376481 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 +43929837377270:43929837377621 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 81 +43929837378378:43929837378716 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 80 +43929837379713:43929837380042 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43929837380848:43929837381239 26045:26045 hsa_signal_store_relaxed(, 81) = void +43929837382286:43929839302455 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929839316540:43929839317379 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929839320070:43929839321168 26045:26045 hsa_signal_destroy() = 0 +43929839331972:43929839332481 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929839333520:43929839333962 26045:26045 hsa_signal_destroy() = 0 +43929839335365:43929839336759 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 +43929839337800:43929839338327 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43929839339258:43929839339886 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 +43929839340742:43929839341159 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43929839342203:43929839342683 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43929839344075:43929839344788 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43929839348765:43929839349702 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e8eb0) = 0 +43929839350662:43929839353707 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e8e70) = 0 +43929839354641:43929839355775 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 +43929839818737:43929839821385 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43929839822834:43929839823555 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43929839824611:43929839825137 26045:26051 hsa_signal_load_relaxed() = 1 +43929839356721:43929839826647 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43929839826030:43929839827490 26045:26051 hsa_signal_store_screlease(, 0) = void +43929839828431:43929839828935 26045:26051 hsa_signal_destroy() = 0 +43929840270054:43929840270877 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929854833241:43929854834318 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929854840013:43929854841109 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929854843177:43929854846348 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 +43929854847419:43929854848169 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43929854848991:43929854849531 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 +43929854850324:43929854850799 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43929855305368:43929855306250 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43929855308100:43929855308718 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43929855309824:43929855311384 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e8f10) = 0 +43929855312397:43929855316747 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e8ed0) = 0 +43929855317748:43929855319608 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 +43929855803449:43929855806445 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43929855807962:43929855808630 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43929855809782:43929855810321 26045:26051 hsa_signal_load_relaxed() = 1 +43929855320478:43929855811845 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43929855811204:43929855812590 26045:26051 hsa_signal_store_screlease(, 0) = void +43929855813245:43929855813973 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929855813481:43929855814129 26045:26051 hsa_signal_destroy() = 0 +43929855830204:43929855830855 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43929855844489:43929855845136 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 82 +43929855846052:43929855846525 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 82 +43929855847454:43929855848064 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 +43929855848905:43929855849260 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43929855850395:43929855850983 26045:26045 hsa_signal_store_relaxed(, 82) = void +43929855852608:43929855853242 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43929855860075:43929855860705 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929855862934:43929855863691 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 +43929855864447:43929855864773 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 83 +43929855865515:43929855865844 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 82 +43929855866790:43929855867121 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43929855867880:43929855868255 26045:26045 hsa_signal_store_relaxed(, 83) = void +43929855869192:43929857796253 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929857810867:43929857811690 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929857814387:43929857815484 26045:26045 hsa_signal_destroy() = 0 +43929857826696:43929857827218 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929857828257:43929857828698 26045:26045 hsa_signal_destroy() = 0 +43929857830196:43929857831598 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 +43929857832568:43929857833087 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43929857833970:43929857834593 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 +43929857835436:43929857835853 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43929857836895:43929857837372 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43929857838613:43929857839325 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43929857840311:43929857841166 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e8f70) = 0 +43929857842103:43929857845191 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e8f30) = 0 +43929857846146:43929857847270 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 +43929858314517:43929858317193 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43929858318638:43929858319352 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43929858323170:43929858323703 26045:26051 hsa_signal_load_relaxed() = 1 +43929857848214:43929858325219 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43929858324610:43929858326029 26045:26051 hsa_signal_store_screlease(, 0) = void +43929858326941:43929858327441 26045:26051 hsa_signal_destroy() = 0 +43929858761647:43929858762454 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929873399209:43929873400269 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929873406106:43929873407478 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929873409484:43929873412277 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 +43929873413455:43929873414220 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43929873415045:43929873415682 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 +43929873416453:43929873416944 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43929873881615:43929873882491 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43929873884228:43929873884850 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43929873885886:43929873887448 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e8fd0) = 0 +43929873888704:43929873892804 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e8f90) = 0 +43929873893956:43929873895918 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 +43929874379407:43929874382385 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43929874383945:43929874384604 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43929874385760:43929874386296 26045:26051 hsa_signal_load_relaxed() = 1 +43929873896782:43929874387845 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43929874387185:43929874388591 26045:26051 hsa_signal_store_screlease(, 0) = void +43929874389099:43929874389777 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929874389480:43929874390130 26045:26051 hsa_signal_destroy() = 0 +43929874406462:43929874407112 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43929874415007:43929874415654 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 84 +43929874416555:43929874417152 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 84 +43929874418139:43929874418759 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 +43929874419598:43929874419957 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43929874426047:43929874426661 26045:26045 hsa_signal_store_relaxed(, 84) = void +43929874428268:43929874428896 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43929874436438:43929874437073 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929874439378:43929874439959 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 +43929874440739:43929874441077 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 85 +43929874441813:43929874442149 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 84 +43929874443102:43929874443431 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43929874444183:43929874444569 26045:26045 hsa_signal_store_relaxed(, 85) = void +43929874445585:43929876378576 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929876393510:43929876394369 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929876396973:43929876407963 26045:26045 hsa_signal_destroy() = 0 +43929876409116:43929876409624 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929876410658:43929876411136 26045:26045 hsa_signal_destroy() = 0 +43929876412531:43929876414034 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 +43929876415006:43929876415524 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43929876416437:43929876417059 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 +43929876417891:43929876418305 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43929876419348:43929876419823 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43929876423387:43929876424118 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43929876425123:43929876426043 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e9030) = 0 +43929876426984:43929876430062 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e8ff0) = 0 +43929876431000:43929876432243 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 +43929876895474:43929876898159 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43929876899595:43929876900312 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43929876901377:43929876901902 26045:26051 hsa_signal_load_relaxed() = 1 +43929876433194:43929876903426 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43929876902794:43929876904169 26045:26051 hsa_signal_store_screlease(, 0) = void +43929876905100:43929876905598 26045:26051 hsa_signal_destroy() = 0 +43929877339418:43929877340220 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929891972800:43929891973807 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929891979579:43929891980601 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929891982495:43929891985427 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 +43929891986632:43929891987384 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43929891988212:43929891988937 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 +43929891989737:43929891990205 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43929892466582:43929892467324 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43929892469392:43929892470023 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43929892471155:43929892472842 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e9090) = 0 +43929892473868:43929892477544 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e9050) = 0 +43929892478528:43929892480457 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 +43929892963663:43929892966954 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43929892968483:43929892969127 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43929892970338:43929892970861 26045:26051 hsa_signal_load_relaxed() = 1 +43929892481348:43929892972391 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43929892971757:43929892973129 26045:26051 hsa_signal_store_screlease(, 0) = void +43929892973599:43929892974279 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929892974016:43929892974651 26045:26051 hsa_signal_destroy() = 0 +43929892990854:43929892991501 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43929892999505:43929893000150 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 86 +43929893001048:43929893001518 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 86 +43929893002479:43929893003082 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 +43929893003951:43929893004306 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43929893005466:43929893006058 26045:26045 hsa_signal_store_relaxed(, 86) = void +43929893007794:43929893008431 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43929893014707:43929893015334 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929893017606:43929893018228 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 +43929893018968:43929893019291 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 87 +43929893024385:43929893024730 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 86 +43929893025690:43929893026031 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43929893026789:43929893027174 26045:26045 hsa_signal_store_relaxed(, 87) = void +43929893028131:43929894943460 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929894958013:43929894958848 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929894961718:43929894962797 26045:26045 hsa_signal_destroy() = 0 +43929894973872:43929894974419 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929894975481:43929894975920 26045:26045 hsa_signal_destroy() = 0 +43929894977408:43929894978845 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 +43929894979824:43929894980347 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43929894981229:43929894981862 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 +43929894982689:43929894983105 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43929894984153:43929894984632 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43929894985908:43929894986620 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43929894987603:43929894988545 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e90f0) = 0 +43929894989482:43929894992504 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e90b0) = 0 +43929894993443:43929894994577 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 +43929895456026:43929895458746 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43929895460197:43929895460935 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43929895461989:43929895462525 26045:26051 hsa_signal_load_relaxed() = 1 +43929894995494:43929895464039 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43929895463423:43929895464743 26045:26051 hsa_signal_store_screlease(, 0) = void +43929895465670:43929895466174 26045:26051 hsa_signal_destroy() = 0 +43929895900173:43929895900974 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929910481977:43929910483055 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929910488786:43929910489949 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929910492260:43929910495171 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 +43929910496208:43929910497166 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43929910497995:43929910498608 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 +43929910504820:43929910505466 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43929910969324:43929910970300 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43929910971958:43929910972580 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43929910973632:43929910975203 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e9150) = 0 +43929910976191:43929910979542 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e9110) = 0 +43929910980490:43929910982352 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 +43929911467455:43929911470651 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43929911472184:43929911472839 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43929911473957:43929911474493 26045:26051 hsa_signal_load_relaxed() = 1 +43929910983328:43929911476119 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43929911475458:43929911476858 26045:26051 hsa_signal_store_screlease(, 0) = void +43929911477371:43929911478050 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929911477746:43929911478388 26045:26051 hsa_signal_destroy() = 0 +43929911494388:43929911495037 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43929911502726:43929911503355 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 88 +43929911504252:43929911504718 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 88 +43929911505704:43929911506308 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 +43929911507117:43929911507473 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43929911508619:43929911509209 26045:26045 hsa_signal_store_relaxed(, 88) = void +43929911510786:43929911511424 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43929911517600:43929911518230 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929911520520:43929911521236 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 +43929911522013:43929911522346 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 89 +43929911523091:43929911523423 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 88 +43929911524404:43929911524729 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43929911525519:43929911525899 26045:26045 hsa_signal_store_relaxed(, 89) = void +43929911526916:43929913458472 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929913473055:43929913473882 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929913489814:43929913490586 26045:26045 hsa_signal_destroy() = 0 +43929913491751:43929913492320 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929913493380:43929913493819 26045:26045 hsa_signal_destroy() = 0 +43929913495346:43929913496829 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 +43929913497800:43929913498336 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43929913499214:43929913499907 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 +43929913500735:43929913501153 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43929913502205:43929913502688 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43929913503992:43929913504706 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43929913505687:43929913506591 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e91b0) = 0 +43929913507520:43929913510621 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e9170) = 0 +43929913511555:43929913512675 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 +43929913976858:43929913979517 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43929913980977:43929913981700 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43929913982755:43929913983279 26045:26051 hsa_signal_load_relaxed() = 1 +43929913513616:43929913984775 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43929913984177:43929913985748 26045:26051 hsa_signal_store_screlease(, 0) = void +43929913986694:43929913987197 26045:26051 hsa_signal_destroy() = 0 +43929914421657:43929914422456 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929929131704:43929929132911 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929929139139:43929929140198 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929929142456:43929929145418 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 +43929929146551:43929929147322 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43929929148144:43929929148807 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 +43929929149627:43929929150138 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43929929614560:43929929615272 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43929929616842:43929929617472 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43929929618465:43929929620113 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e9210) = 0 +43929929621158:43929929624978 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e91d0) = 0 +43929929629932:43929929632080 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 +43929930116050:43929930119128 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43929930120713:43929930121383 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43929930122477:43929930123015 26045:26051 hsa_signal_load_relaxed() = 1 +43929929632991:43929930124548 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43929930123890:43929930125391 26045:26051 hsa_signal_store_screlease(, 0) = void +43929930125869:43929930126545 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929930126278:43929930126937 26045:26051 hsa_signal_destroy() = 0 +43929930142964:43929930143614 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43929930151374:43929930152027 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 90 +43929930152907:43929930153390 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 90 +43929930154304:43929930154916 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 +43929930155682:43929930156045 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43929930157190:43929930157799 26045:26045 hsa_signal_store_relaxed(, 90) = void +43929930159426:43929930160055 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43929930166407:43929930167043 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929930169550:43929930170194 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 +43929930170965:43929930171294 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 91 +43929930172027:43929930172362 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 90 +43929930173328:43929930173654 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43929930174419:43929930174796 26045:26045 hsa_signal_store_relaxed(, 91) = void +43929930175769:43929932105862 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929932120727:43929932121603 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929932124258:43929932135221 26045:26045 hsa_signal_destroy() = 0 +43929932136427:43929932136936 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929932137967:43929932138456 26045:26045 hsa_signal_destroy() = 0 +43929932139968:43929932141424 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 +43929932142414:43929932142939 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43929932146305:43929932146936 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 +43929932147791:43929932148210 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43929932149274:43929932149759 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43929932151031:43929932151746 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43929932152724:43929932153587 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e9270) = 0 +43929932154522:43929932157592 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e9230) = 0 +43929932158521:43929932159655 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 +43929932622784:43929932625452 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43929932626889:43929932627614 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43929932628675:43929932629208 26045:26051 hsa_signal_load_relaxed() = 1 +43929932160606:43929932630721 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43929932630116:43929932631449 26045:26051 hsa_signal_store_screlease(, 0) = void +43929932632385:43929932632896 26045:26051 hsa_signal_destroy() = 0 +43929933068340:43929933069146 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929947657177:43929947658328 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929947664337:43929947665438 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929947667535:43929947670714 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 +43929947671823:43929947672576 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43929947673404:43929947674084 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 +43929947674858:43929947675343 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43929948144067:43929948144705 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43929948146487:43929948147116 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43929948148406:43929948149759 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e92d0) = 0 +43929948150791:43929948154513 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e9290) = 0 +43929948155672:43929948157640 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 +43929948642902:43929948645875 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43929948647396:43929948648052 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43929948649209:43929948649742 26045:26051 hsa_signal_load_relaxed() = 1 +43929948158497:43929948651353 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43929948650703:43929948652096 26045:26051 hsa_signal_store_screlease(, 0) = void +43929948656077:43929948656709 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929948656860:43929948657471 26045:26051 hsa_signal_destroy() = 0 +43929948672717:43929948673363 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43929948681094:43929948681771 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 92 +43929948682653:43929948683116 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 92 +43929948684074:43929948684679 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 +43929948685519:43929948685883 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43929948687030:43929948687637 26045:26045 hsa_signal_store_relaxed(, 92) = void +43929948689232:43929948689863 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43929948696402:43929948697034 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929948699196:43929948699819 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 +43929948700591:43929948700925 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 93 +43929948701669:43929948702026 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 92 +43929948702980:43929948703301 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43929948704054:43929948704435 26045:26045 hsa_signal_store_relaxed(, 93) = void +43929948705490:43929950633750 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929950648520:43929950649347 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929950651843:43929950652940 26045:26045 hsa_signal_destroy() = 0 +43929950664860:43929950665383 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929950666394:43929950666838 26045:26045 hsa_signal_destroy() = 0 +43929950668390:43929950669835 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 +43929950670811:43929950671333 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43929950672257:43929950672875 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 +43929950673705:43929950674117 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43929950675163:43929950675635 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43929950676893:43929950677609 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43929950678589:43929950679518 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e9330) = 0 +43929950682763:43929950685782 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e92f0) = 0 +43929950686737:43929950687882 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 +43929951151013:43929951153660 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43929951155116:43929951155835 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43929951156890:43929951157409 26045:26051 hsa_signal_load_relaxed() = 1 +43929950688811:43929951158919 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43929951158308:43929951159691 26045:26051 hsa_signal_store_screlease(, 0) = void +43929951160631:43929951161130 26045:26051 hsa_signal_destroy() = 0 +43929951596233:43929951597030 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929966213099:43929966214168 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929966220136:43929966221163 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929966223478:43929966226199 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 +43929966227286:43929966228122 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43929966228942:43929966229553 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 +43929966230352:43929966230831 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43929966687622:43929966688488 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43929966690237:43929966690867 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43929966691900:43929966693428 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e9390) = 0 +43929966694447:43929966697729 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e9350) = 0 +43929966698709:43929966700700 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 +43929967181560:43929967184561 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43929967186103:43929967186750 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43929967187882:43929967188413 26045:26051 hsa_signal_load_relaxed() = 1 +43929966701636:43929967189936 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43929967189296:43929967190909 26045:26051 hsa_signal_store_screlease(, 0) = void +43929967191274:43929967191937 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929967191790:43929967192404 26045:26051 hsa_signal_destroy() = 0 +43929967208404:43929967209061 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43929967220260:43929967220909 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 94 +43929967221805:43929967222274 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 94 +43929967223190:43929967223802 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 +43929967224633:43929967224990 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43929967226147:43929967226744 26045:26045 hsa_signal_store_relaxed(, 94) = void +43929967228433:43929967229067 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43929967235255:43929967235887 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929967238368:43929967239004 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 +43929967239767:43929967240102 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 95 +43929967240848:43929967241185 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 94 +43929967242135:43929967242462 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43929967243221:43929967243601 26045:26045 hsa_signal_store_relaxed(, 95) = void +43929967244540:43929969166963 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929969181755:43929969182592 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929969185290:43929969196243 26045:26045 hsa_signal_destroy() = 0 +43929969197457:43929969198034 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929969199037:43929969199470 26045:26045 hsa_signal_destroy() = 0 +43929969201083:43929969202543 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 +43929969203525:43929969204042 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43929969204928:43929969205616 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 +43929969206444:43929969206861 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43929969207917:43929969208401 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43929969209666:43929969210382 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43929969211366:43929969212222 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e93f0) = 0 +43929969213159:43929969216252 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e93b0) = 0 +43929969217190:43929969218539 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 +43929969682090:43929969684705 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43929969686143:43929969686866 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43929969687913:43929969688437 26045:26051 hsa_signal_load_relaxed() = 1 +43929969219464:43929969692892 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43929969692276:43929969693641 26045:26051 hsa_signal_store_screlease(, 0) = void +43929969694571:43929969695065 26045:26051 hsa_signal_destroy() = 0 +43929970130692:43929970131506 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929984787175:43929984788237 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929984794030:43929984795104 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929984797082:43929984800106 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 +43929984801256:43929984802023 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43929984802846:43929984803479 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 +43929984804277:43929984804750 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43929985272593:43929985273329 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43929985275036:43929985275662 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43929985276696:43929985278324 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e9450) = 0 +43929985279343:43929985283140 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e9410) = 0 +43929985284132:43929985285996 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 +43929985769855:43929985772851 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43929985774388:43929985775062 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43929985776203:43929985776735 26045:26051 hsa_signal_load_relaxed() = 1 +43929985286909:43929985778279 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43929985777625:43929985779178 26045:26051 hsa_signal_store_screlease(, 0) = void +43929985779790:43929985780471 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929985780061:43929985780702 26045:26051 hsa_signal_destroy() = 0 +43929985796407:43929985797058 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43929985804613:43929985805243 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 96 +43929985806352:43929985806814 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 96 +43929985807753:43929985808373 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 +43929985809243:43929985809605 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43929985810765:43929985811359 26045:26045 hsa_signal_store_relaxed(, 96) = void +43929985819075:43929985819718 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43929985826124:43929985826753 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43929985829053:43929985829758 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 +43929985830526:43929985830856 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 97 +43929985831610:43929985831956 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 96 +43929985832899:43929985833221 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43929985833980:43929985834360 26045:26045 hsa_signal_store_relaxed(, 97) = void +43929985835340:43929987762696 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929987777040:43929987777904 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929987780530:43929987781609 26045:26045 hsa_signal_destroy() = 0 +43929987792784:43929987793366 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43929987794645:43929987795133 26045:26045 hsa_signal_destroy() = 0 +43929987796670:43929987798108 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 +43929987799093:43929987799616 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43929987800501:43929987801124 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 +43929987801953:43929987802369 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43929987803425:43929987803910 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43929987805166:43929987805881 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43929987806859:43929987807729 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e94b0) = 0 +43929987808673:43929987811678 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e9470) = 0 +43929987812621:43929987813732 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 +43929988276922:43929988279635 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43929988281131:43929988281855 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43929988282908:43929988283446 26045:26051 hsa_signal_load_relaxed() = 1 +43929987814648:43929988285069 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43929988284342:43929988285799 26045:26051 hsa_signal_store_screlease(, 0) = void +43929988286735:43929988287241 26045:26051 hsa_signal_destroy() = 0 +43929988721606:43929988722408 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930003334792:43930003335844 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930003347699:43930003348836 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930003350687:43930003353622 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 +43930003354650:43930003355403 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43930003356235:43930003356922 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 +43930003357666:43930003358132 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43930003824982:43930003825908 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43930003827602:43930003828225 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43930003829252:43930003830773 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e9510) = 0 +43930003831757:43930003835599 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e94d0) = 0 +43930003836710:43930003838648 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 +43930004333654:43930004336957 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43930004338553:43930004339198 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43930004340375:43930004340904 26045:26051 hsa_signal_load_relaxed() = 1 +43930003839543:43930004342560 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43930004341775:43930004343162 26045:26051 hsa_signal_store_screlease(, 0) = void +43930004343893:43930004344558 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930004344056:43930004344672 26045:26051 hsa_signal_destroy() = 0 +43930004361029:43930004361669 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43930004369201:43930004369987 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 98 +43930004370851:43930004371313 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 98 +43930004372280:43930004372923 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 +43930004373705:43930004374066 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43930004375181:43930004375788 26045:26045 hsa_signal_store_relaxed(, 98) = void +43930004377422:43930004378051 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43930004384390:43930004385021 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930004387234:43930004387856 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 +43930004388607:43930004388932 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 99 +43930004389665:43930004390018 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 98 +43930004392827:43930004393170 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43930004393938:43930004394326 26045:26045 hsa_signal_store_relaxed(, 99) = void +43930004395278:43930006317213 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930006331659:43930006332478 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930006335162:43930006336241 26045:26045 hsa_signal_destroy() = 0 +43930006346881:43930006347456 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930006348488:43930006348938 26045:26045 hsa_signal_destroy() = 0 +43930006350412:43930006351849 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 +43930006352819:43930006353342 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43930006354287:43930006354911 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 +43930006355739:43930006356160 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43930006357193:43930006357674 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43930006358913:43930006359636 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43930006360621:43930006361570 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e9570) = 0 +43930006362500:43930006365531 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e9530) = 0 +43930006366476:43930006367600 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 +43930006830862:43930006833693 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43930006835193:43930006835919 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43930006837016:43930006837543 26045:26051 hsa_signal_load_relaxed() = 1 +43930006368547:43930006839057 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43930006838444:43930006839837 26045:26051 hsa_signal_store_screlease(, 0) = void +43930006840776:43930006841275 26045:26051 hsa_signal_destroy() = 0 +43930007276385:43930007277186 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930021909178:43930021910294 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930021915817:43930021916931 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930021918969:43930021922195 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 +43930021923268:43930021923937 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43930021924763:43930021925456 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 +43930021926233:43930021926736 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43930022398000:43930022398757 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43930022400405:43930022401029 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43930022402057:43930022403910 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e95d0) = 0 +43930022404915:43930022408222 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e9590) = 0 +43930022409331:43930022411072 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 +43930022879826:43930022882798 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43930022884583:43930022885228 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43930022886330:43930022886857 26045:26051 hsa_signal_load_relaxed() = 1 +43930022411985:43930022888437 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43930022887792:43930022889173 26045:26051 hsa_signal_store_screlease(, 0) = void +43930022889766:43930022890441 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930022890057:43930022890694 26045:26051 hsa_signal_destroy() = 0 +43930022906730:43930022907378 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43930022914985:43930022915629 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 100 +43930022916686:43930022917156 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 100 +43930022918073:43930022918686 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 +43930022919497:43930022919850 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43930022921007:43930022921586 26045:26045 hsa_signal_store_relaxed(, 100) = void +43930022923247:43930022923883 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43930022929809:43930022930437 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930022932726:43930022933355 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 +43930022934112:43930022934447 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 101 +43930022935208:43930022935544 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 100 +43930022936514:43930022936837 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43930022937629:43930022938011 26045:26045 hsa_signal_store_relaxed(, 101) = void +43930022939048:43930023496099 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930023509485:43930023510256 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930023512868:43930023513880 26045:26045 hsa_signal_destroy() = 0 +43930023529574:43930023530051 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930023530982:43930023531371 26045:26045 hsa_signal_destroy() = 0 +43930023532734:43930023534112 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 +43930023534981:43930023535451 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43930023536271:43930023536824 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 +43930023537565:43930023537942 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43930023538885:43930023539322 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43930023540455:43930023541102 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43930023541984:43930023542974 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e9630) = 0 +43930023543812:43930023546299 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e95f0) = 0 +43930023547141:43930023548158 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 +43930024008883:43930024011547 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43930024012996:43930024013720 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43930024014773:43930024015295 26045:26051 hsa_signal_load_relaxed() = 1 +43930023549005:43930024016901 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43930024016200:43930024017571 26045:26051 hsa_signal_store_screlease(, 0) = void +43930024018507:43930024019005 26045:26051 hsa_signal_destroy() = 0 +43930024454906:43930024455707 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930039078442:43930039079504 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930039085540:43930039086637 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930039088750:43930039091857 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 +43930039092921:43930039093663 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43930039094491:43930039095113 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 +43930039095915:43930039096409 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43930039561747:43930039562672 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43930039564635:43930039565262 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43930039566299:43930039568277 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e9690) = 0 +43930039569312:43930039572420 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e9650) = 0 +43930039573542:43930039575455 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 +43930040044142:43930040047408 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43930040049104:43930040049793 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43930040050964:43930040051519 26045:26051 hsa_signal_load_relaxed() = 1 +43930039580085:43930040062182 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43930040061531:43930040062972 26045:26051 hsa_signal_store_screlease(, 0) = void +43930040063490:43930040064186 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930040063886:43930040064550 26045:26051 hsa_signal_destroy() = 0 +43930040090607:43930040091256 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43930040098574:43930040099229 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 102 +43930040100105:43930040100574 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 102 +43930040101498:43930040102142 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 +43930040102977:43930040103332 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43930040104456:43930040105116 26045:26045 hsa_signal_store_relaxed(, 102) = void +43930040106796:43930040107428 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43930040113717:43930040114348 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930040116624:43930040117254 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 +43930040118015:43930040118350 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 103 +43930040119088:43930040119435 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 102 +43930040120405:43930040120728 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43930040121483:43930040121863 26045:26045 hsa_signal_store_relaxed(, 103) = void +43930040122844:43930040684921 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930040697964:43930040698781 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930040701296:43930040702306 26045:26045 hsa_signal_destroy() = 0 +43930040703479:43930040704147 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930040715146:43930040715641 26045:26045 hsa_signal_destroy() = 0 +43930040717070:43930040718335 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 +43930040719219:43930040719696 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43930040720521:43930040721131 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 +43930040724286:43930040724671 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43930040725633:43930040726070 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43930040727205:43930040727846 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43930040728734:43930040729512 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e96f0) = 0 +43930040730353:43930040733148 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e96b0) = 0 +43930040733986:43930040735019 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 +43930041194982:43930041197613 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43930041199074:43930041199791 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43930041200845:43930041201373 26045:26051 hsa_signal_load_relaxed() = 1 +43930040735865:43930041203015 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43930041202269:43930041203625 26045:26051 hsa_signal_store_screlease(, 0) = void +43930041204561:43930041205058 26045:26051 hsa_signal_destroy() = 0 +43930041639748:43930041640548 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930056274831:43930056275903 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930056281666:43930056282831 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930056285253:43930056288158 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 +43930056289276:43930056290001 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43930056290823:43930056291519 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 +43930056292287:43930056292760 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43930056759230:43930056759963 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43930056761981:43930056762609 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43930056763632:43930056765333 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e9750) = 0 +43930056766342:43930056769827 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e9710) = 0 +43930056771036:43930056772937 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 +43930057241539:43930057244530 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43930057246047:43930057246688 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43930057247839:43930057248369 26045:26051 hsa_signal_load_relaxed() = 1 +43930056773796:43930057249903 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43930057249257:43930057250629 26045:26051 hsa_signal_store_screlease(, 0) = void +43930057254253:43930057254881 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930057255533:43930057256128 26045:26051 hsa_signal_destroy() = 0 +43930057270805:43930057271435 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43930057279331:43930057280022 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 104 +43930057280908:43930057281377 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 104 +43930057282340:43930057282939 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 +43930057283721:43930057284083 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43930057285228:43930057285830 26045:26045 hsa_signal_store_relaxed(, 104) = void +43930057287483:43930057288111 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43930057294507:43930057295138 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930057297346:43930057297967 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 +43930057298728:43930057299059 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 105 +43930057299793:43930057300138 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 104 +43930057301020:43930057301344 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43930057302101:43930057302483 26045:26045 hsa_signal_store_relaxed(, 105) = void +43930057303484:43930057859583 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930057873088:43930057873866 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930057876405:43930057877423 26045:26045 hsa_signal_destroy() = 0 +43930057878602:43930057879219 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930057890241:43930057890650 26045:26045 hsa_signal_destroy() = 0 +43930057892068:43930057893414 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 +43930057894291:43930057894755 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43930057895593:43930057896152 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 +43930057896900:43930057897276 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43930057898217:43930057898656 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43930057899793:43930057900436 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43930057901317:43930057902159 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e97b0) = 0 +43930057903003:43930057905746 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e9770) = 0 +43930057908663:43930057909737 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 +43930058370388:43930058372982 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43930058374444:43930058375161 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43930058376214:43930058376742 26045:26051 hsa_signal_load_relaxed() = 1 +43930057910612:43930058378381 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43930058377646:43930058379055 26045:26051 hsa_signal_store_screlease(, 0) = void +43930058379992:43930058380492 26045:26051 hsa_signal_destroy() = 0 +43930058821563:43930058822359 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930073422137:43930073423216 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930073429144:43930073430373 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930073432303:43930073435314 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 +43930073436417:43930073437296 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43930073438133:43930073438709 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 +43930073439527:43930073440004 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43930073907009:43930073907738 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43930073909556:43930073910178 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43930073911301:43930073912773 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e9810) = 0 +43930073913796:43930073917240 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e97d0) = 0 +43930073918222:43930073920070 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 +43930074387428:43930074390460 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43930074391958:43930074392604 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43930074393828:43930074394365 26045:26051 hsa_signal_load_relaxed() = 1 +43930073921036:43930074395906 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43930074395257:43930074396644 26045:26051 hsa_signal_store_screlease(, 0) = void +43930074397265:43930074397938 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930074397529:43930074398174 26045:26051 hsa_signal_destroy() = 0 +43930074418318:43930074418971 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43930074427103:43930074427745 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 106 +43930074429698:43930074430207 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 106 +43930074431196:43930074431829 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 +43930074432669:43930074433028 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43930074434201:43930074434808 26045:26045 hsa_signal_store_relaxed(, 106) = void +43930074436457:43930074437090 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43930074443355:43930074443987 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930074446416:43930074447052 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 +43930074447805:43930074448129 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 107 +43930074448864:43930074449190 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 106 +43930074450146:43930074450469 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43930074451226:43930074451606 26045:26045 hsa_signal_store_relaxed(, 107) = void +43930074452547:43930075008052 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930075021524:43930075022297 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930075024847:43930075025868 26045:26045 hsa_signal_destroy() = 0 +43930075027089:43930075027637 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930075038667:43930075039104 26045:26045 hsa_signal_destroy() = 0 +43930075040535:43930075041842 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 +43930075042727:43930075043195 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43930075043988:43930075044607 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 +43930075045351:43930075045730 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43930075046735:43930075047173 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43930075048304:43930075048944 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43930075049825:43930075050632 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e9870) = 0 +43930075051485:43930075053958 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e9830) = 0 +43930075054813:43930075055824 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 +43930075515520:43930075518102 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43930075519534:43930075520257 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43930075521311:43930075521831 26045:26051 hsa_signal_load_relaxed() = 1 +43930075056670:43930075523468 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43930075522734:43930075524108 26045:26051 hsa_signal_store_screlease(, 0) = void +43930075528465:43930075528970 26045:26051 hsa_signal_destroy() = 0 +43930075962464:43930075963328 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930090570121:43930090571241 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930090576859:43930090577928 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930090579903:43930090582932 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 +43930090584253:43930090584922 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43930090585830:43930090586552 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 +43930090587345:43930090587826 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43930091054656:43930091055399 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43930091057054:43930091057685 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43930091058727:43930091060308 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e98d0) = 0 +43930091061837:43930091065912 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e9890) = 0 +43930091066910:43930091068802 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 +43930091537241:43930091540241 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43930091541765:43930091542417 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43930091543621:43930091544143 26045:26051 hsa_signal_load_relaxed() = 1 +43930091069822:43930091545708 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43930091545053:43930091546623 26045:26051 hsa_signal_store_screlease(, 0) = void +43930091547059:43930091547735 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930091547562:43930091548190 26045:26051 hsa_signal_destroy() = 0 +43930091563818:43930091564476 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43930091572437:43930091573195 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 108 +43930091574085:43930091574555 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 108 +43930091575570:43930091576173 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 +43930091576993:43930091577354 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43930091578507:43930091579095 26045:26045 hsa_signal_store_relaxed(, 108) = void +43930091580664:43930091581297 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43930091591624:43930091592265 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930091594487:43930091595074 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 +43930091595830:43930091596164 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 109 +43930091596898:43930091597251 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 108 +43930091598188:43930091598512 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43930091599277:43930091599664 26045:26045 hsa_signal_store_relaxed(, 109) = void +43930091600640:43930092158131 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930092171613:43930092172439 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930092175088:43930092176094 26045:26045 hsa_signal_destroy() = 0 +43930092177301:43930092177905 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930092188461:43930092188927 26045:26045 hsa_signal_destroy() = 0 +43930092190468:43930092191756 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 +43930092192638:43930092193151 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43930092193966:43930092194579 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 +43930092195330:43930092195706 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43930092196628:43930092197061 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43930092198230:43930092198879 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43930092199767:43930092200533 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e9930) = 0 +43930092201381:43930092204140 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e98f0) = 0 +43930092204988:43930092205995 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 +43930092697461:43930092699997 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43930092701317:43930092701962 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43930092702911:43930092703383 26045:26051 hsa_signal_load_relaxed() = 1 +43930092206848:43930092704851 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43930092704194:43930092705463 26045:26051 hsa_signal_store_screlease(, 0) = void +43930092714844:43930092715363 26045:26051 hsa_signal_destroy() = 0 +43930093151339:43930093152188 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930107758477:43930107759784 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930107766315:43930107767397 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930107777482:43930107780643 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 +43930107781687:43930107782496 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43930107783328:43930107794282 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 +43930107795179:43930107795674 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43930108255388:43930108256281 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43930108258055:43930108258684 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43930108259728:43930108261407 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e9990) = 0 +43930108262411:43930108266442 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e9950) = 0 +43930108267399:43930108269481 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 +43930108738211:43930108741301 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43930108742789:43930108743431 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43930108744712:43930108745242 26045:26051 hsa_signal_load_relaxed() = 1 +43930108270312:43930108746768 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43930108746095:43930108747496 26045:26051 hsa_signal_store_screlease(, 0) = void +43930108748024:43930108748701 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930108748386:43930108749046 26045:26051 hsa_signal_destroy() = 0 +43930108764816:43930108765453 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43930108773674:43930108774372 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 110 +43930108775255:43930108775725 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 110 +43930108776729:43930108777326 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 +43930108778101:43930108778462 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43930108779607:43930108780221 26045:26045 hsa_signal_store_relaxed(, 110) = void +43930108782024:43930108782661 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43930108789074:43930108789706 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930108791976:43930108792619 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 +43930108793375:43930108793723 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 111 +43930108794460:43930108794793 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 110 +43930108795747:43930108796072 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43930108798559:43930108798950 26045:26045 hsa_signal_store_relaxed(, 111) = void +43930108799891:43930109356299 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930109358212:43930109358714 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930109360294:43930109360865 26045:26045 hsa_signal_destroy() = 0 +43930109372669:43930109373210 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930109374193:43930109374601 26045:26045 hsa_signal_destroy() = 0 +43930109376125:43930109378087 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 +43930109379019:43930109379617 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43930109390440:43930109390940 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 +43930109391694:43930109392064 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43930109392912:43930109393318 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43930109394244:43930109394893 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43930109395706:43930109396315 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e99f0) = 0 +43930109397088:43930109399048 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e99b0) = 0 +43930109399831:43930109400611 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 +43930109892117:43930109894713 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43930109896044:43930109896710 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43930109897654:43930109898135 26045:26051 hsa_signal_load_relaxed() = 1 +43930109401385:43930109899598 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43930109898947:43930109900202 26045:26051 hsa_signal_store_screlease(, 0) = void +43930109909623:43930109910154 26045:26051 hsa_signal_destroy() = 0 +43930110345363:43930110346211 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930124999411:43930125000483 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930125005604:43930125006667 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930125008940:43930125011679 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 +43930125012753:43930125013706 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43930125014519:43930125015123 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 +43930125015978:43930125016472 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43930125484306:43930125485390 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43930125491243:43930125491871 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43930125492904:43930125494475 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e9a50) = 0 +43930125495468:43930125498798 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e9a10) = 0 +43930125499748:43930125501565 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 +43930125970814:43930125973802 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43930125975325:43930125975968 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43930125977027:43930125977555 26045:26051 hsa_signal_load_relaxed() = 1 +43930125502444:43930125979055 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43930125978406:43930125979784 26045:26051 hsa_signal_store_screlease(, 0) = void +43930125980369:43930125981047 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930125980668:43930125981300 26045:26051 hsa_signal_destroy() = 0 +43930125995463:43930125996100 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43930126002331:43930126002998 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 112 +43930126003921:43930126004386 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 112 +43930126005300:43930126005912 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 +43930126006656:43930126007132 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43930126008106:43930126008678 26045:26045 hsa_signal_store_relaxed(, 112) = void +43930126009878:43930126010509 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43930126016130:43930126016756 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930126018561:43930126019190 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 +43930126020019:43930126020395 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 113 +43930126021133:43930126021484 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 112 +43930126022229:43930126022555 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43930126023297:43930126023677 26045:26045 hsa_signal_store_relaxed(, 113) = void +43930126024704:43930126580357 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930126582192:43930126582678 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930126584295:43930126584870 26045:26045 hsa_signal_destroy() = 0 +43930126596418:43930126596987 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930126601244:43930126601662 26045:26045 hsa_signal_destroy() = 0 +43930126603241:43930126614040 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 +43930126614903:43930126615341 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43930126616185:43930126616677 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 +43930126617438:43930126617814 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43930126618686:43930126619080 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43930126620041:43930126620686 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43930126621501:43930126622047 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e9ab0) = 0 +43930126622829:43930126624563 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e9a70) = 0 +43930126625349:43930126626111 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 +43930127077925:43930127080325 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43930127081659:43930127082334 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43930127083293:43930127083789 26045:26051 hsa_signal_load_relaxed() = 1 +43930126626903:43930127085196 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43930127084623:43930127085877 26045:26051 hsa_signal_store_screlease(, 0) = void +43930127086746:43930127087227 26045:26051 hsa_signal_destroy() = 0 +43930127541256:43930127542102 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930142193127:43930142194192 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930142198885:43930142200138 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930142201933:43930142204638 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 +43930142205713:43930142206473 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43930142207295:43930142207935 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 +43930142208805:43930142209269 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43930142676960:43930142677839 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43930142679720:43930142680356 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43930142681336:43930142683067 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e9b10) = 0 +43930142684257:43930142687499 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e9ad0) = 0 +43930142688719:43930142690470 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 +43930143157745:43930143160733 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43930143162303:43930143162962 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43930143164036:43930143164750 26045:26051 hsa_signal_load_relaxed() = 1 +43930142694788:43930143166320 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43930143165658:43930143167047 26045:26051 hsa_signal_store_screlease(, 0) = void +43930143167725:43930143168446 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930143167935:43930143168597 26045:26051 hsa_signal_destroy() = 0 +43930143182530:43930143183169 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43930143189111:43930143189780 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 114 +43930143190645:43930143191072 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 114 +43930143191976:43930143192584 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 +43930143193384:43930143193781 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43930143194762:43930143195337 26045:26045 hsa_signal_store_relaxed(, 114) = void +43930143196602:43930143197224 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43930143203089:43930143203723 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930143205646:43930143206277 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 +43930143207110:43930143207491 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 115 +43930143208229:43930143208563 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 114 +43930143209306:43930143209630 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43930143210365:43930143210754 26045:26045 hsa_signal_store_relaxed(, 115) = void +43930143211806:43930143767689 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930143769160:43930143769652 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930143771126:43930143771673 26045:26045 hsa_signal_destroy() = 0 +43930143772610:43930143783589 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930143784559:43930143785040 26045:26045 hsa_signal_destroy() = 0 +43930143786428:43930143788087 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 +43930143789027:43930143789539 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43930143790414:43930143790973 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 +43930143801703:43930143802124 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43930143804578:43930143804965 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43930143805922:43930143806552 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43930143807345:43930143807869 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e9b70) = 0 +43930143808633:43930143810596 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e9b30) = 0 +43930143811371:43930143812187 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 +43930144317143:43930144319678 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43930144321025:43930144321673 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43930144322606:43930144323075 26045:26051 hsa_signal_load_relaxed() = 1 +43930143812983:43930144324606 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43930144323884:43930144325135 26045:26051 hsa_signal_store_screlease(, 0) = void +43930144325981:43930144326437 26045:26051 hsa_signal_destroy() = 0 +43930144768617:43930144769461 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930159400676:43930159401743 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930159406204:43930159407303 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930159409155:43930159411556 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 +43930159412647:43930159413434 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43930159414248:43930159414895 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 +43930159415748:43930159416226 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43930159885044:43930159885777 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43930159887817:43930159888446 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43930159889473:43930159891293 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e9bd0) = 0 +43930159892366:43930159895560 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e9b90) = 0 +43930159896538:43930159898604 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 +43930160378394:43930160381326 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43930160382853:43930160383506 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43930160384652:43930160385173 26045:26051 hsa_signal_load_relaxed() = 1 +43930159899492:43930160386867 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43930160386088:43930160387457 26045:26051 hsa_signal_store_screlease(, 0) = void +43930160388296:43930160388921 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930160393544:43930160394153 26045:26051 hsa_signal_destroy() = 0 +43930160405775:43930160406418 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43930160411930:43930160412732 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 116 +43930160413505:43930160413981 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 116 +43930160414885:43930160415492 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 +43930160416271:43930160416712 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43930160417734:43930160418383 26045:26045 hsa_signal_store_relaxed(, 116) = void +43930160419803:43930160420434 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43930160427292:43930160427922 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930160429635:43930160430275 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 +43930160431101:43930160431479 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 117 +43930160432223:43930160432556 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 116 +43930160433303:43930160433644 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43930160434382:43930160434768 26045:26045 hsa_signal_store_relaxed(, 117) = void +43930160435866:43930160987991 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930160989389:43930160989872 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930160991256:43930160991816 26045:26045 hsa_signal_destroy() = 0 +43930160992757:43930161003707 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930161004759:43930161005155 26045:26045 hsa_signal_destroy() = 0 +43930161006711:43930161008573 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 +43930161009577:43930161010096 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43930161010977:43930161011517 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 +43930161021774:43930161022155 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43930161023011:43930161023393 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43930161024341:43930161024974 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43930161025771:43930161026372 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e9c30) = 0 +43930161027141:43930161028937 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e9bf0) = 0 +43930161029718:43930161030624 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 +43930161522870:43930161525310 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43930161526640:43930161527286 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43930161528225:43930161528696 26045:26051 hsa_signal_load_relaxed() = 1 +43930161032630:43930161530161 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43930161529503:43930161530727 26045:26051 hsa_signal_store_screlease(, 0) = void +43930161531571:43930161532022 26045:26051 hsa_signal_destroy() = 0 +43930161973794:43930161974636 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930176593875:43930176594943 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930176599281:43930176600455 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930176602239:43930176604284 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 +43930176605346:43930176606038 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43930176606857:43930176607458 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 +43930176608322:43930176608797 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43930177074246:43930177075177 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43930177076749:43930177077377 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43930177078418:43930177080091 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e9c90) = 0 +43930177081129:43930177084642 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e9c50) = 0 +43930177085622:43930177087155 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 +43930177554902:43930177557948 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43930177559498:43930177560148 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43930177561320:43930177561849 26045:26051 hsa_signal_load_relaxed() = 1 +43930177088116:43930177563663 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43930177563007:43930177564367 26045:26051 hsa_signal_store_screlease(, 0) = void +43930177565032:43930177565734 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930177565251:43930177565914 26045:26051 hsa_signal_destroy() = 0 +43930177579160:43930177579806 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43930177585481:43930177586280 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 118 +43930177587074:43930177587495 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 118 +43930177592420:43930177593077 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 +43930177593907:43930177594353 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43930177595311:43930177595878 26045:26045 hsa_signal_store_relaxed(, 118) = void +43930177597250:43930177597882 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43930177603876:43930177604503 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930177606197:43930177606831 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 +43930177607657:43930177608033 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 119 +43930177608774:43930177609122 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 118 +43930177609862:43930177610183 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43930177610915:43930177611296 26045:26045 hsa_signal_store_relaxed(, 119) = void +43930177612345:43930178167865 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930178169467:43930178169938 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930178171542:43930178172095 26045:26045 hsa_signal_destroy() = 0 +43930178183486:43930178184086 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930178185049:43930178185439 26045:26045 hsa_signal_destroy() = 0 +43930178187050:43930178188806 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 +43930178189848:43930178190373 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43930178191251:43930178201329 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 +43930178202156:43930178202528 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43930178203376:43930178203756 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43930178204686:43930178205318 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43930178206116:43930178206665 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e9cf0) = 0 +43930178207436:43930178209378 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e9cb0) = 0 +43930178210158:43930178210893 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 +43930178703085:43930178705428 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43930178706816:43930178707463 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43930178708397:43930178708867 26045:26051 hsa_signal_load_relaxed() = 1 +43930178211661:43930178710331 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43930178709678:43930178710920 26045:26051 hsa_signal_store_screlease(, 0) = void +43930178714901:43930178715353 26045:26051 hsa_signal_destroy() = 0 +43930179154265:43930179155132 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930193783554:43930193784650 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930193789576:43930193790670 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930193792639:43930193794896 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 +43930193796002:43930193796682 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43930193797497:43930193798100 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 +43930193798962:43930193799436 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43930194267397:43930194268260 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43930194270350:43930194270972 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43930194272092:43930194273678 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e9d50) = 0 +43930194274692:43930194277793 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e9d10) = 0 +43930194278769:43930194280320 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 +43930194749468:43930194752419 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43930194754024:43930194754682 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43930194755820:43930194756358 26045:26051 hsa_signal_load_relaxed() = 1 +43930194281171:43930194757980 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43930194757326:43930194758730 26045:26051 hsa_signal_store_screlease(, 0) = void +43930194759356:43930194760035 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930194759615:43930194760266 26045:26051 hsa_signal_destroy() = 0 +43930194774092:43930194774725 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43930194780080:43930194780724 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 120 +43930194781585:43930194782055 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 120 +43930194783168:43930194783776 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 +43930194784646:43930194785052 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43930194786078:43930194786641 26045:26045 hsa_signal_store_relaxed(, 120) = void +43930194787878:43930194788502 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43930194794083:43930194794710 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930194800380:43930194801015 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 +43930194801859:43930194802191 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 121 +43930194802927:43930194803258 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 120 +43930194803996:43930194804319 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43930194805071:43930194805457 26045:26045 hsa_signal_store_relaxed(, 121) = void +43930194807001:43930195356961 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930195358367:43930195358857 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930195360266:43930195360823 26045:26045 hsa_signal_destroy() = 0 +43930195361776:43930195372628 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930195373634:43930195374277 26045:26045 hsa_signal_destroy() = 0 +43930195375656:43930195377537 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 +43930195378611:43930195379130 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43930195380004:43930195380605 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 +43930195390876:43930195391259 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43930195392111:43930195392497 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43930195393448:43930195394075 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43930195394872:43930195395398 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e9db0) = 0 +43930195396159:43930195397880 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e9d70) = 0 +43930195398649:43930195399394 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 +43930195891248:43930195893694 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43930195895043:43930195895687 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43930195896630:43930195897097 26045:26051 hsa_signal_load_relaxed() = 1 +43930195400161:43930195898565 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43930195897905:43930195899113 26045:26051 hsa_signal_store_screlease(, 0) = void +43930195899953:43930195900403 26045:26051 hsa_signal_destroy() = 0 +43930196369165:43930196370005 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930211023871:43930211024945 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930211029495:43930211030681 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930211032468:43930211034490 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 +43930211039559:43930211040252 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43930211041165:43930211041833 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 +43930211042647:43930211043141 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43930211505691:43930211506580 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43930211508412:43930211509043 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43930211510244:43930211511622 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e9e10) = 0 +43930211512598:43930211516047 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e9dd0) = 0 +43930211516990:43930211518647 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 +43930211987544:43930211990831 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43930211992433:43930211993110 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43930211994315:43930211994855 26045:26051 hsa_signal_load_relaxed() = 1 +43930211519461:43930211996369 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43930211995708:43930211997156 26045:26051 hsa_signal_store_screlease(, 0) = void +43930211997735:43930211998416 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930211998041:43930211998682 26045:26051 hsa_signal_destroy() = 0 +43930212027401:43930212028053 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43930212033318:43930212033858 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 122 +43930212034967:43930212035512 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 122 +43930212036449:43930212037076 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 +43930212037927:43930212038380 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43930212039302:43930212039869 26045:26045 hsa_signal_store_relaxed(, 122) = void +43930212041145:43930212041795 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43930212056997:43930212057625 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930212059358:43930212059995 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 +43930212060806:43930212061137 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 123 +43930212061870:43930212062212 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 122 +43930212062971:43930212063289 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43930212064027:43930212064410 26045:26045 hsa_signal_store_relaxed(, 123) = void +43930212066806:43930212618613 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930212620572:43930212621054 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930212622562:43930212623124 26045:26045 hsa_signal_destroy() = 0 +43930212634669:43930212635231 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930212636200:43930212636593 26045:26045 hsa_signal_destroy() = 0 +43930212638137:43930212640196 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 +43930212641194:43930212641707 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43930212652508:43930212652997 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 +43930212653756:43930212654122 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43930212654975:43930212655361 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43930212656305:43930212656930 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43930212657719:43930212658352 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e9e70) = 0 +43930212659120:43930212660951 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e9e30) = 0 +43930212661723:43930212662458 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 +43930213154922:43930213157410 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43930213158741:43930213159390 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43930213160331:43930213160803 26045:26051 hsa_signal_load_relaxed() = 1 +43930212663242:43930213162275 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43930213161621:43930213162846 26045:26051 hsa_signal_store_screlease(, 0) = void +43930213163692:43930213164136 26045:26051 hsa_signal_destroy() = 0 +43930213607568:43930213608407 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930228259586:43930228260654 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930228264995:43930228266443 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930228268286:43930228270524 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 +43930228271655:43930228272491 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43930228273485:43930228274140 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 +43930228274987:43930228275453 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43930228743437:43930228744351 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43930228749589:43930228750224 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43930228751206:43930228752913 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e9ed0) = 0 +43930228753931:43930228757120 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e9e90) = 0 +43930228758170:43930228759668 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 +43930229228066:43930229231072 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43930229232719:43930229233381 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43930229234544:43930229235065 26045:26051 hsa_signal_load_relaxed() = 1 +43930228760586:43930229236571 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43930229235918:43930229237296 26045:26051 hsa_signal_store_screlease(, 0) = void +43930229238102:43930229238781 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930229238184:43930229238824 26045:26051 hsa_signal_destroy() = 0 +43930229252290:43930229252928 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43930229258181:43930229258687 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 124 +43930229259565:43930229260037 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 124 +43930229260949:43930229261558 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 +43930229262344:43930229262787 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43930229263705:43930229264267 26045:26045 hsa_signal_store_relaxed(, 124) = void +43930229265482:43930229266118 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43930229271681:43930229272312 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930229274056:43930229274676 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 +43930229275504:43930229275834 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 125 +43930229276574:43930229276909 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 124 +43930229277673:43930229277996 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43930229278727:43930229279113 26045:26045 hsa_signal_store_relaxed(, 125) = void +43930229280116:43930229834926 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930229836363:43930229836829 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930229838264:43930229838822 26045:26045 hsa_signal_destroy() = 0 +43930229839761:43930229850715 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930229851724:43930229852124 26045:26045 hsa_signal_destroy() = 0 +43930229869082:43930229870154 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 +43930229871060:43930229871474 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43930229872294:43930229872746 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 +43930229873481:43930229873850 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43930229874780:43930229875176 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43930229876092:43930229876723 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43930229877514:43930229878037 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e9f30) = 0 +43930229878798:43930229880721 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e9ef0) = 0 +43930229881494:43930229882216 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 +43930230375365:43930230377747 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43930230379076:43930230379737 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43930230380676:43930230381161 26045:26051 hsa_signal_load_relaxed() = 1 +43930229882993:43930230382617 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43930230381967:43930230383208 26045:26051 hsa_signal_store_screlease(, 0) = void +43930230384050:43930230384511 26045:26051 hsa_signal_destroy() = 0 +43930230825905:43930230826789 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930245477637:43930245478708 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930245483129:43930245484272 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930245486183:43930245488284 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 +43930245489374:43930245490065 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43930245490879:43930245491404 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 +43930245492279:43930245492748 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43930245958438:43930245959171 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43930245960725:43930245961346 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43930245962323:43930245964109 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e9f90) = 0 +43930245965131:43930245968451 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e9f50) = 0 +43930245969424:43930245971140 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 +43930246438507:43930246441473 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43930246447741:43930246448397 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43930246449507:43930246450035 26045:26051 hsa_signal_load_relaxed() = 1 +43930245972066:43930246451538 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43930246450886:43930246452277 26045:26051 hsa_signal_store_screlease(, 0) = void +43930246453030:43930246453717 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930246453209:43930246453837 26045:26051 hsa_signal_destroy() = 0 +43930246467767:43930246468401 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43930246473656:43930246474167 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 126 +43930246475033:43930246475494 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 126 +43930246476413:43930246477022 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 +43930246477862:43930246478312 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43930246479265:43930246479830 26045:26045 hsa_signal_store_relaxed(, 126) = void +43930246481044:43930246481668 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43930246487484:43930246488115 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930246489852:43930246490476 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 +43930246491303:43930246491633 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 127 +43930246492372:43930246492717 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 126 +43930246493464:43930246493783 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43930246494554:43930246494939 26045:26045 hsa_signal_store_relaxed(, 127) = void +43930246496307:43930247049027 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930247050425:43930247050908 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930247052432:43930247052972 26045:26045 hsa_signal_destroy() = 0 +43930247053921:43930247064800 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930247065817:43930247066297 26045:26045 hsa_signal_destroy() = 0 +43930247067674:43930247069673 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 +43930247070713:43930247071226 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43930247072104:43930247072666 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 +43930247082970:43930247083354 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43930247084211:43930247084581 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43930247087245:43930247087894 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43930247088691:43930247089240 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e9ff0) = 0 +43930247090016:43930247091762 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e9fb0) = 0 +43930247092545:43930247093279 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 +43930247585772:43930247588173 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43930247589505:43930247590150 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43930247591089:43930247591562 26045:26051 hsa_signal_load_relaxed() = 1 +43930247094046:43930247593017 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43930247592370:43930247593588 26045:26051 hsa_signal_store_screlease(, 0) = void +43930247594436:43930247594891 26045:26051 hsa_signal_destroy() = 0 +43930248042948:43930248043789 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930262671271:43930262672345 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930262676858:43930262678314 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930262680446:43930262682519 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 +43930262683769:43930262684462 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43930262685280:43930262685889 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 +43930262686749:43930262687216 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43930263154299:43930263155178 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43930263160755:43930263161391 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43930263162441:43930263163896 26045:26045 hsa_signal_create(1, , 0, 0x7f15277ea050) = 0 +43930263164914:43930263168567 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277ea010) = 0 +43930263169535:43930263171066 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 +43930263638240:43930263641292 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43930263642911:43930263643568 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43930263644814:43930263645351 26045:26051 hsa_signal_load_relaxed() = 1 +43930263172135:43930263646903 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43930263646254:43930263647651 26045:26051 hsa_signal_store_screlease(, 0) = void +43930263648281:43930263648957 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930263648533:43930263649184 26045:26051 hsa_signal_destroy() = 0 +43930263664853:43930263665489 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43930263670645:43930263671415 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 128 +43930263672287:43930263672756 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 128 +43930263673659:43930263674259 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 +43930263675050:43930263675495 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43930263676440:43930263677000 26045:26045 hsa_signal_store_relaxed(, 128) = void +43930263678189:43930263678829 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43930263684524:43930263685155 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930263686803:43930263687425 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 +43930263688254:43930263688582 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 129 +43930263689317:43930263689648 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 128 +43930263690388:43930263690710 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43930263691449:43930263691826 26045:26045 hsa_signal_store_relaxed(, 129) = void +43930263692888:43930264252934 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930264254301:43930264254781 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930264256255:43930264256804 26045:26045 hsa_signal_destroy() = 0 +43930264257752:43930264268447 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930264269418:43930264269806 26045:26045 hsa_signal_destroy() = 0 +43930264271209:43930264273109 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 +43930264274119:43930264274661 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43930264275539:43930264276261 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 +43930264286562:43930264286948 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43930264287807:43930264288174 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43930264289094:43930264289721 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43930264290506:43930264291098 26045:26045 hsa_signal_create(1, , 0, 0x7f15277ea0b0) = 0 +43930264291860:43930264293830 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277ea070) = 0 +43930264294607:43930264295381 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 +43930264787940:43930264790349 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43930264794671:43930264795330 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43930264796264:43930264796736 26045:26051 hsa_signal_load_relaxed() = 1 +43930264296159:43930264798191 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43930264797544:43930264798771 26045:26051 hsa_signal_store_screlease(, 0) = void +43930264799591:43930264800052 26045:26051 hsa_signal_destroy() = 0 +43930265243725:43930265244567 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930279850463:43930279851537 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930279856038:43930279857058 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930279859189:43930279861355 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 +43930279862464:43930279863107 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43930279863934:43930279864506 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 +43930279865365:43930279865857 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43930280359778:43930280360519 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43930280362283:43930280362921 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43930280363999:43930280365901 26045:26045 hsa_signal_create(1, , 0, 0x7f15277ea110) = 0 +43930280366925:43930280370618 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277ea0d0) = 0 +43930280371587:43930280373330 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 +43930280840446:43930280843699 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43930280845255:43930280845906 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43930280847051:43930280847576 26045:26051 hsa_signal_load_relaxed() = 1 +43930280374274:43930280849138 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43930280848480:43930280849888 26045:26051 hsa_signal_store_screlease(, 0) = void +43930280850532:43930280851260 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930280850773:43930280851419 26045:26051 hsa_signal_destroy() = 0 +43930280865187:43930280865826 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43930280870916:43930280871426 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 130 +43930280872315:43930280872778 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 130 +43930280873727:43930280874338 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 +43930280878841:43930280879295 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43930280880258:43930280880822 26045:26045 hsa_signal_store_relaxed(, 130) = void +43930280882023:43930280882651 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43930280888485:43930280889106 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930280890891:43930280891523 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 +43930280892349:43930280892684 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 131 +43930280893425:43930280893759 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 130 +43930280894498:43930280894824 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43930280895563:43930280895945 26045:26045 hsa_signal_store_relaxed(, 131) = void +43930280896976:43930281453425 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930281454826:43930281455307 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930281456640:43930281457198 26045:26045 hsa_signal_destroy() = 0 +43930281458132:43930281458582 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930281469813:43930281470217 26045:26045 hsa_signal_destroy() = 0 +43930281471669:43930281473626 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 +43930281474633:43930281475141 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43930281475999:43930281476573 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 +43930281486803:43930281487229 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43930281488099:43930281488470 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43930281489415:43930281490042 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43930281490832:43930281491362 26045:26045 hsa_signal_create(1, , 0, 0x7f15277ea170) = 0 +43930281492130:43930281493839 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277ea130) = 0 +43930281494643:43930281495359 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 +43930281988139:43930281990544 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43930281991868:43930281992514 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43930281993458:43930281993932 26045:26051 hsa_signal_load_relaxed() = 1 +43930281496132:43930281995390 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43930281994742:43930281995987 26045:26051 hsa_signal_store_screlease(, 0) = void +43930281996833:43930281997289 26045:26051 hsa_signal_destroy() = 0 +43930282441011:43930282441848 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930297110077:43930297111154 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930297115543:43930297116563 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930297118590:43930297120780 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 +43930297121876:43930297122563 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43930297123422:43930297123997 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 +43930297124852:43930297125539 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43930297593394:43930297594143 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43930297595699:43930297596322 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43930297597427:43930297599171 26045:26045 hsa_signal_create(1, , 0, 0x7f15277ea1d0) = 0 +43930297600225:43930297603738 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277ea190) = 0 +43930297604740:43930297606472 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 +43930298074520:43930298077546 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43930298079122:43930298079777 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43930298080926:43930298081465 26045:26051 hsa_signal_load_relaxed() = 1 +43930297607361:43930298083038 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43930298082376:43930298083764 26045:26051 hsa_signal_store_screlease(, 0) = void +43930298084437:43930298085143 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930298084656:43930298085299 26045:26051 hsa_signal_destroy() = 0 +43930298099438:43930298100070 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43930298105027:43930298105537 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 132 +43930298106398:43930298107019 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 132 +43930298107964:43930298108568 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 +43930298109441:43930298109844 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43930298110853:43930298111414 26045:26045 hsa_signal_store_relaxed(, 132) = void +43930298112595:43930298113222 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43930298118928:43930298119557 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930298121188:43930298121760 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 +43930298126211:43930298126542 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 133 +43930298127292:43930298127635 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 132 +43930298128400:43930298128720 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43930298129456:43930298129843 26045:26045 hsa_signal_store_relaxed(, 133) = void +43930298130883:43930298679775 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930298681168:43930298681651 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930298683131:43930298683679 26045:26045 hsa_signal_destroy() = 0 +43930298684629:43930298695438 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930298696449:43930298696930 26045:26045 hsa_signal_destroy() = 0 +43930298698237:43930298700343 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 +43930298701371:43930298701880 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43930298702750:43930298703310 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 +43930298713610:43930298713996 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43930298714850:43930298715221 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43930298716141:43930298716770 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43930298717560:43930298718081 26045:26045 hsa_signal_create(1, , 0, 0x7f15277ea230) = 0 +43930298718842:43930298720745 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277ea1f0) = 0 +43930298721526:43930298722246 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 +43930299214627:43930299217050 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43930299218418:43930299219067 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43930299220007:43930299220491 26045:26051 hsa_signal_load_relaxed() = 1 +43930298723013:43930299221933 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43930299221293:43930299222530 26045:26051 hsa_signal_store_screlease(, 0) = void +43930299223374:43930299223840 26045:26051 hsa_signal_destroy() = 0 +43930299665520:43930299666355 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930314330897:43930314331959 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930314336469:43930314337418 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930314339322:43930314341301 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 +43930314347914:43930314348632 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43930314349690:43930314350277 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 +43930314351135:43930314351609 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43930314817944:43930314818636 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43930314820620:43930314821258 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43930314822286:43930314824071 26045:26045 hsa_signal_create(1, , 0, 0x7f15277ea290) = 0 +43930314825076:43930314828498 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277ea250) = 0 +43930314829443:43930314831197 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 +43930315298445:43930315301462 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43930315303088:43930315303742 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43930315304845:43930315305383 26045:26051 hsa_signal_load_relaxed() = 1 +43930314832068:43930315306896 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43930315306234:43930315307620 26045:26051 hsa_signal_store_screlease(, 0) = void +43930315308335:43930315308999 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930315308509:43930315309154 26045:26051 hsa_signal_destroy() = 0 +43930315323330:43930315323974 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43930315328942:43930315329611 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 134 +43930315330477:43930315330943 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 134 +43930315331912:43930315332511 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 +43930315333332:43930315333774 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43930315334769:43930315335404 26045:26045 hsa_signal_store_relaxed(, 134) = void +43930315336605:43930315337235 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43930315343295:43930315343921 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930315345646:43930315346267 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 +43930315347076:43930315347401 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 135 +43930315348139:43930315348480 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 134 +43930315349214:43930315349538 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43930315350273:43930315350654 26045:26045 hsa_signal_store_relaxed(, 135) = void +43930315351660:43930315911075 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930315914410:43930315914904 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930315927033:43930315927957 26045:26045 hsa_signal_destroy() = 0 +43930315929207:43930315929734 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930315930654:43930315931042 26045:26045 hsa_signal_destroy() = 0 +43930315932469:43930315934375 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 +43930315945266:43930315945670 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43930315946502:43930315946994 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 +43930315947746:43930315948109 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43930315948956:43930315949323 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43930315950265:43930315950893 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43930315951687:43930315952297 26045:26045 hsa_signal_create(1, , 0, 0x7f15277ea2f0) = 0 +43930315953059:43930315954736 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277ea2b0) = 0 +43930315955512:43930315956236 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 +43930316461964:43930316464403 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43930316465739:43930316466381 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43930316467352:43930316467825 26045:26051 hsa_signal_load_relaxed() = 1 +43930315957008:43930316469338 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43930316468637:43930316469903 26045:26051 hsa_signal_store_screlease(, 0) = void +43930316470755:43930316471207 26045:26051 hsa_signal_destroy() = 0 +43930316913335:43930316914176 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930331548383:43930331549455 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930331554207:43930331555478 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930331557566:43930331559662 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 +43930331560772:43930331561537 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43930331562350:43930331562980 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 +43930331563821:43930331564291 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43930332041035:43930332041743 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43930332043377:43930332043997 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43930332048422:43930332050143 26045:26045 hsa_signal_create(1, , 0, 0x7f15277ea350) = 0 +43930332051148:43930332054422 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277ea310) = 0 +43930332055366:43930332056917 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 +43930332523405:43930332526496 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43930332528117:43930332528765 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43930332529903:43930332530425 26045:26051 hsa_signal_load_relaxed() = 1 +43930332057735:43930332531935 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43930332531271:43930332532650 26045:26051 hsa_signal_store_screlease(, 0) = void +43930332533320:43930332534038 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930332533533:43930332534188 26045:26051 hsa_signal_destroy() = 0 +43930332548576:43930332549212 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43930332554268:43930332554778 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 136 +43930332555636:43930332556105 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 136 +43930332557011:43930332557612 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 +43930332558410:43930332558853 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43930332559816:43930332560378 26045:26045 hsa_signal_store_relaxed(, 136) = void +43930332561767:43930332562407 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43930332568043:43930332568669 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930332570342:43930332570964 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 +43930332571725:43930332572058 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 137 +43930332572799:43930332573132 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 136 +43930332573950:43930332574272 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43930332575005:43930332575390 26045:26045 hsa_signal_store_relaxed(, 137) = void +43930332576420:43930333132434 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930333133833:43930333134308 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930333135717:43930333136266 26045:26045 hsa_signal_destroy() = 0 +43930333137226:43930333147924 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930333148955:43930333149353 26045:26045 hsa_signal_destroy() = 0 +43930333150824:43930333152922 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 +43930333166434:43930333166855 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43930333167695:43930333168203 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 +43930333168947:43930333169318 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43930333170158:43930333170525 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43930333171472:43930333172103 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43930333172890:43930333173415 26045:26045 hsa_signal_create(1, , 0, 0x7f15277ea3b0) = 0 +43930333174175:43930333175900 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277ea370) = 0 +43930333176671:43930333177393 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 +43930333669923:43930333672316 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43930333673654:43930333674298 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43930333675239:43930333675714 26045:26051 hsa_signal_load_relaxed() = 1 +43930333178168:43930333677180 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43930333676525:43930333677755 26045:26051 hsa_signal_store_screlease(, 0) = void +43930333678596:43930333679046 26045:26051 hsa_signal_destroy() = 0 +43930334121585:43930334122424 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930348753851:43930348754904 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930348758883:43930348760147 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930348762169:43930348765096 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 +43930348766323:43930348767037 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43930348767850:43930348768372 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 +43930348769223:43930348769692 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43930349237569:43930349238300 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43930349239864:43930349240492 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43930349241521:43930349243262 26045:26045 hsa_signal_create(1, , 0, 0x7f15277ea410) = 0 +43930349244346:43930349247939 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277ea3d0) = 0 +43930349248923:43930349250574 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 +43930349718855:43930349721860 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43930349723379:43930349724027 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43930349729888:43930349730416 26045:26051 hsa_signal_load_relaxed() = 1 +43930349251491:43930349732156 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43930349731504:43930349732893 26045:26051 hsa_signal_store_screlease(, 0) = void +43930349733572:43930349734250 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930349733773:43930349734403 26045:26051 hsa_signal_destroy() = 0 +43930349747695:43930349748326 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43930349753251:43930349753759 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 138 +43930349754618:43930349755085 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 138 +43930349756006:43930349756601 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 +43930349757402:43930349757847 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43930349758942:43930349759504 26045:26045 hsa_signal_store_relaxed(, 138) = void +43930349760663:43930349761291 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43930349769459:43930349770089 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930349772101:43930349772796 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 +43930349773628:43930349773960 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 139 +43930349774703:43930349775046 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 138 +43930349775793:43930349776124 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43930349776859:43930349777241 26045:26045 hsa_signal_store_relaxed(, 139) = void +43930349778253:43930350329721 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930350331122:43930350331606 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930350333119:43930350333680 26045:26045 hsa_signal_destroy() = 0 +43930350334648:43930350345592 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930350346597:43930350347079 26045:26045 hsa_signal_destroy() = 0 +43930350348481:43930350350161 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 +43930350351221:43930350351783 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43930350352661:43930350353263 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 +43930350364027:43930350364419 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43930350365292:43930350365662 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43930350366590:43930350367220 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43930350369203:43930350369729 26045:26045 hsa_signal_create(1, , 0, 0x7f15277ea470) = 0 +43930350370498:43930350372393 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277ea430) = 0 +43930350373172:43930350373914 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 +43930350865540:43930350867960 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43930350869317:43930350869969 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43930350870906:43930350871382 26045:26051 hsa_signal_load_relaxed() = 1 +43930350374687:43930350872850 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43930350872192:43930350873418 26045:26051 hsa_signal_store_screlease(, 0) = void +43930350874269:43930350874723 26045:26051 hsa_signal_destroy() = 0 +43930351316166:43930351317006 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930365949770:43930365950842 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930365955341:43930365956595 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930365958955:43930365960814 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 +43930365961916:43930365962654 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43930365963476:43930365964099 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 +43930365964944:43930365965415 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43930366433406:43930366434138 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43930366435770:43930366436396 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43930366437584:43930366439175 26045:26045 hsa_signal_create(1, , 0, 0x7f15277ea4d0) = 0 +43930366440190:43930366443868 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277ea490) = 0 +43930366444911:43930366446512 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 +43930366914868:43930366918056 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43930366919645:43930366920292 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43930366921572:43930366922096 26045:26051 hsa_signal_load_relaxed() = 1 +43930366447443:43930366923633 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43930366922978:43930366924365 26045:26051 hsa_signal_store_screlease(, 0) = void +43930366925074:43930366925739 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930366925252:43930366925888 26045:26051 hsa_signal_destroy() = 0 +43930366939355:43930366939993 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43930366945347:43930366945859 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 140 +43930366946729:43930366947199 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 140 +43930366948101:43930366948699 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 +43930366949501:43930366950085 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43930366951041:43930366951602 26045:26045 hsa_signal_store_relaxed(, 140) = void +43930366952825:43930366953453 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43930366959391:43930366960030 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930366961732:43930366962432 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 +43930366963263:43930366963594 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 141 +43930366964332:43930366964673 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 140 +43930366965432:43930366965750 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43930366966484:43930366966864 26045:26045 hsa_signal_store_relaxed(, 141) = void +43930366967885:43930367519634 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930367521027:43930367521513 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930367523011:43930367523570 26045:26045 hsa_signal_destroy() = 0 +43930367524560:43930367535216 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930367536244:43930367536647 26045:26045 hsa_signal_destroy() = 0 +43930367538062:43930367539982 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 +43930367541046:43930367541568 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43930367542459:43930367543040 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 +43930367553341:43930367553738 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43930367554616:43930367554992 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43930367555981:43930367556621 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43930367557465:43930367558066 26045:26045 hsa_signal_create(1, , 0, 0x7f15277ea530) = 0 +43930367558843:43930367560593 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277ea4f0) = 0 +43930367561386:43930367562121 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 +43930368014277:43930368016957 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43930368018279:43930368018944 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43930368022075:43930368022559 26045:26051 hsa_signal_load_relaxed() = 1 +43930367562912:43930368023946 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43930368023393:43930368024687 26045:26051 hsa_signal_store_screlease(, 0) = void +43930368025542:43930368026001 26045:26051 hsa_signal_destroy() = 0 +43930368465746:43930368466513 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930383039813:43930383040885 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930383044772:43930383045816 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930383047794:43930383050275 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 +43930383051646:43930383052336 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43930383053165:43930383053742 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 +43930383054587:43930383055071 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43930383522605:43930383523339 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43930383524904:43930383525530 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43930383526540:43930383528239 26045:26045 hsa_signal_create(1, , 0, 0x7f15277ea590) = 0 +43930383529491:43930383532697 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277ea550) = 0 +43930383533726:43930383535264 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 +43930384019592:43930384022644 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43930384024188:43930384024834 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43930384025981:43930384026696 26045:26051 hsa_signal_load_relaxed() = 1 +43930383536244:43930384028232 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43930384027608:43930384029058 26045:26051 hsa_signal_store_screlease(, 0) = void +43930384029561:43930384030241 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930384029950:43930384030597 26045:26051 hsa_signal_destroy() = 0 +43930384044155:43930384044787 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43930384049844:43930384050362 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 142 +43930384051242:43930384051712 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 142 +43930384052671:43930384053283 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 +43930384054061:43930384054506 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43930384061044:43930384061626 26045:26045 hsa_signal_store_relaxed(, 142) = void +43930384062832:43930384063462 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43930384069503:43930384070137 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930384072042:43930384072674 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 +43930384073528:43930384073858 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 143 +43930384074595:43930384074929 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 142 +43930384075673:43930384075995 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43930384076727:43930384077115 26045:26045 hsa_signal_store_relaxed(, 143) = void +43930384078139:43930385997575 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930385999096:43930385999629 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930386001148:43930386001786 26045:26045 hsa_signal_destroy() = 0 +43930386013680:43930386014281 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930386015287:43930386015719 26045:26045 hsa_signal_destroy() = 0 +43930386017315:43930386018947 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 +43930386020011:43930386020567 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43930386031904:43930386032452 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 +43930386033290:43930386033701 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43930386034635:43930386035045 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43930386036099:43930386036801 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43930386037680:43930386038269 26045:26045 hsa_signal_create(1, , 0, 0x7f15277ea5f0) = 0 +43930386039118:43930386041363 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277ea5b0) = 0 +43930386042224:43930386043024 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 +43930386507160:43930386509618 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43930386511078:43930386511813 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43930386512847:43930386513387 26045:26051 hsa_signal_load_relaxed() = 1 +43930386043894:43930386514894 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43930386514286:43930386515644 26045:26051 hsa_signal_store_screlease(, 0) = void +43930386516587:43930386517098 26045:26051 hsa_signal_destroy() = 0 +43930386954121:43930386954925 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930401603822:43930401604890 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930401609019:43930401610034 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930401612228:43930401614041 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 +43930401615127:43930401615836 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43930401616643:43930401617263 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 +43930401618123:43930401618597 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43930402086681:43930402087413 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43930402088863:43930402089488 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43930402090656:43930402092590 26045:26045 hsa_signal_create(1, , 0, 0x7f15277ea650) = 0 +43930402093773:43930402097213 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277ea610) = 0 +43930402098188:43930402099877 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 +43930402583368:43930402586438 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43930402588105:43930402588747 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43930402589852:43930402590379 26045:26051 hsa_signal_load_relaxed() = 1 +43930402100777:43930402591959 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43930402591298:43930402592682 26045:26051 hsa_signal_store_screlease(, 0) = void +43930402593267:43930402593945 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930402593567:43930402594198 26045:26051 hsa_signal_destroy() = 0 +43930402607946:43930402608587 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43930402613742:43930402614249 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 144 +43930402615117:43930402615580 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 144 +43930402616627:43930402617236 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 +43930402618079:43930402618528 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43930402619526:43930402620098 26045:26045 hsa_signal_store_relaxed(, 144) = void +43930402621366:43930402621990 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43930402627763:43930402628392 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930402630101:43930402630710 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 +43930402631542:43930402631872 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 145 +43930402636347:43930402636693 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 144 +43930402637440:43930402637764 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43930402638495:43930402638880 26045:26045 hsa_signal_store_relaxed(, 145) = void +43930402639901:43930404580038 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930404581591:43930404582128 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930404583702:43930404584297 26045:26045 hsa_signal_destroy() = 0 +43930404585364:43930404585864 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930404586787:43930404587260 26045:26045 hsa_signal_destroy() = 0 +43930404588427:43930404589572 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 +43930404590529:43930404590991 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43930404591901:43930404592432 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 +43930404593244:43930404593650 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43930404594667:43930404595079 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43930404596105:43930404596803 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43930404597668:43930404598238 26045:26045 hsa_signal_create(1, , 0, 0x7f15277ea6b0) = 0 +43930404599081:43930404601173 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277ea670) = 0 +43930404602042:43930404602862 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 +43930405065788:43930405068393 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43930405069890:43930405070613 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43930405071657:43930405072181 26045:26051 hsa_signal_load_relaxed() = 1 +43930404603717:43930405073702 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43930405073083:43930405074472 26045:26051 hsa_signal_store_screlease(, 0) = void +43930405075408:43930405075915 26045:26051 hsa_signal_destroy() = 0 +43930405509802:43930405510610 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930420152337:43930420153471 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930420157549:43930420158498 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930420160669:43930420162572 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 +43930420163640:43930420164319 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43930420168707:43930420169320 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 +43930420170137:43930420170607 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43930420636301:43930420637305 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43930420638760:43930420639385 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43930420640411:43930420641926 26045:26045 hsa_signal_create(1, , 0, 0x7f15277ea710) = 0 +43930420643153:43930420646211 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277ea6d0) = 0 +43930420647164:43930420649137 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 +43930421131809:43930421135152 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43930421136798:43930421137442 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43930421138559:43930421139088 26045:26051 hsa_signal_load_relaxed() = 1 +43930420650010:43930421140599 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43930421139935:43930421141313 26045:26051 hsa_signal_store_screlease(, 0) = void +43930421141866:43930421142605 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930421142269:43930421142933 26045:26051 hsa_signal_destroy() = 0 +43930421156721:43930421157362 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43930421162396:43930421162906 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 146 +43930421163992:43930421164456 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 146 +43930421165379:43930421165978 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 +43930421166844:43930421167290 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43930421168227:43930421168796 26045:26045 hsa_signal_store_relaxed(, 146) = void +43930421169915:43930421170533 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43930421176310:43930421176942 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930421178823:43930421179444 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 +43930421180285:43930421180616 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 147 +43930421181352:43930421181684 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 146 +43930421182423:43930421182747 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43930421183484:43930421183865 26045:26045 hsa_signal_store_relaxed(, 147) = void +43930421184879:43930423121406 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930423123451:43930423123983 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930423138348:43930423139223 26045:26045 hsa_signal_destroy() = 0 +43930423140480:43930423141039 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930423142024:43930423142453 26045:26045 hsa_signal_destroy() = 0 +43930423143953:43930423155225 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 +43930423156228:43930423156698 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43930423157622:43930423158153 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 +43930423158972:43930423159380 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43930423160325:43930423160734 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43930423161784:43930423162480 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43930423163361:43930423164016 26045:26045 hsa_signal_create(1, , 0, 0x7f15277ea770) = 0 +43930423164872:43930423166977 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277ea730) = 0 +43930423167847:43930423168652 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 +43930423632828:43930423635343 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43930423636874:43930423637598 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43930423638638:43930423639161 26045:26051 hsa_signal_load_relaxed() = 1 +43930423169514:43930423640679 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43930423640065:43930423641418 26045:26051 hsa_signal_store_screlease(, 0) = void +43930423642359:43930423642859 26045:26051 hsa_signal_destroy() = 0 +43930424084375:43930424085185 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930438636098:43930438637153 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930438641239:43930438642223 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930438644741:43930438646763 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 +43930438647829:43930438648493 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43930438649304:43930438649879 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 +43930438650726:43930438651234 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43930439115931:43930439116662 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43930439118760:43930439119386 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43930439120396:43930439121926 26045:26045 hsa_signal_create(1, , 0, 0x7f15277ea7d0) = 0 +43930439126839:43930439130325 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277ea790) = 0 +43930439131284:43930439133127 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 +43930439617889:43930439620888 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43930439622566:43930439623218 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43930439624326:43930439624851 26045:26051 hsa_signal_load_relaxed() = 1 +43930439133998:43930439626355 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43930439625704:43930439627124 26045:26051 hsa_signal_store_screlease(, 0) = void +43930439627805:43930439628505 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930439628012:43930439628653 26045:26051 hsa_signal_destroy() = 0 +43930439641998:43930439642639 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43930439647526:43930439648129 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 148 +43930439648904:43930439649361 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 148 +43930439650282:43930439650888 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 +43930439651633:43930439652080 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43930439653052:43930439653621 26045:26045 hsa_signal_store_relaxed(, 148) = void +43930439654927:43930439655557 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43930439661237:43930439661882 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930439663586:43930439664201 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 +43930439665027:43930439665359 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 149 +43930439666097:43930439666429 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 148 +43930439667194:43930439667515 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43930439668254:43930439668638 26045:26045 hsa_signal_store_relaxed(, 149) = void +43930439669665:43930441590561 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930441605000:43930441605838 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930441608893:43930441619891 26045:26045 hsa_signal_destroy() = 0 +43930441621144:43930441621716 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930441622740:43930441623180 26045:26045 hsa_signal_destroy() = 0 +43930441624787:43930441626302 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 +43930441627282:43930441627796 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43930441631334:43930441631974 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 +43930441632810:43930441633225 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43930441634297:43930441634783 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43930441636064:43930441636782 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43930441637765:43930441638687 26045:26045 hsa_signal_create(1, , 0, 0x7f15277ea830) = 0 +43930441639626:43930441642720 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277ea7f0) = 0 +43930441643654:43930441644795 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 +43930442108387:43930442111040 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43930442112502:43930442113221 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43930442114266:43930442114789 26045:26051 hsa_signal_load_relaxed() = 1 +43930441645726:43930442116283 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43930442115679:43930442117035 26045:26051 hsa_signal_store_screlease(, 0) = void +43930442117975:43930442118474 26045:26051 hsa_signal_destroy() = 0 +43930442553596:43930442554392 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930457231368:43930457232471 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930457238724:43930457239866 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930457241990:43930457245413 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 +43930457246890:43930457247594 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43930457248424:43930457249138 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 +43930457249965:43930457250447 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43930457717139:43930457717854 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43930457719606:43930457720241 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43930457721361:43930457723177 26045:26045 hsa_signal_create(1, , 0, 0x7f15277ea890) = 0 +43930457724184:43930457727824 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277ea850) = 0 +43930457728846:43930457730964 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 +43930458216142:43930458219226 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43930458220748:43930458221405 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43930458222557:43930458223081 26045:26051 hsa_signal_load_relaxed() = 1 +43930457731837:43930458231862 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43930458231195:43930458232780 26045:26051 hsa_signal_store_screlease(, 0) = void +43930458233134:43930458233833 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930458233667:43930458234330 26045:26051 hsa_signal_destroy() = 0 +43930458251105:43930458251756 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43930458260010:43930458260723 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 150 +43930458261636:43930458262118 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 150 +43930458263081:43930458263702 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 +43930458264484:43930458264843 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43930458265993:43930458266620 26045:26045 hsa_signal_store_relaxed(, 150) = void +43930458268217:43930458268853 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43930458275215:43930458275848 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930458278106:43930458278748 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 +43930458279510:43930458279848 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 151 +43930458280592:43930458280924 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 150 +43930458281899:43930458282221 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43930458282975:43930458283355 26045:26045 hsa_signal_store_relaxed(, 151) = void +43930458284274:43930460207409 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930460221612:43930460222472 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930460225236:43930460226317 26045:26045 hsa_signal_destroy() = 0 +43930460237887:43930460238461 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930460239496:43930460239980 26045:26045 hsa_signal_destroy() = 0 +43930460241414:43930460242819 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 +43930460243798:43930460244320 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43930460245226:43930460245887 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 +43930460246710:43930460247124 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43930460248164:43930460248641 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43930460249906:43930460250621 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43930460251606:43930460252475 26045:26045 hsa_signal_create(1, , 0, 0x7f15277ea8f0) = 0 +43930460256134:43930460259217 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277ea8b0) = 0 +43930460260178:43930460261323 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 +43930460725353:43930460728011 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43930460729457:43930460730180 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43930460731231:43930460731766 26045:26051 hsa_signal_load_relaxed() = 1 +43930460262279:43930460733299 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43930460732657:43930460734048 26045:26051 hsa_signal_store_screlease(, 0) = void +43930460734982:43930460735542 26045:26051 hsa_signal_destroy() = 0 +43930461171194:43930461171991 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930475763980:43930475765090 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930475770867:43930475771966 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930475774134:43930475777279 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 +43930475778373:43930475779122 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43930475779948:43930475780533 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 +43930475781328:43930475781993 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43930476250648:43930476251334 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43930476253101:43930476253739 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43930476254772:43930476256241 26045:26045 hsa_signal_create(1, , 0, 0x7f15277ea950) = 0 +43930476257251:43930476261134 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277ea910) = 0 +43930476262121:43930476264051 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 +43930476749514:43930476752623 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43930476754137:43930476754787 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43930476755921:43930476756443 26045:26051 hsa_signal_load_relaxed() = 1 +43930476264911:43930476758005 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43930476757338:43930476758710 26045:26051 hsa_signal_store_screlease(, 0) = void +43930476759384:43930476760053 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930476759592:43930476760213 26045:26051 hsa_signal_destroy() = 0 +43930476775782:43930476776422 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43930476787501:43930476788207 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 152 +43930476789114:43930476789587 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 152 +43930476790560:43930476791177 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 +43930476792014:43930476792371 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43930476793501:43930476794102 26045:26045 hsa_signal_store_relaxed(, 152) = void +43930476795703:43930476796334 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43930476802536:43930476803167 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930476805381:43930476806009 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 +43930476806786:43930476807120 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 153 +43930476807851:43930476808191 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 152 +43930476809131:43930476809460 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43930476810219:43930476810602 26045:26045 hsa_signal_store_relaxed(, 153) = void +43930476811619:43930478730424 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930478744858:43930478745674 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930478748375:43930478749469 26045:26045 hsa_signal_destroy() = 0 +43930478760579:43930478761094 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930478762094:43930478762529 26045:26045 hsa_signal_destroy() = 0 +43930478764049:43930478765900 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 +43930478766909:43930478767436 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43930478768344:43930478768953 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 +43930478769782:43930478770198 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43930478771237:43930478771714 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43930478772965:43930478773676 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43930478774655:43930478775609 26045:26045 hsa_signal_create(1, , 0, 0x7f15277ea9b0) = 0 +43930478776539:43930478779549 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277ea970) = 0 +43930478780503:43930478781611 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 +43930479245698:43930479248352 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43930479249808:43930479250529 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43930479254624:43930479255168 26045:26051 hsa_signal_load_relaxed() = 1 +43930478782564:43930479256695 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43930479256078:43930479257507 26045:26051 hsa_signal_store_screlease(, 0) = void +43930479258421:43930479258928 26045:26051 hsa_signal_destroy() = 0 +43930479692646:43930479693450 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930494303334:43930494304457 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930494310480:43930494311574 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930494313916:43930494316783 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 +43930494317965:43930494318720 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43930494319547:43930494320227 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 +43930494321031:43930494321532 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43930494787867:43930494788969 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43930494790924:43930494791551 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43930494792602:43930494794272 26045:26045 hsa_signal_create(1, , 0, 0x7f15277eaa10) = 0 +43930494795467:43930494799014 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277ea9d0) = 0 +43930494800002:43930494801728 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 +43930495285718:43930495288787 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43930495290344:43930495290998 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43930495292158:43930495292684 26045:26051 hsa_signal_load_relaxed() = 1 +43930494802648:43930495294226 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43930495293571:43930495295036 26045:26051 hsa_signal_store_screlease(, 0) = void +43930495295548:43930495296230 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930495295922:43930495296561 26045:26051 hsa_signal_destroy() = 0 +43930495312444:43930495313104 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43930495320804:43930495321443 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 154 +43930495322320:43930495322785 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 154 +43930495323833:43930495324451 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 +43930495325272:43930495325629 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43930495326836:43930495327439 26045:26045 hsa_signal_store_relaxed(, 154) = void +43930495334289:43930495334929 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43930495341545:43930495342176 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930495344516:43930495345146 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 +43930495345918:43930495346256 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 155 +43930495347004:43930495347349 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 154 +43930495348309:43930495348637 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43930495349408:43930495349792 26045:26045 hsa_signal_store_relaxed(, 155) = void +43930495350736:43930497263554 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930497277863:43930497278683 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930497281361:43930497282453 26045:26045 hsa_signal_destroy() = 0 +43930497293181:43930497293763 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930497294911:43930497295349 26045:26045 hsa_signal_destroy() = 0 +43930497296900:43930497298347 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 +43930497299315:43930497299837 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43930497300719:43930497301393 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 +43930497302232:43930497302650 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43930497303691:43930497304165 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43930497305431:43930497306147 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43930497307128:43930497307987 26045:26045 hsa_signal_create(1, , 0, 0x7f15277eaa70) = 0 +43930497308936:43930497312021 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277eaa30) = 0 +43930497312958:43930497314073 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 +43930497777413:43930497780020 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43930497781454:43930497782189 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43930497783241:43930497783774 26045:26051 hsa_signal_load_relaxed() = 1 +43930497315014:43930497785274 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43930497784671:43930497786045 26045:26051 hsa_signal_store_screlease(, 0) = void +43930497786983:43930497787494 26045:26051 hsa_signal_destroy() = 0 +43930498222092:43930498222891 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930512878556:43930512879686 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930512885421:43930512886569 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930512888887:43930512891521 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 +43930512892874:43930512893694 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43930512894517:43930512895111 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 +43930512895888:43930512896465 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43930513353396:43930513354532 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43930513356247:43930513356870 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43930513357866:43930513359578 26045:26045 hsa_signal_create(1, , 0, 0x7f15277eaad0) = 0 +43930513360596:43930513364242 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277eaa90) = 0 +43930513365227:43930513367164 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 +43930513851910:43930513854920 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43930513856427:43930513857081 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43930513858227:43930513858766 26045:26051 hsa_signal_load_relaxed() = 1 +43930513368233:43930513860517 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43930513859852:43930513861242 26045:26051 hsa_signal_store_screlease(, 0) = void +43930513861883:43930513862562 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930513862130:43930513862774 26045:26051 hsa_signal_destroy() = 0 +43930513878790:43930513879440 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43930513887272:43930513887917 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 156 +43930513888806:43930513889462 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 156 +43930513890454:43930513891057 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 +43930513891931:43930513892289 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43930513893512:43930513894106 26045:26045 hsa_signal_store_relaxed(, 156) = void +43930513895648:43930513896278 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43930513902565:43930513903196 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930513905511:43930513906086 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 +43930513906829:43930513907156 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 157 +43930513907895:43930513908234 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 156 +43930513913262:43930513913607 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43930513914364:43930513914752 26045:26045 hsa_signal_store_relaxed(, 157) = void +43930513915741:43930515839385 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930515853644:43930515854493 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930515857178:43930515858248 26045:26045 hsa_signal_destroy() = 0 +43930515869639:43930515870209 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930515871204:43930515871683 26045:26045 hsa_signal_destroy() = 0 +43930515873240:43930515874693 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 +43930515875666:43930515876183 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43930515877090:43930515877771 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 +43930515878602:43930515879024 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43930515880077:43930515880562 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43930515881821:43930515882538 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43930515883525:43930515884379 26045:26045 hsa_signal_create(1, , 0, 0x7f15277eab30) = 0 +43930515885324:43930515888345 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277eaaf0) = 0 +43930515889289:43930515890413 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 +43930516355226:43930516357941 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43930516359380:43930516360102 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43930516361157:43930516361683 26045:26051 hsa_signal_load_relaxed() = 1 +43930515891361:43930516363293 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43930516362579:43930516363968 26045:26051 hsa_signal_store_screlease(, 0) = void +43930516364901:43930516365417 26045:26051 hsa_signal_destroy() = 0 +43930516800669:43930516801470 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930531426968:43930531428249 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930531434191:43930531435375 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930531437287:43930531440372 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 +43930531441503:43930531442175 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43930531443002:43930531443687 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 +43930531450097:43930531450508 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43930531916937:43930531917655 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43930531919422:43930531920048 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43930531921307:43930531922789 26045:26045 hsa_signal_create(1, , 0, 0x7f15277eab90) = 0 +43930531923722:43930531927071 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277eab50) = 0 +43930531928025:43930531929854 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 +43930532425399:43930532428413 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43930532429960:43930532430596 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43930532431706:43930532432233 26045:26051 hsa_signal_load_relaxed() = 1 +43930531930703:43930532433859 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43930532433097:43930532434467 26045:26051 hsa_signal_store_screlease(, 0) = void +43930532435098:43930532435778 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930532435353:43930532435986 26045:26051 hsa_signal_destroy() = 0 +43930532451663:43930532452317 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43930532460129:43930532460762 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 158 +43930532461555:43930532462023 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 158 +43930532462949:43930532463592 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 +43930532464429:43930532464785 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43930532465923:43930532466514 26045:26045 hsa_signal_store_relaxed(, 158) = void +43930532468077:43930532468707 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43930532475146:43930532475779 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930532477920:43930532478543 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 +43930532479294:43930532479626 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 159 +43930532480375:43930532480720 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 158 +43930532481656:43930532481986 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43930532482784:43930532483172 26045:26045 hsa_signal_store_relaxed(, 159) = void +43930532484157:43930534406839 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930534421054:43930534421886 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930534424602:43930534425688 26045:26045 hsa_signal_destroy() = 0 +43930534440116:43930534440628 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930534441695:43930534442128 26045:26045 hsa_signal_destroy() = 0 +43930534443632:43930534445080 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 +43930534446050:43930534446570 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43930534447472:43930534448089 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 +43930534448916:43930534449331 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43930534450375:43930534450848 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43930534452106:43930534452821 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43930534453807:43930534454743 26045:26045 hsa_signal_create(1, , 0, 0x7f15277eabf0) = 0 +43930534455687:43930534458721 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277eabb0) = 0 +43930534459656:43930534460768 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 +43930534924931:43930534927580 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43930534929030:43930534929746 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43930534930797:43930534931322 26045:26051 hsa_signal_load_relaxed() = 1 +43930534461709:43930534932839 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43930534932226:43930534933620 26045:26051 hsa_signal_store_screlease(, 0) = void +43930534934551:43930534935054 26045:26051 hsa_signal_destroy() = 0 +43930535368760:43930535369561 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930549941981:43930549943098 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930549949144:43930549950225 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930549952494:43930549954858 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 +43930549956055:43930549956797 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43930549957831:43930549958496 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 +43930549959267:43930549959738 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43930550425460:43930550426144 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43930550428127:43930550428752 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43930550429779:43930550431449 26045:26045 hsa_signal_create(1, , 0, 0x7f15277eac50) = 0 +43930550432478:43930550435877 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277eac10) = 0 +43930550442764:43930550444751 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 +43930550928911:43930550931989 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43930550933453:43930550934101 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43930550935204:43930550935730 26045:26051 hsa_signal_load_relaxed() = 1 +43930550445627:43930550937240 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43930550936584:43930550937965 26045:26051 hsa_signal_store_screlease(, 0) = void +43930550938434:43930550939114 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930550938852:43930550939493 26045:26051 hsa_signal_destroy() = 0 +43930550956355:43930550956999 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43930550964606:43930550965247 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 160 +43930550966138:43930550966616 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 160 +43930550967538:43930550968136 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 +43930550968966:43930550969324 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43930550970480:43930550971084 26045:26045 hsa_signal_store_relaxed(, 160) = void +43930550972802:43930550973431 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43930550979605:43930550980237 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930550982681:43930550983308 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 +43930550984071:43930550984403 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 161 +43930550985153:43930550985501 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 160 +43930550986440:43930550986767 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43930550987519:43930550987903 26045:26045 hsa_signal_store_relaxed(, 161) = void +43930550988912:43930552910869 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930552925594:43930552926437 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930552929187:43930552940761 26045:26045 hsa_signal_destroy() = 0 +43930552941974:43930552942497 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930552943498:43930552943934 26045:26045 hsa_signal_destroy() = 0 +43930552945462:43930552947108 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 +43930552948081:43930552948604 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43930552949485:43930552950119 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 +43930552953424:43930552953848 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43930552954920:43930552955401 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43930552956681:43930552957395 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43930552958380:43930552959256 26045:26045 hsa_signal_create(1, , 0, 0x7f15277eacb0) = 0 +43930552960199:43930552963295 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277eac70) = 0 +43930552964230:43930552965376 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 +43930553428786:43930553431517 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43930553432974:43930553433690 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43930553434748:43930553435271 26045:26051 hsa_signal_load_relaxed() = 1 +43930552966333:43930553436789 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43930553436169:43930553437556 26045:26051 hsa_signal_store_screlease(, 0) = void +43930553438500:43930553439004 26045:26051 hsa_signal_destroy() = 0 +43930553873900:43930553874726 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930568596409:43930568597510 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930568603680:43930568605091 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930568607096:43930568609751 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 +43930568610900:43930568611728 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43930568612560:43930568613323 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 +43930568614129:43930568614643 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43930569079999:43930569080739 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43930569082461:43930569083089 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43930569084141:43930569085827 26045:26045 hsa_signal_create(1, , 0, 0x7f15277ead10) = 0 +43930569086871:43930569090553 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277eacd0) = 0 +43930569091563:43930569093704 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 +43930569577860:43930569581195 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43930569582847:43930569583503 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43930569584691:43930569585228 26045:26051 hsa_signal_load_relaxed() = 1 +43930569094577:43930569586780 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43930569586119:43930569587528 26045:26051 hsa_signal_store_screlease(, 0) = void +43930569591726:43930569592352 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930569592902:43930569593528 26045:26051 hsa_signal_destroy() = 0 +43930569609967:43930569610617 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43930569618598:43930569619254 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 162 +43930569620167:43930569620891 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 162 +43930569621815:43930569622420 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 +43930569623200:43930569623553 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43930569624740:43930569625373 26045:26045 hsa_signal_store_relaxed(, 162) = void +43930569627084:43930569627721 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43930569634320:43930569634949 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930569637359:43930569638001 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 +43930569638770:43930569639102 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 163 +43930569639848:43930569640202 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 162 +43930569641162:43930569641489 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43930569642241:43930569642625 26045:26045 hsa_signal_store_relaxed(, 163) = void +43930569643613:43930571567441 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930571581845:43930571582701 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930571585375:43930571586467 26045:26045 hsa_signal_destroy() = 0 +43930571597600:43930571598111 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930571599137:43930571599618 26045:26045 hsa_signal_destroy() = 0 +43930571601097:43930571602474 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 +43930571603447:43930571603970 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43930571604846:43930571605526 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 +43930571606357:43930571606773 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43930571607822:43930571608311 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43930571609568:43930571610283 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43930571611260:43930571612104 26045:26045 hsa_signal_create(1, , 0, 0x7f15277ead70) = 0 +43930571615298:43930571618333 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277ead30) = 0 +43930571619279:43930571620425 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 +43930572083961:43930572086527 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43930572087966:43930572088691 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43930572089741:43930572090264 26045:26051 hsa_signal_load_relaxed() = 1 +43930571621380:43930572091845 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43930572091160:43930572092533 26045:26051 hsa_signal_store_screlease(, 0) = void +43930572093466:43930572093965 26045:26051 hsa_signal_destroy() = 0 +43930572529138:43930572529940 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930587118519:43930587119632 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930587125734:43930587126923 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930587129244:43930587131976 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 +43930587133037:43930587133834 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43930587134662:43930587135352 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 +43930587136147:43930587136547 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43930587603055:43930587603866 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43930587605889:43930587606513 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43930587607547:43930587609052 26045:26045 hsa_signal_create(1, , 0, 0x7f15277eadd0) = 0 +43930587610219:43930587613331 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277ead90) = 0 +43930587614314:43930587616249 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 +43930588113469:43930588116476 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43930588117957:43930588118608 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43930588119763:43930588120286 26045:26051 hsa_signal_load_relaxed() = 1 +43930587617267:43930588122083 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43930588121169:43930588122535 26045:26051 hsa_signal_store_screlease(, 0) = void +43930588123541:43930588124224 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930588123641:43930588124279 26045:26051 hsa_signal_destroy() = 0 +43930588141066:43930588141704 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43930588149540:43930588150182 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 164 +43930588155662:43930588156132 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 164 +43930588157093:43930588157756 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 +43930588158596:43930588158955 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43930588160081:43930588160840 26045:26045 hsa_signal_store_relaxed(, 164) = void +43930588162467:43930588163099 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43930588169371:43930588170002 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930588172244:43930588172905 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 +43930588173664:43930588173998 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 165 +43930588174737:43930588175076 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 164 +43930588176207:43930588176530 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43930588177287:43930588177668 26045:26045 hsa_signal_store_relaxed(, 165) = void +43930588178682:43930590088611 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930590103125:43930590103963 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930590106606:43930590107685 26045:26045 hsa_signal_destroy() = 0 +43930590118818:43930590119266 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930590120267:43930590120708 26045:26045 hsa_signal_destroy() = 0 +43930590122316:43930590123776 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 +43930590124753:43930590125289 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43930590126173:43930590126798 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 +43930590127633:43930590128047 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43930590129086:43930590129569 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43930590130840:43930590131554 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43930590132538:43930590133486 26045:26045 hsa_signal_create(1, , 0, 0x7f15277eae30) = 0 +43930590134425:43930590137426 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277eadf0) = 0 +43930590138365:43930590139481 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 +43930590603096:43930590605773 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43930590607269:43930590607990 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43930590609053:43930590609580 26045:26051 hsa_signal_load_relaxed() = 1 +43930590140421:43930590613905 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43930590613281:43930590614694 26045:26051 hsa_signal_store_screlease(, 0) = void +43930590615621:43930590616118 26045:26051 hsa_signal_destroy() = 0 +43930591050702:43930591051497 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930605674802:43930605675986 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930605681619:43930605682807 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930605684790:43930605687305 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 +43930605688415:43930605689281 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43930605690101:43930605690787 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 +43930605691737:43930605692208 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43930606159003:43930606160087 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43930606161682:43930606162313 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43930606163539:43930606165046 26045:26045 hsa_signal_create(1, , 0, 0x7f15277eae90) = 0 +43930606166069:43930606169907 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277eae50) = 0 +43930606170907:43930606173104 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 +43930606656907:43930606659909 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43930606661412:43930606662067 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43930606663130:43930606663665 26045:26051 hsa_signal_load_relaxed() = 1 +43930606174053:43930606665285 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43930606664626:43930606666034 26045:26051 hsa_signal_store_screlease(, 0) = void +43930606666499:43930606667176 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930606666923:43930606667577 26045:26051 hsa_signal_destroy() = 0 +43930606683137:43930606683789 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43930606691971:43930606692634 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 166 +43930606693514:43930606693985 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 166 +43930606694981:43930606695593 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 +43930606696499:43930606696854 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43930606697987:43930606698582 26045:26045 hsa_signal_store_relaxed(, 166) = void +43930606700418:43930606701055 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43930606712593:43930606713225 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930606715547:43930606716181 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 +43930606716945:43930606717284 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 167 +43930606718028:43930606718373 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 166 +43930606719335:43930606719665 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43930606720425:43930606720815 26045:26045 hsa_signal_store_relaxed(, 167) = void +43930606721765:43930608652915 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930608667481:43930608668308 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930608670906:43930608671990 26045:26045 hsa_signal_destroy() = 0 +43930608682614:43930608683200 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930608684254:43930608684692 26045:26045 hsa_signal_destroy() = 0 +43930608686177:43930608687602 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 +43930608688579:43930608689116 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43930608690015:43930608690644 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 +43930608691474:43930608691893 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43930608692937:43930608693426 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43930608694688:43930608695404 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43930608696381:43930608697252 26045:26045 hsa_signal_create(1, , 0, 0x7f15277eaef0) = 0 +43930608698190:43930608701279 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277eaeb0) = 0 +43930608702230:43930608703335 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 +43930609167083:43930609169715 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43930609171141:43930609171871 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43930609172931:43930609173462 26045:26051 hsa_signal_load_relaxed() = 1 +43930608704253:43930609174965 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43930609174359:43930609175760 26045:26051 hsa_signal_store_screlease(, 0) = void +43930609176699:43930609177210 26045:26051 hsa_signal_destroy() = 0 +43930609612087:43930609612903 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930624294587:43930624295666 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930624307219:43930624308456 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930624310471:43930624313772 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 +43930624314880:43930624315571 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43930624316392:43930624316938 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 +43930624317675:43930624318154 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43930624784233:43930624785278 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43930624787030:43930624787661 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43930624788672:43930624790232 26045:26045 hsa_signal_create(1, , 0, 0x7f15277eaf50) = 0 +43930624791217:43930624794817 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277eaf10) = 0 +43930624795783:43930624797797 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 +43930625281705:43930625284991 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43930625286569:43930625287221 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43930625288343:43930625288881 26045:26051 hsa_signal_load_relaxed() = 1 +43930624798682:43930625290399 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43930625289739:43930625291139 26045:26051 hsa_signal_store_screlease(, 0) = void +43930625291651:43930625292331 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930625292023:43930625292668 26045:26051 hsa_signal_destroy() = 0 +43930625308384:43930625309049 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43930625316576:43930625317217 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 168 +43930625318090:43930625318555 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 168 +43930625319611:43930625320227 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 +43930625321005:43930625321360 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43930625322491:43930625323082 26045:26045 hsa_signal_store_relaxed(, 168) = void +43930625324682:43930625325320 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43930625331602:43930625332233 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930625334443:43930625335014 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 +43930625335774:43930625336107 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 169 +43930625336851:43930625337185 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 168 +43930625338121:43930625338450 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43930625340839:43930625341231 26045:26045 hsa_signal_store_relaxed(, 169) = void +43930625342224:43930627269779 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930627284119:43930627284990 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930627287724:43930627288797 26045:26045 hsa_signal_destroy() = 0 +43930627300552:43930627301071 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930627302088:43930627302568 26045:26045 hsa_signal_destroy() = 0 +43930627304090:43930627305498 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 +43930627306487:43930627307008 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43930627307921:43930627308602 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 +43930627309435:43930627309853 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43930627310917:43930627311405 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43930627312677:43930627313394 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43930627314375:43930627315235 26045:26045 hsa_signal_create(1, , 0, 0x7f15277eafb0) = 0 +43930627316173:43930627319158 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277eaf70) = 0 +43930627320101:43930627321223 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 +43930627783972:43930627786569 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43930627788009:43930627788727 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43930627789793:43930627790319 26045:26051 hsa_signal_load_relaxed() = 1 +43930627322143:43930627791842 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43930627791228:43930627792582 26045:26051 hsa_signal_store_screlease(, 0) = void +43930627793520:43930627794021 26045:26051 hsa_signal_destroy() = 0 +43930628234688:43930628235492 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930642852206:43930642853396 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930642858836:43930642859882 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930642861811:43930642864291 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 +43930642865631:43930642866378 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43930642867207:43930642867898 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 +43930642868675:43930642869149 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43930643339069:43930643339896 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43930643344378:43930643345009 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43930643346099:43930643347559 26045:26045 hsa_signal_create(1, , 0, 0x7f15277eb010) = 0 +43930643348759:43930643352164 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277eafd0) = 0 +43930643353035:43930643355294 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 +43930643823373:43930643826386 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43930643827909:43930643828565 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43930643829680:43930643830220 26045:26051 hsa_signal_load_relaxed() = 1 +43930643356259:43930643831720 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43930643831076:43930643832612 26045:26051 hsa_signal_store_screlease(, 0) = void +43930643832956:43930643833619 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930643833498:43930643834143 26045:26051 hsa_signal_destroy() = 0 +43930643850840:43930643851504 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43930643859192:43930643859826 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 170 +43930643860722:43930643861187 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 170 +43930643862110:43930643862713 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 +43930643863581:43930643863940 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43930643865111:43930643865721 26045:26045 hsa_signal_store_relaxed(, 170) = void +43930643867329:43930643867958 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43930643875084:43930643875717 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930643877964:43930643878758 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 +43930643879505:43930643879835 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 171 +43930643880576:43930643880917 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 170 +43930643881874:43930643882201 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43930643882960:43930643883348 26045:26045 hsa_signal_store_relaxed(, 171) = void +43930643884281:43930644446142 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930644448445:43930644449010 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930644450662:43930644451372 26045:26045 hsa_signal_destroy() = 0 +43930644452358:43930644452852 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930644455804:43930644456201 26045:26045 hsa_signal_destroy() = 0 +43930644457602:43930644458967 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 +43930644459838:43930644460320 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43930644461109:43930644461721 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 +43930644462469:43930644462843 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43930644463811:43930644464244 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43930644465402:43930644466040 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43930644466920:43930644467781 26045:26045 hsa_signal_create(1, , 0, 0x7f15277eb070) = 0 +43930644468624:43930644471140 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277eb030) = 0 +43930644471985:43930644473008 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 +43930644965738:43930644968229 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43930644969545:43930644970207 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43930644971156:43930644971635 26045:26051 hsa_signal_load_relaxed() = 1 +43930644473855:43930644973113 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43930644972447:43930644973724 26045:26051 hsa_signal_store_screlease(, 0) = void +43930644974565:43930644975024 26045:26051 hsa_signal_destroy() = 0 +43930645415965:43930645416818 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930660040374:43930660041437 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930660047020:43930660048432 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930660050645:43930660053737 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 +43930660054906:43930660055923 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43930660056766:43930660057540 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 +43930660058310:43930660058786 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43930660522404:43930660523140 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43930660524704:43930660525336 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43930660526383:43930660527889 26045:26045 hsa_signal_create(1, , 0, 0x7f15277eb0d0) = 0 +43930660528975:43930660532781 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277eb090) = 0 +43930660533729:43930660535723 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 +43930661005258:43930661008295 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43930661009816:43930661010472 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43930661011572:43930661012106 26045:26051 hsa_signal_load_relaxed() = 1 +43930660542321:43930661013604 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43930661012959:43930661014334 26045:26051 hsa_signal_store_screlease(, 0) = void +43930661014825:43930661015505 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930661015225:43930661015884 26045:26051 hsa_signal_destroy() = 0 +43930661032010:43930661032656 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43930661040204:43930661040833 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 172 +43930661041701:43930661042172 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 172 +43930661043075:43930661043679 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 +43930661044520:43930661044874 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43930661046012:43930661046624 26045:26045 hsa_signal_store_relaxed(, 172) = void +43930661048334:43930661048963 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43930661054956:43930661055583 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930661057820:43930661058482 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 +43930661059244:43930661059580 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 173 +43930661060316:43930661060653 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 172 +43930661061596:43930661061917 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43930661062688:43930661063077 26045:26045 hsa_signal_store_relaxed(, 173) = void +43930661064094:43930661621166 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930661634335:43930661635112 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930661637605:43930661638622 26045:26045 hsa_signal_destroy() = 0 +43930661639873:43930661640422 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930661651813:43930661652216 26045:26045 hsa_signal_destroy() = 0 +43930661653650:43930661654903 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 +43930661655796:43930661656255 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43930661657047:43930661657614 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 +43930661660755:43930661661136 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43930661662100:43930661662530 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43930661663671:43930661664311 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43930661665201:43930661665988 26045:26045 hsa_signal_create(1, , 0, 0x7f15277eb130) = 0 +43930661666829:43930661669581 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277eb0f0) = 0 +43930661670429:43930661671486 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 +43930662163509:43930662166050 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43930662167378:43930662168026 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43930662168978:43930662169450 26045:26051 hsa_signal_load_relaxed() = 1 +43930661672333:43930662170919 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43930662170263:43930662171512 26045:26051 hsa_signal_store_screlease(, 0) = void +43930662172352:43930662172800 26045:26051 hsa_signal_destroy() = 0 +43930662616600:43930662617445 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930677235994:43930677237068 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930677243034:43930677244124 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930677246115:43930677249597 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 +43930677250657:43930677251401 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43930677252238:43930677252918 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 +43930677253757:43930677254227 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43930677719131:43930677719824 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43930677721483:43930677722118 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43930677723121:43930677724533 26045:26045 hsa_signal_create(1, , 0, 0x7f15277eb190) = 0 +43930677725553:43930677729102 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277eb150) = 0 +43930677730095:43930677732078 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 +43930678200628:43930678203619 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43930678205161:43930678205809 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43930678206970:43930678207490 26045:26051 hsa_signal_load_relaxed() = 1 +43930677732977:43930678209046 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43930678208398:43930678209778 26045:26051 hsa_signal_store_screlease(, 0) = void +43930678210322:43930678210949 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930678215453:43930678216065 26045:26051 hsa_signal_destroy() = 0 +43930678229622:43930678230270 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43930678238040:43930678238683 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 174 +43930678239558:43930678240020 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 174 +43930678241025:43930678241642 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 +43930678242489:43930678242846 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43930678243977:43930678244579 26045:26045 hsa_signal_store_relaxed(, 174) = void +43930678246171:43930678246810 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43930678253375:43930678254004 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930678256309:43930678256938 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 +43930678257711:43930678258044 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 175 +43930678258778:43930678259115 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 174 +43930678260051:43930678260376 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43930678261130:43930678261510 26045:26045 hsa_signal_store_relaxed(, 175) = void +43930678262449:43930678822265 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930678836140:43930678836961 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930678839449:43930678840483 26045:26045 hsa_signal_destroy() = 0 +43930678841665:43930678842364 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930678852927:43930678853381 26045:26045 hsa_signal_destroy() = 0 +43930678854762:43930678856064 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 +43930678856944:43930678857418 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43930678858239:43930678858841 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 +43930678859587:43930678859963 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43930678860903:43930678861336 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43930678862472:43930678863116 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43930678864002:43930678864774 26045:26045 hsa_signal_create(1, , 0, 0x7f15277eb1f0) = 0 +43930678865619:43930678868067 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277eb1b0) = 0 +43930678870922:43930678871959 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 +43930679363681:43930679366198 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43930679367527:43930679368169 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43930679369124:43930679369593 26045:26051 hsa_signal_load_relaxed() = 1 +43930678872837:43930679371047 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43930679370400:43930679371648 26045:26051 hsa_signal_store_screlease(, 0) = void +43930679372492:43930679372950 26045:26051 hsa_signal_destroy() = 0 +43930679814876:43930679815709 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930694474322:43930694475436 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930694481350:43930694482398 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930694484298:43930694487629 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 +43930694489057:43930694489732 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43930694490562:43930694491206 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 +43930694492002:43930694492476 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43930694959401:43930694960257 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43930694962120:43930694962759 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43930694963762:43930694965191 26045:26045 hsa_signal_create(1, , 0, 0x7f15277eb250) = 0 +43930694966216:43930694969661 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277eb210) = 0 +43930694970785:43930694972636 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 +43930695441595:43930695444588 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43930695446109:43930695446756 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43930695447918:43930695448447 26045:26051 hsa_signal_load_relaxed() = 1 +43930694973564:43930695449979 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43930695449337:43930695450943 26045:26051 hsa_signal_store_screlease(, 0) = void +43930695451360:43930695452022 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930695451831:43930695452458 26045:26051 hsa_signal_destroy() = 0 +43930695468422:43930695469071 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43930695477045:43930695477683 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 176 +43930695478583:43930695479047 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 176 +43930695483969:43930695484602 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 +43930695485441:43930695485804 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43930695486942:43930695487551 26045:26045 hsa_signal_store_relaxed(, 176) = void +43930695489115:43930695489747 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43930695495860:43930695496489 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930695498800:43930695499641 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 +43930695500399:43930695500732 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 177 +43930695501472:43930695501803 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 176 +43930695502743:43930695503068 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43930695503827:43930695504204 26045:26045 hsa_signal_store_relaxed(, 177) = void +43930695505182:43930696065132 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930696078721:43930696079494 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930696082043:43930696083071 26045:26045 hsa_signal_destroy() = 0 +43930696084345:43930696084951 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930696095987:43930696096383 26045:26045 hsa_signal_destroy() = 0 +43930696097699:43930696098984 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 +43930696099861:43930696100335 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43930696101136:43930696101695 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 +43930696102442:43930696102816 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43930696103754:43930696104195 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43930696105329:43930696105971 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43930696106855:43930696107705 26045:26045 hsa_signal_create(1, , 0, 0x7f15277eb2b0) = 0 +43930696108551:43930696111376 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277eb270) = 0 +43930696112223:43930696113259 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 +43930696605290:43930696607803 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43930696609124:43930696609778 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43930696610727:43930696611204 26045:26051 hsa_signal_load_relaxed() = 1 +43930696114111:43930696612674 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43930696612017:43930696613241 26045:26051 hsa_signal_store_screlease(, 0) = void +43930696617359:43930696617822 26045:26051 hsa_signal_destroy() = 0 +43930697059575:43930697060425 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930711709919:43930711711005 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930711717232:43930711718230 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930711720140:43930711723242 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 +43930711724339:43930711725052 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43930711725903:43930711726610 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 +43930711727563:43930711728034 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43930712196346:43930712197007 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43930712198715:43930712199339 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43930712200436:43930712202081 26045:26045 hsa_signal_create(1, , 0, 0x7f15277eb310) = 0 +43930712203443:43930712207191 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277eb2d0) = 0 +43930712208173:43930712210226 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 +43930712676911:43930712680086 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43930712681527:43930712682172 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43930712683313:43930712683834 26045:26051 hsa_signal_load_relaxed() = 1 +43930712211234:43930712685409 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43930712684748:43930712686124 26045:26051 hsa_signal_store_screlease(, 0) = void +43930712686618:43930712687281 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930712687090:43930712687711 26045:26051 hsa_signal_destroy() = 0 +43930712703852:43930712704500 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43930712712024:43930712712802 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 178 +43930712713700:43930712714158 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 178 +43930712715102:43930712715705 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 +43930712716588:43930712716945 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43930712718097:43930712718688 26045:26045 hsa_signal_store_relaxed(, 178) = void +43930712720307:43930712720941 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43930712727154:43930712727783 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930712734096:43930712734733 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 +43930712735508:43930712735840 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 179 +43930712736575:43930712736918 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 178 +43930712737877:43930712738211 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43930712738962:43930712739345 26045:26045 hsa_signal_store_relaxed(, 179) = void +43930712740260:43930713290693 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930713304445:43930713305222 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930713307767:43930713308789 26045:26045 hsa_signal_destroy() = 0 +43930713309958:43930713310440 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930713321497:43930713321904 26045:26045 hsa_signal_destroy() = 0 +43930713323354:43930713324692 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 +43930713325573:43930713326047 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43930713326868:43930713327430 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 +43930713328176:43930713328551 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43930713329511:43930713329951 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43930713331088:43930713331735 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43930713332617:43930713333422 26045:26045 hsa_signal_create(1, , 0, 0x7f15277eb370) = 0 +43930713334262:43930713336882 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277eb330) = 0 +43930713337734:43930713338742 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 +43930713830652:43930713833154 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43930713834478:43930713835131 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43930713836083:43930713836565 26045:26051 hsa_signal_load_relaxed() = 1 +43930713339572:43930713838034 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43930713837383:43930713838670 26045:26051 hsa_signal_store_screlease(, 0) = void +43930713839512:43930713839972 26045:26051 hsa_signal_destroy() = 0 +43930714282110:43930714282957 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930728917049:43930728918117 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930728924081:43930728925245 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930728932426:43930728935625 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 +43930728936658:43930728937408 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43930728938237:43930728938869 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 +43930728939626:43930728940098 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43930729410913:43930729411770 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43930729413673:43930729414296 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43930729415372:43930729416953 26045:26045 hsa_signal_create(1, , 0, 0x7f15277eb3d0) = 0 +43930729417927:43930729421306 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277eb390) = 0 +43930729422276:43930729424211 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 +43930729890796:43930729893853 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43930729895467:43930729896104 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43930729897210:43930729897921 26045:26051 hsa_signal_load_relaxed() = 1 +43930729425111:43930729899436 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43930729898784:43930729900180 26045:26051 hsa_signal_store_screlease(, 0) = void +43930729900893:43930729901560 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930729901064:43930729901767 26045:26051 hsa_signal_destroy() = 0 +43930729917740:43930729918386 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43930729926048:43930729926678 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 180 +43930729927580:43930729928048 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 180 +43930729928985:43930729929592 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 +43930729930367:43930729930721 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43930729931857:43930729932442 26045:26045 hsa_signal_store_relaxed(, 180) = void +43930729934066:43930729934696 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43930729940959:43930729941590 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930729943756:43930729944330 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 +43930729945087:43930729945421 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 181 +43930729946159:43930729946505 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 180 +43930729947452:43930729947777 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43930729948534:43930729948921 26045:26045 hsa_signal_store_relaxed(, 181) = void +43930729951472:43930730505137 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930730518472:43930730519286 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930730521748:43930730522772 26045:26045 hsa_signal_destroy() = 0 +43930730524044:43930730524741 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930730535206:43930730535769 26045:26045 hsa_signal_destroy() = 0 +43930730537159:43930730538470 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 +43930730539362:43930730539827 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43930730540621:43930730541190 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 +43930730541943:43930730542320 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43930730543279:43930730543715 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43930730544847:43930730545492 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43930730546380:43930730547468 26045:26045 hsa_signal_create(1, , 0, 0x7f15277eb430) = 0 +43930730548317:43930730550767 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277eb3f0) = 0 +43930730551616:43930730552618 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 +43930731045164:43930731047689 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43930731049003:43930731049663 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43930731050614:43930731051098 26045:26051 hsa_signal_load_relaxed() = 1 +43930730553439:43930731052568 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43930731051918:43930731053153 26045:26051 hsa_signal_store_screlease(, 0) = void +43930731053996:43930731054463 26045:26051 hsa_signal_destroy() = 0 +43930731496455:43930731497307 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930746134251:43930746135547 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930746141821:43930746143036 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930746144848:43930746147404 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 +43930746148520:43930746149489 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43930746150320:43930746150987 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 +43930746151787:43930746152281 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43930746618550:43930746619322 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43930746626548:43930746627189 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43930746628369:43930746629929 26045:26045 hsa_signal_create(1, , 0, 0x7f15277eb490) = 0 +43930746630868:43930746634484 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277eb450) = 0 +43930746635424:43930746637183 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 +43930747103027:43930747106136 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43930747107656:43930747108314 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43930747109446:43930747109975 26045:26051 hsa_signal_load_relaxed() = 1 +43930746638141:43930747111484 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43930747110844:43930747112219 26045:26051 hsa_signal_store_screlease(, 0) = void +43930747112814:43930747113495 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930747113104:43930747113763 26045:26051 hsa_signal_destroy() = 0 +43930747130740:43930747131380 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43930747138975:43930747139634 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 182 +43930747140491:43930747140955 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 182 +43930747141900:43930747142515 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 +43930747143355:43930747143718 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43930747144842:43930747145432 26045:26045 hsa_signal_store_relaxed(, 182) = void +43930747147029:43930747147667 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43930747153698:43930747154330 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930747156465:43930747157094 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 +43930747157863:43930747158201 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 183 +43930747158937:43930747159273 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 182 +43930747160217:43930747160543 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43930747161296:43930747161684 26045:26045 hsa_signal_store_relaxed(, 183) = void +43930747162626:43930747720208 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930747722157:43930747722657 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930747724189:43930747724747 26045:26045 hsa_signal_destroy() = 0 +43930747736264:43930747736792 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930747741077:43930747741486 26045:26045 hsa_signal_destroy() = 0 +43930747743256:43930747753874 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 +43930747754773:43930747755200 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43930747755977:43930747756453 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 +43930747757191:43930747757555 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43930747758404:43930747758785 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43930747759719:43930747760347 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43930747761130:43930747761727 26045:26045 hsa_signal_create(1, , 0, 0x7f15277eb4f0) = 0 +43930747762498:43930747764481 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277eb4b0) = 0 +43930747765269:43930747766042 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 +43930748258775:43930748261265 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43930748262599:43930748263252 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43930748264188:43930748264671 26045:26051 hsa_signal_load_relaxed() = 1 +43930747766803:43930748266226 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43930748265495:43930748266729 26045:26051 hsa_signal_store_screlease(, 0) = void +43930748267571:43930748268033 26045:26051 hsa_signal_destroy() = 0 +43930748710241:43930748711092 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930763360148:43930763361223 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930763366053:43930763367184 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930763368941:43930763371643 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 +43930763372710:43930763373472 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43930763374291:43930763374833 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 +43930763375687:43930763376157 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43930763843876:43930763844611 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43930763846337:43930763846973 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43930763848129:43930763849880 26045:26045 hsa_signal_create(1, , 0, 0x7f15277eb550) = 0 +43930763851125:43930763854702 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277eb510) = 0 +43930763855705:43930763857710 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 +43930764337347:43930764340313 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43930764346759:43930764347431 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43930764348487:43930764349024 26045:26051 hsa_signal_load_relaxed() = 1 +43930763858561:43930764350629 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43930764349869:43930764351287 26045:26051 hsa_signal_store_screlease(, 0) = void +43930764352012:43930764352675 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930764352167:43930764352845 26045:26051 hsa_signal_destroy() = 0 +43930764367014:43930764367649 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43930764374200:43930764374871 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 184 +43930764375750:43930764376138 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 184 +43930764377030:43930764377644 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 +43930764378420:43930764378870 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43930764380093:43930764380656 26045:26045 hsa_signal_store_relaxed(, 184) = void +43930764382014:43930764382643 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43930764388365:43930764388994 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930764390706:43930764391331 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 +43930764392159:43930764392539 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 185 +43930764393276:43930764393609 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 184 +43930764394353:43930764394669 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43930764395405:43930764395793 26045:26045 hsa_signal_store_relaxed(, 185) = void +43930764396862:43930764946356 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930764948272:43930764948752 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930764950254:43930764950837 26045:26045 hsa_signal_destroy() = 0 +43930764962450:43930764963009 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930764963942:43930764964335 26045:26045 hsa_signal_destroy() = 0 +43930764965898:43930764967953 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 +43930764969000:43930764969572 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43930764979964:43930764980459 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 +43930764981211:43930764981574 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43930764984189:43930764984572 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43930764985521:43930764986150 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43930764986943:43930764987470 26045:26045 hsa_signal_create(1, , 0, 0x7f15277eb5b0) = 0 +43930764988245:43930764990042 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277eb570) = 0 +43930764990824:43930764991610 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 +43930765484050:43930765486458 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43930765487782:43930765488432 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43930765489372:43930765489844 26045:26051 hsa_signal_load_relaxed() = 1 +43930764992396:43930765491311 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43930765490652:43930765491900 26045:26051 hsa_signal_store_screlease(, 0) = void +43930765492741:43930765493190 26045:26051 hsa_signal_destroy() = 0 +43930765934766:43930765935662 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930780589364:43930780590427 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930780594915:43930780596171 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930780597893:43930780600549 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 +43930780601640:43930780602350 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43930780603176:43930780603752 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 +43930780604607:43930780605079 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43930781071447:43930781072180 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43930781073765:43930781074388 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43930781075419:43930781077002 26045:26045 hsa_signal_create(1, , 0, 0x7f15277eb610) = 0 +43930781078029:43930781081356 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277eb5d0) = 0 +43930781082341:43930781083932 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 +43930781551396:43930781554378 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43930781555876:43930781556525 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43930781557649:43930781558171 26045:26051 hsa_signal_load_relaxed() = 1 +43930781084824:43930781559740 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43930781559079:43930781560437 26045:26051 hsa_signal_store_screlease(, 0) = void +43930781561126:43930781561792 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930781561320:43930781561949 26045:26051 hsa_signal_destroy() = 0 +43930781579581:43930781580221 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43930781586169:43930781587002 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 186 +43930781587895:43930781588388 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 186 +43930781589253:43930781589863 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 +43930781590655:43930781591104 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43930781592055:43930781592844 26045:26045 hsa_signal_store_relaxed(, 186) = void +43930781594135:43930781594767 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43930781600612:43930781601250 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930781603196:43930781603825 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 +43930781604661:43930781604991 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 187 +43930781605733:43930781606071 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 186 +43930781606829:43930781607151 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43930781607894:43930781608273 26045:26045 hsa_signal_store_relaxed(, 187) = void +43930781609327:43930782162843 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930782164353:43930782164844 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930782166273:43930782166823 26045:26045 hsa_signal_destroy() = 0 +43930782167708:43930782178567 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930782179564:43930782180045 26045:26045 hsa_signal_destroy() = 0 +43930782181476:43930782183172 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 +43930782184216:43930782184731 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43930782185597:43930782186137 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 +43930782196391:43930782196823 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43930782197698:43930782198083 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43930782198984:43930782199617 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43930782200410:43930782200910 26045:26045 hsa_signal_create(1, , 0, 0x7f15277eb670) = 0 +43930782201675:43930782203464 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277eb630) = 0 +43930782204240:43930782204955 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 +43930782697951:43930782700632 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43930782701976:43930782702631 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43930782703579:43930782704054 26045:26051 hsa_signal_load_relaxed() = 1 +43930782209779:43930782705504 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43930782704837:43930782706095 26045:26051 hsa_signal_store_screlease(, 0) = void +43930782706938:43930782707390 26045:26051 hsa_signal_destroy() = 0 +43930783149337:43930783150180 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930797815939:43930797817003 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930797821632:43930797822985 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930797824867:43930797826869 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 +43930797827959:43930797828879 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43930797829690:43930797830243 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 +43930797831093:43930797831563 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43930798300169:43930798300902 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43930798302828:43930798303452 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43930798304500:43930798306365 26045:26045 hsa_signal_create(1, , 0, 0x7f15277eb6d0) = 0 +43930798307334:43930798310809 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277eb690) = 0 +43930798311916:43930798313539 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 +43930798780383:43930798783404 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43930798785029:43930798785699 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43930798786832:43930798787369 26045:26051 hsa_signal_load_relaxed() = 1 +43930798314487:43930798788940 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43930798788271:43930798789655 26045:26051 hsa_signal_store_screlease(, 0) = void +43930798790548:43930798791191 26045:26051 hsa_signal_destroy() = 0 +43930798790495:43930798791218 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930798805461:43930798806109 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43930798811798:43930798812463 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 188 +43930798813428:43930798813848 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 188 +43930798814804:43930798815446 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 +43930798819865:43930798820318 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43930798821286:43930798821848 26045:26045 hsa_signal_store_relaxed(, 188) = void +43930798823242:43930798823875 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43930798829765:43930798830398 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930798832106:43930798832792 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 +43930798833626:43930798834005 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 189 +43930798834744:43930798835090 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 188 +43930798835834:43930798836151 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43930798836888:43930798837268 26045:26045 hsa_signal_store_relaxed(, 189) = void +43930798838295:43930799398327 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930799411450:43930799412222 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930799415113:43930799416121 26045:26045 hsa_signal_destroy() = 0 +43930799417560:43930799418182 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930799428731:43930799429141 26045:26045 hsa_signal_destroy() = 0 +43930799430681:43930799432042 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 +43930799432922:43930799433392 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43930799434239:43930799434802 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 +43930799435564:43930799435936 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43930799436884:43930799437322 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43930799438453:43930799439093 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43930799439968:43930799440865 26045:26045 hsa_signal_create(1, , 0, 0x7f15277eb730) = 0 +43930799441703:43930799444159 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277eb6f0) = 0 +43930799445012:43930799446008 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 +43930799938233:43930799940923 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43930799942302:43930799942955 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43930799943911:43930799944383 26045:26051 hsa_signal_load_relaxed() = 1 +43930799446853:43930799945852 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43930799945193:43930799946492 26045:26051 hsa_signal_store_screlease(, 0) = void +43930799951036:43930799951498 26045:26051 hsa_signal_destroy() = 0 +43930800416184:43930800417044 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930815029955:43930815031077 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930815036769:43930815037757 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930815040005:43930815043713 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 +43930815044937:43930815045633 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43930815046450:43930815047410 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 +43930815048185:43930815048801 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43930815530554:43930815531301 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43930815533019:43930815533647 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43930815534681:43930815536121 26045:26045 hsa_signal_create(1, , 0, 0x7f15277eb790) = 0 +43930815537140:43930815540798 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277eb750) = 0 +43930815541802:43930815543893 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 +43930816016865:43930816030070 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43930816031715:43930816032372 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43930816033589:43930816034123 26045:26051 hsa_signal_load_relaxed() = 1 +43930815544772:43930816035752 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43930816035049:43930816036507 26045:26051 hsa_signal_store_screlease(, 0) = void +43930816037095:43930816037816 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930816037468:43930816038159 26045:26051 hsa_signal_destroy() = 0 +43930816054122:43930816063545 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43930816071735:43930816072447 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 190 +43930816073328:43930816073803 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 190 +43930816074898:43930816075507 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 +43930816076408:43930816076767 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43930816077941:43930816078536 26045:26045 hsa_signal_store_relaxed(, 190) = void +43930816080129:43930816080764 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43930816087074:43930816087704 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930816090027:43930816090646 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 +43930816095691:43930816096022 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 191 +43930816096766:43930816097110 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 190 +43930816098092:43930816098427 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43930816099182:43930816099579 26045:26045 hsa_signal_store_relaxed(, 191) = void +43930816100572:43930816647945 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930816663772:43930816665565 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930816668401:43930816669646 26045:26045 hsa_signal_destroy() = 0 +43930816680674:43930816681214 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930816682386:43930816682888 26045:26045 hsa_signal_destroy() = 0 +43930816684544:43930816686059 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 +43930816687146:43930816687746 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43930816688738:43930816689493 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 +43930816690381:43930816690829 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43930816691991:43930816692535 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43930816693924:43930816694754 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43930816695832:43930816696892 26045:26045 hsa_signal_create(1, , 0, 0x7f15277eb7f0) = 0 +43930816697905:43930816701088 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277eb7b0) = 0 +43930816702166:43930816703432 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 +43930817195584:43930817198164 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43930817199543:43930817200195 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43930817201228:43930817201712 26045:26051 hsa_signal_load_relaxed() = 1 +43930816704545:43930817203338 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43930817202519:43930817203775 26045:26051 hsa_signal_store_screlease(, 0) = void +43930817204613:43930817205077 26045:26051 hsa_signal_destroy() = 0 +43930817649160:43930817650005 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930832154027:43930832155049 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930832161502:43930832162698 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930832164907:43930832168591 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 +43930832175174:43930832176052 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43930832176890:43930832177921 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 +43930832188933:43930832189484 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43930832641137:43930832642188 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43930832644012:43930832644636 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43930832645676:43930832647730 26045:26045 hsa_signal_create(1, , 0, 0x7f15277eb850) = 0 +43930832648626:43930832653468 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277eb810) = 0 +43930832654475:43930832656511 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 +43930833123890:43930833126976 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43930833128541:43930833129187 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43930833130273:43930833130800 26045:26051 hsa_signal_load_relaxed() = 1 +43930832657289:43930833132302 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43930833131651:43930833133006 26045:26051 hsa_signal_store_screlease(, 0) = void +43930833133477:43930833134153 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930833133892:43930833134490 26045:26051 hsa_signal_destroy() = 0 +43930833152227:43930833152882 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43930833160341:43930833160908 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 192 +43930833161817:43930833162287 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 192 +43930833163198:43930833163807 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 +43930833164641:43930833165002 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43930833166136:43930833166744 26045:26045 hsa_signal_store_relaxed(, 192) = void +43930833168277:43930833168906 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43930833175001:43930833175636 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930833177935:43930833178499 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 +43930833179259:43930833179591 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 193 +43930833180348:43930833180678 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 192 +43930833181621:43930833181948 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43930833182702:43930833183083 26045:26045 hsa_signal_store_relaxed(, 193) = void +43930833185045:43930833740846 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930833754059:43930833754871 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930833757440:43930833758445 26045:26045 hsa_signal_destroy() = 0 +43930833759643:43930833760344 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930833770842:43930833771302 26045:26045 hsa_signal_destroy() = 0 +43930833772813:43930833774128 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 +43930833775019:43930833775474 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43930833776293:43930833776866 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 +43930833777614:43930833777987 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43930833778924:43930833779354 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43930833780483:43930833781118 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43930833782002:43930833782718 26045:26045 hsa_signal_create(1, , 0, 0x7f15277eb8b0) = 0 +43930833783566:43930833786280 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277eb870) = 0 +43930833787135:43930833788127 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 +43930834280192:43930834282672 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43930834284003:43930834284664 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43930834285644:43930834286122 26045:26051 hsa_signal_load_relaxed() = 1 +43930833788978:43930834287600 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43930834286940:43930834288164 26045:26051 hsa_signal_store_screlease(, 0) = void +43930834289006:43930834289470 26045:26051 hsa_signal_destroy() = 0 +43930834731736:43930834732569 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930849332794:43930849333843 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930849340086:43930849341141 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930849343387:43930849346609 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 +43930849347604:43930849348365 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43930849349248:43930849349884 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 +43930849350685:43930849351095 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43930849811631:43930849812482 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43930849814458:43930849815091 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43930849821505:43930849823134 26045:26045 hsa_signal_create(1, , 0, 0x7f15277eb910) = 0 +43930849824157:43930849828512 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277eb8d0) = 0 +43930849829454:43930849831350 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 +43930850297748:43930850300812 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43930850302381:43930850303040 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43930850304152:43930850304690 26045:26051 hsa_signal_load_relaxed() = 1 +43930849832310:43930850306191 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43930850305540:43930850306913 26045:26051 hsa_signal_store_screlease(, 0) = void +43930850307531:43930850308212 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930850307797:43930850308359 26045:26051 hsa_signal_destroy() = 0 +43930850324104:43930850324746 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43930850332186:43930850332787 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 194 +43930850333717:43930850334183 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 194 +43930850335103:43930850335723 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 +43930850336572:43930850336929 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43930850338075:43930850338682 26045:26045 hsa_signal_store_relaxed(, 194) = void +43930850340311:43930850340945 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43930850347114:43930850347744 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930850349962:43930850350617 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 +43930850351367:43930850351697 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 195 +43930850352434:43930850352780 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 194 +43930850353735:43930850354059 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43930850354821:43930850355205 26045:26045 hsa_signal_store_relaxed(, 195) = void +43930850356183:43930850918474 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930850931822:43930850932604 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930850935240:43930850936288 26045:26045 hsa_signal_destroy() = 0 +43930850937450:43930850938091 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930850948581:43930850949050 26045:26045 hsa_signal_destroy() = 0 +43930850952458:43930850953759 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 +43930850954644:43930850955115 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43930850955937:43930850956504 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 +43930850957249:43930850957622 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43930850958549:43930850958987 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43930850960132:43930850960779 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43930850961664:43930850962520 26045:26045 hsa_signal_create(1, , 0, 0x7f15277eb970) = 0 +43930850963368:43930850965877 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277eb930) = 0 +43930850966725:43930850967744 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 +43930851460241:43930851462782 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43930851464120:43930851464777 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43930851465725:43930851466214 26045:26051 hsa_signal_load_relaxed() = 1 +43930850968592:43930851467672 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43930851467020:43930851468395 26045:26051 hsa_signal_store_screlease(, 0) = void +43930851469240:43930851469699 26045:26051 hsa_signal_destroy() = 0 +43930851910007:43930851910803 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930866543339:43930866544408 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930866550199:43930866551393 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930866553300:43930866556284 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 +43930866557398:43930866558140 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43930866558967:43930866559635 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 +43930866560420:43930866560890 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43930867028092:43930867028846 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43930867030690:43930867031317 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43930867032532:43930867034072 26045:26045 hsa_signal_create(1, , 0, 0x7f15277eb9d0) = 0 +43930867035091:43930867039275 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277eb990) = 0 +43930867040263:43930867042240 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 +43930867509801:43930867513108 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43930867514585:43930867515227 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43930867521076:43930867521608 26045:26051 hsa_signal_load_relaxed() = 1 +43930867043108:43930867523103 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43930867522470:43930867523868 26045:26051 hsa_signal_store_screlease(, 0) = void +43930867524473:43930867525152 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930867524751:43930867525389 26045:26051 hsa_signal_destroy() = 0 +43930867541713:43930867542368 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43930867549953:43930867550583 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 196 +43930867551465:43930867551936 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 196 +43930867552901:43930867553506 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 +43930867554338:43930867554697 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43930867555810:43930867556412 26045:26045 hsa_signal_store_relaxed(, 196) = void +43930867557988:43930867558619 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43930867564516:43930867565148 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930867567505:43930867568134 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 +43930867568900:43930867569236 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 197 +43930867569988:43930867570336 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 196 +43930867571267:43930867571587 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43930867572356:43930867572740 26045:26045 hsa_signal_store_relaxed(, 197) = void +43930867573713:43930868131529 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930868145805:43930868146633 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930868149609:43930868150669 26045:26045 hsa_signal_destroy() = 0 +43930868161325:43930868161769 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930868162744:43930868163163 26045:26045 hsa_signal_destroy() = 0 +43930868164599:43930868166005 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 +43930868166927:43930868167427 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43930868168268:43930868168868 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 +43930868169854:43930868170250 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43930868171236:43930868171706 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43930868175794:43930868176493 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43930868177451:43930868178280 26045:26045 hsa_signal_create(1, , 0, 0x7f15277eba30) = 0 +43930868179173:43930868182096 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277eb9f0) = 0 +43930868182977:43930868184214 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 +43930868637198:43930868639805 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43930868641175:43930868641862 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43930868642888:43930868643400 26045:26051 hsa_signal_load_relaxed() = 1 +43930868185112:43930868644857 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43930868644249:43930868645600 26045:26051 hsa_signal_store_screlease(, 0) = void +43930868646498:43930868646979 26045:26051 hsa_signal_destroy() = 0 +43930869089420:43930869090188 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930883713016:43930883714116 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930883720278:43930883721400 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930883723484:43930883726142 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 +43930883727267:43930883727974 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43930883728816:43930883729545 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 +43930883730324:43930883730728 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43930884181728:43930884182606 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43930884184895:43930884185522 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43930884186777:43930884188668 26045:26045 hsa_signal_create(1, , 0, 0x7f15277eba90) = 0 +43930884189764:43930884194590 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277eba50) = 0 +43930884195597:43930884197509 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 +43930884664865:43930884667986 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43930884669488:43930884670146 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43930884671321:43930884671857 26045:26051 hsa_signal_load_relaxed() = 1 +43930884198389:43930884673427 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43930884672752:43930884674161 26045:26051 hsa_signal_store_screlease(, 0) = void +43930884674703:43930884675442 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930884675111:43930884675748 26045:26051 hsa_signal_destroy() = 0 +43930884692652:43930884693293 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43930884701303:43930884701976 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 198 +43930884702862:43930884703595 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 198 +43930884704556:43930884705174 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 +43930884706017:43930884706388 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43930884707535:43930884708155 26045:26045 hsa_signal_store_relaxed(, 198) = void +43930884709760:43930884710388 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 +43930884716875:43930884717507 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930884719880:43930884720522 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 +43930884721280:43930884721617 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 199 +43930884722358:43930884722691 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 198 +43930884723657:43930884723981 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void +43930884724735:43930884725116 26045:26045 hsa_signal_store_relaxed(, 199) = void +43930884726052:43930885276478 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930885290900:43930885291757 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930885294439:43930885295490 26045:26045 hsa_signal_destroy() = 0 +43930885306292:43930885306782 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43930885307804:43930885308279 26045:26045 hsa_signal_destroy() = 0 +43930885309720:43930885311121 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 +43930885312048:43930885312542 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 +43930885313377:43930885314023 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 +43930885314810:43930885315204 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 +43930885316227:43930885316688 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void +43930885317885:43930885318559 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 +43930885319488:43930885320515 26045:26045 hsa_signal_create(1, , 0, 0x7f15277ebaf0) = 0 +43930885321404:43930885323970 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277ebab0) = 0 +43930885324862:43930885325965 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 +43930885778413:43930885780886 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 +43930885784299:43930885785000 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 +43930885786014:43930885786523 26045:26051 hsa_signal_load_relaxed() = 1 +43930885326868:43930885787958 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43930885787376:43930885788701 26045:26051 hsa_signal_store_screlease(, 0) = void +43930885789571:43930885790057 26045:26051 hsa_signal_destroy() = 0 +43930886236287:43930886237037 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 +43930900876627:43930900877694 26045:26045 hsa_system_get_info(2, 0x7fffcdc385c0) = 0 +43930900900578:43930900901377 26045:26045 hsa_signal_load_scacquire() = 0 +43930900904849:43930900954068 26045:26045 hsa_amd_memory_pool_free(0x903200000) = 0 +43930900959303:43930900959949 26045:26045 hsa_system_get_info(2, 0x7fffcdc385c0) = 0 +43930900963250:43930900963872 26045:26045 hsa_system_get_info(2, 0x7fffcdc385c0) = 0 +43930900965827:43930900966275 26045:26045 hsa_signal_load_scacquire() = 0 +43930900967345:43930900979982 26045:26045 hsa_amd_memory_pool_free(0x903a00000) = 0 +43930900981956:43930900982600 26045:26045 hsa_system_get_info(2, 0x7fffcdc385c0) = 0 +43930900992150:43930901231079 26045:26045 hsa_memory_free(0x904200000) = 0 +43930901242424:43930901257455 26045:26045 hsa_code_object_reader_destroy() = 0 +43930901258660:43930901260807 26045:26045 hsa_code_object_reader_destroy() = 0 +43930901261981:43930901263956 26045:26045 hsa_code_object_reader_destroy() = 0 +43930901265103:43930901266987 26045:26045 hsa_code_object_reader_destroy() = 0 +43930901268025:43930901269897 26045:26045 hsa_code_object_reader_destroy() = 0 +43930901271209:43930901287661 26045:26045 hsa_code_object_reader_destroy() = 0 +43930901289066:43930901291065 26045:26045 hsa_code_object_reader_destroy() = 0 +43930901292187:43930901294080 26045:26045 hsa_code_object_reader_destroy() = 0 +43930901295324:43930901310566 26045:26045 hsa_code_object_reader_destroy() = 0 +43930901311824:43930901313632 26045:26045 hsa_code_object_reader_destroy() = 0 +43930901314684:43930901316553 26045:26045 hsa_code_object_reader_destroy() = 0 +43930901317986:43930901319851 26045:26045 hsa_code_object_reader_destroy() = 0 +43930901320976:43930901322856 26045:26045 hsa_code_object_reader_destroy() = 0 +43930901325410:43930901327354 26045:26045 hsa_code_object_reader_destroy() = 0 +43930901331388:43930901333602 26045:26045 hsa_code_object_reader_destroy() = 0 +43930901334994:43930901336924 26045:26045 hsa_code_object_reader_destroy() = 0 +43930901338016:43930901339898 26045:26045 hsa_code_object_reader_destroy() = 0 +43930901341282:43930901343175 26045:26045 hsa_code_object_reader_destroy() = 0 +43930901344244:43930901346491 26045:26045 hsa_code_object_reader_destroy() = 0 +43930901347522:43930901349474 26045:26045 hsa_code_object_reader_destroy() = 0 +43930901350739:43930901352606 26045:26045 hsa_code_object_reader_destroy() = 0 +43930901353799:43930901355657 26045:26045 hsa_code_object_reader_destroy() = 0 +43928832193607 26045:26045 0:"before hipLaunchKernel" +43928832254079 26045:26045 1:"hipLaunchKernel" +43929124521706 26045:26045 0:"after hipLaunchKernel" +43929124523355 26045:26045 1:"hipMemcpy" +43929127425092 26045:26045 2:"" +43929127430877 26045:26045 2:"" +43929142896327 26045:26045 0:"before hipLaunchKernel" +43929142897888 26045:26045 1:"hipLaunchKernel" +43929142933064 26045:26045 0:"after hipLaunchKernel" +43929142934002 26045:26045 1:"hipMemcpy" +43929145770309 26045:26045 2:"" +43929145772193 26045:26045 2:"" +43929161272883 26045:26045 0:"before hipLaunchKernel" +43929161274321 26045:26045 1:"hipLaunchKernel" +43929161301880 26045:26045 0:"after hipLaunchKernel" +43929161302792 26045:26045 1:"hipMemcpy" +43929164151033 26045:26045 2:"" +43929164152709 26045:26045 2:"" +43929179625675 26045:26045 0:"before hipLaunchKernel" +43929179627384 26045:26045 1:"hipLaunchKernel" +43929179653473 26045:26045 0:"after hipLaunchKernel" +43929179654404 26045:26045 1:"hipMemcpy" +43929182558700 26045:26045 2:"" +43929182560875 26045:26045 2:"" +43929198157220 26045:26045 0:"before hipLaunchKernel" +43929198158716 26045:26045 1:"hipLaunchKernel" +43929198190235 26045:26045 0:"after hipLaunchKernel" +43929198191170 26045:26045 1:"hipMemcpy" +43929201093127 26045:26045 2:"" +43929201095060 26045:26045 2:"" +43929216711146 26045:26045 0:"before hipLaunchKernel" +43929216712762 26045:26045 1:"hipLaunchKernel" +43929216742381 26045:26045 0:"after hipLaunchKernel" +43929216743300 26045:26045 1:"hipMemcpy" +43929219646747 26045:26045 2:"" +43929219648786 26045:26045 2:"" +43929235194800 26045:26045 0:"before hipLaunchKernel" +43929235196446 26045:26045 1:"hipLaunchKernel" +43929235226447 26045:26045 0:"after hipLaunchKernel" +43929235227595 26045:26045 1:"hipMemcpy" +43929238133106 26045:26045 2:"" +43929238134957 26045:26045 2:"" +43929253704257 26045:26045 0:"before hipLaunchKernel" +43929253705836 26045:26045 1:"hipLaunchKernel" +43929253740496 26045:26045 0:"after hipLaunchKernel" +43929253741459 26045:26045 1:"hipMemcpy" +43929256644851 26045:26045 2:"" +43929256646907 26045:26045 2:"" +43929272233006 26045:26045 0:"before hipLaunchKernel" +43929272234772 26045:26045 1:"hipLaunchKernel" +43929272265430 26045:26045 0:"after hipLaunchKernel" +43929272266366 26045:26045 1:"hipMemcpy" +43929275175881 26045:26045 2:"" +43929275177993 26045:26045 2:"" +43929290795395 26045:26045 0:"before hipLaunchKernel" +43929290796887 26045:26045 1:"hipLaunchKernel" +43929290827113 26045:26045 0:"after hipLaunchKernel" +43929290828070 26045:26045 1:"hipMemcpy" +43929293735628 26045:26045 2:"" +43929293737757 26045:26045 2:"" +43929309319919 26045:26045 0:"before hipLaunchKernel" +43929309321609 26045:26045 1:"hipLaunchKernel" +43929309353699 26045:26045 0:"after hipLaunchKernel" +43929309354671 26045:26045 1:"hipMemcpy" +43929312251687 26045:26045 2:"" +43929312253280 26045:26045 2:"" +43929327884128 26045:26045 0:"before hipLaunchKernel" +43929327885569 26045:26045 1:"hipLaunchKernel" +43929327911714 26045:26045 0:"after hipLaunchKernel" +43929327912722 26045:26045 1:"hipMemcpy" +43929330818254 26045:26045 2:"" +43929330820334 26045:26045 2:"" +43929346422291 26045:26045 0:"before hipLaunchKernel" +43929346423844 26045:26045 1:"hipLaunchKernel" +43929346458518 26045:26045 0:"after hipLaunchKernel" +43929346459504 26045:26045 1:"hipMemcpy" +43929349366693 26045:26045 2:"" +43929349369028 26045:26045 2:"" +43929364951532 26045:26045 0:"before hipLaunchKernel" +43929364953078 26045:26045 1:"hipLaunchKernel" +43929364989197 26045:26045 0:"after hipLaunchKernel" +43929364990197 26045:26045 1:"hipMemcpy" +43929367893483 26045:26045 2:"" +43929367895604 26045:26045 2:"" +43929383535687 26045:26045 0:"before hipLaunchKernel" +43929383537196 26045:26045 1:"hipLaunchKernel" +43929383567713 26045:26045 0:"after hipLaunchKernel" +43929383568677 26045:26045 1:"hipMemcpy" +43929386470015 26045:26045 2:"" +43929386472123 26045:26045 2:"" +43929402073281 26045:26045 0:"before hipLaunchKernel" +43929402074756 26045:26045 1:"hipLaunchKernel" +43929402106471 26045:26045 0:"after hipLaunchKernel" +43929402107560 26045:26045 1:"hipMemcpy" +43929403671863 26045:26045 2:"" +43929403673824 26045:26045 2:"" +43929419273645 26045:26045 0:"before hipLaunchKernel" +43929419275165 26045:26045 1:"hipLaunchKernel" +43929419305590 26045:26045 0:"after hipLaunchKernel" +43929419306573 26045:26045 1:"hipMemcpy" +43929420885361 26045:26045 2:"" +43929420887529 26045:26045 2:"" +43929436479739 26045:26045 0:"before hipLaunchKernel" +43929436484340 26045:26045 1:"hipLaunchKernel" +43929436514902 26045:26045 0:"after hipLaunchKernel" +43929436515829 26045:26045 1:"hipMemcpy" +43929438082158 26045:26045 2:"" +43929438084328 26045:26045 2:"" +43929453741570 26045:26045 0:"before hipLaunchKernel" +43929453743125 26045:26045 1:"hipLaunchKernel" +43929453777848 26045:26045 0:"after hipLaunchKernel" +43929453778818 26045:26045 1:"hipMemcpy" +43929455346736 26045:26045 2:"" +43929455348833 26045:26045 2:"" +43929470969868 26045:26045 0:"before hipLaunchKernel" +43929470971374 26045:26045 1:"hipLaunchKernel" +43929471007008 26045:26045 0:"after hipLaunchKernel" +43929471007981 26045:26045 1:"hipMemcpy" +43929472569751 26045:26045 2:"" +43929472571969 26045:26045 2:"" +43929488168118 26045:26045 0:"before hipLaunchKernel" +43929488169673 26045:26045 1:"hipLaunchKernel" +43929488200412 26045:26045 0:"after hipLaunchKernel" +43929488201367 26045:26045 1:"hipMemcpy" +43929489770585 26045:26045 2:"" +43929489772702 26045:26045 2:"" +43929505392720 26045:26045 0:"before hipLaunchKernel" +43929505394401 26045:26045 1:"hipLaunchKernel" +43929505425676 26045:26045 0:"after hipLaunchKernel" +43929505426590 26045:26045 1:"hipMemcpy" +43929506983830 26045:26045 2:"" +43929506985382 26045:26045 2:"" +43929522586814 26045:26045 0:"before hipLaunchKernel" +43929522588177 26045:26045 1:"hipLaunchKernel" +43929522615542 26045:26045 0:"after hipLaunchKernel" +43929522616473 26045:26045 1:"hipMemcpy" +43929524184116 26045:26045 2:"" +43929524185475 26045:26045 2:"" +43929539822508 26045:26045 0:"before hipLaunchKernel" +43929539823866 26045:26045 1:"hipLaunchKernel" +43929539850420 26045:26045 0:"after hipLaunchKernel" +43929539851399 26045:26045 1:"hipMemcpy" +43929541403539 26045:26045 2:"" +43929541404906 26045:26045 2:"" +43929557032699 26045:26045 0:"before hipLaunchKernel" +43929557034105 26045:26045 1:"hipLaunchKernel" +43929557065634 26045:26045 0:"after hipLaunchKernel" +43929557066518 26045:26045 1:"hipMemcpy" +43929558637687 26045:26045 2:"" +43929558639733 26045:26045 2:"" +43929574274586 26045:26045 0:"before hipLaunchKernel" +43929574276149 26045:26045 1:"hipLaunchKernel" +43929574306658 26045:26045 0:"after hipLaunchKernel" +43929574307649 26045:26045 1:"hipMemcpy" +43929575873835 26045:26045 2:"" +43929575876024 26045:26045 2:"" +43929591496089 26045:26045 0:"before hipLaunchKernel" +43929591497605 26045:26045 1:"hipLaunchKernel" +43929591527628 26045:26045 0:"after hipLaunchKernel" +43929591528597 26045:26045 1:"hipMemcpy" +43929593087544 26045:26045 2:"" +43929593089687 26045:26045 2:"" +43929608735327 26045:26045 0:"before hipLaunchKernel" +43929608737014 26045:26045 1:"hipLaunchKernel" +43929608767635 26045:26045 0:"after hipLaunchKernel" +43929608768725 26045:26045 1:"hipMemcpy" +43929610286709 26045:26045 2:"" +43929610288984 26045:26045 2:"" +43929625868476 26045:26045 0:"before hipLaunchKernel" +43929625870049 26045:26045 1:"hipLaunchKernel" +43929625900726 26045:26045 0:"after hipLaunchKernel" +43929625901694 26045:26045 1:"hipMemcpy" +43929627432888 26045:26045 2:"" +43929627435056 26045:26045 2:"" +43929643007691 26045:26045 0:"before hipLaunchKernel" +43929643009222 26045:26045 1:"hipLaunchKernel" +43929643039912 26045:26045 0:"after hipLaunchKernel" +43929643040818 26045:26045 1:"hipMemcpy" +43929644566834 26045:26045 2:"" +43929644568970 26045:26045 2:"" +43929660133204 26045:26045 0:"before hipLaunchKernel" +43929660134719 26045:26045 1:"hipLaunchKernel" +43929660168831 26045:26045 0:"after hipLaunchKernel" +43929660169813 26045:26045 1:"hipMemcpy" +43929661687944 26045:26045 2:"" +43929661689400 26045:26045 2:"" +43929677246668 26045:26045 0:"before hipLaunchKernel" +43929677248146 26045:26045 1:"hipLaunchKernel" +43929677278969 26045:26045 0:"after hipLaunchKernel" +43929677279968 26045:26045 1:"hipMemcpy" +43929678792393 26045:26045 2:"" +43929678793871 26045:26045 2:"" +43929694359618 26045:26045 0:"before hipLaunchKernel" +43929694360998 26045:26045 1:"hipLaunchKernel" +43929694386733 26045:26045 0:"after hipLaunchKernel" +43929694387663 26045:26045 1:"hipMemcpy" +43929695901459 26045:26045 2:"" +43929695903058 26045:26045 2:"" +43929711475673 26045:26045 0:"before hipLaunchKernel" +43929711477249 26045:26045 1:"hipLaunchKernel" +43929711503852 26045:26045 0:"after hipLaunchKernel" +43929711504784 26045:26045 1:"hipMemcpy" +43929713046409 26045:26045 2:"" +43929713048577 26045:26045 2:"" +43929728632152 26045:26045 0:"before hipLaunchKernel" +43929728636899 26045:26045 1:"hipLaunchKernel" +43929728667974 26045:26045 0:"after hipLaunchKernel" +43929728668976 26045:26045 1:"hipMemcpy" +43929730224178 26045:26045 2:"" +43929730226321 26045:26045 2:"" +43929745858157 26045:26045 0:"before hipLaunchKernel" +43929745859610 26045:26045 1:"hipLaunchKernel" +43929745890124 26045:26045 0:"after hipLaunchKernel" +43929745891166 26045:26045 1:"hipMemcpy" +43929747459653 26045:26045 2:"" +43929747461600 26045:26045 2:"" +43929763118598 26045:26045 0:"before hipLaunchKernel" +43929763120128 26045:26045 1:"hipLaunchKernel" +43929763155687 26045:26045 0:"after hipLaunchKernel" +43929763156749 26045:26045 1:"hipMemcpy" +43929766060436 26045:26045 2:"" +43929766062851 26045:26045 2:"" +43929781652299 26045:26045 0:"before hipLaunchKernel" +43929781653799 26045:26045 1:"hipLaunchKernel" +43929781683928 26045:26045 0:"after hipLaunchKernel" +43929781684850 26045:26045 1:"hipMemcpy" +43929784588087 26045:26045 2:"" +43929784590095 26045:26045 2:"" +43929800174289 26045:26045 0:"before hipLaunchKernel" +43929800175838 26045:26045 1:"hipLaunchKernel" +43929800206730 26045:26045 0:"after hipLaunchKernel" +43929800207750 26045:26045 1:"hipMemcpy" +43929803115544 26045:26045 2:"" +43929803117559 26045:26045 2:"" +43929818741754 26045:26045 0:"before hipLaunchKernel" +43929818743345 26045:26045 1:"hipLaunchKernel" +43929818773702 26045:26045 0:"after hipLaunchKernel" +43929818774878 26045:26045 1:"hipMemcpy" +43929821684815 26045:26045 2:"" +43929821686976 26045:26045 2:"" +43929837338319 26045:26045 0:"before hipLaunchKernel" +43929837339808 26045:26045 1:"hipLaunchKernel" +43929837370789 26045:26045 0:"after hipLaunchKernel" +43929837371713 26045:26045 1:"hipMemcpy" +43929840274498 26045:26045 2:"" +43929840276625 26045:26045 2:"" +43929855819333 26045:26045 0:"before hipLaunchKernel" +43929855820808 26045:26045 1:"hipLaunchKernel" +43929855857689 26045:26045 0:"after hipLaunchKernel" +43929855858624 26045:26045 1:"hipMemcpy" +43929858766013 26045:26045 2:"" +43929858768100 26045:26045 2:"" +43929874395676 26045:26045 0:"before hipLaunchKernel" +43929874397277 26045:26045 1:"hipLaunchKernel" +43929874434179 26045:26045 0:"after hipLaunchKernel" +43929874435284 26045:26045 1:"hipMemcpy" +43929877345306 26045:26045 2:"" +43929877347256 26045:26045 2:"" +43929892979729 26045:26045 0:"before hipLaunchKernel" +43929892981260 26045:26045 1:"hipLaunchKernel" +43929893012682 26045:26045 0:"after hipLaunchKernel" +43929893013686 26045:26045 1:"hipMemcpy" +43929895904381 26045:26045 2:"" +43929895906569 26045:26045 2:"" +43929911483586 26045:26045 0:"before hipLaunchKernel" +43929911485265 26045:26045 1:"hipLaunchKernel" +43929911515352 26045:26045 0:"after hipLaunchKernel" +43929911516398 26045:26045 1:"hipMemcpy" +43929914425975 26045:26045 2:"" +43929914428034 26045:26045 2:"" +43929930131890 26045:26045 0:"before hipLaunchKernel" +43929930133421 26045:26045 1:"hipLaunchKernel" +43929930164349 26045:26045 0:"after hipLaunchKernel" +43929930165349 26045:26045 1:"hipMemcpy" +43929933072634 26045:26045 2:"" +43929933074673 26045:26045 2:"" +43929948662241 26045:26045 0:"before hipLaunchKernel" +43929948663847 26045:26045 1:"hipLaunchKernel" +43929948694263 26045:26045 0:"after hipLaunchKernel" +43929948695229 26045:26045 1:"hipMemcpy" +43929951600521 26045:26045 2:"" +43929951602673 26045:26045 2:"" +43929967197643 26045:26045 0:"before hipLaunchKernel" +43929967199124 26045:26045 1:"hipLaunchKernel" +43929967233235 26045:26045 0:"after hipLaunchKernel" +43929967234209 26045:26045 1:"hipMemcpy" +43929970137448 26045:26045 2:"" +43929970139612 26045:26045 2:"" +43929985785961 26045:26045 0:"before hipLaunchKernel" +43929985787490 26045:26045 1:"hipLaunchKernel" +43929985823835 26045:26045 0:"after hipLaunchKernel" +43929985824825 26045:26045 1:"hipMemcpy" +43929988725928 26045:26045 2:"" +43929988728283 26045:26045 2:"" +43930004349887 26045:26045 0:"before hipLaunchKernel" +43930004351386 26045:26045 1:"hipLaunchKernel" +43930004382219 26045:26045 0:"after hipLaunchKernel" +43930004383291 26045:26045 1:"hipMemcpy" +43930007280993 26045:26045 2:"" +43930007283345 26045:26045 2:"" +43930022896173 26045:26045 0:"before hipLaunchKernel" +43930022897734 26045:26045 1:"hipLaunchKernel" +43930022927729 26045:26045 0:"after hipLaunchKernel" +43930022928780 26045:26045 1:"hipMemcpy" +43930024459209 26045:26045 2:"" +43930024461258 26045:26045 2:"" +43930040069665 26045:26045 0:"before hipLaunchKernel" +43930040072294 26045:26045 1:"hipLaunchKernel" +43930040111698 26045:26045 0:"after hipLaunchKernel" +43930040112679 26045:26045 1:"hipMemcpy" +43930041644042 26045:26045 2:"" +43930041646001 26045:26045 2:"" +43930057260250 26045:26045 0:"before hipLaunchKernel" +43930057261700 26045:26045 1:"hipLaunchKernel" +43930057292448 26045:26045 0:"after hipLaunchKernel" +43930057293488 26045:26045 1:"hipMemcpy" +43930058825865 26045:26045 2:"" +43930058828078 26045:26045 2:"" +43930074407587 26045:26045 0:"before hipLaunchKernel" +43930074409118 26045:26045 1:"hipLaunchKernel" +43930074441274 26045:26045 0:"after hipLaunchKernel" +43930074442217 26045:26045 1:"hipMemcpy" +43930075966817 26045:26045 2:"" +43930075968848 26045:26045 2:"" +43930091553203 26045:26045 0:"before hipLaunchKernel" +43930091554719 26045:26045 1:"hipLaunchKernel" +43930091589521 26045:26045 0:"after hipLaunchKernel" +43930091590505 26045:26045 1:"hipMemcpy" +43930093155690 26045:26045 2:"" +43930093157814 26045:26045 2:"" +43930108754327 26045:26045 0:"before hipLaunchKernel" +43930108755859 26045:26045 1:"hipLaunchKernel" +43930108786925 26045:26045 0:"after hipLaunchKernel" +43930108787985 26045:26045 1:"hipMemcpy" +43930110349201 26045:26045 2:"" +43930110350914 26045:26045 2:"" +43930125986118 26045:26045 0:"before hipLaunchKernel" +43930125987570 26045:26045 1:"hipLaunchKernel" +43930126014238 26045:26045 0:"after hipLaunchKernel" +43930126015132 26045:26045 1:"hipMemcpy" +43930127545043 26045:26045 2:"" +43930127546528 26045:26045 2:"" +43930143173713 26045:26045 0:"before hipLaunchKernel" +43930143175221 26045:26045 1:"hipLaunchKernel" +43930143201136 26045:26045 0:"after hipLaunchKernel" +43930143202010 26045:26045 1:"hipMemcpy" +43930144772462 26045:26045 2:"" +43930144773826 26045:26045 2:"" +43930160396876 26045:26045 0:"before hipLaunchKernel" +43930160398282 26045:26045 1:"hipLaunchKernel" +43930160425391 26045:26045 0:"after hipLaunchKernel" +43930160426311 26045:26045 1:"hipMemcpy" +43930161977584 26045:26045 2:"" +43930161979129 26045:26045 2:"" +43930177570521 26045:26045 0:"before hipLaunchKernel" +43930177572023 26045:26045 1:"hipLaunchKernel" +43930177601781 26045:26045 0:"after hipLaunchKernel" +43930177602735 26045:26045 1:"hipMemcpy" +43930179158168 26045:26045 2:"" +43930179159709 26045:26045 2:"" +43930194765029 26045:26045 0:"before hipLaunchKernel" +43930194766545 26045:26045 1:"hipLaunchKernel" +43930194792262 26045:26045 0:"after hipLaunchKernel" +43930194793140 26045:26045 1:"hipMemcpy" +43930196373084 26045:26045 2:"" +43930196374529 26045:26045 2:"" +43930212007918 26045:26045 0:"before hipLaunchKernel" +43930212019699 26045:26045 1:"hipLaunchKernel" +43930212054865 26045:26045 0:"after hipLaunchKernel" +43930212055779 26045:26045 1:"hipMemcpy" +43930213611304 26045:26045 2:"" +43930213612822 26045:26045 2:"" +43930229243573 26045:26045 0:"before hipLaunchKernel" +43930229245030 26045:26045 1:"hipLaunchKernel" +43930229269745 26045:26045 0:"after hipLaunchKernel" +43930229270692 26045:26045 1:"hipMemcpy" +43930230829751 26045:26045 2:"" +43930230831097 26045:26045 2:"" +43930246458629 26045:26045 0:"before hipLaunchKernel" +43930246460054 26045:26045 1:"hipLaunchKernel" +43930246485626 26045:26045 0:"after hipLaunchKernel" +43930246486521 26045:26045 1:"hipMemcpy" +43930248046816 26045:26045 2:"" +43930248048250 26045:26045 2:"" +43930263655993 26045:26045 0:"before hipLaunchKernel" +43930263657388 26045:26045 1:"hipLaunchKernel" +43930263682554 26045:26045 0:"after hipLaunchKernel" +43930263683542 26045:26045 1:"hipMemcpy" +43930265247741 26045:26045 2:"" +43930265249277 26045:26045 2:"" +43930280856326 26045:26045 0:"before hipLaunchKernel" +43930280857801 26045:26045 1:"hipLaunchKernel" +43930280886503 26045:26045 0:"after hipLaunchKernel" +43930280887369 26045:26045 1:"hipMemcpy" +43930282444821 26045:26045 2:"" +43930282446285 26045:26045 2:"" +43930298090321 26045:26045 0:"before hipLaunchKernel" +43930298092103 26045:26045 1:"hipLaunchKernel" +43930298116973 26045:26045 0:"after hipLaunchKernel" +43930298117938 26045:26045 1:"hipMemcpy" +43930299669308 26045:26045 2:"" +43930299670856 26045:26045 2:"" +43930315313897 26045:26045 0:"before hipLaunchKernel" +43930315315289 26045:26045 1:"hipLaunchKernel" +43930315341179 26045:26045 0:"after hipLaunchKernel" +43930315342198 26045:26045 1:"hipMemcpy" +43930316917231 26045:26045 2:"" +43930316918768 26045:26045 2:"" +43930332538930 26045:26045 0:"before hipLaunchKernel" +43930332540349 26045:26045 1:"hipLaunchKernel" +43930332566099 26045:26045 0:"after hipLaunchKernel" +43930332567031 26045:26045 1:"hipMemcpy" +43930334125323 26045:26045 2:"" +43930334126840 26045:26045 2:"" +43930349739119 26045:26045 0:"before hipLaunchKernel" +43930349740609 26045:26045 1:"hipLaunchKernel" +43930349767422 26045:26045 0:"after hipLaunchKernel" +43930349768343 26045:26045 1:"hipMemcpy" +43930351320046 26045:26045 2:"" +43930351321561 26045:26045 2:"" +43930366930647 26045:26045 0:"before hipLaunchKernel" +43930366932148 26045:26045 1:"hipLaunchKernel" +43930366957373 26045:26045 0:"after hipLaunchKernel" +43930366958376 26045:26045 1:"hipMemcpy" +43930368469307 26045:26045 2:"" +43930368470646 26045:26045 2:"" +43930384035305 26045:26045 0:"before hipLaunchKernel" +43930384036703 26045:26045 1:"hipLaunchKernel" +43930384067482 26045:26045 0:"after hipLaunchKernel" +43930384068444 26045:26045 1:"hipMemcpy" +43930386958031 26045:26045 2:"" +43930386959502 26045:26045 2:"" +43930402598865 26045:26045 0:"before hipLaunchKernel" +43930402600313 26045:26045 1:"hipLaunchKernel" +43930402625918 26045:26045 0:"after hipLaunchKernel" +43930402626806 26045:26045 1:"hipMemcpy" +43930405513676 26045:26045 2:"" +43930405515127 26045:26045 2:"" +43930421147649 26045:26045 0:"before hipLaunchKernel" +43930421149289 26045:26045 1:"hipLaunchKernel" +43930421174349 26045:26045 0:"after hipLaunchKernel" +43930421175281 26045:26045 1:"hipMemcpy" +43930424088220 26045:26045 2:"" +43930424089561 26045:26045 2:"" +43930439633513 26045:26045 0:"before hipLaunchKernel" +43930439634923 26045:26045 1:"hipLaunchKernel" +43930439659247 26045:26045 0:"after hipLaunchKernel" +43930439660284 26045:26045 1:"hipMemcpy" +43930442559969 26045:26045 2:"" +43930442562027 26045:26045 2:"" +43930458239408 26045:26045 0:"before hipLaunchKernel" +43930458241184 26045:26045 1:"hipLaunchKernel" +43930458273084 26045:26045 0:"after hipLaunchKernel" +43930458274113 26045:26045 1:"hipMemcpy" +43930461175581 26045:26045 2:"" +43930461177594 26045:26045 2:"" +43930476765487 26045:26045 0:"before hipLaunchKernel" +43930476766975 26045:26045 1:"hipLaunchKernel" +43930476800524 26045:26045 0:"after hipLaunchKernel" +43930476801447 26045:26045 1:"hipMemcpy" +43930479696832 26045:26045 2:"" +43930479698975 26045:26045 2:"" +43930495301605 26045:26045 0:"before hipLaunchKernel" +43930495303204 26045:26045 1:"hipLaunchKernel" +43930495339346 26045:26045 0:"after hipLaunchKernel" +43930495340321 26045:26045 1:"hipMemcpy" +43930498228736 26045:26045 2:"" +43930498230716 26045:26045 2:"" +43930513868153 26045:26045 0:"before hipLaunchKernel" +43930513869871 26045:26045 1:"hipLaunchKernel" +43930513900422 26045:26045 0:"after hipLaunchKernel" +43930513901489 26045:26045 1:"hipMemcpy" +43930516804990 26045:26045 2:"" +43930516807000 26045:26045 2:"" +43930532441156 26045:26045 0:"before hipLaunchKernel" +43930532442597 26045:26045 1:"hipLaunchKernel" +43930532473098 26045:26045 0:"after hipLaunchKernel" +43930532474123 26045:26045 1:"hipMemcpy" +43930535372955 26045:26045 2:"" +43930535375077 26045:26045 2:"" +43930550945455 26045:26045 0:"before hipLaunchKernel" +43930550946913 26045:26045 1:"hipLaunchKernel" +43930550977467 26045:26045 0:"after hipLaunchKernel" +43930550978505 26045:26045 1:"hipMemcpy" +43930553878320 26045:26045 2:"" +43930553880569 26045:26045 2:"" +43930569598287 26045:26045 0:"before hipLaunchKernel" +43930569599851 26045:26045 1:"hipLaunchKernel" +43930569632200 26045:26045 0:"after hipLaunchKernel" +43930569633255 26045:26045 1:"hipMemcpy" +43930572533419 26045:26045 2:"" +43930572535521 26045:26045 2:"" +43930588130200 26045:26045 0:"before hipLaunchKernel" +43930588131861 26045:26045 1:"hipLaunchKernel" +43930588167154 26045:26045 0:"after hipLaunchKernel" +43930588168196 26045:26045 1:"hipMemcpy" +43930591055062 26045:26045 2:"" +43930591057084 26045:26045 2:"" +43930606672766 26045:26045 0:"before hipLaunchKernel" +43930606674262 26045:26045 1:"hipLaunchKernel" +43930606710367 26045:26045 0:"after hipLaunchKernel" +43930606711380 26045:26045 1:"hipMemcpy" +43930609616339 26045:26045 2:"" +43930609618454 26045:26045 2:"" +43930625297702 26045:26045 0:"before hipLaunchKernel" +43930625299169 26045:26045 1:"hipLaunchKernel" +43930625329586 26045:26045 0:"after hipLaunchKernel" +43930625330516 26045:26045 1:"hipMemcpy" +43930628239004 26045:26045 2:"" +43930628241090 26045:26045 2:"" +43930643839430 26045:26045 0:"before hipLaunchKernel" +43930643841018 26045:26045 1:"hipLaunchKernel" +43930643873111 26045:26045 0:"after hipLaunchKernel" +43930643874031 26045:26045 1:"hipMemcpy" +43930645420483 26045:26045 2:"" +43930645422470 26045:26045 2:"" +43930661021277 26045:26045 0:"before hipLaunchKernel" +43930661022810 26045:26045 1:"hipLaunchKernel" +43930661052964 26045:26045 0:"after hipLaunchKernel" +43930661053971 26045:26045 1:"hipMemcpy" +43930662620991 26045:26045 2:"" +43930662623011 26045:26045 2:"" +43930678219539 26045:26045 0:"before hipLaunchKernel" +43930678221092 26045:26045 1:"hipLaunchKernel" +43930678251361 26045:26045 0:"after hipLaunchKernel" +43930678252335 26045:26045 1:"hipMemcpy" +43930679819229 26045:26045 2:"" +43930679821361 26045:26045 2:"" +43930695457540 26045:26045 0:"before hipLaunchKernel" +43930695459286 26045:26045 1:"hipLaunchKernel" +43930695493755 26045:26045 0:"after hipLaunchKernel" +43930695494754 26045:26045 1:"hipMemcpy" +43930697063945 26045:26045 2:"" +43930697066174 26045:26045 2:"" +43930712692624 26045:26045 0:"before hipLaunchKernel" +43930712694170 26045:26045 1:"hipLaunchKernel" +43930712725133 26045:26045 0:"after hipLaunchKernel" +43930712726090 26045:26045 1:"hipMemcpy" +43930714286531 26045:26045 2:"" +43930714288518 26045:26045 2:"" +43930729907089 26045:26045 0:"before hipLaunchKernel" +43930729908910 26045:26045 1:"hipLaunchKernel" +43930729938937 26045:26045 0:"after hipLaunchKernel" +43930729939904 26045:26045 1:"hipMemcpy" +43930731500834 26045:26045 2:"" +43930731502885 26045:26045 2:"" +43930747119659 26045:26045 0:"before hipLaunchKernel" +43930747121303 26045:26045 1:"hipLaunchKernel" +43930747151745 26045:26045 0:"after hipLaunchKernel" +43930747152711 26045:26045 1:"hipMemcpy" +43930748714057 26045:26045 2:"" +43930748715596 26045:26045 2:"" +43930764357498 26045:26045 0:"before hipLaunchKernel" +43930764358971 26045:26045 1:"hipLaunchKernel" +43930764386512 26045:26045 0:"after hipLaunchKernel" +43930764387399 26045:26045 1:"hipMemcpy" +43930765938730 26045:26045 2:"" +43930765940132 26045:26045 2:"" +43930781570534 26045:26045 0:"before hipLaunchKernel" +43930781572023 26045:26045 1:"hipLaunchKernel" +43930781598618 26045:26045 0:"after hipLaunchKernel" +43930781599552 26045:26045 1:"hipMemcpy" +43930783153175 26045:26045 2:"" +43930783154688 26045:26045 2:"" +43930798796107 26045:26045 0:"before hipLaunchKernel" +43930798797536 26045:26045 1:"hipLaunchKernel" +43930798827734 26045:26045 0:"after hipLaunchKernel" +43930798828764 26045:26045 1:"hipMemcpy" +43930800420626 26045:26045 2:"" +43930800422656 26045:26045 2:"" +43930816043656 26045:26045 0:"before hipLaunchKernel" +43930816045269 26045:26045 1:"hipLaunchKernel" +43930816085007 26045:26045 0:"after hipLaunchKernel" +43930816086017 26045:26045 1:"hipMemcpy" +43930817653676 26045:26045 2:"" +43930817655672 26045:26045 2:"" +43930833141637 26045:26045 0:"before hipLaunchKernel" +43930833143165 26045:26045 1:"hipLaunchKernel" +43930833172965 26045:26045 0:"after hipLaunchKernel" +43930833173875 26045:26045 1:"hipMemcpy" +43930834736065 26045:26045 2:"" +43930834738048 26045:26045 2:"" +43930850313641 26045:26045 0:"before hipLaunchKernel" +43930850315187 26045:26045 1:"hipLaunchKernel" +43930850345019 26045:26045 0:"after hipLaunchKernel" +43930850346010 26045:26045 1:"hipMemcpy" +43930851914107 26045:26045 2:"" +43930851916023 26045:26045 2:"" +43930867530577 26045:26045 0:"before hipLaunchKernel" +43930867532516 26045:26045 1:"hipLaunchKernel" +43930867562543 26045:26045 0:"after hipLaunchKernel" +43930867563504 26045:26045 1:"hipMemcpy" +43930869093564 26045:26045 2:"" +43930869095446 26045:26045 2:"" +43930884681274 26045:26045 0:"before hipLaunchKernel" +43930884682837 26045:26045 1:"hipLaunchKernel" +43930884714814 26045:26045 0:"after hipLaunchKernel" +43930884715845 26045:26045 1:"hipMemcpy" +43930886240209 26045:26045 2:"" +43930886242260 26045:26045 2:"" diff --git a/test/golden_traces/MatrixTranspose_sys_trace.txt b/test/golden_traces/MatrixTranspose_sys_trace.txt new file mode 100644 index 0000000000..784ca1aef8 --- /dev/null +++ b/test/golden_traces/MatrixTranspose_sys_trace.txt @@ -0,0 +1,6139 @@ +ROCTracer (pid=26036): + rocTX-trace() + HSA-trace() + HIP-trace() +43925811393411:43925811393872 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b03b4) = 0 +43925811393411:43925811395633 26036:26036 hsa_iterate_agents(1, 0x7fff229b0510) = 1 +43925811396833:43925811397158 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b03b4) = 0 +43925811396833:43925811397876 26036:26036 hsa_iterate_agents(1, 0x7fff229b0510) = 1 +43925811400917:43925811401498 26036:26036 hsa_region_get_info(, 0, 0x7fff229b04d4) = 0 +43925811402322:43925811402677 26036:26036 hsa_region_get_info(, 1, 0x7fff229b04d0) = 0 +43925811403770:43925811404097 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b0224) = 0 +43925811403770:43925811404810 26036:26036 hsa_iterate_agents(1, 0x7fff229b0380) = 1 +43925811406396:43925811407167 26036:26036 hsa_amd_agent_memory_pool_get_info(, , 0, 0x7fff229b04cc) = 0 +43925811407942:43925811408297 26036:26036 hsa_region_get_info(, 0, 0x7fff229b04d4) = 0 +43925811409113:43925811409444 26036:26036 hsa_region_get_info(, 0, 0x7fff229b04d4) = 0 +43925811410178:43925811410527 26036:26036 hsa_region_get_info(, 1, 0x7fff229b04d0) = 0 +43925811411304:43925811411626 26036:26036 hsa_region_get_info(, 0, 0x7fff229b0504) = 0 +43925811412350:43925811412680 26036:26036 hsa_region_get_info(, 1, 0x7fff229b0500) = 0 +43925811413788:43925811414113 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b0254) = 0 +43925811413788:43925811414821 26036:26036 hsa_iterate_agents(1, 0x7fff229b03b0) = 1 +43925811415561:43925811415928 26036:26036 hsa_amd_agent_memory_pool_get_info(, , 0, 0x7fff229b04fc) = 0 +43925811415561:43925811416660 26036:26036 hsa_agent_iterate_regions(, 1, 0x7fff229b07af) = 0 +43925811415561:43925811417411 26036:26036 hsa_iterate_agents(1, 0x7fff229b07af) = 0 +ROCTracer (pid=26036): + rocTX-trace() + HSA-trace() + HIP-trace() +Device name Ellesmere [Radeon RX 470/480/570/570X/580/580X] +## Iteration (99) ################# +PASSED! +## Iteration (98) ################# +PASSED! +## Iteration (97) ################# +PASSED! +## Iteration (96) ################# +PASSED! +## Iteration (95) ################# +PASSED! +## Iteration (94) ################# +PASSED! +## Iteration (93) ################# +PASSED! +## Iteration (92) ################# +PASSED! +## Iteration (91) ################# +PASSED! +## Iteration (90) ################# +PASSED! +## Iteration (89) ################# +PASSED! +## Iteration (88) ################# +PASSED! +## Iteration (87) ################# +PASSED! +## Iteration (86) ################# +PASSED! +## Iteration (85) ################# +PASSED! +## Iteration (84) ################# +PASSED! +## Iteration (83) ################# +PASSED! +## Iteration (82) ################# +PASSED! +## Iteration (81) ################# +PASSED! +## Iteration (80) ################# +PASSED! +## Iteration (79) ################# +PASSED! +## Iteration (78) ################# +PASSED! +## Iteration (77) ################# +PASSED! +## Iteration (76) ################# +PASSED! +## Iteration (75) ################# +PASSED! +## Iteration (74) ################# +PASSED! +## Iteration (73) ################# +PASSED! +## Iteration (72) ################# +PASSED! +## Iteration (71) ################# +PASSED! +## Iteration (70) ################# +PASSED! +## Iteration (69) ################# +PASSED! +## Iteration (68) ################# +PASSED! +## Iteration (67) ################# +PASSED! +## Iteration (66) ################# +PASSED! +## Iteration (65) ################# +PASSED! +## Iteration (64) ################# +PASSED! +## Iteration (63) ################# +PASSED! +## Iteration (62) ################# +PASSED! +## Iteration (61) ################# +PASSED! +## Iteration (60) ################# +PASSED! +## Iteration (59) ################# +PASSED! +## Iteration (58) ################# +PASSED! +## Iteration (57) ################# +PASSED! +## Iteration (56) ################# +PASSED! +## Iteration (55) ################# +PASSED! +## Iteration (54) ################# +PASSED! +## Iteration (53) ################# +PASSED! +## Iteration (52) ################# +PASSED! +## Iteration (51) ################# +PASSED! +## Iteration (50) ################# +PASSED! +## Iteration (49) ################# +PASSED! +## Iteration (48) ################# +PASSED! +## Iteration (47) ################# +PASSED! +## Iteration (46) ################# +PASSED! +## Iteration (45) ################# +PASSED! +## Iteration (44) ################# +PASSED! +## Iteration (43) ################# +PASSED! +## Iteration (42) ################# +PASSED! +## Iteration (41) ################# +PASSED! +## Iteration (40) ################# +PASSED! +## Iteration (39) ################# +PASSED! +## Iteration (38) ################# +PASSED! +## Iteration (37) ################# +PASSED! +## Iteration (36) ################# +PASSED! +## Iteration (35) ################# +PASSED! +## Iteration (34) ################# +PASSED! +## Iteration (33) ################# +PASSED! +## Iteration (32) ################# +PASSED! +## Iteration (31) ################# +PASSED! +## Iteration (30) ################# +PASSED! +## Iteration (29) ################# +PASSED! +## Iteration (28) ################# +PASSED! +## Iteration (27) ################# +PASSED! +## Iteration (26) ################# +PASSED! +## Iteration (25) ################# +PASSED! +## Iteration (24) ################# +PASSED! +## Iteration (23) ################# +PASSED! +## Iteration (22) ################# +PASSED! +## Iteration (21) ################# +PASSED! +## Iteration (20) ################# +PASSED! +## Iteration (19) ################# +PASSED! +## Iteration (18) ################# +PASSED! +## Iteration (17) ################# +PASSED! +## Iteration (16) ################# +PASSED! +## Iteration (15) ################# +PASSED! +## Iteration (14) ################# +PASSED! +## Iteration (13) ################# +PASSED! +## Iteration (12) ################# +PASSED! +## Iteration (11) ################# +PASSED! +## Iteration (10) ################# +PASSED! +## Iteration (9) ################# +PASSED! +## Iteration (8) ################# +PASSED! +## Iteration (7) ################# +PASSED! +## Iteration (6) ################# +PASSED! +## Iteration (5) ################# +PASSED! +## Iteration (4) ################# +PASSED! +## Iteration (3) ################# +PASSED! +## Iteration (2) ################# +PASSED! +## Iteration (1) ################# +PASSED! +## Iteration (0) ################# +PASSED! +43925830291858:43925830326901 26036:26036 hipGetDeviceProperties() +43925832519247:43925832571262 26036:26036 hipMalloc(ptr(0x902800000) size(0x400000)) +43925832573916:43925832596843 26036:26036 hipMalloc(ptr(0x903000000) size(0x400000)) +43925832607391:43925837942666 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) +43925837944545:43925837944546 26036:26036 MARK(name(before HIP LaunchKernel)) +43926122599667:43926124638349 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43926124652448:43926124652449 26036:26036 MARK(name(after HIP LaunchKernel)) +43926124662801:43926126128091 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) +43926140560237:43926141412987 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) +43926141414198:43926141414199 26036:26036 MARK(name(before HIP LaunchKernel)) +43926141428295:43926141474368 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43926141476054:43926141476055 26036:26036 MARK(name(after HIP LaunchKernel)) +43926141480612:43926142878317 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) +43926157274364:43926158120797 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) +43926158122250:43926158122251 26036:26036 MARK(name(before HIP LaunchKernel)) +43926158135466:43926158190370 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43926158192301:43926158192302 26036:26036 MARK(name(after HIP LaunchKernel)) +43926158196966:43926159592565 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) +43926173976841:43926174824308 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) +43926174825564:43926174825565 26036:26036 MARK(name(before HIP LaunchKernel)) +43926174841660:43926174898732 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43926174900848:43926174900849 26036:26036 MARK(name(after HIP LaunchKernel)) +43926174905491:43926176313892 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) +43926190693281:43926191539056 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) +43926191540290:43926191540291 26036:26036 MARK(name(before HIP LaunchKernel)) +43926191552980:43926191600146 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43926191611865:43926191611866 26036:26036 MARK(name(after HIP LaunchKernel)) +43926191629445:43926193016360 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) +43926207396082:43926208242780 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) +43926208243960:43926208243961 26036:26036 MARK(name(before HIP LaunchKernel)) +43926208255862:43926208311787 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43926208313617:43926208313618 26036:26036 MARK(name(after HIP LaunchKernel)) +43926208318394:43926209723739 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) +43926224101316:43926224958904 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) +43926224960190:43926224960191 26036:26036 MARK(name(before HIP LaunchKernel)) +43926224973005:43926225019482 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43926225031013:43926225031014 26036:26036 MARK(name(after HIP LaunchKernel)) +43926225035874:43926227824740 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) +43926242200733:43926243058428 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) +43926243059714:43926243059715 26036:26036 MARK(name(before HIP LaunchKernel)) +43926243072321:43926243134193 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43926243136569:43926243136570 26036:26036 MARK(name(after HIP LaunchKernel)) +43926243141248:43926245921568 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) +43926260304059:43926261159973 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) +43926261161141:43926261161142 26036:26036 MARK(name(before HIP LaunchKernel)) +43926261174080:43926261220185 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43926261221665:43926261221666 26036:26036 MARK(name(after HIP LaunchKernel)) +43926261236174:43926264031840 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) +43926278411087:43926279274273 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) +43926279275492:43926279275493 26036:26036 MARK(name(before HIP LaunchKernel)) +43926279287331:43926279350469 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43926279352290:43926279352291 26036:26036 MARK(name(after HIP LaunchKernel)) +43926279357061:43926282149834 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) +43926296538395:43926297421366 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) +43926297424106:43926297424107 26036:26036 MARK(name(before HIP LaunchKernel)) +43926297436167:43926297478618 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43926297490336:43926297490337 26036:26036 MARK(name(after HIP LaunchKernel)) +43926297494929:43926300281029 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) +43926314660474:43926315541758 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) +43926315542952:43926315542953 26036:26036 MARK(name(before HIP LaunchKernel)) +43926315555009:43926315612423 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43926315614228:43926315614229 26036:26036 MARK(name(after HIP LaunchKernel)) +43926315627978:43926318385980 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) +43926332791494:43926333657465 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) +43926333658691:43926333658692 26036:26036 MARK(name(before HIP LaunchKernel)) +43926333672673:43926333728033 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43926333730029:43926333730030 26036:26036 MARK(name(after HIP LaunchKernel)) +43926333734623:43926336515418 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) +43926350895070:43926351757048 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) +43926351758288:43926351758289 26036:26036 MARK(name(before HIP LaunchKernel)) +43926351770313:43926351831998 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43926351833943:43926351833944 26036:26036 MARK(name(after HIP LaunchKernel)) +43926351847557:43926354611920 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) +43926368998896:43926369881321 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) +43926369882471:43926369882472 26036:26036 MARK(name(before HIP LaunchKernel)) +43926369894793:43926369938064 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43926369939799:43926369939800 26036:26036 MARK(name(after HIP LaunchKernel)) +43926369954683:43926372738999 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) +43926387115743:43926387975738 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) +43926387976979:43926387976980 26036:26036 MARK(name(before HIP LaunchKernel)) +43926387988882:43926388050663 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43926388056022:43926388056023 26036:26036 MARK(name(after HIP LaunchKernel)) +43926388070878:43926390836291 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) +43926405217257:43926406081546 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) +43926406082786:43926406082787 26036:26036 MARK(name(before HIP LaunchKernel)) +43926406095391:43926406142618 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43926406154388:43926406154389 26036:26036 MARK(name(after HIP LaunchKernel)) +43926406159098:43926408937106 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) +43926423313114:43926424175543 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) +43926424176843:43926424176844 26036:26036 MARK(name(before HIP LaunchKernel)) +43926424193645:43926424246980 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43926424248933:43926424248934 26036:26036 MARK(name(after HIP LaunchKernel)) +43926424253559:43926427041734 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) +43926441433576:43926442295605 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) +43926442296812:43926442296813 26036:26036 MARK(name(before HIP LaunchKernel)) +43926442309481:43926442351483 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43926442353376:43926442353377 26036:26036 MARK(name(after HIP LaunchKernel)) +43926442368033:43926445143144 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) +43926459520191:43926460382219 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) +43926460383454:43926460383455 26036:26036 MARK(name(before HIP LaunchKernel)) +43926460395516:43926460443663 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43926460455402:43926460455403 26036:26036 MARK(name(after HIP LaunchKernel)) +43926460459904:43926463235758 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) +43926477621665:43926478483453 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) +43926478484673:43926478484674 26036:26036 MARK(name(before HIP LaunchKernel)) +43926478497266:43926478553440 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43926478555355:43926478555356 26036:26036 MARK(name(after HIP LaunchKernel)) +43926478559877:43926481338575 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) +43926495714063:43926496565395 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) +43926496566681:43926496566682 26036:26036 MARK(name(before HIP LaunchKernel)) +43926496579268:43926496626120 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43926496627656:43926496627657 26036:26036 MARK(name(after HIP LaunchKernel)) +43926496642290:43926498033640 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) +43926512423116:43926513273702 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) +43926513274941:43926513274942 26036:26036 MARK(name(before HIP LaunchKernel)) +43926513287564:43926513344476 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43926513346369:43926513346370 26036:26036 MARK(name(after HIP LaunchKernel)) +43926513350964:43926514744562 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) +43926529133006:43926529980629 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) +43926529981900:43926529981901 26036:26036 MARK(name(before HIP LaunchKernel)) +43926529993951:43926530036843 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43926530038368:43926530038369 26036:26036 MARK(name(after HIP LaunchKernel)) +43926530053107:43926531439867 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) +43926545824337:43926546672038 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) +43926546673234:43926546673235 26036:26036 MARK(name(before HIP LaunchKernel)) +43926546689738:43926546746560 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43926546748370:43926546748371 26036:26036 MARK(name(after HIP LaunchKernel)) +43926546752993:43926548160466 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) +43926562541742:43926563387637 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) +43926563388849:43926563388850 26036:26036 MARK(name(before HIP LaunchKernel)) +43926563400574:43926563447268 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43926563448796:43926563448797 26036:26036 MARK(name(after HIP LaunchKernel)) +43926563463275:43926564868593 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) +43926579245240:43926580088102 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) +43926580089345:43926580089346 26036:26036 MARK(name(before HIP LaunchKernel)) +43926580106104:43926580159868 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43926580161750:43926580161751 26036:26036 MARK(name(after HIP LaunchKernel)) +43926580166621:43926581566167 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) +43926595943160:43926596822372 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) +43926596823563:43926596823564 26036:26036 MARK(name(before HIP LaunchKernel)) +43926596835300:43926596882389 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43926596894649:43926596894650 26036:26036 MARK(name(after HIP LaunchKernel)) +43926596899381:43926598297439 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) +43926612679678:43926613524206 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) +43926613525375:43926613525376 26036:26036 MARK(name(before HIP LaunchKernel)) +43926613537588:43926613594154 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43926613596008:43926613596009 26036:26036 MARK(name(after HIP LaunchKernel)) +43926613600714:43926615000374 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) +43926629390862:43926630237041 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) +43926630238215:43926630238216 26036:26036 MARK(name(before HIP LaunchKernel)) +43926630250386:43926630293697 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43926630295261:43926630295262 26036:26036 MARK(name(after HIP LaunchKernel)) +43926630310339:43926631704847 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) +43926646087745:43926646935031 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) +43926646936309:43926646936310 26036:26036 MARK(name(before HIP LaunchKernel)) +43926646948709:43926646999937 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43926647001718:43926647001719 26036:26036 MARK(name(after HIP LaunchKernel)) +43926647006291:43926648448720 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) +43926663055595:43926663910438 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) +43926663911731:43926663911732 26036:26036 MARK(name(before HIP LaunchKernel)) +43926663926939:43926663980961 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43926663982848:43926663982849 26036:26036 MARK(name(after HIP LaunchKernel)) +43926663990412:43926665394789 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) +43926679774679:43926680623151 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) +43926680624373:43926680624374 26036:26036 MARK(name(before HIP LaunchKernel)) +43926680637690:43926680700889 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43926680702525:43926680702526 26036:26036 MARK(name(after HIP LaunchKernel)) +43926680716180:43926682100053 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) +43926696493405:43926697361327 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) +43926697362528:43926697362529 26036:26036 MARK(name(before HIP LaunchKernel)) +43926697374795:43926697418949 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43926697420530:43926697420531 26036:26036 MARK(name(after HIP LaunchKernel)) +43926697435142:43926698827879 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) +43926713211332:43926714080692 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) +43926714081915:43926714081916 26036:26036 MARK(name(before HIP LaunchKernel)) +43926714097323:43926714146311 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43926714148192:43926714148193 26036:26036 MARK(name(after HIP LaunchKernel)) +43926714152944:43926715552059 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) +43926729935201:43926730784647 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) +43926730785837:43926730785838 26036:26036 MARK(name(before HIP LaunchKernel)) +43926730798074:43926730854633 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43926730856465:43926730856466 26036:26036 MARK(name(after HIP LaunchKernel)) +43926730861039:43926732266151 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) +43926746645178:43926747490987 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) +43926747492218:43926747492219 26036:26036 MARK(name(before HIP LaunchKernel)) +43926747504355:43926747559488 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43926747561440:43926747561441 26036:26036 MARK(name(after HIP LaunchKernel)) +43926747579516:43926748969467 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) +43926763348277:43926764198298 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) +43926764201080:43926764201081 26036:26036 MARK(name(before HIP LaunchKernel)) +43926764213810:43926764267069 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43926764268950:43926764268951 26036:26036 MARK(name(after HIP LaunchKernel)) +43926764273444:43926765671758 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) +43926780055807:43926780898874 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) +43926780900042:43926780900043 26036:26036 MARK(name(before HIP LaunchKernel)) +43926780912036:43926780955637 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43926780957351:43926780957352 26036:26036 MARK(name(after HIP LaunchKernel)) +43926780971997:43926782371210 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) +43926796760442:43926797611110 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) +43926797612301:43926797612302 26036:26036 MARK(name(before HIP LaunchKernel)) +43926797625105:43926797667860 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43926797669377:43926797669378 26036:26036 MARK(name(after HIP LaunchKernel)) +43926797684155:43926799079016 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) +43926813471164:43926814319238 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) +43926814320442:43926814320443 26036:26036 MARK(name(before HIP LaunchKernel)) +43926814332594:43926814389004 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43926814390950:43926814390951 26036:26036 MARK(name(after HIP LaunchKernel)) +43926814395848:43926815796456 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) +43926830182860:43926831027528 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) +43926831028771:43926831028772 26036:26036 MARK(name(before HIP LaunchKernel)) +43926831041934:43926831098217 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43926831100126:43926831100127 26036:26036 MARK(name(after HIP LaunchKernel)) +43926831104601:43926832504490 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) +43926846900927:43926847758759 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) +43926847759886:43926847759887 26036:26036 MARK(name(before HIP LaunchKernel)) +43926847771628:43926847819139 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43926847835514:43926847835515 26036:26036 MARK(name(after HIP LaunchKernel)) +43926847840166:43926850614546 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) +43926865002651:43926865868409 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) +43926865869718:43926865869719 26036:26036 MARK(name(before HIP LaunchKernel)) +43926865883046:43926865935739 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43926865937627:43926865937628 26036:26036 MARK(name(after HIP LaunchKernel)) +43926865942163:43926868722506 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) +43926883102004:43926883965569 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) +43926883966731:43926883966732 26036:26036 MARK(name(before HIP LaunchKernel)) +43926883978766:43926884041129 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43926884043077:43926884043078 26036:26036 MARK(name(after HIP LaunchKernel)) +43926884047815:43926886827702 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) +43926901215734:43926902076943 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) +43926902078162:43926902078163 26036:26036 MARK(name(before HIP LaunchKernel)) +43926902094678:43926902147078 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43926902148943:43926902148944 26036:26036 MARK(name(after HIP LaunchKernel)) +43926902153777:43926904937338 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) +43926919314982:43926920173358 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) +43926920174699:43926920174700 26036:26036 MARK(name(before HIP LaunchKernel)) +43926920186482:43926920229921 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43926920231448:43926920231449 26036:26036 MARK(name(after HIP LaunchKernel)) +43926920246279:43926923029522 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) +43926937425440:43926938305373 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) +43926938306618:43926938306619 26036:26036 MARK(name(before HIP LaunchKernel)) +43926938318593:43926938375845 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43926938377606:43926938377607 26036:26036 MARK(name(after HIP LaunchKernel)) +43926938382358:43926941168837 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) +43926955548346:43926956411880 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) +43926956413052:43926956413053 26036:26036 MARK(name(before HIP LaunchKernel)) +43926956425430:43926956472206 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43926956473925:43926956473926 26036:26036 MARK(name(after HIP LaunchKernel)) +43926956488617:43926959272799 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) +43926973659199:43926974540510 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) +43926974541837:43926974541838 26036:26036 MARK(name(before HIP LaunchKernel)) +43926974554023:43926974601608 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43926974613508:43926974613509 26036:26036 MARK(name(after HIP LaunchKernel)) +43926974617988:43926977399394 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) +43926991777579:43926992660536 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) +43926992661831:43926992661832 26036:26036 MARK(name(before HIP LaunchKernel)) +43926992674550:43926992717394 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43926992719151:43926992719152 26036:26036 MARK(name(after HIP LaunchKernel)) +43926992733639:43926995529618 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) +43927009907399:43927010766525 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) +43927010767814:43927010767815 26036:26036 MARK(name(before HIP LaunchKernel)) +43927010784266:43927010838401 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43927010840335:43927010840336 26036:26036 MARK(name(after HIP LaunchKernel)) +43927010844940:43927013630373 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) +43927028014785:43927028872184 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) +43927028873374:43927028873375 26036:26036 MARK(name(before HIP LaunchKernel)) +43927028886168:43927028928568 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43927028930119:43927028930120 26036:26036 MARK(name(after HIP LaunchKernel)) +43927028944889:43927031736014 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) +43927046119830:43927046998627 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) +43927046999940:43927046999941 26036:26036 MARK(name(before HIP LaunchKernel)) +43927047016421:43927047070221 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43927047072042:43927047072043 26036:26036 MARK(name(after HIP LaunchKernel)) +43927047085472:43927049860008 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) +43927064245364:43927065108724 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) +43927065110082:43927065110083 26036:26036 MARK(name(before HIP LaunchKernel)) +43927065122103:43927065164606 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43927065166114:43927065166115 26036:26036 MARK(name(after HIP LaunchKernel)) +43927065180644:43927067962938 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) +43927082347039:43927083209538 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) +43927083210726:43927083210727 26036:26036 MARK(name(before HIP LaunchKernel)) +43927083222728:43927083279396 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43927083281314:43927083281315 26036:26036 MARK(name(after HIP LaunchKernel)) +43927083286064:43927086056626 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) +43927100437312:43927101282469 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) +43927101283620:43927101283621 26036:26036 MARK(name(before HIP LaunchKernel)) +43927101296386:43927101338015 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43927101339539:43927101339540 26036:26036 MARK(name(after HIP LaunchKernel)) +43927101353985:43927102745388 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) +43927117135006:43927117981844 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) +43927117983014:43927117983015 26036:26036 MARK(name(before HIP LaunchKernel)) +43927117994607:43927118037901 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43927118039472:43927118039473 26036:26036 MARK(name(after HIP LaunchKernel)) +43927118058142:43927119443038 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) +43927133827385:43927134671954 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) +43927134673179:43927134673180 26036:26036 MARK(name(before HIP LaunchKernel)) +43927134685198:43927134727615 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43927134729164:43927134729165 26036:26036 MARK(name(after HIP LaunchKernel)) +43927134745242:43927136143016 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) +43927150519330:43927151364667 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) +43927151365955:43927151365956 26036:26036 MARK(name(before HIP LaunchKernel)) +43927151378743:43927151434654 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43927151436582:43927151436583 26036:26036 MARK(name(after HIP LaunchKernel)) +43927151441223:43927152846934 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) +43927167225401:43927168076782 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) +43927168078140:43927168078141 26036:26036 MARK(name(before HIP LaunchKernel)) +43927168090432:43927168147435 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43927168149232:43927168149233 26036:26036 MARK(name(after HIP LaunchKernel)) +43927168154120:43927169548661 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) +43927183927169:43927184777601 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) +43927184778963:43927184778964 26036:26036 MARK(name(before HIP LaunchKernel)) +43927184791025:43927184847441 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43927184849661:43927184849662 26036:26036 MARK(name(after HIP LaunchKernel)) +43927184854622:43927186249511 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) +43927200632043:43927201473364 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) +43927201474527:43927201474528 26036:26036 MARK(name(before HIP LaunchKernel)) +43927201486386:43927201544155 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43927201545973:43927201545974 26036:26036 MARK(name(after HIP LaunchKernel)) +43927201550639:43927202953592 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) +43927217334059:43927218181690 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) +43927218182942:43927218182943 26036:26036 MARK(name(before HIP LaunchKernel)) +43927218194738:43927218251440 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43927218253315:43927218253316 26036:26036 MARK(name(after HIP LaunchKernel)) +43927218258088:43927219645270 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) +43927234027885:43927234877916 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) +43927234879970:43927234879971 26036:26036 MARK(name(before HIP LaunchKernel)) +43927234907091:43927234939497 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43927234941047:43927234941048 26036:26036 MARK(name(after HIP LaunchKernel)) +43927234945356:43927236349176 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) +43927250728700:43927251571647 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) +43927251572908:43927251572909 26036:26036 MARK(name(before HIP LaunchKernel)) +43927251584594:43927251641544 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43927251643508:43927251643509 26036:26036 MARK(name(after HIP LaunchKernel)) +43927251648224:43927253043153 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) +43927267418718:43927268265260 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) +43927268266469:43927268266470 26036:26036 MARK(name(before HIP LaunchKernel)) +43927268295843:43927268328556 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43927268330536:43927268330537 26036:26036 MARK(name(after HIP LaunchKernel)) +43927268334924:43927269738450 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) +43927284357344:43927285205745 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) +43927285207087:43927285207088 26036:26036 MARK(name(before HIP LaunchKernel)) +43927285222080:43927285271558 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43927285273896:43927285273897 26036:26036 MARK(name(after HIP LaunchKernel)) +43927285278508:43927286685878 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) +43927301206744:43927302057748 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) +43927302058937:43927302058938 26036:26036 MARK(name(before HIP LaunchKernel)) +43927302078387:43927302123262 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43927302124935:43927302124936 26036:26036 MARK(name(after HIP LaunchKernel)) +43927302129494:43927303535506 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) +43927318080313:43927318928853 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) +43927318930326:43927318930327 26036:26036 MARK(name(before HIP LaunchKernel)) +43927318945494:43927318995301 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43927319001334:43927319001335 26036:26036 MARK(name(after HIP LaunchKernel)) +43927319006464:43927320412032 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) +43927334962934:43927335807302 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) +43927335808416:43927335808417 26036:26036 MARK(name(before HIP LaunchKernel)) +43927335822046:43927335885614 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43927335887536:43927335887537 26036:26036 MARK(name(after HIP LaunchKernel)) +43927335892238:43927337291279 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) +43927351671072:43927352523166 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) +43927352524432:43927352524433 26036:26036 MARK(name(before HIP LaunchKernel)) +43927352537095:43927352596415 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43927352598421:43927352598422 26036:26036 MARK(name(after HIP LaunchKernel)) +43927352603057:43927354003565 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) +43927368414908:43927369255760 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) +43927369256893:43927369256894 26036:26036 MARK(name(before HIP LaunchKernel)) +43927369269019:43927369329169 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43927369331003:43927369331004 26036:26036 MARK(name(after HIP LaunchKernel)) +43927369335927:43927370739168 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) +43927385135193:43927385999734 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) +43927386000948:43927386000949 26036:26036 MARK(name(before HIP LaunchKernel)) +43927386013206:43927386070933 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43927386073018:43927386073019 26036:26036 MARK(name(after HIP LaunchKernel)) +43927386077754:43927387475878 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) +43927401861573:43927402709153 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) +43927402710364:43927402710365 26036:26036 MARK(name(before HIP LaunchKernel)) +43927402722989:43927402783987 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43927402785720:43927402785721 26036:26036 MARK(name(after HIP LaunchKernel)) +43927402799813:43927404185085 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) +43927418562796:43927419411814 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) +43927419413145:43927419413146 26036:26036 MARK(name(before HIP LaunchKernel)) +43927419425552:43927419468076 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43927419469816:43927419469817 26036:26036 MARK(name(after HIP LaunchKernel)) +43927419484467:43927420831010 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) +43927435210977:43927436054427 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) +43927436055699:43927436055700 26036:26036 MARK(name(before HIP LaunchKernel)) +43927436068084:43927436126280 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43927436127935:43927436127936 26036:26036 MARK(name(after HIP LaunchKernel)) +43927436141483:43927437527385 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) +43927451904021:43927452759504 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) +43927452760765:43927452760766 26036:26036 MARK(name(before HIP LaunchKernel)) +43927452772676:43927452815354 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43927452817109:43927452817110 26036:26036 MARK(name(after HIP LaunchKernel)) +43927452832346:43927454217527 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) +43927468606039:43927469485647 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) +43927469486946:43927469486947 26036:26036 MARK(name(before HIP LaunchKernel)) +43927469499156:43927469556925 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43927469558799:43927469558800 26036:26036 MARK(name(after HIP LaunchKernel)) +43927469576540:43927472356678 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) +43927486730015:43927487591316 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) +43927487592712:43927487592713 26036:26036 MARK(name(before HIP LaunchKernel)) +43927487605035:43927487651711 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43927487653487:43927487653488 26036:26036 MARK(name(after HIP LaunchKernel)) +43927487668321:43927490445227 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) +43927504835167:43927505693771 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) +43927505694902:43927505694903 26036:26036 MARK(name(before HIP LaunchKernel)) +43927505710793:43927505768577 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43927505770415:43927505770416 26036:26036 MARK(name(after HIP LaunchKernel)) +43927505775025:43927508562617 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) +43927522943086:43927523807232 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) +43927523808390:43927523808391 26036:26036 MARK(name(before HIP LaunchKernel)) +43927523820671:43927523864025 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43927523865609:43927523865610 26036:26036 MARK(name(after HIP LaunchKernel)) +43927523880073:43927526656063 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) +43927541044737:43927541902426 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) +43927541903644:43927541903645 26036:26036 MARK(name(before HIP LaunchKernel)) +43927541915068:43927541963190 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43927541964916:43927541964917 26036:26036 MARK(name(after HIP LaunchKernel)) +43927541979704:43927544753179 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) +43927559128993:43927559991723 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) +43927559993052:43927559993053 26036:26036 MARK(name(before HIP LaunchKernel)) +43927560010181:43927560068164 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43927560069843:43927560069844 26036:26036 MARK(name(after HIP LaunchKernel)) +43927560074486:43927562856810 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) +43927577240175:43927578099570 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) +43927578100828:43927578100829 26036:26036 MARK(name(before HIP LaunchKernel)) +43927578112669:43927578160246 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43927578161886:43927578161887 26036:26036 MARK(name(after HIP LaunchKernel)) +43927578176453:43927580946777 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) +43927595322188:43927596187989 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) +43927596189151:43927596189152 26036:26036 MARK(name(before HIP LaunchKernel)) +43927596202369:43927596255121 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43927596257033:43927596257034 26036:26036 MARK(name(after HIP LaunchKernel)) +43927596262533:43927599041030 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) +43927613430488:43927614290596 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) +43927614291817:43927614291818 26036:26036 MARK(name(before HIP LaunchKernel)) +43927614303289:43927614346783 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43927614348384:43927614348385 26036:26036 MARK(name(after HIP LaunchKernel)) +43927614362978:43927617142560 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) +43927631520235:43927632383794 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) +43927632385106:43927632385107 26036:26036 MARK(name(before HIP LaunchKernel)) +43927632400212:43927632453209 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43927632455038:43927632455039 26036:26036 MARK(name(after HIP LaunchKernel)) +43927632459828:43927635240098 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) +43927649630393:43927650489274 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) +43927650490550:43927650490551 26036:26036 MARK(name(before HIP LaunchKernel)) +43927650501929:43927650549583 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43927650551126:43927650551127 26036:26036 MARK(name(after HIP LaunchKernel)) +43927650565619:43927653342484 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) +43927667721323:43927668587741 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) +43927668588959:43927668588960 26036:26036 MARK(name(before HIP LaunchKernel)) +43927668600815:43927668663069 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43927668665053:43927668665054 26036:26036 MARK(name(after HIP LaunchKernel)) +43927668670105:43927671453022 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) +43927685838820:43927686701057 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) +43927686702234:43927686702235 26036:26036 MARK(name(before HIP LaunchKernel)) +43927686713823:43927686757879 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43927686759588:43927686759589 26036:26036 MARK(name(after HIP LaunchKernel)) +43927686774441:43927689556138 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) +43927703934120:43927704804352 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) +43927704810139:43927704810140 26036:26036 MARK(name(before HIP LaunchKernel)) +43927704822333:43927704867948 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43927704869987:43927704869988 26036:26036 MARK(name(after HIP LaunchKernel)) +43927704874494:43927707707729 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) +43927722297339:43927723146133 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) +43927723147476:43927723147477 26036:26036 MARK(name(before HIP LaunchKernel)) +43927723163247:43927723214123 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43927723216175:43927723216176 26036:26036 MARK(name(after HIP LaunchKernel)) +43927723220937:43927724629931 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) +43927739011523:43927739859423 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) +43927739860685:43927739860686 26036:26036 MARK(name(before HIP LaunchKernel)) +43927739874330:43927739923637 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43927739925419:43927739925420 26036:26036 MARK(name(after HIP LaunchKernel)) +43927739930026:43927741337783 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) +43927755926069:43927756799938 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) +43927756801378:43927756801379 26036:26036 MARK(name(before HIP LaunchKernel)) +43927756816208:43927756865779 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43927756867802:43927756867803 26036:26036 MARK(name(after HIP LaunchKernel)) +43927756872511:43927758278389 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) +43927772698836:43927773540822 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) +43927773542112:43927773542113 26036:26036 MARK(name(before HIP LaunchKernel)) +43927773555938:43927773615351 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43927773617028:43927773617029 26036:26036 MARK(name(after HIP LaunchKernel)) +43927773630611:43927775023509 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) +43927789419278:43927790270237 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) +43927790271383:43927790271384 26036:26036 MARK(name(before HIP LaunchKernel)) +43927790285789:43927790339397 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43927790341306:43927790341307 26036:26036 MARK(name(after HIP LaunchKernel)) +43927790345995:43927791746659 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) +43927806135057:43927806980352 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) +43927806981544:43927806981545 26036:26036 MARK(name(before HIP LaunchKernel)) +43927806993683:43927807055412 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43927807057236:43927807057237 26036:26036 MARK(name(after HIP LaunchKernel)) +43927807070795:43927808461177 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) +43927822842919:43927823692101 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) +43927823693524:43927823693525 26036:26036 MARK(name(before HIP LaunchKernel)) +43927823705858:43927823762705 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43927823764605:43927823764606 26036:26036 MARK(name(after HIP LaunchKernel)) +43927823769245:43927825169022 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) +43927839565623:43927840416010 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) +43927840417186:43927840417187 26036:26036 MARK(name(before HIP LaunchKernel)) +43927840429458:43927840472555 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) +43927840474268:43927840474269 26036:26036 MARK(name(after HIP LaunchKernel)) +43927840492835:43927841877272 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) +43927856258320:43927856338177 26036:26036 hipFree(ptr(0x902800000)) +43927856344212:43927856363353 26036:26036 hipFree(ptr(0x903000000)) +43925827907260:43925827907776 26036:26036 hsa_agent_get_info(, 17, 0x7fff229af804) = 0 +43925827909268:43925827909715 26036:26036 hsa_agent_get_info(, 17, 0x7fff229af804) = 0 +43925827909268:43925827910576 26036:26036 hsa_iterate_agents(1, 0x1098a28) = 0 +43925827911767:43925827912109 26036:26036 hsa_agent_get_info(, 17, 0x7fff229afa0c) = 0 +43925827911767:43925827912843 26036:26036 hsa_iterate_agents(1, 0x1098a20) = 1 +43925827915951:43925827916343 26036:26036 hsa_agent_get_info(, 4, 0x7fff229af720) = 0 +43925827917319:43925827920422 26036:26036 hsa_agent_get_info(, 0, 0x7fff229af6e0) = 0 +43925827921199:43925827921566 26036:26036 hsa_agent_get_info(, 16, 0x1091a98) = 0 +43925827934105:43925827934535 26036:26036 hsa_agent_get_info(, 21, 0x1091a30) = 0 +43925827935322:43925827935660 26036:26036 hsa_agent_get_info(, 22, 0x1091a32) = 0 +43925827936471:43925827936824 26036:26036 hsa_agent_get_info(, 14, 0x10918d0) = 0 +43925827938465:43925827938992 26036:26036 hsa_amd_profiling_async_copy_enable() = 0 +43925827941816:43925827942418 26036:26036 hsa_amd_memory_pool_get_info(, 0, 0x7fff229af3ac) = 0 +43925827943259:43925827943604 26036:26036 hsa_amd_memory_pool_get_info(, 0, 0x7fff229af3ac) = 0 +43925827944348:43925827944686 26036:26036 hsa_amd_memory_pool_get_info(, 2, 0x7fff229af3b0) = 0 +43925827944348:43925827945418 26036:26036 hsa_amd_agent_iterate_memory_pools(, 1, 0x10918c8) = 1 +43925827946556:43925827946898 26036:26036 hsa_amd_memory_pool_get_info(, 0, 0x7fff229af204) = 0 +43925827947640:43925827947987 26036:26036 hsa_amd_memory_pool_get_info(, 1, 0x7fff229af1f4) = 0 +43925827948732:43925827949072 26036:26036 hsa_amd_memory_pool_get_info(, 2, 0x7fff229af1f8) = 0 +43925827949993:43925827950338 26036:26036 hsa_amd_memory_pool_get_info(, 0, 0x7fff229af204) = 0 +43925827949993:43925827951093 26036:26036 hsa_amd_agent_iterate_memory_pools(, 1, 0x1091988) = 0 +43925827952253:43925827952582 26036:26036 hsa_amd_memory_pool_get_info(, 0, 0x7fff229af3bc) = 0 +43925827953322:43925827953670 26036:26036 hsa_amd_memory_pool_get_info(, 1, 0x7fff229af22c) = 0 +43925827954406:43925827954745 26036:26036 hsa_amd_memory_pool_get_info(, 2, 0x7fff229af220) = 0 +43925827955763:43925827956104 26036:26036 hsa_amd_memory_pool_get_info(, 0, 0x7fff229af3bc) = 0 +43925827956842:43925827957185 26036:26036 hsa_amd_memory_pool_get_info(, 1, 0x7fff229af22c) = 0 +43925827957917:43925827958253 26036:26036 hsa_amd_memory_pool_get_info(, 2, 0x7fff229af220) = 0 +43925827957917:43925827959000 26036:26036 hsa_amd_agent_iterate_memory_pools(, 1, 0x1091988) = 0 +43925827960909:43925828052119 26036:26036 hsa_amd_memory_pool_allocate(, , , 0x7fff229af4b8) = 0 +43925828055031:43925828068247 26036:26036 hsa_amd_agents_allow_access(, 0x10918c0, 0, 0x2f00000) = 0 +43925828074900:43925828075371 26036:26036 hsa_agent_get_info(, 8, 0x10919e4) = 0 +43925828076125:43925828076495 26036:26036 hsa_agent_get_info(, 7, 0x10919e8) = 0 +43925828077253:43925828077605 26036:26036 hsa_agent_get_info(, 4, 0x7fff229af920) = 0 +43925828079890:43925828080303 26036:26036 hsa_amd_memory_pool_get_info(, 0, 0x7fff229af26c) = 0 +43925828081451:43925828081800 26036:26036 hsa_amd_memory_pool_get_info(, 1, 0x7fff229af268) = 0 +43925828082615:43925828082954 26036:26036 hsa_amd_memory_pool_get_info(, 0, 0x7fff229af26c) = 0 +43925828083745:43925828084089 26036:26036 hsa_amd_memory_pool_get_info(, 1, 0x7fff229af268) = 0 +43925828083745:43925828084871 26036:26036 hsa_amd_agent_iterate_memory_pools(, 1, 0x7fff229af4b0) = 0 +43925828086103:43925828086463 26036:26036 hsa_agent_get_info(, 17, 0x7fff229af294) = 0 +43925828087232:43925828087590 26036:26036 hsa_agent_get_info(, 17, 0x7fff229af294) = 0 +43925828087232:43925828088413 26036:26036 hsa_iterate_agents(1, 0x7fff229af410) = 0 +43925828089425:43925828564879 26036:26036 hsa_amd_memory_pool_allocate(, , , 0x1091e40) = 0 +43925828566109:43925828587729 26036:26036 hsa_amd_agents_allow_access(, 0x1091f20, 0, 0x3200000) = 0 +43925828589808:43925828592128 26036:26036 hsa_signal_create(0, , 0, 0x1091e60) = 0 +43925828592902:43925828593821 26036:26036 hsa_signal_create(0, , 0, 0x1091e80) = 0 +43925828594651:43925829058680 26036:26036 hsa_amd_memory_pool_allocate(, , , 0x1091e48) = 0 +43925829059856:43925829079662 26036:26036 hsa_amd_agents_allow_access(, 0x1091f20, 0, 0x3a00000) = 0 +43925829080624:43925829081763 26036:26036 hsa_signal_create(0, , 0, 0x1091e68) = 0 +43925829082552:43925829083404 26036:26036 hsa_signal_create(0, , 0, 0x1091e88) = 0 +43925829085142:43925829085627 26036:26036 hsa_amd_memory_pool_get_info(, 0, 0x7fff229af26c) = 0 +43925829086609:43925829086946 26036:26036 hsa_amd_memory_pool_get_info(, 1, 0x7fff229af268) = 0 +43925829087782:43925829088163 26036:26036 hsa_amd_memory_pool_get_info(, 0, 0x7fff229af26c) = 0 +43925829088967:43925829089294 26036:26036 hsa_amd_memory_pool_get_info(, 1, 0x7fff229af268) = 0 +43925829088967:43925829090068 26036:26036 hsa_amd_agent_iterate_memory_pools(, 1, 0x7fff229af4b0) = 0 +43925829091417:43925829091830 26036:26036 hsa_agent_get_info(, 17, 0x7fff229af294) = 0 +43925829092582:43925829093026 26036:26036 hsa_agent_get_info(, 17, 0x7fff229af294) = 0 +43925829092582:43925829093838 26036:26036 hsa_iterate_agents(1, 0x7fff229af410) = 0 +43925829096308:43925829563188 26036:26036 hsa_amd_memory_pool_allocate(, , , 0x10924f0) = 0 +43925829564492:43925829584042 26036:26036 hsa_amd_agents_allow_access(, 0x1091f20, 0, 0x4200000) = 0 +43925829584951:43925829586054 26036:26036 hsa_signal_create(0, , 0, 0x1092510) = 0 +43925829586806:43925829587740 26036:26036 hsa_signal_create(0, , 0, 0x1092530) = 0 +43925829588552:43925830052914 26036:26036 hsa_amd_memory_pool_allocate(, , , 0x10924f8) = 0 +43925830054109:43925830073789 26036:26036 hsa_amd_agents_allow_access(, 0x1091f20, 0, 0x4a00000) = 0 +43925830074677:43925830076108 26036:26036 hsa_signal_create(0, , 0, 0x1092518) = 0 +43925830076868:43925830077742 26036:26036 hsa_signal_create(0, , 0, 0x1092538) = 0 +43925830083888:43925830103443 26036:26036 hsa_amd_memory_lock(0x7f210cdf7380, , 0x1078270, 1, 0x7f210cdf7388) = 0 +43925830113078:43925830113479 26036:26036 hsa_agent_get_info(, 17, 0x7fff229afd44) = 0 +43925830113078:43925830114245 26036:26036 hsa_iterate_agents(1, 0x7f210c1ae1d8) = 1 +43925830116556:43925830117479 26036:26036 hsa_agent_get_info(, 40962, 0x1092ca8) = 0 +43925830119017:43925830119358 26036:26036 hsa_agent_get_info(, 17, 0x7fff229afb5c) = 0 +43925830120141:43925830120492 26036:26036 hsa_agent_get_info(, 17, 0x7fff229afb5c) = 0 +43925830120141:43925830121231 26036:26036 hsa_iterate_agents(1, 0x7fff229afcbc) = 0 +43925830121982:43925830122521 26036:26036 hsa_agent_get_info(, 40969, 0x1092cb0) = 0 +43925830123277:43925830131878 26036:26036 hsa_agent_get_info(, 0, 0x7fff229afd30) = 0 +43925830134227:43925830134616 26036:26036 hsa_agent_get_info(, 16, 0x7fff229afcec) = 0 +43925830135371:43925830135724 26036:26036 hsa_agent_get_info(, 6, 0x1092dc4) = 0 +43925830136477:43925830136838 26036:26036 hsa_agent_get_info(, 8, 0x1092dc8) = 0 +43925830137663:43925830138067 26036:26036 hsa_agent_get_info(, 7, 0x7fff229afcae) = 0 +43925830138822:43925830139191 26036:26036 hsa_agent_get_info(, 9, 0x7fff229afcd0) = 0 +43925830139944:43925830140310 26036:26036 hsa_agent_get_info(, 40963, 0x1092de4) = 0 +43925830141823:43925830142233 26036:26036 hsa_system_get_info(3, 0x7fff229afce0) = 0 +43925830142981:43925830143346 26036:26036 hsa_agent_get_info(, 40966, 0x7fff229afcac) = 0 +43925830144097:43925830144510 26036:26036 hsa_agent_get_info(, 40975, 0x1092e1c) = 0 +43925830145273:43925830145634 26036:26036 hsa_agent_get_info(, 40962, 0x1092e00) = 0 +43925830146387:43925830146753 26036:26036 hsa_agent_get_info(, 18, 0x7fff229afd20) = 0 +43925830147671:43925830148043 26036:26036 hsa_agent_get_info(, 40970, 0x7fff229afcb8) = 0 +43925830153569:43925830154028 26036:26036 hsa_amd_memory_pool_get_info(, 0, 0x7fff229afb1c) = 0 +43925830156470:43925830156847 26036:26036 hsa_amd_memory_pool_get_info(, 0, 0x7fff229afb1c) = 0 +43925830157844:43925830158190 26036:26036 hsa_amd_memory_pool_get_info(, 2, 0x1092db8) = 0 +43925830157844:43925830158933 26036:26036 hsa_amd_agent_iterate_memory_pools(, 1, 0x1092cb0) = 0 +43925830173429:43925830174730 26036:26036 hsa_signal_create(1, , 0x7fff229af9e8, 0x1093068) = 0 +43925830180458:43925830181007 26036:26036 hsa_region_get_info(, 2, 0x1092db0) = 0 +43925830181767:43925830182216 26036:26036 hsa_region_get_info(, 40963, 0x1092de8) = 0 +43925830182954:43925830183294 26036:26036 hsa_region_get_info(, 40962, 0x1092dec) = 0 +43925830184037:43925830184449 26036:26036 hsa_agent_get_info(, 4, 0x7fff229afcb4) = 0 +43925830185227:43925830231206 26036:26036 hsa_agent_get_info(, 12288, 0x1092e48) = 0 +43925830232192:43925830232633 26036:26036 hsa_agent_get_info(, 12291, 0x1092e4c) = 0 +43925830233396:43925830233778 26036:26036 hsa_agent_get_info(, 12295, 0x1092e54) = 0 +43925830234515:43925830234875 26036:26036 hsa_agent_get_info(, 40974, 0x7fff229afd10) = 0 +43925830235624:43925830235978 26036:26036 hsa_agent_get_info(, 19, 0x7fff229afcc8) = 0 +43925830237667:43925830260280 26036:26036 hsa_isa_get_info_alt(, 0, 0x7fff229afcc0) = 0 +43925830263686:43925830267460 26036:26036 hsa_isa_get_info_alt(, 1, 0x1091cf0) = 0 +43925830287332:43925830287723 26036:26036 hsa_system_get_info(3, 0x7fff229b0050) = 0 +43925830288654:43925830289297 26036:26036 hsa_system_get_info(2, 0x7fff229b0080) = 0 +43925830293485:43925830294136 26036:26036 hsa_system_get_info(2, 0x7fff229b0080) = 0 +43925832517439:43925832518256 26036:26036 hsa_system_get_info(2, 0x7fff229b0080) = 0 +43925832528316:43925832564744 26036:26036 hsa_amd_memory_pool_allocate(, , , 0x7fff229afe48) = 0 +43925832569077:43925832569746 26036:26036 hsa_system_get_info(2, 0x7fff229b0080) = 0 +43925832572520:43925832573168 26036:26036 hsa_system_get_info(2, 0x7fff229b0080) = 0 +43925832574584:43925832593809 26036:26036 hsa_amd_memory_pool_allocate(, , , 0x7fff229afe48) = 0 +43925832595008:43925832595641 26036:26036 hsa_system_get_info(2, 0x7fff229b0080) = 0 +43925832605937:43925832606606 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43925832612296:43925832613779 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 +43925832614775:43925832615287 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43925832617712:43925832618278 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 +43925832619045:43925832619419 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43925832620973:43925832621295 26036:26036 hsa_agent_get_info(, 17, 0x7fff229afd04) = 0 +43925832620973:43925832622025 26036:26036 hsa_iterate_agents(1, 0x7fff229afe60) = 1 +43925832623761:43925832624206 26036:26036 hsa_region_get_info(, 0, 0x7fff229afe5c) = 0 +43925832625012:43925832625351 26036:26036 hsa_region_get_info(, 1, 0x7fff229afe58) = 0 +43925832626123:43925832626460 26036:26036 hsa_region_get_info(, 0, 0x7fff229afe5c) = 0 +43925832627190:43925832637619 26036:26036 hsa_region_get_info(, 1, 0x7fff229afe58) = 0 +43925832627190:43925832638514 26036:26036 hsa_agent_iterate_regions(, 1, 0x7fff229affa0) = 1 +43925832640170:43925833166775 26036:26036 hsa_memory_allocate(, , 0x7fff229affa8) = 0 +43925833168812:43925833169178 26036:26036 hsa_agent_get_info(, 17, 0x7fff229afd04) = 0 +43925833168812:43925833169954 26036:26036 hsa_iterate_agents(1, 0x7fff229afe60) = 1 +43925833171326:43925833173421 26036:26036 hsa_signal_create(1, , 0x7fff229affa8, 0x7fff229affa0) = 0 +43925833415303:43925833415884 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43925833417464:43925837539074 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 +43925837541709:43925837939048 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43925837940414:43925837941068 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43925942670138:43925942672376 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fff229affc0) = 0 +43925942813755:43925942814416 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fff229affc0) = 0 +43925946129693:43925946131688 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fff229affc0) = 0 +43925946136572:43925946137370 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fff229affc0) = 0 +43925946139394:43925946140098 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7fff229affc0) = 0 +43925946142070:43925946142690 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7fff229affc0) = 0 +43925946189940:43925946190487 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fff229affc0) = 0 +43925946192653:43925946193182 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fff229affc0) = 0 +43925946195367:43925946195880 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7fff229affc0) = 0 +43925946197734:43925946198232 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7fff229affc0) = 0 +43925946244898:43925946245429 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fff229affc0) = 0 +43925946247452:43925946248036 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fff229affc0) = 0 +43925946256881:43925946257416 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7fff229affc0) = 0 +43925946259630:43925946260165 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7fff229affc0) = 0 +43925946307469:43925946308028 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fff229affc0) = 0 +43925946309901:43925946310517 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fff229affc0) = 0 +43925946312379:43925946312887 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7fff229affc0) = 0 +43925946314731:43925946315249 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7fff229affc0) = 0 +43925946361990:43925946362519 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fff229affc0) = 0 +43925946364705:43925946365209 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fff229affc0) = 0 +43925946367186:43925946367753 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7fff229affc0) = 0 +43925946369743:43925946370313 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7fff229affc0) = 0 +43925946415992:43925946416511 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fff229affc0) = 0 +43925946418392:43925946418975 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fff229affc0) = 0 +43925946420754:43925946421264 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7fff229affc0) = 0 +43925946423095:43925946423616 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7fff229affc0) = 0 +43925946470366:43925946470878 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fff229affc0) = 0 +43925946472683:43925946473205 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fff229affc0) = 0 +43925946474990:43925946475512 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7fff229affc0) = 0 +43925946477572:43925946478077 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7fff229affc0) = 0 +43925946524430:43925946524984 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fff229affc0) = 0 +43925946526853:43925946527374 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fff229affc0) = 0 +43925946529065:43925946529584 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7fff229affc0) = 0 +43925946531325:43925946531835 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7fff229affc0) = 0 +43925946578543:43925946579104 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fff229affc0) = 0 +43925946581154:43925946581670 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fff229affc0) = 0 +43925946583732:43925946584190 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7fff229affc0) = 0 +43925946586114:43925946586631 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7fff229affc0) = 0 +43925946737589:43925946738202 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fff229affc0) = 0 +43925946740934:43925946741435 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fff229affc0) = 0 +43925946746106:43925946746756 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7fff229affc0) = 0 +43925946749179:43925946749672 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7fff229affc0) = 0 +43925946794062:43925946794598 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fff229affc0) = 0 +43925946796344:43925946796846 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fff229affc0) = 0 +43925946798738:43925946799235 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7fff229affc0) = 0 +43925946800963:43925946801586 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7fff229affc0) = 0 +43925946845114:43925946845615 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fff229affc0) = 0 +43925946847486:43925946847998 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fff229affc0) = 0 +43925946849758:43925946850231 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7fff229affc0) = 0 +43925946851848:43925946852337 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7fff229affc0) = 0 +43925946926009:43925946926564 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fff229affc0) = 0 +43925946929014:43925946929505 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fff229affc0) = 0 +43925946931481:43925946932002 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7fff229affc0) = 0 +43925946934262:43925946934743 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7fff229affc0) = 0 +43925946978845:43925946979355 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fff229affc0) = 0 +43925946981080:43925946981641 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fff229affc0) = 0 +43925946983468:43925946983953 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7fff229affc0) = 0 +43925946985602:43925946986085 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7fff229affc0) = 0 +43925947029251:43925947029781 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fff229affc0) = 0 +43925947031530:43925947032143 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fff229affc0) = 0 +43925947034023:43925947034517 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7fff229affc0) = 0 +43925947036375:43925947036867 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7fff229affc0) = 0 +43925947080851:43925947081441 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fff229affc0) = 0 +43925947083205:43925947083719 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fff229affc0) = 0 +43925947085411:43925947085959 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7fff229affc0) = 0 +43925947087997:43925947088496 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7fff229affc0) = 0 +43925947132734:43925947133248 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fff229affc0) = 0 +43925947135515:43925947136003 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fff229affc0) = 0 +43925947138207:43925947138911 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7fff229affc0) = 0 +43925947142318:43925947142905 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7fff229affc0) = 0 +43925947187541:43925947188054 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fff229affc0) = 0 +43925947189761:43925947190255 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fff229affc0) = 0 +43925947192157:43925947192642 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7fff229affc0) = 0 +43925947194392:43925947194869 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7fff229affc0) = 0 +43925947237750:43925947238282 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fff229affc0) = 0 +43925947239969:43925947240478 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fff229affc0) = 0 +43925947242154:43925947242655 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7fff229affc0) = 0 +43925947244217:43925947244721 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7fff229affc0) = 0 +43925947289322:43925947289837 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fff229affc0) = 0 +43925947291608:43925947292105 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fff229affc0) = 0 +43925947293989:43925947294489 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7fff229affc0) = 0 +43925947296294:43925947296778 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7fff229affc0) = 0 +43926006421738:43926006429823 26036:26036 hsa_executable_create_alt(1, 0, +43926086100741:43926086103267 26036:26036 hsa_code_object_reader_create_from_memory(0x7f20f40d2380, , 0x2149550) = 0 +43926086106442:43926086272707 26036:26036 hsa_executable_load_agent_code_object(, , , +43926086274903:43926086300304 26036:26036 hsa_executable_freeze(, +43926086307830:43926086309182 26036:26036 hsa_executable_create_alt(1, 0, +43926086332728:43926086333229 26036:26036 hsa_code_object_reader_create_from_memory(0x209fbd0, , 0x7f20f4515840) = 0 +43926086334172:43926086401120 26036:26036 hsa_executable_load_agent_code_object(, , , +43926086402448:43926086420221 26036:26036 hsa_executable_freeze(, +43926086422849:43926086423791 26036:26036 hsa_executable_create_alt(1, 0, +43926086435023:43926086435520 26036:26036 hsa_code_object_reader_create_from_memory(0x20a1140, , 0x7f2091d08fd0) = 0 +43926086436371:43926086513005 26036:26036 hsa_executable_load_agent_code_object(, , , +43926086514290:43926086531259 26036:26036 hsa_executable_freeze(, +43926086533851:43926086534751 26036:26036 hsa_executable_create_alt(1, 0, +43926086545153:43926086545558 26036:26036 hsa_code_object_reader_create_from_memory(0x20a26b0, , 0x7f20f401c2e0) = 0 +43926086546436:43926086620754 26036:26036 hsa_executable_load_agent_code_object(, , , +43926086623558:43926086640585 26036:26036 hsa_executable_freeze(, +43926086643101:43926086644051 26036:26036 hsa_executable_create_alt(1, 0, +43926086654273:43926086654661 26036:26036 hsa_code_object_reader_create_from_memory(0x20a3c20, , 0x21e71e0) = 0 +43926086655483:43926086728782 26036:26036 hsa_executable_load_agent_code_object(, , , +43926086729989:43926086747033 26036:26036 hsa_executable_freeze(, +43926086749715:43926086750565 26036:26036 hsa_executable_create_alt(1, 0, +43926086760821:43926086761232 26036:26036 hsa_code_object_reader_create_from_memory(0x20a5190, , 0x2186430) = 0 +43926086762041:43926086834322 26036:26036 hsa_executable_load_agent_code_object(, , , +43926086835523:43926086852537 26036:26036 hsa_executable_freeze(, +43926086854967:43926086855788 26036:26036 hsa_executable_create_alt(1, 0, +43926086865879:43926086866265 26036:26036 hsa_code_object_reader_create_from_memory(0x20a6700, , 0x7f20f4041e20) = 0 +43926086867086:43926086939353 26036:26036 hsa_executable_load_agent_code_object(, , , +43926086940585:43926086957474 26036:26036 hsa_executable_freeze(, +43926086959882:43926086960706 26036:26036 hsa_executable_create_alt(1, 0, +43926086970414:43926086970811 26036:26036 hsa_code_object_reader_create_from_memory(0x20a7c70, , 0x7f20f4049880) = 0 +43926086971629:43926087032040 26036:26036 hsa_executable_load_agent_code_object(, , , +43926087033255:43926087049968 26036:26036 hsa_executable_freeze(, +43926087052435:43926087053412 26036:26036 hsa_executable_create_alt(1, 0, +43926087063273:43926087063692 26036:26036 hsa_code_object_reader_create_from_memory(0x20a91e0, , 0x7f20f408a530) = 0 +43926087064499:43926087113908 26036:26036 hsa_executable_load_agent_code_object(, , , +43926087115158:43926087131977 26036:26036 hsa_executable_freeze(, +43926087134755:43926087135417 26036:26036 hsa_executable_create_alt(1, 0, +43926087152807:43926087153253 26036:26036 hsa_code_object_reader_create_from_memory(0x20d6910, , 0x7f20f40bb900) = 0 +43926087154091:43926087223174 26036:26036 hsa_executable_load_agent_code_object(, , , +43926087224488:43926087242757 26036:26036 hsa_executable_freeze(, +43926087245466:43926087246422 26036:26036 hsa_executable_create_alt(1, 0, +43926087257396:43926087257820 26036:26036 hsa_code_object_reader_create_from_memory(0x20d1a50, , 0x7f20f40bc010) = 0 +43926087258665:43926087310536 26036:26036 hsa_executable_load_agent_code_object(, , , +43926087313394:43926087330448 26036:26036 hsa_executable_freeze(, +43926087332882:43926087333790 26036:26036 hsa_executable_create_alt(1, 0, +43926087343806:43926087344216 26036:26036 hsa_code_object_reader_create_from_memory(0x20d2fc0, , 0x7f20f40e81a0) = 0 +43926087345041:43926087395324 26036:26036 hsa_executable_load_agent_code_object(, , , +43926087396555:43926087413368 26036:26036 hsa_executable_freeze(, +43926087415815:43926087416714 26036:26036 hsa_executable_create_alt(1, 0, +43926087428051:43926087428466 26036:26036 hsa_code_object_reader_create_from_memory(0x20acd10, , 0x7f20f4103e90) = 0 +43926087429302:43926087484456 26036:26036 hsa_executable_load_agent_code_object(, , , +43926087485728:43926087503019 26036:26036 hsa_executable_freeze(, +43926087505565:43926087506384 26036:26036 hsa_executable_create_alt(1, 0, +43926087517409:43926087517816 26036:26036 hsa_code_object_reader_create_from_memory(0x20aa750, , 0x7f2092d400d0) = 0 +43926087518655:43926087570539 26036:26036 hsa_executable_load_agent_code_object(, , , +43926087571800:43926087588792 26036:26036 hsa_executable_freeze(, +43926087591309:43926087592117 26036:26036 hsa_executable_create_alt(1, 0, +43926087602196:43926087602594 26036:26036 hsa_code_object_reader_create_from_memory(0x7f20f40d64a0, , 0x7f2092dc45a0) = 0 +43926087603422:43926087652792 26036:26036 hsa_executable_load_agent_code_object(, , , +43926087654012:43926087670919 26036:26036 hsa_executable_freeze(, +43926087673380:43926087674221 26036:26036 hsa_executable_create_alt(1, 0, +43926087684453:43926087684912 26036:26036 hsa_code_object_reader_create_from_memory(0x20af2d0, , 0x7f2092db16f0) = 0 +43926087685750:43926087734323 26036:26036 hsa_executable_load_agent_code_object(, , , +43926087735525:43926087752596 26036:26036 hsa_executable_freeze(, +43926087755007:43926087756046 26036:26036 hsa_executable_create_alt(1, 0, +43926087765964:43926087766423 26036:26036 hsa_code_object_reader_create_from_memory(0x20b0840, , 0x7f2092d8cd90) = 0 +43926087767250:43926087815873 26036:26036 hsa_executable_load_agent_code_object(, , , +43926087817088:43926087834083 26036:26036 hsa_executable_freeze(, +43926087836861:43926087837543 26036:26036 hsa_executable_create_alt(1, 0, +43926087847719:43926087848137 26036:26036 hsa_code_object_reader_create_from_memory(0x20d4530, , 0x7f2092de4ba0) = 0 +43926087848938:43926087899051 26036:26036 hsa_executable_load_agent_code_object(, , , +43926087900280:43926087917626 26036:26036 hsa_executable_freeze(, +43926087921452:43926087922348 26036:26036 hsa_executable_create_alt(1, 0, +43926087932568:43926087932975 26036:26036 hsa_code_object_reader_create_from_memory(0x20db290, , 0x7f2092e08930) = 0 +43926087933819:43926087983380 26036:26036 hsa_executable_load_agent_code_object(, , , +43926087984607:43926088010294 26036:26036 hsa_executable_freeze(, +43926088023052:43926088023980 26036:26036 hsa_executable_create_alt(1, 0, +43926088034985:43926088035479 26036:26036 hsa_code_object_reader_create_from_memory(0x20dc800, , 0x7f2092e14a90) = 0 +43926088036321:43926088098329 26036:26036 hsa_executable_load_agent_code_object(, , , +43926088099583:43926088116689 26036:26036 hsa_executable_freeze(, +43926088149891:43926088150634 26036:26036 hsa_executable_create_alt(1, 0, +43926088163192:43926088163600 26036:26036 hsa_code_object_reader_create_from_memory(0x11d56e0, , 0x7f2092e2e800) = 0 +43926088164436:43926088222226 26036:26036 hsa_executable_load_agent_code_object(, , , +43926088223507:43926088241490 26036:26036 hsa_executable_freeze(, +43926088244437:43926088245538 26036:26036 hsa_executable_create_alt(1, 0, +43926088257938:43926088258370 26036:26036 hsa_code_object_reader_create_from_memory(0x2210cd0, , 0x7f2092e3c730) = 0 +43926088259220:43926088316014 26036:26036 hsa_executable_load_agent_code_object(, , , +43926088317259:43926088334828 26036:26036 hsa_executable_freeze(, +43926088317259:43926088338787 26036:26036 hsa_agent_iterate_isas(, 1, 0x7fff229aff08) = 0 +43926088341893:43926088342792 26036:26036 hsa_executable_iterate_agent_symbols(, , 1, 0x1082860) = 0 +43926088343594:43926088343977 26036:26036 hsa_executable_iterate_agent_symbols(, , 1, 0x1082860) = 0 +43926088344771:43926088345152 26036:26036 hsa_executable_iterate_agent_symbols(, , 1, 0x1082860) = 0 +43926088345909:43926088346308 26036:26036 hsa_executable_iterate_agent_symbols(, , 1, 0x1082860) = 0 +43926088347069:43926088347448 26036:26036 hsa_executable_iterate_agent_symbols(, , 1, 0x1082860) = 0 +43926088348213:43926088348582 26036:26036 hsa_executable_iterate_agent_symbols(, , 1, 0x1082860) = 0 +43926088349339:43926088349705 26036:26036 hsa_executable_iterate_agent_symbols(, , 1, 0x1082860) = 0 +43926088350475:43926088350851 26036:26036 hsa_executable_iterate_agent_symbols(, , 1, 0x1082860) = 0 +43926088351608:43926088351998 26036:26036 hsa_executable_iterate_agent_symbols(, , 1, 0x1082860) = 0 +43926088354210:43926088354704 26036:26036 hsa_executable_symbol_get_info(, 0, 0x7fff229afe28) = 0 +43926088355654:43926088356012 26036:26036 hsa_executable_symbol_get_info(, 1, 0x7fff229afe24) = 0 +43926088358400:43926088358821 26036:26036 hsa_executable_symbol_get_info(, 2, 0x2debd60) = 0 +43926088360095:43926088360455 26036:26036 hsa_executable_symbol_get_info(, 0, 0x7fff229afe28) = 0 +43926088361239:43926088361587 26036:26036 hsa_executable_symbol_get_info(, 1, 0x7fff229afe24) = 0 +43926088362399:43926088362751 26036:26036 hsa_executable_symbol_get_info(, 2, 0x7f2092b26b10) = 0 +43926088363827:43926088364179 26036:26036 hsa_executable_symbol_get_info(, 0, 0x7fff229afe28) = 0 +43926088364944:43926088365295 26036:26036 hsa_executable_symbol_get_info(, 1, 0x7fff229afe24) = 0 +43926088366103:43926088366472 26036:26036 hsa_executable_symbol_get_info(, 2, 0x7f2092b97ee0) = 0 +43926088367358:43926088367707 26036:26036 hsa_executable_symbol_get_info(, 0, 0x7fff229afe28) = 0 +43926088368469:43926088368807 26036:26036 hsa_executable_symbol_get_info(, 1, 0x7fff229afe24) = 0 +43926088369606:43926088369966 26036:26036 hsa_executable_symbol_get_info(, 2, 0x212fa20) = 0 +43926088371062:43926088371409 26036:26036 hsa_executable_symbol_get_info(, 0, 0x7fff229afe28) = 0 +43926088372182:43926088372524 26036:26036 hsa_executable_symbol_get_info(, 1, 0x7fff229afe24) = 0 +43926088373380:43926088373731 26036:26036 hsa_executable_symbol_get_info(, 2, 0x7f20f59197a0) = 0 +43926088374799:43926088375151 26036:26036 hsa_executable_symbol_get_info(, 0, 0x7fff229afe28) = 0 +43926088375913:43926088376262 26036:26036 hsa_executable_symbol_get_info(, 1, 0x7fff229afe24) = 0 +43926088377069:43926088377414 26036:26036 hsa_executable_symbol_get_info(, 2, 0x7f2092cb1410) = 0 +43926088377069:43926088378348 26036:26036 hsa_executable_iterate_agent_symbols(, , 1, 0x1082860) = 0 +43926088379116:43926088379509 26036:26036 hsa_executable_iterate_agent_symbols(, , 1, 0x1082860) = 0 +43926088380282:43926088380652 26036:26036 hsa_executable_iterate_agent_symbols(, , 1, 0x1082860) = 0 +43926088381849:43926088382198 26036:26036 hsa_executable_symbol_get_info(, 0, 0x7fff229afe28) = 0 +43926088382958:43926088383296 26036:26036 hsa_executable_symbol_get_info(, 1, 0x7fff229afe24) = 0 +43926088384107:43926088384476 26036:26036 hsa_executable_symbol_get_info(, 2, 0x7f2092cb2580) = 0 +43926088384107:43926088385364 26036:26036 hsa_executable_iterate_agent_symbols(, , 1, 0x1082860) = 0 +43926088386127:43926088386494 26036:26036 hsa_executable_iterate_agent_symbols(, , 1, 0x1082860) = 0 +43926088387254:43926088387629 26036:26036 hsa_executable_iterate_agent_symbols(, , 1, 0x1082860) = 0 +43926088388391:43926088388764 26036:26036 hsa_executable_iterate_agent_symbols(, , 1, 0x1082860) = 0 +43926088389522:43926088389889 26036:26036 hsa_executable_iterate_agent_symbols(, , 1, 0x1082860) = 0 +43926088390648:43926088391014 26036:26036 hsa_executable_iterate_agent_symbols(, , 1, 0x1082860) = 0 +43926088391775:43926088392152 26036:26036 hsa_executable_iterate_agent_symbols(, , 1, 0x1082860) = 0 +43926088393760:43926088394130 26036:26036 hsa_executable_iterate_agent_symbols(, , 1, 0x1082860) = 0 +43926088395304:43926088395653 26036:26036 hsa_executable_symbol_get_info(, 0, 0x7fff229afe28) = 0 +43926088396411:43926088396757 26036:26036 hsa_executable_symbol_get_info(, 1, 0x7fff229afe24) = 0 +43926088397560:43926088397914 26036:26036 hsa_executable_symbol_get_info(, 2, 0x7f2092820910) = 0 +43926088397560:43926088398781 26036:26036 hsa_executable_iterate_agent_symbols(, , 1, 0x1082860) = 0 +43926088399975:43926088400324 26036:26036 hsa_executable_symbol_get_info(, 0, 0x7fff229afe28) = 0 +43926088401082:43926088401423 26036:26036 hsa_executable_symbol_get_info(, 1, 0x7fff229afe24) = 0 +43926088402226:43926088402580 26036:26036 hsa_executable_symbol_get_info(, 2, 0x7f2092d34940) = 0 +43926088402226:43926088403566 26036:26036 hsa_executable_iterate_agent_symbols(, , 1, 0x1082860) = 0 +43926119084395:43926119085919 26036:26036 hsa_executable_symbol_get_info(, 22, 0x7fff229b00a0) = 0 +43926119091500:43926119091973 26036:26036 hsa_system_major_extension_supported(, , , ) = 0 +43926119093907:43926119094413 26036:26036 hsa_system_get_major_extension_table(, , , 0x7fff229b0030) = 0 +43926119928519:43926119929026 26036:26036 hsa_executable_symbol_get_info(, 22, 0x7fff229b00a0) = 0 +43926119930101:43926119930487 26036:26036 hsa_system_major_extension_supported(, , , ) = 0 +43926119931326:43926119931705 26036:26036 hsa_system_get_major_extension_table(, , , 0x7fff229b0030) = 0 +43926119949705:43926119950201 26036:26036 hsa_executable_symbol_get_info(, 22, 0x7fff229b00a0) = 0 +43926119951140:43926119951476 26036:26036 hsa_system_major_extension_supported(, , , ) = 0 +43926119952280:43926119952629 26036:26036 hsa_system_get_major_extension_table(, , , 0x7fff229b0030) = 0 +43926119958475:43926119958921 26036:26036 hsa_executable_symbol_get_info(, 22, 0x7fff229b00a0) = 0 +43926119959800:43926119960159 26036:26036 hsa_system_major_extension_supported(, , , ) = 0 +43926119960961:43926119961304 26036:26036 hsa_system_get_major_extension_table(, , , 0x7fff229b0030) = 0 +43926119968999:43926119969414 26036:26036 hsa_executable_symbol_get_info(, 22, 0x7fff229b00a0) = 0 +43926119970345:43926119970676 26036:26036 hsa_system_major_extension_supported(, , , ) = 0 +43926119971438:43926119971773 26036:26036 hsa_system_get_major_extension_table(, , , 0x7fff229b0030) = 0 +43926119974799:43926119975207 26036:26036 hsa_executable_symbol_get_info(, 22, 0x7fff229b00a0) = 0 +43926119976106:43926119976442 26036:26036 hsa_system_major_extension_supported(, , , ) = 0 +43926119977237:43926119977575 26036:26036 hsa_system_get_major_extension_table(, , , 0x7fff229b0030) = 0 +43926119979215:43926119979607 26036:26036 hsa_executable_symbol_get_info(, 22, 0x7fff229b00a0) = 0 +43926119984012:43926119984359 26036:26036 hsa_system_major_extension_supported(, , , ) = 0 +43926119985126:43926119985476 26036:26036 hsa_system_get_major_extension_table(, , , 0x7fff229b0030) = 0 +43926120646379:43926120646962 26036:26036 hsa_executable_symbol_get_info(, 22, 0x7fff229b00a0) = 0 +43926120647949:43926120648309 26036:26036 hsa_system_major_extension_supported(, , , ) = 0 +43926120649101:43926120649454 26036:26036 hsa_system_get_major_extension_table(, , , 0x7fff229b0030) = 0 +43926120652137:43926120652548 26036:26036 hsa_executable_symbol_get_info(, 22, 0x7fff229b00a0) = 0 +43926120653398:43926120653737 26036:26036 hsa_system_major_extension_supported(, , , ) = 0 +43926120654486:43926120654828 26036:26036 hsa_system_get_major_extension_table(, , , 0x7fff229b0030) = 0 +43926120731756:43926120732117 26036:26036 hsa_executable_symbol_get_info(, 22, 0x7fff229b00a0) = 0 +43926120732955:43926120733290 26036:26036 hsa_system_major_extension_supported(, , , ) = 0 +43926120734051:43926120734395 26036:26036 hsa_system_get_major_extension_table(, , , 0x7fff229b0030) = 0 +43926120735729:43926120736074 26036:26036 hsa_executable_symbol_get_info(, 22, 0x7fff229b00a0) = 0 +43926120736917:43926120737275 26036:26036 hsa_system_major_extension_supported(, , , ) = 0 +43926120738035:43926120738374 26036:26036 hsa_system_get_major_extension_table(, , , 0x7fff229b0030) = 0 +43926122597621:43926122598361 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43926122612671:43926122613103 26036:26036 hsa_system_get_info(3, 0x7fff229afe38) = 0 +43926122642932:43926124596934 26036:26036 hsa_queue_create(, , , 1, 0, , , ) = 0 +43926124605232:43926124605992 26036:26036 hsa_amd_profiling_set_profiler_enabled(, 1) = 0 +43926124613521:43926124614105 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 0 +43926124616021:43926124616547 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 0 +43926124617960:43926124620629 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 +43926124622218:43926124622627 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43926124624978:43926124626940 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092e512a0) = 0 +43926124628959:43926124629943 26036:26036 hsa_signal_store_relaxed(, 0) = void +43926124635167:43926124635880 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43926124661248:43926124661942 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926124678596:43926124680310 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 +43926124681151:43926124681555 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 1 +43926124682363:43926124682732 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 0 +43926124686397:43926124686761 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43926124687663:43926124688868 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092e5a060) = 0 +43926124689701:43926124690126 26036:26036 hsa_signal_store_relaxed(, 1) = void +43926124692306:43926125149465 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926125152470:43926125154605 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 +43926125149732:43926125154546 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926125155731:43926125156344 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43926125156447:43926125156912 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926125157545:43926125158272 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 +43926125159065:43926125159569 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43926125160655:43926125161131 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43926125163452:43926125164082 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926125162136:43926125164318 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 +43926125178005:43926125178635 26036:26041 hsa_signal_destroy() = 0 +43926125180934:43926125181404 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926125182170:43926125182530 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926125165148:43926125580653 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43926126125950:43926126126687 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926140557058:43926140558327 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926140562907:43926140563997 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926140566738:43926140570091 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 +43926140571342:43926140571990 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43926140573091:43926140573775 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 +43926140574564:43926140575034 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43926141027628:43926141028393 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43926141029882:43926141031695 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 +43926141032484:43926141405163 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43926141406414:43926141407043 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926141426883:43926141427521 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43926141457879:43926141458654 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 2 +43926141459632:43926141460102 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 2 +43926141461140:43926141462551 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 +43926141463528:43926141463932 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43926141465224:43926141469189 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f210d8c4370) = 0 +43926141470147:43926141470816 26036:26036 hsa_signal_store_relaxed(, 2) = void +43926141472541:43926141473174 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43926141479211:43926141479843 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926141482958:43926141485366 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 +43926141486198:43926141486576 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 3 +43926141487338:43926141487671 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 2 +43926141488667:43926141489013 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43926141489861:43926141491735 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092e74290) = 0 +43926141492490:43926141492942 26036:26036 hsa_signal_store_relaxed(, 3) = void +43926141493901:43926141964865 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926141965956:43926141966365 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926141967596:43926141968559 26036:26036 hsa_signal_destroy() = 0 +43926141969817:43926141971077 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 +43926141972064:43926141972507 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43926141973255:43926141973715 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 +43926141974513:43926141974910 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43926141989894:43926141990265 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43926141991066:43926141991726 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 +43926142045671:43926142049042 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926142050786:43926142051162 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926142053927:43926142054488 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926142056226:43926142056676 26036:26041 hsa_signal_destroy() = 0 +43926142059310:43926142059740 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926142064811:43926142065264 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926141992511:43926142413478 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43926142876120:43926142876900 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926157271526:43926157272571 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926157276884:43926157277942 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926157279569:43926157282491 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 +43926157283629:43926157284385 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43926157285348:43926157285949 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 +43926157286844:43926157287312 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43926157740303:43926157741162 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43926157742379:43926157744050 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 +43926157745017:43926158117402 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43926158118632:43926158119266 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926158134004:43926158134649 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43926158153984:43926158154626 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 4 +43926158155587:43926158155988 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 4 +43926158157031:43926158158393 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 +43926158159558:43926158160025 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43926158161267:43926158174987 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092e81680) = 0 +43926158176162:43926158176736 26036:26036 hsa_signal_store_relaxed(, 4) = void +43926158178353:43926158178995 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43926158195499:43926158196162 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926158198732:43926158208578 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 +43926158209481:43926158209862 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 5 +43926158210633:43926158210978 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 4 +43926158211989:43926158212310 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43926158213182:43926158214840 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092e80600) = 0 +43926158215795:43926158216242 26036:26036 hsa_signal_store_relaxed(, 5) = void +43926158221086:43926158681249 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926158682240:43926158682641 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926158683922:43926158684575 26036:26036 hsa_signal_destroy() = 0 +43926158685708:43926158686742 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 +43926158687574:43926158687962 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43926158688710:43926158689210 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 +43926158690004:43926158690350 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43926158691199:43926158691540 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43926158706657:43926158707317 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 +43926158762226:43926158765471 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926158766910:43926158767285 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926158769943:43926158770497 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926158772261:43926158772708 26036:26041 hsa_signal_destroy() = 0 +43926158774802:43926158775275 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926158776049:43926158776408 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926158708140:43926159129343 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43926159590378:43926159591166 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926173973789:43926173974777 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926173979175:43926173980143 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926173981976:43926173984887 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 +43926173985957:43926173986519 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43926173987431:43926173988031 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 +43926173988932:43926173989410 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43926174443365:43926174444184 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43926174445403:43926174447114 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 +43926174448047:43926174820849 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43926174822072:43926174822711 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926174836266:43926174836921 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43926174863700:43926174864403 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 6 +43926174865449:43926174865863 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 6 +43926174867033:43926174868288 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 +43926174878212:43926174878753 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43926174879935:43926174883804 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092e8b5e0) = 0 +43926174884608:43926174885177 26036:26036 hsa_signal_store_relaxed(, 6) = void +43926174886791:43926174897437 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43926174904026:43926174904685 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926174916413:43926174916999 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 +43926174917853:43926174918233 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 7 +43926174919039:43926174919374 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 6 +43926174920353:43926174920698 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43926174921539:43926174923156 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092e8f040) = 0 +43926174923916:43926174924363 26036:26036 hsa_signal_store_relaxed(, 7) = void +43926174925397:43926175393801 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926175394860:43926175395266 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926175396433:43926175397128 26036:26036 hsa_signal_destroy() = 0 +43926175398252:43926175399216 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 +43926175400046:43926175400432 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43926175401197:43926175401635 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 +43926175402537:43926175402883 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43926175403732:43926175418079 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43926175418981:43926175419627 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 +43926175475006:43926175478199 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926175479770:43926175480150 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926175482934:43926175483490 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926175485258:43926175485708 26036:26041 hsa_signal_destroy() = 0 +43926175487814:43926175488241 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926175489013:43926175489377 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926175420431:43926175841900 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43926176311609:43926176312398 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926190690419:43926190691482 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926190695509:43926190696379 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926190698243:43926190701055 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 +43926190702246:43926190702828 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43926190703702:43926190704359 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 +43926190705237:43926190705644 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43926191158250:43926191158969 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43926191160152:43926191161709 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 +43926191162680:43926191535321 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43926191536570:43926191537207 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926191551520:43926191552175 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43926191575468:43926191576192 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 8 +43926191577145:43926191577547 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 8 +43926191578605:43926191579731 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 +43926191580651:43926191581123 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43926191582286:43926191595092 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092e947e0) = 0 +43926191596111:43926191596683 26036:26036 hsa_signal_store_relaxed(, 8) = void +43926191598300:43926191598943 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43926191618866:43926191619542 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926191631231:43926191631821 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 +43926191632693:43926191633086 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 9 +43926191633914:43926191634252 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 8 +43926191635175:43926191635498 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43926191636366:43926191637975 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092e8f8e0) = 0 +43926191638769:43926191639229 26036:26036 hsa_signal_store_relaxed(, 9) = void +43926191640218:43926192103376 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926192105472:43926192105868 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926192107057:43926192107700 26036:26036 hsa_signal_destroy() = 0 +43926192108819:43926192109798 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 +43926192110669:43926192111065 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43926192111832:43926192112273 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 +43926192113013:43926192113358 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43926192128482:43926192128869 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43926192129663:43926192130371 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 +43926192185291:43926192188474 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926192190021:43926192190394 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926192193269:43926192193843 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926192195649:43926192196111 26036:26041 hsa_signal_destroy() = 0 +43926192198342:43926192198779 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926192199553:43926192199909 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926192131153:43926192552081 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43926193014215:43926193014954 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926207393040:43926207394079 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926207398259:43926207399679 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926207401665:43926207404242 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 +43926207405430:43926207405988 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43926207406902:43926207407552 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 +43926207408491:43926207408980 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43926207861731:43926207862446 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43926207863606:43926207865023 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 +43926207865891:43926208239123 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43926208240520:43926208241158 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926208254301:43926208254939 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43926208263022:43926208273903 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 10 +43926208274879:43926208275280 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 10 +43926208280066:43926208281414 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 +43926208282333:43926208282838 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43926208293023:43926208296732 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092e95d70) = 0 +43926208297650:43926208298224 26036:26036 hsa_signal_store_relaxed(, 10) = void +43926208299717:43926208300350 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43926208316977:43926208317626 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926208320409:43926208329801 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 +43926208330644:43926208331025 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 11 +43926208331843:43926208332181 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 10 +43926208333175:43926208333501 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43926208334334:43926208335894 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092e98c50) = 0 +43926208336644:43926208337031 26036:26036 hsa_signal_store_relaxed(, 11) = void +43926208338028:43926208812497 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926208813372:43926208813760 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926208814899:43926208815529 26036:26036 hsa_signal_destroy() = 0 +43926208816694:43926208817581 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 +43926208818438:43926208818849 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43926208819651:43926208820071 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 +43926208820865:43926208821206 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43926208822062:43926208822403 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43926208837587:43926208838226 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 +43926208893565:43926208896879 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926208898367:43926208898750 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926208901567:43926208902130 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926208903955:43926208904420 26036:26041 hsa_signal_destroy() = 0 +43926208906554:43926208906981 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926208907756:43926208908115 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926208839040:43926209260275 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43926209721575:43926209722359 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926224098488:43926224099489 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926224103570:43926224104761 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926224106390:43926224108571 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 +43926224109669:43926224110491 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43926224111366:43926224112013 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 +43926224112922:43926224113337 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43926224562670:43926224563550 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43926224564740:43926224566255 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 +43926224567416:43926224955554 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43926224956772:43926224957420 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926224971531:43926224972176 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43926224994744:43926224995393 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 12 +43926224996401:43926224996805 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 12 +43926224997823:43926224999129 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 +43926225000046:43926225000617 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43926225001838:43926225014398 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092ea23e0) = 0 +43926225015409:43926225016074 26036:26036 hsa_signal_store_relaxed(, 12) = void +43926225017646:43926225018291 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43926225034199:43926225034857 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926225037648:43926225038273 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 +43926225039169:43926225039550 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 13 +43926225049584:43926225049933 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 12 +43926225050897:43926225051219 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43926225052080:43926225053698 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092ead4f0) = 0 +43926225054494:43926225054948 26036:26036 hsa_signal_store_relaxed(, 13) = void +43926225055964:43926226900981 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926226902116:43926226902534 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926226903730:43926226904670 26036:26036 hsa_signal_destroy() = 0 +43926226909301:43926226919068 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 +43926226920017:43926226920456 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43926226921200:43926226921630 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 +43926226922421:43926226922775 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43926226923630:43926226923980 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43926226924740:43926226925363 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 +43926226957685:43926226960964 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926226962472:43926226962842 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926226976019:43926226976602 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926226978441:43926226978898 26036:26041 hsa_signal_destroy() = 0 +43926226981091:43926226981620 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926226982413:43926226982782 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926226926122:43926227361433 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43926227822602:43926227823346 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926242197831:43926242198833 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926242203066:43926242204189 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926242206291:43926242208557 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 +43926242209647:43926242210247 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43926242211090:43926242211867 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 +43926242212757:43926242213152 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43926242662919:43926242663658 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43926242664794:43926242666377 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 +43926242667500:43926243055043 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43926243056221:43926243056856 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926243070669:43926243071332 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43926243094508:43926243095226 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 14 +43926243096284:43926243096681 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 14 +43926243097720:43926243099065 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 +43926243113414:43926243113934 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43926243115110:43926243119016 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092ea6db0) = 0 +43926243120172:43926243120902 26036:26036 hsa_signal_store_relaxed(, 14) = void +43926243122405:43926243123045 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43926243139798:43926243140455 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926243152500:43926243153100 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 +43926243153922:43926243154269 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 15 +43926243155070:43926243155413 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 14 +43926243156397:43926243156721 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43926243157548:43926243159106 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092eaf290) = 0 +43926243159865:43926243160255 26036:26036 hsa_signal_store_relaxed(, 15) = void +43926243161289:43926245007204 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926245008229:43926245008632 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926245009797:43926245010448 26036:26036 hsa_signal_destroy() = 0 +43926245011605:43926245012769 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 +43926245013713:43926245014119 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43926245014904:43926245024442 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 +43926245025323:43926245025684 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43926245026542:43926245026893 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43926245027662:43926245028274 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 +43926245063378:43926245066701 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926245068108:43926245068480 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926245081621:43926245082211 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926245084028:43926245084492 26036:26041 hsa_signal_destroy() = 0 +43926245086700:43926245087261 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926245088056:43926245088425 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926245029036:43926245459471 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43926245919436:43926245920171 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926260296923:43926260298076 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926260306478:43926260308133 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926260309820:43926260311929 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 +43926260313548:43926260314160 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43926260315083:43926260315697 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 +43926260316551:43926260316962 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43926260763851:43926260764562 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43926260765761:43926260767674 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 +43926260768514:43926261156726 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43926261157870:43926261158502 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926261172655:43926261173306 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43926261182139:43926261182853 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 16 +43926261197193:43926261197606 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 16 +43926261198608:43926261199903 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 +43926261200829:43926261201390 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43926261202596:43926261215153 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092eb0f00) = 0 +43926261216171:43926261216745 26036:26036 hsa_signal_store_relaxed(, 16) = void +43926261218343:43926261218982 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43926261234729:43926261235390 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926261238405:43926261239000 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 +43926261239843:43926261240243 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 17 +43926261241087:43926261241436 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 16 +43926261251538:43926261251885 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43926261252718:43926261254916 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092eb4c60) = 0 +43926261255686:43926261256140 26036:26036 hsa_signal_store_relaxed(, 17) = void +43926261257147:43926263104360 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926263105381:43926263105799 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926263107010:43926263107771 26036:26036 hsa_signal_destroy() = 0 +43926263109024:43926263109813 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 +43926263121400:43926263121846 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43926263122636:43926263123090 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 +43926263123886:43926263124236 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43926263125087:43926263125438 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43926263126198:43926263126823 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 +43926263160479:43926263163607 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926263165112:43926263165489 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926263178737:43926263179328 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926263181178:43926263181649 26036:26041 hsa_signal_destroy() = 0 +43926263183953:43926263184414 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926263185208:43926263185576 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926263127583:43926263563954 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43926264029702:43926264030430 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926278408082:43926278409201 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926278413288:43926278414585 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926278416525:43926278419168 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 +43926278420247:43926278420932 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43926278421758:43926278422422 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 +43926278423380:43926278423844 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43926278877072:43926278877724 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43926278879090:43926278880631 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 +43926278881488:43926279270698 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43926279271921:43926279272559 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926279285886:43926279286537 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43926279309983:43926279310695 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 18 +43926279311739:43926279312143 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 18 +43926279313260:43926279314553 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 +43926279315725:43926279316247 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43926279331806:43926279335588 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092eba4b0) = 0 +43926279336480:43926279337050 26036:26036 hsa_signal_store_relaxed(, 18) = void +43926279338649:43926279349222 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43926279355619:43926279356280 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926279368149:43926279368743 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 +43926279369596:43926279369977 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 19 +43926279370776:43926279371118 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 18 +43926279372089:43926279372421 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43926279373325:43926279374897 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092ebcb90) = 0 +43926279375667:43926279376118 26036:26036 hsa_signal_store_relaxed(, 19) = void +43926279377113:43926281234537 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926281235626:43926281236026 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926281237203:43926281237864 26036:26036 hsa_signal_destroy() = 0 +43926281239059:43926281239992 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 +43926281240930:43926281241342 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43926281242105:43926281251395 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 +43926281252211:43926281252568 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43926281253417:43926281253767 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43926281254529:43926281255158 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 +43926281290381:43926281293551 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926281294969:43926281295343 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926281308169:43926281308767 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926281310601:43926281311079 26036:26041 hsa_signal_destroy() = 0 +43926281313288:43926281313787 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926281314571:43926281314936 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926281255917:43926281686574 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43926282147734:43926282148464 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926296535197:43926296536324 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926296540513:43926296541526 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926296548400:43926296550693 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 +43926296551914:43926296552571 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43926296553400:43926296554084 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 +43926296554956:43926296555429 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43926297025537:43926297026202 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43926297027340:43926297028978 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 +43926297029890:43926297417967 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43926297419195:43926297419844 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926297434727:43926297435384 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43926297454287:43926297454927 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 20 +43926297455950:43926297456356 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 20 +43926297457421:43926297458649 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 +43926297459607:43926297460077 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43926297461260:43926297473804 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092ec5b50) = 0 +43926297474761:43926297475332 26036:26036 hsa_signal_store_relaxed(, 20) = void +43926297476833:43926297477471 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43926297493497:43926297494162 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926297496887:43926297497478 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 +43926297507182:43926297507631 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 21 +43926297508451:43926297508796 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 20 +43926297509776:43926297510100 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43926297510933:43926297512564 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092ecbf10) = 0 +43926297513324:43926297513758 26036:26036 hsa_signal_store_relaxed(, 21) = void +43926297514758:43926299359526 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926299360566:43926299360967 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926299362192:43926299362842 26036:26036 hsa_signal_destroy() = 0 +43926299363972:43926299364812 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 +43926299365710:43926299366152 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43926299376913:43926299377379 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 +43926299378195:43926299378551 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43926299379400:43926299379748 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43926299380505:43926299381130 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 +43926299415613:43926299418852 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926299420293:43926299420666 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926299433900:43926299434471 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926299436260:43926299436728 26036:26041 hsa_signal_destroy() = 0 +43926299438989:43926299439434 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926299440234:43926299440610 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926299381900:43926299811868 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43926300278844:43926300279604 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926314657311:43926314658344 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926314662756:43926314663833 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926314665806:43926314667838 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 +43926314668988:43926314669614 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43926314670440:43926314671102 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 +43926314671988:43926314672465 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43926315145863:43926315146535 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43926315147826:43926315149374 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 +43926315150254:43926315538184 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43926315539478:43926315540117 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926315553539:43926315554210 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43926315572787:43926315573491 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 22 +43926315574449:43926315574847 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 22 +43926315575984:43926315577173 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 +43926315578125:43926315578646 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43926315579845:43926315592948 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092ecc630) = 0 +43926315593935:43926315594591 26036:26036 hsa_signal_store_relaxed(, 22) = void +43926315610464:43926315611150 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43926315617464:43926315618151 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926315629846:43926315630449 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 +43926315631274:43926315631663 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 23 +43926315632464:43926315632805 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 22 +43926315633778:43926315634100 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43926315634993:43926315636600 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092ecf730) = 0 +43926315637361:43926315637746 26036:26036 hsa_signal_store_relaxed(, 23) = void +43926315638736:43926317469722 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926317470701:43926317471110 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926317472243:43926317472891 26036:26036 hsa_signal_destroy() = 0 +43926317474079:43926317474931 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 +43926317475808:43926317476254 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43926317477041:43926317477454 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 +43926317487184:43926317487550 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43926317488409:43926317488757 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43926317489525:43926317490160 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 +43926317526507:43926317529714 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926317531184:43926317531555 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926317544922:43926317545507 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926317547319:43926317547785 26036:26041 hsa_signal_destroy() = 0 +43926317549986:43926317550469 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926317551263:43926317551629 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926317490918:43926317922419 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43926318383851:43926318384594 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926332788391:43926332789359 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926332794125:43926332795145 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926332797074:43926332799676 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 +43926332805501:43926332806153 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43926332806984:43926332807677 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 +43926332808542:43926332808943 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43926333260860:43926333261552 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43926333262714:43926333264710 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 +43926333265796:43926333653993 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43926333655069:43926333655704 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926333671243:43926333671897 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43926333692128:43926333692755 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 24 +43926333693717:43926333694251 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 24 +43926333695504:43926333696922 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 +43926333706917:43926333707347 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43926333708630:43926333712781 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092ec6c70) = 0 +43926333713694:43926333714263 26036:26036 hsa_signal_store_relaxed(, 24) = void +43926333715908:43926333726788 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43926333733185:43926333733839 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926333745786:43926333746412 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 +43926333747241:43926333747571 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 25 +43926333748318:43926333748657 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 24 +43926333749615:43926333749944 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43926333750795:43926333752618 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092ed27a0) = 0 +43926333753376:43926333753821 26036:26036 hsa_signal_store_relaxed(, 25) = void +43926333754759:43926335601143 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926335602179:43926335602586 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926335603789:43926335604469 26036:26036 hsa_signal_destroy() = 0 +43926335605786:43926335606629 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 +43926335607421:43926335607846 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43926335608619:43926335609057 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 +43926335618626:43926335618996 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43926335621414:43926335621752 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43926335622515:43926335623161 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 +43926335657465:43926335660710 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926335662161:43926335662533 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926335675808:43926335676384 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926335678197:43926335678655 26036:26041 hsa_signal_destroy() = 0 +43926335680901:43926335681378 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926335682172:43926335682540 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926335623925:43926336052980 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43926336513282:43926336514028 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926350892266:43926350893209 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926350897489:43926350898831 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926350900693:43926350903011 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 +43926350904114:43926350904705 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43926350905544:43926350906189 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 +43926350907133:43926350907546 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43926351360749:43926351361606 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43926351362829:43926351364330 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 +43926351365222:43926351753320 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43926351754595:43926351755243 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926351768846:43926351769511 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43926351792711:43926351793490 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 26 +43926351794416:43926351794817 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 26 +43926351795916:43926351797199 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 +43926351798162:43926351798681 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43926351800041:43926351812869 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092ed5440) = 0 +43926351813837:43926351814406 26036:26036 hsa_signal_store_relaxed(, 26) = void +43926351815950:43926351816607 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43926351837195:43926351837847 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926351849580:43926351850175 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 +43926351850990:43926351851322 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 27 +43926351852119:43926351852452 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 26 +43926351853430:43926351853755 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43926351854590:43926351856209 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092ee4440) = 0 +43926351856966:43926351857415 26036:26036 hsa_signal_store_relaxed(, 27) = void +43926351858404:43926353697266 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926353698457:43926353698865 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926353700038:43926353700742 26036:26036 hsa_signal_destroy() = 0 +43926353702004:43926353703020 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 +43926353703924:43926353704347 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43926353705119:43926353705578 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 +43926353715155:43926353715524 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43926353716330:43926353716679 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43926353717445:43926353718154 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 +43926353753394:43926353756591 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926353758077:43926353758447 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926353771922:43926353772519 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926353774324:43926353774803 26036:26041 hsa_signal_destroy() = 0 +43926353777042:43926353777564 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926353778371:43926353778738 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926353718916:43926354148922 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43926354609463:43926354610212 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926368995864:43926368997044 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926369001114:43926369002285 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926369004156:43926369006311 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 +43926369007678:43926369008255 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43926369009196:43926369009841 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 +43926369014687:43926369015092 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43926369485916:43926369486627 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43926369487898:43926369489457 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 +43926369490406:43926369877863 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43926369879096:43926369879739 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926369893368:43926369894033 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43926369913054:43926369913977 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 28 +43926369914946:43926369915347 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 28 +43926369916406:43926369917687 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 +43926369918624:43926369919089 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43926369920563:43926369933235 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092ee9d10) = 0 +43926369934178:43926369934754 26036:26036 hsa_signal_store_relaxed(, 28) = void +43926369936258:43926369936898 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43926369953240:43926369953895 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926369956744:43926369957340 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 +43926369958264:43926369958614 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 29 +43926369968582:43926369968941 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 28 +43926369969876:43926369970196 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43926369971024:43926369971515 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092ee8b50) = 0 +43926369972269:43926369972663 26036:26036 hsa_signal_store_relaxed(, 29) = void +43926369973659:43926371814915 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926371815936:43926371816338 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926371817516:43926371818244 26036:26036 hsa_signal_destroy() = 0 +43926371819410:43926371820248 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 +43926371821099:43926371821540 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43926371822314:43926371822759 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 +43926371832666:43926371833080 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43926371833987:43926371834340 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43926371836935:43926371837630 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 +43926371871358:43926371874573 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926371876002:43926371876383 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926371889695:43926371890279 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926371892100:43926371892573 26036:26041 hsa_signal_destroy() = 0 +43926371894788:43926371895258 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926371896043:43926371896417 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926371838412:43926372274457 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43926372736801:43926372737535 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926387112726:43926387113779 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926387117875:43926387119056 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926387121116:43926387123778 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 +43926387125066:43926387125663 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43926387126484:43926387127107 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 +43926387127997:43926387128401 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43926387579750:43926387580589 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43926387581785:43926387583313 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 +43926387584167:43926387972260 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43926387973561:43926387974195 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926387987430:43926387988079 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43926388015523:43926388016421 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 30 +43926388017443:43926388017927 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 30 +43926388019048:43926388029106 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 +43926388030083:43926388030545 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43926388031834:43926388035636 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092eeec50) = 0 +43926388036532:43926388037097 26036:26036 hsa_signal_store_relaxed(, 30) = void +43926388038623:43926388039264 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43926388068412:43926388069048 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926388073179:43926388073764 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 +43926388074798:43926388075146 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 31 +43926388075949:43926388076285 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 30 +43926388077254:43926388077577 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43926388078414:43926388080049 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092ef6d10) = 0 +43926388080814:43926388081208 26036:26036 hsa_signal_store_relaxed(, 31) = void +43926388082259:43926389921201 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926389922221:43926389922616 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926389923808:43926389924644 26036:26036 hsa_signal_destroy() = 0 +43926389925850:43926389926719 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 +43926389927576:43926389927989 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43926389928751:43926389938380 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 +43926389939211:43926389939566 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43926389940407:43926389940755 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43926389941526:43926389942216 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 +43926389977094:43926389980334 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926389981756:43926389982128 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926389995441:43926389996024 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926389997830:43926389998302 26036:26041 hsa_signal_destroy() = 0 +43926390000480:43926390000933 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926390001728:43926390002092 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926389942977:43926390373314 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43926390834152:43926390834910 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926405214280:43926405215351 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926405219393:43926405220625 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926405222231:43926405224291 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 +43926405225321:43926405225912 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43926405226810:43926405227484 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 +43926405228540:43926405228934 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43926405684772:43926405685483 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43926405686767:43926405688294 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 +43926405689166:43926406078061 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43926406079338:43926406079969 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926406093941:43926406094587 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43926406117433:43926406118229 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 32 +43926406119232:43926406119634 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 32 +43926406120889:43926406122255 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 +43926406123189:43926406123612 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43926406124802:43926406137804 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092ef1d40) = 0 +43926406138767:43926406139355 26036:26036 hsa_signal_store_relaxed(, 32) = void +43926406140826:43926406141465 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43926406157673:43926406158331 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926406161061:43926406161706 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 +43926406162582:43926406162945 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 33 +43926406172649:43926406173001 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 32 +43926406173936:43926406174262 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43926406175105:43926406175608 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092ef8d40) = 0 +43926406176387:43926406176839 26036:26036 hsa_signal_store_relaxed(, 33) = void +43926406177835:43926408021786 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926408022854:43926408023259 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926408024383:43926408025044 26036:26036 hsa_signal_destroy() = 0 +43926408026259:43926408027266 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 +43926408028186:43926408028584 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43926408029354:43926408029792 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 +43926408039405:43926408039770 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43926408040672:43926408041020 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43926408041811:43926408042656 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 +43926408078669:43926408081981 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926408083415:43926408083791 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926408096844:43926408097440 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926408099255:43926408099728 26036:26041 hsa_signal_destroy() = 0 +43926408101950:43926408102427 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926408103213:43926408103588 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926408045329:43926408473358 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43926408934950:43926408935716 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926423310053:43926423311270 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926423315579:43926423317092 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926423319040:43926423321134 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 +43926423322439:43926423323006 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43926423323831:43926423324453 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 +43926423325361:43926423325845 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43926423778468:43926423779178 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43926423780465:43926423781948 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 +43926423782810:43926424172004 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43926424173331:43926424173973 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926424192220:43926424192861 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43926424211397:43926424212053 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 34 +43926424213027:43926424213428 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 34 +43926424214443:43926424225283 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 +43926424226259:43926424226672 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43926424228124:43926424231926 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092efb730) = 0 +43926424232826:43926424233394 26036:26036 hsa_signal_store_relaxed(, 34) = void +43926424234939:43926424235575 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43926424252104:43926424252760 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926424264766:43926424265381 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 +43926424266246:43926424266572 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 35 +43926424268564:43926424268900 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 34 +43926424269869:43926424270194 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43926424271015:43926424272563 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092efde50) = 0 +43926424273315:43926424273716 26036:26036 hsa_signal_store_relaxed(, 35) = void +43926424274730:43926426124790 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926426125850:43926426126261 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926426127426:43926426128069 26036:26036 hsa_signal_destroy() = 0 +43926426129270:43926426130117 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 +43926426130991:43926426131395 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43926426132170:43926426132601 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 +43926426142523:43926426142937 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43926426143824:43926426144166 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43926426144932:43926426145572 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 +43926426181452:43926426184634 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926426186067:43926426186440 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926426199778:43926426200362 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926426202169:43926426202631 26036:26041 hsa_signal_destroy() = 0 +43926426204819:43926426205332 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926426206128:43926426206492 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926426146327:43926426576035 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43926427039610:43926427040348 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926441430720:43926441431713 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926441435488:43926441436346 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926441438233:43926441441164 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 +43926441442385:43926441443010 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43926441443921:43926441444706 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 +43926441445602:43926441446001 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43926441895700:43926441896458 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43926441901503:43926441903054 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 +43926441903930:43926442292130 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43926442293374:43926442293997 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926442308047:43926442308713 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43926442327186:43926442327780 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 36 +43926442328693:43926442329091 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 36 +43926442330178:43926442331388 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 +43926442332331:43926442332782 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43926442333937:43926442346572 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092f06d10) = 0 +43926442347532:43926442348126 26036:26036 hsa_signal_store_relaxed(, 36) = void +43926442349688:43926442350329 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43926442366597:43926442367245 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926442370357:43926442371025 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 +43926442371906:43926442372247 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 37 +43926442382031:43926442382428 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 36 +43926442383399:43926442383723 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43926442384571:43926442385058 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092f04a40) = 0 +43926442385799:43926442386249 26036:26036 hsa_signal_store_relaxed(, 37) = void +43926442387268:43926444228599 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926444229644:43926444230058 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926444231239:43926444231902 26036:26036 hsa_signal_destroy() = 0 +43926444233151:43926444234045 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 +43926444234905:43926444235352 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43926444236127:43926444236578 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 +43926444246142:43926444246513 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43926444247392:43926444247757 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43926444248524:43926444249171 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 +43926444284834:43926444288166 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926444289583:43926444289956 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926444306314:43926444306912 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926444308785:43926444309241 26036:26041 hsa_signal_destroy() = 0 +43926444311446:43926444311963 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926444312753:43926444313120 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926444249935:43926444680186 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43926445140951:43926445141764 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926459516997:43926459518200 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926459522384:43926459523702 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926459525450:43926459528024 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 +43926459529172:43926459529749 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43926459530626:43926459531337 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 +43926459532193:43926459532589 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43926459985786:43926459986518 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43926459987729:43926459989189 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 +43926459990064:43926460378606 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43926460379814:43926460380445 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926460394065:43926460394727 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43926460418009:43926460418704 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 38 +43926460419703:43926460420098 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 38 +43926460421124:43926460422546 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 +43926460423552:43926460423972 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43926460425473:43926460438634 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092f0e600) = 0 +43926460439676:43926460440252 26036:26036 hsa_signal_store_relaxed(, 38) = void +43926460441780:43926460442437 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43926460458450:43926460459105 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926460461826:43926460462479 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 +43926460463373:43926460472807 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 39 +43926460473735:43926460474076 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 38 +43926460478809:43926460479139 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43926460479978:43926460481639 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092f0d9e0) = 0 +43926460482390:43926460482843 26036:26036 hsa_signal_store_relaxed(, 39) = void +43926460483845:43926462320534 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926462321552:43926462321953 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926462323272:43926462324039 26036:26036 hsa_signal_destroy() = 0 +43926462325295:43926462326073 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 +43926462326941:43926462327384 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43926462328200:43926462328639 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 +43926462338217:43926462338582 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43926462339444:43926462339788 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43926462340551:43926462341165 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 +43926462376853:43926462380024 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926462381427:43926462381795 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926462395177:43926462395774 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926462397620:43926462398093 26036:26041 hsa_signal_destroy() = 0 +43926462400324:43926462400825 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926462401617:43926462401986 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926462341929:43926462772358 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43926463233595:43926463234381 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926477618756:43926477619758 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926477624068:43926477625299 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926477626895:43926477628940 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 +43926477629980:43926477630572 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43926477631610:43926477632264 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 +43926477633165:43926477633788 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43926478083550:43926478084257 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43926478085410:43926478086940 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 +43926478087837:43926478476180 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43926478481221:43926478481868 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926478495838:43926478496496 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43926478519004:43926478519644 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 40 +43926478520619:43926478521033 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 40 +43926478522045:43926478523397 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 +43926478533211:43926478533692 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43926478534852:43926478538540 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092f04640) = 0 +43926478539506:43926478540094 26036:26036 hsa_signal_store_relaxed(, 40) = void +43926478541581:43926478552170 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43926478558453:43926478559110 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926478570788:43926478571527 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 +43926478572348:43926478572724 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 41 +43926478573535:43926478573875 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 40 +43926478574803:43926478575125 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43926478575952:43926478577588 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092f177a0) = 0 +43926478578336:43926478578783 26036:26036 hsa_signal_store_relaxed(, 41) = void +43926478579768:43926480424955 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926480426010:43926480426407 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926480427520:43926480428268 26036:26036 hsa_signal_destroy() = 0 +43926480429594:43926480430433 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 +43926480431306:43926480431765 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43926480432533:43926480432968 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 +43926480442680:43926480443049 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43926480443917:43926480444264 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43926480445028:43926480445671 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 +43926480481696:43926480484960 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926480486346:43926480486720 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926480500139:43926480500724 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926480505729:43926480506187 26036:26041 hsa_signal_destroy() = 0 +43926480508449:43926480508957 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926480509755:43926480510132 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926480446433:43926480876238 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43926481336384:43926481337122 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926495711324:43926495712316 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926495716207:43926495717320 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926495719030:43926495721172 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 +43926495722543:43926495723180 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43926495724034:43926495724662 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 +43926495725558:43926495726025 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43926496184288:43926496184973 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43926496186392:43926496187889 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 +43926496188796:43926496561620 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43926496563046:43926496563677 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926496577807:43926496578480 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43926496600987:43926496601780 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 42 +43926496602765:43926496603177 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 42 +43926496604387:43926496605681 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 +43926496606646:43926496607125 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43926496608347:43926496621227 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092f21540) = 0 +43926496622183:43926496622756 26036:26036 hsa_signal_store_relaxed(, 42) = void +43926496624294:43926496624936 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43926496640825:43926496641469 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926496644012:43926496644636 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 +43926496645531:43926496645933 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 43 +43926496655903:43926496656298 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 42 +43926496657316:43926496657659 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43926496662376:43926496663979 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092ccbe20) = 0 +43926496664737:43926496665185 26036:26036 hsa_signal_store_relaxed(, 43) = void +43926496666204:43926497123153 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926497124101:43926497124515 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926497125728:43926497126389 26036:26036 hsa_signal_destroy() = 0 +43926497127580:43926497128416 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 +43926497129254:43926497129695 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43926497130497:43926497130926 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 +43926497131719:43926497132069 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43926497132943:43926497133292 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43926497148431:43926497149084 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 +43926497204312:43926497207564 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926497208994:43926497209368 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926497212388:43926497212950 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926497214751:43926497215210 26036:26041 hsa_signal_destroy() = 0 +43926497217323:43926497217777 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926497218548:43926497218903 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926497149887:43926497571176 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43926498031533:43926498032268 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926512420275:43926512421317 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926512425367:43926512426489 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926512428100:43926512430182 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 +43926512431361:43926512432033 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43926512432914:43926512433559 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 +43926512434447:43926512434856 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43926512889367:43926512890079 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43926512891215:43926512893052 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 +43926512893950:43926513266581 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43926513267855:43926513268482 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926513286138:43926513286794 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43926513309426:43926513310453 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 44 +43926513311381:43926513311791 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 44 +43926513312808:43926513314336 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 +43926513324228:43926513324707 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43926513325921:43926513329703 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092cc5950) = 0 +43926513330622:43926513331189 26036:26036 hsa_signal_store_relaxed(, 44) = void +43926513332694:43926513333331 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43926513349529:43926513350190 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926513362268:43926513362929 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 +43926513363752:43926513364123 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 45 +43926513364923:43926513365261 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 44 +43926513366200:43926513366521 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43926513367351:43926513368912 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092cccd00) = 0 +43926513369665:43926513370116 26036:26036 hsa_signal_store_relaxed(, 45) = void +43926513371107:43926513834159 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926513835110:43926513835504 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926513836573:43926513837195 26036:26036 hsa_signal_destroy() = 0 +43926513838393:43926513839222 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 +43926513840212:43926513840603 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43926513841349:43926513841788 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 +43926513842578:43926513842927 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43926513843778:43926513844108 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43926513859183:43926513859823 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 +43926513915890:43926513919147 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926513920648:43926513921030 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926513924134:43926513924691 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926513926467:43926513926915 26036:26041 hsa_signal_destroy() = 0 +43926513932179:43926513932704 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926513933476:43926513933834 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926513860649:43926514281392 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43926514742452:43926514743189 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926529130075:43926529131130 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926529135455:43926529136715 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926529138344:43926529140443 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 +43926529141808:43926529142801 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43926529143630:43926529144269 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 +43926529145173:43926529145656 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43926529599985:43926529600795 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43926529602043:43926529603662 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 +43926529604527:43926529977177 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43926529978423:43926529979052 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926529992488:43926529993143 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43926530001536:43926530012646 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 46 +43926530013688:43926530014089 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 46 +43926530015381:43926530016619 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 +43926530017581:43926530018008 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43926530019224:43926530031893 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092cd4c20) = 0 +43926530032844:43926530033416 26036:26036 hsa_signal_store_relaxed(, 46) = void +43926530035012:43926530035654 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43926530051638:43926530052288 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926530054972:43926530055731 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 +43926530056576:43926530056940 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 47 +43926530057817:43926530058171 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 46 +43926530068204:43926530068556 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43926530069432:43926530069860 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092cdd6e0) = 0 +43926530070610:43926530071005 26036:26036 hsa_signal_store_relaxed(, 47) = void +43926530075834:43926530527590 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926530528628:43926530529120 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926530530290:43926530530916 26036:26036 hsa_signal_destroy() = 0 +43926530532077:43926530532968 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 +43926530534004:43926530534444 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43926530535190:43926530535633 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 +43926530536430:43926530536778 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43926530537641:43926530551966 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43926530552858:43926530553580 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 +43926530608905:43926530612277 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926530613740:43926530614108 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926530617108:43926530617655 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926530619467:43926530619873 26036:26041 hsa_signal_destroy() = 0 +43926530622027:43926530622473 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926530623245:43926530623600 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926530554378:43926530976154 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43926531437738:43926531438476 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926545821584:43926545822572 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926545826664:43926545827878 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926545829581:43926545831716 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 +43926545833184:43926545833773 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43926545834687:43926545835306 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 +43926545836223:43926545836623 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43926546290968:43926546291714 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43926546292890:43926546294547 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 +43926546295591:43926546668686 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43926546669863:43926546670497 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926546684060:43926546684710 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43926546711364:43926546712141 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 48 +43926546713368:43926546713773 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 48 +43926546715046:43926546716406 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 +43926546726239:43926546726715 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43926546727876:43926546731698 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092cdfc30) = 0 +43926546732611:43926546733209 26036:26036 hsa_signal_store_relaxed(, 48) = void +43926546734733:43926546745342 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43926546751550:43926546752201 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926546764017:43926546764831 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 +43926546765672:43926546766050 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 49 +43926546766850:43926546767191 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 48 +43926546768139:43926546768460 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43926546769288:43926546770813 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092943d40) = 0 +43926546771565:43926546772015 26036:26036 hsa_signal_store_relaxed(, 49) = void +43926546773033:43926547245006 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926547246024:43926547246417 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926547247539:43926547248176 26036:26036 hsa_signal_destroy() = 0 +43926547249276:43926547250068 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 +43926547250907:43926547251300 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43926547252053:43926547252478 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 +43926547253269:43926547253620 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43926547254473:43926547254811 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43926547269711:43926547270352 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 +43926547325566:43926547328882 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926547330392:43926547330775 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926547333900:43926547334457 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926547336269:43926547336686 26036:26041 hsa_signal_destroy() = 0 +43926547338812:43926547339237 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926547340011:43926547340370 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926547271167:43926547692392 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43926548158304:43926548159033 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926562538511:43926562539556 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926562543753:43926562544954 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926562546890:43926562549950 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 +43926562551003:43926562551591 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43926562552415:43926562553038 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 +43926562553929:43926562554330 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43926563006919:43926563007763 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43926563009187:43926563010704 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 +43926563011571:43926563384197 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43926563385431:43926563386062 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926563399109:43926563399766 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43926563407549:43926563423029 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 50 +43926563423973:43926563424376 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 50 +43926563425428:43926563426630 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 +43926563427585:43926563428019 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43926563429224:43926563442299 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f20929489f0) = 0 +43926563443245:43926563443818 26036:26036 hsa_signal_store_relaxed(, 50) = void +43926563445400:43926563446056 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43926563461811:43926563462454 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926563465496:43926563466206 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 +43926563467048:43926563467398 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 51 +43926563468265:43926563468614 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 50 +43926563478786:43926563479124 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43926563479988:43926563480422 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092945ee0) = 0 +43926563481182:43926563481649 26036:26036 hsa_signal_store_relaxed(, 51) = void +43926563482681:43926563952448 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926563957912:43926563958326 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926563959510:43926563960141 26036:26036 hsa_signal_destroy() = 0 +43926563961288:43926563962126 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 +43926563976982:43926563977496 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43926563978312:43926563978777 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 +43926563979594:43926563979952 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43926563980817:43926563981181 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43926563981954:43926563982617 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 +43926564034023:43926564037389 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926564038913:43926564039297 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926564042278:43926564042835 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926564044605:43926564045062 26036:26041 hsa_signal_destroy() = 0 +43926564047197:43926564047636 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926564048414:43926564048776 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926563983414:43926564404843 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43926564866476:43926564867218 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926579242518:43926579243457 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926579247490:43926579248664 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926579250442:43926579252951 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 +43926579254012:43926579254627 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43926579255503:43926579256086 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 +43926579256975:43926579257389 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43926579707657:43926579708368 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43926579709601:43926579711038 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 +43926579712179:43926580084743 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43926580085977:43926580086615 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926580104645:43926580105309 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43926580123787:43926580124416 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 52 +43926580125508:43926580125912 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 52 +43926580137063:43926580138336 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 +43926580139325:43926580139792 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43926580140949:43926580144820 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f20929547d0) = 0 +43926580145738:43926580146328 26036:26036 hsa_signal_store_relaxed(, 52) = void +43926580147746:43926580148382 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43926580165179:43926580165840 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926580177664:43926580178447 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 +43926580179271:43926580179607 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 53 +43926580180411:43926580180752 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 52 +43926580181692:43926580182017 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43926580182837:43926580184367 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092950190) = 0 +43926580185117:43926580185504 26036:26036 hsa_signal_store_relaxed(, 53) = void +43926580186492:43926580655351 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926580656285:43926580656683 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926580657804:43926580658449 26036:26036 hsa_signal_destroy() = 0 +43926580659681:43926580660563 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 +43926580661407:43926580661802 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43926580662549:43926580662979 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 +43926580663783:43926580664134 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43926580664984:43926580665314 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43926580680171:43926580680878 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 +43926580736670:43926580739899 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926580741328:43926580741714 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926580744824:43926580745386 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926580747155:43926580747617 26036:26041 hsa_signal_destroy() = 0 +43926580749763:43926580750204 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926580750980:43926580751338 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926580681704:43926581102546 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43926581564002:43926581564791 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926595939665:43926595940713 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926595945356:43926595946681 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926595948614:43926595950584 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 +43926595951593:43926595952511 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43926595953337:43926595953984 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 +43926595954894:43926595955476 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43926596441094:43926596441996 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43926596443289:43926596445155 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 +43926596446084:43926596818719 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43926596819893:43926596820536 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926596833862:43926596834519 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43926596857534:43926596858170 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 54 +43926596859089:43926596859573 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 54 +43926596860881:43926596862039 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 +43926596863164:43926596863635 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43926596864915:43926596877694 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f209295acb0) = 0 +43926596878626:43926596879200 26036:26036 hsa_signal_store_relaxed(, 54) = void +43926596880528:43926596881167 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43926596897744:43926596898394 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926596901251:43926596902022 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 +43926596902860:43926596912037 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 55 +43926596912954:43926596913292 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 54 +43926596914335:43926596914657 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43926596915679:43926596917209 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092959cd0) = 0 +43926596917962:43926596918410 26036:26036 hsa_signal_store_relaxed(, 55) = void +43926596919417:43926597378625 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926597379561:43926597379982 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926597386610:43926597387342 26036:26036 hsa_signal_destroy() = 0 +43926597388629:43926597403963 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 +43926597404877:43926597405280 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43926597406046:43926597406480 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 +43926597407293:43926597407649 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43926597408531:43926597408892 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43926597409673:43926597410305 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 +43926597459619:43926597462979 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926597464421:43926597464795 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926597467584:43926597468143 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926597469969:43926597470398 26036:26041 hsa_signal_destroy() = 0 +43926597472539:43926597472997 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926597473776:43926597474136 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926597411081:43926597833349 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43926598295209:43926598296030 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926612677020:43926612677948 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926612681800:43926612683023 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926612684592:43926612687270 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 +43926612688400:43926612688990 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43926612689865:43926612690515 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 +43926612691408:43926612691815 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43926613143309:43926613144160 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43926613145603:43926613147345 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 +43926613148420:43926613520759 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43926613522053:43926613522682 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926613536098:43926613536751 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43926613555534:43926613556146 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 56 +43926613557170:43926613557571 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 56 +43926613558597:43926613559955 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 +43926613573795:43926613574273 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43926613575462:43926613579233 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f209296b900) = 0 +43926613580149:43926613580725 26036:26036 hsa_signal_store_relaxed(, 56) = void +43926613582220:43926613592913 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43926613599267:43926613599930 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926613611862:43926613612691 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 +43926613613534:43926613613874 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 57 +43926613614676:43926613615018 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 56 +43926613615937:43926613616258 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43926613617086:43926613618740 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092963350) = 0 +43926613619490:43926613619880 26036:26036 hsa_signal_store_relaxed(, 57) = void +43926613620899:43926614088498 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926614089448:43926614089849 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926614090998:43926614091627 26036:26036 hsa_signal_destroy() = 0 +43926614092683:43926614093565 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 +43926614094405:43926614094798 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43926614095543:43926614095973 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 +43926614096765:43926614097114 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43926614097964:43926614098297 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43926614113388:43926614114080 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 +43926614170008:43926614173440 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926614174890:43926614175276 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926614178254:43926614178818 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926614180604:43926614181064 26036:26041 hsa_signal_destroy() = 0 +43926614183263:43926614183684 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926614184461:43926614184828 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926614114911:43926614535965 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43926614996729:43926614997512 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926629388083:43926629389031 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926629393364:43926629394536 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926629396168:43926629398231 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 +43926629399332:43926629399971 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43926629400794:43926629401701 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 +43926629402594:43926629402991 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43926629856144:43926629856909 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43926629858176:43926629859708 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 +43926629860645:43926630233373 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43926630234556:43926630235183 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926630248926:43926630249580 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43926630268633:43926630269495 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 58 +43926630270474:43926630270954 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 58 +43926630272017:43926630273287 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 +43926630274262:43926630274734 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43926630275972:43926630288782 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f209296c6b0) = 0 +43926630289730:43926630290303 26036:26036 hsa_signal_store_relaxed(, 58) = void +43926630291860:43926630292500 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43926630308866:43926630309516 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926630312427:43926630313196 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 +43926630314048:43926630314395 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 59 +43926630315269:43926630324485 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 58 +43926630325536:43926630325869 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43926630326772:43926630327196 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092972b90) = 0 +43926630327941:43926630328393 26036:26036 hsa_signal_store_relaxed(, 59) = void +43926630329441:43926630791689 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926630792634:43926630793052 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926630794159:43926630794772 26036:26036 hsa_signal_destroy() = 0 +43926630795925:43926630796707 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 +43926630801255:43926630801697 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43926630816679:43926630817155 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 +43926630817988:43926630818351 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43926630819296:43926630819656 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43926630820439:43926630821091 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 +43926630873518:43926630876799 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926630878284:43926630878669 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926630881730:43926630882285 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926630884067:43926630884532 26036:26041 hsa_signal_destroy() = 0 +43926630886696:43926630887136 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926630887913:43926630888276 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926630821883:43926631240739 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43926631702662:43926631703404 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926646084750:43926646085868 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926646089836:43926646091493 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926646093165:43926646095214 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 +43926646096546:43926646097129 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43926646098139:43926646098969 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 +43926646099857:43926646100259 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43926646554041:43926646554892 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43926646556294:43926646558010 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 +43926646558930:43926646931344 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43926646932820:43926646933453 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926646947257:43926646947910 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43926646970381:43926646971086 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 60 +43926646972095:43926646972569 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 60 +43926646973622:43926646983857 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 +43926646984796:43926646985262 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43926646991509:43926646994878 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f20929764a0) = 0 +43926646995812:43926646996546 26036:26036 hsa_signal_store_relaxed(, 60) = void +43926646998129:43926646998768 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43926647004919:43926647005552 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926647008429:43926647009199 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 +43926647010022:43926647010357 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 61 +43926647011180:43926647011515 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 60 +43926647012441:43926647012766 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43926647013615:43926647014475 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092979be0) = 0 +43926647015252:43926647015705 26036:26036 hsa_signal_store_relaxed(, 61) = void +43926647484645:43926647488258 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926647489867:43926647490402 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926647494403:43926647496171 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926647497196:43926647497761 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926647016730:43926647531296 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926647543861:43926647544424 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926647546092:43926647546981 26036:26036 hsa_signal_destroy() = 0 +43926647548068:43926647548640 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926647549652:43926647550076 26036:26036 hsa_signal_destroy() = 0 +43926647551464:43926647552913 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 +43926647553853:43926647554330 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43926647555158:43926647555705 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 +43926647556454:43926647556831 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43926647557761:43926647558326 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43926647559182:43926647560211 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 +43926647561026:43926647963231 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43926648445914:43926648446803 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926663052694:43926663053716 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926663059620:43926663061011 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926663068907:43926663071528 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 +43926663072713:43926663073396 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43926663074350:43926663074928 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 +43926663075691:43926663076091 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43926663528921:43926663529597 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43926663530732:43926663532722 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 +43926663533510:43926663906897 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43926663907984:43926663908616 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926663925484:43926663926136 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43926663964011:43926663964720 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 62 +43926663965645:43926663966126 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 62 +43926663967311:43926663968943 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 +43926663969724:43926663970083 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43926663971456:43926663975867 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092977f30) = 0 +43926663976759:43926663977605 26036:26036 hsa_signal_store_relaxed(, 62) = void +43926663979098:43926663979734 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43926663989024:43926663989656 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926663992626:43926663993527 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 +43926663994315:43926663994693 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 63 +43926663995449:43926663995792 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 62 +43926663996763:43926663997111 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43926663997960:43926663999745 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f20929857c0) = 0 +43926664005261:43926664005832 26036:26036 hsa_signal_store_relaxed(, 63) = void +43926664007113:43926664482177 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926664483248:43926664483657 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926664484793:43926664485507 26036:26036 hsa_signal_destroy() = 0 +43926664486768:43926664488193 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 +43926664489007:43926664489421 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43926664491290:43926664491757 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 +43926664492555:43926664507290 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43926664508167:43926664508530 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43926664509329:43926664510138 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 +43926664563679:43926664567087 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926664568579:43926664568954 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926664571557:43926664572110 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926664573837:43926664574290 26036:26041 hsa_signal_destroy() = 0 +43926664576439:43926664576870 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926664577642:43926664578000 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926664510962:43926664931414 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43926665392593:43926665393377 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926679771407:43926679772627 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926679778029:43926679779323 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926679781393:43926679784211 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 +43926679785396:43926679786045 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43926679786906:43926679787502 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 +43926679788405:43926679788893 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43926680242277:43926680243056 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43926680244225:43926680245994 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 +43926680246896:43926680619748 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43926680621055:43926680621684 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926680636225:43926680636892 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43926680661768:43926680662528 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 64 +43926680663740:43926680664246 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 64 +43926680665401:43926680666628 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 +43926680667494:43926680676751 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43926680678143:43926680682314 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092981320) = 0 +43926680683192:43926680683759 26036:26036 hsa_signal_store_relaxed(, 64) = void +43926680699011:43926680699669 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43926680714766:43926680715404 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926680718218:43926680719066 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 +43926680719909:43926680720299 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 65 +43926680721037:43926680721379 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 64 +43926680722335:43926680722674 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43926680723510:43926680725232 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f209298bca0) = 0 +43926680725997:43926680726444 26036:26036 hsa_signal_store_relaxed(, 65) = void +43926680727418:43926681189222 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926681190091:43926681190609 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926681191875:43926681192514 26036:26036 hsa_signal_destroy() = 0 +43926681193732:43926681194967 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 +43926681195814:43926681196203 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43926681196941:43926681197390 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 +43926681198178:43926681198554 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43926681199407:43926681199758 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43926681214948:43926681215584 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 +43926681271039:43926681274265 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926681275757:43926681276138 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926681279399:43926681279954 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926681281696:43926681282150 26036:26041 hsa_signal_destroy() = 0 +43926681284330:43926681284757 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926681285528:43926681285887 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926681216373:43926681637345 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43926682097830:43926682098609 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926696490404:43926696491406 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926696495827:43926696497165 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926696499233:43926696501849 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 +43926696506858:43926696507415 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43926696508242:43926696508825 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 +43926696509682:43926696510477 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43926696979446:43926696980446 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43926696981584:43926696983380 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 +43926696984252:43926697357765 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43926697358953:43926697359590 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926697373376:43926697374025 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43926697394595:43926697395222 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 66 +43926697396127:43926697396526 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 66 +43926697397592:43926697398868 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 +43926697399789:43926697400198 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43926697401393:43926697414067 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092988840) = 0 +43926697415067:43926697415635 26036:26036 hsa_signal_store_relaxed(, 66) = void +43926697417161:43926697417796 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43926697433686:43926697434334 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926697436846:43926697437608 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 +43926697438451:43926697438869 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 67 +43926697439688:43926697440031 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 66 +43926697449925:43926697450283 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43926697451124:43926697452536 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f209299bd00) = 0 +43926697453309:43926697453759 26036:26036 hsa_signal_store_relaxed(, 67) = void +43926697454796:43926697915804 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926697916838:43926697917244 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926697918373:43926697919028 26036:26036 hsa_signal_destroy() = 0 +43926697920253:43926697921325 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 +43926697922206:43926697922572 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43926697923339:43926697923776 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 +43926697926199:43926697926567 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43926697941842:43926697942222 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43926697943014:43926697943603 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 +43926697997848:43926698001140 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926698002553:43926698002925 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926698006156:43926698006705 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926698008479:43926698008927 26036:26041 hsa_signal_destroy() = 0 +43926698011089:43926698011515 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926698012286:43926698012649 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926697944388:43926698365729 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43926698825421:43926698826214 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926713208573:43926713209567 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926713213786:43926713214887 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926713216680:43926713218981 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 +43926713220171:43926713220794 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43926713221670:43926713222426 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 +43926713223310:43926713223785 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43926713699866:43926713700649 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43926713701878:43926713703473 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 +43926713704373:43926714077266 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43926714078487:43926714079112 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926714095867:43926714096514 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43926714119759:43926714129468 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 68 +43926714130436:43926714130831 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 68 +43926714131959:43926714133259 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 +43926714134100:43926714134554 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43926714135914:43926714140181 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092993f20) = 0 +43926714141132:43926714141704 26036:26036 hsa_signal_store_relaxed(, 68) = void +43926714143380:43926714144015 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43926714151543:43926714152199 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926714154971:43926714155929 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 +43926714156758:43926714157142 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 69 +43926714157879:43926714158218 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 68 +43926714159184:43926714159505 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43926714160418:43926714161239 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f209299c6c0) = 0 +43926714161985:43926714162376 26036:26036 hsa_signal_store_relaxed(, 69) = void +43926714163387:43926714641916 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926714642902:43926714643416 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926714644561:43926714645228 26036:26036 hsa_signal_destroy() = 0 +43926714646497:43926714647482 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 +43926714648359:43926714648722 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43926714649466:43926714649945 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 +43926714650732:43926714651097 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43926714651950:43926714652295 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43926714667240:43926714667870 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 +43926714723763:43926714727047 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926714728608:43926714728989 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926714732147:43926714732703 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926714734490:43926714734914 26036:26041 hsa_signal_destroy() = 0 +43926714737043:43926714737484 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926714738265:43926714738627 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926714668680:43926715090676 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43926715549894:43926715550692 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926729932152:43926729933339 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926729937733:43926729939085 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926729941005:43926729943381 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 +43926729944703:43926729945188 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43926729949905:43926729950495 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 +43926729951375:43926729951849 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43926730403750:43926730404596 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43926730405701:43926730407390 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 +43926730408270:43926730781243 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43926730782429:43926730783076 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926730796646:43926730797296 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43926730820057:43926730820687 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 70 +43926730821768:43926730822174 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 70 +43926730823200:43926730833237 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 +43926730834213:43926730834670 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43926730836165:43926730839687 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f20929a88c0) = 0 +43926730840629:43926730841191 26036:26036 hsa_signal_store_relaxed(, 70) = void +43926730842588:43926730853356 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43926730859588:43926730860243 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926730871776:43926730872581 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 +43926730873402:43926730873779 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 71 +43926730874572:43926730874903 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 70 +43926730875827:43926730876159 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43926730876977:43926730878630 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f20929a62e0) = 0 +43926730879371:43926730879819 26036:26036 hsa_signal_store_relaxed(, 71) = void +43926730880835:43926731348963 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926731349872:43926731350283 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926731351532:43926731352184 26036:26036 hsa_signal_destroy() = 0 +43926731353387:43926731354362 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 +43926731355196:43926731355560 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43926731356326:43926731356757 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 +43926731357546:43926731357907 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43926731358757:43926731359102 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43926731377593:43926731378195 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 +43926731430522:43926731433859 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926731435434:43926731435824 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926731438936:43926731439495 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926731441251:43926731441707 26036:26041 hsa_signal_destroy() = 0 +43926731443884:43926731444247 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926731445024:43926731445388 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926731378993:43926731797529 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43926732264000:43926732264735 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926746642416:43926746643364 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926746647967:43926746649040 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926746650547:43926746652579 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 +43926746653883:43926746654363 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43926746655232:43926746655890 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 +43926746656799:43926746657273 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43926747110209:43926747111026 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43926747112532:43926747114124 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 +43926747115028:43926747487625 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43926747488857:43926747489486 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926747502865:43926747503532 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43926747524472:43926747525117 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 72 +43926747526154:43926747526785 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 72 +43926747527884:43926747529220 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 +43926747539329:43926747539810 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43926747541148:43926747544766 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f20929b1420) = 0 +43926747545801:43926747546366 26036:26036 hsa_signal_store_relaxed(, 72) = void +43926747547873:43926747558195 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43926747564894:43926747565547 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926747581431:43926747582195 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 +43926747583033:43926747583426 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 73 +43926747584218:43926747584552 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 72 +43926747585487:43926747585813 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43926747586648:43926747588381 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f20929ab8d0) = 0 +43926747589125:43926747589581 26036:26036 hsa_signal_store_relaxed(, 73) = void +43926747590600:43926748056094 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926748057017:43926748057536 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926748058949:43926748059628 26036:26036 hsa_signal_destroy() = 0 +43926748060835:43926748061946 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 +43926748062810:43926748063174 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43926748063921:43926748064393 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 +43926748065184:43926748065549 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43926748066392:43926748080959 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43926748081874:43926748082502 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 +43926748138101:43926748141396 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926748142844:43926748143217 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926748146189:43926748146745 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926748148532:43926748148989 26036:26041 hsa_signal_destroy() = 0 +43926748151194:43926748151639 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926748152419:43926748152782 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926748083291:43926748504635 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43926748967311:43926748968051 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926763345344:43926763346267 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926763350493:43926763351975 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926763353989:43926763356768 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 +43926763357907:43926763358515 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43926763359345:43926763360075 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 +43926763360973:43926763361454 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43926763816682:43926763817446 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43926763818644:43926763820498 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 +43926763821435:43926764194804 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43926764196141:43926764196775 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926764212390:43926764213041 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43926764231663:43926764232337 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 74 +43926764233422:43926764233827 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 74 +43926764234818:43926764236559 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 +43926764237487:43926764237899 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43926764248059:43926764251908 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f20929bfee0) = 0 +43926764253012:43926764253575 26036:26036 hsa_signal_store_relaxed(, 74) = void +43926764255076:43926764255715 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43926764272029:43926764272681 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926764275203:43926764275964 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 +43926764285688:43926764286043 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 75 +43926764286874:43926764287207 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 74 +43926764288217:43926764288547 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43926764289657:43926764291274 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f20929ba6c0) = 0 +43926764292011:43926764292462 26036:26036 hsa_signal_store_relaxed(, 75) = void +43926764293513:43926764758629 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926764759546:43926764760014 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926764761158:43926764761807 26036:26036 hsa_signal_destroy() = 0 +43926764762983:43926764763968 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 +43926764764803:43926764765204 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43926764765949:43926764766377 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 +43926764767168:43926764767534 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43926764768388:43926764768729 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43926764783959:43926764784578 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 +43926764839632:43926764843001 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926764844473:43926764844855 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926764848114:43926764848674 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926764850451:43926764850876 26036:26041 hsa_signal_destroy() = 0 +43926764853033:43926764853461 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926764854230:43926764854589 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926764786516:43926765206636 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43926765669634:43926765670377 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926780053105:43926780054002 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926780058078:43926780059263 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926780060986:43926780064004 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 +43926780065104:43926780065663 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43926780066522:43926780067269 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 +43926780068180:43926780068654 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43926780518099:43926780518759 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43926780519904:43926780521475 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 +43926780522371:43926780895399 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43926780896723:43926780897345 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926780910591:43926780911235 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43926780930354:43926780931169 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 76 +43926780932177:43926780932577 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 76 +43926780933650:43926780935014 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 +43926780935903:43926780936451 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43926780937738:43926780950610 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f20929ccff0) = 0 +43926780951675:43926780952252 26036:26036 hsa_signal_store_relaxed(, 76) = void +43926780953810:43926780954445 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43926780970529:43926780971182 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926780974271:43926780974918 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 +43926780975791:43926780976206 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 77 +43926780990356:43926780990703 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 76 +43926780991767:43926780992107 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43926780992950:43926780994559 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f20929c8fb0) = 0 +43926780995303:43926780995700 26036:26036 hsa_signal_store_relaxed(, 77) = void +43926780996719:43926781458864 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926781459824:43926781460338 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926781461478:43926781462115 26036:26036 hsa_signal_destroy() = 0 +43926781463349:43926781464251 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 +43926781465082:43926781465462 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43926781466278:43926781466704 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 +43926781467713:43926781468079 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43926781468930:43926781469264 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43926781484104:43926781484735 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 +43926781540327:43926781543593 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926781545036:43926781545412 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926781548727:43926781549280 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926781551095:43926781551510 26036:26041 hsa_signal_destroy() = 0 +43926781553830:43926781554258 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926781555031:43926781555398 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926781485544:43926781907364 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43926782369111:43926782369849 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926796757608:43926796758650 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926796762954:43926796764044 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926796765818:43926796768200 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 +43926796769419:43926796769984 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43926796770805:43926796771410 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 +43926796772605:43926796773083 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43926797226962:43926797227672 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43926797232483:43926797233981 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 +43926797234854:43926797607656 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43926797608906:43926797609534 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926797623675:43926797624328 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43926797642786:43926797643513 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 78 +43926797644732:43926797645131 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 78 +43926797646245:43926797647632 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 +43926797648486:43926797648917 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43926797650180:43926797663044 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f20929d8a90) = 0 +43926797664042:43926797664619 26036:26036 hsa_signal_store_relaxed(, 78) = void +43926797666080:43926797666716 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43926797682710:43926797683370 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926797686124:43926797686894 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 +43926797687756:43926797688152 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 79 +43926797697821:43926797698209 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 78 +43926797699160:43926797699483 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43926797700314:43926797700795 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f20929d2340) = 0 +43926797701540:43926797701987 26036:26036 hsa_signal_store_relaxed(, 79) = void +43926797703003:43926798167477 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926798168398:43926798168804 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926798169929:43926798170569 26036:26036 hsa_signal_destroy() = 0 +43926798171813:43926798172800 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 +43926798173655:43926798174054 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43926798174797:43926798175227 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 +43926798176017:43926798176382 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43926798177223:43926798191893 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43926798192799:43926798193426 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 +43926798248801:43926798252110 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926798256432:43926798256890 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926798260054:43926798260608 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926798262364:43926798262775 26036:26041 hsa_signal_destroy() = 0 +43926798264896:43926798265318 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926798266090:43926798266450 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926798194217:43926798615435 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43926799076841:43926799077581 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926813467997:43926813469050 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926813473277:43926813474523 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926813476697:43926813479351 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 +43926813480493:43926813481072 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43926813481930:43926813482532 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 +43926813483426:43926813483902 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43926813938052:43926813939026 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43926813940541:43926813942187 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 +43926813943086:43926814315736 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43926814317061:43926814317690 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926814331129:43926814331786 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43926814353838:43926814354512 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 80 +43926814355676:43926814356318 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 80 +43926814357537:43926814367464 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 +43926814368392:43926814368785 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43926814370062:43926814373952 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f20929e7ed0) = 0 +43926814374974:43926814375539 26036:26036 hsa_signal_store_relaxed(, 80) = void +43926814376927:43926814387787 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43926814394372:43926814395031 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926814407023:43926814407802 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 +43926814408659:43926814409038 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 81 +43926814409865:43926814410196 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 80 +43926814415087:43926814415419 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43926814416308:43926814418008 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f20929e3ca0) = 0 +43926814418758:43926814419203 26036:26036 hsa_signal_store_relaxed(, 81) = void +43926814420220:43926814885119 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926814886057:43926814886519 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926814887658:43926814888321 26036:26036 hsa_signal_destroy() = 0 +43926814889550:43926814890523 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 +43926814891411:43926814891820 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43926814892585:43926814893024 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 +43926814893814:43926814894176 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43926814895047:43926814895379 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43926814910825:43926814911450 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 +43926814967047:43926814970211 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926814971743:43926814972117 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926814975183:43926814975725 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926814977487:43926814977903 26036:26041 hsa_signal_destroy() = 0 +43926814980022:43926814980456 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926814981226:43926814981587 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926814912234:43926815333335 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43926815794332:43926815795072 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926830179959:43926830180914 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926830184947:43926830186014 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926830187837:43926830190967 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 +43926830192119:43926830192686 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43926830193522:43926830194118 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 +43926830195007:43926830195487 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43926830646478:43926830647250 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43926830648609:43926830650134 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 +43926830655276:43926831024014 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43926831025328:43926831025955 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926831040508:43926831041157 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43926831063836:43926831064432 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 82 +43926831065620:43926831066024 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 82 +43926831075817:43926831077061 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 +43926831077929:43926831078391 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43926831079597:43926831083259 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f20929ee6b0) = 0 +43926831084222:43926831084790 26036:26036 hsa_signal_store_relaxed(, 82) = void +43926831086212:43926831096924 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43926831103171:43926831103825 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926831115993:43926831116807 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 +43926831117644:43926831117968 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 83 +43926831118765:43926831119104 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 82 +43926831120080:43926831120409 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43926831121220:43926831122818 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f20929edc30) = 0 +43926831123566:43926831124016 26036:26036 hsa_signal_store_relaxed(, 83) = void +43926831125022:43926831592120 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926831593096:43926831593512 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926831594521:43926831595185 26036:26036 hsa_signal_destroy() = 0 +43926831596414:43926831597475 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 +43926831598333:43926831598697 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43926831599465:43926831599884 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 +43926831600676:43926831601040 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43926831601887:43926831602232 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43926831602989:43926831618106 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 +43926831674461:43926831677873 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926831679361:43926831679734 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926831682728:43926831683284 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926831688055:43926831688511 26036:26041 hsa_signal_destroy() = 0 +43926831690674:43926831691223 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926831691999:43926831692358 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926831618942:43926832041073 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43926832502268:43926832503010 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926846897759:43926846898900 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926846903336:43926846904366 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926846905877:43926846907816 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 +43926846908951:43926846909586 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43926846910446:43926846910988 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 +43926846911879:43926846912361 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43926847362442:43926847363271 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43926847364401:43926847366054 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 +43926847367015:43926847755386 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43926847756524:43926847757153 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926847770161:43926847770820 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43926847779532:43926847794921 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 84 +43926847796171:43926847796570 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 84 +43926847797715:43926847799080 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 +43926847800018:43926847800355 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43926847801602:43926847814241 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f20929f94b0) = 0 +43926847815311:43926847815880 26036:26036 hsa_signal_store_relaxed(, 84) = void +43926847817343:43926847817981 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43926847838718:43926847839367 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926847851376:43926847852170 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 +43926847853024:43926847853359 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 85 +43926847854180:43926847854511 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 84 +43926847855449:43926847855770 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43926847858063:43926847859724 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f20929f8880) = 0 +43926847860477:43926847860926 26036:26036 hsa_signal_store_relaxed(, 85) = void +43926847861955:43926849699110 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926849700221:43926849700778 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926849701847:43926849702652 26036:26036 hsa_signal_destroy() = 0 +43926849703914:43926849704838 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 +43926849705703:43926849706117 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43926849706905:43926849707369 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 +43926849717335:43926849717717 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43926849718524:43926849718890 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43926849719653:43926849720391 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 +43926849756261:43926849759515 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926849761035:43926849761405 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926849774888:43926849775483 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926849777287:43926849777751 26036:26041 hsa_signal_destroy() = 0 +43926849779913:43926849780412 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926849781206:43926849781576 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926849721144:43926850151110 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43926850612303:43926850613048 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926864999289:43926865000288 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926865004811:43926865005810 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926865007601:43926865009841 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 +43926865010985:43926865011544 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43926865012387:43926865013051 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 +43926865013939:43926865014415 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43926865468287:43926865469078 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43926865470209:43926865471840 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 +43926865472747:43926865860882 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43926865862176:43926865862797 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926865881623:43926865882274 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43926865900970:43926865901626 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 86 +43926865902651:43926865903057 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 86 +43926865904168:43926865914301 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 +43926865915181:43926865915585 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43926865916764:43926865920769 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f20929fa3e0) = 0 +43926865921707:43926865922271 26036:26036 hsa_signal_store_relaxed(, 86) = void +43926865923710:43926865934504 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43926865940725:43926865941403 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926865952914:43926865953693 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 +43926865954526:43926865954859 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 87 +43926865955653:43926865955989 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 86 +43926865956915:43926865957244 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43926865958077:43926865959861 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092a00c20) = 0 +43926865960606:43926865961052 26036:26036 hsa_signal_store_relaxed(, 87) = void +43926865962068:43926867806324 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926867807340:43926867807758 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926867808963:43926867809623 26036:26036 hsa_signal_destroy() = 0 +43926867811005:43926867812023 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 +43926867812876:43926867813298 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43926867814064:43926867823612 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 +43926867824495:43926867824864 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43926867825721:43926867826072 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43926867826824:43926867827422 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 +43926867862616:43926867865886 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926867867353:43926867867734 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926867881203:43926867881786 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926867883703:43926867884180 26036:26041 hsa_signal_destroy() = 0 +43926867889502:43926867890049 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926867890868:43926867891244 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926867828181:43926868258434 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43926868720165:43926868720906 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926883098924:43926883099971 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926883104054:43926883105146 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926883106996:43926883109159 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 +43926883110567:43926883111155 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43926883112024:43926883112718 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 +43926883113606:43926883114082 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43926883569259:43926883569972 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43926883571122:43926883572849 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 +43926883573816:43926883962183 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43926883963381:43926883964007 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926883977297:43926883977955 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43926884006620:43926884007355 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 88 +43926884008410:43926884008891 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 88 +43926884018687:43926884019998 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 +43926884020867:43926884021330 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43926884022564:43926884026171 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092a031e0) = 0 +43926884027158:43926884027725 26036:26036 hsa_signal_store_relaxed(, 88) = void +43926884029226:43926884039866 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43926884046328:43926884047005 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926884058945:43926884059806 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 +43926884060670:43926884061050 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 89 +43926884061891:43926884062226 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 88 +43926884063141:43926884063471 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43926884064337:43926884066119 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092a09d40) = 0 +43926884066905:43926884067301 26036:26036 hsa_signal_store_relaxed(, 89) = void +43926884071520:43926885910226 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926885911187:43926885911712 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926885912812:43926885913551 26036:26036 hsa_signal_destroy() = 0 +43926885914704:43926885915565 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 +43926885916477:43926885916854 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43926885917629:43926885918085 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 +43926885927709:43926885928127 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43926885928963:43926885929315 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43926885930077:43926885930855 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 +43926885966843:43926885970062 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926885971540:43926885971912 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926885985293:43926885985884 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926885987686:43926885988145 26036:26041 hsa_signal_destroy() = 0 +43926885990337:43926885990776 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926885991569:43926885991936 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926885931599:43926886362684 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43926886825469:43926886826237 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926901212602:43926901213545 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926901217942:43926901218955 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926901220604:43926901223068 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 +43926901224411:43926901224889 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43926901225711:43926901226371 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 +43926901227282:43926901227760 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43926901680433:43926901681178 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43926901682623:43926901684240 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 +43926901685104:43926902073275 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43926902074496:43926902075119 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926902088969:43926902089627 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43926902112303:43926902113062 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 90 +43926902114036:43926902114441 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 90 +43926902115486:43926902116911 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 +43926902126877:43926902127349 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43926902128541:43926902132209 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092a06680) = 0 +43926902133131:43926902133696 26036:26036 hsa_signal_store_relaxed(, 90) = void +43926902135184:43926902135823 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43926902152322:43926902152973 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926902164747:43926902165541 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 +43926902166388:43926902166773 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 91 +43926902167575:43926902167908 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 90 +43926902168842:43926902169164 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43926902170002:43926902171692 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092a08040) = 0 +43926902172445:43926902172894 26036:26036 hsa_signal_store_relaxed(, 91) = void +43926902173955:43926904019842 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926904020882:43926904021571 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926904022692:43926904023360 26036:26036 hsa_signal_destroy() = 0 +43926904024491:43926904025408 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 +43926904026326:43926904026692 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43926904027453:43926904027915 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 +43926904037730:43926904038115 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43926904038998:43926904039341 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43926904040108:43926904040720 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 +43926904077071:43926904080342 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926904081826:43926904082214 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926904095694:43926904096287 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926904098127:43926904098607 26036:26041 hsa_signal_destroy() = 0 +43926904100872:43926904101348 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926904105292:43926904105772 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926904041471:43926904471684 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43926904935189:43926904935933 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926919312104:43926919313219 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926919317318:43926919318629 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926919320278:43926919322232 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 +43926919323296:43926919323787 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43926919324814:43926919325504 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 +43926919326414:43926919326887 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43926919777638:43926919778344 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43926919779529:43926919781016 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 +43926919781913:43926920169930 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43926920171174:43926920171808 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926920185030:43926920185678 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43926920205064:43926920205778 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 92 +43926920206854:43926920207242 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 92 +43926920208310:43926920209589 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 +43926920210444:43926920210858 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43926920212075:43926920224935 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092a13eb0) = 0 +43926920226029:43926920226610 26036:26036 hsa_signal_store_relaxed(, 92) = void +43926920228117:43926920228758 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43926920244805:43926920245456 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926920248405:43926920249339 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 +43926920250217:43926920250615 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 93 +43926920260381:43926920260722 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 92 +43926920261665:43926920261989 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43926920262855:43926920263747 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092a22830) = 0 +43926920264721:43926920265176 26036:26036 hsa_signal_store_relaxed(, 93) = void +43926920266187:43926922105053 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926922111614:43926922112149 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926922122396:43926922123071 26036:26036 hsa_signal_destroy() = 0 +43926922124411:43926922125315 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 +43926922126161:43926922126526 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43926922127272:43926922127699 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 +43926922128494:43926922128857 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43926922129724:43926922130064 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43926922130817:43926922141572 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 +43926922161094:43926922164285 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926922165895:43926922166267 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926922179868:43926922180448 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926922182299:43926922182754 26036:26041 hsa_signal_destroy() = 0 +43926922184945:43926922185385 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926922186186:43926922186557 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926922142396:43926922566129 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43926923027384:43926923028132 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926937422236:43926937423304 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926937428056:43926937429390 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926937430930:43926937433066 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 +43926937434153:43926937434725 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43926937435546:43926937436248 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 +43926937437196:43926937437692 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43926937909759:43926937910470 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43926937911615:43926937913360 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 +43926937914218:43926938301830 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43926938303159:43926938303786 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926938317138:43926938317780 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43926938337277:43926938338136 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 94 +43926938343178:43926938343608 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 94 +43926938344575:43926938345868 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 +43926938355987:43926938356470 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43926938357593:43926938361064 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092a1bcb0) = 0 +43926938362037:43926938362604 26036:26036 hsa_signal_store_relaxed(, 94) = void +43926938364006:43926938364637 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43926938380883:43926938381567 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926938393604:43926938394386 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 +43926938395233:43926938395573 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 95 +43926938396367:43926938396701 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 94 +43926938397619:43926938397941 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43926938398774:43926938400372 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092a2dd10) = 0 +43926938401122:43926938401570 26036:26036 hsa_signal_store_relaxed(, 95) = void +43926938402567:43926940252262 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926940253338:43926940253757 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926940254878:43926940255540 26036:26036 hsa_signal_destroy() = 0 +43926940256740:43926940257687 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 +43926940258562:43926940258941 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43926940259704:43926940260143 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 +43926940269832:43926940270265 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43926940271144:43926940271495 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43926940272256:43926940272898 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 +43926940309075:43926940312432 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926940313841:43926940314212 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926940327561:43926940328153 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926940329931:43926940330393 26036:26041 hsa_signal_destroy() = 0 +43926940332580:43926940333024 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926940333825:43926940334193 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926940273655:43926940703615 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43926941166603:43926941167436 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926955545461:43926955546461 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926955550754:43926955551852 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926955553696:43926955555886 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 +43926955556998:43926955557542 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43926955558399:43926955559076 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 +43926955559971:43926955560451 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43926956015898:43926956016665 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43926956017926:43926956019605 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 +43926956020564:43926956408206 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43926956409485:43926956410121 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926956423978:43926956424640 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43926956433143:43926956448459 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 96 +43926956449417:43926956449818 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 96 +43926956450983:43926956452148 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 +43926956453077:43926956453596 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43926956454971:43926956467218 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092a28260) = 0 +43926956468274:43926956468845 26036:26036 hsa_signal_store_relaxed(, 96) = void +43926956470395:43926956471028 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43926956487124:43926956487772 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926956490814:43926956491699 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 +43926956492564:43926956492975 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 97 +43926956502676:43926956503072 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 96 +43926956504098:43926956504422 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43926956505406:43926956506265 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092a2e1c0) = 0 +43926956507237:43926956507697 26036:26036 hsa_signal_store_relaxed(, 97) = void +43926956508708:43926958348297 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926958349283:43926958349801 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926958354463:43926958355126 26036:26036 hsa_signal_destroy() = 0 +43926958356283:43926958366146 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 +43926958367030:43926958367433 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43926958368189:43926958368637 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 +43926958369420:43926958369835 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43926958370691:43926958371048 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43926958371805:43926958372428 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 +43926958404851:43926958408082 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926958409679:43926958410054 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926958423735:43926958424325 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926958426128:43926958426593 26036:26041 hsa_signal_destroy() = 0 +43926958428859:43926958429293 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926958430086:43926958430454 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926958373199:43926958808699 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43926959270687:43926959271426 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926973656329:43926973657254 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926973661381:43926973662555 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926973664130:43926973666252 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 +43926973667542:43926973668045 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43926973668878:43926973669560 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 +43926973670446:43926973670972 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43926974144784:43926974145548 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43926974146875:43926974148494 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 +43926974149404:43926974536992 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43926974538272:43926974538895 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926974552550:43926974553217 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43926974561885:43926974562584 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 98 +43926974574469:43926974574882 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 98 +43926974575991:43926974577306 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 +43926974582888:43926974583416 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43926974593551:43926974596735 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092a33f20) = 0 +43926974597713:43926974598287 26036:26036 hsa_signal_store_relaxed(, 98) = void +43926974599794:43926974600426 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43926974616578:43926974617226 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926974619839:43926974620595 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 +43926974630571:43926974630934 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 99 +43926974631773:43926974632114 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 98 +43926974633047:43926974633366 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43926974634260:43926974635778 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092a3c000) = 0 +43926974636518:43926974636916 26036:26036 hsa_signal_store_relaxed(, 99) = void +43926974637913:43926976479944 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926976480978:43926976481410 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926976482612:43926976483268 26036:26036 hsa_signal_destroy() = 0 +43926976484492:43926976485405 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 +43926976486284:43926976486792 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43926976487564:43926976488012 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 +43926976497850:43926976498235 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43926976499116:43926976499465 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43926976500230:43926976500837 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 +43926976537119:43926976540449 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926976541905:43926976542277 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926976555879:43926976556469 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926976558269:43926976558735 26036:26041 hsa_signal_destroy() = 0 +43926976560969:43926976561413 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926976562208:43926976562574 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926976501599:43926976932645 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43926977395676:43926977396421 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926991774478:43926991775560 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926991779771:43926991780833 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926991782306:43926991784528 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 +43926991785618:43926991786398 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43926991787275:43926991788011 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 +43926991788907:43926991789377 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43926992264321:43926992265473 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43926992266781:43926992268327 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 +43926992269295:43926992657046 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43926992658385:43926992659017 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926992673113:43926992673759 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43926992692926:43926992693567 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 100 +43926992694580:43926992694981 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 100 +43926992696055:43926992697449 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 +43926992698303:43926992698825 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43926992699995:43926992712393 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092843250) = 0 +43926992713453:43926992714023 26036:26036 hsa_signal_store_relaxed(, 100) = void +43926992715574:43926992716232 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43926992732182:43926992732828 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43926992735524:43926992736288 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 +43926992737204:43926992737566 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 101 +43926992747618:43926992747976 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 100 +43926992748946:43926992749266 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43926992750212:43926992751059 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092a3de40) = 0 +43926992751835:43926992752285 26036:26036 hsa_signal_store_relaxed(, 101) = void +43926992753325:43926994605505 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926994606518:43926994606986 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926994608092:43926994608753 26036:26036 hsa_signal_destroy() = 0 +43926994609865:43926994610715 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 +43926994625249:43926994625618 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43926994626386:43926994626899 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 +43926994627691:43926994628102 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43926994628964:43926994629309 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43926994630061:43926994630700 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 +43926994661861:43926994665088 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926994666503:43926994666879 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926994680165:43926994680751 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43926994682570:43926994683030 26036:26041 hsa_signal_destroy() = 0 +43926994685186:43926994685657 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926994686436:43926994686811 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43926994631456:43926995065574 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43926995527430:43926995528245 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927009904192:43927009905384 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927009909804:43927009911259 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927009912888:43927009915005 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 +43927009916084:43927009916768 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43927009917588:43927009918257 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 +43927009919146:43927009919636 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43927010370655:43927010371402 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43927010372910:43927010374424 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 +43927010375285:43927010763075 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43927010764388:43927010765018 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927010782816:43927010783459 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43927010801985:43927010803138 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 102 +43927010804179:43927010804584 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 102 +43927010805663:43927010816353 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 +43927010817342:43927010817860 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43927010820200:43927010823376 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f209284ffa0) = 0 +43927010824341:43927010824906 26036:26036 hsa_signal_store_relaxed(, 102) = void +43927010826590:43927010837178 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43927010843502:43927010844176 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927010856926:43927010857700 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 +43927010858517:43927010858891 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 103 +43927010859683:43927010860020 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 102 +43927010860950:43927010861274 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43927010862098:43927010863659 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f209284f390) = 0 +43927010864406:43927010864990 26036:26036 hsa_signal_store_relaxed(, 103) = void +43927010865992:43927012715851 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927012716884:43927012717302 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927012718403:43927012719062 26036:26036 hsa_signal_destroy() = 0 +43927012720219:43927012721168 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 +43927012722020:43927012722387 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43927012723212:43927012723667 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 +43927012733254:43927012733639 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43927012734518:43927012734867 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43927012735632:43927012736242 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 +43927012772496:43927012775723 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927012777199:43927012777569 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927012791042:43927012791626 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927012793466:43927012793926 26036:26041 hsa_signal_destroy() = 0 +43927012796158:43927012796668 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927012797465:43927012797831 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927012737007:43927013167586 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43927013628259:43927013629000 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927028007978:43927028009049 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927028017470:43927028018649 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927028020526:43927028022578 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 +43927028023692:43927028024306 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43927028025143:43927028025799 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 +43927028026625:43927028027208 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43927028475357:43927028476280 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43927028477486:43927028479109 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 +43927028480038:43927028868871 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43927028870009:43927028870633 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927028884735:43927028885391 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43927028904071:43927028904777 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 104 +43927028905758:43927028906158 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 104 +43927028907432:43927028908742 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 +43927028909721:43927028910278 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43927028911488:43927028923782 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f20928635d0) = 0 +43927028924785:43927028925356 26036:26036 hsa_signal_store_relaxed(, 104) = void +43927028926754:43927028927412 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43927028943461:43927028944102 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927028946924:43927028947727 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 +43927028948584:43927028948947 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 105 +43927028949765:43927028950105 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 104 +43927028959955:43927028960306 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43927028961206:43927028962074 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f209285d3a0) = 0 +43927028962828:43927028963278 26036:26036 hsa_signal_store_relaxed(, 105) = void +43927028964275:43927030811802 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927030812771:43927030813292 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927030814536:43927030815199 26036:26036 hsa_signal_destroy() = 0 +43927030816457:43927030817491 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 +43927030818334:43927030818699 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43927030829895:43927030830370 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 +43927030831183:43927030831549 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43927030832413:43927030832763 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43927030833513:43927030834123 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 +43927030868051:43927030871323 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927030872793:43927030873168 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927030886721:43927030887312 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927030889161:43927030889637 26036:26041 hsa_signal_destroy() = 0 +43927030891846:43927030892326 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927030893117:43927030893482 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927030834881:43927031271571 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43927031733900:43927031734633 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927046116850:43927046117843 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927046122259:43927046123398 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927046125190:43927046127422 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 +43927046128544:43927046129033 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43927046129861:43927046130522 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 +43927046131408:43927046131885 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43927046601957:43927046602667 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43927046603884:43927046605571 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 +43927046606435:43927046995148 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43927046996339:43927046996965 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927047014792:43927047015439 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43927047033818:43927047034535 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 106 +43927047035612:43927047036029 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 106 +43927047037406:43927047038705 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 +43927047048779:43927047049315 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43927047050510:43927047053862 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f20928743b0) = 0 +43927047055817:43927047056405 26036:26036 hsa_signal_store_relaxed(, 106) = void +43927047068375:43927047069034 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43927047075164:43927047075841 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927047087371:43927047088143 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 +43927047088959:43927047089348 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 107 +43927047090137:43927047090470 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 106 +43927047091397:43927047091716 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43927047092534:43927047094134 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f209286d600) = 0 +43927047094880:43927047095326 26036:26036 hsa_signal_store_relaxed(, 107) = void +43927047096352:43927048942378 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927048943382:43927048943802 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927048944987:43927048945674 26036:26036 hsa_signal_destroy() = 0 +43927048946826:43927048947745 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 +43927048948604:43927048948981 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43927048949793:43927048950231 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 +43927048960185:43927048960567 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43927048961443:43927048961792 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43927048962555:43927048963159 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 +43927048999684:43927049002895 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927049004310:43927049004686 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927049017904:43927049018493 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927049020343:43927049020774 26036:26041 hsa_signal_destroy() = 0 +43927049022969:43927049023424 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927049024221:43927049024589 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927048963913:43927049394713 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43927049857756:43927049858523 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927064242689:43927064243638 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927064247398:43927064248566 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927064250329:43927064252514 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 +43927064259437:43927064260063 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43927064260906:43927064261785 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 +43927064262638:43927064263107 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43927064711847:43927064712565 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43927064713830:43927064715479 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 +43927064716401:43927065105270 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43927065106521:43927065107144 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927065120693:43927065121349 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43927065140090:43927065140825 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 108 +43927065141825:43927065142224 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 108 +43927065143304:43927065144660 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 +43927065145527:43927065146048 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43927065147233:43927065159594 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f209287ea90) = 0 +43927065160612:43927065161181 26036:26036 hsa_signal_store_relaxed(, 108) = void +43927065162727:43927065163363 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43927065179204:43927065179857 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927065182858:43927065183644 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 +43927065184514:43927065184913 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 109 +43927065185727:43927065186077 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 108 +43927065195980:43927065196330 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43927065197166:43927065197655 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f209287db30) = 0 +43927065198399:43927065198845 26036:26036 hsa_signal_store_relaxed(, 109) = void +43927065199908:43927067039101 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927067040160:43927067040680 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927067041846:43927067042489 26036:26036 hsa_signal_destroy() = 0 +43927067043704:43927067044664 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 +43927067045611:43927067046064 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43927067046825:43927067047267 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 +43927067058434:43927067058798 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43927067059673:43927067060023 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43927067060783:43927067061392 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 +43927067095412:43927067098651 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927067100129:43927067100500 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927067114061:43927067114646 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927067116494:43927067116909 26036:26041 hsa_signal_destroy() = 0 +43927067119193:43927067119669 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927067120460:43927067120826 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927067062158:43927067499536 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43927067960816:43927067961555 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927082344162:43927082345164 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927082349357:43927082350531 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927082352473:43927082354894 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 +43927082356224:43927082357034 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43927082357868:43927082358566 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 +43927082359469:43927082359948 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43927082813083:43927082813794 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43927082815134:43927082816549 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 +43927082817412:43927083205933 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43927083207151:43927083207781 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927083221274:43927083221929 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43927083240692:43927083241412 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 110 +43927083242379:43927083242776 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 110 +43927083243943:43927083245177 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 +43927083246132:43927083246642 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43927083247921:43927083259948 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f20928885b0) = 0 +43927083260956:43927083261524 26036:26036 hsa_signal_store_relaxed(, 110) = void +43927083262982:43927083263619 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43927083284618:43927083285264 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927083296641:43927083297458 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 +43927083298281:43927083298662 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 111 +43927083299460:43927083299794 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 110 +43927083300734:43927083301060 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43927083301883:43927083303462 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092887120) = 0 +43927083304211:43927083304661 26036:26036 hsa_signal_store_relaxed(, 111) = void +43927083305662:43927085138902 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927085139903:43927085140320 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927085141589:43927085142263 26036:26036 hsa_signal_destroy() = 0 +43927085143425:43927085144392 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 +43927085145248:43927085145651 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43927085146437:43927085146877 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 +43927085156808:43927085157175 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43927085158055:43927085158406 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43927085159160:43927085159866 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 +43927085196692:43927085199909 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927085201315:43927085201690 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927085215140:43927085215731 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927085217537:43927085218012 26036:26041 hsa_signal_destroy() = 0 +43927085220175:43927085220651 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927085221436:43927085221810 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927085160614:43927085592244 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43927086054512:43927086055254 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927100434196:43927100435407 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927100439734:43927100440772 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927100442372:43927100444484 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 +43927100445532:43927100446149 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43927100450596:43927100451287 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 +43927100452142:43927100452540 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43927100901880:43927100902558 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43927100903839:43927100905293 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 +43927100906221:43927101278904 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43927101280103:43927101280734 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927101294961:43927101295614 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43927101314183:43927101314813 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 112 +43927101315864:43927101316265 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 112 +43927101317299:43927101318587 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 +43927101319442:43927101319973 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43927101321144:43927101333244 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f209288a280) = 0 +43927101334229:43927101334804 26036:26036 hsa_signal_store_relaxed(, 112) = void +43927101336234:43927101336871 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43927101352553:43927101353199 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927101355962:43927101356754 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 +43927101357587:43927101357962 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 113 +43927101358772:43927101359116 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 112 +43927101369108:43927101369454 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43927101370283:43927101372460 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092895410) = 0 +43927101373210:43927101373599 26036:26036 hsa_signal_store_relaxed(, 113) = void +43927101374599:43927101834010 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927101834931:43927101835436 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927101836602:43927101837312 26036:26036 hsa_signal_destroy() = 0 +43927101838619:43927101839510 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 +43927101840341:43927101840734 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43927101841536:43927101841965 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 +43927101842756:43927101843100 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43927101843970:43927101844311 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43927101861171:43927101861797 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 +43927101915154:43927101918460 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927101919873:43927101920246 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927101923374:43927101923938 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927101925678:43927101926138 26036:26041 hsa_signal_destroy() = 0 +43927101928286:43927101928752 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927101929530:43927101929889 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927101862596:43927102282964 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43927102743235:43927102743984 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927117131894:43927117133009 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927117137423:43927117138494 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927117140185:43927117142331 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 +43927117143634:43927117144236 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43927117145056:43927117145728 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 +43927117146613:43927117147012 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43927117601028:43927117601794 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43927117603041:43927117604575 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 +43927117605439:43927117978047 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43927117979272:43927117979897 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927117993152:43927117993801 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43927118002588:43927118013525 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 114 +43927118014502:43927118014907 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 114 +43927118016089:43927118017574 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 +43927118018565:43927118019043 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43927118020267:43927118032719 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f209288fc70) = 0 +43927118033709:43927118034596 26036:26036 hsa_signal_store_relaxed(, 114) = void +43927118036070:43927118036709 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43927118052517:43927118053166 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927118069100:43927118070044 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 +43927118070871:43927118071255 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 115 +43927118072046:43927118072375 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 114 +43927118073298:43927118073627 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43927118074459:43927118076107 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092897200) = 0 +43927118076853:43927118077302 26036:26036 hsa_signal_store_relaxed(, 115) = void +43927118078329:43927118532382 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927118533255:43927118533670 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927118534800:43927118535458 26036:26036 hsa_signal_destroy() = 0 +43927118536608:43927118537481 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 +43927118538314:43927118538705 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43927118539504:43927118539929 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 +43927118540718:43927118541060 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43927118541921:43927118542268 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43927118557291:43927118557900 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 +43927118613645:43927118617027 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927118618445:43927118618819 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927118621977:43927118622528 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927118624297:43927118624712 26036:26041 hsa_signal_destroy() = 0 +43927118626839:43927118627280 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927118628056:43927118628411 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927118558716:43927118979836 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43927119440922:43927119441664 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927133824230:43927133825224 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927133829662:43927133831185 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927133832800:43927133834891 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 +43927133836001:43927133836621 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43927133837478:43927133838148 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 +43927133842702:43927133843104 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43927134291450:43927134292162 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43927134293409:43927134294964 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 +43927134295876:43927134668377 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43927134669612:43927134670237 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927134683790:43927134684438 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43927134703364:43927134704119 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 116 +43927134705141:43927134705538 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 116 +43927134706577:43927134707863 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 +43927134708841:43927134709357 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43927134710542:43927134722867 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f20928957d0) = 0 +43927134723853:43927134724427 26036:26036 hsa_signal_store_relaxed(, 116) = void +43927134725822:43927134726457 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43927134743823:43927134744464 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927134747427:43927134748247 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 +43927134749107:43927134749506 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 117 +43927134759461:43927134759817 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 116 +43927134760759:43927134761082 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43927134761929:43927134763466 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f20928ac1d0) = 0 +43927134764219:43927134764674 26036:26036 hsa_signal_store_relaxed(, 117) = void +43927134765702:43927135226718 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927135227733:43927135228252 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927135229303:43927135229978 26036:26036 hsa_signal_destroy() = 0 +43927135231194:43927135232255 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 +43927135233095:43927135233536 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43927135234340:43927135234765 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 +43927135235554:43927135235895 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43927135250966:43927135251387 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43927135252205:43927135252971 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 +43927135307047:43927135310253 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927135311717:43927135312107 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927135315207:43927135315770 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927135317539:43927135317995 26036:26041 hsa_signal_destroy() = 0 +43927135320144:43927135320592 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927135321364:43927135321725 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927135254644:43927135674748 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43927136140732:43927136141467 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927150516381:43927150517370 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927150521523:43927150522630 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927150524255:43927150526396 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 +43927150527555:43927150528236 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43927150529076:43927150529748 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 +43927150530636:43927150531032 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43927150983729:43927150984822 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43927150986004:43927150987696 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 +43927150988716:43927151361263 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43927151362492:43927151363117 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927151377298:43927151377948 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43927151400203:43927151401015 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 118 +43927151402083:43927151402487 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 118 +43927151403610:43927151413624 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 +43927151414601:43927151415117 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43927151416295:43927151419405 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f20928a1b60) = 0 +43927151420388:43927151420976 26036:26036 hsa_signal_store_relaxed(, 118) = void +43927151422517:43927151433339 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43927151439739:43927151440386 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927151451958:43927151452751 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 +43927151457501:43927151457887 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 119 +43927151458681:43927151459017 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 118 +43927151459951:43927151460279 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43927151461100:43927151462808 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f20928b1360) = 0 +43927151463559:43927151464010 26036:26036 hsa_signal_store_relaxed(, 119) = void +43927151465060:43927151923044 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927151924028:43927151924444 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927151925457:43927151926100 26036:26036 hsa_signal_destroy() = 0 +43927151927368:43927151928237 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 +43927151929225:43927151929617 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43927151930389:43927151930820 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 +43927151931612:43927151931958 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43927151932842:43927151933188 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43927151948133:43927151948792 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 +43927152025224:43927152028759 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927152030303:43927152030700 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927152033815:43927152034387 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927152036203:43927152036683 26036:26041 hsa_signal_destroy() = 0 +43927152038922:43927152039357 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927152040156:43927152040523 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927151949624:43927152383301 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43927152844697:43927152845440 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927167222547:43927167223560 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927167227569:43927167228577 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927167230358:43927167232566 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 +43927167233940:43927167234525 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43927167235400:43927167236162 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 +43927167237106:43927167237500 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43927167691531:43927167692242 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43927167697493:43927167699161 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 +43927167699993:43927168072959 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43927168074320:43927168074961 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927168089024:43927168089668 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43927168112407:43927168113126 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 120 +43927168114248:43927168114739 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 120 +43927168124703:43927168125992 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 +43927168126863:43927168127339 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43927168128539:43927168132434 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f20928aefd0) = 0 +43927168133323:43927168133888 26036:26036 hsa_signal_store_relaxed(, 120) = void +43927168135426:43927168146068 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43927168152684:43927168153340 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927168165213:43927168166035 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 +43927168166856:43927168167237 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 121 +43927168168044:43927168168373 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 120 +43927168169308:43927168169637 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43927168170483:43927168172226 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f20928bd260) = 0 +43927168172984:43927168173433 26036:26036 hsa_signal_store_relaxed(, 121) = void +43927168174449:43927168636593 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927168637491:43927168638003 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927168639118:43927168639892 26036:26036 hsa_signal_destroy() = 0 +43927168641083:43927168641927 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 +43927168642766:43927168643158 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43927168643908:43927168644321 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 +43927168645111:43927168645457 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43927168646325:43927168646662 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43927168661755:43927168662404 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 +43927168717869:43927168721144 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927168725685:43927168726127 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927168729278:43927168729838 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927168731659:43927168732107 26036:26041 hsa_signal_destroy() = 0 +43927168734466:43927168734911 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927168735689:43927168736049 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927168663213:43927169083929 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43927169546416:43927169547200 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927183924489:43927183925344 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927183929564:43927183930781 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927183932532:43927183934678 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 +43927183935751:43927183936355 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43927183937177:43927183937842 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 +43927183938730:43927183939202 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43927184397146:43927184397977 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43927184399205:43927184400942 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 +43927184401878:43927184774169 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43927184775402:43927184776029 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927184789601:43927184790242 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43927184812847:43927184813701 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 122 +43927184814763:43927184815248 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 122 +43927184816320:43927184817565 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 +43927184827290:43927184827769 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43927184829092:43927184832673 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f20928b6cb0) = 0 +43927184833605:43927184834171 26036:26036 hsa_signal_store_relaxed(, 122) = void +43927184835586:43927184836224 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43927184853151:43927184853806 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927184865473:43927184866229 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 +43927184867047:43927184867424 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 123 +43927184868251:43927184868584 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 122 +43927184873169:43927184873497 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43927184874327:43927184876178 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f20928c4f30) = 0 +43927184876939:43927184877393 26036:26036 hsa_signal_store_relaxed(, 123) = void +43927184878388:43927185338955 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927185339903:43927185340313 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927185341433:43927185342276 26036:26036 hsa_signal_destroy() = 0 +43927185343475:43927185344594 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 +43927185345437:43927185345887 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43927185346636:43927185347092 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 +43927185347882:43927185348226 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43927185349092:43927185363835 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43927185364719:43927185365315 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 +43927185420727:43927185424063 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927185425504:43927185425884 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927185429158:43927185429710 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927185431476:43927185431920 26036:26041 hsa_signal_destroy() = 0 +43927185434103:43927185434527 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927185435297:43927185435657 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927185366112:43927185786839 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43927186247399:43927186248137 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927200629036:43927200629921 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927200634313:43927200635600 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927200637497:43927200639947 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 +43927200640939:43927200641516 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43927200642372:43927200643062 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 +43927200643953:43927200644353 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43927201092681:43927201093472 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43927201094880:43927201096683 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 +43927201101326:43927201470009 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43927201471168:43927201471799 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927201484975:43927201485625 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43927201509343:43927201509942 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 124 +43927201511067:43927201511471 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 124 +43927201512605:43927201522900 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 +43927201523785:43927201524250 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43927201525404:43927201529038 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f20928c0ff0) = 0 +43927201530072:43927201530638 26036:26036 hsa_signal_store_relaxed(, 124) = void +43927201532043:43927201542920 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43927201549198:43927201549857 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927201561877:43927201562928 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 +43927201563746:43927201564070 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 125 +43927201564870:43927201565205 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 124 +43927201566165:43927201566490 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43927201567602:43927201569251 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f20928cfaa0) = 0 +43927201569997:43927201570388 26036:26036 hsa_signal_store_relaxed(, 125) = void +43927201571378:43927202042677 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927202043717:43927202044226 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927202045414:43927202046089 26036:26036 hsa_signal_destroy() = 0 +43927202047258:43927202048212 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 +43927202049040:43927202049433 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43927202050193:43927202050621 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 +43927202051473:43927202051818 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43927202066980:43927202067403 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43927202068221:43927202068818 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 +43927202123989:43927202127280 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927202128847:43927202129232 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927202132365:43927202132914 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927202137621:43927202138072 26036:26041 hsa_signal_destroy() = 0 +43927202140255:43927202140745 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927202141521:43927202141879 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927202069621:43927202490957 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43927202951479:43927202952220 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927217331267:43927217332261 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927217336525:43927217337591 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927217339180:43927217341437 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 +43927217342526:43927217343082 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43927217343904:43927217344562 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 +43927217345674:43927217346141 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43927217800864:43927217801575 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43927217802924:43927217804515 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 +43927217805379:43927218178044 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43927218179322:43927218179949 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927218193269:43927218193931 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43927218216690:43927218217404 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 126 +43927218218458:43927218218866 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 126 +43927218219903:43927218229979 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 +43927218230964:43927218231369 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43927218232641:43927218236310 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f20928c41d0) = 0 +43927218237326:43927218238045 26036:26036 hsa_signal_store_relaxed(, 126) = void +43927218239453:43927218250163 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43927218256619:43927218257272 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927218269286:43927218270104 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 +43927218270925:43927218271303 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 127 +43927218272131:43927218272463 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 126 +43927218273643:43927218273972 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43927218278701:43927218280305 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f20928d2d40) = 0 +43927218281056:43927218281506 26036:26036 hsa_signal_store_relaxed(, 127) = void +43927218282511:43927218745863 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927218746849:43927218747258 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927218748434:43927218749067 26036:26036 hsa_signal_destroy() = 0 +43927218750262:43927218751132 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 +43927218751957:43927218752397 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43927218753205:43927218753638 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 +43927218754433:43927218754781 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43927218755649:43927218755985 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43927218756736:43927218757321 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 +43927218828564:43927218831909 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927218833427:43927218833803 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927218836912:43927218837463 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927218839260:43927218839673 26036:26041 hsa_signal_destroy() = 0 +43927218841788:43927218842211 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927218842983:43927218843346 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927218771945:43927219183077 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43927219643154:43927219643895 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927234025184:43927234026127 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927234030020:43927234031294 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927234032835:43927234035017 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 +43927234036263:43927234036958 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43927234037826:43927234038456 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 +43927234039351:43927234039762 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43927234491680:43927234492517 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43927234493681:43927234495211 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 +43927234496268:43927234868838 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43927234875655:43927234876295 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927234905637:43927234906296 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43927234923928:43927234924630 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 128 +43927234925647:43927234926041 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 128 +43927234927096:43927234928387 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 +43927234929288:43927234929851 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43927234930993:43927234934530 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f20928d6260) = 0 +43927234935505:43927234936070 26036:26036 hsa_signal_store_relaxed(, 128) = void +43927234937531:43927234938166 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43927234943967:43927234944607 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927234947247:43927234948008 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 +43927234949060:43927234949445 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 129 +43927234950238:43927234950574 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 128 +43927234951490:43927234951815 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43927234952656:43927234953424 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f20928dc520) = 0 +43927234954163:43927234954555 26036:26036 hsa_signal_store_relaxed(, 129) = void +43927234955616:43927235433027 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927235434109:43927235434619 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927235435767:43927235436411 26036:26036 hsa_signal_destroy() = 0 +43927235437583:43927235438518 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 +43927235439375:43927235439760 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43927235440572:43927235440997 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 +43927235441788:43927235442140 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43927235443003:43927235443342 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43927235458320:43927235458957 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 +43927235514447:43927235517761 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927235519218:43927235519591 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927235522668:43927235523218 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927235524981:43927235525435 26036:26041 hsa_signal_destroy() = 0 +43927235530694:43927235531187 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927235531965:43927235532320 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927235459768:43927235879860 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43927236346956:43927236347693 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927250725630:43927250726769 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927250730690:43927250731994 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927250733550:43927250735852 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 +43927250736919:43927250737496 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43927250738316:43927250739003 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 +43927250739906:43927250740306 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43927251190740:43927251191451 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43927251192640:43927251194082 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 +43927251194946:43927251567674 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43927251569457:43927251570085 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927251583152:43927251583803 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43927251606692:43927251607288 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 130 +43927251608328:43927251608734 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 130 +43927251609846:43927251611162 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 +43927251621202:43927251621623 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43927251622845:43927251626605 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f20928e0ef0) = 0 +43927251627566:43927251628151 26036:26036 hsa_signal_store_relaxed(, 130) = void +43927251629480:43927251640254 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43927251646720:43927251647381 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927251659926:43927251660671 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 +43927251661499:43927251661830 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 131 +43927251662658:43927251662995 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 130 +43927251663959:43927251664286 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43927251665146:43927251666979 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f20928ded80) = 0 +43927251671690:43927251672081 26036:26036 hsa_signal_store_relaxed(, 131) = void +43927251673075:43927252133166 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927252134189:43927252134613 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927252135812:43927252136437 26036:26036 hsa_signal_destroy() = 0 +43927252137608:43927252138502 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 +43927252139424:43927252139811 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43927252140672:43927252141120 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 +43927252141911:43927252142260 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43927252143122:43927252143466 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43927252158521:43927252159167 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 +43927252214939:43927252218254 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927252219681:43927252220056 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927252223228:43927252223780 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927252225581:43927252225992 26036:26041 hsa_signal_destroy() = 0 +43927252228125:43927252228552 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927252229326:43927252229686 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927252159971:43927252581455 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43927253040924:43927253041708 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927267416100:43927267416983 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927267420832:43927267422113 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927267423759:43927267425837 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 +43927267427177:43927267427767 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43927267428632:43927267429319 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 +43927267430212:43927267430685 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43927267884541:43927267885202 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43927267886463:43927267887966 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 +43927267888869:43927268261605 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43927268263080:43927268263714 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927268276896:43927268277555 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43927268312569:43927268313289 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 132 +43927268314309:43927268314697 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 132 +43927268315808:43927268317372 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 +43927268318210:43927268318674 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43927268319871:43927268323646 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f20928ea090) = 0 +43927268324615:43927268325440 26036:26036 hsa_signal_store_relaxed(, 132) = void +43927268326775:43927268327411 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43927268333520:43927268334180 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927268336636:43927268337389 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 +43927268338209:43927268338537 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 133 +43927268339334:43927268339664 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 132 +43927268340608:43927268340937 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43927268341765:43927268342486 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f20928e5990) = 0 +43927268343234:43927268343623 26036:26036 hsa_signal_store_relaxed(, 133) = void +43927268811702:43927268815219 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927268816925:43927268817395 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927268822068:43927268823886 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927268824903:43927268825283 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927268344623:43927268852396 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927268864039:43927268864598 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927268866355:43927268867161 26036:26036 hsa_signal_destroy() = 0 +43927268868248:43927268868816 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927268869731:43927268870200 26036:26036 hsa_signal_destroy() = 0 +43927268871498:43927268873132 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 +43927268874027:43927268874508 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43927268875352:43927268875912 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 +43927268876662:43927268877100 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43927268878046:43927268878487 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43927268881706:43927268882809 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 +43927268883605:43927269291320 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43927269735770:43927269736568 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927284354559:43927284355457 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927284361498:43927284362727 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927284364518:43927284366957 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 +43927284368107:43927284368757 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43927284369592:43927284370197 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 +43927284371000:43927284371480 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43927284824781:43927284825663 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43927284826788:43927284828506 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 +43927284829312:43927285202169 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43927285203402:43927285204030 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927285220574:43927285221249 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43927285245656:43927285255494 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 134 +43927285256428:43927285256919 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 134 +43927285258208:43927285259728 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 +43927285260549:43927285260913 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43927285262339:43927285266560 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f20928f55b0) = 0 +43927285267396:43927285268075 26036:26036 hsa_signal_store_relaxed(, 134) = void +43927285269689:43927285270324 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43927285277098:43927285277734 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927285280940:43927285281703 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 +43927285282487:43927285282825 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 135 +43927285283602:43927285283937 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 134 +43927285284964:43927285285294 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43927285286237:43927285287017 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f20928f1410) = 0 +43927285287785:43927285288224 26036:26036 hsa_signal_store_relaxed(, 135) = void +43927285289191:43927285771818 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927285776590:43927285777028 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927285778146:43927285778942 26036:26036 hsa_signal_destroy() = 0 +43927285780076:43927285781097 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 +43927285781948:43927285782327 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43927285797408:43927285797902 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 +43927285798686:43927285799050 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43927285799873:43927285800256 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43927285801031:43927285801684 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 +43927285853525:43927285856725 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927285858222:43927285858606 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927285861436:43927285861998 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927285863716:43927285864171 26036:26041 hsa_signal_destroy() = 0 +43927285866272:43927285866706 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927285867487:43927285867850 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927285802496:43927286224338 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43927286683712:43927286684477 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927301203672:43927301204912 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927301209425:43927301210717 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927301212104:43927301215208 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 +43927301216303:43927301216887 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43927301217997:43927301218644 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 +43927301219537:43927301219942 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43927301676861:43927301677572 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43927301678749:43927301680512 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 +43927301681639:43927302054397 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43927302055597:43927302056225 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927302076916:43927302077574 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43927302097399:43927302098002 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 136 +43927302109452:43927302109857 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 136 +43927302110848:43927302112151 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 +43927302112967:43927302113362 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43927302114567:43927302118371 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092909b30) = 0 +43927302119395:43927302119961 26036:26036 hsa_signal_store_relaxed(, 136) = void +43927302121416:43927302122056 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43927302128086:43927302128743 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927302131667:43927302132392 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 +43927302133220:43927302133562 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 137 +43927302134357:43927302134690 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 136 +43927302135624:43927302135943 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43927302136800:43927302137553 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f20929054a0) = 0 +43927302138309:43927302138704 26036:26036 hsa_signal_store_relaxed(, 137) = void +43927302607074:43927302611021 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927302612934:43927302613472 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927302617264:43927302619122 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927302620183:43927302620570 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927302139651:43927302648446 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927302660131:43927302660703 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927302662534:43927302663341 26036:26036 hsa_signal_destroy() = 0 +43927302664442:43927302664993 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927302665908:43927302666349 26036:26036 hsa_signal_destroy() = 0 +43927302667704:43927302669210 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 +43927302670126:43927302670656 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43927302671456:43927302672020 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 +43927302672769:43927302673157 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43927302674083:43927302674521 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43927302675359:43927302676438 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 +43927302677220:43927303085701 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43927303532835:43927303533641 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927318077094:43927318078292 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927318084639:43927318085909 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927318087711:43927318089943 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 +43927318091226:43927318091866 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43927318092712:43927318093271 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 +43927318094056:43927318094527 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43927318547481:43927318548321 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43927318549525:43927318551384 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 +43927318552188:43927318925173 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43927318926285:43927318926914 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927318943994:43927318944666 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43927318968809:43927318978633 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 138 +43927318979605:43927318980105 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 138 +43927318981417:43927318983178 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 +43927318983997:43927318984359 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43927318985830:43927318990235 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092910590) = 0 +43927318991073:43927318991747 26036:26036 hsa_signal_store_relaxed(, 138) = void +43927318993433:43927318994068 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43927319004716:43927319005355 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927319009207:43927319009921 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 +43927319010709:43927319011100 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 139 +43927319011880:43927319012225 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 138 +43927319013222:43927319013546 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43927319014433:43927319016314 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f209290e810) = 0 +43927319017088:43927319017545 26036:26036 hsa_signal_store_relaxed(, 139) = void +43927319018535:43927319492776 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927319493731:43927319494157 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927319497924:43927319498682 26036:26036 hsa_signal_destroy() = 0 +43927319499803:43927319500896 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 +43927319501732:43927319502150 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43927319502914:43927319517570 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 +43927319518446:43927319518811 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43927319519649:43927319520014 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43927319520804:43927319521474 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 +43927319573876:43927319577219 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927319578686:43927319579057 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927319581813:43927319582381 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927319584116:43927319584587 26036:26041 hsa_signal_destroy() = 0 +43927319586760:43927319587212 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927319587984:43927319588342 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927319522283:43927319941686 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43927320409901:43927320410632 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927334960053:43927334961008 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927334965709:43927334966793 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927334969100:43927334972234 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 +43927334973345:43927334973983 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43927334974840:43927334975434 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 +43927334976337:43927334976822 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43927335426737:43927335427636 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43927335428720:43927335430411 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 +43927335431309:43927335804057 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43927335805148:43927335805777 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927335820567:43927335821226 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43927335846301:43927335847015 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 140 +43927335848190:43927335848590 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 140 +43927335862932:43927335864391 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 +43927335865328:43927335865792 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43927335866967:43927335870725 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092919f60) = 0 +43927335871639:43927335872214 26036:26036 hsa_signal_store_relaxed(, 140) = void +43927335873740:43927335884367 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43927335890787:43927335891446 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927335903632:43927335904352 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 +43927335905180:43927335905555 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 141 +43927335906293:43927335906629 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 140 +43927335907542:43927335907864 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43927335908692:43927335910351 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f20929081b0) = 0 +43927335911103:43927335911549 26036:26036 hsa_signal_store_relaxed(, 141) = void +43927335912538:43927336378590 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927336379905:43927336380493 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927336381599:43927336382266 26036:26036 hsa_signal_destroy() = 0 +43927336383638:43927336384826 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 +43927336385670:43927336386062 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43927336386831:43927336387291 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 +43927336388030:43927336388400 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43927336403777:43927336404156 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43927336404962:43927336405824 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 +43927336460194:43927336463770 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927336465203:43927336465575 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927336468672:43927336469224 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927336470994:43927336471440 26036:26041 hsa_signal_destroy() = 0 +43927336473607:43927336474046 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927336474816:43927336475172 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927336406602:43927336828016 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43927337287378:43927337288117 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927351668144:43927351669146 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927351673423:43927351674685 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927351676697:43927351679582 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 +43927351680714:43927351681357 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43927351682191:43927351682823 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 +43927351683720:43927351684124 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43927352142440:43927352143183 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43927352144380:43927352145952 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 +43927352146877:43927352519673 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43927352520826:43927352521457 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927352535638:43927352536304 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43927352560952:43927352561669 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 142 +43927352562667:43927352563060 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 142 +43927352564188:43927352565400 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 +43927352566302:43927352567002 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43927352577068:43927352581478 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f209291baf0) = 0 +43927352582501:43927352583069 26036:26036 hsa_signal_store_relaxed(, 142) = void +43927352584529:43927352585162 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43927352601616:43927352602262 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927352614013:43927352614808 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 +43927352615645:43927352616018 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 143 +43927352616867:43927352617201 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 142 +43927352618190:43927352618517 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43927352619652:43927352621474 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092923b80) = 0 +43927352622229:43927352622676 26036:26036 hsa_signal_store_relaxed(, 143) = void +43927352623706:43927353087458 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927353088329:43927353088742 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927353089832:43927353090481 26036:26036 hsa_signal_destroy() = 0 +43927353095320:43927353096344 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 +43927353097258:43927353097658 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43927353112635:43927353113102 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 +43927353113917:43927353114304 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43927353115115:43927353115473 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43927353116242:43927353116847 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 +43927353167943:43927353171198 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927353172645:43927353173027 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927353176197:43927353176761 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927353178491:43927353178949 26036:26041 hsa_signal_destroy() = 0 +43927353181119:43927353181544 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927353182321:43927353182685 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927353117623:43927353539487 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43927354001352:43927354002134 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927368411678:43927368412725 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927368417160:43927368418588 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927368420474:43927368422546 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 +43927368423642:43927368424206 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43927368425109:43927368425972 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 +43927368426849:43927368427589 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43927368875053:43927368875772 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43927368877044:43927368878872 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 +43927368879764:43927369252494 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43927369253601:43927369254220 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927369267556:43927369268209 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43927369287644:43927369288379 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 144 +43927369289427:43927369289827 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 144 +43927369290932:43927369292197 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 +43927369293185:43927369293696 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43927369309657:43927369313672 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092929c20) = 0 +43927369314588:43927369315415 26036:26036 hsa_signal_store_relaxed(, 144) = void +43927369317029:43927369327943 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43927369334488:43927369335163 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927369347054:43927369347833 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 +43927369348827:43927369349203 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 145 +43927369349995:43927369350329 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 144 +43927369351249:43927369351578 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43927369352401:43927369354089 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f209292d8d0) = 0 +43927369354838:43927369355293 26036:26036 hsa_signal_store_relaxed(, 145) = void +43927369356459:43927369828516 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927369829434:43927369829944 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927369831110:43927369831762 26036:26036 hsa_signal_destroy() = 0 +43927369832786:43927369833804 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 +43927369834633:43927369835025 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43927369835789:43927369836210 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 +43927369837000:43927369837361 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43927369838204:43927369838547 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43927369853301:43927369853926 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 +43927369909797:43927369913168 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927369914648:43927369915019 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927369918203:43927369918756 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927369920534:43927369920994 26036:26041 hsa_signal_destroy() = 0 +43927369923113:43927369923536 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927369924307:43927369924666 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927369854730:43927370275973 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43927370737058:43927370737798 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927385128297:43927385129415 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927385137342:43927385138619 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927385140447:43927385142657 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 +43927385143788:43927385144425 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43927385145248:43927385145876 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 +43927385146709:43927385147178 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43927385618205:43927385619171 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43927385620426:43927385622169 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 +43927385623033:43927385996161 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43927385997342:43927385997968 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927386011780:43927386012425 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43927386035848:43927386036640 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 146 +43927386037767:43927386038233 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 146 +43927386048251:43927386049557 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 +43927386050475:43927386050953 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43927386052379:43927386056003 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f209292ab10) = 0 +43927386056953:43927386057519 26036:26036 hsa_signal_store_relaxed(, 146) = void +43927386059024:43927386069652 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43927386076298:43927386076946 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927386088886:43927386089657 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 +43927386090483:43927386090863 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 147 +43927386091660:43927386091997 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 146 +43927386092931:43927386093271 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43927386094092:43927386095633 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f209293d3a0) = 0 +43927386096384:43927386096884 26036:26036 hsa_signal_store_relaxed(, 147) = void +43927386097904:43927386564531 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927386565430:43927386565882 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927386567046:43927386567684 26036:26036 hsa_signal_destroy() = 0 +43927386568926:43927386569793 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 +43927386570867:43927386571318 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43927386573566:43927386574028 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 +43927386589123:43927386589562 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43927386590407:43927386590763 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43927386591541:43927386592157 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 +43927386646098:43927386649459 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927386650958:43927386651329 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927386654447:43927386655007 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927386656798:43927386657221 26036:26041 hsa_signal_destroy() = 0 +43927386659323:43927386659745 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927386660523:43927386660881 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927386592940:43927387013129 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43927387473761:43927387474502 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927401858883:43927401859781 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927401863959:43927401864996 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927401866687:43927401868779 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 +43927401870001:43927401870694 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43927401871555:43927401872175 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 +43927401873064:43927401873465 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43927402328351:43927402329162 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43927402330585:43927402332046 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 +43927402332947:43927402705473 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43927402706651:43927402707283 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927402721537:43927402722184 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43927402744792:43927402745513 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 148 +43927402746591:43927402747055 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 148 +43927402757242:43927402758563 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 +43927402759513:43927402760030 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43927402761229:43927402764867 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092935190) = 0 +43927402780009:43927402780590 26036:26036 hsa_signal_store_relaxed(, 148) = void +43927402782136:43927402782775 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43927402798431:43927402799065 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927402801764:43927402802522 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 +43927402803336:43927402803727 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 149 +43927402804516:43927402804856 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 148 +43927402805799:43927402806129 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43927402806955:43927402808588 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092a44980) = 0 +43927402809370:43927402809828 26036:26036 hsa_signal_store_relaxed(, 149) = void +43927402810834:43927403277399 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927403293606:43927403294136 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927403295288:43927403296059 26036:26036 hsa_signal_destroy() = 0 +43927403297265:43927403298208 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 +43927403299100:43927403299531 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43927403300293:43927403300737 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 +43927403301544:43927403301916 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43927403302789:43927403303148 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43927403303929:43927403304543 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 +43927403311097:43927403323579 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927403325070:43927403325445 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927403328625:43927403329175 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927403330952:43927403331418 26036:26041 hsa_signal_destroy() = 0 +43927403333559:43927403333988 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927403334760:43927403335116 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927403305317:43927403714281 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43927404182801:43927404183609 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927418560084:43927418561034 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927418565309:43927418566357 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927418568289:43927418570407 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 +43927418575255:43927418575920 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43927418576750:43927418577454 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 +43927418578306:43927418578707 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43927419031335:43927419032025 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43927419033210:43927419034690 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 +43927419035629:43927419408314 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43927419409570:43927419410195 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927419424137:43927419424789 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43927419443371:43927419444083 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 150 +43927419444986:43927419445397 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 150 +43927419446480:43927419447986 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 +43927419448908:43927419449418 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43927419450614:43927419463364 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f20929407d0) = 0 +43927419464307:43927419464875 26036:26036 hsa_signal_store_relaxed(, 150) = void +43927419466289:43927419466934 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43927419482997:43927419483654 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927419486377:43927419487141 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 +43927419487979:43927419488340 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 151 +43927419489198:43927419498396 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 150 +43927419499407:43927419499737 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43927419500662:43927419501094 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092a5afb0) = 0 +43927419501842:43927419502236 26036:26036 hsa_signal_store_relaxed(, 151) = void +43927419503245:43927419963817 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927419964789:43927419965213 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927419966379:43927419967117 26036:26036 hsa_signal_destroy() = 0 +43927419968296:43927419969371 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 +43927419970220:43927419970615 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43927419971372:43927419971823 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 +43927419974313:43927419974698 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43927419975505:43927419975861 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43927419976630:43927419977267 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 +43927420011273:43927420014998 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927420016557:43927420016945 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927420020304:43927420020884 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927420022677:43927420023152 26036:26041 hsa_signal_destroy() = 0 +43927420025363:43927420025822 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927420026607:43927420026983 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927419978033:43927420381261 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43927420828888:43927420829628 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927435208390:43927435209267 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927435213082:43927435214089 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927435216075:43927435218305 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 +43927435219563:43927435220278 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43927435221151:43927435221813 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 +43927435222905:43927435223339 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43927435673468:43927435674230 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43927435675562:43927435677140 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 +43927435678091:43927436050891 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43927436052159:43927436052796 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927436066613:43927436067258 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43927436086432:43927436087162 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 152 +43927436088160:43927436088642 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 152 +43927436089851:43927436091343 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 +43927436092215:43927436092739 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43927436093932:43927436107221 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092a530f0) = 0 +43927436108539:43927436109138 26036:26036 hsa_signal_store_relaxed(, 152) = void +43927436124387:43927436125053 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43927436131121:43927436140650 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927436143454:43927436144230 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 +43927436145042:43927436145422 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 153 +43927436146221:43927436146554 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 152 +43927436147493:43927436147814 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43927436148704:43927436150544 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092a5b3f0) = 0 +43927436151293:43927436151744 26036:26036 hsa_signal_store_relaxed(, 153) = void +43927436152739:43927436615879 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927436616806:43927436617325 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927436618556:43927436619285 26036:26036 hsa_signal_destroy() = 0 +43927436620435:43927436621795 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 +43927436622635:43927436623110 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43927436623907:43927436624337 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 +43927436625129:43927436625501 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43927436640682:43927436641060 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43927436641854:43927436642499 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 +43927436696873:43927436700293 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927436701721:43927436702092 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927436705263:43927436705816 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927436707542:43927436707991 26036:26041 hsa_signal_destroy() = 0 +43927436710134:43927436710556 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927436711329:43927436711689 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927436643278:43927437064169 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43927437525279:43927437526016 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927451901185:43927451902182 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927451906293:43927451907523 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927451909177:43927451911373 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 +43927451912648:43927451913237 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43927451918210:43927451918899 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 +43927451919766:43927451920281 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43927452378643:43927452379364 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43927452380576:43927452382297 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 +43927452383235:43927452755881 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43927452756997:43927452757628 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927452771275:43927452771923 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43927452790530:43927452791250 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 154 +43927452792294:43927452792778 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 154 +43927452793914:43927452795174 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 +43927452796054:43927452796577 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43927452797961:43927452810598 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092a5e320) = 0 +43927452811599:43927452812172 26036:26036 hsa_signal_store_relaxed(, 154) = void +43927452813560:43927452814196 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43927452830908:43927452831562 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927452834511:43927452835258 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 +43927452836081:43927452836504 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 155 +43927452837311:43927452846559 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 154 +43927452847520:43927452847843 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43927452848666:43927452849094 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092a6c840) = 0 +43927452849836:43927452850283 26036:26036 hsa_signal_store_relaxed(, 155) = void +43927452851306:43927453306219 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927453307196:43927453307599 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927453308677:43927453309387 26036:26036 hsa_signal_destroy() = 0 +43927453310570:43927453311731 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 +43927453312567:43927453312962 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43927453313701:43927453314123 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 +43927453314912:43927453315281 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43927453332226:43927453332593 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43927453333404:43927453334025 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 +43927453387360:43927453390682 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927453392177:43927453392558 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927453395704:43927453396277 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927453398056:43927453398513 26036:26041 hsa_signal_destroy() = 0 +43927453400634:43927453401088 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927453401861:43927453402221 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927453334797:43927453754577 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43927454215407:43927454216148 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927468603012:43927468604072 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927468608243:43927468609482 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927468611387:43927468613933 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 +43927468615054:43927468615858 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43927468616738:43927468617365 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 +43927468618468:43927468618935 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43927469089433:43927469090173 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43927469091768:43927469093342 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 +43927469094249:43927469482219 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43927469483474:43927469484097 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927469497702:43927469498352 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43927469521895:43927469522543 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 156 +43927469523661:43927469524069 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 156 +43927469525359:43927469535308 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 +43927469536184:43927469536705 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43927469537916:43927469541929 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092a78fa0) = 0 +43927469542898:43927469543480 26036:26036 hsa_signal_store_relaxed(, 156) = void +43927469544968:43927469555607 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43927469561966:43927469562620 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927469578717:43927469579740 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 +43927469580568:43927469580958 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 157 +43927469581758:43927469582099 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 156 +43927469583036:43927469583363 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43927469584216:43927469585892 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092a73c00) = 0 +43927469586638:43927469587032 26036:26036 hsa_signal_store_relaxed(, 157) = void +43927469588046:43927471437577 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927471438560:43927471439079 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927471440222:43927471440980 26036:26036 hsa_signal_destroy() = 0 +43927471442180:43927471443406 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 +43927471444243:43927471444637 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43927471445416:43927471445876 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 +43927471455566:43927471455952 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43927471456831:43927471457181 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43927471457944:43927471458572 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 +43927471493454:43927471496709 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927471498164:43927471498533 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927471511963:43927471512545 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927471514343:43927471514798 26036:26041 hsa_signal_destroy() = 0 +43927471516942:43927471517394 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927471518189:43927471518555 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927471459334:43927471889441 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43927472354455:43927472355235 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927486727279:43927486728276 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927486732578:43927486733694 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927486735209:43927486737345 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 +43927486738441:43927486739007 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43927486739833:43927486740697 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 +43927486745431:43927486746007 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43927487196236:43927487196906 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43927487198186:43927487199687 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 +43927487200623:43927487587843 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43927487589044:43927487589679 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927487603588:43927487604265 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43927487627307:43927487628075 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 158 +43927487629064:43927487629467 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 158 +43927487630483:43927487631791 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 +43927487632755:43927487633276 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43927487634462:43927487646967 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092a89ca0) = 0 +43927487647907:43927487648484 26036:26036 hsa_signal_store_relaxed(, 158) = void +43927487649916:43927487650547 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43927487666887:43927487667536 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927487670150:43927487671052 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 +43927487671922:43927487672283 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 159 +43927487673095:43927487682367 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 158 +43927487683356:43927487683688 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43927487684655:43927487685510 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092a7ece0) = 0 +43927487686260:43927487686710 26036:26036 hsa_signal_store_relaxed(, 159) = void +43927487687738:43927489528475 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927489529534:43927489530011 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927489531301:43927489531966 26036:26036 hsa_signal_destroy() = 0 +43927489533139:43927489534440 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 +43927489535283:43927489535690 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43927489536502:43927489545737 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 +43927489546529:43927489546897 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43927489547736:43927489548078 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43927489548832:43927489549479 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 +43927489585772:43927489589096 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927489590693:43927489591063 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927489604417:43927489604998 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927489606843:43927489607316 26036:26041 hsa_signal_destroy() = 0 +43927489609518:43927489610020 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927489610817:43927489611180 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927489551829:43927489980968 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43927490443017:43927490443760 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927504832295:43927504833352 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927504837379:43927504838492 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927504840008:43927504842154 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 +43927504843257:43927504844175 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43927504845052:43927504845718 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 +43927504846635:43927504847122 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43927505296761:43927505297526 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43927505298703:43927505300300 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 +43927505301268:43927505690416 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43927505691619:43927505692250 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927505709320:43927505709983 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43927505733927:43927505734572 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 160 +43927505735607:43927505736011 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 160 +43927505737147:43927505738757 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 +43927505748360:43927505748918 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43927505750170:43927505753782 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092a8b050) = 0 +43927505754745:43927505755316 26036:26036 hsa_signal_store_relaxed(, 160) = void +43927505756713:43927505757340 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43927505773543:43927505774195 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927505786182:43927505787020 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 +43927505790748:43927505791134 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 161 +43927505791876:43927505792212 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 160 +43927505793186:43927505793531 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43927505794360:43927505796021 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092a8eb30) = 0 +43927505796771:43927505797225 26036:26036 hsa_signal_store_relaxed(, 161) = void +43927505798230:43927507647772 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927507648783:43927507649300 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927507650465:43927507651134 26036:26036 hsa_signal_destroy() = 0 +43927507652384:43927507653435 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 +43927507654319:43927507654783 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43927507655545:43927507655980 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 +43927507665673:43927507666046 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43927507666903:43927507667252 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43927507668016:43927507668617 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 +43927507704076:43927507707269 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927507708737:43927507709118 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927507722610:43927507723205 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927507725003:43927507725479 26036:26041 hsa_signal_destroy() = 0 +43927507727687:43927507728126 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927507728917:43927507729284 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927507669369:43927508099954 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43927508560468:43927508561255 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927522939935:43927522941087 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927522945203:43927522946305 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927522948160:43927522950301 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 +43927522951382:43927522951964 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43927522952784:43927522953601 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 +43927522954489:43927522954959 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43927523407410:43927523408171 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43927523413297:43927523414863 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 +43927523415998:43927523803710 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43927523804844:43927523805472 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927523819267:43927523819917 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43927523828424:43927523839363 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 162 +43927523840238:43927523840637 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 162 +43927523841715:43927523843197 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 +43927523844381:43927523844866 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43927523846136:43927523859134 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092aa7380) = 0 +43927523860078:43927523860650 26036:26036 hsa_signal_store_relaxed(, 162) = void +43927523862235:43927523862874 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43927523878642:43927523879287 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927523881876:43927523882622 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 +43927523883473:43927523883869 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 163 +43927523884645:43927523884993 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 162 +43927523895134:43927523895492 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43927523896342:43927523896755 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092aa3dd0) = 0 +43927523897503:43927523897948 26036:26036 hsa_signal_store_relaxed(, 163) = void +43927523898977:43927525737504 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927525738651:43927525739067 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927525740288:43927525740986 26036:26036 hsa_signal_destroy() = 0 +43927525742341:43927525743343 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 +43927525744219:43927525744647 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43927525745416:43927525745872 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 +43927525755550:43927525755934 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43927525756814:43927525757170 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43927525757939:43927525758714 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 +43927525794448:43927525797753 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927525814910:43927525815397 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927525818682:43927525819290 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927525821075:43927525821552 26036:26041 hsa_signal_destroy() = 0 +43927525823795:43927525824266 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927525825055:43927525825419 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927525759482:43927526189457 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43927526653886:43927526654625 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927541041956:43927541042957 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927541046880:43927541048106 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927541049926:43927541052114 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 +43927541053613:43927541054196 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43927541055050:43927541055794 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 +43927541056687:43927541057085 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43927541506748:43927541507458 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43927541508643:43927541510120 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 +43927541511016:43927541899054 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43927541900282:43927541900910 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927541913599:43927541914252 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43927541923338:43927541924053 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 164 +43927541939605:43927541940017 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 164 +43927541941099:43927541942286 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 +43927541943166:43927541943652 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43927541945065:43927541958209 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092aaf8a0) = 0 +43927541959222:43927541959796 26036:26036 hsa_signal_store_relaxed(, 164) = void +43927541961386:43927541962028 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43927541978232:43927541978885 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927541982473:43927541983239 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 +43927541984133:43927541984491 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 165 +43927541998411:43927541998757 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 164 +43927541999717:43927542000043 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43927542000881:43927542002521 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092aa8910) = 0 +43927542003275:43927542003670 26036:26036 hsa_signal_store_relaxed(, 165) = void +43927542004759:43927543836250 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927543837251:43927543837779 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927543838914:43927543839703 26036:26036 hsa_signal_destroy() = 0 +43927543840890:43927543841825 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 +43927543842731:43927543843188 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43927543843951:43927543844390 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 +43927543854248:43927543854679 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43927543855474:43927543855826 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43927543856587:43927543857196 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 +43927543892534:43927543895780 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927543897200:43927543897577 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927543911082:43927543911659 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927543913498:43927543913962 26036:26041 hsa_signal_destroy() = 0 +43927543916121:43927543916573 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927543917372:43927543917741 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927543857960:43927544288675 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43927544751020:43927544751762 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927559125725:43927559126894 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927559131309:43927559132554 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927559134706:43927559137629 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 +43927559138964:43927559139551 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43927559140378:43927559141036 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 +43927559141925:43927559142391 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43927559595820:43927559596477 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43927559597713:43927559599488 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 +43927559603916:43927559988333 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43927559989509:43927559990142 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927560008723:43927560009381 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43927560032983:43927560033759 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 166 +43927560034764:43927560035255 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 166 +43927560036527:43927560046509 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 +43927560047424:43927560048033 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43927560049337:43927560053197 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092ac3400) = 0 +43927560054097:43927560054669 26036:26036 hsa_signal_store_relaxed(, 166) = void +43927560056114:43927560056745 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43927560073066:43927560073722 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927560085234:43927560085995 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 +43927560086828:43927560087172 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 167 +43927560087977:43927560088313 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 166 +43927560089257:43927560089587 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43927560090419:43927560092021 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092abf1f0) = 0 +43927560092769:43927560093219 26036:26036 hsa_signal_store_relaxed(, 167) = void +43927560094257:43927561938883 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927561939882:43927561940302 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927561941442:43927561942100 26036:26036 hsa_signal_destroy() = 0 +43927561943287:43927561944393 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 +43927561945265:43927561945681 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43927561946449:43927561946907 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 +43927561956579:43927561956960 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43927561957833:43927561958180 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43927561958939:43927561959579 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 +43927561995360:43927561998514 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927561999934:43927562000306 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927562016941:43927562017531 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927562019411:43927562019867 26036:26041 hsa_signal_destroy() = 0 +43927562022140:43927562022614 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927562023400:43927562023775 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927561960331:43927562391671 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43927562854673:43927562855408 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927577237218:43927577238452 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927577242850:43927577243946 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927577245687:43927577248123 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 +43927577249170:43927577249794 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43927577250750:43927577251476 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 +43927577252372:43927577252799 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43927577703734:43927577704445 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43927577705734:43927577707205 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 +43927577708109:43927578095931 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43927578097128:43927578097748 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927578111215:43927578111864 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43927578135265:43927578136025 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 168 +43927578137098:43927578137495 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 168 +43927578138571:43927578139877 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 +43927578140740:43927578141157 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43927578142455:43927578155251 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092ad1ce0) = 0 +43927578156395:43927578156969 26036:26036 hsa_signal_store_relaxed(, 168) = void +43927578158443:43927578159082 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43927578174989:43927578175633 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927578178633:43927578179414 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 +43927578180397:43927578180757 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 169 +43927578190753:43927578191106 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 168 +43927578192064:43927578192393 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43927578197089:43927578198690 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092acf3b0) = 0 +43927578199441:43927578199890 26036:26036 hsa_signal_store_relaxed(, 169) = void +43927578200910:43927580031557 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927580032682:43927580033221 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927580034362:43927580035039 26036:26036 hsa_signal_destroy() = 0 +43927580036238:43927580037418 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 +43927580038267:43927580038669 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43927580039433:43927580039866 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 +43927580049448:43927580049881 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43927580050750:43927580051102 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43927580051866:43927580052455 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 +43927580088510:43927580091814 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927580093275:43927580093647 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927580106940:43927580107540 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927580109344:43927580109822 26036:26041 hsa_signal_destroy() = 0 +43927580112034:43927580112475 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927580113267:43927580113631 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927580053205:43927580483031 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43927580944652:43927580945388 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927595318764:43927595319897 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927595324191:43927595325762 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927595327823:43927595330697 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 +43927595331845:43927595332414 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43927595333305:43927595334038 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 +43927595334929:43927595335394 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43927595787850:43927595788646 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43927595789876:43927595791441 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 +43927595792314:43927596181100 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43927596185699:43927596186339 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927596200936:43927596201608 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43927596220026:43927596220682 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 170 +43927596221686:43927596222089 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 170 +43927596223171:43927596224402 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 +43927596234724:43927596235248 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43927596236686:43927596240210 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092ae3440) = 0 +43927596241041:43927596241605 26036:26036 hsa_signal_store_relaxed(, 170) = void +43927596243066:43927596243700 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43927596261107:43927596261770 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927596273394:43927596274179 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 +43927596274997:43927596275378 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 171 +43927596276191:43927596276526 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 170 +43927596277463:43927596277783 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43927596278648:43927596280304 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092adf600) = 0 +43927596281055:43927596281450 26036:26036 hsa_signal_store_relaxed(, 171) = void +43927596282470:43927598128538 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927598129543:43927598129959 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927598131076:43927598131751 26036:26036 hsa_signal_destroy() = 0 +43927598132926:43927598134003 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 +43927598134862:43927598135261 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43927598136037:43927598136470 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 +43927598146024:43927598146437 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43927598147333:43927598147684 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43927598148446:43927598149084 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 +43927598185123:43927598188364 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927598189777:43927598190152 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927598203746:43927598204334 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927598206115:43927598206583 26036:26041 hsa_signal_destroy() = 0 +43927598211920:43927598212424 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927598213231:43927598213599 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927598149841:43927598580419 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43927599038880:43927599039620 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927613427365:43927613428497 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927613432611:43927613433952 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927613435650:43927613437800 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 +43927613438846:43927613439431 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43927613440288:43927613440998 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 +43927613441883:43927613442280 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43927613894380:43927613895102 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43927613896351:43927613897929 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 +43927613898946:43927614286891 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43927614288338:43927614288965 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927614301721:43927614302372 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43927614321270:43927614322020 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 172 +43927614323097:43927614323685 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 172 +43927614324709:43927614326113 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 +43927614327101:43927614327516 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43927614328783:43927614341747 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092ae5250) = 0 +43927614342806:43927614343382 26036:26036 hsa_signal_store_relaxed(, 172) = void +43927614344847:43927614345485 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43927614361516:43927614362163 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927614365196:43927614366000 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 +43927614366853:43927614367236 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 173 +43927614377107:43927614377463 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 172 +43927614378576:43927614378908 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43927614379775:43927614380282 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092aede70) = 0 +43927614385218:43927614385902 26036:26036 hsa_signal_store_relaxed(, 173) = void +43927614386929:43927616228042 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927616229066:43927616229602 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927616230782:43927616231462 26036:26036 hsa_signal_destroy() = 0 +43927616232684:43927616233679 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 +43927616234590:43927616235046 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43927616235874:43927616236310 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 +43927616246130:43927616246566 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43927616247428:43927616247781 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43927616248543:43927616249163 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 +43927616284851:43927616288064 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927616289479:43927616289852 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927616303289:43927616303884 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927616305664:43927616306135 26036:26041 hsa_signal_destroy() = 0 +43927616308269:43927616308727 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927616309529:43927616309895 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927616249913:43927616679904 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43927617140359:43927617141142 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927631517201:43927631518132 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927631522386:43927631523572 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927631525292:43927631527452 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 +43927631528615:43927631529195 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43927631530020:43927631531013 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 +43927631531904:43927631532367 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43927631986432:43927631987119 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43927631988289:43927631989868 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 +43927631990919:43927632380132 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43927632381525:43927632382161 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927632395038:43927632395687 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43927632417996:43927632418712 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 174 +43927632419697:43927632420100 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 174 +43927632421342:43927632422669 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 +43927632423533:43927632424051 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43927632434273:43927632438167 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092af0840) = 0 +43927632439091:43927632439664 26036:26036 hsa_signal_store_relaxed(, 174) = void +43927632441190:43927632441825 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43927632458388:43927632459050 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927632470804:43927632471567 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 +43927632472386:43927632472767 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 175 +43927632473561:43927632473894 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 174 +43927632474819:43927632475149 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43927632475979:43927632477604 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092af9b50) = 0 +43927632478341:43927632478787 26036:26036 hsa_signal_store_relaxed(, 175) = void +43927632479797:43927634323723 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927634324790:43927634325211 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927634326269:43927634327238 26036:26036 hsa_signal_destroy() = 0 +43927634328652:43927634329525 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 +43927634330425:43927634330877 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43927634331695:43927634341235 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 +43927634342102:43927634342472 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43927634343323:43927634343666 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43927634344423:43927634345001 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 +43927634380262:43927634383570 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927634385042:43927634385416 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927634399033:43927634399624 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927634401450:43927634401915 26036:26041 hsa_signal_destroy() = 0 +43927634404127:43927634404581 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927634408557:43927634408941 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927634345761:43927634776418 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43927635237891:43927635238681 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927649627556:43927649628562 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927649632525:43927649633598 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927649635500:43927649637718 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 +43927649639182:43927649639799 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43927649640665:43927649641396 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 +43927649642276:43927649642778 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43927650092573:43927650093360 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43927650094601:43927650096171 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 +43927650097313:43927650485807 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43927650487092:43927650487729 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927650500465:43927650501130 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43927650510031:43927650510646 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 176 +43927650526278:43927650526682 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 176 +43927650527707:43927650529046 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 +43927650529988:43927650530378 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43927650531686:43927650544680 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092af7770) = 0 +43927650545705:43927650546281 26036:26036 hsa_signal_store_relaxed(, 176) = void +43927650547775:43927650548408 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43927650564148:43927650564787 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927650567568:43927650568361 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 +43927650569218:43927650569621 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 177 +43927650570484:43927650570825 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 176 +43927650580790:43927650581146 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43927650582023:43927650582451 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092b09ee0) = 0 +43927650583227:43927650583876 26036:26036 hsa_signal_store_relaxed(, 177) = void +43927650589144:43927652427795 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927652428884:43927652429417 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927652430606:43927652431350 26036:26036 hsa_signal_destroy() = 0 +43927652432537:43927652433540 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 +43927652434476:43927652434880 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43927652435643:43927652436113 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 +43927652445813:43927652446198 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43927652447057:43927652447402 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43927652448160:43927652448816 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 +43927652484824:43927652488018 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927652489421:43927652489794 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927652503112:43927652503693 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927652505497:43927652505961 26036:26041 hsa_signal_destroy() = 0 +43927652508142:43927652508613 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927652509409:43927652509775 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927652449568:43927652879954 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43927653340366:43927653341102 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927667718575:43927667719566 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927667723608:43927667724754 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927667726622:43927667728877 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 +43927667730045:43927667730641 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43927667731465:43927667732184 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 +43927667733071:43927667733473 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43927668191457:43927668192238 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43927668193556:43927668195076 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 +43927668195945:43927668584363 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43927668585553:43927668586177 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927668599392:43927668600039 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43927668623435:43927668624183 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 178 +43927668628787:43927668629349 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 178 +43927668630501:43927668632005 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 +43927668641638:43927668642175 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43927668643377:43927668647462 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092b03270) = 0 +43927668648580:43927668649167 26036:26036 hsa_signal_store_relaxed(, 178) = void +43927668650879:43927668661744 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43927668668670:43927668669342 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927668681119:43927668681875 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 +43927668682696:43927668683079 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 179 +43927668683877:43927668684219 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 178 +43927668685140:43927668685463 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43927668686287:43927668687789 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092b1a080) = 0 +43927668697245:43927668697675 26036:26036 hsa_signal_store_relaxed(, 179) = void +43927668698757:43927670535803 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927670536801:43927670537224 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927670538343:43927670538980 26036:26036 hsa_signal_destroy() = 0 +43927670540202:43927670541240 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 +43927670542092:43927670542547 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43927670543367:43927670543804 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 +43927670553763:43927670554146 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43927670555012:43927670555359 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43927670556114:43927670556689 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 +43927670593110:43927670596299 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927670597732:43927670598112 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927670611455:43927670612051 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927670613842:43927670614320 26036:26041 hsa_signal_destroy() = 0 +43927670616540:43927670617083 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927670617883:43927670618253 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927670557438:43927670987838 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43927671450779:43927671451574 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927685835635:43927685836642 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927685841122:43927685842332 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927685844031:43927685846625 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 +43927685847930:43927685848518 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43927685849378:43927685849990 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 +43927685850904:43927685851306 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43927686302070:43927686302779 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43927686304112:43927686305641 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 +43927686306538:43927686697394 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43927686698628:43927686699254 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927686712376:43927686713019 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43927686732400:43927686733163 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 180 +43927686734234:43927686734634 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 180 +43927686735636:43927686736940 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 +43927686738011:43927686738351 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43927686739600:43927686752742 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092b0d930) = 0 +43927686753776:43927686754346 26036:26036 hsa_signal_store_relaxed(, 180) = void +43927686756042:43927686756676 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43927686772982:43927686773628 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927686776523:43927686777303 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 +43927686778335:43927686778725 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 181 +43927686788734:43927686789091 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 180 +43927686790037:43927686790364 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43927686791236:43927686792092 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092b2af60) = 0 +43927686792873:43927686793319 26036:26036 hsa_signal_store_relaxed(, 181) = void +43927686794553:43927688633884 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927688634940:43927688635422 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927688640614:43927688641264 26036:26036 hsa_signal_destroy() = 0 +43927688651355:43927688652372 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 +43927688653245:43927688653637 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43927688654430:43927688654851 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 +43927688655639:43927688656004 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43927688656850:43927688657198 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43927688657950:43927688658594 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 +43927688690900:43927688694263 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927688695739:43927688696111 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927688709556:43927688710145 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927688711973:43927688712442 26036:26041 hsa_signal_destroy() = 0 +43927688714646:43927688715109 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927688715892:43927688716257 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927688659352:43927689093374 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43927689554004:43927689554767 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927703931302:43927703932297 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927703936317:43927703937467 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927703939152:43927703941289 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 +43927703942536:43927703943113 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43927703943938:43927703944575 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 +43927703945497:43927703945898 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43927704407784:43927704408554 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43927704409821:43927704411744 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 +43927704412635:43927704800984 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43927704802162:43927704802783 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927704820891:43927704821549 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43927704840509:43927704841143 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 182 +43927704842190:43927704842670 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 182 +43927704855685:43927704856946 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 +43927704857809:43927704858326 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43927704859462:43927704863178 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092b25f80) = 0 +43927704864078:43927704864643 26036:26036 hsa_signal_store_relaxed(, 182) = void +43927704866125:43927704866758 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43927704873092:43927704873749 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927704876276:43927704877222 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 +43927704878036:43927704878382 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 183 +43927704879179:43927704879514 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 182 +43927704880429:43927704880755 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43927704881654:43927704882388 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092b2be20) = 0 +43927704883134:43927704883524 26036:26036 hsa_signal_store_relaxed(, 183) = void +43927706715138:43927706718913 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927706720558:43927706721057 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927706747807:43927706749529 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927706750501:43927706751023 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927704884559:43927706788221 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927706799982:43927706800551 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927706802239:43927706803128 26036:26036 hsa_signal_destroy() = 0 +43927706804211:43927706804646 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927706805555:43927706805969 26036:26036 hsa_signal_destroy() = 0 +43927706807377:43927706808877 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 +43927706809762:43927706810242 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43927706811085:43927706811643 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 +43927706812405:43927706812791 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43927706813714:43927706814148 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43927706814988:43927706816067 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 +43927706816847:43927707228760 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43927707702055:43927707702890 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927722294103:43927722295219 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927722301453:43927722302570 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927722304334:43927722306906 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 +43927722308174:43927722308844 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43927722309734:43927722310312 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 +43927722311135:43927722311623 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43927722764526:43927722765638 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43927722767049:43927722768650 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 +43927722769491:43927723142551 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43927723143810:43927723144481 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927723161557:43927723162221 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43927723196572:43927723197298 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 184 +43927723198249:43927723198738 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 184 +43927723199969:43927723201621 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 +43927723202410:43927723202775 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43927723204190:43927723208855 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092b33cd0) = 0 +43927723209874:43927723210552 26036:26036 hsa_signal_store_relaxed(, 184) = void +43927723212272:43927723212913 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43927723219488:43927723220149 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927723223419:43927723224128 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 +43927723224942:43927723225270 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 185 +43927723226081:43927723226424 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 184 +43927723227429:43927723227774 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43927723228690:43927723230587 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092b39580) = 0 +43927723231396:43927723231854 26036:26036 hsa_signal_store_relaxed(, 185) = void +43927723232814:43927723715986 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927723716891:43927723717417 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927723718545:43927723719463 26036:26036 hsa_signal_destroy() = 0 +43927723724346:43927723725425 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 +43927723726257:43927723740953 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43927723741800:43927723742279 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 +43927723743038:43927723743441 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43927723744305:43927723744690 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43927723745488:43927723746347 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 +43927723797442:43927723800679 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927723802126:43927723802502 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927723805427:43927723805993 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927723807803:43927723808273 26036:26041 hsa_signal_destroy() = 0 +43927723810387:43927723810816 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927723811586:43927723811945 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927723747155:43927724167780 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43927724627575:43927724628459 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927739008531:43927739009524 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927739014306:43927739015486 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927739017296:43927739020367 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 +43927739021721:43927739022345 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43927739023178:43927739023789 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 +43927739024676:43927739025250 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43927739478406:43927739479196 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43927739480493:43927739481819 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 +43927739482640:43927739855579 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43927739857204:43927739857830 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927739872843:43927739873489 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43927739894041:43927739894682 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 186 +43927739895678:43927739896163 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 186 +43927739897528:43927739899003 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 +43927739909074:43927739909620 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43927739915092:43927739918810 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092b4ad00) = 0 +43927739919754:43927739920325 26036:26036 hsa_signal_store_relaxed(, 186) = void +43927739921798:43927739922440 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43927739928629:43927739929284 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927739932068:43927739932817 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 +43927739933649:43927739934036 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 187 +43927739934832:43927739935168 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 186 +43927739936094:43927739936418 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43927739937295:43927739938067 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092b48500) = 0 +43927739938819:43927739939269 26036:26036 hsa_signal_store_relaxed(, 187) = void +43927740413734:43927740417062 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927740418696:43927740419231 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927740423715:43927740425429 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927740426561:43927740426966 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927739940242:43927740455451 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927740467154:43927740467734 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927740469355:43927740470252 26036:26036 hsa_signal_destroy() = 0 +43927740471297:43927740471941 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927740472955:43927740473388 26036:26036 hsa_signal_destroy() = 0 +43927740474727:43927740476300 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 +43927740477216:43927740477698 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43927740478515:43927740479072 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 +43927740479818:43927740480203 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43927740481124:43927740481558 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43927740482403:43927740483551 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 +43927740484334:43927740891656 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43927741335022:43927741335874 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927755917182:43927755918136 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927755930431:43927755931533 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927755933315:43927755935813 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 +43927755937094:43927755938004 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43927755938838:43927755939396 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 +43927755940168:43927755940645 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43927756418583:43927756419458 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43927756420794:43927756422694 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 +43927756423482:43927756796357 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43927756797569:43927756798239 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927756814797:43927756815441 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43927756849519:43927756850152 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 188 +43927756851044:43927756851528 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 188 +43927756852600:43927756854185 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 +43927756854971:43927756855336 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43927756856702:43927756860905 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092b5c650) = 0 +43927756861745:43927756862418 26036:26036 hsa_signal_store_relaxed(, 188) = void +43927756863927:43927756864581 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43927756871103:43927756871758 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927756875002:43927756875758 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 +43927756876557:43927756876944 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 189 +43927756877692:43927756878038 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 188 +43927756878975:43927756879315 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43927756880165:43927756880606 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092b5ca90) = 0 +43927756881374:43927756881818 26036:26036 hsa_signal_store_relaxed(, 189) = void +43927756882829:43927757365024 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927757366113:43927757366717 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927757367868:43927757368611 26036:26036 hsa_signal_destroy() = 0 +43927757369841:43927757371143 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 +43927757373723:43927757374134 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43927757374887:43927757375364 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 +43927757390388:43927757390846 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43927757391714:43927757392115 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43927757392966:43927757393649 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 +43927757446965:43927757450243 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927757451766:43927757452138 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927757454896:43927757455458 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927757457255:43927757457707 26036:26041 hsa_signal_destroy() = 0 +43927757459827:43927757460268 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927757461048:43927757461410 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927757394446:43927757814703 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43927758276232:43927758276973 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927772695291:43927772696607 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927772701307:43927772702412 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927772704008:43927772706726 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 +43927772708026:43927772708763 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43927772709588:43927772710435 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 +43927772711307:43927772711793 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43927773159804:43927773160621 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43927773161684:43927773163469 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 +43927773164284:43927773537227 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43927773538489:43927773539118 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927773554478:43927773555128 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43927773575987:43927773576636 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 190 +43927773577569:43927773577976 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 190 +43927773579088:43927773580335 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 +43927773590469:43927773590964 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43927773592271:43927773596138 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092b6aff0) = 0 +43927773611179:43927773611783 26036:26036 hsa_signal_store_relaxed(, 190) = void +43927773613467:43927773614111 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43927773629221:43927773629855 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927773632572:43927773633307 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 +43927773634126:43927773634516 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 191 +43927773635248:43927773635587 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 190 +43927773636548:43927773636870 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43927773637722:43927773639566 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092b67840) = 0 +43927773640314:43927773640777 26036:26036 hsa_signal_store_relaxed(, 191) = void +43927773641827:43927774112952 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927774113885:43927774114289 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927774115363:43927774116154 26036:26036 hsa_signal_destroy() = 0 +43927774117301:43927774118307 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 +43927774119123:43927774119508 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43927774120250:43927774120683 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 +43927774121475:43927774121821 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43927774122677:43927774123027 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43927774137956:43927774138602 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 +43927774194010:43927774197341 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927774198762:43927774199134 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927774202387:43927774202950 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927774204666:43927774205123 26036:26041 hsa_signal_destroy() = 0 +43927774207274:43927774207709 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927774208484:43927774208846 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927774139412:43927774560389 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43927775021032:43927775022025 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927789416439:43927789417461 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927789421462:43927789422476 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927789428709:43927789431559 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 +43927789432835:43927789433659 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43927789434500:43927789435187 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 +43927789436038:43927789436523 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43927789889067:43927789889892 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43927789891055:43927789892836 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 +43927789893770:43927790266705 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43927790267904:43927790268531 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927790284354:43927790285016 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43927790304228:43927790304867 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 192 +43927790305764:43927790306171 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 192 +43927790307403:43927790308911 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 +43927790309771:43927790310296 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43927790320751:43927790324462 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092b78070) = 0 +43927790325385:43927790325983 26036:26036 hsa_signal_store_relaxed(, 192) = void +43927790327572:43927790328209 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43927790344556:43927790345207 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927790347990:43927790357677 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 +43927790358518:43927790358901 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 193 +43927790359705:43927790360043 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 192 +43927790361005:43927790361333 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43927790362195:43927790363803 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092b7df20) = 0 +43927790364553:43927790364947 26036:26036 hsa_signal_store_relaxed(, 193) = void +43927790365961:43927790835296 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927790836293:43927790836796 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927790837883:43927790838542 26036:26036 hsa_signal_destroy() = 0 +43927790839835:43927790840684 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 +43927790841499:43927790841930 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43927790842671:43927790843093 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 +43927790844991:43927790845344 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43927790860586:43927790860970 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43927790861768:43927790862421 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 +43927790916245:43927790919583 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927790921052:43927790921423 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927790924497:43927790925064 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927790926807:43927790927216 26036:26041 hsa_signal_destroy() = 0 +43927790929310:43927790929750 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927790930520:43927790930881 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927790863227:43927791284216 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43927791744411:43927791745161 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927806131789:43927806132997 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927806137739:43927806138938 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927806140981:43927806143705 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 +43927806145025:43927806145668 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43927806146493:43927806147136 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 +43927806148004:43927806148406 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43927806599088:43927806599868 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43927806601324:43927806602960 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 +43927806603822:43927806976883 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43927806978150:43927806978780 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927806992238:43927806992886 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43927807016132:43927807016772 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 194 +43927807017828:43927807018239 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 194 +43927807019513:43927807029751 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 +43927807030681:43927807031146 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43927807032582:43927807036361 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092b8f7a0) = 0 +43927807037252:43927807038081 26036:26036 hsa_signal_store_relaxed(, 194) = void +43927807053541:43927807054212 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43927807060464:43927807070017 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927807072584:43927807073558 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 +43927807074370:43927807074747 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 195 +43927807075541:43927807075870 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 194 +43927807076797:43927807077120 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43927807077938:43927807079834 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092b8aa00) = 0 +43927807080581:43927807080979 26036:26036 hsa_signal_store_relaxed(, 195) = void +43927807081981:43927807544792 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927807545752:43927807546157 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927807547273:43927807547935 26036:26036 hsa_signal_destroy() = 0 +43927807549175:43927807550141 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 +43927807550989:43927807551372 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43927807552132:43927807552553 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 +43927807553352:43927807553696 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43927807554478:43927807554813 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43927807570016:43927807570707 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 +43927807626744:43927807630055 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927807631516:43927807631893 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927807635002:43927807635554 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927807637293:43927807637753 26036:26041 hsa_signal_destroy() = 0 +43927807639910:43927807640335 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927807641114:43927807641479 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927807571534:43927807992900 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43927808458893:43927808459643 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927822839908:43927822841065 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927822845318:43927822846473 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927822848264:43927822850518 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 +43927822851628:43927822852314 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43927822857479:43927822858105 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 +43927822858931:43927822859335 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43927823310172:43927823310991 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43927823312145:43927823314012 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 +43927823314944:43927823688618 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43927823689867:43927823690497 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927823704436:43927823705106 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43927823727953:43927823728716 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 196 +43927823729882:43927823730285 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 196 +43927823740215:43927823741507 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 +43927823742419:43927823742930 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43927823744119:43927823747816 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092ba0d40) = 0 +43927823748787:43927823749356 26036:26036 hsa_signal_store_relaxed(, 196) = void +43927823750857:43927823751495 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43927823767805:43927823768459 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927823781200:43927823781983 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 +43927823782810:43927823783189 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 197 +43927823783917:43927823784247 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 196 +43927823785175:43927823785496 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43927823786336:43927823787932 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092b9e230) = 0 +43927823788676:43927823789120 26036:26036 hsa_signal_store_relaxed(, 197) = void +43927823790118:43927824255493 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927824256477:43927824256948 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927824258056:43927824258708 26036:26036 hsa_signal_destroy() = 0 +43927824259990:43927824261134 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 +43927824261977:43927824262368 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43927824263116:43927824263540 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 +43927824264327:43927824264668 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43927824281346:43927824281720 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43927824282516:43927824283138 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 +43927824337892:43927824341307 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927824342751:43927824343122 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927824346207:43927824346768 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927824348552:43927824349006 26036:26041 hsa_signal_destroy() = 0 +43927824351229:43927824351662 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927824352437:43927824352791 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927824283916:43927824704081 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43927825166815:43927825167553 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927839562477:43927839563604 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927839567766:43927839568874 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927839570735:43927839572687 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 +43927839573876:43927839574450 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43927839575280:43927839575932 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 +43927839577043:43927839577519 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43927840034252:43927840035572 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43927840036845:43927840038534 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 +43927840039479:43927840412196 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43927840413576:43927840414240 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927840427993:43927840428674 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43927840448186:43927840448808 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 198 +43927840449754:43927840450154 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 198 +43927840451322:43927840452774 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 +43927840453752:43927840454287 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43927840455516:43927840467617 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092ba36d0) = 0 +43927840468551:43927840469118 26036:26036 hsa_signal_store_relaxed(, 198) = void +43927840470705:43927840471345 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 +43927840487426:43927840488077 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927840504098:43927840504887 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 +43927840505707:43927840506088 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 199 +43927840506880:43927840507218 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 198 +43927840508151:43927840508471 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void +43927840509304:43927840510901 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092bab4b0) = 0 +43927840511656:43927840512107 26036:26036 hsa_signal_store_relaxed(, 199) = void +43927840513288:43927840967359 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927840968348:43927840968755 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927840969916:43927840970685 26036:26036 hsa_signal_destroy() = 0 +43927840971784:43927840972755 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 +43927840973602:43927840973992 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 +43927840974805:43927840975239 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 +43927840976032:43927840976376 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 +43927840977225:43927840991905 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void +43927840992778:43927840993407 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 +43927841047918:43927841051221 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927841052627:43927841052999 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927841056179:43927841056739 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43927841058485:43927841058957 26036:26041 hsa_signal_destroy() = 0 +43927841061055:43927841061477 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927841062252:43927841062612 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 +43927840994186:43927841415743 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 +43927841875111:43927841875896 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 +43927856254915:43927856255937 26036:26036 hsa_system_get_info(2, 0x7fff229b0060) = 0 +43927856277916:43927856279011 26036:26036 hsa_signal_load_scacquire() = 0 +43927856282646:43927856330334 26036:26036 hsa_amd_memory_pool_free(0x902800000) = 0 +43927856335607:43927856336289 26036:26036 hsa_system_get_info(2, 0x7fff229b0060) = 0 +43927856339560:43927856340198 26036:26036 hsa_system_get_info(2, 0x7fff229b0060) = 0 +43927856345507:43927856345883 26036:26036 hsa_signal_load_scacquire() = 0 +43927856346840:43927856359575 26036:26036 hsa_amd_memory_pool_free(0x903000000) = 0 +43927856361497:43927856362157 26036:26036 hsa_system_get_info(2, 0x7fff229b0060) = 0 +43927856371136:43927856571451 26036:26036 hsa_memory_free(0x903800000) = 0 +43927856583040:43927856597666 26036:26036 hsa_code_object_reader_destroy() = 0 +43927856598930:43927856600886 26036:26036 hsa_code_object_reader_destroy() = 0 +43927856601901:43927856603779 26036:26036 hsa_code_object_reader_destroy() = 0 +43927856605071:43927856606940 26036:26036 hsa_code_object_reader_destroy() = 0 +43927856607955:43927856609834 26036:26036 hsa_code_object_reader_destroy() = 0 +43927856610847:43927856612663 26036:26036 hsa_code_object_reader_destroy() = 0 +43927856613796:43927856615637 26036:26036 hsa_code_object_reader_destroy() = 0 +43927856616751:43927856618579 26036:26036 hsa_code_object_reader_destroy() = 0 +43927856620049:43927856622112 26036:26036 hsa_code_object_reader_destroy() = 0 +43927856623139:43927856625020 26036:26036 hsa_code_object_reader_destroy() = 0 +43927856626204:43927856628044 26036:26036 hsa_code_object_reader_destroy() = 0 +43927856629024:43927856630913 26036:26036 hsa_code_object_reader_destroy() = 0 +43927856631932:43927856633755 26036:26036 hsa_code_object_reader_destroy() = 0 +43927856636126:43927856637930 26036:26036 hsa_code_object_reader_destroy() = 0 +43927856639101:43927856640984 26036:26036 hsa_code_object_reader_destroy() = 0 +43927856642320:43927856644093 26036:26036 hsa_code_object_reader_destroy() = 0 +43927856645145:43927856646971 26036:26036 hsa_code_object_reader_destroy() = 0 +43927856648099:43927856664522 26036:26036 hsa_code_object_reader_destroy() = 0 +43927856665630:43927856667567 26036:26036 hsa_code_object_reader_destroy() = 0 +43927856668493:43927856670357 26036:26036 hsa_code_object_reader_destroy() = 0 +43927856671320:43927856673183 26036:26036 hsa_code_object_reader_destroy() = 0 +43927856683893:43927856685900 26036:26036 hsa_code_object_reader_destroy() = 0 +43925837949374 26036:26036 0:"before hipLaunchKernel" +43925838034347 26036:26036 1:"hipLaunchKernel" +43926124654734 26036:26036 0:"after hipLaunchKernel" +43926124656506 26036:26036 1:"hipMemcpy" +43926126130770 26036:26036 2:"" +43926126136581 26036:26036 2:"" +43926141416209 26036:26036 0:"before hipLaunchKernel" +43926141417742 26036:26036 1:"hipLaunchKernel" +43926141477075 26036:26036 0:"after hipLaunchKernel" +43926141478074 26036:26036 1:"hipMemcpy" +43926142879656 26036:26036 2:"" +43926142881227 26036:26036 2:"" +43926158124359 26036:26036 0:"before hipLaunchKernel" +43926158126254 26036:26036 1:"hipLaunchKernel" +43926158193380 26036:26036 0:"after hipLaunchKernel" +43926158194373 26036:26036 1:"hipMemcpy" +43926159593736 26036:26036 2:"" +43926159594898 26036:26036 2:"" +43926174827661 26036:26036 0:"before hipLaunchKernel" +43926174829273 26036:26036 1:"hipLaunchKernel" +43926174901909 26036:26036 0:"after hipLaunchKernel" +43926174902886 26036:26036 1:"hipMemcpy" +43926176315109 26036:26036 2:"" +43926176316628 26036:26036 2:"" +43926191542370 26036:26036 0:"before hipLaunchKernel" +43926191543834 26036:26036 1:"hipLaunchKernel" +43926191616814 26036:26036 0:"after hipLaunchKernel" +43926191617776 26036:26036 1:"hipMemcpy" +43926193017473 26036:26036 2:"" +43926193018791 26036:26036 2:"" +43926208246085 26036:26036 0:"before hipLaunchKernel" +43926208247487 26036:26036 1:"hipLaunchKernel" +43926208314707 26036:26036 0:"after hipLaunchKernel" +43926208315732 26036:26036 1:"hipMemcpy" +43926209724879 26036:26036 2:"" +43926209726196 26036:26036 2:"" +43926224962171 26036:26036 0:"before hipLaunchKernel" +43926224963823 26036:26036 1:"hipLaunchKernel" +43926225032097 26036:26036 0:"after hipLaunchKernel" +43926225033072 26036:26036 1:"hipMemcpy" +43926227825939 26036:26036 2:"" +43926227827229 26036:26036 2:"" +43926243061627 26036:26036 0:"before hipLaunchKernel" +43926243063004 26036:26036 1:"hipLaunchKernel" +43926243137659 26036:26036 0:"after hipLaunchKernel" +43926243138646 26036:26036 1:"hipMemcpy" +43926245922807 26036:26036 2:"" +43926245924122 26036:26036 2:"" +43926261163201 26036:26036 0:"before hipLaunchKernel" +43926261164832 26036:26036 1:"hipLaunchKernel" +43926261222695 26036:26036 0:"after hipLaunchKernel" +43926261233670 26036:26036 1:"hipMemcpy" +43926264033152 26036:26036 2:"" +43926264034730 26036:26036 2:"" +43926279277401 26036:26036 0:"before hipLaunchKernel" +43926279278870 26036:26036 1:"hipLaunchKernel" +43926279353364 26036:26036 0:"after hipLaunchKernel" +43926279354427 26036:26036 1:"hipMemcpy" +43926282151153 26036:26036 2:"" +43926282152509 26036:26036 2:"" +43926297425955 26036:26036 0:"before hipLaunchKernel" +43926297427525 26036:26036 1:"hipLaunchKernel" +43926297491434 26036:26036 0:"after hipLaunchKernel" +43926297492430 26036:26036 1:"hipMemcpy" +43926300282498 26036:26036 2:"" +43926300283840 26036:26036 2:"" +43926315545024 26036:26036 0:"before hipLaunchKernel" +43926315546543 26036:26036 1:"hipLaunchKernel" +43926315615292 26036:26036 0:"after hipLaunchKernel" +43926315616290 26036:26036 1:"hipMemcpy" +43926318387497 26036:26036 2:"" +43926318388825 26036:26036 2:"" +43926333660857 26036:26036 0:"before hipLaunchKernel" +43926333662377 26036:26036 1:"hipLaunchKernel" +43926333731086 26036:26036 0:"after hipLaunchKernel" +43926333732023 26036:26036 1:"hipMemcpy" +43926336516579 26036:26036 2:"" +43926336518053 26036:26036 2:"" +43926351760178 26036:26036 0:"before hipLaunchKernel" +43926351761632 26036:26036 1:"hipLaunchKernel" +43926351835047 26036:26036 0:"after hipLaunchKernel" +43926351835988 26036:26036 1:"hipMemcpy" +43926354613391 26036:26036 2:"" +43926354614745 26036:26036 2:"" +43926369884442 26036:26036 0:"before hipLaunchKernel" +43926369885846 26036:26036 1:"hipLaunchKernel" +43926369950860 26036:26036 0:"after hipLaunchKernel" +43926369951847 26036:26036 1:"hipMemcpy" +43926372740208 26036:26036 2:"" +43926372741627 26036:26036 2:"" +43926387978913 26036:26036 0:"before hipLaunchKernel" +43926387980484 26036:26036 1:"hipLaunchKernel" +43926388057102 26036:26036 0:"after hipLaunchKernel" +43926388058177 26036:26036 1:"hipMemcpy" +43926390837417 26036:26036 2:"" +43926390838895 26036:26036 2:"" +43926406084796 26036:26036 0:"before hipLaunchKernel" +43926406086437 26036:26036 1:"hipLaunchKernel" +43926406155514 26036:26036 0:"after hipLaunchKernel" +43926406156519 26036:26036 1:"hipMemcpy" +43926408938345 26036:26036 2:"" +43926408939556 26036:26036 2:"" +43926424178779 26036:26036 0:"before hipLaunchKernel" +43926424185046 26036:26036 1:"hipLaunchKernel" +43926424250010 26036:26036 0:"after hipLaunchKernel" +43926424251053 26036:26036 1:"hipMemcpy" +43926427042903 26036:26036 2:"" +43926427044454 26036:26036 2:"" +43926442299011 26036:26036 0:"before hipLaunchKernel" +43926442300748 26036:26036 1:"hipLaunchKernel" +43926442364530 26036:26036 0:"after hipLaunchKernel" +43926442365511 26036:26036 1:"hipMemcpy" +43926445144326 26036:26036 2:"" +43926445145699 26036:26036 2:"" +43926460385320 26036:26036 0:"before hipLaunchKernel" +43926460386895 26036:26036 1:"hipLaunchKernel" +43926460456437 26036:26036 0:"after hipLaunchKernel" +43926460457463 26036:26036 1:"hipMemcpy" +43926463236963 26036:26036 2:"" +43926463238344 26036:26036 2:"" +43926478486584 26036:26036 0:"before hipLaunchKernel" +43926478488197 26036:26036 1:"hipLaunchKernel" +43926478556437 26036:26036 0:"after hipLaunchKernel" +43926478557368 26036:26036 1:"hipMemcpy" +43926481341546 26036:26036 2:"" +43926481343078 26036:26036 2:"" +43926496569223 26036:26036 0:"before hipLaunchKernel" +43926496570678 26036:26036 1:"hipLaunchKernel" +43926496638725 26036:26036 0:"after hipLaunchKernel" +43926496639751 26036:26036 1:"hipMemcpy" +43926498034841 26036:26036 2:"" +43926498036143 26036:26036 2:"" +43926513276940 26036:26036 0:"before hipLaunchKernel" +43926513278573 26036:26036 1:"hipLaunchKernel" +43926513347454 26036:26036 0:"after hipLaunchKernel" +43926513348437 26036:26036 1:"hipMemcpy" +43926514745698 26036:26036 2:"" +43926514747126 26036:26036 2:"" +43926529983797 26036:26036 0:"before hipLaunchKernel" +43926529985301 26036:26036 1:"hipLaunchKernel" +43926530049563 26036:26036 0:"after hipLaunchKernel" +43926530050640 26036:26036 1:"hipMemcpy" +43926531441141 26036:26036 2:"" +43926531442604 26036:26036 2:"" +43926546675380 26036:26036 0:"before hipLaunchKernel" +43926546676880 26036:26036 1:"hipLaunchKernel" +43926546749484 26036:26036 0:"after hipLaunchKernel" +43926546750431 26036:26036 1:"hipMemcpy" +43926548161721 26036:26036 2:"" +43926548163200 26036:26036 2:"" +43926563390850 26036:26036 0:"before hipLaunchKernel" +43926563392294 26036:26036 1:"hipLaunchKernel" +43926563459754 26036:26036 0:"after hipLaunchKernel" +43926563460751 26036:26036 1:"hipMemcpy" +43926564869836 26036:26036 2:"" +43926564871327 26036:26036 2:"" +43926580095620 26036:26036 0:"before hipLaunchKernel" +43926580097097 26036:26036 1:"hipLaunchKernel" +43926580162811 26036:26036 0:"after hipLaunchKernel" +43926580163819 26036:26036 1:"hipMemcpy" +43926581567363 26036:26036 2:"" +43926581568636 26036:26036 2:"" +43926596825496 26036:26036 0:"before hipLaunchKernel" +43926596827018 26036:26036 1:"hipLaunchKernel" +43926596895740 26036:26036 0:"after hipLaunchKernel" +43926596896707 26036:26036 1:"hipMemcpy" +43926598298729 26036:26036 2:"" +43926598300100 26036:26036 2:"" +43926613527296 26036:26036 0:"before hipLaunchKernel" +43926613528726 26036:26036 1:"hipLaunchKernel" +43926613597100 26036:26036 0:"after hipLaunchKernel" +43926613598105 26036:26036 1:"hipMemcpy" +43926615001490 26036:26036 2:"" +43926615002952 26036:26036 2:"" +43926630240227 26036:26036 0:"before hipLaunchKernel" +43926630241752 26036:26036 1:"hipLaunchKernel" +43926630306542 26036:26036 0:"after hipLaunchKernel" +43926630307536 26036:26036 1:"hipMemcpy" +43926631705959 26036:26036 2:"" +43926631707625 26036:26036 2:"" +43926646938395 26036:26036 0:"before hipLaunchKernel" +43926646939966 26036:26036 1:"hipLaunchKernel" +43926647002852 26036:26036 0:"after hipLaunchKernel" +43926647003868 26036:26036 1:"hipMemcpy" +43926648450334 26036:26036 2:"" +43926648452298 26036:26036 2:"" +43926663914361 26036:26036 0:"before hipLaunchKernel" +43926663915904 26036:26036 1:"hipLaunchKernel" +43926663986769 26036:26036 0:"after hipLaunchKernel" +43926663987873 26036:26036 1:"hipMemcpy" +43926665395981 26036:26036 2:"" +43926665397516 26036:26036 2:"" +43926680626366 26036:26036 0:"before hipLaunchKernel" +43926680627793 26036:26036 1:"hipLaunchKernel" +43926680703633 26036:26036 0:"after hipLaunchKernel" +43926680704650 26036:26036 1:"hipMemcpy" +43926682101315 26036:26036 2:"" +43926682102788 26036:26036 2:"" +43926697364697 26036:26036 0:"before hipLaunchKernel" +43926697366094 26036:26036 1:"hipLaunchKernel" +43926697431544 26036:26036 0:"after hipLaunchKernel" +43926697432491 26036:26036 1:"hipMemcpy" +43926698829089 26036:26036 2:"" +43926698830450 26036:26036 2:"" +43926714083879 26036:26036 0:"before hipLaunchKernel" +43926714088632 26036:26036 1:"hipLaunchKernel" +43926714149293 26036:26036 0:"after hipLaunchKernel" +43926714150427 26036:26036 1:"hipMemcpy" +43926715553255 26036:26036 2:"" +43926715554575 26036:26036 2:"" +43926730787819 26036:26036 0:"before hipLaunchKernel" +43926730789463 26036:26036 1:"hipLaunchKernel" +43926730857537 26036:26036 0:"after hipLaunchKernel" +43926730858504 26036:26036 1:"hipMemcpy" +43926732267393 26036:26036 2:"" +43926732268723 26036:26036 2:"" +43926747494299 26036:26036 0:"before hipLaunchKernel" +43926747495701 26036:26036 1:"hipLaunchKernel" +43926747562530 26036:26036 0:"after hipLaunchKernel" +43926747563770 26036:26036 1:"hipMemcpy" +43926748970702 26036:26036 2:"" +43926748972185 26036:26036 2:"" +43926764203380 26036:26036 0:"before hipLaunchKernel" +43926764204987 26036:26036 1:"hipLaunchKernel" +43926764270023 26036:26036 0:"after hipLaunchKernel" +43926764270946 26036:26036 1:"hipMemcpy" +43926765672881 26036:26036 2:"" +43926765674085 26036:26036 2:"" +43926780902022 26036:26036 0:"before hipLaunchKernel" +43926780903376 26036:26036 1:"hipLaunchKernel" +43926780968389 26036:26036 0:"after hipLaunchKernel" +43926780969361 26036:26036 1:"hipMemcpy" +43926782372488 26036:26036 2:"" +43926782373879 26036:26036 2:"" +43926797614221 26036:26036 0:"before hipLaunchKernel" +43926797615776 26036:26036 1:"hipLaunchKernel" +43926797680689 26036:26036 0:"after hipLaunchKernel" +43926797681717 26036:26036 1:"hipMemcpy" +43926799080278 26036:26036 2:"" +43926799081563 26036:26036 2:"" +43926814322479 26036:26036 0:"before hipLaunchKernel" +43926814323929 26036:26036 1:"hipLaunchKernel" +43926814392049 26036:26036 0:"after hipLaunchKernel" +43926814393277 26036:26036 1:"hipMemcpy" +43926815797615 26036:26036 2:"" +43926815798958 26036:26036 2:"" +43926831030763 26036:26036 0:"before hipLaunchKernel" +43926831032170 26036:26036 1:"hipLaunchKernel" +43926831101175 26036:26036 0:"after hipLaunchKernel" +43926831102087 26036:26036 1:"hipMemcpy" +43926832505718 26036:26036 2:"" +43926832506917 26036:26036 2:"" +43926847761998 26036:26036 0:"before hipLaunchKernel" +43926847763481 26036:26036 1:"hipLaunchKernel" +43926847836619 26036:26036 0:"after hipLaunchKernel" +43926847837585 26036:26036 1:"hipMemcpy" +43926850615693 26036:26036 2:"" +43926850616962 26036:26036 2:"" +43926865872091 26036:26036 0:"before hipLaunchKernel" +43926865873593 26036:26036 1:"hipLaunchKernel" +43926865938674 26036:26036 0:"after hipLaunchKernel" +43926865939686 26036:26036 1:"hipMemcpy" +43926868723722 26036:26036 2:"" +43926868725198 26036:26036 2:"" +43926883968628 26036:26036 0:"before hipLaunchKernel" +43926883970051 26036:26036 1:"hipLaunchKernel" +43926884044167 26036:26036 0:"after hipLaunchKernel" +43926884045173 26036:26036 1:"hipMemcpy" +43926886828882 26036:26036 2:"" +43926886830066 26036:26036 2:"" +43926902080099 26036:26036 0:"before hipLaunchKernel" +43926902081476 26036:26036 1:"hipLaunchKernel" +43926902150050 26036:26036 0:"after hipLaunchKernel" +43926902151041 26036:26036 1:"hipMemcpy" +43926904938516 26036:26036 2:"" +43926904939646 26036:26036 2:"" +43926920176714 26036:26036 0:"before hipLaunchKernel" +43926920178211 26036:26036 1:"hipLaunchKernel" +43926920242571 26036:26036 0:"after hipLaunchKernel" +43926920243688 26036:26036 1:"hipMemcpy" +43926923030736 26036:26036 2:"" +43926923032011 26036:26036 2:"" +43926938308598 26036:26036 0:"before hipLaunchKernel" +43926938310126 26036:26036 1:"hipLaunchKernel" +43926938378717 26036:26036 0:"after hipLaunchKernel" +43926938379683 26036:26036 1:"hipMemcpy" +43926941171460 26036:26036 2:"" +43926941173116 26036:26036 2:"" +43926956415052 26036:26036 0:"before hipLaunchKernel" +43926956416397 26036:26036 1:"hipLaunchKernel" +43926956485044 26036:26036 0:"after hipLaunchKernel" +43926956486084 26036:26036 1:"hipMemcpy" +43926959274004 26036:26036 2:"" +43926959275239 26036:26036 2:"" +43926974543855 26036:26036 0:"before hipLaunchKernel" +43926974545512 26036:26036 1:"hipLaunchKernel" +43926974614579 26036:26036 0:"after hipLaunchKernel" +43926974615532 26036:26036 1:"hipMemcpy" +43926977400608 26036:26036 2:"" +43926977401829 26036:26036 2:"" +43926992664110 26036:26036 0:"before hipLaunchKernel" +43926992665762 26036:26036 1:"hipLaunchKernel" +43926992730207 26036:26036 0:"after hipLaunchKernel" +43926992731168 26036:26036 1:"hipMemcpy" +43926995530778 26036:26036 2:"" +43926995532036 26036:26036 2:"" +43927010769991 26036:26036 0:"before hipLaunchKernel" +43927010775013 26036:26036 1:"hipLaunchKernel" +43927010841405 26036:26036 0:"after hipLaunchKernel" +43927010842414 26036:26036 1:"hipMemcpy" +43927013631594 26036:26036 2:"" +43927013632938 26036:26036 2:"" +43927028875272 26036:26036 0:"before hipLaunchKernel" +43927028876717 26036:26036 1:"hipLaunchKernel" +43927028941362 26036:26036 0:"after hipLaunchKernel" +43927028942439 26036:26036 1:"hipMemcpy" +43927031737243 26036:26036 2:"" +43927031738545 26036:26036 2:"" +43927047005471 26036:26036 0:"before hipLaunchKernel" +43927047006916 26036:26036 1:"hipLaunchKernel" +43927047073112 26036:26036 0:"after hipLaunchKernel" +43927047074059 26036:26036 1:"hipMemcpy" +43927049861179 26036:26036 2:"" +43927049862588 26036:26036 2:"" +43927065111982 26036:26036 0:"before hipLaunchKernel" +43927065113379 26036:26036 1:"hipLaunchKernel" +43927065167144 26036:26036 0:"after hipLaunchKernel" +43927065178146 26036:26036 1:"hipMemcpy" +43927067964142 26036:26036 2:"" +43927067965483 26036:26036 2:"" +43927083212669 26036:26036 0:"before hipLaunchKernel" +43927083214139 26036:26036 1:"hipLaunchKernel" +43927083282444 26036:26036 0:"after hipLaunchKernel" +43927083283456 26036:26036 1:"hipMemcpy" +43927086057976 26036:26036 2:"" +43927086059354 26036:26036 2:"" +43927101285705 26036:26036 0:"before hipLaunchKernel" +43927101287170 26036:26036 1:"hipLaunchKernel" +43927101340566 26036:26036 0:"after hipLaunchKernel" +43927101351441 26036:26036 1:"hipMemcpy" +43927102746590 26036:26036 2:"" +43927102747951 26036:26036 2:"" +43927117985071 26036:26036 0:"before hipLaunchKernel" +43927117986645 26036:26036 1:"hipLaunchKernel" +43927118040463 26036:26036 0:"after hipLaunchKernel" +43927118051447 26036:26036 1:"hipMemcpy" +43927119444315 26036:26036 2:"" +43927119445578 26036:26036 2:"" +43927134675114 26036:26036 0:"before hipLaunchKernel" +43927134676565 26036:26036 1:"hipLaunchKernel" +43927134741734 26036:26036 0:"after hipLaunchKernel" +43927134742782 26036:26036 1:"hipMemcpy" +43927136144229 26036:26036 2:"" +43927136145648 26036:26036 2:"" +43927151368048 26036:26036 0:"before hipLaunchKernel" +43927151369538 26036:26036 1:"hipLaunchKernel" +43927151437639 26036:26036 0:"after hipLaunchKernel" +43927151438612 26036:26036 1:"hipMemcpy" +43927152848109 26036:26036 2:"" +43927152849579 26036:26036 2:"" +43927168080175 26036:26036 0:"before hipLaunchKernel" +43927168081574 26036:26036 1:"hipLaunchKernel" +43927168150552 26036:26036 0:"after hipLaunchKernel" +43927168151550 26036:26036 1:"hipMemcpy" +43927169549796 26036:26036 2:"" +43927169551102 26036:26036 2:"" +43927184781024 26036:26036 0:"before hipLaunchKernel" +43927184782636 26036:26036 1:"hipLaunchKernel" +43927184850980 26036:26036 0:"after hipLaunchKernel" +43927184851968 26036:26036 1:"hipMemcpy" +43927186250730 26036:26036 2:"" +43927186252425 26036:26036 2:"" +43927201476500 26036:26036 0:"before hipLaunchKernel" +43927201478020 26036:26036 1:"hipLaunchKernel" +43927201547060 26036:26036 0:"after hipLaunchKernel" +43927201548073 26036:26036 1:"hipMemcpy" +43927202954760 26036:26036 2:"" +43927202956034 26036:26036 2:"" +43927218185027 26036:26036 0:"before hipLaunchKernel" +43927218186612 26036:26036 1:"hipLaunchKernel" +43927218254472 26036:26036 0:"after hipLaunchKernel" +43927218255505 26036:26036 1:"hipMemcpy" +43927219646466 26036:26036 2:"" +43927219647896 26036:26036 2:"" +43927234881933 26036:26036 0:"before hipLaunchKernel" +43927234883623 26036:26036 1:"hipLaunchKernel" +43927234942029 26036:26036 0:"after hipLaunchKernel" +43927234942994 26036:26036 1:"hipMemcpy" +43927236350307 26036:26036 2:"" +43927236351606 26036:26036 2:"" +43927251575061 26036:26036 0:"before hipLaunchKernel" +43927251576548 26036:26036 1:"hipLaunchKernel" +43927251644579 26036:26036 0:"after hipLaunchKernel" +43927251645556 26036:26036 1:"hipMemcpy" +43927253044384 26036:26036 2:"" +43927253045717 26036:26036 2:"" +43927268268590 26036:26036 0:"before hipLaunchKernel" +43927268270094 26036:26036 1:"hipLaunchKernel" +43927268331576 26036:26036 0:"after hipLaunchKernel" +43927268332561 26036:26036 1:"hipMemcpy" +43927269740080 26036:26036 2:"" +43927269742282 26036:26036 2:"" +43927285209799 26036:26036 0:"before hipLaunchKernel" +43927285211479 26036:26036 1:"hipLaunchKernel" +43927285274965 26036:26036 0:"after hipLaunchKernel" +43927285275932 26036:26036 1:"hipMemcpy" +43927286687108 26036:26036 2:"" +43927286688448 26036:26036 2:"" +43927302061109 26036:26036 0:"before hipLaunchKernel" +43927302062693 26036:26036 1:"hipLaunchKernel" +43927302125993 26036:26036 0:"after hipLaunchKernel" +43927302126946 26036:26036 1:"hipMemcpy" +43927303536988 26036:26036 2:"" +43927303538917 26036:26036 2:"" +43927318932986 26036:26036 0:"before hipLaunchKernel" +43927318934524 26036:26036 1:"hipLaunchKernel" +43927319002417 26036:26036 0:"after hipLaunchKernel" +43927319003365 26036:26036 1:"hipMemcpy" +43927320413196 26036:26036 2:"" +43927320414605 26036:26036 2:"" +43927335810885 26036:26036 0:"before hipLaunchKernel" +43927335812346 26036:26036 1:"hipLaunchKernel" +43927335888679 26036:26036 0:"after hipLaunchKernel" +43927335889627 26036:26036 1:"hipMemcpy" +43927337292410 26036:26036 2:"" +43927337293638 26036:26036 2:"" +43927352526496 26036:26036 0:"before hipLaunchKernel" +43927352527944 26036:26036 1:"hipLaunchKernel" +43927352599497 26036:26036 0:"after hipLaunchKernel" +43927352600517 26036:26036 1:"hipMemcpy" +43927354004759 26036:26036 2:"" +43927354006018 26036:26036 2:"" +43927369258966 26036:26036 0:"before hipLaunchKernel" +43927369260573 26036:26036 1:"hipLaunchKernel" +43927369332114 26036:26036 0:"after hipLaunchKernel" +43927369333356 26036:26036 1:"hipMemcpy" +43927370740393 26036:26036 2:"" +43927370741687 26036:26036 2:"" +43927386003123 26036:26036 0:"before hipLaunchKernel" +43927386004646 26036:26036 1:"hipLaunchKernel" +43927386074085 26036:26036 0:"after hipLaunchKernel" +43927386075084 26036:26036 1:"hipMemcpy" +43927387477083 26036:26036 2:"" +43927387478475 26036:26036 2:"" +43927402712423 26036:26036 0:"before hipLaunchKernel" +43927402713774 26036:26036 1:"hipLaunchKernel" +43927402786738 26036:26036 0:"after hipLaunchKernel" +43927402797147 26036:26036 1:"hipMemcpy" +43927404187914 26036:26036 2:"" +43927404189080 26036:26036 2:"" +43927419415405 26036:26036 0:"before hipLaunchKernel" +43927419416875 26036:26036 1:"hipLaunchKernel" +43927419480814 26036:26036 0:"after hipLaunchKernel" +43927419481848 26036:26036 1:"hipMemcpy" +43927420832233 26036:26036 2:"" +43927420833493 26036:26036 2:"" +43927436057785 26036:26036 0:"before hipLaunchKernel" +43927436059304 26036:26036 1:"hipLaunchKernel" +43927436128964 26036:26036 0:"after hipLaunchKernel" +43927436129958 26036:26036 1:"hipMemcpy" +43927437528731 26036:26036 2:"" +43927437529961 26036:26036 2:"" +43927452762841 26036:26036 0:"before hipLaunchKernel" +43927452764332 26036:26036 1:"hipLaunchKernel" +43927452828782 26036:26036 0:"after hipLaunchKernel" +43927452829742 26036:26036 1:"hipMemcpy" +43927454218638 26036:26036 2:"" +43927454220020 26036:26036 2:"" +43927469488999 26036:26036 0:"before hipLaunchKernel" +43927469490408 26036:26036 1:"hipLaunchKernel" +43927469559898 26036:26036 0:"after hipLaunchKernel" +43927469560879 26036:26036 1:"hipMemcpy" +43927472357854 26036:26036 2:"" +43927472359152 26036:26036 2:"" +43927487594759 26036:26036 0:"before hipLaunchKernel" +43927487596207 26036:26036 1:"hipLaunchKernel" +43927487664812 26036:26036 0:"after hipLaunchKernel" +43927487665810 26036:26036 1:"hipMemcpy" +43927490446389 26036:26036 2:"" +43927490447556 26036:26036 2:"" +43927505700233 26036:26036 0:"before hipLaunchKernel" +43927505701630 26036:26036 1:"hipLaunchKernel" +43927505771471 26036:26036 0:"after hipLaunchKernel" +43927505772430 26036:26036 1:"hipMemcpy" +43927508563737 26036:26036 2:"" +43927508565058 26036:26036 2:"" +43927523810593 26036:26036 0:"before hipLaunchKernel" +43927523812278 26036:26036 1:"hipLaunchKernel" +43927523876565 26036:26036 0:"after hipLaunchKernel" +43927523877523 26036:26036 1:"hipMemcpy" +43927526657224 26036:26036 2:"" +43927526658501 26036:26036 2:"" +43927541905632 26036:26036 0:"before hipLaunchKernel" +43927541907006 26036:26036 1:"hipLaunchKernel" +43927541965928 26036:26036 0:"after hipLaunchKernel" +43927541977126 26036:26036 1:"hipMemcpy" +43927544754680 26036:26036 2:"" +43927544755960 26036:26036 2:"" +43927559995323 26036:26036 0:"before hipLaunchKernel" +43927559996857 26036:26036 1:"hipLaunchKernel" +43927560070941 26036:26036 0:"after hipLaunchKernel" +43927560071911 26036:26036 1:"hipMemcpy" +43927562858036 26036:26036 2:"" +43927562859298 26036:26036 2:"" +43927578102735 26036:26036 0:"before hipLaunchKernel" +43927578104052 26036:26036 1:"hipLaunchKernel" +43927578172905 26036:26036 0:"after hipLaunchKernel" +43927578173850 26036:26036 1:"hipMemcpy" +43927580947890 26036:26036 2:"" +43927580949302 26036:26036 2:"" +43927596191193 26036:26036 0:"before hipLaunchKernel" +43927596192531 26036:26036 1:"hipLaunchKernel" +43927596259091 26036:26036 0:"after hipLaunchKernel" +43927596260008 26036:26036 1:"hipMemcpy" +43927599042261 26036:26036 2:"" +43927599043601 26036:26036 2:"" +43927614293727 26036:26036 0:"before hipLaunchKernel" +43927614295046 26036:26036 1:"hipLaunchKernel" +43927614359522 26036:26036 0:"after hipLaunchKernel" +43927614360490 26036:26036 1:"hipMemcpy" +43927617143771 26036:26036 2:"" +43927617145221 26036:26036 2:"" +43927632387086 26036:26036 0:"before hipLaunchKernel" +43927632388395 26036:26036 1:"hipLaunchKernel" +43927632456136 26036:26036 0:"after hipLaunchKernel" +43927632457228 26036:26036 1:"hipMemcpy" +43927635241248 26036:26036 2:"" +43927635242651 26036:26036 2:"" +43927650492565 26036:26036 0:"before hipLaunchKernel" +43927650493960 26036:26036 1:"hipLaunchKernel" +43927650562083 26036:26036 0:"after hipLaunchKernel" +43927650563125 26036:26036 1:"hipMemcpy" +43927653343762 26036:26036 2:"" +43927653344988 26036:26036 2:"" +43927668591120 26036:26036 0:"before hipLaunchKernel" +43927668592494 26036:26036 1:"hipLaunchKernel" +43927668666104 26036:26036 0:"after hipLaunchKernel" +43927668667122 26036:26036 1:"hipMemcpy" +43927671454274 26036:26036 2:"" +43927671455516 26036:26036 2:"" +43927686704188 26036:26036 0:"before hipLaunchKernel" +43927686705586 26036:26036 1:"hipLaunchKernel" +43927686770857 26036:26036 0:"after hipLaunchKernel" +43927686771893 26036:26036 1:"hipMemcpy" +43927689557469 26036:26036 2:"" +43927689558889 26036:26036 2:"" +43927704812216 26036:26036 0:"before hipLaunchKernel" +43927704813628 26036:26036 1:"hipLaunchKernel" +43927704871020 26036:26036 0:"after hipLaunchKernel" +43927704871973 26036:26036 1:"hipMemcpy" +43927707709233 26036:26036 2:"" +43927707711414 26036:26036 2:"" +43927723150164 26036:26036 0:"before hipLaunchKernel" +43927723151728 26036:26036 1:"hipLaunchKernel" +43927723217327 26036:26036 0:"after hipLaunchKernel" +43927723218335 26036:26036 1:"hipMemcpy" +43927724631141 26036:26036 2:"" +43927724632609 26036:26036 2:"" +43927739862742 26036:26036 0:"before hipLaunchKernel" +43927739864356 26036:26036 1:"hipLaunchKernel" +43927739926511 26036:26036 0:"after hipLaunchKernel" +43927739927431 26036:26036 1:"hipMemcpy" +43927741339277 26036:26036 2:"" +43927741341192 26036:26036 2:"" +43927756804061 26036:26036 0:"before hipLaunchKernel" +43927756805660 26036:26036 1:"hipLaunchKernel" +43927756868931 26036:26036 0:"after hipLaunchKernel" +43927756869980 26036:26036 1:"hipMemcpy" +43927758279561 26036:26036 2:"" +43927758281001 26036:26036 2:"" +43927773544059 26036:26036 0:"before hipLaunchKernel" +43927773545986 26036:26036 1:"hipLaunchKernel" +43927773618141 26036:26036 0:"after hipLaunchKernel" +43927773628059 26036:26036 1:"hipMemcpy" +43927775024715 26036:26036 2:"" +43927775026128 26036:26036 2:"" +43927790275125 26036:26036 0:"before hipLaunchKernel" +43927790276629 26036:26036 1:"hipLaunchKernel" +43927790342444 26036:26036 0:"after hipLaunchKernel" +43927790343440 26036:26036 1:"hipMemcpy" +43927791747823 26036:26036 2:"" +43927791749126 26036:26036 2:"" +43927806983703 26036:26036 0:"before hipLaunchKernel" +43927806985088 26036:26036 1:"hipLaunchKernel" +43927807058295 26036:26036 0:"after hipLaunchKernel" +43927807059324 26036:26036 1:"hipMemcpy" +43927808462376 26036:26036 2:"" +43927808463675 26036:26036 2:"" +43927823695667 26036:26036 0:"before hipLaunchKernel" +43927823697056 26036:26036 1:"hipLaunchKernel" +43927823765678 26036:26036 0:"after hipLaunchKernel" +43927823766665 26036:26036 1:"hipMemcpy" +43927825170257 26036:26036 2:"" +43927825171581 26036:26036 2:"" +43927840419186 26036:26036 0:"before hipLaunchKernel" +43927840420630 26036:26036 1:"hipLaunchKernel" +43927840485376 26036:26036 0:"after hipLaunchKernel" +43927840486421 26036:26036 1:"hipMemcpy" +43927841878411 26036:26036 2:"" +43927841879693 26036:26036 2:"" +43926124638710:43926125127990 0:0 hcCommandKernel:6 +43926125136950:43926125148310 0:0 hcCommandMarker:8 +43926141476012:43926141954413 0:0 hcCommandKernel:11 +43926141957293:43926141963853 0:0 hcCommandMarker:13 +43926158181881:43926158670842 0:0 hcCommandKernel:16 +43926158673882:43926158680442 0:0 hcCommandMarker:18 +43926174897948:43926175383389 0:0 hcCommandKernel:21 +43926175386269:43926175392829 0:0 hcCommandMarker:23 +43926191601673:43926192092874 0:0 hcCommandKernel:26 +43926192095754:43926192102314 0:0 hcCommandMarker:28 +43926208303196:43926208801917 0:0 hcCommandKernel:31 +43926208804957:43926208811517 0:0 hcCommandMarker:33 +43926225021229:43926226865232 0:0 hcCommandKernel:36 +43926226868112:43926226899632 0:0 hcCommandMarker:38 +43926243126157:43926244971761 0:0 hcCommandKernel:41 +43926244974801:43926245006161 0:0 hcCommandMarker:43 +43926261221935:43926263068978 0:0 hcCommandKernel:46 +43926263071858:43926263103378 0:0 hcCommandMarker:48 +43926279349947:43926281198431 0:0 hcCommandKernel:51 +43926281201311:43926281233471 0:0 hcCommandMarker:53 +43926297480705:43926299324069 0:0 hcCommandKernel:56 +43926299327109:43926299358469 0:0 hcCommandMarker:58 +43926315599890:43926317433973 0:0 hcCommandKernel:61 +43926317436853:43926317468533 0:0 hcCommandMarker:63 +43926333719512:43926335565916 0:0 hcCommandKernel:66 +43926335568796:43926335600156 0:0 hcCommandMarker:68 +43926351819730:43926353661173 0:0 hcCommandKernel:71 +43926353664213:43926353695573 0:0 hcCommandMarker:73 +43926369939939:43926371779462 0:0 hcCommandKernel:76 +43926371782342:43926371813702 0:0 hcCommandMarker:78 +43926388042341:43926389884744 0:0 hcCommandKernel:81 +43926389887784:43926389920104 0:0 hcCommandMarker:83 +43926406144781:43926407986545 0:0 hcCommandKernel:86 +43926407989425:43926408020945 0:0 hcCommandMarker:88 +43926424238646:43926426089529 0:0 hcCommandKernel:91 +43926426092409:43926426123769 0:0 hcCommandMarker:93 +43926442353389:43926444193232 0:0 hcCommandKernel:96 +43926444196112:43926444227632 0:0 hcCommandMarker:98 +43926460445552:43926462284435 0:0 hcCommandKernel:101 +43926462287315:43926462318835 0:0 hcCommandMarker:103 +43926478553039:43926480389682 0:0 hcCommandKernel:106 +43926480392562:43926480423922 0:0 hcCommandMarker:108 +43926496627659:43926497112620 0:0 hcCommandKernel:111 +43926497115660:43926497122220 0:0 hcCommandMarker:113 +43926513336205:43926513823726 0:0 hcCommandKernel:116 +43926513826766:43926513833326 0:0 hcCommandMarker:118 +43926530038442:43926530517003 0:0 hcCommandKernel:121 +43926530519883:43926530526603 0:0 hcCommandMarker:123 +43926546745933:43926547234574 0:0 hcCommandKernel:126 +43926547237614:43926547244174 0:0 hcCommandMarker:128 +43926563448840:43926563942121 0:0 hcCommandKernel:131 +43926563945001:43926563951561 0:0 hcCommandMarker:133 +43926580151345:43926580644946 0:0 hcCommandKernel:136 +43926580647826:43926580654386 0:0 hcCommandMarker:138 +43926596884189:43926597368190 0:0 hcCommandKernel:141 +43926597371070:43926597377630 0:0 hcCommandMarker:143 +43926613593532:43926614078013 0:0 hcCommandKernel:146 +43926614081053:43926614087613 0:0 hcCommandMarker:148 +43926630295295:43926630781216 0:0 hcCommandKernel:151 +43926630784256:43926630790816 0:0 hcCommandMarker:153 +43926647001651:43926647481491 0:0 hcCommandKernel:156 +43926647484542:43926647491102 0:0 hcCommandMarker:158 +43926663982543:43926664471664 0:0 hcCommandKernel:161 +43926664474544:43926664481104 0:0 hcCommandMarker:163 +43926680696587:43926681178828 0:0 hcCommandKernel:166 +43926681181708:43926681188268 0:0 hcCommandMarker:168 +43926697420584:43926697905385 0:0 hcCommandKernel:171 +43926697908265:43926697914825 0:0 hcCommandMarker:173 +43926714146808:43926714631609 0:0 hcCommandKernel:176 +43926714634489:43926714641049 0:0 hcCommandMarker:178 +43926730854108:43926731338749 0:0 hcCommandKernel:181 +43926731341629:43926731348189 0:0 hcCommandMarker:183 +43926747551245:43926748045486 0:0 hcCommandKernel:186 +43926748048526:43926748055086 0:0 hcCommandMarker:188 +43926764258597:43926764748198 0:0 hcCommandKernel:191 +43926764751078:43926764757798 0:0 hcCommandMarker:193 +43926780957277:43926781448318 0:0 hcCommandKernel:196 +43926781451198:43926781457918 0:0 hcCommandMarker:198 +43926797669626:43926798157147 0:0 hcCommandKernel:201 +43926798160027:43926798166587 0:0 hcCommandMarker:203 +43926814388220:43926814874621 0:0 hcCommandKernel:206 +43926814877661:43926814884221 0:0 hcCommandMarker:208 +43926831097803:43926831581804 0:0 hcCommandKernel:211 +43926831584684:43926831591404 0:0 hcCommandMarker:213 +43926847821044:43926849662967 0:0 hcCommandKernel:216 +43926849665847:43926849697207 0:0 hcCommandMarker:218 +43926865935080:43926867770923 0:0 hcCommandKernel:221 +43926867773803:43926867805163 0:0 hcCommandMarker:223 +43926884040558:43926885874961 0:0 hcCommandKernel:226 +43926885878001:43926885909361 0:0 hcCommandMarker:228 +43926902138990:43926903984593 0:0 hcCommandKernel:231 +43926903987473:43926904018833 0:0 hcCommandMarker:233 +43926920231915:43926922069838 0:0 hcCommandKernel:236 +43926922072718:43926922104238 0:0 hcCommandMarker:238 +43926938367877:43926940216520 0:0 hcCommandKernel:241 +43926940219720:43926940251240 0:0 hcCommandMarker:243 +43926956474108:43926958312991 0:0 hcCommandKernel:246 +43926958316031:43926958347391 0:0 hcCommandMarker:248 +43926974603566:43926976444369 0:0 hcCommandKernel:251 +43926976447409:43926976478769 0:0 hcCommandMarker:253 +43926992719259:43926994570142 0:0 hcCommandKernel:256 +43926994573182:43926994604542 0:0 hcCommandMarker:258 +43927010837861:43927012680264 0:0 hcCommandKernel:261 +43927012683304:43927012714824 0:0 hcCommandMarker:263 +43927028930472:43927030776235 0:0 hcCommandKernel:266 +43927030779275:43927030810635 0:0 hcCommandMarker:268 +43927047068414:43927048906817 0:0 hcCommandKernel:271 +43927048909697:43927048941217 0:0 hcCommandMarker:273 +43927065166595:43927067003718 0:0 hcCommandKernel:276 +43927067006758:43927067038118 0:0 hcCommandMarker:278 +43927083266872:43927085103355 0:0 hcCommandKernel:281 +43927085106395:43927085137755 0:0 hcCommandMarker:283 +43927101340134:43927101823655 0:0 hcCommandKernel:286 +43927101826535:43927101833095 0:0 hcCommandMarker:288 +43927118039677:43927118521918 0:0 hcCommandKernel:291 +43927118524958:43927118531518 0:0 hcCommandMarker:293 +43927134729368:43927135216089 0:0 hcCommandKernel:296 +43927135219129:43927135225849 0:0 hcCommandMarker:298 +43927151425930:43927151912491 0:0 hcCommandKernel:301 +43927151915691:43927151922091 0:0 hcCommandMarker:303 +43927168146671:43927168626352 0:0 hcCommandKernel:306 +43927168629232:43927168635792 0:0 hcCommandMarker:308 +43927184847025:43927185328626 0:0 hcCommandKernel:311 +43927185331506:43927185338066 0:0 hcCommandMarker:313 +43927201543524:43927202032005 0:0 hcCommandKernel:316 +43927202034885:43927202041605 0:0 hcCommandMarker:318 +43927218250716:43927218735357 0:0 hcCommandKernel:321 +43927218738557:43927218744957 0:0 hcCommandMarker:323 +43927234941369:43927235422650 0:0 hcCommandKernel:326 +43927235425690:43927235432250 0:0 hcCommandMarker:328 +43927251640903:43927252122504 0:0 hcCommandKernel:331 +43927252125544:43927252132104 0:0 hcCommandMarker:333 +43927268330354:43927268808434 0:0 hcCommandKernel:336 +43927268811294:43927268817854 0:0 hcCommandMarker:338 +43927285272973:43927285761294 0:0 hcCommandKernel:341 +43927285764334:43927285770894 0:0 hcCommandMarker:343 +43927302125151:43927302604031 0:0 hcCommandKernel:346 +43927302606796:43927302613356 0:0 hcCommandMarker:348 +43927318996823:43927319482264 0:0 hcCommandKernel:351 +43927319485304:43927319491864 0:0 hcCommandMarker:353 +43927335884981:43927336368022 0:0 hcCommandKernel:356 +43927336370902:43927336377462 0:0 hcCommandMarker:358 +43927352588075:43927353077036 0:0 hcCommandKernel:361 +43927353080076:43927353086636 0:0 hcCommandMarker:363 +43927369328132:43927369818213 0:0 hcCommandKernel:366 +43927369821093:43927369827653 0:0 hcCommandMarker:368 +43927386070332:43927386554173 0:0 hcCommandKernel:371 +43927386557213:43927386563613 0:0 hcCommandMarker:373 +43927402794621:43927403276064 0:0 hcCommandKernel:376 +43927403278944:43927403285504 0:0 hcCommandMarker:378 +43927419469921:43927419953281 0:0 hcCommandKernel:381 +43927419956161:43927419962881 0:0 hcCommandMarker:383 +43927436114138:43927436605339 0:0 hcCommandKernel:386 +43927436608539:43927436614939 0:0 hcCommandMarker:388 +43927452817152:43927453295713 0:0 hcCommandKernel:391 +43927453298753:43927453305313 0:0 hcCommandMarker:393 +43927469556470:43927471402233 0:0 hcCommandKernel:396 +43927471405273:43927471436473 0:0 hcCommandMarker:398 +43927487653662:43927489493025 0:0 hcCommandKernel:401 +43927489495905:43927489527265 0:0 hcCommandMarker:403 +43927505760487:43927507612330 0:0 hcCommandKernel:406 +43927507615370:43927507646890 0:0 hcCommandMarker:408 +43927523866005:43927525701688 0:0 hcCommandKernel:411 +43927525704568:43927525735928 0:0 hcCommandMarker:413 +43927541964985:43927543800828 0:0 hcCommandKernel:416 +43927543803868:43927543835228 0:0 hcCommandMarker:418 +43927560059882:43927561903405 0:0 hcCommandKernel:421 +43927561906285:43927561937645 0:0 hcCommandMarker:423 +43927578162284:43927579996207 0:0 hcCommandKernel:426 +43927579999247:43927580030607 0:0 hcCommandMarker:428 +43927596246861:43927598092944 0:0 hcCommandKernel:431 +43927598095984:43927598127344 0:0 hcCommandMarker:433 +43927614348780:43927616191983 0:0 hcCommandKernel:436 +43927616195023:43927616226383 0:0 hcCommandMarker:438 +43927632444778:43927634288301 0:0 hcCommandKernel:441 +43927634291341:43927634322701 0:0 hcCommandMarker:443 +43927650551469:43927652392272 0:0 hcCommandKernel:446 +43927652395312:43927652426672 0:0 hcCommandMarker:448 +43927668662167:43927670500250 0:0 hcCommandKernel:451 +43927670503130:43927670534490 0:0 hcCommandMarker:453 +43927686759627:43927688598030 0:0 hcCommandKernel:456 +43927688600910:43927688632270 0:0 hcCommandMarker:458 +43927704870032:43927706712115 0:0 hcCommandKernel:461 +43927706714876:43927706746556 0:0 hcCommandMarker:463 +43927723215479:43927723705400 0:0 hcCommandKernel:466 +43927723708440:43927723715000 0:0 hcCommandMarker:468 +43927739925344:43927740410624 0:0 hcCommandKernel:471 +43927740413495:43927740420055 0:0 hcCommandMarker:473 +43927756867441:43927757354642 0:0 hcCommandKernel:476 +43927757357522:43927757364082 0:0 hcCommandMarker:478 +43927773616793:43927774102554 0:0 hcCommandKernel:481 +43927774105594:43927774111994 0:0 hcCommandMarker:483 +43927790331034:43927790824955 0:0 hcCommandKernel:486 +43927790827835:43927790834395 0:0 hcCommandMarker:488 +43927807043096:43927807534457 0:0 hcCommandKernel:491 +43927807537337:43927807543897 0:0 hcCommandMarker:493 +43927823754202:43927824244923 0:0 hcCommandKernel:496 +43927824247803:43927824254363 0:0 hcCommandMarker:498 +43927840474185:43927840956906 0:0 hcCommandKernel:501 +43927840959946:43927840966506 0:0 hcCommandMarker:503 diff --git a/test/golden_traces/MatrixTranspose_test_trace.txt b/test/golden_traces/MatrixTranspose_test_trace.txt new file mode 100644 index 0000000000..9292d17dba --- /dev/null +++ b/test/golden_traces/MatrixTranspose_test_trace.txt @@ -0,0 +1,6605 @@ +# INIT ############################# +# START (99) ############################# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + + + ptr(0x7ffc4af6f508) size(0x400000) + + + + + + + *ptr(0x0x903000000) + + + ptr(0x7ffc4af6f500) size(0x400000) + + + + + + + *ptr(0x0x903800000) + + + dst(0x903000000) src(0x1ec46c0) size(0x400000) kind(1) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + dst(0x22c46d0) src(0x903800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + ptr(0x903000000) + + + + + + + + + + ptr(0x903800000) + + + + + + + +# START (98) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (97) ############################# + + + + + + + + + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + + + ptr(0x7ffc4af6f508) size(0x400000) + + + + + + + *ptr(0x0x903000000) + + + ptr(0x7ffc4af6f500) size(0x400000) + + + + + + + *ptr(0x0x903800000) + + + dst(0x903000000) src(0x7fcff9073010) size(0x400000) kind(1) + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0x2b84d10) src(0x903800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + ptr(0x903000000) + + + + + + + + + + ptr(0x903800000) + + + + + + + +# START (96) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (95) ############################# + + + + + + + + + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + + + ptr(0x7ffc4af6f508) size(0x400000) + + + + + + + *ptr(0x0x903000000) + + + ptr(0x7ffc4af6f500) size(0x400000) + + + + + + + *ptr(0x0x903800000) + + + dst(0x903000000) src(0x7fcff9073010) size(0x400000) kind(1) + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0x2b84d10) src(0x903800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + ptr(0x903000000) + + + + + + + + + + ptr(0x903800000) + + + + + + + +# START (94) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (93) ############################# + + + + + + + + + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + + + ptr(0x7ffc4af6f508) size(0x400000) + + + + + + + *ptr(0x0x903000000) + + + ptr(0x7ffc4af6f500) size(0x400000) + + + + + + + *ptr(0x0x903800000) + + + dst(0x903000000) src(0x7fcff9073010) size(0x400000) kind(1) + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + + dst(0x2b84d10) src(0x903800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + ptr(0x903000000) + + + + + + + + + + ptr(0x903800000) + + + + + + + +# START (92) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (91) ############################# + + + + + + + + + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + Activity records: + hipSetDevice correlation_id(1) time_ns(43919407742828:43919407756296) process_id(26018) thread_id(26018) + hipGetDeviceProperties correlation_id(2) time_ns(43919407817087:43919407820516) process_id(26018) thread_id(26018) + hipMalloc correlation_id(3) time_ns(43919410011773:43919410120425) process_id(26018) thread_id(26018) + hipMalloc correlation_id(4) time_ns(43919410124840:43919410179960) process_id(26018) thread_id(26018) + (null) correlation_id(5) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(5) time_ns(43919410187829:43919415936514) process_id(26018) thread_id(26018) + (null) correlation_id(6) time_ns(0:0) external_id(33) + hipModuleLaunchKernel correlation_id(6) time_ns(43919700107716:43919702151719) process_id(26018) thread_id(26018) + hcCommandKernel correlation_id(6) time_ns(43919702156630:43919703997910) device_id(0) queue_id(0) + hcCommandMarker correlation_id(7) time_ns(43919704007210:43919704051050) device_id(0) queue_id(0) + (null) correlation_id(7) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(7) time_ns(43919702186876:43919705044964) process_id(26018) thread_id(26018) + (null) correlation_id(8) time_ns(0:0) external_id(31) + hipFree correlation_id(8) time_ns(43919719552955:43919719659234) process_id(26018) thread_id(26018) + (null) correlation_id(9) time_ns(0:0) external_id(31) + hipFree correlation_id(9) time_ns(43919719667174:43919719698129) process_id(26018) thread_id(26018) + hipSetDevice correlation_id(10) time_ns(43919740145117:43919740154775) process_id(26018) thread_id(26018) + hipGetDeviceProperties correlation_id(11) time_ns(43919740158543:43919740160977) process_id(26018) thread_id(26018) + hipMalloc correlation_id(12) time_ns(43919742293682:43919742344742) process_id(26018) thread_id(26018) + hipMalloc correlation_id(13) time_ns(43919742349121:43919742389355) process_id(26018) thread_id(26018) + (null) correlation_id(14) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(14) time_ns(43919742393482:43919743033105) process_id(26018) thread_id(26018) + (null) correlation_id(15) time_ns(0:0) external_id(33) + hipModuleLaunchKernel correlation_id(15) time_ns(43919743047173:43919743078643) process_id(26018) thread_id(26018) + hcCommandKernel correlation_id(15) time_ns(43919743084191:43919744928671) device_id(0) queue_id(0) + hcCommandMarker correlation_id(16) time_ns(43919744931570:43919744963410) device_id(0) queue_id(0) + (null) correlation_id(16) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(16) time_ns(43919743094358:43919745913718) process_id(26018) thread_id(26018) + (null) correlation_id(17) time_ns(0:0) external_id(31) + hipFree correlation_id(17) time_ns(43919760514161:43919760579549) process_id(26018) thread_id(26018) + (null) correlation_id(18) time_ns(0:0) external_id(31) + hipFree correlation_id(18) time_ns(43919760587004:43919760608342) process_id(26018) thread_id(26018) + hipSetDevice correlation_id(19) time_ns(43919781056008:43919781065861) process_id(26018) thread_id(26018) + hipGetDeviceProperties correlation_id(20) time_ns(43919781069562:43919781071963) process_id(26018) thread_id(26018) + hipMalloc correlation_id(21) time_ns(43919783224160:43919783274754) process_id(26018) thread_id(26018) + hipMalloc correlation_id(22) time_ns(43919783279008:43919783318551) process_id(26018) thread_id(26018) + (null) correlation_id(23) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(23) time_ns(43919783322836:43919783957646) process_id(26018) thread_id(26018) + (null) correlation_id(24) time_ns(0:0) external_id(33) + hipModuleLaunchKernel correlation_id(24) time_ns(43919783972133:43919784019162) process_id(26018) thread_id(26018) + hcCommandKernel correlation_id(24) time_ns(43919784024580:43919785862660) device_id(0) queue_id(0) + hcCommandMarker correlation_id(25) time_ns(43919785865600:43919785896960) device_id(0) queue_id(0) + (null) correlation_id(25) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(25) time_ns(43919784024115:43919786845437) process_id(26018) thread_id(26018) + (null) correlation_id(26) time_ns(0:0) external_id(31) + hipFree correlation_id(26) time_ns(43919801405400:43919801500824) process_id(26018) thread_id(26018) + (null) correlation_id(27) time_ns(0:0) external_id(31) + hipFree correlation_id(27) time_ns(43919801518027:43919801559764) process_id(26018) thread_id(26018) + hipSetDevice correlation_id(28) time_ns(43919821904222:43919821913948) process_id(26018) thread_id(26018) + hipGetDeviceProperties correlation_id(29) time_ns(43919821917750:43919821920207) process_id(26018) thread_id(26018) + hipMalloc correlation_id(30) time_ns(43919824083422:43919824146675) process_id(26018) thread_id(26018) + hipMalloc correlation_id(31) time_ns(43919824151196:43919824180920) process_id(26018) thread_id(26018) + (null) correlation_id(32) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(32) time_ns(43919824185085:43919824870961) process_id(26018) thread_id(26018) + (null) correlation_id(33) time_ns(0:0) external_id(33) + hipModuleLaunchKernel correlation_id(33) time_ns(43919824885642:43919824927435) process_id(26018) thread_id(26018) + hcCommandKernel correlation_id(33) time_ns(43919824933204:43919826765684) device_id(0) queue_id(0) + hcCommandMarker correlation_id(34) time_ns(43919826768796:43919826800156) device_id(0) queue_id(0) + (null) correlation_id(34) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(34) time_ns(43919824932592:43919827735361) process_id(26018) thread_id(26018) + (null) correlation_id(35) time_ns(0:0) external_id(31) + hipFree correlation_id(35) time_ns(43919842293529:43919842379822) process_id(26018) thread_id(26018) + (null) correlation_id(36) time_ns(0:0) external_id(31) + hipFree correlation_id(36) time_ns(43919842387516:43919842418660) process_id(26018) thread_id(26018) + + + ptr(0x7ffc4af6f508) size(0x400000) + + + + + + + *ptr(0x0x903000000) + + + ptr(0x7ffc4af6f500) size(0x400000) + + + + + + + *ptr(0x0x903800000) + + + dst(0x903000000) src(0x7fcff9073010) size(0x400000) kind(1) + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + + dst(0x2b84d10) src(0x903800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + ptr(0x903000000) + + + + + + + + + + ptr(0x903800000) + + + + + + + +# START (90) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (89) ############################# + + + + + + + + + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + + + ptr(0x7ffc4af6f508) size(0x400000) + + + + + + + *ptr(0x0x903000000) + + + ptr(0x7ffc4af6f500) size(0x400000) + + + + + + + *ptr(0x0x903800000) + + + dst(0x903000000) src(0x7fcff9073010) size(0x400000) kind(1) + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + + dst(0x2b84d10) src(0x903800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + ptr(0x903000000) + + + + + + + + + + ptr(0x903800000) + + + + + + + +# START (88) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (87) ############################# + + + + + + + + + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + + + ptr(0x7ffc4af6f508) size(0x400000) + + + + + + + *ptr(0x0x903000000) + + + ptr(0x7ffc4af6f500) size(0x400000) + + + + + + + *ptr(0x0x903800000) + + + dst(0x903000000) src(0x7fcff9073010) size(0x400000) kind(1) + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + + dst(0x2b84d10) src(0x903800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + ptr(0x903000000) + + + + + + + + + + ptr(0x903800000) + + + + + + + +# START (86) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (85) ############################# + + + + + + + + + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + + + ptr(0x7ffc4af6f508) size(0x400000) + + + + + + + *ptr(0x0x903000000) + + + ptr(0x7ffc4af6f500) size(0x400000) + + + + + + + *ptr(0x0x903800000) + + + dst(0x903000000) src(0x7fcff9073010) size(0x400000) kind(1) + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + + dst(0x2b84d10) src(0x903800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + ptr(0x903000000) + + + + + + + + + + ptr(0x903800000) + + + + + + + +# START (84) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (83) ############################# + + + + + + + + + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + Activity records: + hipSetDevice correlation_id(37) time_ns(43919862886235:43919862896389) process_id(26018) thread_id(26018) + hipGetDeviceProperties correlation_id(38) time_ns(43919862906956:43919862923035) process_id(26018) thread_id(26018) + hipMalloc correlation_id(39) time_ns(43919865199946:43919865252941) process_id(26018) thread_id(26018) + hipMalloc correlation_id(40) time_ns(43919865257463:43919865281882) process_id(26018) thread_id(26018) + (null) correlation_id(41) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(41) time_ns(43919865286624:43919865926998) process_id(26018) thread_id(26018) + (null) correlation_id(42) time_ns(0:0) external_id(33) + hipModuleLaunchKernel correlation_id(42) time_ns(43919865951583:43919865981786) process_id(26018) thread_id(26018) + hcCommandKernel correlation_id(42) time_ns(43919865986986:43919867817226) device_id(0) queue_id(0) + hcCommandMarker correlation_id(43) time_ns(43919867820070:43919867850950) device_id(0) queue_id(0) + (null) correlation_id(43) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(43) time_ns(43919865986664:43919868769470) process_id(26018) thread_id(26018) + (null) correlation_id(44) time_ns(0:0) external_id(31) + hipFree correlation_id(44) time_ns(43919883779847:43919883847612) process_id(26018) thread_id(26018) + (null) correlation_id(45) time_ns(0:0) external_id(31) + hipFree correlation_id(45) time_ns(43919883856116:43919883878027) process_id(26018) thread_id(26018) + hipSetDevice correlation_id(46) time_ns(43919904356837:43919904366327) process_id(26018) thread_id(26018) + hipGetDeviceProperties correlation_id(47) time_ns(43919904370176:43919904372575) process_id(26018) thread_id(26018) + hipMalloc correlation_id(48) time_ns(43919906538991:43919906589434) process_id(26018) thread_id(26018) + hipMalloc correlation_id(49) time_ns(43919906593945:43919906633022) process_id(26018) thread_id(26018) + (null) correlation_id(50) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(50) time_ns(43919906637967:43919907291714) process_id(26018) thread_id(26018) + (null) correlation_id(51) time_ns(0:0) external_id(33) + hipModuleLaunchKernel correlation_id(51) time_ns(43919907305682:43919907347789) process_id(26018) thread_id(26018) + hcCommandKernel correlation_id(51) time_ns(43919907353397:43919909190518) device_id(0) queue_id(0) + hcCommandMarker correlation_id(52) time_ns(43919909193540:43919909225060) device_id(0) queue_id(0) + (null) correlation_id(52) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(52) time_ns(43919907353088:43919910184232) process_id(26018) thread_id(26018) + (null) correlation_id(53) time_ns(0:0) external_id(31) + hipFree correlation_id(53) time_ns(43919924775326:43919924860727) process_id(26018) thread_id(26018) + (null) correlation_id(54) time_ns(0:0) external_id(31) + hipFree correlation_id(54) time_ns(43919924868475:43919924909604) process_id(26018) thread_id(26018) + hipSetDevice correlation_id(55) time_ns(43919945290277:43919945299927) process_id(26018) thread_id(26018) + hipGetDeviceProperties correlation_id(56) time_ns(43919945303639:43919945306398) process_id(26018) thread_id(26018) + hipMalloc correlation_id(57) time_ns(43919947439388:43919947490002) process_id(26018) thread_id(26018) + hipMalloc correlation_id(58) time_ns(43919947494498:43919947533384) process_id(26018) thread_id(26018) + (null) correlation_id(59) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(59) time_ns(43919947537550:43919948198420) process_id(26018) thread_id(26018) + (null) correlation_id(60) time_ns(0:0) external_id(33) + hipModuleLaunchKernel correlation_id(60) time_ns(43919948212770:43919948256220) process_id(26018) thread_id(26018) + hcCommandKernel correlation_id(60) time_ns(43919948262127:43919950097488) device_id(0) queue_id(0) + hcCommandMarker correlation_id(61) time_ns(43919950100510:43919950131710) device_id(0) queue_id(0) + (null) correlation_id(61) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(61) time_ns(43919948262624:43919951049377) process_id(26018) thread_id(26018) + (null) correlation_id(62) time_ns(0:0) external_id(31) + hipFree correlation_id(62) time_ns(43919965611360:43919965696230) process_id(26018) thread_id(26018) + (null) correlation_id(63) time_ns(0:0) external_id(31) + hipFree correlation_id(63) time_ns(43919965703947:43919965745358) process_id(26018) thread_id(26018) + hipSetDevice correlation_id(64) time_ns(43919986107809:43919986118147) process_id(26018) thread_id(26018) + hipGetDeviceProperties correlation_id(65) time_ns(43919986122288:43919986124704) process_id(26018) thread_id(26018) + hipMalloc correlation_id(66) time_ns(43919988305509:43919988356174) process_id(26018) thread_id(26018) + hipMalloc correlation_id(67) time_ns(43919988360796:43919988399798) process_id(26018) thread_id(26018) + (null) correlation_id(68) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(68) time_ns(43919988404661:43919989041988) process_id(26018) thread_id(26018) + (null) correlation_id(69) time_ns(0:0) external_id(33) + hipModuleLaunchKernel correlation_id(69) time_ns(43919989055520:43919989098082) process_id(26018) thread_id(26018) + hcCommandKernel correlation_id(69) time_ns(43919989102409:43919989585769) device_id(0) queue_id(0) + hcCommandMarker correlation_id(70) time_ns(43919989588829:43919989595229) device_id(0) queue_id(0) + (null) correlation_id(70) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(70) time_ns(43919989103240:43919990487120) process_id(26018) thread_id(26018) + (null) correlation_id(71) time_ns(0:0) external_id(31) + hipFree correlation_id(71) time_ns(43920005096466:43920005180628) process_id(26018) thread_id(26018) + (null) correlation_id(72) time_ns(0:0) external_id(31) + hipFree correlation_id(72) time_ns(43920005188773:43920005230304) process_id(26018) thread_id(26018) + + + ptr(0x7ffc4af6f508) size(0x400000) + + + + + + + *ptr(0x0x903000000) + + + ptr(0x7ffc4af6f500) size(0x400000) + + + + + + + *ptr(0x0x903800000) + + + dst(0x903000000) src(0x7fcff9073010) size(0x400000) kind(1) + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + + dst(0x2b84d10) src(0x903800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + ptr(0x903000000) + + + + + + + + + + ptr(0x903800000) + + + + + + + +# START (82) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (81) ############################# + + + + + + + + + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + + + ptr(0x7ffc4af6f508) size(0x400000) + + + + + + + *ptr(0x0x903000000) + + + ptr(0x7ffc4af6f500) size(0x400000) + + + + + + + *ptr(0x0x903800000) + + + dst(0x903000000) src(0x7fcff9073010) size(0x400000) kind(1) + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0x2b84d10) src(0x903800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + ptr(0x903000000) + + + + + + + + + + ptr(0x903800000) + + + + + + + +# START (80) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (79) ############################# + + + + + + + + + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + + + ptr(0x7ffc4af6f508) size(0x400000) + + + + + + + *ptr(0x0x903000000) + + + ptr(0x7ffc4af6f500) size(0x400000) + + + + + + + *ptr(0x0x903800000) + + + dst(0x903000000) src(0x7fcff9073010) size(0x400000) kind(1) + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + + dst(0x2b84d10) src(0x903800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + ptr(0x903000000) + + + + + + + + + + ptr(0x903800000) + + + + + + + +# START (78) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (77) ############################# + + + + + + + + + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + + + ptr(0x7ffc4af6f508) size(0x400000) + + + + + + + *ptr(0x0x903000000) + + + ptr(0x7ffc4af6f500) size(0x400000) + + + + + + + *ptr(0x0x903800000) + + + dst(0x903000000) src(0x7fcff9073010) size(0x400000) kind(1) + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + + dst(0x2b84d10) src(0x903800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + ptr(0x903000000) + + + + + + + + + + ptr(0x903800000) + + + + + + + +# START (76) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (75) ############################# + + + + + + + + + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + Activity records: + hipSetDevice correlation_id(73) time_ns(43920024248405:43920024258205) process_id(26018) thread_id(26018) + hipGetDeviceProperties correlation_id(74) time_ns(43920024265683:43920024283668) process_id(26018) thread_id(26018) + hipMalloc correlation_id(75) time_ns(43920026559240:43920026611318) process_id(26018) thread_id(26018) + hipMalloc correlation_id(76) time_ns(43920026615907:43920026649989) process_id(26018) thread_id(26018) + (null) correlation_id(77) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(77) time_ns(43920026655081:43920027272261) process_id(26018) thread_id(26018) + (null) correlation_id(78) time_ns(0:0) external_id(33) + hipModuleLaunchKernel correlation_id(78) time_ns(43920027297980:43920027317667) process_id(26018) thread_id(26018) + hcCommandKernel correlation_id(78) time_ns(43920027322208:43920027811488) device_id(0) queue_id(0) + hcCommandMarker correlation_id(79) time_ns(43920027814269:43920027820669) device_id(0) queue_id(0) + (null) correlation_id(79) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(79) time_ns(43920027332354:43920028712656) process_id(26018) thread_id(26018) + (null) correlation_id(80) time_ns(0:0) external_id(31) + hipFree correlation_id(80) time_ns(43920043735027:43920043830120) process_id(26018) thread_id(26018) + (null) correlation_id(81) time_ns(0:0) external_id(31) + hipFree correlation_id(81) time_ns(43920043838524:43920043869635) process_id(26018) thread_id(26018) + hipSetDevice correlation_id(82) time_ns(43920063280596:43920063290751) process_id(26018) thread_id(26018) + hipGetDeviceProperties correlation_id(83) time_ns(43920063294643:43920063297153) process_id(26018) thread_id(26018) + hipMalloc correlation_id(84) time_ns(43920065468754:43920065529740) process_id(26018) thread_id(26018) + hipMalloc correlation_id(85) time_ns(43920065543552:43920065574620) process_id(26018) thread_id(26018) + (null) correlation_id(86) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(86) time_ns(43920065580222:43920066252159) process_id(26018) thread_id(26018) + (null) correlation_id(87) time_ns(0:0) external_id(33) + hipModuleLaunchKernel correlation_id(87) time_ns(43920066266167:43920066308515) process_id(26018) thread_id(26018) + hcCommandKernel correlation_id(87) time_ns(43920066313259:43920066799819) device_id(0) queue_id(0) + hcCommandMarker correlation_id(88) time_ns(43920066802992:43920066809392) device_id(0) queue_id(0) + (null) correlation_id(88) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(88) time_ns(43920066313737:43920067717901) process_id(26018) thread_id(26018) + (null) correlation_id(89) time_ns(0:0) external_id(31) + hipFree correlation_id(89) time_ns(43920082315955:43920082399850) process_id(26018) thread_id(26018) + (null) correlation_id(90) time_ns(0:0) external_id(31) + hipFree correlation_id(90) time_ns(43920082407867:43920082448518) process_id(26018) thread_id(26018) + hipSetDevice correlation_id(91) time_ns(43920101445651:43920101455239) process_id(26018) thread_id(26018) + hipGetDeviceProperties correlation_id(92) time_ns(43920101459000:43920101461431) process_id(26018) thread_id(26018) + hipMalloc correlation_id(93) time_ns(43920103635567:43920103686083) process_id(26018) thread_id(26018) + hipMalloc correlation_id(94) time_ns(43920103690637:43920103729736) process_id(26018) thread_id(26018) + (null) correlation_id(95) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(95) time_ns(43920103734659:43920104370021) process_id(26018) thread_id(26018) + (null) correlation_id(96) time_ns(0:0) external_id(33) + hipModuleLaunchKernel correlation_id(96) time_ns(43920104383906:43920104426176) process_id(26018) thread_id(26018) + hcCommandKernel correlation_id(96) time_ns(43920104430511:43920104915631) device_id(0) queue_id(0) + hcCommandMarker correlation_id(97) time_ns(43920104918555:43920104924955) device_id(0) queue_id(0) + (null) correlation_id(97) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(97) time_ns(43920104433032:43920105821164) process_id(26018) thread_id(26018) + (null) correlation_id(98) time_ns(0:0) external_id(31) + hipFree correlation_id(98) time_ns(43920120431824:43920120518064) process_id(26018) thread_id(26018) + (null) correlation_id(99) time_ns(0:0) external_id(31) + hipFree correlation_id(99) time_ns(43920120526072:43920120566935) process_id(26018) thread_id(26018) + hipSetDevice correlation_id(100) time_ns(43920139450245:43920139460971) process_id(26018) thread_id(26018) + hipGetDeviceProperties correlation_id(101) time_ns(43920139464609:43920139466959) process_id(26018) thread_id(26018) + hipMalloc correlation_id(102) time_ns(43920141603743:43920141662566) process_id(26018) thread_id(26018) + hipMalloc correlation_id(103) time_ns(43920141666874:43920141696276) process_id(26018) thread_id(26018) + (null) correlation_id(104) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(104) time_ns(43920141701119:43920142339410) process_id(26018) thread_id(26018) + (null) correlation_id(105) time_ns(0:0) external_id(33) + hipModuleLaunchKernel correlation_id(105) time_ns(43920142365496:43920142398740) process_id(26018) thread_id(26018) + hcCommandKernel correlation_id(105) time_ns(43920142403595:43920142893835) device_id(0) queue_id(0) + hcCommandMarker correlation_id(106) time_ns(43920142896514:43920142903074) device_id(0) queue_id(0) + (null) correlation_id(106) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(106) time_ns(43920142412825:43920143782901) process_id(26018) thread_id(26018) + (null) correlation_id(107) time_ns(0:0) external_id(31) + hipFree correlation_id(107) time_ns(43920158375045:43920158457393) process_id(26018) thread_id(26018) + (null) correlation_id(108) time_ns(0:0) external_id(31) + hipFree correlation_id(108) time_ns(43920158464539:43920158494063) process_id(26018) thread_id(26018) + + + ptr(0x7ffc4af6f508) size(0x400000) + + + + + + + *ptr(0x0x903000000) + + + ptr(0x7ffc4af6f500) size(0x400000) + + + + + + + *ptr(0x0x903800000) + + + dst(0x903000000) src(0x7fcff9073010) size(0x400000) kind(1) + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + + dst(0x2b84d10) src(0x903800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + ptr(0x903000000) + + + + + + + + + + ptr(0x903800000) + + + + + + + +# START (74) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (73) ############################# + + + + + + + + + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + + + ptr(0x7ffc4af6f508) size(0x400000) + + + + + + + *ptr(0x0x903000000) + + + ptr(0x7ffc4af6f500) size(0x400000) + + + + + + + *ptr(0x0x903800000) + + + dst(0x903000000) src(0x7fcff9073010) size(0x400000) kind(1) + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + + dst(0x2b84d10) src(0x903800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + ptr(0x903000000) + + + + + + + + + + ptr(0x903800000) + + + + + + + +# START (72) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (71) ############################# + + + + + + + + + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + + + ptr(0x7ffc4af6f508) size(0x400000) + + + + + + + *ptr(0x0x903000000) + + + ptr(0x7ffc4af6f500) size(0x400000) + + + + + + + *ptr(0x0x903800000) + + + dst(0x903000000) src(0x7fcff9073010) size(0x400000) kind(1) + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + + dst(0x2b84d10) src(0x903800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + ptr(0x903000000) + + + + + + + + + + ptr(0x903800000) + + + + + + + +# START (70) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (69) ############################# + + + + + + + + + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + + + ptr(0x7ffc4af6f508) size(0x400000) + + + + + + + *ptr(0x0x903000000) + + + ptr(0x7ffc4af6f500) size(0x400000) + + + + + + + *ptr(0x0x903800000) + + + dst(0x903000000) src(0x7fcff9073010) size(0x400000) kind(1) + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + + dst(0x2b84d10) src(0x903800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + ptr(0x903000000) + + + + + + + + + + ptr(0x903800000) + + + + + + + +# START (68) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (67) ############################# + + + + + + + + + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + Activity records: + hipSetDevice correlation_id(109) time_ns(43920177497206:43920177507270) process_id(26018) thread_id(26018) + hipGetDeviceProperties correlation_id(110) time_ns(43920177515459:43920177532898) process_id(26018) thread_id(26018) + hipMalloc correlation_id(111) time_ns(43920179786002:43920179827550) process_id(26018) thread_id(26018) + hipMalloc correlation_id(112) time_ns(43920179832078:43920179852569) process_id(26018) thread_id(26018) + (null) correlation_id(113) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(113) time_ns(43920179857787:43920180481752) process_id(26018) thread_id(26018) + (null) correlation_id(114) time_ns(0:0) external_id(33) + hipModuleLaunchKernel correlation_id(114) time_ns(43920180497441:43920180517435) process_id(26018) thread_id(26018) + hcCommandKernel correlation_id(114) time_ns(43920180521982:43920181004702) device_id(0) queue_id(0) + hcCommandMarker correlation_id(115) time_ns(43920181007827:43920181014227) device_id(0) queue_id(0) + (null) correlation_id(115) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(115) time_ns(43920180522885:43920181902961) process_id(26018) thread_id(26018) + (null) correlation_id(116) time_ns(0:0) external_id(31) + hipFree correlation_id(116) time_ns(43920197036668:43920197113694) process_id(26018) thread_id(26018) + (null) correlation_id(117) time_ns(0:0) external_id(31) + hipFree correlation_id(117) time_ns(43920197121846:43920197142600) process_id(26018) thread_id(26018) + hipSetDevice correlation_id(118) time_ns(43920216590866:43920216600715) process_id(26018) thread_id(26018) + hipGetDeviceProperties correlation_id(119) time_ns(43920216615023:43920216617575) process_id(26018) thread_id(26018) + hipMalloc correlation_id(120) time_ns(43920218815784:43920218868252) process_id(26018) thread_id(26018) + hipMalloc correlation_id(121) time_ns(43920218871899:43920218891811) process_id(26018) thread_id(26018) + (null) correlation_id(122) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(122) time_ns(43920218896006:43920219538967) process_id(26018) thread_id(26018) + (null) correlation_id(123) time_ns(0:0) external_id(33) + hipModuleLaunchKernel correlation_id(123) time_ns(43920219564972:43920219587384) process_id(26018) thread_id(26018) + hcCommandKernel correlation_id(123) time_ns(43920219591883:43920220070923) device_id(0) queue_id(0) + hcCommandMarker correlation_id(124) time_ns(43920220073967:43920220080367) device_id(0) queue_id(0) + (null) correlation_id(124) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(124) time_ns(43920219591647:43920221000029) process_id(26018) thread_id(26018) + (null) correlation_id(125) time_ns(0:0) external_id(31) + hipFree correlation_id(125) time_ns(43920235976744:43920236058470) process_id(26018) thread_id(26018) + (null) correlation_id(126) time_ns(0:0) external_id(31) + hipFree correlation_id(126) time_ns(43920236066504:43920236087495) process_id(26018) thread_id(26018) + hipSetDevice correlation_id(127) time_ns(43920255505367:43920255515723) process_id(26018) thread_id(26018) + hipGetDeviceProperties correlation_id(128) time_ns(43920255530091:43920255532592) process_id(26018) thread_id(26018) + hipMalloc correlation_id(129) time_ns(43920257737909:43920257798351) process_id(26018) thread_id(26018) + hipMalloc correlation_id(130) time_ns(43920257802950:43920257833876) process_id(26018) thread_id(26018) + (null) correlation_id(131) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(131) time_ns(43920257838880:43920258484189) process_id(26018) thread_id(26018) + (null) correlation_id(132) time_ns(0:0) external_id(33) + hipModuleLaunchKernel correlation_id(132) time_ns(43920258510220:43920258532330) process_id(26018) thread_id(26018) + hcCommandKernel correlation_id(132) time_ns(43920258536675:43920259022435) device_id(0) queue_id(0) + hcCommandMarker correlation_id(133) time_ns(43920259025365:43920259031925) device_id(0) queue_id(0) + (null) correlation_id(133) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(133) time_ns(43920258548670:43920259912323) process_id(26018) thread_id(26018) + (null) correlation_id(134) time_ns(0:0) external_id(31) + hipFree correlation_id(134) time_ns(43920274940667:43920275035653) process_id(26018) thread_id(26018) + (null) correlation_id(135) time_ns(0:0) external_id(31) + hipFree correlation_id(135) time_ns(43920275043862:43920275074141) process_id(26018) thread_id(26018) + hipSetDevice correlation_id(136) time_ns(43920294706364:43920294716008) process_id(26018) thread_id(26018) + hipGetDeviceProperties correlation_id(137) time_ns(43920294729778:43920294732184) process_id(26018) thread_id(26018) + hipMalloc correlation_id(138) time_ns(43920296920620:43920296980761) process_id(26018) thread_id(26018) + hipMalloc correlation_id(139) time_ns(43920296985077:43920297024027) process_id(26018) thread_id(26018) + (null) correlation_id(140) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(140) time_ns(43920297028943:43920297695069) process_id(26018) thread_id(26018) + (null) correlation_id(141) time_ns(0:0) external_id(33) + hipModuleLaunchKernel correlation_id(141) time_ns(43920297719426:43920297750933) process_id(26018) thread_id(26018) + hcCommandKernel correlation_id(141) time_ns(43920297755677:43920298238717) device_id(0) queue_id(0) + hcCommandMarker correlation_id(142) time_ns(43920298241601:43920298248161) device_id(0) queue_id(0) + (null) correlation_id(142) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(142) time_ns(43920297757169:43920299132626) process_id(26018) thread_id(26018) + (null) correlation_id(143) time_ns(0:0) external_id(31) + hipFree correlation_id(143) time_ns(43920314047193:43920314119813) process_id(26018) thread_id(26018) + (null) correlation_id(144) time_ns(0:0) external_id(31) + hipFree correlation_id(144) time_ns(43920314136742:43920314165590) process_id(26018) thread_id(26018) + + + ptr(0x7ffc4af6f508) size(0x400000) + + + + + + + *ptr(0x0x903000000) + + + ptr(0x7ffc4af6f500) size(0x400000) + + + + + + + *ptr(0x0x903800000) + + + dst(0x903000000) src(0x7fcff9073010) size(0x400000) kind(1) + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + + dst(0x2b84d10) src(0x903800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + ptr(0x903000000) + + + + + + + + + + ptr(0x903800000) + + + + + + + +# START (66) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (65) ############################# + + + + + + + + + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + + + ptr(0x7ffc4af6f508) size(0x400000) + + + + + + + *ptr(0x0x903000000) + + + ptr(0x7ffc4af6f500) size(0x400000) + + + + + + + *ptr(0x0x903800000) + + + dst(0x903000000) src(0x7fcff9073010) size(0x400000) kind(1) + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + + dst(0x2b84d10) src(0x903800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + ptr(0x903000000) + + + + + + + + + + ptr(0x903800000) + + + + + + + +# START (64) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (63) ############################# + + + + + + + + + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + + + ptr(0x7ffc4af6f508) size(0x400000) + + + + + + + *ptr(0x0x903000000) + + + ptr(0x7ffc4af6f500) size(0x400000) + + + + + + + *ptr(0x0x903800000) + + + dst(0x903000000) src(0x7fcff9073010) size(0x400000) kind(1) + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + + dst(0x2b84d10) src(0x903800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + ptr(0x903000000) + + + + + + + + + + ptr(0x903800000) + + + + + + + +# START (62) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (61) ############################# + + + + + + + + + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + + + ptr(0x7ffc4af6f508) size(0x400000) + + + + + + + *ptr(0x0x903000000) + + + ptr(0x7ffc4af6f500) size(0x400000) + + + + + + + *ptr(0x0x903800000) + + + dst(0x903000000) src(0x7fcff9073010) size(0x400000) kind(1) + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + + dst(0x2b84d10) src(0x903800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + ptr(0x903000000) + + + + + + + + + + ptr(0x903800000) + + + + + + + +# START (60) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (59) ############################# + + + + + + + + + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + Activity records: + hipSetDevice correlation_id(145) time_ns(43920333424871:43920333433642) process_id(26018) thread_id(26018) + hipGetDeviceProperties correlation_id(146) time_ns(43920333441178:43920333443356) process_id(26018) thread_id(26018) + hipMalloc correlation_id(147) time_ns(43920335747560:43920335796102) process_id(26018) thread_id(26018) + hipMalloc correlation_id(148) time_ns(43920335800239:43920335829210) process_id(26018) thread_id(26018) + (null) correlation_id(149) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(149) time_ns(43920335832924:43920336479667) process_id(26018) thread_id(26018) + (null) correlation_id(150) time_ns(0:0) external_id(33) + hipModuleLaunchKernel correlation_id(150) time_ns(43920336503335:43920336524077) process_id(26018) thread_id(26018) + hcCommandKernel correlation_id(150) time_ns(43920336530052:43920338362534) device_id(0) queue_id(0) + hcCommandMarker correlation_id(151) time_ns(43920338365386:43920338397066) device_id(0) queue_id(0) + (null) correlation_id(151) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(151) time_ns(43920336542581:43920339346540) process_id(26018) thread_id(26018) + (null) correlation_id(152) time_ns(0:0) external_id(31) + hipFree correlation_id(152) time_ns(43920354412023:43920354483873) process_id(26018) thread_id(26018) + (null) correlation_id(153) time_ns(0:0) external_id(31) + hipFree correlation_id(153) time_ns(43920354490780:43920354511483) process_id(26018) thread_id(26018) + hipSetDevice correlation_id(154) time_ns(43920375386080:43920375395385) process_id(26018) thread_id(26018) + hipGetDeviceProperties correlation_id(155) time_ns(43920375399196:43920375401534) process_id(26018) thread_id(26018) + hipMalloc correlation_id(156) time_ns(43920377629120:43920377678349) process_id(26018) thread_id(26018) + hipMalloc correlation_id(157) time_ns(43920377682585:43920377721038) process_id(26018) thread_id(26018) + (null) correlation_id(158) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(158) time_ns(43920377726156:43920378387108) process_id(26018) thread_id(26018) + (null) correlation_id(159) time_ns(0:0) external_id(33) + hipModuleLaunchKernel correlation_id(159) time_ns(43920378400808:43920378432890) process_id(26018) thread_id(26018) + hcCommandKernel correlation_id(159) time_ns(43920378438928:43920380274130) device_id(0) queue_id(0) + hcCommandMarker correlation_id(160) time_ns(43920380277169:43920380308849) device_id(0) queue_id(0) + (null) correlation_id(160) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(160) time_ns(43920378438596:43920381221551) process_id(26018) thread_id(26018) + (null) correlation_id(161) time_ns(0:0) external_id(31) + hipFree correlation_id(161) time_ns(43920396338764:43920396434072) process_id(26018) thread_id(26018) + (null) correlation_id(162) time_ns(0:0) external_id(31) + hipFree correlation_id(162) time_ns(43920396442363:43920396473320) process_id(26018) thread_id(26018) + hipSetDevice correlation_id(163) time_ns(43920417144356:43920417154408) process_id(26018) thread_id(26018) + hipGetDeviceProperties correlation_id(164) time_ns(43920417158488:43920417161108) process_id(26018) thread_id(26018) + hipMalloc correlation_id(165) time_ns(43920419349538:43920419412157) process_id(26018) thread_id(26018) + hipMalloc correlation_id(166) time_ns(43920419425951:43920419456995) process_id(26018) thread_id(26018) + (null) correlation_id(167) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(167) time_ns(43920419462114:43920420144809) process_id(26018) thread_id(26018) + (null) correlation_id(168) time_ns(0:0) external_id(33) + hipModuleLaunchKernel correlation_id(168) time_ns(43920420169795:43920420202066) process_id(26018) thread_id(26018) + hcCommandKernel correlation_id(168) time_ns(43920420207913:43920422041035) device_id(0) queue_id(0) + hcCommandMarker correlation_id(169) time_ns(43920422043874:43920422075554) device_id(0) queue_id(0) + (null) correlation_id(169) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(169) time_ns(43920420223065:43920422968176) process_id(26018) thread_id(26018) + (null) correlation_id(170) time_ns(0:0) external_id(31) + hipFree correlation_id(170) time_ns(43920437958954:43920438055494) process_id(26018) thread_id(26018) + (null) correlation_id(171) time_ns(0:0) external_id(31) + hipFree correlation_id(171) time_ns(43920438063879:43920438095551) process_id(26018) thread_id(26018) + hipSetDevice correlation_id(172) time_ns(43920458507019:43920458516803) process_id(26018) thread_id(26018) + hipGetDeviceProperties correlation_id(173) time_ns(43920458520733:43920458523215) process_id(26018) thread_id(26018) + hipMalloc correlation_id(174) time_ns(43920460703767:43920460754215) process_id(26018) thread_id(26018) + hipMalloc correlation_id(175) time_ns(43920460758848:43920460797916) process_id(26018) thread_id(26018) + (null) correlation_id(176) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(176) time_ns(43920460802819:43920461459063) process_id(26018) thread_id(26018) + (null) correlation_id(177) time_ns(0:0) external_id(33) + hipModuleLaunchKernel correlation_id(177) time_ns(43920461473245:43920461515367) process_id(26018) thread_id(26018) + hcCommandKernel correlation_id(177) time_ns(43920461521018:43920463350780) device_id(0) queue_id(0) + hcCommandMarker correlation_id(178) time_ns(43920463353850:43920463385210) device_id(0) queue_id(0) + (null) correlation_id(178) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(178) time_ns(43920461520558:43920464309215) process_id(26018) thread_id(26018) + (null) correlation_id(179) time_ns(0:0) external_id(31) + hipFree correlation_id(179) time_ns(43920478864536:43920478953176) process_id(26018) thread_id(26018) + (null) correlation_id(180) time_ns(0:0) external_id(31) + hipFree correlation_id(180) time_ns(43920478961123:43920479003164) process_id(26018) thread_id(26018) + + + ptr(0x7ffc4af6f508) size(0x400000) + + + + + + + *ptr(0x0x903000000) + + + ptr(0x7ffc4af6f500) size(0x400000) + + + + + + + *ptr(0x0x903800000) + + + dst(0x903000000) src(0x7fcff9073010) size(0x400000) kind(1) + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + + dst(0x2b84d10) src(0x903800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + ptr(0x903000000) + + + + + + + + + + ptr(0x903800000) + + + + + + + +# START (58) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (57) ############################# + + + + + + + + + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + + + ptr(0x7ffc4af6f508) size(0x400000) + + + + + + + *ptr(0x0x903000000) + + + ptr(0x7ffc4af6f500) size(0x400000) + + + + + + + *ptr(0x0x903800000) + + + dst(0x903000000) src(0x7fcff9073010) size(0x400000) kind(1) + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + + dst(0x2b84d10) src(0x903800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + ptr(0x903000000) + + + + + + + + + + ptr(0x903800000) + + + + + + + +# START (56) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (55) ############################# + + + + + + + + + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + + + ptr(0x7ffc4af6f508) size(0x400000) + + + + + + + *ptr(0x0x903000000) + + + ptr(0x7ffc4af6f500) size(0x400000) + + + + + + + *ptr(0x0x903800000) + + + dst(0x903000000) src(0x7fcff9073010) size(0x400000) kind(1) + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0x2b84d10) src(0x903800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + ptr(0x903000000) + + + + + + + + + + ptr(0x903800000) + + + + + + + +# START (54) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (53) ############################# + + + + + + + + + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + + + ptr(0x7ffc4af6f508) size(0x400000) + + + + + + + *ptr(0x0x903000000) + + + ptr(0x7ffc4af6f500) size(0x400000) + + + + + + + *ptr(0x0x903800000) + + + dst(0x903000000) src(0x7fcff9073010) size(0x400000) kind(1) + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + + dst(0x2b84d10) src(0x903800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + ptr(0x903000000) + + + + + + + + + + ptr(0x903800000) + + + + + + + +# START (52) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (51) ############################# + + + + + + + + + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + Activity records: + hipSetDevice correlation_id(181) time_ns(43920499367711:43920499377582) process_id(26018) thread_id(26018) + hipGetDeviceProperties correlation_id(182) time_ns(43920499385716:43920499403154) process_id(26018) thread_id(26018) + hipMalloc correlation_id(183) time_ns(43920501622778:43920501674383) process_id(26018) thread_id(26018) + hipMalloc correlation_id(184) time_ns(43920501678945:43920501699468) process_id(26018) thread_id(26018) + (null) correlation_id(185) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(185) time_ns(43920501703508:43920502345553) process_id(26018) thread_id(26018) + (null) correlation_id(186) time_ns(0:0) external_id(33) + hipModuleLaunchKernel correlation_id(186) time_ns(43920502370499:43920502392416) process_id(26018) thread_id(26018) + hcCommandKernel correlation_id(186) time_ns(43920502398238:43920504234720) device_id(0) queue_id(0) + hcCommandMarker correlation_id(187) time_ns(43920504237612:43920504268812) device_id(0) queue_id(0) + (null) correlation_id(187) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(187) time_ns(43920502405054:43920505255063) process_id(26018) thread_id(26018) + (null) correlation_id(188) time_ns(0:0) external_id(31) + hipFree correlation_id(188) time_ns(43920520240722:43920520316514) process_id(26018) thread_id(26018) + (null) correlation_id(189) time_ns(0:0) external_id(31) + hipFree correlation_id(189) time_ns(43920520324413:43920520345436) process_id(26018) thread_id(26018) + hipSetDevice correlation_id(190) time_ns(43920541218871:43920541228479) process_id(26018) thread_id(26018) + hipGetDeviceProperties correlation_id(191) time_ns(43920541242527:43920541245021) process_id(26018) thread_id(26018) + hipMalloc correlation_id(192) time_ns(43920543464395:43920543516287) process_id(26018) thread_id(26018) + hipMalloc correlation_id(193) time_ns(43920543520926:43920543541660) process_id(26018) thread_id(26018) + (null) correlation_id(194) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(194) time_ns(43920543545907:43920544200460) process_id(26018) thread_id(26018) + (null) correlation_id(195) time_ns(0:0) external_id(33) + hipModuleLaunchKernel correlation_id(195) time_ns(43920544217613:43920544237996) process_id(26018) thread_id(26018) + hcCommandKernel correlation_id(195) time_ns(43920544243948:43920546077870) device_id(0) queue_id(0) + hcCommandMarker correlation_id(196) time_ns(43920546080604:43920546111804) device_id(0) queue_id(0) + (null) correlation_id(196) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(196) time_ns(43920544244310:43920547036679) process_id(26018) thread_id(26018) + (null) correlation_id(197) time_ns(0:0) external_id(31) + hipFree correlation_id(197) time_ns(43920562017094:43920562094900) process_id(26018) thread_id(26018) + (null) correlation_id(198) time_ns(0:0) external_id(31) + hipFree correlation_id(198) time_ns(43920562102955:43920562124481) process_id(26018) thread_id(26018) + hipSetDevice correlation_id(199) time_ns(43920583018408:43920583028474) process_id(26018) thread_id(26018) + hipGetDeviceProperties correlation_id(200) time_ns(43920583042627:43920583045115) process_id(26018) thread_id(26018) + hipMalloc correlation_id(201) time_ns(43920585270556:43920585332071) process_id(26018) thread_id(26018) + hipMalloc correlation_id(202) time_ns(43920585336639:43920585367450) process_id(26018) thread_id(26018) + (null) correlation_id(203) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(203) time_ns(43920585372474:43920586059143) process_id(26018) thread_id(26018) + (null) correlation_id(204) time_ns(0:0) external_id(33) + hipModuleLaunchKernel correlation_id(204) time_ns(43920586083967:43920586126237) process_id(26018) thread_id(26018) + hcCommandKernel correlation_id(204) time_ns(43920586128540:43920587958142) device_id(0) queue_id(0) + hcCommandMarker correlation_id(205) time_ns(43920587960965:43920587992005) device_id(0) queue_id(0) + (null) correlation_id(205) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(205) time_ns(43920586131081:43920588895369) process_id(26018) thread_id(26018) + (null) correlation_id(206) time_ns(0:0) external_id(31) + hipFree correlation_id(206) time_ns(43920603439589:43920603524072) process_id(26018) thread_id(26018) + (null) correlation_id(207) time_ns(0:0) external_id(31) + hipFree correlation_id(207) time_ns(43920603531707:43920603561761) process_id(26018) thread_id(26018) + hipSetDevice correlation_id(208) time_ns(43920622604080:43920622614399) process_id(26018) thread_id(26018) + hipGetDeviceProperties correlation_id(209) time_ns(43920622618142:43920622620868) process_id(26018) thread_id(26018) + hipMalloc correlation_id(210) time_ns(43920624778940:43920624829571) process_id(26018) thread_id(26018) + hipMalloc correlation_id(211) time_ns(43920624834321:43920624873747) process_id(26018) thread_id(26018) + (null) correlation_id(212) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(212) time_ns(43920624878920:43920625540133) process_id(26018) thread_id(26018) + (null) correlation_id(213) time_ns(0:0) external_id(33) + hipModuleLaunchKernel correlation_id(213) time_ns(43920625553477:43920625595634) process_id(26018) thread_id(26018) + hcCommandKernel correlation_id(213) time_ns(43920625600275:43920626080915) device_id(0) queue_id(0) + hcCommandMarker correlation_id(214) time_ns(43920626083776:43920626090336) device_id(0) queue_id(0) + (null) correlation_id(214) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(214) time_ns(43920625601229:43920626984076) process_id(26018) thread_id(26018) + (null) correlation_id(215) time_ns(0:0) external_id(31) + hipFree correlation_id(215) time_ns(43920643218237:43920643310893) process_id(26018) thread_id(26018) + (null) correlation_id(216) time_ns(0:0) external_id(31) + hipFree correlation_id(216) time_ns(43920643320513:43920643352027) process_id(26018) thread_id(26018) + + + ptr(0x7ffc4af6f508) size(0x400000) + + + + + + + *ptr(0x0x903000000) + + + ptr(0x7ffc4af6f500) size(0x400000) + + + + + + + *ptr(0x0x903800000) + + + dst(0x903000000) src(0x7fcff9073010) size(0x400000) kind(1) + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + + dst(0x2b84d10) src(0x903800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + ptr(0x903000000) + + + + + + + + + + ptr(0x903800000) + + + + + + + +# START (50) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (49) ############################# + + + + + + + + + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + + + ptr(0x7ffc4af6f508) size(0x400000) + + + + + + + *ptr(0x0x903000000) + + + ptr(0x7ffc4af6f500) size(0x400000) + + + + + + + *ptr(0x0x903800000) + + + dst(0x903000000) src(0x7fcff9073010) size(0x400000) kind(1) + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + + dst(0x2b84d10) src(0x903800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + ptr(0x903000000) + + + + + + + + + + ptr(0x903800000) + + + + + + + +# START (48) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (47) ############################# + + + + + + + + + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + + + ptr(0x7ffc4af6f508) size(0x400000) + + + + + + + *ptr(0x0x903000000) + + + ptr(0x7ffc4af6f500) size(0x400000) + + + + + + + *ptr(0x0x903800000) + + + dst(0x903000000) src(0x7fcff9073010) size(0x400000) kind(1) + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + + dst(0x2b84d10) src(0x903800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + ptr(0x903000000) + + + + + + + + + + ptr(0x903800000) + + + + + + + +# START (46) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (45) ############################# + + + + + + + + + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + + + ptr(0x7ffc4af6f508) size(0x400000) + + + + + + + *ptr(0x0x903000000) + + + ptr(0x7ffc4af6f500) size(0x400000) + + + + + + + *ptr(0x0x903800000) + + + dst(0x903000000) src(0x7fcff9073010) size(0x400000) kind(1) + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + + dst(0x2b84d10) src(0x903800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + ptr(0x903000000) + + + + + + + + + + ptr(0x903800000) + + + + + + + +# START (44) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (43) ############################# + + + + + + + + + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + Activity records: + hipSetDevice correlation_id(217) time_ns(43920666020999:43920666030269) process_id(26018) thread_id(26018) + hipGetDeviceProperties correlation_id(218) time_ns(43920666038229:43920666055600) process_id(26018) thread_id(26018) + hipMalloc correlation_id(219) time_ns(43920668348779:43920668399665) process_id(26018) thread_id(26018) + hipMalloc correlation_id(220) time_ns(43920668404230:43920668424489) process_id(26018) thread_id(26018) + (null) correlation_id(221) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(221) time_ns(43920668428384:43920669051392) process_id(26018) thread_id(26018) + (null) correlation_id(222) time_ns(0:0) external_id(33) + hipModuleLaunchKernel correlation_id(222) time_ns(43920669065575:43920669085593) process_id(26018) thread_id(26018) + hcCommandKernel correlation_id(222) time_ns(43920669090002:43920669572562) device_id(0) queue_id(0) + hcCommandMarker correlation_id(223) time_ns(43920669575663:43920669582063) device_id(0) queue_id(0) + (null) correlation_id(223) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(223) time_ns(43920669098489:43920670513054) process_id(26018) thread_id(26018) + (null) correlation_id(224) time_ns(0:0) external_id(31) + hipFree correlation_id(224) time_ns(43920685397017:43920685473162) process_id(26018) thread_id(26018) + (null) correlation_id(225) time_ns(0:0) external_id(31) + hipFree correlation_id(225) time_ns(43920685479905:43920685512566) process_id(26018) thread_id(26018) + hipSetDevice correlation_id(226) time_ns(43920705150133:43920705159677) process_id(26018) thread_id(26018) + hipGetDeviceProperties correlation_id(227) time_ns(43920705173708:43920705176392) process_id(26018) thread_id(26018) + hipMalloc correlation_id(228) time_ns(43920707387559:43920707430491) process_id(26018) thread_id(26018) + hipMalloc correlation_id(229) time_ns(43920707435147:43920707470153) process_id(26018) thread_id(26018) + (null) correlation_id(230) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(230) time_ns(43920707475630:43920708182956) process_id(26018) thread_id(26018) + (null) correlation_id(231) time_ns(0:0) external_id(33) + hipModuleLaunchKernel correlation_id(231) time_ns(43920708207221:43920708239190) process_id(26018) thread_id(26018) + hcCommandKernel correlation_id(231) time_ns(43920708243795:43920708730515) device_id(0) queue_id(0) + hcCommandMarker correlation_id(232) time_ns(43920708733523:43920708739923) device_id(0) queue_id(0) + (null) correlation_id(232) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(232) time_ns(43920708256261:43920709683783) process_id(26018) thread_id(26018) + (null) correlation_id(233) time_ns(0:0) external_id(31) + hipFree correlation_id(233) time_ns(43920724460404:43920724556178) process_id(26018) thread_id(26018) + (null) correlation_id(234) time_ns(0:0) external_id(31) + hipFree correlation_id(234) time_ns(43920724572710:43920724594556) process_id(26018) thread_id(26018) + hipSetDevice correlation_id(235) time_ns(43920743984215:43920743994889) process_id(26018) thread_id(26018) + hipGetDeviceProperties correlation_id(236) time_ns(43920744014042:43920744016716) process_id(26018) thread_id(26018) + hipMalloc correlation_id(237) time_ns(43920746243929:43920746297000) process_id(26018) thread_id(26018) + hipMalloc correlation_id(238) time_ns(43920746301846:43920746336170) process_id(26018) thread_id(26018) + (null) correlation_id(239) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(239) time_ns(43920746341361:43920747007258) process_id(26018) thread_id(26018) + (null) correlation_id(240) time_ns(0:0) external_id(33) + hipModuleLaunchKernel correlation_id(240) time_ns(43920747031130:43920747062527) process_id(26018) thread_id(26018) + hcCommandKernel correlation_id(240) time_ns(43920747067044:43920747547684) device_id(0) queue_id(0) + hcCommandMarker correlation_id(241) time_ns(43920747550583:43920747556983) device_id(0) queue_id(0) + (null) correlation_id(241) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(241) time_ns(43920747079308:43920748473916) process_id(26018) thread_id(26018) + (null) correlation_id(242) time_ns(0:0) external_id(31) + hipFree correlation_id(242) time_ns(43920763170720:43920763246399) process_id(26018) thread_id(26018) + (null) correlation_id(243) time_ns(0:0) external_id(31) + hipFree correlation_id(243) time_ns(43920763252618:43920763275167) process_id(26018) thread_id(26018) + hipSetDevice correlation_id(244) time_ns(43920782448748:43920782459129) process_id(26018) thread_id(26018) + hipGetDeviceProperties correlation_id(245) time_ns(43920782473429:43920782475994) process_id(26018) thread_id(26018) + hipMalloc correlation_id(246) time_ns(43920784710468:43920784772042) process_id(26018) thread_id(26018) + hipMalloc correlation_id(247) time_ns(43920784785829:43920784816945) process_id(26018) thread_id(26018) + (null) correlation_id(248) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(248) time_ns(43920784822573:43920785492182) process_id(26018) thread_id(26018) + (null) correlation_id(249) time_ns(0:0) external_id(33) + hipModuleLaunchKernel correlation_id(249) time_ns(43920785517018:43920785549020) process_id(26018) thread_id(26018) + hcCommandKernel correlation_id(249) time_ns(43920785553423:43920786043343) device_id(0) queue_id(0) + hcCommandMarker correlation_id(250) time_ns(43920786046386:43920786052786) device_id(0) queue_id(0) + (null) correlation_id(250) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(250) time_ns(43920785565953:43920786973352) process_id(26018) thread_id(26018) + (null) correlation_id(251) time_ns(0:0) external_id(31) + hipFree correlation_id(251) time_ns(43920801451681:43920801539089) process_id(26018) thread_id(26018) + (null) correlation_id(252) time_ns(0:0) external_id(31) + hipFree correlation_id(252) time_ns(43920801556603:43920801591359) process_id(26018) thread_id(26018) + + + ptr(0x7ffc4af6f508) size(0x400000) + + + + + + + *ptr(0x0x903000000) + + + ptr(0x7ffc4af6f500) size(0x400000) + + + + + + + *ptr(0x0x903800000) + + + dst(0x903000000) src(0x7fcff9073010) size(0x400000) kind(1) + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0x2b84d10) src(0x903800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + ptr(0x903000000) + + + + + + + + + + ptr(0x903800000) + + + + + + + +# START (42) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (41) ############################# + + + + + + + + + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + + + ptr(0x7ffc4af6f508) size(0x400000) + + + + + + + *ptr(0x0x903000000) + + + ptr(0x7ffc4af6f500) size(0x400000) + + + + + + + *ptr(0x0x903800000) + + + dst(0x903000000) src(0x7fcff9073010) size(0x400000) kind(1) + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + + dst(0x2b84d10) src(0x903800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + ptr(0x903000000) + + + + + + + + + + ptr(0x903800000) + + + + + + + +# START (40) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (39) ############################# + + + + + + + + + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + + + ptr(0x7ffc4af6f508) size(0x400000) + + + + + + + *ptr(0x0x903000000) + + + ptr(0x7ffc4af6f500) size(0x400000) + + + + + + + *ptr(0x0x903800000) + + + dst(0x903000000) src(0x7fcff9073010) size(0x400000) kind(1) + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + + dst(0x2b84d10) src(0x903800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + ptr(0x903000000) + + + + + + + + + + ptr(0x903800000) + + + + + + + +# START (38) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (37) ############################# + + + + + + + + + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + + + ptr(0x7ffc4af6f508) size(0x400000) + + + + + + + *ptr(0x0x903000000) + + + ptr(0x7ffc4af6f500) size(0x400000) + + + + + + + *ptr(0x0x903800000) + + + dst(0x903000000) src(0x7fcff9073010) size(0x400000) kind(1) + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + + dst(0x2b84d10) src(0x903800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + ptr(0x903000000) + + + + + + + + + + ptr(0x903800000) + + + + + + + +# START (36) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (35) ############################# + + + + + + + + + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + Activity records: + hipSetDevice correlation_id(253) time_ns(43920820624535:43920820635278) process_id(26018) thread_id(26018) + hipGetDeviceProperties correlation_id(254) time_ns(43920820643992:43920820647313) process_id(26018) thread_id(26018) + hipMalloc correlation_id(255) time_ns(43920822884950:43920822930277) process_id(26018) thread_id(26018) + hipMalloc correlation_id(256) time_ns(43920822935552:43920822963087) process_id(26018) thread_id(26018) + (null) correlation_id(257) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(257) time_ns(43920822969192:43920823591588) process_id(26018) thread_id(26018) + (null) correlation_id(258) time_ns(0:0) external_id(33) + hipModuleLaunchKernel correlation_id(258) time_ns(43920823608075:43920823630958) process_id(26018) thread_id(26018) + hcCommandKernel correlation_id(258) time_ns(43920823635296:43920824125856) device_id(0) queue_id(0) + hcCommandMarker correlation_id(259) time_ns(43920824129106:43920824135506) device_id(0) queue_id(0) + (null) correlation_id(259) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(259) time_ns(43920823647271:43920825034897) process_id(26018) thread_id(26018) + (null) correlation_id(260) time_ns(0:0) external_id(31) + hipFree correlation_id(260) time_ns(43920839905243:43920839987167) process_id(26018) thread_id(26018) + (null) correlation_id(261) time_ns(0:0) external_id(31) + hipFree correlation_id(261) time_ns(43920839994296:43920840054469) process_id(26018) thread_id(26018) + hipSetDevice correlation_id(262) time_ns(43920859160717:43920859171500) process_id(26018) thread_id(26018) + hipGetDeviceProperties correlation_id(263) time_ns(43920859176081:43920859179117) process_id(26018) thread_id(26018) + hipMalloc correlation_id(264) time_ns(43920861387403:43920861432677) process_id(26018) thread_id(26018) + hipMalloc correlation_id(265) time_ns(43920861437722:43920861475065) process_id(26018) thread_id(26018) + (null) correlation_id(266) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(266) time_ns(43920861493721:43920862104606) process_id(26018) thread_id(26018) + (null) correlation_id(267) time_ns(0:0) external_id(33) + hipModuleLaunchKernel correlation_id(267) time_ns(43920862132081:43920862186320) process_id(26018) thread_id(26018) + hcCommandKernel correlation_id(267) time_ns(43920862190789:43920862672549) device_id(0) queue_id(0) + hcCommandMarker correlation_id(268) time_ns(43920862675430:43920862681830) device_id(0) queue_id(0) + (null) correlation_id(268) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(268) time_ns(43920862193506:43920863614349) process_id(26018) thread_id(26018) + (null) correlation_id(269) time_ns(0:0) external_id(31) + hipFree correlation_id(269) time_ns(43920878207310:43920878306027) process_id(26018) thread_id(26018) + (null) correlation_id(270) time_ns(0:0) external_id(31) + hipFree correlation_id(270) time_ns(43920878313265:43920878348501) process_id(26018) thread_id(26018) + hipSetDevice correlation_id(271) time_ns(43920897517489:43920897528697) process_id(26018) thread_id(26018) + hipGetDeviceProperties correlation_id(272) time_ns(43920897533549:43920897536696) process_id(26018) thread_id(26018) + hipMalloc correlation_id(273) time_ns(43920899712249:43920899791035) process_id(26018) thread_id(26018) + hipMalloc correlation_id(274) time_ns(43920899796292:43920899833487) process_id(26018) thread_id(26018) + (null) correlation_id(275) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(275) time_ns(43920899849267:43920900515209) process_id(26018) thread_id(26018) + (null) correlation_id(276) time_ns(0:0) external_id(33) + hipModuleLaunchKernel correlation_id(276) time_ns(43920900546163:43920900594603) process_id(26018) thread_id(26018) + hcCommandKernel correlation_id(276) time_ns(43920900598990:43920901082030) device_id(0) queue_id(0) + hcCommandMarker correlation_id(277) time_ns(43920901084743:43920901091303) device_id(0) queue_id(0) + (null) correlation_id(277) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(277) time_ns(43920900601805:43920902055221) process_id(26018) thread_id(26018) + (null) correlation_id(278) time_ns(0:0) external_id(31) + hipFree correlation_id(278) time_ns(43920916576640:43920916674128) process_id(26018) thread_id(26018) + (null) correlation_id(279) time_ns(0:0) external_id(31) + hipFree correlation_id(279) time_ns(43920916681130:43920916716651) process_id(26018) thread_id(26018) + hipSetDevice correlation_id(280) time_ns(43920935854803:43920935865488) process_id(26018) thread_id(26018) + hipGetDeviceProperties correlation_id(281) time_ns(43920935870334:43920935873387) process_id(26018) thread_id(26018) + hipMalloc correlation_id(282) time_ns(43920938100083:43920938166114) process_id(26018) thread_id(26018) + hipMalloc correlation_id(283) time_ns(43920938171363:43920938232503) process_id(26018) thread_id(26018) + (null) correlation_id(284) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(284) time_ns(43920938238248:43920938899238) process_id(26018) thread_id(26018) + (null) correlation_id(285) time_ns(0:0) external_id(33) + hipModuleLaunchKernel correlation_id(285) time_ns(43920938915318:43920938959020) process_id(26018) thread_id(26018) + hcCommandKernel correlation_id(285) time_ns(43920938963415:43920939453335) device_id(0) queue_id(0) + hcCommandMarker correlation_id(286) time_ns(43920939456319:43920939462879) device_id(0) queue_id(0) + (null) correlation_id(286) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(286) time_ns(43920938976800:43920940430790) process_id(26018) thread_id(26018) + (null) correlation_id(287) time_ns(0:0) external_id(31) + hipFree correlation_id(287) time_ns(43920954960974:43920955062324) process_id(26018) thread_id(26018) + (null) correlation_id(288) time_ns(0:0) external_id(31) + hipFree correlation_id(288) time_ns(43920955069328:43920955128332) process_id(26018) thread_id(26018) + + + ptr(0x7ffc4af6f508) size(0x400000) + + + + + + + *ptr(0x0x903000000) + + + ptr(0x7ffc4af6f500) size(0x400000) + + + + + + + *ptr(0x0x903800000) + + + dst(0x903000000) src(0x7fcff9073010) size(0x400000) kind(1) + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + + dst(0x2b84d10) src(0x903800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + ptr(0x903000000) + + + + + + + + + + ptr(0x903800000) + + + + + + + +# START (34) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (33) ############################# + + + + + + + + + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + + + ptr(0x7ffc4af6f508) size(0x400000) + + + + + + + *ptr(0x0x903000000) + + + ptr(0x7ffc4af6f500) size(0x400000) + + + + + + + *ptr(0x0x903800000) + + + dst(0x903000000) src(0x7fcff9073010) size(0x400000) kind(1) + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + + dst(0x2b84d10) src(0x903800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + ptr(0x903000000) + + + + + + + + + + ptr(0x903800000) + + + + + + + +# START (32) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (31) ############################# + + + + + + + + + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + + + ptr(0x7ffc4af6f508) size(0x400000) + + + + + + + *ptr(0x0x903000000) + + + ptr(0x7ffc4af6f500) size(0x400000) + + + + + + + *ptr(0x0x903800000) + + + dst(0x903000000) src(0x7fcff9073010) size(0x400000) kind(1) + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + + dst(0x2b84d10) src(0x903800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + ptr(0x903000000) + + + + + + + + + + ptr(0x903800000) + + + + + + + +# START (30) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (29) ############################# + + + + + + + + + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + + + ptr(0x7ffc4af6f508) size(0x400000) + + + + + + + *ptr(0x0x903000000) + + + ptr(0x7ffc4af6f500) size(0x400000) + + + + + + + *ptr(0x0x903800000) + + + dst(0x903000000) src(0x7fcff9073010) size(0x400000) kind(1) + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + + dst(0x2b84d10) src(0x903800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + ptr(0x903000000) + + + + + + + + + + ptr(0x903800000) + + + + + + + +# START (28) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (27) ############################# + + + + + + + + + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + Activity records: + hipSetDevice correlation_id(289) time_ns(43920975540410:43920975550199) process_id(26018) thread_id(26018) + hipGetDeviceProperties correlation_id(290) time_ns(43920975559821:43920975563131) process_id(26018) thread_id(26018) + hipMalloc correlation_id(291) time_ns(43920977888564:43920977942265) process_id(26018) thread_id(26018) + hipMalloc correlation_id(292) time_ns(43920977947955:43920977994802) process_id(26018) thread_id(26018) + (null) correlation_id(293) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(293) time_ns(43920978000874:43920978649830) process_id(26018) thread_id(26018) + (null) correlation_id(294) time_ns(0:0) external_id(33) + hipModuleLaunchKernel correlation_id(294) time_ns(43920978675299:43920978698163) process_id(26018) thread_id(26018) + hcCommandKernel correlation_id(294) time_ns(43920978703807:43920980536129) device_id(0) queue_id(0) + hcCommandMarker correlation_id(295) time_ns(43920980539035:43920980570715) device_id(0) queue_id(0) + (null) correlation_id(295) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(295) time_ns(43920978712207:43920981490497) process_id(26018) thread_id(26018) + (null) correlation_id(296) time_ns(0:0) external_id(31) + hipFree correlation_id(296) time_ns(43920996042565:43920996156653) process_id(26018) thread_id(26018) + (null) correlation_id(297) time_ns(0:0) external_id(31) + hipFree correlation_id(297) time_ns(43920996163576:43920996187894) process_id(26018) thread_id(26018) + hipSetDevice correlation_id(298) time_ns(43921016881914:43921016892494) process_id(26018) thread_id(26018) + hipGetDeviceProperties correlation_id(299) time_ns(43921016897146:43921016900202) process_id(26018) thread_id(26018) + hipMalloc correlation_id(300) time_ns(43921019118474:43921019194418) process_id(26018) thread_id(26018) + hipMalloc correlation_id(301) time_ns(43921019199806:43921019257280) process_id(26018) thread_id(26018) + (null) correlation_id(302) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(302) time_ns(43921019263264:43921019929767) process_id(26018) thread_id(26018) + (null) correlation_id(303) time_ns(0:0) external_id(33) + hipModuleLaunchKernel correlation_id(303) time_ns(43921019956914:43921019980342) process_id(26018) thread_id(26018) + hcCommandKernel correlation_id(303) time_ns(43921019991073:43921021822915) device_id(0) queue_id(0) + hcCommandMarker correlation_id(304) time_ns(43921021825996:43921021857836) device_id(0) queue_id(0) + (null) correlation_id(304) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(304) time_ns(43921019997251:43921022798970) process_id(26018) thread_id(26018) + (null) correlation_id(305) time_ns(0:0) external_id(31) + hipFree correlation_id(305) time_ns(43921037701050:43921037803547) process_id(26018) thread_id(26018) + (null) correlation_id(306) time_ns(0:0) external_id(31) + hipFree correlation_id(306) time_ns(43921037810513:43921037856078) process_id(26018) thread_id(26018) + hipSetDevice correlation_id(307) time_ns(43921058807427:43921058819022) process_id(26018) thread_id(26018) + hipGetDeviceProperties correlation_id(308) time_ns(43921058823836:43921058826917) process_id(26018) thread_id(26018) + hipMalloc correlation_id(309) time_ns(43921061081162:43921061148125) process_id(26018) thread_id(26018) + hipMalloc correlation_id(310) time_ns(43921061153340:43921061190459) process_id(26018) thread_id(26018) + (null) correlation_id(311) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(311) time_ns(43921061196492:43921061858014) process_id(26018) thread_id(26018) + (null) correlation_id(312) time_ns(0:0) external_id(33) + hipModuleLaunchKernel correlation_id(312) time_ns(43921061889434:43921061937548) process_id(26018) thread_id(26018) + hcCommandKernel correlation_id(312) time_ns(43921061942968:43921063772730) device_id(0) queue_id(0) + hcCommandMarker correlation_id(313) time_ns(43921063775552:43921063806912) device_id(0) queue_id(0) + (null) correlation_id(313) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(313) time_ns(43921061954491:43921064822971) process_id(26018) thread_id(26018) + (null) correlation_id(314) time_ns(0:0) external_id(31) + hipFree correlation_id(314) time_ns(43921079416666:43921079526675) process_id(26018) thread_id(26018) + (null) correlation_id(315) time_ns(0:0) external_id(31) + hipFree correlation_id(315) time_ns(43921079533802:43921079559437) process_id(26018) thread_id(26018) + hipSetDevice correlation_id(316) time_ns(43921100121369:43921100132102) process_id(26018) thread_id(26018) + hipGetDeviceProperties correlation_id(317) time_ns(43921100136746:43921100139699) process_id(26018) thread_id(26018) + hipMalloc correlation_id(318) time_ns(43921102315570:43921102380775) process_id(26018) thread_id(26018) + hipMalloc correlation_id(319) time_ns(43921102385829:43921102436812) process_id(26018) thread_id(26018) + (null) correlation_id(320) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(320) time_ns(43921102453760:43921103131787) process_id(26018) thread_id(26018) + (null) correlation_id(321) time_ns(0:0) external_id(33) + hipModuleLaunchKernel correlation_id(321) time_ns(43921103163853:43921103197525) process_id(26018) thread_id(26018) + hcCommandKernel correlation_id(321) time_ns(43921103203336:43921105056938) device_id(0) queue_id(0) + hcCommandMarker correlation_id(322) time_ns(43921105059764:43921105090964) device_id(0) queue_id(0) + (null) correlation_id(322) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(322) time_ns(43921103213907:43921106046978) process_id(26018) thread_id(26018) + (null) correlation_id(323) time_ns(0:0) external_id(31) + hipFree correlation_id(323) time_ns(43921120538904:43921120638341) process_id(26018) thread_id(26018) + (null) correlation_id(324) time_ns(0:0) external_id(31) + hipFree correlation_id(324) time_ns(43921120645481:43921120669957) process_id(26018) thread_id(26018) + + + ptr(0x7ffc4af6f508) size(0x400000) + + + + + + + *ptr(0x0x903000000) + + + ptr(0x7ffc4af6f500) size(0x400000) + + + + + + + *ptr(0x0x903800000) + + + dst(0x903000000) src(0x7fcff9073010) size(0x400000) kind(1) + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0x2b84d10) src(0x903800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + ptr(0x903000000) + + + + + + + + + + ptr(0x903800000) + + + + + + + +# START (26) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (25) ############################# + + + + + + + + + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + + + ptr(0x7ffc4af6f508) size(0x400000) + + + + + + + *ptr(0x0x903000000) + + + ptr(0x7ffc4af6f500) size(0x400000) + + + + + + + *ptr(0x0x903800000) + + + dst(0x903000000) src(0x7fcff9073010) size(0x400000) kind(1) + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0x2b84d10) src(0x903800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + ptr(0x903000000) + + + + + + + + + + ptr(0x903800000) + + + + + + + +# START (24) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (23) ############################# + + + + + + + + + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + + + ptr(0x7ffc4af6f508) size(0x400000) + + + + + + + *ptr(0x0x903000000) + + + ptr(0x7ffc4af6f500) size(0x400000) + + + + + + + *ptr(0x0x903800000) + + + dst(0x903000000) src(0x7fcff9073010) size(0x400000) kind(1) + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0x2b84d10) src(0x903800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + ptr(0x903000000) + + + + + + + + + + ptr(0x903800000) + + + + + + + +# START (22) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (21) ############################# + + + + + + + + + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + + + ptr(0x7ffc4af6f508) size(0x400000) + + + + + + + *ptr(0x0x903000000) + + + ptr(0x7ffc4af6f500) size(0x400000) + + + + + + + *ptr(0x0x903800000) + + + dst(0x903000000) src(0x7fcff9073010) size(0x400000) kind(1) + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0x2b84d10) src(0x903800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + ptr(0x903000000) + + + + + + + + + + ptr(0x903800000) + + + + + + + +# START (20) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (19) ############################# + + + + + + + + + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + Activity records: + hipSetDevice correlation_id(325) time_ns(43921141121385:43921141131686) process_id(26018) thread_id(26018) + hipGetDeviceProperties correlation_id(326) time_ns(43921141141015:43921141144318) process_id(26018) thread_id(26018) + hipMalloc correlation_id(327) time_ns(43921143379778:43921143424403) process_id(26018) thread_id(26018) + hipMalloc correlation_id(328) time_ns(43921143429762:43921143457254) process_id(26018) thread_id(26018) + (null) correlation_id(329) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(329) time_ns(43921143462889:43921144101308) process_id(26018) thread_id(26018) + (null) correlation_id(330) time_ns(0:0) external_id(33) + hipModuleLaunchKernel correlation_id(330) time_ns(43921144117974:43921144141645) process_id(26018) thread_id(26018) + hcCommandKernel correlation_id(330) time_ns(43921144154951:43921145993033) device_id(0) queue_id(0) + hcCommandMarker correlation_id(331) time_ns(43921145996071:43921146027751) device_id(0) queue_id(0) + (null) correlation_id(331) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(331) time_ns(43921144157864:43921146933105) process_id(26018) thread_id(26018) + (null) correlation_id(332) time_ns(0:0) external_id(31) + hipFree correlation_id(332) time_ns(43921161567245:43921161664885) process_id(26018) thread_id(26018) + (null) correlation_id(333) time_ns(0:0) external_id(31) + hipFree correlation_id(333) time_ns(43921161672647:43921161707686) process_id(26018) thread_id(26018) + hipSetDevice correlation_id(334) time_ns(43921182225886:43921182236849) process_id(26018) thread_id(26018) + hipGetDeviceProperties correlation_id(335) time_ns(43921182241435:43921182244892) process_id(26018) thread_id(26018) + hipMalloc correlation_id(336) time_ns(43921184425237:43921184471258) process_id(26018) thread_id(26018) + hipMalloc correlation_id(337) time_ns(43921184476351:43921184514698) process_id(26018) thread_id(26018) + (null) correlation_id(338) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(338) time_ns(43921184529481:43921185198143) process_id(26018) thread_id(26018) + (null) correlation_id(339) time_ns(0:0) external_id(33) + hipModuleLaunchKernel correlation_id(339) time_ns(43921185229262:43921185261858) process_id(26018) thread_id(26018) + hcCommandKernel correlation_id(339) time_ns(43921185267413:43921187105015) device_id(0) queue_id(0) + hcCommandMarker correlation_id(340) time_ns(43921187108072:43921187139272) device_id(0) queue_id(0) + (null) correlation_id(340) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(340) time_ns(43921185267704:43921188146942) process_id(26018) thread_id(26018) + (null) correlation_id(341) time_ns(0:0) external_id(31) + hipFree correlation_id(341) time_ns(43921202654750:43921202753380) process_id(26018) thread_id(26018) + (null) correlation_id(342) time_ns(0:0) external_id(31) + hipFree correlation_id(342) time_ns(43921202760642:43921202785962) process_id(26018) thread_id(26018) + hipSetDevice correlation_id(343) time_ns(43921223247405:43921223258592) process_id(26018) thread_id(26018) + hipGetDeviceProperties correlation_id(344) time_ns(43921223263613:43921223266832) process_id(26018) thread_id(26018) + hipMalloc correlation_id(345) time_ns(43921225447018:43921225512689) process_id(26018) thread_id(26018) + hipMalloc correlation_id(346) time_ns(43921225517870:43921225555644) process_id(26018) thread_id(26018) + (null) correlation_id(347) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(347) time_ns(43921225571475:43921226241784) process_id(26018) thread_id(26018) + (null) correlation_id(348) time_ns(0:0) external_id(33) + hipModuleLaunchKernel correlation_id(348) time_ns(43921226268698:43921226293781) process_id(26018) thread_id(26018) + hcCommandKernel correlation_id(348) time_ns(43921226298138:43921226779098) device_id(0) queue_id(0) + hcCommandMarker correlation_id(349) time_ns(43921226781891:43921226788451) device_id(0) queue_id(0) + (null) correlation_id(349) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(349) time_ns(43921226300142:43921227705747) process_id(26018) thread_id(26018) + (null) correlation_id(350) time_ns(0:0) external_id(31) + hipFree correlation_id(350) time_ns(43921242198953:43921242300021) process_id(26018) thread_id(26018) + (null) correlation_id(351) time_ns(0:0) external_id(31) + hipFree correlation_id(351) time_ns(43921242307136:43921242331883) process_id(26018) thread_id(26018) + hipSetDevice correlation_id(352) time_ns(43921261502305:43921261513097) process_id(26018) thread_id(26018) + hipGetDeviceProperties correlation_id(353) time_ns(43921261517771:43921261520828) process_id(26018) thread_id(26018) + hipMalloc correlation_id(354) time_ns(43921263694962:43921263740171) process_id(26018) thread_id(26018) + hipMalloc correlation_id(355) time_ns(43921263745336:43921263782959) process_id(26018) thread_id(26018) + (null) correlation_id(356) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(356) time_ns(43921263797785:43921264452177) process_id(26018) thread_id(26018) + (null) correlation_id(357) time_ns(0:0) external_id(33) + hipModuleLaunchKernel correlation_id(357) time_ns(43921264479507:43921264504552) process_id(26018) thread_id(26018) + hcCommandKernel correlation_id(357) time_ns(43921264514694:43921264998374) device_id(0) queue_id(0) + hcCommandMarker correlation_id(358) time_ns(43921265001322:43921265007882) device_id(0) queue_id(0) + (null) correlation_id(358) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(358) time_ns(43921264519475:43921265946447) process_id(26018) thread_id(26018) + (null) correlation_id(359) time_ns(0:0) external_id(31) + hipFree correlation_id(359) time_ns(43921280480304:43921280577911) process_id(26018) thread_id(26018) + (null) correlation_id(360) time_ns(0:0) external_id(31) + hipFree correlation_id(360) time_ns(43921280585216:43921280622787) process_id(26018) thread_id(26018) + + + ptr(0x7ffc4af6f508) size(0x400000) + + + + + + + *ptr(0x0x903000000) + + + ptr(0x7ffc4af6f500) size(0x400000) + + + + + + + *ptr(0x0x903800000) + + + dst(0x903000000) src(0x7fcff9073010) size(0x400000) kind(1) + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0x2b84d10) src(0x903800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + ptr(0x903000000) + + + + + + + + + + ptr(0x903800000) + + + + + + + +# START (18) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (17) ############################# + + + + + + + + + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + + + ptr(0x7ffc4af6f508) size(0x400000) + + + + + + + *ptr(0x0x903000000) + + + ptr(0x7ffc4af6f500) size(0x400000) + + + + + + + *ptr(0x0x903800000) + + + dst(0x903000000) src(0x7fcff9073010) size(0x400000) kind(1) + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0x2b84d10) src(0x903800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + ptr(0x903000000) + + + + + + + + + + ptr(0x903800000) + + + + + + + +# START (16) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (15) ############################# + + + + + + + + + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + + + ptr(0x7ffc4af6f508) size(0x400000) + + + + + + + *ptr(0x0x903000000) + + + ptr(0x7ffc4af6f500) size(0x400000) + + + + + + + *ptr(0x0x903800000) + + + dst(0x903000000) src(0x7fcff9073010) size(0x400000) kind(1) + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0x2b84d10) src(0x903800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + ptr(0x903000000) + + + + + + + + + + ptr(0x903800000) + + + + + + + +# START (14) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (13) ############################# + + + + + + + + + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + + + ptr(0x7ffc4af6f508) size(0x400000) + + + + + + + *ptr(0x0x903000000) + + + ptr(0x7ffc4af6f500) size(0x400000) + + + + + + + *ptr(0x0x903800000) + + + dst(0x903000000) src(0x7fcff9073010) size(0x400000) kind(1) + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + + dst(0x2b84d10) src(0x903800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + ptr(0x903000000) + + + + + + + + + + ptr(0x903800000) + + + + + + + +# START (12) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (11) ############################# + + + + + + + + + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + Activity records: + hipSetDevice correlation_id(361) time_ns(43921299666096:43921299677513) process_id(26018) thread_id(26018) + hipGetDeviceProperties correlation_id(362) time_ns(43921299686550:43921299689796) process_id(26018) thread_id(26018) + hipMalloc correlation_id(363) time_ns(43921301910538:43921301956523) process_id(26018) thread_id(26018) + hipMalloc correlation_id(364) time_ns(43921301961822:43921301989905) process_id(26018) thread_id(26018) + (null) correlation_id(365) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(365) time_ns(43921301995447:43921302613308) process_id(26018) thread_id(26018) + (null) correlation_id(366) time_ns(0:0) external_id(33) + hipModuleLaunchKernel correlation_id(366) time_ns(43921302629231:43921302653724) process_id(26018) thread_id(26018) + hcCommandKernel correlation_id(366) time_ns(43921302658124:43921303147884) device_id(0) queue_id(0) + hcCommandMarker correlation_id(367) time_ns(43921303150768:43921303157168) device_id(0) queue_id(0) + (null) correlation_id(367) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(367) time_ns(43921302669870:43921304047739) process_id(26018) thread_id(26018) + (null) correlation_id(368) time_ns(0:0) external_id(31) + hipFree correlation_id(368) time_ns(43921318607279:43921318685416) process_id(26018) thread_id(26018) + (null) correlation_id(369) time_ns(0:0) external_id(31) + hipFree correlation_id(369) time_ns(43921318692459:43921318716514) process_id(26018) thread_id(26018) + hipSetDevice correlation_id(370) time_ns(43921337711172:43921337721516) process_id(26018) thread_id(26018) + hipGetDeviceProperties correlation_id(371) time_ns(43921337725897:43921337729248) process_id(26018) thread_id(26018) + hipMalloc correlation_id(372) time_ns(43921339886253:43921339950575) process_id(26018) thread_id(26018) + hipMalloc correlation_id(373) time_ns(43921339955662:43921340017523) process_id(26018) thread_id(26018) + (null) correlation_id(374) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(374) time_ns(43921340034039:43921340707279) process_id(26018) thread_id(26018) + (null) correlation_id(375) time_ns(0:0) external_id(33) + hipModuleLaunchKernel correlation_id(375) time_ns(43921340734285:43921340759194) process_id(26018) thread_id(26018) + hcCommandKernel correlation_id(375) time_ns(43921340763789:43921341256589) device_id(0) queue_id(0) + hcCommandMarker correlation_id(376) time_ns(43921341259491:43921341266051) device_id(0) queue_id(0) + (null) correlation_id(376) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(376) time_ns(43921340775484:43921342164208) process_id(26018) thread_id(26018) + (null) correlation_id(377) time_ns(0:0) external_id(31) + hipFree correlation_id(377) time_ns(43921356753503:43921356852057) process_id(26018) thread_id(26018) + (null) correlation_id(378) time_ns(0:0) external_id(31) + hipFree correlation_id(378) time_ns(43921356858808:43921356884797) process_id(26018) thread_id(26018) + hipSetDevice correlation_id(379) time_ns(43921376019840:43921376029927) process_id(26018) thread_id(26018) + hipGetDeviceProperties correlation_id(380) time_ns(43921376034499:43921376037530) process_id(26018) thread_id(26018) + hipMalloc correlation_id(381) time_ns(43921378210740:43921378275453) process_id(26018) thread_id(26018) + hipMalloc correlation_id(382) time_ns(43921378280549:43921378318017) process_id(26018) thread_id(26018) + (null) correlation_id(383) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(383) time_ns(43921378332830:43921378962471) process_id(26018) thread_id(26018) + (null) correlation_id(384) time_ns(0:0) external_id(33) + hipModuleLaunchKernel correlation_id(384) time_ns(43921378993210:43921379039788) process_id(26018) thread_id(26018) + hcCommandKernel correlation_id(384) time_ns(43921379044297:43921379524777) device_id(0) queue_id(0) + hcCommandMarker correlation_id(385) time_ns(43921379527634:43921379534194) device_id(0) queue_id(0) + (null) correlation_id(385) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(385) time_ns(43921379056375:43921380479138) process_id(26018) thread_id(26018) + (null) correlation_id(386) time_ns(0:0) external_id(31) + hipFree correlation_id(386) time_ns(43921395001519:43921395101669) process_id(26018) thread_id(26018) + (null) correlation_id(387) time_ns(0:0) external_id(31) + hipFree correlation_id(387) time_ns(43921395108951:43921395133986) process_id(26018) thread_id(26018) + hipSetDevice correlation_id(388) time_ns(43921414047056:43921414057226) process_id(26018) thread_id(26018) + hipGetDeviceProperties correlation_id(389) time_ns(43921414061587:43921414064582) process_id(26018) thread_id(26018) + hipMalloc correlation_id(390) time_ns(43921416266891:43921416330735) process_id(26018) thread_id(26018) + hipMalloc correlation_id(391) time_ns(43921416335746:43921416387330) process_id(26018) thread_id(26018) + (null) correlation_id(392) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(392) time_ns(43921416405756:43921417066942) process_id(26018) thread_id(26018) + (null) correlation_id(393) time_ns(0:0) external_id(33) + hipModuleLaunchKernel correlation_id(393) time_ns(43921417097413:43921417150182) process_id(26018) thread_id(26018) + hcCommandKernel correlation_id(393) time_ns(43921417154820:43921417642980) device_id(0) queue_id(0) + hcCommandMarker correlation_id(394) time_ns(43921417645775:43921417652335) device_id(0) queue_id(0) + (null) correlation_id(394) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(394) time_ns(43921417158508:43921418596497) process_id(26018) thread_id(26018) + (null) correlation_id(395) time_ns(0:0) external_id(31) + hipFree correlation_id(395) time_ns(43921433065199:43921433163988) process_id(26018) thread_id(26018) + (null) correlation_id(396) time_ns(0:0) external_id(31) + hipFree correlation_id(396) time_ns(43921433171073:43921433196116) process_id(26018) thread_id(26018) + + + ptr(0x7ffc4af6f508) size(0x400000) + + + + + + + *ptr(0x0x903000000) + + + ptr(0x7ffc4af6f500) size(0x400000) + + + + + + + *ptr(0x0x903800000) + + + dst(0x903000000) src(0x7fcff9073010) size(0x400000) kind(1) + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0x2b84d10) src(0x903800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + ptr(0x903000000) + + + + + + + + + + ptr(0x903800000) + + + + + + + +# START (10) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (9) ############################# + + + + + + + + + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + + + ptr(0x7ffc4af6f508) size(0x400000) + + + + + + + *ptr(0x0x903000000) + + + ptr(0x7ffc4af6f500) size(0x400000) + + + + + + + *ptr(0x0x903800000) + + + dst(0x903000000) src(0x7fcff9073010) size(0x400000) kind(1) + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0x2b84d10) src(0x903800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + ptr(0x903000000) + + + + + + + + + + ptr(0x903800000) + + + + + + + +# START (8) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (7) ############################# + + + + + + + + + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + + + ptr(0x7ffc4af6f508) size(0x400000) + + + + + + + *ptr(0x0x903000000) + + + ptr(0x7ffc4af6f500) size(0x400000) + + + + + + + *ptr(0x0x903800000) + + + dst(0x903000000) src(0x7fcff9073010) size(0x400000) kind(1) + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0x2b84d10) src(0x903800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + ptr(0x903000000) + + + + + + + + + + ptr(0x903800000) + + + + + + + +# START (6) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (5) ############################# + + + + + + + + + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + + + ptr(0x7ffc4af6f508) size(0x400000) + + + + + + + *ptr(0x0x903000000) + + + ptr(0x7ffc4af6f500) size(0x400000) + + + + + + + *ptr(0x0x903800000) + + + dst(0x903000000) src(0x7fcff9073010) size(0x400000) kind(1) + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + dst(0x2b84d10) src(0x903800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + ptr(0x903000000) + + + + + + + + + + ptr(0x903800000) + + + + + + + +# START (4) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (3) ############################# + + + + + + + + + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + Activity records: + hipSetDevice correlation_id(397) time_ns(43921452254692:43921452265169) process_id(26018) thread_id(26018) + hipGetDeviceProperties correlation_id(398) time_ns(43921452275166:43921452278405) process_id(26018) thread_id(26018) + hipMalloc correlation_id(399) time_ns(43921454496914:43921454552118) process_id(26018) thread_id(26018) + hipMalloc correlation_id(400) time_ns(43921454557367:43921454603645) process_id(26018) thread_id(26018) + (null) correlation_id(401) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(401) time_ns(43921454608946:43921455255047) process_id(26018) thread_id(26018) + (null) correlation_id(402) time_ns(0:0) external_id(33) + hipModuleLaunchKernel correlation_id(402) time_ns(43921455282051:43921455306428) process_id(26018) thread_id(26018) + hcCommandKernel correlation_id(402) time_ns(43921455310804:43921455797844) device_id(0) queue_id(0) + hcCommandMarker correlation_id(403) time_ns(43921455800808:43921455807368) device_id(0) queue_id(0) + (null) correlation_id(403) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(403) time_ns(43921455322649:43921456730621) process_id(26018) thread_id(26018) + (null) correlation_id(404) time_ns(0:0) external_id(31) + hipFree correlation_id(404) time_ns(43921471305804:43921471381291) process_id(26018) thread_id(26018) + (null) correlation_id(405) time_ns(0:0) external_id(31) + hipFree correlation_id(405) time_ns(43921471387828:43921471412295) process_id(26018) thread_id(26018) + hipSetDevice correlation_id(406) time_ns(43921490431229:43921490441048) process_id(26018) thread_id(26018) + hipGetDeviceProperties correlation_id(407) time_ns(43921490445816:43921490448703) process_id(26018) thread_id(26018) + hipMalloc correlation_id(408) time_ns(43921492632200:43921492695679) process_id(26018) thread_id(26018) + hipMalloc correlation_id(409) time_ns(43921492700413:43921492736594) process_id(26018) thread_id(26018) + (null) correlation_id(410) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(410) time_ns(43921492750859:43921493404002) process_id(26018) thread_id(26018) + (null) correlation_id(411) time_ns(0:0) external_id(33) + hipModuleLaunchKernel correlation_id(411) time_ns(43921493434540:43921493481517) process_id(26018) thread_id(26018) + hcCommandKernel correlation_id(411) time_ns(43921493486389:43921493975029) device_id(0) queue_id(0) + hcCommandMarker correlation_id(412) time_ns(43921493978114:43921493984674) device_id(0) queue_id(0) + (null) correlation_id(412) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(412) time_ns(43921493496117:43921494874631) process_id(26018) thread_id(26018) + (null) correlation_id(413) time_ns(0:0) external_id(31) + hipFree correlation_id(413) time_ns(43921509355916:43921509450378) process_id(26018) thread_id(26018) + (null) correlation_id(414) time_ns(0:0) external_id(31) + hipFree correlation_id(414) time_ns(43921509457258:43921509480876) process_id(26018) thread_id(26018) + hipSetDevice correlation_id(415) time_ns(43921528506760:43921528517481) process_id(26018) thread_id(26018) + hipGetDeviceProperties correlation_id(416) time_ns(43921528522575:43921528525801) process_id(26018) thread_id(26018) + hipMalloc correlation_id(417) time_ns(43921530704109:43921530768265) process_id(26018) thread_id(26018) + hipMalloc correlation_id(418) time_ns(43921530773284:43921530810110) process_id(26018) thread_id(26018) + (null) correlation_id(419) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(419) time_ns(43921530824764:43921531477778) process_id(26018) thread_id(26018) + (null) correlation_id(420) time_ns(0:0) external_id(33) + hipModuleLaunchKernel correlation_id(420) time_ns(43921531508712:43921531553267) process_id(26018) thread_id(26018) + hcCommandKernel correlation_id(420) time_ns(43921531564573:43921532052413) device_id(0) queue_id(0) + hcCommandMarker correlation_id(421) time_ns(43921532055204:43921532061764) device_id(0) queue_id(0) + (null) correlation_id(421) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(421) time_ns(43921531568240:43921532977221) process_id(26018) thread_id(26018) + (null) correlation_id(422) time_ns(0:0) external_id(31) + hipFree correlation_id(422) time_ns(43921547456633:43921547556707) process_id(26018) thread_id(26018) + (null) correlation_id(423) time_ns(0:0) external_id(31) + hipFree correlation_id(423) time_ns(43921547563600:43921547589725) process_id(26018) thread_id(26018) + hipSetDevice correlation_id(424) time_ns(43921566541456:43921566551811) process_id(26018) thread_id(26018) + hipGetDeviceProperties correlation_id(425) time_ns(43921566556295:43921566559245) process_id(26018) thread_id(26018) + hipMalloc correlation_id(426) time_ns(43921568737936:43921568801054) process_id(26018) thread_id(26018) + hipMalloc correlation_id(427) time_ns(43921568806031:43921568842731) process_id(26018) thread_id(26018) + (null) correlation_id(428) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(428) time_ns(43921568857309:43921569508914) process_id(26018) thread_id(26018) + (null) correlation_id(429) time_ns(0:0) external_id(33) + hipModuleLaunchKernel correlation_id(429) time_ns(43921569539754:43921569588046) process_id(26018) thread_id(26018) + hcCommandKernel correlation_id(429) time_ns(43921569592676:43921570082276) device_id(0) queue_id(0) + hcCommandMarker correlation_id(430) time_ns(43921570085124:43921570091844) device_id(0) queue_id(0) + (null) correlation_id(430) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(430) time_ns(43921569603216:43921571055352) process_id(26018) thread_id(26018) + (null) correlation_id(431) time_ns(0:0) external_id(31) + hipFree correlation_id(431) time_ns(43921585590256:43921585685864) process_id(26018) thread_id(26018) + (null) correlation_id(432) time_ns(0:0) external_id(31) + hipFree correlation_id(432) time_ns(43921585692678:43921585744373) process_id(26018) thread_id(26018) + + + ptr(0x7ffc4af6f508) size(0x400000) + + + + + + + *ptr(0x0x903000000) + + + ptr(0x7ffc4af6f500) size(0x400000) + + + + + + + *ptr(0x0x903800000) + + + dst(0x903000000) src(0x7fcff9073010) size(0x400000) kind(1) + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + + dst(0x2b84d10) src(0x903800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + ptr(0x903000000) + + + + + + + + + + ptr(0x903800000) + + + + + + + +# START (2) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (1) ############################# + + + + + + + + + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + + + ptr(0x7ffc4af6f508) size(0x400000) + + + + + + + *ptr(0x0x903000000) + + + ptr(0x7ffc4af6f500) size(0x400000) + + + + + + + *ptr(0x0x903800000) + + + dst(0x903000000) src(0x7fcff9073010) size(0x400000) kind(1) + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + + dst(0x2b84d10) src(0x903800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + + + ptr(0x903000000) + + + + + + + + + + ptr(0x903800000) + + + + + + + +# START (0) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! + Activity records: + hipSetDevice correlation_id(433) time_ns(43921606267569:43921606277958) process_id(26018) thread_id(26018) + hipGetDeviceProperties correlation_id(434) time_ns(43921606287626:43921606290936) process_id(26018) thread_id(26018) + hipMalloc correlation_id(435) time_ns(43921608614868:43921608669543) process_id(26018) thread_id(26018) + hipMalloc correlation_id(436) time_ns(43921608674941:43921608722707) process_id(26018) thread_id(26018) + (null) correlation_id(437) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(437) time_ns(43921608728191:43921609377173) process_id(26018) thread_id(26018) + (null) correlation_id(438) time_ns(0:0) external_id(33) + hipModuleLaunchKernel correlation_id(438) time_ns(43921609403807:43921609428386) process_id(26018) thread_id(26018) + hcCommandKernel correlation_id(438) time_ns(43921609434051:43921611279333) device_id(0) queue_id(0) + hcCommandMarker correlation_id(439) time_ns(43921611282059:43921611313899) device_id(0) queue_id(0) + (null) correlation_id(439) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(439) time_ns(43921609441877:43921612242529) process_id(26018) thread_id(26018) + (null) correlation_id(440) time_ns(0:0) external_id(31) + hipFree correlation_id(440) time_ns(43921627150392:43921627229148) process_id(26018) thread_id(26018) + (null) correlation_id(441) time_ns(0:0) external_id(31) + hipFree correlation_id(441) time_ns(43921627236769:43921627261598) process_id(26018) thread_id(26018) + hipSetDevice correlation_id(442) time_ns(43921648187869:43921648198420) process_id(26018) thread_id(26018) + hipGetDeviceProperties correlation_id(443) time_ns(43921648203360:43921648206709) process_id(26018) thread_id(26018) + hipMalloc correlation_id(444) time_ns(43921650436225:43921650506222) process_id(26018) thread_id(26018) + hipMalloc correlation_id(445) time_ns(43921650511634:43921650567858) process_id(26018) thread_id(26018) + (null) correlation_id(446) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(446) time_ns(43921650573590:43921651243647) process_id(26018) thread_id(26018) + (null) correlation_id(447) time_ns(0:0) external_id(33) + hipModuleLaunchKernel correlation_id(447) time_ns(43921651271093:43921651296014) process_id(26018) thread_id(26018) + hcCommandKernel correlation_id(447) time_ns(43921651301547:43921653140269) device_id(0) queue_id(0) + hcCommandMarker correlation_id(448) time_ns(43921653143342:43921653175182) device_id(0) queue_id(0) + (null) correlation_id(448) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(448) time_ns(43921651303048:43921654138318) process_id(26018) thread_id(26018) + (null) correlation_id(449) time_ns(0:0) external_id(31) + hipFree correlation_id(449) time_ns(43921669147933:43921669229505) process_id(26018) thread_id(26018) + (null) correlation_id(450) time_ns(0:0) external_id(31) + hipFree correlation_id(450) time_ns(43921669237076:43921669263052) process_id(26018) thread_id(26018) +# STOP ############################# + diff --git a/test/golden_traces/ctrl_hsa_input_trace.txt b/test/golden_traces/ctrl_hsa_input_trace.txt new file mode 100644 index 0000000000..4067cff89f --- /dev/null +++ b/test/golden_traces/ctrl_hsa_input_trace.txt @@ -0,0 +1,4116 @@ +ROCTracer (pid=26086): input from "input.xml" + HSA-trace() + HSA-activity-trace() +43938901661657:43938901664772 26086:26086 hsa_amd_profiling_async_copy_enable() = 0 +43938901678570:43938901679167 26086:26086 hsa_agent_get_info(, 17, 0x7ffc771e0d70) = 0 +43938901681408:43938901682196 26086:26086 hsa_amd_memory_pool_get_info(, 0, 0x7ffc771e0bf0) = 0 +43938901683164:43938901683597 26086:26086 hsa_amd_memory_pool_get_info(, 1, 0x7ffc771e0bf4) = 0 +43938901684553:43938901684961 26086:26086 hsa_amd_memory_pool_get_info(, 0, 0x7ffc771e0bf0) = 0 +43938901685847:43938901686257 26086:26086 hsa_amd_memory_pool_get_info(, 1, 0x7ffc771e0bf4) = 0 +43938901685847:43938901687161 26086:26086 hsa_amd_agent_iterate_memory_pools(, 1, 0x7fc68dca45b0) = 1 +43938901688522:43938901688930 26086:26086 hsa_amd_memory_pool_get_info(, 0, 0x7ffc771e0bf0) = 0 +43938901689816:43938901690226 26086:26086 hsa_amd_memory_pool_get_info(, 1, 0x7ffc771e0bf4) = 0 +43938901689816:43938901691151 26086:26086 hsa_amd_agent_iterate_memory_pools(, 1, 0x7fc68dca45c0) = 1 +43938901697016:43938901697562 26086:26086 hsa_agent_get_info(, 17, 0x7ffc771e0d70) = 0 +43938901698632:43938901703052 26086:26086 hsa_agent_get_info(, 0, 0x7fc68dca4684) = 0 +43938901704931:43938901705424 26086:26086 hsa_agent_get_info(, 6, 0x7fc68dca46c4) = 0 +43938901706337:43938901706824 26086:26086 hsa_agent_get_info(, 14, 0x7fc68dca46c8) = 0 +43938901707716:43938901708146 26086:26086 hsa_agent_get_info(, 4, 0x7fc68dca46cc) = 0 +43938901709037:43938901709449 26086:26086 hsa_agent_get_info(, 40962, 0x7fc68dca46e8) = 0 +43938901710336:43938901710759 26086:26086 hsa_agent_get_info(, 40970, 0x7fc68dca46ec) = 0 +43938901711647:43938901712052 26086:26086 hsa_agent_get_info(, 40971, 0x7fc68dca46f0) = 0 +43938901712942:43938901713369 26086:26086 hsa_agent_get_info(, 40972, 0x7fc68dca46f4) = 0 +43938901714264:43938901714670 26086:26086 hsa_agent_get_info(, 40973, 0x7fc68dca46f8) = 0 +43938901716274:43938901716687 26086:26086 hsa_amd_memory_pool_get_info(, 0, 0x7ffc771e0be0) = 0 +43938901717586:43938901718015 26086:26086 hsa_amd_memory_pool_get_info(, 1, 0x7ffc771e0be4) = 0 +43938901717586:43938901718920 26086:26086 hsa_amd_agent_iterate_memory_pools(, 1, 0x7fc68dca46d8) = 1 +43938901717586:43938901721946 26086:26086 hsa_iterate_agents(1, 0x22d8320) = 0 +43938901723056:43938901821270 26086:26086 hsa_system_get_major_extension_table(, , , 0x22d83b8) = 0 +43938901823021:43938901823556 26086:26086 hsa_system_get_major_extension_table(, , , 0x22d8408) = 0 +43938901824814:43938901825239 26086:26086 hsa_system_get_info(3, 0x7ffc771e0ee8) = 0 +43938901832376:43938901833163 26086:26086 hsa_system_get_info(2, 0x7fc68dca4f60) = 0 +43938901835358:43938901836122 26086:26086 hsa_system_get_info(2, 0x7fc68dca4f68) = 0 +43938901838607:43938901839365 26086:26086 hsa_system_get_info(2, 0x7fc68dca4f70) = 0 +43938901840306:43938901841058 26086:26086 hsa_system_get_info(2, 0x7fc68dca4f78) = 0 +43938901841975:43938901842737 26086:26086 hsa_system_get_info(2, 0x7fc68dca4f80) = 0 +43938901843654:43938901844413 26086:26086 hsa_system_get_info(2, 0x7fc68dca4f88) = 0 +43938901845332:43938901846082 26086:26086 hsa_system_get_info(2, 0x7fc68dca4f90) = 0 +43938901846997:43938901847744 26086:26086 hsa_system_get_info(2, 0x7fc68dca4f98) = 0 +43938901848661:43938901849415 26086:26086 hsa_system_get_info(2, 0x7fc68dca4fa0) = 0 +43938901850337:43938901851086 26086:26086 hsa_system_get_info(2, 0x7fc68dca4fa8) = 0 +43938901852000:43938901852758 26086:26086 hsa_system_get_info(2, 0x7fc68dca4fb0) = 0 +43938901853671:43938901854426 26086:26086 hsa_system_get_info(2, 0x7fc68dca4fb8) = 0 +43938901855340:43938901856092 26086:26086 hsa_system_get_info(2, 0x7fc68dca4fc0) = 0 +43938901857012:43938901857766 26086:26086 hsa_system_get_info(2, 0x7fc68dca4fc8) = 0 +43938901858684:43938901859433 26086:26086 hsa_system_get_info(2, 0x7fc68dca4fd0) = 0 +43938901860350:43938901861135 26086:26086 hsa_system_get_info(2, 0x7fc68dca4fd8) = 0 +43938901862051:43938901862828 26086:26086 hsa_system_get_info(2, 0x7fc68dca4fe0) = 0 +43938901863743:43938901864497 26086:26086 hsa_system_get_info(2, 0x7fc68dca4fe8) = 0 +43938901865413:43938901866166 26086:26086 hsa_system_get_info(2, 0x7fc68dca4ff0) = 0 +43938901867074:43938901867824 26086:26086 hsa_system_get_info(2, 0x7fc68dca4ff8) = 0 +43938901868740:43938901869500 26086:26086 hsa_system_get_info(2, 0x7fc68dca5000) = 0 +43938901870415:43938901871170 26086:26086 hsa_system_get_info(2, 0x7fc68dca5008) = 0 +43938901872080:43938901872840 26086:26086 hsa_system_get_info(2, 0x7fc68dca5010) = 0 +43938901873758:43938901874516 26086:26086 hsa_system_get_info(2, 0x7fc68dca5018) = 0 +43938901875431:43938901876188 26086:26086 hsa_system_get_info(2, 0x7fc68dca5020) = 0 +43938901877112:43938901877859 26086:26086 hsa_system_get_info(2, 0x7fc68dca5028) = 0 +43938901878778:43938901879536 26086:26086 hsa_system_get_info(2, 0x7fc68dca5030) = 0 +43938901880447:43938901881202 26086:26086 hsa_system_get_info(2, 0x7fc68dca5038) = 0 +43938901882121:43938901882872 26086:26086 hsa_system_get_info(2, 0x7fc68dca5040) = 0 +43938901883811:43938901884566 26086:26086 hsa_system_get_info(2, 0x7fc68dca5048) = 0 +43938901886481:43938901887238 26086:26086 hsa_system_get_info(2, 0x7fc68dca5050) = 0 +43938901888157:43938901888906 26086:26086 hsa_system_get_info(2, 0x7fc68dca5058) = 0 +43938901889823:43938901890580 26086:26086 hsa_system_get_info(2, 0x7fc68dca5060) = 0 +43938901891492:43938901892251 26086:26086 hsa_system_get_info(2, 0x7fc68dca5068) = 0 +43938901893166:43938901893923 26086:26086 hsa_system_get_info(2, 0x7fc68dca5070) = 0 +43938901894841:43938901895588 26086:26086 hsa_system_get_info(2, 0x7fc68dca5078) = 0 +43938901896504:43938901897257 26086:26086 hsa_system_get_info(2, 0x7fc68dca5080) = 0 +43938901898172:43938901898920 26086:26086 hsa_system_get_info(2, 0x7fc68dca5088) = 0 +43938901899851:43938901900606 26086:26086 hsa_system_get_info(2, 0x7fc68dca5090) = 0 +43938901901523:43938901902279 26086:26086 hsa_system_get_info(2, 0x7fc68dca5098) = 0 +43938901903199:43938901903958 26086:26086 hsa_system_get_info(2, 0x7fc68dca50a0) = 0 +43938901904869:43938901905623 26086:26086 hsa_system_get_info(2, 0x7fc68dca50a8) = 0 +43938901906539:43938901907296 26086:26086 hsa_system_get_info(2, 0x7fc68dca50b0) = 0 +43938901908211:43938901908973 26086:26086 hsa_system_get_info(2, 0x7fc68dca50b8) = 0 +43938901909885:43938901910650 26086:26086 hsa_system_get_info(2, 0x7fc68dca50c0) = 0 +43938901911565:43938901912325 26086:26086 hsa_system_get_info(2, 0x7fc68dca50c8) = 0 +43938901913242:43938901914001 26086:26086 hsa_system_get_info(2, 0x7fc68dca50d0) = 0 +43938901914916:43938901915668 26086:26086 hsa_system_get_info(2, 0x7fc68dca50d8) = 0 +43938901916583:43938901917340 26086:26086 hsa_system_get_info(2, 0x7fc68dca50e0) = 0 +43938901918255:43938901919015 26086:26086 hsa_system_get_info(2, 0x7fc68dca50e8) = 0 +43938901919930:43938901920695 26086:26086 hsa_system_get_info(2, 0x7fc68dca50f0) = 0 +43938901921611:43938901922389 26086:26086 hsa_system_get_info(2, 0x7fc68dca50f8) = 0 +43938901923305:43938901924069 26086:26086 hsa_system_get_info(2, 0x7fc68dca5100) = 0 +43938901924982:43938901925747 26086:26086 hsa_system_get_info(2, 0x7fc68dca5108) = 0 +43938901926667:43938901927426 26086:26086 hsa_system_get_info(2, 0x7fc68dca5110) = 0 +43938901928348:43938901929098 26086:26086 hsa_system_get_info(2, 0x7fc68dca5118) = 0 +43938901930025:43938901930778 26086:26086 hsa_system_get_info(2, 0x7fc68dca5120) = 0 +43938901931689:43938901932447 26086:26086 hsa_system_get_info(2, 0x7fc68dca5128) = 0 +43938901933355:43938901934112 26086:26086 hsa_system_get_info(2, 0x7fc68dca5130) = 0 +43938901936383:43938901937160 26086:26086 hsa_system_get_info(2, 0x7fc68dca5138) = 0 +43938901938075:43938901938828 26086:26086 hsa_system_get_info(2, 0x7fc68dca5140) = 0 +43938901939749:43938901940502 26086:26086 hsa_system_get_info(2, 0x7fc68dca5148) = 0 +43938901941416:43938901942168 26086:26086 hsa_system_get_info(2, 0x7fc68dca5150) = 0 +43938901943079:43938901943832 26086:26086 hsa_system_get_info(2, 0x7fc68dca5158) = 0 +43938901944743:43938901945494 26086:26086 hsa_system_get_info(2, 0x7fc68dca5160) = 0 +43938901946403:43938901947156 26086:26086 hsa_system_get_info(2, 0x7fc68dca5168) = 0 +43938901948074:43938901948826 26086:26086 hsa_system_get_info(2, 0x7fc68dca5170) = 0 +43938901949742:43938901950499 26086:26086 hsa_system_get_info(2, 0x7fc68dca5178) = 0 +43938901951415:43938901952174 26086:26086 hsa_system_get_info(2, 0x7fc68dca5180) = 0 +43938901953086:43938901953841 26086:26086 hsa_system_get_info(2, 0x7fc68dca5188) = 0 +43938901954757:43938901955506 26086:26086 hsa_system_get_info(2, 0x7fc68dca5190) = 0 +43938901956423:43938901957190 26086:26086 hsa_system_get_info(2, 0x7fc68dca5198) = 0 +43938901958100:43938901958850 26086:26086 hsa_system_get_info(2, 0x7fc68dca51a0) = 0 +43938901959762:43938901960513 26086:26086 hsa_system_get_info(2, 0x7fc68dca51a8) = 0 +43938901961430:43938901962184 26086:26086 hsa_system_get_info(2, 0x7fc68dca51b0) = 0 +43938901963096:43938901963853 26086:26086 hsa_system_get_info(2, 0x7fc68dca51b8) = 0 +43938901964769:43938901965529 26086:26086 hsa_system_get_info(2, 0x7fc68dca51c0) = 0 +43938901966441:43938901967198 26086:26086 hsa_system_get_info(2, 0x7fc68dca51c8) = 0 +43938901968116:43938901968878 26086:26086 hsa_system_get_info(2, 0x7fc68dca51d0) = 0 +43938901969793:43938901970553 26086:26086 hsa_system_get_info(2, 0x7fc68dca51d8) = 0 +43938901971468:43938901972220 26086:26086 hsa_system_get_info(2, 0x7fc68dca51e0) = 0 +43938901973133:43938901973886 26086:26086 hsa_system_get_info(2, 0x7fc68dca51e8) = 0 +43938901974799:43938901975553 26086:26086 hsa_system_get_info(2, 0x7fc68dca51f0) = 0 +43938901976486:43938901977241 26086:26086 hsa_system_get_info(2, 0x7fc68dca51f8) = 0 +43938901978157:43938901978910 26086:26086 hsa_system_get_info(2, 0x7fc68dca5200) = 0 +43938901979821:43938901980601 26086:26086 hsa_system_get_info(2, 0x7fc68dca5208) = 0 +43938901981526:43938901982280 26086:26086 hsa_system_get_info(2, 0x7fc68dca5210) = 0 +43938901984046:43938901984801 26086:26086 hsa_system_get_info(2, 0x7fc68dca5218) = 0 +43938901985709:43938901986465 26086:26086 hsa_system_get_info(2, 0x7fc68dca5220) = 0 +43938901987380:43938901988135 26086:26086 hsa_system_get_info(2, 0x7fc68dca5228) = 0 +43938901989057:43938901989811 26086:26086 hsa_system_get_info(2, 0x7fc68dca5230) = 0 +43938901990724:43938901991479 26086:26086 hsa_system_get_info(2, 0x7fc68dca5238) = 0 +43938901992391:43938901993142 26086:26086 hsa_system_get_info(2, 0x7fc68dca5240) = 0 +43938901994058:43938901994810 26086:26086 hsa_system_get_info(2, 0x7fc68dca5248) = 0 +43938901995721:43938901996481 26086:26086 hsa_system_get_info(2, 0x7fc68dca5250) = 0 +43938901997391:43938901998146 26086:26086 hsa_system_get_info(2, 0x7fc68dca5258) = 0 +43938901999060:43938901999812 26086:26086 hsa_system_get_info(2, 0x7fc68dca5260) = 0 +43938902000725:43938902001486 26086:26086 hsa_system_get_info(2, 0x7fc68dca5268) = 0 +43938902002405:43938902003154 26086:26086 hsa_system_get_info(2, 0x7fc68dca5270) = 0 +43938902004070:43938902004830 26086:26086 hsa_system_get_info(2, 0x7fc68dca5278) = 0 +43938902005757:43938902006513 26086:26086 hsa_system_get_info(2, 0x7fc68dca5280) = 0 +43938902007427:43938902008176 26086:26086 hsa_system_get_info(2, 0x7fc68dca5288) = 0 +43938902009089:43938902009841 26086:26086 hsa_system_get_info(2, 0x7fc68dca5290) = 0 +43938902010753:43938902011506 26086:26086 hsa_system_get_info(2, 0x7fc68dca5298) = 0 +43938902012419:43938902013175 26086:26086 hsa_system_get_info(2, 0x7fc68dca52a0) = 0 +43938902014092:43938902014837 26086:26086 hsa_system_get_info(2, 0x7fc68dca52a8) = 0 +43938902015751:43938902016506 26086:26086 hsa_system_get_info(2, 0x7fc68dca52b0) = 0 +43938902017420:43938902018172 26086:26086 hsa_system_get_info(2, 0x7fc68dca52b8) = 0 +43938902019084:43938902019835 26086:26086 hsa_system_get_info(2, 0x7fc68dca52c0) = 0 +43938902020754:43938902021511 26086:26086 hsa_system_get_info(2, 0x7fc68dca52c8) = 0 +43938902022426:43938902023181 26086:26086 hsa_system_get_info(2, 0x7fc68dca52d0) = 0 +43938902024106:43938902024858 26086:26086 hsa_system_get_info(2, 0x7fc68dca52d8) = 0 +43938902025772:43938902026527 26086:26086 hsa_system_get_info(2, 0x7fc68dca52e0) = 0 +43938902027443:43938902028199 26086:26086 hsa_system_get_info(2, 0x7fc68dca52e8) = 0 +43938902029117:43938902029891 26086:26086 hsa_system_get_info(2, 0x7fc68dca52f0) = 0 +43938902030805:43938902031564 26086:26086 hsa_system_get_info(2, 0x7fc68dca52f8) = 0 +43938902033308:43938902034070 26086:26086 hsa_system_get_info(2, 0x7fc68dca5300) = 0 +43938902034987:43938902035749 26086:26086 hsa_system_get_info(2, 0x7fc68dca5308) = 0 +43938902036667:43938902037415 26086:26086 hsa_system_get_info(2, 0x7fc68dca5310) = 0 +43938902038332:43938902039084 26086:26086 hsa_system_get_info(2, 0x7fc68dca5318) = 0 +43938902040004:43938902040755 26086:26086 hsa_system_get_info(2, 0x7fc68dca5320) = 0 +43938902041673:43938902042428 26086:26086 hsa_system_get_info(2, 0x7fc68dca5328) = 0 +43938902043337:43938902044090 26086:26086 hsa_system_get_info(2, 0x7fc68dca5330) = 0 +43938902045004:43938902045755 26086:26086 hsa_system_get_info(2, 0x7fc68dca5338) = 0 +43938902046671:43938902047425 26086:26086 hsa_system_get_info(2, 0x7fc68dca5340) = 0 +43938902048342:43938902049097 26086:26086 hsa_system_get_info(2, 0x7fc68dca5348) = 0 +43938902050009:43938902050768 26086:26086 hsa_system_get_info(2, 0x7fc68dca5350) = 0 +43938902051685:43938902052445 26086:26086 hsa_system_get_info(2, 0x7fc68dca5358) = 0 +43938902053358:43938902054117 26086:26086 hsa_system_get_info(2, 0x7fc68dca5360) = 0 +43938902055051:43938902055828 26086:26086 hsa_system_get_info(2, 0x7fc68dca5368) = 0 +43938902056743:43938902057499 26086:26086 hsa_system_get_info(2, 0x7fc68dca5370) = 0 +43938902058414:43938902059171 26086:26086 hsa_system_get_info(2, 0x7fc68dca5378) = 0 +43938902060087:43938902060847 26086:26086 hsa_system_get_info(2, 0x7fc68dca5380) = 0 +43938902061763:43938902062521 26086:26086 hsa_system_get_info(2, 0x7fc68dca5388) = 0 +43938902063434:43938902064189 26086:26086 hsa_system_get_info(2, 0x7fc68dca5390) = 0 +43938902065105:43938902065858 26086:26086 hsa_system_get_info(2, 0x7fc68dca5398) = 0 +43938902066770:43938902067522 26086:26086 hsa_system_get_info(2, 0x7fc68dca53a0) = 0 +43938902068430:43938902069188 26086:26086 hsa_system_get_info(2, 0x7fc68dca53a8) = 0 +43938902070105:43938902070859 26086:26086 hsa_system_get_info(2, 0x7fc68dca53b0) = 0 +43938902071780:43938902072535 26086:26086 hsa_system_get_info(2, 0x7fc68dca53b8) = 0 +43938902073468:43938902074222 26086:26086 hsa_system_get_info(2, 0x7fc68dca53c0) = 0 +43938902075134:43938902075889 26086:26086 hsa_system_get_info(2, 0x7fc68dca53c8) = 0 +43938902076806:43938902077553 26086:26086 hsa_system_get_info(2, 0x7fc68dca53d0) = 0 +43938902078487:43938902079238 26086:26086 hsa_system_get_info(2, 0x7fc68dca53d8) = 0 +43938902080994:43938902081755 26086:26086 hsa_system_get_info(2, 0x7fc68dca53e0) = 0 +43938902082669:43938902083422 26086:26086 hsa_system_get_info(2, 0x7fc68dca53e8) = 0 +43938902084325:43938902085078 26086:26086 hsa_system_get_info(2, 0x7fc68dca53f0) = 0 +43938902085990:43938902086745 26086:26086 hsa_system_get_info(2, 0x7fc68dca53f8) = 0 +43938902087664:43938902088418 26086:26086 hsa_system_get_info(2, 0x7fc68dca5400) = 0 +43938902089334:43938902090084 26086:26086 hsa_system_get_info(2, 0x7fc68dca5408) = 0 +43938902091000:43938902091762 26086:26086 hsa_system_get_info(2, 0x7fc68dca5410) = 0 +43938902092682:43938902093432 26086:26086 hsa_system_get_info(2, 0x7fc68dca5418) = 0 +43938902094349:43938902095105 26086:26086 hsa_system_get_info(2, 0x7fc68dca5420) = 0 +43938902096025:43938902096773 26086:26086 hsa_system_get_info(2, 0x7fc68dca5428) = 0 +43938902097689:43938902098447 26086:26086 hsa_system_get_info(2, 0x7fc68dca5430) = 0 +43938902099374:43938902100127 26086:26086 hsa_system_get_info(2, 0x7fc68dca5438) = 0 +43938902101044:43938902101801 26086:26086 hsa_system_get_info(2, 0x7fc68dca5440) = 0 +43938902102714:43938902103470 26086:26086 hsa_system_get_info(2, 0x7fc68dca5448) = 0 +43938902104390:43938902105144 26086:26086 hsa_system_get_info(2, 0x7fc68dca5450) = 0 +43938902106057:43938902106805 26086:26086 hsa_system_get_info(2, 0x7fc68dca5458) = 0 +43938902107724:43938902108482 26086:26086 hsa_system_get_info(2, 0x7fc68dca5460) = 0 +43938902109400:43938902110155 26086:26086 hsa_system_get_info(2, 0x7fc68dca5468) = 0 +43938902111069:43938902111822 26086:26086 hsa_system_get_info(2, 0x7fc68dca5470) = 0 +43938902112733:43938902113486 26086:26086 hsa_system_get_info(2, 0x7fc68dca5478) = 0 +43938902114400:43938902115157 26086:26086 hsa_system_get_info(2, 0x7fc68dca5480) = 0 +43938902116072:43938902116823 26086:26086 hsa_system_get_info(2, 0x7fc68dca5488) = 0 +43938902117735:43938902118498 26086:26086 hsa_system_get_info(2, 0x7fc68dca5490) = 0 +43938902119410:43938902120166 26086:26086 hsa_system_get_info(2, 0x7fc68dca5498) = 0 +43938902121084:43938902121836 26086:26086 hsa_system_get_info(2, 0x7fc68dca54a0) = 0 +43938902122778:43938902123533 26086:26086 hsa_system_get_info(2, 0x7fc68dca54a8) = 0 +43938902124450:43938902125198 26086:26086 hsa_system_get_info(2, 0x7fc68dca54b0) = 0 +43938902126114:43938902126864 26086:26086 hsa_system_get_info(2, 0x7fc68dca54b8) = 0 +43938902127777:43938902128530 26086:26086 hsa_system_get_info(2, 0x7fc68dca54c0) = 0 +43938902130298:43938902131066 26086:26086 hsa_system_get_info(2, 0x7fc68dca54c8) = 0 +43938902131980:43938902132732 26086:26086 hsa_system_get_info(2, 0x7fc68dca54d0) = 0 +43938902133686:43938902134440 26086:26086 hsa_system_get_info(2, 0x7fc68dca54d8) = 0 +43938902135355:43938902136107 26086:26086 hsa_system_get_info(2, 0x7fc68dca54e0) = 0 +43938902137022:43938902137783 26086:26086 hsa_system_get_info(2, 0x7fc68dca54e8) = 0 +43938902138698:43938902139455 26086:26086 hsa_system_get_info(2, 0x7fc68dca54f0) = 0 +43938902140370:43938902141126 26086:26086 hsa_system_get_info(2, 0x7fc68dca54f8) = 0 +43938902142038:43938902142799 26086:26086 hsa_system_get_info(2, 0x7fc68dca5500) = 0 +43938902143717:43938902144475 26086:26086 hsa_system_get_info(2, 0x7fc68dca5508) = 0 +43938902145391:43938902146146 26086:26086 hsa_system_get_info(2, 0x7fc68dca5510) = 0 +43938902147062:43938902147820 26086:26086 hsa_system_get_info(2, 0x7fc68dca5518) = 0 +43938902148733:43938902149495 26086:26086 hsa_system_get_info(2, 0x7fc68dca5520) = 0 +43938902150409:43938902151161 26086:26086 hsa_system_get_info(2, 0x7fc68dca5528) = 0 +43938902152076:43938902152836 26086:26086 hsa_system_get_info(2, 0x7fc68dca5530) = 0 +43938902153750:43938902154504 26086:26086 hsa_system_get_info(2, 0x7fc68dca5538) = 0 +43938902155422:43938902156199 26086:26086 hsa_system_get_info(2, 0x7fc68dca5540) = 0 +43938902157120:43938902157879 26086:26086 hsa_system_get_info(2, 0x7fc68dca5548) = 0 +43938902158792:43938902159549 26086:26086 hsa_system_get_info(2, 0x7fc68dca5550) = 0 +43938902160466:43938902161224 26086:26086 hsa_system_get_info(2, 0x7fc68dca5558) = 0 +43938902162140:43938902162885 26086:26086 hsa_system_get_info(2, 0x7fc68dca5560) = 0 +43938902163798:43938902164554 26086:26086 hsa_system_get_info(2, 0x7fc68dca5568) = 0 +43938902165468:43938902166224 26086:26086 hsa_system_get_info(2, 0x7fc68dca5570) = 0 +43938902167132:43938902167889 26086:26086 hsa_system_get_info(2, 0x7fc68dca5578) = 0 +43938902168802:43938902169557 26086:26086 hsa_system_get_info(2, 0x7fc68dca5580) = 0 +43938902170473:43938902171226 26086:26086 hsa_system_get_info(2, 0x7fc68dca5588) = 0 +43938902172135:43938902172889 26086:26086 hsa_system_get_info(2, 0x7fc68dca5590) = 0 +43938902173801:43938902174551 26086:26086 hsa_system_get_info(2, 0x7fc68dca5598) = 0 +43938902175468:43938902176223 26086:26086 hsa_system_get_info(2, 0x7fc68dca55a0) = 0 +43938902178011:43938902178774 26086:26086 hsa_system_get_info(2, 0x7fc68dca55a8) = 0 +43938902179684:43938902180439 26086:26086 hsa_system_get_info(2, 0x7fc68dca55b0) = 0 +43938902181356:43938902182113 26086:26086 hsa_system_get_info(2, 0x7fc68dca55b8) = 0 +43938902183028:43938902183782 26086:26086 hsa_system_get_info(2, 0x7fc68dca55c0) = 0 +43938902184697:43938902185447 26086:26086 hsa_system_get_info(2, 0x7fc68dca55c8) = 0 +43938902186357:43938902187110 26086:26086 hsa_system_get_info(2, 0x7fc68dca55d0) = 0 +43938902188019:43938902188772 26086:26086 hsa_system_get_info(2, 0x7fc68dca55d8) = 0 +43938902189689:43938902190446 26086:26086 hsa_system_get_info(2, 0x7fc68dca55e0) = 0 +43938902191361:43938902192113 26086:26086 hsa_system_get_info(2, 0x7fc68dca55e8) = 0 +43938902193028:43938902193795 26086:26086 hsa_system_get_info(2, 0x7fc68dca55f0) = 0 +43938902194707:43938902195469 26086:26086 hsa_system_get_info(2, 0x7fc68dca55f8) = 0 +43938902196384:43938902197138 26086:26086 hsa_system_get_info(2, 0x7fc68dca5600) = 0 +43938902198050:43938902198807 26086:26086 hsa_system_get_info(2, 0x7fc68dca5608) = 0 +43938902199737:43938902200484 26086:26086 hsa_system_get_info(2, 0x7fc68dca5610) = 0 +43938902201392:43938902202147 26086:26086 hsa_system_get_info(2, 0x7fc68dca5618) = 0 +43938902203074:43938902203820 26086:26086 hsa_system_get_info(2, 0x7fc68dca5620) = 0 +43938902204737:43938902205492 26086:26086 hsa_system_get_info(2, 0x7fc68dca5628) = 0 +43938902206403:43938902207153 26086:26086 hsa_system_get_info(2, 0x7fc68dca5630) = 0 +43938902208064:43938902208820 26086:26086 hsa_system_get_info(2, 0x7fc68dca5638) = 0 +43938902209732:43938902210493 26086:26086 hsa_system_get_info(2, 0x7fc68dca5640) = 0 +43938902211408:43938902212167 26086:26086 hsa_system_get_info(2, 0x7fc68dca5648) = 0 +43938902213080:43938902213831 26086:26086 hsa_system_get_info(2, 0x7fc68dca5650) = 0 +43938902214750:43938902215503 26086:26086 hsa_system_get_info(2, 0x7fc68dca5658) = 0 +43938902216419:43938902217171 26086:26086 hsa_system_get_info(2, 0x7fc68dca5660) = 0 +43938902218089:43938902218842 26086:26086 hsa_system_get_info(2, 0x7fc68dca5668) = 0 +43938902219757:43938902220515 26086:26086 hsa_system_get_info(2, 0x7fc68dca5670) = 0 +43938902221431:43938902222184 26086:26086 hsa_system_get_info(2, 0x7fc68dca5678) = 0 +43938902223098:43938902223852 26086:26086 hsa_system_get_info(2, 0x7fc68dca5680) = 0 +43938902225634:43938902226390 26086:26086 hsa_system_get_info(2, 0x7fc68dca5688) = 0 +43938902227301:43938902228056 26086:26086 hsa_system_get_info(2, 0x7fc68dca5690) = 0 +43938902229004:43938902229758 26086:26086 hsa_system_get_info(2, 0x7fc68dca5698) = 0 +43938902230673:43938902231425 26086:26086 hsa_system_get_info(2, 0x7fc68dca56a0) = 0 +43938902232339:43938902233090 26086:26086 hsa_system_get_info(2, 0x7fc68dca56a8) = 0 +43938902234010:43938902234764 26086:26086 hsa_system_get_info(2, 0x7fc68dca56b0) = 0 +43938902235701:43938902236465 26086:26086 hsa_system_get_info(2, 0x7fc68dca56b8) = 0 +43938902237386:43938902238140 26086:26086 hsa_system_get_info(2, 0x7fc68dca56c0) = 0 +43938902239052:43938902239811 26086:26086 hsa_system_get_info(2, 0x7fc68dca56c8) = 0 +43938902240725:43938902241476 26086:26086 hsa_system_get_info(2, 0x7fc68dca56d0) = 0 +43938902242394:43938902243149 26086:26086 hsa_system_get_info(2, 0x7fc68dca56d8) = 0 +43938902244065:43938902244822 26086:26086 hsa_system_get_info(2, 0x7fc68dca56e0) = 0 +43938902245733:43938902246490 26086:26086 hsa_system_get_info(2, 0x7fc68dca56e8) = 0 +43938902247405:43938902248158 26086:26086 hsa_system_get_info(2, 0x7fc68dca56f0) = 0 +43938902249077:43938902249835 26086:26086 hsa_system_get_info(2, 0x7fc68dca56f8) = 0 +43938902250749:43938902251501 26086:26086 hsa_system_get_info(2, 0x7fc68dca5700) = 0 +43938902252445:43938902253209 26086:26086 hsa_system_get_info(2, 0x7fc68dca5708) = 0 +43938902254126:43938902254883 26086:26086 hsa_system_get_info(2, 0x7fc68dca5710) = 0 +43938902255803:43938902256560 26086:26086 hsa_system_get_info(2, 0x7fc68dca5718) = 0 +43938902257478:43938902258239 26086:26086 hsa_system_get_info(2, 0x7fc68dca5720) = 0 +43938902259157:43938902259904 26086:26086 hsa_system_get_info(2, 0x7fc68dca5728) = 0 +43938902260815:43938902261564 26086:26086 hsa_system_get_info(2, 0x7fc68dca5730) = 0 +43938902262493:43938902263245 26086:26086 hsa_system_get_info(2, 0x7fc68dca5738) = 0 +43938902264155:43938902264904 26086:26086 hsa_system_get_info(2, 0x7fc68dca5740) = 0 +43938902265829:43938902266577 26086:26086 hsa_system_get_info(2, 0x7fc68dca5748) = 0 +43938902267498:43938902268251 26086:26086 hsa_system_get_info(2, 0x7fc68dca5750) = 0 +43938902269168:43938902269919 26086:26086 hsa_system_get_info(2, 0x7fc68dca5758) = 0 +43938902270829:43938902271581 26086:26086 hsa_system_get_info(2, 0x7fc68dca5760) = 0 +43938902272495:43938902273248 26086:26086 hsa_system_get_info(2, 0x7fc68dca5768) = 0 +43938902275012:43938902275769 26086:26086 hsa_system_get_info(2, 0x7fc68dca5770) = 0 +43938902276684:43938902277435 26086:26086 hsa_system_get_info(2, 0x7fc68dca5778) = 0 +43938902278352:43938902279107 26086:26086 hsa_system_get_info(2, 0x7fc68dca5780) = 0 +43938902280022:43938902280773 26086:26086 hsa_system_get_info(2, 0x7fc68dca5788) = 0 +43938902281690:43938902282434 26086:26086 hsa_system_get_info(2, 0x7fc68dca5790) = 0 +43938902283348:43938902284099 26086:26086 hsa_system_get_info(2, 0x7fc68dca5798) = 0 +43938902285017:43938902285774 26086:26086 hsa_system_get_info(2, 0x7fc68dca57a0) = 0 +43938902286687:43938902287434 26086:26086 hsa_system_get_info(2, 0x7fc68dca57a8) = 0 +43938902288345:43938902289096 26086:26086 hsa_system_get_info(2, 0x7fc68dca57b0) = 0 +43938902290012:43938902290770 26086:26086 hsa_system_get_info(2, 0x7fc68dca57b8) = 0 +43938902291682:43938902292435 26086:26086 hsa_system_get_info(2, 0x7fc68dca57c0) = 0 +43938902293350:43938902294103 26086:26086 hsa_system_get_info(2, 0x7fc68dca57c8) = 0 +43938902295018:43938902295776 26086:26086 hsa_system_get_info(2, 0x7fc68dca57d0) = 0 +43938902296712:43938902297475 26086:26086 hsa_system_get_info(2, 0x7fc68dca57d8) = 0 +43938902298391:43938902299149 26086:26086 hsa_system_get_info(2, 0x7fc68dca57e0) = 0 +43938902300068:43938902300822 26086:26086 hsa_system_get_info(2, 0x7fc68dca57e8) = 0 +43938902301739:43938902302489 26086:26086 hsa_system_get_info(2, 0x7fc68dca57f0) = 0 +43938902303402:43938902304159 26086:26086 hsa_system_get_info(2, 0x7fc68dca57f8) = 0 +43938902305089:43938902305843 26086:26086 hsa_system_get_info(2, 0x7fc68dca5800) = 0 +43938902306759:43938902307515 26086:26086 hsa_system_get_info(2, 0x7fc68dca5808) = 0 +43938902308429:43938902309184 26086:26086 hsa_system_get_info(2, 0x7fc68dca5810) = 0 +43938902310091:43938902310842 26086:26086 hsa_system_get_info(2, 0x7fc68dca5818) = 0 +43938902311755:43938902312509 26086:26086 hsa_system_get_info(2, 0x7fc68dca5820) = 0 +43938902313425:43938902314173 26086:26086 hsa_system_get_info(2, 0x7fc68dca5828) = 0 +43938902315086:43938902315833 26086:26086 hsa_system_get_info(2, 0x7fc68dca5830) = 0 +43938902316752:43938902317505 26086:26086 hsa_system_get_info(2, 0x7fc68dca5838) = 0 +43938902318410:43938902319162 26086:26086 hsa_system_get_info(2, 0x7fc68dca5840) = 0 +43938902320076:43938902320827 26086:26086 hsa_system_get_info(2, 0x7fc68dca5848) = 0 +43938902322602:43938902323355 26086:26086 hsa_system_get_info(2, 0x7fc68dca5850) = 0 +43938902324270:43938902325020 26086:26086 hsa_system_get_info(2, 0x7fc68dca5858) = 0 +43938902325936:43938902326687 26086:26086 hsa_system_get_info(2, 0x7fc68dca5860) = 0 +43938902327601:43938902328355 26086:26086 hsa_system_get_info(2, 0x7fc68dca5868) = 0 +43938902329265:43938902330017 26086:26086 hsa_system_get_info(2, 0x7fc68dca5870) = 0 +43938902330933:43938902331686 26086:26086 hsa_system_get_info(2, 0x7fc68dca5878) = 0 +43938902332601:43938902333354 26086:26086 hsa_system_get_info(2, 0x7fc68dca5880) = 0 +43938902334275:43938902335034 26086:26086 hsa_system_get_info(2, 0x7fc68dca5888) = 0 +43938902335946:43938902336703 26086:26086 hsa_system_get_info(2, 0x7fc68dca5890) = 0 +43938902337620:43938902338376 26086:26086 hsa_system_get_info(2, 0x7fc68dca5898) = 0 +43938902339290:43938902340049 26086:26086 hsa_system_get_info(2, 0x7fc68dca58a0) = 0 +43938902340965:43938902341723 26086:26086 hsa_system_get_info(2, 0x7fc68dca58a8) = 0 +43938902342633:43938902343382 26086:26086 hsa_system_get_info(2, 0x7fc68dca58b0) = 0 +43938902344296:43938902345057 26086:26086 hsa_system_get_info(2, 0x7fc68dca58b8) = 0 +43938902345985:43938902346743 26086:26086 hsa_system_get_info(2, 0x7fc68dca58c0) = 0 +43938902347653:43938902348412 26086:26086 hsa_system_get_info(2, 0x7fc68dca58c8) = 0 +43938902349331:43938902350094 26086:26086 hsa_system_get_info(2, 0x7fc68dca58d0) = 0 +43938902351009:43938902351773 26086:26086 hsa_system_get_info(2, 0x7fc68dca58d8) = 0 +43938902352690:43938902353454 26086:26086 hsa_system_get_info(2, 0x7fc68dca58e0) = 0 +43938902354374:43938902355121 26086:26086 hsa_system_get_info(2, 0x7fc68dca58e8) = 0 +43938902356033:43938902356788 26086:26086 hsa_system_get_info(2, 0x7fc68dca58f0) = 0 +43938902357701:43938902358456 26086:26086 hsa_system_get_info(2, 0x7fc68dca58f8) = 0 +43938902359369:43938902360121 26086:26086 hsa_system_get_info(2, 0x7fc68dca5900) = 0 +43938902361036:43938902361791 26086:26086 hsa_system_get_info(2, 0x7fc68dca5908) = 0 +43938902362706:43938902363467 26086:26086 hsa_system_get_info(2, 0x7fc68dca5910) = 0 +43938902364389:43938902365144 26086:26086 hsa_system_get_info(2, 0x7fc68dca5918) = 0 +43938902366065:43938902366826 26086:26086 hsa_system_get_info(2, 0x7fc68dca5920) = 0 +43938902367745:43938902368505 26086:26086 hsa_system_get_info(2, 0x7fc68dca5928) = 0 +43938902369439:43938902370191 26086:26086 hsa_system_get_info(2, 0x7fc68dca5930) = 0 +43938902372044:43938902372812 26086:26086 hsa_system_get_info(2, 0x7fc68dca5938) = 0 +43938902373728:43938902374476 26086:26086 hsa_system_get_info(2, 0x7fc68dca5940) = 0 +43938902375390:43938902376141 26086:26086 hsa_system_get_info(2, 0x7fc68dca5948) = 0 +43938902377058:43938902377811 26086:26086 hsa_system_get_info(2, 0x7fc68dca5950) = 0 +43938902378726:43938902379479 26086:26086 hsa_system_get_info(2, 0x7fc68dca5958) = 0 +43938902380391:43938902381150 26086:26086 hsa_system_get_info(2, 0x7fc68dca5960) = 0 +43938902382064:43938902382817 26086:26086 hsa_system_get_info(2, 0x7fc68dca5968) = 0 +43938902383732:43938902384491 26086:26086 hsa_system_get_info(2, 0x7fc68dca5970) = 0 +43938902385409:43938902386167 26086:26086 hsa_system_get_info(2, 0x7fc68dca5978) = 0 +43938902387083:43938902387837 26086:26086 hsa_system_get_info(2, 0x7fc68dca5980) = 0 +43938902388754:43938902389510 26086:26086 hsa_system_get_info(2, 0x7fc68dca5988) = 0 +43938902390421:43938902391174 26086:26086 hsa_system_get_info(2, 0x7fc68dca5990) = 0 +43938902392093:43938902392874 26086:26086 hsa_system_get_info(2, 0x7fc68dca5998) = 0 +43938902393783:43938902394534 26086:26086 hsa_system_get_info(2, 0x7fc68dca59a0) = 0 +43938902395447:43938902396199 26086:26086 hsa_system_get_info(2, 0x7fc68dca59a8) = 0 +43938902397112:43938902397866 26086:26086 hsa_system_get_info(2, 0x7fc68dca59b0) = 0 +43938902398782:43938902399535 26086:26086 hsa_system_get_info(2, 0x7fc68dca59b8) = 0 +43938902400449:43938902401206 26086:26086 hsa_system_get_info(2, 0x7fc68dca59c0) = 0 +43938902402120:43938902402869 26086:26086 hsa_system_get_info(2, 0x7fc68dca59c8) = 0 +43938902403780:43938902404534 26086:26086 hsa_system_get_info(2, 0x7fc68dca59d0) = 0 +43938902405446:43938902406200 26086:26086 hsa_system_get_info(2, 0x7fc68dca59d8) = 0 +43938902407107:43938902407870 26086:26086 hsa_system_get_info(2, 0x7fc68dca59e0) = 0 +43938902408787:43938902409548 26086:26086 hsa_system_get_info(2, 0x7fc68dca59e8) = 0 +43938902410479:43938902411230 26086:26086 hsa_system_get_info(2, 0x7fc68dca59f0) = 0 +43938902412164:43938902412920 26086:26086 hsa_system_get_info(2, 0x7fc68dca59f8) = 0 +43938902413831:43938902414590 26086:26086 hsa_system_get_info(2, 0x7fc68dca5a00) = 0 +43938902415527:43938902416284 26086:26086 hsa_system_get_info(2, 0x7fc68dca5a08) = 0 +43938902417214:43938902417974 26086:26086 hsa_system_get_info(2, 0x7fc68dca5a10) = 0 +43938902419712:43938902420473 26086:26086 hsa_system_get_info(2, 0x7fc68dca5a18) = 0 +43938902421391:43938902422150 26086:26086 hsa_system_get_info(2, 0x7fc68dca5a20) = 0 +43938902423063:43938902423820 26086:26086 hsa_system_get_info(2, 0x7fc68dca5a28) = 0 +43938902424739:43938902425496 26086:26086 hsa_system_get_info(2, 0x7fc68dca5a30) = 0 +43938902426411:43938902427171 26086:26086 hsa_system_get_info(2, 0x7fc68dca5a38) = 0 +43938902428082:43938902428838 26086:26086 hsa_system_get_info(2, 0x7fc68dca5a40) = 0 +43938902429755:43938902430513 26086:26086 hsa_system_get_info(2, 0x7fc68dca5a48) = 0 +43938902431424:43938902432178 26086:26086 hsa_system_get_info(2, 0x7fc68dca5a50) = 0 +43938902433091:43938902433840 26086:26086 hsa_system_get_info(2, 0x7fc68dca5a58) = 0 +43938902434756:43938902435512 26086:26086 hsa_system_get_info(2, 0x7fc68dca5a60) = 0 +43938902436424:43938902437179 26086:26086 hsa_system_get_info(2, 0x7fc68dca5a68) = 0 +43938902438098:43938902438860 26086:26086 hsa_system_get_info(2, 0x7fc68dca5a70) = 0 +43938902439770:43938902440527 26086:26086 hsa_system_get_info(2, 0x7fc68dca5a78) = 0 +43938902441459:43938902442216 26086:26086 hsa_system_get_info(2, 0x7fc68dca5a80) = 0 +43938902443126:43938902443881 26086:26086 hsa_system_get_info(2, 0x7fc68dca5a88) = 0 +43938902444795:43938902445550 26086:26086 hsa_system_get_info(2, 0x7fc68dca5a90) = 0 +43938902446461:43938902447208 26086:26086 hsa_system_get_info(2, 0x7fc68dca5a98) = 0 +43938902448124:43938902448881 26086:26086 hsa_system_get_info(2, 0x7fc68dca5aa0) = 0 +43938902449796:43938902450553 26086:26086 hsa_system_get_info(2, 0x7fc68dca5aa8) = 0 +43938902451485:43938902452236 26086:26086 hsa_system_get_info(2, 0x7fc68dca5ab0) = 0 +43938902453152:43938902453903 26086:26086 hsa_system_get_info(2, 0x7fc68dca5ab8) = 0 +43938902454816:43938902455572 26086:26086 hsa_system_get_info(2, 0x7fc68dca5ac0) = 0 +43938902456484:43938902457240 26086:26086 hsa_system_get_info(2, 0x7fc68dca5ac8) = 0 +43938902458157:43938902458916 26086:26086 hsa_system_get_info(2, 0x7fc68dca5ad0) = 0 +43938902459835:43938902460586 26086:26086 hsa_system_get_info(2, 0x7fc68dca5ad8) = 0 +43938902461508:43938902462263 26086:26086 hsa_system_get_info(2, 0x7fc68dca5ae0) = 0 +43938902463180:43938902463937 26086:26086 hsa_system_get_info(2, 0x7fc68dca5ae8) = 0 +43938902464853:43938902465605 26086:26086 hsa_system_get_info(2, 0x7fc68dca5af0) = 0 +43938902466524:43938902467286 26086:26086 hsa_system_get_info(2, 0x7fc68dca5af8) = 0 +43938902469804:43938902470569 26086:26086 hsa_system_get_info(2, 0x7fc68dca5b00) = 0 +43938902471507:43938902472263 26086:26086 hsa_system_get_info(2, 0x7fc68dca5b08) = 0 +43938902473186:43938902473935 26086:26086 hsa_system_get_info(2, 0x7fc68dca5b10) = 0 +43938902474850:43938902475605 26086:26086 hsa_system_get_info(2, 0x7fc68dca5b18) = 0 +43938902476517:43938902477276 26086:26086 hsa_system_get_info(2, 0x7fc68dca5b20) = 0 +43938902478185:43938902478943 26086:26086 hsa_system_get_info(2, 0x7fc68dca5b28) = 0 +43938902479859:43938902480606 26086:26086 hsa_system_get_info(2, 0x7fc68dca5b30) = 0 +43938902481520:43938902482272 26086:26086 hsa_system_get_info(2, 0x7fc68dca5b38) = 0 +43938902483188:43938902483940 26086:26086 hsa_system_get_info(2, 0x7fc68dca5b40) = 0 +43938902484856:43938902485611 26086:26086 hsa_system_get_info(2, 0x7fc68dca5b48) = 0 +43938902486525:43938902487283 26086:26086 hsa_system_get_info(2, 0x7fc68dca5b50) = 0 +43938902488195:43938902488948 26086:26086 hsa_system_get_info(2, 0x7fc68dca5b58) = 0 +43938902489866:43938902490623 26086:26086 hsa_system_get_info(2, 0x7fc68dca5b60) = 0 +43938902491536:43938902492280 26086:26086 hsa_system_get_info(2, 0x7fc68dca5b68) = 0 +43938902493196:43938902493971 26086:26086 hsa_system_get_info(2, 0x7fc68dca5b70) = 0 +43938902494880:43938902495633 26086:26086 hsa_system_get_info(2, 0x7fc68dca5b78) = 0 +43938902496549:43938902497306 26086:26086 hsa_system_get_info(2, 0x7fc68dca5b80) = 0 +43938902498220:43938902498973 26086:26086 hsa_system_get_info(2, 0x7fc68dca5b88) = 0 +43938902499885:43938902500643 26086:26086 hsa_system_get_info(2, 0x7fc68dca5b90) = 0 +43938902501558:43938902502315 26086:26086 hsa_system_get_info(2, 0x7fc68dca5b98) = 0 +43938902503231:43938902503981 26086:26086 hsa_system_get_info(2, 0x7fc68dca5ba0) = 0 +43938902504893:43938902505642 26086:26086 hsa_system_get_info(2, 0x7fc68dca5ba8) = 0 +43938902506560:43938902507312 26086:26086 hsa_system_get_info(2, 0x7fc68dca5bb0) = 0 +43938902508236:43938902508990 26086:26086 hsa_system_get_info(2, 0x7fc68dca5bb8) = 0 +43938902509926:43938902510681 26086:26086 hsa_system_get_info(2, 0x7fc68dca5bc0) = 0 +43938902511596:43938902512347 26086:26086 hsa_system_get_info(2, 0x7fc68dca5bc8) = 0 +43938902513259:43938902514012 26086:26086 hsa_system_get_info(2, 0x7fc68dca5bd0) = 0 +43938902514929:43938902515686 26086:26086 hsa_system_get_info(2, 0x7fc68dca5bd8) = 0 +43938902519062:43938902519837 26086:26086 hsa_system_get_info(2, 0x7fc68dca5be0) = 0 +43938902520757:43938902521520 26086:26086 hsa_system_get_info(2, 0x7fc68dca5be8) = 0 +43938902522436:43938902523198 26086:26086 hsa_system_get_info(2, 0x7fc68dca5bf0) = 0 +43938902524113:43938902524869 26086:26086 hsa_system_get_info(2, 0x7fc68dca5bf8) = 0 +43938902525790:43938902526549 26086:26086 hsa_system_get_info(2, 0x7fc68dca5c00) = 0 +43938902527459:43938902528213 26086:26086 hsa_system_get_info(2, 0x7fc68dca5c08) = 0 +43938902529126:43938902529880 26086:26086 hsa_system_get_info(2, 0x7fc68dca5c10) = 0 +43938902530795:43938902531554 26086:26086 hsa_system_get_info(2, 0x7fc68dca5c18) = 0 +43938902532469:43938902533223 26086:26086 hsa_system_get_info(2, 0x7fc68dca5c20) = 0 +43938902534141:43938902534897 26086:26086 hsa_system_get_info(2, 0x7fc68dca5c28) = 0 +43938902535809:43938902536559 26086:26086 hsa_system_get_info(2, 0x7fc68dca5c30) = 0 +43938902537475:43938902538233 26086:26086 hsa_system_get_info(2, 0x7fc68dca5c38) = 0 +43938902539145:43938902539914 26086:26086 hsa_system_get_info(2, 0x7fc68dca5c40) = 0 +43938902540826:43938902541614 26086:26086 hsa_system_get_info(2, 0x7fc68dca5c48) = 0 +43938902542529:43938902543282 26086:26086 hsa_system_get_info(2, 0x7fc68dca5c50) = 0 +43938902544196:43938902544948 26086:26086 hsa_system_get_info(2, 0x7fc68dca5c58) = 0 +43938902545860:43938902546617 26086:26086 hsa_system_get_info(2, 0x7fc68dca5c60) = 0 +43938902547534:43938902548291 26086:26086 hsa_system_get_info(2, 0x7fc68dca5c68) = 0 +43938902549212:43938902549976 26086:26086 hsa_system_get_info(2, 0x7fc68dca5c70) = 0 +43938902550895:43938902551658 26086:26086 hsa_system_get_info(2, 0x7fc68dca5c78) = 0 +43938902552575:43938902553330 26086:26086 hsa_system_get_info(2, 0x7fc68dca5c80) = 0 +43938902554248:43938902555009 26086:26086 hsa_system_get_info(2, 0x7fc68dca5c88) = 0 +43938902555927:43938902556676 26086:26086 hsa_system_get_info(2, 0x7fc68dca5c90) = 0 +43938902557591:43938902558344 26086:26086 hsa_system_get_info(2, 0x7fc68dca5c98) = 0 +43938902559258:43938902560010 26086:26086 hsa_system_get_info(2, 0x7fc68dca5ca0) = 0 +43938902560929:43938902561678 26086:26086 hsa_system_get_info(2, 0x7fc68dca5ca8) = 0 +43938902562595:43938902563347 26086:26086 hsa_system_get_info(2, 0x7fc68dca5cb0) = 0 +43938902564262:43938902565035 26086:26086 hsa_system_get_info(2, 0x7fc68dca5cb8) = 0 +43938902565958:43938902566717 26086:26086 hsa_system_get_info(2, 0x7fc68dca5cc0) = 0 +43938902568506:43938902569266 26086:26086 hsa_system_get_info(2, 0x7fc68dca5cc8) = 0 +43938902570184:43938902570938 26086:26086 hsa_system_get_info(2, 0x7fc68dca5cd0) = 0 +43938902571858:43938902572613 26086:26086 hsa_system_get_info(2, 0x7fc68dca5cd8) = 0 +43938902573533:43938902574286 26086:26086 hsa_system_get_info(2, 0x7fc68dca5ce0) = 0 +43938902575203:43938902575952 26086:26086 hsa_system_get_info(2, 0x7fc68dca5ce8) = 0 +43938902576871:43938902577630 26086:26086 hsa_system_get_info(2, 0x7fc68dca5cf0) = 0 +43938902578543:43938902579296 26086:26086 hsa_system_get_info(2, 0x7fc68dca5cf8) = 0 +43938902580207:43938902580962 26086:26086 hsa_system_get_info(2, 0x7fc68dca5d00) = 0 +43938902581875:43938902582634 26086:26086 hsa_system_get_info(2, 0x7fc68dca5d08) = 0 +43938902583548:43938902584299 26086:26086 hsa_system_get_info(2, 0x7fc68dca5d10) = 0 +43938902585210:43938902585967 26086:26086 hsa_system_get_info(2, 0x7fc68dca5d18) = 0 +43938902586881:43938902587633 26086:26086 hsa_system_get_info(2, 0x7fc68dca5d20) = 0 +43938902588563:43938902589322 26086:26086 hsa_system_get_info(2, 0x7fc68dca5d28) = 0 +43938902590237:43938902590991 26086:26086 hsa_system_get_info(2, 0x7fc68dca5d30) = 0 +43938902591904:43938902592648 26086:26086 hsa_system_get_info(2, 0x7fc68dca5d38) = 0 +43938902593564:43938902594318 26086:26086 hsa_system_get_info(2, 0x7fc68dca5d40) = 0 +43938902595229:43938902595987 26086:26086 hsa_system_get_info(2, 0x7fc68dca5d48) = 0 +43938902596897:43938902597657 26086:26086 hsa_system_get_info(2, 0x7fc68dca5d50) = 0 +43938902598590:43938902599354 26086:26086 hsa_system_get_info(2, 0x7fc68dca5d58) = 0 +43938902600268:43938902601023 26086:26086 hsa_system_get_info(2, 0x7fc68dca5d60) = 0 +43938902601935:43938902602696 26086:26086 hsa_system_get_info(2, 0x7fc68dca5d68) = 0 +43938902603609:43938902604366 26086:26086 hsa_system_get_info(2, 0x7fc68dca5d70) = 0 +43938902605281:43938902606032 26086:26086 hsa_system_get_info(2, 0x7fc68dca5d78) = 0 +43938902606962:43938902607711 26086:26086 hsa_system_get_info(2, 0x7fc68dca5d80) = 0 +43938902608640:43938902609386 26086:26086 hsa_system_get_info(2, 0x7fc68dca5d88) = 0 +43938902610304:43938902611060 26086:26086 hsa_system_get_info(2, 0x7fc68dca5d90) = 0 +43938902611978:43938902612735 26086:26086 hsa_system_get_info(2, 0x7fc68dca5d98) = 0 +43938902613651:43938902614402 26086:26086 hsa_system_get_info(2, 0x7fc68dca5da0) = 0 +43938902616262:43938902617023 26086:26086 hsa_system_get_info(2, 0x7fc68dca5da8) = 0 +43938902617945:43938902618700 26086:26086 hsa_system_get_info(2, 0x7fc68dca5db0) = 0 +43938902619619:43938902620368 26086:26086 hsa_system_get_info(2, 0x7fc68dca5db8) = 0 +43938902621289:43938902622046 26086:26086 hsa_system_get_info(2, 0x7fc68dca5dc0) = 0 +43938902622968:43938902623731 26086:26086 hsa_system_get_info(2, 0x7fc68dca5dc8) = 0 +43938902624661:43938902625413 26086:26086 hsa_system_get_info(2, 0x7fc68dca5dd0) = 0 +43938902626326:43938902627074 26086:26086 hsa_system_get_info(2, 0x7fc68dca5dd8) = 0 +43938902627993:43938902628750 26086:26086 hsa_system_get_info(2, 0x7fc68dca5de0) = 0 +43938902629665:43938902630419 26086:26086 hsa_system_get_info(2, 0x7fc68dca5de8) = 0 +43938902631335:43938902632091 26086:26086 hsa_system_get_info(2, 0x7fc68dca5df0) = 0 +43938902633001:43938902633755 26086:26086 hsa_system_get_info(2, 0x7fc68dca5df8) = 0 +43938902634671:43938902635425 26086:26086 hsa_system_get_info(2, 0x7fc68dca5e00) = 0 +43938902636344:43938902637106 26086:26086 hsa_system_get_info(2, 0x7fc68dca5e08) = 0 +43938902638023:43938902638773 26086:26086 hsa_system_get_info(2, 0x7fc68dca5e10) = 0 +43938902639685:43938902640435 26086:26086 hsa_system_get_info(2, 0x7fc68dca5e18) = 0 +43938902641348:43938902642102 26086:26086 hsa_system_get_info(2, 0x7fc68dca5e20) = 0 +43938902643015:43938902643765 26086:26086 hsa_system_get_info(2, 0x7fc68dca5e28) = 0 +43938902644678:43938902645437 26086:26086 hsa_system_get_info(2, 0x7fc68dca5e30) = 0 +43938902646365:43938902647117 26086:26086 hsa_system_get_info(2, 0x7fc68dca5e38) = 0 +43938902648032:43938902648792 26086:26086 hsa_system_get_info(2, 0x7fc68dca5e40) = 0 +43938902649712:43938902650466 26086:26086 hsa_system_get_info(2, 0x7fc68dca5e48) = 0 +43938902651384:43938902652143 26086:26086 hsa_system_get_info(2, 0x7fc68dca5e50) = 0 +43938902653062:43938902653819 26086:26086 hsa_system_get_info(2, 0x7fc68dca5e58) = 0 +43938902654748:43938902655503 26086:26086 hsa_system_get_info(2, 0x7fc68dca5e60) = 0 +43938902656415:43938902657171 26086:26086 hsa_system_get_info(2, 0x7fc68dca5e68) = 0 +43938902658092:43938902658846 26086:26086 hsa_system_get_info(2, 0x7fc68dca5e70) = 0 +43938902659761:43938902660512 26086:26086 hsa_system_get_info(2, 0x7fc68dca5e78) = 0 +43938902661423:43938902662173 26086:26086 hsa_system_get_info(2, 0x7fc68dca5e80) = 0 +43938902663924:43938902664680 26086:26086 hsa_system_get_info(2, 0x7fc68dca5e88) = 0 +43938902665593:43938902666347 26086:26086 hsa_system_get_info(2, 0x7fc68dca5e90) = 0 +43938902667256:43938902668015 26086:26086 hsa_system_get_info(2, 0x7fc68dca5e98) = 0 +43938902668930:43938902669684 26086:26086 hsa_system_get_info(2, 0x7fc68dca5ea0) = 0 +43938902670604:43938902671362 26086:26086 hsa_system_get_info(2, 0x7fc68dca5ea8) = 0 +43938902672278:43938902673034 26086:26086 hsa_system_get_info(2, 0x7fc68dca5eb0) = 0 +43938902673949:43938902674702 26086:26086 hsa_system_get_info(2, 0x7fc68dca5eb8) = 0 +43938902675616:43938902676372 26086:26086 hsa_system_get_info(2, 0x7fc68dca5ec0) = 0 +43938902677288:43938902678047 26086:26086 hsa_system_get_info(2, 0x7fc68dca5ec8) = 0 +43938902678962:43938902679720 26086:26086 hsa_system_get_info(2, 0x7fc68dca5ed0) = 0 +43938902680636:43938902681384 26086:26086 hsa_system_get_info(2, 0x7fc68dca5ed8) = 0 +43938902682301:43938902683050 26086:26086 hsa_system_get_info(2, 0x7fc68dca5ee0) = 0 +43938902683995:43938902684745 26086:26086 hsa_system_get_info(2, 0x7fc68dca5ee8) = 0 +43938902685659:43938902686415 26086:26086 hsa_system_get_info(2, 0x7fc68dca5ef0) = 0 +43938902687335:43938902688088 26086:26086 hsa_system_get_info(2, 0x7fc68dca5ef8) = 0 +43938902689002:43938902689759 26086:26086 hsa_system_get_info(2, 0x7fc68dca5f00) = 0 +43938902690698:43938902691457 26086:26086 hsa_system_get_info(2, 0x7fc68dca5f08) = 0 +43938902692372:43938902693125 26086:26086 hsa_system_get_info(2, 0x7fc68dca5f10) = 0 +43938902694043:43938902694796 26086:26086 hsa_system_get_info(2, 0x7fc68dca5f18) = 0 +43938902695711:43938902696463 26086:26086 hsa_system_get_info(2, 0x7fc68dca5f20) = 0 +43938902697377:43938902698129 26086:26086 hsa_system_get_info(2, 0x7fc68dca5f28) = 0 +43938902699046:43938902699797 26086:26086 hsa_system_get_info(2, 0x7fc68dca5f30) = 0 +43938902700709:43938902701455 26086:26086 hsa_system_get_info(2, 0x7fc68dca5f38) = 0 +43938902702369:43938902703121 26086:26086 hsa_system_get_info(2, 0x7fc68dca5f40) = 0 +43938902704050:43938902704808 26086:26086 hsa_system_get_info(2, 0x7fc68dca5f48) = 0 +43938902705727:43938902706480 26086:26086 hsa_system_get_info(2, 0x7fc68dca5f50) = 0 +43938902707395:43938902708153 26086:26086 hsa_system_get_info(2, 0x7fc68dca5f58) = 0 +43938902709070:43938902709825 26086:26086 hsa_system_get_info(2, 0x7fc68dca5f60) = 0 +43938902710739:43938902711491 26086:26086 hsa_system_get_info(2, 0x7fc68dca5f68) = 0 +43938902713246:43938902714001 26086:26086 hsa_system_get_info(2, 0x7fc68dca5f70) = 0 +43938902714915:43938902715664 26086:26086 hsa_system_get_info(2, 0x7fc68dca5f78) = 0 +43938902716578:43938902717334 26086:26086 hsa_system_get_info(2, 0x7fc68dca5f80) = 0 +43938902718279:43938902719031 26086:26086 hsa_system_get_info(2, 0x7fc68dca5f88) = 0 +43938902719946:43938902720705 26086:26086 hsa_system_get_info(2, 0x7fc68dca5f90) = 0 +43938902721621:43938902722371 26086:26086 hsa_system_get_info(2, 0x7fc68dca5f98) = 0 +43938902723289:43938902724045 26086:26086 hsa_system_get_info(2, 0x7fc68dca5fa0) = 0 +43938902724958:43938902725718 26086:26086 hsa_system_get_info(2, 0x7fc68dca5fa8) = 0 +43938902726636:43938902727390 26086:26086 hsa_system_get_info(2, 0x7fc68dca5fb0) = 0 +43938902728307:43938902729055 26086:26086 hsa_system_get_info(2, 0x7fc68dca5fb8) = 0 +43938902729967:43938902730722 26086:26086 hsa_system_get_info(2, 0x7fc68dca5fc0) = 0 +43938902731640:43938902732396 26086:26086 hsa_system_get_info(2, 0x7fc68dca5fc8) = 0 +43938902733310:43938902734069 26086:26086 hsa_system_get_info(2, 0x7fc68dca5fd0) = 0 +43938902734984:43938902735745 26086:26086 hsa_system_get_info(2, 0x7fc68dca5fd8) = 0 +43938902736654:43938902737414 26086:26086 hsa_system_get_info(2, 0x7fc68dca5fe0) = 0 +43938902738331:43938902739082 26086:26086 hsa_system_get_info(2, 0x7fc68dca5fe8) = 0 +43938902739998:43938902740749 26086:26086 hsa_system_get_info(2, 0x7fc68dca5ff0) = 0 +43938902741672:43938902742428 26086:26086 hsa_system_get_info(2, 0x7fc68dca5ff8) = 0 +43938902743339:43938902744097 26086:26086 hsa_system_get_info(2, 0x7fc68dca6000) = 0 +43938902745011:43938902745768 26086:26086 hsa_system_get_info(2, 0x7fc68dca6008) = 0 +43938902746683:43938902747446 26086:26086 hsa_system_get_info(2, 0x7fc68dca6010) = 0 +43938902748356:43938902749113 26086:26086 hsa_system_get_info(2, 0x7fc68dca6018) = 0 +43938902750026:43938902750782 26086:26086 hsa_system_get_info(2, 0x7fc68dca6020) = 0 +43938902751698:43938902752456 26086:26086 hsa_system_get_info(2, 0x7fc68dca6028) = 0 +43938902753371:43938902754127 26086:26086 hsa_system_get_info(2, 0x7fc68dca6030) = 0 +43938902755048:43938902755807 26086:26086 hsa_system_get_info(2, 0x7fc68dca6038) = 0 +43938902756723:43938902757482 26086:26086 hsa_system_get_info(2, 0x7fc68dca6040) = 0 +43938902758392:43938902759149 26086:26086 hsa_system_get_info(2, 0x7fc68dca6048) = 0 +43938902760891:43938902761646 26086:26086 hsa_system_get_info(2, 0x7fc68dca6050) = 0 +43938902762563:43938902763313 26086:26086 hsa_system_get_info(2, 0x7fc68dca6058) = 0 +43938902764228:43938902764983 26086:26086 hsa_system_get_info(2, 0x7fc68dca6060) = 0 +43938902765900:43938902766652 26086:26086 hsa_system_get_info(2, 0x7fc68dca6068) = 0 +43938902767567:43938902768317 26086:26086 hsa_system_get_info(2, 0x7fc68dca6070) = 0 +43938902769231:43938902769983 26086:26086 hsa_system_get_info(2, 0x7fc68dca6078) = 0 +43938902770902:43938902771655 26086:26086 hsa_system_get_info(2, 0x7fc68dca6080) = 0 +43938902772572:43938902773330 26086:26086 hsa_system_get_info(2, 0x7fc68dca6088) = 0 +43938902774239:43938902774998 26086:26086 hsa_system_get_info(2, 0x7fc68dca6090) = 0 +43938902775915:43938902776678 26086:26086 hsa_system_get_info(2, 0x7fc68dca6098) = 0 +43938902777600:43938902778359 26086:26086 hsa_system_get_info(2, 0x7fc68dca60a0) = 0 +43938902779274:43938902780037 26086:26086 hsa_system_get_info(2, 0x7fc68dca60a8) = 0 +43938902780953:43938902781711 26086:26086 hsa_system_get_info(2, 0x7fc68dca60b0) = 0 +43938902782643:43938902783401 26086:26086 hsa_system_get_info(2, 0x7fc68dca60b8) = 0 +43938902784313:43938902785066 26086:26086 hsa_system_get_info(2, 0x7fc68dca60c0) = 0 +43938902785981:43938902786738 26086:26086 hsa_system_get_info(2, 0x7fc68dca60c8) = 0 +43938902787654:43938902788410 26086:26086 hsa_system_get_info(2, 0x7fc68dca60d0) = 0 +43938902789320:43938902790076 26086:26086 hsa_system_get_info(2, 0x7fc68dca60d8) = 0 +43938902791008:43938902791766 26086:26086 hsa_system_get_info(2, 0x7fc68dca60e0) = 0 +43938902792680:43938902793434 26086:26086 hsa_system_get_info(2, 0x7fc68dca60e8) = 0 +43938902794351:43938902795101 26086:26086 hsa_system_get_info(2, 0x7fc68dca60f0) = 0 +43938902796008:43938902796764 26086:26086 hsa_system_get_info(2, 0x7fc68dca60f8) = 0 +43938902797675:43938902798431 26086:26086 hsa_system_get_info(2, 0x7fc68dca6100) = 0 +43938902799342:43938902800091 26086:26086 hsa_system_get_info(2, 0x7fc68dca6108) = 0 +43938902801008:43938902801767 26086:26086 hsa_system_get_info(2, 0x7fc68dca6110) = 0 +43938902802685:43938902803442 26086:26086 hsa_system_get_info(2, 0x7fc68dca6118) = 0 +43938902804356:43938902805122 26086:26086 hsa_system_get_info(2, 0x7fc68dca6120) = 0 +43938902806038:43938902806794 26086:26086 hsa_system_get_info(2, 0x7fc68dca6128) = 0 +43938902807710:43938902808466 26086:26086 hsa_system_get_info(2, 0x7fc68dca6130) = 0 +43938902810232:43938902810988 26086:26086 hsa_system_get_info(2, 0x7fc68dca6138) = 0 +43938902811896:43938902812649 26086:26086 hsa_system_get_info(2, 0x7fc68dca6140) = 0 +43938902813572:43938902814333 26086:26086 hsa_system_get_info(2, 0x7fc68dca6148) = 0 +43938902815250:43938902816001 26086:26086 hsa_system_get_info(2, 0x7fc68dca6150) = 0 +43938902816917:43938902817673 26086:26086 hsa_system_get_info(2, 0x7fc68dca6158) = 0 +43938902818586:43938902819344 26086:26086 hsa_system_get_info(2, 0x7fc68dca6160) = 0 +43938902820260:43938902821007 26086:26086 hsa_system_get_info(2, 0x7fc68dca6168) = 0 +43938902821917:43938902822661 26086:26086 hsa_system_get_info(2, 0x7fc68dca6170) = 0 +43938902823573:43938902824328 26086:26086 hsa_system_get_info(2, 0x7fc68dca6178) = 0 +43938902825242:43938902825997 26086:26086 hsa_system_get_info(2, 0x7fc68dca6180) = 0 +43938902826908:43938902827664 26086:26086 hsa_system_get_info(2, 0x7fc68dca6188) = 0 +43938902828577:43938902829333 26086:26086 hsa_system_get_info(2, 0x7fc68dca6190) = 0 +43938902830250:43938902830995 26086:26086 hsa_system_get_info(2, 0x7fc68dca6198) = 0 +43938902831927:43938902832681 26086:26086 hsa_system_get_info(2, 0x7fc68dca61a0) = 0 +43938902833593:43938902834349 26086:26086 hsa_system_get_info(2, 0x7fc68dca61a8) = 0 +43938902835261:43938902836014 26086:26086 hsa_system_get_info(2, 0x7fc68dca61b0) = 0 +43938902836934:43938902837685 26086:26086 hsa_system_get_info(2, 0x7fc68dca61b8) = 0 +43938902838597:43938902839348 26086:26086 hsa_system_get_info(2, 0x7fc68dca61c0) = 0 +43938902840265:43938902841016 26086:26086 hsa_system_get_info(2, 0x7fc68dca61c8) = 0 +43938902841928:43938902842677 26086:26086 hsa_system_get_info(2, 0x7fc68dca61d0) = 0 +43938902843592:43938902844349 26086:26086 hsa_system_get_info(2, 0x7fc68dca61d8) = 0 +43938902845264:43938902846019 26086:26086 hsa_system_get_info(2, 0x7fc68dca61e0) = 0 +43938902846937:43938902847696 26086:26086 hsa_system_get_info(2, 0x7fc68dca61e8) = 0 +43938902848624:43938902849379 26086:26086 hsa_system_get_info(2, 0x7fc68dca61f0) = 0 +43938902850330:43938902851081 26086:26086 hsa_system_get_info(2, 0x7fc68dca61f8) = 0 +43938902852013:43938902852765 26086:26086 hsa_system_get_info(2, 0x7fc68dca6200) = 0 +43938902853677:43938902854424 26086:26086 hsa_system_get_info(2, 0x7fc68dca6208) = 0 +43938902855337:43938902856083 26086:26086 hsa_system_get_info(2, 0x7fc68dca6210) = 0 +43938902857843:43938902858599 26086:26086 hsa_system_get_info(2, 0x7fc68dca6218) = 0 +43938902859516:43938902860270 26086:26086 hsa_system_get_info(2, 0x7fc68dca6220) = 0 +43938902861183:43938902861924 26086:26086 hsa_system_get_info(2, 0x7fc68dca6228) = 0 +43938902862835:43938902863589 26086:26086 hsa_system_get_info(2, 0x7fc68dca6230) = 0 +43938902864508:43938902865252 26086:26086 hsa_system_get_info(2, 0x7fc68dca6238) = 0 +43938902866167:43938902866923 26086:26086 hsa_system_get_info(2, 0x7fc68dca6240) = 0 +43938902867843:43938902868595 26086:26086 hsa_system_get_info(2, 0x7fc68dca6248) = 0 +43938902869510:43938902870269 26086:26086 hsa_system_get_info(2, 0x7fc68dca6250) = 0 +43938902871186:43938902871947 26086:26086 hsa_system_get_info(2, 0x7fc68dca6258) = 0 +43938902872859:43938902873616 26086:26086 hsa_system_get_info(2, 0x7fc68dca6260) = 0 +43938902874531:43938902875288 26086:26086 hsa_system_get_info(2, 0x7fc68dca6268) = 0 +43938902876202:43938902876958 26086:26086 hsa_system_get_info(2, 0x7fc68dca6270) = 0 +43938902877869:43938902878618 26086:26086 hsa_system_get_info(2, 0x7fc68dca6278) = 0 +43938902879547:43938902880297 26086:26086 hsa_system_get_info(2, 0x7fc68dca6280) = 0 +43938902881210:43938902881963 26086:26086 hsa_system_get_info(2, 0x7fc68dca6288) = 0 +43938902882875:43938902883623 26086:26086 hsa_system_get_info(2, 0x7fc68dca6290) = 0 +43938902884541:43938902885293 26086:26086 hsa_system_get_info(2, 0x7fc68dca6298) = 0 +43938902886207:43938902886963 26086:26086 hsa_system_get_info(2, 0x7fc68dca62a0) = 0 +43938902887873:43938902888624 26086:26086 hsa_system_get_info(2, 0x7fc68dca62a8) = 0 +43938902889540:43938902890293 26086:26086 hsa_system_get_info(2, 0x7fc68dca62b0) = 0 +43938902891205:43938902891962 26086:26086 hsa_system_get_info(2, 0x7fc68dca62b8) = 0 +43938902892895:43938902893650 26086:26086 hsa_system_get_info(2, 0x7fc68dca62c0) = 0 +43938902894565:43938902895323 26086:26086 hsa_system_get_info(2, 0x7fc68dca62c8) = 0 +43938902896241:43938902897004 26086:26086 hsa_system_get_info(2, 0x7fc68dca62d0) = 0 +43938902897920:43938902898669 26086:26086 hsa_system_get_info(2, 0x7fc68dca62d8) = 0 +43938902899591:43938902900343 26086:26086 hsa_system_get_info(2, 0x7fc68dca62e0) = 0 +43938902901258:43938902902006 26086:26086 hsa_system_get_info(2, 0x7fc68dca62e8) = 0 +43938902902921:43938902903670 26086:26086 hsa_system_get_info(2, 0x7fc68dca62f0) = 0 +43938902904582:43938902905335 26086:26086 hsa_system_get_info(2, 0x7fc68dca62f8) = 0 +43938902907062:43938902907822 26086:26086 hsa_system_get_info(2, 0x7fc68dca6300) = 0 +43938902908742:43938902909502 26086:26086 hsa_system_get_info(2, 0x7fc68dca6308) = 0 +43938902910416:43938902911167 26086:26086 hsa_system_get_info(2, 0x7fc68dca6310) = 0 +43938902912077:43938902912836 26086:26086 hsa_system_get_info(2, 0x7fc68dca6318) = 0 +43938902913754:43938902914512 26086:26086 hsa_system_get_info(2, 0x7fc68dca6320) = 0 +43938902915423:43938902916176 26086:26086 hsa_system_get_info(2, 0x7fc68dca6328) = 0 +43938902917090:43938902917842 26086:26086 hsa_system_get_info(2, 0x7fc68dca6330) = 0 +43938902918754:43938902919507 26086:26086 hsa_system_get_info(2, 0x7fc68dca6338) = 0 +43938902920422:43938902921178 26086:26086 hsa_system_get_info(2, 0x7fc68dca6340) = 0 +43938902922092:43938902922838 26086:26086 hsa_system_get_info(2, 0x7fc68dca6348) = 0 +43938902923753:43938902924509 26086:26086 hsa_system_get_info(2, 0x7fc68dca6350) = 0 +43938902925427:43938902926191 26086:26086 hsa_system_get_info(2, 0x7fc68dca6358) = 0 +43938902927111:43938902927872 26086:26086 hsa_system_get_info(2, 0x7fc68dca6360) = 0 +43938902928802:43938902929560 26086:26086 hsa_system_get_info(2, 0x7fc68dca6368) = 0 +43938902930481:43938902931236 26086:26086 hsa_system_get_info(2, 0x7fc68dca6370) = 0 +43938902932152:43938902932909 26086:26086 hsa_system_get_info(2, 0x7fc68dca6378) = 0 +43938902933825:43938902934572 26086:26086 hsa_system_get_info(2, 0x7fc68dca6380) = 0 +43938902935486:43938902936241 26086:26086 hsa_system_get_info(2, 0x7fc68dca6388) = 0 +43938902937157:43938902937911 26086:26086 hsa_system_get_info(2, 0x7fc68dca6390) = 0 +43938902938825:43938902939577 26086:26086 hsa_system_get_info(2, 0x7fc68dca6398) = 0 +43938902940491:43938902941257 26086:26086 hsa_system_get_info(2, 0x7fc68dca63a0) = 0 +43938902942173:43938902942936 26086:26086 hsa_system_get_info(2, 0x7fc68dca63a8) = 0 +43938902943852:43938902944617 26086:26086 hsa_system_get_info(2, 0x7fc68dca63b0) = 0 +43938902945552:43938902946311 26086:26086 hsa_system_get_info(2, 0x7fc68dca63b8) = 0 +43938902947248:43938902948009 26086:26086 hsa_system_get_info(2, 0x7fc68dca63c0) = 0 +43938902948939:43938902949701 26086:26086 hsa_system_get_info(2, 0x7fc68dca63c8) = 0 +43938902950615:43938902951366 26086:26086 hsa_system_get_info(2, 0x7fc68dca63d0) = 0 +43938902952281:43938902953035 26086:26086 hsa_system_get_info(2, 0x7fc68dca63d8) = 0 +43938902954805:43938902955553 26086:26086 hsa_system_get_info(2, 0x7fc68dca63e0) = 0 +43938902956465:43938902957220 26086:26086 hsa_system_get_info(2, 0x7fc68dca63e8) = 0 +43938902958134:43938902958885 26086:26086 hsa_system_get_info(2, 0x7fc68dca63f0) = 0 +43938902959805:43938902960567 26086:26086 hsa_system_get_info(2, 0x7fc68dca63f8) = 0 +43938902961484:43938902962239 26086:26086 hsa_system_get_info(2, 0x7fc68dca6400) = 0 +43938902963151:43938902963906 26086:26086 hsa_system_get_info(2, 0x7fc68dca6408) = 0 +43938902964821:43938902965573 26086:26086 hsa_system_get_info(2, 0x7fc68dca6410) = 0 +43938902966486:43938902967243 26086:26086 hsa_system_get_info(2, 0x7fc68dca6418) = 0 +43938902968158:43938902968912 26086:26086 hsa_system_get_info(2, 0x7fc68dca6420) = 0 +43938902969828:43938902970577 26086:26086 hsa_system_get_info(2, 0x7fc68dca6428) = 0 +43938902971492:43938902972247 26086:26086 hsa_system_get_info(2, 0x7fc68dca6430) = 0 +43938902973164:43938902973917 26086:26086 hsa_system_get_info(2, 0x7fc68dca6438) = 0 +43938902974831:43938902975584 26086:26086 hsa_system_get_info(2, 0x7fc68dca6440) = 0 +43938902976503:43938902977279 26086:26086 hsa_system_get_info(2, 0x7fc68dca6448) = 0 +43938902978192:43938902978947 26086:26086 hsa_system_get_info(2, 0x7fc68dca6450) = 0 +43938902979864:43938902980614 26086:26086 hsa_system_get_info(2, 0x7fc68dca6458) = 0 +43938902981533:43938902982290 26086:26086 hsa_system_get_info(2, 0x7fc68dca6460) = 0 +43938902983207:43938902983961 26086:26086 hsa_system_get_info(2, 0x7fc68dca6468) = 0 +43938902984876:43938902985629 26086:26086 hsa_system_get_info(2, 0x7fc68dca6470) = 0 +43938902986545:43938902987301 26086:26086 hsa_system_get_info(2, 0x7fc68dca6478) = 0 +43938902988216:43938902988972 26086:26086 hsa_system_get_info(2, 0x7fc68dca6480) = 0 +43938902989891:43938902990643 26086:26086 hsa_system_get_info(2, 0x7fc68dca6488) = 0 +43938902991557:43938902992312 26086:26086 hsa_system_get_info(2, 0x7fc68dca6490) = 0 +43938902993226:43938902993986 26086:26086 hsa_system_get_info(2, 0x7fc68dca6498) = 0 +43938902994900:43938902995655 26086:26086 hsa_system_get_info(2, 0x7fc68dca64a0) = 0 +43938902996569:43938902997322 26086:26086 hsa_system_get_info(2, 0x7fc68dca64a8) = 0 +43938902998236:43938902998991 26086:26086 hsa_system_get_info(2, 0x7fc68dca64b0) = 0 +43938902999922:43938903000676 26086:26086 hsa_system_get_info(2, 0x7fc68dca64b8) = 0 +43938903001591:43938903002347 26086:26086 hsa_system_get_info(2, 0x7fc68dca64c0) = 0 +43938903004091:43938903004845 26086:26086 hsa_system_get_info(2, 0x7fc68dca64c8) = 0 +43938903005761:43938903006511 26086:26086 hsa_system_get_info(2, 0x7fc68dca64d0) = 0 +43938903007425:43938903008182 26086:26086 hsa_system_get_info(2, 0x7fc68dca64d8) = 0 +43938903009095:43938903009851 26086:26086 hsa_system_get_info(2, 0x7fc68dca64e0) = 0 +43938903010767:43938903011526 26086:26086 hsa_system_get_info(2, 0x7fc68dca64e8) = 0 +43938903012441:43938903013203 26086:26086 hsa_system_get_info(2, 0x7fc68dca64f0) = 0 +43938903014115:43938903014870 26086:26086 hsa_system_get_info(2, 0x7fc68dca64f8) = 0 +43938903015786:43938903016536 26086:26086 hsa_system_get_info(2, 0x7fc68dca6500) = 0 +43938903017450:43938903018201 26086:26086 hsa_system_get_info(2, 0x7fc68dca6508) = 0 +43938903019112:43938903019868 26086:26086 hsa_system_get_info(2, 0x7fc68dca6510) = 0 +43938903020778:43938903021541 26086:26086 hsa_system_get_info(2, 0x7fc68dca6518) = 0 +43938903022456:43938903023212 26086:26086 hsa_system_get_info(2, 0x7fc68dca6520) = 0 +43938903024138:43938903024893 26086:26086 hsa_system_get_info(2, 0x7fc68dca6528) = 0 +43938903025801:43938903026554 26086:26086 hsa_system_get_info(2, 0x7fc68dca6530) = 0 +43938903027465:43938903028221 26086:26086 hsa_system_get_info(2, 0x7fc68dca6538) = 0 +43938903029130:43938903029881 26086:26086 hsa_system_get_info(2, 0x7fc68dca6540) = 0 +43938903030798:43938903031546 26086:26086 hsa_system_get_info(2, 0x7fc68dca6548) = 0 +43938903032462:43938903033220 26086:26086 hsa_system_get_info(2, 0x7fc68dca6550) = 0 +43938903034138:43938903034892 26086:26086 hsa_system_get_info(2, 0x7fc68dca6558) = 0 +43938903035807:43938903036561 26086:26086 hsa_system_get_info(2, 0x7fc68dca6560) = 0 +43938903037478:43938903038227 26086:26086 hsa_system_get_info(2, 0x7fc68dca6568) = 0 +43938903039140:43938903039896 26086:26086 hsa_system_get_info(2, 0x7fc68dca6570) = 0 +43938903040813:43938903041569 26086:26086 hsa_system_get_info(2, 0x7fc68dca6578) = 0 +43938903042489:43938903043241 26086:26086 hsa_system_get_info(2, 0x7fc68dca6580) = 0 +43938903044170:43938903044922 26086:26086 hsa_system_get_info(2, 0x7fc68dca6588) = 0 +43938903045863:43938903046614 26086:26086 hsa_system_get_info(2, 0x7fc68dca6590) = 0 +43938903047535:43938903048292 26086:26086 hsa_system_get_info(2, 0x7fc68dca6598) = 0 +43938903049208:43938903049971 26086:26086 hsa_system_get_info(2, 0x7fc68dca65a0) = 0 +43938903051731:43938903052479 26086:26086 hsa_system_get_info(2, 0x7fc68dca65a8) = 0 +43938903053393:43938903054147 26086:26086 hsa_system_get_info(2, 0x7fc68dca65b0) = 0 +43938903055060:43938903055821 26086:26086 hsa_system_get_info(2, 0x7fc68dca65b8) = 0 +43938903056736:43938903057495 26086:26086 hsa_system_get_info(2, 0x7fc68dca65c0) = 0 +43938903058406:43938903059166 26086:26086 hsa_system_get_info(2, 0x7fc68dca65c8) = 0 +43938903060081:43938903060838 26086:26086 hsa_system_get_info(2, 0x7fc68dca65d0) = 0 +43938903061753:43938903062514 26086:26086 hsa_system_get_info(2, 0x7fc68dca65d8) = 0 +43938903063430:43938903064186 26086:26086 hsa_system_get_info(2, 0x7fc68dca65e0) = 0 +43938903065103:43938903065864 26086:26086 hsa_system_get_info(2, 0x7fc68dca65e8) = 0 +43938903066778:43938903067535 26086:26086 hsa_system_get_info(2, 0x7fc68dca65f0) = 0 +43938903068444:43938903069199 26086:26086 hsa_system_get_info(2, 0x7fc68dca65f8) = 0 +43938903070116:43938903070876 26086:26086 hsa_system_get_info(2, 0x7fc68dca6600) = 0 +43938903071793:43938903072552 26086:26086 hsa_system_get_info(2, 0x7fc68dca6608) = 0 +43938903073464:43938903074238 26086:26086 hsa_system_get_info(2, 0x7fc68dca6610) = 0 +43938903075152:43938903075906 26086:26086 hsa_system_get_info(2, 0x7fc68dca6618) = 0 +43938903076812:43938903077568 26086:26086 hsa_system_get_info(2, 0x7fc68dca6620) = 0 +43938903078483:43938903079237 26086:26086 hsa_system_get_info(2, 0x7fc68dca6628) = 0 +43938903080151:43938903080909 26086:26086 hsa_system_get_info(2, 0x7fc68dca6630) = 0 +43938903081818:43938903082575 26086:26086 hsa_system_get_info(2, 0x7fc68dca6638) = 0 +43938903083492:43938903084250 26086:26086 hsa_system_get_info(2, 0x7fc68dca6640) = 0 +43938903085165:43938903085927 26086:26086 hsa_system_get_info(2, 0x7fc68dca6648) = 0 +43938903086841:43938903087596 26086:26086 hsa_system_get_info(2, 0x7fc68dca6650) = 0 +43938903088509:43938903089254 26086:26086 hsa_system_get_info(2, 0x7fc68dca6658) = 0 +43938903090168:43938903090918 26086:26086 hsa_system_get_info(2, 0x7fc68dca6660) = 0 +43938903091847:43938903092603 26086:26086 hsa_system_get_info(2, 0x7fc68dca6668) = 0 +43938903093520:43938903094275 26086:26086 hsa_system_get_info(2, 0x7fc68dca6670) = 0 +43938903095187:43938903095936 26086:26086 hsa_system_get_info(2, 0x7fc68dca6678) = 0 +43938903096849:43938903097603 26086:26086 hsa_system_get_info(2, 0x7fc68dca6680) = 0 +43938903099341:43938903100096 26086:26086 hsa_system_get_info(2, 0x7fc68dca6688) = 0 +43938903101009:43938903101766 26086:26086 hsa_system_get_info(2, 0x7fc68dca6690) = 0 +43938903102681:43938903103437 26086:26086 hsa_system_get_info(2, 0x7fc68dca6698) = 0 +43938903104346:43938903105102 26086:26086 hsa_system_get_info(2, 0x7fc68dca66a0) = 0 +43938903106017:43938903106770 26086:26086 hsa_system_get_info(2, 0x7fc68dca66a8) = 0 +43938903107683:43938903108433 26086:26086 hsa_system_get_info(2, 0x7fc68dca66b0) = 0 +43938903109347:43938903110101 26086:26086 hsa_system_get_info(2, 0x7fc68dca66b8) = 0 +43938903111018:43938903111772 26086:26086 hsa_system_get_info(2, 0x7fc68dca66c0) = 0 +43938903112687:43938903113447 26086:26086 hsa_system_get_info(2, 0x7fc68dca66c8) = 0 +43938903114362:43938903115116 26086:26086 hsa_system_get_info(2, 0x7fc68dca66d0) = 0 +43938903116031:43938903116796 26086:26086 hsa_system_get_info(2, 0x7fc68dca66d8) = 0 +43938903117713:43938903118468 26086:26086 hsa_system_get_info(2, 0x7fc68dca66e0) = 0 +43938903119381:43938903120151 26086:26086 hsa_system_get_info(2, 0x7fc68dca66e8) = 0 +43938903121067:43938903121825 26086:26086 hsa_system_get_info(2, 0x7fc68dca66f0) = 0 +43938903122738:43938903123491 26086:26086 hsa_system_get_info(2, 0x7fc68dca66f8) = 0 +43938903124396:43938903125150 26086:26086 hsa_system_get_info(2, 0x7fc68dca6700) = 0 +43938903126066:43938903126825 26086:26086 hsa_system_get_info(2, 0x7fc68dca6708) = 0 +43938903127743:43938903128499 26086:26086 hsa_system_get_info(2, 0x7fc68dca6710) = 0 +43938903129413:43938903130158 26086:26086 hsa_system_get_info(2, 0x7fc68dca6718) = 0 +43938903131072:43938903131826 26086:26086 hsa_system_get_info(2, 0x7fc68dca6720) = 0 +43938903132742:43938903133501 26086:26086 hsa_system_get_info(2, 0x7fc68dca6728) = 0 +43938903134415:43938903135163 26086:26086 hsa_system_get_info(2, 0x7fc68dca6730) = 0 +43938903136348:43938903137328 26086:26086 hsa_system_get_info(2, 0x7fc68dca6738) = 0 +43938903138479:43938903139482 26086:26086 hsa_system_get_info(2, 0x7fc68dca6740) = 0 +43938903140667:43938903141650 26086:26086 hsa_system_get_info(2, 0x7fc68dca6748) = 0 +43938903142879:43938903143885 26086:26086 hsa_system_get_info(2, 0x7fc68dca6750) = 0 +43938903145107:43938903146121 26086:26086 hsa_system_get_info(2, 0x7fc68dca6758) = 0 +43938903147317:43938903148316 26086:26086 hsa_system_get_info(2, 0x7fc68dca6760) = 0 +43938903149534:43938903150576 26086:26086 hsa_system_get_info(2, 0x7fc68dca6768) = 0 +43938903154484:43938903155607 26086:26086 hsa_system_get_info(2, 0x7fc68dca6770) = 0 +43938903156918:43938903157930 26086:26086 hsa_system_get_info(2, 0x7fc68dca6778) = 0 +43938903159070:43938903160062 26086:26086 hsa_system_get_info(2, 0x7fc68dca6780) = 0 +43938903161259:43938903162279 26086:26086 hsa_system_get_info(2, 0x7fc68dca6788) = 0 +43938903163455:43938903164560 26086:26086 hsa_system_get_info(2, 0x7fc68dca6790) = 0 +43938903165542:43938903166297 26086:26086 hsa_system_get_info(2, 0x7fc68dca6798) = 0 +43938903167204:43938903167953 26086:26086 hsa_system_get_info(2, 0x7fc68dca67a0) = 0 +43938903168861:43938903169614 26086:26086 hsa_system_get_info(2, 0x7fc68dca67a8) = 0 +43938903170526:43938903171285 26086:26086 hsa_system_get_info(2, 0x7fc68dca67b0) = 0 +43938903172195:43938903172945 26086:26086 hsa_system_get_info(2, 0x7fc68dca67b8) = 0 +43938903173854:43938903174606 26086:26086 hsa_system_get_info(2, 0x7fc68dca67c0) = 0 +43938903175519:43938903176264 26086:26086 hsa_system_get_info(2, 0x7fc68dca67c8) = 0 +43938903177175:43938903177925 26086:26086 hsa_system_get_info(2, 0x7fc68dca67d0) = 0 +43938903178833:43938903179585 26086:26086 hsa_system_get_info(2, 0x7fc68dca67d8) = 0 +43938903180492:43938903181243 26086:26086 hsa_system_get_info(2, 0x7fc68dca67e0) = 0 +43938903182156:43938903182912 26086:26086 hsa_system_get_info(2, 0x7fc68dca67e8) = 0 +43938903183820:43938903184573 26086:26086 hsa_system_get_info(2, 0x7fc68dca67f0) = 0 +43938903185486:43938903186232 26086:26086 hsa_system_get_info(2, 0x7fc68dca67f8) = 0 +43938903187143:43938903187898 26086:26086 hsa_system_get_info(2, 0x7fc68dca6800) = 0 +43938903188808:43938903189561 26086:26086 hsa_system_get_info(2, 0x7fc68dca6808) = 0 +43938903190486:43938903191248 26086:26086 hsa_system_get_info(2, 0x7fc68dca6810) = 0 +43938903192150:43938903192906 26086:26086 hsa_system_get_info(2, 0x7fc68dca6818) = 0 +43938903193815:43938903194562 26086:26086 hsa_system_get_info(2, 0x7fc68dca6820) = 0 +43938903195472:43938903196228 26086:26086 hsa_system_get_info(2, 0x7fc68dca6828) = 0 +43938903197204:43938903198190 26086:26086 hsa_system_get_info(2, 0x7fc68dca6830) = 0 +43938903199294:43938903200333 26086:26086 hsa_system_get_info(2, 0x7fc68dca6838) = 0 +43938903201415:43938903202460 26086:26086 hsa_system_get_info(2, 0x7fc68dca6840) = 0 +43938903203678:43938903204681 26086:26086 hsa_system_get_info(2, 0x7fc68dca6848) = 0 +43938903206689:43938903207450 26086:26086 hsa_system_get_info(2, 0x7fc68dca6850) = 0 +43938903208367:43938903209130 26086:26086 hsa_system_get_info(2, 0x7fc68dca6858) = 0 +43938903210042:43938903210802 26086:26086 hsa_system_get_info(2, 0x7fc68dca6860) = 0 +43938903211713:43938903212465 26086:26086 hsa_system_get_info(2, 0x7fc68dca6868) = 0 +43938903213393:43938903214143 26086:26086 hsa_system_get_info(2, 0x7fc68dca6870) = 0 +43938903215050:43938903215802 26086:26086 hsa_system_get_info(2, 0x7fc68dca6878) = 0 +43938903216713:43938903217464 26086:26086 hsa_system_get_info(2, 0x7fc68dca6880) = 0 +43938903218366:43938903219118 26086:26086 hsa_system_get_info(2, 0x7fc68dca6888) = 0 +43938903220031:43938903220778 26086:26086 hsa_system_get_info(2, 0x7fc68dca6890) = 0 +43938903221685:43938903222441 26086:26086 hsa_system_get_info(2, 0x7fc68dca6898) = 0 +43938903223350:43938903224101 26086:26086 hsa_system_get_info(2, 0x7fc68dca68a0) = 0 +43938903225009:43938903225762 26086:26086 hsa_system_get_info(2, 0x7fc68dca68a8) = 0 +43938903226673:43938903227421 26086:26086 hsa_system_get_info(2, 0x7fc68dca68b0) = 0 +43938903228329:43938903229085 26086:26086 hsa_system_get_info(2, 0x7fc68dca68b8) = 0 +43938903229993:43938903230742 26086:26086 hsa_system_get_info(2, 0x7fc68dca68c0) = 0 +43938903231649:43938903232399 26086:26086 hsa_system_get_info(2, 0x7fc68dca68c8) = 0 +43938903233305:43938903234071 26086:26086 hsa_system_get_info(2, 0x7fc68dca68d0) = 0 +43938903234975:43938903235733 26086:26086 hsa_system_get_info(2, 0x7fc68dca68d8) = 0 +43938903236657:43938903237415 26086:26086 hsa_system_get_info(2, 0x7fc68dca68e0) = 0 +43938903238322:43938903239069 26086:26086 hsa_system_get_info(2, 0x7fc68dca68e8) = 0 +43938903239978:43938903240727 26086:26086 hsa_system_get_info(2, 0x7fc68dca68f0) = 0 +43938903241631:43938903242385 26086:26086 hsa_system_get_info(2, 0x7fc68dca68f8) = 0 +43938903243291:43938903244048 26086:26086 hsa_system_get_info(2, 0x7fc68dca6900) = 0 +43938903244957:43938903245707 26086:26086 hsa_system_get_info(2, 0x7fc68dca6908) = 0 +43938903246619:43938903247371 26086:26086 hsa_system_get_info(2, 0x7fc68dca6910) = 0 +43938903248280:43938903249029 26086:26086 hsa_system_get_info(2, 0x7fc68dca6918) = 0 +43938903249936:43938903250689 26086:26086 hsa_system_get_info(2, 0x7fc68dca6920) = 0 +43938903251591:43938903252345 26086:26086 hsa_system_get_info(2, 0x7fc68dca6928) = 0 +43938903253254:43938903254008 26086:26086 hsa_system_get_info(2, 0x7fc68dca6930) = 0 +43938903255786:43938903256547 26086:26086 hsa_system_get_info(2, 0x7fc68dca6938) = 0 +43938903257454:43938903258212 26086:26086 hsa_system_get_info(2, 0x7fc68dca6940) = 0 +43938903259128:43938903259879 26086:26086 hsa_system_get_info(2, 0x7fc68dca6948) = 0 +43938903260790:43938903261540 26086:26086 hsa_system_get_info(2, 0x7fc68dca6950) = 0 +43938903262448:43938903263203 26086:26086 hsa_system_get_info(2, 0x7fc68dca6958) = 0 +43938903264113:43938903264869 26086:26086 hsa_system_get_info(2, 0x7fc68dca6960) = 0 +43938903265780:43938903266531 26086:26086 hsa_system_get_info(2, 0x7fc68dca6968) = 0 +43938903267440:43938903268191 26086:26086 hsa_system_get_info(2, 0x7fc68dca6970) = 0 +43938903269105:43938903269856 26086:26086 hsa_system_get_info(2, 0x7fc68dca6978) = 0 +43938903270762:43938903271513 26086:26086 hsa_system_get_info(2, 0x7fc68dca6980) = 0 +43938903272420:43938903273169 26086:26086 hsa_system_get_info(2, 0x7fc68dca6988) = 0 +43938903274078:43938903274829 26086:26086 hsa_system_get_info(2, 0x7fc68dca6990) = 0 +43938903275737:43938903276484 26086:26086 hsa_system_get_info(2, 0x7fc68dca6998) = 0 +43938903277394:43938903278142 26086:26086 hsa_system_get_info(2, 0x7fc68dca69a0) = 0 +43938903279064:43938903279822 26086:26086 hsa_system_get_info(2, 0x7fc68dca69a8) = 0 +43938903280725:43938903281477 26086:26086 hsa_system_get_info(2, 0x7fc68dca69b0) = 0 +43938903282390:43938903283133 26086:26086 hsa_system_get_info(2, 0x7fc68dca69b8) = 0 +43938903284048:43938903284805 26086:26086 hsa_system_get_info(2, 0x7fc68dca69c0) = 0 +43938903285719:43938903286471 26086:26086 hsa_system_get_info(2, 0x7fc68dca69c8) = 0 +43938903287376:43938903288124 26086:26086 hsa_system_get_info(2, 0x7fc68dca69d0) = 0 +43938903289034:43938903289788 26086:26086 hsa_system_get_info(2, 0x7fc68dca69d8) = 0 +43938903290694:43938903291444 26086:26086 hsa_system_get_info(2, 0x7fc68dca69e0) = 0 +43938903292353:43938903293099 26086:26086 hsa_system_get_info(2, 0x7fc68dca69e8) = 0 +43938903294033:43938903294789 26086:26086 hsa_system_get_info(2, 0x7fc68dca69f0) = 0 +43938903295725:43938903296475 26086:26086 hsa_system_get_info(2, 0x7fc68dca69f8) = 0 +43938903297379:43938903298131 26086:26086 hsa_system_get_info(2, 0x7fc68dca6a00) = 0 +43938903299045:43938903299796 26086:26086 hsa_system_get_info(2, 0x7fc68dca6a08) = 0 +43938903300705:43938903301451 26086:26086 hsa_system_get_info(2, 0x7fc68dca6a10) = 0 +43938903303186:43938903303946 26086:26086 hsa_system_get_info(2, 0x7fc68dca6a18) = 0 +43938903304857:43938903305606 26086:26086 hsa_system_get_info(2, 0x7fc68dca6a20) = 0 +43938903306515:43938903307262 26086:26086 hsa_system_get_info(2, 0x7fc68dca6a28) = 0 +43938903308170:43938903308925 26086:26086 hsa_system_get_info(2, 0x7fc68dca6a30) = 0 +43938903309825:43938903310574 26086:26086 hsa_system_get_info(2, 0x7fc68dca6a38) = 0 +43938903311484:43938903312239 26086:26086 hsa_system_get_info(2, 0x7fc68dca6a40) = 0 +43938903313145:43938903313898 26086:26086 hsa_system_get_info(2, 0x7fc68dca6a48) = 0 +43938903314810:43938903315571 26086:26086 hsa_system_get_info(2, 0x7fc68dca6a50) = 0 +43938903316480:43938903317229 26086:26086 hsa_system_get_info(2, 0x7fc68dca6a58) = 0 +43938903318143:43938903318894 26086:26086 hsa_system_get_info(2, 0x7fc68dca6a60) = 0 +43938903319805:43938903320547 26086:26086 hsa_system_get_info(2, 0x7fc68dca6a68) = 0 +43938903321457:43938903322208 26086:26086 hsa_system_get_info(2, 0x7fc68dca6a70) = 0 +43938903323122:43938903323872 26086:26086 hsa_system_get_info(2, 0x7fc68dca6a78) = 0 +43938903324782:43938903325536 26086:26086 hsa_system_get_info(2, 0x7fc68dca6a80) = 0 +43938903326457:43938903327212 26086:26086 hsa_system_get_info(2, 0x7fc68dca6a88) = 0 +43938903328117:43938903328869 26086:26086 hsa_system_get_info(2, 0x7fc68dca6a90) = 0 +43938903329779:43938903330538 26086:26086 hsa_system_get_info(2, 0x7fc68dca6a98) = 0 +43938903331448:43938903332194 26086:26086 hsa_system_get_info(2, 0x7fc68dca6aa0) = 0 +43938903333106:43938903333857 26086:26086 hsa_system_get_info(2, 0x7fc68dca6aa8) = 0 +43938903334764:43938903335516 26086:26086 hsa_system_get_info(2, 0x7fc68dca6ab0) = 0 +43938903336428:43938903337184 26086:26086 hsa_system_get_info(2, 0x7fc68dca6ab8) = 0 +43938903338095:43938903338847 26086:26086 hsa_system_get_info(2, 0x7fc68dca6ac0) = 0 +43938903339755:43938903340507 26086:26086 hsa_system_get_info(2, 0x7fc68dca6ac8) = 0 +43938903341417:43938903342173 26086:26086 hsa_system_get_info(2, 0x7fc68dca6ad0) = 0 +43938903343086:43938903343843 26086:26086 hsa_system_get_info(2, 0x7fc68dca6ad8) = 0 +43938903344752:43938903345507 26086:26086 hsa_system_get_info(2, 0x7fc68dca6ae0) = 0 +43938903346419:43938903347172 26086:26086 hsa_system_get_info(2, 0x7fc68dca6ae8) = 0 +43938903348082:43938903348833 26086:26086 hsa_system_get_info(2, 0x7fc68dca6af0) = 0 +43938903349744:43938903350515 26086:26086 hsa_system_get_info(2, 0x7fc68dca6af8) = 0 +43938903352299:43938903353079 26086:26086 hsa_system_get_info(2, 0x7fc68dca6b00) = 0 +43938903353989:43938903354745 26086:26086 hsa_system_get_info(2, 0x7fc68dca6b08) = 0 +43938903355650:43938903356401 26086:26086 hsa_system_get_info(2, 0x7fc68dca6b10) = 0 +43938903357314:43938903358076 26086:26086 hsa_system_get_info(2, 0x7fc68dca6b18) = 0 +43938903359003:43938903359757 26086:26086 hsa_system_get_info(2, 0x7fc68dca6b20) = 0 +43938903360665:43938903361411 26086:26086 hsa_system_get_info(2, 0x7fc68dca6b28) = 0 +43938903362319:43938903363076 26086:26086 hsa_system_get_info(2, 0x7fc68dca6b30) = 0 +43938903363986:43938903364732 26086:26086 hsa_system_get_info(2, 0x7fc68dca6b38) = 0 +43938903365638:43938903366395 26086:26086 hsa_system_get_info(2, 0x7fc68dca6b40) = 0 +43938903367297:43938903368053 26086:26086 hsa_system_get_info(2, 0x7fc68dca6b48) = 0 +43938903368961:43938903369722 26086:26086 hsa_system_get_info(2, 0x7fc68dca6b50) = 0 +43938903370624:43938903371380 26086:26086 hsa_system_get_info(2, 0x7fc68dca6b58) = 0 +43938903372282:43938903373035 26086:26086 hsa_system_get_info(2, 0x7fc68dca6b60) = 0 +43938903373937:43938903374702 26086:26086 hsa_system_get_info(2, 0x7fc68dca6b68) = 0 +43938903375611:43938903376373 26086:26086 hsa_system_get_info(2, 0x7fc68dca6b70) = 0 +43938903377282:43938903378046 26086:26086 hsa_system_get_info(2, 0x7fc68dca6b78) = 0 +43938903378957:43938903379709 26086:26086 hsa_system_get_info(2, 0x7fc68dca6b80) = 0 +43938903380619:43938903381369 26086:26086 hsa_system_get_info(2, 0x7fc68dca6b88) = 0 +43938903382286:43938903383037 26086:26086 hsa_system_get_info(2, 0x7fc68dca6b90) = 0 +43938903383943:43938903384697 26086:26086 hsa_system_get_info(2, 0x7fc68dca6b98) = 0 +43938903385606:43938903386363 26086:26086 hsa_system_get_info(2, 0x7fc68dca6ba0) = 0 +43938903387265:43938903388016 26086:26086 hsa_system_get_info(2, 0x7fc68dca6ba8) = 0 +43938903388946:43938903389699 26086:26086 hsa_system_get_info(2, 0x7fc68dca6bb0) = 0 +43938903390608:43938903391356 26086:26086 hsa_system_get_info(2, 0x7fc68dca6bb8) = 0 +43938903392268:43938903393021 26086:26086 hsa_system_get_info(2, 0x7fc68dca6bc0) = 0 +43938903393945:43938903394701 26086:26086 hsa_system_get_info(2, 0x7fc68dca6bc8) = 0 +43938903395613:43938903396367 26086:26086 hsa_system_get_info(2, 0x7fc68dca6bd0) = 0 +43938903397268:43938903398021 26086:26086 hsa_system_get_info(2, 0x7fc68dca6bd8) = 0 +43938903399790:43938903400550 26086:26086 hsa_system_get_info(2, 0x7fc68dca6be0) = 0 +43938903401458:43938903402208 26086:26086 hsa_system_get_info(2, 0x7fc68dca6be8) = 0 +43938903403112:43938903403860 26086:26086 hsa_system_get_info(2, 0x7fc68dca6bf0) = 0 +43938903404763:43938903405515 26086:26086 hsa_system_get_info(2, 0x7fc68dca6bf8) = 0 +43938903406422:43938903407174 26086:26086 hsa_system_get_info(2, 0x7fc68dca6c00) = 0 +43938903408080:43938903408830 26086:26086 hsa_system_get_info(2, 0x7fc68dca6c08) = 0 +43938903409738:43938903410487 26086:26086 hsa_system_get_info(2, 0x7fc68dca6c10) = 0 +43938903411397:43938903412152 26086:26086 hsa_system_get_info(2, 0x7fc68dca6c18) = 0 +43938903413058:43938903413804 26086:26086 hsa_system_get_info(2, 0x7fc68dca6c20) = 0 +43938903414713:43938903415461 26086:26086 hsa_system_get_info(2, 0x7fc68dca6c28) = 0 +43938903416366:43938903417117 26086:26086 hsa_system_get_info(2, 0x7fc68dca6c30) = 0 +43938903418025:43938903418772 26086:26086 hsa_system_get_info(2, 0x7fc68dca6c38) = 0 +43938903419682:43938903420436 26086:26086 hsa_system_get_info(2, 0x7fc68dca6c40) = 0 +43938903421344:43938903422117 26086:26086 hsa_system_get_info(2, 0x7fc68dca6c48) = 0 +43938903423029:43938903423785 26086:26086 hsa_system_get_info(2, 0x7fc68dca6c50) = 0 +43938903424686:43938903425435 26086:26086 hsa_system_get_info(2, 0x7fc68dca6c58) = 0 +43938903426343:43938903427086 26086:26086 hsa_system_get_info(2, 0x7fc68dca6c60) = 0 +43938903427995:43938903428750 26086:26086 hsa_system_get_info(2, 0x7fc68dca6c68) = 0 +43938903429656:43938903430405 26086:26086 hsa_system_get_info(2, 0x7fc68dca6c70) = 0 +43938903431311:43938903432068 26086:26086 hsa_system_get_info(2, 0x7fc68dca6c78) = 0 +43938903432972:43938903433728 26086:26086 hsa_system_get_info(2, 0x7fc68dca6c80) = 0 +43938903434639:43938903435395 26086:26086 hsa_system_get_info(2, 0x7fc68dca6c88) = 0 +43938903436301:43938903437061 26086:26086 hsa_system_get_info(2, 0x7fc68dca6c90) = 0 +43938903437970:43938903438723 26086:26086 hsa_system_get_info(2, 0x7fc68dca6c98) = 0 +43938903439629:43938903440381 26086:26086 hsa_system_get_info(2, 0x7fc68dca6ca0) = 0 +43938903441290:43938903442039 26086:26086 hsa_system_get_info(2, 0x7fc68dca6ca8) = 0 +43938903442946:43938903443699 26086:26086 hsa_system_get_info(2, 0x7fc68dca6cb0) = 0 +43938903444605:43938903445366 26086:26086 hsa_system_get_info(2, 0x7fc68dca6cb8) = 0 +43938903446297:43938903447045 26086:26086 hsa_system_get_info(2, 0x7fc68dca6cc0) = 0 +43938903448790:43938903449550 26086:26086 hsa_system_get_info(2, 0x7fc68dca6cc8) = 0 +43938903450462:43938903451216 26086:26086 hsa_system_get_info(2, 0x7fc68dca6cd0) = 0 +43938903452126:43938903452885 26086:26086 hsa_system_get_info(2, 0x7fc68dca6cd8) = 0 +43938903453813:43938903454568 26086:26086 hsa_system_get_info(2, 0x7fc68dca6ce0) = 0 +43938903455474:43938903456223 26086:26086 hsa_system_get_info(2, 0x7fc68dca6ce8) = 0 +43938903457133:43938903457885 26086:26086 hsa_system_get_info(2, 0x7fc68dca6cf0) = 0 +43938903458788:43938903459538 26086:26086 hsa_system_get_info(2, 0x7fc68dca6cf8) = 0 +43938903460447:43938903461202 26086:26086 hsa_system_get_info(2, 0x7fc68dca6d00) = 0 +43938903462107:43938903462855 26086:26086 hsa_system_get_info(2, 0x7fc68dca6d08) = 0 +43938903463765:43938903464514 26086:26086 hsa_system_get_info(2, 0x7fc68dca6d10) = 0 +43938903465422:43938903466176 26086:26086 hsa_system_get_info(2, 0x7fc68dca6d18) = 0 +43938903467085:43938903467830 26086:26086 hsa_system_get_info(2, 0x7fc68dca6d20) = 0 +43938903468736:43938903469490 26086:26086 hsa_system_get_info(2, 0x7fc68dca6d28) = 0 +43938903470396:43938903471146 26086:26086 hsa_system_get_info(2, 0x7fc68dca6d30) = 0 +43938903472055:43938903472808 26086:26086 hsa_system_get_info(2, 0x7fc68dca6d38) = 0 +43938903473730:43938903474484 26086:26086 hsa_system_get_info(2, 0x7fc68dca6d40) = 0 +43938903475393:43938903476146 26086:26086 hsa_system_get_info(2, 0x7fc68dca6d48) = 0 +43938903477052:43938903477806 26086:26086 hsa_system_get_info(2, 0x7fc68dca6d50) = 0 +43938903478733:43938903479482 26086:26086 hsa_system_get_info(2, 0x7fc68dca6d58) = 0 +43938903480392:43938903481141 26086:26086 hsa_system_get_info(2, 0x7fc68dca6d60) = 0 +43938903482042:43938903482794 26086:26086 hsa_system_get_info(2, 0x7fc68dca6d68) = 0 +43938903483700:43938903484455 26086:26086 hsa_system_get_info(2, 0x7fc68dca6d70) = 0 +43938903485361:43938903486113 26086:26086 hsa_system_get_info(2, 0x7fc68dca6d78) = 0 +43938903487030:43938903487784 26086:26086 hsa_system_get_info(2, 0x7fc68dca6d80) = 0 +43938903488710:43938903489462 26086:26086 hsa_system_get_info(2, 0x7fc68dca6d88) = 0 +43938903490372:43938903491123 26086:26086 hsa_system_get_info(2, 0x7fc68dca6d90) = 0 +43938903492030:43938903492785 26086:26086 hsa_system_get_info(2, 0x7fc68dca6d98) = 0 +43938903493694:43938903494451 26086:26086 hsa_system_get_info(2, 0x7fc68dca6da0) = 0 +43938903496212:43938903496976 26086:26086 hsa_system_get_info(2, 0x7fc68dca6da8) = 0 +43938903497887:43938903498635 26086:26086 hsa_system_get_info(2, 0x7fc68dca6db0) = 0 +43938903499538:43938903500291 26086:26086 hsa_system_get_info(2, 0x7fc68dca6db8) = 0 +43938903501199:43938903501951 26086:26086 hsa_system_get_info(2, 0x7fc68dca6dc0) = 0 +43938903502854:43938903503607 26086:26086 hsa_system_get_info(2, 0x7fc68dca6dc8) = 0 +43938903504519:43938903505270 26086:26086 hsa_system_get_info(2, 0x7fc68dca6dd0) = 0 +43938903506172:43938903506927 26086:26086 hsa_system_get_info(2, 0x7fc68dca6dd8) = 0 +43938903507832:43938903508578 26086:26086 hsa_system_get_info(2, 0x7fc68dca6de0) = 0 +43938903509489:43938903510235 26086:26086 hsa_system_get_info(2, 0x7fc68dca6de8) = 0 +43938903511136:43938903511890 26086:26086 hsa_system_get_info(2, 0x7fc68dca6df0) = 0 +43938903512802:43938903513554 26086:26086 hsa_system_get_info(2, 0x7fc68dca6df8) = 0 +43938903514462:43938903515217 26086:26086 hsa_system_get_info(2, 0x7fc68dca6e00) = 0 +43938903516125:43938903516880 26086:26086 hsa_system_get_info(2, 0x7fc68dca6e08) = 0 +43938903517789:43938903518568 26086:26086 hsa_system_get_info(2, 0x7fc68dca6e10) = 0 +43938903519475:43938903520226 26086:26086 hsa_system_get_info(2, 0x7fc68dca6e18) = 0 +43938903521137:43938903521893 26086:26086 hsa_system_get_info(2, 0x7fc68dca6e20) = 0 +43938903522797:43938903523541 26086:26086 hsa_system_get_info(2, 0x7fc68dca6e28) = 0 +43938903524450:43938903525194 26086:26086 hsa_system_get_info(2, 0x7fc68dca6e30) = 0 +43938903526107:43938903526862 26086:26086 hsa_system_get_info(2, 0x7fc68dca6e38) = 0 +43938903527772:43938903528523 26086:26086 hsa_system_get_info(2, 0x7fc68dca6e40) = 0 +43938903529426:43938903530170 26086:26086 hsa_system_get_info(2, 0x7fc68dca6e48) = 0 +43938903531076:43938903531827 26086:26086 hsa_system_get_info(2, 0x7fc68dca6e50) = 0 +43938903532737:43938903533494 26086:26086 hsa_system_get_info(2, 0x7fc68dca6e58) = 0 +43938903534397:43938903535151 26086:26086 hsa_system_get_info(2, 0x7fc68dca6e60) = 0 +43938903536056:43938903536808 26086:26086 hsa_system_get_info(2, 0x7fc68dca6e68) = 0 +43938903537721:43938903538476 26086:26086 hsa_system_get_info(2, 0x7fc68dca6e70) = 0 +43938903539382:43938903540134 26086:26086 hsa_system_get_info(2, 0x7fc68dca6e78) = 0 +43938903541041:43938903541799 26086:26086 hsa_system_get_info(2, 0x7fc68dca6e80) = 0 +43938903543598:43938903544361 26086:26086 hsa_system_get_info(2, 0x7fc68dca6e88) = 0 +43938903545272:43938903546029 26086:26086 hsa_system_get_info(2, 0x7fc68dca6e90) = 0 +43938903546938:43938903547684 26086:26086 hsa_system_get_info(2, 0x7fc68dca6e98) = 0 +43938903562645:43938903563444 26086:26086 hsa_system_get_info(2, 0x7fc68dca4f60) = 0 +43938903564437:43938903565187 26086:26086 hsa_system_get_info(2, 0x7fc68dca4f68) = 0 +43938903566092:43938903566845 26086:26086 hsa_system_get_info(2, 0x7fc68dca4f70) = 0 +43938903567755:43938903568508 26086:26086 hsa_system_get_info(2, 0x7fc68dca4f78) = 0 +43938903569413:43938903570169 26086:26086 hsa_system_get_info(2, 0x7fc68dca4f80) = 0 +43938903571080:43938903571839 26086:26086 hsa_system_get_info(2, 0x7fc68dca4f88) = 0 +43938903572764:43938903573520 26086:26086 hsa_system_get_info(2, 0x7fc68dca4f90) = 0 +43938903574434:43938903575192 26086:26086 hsa_system_get_info(2, 0x7fc68dca4f98) = 0 +43938903576102:43938903576853 26086:26086 hsa_system_get_info(2, 0x7fc68dca4fa0) = 0 +43938903577760:43938903578512 26086:26086 hsa_system_get_info(2, 0x7fc68dca4fa8) = 0 +43938903579420:43938903580171 26086:26086 hsa_system_get_info(2, 0x7fc68dca4fb0) = 0 +43938903581079:43938903581832 26086:26086 hsa_system_get_info(2, 0x7fc68dca4fb8) = 0 +43938903582739:43938903583504 26086:26086 hsa_system_get_info(2, 0x7fc68dca4fc0) = 0 +43938903584414:43938903585168 26086:26086 hsa_system_get_info(2, 0x7fc68dca4fc8) = 0 +43938903586079:43938903586834 26086:26086 hsa_system_get_info(2, 0x7fc68dca4fd0) = 0 +43938903587739:43938903588495 26086:26086 hsa_system_get_info(2, 0x7fc68dca4fd8) = 0 +43938903589405:43938903590161 26086:26086 hsa_system_get_info(2, 0x7fc68dca4fe0) = 0 +43938903591065:43938903591812 26086:26086 hsa_system_get_info(2, 0x7fc68dca4fe8) = 0 +43938903592722:43938903593470 26086:26086 hsa_system_get_info(2, 0x7fc68dca4ff0) = 0 +43938903594378:43938903595127 26086:26086 hsa_system_get_info(2, 0x7fc68dca4ff8) = 0 +43938903596054:43938903596812 26086:26086 hsa_system_get_info(2, 0x7fc68dca5000) = 0 +43938903597722:43938903598469 26086:26086 hsa_system_get_info(2, 0x7fc68dca5008) = 0 +43938903599389:43938903600143 26086:26086 hsa_system_get_info(2, 0x7fc68dca5010) = 0 +43938903601049:43938903601807 26086:26086 hsa_system_get_info(2, 0x7fc68dca5018) = 0 +43938903602716:43938903603471 26086:26086 hsa_system_get_info(2, 0x7fc68dca5020) = 0 +43938903604385:43938903605145 26086:26086 hsa_system_get_info(2, 0x7fc68dca5028) = 0 +43938903606960:43938903607716 26086:26086 hsa_system_get_info(2, 0x7fc68dca5030) = 0 +43938903608625:43938903609380 26086:26086 hsa_system_get_info(2, 0x7fc68dca5038) = 0 +43938903610290:43938903611050 26086:26086 hsa_system_get_info(2, 0x7fc68dca5040) = 0 +43938903611954:43938903612708 26086:26086 hsa_system_get_info(2, 0x7fc68dca5048) = 0 +43938903613618:43938903614371 26086:26086 hsa_system_get_info(2, 0x7fc68dca5050) = 0 +43938903615277:43938903616029 26086:26086 hsa_system_get_info(2, 0x7fc68dca5058) = 0 +43938903616944:43938903617696 26086:26086 hsa_system_get_info(2, 0x7fc68dca5060) = 0 +43938903618599:43938903619351 26086:26086 hsa_system_get_info(2, 0x7fc68dca5068) = 0 +43938903620264:43938903621028 26086:26086 hsa_system_get_info(2, 0x7fc68dca5070) = 0 +43938903621941:43938903622688 26086:26086 hsa_system_get_info(2, 0x7fc68dca5078) = 0 +43938903623598:43938903624352 26086:26086 hsa_system_get_info(2, 0x7fc68dca5080) = 0 +43938903625261:43938903626019 26086:26086 hsa_system_get_info(2, 0x7fc68dca5088) = 0 +43938903626926:43938903627677 26086:26086 hsa_system_get_info(2, 0x7fc68dca5090) = 0 +43938903628586:43938903629363 26086:26086 hsa_system_get_info(2, 0x7fc68dca5098) = 0 +43938903630270:43938903631031 26086:26086 hsa_system_get_info(2, 0x7fc68dca50a0) = 0 +43938903631935:43938903632690 26086:26086 hsa_system_get_info(2, 0x7fc68dca50a8) = 0 +43938903633621:43938903634383 26086:26086 hsa_system_get_info(2, 0x7fc68dca50b0) = 0 +43938903635291:43938903636043 26086:26086 hsa_system_get_info(2, 0x7fc68dca50b8) = 0 +43938903636950:43938903637703 26086:26086 hsa_system_get_info(2, 0x7fc68dca50c0) = 0 +43938903638608:43938903639355 26086:26086 hsa_system_get_info(2, 0x7fc68dca50c8) = 0 +43938903640260:43938903641025 26086:26086 hsa_system_get_info(2, 0x7fc68dca50d0) = 0 +43938903641934:43938903642684 26086:26086 hsa_system_get_info(2, 0x7fc68dca50d8) = 0 +43938903643594:43938903644340 26086:26086 hsa_system_get_info(2, 0x7fc68dca50e0) = 0 +43938903645250:43938903646009 26086:26086 hsa_system_get_info(2, 0x7fc68dca50e8) = 0 +43938903646918:43938903647672 26086:26086 hsa_system_get_info(2, 0x7fc68dca50f0) = 0 +43938903648577:43938903649338 26086:26086 hsa_system_get_info(2, 0x7fc68dca50f8) = 0 +43938903650242:43938903651002 26086:26086 hsa_system_get_info(2, 0x7fc68dca5100) = 0 +43938903651905:43938903652657 26086:26086 hsa_system_get_info(2, 0x7fc68dca5108) = 0 +43938903654406:43938903655160 26086:26086 hsa_system_get_info(2, 0x7fc68dca5110) = 0 +43938903656066:43938903656817 26086:26086 hsa_system_get_info(2, 0x7fc68dca5118) = 0 +43938903657726:43938903658468 26086:26086 hsa_system_get_info(2, 0x7fc68dca5120) = 0 +43938903659374:43938903660121 26086:26086 hsa_system_get_info(2, 0x7fc68dca5128) = 0 +43938903661028:43938903661776 26086:26086 hsa_system_get_info(2, 0x7fc68dca5130) = 0 +43938903662685:43938903663441 26086:26086 hsa_system_get_info(2, 0x7fc68dca5138) = 0 +43938903664345:43938903665099 26086:26086 hsa_system_get_info(2, 0x7fc68dca5140) = 0 +43938903666008:43938903666761 26086:26086 hsa_system_get_info(2, 0x7fc68dca5148) = 0 +43938903667666:43938903668420 26086:26086 hsa_system_get_info(2, 0x7fc68dca5150) = 0 +43938903669328:43938903670077 26086:26086 hsa_system_get_info(2, 0x7fc68dca5158) = 0 +43938903670983:43938903671740 26086:26086 hsa_system_get_info(2, 0x7fc68dca5160) = 0 +43938903672646:43938903673404 26086:26086 hsa_system_get_info(2, 0x7fc68dca5168) = 0 +43938903674305:43938903675059 26086:26086 hsa_system_get_info(2, 0x7fc68dca5170) = 0 +43938903675988:43938903676743 26086:26086 hsa_system_get_info(2, 0x7fc68dca5178) = 0 +43938903677655:43938903678408 26086:26086 hsa_system_get_info(2, 0x7fc68dca5180) = 0 +43938903679310:43938903680063 26086:26086 hsa_system_get_info(2, 0x7fc68dca5188) = 0 +43938903680972:43938903681723 26086:26086 hsa_system_get_info(2, 0x7fc68dca5190) = 0 +43938903682629:43938903683382 26086:26086 hsa_system_get_info(2, 0x7fc68dca5198) = 0 +43938903684285:43938903685037 26086:26086 hsa_system_get_info(2, 0x7fc68dca51a0) = 0 +43938903685942:43938903686696 26086:26086 hsa_system_get_info(2, 0x7fc68dca51a8) = 0 +43938903687601:43938903688351 26086:26086 hsa_system_get_info(2, 0x7fc68dca51b0) = 0 +43938903689257:43938903690005 26086:26086 hsa_system_get_info(2, 0x7fc68dca51b8) = 0 +43938903690911:43938903691664 26086:26086 hsa_system_get_info(2, 0x7fc68dca51c0) = 0 +43938903692570:43938903693321 26086:26086 hsa_system_get_info(2, 0x7fc68dca51c8) = 0 +43938903694237:43938903694995 26086:26086 hsa_system_get_info(2, 0x7fc68dca51d0) = 0 +43938903695908:43938903696667 26086:26086 hsa_system_get_info(2, 0x7fc68dca51d8) = 0 +43938903697573:43938903698328 26086:26086 hsa_system_get_info(2, 0x7fc68dca51e0) = 0 +43938903699238:43938903700010 26086:26086 hsa_system_get_info(2, 0x7fc68dca51e8) = 0 +43938903700921:43938903701676 26086:26086 hsa_system_get_info(2, 0x7fc68dca51f0) = 0 +43938903703443:43938903704199 26086:26086 hsa_system_get_info(2, 0x7fc68dca51f8) = 0 +43938903705108:43938903705853 26086:26086 hsa_system_get_info(2, 0x7fc68dca5200) = 0 +43938903706766:43938903707518 26086:26086 hsa_system_get_info(2, 0x7fc68dca5208) = 0 +43938903708418:43938903709179 26086:26086 hsa_system_get_info(2, 0x7fc68dca5210) = 0 +43938903710088:43938903710838 26086:26086 hsa_system_get_info(2, 0x7fc68dca5218) = 0 +43938903711753:43938903712499 26086:26086 hsa_system_get_info(2, 0x7fc68dca5220) = 0 +43938903713404:43938903714167 26086:26086 hsa_system_get_info(2, 0x7fc68dca5228) = 0 +43938903715073:43938903715824 26086:26086 hsa_system_get_info(2, 0x7fc68dca5230) = 0 +43938903716728:43938903717481 26086:26086 hsa_system_get_info(2, 0x7fc68dca5238) = 0 +43938903718389:43938903719140 26086:26086 hsa_system_get_info(2, 0x7fc68dca5240) = 0 +43938903720046:43938903720799 26086:26086 hsa_system_get_info(2, 0x7fc68dca5248) = 0 +43938903721705:43938903722463 26086:26086 hsa_system_get_info(2, 0x7fc68dca5250) = 0 +43938903723371:43938903724125 26086:26086 hsa_system_get_info(2, 0x7fc68dca5258) = 0 +43938903725034:43938903725787 26086:26086 hsa_system_get_info(2, 0x7fc68dca5260) = 0 +43938903726698:43938903727454 26086:26086 hsa_system_get_info(2, 0x7fc68dca5268) = 0 +43938903728364:43938903729132 26086:26086 hsa_system_get_info(2, 0x7fc68dca5270) = 0 +43938903730041:43938903730802 26086:26086 hsa_system_get_info(2, 0x7fc68dca5278) = 0 +43938903731708:43938903732462 26086:26086 hsa_system_get_info(2, 0x7fc68dca5280) = 0 +43938903733374:43938903734131 26086:26086 hsa_system_get_info(2, 0x7fc68dca5288) = 0 +43938903735042:43938903735791 26086:26086 hsa_system_get_info(2, 0x7fc68dca5290) = 0 +43938903736694:43938903737447 26086:26086 hsa_system_get_info(2, 0x7fc68dca5298) = 0 +43938903738353:43938903739112 26086:26086 hsa_system_get_info(2, 0x7fc68dca52a0) = 0 +43938903740043:43938903740792 26086:26086 hsa_system_get_info(2, 0x7fc68dca52a8) = 0 +43938903741710:43938903742470 26086:26086 hsa_system_get_info(2, 0x7fc68dca52b0) = 0 +43938903743418:43938903744172 26086:26086 hsa_system_get_info(2, 0x7fc68dca52b8) = 0 +43938903745075:43938903745827 26086:26086 hsa_system_get_info(2, 0x7fc68dca52c0) = 0 +43938903746735:43938903747487 26086:26086 hsa_system_get_info(2, 0x7fc68dca52c8) = 0 +43938903748391:43938903749152 26086:26086 hsa_system_get_info(2, 0x7fc68dca52d0) = 0 +43938903750903:43938903751660 26086:26086 hsa_system_get_info(2, 0x7fc68dca52d8) = 0 +43938903752561:43938903753310 26086:26086 hsa_system_get_info(2, 0x7fc68dca52e0) = 0 +43938903754217:43938903754963 26086:26086 hsa_system_get_info(2, 0x7fc68dca52e8) = 0 +43938903755868:43938903756620 26086:26086 hsa_system_get_info(2, 0x7fc68dca52f0) = 0 +43938903757527:43938903758278 26086:26086 hsa_system_get_info(2, 0x7fc68dca52f8) = 0 +43938903759182:43938903759937 26086:26086 hsa_system_get_info(2, 0x7fc68dca5300) = 0 +43938903760845:43938903761599 26086:26086 hsa_system_get_info(2, 0x7fc68dca5308) = 0 +43938903762505:43938903763251 26086:26086 hsa_system_get_info(2, 0x7fc68dca5310) = 0 +43938903764164:43938903764923 26086:26086 hsa_system_get_info(2, 0x7fc68dca5318) = 0 +43938903765833:43938903766588 26086:26086 hsa_system_get_info(2, 0x7fc68dca5320) = 0 +43938903767498:43938903768241 26086:26086 hsa_system_get_info(2, 0x7fc68dca5328) = 0 +43938903769153:43938903769895 26086:26086 hsa_system_get_info(2, 0x7fc68dca5330) = 0 +43938903770801:43938903771556 26086:26086 hsa_system_get_info(2, 0x7fc68dca5338) = 0 +43938903772462:43938903773209 26086:26086 hsa_system_get_info(2, 0x7fc68dca5340) = 0 +43938903774134:43938903774890 26086:26086 hsa_system_get_info(2, 0x7fc68dca5348) = 0 +43938903775799:43938903776558 26086:26086 hsa_system_get_info(2, 0x7fc68dca5350) = 0 +43938903777473:43938903778225 26086:26086 hsa_system_get_info(2, 0x7fc68dca5358) = 0 +43938903779131:43938903779883 26086:26086 hsa_system_get_info(2, 0x7fc68dca5360) = 0 +43938903780790:43938903781536 26086:26086 hsa_system_get_info(2, 0x7fc68dca5368) = 0 +43938903782443:43938903783196 26086:26086 hsa_system_get_info(2, 0x7fc68dca5370) = 0 +43938903784103:43938903784849 26086:26086 hsa_system_get_info(2, 0x7fc68dca5378) = 0 +43938903785756:43938903786510 26086:26086 hsa_system_get_info(2, 0x7fc68dca5380) = 0 +43938903787416:43938903788173 26086:26086 hsa_system_get_info(2, 0x7fc68dca5388) = 0 +43938903789083:43938903789836 26086:26086 hsa_system_get_info(2, 0x7fc68dca5390) = 0 +43938903790742:43938903791491 26086:26086 hsa_system_get_info(2, 0x7fc68dca5398) = 0 +43938903792405:43938903793161 26086:26086 hsa_system_get_info(2, 0x7fc68dca53a0) = 0 +43938903794074:43938903794819 26086:26086 hsa_system_get_info(2, 0x7fc68dca53a8) = 0 +43938903795748:43938903796504 26086:26086 hsa_system_get_info(2, 0x7fc68dca53b0) = 0 +43938903797419:43938903798172 26086:26086 hsa_system_get_info(2, 0x7fc68dca53b8) = 0 +43938903799943:43938903800701 26086:26086 hsa_system_get_info(2, 0x7fc68dca53c0) = 0 +43938903801618:43938903802368 26086:26086 hsa_system_get_info(2, 0x7fc68dca53c8) = 0 +43938903803279:43938903804030 26086:26086 hsa_system_get_info(2, 0x7fc68dca53d0) = 0 +43938903804936:43938903805699 26086:26086 hsa_system_get_info(2, 0x7fc68dca53d8) = 0 +43938903806627:43938903807378 26086:26086 hsa_system_get_info(2, 0x7fc68dca53e0) = 0 +43938903808289:43938903809037 26086:26086 hsa_system_get_info(2, 0x7fc68dca53e8) = 0 +43938903809947:43938903810704 26086:26086 hsa_system_get_info(2, 0x7fc68dca53f0) = 0 +43938903811614:43938903812373 26086:26086 hsa_system_get_info(2, 0x7fc68dca53f8) = 0 +43938903813277:43938903814032 26086:26086 hsa_system_get_info(2, 0x7fc68dca5400) = 0 +43938903814944:43938903815700 26086:26086 hsa_system_get_info(2, 0x7fc68dca5408) = 0 +43938903816606:43938903817353 26086:26086 hsa_system_get_info(2, 0x7fc68dca5410) = 0 +43938903818264:43938903819018 26086:26086 hsa_system_get_info(2, 0x7fc68dca5418) = 0 +43938903819922:43938903820679 26086:26086 hsa_system_get_info(2, 0x7fc68dca5420) = 0 +43938903821591:43938903822341 26086:26086 hsa_system_get_info(2, 0x7fc68dca5428) = 0 +43938903823244:43938903823999 26086:26086 hsa_system_get_info(2, 0x7fc68dca5430) = 0 +43938903824905:43938903825658 26086:26086 hsa_system_get_info(2, 0x7fc68dca5438) = 0 +43938903826560:43938903827319 26086:26086 hsa_system_get_info(2, 0x7fc68dca5440) = 0 +43938903828228:43938903828985 26086:26086 hsa_system_get_info(2, 0x7fc68dca5448) = 0 +43938903829912:43938903830672 26086:26086 hsa_system_get_info(2, 0x7fc68dca5450) = 0 +43938903831581:43938903832339 26086:26086 hsa_system_get_info(2, 0x7fc68dca5458) = 0 +43938903833243:43938903833998 26086:26086 hsa_system_get_info(2, 0x7fc68dca5460) = 0 +43938903834905:43938903835661 26086:26086 hsa_system_get_info(2, 0x7fc68dca5468) = 0 +43938903836565:43938903837320 26086:26086 hsa_system_get_info(2, 0x7fc68dca5470) = 0 +43938903838243:43938903839004 26086:26086 hsa_system_get_info(2, 0x7fc68dca5478) = 0 +43938903839919:43938903840672 26086:26086 hsa_system_get_info(2, 0x7fc68dca5480) = 0 +43938903841575:43938903842331 26086:26086 hsa_system_get_info(2, 0x7fc68dca5488) = 0 +43938903843236:43938903843991 26086:26086 hsa_system_get_info(2, 0x7fc68dca5490) = 0 +43938903844893:43938903845653 26086:26086 hsa_system_get_info(2, 0x7fc68dca5498) = 0 +43938903848317:43938903849081 26086:26086 hsa_system_get_info(2, 0x7fc68dca54a0) = 0 +43938903849992:43938903850750 26086:26086 hsa_system_get_info(2, 0x7fc68dca54a8) = 0 +43938903851654:43938903852401 26086:26086 hsa_system_get_info(2, 0x7fc68dca54b0) = 0 +43938903853307:43938903854056 26086:26086 hsa_system_get_info(2, 0x7fc68dca54b8) = 0 +43938903854967:43938903855715 26086:26086 hsa_system_get_info(2, 0x7fc68dca54c0) = 0 +43938903856620:43938903857370 26086:26086 hsa_system_get_info(2, 0x7fc68dca54c8) = 0 +43938903858279:43938903859026 26086:26086 hsa_system_get_info(2, 0x7fc68dca54d0) = 0 +43938903859936:43938903860689 26086:26086 hsa_system_get_info(2, 0x7fc68dca54d8) = 0 +43938903861598:43938903862352 26086:26086 hsa_system_get_info(2, 0x7fc68dca54e0) = 0 +43938903863256:43938903864010 26086:26086 hsa_system_get_info(2, 0x7fc68dca54e8) = 0 +43938903864919:43938903865670 26086:26086 hsa_system_get_info(2, 0x7fc68dca54f0) = 0 +43938903866578:43938903867328 26086:26086 hsa_system_get_info(2, 0x7fc68dca54f8) = 0 +43938903868251:43938903869007 26086:26086 hsa_system_get_info(2, 0x7fc68dca5500) = 0 +43938903869919:43938903870681 26086:26086 hsa_system_get_info(2, 0x7fc68dca5508) = 0 +43938903871585:43938903872341 26086:26086 hsa_system_get_info(2, 0x7fc68dca5510) = 0 +43938903873252:43938903874007 26086:26086 hsa_system_get_info(2, 0x7fc68dca5518) = 0 +43938903874913:43938903875668 26086:26086 hsa_system_get_info(2, 0x7fc68dca5520) = 0 +43938903876573:43938903877335 26086:26086 hsa_system_get_info(2, 0x7fc68dca5528) = 0 +43938903878245:43938903878996 26086:26086 hsa_system_get_info(2, 0x7fc68dca5530) = 0 +43938903879906:43938903880659 26086:26086 hsa_system_get_info(2, 0x7fc68dca5538) = 0 +43938903881565:43938903882325 26086:26086 hsa_system_get_info(2, 0x7fc68dca5540) = 0 +43938903883231:43938903883990 26086:26086 hsa_system_get_info(2, 0x7fc68dca5548) = 0 +43938903884905:43938903885658 26086:26086 hsa_system_get_info(2, 0x7fc68dca5550) = 0 +43938903886562:43938903887318 26086:26086 hsa_system_get_info(2, 0x7fc68dca5558) = 0 +43938903888228:43938903888985 26086:26086 hsa_system_get_info(2, 0x7fc68dca5560) = 0 +43938903889895:43938903890643 26086:26086 hsa_system_get_info(2, 0x7fc68dca5568) = 0 +43938903891552:43938903892301 26086:26086 hsa_system_get_info(2, 0x7fc68dca5570) = 0 +43938903893210:43938903893966 26086:26086 hsa_system_get_info(2, 0x7fc68dca5578) = 0 +43938903894904:43938903895654 26086:26086 hsa_system_get_info(2, 0x7fc68dca5580) = 0 +43938903897452:43938903898216 26086:26086 hsa_system_get_info(2, 0x7fc68dca5588) = 0 +43938903899128:43938903899883 26086:26086 hsa_system_get_info(2, 0x7fc68dca5590) = 0 +43938903900791:43938903901549 26086:26086 hsa_system_get_info(2, 0x7fc68dca5598) = 0 +43938903902463:43938903903217 26086:26086 hsa_system_get_info(2, 0x7fc68dca55a0) = 0 +43938903904121:43938903904879 26086:26086 hsa_system_get_info(2, 0x7fc68dca55a8) = 0 +43938903905788:43938903906543 26086:26086 hsa_system_get_info(2, 0x7fc68dca55b0) = 0 +43938903907459:43938903908212 26086:26086 hsa_system_get_info(2, 0x7fc68dca55b8) = 0 +43938903909120:43938903909875 26086:26086 hsa_system_get_info(2, 0x7fc68dca55c0) = 0 +43938903910786:43938903911535 26086:26086 hsa_system_get_info(2, 0x7fc68dca55c8) = 0 +43938903912447:43938903913200 26086:26086 hsa_system_get_info(2, 0x7fc68dca55d0) = 0 +43938903914112:43938903914865 26086:26086 hsa_system_get_info(2, 0x7fc68dca55d8) = 0 +43938903915768:43938903916521 26086:26086 hsa_system_get_info(2, 0x7fc68dca55e0) = 0 +43938903917434:43938903918191 26086:26086 hsa_system_get_info(2, 0x7fc68dca55e8) = 0 +43938903919097:43938903919854 26086:26086 hsa_system_get_info(2, 0x7fc68dca55f0) = 0 +43938903920786:43938903921536 26086:26086 hsa_system_get_info(2, 0x7fc68dca55f8) = 0 +43938903922443:43938903923205 26086:26086 hsa_system_get_info(2, 0x7fc68dca5600) = 0 +43938903924117:43938903924879 26086:26086 hsa_system_get_info(2, 0x7fc68dca5608) = 0 +43938903925789:43938903926545 26086:26086 hsa_system_get_info(2, 0x7fc68dca5610) = 0 +43938903927456:43938903928211 26086:26086 hsa_system_get_info(2, 0x7fc68dca5618) = 0 +43938903929124:43938903929880 26086:26086 hsa_system_get_info(2, 0x7fc68dca5620) = 0 +43938903930785:43938903931543 26086:26086 hsa_system_get_info(2, 0x7fc68dca5628) = 0 +43938903932450:43938903933214 26086:26086 hsa_system_get_info(2, 0x7fc68dca5630) = 0 +43938903934121:43938903934878 26086:26086 hsa_system_get_info(2, 0x7fc68dca5638) = 0 +43938903935780:43938903936533 26086:26086 hsa_system_get_info(2, 0x7fc68dca5640) = 0 +43938903937453:43938903938206 26086:26086 hsa_system_get_info(2, 0x7fc68dca5648) = 0 +43938903939116:43938903939869 26086:26086 hsa_system_get_info(2, 0x7fc68dca5650) = 0 +43938903940781:43938903941529 26086:26086 hsa_system_get_info(2, 0x7fc68dca5658) = 0 +43938903942430:43938903943183 26086:26086 hsa_system_get_info(2, 0x7fc68dca5660) = 0 +43938903944992:43938903945760 26086:26086 hsa_system_get_info(2, 0x7fc68dca5668) = 0 +43938903946665:43938903947413 26086:26086 hsa_system_get_info(2, 0x7fc68dca5670) = 0 +43938903948322:43938903949071 26086:26086 hsa_system_get_info(2, 0x7fc68dca5678) = 0 +43938903949978:43938903950732 26086:26086 hsa_system_get_info(2, 0x7fc68dca5680) = 0 +43938903951635:43938903952386 26086:26086 hsa_system_get_info(2, 0x7fc68dca5688) = 0 +43938903953297:43938903954048 26086:26086 hsa_system_get_info(2, 0x7fc68dca5690) = 0 +43938903954957:43938903955717 26086:26086 hsa_system_get_info(2, 0x7fc68dca5698) = 0 +43938903956626:43938903957376 26086:26086 hsa_system_get_info(2, 0x7fc68dca56a0) = 0 +43938903958288:43938903959038 26086:26086 hsa_system_get_info(2, 0x7fc68dca56a8) = 0 +43938903959947:43938903960702 26086:26086 hsa_system_get_info(2, 0x7fc68dca56b0) = 0 +43938903961613:43938903962359 26086:26086 hsa_system_get_info(2, 0x7fc68dca56b8) = 0 +43938903963269:43938903964021 26086:26086 hsa_system_get_info(2, 0x7fc68dca56c0) = 0 +43938903964924:43938903965678 26086:26086 hsa_system_get_info(2, 0x7fc68dca56c8) = 0 +43938903966591:43938903967346 26086:26086 hsa_system_get_info(2, 0x7fc68dca56d0) = 0 +43938903968275:43938903969028 26086:26086 hsa_system_get_info(2, 0x7fc68dca56d8) = 0 +43938903969940:43938903970694 26086:26086 hsa_system_get_info(2, 0x7fc68dca56e0) = 0 +43938903971602:43938903972358 26086:26086 hsa_system_get_info(2, 0x7fc68dca56e8) = 0 +43938903973269:43938903974026 26086:26086 hsa_system_get_info(2, 0x7fc68dca56f0) = 0 +43938903974958:43938903975722 26086:26086 hsa_system_get_info(2, 0x7fc68dca56f8) = 0 +43938903976628:43938903977378 26086:26086 hsa_system_get_info(2, 0x7fc68dca5700) = 0 +43938903978285:43938903979044 26086:26086 hsa_system_get_info(2, 0x7fc68dca5708) = 0 +43938903979950:43938903980706 26086:26086 hsa_system_get_info(2, 0x7fc68dca5710) = 0 +43938903981612:43938903982367 26086:26086 hsa_system_get_info(2, 0x7fc68dca5718) = 0 +43938903983277:43938903984027 26086:26086 hsa_system_get_info(2, 0x7fc68dca5720) = 0 +43938903984932:43938903985676 26086:26086 hsa_system_get_info(2, 0x7fc68dca5728) = 0 +43938903986602:43938903987355 26086:26086 hsa_system_get_info(2, 0x7fc68dca5730) = 0 +43938903988265:43938903989016 26086:26086 hsa_system_get_info(2, 0x7fc68dca5738) = 0 +43938903989927:43938903990679 26086:26086 hsa_system_get_info(2, 0x7fc68dca5740) = 0 +43938903992427:43938903993182 26086:26086 hsa_system_get_info(2, 0x7fc68dca5748) = 0 +43938903994095:43938903994847 26086:26086 hsa_system_get_info(2, 0x7fc68dca5750) = 0 +43938903995760:43938903996514 26086:26086 hsa_system_get_info(2, 0x7fc68dca5758) = 0 +43938903997438:43938903998186 26086:26086 hsa_system_get_info(2, 0x7fc68dca5760) = 0 +43938903999094:43938903999846 26086:26086 hsa_system_get_info(2, 0x7fc68dca5768) = 0 +43938904007221:43938904007998 26086:26086 hsa_system_get_info(2, 0x7fc68dca5770) = 0 +43938904008910:43938904009670 26086:26086 hsa_system_get_info(2, 0x7fc68dca5778) = 0 +43938904010577:43938904011330 26086:26086 hsa_system_get_info(2, 0x7fc68dca5780) = 0 +43938904027700:43938904028341 26086:26086 hsa_system_get_info(2, 0x7fc68dca5788) = 0 +43938904029101:43938904029723 26086:26086 hsa_system_get_info(2, 0x7fc68dca5790) = 0 +43938904030474:43938904031092 26086:26086 hsa_system_get_info(2, 0x7fc68dca5798) = 0 +43938904031842:43938904032465 26086:26086 hsa_system_get_info(2, 0x7fc68dca57a0) = 0 +43938904033220:43938904033841 26086:26086 hsa_system_get_info(2, 0x7fc68dca57a8) = 0 +43938904034589:43938904035210 26086:26086 hsa_system_get_info(2, 0x7fc68dca57b0) = 0 +43938904035961:43938904036581 26086:26086 hsa_system_get_info(2, 0x7fc68dca57b8) = 0 +43938904037332:43938904037951 26086:26086 hsa_system_get_info(2, 0x7fc68dca57c0) = 0 +43938904038702:43938904039323 26086:26086 hsa_system_get_info(2, 0x7fc68dca57c8) = 0 +43938904040069:43938904040685 26086:26086 hsa_system_get_info(2, 0x7fc68dca57d0) = 0 +43938904041440:43938904042059 26086:26086 hsa_system_get_info(2, 0x7fc68dca57d8) = 0 +43938904042807:43938904043426 26086:26086 hsa_system_get_info(2, 0x7fc68dca57e0) = 0 +43938904044171:43938904044790 26086:26086 hsa_system_get_info(2, 0x7fc68dca57e8) = 0 +43938904045541:43938904046158 26086:26086 hsa_system_get_info(2, 0x7fc68dca57f0) = 0 +43938904046904:43938904047524 26086:26086 hsa_system_get_info(2, 0x7fc68dca57f8) = 0 +43938904048284:43938904048908 26086:26086 hsa_system_get_info(2, 0x7fc68dca5800) = 0 +43938904049664:43938904050285 26086:26086 hsa_system_get_info(2, 0x7fc68dca5808) = 0 +43938904051040:43938904051660 26086:26086 hsa_system_get_info(2, 0x7fc68dca5810) = 0 +43938904052406:43938904053027 26086:26086 hsa_system_get_info(2, 0x7fc68dca5818) = 0 +43938904053775:43938904054398 26086:26086 hsa_system_get_info(2, 0x7fc68dca5820) = 0 +43938904055144:43938904055767 26086:26086 hsa_system_get_info(2, 0x7fc68dca5828) = 0 +43938904058785:43938904059420 26086:26086 hsa_system_get_info(2, 0x7fc68dca5830) = 0 +43938904060175:43938904060791 26086:26086 hsa_system_get_info(2, 0x7fc68dca5838) = 0 +43938904061537:43938904062156 26086:26086 hsa_system_get_info(2, 0x7fc68dca5840) = 0 +43938904062906:43938904063523 26086:26086 hsa_system_get_info(2, 0x7fc68dca5848) = 0 +43938904064300:43938904064923 26086:26086 hsa_system_get_info(2, 0x7fc68dca5850) = 0 +43938904065673:43938904066290 26086:26086 hsa_system_get_info(2, 0x7fc68dca5858) = 0 +43938904067041:43938904067665 26086:26086 hsa_system_get_info(2, 0x7fc68dca5860) = 0 +43938904068420:43938904069041 26086:26086 hsa_system_get_info(2, 0x7fc68dca5868) = 0 +43938904069791:43938904070411 26086:26086 hsa_system_get_info(2, 0x7fc68dca5870) = 0 +43938904071162:43938904071781 26086:26086 hsa_system_get_info(2, 0x7fc68dca5878) = 0 +43938904072531:43938904073147 26086:26086 hsa_system_get_info(2, 0x7fc68dca5880) = 0 +43938904073896:43938904074517 26086:26086 hsa_system_get_info(2, 0x7fc68dca5888) = 0 +43938904075268:43938904075889 26086:26086 hsa_system_get_info(2, 0x7fc68dca5890) = 0 +43938904076638:43938904077255 26086:26086 hsa_system_get_info(2, 0x7fc68dca5898) = 0 +43938904078001:43938904078619 26086:26086 hsa_system_get_info(2, 0x7fc68dca58a0) = 0 +43938904079367:43938904079985 26086:26086 hsa_system_get_info(2, 0x7fc68dca58a8) = 0 +43938904080732:43938904081351 26086:26086 hsa_system_get_info(2, 0x7fc68dca58b0) = 0 +43938904082102:43938904082727 26086:26086 hsa_system_get_info(2, 0x7fc68dca58b8) = 0 +43938904083474:43938904084114 26086:26086 hsa_system_get_info(2, 0x7fc68dca58c0) = 0 +43938904084860:43938904085483 26086:26086 hsa_system_get_info(2, 0x7fc68dca58c8) = 0 +43938904086232:43938904086856 26086:26086 hsa_system_get_info(2, 0x7fc68dca58d0) = 0 +43938904087604:43938904088222 26086:26086 hsa_system_get_info(2, 0x7fc68dca58d8) = 0 +43938904088971:43938904089586 26086:26086 hsa_system_get_info(2, 0x7fc68dca58e0) = 0 +43938904090365:43938904090987 26086:26086 hsa_system_get_info(2, 0x7fc68dca58e8) = 0 +43938904091737:43938904092356 26086:26086 hsa_system_get_info(2, 0x7fc68dca58f0) = 0 +43938904093105:43938904093724 26086:26086 hsa_system_get_info(2, 0x7fc68dca58f8) = 0 +43938904094475:43938904095092 26086:26086 hsa_system_get_info(2, 0x7fc68dca5900) = 0 +43938904095840:43938904096461 26086:26086 hsa_system_get_info(2, 0x7fc68dca5908) = 0 +43938904097919:43938904098543 26086:26086 hsa_system_get_info(2, 0x7fc68dca5910) = 0 +43938904099297:43938904099912 26086:26086 hsa_system_get_info(2, 0x7fc68dca5918) = 0 +43938904100667:43938904101294 26086:26086 hsa_system_get_info(2, 0x7fc68dca5920) = 0 +43938904102049:43938904102671 26086:26086 hsa_system_get_info(2, 0x7fc68dca5928) = 0 +43938904103423:43938904104043 26086:26086 hsa_system_get_info(2, 0x7fc68dca5930) = 0 +43938904104795:43938904105421 26086:26086 hsa_system_get_info(2, 0x7fc68dca5938) = 0 +43938904106172:43938904106793 26086:26086 hsa_system_get_info(2, 0x7fc68dca5940) = 0 +43938904107545:43938904108175 26086:26086 hsa_system_get_info(2, 0x7fc68dca5948) = 0 +43938904108929:43938904109554 26086:26086 hsa_system_get_info(2, 0x7fc68dca5950) = 0 +43938904110307:43938904110927 26086:26086 hsa_system_get_info(2, 0x7fc68dca5958) = 0 +43938904111679:43938904112310 26086:26086 hsa_system_get_info(2, 0x7fc68dca5960) = 0 +43938904113059:43938904113685 26086:26086 hsa_system_get_info(2, 0x7fc68dca5968) = 0 +43938904114435:43938904115055 26086:26086 hsa_system_get_info(2, 0x7fc68dca5970) = 0 +43938904115803:43938904116439 26086:26086 hsa_system_get_info(2, 0x7fc68dca5978) = 0 +43938904117190:43938904117809 26086:26086 hsa_system_get_info(2, 0x7fc68dca5980) = 0 +43938904118555:43938904119173 26086:26086 hsa_system_get_info(2, 0x7fc68dca5988) = 0 +43938904119916:43938904120542 26086:26086 hsa_system_get_info(2, 0x7fc68dca5990) = 0 +43938904121293:43938904121919 26086:26086 hsa_system_get_info(2, 0x7fc68dca5998) = 0 +43938904122665:43938904123290 26086:26086 hsa_system_get_info(2, 0x7fc68dca59a0) = 0 +43938904124042:43938904124659 26086:26086 hsa_system_get_info(2, 0x7fc68dca59a8) = 0 +43938904125428:43938904126048 26086:26086 hsa_system_get_info(2, 0x7fc68dca59b0) = 0 +43938904126802:43938904127419 26086:26086 hsa_system_get_info(2, 0x7fc68dca59b8) = 0 +43938904128166:43938904128796 26086:26086 hsa_system_get_info(2, 0x7fc68dca59c0) = 0 +43938904129544:43938904130161 26086:26086 hsa_system_get_info(2, 0x7fc68dca59c8) = 0 +43938904130908:43938904131528 26086:26086 hsa_system_get_info(2, 0x7fc68dca59d0) = 0 +43938904132279:43938904132900 26086:26086 hsa_system_get_info(2, 0x7fc68dca59d8) = 0 +43938904133652:43938904134277 26086:26086 hsa_system_get_info(2, 0x7fc68dca59e0) = 0 +43938904135024:43938904135651 26086:26086 hsa_system_get_info(2, 0x7fc68dca59e8) = 0 +43938904136401:43938904137025 26086:26086 hsa_system_get_info(2, 0x7fc68dca59f0) = 0 +43938904138474:43938904139103 26086:26086 hsa_system_get_info(2, 0x7fc68dca59f8) = 0 +43938904139852:43938904140464 26086:26086 hsa_system_get_info(2, 0x7fc68dca5a00) = 0 +43938904141216:43938904141842 26086:26086 hsa_system_get_info(2, 0x7fc68dca5a08) = 0 +43938904142595:43938904143215 26086:26086 hsa_system_get_info(2, 0x7fc68dca5a10) = 0 +43938904143968:43938904144588 26086:26086 hsa_system_get_info(2, 0x7fc68dca5a18) = 0 +43938904145335:43938904145958 26086:26086 hsa_system_get_info(2, 0x7fc68dca5a20) = 0 +43938904146705:43938904147327 26086:26086 hsa_system_get_info(2, 0x7fc68dca5a28) = 0 +43938904148077:43938904148699 26086:26086 hsa_system_get_info(2, 0x7fc68dca5a30) = 0 +43938904149449:43938904150072 26086:26086 hsa_system_get_info(2, 0x7fc68dca5a38) = 0 +43938904150824:43938904151442 26086:26086 hsa_system_get_info(2, 0x7fc68dca5a40) = 0 +43938904152188:43938904152809 26086:26086 hsa_system_get_info(2, 0x7fc68dca5a48) = 0 +43938904153558:43938904154180 26086:26086 hsa_system_get_info(2, 0x7fc68dca5a50) = 0 +43938904154932:43938904155552 26086:26086 hsa_system_get_info(2, 0x7fc68dca5a58) = 0 +43938904156301:43938904156923 26086:26086 hsa_system_get_info(2, 0x7fc68dca5a60) = 0 +43938904157686:43938904158307 26086:26086 hsa_system_get_info(2, 0x7fc68dca5a68) = 0 +43938904159056:43938904159673 26086:26086 hsa_system_get_info(2, 0x7fc68dca5a70) = 0 +43938904160424:43938904161046 26086:26086 hsa_system_get_info(2, 0x7fc68dca5a78) = 0 +43938904161813:43938904162437 26086:26086 hsa_system_get_info(2, 0x7fc68dca5a80) = 0 +43938904163189:43938904163809 26086:26086 hsa_system_get_info(2, 0x7fc68dca5a88) = 0 +43938904164555:43938904165172 26086:26086 hsa_system_get_info(2, 0x7fc68dca5a90) = 0 +43938904165921:43938904166543 26086:26086 hsa_system_get_info(2, 0x7fc68dca5a98) = 0 +43938904167297:43938904167916 26086:26086 hsa_system_get_info(2, 0x7fc68dca5aa0) = 0 +43938904168668:43938904169287 26086:26086 hsa_system_get_info(2, 0x7fc68dca5aa8) = 0 +43938904170033:43938904170655 26086:26086 hsa_system_get_info(2, 0x7fc68dca5ab0) = 0 +43938904171430:43938904172050 26086:26086 hsa_system_get_info(2, 0x7fc68dca5ab8) = 0 +43938904172800:43938904173421 26086:26086 hsa_system_get_info(2, 0x7fc68dca5ac0) = 0 +43938904174173:43938904174795 26086:26086 hsa_system_get_info(2, 0x7fc68dca5ac8) = 0 +43938904175542:43938904176162 26086:26086 hsa_system_get_info(2, 0x7fc68dca5ad0) = 0 +43938904177615:43938904178235 26086:26086 hsa_system_get_info(2, 0x7fc68dca5ad8) = 0 +43938904178978:43938904179599 26086:26086 hsa_system_get_info(2, 0x7fc68dca5ae0) = 0 +43938904180350:43938904180968 26086:26086 hsa_system_get_info(2, 0x7fc68dca5ae8) = 0 +43938904181719:43938904182337 26086:26086 hsa_system_get_info(2, 0x7fc68dca5af0) = 0 +43938904183082:43938904183702 26086:26086 hsa_system_get_info(2, 0x7fc68dca5af8) = 0 +43938904184450:43938904185072 26086:26086 hsa_system_get_info(2, 0x7fc68dca5b00) = 0 +43938904185819:43938904186447 26086:26086 hsa_system_get_info(2, 0x7fc68dca5b08) = 0 +43938904187194:43938904187820 26086:26086 hsa_system_get_info(2, 0x7fc68dca5b10) = 0 +43938904188565:43938904189191 26086:26086 hsa_system_get_info(2, 0x7fc68dca5b18) = 0 +43938904189942:43938904190570 26086:26086 hsa_system_get_info(2, 0x7fc68dca5b20) = 0 +43938904191316:43938904191942 26086:26086 hsa_system_get_info(2, 0x7fc68dca5b28) = 0 +43938904192690:43938904193306 26086:26086 hsa_system_get_info(2, 0x7fc68dca5b30) = 0 +43938904194054:43938904194675 26086:26086 hsa_system_get_info(2, 0x7fc68dca5b38) = 0 +43938904195442:43938904196065 26086:26086 hsa_system_get_info(2, 0x7fc68dca5b40) = 0 +43938904196813:43938904197435 26086:26086 hsa_system_get_info(2, 0x7fc68dca5b48) = 0 +43938904198181:43938904198807 26086:26086 hsa_system_get_info(2, 0x7fc68dca5b50) = 0 +43938904199556:43938904200177 26086:26086 hsa_system_get_info(2, 0x7fc68dca5b58) = 0 +43938904200930:43938904201553 26086:26086 hsa_system_get_info(2, 0x7fc68dca5b60) = 0 +43938904202300:43938904202922 26086:26086 hsa_system_get_info(2, 0x7fc68dca5b68) = 0 +43938904203678:43938904204298 26086:26086 hsa_system_get_info(2, 0x7fc68dca5b70) = 0 +43938904205045:43938904205669 26086:26086 hsa_system_get_info(2, 0x7fc68dca5b78) = 0 +43938904206420:43938904207041 26086:26086 hsa_system_get_info(2, 0x7fc68dca5b80) = 0 +43938904207794:43938904208416 26086:26086 hsa_system_get_info(2, 0x7fc68dca5b88) = 0 +43938904209163:43938904209787 26086:26086 hsa_system_get_info(2, 0x7fc68dca5b90) = 0 +43938904210537:43938904211161 26086:26086 hsa_system_get_info(2, 0x7fc68dca5b98) = 0 +43938904211914:43938904212528 26086:26086 hsa_system_get_info(2, 0x7fc68dca5ba0) = 0 +43938904213276:43938904213896 26086:26086 hsa_system_get_info(2, 0x7fc68dca5ba8) = 0 +43938904214654:43938904215276 26086:26086 hsa_system_get_info(2, 0x7fc68dca5bb0) = 0 +43938904216039:43938904216661 26086:26086 hsa_system_get_info(2, 0x7fc68dca5bb8) = 0 +43938904218101:43938904218731 26086:26086 hsa_system_get_info(2, 0x7fc68dca5bc0) = 0 +43938904219483:43938904220113 26086:26086 hsa_system_get_info(2, 0x7fc68dca5bc8) = 0 +43938904220867:43938904221491 26086:26086 hsa_system_get_info(2, 0x7fc68dca5bd0) = 0 +43938904222240:43938904222859 26086:26086 hsa_system_get_info(2, 0x7fc68dca5bd8) = 0 +43938904223605:43938904224226 26086:26086 hsa_system_get_info(2, 0x7fc68dca5be0) = 0 +43938904224976:43938904225600 26086:26086 hsa_system_get_info(2, 0x7fc68dca5be8) = 0 +43938904226349:43938904226965 26086:26086 hsa_system_get_info(2, 0x7fc68dca5bf0) = 0 +43938904227714:43938904228341 26086:26086 hsa_system_get_info(2, 0x7fc68dca5bf8) = 0 +43938904229092:43938904229705 26086:26086 hsa_system_get_info(2, 0x7fc68dca5c00) = 0 +43938904230453:43938904231075 26086:26086 hsa_system_get_info(2, 0x7fc68dca5c08) = 0 +43938904231823:43938904232440 26086:26086 hsa_system_get_info(2, 0x7fc68dca5c10) = 0 +43938904233188:43938904233808 26086:26086 hsa_system_get_info(2, 0x7fc68dca5c18) = 0 +43938904234556:43938904235175 26086:26086 hsa_system_get_info(2, 0x7fc68dca5c20) = 0 +43938904235937:43938904236555 26086:26086 hsa_system_get_info(2, 0x7fc68dca5c28) = 0 +43938904237302:43938904237916 26086:26086 hsa_system_get_info(2, 0x7fc68dca5c30) = 0 +43938904238667:43938904239282 26086:26086 hsa_system_get_info(2, 0x7fc68dca5c38) = 0 +43938904240031:43938904240652 26086:26086 hsa_system_get_info(2, 0x7fc68dca5c40) = 0 +43938904241401:43938904242021 26086:26086 hsa_system_get_info(2, 0x7fc68dca5c48) = 0 +43938904242765:43938904243389 26086:26086 hsa_system_get_info(2, 0x7fc68dca5c50) = 0 +43938904244141:43938904244760 26086:26086 hsa_system_get_info(2, 0x7fc68dca5c58) = 0 +43938904245508:43938904246124 26086:26086 hsa_system_get_info(2, 0x7fc68dca5c60) = 0 +43938904246873:43938904247492 26086:26086 hsa_system_get_info(2, 0x7fc68dca5c68) = 0 +43938904248243:43938904248865 26086:26086 hsa_system_get_info(2, 0x7fc68dca5c70) = 0 +43938904249610:43938904250231 26086:26086 hsa_system_get_info(2, 0x7fc68dca5c78) = 0 +43938904250994:43938904251608 26086:26086 hsa_system_get_info(2, 0x7fc68dca5c80) = 0 +43938904252358:43938904252986 26086:26086 hsa_system_get_info(2, 0x7fc68dca5c88) = 0 +43938904253737:43938904254361 26086:26086 hsa_system_get_info(2, 0x7fc68dca5c90) = 0 +43938904255123:43938904255744 26086:26086 hsa_system_get_info(2, 0x7fc68dca5c98) = 0 +43938904257188:43938904257819 26086:26086 hsa_system_get_info(2, 0x7fc68dca5ca0) = 0 +43938904258568:43938904259182 26086:26086 hsa_system_get_info(2, 0x7fc68dca5ca8) = 0 +43938904259930:43938904260546 26086:26086 hsa_system_get_info(2, 0x7fc68dca5cb0) = 0 +43938904261300:43938904261917 26086:26086 hsa_system_get_info(2, 0x7fc68dca5cb8) = 0 +43938904262671:43938904263293 26086:26086 hsa_system_get_info(2, 0x7fc68dca5cc0) = 0 +43938904264044:43938904264666 26086:26086 hsa_system_get_info(2, 0x7fc68dca5cc8) = 0 +43938904265415:43938904266045 26086:26086 hsa_system_get_info(2, 0x7fc68dca5cd0) = 0 +43938904266793:43938904267416 26086:26086 hsa_system_get_info(2, 0x7fc68dca5cd8) = 0 +43938904268168:43938904268791 26086:26086 hsa_system_get_info(2, 0x7fc68dca5ce0) = 0 +43938904269540:43938904270165 26086:26086 hsa_system_get_info(2, 0x7fc68dca5ce8) = 0 +43938904270913:43938904271539 26086:26086 hsa_system_get_info(2, 0x7fc68dca5cf0) = 0 +43938904272287:43938904272910 26086:26086 hsa_system_get_info(2, 0x7fc68dca5cf8) = 0 +43938904273658:43938904274280 26086:26086 hsa_system_get_info(2, 0x7fc68dca5d00) = 0 +43938904275027:43938904275649 26086:26086 hsa_system_get_info(2, 0x7fc68dca5d08) = 0 +43938904276412:43938904277052 26086:26086 hsa_system_get_info(2, 0x7fc68dca5d10) = 0 +43938904277797:43938904278423 26086:26086 hsa_system_get_info(2, 0x7fc68dca5d18) = 0 +43938904279175:43938904279800 26086:26086 hsa_system_get_info(2, 0x7fc68dca5d20) = 0 +43938904280551:43938904281174 26086:26086 hsa_system_get_info(2, 0x7fc68dca5d28) = 0 +43938904281923:43938904282546 26086:26086 hsa_system_get_info(2, 0x7fc68dca5d30) = 0 +43938904283292:43938904283918 26086:26086 hsa_system_get_info(2, 0x7fc68dca5d38) = 0 +43938904284667:43938904285289 26086:26086 hsa_system_get_info(2, 0x7fc68dca5d40) = 0 +43938904286040:43938904286664 26086:26086 hsa_system_get_info(2, 0x7fc68dca5d48) = 0 +43938904287410:43938904288038 26086:26086 hsa_system_get_info(2, 0x7fc68dca5d50) = 0 +43938904288787:43938904289412 26086:26086 hsa_system_get_info(2, 0x7fc68dca5d58) = 0 +43938904290167:43938904290789 26086:26086 hsa_system_get_info(2, 0x7fc68dca5d60) = 0 +43938904291542:43938904292171 26086:26086 hsa_system_get_info(2, 0x7fc68dca5d68) = 0 +43938904292923:43938904293548 26086:26086 hsa_system_get_info(2, 0x7fc68dca5d70) = 0 +43938904294300:43938904294924 26086:26086 hsa_system_get_info(2, 0x7fc68dca5d78) = 0 +43938904295692:43938904296320 26086:26086 hsa_system_get_info(2, 0x7fc68dca5d80) = 0 +43938904297750:43938904298377 26086:26086 hsa_system_get_info(2, 0x7fc68dca5d88) = 0 +43938904299135:43938904299755 26086:26086 hsa_system_get_info(2, 0x7fc68dca5d90) = 0 +43938904300502:43938904301120 26086:26086 hsa_system_get_info(2, 0x7fc68dca5d98) = 0 +43938904301869:43938904302491 26086:26086 hsa_system_get_info(2, 0x7fc68dca5da0) = 0 +43938904303240:43938904303860 26086:26086 hsa_system_get_info(2, 0x7fc68dca5da8) = 0 +43938904304609:43938904305227 26086:26086 hsa_system_get_info(2, 0x7fc68dca5db0) = 0 +43938904305975:43938904306592 26086:26086 hsa_system_get_info(2, 0x7fc68dca5db8) = 0 +43938904307338:43938904307960 26086:26086 hsa_system_get_info(2, 0x7fc68dca5dc0) = 0 +43938904308708:43938904309327 26086:26086 hsa_system_get_info(2, 0x7fc68dca5dc8) = 0 +43938904310075:43938904310694 26086:26086 hsa_system_get_info(2, 0x7fc68dca5dd0) = 0 +43938904311442:43938904312059 26086:26086 hsa_system_get_info(2, 0x7fc68dca5dd8) = 0 +43938904312805:43938904313432 26086:26086 hsa_system_get_info(2, 0x7fc68dca5de0) = 0 +43938904314181:43938904314802 26086:26086 hsa_system_get_info(2, 0x7fc68dca5de8) = 0 +43938904315566:43938904316186 26086:26086 hsa_system_get_info(2, 0x7fc68dca5df0) = 0 +43938904316937:43938904317559 26086:26086 hsa_system_get_info(2, 0x7fc68dca5df8) = 0 +43938904318308:43938904318930 26086:26086 hsa_system_get_info(2, 0x7fc68dca5e00) = 0 +43938904319683:43938904320306 26086:26086 hsa_system_get_info(2, 0x7fc68dca5e08) = 0 +43938904321055:43938904321674 26086:26086 hsa_system_get_info(2, 0x7fc68dca5e10) = 0 +43938904322419:43938904323043 26086:26086 hsa_system_get_info(2, 0x7fc68dca5e18) = 0 +43938904323795:43938904324418 26086:26086 hsa_system_get_info(2, 0x7fc68dca5e20) = 0 +43938904325168:43938904325782 26086:26086 hsa_system_get_info(2, 0x7fc68dca5e28) = 0 +43938904326529:43938904327154 26086:26086 hsa_system_get_info(2, 0x7fc68dca5e30) = 0 +43938904327904:43938904328526 26086:26086 hsa_system_get_info(2, 0x7fc68dca5e38) = 0 +43938904329275:43938904329896 26086:26086 hsa_system_get_info(2, 0x7fc68dca5e40) = 0 +43938904330650:43938904331271 26086:26086 hsa_system_get_info(2, 0x7fc68dca5e48) = 0 +43938904332018:43938904332641 26086:26086 hsa_system_get_info(2, 0x7fc68dca5e50) = 0 +43938904333392:43938904334013 26086:26086 hsa_system_get_info(2, 0x7fc68dca5e58) = 0 +43938904334763:43938904335403 26086:26086 hsa_system_get_info(2, 0x7fc68dca5e60) = 0 +43938904336875:43938904337499 26086:26086 hsa_system_get_info(2, 0x7fc68dca5e68) = 0 +43938904338247:43938904338868 26086:26086 hsa_system_get_info(2, 0x7fc68dca5e70) = 0 +43938904339619:43938904340242 26086:26086 hsa_system_get_info(2, 0x7fc68dca5e78) = 0 +43938904340993:43938904341613 26086:26086 hsa_system_get_info(2, 0x7fc68dca5e80) = 0 +43938904342360:43938904342982 26086:26086 hsa_system_get_info(2, 0x7fc68dca5e88) = 0 +43938904343729:43938904344355 26086:26086 hsa_system_get_info(2, 0x7fc68dca5e90) = 0 +43938904345108:43938904345729 26086:26086 hsa_system_get_info(2, 0x7fc68dca5e98) = 0 +43938904346476:43938904347099 26086:26086 hsa_system_get_info(2, 0x7fc68dca5ea0) = 0 +43938904347843:43938904348465 26086:26086 hsa_system_get_info(2, 0x7fc68dca5ea8) = 0 +43938904349212:43938904349833 26086:26086 hsa_system_get_info(2, 0x7fc68dca5eb0) = 0 +43938904350578:43938904351202 26086:26086 hsa_system_get_info(2, 0x7fc68dca5eb8) = 0 +43938904351947:43938904352565 26086:26086 hsa_system_get_info(2, 0x7fc68dca5ec0) = 0 +43938904353310:43938904353934 26086:26086 hsa_system_get_info(2, 0x7fc68dca5ec8) = 0 +43938904354680:43938904355299 26086:26086 hsa_system_get_info(2, 0x7fc68dca5ed0) = 0 +43938904356068:43938904356689 26086:26086 hsa_system_get_info(2, 0x7fc68dca5ed8) = 0 +43938904357460:43938904358080 26086:26086 hsa_system_get_info(2, 0x7fc68dca5ee0) = 0 +43938904358830:43938904359448 26086:26086 hsa_system_get_info(2, 0x7fc68dca5ee8) = 0 +43938904360197:43938904360813 26086:26086 hsa_system_get_info(2, 0x7fc68dca5ef0) = 0 +43938904361563:43938904362183 26086:26086 hsa_system_get_info(2, 0x7fc68dca5ef8) = 0 +43938904362930:43938904363549 26086:26086 hsa_system_get_info(2, 0x7fc68dca5f00) = 0 +43938904364315:43938904364945 26086:26086 hsa_system_get_info(2, 0x7fc68dca5f08) = 0 +43938904365695:43938904366317 26086:26086 hsa_system_get_info(2, 0x7fc68dca5f10) = 0 +43938904367070:43938904367687 26086:26086 hsa_system_get_info(2, 0x7fc68dca5f18) = 0 +43938904368437:43938904369061 26086:26086 hsa_system_get_info(2, 0x7fc68dca5f20) = 0 +43938904369813:43938904370436 26086:26086 hsa_system_get_info(2, 0x7fc68dca5f28) = 0 +43938904371187:43938904371810 26086:26086 hsa_system_get_info(2, 0x7fc68dca5f30) = 0 +43938904372560:43938904373189 26086:26086 hsa_system_get_info(2, 0x7fc68dca5f38) = 0 +43938904373938:43938904374559 26086:26086 hsa_system_get_info(2, 0x7fc68dca5f40) = 0 +43938904376001:43938904376627 26086:26086 hsa_system_get_info(2, 0x7fc68dca5f48) = 0 +43938904377373:43938904377993 26086:26086 hsa_system_get_info(2, 0x7fc68dca5f50) = 0 +43938904378745:43938904379365 26086:26086 hsa_system_get_info(2, 0x7fc68dca5f58) = 0 +43938904380120:43938904380742 26086:26086 hsa_system_get_info(2, 0x7fc68dca5f60) = 0 +43938904381494:43938904382114 26086:26086 hsa_system_get_info(2, 0x7fc68dca5f68) = 0 +43938904382864:43938904383487 26086:26086 hsa_system_get_info(2, 0x7fc68dca5f70) = 0 +43938904384243:43938904384861 26086:26086 hsa_system_get_info(2, 0x7fc68dca5f78) = 0 +43938904385611:43938904386233 26086:26086 hsa_system_get_info(2, 0x7fc68dca5f80) = 0 +43938904386983:43938904387606 26086:26086 hsa_system_get_info(2, 0x7fc68dca5f88) = 0 +43938904388358:43938904388977 26086:26086 hsa_system_get_info(2, 0x7fc68dca5f90) = 0 +43938904389727:43938904390345 26086:26086 hsa_system_get_info(2, 0x7fc68dca5f98) = 0 +43938904391097:43938904391722 26086:26086 hsa_system_get_info(2, 0x7fc68dca5fa0) = 0 +43938904392477:43938904393100 26086:26086 hsa_system_get_info(2, 0x7fc68dca5fa8) = 0 +43938904393850:43938904394473 26086:26086 hsa_system_get_info(2, 0x7fc68dca5fb0) = 0 +43938904395234:43938904395854 26086:26086 hsa_system_get_info(2, 0x7fc68dca5fb8) = 0 +43938904396608:43938904397228 26086:26086 hsa_system_get_info(2, 0x7fc68dca5fc0) = 0 +43938904397978:43938904398593 26086:26086 hsa_system_get_info(2, 0x7fc68dca5fc8) = 0 +43938904399344:43938904399961 26086:26086 hsa_system_get_info(2, 0x7fc68dca5fd0) = 0 +43938904400706:43938904401324 26086:26086 hsa_system_get_info(2, 0x7fc68dca5fd8) = 0 +43938904402074:43938904402696 26086:26086 hsa_system_get_info(2, 0x7fc68dca5fe0) = 0 +43938904403447:43938904404067 26086:26086 hsa_system_get_info(2, 0x7fc68dca5fe8) = 0 +43938904404817:43938904405437 26086:26086 hsa_system_get_info(2, 0x7fc68dca5ff0) = 0 +43938904406187:43938904406807 26086:26086 hsa_system_get_info(2, 0x7fc68dca5ff8) = 0 +43938904407557:43938904408176 26086:26086 hsa_system_get_info(2, 0x7fc68dca6000) = 0 +43938904408925:43938904409542 26086:26086 hsa_system_get_info(2, 0x7fc68dca6008) = 0 +43938904410297:43938904410917 26086:26086 hsa_system_get_info(2, 0x7fc68dca6010) = 0 +43938904411680:43938904412303 26086:26086 hsa_system_get_info(2, 0x7fc68dca6018) = 0 +43938904413052:43938904413675 26086:26086 hsa_system_get_info(2, 0x7fc68dca6020) = 0 +43938904414423:43938904415041 26086:26086 hsa_system_get_info(2, 0x7fc68dca6028) = 0 +43938904416510:43938904417139 26086:26086 hsa_system_get_info(2, 0x7fc68dca6030) = 0 +43938904417893:43938904418517 26086:26086 hsa_system_get_info(2, 0x7fc68dca6038) = 0 +43938904419270:43938904419898 26086:26086 hsa_system_get_info(2, 0x7fc68dca6040) = 0 +43938904420653:43938904421279 26086:26086 hsa_system_get_info(2, 0x7fc68dca6048) = 0 +43938904422032:43938904422663 26086:26086 hsa_system_get_info(2, 0x7fc68dca6050) = 0 +43938904423413:43938904424035 26086:26086 hsa_system_get_info(2, 0x7fc68dca6058) = 0 +43938904424789:43938904425414 26086:26086 hsa_system_get_info(2, 0x7fc68dca6060) = 0 +43938904426164:43938904426777 26086:26086 hsa_system_get_info(2, 0x7fc68dca6068) = 0 +43938904427528:43938904428146 26086:26086 hsa_system_get_info(2, 0x7fc68dca6070) = 0 +43938904428898:43938904429513 26086:26086 hsa_system_get_info(2, 0x7fc68dca6078) = 0 +43938904430262:43938904430880 26086:26086 hsa_system_get_info(2, 0x7fc68dca6080) = 0 +43938904431632:43938904432248 26086:26086 hsa_system_get_info(2, 0x7fc68dca6088) = 0 +43938904432999:43938904433614 26086:26086 hsa_system_get_info(2, 0x7fc68dca6090) = 0 +43938904434373:43938904434991 26086:26086 hsa_system_get_info(2, 0x7fc68dca6098) = 0 +43938904435742:43938904436360 26086:26086 hsa_system_get_info(2, 0x7fc68dca60a0) = 0 +43938904437111:43938904437727 26086:26086 hsa_system_get_info(2, 0x7fc68dca60a8) = 0 +43938904438475:43938904439093 26086:26086 hsa_system_get_info(2, 0x7fc68dca60b0) = 0 +43938904439843:43938904440466 26086:26086 hsa_system_get_info(2, 0x7fc68dca60b8) = 0 +43938904441216:43938904441838 26086:26086 hsa_system_get_info(2, 0x7fc68dca60c0) = 0 +43938904442589:43938904443208 26086:26086 hsa_system_get_info(2, 0x7fc68dca60c8) = 0 +43938904443956:43938904444572 26086:26086 hsa_system_get_info(2, 0x7fc68dca60d0) = 0 +43938904445319:43938904445937 26086:26086 hsa_system_get_info(2, 0x7fc68dca60d8) = 0 +43938904446689:43938904447310 26086:26086 hsa_system_get_info(2, 0x7fc68dca60e0) = 0 +43938904448077:43938904448692 26086:26086 hsa_system_get_info(2, 0x7fc68dca60e8) = 0 +43938904449440:43938904450059 26086:26086 hsa_system_get_info(2, 0x7fc68dca60f0) = 0 +43938904450826:43938904451446 26086:26086 hsa_system_get_info(2, 0x7fc68dca60f8) = 0 +43938904452199:43938904452821 26086:26086 hsa_system_get_info(2, 0x7fc68dca6100) = 0 +43938904453573:43938904454196 26086:26086 hsa_system_get_info(2, 0x7fc68dca6108) = 0 +43938904456348:43938904456977 26086:26086 hsa_system_get_info(2, 0x7fc68dca6110) = 0 +43938904457728:43938904458350 26086:26086 hsa_system_get_info(2, 0x7fc68dca6118) = 0 +43938904459106:43938904459724 26086:26086 hsa_system_get_info(2, 0x7fc68dca6120) = 0 +43938904460475:43938904461090 26086:26086 hsa_system_get_info(2, 0x7fc68dca6128) = 0 +43938904461839:43938904462455 26086:26086 hsa_system_get_info(2, 0x7fc68dca6130) = 0 +43938904463200:43938904463823 26086:26086 hsa_system_get_info(2, 0x7fc68dca6138) = 0 +43938904464572:43938904465198 26086:26086 hsa_system_get_info(2, 0x7fc68dca6140) = 0 +43938904465945:43938904466564 26086:26086 hsa_system_get_info(2, 0x7fc68dca6148) = 0 +43938904467315:43938904467938 26086:26086 hsa_system_get_info(2, 0x7fc68dca6150) = 0 +43938904468685:43938904469307 26086:26086 hsa_system_get_info(2, 0x7fc68dca6158) = 0 +43938904470055:43938904470674 26086:26086 hsa_system_get_info(2, 0x7fc68dca6160) = 0 +43938904471424:43938904472047 26086:26086 hsa_system_get_info(2, 0x7fc68dca6168) = 0 +43938904472794:43938904473414 26086:26086 hsa_system_get_info(2, 0x7fc68dca6170) = 0 +43938904474158:43938904474776 26086:26086 hsa_system_get_info(2, 0x7fc68dca6178) = 0 +43938904475525:43938904476157 26086:26086 hsa_system_get_info(2, 0x7fc68dca6180) = 0 +43938904476909:43938904477529 26086:26086 hsa_system_get_info(2, 0x7fc68dca6188) = 0 +43938904478277:43938904478896 26086:26086 hsa_system_get_info(2, 0x7fc68dca6190) = 0 +43938904479648:43938904480268 26086:26086 hsa_system_get_info(2, 0x7fc68dca6198) = 0 +43938904481016:43938904481632 26086:26086 hsa_system_get_info(2, 0x7fc68dca61a0) = 0 +43938904482382:43938904483003 26086:26086 hsa_system_get_info(2, 0x7fc68dca61a8) = 0 +43938904483755:43938904484373 26086:26086 hsa_system_get_info(2, 0x7fc68dca61b0) = 0 +43938904485122:43938904485744 26086:26086 hsa_system_get_info(2, 0x7fc68dca61b8) = 0 +43938904486492:43938904487115 26086:26086 hsa_system_get_info(2, 0x7fc68dca61c0) = 0 +43938904487863:43938904488486 26086:26086 hsa_system_get_info(2, 0x7fc68dca61c8) = 0 +43938904489242:43938904489861 26086:26086 hsa_system_get_info(2, 0x7fc68dca61d0) = 0 +43938904490613:43938904491232 26086:26086 hsa_system_get_info(2, 0x7fc68dca61d8) = 0 +43938904491982:43938904492600 26086:26086 hsa_system_get_info(2, 0x7fc68dca61e0) = 0 +43938904493349:43938904493966 26086:26086 hsa_system_get_info(2, 0x7fc68dca61e8) = 0 +43938904494711:43938904495330 26086:26086 hsa_system_get_info(2, 0x7fc68dca61f0) = 0 +43938904496789:43938904497420 26086:26086 hsa_system_get_info(2, 0x7fc68dca61f8) = 0 +43938904498169:43938904498794 26086:26086 hsa_system_get_info(2, 0x7fc68dca6200) = 0 +43938904499549:43938904500172 26086:26086 hsa_system_get_info(2, 0x7fc68dca6208) = 0 +43938904500921:43938904501543 26086:26086 hsa_system_get_info(2, 0x7fc68dca6210) = 0 +43938904502291:43938904502921 26086:26086 hsa_system_get_info(2, 0x7fc68dca6218) = 0 +43938904503669:43938904504310 26086:26086 hsa_system_get_info(2, 0x7fc68dca6220) = 0 +43938904505057:43938904505680 26086:26086 hsa_system_get_info(2, 0x7fc68dca6228) = 0 +43938904506431:43938904507051 26086:26086 hsa_system_get_info(2, 0x7fc68dca6230) = 0 +43938904507797:43938904508418 26086:26086 hsa_system_get_info(2, 0x7fc68dca6238) = 0 +43938904509165:43938904509787 26086:26086 hsa_system_get_info(2, 0x7fc68dca6240) = 0 +43938904510536:43938904511157 26086:26086 hsa_system_get_info(2, 0x7fc68dca6248) = 0 +43938904511905:43938904512525 26086:26086 hsa_system_get_info(2, 0x7fc68dca6250) = 0 +43938904513272:43938904513888 26086:26086 hsa_system_get_info(2, 0x7fc68dca6258) = 0 +43938904514643:43938904515263 26086:26086 hsa_system_get_info(2, 0x7fc68dca6260) = 0 +43938904516018:43938904516640 26086:26086 hsa_system_get_info(2, 0x7fc68dca6268) = 0 +43938904517388:43938904518011 26086:26086 hsa_system_get_info(2, 0x7fc68dca6270) = 0 +43938904518761:43938904519385 26086:26086 hsa_system_get_info(2, 0x7fc68dca6278) = 0 +43938904520138:43938904520755 26086:26086 hsa_system_get_info(2, 0x7fc68dca6280) = 0 +43938904521502:43938904522126 26086:26086 hsa_system_get_info(2, 0x7fc68dca6288) = 0 +43938904522896:43938904523514 26086:26086 hsa_system_get_info(2, 0x7fc68dca6290) = 0 +43938904524262:43938904524885 26086:26086 hsa_system_get_info(2, 0x7fc68dca6298) = 0 +43938904525634:43938904526256 26086:26086 hsa_system_get_info(2, 0x7fc68dca62a0) = 0 +43938904527005:43938904527630 26086:26086 hsa_system_get_info(2, 0x7fc68dca62a8) = 0 +43938904528377:43938904529011 26086:26086 hsa_system_get_info(2, 0x7fc68dca62b0) = 0 +43938904529785:43938904530408 26086:26086 hsa_system_get_info(2, 0x7fc68dca62b8) = 0 +43938904531157:43938904531786 26086:26086 hsa_system_get_info(2, 0x7fc68dca62c0) = 0 +43938904532537:43938904533160 26086:26086 hsa_system_get_info(2, 0x7fc68dca62c8) = 0 +43938904533913:43938904534542 26086:26086 hsa_system_get_info(2, 0x7fc68dca62d0) = 0 +43938904535985:43938904536618 26086:26086 hsa_system_get_info(2, 0x7fc68dca62d8) = 0 +43938904537368:43938904537985 26086:26086 hsa_system_get_info(2, 0x7fc68dca62e0) = 0 +43938904538734:43938904539359 26086:26086 hsa_system_get_info(2, 0x7fc68dca62e8) = 0 +43938904540106:43938904540727 26086:26086 hsa_system_get_info(2, 0x7fc68dca62f0) = 0 +43938904541476:43938904542102 26086:26086 hsa_system_get_info(2, 0x7fc68dca62f8) = 0 +43938904542852:43938904543473 26086:26086 hsa_system_get_info(2, 0x7fc68dca6300) = 0 +43938904544219:43938904544839 26086:26086 hsa_system_get_info(2, 0x7fc68dca6308) = 0 +43938904545587:43938904546213 26086:26086 hsa_system_get_info(2, 0x7fc68dca6310) = 0 +43938904546967:43938904547588 26086:26086 hsa_system_get_info(2, 0x7fc68dca6318) = 0 +43938904548337:43938904548959 26086:26086 hsa_system_get_info(2, 0x7fc68dca6320) = 0 +43938904549710:43938904550332 26086:26086 hsa_system_get_info(2, 0x7fc68dca6328) = 0 +43938904551083:43938904551709 26086:26086 hsa_system_get_info(2, 0x7fc68dca6330) = 0 +43938904552457:43938904553081 26086:26086 hsa_system_get_info(2, 0x7fc68dca6338) = 0 +43938904553830:43938904554449 26086:26086 hsa_system_get_info(2, 0x7fc68dca6340) = 0 +43938904555196:43938904555833 26086:26086 hsa_system_get_info(2, 0x7fc68dca6348) = 0 +43938904556597:43938904557220 26086:26086 hsa_system_get_info(2, 0x7fc68dca6350) = 0 +43938904557974:43938904558600 26086:26086 hsa_system_get_info(2, 0x7fc68dca6358) = 0 +43938904559351:43938904559975 26086:26086 hsa_system_get_info(2, 0x7fc68dca6360) = 0 +43938904560725:43938904561349 26086:26086 hsa_system_get_info(2, 0x7fc68dca6368) = 0 +43938904562099:43938904562720 26086:26086 hsa_system_get_info(2, 0x7fc68dca6370) = 0 +43938904563474:43938904564097 26086:26086 hsa_system_get_info(2, 0x7fc68dca6378) = 0 +43938904564851:43938904565477 26086:26086 hsa_system_get_info(2, 0x7fc68dca6380) = 0 +43938904566231:43938904566853 26086:26086 hsa_system_get_info(2, 0x7fc68dca6388) = 0 +43938904567601:43938904568227 26086:26086 hsa_system_get_info(2, 0x7fc68dca6390) = 0 +43938904568979:43938904569601 26086:26086 hsa_system_get_info(2, 0x7fc68dca6398) = 0 +43938904570357:43938904570983 26086:26086 hsa_system_get_info(2, 0x7fc68dca63a0) = 0 +43938904571734:43938904572363 26086:26086 hsa_system_get_info(2, 0x7fc68dca63a8) = 0 +43938904573113:43938904573739 26086:26086 hsa_system_get_info(2, 0x7fc68dca63b0) = 0 +43938904574487:43938904575111 26086:26086 hsa_system_get_info(2, 0x7fc68dca63b8) = 0 +43938904576581:43938904577216 26086:26086 hsa_system_get_info(2, 0x7fc68dca63c0) = 0 +43938904577967:43938904578594 26086:26086 hsa_system_get_info(2, 0x7fc68dca63c8) = 0 +43938904579343:43938904579966 26086:26086 hsa_system_get_info(2, 0x7fc68dca63d0) = 0 +43938904580711:43938904581333 26086:26086 hsa_system_get_info(2, 0x7fc68dca63d8) = 0 +43938904582077:43938904582694 26086:26086 hsa_system_get_info(2, 0x7fc68dca63e0) = 0 +43938904583447:43938904584072 26086:26086 hsa_system_get_info(2, 0x7fc68dca63e8) = 0 +43938904584822:43938904585447 26086:26086 hsa_system_get_info(2, 0x7fc68dca63f0) = 0 +43938904586196:43938904586814 26086:26086 hsa_system_get_info(2, 0x7fc68dca63f8) = 0 +43938904587564:43938904588184 26086:26086 hsa_system_get_info(2, 0x7fc68dca6400) = 0 +43938904588935:43938904589562 26086:26086 hsa_system_get_info(2, 0x7fc68dca6408) = 0 +43938904590312:43938904590927 26086:26086 hsa_system_get_info(2, 0x7fc68dca6410) = 0 +43938904591675:43938904592296 26086:26086 hsa_system_get_info(2, 0x7fc68dca6418) = 0 +43938904593045:43938904593668 26086:26086 hsa_system_get_info(2, 0x7fc68dca6420) = 0 +43938904594417:43938904595038 26086:26086 hsa_system_get_info(2, 0x7fc68dca6428) = 0 +43938904595803:43938904596426 26086:26086 hsa_system_get_info(2, 0x7fc68dca6430) = 0 +43938904597173:43938904597793 26086:26086 hsa_system_get_info(2, 0x7fc68dca6438) = 0 +43938904598540:43938904599160 26086:26086 hsa_system_get_info(2, 0x7fc68dca6440) = 0 +43938904599909:43938904600530 26086:26086 hsa_system_get_info(2, 0x7fc68dca6448) = 0 +43938904601280:43938904601902 26086:26086 hsa_system_get_info(2, 0x7fc68dca6450) = 0 +43938904602650:43938904603271 26086:26086 hsa_system_get_info(2, 0x7fc68dca6458) = 0 +43938904604019:43938904604637 26086:26086 hsa_system_get_info(2, 0x7fc68dca6460) = 0 +43938904605381:43938904606001 26086:26086 hsa_system_get_info(2, 0x7fc68dca6468) = 0 +43938904606748:43938904607366 26086:26086 hsa_system_get_info(2, 0x7fc68dca6470) = 0 +43938904608114:43938904608734 26086:26086 hsa_system_get_info(2, 0x7fc68dca6478) = 0 +43938904609486:43938904610104 26086:26086 hsa_system_get_info(2, 0x7fc68dca6480) = 0 +43938904610856:43938904611478 26086:26086 hsa_system_get_info(2, 0x7fc68dca6488) = 0 +43938904612225:43938904612843 26086:26086 hsa_system_get_info(2, 0x7fc68dca6490) = 0 +43938904613589:43938904614207 26086:26086 hsa_system_get_info(2, 0x7fc68dca6498) = 0 +43938904615667:43938904616290 26086:26086 hsa_system_get_info(2, 0x7fc68dca64a0) = 0 +43938904617040:43938904617659 26086:26086 hsa_system_get_info(2, 0x7fc68dca64a8) = 0 +43938904618406:43938904619031 26086:26086 hsa_system_get_info(2, 0x7fc68dca64b0) = 0 +43938904619780:43938904620403 26086:26086 hsa_system_get_info(2, 0x7fc68dca64b8) = 0 +43938904621151:43938904621764 26086:26086 hsa_system_get_info(2, 0x7fc68dca64c0) = 0 +43938904622510:43938904623134 26086:26086 hsa_system_get_info(2, 0x7fc68dca64c8) = 0 +43938904623880:43938904624496 26086:26086 hsa_system_get_info(2, 0x7fc68dca64d0) = 0 +43938904625243:43938904625864 26086:26086 hsa_system_get_info(2, 0x7fc68dca64d8) = 0 +43938904626616:43938904627240 26086:26086 hsa_system_get_info(2, 0x7fc68dca64e0) = 0 +43938904627987:43938904628608 26086:26086 hsa_system_get_info(2, 0x7fc68dca64e8) = 0 +43938904629356:43938904629977 26086:26086 hsa_system_get_info(2, 0x7fc68dca64f0) = 0 +43938904630729:43938904631354 26086:26086 hsa_system_get_info(2, 0x7fc68dca64f8) = 0 +43938904632100:43938904632718 26086:26086 hsa_system_get_info(2, 0x7fc68dca6500) = 0 +43938904633468:43938904634091 26086:26086 hsa_system_get_info(2, 0x7fc68dca6508) = 0 +43938904634880:43938904635501 26086:26086 hsa_system_get_info(2, 0x7fc68dca6510) = 0 +43938904636253:43938904636873 26086:26086 hsa_system_get_info(2, 0x7fc68dca6518) = 0 +43938904637620:43938904638239 26086:26086 hsa_system_get_info(2, 0x7fc68dca6520) = 0 +43938904638988:43938904639609 26086:26086 hsa_system_get_info(2, 0x7fc68dca6528) = 0 +43938904640362:43938904640984 26086:26086 hsa_system_get_info(2, 0x7fc68dca6530) = 0 +43938904641736:43938904642359 26086:26086 hsa_system_get_info(2, 0x7fc68dca6538) = 0 +43938904643106:43938904643729 26086:26086 hsa_system_get_info(2, 0x7fc68dca6540) = 0 +43938904644481:43938904645100 26086:26086 hsa_system_get_info(2, 0x7fc68dca6548) = 0 +43938904645852:43938904646473 26086:26086 hsa_system_get_info(2, 0x7fc68dca6550) = 0 +43938904647223:43938904647839 26086:26086 hsa_system_get_info(2, 0x7fc68dca6558) = 0 +43938904648592:43938904649213 26086:26086 hsa_system_get_info(2, 0x7fc68dca6560) = 0 +43938904649965:43938904650584 26086:26086 hsa_system_get_info(2, 0x7fc68dca6568) = 0 +43938904651335:43938904651957 26086:26086 hsa_system_get_info(2, 0x7fc68dca6570) = 0 +43938904652709:43938904653330 26086:26086 hsa_system_get_info(2, 0x7fc68dca6578) = 0 +43938904654077:43938904654696 26086:26086 hsa_system_get_info(2, 0x7fc68dca6580) = 0 +43938904656171:43938904656800 26086:26086 hsa_system_get_info(2, 0x7fc68dca6588) = 0 +43938904657551:43938904658171 26086:26086 hsa_system_get_info(2, 0x7fc68dca6590) = 0 +43938904658921:43938904659542 26086:26086 hsa_system_get_info(2, 0x7fc68dca6598) = 0 +43938904660291:43938904660917 26086:26086 hsa_system_get_info(2, 0x7fc68dca65a0) = 0 +43938904661666:43938904662283 26086:26086 hsa_system_get_info(2, 0x7fc68dca65a8) = 0 +43938904663032:43938904663651 26086:26086 hsa_system_get_info(2, 0x7fc68dca65b0) = 0 +43938904664401:43938904665022 26086:26086 hsa_system_get_info(2, 0x7fc68dca65b8) = 0 +43938904665767:43938904666385 26086:26086 hsa_system_get_info(2, 0x7fc68dca65c0) = 0 +43938904667133:43938904667749 26086:26086 hsa_system_get_info(2, 0x7fc68dca65c8) = 0 +43938904668495:43938904669115 26086:26086 hsa_system_get_info(2, 0x7fc68dca65d0) = 0 +43938904669860:43938904670479 26086:26086 hsa_system_get_info(2, 0x7fc68dca65d8) = 0 +43938904671222:43938904671846 26086:26086 hsa_system_get_info(2, 0x7fc68dca65e0) = 0 +43938904672599:43938904673223 26086:26086 hsa_system_get_info(2, 0x7fc68dca65e8) = 0 +43938904673971:43938904674617 26086:26086 hsa_system_get_info(2, 0x7fc68dca65f0) = 0 +43938904675363:43938904675985 26086:26086 hsa_system_get_info(2, 0x7fc68dca65f8) = 0 +43938904676738:43938904677359 26086:26086 hsa_system_get_info(2, 0x7fc68dca6600) = 0 +43938904678106:43938904678726 26086:26086 hsa_system_get_info(2, 0x7fc68dca6608) = 0 +43938904679474:43938904680092 26086:26086 hsa_system_get_info(2, 0x7fc68dca6610) = 0 +43938904680842:43938904681466 26086:26086 hsa_system_get_info(2, 0x7fc68dca6618) = 0 +43938904682216:43938904682835 26086:26086 hsa_system_get_info(2, 0x7fc68dca6620) = 0 +43938904683586:43938904684213 26086:26086 hsa_system_get_info(2, 0x7fc68dca6628) = 0 +43938904684958:43938904685579 26086:26086 hsa_system_get_info(2, 0x7fc68dca6630) = 0 +43938904686331:43938904686949 26086:26086 hsa_system_get_info(2, 0x7fc68dca6638) = 0 +43938904687698:43938904688322 26086:26086 hsa_system_get_info(2, 0x7fc68dca6640) = 0 +43938904689098:43938904689723 26086:26086 hsa_system_get_info(2, 0x7fc68dca6648) = 0 +43938904690472:43938904691098 26086:26086 hsa_system_get_info(2, 0x7fc68dca6650) = 0 +43938904691844:43938904692469 26086:26086 hsa_system_get_info(2, 0x7fc68dca6658) = 0 +43938904693219:43938904693836 26086:26086 hsa_system_get_info(2, 0x7fc68dca6660) = 0 +43938904695290:43938904695919 26086:26086 hsa_system_get_info(2, 0x7fc68dca6668) = 0 +43938904696671:43938904697296 26086:26086 hsa_system_get_info(2, 0x7fc68dca6670) = 0 +43938904698046:43938904698672 26086:26086 hsa_system_get_info(2, 0x7fc68dca6678) = 0 +43938904699419:43938904700038 26086:26086 hsa_system_get_info(2, 0x7fc68dca6680) = 0 +43938904700786:43938904701407 26086:26086 hsa_system_get_info(2, 0x7fc68dca6688) = 0 +43938904702154:43938904702778 26086:26086 hsa_system_get_info(2, 0x7fc68dca6690) = 0 +43938904703530:43938904704150 26086:26086 hsa_system_get_info(2, 0x7fc68dca6698) = 0 +43938904704900:43938904705526 26086:26086 hsa_system_get_info(2, 0x7fc68dca66a0) = 0 +43938904706276:43938904706902 26086:26086 hsa_system_get_info(2, 0x7fc68dca66a8) = 0 +43938904707653:43938904708279 26086:26086 hsa_system_get_info(2, 0x7fc68dca66b0) = 0 +43938904709029:43938904709649 26086:26086 hsa_system_get_info(2, 0x7fc68dca66b8) = 0 +43938904710399:43938904711021 26086:26086 hsa_system_get_info(2, 0x7fc68dca66c0) = 0 +43938904711773:43938904712400 26086:26086 hsa_system_get_info(2, 0x7fc68dca66c8) = 0 +43938904713153:43938904713783 26086:26086 hsa_system_get_info(2, 0x7fc68dca66d0) = 0 +43938904714552:43938904715178 26086:26086 hsa_system_get_info(2, 0x7fc68dca66d8) = 0 +43938904715953:43938904716575 26086:26086 hsa_system_get_info(2, 0x7fc68dca66e0) = 0 +43938904717325:43938904717949 26086:26086 hsa_system_get_info(2, 0x7fc68dca66e8) = 0 +43938904718700:43938904719326 26086:26086 hsa_system_get_info(2, 0x7fc68dca66f0) = 0 +43938904720075:43938904720698 26086:26086 hsa_system_get_info(2, 0x7fc68dca66f8) = 0 +43938904721449:43938904722075 26086:26086 hsa_system_get_info(2, 0x7fc68dca6700) = 0 +43938904722845:43938904723469 26086:26086 hsa_system_get_info(2, 0x7fc68dca6708) = 0 +43938904724219:43938904724837 26086:26086 hsa_system_get_info(2, 0x7fc68dca6710) = 0 +43938904725584:43938904726201 26086:26086 hsa_system_get_info(2, 0x7fc68dca6718) = 0 +43938904726950:43938904727570 26086:26086 hsa_system_get_info(2, 0x7fc68dca6720) = 0 +43938904728318:43938904728939 26086:26086 hsa_system_get_info(2, 0x7fc68dca6728) = 0 +43938904729691:43938904730312 26086:26086 hsa_system_get_info(2, 0x7fc68dca6730) = 0 +43938904731062:43938904731677 26086:26086 hsa_system_get_info(2, 0x7fc68dca6738) = 0 +43938904732430:43938904733056 26086:26086 hsa_system_get_info(2, 0x7fc68dca6740) = 0 +43938904734503:43938904735129 26086:26086 hsa_system_get_info(2, 0x7fc68dca6748) = 0 +43938904735877:43938904736499 26086:26086 hsa_system_get_info(2, 0x7fc68dca6750) = 0 +43938904737251:43938904737876 26086:26086 hsa_system_get_info(2, 0x7fc68dca6758) = 0 +43938904738624:43938904739240 26086:26086 hsa_system_get_info(2, 0x7fc68dca6760) = 0 +43938904739990:43938904740610 26086:26086 hsa_system_get_info(2, 0x7fc68dca6768) = 0 +43938904741360:43938904741977 26086:26086 hsa_system_get_info(2, 0x7fc68dca6770) = 0 +43938904742722:43938904743342 26086:26086 hsa_system_get_info(2, 0x7fc68dca6778) = 0 +43938904744090:43938904744710 26086:26086 hsa_system_get_info(2, 0x7fc68dca6780) = 0 +43938904745460:43938904746079 26086:26086 hsa_system_get_info(2, 0x7fc68dca6788) = 0 +43938904746826:43938904747444 26086:26086 hsa_system_get_info(2, 0x7fc68dca6790) = 0 +43938904748194:43938904748814 26086:26086 hsa_system_get_info(2, 0x7fc68dca6798) = 0 +43938904749562:43938904750186 26086:26086 hsa_system_get_info(2, 0x7fc68dca67a0) = 0 +43938904750933:43938904751552 26086:26086 hsa_system_get_info(2, 0x7fc68dca67a8) = 0 +43938904752299:43938904752935 26086:26086 hsa_system_get_info(2, 0x7fc68dca67b0) = 0 +43938904753684:43938904754306 26086:26086 hsa_system_get_info(2, 0x7fc68dca67b8) = 0 +43938904755054:43938904755677 26086:26086 hsa_system_get_info(2, 0x7fc68dca67c0) = 0 +43938904756424:43938904757047 26086:26086 hsa_system_get_info(2, 0x7fc68dca67c8) = 0 +43938904757798:43938904758419 26086:26086 hsa_system_get_info(2, 0x7fc68dca67d0) = 0 +43938904759169:43938904759789 26086:26086 hsa_system_get_info(2, 0x7fc68dca67d8) = 0 +43938904760536:43938904761157 26086:26086 hsa_system_get_info(2, 0x7fc68dca67e0) = 0 +43938904761904:43938904762520 26086:26086 hsa_system_get_info(2, 0x7fc68dca67e8) = 0 +43938904763268:43938904763886 26086:26086 hsa_system_get_info(2, 0x7fc68dca67f0) = 0 +43938904764636:43938904765251 26086:26086 hsa_system_get_info(2, 0x7fc68dca67f8) = 0 +43938904766000:43938904766617 26086:26086 hsa_system_get_info(2, 0x7fc68dca6800) = 0 +43938904767365:43938904767982 26086:26086 hsa_system_get_info(2, 0x7fc68dca6808) = 0 +43938904768735:43938904769353 26086:26086 hsa_system_get_info(2, 0x7fc68dca6810) = 0 +43938904770105:43938904770725 26086:26086 hsa_system_get_info(2, 0x7fc68dca6818) = 0 +43938904771470:43938904772096 26086:26086 hsa_system_get_info(2, 0x7fc68dca6820) = 0 +43938904772859:43938904773476 26086:26086 hsa_system_get_info(2, 0x7fc68dca6828) = 0 +43938904774936:43938904775561 26086:26086 hsa_system_get_info(2, 0x7fc68dca6830) = 0 +43938904776327:43938904776948 26086:26086 hsa_system_get_info(2, 0x7fc68dca6838) = 0 +43938904777700:43938904778314 26086:26086 hsa_system_get_info(2, 0x7fc68dca6840) = 0 +43938904779063:43938904779680 26086:26086 hsa_system_get_info(2, 0x7fc68dca6848) = 0 +43938904780430:43938904781051 26086:26086 hsa_system_get_info(2, 0x7fc68dca6850) = 0 +43938904781802:43938904782417 26086:26086 hsa_system_get_info(2, 0x7fc68dca6858) = 0 +43938904783167:43938904783780 26086:26086 hsa_system_get_info(2, 0x7fc68dca6860) = 0 +43938904784528:43938904785146 26086:26086 hsa_system_get_info(2, 0x7fc68dca6868) = 0 +43938904785896:43938904786514 26086:26086 hsa_system_get_info(2, 0x7fc68dca6870) = 0 +43938904787262:43938904787878 26086:26086 hsa_system_get_info(2, 0x7fc68dca6878) = 0 +43938904788624:43938904789247 26086:26086 hsa_system_get_info(2, 0x7fc68dca6880) = 0 +43938904789994:43938904790616 26086:26086 hsa_system_get_info(2, 0x7fc68dca6888) = 0 +43938904791365:43938904791982 26086:26086 hsa_system_get_info(2, 0x7fc68dca6890) = 0 +43938904792732:43938904793351 26086:26086 hsa_system_get_info(2, 0x7fc68dca6898) = 0 +43938904794100:43938904794717 26086:26086 hsa_system_get_info(2, 0x7fc68dca68a0) = 0 +43938904795464:43938904796089 26086:26086 hsa_system_get_info(2, 0x7fc68dca68a8) = 0 +43938904796855:43938904797474 26086:26086 hsa_system_get_info(2, 0x7fc68dca68b0) = 0 +43938904798224:43938904798841 26086:26086 hsa_system_get_info(2, 0x7fc68dca68b8) = 0 +43938904799595:43938904800215 26086:26086 hsa_system_get_info(2, 0x7fc68dca68c0) = 0 +43938904800966:43938904801594 26086:26086 hsa_system_get_info(2, 0x7fc68dca68c8) = 0 +43938904802343:43938904802963 26086:26086 hsa_system_get_info(2, 0x7fc68dca68d0) = 0 +43938904803711:43938904804332 26086:26086 hsa_system_get_info(2, 0x7fc68dca68d8) = 0 +43938904805082:43938904805700 26086:26086 hsa_system_get_info(2, 0x7fc68dca68e0) = 0 +43938904806449:43938904807067 26086:26086 hsa_system_get_info(2, 0x7fc68dca68e8) = 0 +43938904807815:43938904808437 26086:26086 hsa_system_get_info(2, 0x7fc68dca68f0) = 0 +43938904809181:43938904809801 26086:26086 hsa_system_get_info(2, 0x7fc68dca68f8) = 0 +43938904810550:43938904811168 26086:26086 hsa_system_get_info(2, 0x7fc68dca6900) = 0 +43938904811914:43938904812531 26086:26086 hsa_system_get_info(2, 0x7fc68dca6908) = 0 +43938904813987:43938904814609 26086:26086 hsa_system_get_info(2, 0x7fc68dca6910) = 0 +43938904815355:43938904815972 26086:26086 hsa_system_get_info(2, 0x7fc68dca6918) = 0 +43938904816722:43938904817342 26086:26086 hsa_system_get_info(2, 0x7fc68dca6920) = 0 +43938904818090:43938904818715 26086:26086 hsa_system_get_info(2, 0x7fc68dca6928) = 0 +43938904819465:43938904820088 26086:26086 hsa_system_get_info(2, 0x7fc68dca6930) = 0 +43938904820834:43938904821459 26086:26086 hsa_system_get_info(2, 0x7fc68dca6938) = 0 +43938904822212:43938904822833 26086:26086 hsa_system_get_info(2, 0x7fc68dca6940) = 0 +43938904823579:43938904824200 26086:26086 hsa_system_get_info(2, 0x7fc68dca6948) = 0 +43938904824949:43938904825577 26086:26086 hsa_system_get_info(2, 0x7fc68dca6950) = 0 +43938904826328:43938904826945 26086:26086 hsa_system_get_info(2, 0x7fc68dca6958) = 0 +43938904827693:43938904828316 26086:26086 hsa_system_get_info(2, 0x7fc68dca6960) = 0 +43938904829068:43938904829687 26086:26086 hsa_system_get_info(2, 0x7fc68dca6968) = 0 +43938904830437:43938904831054 26086:26086 hsa_system_get_info(2, 0x7fc68dca6970) = 0 +43938904831803:43938904832435 26086:26086 hsa_system_get_info(2, 0x7fc68dca6978) = 0 +43938904833185:43938904833806 26086:26086 hsa_system_get_info(2, 0x7fc68dca6980) = 0 +43938904834555:43938904835172 26086:26086 hsa_system_get_info(2, 0x7fc68dca6988) = 0 +43938904835920:43938904836536 26086:26086 hsa_system_get_info(2, 0x7fc68dca6990) = 0 +43938904837286:43938904837908 26086:26086 hsa_system_get_info(2, 0x7fc68dca6998) = 0 +43938904838656:43938904839279 26086:26086 hsa_system_get_info(2, 0x7fc68dca69a0) = 0 +43938904840030:43938904840649 26086:26086 hsa_system_get_info(2, 0x7fc68dca69a8) = 0 +43938904841399:43938904842024 26086:26086 hsa_system_get_info(2, 0x7fc68dca69b0) = 0 +43938904842770:43938904843390 26086:26086 hsa_system_get_info(2, 0x7fc68dca69b8) = 0 +43938904844139:43938904844761 26086:26086 hsa_system_get_info(2, 0x7fc68dca69c0) = 0 +43938904845510:43938904846128 26086:26086 hsa_system_get_info(2, 0x7fc68dca69c8) = 0 +43938904846877:43938904847499 26086:26086 hsa_system_get_info(2, 0x7fc68dca69d0) = 0 +43938904848251:43938904848871 26086:26086 hsa_system_get_info(2, 0x7fc68dca69d8) = 0 +43938904849621:43938904850243 26086:26086 hsa_system_get_info(2, 0x7fc68dca69e0) = 0 +43938904850992:43938904851614 26086:26086 hsa_system_get_info(2, 0x7fc68dca69e8) = 0 +43938904852375:43938904853000 26086:26086 hsa_system_get_info(2, 0x7fc68dca69f0) = 0 +43938904854555:43938904855188 26086:26086 hsa_system_get_info(2, 0x7fc68dca69f8) = 0 +43938904855939:43938904856568 26086:26086 hsa_system_get_info(2, 0x7fc68dca6a00) = 0 +43938904857320:43938904857944 26086:26086 hsa_system_get_info(2, 0x7fc68dca6a08) = 0 +43938904858695:43938904859323 26086:26086 hsa_system_get_info(2, 0x7fc68dca6a10) = 0 +43938904860074:43938904860698 26086:26086 hsa_system_get_info(2, 0x7fc68dca6a18) = 0 +43938904861450:43938904862070 26086:26086 hsa_system_get_info(2, 0x7fc68dca6a20) = 0 +43938904862821:43938904863443 26086:26086 hsa_system_get_info(2, 0x7fc68dca6a28) = 0 +43938904864193:43938904864814 26086:26086 hsa_system_get_info(2, 0x7fc68dca6a30) = 0 +43938904865564:43938904866185 26086:26086 hsa_system_get_info(2, 0x7fc68dca6a38) = 0 +43938904866935:43938904867562 26086:26086 hsa_system_get_info(2, 0x7fc68dca6a40) = 0 +43938904868328:43938904868951 26086:26086 hsa_system_get_info(2, 0x7fc68dca6a48) = 0 +43938904869703:43938904870325 26086:26086 hsa_system_get_info(2, 0x7fc68dca6a50) = 0 +43938904871075:43938904871695 26086:26086 hsa_system_get_info(2, 0x7fc68dca6a58) = 0 +43938904872443:43938904873065 26086:26086 hsa_system_get_info(2, 0x7fc68dca6a60) = 0 +43938904873815:43938904874434 26086:26086 hsa_system_get_info(2, 0x7fc68dca6a68) = 0 +43938904875184:43938904875803 26086:26086 hsa_system_get_info(2, 0x7fc68dca6a70) = 0 +43938904876548:43938904877169 26086:26086 hsa_system_get_info(2, 0x7fc68dca6a78) = 0 +43938904877920:43938904878538 26086:26086 hsa_system_get_info(2, 0x7fc68dca6a80) = 0 +43938904879299:43938904879925 26086:26086 hsa_system_get_info(2, 0x7fc68dca6a88) = 0 +43938904880672:43938904881299 26086:26086 hsa_system_get_info(2, 0x7fc68dca6a90) = 0 +43938904882051:43938904882678 26086:26086 hsa_system_get_info(2, 0x7fc68dca6a98) = 0 +43938904883427:43938904884048 26086:26086 hsa_system_get_info(2, 0x7fc68dca6aa0) = 0 +43938904884798:43938904885418 26086:26086 hsa_system_get_info(2, 0x7fc68dca6aa8) = 0 +43938904886173:43938904886801 26086:26086 hsa_system_get_info(2, 0x7fc68dca6ab0) = 0 +43938904887585:43938904888207 26086:26086 hsa_system_get_info(2, 0x7fc68dca6ab8) = 0 +43938904888955:43938904889575 26086:26086 hsa_system_get_info(2, 0x7fc68dca6ac0) = 0 +43938904890324:43938904890939 26086:26086 hsa_system_get_info(2, 0x7fc68dca6ac8) = 0 +43938904891688:43938904892307 26086:26086 hsa_system_get_info(2, 0x7fc68dca6ad0) = 0 +43938904893829:43938904894465 26086:26086 hsa_system_get_info(2, 0x7fc68dca6ad8) = 0 +43938904895216:43938904895836 26086:26086 hsa_system_get_info(2, 0x7fc68dca6ae0) = 0 +43938904896585:43938904897201 26086:26086 hsa_system_get_info(2, 0x7fc68dca6ae8) = 0 +43938904897950:43938904898573 26086:26086 hsa_system_get_info(2, 0x7fc68dca6af0) = 0 +43938904899326:43938904899942 26086:26086 hsa_system_get_info(2, 0x7fc68dca6af8) = 0 +43938904900689:43938904901313 26086:26086 hsa_system_get_info(2, 0x7fc68dca6b00) = 0 +43938904902064:43938904902692 26086:26086 hsa_system_get_info(2, 0x7fc68dca6b08) = 0 +43938904903443:43938904904063 26086:26086 hsa_system_get_info(2, 0x7fc68dca6b10) = 0 +43938904904812:43938904905436 26086:26086 hsa_system_get_info(2, 0x7fc68dca6b18) = 0 +43938904906182:43938904906801 26086:26086 hsa_system_get_info(2, 0x7fc68dca6b20) = 0 +43938904907551:43938904908169 26086:26086 hsa_system_get_info(2, 0x7fc68dca6b28) = 0 +43938904908918:43938904909535 26086:26086 hsa_system_get_info(2, 0x7fc68dca6b30) = 0 +43938904910283:43938904910903 26086:26086 hsa_system_get_info(2, 0x7fc68dca6b38) = 0 +43938904911651:43938904912270 26086:26086 hsa_system_get_info(2, 0x7fc68dca6b40) = 0 +43938904913031:43938904913649 26086:26086 hsa_system_get_info(2, 0x7fc68dca6b48) = 0 +43938904914398:43938904915017 26086:26086 hsa_system_get_info(2, 0x7fc68dca6b50) = 0 +43938904915766:43938904916384 26086:26086 hsa_system_get_info(2, 0x7fc68dca6b58) = 0 +43938904917133:43938904917754 26086:26086 hsa_system_get_info(2, 0x7fc68dca6b60) = 0 +43938904918504:43938904919121 26086:26086 hsa_system_get_info(2, 0x7fc68dca6b68) = 0 +43938904919865:43938904920482 26086:26086 hsa_system_get_info(2, 0x7fc68dca6b70) = 0 +43938904921231:43938904921851 26086:26086 hsa_system_get_info(2, 0x7fc68dca6b78) = 0 +43938904922600:43938904923220 26086:26086 hsa_system_get_info(2, 0x7fc68dca6b80) = 0 +43938904923972:43938904924595 26086:26086 hsa_system_get_info(2, 0x7fc68dca6b88) = 0 +43938904925343:43938904925973 26086:26086 hsa_system_get_info(2, 0x7fc68dca6b90) = 0 +43938904926730:43938904927348 26086:26086 hsa_system_get_info(2, 0x7fc68dca6b98) = 0 +43938904928099:43938904928720 26086:26086 hsa_system_get_info(2, 0x7fc68dca6ba0) = 0 +43938904929467:43938904930089 26086:26086 hsa_system_get_info(2, 0x7fc68dca6ba8) = 0 +43938904930837:43938904931461 26086:26086 hsa_system_get_info(2, 0x7fc68dca6bb0) = 0 +43938904932226:43938904932842 26086:26086 hsa_system_get_info(2, 0x7fc68dca6bb8) = 0 +43938904934292:43938904934919 26086:26086 hsa_system_get_info(2, 0x7fc68dca6bc0) = 0 +43938904935664:43938904936291 26086:26086 hsa_system_get_info(2, 0x7fc68dca6bc8) = 0 +43938904937038:43938904937664 26086:26086 hsa_system_get_info(2, 0x7fc68dca6bd0) = 0 +43938904938413:43938904939039 26086:26086 hsa_system_get_info(2, 0x7fc68dca6bd8) = 0 +43938904939787:43938904940420 26086:26086 hsa_system_get_info(2, 0x7fc68dca6be0) = 0 +43938904941170:43938904941796 26086:26086 hsa_system_get_info(2, 0x7fc68dca6be8) = 0 +43938904942545:43938904943167 26086:26086 hsa_system_get_info(2, 0x7fc68dca6bf0) = 0 +43938904943919:43938904944546 26086:26086 hsa_system_get_info(2, 0x7fc68dca6bf8) = 0 +43938904945297:43938904945918 26086:26086 hsa_system_get_info(2, 0x7fc68dca6c00) = 0 +43938904946667:43938904947287 26086:26086 hsa_system_get_info(2, 0x7fc68dca6c08) = 0 +43938904948038:43938904948660 26086:26086 hsa_system_get_info(2, 0x7fc68dca6c10) = 0 +43938904949408:43938904950031 26086:26086 hsa_system_get_info(2, 0x7fc68dca6c18) = 0 +43938904950799:43938904951424 26086:26086 hsa_system_get_info(2, 0x7fc68dca6c20) = 0 +43938904952172:43938904952793 26086:26086 hsa_system_get_info(2, 0x7fc68dca6c28) = 0 +43938904953542:43938904954163 26086:26086 hsa_system_get_info(2, 0x7fc68dca6c30) = 0 +43938904954912:43938904955530 26086:26086 hsa_system_get_info(2, 0x7fc68dca6c38) = 0 +43938904956291:43938904956913 26086:26086 hsa_system_get_info(2, 0x7fc68dca6c40) = 0 +43938904957662:43938904958284 26086:26086 hsa_system_get_info(2, 0x7fc68dca6c48) = 0 +43938904959033:43938904959654 26086:26086 hsa_system_get_info(2, 0x7fc68dca6c50) = 0 +43938904960403:43938904961028 26086:26086 hsa_system_get_info(2, 0x7fc68dca6c58) = 0 +43938904961778:43938904962390 26086:26086 hsa_system_get_info(2, 0x7fc68dca6c60) = 0 +43938904963135:43938904963751 26086:26086 hsa_system_get_info(2, 0x7fc68dca6c68) = 0 +43938904964500:43938904965119 26086:26086 hsa_system_get_info(2, 0x7fc68dca6c70) = 0 +43938904965869:43938904966487 26086:26086 hsa_system_get_info(2, 0x7fc68dca6c78) = 0 +43938904967249:43938904967870 26086:26086 hsa_system_get_info(2, 0x7fc68dca6c80) = 0 +43938904968623:43938904969241 26086:26086 hsa_system_get_info(2, 0x7fc68dca6c88) = 0 +43938904969991:43938904970615 26086:26086 hsa_system_get_info(2, 0x7fc68dca6c90) = 0 +43938904971365:43938904971986 26086:26086 hsa_system_get_info(2, 0x7fc68dca6c98) = 0 +43938904973452:43938904974085 26086:26086 hsa_system_get_info(2, 0x7fc68dca6ca0) = 0 +43938904974834:43938904975460 26086:26086 hsa_system_get_info(2, 0x7fc68dca6ca8) = 0 +43938904976207:43938904976833 26086:26086 hsa_system_get_info(2, 0x7fc68dca6cb0) = 0 +43938904977581:43938904978204 26086:26086 hsa_system_get_info(2, 0x7fc68dca6cb8) = 0 +43938904978954:43938904979573 26086:26086 hsa_system_get_info(2, 0x7fc68dca6cc0) = 0 +43938904980319:43938904980947 26086:26086 hsa_system_get_info(2, 0x7fc68dca6cc8) = 0 +43938904981699:43938904982317 26086:26086 hsa_system_get_info(2, 0x7fc68dca6cd0) = 0 +43938904983067:43938904983686 26086:26086 hsa_system_get_info(2, 0x7fc68dca6cd8) = 0 +43938904984433:43938904985051 26086:26086 hsa_system_get_info(2, 0x7fc68dca6ce0) = 0 +43938904985801:43938904986423 26086:26086 hsa_system_get_info(2, 0x7fc68dca6ce8) = 0 +43938904987193:43938904987817 26086:26086 hsa_system_get_info(2, 0x7fc68dca6cf0) = 0 +43938904988565:43938904989188 26086:26086 hsa_system_get_info(2, 0x7fc68dca6cf8) = 0 +43938904989933:43938904990555 26086:26086 hsa_system_get_info(2, 0x7fc68dca6d00) = 0 +43938904991304:43938904991929 26086:26086 hsa_system_get_info(2, 0x7fc68dca6d08) = 0 +43938904992677:43938904993294 26086:26086 hsa_system_get_info(2, 0x7fc68dca6d10) = 0 +43938904994042:43938904994664 26086:26086 hsa_system_get_info(2, 0x7fc68dca6d18) = 0 +43938904995416:43938904996037 26086:26086 hsa_system_get_info(2, 0x7fc68dca6d20) = 0 +43938904996786:43938904997404 26086:26086 hsa_system_get_info(2, 0x7fc68dca6d28) = 0 +43938904998156:43938904998775 26086:26086 hsa_system_get_info(2, 0x7fc68dca6d30) = 0 +43938904999524:43938905000142 26086:26086 hsa_system_get_info(2, 0x7fc68dca6d38) = 0 +43938905000891:43938905001509 26086:26086 hsa_system_get_info(2, 0x7fc68dca6d40) = 0 +43938905002257:43938905002878 26086:26086 hsa_system_get_info(2, 0x7fc68dca6d48) = 0 +43938905003626:43938905004247 26086:26086 hsa_system_get_info(2, 0x7fc68dca6d50) = 0 +43938905004998:43938905005639 26086:26086 hsa_system_get_info(2, 0x7fc68dca6d58) = 0 +43938905006390:43938905007010 26086:26086 hsa_system_get_info(2, 0x7fc68dca6d60) = 0 +43938905007764:43938905008379 26086:26086 hsa_system_get_info(2, 0x7fc68dca6d68) = 0 +43938905009131:43938905009753 26086:26086 hsa_system_get_info(2, 0x7fc68dca6d70) = 0 +43938905010503:43938905011128 26086:26086 hsa_system_get_info(2, 0x7fc68dca6d78) = 0 +43938905011884:43938905012504 26086:26086 hsa_system_get_info(2, 0x7fc68dca6d80) = 0 +43938905014560:43938905015190 26086:26086 hsa_system_get_info(2, 0x7fc68dca6d88) = 0 +43938905015961:43938905016585 26086:26086 hsa_system_get_info(2, 0x7fc68dca6d90) = 0 +43938905017332:43938905017955 26086:26086 hsa_system_get_info(2, 0x7fc68dca6d98) = 0 +43938905018702:43938905019325 26086:26086 hsa_system_get_info(2, 0x7fc68dca6da0) = 0 +43938905020072:43938905020692 26086:26086 hsa_system_get_info(2, 0x7fc68dca6da8) = 0 +43938905021440:43938905022059 26086:26086 hsa_system_get_info(2, 0x7fc68dca6db0) = 0 +43938905022804:43938905023429 26086:26086 hsa_system_get_info(2, 0x7fc68dca6db8) = 0 +43938905024181:43938905024805 26086:26086 hsa_system_get_info(2, 0x7fc68dca6dc0) = 0 +43938905025556:43938905026174 26086:26086 hsa_system_get_info(2, 0x7fc68dca6dc8) = 0 +43938905026925:43938905027543 26086:26086 hsa_system_get_info(2, 0x7fc68dca6dd0) = 0 +43938905028296:43938905028915 26086:26086 hsa_system_get_info(2, 0x7fc68dca6dd8) = 0 +43938905029665:43938905030282 26086:26086 hsa_system_get_info(2, 0x7fc68dca6de0) = 0 +43938905031029:43938905031649 26086:26086 hsa_system_get_info(2, 0x7fc68dca6de8) = 0 +43938905032396:43938905033016 26086:26086 hsa_system_get_info(2, 0x7fc68dca6df0) = 0 +43938905033766:43938905034381 26086:26086 hsa_system_get_info(2, 0x7fc68dca6df8) = 0 +43938905035128:43938905035746 26086:26086 hsa_system_get_info(2, 0x7fc68dca6e00) = 0 +43938905036510:43938905037130 26086:26086 hsa_system_get_info(2, 0x7fc68dca6e08) = 0 +43938905037881:43938905038501 26086:26086 hsa_system_get_info(2, 0x7fc68dca6e10) = 0 +43938905039249:43938905039867 26086:26086 hsa_system_get_info(2, 0x7fc68dca6e18) = 0 +43938905040612:43938905041230 26086:26086 hsa_system_get_info(2, 0x7fc68dca6e20) = 0 +43938905041982:43938905042605 26086:26086 hsa_system_get_info(2, 0x7fc68dca6e28) = 0 +43938905043361:43938905043986 26086:26086 hsa_system_get_info(2, 0x7fc68dca6e30) = 0 +43938905044736:43938905045362 26086:26086 hsa_system_get_info(2, 0x7fc68dca6e38) = 0 +43938905046111:43938905046728 26086:26086 hsa_system_get_info(2, 0x7fc68dca6e40) = 0 +43938905047482:43938905048098 26086:26086 hsa_system_get_info(2, 0x7fc68dca6e48) = 0 +43938905048846:43938905049463 26086:26086 hsa_system_get_info(2, 0x7fc68dca6e50) = 0 +43938905050215:43938905050829 26086:26086 hsa_system_get_info(2, 0x7fc68dca6e58) = 0 +43938905051580:43938905052206 26086:26086 hsa_system_get_info(2, 0x7fc68dca6e60) = 0 +43938905053675:43938905054302 26086:26086 hsa_system_get_info(2, 0x7fc68dca6e68) = 0 +43938905055077:43938905055706 26086:26086 hsa_system_get_info(2, 0x7fc68dca6e70) = 0 +43938905056461:43938905057089 26086:26086 hsa_system_get_info(2, 0x7fc68dca6e78) = 0 +43938905057841:43938905058459 26086:26086 hsa_system_get_info(2, 0x7fc68dca6e80) = 0 +43938905059208:43938905059832 26086:26086 hsa_system_get_info(2, 0x7fc68dca6e88) = 0 +43938905060579:43938905061201 26086:26086 hsa_system_get_info(2, 0x7fc68dca6e90) = 0 +43938905061951:43938905062573 26086:26086 hsa_system_get_info(2, 0x7fc68dca6e98) = 0 +43938905326949:43938911557871 26086:26091 hsa_queue_create(, , , 0, 0, , , ) = 0 +43939189530234:43939189533202 26086:26091 hsa_signal_create(1, , 0, 0x7fc634002190) = 0 +43939189567727:43939189587617 26086:26091 hsa_code_object_reader_create_from_file(7, 0x7fc689f98b70) = 0 +43939189588813:43939189596519 26086:26091 hsa_executable_create_alt(1, 0, +43939189597514:43939189750707 26086:26091 hsa_executable_load_agent_code_object(, , , +43939189752889:43939189889592 26086:26091 hsa_executable_freeze(, ) = 0 +43939189890968:43939189892392 26086:26091 hsa_executable_get_symbol(, +43939189899247:43939189899810 26086:26091 hsa_executable_symbol_get_info(, 13, 0x7fc689f98bd0) = 0 +43939189900627:43939189900981 26086:26091 hsa_executable_symbol_get_info(, 14, 0x7fc689f98bd4) = 0 +43939189912972:43939189913406 26086:26091 hsa_executable_symbol_get_info(, 22, 0x7fc689f98be0) = 0 +43939189915866:43939189916344 26086:26091 hsa_signal_store_relaxed(, 1) = void +43939189924130:43939189924969 26086:26091 hsa_queue_load_write_index_relaxed(0x2421000) = 0 +43939189926058:43939189926649 26086:26091 hsa_queue_store_write_index_relaxed(0x2421000, ) = void +43939189927811:43939189928345 26086:26091 hsa_queue_load_read_index_relaxed(0x2421000) = 0 +43939189931129:43939189931996 26086:26091 hsa_signal_store_relaxed(, 0) = void +43939189947661:43939189948388 26086:26091 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43939190016817:43939190053550 26086:26091 hsa_executable_destroy() = 0 +43939190054760:43939190056006 26086:26091 hsa_signal_destroy() = 0 +43939468014346:43939468015082 26086:26091 hsa_signal_create(1, , 0, 0x7fc634002190) = 0 +43939468023006:43939468039445 26086:26091 hsa_code_object_reader_create_from_file(8, 0x7fc689f98b60) = 0 +43939468040482:43939468041650 26086:26091 hsa_executable_create_alt(1, 0, +43939468043766:43939468118495 26086:26091 hsa_executable_load_agent_code_object(, , , +43939468120062:43939468139621 26086:26091 hsa_executable_freeze(, ) = 0 +43939468140624:43939468141841 26086:26091 hsa_executable_get_symbol(, +43939468143811:43939468171528 26086:26091 hsa_amd_memory_pool_allocate(, , , 0x7fc689f98ba0) = 0 +43939468172551:43939468193591 26086:26091 hsa_amd_agents_allow_access(, 0x7fc689f98bb0, 0, 0x801b18000) = 0 +43939468195069:43939468196055 26086:26091 hsa_amd_memory_pool_allocate(, , , 0x7fc689f98ba8) = 0 +43939468197026:43939468205099 26086:26091 hsa_amd_memory_pool_allocate(, , , 0x7fc689f98ba0) = 0 +43939468205947:43939468213321 26086:26091 hsa_amd_agents_allow_access(, 0x7fc689f98bb0, 0, 0x801b01000) = 0 +43939468214340:43939468214810 26086:26091 hsa_executable_symbol_get_info(, 11, 0x7fc689f98c00) = 0 +43939468215682:43939468222815 26086:26091 hsa_amd_memory_pool_allocate(, , , 0x7fc689f98ba0) = 0 +43939468223649:43939468230864 26086:26091 hsa_amd_agents_allow_access(, 0x7fc689f98bb0, 0, 0x243f000) = 0 +43939468681739:43939468682141 26086:26091 hsa_executable_symbol_get_info(, 13, 0x7fc689f98bc0) = 0 +43939468683042:43939468683393 26086:26091 hsa_executable_symbol_get_info(, 14, 0x7fc689f98bc4) = 0 +43939468684136:43939468684561 26086:26091 hsa_executable_symbol_get_info(, 22, 0x7fc689f98bd0) = 0 +43939468695823:43939468696284 26086:26091 hsa_signal_store_relaxed(, 1) = void +43939468701460:43939468702104 26086:26091 hsa_queue_load_write_index_relaxed(0x2421000) = 1 +43939468703177:43939468703718 26086:26091 hsa_queue_store_write_index_relaxed(0x2421000, ) = void +43939468704617:43939468705031 26086:26091 hsa_queue_load_read_index_relaxed(0x2421000) = 1 +43939468705929:43939468706517 26086:26091 hsa_signal_store_relaxed(, 1) = void +43939468711313:43939468726363 26086:26091 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43939468731752:43939468744534 26086:26091 hsa_amd_memory_pool_allocate(, , , 0x7fc689f98be0) = 0 +43939468745527:43939468756171 26086:26091 hsa_amd_agents_allow_access(, 0x7fc689f98bf0, 0, 0x801b30000) = 0 +43939468757498:43939468759176 26086:26091 hsa_signal_create(1, , 0, 0x7fc689f98b90) = 0 +43939468766595:43939468767146 26086:26091 hsa_agent_get_info(, 17, 0x7fc689f98640) = 0 +43939468769167:43939468769772 26086:26091 hsa_amd_memory_pool_get_info(, 0, 0x7fc689f984c0) = 0 +43939468779651:43939468780021 26086:26091 hsa_amd_memory_pool_get_info(, 1, 0x7fc689f984c4) = 0 +43939468780883:43939468781223 26086:26091 hsa_amd_memory_pool_get_info(, 0, 0x7fc689f984c0) = 0 +43939468782008:43939468782346 26086:26091 hsa_amd_memory_pool_get_info(, 1, 0x7fc689f984c4) = 0 +43939468782008:43939468783133 26086:26091 hsa_amd_agent_iterate_memory_pools(, 1, 0x7fc634006d60) = 1 +43939468785405:43939468785743 26086:26091 hsa_amd_memory_pool_get_info(, 0, 0x7fc689f984c0) = 0 +43939468786489:43939468786825 26086:26091 hsa_amd_memory_pool_get_info(, 1, 0x7fc689f984c4) = 0 +43939468786489:43939468787567 26086:26091 hsa_amd_agent_iterate_memory_pools(, 1, 0x7fc634006d70) = 1 +43939468812510:43939468812938 26086:26091 hsa_agent_get_info(, 17, 0x7fc689f98640) = 0 +43939468813851:43939468817115 26086:26091 hsa_agent_get_info(, 0, 0x7fc634006df4) = 0 +43939468819412:43939468819794 26086:26091 hsa_agent_get_info(, 6, 0x7fc634006e34) = 0 +43939468820596:43939468821009 26086:26091 hsa_agent_get_info(, 14, 0x7fc634006e38) = 0 +43939468821800:43939468822156 26086:26091 hsa_agent_get_info(, 4, 0x7fc634006e3c) = 0 +43939468822917:43939468823278 26086:26091 hsa_agent_get_info(, 40962, 0x7fc634006e58) = 0 +43939468824052:43939468824418 26086:26091 hsa_agent_get_info(, 40970, 0x7fc634006e5c) = 0 +43939468825180:43939468825589 26086:26091 hsa_agent_get_info(, 40971, 0x7fc634006e60) = 0 +43939468835277:43939468835644 26086:26091 hsa_agent_get_info(, 40972, 0x7fc634006e64) = 0 +43939468836417:43939468836762 26086:26091 hsa_agent_get_info(, 40973, 0x7fc634006e68) = 0 +43939468838084:43939468838429 26086:26091 hsa_amd_memory_pool_get_info(, 0, 0x7fc689f984b0) = 0 +43939468839180:43939468839532 26086:26091 hsa_amd_memory_pool_get_info(, 1, 0x7fc689f984b4) = 0 +43939468839180:43939468840281 26086:26091 hsa_amd_agent_iterate_memory_pools(, 1, 0x7fc634006e48) = 1 +43939468839180:43939468844488 26086:26091 hsa_iterate_agents(1, 0x7fc634006b70) = 0 +43939468845569:43939468858976 26086:26091 hsa_system_get_major_extension_table(, , , 0x7fc634006c08) = 0 +43939468859827:43939468860185 26086:26091 hsa_system_get_major_extension_table(, , , 0x7fc634006c58) = 0 +43939468861257:43939468861609 26086:26091 hsa_system_get_info(3, 0x7fc689f987b8) = 0 +43939468874710:43939468875393 26086:26091 hsa_system_get_info(2, 0x7fc63400f020) = 0 +43939468877562:43939468878202 26086:26091 hsa_system_get_info(2, 0x7fc63400f028) = 0 +43939468879002:43939468879625 26086:26091 hsa_system_get_info(2, 0x7fc63400f030) = 0 +43939468880384:43939468881010 26086:26091 hsa_system_get_info(2, 0x7fc63400f038) = 0 +43939468881769:43939468882394 26086:26091 hsa_system_get_info(2, 0x7fc63400f040) = 0 +43939468883147:43939468883771 26086:26091 hsa_system_get_info(2, 0x7fc63400f048) = 0 +43939468884527:43939468885151 26086:26091 hsa_system_get_info(2, 0x7fc63400f050) = 0 +43939468885921:43939468886546 26086:26091 hsa_system_get_info(2, 0x7fc63400f058) = 0 +43939468888192:43939468888832 26086:26091 hsa_system_get_info(2, 0x7fc63400f060) = 0 +43939468889594:43939468890223 26086:26091 hsa_system_get_info(2, 0x7fc63400f068) = 0 +43939468890984:43939468891615 26086:26091 hsa_system_get_info(2, 0x7fc63400f070) = 0 +43939468892374:43939468893001 26086:26091 hsa_system_get_info(2, 0x7fc63400f078) = 0 +43939468893762:43939468894391 26086:26091 hsa_system_get_info(2, 0x7fc63400f080) = 0 +43939468895157:43939468895785 26086:26091 hsa_system_get_info(2, 0x7fc63400f088) = 0 +43939468896544:43939468897174 26086:26091 hsa_system_get_info(2, 0x7fc63400f090) = 0 +43939468897929:43939468898556 26086:26091 hsa_system_get_info(2, 0x7fc63400f098) = 0 +43939468899334:43939468899965 26086:26091 hsa_system_get_info(2, 0x7fc63400f0a0) = 0 +43939468900726:43939468901355 26086:26091 hsa_system_get_info(2, 0x7fc63400f0a8) = 0 +43939468902119:43939468902745 26086:26091 hsa_system_get_info(2, 0x7fc63400f0b0) = 0 +43939468903513:43939468904143 26086:26091 hsa_system_get_info(2, 0x7fc63400f0b8) = 0 +43939468904914:43939468905540 26086:26091 hsa_system_get_info(2, 0x7fc63400f0c0) = 0 +43939468906302:43939468906935 26086:26091 hsa_system_get_info(2, 0x7fc63400f0c8) = 0 +43939468907696:43939468908321 26086:26091 hsa_system_get_info(2, 0x7fc63400f0d0) = 0 +43939468909082:43939468909711 26086:26091 hsa_system_get_info(2, 0x7fc63400f0d8) = 0 +43939468910473:43939468911104 26086:26091 hsa_system_get_info(2, 0x7fc63400f0e0) = 0 +43939468911866:43939468912488 26086:26091 hsa_system_get_info(2, 0x7fc63400f0e8) = 0 +43939468913247:43939468913884 26086:26091 hsa_system_get_info(2, 0x7fc63400f0f0) = 0 +43939468914646:43939468915278 26086:26091 hsa_system_get_info(2, 0x7fc63400f0f8) = 0 +43939468916043:43939468916678 26086:26091 hsa_system_get_info(2, 0x7fc63400f100) = 0 +43939468917440:43939468918071 26086:26091 hsa_system_get_info(2, 0x7fc63400f108) = 0 +43939468918845:43939468919468 26086:26091 hsa_system_get_info(2, 0x7fc63400f110) = 0 +43939468920228:43939468920861 26086:26091 hsa_system_get_info(2, 0x7fc63400f118) = 0 +43939468921624:43939468922257 26086:26091 hsa_system_get_info(2, 0x7fc63400f120) = 0 +43939468923017:43939468923642 26086:26091 hsa_system_get_info(2, 0x7fc63400f128) = 0 +43939468924418:43939468925044 26086:26091 hsa_system_get_info(2, 0x7fc63400f130) = 0 +43939468925805:43939468926429 26086:26091 hsa_system_get_info(2, 0x7fc63400f138) = 0 +43939468927191:43939468927814 26086:26091 hsa_system_get_info(2, 0x7fc63400f140) = 0 +43939468929384:43939468930014 26086:26091 hsa_system_get_info(2, 0x7fc63400f148) = 0 +43939468930773:43939468931399 26086:26091 hsa_system_get_info(2, 0x7fc63400f150) = 0 +43939468932157:43939468932784 26086:26091 hsa_system_get_info(2, 0x7fc63400f158) = 0 +43939468933544:43939468934170 26086:26091 hsa_system_get_info(2, 0x7fc63400f160) = 0 +43939468934929:43939468935559 26086:26091 hsa_system_get_info(2, 0x7fc63400f168) = 0 +43939468936319:43939468936950 26086:26091 hsa_system_get_info(2, 0x7fc63400f170) = 0 +43939468937713:43939468938346 26086:26091 hsa_system_get_info(2, 0x7fc63400f178) = 0 +43939468939108:43939468939733 26086:26091 hsa_system_get_info(2, 0x7fc63400f180) = 0 +43939468940493:43939468941122 26086:26091 hsa_system_get_info(2, 0x7fc63400f188) = 0 +43939468941881:43939468942504 26086:26091 hsa_system_get_info(2, 0x7fc63400f190) = 0 +43939468943266:43939468943894 26086:26091 hsa_system_get_info(2, 0x7fc63400f198) = 0 +43939468944655:43939468945287 26086:26091 hsa_system_get_info(2, 0x7fc63400f1a0) = 0 +43939468946057:43939468946684 26086:26091 hsa_system_get_info(2, 0x7fc63400f1a8) = 0 +43939468947463:43939468948103 26086:26091 hsa_system_get_info(2, 0x7fc63400f1b0) = 0 +43939468948869:43939468949499 26086:26091 hsa_system_get_info(2, 0x7fc63400f1b8) = 0 +43939468950263:43939468950896 26086:26091 hsa_system_get_info(2, 0x7fc63400f1c0) = 0 +43939468951654:43939468952280 26086:26091 hsa_system_get_info(2, 0x7fc63400f1c8) = 0 +43939468953038:43939468953670 26086:26091 hsa_system_get_info(2, 0x7fc63400f1d0) = 0 +43939468954449:43939468955073 26086:26091 hsa_system_get_info(2, 0x7fc63400f1d8) = 0 +43939468955829:43939468956456 26086:26091 hsa_system_get_info(2, 0x7fc63400f1e0) = 0 +43939468957218:43939468957842 26086:26091 hsa_system_get_info(2, 0x7fc63400f1e8) = 0 +43939468958603:43939468959228 26086:26091 hsa_system_get_info(2, 0x7fc63400f1f0) = 0 +43939468959988:43939468960616 26086:26091 hsa_system_get_info(2, 0x7fc63400f1f8) = 0 +43939468961373:43939468961994 26086:26091 hsa_system_get_info(2, 0x7fc63400f200) = 0 +43939468962755:43939468963383 26086:26091 hsa_system_get_info(2, 0x7fc63400f208) = 0 +43939468964137:43939468964764 26086:26091 hsa_system_get_info(2, 0x7fc63400f210) = 0 +43939468965527:43939468966149 26086:26091 hsa_system_get_info(2, 0x7fc63400f218) = 0 +43939468966909:43939468967539 26086:26091 hsa_system_get_info(2, 0x7fc63400f220) = 0 +43939468969025:43939468969660 26086:26091 hsa_system_get_info(2, 0x7fc63400f228) = 0 +43939468970419:43939468971047 26086:26091 hsa_system_get_info(2, 0x7fc63400f230) = 0 +43939468971807:43939468972427 26086:26091 hsa_system_get_info(2, 0x7fc63400f238) = 0 +43939468973188:43939468973812 26086:26091 hsa_system_get_info(2, 0x7fc63400f240) = 0 +43939468974573:43939468975190 26086:26091 hsa_system_get_info(2, 0x7fc63400f248) = 0 +43939468975949:43939468976579 26086:26091 hsa_system_get_info(2, 0x7fc63400f250) = 0 +43939468977338:43939468977964 26086:26091 hsa_system_get_info(2, 0x7fc63400f258) = 0 +43939468978724:43939468979360 26086:26091 hsa_system_get_info(2, 0x7fc63400f260) = 0 +43939468980117:43939468980743 26086:26091 hsa_system_get_info(2, 0x7fc63400f268) = 0 +43939468981504:43939468982136 26086:26091 hsa_system_get_info(2, 0x7fc63400f270) = 0 +43939468982898:43939468983524 26086:26091 hsa_system_get_info(2, 0x7fc63400f278) = 0 +43939468984300:43939468984930 26086:26091 hsa_system_get_info(2, 0x7fc63400f280) = 0 +43939468985701:43939468986321 26086:26091 hsa_system_get_info(2, 0x7fc63400f288) = 0 +43939468987087:43939468987718 26086:26091 hsa_system_get_info(2, 0x7fc63400f290) = 0 +43939468988480:43939468989108 26086:26091 hsa_system_get_info(2, 0x7fc63400f298) = 0 +43939468989868:43939468990492 26086:26091 hsa_system_get_info(2, 0x7fc63400f2a0) = 0 +43939468991252:43939468991874 26086:26091 hsa_system_get_info(2, 0x7fc63400f2a8) = 0 +43939468992637:43939468993267 26086:26091 hsa_system_get_info(2, 0x7fc63400f2b0) = 0 +43939468994031:43939468994654 26086:26091 hsa_system_get_info(2, 0x7fc63400f2b8) = 0 +43939468995411:43939468996042 26086:26091 hsa_system_get_info(2, 0x7fc63400f2c0) = 0 +43939468996804:43939468997427 26086:26091 hsa_system_get_info(2, 0x7fc63400f2c8) = 0 +43939468998190:43939468998816 26086:26091 hsa_system_get_info(2, 0x7fc63400f2d0) = 0 +43939468999576:43939469000204 26086:26091 hsa_system_get_info(2, 0x7fc63400f2d8) = 0 +43939469000963:43939469001589 26086:26091 hsa_system_get_info(2, 0x7fc63400f2e0) = 0 +43939469002349:43939469002977 26086:26091 hsa_system_get_info(2, 0x7fc63400f2e8) = 0 +43939469003748:43939469004371 26086:26091 hsa_system_get_info(2, 0x7fc63400f2f0) = 0 +43939469005134:43939469005759 26086:26091 hsa_system_get_info(2, 0x7fc63400f2f8) = 0 +43939469006525:43939469007148 26086:26091 hsa_system_get_info(2, 0x7fc63400f300) = 0 +43939469007911:43939469008540 26086:26091 hsa_system_get_info(2, 0x7fc63400f308) = 0 +43939469010783:43939469011421 26086:26091 hsa_system_get_info(2, 0x7fc63400f310) = 0 +43939469012185:43939469012810 26086:26091 hsa_system_get_info(2, 0x7fc63400f318) = 0 +43939469013574:43939469014196 26086:26091 hsa_system_get_info(2, 0x7fc63400f320) = 0 +43939469014957:43939469015591 26086:26091 hsa_system_get_info(2, 0x7fc63400f328) = 0 +43939469016363:43939469016995 26086:26091 hsa_system_get_info(2, 0x7fc63400f330) = 0 +43939469017755:43939469018387 26086:26091 hsa_system_get_info(2, 0x7fc63400f338) = 0 +43939469019148:43939469019770 26086:26091 hsa_system_get_info(2, 0x7fc63400f340) = 0 +43939469020530:43939469021153 26086:26091 hsa_system_get_info(2, 0x7fc63400f348) = 0 +43939469021917:43939469022541 26086:26091 hsa_system_get_info(2, 0x7fc63400f350) = 0 +43939469023305:43939469023929 26086:26091 hsa_system_get_info(2, 0x7fc63400f358) = 0 +43939469024699:43939469025329 26086:26091 hsa_system_get_info(2, 0x7fc63400f360) = 0 +43939469026090:43939469026712 26086:26091 hsa_system_get_info(2, 0x7fc63400f368) = 0 +43939469027473:43939469028099 26086:26091 hsa_system_get_info(2, 0x7fc63400f370) = 0 +43939469028860:43939469029490 26086:26091 hsa_system_get_info(2, 0x7fc63400f378) = 0 +43939469030252:43939469030883 26086:26091 hsa_system_get_info(2, 0x7fc63400f380) = 0 +43939469031645:43939469032267 26086:26091 hsa_system_get_info(2, 0x7fc63400f388) = 0 +43939469033032:43939469033658 26086:26091 hsa_system_get_info(2, 0x7fc63400f390) = 0 +43939469034434:43939469035066 26086:26091 hsa_system_get_info(2, 0x7fc63400f398) = 0 +43939469035833:43939469036465 26086:26091 hsa_system_get_info(2, 0x7fc63400f3a0) = 0 +43939469037234:43939469037866 26086:26091 hsa_system_get_info(2, 0x7fc63400f3a8) = 0 +43939469038647:43939469039285 26086:26091 hsa_system_get_info(2, 0x7fc63400f3b0) = 0 +43939469040046:43939469040671 26086:26091 hsa_system_get_info(2, 0x7fc63400f3b8) = 0 +43939469041428:43939469042058 26086:26091 hsa_system_get_info(2, 0x7fc63400f3c0) = 0 +43939469042818:43939469043447 26086:26091 hsa_system_get_info(2, 0x7fc63400f3c8) = 0 +43939469044212:43939469044841 26086:26091 hsa_system_get_info(2, 0x7fc63400f3d0) = 0 +43939469045599:43939469046225 26086:26091 hsa_system_get_info(2, 0x7fc63400f3d8) = 0 +43939469047005:43939469047635 26086:26091 hsa_system_get_info(2, 0x7fc63400f3e0) = 0 +43939469048395:43939469049030 26086:26091 hsa_system_get_info(2, 0x7fc63400f3e8) = 0 +43939469050516:43939469051146 26086:26091 hsa_system_get_info(2, 0x7fc63400f3f0) = 0 +43939469051908:43939469052544 26086:26091 hsa_system_get_info(2, 0x7fc63400f3f8) = 0 +43939469053307:43939469053937 26086:26091 hsa_system_get_info(2, 0x7fc63400f400) = 0 +43939469054704:43939469055331 26086:26091 hsa_system_get_info(2, 0x7fc63400f408) = 0 +43939469056090:43939469056711 26086:26091 hsa_system_get_info(2, 0x7fc63400f410) = 0 +43939469057469:43939469058098 26086:26091 hsa_system_get_info(2, 0x7fc63400f418) = 0 +43939469058859:43939469059489 26086:26091 hsa_system_get_info(2, 0x7fc63400f420) = 0 +43939469060263:43939469060894 26086:26091 hsa_system_get_info(2, 0x7fc63400f428) = 0 +43939469061653:43939469062279 26086:26091 hsa_system_get_info(2, 0x7fc63400f430) = 0 +43939469063038:43939469063665 26086:26091 hsa_system_get_info(2, 0x7fc63400f438) = 0 +43939469064424:43939469065060 26086:26091 hsa_system_get_info(2, 0x7fc63400f440) = 0 +43939469065824:43939469066454 26086:26091 hsa_system_get_info(2, 0x7fc63400f448) = 0 +43939469067215:43939469067846 26086:26091 hsa_system_get_info(2, 0x7fc63400f450) = 0 +43939469068614:43939469069243 26086:26091 hsa_system_get_info(2, 0x7fc63400f458) = 0 +43939469070004:43939469070633 26086:26091 hsa_system_get_info(2, 0x7fc63400f460) = 0 +43939469071396:43939469072024 26086:26091 hsa_system_get_info(2, 0x7fc63400f468) = 0 +43939469072785:43939469073408 26086:26091 hsa_system_get_info(2, 0x7fc63400f470) = 0 +43939469074165:43939469074790 26086:26091 hsa_system_get_info(2, 0x7fc63400f478) = 0 +43939469075551:43939469076181 26086:26091 hsa_system_get_info(2, 0x7fc63400f480) = 0 +43939469076937:43939469077560 26086:26091 hsa_system_get_info(2, 0x7fc63400f488) = 0 +43939469078336:43939469078960 26086:26091 hsa_system_get_info(2, 0x7fc63400f490) = 0 +43939469079720:43939469080350 26086:26091 hsa_system_get_info(2, 0x7fc63400f498) = 0 +43939469081113:43939469081742 26086:26091 hsa_system_get_info(2, 0x7fc63400f4a0) = 0 +43939469082505:43939469083135 26086:26091 hsa_system_get_info(2, 0x7fc63400f4a8) = 0 +43939469083897:43939469084527 26086:26091 hsa_system_get_info(2, 0x7fc63400f4b0) = 0 +43939469085286:43939469085921 26086:26091 hsa_system_get_info(2, 0x7fc63400f4b8) = 0 +43939469086682:43939469087314 26086:26091 hsa_system_get_info(2, 0x7fc63400f4c0) = 0 +43939469088079:43939469088703 26086:26091 hsa_system_get_info(2, 0x7fc63400f4c8) = 0 +43939469089460:43939469090094 26086:26091 hsa_system_get_info(2, 0x7fc63400f4d0) = 0 +43939469091576:43939469092206 26086:26091 hsa_system_get_info(2, 0x7fc63400f4d8) = 0 +43939469092968:43939469093597 26086:26091 hsa_system_get_info(2, 0x7fc63400f4e0) = 0 +43939469094356:43939469094978 26086:26091 hsa_system_get_info(2, 0x7fc63400f4e8) = 0 +43939469095737:43939469096363 26086:26091 hsa_system_get_info(2, 0x7fc63400f4f0) = 0 +43939469097139:43939469097768 26086:26091 hsa_system_get_info(2, 0x7fc63400f4f8) = 0 +43939469098528:43939469099158 26086:26091 hsa_system_get_info(2, 0x7fc63400f500) = 0 +43939469099915:43939469100542 26086:26091 hsa_system_get_info(2, 0x7fc63400f508) = 0 +43939469101305:43939469101932 26086:26091 hsa_system_get_info(2, 0x7fc63400f510) = 0 +43939469102694:43939469103324 26086:26091 hsa_system_get_info(2, 0x7fc63400f518) = 0 +43939469104084:43939469104707 26086:26091 hsa_system_get_info(2, 0x7fc63400f520) = 0 +43939469105474:43939469106102 26086:26091 hsa_system_get_info(2, 0x7fc63400f528) = 0 +43939469106879:43939469107508 26086:26091 hsa_system_get_info(2, 0x7fc63400f530) = 0 +43939469108274:43939469108899 26086:26091 hsa_system_get_info(2, 0x7fc63400f538) = 0 +43939469109659:43939469110281 26086:26091 hsa_system_get_info(2, 0x7fc63400f540) = 0 +43939469111038:43939469111667 26086:26091 hsa_system_get_info(2, 0x7fc63400f548) = 0 +43939469112433:43939469113070 26086:26091 hsa_system_get_info(2, 0x7fc63400f550) = 0 +43939469113831:43939469114462 26086:26091 hsa_system_get_info(2, 0x7fc63400f558) = 0 +43939469115222:43939469115870 26086:26091 hsa_system_get_info(2, 0x7fc63400f560) = 0 +43939469116633:43939469117265 26086:26091 hsa_system_get_info(2, 0x7fc63400f568) = 0 +43939469118026:43939469118653 26086:26091 hsa_system_get_info(2, 0x7fc63400f570) = 0 +43939469119426:43939469120055 26086:26091 hsa_system_get_info(2, 0x7fc63400f578) = 0 +43939469120816:43939469121444 26086:26091 hsa_system_get_info(2, 0x7fc63400f580) = 0 +43939469122203:43939469122834 26086:26091 hsa_system_get_info(2, 0x7fc63400f588) = 0 +43939469123588:43939469124220 26086:26091 hsa_system_get_info(2, 0x7fc63400f590) = 0 +43939469124984:43939469125609 26086:26091 hsa_system_get_info(2, 0x7fc63400f598) = 0 +43939469126368:43939469127000 26086:26091 hsa_system_get_info(2, 0x7fc63400f5a0) = 0 +43939469127762:43939469128399 26086:26091 hsa_system_get_info(2, 0x7fc63400f5a8) = 0 +43939469129161:43939469129798 26086:26091 hsa_system_get_info(2, 0x7fc63400f5b0) = 0 +43939469131278:43939469131913 26086:26091 hsa_system_get_info(2, 0x7fc63400f5b8) = 0 +43939469132678:43939469133308 26086:26091 hsa_system_get_info(2, 0x7fc63400f5c0) = 0 +43939469134065:43939469134682 26086:26091 hsa_system_get_info(2, 0x7fc63400f5c8) = 0 +43939469135444:43939469136070 26086:26091 hsa_system_get_info(2, 0x7fc63400f5d0) = 0 +43939469136831:43939469137454 26086:26091 hsa_system_get_info(2, 0x7fc63400f5d8) = 0 +43939469138214:43939469138838 26086:26091 hsa_system_get_info(2, 0x7fc63400f5e0) = 0 +43939469139603:43939469140235 26086:26091 hsa_system_get_info(2, 0x7fc63400f5e8) = 0 +43939469140999:43939469141629 26086:26091 hsa_system_get_info(2, 0x7fc63400f5f0) = 0 +43939469142388:43939469143016 26086:26091 hsa_system_get_info(2, 0x7fc63400f5f8) = 0 +43939469143775:43939469144404 26086:26091 hsa_system_get_info(2, 0x7fc63400f600) = 0 +43939469145167:43939469145791 26086:26091 hsa_system_get_info(2, 0x7fc63400f608) = 0 +43939469146586:43939469147218 26086:26091 hsa_system_get_info(2, 0x7fc63400f610) = 0 +43939469147987:43939469148619 26086:26091 hsa_system_get_info(2, 0x7fc63400f618) = 0 +43939469149379:43939469150002 26086:26091 hsa_system_get_info(2, 0x7fc63400f620) = 0 +43939469150762:43939469151385 26086:26091 hsa_system_get_info(2, 0x7fc63400f628) = 0 +43939469152149:43939469152781 26086:26091 hsa_system_get_info(2, 0x7fc63400f630) = 0 +43939469153543:43939469154177 26086:26091 hsa_system_get_info(2, 0x7fc63400f638) = 0 +43939469154935:43939469155558 26086:26091 hsa_system_get_info(2, 0x7fc63400f640) = 0 +43939469156316:43939469156947 26086:26091 hsa_system_get_info(2, 0x7fc63400f648) = 0 +43939469157712:43939469158337 26086:26091 hsa_system_get_info(2, 0x7fc63400f650) = 0 +43939469159099:43939469159728 26086:26091 hsa_system_get_info(2, 0x7fc63400f658) = 0 +43939469160488:43939469161117 26086:26091 hsa_system_get_info(2, 0x7fc63400f660) = 0 +43939469161879:43939469162501 26086:26091 hsa_system_get_info(2, 0x7fc63400f668) = 0 +43939469163265:43939469163897 26086:26091 hsa_system_get_info(2, 0x7fc63400f670) = 0 +43939469164653:43939469165280 26086:26091 hsa_system_get_info(2, 0x7fc63400f678) = 0 +43939469166060:43939469166695 26086:26091 hsa_system_get_info(2, 0x7fc63400f680) = 0 +43939469167455:43939469168084 26086:26091 hsa_system_get_info(2, 0x7fc63400f688) = 0 +43939469168844:43939469169479 26086:26091 hsa_system_get_info(2, 0x7fc63400f690) = 0 +43939469170975:43939469171607 26086:26091 hsa_system_get_info(2, 0x7fc63400f698) = 0 +43939469172370:43939469172995 26086:26091 hsa_system_get_info(2, 0x7fc63400f6a0) = 0 +43939469173757:43939469174387 26086:26091 hsa_system_get_info(2, 0x7fc63400f6a8) = 0 +43939469175146:43939469175775 26086:26091 hsa_system_get_info(2, 0x7fc63400f6b0) = 0 +43939469176539:43939469177169 26086:26091 hsa_system_get_info(2, 0x7fc63400f6b8) = 0 +43939469177927:43939469178559 26086:26091 hsa_system_get_info(2, 0x7fc63400f6c0) = 0 +43939469179319:43939469179951 26086:26091 hsa_system_get_info(2, 0x7fc63400f6c8) = 0 +43939469180709:43939469181341 26086:26091 hsa_system_get_info(2, 0x7fc63400f6d0) = 0 +43939469182099:43939469182726 26086:26091 hsa_system_get_info(2, 0x7fc63400f6d8) = 0 +43939469183483:43939469184108 26086:26091 hsa_system_get_info(2, 0x7fc63400f6e0) = 0 +43939469184864:43939469185485 26086:26091 hsa_system_get_info(2, 0x7fc63400f6e8) = 0 +43939469186253:43939469186881 26086:26091 hsa_system_get_info(2, 0x7fc63400f6f0) = 0 +43939469187664:43939469188301 26086:26091 hsa_system_get_info(2, 0x7fc63400f6f8) = 0 +43939469189077:43939469189704 26086:26091 hsa_system_get_info(2, 0x7fc63400f700) = 0 +43939469190472:43939469191096 26086:26091 hsa_system_get_info(2, 0x7fc63400f708) = 0 +43939469191857:43939469192484 26086:26091 hsa_system_get_info(2, 0x7fc63400f710) = 0 +43939469193245:43939469193875 26086:26091 hsa_system_get_info(2, 0x7fc63400f718) = 0 +43939469194635:43939469195264 26086:26091 hsa_system_get_info(2, 0x7fc63400f720) = 0 +43939469196021:43939469196648 26086:26091 hsa_system_get_info(2, 0x7fc63400f728) = 0 +43939469197415:43939469198039 26086:26091 hsa_system_get_info(2, 0x7fc63400f730) = 0 +43939469198802:43939469199433 26086:26091 hsa_system_get_info(2, 0x7fc63400f738) = 0 +43939469200197:43939469200828 26086:26091 hsa_system_get_info(2, 0x7fc63400f740) = 0 +43939469201588:43939469202218 26086:26091 hsa_system_get_info(2, 0x7fc63400f748) = 0 +43939469202979:43939469203611 26086:26091 hsa_system_get_info(2, 0x7fc63400f750) = 0 +43939469204370:43939469204994 26086:26091 hsa_system_get_info(2, 0x7fc63400f758) = 0 +43939469205750:43939469206377 26086:26091 hsa_system_get_info(2, 0x7fc63400f760) = 0 +43939469207137:43939469207777 26086:26091 hsa_system_get_info(2, 0x7fc63400f768) = 0 +43939469208534:43939469209162 26086:26091 hsa_system_get_info(2, 0x7fc63400f770) = 0 +43939469209925:43939469210553 26086:26091 hsa_system_get_info(2, 0x7fc63400f778) = 0 +43939469212033:43939469212670 26086:26091 hsa_system_get_info(2, 0x7fc63400f780) = 0 +43939469213431:43939469214059 26086:26091 hsa_system_get_info(2, 0x7fc63400f788) = 0 +43939469214820:43939469215448 26086:26091 hsa_system_get_info(2, 0x7fc63400f790) = 0 +43939469216211:43939469216838 26086:26091 hsa_system_get_info(2, 0x7fc63400f798) = 0 +43939469217594:43939469218230 26086:26091 hsa_system_get_info(2, 0x7fc63400f7a0) = 0 +43939469218989:43939469219612 26086:26091 hsa_system_get_info(2, 0x7fc63400f7a8) = 0 +43939469220372:43939469221002 26086:26091 hsa_system_get_info(2, 0x7fc63400f7b0) = 0 +43939469221762:43939469222390 26086:26091 hsa_system_get_info(2, 0x7fc63400f7b8) = 0 +43939469223167:43939469223802 26086:26091 hsa_system_get_info(2, 0x7fc63400f7c0) = 0 +43939469224560:43939469225188 26086:26091 hsa_system_get_info(2, 0x7fc63400f7c8) = 0 +43939469225947:43939469226577 26086:26091 hsa_system_get_info(2, 0x7fc63400f7d0) = 0 +43939469227336:43939469227965 26086:26091 hsa_system_get_info(2, 0x7fc63400f7d8) = 0 +43939469228728:43939469229356 26086:26091 hsa_system_get_info(2, 0x7fc63400f7e0) = 0 +43939469230120:43939469230747 26086:26091 hsa_system_get_info(2, 0x7fc63400f7e8) = 0 +43939469231509:43939469232140 26086:26091 hsa_system_get_info(2, 0x7fc63400f7f0) = 0 +43939469232903:43939469233530 26086:26091 hsa_system_get_info(2, 0x7fc63400f7f8) = 0 +43939469234286:43939469234911 26086:26091 hsa_system_get_info(2, 0x7fc63400f800) = 0 +43939469235679:43939469236303 26086:26091 hsa_system_get_info(2, 0x7fc63400f808) = 0 +43939469237068:43939469237700 26086:26091 hsa_system_get_info(2, 0x7fc63400f810) = 0 +43939469238463:43939469239094 26086:26091 hsa_system_get_info(2, 0x7fc63400f818) = 0 +43939469239853:43939469240485 26086:26091 hsa_system_get_info(2, 0x7fc63400f820) = 0 +43939469241246:43939469241895 26086:26091 hsa_system_get_info(2, 0x7fc63400f828) = 0 +43939469242655:43939469243285 26086:26091 hsa_system_get_info(2, 0x7fc63400f830) = 0 +43939469244046:43939469244672 26086:26091 hsa_system_get_info(2, 0x7fc63400f838) = 0 +43939469245434:43939469246059 26086:26091 hsa_system_get_info(2, 0x7fc63400f840) = 0 +43939469246821:43939469247449 26086:26091 hsa_system_get_info(2, 0x7fc63400f848) = 0 +43939469248211:43939469248841 26086:26091 hsa_system_get_info(2, 0x7fc63400f850) = 0 +43939469249609:43939469250246 26086:26091 hsa_system_get_info(2, 0x7fc63400f858) = 0 +43939469251779:43939469252413 26086:26091 hsa_system_get_info(2, 0x7fc63400f860) = 0 +43939469253178:43939469253801 26086:26091 hsa_system_get_info(2, 0x7fc63400f868) = 0 +43939469254568:43939469255203 26086:26091 hsa_system_get_info(2, 0x7fc63400f870) = 0 +43939469255964:43939469256592 26086:26091 hsa_system_get_info(2, 0x7fc63400f878) = 0 +43939469257355:43939469257983 26086:26091 hsa_system_get_info(2, 0x7fc63400f880) = 0 +43939469258743:43939469259367 26086:26091 hsa_system_get_info(2, 0x7fc63400f888) = 0 +43939469260126:43939469260752 26086:26091 hsa_system_get_info(2, 0x7fc63400f890) = 0 +43939469261512:43939469262139 26086:26091 hsa_system_get_info(2, 0x7fc63400f898) = 0 +43939469262896:43939469263527 26086:26091 hsa_system_get_info(2, 0x7fc63400f8a0) = 0 +43939469264280:43939469264909 26086:26091 hsa_system_get_info(2, 0x7fc63400f8a8) = 0 +43939469265676:43939469266307 26086:26091 hsa_system_get_info(2, 0x7fc63400f8b0) = 0 +43939469267076:43939469267700 26086:26091 hsa_system_get_info(2, 0x7fc63400f8b8) = 0 +43939469268469:43939469269113 26086:26091 hsa_system_get_info(2, 0x7fc63400f8c0) = 0 +43939469269873:43939469270503 26086:26091 hsa_system_get_info(2, 0x7fc63400f8c8) = 0 +43939469271262:43939469271893 26086:26091 hsa_system_get_info(2, 0x7fc63400f8d0) = 0 +43939469272649:43939469273280 26086:26091 hsa_system_get_info(2, 0x7fc63400f8d8) = 0 +43939469274043:43939469274673 26086:26091 hsa_system_get_info(2, 0x7fc63400f8e0) = 0 +43939469275432:43939469276061 26086:26091 hsa_system_get_info(2, 0x7fc63400f8e8) = 0 +43939469276824:43939469277462 26086:26091 hsa_system_get_info(2, 0x7fc63400f8f0) = 0 +43939469278223:43939469278846 26086:26091 hsa_system_get_info(2, 0x7fc63400f8f8) = 0 +43939469279605:43939469280227 26086:26091 hsa_system_get_info(2, 0x7fc63400f900) = 0 +43939469280988:43939469281616 26086:26091 hsa_system_get_info(2, 0x7fc63400f908) = 0 +43939469282375:43939469283001 26086:26091 hsa_system_get_info(2, 0x7fc63400f910) = 0 +43939469283762:43939469284392 26086:26091 hsa_system_get_info(2, 0x7fc63400f918) = 0 +43939469285153:43939469285779 26086:26091 hsa_system_get_info(2, 0x7fc63400f920) = 0 +43939469286543:43939469287172 26086:26091 hsa_system_get_info(2, 0x7fc63400f928) = 0 +43939469287949:43939469288582 26086:26091 hsa_system_get_info(2, 0x7fc63400f930) = 0 +43939469289364:43939469289989 26086:26091 hsa_system_get_info(2, 0x7fc63400f938) = 0 +43939469290751:43939469291382 26086:26091 hsa_system_get_info(2, 0x7fc63400f940) = 0 +43939469292854:43939469293486 26086:26091 hsa_system_get_info(2, 0x7fc63400f948) = 0 +43939469294246:43939469294874 26086:26091 hsa_system_get_info(2, 0x7fc63400f950) = 0 +43939469295634:43939469296267 26086:26091 hsa_system_get_info(2, 0x7fc63400f958) = 0 +43939469297030:43939469297663 26086:26091 hsa_system_get_info(2, 0x7fc63400f960) = 0 +43939469298423:43939469299053 26086:26091 hsa_system_get_info(2, 0x7fc63400f968) = 0 +43939469299818:43939469300455 26086:26091 hsa_system_get_info(2, 0x7fc63400f970) = 0 +43939469301215:43939469301848 26086:26091 hsa_system_get_info(2, 0x7fc63400f978) = 0 +43939469302613:43939469303243 26086:26091 hsa_system_get_info(2, 0x7fc63400f980) = 0 +43939469304001:43939469304632 26086:26091 hsa_system_get_info(2, 0x7fc63400f988) = 0 +43939469305394:43939469306022 26086:26091 hsa_system_get_info(2, 0x7fc63400f990) = 0 +43939469306790:43939469307422 26086:26091 hsa_system_get_info(2, 0x7fc63400f998) = 0 +43939469308183:43939469308825 26086:26091 hsa_system_get_info(2, 0x7fc63400f9a0) = 0 +43939469309587:43939469310217 26086:26091 hsa_system_get_info(2, 0x7fc63400f9a8) = 0 +43939469310992:43939469311622 26086:26091 hsa_system_get_info(2, 0x7fc63400f9b0) = 0 +43939469312383:43939469313012 26086:26091 hsa_system_get_info(2, 0x7fc63400f9b8) = 0 +43939469313773:43939469314413 26086:26091 hsa_system_get_info(2, 0x7fc63400f9c0) = 0 +43939469315175:43939469315798 26086:26091 hsa_system_get_info(2, 0x7fc63400f9c8) = 0 +43939469316556:43939469317194 26086:26091 hsa_system_get_info(2, 0x7fc63400f9d0) = 0 +43939469317951:43939469318579 26086:26091 hsa_system_get_info(2, 0x7fc63400f9d8) = 0 +43939469319337:43939469319965 26086:26091 hsa_system_get_info(2, 0x7fc63400f9e0) = 0 +43939469320721:43939469321347 26086:26091 hsa_system_get_info(2, 0x7fc63400f9e8) = 0 +43939469322106:43939469322733 26086:26091 hsa_system_get_info(2, 0x7fc63400f9f0) = 0 +43939469323497:43939469324123 26086:26091 hsa_system_get_info(2, 0x7fc63400f9f8) = 0 +43939469324881:43939469325505 26086:26091 hsa_system_get_info(2, 0x7fc63400fa00) = 0 +43939469326266:43939469326897 26086:26091 hsa_system_get_info(2, 0x7fc63400fa08) = 0 +43939469327660:43939469328283 26086:26091 hsa_system_get_info(2, 0x7fc63400fa10) = 0 +43939469329042:43939469329692 26086:26091 hsa_system_get_info(2, 0x7fc63400fa18) = 0 +43939469330451:43939469331077 26086:26091 hsa_system_get_info(2, 0x7fc63400fa20) = 0 +43939469332566:43939469333198 26086:26091 hsa_system_get_info(2, 0x7fc63400fa28) = 0 +43939469333957:43939469334579 26086:26091 hsa_system_get_info(2, 0x7fc63400fa30) = 0 +43939469335337:43939469335969 26086:26091 hsa_system_get_info(2, 0x7fc63400fa38) = 0 +43939469336729:43939469337353 26086:26091 hsa_system_get_info(2, 0x7fc63400fa40) = 0 +43939469338129:43939469338759 26086:26091 hsa_system_get_info(2, 0x7fc63400fa48) = 0 +43939469339521:43939469340149 26086:26091 hsa_system_get_info(2, 0x7fc63400fa50) = 0 +43939469340910:43939469341543 26086:26091 hsa_system_get_info(2, 0x7fc63400fa58) = 0 +43939469342305:43939469342934 26086:26091 hsa_system_get_info(2, 0x7fc63400fa60) = 0 +43939469343696:43939469344332 26086:26091 hsa_system_get_info(2, 0x7fc63400fa68) = 0 +43939469345094:43939469345727 26086:26091 hsa_system_get_info(2, 0x7fc63400fa70) = 0 +43939469346487:43939469347105 26086:26091 hsa_system_get_info(2, 0x7fc63400fa78) = 0 +43939469347872:43939469348504 26086:26091 hsa_system_get_info(2, 0x7fc63400fa80) = 0 +43939469349265:43939469349892 26086:26091 hsa_system_get_info(2, 0x7fc63400fa88) = 0 +43939469350649:43939469351281 26086:26091 hsa_system_get_info(2, 0x7fc63400fa90) = 0 +43939469352045:43939469352677 26086:26091 hsa_system_get_info(2, 0x7fc63400fa98) = 0 +43939469353439:43939469354066 26086:26091 hsa_system_get_info(2, 0x7fc63400faa0) = 0 +43939469354825:43939469355453 26086:26091 hsa_system_get_info(2, 0x7fc63400faa8) = 0 +43939469356213:43939469356841 26086:26091 hsa_system_get_info(2, 0x7fc63400fab0) = 0 +43939469357620:43939469358248 26086:26091 hsa_system_get_info(2, 0x7fc63400fab8) = 0 +43939469359005:43939469359633 26086:26091 hsa_system_get_info(2, 0x7fc63400fac0) = 0 +43939469360395:43939469361021 26086:26091 hsa_system_get_info(2, 0x7fc63400fac8) = 0 +43939469361776:43939469362402 26086:26091 hsa_system_get_info(2, 0x7fc63400fad0) = 0 +43939469363165:43939469363791 26086:26091 hsa_system_get_info(2, 0x7fc63400fad8) = 0 +43939469364554:43939469365182 26086:26091 hsa_system_get_info(2, 0x7fc63400fae0) = 0 +43939469365942:43939469366574 26086:26091 hsa_system_get_info(2, 0x7fc63400fae8) = 0 +43939469367333:43939469367965 26086:26091 hsa_system_get_info(2, 0x7fc63400faf0) = 0 +43939469368728:43939469369349 26086:26091 hsa_system_get_info(2, 0x7fc63400faf8) = 0 +43939469370109:43939469370730 26086:26091 hsa_system_get_info(2, 0x7fc63400fb00) = 0 +43939469371491:43939469372125 26086:26091 hsa_system_get_info(2, 0x7fc63400fb08) = 0 +43939469374724:43939469375367 26086:26091 hsa_system_get_info(2, 0x7fc63400fb10) = 0 +43939469376133:43939469376769 26086:26091 hsa_system_get_info(2, 0x7fc63400fb18) = 0 +43939469377530:43939469378159 26086:26091 hsa_system_get_info(2, 0x7fc63400fb20) = 0 +43939469378921:43939469379550 26086:26091 hsa_system_get_info(2, 0x7fc63400fb28) = 0 +43939469380310:43939469380940 26086:26091 hsa_system_get_info(2, 0x7fc63400fb30) = 0 +43939469381695:43939469382322 26086:26091 hsa_system_get_info(2, 0x7fc63400fb38) = 0 +43939469383078:43939469383709 26086:26091 hsa_system_get_info(2, 0x7fc63400fb40) = 0 +43939469384472:43939469385099 26086:26091 hsa_system_get_info(2, 0x7fc63400fb48) = 0 +43939469385860:43939469386481 26086:26091 hsa_system_get_info(2, 0x7fc63400fb50) = 0 +43939469387237:43939469387861 26086:26091 hsa_system_get_info(2, 0x7fc63400fb58) = 0 +43939469388631:43939469389259 26086:26091 hsa_system_get_info(2, 0x7fc63400fb60) = 0 +43939469390036:43939469390667 26086:26091 hsa_system_get_info(2, 0x7fc63400fb68) = 0 +43939469391430:43939469392083 26086:26091 hsa_system_get_info(2, 0x7fc63400fb70) = 0 +43939469392841:43939469393469 26086:26091 hsa_system_get_info(2, 0x7fc63400fb78) = 0 +43939469394228:43939469394853 26086:26091 hsa_system_get_info(2, 0x7fc63400fb80) = 0 +43939469395620:43939469396252 26086:26091 hsa_system_get_info(2, 0x7fc63400fb88) = 0 +43939469397013:43939469397642 26086:26091 hsa_system_get_info(2, 0x7fc63400fb90) = 0 +43939469398404:43939469399041 26086:26091 hsa_system_get_info(2, 0x7fc63400fb98) = 0 +43939469399795:43939469400419 26086:26091 hsa_system_get_info(2, 0x7fc63400fba0) = 0 +43939469401185:43939469401817 26086:26091 hsa_system_get_info(2, 0x7fc63400fba8) = 0 +43939469402577:43939469403206 26086:26091 hsa_system_get_info(2, 0x7fc63400fbb0) = 0 +43939469403964:43939469404594 26086:26091 hsa_system_get_info(2, 0x7fc63400fbb8) = 0 +43939469405349:43939469405981 26086:26091 hsa_system_get_info(2, 0x7fc63400fbc0) = 0 +43939469406742:43939469407373 26086:26091 hsa_system_get_info(2, 0x7fc63400fbc8) = 0 +43939469408133:43939469408769 26086:26091 hsa_system_get_info(2, 0x7fc63400fbd0) = 0 +43939469409547:43939469410178 26086:26091 hsa_system_get_info(2, 0x7fc63400fbd8) = 0 +43939469410938:43939469411569 26086:26091 hsa_system_get_info(2, 0x7fc63400fbe0) = 0 +43939469412334:43939469412956 26086:26091 hsa_system_get_info(2, 0x7fc63400fbe8) = 0 +43939469414464:43939469415100 26086:26091 hsa_system_get_info(2, 0x7fc63400fbf0) = 0 +43939469415860:43939469416483 26086:26091 hsa_system_get_info(2, 0x7fc63400fbf8) = 0 +43939469417244:43939469417872 26086:26091 hsa_system_get_info(2, 0x7fc63400fc00) = 0 +43939469418632:43939469419256 26086:26091 hsa_system_get_info(2, 0x7fc63400fc08) = 0 +43939469420016:43939469420648 26086:26091 hsa_system_get_info(2, 0x7fc63400fc10) = 0 +43939469421414:43939469422036 26086:26091 hsa_system_get_info(2, 0x7fc63400fc18) = 0 +43939469422798:43939469423435 26086:26091 hsa_system_get_info(2, 0x7fc63400fc20) = 0 +43939469424198:43939469424832 26086:26091 hsa_system_get_info(2, 0x7fc63400fc28) = 0 +43939469425589:43939469426219 26086:26091 hsa_system_get_info(2, 0x7fc63400fc30) = 0 +43939469426977:43939469427600 26086:26091 hsa_system_get_info(2, 0x7fc63400fc38) = 0 +43939469428359:43939469428985 26086:26091 hsa_system_get_info(2, 0x7fc63400fc40) = 0 +43939469429750:43939469430371 26086:26091 hsa_system_get_info(2, 0x7fc63400fc48) = 0 +43939469431132:43939469431759 26086:26091 hsa_system_get_info(2, 0x7fc63400fc50) = 0 +43939469432532:43939469433163 26086:26091 hsa_system_get_info(2, 0x7fc63400fc58) = 0 +43939469433924:43939469434551 26086:26091 hsa_system_get_info(2, 0x7fc63400fc60) = 0 +43939469435312:43939469435943 26086:26091 hsa_system_get_info(2, 0x7fc63400fc68) = 0 +43939469436704:43939469437330 26086:26091 hsa_system_get_info(2, 0x7fc63400fc70) = 0 +43939469438095:43939469438727 26086:26091 hsa_system_get_info(2, 0x7fc63400fc78) = 0 +43939469439489:43939469440118 26086:26091 hsa_system_get_info(2, 0x7fc63400fc80) = 0 +43939469440877:43939469441498 26086:26091 hsa_system_get_info(2, 0x7fc63400fc88) = 0 +43939469442276:43939469442901 26086:26091 hsa_system_get_info(2, 0x7fc63400fc90) = 0 +43939469443661:43939469444288 26086:26091 hsa_system_get_info(2, 0x7fc63400fc98) = 0 +43939469445050:43939469445672 26086:26091 hsa_system_get_info(2, 0x7fc63400fca0) = 0 +43939469446431:43939469447062 26086:26091 hsa_system_get_info(2, 0x7fc63400fca8) = 0 +43939469447825:43939469448462 26086:26091 hsa_system_get_info(2, 0x7fc63400fcb0) = 0 +43939469449227:43939469449857 26086:26091 hsa_system_get_info(2, 0x7fc63400fcb8) = 0 +43939469450617:43939469451244 26086:26091 hsa_system_get_info(2, 0x7fc63400fcc0) = 0 +43939469452002:43939469452625 26086:26091 hsa_system_get_info(2, 0x7fc63400fcc8) = 0 +43939469453397:43939469454017 26086:26091 hsa_system_get_info(2, 0x7fc63400fcd0) = 0 +43939469455561:43939469456195 26086:26091 hsa_system_get_info(2, 0x7fc63400fcd8) = 0 +43939469456958:43939469457585 26086:26091 hsa_system_get_info(2, 0x7fc63400fce0) = 0 +43939469458350:43939469458978 26086:26091 hsa_system_get_info(2, 0x7fc63400fce8) = 0 +43939469459742:43939469460368 26086:26091 hsa_system_get_info(2, 0x7fc63400fcf0) = 0 +43939469461127:43939469461758 26086:26091 hsa_system_get_info(2, 0x7fc63400fcf8) = 0 +43939469462520:43939469463153 26086:26091 hsa_system_get_info(2, 0x7fc63400fd00) = 0 +43939469463913:43939469464542 26086:26091 hsa_system_get_info(2, 0x7fc63400fd08) = 0 +43939469465305:43939469465935 26086:26091 hsa_system_get_info(2, 0x7fc63400fd10) = 0 +43939469466697:43939469467324 26086:26091 hsa_system_get_info(2, 0x7fc63400fd18) = 0 +43939469468084:43939469468713 26086:26091 hsa_system_get_info(2, 0x7fc63400fd20) = 0 +43939469469481:43939469470107 26086:26091 hsa_system_get_info(2, 0x7fc63400fd28) = 0 +43939469470887:43939469471510 26086:26091 hsa_system_get_info(2, 0x7fc63400fd30) = 0 +43939469472283:43939469472914 26086:26091 hsa_system_get_info(2, 0x7fc63400fd38) = 0 +43939469473688:43939469474320 26086:26091 hsa_system_get_info(2, 0x7fc63400fd40) = 0 +43939469475079:43939469475707 26086:26091 hsa_system_get_info(2, 0x7fc63400fd48) = 0 +43939469476469:43939469477096 26086:26091 hsa_system_get_info(2, 0x7fc63400fd50) = 0 +43939469477860:43939469478491 26086:26091 hsa_system_get_info(2, 0x7fc63400fd58) = 0 +43939469479251:43939469479880 26086:26091 hsa_system_get_info(2, 0x7fc63400fd60) = 0 +43939469480641:43939469481265 26086:26091 hsa_system_get_info(2, 0x7fc63400fd68) = 0 +43939469482023:43939469482644 26086:26091 hsa_system_get_info(2, 0x7fc63400fd70) = 0 +43939469483406:43939469484033 26086:26091 hsa_system_get_info(2, 0x7fc63400fd78) = 0 +43939469484792:43939469485424 26086:26091 hsa_system_get_info(2, 0x7fc63400fd80) = 0 +43939469486185:43939469486815 26086:26091 hsa_system_get_info(2, 0x7fc63400fd88) = 0 +43939469487576:43939469488199 26086:26091 hsa_system_get_info(2, 0x7fc63400fd90) = 0 +43939469488959:43939469489589 26086:26091 hsa_system_get_info(2, 0x7fc63400fd98) = 0 +43939469490353:43939469490978 26086:26091 hsa_system_get_info(2, 0x7fc63400fda0) = 0 +43939469491739:43939469492365 26086:26091 hsa_system_get_info(2, 0x7fc63400fda8) = 0 +43939469493136:43939469493765 26086:26091 hsa_system_get_info(2, 0x7fc63400fdb0) = 0 +43939469495239:43939469495874 26086:26091 hsa_system_get_info(2, 0x7fc63400fdb8) = 0 +43939469496640:43939469497265 26086:26091 hsa_system_get_info(2, 0x7fc63400fdc0) = 0 +43939469498022:43939469498650 26086:26091 hsa_system_get_info(2, 0x7fc63400fdc8) = 0 +43939469499408:43939469500034 26086:26091 hsa_system_get_info(2, 0x7fc63400fdd0) = 0 +43939469500792:43939469501422 26086:26091 hsa_system_get_info(2, 0x7fc63400fdd8) = 0 +43939469502182:43939469502804 26086:26091 hsa_system_get_info(2, 0x7fc63400fde0) = 0 +43939469503565:43939469504194 26086:26091 hsa_system_get_info(2, 0x7fc63400fde8) = 0 +43939469504952:43939469505583 26086:26091 hsa_system_get_info(2, 0x7fc63400fdf0) = 0 +43939469506348:43939469506969 26086:26091 hsa_system_get_info(2, 0x7fc63400fdf8) = 0 +43939469507728:43939469508356 26086:26091 hsa_system_get_info(2, 0x7fc63400fe00) = 0 +43939469509131:43939469509765 26086:26091 hsa_system_get_info(2, 0x7fc63400fe08) = 0 +43939469510532:43939469511161 26086:26091 hsa_system_get_info(2, 0x7fc63400fe10) = 0 +43939469511942:43939469512569 26086:26091 hsa_system_get_info(2, 0x7fc63400fe18) = 0 +43939469513329:43939469513952 26086:26091 hsa_system_get_info(2, 0x7fc63400fe20) = 0 +43939469514714:43939469515349 26086:26091 hsa_system_get_info(2, 0x7fc63400fe28) = 0 +43939469516105:43939469516738 26086:26091 hsa_system_get_info(2, 0x7fc63400fe30) = 0 +43939469517500:43939469518122 26086:26091 hsa_system_get_info(2, 0x7fc63400fe38) = 0 +43939469518886:43939469519520 26086:26091 hsa_system_get_info(2, 0x7fc63400fe40) = 0 +43939469520281:43939469520912 26086:26091 hsa_system_get_info(2, 0x7fc63400fe48) = 0 +43939469521673:43939469522297 26086:26091 hsa_system_get_info(2, 0x7fc63400fe50) = 0 +43939469523059:43939469523687 26086:26091 hsa_system_get_info(2, 0x7fc63400fe58) = 0 +43939469524444:43939469525071 26086:26091 hsa_system_get_info(2, 0x7fc63400fe60) = 0 +43939469525836:43939469526465 26086:26091 hsa_system_get_info(2, 0x7fc63400fe68) = 0 +43939469527228:43939469527856 26086:26091 hsa_system_get_info(2, 0x7fc63400fe70) = 0 +43939469528618:43939469529240 26086:26091 hsa_system_get_info(2, 0x7fc63400fe78) = 0 +43939469530002:43939469530633 26086:26091 hsa_system_get_info(2, 0x7fc63400fe80) = 0 +43939469531413:43939469532050 26086:26091 hsa_system_get_info(2, 0x7fc63400fe88) = 0 +43939469532808:43939469533434 26086:26091 hsa_system_get_info(2, 0x7fc63400fe90) = 0 +43939469534909:43939469535540 26086:26091 hsa_system_get_info(2, 0x7fc63400fe98) = 0 +43939469536301:43939469536927 26086:26091 hsa_system_get_info(2, 0x7fc63400fea0) = 0 +43939469537685:43939469538312 26086:26091 hsa_system_get_info(2, 0x7fc63400fea8) = 0 +43939469539071:43939469539694 26086:26091 hsa_system_get_info(2, 0x7fc63400feb0) = 0 +43939469540449:43939469541078 26086:26091 hsa_system_get_info(2, 0x7fc63400feb8) = 0 +43939469541840:43939469542468 26086:26091 hsa_system_get_info(2, 0x7fc63400fec0) = 0 +43939469543228:43939469543851 26086:26091 hsa_system_get_info(2, 0x7fc63400fec8) = 0 +43939469544610:43939469545241 26086:26091 hsa_system_get_info(2, 0x7fc63400fed0) = 0 +43939469546003:43939469546642 26086:26091 hsa_system_get_info(2, 0x7fc63400fed8) = 0 +43939469547406:43939469548032 26086:26091 hsa_system_get_info(2, 0x7fc63400fee0) = 0 +43939469548789:43939469549420 26086:26091 hsa_system_get_info(2, 0x7fc63400fee8) = 0 +43939469550183:43939469550812 26086:26091 hsa_system_get_info(2, 0x7fc63400fef0) = 0 +43939469551576:43939469552209 26086:26091 hsa_system_get_info(2, 0x7fc63400fef8) = 0 +43939469552981:43939469553607 26086:26091 hsa_system_get_info(2, 0x7fc63400ff00) = 0 +43939469554366:43939469554991 26086:26091 hsa_system_get_info(2, 0x7fc63400ff08) = 0 +43939469555752:43939469556376 26086:26091 hsa_system_get_info(2, 0x7fc63400ff10) = 0 +43939469557138:43939469557764 26086:26091 hsa_system_get_info(2, 0x7fc63400ff18) = 0 +43939469558532:43939469559159 26086:26091 hsa_system_get_info(2, 0x7fc63400ff20) = 0 +43939469559921:43939469560545 26086:26091 hsa_system_get_info(2, 0x7fc63400ff28) = 0 +43939469561301:43939469561931 26086:26091 hsa_system_get_info(2, 0x7fc63400ff30) = 0 +43939469562696:43939469563320 26086:26091 hsa_system_get_info(2, 0x7fc63400ff38) = 0 +43939469564080:43939469564708 26086:26091 hsa_system_get_info(2, 0x7fc63400ff40) = 0 +43939469565466:43939469566098 26086:26091 hsa_system_get_info(2, 0x7fc63400ff48) = 0 +43939469566860:43939469567483 26086:26091 hsa_system_get_info(2, 0x7fc63400ff50) = 0 +43939469568244:43939469568870 26086:26091 hsa_system_get_info(2, 0x7fc63400ff58) = 0 +43939469569633:43939469570265 26086:26091 hsa_system_get_info(2, 0x7fc63400ff60) = 0 +43939469571027:43939469571654 26086:26091 hsa_system_get_info(2, 0x7fc63400ff68) = 0 +43939469572425:43939469573047 26086:26091 hsa_system_get_info(2, 0x7fc63400ff70) = 0 +43939469573804:43939469574434 26086:26091 hsa_system_get_info(2, 0x7fc63400ff78) = 0 +43939469576589:43939469577225 26086:26091 hsa_system_get_info(2, 0x7fc63400ff80) = 0 +43939469577986:43939469578611 26086:26091 hsa_system_get_info(2, 0x7fc63400ff88) = 0 +43939469579369:43939469580006 26086:26091 hsa_system_get_info(2, 0x7fc63400ff90) = 0 +43939469580769:43939469581398 26086:26091 hsa_system_get_info(2, 0x7fc63400ff98) = 0 +43939469582158:43939469582789 26086:26091 hsa_system_get_info(2, 0x7fc63400ffa0) = 0 +43939469583551:43939469584185 26086:26091 hsa_system_get_info(2, 0x7fc63400ffa8) = 0 +43939469584944:43939469585573 26086:26091 hsa_system_get_info(2, 0x7fc63400ffb0) = 0 +43939469586334:43939469586963 26086:26091 hsa_system_get_info(2, 0x7fc63400ffb8) = 0 +43939469587726:43939469588356 26086:26091 hsa_system_get_info(2, 0x7fc63400ffc0) = 0 +43939469589120:43939469589751 26086:26091 hsa_system_get_info(2, 0x7fc63400ffc8) = 0 +43939469590517:43939469591152 26086:26091 hsa_system_get_info(2, 0x7fc63400ffd0) = 0 +43939469591909:43939469592554 26086:26091 hsa_system_get_info(2, 0x7fc63400ffd8) = 0 +43939469593317:43939469593947 26086:26091 hsa_system_get_info(2, 0x7fc63400ffe0) = 0 +43939469594708:43939469595338 26086:26091 hsa_system_get_info(2, 0x7fc63400ffe8) = 0 +43939469596094:43939469596728 26086:26091 hsa_system_get_info(2, 0x7fc63400fff0) = 0 +43939469597488:43939469598120 26086:26091 hsa_system_get_info(2, 0x7fc63400fff8) = 0 +43939469598879:43939469599503 26086:26091 hsa_system_get_info(2, 0x7fc634010000) = 0 +43939469600264:43939469600894 26086:26091 hsa_system_get_info(2, 0x7fc634010008) = 0 +43939469601655:43939469602284 26086:26091 hsa_system_get_info(2, 0x7fc634010010) = 0 +43939469603048:43939469603679 26086:26091 hsa_system_get_info(2, 0x7fc634010018) = 0 +43939469604443:43939469605075 26086:26091 hsa_system_get_info(2, 0x7fc634010020) = 0 +43939469605833:43939469606462 26086:26091 hsa_system_get_info(2, 0x7fc634010028) = 0 +43939469607221:43939469607847 26086:26091 hsa_system_get_info(2, 0x7fc634010030) = 0 +43939469608606:43939469609236 26086:26091 hsa_system_get_info(2, 0x7fc634010038) = 0 +43939469609998:43939469610629 26086:26091 hsa_system_get_info(2, 0x7fc634010040) = 0 +43939469611409:43939469612039 26086:26091 hsa_system_get_info(2, 0x7fc634010048) = 0 +43939469612804:43939469613441 26086:26091 hsa_system_get_info(2, 0x7fc634010050) = 0 +43939469614202:43939469614837 26086:26091 hsa_system_get_info(2, 0x7fc634010058) = 0 +43939469616326:43939469616959 26086:26091 hsa_system_get_info(2, 0x7fc634010060) = 0 +43939469617717:43939469618333 26086:26091 hsa_system_get_info(2, 0x7fc634010068) = 0 +43939469619098:43939469619725 26086:26091 hsa_system_get_info(2, 0x7fc634010070) = 0 +43939469620485:43939469621112 26086:26091 hsa_system_get_info(2, 0x7fc634010078) = 0 +43939469621875:43939469622500 26086:26091 hsa_system_get_info(2, 0x7fc634010080) = 0 +43939469623265:43939469623896 26086:26091 hsa_system_get_info(2, 0x7fc634010088) = 0 +43939469624655:43939469625291 26086:26091 hsa_system_get_info(2, 0x7fc634010090) = 0 +43939469626067:43939469626694 26086:26091 hsa_system_get_info(2, 0x7fc634010098) = 0 +43939469627453:43939469628078 26086:26091 hsa_system_get_info(2, 0x7fc6340100a0) = 0 +43939469628843:43939469629463 26086:26091 hsa_system_get_info(2, 0x7fc6340100a8) = 0 +43939469630224:43939469630848 26086:26091 hsa_system_get_info(2, 0x7fc6340100b0) = 0 +43939469631624:43939469632252 26086:26091 hsa_system_get_info(2, 0x7fc6340100b8) = 0 +43939469633022:43939469633647 26086:26091 hsa_system_get_info(2, 0x7fc6340100c0) = 0 +43939469634409:43939469635033 26086:26091 hsa_system_get_info(2, 0x7fc6340100c8) = 0 +43939469635793:43939469636420 26086:26091 hsa_system_get_info(2, 0x7fc6340100d0) = 0 +43939469637181:43939469637808 26086:26091 hsa_system_get_info(2, 0x7fc6340100d8) = 0 +43939469638573:43939469639196 26086:26091 hsa_system_get_info(2, 0x7fc6340100e0) = 0 +43939469639959:43939469640582 26086:26091 hsa_system_get_info(2, 0x7fc6340100e8) = 0 +43939469641342:43939469641970 26086:26091 hsa_system_get_info(2, 0x7fc6340100f0) = 0 +43939469642732:43939469643357 26086:26091 hsa_system_get_info(2, 0x7fc6340100f8) = 0 +43939469644117:43939469644749 26086:26091 hsa_system_get_info(2, 0x7fc634010100) = 0 +43939469645508:43939469646134 26086:26091 hsa_system_get_info(2, 0x7fc634010108) = 0 +43939469646896:43939469647519 26086:26091 hsa_system_get_info(2, 0x7fc634010110) = 0 +43939469648279:43939469648905 26086:26091 hsa_system_get_info(2, 0x7fc634010118) = 0 +43939469649666:43939469650295 26086:26091 hsa_system_get_info(2, 0x7fc634010120) = 0 +43939469651072:43939469651710 26086:26091 hsa_system_get_info(2, 0x7fc634010128) = 0 +43939469652476:43939469653108 26086:26091 hsa_system_get_info(2, 0x7fc634010130) = 0 +43939469653870:43939469654501 26086:26091 hsa_system_get_info(2, 0x7fc634010138) = 0 +43939469655269:43939469655902 26086:26091 hsa_system_get_info(2, 0x7fc634010140) = 0 +43939469657407:43939469658043 26086:26091 hsa_system_get_info(2, 0x7fc634010148) = 0 +43939469658801:43939469659428 26086:26091 hsa_system_get_info(2, 0x7fc634010150) = 0 +43939469660195:43939469660815 26086:26091 hsa_system_get_info(2, 0x7fc634010158) = 0 +43939469661572:43939469662202 26086:26091 hsa_system_get_info(2, 0x7fc634010160) = 0 +43939469662962:43939469663584 26086:26091 hsa_system_get_info(2, 0x7fc634010168) = 0 +43939469664347:43939469664974 26086:26091 hsa_system_get_info(2, 0x7fc634010170) = 0 +43939469665734:43939469666360 26086:26091 hsa_system_get_info(2, 0x7fc634010178) = 0 +43939469667122:43939469667757 26086:26091 hsa_system_get_info(2, 0x7fc634010180) = 0 +43939469668521:43939469669147 26086:26091 hsa_system_get_info(2, 0x7fc634010188) = 0 +43939469669908:43939469670532 26086:26091 hsa_system_get_info(2, 0x7fc634010190) = 0 +43939469671292:43939469671921 26086:26091 hsa_system_get_info(2, 0x7fc634010198) = 0 +43939469672680:43939469673304 26086:26091 hsa_system_get_info(2, 0x7fc6340101a0) = 0 +43939469674070:43939469674695 26086:26091 hsa_system_get_info(2, 0x7fc6340101a8) = 0 +43939469675454:43939469676083 26086:26091 hsa_system_get_info(2, 0x7fc6340101b0) = 0 +43939469676862:43939469677482 26086:26091 hsa_system_get_info(2, 0x7fc6340101b8) = 0 +43939469678246:43939469678877 26086:26091 hsa_system_get_info(2, 0x7fc6340101c0) = 0 +43939469679643:43939469680268 26086:26091 hsa_system_get_info(2, 0x7fc6340101c8) = 0 +43939469681027:43939469681655 26086:26091 hsa_system_get_info(2, 0x7fc6340101d0) = 0 +43939469682414:43939469683046 26086:26091 hsa_system_get_info(2, 0x7fc6340101d8) = 0 +43939469683810:43939469684439 26086:26091 hsa_system_get_info(2, 0x7fc6340101e0) = 0 +43939469685198:43939469685829 26086:26091 hsa_system_get_info(2, 0x7fc6340101e8) = 0 +43939469686593:43939469687220 26086:26091 hsa_system_get_info(2, 0x7fc6340101f0) = 0 +43939469687987:43939469688612 26086:26091 hsa_system_get_info(2, 0x7fc6340101f8) = 0 +43939469689369:43939469689995 26086:26091 hsa_system_get_info(2, 0x7fc634010200) = 0 +43939469690755:43939469691384 26086:26091 hsa_system_get_info(2, 0x7fc634010208) = 0 +43939469692147:43939469692771 26086:26091 hsa_system_get_info(2, 0x7fc634010210) = 0 +43939469693533:43939469694164 26086:26091 hsa_system_get_info(2, 0x7fc634010218) = 0 +43939469694926:43939469695572 26086:26091 hsa_system_get_info(2, 0x7fc634010220) = 0 +43939469697054:43939469697689 26086:26091 hsa_system_get_info(2, 0x7fc634010228) = 0 +43939469698454:43939469699088 26086:26091 hsa_system_get_info(2, 0x7fc634010230) = 0 +43939469699850:43939469700477 26086:26091 hsa_system_get_info(2, 0x7fc634010238) = 0 +43939469701238:43939469701888 26086:26091 hsa_system_get_info(2, 0x7fc634010240) = 0 +43939469702652:43939469703281 26086:26091 hsa_system_get_info(2, 0x7fc634010248) = 0 +43939469704041:43939469704671 26086:26091 hsa_system_get_info(2, 0x7fc634010250) = 0 +43939469705432:43939469706060 26086:26091 hsa_system_get_info(2, 0x7fc634010258) = 0 +43939469706819:43939469707445 26086:26091 hsa_system_get_info(2, 0x7fc634010260) = 0 +43939469708204:43939469708835 26086:26091 hsa_system_get_info(2, 0x7fc634010268) = 0 +43939469709597:43939469710223 26086:26091 hsa_system_get_info(2, 0x7fc634010270) = 0 +43939469710983:43939469711615 26086:26091 hsa_system_get_info(2, 0x7fc634010278) = 0 +43939469712383:43939469713027 26086:26091 hsa_system_get_info(2, 0x7fc634010280) = 0 +43939469713795:43939469714426 26086:26091 hsa_system_get_info(2, 0x7fc634010288) = 0 +43939469715187:43939469715809 26086:26091 hsa_system_get_info(2, 0x7fc634010290) = 0 +43939469716581:43939469717204 26086:26091 hsa_system_get_info(2, 0x7fc634010298) = 0 +43939469717961:43939469718585 26086:26091 hsa_system_get_info(2, 0x7fc6340102a0) = 0 +43939469719345:43939469719970 26086:26091 hsa_system_get_info(2, 0x7fc6340102a8) = 0 +43939469720727:43939469721360 26086:26091 hsa_system_get_info(2, 0x7fc6340102b0) = 0 +43939469722121:43939469722753 26086:26091 hsa_system_get_info(2, 0x7fc6340102b8) = 0 +43939469723514:43939469724143 26086:26091 hsa_system_get_info(2, 0x7fc6340102c0) = 0 +43939469724908:43939469725540 26086:26091 hsa_system_get_info(2, 0x7fc6340102c8) = 0 +43939469726301:43939469726931 26086:26091 hsa_system_get_info(2, 0x7fc6340102d0) = 0 +43939469727694:43939469728323 26086:26091 hsa_system_get_info(2, 0x7fc6340102d8) = 0 +43939469729085:43939469729725 26086:26091 hsa_system_get_info(2, 0x7fc6340102e0) = 0 +43939469730487:43939469731123 26086:26091 hsa_system_get_info(2, 0x7fc6340102e8) = 0 +43939469731887:43939469732519 26086:26091 hsa_system_get_info(2, 0x7fc6340102f0) = 0 +43939469733280:43939469733908 26086:26091 hsa_system_get_info(2, 0x7fc6340102f8) = 0 +43939469734669:43939469735316 26086:26091 hsa_system_get_info(2, 0x7fc634010300) = 0 +43939469736074:43939469736702 26086:26091 hsa_system_get_info(2, 0x7fc634010308) = 0 +43939469738182:43939469738812 26086:26091 hsa_system_get_info(2, 0x7fc634010310) = 0 +43939469739570:43939469740194 26086:26091 hsa_system_get_info(2, 0x7fc634010318) = 0 +43939469740981:43939469741608 26086:26091 hsa_system_get_info(2, 0x7fc634010320) = 0 +43939469742371:43939469743003 26086:26091 hsa_system_get_info(2, 0x7fc634010328) = 0 +43939469743763:43939469744383 26086:26091 hsa_system_get_info(2, 0x7fc634010330) = 0 +43939469745142:43939469745764 26086:26091 hsa_system_get_info(2, 0x7fc634010338) = 0 +43939469746524:43939469747157 26086:26091 hsa_system_get_info(2, 0x7fc634010340) = 0 +43939469747918:43939469748545 26086:26091 hsa_system_get_info(2, 0x7fc634010348) = 0 +43939469749308:43939469749945 26086:26091 hsa_system_get_info(2, 0x7fc634010350) = 0 +43939469750716:43939469751351 26086:26091 hsa_system_get_info(2, 0x7fc634010358) = 0 +43939469752119:43939469752747 26086:26091 hsa_system_get_info(2, 0x7fc634010360) = 0 +43939469753512:43939469754141 26086:26091 hsa_system_get_info(2, 0x7fc634010368) = 0 +43939469754901:43939469755529 26086:26091 hsa_system_get_info(2, 0x7fc634010370) = 0 +43939469756309:43939469756937 26086:26091 hsa_system_get_info(2, 0x7fc634010378) = 0 +43939469757698:43939469758332 26086:26091 hsa_system_get_info(2, 0x7fc634010380) = 0 +43939469759098:43939469759729 26086:26091 hsa_system_get_info(2, 0x7fc634010388) = 0 +43939469760493:43939469761122 26086:26091 hsa_system_get_info(2, 0x7fc634010390) = 0 +43939469761883:43939469762511 26086:26091 hsa_system_get_info(2, 0x7fc634010398) = 0 +43939469763268:43939469763897 26086:26091 hsa_system_get_info(2, 0x7fc6340103a0) = 0 +43939469764665:43939469765297 26086:26091 hsa_system_get_info(2, 0x7fc6340103a8) = 0 +43939469766057:43939469766689 26086:26091 hsa_system_get_info(2, 0x7fc6340103b0) = 0 +43939469767454:43939469768077 26086:26091 hsa_system_get_info(2, 0x7fc6340103b8) = 0 +43939469768837:43939469769469 26086:26091 hsa_system_get_info(2, 0x7fc6340103c0) = 0 +43939469770226:43939469770860 26086:26091 hsa_system_get_info(2, 0x7fc6340103c8) = 0 +43939469771621:43939469772247 26086:26091 hsa_system_get_info(2, 0x7fc6340103d0) = 0 +43939469773003:43939469773640 26086:26091 hsa_system_get_info(2, 0x7fc6340103d8) = 0 +43939469774399:43939469775037 26086:26091 hsa_system_get_info(2, 0x7fc6340103e0) = 0 +43939469775810:43939469776441 26086:26091 hsa_system_get_info(2, 0x7fc6340103e8) = 0 +43939469777922:43939469778556 26086:26091 hsa_system_get_info(2, 0x7fc6340103f0) = 0 +43939469779315:43939469779950 26086:26091 hsa_system_get_info(2, 0x7fc6340103f8) = 0 +43939469780706:43939469781327 26086:26091 hsa_system_get_info(2, 0x7fc634010400) = 0 +43939469782088:43939469782714 26086:26091 hsa_system_get_info(2, 0x7fc634010408) = 0 +43939469783473:43939469784097 26086:26091 hsa_system_get_info(2, 0x7fc634010410) = 0 +43939469784856:43939469785483 26086:26091 hsa_system_get_info(2, 0x7fc634010418) = 0 +43939469786239:43939469786867 26086:26091 hsa_system_get_info(2, 0x7fc634010420) = 0 +43939469787627:43939469788255 26086:26091 hsa_system_get_info(2, 0x7fc634010428) = 0 +43939469789032:43939469789665 26086:26091 hsa_system_get_info(2, 0x7fc634010430) = 0 +43939469790421:43939469791052 26086:26091 hsa_system_get_info(2, 0x7fc634010438) = 0 +43939469791818:43939469792443 26086:26091 hsa_system_get_info(2, 0x7fc634010440) = 0 +43939469793233:43939469793868 26086:26091 hsa_system_get_info(2, 0x7fc634010448) = 0 +43939469794630:43939469795261 26086:26091 hsa_system_get_info(2, 0x7fc634010450) = 0 +43939469796023:43939469796652 26086:26091 hsa_system_get_info(2, 0x7fc634010458) = 0 +43939469797411:43939469798043 26086:26091 hsa_system_get_info(2, 0x7fc634010460) = 0 +43939469798805:43939469799423 26086:26091 hsa_system_get_info(2, 0x7fc634010468) = 0 +43939469800185:43939469800812 26086:26091 hsa_system_get_info(2, 0x7fc634010470) = 0 +43939469801570:43939469802197 26086:26091 hsa_system_get_info(2, 0x7fc634010478) = 0 +43939469802959:43939469803587 26086:26091 hsa_system_get_info(2, 0x7fc634010480) = 0 +43939469804350:43939469804975 26086:26091 hsa_system_get_info(2, 0x7fc634010488) = 0 +43939469805735:43939469806367 26086:26091 hsa_system_get_info(2, 0x7fc634010490) = 0 +43939469807126:43939469807748 26086:26091 hsa_system_get_info(2, 0x7fc634010498) = 0 +43939469808511:43939469809141 26086:26091 hsa_system_get_info(2, 0x7fc6340104a0) = 0 +43939469809904:43939469810531 26086:26091 hsa_system_get_info(2, 0x7fc6340104a8) = 0 +43939469811292:43939469811921 26086:26091 hsa_system_get_info(2, 0x7fc6340104b0) = 0 +43939469812698:43939469813329 26086:26091 hsa_system_get_info(2, 0x7fc6340104b8) = 0 +43939469814089:43939469814711 26086:26091 hsa_system_get_info(2, 0x7fc6340104c0) = 0 +43939469815470:43939469816097 26086:26091 hsa_system_get_info(2, 0x7fc6340104c8) = 0 +43939469816858:43939469817485 26086:26091 hsa_system_get_info(2, 0x7fc6340104d0) = 0 +43939469818963:43939469819599 26086:26091 hsa_system_get_info(2, 0x7fc6340104d8) = 0 +43939469820357:43939469820981 26086:26091 hsa_system_get_info(2, 0x7fc6340104e0) = 0 +43939469821744:43939469822372 26086:26091 hsa_system_get_info(2, 0x7fc6340104e8) = 0 +43939469823136:43939469823758 26086:26091 hsa_system_get_info(2, 0x7fc6340104f0) = 0 +43939469824522:43939469825147 26086:26091 hsa_system_get_info(2, 0x7fc6340104f8) = 0 +43939469825907:43939469826533 26086:26091 hsa_system_get_info(2, 0x7fc634010500) = 0 +43939469827294:43939469827923 26086:26091 hsa_system_get_info(2, 0x7fc634010508) = 0 +43939469828682:43939469829310 26086:26091 hsa_system_get_info(2, 0x7fc634010510) = 0 +43939469830071:43939469830693 26086:26091 hsa_system_get_info(2, 0x7fc634010518) = 0 +43939469831452:43939469832075 26086:26091 hsa_system_get_info(2, 0x7fc634010520) = 0 +43939469832846:43939469833468 26086:26091 hsa_system_get_info(2, 0x7fc634010528) = 0 +43939469834245:43939469834874 26086:26091 hsa_system_get_info(2, 0x7fc634010530) = 0 +43939469835634:43939469836259 26086:26091 hsa_system_get_info(2, 0x7fc634010538) = 0 +43939469837034:43939469837663 26086:26091 hsa_system_get_info(2, 0x7fc634010540) = 0 +43939469838417:43939469839044 26086:26091 hsa_system_get_info(2, 0x7fc634010548) = 0 +43939469839806:43939469840434 26086:26091 hsa_system_get_info(2, 0x7fc634010550) = 0 +43939469841196:43939469841828 26086:26091 hsa_system_get_info(2, 0x7fc634010558) = 0 +43939469842590:43939469843213 26086:26091 hsa_system_get_info(2, 0x7fc634010560) = 0 +43939469843972:43939469844599 26086:26091 hsa_system_get_info(2, 0x7fc634010568) = 0 +43939469845360:43939469845988 26086:26091 hsa_system_get_info(2, 0x7fc634010570) = 0 +43939469846761:43939469847395 26086:26091 hsa_system_get_info(2, 0x7fc634010578) = 0 +43939469848155:43939469848794 26086:26091 hsa_system_get_info(2, 0x7fc634010580) = 0 +43939469849560:43939469850192 26086:26091 hsa_system_get_info(2, 0x7fc634010588) = 0 +43939469850954:43939469851587 26086:26091 hsa_system_get_info(2, 0x7fc634010590) = 0 +43939469852353:43939469852985 26086:26091 hsa_system_get_info(2, 0x7fc634010598) = 0 +43939469853748:43939469854376 26086:26091 hsa_system_get_info(2, 0x7fc6340105a0) = 0 +43939469855134:43939469855761 26086:26091 hsa_system_get_info(2, 0x7fc6340105a8) = 0 +43939469856520:43939469857154 26086:26091 hsa_system_get_info(2, 0x7fc6340105b0) = 0 +43939469858628:43939469859253 26086:26091 hsa_system_get_info(2, 0x7fc6340105b8) = 0 +43939469860016:43939469860648 26086:26091 hsa_system_get_info(2, 0x7fc6340105c0) = 0 +43939469861406:43939469862029 26086:26091 hsa_system_get_info(2, 0x7fc6340105c8) = 0 +43939469862793:43939469863428 26086:26091 hsa_system_get_info(2, 0x7fc6340105d0) = 0 +43939469864194:43939469864823 26086:26091 hsa_system_get_info(2, 0x7fc6340105d8) = 0 +43939469865583:43939469866209 26086:26091 hsa_system_get_info(2, 0x7fc6340105e0) = 0 +43939469866970:43939469867600 26086:26091 hsa_system_get_info(2, 0x7fc6340105e8) = 0 +43939469868361:43939469868988 26086:26091 hsa_system_get_info(2, 0x7fc6340105f0) = 0 +43939469869754:43939469870382 26086:26091 hsa_system_get_info(2, 0x7fc6340105f8) = 0 +43939469871146:43939469871778 26086:26091 hsa_system_get_info(2, 0x7fc634010600) = 0 +43939469872537:43939469873167 26086:26091 hsa_system_get_info(2, 0x7fc634010608) = 0 +43939469873938:43939469874562 26086:26091 hsa_system_get_info(2, 0x7fc634010610) = 0 +43939469875329:43939469875956 26086:26091 hsa_system_get_info(2, 0x7fc634010618) = 0 +43939469876731:43939469877368 26086:26091 hsa_system_get_info(2, 0x7fc634010620) = 0 +43939469878136:43939469878769 26086:26091 hsa_system_get_info(2, 0x7fc634010628) = 0 +43939469879533:43939469880171 26086:26091 hsa_system_get_info(2, 0x7fc634010630) = 0 +43939469880934:43939469881565 26086:26091 hsa_system_get_info(2, 0x7fc634010638) = 0 +43939469882322:43939469882939 26086:26091 hsa_system_get_info(2, 0x7fc634010640) = 0 +43939469883695:43939469884322 26086:26091 hsa_system_get_info(2, 0x7fc634010648) = 0 +43939469885082:43939469885705 26086:26091 hsa_system_get_info(2, 0x7fc634010650) = 0 +43939469886463:43939469887095 26086:26091 hsa_system_get_info(2, 0x7fc634010658) = 0 +43939469887859:43939469888489 26086:26091 hsa_system_get_info(2, 0x7fc634010660) = 0 +43939469889248:43939469889878 26086:26091 hsa_system_get_info(2, 0x7fc634010668) = 0 +43939469890639:43939469891266 26086:26091 hsa_system_get_info(2, 0x7fc634010670) = 0 +43939469892022:43939469892650 26086:26091 hsa_system_get_info(2, 0x7fc634010678) = 0 +43939469893410:43939469894039 26086:26091 hsa_system_get_info(2, 0x7fc634010680) = 0 +43939469894800:43939469895431 26086:26091 hsa_system_get_info(2, 0x7fc634010688) = 0 +43939469896207:43939469896839 26086:26091 hsa_system_get_info(2, 0x7fc634010690) = 0 +43939469898382:43939469899015 26086:26091 hsa_system_get_info(2, 0x7fc634010698) = 0 +43939469899773:43939469900396 26086:26091 hsa_system_get_info(2, 0x7fc6340106a0) = 0 +43939469901153:43939469901785 26086:26091 hsa_system_get_info(2, 0x7fc6340106a8) = 0 +43939469902548:43939469903168 26086:26091 hsa_system_get_info(2, 0x7fc6340106b0) = 0 +43939469903928:43939469904555 26086:26091 hsa_system_get_info(2, 0x7fc6340106b8) = 0 +43939469905316:43939469905948 26086:26091 hsa_system_get_info(2, 0x7fc6340106c0) = 0 +43939469906712:43939469907337 26086:26091 hsa_system_get_info(2, 0x7fc6340106c8) = 0 +43939469908100:43939469908726 26086:26091 hsa_system_get_info(2, 0x7fc6340106d0) = 0 +43939469909484:43939469910105 26086:26091 hsa_system_get_info(2, 0x7fc6340106d8) = 0 +43939469910866:43939469911497 26086:26091 hsa_system_get_info(2, 0x7fc6340106e0) = 0 +43939469912256:43939469912880 26086:26091 hsa_system_get_info(2, 0x7fc6340106e8) = 0 +43939469913651:43939469914278 26086:26091 hsa_system_get_info(2, 0x7fc6340106f0) = 0 +43939469915044:43939469915688 26086:26091 hsa_system_get_info(2, 0x7fc6340106f8) = 0 +43939469916445:43939469917074 26086:26091 hsa_system_get_info(2, 0x7fc634010700) = 0 +43939469917834:43939469918454 26086:26091 hsa_system_get_info(2, 0x7fc634010708) = 0 +43939469919215:43939469919843 26086:26091 hsa_system_get_info(2, 0x7fc634010710) = 0 +43939469920607:43939469921233 26086:26091 hsa_system_get_info(2, 0x7fc634010718) = 0 +43939469921992:43939469922617 26086:26091 hsa_system_get_info(2, 0x7fc634010720) = 0 +43939469923379:43939469924004 26086:26091 hsa_system_get_info(2, 0x7fc634010728) = 0 +43939469924759:43939469925387 26086:26091 hsa_system_get_info(2, 0x7fc634010730) = 0 +43939469926144:43939469926775 26086:26091 hsa_system_get_info(2, 0x7fc634010738) = 0 +43939469927532:43939469928156 26086:26091 hsa_system_get_info(2, 0x7fc634010740) = 0 +43939469928911:43939469929541 26086:26091 hsa_system_get_info(2, 0x7fc634010748) = 0 +43939469930303:43939469930931 26086:26091 hsa_system_get_info(2, 0x7fc634010750) = 0 +43939469931693:43939469932328 26086:26091 hsa_system_get_info(2, 0x7fc634010758) = 0 +43939469933084:43939469933705 26086:26091 hsa_system_get_info(2, 0x7fc634010760) = 0 +43939469934478:43939469935103 26086:26091 hsa_system_get_info(2, 0x7fc634010768) = 0 +43939469935863:43939469936490 26086:26091 hsa_system_get_info(2, 0x7fc634010770) = 0 +43939469937254:43939469937882 26086:26091 hsa_system_get_info(2, 0x7fc634010778) = 0 +43939469939386:43939469940017 26086:26091 hsa_system_get_info(2, 0x7fc634010780) = 0 +43939469940776:43939469941409 26086:26091 hsa_system_get_info(2, 0x7fc634010788) = 0 +43939469942165:43939469942796 26086:26091 hsa_system_get_info(2, 0x7fc634010790) = 0 +43939469943559:43939469944186 26086:26091 hsa_system_get_info(2, 0x7fc634010798) = 0 +43939469944944:43939469945567 26086:26091 hsa_system_get_info(2, 0x7fc6340107a0) = 0 +43939469946326:43939469946952 26086:26091 hsa_system_get_info(2, 0x7fc6340107a8) = 0 +43939469947717:43939469948348 26086:26091 hsa_system_get_info(2, 0x7fc6340107b0) = 0 +43939469949131:43939469949768 26086:26091 hsa_system_get_info(2, 0x7fc6340107b8) = 0 +43939469950532:43939469951166 26086:26091 hsa_system_get_info(2, 0x7fc6340107c0) = 0 +43939469951933:43939469952562 26086:26091 hsa_system_get_info(2, 0x7fc6340107c8) = 0 +43939469953320:43939469953952 26086:26091 hsa_system_get_info(2, 0x7fc6340107d0) = 0 +43939469954713:43939469955347 26086:26091 hsa_system_get_info(2, 0x7fc6340107d8) = 0 +43939469956118:43939469956749 26086:26091 hsa_system_get_info(2, 0x7fc6340107e0) = 0 +43939469957513:43939469958145 26086:26091 hsa_system_get_info(2, 0x7fc6340107e8) = 0 +43939469958910:43939469959545 26086:26091 hsa_system_get_info(2, 0x7fc6340107f0) = 0 +43939469960307:43939469960936 26086:26091 hsa_system_get_info(2, 0x7fc6340107f8) = 0 +43939469961699:43939469962329 26086:26091 hsa_system_get_info(2, 0x7fc634010800) = 0 +43939469963090:43939469963722 26086:26091 hsa_system_get_info(2, 0x7fc634010808) = 0 +43939469964487:43939469965114 26086:26091 hsa_system_get_info(2, 0x7fc634010810) = 0 +43939469965890:43939469966524 26086:26091 hsa_system_get_info(2, 0x7fc634010818) = 0 +43939469967287:43939469967918 26086:26091 hsa_system_get_info(2, 0x7fc634010820) = 0 +43939469968676:43939469969303 26086:26091 hsa_system_get_info(2, 0x7fc634010828) = 0 +43939469970065:43939469970694 26086:26091 hsa_system_get_info(2, 0x7fc634010830) = 0 +43939469971456:43939469972080 26086:26091 hsa_system_get_info(2, 0x7fc634010838) = 0 +43939469972841:43939469973465 26086:26091 hsa_system_get_info(2, 0x7fc634010840) = 0 +43939469974223:43939469974848 26086:26091 hsa_system_get_info(2, 0x7fc634010848) = 0 +43939469975613:43939469976237 26086:26091 hsa_system_get_info(2, 0x7fc634010850) = 0 +43939469976996:43939469977623 26086:26091 hsa_system_get_info(2, 0x7fc634010858) = 0 +43939469979146:43939469979774 26086:26091 hsa_system_get_info(2, 0x7fc634010860) = 0 +43939469980532:43939469981156 26086:26091 hsa_system_get_info(2, 0x7fc634010868) = 0 +43939469981912:43939469982541 26086:26091 hsa_system_get_info(2, 0x7fc634010870) = 0 +43939469983303:43939469983954 26086:26091 hsa_system_get_info(2, 0x7fc634010878) = 0 +43939469984718:43939469985348 26086:26091 hsa_system_get_info(2, 0x7fc634010880) = 0 +43939469986110:43939469986740 26086:26091 hsa_system_get_info(2, 0x7fc634010888) = 0 +43939469987499:43939469988133 26086:26091 hsa_system_get_info(2, 0x7fc634010890) = 0 +43939469988902:43939469989534 26086:26091 hsa_system_get_info(2, 0x7fc634010898) = 0 +43939469990297:43939469990931 26086:26091 hsa_system_get_info(2, 0x7fc6340108a0) = 0 +43939469991695:43939469992323 26086:26091 hsa_system_get_info(2, 0x7fc6340108a8) = 0 +43939469993089:43939469993718 26086:26091 hsa_system_get_info(2, 0x7fc6340108b0) = 0 +43939469994490:43939469995125 26086:26091 hsa_system_get_info(2, 0x7fc6340108b8) = 0 +43939469995894:43939469996519 26086:26091 hsa_system_get_info(2, 0x7fc6340108c0) = 0 +43939469997280:43939469997907 26086:26091 hsa_system_get_info(2, 0x7fc6340108c8) = 0 +43939469998672:43939469999302 26086:26091 hsa_system_get_info(2, 0x7fc6340108d0) = 0 +43939470000069:43939470000701 26086:26091 hsa_system_get_info(2, 0x7fc6340108d8) = 0 +43939470001460:43939470002082 26086:26091 hsa_system_get_info(2, 0x7fc6340108e0) = 0 +43939470002848:43939470003501 26086:26091 hsa_system_get_info(2, 0x7fc6340108e8) = 0 +43939470004264:43939470004889 26086:26091 hsa_system_get_info(2, 0x7fc6340108f0) = 0 +43939470005650:43939470006283 26086:26091 hsa_system_get_info(2, 0x7fc6340108f8) = 0 +43939470007045:43939470007677 26086:26091 hsa_system_get_info(2, 0x7fc634010900) = 0 +43939470008438:43939470009068 26086:26091 hsa_system_get_info(2, 0x7fc634010908) = 0 +43939470009828:43939470010463 26086:26091 hsa_system_get_info(2, 0x7fc634010910) = 0 +43939470011224:43939470011859 26086:26091 hsa_system_get_info(2, 0x7fc634010918) = 0 +43939470012619:43939470013248 26086:26091 hsa_system_get_info(2, 0x7fc634010920) = 0 +43939470014009:43939470014637 26086:26091 hsa_system_get_info(2, 0x7fc634010928) = 0 +43939470015400:43939470016031 26086:26091 hsa_system_get_info(2, 0x7fc634010930) = 0 +43939470016790:43939470017413 26086:26091 hsa_system_get_info(2, 0x7fc634010938) = 0 +43939470018172:43939470018797 26086:26091 hsa_system_get_info(2, 0x7fc634010940) = 0 +43939470020275:43939470020908 26086:26091 hsa_system_get_info(2, 0x7fc634010948) = 0 +43939470021669:43939470022291 26086:26091 hsa_system_get_info(2, 0x7fc634010950) = 0 +43939470023045:43939470023671 26086:26091 hsa_system_get_info(2, 0x7fc634010958) = 0 +43939470024432:43939470025062 26086:26091 hsa_system_get_info(2, 0x7fc634010960) = 0 +43939470025822:43939470026448 26086:26091 hsa_system_get_info(2, 0x7fc634010968) = 0 +43939470027207:43939470027829 26086:26091 hsa_system_get_info(2, 0x7fc634010970) = 0 +43939470028590:43939470029216 26086:26091 hsa_system_get_info(2, 0x7fc634010978) = 0 +43939470029974:43939470030595 26086:26091 hsa_system_get_info(2, 0x7fc634010980) = 0 +43939470031352:43939470031978 26086:26091 hsa_system_get_info(2, 0x7fc634010988) = 0 +43939470032740:43939470033368 26086:26091 hsa_system_get_info(2, 0x7fc634010990) = 0 +43939470034143:43939470034764 26086:26091 hsa_system_get_info(2, 0x7fc634010998) = 0 +43939470035527:43939470036158 26086:26091 hsa_system_get_info(2, 0x7fc6340109a0) = 0 +43939470036929:43939470037555 26086:26091 hsa_system_get_info(2, 0x7fc6340109a8) = 0 +43939470038318:43939470038943 26086:26091 hsa_system_get_info(2, 0x7fc6340109b0) = 0 +43939470039703:43939470040327 26086:26091 hsa_system_get_info(2, 0x7fc6340109b8) = 0 +43939470041091:43939470041724 26086:26091 hsa_system_get_info(2, 0x7fc6340109c0) = 0 +43939470042484:43939470043115 26086:26091 hsa_system_get_info(2, 0x7fc6340109c8) = 0 +43939470043877:43939470044509 26086:26091 hsa_system_get_info(2, 0x7fc6340109d0) = 0 +43939470045277:43939470045903 26086:26091 hsa_system_get_info(2, 0x7fc6340109d8) = 0 +43939470046664:43939470047288 26086:26091 hsa_system_get_info(2, 0x7fc6340109e0) = 0 +43939470048048:43939470048675 26086:26091 hsa_system_get_info(2, 0x7fc6340109e8) = 0 +43939470049435:43939470050070 26086:26091 hsa_system_get_info(2, 0x7fc6340109f0) = 0 +43939470050828:43939470051453 26086:26091 hsa_system_get_info(2, 0x7fc6340109f8) = 0 +43939470052219:43939470052864 26086:26091 hsa_system_get_info(2, 0x7fc634010a00) = 0 +43939470053627:43939470054251 26086:26091 hsa_system_get_info(2, 0x7fc634010a08) = 0 +43939470055014:43939470055650 26086:26091 hsa_system_get_info(2, 0x7fc634010a10) = 0 +43939470056409:43939470057039 26086:26091 hsa_system_get_info(2, 0x7fc634010a18) = 0 +43939470057801:43939470058434 26086:26091 hsa_system_get_info(2, 0x7fc634010a20) = 0 +43939470059914:43939470060548 26086:26091 hsa_system_get_info(2, 0x7fc634010a28) = 0 +43939470061306:43939470061926 26086:26091 hsa_system_get_info(2, 0x7fc634010a30) = 0 +43939470062683:43939470063308 26086:26091 hsa_system_get_info(2, 0x7fc634010a38) = 0 +43939470064070:43939470064699 26086:26091 hsa_system_get_info(2, 0x7fc634010a40) = 0 +43939470065461:43939470066082 26086:26091 hsa_system_get_info(2, 0x7fc634010a48) = 0 +43939470066841:43939470067468 26086:26091 hsa_system_get_info(2, 0x7fc634010a50) = 0 +43939470068229:43939470068857 26086:26091 hsa_system_get_info(2, 0x7fc634010a58) = 0 +43939470069618:43939470070249 26086:26091 hsa_system_get_info(2, 0x7fc634010a60) = 0 +43939470071010:43939470071643 26086:26091 hsa_system_get_info(2, 0x7fc634010a68) = 0 +43939470072409:43939470073035 26086:26091 hsa_system_get_info(2, 0x7fc634010a70) = 0 +43939470073794:43939470074429 26086:26091 hsa_system_get_info(2, 0x7fc634010a78) = 0 +43939470075193:43939470075825 26086:26091 hsa_system_get_info(2, 0x7fc634010a80) = 0 +43939470076593:43939470077218 26086:26091 hsa_system_get_info(2, 0x7fc634010a88) = 0 +43939470077992:43939470078623 26086:26091 hsa_system_get_info(2, 0x7fc634010a90) = 0 +43939470079397:43939470080020 26086:26091 hsa_system_get_info(2, 0x7fc634010a98) = 0 +43939470080783:43939470081410 26086:26091 hsa_system_get_info(2, 0x7fc634010aa0) = 0 +43939470082175:43939470082800 26086:26091 hsa_system_get_info(2, 0x7fc634010aa8) = 0 +43939470083559:43939470084189 26086:26091 hsa_system_get_info(2, 0x7fc634010ab0) = 0 +43939470084948:43939470085578 26086:26091 hsa_system_get_info(2, 0x7fc634010ab8) = 0 +43939470086340:43939470086973 26086:26091 hsa_system_get_info(2, 0x7fc634010ac0) = 0 +43939470087738:43939470088369 26086:26091 hsa_system_get_info(2, 0x7fc634010ac8) = 0 +43939470089131:43939470089759 26086:26091 hsa_system_get_info(2, 0x7fc634010ad0) = 0 +43939470090518:43939470091150 26086:26091 hsa_system_get_info(2, 0x7fc634010ad8) = 0 +43939470091910:43939470092537 26086:26091 hsa_system_get_info(2, 0x7fc634010ae0) = 0 +43939470093297:43939470093935 26086:26091 hsa_system_get_info(2, 0x7fc634010ae8) = 0 +43939470094702:43939470095328 26086:26091 hsa_system_get_info(2, 0x7fc634010af0) = 0 +43939470096092:43939470096718 26086:26091 hsa_system_get_info(2, 0x7fc634010af8) = 0 +43939470097482:43939470098125 26086:26091 hsa_system_get_info(2, 0x7fc634010b00) = 0 +43939470098906:43939470099536 26086:26091 hsa_system_get_info(2, 0x7fc634010b08) = 0 +43939470101020:43939470101657 26086:26091 hsa_system_get_info(2, 0x7fc634010b10) = 0 +43939470102432:43939470103059 26086:26091 hsa_system_get_info(2, 0x7fc634010b18) = 0 +43939470103818:43939470104442 26086:26091 hsa_system_get_info(2, 0x7fc634010b20) = 0 +43939470105204:43939470105834 26086:26091 hsa_system_get_info(2, 0x7fc634010b28) = 0 +43939470106597:43939470107222 26086:26091 hsa_system_get_info(2, 0x7fc634010b30) = 0 +43939470107986:43939470108615 26086:26091 hsa_system_get_info(2, 0x7fc634010b38) = 0 +43939470109376:43939470110003 26086:26091 hsa_system_get_info(2, 0x7fc634010b40) = 0 +43939470110765:43939470111395 26086:26091 hsa_system_get_info(2, 0x7fc634010b48) = 0 +43939470112156:43939470112778 26086:26091 hsa_system_get_info(2, 0x7fc634010b50) = 0 +43939470113541:43939470114173 26086:26091 hsa_system_get_info(2, 0x7fc634010b58) = 0 +43939470114939:43939470115564 26086:26091 hsa_system_get_info(2, 0x7fc634010b60) = 0 +43939470116326:43939470116955 26086:26091 hsa_system_get_info(2, 0x7fc634010b68) = 0 +43939470117710:43939470118342 26086:26091 hsa_system_get_info(2, 0x7fc634010b70) = 0 +43939470119108:43939470119741 26086:26091 hsa_system_get_info(2, 0x7fc634010b78) = 0 +43939470120508:43939470121142 26086:26091 hsa_system_get_info(2, 0x7fc634010b80) = 0 +43939470121916:43939470122550 26086:26091 hsa_system_get_info(2, 0x7fc634010b88) = 0 +43939470123314:43939470123943 26086:26091 hsa_system_get_info(2, 0x7fc634010b90) = 0 +43939470124705:43939470125334 26086:26091 hsa_system_get_info(2, 0x7fc634010b98) = 0 +43939470126092:43939470126714 26086:26091 hsa_system_get_info(2, 0x7fc634010ba0) = 0 +43939470127476:43939470128101 26086:26091 hsa_system_get_info(2, 0x7fc634010ba8) = 0 +43939470128864:43939470129485 26086:26091 hsa_system_get_info(2, 0x7fc634010bb0) = 0 +43939470130243:43939470130873 26086:26091 hsa_system_get_info(2, 0x7fc634010bb8) = 0 +43939470131635:43939470132266 26086:26091 hsa_system_get_info(2, 0x7fc634010bc0) = 0 +43939470133033:43939470133667 26086:26091 hsa_system_get_info(2, 0x7fc634010bc8) = 0 +43939470134433:43939470135058 26086:26091 hsa_system_get_info(2, 0x7fc634010bd0) = 0 +43939470135817:43939470136448 26086:26091 hsa_system_get_info(2, 0x7fc634010bd8) = 0 +43939470137210:43939470137845 26086:26091 hsa_system_get_info(2, 0x7fc634010be0) = 0 +43939470138602:43939470139227 26086:26091 hsa_system_get_info(2, 0x7fc634010be8) = 0 +43939470141303:43939470141939 26086:26091 hsa_system_get_info(2, 0x7fc634010bf0) = 0 +43939470142700:43939470143329 26086:26091 hsa_system_get_info(2, 0x7fc634010bf8) = 0 +43939470144091:43939470144716 26086:26091 hsa_system_get_info(2, 0x7fc634010c00) = 0 +43939470145480:43939470146110 26086:26091 hsa_system_get_info(2, 0x7fc634010c08) = 0 +43939470146875:43939470147503 26086:26091 hsa_system_get_info(2, 0x7fc634010c10) = 0 +43939470148265:43939470148895 26086:26091 hsa_system_get_info(2, 0x7fc634010c18) = 0 +43939470149655:43939470150282 26086:26091 hsa_system_get_info(2, 0x7fc634010c20) = 0 +43939470151046:43939470151669 26086:26091 hsa_system_get_info(2, 0x7fc634010c28) = 0 +43939470152431:43939470153057 26086:26091 hsa_system_get_info(2, 0x7fc634010c30) = 0 +43939470153812:43939470154442 26086:26091 hsa_system_get_info(2, 0x7fc634010c38) = 0 +43939470155201:43939470155836 26086:26091 hsa_system_get_info(2, 0x7fc634010c40) = 0 +43939470156612:43939470157244 26086:26091 hsa_system_get_info(2, 0x7fc634010c48) = 0 +43939470158004:43939470158630 26086:26091 hsa_system_get_info(2, 0x7fc634010c50) = 0 +43939470159389:43939470160022 26086:26091 hsa_system_get_info(2, 0x7fc634010c58) = 0 +43939470160784:43939470161416 26086:26091 hsa_system_get_info(2, 0x7fc634010c60) = 0 +43939470162181:43939470162814 26086:26091 hsa_system_get_info(2, 0x7fc634010c68) = 0 +43939470163578:43939470164213 26086:26091 hsa_system_get_info(2, 0x7fc634010c70) = 0 +43939470164976:43939470165607 26086:26091 hsa_system_get_info(2, 0x7fc634010c78) = 0 +43939470166368:43939470166995 26086:26091 hsa_system_get_info(2, 0x7fc634010c80) = 0 +43939470167757:43939470168390 26086:26091 hsa_system_get_info(2, 0x7fc634010c88) = 0 +43939470169154:43939470169790 26086:26091 hsa_system_get_info(2, 0x7fc634010c90) = 0 +43939470170552:43939470171184 26086:26091 hsa_system_get_info(2, 0x7fc634010c98) = 0 +43939470171946:43939470172578 26086:26091 hsa_system_get_info(2, 0x7fc634010ca0) = 0 +43939470173337:43939470173976 26086:26091 hsa_system_get_info(2, 0x7fc634010ca8) = 0 +43939470174741:43939470175383 26086:26091 hsa_system_get_info(2, 0x7fc634010cb0) = 0 +43939470176142:43939470176769 26086:26091 hsa_system_get_info(2, 0x7fc634010cb8) = 0 +43939470177526:43939470178155 26086:26091 hsa_system_get_info(2, 0x7fc634010cc0) = 0 +43939470178915:43939470179543 26086:26091 hsa_system_get_info(2, 0x7fc634010cc8) = 0 +43939470180305:43939470180935 26086:26091 hsa_system_get_info(2, 0x7fc634010cd0) = 0 +43939470182423:43939470183063 26086:26091 hsa_system_get_info(2, 0x7fc634010cd8) = 0 +43939470183829:43939470184459 26086:26091 hsa_system_get_info(2, 0x7fc634010ce0) = 0 +43939470185217:43939470185846 26086:26091 hsa_system_get_info(2, 0x7fc634010ce8) = 0 +43939470186605:43939470187230 26086:26091 hsa_system_get_info(2, 0x7fc634010cf0) = 0 +43939470187987:43939470188620 26086:26091 hsa_system_get_info(2, 0x7fc634010cf8) = 0 +43939470189382:43939470190017 26086:26091 hsa_system_get_info(2, 0x7fc634010d00) = 0 +43939470190780:43939470191410 26086:26091 hsa_system_get_info(2, 0x7fc634010d08) = 0 +43939470192174:43939470192801 26086:26091 hsa_system_get_info(2, 0x7fc634010d10) = 0 +43939470193563:43939470194198 26086:26091 hsa_system_get_info(2, 0x7fc634010d18) = 0 +43939470194961:43939470195589 26086:26091 hsa_system_get_info(2, 0x7fc634010d20) = 0 +43939470196360:43939470196993 26086:26091 hsa_system_get_info(2, 0x7fc634010d28) = 0 +43939470197781:43939470198411 26086:26091 hsa_system_get_info(2, 0x7fc634010d30) = 0 +43939470199173:43939470199823 26086:26091 hsa_system_get_info(2, 0x7fc634010d38) = 0 +43939470200584:43939470201208 26086:26091 hsa_system_get_info(2, 0x7fc634010d40) = 0 +43939470201972:43939470202603 26086:26091 hsa_system_get_info(2, 0x7fc634010d48) = 0 +43939470203364:43939470203988 26086:26091 hsa_system_get_info(2, 0x7fc634010d50) = 0 +43939470204751:43939470205387 26086:26091 hsa_system_get_info(2, 0x7fc634010d58) = 0 +43939470206147:43939470206782 26086:26091 hsa_system_get_info(2, 0x7fc634010d60) = 0 +43939470207546:43939470208177 26086:26091 hsa_system_get_info(2, 0x7fc634010d68) = 0 +43939470208941:43939470209577 26086:26091 hsa_system_get_info(2, 0x7fc634010d70) = 0 +43939470210338:43939470210970 26086:26091 hsa_system_get_info(2, 0x7fc634010d78) = 0 +43939470211732:43939470212362 26086:26091 hsa_system_get_info(2, 0x7fc634010d80) = 0 +43939470213123:43939470213754 26086:26091 hsa_system_get_info(2, 0x7fc634010d88) = 0 +43939470214517:43939470215137 26086:26091 hsa_system_get_info(2, 0x7fc634010d90) = 0 +43939470215920:43939470216553 26086:26091 hsa_system_get_info(2, 0x7fc634010d98) = 0 +43939470217312:43939470217936 26086:26091 hsa_system_get_info(2, 0x7fc634010da0) = 0 +43939470218697:43939470219327 26086:26091 hsa_system_get_info(2, 0x7fc634010da8) = 0 +43939470220087:43939470220715 26086:26091 hsa_system_get_info(2, 0x7fc634010db0) = 0 +43939470222256:43939470222884 26086:26091 hsa_system_get_info(2, 0x7fc634010db8) = 0 +43939470223648:43939470224269 26086:26091 hsa_system_get_info(2, 0x7fc634010dc0) = 0 +43939470225032:43939470225661 26086:26091 hsa_system_get_info(2, 0x7fc634010dc8) = 0 +43939470226422:43939470227042 26086:26091 hsa_system_get_info(2, 0x7fc634010dd0) = 0 +43939470227807:43939470228434 26086:26091 hsa_system_get_info(2, 0x7fc634010dd8) = 0 +43939470229195:43939470229828 26086:26091 hsa_system_get_info(2, 0x7fc634010de0) = 0 +43939470230589:43939470231222 26086:26091 hsa_system_get_info(2, 0x7fc634010de8) = 0 +43939470231982:43939470232616 26086:26091 hsa_system_get_info(2, 0x7fc634010df0) = 0 +43939470233378:43939470234012 26086:26091 hsa_system_get_info(2, 0x7fc634010df8) = 0 +43939470234771:43939470235397 26086:26091 hsa_system_get_info(2, 0x7fc634010e00) = 0 +43939470236153:43939470236777 26086:26091 hsa_system_get_info(2, 0x7fc634010e08) = 0 +43939470237545:43939470238175 26086:26091 hsa_system_get_info(2, 0x7fc634010e10) = 0 +43939470238938:43939470239576 26086:26091 hsa_system_get_info(2, 0x7fc634010e18) = 0 +43939470240338:43939470240962 26086:26091 hsa_system_get_info(2, 0x7fc634010e20) = 0 +43939470241719:43939470242340 26086:26091 hsa_system_get_info(2, 0x7fc634010e28) = 0 +43939470243107:43939470243731 26086:26091 hsa_system_get_info(2, 0x7fc634010e30) = 0 +43939470244497:43939470245128 26086:26091 hsa_system_get_info(2, 0x7fc634010e38) = 0 +43939470245902:43939470246542 26086:26091 hsa_system_get_info(2, 0x7fc634010e40) = 0 +43939470247303:43939470247939 26086:26091 hsa_system_get_info(2, 0x7fc634010e48) = 0 +43939470248702:43939470249326 26086:26091 hsa_system_get_info(2, 0x7fc634010e50) = 0 +43939470250087:43939470250713 26086:26091 hsa_system_get_info(2, 0x7fc634010e58) = 0 +43939470251473:43939470252098 26086:26091 hsa_system_get_info(2, 0x7fc634010e60) = 0 +43939470252857:43939470253484 26086:26091 hsa_system_get_info(2, 0x7fc634010e68) = 0 +43939470254242:43939470254869 26086:26091 hsa_system_get_info(2, 0x7fc634010e70) = 0 +43939470255631:43939470256258 26086:26091 hsa_system_get_info(2, 0x7fc634010e78) = 0 +43939470257021:43939470257648 26086:26091 hsa_system_get_info(2, 0x7fc634010e80) = 0 +43939470258412:43939470259042 26086:26091 hsa_system_get_info(2, 0x7fc634010e88) = 0 +43939470259810:43939470260441 26086:26091 hsa_system_get_info(2, 0x7fc634010e90) = 0 +43939470261921:43939470262557 26086:26091 hsa_system_get_info(2, 0x7fc634010e98) = 0 +43939470263318:43939470263955 26086:26091 hsa_system_get_info(2, 0x7fc634010ea0) = 0 +43939470264721:43939470265354 26086:26091 hsa_system_get_info(2, 0x7fc634010ea8) = 0 +43939470266139:43939470266770 26086:26091 hsa_system_get_info(2, 0x7fc634010eb0) = 0 +43939470267531:43939470268163 26086:26091 hsa_system_get_info(2, 0x7fc634010eb8) = 0 +43939470268927:43939470269558 26086:26091 hsa_system_get_info(2, 0x7fc634010ec0) = 0 +43939470270323:43939470270954 26086:26091 hsa_system_get_info(2, 0x7fc634010ec8) = 0 +43939470271707:43939470272330 26086:26091 hsa_system_get_info(2, 0x7fc634010ed0) = 0 +43939470273089:43939470273711 26086:26091 hsa_system_get_info(2, 0x7fc634010ed8) = 0 +43939470274471:43939470275102 26086:26091 hsa_system_get_info(2, 0x7fc634010ee0) = 0 +43939470275867:43939470276489 26086:26091 hsa_system_get_info(2, 0x7fc634010ee8) = 0 +43939470277253:43939470277880 26086:26091 hsa_system_get_info(2, 0x7fc634010ef0) = 0 +43939470278660:43939470279287 26086:26091 hsa_system_get_info(2, 0x7fc634010ef8) = 0 +43939470280045:43939470280667 26086:26091 hsa_system_get_info(2, 0x7fc634010f00) = 0 +43939470281428:43939470282059 26086:26091 hsa_system_get_info(2, 0x7fc634010f08) = 0 +43939470282819:43939470283450 26086:26091 hsa_system_get_info(2, 0x7fc634010f10) = 0 +43939470284223:43939470284854 26086:26091 hsa_system_get_info(2, 0x7fc634010f18) = 0 +43939470285617:43939470286245 26086:26091 hsa_system_get_info(2, 0x7fc634010f20) = 0 +43939470287026:43939470287653 26086:26091 hsa_system_get_info(2, 0x7fc634010f28) = 0 +43939470288413:43939470289039 26086:26091 hsa_system_get_info(2, 0x7fc634010f30) = 0 +43939470289799:43939470290420 26086:26091 hsa_system_get_info(2, 0x7fc634010f38) = 0 +43939470291183:43939470291810 26086:26091 hsa_system_get_info(2, 0x7fc634010f40) = 0 +43939470292571:43939470293198 26086:26091 hsa_system_get_info(2, 0x7fc634010f48) = 0 +43939470293959:43939470294595 26086:26091 hsa_system_get_info(2, 0x7fc634010f50) = 0 +43939470295358:43939470295979 26086:26091 hsa_system_get_info(2, 0x7fc634010f58) = 0 +43939470310530:43939470311185 26086:26091 hsa_system_get_info(2, 0x7fc63400f020) = 0 +43939470312000:43939470312633 26086:26091 hsa_system_get_info(2, 0x7fc63400f028) = 0 +43939470313398:43939470314021 26086:26091 hsa_system_get_info(2, 0x7fc63400f030) = 0 +43939470314778:43939470315401 26086:26091 hsa_system_get_info(2, 0x7fc63400f038) = 0 +43939470316963:43939470317593 26086:26091 hsa_system_get_info(2, 0x7fc63400f040) = 0 +43939470318345:43939470318966 26086:26091 hsa_system_get_info(2, 0x7fc63400f048) = 0 +43939470319724:43939470320353 26086:26091 hsa_system_get_info(2, 0x7fc63400f050) = 0 +43939470321113:43939470321751 26086:26091 hsa_system_get_info(2, 0x7fc63400f058) = 0 +43939470322511:43939470323142 26086:26091 hsa_system_get_info(2, 0x7fc63400f060) = 0 +43939470323894:43939470324523 26086:26091 hsa_system_get_info(2, 0x7fc63400f068) = 0 +43939470325278:43939470325909 26086:26091 hsa_system_get_info(2, 0x7fc63400f070) = 0 +43939470326666:43939470327295 26086:26091 hsa_system_get_info(2, 0x7fc63400f078) = 0 +43939470328049:43939470328678 26086:26091 hsa_system_get_info(2, 0x7fc63400f080) = 0 +43939470329433:43939470330063 26086:26091 hsa_system_get_info(2, 0x7fc63400f088) = 0 +43939470330823:43939470331457 26086:26091 hsa_system_get_info(2, 0x7fc63400f090) = 0 +43939470332210:43939470332838 26086:26091 hsa_system_get_info(2, 0x7fc63400f098) = 0 +43939470333599:43939470334232 26086:26091 hsa_system_get_info(2, 0x7fc63400f0a0) = 0 +43939470335001:43939470335634 26086:26091 hsa_system_get_info(2, 0x7fc63400f0a8) = 0 +43939470336395:43939470337026 26086:26091 hsa_system_get_info(2, 0x7fc63400f0b0) = 0 +43939470337781:43939470338411 26086:26091 hsa_system_get_info(2, 0x7fc63400f0b8) = 0 +43939470339167:43939470339798 26086:26091 hsa_system_get_info(2, 0x7fc63400f0c0) = 0 +43939470340569:43939470341200 26086:26091 hsa_system_get_info(2, 0x7fc63400f0c8) = 0 +43939470341953:43939470342583 26086:26091 hsa_system_get_info(2, 0x7fc63400f0d0) = 0 +43939470343337:43939470343961 26086:26091 hsa_system_get_info(2, 0x7fc63400f0d8) = 0 +43939470344715:43939470345340 26086:26091 hsa_system_get_info(2, 0x7fc63400f0e0) = 0 +43939470346092:43939470346717 26086:26091 hsa_system_get_info(2, 0x7fc63400f0e8) = 0 +43939470347469:43939470348099 26086:26091 hsa_system_get_info(2, 0x7fc63400f0f0) = 0 +43939470348851:43939470349472 26086:26091 hsa_system_get_info(2, 0x7fc63400f0f8) = 0 +43939470350229:43939470350859 26086:26091 hsa_system_get_info(2, 0x7fc63400f100) = 0 +43939470351616:43939470352254 26086:26091 hsa_system_get_info(2, 0x7fc63400f108) = 0 +43939470353012:43939470353642 26086:26091 hsa_system_get_info(2, 0x7fc63400f110) = 0 +43939470354400:43939470355023 26086:26091 hsa_system_get_info(2, 0x7fc63400f118) = 0 +43939470356517:43939470357145 26086:26091 hsa_system_get_info(2, 0x7fc63400f120) = 0 +43939470357903:43939470358530 26086:26091 hsa_system_get_info(2, 0x7fc63400f128) = 0 +43939470359284:43939470359916 26086:26091 hsa_system_get_info(2, 0x7fc63400f130) = 0 +43939470360673:43939470361310 26086:26091 hsa_system_get_info(2, 0x7fc63400f138) = 0 +43939470362067:43939470362692 26086:26091 hsa_system_get_info(2, 0x7fc63400f140) = 0 +43939470363452:43939470364081 26086:26091 hsa_system_get_info(2, 0x7fc63400f148) = 0 +43939470364837:43939470365470 26086:26091 hsa_system_get_info(2, 0x7fc63400f150) = 0 +43939470366229:43939470366859 26086:26091 hsa_system_get_info(2, 0x7fc63400f158) = 0 +43939470367619:43939470368249 26086:26091 hsa_system_get_info(2, 0x7fc63400f160) = 0 +43939470369004:43939470369635 26086:26091 hsa_system_get_info(2, 0x7fc63400f168) = 0 +43939470370394:43939470371022 26086:26091 hsa_system_get_info(2, 0x7fc63400f170) = 0 +43939470371777:43939470372407 26086:26091 hsa_system_get_info(2, 0x7fc63400f178) = 0 +43939470373165:43939470373793 26086:26091 hsa_system_get_info(2, 0x7fc63400f180) = 0 +43939470374546:43939470375173 26086:26091 hsa_system_get_info(2, 0x7fc63400f188) = 0 +43939470375940:43939470376568 26086:26091 hsa_system_get_info(2, 0x7fc63400f190) = 0 +43939470377335:43939470377963 26086:26091 hsa_system_get_info(2, 0x7fc63400f198) = 0 +43939470378718:43939470379342 26086:26091 hsa_system_get_info(2, 0x7fc63400f1a0) = 0 +43939470380096:43939470380726 26086:26091 hsa_system_get_info(2, 0x7fc63400f1a8) = 0 +43939470381480:43939470382107 26086:26091 hsa_system_get_info(2, 0x7fc63400f1b0) = 0 +43939470382863:43939470383492 26086:26091 hsa_system_get_info(2, 0x7fc63400f1b8) = 0 +43939470384249:43939470384875 26086:26091 hsa_system_get_info(2, 0x7fc63400f1c0) = 0 +43939470385634:43939470386260 26086:26091 hsa_system_get_info(2, 0x7fc63400f1c8) = 0 +43939470387012:43939470387641 26086:26091 hsa_system_get_info(2, 0x7fc63400f1d0) = 0 +43939470388395:43939470389027 26086:26091 hsa_system_get_info(2, 0x7fc63400f1d8) = 0 +43939470389788:43939470390418 26086:26091 hsa_system_get_info(2, 0x7fc63400f1e0) = 0 +43939470391174:43939470391809 26086:26091 hsa_system_get_info(2, 0x7fc63400f1e8) = 0 +43939470392573:43939470393204 26086:26091 hsa_system_get_info(2, 0x7fc63400f1f0) = 0 +43939470393963:43939470394590 26086:26091 hsa_system_get_info(2, 0x7fc63400f1f8) = 0 +43939470395347:43939470395976 26086:26091 hsa_system_get_info(2, 0x7fc63400f200) = 0 +43939470397490:43939470398127 26086:26091 hsa_system_get_info(2, 0x7fc63400f208) = 0 +43939470398880:43939470399498 26086:26091 hsa_system_get_info(2, 0x7fc63400f210) = 0 +43939470400258:43939470400882 26086:26091 hsa_system_get_info(2, 0x7fc63400f218) = 0 +43939470401634:43939470402263 26086:26091 hsa_system_get_info(2, 0x7fc63400f220) = 0 +43939470403019:43939470403644 26086:26091 hsa_system_get_info(2, 0x7fc63400f228) = 0 +43939470404399:43939470405023 26086:26091 hsa_system_get_info(2, 0x7fc63400f230) = 0 +43939470405782:43939470406415 26086:26091 hsa_system_get_info(2, 0x7fc63400f238) = 0 +43939470407172:43939470407795 26086:26091 hsa_system_get_info(2, 0x7fc63400f240) = 0 +43939470408551:43939470409175 26086:26091 hsa_system_get_info(2, 0x7fc63400f248) = 0 +43939470409929:43939470410563 26086:26091 hsa_system_get_info(2, 0x7fc63400f250) = 0 +43939470411316:43939470411940 26086:26091 hsa_system_get_info(2, 0x7fc63400f258) = 0 +43939470412695:43939470413325 26086:26091 hsa_system_get_info(2, 0x7fc63400f260) = 0 +43939470414081:43939470414714 26086:26091 hsa_system_get_info(2, 0x7fc63400f268) = 0 +43939470415487:43939470416112 26086:26091 hsa_system_get_info(2, 0x7fc63400f270) = 0 +43939470416867:43939470417494 26086:26091 hsa_system_get_info(2, 0x7fc63400f278) = 0 +43939470418248:43939470418874 26086:26091 hsa_system_get_info(2, 0x7fc63400f280) = 0 +43939470419631:43939470420263 26086:26091 hsa_system_get_info(2, 0x7fc63400f288) = 0 +43939470421016:43939470421653 26086:26091 hsa_system_get_info(2, 0x7fc63400f290) = 0 +43939470422413:43939470423039 26086:26091 hsa_system_get_info(2, 0x7fc63400f298) = 0 +43939470423794:43939470424423 26086:26091 hsa_system_get_info(2, 0x7fc63400f2a0) = 0 +43939470425183:43939470425812 26086:26091 hsa_system_get_info(2, 0x7fc63400f2a8) = 0 +43939470426565:43939470427188 26086:26091 hsa_system_get_info(2, 0x7fc63400f2b0) = 0 +43939470427945:43939470428574 26086:26091 hsa_system_get_info(2, 0x7fc63400f2b8) = 0 +43939470429330:43939470429957 26086:26091 hsa_system_get_info(2, 0x7fc63400f2c0) = 0 +43939470430711:43939470431339 26086:26091 hsa_system_get_info(2, 0x7fc63400f2c8) = 0 +43939470432094:43939470432716 26086:26091 hsa_system_get_info(2, 0x7fc63400f2d0) = 0 +43939470433469:43939470434093 26086:26091 hsa_system_get_info(2, 0x7fc63400f2d8) = 0 +43939470434850:43939470435489 26086:26091 hsa_system_get_info(2, 0x7fc63400f2e0) = 0 +43939470436993:43939470437628 26086:26091 hsa_system_get_info(2, 0x7fc63400f2e8) = 0 +43939470438381:43939470439006 26086:26091 hsa_system_get_info(2, 0x7fc63400f2f0) = 0 +43939470439760:43939470440390 26086:26091 hsa_system_get_info(2, 0x7fc63400f2f8) = 0 +43939470441146:43939470441782 26086:26091 hsa_system_get_info(2, 0x7fc63400f300) = 0 +43939470442540:43939470443171 26086:26091 hsa_system_get_info(2, 0x7fc63400f308) = 0 +43939470443925:43939470444554 26086:26091 hsa_system_get_info(2, 0x7fc63400f310) = 0 +43939470445312:43939470445940 26086:26091 hsa_system_get_info(2, 0x7fc63400f318) = 0 +43939470446697:43939470447325 26086:26091 hsa_system_get_info(2, 0x7fc63400f320) = 0 +43939470448079:43939470448710 26086:26091 hsa_system_get_info(2, 0x7fc63400f328) = 0 +43939470449468:43939470450090 26086:26091 hsa_system_get_info(2, 0x7fc63400f330) = 0 +43939470450848:43939470451471 26086:26091 hsa_system_get_info(2, 0x7fc63400f338) = 0 +43939470452229:43939470452859 26086:26091 hsa_system_get_info(2, 0x7fc63400f340) = 0 +43939470453620:43939470454250 26086:26091 hsa_system_get_info(2, 0x7fc63400f348) = 0 +43939470455022:43939470455651 26086:26091 hsa_system_get_info(2, 0x7fc63400f350) = 0 +43939470456408:43939470457035 26086:26091 hsa_system_get_info(2, 0x7fc63400f358) = 0 +43939470457799:43939470458425 26086:26091 hsa_system_get_info(2, 0x7fc63400f360) = 0 +43939470459184:43939470459820 26086:26091 hsa_system_get_info(2, 0x7fc63400f368) = 0 +43939470460576:43939470461205 26086:26091 hsa_system_get_info(2, 0x7fc63400f370) = 0 +43939470461982:43939470462617 26086:26091 hsa_system_get_info(2, 0x7fc63400f378) = 0 +43939470463376:43939470464007 26086:26091 hsa_system_get_info(2, 0x7fc63400f380) = 0 +43939470464761:43939470465390 26086:26091 hsa_system_get_info(2, 0x7fc63400f388) = 0 +43939470466150:43939470466789 26086:26091 hsa_system_get_info(2, 0x7fc63400f390) = 0 +43939470467551:43939470468182 26086:26091 hsa_system_get_info(2, 0x7fc63400f398) = 0 +43939470468939:43939470469567 26086:26091 hsa_system_get_info(2, 0x7fc63400f3a0) = 0 +43939470470331:43939470470959 26086:26091 hsa_system_get_info(2, 0x7fc63400f3a8) = 0 +43939470471718:43939470472349 26086:26091 hsa_system_get_info(2, 0x7fc63400f3b0) = 0 +43939470473105:43939470473729 26086:26091 hsa_system_get_info(2, 0x7fc63400f3b8) = 0 +43939470474481:43939470475113 26086:26091 hsa_system_get_info(2, 0x7fc63400f3c0) = 0 +43939470475871:43939470476505 26086:26091 hsa_system_get_info(2, 0x7fc63400f3c8) = 0 +43939470478015:43939470478646 26086:26091 hsa_system_get_info(2, 0x7fc63400f3d0) = 0 +43939470479399:43939470480029 26086:26091 hsa_system_get_info(2, 0x7fc63400f3d8) = 0 +43939470480787:43939470481414 26086:26091 hsa_system_get_info(2, 0x7fc63400f3e0) = 0 +43939470482176:43939470482809 26086:26091 hsa_system_get_info(2, 0x7fc63400f3e8) = 0 +43939470483567:43939470484190 26086:26091 hsa_system_get_info(2, 0x7fc63400f3f0) = 0 +43939470484948:43939470485577 26086:26091 hsa_system_get_info(2, 0x7fc63400f3f8) = 0 +43939470486329:43939470486952 26086:26091 hsa_system_get_info(2, 0x7fc63400f400) = 0 +43939470487708:43939470488340 26086:26091 hsa_system_get_info(2, 0x7fc63400f408) = 0 +43939470489099:43939470489724 26086:26091 hsa_system_get_info(2, 0x7fc63400f410) = 0 +43939470490483:43939470491114 26086:26091 hsa_system_get_info(2, 0x7fc63400f418) = 0 +43939470491875:43939470492507 26086:26091 hsa_system_get_info(2, 0x7fc63400f420) = 0 +43939470493273:43939470493905 26086:26091 hsa_system_get_info(2, 0x7fc63400f428) = 0 +43939470494685:43939470495324 26086:26091 hsa_system_get_info(2, 0x7fc63400f430) = 0 +43939470496075:43939470496698 26086:26091 hsa_system_get_info(2, 0x7fc63400f438) = 0 +43939470497458:43939470498087 26086:26091 hsa_system_get_info(2, 0x7fc63400f440) = 0 +43939470498840:43939470499468 26086:26091 hsa_system_get_info(2, 0x7fc63400f448) = 0 +43939470500225:43939470500856 26086:26091 hsa_system_get_info(2, 0x7fc63400f450) = 0 +43939470501616:43939470502241 26086:26091 hsa_system_get_info(2, 0x7fc63400f458) = 0 +43939470502996:43939470503626 26086:26091 hsa_system_get_info(2, 0x7fc63400f460) = 0 +43939470504381:43939470505014 26086:26091 hsa_system_get_info(2, 0x7fc63400f468) = 0 +43939470505772:43939470506404 26086:26091 hsa_system_get_info(2, 0x7fc63400f470) = 0 +43939470507161:43939470507790 26086:26091 hsa_system_get_info(2, 0x7fc63400f478) = 0 +43939470508543:43939470509175 26086:26091 hsa_system_get_info(2, 0x7fc63400f480) = 0 +43939470509931:43939470510557 26086:26091 hsa_system_get_info(2, 0x7fc63400f488) = 0 +43939470511317:43939470511950 26086:26091 hsa_system_get_info(2, 0x7fc63400f490) = 0 +43939470512705:43939470513342 26086:26091 hsa_system_get_info(2, 0x7fc63400f498) = 0 +43939470514094:43939470514719 26086:26091 hsa_system_get_info(2, 0x7fc63400f4a0) = 0 +43939470515488:43939470516117 26086:26091 hsa_system_get_info(2, 0x7fc63400f4a8) = 0 +43939470517630:43939470518261 26086:26091 hsa_system_get_info(2, 0x7fc63400f4b0) = 0 +43939470519015:43939470519650 26086:26091 hsa_system_get_info(2, 0x7fc63400f4b8) = 0 +43939470520401:43939470521028 26086:26091 hsa_system_get_info(2, 0x7fc63400f4c0) = 0 +43939470521787:43939470522411 26086:26091 hsa_system_get_info(2, 0x7fc63400f4c8) = 0 +43939470523168:43939470523799 26086:26091 hsa_system_get_info(2, 0x7fc63400f4d0) = 0 +43939470524553:43939470525181 26086:26091 hsa_system_get_info(2, 0x7fc63400f4d8) = 0 +43939470525939:43939470526565 26086:26091 hsa_system_get_info(2, 0x7fc63400f4e0) = 0 +43939470527322:43939470527955 26086:26091 hsa_system_get_info(2, 0x7fc63400f4e8) = 0 +43939470528715:43939470529345 26086:26091 hsa_system_get_info(2, 0x7fc63400f4f0) = 0 +43939470530102:43939470530736 26086:26091 hsa_system_get_info(2, 0x7fc63400f4f8) = 0 +43939470531494:43939470532127 26086:26091 hsa_system_get_info(2, 0x7fc63400f500) = 0 +43939470532883:43939470533510 26086:26091 hsa_system_get_info(2, 0x7fc63400f508) = 0 +43939470534275:43939470534906 26086:26091 hsa_system_get_info(2, 0x7fc63400f510) = 0 +43939470535678:43939470536305 26086:26091 hsa_system_get_info(2, 0x7fc63400f518) = 0 +43939470537060:43939470537689 26086:26091 hsa_system_get_info(2, 0x7fc63400f520) = 0 +43939470538466:43939470539093 26086:26091 hsa_system_get_info(2, 0x7fc63400f528) = 0 +43939470539851:43939470540481 26086:26091 hsa_system_get_info(2, 0x7fc63400f530) = 0 +43939470541237:43939470541862 26086:26091 hsa_system_get_info(2, 0x7fc63400f538) = 0 +43939470542618:43939470543244 26086:26091 hsa_system_get_info(2, 0x7fc63400f540) = 0 +43939470544000:43939470544626 26086:26091 hsa_system_get_info(2, 0x7fc63400f548) = 0 +43939470545381:43939470546007 26086:26091 hsa_system_get_info(2, 0x7fc63400f550) = 0 +43939470546760:43939470547392 26086:26091 hsa_system_get_info(2, 0x7fc63400f558) = 0 +43939470548147:43939470548777 26086:26091 hsa_system_get_info(2, 0x7fc63400f560) = 0 +43939470549534:43939470550163 26086:26091 hsa_system_get_info(2, 0x7fc63400f568) = 0 +43939470550916:43939470551539 26086:26091 hsa_system_get_info(2, 0x7fc63400f570) = 0 +43939470552295:43939470552925 26086:26091 hsa_system_get_info(2, 0x7fc63400f578) = 0 +43939470553679:43939470554310 26086:26091 hsa_system_get_info(2, 0x7fc63400f580) = 0 +43939470555066:43939470555701 26086:26091 hsa_system_get_info(2, 0x7fc63400f588) = 0 +43939470556460:43939470557091 26086:26091 hsa_system_get_info(2, 0x7fc63400f590) = 0 +43939470558647:43939470559283 26086:26091 hsa_system_get_info(2, 0x7fc63400f598) = 0 +43939470560041:43939470560665 26086:26091 hsa_system_get_info(2, 0x7fc63400f5a0) = 0 +43939470561421:43939470562050 26086:26091 hsa_system_get_info(2, 0x7fc63400f5a8) = 0 +43939470562806:43939470563431 26086:26091 hsa_system_get_info(2, 0x7fc63400f5b0) = 0 +43939470564193:43939470564831 26086:26091 hsa_system_get_info(2, 0x7fc63400f5b8) = 0 +43939470565593:43939470566226 26086:26091 hsa_system_get_info(2, 0x7fc63400f5c0) = 0 +43939470566984:43939470567619 26086:26091 hsa_system_get_info(2, 0x7fc63400f5c8) = 0 +43939470568377:43939470569000 26086:26091 hsa_system_get_info(2, 0x7fc63400f5d0) = 0 +43939470569760:43939470570390 26086:26091 hsa_system_get_info(2, 0x7fc63400f5d8) = 0 +43939470571148:43939470571781 26086:26091 hsa_system_get_info(2, 0x7fc63400f5e0) = 0 +43939470572540:43939470573176 26086:26091 hsa_system_get_info(2, 0x7fc63400f5e8) = 0 +43939470573959:43939470574589 26086:26091 hsa_system_get_info(2, 0x7fc63400f5f0) = 0 +43939470575344:43939470575977 26086:26091 hsa_system_get_info(2, 0x7fc63400f5f8) = 0 +43939470576744:43939470577368 26086:26091 hsa_system_get_info(2, 0x7fc63400f600) = 0 +43939470578123:43939470578753 26086:26091 hsa_system_get_info(2, 0x7fc63400f608) = 0 +43939470579507:43939470580142 26086:26091 hsa_system_get_info(2, 0x7fc63400f610) = 0 +43939470580894:43939470581522 26086:26091 hsa_system_get_info(2, 0x7fc63400f618) = 0 +43939470582277:43939470582914 26086:26091 hsa_system_get_info(2, 0x7fc63400f620) = 0 +43939470583667:43939470584292 26086:26091 hsa_system_get_info(2, 0x7fc63400f628) = 0 +43939470585047:43939470585680 26086:26091 hsa_system_get_info(2, 0x7fc63400f630) = 0 +43939470586441:43939470587064 26086:26091 hsa_system_get_info(2, 0x7fc63400f638) = 0 +43939470587816:43939470588439 26086:26091 hsa_system_get_info(2, 0x7fc63400f640) = 0 +43939470589195:43939470589819 26086:26091 hsa_system_get_info(2, 0x7fc63400f648) = 0 +43939470590588:43939470591216 26086:26091 hsa_system_get_info(2, 0x7fc63400f650) = 0 +43939470591970:43939470592598 26086:26091 hsa_system_get_info(2, 0x7fc63400f658) = 0 +43939470593354:43939470593981 26086:26091 hsa_system_get_info(2, 0x7fc63400f660) = 0 +43939470594732:43939470595359 26086:26091 hsa_system_get_info(2, 0x7fc63400f668) = 0 +43939470596112:43939470596731 26086:26091 hsa_system_get_info(2, 0x7fc63400f670) = 0 +43939470598242:43939470598875 26086:26091 hsa_system_get_info(2, 0x7fc63400f678) = 0 +43939470599634:43939470600258 26086:26091 hsa_system_get_info(2, 0x7fc63400f680) = 0 +43939470601025:43939470601663 26086:26091 hsa_system_get_info(2, 0x7fc63400f688) = 0 +43939470602423:43939470603054 26086:26091 hsa_system_get_info(2, 0x7fc63400f690) = 0 +43939470603808:43939470604436 26086:26091 hsa_system_get_info(2, 0x7fc63400f698) = 0 +43939470605194:43939470605814 26086:26091 hsa_system_get_info(2, 0x7fc63400f6a0) = 0 +43939470606567:43939470607195 26086:26091 hsa_system_get_info(2, 0x7fc63400f6a8) = 0 +43939470607947:43939470608573 26086:26091 hsa_system_get_info(2, 0x7fc63400f6b0) = 0 +43939470609331:43939470609954 26086:26091 hsa_system_get_info(2, 0x7fc63400f6b8) = 0 +43939470610712:43939470611337 26086:26091 hsa_system_get_info(2, 0x7fc63400f6c0) = 0 +43939470612095:43939470612723 26086:26091 hsa_system_get_info(2, 0x7fc63400f6c8) = 0 +43939470613480:43939470614109 26086:26091 hsa_system_get_info(2, 0x7fc63400f6d0) = 0 +43939470614872:43939470615510 26086:26091 hsa_system_get_info(2, 0x7fc63400f6d8) = 0 +43939470616271:43939470616903 26086:26091 hsa_system_get_info(2, 0x7fc63400f6e0) = 0 +43939470617659:43939470618306 26086:26091 hsa_system_get_info(2, 0x7fc63400f6e8) = 0 +43939470619063:43939470619693 26086:26091 hsa_system_get_info(2, 0x7fc63400f6f0) = 0 +43939470620449:43939470621079 26086:26091 hsa_system_get_info(2, 0x7fc63400f6f8) = 0 +43939470621834:43939470622466 26086:26091 hsa_system_get_info(2, 0x7fc63400f700) = 0 +43939470623220:43939470623857 26086:26091 hsa_system_get_info(2, 0x7fc63400f708) = 0 +43939470624612:43939470625249 26086:26091 hsa_system_get_info(2, 0x7fc63400f710) = 0 +43939470626003:43939470626636 26086:26091 hsa_system_get_info(2, 0x7fc63400f718) = 0 +43939470627392:43939470628024 26086:26091 hsa_system_get_info(2, 0x7fc63400f720) = 0 +43939470628784:43939470629418 26086:26091 hsa_system_get_info(2, 0x7fc63400f728) = 0 +43939470630172:43939470630800 26086:26091 hsa_system_get_info(2, 0x7fc63400f730) = 0 +43939470631572:43939470632204 26086:26091 hsa_system_get_info(2, 0x7fc63400f738) = 0 +43939470632962:43939470633592 26086:26091 hsa_system_get_info(2, 0x7fc63400f740) = 0 +43939470634345:43939470634969 26086:26091 hsa_system_get_info(2, 0x7fc63400f748) = 0 +43939470635726:43939470636354 26086:26091 hsa_system_get_info(2, 0x7fc63400f750) = 0 +43939470638657:43939470639286 26086:26091 hsa_system_get_info(2, 0x7fc63400f758) = 0 +43939470640044:43939470640674 26086:26091 hsa_system_get_info(2, 0x7fc63400f760) = 0 +43939470641427:43939470642050 26086:26091 hsa_system_get_info(2, 0x7fc63400f768) = 0 +43939470642808:43939470643438 26086:26091 hsa_system_get_info(2, 0x7fc63400f770) = 0 +43939470644201:43939470644823 26086:26091 hsa_system_get_info(2, 0x7fc63400f778) = 0 +43939470645578:43939470646203 26086:26091 hsa_system_get_info(2, 0x7fc63400f780) = 0 +43939470646964:43939470647595 26086:26091 hsa_system_get_info(2, 0x7fc63400f788) = 0 +43939470648353:43939470648984 26086:26091 hsa_system_get_info(2, 0x7fc63400f790) = 0 +43939470649743:43939470650376 26086:26091 hsa_system_get_info(2, 0x7fc63400f798) = 0 +43939470651133:43939470651763 26086:26091 hsa_system_get_info(2, 0x7fc63400f7a0) = 0 +43939470652521:43939470653152 26086:26091 hsa_system_get_info(2, 0x7fc63400f7a8) = 0 +43939470653925:43939470654556 26086:26091 hsa_system_get_info(2, 0x7fc63400f7b0) = 0 +43939470655328:43939470655961 26086:26091 hsa_system_get_info(2, 0x7fc63400f7b8) = 0 +43939470656718:43939470657351 26086:26091 hsa_system_get_info(2, 0x7fc63400f7c0) = 0 +43939470658106:43939470658738 26086:26091 hsa_system_get_info(2, 0x7fc63400f7c8) = 0 +43939470659490:43939470660120 26086:26091 hsa_system_get_info(2, 0x7fc63400f7d0) = 0 +43939470660873:43939470661507 26086:26091 hsa_system_get_info(2, 0x7fc63400f7d8) = 0 +43939470662269:43939470662900 26086:26091 hsa_system_get_info(2, 0x7fc63400f7e0) = 0 +43939470663658:43939470664288 26086:26091 hsa_system_get_info(2, 0x7fc63400f7e8) = 0 +43939470665044:43939470665674 26086:26091 hsa_system_get_info(2, 0x7fc63400f7f0) = 0 +43939470666431:43939470667055 26086:26091 hsa_system_get_info(2, 0x7fc63400f7f8) = 0 +43939470667814:43939470668443 26086:26091 hsa_system_get_info(2, 0x7fc63400f800) = 0 +43939470669198:43939470669834 26086:26091 hsa_system_get_info(2, 0x7fc63400f808) = 0 +43939470670587:43939470671217 26086:26091 hsa_system_get_info(2, 0x7fc63400f810) = 0 +43939470671974:43939470672597 26086:26091 hsa_system_get_info(2, 0x7fc63400f818) = 0 +43939470673356:43939470673997 26086:26091 hsa_system_get_info(2, 0x7fc63400f820) = 0 +43939470674774:43939470675401 26086:26091 hsa_system_get_info(2, 0x7fc63400f828) = 0 +43939470676159:43939470676783 26086:26091 hsa_system_get_info(2, 0x7fc63400f830) = 0 +43939470677537:43939470678167 26086:26091 hsa_system_get_info(2, 0x7fc63400f838) = 0 +43939470679640:43939470680290 26086:26091 hsa_system_get_info(2, 0x7fc63400f840) = 0 +43939470681043:43939470681670 26086:26091 hsa_system_get_info(2, 0x7fc63400f848) = 0 +43939470682423:43939470683050 26086:26091 hsa_system_get_info(2, 0x7fc63400f850) = 0 +43939470683812:43939470684442 26086:26091 hsa_system_get_info(2, 0x7fc63400f858) = 0 +43939470685197:43939470685831 26086:26091 hsa_system_get_info(2, 0x7fc63400f860) = 0 +43939470686588:43939470687222 26086:26091 hsa_system_get_info(2, 0x7fc63400f868) = 0 +43939470687978:43939470688609 26086:26091 hsa_system_get_info(2, 0x7fc63400f870) = 0 +43939470689365:43939470689993 26086:26091 hsa_system_get_info(2, 0x7fc63400f878) = 0 +43939470690748:43939470691384 26086:26091 hsa_system_get_info(2, 0x7fc63400f880) = 0 +43939470692139:43939470692768 26086:26091 hsa_system_get_info(2, 0x7fc63400f888) = 0 +43939470693525:43939470694156 26086:26091 hsa_system_get_info(2, 0x7fc63400f890) = 0 +43939470694911:43939470695540 26086:26091 hsa_system_get_info(2, 0x7fc63400f898) = 0 +43939470696302:43939470696930 26086:26091 hsa_system_get_info(2, 0x7fc63400f8a0) = 0 +43939470697685:43939470698320 26086:26091 hsa_system_get_info(2, 0x7fc63400f8a8) = 0 +43939470699094:43939470699725 26086:26091 hsa_system_get_info(2, 0x7fc63400f8b0) = 0 +43939470700484:43939470701113 26086:26091 hsa_system_get_info(2, 0x7fc63400f8b8) = 0 +43939470701877:43939470702510 26086:26091 hsa_system_get_info(2, 0x7fc63400f8c0) = 0 +43939470703268:43939470703902 26086:26091 hsa_system_get_info(2, 0x7fc63400f8c8) = 0 +43939470704669:43939470705303 26086:26091 hsa_system_get_info(2, 0x7fc63400f8d0) = 0 +43939470706055:43939470706679 26086:26091 hsa_system_get_info(2, 0x7fc63400f8d8) = 0 +43939470707435:43939470708063 26086:26091 hsa_system_get_info(2, 0x7fc63400f8e0) = 0 +43939470708818:43939470709446 26086:26091 hsa_system_get_info(2, 0x7fc63400f8e8) = 0 +43939470710202:43939470710837 26086:26091 hsa_system_get_info(2, 0x7fc63400f8f0) = 0 +43939470711593:43939470712229 26086:26091 hsa_system_get_info(2, 0x7fc63400f8f8) = 0 +43939470712989:43939470713622 26086:26091 hsa_system_get_info(2, 0x7fc63400f900) = 0 +43939470714379:43939470715007 26086:26091 hsa_system_get_info(2, 0x7fc63400f908) = 0 +43939470715763:43939470716391 26086:26091 hsa_system_get_info(2, 0x7fc63400f910) = 0 +43939470717144:43939470717771 26086:26091 hsa_system_get_info(2, 0x7fc63400f918) = 0 +43939470719832:43939470720464 26086:26091 hsa_system_get_info(2, 0x7fc63400f920) = 0 +43939470721222:43939470721854 26086:26091 hsa_system_get_info(2, 0x7fc63400f928) = 0 +43939470722608:43939470723236 26086:26091 hsa_system_get_info(2, 0x7fc63400f930) = 0 +43939470723992:43939470724616 26086:26091 hsa_system_get_info(2, 0x7fc63400f938) = 0 +43939470725374:43939470725998 26086:26091 hsa_system_get_info(2, 0x7fc63400f940) = 0 +43939470726758:43939470727388 26086:26091 hsa_system_get_info(2, 0x7fc63400f948) = 0 +43939470728147:43939470728778 26086:26091 hsa_system_get_info(2, 0x7fc63400f950) = 0 +43939470729532:43939470730157 26086:26091 hsa_system_get_info(2, 0x7fc63400f958) = 0 +43939470730916:43939470731541 26086:26091 hsa_system_get_info(2, 0x7fc63400f960) = 0 +43939470732300:43939470732925 26086:26091 hsa_system_get_info(2, 0x7fc63400f968) = 0 +43939470733684:43939470734310 26086:26091 hsa_system_get_info(2, 0x7fc63400f970) = 0 +43939470735081:43939470735715 26086:26091 hsa_system_get_info(2, 0x7fc63400f978) = 0 +43939470736477:43939470737107 26086:26091 hsa_system_get_info(2, 0x7fc63400f980) = 0 +43939470737863:43939470738493 26086:26091 hsa_system_get_info(2, 0x7fc63400f988) = 0 +43939470739248:43939470739873 26086:26091 hsa_system_get_info(2, 0x7fc63400f990) = 0 +43939470740632:43939470741258 26086:26091 hsa_system_get_info(2, 0x7fc63400f998) = 0 +43939470742013:43939470742640 26086:26091 hsa_system_get_info(2, 0x7fc63400f9a0) = 0 +43939470743397:43939470744024 26086:26091 hsa_system_get_info(2, 0x7fc63400f9a8) = 0 +43939470744794:43939470745426 26086:26091 hsa_system_get_info(2, 0x7fc63400f9b0) = 0 +43939470746187:43939470746821 26086:26091 hsa_system_get_info(2, 0x7fc63400f9b8) = 0 +43939470747579:43939470748206 26086:26091 hsa_system_get_info(2, 0x7fc63400f9c0) = 0 +43939470748962:43939470749594 26086:26091 hsa_system_get_info(2, 0x7fc63400f9c8) = 0 +43939470750354:43939470750990 26086:26091 hsa_system_get_info(2, 0x7fc63400f9d0) = 0 +43939470751751:43939470752384 26086:26091 hsa_system_get_info(2, 0x7fc63400f9d8) = 0 +43939470753141:43939470753769 26086:26091 hsa_system_get_info(2, 0x7fc63400f9e0) = 0 +43939470754524:43939470755155 26086:26091 hsa_system_get_info(2, 0x7fc63400f9e8) = 0 +43939470755915:43939470756545 26086:26091 hsa_system_get_info(2, 0x7fc63400f9f0) = 0 +43939470757303:43939470757923 26086:26091 hsa_system_get_info(2, 0x7fc63400f9f8) = 0 +43939470758682:43939470759313 26086:26091 hsa_system_get_info(2, 0x7fc63400fa00) = 0 +43939470760787:43939470761417 26086:26091 hsa_system_get_info(2, 0x7fc63400fa08) = 0 +43939470762170:43939470762797 26086:26091 hsa_system_get_info(2, 0x7fc63400fa10) = 0 +43939470763552:43939470764180 26086:26091 hsa_system_get_info(2, 0x7fc63400fa18) = 0 +43939470764938:43939470765564 26086:26091 hsa_system_get_info(2, 0x7fc63400fa20) = 0 +43939470766323:43939470766950 26086:26091 hsa_system_get_info(2, 0x7fc63400fa28) = 0 +43939470767707:43939470768334 26086:26091 hsa_system_get_info(2, 0x7fc63400fa30) = 0 +43939470769098:43939470769729 26086:26091 hsa_system_get_info(2, 0x7fc63400fa38) = 0 +43939470770476:43939470771106 26086:26091 hsa_system_get_info(2, 0x7fc63400fa40) = 0 +43939470771860:43939470772487 26086:26091 hsa_system_get_info(2, 0x7fc63400fa48) = 0 +43939470773241:43939470773873 26086:26091 hsa_system_get_info(2, 0x7fc63400fa50) = 0 +43939470774628:43939470775259 26086:26091 hsa_system_get_info(2, 0x7fc63400fa58) = 0 +43939470776020:43939470776655 26086:26091 hsa_system_get_info(2, 0x7fc63400fa60) = 0 +43939470777430:43939470778064 26086:26091 hsa_system_get_info(2, 0x7fc63400fa68) = 0 +43939470778819:43939470779451 26086:26091 hsa_system_get_info(2, 0x7fc63400fa70) = 0 +43939470780207:43939470780830 26086:26091 hsa_system_get_info(2, 0x7fc63400fa78) = 0 +43939470781590:43939470782219 26086:26091 hsa_system_get_info(2, 0x7fc63400fa80) = 0 +43939470782974:43939470783598 26086:26091 hsa_system_get_info(2, 0x7fc63400fa88) = 0 +43939470784357:43939470784981 26086:26091 hsa_system_get_info(2, 0x7fc63400fa90) = 0 +43939470785739:43939470786363 26086:26091 hsa_system_get_info(2, 0x7fc63400fa98) = 0 +43939470787120:43939470787743 26086:26091 hsa_system_get_info(2, 0x7fc63400faa0) = 0 +43939470788495:43939470789127 26086:26091 hsa_system_get_info(2, 0x7fc63400faa8) = 0 +43939470789881:43939470790507 26086:26091 hsa_system_get_info(2, 0x7fc63400fab0) = 0 +43939470791263:43939470791889 26086:26091 hsa_system_get_info(2, 0x7fc63400fab8) = 0 +43939470792646:43939470793276 26086:26091 hsa_system_get_info(2, 0x7fc63400fac0) = 0 +43939470794037:43939470794663 26086:26091 hsa_system_get_info(2, 0x7fc63400fac8) = 0 +43939470795421:43939470796055 26086:26091 hsa_system_get_info(2, 0x7fc63400fad0) = 0 +43939470796825:43939470797454 26086:26091 hsa_system_get_info(2, 0x7fc63400fad8) = 0 +43939470798208:43939470798845 26086:26091 hsa_system_get_info(2, 0x7fc63400fae0) = 0 +43939470800311:43939470800943 26086:26091 hsa_system_get_info(2, 0x7fc63400fae8) = 0 +43939470801702:43939470802325 26086:26091 hsa_system_get_info(2, 0x7fc63400faf0) = 0 +43939470803088:43939470803718 26086:26091 hsa_system_get_info(2, 0x7fc63400faf8) = 0 +43939470804472:43939470805096 26086:26091 hsa_system_get_info(2, 0x7fc63400fb00) = 0 +43939470805856:43939470806485 26086:26091 hsa_system_get_info(2, 0x7fc63400fb08) = 0 +43939470807242:43939470807867 26086:26091 hsa_system_get_info(2, 0x7fc63400fb10) = 0 +43939470808624:43939470809256 26086:26091 hsa_system_get_info(2, 0x7fc63400fb18) = 0 +43939470810015:43939470810637 26086:26091 hsa_system_get_info(2, 0x7fc63400fb20) = 0 +43939470811399:43939470812030 26086:26091 hsa_system_get_info(2, 0x7fc63400fb28) = 0 +43939470812788:43939470813411 26086:26091 hsa_system_get_info(2, 0x7fc63400fb30) = 0 +43939470814167:43939470814791 26086:26091 hsa_system_get_info(2, 0x7fc63400fb38) = 0 +43939470815551:43939470816179 26086:26091 hsa_system_get_info(2, 0x7fc63400fb40) = 0 +43939470816937:43939470817569 26086:26091 hsa_system_get_info(2, 0x7fc63400fb48) = 0 +43939470818339:43939470818968 26086:26091 hsa_system_get_info(2, 0x7fc63400fb50) = 0 +43939470819723:43939470820352 26086:26091 hsa_system_get_info(2, 0x7fc63400fb58) = 0 +43939470821105:43939470821730 26086:26091 hsa_system_get_info(2, 0x7fc63400fb60) = 0 +43939470822489:43939470823112 26086:26091 hsa_system_get_info(2, 0x7fc63400fb68) = 0 +43939470823867:43939470824493 26086:26091 hsa_system_get_info(2, 0x7fc63400fb70) = 0 +43939470825248:43939470825873 26086:26091 hsa_system_get_info(2, 0x7fc63400fb78) = 0 +43939470826644:43939470827264 26086:26091 hsa_system_get_info(2, 0x7fc63400fb80) = 0 +43939470828017:43939470828647 26086:26091 hsa_system_get_info(2, 0x7fc63400fb88) = 0 +43939470829403:43939470830034 26086:26091 hsa_system_get_info(2, 0x7fc63400fb90) = 0 +43939470830789:43939470831411 26086:26091 hsa_system_get_info(2, 0x7fc63400fb98) = 0 +43939470832161:43939470832790 26086:26091 hsa_system_get_info(2, 0x7fc63400fba0) = 0 +43939470833553:43939470834177 26086:26091 hsa_system_get_info(2, 0x7fc63400fba8) = 0 +43939470834932:43939470835560 26086:26091 hsa_system_get_info(2, 0x7fc63400fbb0) = 0 +43939470836313:43939470836937 26086:26091 hsa_system_get_info(2, 0x7fc63400fbb8) = 0 +43939470837691:43939470838320 26086:26091 hsa_system_get_info(2, 0x7fc63400fbc0) = 0 +43939470839079:43939470839705 26086:26091 hsa_system_get_info(2, 0x7fc63400fbc8) = 0 +43939470841175:43939470841802 26086:26091 hsa_system_get_info(2, 0x7fc63400fbd0) = 0 +43939470842558:43939470843192 26086:26091 hsa_system_get_info(2, 0x7fc63400fbd8) = 0 +43939470843947:43939470844574 26086:26091 hsa_system_get_info(2, 0x7fc63400fbe0) = 0 +43939470845334:43939470845963 26086:26091 hsa_system_get_info(2, 0x7fc63400fbe8) = 0 +43939470846724:43939470847351 26086:26091 hsa_system_get_info(2, 0x7fc63400fbf0) = 0 +43939470848109:43939470848738 26086:26091 hsa_system_get_info(2, 0x7fc63400fbf8) = 0 +43939470849495:43939470850126 26086:26091 hsa_system_get_info(2, 0x7fc63400fc00) = 0 +43939470850890:43939470851517 26086:26091 hsa_system_get_info(2, 0x7fc63400fc08) = 0 +43939470852277:43939470852900 26086:26091 hsa_system_get_info(2, 0x7fc63400fc10) = 0 +43939470853657:43939470854290 26086:26091 hsa_system_get_info(2, 0x7fc63400fc18) = 0 +43939470855048:43939470855678 26086:26091 hsa_system_get_info(2, 0x7fc63400fc20) = 0 +43939470856433:43939470857059 26086:26091 hsa_system_get_info(2, 0x7fc63400fc28) = 0 +43939470857849:43939470858477 26086:26091 hsa_system_get_info(2, 0x7fc63400fc30) = 0 +43939470859237:43939470859874 26086:26091 hsa_system_get_info(2, 0x7fc63400fc38) = 0 +43939470860632:43939470861259 26086:26091 hsa_system_get_info(2, 0x7fc63400fc40) = 0 +43939470862017:43939470862644 26086:26091 hsa_system_get_info(2, 0x7fc63400fc48) = 0 +43939470863405:43939470864039 26086:26091 hsa_system_get_info(2, 0x7fc63400fc50) = 0 +43939470864798:43939470865436 26086:26091 hsa_system_get_info(2, 0x7fc63400fc58) = 0 +43939470866195:43939470866828 26086:26091 hsa_system_get_info(2, 0x7fc63400fc60) = 0 +43939470867586:43939470868212 26086:26091 hsa_system_get_info(2, 0x7fc63400fc68) = 0 +43939470868966:43939470869593 26086:26091 hsa_system_get_info(2, 0x7fc63400fc70) = 0 +43939470870349:43939470870981 26086:26091 hsa_system_get_info(2, 0x7fc63400fc78) = 0 +43939470871738:43939470872373 26086:26091 hsa_system_get_info(2, 0x7fc63400fc80) = 0 +43939470873130:43939470873760 26086:26091 hsa_system_get_info(2, 0x7fc63400fc88) = 0 +43939470874533:43939470875163 26086:26091 hsa_system_get_info(2, 0x7fc63400fc90) = 0 +43939470875920:43939470876550 26086:26091 hsa_system_get_info(2, 0x7fc63400fc98) = 0 +43939470877307:43939470877937 26086:26091 hsa_system_get_info(2, 0x7fc63400fca0) = 0 +43939470878697:43939470879329 26086:26091 hsa_system_get_info(2, 0x7fc63400fca8) = 0 +43939470880805:43939470881435 26086:26091 hsa_system_get_info(2, 0x7fc63400fcb0) = 0 +43939470882186:43939470882805 26086:26091 hsa_system_get_info(2, 0x7fc63400fcb8) = 0 +43939470883561:43939470884188 26086:26091 hsa_system_get_info(2, 0x7fc63400fcc0) = 0 +43939470884942:43939470885575 26086:26091 hsa_system_get_info(2, 0x7fc63400fcc8) = 0 +43939470886329:43939470886957 26086:26091 hsa_system_get_info(2, 0x7fc63400fcd0) = 0 +43939470887718:43939470888344 26086:26091 hsa_system_get_info(2, 0x7fc63400fcd8) = 0 +43939470889101:43939470889729 26086:26091 hsa_system_get_info(2, 0x7fc63400fce0) = 0 +43939470890482:43939470891108 26086:26091 hsa_system_get_info(2, 0x7fc63400fce8) = 0 +43939470891861:43939470892492 26086:26091 hsa_system_get_info(2, 0x7fc63400fcf0) = 0 +43939470893246:43939470893872 26086:26091 hsa_system_get_info(2, 0x7fc63400fcf8) = 0 +43939470894630:43939470895252 26086:26091 hsa_system_get_info(2, 0x7fc63400fd00) = 0 +43939470896004:43939470896635 26086:26091 hsa_system_get_info(2, 0x7fc63400fd08) = 0 +43939470897389:43939470898017 26086:26091 hsa_system_get_info(2, 0x7fc63400fd10) = 0 +43939470898788:43939470899417 26086:26091 hsa_system_get_info(2, 0x7fc63400fd18) = 0 +43939470900174:43939470900807 26086:26091 hsa_system_get_info(2, 0x7fc63400fd20) = 0 +43939470901564:43939470902189 26086:26091 hsa_system_get_info(2, 0x7fc63400fd28) = 0 +43939470902947:43939470903571 26086:26091 hsa_system_get_info(2, 0x7fc63400fd30) = 0 +43939470904333:43939470904960 26086:26091 hsa_system_get_info(2, 0x7fc63400fd38) = 0 +43939470905720:43939470906355 26086:26091 hsa_system_get_info(2, 0x7fc63400fd40) = 0 +43939470907115:43939470907748 26086:26091 hsa_system_get_info(2, 0x7fc63400fd48) = 0 +43939470908501:43939470909133 26086:26091 hsa_system_get_info(2, 0x7fc63400fd50) = 0 +43939470909889:43939470910516 26086:26091 hsa_system_get_info(2, 0x7fc63400fd58) = 0 +43939470911273:43939470911920 26086:26091 hsa_system_get_info(2, 0x7fc63400fd60) = 0 +43939470912685:43939470913314 26086:26091 hsa_system_get_info(2, 0x7fc63400fd68) = 0 +43939470914076:43939470914705 26086:26091 hsa_system_get_info(2, 0x7fc63400fd70) = 0 +43939470915486:43939470916116 26086:26091 hsa_system_get_info(2, 0x7fc63400fd78) = 0 +43939470916876:43939470917508 26086:26091 hsa_system_get_info(2, 0x7fc63400fd80) = 0 +43939470918264:43939470918892 26086:26091 hsa_system_get_info(2, 0x7fc63400fd88) = 0 +43939470919651:43939470920281 26086:26091 hsa_system_get_info(2, 0x7fc63400fd90) = 0 +43939470921769:43939470922401 26086:26091 hsa_system_get_info(2, 0x7fc63400fd98) = 0 +43939470923160:43939470923785 26086:26091 hsa_system_get_info(2, 0x7fc63400fda0) = 0 +43939470924538:43939470925165 26086:26091 hsa_system_get_info(2, 0x7fc63400fda8) = 0 +43939470925922:43939470926555 26086:26091 hsa_system_get_info(2, 0x7fc63400fdb0) = 0 +43939470927313:43939470927946 26086:26091 hsa_system_get_info(2, 0x7fc63400fdb8) = 0 +43939470928704:43939470929327 26086:26091 hsa_system_get_info(2, 0x7fc63400fdc0) = 0 +43939470930086:43939470930707 26086:26091 hsa_system_get_info(2, 0x7fc63400fdc8) = 0 +43939470931467:43939470932095 26086:26091 hsa_system_get_info(2, 0x7fc63400fdd0) = 0 +43939470932853:43939470933478 26086:26091 hsa_system_get_info(2, 0x7fc63400fdd8) = 0 +43939470934235:43939470934864 26086:26091 hsa_system_get_info(2, 0x7fc63400fde0) = 0 +43939470935640:43939470936259 26086:26091 hsa_system_get_info(2, 0x7fc63400fde8) = 0 +43939470937071:43939470937695 26086:26091 hsa_system_get_info(2, 0x7fc63400fdf0) = 0 +43939470938458:43939470939086 26086:26091 hsa_system_get_info(2, 0x7fc63400fdf8) = 0 +43939470939849:43939470940478 26086:26091 hsa_system_get_info(2, 0x7fc63400fe00) = 0 +43939470941241:43939470941872 26086:26091 hsa_system_get_info(2, 0x7fc63400fe08) = 0 +43939470942634:43939470943265 26086:26091 hsa_system_get_info(2, 0x7fc63400fe10) = 0 +43939470944026:43939470944656 26086:26091 hsa_system_get_info(2, 0x7fc63400fe18) = 0 +43939470945415:43939470946041 26086:26091 hsa_system_get_info(2, 0x7fc63400fe20) = 0 +43939470946801:43939470947428 26086:26091 hsa_system_get_info(2, 0x7fc63400fe28) = 0 +43939470948191:43939470948815 26086:26091 hsa_system_get_info(2, 0x7fc63400fe30) = 0 +43939470949577:43939470950204 26086:26091 hsa_system_get_info(2, 0x7fc63400fe38) = 0 +43939470950965:43939470951596 26086:26091 hsa_system_get_info(2, 0x7fc63400fe40) = 0 +43939470952358:43939470952991 26086:26091 hsa_system_get_info(2, 0x7fc63400fe48) = 0 +43939470953750:43939470954369 26086:26091 hsa_system_get_info(2, 0x7fc63400fe50) = 0 +43939470955143:43939470955768 26086:26091 hsa_system_get_info(2, 0x7fc63400fe58) = 0 +43939470956530:43939470957153 26086:26091 hsa_system_get_info(2, 0x7fc63400fe60) = 0 +43939470957913:43939470958539 26086:26091 hsa_system_get_info(2, 0x7fc63400fe68) = 0 +43939470959303:43939470959929 26086:26091 hsa_system_get_info(2, 0x7fc63400fe70) = 0 +43939470961434:43939470962062 26086:26091 hsa_system_get_info(2, 0x7fc63400fe78) = 0 +43939470962827:43939470963452 26086:26091 hsa_system_get_info(2, 0x7fc63400fe80) = 0 +43939470964210:43939470964841 26086:26091 hsa_system_get_info(2, 0x7fc63400fe88) = 0 +43939470965603:43939470966232 26086:26091 hsa_system_get_info(2, 0x7fc63400fe90) = 0 +43939470966989:43939470967624 26086:26091 hsa_system_get_info(2, 0x7fc63400fe98) = 0 +43939470968384:43939470969011 26086:26091 hsa_system_get_info(2, 0x7fc63400fea0) = 0 +43939470969774:43939470970407 26086:26091 hsa_system_get_info(2, 0x7fc63400fea8) = 0 +43939470971174:43939470971808 26086:26091 hsa_system_get_info(2, 0x7fc63400feb0) = 0 +43939470972568:43939470973192 26086:26091 hsa_system_get_info(2, 0x7fc63400feb8) = 0 +43939470973953:43939470974581 26086:26091 hsa_system_get_info(2, 0x7fc63400fec0) = 0 +43939470975343:43939470975970 26086:26091 hsa_system_get_info(2, 0x7fc63400fec8) = 0 +43939470976731:43939470977354 26086:26091 hsa_system_get_info(2, 0x7fc63400fed0) = 0 +43939470978121:43939470978744 26086:26091 hsa_system_get_info(2, 0x7fc63400fed8) = 0 +43939470979504:43939470980147 26086:26091 hsa_system_get_info(2, 0x7fc63400fee0) = 0 +43939470980907:43939470981533 26086:26091 hsa_system_get_info(2, 0x7fc63400fee8) = 0 +43939470982292:43939470982924 26086:26091 hsa_system_get_info(2, 0x7fc63400fef0) = 0 +43939470983682:43939470984312 26086:26091 hsa_system_get_info(2, 0x7fc63400fef8) = 0 +43939470985070:43939470985698 26086:26091 hsa_system_get_info(2, 0x7fc63400ff00) = 0 +43939470986459:43939470987088 26086:26091 hsa_system_get_info(2, 0x7fc63400ff08) = 0 +43939470987849:43939470988478 26086:26091 hsa_system_get_info(2, 0x7fc63400ff10) = 0 +43939470989245:43939470989871 26086:26091 hsa_system_get_info(2, 0x7fc63400ff18) = 0 +43939470990637:43939470991268 26086:26091 hsa_system_get_info(2, 0x7fc63400ff20) = 0 +43939470992036:43939470992668 26086:26091 hsa_system_get_info(2, 0x7fc63400ff28) = 0 +43939470993431:43939470994061 26086:26091 hsa_system_get_info(2, 0x7fc63400ff30) = 0 +43939470994821:43939470995450 26086:26091 hsa_system_get_info(2, 0x7fc63400ff38) = 0 +43939470996211:43939470996840 26086:26091 hsa_system_get_info(2, 0x7fc63400ff40) = 0 +43939470997600:43939470998230 26086:26091 hsa_system_get_info(2, 0x7fc63400ff48) = 0 +43939470999003:43939470999634 26086:26091 hsa_system_get_info(2, 0x7fc63400ff50) = 0 +43939471001106:43939471001744 26086:26091 hsa_system_get_info(2, 0x7fc63400ff58) = 0 +43939471002510:43939471003144 26086:26091 hsa_system_get_info(2, 0x7fc63400ff60) = 0 +43939471003907:43939471004538 26086:26091 hsa_system_get_info(2, 0x7fc63400ff68) = 0 +43939471005298:43939471005922 26086:26091 hsa_system_get_info(2, 0x7fc63400ff70) = 0 +43939471006685:43939471007313 26086:26091 hsa_system_get_info(2, 0x7fc63400ff78) = 0 +43939471008077:43939471008703 26086:26091 hsa_system_get_info(2, 0x7fc63400ff80) = 0 +43939471009461:43939471010093 26086:26091 hsa_system_get_info(2, 0x7fc63400ff88) = 0 +43939471010857:43939471011482 26086:26091 hsa_system_get_info(2, 0x7fc63400ff90) = 0 +43939471012248:43939471012876 26086:26091 hsa_system_get_info(2, 0x7fc63400ff98) = 0 +43939471013639:43939471014277 26086:26091 hsa_system_get_info(2, 0x7fc63400ffa0) = 0 +43939471015035:43939471015670 26086:26091 hsa_system_get_info(2, 0x7fc63400ffa8) = 0 +43939471016440:43939471017072 26086:26091 hsa_system_get_info(2, 0x7fc63400ffb0) = 0 +43939471017839:43939471018467 26086:26091 hsa_system_get_info(2, 0x7fc63400ffb8) = 0 +43939471019244:43939471019876 26086:26091 hsa_system_get_info(2, 0x7fc63400ffc0) = 0 +43939471020639:43939471021266 26086:26091 hsa_system_get_info(2, 0x7fc63400ffc8) = 0 +43939471022028:43939471022658 26086:26091 hsa_system_get_info(2, 0x7fc63400ffd0) = 0 +43939471023419:43939471024049 26086:26091 hsa_system_get_info(2, 0x7fc63400ffd8) = 0 +43939471024818:43939471025446 26086:26091 hsa_system_get_info(2, 0x7fc63400ffe0) = 0 +43939471026207:43939471026837 26086:26091 hsa_system_get_info(2, 0x7fc63400ffe8) = 0 +43939471027598:43939471028223 26086:26091 hsa_system_get_info(2, 0x7fc63400fff0) = 0 +43939471028985:43939471029614 26086:26091 hsa_system_get_info(2, 0x7fc63400fff8) = 0 +43939471030375:43939471031006 26086:26091 hsa_system_get_info(2, 0x7fc634010000) = 0 +43939471031767:43939471032395 26086:26091 hsa_system_get_info(2, 0x7fc634010008) = 0 +43939471033160:43939471033797 26086:26091 hsa_system_get_info(2, 0x7fc634010010) = 0 +43939471034562:43939471035198 26086:26091 hsa_system_get_info(2, 0x7fc634010018) = 0 +43939471035959:43939471036589 26086:26091 hsa_system_get_info(2, 0x7fc634010020) = 0 +43939471037346:43939471037974 26086:26091 hsa_system_get_info(2, 0x7fc634010028) = 0 +43939471038751:43939471039377 26086:26091 hsa_system_get_info(2, 0x7fc634010030) = 0 +43939471040141:43939471040771 26086:26091 hsa_system_get_info(2, 0x7fc634010038) = 0 +43939471042248:43939471042881 26086:26091 hsa_system_get_info(2, 0x7fc634010040) = 0 +43939471043648:43939471044274 26086:26091 hsa_system_get_info(2, 0x7fc634010048) = 0 +43939471045038:43939471045661 26086:26091 hsa_system_get_info(2, 0x7fc634010050) = 0 +43939471046421:43939471047060 26086:26091 hsa_system_get_info(2, 0x7fc634010058) = 0 +43939471047818:43939471048449 26086:26091 hsa_system_get_info(2, 0x7fc634010060) = 0 +43939471049212:43939471049840 26086:26091 hsa_system_get_info(2, 0x7fc634010068) = 0 +43939471050602:43939471051232 26086:26091 hsa_system_get_info(2, 0x7fc634010070) = 0 +43939471051996:43939471052631 26086:26091 hsa_system_get_info(2, 0x7fc634010078) = 0 +43939471053393:43939471054022 26086:26091 hsa_system_get_info(2, 0x7fc634010080) = 0 +43939471054783:43939471055408 26086:26091 hsa_system_get_info(2, 0x7fc634010088) = 0 +43939471056170:43939471056800 26086:26091 hsa_system_get_info(2, 0x7fc634010090) = 0 +43939471057560:43939471058191 26086:26091 hsa_system_get_info(2, 0x7fc634010098) = 0 +43939471058951:43939471059578 26086:26091 hsa_system_get_info(2, 0x7fc6340100a0) = 0 +43939471060351:43939471060978 26086:26091 hsa_system_get_info(2, 0x7fc6340100a8) = 0 +43939471061741:43939471062371 26086:26091 hsa_system_get_info(2, 0x7fc6340100b0) = 0 +43939471063148:43939471063773 26086:26091 hsa_system_get_info(2, 0x7fc6340100b8) = 0 +43939471064540:43939471065168 26086:26091 hsa_system_get_info(2, 0x7fc6340100c0) = 0 +43939471065925:43939471066556 26086:26091 hsa_system_get_info(2, 0x7fc6340100c8) = 0 +43939471067317:43939471067946 26086:26091 hsa_system_get_info(2, 0x7fc6340100d0) = 0 +43939471068706:43939471069338 26086:26091 hsa_system_get_info(2, 0x7fc6340100d8) = 0 +43939471070098:43939471070725 26086:26091 hsa_system_get_info(2, 0x7fc6340100e0) = 0 +43939471071489:43939471072124 26086:26091 hsa_system_get_info(2, 0x7fc6340100e8) = 0 +43939471072883:43939471073515 26086:26091 hsa_system_get_info(2, 0x7fc6340100f0) = 0 +43939471074274:43939471074907 26086:26091 hsa_system_get_info(2, 0x7fc6340100f8) = 0 +43939471075669:43939471076297 26086:26091 hsa_system_get_info(2, 0x7fc634010100) = 0 +43939471077062:43939471077698 26086:26091 hsa_system_get_info(2, 0x7fc634010108) = 0 +43939471078461:43939471079087 26086:26091 hsa_system_get_info(2, 0x7fc634010110) = 0 +43939471079849:43939471080481 26086:26091 hsa_system_get_info(2, 0x7fc634010118) = 0 +43939471082020:43939471082653 26086:26091 hsa_system_get_info(2, 0x7fc634010120) = 0 +43939471083420:43939471084053 26086:26091 hsa_system_get_info(2, 0x7fc634010128) = 0 +43939471084814:43939471085437 26086:26091 hsa_system_get_info(2, 0x7fc634010130) = 0 +43939471086204:43939471086835 26086:26091 hsa_system_get_info(2, 0x7fc634010138) = 0 +43939471087597:43939471088219 26086:26091 hsa_system_get_info(2, 0x7fc634010140) = 0 +43939471088982:43939471089612 26086:26091 hsa_system_get_info(2, 0x7fc634010148) = 0 +43939471090370:43939471090998 26086:26091 hsa_system_get_info(2, 0x7fc634010150) = 0 +43939471091760:43939471092386 26086:26091 hsa_system_get_info(2, 0x7fc634010158) = 0 +43939471093141:43939471093761 26086:26091 hsa_system_get_info(2, 0x7fc634010160) = 0 +43939471094525:43939471095147 26086:26091 hsa_system_get_info(2, 0x7fc634010168) = 0 +43939471095906:43939471096531 26086:26091 hsa_system_get_info(2, 0x7fc634010170) = 0 +43939471097293:43939471097921 26086:26091 hsa_system_get_info(2, 0x7fc634010178) = 0 +43939471098688:43939471099320 26086:26091 hsa_system_get_info(2, 0x7fc634010180) = 0 +43939471100096:43939471100725 26086:26091 hsa_system_get_info(2, 0x7fc634010188) = 0 +43939471101489:43939471102120 26086:26091 hsa_system_get_info(2, 0x7fc634010190) = 0 +43939471102884:43939471103518 26086:26091 hsa_system_get_info(2, 0x7fc634010198) = 0 +43939471104278:43939471104912 26086:26091 hsa_system_get_info(2, 0x7fc6340101a0) = 0 +43939471105675:43939471106306 26086:26091 hsa_system_get_info(2, 0x7fc6340101a8) = 0 +43939471107065:43939471107696 26086:26091 hsa_system_get_info(2, 0x7fc6340101b0) = 0 +43939471108463:43939471109087 26086:26091 hsa_system_get_info(2, 0x7fc6340101b8) = 0 +43939471109847:43939471110472 26086:26091 hsa_system_get_info(2, 0x7fc6340101c0) = 0 +43939471111236:43939471111865 26086:26091 hsa_system_get_info(2, 0x7fc6340101c8) = 0 +43939471112631:43939471113268 26086:26091 hsa_system_get_info(2, 0x7fc6340101d0) = 0 +43939471114031:43939471114661 26086:26091 hsa_system_get_info(2, 0x7fc6340101d8) = 0 +43939471115420:43939471116048 26086:26091 hsa_system_get_info(2, 0x7fc6340101e0) = 0 +43939471116808:43939471117431 26086:26091 hsa_system_get_info(2, 0x7fc6340101e8) = 0 +43939471118209:43939471118834 26086:26091 hsa_system_get_info(2, 0x7fc6340101f0) = 0 +43939471119595:43939471120220 26086:26091 hsa_system_get_info(2, 0x7fc6340101f8) = 0 +43939471120982:43939471121608 26086:26091 hsa_system_get_info(2, 0x7fc634010200) = 0 +43939471123143:43939471123775 26086:26091 hsa_system_get_info(2, 0x7fc634010208) = 0 +43939471124536:43939471125158 26086:26091 hsa_system_get_info(2, 0x7fc634010210) = 0 +43939471125918:43939471126541 26086:26091 hsa_system_get_info(2, 0x7fc634010218) = 0 +43939471127297:43939471127925 26086:26091 hsa_system_get_info(2, 0x7fc634010220) = 0 +43939471128687:43939471129311 26086:26091 hsa_system_get_info(2, 0x7fc634010228) = 0 +43939471130071:43939471130704 26086:26091 hsa_system_get_info(2, 0x7fc634010230) = 0 +43939471131468:43939471132092 26086:26091 hsa_system_get_info(2, 0x7fc634010238) = 0 +43939471132855:43939471133488 26086:26091 hsa_system_get_info(2, 0x7fc634010240) = 0 +43939471134251:43939471134881 26086:26091 hsa_system_get_info(2, 0x7fc634010248) = 0 +43939471135643:43939471136271 26086:26091 hsa_system_get_info(2, 0x7fc634010250) = 0 +43939471137032:43939471137665 26086:26091 hsa_system_get_info(2, 0x7fc634010258) = 0 +43939471138424:43939471139051 26086:26091 hsa_system_get_info(2, 0x7fc634010260) = 0 +43939471139815:43939471140444 26086:26091 hsa_system_get_info(2, 0x7fc634010268) = 0 +43939471141215:43939471141840 26086:26091 hsa_system_get_info(2, 0x7fc634010270) = 0 +43939471142600:43939471143224 26086:26091 hsa_system_get_info(2, 0x7fc634010278) = 0 +43939471143984:43939471144617 26086:26091 hsa_system_get_info(2, 0x7fc634010280) = 0 +43939471145375:43939471146002 26086:26091 hsa_system_get_info(2, 0x7fc634010288) = 0 +43939471146775:43939471147403 26086:26091 hsa_system_get_info(2, 0x7fc634010290) = 0 +43939471148167:43939471148791 26086:26091 hsa_system_get_info(2, 0x7fc634010298) = 0 +43939471149551:43939471150178 26086:26091 hsa_system_get_info(2, 0x7fc6340102a0) = 0 +43939471150940:43939471151572 26086:26091 hsa_system_get_info(2, 0x7fc6340102a8) = 0 +43939471152332:43939471152961 26086:26091 hsa_system_get_info(2, 0x7fc6340102b0) = 0 +43939471153720:43939471154344 26086:26091 hsa_system_get_info(2, 0x7fc6340102b8) = 0 +43939471155103:43939471155735 26086:26091 hsa_system_get_info(2, 0x7fc6340102c0) = 0 +43939471156492:43939471157121 26086:26091 hsa_system_get_info(2, 0x7fc6340102c8) = 0 +43939471157882:43939471158509 26086:26091 hsa_system_get_info(2, 0x7fc6340102d0) = 0 +43939471159276:43939471159899 26086:26091 hsa_system_get_info(2, 0x7fc6340102d8) = 0 +43939471160660:43939471161295 26086:26091 hsa_system_get_info(2, 0x7fc6340102e0) = 0 +43939471162771:43939471163408 26086:26091 hsa_system_get_info(2, 0x7fc6340102e8) = 0 +43939471164172:43939471164808 26086:26091 hsa_system_get_info(2, 0x7fc6340102f0) = 0 +43939471165569:43939471166199 26086:26091 hsa_system_get_info(2, 0x7fc6340102f8) = 0 +43939471166961:43939471167582 26086:26091 hsa_system_get_info(2, 0x7fc634010300) = 0 +43939471168342:43939471168971 26086:26091 hsa_system_get_info(2, 0x7fc634010308) = 0 +43939471169728:43939471170355 26086:26091 hsa_system_get_info(2, 0x7fc634010310) = 0 +43939471171116:43939471171742 26086:26091 hsa_system_get_info(2, 0x7fc634010318) = 0 +43939471172502:43939471173127 26086:26091 hsa_system_get_info(2, 0x7fc634010320) = 0 +43939471173885:43939471174515 26086:26091 hsa_system_get_info(2, 0x7fc634010328) = 0 +43939471175275:43939471175906 26086:26091 hsa_system_get_info(2, 0x7fc634010330) = 0 +43939471176667:43939471177289 26086:26091 hsa_system_get_info(2, 0x7fc634010338) = 0 +43939471178056:43939471178681 26086:26091 hsa_system_get_info(2, 0x7fc634010340) = 0 +43939471179446:43939471180077 26086:26091 hsa_system_get_info(2, 0x7fc634010348) = 0 +43939471180837:43939471181483 26086:26091 hsa_system_get_info(2, 0x7fc634010350) = 0 +43939471182246:43939471182870 26086:26091 hsa_system_get_info(2, 0x7fc634010358) = 0 +43939471183632:43939471184267 26086:26091 hsa_system_get_info(2, 0x7fc634010360) = 0 +43939471185023:43939471185658 26086:26091 hsa_system_get_info(2, 0x7fc634010368) = 0 +43939471186421:43939471187045 26086:26091 hsa_system_get_info(2, 0x7fc634010370) = 0 +43939471187805:43939471188433 26086:26091 hsa_system_get_info(2, 0x7fc634010378) = 0 +43939471189200:43939471189823 26086:26091 hsa_system_get_info(2, 0x7fc634010380) = 0 +43939471190586:43939471191214 26086:26091 hsa_system_get_info(2, 0x7fc634010388) = 0 +43939471191977:43939471192603 26086:26091 hsa_system_get_info(2, 0x7fc634010390) = 0 +43939471193365:43939471193988 26086:26091 hsa_system_get_info(2, 0x7fc634010398) = 0 +43939471194768:43939471195395 26086:26091 hsa_system_get_info(2, 0x7fc6340103a0) = 0 +43939471196161:43939471196791 26086:26091 hsa_system_get_info(2, 0x7fc6340103a8) = 0 +43939471197551:43939471198186 26086:26091 hsa_system_get_info(2, 0x7fc6340103b0) = 0 +43939471198948:43939471199581 26086:26091 hsa_system_get_info(2, 0x7fc6340103b8) = 0 +43939471200347:43939471200971 26086:26091 hsa_system_get_info(2, 0x7fc6340103c0) = 0 +43939471201739:43939471202361 26086:26091 hsa_system_get_info(2, 0x7fc6340103c8) = 0 +43939471203896:43939471204531 26086:26091 hsa_system_get_info(2, 0x7fc6340103d0) = 0 +43939471205295:43939471205921 26086:26091 hsa_system_get_info(2, 0x7fc6340103d8) = 0 +43939471206677:43939471207312 26086:26091 hsa_system_get_info(2, 0x7fc6340103e0) = 0 +43939471208075:43939471208703 26086:26091 hsa_system_get_info(2, 0x7fc6340103e8) = 0 +43939471209465:43939471210099 26086:26091 hsa_system_get_info(2, 0x7fc6340103f0) = 0 +43939471210878:43939471211502 26086:26091 hsa_system_get_info(2, 0x7fc6340103f8) = 0 +43939471212266:43939471212894 26086:26091 hsa_system_get_info(2, 0x7fc634010400) = 0 +43939471213651:43939471214281 26086:26091 hsa_system_get_info(2, 0x7fc634010408) = 0 +43939471215045:43939471215677 26086:26091 hsa_system_get_info(2, 0x7fc634010410) = 0 +43939471216441:43939471217068 26086:26091 hsa_system_get_info(2, 0x7fc634010418) = 0 +43939471217836:43939471218462 26086:26091 hsa_system_get_info(2, 0x7fc634010420) = 0 +43939471219229:43939471219857 26086:26091 hsa_system_get_info(2, 0x7fc634010428) = 0 +43939471220621:43939471221243 26086:26091 hsa_system_get_info(2, 0x7fc634010430) = 0 +43939471222003:43939471222624 26086:26091 hsa_system_get_info(2, 0x7fc634010438) = 0 +43939471223384:43939471224013 26086:26091 hsa_system_get_info(2, 0x7fc634010440) = 0 +43939471224775:43939471225413 26086:26091 hsa_system_get_info(2, 0x7fc634010448) = 0 +43939471226195:43939471226826 26086:26091 hsa_system_get_info(2, 0x7fc634010450) = 0 +43939471227587:43939471228210 26086:26091 hsa_system_get_info(2, 0x7fc634010458) = 0 +43939471228975:43939471229595 26086:26091 hsa_system_get_info(2, 0x7fc634010460) = 0 +43939471230371:43939471231004 26086:26091 hsa_system_get_info(2, 0x7fc634010468) = 0 +43939471231766:43939471232389 26086:26091 hsa_system_get_info(2, 0x7fc634010470) = 0 +43939471233152:43939471233779 26086:26091 hsa_system_get_info(2, 0x7fc634010478) = 0 +43939471234538:43939471235169 26086:26091 hsa_system_get_info(2, 0x7fc634010480) = 0 +43939471235931:43939471236557 26086:26091 hsa_system_get_info(2, 0x7fc634010488) = 0 +43939471237315:43939471237942 26086:26091 hsa_system_get_info(2, 0x7fc634010490) = 0 +43939471238700:43939471239332 26086:26091 hsa_system_get_info(2, 0x7fc634010498) = 0 +43939471240091:43939471240713 26086:26091 hsa_system_get_info(2, 0x7fc6340104a0) = 0 +43939471241476:43939471242105 26086:26091 hsa_system_get_info(2, 0x7fc6340104a8) = 0 +43939471243601:43939471244235 26086:26091 hsa_system_get_info(2, 0x7fc6340104b0) = 0 +43939471244992:43939471245618 26086:26091 hsa_system_get_info(2, 0x7fc6340104b8) = 0 +43939471246382:43939471247005 26086:26091 hsa_system_get_info(2, 0x7fc6340104c0) = 0 +43939471247767:43939471248396 26086:26091 hsa_system_get_info(2, 0x7fc6340104c8) = 0 +43939471249159:43939471249782 26086:26091 hsa_system_get_info(2, 0x7fc6340104d0) = 0 +43939471250545:43939471251165 26086:26091 hsa_system_get_info(2, 0x7fc6340104d8) = 0 +43939471251922:43939471252549 26086:26091 hsa_system_get_info(2, 0x7fc6340104e0) = 0 +43939471253309:43939471253934 26086:26091 hsa_system_get_info(2, 0x7fc6340104e8) = 0 +43939471254697:43939471255325 26086:26091 hsa_system_get_info(2, 0x7fc6340104f0) = 0 +43939471256089:43939471256723 26086:26091 hsa_system_get_info(2, 0x7fc6340104f8) = 0 +43939471257490:43939471258123 26086:26091 hsa_system_get_info(2, 0x7fc634010500) = 0 +43939471258913:43939471259544 26086:26091 hsa_system_get_info(2, 0x7fc634010508) = 0 +43939471260311:43939471260937 26086:26091 hsa_system_get_info(2, 0x7fc634010510) = 0 +43939471261704:43939471262325 26086:26091 hsa_system_get_info(2, 0x7fc634010518) = 0 +43939471263084:43939471263705 26086:26091 hsa_system_get_info(2, 0x7fc634010520) = 0 +43939471264465:43939471265095 26086:26091 hsa_system_get_info(2, 0x7fc634010528) = 0 +43939471265857:43939471266480 26086:26091 hsa_system_get_info(2, 0x7fc634010530) = 0 +43939471267241:43939471267871 26086:26091 hsa_system_get_info(2, 0x7fc634010538) = 0 +43939471268630:43939471269258 26086:26091 hsa_system_get_info(2, 0x7fc634010540) = 0 +43939471270017:43939471270642 26086:26091 hsa_system_get_info(2, 0x7fc634010548) = 0 +43939471271414:43939471272050 26086:26091 hsa_system_get_info(2, 0x7fc634010550) = 0 +43939471272809:43939471273439 26086:26091 hsa_system_get_info(2, 0x7fc634010558) = 0 +43939471274203:43939471274830 26086:26091 hsa_system_get_info(2, 0x7fc634010560) = 0 +43939471275586:43939471276212 26086:26091 hsa_system_get_info(2, 0x7fc634010568) = 0 +43939471276980:43939471277610 26086:26091 hsa_system_get_info(2, 0x7fc634010570) = 0 +43939471278372:43939471278999 26086:26091 hsa_system_get_info(2, 0x7fc634010578) = 0 +43939471279763:43939471280394 26086:26091 hsa_system_get_info(2, 0x7fc634010580) = 0 +43939471281156:43939471281794 26086:26091 hsa_system_get_info(2, 0x7fc634010588) = 0 +43939471282558:43939471283189 26086:26091 hsa_system_get_info(2, 0x7fc634010590) = 0 +43939471285282:43939471285920 26086:26091 hsa_system_get_info(2, 0x7fc634010598) = 0 +43939471286682:43939471287312 26086:26091 hsa_system_get_info(2, 0x7fc6340105a0) = 0 +43939471288069:43939471288703 26086:26091 hsa_system_get_info(2, 0x7fc6340105a8) = 0 +43939471289462:43939471290094 26086:26091 hsa_system_get_info(2, 0x7fc6340105b0) = 0 +43939471290854:43939471291499 26086:26091 hsa_system_get_info(2, 0x7fc6340105b8) = 0 +43939471292260:43939471292893 26086:26091 hsa_system_get_info(2, 0x7fc6340105c0) = 0 +43939471293656:43939471294285 26086:26091 hsa_system_get_info(2, 0x7fc6340105c8) = 0 +43939471295045:43939471295676 26086:26091 hsa_system_get_info(2, 0x7fc6340105d0) = 0 +43939471296439:43939471297072 26086:26091 hsa_system_get_info(2, 0x7fc6340105d8) = 0 +43939471297835:43939471298457 26086:26091 hsa_system_get_info(2, 0x7fc6340105e0) = 0 +43939471299224:43939471299848 26086:26091 hsa_system_get_info(2, 0x7fc6340105e8) = 0 +43939471300626:43939471301258 26086:26091 hsa_system_get_info(2, 0x7fc6340105f0) = 0 +43939471302021:43939471302650 26086:26091 hsa_system_get_info(2, 0x7fc6340105f8) = 0 +43939471303416:43939471304046 26086:26091 hsa_system_get_info(2, 0x7fc634010600) = 0 +43939471304808:43939471305437 26086:26091 hsa_system_get_info(2, 0x7fc634010608) = 0 +43939471306199:43939471306829 26086:26091 hsa_system_get_info(2, 0x7fc634010610) = 0 +43939471307604:43939471308232 26086:26091 hsa_system_get_info(2, 0x7fc634010618) = 0 +43939471308992:43939471309622 26086:26091 hsa_system_get_info(2, 0x7fc634010620) = 0 +43939471310386:43939471311015 26086:26091 hsa_system_get_info(2, 0x7fc634010628) = 0 +43939471311782:43939471312412 26086:26091 hsa_system_get_info(2, 0x7fc634010630) = 0 +43939471313167:43939471313796 26086:26091 hsa_system_get_info(2, 0x7fc634010638) = 0 +43939471314574:43939471315198 26086:26091 hsa_system_get_info(2, 0x7fc634010640) = 0 +43939471315957:43939471316585 26086:26091 hsa_system_get_info(2, 0x7fc634010648) = 0 +43939471317341:43939471317975 26086:26091 hsa_system_get_info(2, 0x7fc634010650) = 0 +43939471318732:43939471319364 26086:26091 hsa_system_get_info(2, 0x7fc634010658) = 0 +43939471320125:43939471320759 26086:26091 hsa_system_get_info(2, 0x7fc634010660) = 0 +43939471321522:43939471322146 26086:26091 hsa_system_get_info(2, 0x7fc634010668) = 0 +43939471322902:43939471323533 26086:26091 hsa_system_get_info(2, 0x7fc634010670) = 0 +43939471325020:43939471325652 26086:26091 hsa_system_get_info(2, 0x7fc634010678) = 0 +43939471326413:43939471327040 26086:26091 hsa_system_get_info(2, 0x7fc634010680) = 0 +43939471327802:43939471328432 26086:26091 hsa_system_get_info(2, 0x7fc634010688) = 0 +43939471329193:43939471329827 26086:26091 hsa_system_get_info(2, 0x7fc634010690) = 0 +43939471330586:43939471331211 26086:26091 hsa_system_get_info(2, 0x7fc634010698) = 0 +43939471331973:43939471332605 26086:26091 hsa_system_get_info(2, 0x7fc6340106a0) = 0 +43939471333364:43939471333995 26086:26091 hsa_system_get_info(2, 0x7fc6340106a8) = 0 +43939471334756:43939471335381 26086:26091 hsa_system_get_info(2, 0x7fc6340106b0) = 0 +43939471336144:43939471336769 26086:26091 hsa_system_get_info(2, 0x7fc6340106b8) = 0 +43939471337531:43939471338157 26086:26091 hsa_system_get_info(2, 0x7fc6340106c0) = 0 +43939471338917:43939471339541 26086:26091 hsa_system_get_info(2, 0x7fc6340106c8) = 0 +43939471340306:43939471340938 26086:26091 hsa_system_get_info(2, 0x7fc6340106d0) = 0 +43939471341701:43939471342335 26086:26091 hsa_system_get_info(2, 0x7fc6340106d8) = 0 +43939471343108:43939471343741 26086:26091 hsa_system_get_info(2, 0x7fc6340106e0) = 0 +43939471344502:43939471345133 26086:26091 hsa_system_get_info(2, 0x7fc6340106e8) = 0 +43939471345893:43939471346518 26086:26091 hsa_system_get_info(2, 0x7fc6340106f0) = 0 +43939471347277:43939471347913 26086:26091 hsa_system_get_info(2, 0x7fc6340106f8) = 0 +43939471348666:43939471349287 26086:26091 hsa_system_get_info(2, 0x7fc634010700) = 0 +43939471350049:43939471350680 26086:26091 hsa_system_get_info(2, 0x7fc634010708) = 0 +43939471351439:43939471352069 26086:26091 hsa_system_get_info(2, 0x7fc634010710) = 0 +43939471352829:43939471353461 26086:26091 hsa_system_get_info(2, 0x7fc634010718) = 0 +43939471354219:43939471354849 26086:26091 hsa_system_get_info(2, 0x7fc634010720) = 0 +43939471355611:43939471356238 26086:26091 hsa_system_get_info(2, 0x7fc634010728) = 0 +43939471356998:43939471357630 26086:26091 hsa_system_get_info(2, 0x7fc634010730) = 0 +43939471358390:43939471359027 26086:26091 hsa_system_get_info(2, 0x7fc634010738) = 0 +43939471359789:43939471360424 26086:26091 hsa_system_get_info(2, 0x7fc634010740) = 0 +43939471361184:43939471361811 26086:26091 hsa_system_get_info(2, 0x7fc634010748) = 0 +43939471362586:43939471363222 26086:26091 hsa_system_get_info(2, 0x7fc634010750) = 0 +43939471364691:43939471365326 26086:26091 hsa_system_get_info(2, 0x7fc634010758) = 0 +43939471366089:43939471366716 26086:26091 hsa_system_get_info(2, 0x7fc634010760) = 0 +43939471367480:43939471368103 26086:26091 hsa_system_get_info(2, 0x7fc634010768) = 0 +43939471368877:43939471369515 26086:26091 hsa_system_get_info(2, 0x7fc634010770) = 0 +43939471370277:43939471370905 26086:26091 hsa_system_get_info(2, 0x7fc634010778) = 0 +43939471371667:43939471372297 26086:26091 hsa_system_get_info(2, 0x7fc634010780) = 0 +43939471373059:43939471373687 26086:26091 hsa_system_get_info(2, 0x7fc634010788) = 0 +43939471374449:43939471375071 26086:26091 hsa_system_get_info(2, 0x7fc634010790) = 0 +43939471375834:43939471376461 26086:26091 hsa_system_get_info(2, 0x7fc634010798) = 0 +43939471377222:43939471377850 26086:26091 hsa_system_get_info(2, 0x7fc6340107a0) = 0 +43939471378611:43939471379240 26086:26091 hsa_system_get_info(2, 0x7fc6340107a8) = 0 +43939471380006:43939471380634 26086:26091 hsa_system_get_info(2, 0x7fc6340107b0) = 0 +43939471381414:43939471382040 26086:26091 hsa_system_get_info(2, 0x7fc6340107b8) = 0 +43939471382803:43939471383423 26086:26091 hsa_system_get_info(2, 0x7fc6340107c0) = 0 +43939471384183:43939471384806 26086:26091 hsa_system_get_info(2, 0x7fc6340107c8) = 0 +43939471385567:43939471386190 26086:26091 hsa_system_get_info(2, 0x7fc6340107d0) = 0 +43939471386947:43939471387595 26086:26091 hsa_system_get_info(2, 0x7fc6340107d8) = 0 +43939471388356:43939471388982 26086:26091 hsa_system_get_info(2, 0x7fc6340107e0) = 0 +43939471389747:43939471390379 26086:26091 hsa_system_get_info(2, 0x7fc6340107e8) = 0 +43939471391139:43939471391769 26086:26091 hsa_system_get_info(2, 0x7fc6340107f0) = 0 +43939471392532:43939471393163 26086:26091 hsa_system_get_info(2, 0x7fc6340107f8) = 0 +43939471393921:43939471394553 26086:26091 hsa_system_get_info(2, 0x7fc634010800) = 0 +43939471395319:43939471395949 26086:26091 hsa_system_get_info(2, 0x7fc634010808) = 0 +43939471396711:43939471397333 26086:26091 hsa_system_get_info(2, 0x7fc634010810) = 0 +43939471398095:43939471398727 26086:26091 hsa_system_get_info(2, 0x7fc634010818) = 0 +43939471399486:43939471400116 26086:26091 hsa_system_get_info(2, 0x7fc634010820) = 0 +43939471400876:43939471401495 26086:26091 hsa_system_get_info(2, 0x7fc634010828) = 0 +43939471402256:43939471402885 26086:26091 hsa_system_get_info(2, 0x7fc634010830) = 0 +43939471403646:43939471404269 26086:26091 hsa_system_get_info(2, 0x7fc634010838) = 0 +43939471405752:43939471406390 26086:26091 hsa_system_get_info(2, 0x7fc634010840) = 0 +43939471407152:43939471407782 26086:26091 hsa_system_get_info(2, 0x7fc634010848) = 0 +43939471408546:43939471409172 26086:26091 hsa_system_get_info(2, 0x7fc634010850) = 0 +43939471409929:43939471410554 26086:26091 hsa_system_get_info(2, 0x7fc634010858) = 0 +43939471411312:43939471411948 26086:26091 hsa_system_get_info(2, 0x7fc634010860) = 0 +43939471412710:43939471413342 26086:26091 hsa_system_get_info(2, 0x7fc634010868) = 0 +43939471414101:43939471414724 26086:26091 hsa_system_get_info(2, 0x7fc634010870) = 0 +43939471415484:43939471416113 26086:26091 hsa_system_get_info(2, 0x7fc634010878) = 0 +43939471416875:43939471417512 26086:26091 hsa_system_get_info(2, 0x7fc634010880) = 0 +43939471418269:43939471418897 26086:26091 hsa_system_get_info(2, 0x7fc634010888) = 0 +43939471419663:43939471420294 26086:26091 hsa_system_get_info(2, 0x7fc634010890) = 0 +43939471421075:43939471421707 26086:26091 hsa_system_get_info(2, 0x7fc634010898) = 0 +43939471422474:43939471423100 26086:26091 hsa_system_get_info(2, 0x7fc6340108a0) = 0 +43939471423859:43939471424490 26086:26091 hsa_system_get_info(2, 0x7fc6340108a8) = 0 +43939471425253:43939471425887 26086:26091 hsa_system_get_info(2, 0x7fc6340108b0) = 0 +43939471426643:43939471427278 26086:26091 hsa_system_get_info(2, 0x7fc6340108b8) = 0 +43939471428042:43939471428674 26086:26091 hsa_system_get_info(2, 0x7fc6340108c0) = 0 +43939471429432:43939471430058 26086:26091 hsa_system_get_info(2, 0x7fc6340108c8) = 0 +43939471430823:43939471431452 26086:26091 hsa_system_get_info(2, 0x7fc6340108d0) = 0 +43939471432207:43939471432836 26086:26091 hsa_system_get_info(2, 0x7fc6340108d8) = 0 +43939471433597:43939471434223 26086:26091 hsa_system_get_info(2, 0x7fc6340108e0) = 0 +43939471434986:43939471435613 26086:26091 hsa_system_get_info(2, 0x7fc6340108e8) = 0 +43939471436373:43939471437005 26086:26091 hsa_system_get_info(2, 0x7fc6340108f0) = 0 +43939471437770:43939471438395 26086:26091 hsa_system_get_info(2, 0x7fc6340108f8) = 0 +43939471439151:43939471439774 26086:26091 hsa_system_get_info(2, 0x7fc634010900) = 0 +43939471440555:43939471441174 26086:26091 hsa_system_get_info(2, 0x7fc634010908) = 0 +43939471441935:43939471442563 26086:26091 hsa_system_get_info(2, 0x7fc634010910) = 0 +43939471443326:43939471443949 26086:26091 hsa_system_get_info(2, 0x7fc634010918) = 0 +43939471445419:43939471446058 26086:26091 hsa_system_get_info(2, 0x7fc634010920) = 0 +43939471446819:43939471447451 26086:26091 hsa_system_get_info(2, 0x7fc634010928) = 0 +43939471448214:43939471448846 26086:26091 hsa_system_get_info(2, 0x7fc634010930) = 0 +43939471449605:43939471450236 26086:26091 hsa_system_get_info(2, 0x7fc634010938) = 0 +43939471450998:43939471451620 26086:26091 hsa_system_get_info(2, 0x7fc634010940) = 0 +43939471452377:43939471453003 26086:26091 hsa_system_get_info(2, 0x7fc634010948) = 0 +43939471453763:43939471454393 26086:26091 hsa_system_get_info(2, 0x7fc634010950) = 0 +43939471455152:43939471455785 26086:26091 hsa_system_get_info(2, 0x7fc634010958) = 0 +43939471456547:43939471457178 26086:26091 hsa_system_get_info(2, 0x7fc634010960) = 0 +43939471457936:43939471458561 26086:26091 hsa_system_get_info(2, 0x7fc634010968) = 0 +43939471459320:43939471459942 26086:26091 hsa_system_get_info(2, 0x7fc634010970) = 0 +43939471460708:43939471461341 26086:26091 hsa_system_get_info(2, 0x7fc634010978) = 0 +43939471462124:43939471462761 26086:26091 hsa_system_get_info(2, 0x7fc634010980) = 0 +43939471463527:43939471464154 26086:26091 hsa_system_get_info(2, 0x7fc634010988) = 0 +43939471464913:43939471465534 26086:26091 hsa_system_get_info(2, 0x7fc634010990) = 0 +43939471466296:43939471466923 26086:26091 hsa_system_get_info(2, 0x7fc634010998) = 0 +43939471467684:43939471468311 26086:26091 hsa_system_get_info(2, 0x7fc6340109a0) = 0 +43939471469070:43939471469702 26086:26091 hsa_system_get_info(2, 0x7fc6340109a8) = 0 +43939471470461:43939471471093 26086:26091 hsa_system_get_info(2, 0x7fc6340109b0) = 0 +43939471471857:43939471472500 26086:26091 hsa_system_get_info(2, 0x7fc6340109b8) = 0 +43939471473263:43939471473890 26086:26091 hsa_system_get_info(2, 0x7fc6340109c0) = 0 +43939471474657:43939471475290 26086:26091 hsa_system_get_info(2, 0x7fc6340109c8) = 0 +43939471476055:43939471476682 26086:26091 hsa_system_get_info(2, 0x7fc6340109d0) = 0 +43939471477445:43939471478072 26086:26091 hsa_system_get_info(2, 0x7fc6340109d8) = 0 +43939471478834:43939471479467 26086:26091 hsa_system_get_info(2, 0x7fc6340109e0) = 0 +43939471480228:43939471480854 26086:26091 hsa_system_get_info(2, 0x7fc6340109e8) = 0 +43939471481618:43939471482250 26086:26091 hsa_system_get_info(2, 0x7fc6340109f0) = 0 +43939471483009:43939471483634 26086:26091 hsa_system_get_info(2, 0x7fc6340109f8) = 0 +43939471484393:43939471485014 26086:26091 hsa_system_get_info(2, 0x7fc634010a00) = 0 +43939471486501:43939471487135 26086:26091 hsa_system_get_info(2, 0x7fc634010a08) = 0 +43939471487896:43939471488524 26086:26091 hsa_system_get_info(2, 0x7fc634010a10) = 0 +43939471489280:43939471489910 26086:26091 hsa_system_get_info(2, 0x7fc634010a18) = 0 +43939471490670:43939471491300 26086:26091 hsa_system_get_info(2, 0x7fc634010a20) = 0 +43939471492060:43939471492687 26086:26091 hsa_system_get_info(2, 0x7fc634010a28) = 0 +43939471493445:43939471494081 26086:26091 hsa_system_get_info(2, 0x7fc634010a30) = 0 +43939471494839:43939471495470 26086:26091 hsa_system_get_info(2, 0x7fc634010a38) = 0 +43939471496229:43939471496858 26086:26091 hsa_system_get_info(2, 0x7fc634010a40) = 0 +43939471497614:43939471498242 26086:26091 hsa_system_get_info(2, 0x7fc634010a48) = 0 +43939471499004:43939471499632 26086:26091 hsa_system_get_info(2, 0x7fc634010a50) = 0 +43939471500399:43939471501030 26086:26091 hsa_system_get_info(2, 0x7fc634010a58) = 0 +43939471501793:43939471502431 26086:26091 hsa_system_get_info(2, 0x7fc634010a60) = 0 +43939471503196:43939471503827 26086:26091 hsa_system_get_info(2, 0x7fc634010a68) = 0 +43939471504604:43939471505234 26086:26091 hsa_system_get_info(2, 0x7fc634010a70) = 0 +43939471505998:43939471506625 26086:26091 hsa_system_get_info(2, 0x7fc634010a78) = 0 +43939471507387:43939471508015 26086:26091 hsa_system_get_info(2, 0x7fc634010a80) = 0 +43939471508774:43939471509405 26086:26091 hsa_system_get_info(2, 0x7fc634010a88) = 0 +43939471510165:43939471510801 26086:26091 hsa_system_get_info(2, 0x7fc634010a90) = 0 +43939471511565:43939471512190 26086:26091 hsa_system_get_info(2, 0x7fc634010a98) = 0 +43939471512952:43939471513576 26086:26091 hsa_system_get_info(2, 0x7fc634010aa0) = 0 +43939471514333:43939471514963 26086:26091 hsa_system_get_info(2, 0x7fc634010aa8) = 0 +43939471515725:43939471516358 26086:26091 hsa_system_get_info(2, 0x7fc634010ab0) = 0 +43939471517119:43939471517748 26086:26091 hsa_system_get_info(2, 0x7fc634010ab8) = 0 +43939471518511:43939471519139 26086:26091 hsa_system_get_info(2, 0x7fc634010ac0) = 0 +43939471519903:43939471520538 26086:26091 hsa_system_get_info(2, 0x7fc634010ac8) = 0 +43939471521305:43939471521941 26086:26091 hsa_system_get_info(2, 0x7fc634010ad0) = 0 +43939471522705:43939471523345 26086:26091 hsa_system_get_info(2, 0x7fc634010ad8) = 0 +43939471524127:43939471524754 26086:26091 hsa_system_get_info(2, 0x7fc634010ae0) = 0 +43939471526316:43939471526954 26086:26091 hsa_system_get_info(2, 0x7fc634010ae8) = 0 +43939471527714:43939471528338 26086:26091 hsa_system_get_info(2, 0x7fc634010af0) = 0 +43939471529098:43939471529721 26086:26091 hsa_system_get_info(2, 0x7fc634010af8) = 0 +43939471530481:43939471531111 26086:26091 hsa_system_get_info(2, 0x7fc634010b00) = 0 +43939471531874:43939471532507 26086:26091 hsa_system_get_info(2, 0x7fc634010b08) = 0 +43939471533287:43939471533914 26086:26091 hsa_system_get_info(2, 0x7fc634010b10) = 0 +43939471534674:43939471535305 26086:26091 hsa_system_get_info(2, 0x7fc634010b18) = 0 +43939471536072:43939471536702 26086:26091 hsa_system_get_info(2, 0x7fc634010b20) = 0 +43939471537466:43939471538101 26086:26091 hsa_system_get_info(2, 0x7fc634010b28) = 0 +43939471538862:43939471539483 26086:26091 hsa_system_get_info(2, 0x7fc634010b30) = 0 +43939471540246:43939471540875 26086:26091 hsa_system_get_info(2, 0x7fc634010b38) = 0 +43939471541644:43939471542275 26086:26091 hsa_system_get_info(2, 0x7fc634010b40) = 0 +43939471543047:43939471543673 26086:26091 hsa_system_get_info(2, 0x7fc634010b48) = 0 +43939471544435:43939471545062 26086:26091 hsa_system_get_info(2, 0x7fc634010b50) = 0 +43939471545820:43939471546457 26086:26091 hsa_system_get_info(2, 0x7fc634010b58) = 0 +43939471547217:43939471547843 26086:26091 hsa_system_get_info(2, 0x7fc634010b60) = 0 +43939471548611:43939471549240 26086:26091 hsa_system_get_info(2, 0x7fc634010b68) = 0 +43939471550000:43939471550627 26086:26091 hsa_system_get_info(2, 0x7fc634010b70) = 0 +43939471551392:43939471552022 26086:26091 hsa_system_get_info(2, 0x7fc634010b78) = 0 +43939471552799:43939471553429 26086:26091 hsa_system_get_info(2, 0x7fc634010b80) = 0 +43939471554191:43939471554822 26086:26091 hsa_system_get_info(2, 0x7fc634010b88) = 0 +43939471555583:43939471556206 26086:26091 hsa_system_get_info(2, 0x7fc634010b90) = 0 +43939471556965:43939471557596 26086:26091 hsa_system_get_info(2, 0x7fc634010b98) = 0 +43939471558358:43939471558986 26086:26091 hsa_system_get_info(2, 0x7fc634010ba0) = 0 +43939471559754:43939471560385 26086:26091 hsa_system_get_info(2, 0x7fc634010ba8) = 0 +43939471561147:43939471561779 26086:26091 hsa_system_get_info(2, 0x7fc634010bb0) = 0 +43939471562539:43939471563176 26086:26091 hsa_system_get_info(2, 0x7fc634010bb8) = 0 +43939471563938:43939471564568 26086:26091 hsa_system_get_info(2, 0x7fc634010bc0) = 0 +43939471565329:43939471565957 26086:26091 hsa_system_get_info(2, 0x7fc634010bc8) = 0 +43939471567440:43939471568079 26086:26091 hsa_system_get_info(2, 0x7fc634010bd0) = 0 +43939471568841:43939471569472 26086:26091 hsa_system_get_info(2, 0x7fc634010bd8) = 0 +43939471570235:43939471570859 26086:26091 hsa_system_get_info(2, 0x7fc634010be0) = 0 +43939471571619:43939471572247 26086:26091 hsa_system_get_info(2, 0x7fc634010be8) = 0 +43939471573014:43939471573637 26086:26091 hsa_system_get_info(2, 0x7fc634010bf0) = 0 +43939471574402:43939471575021 26086:26091 hsa_system_get_info(2, 0x7fc634010bf8) = 0 +43939471575784:43939471576414 26086:26091 hsa_system_get_info(2, 0x7fc634010c00) = 0 +43939471577173:43939471577803 26086:26091 hsa_system_get_info(2, 0x7fc634010c08) = 0 +43939471578566:43939471579200 26086:26091 hsa_system_get_info(2, 0x7fc634010c10) = 0 +43939471579956:43939471580585 26086:26091 hsa_system_get_info(2, 0x7fc634010c18) = 0 +43939471581358:43939471581990 26086:26091 hsa_system_get_info(2, 0x7fc634010c20) = 0 +43939471582756:43939471583383 26086:26091 hsa_system_get_info(2, 0x7fc634010c28) = 0 +43939471584140:43939471584760 26086:26091 hsa_system_get_info(2, 0x7fc634010c30) = 0 +43939471585513:43939471586134 26086:26091 hsa_system_get_info(2, 0x7fc634010c38) = 0 +43939471586893:43939471587522 26086:26091 hsa_system_get_info(2, 0x7fc634010c40) = 0 +43939471588281:43939471588909 26086:26091 hsa_system_get_info(2, 0x7fc634010c48) = 0 +43939471589671:43939471590297 26086:26091 hsa_system_get_info(2, 0x7fc634010c50) = 0 +43939471591072:43939471591702 26086:26091 hsa_system_get_info(2, 0x7fc634010c58) = 0 +43939471592462:43939471593093 26086:26091 hsa_system_get_info(2, 0x7fc634010c60) = 0 +43939471593850:43939471594485 26086:26091 hsa_system_get_info(2, 0x7fc634010c68) = 0 +43939471595245:43939471595880 26086:26091 hsa_system_get_info(2, 0x7fc634010c70) = 0 +43939471596645:43939471597277 26086:26091 hsa_system_get_info(2, 0x7fc634010c78) = 0 +43939471598037:43939471598667 26086:26091 hsa_system_get_info(2, 0x7fc634010c80) = 0 +43939471599430:43939471600060 26086:26091 hsa_system_get_info(2, 0x7fc634010c88) = 0 +43939471600840:43939471601480 26086:26091 hsa_system_get_info(2, 0x7fc634010c90) = 0 +43939471602240:43939471602875 26086:26091 hsa_system_get_info(2, 0x7fc634010c98) = 0 +43939471603642:43939471604269 26086:26091 hsa_system_get_info(2, 0x7fc634010ca0) = 0 +43939471605032:43939471605662 26086:26091 hsa_system_get_info(2, 0x7fc634010ca8) = 0 +43939471607133:43939471607770 26086:26091 hsa_system_get_info(2, 0x7fc634010cb0) = 0 +43939471608531:43939471609153 26086:26091 hsa_system_get_info(2, 0x7fc634010cb8) = 0 +43939471609915:43939471610548 26086:26091 hsa_system_get_info(2, 0x7fc634010cc0) = 0 +43939471611314:43939471611948 26086:26091 hsa_system_get_info(2, 0x7fc634010cc8) = 0 +43939471612707:43939471613344 26086:26091 hsa_system_get_info(2, 0x7fc634010cd0) = 0 +43939471614107:43939471614739 26086:26091 hsa_system_get_info(2, 0x7fc634010cd8) = 0 +43939471615499:43939471616122 26086:26091 hsa_system_get_info(2, 0x7fc634010ce0) = 0 +43939471616880:43939471617511 26086:26091 hsa_system_get_info(2, 0x7fc634010ce8) = 0 +43939471618270:43939471618904 26086:26091 hsa_system_get_info(2, 0x7fc634010cf0) = 0 +43939471619664:43939471620289 26086:26091 hsa_system_get_info(2, 0x7fc634010cf8) = 0 +43939471621050:43939471621675 26086:26091 hsa_system_get_info(2, 0x7fc634010d00) = 0 +43939471622440:43939471623071 26086:26091 hsa_system_get_info(2, 0x7fc634010d08) = 0 +43939471623854:43939471624474 26086:26091 hsa_system_get_info(2, 0x7fc634010d10) = 0 +43939471625234:43939471625858 26086:26091 hsa_system_get_info(2, 0x7fc634010d18) = 0 +43939471626621:43939471627254 26086:26091 hsa_system_get_info(2, 0x7fc634010d20) = 0 +43939471628016:43939471628646 26086:26091 hsa_system_get_info(2, 0x7fc634010d28) = 0 +43939471629405:43939471630036 26086:26091 hsa_system_get_info(2, 0x7fc634010d30) = 0 +43939471630795:43939471631419 26086:26091 hsa_system_get_info(2, 0x7fc634010d38) = 0 +43939471632176:43939471632799 26086:26091 hsa_system_get_info(2, 0x7fc634010d40) = 0 +43939471633562:43939471634190 26086:26091 hsa_system_get_info(2, 0x7fc634010d48) = 0 +43939471634952:43939471635580 26086:26091 hsa_system_get_info(2, 0x7fc634010d50) = 0 +43939471636340:43939471636974 26086:26091 hsa_system_get_info(2, 0x7fc634010d58) = 0 +43939471637731:43939471638361 26086:26091 hsa_system_get_info(2, 0x7fc634010d60) = 0 +43939471639123:43939471639754 26086:26091 hsa_system_get_info(2, 0x7fc634010d68) = 0 +43939471640516:43939471641143 26086:26091 hsa_system_get_info(2, 0x7fc634010d70) = 0 +43939471641907:43939471642536 26086:26091 hsa_system_get_info(2, 0x7fc634010d78) = 0 +43939471643316:43939471643943 26086:26091 hsa_system_get_info(2, 0x7fc634010d80) = 0 +43939471644699:43939471645329 26086:26091 hsa_system_get_info(2, 0x7fc634010d88) = 0 +43939471646095:43939471646725 26086:26091 hsa_system_get_info(2, 0x7fc634010d90) = 0 +43939471648203:43939471648838 26086:26091 hsa_system_get_info(2, 0x7fc634010d98) = 0 +43939471649598:43939471650228 26086:26091 hsa_system_get_info(2, 0x7fc634010da0) = 0 +43939471650988:43939471651612 26086:26091 hsa_system_get_info(2, 0x7fc634010da8) = 0 +43939471652376:43939471653008 26086:26091 hsa_system_get_info(2, 0x7fc634010db0) = 0 +43939471653767:43939471654398 26086:26091 hsa_system_get_info(2, 0x7fc634010db8) = 0 +43939471655154:43939471655788 26086:26091 hsa_system_get_info(2, 0x7fc634010dc0) = 0 +43939471656553:43939471657184 26086:26091 hsa_system_get_info(2, 0x7fc634010dc8) = 0 +43939471657944:43939471658575 26086:26091 hsa_system_get_info(2, 0x7fc634010dd0) = 0 +43939471659334:43939471659956 26086:26091 hsa_system_get_info(2, 0x7fc634010dd8) = 0 +43939471660718:43939471661344 26086:26091 hsa_system_get_info(2, 0x7fc634010de0) = 0 +43939471662108:43939471662736 26086:26091 hsa_system_get_info(2, 0x7fc634010de8) = 0 +43939471663516:43939471664147 26086:26091 hsa_system_get_info(2, 0x7fc634010df0) = 0 +43939471664927:43939471665556 26086:26091 hsa_system_get_info(2, 0x7fc634010df8) = 0 +43939471666320:43939471666948 26086:26091 hsa_system_get_info(2, 0x7fc634010e00) = 0 +43939471667711:43939471668342 26086:26091 hsa_system_get_info(2, 0x7fc634010e08) = 0 +43939471669102:43939471669733 26086:26091 hsa_system_get_info(2, 0x7fc634010e10) = 0 +43939471670493:43939471671124 26086:26091 hsa_system_get_info(2, 0x7fc634010e18) = 0 +43939471671892:43939471672522 26086:26091 hsa_system_get_info(2, 0x7fc634010e20) = 0 +43939471673283:43939471673912 26086:26091 hsa_system_get_info(2, 0x7fc634010e28) = 0 +43939471674679:43939471675310 26086:26091 hsa_system_get_info(2, 0x7fc634010e30) = 0 +43939471676076:43939471676707 26086:26091 hsa_system_get_info(2, 0x7fc634010e38) = 0 +43939471677468:43939471678096 26086:26091 hsa_system_get_info(2, 0x7fc634010e40) = 0 +43939471678855:43939471679482 26086:26091 hsa_system_get_info(2, 0x7fc634010e48) = 0 +43939471680244:43939471680870 26086:26091 hsa_system_get_info(2, 0x7fc634010e50) = 0 +43939471681634:43939471682261 26086:26091 hsa_system_get_info(2, 0x7fc634010e58) = 0 +43939471683023:43939471683657 26086:26091 hsa_system_get_info(2, 0x7fc634010e60) = 0 +43939471684438:43939471685067 26086:26091 hsa_system_get_info(2, 0x7fc634010e68) = 0 +43939471685828:43939471686455 26086:26091 hsa_system_get_info(2, 0x7fc634010e70) = 0 +43939471687927:43939471688552 26086:26091 hsa_system_get_info(2, 0x7fc634010e78) = 0 +43939471689315:43939471689940 26086:26091 hsa_system_get_info(2, 0x7fc634010e80) = 0 +43939471690698:43939471691324 26086:26091 hsa_system_get_info(2, 0x7fc634010e88) = 0 +43939471692086:43939471692717 26086:26091 hsa_system_get_info(2, 0x7fc634010e90) = 0 +43939471693479:43939471694112 26086:26091 hsa_system_get_info(2, 0x7fc634010e98) = 0 +43939471694870:43939471695497 26086:26091 hsa_system_get_info(2, 0x7fc634010ea0) = 0 +43939471696261:43939471696886 26086:26091 hsa_system_get_info(2, 0x7fc634010ea8) = 0 +43939471697646:43939471698276 26086:26091 hsa_system_get_info(2, 0x7fc634010eb0) = 0 +43939471699036:43939471699667 26086:26091 hsa_system_get_info(2, 0x7fc634010eb8) = 0 +43939471700428:43939471701066 26086:26091 hsa_system_get_info(2, 0x7fc634010ec0) = 0 +43939471701829:43939471702460 26086:26091 hsa_system_get_info(2, 0x7fc634010ec8) = 0 +43939471703229:43939471703860 26086:26091 hsa_system_get_info(2, 0x7fc634010ed0) = 0 +43939471704626:43939471705266 26086:26091 hsa_system_get_info(2, 0x7fc634010ed8) = 0 +43939471706028:43939471706658 26086:26091 hsa_system_get_info(2, 0x7fc634010ee0) = 0 +43939471707417:43939471708045 26086:26091 hsa_system_get_info(2, 0x7fc634010ee8) = 0 +43939471708805:43939471709435 26086:26091 hsa_system_get_info(2, 0x7fc634010ef0) = 0 +43939471710197:43939471710825 26086:26091 hsa_system_get_info(2, 0x7fc634010ef8) = 0 +43939471711587:43939471712220 26086:26091 hsa_system_get_info(2, 0x7fc634010f00) = 0 +43939471712977:43939471713605 26086:26091 hsa_system_get_info(2, 0x7fc634010f08) = 0 +43939471714365:43939471714993 26086:26091 hsa_system_get_info(2, 0x7fc634010f10) = 0 +43939471715750:43939471716369 26086:26091 hsa_system_get_info(2, 0x7fc634010f18) = 0 +43939471717129:43939471717755 26086:26091 hsa_system_get_info(2, 0x7fc634010f20) = 0 +43939471718529:43939471719168 26086:26091 hsa_system_get_info(2, 0x7fc634010f28) = 0 +43939471719930:43939471720557 26086:26091 hsa_system_get_info(2, 0x7fc634010f30) = 0 +43939471721320:43939471721947 26086:26091 hsa_system_get_info(2, 0x7fc634010f38) = 0 +43939471722710:43939471723341 26086:26091 hsa_system_get_info(2, 0x7fc634010f40) = 0 +43939471724104:43939471724734 26086:26091 hsa_system_get_info(2, 0x7fc634010f48) = 0 +43939471725503:43939471726135 26086:26091 hsa_system_get_info(2, 0x7fc634010f50) = 0 +43939471727611:43939471728243 26086:26091 hsa_system_get_info(2, 0x7fc634010f58) = 0 +43939471736118:43939471736764 26086:26091 hsa_system_get_info(2, 0x7fc689f98868) = 0 +43939471737750:43939471739388 26086:26091 hsa_signal_create(1, , 0, 0x7fc677fff050) = 0 +43939471740411:43939471742928 26086:26091 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7fc677fff010) = 0 +43939471743918:43939471868890 26086:26091 hsa_amd_memory_async_copy(0x801b30000, , 0x902003000, , , , 0, ) = 0 +43939471888927:43939471892644 26086:26089 hsa_amd_profiling_get_async_copy_time(, 0x7fc68b9d8c40) = 0 +43939471904305:43939471905009 26086:26089 hsa_system_get_info(2, 0x7fc68b9d8ba8) = 0 +43939471906064:43939471906546 26086:26089 hsa_signal_load_relaxed() = 1 +43939471870218:43939471908084 26086:26091 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43939471907399:43939471908658 26086:26089 hsa_signal_store_screlease(, 0) = void +43939471909097:43939471909756 26086:26091 hsa_signal_destroy() = 0 +43939471909589:43939471910101 26086:26089 hsa_signal_destroy() = 0 +43939472099185:43939472126389 26086:26091 hsa_memory_free(0x801b30000) = 0 +43939472166227:43939472180093 26086:26091 hsa_executable_destroy() = 0 +43939472181250:43939472182075 26086:26091 hsa_signal_destroy() = 0 +43939472185037:43939472745522 26086:26091 hsa_queue_destroy() = 0 +43939471875582:43939471884862 async-copy0 diff --git a/test/golden_traces/ctrl_hsa_trace.txt b/test/golden_traces/ctrl_hsa_trace.txt new file mode 100644 index 0000000000..f56e21ee68 --- /dev/null +++ b/test/golden_traces/ctrl_hsa_trace.txt @@ -0,0 +1,4116 @@ +ROCTracer (pid=26077): + HSA-trace() + HSA-activity-trace() +43937685556276:43937685559081 26077:26077 hsa_amd_profiling_async_copy_enable() = 0 +43937685573062:43937685573691 26077:26077 hsa_agent_get_info(, 17, 0x7ffda62d6480) = 0 +43937685575877:43937685576615 26077:26077 hsa_amd_memory_pool_get_info(, 0, 0x7ffda62d6300) = 0 +43937685577577:43937685578008 26077:26077 hsa_amd_memory_pool_get_info(, 1, 0x7ffda62d6304) = 0 +43937685578986:43937685579396 26077:26077 hsa_amd_memory_pool_get_info(, 0, 0x7ffda62d6300) = 0 +43937685580301:43937685580703 26077:26077 hsa_amd_memory_pool_get_info(, 1, 0x7ffda62d6304) = 0 +43937685580301:43937685581599 26077:26077 hsa_amd_agent_iterate_memory_pools(, 1, 0x11d9ef0) = 1 +43937685582977:43937685583382 26077:26077 hsa_amd_memory_pool_get_info(, 0, 0x7ffda62d6300) = 0 +43937685584267:43937685584670 26077:26077 hsa_amd_memory_pool_get_info(, 1, 0x7ffda62d6304) = 0 +43937685584267:43937685585560 26077:26077 hsa_amd_agent_iterate_memory_pools(, 1, 0x11d9f00) = 1 +43937685591239:43937685591737 26077:26077 hsa_agent_get_info(, 17, 0x7ffda62d6480) = 0 +43937685592810:43937685596928 26077:26077 hsa_agent_get_info(, 0, 0x11d9fc4) = 0 +43937685598684:43937685599115 26077:26077 hsa_agent_get_info(, 6, 0x11da004) = 0 +43937685600062:43937685600555 26077:26077 hsa_agent_get_info(, 14, 0x11da008) = 0 +43937685601475:43937685601904 26077:26077 hsa_agent_get_info(, 4, 0x11da00c) = 0 +43937685602821:43937685603241 26077:26077 hsa_agent_get_info(, 40962, 0x11da028) = 0 +43937685604159:43937685604584 26077:26077 hsa_agent_get_info(, 40970, 0x11da02c) = 0 +43937685605504:43937685605979 26077:26077 hsa_agent_get_info(, 40971, 0x11da030) = 0 +43937685606897:43937685607318 26077:26077 hsa_agent_get_info(, 40972, 0x11da034) = 0 +43937685608258:43937685608670 26077:26077 hsa_agent_get_info(, 40973, 0x11da038) = 0 +43937685610243:43937685610660 26077:26077 hsa_amd_memory_pool_get_info(, 0, 0x7ffda62d62f0) = 0 +43937685611544:43937685611966 26077:26077 hsa_amd_memory_pool_get_info(, 1, 0x7ffda62d62f4) = 0 +43937685611544:43937685612886 26077:26077 hsa_amd_agent_iterate_memory_pools(, 1, 0x11da018) = 1 +43937685611544:43937685615852 26077:26077 hsa_iterate_agents(1, 0x11bb320) = 0 +43937685616952:43937685712685 26077:26077 hsa_system_get_major_extension_table(, , , 0x11bb3b8) = 0 +43937685714392:43937685714851 26077:26077 hsa_system_get_major_extension_table(, , , 0x11bb408) = 0 +43937685716063:43937685716497 26077:26077 hsa_system_get_info(3, 0x7ffda62d65f8) = 0 +43937685723660:43937685724468 26077:26077 hsa_system_get_info(2, 0x11da890) = 0 +43937685726489:43937685727247 26077:26077 hsa_system_get_info(2, 0x11da898) = 0 +43937685729831:43937685730617 26077:26077 hsa_system_get_info(2, 0x11da8a0) = 0 +43937685731548:43937685732298 26077:26077 hsa_system_get_info(2, 0x11da8a8) = 0 +43937685733206:43937685733961 26077:26077 hsa_system_get_info(2, 0x11da8b0) = 0 +43937685734867:43937685735623 26077:26077 hsa_system_get_info(2, 0x11da8b8) = 0 +43937685736534:43937685737287 26077:26077 hsa_system_get_info(2, 0x11da8c0) = 0 +43937685738195:43937685738951 26077:26077 hsa_system_get_info(2, 0x11da8c8) = 0 +43937685739867:43937685740622 26077:26077 hsa_system_get_info(2, 0x11da8d0) = 0 +43937685741536:43937685742287 26077:26077 hsa_system_get_info(2, 0x11da8d8) = 0 +43937685743199:43937685743959 26077:26077 hsa_system_get_info(2, 0x11da8e0) = 0 +43937685744898:43937685745659 26077:26077 hsa_system_get_info(2, 0x11da8e8) = 0 +43937685746574:43937685747329 26077:26077 hsa_system_get_info(2, 0x11da8f0) = 0 +43937685748239:43937685748999 26077:26077 hsa_system_get_info(2, 0x11da8f8) = 0 +43937685749910:43937685750664 26077:26077 hsa_system_get_info(2, 0x11da900) = 0 +43937685751572:43937685752333 26077:26077 hsa_system_get_info(2, 0x11da908) = 0 +43937685753241:43937685754002 26077:26077 hsa_system_get_info(2, 0x11da910) = 0 +43937685754914:43937685755670 26077:26077 hsa_system_get_info(2, 0x11da918) = 0 +43937685756583:43937685757335 26077:26077 hsa_system_get_info(2, 0x11da920) = 0 +43937685758241:43937685758998 26077:26077 hsa_system_get_info(2, 0x11da928) = 0 +43937685759911:43937685760661 26077:26077 hsa_system_get_info(2, 0x11da930) = 0 +43937685761568:43937685762315 26077:26077 hsa_system_get_info(2, 0x11da938) = 0 +43937685763226:43937685764003 26077:26077 hsa_system_get_info(2, 0x11da940) = 0 +43937685764913:43937685765659 26077:26077 hsa_system_get_info(2, 0x11da948) = 0 +43937685766568:43937685767318 26077:26077 hsa_system_get_info(2, 0x11da950) = 0 +43937685768230:43937685768991 26077:26077 hsa_system_get_info(2, 0x11da958) = 0 +43937685769910:43937685770662 26077:26077 hsa_system_get_info(2, 0x11da960) = 0 +43937685771571:43937685772329 26077:26077 hsa_system_get_info(2, 0x11da968) = 0 +43937685773243:43937685773996 26077:26077 hsa_system_get_info(2, 0x11da970) = 0 +43937685774909:43937685775666 26077:26077 hsa_system_get_info(2, 0x11da978) = 0 +43937685778898:43937685779658 26077:26077 hsa_system_get_info(2, 0x11da980) = 0 +43937685780567:43937685781321 26077:26077 hsa_system_get_info(2, 0x11da988) = 0 +43937685782228:43937685782975 26077:26077 hsa_system_get_info(2, 0x11da990) = 0 +43937685783883:43937685784636 26077:26077 hsa_system_get_info(2, 0x11da998) = 0 +43937685785543:43937685786311 26077:26077 hsa_system_get_info(2, 0x11da9a0) = 0 +43937685787219:43937685787972 26077:26077 hsa_system_get_info(2, 0x11da9a8) = 0 +43937685788885:43937685789637 26077:26077 hsa_system_get_info(2, 0x11da9b0) = 0 +43937685790555:43937685791318 26077:26077 hsa_system_get_info(2, 0x11da9b8) = 0 +43937685792234:43937685792985 26077:26077 hsa_system_get_info(2, 0x11da9c0) = 0 +43937685793907:43937685794663 26077:26077 hsa_system_get_info(2, 0x11da9c8) = 0 +43937685795572:43937685796328 26077:26077 hsa_system_get_info(2, 0x11da9d0) = 0 +43937685797240:43937685797997 26077:26077 hsa_system_get_info(2, 0x11da9d8) = 0 +43937685798909:43937685799663 26077:26077 hsa_system_get_info(2, 0x11da9e0) = 0 +43937685800575:43937685801330 26077:26077 hsa_system_get_info(2, 0x11da9e8) = 0 +43937685802241:43937685802994 26077:26077 hsa_system_get_info(2, 0x11da9f0) = 0 +43937685803909:43937685804684 26077:26077 hsa_system_get_info(2, 0x11da9f8) = 0 +43937685805594:43937685806346 26077:26077 hsa_system_get_info(2, 0x11daa00) = 0 +43937685807257:43937685808009 26077:26077 hsa_system_get_info(2, 0x11daa08) = 0 +43937685808915:43937685809669 26077:26077 hsa_system_get_info(2, 0x11daa10) = 0 +43937685810583:43937685811341 26077:26077 hsa_system_get_info(2, 0x11daa18) = 0 +43937685812258:43937685813019 26077:26077 hsa_system_get_info(2, 0x11daa20) = 0 +43937685813932:43937685814688 26077:26077 hsa_system_get_info(2, 0x11daa28) = 0 +43937685815598:43937685816361 26077:26077 hsa_system_get_info(2, 0x11daa30) = 0 +43937685817272:43937685818033 26077:26077 hsa_system_get_info(2, 0x11daa38) = 0 +43937685818942:43937685819697 26077:26077 hsa_system_get_info(2, 0x11daa40) = 0 +43937685820602:43937685821356 26077:26077 hsa_system_get_info(2, 0x11daa48) = 0 +43937685822265:43937685823017 26077:26077 hsa_system_get_info(2, 0x11daa50) = 0 +43937685823926:43937685824680 26077:26077 hsa_system_get_info(2, 0x11daa58) = 0 +43937685825588:43937685826344 26077:26077 hsa_system_get_info(2, 0x11daa60) = 0 +43937685828529:43937685829297 26077:26077 hsa_system_get_info(2, 0x11daa68) = 0 +43937685830205:43937685830961 26077:26077 hsa_system_get_info(2, 0x11daa70) = 0 +43937685831878:43937685832631 26077:26077 hsa_system_get_info(2, 0x11daa78) = 0 +43937685833543:43937685834306 26077:26077 hsa_system_get_info(2, 0x11daa80) = 0 +43937685835209:43937685835965 26077:26077 hsa_system_get_info(2, 0x11daa88) = 0 +43937685836878:43937685837638 26077:26077 hsa_system_get_info(2, 0x11daa90) = 0 +43937685838551:43937685839311 26077:26077 hsa_system_get_info(2, 0x11daa98) = 0 +43937685840223:43937685840973 26077:26077 hsa_system_get_info(2, 0x11daaa0) = 0 +43937685841904:43937685842666 26077:26077 hsa_system_get_info(2, 0x11daaa8) = 0 +43937685843570:43937685844327 26077:26077 hsa_system_get_info(2, 0x11daab0) = 0 +43937685845234:43937685845993 26077:26077 hsa_system_get_info(2, 0x11daab8) = 0 +43937685846907:43937685847661 26077:26077 hsa_system_get_info(2, 0x11daac0) = 0 +43937685848573:43937685849330 26077:26077 hsa_system_get_info(2, 0x11daac8) = 0 +43937685850241:43937685850999 26077:26077 hsa_system_get_info(2, 0x11daad0) = 0 +43937685851910:43937685852662 26077:26077 hsa_system_get_info(2, 0x11daad8) = 0 +43937685853572:43937685854326 26077:26077 hsa_system_get_info(2, 0x11daae0) = 0 +43937685855240:43937685855995 26077:26077 hsa_system_get_info(2, 0x11daae8) = 0 +43937685856906:43937685857657 26077:26077 hsa_system_get_info(2, 0x11daaf0) = 0 +43937685858568:43937685859327 26077:26077 hsa_system_get_info(2, 0x11daaf8) = 0 +43937685860255:43937685861018 26077:26077 hsa_system_get_info(2, 0x11dab00) = 0 +43937685861931:43937685862683 26077:26077 hsa_system_get_info(2, 0x11dab08) = 0 +43937685863588:43937685864350 26077:26077 hsa_system_get_info(2, 0x11dab10) = 0 +43937685865259:43937685866024 26077:26077 hsa_system_get_info(2, 0x11dab18) = 0 +43937685866934:43937685867696 26077:26077 hsa_system_get_info(2, 0x11dab20) = 0 +43937685868609:43937685869370 26077:26077 hsa_system_get_info(2, 0x11dab28) = 0 +43937685870280:43937685871033 26077:26077 hsa_system_get_info(2, 0x11dab30) = 0 +43937685871945:43937685872699 26077:26077 hsa_system_get_info(2, 0x11dab38) = 0 +43937685873608:43937685874361 26077:26077 hsa_system_get_info(2, 0x11dab40) = 0 +43937685876213:43937685876975 26077:26077 hsa_system_get_info(2, 0x11dab48) = 0 +43937685877890:43937685878639 26077:26077 hsa_system_get_info(2, 0x11dab50) = 0 +43937685879548:43937685880303 26077:26077 hsa_system_get_info(2, 0x11dab58) = 0 +43937685881221:43937685881977 26077:26077 hsa_system_get_info(2, 0x11dab60) = 0 +43937685882889:43937685883640 26077:26077 hsa_system_get_info(2, 0x11dab68) = 0 +43937685884549:43937685885308 26077:26077 hsa_system_get_info(2, 0x11dab70) = 0 +43937685886223:43937685886980 26077:26077 hsa_system_get_info(2, 0x11dab78) = 0 +43937685887891:43937685888645 26077:26077 hsa_system_get_info(2, 0x11dab80) = 0 +43937685889552:43937685890310 26077:26077 hsa_system_get_info(2, 0x11dab88) = 0 +43937685891223:43937685891978 26077:26077 hsa_system_get_info(2, 0x11dab90) = 0 +43937685892881:43937685893643 26077:26077 hsa_system_get_info(2, 0x11dab98) = 0 +43937685894556:43937685895314 26077:26077 hsa_system_get_info(2, 0x11daba0) = 0 +43937685896222:43937685896984 26077:26077 hsa_system_get_info(2, 0x11daba8) = 0 +43937685897898:43937685898649 26077:26077 hsa_system_get_info(2, 0x11dabb0) = 0 +43937685899586:43937685900337 26077:26077 hsa_system_get_info(2, 0x11dabb8) = 0 +43937685901244:43937685902005 26077:26077 hsa_system_get_info(2, 0x11dabc0) = 0 +43937685902912:43937685903665 26077:26077 hsa_system_get_info(2, 0x11dabc8) = 0 +43937685904569:43937685905326 26077:26077 hsa_system_get_info(2, 0x11dabd0) = 0 +43937685906238:43937685906997 26077:26077 hsa_system_get_info(2, 0x11dabd8) = 0 +43937685907907:43937685908664 26077:26077 hsa_system_get_info(2, 0x11dabe0) = 0 +43937685909573:43937685910327 26077:26077 hsa_system_get_info(2, 0x11dabe8) = 0 +43937685911240:43937685911997 26077:26077 hsa_system_get_info(2, 0x11dabf0) = 0 +43937685912910:43937685913656 26077:26077 hsa_system_get_info(2, 0x11dabf8) = 0 +43937685914563:43937685915314 26077:26077 hsa_system_get_info(2, 0x11dac00) = 0 +43937685916233:43937685916978 26077:26077 hsa_system_get_info(2, 0x11dac08) = 0 +43937685917888:43937685918649 26077:26077 hsa_system_get_info(2, 0x11dac10) = 0 +43937685919564:43937685920312 26077:26077 hsa_system_get_info(2, 0x11dac18) = 0 +43937685921217:43937685921972 26077:26077 hsa_system_get_info(2, 0x11dac20) = 0 +43937685922888:43937685923648 26077:26077 hsa_system_get_info(2, 0x11dac28) = 0 +43937685925411:43937685926171 26077:26077 hsa_system_get_info(2, 0x11dac30) = 0 +43937685927084:43937685927838 26077:26077 hsa_system_get_info(2, 0x11dac38) = 0 +43937685928744:43937685929501 26077:26077 hsa_system_get_info(2, 0x11dac40) = 0 +43937685930415:43937685931176 26077:26077 hsa_system_get_info(2, 0x11dac48) = 0 +43937685932084:43937685932841 26077:26077 hsa_system_get_info(2, 0x11dac50) = 0 +43937685933755:43937685934501 26077:26077 hsa_system_get_info(2, 0x11dac58) = 0 +43937685935409:43937685936162 26077:26077 hsa_system_get_info(2, 0x11dac60) = 0 +43937685937069:43937685937822 26077:26077 hsa_system_get_info(2, 0x11dac68) = 0 +43937685938759:43937685939506 26077:26077 hsa_system_get_info(2, 0x11dac70) = 0 +43937685940419:43937685941175 26077:26077 hsa_system_get_info(2, 0x11dac78) = 0 +43937685942082:43937685942842 26077:26077 hsa_system_get_info(2, 0x11dac80) = 0 +43937685943750:43937685944506 26077:26077 hsa_system_get_info(2, 0x11dac88) = 0 +43937685945416:43937685946179 26077:26077 hsa_system_get_info(2, 0x11dac90) = 0 +43937685947104:43937685947859 26077:26077 hsa_system_get_info(2, 0x11dac98) = 0 +43937685948765:43937685949524 26077:26077 hsa_system_get_info(2, 0x11daca0) = 0 +43937685950437:43937685951196 26077:26077 hsa_system_get_info(2, 0x11daca8) = 0 +43937685952108:43937685952864 26077:26077 hsa_system_get_info(2, 0x11dacb0) = 0 +43937685953780:43937685954541 26077:26077 hsa_system_get_info(2, 0x11dacb8) = 0 +43937685955450:43937685956200 26077:26077 hsa_system_get_info(2, 0x11dacc0) = 0 +43937685957110:43937685957864 26077:26077 hsa_system_get_info(2, 0x11dacc8) = 0 +43937685958776:43937685959530 26077:26077 hsa_system_get_info(2, 0x11dacd0) = 0 +43937685960437:43937685961194 26077:26077 hsa_system_get_info(2, 0x11dacd8) = 0 +43937685962109:43937685962864 26077:26077 hsa_system_get_info(2, 0x11dace0) = 0 +43937685963774:43937685964528 26077:26077 hsa_system_get_info(2, 0x11dace8) = 0 +43937685965439:43937685966204 26077:26077 hsa_system_get_info(2, 0x11dacf0) = 0 +43937685967111:43937685967865 26077:26077 hsa_system_get_info(2, 0x11dacf8) = 0 +43937685968775:43937685969529 26077:26077 hsa_system_get_info(2, 0x11dad00) = 0 +43937685970437:43937685971210 26077:26077 hsa_system_get_info(2, 0x11dad08) = 0 +43937685973080:43937685973839 26077:26077 hsa_system_get_info(2, 0x11dad10) = 0 +43937685974746:43937685975500 26077:26077 hsa_system_get_info(2, 0x11dad18) = 0 +43937685976410:43937685977162 26077:26077 hsa_system_get_info(2, 0x11dad20) = 0 +43937685978073:43937685978840 26077:26077 hsa_system_get_info(2, 0x11dad28) = 0 +43937685979750:43937685980506 26077:26077 hsa_system_get_info(2, 0x11dad30) = 0 +43937685981411:43937685982157 26077:26077 hsa_system_get_info(2, 0x11dad38) = 0 +43937685983070:43937685983818 26077:26077 hsa_system_get_info(2, 0x11dad40) = 0 +43937685984729:43937685985476 26077:26077 hsa_system_get_info(2, 0x11dad48) = 0 +43937685986387:43937685987139 26077:26077 hsa_system_get_info(2, 0x11dad50) = 0 +43937685988058:43937685988818 26077:26077 hsa_system_get_info(2, 0x11dad58) = 0 +43937685989730:43937685990482 26077:26077 hsa_system_get_info(2, 0x11dad60) = 0 +43937685991390:43937685992143 26077:26077 hsa_system_get_info(2, 0x11dad68) = 0 +43937685993057:43937685993812 26077:26077 hsa_system_get_info(2, 0x11dad70) = 0 +43937685994726:43937685995504 26077:26077 hsa_system_get_info(2, 0x11dad78) = 0 +43937685996419:43937685997176 26077:26077 hsa_system_get_info(2, 0x11dad80) = 0 +43937685998088:43937685998842 26077:26077 hsa_system_get_info(2, 0x11dad88) = 0 +43937685999748:43937686000504 26077:26077 hsa_system_get_info(2, 0x11dad90) = 0 +43937686001415:43937686002177 26077:26077 hsa_system_get_info(2, 0x11dad98) = 0 +43937686003087:43937686003844 26077:26077 hsa_system_get_info(2, 0x11dada0) = 0 +43937686004767:43937686005525 26077:26077 hsa_system_get_info(2, 0x11dada8) = 0 +43937686006431:43937686007184 26077:26077 hsa_system_get_info(2, 0x11dadb0) = 0 +43937686008094:43937686008849 26077:26077 hsa_system_get_info(2, 0x11dadb8) = 0 +43937686009754:43937686010512 26077:26077 hsa_system_get_info(2, 0x11dadc0) = 0 +43937686011419:43937686012176 26077:26077 hsa_system_get_info(2, 0x11dadc8) = 0 +43937686013089:43937686013852 26077:26077 hsa_system_get_info(2, 0x11dadd0) = 0 +43937686014763:43937686015523 26077:26077 hsa_system_get_info(2, 0x11dadd8) = 0 +43937686016434:43937686017189 26077:26077 hsa_system_get_info(2, 0x11dade0) = 0 +43937686018097:43937686018861 26077:26077 hsa_system_get_info(2, 0x11dade8) = 0 +43937686019786:43937686020543 26077:26077 hsa_system_get_info(2, 0x11dadf0) = 0 +43937686022309:43937686023076 26077:26077 hsa_system_get_info(2, 0x11dadf8) = 0 +43937686023999:43937686024772 26077:26077 hsa_system_get_info(2, 0x11dae00) = 0 +43937686025683:43937686026439 26077:26077 hsa_system_get_info(2, 0x11dae08) = 0 +43937686027352:43937686028110 26077:26077 hsa_system_get_info(2, 0x11dae10) = 0 +43937686029024:43937686029775 26077:26077 hsa_system_get_info(2, 0x11dae18) = 0 +43937686030685:43937686031444 26077:26077 hsa_system_get_info(2, 0x11dae20) = 0 +43937686032357:43937686033111 26077:26077 hsa_system_get_info(2, 0x11dae28) = 0 +43937686034022:43937686034774 26077:26077 hsa_system_get_info(2, 0x11dae30) = 0 +43937686035710:43937686036465 26077:26077 hsa_system_get_info(2, 0x11dae38) = 0 +43937686037377:43937686038131 26077:26077 hsa_system_get_info(2, 0x11dae40) = 0 +43937686039040:43937686039795 26077:26077 hsa_system_get_info(2, 0x11dae48) = 0 +43937686040705:43937686041451 26077:26077 hsa_system_get_info(2, 0x11dae50) = 0 +43937686042365:43937686043122 26077:26077 hsa_system_get_info(2, 0x11dae58) = 0 +43937686044034:43937686044812 26077:26077 hsa_system_get_info(2, 0x11dae60) = 0 +43937686045725:43937686046480 26077:26077 hsa_system_get_info(2, 0x11dae68) = 0 +43937686047391:43937686048141 26077:26077 hsa_system_get_info(2, 0x11dae70) = 0 +43937686049047:43937686049807 26077:26077 hsa_system_get_info(2, 0x11dae78) = 0 +43937686050721:43937686051478 26077:26077 hsa_system_get_info(2, 0x11dae80) = 0 +43937686052392:43937686053146 26077:26077 hsa_system_get_info(2, 0x11dae88) = 0 +43937686054054:43937686054806 26077:26077 hsa_system_get_info(2, 0x11dae90) = 0 +43937686055714:43937686056461 26077:26077 hsa_system_get_info(2, 0x11dae98) = 0 +43937686057374:43937686058135 26077:26077 hsa_system_get_info(2, 0x11daea0) = 0 +43937686059043:43937686059799 26077:26077 hsa_system_get_info(2, 0x11daea8) = 0 +43937686060715:43937686061470 26077:26077 hsa_system_get_info(2, 0x11daeb0) = 0 +43937686062380:43937686063143 26077:26077 hsa_system_get_info(2, 0x11daeb8) = 0 +43937686064054:43937686064808 26077:26077 hsa_system_get_info(2, 0x11daec0) = 0 +43937686065721:43937686066472 26077:26077 hsa_system_get_info(2, 0x11daec8) = 0 +43937686067382:43937686068138 26077:26077 hsa_system_get_info(2, 0x11daed0) = 0 +43937686069909:43937686070667 26077:26077 hsa_system_get_info(2, 0x11daed8) = 0 +43937686071578:43937686072329 26077:26077 hsa_system_get_info(2, 0x11daee0) = 0 +43937686073240:43937686073989 26077:26077 hsa_system_get_info(2, 0x11daee8) = 0 +43937686074899:43937686075655 26077:26077 hsa_system_get_info(2, 0x11daef0) = 0 +43937686076566:43937686077310 26077:26077 hsa_system_get_info(2, 0x11daef8) = 0 +43937686078220:43937686078976 26077:26077 hsa_system_get_info(2, 0x11daf00) = 0 +43937686079890:43937686080655 26077:26077 hsa_system_get_info(2, 0x11daf08) = 0 +43937686081563:43937686082324 26077:26077 hsa_system_get_info(2, 0x11daf10) = 0 +43937686083232:43937686083989 26077:26077 hsa_system_get_info(2, 0x11daf18) = 0 +43937686084909:43937686085659 26077:26077 hsa_system_get_info(2, 0x11daf20) = 0 +43937686086571:43937686087318 26077:26077 hsa_system_get_info(2, 0x11daf28) = 0 +43937686088224:43937686088988 26077:26077 hsa_system_get_info(2, 0x11daf30) = 0 +43937686089903:43937686090657 26077:26077 hsa_system_get_info(2, 0x11daf38) = 0 +43937686091572:43937686092351 26077:26077 hsa_system_get_info(2, 0x11daf40) = 0 +43937686093263:43937686094016 26077:26077 hsa_system_get_info(2, 0x11daf48) = 0 +43937686094929:43937686095690 26077:26077 hsa_system_get_info(2, 0x11daf50) = 0 +43937686096601:43937686097359 26077:26077 hsa_system_get_info(2, 0x11daf58) = 0 +43937686098271:43937686099034 26077:26077 hsa_system_get_info(2, 0x11daf60) = 0 +43937686099949:43937686100718 26077:26077 hsa_system_get_info(2, 0x11daf68) = 0 +43937686101629:43937686102394 26077:26077 hsa_system_get_info(2, 0x11daf70) = 0 +43937686103319:43937686104074 26077:26077 hsa_system_get_info(2, 0x11daf78) = 0 +43937686104983:43937686105738 26077:26077 hsa_system_get_info(2, 0x11daf80) = 0 +43937686106644:43937686107405 26077:26077 hsa_system_get_info(2, 0x11daf88) = 0 +43937686108316:43937686109079 26077:26077 hsa_system_get_info(2, 0x11daf90) = 0 +43937686109995:43937686110749 26077:26077 hsa_system_get_info(2, 0x11daf98) = 0 +43937686111657:43937686112412 26077:26077 hsa_system_get_info(2, 0x11dafa0) = 0 +43937686113324:43937686114084 26077:26077 hsa_system_get_info(2, 0x11dafa8) = 0 +43937686114991:43937686115748 26077:26077 hsa_system_get_info(2, 0x11dafb0) = 0 +43937686117494:43937686118254 26077:26077 hsa_system_get_info(2, 0x11dafb8) = 0 +43937686119168:43937686119922 26077:26077 hsa_system_get_info(2, 0x11dafc0) = 0 +43937686120829:43937686121585 26077:26077 hsa_system_get_info(2, 0x11dafc8) = 0 +43937686122489:43937686123237 26077:26077 hsa_system_get_info(2, 0x11dafd0) = 0 +43937686124147:43937686124906 26077:26077 hsa_system_get_info(2, 0x11dafd8) = 0 +43937686125816:43937686126564 26077:26077 hsa_system_get_info(2, 0x11dafe0) = 0 +43937686127479:43937686128236 26077:26077 hsa_system_get_info(2, 0x11dafe8) = 0 +43937686129147:43937686129899 26077:26077 hsa_system_get_info(2, 0x11daff0) = 0 +43937686130813:43937686131570 26077:26077 hsa_system_get_info(2, 0x11daff8) = 0 +43937686132481:43937686133241 26077:26077 hsa_system_get_info(2, 0x11db000) = 0 +43937686134151:43937686134901 26077:26077 hsa_system_get_info(2, 0x11db008) = 0 +43937686135812:43937686136574 26077:26077 hsa_system_get_info(2, 0x11db010) = 0 +43937686137485:43937686138244 26077:26077 hsa_system_get_info(2, 0x11db018) = 0 +43937686139157:43937686139905 26077:26077 hsa_system_get_info(2, 0x11db020) = 0 +43937686140836:43937686141587 26077:26077 hsa_system_get_info(2, 0x11db028) = 0 +43937686142497:43937686143249 26077:26077 hsa_system_get_info(2, 0x11db030) = 0 +43937686144161:43937686144920 26077:26077 hsa_system_get_info(2, 0x11db038) = 0 +43937686145826:43937686146585 26077:26077 hsa_system_get_info(2, 0x11db040) = 0 +43937686147500:43937686148252 26077:26077 hsa_system_get_info(2, 0x11db048) = 0 +43937686149163:43937686149928 26077:26077 hsa_system_get_info(2, 0x11db050) = 0 +43937686150841:43937686151596 26077:26077 hsa_system_get_info(2, 0x11db058) = 0 +43937686152509:43937686153264 26077:26077 hsa_system_get_info(2, 0x11db060) = 0 +43937686154176:43937686154937 26077:26077 hsa_system_get_info(2, 0x11db068) = 0 +43937686155849:43937686156611 26077:26077 hsa_system_get_info(2, 0x11db070) = 0 +43937686157519:43937686158278 26077:26077 hsa_system_get_info(2, 0x11db078) = 0 +43937686159188:43937686159942 26077:26077 hsa_system_get_info(2, 0x11db080) = 0 +43937686160852:43937686161606 26077:26077 hsa_system_get_info(2, 0x11db088) = 0 +43937686162519:43937686163276 26077:26077 hsa_system_get_info(2, 0x11db090) = 0 +43937686164199:43937686164956 26077:26077 hsa_system_get_info(2, 0x11db098) = 0 +43937686166713:43937686167473 26077:26077 hsa_system_get_info(2, 0x11db0a0) = 0 +43937686168383:43937686169134 26077:26077 hsa_system_get_info(2, 0x11db0a8) = 0 +43937686170037:43937686170792 26077:26077 hsa_system_get_info(2, 0x11db0b0) = 0 +43937686171703:43937686172463 26077:26077 hsa_system_get_info(2, 0x11db0b8) = 0 +43937686173381:43937686174138 26077:26077 hsa_system_get_info(2, 0x11db0c0) = 0 +43937686175049:43937686175809 26077:26077 hsa_system_get_info(2, 0x11db0c8) = 0 +43937686176727:43937686177485 26077:26077 hsa_system_get_info(2, 0x11db0d0) = 0 +43937686178418:43937686179176 26077:26077 hsa_system_get_info(2, 0x11db0d8) = 0 +43937686180088:43937686180841 26077:26077 hsa_system_get_info(2, 0x11db0e0) = 0 +43937686181758:43937686182501 26077:26077 hsa_system_get_info(2, 0x11db0e8) = 0 +43937686183408:43937686184158 26077:26077 hsa_system_get_info(2, 0x11db0f0) = 0 +43937686185082:43937686185835 26077:26077 hsa_system_get_info(2, 0x11db0f8) = 0 +43937686186744:43937686187501 26077:26077 hsa_system_get_info(2, 0x11db100) = 0 +43937686188409:43937686189163 26077:26077 hsa_system_get_info(2, 0x11db108) = 0 +43937686190076:43937686190835 26077:26077 hsa_system_get_info(2, 0x11db110) = 0 +43937686191748:43937686192499 26077:26077 hsa_system_get_info(2, 0x11db118) = 0 +43937686193412:43937686194174 26077:26077 hsa_system_get_info(2, 0x11db120) = 0 +43937686195089:43937686195848 26077:26077 hsa_system_get_info(2, 0x11db128) = 0 +43937686196756:43937686197520 26077:26077 hsa_system_get_info(2, 0x11db130) = 0 +43937686198430:43937686199189 26077:26077 hsa_system_get_info(2, 0x11db138) = 0 +43937686200095:43937686200856 26077:26077 hsa_system_get_info(2, 0x11db140) = 0 +43937686201765:43937686202516 26077:26077 hsa_system_get_info(2, 0x11db148) = 0 +43937686203431:43937686204182 26077:26077 hsa_system_get_info(2, 0x11db150) = 0 +43937686205092:43937686205848 26077:26077 hsa_system_get_info(2, 0x11db158) = 0 +43937686206775:43937686207543 26077:26077 hsa_system_get_info(2, 0x11db160) = 0 +43937686208460:43937686209220 26077:26077 hsa_system_get_info(2, 0x11db168) = 0 +43937686210138:43937686210898 26077:26077 hsa_system_get_info(2, 0x11db170) = 0 +43937686211814:43937686212572 26077:26077 hsa_system_get_info(2, 0x11db178) = 0 +43937686214320:43937686215082 26077:26077 hsa_system_get_info(2, 0x11db180) = 0 +43937686216014:43937686216780 26077:26077 hsa_system_get_info(2, 0x11db188) = 0 +43937686217688:43937686218449 26077:26077 hsa_system_get_info(2, 0x11db190) = 0 +43937686219362:43937686220122 26077:26077 hsa_system_get_info(2, 0x11db198) = 0 +43937686221031:43937686221793 26077:26077 hsa_system_get_info(2, 0x11db1a0) = 0 +43937686222704:43937686223464 26077:26077 hsa_system_get_info(2, 0x11db1a8) = 0 +43937686224372:43937686225131 26077:26077 hsa_system_get_info(2, 0x11db1b0) = 0 +43937686226036:43937686226791 26077:26077 hsa_system_get_info(2, 0x11db1b8) = 0 +43937686227704:43937686228460 26077:26077 hsa_system_get_info(2, 0x11db1c0) = 0 +43937686229373:43937686230115 26077:26077 hsa_system_get_info(2, 0x11db1c8) = 0 +43937686231029:43937686231790 26077:26077 hsa_system_get_info(2, 0x11db1d0) = 0 +43937686232702:43937686233453 26077:26077 hsa_system_get_info(2, 0x11db1d8) = 0 +43937686234358:43937686235113 26077:26077 hsa_system_get_info(2, 0x11db1e0) = 0 +43937686236022:43937686236796 26077:26077 hsa_system_get_info(2, 0x11db1e8) = 0 +43937686237703:43937686238456 26077:26077 hsa_system_get_info(2, 0x11db1f0) = 0 +43937686239361:43937686240118 26077:26077 hsa_system_get_info(2, 0x11db1f8) = 0 +43937686241024:43937686241773 26077:26077 hsa_system_get_info(2, 0x11db200) = 0 +43937686242684:43937686243437 26077:26077 hsa_system_get_info(2, 0x11db208) = 0 +43937686244348:43937686245101 26077:26077 hsa_system_get_info(2, 0x11db210) = 0 +43937686246017:43937686246776 26077:26077 hsa_system_get_info(2, 0x11db218) = 0 +43937686247682:43937686248438 26077:26077 hsa_system_get_info(2, 0x11db220) = 0 +43937686249347:43937686250100 26077:26077 hsa_system_get_info(2, 0x11db228) = 0 +43937686251007:43937686251768 26077:26077 hsa_system_get_info(2, 0x11db230) = 0 +43937686252682:43937686253437 26077:26077 hsa_system_get_info(2, 0x11db238) = 0 +43937686254347:43937686255103 26077:26077 hsa_system_get_info(2, 0x11db240) = 0 +43937686256012:43937686256766 26077:26077 hsa_system_get_info(2, 0x11db248) = 0 +43937686257678:43937686258434 26077:26077 hsa_system_get_info(2, 0x11db250) = 0 +43937686259345:43937686260106 26077:26077 hsa_system_get_info(2, 0x11db258) = 0 +43937686261014:43937686261798 26077:26077 hsa_system_get_info(2, 0x11db260) = 0 +43937686263579:43937686264347 26077:26077 hsa_system_get_info(2, 0x11db268) = 0 +43937686265254:43937686266012 26077:26077 hsa_system_get_info(2, 0x11db270) = 0 +43937686266924:43937686267687 26077:26077 hsa_system_get_info(2, 0x11db278) = 0 +43937686268600:43937686269363 26077:26077 hsa_system_get_info(2, 0x11db280) = 0 +43937686270280:43937686271038 26077:26077 hsa_system_get_info(2, 0x11db288) = 0 +43937686271944:43937686272704 26077:26077 hsa_system_get_info(2, 0x11db290) = 0 +43937686273617:43937686274375 26077:26077 hsa_system_get_info(2, 0x11db298) = 0 +43937686275282:43937686276032 26077:26077 hsa_system_get_info(2, 0x11db2a0) = 0 +43937686276940:43937686277695 26077:26077 hsa_system_get_info(2, 0x11db2a8) = 0 +43937686278611:43937686279363 26077:26077 hsa_system_get_info(2, 0x11db2b0) = 0 +43937686280267:43937686281019 26077:26077 hsa_system_get_info(2, 0x11db2b8) = 0 +43937686281932:43937686282682 26077:26077 hsa_system_get_info(2, 0x11db2c0) = 0 +43937686283616:43937686284369 26077:26077 hsa_system_get_info(2, 0x11db2c8) = 0 +43937686285283:43937686286030 26077:26077 hsa_system_get_info(2, 0x11db2d0) = 0 +43937686286944:43937686287700 26077:26077 hsa_system_get_info(2, 0x11db2d8) = 0 +43937686288606:43937686289363 26077:26077 hsa_system_get_info(2, 0x11db2e0) = 0 +43937686290272:43937686291027 26077:26077 hsa_system_get_info(2, 0x11db2e8) = 0 +43937686291938:43937686292687 26077:26077 hsa_system_get_info(2, 0x11db2f0) = 0 +43937686293593:43937686294353 26077:26077 hsa_system_get_info(2, 0x11db2f8) = 0 +43937686295267:43937686296019 26077:26077 hsa_system_get_info(2, 0x11db300) = 0 +43937686296926:43937686297688 26077:26077 hsa_system_get_info(2, 0x11db308) = 0 +43937686298598:43937686299354 26077:26077 hsa_system_get_info(2, 0x11db310) = 0 +43937686300265:43937686301018 26077:26077 hsa_system_get_info(2, 0x11db318) = 0 +43937686301930:43937686302679 26077:26077 hsa_system_get_info(2, 0x11db320) = 0 +43937686303593:43937686304348 26077:26077 hsa_system_get_info(2, 0x11db328) = 0 +43937686305259:43937686306013 26077:26077 hsa_system_get_info(2, 0x11db330) = 0 +43937686306917:43937686307699 26077:26077 hsa_system_get_info(2, 0x11db338) = 0 +43937686308612:43937686309373 26077:26077 hsa_system_get_info(2, 0x11db340) = 0 +43937686311119:43937686311876 26077:26077 hsa_system_get_info(2, 0x11db348) = 0 +43937686312786:43937686313539 26077:26077 hsa_system_get_info(2, 0x11db350) = 0 +43937686314445:43937686315193 26077:26077 hsa_system_get_info(2, 0x11db358) = 0 +43937686316101:43937686316855 26077:26077 hsa_system_get_info(2, 0x11db360) = 0 +43937686317761:43937686318518 26077:26077 hsa_system_get_info(2, 0x11db368) = 0 +43937686319427:43937686320178 26077:26077 hsa_system_get_info(2, 0x11db370) = 0 +43937686321092:43937686321858 26077:26077 hsa_system_get_info(2, 0x11db378) = 0 +43937686322762:43937686323520 26077:26077 hsa_system_get_info(2, 0x11db380) = 0 +43937686324427:43937686325184 26077:26077 hsa_system_get_info(2, 0x11db388) = 0 +43937686326094:43937686326853 26077:26077 hsa_system_get_info(2, 0x11db390) = 0 +43937686327764:43937686328521 26077:26077 hsa_system_get_info(2, 0x11db398) = 0 +43937686329429:43937686330193 26077:26077 hsa_system_get_info(2, 0x11db3a0) = 0 +43937686331108:43937686331870 26077:26077 hsa_system_get_info(2, 0x11db3a8) = 0 +43937686332779:43937686333565 26077:26077 hsa_system_get_info(2, 0x11db3b0) = 0 +43937686334484:43937686335244 26077:26077 hsa_system_get_info(2, 0x11db3b8) = 0 +43937686336160:43937686336913 26077:26077 hsa_system_get_info(2, 0x11db3c0) = 0 +43937686337822:43937686338577 26077:26077 hsa_system_get_info(2, 0x11db3c8) = 0 +43937686339488:43937686340243 26077:26077 hsa_system_get_info(2, 0x11db3d0) = 0 +43937686341150:43937686341901 26077:26077 hsa_system_get_info(2, 0x11db3d8) = 0 +43937686342813:43937686343566 26077:26077 hsa_system_get_info(2, 0x11db3e0) = 0 +43937686344474:43937686345224 26077:26077 hsa_system_get_info(2, 0x11db3e8) = 0 +43937686346130:43937686346885 26077:26077 hsa_system_get_info(2, 0x11db3f0) = 0 +43937686347787:43937686348542 26077:26077 hsa_system_get_info(2, 0x11db3f8) = 0 +43937686349454:43937686350209 26077:26077 hsa_system_get_info(2, 0x11db400) = 0 +43937686351124:43937686351883 26077:26077 hsa_system_get_info(2, 0x11db408) = 0 +43937686352790:43937686353552 26077:26077 hsa_system_get_info(2, 0x11db410) = 0 +43937686354462:43937686355221 26077:26077 hsa_system_get_info(2, 0x11db418) = 0 +43937686356132:43937686356890 26077:26077 hsa_system_get_info(2, 0x11db420) = 0 +43937686357822:43937686358584 26077:26077 hsa_system_get_info(2, 0x11db428) = 0 +43937686361097:43937686361858 26077:26077 hsa_system_get_info(2, 0x11db430) = 0 +43937686362770:43937686363530 26077:26077 hsa_system_get_info(2, 0x11db438) = 0 +43937686364437:43937686365191 26077:26077 hsa_system_get_info(2, 0x11db440) = 0 +43937686366096:43937686366854 26077:26077 hsa_system_get_info(2, 0x11db448) = 0 +43937686367764:43937686368514 26077:26077 hsa_system_get_info(2, 0x11db450) = 0 +43937686369427:43937686370179 26077:26077 hsa_system_get_info(2, 0x11db458) = 0 +43937686371090:43937686371850 26077:26077 hsa_system_get_info(2, 0x11db460) = 0 +43937686372776:43937686373528 26077:26077 hsa_system_get_info(2, 0x11db468) = 0 +43937686374459:43937686375213 26077:26077 hsa_system_get_info(2, 0x11db470) = 0 +43937686376131:43937686376879 26077:26077 hsa_system_get_info(2, 0x11db478) = 0 +43937686377789:43937686378545 26077:26077 hsa_system_get_info(2, 0x11db480) = 0 +43937686379460:43937686380219 26077:26077 hsa_system_get_info(2, 0x11db488) = 0 +43937686381132:43937686381895 26077:26077 hsa_system_get_info(2, 0x11db490) = 0 +43937686382808:43937686383565 26077:26077 hsa_system_get_info(2, 0x11db498) = 0 +43937686384476:43937686385232 26077:26077 hsa_system_get_info(2, 0x11db4a0) = 0 +43937686386147:43937686386904 26077:26077 hsa_system_get_info(2, 0x11db4a8) = 0 +43937686387808:43937686388569 26077:26077 hsa_system_get_info(2, 0x11db4b0) = 0 +43937686389479:43937686390231 26077:26077 hsa_system_get_info(2, 0x11db4b8) = 0 +43937686391143:43937686391898 26077:26077 hsa_system_get_info(2, 0x11db4c0) = 0 +43937686392808:43937686393560 26077:26077 hsa_system_get_info(2, 0x11db4c8) = 0 +43937686394492:43937686395254 26077:26077 hsa_system_get_info(2, 0x11db4d0) = 0 +43937686396166:43937686396925 26077:26077 hsa_system_get_info(2, 0x11db4d8) = 0 +43937686397837:43937686398591 26077:26077 hsa_system_get_info(2, 0x11db4e0) = 0 +43937686399504:43937686400253 26077:26077 hsa_system_get_info(2, 0x11db4e8) = 0 +43937686401164:43937686401913 26077:26077 hsa_system_get_info(2, 0x11db4f0) = 0 +43937686402819:43937686403572 26077:26077 hsa_system_get_info(2, 0x11db4f8) = 0 +43937686404486:43937686405249 26077:26077 hsa_system_get_info(2, 0x11db500) = 0 +43937686406158:43937686406914 26077:26077 hsa_system_get_info(2, 0x11db508) = 0 +43937686408687:43937686409444 26077:26077 hsa_system_get_info(2, 0x11db510) = 0 +43937686410351:43937686411102 26077:26077 hsa_system_get_info(2, 0x11db518) = 0 +43937686412012:43937686412774 26077:26077 hsa_system_get_info(2, 0x11db520) = 0 +43937686413684:43937686414446 26077:26077 hsa_system_get_info(2, 0x11db528) = 0 +43937686415353:43937686416100 26077:26077 hsa_system_get_info(2, 0x11db530) = 0 +43937686417011:43937686417755 26077:26077 hsa_system_get_info(2, 0x11db538) = 0 +43937686418665:43937686419419 26077:26077 hsa_system_get_info(2, 0x11db540) = 0 +43937686420330:43937686421082 26077:26077 hsa_system_get_info(2, 0x11db548) = 0 +43937686421998:43937686422746 26077:26077 hsa_system_get_info(2, 0x11db550) = 0 +43937686423663:43937686424423 26077:26077 hsa_system_get_info(2, 0x11db558) = 0 +43937686425334:43937686426086 26077:26077 hsa_system_get_info(2, 0x11db560) = 0 +43937686426992:43937686427749 26077:26077 hsa_system_get_info(2, 0x11db568) = 0 +43937686428659:43937686429418 26077:26077 hsa_system_get_info(2, 0x11db570) = 0 +43937686430325:43937686431085 26077:26077 hsa_system_get_info(2, 0x11db578) = 0 +43937686431996:43937686432746 26077:26077 hsa_system_get_info(2, 0x11db580) = 0 +43937686433672:43937686434419 26077:26077 hsa_system_get_info(2, 0x11db588) = 0 +43937686435349:43937686436096 26077:26077 hsa_system_get_info(2, 0x11db590) = 0 +43937686437000:43937686437750 26077:26077 hsa_system_get_info(2, 0x11db598) = 0 +43937686438663:43937686439415 26077:26077 hsa_system_get_info(2, 0x11db5a0) = 0 +43937686440319:43937686441068 26077:26077 hsa_system_get_info(2, 0x11db5a8) = 0 +43937686441976:43937686442722 26077:26077 hsa_system_get_info(2, 0x11db5b0) = 0 +43937686443630:43937686444385 26077:26077 hsa_system_get_info(2, 0x11db5b8) = 0 +43937686445293:43937686446043 26077:26077 hsa_system_get_info(2, 0x11db5c0) = 0 +43937686446949:43937686447698 26077:26077 hsa_system_get_info(2, 0x11db5c8) = 0 +43937686448606:43937686449361 26077:26077 hsa_system_get_info(2, 0x11db5d0) = 0 +43937686450275:43937686451025 26077:26077 hsa_system_get_info(2, 0x11db5d8) = 0 +43937686451928:43937686452681 26077:26077 hsa_system_get_info(2, 0x11db5e0) = 0 +43937686453587:43937686454341 26077:26077 hsa_system_get_info(2, 0x11db5e8) = 0 +43937686455250:43937686456007 26077:26077 hsa_system_get_info(2, 0x11db5f0) = 0 +43937686457760:43937686458519 26077:26077 hsa_system_get_info(2, 0x11db5f8) = 0 +43937686459437:43937686460194 26077:26077 hsa_system_get_info(2, 0x11db600) = 0 +43937686461105:43937686461859 26077:26077 hsa_system_get_info(2, 0x11db608) = 0 +43937686462764:43937686463524 26077:26077 hsa_system_get_info(2, 0x11db610) = 0 +43937686464437:43937686465192 26077:26077 hsa_system_get_info(2, 0x11db618) = 0 +43937686466101:43937686466855 26077:26077 hsa_system_get_info(2, 0x11db620) = 0 +43937686467769:43937686468525 26077:26077 hsa_system_get_info(2, 0x11db628) = 0 +43937686469440:43937686470198 26077:26077 hsa_system_get_info(2, 0x11db630) = 0 +43937686471129:43937686471891 26077:26077 hsa_system_get_info(2, 0x11db638) = 0 +43937686472804:43937686473561 26077:26077 hsa_system_get_info(2, 0x11db640) = 0 +43937686474475:43937686475222 26077:26077 hsa_system_get_info(2, 0x11db648) = 0 +43937686476137:43937686476897 26077:26077 hsa_system_get_info(2, 0x11db650) = 0 +43937686477814:43937686478567 26077:26077 hsa_system_get_info(2, 0x11db658) = 0 +43937686479478:43937686480237 26077:26077 hsa_system_get_info(2, 0x11db660) = 0 +43937686481152:43937686481927 26077:26077 hsa_system_get_info(2, 0x11db668) = 0 +43937686482843:43937686483595 26077:26077 hsa_system_get_info(2, 0x11db670) = 0 +43937686484506:43937686485254 26077:26077 hsa_system_get_info(2, 0x11db678) = 0 +43937686486184:43937686486936 26077:26077 hsa_system_get_info(2, 0x11db680) = 0 +43937686487850:43937686488616 26077:26077 hsa_system_get_info(2, 0x11db688) = 0 +43937686489529:43937686490282 26077:26077 hsa_system_get_info(2, 0x11db690) = 0 +43937686491189:43937686491945 26077:26077 hsa_system_get_info(2, 0x11db698) = 0 +43937686492861:43937686493617 26077:26077 hsa_system_get_info(2, 0x11db6a0) = 0 +43937686494530:43937686495283 26077:26077 hsa_system_get_info(2, 0x11db6a8) = 0 +43937686496192:43937686496950 26077:26077 hsa_system_get_info(2, 0x11db6b0) = 0 +43937686497858:43937686498610 26077:26077 hsa_system_get_info(2, 0x11db6b8) = 0 +43937686499515:43937686500270 26077:26077 hsa_system_get_info(2, 0x11db6c0) = 0 +43937686501180:43937686501933 26077:26077 hsa_system_get_info(2, 0x11db6c8) = 0 +43937686502837:43937686503588 26077:26077 hsa_system_get_info(2, 0x11db6d0) = 0 +43937686505365:43937686506128 26077:26077 hsa_system_get_info(2, 0x11db6d8) = 0 +43937686507037:43937686507794 26077:26077 hsa_system_get_info(2, 0x11db6e0) = 0 +43937686508704:43937686509457 26077:26077 hsa_system_get_info(2, 0x11db6e8) = 0 +43937686510360:43937686511132 26077:26077 hsa_system_get_info(2, 0x11db6f0) = 0 +43937686512042:43937686512796 26077:26077 hsa_system_get_info(2, 0x11db6f8) = 0 +43937686513707:43937686514462 26077:26077 hsa_system_get_info(2, 0x11db700) = 0 +43937686515372:43937686516123 26077:26077 hsa_system_get_info(2, 0x11db708) = 0 +43937686517036:43937686517790 26077:26077 hsa_system_get_info(2, 0x11db710) = 0 +43937686518699:43937686519457 26077:26077 hsa_system_get_info(2, 0x11db718) = 0 +43937686520378:43937686521141 26077:26077 hsa_system_get_info(2, 0x11db720) = 0 +43937686522049:43937686522801 26077:26077 hsa_system_get_info(2, 0x11db728) = 0 +43937686523715:43937686524466 26077:26077 hsa_system_get_info(2, 0x11db730) = 0 +43937686525377:43937686526137 26077:26077 hsa_system_get_info(2, 0x11db738) = 0 +43937686527046:43937686527800 26077:26077 hsa_system_get_info(2, 0x11db740) = 0 +43937686528711:43937686529511 26077:26077 hsa_system_get_info(2, 0x11db748) = 0 +43937686530426:43937686531185 26077:26077 hsa_system_get_info(2, 0x11db750) = 0 +43937686532090:43937686532850 26077:26077 hsa_system_get_info(2, 0x11db758) = 0 +43937686533763:43937686534520 26077:26077 hsa_system_get_info(2, 0x11db760) = 0 +43937686535431:43937686536187 26077:26077 hsa_system_get_info(2, 0x11db768) = 0 +43937686537097:43937686537862 26077:26077 hsa_system_get_info(2, 0x11db770) = 0 +43937686538771:43937686539533 26077:26077 hsa_system_get_info(2, 0x11db778) = 0 +43937686540450:43937686541215 26077:26077 hsa_system_get_info(2, 0x11db780) = 0 +43937686542126:43937686542884 26077:26077 hsa_system_get_info(2, 0x11db788) = 0 +43937686543797:43937686544555 26077:26077 hsa_system_get_info(2, 0x11db790) = 0 +43937686545462:43937686546216 26077:26077 hsa_system_get_info(2, 0x11db798) = 0 +43937686547126:43937686547876 26077:26077 hsa_system_get_info(2, 0x11db7a0) = 0 +43937686548778:43937686549534 26077:26077 hsa_system_get_info(2, 0x11db7a8) = 0 +43937686550443:43937686551198 26077:26077 hsa_system_get_info(2, 0x11db7b0) = 0 +43937686552963:43937686553719 26077:26077 hsa_system_get_info(2, 0x11db7b8) = 0 +43937686554626:43937686555385 26077:26077 hsa_system_get_info(2, 0x11db7c0) = 0 +43937686556306:43937686557058 26077:26077 hsa_system_get_info(2, 0x11db7c8) = 0 +43937686557994:43937686558750 26077:26077 hsa_system_get_info(2, 0x11db7d0) = 0 +43937686559665:43937686560425 26077:26077 hsa_system_get_info(2, 0x11db7d8) = 0 +43937686561342:43937686562103 26077:26077 hsa_system_get_info(2, 0x11db7e0) = 0 +43937686563018:43937686563777 26077:26077 hsa_system_get_info(2, 0x11db7e8) = 0 +43937686564691:43937686565451 26077:26077 hsa_system_get_info(2, 0x11db7f0) = 0 +43937686566362:43937686567123 26077:26077 hsa_system_get_info(2, 0x11db7f8) = 0 +43937686568046:43937686568794 26077:26077 hsa_system_get_info(2, 0x11db800) = 0 +43937686569704:43937686570469 26077:26077 hsa_system_get_info(2, 0x11db808) = 0 +43937686571379:43937686572140 26077:26077 hsa_system_get_info(2, 0x11db810) = 0 +43937686573057:43937686573820 26077:26077 hsa_system_get_info(2, 0x11db818) = 0 +43937686574729:43937686575477 26077:26077 hsa_system_get_info(2, 0x11db820) = 0 +43937686576390:43937686577147 26077:26077 hsa_system_get_info(2, 0x11db828) = 0 +43937686578059:43937686578820 26077:26077 hsa_system_get_info(2, 0x11db830) = 0 +43937686579730:43937686580503 26077:26077 hsa_system_get_info(2, 0x11db838) = 0 +43937686581416:43937686582173 26077:26077 hsa_system_get_info(2, 0x11db840) = 0 +43937686583080:43937686583841 26077:26077 hsa_system_get_info(2, 0x11db848) = 0 +43937686584751:43937686585504 26077:26077 hsa_system_get_info(2, 0x11db850) = 0 +43937686586413:43937686587174 26077:26077 hsa_system_get_info(2, 0x11db858) = 0 +43937686588079:43937686588835 26077:26077 hsa_system_get_info(2, 0x11db860) = 0 +43937686589743:43937686590497 26077:26077 hsa_system_get_info(2, 0x11db868) = 0 +43937686591405:43937686592161 26077:26077 hsa_system_get_info(2, 0x11db870) = 0 +43937686593073:43937686593831 26077:26077 hsa_system_get_info(2, 0x11db878) = 0 +43937686594740:43937686595496 26077:26077 hsa_system_get_info(2, 0x11db880) = 0 +43937686596403:43937686597154 26077:26077 hsa_system_get_info(2, 0x11db888) = 0 +43937686598063:43937686598823 26077:26077 hsa_system_get_info(2, 0x11db890) = 0 +43937686599732:43937686600489 26077:26077 hsa_system_get_info(2, 0x11db898) = 0 +43937686602274:43937686603035 26077:26077 hsa_system_get_info(2, 0x11db8a0) = 0 +43937686603949:43937686604707 26077:26077 hsa_system_get_info(2, 0x11db8a8) = 0 +43937686605614:43937686606383 26077:26077 hsa_system_get_info(2, 0x11db8b0) = 0 +43937686607291:43937686608045 26077:26077 hsa_system_get_info(2, 0x11db8b8) = 0 +43937686608961:43937686609721 26077:26077 hsa_system_get_info(2, 0x11db8c0) = 0 +43937686610631:43937686611396 26077:26077 hsa_system_get_info(2, 0x11db8c8) = 0 +43937686612318:43937686613085 26077:26077 hsa_system_get_info(2, 0x11db8d0) = 0 +43937686613998:43937686614760 26077:26077 hsa_system_get_info(2, 0x11db8d8) = 0 +43937686615681:43937686616443 26077:26077 hsa_system_get_info(2, 0x11db8e0) = 0 +43937686617357:43937686618111 26077:26077 hsa_system_get_info(2, 0x11db8e8) = 0 +43937686619019:43937686619775 26077:26077 hsa_system_get_info(2, 0x11db8f0) = 0 +43937686620689:43937686621444 26077:26077 hsa_system_get_info(2, 0x11db8f8) = 0 +43937686622361:43937686623121 26077:26077 hsa_system_get_info(2, 0x11db900) = 0 +43937686624035:43937686624794 26077:26077 hsa_system_get_info(2, 0x11db908) = 0 +43937686625705:43937686626462 26077:26077 hsa_system_get_info(2, 0x11db910) = 0 +43937686627396:43937686628147 26077:26077 hsa_system_get_info(2, 0x11db918) = 0 +43937686629055:43937686629806 26077:26077 hsa_system_get_info(2, 0x11db920) = 0 +43937686630716:43937686631469 26077:26077 hsa_system_get_info(2, 0x11db928) = 0 +43937686632381:43937686633135 26077:26077 hsa_system_get_info(2, 0x11db930) = 0 +43937686634045:43937686634798 26077:26077 hsa_system_get_info(2, 0x11db938) = 0 +43937686635708:43937686636466 26077:26077 hsa_system_get_info(2, 0x11db940) = 0 +43937686637379:43937686638134 26077:26077 hsa_system_get_info(2, 0x11db948) = 0 +43937686639046:43937686639805 26077:26077 hsa_system_get_info(2, 0x11db950) = 0 +43937686640710:43937686641471 26077:26077 hsa_system_get_info(2, 0x11db958) = 0 +43937686642382:43937686643139 26077:26077 hsa_system_get_info(2, 0x11db960) = 0 +43937686644048:43937686644797 26077:26077 hsa_system_get_info(2, 0x11db968) = 0 +43937686645710:43937686646474 26077:26077 hsa_system_get_info(2, 0x11db970) = 0 +43937686647387:43937686648155 26077:26077 hsa_system_get_info(2, 0x11db978) = 0 +43937686649903:43937686650668 26077:26077 hsa_system_get_info(2, 0x11db980) = 0 +43937686651582:43937686652342 26077:26077 hsa_system_get_info(2, 0x11db988) = 0 +43937686653252:43937686654011 26077:26077 hsa_system_get_info(2, 0x11db990) = 0 +43937686654917:43937686655673 26077:26077 hsa_system_get_info(2, 0x11db998) = 0 +43937686656582:43937686657343 26077:26077 hsa_system_get_info(2, 0x11db9a0) = 0 +43937686658245:43937686659002 26077:26077 hsa_system_get_info(2, 0x11db9a8) = 0 +43937686659915:43937686660672 26077:26077 hsa_system_get_info(2, 0x11db9b0) = 0 +43937686661582:43937686662335 26077:26077 hsa_system_get_info(2, 0x11db9b8) = 0 +43937686663264:43937686664024 26077:26077 hsa_system_get_info(2, 0x11db9c0) = 0 +43937686664940:43937686665690 26077:26077 hsa_system_get_info(2, 0x11db9c8) = 0 +43937686666604:43937686667358 26077:26077 hsa_system_get_info(2, 0x11db9d0) = 0 +43937686668277:43937686669038 26077:26077 hsa_system_get_info(2, 0x11db9d8) = 0 +43937686669954:43937686670709 26077:26077 hsa_system_get_info(2, 0x11db9e0) = 0 +43937686671614:43937686672365 26077:26077 hsa_system_get_info(2, 0x11db9e8) = 0 +43937686673279:43937686674038 26077:26077 hsa_system_get_info(2, 0x11db9f0) = 0 +43937686674950:43937686675705 26077:26077 hsa_system_get_info(2, 0x11db9f8) = 0 +43937686676612:43937686677370 26077:26077 hsa_system_get_info(2, 0x11dba00) = 0 +43937686678281:43937686679036 26077:26077 hsa_system_get_info(2, 0x11dba08) = 0 +43937686679938:43937686680690 26077:26077 hsa_system_get_info(2, 0x11dba10) = 0 +43937686681597:43937686682360 26077:26077 hsa_system_get_info(2, 0x11dba18) = 0 +43937686683274:43937686684033 26077:26077 hsa_system_get_info(2, 0x11dba20) = 0 +43937686684940:43937686685696 26077:26077 hsa_system_get_info(2, 0x11dba28) = 0 +43937686686614:43937686687396 26077:26077 hsa_system_get_info(2, 0x11dba30) = 0 +43937686688301:43937686689051 26077:26077 hsa_system_get_info(2, 0x11dba38) = 0 +43937686689962:43937686690718 26077:26077 hsa_system_get_info(2, 0x11dba40) = 0 +43937686691622:43937686692385 26077:26077 hsa_system_get_info(2, 0x11dba48) = 0 +43937686693296:43937686694050 26077:26077 hsa_system_get_info(2, 0x11dba50) = 0 +43937686694957:43937686695697 26077:26077 hsa_system_get_info(2, 0x11dba58) = 0 +43937686696608:43937686697356 26077:26077 hsa_system_get_info(2, 0x11dba60) = 0 +43937686699125:43937686699885 26077:26077 hsa_system_get_info(2, 0x11dba68) = 0 +43937686700796:43937686701547 26077:26077 hsa_system_get_info(2, 0x11dba70) = 0 +43937686702458:43937686703217 26077:26077 hsa_system_get_info(2, 0x11dba78) = 0 +43937686704126:43937686704884 26077:26077 hsa_system_get_info(2, 0x11dba80) = 0 +43937686705788:43937686706546 26077:26077 hsa_system_get_info(2, 0x11dba88) = 0 +43937686707461:43937686708217 26077:26077 hsa_system_get_info(2, 0x11dba90) = 0 +43937686709125:43937686709882 26077:26077 hsa_system_get_info(2, 0x11dba98) = 0 +43937686710812:43937686711572 26077:26077 hsa_system_get_info(2, 0x11dbaa0) = 0 +43937686712487:43937686713249 26077:26077 hsa_system_get_info(2, 0x11dbaa8) = 0 +43937686714155:43937686714917 26077:26077 hsa_system_get_info(2, 0x11dbab0) = 0 +43937686715825:43937686716575 26077:26077 hsa_system_get_info(2, 0x11dbab8) = 0 +43937686717492:43937686718250 26077:26077 hsa_system_get_info(2, 0x11dbac0) = 0 +43937686719159:43937686719908 26077:26077 hsa_system_get_info(2, 0x11dbac8) = 0 +43937686720818:43937686721568 26077:26077 hsa_system_get_info(2, 0x11dbad0) = 0 +43937686722476:43937686723232 26077:26077 hsa_system_get_info(2, 0x11dbad8) = 0 +43937686724142:43937686724900 26077:26077 hsa_system_get_info(2, 0x11dbae0) = 0 +43937686725817:43937686726563 26077:26077 hsa_system_get_info(2, 0x11dbae8) = 0 +43937686727473:43937686728225 26077:26077 hsa_system_get_info(2, 0x11dbaf0) = 0 +43937686729138:43937686729887 26077:26077 hsa_system_get_info(2, 0x11dbaf8) = 0 +43937686730796:43937686731549 26077:26077 hsa_system_get_info(2, 0x11dbb00) = 0 +43937686732460:43937686733210 26077:26077 hsa_system_get_info(2, 0x11dbb08) = 0 +43937686734148:43937686734903 26077:26077 hsa_system_get_info(2, 0x11dbb10) = 0 +43937686735835:43937686736590 26077:26077 hsa_system_get_info(2, 0x11dbb18) = 0 +43937686737517:43937686738269 26077:26077 hsa_system_get_info(2, 0x11dbb20) = 0 +43937686739172:43937686739931 26077:26077 hsa_system_get_info(2, 0x11dbb28) = 0 +43937686740838:43937686741594 26077:26077 hsa_system_get_info(2, 0x11dbb30) = 0 +43937686742502:43937686743252 26077:26077 hsa_system_get_info(2, 0x11dbb38) = 0 +43937686744160:43937686744912 26077:26077 hsa_system_get_info(2, 0x11dbb40) = 0 +43937686746642:43937686747396 26077:26077 hsa_system_get_info(2, 0x11dbb48) = 0 +43937686748304:43937686749055 26077:26077 hsa_system_get_info(2, 0x11dbb50) = 0 +43937686749967:43937686750719 26077:26077 hsa_system_get_info(2, 0x11dbb58) = 0 +43937686751633:43937686752394 26077:26077 hsa_system_get_info(2, 0x11dbb60) = 0 +43937686753307:43937686754058 26077:26077 hsa_system_get_info(2, 0x11dbb68) = 0 +43937686754967:43937686755726 26077:26077 hsa_system_get_info(2, 0x11dbb70) = 0 +43937686756640:43937686757405 26077:26077 hsa_system_get_info(2, 0x11dbb78) = 0 +43937686758320:43937686759080 26077:26077 hsa_system_get_info(2, 0x11dbb80) = 0 +43937686759999:43937686760760 26077:26077 hsa_system_get_info(2, 0x11dbb88) = 0 +43937686761675:43937686762434 26077:26077 hsa_system_get_info(2, 0x11dbb90) = 0 +43937686763341:43937686764098 26077:26077 hsa_system_get_info(2, 0x11dbb98) = 0 +43937686765004:43937686765763 26077:26077 hsa_system_get_info(2, 0x11dbba0) = 0 +43937686766683:43937686767439 26077:26077 hsa_system_get_info(2, 0x11dbba8) = 0 +43937686768362:43937686769120 26077:26077 hsa_system_get_info(2, 0x11dbbb0) = 0 +43937686770028:43937686770787 26077:26077 hsa_system_get_info(2, 0x11dbbb8) = 0 +43937686771698:43937686772447 26077:26077 hsa_system_get_info(2, 0x11dbbc0) = 0 +43937686773360:43937686774107 26077:26077 hsa_system_get_info(2, 0x11dbbc8) = 0 +43937686775016:43937686775770 26077:26077 hsa_system_get_info(2, 0x11dbbd0) = 0 +43937686776674:43937686777425 26077:26077 hsa_system_get_info(2, 0x11dbbd8) = 0 +43937686778338:43937686779093 26077:26077 hsa_system_get_info(2, 0x11dbbe0) = 0 +43937686780005:43937686780762 26077:26077 hsa_system_get_info(2, 0x11dbbe8) = 0 +43937686781675:43937686782425 26077:26077 hsa_system_get_info(2, 0x11dbbf0) = 0 +43937686783334:43937686784093 26077:26077 hsa_system_get_info(2, 0x11dbbf8) = 0 +43937686785004:43937686785760 26077:26077 hsa_system_get_info(2, 0x11dbc00) = 0 +43937686786674:43937686787431 26077:26077 hsa_system_get_info(2, 0x11dbc08) = 0 +43937686788341:43937686789099 26077:26077 hsa_system_get_info(2, 0x11dbc10) = 0 +43937686790007:43937686790753 26077:26077 hsa_system_get_info(2, 0x11dbc18) = 0 +43937686791668:43937686792451 26077:26077 hsa_system_get_info(2, 0x11dbc20) = 0 +43937686793362:43937686794112 26077:26077 hsa_system_get_info(2, 0x11dbc28) = 0 +43937686795842:43937686796604 26077:26077 hsa_system_get_info(2, 0x11dbc30) = 0 +43937686797516:43937686798272 26077:26077 hsa_system_get_info(2, 0x11dbc38) = 0 +43937686799185:43937686799943 26077:26077 hsa_system_get_info(2, 0x11dbc40) = 0 +43937686800859:43937686801624 26077:26077 hsa_system_get_info(2, 0x11dbc48) = 0 +43937686802528:43937686803279 26077:26077 hsa_system_get_info(2, 0x11dbc50) = 0 +43937686804189:43937686804945 26077:26077 hsa_system_get_info(2, 0x11dbc58) = 0 +43937686805852:43937686806610 26077:26077 hsa_system_get_info(2, 0x11dbc60) = 0 +43937686807521:43937686808278 26077:26077 hsa_system_get_info(2, 0x11dbc68) = 0 +43937686809212:43937686809973 26077:26077 hsa_system_get_info(2, 0x11dbc70) = 0 +43937686810882:43937686811638 26077:26077 hsa_system_get_info(2, 0x11dbc78) = 0 +43937686812549:43937686813296 26077:26077 hsa_system_get_info(2, 0x11dbc80) = 0 +43937686814202:43937686814953 26077:26077 hsa_system_get_info(2, 0x11dbc88) = 0 +43937686815858:43937686816610 26077:26077 hsa_system_get_info(2, 0x11dbc90) = 0 +43937686817536:43937686818296 26077:26077 hsa_system_get_info(2, 0x11dbc98) = 0 +43937686819208:43937686819963 26077:26077 hsa_system_get_info(2, 0x11dbca0) = 0 +43937686820873:43937686821628 26077:26077 hsa_system_get_info(2, 0x11dbca8) = 0 +43937686822531:43937686823285 26077:26077 hsa_system_get_info(2, 0x11dbcb0) = 0 +43937686824196:43937686824949 26077:26077 hsa_system_get_info(2, 0x11dbcb8) = 0 +43937686825856:43937686826617 26077:26077 hsa_system_get_info(2, 0x11dbcc0) = 0 +43937686827529:43937686828292 26077:26077 hsa_system_get_info(2, 0x11dbcc8) = 0 +43937686829205:43937686829959 26077:26077 hsa_system_get_info(2, 0x11dbcd0) = 0 +43937686830872:43937686831617 26077:26077 hsa_system_get_info(2, 0x11dbcd8) = 0 +43937686832533:43937686833282 26077:26077 hsa_system_get_info(2, 0x11dbce0) = 0 +43937686834193:43937686834937 26077:26077 hsa_system_get_info(2, 0x11dbce8) = 0 +43937686835847:43937686836603 26077:26077 hsa_system_get_info(2, 0x11dbcf0) = 0 +43937686837514:43937686838267 26077:26077 hsa_system_get_info(2, 0x11dbcf8) = 0 +43937686839180:43937686839931 26077:26077 hsa_system_get_info(2, 0x11dbd00) = 0 +43937686840845:43937686841627 26077:26077 hsa_system_get_info(2, 0x11dbd08) = 0 +43937686843384:43937686844150 26077:26077 hsa_system_get_info(2, 0x11dbd10) = 0 +43937686845067:43937686845823 26077:26077 hsa_system_get_info(2, 0x11dbd18) = 0 +43937686846739:43937686847499 26077:26077 hsa_system_get_info(2, 0x11dbd20) = 0 +43937686848412:43937686849169 26077:26077 hsa_system_get_info(2, 0x11dbd28) = 0 +43937686850084:43937686850834 26077:26077 hsa_system_get_info(2, 0x11dbd30) = 0 +43937686851747:43937686852504 26077:26077 hsa_system_get_info(2, 0x11dbd38) = 0 +43937686853416:43937686854171 26077:26077 hsa_system_get_info(2, 0x11dbd40) = 0 +43937686855077:43937686855828 26077:26077 hsa_system_get_info(2, 0x11dbd48) = 0 +43937686856737:43937686857494 26077:26077 hsa_system_get_info(2, 0x11dbd50) = 0 +43937686858413:43937686859176 26077:26077 hsa_system_get_info(2, 0x11dbd58) = 0 +43937686860095:43937686860842 26077:26077 hsa_system_get_info(2, 0x11dbd60) = 0 +43937686861756:43937686862511 26077:26077 hsa_system_get_info(2, 0x11dbd68) = 0 +43937686863424:43937686864181 26077:26077 hsa_system_get_info(2, 0x11dbd70) = 0 +43937686865093:43937686865843 26077:26077 hsa_system_get_info(2, 0x11dbd78) = 0 +43937686866753:43937686867526 26077:26077 hsa_system_get_info(2, 0x11dbd80) = 0 +43937686868438:43937686869193 26077:26077 hsa_system_get_info(2, 0x11dbd88) = 0 +43937686870104:43937686870859 26077:26077 hsa_system_get_info(2, 0x11dbd90) = 0 +43937686871764:43937686872517 26077:26077 hsa_system_get_info(2, 0x11dbd98) = 0 +43937686873424:43937686874177 26077:26077 hsa_system_get_info(2, 0x11dbda0) = 0 +43937686875084:43937686875840 26077:26077 hsa_system_get_info(2, 0x11dbda8) = 0 +43937686876753:43937686877515 26077:26077 hsa_system_get_info(2, 0x11dbdb0) = 0 +43937686878426:43937686879185 26077:26077 hsa_system_get_info(2, 0x11dbdb8) = 0 +43937686880090:43937686880846 26077:26077 hsa_system_get_info(2, 0x11dbdc0) = 0 +43937686881760:43937686882507 26077:26077 hsa_system_get_info(2, 0x11dbdc8) = 0 +43937686883414:43937686884171 26077:26077 hsa_system_get_info(2, 0x11dbdd0) = 0 +43937686885083:43937686885846 26077:26077 hsa_system_get_info(2, 0x11dbdd8) = 0 +43937686886757:43937686887514 26077:26077 hsa_system_get_info(2, 0x11dbde0) = 0 +43937686888427:43937686889186 26077:26077 hsa_system_get_info(2, 0x11dbde8) = 0 +43937686890098:43937686890865 26077:26077 hsa_system_get_info(2, 0x11dbdf0) = 0 +43937686892662:43937686893433 26077:26077 hsa_system_get_info(2, 0x11dbdf8) = 0 +43937686894348:43937686895101 26077:26077 hsa_system_get_info(2, 0x11dbe00) = 0 +43937686896007:43937686896766 26077:26077 hsa_system_get_info(2, 0x11dbe08) = 0 +43937686897678:43937686898434 26077:26077 hsa_system_get_info(2, 0x11dbe10) = 0 +43937686899351:43937686900106 26077:26077 hsa_system_get_info(2, 0x11dbe18) = 0 +43937686901019:43937686901778 26077:26077 hsa_system_get_info(2, 0x11dbe20) = 0 +43937686902693:43937686903447 26077:26077 hsa_system_get_info(2, 0x11dbe28) = 0 +43937686904358:43937686905107 26077:26077 hsa_system_get_info(2, 0x11dbe30) = 0 +43937686906039:43937686906790 26077:26077 hsa_system_get_info(2, 0x11dbe38) = 0 +43937686907699:43937686908449 26077:26077 hsa_system_get_info(2, 0x11dbe40) = 0 +43937686909359:43937686910107 26077:26077 hsa_system_get_info(2, 0x11dbe48) = 0 +43937686911019:43937686911776 26077:26077 hsa_system_get_info(2, 0x11dbe50) = 0 +43937686912688:43937686913441 26077:26077 hsa_system_get_info(2, 0x11dbe58) = 0 +43937686914352:43937686915110 26077:26077 hsa_system_get_info(2, 0x11dbe60) = 0 +43937686916018:43937686916793 26077:26077 hsa_system_get_info(2, 0x11dbe68) = 0 +43937686917704:43937686918463 26077:26077 hsa_system_get_info(2, 0x11dbe70) = 0 +43937686919377:43937686920136 26077:26077 hsa_system_get_info(2, 0x11dbe78) = 0 +43937686921047:43937686921797 26077:26077 hsa_system_get_info(2, 0x11dbe80) = 0 +43937686922710:43937686923468 26077:26077 hsa_system_get_info(2, 0x11dbe88) = 0 +43937686924377:43937686925139 26077:26077 hsa_system_get_info(2, 0x11dbe90) = 0 +43937686926048:43937686926810 26077:26077 hsa_system_get_info(2, 0x11dbe98) = 0 +43937686927716:43937686928477 26077:26077 hsa_system_get_info(2, 0x11dbea0) = 0 +43937686929386:43937686930149 26077:26077 hsa_system_get_info(2, 0x11dbea8) = 0 +43937686931060:43937686931818 26077:26077 hsa_system_get_info(2, 0x11dbeb0) = 0 +43937686932731:43937686933495 26077:26077 hsa_system_get_info(2, 0x11dbeb8) = 0 +43937686934406:43937686935162 26077:26077 hsa_system_get_info(2, 0x11dbec0) = 0 +43937686936071:43937686936824 26077:26077 hsa_system_get_info(2, 0x11dbec8) = 0 +43937686937732:43937686938486 26077:26077 hsa_system_get_info(2, 0x11dbed0) = 0 +43937686940233:43937686940994 26077:26077 hsa_system_get_info(2, 0x11dbed8) = 0 +43937686941904:43937686942655 26077:26077 hsa_system_get_info(2, 0x11dbee0) = 0 +43937686943560:43937686944315 26077:26077 hsa_system_get_info(2, 0x11dbee8) = 0 +43937686945220:43937686945967 26077:26077 hsa_system_get_info(2, 0x11dbef0) = 0 +43937686946876:43937686947629 26077:26077 hsa_system_get_info(2, 0x11dbef8) = 0 +43937686948540:43937686949291 26077:26077 hsa_system_get_info(2, 0x11dbf00) = 0 +43937686950200:43937686950957 26077:26077 hsa_system_get_info(2, 0x11dbf08) = 0 +43937686951869:43937686952626 26077:26077 hsa_system_get_info(2, 0x11dbf10) = 0 +43937686953531:43937686954286 26077:26077 hsa_system_get_info(2, 0x11dbf18) = 0 +43937686955205:43937686955964 26077:26077 hsa_system_get_info(2, 0x11dbf20) = 0 +43937686956876:43937686957633 26077:26077 hsa_system_get_info(2, 0x11dbf28) = 0 +43937686958568:43937686959328 26077:26077 hsa_system_get_info(2, 0x11dbf30) = 0 +43937686960241:43937686960995 26077:26077 hsa_system_get_info(2, 0x11dbf38) = 0 +43937686961908:43937686962652 26077:26077 hsa_system_get_info(2, 0x11dbf40) = 0 +43937686963562:43937686964320 26077:26077 hsa_system_get_info(2, 0x11dbf48) = 0 +43937686965236:43937686965995 26077:26077 hsa_system_get_info(2, 0x11dbf50) = 0 +43937686966909:43937686967669 26077:26077 hsa_system_get_info(2, 0x11dbf58) = 0 +43937686968579:43937686969337 26077:26077 hsa_system_get_info(2, 0x11dbf60) = 0 +43937686970251:43937686971011 26077:26077 hsa_system_get_info(2, 0x11dbf68) = 0 +43937686971921:43937686972683 26077:26077 hsa_system_get_info(2, 0x11dbf70) = 0 +43937686973594:43937686974358 26077:26077 hsa_system_get_info(2, 0x11dbf78) = 0 +43937686975264:43937686976026 26077:26077 hsa_system_get_info(2, 0x11dbf80) = 0 +43937686976943:43937686977703 26077:26077 hsa_system_get_info(2, 0x11dbf88) = 0 +43937686978616:43937686979372 26077:26077 hsa_system_get_info(2, 0x11dbf90) = 0 +43937686980288:43937686981044 26077:26077 hsa_system_get_info(2, 0x11dbf98) = 0 +43937686981950:43937686982729 26077:26077 hsa_system_get_info(2, 0x11dbfa0) = 0 +43937686983644:43937686984406 26077:26077 hsa_system_get_info(2, 0x11dbfa8) = 0 +43937686985319:43937686986093 26077:26077 hsa_system_get_info(2, 0x11dbfb0) = 0 +43937686987835:43937686988596 26077:26077 hsa_system_get_info(2, 0x11dbfb8) = 0 +43937686989508:43937686990263 26077:26077 hsa_system_get_info(2, 0x11dbfc0) = 0 +43937686991178:43937686991929 26077:26077 hsa_system_get_info(2, 0x11dbfc8) = 0 +43937686992838:43937686993599 26077:26077 hsa_system_get_info(2, 0x11dbfd0) = 0 +43937686994511:43937686995264 26077:26077 hsa_system_get_info(2, 0x11dbfd8) = 0 +43937686996171:43937686996931 26077:26077 hsa_system_get_info(2, 0x11dbfe0) = 0 +43937686997837:43937686998593 26077:26077 hsa_system_get_info(2, 0x11dbfe8) = 0 +43937686999508:43937687000269 26077:26077 hsa_system_get_info(2, 0x11dbff0) = 0 +43937687001181:43937687001930 26077:26077 hsa_system_get_info(2, 0x11dbff8) = 0 +43937687002842:43937687003602 26077:26077 hsa_system_get_info(2, 0x11dc000) = 0 +43937687004515:43937687005272 26077:26077 hsa_system_get_info(2, 0x11dc008) = 0 +43937687006185:43937687006933 26077:26077 hsa_system_get_info(2, 0x11dc010) = 0 +43937687007842:43937687008596 26077:26077 hsa_system_get_info(2, 0x11dc018) = 0 +43937687009511:43937687010284 26077:26077 hsa_system_get_info(2, 0x11dc020) = 0 +43937687011192:43937687011948 26077:26077 hsa_system_get_info(2, 0x11dc028) = 0 +43937687012866:43937687013625 26077:26077 hsa_system_get_info(2, 0x11dc030) = 0 +43937687014538:43937687015290 26077:26077 hsa_system_get_info(2, 0x11dc038) = 0 +43937687016203:43937687016969 26077:26077 hsa_system_get_info(2, 0x11dc040) = 0 +43937687017883:43937687018640 26077:26077 hsa_system_get_info(2, 0x11dc048) = 0 +43937687019551:43937687020302 26077:26077 hsa_system_get_info(2, 0x11dc050) = 0 +43937687021211:43937687021967 26077:26077 hsa_system_get_info(2, 0x11dc058) = 0 +43937687022881:43937687023644 26077:26077 hsa_system_get_info(2, 0x11dc060) = 0 +43937687024560:43937687025317 26077:26077 hsa_system_get_info(2, 0x11dc068) = 0 +43937687026237:43937687026994 26077:26077 hsa_system_get_info(2, 0x11dc070) = 0 +43937687027904:43937687028657 26077:26077 hsa_system_get_info(2, 0x11dc078) = 0 +43937687029565:43937687030315 26077:26077 hsa_system_get_info(2, 0x11dc080) = 0 +43937687031228:43937687031978 26077:26077 hsa_system_get_info(2, 0x11dc088) = 0 +43937687032887:43937687033642 26077:26077 hsa_system_get_info(2, 0x11dc090) = 0 +43937687034550:43937687035311 26077:26077 hsa_system_get_info(2, 0x11dc098) = 0 +43937687037812:43937687038578 26077:26077 hsa_system_get_info(2, 0x11dc0a0) = 0 +43937687039489:43937687040244 26077:26077 hsa_system_get_info(2, 0x11dc0a8) = 0 +43937687041153:43937687041912 26077:26077 hsa_system_get_info(2, 0x11dc0b0) = 0 +43937687042822:43937687043581 26077:26077 hsa_system_get_info(2, 0x11dc0b8) = 0 +43937687044497:43937687045253 26077:26077 hsa_system_get_info(2, 0x11dc0c0) = 0 +43937687046165:43937687046925 26077:26077 hsa_system_get_info(2, 0x11dc0c8) = 0 +43937687047846:43937687048608 26077:26077 hsa_system_get_info(2, 0x11dc0d0) = 0 +43937687049524:43937687050278 26077:26077 hsa_system_get_info(2, 0x11dc0d8) = 0 +43937687051192:43937687051950 26077:26077 hsa_system_get_info(2, 0x11dc0e0) = 0 +43937687052864:43937687053625 26077:26077 hsa_system_get_info(2, 0x11dc0e8) = 0 +43937687054537:43937687055289 26077:26077 hsa_system_get_info(2, 0x11dc0f0) = 0 +43937687056196:43937687056956 26077:26077 hsa_system_get_info(2, 0x11dc0f8) = 0 +43937687057867:43937687058622 26077:26077 hsa_system_get_info(2, 0x11dc100) = 0 +43937687059532:43937687060290 26077:26077 hsa_system_get_info(2, 0x11dc108) = 0 +43937687061203:43937687061977 26077:26077 hsa_system_get_info(2, 0x11dc110) = 0 +43937687062892:43937687063654 26077:26077 hsa_system_get_info(2, 0x11dc118) = 0 +43937687064565:43937687065328 26077:26077 hsa_system_get_info(2, 0x11dc120) = 0 +43937687066239:43937687066992 26077:26077 hsa_system_get_info(2, 0x11dc128) = 0 +43937687067907:43937687068668 26077:26077 hsa_system_get_info(2, 0x11dc130) = 0 +43937687069576:43937687070332 26077:26077 hsa_system_get_info(2, 0x11dc138) = 0 +43937687071240:43937687071994 26077:26077 hsa_system_get_info(2, 0x11dc140) = 0 +43937687072903:43937687073656 26077:26077 hsa_system_get_info(2, 0x11dc148) = 0 +43937687074565:43937687075320 26077:26077 hsa_system_get_info(2, 0x11dc150) = 0 +43937687076231:43937687076990 26077:26077 hsa_system_get_info(2, 0x11dc158) = 0 +43937687077900:43937687078653 26077:26077 hsa_system_get_info(2, 0x11dc160) = 0 +43937687079559:43937687080316 26077:26077 hsa_system_get_info(2, 0x11dc168) = 0 +43937687081226:43937687081985 26077:26077 hsa_system_get_info(2, 0x11dc170) = 0 +43937687082895:43937687083647 26077:26077 hsa_system_get_info(2, 0x11dc178) = 0 +43937687085437:43937687086201 26077:26077 hsa_system_get_info(2, 0x11dc180) = 0 +43937687087111:43937687087865 26077:26077 hsa_system_get_info(2, 0x11dc188) = 0 +43937687088769:43937687089524 26077:26077 hsa_system_get_info(2, 0x11dc190) = 0 +43937687090432:43937687091188 26077:26077 hsa_system_get_info(2, 0x11dc198) = 0 +43937687092094:43937687092845 26077:26077 hsa_system_get_info(2, 0x11dc1a0) = 0 +43937687093752:43937687094504 26077:26077 hsa_system_get_info(2, 0x11dc1a8) = 0 +43937687095412:43937687096163 26077:26077 hsa_system_get_info(2, 0x11dc1b0) = 0 +43937687097070:43937687097819 26077:26077 hsa_system_get_info(2, 0x11dc1b8) = 0 +43937687098732:43937687099495 26077:26077 hsa_system_get_info(2, 0x11dc1c0) = 0 +43937687100410:43937687101164 26077:26077 hsa_system_get_info(2, 0x11dc1c8) = 0 +43937687102073:43937687102830 26077:26077 hsa_system_get_info(2, 0x11dc1d0) = 0 +43937687103734:43937687104490 26077:26077 hsa_system_get_info(2, 0x11dc1d8) = 0 +43937687105404:43937687106160 26077:26077 hsa_system_get_info(2, 0x11dc1e0) = 0 +43937687107069:43937687107818 26077:26077 hsa_system_get_info(2, 0x11dc1e8) = 0 +43937687108738:43937687109487 26077:26077 hsa_system_get_info(2, 0x11dc1f0) = 0 +43937687110397:43937687111155 26077:26077 hsa_system_get_info(2, 0x11dc1f8) = 0 +43937687112060:43937687112813 26077:26077 hsa_system_get_info(2, 0x11dc200) = 0 +43937687113719:43937687114474 26077:26077 hsa_system_get_info(2, 0x11dc208) = 0 +43937687115383:43937687116140 26077:26077 hsa_system_get_info(2, 0x11dc210) = 0 +43937687117050:43937687117806 26077:26077 hsa_system_get_info(2, 0x11dc218) = 0 +43937687118712:43937687119467 26077:26077 hsa_system_get_info(2, 0x11dc220) = 0 +43937687120374:43937687121122 26077:26077 hsa_system_get_info(2, 0x11dc228) = 0 +43937687122029:43937687122788 26077:26077 hsa_system_get_info(2, 0x11dc230) = 0 +43937687123698:43937687124460 26077:26077 hsa_system_get_info(2, 0x11dc238) = 0 +43937687125375:43937687126131 26077:26077 hsa_system_get_info(2, 0x11dc240) = 0 +43937687127044:43937687127797 26077:26077 hsa_system_get_info(2, 0x11dc248) = 0 +43937687128708:43937687129462 26077:26077 hsa_system_get_info(2, 0x11dc250) = 0 +43937687130372:43937687131128 26077:26077 hsa_system_get_info(2, 0x11dc258) = 0 +43937687132034:43937687132789 26077:26077 hsa_system_get_info(2, 0x11dc260) = 0 +43937687134525:43937687135290 26077:26077 hsa_system_get_info(2, 0x11dc268) = 0 +43937687136197:43937687136948 26077:26077 hsa_system_get_info(2, 0x11dc270) = 0 +43937687137863:43937687138622 26077:26077 hsa_system_get_info(2, 0x11dc278) = 0 +43937687139528:43937687140282 26077:26077 hsa_system_get_info(2, 0x11dc280) = 0 +43937687141193:43937687141955 26077:26077 hsa_system_get_info(2, 0x11dc288) = 0 +43937687142866:43937687143628 26077:26077 hsa_system_get_info(2, 0x11dc290) = 0 +43937687144535:43937687145285 26077:26077 hsa_system_get_info(2, 0x11dc298) = 0 +43937687146196:43937687146958 26077:26077 hsa_system_get_info(2, 0x11dc2a0) = 0 +43937687147865:43937687148624 26077:26077 hsa_system_get_info(2, 0x11dc2a8) = 0 +43937687149529:43937687150289 26077:26077 hsa_system_get_info(2, 0x11dc2b0) = 0 +43937687151198:43937687151945 26077:26077 hsa_system_get_info(2, 0x11dc2b8) = 0 +43937687152851:43937687153599 26077:26077 hsa_system_get_info(2, 0x11dc2c0) = 0 +43937687154510:43937687155263 26077:26077 hsa_system_get_info(2, 0x11dc2c8) = 0 +43937687156169:43937687156927 26077:26077 hsa_system_get_info(2, 0x11dc2d0) = 0 +43937687157841:43937687158613 26077:26077 hsa_system_get_info(2, 0x11dc2d8) = 0 +43937687159525:43937687160286 26077:26077 hsa_system_get_info(2, 0x11dc2e0) = 0 +43937687161199:43937687161954 26077:26077 hsa_system_get_info(2, 0x11dc2e8) = 0 +43937687162864:43937687163611 26077:26077 hsa_system_get_info(2, 0x11dc2f0) = 0 +43937687164522:43937687165275 26077:26077 hsa_system_get_info(2, 0x11dc2f8) = 0 +43937687166189:43937687166946 26077:26077 hsa_system_get_info(2, 0x11dc300) = 0 +43937687167853:43937687168613 26077:26077 hsa_system_get_info(2, 0x11dc308) = 0 +43937687169528:43937687170280 26077:26077 hsa_system_get_info(2, 0x11dc310) = 0 +43937687171194:43937687171952 26077:26077 hsa_system_get_info(2, 0x11dc318) = 0 +43937687172858:43937687173617 26077:26077 hsa_system_get_info(2, 0x11dc320) = 0 +43937687174557:43937687175323 26077:26077 hsa_system_get_info(2, 0x11dc328) = 0 +43937687176234:43937687176991 26077:26077 hsa_system_get_info(2, 0x11dc330) = 0 +43937687177920:43937687178674 26077:26077 hsa_system_get_info(2, 0x11dc338) = 0 +43937687179591:43937687180347 26077:26077 hsa_system_get_info(2, 0x11dc340) = 0 +43937687182103:43937687182854 26077:26077 hsa_system_get_info(2, 0x11dc348) = 0 +43937687183763:43937687184522 26077:26077 hsa_system_get_info(2, 0x11dc350) = 0 +43937687185437:43937687186196 26077:26077 hsa_system_get_info(2, 0x11dc358) = 0 +43937687187103:43937687187862 26077:26077 hsa_system_get_info(2, 0x11dc360) = 0 +43937687188774:43937687189535 26077:26077 hsa_system_get_info(2, 0x11dc368) = 0 +43937687190445:43937687191200 26077:26077 hsa_system_get_info(2, 0x11dc370) = 0 +43937687192109:43937687192869 26077:26077 hsa_system_get_info(2, 0x11dc378) = 0 +43937687193783:43937687194540 26077:26077 hsa_system_get_info(2, 0x11dc380) = 0 +43937687195482:43937687196241 26077:26077 hsa_system_get_info(2, 0x11dc388) = 0 +43937687197155:43937687197917 26077:26077 hsa_system_get_info(2, 0x11dc390) = 0 +43937687198829:43937687199591 26077:26077 hsa_system_get_info(2, 0x11dc398) = 0 +43937687200504:43937687201257 26077:26077 hsa_system_get_info(2, 0x11dc3a0) = 0 +43937687202172:43937687202920 26077:26077 hsa_system_get_info(2, 0x11dc3a8) = 0 +43937687203835:43937687204595 26077:26077 hsa_system_get_info(2, 0x11dc3b0) = 0 +43937687205513:43937687206288 26077:26077 hsa_system_get_info(2, 0x11dc3b8) = 0 +43937687207198:43937687207956 26077:26077 hsa_system_get_info(2, 0x11dc3c0) = 0 +43937687208870:43937687209629 26077:26077 hsa_system_get_info(2, 0x11dc3c8) = 0 +43937687210546:43937687211305 26077:26077 hsa_system_get_info(2, 0x11dc3d0) = 0 +43937687212213:43937687212970 26077:26077 hsa_system_get_info(2, 0x11dc3d8) = 0 +43937687213879:43937687214635 26077:26077 hsa_system_get_info(2, 0x11dc3e0) = 0 +43937687215546:43937687216302 26077:26077 hsa_system_get_info(2, 0x11dc3e8) = 0 +43937687217213:43937687217966 26077:26077 hsa_system_get_info(2, 0x11dc3f0) = 0 +43937687218886:43937687219642 26077:26077 hsa_system_get_info(2, 0x11dc3f8) = 0 +43937687220551:43937687221311 26077:26077 hsa_system_get_info(2, 0x11dc400) = 0 +43937687222240:43937687223000 26077:26077 hsa_system_get_info(2, 0x11dc408) = 0 +43937687223911:43937687224671 26077:26077 hsa_system_get_info(2, 0x11dc410) = 0 +43937687225581:43937687226329 26077:26077 hsa_system_get_info(2, 0x11dc418) = 0 +43937687227242:43937687228000 26077:26077 hsa_system_get_info(2, 0x11dc420) = 0 +43937687228915:43937687229669 26077:26077 hsa_system_get_info(2, 0x11dc428) = 0 +43937687231432:43937687232194 26077:26077 hsa_system_get_info(2, 0x11dc430) = 0 +43937687233111:43937687233863 26077:26077 hsa_system_get_info(2, 0x11dc438) = 0 +43937687234768:43937687235522 26077:26077 hsa_system_get_info(2, 0x11dc440) = 0 +43937687236430:43937687237184 26077:26077 hsa_system_get_info(2, 0x11dc448) = 0 +43937687238090:43937687238851 26077:26077 hsa_system_get_info(2, 0x11dc450) = 0 +43937687239762:43937687240511 26077:26077 hsa_system_get_info(2, 0x11dc458) = 0 +43937687241440:43937687242197 26077:26077 hsa_system_get_info(2, 0x11dc460) = 0 +43937687243111:43937687243870 26077:26077 hsa_system_get_info(2, 0x11dc468) = 0 +43937687244806:43937687245558 26077:26077 hsa_system_get_info(2, 0x11dc470) = 0 +43937687246465:43937687247222 26077:26077 hsa_system_get_info(2, 0x11dc478) = 0 +43937687248133:43937687248891 26077:26077 hsa_system_get_info(2, 0x11dc480) = 0 +43937687249801:43937687250559 26077:26077 hsa_system_get_info(2, 0x11dc488) = 0 +43937687251466:43937687252221 26077:26077 hsa_system_get_info(2, 0x11dc490) = 0 +43937687253130:43937687253892 26077:26077 hsa_system_get_info(2, 0x11dc498) = 0 +43937687254802:43937687255556 26077:26077 hsa_system_get_info(2, 0x11dc4a0) = 0 +43937687256460:43937687257217 26077:26077 hsa_system_get_info(2, 0x11dc4a8) = 0 +43937687258124:43937687258868 26077:26077 hsa_system_get_info(2, 0x11dc4b0) = 0 +43937687259775:43937687260531 26077:26077 hsa_system_get_info(2, 0x11dc4b8) = 0 +43937687261441:43937687262202 26077:26077 hsa_system_get_info(2, 0x11dc4c0) = 0 +43937687263107:43937687263860 26077:26077 hsa_system_get_info(2, 0x11dc4c8) = 0 +43937687264763:43937687265536 26077:26077 hsa_system_get_info(2, 0x11dc4d0) = 0 +43937687266449:43937687267216 26077:26077 hsa_system_get_info(2, 0x11dc4d8) = 0 +43937687268132:43937687268888 26077:26077 hsa_system_get_info(2, 0x11dc4e0) = 0 +43937687269788:43937687270547 26077:26077 hsa_system_get_info(2, 0x11dc4e8) = 0 +43937687271455:43937687272212 26077:26077 hsa_system_get_info(2, 0x11dc4f0) = 0 +43937687273120:43937687273873 26077:26077 hsa_system_get_info(2, 0x11dc4f8) = 0 +43937687274780:43937687275531 26077:26077 hsa_system_get_info(2, 0x11dc500) = 0 +43937687276430:43937687277185 26077:26077 hsa_system_get_info(2, 0x11dc508) = 0 +43937687280411:43937687281177 26077:26077 hsa_system_get_info(2, 0x11dc510) = 0 +43937687282090:43937687282838 26077:26077 hsa_system_get_info(2, 0x11dc518) = 0 +43937687283749:43937687284506 26077:26077 hsa_system_get_info(2, 0x11dc520) = 0 +43937687285421:43937687286177 26077:26077 hsa_system_get_info(2, 0x11dc528) = 0 +43937687287085:43937687287847 26077:26077 hsa_system_get_info(2, 0x11dc530) = 0 +43937687288759:43937687289513 26077:26077 hsa_system_get_info(2, 0x11dc538) = 0 +43937687290424:43937687291181 26077:26077 hsa_system_get_info(2, 0x11dc540) = 0 +43937687292089:43937687292862 26077:26077 hsa_system_get_info(2, 0x11dc548) = 0 +43937687293777:43937687294527 26077:26077 hsa_system_get_info(2, 0x11dc550) = 0 +43937687295444:43937687296203 26077:26077 hsa_system_get_info(2, 0x11dc558) = 0 +43937687297114:43937687297864 26077:26077 hsa_system_get_info(2, 0x11dc560) = 0 +43937687298768:43937687299519 26077:26077 hsa_system_get_info(2, 0x11dc568) = 0 +43937687300429:43937687301193 26077:26077 hsa_system_get_info(2, 0x11dc570) = 0 +43937687302106:43937687302865 26077:26077 hsa_system_get_info(2, 0x11dc578) = 0 +43937687303770:43937687304546 26077:26077 hsa_system_get_info(2, 0x11dc580) = 0 +43937687305451:43937687306216 26077:26077 hsa_system_get_info(2, 0x11dc588) = 0 +43937687307125:43937687307880 26077:26077 hsa_system_get_info(2, 0x11dc590) = 0 +43937687308794:43937687309546 26077:26077 hsa_system_get_info(2, 0x11dc598) = 0 +43937687310452:43937687311208 26077:26077 hsa_system_get_info(2, 0x11dc5a0) = 0 +43937687312117:43937687312863 26077:26077 hsa_system_get_info(2, 0x11dc5a8) = 0 +43937687313774:43937687314529 26077:26077 hsa_system_get_info(2, 0x11dc5b0) = 0 +43937687315440:43937687316194 26077:26077 hsa_system_get_info(2, 0x11dc5b8) = 0 +43937687317106:43937687317859 26077:26077 hsa_system_get_info(2, 0x11dc5c0) = 0 +43937687318771:43937687319523 26077:26077 hsa_system_get_info(2, 0x11dc5c8) = 0 +43937687320432:43937687321185 26077:26077 hsa_system_get_info(2, 0x11dc5d0) = 0 +43937687322096:43937687322850 26077:26077 hsa_system_get_info(2, 0x11dc5d8) = 0 +43937687323758:43937687324507 26077:26077 hsa_system_get_info(2, 0x11dc5e0) = 0 +43937687325415:43937687326173 26077:26077 hsa_system_get_info(2, 0x11dc5e8) = 0 +43937687327094:43937687327850 26077:26077 hsa_system_get_info(2, 0x11dc5f0) = 0 +43937687329613:43937687330383 26077:26077 hsa_system_get_info(2, 0x11dc5f8) = 0 +43937687331298:43937687332060 26077:26077 hsa_system_get_info(2, 0x11dc600) = 0 +43937687332969:43937687333723 26077:26077 hsa_system_get_info(2, 0x11dc608) = 0 +43937687334627:43937687335387 26077:26077 hsa_system_get_info(2, 0x11dc610) = 0 +43937687336299:43937687337060 26077:26077 hsa_system_get_info(2, 0x11dc618) = 0 +43937687337972:43937687338731 26077:26077 hsa_system_get_info(2, 0x11dc620) = 0 +43937687339643:43937687340390 26077:26077 hsa_system_get_info(2, 0x11dc628) = 0 +43937687341301:43937687342063 26077:26077 hsa_system_get_info(2, 0x11dc630) = 0 +43937687342999:43937687343760 26077:26077 hsa_system_get_info(2, 0x11dc638) = 0 +43937687344673:43937687345438 26077:26077 hsa_system_get_info(2, 0x11dc640) = 0 +43937687346352:43937687347114 26077:26077 hsa_system_get_info(2, 0x11dc648) = 0 +43937687348027:43937687348785 26077:26077 hsa_system_get_info(2, 0x11dc650) = 0 +43937687349699:43937687350452 26077:26077 hsa_system_get_info(2, 0x11dc658) = 0 +43937687351359:43937687352139 26077:26077 hsa_system_get_info(2, 0x11dc660) = 0 +43937687353053:43937687353812 26077:26077 hsa_system_get_info(2, 0x11dc668) = 0 +43937687354721:43937687355479 26077:26077 hsa_system_get_info(2, 0x11dc670) = 0 +43937687356390:43937687357141 26077:26077 hsa_system_get_info(2, 0x11dc678) = 0 +43937687358049:43937687358803 26077:26077 hsa_system_get_info(2, 0x11dc680) = 0 +43937687359716:43937687360472 26077:26077 hsa_system_get_info(2, 0x11dc688) = 0 +43937687361380:43937687362138 26077:26077 hsa_system_get_info(2, 0x11dc690) = 0 +43937687363044:43937687363794 26077:26077 hsa_system_get_info(2, 0x11dc698) = 0 +43937687364707:43937687365467 26077:26077 hsa_system_get_info(2, 0x11dc6a0) = 0 +43937687366374:43937687367126 26077:26077 hsa_system_get_info(2, 0x11dc6a8) = 0 +43937687368035:43937687368793 26077:26077 hsa_system_get_info(2, 0x11dc6b0) = 0 +43937687369704:43937687370466 26077:26077 hsa_system_get_info(2, 0x11dc6b8) = 0 +43937687371374:43937687372126 26077:26077 hsa_system_get_info(2, 0x11dc6c0) = 0 +43937687373037:43937687373789 26077:26077 hsa_system_get_info(2, 0x11dc6c8) = 0 +43937687374697:43937687375453 26077:26077 hsa_system_get_info(2, 0x11dc6d0) = 0 +43937687377214:43937687377985 26077:26077 hsa_system_get_info(2, 0x11dc6d8) = 0 +43937687378891:43937687379649 26077:26077 hsa_system_get_info(2, 0x11dc6e0) = 0 +43937687380557:43937687381314 26077:26077 hsa_system_get_info(2, 0x11dc6e8) = 0 +43937687382221:43937687382972 26077:26077 hsa_system_get_info(2, 0x11dc6f0) = 0 +43937687383883:43937687384639 26077:26077 hsa_system_get_info(2, 0x11dc6f8) = 0 +43937687385549:43937687386302 26077:26077 hsa_system_get_info(2, 0x11dc700) = 0 +43937687387210:43937687387968 26077:26077 hsa_system_get_info(2, 0x11dc708) = 0 +43937687388878:43937687389640 26077:26077 hsa_system_get_info(2, 0x11dc710) = 0 +43937687390553:43937687391317 26077:26077 hsa_system_get_info(2, 0x11dc718) = 0 +43937687392237:43937687392996 26077:26077 hsa_system_get_info(2, 0x11dc720) = 0 +43937687393932:43937687394687 26077:26077 hsa_system_get_info(2, 0x11dc728) = 0 +43937687395596:43937687396348 26077:26077 hsa_system_get_info(2, 0x11dc730) = 0 +43937687397257:43937687398011 26077:26077 hsa_system_get_info(2, 0x11dc738) = 0 +43937687398924:43937687399679 26077:26077 hsa_system_get_info(2, 0x11dc740) = 0 +43937687400589:43937687401343 26077:26077 hsa_system_get_info(2, 0x11dc748) = 0 +43937687402252:43937687403006 26077:26077 hsa_system_get_info(2, 0x11dc750) = 0 +43937687403914:43937687404672 26077:26077 hsa_system_get_info(2, 0x11dc758) = 0 +43937687405581:43937687406329 26077:26077 hsa_system_get_info(2, 0x11dc760) = 0 +43937687407237:43937687407991 26077:26077 hsa_system_get_info(2, 0x11dc768) = 0 +43937687408902:43937687409659 26077:26077 hsa_system_get_info(2, 0x11dc770) = 0 +43937687410572:43937687411330 26077:26077 hsa_system_get_info(2, 0x11dc778) = 0 +43937687412238:43937687413006 26077:26077 hsa_system_get_info(2, 0x11dc780) = 0 +43937687413916:43937687414674 26077:26077 hsa_system_get_info(2, 0x11dc788) = 0 +43937687415582:43937687416335 26077:26077 hsa_system_get_info(2, 0x11dc790) = 0 +43937687417248:43937687418019 26077:26077 hsa_system_get_info(2, 0x11dc798) = 0 +43937687418929:43937687419678 26077:26077 hsa_system_get_info(2, 0x11dc7a0) = 0 +43937687420593:43937687421347 26077:26077 hsa_system_get_info(2, 0x11dc7a8) = 0 +43937687422254:43937687423001 26077:26077 hsa_system_get_info(2, 0x11dc7b0) = 0 +43937687424772:43937687425538 26077:26077 hsa_system_get_info(2, 0x11dc7b8) = 0 +43937687426469:43937687427226 26077:26077 hsa_system_get_info(2, 0x11dc7c0) = 0 +43937687428139:43937687428900 26077:26077 hsa_system_get_info(2, 0x11dc7c8) = 0 +43937687443696:43937687444516 26077:26077 hsa_system_get_info(2, 0x11da890) = 0 +43937687445471:43937687446233 26077:26077 hsa_system_get_info(2, 0x11da898) = 0 +43937687447192:43937687447959 26077:26077 hsa_system_get_info(2, 0x11da8a0) = 0 +43937687448896:43937687449670 26077:26077 hsa_system_get_info(2, 0x11da8a8) = 0 +43937687450606:43937687451375 26077:26077 hsa_system_get_info(2, 0x11da8b0) = 0 +43937687452319:43937687453091 26077:26077 hsa_system_get_info(2, 0x11da8b8) = 0 +43937687454033:43937687454801 26077:26077 hsa_system_get_info(2, 0x11da8c0) = 0 +43937687455735:43937687456510 26077:26077 hsa_system_get_info(2, 0x11da8c8) = 0 +43937687457449:43937687458221 26077:26077 hsa_system_get_info(2, 0x11da8d0) = 0 +43937687459158:43937687459931 26077:26077 hsa_system_get_info(2, 0x11da8d8) = 0 +43937687460868:43937687461643 26077:26077 hsa_system_get_info(2, 0x11da8e0) = 0 +43937687462579:43937687463355 26077:26077 hsa_system_get_info(2, 0x11da8e8) = 0 +43937687464288:43937687465062 26077:26077 hsa_system_get_info(2, 0x11da8f0) = 0 +43937687466001:43937687466774 26077:26077 hsa_system_get_info(2, 0x11da8f8) = 0 +43937687467710:43937687468485 26077:26077 hsa_system_get_info(2, 0x11da900) = 0 +43937687469421:43937687470193 26077:26077 hsa_system_get_info(2, 0x11da908) = 0 +43937687471128:43937687471919 26077:26077 hsa_system_get_info(2, 0x11da910) = 0 +43937687472855:43937687473629 26077:26077 hsa_system_get_info(2, 0x11da918) = 0 +43937687474565:43937687475338 26077:26077 hsa_system_get_info(2, 0x11da920) = 0 +43937687476272:43937687477046 26077:26077 hsa_system_get_info(2, 0x11da928) = 0 +43937687477979:43937687478751 26077:26077 hsa_system_get_info(2, 0x11da930) = 0 +43937687479690:43937687480463 26077:26077 hsa_system_get_info(2, 0x11da938) = 0 +43937687481397:43937687482172 26077:26077 hsa_system_get_info(2, 0x11da940) = 0 +43937687483108:43937687483879 26077:26077 hsa_system_get_info(2, 0x11da948) = 0 +43937687484818:43937687485591 26077:26077 hsa_system_get_info(2, 0x11da950) = 0 +43937687486531:43937687487303 26077:26077 hsa_system_get_info(2, 0x11da958) = 0 +43937687489185:43937687489956 26077:26077 hsa_system_get_info(2, 0x11da960) = 0 +43937687490893:43937687491662 26077:26077 hsa_system_get_info(2, 0x11da968) = 0 +43937687492597:43937687493371 26077:26077 hsa_system_get_info(2, 0x11da970) = 0 +43937687494306:43937687495076 26077:26077 hsa_system_get_info(2, 0x11da978) = 0 +43937687496015:43937687496789 26077:26077 hsa_system_get_info(2, 0x11da980) = 0 +43937687497724:43937687498499 26077:26077 hsa_system_get_info(2, 0x11da988) = 0 +43937687499434:43937687500204 26077:26077 hsa_system_get_info(2, 0x11da990) = 0 +43937687501144:43937687501913 26077:26077 hsa_system_get_info(2, 0x11da998) = 0 +43937687502848:43937687503624 26077:26077 hsa_system_get_info(2, 0x11da9a0) = 0 +43937687504563:43937687505338 26077:26077 hsa_system_get_info(2, 0x11da9a8) = 0 +43937687506274:43937687507046 26077:26077 hsa_system_get_info(2, 0x11da9b0) = 0 +43937687507984:43937687508754 26077:26077 hsa_system_get_info(2, 0x11da9b8) = 0 +43937687509689:43937687510466 26077:26077 hsa_system_get_info(2, 0x11da9c0) = 0 +43937687511400:43937687512190 26077:26077 hsa_system_get_info(2, 0x11da9c8) = 0 +43937687513127:43937687513898 26077:26077 hsa_system_get_info(2, 0x11da9d0) = 0 +43937687514836:43937687515604 26077:26077 hsa_system_get_info(2, 0x11da9d8) = 0 +43937687516545:43937687517316 26077:26077 hsa_system_get_info(2, 0x11da9e0) = 0 +43937687518252:43937687519028 26077:26077 hsa_system_get_info(2, 0x11da9e8) = 0 +43937687519963:43937687520736 26077:26077 hsa_system_get_info(2, 0x11da9f0) = 0 +43937687521672:43937687522441 26077:26077 hsa_system_get_info(2, 0x11da9f8) = 0 +43937687523378:43937687524152 26077:26077 hsa_system_get_info(2, 0x11daa00) = 0 +43937687525089:43937687525860 26077:26077 hsa_system_get_info(2, 0x11daa08) = 0 +43937687526798:43937687527569 26077:26077 hsa_system_get_info(2, 0x11daa10) = 0 +43937687528504:43937687529275 26077:26077 hsa_system_get_info(2, 0x11daa18) = 0 +43937687530211:43937687530984 26077:26077 hsa_system_get_info(2, 0x11daa20) = 0 +43937687531922:43937687532694 26077:26077 hsa_system_get_info(2, 0x11daa28) = 0 +43937687533628:43937687534403 26077:26077 hsa_system_get_info(2, 0x11daa30) = 0 +43937687535337:43937687536106 26077:26077 hsa_system_get_info(2, 0x11daa38) = 0 +43937687537934:43937687538705 26077:26077 hsa_system_get_info(2, 0x11daa40) = 0 +43937687539647:43937687540413 26077:26077 hsa_system_get_info(2, 0x11daa48) = 0 +43937687541348:43937687542121 26077:26077 hsa_system_get_info(2, 0x11daa50) = 0 +43937687543058:43937687543824 26077:26077 hsa_system_get_info(2, 0x11daa58) = 0 +43937687544761:43937687545530 26077:26077 hsa_system_get_info(2, 0x11daa60) = 0 +43937687546463:43937687547232 26077:26077 hsa_system_get_info(2, 0x11daa68) = 0 +43937687548174:43937687548943 26077:26077 hsa_system_get_info(2, 0x11daa70) = 0 +43937687549875:43937687550648 26077:26077 hsa_system_get_info(2, 0x11daa78) = 0 +43937687551587:43937687552355 26077:26077 hsa_system_get_info(2, 0x11daa80) = 0 +43937687553298:43937687554066 26077:26077 hsa_system_get_info(2, 0x11daa88) = 0 +43937687555000:43937687555772 26077:26077 hsa_system_get_info(2, 0x11daa90) = 0 +43937687556706:43937687557475 26077:26077 hsa_system_get_info(2, 0x11daa98) = 0 +43937687558417:43937687559186 26077:26077 hsa_system_get_info(2, 0x11daaa0) = 0 +43937687560119:43937687560907 26077:26077 hsa_system_get_info(2, 0x11daaa8) = 0 +43937687561844:43937687562615 26077:26077 hsa_system_get_info(2, 0x11daab0) = 0 +43937687563546:43937687564314 26077:26077 hsa_system_get_info(2, 0x11daab8) = 0 +43937687565248:43937687566020 26077:26077 hsa_system_get_info(2, 0x11daac0) = 0 +43937687566953:43937687567721 26077:26077 hsa_system_get_info(2, 0x11daac8) = 0 +43937687568659:43937687569428 26077:26077 hsa_system_get_info(2, 0x11daad0) = 0 +43937687570363:43937687571136 26077:26077 hsa_system_get_info(2, 0x11daad8) = 0 +43937687572072:43937687572843 26077:26077 hsa_system_get_info(2, 0x11daae0) = 0 +43937687573778:43937687574547 26077:26077 hsa_system_get_info(2, 0x11daae8) = 0 +43937687575479:43937687576244 26077:26077 hsa_system_get_info(2, 0x11daaf0) = 0 +43937687577174:43937687577944 26077:26077 hsa_system_get_info(2, 0x11daaf8) = 0 +43937687578881:43937687579648 26077:26077 hsa_system_get_info(2, 0x11dab00) = 0 +43937687580586:43937687581354 26077:26077 hsa_system_get_info(2, 0x11dab08) = 0 +43937687582314:43937687583079 26077:26077 hsa_system_get_info(2, 0x11dab10) = 0 +43937687584010:43937687584777 26077:26077 hsa_system_get_info(2, 0x11dab18) = 0 +43937687585717:43937687586486 26077:26077 hsa_system_get_info(2, 0x11dab20) = 0 +43937687588280:43937687589051 26077:26077 hsa_system_get_info(2, 0x11dab28) = 0 +43937687589989:43937687590756 26077:26077 hsa_system_get_info(2, 0x11dab30) = 0 +43937687591695:43937687592468 26077:26077 hsa_system_get_info(2, 0x11dab38) = 0 +43937687593403:43937687594173 26077:26077 hsa_system_get_info(2, 0x11dab40) = 0 +43937687595105:43937687595880 26077:26077 hsa_system_get_info(2, 0x11dab48) = 0 +43937687596812:43937687597580 26077:26077 hsa_system_get_info(2, 0x11dab50) = 0 +43937687598515:43937687599282 26077:26077 hsa_system_get_info(2, 0x11dab58) = 0 +43937687600215:43937687600983 26077:26077 hsa_system_get_info(2, 0x11dab60) = 0 +43937687601920:43937687602690 26077:26077 hsa_system_get_info(2, 0x11dab68) = 0 +43937687603624:43937687604396 26077:26077 hsa_system_get_info(2, 0x11dab70) = 0 +43937687605330:43937687606101 26077:26077 hsa_system_get_info(2, 0x11dab78) = 0 +43937687607039:43937687607806 26077:26077 hsa_system_get_info(2, 0x11dab80) = 0 +43937687608739:43937687609506 26077:26077 hsa_system_get_info(2, 0x11dab88) = 0 +43937687610442:43937687611226 26077:26077 hsa_system_get_info(2, 0x11dab90) = 0 +43937687612164:43937687612935 26077:26077 hsa_system_get_info(2, 0x11dab98) = 0 +43937687613870:43937687614641 26077:26077 hsa_system_get_info(2, 0x11daba0) = 0 +43937687615575:43937687616345 26077:26077 hsa_system_get_info(2, 0x11daba8) = 0 +43937687617285:43937687618052 26077:26077 hsa_system_get_info(2, 0x11dabb0) = 0 +43937687618986:43937687619752 26077:26077 hsa_system_get_info(2, 0x11dabb8) = 0 +43937687620690:43937687621458 26077:26077 hsa_system_get_info(2, 0x11dabc0) = 0 +43937687622393:43937687623167 26077:26077 hsa_system_get_info(2, 0x11dabc8) = 0 +43937687624101:43937687624870 26077:26077 hsa_system_get_info(2, 0x11dabd0) = 0 +43937687625809:43937687626579 26077:26077 hsa_system_get_info(2, 0x11dabd8) = 0 +43937687627514:43937687628280 26077:26077 hsa_system_get_info(2, 0x11dabe0) = 0 +43937687629217:43937687629983 26077:26077 hsa_system_get_info(2, 0x11dabe8) = 0 +43937687630918:43937687631686 26077:26077 hsa_system_get_info(2, 0x11dabf0) = 0 +43937687632626:43937687633396 26077:26077 hsa_system_get_info(2, 0x11dabf8) = 0 +43937687634335:43937687635105 26077:26077 hsa_system_get_info(2, 0x11dac00) = 0 +43937687636886:43937687637660 26077:26077 hsa_system_get_info(2, 0x11dac08) = 0 +43937687638595:43937687639360 26077:26077 hsa_system_get_info(2, 0x11dac10) = 0 +43937687640298:43937687641069 26077:26077 hsa_system_get_info(2, 0x11dac18) = 0 +43937687642005:43937687642770 26077:26077 hsa_system_get_info(2, 0x11dac20) = 0 +43937687643708:43937687644478 26077:26077 hsa_system_get_info(2, 0x11dac28) = 0 +43937687645414:43937687646186 26077:26077 hsa_system_get_info(2, 0x11dac30) = 0 +43937687647119:43937687647890 26077:26077 hsa_system_get_info(2, 0x11dac38) = 0 +43937687648830:43937687649597 26077:26077 hsa_system_get_info(2, 0x11dac40) = 0 +43937687650536:43937687651310 26077:26077 hsa_system_get_info(2, 0x11dac48) = 0 +43937687652251:43937687653017 26077:26077 hsa_system_get_info(2, 0x11dac50) = 0 +43937687653954:43937687654724 26077:26077 hsa_system_get_info(2, 0x11dac58) = 0 +43937687655667:43937687656434 26077:26077 hsa_system_get_info(2, 0x11dac60) = 0 +43937687657367:43937687658137 26077:26077 hsa_system_get_info(2, 0x11dac68) = 0 +43937687659077:43937687659858 26077:26077 hsa_system_get_info(2, 0x11dac70) = 0 +43937687660794:43937687661560 26077:26077 hsa_system_get_info(2, 0x11dac78) = 0 +43937687662498:43937687663265 26077:26077 hsa_system_get_info(2, 0x11dac80) = 0 +43937687664202:43937687664970 26077:26077 hsa_system_get_info(2, 0x11dac88) = 0 +43937687665902:43937687666673 26077:26077 hsa_system_get_info(2, 0x11dac90) = 0 +43937687667612:43937687668380 26077:26077 hsa_system_get_info(2, 0x11dac98) = 0 +43937687669313:43937687670082 26077:26077 hsa_system_get_info(2, 0x11daca0) = 0 +43937687671015:43937687671782 26077:26077 hsa_system_get_info(2, 0x11daca8) = 0 +43937687672718:43937687673486 26077:26077 hsa_system_get_info(2, 0x11dacb0) = 0 +43937687674423:43937687675188 26077:26077 hsa_system_get_info(2, 0x11dacb8) = 0 +43937687676122:43937687676889 26077:26077 hsa_system_get_info(2, 0x11dacc0) = 0 +43937687677829:43937687678599 26077:26077 hsa_system_get_info(2, 0x11dacc8) = 0 +43937687679532:43937687680301 26077:26077 hsa_system_get_info(2, 0x11dacd0) = 0 +43937687681235:43937687682007 26077:26077 hsa_system_get_info(2, 0x11dacd8) = 0 +43937687682938:43937687683707 26077:26077 hsa_system_get_info(2, 0x11dace0) = 0 +43937687684662:43937687685427 26077:26077 hsa_system_get_info(2, 0x11dace8) = 0 +43937687687207:43937687687976 26077:26077 hsa_system_get_info(2, 0x11dacf0) = 0 +43937687688910:43937687689684 26077:26077 hsa_system_get_info(2, 0x11dacf8) = 0 +43937687690619:43937687691389 26077:26077 hsa_system_get_info(2, 0x11dad00) = 0 +43937687692330:43937687693101 26077:26077 hsa_system_get_info(2, 0x11dad08) = 0 +43937687694036:43937687694807 26077:26077 hsa_system_get_info(2, 0x11dad10) = 0 +43937687695742:43937687696509 26077:26077 hsa_system_get_info(2, 0x11dad18) = 0 +43937687697444:43937687698216 26077:26077 hsa_system_get_info(2, 0x11dad20) = 0 +43937687699156:43937687699930 26077:26077 hsa_system_get_info(2, 0x11dad28) = 0 +43937687700896:43937687701664 26077:26077 hsa_system_get_info(2, 0x11dad30) = 0 +43937687702596:43937687703367 26077:26077 hsa_system_get_info(2, 0x11dad38) = 0 +43937687704304:43937687705073 26077:26077 hsa_system_get_info(2, 0x11dad40) = 0 +43937687706008:43937687706779 26077:26077 hsa_system_get_info(2, 0x11dad48) = 0 +43937687707712:43937687708481 26077:26077 hsa_system_get_info(2, 0x11dad50) = 0 +43937687709417:43937687710187 26077:26077 hsa_system_get_info(2, 0x11dad58) = 0 +43937687711142:43937687711908 26077:26077 hsa_system_get_info(2, 0x11dad60) = 0 +43937687712843:43937687713611 26077:26077 hsa_system_get_info(2, 0x11dad68) = 0 +43937687714551:43937687715317 26077:26077 hsa_system_get_info(2, 0x11dad70) = 0 +43937687716253:43937687717024 26077:26077 hsa_system_get_info(2, 0x11dad78) = 0 +43937687717959:43937687718727 26077:26077 hsa_system_get_info(2, 0x11dad80) = 0 +43937687719661:43937687720431 26077:26077 hsa_system_get_info(2, 0x11dad88) = 0 +43937687721366:43937687722132 26077:26077 hsa_system_get_info(2, 0x11dad90) = 0 +43937687723069:43937687723836 26077:26077 hsa_system_get_info(2, 0x11dad98) = 0 +43937687724773:43937687725539 26077:26077 hsa_system_get_info(2, 0x11dada0) = 0 +43937687726477:43937687727245 26077:26077 hsa_system_get_info(2, 0x11dada8) = 0 +43937687728186:43937687728952 26077:26077 hsa_system_get_info(2, 0x11dadb0) = 0 +43937687729886:43937687730656 26077:26077 hsa_system_get_info(2, 0x11dadb8) = 0 +43937687731593:43937687732360 26077:26077 hsa_system_get_info(2, 0x11dadc0) = 0 +43937687733293:43937687734060 26077:26077 hsa_system_get_info(2, 0x11dadc8) = 0 +43937687736617:43937687737385 26077:26077 hsa_system_get_info(2, 0x11dadd0) = 0 +43937687738323:43937687739094 26077:26077 hsa_system_get_info(2, 0x11dadd8) = 0 +43937687740028:43937687740798 26077:26077 hsa_system_get_info(2, 0x11dade0) = 0 +43937687741733:43937687742505 26077:26077 hsa_system_get_info(2, 0x11dade8) = 0 +43937687743443:43937687744210 26077:26077 hsa_system_get_info(2, 0x11dadf0) = 0 +43937687745143:43937687745917 26077:26077 hsa_system_get_info(2, 0x11dadf8) = 0 +43937687746853:43937687747619 26077:26077 hsa_system_get_info(2, 0x11dae00) = 0 +43937687748553:43937687749326 26077:26077 hsa_system_get_info(2, 0x11dae08) = 0 +43937687750264:43937687751031 26077:26077 hsa_system_get_info(2, 0x11dae10) = 0 +43937687751970:43937687752742 26077:26077 hsa_system_get_info(2, 0x11dae18) = 0 +43937687753677:43937687754447 26077:26077 hsa_system_get_info(2, 0x11dae20) = 0 +43937687755381:43937687756151 26077:26077 hsa_system_get_info(2, 0x11dae28) = 0 +43937687757090:43937687757856 26077:26077 hsa_system_get_info(2, 0x11dae30) = 0 +43937687758791:43937687759564 26077:26077 hsa_system_get_info(2, 0x11dae38) = 0 +43937687760501:43937687761285 26077:26077 hsa_system_get_info(2, 0x11dae40) = 0 +43937687762219:43937687762991 26077:26077 hsa_system_get_info(2, 0x11dae48) = 0 +43937687763929:43937687764696 26077:26077 hsa_system_get_info(2, 0x11dae50) = 0 +43937687765627:43937687766398 26077:26077 hsa_system_get_info(2, 0x11dae58) = 0 +43937687767338:43937687768104 26077:26077 hsa_system_get_info(2, 0x11dae60) = 0 +43937687769040:43937687769814 26077:26077 hsa_system_get_info(2, 0x11dae68) = 0 +43937687770749:43937687771516 26077:26077 hsa_system_get_info(2, 0x11dae70) = 0 +43937687772455:43937687773226 26077:26077 hsa_system_get_info(2, 0x11dae78) = 0 +43937687774163:43937687774934 26077:26077 hsa_system_get_info(2, 0x11dae80) = 0 +43937687775868:43937687776639 26077:26077 hsa_system_get_info(2, 0x11dae88) = 0 +43937687777577:43937687778344 26077:26077 hsa_system_get_info(2, 0x11dae90) = 0 +43937687779279:43937687780050 26077:26077 hsa_system_get_info(2, 0x11dae98) = 0 +43937687780988:43937687781755 26077:26077 hsa_system_get_info(2, 0x11daea0) = 0 +43937687782689:43937687783463 26077:26077 hsa_system_get_info(2, 0x11daea8) = 0 +43937687784399:43937687785166 26077:26077 hsa_system_get_info(2, 0x11daeb0) = 0 +43937687786975:43937687787748 26077:26077 hsa_system_get_info(2, 0x11daeb8) = 0 +43937687788686:43937687789454 26077:26077 hsa_system_get_info(2, 0x11daec0) = 0 +43937687790395:43937687791167 26077:26077 hsa_system_get_info(2, 0x11daec8) = 0 +43937687792108:43937687792879 26077:26077 hsa_system_get_info(2, 0x11daed0) = 0 +43937687793817:43937687794592 26077:26077 hsa_system_get_info(2, 0x11daed8) = 0 +43937687795528:43937687796298 26077:26077 hsa_system_get_info(2, 0x11daee0) = 0 +43937687797235:43937687798008 26077:26077 hsa_system_get_info(2, 0x11daee8) = 0 +43937687798948:43937687799720 26077:26077 hsa_system_get_info(2, 0x11daef0) = 0 +43937687800669:43937687801440 26077:26077 hsa_system_get_info(2, 0x11daef8) = 0 +43937687802378:43937687803151 26077:26077 hsa_system_get_info(2, 0x11daf00) = 0 +43937687804083:43937687804856 26077:26077 hsa_system_get_info(2, 0x11daf08) = 0 +43937687805795:43937687806567 26077:26077 hsa_system_get_info(2, 0x11daf10) = 0 +43937687807506:43937687808282 26077:26077 hsa_system_get_info(2, 0x11daf18) = 0 +43937687809220:43937687810007 26077:26077 hsa_system_get_info(2, 0x11daf20) = 0 +43937687810940:43937687811708 26077:26077 hsa_system_get_info(2, 0x11daf28) = 0 +43937687812648:43937687813416 26077:26077 hsa_system_get_info(2, 0x11daf30) = 0 +43937687814356:43937687815127 26077:26077 hsa_system_get_info(2, 0x11daf38) = 0 +43937687816064:43937687816833 26077:26077 hsa_system_get_info(2, 0x11daf40) = 0 +43937687817772:43937687818544 26077:26077 hsa_system_get_info(2, 0x11daf48) = 0 +43937687819487:43937687820255 26077:26077 hsa_system_get_info(2, 0x11daf50) = 0 +43937687821194:43937687821965 26077:26077 hsa_system_get_info(2, 0x11daf58) = 0 +43937687822898:43937687823667 26077:26077 hsa_system_get_info(2, 0x11daf60) = 0 +43937687824603:43937687825374 26077:26077 hsa_system_get_info(2, 0x11daf68) = 0 +43937687826309:43937687827078 26077:26077 hsa_system_get_info(2, 0x11daf70) = 0 +43937687828016:43937687828786 26077:26077 hsa_system_get_info(2, 0x11daf78) = 0 +43937687829726:43937687830495 26077:26077 hsa_system_get_info(2, 0x11daf80) = 0 +43937687831434:43937687832202 26077:26077 hsa_system_get_info(2, 0x11daf88) = 0 +43937687833140:43937687833908 26077:26077 hsa_system_get_info(2, 0x11daf90) = 0 +43937687835746:43937687836516 26077:26077 hsa_system_get_info(2, 0x11daf98) = 0 +43937687837456:43937687838224 26077:26077 hsa_system_get_info(2, 0x11dafa0) = 0 +43937687839158:43937687839934 26077:26077 hsa_system_get_info(2, 0x11dafa8) = 0 +43937687840869:43937687841637 26077:26077 hsa_system_get_info(2, 0x11dafb0) = 0 +43937687842575:43937687843347 26077:26077 hsa_system_get_info(2, 0x11dafb8) = 0 +43937687844282:43937687845055 26077:26077 hsa_system_get_info(2, 0x11dafc0) = 0 +43937687845991:43937687846761 26077:26077 hsa_system_get_info(2, 0x11dafc8) = 0 +43937687847701:43937687848469 26077:26077 hsa_system_get_info(2, 0x11dafd0) = 0 +43937687849408:43937687850182 26077:26077 hsa_system_get_info(2, 0x11dafd8) = 0 +43937687851123:43937687851891 26077:26077 hsa_system_get_info(2, 0x11dafe0) = 0 +43937687852829:43937687853601 26077:26077 hsa_system_get_info(2, 0x11dafe8) = 0 +43937687854542:43937687855312 26077:26077 hsa_system_get_info(2, 0x11daff0) = 0 +43937687856247:43937687857023 26077:26077 hsa_system_get_info(2, 0x11daff8) = 0 +43937687857958:43937687858727 26077:26077 hsa_system_get_info(2, 0x11db000) = 0 +43937687859689:43937687860456 26077:26077 hsa_system_get_info(2, 0x11db008) = 0 +43937687861397:43937687862168 26077:26077 hsa_system_get_info(2, 0x11db010) = 0 +43937687863110:43937687863878 26077:26077 hsa_system_get_info(2, 0x11db018) = 0 +43937687864814:43937687865588 26077:26077 hsa_system_get_info(2, 0x11db020) = 0 +43937687866527:43937687867296 26077:26077 hsa_system_get_info(2, 0x11db028) = 0 +43937687868235:43937687869006 26077:26077 hsa_system_get_info(2, 0x11db030) = 0 +43937687869942:43937687870715 26077:26077 hsa_system_get_info(2, 0x11db038) = 0 +43937687871650:43937687872422 26077:26077 hsa_system_get_info(2, 0x11db040) = 0 +43937687873362:43937687874131 26077:26077 hsa_system_get_info(2, 0x11db048) = 0 +43937687875072:43937687875843 26077:26077 hsa_system_get_info(2, 0x11db050) = 0 +43937687876781:43937687877552 26077:26077 hsa_system_get_info(2, 0x11db058) = 0 +43937687878488:43937687879259 26077:26077 hsa_system_get_info(2, 0x11db060) = 0 +43937687880199:43937687880968 26077:26077 hsa_system_get_info(2, 0x11db068) = 0 +43937687881904:43937687882677 26077:26077 hsa_system_get_info(2, 0x11db070) = 0 +43937687884453:43937687885224 26077:26077 hsa_system_get_info(2, 0x11db078) = 0 +43937687886162:43937687886933 26077:26077 hsa_system_get_info(2, 0x11db080) = 0 +43937687887873:43937687888648 26077:26077 hsa_system_get_info(2, 0x11db088) = 0 +43937687889586:43937687890354 26077:26077 hsa_system_get_info(2, 0x11db090) = 0 +43937687891298:43937687892068 26077:26077 hsa_system_get_info(2, 0x11db098) = 0 +43937687893007:43937687893779 26077:26077 hsa_system_get_info(2, 0x11db0a0) = 0 +43937687894722:43937687895495 26077:26077 hsa_system_get_info(2, 0x11db0a8) = 0 +43937687896434:43937687897206 26077:26077 hsa_system_get_info(2, 0x11db0b0) = 0 +43937687898143:43937687898915 26077:26077 hsa_system_get_info(2, 0x11db0b8) = 0 +43937687899867:43937687900640 26077:26077 hsa_system_get_info(2, 0x11db0c0) = 0 +43937687901582:43937687902354 26077:26077 hsa_system_get_info(2, 0x11db0c8) = 0 +43937687903298:43937687904066 26077:26077 hsa_system_get_info(2, 0x11db0d0) = 0 +43937687905009:43937687905780 26077:26077 hsa_system_get_info(2, 0x11db0d8) = 0 +43937687906720:43937687907496 26077:26077 hsa_system_get_info(2, 0x11db0e0) = 0 +43937687908450:43937687909217 26077:26077 hsa_system_get_info(2, 0x11db0e8) = 0 +43937687910151:43937687910920 26077:26077 hsa_system_get_info(2, 0x11db0f0) = 0 +43937687911861:43937687912632 26077:26077 hsa_system_get_info(2, 0x11db0f8) = 0 +43937687913573:43937687914345 26077:26077 hsa_system_get_info(2, 0x11db100) = 0 +43937687915284:43937687916058 26077:26077 hsa_system_get_info(2, 0x11db108) = 0 +43937687916997:43937687917766 26077:26077 hsa_system_get_info(2, 0x11db110) = 0 +43937687918705:43937687919477 26077:26077 hsa_system_get_info(2, 0x11db118) = 0 +43937687920412:43937687921187 26077:26077 hsa_system_get_info(2, 0x11db120) = 0 +43937687922127:43937687922901 26077:26077 hsa_system_get_info(2, 0x11db128) = 0 +43937687923837:43937687924606 26077:26077 hsa_system_get_info(2, 0x11db130) = 0 +43937687925543:43937687926316 26077:26077 hsa_system_get_info(2, 0x11db138) = 0 +43937687927253:43937687928029 26077:26077 hsa_system_get_info(2, 0x11db140) = 0 +43937687928968:43937687929742 26077:26077 hsa_system_get_info(2, 0x11db148) = 0 +43937687930679:43937687931450 26077:26077 hsa_system_get_info(2, 0x11db150) = 0 +43937687932388:43937687933162 26077:26077 hsa_system_get_info(2, 0x11db158) = 0 +43937687934941:43937687935715 26077:26077 hsa_system_get_info(2, 0x11db160) = 0 +43937687936648:43937687937416 26077:26077 hsa_system_get_info(2, 0x11db168) = 0 +43937687938354:43937687939123 26077:26077 hsa_system_get_info(2, 0x11db170) = 0 +43937687940058:43937687940831 26077:26077 hsa_system_get_info(2, 0x11db178) = 0 +43937687941766:43937687942535 26077:26077 hsa_system_get_info(2, 0x11db180) = 0 +43937687943473:43937687944242 26077:26077 hsa_system_get_info(2, 0x11db188) = 0 +43937687945174:43937687945944 26077:26077 hsa_system_get_info(2, 0x11db190) = 0 +43937687946881:43937687947649 26077:26077 hsa_system_get_info(2, 0x11db198) = 0 +43937687948586:43937687949358 26077:26077 hsa_system_get_info(2, 0x11db1a0) = 0 +43937687950297:43937687951065 26077:26077 hsa_system_get_info(2, 0x11db1a8) = 0 +43937687952002:43937687952771 26077:26077 hsa_system_get_info(2, 0x11db1b0) = 0 +43937687953706:43937687954479 26077:26077 hsa_system_get_info(2, 0x11db1b8) = 0 +43937687955415:43937687956183 26077:26077 hsa_system_get_info(2, 0x11db1c0) = 0 +43937687957118:43937687957886 26077:26077 hsa_system_get_info(2, 0x11db1c8) = 0 +43937687958867:43937687959633 26077:26077 hsa_system_get_info(2, 0x11db1d0) = 0 +43937687960569:43937687961339 26077:26077 hsa_system_get_info(2, 0x11db1d8) = 0 +43937687962281:43937687963049 26077:26077 hsa_system_get_info(2, 0x11db1e0) = 0 +43937687963987:43937687964763 26077:26077 hsa_system_get_info(2, 0x11db1e8) = 0 +43937687965698:43937687966468 26077:26077 hsa_system_get_info(2, 0x11db1f0) = 0 +43937687967407:43937687968179 26077:26077 hsa_system_get_info(2, 0x11db1f8) = 0 +43937687969116:43937687969888 26077:26077 hsa_system_get_info(2, 0x11db200) = 0 +43937687970827:43937687971599 26077:26077 hsa_system_get_info(2, 0x11db208) = 0 +43937687972538:43937687973307 26077:26077 hsa_system_get_info(2, 0x11db210) = 0 +43937687974243:43937687975017 26077:26077 hsa_system_get_info(2, 0x11db218) = 0 +43937687975954:43937687976723 26077:26077 hsa_system_get_info(2, 0x11db220) = 0 +43937687977666:43937687978438 26077:26077 hsa_system_get_info(2, 0x11db228) = 0 +43937687979379:43937687980149 26077:26077 hsa_system_get_info(2, 0x11db230) = 0 +43937687981085:43937687981860 26077:26077 hsa_system_get_info(2, 0x11db238) = 0 +43937687983647:43937687984421 26077:26077 hsa_system_get_info(2, 0x11db240) = 0 +43937687985359:43937687986129 26077:26077 hsa_system_get_info(2, 0x11db248) = 0 +43937687987074:43937687987845 26077:26077 hsa_system_get_info(2, 0x11db250) = 0 +43937687988787:43937687989557 26077:26077 hsa_system_get_info(2, 0x11db258) = 0 +43937687990499:43937687991273 26077:26077 hsa_system_get_info(2, 0x11db260) = 0 +43937687992210:43937687992985 26077:26077 hsa_system_get_info(2, 0x11db268) = 0 +43937687993924:43937687994695 26077:26077 hsa_system_get_info(2, 0x11db270) = 0 +43937687995635:43937687996403 26077:26077 hsa_system_get_info(2, 0x11db278) = 0 +43937687997360:43937687998132 26077:26077 hsa_system_get_info(2, 0x11db280) = 0 +43937687999079:43937687999851 26077:26077 hsa_system_get_info(2, 0x11db288) = 0 +43937688008403:43937688009166 26077:26077 hsa_system_get_info(2, 0x11db290) = 0 +43937688010098:43937688010863 26077:26077 hsa_system_get_info(2, 0x11db298) = 0 +43937688011802:43937688012567 26077:26077 hsa_system_get_info(2, 0x11db2a0) = 0 +43937688013499:43937688030360 26077:26077 hsa_system_get_info(2, 0x11db2a8) = 0 +43937688031201:43937688031863 26077:26077 hsa_system_get_info(2, 0x11db2b0) = 0 +43937688032656:43937688033302 26077:26077 hsa_system_get_info(2, 0x11db2b8) = 0 +43937688034094:43937688034743 26077:26077 hsa_system_get_info(2, 0x11db2c0) = 0 +43937688035536:43937688036189 26077:26077 hsa_system_get_info(2, 0x11db2c8) = 0 +43937688036999:43937688037656 26077:26077 hsa_system_get_info(2, 0x11db2d0) = 0 +43937688038443:43937688039104 26077:26077 hsa_system_get_info(2, 0x11db2d8) = 0 +43937688051805:43937688052508 26077:26077 hsa_system_get_info(2, 0x11db2e0) = 0 +43937688053330:43937688053974 26077:26077 hsa_system_get_info(2, 0x11db2e8) = 0 +43937688054743:43937688055383 26077:26077 hsa_system_get_info(2, 0x11db2f0) = 0 +43937688056150:43937688056788 26077:26077 hsa_system_get_info(2, 0x11db2f8) = 0 +43937688057562:43937688058204 26077:26077 hsa_system_get_info(2, 0x11db300) = 0 +43937688058972:43937688059613 26077:26077 hsa_system_get_info(2, 0x11db308) = 0 +43937688060383:43937688070669 26077:26077 hsa_system_get_info(2, 0x11db310) = 0 +43937688071483:43937688072105 26077:26077 hsa_system_get_info(2, 0x11db318) = 0 +43937688072853:43937688073480 26077:26077 hsa_system_get_info(2, 0x11db320) = 0 +43937688075008:43937688075627 26077:26077 hsa_system_get_info(2, 0x11db328) = 0 +43937688076379:43937688076998 26077:26077 hsa_system_get_info(2, 0x11db330) = 0 +43937688077755:43937688078383 26077:26077 hsa_system_get_info(2, 0x11db338) = 0 +43937688079132:43937688079757 26077:26077 hsa_system_get_info(2, 0x11db340) = 0 +43937688080504:43937688081129 26077:26077 hsa_system_get_info(2, 0x11db348) = 0 +43937688081880:43937688082502 26077:26077 hsa_system_get_info(2, 0x11db350) = 0 +43937688083255:43937688083879 26077:26077 hsa_system_get_info(2, 0x11db358) = 0 +43937688084631:43937688085261 26077:26077 hsa_system_get_info(2, 0x11db360) = 0 +43937688086015:43937688086637 26077:26077 hsa_system_get_info(2, 0x11db368) = 0 +43937688087392:43937688088015 26077:26077 hsa_system_get_info(2, 0x11db370) = 0 +43937688088765:43937688089392 26077:26077 hsa_system_get_info(2, 0x11db378) = 0 +43937688090143:43937688090775 26077:26077 hsa_system_get_info(2, 0x11db380) = 0 +43937688091523:43937688092144 26077:26077 hsa_system_get_info(2, 0x11db388) = 0 +43937688092888:43937688093519 26077:26077 hsa_system_get_info(2, 0x11db390) = 0 +43937688094291:43937688094919 26077:26077 hsa_system_get_info(2, 0x11db398) = 0 +43937688095671:43937688096289 26077:26077 hsa_system_get_info(2, 0x11db3a0) = 0 +43937688097040:43937688097654 26077:26077 hsa_system_get_info(2, 0x11db3a8) = 0 +43937688098403:43937688099025 26077:26077 hsa_system_get_info(2, 0x11db3b0) = 0 +43937688099772:43937688100396 26077:26077 hsa_system_get_info(2, 0x11db3b8) = 0 +43937688101146:43937688101767 26077:26077 hsa_system_get_info(2, 0x11db3c0) = 0 +43937688102517:43937688103137 26077:26077 hsa_system_get_info(2, 0x11db3c8) = 0 +43937688103887:43937688104506 26077:26077 hsa_system_get_info(2, 0x11db3d0) = 0 +43937688105254:43937688105882 26077:26077 hsa_system_get_info(2, 0x11db3d8) = 0 +43937688106629:43937688107255 26077:26077 hsa_system_get_info(2, 0x11db3e0) = 0 +43937688108008:43937688108628 26077:26077 hsa_system_get_info(2, 0x11db3e8) = 0 +43937688109376:43937688109996 26077:26077 hsa_system_get_info(2, 0x11db3f0) = 0 +43937688110744:43937688111371 26077:26077 hsa_system_get_info(2, 0x11db3f8) = 0 +43937688112123:43937688112745 26077:26077 hsa_system_get_info(2, 0x11db400) = 0 +43937688114198:43937688114822 26077:26077 hsa_system_get_info(2, 0x11db408) = 0 +43937688115575:43937688116198 26077:26077 hsa_system_get_info(2, 0x11db410) = 0 +43937688116949:43937688117568 26077:26077 hsa_system_get_info(2, 0x11db418) = 0 +43937688118331:43937688118960 26077:26077 hsa_system_get_info(2, 0x11db420) = 0 +43937688119715:43937688120337 26077:26077 hsa_system_get_info(2, 0x11db428) = 0 +43937688121093:43937688121716 26077:26077 hsa_system_get_info(2, 0x11db430) = 0 +43937688122465:43937688123085 26077:26077 hsa_system_get_info(2, 0x11db438) = 0 +43937688123843:43937688124468 26077:26077 hsa_system_get_info(2, 0x11db440) = 0 +43937688125219:43937688125841 26077:26077 hsa_system_get_info(2, 0x11db448) = 0 +43937688126591:43937688127210 26077:26077 hsa_system_get_info(2, 0x11db450) = 0 +43937688127961:43937688128582 26077:26077 hsa_system_get_info(2, 0x11db458) = 0 +43937688129336:43937688129958 26077:26077 hsa_system_get_info(2, 0x11db460) = 0 +43937688130711:43937688131330 26077:26077 hsa_system_get_info(2, 0x11db468) = 0 +43937688132087:43937688132711 26077:26077 hsa_system_get_info(2, 0x11db470) = 0 +43937688133464:43937688134089 26077:26077 hsa_system_get_info(2, 0x11db478) = 0 +43937688134835:43937688135454 26077:26077 hsa_system_get_info(2, 0x11db480) = 0 +43937688136202:43937688136824 26077:26077 hsa_system_get_info(2, 0x11db488) = 0 +43937688137576:43937688138225 26077:26077 hsa_system_get_info(2, 0x11db490) = 0 +43937688138977:43937688139603 26077:26077 hsa_system_get_info(2, 0x11db498) = 0 +43937688140353:43937688140975 26077:26077 hsa_system_get_info(2, 0x11db4a0) = 0 +43937688141727:43937688142353 26077:26077 hsa_system_get_info(2, 0x11db4a8) = 0 +43937688143105:43937688143723 26077:26077 hsa_system_get_info(2, 0x11db4b0) = 0 +43937688144471:43937688145097 26077:26077 hsa_system_get_info(2, 0x11db4b8) = 0 +43937688145849:43937688146468 26077:26077 hsa_system_get_info(2, 0x11db4c0) = 0 +43937688147222:43937688147846 26077:26077 hsa_system_get_info(2, 0x11db4c8) = 0 +43937688148594:43937688149211 26077:26077 hsa_system_get_info(2, 0x11db4d0) = 0 +43937688149962:43937688150583 26077:26077 hsa_system_get_info(2, 0x11db4d8) = 0 +43937688151334:43937688151954 26077:26077 hsa_system_get_info(2, 0x11db4e0) = 0 +43937688152709:43937688153334 26077:26077 hsa_system_get_info(2, 0x11db4e8) = 0 +43937688154787:43937688155413 26077:26077 hsa_system_get_info(2, 0x11db4f0) = 0 +43937688156168:43937688156791 26077:26077 hsa_system_get_info(2, 0x11db4f8) = 0 +43937688157543:43937688158165 26077:26077 hsa_system_get_info(2, 0x11db500) = 0 +43937688158917:43937688159536 26077:26077 hsa_system_get_info(2, 0x11db508) = 0 +43937688160299:43937688160920 26077:26077 hsa_system_get_info(2, 0x11db510) = 0 +43937688161691:43937688162316 26077:26077 hsa_system_get_info(2, 0x11db518) = 0 +43937688163069:43937688163692 26077:26077 hsa_system_get_info(2, 0x11db520) = 0 +43937688164448:43937688165067 26077:26077 hsa_system_get_info(2, 0x11db528) = 0 +43937688165831:43937688166456 26077:26077 hsa_system_get_info(2, 0x11db530) = 0 +43937688167212:43937688167835 26077:26077 hsa_system_get_info(2, 0x11db538) = 0 +43937688168589:43937688169212 26077:26077 hsa_system_get_info(2, 0x11db540) = 0 +43937688169962:43937688170600 26077:26077 hsa_system_get_info(2, 0x11db548) = 0 +43937688171361:43937688171986 26077:26077 hsa_system_get_info(2, 0x11db550) = 0 +43937688172737:43937688173365 26077:26077 hsa_system_get_info(2, 0x11db558) = 0 +43937688174116:43937688174752 26077:26077 hsa_system_get_info(2, 0x11db560) = 0 +43937688175505:43937688176128 26077:26077 hsa_system_get_info(2, 0x11db568) = 0 +43937688176882:43937688177504 26077:26077 hsa_system_get_info(2, 0x11db570) = 0 +43937688178260:43937688178884 26077:26077 hsa_system_get_info(2, 0x11db578) = 0 +43937688179638:43937688180268 26077:26077 hsa_system_get_info(2, 0x11db580) = 0 +43937688181018:43937688181660 26077:26077 hsa_system_get_info(2, 0x11db588) = 0 +43937688182412:43937688183033 26077:26077 hsa_system_get_info(2, 0x11db590) = 0 +43937688183790:43937688184410 26077:26077 hsa_system_get_info(2, 0x11db598) = 0 +43937688185163:43937688185792 26077:26077 hsa_system_get_info(2, 0x11db5a0) = 0 +43937688186540:43937688187162 26077:26077 hsa_system_get_info(2, 0x11db5a8) = 0 +43937688187915:43937688188531 26077:26077 hsa_system_get_info(2, 0x11db5b0) = 0 +43937688189280:43937688189902 26077:26077 hsa_system_get_info(2, 0x11db5b8) = 0 +43937688190666:43937688191295 26077:26077 hsa_system_get_info(2, 0x11db5c0) = 0 +43937688192045:43937688192668 26077:26077 hsa_system_get_info(2, 0x11db5c8) = 0 +43937688194173:43937688194795 26077:26077 hsa_system_get_info(2, 0x11db5d0) = 0 +43937688195546:43937688196169 26077:26077 hsa_system_get_info(2, 0x11db5d8) = 0 +43937688196917:43937688197535 26077:26077 hsa_system_get_info(2, 0x11db5e0) = 0 +43937688198282:43937688198906 26077:26077 hsa_system_get_info(2, 0x11db5e8) = 0 +43937688199652:43937688200278 26077:26077 hsa_system_get_info(2, 0x11db5f0) = 0 +43937688201028:43937688201648 26077:26077 hsa_system_get_info(2, 0x11db5f8) = 0 +43937688202401:43937688203017 26077:26077 hsa_system_get_info(2, 0x11db600) = 0 +43937688203762:43937688204388 26077:26077 hsa_system_get_info(2, 0x11db608) = 0 +43937688205135:43937688205763 26077:26077 hsa_system_get_info(2, 0x11db610) = 0 +43937688206520:43937688207151 26077:26077 hsa_system_get_info(2, 0x11db618) = 0 +43937688207897:43937688208523 26077:26077 hsa_system_get_info(2, 0x11db620) = 0 +43937688209273:43937688209904 26077:26077 hsa_system_get_info(2, 0x11db628) = 0 +43937688210653:43937688211280 26077:26077 hsa_system_get_info(2, 0x11db630) = 0 +43937688212029:43937688212654 26077:26077 hsa_system_get_info(2, 0x11db638) = 0 +43937688213418:43937688214041 26077:26077 hsa_system_get_info(2, 0x11db640) = 0 +43937688214792:43937688215417 26077:26077 hsa_system_get_info(2, 0x11db648) = 0 +43937688216168:43937688216789 26077:26077 hsa_system_get_info(2, 0x11db650) = 0 +43937688217537:43937688218159 26077:26077 hsa_system_get_info(2, 0x11db658) = 0 +43937688218910:43937688219528 26077:26077 hsa_system_get_info(2, 0x11db660) = 0 +43937688220272:43937688220892 26077:26077 hsa_system_get_info(2, 0x11db668) = 0 +43937688221640:43937688222259 26077:26077 hsa_system_get_info(2, 0x11db670) = 0 +43937688223006:43937688223626 26077:26077 hsa_system_get_info(2, 0x11db678) = 0 +43937688224375:43937688224993 26077:26077 hsa_system_get_info(2, 0x11db680) = 0 +43937688225742:43937688226366 26077:26077 hsa_system_get_info(2, 0x11db688) = 0 +43937688227116:43937688227742 26077:26077 hsa_system_get_info(2, 0x11db690) = 0 +43937688228492:43937688229114 26077:26077 hsa_system_get_info(2, 0x11db698) = 0 +43937688229864:43937688230490 26077:26077 hsa_system_get_info(2, 0x11db6a0) = 0 +43937688231239:43937688231861 26077:26077 hsa_system_get_info(2, 0x11db6a8) = 0 +43937688232620:43937688233261 26077:26077 hsa_system_get_info(2, 0x11db6b0) = 0 +43937688234703:43937688235336 26077:26077 hsa_system_get_info(2, 0x11db6b8) = 0 +43937688236100:43937688236729 26077:26077 hsa_system_get_info(2, 0x11db6c0) = 0 +43937688237478:43937688238110 26077:26077 hsa_system_get_info(2, 0x11db6c8) = 0 +43937688238860:43937688239483 26077:26077 hsa_system_get_info(2, 0x11db6d0) = 0 +43937688240234:43937688240864 26077:26077 hsa_system_get_info(2, 0x11db6d8) = 0 +43937688241613:43937688242237 26077:26077 hsa_system_get_info(2, 0x11db6e0) = 0 +43937688242990:43937688243615 26077:26077 hsa_system_get_info(2, 0x11db6e8) = 0 +43937688244366:43937688244994 26077:26077 hsa_system_get_info(2, 0x11db6f0) = 0 +43937688245763:43937688246383 26077:26077 hsa_system_get_info(2, 0x11db6f8) = 0 +43937688247129:43937688247749 26077:26077 hsa_system_get_info(2, 0x11db700) = 0 +43937688248501:43937688249129 26077:26077 hsa_system_get_info(2, 0x11db708) = 0 +43937688249879:43937688250507 26077:26077 hsa_system_get_info(2, 0x11db710) = 0 +43937688251256:43937688251885 26077:26077 hsa_system_get_info(2, 0x11db718) = 0 +43937688252648:43937688253262 26077:26077 hsa_system_get_info(2, 0x11db720) = 0 +43937688254010:43937688254634 26077:26077 hsa_system_get_info(2, 0x11db728) = 0 +43937688255381:43937688256003 26077:26077 hsa_system_get_info(2, 0x11db730) = 0 +43937688256754:43937688257382 26077:26077 hsa_system_get_info(2, 0x11db738) = 0 +43937688258129:43937688258755 26077:26077 hsa_system_get_info(2, 0x11db740) = 0 +43937688259507:43937688260134 26077:26077 hsa_system_get_info(2, 0x11db748) = 0 +43937688260885:43937688261514 26077:26077 hsa_system_get_info(2, 0x11db750) = 0 +43937688262262:43937688262888 26077:26077 hsa_system_get_info(2, 0x11db758) = 0 +43937688263636:43937688264258 26077:26077 hsa_system_get_info(2, 0x11db760) = 0 +43937688265009:43937688265631 26077:26077 hsa_system_get_info(2, 0x11db768) = 0 +43937688266377:43937688266997 26077:26077 hsa_system_get_info(2, 0x11db770) = 0 +43937688267745:43937688268366 26077:26077 hsa_system_get_info(2, 0x11db778) = 0 +43937688269111:43937688269737 26077:26077 hsa_system_get_info(2, 0x11db780) = 0 +43937688270487:43937688271118 26077:26077 hsa_system_get_info(2, 0x11db788) = 0 +43937688271869:43937688272495 26077:26077 hsa_system_get_info(2, 0x11db790) = 0 +43937688273922:43937688274543 26077:26077 hsa_system_get_info(2, 0x11db798) = 0 +43937688275291:43937688275911 26077:26077 hsa_system_get_info(2, 0x11db7a0) = 0 +43937688276665:43937688277290 26077:26077 hsa_system_get_info(2, 0x11db7a8) = 0 +43937688278041:43937688278662 26077:26077 hsa_system_get_info(2, 0x11db7b0) = 0 +43937688279414:43937688280037 26077:26077 hsa_system_get_info(2, 0x11db7b8) = 0 +43937688280792:43937688281416 26077:26077 hsa_system_get_info(2, 0x11db7c0) = 0 +43937688282165:43937688282787 26077:26077 hsa_system_get_info(2, 0x11db7c8) = 0 +43937688283537:43937688284158 26077:26077 hsa_system_get_info(2, 0x11db7d0) = 0 +43937688284911:43937688285539 26077:26077 hsa_system_get_info(2, 0x11db7d8) = 0 +43937688286292:43937688286917 26077:26077 hsa_system_get_info(2, 0x11db7e0) = 0 +43937688287669:43937688288287 26077:26077 hsa_system_get_info(2, 0x11db7e8) = 0 +43937688289038:43937688289660 26077:26077 hsa_system_get_info(2, 0x11db7f0) = 0 +43937688290410:43937688291039 26077:26077 hsa_system_get_info(2, 0x11db7f8) = 0 +43937688291791:43937688292425 26077:26077 hsa_system_get_info(2, 0x11db800) = 0 +43937688293173:43937688293795 26077:26077 hsa_system_get_info(2, 0x11db808) = 0 +43937688294546:43937688295166 26077:26077 hsa_system_get_info(2, 0x11db810) = 0 +43937688295924:43937688296548 26077:26077 hsa_system_get_info(2, 0x11db818) = 0 +43937688297302:43937688297926 26077:26077 hsa_system_get_info(2, 0x11db820) = 0 +43937688298677:43937688299304 26077:26077 hsa_system_get_info(2, 0x11db828) = 0 +43937688300094:43937688300717 26077:26077 hsa_system_get_info(2, 0x11db830) = 0 +43937688301467:43937688302098 26077:26077 hsa_system_get_info(2, 0x11db838) = 0 +43937688302851:43937688303473 26077:26077 hsa_system_get_info(2, 0x11db840) = 0 +43937688304227:43937688304851 26077:26077 hsa_system_get_info(2, 0x11db848) = 0 +43937688305602:43937688306223 26077:26077 hsa_system_get_info(2, 0x11db850) = 0 +43937688306974:43937688307592 26077:26077 hsa_system_get_info(2, 0x11db858) = 0 +43937688308345:43937688308968 26077:26077 hsa_system_get_info(2, 0x11db860) = 0 +43937688309720:43937688310334 26077:26077 hsa_system_get_info(2, 0x11db868) = 0 +43937688311095:43937688311725 26077:26077 hsa_system_get_info(2, 0x11db870) = 0 +43937688313152:43937688313774 26077:26077 hsa_system_get_info(2, 0x11db878) = 0 +43937688314526:43937688315142 26077:26077 hsa_system_get_info(2, 0x11db880) = 0 +43937688315896:43937688316523 26077:26077 hsa_system_get_info(2, 0x11db888) = 0 +43937688317270:43937688317889 26077:26077 hsa_system_get_info(2, 0x11db890) = 0 +43937688318640:43937688319268 26077:26077 hsa_system_get_info(2, 0x11db898) = 0 +43937688320018:43937688320645 26077:26077 hsa_system_get_info(2, 0x11db8a0) = 0 +43937688321400:43937688322022 26077:26077 hsa_system_get_info(2, 0x11db8a8) = 0 +43937688322770:43937688323400 26077:26077 hsa_system_get_info(2, 0x11db8b0) = 0 +43937688324152:43937688324774 26077:26077 hsa_system_get_info(2, 0x11db8b8) = 0 +43937688325540:43937688326153 26077:26077 hsa_system_get_info(2, 0x11db8c0) = 0 +43937688326901:43937688327526 26077:26077 hsa_system_get_info(2, 0x11db8c8) = 0 +43937688328274:43937688328896 26077:26077 hsa_system_get_info(2, 0x11db8d0) = 0 +43937688329642:43937688330265 26077:26077 hsa_system_get_info(2, 0x11db8d8) = 0 +43937688331018:43937688331647 26077:26077 hsa_system_get_info(2, 0x11db8e0) = 0 +43937688332397:43937688333044 26077:26077 hsa_system_get_info(2, 0x11db8e8) = 0 +43937688333795:43937688334420 26077:26077 hsa_system_get_info(2, 0x11db8f0) = 0 +43937688335174:43937688335801 26077:26077 hsa_system_get_info(2, 0x11db8f8) = 0 +43937688336548:43937688337175 26077:26077 hsa_system_get_info(2, 0x11db900) = 0 +43937688337925:43937688338548 26077:26077 hsa_system_get_info(2, 0x11db908) = 0 +43937688339292:43937688339913 26077:26077 hsa_system_get_info(2, 0x11db910) = 0 +43937688340661:43937688341287 26077:26077 hsa_system_get_info(2, 0x11db918) = 0 +43937688342034:43937688342665 26077:26077 hsa_system_get_info(2, 0x11db920) = 0 +43937688343415:43937688344036 26077:26077 hsa_system_get_info(2, 0x11db928) = 0 +43937688344783:43937688345412 26077:26077 hsa_system_get_info(2, 0x11db930) = 0 +43937688346163:43937688346794 26077:26077 hsa_system_get_info(2, 0x11db938) = 0 +43937688347545:43937688348167 26077:26077 hsa_system_get_info(2, 0x11db940) = 0 +43937688348917:43937688349542 26077:26077 hsa_system_get_info(2, 0x11db948) = 0 +43937688350293:43937688350923 26077:26077 hsa_system_get_info(2, 0x11db950) = 0 +43937688351674:43937688352297 26077:26077 hsa_system_get_info(2, 0x11db958) = 0 +43937688353751:43937688354382 26077:26077 hsa_system_get_info(2, 0x11db960) = 0 +43937688355132:43937688355770 26077:26077 hsa_system_get_info(2, 0x11db968) = 0 +43937688356517:43937688357142 26077:26077 hsa_system_get_info(2, 0x11db970) = 0 +43937688357892:43937688358512 26077:26077 hsa_system_get_info(2, 0x11db978) = 0 +43937688359264:43937688359893 26077:26077 hsa_system_get_info(2, 0x11db980) = 0 +43937688360644:43937688361271 26077:26077 hsa_system_get_info(2, 0x11db988) = 0 +43937688362023:43937688362654 26077:26077 hsa_system_get_info(2, 0x11db990) = 0 +43937688363410:43937688364042 26077:26077 hsa_system_get_info(2, 0x11db998) = 0 +43937688364797:43937688365428 26077:26077 hsa_system_get_info(2, 0x11db9a0) = 0 +43937688366184:43937688366808 26077:26077 hsa_system_get_info(2, 0x11db9a8) = 0 +43937688367558:43937688368186 26077:26077 hsa_system_get_info(2, 0x11db9b0) = 0 +43937688368933:43937688369565 26077:26077 hsa_system_get_info(2, 0x11db9b8) = 0 +43937688370314:43937688370945 26077:26077 hsa_system_get_info(2, 0x11db9c0) = 0 +43937688371691:43937688372318 26077:26077 hsa_system_get_info(2, 0x11db9c8) = 0 +43937688373067:43937688373690 26077:26077 hsa_system_get_info(2, 0x11db9d0) = 0 +43937688374438:43937688375056 26077:26077 hsa_system_get_info(2, 0x11db9d8) = 0 +43937688375819:43937688376449 26077:26077 hsa_system_get_info(2, 0x11db9e0) = 0 +43937688377193:43937688377818 26077:26077 hsa_system_get_info(2, 0x11db9e8) = 0 +43937688378570:43937688379191 26077:26077 hsa_system_get_info(2, 0x11db9f0) = 0 +43937688379940:43937688380562 26077:26077 hsa_system_get_info(2, 0x11db9f8) = 0 +43937688381310:43937688381933 26077:26077 hsa_system_get_info(2, 0x11dba00) = 0 +43937688382681:43937688383304 26077:26077 hsa_system_get_info(2, 0x11dba08) = 0 +43937688384054:43937688384683 26077:26077 hsa_system_get_info(2, 0x11dba10) = 0 +43937688385433:43937688386065 26077:26077 hsa_system_get_info(2, 0x11dba18) = 0 +43937688386814:43937688387428 26077:26077 hsa_system_get_info(2, 0x11dba20) = 0 +43937688388179:43937688388800 26077:26077 hsa_system_get_info(2, 0x11dba28) = 0 +43937688389555:43937688390176 26077:26077 hsa_system_get_info(2, 0x11dba30) = 0 +43937688390920:43937688391546 26077:26077 hsa_system_get_info(2, 0x11dba38) = 0 +43937688393598:43937688394234 26077:26077 hsa_system_get_info(2, 0x11dba40) = 0 +43937688394990:43937688395611 26077:26077 hsa_system_get_info(2, 0x11dba48) = 0 +43937688396359:43937688396985 26077:26077 hsa_system_get_info(2, 0x11dba50) = 0 +43937688397732:43937688398351 26077:26077 hsa_system_get_info(2, 0x11dba58) = 0 +43937688399102:43937688399722 26077:26077 hsa_system_get_info(2, 0x11dba60) = 0 +43937688400473:43937688401096 26077:26077 hsa_system_get_info(2, 0x11dba68) = 0 +43937688401846:43937688402469 26077:26077 hsa_system_get_info(2, 0x11dba70) = 0 +43937688403217:43937688403830 26077:26077 hsa_system_get_info(2, 0x11dba78) = 0 +43937688404581:43937688405204 26077:26077 hsa_system_get_info(2, 0x11dba80) = 0 +43937688405962:43937688406580 26077:26077 hsa_system_get_info(2, 0x11dba88) = 0 +43937688407335:43937688407958 26077:26077 hsa_system_get_info(2, 0x11dba90) = 0 +43937688408707:43937688409330 26077:26077 hsa_system_get_info(2, 0x11dba98) = 0 +43937688410080:43937688410733 26077:26077 hsa_system_get_info(2, 0x11dbaa0) = 0 +43937688411491:43937688412114 26077:26077 hsa_system_get_info(2, 0x11dbaa8) = 0 +43937688412870:43937688413495 26077:26077 hsa_system_get_info(2, 0x11dbab0) = 0 +43937688414246:43937688414867 26077:26077 hsa_system_get_info(2, 0x11dbab8) = 0 +43937688415621:43937688416247 26077:26077 hsa_system_get_info(2, 0x11dbac0) = 0 +43937688416998:43937688417618 26077:26077 hsa_system_get_info(2, 0x11dbac8) = 0 +43937688418372:43937688418993 26077:26077 hsa_system_get_info(2, 0x11dbad0) = 0 +43937688419744:43937688420364 26077:26077 hsa_system_get_info(2, 0x11dbad8) = 0 +43937688421114:43937688421733 26077:26077 hsa_system_get_info(2, 0x11dbae0) = 0 +43937688422505:43937688423136 26077:26077 hsa_system_get_info(2, 0x11dbae8) = 0 +43937688423884:43937688424506 26077:26077 hsa_system_get_info(2, 0x11dbaf0) = 0 +43937688425255:43937688425875 26077:26077 hsa_system_get_info(2, 0x11dbaf8) = 0 +43937688426626:43937688427250 26077:26077 hsa_system_get_info(2, 0x11dbb00) = 0 +43937688427997:43937688428617 26077:26077 hsa_system_get_info(2, 0x11dbb08) = 0 +43937688429387:43937688430010 26077:26077 hsa_system_get_info(2, 0x11dbb10) = 0 +43937688430773:43937688431393 26077:26077 hsa_system_get_info(2, 0x11dbb18) = 0 +43937688432156:43937688432775 26077:26077 hsa_system_get_info(2, 0x11dbb20) = 0 +43937688434248:43937688434878 26077:26077 hsa_system_get_info(2, 0x11dbb28) = 0 +43937688435635:43937688436259 26077:26077 hsa_system_get_info(2, 0x11dbb30) = 0 +43937688437016:43937688437643 26077:26077 hsa_system_get_info(2, 0x11dbb38) = 0 +43937688438394:43937688439016 26077:26077 hsa_system_get_info(2, 0x11dbb40) = 0 +43937688439768:43937688440390 26077:26077 hsa_system_get_info(2, 0x11dbb48) = 0 +43937688441138:43937688441760 26077:26077 hsa_system_get_info(2, 0x11dbb50) = 0 +43937688442513:43937688443135 26077:26077 hsa_system_get_info(2, 0x11dbb58) = 0 +43937688443886:43937688444507 26077:26077 hsa_system_get_info(2, 0x11dbb60) = 0 +43937688445259:43937688445880 26077:26077 hsa_system_get_info(2, 0x11dbb68) = 0 +43937688446632:43937688447254 26077:26077 hsa_system_get_info(2, 0x11dbb70) = 0 +43937688448003:43937688448623 26077:26077 hsa_system_get_info(2, 0x11dbb78) = 0 +43937688449371:43937688449994 26077:26077 hsa_system_get_info(2, 0x11dbb80) = 0 +43937688450743:43937688451364 26077:26077 hsa_system_get_info(2, 0x11dbb88) = 0 +43937688452113:43937688452735 26077:26077 hsa_system_get_info(2, 0x11dbb90) = 0 +43937688453486:43937688454123 26077:26077 hsa_system_get_info(2, 0x11dbb98) = 0 +43937688454873:43937688455504 26077:26077 hsa_system_get_info(2, 0x11dbba0) = 0 +43937688456255:43937688456878 26077:26077 hsa_system_get_info(2, 0x11dbba8) = 0 +43937688457630:43937688458257 26077:26077 hsa_system_get_info(2, 0x11dbbb0) = 0 +43937688459009:43937688459637 26077:26077 hsa_system_get_info(2, 0x11dbbb8) = 0 +43937688460389:43937688461019 26077:26077 hsa_system_get_info(2, 0x11dbbc0) = 0 +43937688461766:43937688462388 26077:26077 hsa_system_get_info(2, 0x11dbbc8) = 0 +43937688463139:43937688463762 26077:26077 hsa_system_get_info(2, 0x11dbbd0) = 0 +43937688464512:43937688465136 26077:26077 hsa_system_get_info(2, 0x11dbbd8) = 0 +43937688465885:43937688466513 26077:26077 hsa_system_get_info(2, 0x11dbbe0) = 0 +43937688467261:43937688467897 26077:26077 hsa_system_get_info(2, 0x11dbbe8) = 0 +43937688468652:43937688469280 26077:26077 hsa_system_get_info(2, 0x11dbbf0) = 0 +43937688470028:43937688470654 26077:26077 hsa_system_get_info(2, 0x11dbbf8) = 0 +43937688471403:43937688472028 26077:26077 hsa_system_get_info(2, 0x11dbc00) = 0 +43937688473485:43937688474117 26077:26077 hsa_system_get_info(2, 0x11dbc08) = 0 +43937688474871:43937688475491 26077:26077 hsa_system_get_info(2, 0x11dbc10) = 0 +43937688476240:43937688476856 26077:26077 hsa_system_get_info(2, 0x11dbc18) = 0 +43937688477606:43937688478226 26077:26077 hsa_system_get_info(2, 0x11dbc20) = 0 +43937688478971:43937688479596 26077:26077 hsa_system_get_info(2, 0x11dbc28) = 0 +43937688480348:43937688480969 26077:26077 hsa_system_get_info(2, 0x11dbc30) = 0 +43937688481720:43937688482343 26077:26077 hsa_system_get_info(2, 0x11dbc38) = 0 +43937688483094:43937688483712 26077:26077 hsa_system_get_info(2, 0x11dbc40) = 0 +43937688484462:43937688485087 26077:26077 hsa_system_get_info(2, 0x11dbc48) = 0 +43937688485842:43937688486480 26077:26077 hsa_system_get_info(2, 0x11dbc50) = 0 +43937688487233:43937688487852 26077:26077 hsa_system_get_info(2, 0x11dbc58) = 0 +43937688488602:43937688489224 26077:26077 hsa_system_get_info(2, 0x11dbc60) = 0 +43937688489974:43937688490593 26077:26077 hsa_system_get_info(2, 0x11dbc68) = 0 +43937688491347:43937688491974 26077:26077 hsa_system_get_info(2, 0x11dbc70) = 0 +43937688492725:43937688493344 26077:26077 hsa_system_get_info(2, 0x11dbc78) = 0 +43937688494092:43937688494713 26077:26077 hsa_system_get_info(2, 0x11dbc80) = 0 +43937688495462:43937688496082 26077:26077 hsa_system_get_info(2, 0x11dbc88) = 0 +43937688496836:43937688497458 26077:26077 hsa_system_get_info(2, 0x11dbc90) = 0 +43937688498207:43937688498828 26077:26077 hsa_system_get_info(2, 0x11dbc98) = 0 +43937688499579:43937688500202 26077:26077 hsa_system_get_info(2, 0x11dbca0) = 0 +43937688500955:43937688501579 26077:26077 hsa_system_get_info(2, 0x11dbca8) = 0 +43937688502332:43937688502951 26077:26077 hsa_system_get_info(2, 0x11dbcb0) = 0 +43937688503701:43937688504323 26077:26077 hsa_system_get_info(2, 0x11dbcb8) = 0 +43937688505073:43937688505693 26077:26077 hsa_system_get_info(2, 0x11dbcc0) = 0 +43937688506446:43937688507088 26077:26077 hsa_system_get_info(2, 0x11dbcc8) = 0 +43937688507838:43937688508460 26077:26077 hsa_system_get_info(2, 0x11dbcd0) = 0 +43937688509213:43937688509830 26077:26077 hsa_system_get_info(2, 0x11dbcd8) = 0 +43937688510585:43937688511209 26077:26077 hsa_system_get_info(2, 0x11dbce0) = 0 +43937688511976:43937688512600 26077:26077 hsa_system_get_info(2, 0x11dbce8) = 0 +43937688514046:43937688514677 26077:26077 hsa_system_get_info(2, 0x11dbcf0) = 0 +43937688515453:43937688516081 26077:26077 hsa_system_get_info(2, 0x11dbcf8) = 0 +43937688516834:43937688517456 26077:26077 hsa_system_get_info(2, 0x11dbd00) = 0 +43937688518211:43937688518833 26077:26077 hsa_system_get_info(2, 0x11dbd08) = 0 +43937688519584:43937688520206 26077:26077 hsa_system_get_info(2, 0x11dbd10) = 0 +43937688520958:43937688521576 26077:26077 hsa_system_get_info(2, 0x11dbd18) = 0 +43937688522331:43937688522945 26077:26077 hsa_system_get_info(2, 0x11dbd20) = 0 +43937688523696:43937688524315 26077:26077 hsa_system_get_info(2, 0x11dbd28) = 0 +43937688525075:43937688525697 26077:26077 hsa_system_get_info(2, 0x11dbd30) = 0 +43937688526447:43937688527071 26077:26077 hsa_system_get_info(2, 0x11dbd38) = 0 +43937688527824:43937688528448 26077:26077 hsa_system_get_info(2, 0x11dbd40) = 0 +43937688529199:43937688529823 26077:26077 hsa_system_get_info(2, 0x11dbd48) = 0 +43937688530571:43937688531197 26077:26077 hsa_system_get_info(2, 0x11dbd50) = 0 +43937688531949:43937688532569 26077:26077 hsa_system_get_info(2, 0x11dbd58) = 0 +43937688533327:43937688533949 26077:26077 hsa_system_get_info(2, 0x11dbd60) = 0 +43937688534703:43937688535348 26077:26077 hsa_system_get_info(2, 0x11dbd68) = 0 +43937688536100:43937688536721 26077:26077 hsa_system_get_info(2, 0x11dbd70) = 0 +43937688537475:43937688538095 26077:26077 hsa_system_get_info(2, 0x11dbd78) = 0 +43937688538842:43937688539463 26077:26077 hsa_system_get_info(2, 0x11dbd80) = 0 +43937688540209:43937688540832 26077:26077 hsa_system_get_info(2, 0x11dbd88) = 0 +43937688541584:43937688542208 26077:26077 hsa_system_get_info(2, 0x11dbd90) = 0 +43937688542959:43937688543593 26077:26077 hsa_system_get_info(2, 0x11dbd98) = 0 +43937688544355:43937688544977 26077:26077 hsa_system_get_info(2, 0x11dbda0) = 0 +43937688545728:43937688546349 26077:26077 hsa_system_get_info(2, 0x11dbda8) = 0 +43937688547099:43937688547722 26077:26077 hsa_system_get_info(2, 0x11dbdb0) = 0 +43937688548473:43937688549103 26077:26077 hsa_system_get_info(2, 0x11dbdb8) = 0 +43937688549858:43937688550475 26077:26077 hsa_system_get_info(2, 0x11dbdc0) = 0 +43937688551229:43937688551848 26077:26077 hsa_system_get_info(2, 0x11dbdc8) = 0 +43937688553290:43937688553920 26077:26077 hsa_system_get_info(2, 0x11dbdd0) = 0 +43937688554666:43937688555292 26077:26077 hsa_system_get_info(2, 0x11dbdd8) = 0 +43937688556040:43937688556671 26077:26077 hsa_system_get_info(2, 0x11dbde0) = 0 +43937688557419:43937688558046 26077:26077 hsa_system_get_info(2, 0x11dbde8) = 0 +43937688558794:43937688559416 26077:26077 hsa_system_get_info(2, 0x11dbdf0) = 0 +43937688560163:43937688560781 26077:26077 hsa_system_get_info(2, 0x11dbdf8) = 0 +43937688561528:43937688562155 26077:26077 hsa_system_get_info(2, 0x11dbe00) = 0 +43937688562906:43937688563521 26077:26077 hsa_system_get_info(2, 0x11dbe08) = 0 +43937688564276:43937688564898 26077:26077 hsa_system_get_info(2, 0x11dbe10) = 0 +43937688565653:43937688566280 26077:26077 hsa_system_get_info(2, 0x11dbe18) = 0 +43937688567031:43937688567657 26077:26077 hsa_system_get_info(2, 0x11dbe20) = 0 +43937688568412:43937688569035 26077:26077 hsa_system_get_info(2, 0x11dbe28) = 0 +43937688569782:43937688570402 26077:26077 hsa_system_get_info(2, 0x11dbe30) = 0 +43937688571154:43937688571789 26077:26077 hsa_system_get_info(2, 0x11dbe38) = 0 +43937688572541:43937688573164 26077:26077 hsa_system_get_info(2, 0x11dbe40) = 0 +43937688573917:43937688574537 26077:26077 hsa_system_get_info(2, 0x11dbe48) = 0 +43937688575287:43937688575912 26077:26077 hsa_system_get_info(2, 0x11dbe50) = 0 +43937688576665:43937688577287 26077:26077 hsa_system_get_info(2, 0x11dbe58) = 0 +43937688578037:43937688578651 26077:26077 hsa_system_get_info(2, 0x11dbe60) = 0 +43937688579400:43937688580018 26077:26077 hsa_system_get_info(2, 0x11dbe68) = 0 +43937688580765:43937688581387 26077:26077 hsa_system_get_info(2, 0x11dbe70) = 0 +43937688582138:43937688582757 26077:26077 hsa_system_get_info(2, 0x11dbe78) = 0 +43937688583501:43937688584126 26077:26077 hsa_system_get_info(2, 0x11dbe80) = 0 +43937688584877:43937688585491 26077:26077 hsa_system_get_info(2, 0x11dbe88) = 0 +43937688586235:43937688586866 26077:26077 hsa_system_get_info(2, 0x11dbe90) = 0 +43937688587618:43937688588245 26077:26077 hsa_system_get_info(2, 0x11dbe98) = 0 +43937688588995:43937688589615 26077:26077 hsa_system_get_info(2, 0x11dbea0) = 0 +43937688590363:43937688590990 26077:26077 hsa_system_get_info(2, 0x11dbea8) = 0 +43937688591738:43937688592376 26077:26077 hsa_system_get_info(2, 0x11dbeb0) = 0 +43937688593807:43937688594437 26077:26077 hsa_system_get_info(2, 0x11dbeb8) = 0 +43937688595194:43937688595814 26077:26077 hsa_system_get_info(2, 0x11dbec0) = 0 +43937688596564:43937688597181 26077:26077 hsa_system_get_info(2, 0x11dbec8) = 0 +43937688597932:43937688598558 26077:26077 hsa_system_get_info(2, 0x11dbed0) = 0 +43937688599306:43937688599928 26077:26077 hsa_system_get_info(2, 0x11dbed8) = 0 +43937688600676:43937688601300 26077:26077 hsa_system_get_info(2, 0x11dbee0) = 0 +43937688602049:43937688602679 26077:26077 hsa_system_get_info(2, 0x11dbee8) = 0 +43937688603425:43937688604053 26077:26077 hsa_system_get_info(2, 0x11dbef0) = 0 +43937688604812:43937688605440 26077:26077 hsa_system_get_info(2, 0x11dbef8) = 0 +43937688606187:43937688606820 26077:26077 hsa_system_get_info(2, 0x11dbf00) = 0 +43937688607570:43937688608194 26077:26077 hsa_system_get_info(2, 0x11dbf08) = 0 +43937688608938:43937688609558 26077:26077 hsa_system_get_info(2, 0x11dbf10) = 0 +43937688610309:43937688610945 26077:26077 hsa_system_get_info(2, 0x11dbf18) = 0 +43937688611714:43937688612338 26077:26077 hsa_system_get_info(2, 0x11dbf20) = 0 +43937688613087:43937688613714 26077:26077 hsa_system_get_info(2, 0x11dbf28) = 0 +43937688614459:43937688615078 26077:26077 hsa_system_get_info(2, 0x11dbf30) = 0 +43937688615826:43937688616455 26077:26077 hsa_system_get_info(2, 0x11dbf38) = 0 +43937688617207:43937688617829 26077:26077 hsa_system_get_info(2, 0x11dbf40) = 0 +43937688618580:43937688619214 26077:26077 hsa_system_get_info(2, 0x11dbf48) = 0 +43937688619961:43937688620587 26077:26077 hsa_system_get_info(2, 0x11dbf50) = 0 +43937688621339:43937688621972 26077:26077 hsa_system_get_info(2, 0x11dbf58) = 0 +43937688622724:43937688623344 26077:26077 hsa_system_get_info(2, 0x11dbf60) = 0 +43937688624090:43937688624712 26077:26077 hsa_system_get_info(2, 0x11dbf68) = 0 +43937688625464:43937688626085 26077:26077 hsa_system_get_info(2, 0x11dbf70) = 0 +43937688626836:43937688627461 26077:26077 hsa_system_get_info(2, 0x11dbf78) = 0 +43937688628213:43937688628836 26077:26077 hsa_system_get_info(2, 0x11dbf80) = 0 +43937688629585:43937688630203 26077:26077 hsa_system_get_info(2, 0x11dbf88) = 0 +43937688630970:43937688631585 26077:26077 hsa_system_get_info(2, 0x11dbf90) = 0 +43937688633039:43937688633666 26077:26077 hsa_system_get_info(2, 0x11dbf98) = 0 +43937688634411:43937688635027 26077:26077 hsa_system_get_info(2, 0x11dbfa0) = 0 +43937688635777:43937688636398 26077:26077 hsa_system_get_info(2, 0x11dbfa8) = 0 +43937688637144:43937688637771 26077:26077 hsa_system_get_info(2, 0x11dbfb0) = 0 +43937688638520:43937688639141 26077:26077 hsa_system_get_info(2, 0x11dbfb8) = 0 +43937688639889:43937688640516 26077:26077 hsa_system_get_info(2, 0x11dbfc0) = 0 +43937688641266:43937688641896 26077:26077 hsa_system_get_info(2, 0x11dbfc8) = 0 +43937688642647:43937688643275 26077:26077 hsa_system_get_info(2, 0x11dbfd0) = 0 +43937688644025:43937688644646 26077:26077 hsa_system_get_info(2, 0x11dbfd8) = 0 +43937688645397:43937688646023 26077:26077 hsa_system_get_info(2, 0x11dbfe0) = 0 +43937688646778:43937688647408 26077:26077 hsa_system_get_info(2, 0x11dbfe8) = 0 +43937688648177:43937688648804 26077:26077 hsa_system_get_info(2, 0x11dbff0) = 0 +43937688649556:43937688650179 26077:26077 hsa_system_get_info(2, 0x11dbff8) = 0 +43937688650927:43937688651553 26077:26077 hsa_system_get_info(2, 0x11dc000) = 0 +43937688652306:43937688652928 26077:26077 hsa_system_get_info(2, 0x11dc008) = 0 +43937688653680:43937688654303 26077:26077 hsa_system_get_info(2, 0x11dc010) = 0 +43937688655055:43937688655678 26077:26077 hsa_system_get_info(2, 0x11dc018) = 0 +43937688656429:43937688657053 26077:26077 hsa_system_get_info(2, 0x11dc020) = 0 +43937688657802:43937688658422 26077:26077 hsa_system_get_info(2, 0x11dc028) = 0 +43937688659171:43937688659795 26077:26077 hsa_system_get_info(2, 0x11dc030) = 0 +43937688660550:43937688661171 26077:26077 hsa_system_get_info(2, 0x11dc038) = 0 +43937688661917:43937688662534 26077:26077 hsa_system_get_info(2, 0x11dc040) = 0 +43937688663285:43937688663906 26077:26077 hsa_system_get_info(2, 0x11dc048) = 0 +43937688664656:43937688665274 26077:26077 hsa_system_get_info(2, 0x11dc050) = 0 +43937688666024:43937688666646 26077:26077 hsa_system_get_info(2, 0x11dc058) = 0 +43937688667397:43937688668032 26077:26077 hsa_system_get_info(2, 0x11dc060) = 0 +43937688668783:43937688669402 26077:26077 hsa_system_get_info(2, 0x11dc068) = 0 +43937688670148:43937688670768 26077:26077 hsa_system_get_info(2, 0x11dc070) = 0 +43937688672220:43937688672845 26077:26077 hsa_system_get_info(2, 0x11dc078) = 0 +43937688673609:43937688674234 26077:26077 hsa_system_get_info(2, 0x11dc080) = 0 +43937688674983:43937688675606 26077:26077 hsa_system_get_info(2, 0x11dc088) = 0 +43937688676355:43937688676975 26077:26077 hsa_system_get_info(2, 0x11dc090) = 0 +43937688677721:43937688678342 26077:26077 hsa_system_get_info(2, 0x11dc098) = 0 +43937688679088:43937688679716 26077:26077 hsa_system_get_info(2, 0x11dc0a0) = 0 +43937688680467:43937688681089 26077:26077 hsa_system_get_info(2, 0x11dc0a8) = 0 +43937688681839:43937688682465 26077:26077 hsa_system_get_info(2, 0x11dc0b0) = 0 +43937688683215:43937688683834 26077:26077 hsa_system_get_info(2, 0x11dc0b8) = 0 +43937688684597:43937688685220 26077:26077 hsa_system_get_info(2, 0x11dc0c0) = 0 +43937688685976:43937688686603 26077:26077 hsa_system_get_info(2, 0x11dc0c8) = 0 +43937688687360:43937688687987 26077:26077 hsa_system_get_info(2, 0x11dc0d0) = 0 +43937688688740:43937688689363 26077:26077 hsa_system_get_info(2, 0x11dc0d8) = 0 +43937688690123:43937688690749 26077:26077 hsa_system_get_info(2, 0x11dc0e0) = 0 +43937688691503:43937688692132 26077:26077 hsa_system_get_info(2, 0x11dc0e8) = 0 +43937688692880:43937688693517 26077:26077 hsa_system_get_info(2, 0x11dc0f0) = 0 +43937688694266:43937688694891 26077:26077 hsa_system_get_info(2, 0x11dc0f8) = 0 +43937688695661:43937688696285 26077:26077 hsa_system_get_info(2, 0x11dc100) = 0 +43937688697055:43937688697676 26077:26077 hsa_system_get_info(2, 0x11dc108) = 0 +43937688698432:43937688699057 26077:26077 hsa_system_get_info(2, 0x11dc110) = 0 +43937688699807:43937688700434 26077:26077 hsa_system_get_info(2, 0x11dc118) = 0 +43937688701178:43937688701802 26077:26077 hsa_system_get_info(2, 0x11dc120) = 0 +43937688702552:43937688703172 26077:26077 hsa_system_get_info(2, 0x11dc128) = 0 +43937688703921:43937688704548 26077:26077 hsa_system_get_info(2, 0x11dc130) = 0 +43937688705297:43937688705924 26077:26077 hsa_system_get_info(2, 0x11dc138) = 0 +43937688706669:43937688707287 26077:26077 hsa_system_get_info(2, 0x11dc140) = 0 +43937688708033:43937688708651 26077:26077 hsa_system_get_info(2, 0x11dc148) = 0 +43937688709403:43937688710026 26077:26077 hsa_system_get_info(2, 0x11dc150) = 0 +43937688710776:43937688711404 26077:26077 hsa_system_get_info(2, 0x11dc158) = 0 +43937688714194:43937688714817 26077:26077 hsa_system_get_info(2, 0x11dc160) = 0 +43937688715569:43937688716196 26077:26077 hsa_system_get_info(2, 0x11dc168) = 0 +43937688716947:43937688717574 26077:26077 hsa_system_get_info(2, 0x11dc170) = 0 +43937688718329:43937688718959 26077:26077 hsa_system_get_info(2, 0x11dc178) = 0 +43937688719708:43937688720336 26077:26077 hsa_system_get_info(2, 0x11dc180) = 0 +43937688721085:43937688721706 26077:26077 hsa_system_get_info(2, 0x11dc188) = 0 +43937688722453:43937688723086 26077:26077 hsa_system_get_info(2, 0x11dc190) = 0 +43937688723839:43937688724460 26077:26077 hsa_system_get_info(2, 0x11dc198) = 0 +43937688725208:43937688725830 26077:26077 hsa_system_get_info(2, 0x11dc1a0) = 0 +43937688726582:43937688727205 26077:26077 hsa_system_get_info(2, 0x11dc1a8) = 0 +43937688727953:43937688728579 26077:26077 hsa_system_get_info(2, 0x11dc1b0) = 0 +43937688729324:43937688729951 26077:26077 hsa_system_get_info(2, 0x11dc1b8) = 0 +43937688730696:43937688731317 26077:26077 hsa_system_get_info(2, 0x11dc1c0) = 0 +43937688732065:43937688732683 26077:26077 hsa_system_get_info(2, 0x11dc1c8) = 0 +43937688733430:43937688734050 26077:26077 hsa_system_get_info(2, 0x11dc1d0) = 0 +43937688734818:43937688735441 26077:26077 hsa_system_get_info(2, 0x11dc1d8) = 0 +43937688736196:43937688736814 26077:26077 hsa_system_get_info(2, 0x11dc1e0) = 0 +43937688737566:43937688738192 26077:26077 hsa_system_get_info(2, 0x11dc1e8) = 0 +43937688738941:43937688739569 26077:26077 hsa_system_get_info(2, 0x11dc1f0) = 0 +43937688740320:43937688740951 26077:26077 hsa_system_get_info(2, 0x11dc1f8) = 0 +43937688741720:43937688742350 26077:26077 hsa_system_get_info(2, 0x11dc200) = 0 +43937688743103:43937688743731 26077:26077 hsa_system_get_info(2, 0x11dc208) = 0 +43937688744482:43937688745104 26077:26077 hsa_system_get_info(2, 0x11dc210) = 0 +43937688745853:43937688746477 26077:26077 hsa_system_get_info(2, 0x11dc218) = 0 +43937688747224:43937688747852 26077:26077 hsa_system_get_info(2, 0x11dc220) = 0 +43937688748603:43937688749234 26077:26077 hsa_system_get_info(2, 0x11dc228) = 0 +43937688749979:43937688750603 26077:26077 hsa_system_get_info(2, 0x11dc230) = 0 +43937688751349:43937688751980 26077:26077 hsa_system_get_info(2, 0x11dc238) = 0 +43937688753421:43937688754056 26077:26077 hsa_system_get_info(2, 0x11dc240) = 0 +43937688754802:43937688755421 26077:26077 hsa_system_get_info(2, 0x11dc248) = 0 +43937688756167:43937688756787 26077:26077 hsa_system_get_info(2, 0x11dc250) = 0 +43937688757553:43937688758166 26077:26077 hsa_system_get_info(2, 0x11dc258) = 0 +43937688758914:43937688759541 26077:26077 hsa_system_get_info(2, 0x11dc260) = 0 +43937688760284:43937688760906 26077:26077 hsa_system_get_info(2, 0x11dc268) = 0 +43937688761653:43937688762280 26077:26077 hsa_system_get_info(2, 0x11dc270) = 0 +43937688763023:43937688763645 26077:26077 hsa_system_get_info(2, 0x11dc278) = 0 +43937688764398:43937688765023 26077:26077 hsa_system_get_info(2, 0x11dc280) = 0 +43937688765783:43937688766403 26077:26077 hsa_system_get_info(2, 0x11dc288) = 0 +43937688767154:43937688767772 26077:26077 hsa_system_get_info(2, 0x11dc290) = 0 +43937688768527:43937688769145 26077:26077 hsa_system_get_info(2, 0x11dc298) = 0 +43937688769893:43937688770514 26077:26077 hsa_system_get_info(2, 0x11dc2a0) = 0 +43937688771265:43937688771885 26077:26077 hsa_system_get_info(2, 0x11dc2a8) = 0 +43937688772636:43937688773256 26077:26077 hsa_system_get_info(2, 0x11dc2b0) = 0 +43937688774010:43937688774629 26077:26077 hsa_system_get_info(2, 0x11dc2b8) = 0 +43937688775379:43937688776010 26077:26077 hsa_system_get_info(2, 0x11dc2c0) = 0 +43937688776764:43937688777382 26077:26077 hsa_system_get_info(2, 0x11dc2c8) = 0 +43937688778135:43937688778758 26077:26077 hsa_system_get_info(2, 0x11dc2d0) = 0 +43937688779513:43937688780135 26077:26077 hsa_system_get_info(2, 0x11dc2d8) = 0 +43937688780884:43937688781507 26077:26077 hsa_system_get_info(2, 0x11dc2e0) = 0 +43937688782285:43937688782913 26077:26077 hsa_system_get_info(2, 0x11dc2e8) = 0 +43937688783664:43937688784292 26077:26077 hsa_system_get_info(2, 0x11dc2f0) = 0 +43937688785047:43937688785672 26077:26077 hsa_system_get_info(2, 0x11dc2f8) = 0 +43937688786439:43937688787065 26077:26077 hsa_system_get_info(2, 0x11dc300) = 0 +43937688787816:43937688788437 26077:26077 hsa_system_get_info(2, 0x11dc308) = 0 +43937688789190:43937688789810 26077:26077 hsa_system_get_info(2, 0x11dc310) = 0 +43937688790562:43937688791189 26077:26077 hsa_system_get_info(2, 0x11dc318) = 0 +43937688791943:43937688792572 26077:26077 hsa_system_get_info(2, 0x11dc320) = 0 +43937688794089:43937688794719 26077:26077 hsa_system_get_info(2, 0x11dc328) = 0 +43937688795472:43937688796095 26077:26077 hsa_system_get_info(2, 0x11dc330) = 0 +43937688796850:43937688797472 26077:26077 hsa_system_get_info(2, 0x11dc338) = 0 +43937688798223:43937688798853 26077:26077 hsa_system_get_info(2, 0x11dc340) = 0 +43937688799600:43937688800226 26077:26077 hsa_system_get_info(2, 0x11dc348) = 0 +43937688800969:43937688801596 26077:26077 hsa_system_get_info(2, 0x11dc350) = 0 +43937688802345:43937688802974 26077:26077 hsa_system_get_info(2, 0x11dc358) = 0 +43937688803718:43937688804349 26077:26077 hsa_system_get_info(2, 0x11dc360) = 0 +43937688805098:43937688805727 26077:26077 hsa_system_get_info(2, 0x11dc368) = 0 +43937688806479:43937688807107 26077:26077 hsa_system_get_info(2, 0x11dc370) = 0 +43937688807853:43937688808481 26077:26077 hsa_system_get_info(2, 0x11dc378) = 0 +43937688809232:43937688809860 26077:26077 hsa_system_get_info(2, 0x11dc380) = 0 +43937688810628:43937688811250 26077:26077 hsa_system_get_info(2, 0x11dc388) = 0 +43937688812000:43937688812618 26077:26077 hsa_system_get_info(2, 0x11dc390) = 0 +43937688813366:43937688813989 26077:26077 hsa_system_get_info(2, 0x11dc398) = 0 +43937688814735:43937688815356 26077:26077 hsa_system_get_info(2, 0x11dc3a0) = 0 +43937688816107:43937688816731 26077:26077 hsa_system_get_info(2, 0x11dc3a8) = 0 +43937688817481:43937688818098 26077:26077 hsa_system_get_info(2, 0x11dc3b0) = 0 +43937688818848:43937688819468 26077:26077 hsa_system_get_info(2, 0x11dc3b8) = 0 +43937688820222:43937688820842 26077:26077 hsa_system_get_info(2, 0x11dc3c0) = 0 +43937688821595:43937688822208 26077:26077 hsa_system_get_info(2, 0x11dc3c8) = 0 +43937688822959:43937688823584 26077:26077 hsa_system_get_info(2, 0x11dc3d0) = 0 +43937688824335:43937688824957 26077:26077 hsa_system_get_info(2, 0x11dc3d8) = 0 +43937688825710:43937688826327 26077:26077 hsa_system_get_info(2, 0x11dc3e0) = 0 +43937688827076:43937688827693 26077:26077 hsa_system_get_info(2, 0x11dc3e8) = 0 +43937688828447:43937688829071 26077:26077 hsa_system_get_info(2, 0x11dc3f0) = 0 +43937688829833:43937688830456 26077:26077 hsa_system_get_info(2, 0x11dc3f8) = 0 +43937688831208:43937688831825 26077:26077 hsa_system_get_info(2, 0x11dc400) = 0 +43937688833326:43937688833958 26077:26077 hsa_system_get_info(2, 0x11dc408) = 0 +43937688834713:43937688835336 26077:26077 hsa_system_get_info(2, 0x11dc410) = 0 +43937688836084:43937688836703 26077:26077 hsa_system_get_info(2, 0x11dc418) = 0 +43937688837450:43937688838077 26077:26077 hsa_system_get_info(2, 0x11dc420) = 0 +43937688838819:43937688839437 26077:26077 hsa_system_get_info(2, 0x11dc428) = 0 +43937688840180:43937688840806 26077:26077 hsa_system_get_info(2, 0x11dc430) = 0 +43937688841558:43937688842176 26077:26077 hsa_system_get_info(2, 0x11dc438) = 0 +43937688842923:43937688843546 26077:26077 hsa_system_get_info(2, 0x11dc440) = 0 +43937688844299:43937688844924 26077:26077 hsa_system_get_info(2, 0x11dc448) = 0 +43937688845680:43937688846300 26077:26077 hsa_system_get_info(2, 0x11dc450) = 0 +43937688847051:43937688847674 26077:26077 hsa_system_get_info(2, 0x11dc458) = 0 +43937688848425:43937688849050 26077:26077 hsa_system_get_info(2, 0x11dc460) = 0 +43937688849801:43937688850425 26077:26077 hsa_system_get_info(2, 0x11dc468) = 0 +43937688851177:43937688851812 26077:26077 hsa_system_get_info(2, 0x11dc470) = 0 +43937688852565:43937688853206 26077:26077 hsa_system_get_info(2, 0x11dc478) = 0 +43937688853955:43937688854575 26077:26077 hsa_system_get_info(2, 0x11dc480) = 0 +43937688855324:43937688855947 26077:26077 hsa_system_get_info(2, 0x11dc488) = 0 +43937688856697:43937688857320 26077:26077 hsa_system_get_info(2, 0x11dc490) = 0 +43937688858071:43937688858695 26077:26077 hsa_system_get_info(2, 0x11dc498) = 0 +43937688859446:43937688860068 26077:26077 hsa_system_get_info(2, 0x11dc4a0) = 0 +43937688860818:43937688861441 26077:26077 hsa_system_get_info(2, 0x11dc4a8) = 0 +43937688862190:43937688862809 26077:26077 hsa_system_get_info(2, 0x11dc4b0) = 0 +43937688863557:43937688864175 26077:26077 hsa_system_get_info(2, 0x11dc4b8) = 0 +43937688864925:43937688865550 26077:26077 hsa_system_get_info(2, 0x11dc4c0) = 0 +43937688866299:43937688866922 26077:26077 hsa_system_get_info(2, 0x11dc4c8) = 0 +43937688867673:43937688868294 26077:26077 hsa_system_get_info(2, 0x11dc4d0) = 0 +43937688869044:43937688869671 26077:26077 hsa_system_get_info(2, 0x11dc4d8) = 0 +43937688870417:43937688871036 26077:26077 hsa_system_get_info(2, 0x11dc4e0) = 0 +43937688871783:43937688872420 26077:26077 hsa_system_get_info(2, 0x11dc4e8) = 0 +43937688873893:43937688874517 26077:26077 hsa_system_get_info(2, 0x11dc4f0) = 0 +43937688875270:43937688875887 26077:26077 hsa_system_get_info(2, 0x11dc4f8) = 0 +43937688876635:43937688877257 26077:26077 hsa_system_get_info(2, 0x11dc500) = 0 +43937688878010:43937688878636 26077:26077 hsa_system_get_info(2, 0x11dc508) = 0 +43937688879384:43937688880010 26077:26077 hsa_system_get_info(2, 0x11dc510) = 0 +43937688880761:43937688881381 26077:26077 hsa_system_get_info(2, 0x11dc518) = 0 +43937688882138:43937688882769 26077:26077 hsa_system_get_info(2, 0x11dc520) = 0 +43937688883519:43937688884145 26077:26077 hsa_system_get_info(2, 0x11dc528) = 0 +43937688884919:43937688885544 26077:26077 hsa_system_get_info(2, 0x11dc530) = 0 +43937688886292:43937688886915 26077:26077 hsa_system_get_info(2, 0x11dc538) = 0 +43937688887663:43937688888287 26077:26077 hsa_system_get_info(2, 0x11dc540) = 0 +43937688889037:43937688889655 26077:26077 hsa_system_get_info(2, 0x11dc548) = 0 +43937688890406:43937688891030 26077:26077 hsa_system_get_info(2, 0x11dc550) = 0 +43937688891778:43937688892418 26077:26077 hsa_system_get_info(2, 0x11dc558) = 0 +43937688893166:43937688893788 26077:26077 hsa_system_get_info(2, 0x11dc560) = 0 +43937688894542:43937688895161 26077:26077 hsa_system_get_info(2, 0x11dc568) = 0 +43937688895916:43937688896539 26077:26077 hsa_system_get_info(2, 0x11dc570) = 0 +43937688897290:43937688897908 26077:26077 hsa_system_get_info(2, 0x11dc578) = 0 +43937688898662:43937688899278 26077:26077 hsa_system_get_info(2, 0x11dc580) = 0 +43937688900030:43937688900645 26077:26077 hsa_system_get_info(2, 0x11dc588) = 0 +43937688901400:43937688902023 26077:26077 hsa_system_get_info(2, 0x11dc590) = 0 +43937688902774:43937688903396 26077:26077 hsa_system_get_info(2, 0x11dc598) = 0 +43937688904150:43937688904767 26077:26077 hsa_system_get_info(2, 0x11dc5a0) = 0 +43937688905518:43937688906144 26077:26077 hsa_system_get_info(2, 0x11dc5a8) = 0 +43937688906894:43937688907514 26077:26077 hsa_system_get_info(2, 0x11dc5b0) = 0 +43937688908265:43937688908881 26077:26077 hsa_system_get_info(2, 0x11dc5b8) = 0 +43937688909634:43937688910261 26077:26077 hsa_system_get_info(2, 0x11dc5c0) = 0 +43937688911009:43937688911631 26077:26077 hsa_system_get_info(2, 0x11dc5c8) = 0 +43937688913083:43937688913718 26077:26077 hsa_system_get_info(2, 0x11dc5d0) = 0 +43937688914468:43937688915093 26077:26077 hsa_system_get_info(2, 0x11dc5d8) = 0 +43937688915841:43937688916462 26077:26077 hsa_system_get_info(2, 0x11dc5e0) = 0 +43937688917210:43937688917828 26077:26077 hsa_system_get_info(2, 0x11dc5e8) = 0 +43937688918575:43937688919199 26077:26077 hsa_system_get_info(2, 0x11dc5f0) = 0 +43937688919947:43937688920574 26077:26077 hsa_system_get_info(2, 0x11dc5f8) = 0 +43937688921361:43937688921986 26077:26077 hsa_system_get_info(2, 0x11dc600) = 0 +43937688922737:43937688923362 26077:26077 hsa_system_get_info(2, 0x11dc608) = 0 +43937688924116:43937688924747 26077:26077 hsa_system_get_info(2, 0x11dc610) = 0 +43937688925499:43937688926127 26077:26077 hsa_system_get_info(2, 0x11dc618) = 0 +43937688926878:43937688927499 26077:26077 hsa_system_get_info(2, 0x11dc620) = 0 +43937688928249:43937688928875 26077:26077 hsa_system_get_info(2, 0x11dc628) = 0 +43937688929621:43937688930245 26077:26077 hsa_system_get_info(2, 0x11dc630) = 0 +43937688930997:43937688931626 26077:26077 hsa_system_get_info(2, 0x11dc638) = 0 +43937688932377:43937688933009 26077:26077 hsa_system_get_info(2, 0x11dc640) = 0 +43937688933760:43937688934392 26077:26077 hsa_system_get_info(2, 0x11dc648) = 0 +43937688935139:43937688935761 26077:26077 hsa_system_get_info(2, 0x11dc650) = 0 +43937688936511:43937688937126 26077:26077 hsa_system_get_info(2, 0x11dc658) = 0 +43937688937872:43937688938496 26077:26077 hsa_system_get_info(2, 0x11dc660) = 0 +43937688939247:43937688939868 26077:26077 hsa_system_get_info(2, 0x11dc668) = 0 +43937688940619:43937688941238 26077:26077 hsa_system_get_info(2, 0x11dc670) = 0 +43937688942006:43937688942626 26077:26077 hsa_system_get_info(2, 0x11dc678) = 0 +43937688943384:43937688944006 26077:26077 hsa_system_get_info(2, 0x11dc680) = 0 +43937688944757:43937688945375 26077:26077 hsa_system_get_info(2, 0x11dc688) = 0 +43937688946126:43937688946747 26077:26077 hsa_system_get_info(2, 0x11dc690) = 0 +43937688947492:43937688948116 26077:26077 hsa_system_get_info(2, 0x11dc698) = 0 +43937688948864:43937688949484 26077:26077 hsa_system_get_info(2, 0x11dc6a0) = 0 +43937688950234:43937688950860 26077:26077 hsa_system_get_info(2, 0x11dc6a8) = 0 +43937688951613:43937688952231 26077:26077 hsa_system_get_info(2, 0x11dc6b0) = 0 +43937688954355:43937688954990 26077:26077 hsa_system_get_info(2, 0x11dc6b8) = 0 +43937688955747:43937688956374 26077:26077 hsa_system_get_info(2, 0x11dc6c0) = 0 +43937688957121:43937688957738 26077:26077 hsa_system_get_info(2, 0x11dc6c8) = 0 +43937688958487:43937688959104 26077:26077 hsa_system_get_info(2, 0x11dc6d0) = 0 +43937688959854:43937688960475 26077:26077 hsa_system_get_info(2, 0x11dc6d8) = 0 +43937688961228:43937688961845 26077:26077 hsa_system_get_info(2, 0x11dc6e0) = 0 +43937688962590:43937688963214 26077:26077 hsa_system_get_info(2, 0x11dc6e8) = 0 +43937688963960:43937688964585 26077:26077 hsa_system_get_info(2, 0x11dc6f0) = 0 +43937688965351:43937688965969 26077:26077 hsa_system_get_info(2, 0x11dc6f8) = 0 +43937688966737:43937688967358 26077:26077 hsa_system_get_info(2, 0x11dc700) = 0 +43937688968109:43937688968731 26077:26077 hsa_system_get_info(2, 0x11dc708) = 0 +43937688969485:43937688970110 26077:26077 hsa_system_get_info(2, 0x11dc710) = 0 +43937688970860:43937688971491 26077:26077 hsa_system_get_info(2, 0x11dc718) = 0 +43937688972240:43937688972861 26077:26077 hsa_system_get_info(2, 0x11dc720) = 0 +43937688973610:43937688974235 26077:26077 hsa_system_get_info(2, 0x11dc728) = 0 +43937688974984:43937688975613 26077:26077 hsa_system_get_info(2, 0x11dc730) = 0 +43937688976366:43937688976996 26077:26077 hsa_system_get_info(2, 0x11dc738) = 0 +43937688977750:43937688978377 26077:26077 hsa_system_get_info(2, 0x11dc740) = 0 +43937688979130:43937688979754 26077:26077 hsa_system_get_info(2, 0x11dc748) = 0 +43937688980500:43937688981129 26077:26077 hsa_system_get_info(2, 0x11dc750) = 0 +43937688981877:43937688982502 26077:26077 hsa_system_get_info(2, 0x11dc758) = 0 +43937688983249:43937688983874 26077:26077 hsa_system_get_info(2, 0x11dc760) = 0 +43937688984629:43937688985252 26077:26077 hsa_system_get_info(2, 0x11dc768) = 0 +43937688986002:43937688986649 26077:26077 hsa_system_get_info(2, 0x11dc770) = 0 +43937688987395:43937688988024 26077:26077 hsa_system_get_info(2, 0x11dc778) = 0 +43937688988772:43937688989397 26077:26077 hsa_system_get_info(2, 0x11dc780) = 0 +43937688990141:43937688990763 26077:26077 hsa_system_get_info(2, 0x11dc788) = 0 +43937688991511:43937688992134 26077:26077 hsa_system_get_info(2, 0x11dc790) = 0 +43937688993593:43937688994219 26077:26077 hsa_system_get_info(2, 0x11dc798) = 0 +43937688994967:43937688995595 26077:26077 hsa_system_get_info(2, 0x11dc7a0) = 0 +43937688996348:43937688996971 26077:26077 hsa_system_get_info(2, 0x11dc7a8) = 0 +43937688997718:43937688998341 26077:26077 hsa_system_get_info(2, 0x11dc7b0) = 0 +43937688999099:43937688999729 26077:26077 hsa_system_get_info(2, 0x11dc7b8) = 0 +43937689000478:43937689001106 26077:26077 hsa_system_get_info(2, 0x11dc7c0) = 0 +43937689001854:43937689002482 26077:26077 hsa_system_get_info(2, 0x11dc7c8) = 0 +43937689278516:43937695471080 26077:26082 hsa_queue_create(, , , 0, 0, , , ) = 0 +43937973430582:43937973432774 26077:26082 hsa_signal_create(1, , 0, 0x7fe700002190) = 0 +43937973474063:43937973483935 26077:26082 hsa_code_object_reader_create_from_file(5, 0x7fe7197f9b70) = 0 +43937973485130:43937973497284 26077:26082 hsa_executable_create_alt(1, 0, +43937973498248:43937973646636 26077:26082 hsa_executable_load_agent_code_object(, , , +43937973648387:43937973790534 26077:26082 hsa_executable_freeze(, ) = 0 +43937973791974:43937973793443 26077:26082 hsa_executable_get_symbol(, +43937973799531:43937973800141 26077:26082 hsa_executable_symbol_get_info(, 13, 0x7fe7197f9bd0) = 0 +43937973800968:43937973801306 26077:26082 hsa_executable_symbol_get_info(, 14, 0x7fe7197f9bd4) = 0 +43937973802078:43937973802502 26077:26082 hsa_executable_symbol_get_info(, 22, 0x7fe7197f9be0) = 0 +43937973804516:43937973804918 26077:26082 hsa_signal_store_relaxed(, 1) = void +43937973820406:43937973820947 26077:26082 hsa_queue_load_write_index_relaxed(0x1221000) = 0 +43937973821819:43937973822183 26077:26082 hsa_queue_store_write_index_relaxed(0x1221000, ) = void +43937973823066:43937973823537 26077:26082 hsa_queue_load_read_index_relaxed(0x1221000) = 0 +43937973825172:43937973825812 26077:26082 hsa_signal_store_relaxed(, 0) = void +43937973831026:43937973835267 26077:26082 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43937973896837:43937973933045 26077:26082 hsa_executable_destroy() = 0 +43937973934619:43937973935726 26077:26082 hsa_signal_destroy() = 0 +43938251917445:43938251918459 26077:26082 hsa_signal_create(1, , 0, 0x7fe700002190) = 0 +43938251940786:43938251948262 26077:26082 hsa_code_object_reader_create_from_file(7, 0x7fe7197f9b60) = 0 +43938251949243:43938251959718 26077:26082 hsa_executable_create_alt(1, 0, +43938251961657:43938252040627 26077:26082 hsa_executable_load_agent_code_object(, , , +43938252042285:43938252065651 26077:26082 hsa_executable_freeze(, ) = 0 +43938252066647:43938252067834 26077:26082 hsa_executable_get_symbol(, +43938252079679:43938252092991 26077:26082 hsa_amd_memory_pool_allocate(, , , 0x7fe7197f9ba0) = 0 +43938252094133:43938252114996 26077:26082 hsa_amd_agents_allow_access(, 0x7fe7197f9bb0, 0, 0x800d98000) = 0 +43938252116470:43938252117618 26077:26082 hsa_amd_memory_pool_allocate(, , , 0x7fe7197f9ba8) = 0 +43938252118599:43938252127441 26077:26082 hsa_amd_memory_pool_allocate(, , , 0x7fe7197f9ba0) = 0 +43938252128362:43938252135971 26077:26082 hsa_amd_agents_allow_access(, 0x7fe7197f9bb0, 0, 0x800d81000) = 0 +43938252137057:43938252137533 26077:26082 hsa_executable_symbol_get_info(, 11, 0x7fe7197f9c00) = 0 +43938252138378:43938252146339 26077:26082 hsa_amd_memory_pool_allocate(, , , 0x7fe7197f9ba0) = 0 +43938252147270:43938252154737 26077:26082 hsa_amd_agents_allow_access(, 0x7fe7197f9bb0, 0, 0x123f000) = 0 +43938252576884:43938252577401 26077:26082 hsa_executable_symbol_get_info(, 13, 0x7fe7197f9bc0) = 0 +43938252578352:43938252578714 26077:26082 hsa_executable_symbol_get_info(, 14, 0x7fe7197f9bc4) = 0 +43938252579502:43938252579926 26077:26082 hsa_executable_symbol_get_info(, 22, 0x7fe7197f9bd0) = 0 +43938252591350:43938252591830 26077:26082 hsa_signal_store_relaxed(, 1) = void +43938252597018:43938252597606 26077:26082 hsa_queue_load_write_index_relaxed(0x1221000) = 1 +43938252598446:43938252598850 26077:26082 hsa_queue_store_write_index_relaxed(0x1221000, ) = void +43938252599673:43938252600099 26077:26082 hsa_queue_load_read_index_relaxed(0x1221000) = 1 +43938252601033:43938252601620 26077:26082 hsa_signal_store_relaxed(, 1) = void +43938252605782:43938252621567 26077:26082 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43938252628393:43938252662930 26077:26082 hsa_amd_memory_pool_allocate(, , , 0x7fe7197f9be0) = 0 +43938252664045:43938252673770 26077:26082 hsa_amd_agents_allow_access(, 0x7fe7197f9bf0, 0, 0x800db0000) = 0 +43938252675079:43938252676662 26077:26082 hsa_signal_create(1, , 0, 0x7fe7197f9b90) = 0 +43938252681483:43938252682016 26077:26082 hsa_agent_get_info(, 17, 0x7fe7197f9640) = 0 +43938252683622:43938252684084 26077:26082 hsa_amd_memory_pool_get_info(, 0, 0x7fe7197f94c0) = 0 +43938252684934:43938252685303 26077:26082 hsa_amd_memory_pool_get_info(, 1, 0x7fe7197f94c4) = 0 +43938252686136:43938252686487 26077:26082 hsa_amd_memory_pool_get_info(, 0, 0x7fe7197f94c0) = 0 +43938252687265:43938252687622 26077:26082 hsa_amd_memory_pool_get_info(, 1, 0x7fe7197f94c4) = 0 +43938252687265:43938252688458 26077:26082 hsa_amd_agent_iterate_memory_pools(, 1, 0x7fe700006d60) = 1 +43938252690882:43938252691233 26077:26082 hsa_amd_memory_pool_get_info(, 0, 0x7fe7197f94c0) = 0 +43938252692020:43938252692372 26077:26082 hsa_amd_memory_pool_get_info(, 1, 0x7fe7197f94c4) = 0 +43938252692020:43938252693159 26077:26082 hsa_amd_agent_iterate_memory_pools(, 1, 0x7fe700006d70) = 1 +43938252714887:43938252715316 26077:26082 hsa_agent_get_info(, 17, 0x7fe7197f9640) = 0 +43938252716205:43938252719156 26077:26082 hsa_agent_get_info(, 0, 0x7fe700006df4) = 0 +43938252720911:43938252721277 26077:26082 hsa_agent_get_info(, 6, 0x7fe700006e34) = 0 +43938252722037:43938252722410 26077:26082 hsa_agent_get_info(, 14, 0x7fe700006e38) = 0 +43938252723171:43938252723520 26077:26082 hsa_agent_get_info(, 4, 0x7fe700006e3c) = 0 +43938252724290:43938252724640 26077:26082 hsa_agent_get_info(, 40962, 0x7fe700006e58) = 0 +43938252725400:43938252725771 26077:26082 hsa_agent_get_info(, 40970, 0x7fe700006e5c) = 0 +43938252726521:43938252726881 26077:26082 hsa_agent_get_info(, 40971, 0x7fe700006e60) = 0 +43938252727653:43938252728021 26077:26082 hsa_agent_get_info(, 40972, 0x7fe700006e64) = 0 +43938252728780:43938252729124 26077:26082 hsa_agent_get_info(, 40973, 0x7fe700006e68) = 0 +43938252730417:43938252730765 26077:26082 hsa_amd_memory_pool_get_info(, 0, 0x7fe7197f94b0) = 0 +43938252731537:43938252731899 26077:26082 hsa_amd_memory_pool_get_info(, 1, 0x7fe7197f94b4) = 0 +43938252731537:43938252732665 26077:26082 hsa_amd_agent_iterate_memory_pools(, 1, 0x7fe700006e48) = 1 +43938252731537:43938252736605 26077:26082 hsa_iterate_agents(1, 0x7fe700006b70) = 0 +43938252737550:43938252746633 26077:26082 hsa_system_get_major_extension_table(, , , 0x7fe700006c08) = 0 +43938252747493:43938252747864 26077:26082 hsa_system_get_major_extension_table(, , , 0x7fe700006c58) = 0 +43938252748766:43938252749131 26077:26082 hsa_system_get_info(3, 0x7fe7197f97b8) = 0 +43938252762143:43938252762809 26077:26082 hsa_system_get_info(2, 0x7fe70000f020) = 0 +43938252764612:43938252765276 26077:26082 hsa_system_get_info(2, 0x7fe70000f028) = 0 +43938252766099:43938252766745 26077:26082 hsa_system_get_info(2, 0x7fe70000f030) = 0 +43938252767530:43938252768173 26077:26082 hsa_system_get_info(2, 0x7fe70000f038) = 0 +43938252768947:43938252769584 26077:26082 hsa_system_get_info(2, 0x7fe70000f040) = 0 +43938252770361:43938252771005 26077:26082 hsa_system_get_info(2, 0x7fe70000f048) = 0 +43938252771778:43938252772423 26077:26082 hsa_system_get_info(2, 0x7fe70000f050) = 0 +43938252773204:43938252773848 26077:26082 hsa_system_get_info(2, 0x7fe70000f058) = 0 +43938252775466:43938252776127 26077:26082 hsa_system_get_info(2, 0x7fe70000f060) = 0 +43938252776904:43938252777549 26077:26082 hsa_system_get_info(2, 0x7fe70000f068) = 0 +43938252778333:43938252778976 26077:26082 hsa_system_get_info(2, 0x7fe70000f070) = 0 +43938252779750:43938252780393 26077:26082 hsa_system_get_info(2, 0x7fe70000f078) = 0 +43938252781178:43938252781826 26077:26082 hsa_system_get_info(2, 0x7fe70000f080) = 0 +43938252782609:43938252783256 26077:26082 hsa_system_get_info(2, 0x7fe70000f088) = 0 +43938252784027:43938252784672 26077:26082 hsa_system_get_info(2, 0x7fe70000f090) = 0 +43938252785453:43938252786101 26077:26082 hsa_system_get_info(2, 0x7fe70000f098) = 0 +43938252786871:43938252787511 26077:26082 hsa_system_get_info(2, 0x7fe70000f0a0) = 0 +43938252788290:43938252788932 26077:26082 hsa_system_get_info(2, 0x7fe70000f0a8) = 0 +43938252789708:43938252790346 26077:26082 hsa_system_get_info(2, 0x7fe70000f0b0) = 0 +43938252791133:43938252791780 26077:26082 hsa_system_get_info(2, 0x7fe70000f0b8) = 0 +43938252792558:43938252793211 26077:26082 hsa_system_get_info(2, 0x7fe70000f0c0) = 0 +43938252793987:43938252794632 26077:26082 hsa_system_get_info(2, 0x7fe70000f0c8) = 0 +43938252795423:43938252796065 26077:26082 hsa_system_get_info(2, 0x7fe70000f0d0) = 0 +43938252796838:43938252797494 26077:26082 hsa_system_get_info(2, 0x7fe70000f0d8) = 0 +43938252798265:43938252798909 26077:26082 hsa_system_get_info(2, 0x7fe70000f0e0) = 0 +43938252799680:43938252800324 26077:26082 hsa_system_get_info(2, 0x7fe70000f0e8) = 0 +43938252801102:43938252801747 26077:26082 hsa_system_get_info(2, 0x7fe70000f0f0) = 0 +43938252802521:43938252803164 26077:26082 hsa_system_get_info(2, 0x7fe70000f0f8) = 0 +43938252803946:43938252804595 26077:26082 hsa_system_get_info(2, 0x7fe70000f100) = 0 +43938252805367:43938252806008 26077:26082 hsa_system_get_info(2, 0x7fe70000f108) = 0 +43938252806791:43938252807439 26077:26082 hsa_system_get_info(2, 0x7fe70000f110) = 0 +43938252808222:43938252808864 26077:26082 hsa_system_get_info(2, 0x7fe70000f118) = 0 +43938252809639:43938252810285 26077:26082 hsa_system_get_info(2, 0x7fe70000f120) = 0 +43938252811068:43938252811728 26077:26082 hsa_system_get_info(2, 0x7fe70000f128) = 0 +43938252812511:43938252813153 26077:26082 hsa_system_get_info(2, 0x7fe70000f130) = 0 +43938252813927:43938252814574 26077:26082 hsa_system_get_info(2, 0x7fe70000f138) = 0 +43938252815354:43938252816002 26077:26082 hsa_system_get_info(2, 0x7fe70000f140) = 0 +43938252817587:43938252818239 26077:26082 hsa_system_get_info(2, 0x7fe70000f148) = 0 +43938252819026:43938252819672 26077:26082 hsa_system_get_info(2, 0x7fe70000f150) = 0 +43938252820450:43938252821095 26077:26082 hsa_system_get_info(2, 0x7fe70000f158) = 0 +43938252821879:43938252822520 26077:26082 hsa_system_get_info(2, 0x7fe70000f160) = 0 +43938252823299:43938252823955 26077:26082 hsa_system_get_info(2, 0x7fe70000f168) = 0 +43938252824759:43938252825401 26077:26082 hsa_system_get_info(2, 0x7fe70000f170) = 0 +43938252826180:43938252826831 26077:26082 hsa_system_get_info(2, 0x7fe70000f178) = 0 +43938252827610:43938252828256 26077:26082 hsa_system_get_info(2, 0x7fe70000f180) = 0 +43938252829040:43938252829686 26077:26082 hsa_system_get_info(2, 0x7fe70000f188) = 0 +43938252830462:43938252831112 26077:26082 hsa_system_get_info(2, 0x7fe70000f190) = 0 +43938252831886:43938252832535 26077:26082 hsa_system_get_info(2, 0x7fe70000f198) = 0 +43938252833332:43938252833980 26077:26082 hsa_system_get_info(2, 0x7fe70000f1a0) = 0 +43938252834766:43938252835411 26077:26082 hsa_system_get_info(2, 0x7fe70000f1a8) = 0 +43938252836185:43938252836825 26077:26082 hsa_system_get_info(2, 0x7fe70000f1b0) = 0 +43938252837604:43938252838250 26077:26082 hsa_system_get_info(2, 0x7fe70000f1b8) = 0 +43938252839023:43938252839668 26077:26082 hsa_system_get_info(2, 0x7fe70000f1c0) = 0 +43938252840450:43938252841091 26077:26082 hsa_system_get_info(2, 0x7fe70000f1c8) = 0 +43938252841865:43938252842505 26077:26082 hsa_system_get_info(2, 0x7fe70000f1d0) = 0 +43938252843283:43938252843921 26077:26082 hsa_system_get_info(2, 0x7fe70000f1d8) = 0 +43938252844695:43938252845335 26077:26082 hsa_system_get_info(2, 0x7fe70000f1e0) = 0 +43938252846108:43938252846752 26077:26082 hsa_system_get_info(2, 0x7fe70000f1e8) = 0 +43938252847531:43938252848176 26077:26082 hsa_system_get_info(2, 0x7fe70000f1f0) = 0 +43938252848949:43938252849594 26077:26082 hsa_system_get_info(2, 0x7fe70000f1f8) = 0 +43938252850373:43938252851013 26077:26082 hsa_system_get_info(2, 0x7fe70000f200) = 0 +43938252851787:43938252852429 26077:26082 hsa_system_get_info(2, 0x7fe70000f208) = 0 +43938252853212:43938252853871 26077:26082 hsa_system_get_info(2, 0x7fe70000f210) = 0 +43938252854654:43938252855305 26077:26082 hsa_system_get_info(2, 0x7fe70000f218) = 0 +43938252856077:43938252856732 26077:26082 hsa_system_get_info(2, 0x7fe70000f220) = 0 +43938252858275:43938252858932 26077:26082 hsa_system_get_info(2, 0x7fe70000f228) = 0 +43938252859733:43938252860374 26077:26082 hsa_system_get_info(2, 0x7fe70000f230) = 0 +43938252861150:43938252861789 26077:26082 hsa_system_get_info(2, 0x7fe70000f238) = 0 +43938252862570:43938252863216 26077:26082 hsa_system_get_info(2, 0x7fe70000f240) = 0 +43938252863986:43938252864632 26077:26082 hsa_system_get_info(2, 0x7fe70000f248) = 0 +43938252865412:43938252866061 26077:26082 hsa_system_get_info(2, 0x7fe70000f250) = 0 +43938252866836:43938252867482 26077:26082 hsa_system_get_info(2, 0x7fe70000f258) = 0 +43938252868262:43938252868906 26077:26082 hsa_system_get_info(2, 0x7fe70000f260) = 0 +43938252869681:43938252870335 26077:26082 hsa_system_get_info(2, 0x7fe70000f268) = 0 +43938252871108:43938252871746 26077:26082 hsa_system_get_info(2, 0x7fe70000f270) = 0 +43938252872517:43938252873161 26077:26082 hsa_system_get_info(2, 0x7fe70000f278) = 0 +43938252873949:43938252874596 26077:26082 hsa_system_get_info(2, 0x7fe70000f280) = 0 +43938252875382:43938252876031 26077:26082 hsa_system_get_info(2, 0x7fe70000f288) = 0 +43938252876803:43938252877461 26077:26082 hsa_system_get_info(2, 0x7fe70000f290) = 0 +43938252878309:43938252878954 26077:26082 hsa_system_get_info(2, 0x7fe70000f298) = 0 +43938252879741:43938252880388 26077:26082 hsa_system_get_info(2, 0x7fe70000f2a0) = 0 +43938252881158:43938252881799 26077:26082 hsa_system_get_info(2, 0x7fe70000f2a8) = 0 +43938252882572:43938252883221 26077:26082 hsa_system_get_info(2, 0x7fe70000f2b0) = 0 +43938252884008:43938252884654 26077:26082 hsa_system_get_info(2, 0x7fe70000f2b8) = 0 +43938252885435:43938252886071 26077:26082 hsa_system_get_info(2, 0x7fe70000f2c0) = 0 +43938252886842:43938252887485 26077:26082 hsa_system_get_info(2, 0x7fe70000f2c8) = 0 +43938252888255:43938252888906 26077:26082 hsa_system_get_info(2, 0x7fe70000f2d0) = 0 +43938252889681:43938252890327 26077:26082 hsa_system_get_info(2, 0x7fe70000f2d8) = 0 +43938252891098:43938252891749 26077:26082 hsa_system_get_info(2, 0x7fe70000f2e0) = 0 +43938252892520:43938252893163 26077:26082 hsa_system_get_info(2, 0x7fe70000f2e8) = 0 +43938252893937:43938252894578 26077:26082 hsa_system_get_info(2, 0x7fe70000f2f0) = 0 +43938252895358:43938252896005 26077:26082 hsa_system_get_info(2, 0x7fe70000f2f8) = 0 +43938252896776:43938252897420 26077:26082 hsa_system_get_info(2, 0x7fe70000f300) = 0 +43938252898197:43938252898842 26077:26082 hsa_system_get_info(2, 0x7fe70000f308) = 0 +43938252901094:43938252901742 26077:26082 hsa_system_get_info(2, 0x7fe70000f310) = 0 +43938252902526:43938252903173 26077:26082 hsa_system_get_info(2, 0x7fe70000f318) = 0 +43938252903956:43938252904602 26077:26082 hsa_system_get_info(2, 0x7fe70000f320) = 0 +43938252905377:43938252906023 26077:26082 hsa_system_get_info(2, 0x7fe70000f328) = 0 +43938252906805:43938252907445 26077:26082 hsa_system_get_info(2, 0x7fe70000f330) = 0 +43938252908217:43938252908861 26077:26082 hsa_system_get_info(2, 0x7fe70000f338) = 0 +43938252909637:43938252910281 26077:26082 hsa_system_get_info(2, 0x7fe70000f340) = 0 +43938252911052:43938252911699 26077:26082 hsa_system_get_info(2, 0x7fe70000f348) = 0 +43938252912480:43938252913122 26077:26082 hsa_system_get_info(2, 0x7fe70000f350) = 0 +43938252913893:43938252914531 26077:26082 hsa_system_get_info(2, 0x7fe70000f358) = 0 +43938252915308:43938252915951 26077:26082 hsa_system_get_info(2, 0x7fe70000f360) = 0 +43938252916742:43938252917384 26077:26082 hsa_system_get_info(2, 0x7fe70000f368) = 0 +43938252918162:43938252918807 26077:26082 hsa_system_get_info(2, 0x7fe70000f370) = 0 +43938252919581:43938252920225 26077:26082 hsa_system_get_info(2, 0x7fe70000f378) = 0 +43938252921006:43938252921651 26077:26082 hsa_system_get_info(2, 0x7fe70000f380) = 0 +43938252922421:43938252923063 26077:26082 hsa_system_get_info(2, 0x7fe70000f388) = 0 +43938252923836:43938252924489 26077:26082 hsa_system_get_info(2, 0x7fe70000f390) = 0 +43938252925327:43938252925974 26077:26082 hsa_system_get_info(2, 0x7fe70000f398) = 0 +43938252926807:43938252927451 26077:26082 hsa_system_get_info(2, 0x7fe70000f3a0) = 0 +43938252928276:43938252928916 26077:26082 hsa_system_get_info(2, 0x7fe70000f3a8) = 0 +43938252929746:43938252930388 26077:26082 hsa_system_get_info(2, 0x7fe70000f3b0) = 0 +43938252931161:43938252931809 26077:26082 hsa_system_get_info(2, 0x7fe70000f3b8) = 0 +43938252932583:43938252933223 26077:26082 hsa_system_get_info(2, 0x7fe70000f3c0) = 0 +43938252933993:43938252934640 26077:26082 hsa_system_get_info(2, 0x7fe70000f3c8) = 0 +43938252935441:43938252936083 26077:26082 hsa_system_get_info(2, 0x7fe70000f3d0) = 0 +43938252936861:43938252937505 26077:26082 hsa_system_get_info(2, 0x7fe70000f3d8) = 0 +43938252938279:43938252938918 26077:26082 hsa_system_get_info(2, 0x7fe70000f3e0) = 0 +43938252939698:43938252940343 26077:26082 hsa_system_get_info(2, 0x7fe70000f3e8) = 0 +43938252941998:43938252942639 26077:26082 hsa_system_get_info(2, 0x7fe70000f3f0) = 0 +43938252943422:43938252944065 26077:26082 hsa_system_get_info(2, 0x7fe70000f3f8) = 0 +43938252944839:43938252945482 26077:26082 hsa_system_get_info(2, 0x7fe70000f400) = 0 +43938252946260:43938252946902 26077:26082 hsa_system_get_info(2, 0x7fe70000f408) = 0 +43938252947673:43938252948318 26077:26082 hsa_system_get_info(2, 0x7fe70000f410) = 0 +43938252949100:43938252949745 26077:26082 hsa_system_get_info(2, 0x7fe70000f418) = 0 +43938252950521:43938252951165 26077:26082 hsa_system_get_info(2, 0x7fe70000f420) = 0 +43938252951946:43938252952590 26077:26082 hsa_system_get_info(2, 0x7fe70000f428) = 0 +43938252953362:43938252953999 26077:26082 hsa_system_get_info(2, 0x7fe70000f430) = 0 +43938252954773:43938252955413 26077:26082 hsa_system_get_info(2, 0x7fe70000f438) = 0 +43938252956195:43938252956839 26077:26082 hsa_system_get_info(2, 0x7fe70000f440) = 0 +43938252957632:43938252958276 26077:26082 hsa_system_get_info(2, 0x7fe70000f448) = 0 +43938252959052:43938252959706 26077:26082 hsa_system_get_info(2, 0x7fe70000f450) = 0 +43938252960491:43938252961127 26077:26082 hsa_system_get_info(2, 0x7fe70000f458) = 0 +43938252961898:43938252962549 26077:26082 hsa_system_get_info(2, 0x7fe70000f460) = 0 +43938252963320:43938252963965 26077:26082 hsa_system_get_info(2, 0x7fe70000f468) = 0 +43938252964749:43938252965392 26077:26082 hsa_system_get_info(2, 0x7fe70000f470) = 0 +43938252966168:43938252966813 26077:26082 hsa_system_get_info(2, 0x7fe70000f478) = 0 +43938252967597:43938252968241 26077:26082 hsa_system_get_info(2, 0x7fe70000f480) = 0 +43938252969017:43938252969662 26077:26082 hsa_system_get_info(2, 0x7fe70000f488) = 0 +43938252970446:43938252971090 26077:26082 hsa_system_get_info(2, 0x7fe70000f490) = 0 +43938252971864:43938252972514 26077:26082 hsa_system_get_info(2, 0x7fe70000f498) = 0 +43938252973286:43938252973923 26077:26082 hsa_system_get_info(2, 0x7fe70000f4a0) = 0 +43938252974698:43938252975338 26077:26082 hsa_system_get_info(2, 0x7fe70000f4a8) = 0 +43938252976120:43938252976758 26077:26082 hsa_system_get_info(2, 0x7fe70000f4b0) = 0 +43938252977536:43938252978178 26077:26082 hsa_system_get_info(2, 0x7fe70000f4b8) = 0 +43938252978946:43938252979588 26077:26082 hsa_system_get_info(2, 0x7fe70000f4c0) = 0 +43938252980385:43938252981038 26077:26082 hsa_system_get_info(2, 0x7fe70000f4c8) = 0 +43938252981840:43938252982487 26077:26082 hsa_system_get_info(2, 0x7fe70000f4d0) = 0 +43938252984014:43938252984660 26077:26082 hsa_system_get_info(2, 0x7fe70000f4d8) = 0 +43938252985440:43938252986080 26077:26082 hsa_system_get_info(2, 0x7fe70000f4e0) = 0 +43938252986856:43938252987501 26077:26082 hsa_system_get_info(2, 0x7fe70000f4e8) = 0 +43938252988283:43938252988926 26077:26082 hsa_system_get_info(2, 0x7fe70000f4f0) = 0 +43938252989700:43938252990342 26077:26082 hsa_system_get_info(2, 0x7fe70000f4f8) = 0 +43938252991127:43938252991768 26077:26082 hsa_system_get_info(2, 0x7fe70000f500) = 0 +43938252992547:43938252993192 26077:26082 hsa_system_get_info(2, 0x7fe70000f508) = 0 +43938252993971:43938252994615 26077:26082 hsa_system_get_info(2, 0x7fe70000f510) = 0 +43938252995393:43938252996038 26077:26082 hsa_system_get_info(2, 0x7fe70000f518) = 0 +43938252996821:43938252997465 26077:26082 hsa_system_get_info(2, 0x7fe70000f520) = 0 +43938252998254:43938252998899 26077:26082 hsa_system_get_info(2, 0x7fe70000f528) = 0 +43938252999705:43938253000344 26077:26082 hsa_system_get_info(2, 0x7fe70000f530) = 0 +43938253001119:43938253001771 26077:26082 hsa_system_get_info(2, 0x7fe70000f538) = 0 +43938253002556:43938253003213 26077:26082 hsa_system_get_info(2, 0x7fe70000f540) = 0 +43938253003991:43938253004638 26077:26082 hsa_system_get_info(2, 0x7fe70000f548) = 0 +43938253005420:43938253006064 26077:26082 hsa_system_get_info(2, 0x7fe70000f550) = 0 +43938253006839:43938253007480 26077:26082 hsa_system_get_info(2, 0x7fe70000f558) = 0 +43938253008264:43938253008913 26077:26082 hsa_system_get_info(2, 0x7fe70000f560) = 0 +43938253009714:43938253010356 26077:26082 hsa_system_get_info(2, 0x7fe70000f568) = 0 +43938253011140:43938253011788 26077:26082 hsa_system_get_info(2, 0x7fe70000f570) = 0 +43938253012564:43938253013220 26077:26082 hsa_system_get_info(2, 0x7fe70000f578) = 0 +43938253013994:43938253014636 26077:26082 hsa_system_get_info(2, 0x7fe70000f580) = 0 +43938253015425:43938253016067 26077:26082 hsa_system_get_info(2, 0x7fe70000f588) = 0 +43938253016838:43938253017480 26077:26082 hsa_system_get_info(2, 0x7fe70000f590) = 0 +43938253018259:43938253018900 26077:26082 hsa_system_get_info(2, 0x7fe70000f598) = 0 +43938253019671:43938253020310 26077:26082 hsa_system_get_info(2, 0x7fe70000f5a0) = 0 +43938253021085:43938253021724 26077:26082 hsa_system_get_info(2, 0x7fe70000f5a8) = 0 +43938253022506:43938253023142 26077:26082 hsa_system_get_info(2, 0x7fe70000f5b0) = 0 +43938253024668:43938253025311 26077:26082 hsa_system_get_info(2, 0x7fe70000f5b8) = 0 +43938253026088:43938253026732 26077:26082 hsa_system_get_info(2, 0x7fe70000f5c0) = 0 +43938253027514:43938253028160 26077:26082 hsa_system_get_info(2, 0x7fe70000f5c8) = 0 +43938253028933:43938253029575 26077:26082 hsa_system_get_info(2, 0x7fe70000f5d0) = 0 +43938253030359:43938253031004 26077:26082 hsa_system_get_info(2, 0x7fe70000f5d8) = 0 +43938253031794:43938253032443 26077:26082 hsa_system_get_info(2, 0x7fe70000f5e0) = 0 +43938253033218:43938253033870 26077:26082 hsa_system_get_info(2, 0x7fe70000f5e8) = 0 +43938253034644:43938253035286 26077:26082 hsa_system_get_info(2, 0x7fe70000f5f0) = 0 +43938253036060:43938253036712 26077:26082 hsa_system_get_info(2, 0x7fe70000f5f8) = 0 +43938253037486:43938253038135 26077:26082 hsa_system_get_info(2, 0x7fe70000f600) = 0 +43938253038913:43938253039558 26077:26082 hsa_system_get_info(2, 0x7fe70000f608) = 0 +43938253040337:43938253040982 26077:26082 hsa_system_get_info(2, 0x7fe70000f610) = 0 +43938253041766:43938253042420 26077:26082 hsa_system_get_info(2, 0x7fe70000f618) = 0 +43938253043201:43938253043845 26077:26082 hsa_system_get_info(2, 0x7fe70000f620) = 0 +43938253044620:43938253045263 26077:26082 hsa_system_get_info(2, 0x7fe70000f628) = 0 +43938253046044:43938253046693 26077:26082 hsa_system_get_info(2, 0x7fe70000f630) = 0 +43938253047467:43938253048124 26077:26082 hsa_system_get_info(2, 0x7fe70000f638) = 0 +43938253048895:43938253049543 26077:26082 hsa_system_get_info(2, 0x7fe70000f640) = 0 +43938253050322:43938253050965 26077:26082 hsa_system_get_info(2, 0x7fe70000f648) = 0 +43938253051736:43938253052382 26077:26082 hsa_system_get_info(2, 0x7fe70000f650) = 0 +43938253053161:43938253053800 26077:26082 hsa_system_get_info(2, 0x7fe70000f658) = 0 +43938253054573:43938253055224 26077:26082 hsa_system_get_info(2, 0x7fe70000f660) = 0 +43938253056009:43938253056659 26077:26082 hsa_system_get_info(2, 0x7fe70000f668) = 0 +43938253057432:43938253058088 26077:26082 hsa_system_get_info(2, 0x7fe70000f670) = 0 +43938253058863:43938253059505 26077:26082 hsa_system_get_info(2, 0x7fe70000f678) = 0 +43938253060284:43938253060925 26077:26082 hsa_system_get_info(2, 0x7fe70000f680) = 0 +43938253061708:43938253062350 26077:26082 hsa_system_get_info(2, 0x7fe70000f688) = 0 +43938253063129:43938253063771 26077:26082 hsa_system_get_info(2, 0x7fe70000f690) = 0 +43938253065274:43938253065918 26077:26082 hsa_system_get_info(2, 0x7fe70000f698) = 0 +43938253066711:43938253067353 26077:26082 hsa_system_get_info(2, 0x7fe70000f6a0) = 0 +43938253068133:43938253068780 26077:26082 hsa_system_get_info(2, 0x7fe70000f6a8) = 0 +43938253069553:43938253070195 26077:26082 hsa_system_get_info(2, 0x7fe70000f6b0) = 0 +43938253070974:43938253071622 26077:26082 hsa_system_get_info(2, 0x7fe70000f6b8) = 0 +43938253072396:43938253073037 26077:26082 hsa_system_get_info(2, 0x7fe70000f6c0) = 0 +43938253073818:43938253074462 26077:26082 hsa_system_get_info(2, 0x7fe70000f6c8) = 0 +43938253075235:43938253075880 26077:26082 hsa_system_get_info(2, 0x7fe70000f6d0) = 0 +43938253076663:43938253077308 26077:26082 hsa_system_get_info(2, 0x7fe70000f6d8) = 0 +43938253078080:43938253078723 26077:26082 hsa_system_get_info(2, 0x7fe70000f6e0) = 0 +43938253079504:43938253080150 26077:26082 hsa_system_get_info(2, 0x7fe70000f6e8) = 0 +43938253080936:43938253081576 26077:26082 hsa_system_get_info(2, 0x7fe70000f6f0) = 0 +43938253082353:43938253083000 26077:26082 hsa_system_get_info(2, 0x7fe70000f6f8) = 0 +43938253083782:43938253084425 26077:26082 hsa_system_get_info(2, 0x7fe70000f700) = 0 +43938253085220:43938253085863 26077:26082 hsa_system_get_info(2, 0x7fe70000f708) = 0 +43938253086638:43938253087284 26077:26082 hsa_system_get_info(2, 0x7fe70000f710) = 0 +43938253088067:43938253088713 26077:26082 hsa_system_get_info(2, 0x7fe70000f718) = 0 +43938253089485:43938253090140 26077:26082 hsa_system_get_info(2, 0x7fe70000f720) = 0 +43938253090914:43938253091565 26077:26082 hsa_system_get_info(2, 0x7fe70000f728) = 0 +43938253092344:43938253092993 26077:26082 hsa_system_get_info(2, 0x7fe70000f730) = 0 +43938253093767:43938253094439 26077:26082 hsa_system_get_info(2, 0x7fe70000f738) = 0 +43938253095212:43938253095866 26077:26082 hsa_system_get_info(2, 0x7fe70000f740) = 0 +43938253096642:43938253097288 26077:26082 hsa_system_get_info(2, 0x7fe70000f748) = 0 +43938253098070:43938253098714 26077:26082 hsa_system_get_info(2, 0x7fe70000f750) = 0 +43938253099487:43938253100130 26077:26082 hsa_system_get_info(2, 0x7fe70000f758) = 0 +43938253100910:43938253101554 26077:26082 hsa_system_get_info(2, 0x7fe70000f760) = 0 +43938253102331:43938253102979 26077:26082 hsa_system_get_info(2, 0x7fe70000f768) = 0 +43938253103764:43938253104411 26077:26082 hsa_system_get_info(2, 0x7fe70000f770) = 0 +43938253105196:43938253105841 26077:26082 hsa_system_get_info(2, 0x7fe70000f778) = 0 +43938253107354:43938253107996 26077:26082 hsa_system_get_info(2, 0x7fe70000f780) = 0 +43938253108768:43938253109414 26077:26082 hsa_system_get_info(2, 0x7fe70000f788) = 0 +43938253110198:43938253110841 26077:26082 hsa_system_get_info(2, 0x7fe70000f790) = 0 +43938253111613:43938253112256 26077:26082 hsa_system_get_info(2, 0x7fe70000f798) = 0 +43938253113038:43938253113682 26077:26082 hsa_system_get_info(2, 0x7fe70000f7a0) = 0 +43938253114454:43938253115093 26077:26082 hsa_system_get_info(2, 0x7fe70000f7a8) = 0 +43938253115876:43938253116520 26077:26082 hsa_system_get_info(2, 0x7fe70000f7b0) = 0 +43938253117295:43938253117941 26077:26082 hsa_system_get_info(2, 0x7fe70000f7b8) = 0 +43938253118728:43938253119372 26077:26082 hsa_system_get_info(2, 0x7fe70000f7c0) = 0 +43938253120142:43938253120781 26077:26082 hsa_system_get_info(2, 0x7fe70000f7c8) = 0 +43938253121563:43938253122205 26077:26082 hsa_system_get_info(2, 0x7fe70000f7d0) = 0 +43938253122978:43938253123619 26077:26082 hsa_system_get_info(2, 0x7fe70000f7d8) = 0 +43938253124404:43938253125044 26077:26082 hsa_system_get_info(2, 0x7fe70000f7e0) = 0 +43938253125816:43938253126472 26077:26082 hsa_system_get_info(2, 0x7fe70000f7e8) = 0 +43938253127257:43938253127893 26077:26082 hsa_system_get_info(2, 0x7fe70000f7f0) = 0 +43938253128663:43938253129308 26077:26082 hsa_system_get_info(2, 0x7fe70000f7f8) = 0 +43938253130092:43938253130736 26077:26082 hsa_system_get_info(2, 0x7fe70000f800) = 0 +43938253131507:43938253132153 26077:26082 hsa_system_get_info(2, 0x7fe70000f808) = 0 +43938253132937:43938253133577 26077:26082 hsa_system_get_info(2, 0x7fe70000f810) = 0 +43938253134349:43938253134990 26077:26082 hsa_system_get_info(2, 0x7fe70000f818) = 0 +43938253135775:43938253136422 26077:26082 hsa_system_get_info(2, 0x7fe70000f820) = 0 +43938253137194:43938253137834 26077:26082 hsa_system_get_info(2, 0x7fe70000f828) = 0 +43938253138616:43938253139258 26077:26082 hsa_system_get_info(2, 0x7fe70000f830) = 0 +43938253140033:43938253140679 26077:26082 hsa_system_get_info(2, 0x7fe70000f838) = 0 +43938253141459:43938253142104 26077:26082 hsa_system_get_info(2, 0x7fe70000f840) = 0 +43938253142903:43938253143547 26077:26082 hsa_system_get_info(2, 0x7fe70000f848) = 0 +43938253144321:43938253144974 26077:26082 hsa_system_get_info(2, 0x7fe70000f850) = 0 +43938253145751:43938253146389 26077:26082 hsa_system_get_info(2, 0x7fe70000f858) = 0 +43938253147962:43938253148619 26077:26082 hsa_system_get_info(2, 0x7fe70000f860) = 0 +43938253149393:43938253150041 26077:26082 hsa_system_get_info(2, 0x7fe70000f868) = 0 +43938253150824:43938253151466 26077:26082 hsa_system_get_info(2, 0x7fe70000f870) = 0 +43938253152242:43938253152881 26077:26082 hsa_system_get_info(2, 0x7fe70000f878) = 0 +43938253153663:43938253154310 26077:26082 hsa_system_get_info(2, 0x7fe70000f880) = 0 +43938253155086:43938253155725 26077:26082 hsa_system_get_info(2, 0x7fe70000f888) = 0 +43938253156507:43938253157147 26077:26082 hsa_system_get_info(2, 0x7fe70000f890) = 0 +43938253157923:43938253158570 26077:26082 hsa_system_get_info(2, 0x7fe70000f898) = 0 +43938253159362:43938253160005 26077:26082 hsa_system_get_info(2, 0x7fe70000f8a0) = 0 +43938253160787:43938253161432 26077:26082 hsa_system_get_info(2, 0x7fe70000f8a8) = 0 +43938253162211:43938253162851 26077:26082 hsa_system_get_info(2, 0x7fe70000f8b0) = 0 +43938253163643:43938253164287 26077:26082 hsa_system_get_info(2, 0x7fe70000f8b8) = 0 +43938253165073:43938253165717 26077:26082 hsa_system_get_info(2, 0x7fe70000f8c0) = 0 +43938253166489:43938253167133 26077:26082 hsa_system_get_info(2, 0x7fe70000f8c8) = 0 +43938253167915:43938253168558 26077:26082 hsa_system_get_info(2, 0x7fe70000f8d0) = 0 +43938253169332:43938253169975 26077:26082 hsa_system_get_info(2, 0x7fe70000f8d8) = 0 +43938253170757:43938253171404 26077:26082 hsa_system_get_info(2, 0x7fe70000f8e0) = 0 +43938253172187:43938253172834 26077:26082 hsa_system_get_info(2, 0x7fe70000f8e8) = 0 +43938253173608:43938253174250 26077:26082 hsa_system_get_info(2, 0x7fe70000f8f0) = 0 +43938253175031:43938253175660 26077:26082 hsa_system_get_info(2, 0x7fe70000f8f8) = 0 +43938253176438:43938253177088 26077:26082 hsa_system_get_info(2, 0x7fe70000f900) = 0 +43938253177881:43938253178521 26077:26082 hsa_system_get_info(2, 0x7fe70000f908) = 0 +43938253179292:43938253179930 26077:26082 hsa_system_get_info(2, 0x7fe70000f910) = 0 +43938253180716:43938253181362 26077:26082 hsa_system_get_info(2, 0x7fe70000f918) = 0 +43938253182137:43938253182781 26077:26082 hsa_system_get_info(2, 0x7fe70000f920) = 0 +43938253183564:43938253184214 26077:26082 hsa_system_get_info(2, 0x7fe70000f928) = 0 +43938253184997:43938253185644 26077:26082 hsa_system_get_info(2, 0x7fe70000f930) = 0 +43938253186418:43938253187059 26077:26082 hsa_system_get_info(2, 0x7fe70000f938) = 0 +43938253187836:43938253188468 26077:26082 hsa_system_get_info(2, 0x7fe70000f940) = 0 +43938253189981:43938253190627 26077:26082 hsa_system_get_info(2, 0x7fe70000f948) = 0 +43938253191410:43938253192056 26077:26082 hsa_system_get_info(2, 0x7fe70000f950) = 0 +43938253192827:43938253193469 26077:26082 hsa_system_get_info(2, 0x7fe70000f958) = 0 +43938253194258:43938253194904 26077:26082 hsa_system_get_info(2, 0x7fe70000f960) = 0 +43938253195687:43938253196327 26077:26082 hsa_system_get_info(2, 0x7fe70000f968) = 0 +43938253197102:43938253197743 26077:26082 hsa_system_get_info(2, 0x7fe70000f970) = 0 +43938253198538:43938253199180 26077:26082 hsa_system_get_info(2, 0x7fe70000f978) = 0 +43938253199977:43938253200616 26077:26082 hsa_system_get_info(2, 0x7fe70000f980) = 0 +43938253201393:43938253202036 26077:26082 hsa_system_get_info(2, 0x7fe70000f988) = 0 +43938253202818:43938253203459 26077:26082 hsa_system_get_info(2, 0x7fe70000f990) = 0 +43938253204230:43938253204874 26077:26082 hsa_system_get_info(2, 0x7fe70000f998) = 0 +43938253205654:43938253206305 26077:26082 hsa_system_get_info(2, 0x7fe70000f9a0) = 0 +43938253207088:43938253207736 26077:26082 hsa_system_get_info(2, 0x7fe70000f9a8) = 0 +43938253208518:43938253209172 26077:26082 hsa_system_get_info(2, 0x7fe70000f9b0) = 0 +43938253209951:43938253210593 26077:26082 hsa_system_get_info(2, 0x7fe70000f9b8) = 0 +43938253211377:43938253212025 26077:26082 hsa_system_get_info(2, 0x7fe70000f9c0) = 0 +43938253212799:43938253213441 26077:26082 hsa_system_get_info(2, 0x7fe70000f9c8) = 0 +43938253214223:43938253214873 26077:26082 hsa_system_get_info(2, 0x7fe70000f9d0) = 0 +43938253215654:43938253216303 26077:26082 hsa_system_get_info(2, 0x7fe70000f9d8) = 0 +43938253217078:43938253217724 26077:26082 hsa_system_get_info(2, 0x7fe70000f9e0) = 0 +43938253218517:43938253219164 26077:26082 hsa_system_get_info(2, 0x7fe70000f9e8) = 0 +43938253219947:43938253220589 26077:26082 hsa_system_get_info(2, 0x7fe70000f9f0) = 0 +43938253221384:43938253222029 26077:26082 hsa_system_get_info(2, 0x7fe70000f9f8) = 0 +43938253222802:43938253223444 26077:26082 hsa_system_get_info(2, 0x7fe70000fa00) = 0 +43938253224221:43938253224864 26077:26082 hsa_system_get_info(2, 0x7fe70000fa08) = 0 +43938253225638:43938253226279 26077:26082 hsa_system_get_info(2, 0x7fe70000fa10) = 0 +43938253227062:43938253227706 26077:26082 hsa_system_get_info(2, 0x7fe70000fa18) = 0 +43938253228480:43938253229128 26077:26082 hsa_system_get_info(2, 0x7fe70000fa20) = 0 +43938253230635:43938253231278 26077:26082 hsa_system_get_info(2, 0x7fe70000fa28) = 0 +43938253232062:43938253232704 26077:26082 hsa_system_get_info(2, 0x7fe70000fa30) = 0 +43938253233476:43938253234121 26077:26082 hsa_system_get_info(2, 0x7fe70000fa38) = 0 +43938253234905:43938253235553 26077:26082 hsa_system_get_info(2, 0x7fe70000fa40) = 0 +43938253236328:43938253236972 26077:26082 hsa_system_get_info(2, 0x7fe70000fa48) = 0 +43938253237770:43938253238415 26077:26082 hsa_system_get_info(2, 0x7fe70000fa50) = 0 +43938253239197:43938253239840 26077:26082 hsa_system_get_info(2, 0x7fe70000fa58) = 0 +43938253240613:43938253241255 26077:26082 hsa_system_get_info(2, 0x7fe70000fa60) = 0 +43938253242038:43938253242680 26077:26082 hsa_system_get_info(2, 0x7fe70000fa68) = 0 +43938253243455:43938253244100 26077:26082 hsa_system_get_info(2, 0x7fe70000fa70) = 0 +43938253244883:43938253245532 26077:26082 hsa_system_get_info(2, 0x7fe70000fa78) = 0 +43938253246328:43938253246967 26077:26082 hsa_system_get_info(2, 0x7fe70000fa80) = 0 +43938253247755:43938253248394 26077:26082 hsa_system_get_info(2, 0x7fe70000fa88) = 0 +43938253249165:43938253249809 26077:26082 hsa_system_get_info(2, 0x7fe70000fa90) = 0 +43938253250595:43938253251235 26077:26082 hsa_system_get_info(2, 0x7fe70000fa98) = 0 +43938253252007:43938253252653 26077:26082 hsa_system_get_info(2, 0x7fe70000faa0) = 0 +43938253253435:43938253254065 26077:26082 hsa_system_get_info(2, 0x7fe70000faa8) = 0 +43938253254845:43938253255486 26077:26082 hsa_system_get_info(2, 0x7fe70000fab0) = 0 +43938253256259:43938253256901 26077:26082 hsa_system_get_info(2, 0x7fe70000fab8) = 0 +43938253257687:43938253258327 26077:26082 hsa_system_get_info(2, 0x7fe70000fac0) = 0 +43938253259102:43938253259749 26077:26082 hsa_system_get_info(2, 0x7fe70000fac8) = 0 +43938253260529:43938253261164 26077:26082 hsa_system_get_info(2, 0x7fe70000fad0) = 0 +43938253261933:43938253262579 26077:26082 hsa_system_get_info(2, 0x7fe70000fad8) = 0 +43938253263360:43938253264004 26077:26082 hsa_system_get_info(2, 0x7fe70000fae0) = 0 +43938253264782:43938253265425 26077:26082 hsa_system_get_info(2, 0x7fe70000fae8) = 0 +43938253266221:43938253266865 26077:26082 hsa_system_get_info(2, 0x7fe70000faf0) = 0 +43938253267646:43938253268292 26077:26082 hsa_system_get_info(2, 0x7fe70000faf8) = 0 +43938253269066:43938253269710 26077:26082 hsa_system_get_info(2, 0x7fe70000fb00) = 0 +43938253270490:43938253271131 26077:26082 hsa_system_get_info(2, 0x7fe70000fb08) = 0 +43938253272631:43938253273275 26077:26082 hsa_system_get_info(2, 0x7fe70000fb10) = 0 +43938253274055:43938253274699 26077:26082 hsa_system_get_info(2, 0x7fe70000fb18) = 0 +43938253275475:43938253276127 26077:26082 hsa_system_get_info(2, 0x7fe70000fb20) = 0 +43938253276900:43938253277546 26077:26082 hsa_system_get_info(2, 0x7fe70000fb28) = 0 +43938253278331:43938253278975 26077:26082 hsa_system_get_info(2, 0x7fe70000fb30) = 0 +43938253279753:43938253280395 26077:26082 hsa_system_get_info(2, 0x7fe70000fb38) = 0 +43938253281176:43938253281820 26077:26082 hsa_system_get_info(2, 0x7fe70000fb40) = 0 +43938253282597:43938253283240 26077:26082 hsa_system_get_info(2, 0x7fe70000fb48) = 0 +43938253284018:43938253284660 26077:26082 hsa_system_get_info(2, 0x7fe70000fb50) = 0 +43938253285439:43938253286083 26077:26082 hsa_system_get_info(2, 0x7fe70000fb58) = 0 +43938253286873:43938253287518 26077:26082 hsa_system_get_info(2, 0x7fe70000fb60) = 0 +43938253288303:43938253288950 26077:26082 hsa_system_get_info(2, 0x7fe70000fb68) = 0 +43938253289737:43938253290381 26077:26082 hsa_system_get_info(2, 0x7fe70000fb70) = 0 +43938253291156:43938253291800 26077:26082 hsa_system_get_info(2, 0x7fe70000fb78) = 0 +43938253292596:43938253293240 26077:26082 hsa_system_get_info(2, 0x7fe70000fb80) = 0 +43938253294037:43938253294682 26077:26082 hsa_system_get_info(2, 0x7fe70000fb88) = 0 +43938253295467:43938253296110 26077:26082 hsa_system_get_info(2, 0x7fe70000fb90) = 0 +43938253296891:43938253297550 26077:26082 hsa_system_get_info(2, 0x7fe70000fb98) = 0 +43938253298325:43938253298981 26077:26082 hsa_system_get_info(2, 0x7fe70000fba0) = 0 +43938253299762:43938253300408 26077:26082 hsa_system_get_info(2, 0x7fe70000fba8) = 0 +43938253301195:43938253301844 26077:26082 hsa_system_get_info(2, 0x7fe70000fbb0) = 0 +43938253302624:43938253303268 26077:26082 hsa_system_get_info(2, 0x7fe70000fbb8) = 0 +43938253304042:43938253304687 26077:26082 hsa_system_get_info(2, 0x7fe70000fbc0) = 0 +43938253305468:43938253306110 26077:26082 hsa_system_get_info(2, 0x7fe70000fbc8) = 0 +43938253306908:43938253307551 26077:26082 hsa_system_get_info(2, 0x7fe70000fbd0) = 0 +43938253308322:43938253308967 26077:26082 hsa_system_get_info(2, 0x7fe70000fbd8) = 0 +43938253309751:43938253310397 26077:26082 hsa_system_get_info(2, 0x7fe70000fbe0) = 0 +43938253311173:43938253311815 26077:26082 hsa_system_get_info(2, 0x7fe70000fbe8) = 0 +43938253313330:43938253313977 26077:26082 hsa_system_get_info(2, 0x7fe70000fbf0) = 0 +43938253314761:43938253315406 26077:26082 hsa_system_get_info(2, 0x7fe70000fbf8) = 0 +43938253316179:43938253316816 26077:26082 hsa_system_get_info(2, 0x7fe70000fc00) = 0 +43938253317593:43938253318235 26077:26082 hsa_system_get_info(2, 0x7fe70000fc08) = 0 +43938253319009:43938253319649 26077:26082 hsa_system_get_info(2, 0x7fe70000fc10) = 0 +43938253320422:43938253321064 26077:26082 hsa_system_get_info(2, 0x7fe70000fc18) = 0 +43938253321846:43938253322490 26077:26082 hsa_system_get_info(2, 0x7fe70000fc20) = 0 +43938253323265:43938253323915 26077:26082 hsa_system_get_info(2, 0x7fe70000fc28) = 0 +43938253324693:43938253325335 26077:26082 hsa_system_get_info(2, 0x7fe70000fc30) = 0 +43938253326120:43938253326769 26077:26082 hsa_system_get_info(2, 0x7fe70000fc38) = 0 +43938253327543:43938253328200 26077:26082 hsa_system_get_info(2, 0x7fe70000fc40) = 0 +43938253328974:43938253329617 26077:26082 hsa_system_get_info(2, 0x7fe70000fc48) = 0 +43938253330405:43938253331047 26077:26082 hsa_system_get_info(2, 0x7fe70000fc50) = 0 +43938253331819:43938253332486 26077:26082 hsa_system_get_info(2, 0x7fe70000fc58) = 0 +43938253333258:43938253333895 26077:26082 hsa_system_get_info(2, 0x7fe70000fc60) = 0 +43938253334668:43938253335324 26077:26082 hsa_system_get_info(2, 0x7fe70000fc68) = 0 +43938253336103:43938253336743 26077:26082 hsa_system_get_info(2, 0x7fe70000fc70) = 0 +43938253337524:43938253338165 26077:26082 hsa_system_get_info(2, 0x7fe70000fc78) = 0 +43938253338938:43938253339586 26077:26082 hsa_system_get_info(2, 0x7fe70000fc80) = 0 +43938253340367:43938253341015 26077:26082 hsa_system_get_info(2, 0x7fe70000fc88) = 0 +43938253341787:43938253342426 26077:26082 hsa_system_get_info(2, 0x7fe70000fc90) = 0 +43938253343206:43938253343847 26077:26082 hsa_system_get_info(2, 0x7fe70000fc98) = 0 +43938253344623:43938253345269 26077:26082 hsa_system_get_info(2, 0x7fe70000fca0) = 0 +43938253346052:43938253346696 26077:26082 hsa_system_get_info(2, 0x7fe70000fca8) = 0 +43938253347473:43938253348120 26077:26082 hsa_system_get_info(2, 0x7fe70000fcb0) = 0 +43938253348900:43938253349540 26077:26082 hsa_system_get_info(2, 0x7fe70000fcb8) = 0 +43938253350312:43938253350958 26077:26082 hsa_system_get_info(2, 0x7fe70000fcc0) = 0 +43938253351739:43938253352394 26077:26082 hsa_system_get_info(2, 0x7fe70000fcc8) = 0 +43938253353175:43938253353814 26077:26082 hsa_system_get_info(2, 0x7fe70000fcd0) = 0 +43938253355319:43938253355976 26077:26082 hsa_system_get_info(2, 0x7fe70000fcd8) = 0 +43938253356754:43938253357398 26077:26082 hsa_system_get_info(2, 0x7fe70000fce0) = 0 +43938253358179:43938253358820 26077:26082 hsa_system_get_info(2, 0x7fe70000fce8) = 0 +43938253359594:43938253360240 26077:26082 hsa_system_get_info(2, 0x7fe70000fcf0) = 0 +43938253361020:43938253361662 26077:26082 hsa_system_get_info(2, 0x7fe70000fcf8) = 0 +43938253362438:43938253363081 26077:26082 hsa_system_get_info(2, 0x7fe70000fd00) = 0 +43938253363862:43938253364503 26077:26082 hsa_system_get_info(2, 0x7fe70000fd08) = 0 +43938253365276:43938253365919 26077:26082 hsa_system_get_info(2, 0x7fe70000fd10) = 0 +43938253366702:43938253367345 26077:26082 hsa_system_get_info(2, 0x7fe70000fd18) = 0 +43938253368116:43938253368759 26077:26082 hsa_system_get_info(2, 0x7fe70000fd20) = 0 +43938253369561:43938253370206 26077:26082 hsa_system_get_info(2, 0x7fe70000fd28) = 0 +43938253371005:43938253371665 26077:26082 hsa_system_get_info(2, 0x7fe70000fd30) = 0 +43938253372435:43938253373084 26077:26082 hsa_system_get_info(2, 0x7fe70000fd38) = 0 +43938253373865:43938253374510 26077:26082 hsa_system_get_info(2, 0x7fe70000fd40) = 0 +43938253375285:43938253375934 26077:26082 hsa_system_get_info(2, 0x7fe70000fd48) = 0 +43938253376719:43938253377360 26077:26082 hsa_system_get_info(2, 0x7fe70000fd50) = 0 +43938253378137:43938253378789 26077:26082 hsa_system_get_info(2, 0x7fe70000fd58) = 0 +43938253379564:43938253380205 26077:26082 hsa_system_get_info(2, 0x7fe70000fd60) = 0 +43938253380978:43938253381629 26077:26082 hsa_system_get_info(2, 0x7fe70000fd68) = 0 +43938253382405:43938253383047 26077:26082 hsa_system_get_info(2, 0x7fe70000fd70) = 0 +43938253383818:43938253384471 26077:26082 hsa_system_get_info(2, 0x7fe70000fd78) = 0 +43938253385247:43938253385895 26077:26082 hsa_system_get_info(2, 0x7fe70000fd80) = 0 +43938253386680:43938253387326 26077:26082 hsa_system_get_info(2, 0x7fe70000fd88) = 0 +43938253388098:43938253388759 26077:26082 hsa_system_get_info(2, 0x7fe70000fd90) = 0 +43938253389531:43938253390177 26077:26082 hsa_system_get_info(2, 0x7fe70000fd98) = 0 +43938253390970:43938253391617 26077:26082 hsa_system_get_info(2, 0x7fe70000fda0) = 0 +43938253392401:43938253393045 26077:26082 hsa_system_get_info(2, 0x7fe70000fda8) = 0 +43938253393822:43938253394460 26077:26082 hsa_system_get_info(2, 0x7fe70000fdb0) = 0 +43938253395977:43938253396626 26077:26082 hsa_system_get_info(2, 0x7fe70000fdb8) = 0 +43938253397405:43938253398051 26077:26082 hsa_system_get_info(2, 0x7fe70000fdc0) = 0 +43938253398825:43938253399481 26077:26082 hsa_system_get_info(2, 0x7fe70000fdc8) = 0 +43938253400255:43938253400898 26077:26082 hsa_system_get_info(2, 0x7fe70000fdd0) = 0 +43938253401681:43938253402321 26077:26082 hsa_system_get_info(2, 0x7fe70000fdd8) = 0 +43938253403096:43938253403744 26077:26082 hsa_system_get_info(2, 0x7fe70000fde0) = 0 +43938253404542:43938253405189 26077:26082 hsa_system_get_info(2, 0x7fe70000fde8) = 0 +43938253405970:43938253406615 26077:26082 hsa_system_get_info(2, 0x7fe70000fdf0) = 0 +43938253407385:43938253408021 26077:26082 hsa_system_get_info(2, 0x7fe70000fdf8) = 0 +43938253408793:43938253409434 26077:26082 hsa_system_get_info(2, 0x7fe70000fe00) = 0 +43938253410213:43938253410858 26077:26082 hsa_system_get_info(2, 0x7fe70000fe08) = 0 +43938253411637:43938253412286 26077:26082 hsa_system_get_info(2, 0x7fe70000fe10) = 0 +43938253413066:43938253413709 26077:26082 hsa_system_get_info(2, 0x7fe70000fe18) = 0 +43938253414493:43938253415138 26077:26082 hsa_system_get_info(2, 0x7fe70000fe20) = 0 +43938253415914:43938253416559 26077:26082 hsa_system_get_info(2, 0x7fe70000fe28) = 0 +43938253417338:43938253417981 26077:26082 hsa_system_get_info(2, 0x7fe70000fe30) = 0 +43938253418757:43938253419397 26077:26082 hsa_system_get_info(2, 0x7fe70000fe38) = 0 +43938253420173:43938253420814 26077:26082 hsa_system_get_info(2, 0x7fe70000fe40) = 0 +43938253421586:43938253422228 26077:26082 hsa_system_get_info(2, 0x7fe70000fe48) = 0 +43938253423013:43938253423659 26077:26082 hsa_system_get_info(2, 0x7fe70000fe50) = 0 +43938253424442:43938253425084 26077:26082 hsa_system_get_info(2, 0x7fe70000fe58) = 0 +43938253425865:43938253426505 26077:26082 hsa_system_get_info(2, 0x7fe70000fe60) = 0 +43938253427278:43938253427923 26077:26082 hsa_system_get_info(2, 0x7fe70000fe68) = 0 +43938253428702:43938253429362 26077:26082 hsa_system_get_info(2, 0x7fe70000fe70) = 0 +43938253430143:43938253430789 26077:26082 hsa_system_get_info(2, 0x7fe70000fe78) = 0 +43938253431564:43938253432208 26077:26082 hsa_system_get_info(2, 0x7fe70000fe80) = 0 +43938253432988:43938253433633 26077:26082 hsa_system_get_info(2, 0x7fe70000fe88) = 0 +43938253434405:43938253435050 26077:26082 hsa_system_get_info(2, 0x7fe70000fe90) = 0 +43938253436590:43938253437237 26077:26082 hsa_system_get_info(2, 0x7fe70000fe98) = 0 +43938253438009:43938253438648 26077:26082 hsa_system_get_info(2, 0x7fe70000fea0) = 0 +43938253439424:43938253440067 26077:26082 hsa_system_get_info(2, 0x7fe70000fea8) = 0 +43938253440844:43938253441493 26077:26082 hsa_system_get_info(2, 0x7fe70000feb0) = 0 +43938253442273:43938253442916 26077:26082 hsa_system_get_info(2, 0x7fe70000feb8) = 0 +43938253443690:43938253444346 26077:26082 hsa_system_get_info(2, 0x7fe70000fec0) = 0 +43938253445121:43938253445766 26077:26082 hsa_system_get_info(2, 0x7fe70000fec8) = 0 +43938253446536:43938253447187 26077:26082 hsa_system_get_info(2, 0x7fe70000fed0) = 0 +43938253447965:43938253448612 26077:26082 hsa_system_get_info(2, 0x7fe70000fed8) = 0 +43938253449394:43938253450041 26077:26082 hsa_system_get_info(2, 0x7fe70000fee0) = 0 +43938253450817:43938253451471 26077:26082 hsa_system_get_info(2, 0x7fe70000fee8) = 0 +43938253452248:43938253452893 26077:26082 hsa_system_get_info(2, 0x7fe70000fef0) = 0 +43938253453680:43938253454320 26077:26082 hsa_system_get_info(2, 0x7fe70000fef8) = 0 +43938253455116:43938253455761 26077:26082 hsa_system_get_info(2, 0x7fe70000ff00) = 0 +43938253456533:43938253457175 26077:26082 hsa_system_get_info(2, 0x7fe70000ff08) = 0 +43938253457961:43938253458607 26077:26082 hsa_system_get_info(2, 0x7fe70000ff10) = 0 +43938253459393:43938253460043 26077:26082 hsa_system_get_info(2, 0x7fe70000ff18) = 0 +43938253460819:43938253461465 26077:26082 hsa_system_get_info(2, 0x7fe70000ff20) = 0 +43938253462252:43938253462895 26077:26082 hsa_system_get_info(2, 0x7fe70000ff28) = 0 +43938253463667:43938253464305 26077:26082 hsa_system_get_info(2, 0x7fe70000ff30) = 0 +43938253465086:43938253465729 26077:26082 hsa_system_get_info(2, 0x7fe70000ff38) = 0 +43938253466501:43938253467142 26077:26082 hsa_system_get_info(2, 0x7fe70000ff40) = 0 +43938253467923:43938253468564 26077:26082 hsa_system_get_info(2, 0x7fe70000ff48) = 0 +43938253469336:43938253469981 26077:26082 hsa_system_get_info(2, 0x7fe70000ff50) = 0 +43938253470766:43938253471408 26077:26082 hsa_system_get_info(2, 0x7fe70000ff58) = 0 +43938253472183:43938253472827 26077:26082 hsa_system_get_info(2, 0x7fe70000ff60) = 0 +43938253473613:43938253474269 26077:26082 hsa_system_get_info(2, 0x7fe70000ff68) = 0 +43938253475056:43938253475703 26077:26082 hsa_system_get_info(2, 0x7fe70000ff70) = 0 +43938253476487:43938253477138 26077:26082 hsa_system_get_info(2, 0x7fe70000ff78) = 0 +43938253479395:43938253480054 26077:26082 hsa_system_get_info(2, 0x7fe70000ff80) = 0 +43938253480829:43938253481472 26077:26082 hsa_system_get_info(2, 0x7fe70000ff88) = 0 +43938253482253:43938253482899 26077:26082 hsa_system_get_info(2, 0x7fe70000ff90) = 0 +43938253483673:43938253484318 26077:26082 hsa_system_get_info(2, 0x7fe70000ff98) = 0 +43938253485101:43938253485743 26077:26082 hsa_system_get_info(2, 0x7fe70000ffa0) = 0 +43938253486516:43938253487174 26077:26082 hsa_system_get_info(2, 0x7fe70000ffa8) = 0 +43938253487951:43938253488599 26077:26082 hsa_system_get_info(2, 0x7fe70000ffb0) = 0 +43938253489386:43938253490035 26077:26082 hsa_system_get_info(2, 0x7fe70000ffb8) = 0 +43938253490817:43938253491457 26077:26082 hsa_system_get_info(2, 0x7fe70000ffc0) = 0 +43938253492231:43938253492868 26077:26082 hsa_system_get_info(2, 0x7fe70000ffc8) = 0 +43938253493639:43938253494301 26077:26082 hsa_system_get_info(2, 0x7fe70000ffd0) = 0 +43938253495073:43938253495721 26077:26082 hsa_system_get_info(2, 0x7fe70000ffd8) = 0 +43938253496506:43938253497154 26077:26082 hsa_system_get_info(2, 0x7fe70000ffe0) = 0 +43938253497938:43938253498585 26077:26082 hsa_system_get_info(2, 0x7fe70000ffe8) = 0 +43938253499384:43938253500025 26077:26082 hsa_system_get_info(2, 0x7fe70000fff0) = 0 +43938253500804:43938253501445 26077:26082 hsa_system_get_info(2, 0x7fe70000fff8) = 0 +43938253502229:43938253502873 26077:26082 hsa_system_get_info(2, 0x7fe700010000) = 0 +43938253503644:43938253504288 26077:26082 hsa_system_get_info(2, 0x7fe700010008) = 0 +43938253505081:43938253505723 26077:26082 hsa_system_get_info(2, 0x7fe700010010) = 0 +43938253506502:43938253507148 26077:26082 hsa_system_get_info(2, 0x7fe700010018) = 0 +43938253507919:43938253508561 26077:26082 hsa_system_get_info(2, 0x7fe700010020) = 0 +43938253509344:43938253509988 26077:26082 hsa_system_get_info(2, 0x7fe700010028) = 0 +43938253510766:43938253511407 26077:26082 hsa_system_get_info(2, 0x7fe700010030) = 0 +43938253512189:43938253512832 26077:26082 hsa_system_get_info(2, 0x7fe700010038) = 0 +43938253513605:43938253514248 26077:26082 hsa_system_get_info(2, 0x7fe700010040) = 0 +43938253515033:43938253515677 26077:26082 hsa_system_get_info(2, 0x7fe700010048) = 0 +43938253516449:43938253517088 26077:26082 hsa_system_get_info(2, 0x7fe700010050) = 0 +43938253517870:43938253518516 26077:26082 hsa_system_get_info(2, 0x7fe700010058) = 0 +43938253520041:43938253520680 26077:26082 hsa_system_get_info(2, 0x7fe700010060) = 0 +43938253521454:43938253522098 26077:26082 hsa_system_get_info(2, 0x7fe700010068) = 0 +43938253522878:43938253523518 26077:26082 hsa_system_get_info(2, 0x7fe700010070) = 0 +43938253524296:43938253524939 26077:26082 hsa_system_get_info(2, 0x7fe700010078) = 0 +43938253525723:43938253526374 26077:26082 hsa_system_get_info(2, 0x7fe700010080) = 0 +43938253527159:43938253527799 26077:26082 hsa_system_get_info(2, 0x7fe700010088) = 0 +43938253528574:43938253529212 26077:26082 hsa_system_get_info(2, 0x7fe700010090) = 0 +43938253529993:43938253530642 26077:26082 hsa_system_get_info(2, 0x7fe700010098) = 0 +43938253531443:43938253532085 26077:26082 hsa_system_get_info(2, 0x7fe7000100a0) = 0 +43938253532859:43938253533503 26077:26082 hsa_system_get_info(2, 0x7fe7000100a8) = 0 +43938253534302:43938253534939 26077:26082 hsa_system_get_info(2, 0x7fe7000100b0) = 0 +43938253535721:43938253536363 26077:26082 hsa_system_get_info(2, 0x7fe7000100b8) = 0 +43938253537141:43938253537785 26077:26082 hsa_system_get_info(2, 0x7fe7000100c0) = 0 +43938253538567:43938253539210 26077:26082 hsa_system_get_info(2, 0x7fe7000100c8) = 0 +43938253539984:43938253540627 26077:26082 hsa_system_get_info(2, 0x7fe7000100d0) = 0 +43938253541408:43938253542050 26077:26082 hsa_system_get_info(2, 0x7fe7000100d8) = 0 +43938253542823:43938253543467 26077:26082 hsa_system_get_info(2, 0x7fe7000100e0) = 0 +43938253544244:43938253544883 26077:26082 hsa_system_get_info(2, 0x7fe7000100e8) = 0 +43938253545656:43938253546303 26077:26082 hsa_system_get_info(2, 0x7fe7000100f0) = 0 +43938253547086:43938253547727 26077:26082 hsa_system_get_info(2, 0x7fe7000100f8) = 0 +43938253548505:43938253549165 26077:26082 hsa_system_get_info(2, 0x7fe700010100) = 0 +43938253549943:43938253550589 26077:26082 hsa_system_get_info(2, 0x7fe700010108) = 0 +43938253551371:43938253552018 26077:26082 hsa_system_get_info(2, 0x7fe700010110) = 0 +43938253552796:43938253553452 26077:26082 hsa_system_get_info(2, 0x7fe700010118) = 0 +43938253554250:43938253554892 26077:26082 hsa_system_get_info(2, 0x7fe700010120) = 0 +43938253555666:43938253556310 26077:26082 hsa_system_get_info(2, 0x7fe700010128) = 0 +43938253557093:43938253557739 26077:26082 hsa_system_get_info(2, 0x7fe700010130) = 0 +43938253558512:43938253559157 26077:26082 hsa_system_get_info(2, 0x7fe700010138) = 0 +43938253559940:43938253560586 26077:26082 hsa_system_get_info(2, 0x7fe700010140) = 0 +43938253562100:43938253562747 26077:26082 hsa_system_get_info(2, 0x7fe700010148) = 0 +43938253563518:43938253564162 26077:26082 hsa_system_get_info(2, 0x7fe700010150) = 0 +43938253564949:43938253565594 26077:26082 hsa_system_get_info(2, 0x7fe700010158) = 0 +43938253566363:43938253567004 26077:26082 hsa_system_get_info(2, 0x7fe700010160) = 0 +43938253567787:43938253568428 26077:26082 hsa_system_get_info(2, 0x7fe700010168) = 0 +43938253569201:43938253569842 26077:26082 hsa_system_get_info(2, 0x7fe700010170) = 0 +43938253570624:43938253571264 26077:26082 hsa_system_get_info(2, 0x7fe700010178) = 0 +43938253572042:43938253572683 26077:26082 hsa_system_get_info(2, 0x7fe700010180) = 0 +43938253573461:43938253574103 26077:26082 hsa_system_get_info(2, 0x7fe700010188) = 0 +43938253574880:43938253575521 26077:26082 hsa_system_get_info(2, 0x7fe700010190) = 0 +43938253576314:43938253576960 26077:26082 hsa_system_get_info(2, 0x7fe700010198) = 0 +43938253577745:43938253578389 26077:26082 hsa_system_get_info(2, 0x7fe7000101a0) = 0 +43938253579169:43938253579812 26077:26082 hsa_system_get_info(2, 0x7fe7000101a8) = 0 +43938253580596:43938253581239 26077:26082 hsa_system_get_info(2, 0x7fe7000101b0) = 0 +43938253582013:43938253582652 26077:26082 hsa_system_get_info(2, 0x7fe7000101b8) = 0 +43938253583435:43938253584078 26077:26082 hsa_system_get_info(2, 0x7fe7000101c0) = 0 +43938253584855:43938253585493 26077:26082 hsa_system_get_info(2, 0x7fe7000101c8) = 0 +43938253586271:43938253586918 26077:26082 hsa_system_get_info(2, 0x7fe7000101d0) = 0 +43938253587695:43938253588334 26077:26082 hsa_system_get_info(2, 0x7fe7000101d8) = 0 +43938253589115:43938253589756 26077:26082 hsa_system_get_info(2, 0x7fe7000101e0) = 0 +43938253590532:43938253591173 26077:26082 hsa_system_get_info(2, 0x7fe7000101e8) = 0 +43938253591952:43938253592594 26077:26082 hsa_system_get_info(2, 0x7fe7000101f0) = 0 +43938253593365:43938253594002 26077:26082 hsa_system_get_info(2, 0x7fe7000101f8) = 0 +43938253594779:43938253595432 26077:26082 hsa_system_get_info(2, 0x7fe700010200) = 0 +43938253596216:43938253596860 26077:26082 hsa_system_get_info(2, 0x7fe700010208) = 0 +43938253597638:43938253598278 26077:26082 hsa_system_get_info(2, 0x7fe700010210) = 0 +43938253599054:43938253599693 26077:26082 hsa_system_get_info(2, 0x7fe700010218) = 0 +43938253600474:43938253601117 26077:26082 hsa_system_get_info(2, 0x7fe700010220) = 0 +43938253602649:43938253603289 26077:26082 hsa_system_get_info(2, 0x7fe700010228) = 0 +43938253604066:43938253604717 26077:26082 hsa_system_get_info(2, 0x7fe700010230) = 0 +43938253605491:43938253606135 26077:26082 hsa_system_get_info(2, 0x7fe700010238) = 0 +43938253606907:43938253607564 26077:26082 hsa_system_get_info(2, 0x7fe700010240) = 0 +43938253608340:43938253608979 26077:26082 hsa_system_get_info(2, 0x7fe700010248) = 0 +43938253609761:43938253610403 26077:26082 hsa_system_get_info(2, 0x7fe700010250) = 0 +43938253611189:43938253611830 26077:26082 hsa_system_get_info(2, 0x7fe700010258) = 0 +43938253612612:43938253613250 26077:26082 hsa_system_get_info(2, 0x7fe700010260) = 0 +43938253614024:43938253614669 26077:26082 hsa_system_get_info(2, 0x7fe700010268) = 0 +43938253615453:43938253616097 26077:26082 hsa_system_get_info(2, 0x7fe700010270) = 0 +43938253616871:43938253617511 26077:26082 hsa_system_get_info(2, 0x7fe700010278) = 0 +43938253618297:43938253618944 26077:26082 hsa_system_get_info(2, 0x7fe700010280) = 0 +43938253619731:43938253620373 26077:26082 hsa_system_get_info(2, 0x7fe700010288) = 0 +43938253621144:43938253621786 26077:26082 hsa_system_get_info(2, 0x7fe700010290) = 0 +43938253622567:43938253623210 26077:26082 hsa_system_get_info(2, 0x7fe700010298) = 0 +43938253623983:43938253624628 26077:26082 hsa_system_get_info(2, 0x7fe7000102a0) = 0 +43938253625412:43938253626056 26077:26082 hsa_system_get_info(2, 0x7fe7000102a8) = 0 +43938253626831:43938253627474 26077:26082 hsa_system_get_info(2, 0x7fe7000102b0) = 0 +43938253628256:43938253628902 26077:26082 hsa_system_get_info(2, 0x7fe7000102b8) = 0 +43938253629674:43938253630321 26077:26082 hsa_system_get_info(2, 0x7fe7000102c0) = 0 +43938253631114:43938253631759 26077:26082 hsa_system_get_info(2, 0x7fe7000102c8) = 0 +43938253632540:43938253633182 26077:26082 hsa_system_get_info(2, 0x7fe7000102d0) = 0 +43938253633955:43938253634597 26077:26082 hsa_system_get_info(2, 0x7fe7000102d8) = 0 +43938253635389:43938253636034 26077:26082 hsa_system_get_info(2, 0x7fe7000102e0) = 0 +43938253636815:43938253637457 26077:26082 hsa_system_get_info(2, 0x7fe7000102e8) = 0 +43938253638234:43938253638877 26077:26082 hsa_system_get_info(2, 0x7fe7000102f0) = 0 +43938253639663:43938253640307 26077:26082 hsa_system_get_info(2, 0x7fe7000102f8) = 0 +43938253641084:43938253641739 26077:26082 hsa_system_get_info(2, 0x7fe700010300) = 0 +43938253642514:43938253643156 26077:26082 hsa_system_get_info(2, 0x7fe700010308) = 0 +43938253645625:43938253646290 26077:26082 hsa_system_get_info(2, 0x7fe700010310) = 0 +43938253647071:43938253647713 26077:26082 hsa_system_get_info(2, 0x7fe700010318) = 0 +43938253648486:43938253649128 26077:26082 hsa_system_get_info(2, 0x7fe700010320) = 0 +43938253649912:43938253650555 26077:26082 hsa_system_get_info(2, 0x7fe700010328) = 0 +43938253651326:43938253651971 26077:26082 hsa_system_get_info(2, 0x7fe700010330) = 0 +43938253652755:43938253653402 26077:26082 hsa_system_get_info(2, 0x7fe700010338) = 0 +43938253654189:43938253654842 26077:26082 hsa_system_get_info(2, 0x7fe700010340) = 0 +43938253655614:43938253656271 26077:26082 hsa_system_get_info(2, 0x7fe700010348) = 0 +43938253657044:43938253657694 26077:26082 hsa_system_get_info(2, 0x7fe700010350) = 0 +43938253658475:43938253659122 26077:26082 hsa_system_get_info(2, 0x7fe700010358) = 0 +43938253659909:43938253660559 26077:26082 hsa_system_get_info(2, 0x7fe700010360) = 0 +43938253661334:43938253661991 26077:26082 hsa_system_get_info(2, 0x7fe700010368) = 0 +43938253662780:43938253663436 26077:26082 hsa_system_get_info(2, 0x7fe700010370) = 0 +43938253664209:43938253664854 26077:26082 hsa_system_get_info(2, 0x7fe700010378) = 0 +43938253665633:43938253666276 26077:26082 hsa_system_get_info(2, 0x7fe700010380) = 0 +43938253667049:43938253667686 26077:26082 hsa_system_get_info(2, 0x7fe700010388) = 0 +43938253668455:43938253669095 26077:26082 hsa_system_get_info(2, 0x7fe700010390) = 0 +43938253669875:43938253670520 26077:26082 hsa_system_get_info(2, 0x7fe700010398) = 0 +43938253671294:43938253671938 26077:26082 hsa_system_get_info(2, 0x7fe7000103a0) = 0 +43938253672720:43938253673366 26077:26082 hsa_system_get_info(2, 0x7fe7000103a8) = 0 +43938253674143:43938253674788 26077:26082 hsa_system_get_info(2, 0x7fe7000103b0) = 0 +43938253675568:43938253676214 26077:26082 hsa_system_get_info(2, 0x7fe7000103b8) = 0 +43938253676998:43938253677640 26077:26082 hsa_system_get_info(2, 0x7fe7000103c0) = 0 +43938253678413:43938253679062 26077:26082 hsa_system_get_info(2, 0x7fe7000103c8) = 0 +43938253679845:43938253680485 26077:26082 hsa_system_get_info(2, 0x7fe7000103d0) = 0 +43938253681258:43938253681928 26077:26082 hsa_system_get_info(2, 0x7fe7000103d8) = 0 +43938253682703:43938253683343 26077:26082 hsa_system_get_info(2, 0x7fe7000103e0) = 0 +43938253684125:43938253684771 26077:26082 hsa_system_get_info(2, 0x7fe7000103e8) = 0 +43938253686298:43938253686944 26077:26082 hsa_system_get_info(2, 0x7fe7000103f0) = 0 +43938253687715:43938253688355 26077:26082 hsa_system_get_info(2, 0x7fe7000103f8) = 0 +43938253689131:43938253689782 26077:26082 hsa_system_get_info(2, 0x7fe700010400) = 0 +43938253690556:43938253691210 26077:26082 hsa_system_get_info(2, 0x7fe700010408) = 0 +43938253691986:43938253692633 26077:26082 hsa_system_get_info(2, 0x7fe700010410) = 0 +43938253693418:43938253694059 26077:26082 hsa_system_get_info(2, 0x7fe700010418) = 0 +43938253694834:43938253695472 26077:26082 hsa_system_get_info(2, 0x7fe700010420) = 0 +43938253696268:43938253696915 26077:26082 hsa_system_get_info(2, 0x7fe700010428) = 0 +43938253697695:43938253698337 26077:26082 hsa_system_get_info(2, 0x7fe700010430) = 0 +43938253699115:43938253699755 26077:26082 hsa_system_get_info(2, 0x7fe700010438) = 0 +43938253700536:43938253701178 26077:26082 hsa_system_get_info(2, 0x7fe700010440) = 0 +43938253701958:43938253702597 26077:26082 hsa_system_get_info(2, 0x7fe700010448) = 0 +43938253703385:43938253704030 26077:26082 hsa_system_get_info(2, 0x7fe700010450) = 0 +43938253704815:43938253705459 26077:26082 hsa_system_get_info(2, 0x7fe700010458) = 0 +43938253706232:43938253706881 26077:26082 hsa_system_get_info(2, 0x7fe700010460) = 0 +43938253707668:43938253708311 26077:26082 hsa_system_get_info(2, 0x7fe700010468) = 0 +43938253709087:43938253709736 26077:26082 hsa_system_get_info(2, 0x7fe700010470) = 0 +43938253710513:43938253711156 26077:26082 hsa_system_get_info(2, 0x7fe700010478) = 0 +43938253711928:43938253712569 26077:26082 hsa_system_get_info(2, 0x7fe700010480) = 0 +43938253713352:43938253713996 26077:26082 hsa_system_get_info(2, 0x7fe700010488) = 0 +43938253714782:43938253715443 26077:26082 hsa_system_get_info(2, 0x7fe700010490) = 0 +43938253716223:43938253716871 26077:26082 hsa_system_get_info(2, 0x7fe700010498) = 0 +43938253717644:43938253718290 26077:26082 hsa_system_get_info(2, 0x7fe7000104a0) = 0 +43938253719075:43938253719721 26077:26082 hsa_system_get_info(2, 0x7fe7000104a8) = 0 +43938253720506:43938253721156 26077:26082 hsa_system_get_info(2, 0x7fe7000104b0) = 0 +43938253721934:43938253722590 26077:26082 hsa_system_get_info(2, 0x7fe7000104b8) = 0 +43938253723363:43938253724009 26077:26082 hsa_system_get_info(2, 0x7fe7000104c0) = 0 +43938253724794:43938253725440 26077:26082 hsa_system_get_info(2, 0x7fe7000104c8) = 0 +43938253726227:43938253726876 26077:26082 hsa_system_get_info(2, 0x7fe7000104d0) = 0 +43938253728389:43938253729043 26077:26082 hsa_system_get_info(2, 0x7fe7000104d8) = 0 +43938253729815:43938253730456 26077:26082 hsa_system_get_info(2, 0x7fe7000104e0) = 0 +43938253731240:43938253731877 26077:26082 hsa_system_get_info(2, 0x7fe7000104e8) = 0 +43938253732649:43938253733291 26077:26082 hsa_system_get_info(2, 0x7fe7000104f0) = 0 +43938253734074:43938253734718 26077:26082 hsa_system_get_info(2, 0x7fe7000104f8) = 0 +43938253735489:43938253736127 26077:26082 hsa_system_get_info(2, 0x7fe700010500) = 0 +43938253736915:43938253737560 26077:26082 hsa_system_get_info(2, 0x7fe700010508) = 0 +43938253738343:43938253738997 26077:26082 hsa_system_get_info(2, 0x7fe700010510) = 0 +43938253739769:43938253740415 26077:26082 hsa_system_get_info(2, 0x7fe700010518) = 0 +43938253741198:43938253741844 26077:26082 hsa_system_get_info(2, 0x7fe700010520) = 0 +43938253742624:43938253743267 26077:26082 hsa_system_get_info(2, 0x7fe700010528) = 0 +43938253744063:43938253744706 26077:26082 hsa_system_get_info(2, 0x7fe700010530) = 0 +43938253745491:43938253746136 26077:26082 hsa_system_get_info(2, 0x7fe700010538) = 0 +43938253746922:43938253747560 26077:26082 hsa_system_get_info(2, 0x7fe700010540) = 0 +43938253748331:43938253748976 26077:26082 hsa_system_get_info(2, 0x7fe700010548) = 0 +43938253749764:43938253750406 26077:26082 hsa_system_get_info(2, 0x7fe700010550) = 0 +43938253751180:43938253751823 26077:26082 hsa_system_get_info(2, 0x7fe700010558) = 0 +43938253752606:43938253753246 26077:26082 hsa_system_get_info(2, 0x7fe700010560) = 0 +43938253754019:43938253754664 26077:26082 hsa_system_get_info(2, 0x7fe700010568) = 0 +43938253755450:43938253756091 26077:26082 hsa_system_get_info(2, 0x7fe700010570) = 0 +43938253756867:43938253757532 26077:26082 hsa_system_get_info(2, 0x7fe700010578) = 0 +43938253758308:43938253758952 26077:26082 hsa_system_get_info(2, 0x7fe700010580) = 0 +43938253759738:43938253760380 26077:26082 hsa_system_get_info(2, 0x7fe700010588) = 0 +43938253761158:43938253761813 26077:26082 hsa_system_get_info(2, 0x7fe700010590) = 0 +43938253762586:43938253763234 26077:26082 hsa_system_get_info(2, 0x7fe700010598) = 0 +43938253764033:43938253764678 26077:26082 hsa_system_get_info(2, 0x7fe7000105a0) = 0 +43938253765461:43938253766106 26077:26082 hsa_system_get_info(2, 0x7fe7000105a8) = 0 +43938253766893:43938253767538 26077:26082 hsa_system_get_info(2, 0x7fe7000105b0) = 0 +43938253769038:43938253769697 26077:26082 hsa_system_get_info(2, 0x7fe7000105b8) = 0 +43938253770471:43938253771113 26077:26082 hsa_system_get_info(2, 0x7fe7000105c0) = 0 +43938253771894:43938253772542 26077:26082 hsa_system_get_info(2, 0x7fe7000105c8) = 0 +43938253773324:43938253773976 26077:26082 hsa_system_get_info(2, 0x7fe7000105d0) = 0 +43938253774755:43938253775403 26077:26082 hsa_system_get_info(2, 0x7fe7000105d8) = 0 +43938253776183:43938253776827 26077:26082 hsa_system_get_info(2, 0x7fe7000105e0) = 0 +43938253777600:43938253778242 26077:26082 hsa_system_get_info(2, 0x7fe7000105e8) = 0 +43938253779024:43938253779663 26077:26082 hsa_system_get_info(2, 0x7fe7000105f0) = 0 +43938253780438:43938253781085 26077:26082 hsa_system_get_info(2, 0x7fe7000105f8) = 0 +43938253781867:43938253782510 26077:26082 hsa_system_get_info(2, 0x7fe700010600) = 0 +43938253783284:43938253783923 26077:26082 hsa_system_get_info(2, 0x7fe700010608) = 0 +43938253784708:43938253785351 26077:26082 hsa_system_get_info(2, 0x7fe700010610) = 0 +43938253786151:43938253786792 26077:26082 hsa_system_get_info(2, 0x7fe700010618) = 0 +43938253787565:43938253788207 26077:26082 hsa_system_get_info(2, 0x7fe700010620) = 0 +43938253788989:43938253789633 26077:26082 hsa_system_get_info(2, 0x7fe700010628) = 0 +43938253790407:43938253791051 26077:26082 hsa_system_get_info(2, 0x7fe700010630) = 0 +43938253791832:43938253792474 26077:26082 hsa_system_get_info(2, 0x7fe700010638) = 0 +43938253793247:43938253793892 26077:26082 hsa_system_get_info(2, 0x7fe700010640) = 0 +43938253794670:43938253795314 26077:26082 hsa_system_get_info(2, 0x7fe700010648) = 0 +43938253796089:43938253796731 26077:26082 hsa_system_get_info(2, 0x7fe700010650) = 0 +43938253797510:43938253798151 26077:26082 hsa_system_get_info(2, 0x7fe700010658) = 0 +43938253798924:43938253799566 26077:26082 hsa_system_get_info(2, 0x7fe700010660) = 0 +43938253800339:43938253800977 26077:26082 hsa_system_get_info(2, 0x7fe700010668) = 0 +43938253801754:43938253802398 26077:26082 hsa_system_get_info(2, 0x7fe700010670) = 0 +43938253803173:43938253803821 26077:26082 hsa_system_get_info(2, 0x7fe700010678) = 0 +43938253804600:43938253805253 26077:26082 hsa_system_get_info(2, 0x7fe700010680) = 0 +43938253806032:43938253806675 26077:26082 hsa_system_get_info(2, 0x7fe700010688) = 0 +43938253807448:43938253808092 26077:26082 hsa_system_get_info(2, 0x7fe700010690) = 0 +43938253809660:43938253810304 26077:26082 hsa_system_get_info(2, 0x7fe700010698) = 0 +43938253811086:43938253811728 26077:26082 hsa_system_get_info(2, 0x7fe7000106a0) = 0 +43938253812501:43938253813140 26077:26082 hsa_system_get_info(2, 0x7fe7000106a8) = 0 +43938253813922:43938253814570 26077:26082 hsa_system_get_info(2, 0x7fe7000106b0) = 0 +43938253815344:43938253816001 26077:26082 hsa_system_get_info(2, 0x7fe7000106b8) = 0 +43938253816776:43938253817422 26077:26082 hsa_system_get_info(2, 0x7fe7000106c0) = 0 +43938253818203:43938253818843 26077:26082 hsa_system_get_info(2, 0x7fe7000106c8) = 0 +43938253819616:43938253820259 26077:26082 hsa_system_get_info(2, 0x7fe7000106d0) = 0 +43938253821045:43938253821694 26077:26082 hsa_system_get_info(2, 0x7fe7000106d8) = 0 +43938253822467:43938253823127 26077:26082 hsa_system_get_info(2, 0x7fe7000106e0) = 0 +43938253823905:43938253824554 26077:26082 hsa_system_get_info(2, 0x7fe7000106e8) = 0 +43938253825353:43938253826004 26077:26082 hsa_system_get_info(2, 0x7fe7000106f0) = 0 +43938253826780:43938253827426 26077:26082 hsa_system_get_info(2, 0x7fe7000106f8) = 0 +43938253828209:43938253828855 26077:26082 hsa_system_get_info(2, 0x7fe700010700) = 0 +43938253829631:43938253830273 26077:26082 hsa_system_get_info(2, 0x7fe700010708) = 0 +43938253831055:43938253831695 26077:26082 hsa_system_get_info(2, 0x7fe700010710) = 0 +43938253832473:43938253833117 26077:26082 hsa_system_get_info(2, 0x7fe700010718) = 0 +43938253833898:43938253834538 26077:26082 hsa_system_get_info(2, 0x7fe700010720) = 0 +43938253835315:43938253835956 26077:26082 hsa_system_get_info(2, 0x7fe700010728) = 0 +43938253836734:43938253837376 26077:26082 hsa_system_get_info(2, 0x7fe700010730) = 0 +43938253838154:43938253838797 26077:26082 hsa_system_get_info(2, 0x7fe700010738) = 0 +43938253839580:43938253840224 26077:26082 hsa_system_get_info(2, 0x7fe700010740) = 0 +43938253841004:43938253841661 26077:26082 hsa_system_get_info(2, 0x7fe700010748) = 0 +43938253842434:43938253843075 26077:26082 hsa_system_get_info(2, 0x7fe700010750) = 0 +43938253843858:43938253844501 26077:26082 hsa_system_get_info(2, 0x7fe700010758) = 0 +43938253845276:43938253845941 26077:26082 hsa_system_get_info(2, 0x7fe700010760) = 0 +43938253846717:43938253847357 26077:26082 hsa_system_get_info(2, 0x7fe700010768) = 0 +43938253848138:43938253848781 26077:26082 hsa_system_get_info(2, 0x7fe700010770) = 0 +43938253849558:43938253850205 26077:26082 hsa_system_get_info(2, 0x7fe700010778) = 0 +43938253851861:43938253852519 26077:26082 hsa_system_get_info(2, 0x7fe700010780) = 0 +43938253853303:43938253853945 26077:26082 hsa_system_get_info(2, 0x7fe700010788) = 0 +43938253854718:43938253855361 26077:26082 hsa_system_get_info(2, 0x7fe700010790) = 0 +43938253856145:43938253856792 26077:26082 hsa_system_get_info(2, 0x7fe700010798) = 0 +43938253857565:43938253858213 26077:26082 hsa_system_get_info(2, 0x7fe7000107a0) = 0 +43938253858992:43938253859636 26077:26082 hsa_system_get_info(2, 0x7fe7000107a8) = 0 +43938253860412:43938253861063 26077:26082 hsa_system_get_info(2, 0x7fe7000107b0) = 0 +43938253861838:43938253862478 26077:26082 hsa_system_get_info(2, 0x7fe7000107b8) = 0 +43938253863276:43938253863919 26077:26082 hsa_system_get_info(2, 0x7fe7000107c0) = 0 +43938253864695:43938253865352 26077:26082 hsa_system_get_info(2, 0x7fe7000107c8) = 0 +43938253866126:43938253866773 26077:26082 hsa_system_get_info(2, 0x7fe7000107d0) = 0 +43938253867554:43938253868204 26077:26082 hsa_system_get_info(2, 0x7fe7000107d8) = 0 +43938253868980:43938253869637 26077:26082 hsa_system_get_info(2, 0x7fe7000107e0) = 0 +43938253870432:43938253871075 26077:26082 hsa_system_get_info(2, 0x7fe7000107e8) = 0 +43938253871845:43938253872492 26077:26082 hsa_system_get_info(2, 0x7fe7000107f0) = 0 +43938253873275:43938253873919 26077:26082 hsa_system_get_info(2, 0x7fe7000107f8) = 0 +43938253874695:43938253875341 26077:26082 hsa_system_get_info(2, 0x7fe700010800) = 0 +43938253876123:43938253876772 26077:26082 hsa_system_get_info(2, 0x7fe700010808) = 0 +43938253877545:43938253878185 26077:26082 hsa_system_get_info(2, 0x7fe700010810) = 0 +43938253878968:43938253879616 26077:26082 hsa_system_get_info(2, 0x7fe700010818) = 0 +43938253880398:43938253881043 26077:26082 hsa_system_get_info(2, 0x7fe700010820) = 0 +43938253881815:43938253882459 26077:26082 hsa_system_get_info(2, 0x7fe700010828) = 0 +43938253883239:43938253883888 26077:26082 hsa_system_get_info(2, 0x7fe700010830) = 0 +43938253884659:43938253885307 26077:26082 hsa_system_get_info(2, 0x7fe700010838) = 0 +43938253886089:43938253886734 26077:26082 hsa_system_get_info(2, 0x7fe700010840) = 0 +43938253887509:43938253888150 26077:26082 hsa_system_get_info(2, 0x7fe700010848) = 0 +43938253888933:43938253889591 26077:26082 hsa_system_get_info(2, 0x7fe700010850) = 0 +43938253890374:43938253891019 26077:26082 hsa_system_get_info(2, 0x7fe700010858) = 0 +43938253892538:43938253893191 26077:26082 hsa_system_get_info(2, 0x7fe700010860) = 0 +43938253893971:43938253894614 26077:26082 hsa_system_get_info(2, 0x7fe700010868) = 0 +43938253895388:43938253896031 26077:26082 hsa_system_get_info(2, 0x7fe700010870) = 0 +43938253896811:43938253897453 26077:26082 hsa_system_get_info(2, 0x7fe700010878) = 0 +43938253898228:43938253898871 26077:26082 hsa_system_get_info(2, 0x7fe700010880) = 0 +43938253899653:43938253900299 26077:26082 hsa_system_get_info(2, 0x7fe700010888) = 0 +43938253901072:43938253901717 26077:26082 hsa_system_get_info(2, 0x7fe700010890) = 0 +43938253902501:43938253903147 26077:26082 hsa_system_get_info(2, 0x7fe700010898) = 0 +43938253903939:43938253904581 26077:26082 hsa_system_get_info(2, 0x7fe7000108a0) = 0 +43938253905357:43938253906013 26077:26082 hsa_system_get_info(2, 0x7fe7000108a8) = 0 +43938253906786:43938253907431 26077:26082 hsa_system_get_info(2, 0x7fe7000108b0) = 0 +43938253908216:43938253908857 26077:26082 hsa_system_get_info(2, 0x7fe7000108b8) = 0 +43938253909635:43938253910274 26077:26082 hsa_system_get_info(2, 0x7fe7000108c0) = 0 +43938253911054:43938253911697 26077:26082 hsa_system_get_info(2, 0x7fe7000108c8) = 0 +43938253912470:43938253913111 26077:26082 hsa_system_get_info(2, 0x7fe7000108d0) = 0 +43938253913885:43938253914536 26077:26082 hsa_system_get_info(2, 0x7fe7000108d8) = 0 +43938253915308:43938253915954 26077:26082 hsa_system_get_info(2, 0x7fe7000108e0) = 0 +43938253916725:43938253917378 26077:26082 hsa_system_get_info(2, 0x7fe7000108e8) = 0 +43938253918156:43938253918801 26077:26082 hsa_system_get_info(2, 0x7fe7000108f0) = 0 +43938253919580:43938253920218 26077:26082 hsa_system_get_info(2, 0x7fe7000108f8) = 0 +43938253920988:43938253921630 26077:26082 hsa_system_get_info(2, 0x7fe700010900) = 0 +43938253922403:43938253923068 26077:26082 hsa_system_get_info(2, 0x7fe700010908) = 0 +43938253923844:43938253924500 26077:26082 hsa_system_get_info(2, 0x7fe700010910) = 0 +43938253925274:43938253925922 26077:26082 hsa_system_get_info(2, 0x7fe700010918) = 0 +43938253926702:43938253927348 26077:26082 hsa_system_get_info(2, 0x7fe700010920) = 0 +43938253928160:43938253928810 26077:26082 hsa_system_get_info(2, 0x7fe700010928) = 0 +43938253929607:43938253930248 26077:26082 hsa_system_get_info(2, 0x7fe700010930) = 0 +43938253931028:43938253931673 26077:26082 hsa_system_get_info(2, 0x7fe700010938) = 0 +43938253932444:43938253933088 26077:26082 hsa_system_get_info(2, 0x7fe700010940) = 0 +43938253934596:43938253935239 26077:26082 hsa_system_get_info(2, 0x7fe700010948) = 0 +43938253936015:43938253936668 26077:26082 hsa_system_get_info(2, 0x7fe700010950) = 0 +43938253937440:43938253938087 26077:26082 hsa_system_get_info(2, 0x7fe700010958) = 0 +43938253938880:43938253939528 26077:26082 hsa_system_get_info(2, 0x7fe700010960) = 0 +43938253940311:43938253940959 26077:26082 hsa_system_get_info(2, 0x7fe700010968) = 0 +43938253941736:43938253942392 26077:26082 hsa_system_get_info(2, 0x7fe700010970) = 0 +43938253943167:43938253943813 26077:26082 hsa_system_get_info(2, 0x7fe700010978) = 0 +43938253944581:43938253945233 26077:26082 hsa_system_get_info(2, 0x7fe700010980) = 0 +43938253946007:43938253946644 26077:26082 hsa_system_get_info(2, 0x7fe700010988) = 0 +43938253947421:43938253948073 26077:26082 hsa_system_get_info(2, 0x7fe700010990) = 0 +43938253948849:43938253949489 26077:26082 hsa_system_get_info(2, 0x7fe700010998) = 0 +43938253950265:43938253950924 26077:26082 hsa_system_get_info(2, 0x7fe7000109a0) = 0 +43938253951698:43938253952341 26077:26082 hsa_system_get_info(2, 0x7fe7000109a8) = 0 +43938253953127:43938253953784 26077:26082 hsa_system_get_info(2, 0x7fe7000109b0) = 0 +43938253954570:43938253955216 26077:26082 hsa_system_get_info(2, 0x7fe7000109b8) = 0 +43938253955999:43938253956643 26077:26082 hsa_system_get_info(2, 0x7fe7000109c0) = 0 +43938253957414:43938253958060 26077:26082 hsa_system_get_info(2, 0x7fe7000109c8) = 0 +43938253958840:43938253959485 26077:26082 hsa_system_get_info(2, 0x7fe7000109d0) = 0 +43938253960259:43938253960927 26077:26082 hsa_system_get_info(2, 0x7fe7000109d8) = 0 +43938253961701:43938253962339 26077:26082 hsa_system_get_info(2, 0x7fe7000109e0) = 0 +43938253963111:43938253963764 26077:26082 hsa_system_get_info(2, 0x7fe7000109e8) = 0 +43938253964539:43938253965182 26077:26082 hsa_system_get_info(2, 0x7fe7000109f0) = 0 +43938253965954:43938253966606 26077:26082 hsa_system_get_info(2, 0x7fe7000109f8) = 0 +43938253967381:43938253968026 26077:26082 hsa_system_get_info(2, 0x7fe700010a00) = 0 +43938253968814:43938253969456 26077:26082 hsa_system_get_info(2, 0x7fe700010a08) = 0 +43938253970231:43938253970872 26077:26082 hsa_system_get_info(2, 0x7fe700010a10) = 0 +43938253971653:43938253972299 26077:26082 hsa_system_get_info(2, 0x7fe700010a18) = 0 +43938253973075:43938253973716 26077:26082 hsa_system_get_info(2, 0x7fe700010a20) = 0 +43938253975227:43938253975874 26077:26082 hsa_system_get_info(2, 0x7fe700010a28) = 0 +43938253976658:43938253977299 26077:26082 hsa_system_get_info(2, 0x7fe700010a30) = 0 +43938253978071:43938253978712 26077:26082 hsa_system_get_info(2, 0x7fe700010a38) = 0 +43938253979481:43938253980132 26077:26082 hsa_system_get_info(2, 0x7fe700010a40) = 0 +43938253980902:43938253981545 26077:26082 hsa_system_get_info(2, 0x7fe700010a48) = 0 +43938253982322:43938253982975 26077:26082 hsa_system_get_info(2, 0x7fe700010a50) = 0 +43938253983751:43938253984393 26077:26082 hsa_system_get_info(2, 0x7fe700010a58) = 0 +43938253985166:43938253985804 26077:26082 hsa_system_get_info(2, 0x7fe700010a60) = 0 +43938253986601:43938253987247 26077:26082 hsa_system_get_info(2, 0x7fe700010a68) = 0 +43938253988030:43938253988670 26077:26082 hsa_system_get_info(2, 0x7fe700010a70) = 0 +43938253989446:43938253990098 26077:26082 hsa_system_get_info(2, 0x7fe700010a78) = 0 +43938253990880:43938253991519 26077:26082 hsa_system_get_info(2, 0x7fe700010a80) = 0 +43938253992304:43938253992949 26077:26082 hsa_system_get_info(2, 0x7fe700010a88) = 0 +43938253993726:43938253994372 26077:26082 hsa_system_get_info(2, 0x7fe700010a90) = 0 +43938253995150:43938253995794 26077:26082 hsa_system_get_info(2, 0x7fe700010a98) = 0 +43938253996569:43938253997213 26077:26082 hsa_system_get_info(2, 0x7fe700010aa0) = 0 +43938253997995:43938253998640 26077:26082 hsa_system_get_info(2, 0x7fe700010aa8) = 0 +43938253999423:43938254000071 26077:26082 hsa_system_get_info(2, 0x7fe700010ab0) = 0 +43938254000848:43938254001492 26077:26082 hsa_system_get_info(2, 0x7fe700010ab8) = 0 +43938254002272:43938254002915 26077:26082 hsa_system_get_info(2, 0x7fe700010ac0) = 0 +43938254003690:43938254004330 26077:26082 hsa_system_get_info(2, 0x7fe700010ac8) = 0 +43938254005112:43938254005767 26077:26082 hsa_system_get_info(2, 0x7fe700010ad0) = 0 +43938254006547:43938254007191 26077:26082 hsa_system_get_info(2, 0x7fe700010ad8) = 0 +43938254007965:43938254008610 26077:26082 hsa_system_get_info(2, 0x7fe700010ae0) = 0 +43938254009391:43938254010039 26077:26082 hsa_system_get_info(2, 0x7fe700010ae8) = 0 +43938254010814:43938254011470 26077:26082 hsa_system_get_info(2, 0x7fe700010af0) = 0 +43938254012244:43938254012888 26077:26082 hsa_system_get_info(2, 0x7fe700010af8) = 0 +43938254013659:43938254014317 26077:26082 hsa_system_get_info(2, 0x7fe700010b00) = 0 +43938254015088:43938254015734 26077:26082 hsa_system_get_info(2, 0x7fe700010b08) = 0 +43938254017246:43938254017891 26077:26082 hsa_system_get_info(2, 0x7fe700010b10) = 0 +43938254018674:43938254019314 26077:26082 hsa_system_get_info(2, 0x7fe700010b18) = 0 +43938254020091:43938254020734 26077:26082 hsa_system_get_info(2, 0x7fe700010b20) = 0 +43938254021506:43938254022160 26077:26082 hsa_system_get_info(2, 0x7fe700010b28) = 0 +43938254022937:43938254023582 26077:26082 hsa_system_get_info(2, 0x7fe700010b30) = 0 +43938254024366:43938254025011 26077:26082 hsa_system_get_info(2, 0x7fe700010b38) = 0 +43938254025808:43938254026451 26077:26082 hsa_system_get_info(2, 0x7fe700010b40) = 0 +43938254027225:43938254027868 26077:26082 hsa_system_get_info(2, 0x7fe700010b48) = 0 +43938254028650:43938254029293 26077:26082 hsa_system_get_info(2, 0x7fe700010b50) = 0 +43938254030068:43938254030712 26077:26082 hsa_system_get_info(2, 0x7fe700010b58) = 0 +43938254031499:43938254032140 26077:26082 hsa_system_get_info(2, 0x7fe700010b60) = 0 +43938254032922:43938254033567 26077:26082 hsa_system_get_info(2, 0x7fe700010b68) = 0 +43938254034341:43938254034983 26077:26082 hsa_system_get_info(2, 0x7fe700010b70) = 0 +43938254035765:43938254036408 26077:26082 hsa_system_get_info(2, 0x7fe700010b78) = 0 +43938254037181:43938254037824 26077:26082 hsa_system_get_info(2, 0x7fe700010b80) = 0 +43938254038607:43938254039251 26077:26082 hsa_system_get_info(2, 0x7fe700010b88) = 0 +43938254040025:43938254040672 26077:26082 hsa_system_get_info(2, 0x7fe700010b90) = 0 +43938254041456:43938254042109 26077:26082 hsa_system_get_info(2, 0x7fe700010b98) = 0 +43938254042890:43938254043535 26077:26082 hsa_system_get_info(2, 0x7fe700010ba0) = 0 +43938254044315:43938254044969 26077:26082 hsa_system_get_info(2, 0x7fe700010ba8) = 0 +43938254045755:43938254046395 26077:26082 hsa_system_get_info(2, 0x7fe700010bb0) = 0 +43938254047173:43938254047820 26077:26082 hsa_system_get_info(2, 0x7fe700010bb8) = 0 +43938254048596:43938254049242 26077:26082 hsa_system_get_info(2, 0x7fe700010bc0) = 0 +43938254050025:43938254050667 26077:26082 hsa_system_get_info(2, 0x7fe700010bc8) = 0 +43938254051441:43938254052081 26077:26082 hsa_system_get_info(2, 0x7fe700010bd0) = 0 +43938254052864:43938254053512 26077:26082 hsa_system_get_info(2, 0x7fe700010bd8) = 0 +43938254054294:43938254054943 26077:26082 hsa_system_get_info(2, 0x7fe700010be0) = 0 +43938254055719:43938254056363 26077:26082 hsa_system_get_info(2, 0x7fe700010be8) = 0 +43938254058482:43938254059137 26077:26082 hsa_system_get_info(2, 0x7fe700010bf0) = 0 +43938254059913:43938254060562 26077:26082 hsa_system_get_info(2, 0x7fe700010bf8) = 0 +43938254061343:43938254061987 26077:26082 hsa_system_get_info(2, 0x7fe700010c00) = 0 +43938254062760:43938254063404 26077:26082 hsa_system_get_info(2, 0x7fe700010c08) = 0 +43938254064184:43938254064822 26077:26082 hsa_system_get_info(2, 0x7fe700010c10) = 0 +43938254065595:43938254066244 26077:26082 hsa_system_get_info(2, 0x7fe700010c18) = 0 +43938254067026:43938254067674 26077:26082 hsa_system_get_info(2, 0x7fe700010c20) = 0 +43938254068450:43938254069104 26077:26082 hsa_system_get_info(2, 0x7fe700010c28) = 0 +43938254069879:43938254070527 26077:26082 hsa_system_get_info(2, 0x7fe700010c30) = 0 +43938254071308:43938254071955 26077:26082 hsa_system_get_info(2, 0x7fe700010c38) = 0 +43938254072745:43938254073391 26077:26082 hsa_system_get_info(2, 0x7fe700010c40) = 0 +43938254074168:43938254074807 26077:26082 hsa_system_get_info(2, 0x7fe700010c48) = 0 +43938254075591:43938254076234 26077:26082 hsa_system_get_info(2, 0x7fe700010c50) = 0 +43938254077007:43938254077655 26077:26082 hsa_system_get_info(2, 0x7fe700010c58) = 0 +43938254078435:43938254079079 26077:26082 hsa_system_get_info(2, 0x7fe700010c60) = 0 +43938254079852:43938254080499 26077:26082 hsa_system_get_info(2, 0x7fe700010c68) = 0 +43938254081280:43938254081921 26077:26082 hsa_system_get_info(2, 0x7fe700010c70) = 0 +43938254082693:43938254083336 26077:26082 hsa_system_get_info(2, 0x7fe700010c78) = 0 +43938254084115:43938254084760 26077:26082 hsa_system_get_info(2, 0x7fe700010c80) = 0 +43938254085535:43938254086176 26077:26082 hsa_system_get_info(2, 0x7fe700010c88) = 0 +43938254086957:43938254087604 26077:26082 hsa_system_get_info(2, 0x7fe700010c90) = 0 +43938254088380:43938254089022 26077:26082 hsa_system_get_info(2, 0x7fe700010c98) = 0 +43938254089802:43938254090446 26077:26082 hsa_system_get_info(2, 0x7fe700010ca0) = 0 +43938254091223:43938254091878 26077:26082 hsa_system_get_info(2, 0x7fe700010ca8) = 0 +43938254092653:43938254093320 26077:26082 hsa_system_get_info(2, 0x7fe700010cb0) = 0 +43938254094095:43938254094736 26077:26082 hsa_system_get_info(2, 0x7fe700010cb8) = 0 +43938254095518:43938254096150 26077:26082 hsa_system_get_info(2, 0x7fe700010cc0) = 0 +43938254096931:43938254097572 26077:26082 hsa_system_get_info(2, 0x7fe700010cc8) = 0 +43938254098360:43938254099005 26077:26082 hsa_system_get_info(2, 0x7fe700010cd0) = 0 +43938254100569:43938254101214 26077:26082 hsa_system_get_info(2, 0x7fe700010cd8) = 0 +43938254101993:43938254102634 26077:26082 hsa_system_get_info(2, 0x7fe700010ce0) = 0 +43938254103419:43938254104069 26077:26082 hsa_system_get_info(2, 0x7fe700010ce8) = 0 +43938254104850:43938254105501 26077:26082 hsa_system_get_info(2, 0x7fe700010cf0) = 0 +43938254106284:43938254106929 26077:26082 hsa_system_get_info(2, 0x7fe700010cf8) = 0 +43938254107703:43938254108347 26077:26082 hsa_system_get_info(2, 0x7fe700010d00) = 0 +43938254109131:43938254109771 26077:26082 hsa_system_get_info(2, 0x7fe700010d08) = 0 +43938254110556:43938254111211 26077:26082 hsa_system_get_info(2, 0x7fe700010d10) = 0 +43938254111985:43938254112629 26077:26082 hsa_system_get_info(2, 0x7fe700010d18) = 0 +43938254113400:43938254114055 26077:26082 hsa_system_get_info(2, 0x7fe700010d20) = 0 +43938254114836:43938254115492 26077:26082 hsa_system_get_info(2, 0x7fe700010d28) = 0 +43938254116298:43938254116947 26077:26082 hsa_system_get_info(2, 0x7fe700010d30) = 0 +43938254117737:43938254118380 26077:26082 hsa_system_get_info(2, 0x7fe700010d38) = 0 +43938254119160:43938254119804 26077:26082 hsa_system_get_info(2, 0x7fe700010d40) = 0 +43938254120586:43938254121230 26077:26082 hsa_system_get_info(2, 0x7fe700010d48) = 0 +43938254122001:43938254122643 26077:26082 hsa_system_get_info(2, 0x7fe700010d50) = 0 +43938254123428:43938254124071 26077:26082 hsa_system_get_info(2, 0x7fe700010d58) = 0 +43938254124847:43938254125487 26077:26082 hsa_system_get_info(2, 0x7fe700010d60) = 0 +43938254126273:43938254126915 26077:26082 hsa_system_get_info(2, 0x7fe700010d68) = 0 +43938254127698:43938254128346 26077:26082 hsa_system_get_info(2, 0x7fe700010d70) = 0 +43938254129122:43938254129762 26077:26082 hsa_system_get_info(2, 0x7fe700010d78) = 0 +43938254130554:43938254131225 26077:26082 hsa_system_get_info(2, 0x7fe700010d80) = 0 +43938254132000:43938254132643 26077:26082 hsa_system_get_info(2, 0x7fe700010d88) = 0 +43938254133427:43938254134071 26077:26082 hsa_system_get_info(2, 0x7fe700010d90) = 0 +43938254134847:43938254135503 26077:26082 hsa_system_get_info(2, 0x7fe700010d98) = 0 +43938254136280:43938254136926 26077:26082 hsa_system_get_info(2, 0x7fe700010da0) = 0 +43938254137712:43938254138358 26077:26082 hsa_system_get_info(2, 0x7fe700010da8) = 0 +43938254139135:43938254139786 26077:26082 hsa_system_get_info(2, 0x7fe700010db0) = 0 +43938254141362:43938254142007 26077:26082 hsa_system_get_info(2, 0x7fe700010db8) = 0 +43938254142786:43938254143444 26077:26082 hsa_system_get_info(2, 0x7fe700010dc0) = 0 +43938254144226:43938254144870 26077:26082 hsa_system_get_info(2, 0x7fe700010dc8) = 0 +43938254145639:43938254146281 26077:26082 hsa_system_get_info(2, 0x7fe700010dd0) = 0 +43938254147056:43938254147698 26077:26082 hsa_system_get_info(2, 0x7fe700010dd8) = 0 +43938254148481:43938254149126 26077:26082 hsa_system_get_info(2, 0x7fe700010de0) = 0 +43938254149910:43938254150556 26077:26082 hsa_system_get_info(2, 0x7fe700010de8) = 0 +43938254151329:43938254151971 26077:26082 hsa_system_get_info(2, 0x7fe700010df0) = 0 +43938254152753:43938254153394 26077:26082 hsa_system_get_info(2, 0x7fe700010df8) = 0 +43938254154169:43938254154814 26077:26082 hsa_system_get_info(2, 0x7fe700010e00) = 0 +43938254155597:43938254156241 26077:26082 hsa_system_get_info(2, 0x7fe700010e08) = 0 +43938254157022:43938254157666 26077:26082 hsa_system_get_info(2, 0x7fe700010e10) = 0 +43938254158449:43938254159101 26077:26082 hsa_system_get_info(2, 0x7fe700010e18) = 0 +43938254159881:43938254160521 26077:26082 hsa_system_get_info(2, 0x7fe700010e20) = 0 +43938254161297:43938254161944 26077:26082 hsa_system_get_info(2, 0x7fe700010e28) = 0 +43938254162730:43938254163378 26077:26082 hsa_system_get_info(2, 0x7fe700010e30) = 0 +43938254164165:43938254164807 26077:26082 hsa_system_get_info(2, 0x7fe700010e38) = 0 +43938254165584:43938254166241 26077:26082 hsa_system_get_info(2, 0x7fe700010e40) = 0 +43938254167018:43938254167662 26077:26082 hsa_system_get_info(2, 0x7fe700010e48) = 0 +43938254168447:43938254169090 26077:26082 hsa_system_get_info(2, 0x7fe700010e50) = 0 +43938254169869:43938254170521 26077:26082 hsa_system_get_info(2, 0x7fe700010e58) = 0 +43938254171298:43938254171941 26077:26082 hsa_system_get_info(2, 0x7fe700010e60) = 0 +43938254172727:43938254173371 26077:26082 hsa_system_get_info(2, 0x7fe700010e68) = 0 +43938254174144:43938254174789 26077:26082 hsa_system_get_info(2, 0x7fe700010e70) = 0 +43938254175572:43938254176220 26077:26082 hsa_system_get_info(2, 0x7fe700010e78) = 0 +43938254177005:43938254177650 26077:26082 hsa_system_get_info(2, 0x7fe700010e80) = 0 +43938254178425:43938254179069 26077:26082 hsa_system_get_info(2, 0x7fe700010e88) = 0 +43938254179867:43938254180512 26077:26082 hsa_system_get_info(2, 0x7fe700010e90) = 0 +43938254182030:43938254182677 26077:26082 hsa_system_get_info(2, 0x7fe700010e98) = 0 +43938254183459:43938254184100 26077:26082 hsa_system_get_info(2, 0x7fe700010ea0) = 0 +43938254184874:43938254185512 26077:26082 hsa_system_get_info(2, 0x7fe700010ea8) = 0 +43938254186297:43938254186940 26077:26082 hsa_system_get_info(2, 0x7fe700010eb0) = 0 +43938254187714:43938254188355 26077:26082 hsa_system_get_info(2, 0x7fe700010eb8) = 0 +43938254189140:43938254189782 26077:26082 hsa_system_get_info(2, 0x7fe700010ec0) = 0 +43938254190556:43938254191203 26077:26082 hsa_system_get_info(2, 0x7fe700010ec8) = 0 +43938254191989:43938254192635 26077:26082 hsa_system_get_info(2, 0x7fe700010ed0) = 0 +43938254193416:43938254194060 26077:26082 hsa_system_get_info(2, 0x7fe700010ed8) = 0 +43938254194837:43938254195478 26077:26082 hsa_system_get_info(2, 0x7fe700010ee0) = 0 +43938254196261:43938254196910 26077:26082 hsa_system_get_info(2, 0x7fe700010ee8) = 0 +43938254197699:43938254198343 26077:26082 hsa_system_get_info(2, 0x7fe700010ef0) = 0 +43938254199139:43938254199781 26077:26082 hsa_system_get_info(2, 0x7fe700010ef8) = 0 +43938254200570:43938254201221 26077:26082 hsa_system_get_info(2, 0x7fe700010f00) = 0 +43938254201996:43938254202641 26077:26082 hsa_system_get_info(2, 0x7fe700010f08) = 0 +43938254203425:43938254204068 26077:26082 hsa_system_get_info(2, 0x7fe700010f10) = 0 +43938254204840:43938254205484 26077:26082 hsa_system_get_info(2, 0x7fe700010f18) = 0 +43938254206267:43938254206912 26077:26082 hsa_system_get_info(2, 0x7fe700010f20) = 0 +43938254207688:43938254208330 26077:26082 hsa_system_get_info(2, 0x7fe700010f28) = 0 +43938254209108:43938254209750 26077:26082 hsa_system_get_info(2, 0x7fe700010f30) = 0 +43938254210526:43938254211165 26077:26082 hsa_system_get_info(2, 0x7fe700010f38) = 0 +43938254211947:43938254212589 26077:26082 hsa_system_get_info(2, 0x7fe700010f40) = 0 +43938254213363:43938254214001 26077:26082 hsa_system_get_info(2, 0x7fe700010f48) = 0 +43938254214775:43938254215417 26077:26082 hsa_system_get_info(2, 0x7fe700010f50) = 0 +43938254216202:43938254216845 26077:26082 hsa_system_get_info(2, 0x7fe700010f58) = 0 +43938254231117:43938254231800 26077:26082 hsa_system_get_info(2, 0x7fe70000f020) = 0 +43938254232617:43938254233256 26077:26082 hsa_system_get_info(2, 0x7fe70000f028) = 0 +43938254234029:43938254234678 26077:26082 hsa_system_get_info(2, 0x7fe70000f030) = 0 +43938254235454:43938254236101 26077:26082 hsa_system_get_info(2, 0x7fe70000f038) = 0 +43938254237698:43938254238344 26077:26082 hsa_system_get_info(2, 0x7fe70000f040) = 0 +43938254239124:43938254239764 26077:26082 hsa_system_get_info(2, 0x7fe70000f048) = 0 +43938254240535:43938254241180 26077:26082 hsa_system_get_info(2, 0x7fe70000f050) = 0 +43938254241953:43938254242608 26077:26082 hsa_system_get_info(2, 0x7fe70000f058) = 0 +43938254243386:43938254244028 26077:26082 hsa_system_get_info(2, 0x7fe70000f060) = 0 +43938254244813:43938254245459 26077:26082 hsa_system_get_info(2, 0x7fe70000f068) = 0 +43938254246235:43938254246894 26077:26082 hsa_system_get_info(2, 0x7fe70000f070) = 0 +43938254247671:43938254248328 26077:26082 hsa_system_get_info(2, 0x7fe70000f078) = 0 +43938254249104:43938254249753 26077:26082 hsa_system_get_info(2, 0x7fe70000f080) = 0 +43938254250536:43938254251177 26077:26082 hsa_system_get_info(2, 0x7fe70000f088) = 0 +43938254251951:43938254252593 26077:26082 hsa_system_get_info(2, 0x7fe70000f090) = 0 +43938254253375:43938254254017 26077:26082 hsa_system_get_info(2, 0x7fe70000f098) = 0 +43938254254795:43938254255432 26077:26082 hsa_system_get_info(2, 0x7fe70000f0a0) = 0 +43938254256212:43938254256860 26077:26082 hsa_system_get_info(2, 0x7fe70000f0a8) = 0 +43938254257657:43938254258301 26077:26082 hsa_system_get_info(2, 0x7fe70000f0b0) = 0 +43938254259074:43938254259718 26077:26082 hsa_system_get_info(2, 0x7fe70000f0b8) = 0 +43938254260501:43938254261148 26077:26082 hsa_system_get_info(2, 0x7fe70000f0c0) = 0 +43938254261920:43938254262564 26077:26082 hsa_system_get_info(2, 0x7fe70000f0c8) = 0 +43938254263345:43938254263988 26077:26082 hsa_system_get_info(2, 0x7fe70000f0d0) = 0 +43938254264760:43938254265406 26077:26082 hsa_system_get_info(2, 0x7fe70000f0d8) = 0 +43938254266185:43938254266824 26077:26082 hsa_system_get_info(2, 0x7fe70000f0e0) = 0 +43938254267596:43938254268236 26077:26082 hsa_system_get_info(2, 0x7fe70000f0e8) = 0 +43938254269020:43938254269662 26077:26082 hsa_system_get_info(2, 0x7fe70000f0f0) = 0 +43938254270435:43938254271078 26077:26082 hsa_system_get_info(2, 0x7fe70000f0f8) = 0 +43938254271863:43938254272504 26077:26082 hsa_system_get_info(2, 0x7fe70000f100) = 0 +43938254273279:43938254273920 26077:26082 hsa_system_get_info(2, 0x7fe70000f108) = 0 +43938254274704:43938254275353 26077:26082 hsa_system_get_info(2, 0x7fe70000f110) = 0 +43938254276129:43938254276784 26077:26082 hsa_system_get_info(2, 0x7fe70000f118) = 0 +43938254278369:43938254279010 26077:26082 hsa_system_get_info(2, 0x7fe70000f120) = 0 +43938254279791:43938254280434 26077:26082 hsa_system_get_info(2, 0x7fe70000f128) = 0 +43938254281206:43938254281846 26077:26082 hsa_system_get_info(2, 0x7fe70000f130) = 0 +43938254282628:43938254283271 26077:26082 hsa_system_get_info(2, 0x7fe70000f138) = 0 +43938254284042:43938254284688 26077:26082 hsa_system_get_info(2, 0x7fe70000f140) = 0 +43938254285472:43938254286116 26077:26082 hsa_system_get_info(2, 0x7fe70000f148) = 0 +43938254286889:43938254287537 26077:26082 hsa_system_get_info(2, 0x7fe70000f150) = 0 +43938254288321:43938254288965 26077:26082 hsa_system_get_info(2, 0x7fe70000f158) = 0 +43938254289741:43938254290399 26077:26082 hsa_system_get_info(2, 0x7fe70000f160) = 0 +43938254291174:43938254291819 26077:26082 hsa_system_get_info(2, 0x7fe70000f168) = 0 +43938254292602:43938254293244 26077:26082 hsa_system_get_info(2, 0x7fe70000f170) = 0 +43938254294036:43938254294679 26077:26082 hsa_system_get_info(2, 0x7fe70000f178) = 0 +43938254295456:43938254296100 26077:26082 hsa_system_get_info(2, 0x7fe70000f180) = 0 +43938254296879:43938254297526 26077:26082 hsa_system_get_info(2, 0x7fe70000f188) = 0 +43938254298321:43938254298968 26077:26082 hsa_system_get_info(2, 0x7fe70000f190) = 0 +43938254299744:43938254300398 26077:26082 hsa_system_get_info(2, 0x7fe70000f198) = 0 +43938254301172:43938254301814 26077:26082 hsa_system_get_info(2, 0x7fe70000f1a0) = 0 +43938254302586:43938254303229 26077:26082 hsa_system_get_info(2, 0x7fe70000f1a8) = 0 +43938254304012:43938254304658 26077:26082 hsa_system_get_info(2, 0x7fe70000f1b0) = 0 +43938254305429:43938254306068 26077:26082 hsa_system_get_info(2, 0x7fe70000f1b8) = 0 +43938254306853:43938254307498 26077:26082 hsa_system_get_info(2, 0x7fe70000f1c0) = 0 +43938254308281:43938254308930 26077:26082 hsa_system_get_info(2, 0x7fe70000f1c8) = 0 +43938254309705:43938254310348 26077:26082 hsa_system_get_info(2, 0x7fe70000f1d0) = 0 +43938254311142:43938254311789 26077:26082 hsa_system_get_info(2, 0x7fe70000f1d8) = 0 +43938254312574:43938254313211 26077:26082 hsa_system_get_info(2, 0x7fe70000f1e0) = 0 +43938254313987:43938254314631 26077:26082 hsa_system_get_info(2, 0x7fe70000f1e8) = 0 +43938254315412:43938254316053 26077:26082 hsa_system_get_info(2, 0x7fe70000f1f0) = 0 +43938254316821:43938254317461 26077:26082 hsa_system_get_info(2, 0x7fe70000f1f8) = 0 +43938254318235:43938254318877 26077:26082 hsa_system_get_info(2, 0x7fe70000f200) = 0 +43938254320384:43938254321031 26077:26082 hsa_system_get_info(2, 0x7fe70000f208) = 0 +43938254321812:43938254322454 26077:26082 hsa_system_get_info(2, 0x7fe70000f210) = 0 +43938254323228:43938254323871 26077:26082 hsa_system_get_info(2, 0x7fe70000f218) = 0 +43938254324655:43938254325296 26077:26082 hsa_system_get_info(2, 0x7fe70000f220) = 0 +43938254326071:43938254326719 26077:26082 hsa_system_get_info(2, 0x7fe70000f228) = 0 +43938254327504:43938254328158 26077:26082 hsa_system_get_info(2, 0x7fe70000f230) = 0 +43938254328944:43938254329592 26077:26082 hsa_system_get_info(2, 0x7fe70000f238) = 0 +43938254330374:43938254331024 26077:26082 hsa_system_get_info(2, 0x7fe70000f240) = 0 +43938254331804:43938254332455 26077:26082 hsa_system_get_info(2, 0x7fe70000f248) = 0 +43938254333228:43938254333874 26077:26082 hsa_system_get_info(2, 0x7fe70000f250) = 0 +43938254334661:43938254335303 26077:26082 hsa_system_get_info(2, 0x7fe70000f258) = 0 +43938254336079:43938254336724 26077:26082 hsa_system_get_info(2, 0x7fe70000f260) = 0 +43938254337511:43938254338151 26077:26082 hsa_system_get_info(2, 0x7fe70000f268) = 0 +43938254338953:43938254339598 26077:26082 hsa_system_get_info(2, 0x7fe70000f270) = 0 +43938254340379:43938254341021 26077:26082 hsa_system_get_info(2, 0x7fe70000f278) = 0 +43938254341800:43938254342444 26077:26082 hsa_system_get_info(2, 0x7fe70000f280) = 0 +43938254343231:43938254343873 26077:26082 hsa_system_get_info(2, 0x7fe70000f288) = 0 +43938254344646:43938254345293 26077:26082 hsa_system_get_info(2, 0x7fe70000f290) = 0 +43938254346080:43938254346723 26077:26082 hsa_system_get_info(2, 0x7fe70000f298) = 0 +43938254347509:43938254348148 26077:26082 hsa_system_get_info(2, 0x7fe70000f2a0) = 0 +43938254348923:43938254349570 26077:26082 hsa_system_get_info(2, 0x7fe70000f2a8) = 0 +43938254350354:43938254350997 26077:26082 hsa_system_get_info(2, 0x7fe70000f2b0) = 0 +43938254351770:43938254352415 26077:26082 hsa_system_get_info(2, 0x7fe70000f2b8) = 0 +43938254353200:43938254353844 26077:26082 hsa_system_get_info(2, 0x7fe70000f2c0) = 0 +43938254354614:43938254355254 26077:26082 hsa_system_get_info(2, 0x7fe70000f2c8) = 0 +43938254356035:43938254356674 26077:26082 hsa_system_get_info(2, 0x7fe70000f2d0) = 0 +43938254357446:43938254358086 26077:26082 hsa_system_get_info(2, 0x7fe70000f2d8) = 0 +43938254358885:43938254359526 26077:26082 hsa_system_get_info(2, 0x7fe70000f2e0) = 0 +43938254361032:43938254361677 26077:26082 hsa_system_get_info(2, 0x7fe70000f2e8) = 0 +43938254362453:43938254363099 26077:26082 hsa_system_get_info(2, 0x7fe70000f2f0) = 0 +43938254363882:43938254364526 26077:26082 hsa_system_get_info(2, 0x7fe70000f2f8) = 0 +43938254365298:43938254365954 26077:26082 hsa_system_get_info(2, 0x7fe70000f300) = 0 +43938254366725:43938254367365 26077:26082 hsa_system_get_info(2, 0x7fe70000f308) = 0 +43938254368142:43938254368786 26077:26082 hsa_system_get_info(2, 0x7fe70000f310) = 0 +43938254369568:43938254370214 26077:26082 hsa_system_get_info(2, 0x7fe70000f318) = 0 +43938254370987:43938254371638 26077:26082 hsa_system_get_info(2, 0x7fe70000f320) = 0 +43938254372411:43938254373051 26077:26082 hsa_system_get_info(2, 0x7fe70000f328) = 0 +43938254373826:43938254374480 26077:26082 hsa_system_get_info(2, 0x7fe70000f330) = 0 +43938254375256:43938254375896 26077:26082 hsa_system_get_info(2, 0x7fe70000f338) = 0 +43938254376681:43938254377329 26077:26082 hsa_system_get_info(2, 0x7fe70000f340) = 0 +43938254378108:43938254378750 26077:26082 hsa_system_get_info(2, 0x7fe70000f348) = 0 +43938254379567:43938254380207 26077:26082 hsa_system_get_info(2, 0x7fe70000f350) = 0 +43938254380979:43938254381617 26077:26082 hsa_system_get_info(2, 0x7fe70000f358) = 0 +43938254382390:43938254383027 26077:26082 hsa_system_get_info(2, 0x7fe70000f360) = 0 +43938254383806:43938254384448 26077:26082 hsa_system_get_info(2, 0x7fe70000f368) = 0 +43938254385221:43938254385866 26077:26082 hsa_system_get_info(2, 0x7fe70000f370) = 0 +43938254386650:43938254387296 26077:26082 hsa_system_get_info(2, 0x7fe70000f378) = 0 +43938254388072:43938254388716 26077:26082 hsa_system_get_info(2, 0x7fe70000f380) = 0 +43938254389498:43938254390145 26077:26082 hsa_system_get_info(2, 0x7fe70000f388) = 0 +43938254390919:43938254391568 26077:26082 hsa_system_get_info(2, 0x7fe70000f390) = 0 +43938254392343:43938254392986 26077:26082 hsa_system_get_info(2, 0x7fe70000f398) = 0 +43938254393761:43938254394410 26077:26082 hsa_system_get_info(2, 0x7fe70000f3a0) = 0 +43938254395186:43938254395830 26077:26082 hsa_system_get_info(2, 0x7fe70000f3a8) = 0 +43938254396603:43938254397240 26077:26082 hsa_system_get_info(2, 0x7fe70000f3b0) = 0 +43938254398020:43938254398662 26077:26082 hsa_system_get_info(2, 0x7fe70000f3b8) = 0 +43938254399457:43938254400099 26077:26082 hsa_system_get_info(2, 0x7fe70000f3c0) = 0 +43938254400875:43938254401515 26077:26082 hsa_system_get_info(2, 0x7fe70000f3c8) = 0 +43938254403026:43938254403670 26077:26082 hsa_system_get_info(2, 0x7fe70000f3d0) = 0 +43938254404456:43938254405099 26077:26082 hsa_system_get_info(2, 0x7fe70000f3d8) = 0 +43938254405876:43938254406519 26077:26082 hsa_system_get_info(2, 0x7fe70000f3e0) = 0 +43938254407302:43938254407944 26077:26082 hsa_system_get_info(2, 0x7fe70000f3e8) = 0 +43938254408721:43938254409364 26077:26082 hsa_system_get_info(2, 0x7fe70000f3f0) = 0 +43938254410148:43938254410792 26077:26082 hsa_system_get_info(2, 0x7fe70000f3f8) = 0 +43938254411571:43938254412224 26077:26082 hsa_system_get_info(2, 0x7fe70000f400) = 0 +43938254412998:43938254413643 26077:26082 hsa_system_get_info(2, 0x7fe70000f408) = 0 +43938254414426:43938254415077 26077:26082 hsa_system_get_info(2, 0x7fe70000f410) = 0 +43938254415851:43938254416503 26077:26082 hsa_system_get_info(2, 0x7fe70000f418) = 0 +43938254417281:43938254417930 26077:26082 hsa_system_get_info(2, 0x7fe70000f420) = 0 +43938254418712:43938254419356 26077:26082 hsa_system_get_info(2, 0x7fe70000f428) = 0 +43938254420131:43938254420771 26077:26082 hsa_system_get_info(2, 0x7fe70000f430) = 0 +43938254421561:43938254422206 26077:26082 hsa_system_get_info(2, 0x7fe70000f438) = 0 +43938254422989:43938254423638 26077:26082 hsa_system_get_info(2, 0x7fe70000f440) = 0 +43938254424416:43938254425057 26077:26082 hsa_system_get_info(2, 0x7fe70000f448) = 0 +43938254425840:43938254426483 26077:26082 hsa_system_get_info(2, 0x7fe70000f450) = 0 +43938254427261:43938254427899 26077:26082 hsa_system_get_info(2, 0x7fe70000f458) = 0 +43938254428679:43938254429325 26077:26082 hsa_system_get_info(2, 0x7fe70000f460) = 0 +43938254430098:43938254430742 26077:26082 hsa_system_get_info(2, 0x7fe70000f468) = 0 +43938254431520:43938254432166 26077:26082 hsa_system_get_info(2, 0x7fe70000f470) = 0 +43938254432935:43938254433582 26077:26082 hsa_system_get_info(2, 0x7fe70000f478) = 0 +43938254434356:43938254435000 26077:26082 hsa_system_get_info(2, 0x7fe70000f480) = 0 +43938254435775:43938254436416 26077:26082 hsa_system_get_info(2, 0x7fe70000f488) = 0 +43938254437197:43938254437842 26077:26082 hsa_system_get_info(2, 0x7fe70000f490) = 0 +43938254438615:43938254439277 26077:26082 hsa_system_get_info(2, 0x7fe70000f498) = 0 +43938254440065:43938254440703 26077:26082 hsa_system_get_info(2, 0x7fe70000f4a0) = 0 +43938254441483:43938254442125 26077:26082 hsa_system_get_info(2, 0x7fe70000f4a8) = 0 +43938254443651:43938254444295 26077:26082 hsa_system_get_info(2, 0x7fe70000f4b0) = 0 +43938254445071:43938254445723 26077:26082 hsa_system_get_info(2, 0x7fe70000f4b8) = 0 +43938254446499:43938254447139 26077:26082 hsa_system_get_info(2, 0x7fe70000f4c0) = 0 +43938254447912:43938254448561 26077:26082 hsa_system_get_info(2, 0x7fe70000f4c8) = 0 +43938254449338:43938254449979 26077:26082 hsa_system_get_info(2, 0x7fe70000f4d0) = 0 +43938254450750:43938254451404 26077:26082 hsa_system_get_info(2, 0x7fe70000f4d8) = 0 +43938254452177:43938254452817 26077:26082 hsa_system_get_info(2, 0x7fe70000f4e0) = 0 +43938254453589:43938254454234 26077:26082 hsa_system_get_info(2, 0x7fe70000f4e8) = 0 +43938254455014:43938254455652 26077:26082 hsa_system_get_info(2, 0x7fe70000f4f0) = 0 +43938254456424:43938254457068 26077:26082 hsa_system_get_info(2, 0x7fe70000f4f8) = 0 +43938254457850:43938254458492 26077:26082 hsa_system_get_info(2, 0x7fe70000f500) = 0 +43938254459269:43938254459910 26077:26082 hsa_system_get_info(2, 0x7fe70000f508) = 0 +43938254460696:43938254461338 26077:26082 hsa_system_get_info(2, 0x7fe70000f510) = 0 +43938254462112:43938254462757 26077:26082 hsa_system_get_info(2, 0x7fe70000f518) = 0 +43938254463536:43938254464190 26077:26082 hsa_system_get_info(2, 0x7fe70000f520) = 0 +43938254464971:43938254465613 26077:26082 hsa_system_get_info(2, 0x7fe70000f528) = 0 +43938254466386:43938254467027 26077:26082 hsa_system_get_info(2, 0x7fe70000f530) = 0 +43938254467800:43938254468454 26077:26082 hsa_system_get_info(2, 0x7fe70000f538) = 0 +43938254469227:43938254469873 26077:26082 hsa_system_get_info(2, 0x7fe70000f540) = 0 +43938254470655:43938254471295 26077:26082 hsa_system_get_info(2, 0x7fe70000f548) = 0 +43938254472067:43938254472713 26077:26082 hsa_system_get_info(2, 0x7fe70000f550) = 0 +43938254473485:43938254474127 26077:26082 hsa_system_get_info(2, 0x7fe70000f558) = 0 +43938254474908:43938254475552 26077:26082 hsa_system_get_info(2, 0x7fe70000f560) = 0 +43938254476324:43938254476968 26077:26082 hsa_system_get_info(2, 0x7fe70000f568) = 0 +43938254477751:43938254478390 26077:26082 hsa_system_get_info(2, 0x7fe70000f570) = 0 +43938254479164:43938254479807 26077:26082 hsa_system_get_info(2, 0x7fe70000f578) = 0 +43938254480587:43938254481235 26077:26082 hsa_system_get_info(2, 0x7fe70000f580) = 0 +43938254482005:43938254482649 26077:26082 hsa_system_get_info(2, 0x7fe70000f588) = 0 +43938254483432:43938254484091 26077:26082 hsa_system_get_info(2, 0x7fe70000f590) = 0 +43938254485669:43938254486314 26077:26082 hsa_system_get_info(2, 0x7fe70000f598) = 0 +43938254487089:43938254487729 26077:26082 hsa_system_get_info(2, 0x7fe70000f5a0) = 0 +43938254488512:43938254489151 26077:26082 hsa_system_get_info(2, 0x7fe70000f5a8) = 0 +43938254489922:43938254490564 26077:26082 hsa_system_get_info(2, 0x7fe70000f5b0) = 0 +43938254491336:43938254491978 26077:26082 hsa_system_get_info(2, 0x7fe70000f5b8) = 0 +43938254492757:43938254493398 26077:26082 hsa_system_get_info(2, 0x7fe70000f5c0) = 0 +43938254494173:43938254494814 26077:26082 hsa_system_get_info(2, 0x7fe70000f5c8) = 0 +43938254495598:43938254496240 26077:26082 hsa_system_get_info(2, 0x7fe70000f5d0) = 0 +43938254497016:43938254497660 26077:26082 hsa_system_get_info(2, 0x7fe70000f5d8) = 0 +43938254498441:43938254499086 26077:26082 hsa_system_get_info(2, 0x7fe70000f5e0) = 0 +43938254499876:43938254500520 26077:26082 hsa_system_get_info(2, 0x7fe70000f5e8) = 0 +43938254501321:43938254501960 26077:26082 hsa_system_get_info(2, 0x7fe70000f5f0) = 0 +43938254502737:43938254503381 26077:26082 hsa_system_get_info(2, 0x7fe70000f5f8) = 0 +43938254504174:43938254504819 26077:26082 hsa_system_get_info(2, 0x7fe70000f600) = 0 +43938254505616:43938254506261 26077:26082 hsa_system_get_info(2, 0x7fe70000f608) = 0 +43938254507041:43938254507690 26077:26082 hsa_system_get_info(2, 0x7fe70000f610) = 0 +43938254508463:43938254509103 26077:26082 hsa_system_get_info(2, 0x7fe70000f618) = 0 +43938254509887:43938254510532 26077:26082 hsa_system_get_info(2, 0x7fe70000f620) = 0 +43938254511306:43938254511948 26077:26082 hsa_system_get_info(2, 0x7fe70000f628) = 0 +43938254512730:43938254513376 26077:26082 hsa_system_get_info(2, 0x7fe70000f630) = 0 +43938254514150:43938254514802 26077:26082 hsa_system_get_info(2, 0x7fe70000f638) = 0 +43938254515574:43938254516220 26077:26082 hsa_system_get_info(2, 0x7fe70000f640) = 0 +43938254517002:43938254517644 26077:26082 hsa_system_get_info(2, 0x7fe70000f648) = 0 +43938254518420:43938254519066 26077:26082 hsa_system_get_info(2, 0x7fe70000f650) = 0 +43938254519846:43938254520484 26077:26082 hsa_system_get_info(2, 0x7fe70000f658) = 0 +43938254521256:43938254521898 26077:26082 hsa_system_get_info(2, 0x7fe70000f660) = 0 +43938254522670:43938254523309 26077:26082 hsa_system_get_info(2, 0x7fe70000f668) = 0 +43938254524090:43938254524744 26077:26082 hsa_system_get_info(2, 0x7fe70000f670) = 0 +43938254526254:43938254526899 26077:26082 hsa_system_get_info(2, 0x7fe70000f678) = 0 +43938254527674:43938254528318 26077:26082 hsa_system_get_info(2, 0x7fe70000f680) = 0 +43938254529099:43938254529744 26077:26082 hsa_system_get_info(2, 0x7fe70000f688) = 0 +43938254530528:43938254531175 26077:26082 hsa_system_get_info(2, 0x7fe70000f690) = 0 +43938254531950:43938254532595 26077:26082 hsa_system_get_info(2, 0x7fe70000f698) = 0 +43938254533376:43938254534024 26077:26082 hsa_system_get_info(2, 0x7fe70000f6a0) = 0 +43938254534796:43938254535454 26077:26082 hsa_system_get_info(2, 0x7fe70000f6a8) = 0 +43938254536225:43938254536871 26077:26082 hsa_system_get_info(2, 0x7fe70000f6b0) = 0 +43938254537652:43938254538296 26077:26082 hsa_system_get_info(2, 0x7fe70000f6b8) = 0 +43938254539075:43938254539713 26077:26082 hsa_system_get_info(2, 0x7fe70000f6c0) = 0 +43938254540496:43938254541142 26077:26082 hsa_system_get_info(2, 0x7fe70000f6c8) = 0 +43938254541922:43938254542566 26077:26082 hsa_system_get_info(2, 0x7fe70000f6d0) = 0 +43938254543348:43938254543993 26077:26082 hsa_system_get_info(2, 0x7fe70000f6d8) = 0 +43938254544788:43938254545433 26077:26082 hsa_system_get_info(2, 0x7fe70000f6e0) = 0 +43938254546209:43938254546858 26077:26082 hsa_system_get_info(2, 0x7fe70000f6e8) = 0 +43938254547634:43938254548276 26077:26082 hsa_system_get_info(2, 0x7fe70000f6f0) = 0 +43938254549061:43938254549705 26077:26082 hsa_system_get_info(2, 0x7fe70000f6f8) = 0 +43938254550483:43938254551141 26077:26082 hsa_system_get_info(2, 0x7fe70000f700) = 0 +43938254551927:43938254552572 26077:26082 hsa_system_get_info(2, 0x7fe70000f708) = 0 +43938254553356:43938254553999 26077:26082 hsa_system_get_info(2, 0x7fe70000f710) = 0 +43938254554773:43938254555426 26077:26082 hsa_system_get_info(2, 0x7fe70000f718) = 0 +43938254556200:43938254556847 26077:26082 hsa_system_get_info(2, 0x7fe70000f720) = 0 +43938254557633:43938254558281 26077:26082 hsa_system_get_info(2, 0x7fe70000f728) = 0 +43938254559065:43938254559710 26077:26082 hsa_system_get_info(2, 0x7fe70000f730) = 0 +43938254560488:43938254561133 26077:26082 hsa_system_get_info(2, 0x7fe70000f738) = 0 +43938254561918:43938254562566 26077:26082 hsa_system_get_info(2, 0x7fe70000f740) = 0 +43938254563337:43938254563990 26077:26082 hsa_system_get_info(2, 0x7fe70000f748) = 0 +43938254564765:43938254565404 26077:26082 hsa_system_get_info(2, 0x7fe70000f750) = 0 +43938254566917:43938254567564 26077:26082 hsa_system_get_info(2, 0x7fe70000f758) = 0 +43938254568340:43938254568994 26077:26082 hsa_system_get_info(2, 0x7fe70000f760) = 0 +43938254569766:43938254570411 26077:26082 hsa_system_get_info(2, 0x7fe70000f768) = 0 +43938254571197:43938254571842 26077:26082 hsa_system_get_info(2, 0x7fe70000f770) = 0 +43938254572618:43938254573264 26077:26082 hsa_system_get_info(2, 0x7fe70000f778) = 0 +43938254574049:43938254574695 26077:26082 hsa_system_get_info(2, 0x7fe70000f780) = 0 +43938254575478:43938254576119 26077:26082 hsa_system_get_info(2, 0x7fe70000f788) = 0 +43938254576888:43938254577530 26077:26082 hsa_system_get_info(2, 0x7fe70000f790) = 0 +43938254578302:43938254578956 26077:26082 hsa_system_get_info(2, 0x7fe70000f798) = 0 +43938254579729:43938254580375 26077:26082 hsa_system_get_info(2, 0x7fe70000f7a0) = 0 +43938254581158:43938254581789 26077:26082 hsa_system_get_info(2, 0x7fe70000f7a8) = 0 +43938254582576:43938254583215 26077:26082 hsa_system_get_info(2, 0x7fe70000f7b0) = 0 +43938254583991:43938254584625 26077:26082 hsa_system_get_info(2, 0x7fe70000f7b8) = 0 +43938254585415:43938254586064 26077:26082 hsa_system_get_info(2, 0x7fe70000f7c0) = 0 +43938254586847:43938254587497 26077:26082 hsa_system_get_info(2, 0x7fe70000f7c8) = 0 +43938254588273:43938254588922 26077:26082 hsa_system_get_info(2, 0x7fe70000f7d0) = 0 +43938254589697:43938254590348 26077:26082 hsa_system_get_info(2, 0x7fe70000f7d8) = 0 +43938254591130:43938254591774 26077:26082 hsa_system_get_info(2, 0x7fe70000f7e0) = 0 +43938254592546:43938254593183 26077:26082 hsa_system_get_info(2, 0x7fe70000f7e8) = 0 +43938254593969:43938254594613 26077:26082 hsa_system_get_info(2, 0x7fe70000f7f0) = 0 +43938254595389:43938254596030 26077:26082 hsa_system_get_info(2, 0x7fe70000f7f8) = 0 +43938254596808:43938254597451 26077:26082 hsa_system_get_info(2, 0x7fe70000f800) = 0 +43938254598226:43938254598867 26077:26082 hsa_system_get_info(2, 0x7fe70000f808) = 0 +43938254599635:43938254600279 26077:26082 hsa_system_get_info(2, 0x7fe70000f810) = 0 +43938254601055:43938254601701 26077:26082 hsa_system_get_info(2, 0x7fe70000f818) = 0 +43938254602492:43938254603136 26077:26082 hsa_system_get_info(2, 0x7fe70000f820) = 0 +43938254603909:43938254604552 26077:26082 hsa_system_get_info(2, 0x7fe70000f828) = 0 +43938254605334:43938254605984 26077:26082 hsa_system_get_info(2, 0x7fe70000f830) = 0 +43938254606760:43938254607400 26077:26082 hsa_system_get_info(2, 0x7fe70000f838) = 0 +43938254608937:43938254609585 26077:26082 hsa_system_get_info(2, 0x7fe70000f840) = 0 +43938254610357:43938254610996 26077:26082 hsa_system_get_info(2, 0x7fe70000f848) = 0 +43938254611775:43938254612415 26077:26082 hsa_system_get_info(2, 0x7fe70000f850) = 0 +43938254613186:43938254613831 26077:26082 hsa_system_get_info(2, 0x7fe70000f858) = 0 +43938254614608:43938254615260 26077:26082 hsa_system_get_info(2, 0x7fe70000f860) = 0 +43938254616048:43938254616687 26077:26082 hsa_system_get_info(2, 0x7fe70000f868) = 0 +43938254617467:43938254618110 26077:26082 hsa_system_get_info(2, 0x7fe70000f870) = 0 +43938254618884:43938254619525 26077:26082 hsa_system_get_info(2, 0x7fe70000f878) = 0 +43938254620309:43938254620954 26077:26082 hsa_system_get_info(2, 0x7fe70000f880) = 0 +43938254621727:43938254622371 26077:26082 hsa_system_get_info(2, 0x7fe70000f888) = 0 +43938254623152:43938254623798 26077:26082 hsa_system_get_info(2, 0x7fe70000f890) = 0 +43938254624571:43938254625223 26077:26082 hsa_system_get_info(2, 0x7fe70000f898) = 0 +43938254625998:43938254626645 26077:26082 hsa_system_get_info(2, 0x7fe70000f8a0) = 0 +43938254627416:43938254628056 26077:26082 hsa_system_get_info(2, 0x7fe70000f8a8) = 0 +43938254628836:43938254629479 26077:26082 hsa_system_get_info(2, 0x7fe70000f8b0) = 0 +43938254630248:43938254630891 26077:26082 hsa_system_get_info(2, 0x7fe70000f8b8) = 0 +43938254631672:43938254632316 26077:26082 hsa_system_get_info(2, 0x7fe70000f8c0) = 0 +43938254633090:43938254633728 26077:26082 hsa_system_get_info(2, 0x7fe70000f8c8) = 0 +43938254634500:43938254635167 26077:26082 hsa_system_get_info(2, 0x7fe70000f8d0) = 0 +43938254635939:43938254636579 26077:26082 hsa_system_get_info(2, 0x7fe70000f8d8) = 0 +43938254637360:43938254638007 26077:26082 hsa_system_get_info(2, 0x7fe70000f8e0) = 0 +43938254638782:43938254639432 26077:26082 hsa_system_get_info(2, 0x7fe70000f8e8) = 0 +43938254640209:43938254640857 26077:26082 hsa_system_get_info(2, 0x7fe70000f8f0) = 0 +43938254641635:43938254642277 26077:26082 hsa_system_get_info(2, 0x7fe70000f8f8) = 0 +43938254643051:43938254643699 26077:26082 hsa_system_get_info(2, 0x7fe70000f900) = 0 +43938254644480:43938254645122 26077:26082 hsa_system_get_info(2, 0x7fe70000f908) = 0 +43938254645895:43938254646536 26077:26082 hsa_system_get_info(2, 0x7fe70000f910) = 0 +43938254647316:43938254647956 26077:26082 hsa_system_get_info(2, 0x7fe70000f918) = 0 +43938254650079:43938254650726 26077:26082 hsa_system_get_info(2, 0x7fe70000f920) = 0 +43938254651505:43938254652149 26077:26082 hsa_system_get_info(2, 0x7fe70000f928) = 0 +43938254652933:43938254653572 26077:26082 hsa_system_get_info(2, 0x7fe70000f930) = 0 +43938254654344:43938254654989 26077:26082 hsa_system_get_info(2, 0x7fe70000f938) = 0 +43938254655774:43938254656416 26077:26082 hsa_system_get_info(2, 0x7fe70000f940) = 0 +43938254657191:43938254657846 26077:26082 hsa_system_get_info(2, 0x7fe70000f948) = 0 +43938254658626:43938254659269 26077:26082 hsa_system_get_info(2, 0x7fe70000f950) = 0 +43938254660051:43938254660693 26077:26082 hsa_system_get_info(2, 0x7fe70000f958) = 0 +43938254661471:43938254662113 26077:26082 hsa_system_get_info(2, 0x7fe70000f960) = 0 +43938254662894:43938254663538 26077:26082 hsa_system_get_info(2, 0x7fe70000f968) = 0 +43938254664325:43938254664973 26077:26082 hsa_system_get_info(2, 0x7fe70000f970) = 0 +43938254665771:43938254666410 26077:26082 hsa_system_get_info(2, 0x7fe70000f978) = 0 +43938254667194:43938254667849 26077:26082 hsa_system_get_info(2, 0x7fe70000f980) = 0 +43938254668628:43938254669273 26077:26082 hsa_system_get_info(2, 0x7fe70000f988) = 0 +43938254670053:43938254670695 26077:26082 hsa_system_get_info(2, 0x7fe70000f990) = 0 +43938254671471:43938254672115 26077:26082 hsa_system_get_info(2, 0x7fe70000f998) = 0 +43938254672900:43938254673543 26077:26082 hsa_system_get_info(2, 0x7fe70000f9a0) = 0 +43938254674318:43938254674960 26077:26082 hsa_system_get_info(2, 0x7fe70000f9a8) = 0 +43938254675743:43938254676386 26077:26082 hsa_system_get_info(2, 0x7fe70000f9b0) = 0 +43938254677160:43938254677800 26077:26082 hsa_system_get_info(2, 0x7fe70000f9b8) = 0 +43938254678585:43938254679227 26077:26082 hsa_system_get_info(2, 0x7fe70000f9c0) = 0 +43938254680002:43938254680646 26077:26082 hsa_system_get_info(2, 0x7fe70000f9c8) = 0 +43938254681429:43938254682073 26077:26082 hsa_system_get_info(2, 0x7fe70000f9d0) = 0 +43938254682846:43938254683486 26077:26082 hsa_system_get_info(2, 0x7fe70000f9d8) = 0 +43938254684270:43938254684909 26077:26082 hsa_system_get_info(2, 0x7fe70000f9e0) = 0 +43938254685683:43938254686344 26077:26082 hsa_system_get_info(2, 0x7fe70000f9e8) = 0 +43938254687121:43938254687769 26077:26082 hsa_system_get_info(2, 0x7fe70000f9f0) = 0 +43938254688552:43938254689194 26077:26082 hsa_system_get_info(2, 0x7fe70000f9f8) = 0 +43938254689980:43938254690626 26077:26082 hsa_system_get_info(2, 0x7fe70000fa00) = 0 +43938254692142:43938254692794 26077:26082 hsa_system_get_info(2, 0x7fe70000fa08) = 0 +43938254693569:43938254694225 26077:26082 hsa_system_get_info(2, 0x7fe70000fa10) = 0 +43938254695002:43938254695649 26077:26082 hsa_system_get_info(2, 0x7fe70000fa18) = 0 +43938254696431:43938254697077 26077:26082 hsa_system_get_info(2, 0x7fe70000fa20) = 0 +43938254697852:43938254698506 26077:26082 hsa_system_get_info(2, 0x7fe70000fa28) = 0 +43938254699281:43938254699925 26077:26082 hsa_system_get_info(2, 0x7fe70000fa30) = 0 +43938254700707:43938254701338 26077:26082 hsa_system_get_info(2, 0x7fe70000fa38) = 0 +43938254702120:43938254702760 26077:26082 hsa_system_get_info(2, 0x7fe70000fa40) = 0 +43938254703535:43938254704177 26077:26082 hsa_system_get_info(2, 0x7fe70000fa48) = 0 +43938254704973:43938254705629 26077:26082 hsa_system_get_info(2, 0x7fe70000fa50) = 0 +43938254706401:43938254707043 26077:26082 hsa_system_get_info(2, 0x7fe70000fa58) = 0 +43938254707818:43938254708460 26077:26082 hsa_system_get_info(2, 0x7fe70000fa60) = 0 +43938254709243:43938254709892 26077:26082 hsa_system_get_info(2, 0x7fe70000fa68) = 0 +43938254710676:43938254711327 26077:26082 hsa_system_get_info(2, 0x7fe70000fa70) = 0 +43938254712102:43938254712754 26077:26082 hsa_system_get_info(2, 0x7fe70000fa78) = 0 +43938254713532:43938254714171 26077:26082 hsa_system_get_info(2, 0x7fe70000fa80) = 0 +43938254714943:43938254715595 26077:26082 hsa_system_get_info(2, 0x7fe70000fa88) = 0 +43938254716368:43938254717011 26077:26082 hsa_system_get_info(2, 0x7fe70000fa90) = 0 +43938254717787:43938254718442 26077:26082 hsa_system_get_info(2, 0x7fe70000fa98) = 0 +43938254719241:43938254719885 26077:26082 hsa_system_get_info(2, 0x7fe70000faa0) = 0 +43938254720661:43938254721305 26077:26082 hsa_system_get_info(2, 0x7fe70000faa8) = 0 +43938254722090:43938254722735 26077:26082 hsa_system_get_info(2, 0x7fe70000fab0) = 0 +43938254723510:43938254724151 26077:26082 hsa_system_get_info(2, 0x7fe70000fab8) = 0 +43938254724932:43938254725574 26077:26082 hsa_system_get_info(2, 0x7fe70000fac0) = 0 +43938254726350:43938254727002 26077:26082 hsa_system_get_info(2, 0x7fe70000fac8) = 0 +43938254727778:43938254728420 26077:26082 hsa_system_get_info(2, 0x7fe70000fad0) = 0 +43938254729194:43938254729845 26077:26082 hsa_system_get_info(2, 0x7fe70000fad8) = 0 +43938254730626:43938254731266 26077:26082 hsa_system_get_info(2, 0x7fe70000fae0) = 0 +43938254732779:43938254733417 26077:26082 hsa_system_get_info(2, 0x7fe70000fae8) = 0 +43938254734189:43938254734834 26077:26082 hsa_system_get_info(2, 0x7fe70000faf0) = 0 +43938254735611:43938254736256 26077:26082 hsa_system_get_info(2, 0x7fe70000faf8) = 0 +43938254737031:43938254737672 26077:26082 hsa_system_get_info(2, 0x7fe70000fb00) = 0 +43938254738452:43938254739096 26077:26082 hsa_system_get_info(2, 0x7fe70000fb08) = 0 +43938254739874:43938254740511 26077:26082 hsa_system_get_info(2, 0x7fe70000fb10) = 0 +43938254741296:43938254741937 26077:26082 hsa_system_get_info(2, 0x7fe70000fb18) = 0 +43938254742713:43938254743351 26077:26082 hsa_system_get_info(2, 0x7fe70000fb20) = 0 +43938254744132:43938254744771 26077:26082 hsa_system_get_info(2, 0x7fe70000fb28) = 0 +43938254745543:43938254746185 26077:26082 hsa_system_get_info(2, 0x7fe70000fb30) = 0 +43938254746959:43938254747598 26077:26082 hsa_system_get_info(2, 0x7fe70000fb38) = 0 +43938254748386:43938254749031 26077:26082 hsa_system_get_info(2, 0x7fe70000fb40) = 0 +43938254749820:43938254750468 26077:26082 hsa_system_get_info(2, 0x7fe70000fb48) = 0 +43938254751260:43938254751908 26077:26082 hsa_system_get_info(2, 0x7fe70000fb50) = 0 +43938254752683:43938254753339 26077:26082 hsa_system_get_info(2, 0x7fe70000fb58) = 0 +43938254754112:43938254754757 26077:26082 hsa_system_get_info(2, 0x7fe70000fb60) = 0 +43938254755528:43938254756180 26077:26082 hsa_system_get_info(2, 0x7fe70000fb68) = 0 +43938254756956:43938254757601 26077:26082 hsa_system_get_info(2, 0x7fe70000fb70) = 0 +43938254758380:43938254759027 26077:26082 hsa_system_get_info(2, 0x7fe70000fb78) = 0 +43938254759805:43938254760446 26077:26082 hsa_system_get_info(2, 0x7fe70000fb80) = 0 +43938254761229:43938254761869 26077:26082 hsa_system_get_info(2, 0x7fe70000fb88) = 0 +43938254762644:43938254763287 26077:26082 hsa_system_get_info(2, 0x7fe70000fb90) = 0 +43938254764068:43938254764711 26077:26082 hsa_system_get_info(2, 0x7fe70000fb98) = 0 +43938254765486:43938254766128 26077:26082 hsa_system_get_info(2, 0x7fe70000fba0) = 0 +43938254766918:43938254767562 26077:26082 hsa_system_get_info(2, 0x7fe70000fba8) = 0 +43938254768336:43938254768989 26077:26082 hsa_system_get_info(2, 0x7fe70000fbb0) = 0 +43938254769763:43938254770409 26077:26082 hsa_system_get_info(2, 0x7fe70000fbb8) = 0 +43938254771202:43938254771848 26077:26082 hsa_system_get_info(2, 0x7fe70000fbc0) = 0 +43938254772633:43938254773278 26077:26082 hsa_system_get_info(2, 0x7fe70000fbc8) = 0 +43938254774778:43938254775436 26077:26082 hsa_system_get_info(2, 0x7fe70000fbd0) = 0 +43938254776212:43938254776852 26077:26082 hsa_system_get_info(2, 0x7fe70000fbd8) = 0 +43938254777633:43938254778281 26077:26082 hsa_system_get_info(2, 0x7fe70000fbe0) = 0 +43938254779056:43938254779696 26077:26082 hsa_system_get_info(2, 0x7fe70000fbe8) = 0 +43938254780479:43938254781118 26077:26082 hsa_system_get_info(2, 0x7fe70000fbf0) = 0 +43938254781891:43938254782532 26077:26082 hsa_system_get_info(2, 0x7fe70000fbf8) = 0 +43938254783314:43938254783956 26077:26082 hsa_system_get_info(2, 0x7fe70000fc00) = 0 +43938254784730:43938254785371 26077:26082 hsa_system_get_info(2, 0x7fe70000fc08) = 0 +43938254786155:43938254786802 26077:26082 hsa_system_get_info(2, 0x7fe70000fc10) = 0 +43938254787577:43938254788220 26077:26082 hsa_system_get_info(2, 0x7fe70000fc18) = 0 +43938254789009:43938254789655 26077:26082 hsa_system_get_info(2, 0x7fe70000fc20) = 0 +43938254790427:43938254791079 26077:26082 hsa_system_get_info(2, 0x7fe70000fc28) = 0 +43938254791852:43938254792507 26077:26082 hsa_system_get_info(2, 0x7fe70000fc30) = 0 +43938254793291:43938254793933 26077:26082 hsa_system_get_info(2, 0x7fe70000fc38) = 0 +43938254794705:43938254795349 26077:26082 hsa_system_get_info(2, 0x7fe70000fc40) = 0 +43938254796132:43938254796770 26077:26082 hsa_system_get_info(2, 0x7fe70000fc48) = 0 +43938254797544:43938254798189 26077:26082 hsa_system_get_info(2, 0x7fe70000fc50) = 0 +43938254798974:43938254799618 26077:26082 hsa_system_get_info(2, 0x7fe70000fc58) = 0 +43938254800392:43938254801045 26077:26082 hsa_system_get_info(2, 0x7fe70000fc60) = 0 +43938254801818:43938254802462 26077:26082 hsa_system_get_info(2, 0x7fe70000fc68) = 0 +43938254803245:43938254803876 26077:26082 hsa_system_get_info(2, 0x7fe70000fc70) = 0 +43938254804657:43938254805302 26077:26082 hsa_system_get_info(2, 0x7fe70000fc78) = 0 +43938254806076:43938254806731 26077:26082 hsa_system_get_info(2, 0x7fe70000fc80) = 0 +43938254807504:43938254808154 26077:26082 hsa_system_get_info(2, 0x7fe70000fc88) = 0 +43938254808939:43938254809583 26077:26082 hsa_system_get_info(2, 0x7fe70000fc90) = 0 +43938254810356:43938254811012 26077:26082 hsa_system_get_info(2, 0x7fe70000fc98) = 0 +43938254811788:43938254812434 26077:26082 hsa_system_get_info(2, 0x7fe70000fca0) = 0 +43938254813227:43938254813872 26077:26082 hsa_system_get_info(2, 0x7fe70000fca8) = 0 +43938254815439:43938254816097 26077:26082 hsa_system_get_info(2, 0x7fe70000fcb0) = 0 +43938254816869:43938254817516 26077:26082 hsa_system_get_info(2, 0x7fe70000fcb8) = 0 +43938254818303:43938254818950 26077:26082 hsa_system_get_info(2, 0x7fe70000fcc0) = 0 +43938254819724:43938254820378 26077:26082 hsa_system_get_info(2, 0x7fe70000fcc8) = 0 +43938254821157:43938254821802 26077:26082 hsa_system_get_info(2, 0x7fe70000fcd0) = 0 +43938254822585:43938254823225 26077:26082 hsa_system_get_info(2, 0x7fe70000fcd8) = 0 +43938254824000:43938254824639 26077:26082 hsa_system_get_info(2, 0x7fe70000fce0) = 0 +43938254825408:43938254826050 26077:26082 hsa_system_get_info(2, 0x7fe70000fce8) = 0 +43938254826839:43938254827487 26077:26082 hsa_system_get_info(2, 0x7fe70000fcf0) = 0 +43938254828266:43938254828906 26077:26082 hsa_system_get_info(2, 0x7fe70000fcf8) = 0 +43938254829682:43938254830325 26077:26082 hsa_system_get_info(2, 0x7fe70000fd00) = 0 +43938254831108:43938254831751 26077:26082 hsa_system_get_info(2, 0x7fe70000fd08) = 0 +43938254832530:43938254833182 26077:26082 hsa_system_get_info(2, 0x7fe70000fd10) = 0 +43938254833964:43938254834610 26077:26082 hsa_system_get_info(2, 0x7fe70000fd18) = 0 +43938254835391:43938254836034 26077:26082 hsa_system_get_info(2, 0x7fe70000fd20) = 0 +43938254836811:43938254837455 26077:26082 hsa_system_get_info(2, 0x7fe70000fd28) = 0 +43938254838234:43938254838881 26077:26082 hsa_system_get_info(2, 0x7fe70000fd30) = 0 +43938254839667:43938254840315 26077:26082 hsa_system_get_info(2, 0x7fe70000fd38) = 0 +43938254841092:43938254841737 26077:26082 hsa_system_get_info(2, 0x7fe70000fd40) = 0 +43938254842516:43938254843155 26077:26082 hsa_system_get_info(2, 0x7fe70000fd48) = 0 +43938254843934:43938254844575 26077:26082 hsa_system_get_info(2, 0x7fe70000fd50) = 0 +43938254845357:43938254846000 26077:26082 hsa_system_get_info(2, 0x7fe70000fd58) = 0 +43938254846774:43938254847413 26077:26082 hsa_system_get_info(2, 0x7fe70000fd60) = 0 +43938254848196:43938254848840 26077:26082 hsa_system_get_info(2, 0x7fe70000fd68) = 0 +43938254849619:43938254850272 26077:26082 hsa_system_get_info(2, 0x7fe70000fd70) = 0 +43938254851045:43938254851690 26077:26082 hsa_system_get_info(2, 0x7fe70000fd78) = 0 +43938254852473:43938254853118 26077:26082 hsa_system_get_info(2, 0x7fe70000fd80) = 0 +43938254853905:43938254854545 26077:26082 hsa_system_get_info(2, 0x7fe70000fd88) = 0 +43938254855322:43938254855963 26077:26082 hsa_system_get_info(2, 0x7fe70000fd90) = 0 +43938254857476:43938254858121 26077:26082 hsa_system_get_info(2, 0x7fe70000fd98) = 0 +43938254858898:43938254859534 26077:26082 hsa_system_get_info(2, 0x7fe70000fda0) = 0 +43938254860319:43938254860963 26077:26082 hsa_system_get_info(2, 0x7fe70000fda8) = 0 +43938254861737:43938254862381 26077:26082 hsa_system_get_info(2, 0x7fe70000fdb0) = 0 +43938254863164:43938254863811 26077:26082 hsa_system_get_info(2, 0x7fe70000fdb8) = 0 +43938254864590:43938254865246 26077:26082 hsa_system_get_info(2, 0x7fe70000fdc0) = 0 +43938254866020:43938254866662 26077:26082 hsa_system_get_info(2, 0x7fe70000fdc8) = 0 +43938254867443:43938254868086 26077:26082 hsa_system_get_info(2, 0x7fe70000fdd0) = 0 +43938254868864:43938254869511 26077:26082 hsa_system_get_info(2, 0x7fe70000fdd8) = 0 +43938254870307:43938254870954 26077:26082 hsa_system_get_info(2, 0x7fe70000fde0) = 0 +43938254871741:43938254872387 26077:26082 hsa_system_get_info(2, 0x7fe70000fde8) = 0 +43938254873189:43938254873833 26077:26082 hsa_system_get_info(2, 0x7fe70000fdf0) = 0 +43938254874619:43938254875266 26077:26082 hsa_system_get_info(2, 0x7fe70000fdf8) = 0 +43938254876051:43938254876691 26077:26082 hsa_system_get_info(2, 0x7fe70000fe00) = 0 +43938254877468:43938254878110 26077:26082 hsa_system_get_info(2, 0x7fe70000fe08) = 0 +43938254878893:43938254879533 26077:26082 hsa_system_get_info(2, 0x7fe70000fe10) = 0 +43938254880310:43938254880974 26077:26082 hsa_system_get_info(2, 0x7fe70000fe18) = 0 +43938254881753:43938254882400 26077:26082 hsa_system_get_info(2, 0x7fe70000fe20) = 0 +43938254883186:43938254883835 26077:26082 hsa_system_get_info(2, 0x7fe70000fe28) = 0 +43938254884620:43938254885265 26077:26082 hsa_system_get_info(2, 0x7fe70000fe30) = 0 +43938254886041:43938254886696 26077:26082 hsa_system_get_info(2, 0x7fe70000fe38) = 0 +43938254887471:43938254888115 26077:26082 hsa_system_get_info(2, 0x7fe70000fe40) = 0 +43938254888899:43938254889555 26077:26082 hsa_system_get_info(2, 0x7fe70000fe48) = 0 +43938254890341:43938254890984 26077:26082 hsa_system_get_info(2, 0x7fe70000fe50) = 0 +43938254891758:43938254892405 26077:26082 hsa_system_get_info(2, 0x7fe70000fe58) = 0 +43938254893188:43938254893838 26077:26082 hsa_system_get_info(2, 0x7fe70000fe60) = 0 +43938254894622:43938254895270 26077:26082 hsa_system_get_info(2, 0x7fe70000fe68) = 0 +43938254896048:43938254896707 26077:26082 hsa_system_get_info(2, 0x7fe70000fe70) = 0 +43938254898238:43938254898884 26077:26082 hsa_system_get_info(2, 0x7fe70000fe78) = 0 +43938254899665:43938254900307 26077:26082 hsa_system_get_info(2, 0x7fe70000fe80) = 0 +43938254901077:43938254901713 26077:26082 hsa_system_get_info(2, 0x7fe70000fe88) = 0 +43938254902493:43938254903147 26077:26082 hsa_system_get_info(2, 0x7fe70000fe90) = 0 +43938254903924:43938254904572 26077:26082 hsa_system_get_info(2, 0x7fe70000fe98) = 0 +43938254905357:43938254906005 26077:26082 hsa_system_get_info(2, 0x7fe70000fea0) = 0 +43938254906784:43938254907430 26077:26082 hsa_system_get_info(2, 0x7fe70000fea8) = 0 +43938254908204:43938254908847 26077:26082 hsa_system_get_info(2, 0x7fe70000feb0) = 0 +43938254909633:43938254910280 26077:26082 hsa_system_get_info(2, 0x7fe70000feb8) = 0 +43938254911057:43938254911711 26077:26082 hsa_system_get_info(2, 0x7fe70000fec0) = 0 +43938254912480:43938254913119 26077:26082 hsa_system_get_info(2, 0x7fe70000fec8) = 0 +43938254913900:43938254914552 26077:26082 hsa_system_get_info(2, 0x7fe70000fed0) = 0 +43938254915330:43938254915994 26077:26082 hsa_system_get_info(2, 0x7fe70000fed8) = 0 +43938254916769:43938254917414 26077:26082 hsa_system_get_info(2, 0x7fe70000fee0) = 0 +43938254918195:43938254918836 26077:26082 hsa_system_get_info(2, 0x7fe70000fee8) = 0 +43938254919617:43938254920261 26077:26082 hsa_system_get_info(2, 0x7fe70000fef0) = 0 +43938254921043:43938254921689 26077:26082 hsa_system_get_info(2, 0x7fe70000fef8) = 0 +43938254922473:43938254923120 26077:26082 hsa_system_get_info(2, 0x7fe70000ff00) = 0 +43938254923896:43938254924538 26077:26082 hsa_system_get_info(2, 0x7fe70000ff08) = 0 +43938254925319:43938254925957 26077:26082 hsa_system_get_info(2, 0x7fe70000ff10) = 0 +43938254926733:43938254927379 26077:26082 hsa_system_get_info(2, 0x7fe70000ff18) = 0 +43938254928164:43938254928803 26077:26082 hsa_system_get_info(2, 0x7fe70000ff20) = 0 +43938254929601:43938254930239 26077:26082 hsa_system_get_info(2, 0x7fe70000ff28) = 0 +43938254931010:43938254931655 26077:26082 hsa_system_get_info(2, 0x7fe70000ff30) = 0 +43938254932443:43938254933090 26077:26082 hsa_system_get_info(2, 0x7fe70000ff38) = 0 +43938254933864:43938254934507 26077:26082 hsa_system_get_info(2, 0x7fe70000ff40) = 0 +43938254935291:43938254935936 26077:26082 hsa_system_get_info(2, 0x7fe70000ff48) = 0 +43938254936713:43938254937369 26077:26082 hsa_system_get_info(2, 0x7fe70000ff50) = 0 +43938254939657:43938254940302 26077:26082 hsa_system_get_info(2, 0x7fe70000ff58) = 0 +43938254941104:43938254941749 26077:26082 hsa_system_get_info(2, 0x7fe70000ff60) = 0 +43938254942530:43938254943175 26077:26082 hsa_system_get_info(2, 0x7fe70000ff68) = 0 +43938254943949:43938254944590 26077:26082 hsa_system_get_info(2, 0x7fe70000ff70) = 0 +43938254945367:43938254946007 26077:26082 hsa_system_get_info(2, 0x7fe70000ff78) = 0 +43938254946778:43938254947423 26077:26082 hsa_system_get_info(2, 0x7fe70000ff80) = 0 +43938254948194:43938254948838 26077:26082 hsa_system_get_info(2, 0x7fe70000ff88) = 0 +43938254949621:43938254950264 26077:26082 hsa_system_get_info(2, 0x7fe70000ff90) = 0 +43938254951037:43938254951682 26077:26082 hsa_system_get_info(2, 0x7fe70000ff98) = 0 +43938254952462:43938254953100 26077:26082 hsa_system_get_info(2, 0x7fe70000ffa0) = 0 +43938254953874:43938254954518 26077:26082 hsa_system_get_info(2, 0x7fe70000ffa8) = 0 +43938254955308:43938254955979 26077:26082 hsa_system_get_info(2, 0x7fe70000ffb0) = 0 +43938254956759:43938254957402 26077:26082 hsa_system_get_info(2, 0x7fe70000ffb8) = 0 +43938254958185:43938254958840 26077:26082 hsa_system_get_info(2, 0x7fe70000ffc0) = 0 +43938254959622:43938254960267 26077:26082 hsa_system_get_info(2, 0x7fe70000ffc8) = 0 +43938254961042:43938254961686 26077:26082 hsa_system_get_info(2, 0x7fe70000ffd0) = 0 +43938254962469:43938254963114 26077:26082 hsa_system_get_info(2, 0x7fe70000ffd8) = 0 +43938254963887:43938254964528 26077:26082 hsa_system_get_info(2, 0x7fe70000ffe0) = 0 +43938254965309:43938254965953 26077:26082 hsa_system_get_info(2, 0x7fe70000ffe8) = 0 +43938254966727:43938254967368 26077:26082 hsa_system_get_info(2, 0x7fe70000fff0) = 0 +43938254968147:43938254968797 26077:26082 hsa_system_get_info(2, 0x7fe70000fff8) = 0 +43938254969572:43938254970229 26077:26082 hsa_system_get_info(2, 0x7fe700010000) = 0 +43938254971010:43938254971653 26077:26082 hsa_system_get_info(2, 0x7fe700010008) = 0 +43938254972434:43938254973076 26077:26082 hsa_system_get_info(2, 0x7fe700010010) = 0 +43938254973850:43938254974493 26077:26082 hsa_system_get_info(2, 0x7fe700010018) = 0 +43938254975276:43938254975933 26077:26082 hsa_system_get_info(2, 0x7fe700010020) = 0 +43938254976711:43938254977352 26077:26082 hsa_system_get_info(2, 0x7fe700010028) = 0 +43938254978124:43938254978767 26077:26082 hsa_system_get_info(2, 0x7fe700010030) = 0 +43938254979547:43938254980187 26077:26082 hsa_system_get_info(2, 0x7fe700010038) = 0 +43938254981694:43938254982350 26077:26082 hsa_system_get_info(2, 0x7fe700010040) = 0 +43938254983123:43938254983769 26077:26082 hsa_system_get_info(2, 0x7fe700010048) = 0 +43938254984553:43938254985195 26077:26082 hsa_system_get_info(2, 0x7fe700010050) = 0 +43938254985969:43938254986610 26077:26082 hsa_system_get_info(2, 0x7fe700010058) = 0 +43938254987391:43938254988023 26077:26082 hsa_system_get_info(2, 0x7fe700010060) = 0 +43938254988801:43938254989447 26077:26082 hsa_system_get_info(2, 0x7fe700010068) = 0 +43938254990222:43938254990864 26077:26082 hsa_system_get_info(2, 0x7fe700010070) = 0 +43938254991660:43938254992303 26077:26082 hsa_system_get_info(2, 0x7fe700010078) = 0 +43938254993084:43938254993729 26077:26082 hsa_system_get_info(2, 0x7fe700010080) = 0 +43938254994500:43938254995144 26077:26082 hsa_system_get_info(2, 0x7fe700010088) = 0 +43938254995925:43938254996569 26077:26082 hsa_system_get_info(2, 0x7fe700010090) = 0 +43938254997342:43938254997985 26077:26082 hsa_system_get_info(2, 0x7fe700010098) = 0 +43938254998771:43938254999415 26077:26082 hsa_system_get_info(2, 0x7fe7000100a0) = 0 +43938255000186:43938255000828 26077:26082 hsa_system_get_info(2, 0x7fe7000100a8) = 0 +43938255001607:43938255002254 26077:26082 hsa_system_get_info(2, 0x7fe7000100b0) = 0 +43938255003026:43938255003671 26077:26082 hsa_system_get_info(2, 0x7fe7000100b8) = 0 +43938255004456:43938255005103 26077:26082 hsa_system_get_info(2, 0x7fe7000100c0) = 0 +43938255005900:43938255006548 26077:26082 hsa_system_get_info(2, 0x7fe7000100c8) = 0 +43938255007328:43938255007969 26077:26082 hsa_system_get_info(2, 0x7fe7000100d0) = 0 +43938255008746:43938255009390 26077:26082 hsa_system_get_info(2, 0x7fe7000100d8) = 0 +43938255010171:43938255010812 26077:26082 hsa_system_get_info(2, 0x7fe7000100e0) = 0 +43938255011586:43938255012228 26077:26082 hsa_system_get_info(2, 0x7fe7000100e8) = 0 +43938255013009:43938255013647 26077:26082 hsa_system_get_info(2, 0x7fe7000100f0) = 0 +43938255014421:43938255015061 26077:26082 hsa_system_get_info(2, 0x7fe7000100f8) = 0 +43938255015834:43938255016473 26077:26082 hsa_system_get_info(2, 0x7fe700010100) = 0 +43938255017255:43938255017898 26077:26082 hsa_system_get_info(2, 0x7fe700010108) = 0 +43938255018672:43938255019315 26077:26082 hsa_system_get_info(2, 0x7fe700010110) = 0 +43938255020096:43938255020740 26077:26082 hsa_system_get_info(2, 0x7fe700010118) = 0 +43938255022256:43938255022898 26077:26082 hsa_system_get_info(2, 0x7fe700010120) = 0 +43938255023675:43938255024324 26077:26082 hsa_system_get_info(2, 0x7fe700010128) = 0 +43938255025116:43938255025761 26077:26082 hsa_system_get_info(2, 0x7fe700010130) = 0 +43938255026547:43938255027190 26077:26082 hsa_system_get_info(2, 0x7fe700010138) = 0 +43938255027966:43938255028624 26077:26082 hsa_system_get_info(2, 0x7fe700010140) = 0 +43938255029401:43938255030040 26077:26082 hsa_system_get_info(2, 0x7fe700010148) = 0 +43938255030824:43938255031472 26077:26082 hsa_system_get_info(2, 0x7fe700010150) = 0 +43938255032259:43938255032906 26077:26082 hsa_system_get_info(2, 0x7fe700010158) = 0 +43938255033700:43938255034341 26077:26082 hsa_system_get_info(2, 0x7fe700010160) = 0 +43938255035117:43938255035768 26077:26082 hsa_system_get_info(2, 0x7fe700010168) = 0 +43938255036552:43938255037193 26077:26082 hsa_system_get_info(2, 0x7fe700010170) = 0 +43938255037972:43938255038637 26077:26082 hsa_system_get_info(2, 0x7fe700010178) = 0 +43938255039423:43938255040071 26077:26082 hsa_system_get_info(2, 0x7fe700010180) = 0 +43938255040848:43938255041502 26077:26082 hsa_system_get_info(2, 0x7fe700010188) = 0 +43938255042277:43938255042919 26077:26082 hsa_system_get_info(2, 0x7fe700010190) = 0 +43938255043694:43938255044346 26077:26082 hsa_system_get_info(2, 0x7fe700010198) = 0 +43938255045117:43938255045761 26077:26082 hsa_system_get_info(2, 0x7fe7000101a0) = 0 +43938255046549:43938255047196 26077:26082 hsa_system_get_info(2, 0x7fe7000101a8) = 0 +43938255047996:43938255048637 26077:26082 hsa_system_get_info(2, 0x7fe7000101b0) = 0 +43938255049409:43938255050052 26077:26082 hsa_system_get_info(2, 0x7fe7000101b8) = 0 +43938255050833:43938255051477 26077:26082 hsa_system_get_info(2, 0x7fe7000101c0) = 0 +43938255052255:43938255052916 26077:26082 hsa_system_get_info(2, 0x7fe7000101c8) = 0 +43938255053692:43938255054337 26077:26082 hsa_system_get_info(2, 0x7fe7000101d0) = 0 +43938255055123:43938255055768 26077:26082 hsa_system_get_info(2, 0x7fe7000101d8) = 0 +43938255056552:43938255057197 26077:26082 hsa_system_get_info(2, 0x7fe7000101e0) = 0 +43938255057974:43938255058614 26077:26082 hsa_system_get_info(2, 0x7fe7000101e8) = 0 +43938255059393:43938255060041 26077:26082 hsa_system_get_info(2, 0x7fe7000101f0) = 0 +43938255060816:43938255061461 26077:26082 hsa_system_get_info(2, 0x7fe7000101f8) = 0 +43938255062243:43938255062889 26077:26082 hsa_system_get_info(2, 0x7fe700010200) = 0 +43938255064490:43938255065137 26077:26082 hsa_system_get_info(2, 0x7fe700010208) = 0 +43938255065938:43938255066584 26077:26082 hsa_system_get_info(2, 0x7fe700010210) = 0 +43938255067367:43938255068015 26077:26082 hsa_system_get_info(2, 0x7fe700010218) = 0 +43938255068788:43938255069429 26077:26082 hsa_system_get_info(2, 0x7fe700010220) = 0 +43938255070213:43938255070856 26077:26082 hsa_system_get_info(2, 0x7fe700010228) = 0 +43938255071640:43938255072289 26077:26082 hsa_system_get_info(2, 0x7fe700010230) = 0 +43938255073064:43938255073704 26077:26082 hsa_system_get_info(2, 0x7fe700010238) = 0 +43938255074485:43938255075130 26077:26082 hsa_system_get_info(2, 0x7fe700010240) = 0 +43938255075904:43938255076549 26077:26082 hsa_system_get_info(2, 0x7fe700010248) = 0 +43938255077331:43938255077977 26077:26082 hsa_system_get_info(2, 0x7fe700010250) = 0 +43938255078747:43938255079391 26077:26082 hsa_system_get_info(2, 0x7fe700010258) = 0 +43938255080172:43938255080814 26077:26082 hsa_system_get_info(2, 0x7fe700010260) = 0 +43938255081594:43938255082245 26077:26082 hsa_system_get_info(2, 0x7fe700010268) = 0 +43938255083031:43938255083669 26077:26082 hsa_system_get_info(2, 0x7fe700010270) = 0 +43938255084447:43938255085096 26077:26082 hsa_system_get_info(2, 0x7fe700010278) = 0 +43938255085871:43938255086516 26077:26082 hsa_system_get_info(2, 0x7fe700010280) = 0 +43938255087298:43938255087936 26077:26082 hsa_system_get_info(2, 0x7fe700010288) = 0 +43938255088707:43938255089349 26077:26082 hsa_system_get_info(2, 0x7fe700010290) = 0 +43938255090131:43938255090775 26077:26082 hsa_system_get_info(2, 0x7fe700010298) = 0 +43938255091548:43938255092189 26077:26082 hsa_system_get_info(2, 0x7fe7000102a0) = 0 +43938255092972:43938255093614 26077:26082 hsa_system_get_info(2, 0x7fe7000102a8) = 0 +43938255094387:43938255095029 26077:26082 hsa_system_get_info(2, 0x7fe7000102b0) = 0 +43938255095805:43938255096457 26077:26082 hsa_system_get_info(2, 0x7fe7000102b8) = 0 +43938255097232:43938255097885 26077:26082 hsa_system_get_info(2, 0x7fe7000102c0) = 0 +43938255098666:43938255099310 26077:26082 hsa_system_get_info(2, 0x7fe7000102c8) = 0 +43938255100085:43938255100739 26077:26082 hsa_system_get_info(2, 0x7fe7000102d0) = 0 +43938255101515:43938255102193 26077:26082 hsa_system_get_info(2, 0x7fe7000102d8) = 0 +43938255102966:43938255103609 26077:26082 hsa_system_get_info(2, 0x7fe7000102e0) = 0 +43938255105144:43938255105791 26077:26082 hsa_system_get_info(2, 0x7fe7000102e8) = 0 +43938255106563:43938255107209 26077:26082 hsa_system_get_info(2, 0x7fe7000102f0) = 0 +43938255107993:43938255108637 26077:26082 hsa_system_get_info(2, 0x7fe7000102f8) = 0 +43938255109412:43938255110063 26077:26082 hsa_system_get_info(2, 0x7fe700010300) = 0 +43938255110839:43938255111480 26077:26082 hsa_system_get_info(2, 0x7fe700010308) = 0 +43938255112250:43938255112891 26077:26082 hsa_system_get_info(2, 0x7fe700010310) = 0 +43938255113674:43938255114312 26077:26082 hsa_system_get_info(2, 0x7fe700010318) = 0 +43938255115085:43938255115728 26077:26082 hsa_system_get_info(2, 0x7fe700010320) = 0 +43938255116513:43938255117160 26077:26082 hsa_system_get_info(2, 0x7fe700010328) = 0 +43938255117933:43938255118578 26077:26082 hsa_system_get_info(2, 0x7fe700010330) = 0 +43938255119360:43938255120005 26077:26082 hsa_system_get_info(2, 0x7fe700010338) = 0 +43938255120792:43938255121430 26077:26082 hsa_system_get_info(2, 0x7fe700010340) = 0 +43938255122212:43938255122849 26077:26082 hsa_system_get_info(2, 0x7fe700010348) = 0 +43938255123644:43938255124292 26077:26082 hsa_system_get_info(2, 0x7fe700010350) = 0 +43938255125075:43938255125716 26077:26082 hsa_system_get_info(2, 0x7fe700010358) = 0 +43938255126493:43938255127134 26077:26082 hsa_system_get_info(2, 0x7fe700010360) = 0 +43938255127902:43938255128554 26077:26082 hsa_system_get_info(2, 0x7fe700010368) = 0 +43938255129330:43938255129966 26077:26082 hsa_system_get_info(2, 0x7fe700010370) = 0 +43938255130741:43938255131381 26077:26082 hsa_system_get_info(2, 0x7fe700010378) = 0 +43938255132162:43938255132807 26077:26082 hsa_system_get_info(2, 0x7fe700010380) = 0 +43938255133581:43938255134220 26077:26082 hsa_system_get_info(2, 0x7fe700010388) = 0 +43938255135001:43938255135648 26077:26082 hsa_system_get_info(2, 0x7fe700010390) = 0 +43938255136426:43938255137079 26077:26082 hsa_system_get_info(2, 0x7fe700010398) = 0 +43938255137855:43938255138499 26077:26082 hsa_system_get_info(2, 0x7fe7000103a0) = 0 +43938255139288:43938255139928 26077:26082 hsa_system_get_info(2, 0x7fe7000103a8) = 0 +43938255140701:43938255141339 26077:26082 hsa_system_get_info(2, 0x7fe7000103b0) = 0 +43938255142125:43938255142769 26077:26082 hsa_system_get_info(2, 0x7fe7000103b8) = 0 +43938255143548:43938255144211 26077:26082 hsa_system_get_info(2, 0x7fe7000103c0) = 0 +43938255144985:43938255145632 26077:26082 hsa_system_get_info(2, 0x7fe7000103c8) = 0 +43938255147225:43938255147884 26077:26082 hsa_system_get_info(2, 0x7fe7000103d0) = 0 +43938255148659:43938255149302 26077:26082 hsa_system_get_info(2, 0x7fe7000103d8) = 0 +43938255150085:43938255150726 26077:26082 hsa_system_get_info(2, 0x7fe7000103e0) = 0 +43938255151499:43938255152142 26077:26082 hsa_system_get_info(2, 0x7fe7000103e8) = 0 +43938255152942:43938255153591 26077:26082 hsa_system_get_info(2, 0x7fe7000103f0) = 0 +43938255154370:43938255155014 26077:26082 hsa_system_get_info(2, 0x7fe7000103f8) = 0 +43938255155790:43938255156431 26077:26082 hsa_system_get_info(2, 0x7fe700010400) = 0 +43938255157211:43938255157853 26077:26082 hsa_system_get_info(2, 0x7fe700010408) = 0 +43938255158630:43938255159290 26077:26082 hsa_system_get_info(2, 0x7fe700010410) = 0 +43938255160063:43938255160706 26077:26082 hsa_system_get_info(2, 0x7fe700010418) = 0 +43938255161493:43938255162136 26077:26082 hsa_system_get_info(2, 0x7fe700010420) = 0 +43938255162912:43938255163556 26077:26082 hsa_system_get_info(2, 0x7fe700010428) = 0 +43938255164339:43938255164985 26077:26082 hsa_system_get_info(2, 0x7fe700010430) = 0 +43938255165756:43938255166400 26077:26082 hsa_system_get_info(2, 0x7fe700010438) = 0 +43938255167180:43938255167819 26077:26082 hsa_system_get_info(2, 0x7fe700010440) = 0 +43938255168592:43938255169237 26077:26082 hsa_system_get_info(2, 0x7fe700010448) = 0 +43938255170016:43938255170645 26077:26082 hsa_system_get_info(2, 0x7fe700010450) = 0 +43938255171433:43938255172079 26077:26082 hsa_system_get_info(2, 0x7fe700010458) = 0 +43938255172872:43938255173519 26077:26082 hsa_system_get_info(2, 0x7fe700010460) = 0 +43938255174303:43938255174943 26077:26082 hsa_system_get_info(2, 0x7fe700010468) = 0 +43938255175718:43938255176358 26077:26082 hsa_system_get_info(2, 0x7fe700010470) = 0 +43938255177144:43938255177790 26077:26082 hsa_system_get_info(2, 0x7fe700010478) = 0 +43938255178566:43938255179213 26077:26082 hsa_system_get_info(2, 0x7fe700010480) = 0 +43938255179996:43938255180641 26077:26082 hsa_system_get_info(2, 0x7fe700010488) = 0 +43938255181413:43938255182068 26077:26082 hsa_system_get_info(2, 0x7fe700010490) = 0 +43938255182848:43938255183492 26077:26082 hsa_system_get_info(2, 0x7fe700010498) = 0 +43938255184272:43938255184914 26077:26082 hsa_system_get_info(2, 0x7fe7000104a0) = 0 +43938255185693:43938255186333 26077:26082 hsa_system_get_info(2, 0x7fe7000104a8) = 0 +43938255187847:43938255188497 26077:26082 hsa_system_get_info(2, 0x7fe7000104b0) = 0 +43938255189279:43938255189921 26077:26082 hsa_system_get_info(2, 0x7fe7000104b8) = 0 +43938255190694:43938255191336 26077:26082 hsa_system_get_info(2, 0x7fe7000104c0) = 0 +43938255192116:43938255192756 26077:26082 hsa_system_get_info(2, 0x7fe7000104c8) = 0 +43938255193531:43938255194167 26077:26082 hsa_system_get_info(2, 0x7fe7000104d0) = 0 +43938255194951:43938255195593 26077:26082 hsa_system_get_info(2, 0x7fe7000104d8) = 0 +43938255196367:43938255197005 26077:26082 hsa_system_get_info(2, 0x7fe7000104e0) = 0 +43938255197778:43938255198424 26077:26082 hsa_system_get_info(2, 0x7fe7000104e8) = 0 +43938255199208:43938255199854 26077:26082 hsa_system_get_info(2, 0x7fe7000104f0) = 0 +43938255200633:43938255201279 26077:26082 hsa_system_get_info(2, 0x7fe7000104f8) = 0 +43938255202053:43938255202695 26077:26082 hsa_system_get_info(2, 0x7fe700010500) = 0 +43938255203482:43938255204122 26077:26082 hsa_system_get_info(2, 0x7fe700010508) = 0 +43938255204898:43938255205540 26077:26082 hsa_system_get_info(2, 0x7fe700010510) = 0 +43938255206333:43938255206973 26077:26082 hsa_system_get_info(2, 0x7fe700010518) = 0 +43938255207747:43938255208388 26077:26082 hsa_system_get_info(2, 0x7fe700010520) = 0 +43938255209186:43938255209824 26077:26082 hsa_system_get_info(2, 0x7fe700010528) = 0 +43938255210606:43938255211254 26077:26082 hsa_system_get_info(2, 0x7fe700010530) = 0 +43938255212028:43938255212680 26077:26082 hsa_system_get_info(2, 0x7fe700010538) = 0 +43938255213456:43938255214099 26077:26082 hsa_system_get_info(2, 0x7fe700010540) = 0 +43938255214882:43938255215527 26077:26082 hsa_system_get_info(2, 0x7fe700010548) = 0 +43938255216304:43938255216949 26077:26082 hsa_system_get_info(2, 0x7fe700010550) = 0 +43938255217732:43938255218375 26077:26082 hsa_system_get_info(2, 0x7fe700010558) = 0 +43938255219152:43938255219809 26077:26082 hsa_system_get_info(2, 0x7fe700010560) = 0 +43938255220585:43938255221228 26077:26082 hsa_system_get_info(2, 0x7fe700010568) = 0 +43938255222010:43938255222656 26077:26082 hsa_system_get_info(2, 0x7fe700010570) = 0 +43938255223429:43938255224077 26077:26082 hsa_system_get_info(2, 0x7fe700010578) = 0 +43938255224860:43938255225505 26077:26082 hsa_system_get_info(2, 0x7fe700010580) = 0 +43938255226289:43938255226933 26077:26082 hsa_system_get_info(2, 0x7fe700010588) = 0 +43938255227729:43938255228377 26077:26082 hsa_system_get_info(2, 0x7fe700010590) = 0 +43938255230505:43938255231157 26077:26082 hsa_system_get_info(2, 0x7fe700010598) = 0 +43938255231942:43938255232586 26077:26082 hsa_system_get_info(2, 0x7fe7000105a0) = 0 +43938255233358:43938255233999 26077:26082 hsa_system_get_info(2, 0x7fe7000105a8) = 0 +43938255234783:43938255235425 26077:26082 hsa_system_get_info(2, 0x7fe7000105b0) = 0 +43938255236200:43938255236838 26077:26082 hsa_system_get_info(2, 0x7fe7000105b8) = 0 +43938255237625:43938255238266 26077:26082 hsa_system_get_info(2, 0x7fe7000105c0) = 0 +43938255239042:43938255239685 26077:26082 hsa_system_get_info(2, 0x7fe7000105c8) = 0 +43938255240464:43938255241108 26077:26082 hsa_system_get_info(2, 0x7fe7000105d0) = 0 +43938255241881:43938255242538 26077:26082 hsa_system_get_info(2, 0x7fe7000105d8) = 0 +43938255243310:43938255243952 26077:26082 hsa_system_get_info(2, 0x7fe7000105e0) = 0 +43938255244747:43938255245391 26077:26082 hsa_system_get_info(2, 0x7fe7000105e8) = 0 +43938255246223:43938255246863 26077:26082 hsa_system_get_info(2, 0x7fe7000105f0) = 0 +43938255247639:43938255248284 26077:26082 hsa_system_get_info(2, 0x7fe7000105f8) = 0 +43938255249066:43938255249710 26077:26082 hsa_system_get_info(2, 0x7fe700010600) = 0 +43938255250483:43938255251130 26077:26082 hsa_system_get_info(2, 0x7fe700010608) = 0 +43938255251915:43938255252557 26077:26082 hsa_system_get_info(2, 0x7fe700010610) = 0 +43938255253332:43938255253984 26077:26082 hsa_system_get_info(2, 0x7fe700010618) = 0 +43938255254759:43938255255400 26077:26082 hsa_system_get_info(2, 0x7fe700010620) = 0 +43938255256174:43938255256826 26077:26082 hsa_system_get_info(2, 0x7fe700010628) = 0 +43938255257596:43938255258237 26077:26082 hsa_system_get_info(2, 0x7fe700010630) = 0 +43938255259014:43938255259669 26077:26082 hsa_system_get_info(2, 0x7fe700010638) = 0 +43938255260447:43938255261090 26077:26082 hsa_system_get_info(2, 0x7fe700010640) = 0 +43938255261871:43938255262511 26077:26082 hsa_system_get_info(2, 0x7fe700010648) = 0 +43938255263284:43938255263926 26077:26082 hsa_system_get_info(2, 0x7fe700010650) = 0 +43938255264698:43938255265339 26077:26082 hsa_system_get_info(2, 0x7fe700010658) = 0 +43938255266134:43938255266777 26077:26082 hsa_system_get_info(2, 0x7fe700010660) = 0 +43938255267561:43938255268201 26077:26082 hsa_system_get_info(2, 0x7fe700010668) = 0 +43938255268972:43938255269615 26077:26082 hsa_system_get_info(2, 0x7fe700010670) = 0 +43938255271125:43938255271767 26077:26082 hsa_system_get_info(2, 0x7fe700010678) = 0 +43938255272538:43938255273183 26077:26082 hsa_system_get_info(2, 0x7fe700010680) = 0 +43938255273964:43938255274603 26077:26082 hsa_system_get_info(2, 0x7fe700010688) = 0 +43938255275403:43938255276049 26077:26082 hsa_system_get_info(2, 0x7fe700010690) = 0 +43938255276848:43938255277494 26077:26082 hsa_system_get_info(2, 0x7fe700010698) = 0 +43938255278268:43938255278920 26077:26082 hsa_system_get_info(2, 0x7fe7000106a0) = 0 +43938255279699:43938255280343 26077:26082 hsa_system_get_info(2, 0x7fe7000106a8) = 0 +43938255281128:43938255281770 26077:26082 hsa_system_get_info(2, 0x7fe7000106b0) = 0 +43938255282541:43938255283183 26077:26082 hsa_system_get_info(2, 0x7fe7000106b8) = 0 +43938255283965:43938255284607 26077:26082 hsa_system_get_info(2, 0x7fe7000106c0) = 0 +43938255285380:43938255286023 26077:26082 hsa_system_get_info(2, 0x7fe7000106c8) = 0 +43938255286811:43938255287453 26077:26082 hsa_system_get_info(2, 0x7fe7000106d0) = 0 +43938255288230:43938255288875 26077:26082 hsa_system_get_info(2, 0x7fe7000106d8) = 0 +43938255289654:43938255290294 26077:26082 hsa_system_get_info(2, 0x7fe7000106e0) = 0 +43938255291071:43938255291715 26077:26082 hsa_system_get_info(2, 0x7fe7000106e8) = 0 +43938255292495:43938255293139 26077:26082 hsa_system_get_info(2, 0x7fe7000106f0) = 0 +43938255293917:43938255294569 26077:26082 hsa_system_get_info(2, 0x7fe7000106f8) = 0 +43938255295341:43938255295987 26077:26082 hsa_system_get_info(2, 0x7fe700010700) = 0 +43938255296773:43938255297432 26077:26082 hsa_system_get_info(2, 0x7fe700010708) = 0 +43938255298212:43938255298857 26077:26082 hsa_system_get_info(2, 0x7fe700010710) = 0 +43938255299637:43938255300276 26077:26082 hsa_system_get_info(2, 0x7fe700010718) = 0 +43938255301055:43938255301697 26077:26082 hsa_system_get_info(2, 0x7fe700010720) = 0 +43938255302476:43938255303124 26077:26082 hsa_system_get_info(2, 0x7fe700010728) = 0 +43938255303909:43938255304552 26077:26082 hsa_system_get_info(2, 0x7fe700010730) = 0 +43938255305334:43938255305975 26077:26082 hsa_system_get_info(2, 0x7fe700010738) = 0 +43938255306751:43938255307394 26077:26082 hsa_system_get_info(2, 0x7fe700010740) = 0 +43938255308179:43938255308822 26077:26082 hsa_system_get_info(2, 0x7fe700010748) = 0 +43938255309597:43938255310243 26077:26082 hsa_system_get_info(2, 0x7fe700010750) = 0 +43938255311754:43938255312398 26077:26082 hsa_system_get_info(2, 0x7fe700010758) = 0 +43938255313181:43938255313825 26077:26082 hsa_system_get_info(2, 0x7fe700010760) = 0 +43938255314598:43938255315240 26077:26082 hsa_system_get_info(2, 0x7fe700010768) = 0 +43938255316021:43938255316662 26077:26082 hsa_system_get_info(2, 0x7fe700010770) = 0 +43938255317435:43938255318080 26077:26082 hsa_system_get_info(2, 0x7fe700010778) = 0 +43938255318853:43938255319511 26077:26082 hsa_system_get_info(2, 0x7fe700010780) = 0 +43938255320286:43938255320933 26077:26082 hsa_system_get_info(2, 0x7fe700010788) = 0 +43938255321728:43938255322372 26077:26082 hsa_system_get_info(2, 0x7fe700010790) = 0 +43938255323154:43938255323794 26077:26082 hsa_system_get_info(2, 0x7fe700010798) = 0 +43938255324567:43938255325207 26077:26082 hsa_system_get_info(2, 0x7fe7000107a0) = 0 +43938255325990:43938255326634 26077:26082 hsa_system_get_info(2, 0x7fe7000107a8) = 0 +43938255327418:43938255328057 26077:26082 hsa_system_get_info(2, 0x7fe7000107b0) = 0 +43938255328855:43938255329507 26077:26082 hsa_system_get_info(2, 0x7fe7000107b8) = 0 +43938255330285:43938255330924 26077:26082 hsa_system_get_info(2, 0x7fe7000107c0) = 0 +43938255331700:43938255332352 26077:26082 hsa_system_get_info(2, 0x7fe7000107c8) = 0 +43938255333126:43938255333772 26077:26082 hsa_system_get_info(2, 0x7fe7000107d0) = 0 +43938255334550:43938255335192 26077:26082 hsa_system_get_info(2, 0x7fe7000107d8) = 0 +43938255335973:43938255336620 26077:26082 hsa_system_get_info(2, 0x7fe7000107e0) = 0 +43938255337405:43938255338050 26077:26082 hsa_system_get_info(2, 0x7fe7000107e8) = 0 +43938255338823:43938255339473 26077:26082 hsa_system_get_info(2, 0x7fe7000107f0) = 0 +43938255340244:43938255340889 26077:26082 hsa_system_get_info(2, 0x7fe7000107f8) = 0 +43938255341687:43938255342334 26077:26082 hsa_system_get_info(2, 0x7fe700010800) = 0 +43938255343107:43938255343760 26077:26082 hsa_system_get_info(2, 0x7fe700010808) = 0 +43938255344534:43938255345177 26077:26082 hsa_system_get_info(2, 0x7fe700010810) = 0 +43938255345961:43938255346605 26077:26082 hsa_system_get_info(2, 0x7fe700010818) = 0 +43938255347379:43938255348024 26077:26082 hsa_system_get_info(2, 0x7fe700010820) = 0 +43938255348806:43938255349453 26077:26082 hsa_system_get_info(2, 0x7fe700010828) = 0 +43938255350225:43938255350869 26077:26082 hsa_system_get_info(2, 0x7fe700010830) = 0 +43938255351653:43938255352298 26077:26082 hsa_system_get_info(2, 0x7fe700010838) = 0 +43938255353810:43938255354457 26077:26082 hsa_system_get_info(2, 0x7fe700010840) = 0 +43938255355231:43938255355883 26077:26082 hsa_system_get_info(2, 0x7fe700010848) = 0 +43938255356655:43938255357299 26077:26082 hsa_system_get_info(2, 0x7fe700010850) = 0 +43938255358084:43938255358725 26077:26082 hsa_system_get_info(2, 0x7fe700010858) = 0 +43938255359501:43938255360142 26077:26082 hsa_system_get_info(2, 0x7fe700010860) = 0 +43938255360913:43938255361554 26077:26082 hsa_system_get_info(2, 0x7fe700010868) = 0 +43938255362346:43938255362987 26077:26082 hsa_system_get_info(2, 0x7fe700010870) = 0 +43938255363759:43938255364410 26077:26082 hsa_system_get_info(2, 0x7fe700010878) = 0 +43938255365183:43938255365826 26077:26082 hsa_system_get_info(2, 0x7fe700010880) = 0 +43938255366598:43938255367239 26077:26082 hsa_system_get_info(2, 0x7fe700010888) = 0 +43938255368017:43938255368663 26077:26082 hsa_system_get_info(2, 0x7fe700010890) = 0 +43938255369436:43938255370082 26077:26082 hsa_system_get_info(2, 0x7fe700010898) = 0 +43938255370865:43938255371508 26077:26082 hsa_system_get_info(2, 0x7fe7000108a0) = 0 +43938255372292:43938255372937 26077:26082 hsa_system_get_info(2, 0x7fe7000108a8) = 0 +43938255373715:43938255374355 26077:26082 hsa_system_get_info(2, 0x7fe7000108b0) = 0 +43938255375137:43938255375778 26077:26082 hsa_system_get_info(2, 0x7fe7000108b8) = 0 +43938255376550:43938255377191 26077:26082 hsa_system_get_info(2, 0x7fe7000108c0) = 0 +43938255377964:43938255378607 26077:26082 hsa_system_get_info(2, 0x7fe7000108c8) = 0 +43938255379390:43938255380031 26077:26082 hsa_system_get_info(2, 0x7fe7000108d0) = 0 +43938255380822:43938255381466 26077:26082 hsa_system_get_info(2, 0x7fe7000108d8) = 0 +43938255382243:43938255382883 26077:26082 hsa_system_get_info(2, 0x7fe7000108e0) = 0 +43938255383666:43938255384314 26077:26082 hsa_system_get_info(2, 0x7fe7000108e8) = 0 +43938255385087:43938255385741 26077:26082 hsa_system_get_info(2, 0x7fe7000108f0) = 0 +43938255386516:43938255387160 26077:26082 hsa_system_get_info(2, 0x7fe7000108f8) = 0 +43938255387942:43938255388591 26077:26082 hsa_system_get_info(2, 0x7fe700010900) = 0 +43938255389368:43938255390012 26077:26082 hsa_system_get_info(2, 0x7fe700010908) = 0 +43938255390798:43938255391444 26077:26082 hsa_system_get_info(2, 0x7fe700010910) = 0 +43938255392230:43938255392876 26077:26082 hsa_system_get_info(2, 0x7fe700010918) = 0 +43938255394406:43938255395073 26077:26082 hsa_system_get_info(2, 0x7fe700010920) = 0 +43938255395847:43938255396492 26077:26082 hsa_system_get_info(2, 0x7fe700010928) = 0 +43938255397294:43938255397951 26077:26082 hsa_system_get_info(2, 0x7fe700010930) = 0 +43938255398723:43938255399363 26077:26082 hsa_system_get_info(2, 0x7fe700010938) = 0 +43938255400135:43938255400775 26077:26082 hsa_system_get_info(2, 0x7fe700010940) = 0 +43938255401554:43938255402197 26077:26082 hsa_system_get_info(2, 0x7fe700010948) = 0 +43938255402971:43938255403614 26077:26082 hsa_system_get_info(2, 0x7fe700010950) = 0 +43938255404395:43938255405041 26077:26082 hsa_system_get_info(2, 0x7fe700010958) = 0 +43938255405836:43938255406483 26077:26082 hsa_system_get_info(2, 0x7fe700010960) = 0 +43938255407258:43938255407914 26077:26082 hsa_system_get_info(2, 0x7fe700010968) = 0 +43938255408690:43938255409338 26077:26082 hsa_system_get_info(2, 0x7fe700010970) = 0 +43938255410125:43938255410773 26077:26082 hsa_system_get_info(2, 0x7fe700010978) = 0 +43938255411560:43938255412199 26077:26082 hsa_system_get_info(2, 0x7fe700010980) = 0 +43938255412977:43938255413616 26077:26082 hsa_system_get_info(2, 0x7fe700010988) = 0 +43938255414387:43938255415037 26077:26082 hsa_system_get_info(2, 0x7fe700010990) = 0 +43938255415808:43938255416445 26077:26082 hsa_system_get_info(2, 0x7fe700010998) = 0 +43938255417216:43938255417857 26077:26082 hsa_system_get_info(2, 0x7fe7000109a0) = 0 +43938255418629:43938255419282 26077:26082 hsa_system_get_info(2, 0x7fe7000109a8) = 0 +43938255420056:43938255420697 26077:26082 hsa_system_get_info(2, 0x7fe7000109b0) = 0 +43938255421472:43938255422112 26077:26082 hsa_system_get_info(2, 0x7fe7000109b8) = 0 +43938255422895:43938255423534 26077:26082 hsa_system_get_info(2, 0x7fe7000109c0) = 0 +43938255424327:43938255424971 26077:26082 hsa_system_get_info(2, 0x7fe7000109c8) = 0 +43938255425744:43938255426386 26077:26082 hsa_system_get_info(2, 0x7fe7000109d0) = 0 +43938255427154:43938255427806 26077:26082 hsa_system_get_info(2, 0x7fe7000109d8) = 0 +43938255428578:43938255429216 26077:26082 hsa_system_get_info(2, 0x7fe7000109e0) = 0 +43938255429993:43938255430648 26077:26082 hsa_system_get_info(2, 0x7fe7000109e8) = 0 +43938255431424:43938255432067 26077:26082 hsa_system_get_info(2, 0x7fe7000109f0) = 0 +43938255432850:43938255433495 26077:26082 hsa_system_get_info(2, 0x7fe7000109f8) = 0 +43938255434269:43938255434914 26077:26082 hsa_system_get_info(2, 0x7fe700010a00) = 0 +43938255436421:43938255437068 26077:26082 hsa_system_get_info(2, 0x7fe700010a08) = 0 +43938255437841:43938255438481 26077:26082 hsa_system_get_info(2, 0x7fe700010a10) = 0 +43938255439261:43938255439908 26077:26082 hsa_system_get_info(2, 0x7fe700010a18) = 0 +43938255440680:43938255441335 26077:26082 hsa_system_get_info(2, 0x7fe700010a20) = 0 +43938255442109:43938255442749 26077:26082 hsa_system_get_info(2, 0x7fe700010a28) = 0 +43938255443518:43938255444158 26077:26082 hsa_system_get_info(2, 0x7fe700010a30) = 0 +43938255444941:43938255445586 26077:26082 hsa_system_get_info(2, 0x7fe700010a38) = 0 +43938255446362:43938255447017 26077:26082 hsa_system_get_info(2, 0x7fe700010a40) = 0 +43938255447795:43938255448437 26077:26082 hsa_system_get_info(2, 0x7fe700010a48) = 0 +43938255449220:43938255449866 26077:26082 hsa_system_get_info(2, 0x7fe700010a50) = 0 +43938255450640:43938255451286 26077:26082 hsa_system_get_info(2, 0x7fe700010a58) = 0 +43938255452068:43938255452712 26077:26082 hsa_system_get_info(2, 0x7fe700010a60) = 0 +43938255453508:43938255454148 26077:26082 hsa_system_get_info(2, 0x7fe700010a68) = 0 +43938255454943:43938255455593 26077:26082 hsa_system_get_info(2, 0x7fe700010a70) = 0 +43938255456370:43938255457012 26077:26082 hsa_system_get_info(2, 0x7fe700010a78) = 0 +43938255457791:43938255458442 26077:26082 hsa_system_get_info(2, 0x7fe700010a80) = 0 +43938255459223:43938255459852 26077:26082 hsa_system_get_info(2, 0x7fe700010a88) = 0 +43938255460631:43938255461275 26077:26082 hsa_system_get_info(2, 0x7fe700010a90) = 0 +43938255462049:43938255462707 26077:26082 hsa_system_get_info(2, 0x7fe700010a98) = 0 +43938255463482:43938255464127 26077:26082 hsa_system_get_info(2, 0x7fe700010aa0) = 0 +43938255464908:43938255465556 26077:26082 hsa_system_get_info(2, 0x7fe700010aa8) = 0 +43938255466328:43938255466973 26077:26082 hsa_system_get_info(2, 0x7fe700010ab0) = 0 +43938255467756:43938255468400 26077:26082 hsa_system_get_info(2, 0x7fe700010ab8) = 0 +43938255469171:43938255469817 26077:26082 hsa_system_get_info(2, 0x7fe700010ac0) = 0 +43938255470599:43938255471241 26077:26082 hsa_system_get_info(2, 0x7fe700010ac8) = 0 +43938255472015:43938255472654 26077:26082 hsa_system_get_info(2, 0x7fe700010ad0) = 0 +43938255473434:43938255474096 26077:26082 hsa_system_get_info(2, 0x7fe700010ad8) = 0 +43938255474876:43938255475518 26077:26082 hsa_system_get_info(2, 0x7fe700010ae0) = 0 +43938255477103:43938255477757 26077:26082 hsa_system_get_info(2, 0x7fe700010ae8) = 0 +43938255478532:43938255479177 26077:26082 hsa_system_get_info(2, 0x7fe700010af0) = 0 +43938255479958:43938255480598 26077:26082 hsa_system_get_info(2, 0x7fe700010af8) = 0 +43938255481377:43938255482018 26077:26082 hsa_system_get_info(2, 0x7fe700010b00) = 0 +43938255482799:43938255483436 26077:26082 hsa_system_get_info(2, 0x7fe700010b08) = 0 +43938255484211:43938255484855 26077:26082 hsa_system_get_info(2, 0x7fe700010b10) = 0 +43938255485639:43938255486280 26077:26082 hsa_system_get_info(2, 0x7fe700010b18) = 0 +43938255487053:43938255487696 26077:26082 hsa_system_get_info(2, 0x7fe700010b20) = 0 +43938255488479:43938255489122 26077:26082 hsa_system_get_info(2, 0x7fe700010b28) = 0 +43938255489899:43938255490548 26077:26082 hsa_system_get_info(2, 0x7fe700010b30) = 0 +43938255491332:43938255491975 26077:26082 hsa_system_get_info(2, 0x7fe700010b38) = 0 +43938255492752:43938255493402 26077:26082 hsa_system_get_info(2, 0x7fe700010b40) = 0 +43938255494181:43938255494824 26077:26082 hsa_system_get_info(2, 0x7fe700010b48) = 0 +43938255495620:43938255496262 26077:26082 hsa_system_get_info(2, 0x7fe700010b50) = 0 +43938255497047:43938255497692 26077:26082 hsa_system_get_info(2, 0x7fe700010b58) = 0 +43938255498470:43938255499115 26077:26082 hsa_system_get_info(2, 0x7fe700010b60) = 0 +43938255499896:43938255500545 26077:26082 hsa_system_get_info(2, 0x7fe700010b68) = 0 +43938255501330:43938255501971 26077:26082 hsa_system_get_info(2, 0x7fe700010b70) = 0 +43938255502749:43938255503392 26077:26082 hsa_system_get_info(2, 0x7fe700010b78) = 0 +43938255504175:43938255504819 26077:26082 hsa_system_get_info(2, 0x7fe700010b80) = 0 +43938255505596:43938255506235 26077:26082 hsa_system_get_info(2, 0x7fe700010b88) = 0 +43938255507015:43938255507657 26077:26082 hsa_system_get_info(2, 0x7fe700010b90) = 0 +43938255508434:43938255509077 26077:26082 hsa_system_get_info(2, 0x7fe700010b98) = 0 +43938255509856:43938255510503 26077:26082 hsa_system_get_info(2, 0x7fe700010ba0) = 0 +43938255511294:43938255511938 26077:26082 hsa_system_get_info(2, 0x7fe700010ba8) = 0 +43938255512713:43938255513374 26077:26082 hsa_system_get_info(2, 0x7fe700010bb0) = 0 +43938255514151:43938255514821 26077:26082 hsa_system_get_info(2, 0x7fe700010bb8) = 0 +43938255515597:43938255516241 26077:26082 hsa_system_get_info(2, 0x7fe700010bc0) = 0 +43938255517028:43938255517674 26077:26082 hsa_system_get_info(2, 0x7fe700010bc8) = 0 +43938255519204:43938255519859 26077:26082 hsa_system_get_info(2, 0x7fe700010bd0) = 0 +43938255520633:43938255521279 26077:26082 hsa_system_get_info(2, 0x7fe700010bd8) = 0 +43938255522061:43938255522706 26077:26082 hsa_system_get_info(2, 0x7fe700010be0) = 0 +43938255523507:43938255524148 26077:26082 hsa_system_get_info(2, 0x7fe700010be8) = 0 +43938255524921:43938255525567 26077:26082 hsa_system_get_info(2, 0x7fe700010bf0) = 0 +43938255526351:43938255526990 26077:26082 hsa_system_get_info(2, 0x7fe700010bf8) = 0 +43938255527767:43938255528411 26077:26082 hsa_system_get_info(2, 0x7fe700010c00) = 0 +43938255529190:43938255529831 26077:26082 hsa_system_get_info(2, 0x7fe700010c08) = 0 +43938255530607:43938255531248 26077:26082 hsa_system_get_info(2, 0x7fe700010c10) = 0 +43938255532031:43938255532673 26077:26082 hsa_system_get_info(2, 0x7fe700010c18) = 0 +43938255533456:43938255534094 26077:26082 hsa_system_get_info(2, 0x7fe700010c20) = 0 +43938255534873:43938255535516 26077:26082 hsa_system_get_info(2, 0x7fe700010c28) = 0 +43938255536290:43938255536938 26077:26082 hsa_system_get_info(2, 0x7fe700010c30) = 0 +43938255537720:43938255538356 26077:26082 hsa_system_get_info(2, 0x7fe700010c38) = 0 +43938255539130:43938255539772 26077:26082 hsa_system_get_info(2, 0x7fe700010c40) = 0 +43938255540557:43938255541205 26077:26082 hsa_system_get_info(2, 0x7fe700010c48) = 0 +43938255541980:43938255542631 26077:26082 hsa_system_get_info(2, 0x7fe700010c50) = 0 +43938255543410:43938255544077 26077:26082 hsa_system_get_info(2, 0x7fe700010c58) = 0 +43938255544851:43938255545498 26077:26082 hsa_system_get_info(2, 0x7fe700010c60) = 0 +43938255546281:43938255546922 26077:26082 hsa_system_get_info(2, 0x7fe700010c68) = 0 +43938255547699:43938255548354 26077:26082 hsa_system_get_info(2, 0x7fe700010c70) = 0 +43938255549129:43938255549778 26077:26082 hsa_system_get_info(2, 0x7fe700010c78) = 0 +43938255550561:43938255551205 26077:26082 hsa_system_get_info(2, 0x7fe700010c80) = 0 +43938255551980:43938255552637 26077:26082 hsa_system_get_info(2, 0x7fe700010c88) = 0 +43938255553410:43938255554055 26077:26082 hsa_system_get_info(2, 0x7fe700010c90) = 0 +43938255554826:43938255555469 26077:26082 hsa_system_get_info(2, 0x7fe700010c98) = 0 +43938255556250:43938255556891 26077:26082 hsa_system_get_info(2, 0x7fe700010ca0) = 0 +43938255557669:43938255558306 26077:26082 hsa_system_get_info(2, 0x7fe700010ca8) = 0 +43938255559819:43938255560464 26077:26082 hsa_system_get_info(2, 0x7fe700010cb0) = 0 +43938255561245:43938255561883 26077:26082 hsa_system_get_info(2, 0x7fe700010cb8) = 0 +43938255562655:43938255563302 26077:26082 hsa_system_get_info(2, 0x7fe700010cc0) = 0 +43938255564071:43938255564725 26077:26082 hsa_system_get_info(2, 0x7fe700010cc8) = 0 +43938255565501:43938255566143 26077:26082 hsa_system_get_info(2, 0x7fe700010cd0) = 0 +43938255566925:43938255567568 26077:26082 hsa_system_get_info(2, 0x7fe700010cd8) = 0 +43938255568339:43938255568980 26077:26082 hsa_system_get_info(2, 0x7fe700010ce0) = 0 +43938255569757:43938255570394 26077:26082 hsa_system_get_info(2, 0x7fe700010ce8) = 0 +43938255571180:43938255571822 26077:26082 hsa_system_get_info(2, 0x7fe700010cf0) = 0 +43938255572598:43938255573238 26077:26082 hsa_system_get_info(2, 0x7fe700010cf8) = 0 +43938255574019:43938255574661 26077:26082 hsa_system_get_info(2, 0x7fe700010d00) = 0 +43938255575466:43938255576105 26077:26082 hsa_system_get_info(2, 0x7fe700010d08) = 0 +43938255576892:43938255577522 26077:26082 hsa_system_get_info(2, 0x7fe700010d10) = 0 +43938255578303:43938255578943 26077:26082 hsa_system_get_info(2, 0x7fe700010d18) = 0 +43938255579721:43938255580362 26077:26082 hsa_system_get_info(2, 0x7fe700010d20) = 0 +43938255581145:43938255581787 26077:26082 hsa_system_get_info(2, 0x7fe700010d28) = 0 +43938255582564:43938255583215 26077:26082 hsa_system_get_info(2, 0x7fe700010d30) = 0 +43938255583992:43938255584634 26077:26082 hsa_system_get_info(2, 0x7fe700010d38) = 0 +43938255585405:43938255586059 26077:26082 hsa_system_get_info(2, 0x7fe700010d40) = 0 +43938255586831:43938255587473 26077:26082 hsa_system_get_info(2, 0x7fe700010d48) = 0 +43938255588244:43938255588901 26077:26082 hsa_system_get_info(2, 0x7fe700010d50) = 0 +43938255589675:43938255590324 26077:26082 hsa_system_get_info(2, 0x7fe700010d58) = 0 +43938255591105:43938255591746 26077:26082 hsa_system_get_info(2, 0x7fe700010d60) = 0 +43938255592518:43938255593158 26077:26082 hsa_system_get_info(2, 0x7fe700010d68) = 0 +43938255593939:43938255594581 26077:26082 hsa_system_get_info(2, 0x7fe700010d70) = 0 +43938255595357:43938255596022 26077:26082 hsa_system_get_info(2, 0x7fe700010d78) = 0 +43938255596803:43938255597451 26077:26082 hsa_system_get_info(2, 0x7fe700010d80) = 0 +43938255598234:43938255598879 26077:26082 hsa_system_get_info(2, 0x7fe700010d88) = 0 +43938255599652:43938255600288 26077:26082 hsa_system_get_info(2, 0x7fe700010d90) = 0 +43938255601830:43938255602481 26077:26082 hsa_system_get_info(2, 0x7fe700010d98) = 0 +43938255603255:43938255603894 26077:26082 hsa_system_get_info(2, 0x7fe700010da0) = 0 +43938255604679:43938255605319 26077:26082 hsa_system_get_info(2, 0x7fe700010da8) = 0 +43938255606116:43938255606758 26077:26082 hsa_system_get_info(2, 0x7fe700010db0) = 0 +43938255607534:43938255608178 26077:26082 hsa_system_get_info(2, 0x7fe700010db8) = 0 +43938255608956:43938255609599 26077:26082 hsa_system_get_info(2, 0x7fe700010dc0) = 0 +43938255610371:43938255611016 26077:26082 hsa_system_get_info(2, 0x7fe700010dc8) = 0 +43938255611796:43938255612439 26077:26082 hsa_system_get_info(2, 0x7fe700010dd0) = 0 +43938255613214:43938255613853 26077:26082 hsa_system_get_info(2, 0x7fe700010dd8) = 0 +43938255614635:43938255615280 26077:26082 hsa_system_get_info(2, 0x7fe700010de0) = 0 +43938255616064:43938255616714 26077:26082 hsa_system_get_info(2, 0x7fe700010de8) = 0 +43938255617505:43938255618158 26077:26082 hsa_system_get_info(2, 0x7fe700010df0) = 0 +43938255618931:43938255619576 26077:26082 hsa_system_get_info(2, 0x7fe700010df8) = 0 +43938255620355:43938255621000 26077:26082 hsa_system_get_info(2, 0x7fe700010e00) = 0 +43938255621776:43938255622424 26077:26082 hsa_system_get_info(2, 0x7fe700010e08) = 0 +43938255623210:43938255623852 26077:26082 hsa_system_get_info(2, 0x7fe700010e10) = 0 +43938255624645:43938255625288 26077:26082 hsa_system_get_info(2, 0x7fe700010e18) = 0 +43938255626060:43938255626702 26077:26082 hsa_system_get_info(2, 0x7fe700010e20) = 0 +43938255627470:43938255628122 26077:26082 hsa_system_get_info(2, 0x7fe700010e28) = 0 +43938255628890:43938255629533 26077:26082 hsa_system_get_info(2, 0x7fe700010e30) = 0 +43938255630305:43938255630946 26077:26082 hsa_system_get_info(2, 0x7fe700010e38) = 0 +43938255631727:43938255632372 26077:26082 hsa_system_get_info(2, 0x7fe700010e40) = 0 +43938255633149:43938255633791 26077:26082 hsa_system_get_info(2, 0x7fe700010e48) = 0 +43938255634570:43938255635211 26077:26082 hsa_system_get_info(2, 0x7fe700010e50) = 0 +43938255635984:43938255636628 26077:26082 hsa_system_get_info(2, 0x7fe700010e58) = 0 +43938255637408:43938255638050 26077:26082 hsa_system_get_info(2, 0x7fe700010e60) = 0 +43938255638821:43938255639464 26077:26082 hsa_system_get_info(2, 0x7fe700010e68) = 0 +43938255640236:43938255640877 26077:26082 hsa_system_get_info(2, 0x7fe700010e70) = 0 +43938255642392:43938255643039 26077:26082 hsa_system_get_info(2, 0x7fe700010e78) = 0 +43938255643823:43938255644463 26077:26082 hsa_system_get_info(2, 0x7fe700010e80) = 0 +43938255645238:43938255645890 26077:26082 hsa_system_get_info(2, 0x7fe700010e88) = 0 +43938255646660:43938255647298 26077:26082 hsa_system_get_info(2, 0x7fe700010e90) = 0 +43938255648066:43938255648704 26077:26082 hsa_system_get_info(2, 0x7fe700010e98) = 0 +43938255649475:43938255650113 26077:26082 hsa_system_get_info(2, 0x7fe700010ea0) = 0 +43938255650896:43938255651539 26077:26082 hsa_system_get_info(2, 0x7fe700010ea8) = 0 +43938255652313:43938255652955 26077:26082 hsa_system_get_info(2, 0x7fe700010eb0) = 0 +43938255653738:43938255654386 26077:26082 hsa_system_get_info(2, 0x7fe700010eb8) = 0 +43938255655156:43938255655800 26077:26082 hsa_system_get_info(2, 0x7fe700010ec0) = 0 +43938255656582:43938255657225 26077:26082 hsa_system_get_info(2, 0x7fe700010ec8) = 0 +43938255658005:43938255658640 26077:26082 hsa_system_get_info(2, 0x7fe700010ed0) = 0 +43938255659426:43938255660071 26077:26082 hsa_system_get_info(2, 0x7fe700010ed8) = 0 +43938255660847:43938255661513 26077:26082 hsa_system_get_info(2, 0x7fe700010ee0) = 0 +43938255662285:43938255662940 26077:26082 hsa_system_get_info(2, 0x7fe700010ee8) = 0 +43938255663713:43938255664357 26077:26082 hsa_system_get_info(2, 0x7fe700010ef0) = 0 +43938255665128:43938255665772 26077:26082 hsa_system_get_info(2, 0x7fe700010ef8) = 0 +43938255666557:43938255667208 26077:26082 hsa_system_get_info(2, 0x7fe700010f00) = 0 +43938255667995:43938255668645 26077:26082 hsa_system_get_info(2, 0x7fe700010f08) = 0 +43938255669426:43938255670068 26077:26082 hsa_system_get_info(2, 0x7fe700010f10) = 0 +43938255670842:43938255671484 26077:26082 hsa_system_get_info(2, 0x7fe700010f18) = 0 +43938255672255:43938255672910 26077:26082 hsa_system_get_info(2, 0x7fe700010f20) = 0 +43938255673697:43938255674351 26077:26082 hsa_system_get_info(2, 0x7fe700010f28) = 0 +43938255675125:43938255675771 26077:26082 hsa_system_get_info(2, 0x7fe700010f30) = 0 +43938255676554:43938255677213 26077:26082 hsa_system_get_info(2, 0x7fe700010f38) = 0 +43938255677996:43938255678639 26077:26082 hsa_system_get_info(2, 0x7fe700010f40) = 0 +43938255679416:43938255680059 26077:26082 hsa_system_get_info(2, 0x7fe700010f48) = 0 +43938255680837:43938255681481 26077:26082 hsa_system_get_info(2, 0x7fe700010f50) = 0 +43938255683001:43938255683647 26077:26082 hsa_system_get_info(2, 0x7fe700010f58) = 0 +43938255691866:43938255692521 26077:26082 hsa_system_get_info(2, 0x7fe7197f9868) = 0 +43938255693413:43938255695018 26077:26082 hsa_signal_create(1, , 0, 0x7fe743fff050) = 0 +43938255696005:43938255698869 26077:26082 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7fe743fff010) = 0 +43938255699813:43938255815880 26077:26082 hsa_amd_memory_async_copy(0x800db0000, , 0x901203000, , , , 0, ) = 0 +43938255835309:43938255838422 26077:26080 hsa_amd_profiling_get_async_copy_time(, 0x7fe755497c40) = 0 +43938255839862:43938255840555 26077:26080 hsa_system_get_info(2, 0x7fe755497ba8) = 0 +43938255841559:43938255842002 26077:26080 hsa_signal_load_relaxed() = 1 +43938255817234:43938255843415 26077:26082 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 +43938255842844:43938255843981 26077:26080 hsa_signal_store_screlease(, 0) = void +43938255844380:43938255845066 26077:26082 hsa_signal_destroy() = 0 +43938255844903:43938255845419 26077:26080 hsa_signal_destroy() = 0 +43938256011921:43938256030348 26077:26082 hsa_memory_free(0x800db0000) = 0 +43938256075235:43938256088243 26077:26082 hsa_executable_destroy() = 0 +43938256089338:43938256090186 26077:26082 hsa_signal_destroy() = 0 +43938256093081:43938256631443 26077:26082 hsa_queue_destroy() = 0 +43938255822636:43938255832236 async-copy0 diff --git a/test/tests_trace_cmp_levels.txt b/test/golden_traces/tests_trace_cmp_levels.txt similarity index 73% rename from test/tests_trace_cmp_levels.txt rename to test/golden_traces/tests_trace_cmp_levels.txt index 5d9f7d93c1..80e22ab73d 100644 --- a/test/tests_trace_cmp_levels.txt +++ b/test/golden_traces/tests_trace_cmp_levels.txt @@ -1,8 +1,9 @@ -ctrl_hsa_input_trace 0 -ctrl_hsa_trace 1 MatrixTranspose_ctest_trace 3 -MatrixTranspose_hip_trace 1 -MatrixTranspose_mgpu_trace 1 -MatrixTranspose_sys_hsa_trace 2 -MatrixTranspose_sys_trace 1 MatrixTranspose_test_trace 1 +MatrixTranspose_mgpu_trace 1 +MatrixTranspose_sys_trace 1 +MatrixTranspose_sys_hsa_trace 2 +MatrixTranspose_hip_period_trace 1 +MatrixTranspose_hip_flush_trace 1 +ctrl_hsa_trace 1 +ctrl_hsa_input_trace 0 diff --git a/test/run.sh b/test/run.sh index 48dfda752d..4fedc6cece 100755 --- a/test/run.sh +++ b/test/run.sh @@ -33,16 +33,12 @@ if [ -n "$1" ] ; then test_filter=$1 fi -# debugger -debugger="" -if [ -n "$3" ] ; then - debugger=$3 -fi - # test check routin test_status=0 test_runnum=0 test_number=0 +failed_tests="Failed tests:" + xeval_test() { test_number=$test_number } @@ -50,33 +46,36 @@ xeval_test() { eval_test() { label=$1 cmdline=$2 - rtrace="${3}_r.txt" + test_name=$3 + test_trace=$test_name.txt + if [ $test_filter = -1 -o $test_filter = $test_number ] ; then - echo "$label: \"$cmdline\"" + echo "test $test_number: $test_name \"$label\"" + echo "CMD: \"$cmdline\"" test_runnum=$((test_runnum + 1)) - eval "$debugger $cmdline" | tee $rtrace - if [ $? != 0 ] ; then - echo "$label: FAILED" - test_status=$(($test_status + 1)) + eval "$cmdline" | tee $test_trace + is_failed=$? + if [ $is_failed = 0 ] ; then + python ../script/check_trace.py -in $test_name + is_failed=$? + fi + if [ $is_failed = 0 ] ; then + echo "$test_name: PASSED" else - echo "Comparing traces: ../script/check_trace.py -in $3" - eval "../script/check_trace.py -in $3" - if [ $? != 0 ] ; then - echo "$label: FAILED trace comparison" - test_status=$(($test_status + 1)) - else - echo "$label: PASSED trace comparison" - fi + echo "$test_name: FAILED" + failed_tests="$failed_tests\n $test_number: $test_name" + test_status=$(($test_status + 1)) fi fi + test_number=$((test_number + 1)) } # Standalone test # rocTrecer is used explicitely by test -eval_test "standalone C test" "LD_PRELOAD=libkfdwrapper64.so ./test/MatrixTranspose_ctest" "test/MatrixTranspose_ctest_trace" -eval_test "standalone HIP test" "LD_PRELOAD=libkfdwrapper64.so ./test/MatrixTranspose_test" "test/MatrixTranspose_test_trace" -eval_test "standalone HIP MGPU test" "LD_PRELOAD=libkfdwrapper64.so ./test/MatrixTranspose_mgpu" "test/MatrixTranspose_mgpu_trace" +eval_test "standalone C test" "LD_PRELOAD=libkfdwrapper64.so ./test/MatrixTranspose_ctest" MatrixTranspose_ctest_trace +eval_test "standalone HIP test" "LD_PRELOAD=libkfdwrapper64.so ./test/MatrixTranspose_test" MatrixTranspose_test_trace +eval_test "standalone HIP MGPU test" "LD_PRELOAD=libkfdwrapper64.so ./test/MatrixTranspose_mgpu" MatrixTranspose_mgpu_trace # Tool test # rocTracer/tool is loaded by HSA runtime @@ -84,13 +83,13 @@ export HSA_TOOLS_LIB="test/libtracer_tool.so" # SYS test export ROCTRACER_DOMAIN="sys:roctx" -eval_test "tool SYS test" ./test/MatrixTranspose "test/MatrixTranspose_sys_trace" +eval_test "tool SYS test" ./test/MatrixTranspose MatrixTranspose_sys_trace export ROCTRACER_DOMAIN="sys:hsa:roctx" -eval_test "tool SYS/HSA test" ./test/MatrixTranspose "test/MatrixTranspose_sys_hsa_trace" +eval_test "tool SYS/HSA test" ./test/MatrixTranspose MatrixTranspose_sys_hsa_trace # Tracing control export ROCTRACER_DOMAIN="hip" -eval_test "tool period test" "ROCP_CTRL_RATE=10:100000:1000000 ./test/MatrixTranspose" "test/MatrixTranspose_hip_trace" -eval_test "tool flushing test" "ROCP_FLUSH_RATE=100000 ./test/MatrixTranspose" "test/MatrixTranspose_hip_trace_flush" +eval_test "tool period test" "ROCP_CTRL_RATE=10:100000:1000000 ./test/MatrixTranspose" MatrixTranspose_hip_period_trace +eval_test "tool flushing test" "ROCP_FLUSH_RATE=100000 ./test/MatrixTranspose" MatrixTranspose_hip_flush_trace # HSA test export ROCTRACER_DOMAIN="hsa" @@ -107,15 +106,18 @@ export ROCP_AGENTS=1 # each thread creates a queue pre GPU agent export ROCP_THRS=1 -eval_test "tool HSA test" ./test/hsa/ctrl "test/ctrl_hsa_trace" +eval_test "tool HSA test" ./test/hsa/ctrl ctrl_hsa_trace echo "" > input.xml export ROCP_INPUT=input.xml -eval_test "tool HSA test input" ./test/hsa/ctrl "test/ctrl_hsa_input_trace" +eval_test "tool HSA test input" ./test/hsa/ctrl ctrl_hsa_input_trace #valgrind --leak-check=full $tbin #valgrind --tool=massif $tbin #ms_print massif.out. echo "$test_number tests total / $test_runnum tests run / $test_status tests failed" +if [ $test_status != 0 ] ; then + echo $failed_tests +fi exit $test_status From ef211a5adfcdb4b6d9b1a61e7e2825877e7ded4e Mon Sep 17 00:00:00 2001 From: Evgeny Date: Fri, 27 Mar 2020 09:30:12 -0500 Subject: [PATCH 354/691] packaging fix --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index eb65300fd8..133b07142b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -99,7 +99,7 @@ set ( PUBLIC_HEADERS ) ## Installation and packaging -set ( DEST_NAME ${ROCPROFILER_NAME} ) +set ( DEST_NAME ${ROCTRACER_NAME} ) if ( DEFINED CPACK_PACKAGING_INSTALL_PREFIX ) get_filename_component ( DEST_NAME ${CPACK_PACKAGING_INSTALL_PREFIX} NAME ) get_filename_component ( DEST_DIR ${CPACK_PACKAGING_INSTALL_PREFIX} DIRECTORY ) From d94a6552376a04daa05b443db434831626c8d698 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Fri, 27 Mar 2020 15:14:33 -0500 Subject: [PATCH 355/691] update: test passed --- test/golden_traces/tests_trace_cmp_levels.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/golden_traces/tests_trace_cmp_levels.txt b/test/golden_traces/tests_trace_cmp_levels.txt index 80e22ab73d..a89ffbb37e 100644 --- a/test/golden_traces/tests_trace_cmp_levels.txt +++ b/test/golden_traces/tests_trace_cmp_levels.txt @@ -3,7 +3,7 @@ MatrixTranspose_test_trace 1 MatrixTranspose_mgpu_trace 1 MatrixTranspose_sys_trace 1 MatrixTranspose_sys_hsa_trace 2 -MatrixTranspose_hip_period_trace 1 +MatrixTranspose_hip_period_trace 0 MatrixTranspose_hip_flush_trace 1 ctrl_hsa_trace 1 -ctrl_hsa_input_trace 0 +ctrl_hsa_input_trace 2 From 9f45b76a3d457fa60d6385458d1db245a0103c93 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Sat, 28 Mar 2020 21:39:31 -0500 Subject: [PATCH 356/691] build and test scripts update --- build.sh | 4 ++++ defaults.sh | 2 ++ test/run.sh | 6 +++++- 3 files changed, 11 insertions(+), 1 deletion(-) create mode 100644 defaults.sh diff --git a/build.sh b/build.sh index 6d04e7b2a0..5bfb5de34f 100755 --- a/build.sh +++ b/build.sh @@ -3,6 +3,7 @@ SRC_DIR=`dirname $0` COMPONENT="roctracer" ROCM_PATH="${ROCM_PATH:=/opt/rocm}" LD_RUNPATH_FLAG=" -Wl,--enable-new-dtags -Wl,--rpath,$ROCM_PATH/lib:$ROCM_PATH/lib64" +DEFAULTS=defaults.sh fatal() { echo "$1" @@ -11,6 +12,8 @@ fatal() { umask 022 +if [ -e "$DEFAULTS" ] ; then source "$DEFAULTS"; fi + if [ -z "$ROCTRACER_ROOT" ]; then ROCTRACER_ROOT=$SRC_DIR; fi if [ -z "$BUILD_DIR" ] ; then BUILD_DIR=$PWD; fi if [ -z "$HIP_PATH" ] ; then export HIP_PATH="$ROCM_PATH/hip"; fi @@ -24,6 +27,7 @@ if [ -n "$ROCM_RPATH" ] ; then LD_RUNPATH_FLAG=" -Wl,--enable-new-dtags -Wl,--rp ROCTRACER_ROOT=$(cd $ROCTRACER_ROOT && echo $PWD) +if [ "$TO_CLEAN" = "yes" ] ; then rm -rf $BUILD_DIR; fi mkdir -p $BUILD_DIR pushd $BUILD_DIR diff --git a/defaults.sh b/defaults.sh new file mode 100644 index 0000000000..d6d21b9506 --- /dev/null +++ b/defaults.sh @@ -0,0 +1,2 @@ +BUILD_DIR=build +TO_CLEAN=yes diff --git a/test/run.sh b/test/run.sh index 4fedc6cece..9426523d9f 100755 --- a/test/run.sh +++ b/test/run.sh @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/sh -x ################################################################################ # Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. @@ -22,6 +22,10 @@ # THE SOFTWARE. ################################################################################ +# cd to build directory +BIN_DIR=`dirname $0` +cd $BIN_DIR + # enable tools load failure reporting export HSA_TOOLS_REPORT_LOAD_FAILURE=1 # paths to ROC profiler and oher libraries From 01bd142fd364cd39dbafd8495e771d1d1dcfdf35 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Sat, 28 Mar 2020 22:01:09 -0500 Subject: [PATCH 357/691] test scripts update --- test/run.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/run.sh b/test/run.sh index 9426523d9f..2fcfa1d6e7 100755 --- a/test/run.sh +++ b/test/run.sh @@ -28,7 +28,7 @@ cd $BIN_DIR # enable tools load failure reporting export HSA_TOOLS_REPORT_LOAD_FAILURE=1 -# paths to ROC profiler and oher libraries +# paths to ROC profiler and other libraries export LD_LIBRARY_PATH=$PWD # test filter input @@ -67,7 +67,7 @@ eval_test() { echo "$test_name: PASSED" else echo "$test_name: FAILED" - failed_tests="$failed_tests\n $test_number: $test_name" + failed_tests="$failed_tests\n $test_number: $test_name - \"$label\"" test_status=$(($test_status + 1)) fi fi From eabcc06785ac6d0d8718228676e50f62691df71e Mon Sep 17 00:00:00 2001 From: rkebichi <54912798+rkebichi@users.noreply.github.com> Date: Mon, 30 Mar 2020 16:59:11 -0400 Subject: [PATCH 358/691] Update CMakeLists.txt Adding ostream ops for HIP. --- src/CMakeLists.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 2dd3ed11d0..6d8c020b2a 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -23,6 +23,7 @@ set ( KFD_LIB_SRC ) execute_process ( COMMAND sh -xc "${CMAKE_CXX_COMPILER} -E ${HSA_KMT_INC_PATH}/hsakmttypes.h > ${PROJECT_BINARY_DIR}/hsakmttypes_pp.h" ) execute_process ( COMMAND sh -xc "${ROOT_DIR}/script/gen_ostream_ops.py -in ${PROJECT_BINARY_DIR}/hsakmttypes_pp.h -out ${ROOT_DIR}/inc/kfd_ostream_ops.h" ) +execute_process ( COMMAND sh -xc "${ROOT_DIR}/script/gen_ostream_ops.py -in ${HIP_PATH}/include/hip/hip_runtime_api.h -out ${ROOT_DIR}/inc/hip_ostream_ops.h" ) add_library ( ${KFD_LIB} SHARED ${KFD_LIB_SRC} ) target_include_directories ( ${KFD_LIB} PRIVATE ${LIB_DIR} ${ROOT_DIR} ${ROOT_DIR}/inc ${HSA_RUNTIME_INC_PATH} ${HSA_RUNTIME_HSA_INC_PATH} ${HSA_KMT_INC_PATH} ) target_link_libraries( ${KFD_LIB} PRIVATE c stdc++ ) From 3ab6e03bdaf6fdd75e765b255f5f3b546472bb38 Mon Sep 17 00:00:00 2001 From: rkebichi <54912798+rkebichi@users.noreply.github.com> Date: Mon, 30 Mar 2020 17:02:59 -0400 Subject: [PATCH 359/691] Update tracer_tool.cpp --- test/tool/tracer_tool.cpp | 53 ++++++++++++++++++++++++++------------- 1 file changed, 35 insertions(+), 18 deletions(-) diff --git a/test/tool/tracer_tool.cpp b/test/tool/tracer_tool.cpp index b1114ecd75..16f0f6b662 100644 --- a/test/tool/tracer_tool.cpp +++ b/test/tool/tracer_tool.cpp @@ -45,6 +45,8 @@ THE SOFTWARE. #include "util/hsa_rsrc_factory.h" +#include "inc/hip_ostream_ops.h" + #define PUBLIC_API __attribute__((visibility("default"))) #define CONSTRUCTOR_API __attribute__((constructor)) #define DESTRUCTOR_API __attribute__((destructor)) @@ -399,7 +401,6 @@ void hip_api_flush_cb(hip_api_trace_entry_t* entry) { const timestamp_t begin_timestamp = entry->begin; const timestamp_t end_timestamp = entry->end; std::ostringstream oss; \ - const char* str = (domain != ACTIVITY_DOMAIN_EXT_API) ? roctracer_op_string(domain, cid, 0) : strdup("MARK"); oss << std::dec << begin_timestamp << ":" << end_timestamp << " " << entry->pid << ":" << entry->tid << " " << str; @@ -407,33 +408,49 @@ void hip_api_flush_cb(hip_api_trace_entry_t* entry) { if (domain == ACTIVITY_DOMAIN_HIP_API) { switch (cid) { case HIP_API_ID_hipMemcpy: - fprintf(hip_api_file_handle, "%s(dst(%p) src(%p) size(0x%x) kind(%u))\n", - oss.str().c_str(), - data->args.hipMemcpy.dst, - data->args.hipMemcpy.src, - (uint32_t)(data->args.hipMemcpy.sizeBytes), - (uint32_t)(data->args.hipMemcpy.kind)); + fprintf(hip_api_file_handle, "%s",oss.str().c_str()); + oss << "hipMemcpy(dst="; + typedef decltype(data->args.hipMemcpy.dst) arg_val_type_dst; + roctracer::hip_support::output_streamer::put(oss, data->args.hipMemcpy.dst); + oss << ", src="; + typedef decltype(data->args.hipMemcpy.src) arg_val_type_src; + roctracer::hip_support::output_streamer::put(oss, data->args.hipMemcpy.src); + oss << ", sizeBytes="; + typedef decltype(data->args.hipMemcpy.sizeBytes) arg_val_type_size; + roctracer::hip_support::output_streamer::put(oss, data->args.hipMemcpy.sizeBytes); + oss << ", kind="; + typedef decltype(data->args.hipMemcpy.kind) arg_val_type_kind; + roctracer::hip_support::output_streamer::put(oss, data->args.hipMemcpy.kind); + oss << ")\n"; + fprintf(hip_api_file_handle, "%s",oss.str().c_str()); break; case HIP_API_ID_hipMalloc: - fprintf(hip_api_file_handle, "%s(ptr(%p) size(0x%x))\n", - oss.str().c_str(), - entry->ptr, - (uint32_t)(data->args.hipMalloc.size)); + fprintf(hip_api_file_handle, "%s(ptr(%p) ",oss.str().c_str(),entry->ptr); + oss << "hipMalloc(size="; + typedef decltype(data->args.hipMalloc.size) arg_val_type_size; + roctracer::hip_support::output_streamer::put(oss, data->args.hipMalloc.size); + oss << "))\n"; + fprintf(hip_api_file_handle, "%s",oss.str().c_str()); break; case HIP_API_ID_hipFree: - fprintf(hip_api_file_handle, "%s(ptr(%p))\n", - oss.str().c_str(), - data->args.hipFree.ptr); + fprintf(hip_api_file_handle, "%s",oss.str().c_str()); + oss << "hipFree(ptr="; + typedef decltype(data->args.hipFree.ptr) arg_val_type_ptr; + roctracer::hip_support::output_streamer::put(oss, data->args.hipFree.ptr); + oss << ")\n"; + fprintf(hip_api_file_handle, "%s",oss.str().c_str()); break; case HIP_API_ID_hipModuleLaunchKernel: #if !HIP_VDI case HIP_API_ID_hipExtModuleLaunchKernel: case HIP_API_ID_hipHccModuleLaunchKernel: #endif - fprintf(hip_api_file_handle, "%s(kernel(%s) stream(%p))\n", - oss.str().c_str(), - cxx_demangle(entry->name), - data->args.hipModuleLaunchKernel.stream); + fprintf(hip_api_file_handle, "%s(kernel(%s) ", oss.str().c_str(), cxx_demangle(entry->name)); + oss << "hipHccModuleLaunchKernel(stream name="; + typedef decltype(data->args.hipModuleLaunchKernel.stream) arg_val_type_stream; + roctracer::hip_support::output_streamer::put(oss, data->args.hipModuleLaunchKernel.stream); + oss << "))\n"; + fprintf(hip_api_file_handle, "%s",oss.str().c_str()); break; default: fprintf(hip_api_file_handle, "%s()\n", oss.str().c_str()); From a6878a7ce5b4518432cac07a779b7121e6f73143 Mon Sep 17 00:00:00 2001 From: rkebichi <54912798+rkebichi@users.noreply.github.com> Date: Mon, 30 Mar 2020 19:06:10 -0400 Subject: [PATCH 360/691] Update tracer_tool.cpp --- test/tool/tracer_tool.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/test/tool/tracer_tool.cpp b/test/tool/tracer_tool.cpp index 16f0f6b662..89960aad94 100644 --- a/test/tool/tracer_tool.cpp +++ b/test/tool/tracer_tool.cpp @@ -409,6 +409,7 @@ void hip_api_flush_cb(hip_api_trace_entry_t* entry) { switch (cid) { case HIP_API_ID_hipMemcpy: fprintf(hip_api_file_handle, "%s",oss.str().c_str()); + oss.str(""); oss << "hipMemcpy(dst="; typedef decltype(data->args.hipMemcpy.dst) arg_val_type_dst; roctracer::hip_support::output_streamer::put(oss, data->args.hipMemcpy.dst); @@ -426,6 +427,7 @@ void hip_api_flush_cb(hip_api_trace_entry_t* entry) { break; case HIP_API_ID_hipMalloc: fprintf(hip_api_file_handle, "%s(ptr(%p) ",oss.str().c_str(),entry->ptr); + oss.str(""); oss << "hipMalloc(size="; typedef decltype(data->args.hipMalloc.size) arg_val_type_size; roctracer::hip_support::output_streamer::put(oss, data->args.hipMalloc.size); @@ -434,6 +436,7 @@ void hip_api_flush_cb(hip_api_trace_entry_t* entry) { break; case HIP_API_ID_hipFree: fprintf(hip_api_file_handle, "%s",oss.str().c_str()); + oss.str(""); oss << "hipFree(ptr="; typedef decltype(data->args.hipFree.ptr) arg_val_type_ptr; roctracer::hip_support::output_streamer::put(oss, data->args.hipFree.ptr); @@ -446,6 +449,7 @@ void hip_api_flush_cb(hip_api_trace_entry_t* entry) { case HIP_API_ID_hipHccModuleLaunchKernel: #endif fprintf(hip_api_file_handle, "%s(kernel(%s) ", oss.str().c_str(), cxx_demangle(entry->name)); + oss.str(""); oss << "hipHccModuleLaunchKernel(stream name="; typedef decltype(data->args.hipModuleLaunchKernel.stream) arg_val_type_stream; roctracer::hip_support::output_streamer::put(oss, data->args.hipModuleLaunchKernel.stream); From a46c6984a21310bc7db32a2cd5a1ada55bf185fb Mon Sep 17 00:00:00 2001 From: Evgeny Date: Fri, 10 Apr 2020 01:15:20 -0500 Subject: [PATCH 361/691] using hipApiString() if defined --- inc/roctracer_hip.h | 9 +++++++++ test/tool/tracer_tool.cpp | 5 +++++ 2 files changed, 14 insertions(+) diff --git a/inc/roctracer_hip.h b/inc/roctracer_hip.h index 28e4868d59..83ec145089 100644 --- a/inc/roctracer_hip.h +++ b/inc/roctracer_hip.h @@ -24,6 +24,15 @@ THE SOFTWARE. #define INC_ROCTRACER_HIP_H_ #include + +namespace hip_hidden_namespace { +#include +}; // namespace hip_hidden_namespace +#if HIP_PROF_VER >= 1 +#define HIP_PROF_HIP_API_STRING 1 +#endif +#undef HIP_PROF_VER +#undef _HIP_PROF_STR_H #include #include "roctracer.h" diff --git a/test/tool/tracer_tool.cpp b/test/tool/tracer_tool.cpp index 89960aad94..d7e80d01d4 100644 --- a/test/tool/tracer_tool.cpp +++ b/test/tool/tracer_tool.cpp @@ -406,6 +406,10 @@ void hip_api_flush_cb(hip_api_trace_entry_t* entry) { begin_timestamp << ":" << end_timestamp << " " << entry->pid << ":" << entry->tid << " " << str; if (domain == ACTIVITY_DOMAIN_HIP_API) { +#if HIP_PROF_HIP_API_STRING + const char* str = hipApiString(cid, data); + fprintf(hip_api_file_handle, "%s\n", str); +#else // !HIP_PROF_HIP_API_STRING switch (cid) { case HIP_API_ID_hipMemcpy: fprintf(hip_api_file_handle, "%s",oss.str().c_str()); @@ -459,6 +463,7 @@ void hip_api_flush_cb(hip_api_trace_entry_t* entry) { default: fprintf(hip_api_file_handle, "%s()\n", oss.str().c_str()); } +#endif // !HIP_PROF_HIP_API_STRING } else { fprintf(hip_api_file_handle, "%s(name(%s))\n", oss.str().c_str(), entry->name); } From fc79e36928fbbf65e0a7745b3ef9753a9ae181f5 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Fri, 10 Apr 2020 12:52:51 -0500 Subject: [PATCH 362/691] adding ROCP_WITH_HIP_API_STRING macro --- inc/roctracer_hip.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/inc/roctracer_hip.h b/inc/roctracer_hip.h index 83ec145089..eb2cac0453 100644 --- a/inc/roctracer_hip.h +++ b/inc/roctracer_hip.h @@ -25,6 +25,7 @@ THE SOFTWARE. #include +#if ROCP_WITH_HIP_API_STRING namespace hip_hidden_namespace { #include }; // namespace hip_hidden_namespace @@ -33,6 +34,7 @@ namespace hip_hidden_namespace { #endif #undef HIP_PROF_VER #undef _HIP_PROF_STR_H +#endif // ROCP_WITH_HIP_API_STRING #include #include "roctracer.h" From 57766f143e9e9afcbecbd79a19a7eea8469d21d3 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Fri, 10 Apr 2020 15:57:59 -0500 Subject: [PATCH 363/691] reverting hpi flush function --- test/tool/tracer_tool.cpp | 62 ++++++++++++--------------------------- 1 file changed, 18 insertions(+), 44 deletions(-) diff --git a/test/tool/tracer_tool.cpp b/test/tool/tracer_tool.cpp index d7e80d01d4..b1114ecd75 100644 --- a/test/tool/tracer_tool.cpp +++ b/test/tool/tracer_tool.cpp @@ -45,8 +45,6 @@ THE SOFTWARE. #include "util/hsa_rsrc_factory.h" -#include "inc/hip_ostream_ops.h" - #define PUBLIC_API __attribute__((visibility("default"))) #define CONSTRUCTOR_API __attribute__((constructor)) #define DESTRUCTOR_API __attribute__((destructor)) @@ -401,69 +399,45 @@ void hip_api_flush_cb(hip_api_trace_entry_t* entry) { const timestamp_t begin_timestamp = entry->begin; const timestamp_t end_timestamp = entry->end; std::ostringstream oss; \ + const char* str = (domain != ACTIVITY_DOMAIN_EXT_API) ? roctracer_op_string(domain, cid, 0) : strdup("MARK"); oss << std::dec << begin_timestamp << ":" << end_timestamp << " " << entry->pid << ":" << entry->tid << " " << str; if (domain == ACTIVITY_DOMAIN_HIP_API) { -#if HIP_PROF_HIP_API_STRING - const char* str = hipApiString(cid, data); - fprintf(hip_api_file_handle, "%s\n", str); -#else // !HIP_PROF_HIP_API_STRING switch (cid) { case HIP_API_ID_hipMemcpy: - fprintf(hip_api_file_handle, "%s",oss.str().c_str()); - oss.str(""); - oss << "hipMemcpy(dst="; - typedef decltype(data->args.hipMemcpy.dst) arg_val_type_dst; - roctracer::hip_support::output_streamer::put(oss, data->args.hipMemcpy.dst); - oss << ", src="; - typedef decltype(data->args.hipMemcpy.src) arg_val_type_src; - roctracer::hip_support::output_streamer::put(oss, data->args.hipMemcpy.src); - oss << ", sizeBytes="; - typedef decltype(data->args.hipMemcpy.sizeBytes) arg_val_type_size; - roctracer::hip_support::output_streamer::put(oss, data->args.hipMemcpy.sizeBytes); - oss << ", kind="; - typedef decltype(data->args.hipMemcpy.kind) arg_val_type_kind; - roctracer::hip_support::output_streamer::put(oss, data->args.hipMemcpy.kind); - oss << ")\n"; - fprintf(hip_api_file_handle, "%s",oss.str().c_str()); + fprintf(hip_api_file_handle, "%s(dst(%p) src(%p) size(0x%x) kind(%u))\n", + oss.str().c_str(), + data->args.hipMemcpy.dst, + data->args.hipMemcpy.src, + (uint32_t)(data->args.hipMemcpy.sizeBytes), + (uint32_t)(data->args.hipMemcpy.kind)); break; case HIP_API_ID_hipMalloc: - fprintf(hip_api_file_handle, "%s(ptr(%p) ",oss.str().c_str(),entry->ptr); - oss.str(""); - oss << "hipMalloc(size="; - typedef decltype(data->args.hipMalloc.size) arg_val_type_size; - roctracer::hip_support::output_streamer::put(oss, data->args.hipMalloc.size); - oss << "))\n"; - fprintf(hip_api_file_handle, "%s",oss.str().c_str()); + fprintf(hip_api_file_handle, "%s(ptr(%p) size(0x%x))\n", + oss.str().c_str(), + entry->ptr, + (uint32_t)(data->args.hipMalloc.size)); break; case HIP_API_ID_hipFree: - fprintf(hip_api_file_handle, "%s",oss.str().c_str()); - oss.str(""); - oss << "hipFree(ptr="; - typedef decltype(data->args.hipFree.ptr) arg_val_type_ptr; - roctracer::hip_support::output_streamer::put(oss, data->args.hipFree.ptr); - oss << ")\n"; - fprintf(hip_api_file_handle, "%s",oss.str().c_str()); + fprintf(hip_api_file_handle, "%s(ptr(%p))\n", + oss.str().c_str(), + data->args.hipFree.ptr); break; case HIP_API_ID_hipModuleLaunchKernel: #if !HIP_VDI case HIP_API_ID_hipExtModuleLaunchKernel: case HIP_API_ID_hipHccModuleLaunchKernel: #endif - fprintf(hip_api_file_handle, "%s(kernel(%s) ", oss.str().c_str(), cxx_demangle(entry->name)); - oss.str(""); - oss << "hipHccModuleLaunchKernel(stream name="; - typedef decltype(data->args.hipModuleLaunchKernel.stream) arg_val_type_stream; - roctracer::hip_support::output_streamer::put(oss, data->args.hipModuleLaunchKernel.stream); - oss << "))\n"; - fprintf(hip_api_file_handle, "%s",oss.str().c_str()); + fprintf(hip_api_file_handle, "%s(kernel(%s) stream(%p))\n", + oss.str().c_str(), + cxx_demangle(entry->name), + data->args.hipModuleLaunchKernel.stream); break; default: fprintf(hip_api_file_handle, "%s()\n", oss.str().c_str()); } -#endif // !HIP_PROF_HIP_API_STRING } else { fprintf(hip_api_file_handle, "%s(name(%s))\n", oss.str().c_str(), entry->name); } From 0cd31f82957de1246c95b110df61bb52acdad056 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Tue, 14 Apr 2020 13:12:52 -0500 Subject: [PATCH 364/691] adding HIP_PROF_HIP_API_STRING macro --- cmake_modules/env.cmake | 5 +++++ inc/roctracer_hip.h | 11 ----------- test/tool/tracer_tool.cpp | 5 +++++ 3 files changed, 10 insertions(+), 11 deletions(-) diff --git a/cmake_modules/env.cmake b/cmake_modules/env.cmake index 5d3cde0064..ec548ffc30 100644 --- a/cmake_modules/env.cmake +++ b/cmake_modules/env.cmake @@ -43,6 +43,11 @@ if ( DEFINED ENV{CMAKE_DEBUG_TRACE} ) add_definitions ( -DDEBUG_TRACE=1 ) endif() +## HIP APIString() routine enableing +if ( DEFINED HIP_PROF_HIP_API_STRING ) + add_definitions ( -DHIP_PROF_HIP_API_STRING=1 ) +endif() + ## Enable HIP_VDI mode if ( DEFINED HIP_VDI ) add_definitions ( -DHIP_VDI=${HIP_VDI} ) diff --git a/inc/roctracer_hip.h b/inc/roctracer_hip.h index eb2cac0453..28e4868d59 100644 --- a/inc/roctracer_hip.h +++ b/inc/roctracer_hip.h @@ -24,17 +24,6 @@ THE SOFTWARE. #define INC_ROCTRACER_HIP_H_ #include - -#if ROCP_WITH_HIP_API_STRING -namespace hip_hidden_namespace { -#include -}; // namespace hip_hidden_namespace -#if HIP_PROF_VER >= 1 -#define HIP_PROF_HIP_API_STRING 1 -#endif -#undef HIP_PROF_VER -#undef _HIP_PROF_STR_H -#endif // ROCP_WITH_HIP_API_STRING #include #include "roctracer.h" diff --git a/test/tool/tracer_tool.cpp b/test/tool/tracer_tool.cpp index b1114ecd75..766a11d57e 100644 --- a/test/tool/tracer_tool.cpp +++ b/test/tool/tracer_tool.cpp @@ -405,6 +405,10 @@ void hip_api_flush_cb(hip_api_trace_entry_t* entry) { begin_timestamp << ":" << end_timestamp << " " << entry->pid << ":" << entry->tid << " " << str; if (domain == ACTIVITY_DOMAIN_HIP_API) { +#if HIP_PROF_HIP_API_STRING + const char* str = hipApiString(cid, data); + fprintf(hip_api_file_handle, "%s\n", str); +#else // !HIP_PROF_HIP_API_STRING switch (cid) { case HIP_API_ID_hipMemcpy: fprintf(hip_api_file_handle, "%s(dst(%p) src(%p) size(0x%x) kind(%u))\n", @@ -438,6 +442,7 @@ void hip_api_flush_cb(hip_api_trace_entry_t* entry) { default: fprintf(hip_api_file_handle, "%s()\n", oss.str().c_str()); } +#endif // !HIP_PROF_HIP_API_STRING } else { fprintf(hip_api_file_handle, "%s(name(%s))\n", oss.str().c_str(), entry->name); } From 422dba832f6a88819f992e48184f03ade8e04354 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Fri, 17 Apr 2020 16:11:50 -0500 Subject: [PATCH 365/691] inc/ext installation fix Change-Id: If8f42cc5fe6bd46c6b341cdb6649bbe5013f97ad --- CMakeLists.txt | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 133b07142b..81d467b782 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -121,8 +121,9 @@ add_custom_target ( so-patch-link ALL WORKING_DIRECTORY ${PROJECT_BINARY_DIR} ## Install information install ( TARGETS ${ROCTRACER_TARGET} LIBRARY DESTINATION ${DEST_NAME}/lib ) foreach ( header ${PUBLIC_HEADERS} ) - install ( FILES ${CMAKE_CURRENT_SOURCE_DIR}/inc/${header} DESTINATION ${DEST_NAME}/include ) - install ( FILES ${CMAKE_CURRENT_SOURCE_DIR}/inc/${header} DESTINATION include/${DEST_NAME} ) + get_filename_component ( header_subdir ${header} DIRECTORY ) + install ( FILES ${CMAKE_CURRENT_SOURCE_DIR}/inc/${header} DESTINATION ${DEST_NAME}/include/${header_subdir} ) + install ( FILES ${CMAKE_CURRENT_SOURCE_DIR}/inc/${header} DESTINATION include/${DEST_NAME}/${header_subdir} ) endforeach () #install ( FILES ${PROJECT_BINARY_DIR}/inc-link DESTINATION include RENAME ${DEST_NAME} ) install ( FILES ${PROJECT_BINARY_DIR}/so-link DESTINATION lib RENAME ${ROCTRACER_LIBRARY}.so ) From e9045d889d8b31ad5f4906c881150c2ce741aa28 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Mon, 20 Apr 2020 09:57:59 -0500 Subject: [PATCH 366/691] adding KFD test Change-Id: Ic9956b47c2cc7dc6643750ab88e97d4ee733fa4a --- test/run.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/test/run.sh b/test/run.sh index 2fcfa1d6e7..2ace3f1ea4 100755 --- a/test/run.sh +++ b/test/run.sh @@ -85,6 +85,9 @@ eval_test "standalone HIP MGPU test" "LD_PRELOAD=libkfdwrapper64.so ./test/Matri # rocTracer/tool is loaded by HSA runtime export HSA_TOOLS_LIB="test/libtracer_tool.so" +# KFD test +export ROCTRACER_DOMAIN="kfd" +eval_test "tool KFD test" "LD_PRELOAD=libkfdwrapper64.so ./test/MatrixTranspose" MatrixTranspose_kfd_trace # SYS test export ROCTRACER_DOMAIN="sys:roctx" eval_test "tool SYS test" ./test/MatrixTranspose MatrixTranspose_sys_trace From 95d05100a7a667de0e5818785993b63b85a569e8 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Mon, 20 Apr 2020 12:38:02 -0500 Subject: [PATCH 367/691] HIP libraries static definition Change-Id: I7cd45b491f35d5890246f8d4b1ce358f62b4c682 --- src/core/loader.h | 12 +- src/core/roctracer.cpp | 5 - .../MatrixTranspose_kfd_trace.txt | 1209 +++++++++++++++++ test/golden_traces/tests_trace_cmp_levels.txt | 1 + 4 files changed, 1219 insertions(+), 8 deletions(-) create mode 100644 test/golden_traces/MatrixTranspose_kfd_trace.txt diff --git a/src/core/loader.h b/src/core/loader.h index dd30dc72dd..519ded8a44 100644 --- a/src/core/loader.h +++ b/src/core/loader.h @@ -198,19 +198,25 @@ typedef BaseLoader RocTxLoader; } // namespace roctracer -#define LOADER_INSTANTIATE() \ +#define LOADER_INSTANTIATE2(HIP_LIB, HCC_LIB) \ template typename roctracer::BaseLoader::mutex_t roctracer::BaseLoader::mutex_; \ template std::atomic*> roctracer::BaseLoader::instance_{}; \ template bool roctracer::BaseLoader::to_load_ = false; \ template bool roctracer::BaseLoader::to_check_open_ = true; \ template bool roctracer::BaseLoader::to_check_symb_ = true; \ template<> const char* roctracer::RocpLoader::lib_name_ = "librocprofiler64.so"; \ - template<> const char* roctracer::HipLoader::lib_name_ = "libhip_hcc.so"; \ + template<> const char* roctracer::HipLoader::lib_name_ = HIP_LIB; \ template<> bool roctracer::HipLoader::to_check_open_ = false; \ - template<> const char* roctracer::HccLoader::lib_name_ = "libmcwamp.so"; \ + template<> const char* roctracer::HccLoader::lib_name_ = HCC_LIB; \ template<> bool roctracer::HccLoader::to_check_open_ = false; \ template<> const char* roctracer::KfdLoader::lib_name_ = "libkfdwrapper64.so"; \ template<> const char* roctracer::RocTxLoader::lib_name_ = "libroctx64.so"; \ template<> bool roctracer::RocTxLoader::to_load_ = true; +#if HIP_VDI +#define LOADER_INSTANTIATE() LOADER_INSTANTIATE2("libamdhip64.so", "libamdhip64.so"); +#else +#define LOADER_INSTANTIATE() LOADER_INSTANTIATE2("libhip_hcc.so", "libmcwamp.so"); +#endif + #endif // SRC_CORE_LOADER_H_ diff --git a/src/core/roctracer.cpp b/src/core/roctracer.cpp index 552f6014dc..88cec3f9b8 100644 --- a/src/core/roctracer.cpp +++ b/src/core/roctracer.cpp @@ -1133,11 +1133,6 @@ PUBLIC_API roctracer_status_t roctracer_set_properties( } case ACTIVITY_DOMAIN_HCC_OPS: case ACTIVITY_DOMAIN_HIP_API: { -#if HIP_VDI - const char* hip_lib_name = "libamdhip64.so"; - roctracer::HccLoader::SetLibName(hip_lib_name); - roctracer::HipLoader::SetLibName(hip_lib_name); -#endif mark_api_callback_ptr = reinterpret_cast(properties); break; } diff --git a/test/golden_traces/MatrixTranspose_kfd_trace.txt b/test/golden_traces/MatrixTranspose_kfd_trace.txt new file mode 100644 index 0000000000..3116d214e2 --- /dev/null +++ b/test/golden_traces/MatrixTranspose_kfd_trace.txt @@ -0,0 +1,1209 @@ +ROCTracer (pid=14428): + KFD-trace() +1711656274683283:1711656274688056 14428:14428 hsaKmtFreeMemory(, ) = 0 +1711656274705718:1711656274710339 14428:14428 hsaKmtUnmapMemoryToGPU() = 0 +1711656274713261:1711656274722541 14428:14428 hsaKmtFreeMemory(, ) = 0 +1711656274725424:1711656274728029 14428:14428 hsaKmtUnmapMemoryToGPU() = 0 +1711656274729886:1711656274735482 14428:14428 hsaKmtFreeMemory(, ) = 0 +1711656274742034:1711656274744305 14428:14428 hsaKmtSetEvent() = 0 +1711656274809211:1711656274811129 14428:14428 hsaKmtDestroyEvent() = 0 +1711656274816568:1711656274821175 14428:14428 hsaKmtUnmapMemoryToGPU() = 0 +1711656274823354:1711656274834528 14428:14428 hsaKmtFreeMemory(, ) = 0 +1711656274837339:1711656274838199 14428:14428 hsaKmtDestroyEvent() = 0 +ROCTracer (pid=14428): + KFD-trace() +1711656290453097:1711656290523908 14428:14428 hsaKmtAllocMemory(, , ) = 0 +1711656290537326:1711656290538147 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711656290541399:1711656290550239 14428:14428 hsaKmtMapMemoryToGPUNodes(, , , , , ) = 0 +1711656290565327:1711656291046996 14428:14428 hsaKmtAllocMemory(, , ) = 0 +1711656291051511:1711656291052178 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711656291054575:1711656291077326 14428:14428 hsaKmtMapMemoryToGPUNodes(, , , , , ) = 0 +1711656291082185:1711656291083612 14428:14428 hsaKmtCreateEvent(, , , ) = 0 +1711656291087552:1711656291088453 14428:14428 hsaKmtCreateEvent(, , , ) = 0 +1711656291090542:1711656291564577 14428:14428 hsaKmtAllocMemory(, , ) = 0 +1711656291568119:1711656291568666 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711656291570701:1711656291590288 14428:14428 hsaKmtMapMemoryToGPUNodes(, , , , , ) = 0 +1711656291593364:1711656291594542 14428:14428 hsaKmtCreateEvent(, , , ) = 0 +1711656291596549:1711656291597524 14428:14428 hsaKmtCreateEvent(, , , ) = 0 +1711656291601574:1711656292083059 14428:14428 hsaKmtAllocMemory(, , ) = 0 +1711656292086825:1711656292087354 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711656292089305:1711656292109580 14428:14428 hsaKmtMapMemoryToGPUNodes(, , , , , ) = 0 +1711656292112482:1711656292113580 14428:14428 hsaKmtCreateEvent(, , , ) = 0 +1711656292115562:1711656292116410 14428:14428 hsaKmtCreateEvent(, , , ) = 0 +1711656292118335:1711656292591935 14428:14428 hsaKmtAllocMemory(, , ) = 0 +1711656292595443:1711656292595945 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711656292597821:1711656292617813 14428:14428 hsaKmtMapMemoryToGPUNodes(, , , , , ) = 0 +1711656292620669:1711656292621745 14428:14428 hsaKmtCreateEvent(, , , ) = 0 +1711656292623703:1711656292624504 14428:14428 hsaKmtCreateEvent(, , , ) = 0 +1711656292634500:1711656292640319 14428:14428 hsaKmtRegisterMemoryWithFlags(, , ) = 0 +1711656292642705:1711656292654960 14428:14428 hsaKmtMapMemoryToGPUNodes(, , , , , ) = 0 +1711656292714317:1711656292716163 14428:14428 hsaKmtGetTileConfig(, ) = 0 +Device name Ellesmere [Radeon RX 470/480/570/570X/580/580X] +1711656294972765:1711656294991098 14428:14428 hsaKmtAllocMemory(, , ) = 0 +1711656294996100:1711656295013418 14428:14428 hsaKmtMapMemoryToGPUNodes(, , , , , ) = 0 +1711656295020532:1711656295026578 14428:14428 hsaKmtAllocMemory(, , ) = 0 +1711656295029067:1711656295042840 14428:14428 hsaKmtMapMemoryToGPUNodes(, , , , , ) = 0 +## Iteration (99) ################# +1711656295061933:1711656295062724 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711656295065460:1711656295066077 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +1711656295083138:1711656295567582 14428:14428 hsaKmtAllocMemory(, , ) = 0 +1711656295570915:1711656295587199 14428:14428 hsaKmtMapMemoryToGPUNodes(, , , , , ) = 0 +1711656295593109:1711656295594779 14428:14428 hsaKmtCreateEvent(, , , ) = 0 +1711656295988404:1711656296036734 14428:14428 hsaKmtAllocMemory(, , ) = 0 +1711656296040894:1711656296049163 14428:14428 hsaKmtMapMemoryToGPUNodes(, , , , , ) = 0 +1711656296052882:1711656296091449 14428:14428 hsaKmtAllocMemory(, , ) = 0 +1711656296094246:1711656296103224 14428:14428 hsaKmtMapMemoryToGPUNodes(, , , , , ) = 0 +1711656296116104:1711656296125207 14428:14428 hsaKmtAllocMemory(, , ) = 0 +1711656296129076:1711656296130227 14428:14428 hsaKmtRegisterMemoryToNodes(, , , ) = 0 +1711656296132544:1711656296140026 14428:14428 hsaKmtMapMemoryToGPU(, , ) = 0 +1711656296143006:1711656296143878 14428:14428 hsaKmtGetNodeProperties(, ) = 0 +1711656296146211:1711656296152930 14428:14428 hsaKmtAllocMemory(, , ) = 0 +1711656296155159:1711656296155796 14428:14428 hsaKmtRegisterMemoryToNodes(, , , ) = 0 +1711656296157762:1711656296165465 14428:14428 hsaKmtMapMemoryToGPU(, , ) = 0 +1711656296167526:1711656296168074 14428:14428 hsaKmtGetNodeProperties(, ) = 0 +1711656296169868:1711656297649482 14428:14428 hsaKmtAllocMemory(, , ) = 0 +1711656297657999:1711656297659158 14428:14428 hsaKmtRegisterMemoryToNodes(, , , ) = 0 +1711656297661692:1711656297697930 14428:14428 hsaKmtMapMemoryToGPU(, , ) = 0 +1711656297661692:1711656300911064 14428:14428 hsaKmtCreateQueue(, , , , , , , ) = 0 +1711656300915605:1711656300917993 14428:14428 hsaKmtCreateEvent(, , , ) = 0 +1711656300922125:1711656300925758 14428:14428 hsaKmtSetEvent() = 0 +1711656300927823:1711656300941191 14428:14428 hsaKmtAllocMemory(, , ) = 0 +1711656300943856:1711656300951408 14428:14428 hsaKmtMapMemoryToGPUNodes(, , , , , ) = 0 +1711656300957132:1711656300958166 14428:14428 hsaKmtCreateEvent(, , , ) = 0 +1711656300960252:1711656301011563 14428:14428 hsaKmtAllocMemory(, , ) = 0 +1711656301013892:1711656301021348 14428:14428 hsaKmtMapMemoryToGPUNodes(, , , , , ) = 0 +1711656301026653:1711656301034568 14428:14428 hsaKmtAllocMemory(, , ) = 0 +1711656301036945:1711656301043796 14428:14428 hsaKmtMapMemoryToGPUNodes(, , , , , ) = 0 +1711656301051804:1711656301059230 14428:14428 hsaKmtAllocMemory(, , ) = 0 +1711656301061612:1711656301068651 14428:14428 hsaKmtMapMemoryToGPUNodes(, , , , , ) = 0 +1711656301072443:1711656301079861 14428:14428 hsaKmtAllocMemory(, , ) = 0 +1711656301082194:1711656301089098 14428:14428 hsaKmtMapMemoryToGPUNodes(, , , , , ) = 0 +1711656564014284:1711656564043702 14428:14428 hsaKmtAllocMemory(, , ) = 0 +1711656564050880:1711656564071487 14428:14428 hsaKmtMapMemoryToGPUNodes(, , , , , ) = 0 +1711656564082714:1711656564103006 14428:14428 hsaKmtAllocMemory(, , ) = 0 +1711656564106100:1711656564124492 14428:14428 hsaKmtMapMemoryToGPUNodes(, , , , , ) = 0 +1711656564265860:1711656564279550 14428:14428 hsaKmtAllocMemory(, , ) = 0 +1711656564283178:1711656564291456 14428:14428 hsaKmtMapMemoryToGPUNodes(, , , , , ) = 0 +1711656564385556:1711656564406999 14428:14428 hsaKmtAllocMemory(, , ) = 0 +1711656564410415:1711656564418395 14428:14428 hsaKmtMapMemoryToGPUNodes(, , , , , ) = 0 +1711656564503051:1711656564515001 14428:14428 hsaKmtAllocMemory(, , ) = 0 +1711656564518393:1711656564526285 14428:14428 hsaKmtMapMemoryToGPUNodes(, , , , , ) = 0 +1711656564609932:1711656564621286 14428:14428 hsaKmtAllocMemory(, , ) = 0 +1711656564624539:1711656564632394 14428:14428 hsaKmtMapMemoryToGPUNodes(, , , , , ) = 0 +1711656564716364:1711656564727716 14428:14428 hsaKmtAllocMemory(, , ) = 0 +1711656564731059:1711656564739665 14428:14428 hsaKmtMapMemoryToGPUNodes(, , , , , ) = 0 +1711656564822840:1711656564834116 14428:14428 hsaKmtAllocMemory(, , ) = 0 +1711656564837414:1711656564845351 14428:14428 hsaKmtMapMemoryToGPUNodes(, , , , , ) = 0 +1711656564914976:1711656564927027 14428:14428 hsaKmtAllocMemory(, , ) = 0 +1711656564930376:1711656564938392 14428:14428 hsaKmtMapMemoryToGPUNodes(, , , , , ) = 0 +1711656564998464:1711656565010382 14428:14428 hsaKmtAllocMemory(, , ) = 0 +1711656565013907:1711656565021915 14428:14428 hsaKmtMapMemoryToGPUNodes(, , , , , ) = 0 +1711656565092755:1711656565106165 14428:14428 hsaKmtAllocMemory(, , ) = 0 +1711656565109513:1711656565117425 14428:14428 hsaKmtMapMemoryToGPUNodes(, , , , , ) = 0 +1711656565196706:1711656565209126 14428:14428 hsaKmtAllocMemory(, , ) = 0 +1711656565212623:1711656565220600 14428:14428 hsaKmtMapMemoryToGPUNodes(, , , , , ) = 0 +1711656565280911:1711656565292143 14428:14428 hsaKmtAllocMemory(, , ) = 0 +1711656565295537:1711656565303354 14428:14428 hsaKmtMapMemoryToGPUNodes(, , , , , ) = 0 +1711656565365962:1711656565378091 14428:14428 hsaKmtAllocMemory(, , ) = 0 +1711656565381352:1711656565389132 14428:14428 hsaKmtMapMemoryToGPUNodes(, , , , , ) = 0 +1711656565454869:1711656565467356 14428:14428 hsaKmtAllocMemory(, , ) = 0 +1711656565470687:1711656565478965 14428:14428 hsaKmtMapMemoryToGPUNodes(, , , , , ) = 0 +1711656565540719:1711656565553029 14428:14428 hsaKmtAllocMemory(, , ) = 0 +1711656565556486:1711656565564360 14428:14428 hsaKmtMapMemoryToGPUNodes(, , , , , ) = 0 +1711656565625743:1711656565637389 14428:14428 hsaKmtAllocMemory(, , ) = 0 +1711656565640584:1711656565648858 14428:14428 hsaKmtMapMemoryToGPUNodes(, , , , , ) = 0 +1711656565709322:1711656565720540 14428:14428 hsaKmtAllocMemory(, , ) = 0 +1711656565726865:1711656565737924 14428:14428 hsaKmtMapMemoryToGPUNodes(, , , , , ) = 0 +1711656565819379:1711656565831332 14428:14428 hsaKmtAllocMemory(, , ) = 0 +1711656565834934:1711656565842997 14428:14428 hsaKmtMapMemoryToGPUNodes(, , , , , ) = 0 +1711656565903796:1711656565915232 14428:14428 hsaKmtAllocMemory(, , ) = 0 +1711656565918510:1711656565926230 14428:14428 hsaKmtMapMemoryToGPUNodes(, , , , , ) = 0 +1711656565986763:1711656565998761 14428:14428 hsaKmtAllocMemory(, , ) = 0 +1711656566002065:1711656566009935 14428:14428 hsaKmtMapMemoryToGPUNodes(, , , , , ) = 0 +1711656566110666:1711656566124112 14428:14428 hsaKmtAllocMemory(, , ) = 0 +1711656566127574:1711656566135844 14428:14428 hsaKmtMapMemoryToGPUNodes(, , , , , ) = 0 +1711656566206607:1711656566219650 14428:14428 hsaKmtAllocMemory(, , ) = 0 +1711656566223133:1711656566231463 14428:14428 hsaKmtMapMemoryToGPUNodes(, , , , , ) = 0 +1711656603923279:1711656603961129 14428:14428 hsaKmtAllocMemory(, , ) = 0 +1711656603973620:1711656603987633 14428:14428 hsaKmtMapMemoryToGPUNodes(, , , , , ) = 0 +1711656603992940:1711656604252068 14428:14428 hsaKmtAllocMemory(, , ) = 0 +1711656604255381:1711656604276479 14428:14428 hsaKmtMapMemoryToGPUNodes(, , , , , ) = 0 +1711656604353651:1711656604364230 14428:14428 hsaKmtAllocMemory(, , ) = 0 +1711656604367240:1711656604368329 14428:14428 hsaKmtRegisterMemoryToNodes(, , , ) = 0 +1711656604370657:1711656604378580 14428:14428 hsaKmtMapMemoryToGPU(, , ) = 0 +1711656604380987:1711656604381926 14428:14428 hsaKmtGetNodeProperties(, ) = 0 +1711656604384401:1711656604393699 14428:14428 hsaKmtAllocMemory(, , ) = 0 +1711656604395953:1711656604396620 14428:14428 hsaKmtRegisterMemoryToNodes(, , , ) = 0 +1711656604398576:1711656604406194 14428:14428 hsaKmtMapMemoryToGPU(, , ) = 0 +1711656604408234:1711656604408756 14428:14428 hsaKmtGetNodeProperties(, ) = 0 +1711656604410520:1711656605878306 14428:14428 hsaKmtAllocMemory(, , ) = 0 +1711656605886748:1711656605887837 14428:14428 hsaKmtRegisterMemoryToNodes(, , , ) = 0 +1711656605890527:1711656605930390 14428:14428 hsaKmtMapMemoryToGPU(, , ) = 0 +1711656605890527:1711656605956882 14428:14428 hsaKmtCreateQueue(, , , , , , , ) = 0 +1711656605962088:1711656605969009 14428:14428 hsaKmtSetEvent() = 0 +1711656301152359:1711656605983168 14428:14432 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711656605971287:1711656605993810 14428:14428 hsaKmtAllocMemory(, , ) = 0 +1711656605996398:1711656606004482 14428:14428 hsaKmtMapMemoryToGPUNodes(, , , , , ) = 0 +1711656606022609:1711656606024645 14428:14428 hsaKmtCreateEvent(, , , ) = 0 +1711656606043400:1711656606044449 14428:14428 hsaKmtCreateEvent(, , , ) = 0 +1711656606250624:1711656606586276 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711656606250624:1711656606600291 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711656606611383:1711656606612958 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711656606626848:1711656606627566 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +PASSED! +## Iteration (98) ################# +1711656622504435:1711656622505955 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711656622515833:1711656622516358 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +1711656623400504:1711656623403302 14428:14428 hsaKmtCreateEvent(, , , ) = 0 +1711656623608581:1711656623973580 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711656623608581:1711656624010408 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711656624016312:1711656624017365 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711656624019996:1711656624020630 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +PASSED! +## Iteration (97) ################# +1711656639448300:1711656639450300 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711656639459703:1711656639460187 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +1711656640513485:1711656640515944 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711656640513485:1711656640520469 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711656640523029:1711656640883525 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711656640523029:1711656640913939 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711656640919705:1711656640920727 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711656640923379:1711656640924049 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +PASSED! +## Iteration (96) ################# +1711656656396440:1711656656398339 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711656656407106:1711656656407618 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +1711656657466520:1711656657468950 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711656657466520:1711656657473652 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711656657476424:1711656657829051 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711656657476424:1711656657859592 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711656657865303:1711656657866337 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711656657869034:1711656657869765 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +PASSED! +## Iteration (95) ################# +1711656673331294:1711656673333175 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711656673341993:1711656673342499 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +1711656674412793:1711656674415153 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711656674412793:1711656674419580 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711656674422037:1711656676153707 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711656674422037:1711656676185159 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711656676191174:1711656676192309 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711656676195393:1711656676196067 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +PASSED! +## Iteration (94) ################# +1711656691669637:1711656691671598 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711656691680812:1711656691681324 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +1711656692754777:1711656692757078 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711656692754777:1711656692761492 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711656692763794:1711656694487413 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711656692763794:1711656694518834 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711656694525140:1711656694526183 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711656694528974:1711656694529644 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +PASSED! +## Iteration (93) ################# +1711656709980015:1711656709982401 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711656709991523:1711656709992084 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +1711656711063239:1711656711065880 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711656711063239:1711656711070572 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711656711072933:1711656712801333 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711656711072933:1711656712832927 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711656712839094:1711656712840216 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711656712843209:1711656712843915 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +PASSED! +## Iteration (92) ################# +1711656728284005:1711656728285921 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711656728294988:1711656728295464 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +1711656729361048:1711656729363382 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711656729361048:1711656729367657 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711656729369998:1711656731103574 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711656729369998:1711656731134803 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711656731140893:1711656731141983 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711656731144907:1711656731145522 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +PASSED! +## Iteration (91) ################# +1711656746625896:1711656746628105 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711656746637935:1711656746638494 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +1711656747707115:1711656747709521 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711656747707115:1711656747714039 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711656747716381:1711656749445832 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711656747716381:1711656749466994 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711656749473056:1711656749474132 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711656749477093:1711656749477779 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +PASSED! +## Iteration (90) ################# +1711656764938206:1711656764940044 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711656764949076:1711656764949642 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +1711656766015802:1711656766018091 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711656766015802:1711656766022515 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711656766024880:1711656767747960 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711656766024880:1711656767778425 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711656767784630:1711656767785707 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711656767788627:1711656767789317 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +PASSED! +## Iteration (89) ################# +1711656783196523:1711656783198346 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711656783207752:1711656783208251 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +1711656784276589:1711656784278937 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711656784276589:1711656784283263 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711656784285753:1711656786024922 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711656784285753:1711656786056023 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711656786062197:1711656786063200 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711656786066139:1711656786066768 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +PASSED! +## Iteration (88) ################# +1711656801527422:1711656801529339 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711656801538329:1711656801538808 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +1711656802609114:1711656802611397 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711656802609114:1711656802615820 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711656802618278:1711656804351505 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711656802618278:1711656804382087 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711656804388324:1711656804389586 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711656804392542:1711656804393227 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +PASSED! +## Iteration (87) ################# +1711656819835210:1711656819836951 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711656819846587:1711656819847117 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +1711656820921062:1711656820923478 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711656820921062:1711656820928109 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711656820930449:1711656822658771 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711656820930449:1711656822690044 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711656822696132:1711656822697136 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711656822700192:1711656822700828 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +PASSED! +## Iteration (86) ################# +1711656838121739:1711656838123664 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711656838132459:1711656838133019 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +1711656839198531:1711656839200909 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711656839198531:1711656839205834 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711656839208150:1711656840929401 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711656839208150:1711656840960428 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711656840966583:1711656840967677 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711656840970547:1711656840971179 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +PASSED! +## Iteration (85) ################# +1711656856389490:1711656856391614 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711656856400836:1711656856401571 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +1711656857470922:1711656857473410 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711656857470922:1711656857477869 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711656857480204:1711656859210791 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711656857480204:1711656859241743 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711656859248367:1711656859249418 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711656859252280:1711656859253011 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +PASSED! +## Iteration (84) ################# +1711656874669405:1711656874671399 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711656874681240:1711656874681741 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +1711656875749514:1711656875751887 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711656875749514:1711656875756262 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711656875758602:1711656877484323 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711656875758602:1711656877515125 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711656877521082:1711656877522162 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711656877525079:1711656877525754 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +PASSED! +## Iteration (83) ################# +1711656892933149:1711656892935332 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711656892944251:1711656892944826 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +1711656894015978:1711656894018288 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711656894015978:1711656894022855 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711656894025198:1711656895752228 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711656894025198:1711656895783276 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711656895789479:1711656895790534 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711656895793552:1711656895794184 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +PASSED! +## Iteration (82) ################# +1711656911172906:1711656911174657 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711656911183914:1711656911184379 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +1711656912251409:1711656912253788 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711656912251409:1711656912258288 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711656912260623:1711656913988966 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711656912260623:1711656914020211 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711656914026377:1711656914027488 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711656914030341:1711656914031038 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +PASSED! +## Iteration (81) ################# +1711656929431555:1711656929433507 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711656929442125:1711656929442654 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +1711656930512066:1711656930514578 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711656930512066:1711656930519346 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711656930521752:1711656932094181 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711656930521752:1711656932125014 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711656932131303:1711656932132375 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711656932135436:1711656932136165 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +PASSED! +## Iteration (80) ################# +1711656947574536:1711656947576549 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711656947586202:1711656947586761 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +1711656948643724:1711656948646165 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711656948643724:1711656948650694 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711656948653067:1711656949014917 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711656948653067:1711656949045355 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711656949051155:1711656949052098 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711656949054821:1711656949055480 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +PASSED! +## Iteration (79) ################# +1711656964494014:1711656964495965 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711656964504554:1711656964505046 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +1711656965558584:1711656965561047 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711656965558584:1711656965565793 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711656965568365:1711656965932999 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711656965568365:1711656965963627 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711656965969259:1711656965970266 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711656965972987:1711656965973561 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +PASSED! +## Iteration (78) ################# +1711656981461182:1711656981462936 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711656981471704:1711656981472250 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +1711656982522203:1711656982524685 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711656982522203:1711656982529348 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711656982531677:1711656982894842 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711656982531677:1711656982924724 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711656982930514:1711656982931508 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711656982934181:1711656982934897 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +PASSED! +## Iteration (77) ################# +1711656998339159:1711656998340719 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711656998349588:1711656998350151 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +1711656999407374:1711656999409985 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711656999407374:1711656999414680 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711656999417027:1711656999777895 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711656999417027:1711656999807717 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711656999813531:1711656999814550 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711656999817201:1711656999817768 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +PASSED! +## Iteration (76) ################# +1711657015236231:1711657015238126 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711657015247662:1711657015248231 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +1711657016306268:1711657016308595 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711657016306268:1711657016313080 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711657016315435:1711657016675796 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711657016315435:1711657016706366 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711657016712301:1711657016713232 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711657016715872:1711657016716437 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +PASSED! +## Iteration (75) ################# +1711657032214374:1711657032216129 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711657032225646:1711657032226219 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +1711657033278396:1711657033280880 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711657033278396:1711657033285367 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711657033287870:1711657033647498 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711657033287870:1711657033678394 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711657033684621:1711657033685654 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711657033688645:1711657033689260 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +PASSED! +## Iteration (74) ################# +1711657049084492:1711657049086124 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711657049095231:1711657049095760 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +1711657050147063:1711657050149538 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711657050147063:1711657050154207 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711657050156552:1711657050515047 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711657050156552:1711657050518177 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711657050535402:1711657050536549 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711657050549311:1711657050549797 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +PASSED! +## Iteration (73) ################# +1711657066006262:1711657066007828 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711657066016023:1711657066016698 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +1711657067068631:1711657067070789 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711657067068631:1711657067075057 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711657067077338:1711657067434338 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711657067077338:1711657067437457 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711657067454201:1711657067455137 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711657067468020:1711657067468509 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +PASSED! +## Iteration (72) ################# +1711657082970295:1711657082971700 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711657082979794:1711657082980285 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +1711657084030311:1711657084032835 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711657084030311:1711657084037222 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711657084039495:1711657084416119 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711657084039495:1711657084429521 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711657084436823:1711657084447916 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711657084450578:1711657084451085 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +PASSED! +## Iteration (71) ################# +1711657099857629:1711657099859257 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711657099867404:1711657099868075 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +1711657100926202:1711657100928336 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711657100926202:1711657100933125 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711657100935367:1711657101294403 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711657100935367:1711657101324786 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711657101330852:1711657101331806 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711657101334522:1711657101335133 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +PASSED! +## Iteration (70) ################# +1711657116790034:1711657116792179 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711657116800154:1711657116800730 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +1711657117851421:1711657117853971 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711657117851421:1711657117858302 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711657117860644:1711657118223608 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711657117860644:1711657118253440 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711657118259150:1711657118260081 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711657118262787:1711657118263416 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +PASSED! +## Iteration (69) ################# +1711657133763359:1711657133765001 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711657133774012:1711657133774665 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +1711657134827583:1711657134829934 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711657134827583:1711657134834398 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711657134836713:1711657135194437 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711657134836713:1711657135224483 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711657135230233:1711657135231228 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711657135233936:1711657135234520 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +PASSED! +## Iteration (68) ################# +1711657150670117:1711657150671878 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711657150681534:1711657150682164 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +1711657151734070:1711657151736696 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711657151734070:1711657151741384 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711657151743716:1711657152105732 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711657151743716:1711657152136281 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711657152141972:1711657152142975 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711657152145667:1711657152146286 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +PASSED! +## Iteration (67) ################# +1711657167543977:1711657167545925 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711657167554496:1711657167555272 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +1711657168617547:1711657168619815 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711657168617547:1711657168624466 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711657168626800:1711657168984526 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711657168626800:1711657169014445 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711657169020207:1711657169021224 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711657169023947:1711657169024567 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +PASSED! +## Iteration (66) ################# +1711657184498512:1711657184500320 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711657184509050:1711657184509618 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +1711657185561931:1711657185564544 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711657185561931:1711657185568856 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711657185571177:1711657185927724 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711657185571177:1711657185957903 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711657185963392:1711657185964352 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711657185966948:1711657185967564 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +PASSED! +## Iteration (65) ################# +1711657201462203:1711657201463914 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711657201472644:1711657201473210 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +1711657202528263:1711657202530888 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711657202528263:1711657202535658 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711657202538026:1711657202898012 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711657202538026:1711657202901270 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711657202918837:1711657202920121 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711657202932684:1711657202933200 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +PASSED! +## Iteration (64) ################# +1711657218315478:1711657218317308 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711657218325393:1711657218325999 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +1711657219375629:1711657219377768 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711657219375629:1711657219382420 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711657219384701:1711657219738608 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711657219384701:1711657219741948 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711657219758774:1711657219759810 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711657219771994:1711657219772465 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +PASSED! +## Iteration (63) ################# +1711657235193889:1711657235195335 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711657235203739:1711657235204399 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +1711657236257098:1711657236259667 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711657236257098:1711657236264122 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711657236266420:1711657236625007 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711657236266420:1711657236628412 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711657236645398:1711657236646428 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711657236658865:1711657236659311 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +PASSED! +## Iteration (62) ################# +1711657252166567:1711657252167868 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711657252176870:1711657252177347 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +1711657253226356:1711657253228648 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711657253226356:1711657253233152 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711657253235408:1711657253598742 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711657253235408:1711657253629324 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711657253635552:1711657253636528 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711657253639315:1711657253640032 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +PASSED! +## Iteration (61) ################# +1711657269059662:1711657269061430 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711657269069918:1711657269070607 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +1711657270124225:1711657270126667 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711657270124225:1711657270131318 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711657270133653:1711657270495291 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711657270133653:1711657270525302 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711657270531148:1711657270532137 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711657270534889:1711657270535458 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +PASSED! +## Iteration (60) ################# +1711657286000076:1711657286001898 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711657286010482:1711657286011122 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +1711657287061883:1711657287064347 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711657287061883:1711657287068737 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711657287071081:1711657287426579 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711657287071081:1711657287456706 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711657287462410:1711657287463348 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711657287466077:1711657287466753 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +PASSED! +## Iteration (59) ################# +1711657302955948:1711657302957682 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711657302966103:1711657302966667 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +1711657304035964:1711657304038381 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711657304035964:1711657304042964 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711657304045288:1711657305775993 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711657304045288:1711657305807101 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711657305813374:1711657305814407 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711657305817332:1711657305818025 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +PASSED! +## Iteration (58) ################# +1711657321252365:1711657321254156 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711657321262862:1711657321263411 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +1711657322331905:1711657322334219 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711657322331905:1711657322338626 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711657322340948:1711657324065861 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711657322340948:1711657324096954 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711657324102974:1711657324104078 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711657324107016:1711657324107751 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +PASSED! +## Iteration (57) ################# +1711657339520727:1711657339522804 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711657339531588:1711657339532338 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +1711657340618313:1711657340620777 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711657340618313:1711657340625194 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711657340627523:1711657342356840 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711657340627523:1711657342387935 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711657342394146:1711657342395166 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711657342398121:1711657342398816 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +PASSED! +## Iteration (56) ################# +1711657357861850:1711657357863589 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711657357872795:1711657357873315 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +1711657358940198:1711657358942646 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711657358940198:1711657358947414 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711657358949778:1711657360682518 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711657358949778:1711657360703497 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711657360709462:1711657360710538 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711657360713480:1711657360714154 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +PASSED! +## Iteration (55) ################# +1711657376168583:1711657376170679 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711657376180334:1711657376180896 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +1711657377251101:1711657377253384 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711657377251101:1711657377257776 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711657377260123:1711657378981944 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711657377260123:1711657379012872 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711657379019096:1711657379020218 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711657379023196:1711657379023882 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +PASSED! +## Iteration (54) ################# +1711657394434191:1711657394436030 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711657394444699:1711657394445272 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +1711657395512735:1711657395515118 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711657395512735:1711657395519745 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711657395522088:1711657397236077 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711657395522088:1711657397267142 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711657397273244:1711657397274575 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711657397277522:1711657397278136 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +PASSED! +## Iteration (53) ################# +1711657412693427:1711657412695433 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711657412704609:1711657412705178 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +1711657413773211:1711657413775510 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711657413773211:1711657413779939 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711657413782277:1711657415505393 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711657413782277:1711657415536534 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711657415542749:1711657415543828 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711657415546824:1711657415547448 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +PASSED! +## Iteration (52) ################# +1711657430998582:1711657431000501 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711657431009134:1711657431009628 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +1711657432077800:1711657432080132 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711657432077800:1711657432084656 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711657432087039:1711657433819683 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711657432087039:1711657433850630 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711657433856818:1711657433857892 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711657433860813:1711657433861489 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +PASSED! +## Iteration (51) ################# +1711657449268483:1711657449270660 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711657449279282:1711657449279786 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +1711657450348000:1711657450350361 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711657450348000:1711657450354492 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711657450356847:1711657452076308 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711657450356847:1711657452106917 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711657452113073:1711657452114136 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711657452117330:1711657452118015 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +PASSED! +## Iteration (50) ################# +1711657467506151:1711657467507893 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711657467517498:1711657467518077 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +1711657468584380:1711657468586881 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711657468584380:1711657468591673 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711657468594020:1711657470319188 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711657468594020:1711657470350862 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711657470357028:1711657470358103 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711657470361114:1711657470361839 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +PASSED! +## Iteration (49) ################# +1711657485807357:1711657485809260 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711657485818816:1711657485819290 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +1711657486889574:1711657486891929 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711657486889574:1711657486896235 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711657486898587:1711657488638473 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711657486898587:1711657488659562 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711657488665801:1711657488666876 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711657488669814:1711657488670498 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +PASSED! +## Iteration (48) ################# +1711657504101000:1711657504103044 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711657504111891:1711657504112439 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +1711657505179474:1711657505181976 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711657505179474:1711657505186518 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711657505188851:1711657506905505 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711657505188851:1711657506936590 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711657506942933:1711657506943940 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711657506946857:1711657506947547 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +PASSED! +## Iteration (47) ################# +1711657522396621:1711657522398526 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711657522407474:1711657522408054 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +1711657523480969:1711657523483651 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711657523480969:1711657523488585 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711657523490984:1711657525216514 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711657523490984:1711657525246925 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711657525252956:1711657525254034 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711657525256973:1711657525257662 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +PASSED! +## Iteration (46) ################# +1711657540709054:1711657540711049 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711657540720782:1711657540721359 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +1711657541788696:1711657541790982 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711657541788696:1711657541795516 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711657541797854:1711657543529248 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711657541797854:1711657543559847 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711657543566046:1711657543566989 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711657543569904:1711657543570536 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +PASSED! +## Iteration (45) ################# +1711657559068492:1711657559070024 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711657559078832:1711657559079350 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +1711657560134149:1711657560136546 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711657560134149:1711657560141175 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711657560143539:1711657560509259 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711657560143539:1711657560539733 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711657560545411:1711657560546408 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711657560557484:1711657560558175 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +PASSED! +## Iteration (44) ################# +1711657575972838:1711657575974656 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711657575984875:1711657575985444 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +1711657577042677:1711657577045248 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711657577042677:1711657577050138 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711657577052511:1711657577412859 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711657577052511:1711657577442341 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711657577448364:1711657577449286 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711657577451931:1711657577452539 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +PASSED! +## Iteration (43) ################# +1711657592924853:1711657592926668 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711657592935801:1711657592936386 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +1711657593989073:1711657593991454 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711657593989073:1711657593996056 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711657593998372:1711657594357272 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711657593998372:1711657594387112 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711657594392992:1711657594393955 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711657594396644:1711657594397204 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +PASSED! +## Iteration (42) ################# +1711657609864698:1711657609866496 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711657609876260:1711657609876771 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +1711657610932398:1711657610934951 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711657610932398:1711657610939418 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711657610941746:1711657611302185 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711657610941746:1711657611332046 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711657611337781:1711657611338747 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711657611341469:1711657611342057 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +PASSED! +## Iteration (41) ################# +1711657626718794:1711657626720527 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711657626729801:1711657626730369 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +1711657627786468:1711657627788946 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711657627786468:1711657627793271 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711657627795616:1711657628150436 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711657627795616:1711657628180451 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711657628185994:1711657628187078 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711657628189786:1711657628190411 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +PASSED! +## Iteration (40) ################# +1711657643606918:1711657643608884 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711657643617569:1711657643618124 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +1711657644675075:1711657644677306 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711657644675075:1711657644681779 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711657644684072:1711657645041810 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711657644684072:1711657645072248 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711657645077972:1711657645078925 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711657645081597:1711657645082475 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +PASSED! +## Iteration (39) ################# +1711657660568169:1711657660570249 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711657660578894:1711657660579456 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +1711657661633656:1711657661636034 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711657661633656:1711657661640434 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711657661642778:1711657662000315 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711657661642778:1711657662003507 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711657662020554:1711657662021690 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711657662034393:1711657662034842 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +PASSED! +## Iteration (38) ################# +1711657677406311:1711657677407937 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711657677417218:1711657677417700 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +1711657678467367:1711657678469786 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711657678467367:1711657678474398 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711657678476850:1711657678830369 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711657678476850:1711657678833746 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711657678851355:1711657678852512 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711657678865014:1711657678865463 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +PASSED! +## Iteration (37) ################# +1711657694309553:1711657694310846 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711657694318693:1711657694319173 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +1711657695372862:1711657695375055 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711657695372862:1711657695379345 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711657695381605:1711657695736647 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711657695381605:1711657695740034 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711657695757604:1711657695758635 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711657695770966:1711657695771432 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +PASSED! +## Iteration (36) ################# +1711657711265803:1711657711267185 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711657711275581:1711657711276049 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +1711657712351827:1711657712354183 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711657712351827:1711657712358551 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711657712360813:1711657712716230 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711657712360813:1711657712719716 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711657712736840:1711657712737760 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711657712749803:1711657712750252 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +PASSED! +## Iteration (35) ################# +1711657728166997:1711657728168465 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711657728176582:1711657728177061 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +1711657729250128:1711657729252264 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711657729250128:1711657729256577 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711657729258852:1711657729615349 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711657729258852:1711657729618683 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711657729635725:1711657729636772 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711657729649292:1711657729649737 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +PASSED! +## Iteration (34) ################# +1711657745099525:1711657745100818 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711657745108935:1711657745109411 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +1711657746177161:1711657746179270 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711657746177161:1711657746183778 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711657746186246:1711657746547351 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711657746186246:1711657746550797 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711657746568090:1711657746569126 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711657746580993:1711657746581455 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +PASSED! +## Iteration (33) ################# +1711657762058264:1711657762059479 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711657762067611:1711657762068234 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +1711657763134031:1711657763136253 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711657763134031:1711657763140619 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711657763142860:1711657763492681 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711657763142860:1711657763496022 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711657763513098:1711657763513985 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711657763526029:1711657763526476 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +PASSED! +## Iteration (32) ################# +1711657779018520:1711657779019755 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711657779028007:1711657779028477 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +1711657780096222:1711657780098333 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711657780096222:1711657780102628 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711657780104878:1711657780468602 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711657780104878:1711657780471614 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711657780488466:1711657780489469 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711657780501793:1711657780502264 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +PASSED! +## Iteration (31) ################# +1711657795879725:1711657795881013 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711657795889230:1711657795889711 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +1711657796952049:1711657796954114 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711657796952049:1711657796958801 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711657796961063:1711657797316925 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711657796961063:1711657797320332 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711657797337533:1711657797338728 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711657797350519:1711657797350985 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +PASSED! +## Iteration (30) ################# +1711657812655233:1711657812656532 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711657812664886:1711657812665407 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +1711657813710361:1711657813712523 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711657813710361:1711657813716668 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711657813718945:1711657814074323 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711657813718945:1711657814077620 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711657814095163:1711657814096140 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711657814108167:1711657814108609 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +PASSED! +## Iteration (29) ################# +1711657829480523:1711657829481867 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711657829489999:1711657829490477 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +1711657830536629:1711657830538789 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711657830536629:1711657830543057 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711657830545343:1711657830899568 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711657830545343:1711657830902499 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711657830918938:1711657830919960 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711657830932249:1711657830932796 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +PASSED! +## Iteration (28) ################# +1711657846217021:1711657846218296 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711657846226268:1711657846227008 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +1711657847270495:1711657847272748 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711657847270495:1711657847276880 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711657847279147:1711657847634390 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711657847279147:1711657847637689 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711657847654748:1711657847655836 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711657847667949:1711657847668424 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +PASSED! +## Iteration (27) ################# +1711657863017130:1711657863018361 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711657863026866:1711657863027406 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +1711657864071827:1711657864073884 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711657864071827:1711657864078262 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711657864080510:1711657864412352 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711657864080510:1711657864415364 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711657864431561:1711657864432635 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711657864435462:1711657864446111 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +PASSED! +## Iteration (26) ################# +1711657879723792:1711657879725200 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711657879733472:1711657879733935 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +1711657880806870:1711657880808966 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711657880806870:1711657880813208 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711657880815429:1711657881172616 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711657880815429:1711657881175874 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711657881192847:1711657881193936 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711657881205992:1711657881206461 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +PASSED! +## Iteration (25) ################# +1711657896556721:1711657896557958 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711657896566248:1711657896566724 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +1711657897612989:1711657897615230 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711657897612989:1711657897619179 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711657897621434:1711657897974890 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711657897621434:1711657897978238 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711657897995369:1711657897996386 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711657898008650:1711657898009142 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +PASSED! +## Iteration (24) ################# +1711657913262655:1711657913263897 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711657913271771:1711657913272243 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +1711657914332718:1711657914334840 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711657914332718:1711657914339377 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711657914341679:1711657916037029 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711657914341679:1711657916040758 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711657916045556:1711657916046448 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711657916048963:1711657916049437 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +PASSED! +## Iteration (23) ################# +1711657931337520:1711657931338922 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711657931347230:1711657931347891 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +1711657932408820:1711657932410868 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711657932408820:1711657932415134 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711657932417403:1711657934144445 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711657932417403:1711657934147772 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711657934165324:1711657934166406 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711657934179444:1711657934179959 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +PASSED! +## Iteration (22) ################# +1711657949500112:1711657949501759 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711657949511181:1711657949511896 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +1711657950594881:1711657950597005 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711657950594881:1711657950601776 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711657950604095:1711657952330346 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711657950604095:1711657952344747 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711657952363002:1711657952364012 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711657952366659:1711657952367214 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +PASSED! +## Iteration (21) ################# +1711657967676409:1711657967677992 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711657967686447:1711657967686921 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +1711657968758208:1711657968760545 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711657968758208:1711657968764705 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711657968766947:1711657970505831 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711657968766947:1711657970536356 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711657970542543:1711657970543730 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711657970546722:1711657970547391 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +PASSED! +## Iteration (20) ################# +1711657985990223:1711657985991831 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711657985999948:1711657986000416 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +1711657987067936:1711657987070268 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711657987067936:1711657987074908 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711657987077277:1711657988803449 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711657987077277:1711657988834386 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711657988840511:1711657988841623 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711657988844630:1711657988845250 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +PASSED! +## Iteration (19) ################# +1711658004323802:1711658004325573 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711658004334943:1711658004335450 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +1711658005404651:1711658005407367 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711658005404651:1711658005411672 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711658005414025:1711658007134650 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711658005414025:1711658007166126 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711658007172211:1711658007173263 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711658007176239:1711658007176940 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +PASSED! +## Iteration (18) ################# +1711658022620974:1711658022622840 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711658022631775:1711658022632345 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +1711658023698027:1711658023700629 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711658023698027:1711658023705263 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711658023707586:1711658025430934 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711658023707586:1711658025461161 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711658025467234:1711658025468349 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711658025471328:1711658025472012 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +PASSED! +## Iteration (17) ################# +1711658040907342:1711658040909465 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711658040918204:1711658040918674 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +1711658041987640:1711658041990189 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711658041987640:1711658041995010 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711658041997402:1711658043724484 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711658041997402:1711658043755276 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711658043761482:1711658043762559 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711658043765548:1711658043766235 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +PASSED! +## Iteration (16) ################# +1711658059215378:1711658059217158 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711658059225647:1711658059226264 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +1711658060294921:1711658060297412 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711658060294921:1711658060302374 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711658060304776:1711658062039786 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711658060304776:1711658062071245 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711658062077500:1711658062078565 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711658062081499:1711658062082232 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +PASSED! +## Iteration (15) ################# +1711658077542161:1711658077544001 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711658077552958:1711658077553633 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +1711658078641751:1711658078644555 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711658078641751:1711658078648946 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711658078651314:1711658080379393 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711658078651314:1711658080410850 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711658080416857:1711658080417941 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711658080420956:1711658080421652 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +PASSED! +## Iteration (14) ################# +1711658095799163:1711658095801028 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711658095810451:1711658095810943 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +1711658096882629:1711658096884907 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711658096882629:1711658096889572 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711658096892008:1711658098623839 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711658096892008:1711658098654928 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711658098660984:1711658098662047 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711658098665000:1711658098665693 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +PASSED! +## Iteration (13) ################# +1711658114069256:1711658114071401 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711658114080996:1711658114081563 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +1711658115149557:1711658115151907 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711658115149557:1711658115156315 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711658115158655:1711658116886619 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711658115158655:1711658116917610 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711658116923972:1711658116925044 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711658116928120:1711658116928784 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +PASSED! +## Iteration (12) ################# +1711658132369731:1711658132371259 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711658132379967:1711658132380533 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +1711658133445548:1711658133447904 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711658133445548:1711658133452480 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711658133454994:1711658135192886 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711658133454994:1711658135224277 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711658135230274:1711658135231319 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711658135234237:1711658135234913 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +PASSED! +## Iteration (11) ################# +1711658150634666:1711658150637105 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711658150645880:1711658150646367 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +1711658151717646:1711658151720100 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711658151717646:1711658151724632 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711658151726996:1711658153451619 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711658151726996:1711658153482358 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711658153488500:1711658153489609 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711658153492655:1711658153493282 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +PASSED! +## Iteration (10) ################# +1711658168899644:1711658168901665 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711658168910873:1711658168911381 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +1711658169960643:1711658169962906 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711658169960643:1711658169967512 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711658169969838:1711658170332094 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711658169969838:1711658170352231 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711658170367697:1711658170368706 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711658170371479:1711658170372089 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +PASSED! +## Iteration (9) ################# +1711658185813893:1711658185815629 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711658185824951:1711658185825446 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +1711658186879115:1711658186881786 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711658186879115:1711658186886306 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711658186888653:1711658187247681 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711658186888653:1711658187277617 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711658187283280:1711658187284223 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711658187286843:1711658187287460 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +PASSED! +## Iteration (8) ################# +1711658202776268:1711658202778173 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711658202787395:1711658202788013 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +1711658203836803:1711658203839064 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711658203836803:1711658203843707 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711658203846138:1711658204222705 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711658203846138:1711658204253000 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711658204259356:1711658204260430 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711658204263443:1711658204264119 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +PASSED! +## Iteration (7) ################# +1711658219634945:1711658219637014 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711658219647033:1711658219647540 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +1711658220704524:1711658220706737 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711658220704524:1711658220711369 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711658220713761:1711658221070579 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711658220713761:1711658221100148 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711658221105863:1711658221106898 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711658221109649:1711658221110211 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +PASSED! +## Iteration (6) ################# +1711658236566155:1711658236567996 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711658236576912:1711658236577475 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +1711658237630668:1711658237633250 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711658237630668:1711658237637510 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711658237639845:1711658238000416 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711658237639845:1711658238030514 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711658238036243:1711658238037193 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711658238039791:1711658238040404 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +PASSED! +## Iteration (5) ################# +1711658253545759:1711658253547625 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711658253556522:1711658253557030 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +1711658254610943:1711658254613320 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711658254610943:1711658254617949 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711658254620298:1711658254981209 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711658254620298:1711658255011747 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711658255017640:1711658255018699 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711658255021499:1711658255022161 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +PASSED! +## Iteration (4) ################# +1711658270443815:1711658270445914 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711658270454623:1711658270455330 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +1711658271507848:1711658271510141 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711658271507848:1711658271514250 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711658271516595:1711658271874464 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711658271516595:1711658271877675 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711658271897016:1711658271898353 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711658271910171:1711658271910694 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +PASSED! +## Iteration (3) ################# +1711658287356843:1711658287358504 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711658287366750:1711658287367244 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +1711658288418882:1711658288421218 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711658288418882:1711658288425361 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711658288427646:1711658288783858 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711658288427646:1711658288787383 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711658288804508:1711658288805483 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711658288817443:1711658288817907 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +PASSED! +## Iteration (2) ################# +1711658304330247:1711658304331712 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711658304340193:1711658304340661 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +1711658305390888:1711658305392920 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711658305390888:1711658305397339 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711658305399667:1711658305760008 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711658305399667:1711658305763405 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711658305780555:1711658305781596 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711658305794062:1711658305794508 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +PASSED! +## Iteration (1) ################# +1711658321289577:1711658321291105 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711658321299745:1711658321300263 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +1711658322350803:1711658322352878 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711658322350803:1711658322357143 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711658322359468:1711658322719204 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711658322359468:1711658322722526 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711658322739958:1711658322740934 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711658322752944:1711658322753390 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +PASSED! +## Iteration (0) ################# +1711658338094693:1711658338096614 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711658338106834:1711658338107305 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +1711658339155224:1711658339157689 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711658339155224:1711658339162030 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711658339164350:1711658339525835 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711658339164350:1711658339555741 14428:14428 hsaKmtWaitOnEvent(, ) = 0 +1711658339561289:1711658339562394 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 +1711658339565183:1711658339565743 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +PASSED! +1711658355050530:1711658355064929 14428:14428 hsaKmtUnmapMemoryToGPU() = 0 +1711658355074741:1711658355106913 14428:14428 hsaKmtFreeMemory(, ) = 0 +1711658355116507:1711658355124642 14428:14428 hsaKmtUnmapMemoryToGPU() = 0 +1711658355126840:1711658355133954 14428:14428 hsaKmtFreeMemory(, ) = 0 +1711658355144525:1711658355150746 14428:14428 hsaKmtUnmapMemoryToGPU() = 0 +1711658355152795:1711658355388102 14428:14428 hsaKmtFreeMemory(, ) = 0 +1711658373554928:1711658373567556 14428:14428 hsaKmtUnmapMemoryToGPU() = 0 +1711658373583331:1711658373606125 14428:14428 hsaKmtDeregisterMemory() = 0 +1711658373651933:1711658373657640 14428:14428 hsaKmtUnmapMemoryToGPU() = 0 +1711658373684916:1711658373734029 14428:14428 hsaKmtFreeMemory(, ) = 0 +1711658373740935:1711658373747231 14428:14428 hsaKmtUnmapMemoryToGPU() = 0 +1711658373749316:1711658373968663 14428:14428 hsaKmtFreeMemory(, ) = 0 +1711658373973179:1711658373979542 14428:14428 hsaKmtUnmapMemoryToGPU() = 0 +1711658373981464:1711658374190636 14428:14428 hsaKmtFreeMemory(, ) = 0 +1711658374194800:1711658374200685 14428:14428 hsaKmtUnmapMemoryToGPU() = 0 +1711658374202589:1711658374408922 14428:14428 hsaKmtFreeMemory(, ) = 0 +1711658374413211:1711658374419133 14428:14428 hsaKmtUnmapMemoryToGPU() = 0 +1711658374421025:1711658374630125 14428:14428 hsaKmtFreeMemory(, ) = 0 +1711658374655560:1711658374660800 14428:14428 hsaKmtUnmapMemoryToGPU() = 0 +1711658374663180:1711658374672467 14428:14428 hsaKmtFreeMemory(, ) = 0 +1711658374675171:1711658374678110 14428:14428 hsaKmtUnmapMemoryToGPU() = 0 +1711658374681478:1711658374687208 14428:14428 hsaKmtFreeMemory(, ) = 0 +1711658374689738:1711658374692724 14428:14428 hsaKmtUnmapMemoryToGPU() = 0 +1711658374694561:1711658374700770 14428:14428 hsaKmtFreeMemory(, ) = 0 +1711658374703344:1711658374706826 14428:14428 hsaKmtUnmapMemoryToGPU() = 0 +1711658374708613:1711658374737714 14428:14428 hsaKmtFreeMemory(, ) = 0 +1711658374740941:1711658374745391 14428:14428 hsaKmtFreeMemory(, ) = 0 +1711658374747595:1711658374751283 14428:14428 hsaKmtUnmapMemoryToGPU() = 0 +1711658374753391:1711658374761928 14428:14428 hsaKmtFreeMemory(, ) = 0 +1711658374764242:1711658374767375 14428:14428 hsaKmtUnmapMemoryToGPU() = 0 +1711658374769167:1711658374775322 14428:14428 hsaKmtFreeMemory(, ) = 0 +1711658374786056:1711658374790896 14428:14428 hsaKmtSetEvent() = 0 +1711656606195495:1711658374812319 14428:14432 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711658374821921:1711658374823155 14428:14432 hsaKmtSetEvent() = 0 +1711658374844450:1711658374847967 14428:14428 hsaKmtUnmapMemoryToGPU() = 0 +1711658374850551:1711658374862387 14428:14428 hsaKmtFreeMemory(, ) = 0 +1711658374866138:1711658374876508 14428:14428 hsaKmtUnmapMemoryToGPU() = 0 +1711658375027248:1711658375030076 14428:14432 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711658374878478:1711658375497616 14428:14428 hsaKmtFreeMemory(, ) = 0 +1711658375500756:1711658375504623 14428:14428 hsaKmtUnmapMemoryToGPU() = 0 +1711658375512969:1711658375520388 14428:14428 hsaKmtFreeMemory(, ) = 0 +1711658375512969:1711658375522574 14428:14428 hsaKmtDestroyQueue() = 0 +1711658375525054:1711658375529769 14428:14428 hsaKmtUnmapMemoryToGPU() = 0 +1711658375531640:1711658375554876 14428:14428 hsaKmtFreeMemory(, ) = 0 +1711658375558339:1711658375562062 14428:14428 hsaKmtUnmapMemoryToGPU() = 0 +1711658375563862:1711658375570580 14428:14428 hsaKmtFreeMemory(, ) = 0 +1711658375573057:1711658375575978 14428:14428 hsaKmtUnmapMemoryToGPU() = 0 +1711658375577785:1711658375583635 14428:14428 hsaKmtFreeMemory(, ) = 0 +1711658375587078:1711658375591211 14428:14428 hsaKmtSetEvent() = 0 +1711658375032932:1711658375626088 14428:14432 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +1711658375656587:1711658375658987 14428:14428 hsaKmtDestroyEvent() = 0 +1711658375662343:1711658375666075 14428:14428 hsaKmtUnmapMemoryToGPU() = 0 +1711658375667926:1711658375675768 14428:14428 hsaKmtFreeMemory(, ) = 0 +1711658375678249:1711658375679254 14428:14428 hsaKmtDestroyEvent() = 0 +1711658375680849:1711658375681647 14428:14428 hsaKmtDestroyEvent() = 0 +1711658375683180:1711658375683973 14428:14428 hsaKmtDestroyEvent() = 0 +1711658375685500:1711658375686335 14428:14428 hsaKmtDestroyEvent() = 0 +1711658375687863:1711658375688644 14428:14428 hsaKmtDestroyEvent() = 0 +1711658375690161:1711658375690965 14428:14428 hsaKmtDestroyEvent() = 0 +1711658375692481:1711658375693284 14428:14428 hsaKmtDestroyEvent() = 0 +1711658375694808:1711658375695642 14428:14428 hsaKmtDestroyEvent() = 0 +1711658375697149:1711658375697936 14428:14428 hsaKmtDestroyEvent() = 0 +1711658375699450:1711658375700255 14428:14428 hsaKmtDestroyEvent() = 0 +1711658375701768:1711658375702545 14428:14428 hsaKmtDestroyEvent() = 0 +1711658375704058:1711658375704871 14428:14428 hsaKmtDestroyEvent() = 0 +1711658375706382:1711658375707110 14428:14428 hsaKmtDestroyEvent() = 0 +1711658375711377:1711658375711377 14428:14428 hsaKmtReleaseSystemProperties() = 0 diff --git a/test/golden_traces/tests_trace_cmp_levels.txt b/test/golden_traces/tests_trace_cmp_levels.txt index a89ffbb37e..653a274e18 100644 --- a/test/golden_traces/tests_trace_cmp_levels.txt +++ b/test/golden_traces/tests_trace_cmp_levels.txt @@ -1,6 +1,7 @@ MatrixTranspose_ctest_trace 3 MatrixTranspose_test_trace 1 MatrixTranspose_mgpu_trace 1 +MatrixTranspose_kfd_trace 1 MatrixTranspose_sys_trace 1 MatrixTranspose_sys_hsa_trace 2 MatrixTranspose_hip_period_trace 0 From 76d8115dbb5f29932e4bbc6b1eeb5296bad32930 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Mon, 20 Apr 2020 13:14:53 -0500 Subject: [PATCH 368/691] adding GPU targets variable Change-Id: I46849cb7a8bf769379bc14be0f8dcb782ae65a37 --- cmake_modules/env.cmake | 66 ++++++++++++++++++++++++++++++++--------- 1 file changed, 52 insertions(+), 14 deletions(-) diff --git a/cmake_modules/env.cmake b/cmake_modules/env.cmake index ec548ffc30..9e7b13d8ab 100644 --- a/cmake_modules/env.cmake +++ b/cmake_modules/env.cmake @@ -1,3 +1,25 @@ +################################################################################ +# Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +# THE SOFTWARE. +################################################################################ + ## Build is not supported on Windows plaform if ( WIN32 ) message ( FATAL_ERROR "Windows build is not supported." ) @@ -67,15 +89,18 @@ if ( DEFINED ENV{CMAKE_LD_AQLPROFILE} ) add_definitions ( -DROCP_LD_AQLPROFILE=1 ) endif() -## Make env vars +## Build type if ( NOT DEFINED CMAKE_BUILD_TYPE OR "${CMAKE_BUILD_TYPE}" STREQUAL "" ) if ( DEFINED ENV{CMAKE_BUILD_TYPE} ) set ( CMAKE_BUILD_TYPE $ENV{CMAKE_BUILD_TYPE} ) endif() endif() + +## Installation prefix path if ( NOT DEFINED CMAKE_PREFIX_PATH AND DEFINED ENV{CMAKE_PREFIX_PATH} ) set ( CMAKE_PREFIX_PATH $ENV{CMAKE_PREFIX_PATH} ) endif() +set ( ENV{CMAKE_PREFIX_PATH} ${CMAKE_PREFIX_PATH} ) set ( HCC_HOME "/opt/rocm/hcc" ) set ( HIP_PATH "/opt/rocm/hip" ) @@ -111,31 +136,44 @@ endif () ## Find hsa-runtime headers/lib find_file ( HSA_RUNTIME_INC "hsa/hsa.h" ) find_library ( HSA_RUNTIME_LIB "libhsa-runtime${NBIT}.so" ) -get_filename_component ( HSA_RUNTIME_INC_PATH ${HSA_RUNTIME_INC} DIRECTORY ) -get_filename_component ( HSA_RUNTIME_LIB_PATH ${HSA_RUNTIME_LIB} DIRECTORY ) - -if ( "${HSA_RUNTIME_INC_PATH}" STREQUAL "" ) - message ( WARNING "HSA headers not found" ) -else () - set ( HSA_RUNTIME_HSA_INC_PATH ${HSA_RUNTIME_INC_PATH}/.. ) -endif () +get_filename_component ( HSA_RUNTIME_INC_PATH "${HSA_RUNTIME_INC}" DIRECTORY ) +get_filename_component ( HSA_RUNTIME_LIB_PATH "${HSA_RUNTIME_LIB}" DIRECTORY ) find_library ( HSA_KMT_LIB "libhsakmt.so" ) -get_filename_component ( HSA_KMT_LIB_PATH ${HSA_KMT_LIB} DIRECTORY ) +get_filename_component ( HSA_KMT_LIB_PATH "${HSA_KMT_LIB}" DIRECTORY ) +get_filename_component ( ROCM_ROOT_DIR "${HSA_KMT_LIB_PATH}" DIRECTORY ) + set ( HSA_KMT_INC_PATH "${HSA_KMT_LIB_PATH}/../include" ) -set ( ROCM_INC_PATH ${HSA_KMT_INC_PATH} ) +set ( ROCM_INC_PATH "${HSA_KMT_INC_PATH}" ) ## Basic Tool Chain Information -message ( "----------------NBIT: ${NBIT}" ) -message ( "-----------BuildType: ${CMAKE_BUILD_TYPE}" ) +message ( "----------------NBit: ${NBIT}" ) +message ( "----------Build-Type: ${CMAKE_BUILD_TYPE}" ) message ( "------------Compiler: ${CMAKE_CXX_COMPILER}" ) message ( "----Compiler-Version: ${CMAKE_CXX_COMPILER_VERSION}" ) message ( "-----HSA-Runtime-Inc: ${HSA_RUNTIME_INC_PATH}" ) message ( "-HSA-Runtime-HSA-Inc: ${HSA_RUNTIME_HSA_INC_PATH}" ) message ( "-----HSA-Runtime-Lib: ${HSA_RUNTIME_LIB_PATH}" ) +message ( "----HSA_KMT_LIB_PATH: ${HSA_KMT_LIB_PATH}" ) +message ( "-------ROCM_ROOT_DIR: ${ROCM_ROOT_DIR}" ) +message ( "-------------KFD-Inc: ${HSA_KMT_INC_PATH}" ) message ( "-------------HCC-Inc: ${HCC_INC_DIR}" ) message ( "-------------HIP-Inc: ${HIP_INC_DIR}" ) -message ( "-------------KFD-Inc: ${HSA_KMT_INC_PATH}" ) message ( "-------------HIP-VDI: ${HIP_VDI}" ) message ( "-----CMAKE_CXX_FLAGS: ${CMAKE_CXX_FLAGS}" ) message ( "---CMAKE_PREFIX_PATH: ${CMAKE_PREFIX_PATH}" ) +message ( "---------GPU_TARGETS: ${GPU_TARGETS}" ) + +## Check the ROCm pathes +if ( "${HSA_RUNTIME_INC_PATH}" STREQUAL "" ) + message ( FATAL_ERROR "HSA_RUNTIME_INC_PATH is not found." ) +endif () +if ( "${HSA_RUNTIME_LIB_PATH}" STREQUAL "" ) + message ( FATAL_ERROR "HSA_RUNTIME_LIB_PATH is not found." ) +endif () +if ( "${HSA_KMT_LIB_PATH}" STREQUAL "" ) + message ( FATAL_ERROR "HSA_KMT_LIB_PATH is not found." ) +endif () +if ( "${ROCM_ROOT_DIR}" STREQUAL "" ) + message ( FATAL_ERROR "ROCM_ROOT_DIR is not found." ) +endif () From d46e357aba6fb2f713c5af16abcb6e653e426292 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Mon, 20 Apr 2020 14:32:28 -0500 Subject: [PATCH 369/691] changing hsa class rev Change-Id: Ibd86f519c71edaca60fdc4f9cb7d9a230f5f3c6e --- test/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 853271ba35..8e367bc5e7 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -25,7 +25,7 @@ set ( CMAKE_VERBOSE_MAKEFILE TRUE CACHE BOOL "Verbose Output" FORCE ) ## Path to HSA test set ( HSA_TEST_DIR "${TEST_DIR}/hsa/test" ) -set ( HSA_REV "5c90a68" ) +set ( HSA_REV "2522691" ) ## test run script set ( RUN_SCRIPT "${TEST_DIR}/run.sh" ) From 5531a38d02800bca3204c73557884935c5ff758a Mon Sep 17 00:00:00 2001 From: Evgeny Date: Wed, 22 Apr 2020 23:10:05 -0500 Subject: [PATCH 370/691] loader verbose prints Change-Id: I99fcdcb0f06b58071a0ff13fbe468c23f7698410 --- src/core/loader.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/core/loader.h b/src/core/loader.h index 519ded8a44..928adef561 100644 --- a/src/core/loader.h +++ b/src/core/loader.h @@ -5,11 +5,18 @@ #include #include +#define ONLD_TRACE(str) \ + if (getenv("ROCP_ONLOAD_TRACE")) do { \ + std::cout << "PID(" << GetPid() << "): TRACER_LOADER::" << __FUNCTION__ << " " << str << std::endl << std::flush; \ + } while(0); + namespace roctracer { // Base runtime loader class template class BaseLoader : public T { + static uint32_t GetPid() { return syscall(__NR_getpid); } + public: typedef std::mutex mutex_t; typedef BaseLoader loader_t; @@ -47,6 +54,7 @@ class BaseLoader : public T { BaseLoader() { const int flags = (to_load_ == true) ? RTLD_LAZY : RTLD_LAZY|RTLD_NOLOAD; handle_ = dlopen(lib_name_, flags); + ONLD_TRACE("(" << lib_name_ << " = " << handle_ << ")"); if ((to_check_open_ == true) && (handle_ == NULL)) { fprintf(stderr, "roctracer: Loading '%s' failed, %s\n", lib_name_, dlerror()); abort(); From 72b0d25ea4e8b45ad9938a209851dcb1f735870d Mon Sep 17 00:00:00 2001 From: Rachida Kebichi Date: Tue, 21 Apr 2020 10:53:00 -0400 Subject: [PATCH 371/691] Added generation of hip ostream operators Change-Id: I5d07ea07cdd94097cb44619c29d9deba54e5d6a5 ostream ops code cleanup Change-Id: Ia4e287de1e1953f5d323a0066c29aa6056442139 --- cmake_modules/env.cmake | 6 +- inc/roctracer_hip.h | 1 + script/gen_ostream_ops.py | 154 +++++++++++++----- src/CMakeLists.txt | 3 +- test/golden_traces/tests_trace_cmp_levels.txt | 8 +- test/tool/tracer_tool.cpp | 3 +- 6 files changed, 119 insertions(+), 56 deletions(-) diff --git a/cmake_modules/env.cmake b/cmake_modules/env.cmake index 9e7b13d8ab..2798b87374 100644 --- a/cmake_modules/env.cmake +++ b/cmake_modules/env.cmake @@ -36,6 +36,7 @@ add_definitions ( -DLITTLEENDIAN_CPU=1 ) add_definitions ( -DHSA_LARGE_MODEL= ) add_definitions ( -DHSA_DEPRECATED= ) add_definitions ( -D__HIP_PLATFORM_HCC__ ) +add_definitions ( -DHIP_PROF_HIP_API_STRING=1 ) ## Linux Compiler options set ( CMAKE_CXX_FLAGS "-std=c++11") @@ -65,11 +66,6 @@ if ( DEFINED ENV{CMAKE_DEBUG_TRACE} ) add_definitions ( -DDEBUG_TRACE=1 ) endif() -## HIP APIString() routine enableing -if ( DEFINED HIP_PROF_HIP_API_STRING ) - add_definitions ( -DHIP_PROF_HIP_API_STRING=1 ) -endif() - ## Enable HIP_VDI mode if ( DEFINED HIP_VDI ) add_definitions ( -DHIP_VDI=${HIP_VDI} ) diff --git a/inc/roctracer_hip.h b/inc/roctracer_hip.h index 28e4868d59..d6ce158d14 100644 --- a/inc/roctracer_hip.h +++ b/inc/roctracer_hip.h @@ -23,6 +23,7 @@ THE SOFTWARE. #ifndef INC_ROCTRACER_HIP_H_ #define INC_ROCTRACER_HIP_H_ +#include "inc/hip_ostream_ops.h" #include #include diff --git a/script/gen_ostream_ops.py b/script/gen_ostream_ops.py index 38f7e757cd..aa7d566e89 100755 --- a/script/gen_ostream_ops.py +++ b/script/gen_ostream_ops.py @@ -27,11 +27,19 @@ LICENSE = \ 'THE SOFTWARE.\n' + \ '*/\n' -HEADER = \ +header = \ 'template \n' + \ 'struct output_streamer {\n' + \ ' inline static std::ostream& put(std::ostream& out, const T& v) { return out; }\n' + \ '};\n' + \ +'template<>\n' + \ +'struct output_streamer {\n' + \ + 'inline static std::ostream& put(std::ostream& out, void* v) { out << std::hex << v; return out; }\n' + \ +'};\n' + \ +'template<>\n' + \ +'struct output_streamer {\n' + \ + 'inline static std::ostream& put(std::ostream& out, const void* v) { out << std::hex << v; return out; }\n' + \ +'};\n' + \ '\ntemplate<>\n' + \ 'struct output_streamer {\n' + \ ' inline static std::ostream& put(std::ostream& out, bool v) { out << std::hex << ""; return out; }\n' + \ @@ -75,53 +83,91 @@ HEADER = \ '};\n' + \ '\n' -structs_done = {} -def process_struct(f,c,cppHeader,nname,apiname): +header_hip = \ +'template \n' + \ +' std::ostream& operator<<(std::ostream& out, const T& v) { using std::operator<<; out << v; return out; }\n' + \ +'std::ostream& operator<<(std::ostream& out, void* v) { using std::operator<<; out << std::hex << v; return out; }\n' + \ +'std::ostream& operator<<(std::ostream& out, const void* v) { using std::operator<<; out << std::hex << v; return out; }\n' + \ +'std::ostream& operator<<(std::ostream& out, bool v) { using std::operator<<; out << std::hex << ""; return out; }\n' + \ +'std::ostream& operator<<(std::ostream& out, uint8_t v) { using std::operator<<; out << std::hex << ""; return out; }\n' + \ +'std::ostream& operator<<(std::ostream& out, uint16_t v) { using std::operator<<; out << std::hex << ""; return out; }\n' + \ +'std::ostream& operator<<(std::ostream& out, uint32_t v) { using std::operator<<; out << std::hex << ""; return out; }\n' + \ +'std::ostream& operator<<(std::ostream& out, uint64_t v) { using std::operator<<; out << std::hex << ""; return out; }\n' + \ +'std::ostream& operator<<(std::ostream& out, bool* v) { using std::operator<<; out << std::hex << ""; return out; }\n' + \ +'std::ostream& operator<<(std::ostream& out, uint8_t* v) { using std::operator<<; out << std::hex << ""; return out; }\n' + \ +'std::ostream& operator<<(std::ostream& out, uint16_t* v) { using std::operator<<; out << std::hex << ""; return out; }\n' + \ +'std::ostream& operator<<(std::ostream& out, uint32_t* v) { using std::operator<<; out << std::hex << ""; return out; }\n' + \ +'std::ostream& operator<<(std::ostream& out, uint64_t* v) { using std::operator<<; out << std::hex << ""; return out; }\n' + \ +'\n' - if c not in cppHeader.classes: +structs_analyzed = {} +global_ops_hip = '' + +# process_struct traverses recursively all structs to extract all fields +def process_struct(file_handle, cppHeader_struct, cppHeader, parent_hier_name, apiname): +# file_handle: handle for output file {api_name}_ostream_ops.h to be generated +# cppHeader_struct: cppHeader struct being processed +# cppHeader: cppHeader object created by CppHeaderParser.CppHeader(...) +# parent_hier_name: parent hierarchical name used for nested structs/enums +# apiname: for example hip, kfd. + + if cppHeader_struct == 'max_align_t': #function pointers not working in cppheaderparser return - if c in structs_done: + if cppHeader_struct not in cppHeader.classes: + return + if cppHeader_struct in structs_analyzed: return - structs_done[c] = 1; - for l in range(len(cppHeader.classes[c]["properties"]["public"])): + structs_analyzed[cppHeader_struct] = 1; + for l in reversed(range(len(cppHeader.classes[cppHeader_struct]["properties"]["public"]))): key = 'name' name = "" - if key in cppHeader.classes[c]["properties"]["public"][l]: - name = cppHeader.classes[c]["properties"]["public"][l][key] + if key in cppHeader.classes[cppHeader_struct]["properties"]["public"][l]: + if parent_hier_name != '': + name = parent_hier_name + '.' + cppHeader.classes[cppHeader_struct]["properties"]["public"][l][key] + else: + name = cppHeader.classes[cppHeader_struct]["properties"]["public"][l][key] + if name == '': + continue key2 = 'type' mtype = "" - if key2 in cppHeader.classes[c]["properties"]["public"][l]: - mtype = cppHeader.classes[c]["properties"]["public"][l][key2] + if key2 in cppHeader.classes[cppHeader_struct]["properties"]["public"][l]: + mtype = cppHeader.classes[cppHeader_struct]["properties"]["public"][l][key2] + if mtype == '': + continue key3 = 'array_size' array_size = "" - if key3 in cppHeader.classes[c]["properties"]["public"][l]: - array_size = cppHeader.classes[c]["properties"]["public"][l][key3] + if key3 in cppHeader.classes[cppHeader_struct]["properties"]["public"][l]: + array_size = cppHeader.classes[cppHeader_struct]["properties"]["public"][l][key3] key4 = 'property_of_class' prop = "" - if key4 in cppHeader.classes[c]["properties"]["public"][l]: - prop = cppHeader.classes[c]["properties"]["public"][l][key4] + if key4 in cppHeader.classes[cppHeader_struct]["properties"]["public"][l]: + prop = cppHeader.classes[cppHeader_struct]["properties"]["public"][l][key4] - if mtype != "" and "union" not in mtype: - if array_size == "": - str = " roctracer::" + apiname.lower() + "_support::output_streamer<"+mtype+">::put(out,v."+name+");\n" + if "union" not in mtype: + if apiname.lower() == 'hip': + str = " roctracer::hip_support::operator<<(out, v."+name+");\n" else: + if array_size == "": + str = " roctracer::" + apiname.lower() + "_support::output_streamer<"+mtype+">::put(out,v."+name+");\n" + else: str = " roctracer::" + apiname.lower() + "_support::output_streamer<"+mtype+"["+array_size+"]>::put(out,v."+name+");\n" - - if nname != "" and nname not in str: - #print("injecting ",nname, "in ", str) - str = str.replace("v.","v."+nname+".") if "void" not in mtype: - f.write(str) + file_handle.write(str) else: - nc = prop+"::" - process_struct(f,nc,cppHeader,name,apiname) - nc = prop+"::"+mtype+" " - process_struct(f,nc,cppHeader,name,apiname) - nc = c+"::" - process_struct(f,nc,cppHeader,name,apiname) + if prop != '': + next_cppHeader_struct = prop + "::" + process_struct(file_handle, next_cppHeader_struct, cppHeader, name, apiname) + next_cppHeader_struct = prop + "::" + mtype + " " + process_struct(file_handle, next_cppHeader_struct, cppHeader, name, apiname) + next_cppHeader_struct = cppHeader_struct + "::" + process_struct(file_handle, next_cppHeader_struct, cppHeader, name, apiname) +# Parses API header file and generates ostream ops files ostream_ops.h and basic_ostream_ops.h def gen_cppheader(infilepath, outfilepath): +# infilepath: API Header file to be parsed +# outfilepath: Output file where ostream operators are written + global_ops_hip = '' try: cppHeader = CppHeaderParser.CppHeader(infilepath) except CppHeaderParser.CppParseError as e: @@ -139,42 +185,60 @@ def gen_cppheader(infilepath, outfilepath): f2.write("// automatically generated\n") f.write(LICENSE + '\n') f2.write(LICENSE + '\n') - HEADER_S = \ + header_s = \ '#ifndef INC_' + apiname + '_OSTREAM_OPS_H_\n' + \ '#define INC_' + apiname + '_OSTREAM_OPS_H_\n' + \ + '#ifdef __cplusplus\n' + \ '#include \n' + \ '\n' + \ '#include "roctracer.h"\n' - f.write(HEADER_S) + if apiname.lower() == 'hip': + header_s = header_s + '\n' + \ + '#include "hip/hip_runtime_api.h"\n' + \ + '#include "hip/hcc_detail/hip_vector_types.h"\n\n' + f.write(header_s) f.write('\n') f.write('namespace roctracer {\n') f.write('namespace ' + apiname.lower() + '_support {\n') f.write('// begin ostream ops for '+ apiname + ' \n') - f.write('#include "basic_ostream_ops.h"' + '\n') - f2.write(HEADER) + if apiname.lower() != 'hip': + f.write('#include "basic_ostream_ops.h"' + '\n') + else: + f.write("// HIP basic ostream ops\n") + f.write(header_hip) + f.write("// End of HIP basic ostream ops\n\n") + f2.write(header) for c in cppHeader.classes: if "union" in c: continue if len(cppHeader.classes[c]["properties"]["public"])!=0: + if apiname.lower() == 'hip': + f.write("std::ostream& operator<<(std::ostream& out, " + c + "& v)\n") + f.write("{\n") + global_ops_hip = global_ops_hip + "std::ostream& operator<<(std::ostream& out, const " + c + "& v)\n" + "{\n" + " roctracer::hip_support::operator<<(out, v);\n" + " return out;\n" + "}\n\n" + process_struct(f, c, cppHeader, "", apiname) + f.write(" return out;\n") + f.write("}\n") + else: f.write("\ntemplate<>\n") - f.write("struct output_streamer<"+c+"&> {\n") + f.write("struct output_streamer<" + c + "&> {\n") f.write(" inline static std::ostream& put(std::ostream& out, "+c+"& v)\n") f.write("{\n") - process_struct(f,c,cppHeader,"",apiname) + process_struct(f, c, cppHeader, "", apiname) f.write(" return out;\n") f.write("}\n") f.write("};\n") - FOOTER = \ + footer = \ '// end ostream ops for '+ apiname + ' \n' - FOOTER += '};};\n' + \ - '\n' + \ - '#endif // INC_' + apiname + '_OSTREAM_OPS_H_\n' + \ - ' \n' - FOOTER2 = '\n\n' + \ - '#endif // INC_BASIC_OSTREAM_OPS_H_\n' + \ - ' \n' - f.write(FOOTER) + footer += '};};\n\n' + f.write(footer) + f.write(global_ops_hip) + + footer = '#endif //__cplusplus\n' + \ + '#endif // INC_' + apiname + '_OSTREAM_OPS_H_\n' + \ + ' \n' + f.write(footer) f.close() f2.close() print('File ' + outfilepath + ' generated') @@ -190,4 +254,4 @@ requiredNamed.add_argument('-out', metavar='file', help='Output file with ostrea args = vars(parser.parse_args()) if __name__ == '__main__': - gen_cppheader(args['in'],args['out']) + gen_cppheader(args['in'], args['out']) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 6d8c020b2a..0fc4b9bd2d 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -23,7 +23,8 @@ set ( KFD_LIB_SRC ) execute_process ( COMMAND sh -xc "${CMAKE_CXX_COMPILER} -E ${HSA_KMT_INC_PATH}/hsakmttypes.h > ${PROJECT_BINARY_DIR}/hsakmttypes_pp.h" ) execute_process ( COMMAND sh -xc "${ROOT_DIR}/script/gen_ostream_ops.py -in ${PROJECT_BINARY_DIR}/hsakmttypes_pp.h -out ${ROOT_DIR}/inc/kfd_ostream_ops.h" ) -execute_process ( COMMAND sh -xc "${ROOT_DIR}/script/gen_ostream_ops.py -in ${HIP_PATH}/include/hip/hip_runtime_api.h -out ${ROOT_DIR}/inc/hip_ostream_ops.h" ) +execute_process ( COMMAND sh -xc "/usr/bin/gcc -D__HIP_PLATFORM_HCC__ -I${HIP_PATH}/include -I${CMAKE_PREFIX_PATH}/hsa/include -E ${HIP_PATH}/include/hip/hip_runtime_api.h > ${PROJECT_BINARY_DIR}/hip_runtime_api_pp.h" ) +execute_process ( COMMAND sh -xc "${ROOT_DIR}/script/gen_ostream_ops.py -in ${PROJECT_BINARY_DIR}/hip_runtime_api_pp.h -out ${ROOT_DIR}/inc/hip_ostream_ops.h" ) add_library ( ${KFD_LIB} SHARED ${KFD_LIB_SRC} ) target_include_directories ( ${KFD_LIB} PRIVATE ${LIB_DIR} ${ROOT_DIR} ${ROOT_DIR}/inc ${HSA_RUNTIME_INC_PATH} ${HSA_RUNTIME_HSA_INC_PATH} ${HSA_KMT_INC_PATH} ) target_link_libraries( ${KFD_LIB} PRIVATE c stdc++ ) diff --git a/test/golden_traces/tests_trace_cmp_levels.txt b/test/golden_traces/tests_trace_cmp_levels.txt index 653a274e18..b442541bc0 100644 --- a/test/golden_traces/tests_trace_cmp_levels.txt +++ b/test/golden_traces/tests_trace_cmp_levels.txt @@ -1,10 +1,10 @@ MatrixTranspose_ctest_trace 3 MatrixTranspose_test_trace 1 MatrixTranspose_mgpu_trace 1 -MatrixTranspose_kfd_trace 1 -MatrixTranspose_sys_trace 1 -MatrixTranspose_sys_hsa_trace 2 +MatrixTranspose_kfd_trace 0 +MatrixTranspose_sys_trace 0 +MatrixTranspose_sys_hsa_trace 0 MatrixTranspose_hip_period_trace 0 -MatrixTranspose_hip_flush_trace 1 +MatrixTranspose_hip_flush_trace 0 ctrl_hsa_trace 1 ctrl_hsa_input_trace 2 diff --git a/test/tool/tracer_tool.cpp b/test/tool/tracer_tool.cpp index 766a11d57e..7f22776660 100644 --- a/test/tool/tracer_tool.cpp +++ b/test/tool/tracer_tool.cpp @@ -406,7 +406,7 @@ void hip_api_flush_cb(hip_api_trace_entry_t* entry) { if (domain == ACTIVITY_DOMAIN_HIP_API) { #if HIP_PROF_HIP_API_STRING - const char* str = hipApiString(cid, data); + const char* str = hipApiString((hip_api_id_t)cid, data); fprintf(hip_api_file_handle, "%s\n", str); #else // !HIP_PROF_HIP_API_STRING switch (cid) { @@ -918,3 +918,4 @@ extern "C" DESTRUCTOR_API void destructor() { tool_unload(); ONLOAD_TRACE_END(); } + From 463869d556a7b57f18a6830dc1742d7d670c973f Mon Sep 17 00:00:00 2001 From: Evgeny Date: Tue, 5 May 2020 04:08:13 -0500 Subject: [PATCH 372/691] optimize HIP API tracing Change-Id: I43df8d8c4d2165d6ad63665b8bd1d86f99c5dffc --- src/core/hip_act_cb_tracker.h | 36 +++++++++++ src/core/roctracer.cpp | 117 ++++++++++++++++++++++++++++++++-- 2 files changed, 148 insertions(+), 5 deletions(-) create mode 100644 src/core/hip_act_cb_tracker.h diff --git a/src/core/hip_act_cb_tracker.h b/src/core/hip_act_cb_tracker.h new file mode 100644 index 0000000000..665f701c1c --- /dev/null +++ b/src/core/hip_act_cb_tracker.h @@ -0,0 +1,36 @@ +#ifndef CORE_HIP_ACT_CB_TRACKER_H_ +#define CORE_HIP_ACT_CB_TRACKER_H_ + +#include + +namespace roctracer { +enum { + API_CB_MASK = 0x1, + ACT_CB_MASK = 0x2 +}; + +class hip_act_cb_tracker_t { + struct info_t { + uint32_t mask; + info_t() : mask(0) {} + }; + + typedef std::map map_t; + map_t dara; + + public: + uint32_t enable_check(const uint32_t& op, const uint32_t& mask) { + uint32_t& val = dara[op].mask; + val |= mask; + return val; + } + + uint32_t disable_check(const uint32_t& op, const uint32_t& mask) { + uint32_t& val = dara[op].mask; + val &= ~mask; + return val; + } +}; // hip_act_cb_tracker_t +}; // namespace roctracer + +#endif // CORE_HIP_ACT_CB_TRACKER_H_ diff --git a/src/core/roctracer.cpp b/src/core/roctracer.cpp index 88cec3f9b8..8d3f984118 100644 --- a/src/core/roctracer.cpp +++ b/src/core/roctracer.cpp @@ -39,6 +39,7 @@ THE SOFTWARE. #include #include +#include "core/hip_act_cb_tracker.h" #include "core/journal.h" #include "core/loader.h" #include "core/memory_pool.h" @@ -302,6 +303,90 @@ static inline activity_correlation_id_t CorrelationIdLookup(const activity_corre return it->second; } +typedef std::mutex hip_activity_mutex_t; +hip_activity_mutex_t hip_activity_mutex; + +hip_act_cb_tracker_t* hip_act_cb_tracker = NULL; + +inline uint32_t HipApiActivityEnableCheck(uint32_t op) { + if (hip_act_cb_tracker == NULL) EXC_ABORT(ROCTRACER_STATUS_ERROR, "hip_act_cb_tracker is NULL"); + const uint32_t mask = hip_act_cb_tracker->enable_check(op, API_CB_MASK); + const uint32_t ret = (mask & ACT_CB_MASK); + return ret; +} + +inline uint32_t HipApiActivityDisableCheck(uint32_t op) { + if (hip_act_cb_tracker == NULL) EXC_ABORT(ROCTRACER_STATUS_ERROR, "hip_act_cb_tracker is NULL"); + const uint32_t mask = hip_act_cb_tracker->disable_check(op, API_CB_MASK); + const uint32_t ret = (mask & ACT_CB_MASK); + return ret; +} + +inline uint32_t HipActActivityEnableCheck(uint32_t op) { + if (hip_act_cb_tracker == NULL) EXC_ABORT(ROCTRACER_STATUS_ERROR, "hip_act_cb_tracker is NULL"); + hip_act_cb_tracker->enable_check(op, ACT_CB_MASK); + return 0; +} + +inline uint32_t HipActActivityDisableCheck(uint32_t op) { + if (hip_act_cb_tracker == NULL) EXC_ABORT(ROCTRACER_STATUS_ERROR, "hip_act_cb_tracker is NULL"); + const uint32_t mask = hip_act_cb_tracker->disable_check(op, ACT_CB_MASK); + const uint32_t ret = (mask & API_CB_MASK); + return ret; +} + +void* HIP_SyncApiDataCallback( + uint32_t op_id, + roctracer_record_t* record, + const void* callback_data, + void* arg) +{ + const hip_api_data_t* data = reinterpret_cast(callback_data); + hip_api_data_t* data_ptr = const_cast(data); + MemoryPool* pool = reinterpret_cast(arg); + + int phase = ACTIVITY_API_PHASE_ENTER; + if (record != NULL) { + if (data == NULL) EXC_ABORT(ROCTRACER_STATUS_ERROR, "ActivityCallback: data is NULL"); + phase = data->phase; + } else if (pool != NULL) { + phase = ACTIVITY_API_PHASE_EXIT; + } + + if (phase == ACTIVITY_API_PHASE_ENTER) { + // Allocating a record if NULL passed + if (record == NULL) { + if (data != NULL) EXC_ABORT(ROCTRACER_STATUS_ERROR, "ActivityCallback enter: record is NULL"); + record_pair_stack.push({}); + auto& top = record_pair_stack.top(); + data = &(top.data.hip); + data_ptr = const_cast(data); + data_ptr->phase = phase; + data_ptr->correlation_id = 0; + } + + // Correlation ID generating + uint64_t correlation_id = data->correlation_id; + if (correlation_id == 0) { + correlation_id = GlobalCounter::Increment(); + data_ptr->correlation_id = correlation_id; + } + + // Passing correlatin ID + correlation_id_tls = correlation_id; + + return data_ptr; + } else { + // popping the record entry + if (!record_pair_stack.empty()) record_pair_stack.pop(); + + // Clearing correlatin ID + correlation_id_tls = 0; + + return NULL; + } +} + void* HIP_SyncActivityCallback( uint32_t op_id, roctracer_record_t* record, @@ -662,9 +747,15 @@ static roctracer_status_t roctracer_enable_callback_fun( case ACTIVITY_DOMAIN_HCC_OPS: break; case ACTIVITY_DOMAIN_HIP_API: { if (roctracer::HipLoader::Instance().Enabled() == false) break; + std::lock_guard lock(roctracer::hip_activity_mutex); hipError_t hip_err = roctracer::HipLoader::Instance().RegisterApiCallback(op, (void*)callback, user_data); if (hip_err != hipSuccess) HIP_EXC_RAISING(ROCTRACER_STATUS_HIP_API_ERR, "HIP::RegisterApiCallback(" << op << ") error(" << hip_err << ")"); + + if (roctracer::HipApiActivityEnableCheck(op) == 0) { + hip_err = roctracer::HipLoader::Instance().RegisterActivityCallback(op, (void*)roctracer::HIP_SyncApiDataCallback, (void*)1); + if (hip_err != hipSuccess) HIP_EXC_RAISING(ROCTRACER_STATUS_HIP_API_ERR, "HIPAPI: HIP::RegisterActivityCallback(" << op << ") error(" << hip_err << ")"); + } break; } case ACTIVITY_DOMAIN_ROCTX: { @@ -750,9 +841,15 @@ static roctracer_status_t roctracer_disable_callback_fun( case ACTIVITY_DOMAIN_HCC_OPS: break; case ACTIVITY_DOMAIN_HIP_API: { if (roctracer::HipLoader::Instance().Enabled() == false) break; + std::lock_guard lock(roctracer::hip_activity_mutex); - hipError_t hip_err = roctracer::HipLoader::Instance().RemoveApiCallback(op); + const hipError_t hip_err = roctracer::HipLoader::Instance().RemoveApiCallback(op); if (hip_err != hipSuccess) HIP_EXC_RAISING(ROCTRACER_STATUS_HIP_API_ERR, "HIP::RemoveApiCallback(" << op << "), error(" << hip_err << ")"); + + if (roctracer::HipApiActivityDisableCheck(op) == 0) { + const hipError_t hip_err = roctracer::HipLoader::Instance().RemoveActivityCallback(op); + if (hip_err != hipSuccess) HIP_EXC_RAISING(ROCTRACER_STATUS_HIP_API_ERR, "HIPAPI: HIP::RemoveActivityCallback op(" << op << "), error(" << hip_err << ")"); + } break; } case ACTIVITY_DOMAIN_ROCTX: { @@ -888,9 +985,12 @@ static roctracer_status_t roctracer_enable_activity_fun( } case ACTIVITY_DOMAIN_HIP_API: { if (roctracer::HipLoader::Instance().Enabled() == false) break; + std::lock_guard lock(roctracer::hip_activity_mutex); - const hipError_t hip_err = roctracer::HipLoader::Instance().RegisterActivityCallback(op, (void*)roctracer::HIP_SyncActivityCallback, (void*)pool); - if (hip_err != hipSuccess) HIP_EXC_RAISING(ROCTRACER_STATUS_HIP_API_ERR, "hipRegisterActivityCallback error(" << hip_err << ")"); + if (roctracer::HipActActivityEnableCheck(op) == 0) { + const hipError_t hip_err = roctracer::HipLoader::Instance().RegisterActivityCallback(op, (void*)roctracer::HIP_SyncActivityCallback, (void*)pool); + if (hip_err != hipSuccess) HIP_EXC_RAISING(ROCTRACER_STATUS_HIP_API_ERR, "HIP::RegisterActivityCallback(" << op << " error(" << hip_err << ")"); + } break; } case ACTIVITY_DOMAIN_ROCTX: break; @@ -967,9 +1067,15 @@ static roctracer_status_t roctracer_disable_activity_fun( } case ACTIVITY_DOMAIN_HIP_API: { if (roctracer::HipLoader::Instance().Enabled() == false) break; + std::lock_guard lock(roctracer::hip_activity_mutex); - const hipError_t hip_err = roctracer::HipLoader::Instance().RemoveActivityCallback(op); - if (hip_err != hipSuccess) HIP_EXC_RAISING(ROCTRACER_STATUS_HIP_API_ERR, "HIP::RemoveActivityCallback op(" << op << "), error(" << hip_err << ")"); + if (roctracer::HipActActivityDisableCheck(op) == 0) { + const hipError_t hip_err = roctracer::HipLoader::Instance().RemoveActivityCallback(op); + if (hip_err != hipSuccess) HIP_EXC_RAISING(ROCTRACER_STATUS_HIP_API_ERR, "HIP::RemoveActivityCallback op(" << op << "), error(" << hip_err << ")"); + } else { + const hipError_t hip_err = roctracer::HipLoader::Instance().RegisterActivityCallback(op, (void*)roctracer::HIP_SyncApiDataCallback, (void*)1); + if (hip_err != hipSuccess) HIP_EXC_RAISING(ROCTRACER_STATUS_HIP_API_ERR, "HIPACT: HIP::RegisterActivityCallback(" << op << ") error(" << hip_err << ")"); + } break; } case ACTIVITY_DOMAIN_ROCTX: break; @@ -1134,6 +1240,7 @@ PUBLIC_API roctracer_status_t roctracer_set_properties( case ACTIVITY_DOMAIN_HCC_OPS: case ACTIVITY_DOMAIN_HIP_API: { mark_api_callback_ptr = reinterpret_cast(properties); + if (roctracer::hip_act_cb_tracker == NULL) roctracer::hip_act_cb_tracker = new roctracer::hip_act_cb_tracker_t; break; } case ACTIVITY_DOMAIN_EXT_API: { From 46f61d7a1e5dae0bcd2f619c9d74e8a52e7e7a6d Mon Sep 17 00:00:00 2001 From: Rachida Kebichi Date: Tue, 5 May 2020 22:03:42 -0400 Subject: [PATCH 373/691] Added begin/end timestamps to hip events Change-Id: I2689bef675db92f202d60a1fe12c500cd569aa63 --- test/tool/tracer_tool.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/test/tool/tracer_tool.cpp b/test/tool/tracer_tool.cpp index 7f22776660..b819fd0a1d 100644 --- a/test/tool/tracer_tool.cpp +++ b/test/tool/tracer_tool.cpp @@ -398,16 +398,19 @@ void hip_api_flush_cb(hip_api_trace_entry_t* entry) { const hip_api_data_t* data = &(entry->data); const timestamp_t begin_timestamp = entry->begin; const timestamp_t end_timestamp = entry->end; - std::ostringstream oss; \ + std::ostringstream oss; + std::ostringstream oss2; const char* str = (domain != ACTIVITY_DOMAIN_EXT_API) ? roctracer_op_string(domain, cid, 0) : strdup("MARK"); oss << std::dec << begin_timestamp << ":" << end_timestamp << " " << entry->pid << ":" << entry->tid << " " << str; + oss2 << std::dec << + begin_timestamp << ":" << end_timestamp << " " << entry->pid << ":" << entry->tid; if (domain == ACTIVITY_DOMAIN_HIP_API) { #if HIP_PROF_HIP_API_STRING const char* str = hipApiString((hip_api_id_t)cid, data); - fprintf(hip_api_file_handle, "%s\n", str); + fprintf(hip_api_file_handle, "%s %s\n", oss2.str().c_str(), str); #else // !HIP_PROF_HIP_API_STRING switch (cid) { case HIP_API_ID_hipMemcpy: From 3b62c5c6b9b541398b916ef95628f8de1521b52a Mon Sep 17 00:00:00 2001 From: Evgeny Date: Wed, 6 May 2020 00:02:24 -0500 Subject: [PATCH 374/691] roctracer test with disabled hip api activity Change-Id: I6d2139a67810cafb9ccb94bf57f55e85e1ab0982 --- test/CMakeLists.txt | 2 + test/MatrixTranspose_test/Makefile | 3 + test/MatrixTranspose_test/MatrixTranspose.cpp | 4 + .../MatrixTranspose_hipaact_test_trace.txt | 4102 +++++++++++++++++ test/golden_traces/tests_trace_cmp_levels.txt | 1 + test/run.sh | 1 + 6 files changed, 4113 insertions(+) create mode 100644 test/golden_traces/MatrixTranspose_hipaact_test_trace.txt diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 8e367bc5e7..9d78fd4025 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -37,6 +37,8 @@ add_custom_target( mytest COMMAND sh -xc "cp ${TEST_DIR}/MatrixTranspose/MatrixTranspose ${PROJECT_BINARY_DIR}/test" COMMAND ${TEST_CFLAGS} make -C "${TEST_DIR}/MatrixTranspose_test" COMMAND sh -xc "cp ${TEST_DIR}/MatrixTranspose_test/MatrixTranspose ${PROJECT_BINARY_DIR}/test/MatrixTranspose_test" + COMMAND HIP_API_ACTIVITY_ON=1 ${TEST_CFLAGS} make -C "${TEST_DIR}/MatrixTranspose_test" + COMMAND sh -xc "cp ${TEST_DIR}/MatrixTranspose_test/MatrixTranspose ${PROJECT_BINARY_DIR}/test/MatrixTranspose_hipaact_test" COMMAND MGPU_TEST=1 ${TEST_CFLAGS} make -C "${TEST_DIR}/MatrixTranspose_test" COMMAND sh -xc "cp ${TEST_DIR}/MatrixTranspose_test/MatrixTranspose ${PROJECT_BINARY_DIR}/test/MatrixTranspose_mgpu" COMMAND C_TEST=1 ${TEST_CFLAGS} make -C "${TEST_DIR}/MatrixTranspose_test" diff --git a/test/MatrixTranspose_test/Makefile b/test/MatrixTranspose_test/Makefile index 571725fd1d..f870aa865d 100644 --- a/test/MatrixTranspose_test/Makefile +++ b/test/MatrixTranspose_test/Makefile @@ -29,6 +29,9 @@ endif ifeq ($(MGPU_TEST), 1) FLAGS += -DMGPU_TEST=1 endif +ifeq ($(HIP_API_ACTIVITY_ON), 1) + FLAGS += -DHIP_API_ACTIVITY_ON=1 +endif .PHONY: test diff --git a/test/MatrixTranspose_test/MatrixTranspose.cpp b/test/MatrixTranspose_test/MatrixTranspose.cpp index 5be7127acb..e023e7f6d0 100644 --- a/test/MatrixTranspose_test/MatrixTranspose.cpp +++ b/test/MatrixTranspose_test/MatrixTranspose.cpp @@ -369,7 +369,9 @@ void init_tracing() { // Enable HIP API callbacks ROCTRACER_CALL(roctracer_enable_domain_callback(ACTIVITY_DOMAIN_HIP_API, api_callback, NULL)); // Enable HIP activity tracing +#if HIP_API_ACTIVITY_ON ROCTRACER_CALL(roctracer_enable_domain_activity(ACTIVITY_DOMAIN_HIP_API)); +#endif ROCTRACER_CALL(roctracer_enable_domain_activity(ACTIVITY_DOMAIN_HCC_OPS)); // Enable PC sampling ROCTRACER_CALL(roctracer_enable_op_activity(ACTIVITY_DOMAIN_HSA_OPS, HSA_OP_ID_PCSAMPLE)); @@ -390,7 +392,9 @@ void start_tracing() { // Stop tracing routine void stop_tracing() { ROCTRACER_CALL(roctracer_disable_domain_callback(ACTIVITY_DOMAIN_HIP_API)); +#if HIP_API_ACTIVITY_ON ROCTRACER_CALL(roctracer_disable_domain_activity(ACTIVITY_DOMAIN_HIP_API)); +#endif ROCTRACER_CALL(roctracer_disable_domain_activity(ACTIVITY_DOMAIN_HCC_OPS)); ROCTRACER_CALL(roctracer_disable_domain_activity(ACTIVITY_DOMAIN_HSA_OPS)); ROCTRACER_CALL(roctracer_disable_domain_callback(ACTIVITY_DOMAIN_KFD_API)); diff --git a/test/golden_traces/MatrixTranspose_hipaact_test_trace.txt b/test/golden_traces/MatrixTranspose_hipaact_test_trace.txt new file mode 100644 index 0000000000..5b77221b62 --- /dev/null +++ b/test/golden_traces/MatrixTranspose_hipaact_test_trace.txt @@ -0,0 +1,4102 @@ +# INIT ############################# +# START (99) ############################# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + ptr(0x7fff85b97a98) size(0x400000) + + + + + *ptr(0x0x902000000) + ptr(0x7fff85b97a90) size(0x400000) + + + + + *ptr(0x0x902800000) + dst(0x902000000) src(0xa79c70) size(0x400000) kind(1) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + dst(0xe79c80) src(0x902800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + +PASSED! + ptr(0x902000000) + + + + + + ptr(0x902800000) + + + + + +# START (98) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (97) ############################# + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + ptr(0x7fff85b97a98) size(0x400000) + + + + + *ptr(0x0x902000000) + ptr(0x7fff85b97a90) size(0x400000) + + + + + *ptr(0x0x902800000) + dst(0x902000000) src(0x7fd3c6c21010) size(0x400000) kind(1) + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + dst(0x7fd3d4d37010) src(0x902800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + ptr(0x902000000) + + + + + + ptr(0x902800000) + + + + + +# START (96) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (95) ############################# + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + ptr(0x7fff85b97a98) size(0x400000) + + + + + *ptr(0x0x902000000) + ptr(0x7fff85b97a90) size(0x400000) + + + + + *ptr(0x0x902800000) + dst(0x902000000) src(0x7fd3c6c21010) size(0x400000) kind(1) + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + dst(0x7fd3d4d37010) src(0x902800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + ptr(0x902000000) + + + + + + ptr(0x902800000) + + + + + +# START (94) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (93) ############################# + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + ptr(0x7fff85b97a98) size(0x400000) + + + + + *ptr(0x0x902000000) + ptr(0x7fff85b97a90) size(0x400000) + + + + + *ptr(0x0x902800000) + dst(0x902000000) src(0x7fd3c6c21010) size(0x400000) kind(1) + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + dst(0x7fd3d4d37010) src(0x902800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + ptr(0x902000000) + + + + + + ptr(0x902800000) + + + + + +# START (92) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (91) ############################# + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + ptr(0x7fff85b97a98) size(0x400000) + + + + + *ptr(0x0x902000000) + ptr(0x7fff85b97a90) size(0x400000) + + + + + *ptr(0x0x902800000) + dst(0x902000000) src(0x7fd3c6c21010) size(0x400000) kind(1) + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + dst(0x7fd3d4d37010) src(0x902800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + ptr(0x902000000) + + + + + + ptr(0x902800000) + + + + + +# START (90) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (89) ############################# + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + ptr(0x7fff85b97a98) size(0x400000) + + + + + *ptr(0x0x902000000) + ptr(0x7fff85b97a90) size(0x400000) + + + + + *ptr(0x0x902800000) + dst(0x902000000) src(0x7fd3c6c21010) size(0x400000) kind(1) + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + dst(0x7fd3d4d37010) src(0x902800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + ptr(0x902000000) + + + + + + ptr(0x902800000) + + + + + +# START (88) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (87) ############################# + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + ptr(0x7fff85b97a98) size(0x400000) + + + + + *ptr(0x0x902000000) + ptr(0x7fff85b97a90) size(0x400000) + + + + + *ptr(0x0x902800000) + dst(0x902000000) src(0x7fd3c6c21010) size(0x400000) kind(1) + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + dst(0x7fd3d4d37010) src(0x902800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + ptr(0x902000000) + + + + + + ptr(0x902800000) + + + + + +# START (86) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (85) ############################# + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + ptr(0x7fff85b97a98) size(0x400000) + + + + + *ptr(0x0x902000000) + ptr(0x7fff85b97a90) size(0x400000) + + + + + *ptr(0x0x902800000) + dst(0x902000000) src(0x7fd3c6c21010) size(0x400000) kind(1) + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + dst(0x7fd3d4d37010) src(0x902800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + ptr(0x902000000) + + + + + + ptr(0x902800000) + + + + + +# START (84) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (83) ############################# + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + ptr(0x7fff85b97a98) size(0x400000) + + + + + *ptr(0x0x902000000) + ptr(0x7fff85b97a90) size(0x400000) + + + + + *ptr(0x0x902800000) + dst(0x902000000) src(0x7fd3c6c21010) size(0x400000) kind(1) + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + dst(0x7fd3d4d37010) src(0x902800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + ptr(0x902000000) + + + + + + ptr(0x902800000) + + + + + +# START (82) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (81) ############################# + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + ptr(0x7fff85b97a98) size(0x400000) + + + + + *ptr(0x0x902000000) + ptr(0x7fff85b97a90) size(0x400000) + + + + + *ptr(0x0x902800000) + dst(0x902000000) src(0x7fd3c6c21010) size(0x400000) kind(1) + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + dst(0x7fd3d4d37010) src(0x902800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + ptr(0x902000000) + + + + + + ptr(0x902800000) + + + + + +# START (80) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (79) ############################# + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + ptr(0x7fff85b97a98) size(0x400000) + + + + + *ptr(0x0x902000000) + ptr(0x7fff85b97a90) size(0x400000) + + + + + *ptr(0x0x902800000) + dst(0x902000000) src(0x7fd3c6c21010) size(0x400000) kind(1) + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + dst(0x7fd3d4d37010) src(0x902800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + ptr(0x902000000) + + + + + + ptr(0x902800000) + + + + + +# START (78) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (77) ############################# + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + ptr(0x7fff85b97a98) size(0x400000) + + + + + *ptr(0x0x902000000) + ptr(0x7fff85b97a90) size(0x400000) + + + + + *ptr(0x0x902800000) + dst(0x902000000) src(0x7fd3c6c21010) size(0x400000) kind(1) + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + dst(0x7fd3d4d37010) src(0x902800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + ptr(0x902000000) + + + + + + ptr(0x902800000) + + + + + +# START (76) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (75) ############################# + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + ptr(0x7fff85b97a98) size(0x400000) + + + + + *ptr(0x0x902000000) + ptr(0x7fff85b97a90) size(0x400000) + + + + + *ptr(0x0x902800000) + dst(0x902000000) src(0x7fd3c6c21010) size(0x400000) kind(1) + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + dst(0x7fd3d4d37010) src(0x902800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + ptr(0x902000000) + + + + + + ptr(0x902800000) + + + + + +# START (74) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (73) ############################# + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + ptr(0x7fff85b97a98) size(0x400000) + + + + + *ptr(0x0x902000000) + ptr(0x7fff85b97a90) size(0x400000) + + + + + *ptr(0x0x902800000) + dst(0x902000000) src(0x7fd3c6c21010) size(0x400000) kind(1) + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + dst(0x7fd3d4d37010) src(0x902800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + ptr(0x902000000) + + + + + + ptr(0x902800000) + + + + + +# START (72) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (71) ############################# + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + ptr(0x7fff85b97a98) size(0x400000) + + + + + *ptr(0x0x902000000) + ptr(0x7fff85b97a90) size(0x400000) + + + + + *ptr(0x0x902800000) + dst(0x902000000) src(0x7fd3c6c21010) size(0x400000) kind(1) + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + dst(0x7fd3d4d37010) src(0x902800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + ptr(0x902000000) + + + + + + ptr(0x902800000) + + + + + +# START (70) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (69) ############################# + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + ptr(0x7fff85b97a98) size(0x400000) + + + + + *ptr(0x0x902000000) + ptr(0x7fff85b97a90) size(0x400000) + + + + + *ptr(0x0x902800000) + dst(0x902000000) src(0x7fd3c6c21010) size(0x400000) kind(1) + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + dst(0x7fd3d4d37010) src(0x902800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + ptr(0x902000000) + + + + + + ptr(0x902800000) + + + + + +# START (68) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (67) ############################# + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + ptr(0x7fff85b97a98) size(0x400000) + + + + + *ptr(0x0x902000000) + ptr(0x7fff85b97a90) size(0x400000) + + + + + *ptr(0x0x902800000) + dst(0x902000000) src(0x7fd3c6c21010) size(0x400000) kind(1) + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + dst(0x7fd3d4d37010) src(0x902800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + ptr(0x902000000) + + + + + + ptr(0x902800000) + + + + + +# START (66) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (65) ############################# + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + ptr(0x7fff85b97a98) size(0x400000) + + + + + *ptr(0x0x902000000) + ptr(0x7fff85b97a90) size(0x400000) + + + + + *ptr(0x0x902800000) + dst(0x902000000) src(0x7fd3c6c21010) size(0x400000) kind(1) + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + dst(0x7fd3d4d37010) src(0x902800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + ptr(0x902000000) + + + + + + ptr(0x902800000) + + + + + +# START (64) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (63) ############################# + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + ptr(0x7fff85b97a98) size(0x400000) + + + + + *ptr(0x0x902000000) + ptr(0x7fff85b97a90) size(0x400000) + + + + + *ptr(0x0x902800000) + dst(0x902000000) src(0x7fd3c6c21010) size(0x400000) kind(1) + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + dst(0x7fd3d4d37010) src(0x902800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + ptr(0x902000000) + + + + + + ptr(0x902800000) + + + + + +# START (62) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (61) ############################# + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + ptr(0x7fff85b97a98) size(0x400000) + + + + + *ptr(0x0x902000000) + ptr(0x7fff85b97a90) size(0x400000) + + + + + *ptr(0x0x902800000) + dst(0x902000000) src(0x7fd3c6c21010) size(0x400000) kind(1) + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + dst(0x7fd3d4d37010) src(0x902800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + ptr(0x902000000) + + + + + + ptr(0x902800000) + + + + + +# START (60) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (59) ############################# + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + ptr(0x7fff85b97a98) size(0x400000) + + + + + *ptr(0x0x902000000) + ptr(0x7fff85b97a90) size(0x400000) + + + + + *ptr(0x0x902800000) + dst(0x902000000) src(0x7fd3c6c21010) size(0x400000) kind(1) + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + dst(0x7fd3d4d37010) src(0x902800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + ptr(0x902000000) + + + + + + ptr(0x902800000) + + + + + +# START (58) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (57) ############################# + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + ptr(0x7fff85b97a98) size(0x400000) + + + + + *ptr(0x0x902000000) + ptr(0x7fff85b97a90) size(0x400000) + + + + + *ptr(0x0x902800000) + dst(0x902000000) src(0x7fd3c6c21010) size(0x400000) kind(1) + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + dst(0x7fd3d4d37010) src(0x902800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + ptr(0x902000000) + + + + + + ptr(0x902800000) + + + + + +# START (56) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (55) ############################# + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + ptr(0x7fff85b97a98) size(0x400000) + + + + + *ptr(0x0x902000000) + ptr(0x7fff85b97a90) size(0x400000) + + + + + *ptr(0x0x902800000) + dst(0x902000000) src(0x7fd3c6c21010) size(0x400000) kind(1) + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + dst(0x7fd3d4d37010) src(0x902800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + ptr(0x902000000) + + + + + + ptr(0x902800000) + + + + + +# START (54) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (53) ############################# + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + ptr(0x7fff85b97a98) size(0x400000) + + + + + *ptr(0x0x902000000) + ptr(0x7fff85b97a90) size(0x400000) + + + + + *ptr(0x0x902800000) + dst(0x902000000) src(0x7fd3c6c21010) size(0x400000) kind(1) + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + dst(0x7fd3d4d37010) src(0x902800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + ptr(0x902000000) + + + + + + ptr(0x902800000) + + + + + +# START (52) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (51) ############################# + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + ptr(0x7fff85b97a98) size(0x400000) + + + + + *ptr(0x0x902000000) + ptr(0x7fff85b97a90) size(0x400000) + + + + + *ptr(0x0x902800000) + dst(0x902000000) src(0x7fd3c6c21010) size(0x400000) kind(1) + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + dst(0x7fd3d4d37010) src(0x902800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + ptr(0x902000000) + + + + + + ptr(0x902800000) + + + + + +# START (50) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (49) ############################# + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + ptr(0x7fff85b97a98) size(0x400000) + + + + + *ptr(0x0x902000000) + ptr(0x7fff85b97a90) size(0x400000) + + + + + *ptr(0x0x902800000) + dst(0x902000000) src(0x7fd3c6c21010) size(0x400000) kind(1) + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + dst(0x7fd3d4d37010) src(0x902800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + ptr(0x902000000) + + + + + + ptr(0x902800000) + + + + + +# START (48) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (47) ############################# + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + ptr(0x7fff85b97a98) size(0x400000) + + + + + *ptr(0x0x902000000) + ptr(0x7fff85b97a90) size(0x400000) + + + + + *ptr(0x0x902800000) + dst(0x902000000) src(0x7fd3c6c21010) size(0x400000) kind(1) + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + dst(0x7fd3d4d37010) src(0x902800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + ptr(0x902000000) + + + + + + ptr(0x902800000) + + + + + +# START (46) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (45) ############################# + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + ptr(0x7fff85b97a98) size(0x400000) + + + + + *ptr(0x0x902000000) + ptr(0x7fff85b97a90) size(0x400000) + + + + + *ptr(0x0x902800000) + dst(0x902000000) src(0x7fd3c6c21010) size(0x400000) kind(1) + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + dst(0x7fd3d4d37010) src(0x902800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + ptr(0x902000000) + + + + + + ptr(0x902800000) + + + + + +# START (44) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (43) ############################# + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + ptr(0x7fff85b97a98) size(0x400000) + + + + + *ptr(0x0x902000000) + ptr(0x7fff85b97a90) size(0x400000) + + + + + *ptr(0x0x902800000) + dst(0x902000000) src(0x7fd3c6c21010) size(0x400000) kind(1) + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + dst(0x7fd3d4d37010) src(0x902800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + ptr(0x902000000) + + + + + + ptr(0x902800000) + + + + + +# START (42) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (41) ############################# + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + ptr(0x7fff85b97a98) size(0x400000) + + + + + *ptr(0x0x902000000) + ptr(0x7fff85b97a90) size(0x400000) + + + + + *ptr(0x0x902800000) + dst(0x902000000) src(0x7fd3c6c21010) size(0x400000) kind(1) + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + dst(0x7fd3d4d37010) src(0x902800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + ptr(0x902000000) + + + + + + ptr(0x902800000) + + + + + +# START (40) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (39) ############################# + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + ptr(0x7fff85b97a98) size(0x400000) + + + + + *ptr(0x0x902000000) + ptr(0x7fff85b97a90) size(0x400000) + + + + + *ptr(0x0x902800000) + dst(0x902000000) src(0x7fd3c6c21010) size(0x400000) kind(1) + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + dst(0x7fd3d4d37010) src(0x902800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + ptr(0x902000000) + + + + + + ptr(0x902800000) + + + + + +# START (38) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (37) ############################# + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + ptr(0x7fff85b97a98) size(0x400000) + + + + + *ptr(0x0x902000000) + ptr(0x7fff85b97a90) size(0x400000) + + + + + *ptr(0x0x902800000) + dst(0x902000000) src(0x7fd3c6c21010) size(0x400000) kind(1) + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + dst(0x7fd3d4d37010) src(0x902800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + ptr(0x902000000) + + + + + + ptr(0x902800000) + + + + + +# START (36) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (35) ############################# + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + ptr(0x7fff85b97a98) size(0x400000) + + + + + *ptr(0x0x902000000) + ptr(0x7fff85b97a90) size(0x400000) + + + + + *ptr(0x0x902800000) + dst(0x902000000) src(0x7fd3c6c21010) size(0x400000) kind(1) + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + dst(0x7fd3d4d37010) src(0x902800000) size(0x400000) kind(2) + + + + + + + + + + + + Activity records: + hcCommandKernel correlation_id(6) time_ns(3051994929755290:3051994931586009) device_id(0) queue_id(0) + hcCommandMarker correlation_id(7) time_ns(3051994931595421:3051994931637661) device_id(0) queue_id(0) + + hcCommandKernel correlation_id(15) time_ns(3051994970605799:3051994972439399) device_id(0) queue_id(0) + hcCommandMarker correlation_id(16) time_ns(3051994972447020:3051994972479020) device_id(0) queue_id(0) + + hcCommandKernel correlation_id(24) time_ns(3051995011454870:3051995013281590) device_id(0) queue_id(0) + hcCommandMarker correlation_id(25) time_ns(3051995013284576:3051995013316256) device_id(0) queue_id(0) + hcCommandKernel correlation_id(33) time_ns(3051995052312323:3051995054157763) device_id(0) queue_id(0) + + + hcCommandMarker correlation_id(34) time_ns(3051995054160520:3051995054192360) device_id(0) queue_id(0) + hcCommandKernel correlation_id(42) time_ns(3051995093063311:3051995094901711) device_id(0) queue_id(0) + hcCommandMarker correlation_id(43) time_ns(3051995094910626:3051995094941986) device_id(0) queue_id(0) + + + + hcCommandKernel correlation_id(51) time_ns(3051995133877884:3051995135715164) device_id(0) queue_id(0) + + hcCommandMarker correlation_id(52) time_ns(3051995135718177:3051995135750497) device_id(0) queue_id(0) + hcCommandKernel correlation_id(60) time_ns(3051995174693921:3051995176538721) device_id(0) queue_id(0) + hcCommandMarker correlation_id(61) time_ns(3051995176541555:3051995176572915) device_id(0) queue_id(0) + hcCommandKernel correlation_id(69) time_ns(3051995215425091:3051995215918051) device_id(0) queue_id(0) + hcCommandMarker correlation_id(70) time_ns(3051995215920970:3051995215927370) device_id(0) queue_id(0) + hcCommandKernel correlation_id(78) time_ns(3051995253485758:3051995253977278) device_id(0) queue_id(0) + hcCommandMarker correlation_id(79) time_ns(3051995253980028:3051995253986428) device_id(0) queue_id(0) + hcCommandKernel correlation_id(87) time_ns(3051995291578220:3051995292061900) device_id(0) queue_id(0) + hcCommandMarker correlation_id(88) time_ns(3051995292064818:3051995292071538) device_id(0) queue_id(0) + hcCommandKernel correlation_id(96) time_ns(3051995329792439:3051995330279159) device_id(0) queue_id(0) + hcCommandMarker correlation_id(97) time_ns(3051995330282091:3051995330288491) device_id(0) queue_id(0) + hcCommandKernel correlation_id(105) time_ns(3051995368089121:3051995368583841) device_id(0) queue_id(0) + hcCommandMarker correlation_id(106) time_ns(3051995368586937:3051995368593657) device_id(0) queue_id(0) + hcCommandKernel correlation_id(114) time_ns(3051995406278647:3051995406774807) device_id(0) queue_id(0) + hcCommandMarker correlation_id(115) time_ns(3051995406777804:3051995406784204) device_id(0) queue_id(0) + hcCommandKernel correlation_id(123) time_ns(3051995444525759:3051995445013759) device_id(0) queue_id(0) + hcCommandMarker correlation_id(124) time_ns(3051995445016683:3051995445023083) device_id(0) queue_id(0) + hcCommandKernel correlation_id(132) time_ns(3051995482516908:3051995482999788) device_id(0) queue_id(0) + hcCommandMarker correlation_id(133) time_ns(3051995483002717:3051995483009277) device_id(0) queue_id(0) + hcCommandKernel correlation_id(141) time_ns(3051995520353724:3051995520840124) device_id(0) queue_id(0) + hcCommandMarker correlation_id(142) time_ns(3051995520843000:3051995520849720) device_id(0) queue_id(0) + hcCommandKernel correlation_id(150) time_ns(3051995558681077:3051995559173397) device_id(0) queue_id(0) + hcCommandMarker correlation_id(151) time_ns(3051995559176298:3051995559183018) device_id(0) queue_id(0) + hcCommandKernel correlation_id(159) time_ns(3051995598161021:3051995599999270) device_id(0) queue_id(0) + hcCommandMarker correlation_id(160) time_ns(3051995599998080:3051995600029920) device_id(0) queue_id(0) + hcCommandKernel correlation_id(168) time_ns(3051995639011719:3051995640852360) device_id(0) queue_id(0) + hcCommandMarker correlation_id(169) time_ns(3051995640855187:3051995640886867) device_id(0) queue_id(0) + hcCommandKernel correlation_id(177) time_ns(3051995679941557:3051995681785238) device_id(0) queue_id(0) + hcCommandMarker correlation_id(178) time_ns(3051995681788292:3051995681819972) device_id(0) queue_id(0) + hcCommandKernel correlation_id(186) time_ns(3051995721085517:3051995722924878) device_id(0) queue_id(0) + hcCommandMarker correlation_id(187) time_ns(3051995722927822:3051995722959342) device_id(0) queue_id(0) + hcCommandKernel correlation_id(195) time_ns(3051995762128535:3051995763968696) device_id(0) queue_id(0) + hcCommandMarker correlation_id(196) time_ns(3051995763971639:3051995764003159) device_id(0) queue_id(0) + hcCommandKernel correlation_id(204) time_ns(3051995803055257:3051995804899418) device_id(0) queue_id(0) + hcCommandMarker correlation_id(205) time_ns(3051995804902347:3051995804934827) device_id(0) queue_id(0) + hcCommandKernel correlation_id(213) time_ns(3051995842381359:3051995842870959) device_id(0) queue_id(0) + hcCommandMarker correlation_id(214) time_ns(3051995842873870:3051995842880430) device_id(0) queue_id(0) + hcCommandKernel correlation_id(222) time_ns(3051995880207358:3051995880696478) device_id(0) queue_id(0) + hcCommandMarker correlation_id(223) time_ns(3051995880699398:3051995880706278) device_id(0) queue_id(0) + hcCommandKernel correlation_id(231) time_ns(3051995918437245:3051995918923485) device_id(0) queue_id(0) + hcCommandMarker correlation_id(232) time_ns(3051995918926557:3051995918933277) device_id(0) queue_id(0) + hcCommandKernel correlation_id(240) time_ns(3051995956678885:3051995957170885) device_id(0) queue_id(0) + hcCommandMarker correlation_id(241) time_ns(3051995957176377:3051995957182777) device_id(0) queue_id(0) + hcCommandKernel correlation_id(249) time_ns(3051995994483556:3051995994968356) device_id(0) queue_id(0) + hcCommandMarker correlation_id(250) time_ns(3051995994971379:3051995994977779) device_id(0) queue_id(0) + hcCommandKernel correlation_id(258) time_ns(3051996032527294:3051996033016734) device_id(0) queue_id(0) + hcCommandMarker correlation_id(259) time_ns(3051996033019573:3051996033026133) device_id(0) queue_id(0) + hcCommandKernel correlation_id(267) time_ns(3051996070648820:3051996071137460) device_id(0) queue_id(0) + hcCommandMarker correlation_id(268) time_ns(3051996071140280:3051996071146840) device_id(0) queue_id(0) + hcCommandKernel correlation_id(276) time_ns(3051996108581519:3051996109066639) device_id(0) queue_id(0) + hcCommandMarker correlation_id(277) time_ns(3051996109069492:3051996109075892) device_id(0) queue_id(0) + hcCommandKernel correlation_id(285) time_ns(3051996146393040:3051996146877360) device_id(0) queue_id(0) + hcCommandMarker correlation_id(286) time_ns(3051996146880508:3051996146887068) device_id(0) queue_id(0) + + + + + + +PASSED! + ptr(0x902000000) + + + + + + ptr(0x902800000) + + + + + +# START (34) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (33) ############################# + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + ptr(0x7fff85b97a98) size(0x400000) + + + + + *ptr(0x0x902000000) + ptr(0x7fff85b97a90) size(0x400000) + + + + + *ptr(0x0x902800000) + dst(0x902000000) src(0x7fd3c6c21010) size(0x400000) kind(1) + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + dst(0x7fd3d4d37010) src(0x902800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + ptr(0x902000000) + + + + + + ptr(0x902800000) + + + + + +# START (32) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (31) ############################# + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + ptr(0x7fff85b97a98) size(0x400000) + + + + + *ptr(0x0x902000000) + ptr(0x7fff85b97a90) size(0x400000) + + + + + *ptr(0x0x902800000) + dst(0x902000000) src(0x7fd3c6c21010) size(0x400000) kind(1) + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + dst(0x7fd3d4d37010) src(0x902800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + ptr(0x902000000) + + + + + + ptr(0x902800000) + + + + + +# START (30) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (29) ############################# + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + ptr(0x7fff85b97a98) size(0x400000) + + + + + *ptr(0x0x902000000) + ptr(0x7fff85b97a90) size(0x400000) + + + + + *ptr(0x0x902800000) + dst(0x902000000) src(0x7fd3c6c21010) size(0x400000) kind(1) + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + dst(0x7fd3d4d37010) src(0x902800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + ptr(0x902000000) + + + + + + ptr(0x902800000) + + + + + +# START (28) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (27) ############################# + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + ptr(0x7fff85b97a98) size(0x400000) + + + + + *ptr(0x0x902000000) + ptr(0x7fff85b97a90) size(0x400000) + + + + + *ptr(0x0x902800000) + dst(0x902000000) src(0x7fd3c6c21010) size(0x400000) kind(1) + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + dst(0x7fd3d4d37010) src(0x902800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + ptr(0x902000000) + + + + + + ptr(0x902800000) + + + + + +# START (26) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (25) ############################# + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + ptr(0x7fff85b97a98) size(0x400000) + + + + + *ptr(0x0x902000000) + ptr(0x7fff85b97a90) size(0x400000) + + + + + *ptr(0x0x902800000) + dst(0x902000000) src(0x7fd3c6c21010) size(0x400000) kind(1) + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + dst(0x7fd3d4d37010) src(0x902800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + ptr(0x902000000) + + + + + + ptr(0x902800000) + + + + + +# START (24) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (23) ############################# + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + ptr(0x7fff85b97a98) size(0x400000) + + + + + *ptr(0x0x902000000) + ptr(0x7fff85b97a90) size(0x400000) + + + + + *ptr(0x0x902800000) + dst(0x902000000) src(0x7fd3c6c21010) size(0x400000) kind(1) + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + dst(0x7fd3d4d37010) src(0x902800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + ptr(0x902000000) + + + + + + ptr(0x902800000) + + + + + +# START (22) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (21) ############################# + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + ptr(0x7fff85b97a98) size(0x400000) + + + + + *ptr(0x0x902000000) + ptr(0x7fff85b97a90) size(0x400000) + + + + + *ptr(0x0x902800000) + dst(0x902000000) src(0x7fd3c6c21010) size(0x400000) kind(1) + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + dst(0x7fd3d4d37010) src(0x902800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + ptr(0x902000000) + + + + + + ptr(0x902800000) + + + + + +# START (20) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (19) ############################# + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + ptr(0x7fff85b97a98) size(0x400000) + + + + + *ptr(0x0x902000000) + ptr(0x7fff85b97a90) size(0x400000) + + + + + *ptr(0x0x902800000) + dst(0x902000000) src(0x7fd3c6c21010) size(0x400000) kind(1) + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + dst(0x7fd3d4d37010) src(0x902800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + ptr(0x902000000) + + + + + + ptr(0x902800000) + + + + + +# START (18) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (17) ############################# + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + ptr(0x7fff85b97a98) size(0x400000) + + + + + *ptr(0x0x902000000) + ptr(0x7fff85b97a90) size(0x400000) + + + + + *ptr(0x0x902800000) + dst(0x902000000) src(0x7fd3c6c21010) size(0x400000) kind(1) + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + dst(0x7fd3d4d37010) src(0x902800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + ptr(0x902000000) + + + + + + ptr(0x902800000) + + + + + +# START (16) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (15) ############################# + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + ptr(0x7fff85b97a98) size(0x400000) + + + + + *ptr(0x0x902000000) + ptr(0x7fff85b97a90) size(0x400000) + + + + + *ptr(0x0x902800000) + dst(0x902000000) src(0x7fd3c6c21010) size(0x400000) kind(1) + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + dst(0x7fd3d4d37010) src(0x902800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + ptr(0x902000000) + + + + + + ptr(0x902800000) + + + + + +# START (14) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (13) ############################# + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + ptr(0x7fff85b97a98) size(0x400000) + + + + + *ptr(0x0x902000000) + ptr(0x7fff85b97a90) size(0x400000) + + + + + *ptr(0x0x902800000) + dst(0x902000000) src(0x7fd3c6c21010) size(0x400000) kind(1) + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + dst(0x7fd3d4d37010) src(0x902800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + ptr(0x902000000) + + + + + + ptr(0x902800000) + + + + + +# START (12) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (11) ############################# + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + ptr(0x7fff85b97a98) size(0x400000) + + + + + *ptr(0x0x902000000) + ptr(0x7fff85b97a90) size(0x400000) + + + + + *ptr(0x0x902800000) + dst(0x902000000) src(0x7fd3c6c21010) size(0x400000) kind(1) + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + dst(0x7fd3d4d37010) src(0x902800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + ptr(0x902000000) + + + + + + ptr(0x902800000) + + + + + +# START (10) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (9) ############################# + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + ptr(0x7fff85b97a98) size(0x400000) + + + + + *ptr(0x0x902000000) + ptr(0x7fff85b97a90) size(0x400000) + + + + + *ptr(0x0x902800000) + dst(0x902000000) src(0x7fd3c6c21010) size(0x400000) kind(1) + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + dst(0x7fd3d4d37010) src(0x902800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + ptr(0x902000000) + + + + + + ptr(0x902800000) + + + + + +# START (8) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (7) ############################# + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + ptr(0x7fff85b97a98) size(0x400000) + + + + + *ptr(0x0x902000000) + ptr(0x7fff85b97a90) size(0x400000) + + + + + *ptr(0x0x902800000) + dst(0x902000000) src(0x7fd3c6c21010) size(0x400000) kind(1) + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + dst(0x7fd3d4d37010) src(0x902800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + ptr(0x902000000) + + + + + + ptr(0x902800000) + + + + + +# START (6) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (5) ############################# + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + ptr(0x7fff85b97a98) size(0x400000) + + + + + *ptr(0x0x902000000) + ptr(0x7fff85b97a90) size(0x400000) + + + + + *ptr(0x0x902800000) + dst(0x902000000) src(0x7fd3c6c21010) size(0x400000) kind(1) + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + dst(0x7fd3d4d37010) src(0x902800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + ptr(0x902000000) + + + + + + ptr(0x902800000) + + + + + +# START (4) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (3) ############################# + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + ptr(0x7fff85b97a98) size(0x400000) + + + + + *ptr(0x0x902000000) + ptr(0x7fff85b97a90) size(0x400000) + + + + + *ptr(0x0x902800000) + dst(0x902000000) src(0x7fd3c6c21010) size(0x400000) kind(1) + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + dst(0x7fd3d4d37010) src(0x902800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + ptr(0x902000000) + + + + + + ptr(0x902800000) + + + + + +# START (2) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! +# START (1) ############################# + + + + +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] + ptr(0x7fff85b97a98) size(0x400000) + + + + + *ptr(0x0x902000000) + ptr(0x7fff85b97a90) size(0x400000) + + + + + *ptr(0x0x902800000) + dst(0x902000000) src(0x7fd3c6c21010) size(0x400000) kind(1) + + + + + + + + kernel("_Z15matrixTransposePfS_i") stream((nil)) + + + + + + dst(0x7fd3d4d37010) src(0x902800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + +PASSED! + ptr(0x902000000) + + + + + + ptr(0x902800000) + + + + + +# START (0) ############################# +Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +PASSED! + Activity records: + hcCommandKernel correlation_id(294) time_ns(3051996184308280:3051996186150682) device_id(0) queue_id(0) + hcCommandMarker correlation_id(295) time_ns(3051996186153598:3051996186185598) device_id(0) queue_id(0) + hcCommandKernel correlation_id(303) time_ns(3051996225060095:3051996226893857) device_id(0) queue_id(0) + hcCommandMarker correlation_id(304) time_ns(3051996226896741:3051996226929221) device_id(0) queue_id(0) + hcCommandKernel correlation_id(312) time_ns(3051996266004624:3051996267839186) device_id(0) queue_id(0) + hcCommandMarker correlation_id(313) time_ns(3051996267842262:3051996267873622) device_id(0) queue_id(0) + hcCommandKernel correlation_id(321) time_ns(3051996306667810:3051996308511172) device_id(0) queue_id(0) + hcCommandMarker correlation_id(322) time_ns(3051996308514189:3051996308546509) device_id(0) queue_id(0) + hcCommandKernel correlation_id(330) time_ns(3051996347490041:3051996349327803) device_id(0) queue_id(0) + hcCommandMarker correlation_id(331) time_ns(3051996349330698:3051996349362378) device_id(0) queue_id(0) + hcCommandKernel correlation_id(339) time_ns(3051996388335493:3051996390179655) device_id(0) queue_id(0) + hcCommandMarker correlation_id(340) time_ns(3051996390182748:3051996390214908) device_id(0) queue_id(0) + hcCommandKernel correlation_id(348) time_ns(3051996429304336:3051996431155538) device_id(0) queue_id(0) + hcCommandMarker correlation_id(349) time_ns(3051996431158720:3051996431190080) device_id(0) queue_id(0) + hcCommandKernel correlation_id(357) time_ns(3051996468763730:3051996469253010) device_id(0) queue_id(0) + hcCommandMarker correlation_id(358) time_ns(3051996469255974:3051996469262694) device_id(0) queue_id(0) + hcCommandKernel correlation_id(366) time_ns(3051996506831264:3051996507319744) device_id(0) queue_id(0) + hcCommandMarker correlation_id(367) time_ns(3051996507322758:3051996507329638) device_id(0) queue_id(0) + hcCommandKernel correlation_id(375) time_ns(3051996544783270:3051996545264070) device_id(0) queue_id(0) + hcCommandMarker correlation_id(376) time_ns(3051996545267287:3051996545274007) device_id(0) queue_id(0) + hcCommandKernel correlation_id(384) time_ns(3051996583007702:3051996583501142) device_id(0) queue_id(0) + hcCommandMarker correlation_id(385) time_ns(3051996583504090:3051996583510810) device_id(0) queue_id(0) + hcCommandKernel correlation_id(393) time_ns(3051996621035144:3051996621520104) device_id(0) queue_id(0) + hcCommandMarker correlation_id(394) time_ns(3051996621522965:3051996621529525) device_id(0) queue_id(0) + hcCommandKernel correlation_id(402) time_ns(3051996659024927:3051996659511327) device_id(0) queue_id(0) + hcCommandMarker correlation_id(403) time_ns(3051996659514133:3051996659520693) device_id(0) queue_id(0) + hcCommandKernel correlation_id(411) time_ns(3051996696776640:3051996697261120) device_id(0) queue_id(0) + hcCommandMarker correlation_id(412) time_ns(3051996697264004:3051996697270564) device_id(0) queue_id(0) + hcCommandKernel correlation_id(420) time_ns(3051996735008284:3051996735507164) device_id(0) queue_id(0) + hcCommandMarker correlation_id(421) time_ns(3051996735510106:3051996735516826) device_id(0) queue_id(0) + hcCommandKernel correlation_id(429) time_ns(3051996772845718:3051996773331958) device_id(0) queue_id(0) + hcCommandMarker correlation_id(430) time_ns(3051996773334854:3051996773341254) device_id(0) queue_id(0) + hcCommandKernel correlation_id(438) time_ns(3051996811089785:3051996812940667) device_id(0) queue_id(0) + hcCommandMarker correlation_id(439) time_ns(3051996812943536:3051996812975376) device_id(0) queue_id(0) + hcCommandKernel correlation_id(447) time_ns(3051996852002198:3051996853849400) device_id(0) queue_id(0) + hcCommandMarker correlation_id(448) time_ns(3051996853852333:3051996853884653) device_id(0) queue_id(0) +# STOP ############################# + diff --git a/test/golden_traces/tests_trace_cmp_levels.txt b/test/golden_traces/tests_trace_cmp_levels.txt index b442541bc0..5968512089 100644 --- a/test/golden_traces/tests_trace_cmp_levels.txt +++ b/test/golden_traces/tests_trace_cmp_levels.txt @@ -1,5 +1,6 @@ MatrixTranspose_ctest_trace 3 MatrixTranspose_test_trace 1 +MatrixTranspose_hipaact_test_trace 1 MatrixTranspose_mgpu_trace 1 MatrixTranspose_kfd_trace 0 MatrixTranspose_sys_trace 0 diff --git a/test/run.sh b/test/run.sh index 2ace3f1ea4..87389fc344 100755 --- a/test/run.sh +++ b/test/run.sh @@ -79,6 +79,7 @@ eval_test() { # rocTrecer is used explicitely by test eval_test "standalone C test" "LD_PRELOAD=libkfdwrapper64.so ./test/MatrixTranspose_ctest" MatrixTranspose_ctest_trace eval_test "standalone HIP test" "LD_PRELOAD=libkfdwrapper64.so ./test/MatrixTranspose_test" MatrixTranspose_test_trace +eval_test "standalone HIP test" "LD_PRELOAD=libkfdwrapper64.so ./test/MatrixTranspose_hipaact_test" MatrixTranspose_hipaact_test_trace eval_test "standalone HIP MGPU test" "LD_PRELOAD=libkfdwrapper64.so ./test/MatrixTranspose_mgpu" MatrixTranspose_mgpu_trace # Tool test From 0cca78c9c9f452051cbfe76ca9c4f8b525493cd4 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Wed, 6 May 2020 03:55:41 -0500 Subject: [PATCH 375/691] HIP API cb kernel name fixing Change-Id: I296d652368b20c42283c9c46c44dbef64aae3772 --- test/tool/tracer_tool.cpp | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/test/tool/tracer_tool.cpp b/test/tool/tracer_tool.cpp index b819fd0a1d..16c9fe8e5c 100644 --- a/test/tool/tracer_tool.cpp +++ b/test/tool/tracer_tool.cpp @@ -398,19 +398,26 @@ void hip_api_flush_cb(hip_api_trace_entry_t* entry) { const hip_api_data_t* data = &(entry->data); const timestamp_t begin_timestamp = entry->begin; const timestamp_t end_timestamp = entry->end; + std::ostringstream rec_ss; std::ostringstream oss; - std::ostringstream oss2; const char* str = (domain != ACTIVITY_DOMAIN_EXT_API) ? roctracer_op_string(domain, cid, 0) : strdup("MARK"); - oss << std::dec << - begin_timestamp << ":" << end_timestamp << " " << entry->pid << ":" << entry->tid << " " << str; - oss2 << std::dec << - begin_timestamp << ":" << end_timestamp << " " << entry->pid << ":" << entry->tid; + rec_ss << std::dec << begin_timestamp << ":" << end_timestamp << " " << entry->pid << ":" << entry->tid; + oss << std::dec << rec_ss.str() << " " << str; if (domain == ACTIVITY_DOMAIN_HIP_API) { #if HIP_PROF_HIP_API_STRING const char* str = hipApiString((hip_api_id_t)cid, data); - fprintf(hip_api_file_handle, "%s %s\n", oss2.str().c_str(), str); + rec_ss << " " << str; + if ((cid == HIP_API_ID_hipModuleLaunchKernel) + || (cid == HIP_API_ID_hipExtModuleLaunchKernel) +#if !HIP_VDI + || (cid == HIP_API_ID_hipHccModuleLaunchKernel) +#endif + ) { + rec_ss << " kernel=" << cxx_demangle(entry->name); + } + fprintf(hip_api_file_handle, "%s\n", rec_ss.str().c_str()); #else // !HIP_PROF_HIP_API_STRING switch (cid) { case HIP_API_ID_hipMemcpy: @@ -433,8 +440,8 @@ void hip_api_flush_cb(hip_api_trace_entry_t* entry) { data->args.hipFree.ptr); break; case HIP_API_ID_hipModuleLaunchKernel: -#if !HIP_VDI case HIP_API_ID_hipExtModuleLaunchKernel: +#if !HIP_VDI case HIP_API_ID_hipHccModuleLaunchKernel: #endif fprintf(hip_api_file_handle, "%s(kernel(%s) stream(%p))\n", From 0248ebdb132f4996689efa4d50613c15c3502d7a Mon Sep 17 00:00:00 2001 From: Evgeny Date: Wed, 6 May 2020 19:42:31 -0500 Subject: [PATCH 376/691] hip launch api tracing fix Change-Id: I1785ff7c56d982ac85bb921caaccb60ab5b4389d --- test/tool/tracer_tool.cpp | 43 +++++++++++++++++++++------------------ 1 file changed, 23 insertions(+), 20 deletions(-) diff --git a/test/tool/tracer_tool.cpp b/test/tool/tracer_tool.cpp index 16c9fe8e5c..9908947955 100644 --- a/test/tool/tracer_tool.cpp +++ b/test/tool/tracer_tool.cpp @@ -325,6 +325,20 @@ void hip_api_flush_cb(hip_api_trace_entry_t* entry); roctracer::TraceBuffer::flush_prm_t hip_flush_prm[1] = {{0, hip_api_flush_cb}}; roctracer::TraceBuffer hip_api_trace_buffer("HIP", 0x200000, hip_flush_prm, 1); +static inline bool is_hip_kernel_launch_api(const uint32_t& cid) { + bool ret = +#if HIP_VDI + (cid == HIP_API_ID_hipLaunchKernel) || + (cid == HIP_API_ID_hipExtLaunchMultiKernelMultiDevice) || + (cid == HIP_API_ID_hipLaunchCooperativeKernel) || + (cid == HIP_API_ID_hipLaunchCooperativeKernelMultiDevice) || +#endif + (cid == HIP_API_ID_hipModuleLaunchKernel) || + (cid == HIP_API_ID_hipExtModuleLaunchKernel) || + (cid == HIP_API_ID_hipHccModuleLaunchKernel); + return ret; +} + void hip_api_callback( uint32_t domain, uint32_t cid, @@ -351,19 +365,13 @@ void hip_api_callback( entry->name = NULL; entry->ptr = NULL; - switch (cid) { - case HIP_API_ID_hipMalloc: - entry->ptr = *(data->args.hipMalloc.ptr); - break; - case HIP_API_ID_hipModuleLaunchKernel: -#if !HIP_VDI - case HIP_API_ID_hipExtModuleLaunchKernel: - case HIP_API_ID_hipHccModuleLaunchKernel: -#endif - const hipFunction_t f = data->args.hipModuleLaunchKernel.f; - if (f != NULL) { - entry->name = strdup(roctracer::HipLoader::Instance().KernelNameRef(f)); - } + if (cid == HIP_API_ID_hipMalloc) { + entry->ptr = *(data->args.hipMalloc.ptr); + } else if (is_hip_kernel_launch_api(cid)) { + const hipFunction_t f = data->args.hipModuleLaunchKernel.f; + if (f != NULL) { + entry->name = strdup(roctracer::HipLoader::Instance().KernelNameRef(f)); + } } } } @@ -409,13 +417,8 @@ void hip_api_flush_cb(hip_api_trace_entry_t* entry) { #if HIP_PROF_HIP_API_STRING const char* str = hipApiString((hip_api_id_t)cid, data); rec_ss << " " << str; - if ((cid == HIP_API_ID_hipModuleLaunchKernel) - || (cid == HIP_API_ID_hipExtModuleLaunchKernel) -#if !HIP_VDI - || (cid == HIP_API_ID_hipHccModuleLaunchKernel) -#endif - ) { - rec_ss << " kernel=" << cxx_demangle(entry->name); + if (is_hip_kernel_launch_api(cid)) { + if (entry->name) rec_ss << " kernel=" << cxx_demangle(entry->name); } fprintf(hip_api_file_handle, "%s\n", rec_ss.str().c_str()); #else // !HIP_PROF_HIP_API_STRING From 3d4f6b3002f6c51a59b4173292d1519aaefca369 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Thu, 7 May 2020 06:45:29 -0500 Subject: [PATCH 377/691] buffer wrap-thread startup fix Change-Id: I857cff63d28dcc068eddbd3ae2bc0193c428ec41 --- src/core/roctracer.cpp | 2 -- src/core/trace_buffer.h | 2 +- test/tool/tracer_tool.cpp | 38 +++++++++++++++++++++++++++++++++----- 3 files changed, 34 insertions(+), 8 deletions(-) diff --git a/src/core/roctracer.cpp b/src/core/roctracer.cpp index 8d3f984118..94c19a36b3 100644 --- a/src/core/roctracer.cpp +++ b/src/core/roctracer.cpp @@ -1198,8 +1198,6 @@ PUBLIC_API roctracer_status_t roctracer_set_properties( API_METHOD_PREFIX switch (domain) { case ACTIVITY_DOMAIN_HSA_OPS: { - roctracer::trace_buffer.StartWorkerThread(); - // HSA OPS properties roctracer::hsa_ops_properties_t* ops_properties = reinterpret_cast(properties); HsaApiTable* table = reinterpret_cast(ops_properties->table); diff --git a/src/core/trace_buffer.h b/src/core/trace_buffer.h index fc778bb95e..c36c012014 100644 --- a/src/core/trace_buffer.h +++ b/src/core/trace_buffer.h @@ -231,7 +231,7 @@ class TraceBuffer : protected TraceBufferBase { void wrap_buffer(const pointer_t pointer) { std::lock_guard lck(mutex_); - if (work_thread_started_ == false) FATAL("worker thread is not started"); + if (work_thread_started_ == false) StartWorkerThread(); PTHREAD_CALL(pthread_mutex_lock(&work_mutex_)); if (pointer >= end_pointer_) { diff --git a/test/tool/tracer_tool.cpp b/test/tool/tracer_tool.cpp index 9908947955..65ff06ebfd 100644 --- a/test/tool/tracer_tool.cpp +++ b/test/tool/tracer_tool.cpp @@ -49,6 +49,17 @@ THE SOFTWARE. #define CONSTRUCTOR_API __attribute__((constructor)) #define DESTRUCTOR_API __attribute__((destructor)) +// Linux sys call +#define PTHREAD_CALL(call) \ + do { \ + int err = call; \ + if (err != 0) { \ + errno = err; \ + perror(#call); \ + abort(); \ + } \ + } while (0) + // Macro to check ROC-tracer calls status #define ROCTRACER_CALL(call) \ do { \ @@ -158,6 +169,10 @@ void* control_thr_fun(void*) { // Flushing control thread uint32_t control_flush_us = 0; +pthread_t flush_thread; +bool flush_thread_started = false; +std::mutex flush_thread_mutex;; + void* flush_thr_fun(void*) { const uint32_t dist_sec = control_flush_us / 1000000; const uint32_t dist_us = control_flush_us % 1000000; @@ -165,9 +180,13 @@ void* flush_thr_fun(void*) { while (1) { sleep(dist_sec); usleep(dist_us); - roctracer_flush_activity(); + std::lock_guard lock(flush_thread_mutex); + if (!flush_thread_started) while(1) sleep(1); + ROCTRACER_CALL(roctracer_flush_activity()); roctracer::TraceBufferBase::FlushAll(); } + + return NULL; } /////////////////////////////////////////////////////////////////////////////////////////////////////// @@ -616,6 +635,16 @@ void tool_unload() { if (is_loaded == false) return; is_loaded = false; + if (flush_thread_started) { + flush_thread_mutex.lock(); + flush_thread_started = false; + flush_thread_mutex.unlock(); + PTHREAD_CALL(pthread_cancel(flush_thread)); + void *res; + PTHREAD_CALL(pthread_join(flush_thread, &res)); + if (res != PTHREAD_CANCELED) FATAL("flush thread wasn't stopped correctly"); + } + if (trace_roctx) { ROCTRACER_CALL(roctracer_disable_domain_callback(ACTIVITY_DOMAIN_ROCTX)); } @@ -649,8 +678,6 @@ void tool_load() { if (is_loaded == true) return; is_loaded = true; - roctracer::TraceBufferBase::StartWorkerThreadAll(); - // Output file const char* output_prefix = getenv("ROCP_OUTPUT_DIR"); if (output_prefix != NULL) { @@ -807,11 +834,12 @@ void tool_load() { } fprintf(stdout, "ROCTracer: trace control flush rate(%uus)\n", control_flush_us); fflush(stdout); - pthread_t thread; pthread_attr_t attr; int err = pthread_attr_init(&attr); if (err) { errno = err; perror("pthread_attr_init"); abort(); } - err = pthread_create(&thread, &attr, flush_thr_fun, NULL); + std::lock_guard lock(flush_thread_mutex); + PTHREAD_CALL(pthread_create(&flush_thread, &attr, flush_thr_fun, NULL)); + flush_thread_started = true; } // Enable KFD API callbacks/activity From 807bd250f68b61ed9d63af2e379c47be26816ad8 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Thu, 7 May 2020 23:03:33 -0500 Subject: [PATCH 378/691] using env variables to set compilers Change-Id: I9af812c4528d0f14c4318436c74a0c63e25d0527 --- cmake_modules/env.cmake | 6 ++++-- src/CMakeLists.txt | 2 +- test/MatrixTranspose_test/Makefile | 2 +- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/cmake_modules/env.cmake b/cmake_modules/env.cmake index 2798b87374..def9e3d184 100644 --- a/cmake_modules/env.cmake +++ b/cmake_modules/env.cmake @@ -145,8 +145,10 @@ set ( ROCM_INC_PATH "${HSA_KMT_INC_PATH}" ) ## Basic Tool Chain Information message ( "----------------NBit: ${NBIT}" ) message ( "----------Build-Type: ${CMAKE_BUILD_TYPE}" ) -message ( "------------Compiler: ${CMAKE_CXX_COMPILER}" ) -message ( "----Compiler-Version: ${CMAKE_CXX_COMPILER_VERSION}" ) +message ( "----------C-Compiler: ${CMAKE_C_COMPILER}" ) +message ( "--C-Compiler-Version: ${CMAKE_C_COMPILER_VERSION}" ) +message ( "--------CXX-Compiler: ${CMAKE_CXX_COMPILER}" ) +message ( "CXX-Compiler-Version: ${CMAKE_CXX_COMPILER_VERSION}" ) message ( "-----HSA-Runtime-Inc: ${HSA_RUNTIME_INC_PATH}" ) message ( "-HSA-Runtime-HSA-Inc: ${HSA_RUNTIME_HSA_INC_PATH}" ) message ( "-----HSA-Runtime-Lib: ${HSA_RUNTIME_LIB_PATH}" ) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 0fc4b9bd2d..efbed37c8f 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -23,7 +23,7 @@ set ( KFD_LIB_SRC ) execute_process ( COMMAND sh -xc "${CMAKE_CXX_COMPILER} -E ${HSA_KMT_INC_PATH}/hsakmttypes.h > ${PROJECT_BINARY_DIR}/hsakmttypes_pp.h" ) execute_process ( COMMAND sh -xc "${ROOT_DIR}/script/gen_ostream_ops.py -in ${PROJECT_BINARY_DIR}/hsakmttypes_pp.h -out ${ROOT_DIR}/inc/kfd_ostream_ops.h" ) -execute_process ( COMMAND sh -xc "/usr/bin/gcc -D__HIP_PLATFORM_HCC__ -I${HIP_PATH}/include -I${CMAKE_PREFIX_PATH}/hsa/include -E ${HIP_PATH}/include/hip/hip_runtime_api.h > ${PROJECT_BINARY_DIR}/hip_runtime_api_pp.h" ) +execute_process ( COMMAND sh -xc "${CMAKE_C_COMPILER} -D__HIP_PLATFORM_HCC__ -I${HIP_PATH}/include -I${CMAKE_PREFIX_PATH}/hsa/include -E ${HIP_PATH}/include/hip/hip_runtime_api.h > ${PROJECT_BINARY_DIR}/hip_runtime_api_pp.h" ) execute_process ( COMMAND sh -xc "${ROOT_DIR}/script/gen_ostream_ops.py -in ${PROJECT_BINARY_DIR}/hip_runtime_api_pp.h -out ${ROOT_DIR}/inc/hip_ostream_ops.h" ) add_library ( ${KFD_LIB} SHARED ${KFD_LIB_SRC} ) target_include_directories ( ${KFD_LIB} PRIVATE ${LIB_DIR} ${ROOT_DIR} ${ROOT_DIR}/inc ${HSA_RUNTIME_INC_PATH} ${HSA_RUNTIME_HSA_INC_PATH} ${HSA_KMT_INC_PATH} ) diff --git a/test/MatrixTranspose_test/Makefile b/test/MatrixTranspose_test/Makefile index f870aa865d..4e3cfb8b33 100644 --- a/test/MatrixTranspose_test/Makefile +++ b/test/MatrixTranspose_test/Makefile @@ -18,7 +18,7 @@ OBJECTS = MatrixTranspose.o FLAGS =-g -I$(ROOT_PATH) -I$(ROOT_PATH)/inc -I${ROCM_INC_PATH}/hsa -I${ROCM_INC_PATH} -DLOCAL_BUILD=1 -DHIP_VDI=${HIP_VDI} -DITERATIONS=$(ITERATIONS) -DAMD_INTERNAL_BUILD=1 ifeq ($(C_TEST), 1) - COMP=gcc + COMP=${CC} SOURCES = MatrixTranspose.c FLAGS += -DHIP_TEST=0 -D__HIP_PLATFORM_HCC__=1 -I${ROCM_INC_PATH}/hcc else From eebde5e82e5f988500e52102497eeb7cf08a98c4 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Tue, 12 May 2020 10:31:14 -0500 Subject: [PATCH 379/691] increasing API version Change-Id: I30c1b5b22d0bef8cf57e9703261e397f3d2fa77a --- inc/roctracer.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/inc/roctracer.h b/inc/roctracer.h index 8b0f2114f9..67fe3f5a3d 100644 --- a/inc/roctracer.h +++ b/inc/roctracer.h @@ -44,7 +44,7 @@ THE SOFTWARE. #include "ext/prof_protocol.h" -#define ROCTRACER_VERSION_MAJOR 2 +#define ROCTRACER_VERSION_MAJOR 3 #define ROCTRACER_VERSION_MINOR 0 #ifdef __cplusplus From 98dbca905866fa6695e70fac9842c483a66f7276 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Wed, 13 May 2020 06:06:17 -0500 Subject: [PATCH 380/691] hip apr stream porting to hip vdi; hip_api_string off by default Change-Id: I2a9b55b8bdc372743b175797c0d4827fe8931033 --- cmake_modules/env.cmake | 16 ++++++++++++---- src/CMakeLists.txt | 2 +- test/tool/tracer_tool.cpp | 27 +++++++++++++++++++++++---- 3 files changed, 36 insertions(+), 9 deletions(-) diff --git a/cmake_modules/env.cmake b/cmake_modules/env.cmake index def9e3d184..87cead11fb 100644 --- a/cmake_modules/env.cmake +++ b/cmake_modules/env.cmake @@ -36,7 +36,6 @@ add_definitions ( -DLITTLEENDIAN_CPU=1 ) add_definitions ( -DHSA_LARGE_MODEL= ) add_definitions ( -DHSA_DEPRECATED= ) add_definitions ( -D__HIP_PLATFORM_HCC__ ) -add_definitions ( -DHIP_PROF_HIP_API_STRING=1 ) ## Linux Compiler options set ( CMAKE_CXX_FLAGS "-std=c++11") @@ -66,12 +65,21 @@ if ( DEFINED ENV{CMAKE_DEBUG_TRACE} ) add_definitions ( -DDEBUG_TRACE=1 ) endif() +if ( NOT DEFINED HIP_API_STRING ) + set ( HIP_API_STRING 0 ) +endif() +add_definitions ( -DHIP_PROF_HIP_API_STRING=${HIP_API_STRING} ) + ## Enable HIP_VDI mode -if ( DEFINED HIP_VDI ) - add_definitions ( -DHIP_VDI=${HIP_VDI} ) -else() +if ( NOT DEFINED HIP_VDI ) set ( HIP_VDI 0 ) endif() +add_definitions ( -DHIP_VDI=${HIP_VDI} ) +if ( "${HIP_VDI}" STREQUAL "1" ) + set ( HIP_DEFINES "-D__HIP_ROCclr__=1" ) +else() + set ( HIP_DEFINES "-D__HIP_PLATFORM_HCC__=1") +endif() ## Enable HIP/HCC local build if ( DEFINED LOCAL_BUILD ) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index efbed37c8f..4de5e5b333 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -23,7 +23,7 @@ set ( KFD_LIB_SRC ) execute_process ( COMMAND sh -xc "${CMAKE_CXX_COMPILER} -E ${HSA_KMT_INC_PATH}/hsakmttypes.h > ${PROJECT_BINARY_DIR}/hsakmttypes_pp.h" ) execute_process ( COMMAND sh -xc "${ROOT_DIR}/script/gen_ostream_ops.py -in ${PROJECT_BINARY_DIR}/hsakmttypes_pp.h -out ${ROOT_DIR}/inc/kfd_ostream_ops.h" ) -execute_process ( COMMAND sh -xc "${CMAKE_C_COMPILER} -D__HIP_PLATFORM_HCC__ -I${HIP_PATH}/include -I${CMAKE_PREFIX_PATH}/hsa/include -E ${HIP_PATH}/include/hip/hip_runtime_api.h > ${PROJECT_BINARY_DIR}/hip_runtime_api_pp.h" ) +execute_process ( COMMAND sh -xc "${CMAKE_C_COMPILER} ${HIP_DEFINES} -I${HIP_PATH}/include -I${CMAKE_PREFIX_PATH}/hsa/include -E ${HIP_PATH}/include/hip/hip_runtime_api.h > ${PROJECT_BINARY_DIR}/hip_runtime_api_pp.h" ) execute_process ( COMMAND sh -xc "${ROOT_DIR}/script/gen_ostream_ops.py -in ${PROJECT_BINARY_DIR}/hip_runtime_api_pp.h -out ${ROOT_DIR}/inc/hip_ostream_ops.h" ) add_library ( ${KFD_LIB} SHARED ${KFD_LIB_SRC} ) target_include_directories ( ${KFD_LIB} PRIVATE ${LIB_DIR} ${ROOT_DIR} ${ROOT_DIR}/inc ${HSA_RUNTIME_INC_PATH} ${HSA_RUNTIME_HSA_INC_PATH} ${HSA_KMT_INC_PATH} ) diff --git a/test/tool/tracer_tool.cpp b/test/tool/tracer_tool.cpp index 65ff06ebfd..b4a0064a72 100644 --- a/test/tool/tracer_tool.cpp +++ b/test/tool/tracer_tool.cpp @@ -450,6 +450,15 @@ void hip_api_flush_cb(hip_api_trace_entry_t* entry) { (uint32_t)(data->args.hipMemcpy.sizeBytes), (uint32_t)(data->args.hipMemcpy.kind)); break; + case HIP_API_ID_hipMemcpyAsync: + fprintf(hip_api_file_handle, "%s(dst(%p) src(%p) size(0x%x) kind(%u) stream(%p))\n", + oss.str().c_str(), + data->args.hipMemcpyAsync.dst, + data->args.hipMemcpyAsync.src, + (uint32_t)(data->args.hipMemcpyAsync.sizeBytes), + (uint32_t)(data->args.hipMemcpyAsync.kind), + data->args.hipMemcpyAsync.stream); + break; case HIP_API_ID_hipMalloc: fprintf(hip_api_file_handle, "%s(ptr(%p) size(0x%x))\n", oss.str().c_str(), @@ -462,15 +471,25 @@ void hip_api_flush_cb(hip_api_trace_entry_t* entry) { data->args.hipFree.ptr); break; case HIP_API_ID_hipModuleLaunchKernel: - case HIP_API_ID_hipExtModuleLaunchKernel: -#if !HIP_VDI - case HIP_API_ID_hipHccModuleLaunchKernel: -#endif fprintf(hip_api_file_handle, "%s(kernel(%s) stream(%p))\n", oss.str().c_str(), cxx_demangle(entry->name), data->args.hipModuleLaunchKernel.stream); break; + case HIP_API_ID_hipExtModuleLaunchKernel: + fprintf(hip_api_file_handle, "%s(kernel(%s) stream(%p))\n", + oss.str().c_str(), + cxx_demangle(entry->name), + data->args.hipExtModuleLaunchKernel.hStream); + break; +#if !HIP_VDI + case HIP_API_ID_hipHccModuleLaunchKernel: + fprintf(hip_api_file_handle, "%s(kernel(%s) stream(%p))\n", + oss.str().c_str(), + cxx_demangle(entry->name), + data->args.hipHccModuleLaunchKernel.hStream); + break; +#endif default: fprintf(hip_api_file_handle, "%s()\n", oss.str().c_str()); } From ad1abf7d208fc6c61eec8fa051b6327b1a317f60 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Wed, 13 May 2020 16:14:03 -0500 Subject: [PATCH 381/691] HIP-ROCCLR build porting Change-Id: Ia5bfd2218134518a451c79eae2c6858c481558b0 --- build.sh | 7 +++++-- cmake_modules/env.cmake | 7 ++++--- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/build.sh b/build.sh index 5bfb5de34f..a8515b69d4 100755 --- a/build.sh +++ b/build.sh @@ -22,7 +22,8 @@ if [ -z "$BUILD_TYPE" ] ; then BUILD_TYPE="release"; fi if [ -z "$PACKAGE_ROOT" ] ; then PACKAGE_ROOT=$ROCM_PATH; fi if [ -z "$PACKAGE_PREFIX" ] ; then PACKAGE_PREFIX="$ROCM_PATH/$COMPONENT"; fi if [ -z "$PREFIX_PATH" ] ; then PREFIX_PATH=$PACKAGE_ROOT; fi -if [ -n "$HIP_VDI" ] ; then HIP_VDI_OPT="-DHIP_VDI=1"; fi +if [ -z "$HIP_VDI" ] ; then HIP_VDI=0; fi +if [ -z "$HIP_API_STRING" ] ; then HIP_API_STRING=1; fi if [ -n "$ROCM_RPATH" ] ; then LD_RUNPATH_FLAG=" -Wl,--enable-new-dtags -Wl,--rpath,${ROCM_RPATH}"; fi ROCTRACER_ROOT=$(cd $ROCTRACER_ROOT && echo $PWD) @@ -39,8 +40,10 @@ cmake \ -DCPACK_PACKAGING_INSTALL_PREFIX=$PACKAGE_PREFIX \ -DCPACK_GENERATOR="DEB;RPM" \ -DCMAKE_SHARED_LINKER_FLAGS="$LD_RUNPATH_FLAG" \ - $HIP_VDI_OPT \ + -DHIP_VDI="$HIP_VDI" \ + -DHIP_API_STRING="$HIP_API_STRING" \ $ROCTRACER_ROOT + make make mytest make package diff --git a/cmake_modules/env.cmake b/cmake_modules/env.cmake index 87cead11fb..d95285575c 100644 --- a/cmake_modules/env.cmake +++ b/cmake_modules/env.cmake @@ -35,7 +35,7 @@ add_definitions ( -DAMD_INTERNAL_BUILD ) add_definitions ( -DLITTLEENDIAN_CPU=1 ) add_definitions ( -DHSA_LARGE_MODEL= ) add_definitions ( -DHSA_DEPRECATED= ) -add_definitions ( -D__HIP_PLATFORM_HCC__ ) +add_definitions ( -D__HIP_PLATFORM_HCC__=1 ) ## Linux Compiler options set ( CMAKE_CXX_FLAGS "-std=c++11") @@ -66,7 +66,7 @@ if ( DEFINED ENV{CMAKE_DEBUG_TRACE} ) endif() if ( NOT DEFINED HIP_API_STRING ) - set ( HIP_API_STRING 0 ) + set ( HIP_API_STRING 1 ) endif() add_definitions ( -DHIP_PROF_HIP_API_STRING=${HIP_API_STRING} ) @@ -76,7 +76,8 @@ if ( NOT DEFINED HIP_VDI ) endif() add_definitions ( -DHIP_VDI=${HIP_VDI} ) if ( "${HIP_VDI}" STREQUAL "1" ) - set ( HIP_DEFINES "-D__HIP_ROCclr__=1" ) + add_definitions ( -D__HIP_ROCclr__=1 ) + set ( HIP_DEFINES "-D__HIP_PLATFORM_HCC__=1 -D__HIP_ROCclr__=1" ) else() set ( HIP_DEFINES "-D__HIP_PLATFORM_HCC__=1") endif() From 47c223b757aba81eca332a0f1e7cb19d45811491 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Mon, 18 May 2020 17:39:57 -0500 Subject: [PATCH 382/691] cleanup Change-Id: Ie5b98784605cb6a8efe09ca97a443fd9847a9976 --- cmake_modules/env.cmake | 1 - 1 file changed, 1 deletion(-) diff --git a/cmake_modules/env.cmake b/cmake_modules/env.cmake index d95285575c..edeb17f069 100644 --- a/cmake_modules/env.cmake +++ b/cmake_modules/env.cmake @@ -159,7 +159,6 @@ message ( "--C-Compiler-Version: ${CMAKE_C_COMPILER_VERSION}" ) message ( "--------CXX-Compiler: ${CMAKE_CXX_COMPILER}" ) message ( "CXX-Compiler-Version: ${CMAKE_CXX_COMPILER_VERSION}" ) message ( "-----HSA-Runtime-Inc: ${HSA_RUNTIME_INC_PATH}" ) -message ( "-HSA-Runtime-HSA-Inc: ${HSA_RUNTIME_HSA_INC_PATH}" ) message ( "-----HSA-Runtime-Lib: ${HSA_RUNTIME_LIB_PATH}" ) message ( "----HSA_KMT_LIB_PATH: ${HSA_KMT_LIB_PATH}" ) message ( "-------ROCM_ROOT_DIR: ${ROCM_ROOT_DIR}" ) From 074306d997a8dcbc3e8a414ca0849c61bf11f544 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Mon, 18 May 2020 15:34:40 -0500 Subject: [PATCH 383/691] SWDEV-236864 : packaging of generated headers Change-Id: Ifda69eecf3697f6b69c978b3c4c2ffe9835edeb8 --- .gitignore | 5 ----- CMakeLists.txt | 15 +++++++++++--- doc/roctracer_spec.md | 8 ++++---- inc/roctracer.h | 2 +- inc/{cb_table.h => roctracer_cb_table.h} | 2 +- inc/roctracer_ext.h | 2 +- inc/roctracer_hcc.h | 2 +- inc/roctracer_hip.h | 4 ++-- inc/roctracer_hsa.h | 4 ++-- inc/roctracer_kfd.h | 8 ++++---- inc/roctracer_roctx.h | 2 +- script/kfdap.py | 6 +++--- test/CMakeLists.txt | 2 +- test/MatrixTranspose/MatrixTranspose.cpp | 2 +- test/MatrixTranspose_test/MatrixTranspose.cpp | 14 ++++++------- test/tool/tracer_tool.cpp | 20 +++++++++---------- 16 files changed, 51 insertions(+), 47 deletions(-) rename inc/{cb_table.h => roctracer_cb_table.h} (98%) diff --git a/.gitignore b/.gitignore index 446848fea5..331d63fdd6 100644 --- a/.gitignore +++ b/.gitignore @@ -4,12 +4,7 @@ *.exe *.swp *.Po -b build -inc/hsa_prof_str.h -inc/kfd_prof_str.h -inc/basic_ostream_ops.h -inc/kfd_ostream_ops.h test/hsa test/MatrixTranspose/MatrixTranspose test/MatrixTranspose_test/MatrixTranspose diff --git a/CMakeLists.txt b/CMakeLists.txt index 81d467b782..db3cb3fb9c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -89,13 +89,22 @@ add_subdirectory ( ${TEST_DIR} ${PROJECT_BINARY_DIR}/test ) ## pbulic headers set ( PUBLIC_HEADERS + roctx.h roctracer.h - roctracer_hip.h - roctracer_hcc.h roctracer_ext.h + roctracer_hcc.h + roctracer_hip.h + roctracer_hsa.h + roctracer_kfd.h + roctracer_roctx.h + roctracer_cb_table.h + basic_ostream_ops.h + hip_ostream_ops.h + hsa_prof_str.h + kfd_ostream_ops.h + kfd_prof_str.h ext/prof_protocol.h ext/hsa_rt_utils.hpp - roctx.h ) ## Installation and packaging diff --git a/doc/roctracer_spec.md b/doc/roctracer_spec.md index 28f8ffcc27..33666bd97d 100644 --- a/doc/roctracer_spec.md +++ b/doc/roctracer_spec.md @@ -389,8 +389,8 @@ void roctracer_stop(); ## 4. rocTracer Usage Code Examples ### 4.1. HIP API and HCC ops, GPU Activity Tracing ``` -#include -#include +#include +#include // HIP API callback function void hip_api_callback( @@ -610,8 +610,8 @@ int main() { ///////////////////////////////////////////////////////////////////////////// // HIP/HCC Callbacks/Activity tracing ///////////////////////////////////////////////////////////////////////////// -#include -#include +#include +#include // Macro to check ROC-tracer calls status #define ROCTRACER_CALL(call) \ diff --git a/inc/roctracer.h b/inc/roctracer.h index 67fe3f5a3d..cc96b455d9 100644 --- a/inc/roctracer.h +++ b/inc/roctracer.h @@ -42,7 +42,7 @@ THE SOFTWARE. #include #endif -#include "ext/prof_protocol.h" +#include #define ROCTRACER_VERSION_MAJOR 3 #define ROCTRACER_VERSION_MINOR 0 diff --git a/inc/cb_table.h b/inc/roctracer_cb_table.h similarity index 98% rename from inc/cb_table.h rename to inc/roctracer_cb_table.h index 5d10f5b8ba..cda8b90606 100644 --- a/inc/cb_table.h +++ b/inc/roctracer_cb_table.h @@ -23,7 +23,7 @@ THE SOFTWARE. #ifndef CB_TABLE_H_ #define CB_TABLE_H_ -#include "ext/prof_protocol.h" +#include #include diff --git a/inc/roctracer_ext.h b/inc/roctracer_ext.h index 172966af6d..4525e6414e 100644 --- a/inc/roctracer_ext.h +++ b/inc/roctracer_ext.h @@ -32,7 +32,7 @@ THE SOFTWARE. #ifndef INC_ROCTRACER_EXT_H_ #define INC_ROCTRACER_EXT_H_ -#include "roctracer.h" +#include typedef void (*roctracer_start_cb_t)(); typedef void (*roctracer_stop_cb_t)(); diff --git a/inc/roctracer_hcc.h b/inc/roctracer_hcc.h index 0781460145..2133617945 100644 --- a/inc/roctracer_hcc.h +++ b/inc/roctracer_hcc.h @@ -40,6 +40,6 @@ typedef const char* (hipGetOpName_t)(unsigned op); } #endif -#include "roctracer.h" +#include #endif // INC_ROCTRACER_HCC_H_ diff --git a/inc/roctracer_hip.h b/inc/roctracer_hip.h index d6ce158d14..86ffc1ae31 100644 --- a/inc/roctracer_hip.h +++ b/inc/roctracer_hip.h @@ -23,11 +23,11 @@ THE SOFTWARE. #ifndef INC_ROCTRACER_HIP_H_ #define INC_ROCTRACER_HIP_H_ -#include "inc/hip_ostream_ops.h" +#include #include #include -#include "roctracer.h" +#include #ifdef __cplusplus extern "C" { diff --git a/inc/roctracer_hsa.h b/inc/roctracer_hsa.h index 625fa0b760..2704850646 100644 --- a/inc/roctracer_hsa.h +++ b/inc/roctracer_hsa.h @@ -26,7 +26,7 @@ THE SOFTWARE. #include #include -#include "roctracer.h" +#include // HSA OP ID enumeration enum hsa_op_id_t { @@ -143,5 +143,5 @@ typedef void* hsa_amd_queue_intercept_handler; typedef void* hsa_amd_runtime_queue_notifier; #endif //! __cplusplus -#include "inc/hsa_prof_str.h" +#include #endif // INC_ROCTRACER_HSA_H_ diff --git a/inc/roctracer_kfd.h b/inc/roctracer_kfd.h index fcc1e3cd87..dd407588b2 100644 --- a/inc/roctracer_kfd.h +++ b/inc/roctracer_kfd.h @@ -23,12 +23,12 @@ THE SOFTWARE. ///////////////////////////////////////////////////////////////////////////// #ifndef INC_ROCTRACER_KFD_H_ #define INC_ROCTRACER_KFD_H_ -#include "roctracer.h" -#include "hsakmt.h" +#include +#include #ifdef __cplusplus -#include "inc/kfd_ostream_ops.h" +#include #endif -#include "inc/kfd_prof_str.h" +#include #endif // INC_ROCTRACER_KFD_H_ diff --git a/inc/roctracer_roctx.h b/inc/roctracer_roctx.h index accec45255..2ce749c2bc 100644 --- a/inc/roctracer_roctx.h +++ b/inc/roctracer_roctx.h @@ -59,7 +59,7 @@ typedef struct roctx_api_data_s { } roctx_api_data_t; #ifdef __cplusplus -#include "cb_table.h" +#include namespace roctx { // ROCTX callbacks table type typedef roctracer::CbTable cb_table_t; diff --git a/script/kfdap.py b/script/kfdap.py index a9c6defb5f..e920bbf6d9 100755 --- a/script/kfdap.py +++ b/script/kfdap.py @@ -283,8 +283,8 @@ class API_DescrParser: self.content_h += '#include \n' self.content_h += '#include \n' - self.content_h += '#include \"roctracer_kfd.h\"\n' - self.content_h += '#include \"hsakmt.h\"\n' + self.content_h += '#include \n' + self.content_h += '#include \n' self.content_h += '#define PUBLIC_API __attribute__((visibility(\"default\")))\n' @@ -293,7 +293,7 @@ class API_DescrParser: self.content_h += '\n' self.content_h += '#if PROF_API_IMPL\n' - self.content_h += '#include \"cb_table.h\"\n' + self.content_h += '#include \n' self.content_h += 'namespace roctracer {\n' self.content_h += 'namespace kfd_support {\n' diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 9d78fd4025..d0d18b4da5 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -55,7 +55,7 @@ file( GLOB UTIL_SRC "${HSA_TEST_DIR}/util/*.cpp" ) set ( TEST_LIB "tracer_tool" ) set ( TEST_LIB_SRC ${TEST_DIR}/tool/tracer_tool.cpp ${UTIL_SRC} ) add_library ( ${TEST_LIB} SHARED ${TEST_LIB_SRC} ) -target_include_directories ( ${TEST_LIB} PRIVATE ${HSA_TEST_DIR} ${ROOT_DIR} ${HSA_RUNTIME_INC_PATH} ${HSA_RUNTIME_HSA_INC_PATH} ${HIP_INC_DIR} ${HCC_INC_DIR} ${HSA_KMT_INC_PATH} ) +target_include_directories ( ${TEST_LIB} PRIVATE ${HSA_TEST_DIR} ${ROOT_DIR} ${ROOT_DIR}/inc ${HSA_RUNTIME_INC_PATH} ${HSA_RUNTIME_HSA_INC_PATH} ${HIP_INC_DIR} ${HCC_INC_DIR} ${HSA_KMT_INC_PATH} ) target_link_libraries ( ${TEST_LIB} ${ROCTRACER_TARGET} ${HSA_RUNTIME_LIB} c stdc++ dl pthread rt ) ## Build HSA test diff --git a/test/MatrixTranspose/MatrixTranspose.cpp b/test/MatrixTranspose/MatrixTranspose.cpp index 264cf2d93b..cb7430b8b2 100644 --- a/test/MatrixTranspose/MatrixTranspose.cpp +++ b/test/MatrixTranspose/MatrixTranspose.cpp @@ -26,7 +26,7 @@ THE SOFTWARE. #include #include "roctracer_ext.h" // roctx header file -#include +#include #define WIDTH 1024 diff --git a/test/MatrixTranspose_test/MatrixTranspose.cpp b/test/MatrixTranspose_test/MatrixTranspose.cpp index e023e7f6d0..18adbcfb1e 100644 --- a/test/MatrixTranspose_test/MatrixTranspose.cpp +++ b/test/MatrixTranspose_test/MatrixTranspose.cpp @@ -32,9 +32,9 @@ using namespace std; #endif // roctx header file -#include +#include // roctracer extension API -#include +#include const size_t msg_size = 512; char* msg_buf = NULL; @@ -225,11 +225,11 @@ int main() { // HIP Callbacks/Activity tracing // #if 1 -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include #include #include /* For SYS_xxx definitions */ diff --git a/test/tool/tracer_tool.cpp b/test/tool/tracer_tool.cpp index b4a0064a72..dea72aa8d3 100644 --- a/test/tool/tracer_tool.cpp +++ b/test/tool/tracer_tool.cpp @@ -32,18 +32,18 @@ THE SOFTWARE. #include #include /* usleep */ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include +#include +#include "src/core/loader.h" +#include "src/core/trace_buffer.h" #include "util/hsa_rsrc_factory.h" +#include "util/xml.h" #define PUBLIC_API __attribute__((visibility("default"))) #define CONSTRUCTOR_API __attribute__((constructor)) From 173c83c6d4a4a3c1825045758a6946704c41cb43 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Mon, 18 May 2020 22:35:30 -0500 Subject: [PATCH 384/691] fixing rocm root Change-Id: I79ff754775565d4500254e4566b8c994c237ba34 --- bin/rpl_run.sh | 5 +---- src/CMakeLists.txt | 2 +- test/CMakeLists.txt | 12 ++++++------ 3 files changed, 8 insertions(+), 11 deletions(-) diff --git a/bin/rpl_run.sh b/bin/rpl_run.sh index 7d3dffac7d..efedfbdba9 100755 --- a/bin/rpl_run.sh +++ b/bin/rpl_run.sh @@ -30,9 +30,6 @@ RUN_DIR=`pwd` TMP_DIR="/tmp" DATA_DIR="rpl_data_${time_stamp}_$$" -# PATH to custom HSA and OpenCl runtimes -HSA_PATH=$PKG_DIR/lib/hsa - # roctracer path if [ -z "$ROCTRACER_PATH" ] ; then ROCTRACER_PATH=$ROOT_DIR/roctracer; fi @@ -43,7 +40,7 @@ HIP_TRACE=0 # Generate stats GEN_STATS=0 -export LD_LIBRARY_PATH=$PKG_DIR/lib:$PKG_DIR/tool:$ROCTRACER_PATH/lib:$ROCTRACER_PATH/tool:$HSA_PATH +export LD_LIBRARY_PATH=$PKG_DIR/lib:$PKG_DIR/lib/hsa:$PKG_DIR/tool:$ROCTRACER_PATH/lib:$ROCTRACER_PATH/tool export PATH=.:$PATH # enable error logging diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 4de5e5b333..d6ddcf0e67 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -23,7 +23,7 @@ set ( KFD_LIB_SRC ) execute_process ( COMMAND sh -xc "${CMAKE_CXX_COMPILER} -E ${HSA_KMT_INC_PATH}/hsakmttypes.h > ${PROJECT_BINARY_DIR}/hsakmttypes_pp.h" ) execute_process ( COMMAND sh -xc "${ROOT_DIR}/script/gen_ostream_ops.py -in ${PROJECT_BINARY_DIR}/hsakmttypes_pp.h -out ${ROOT_DIR}/inc/kfd_ostream_ops.h" ) -execute_process ( COMMAND sh -xc "${CMAKE_C_COMPILER} ${HIP_DEFINES} -I${HIP_PATH}/include -I${CMAKE_PREFIX_PATH}/hsa/include -E ${HIP_PATH}/include/hip/hip_runtime_api.h > ${PROJECT_BINARY_DIR}/hip_runtime_api_pp.h" ) +execute_process ( COMMAND sh -xc "${CMAKE_C_COMPILER} ${HIP_DEFINES} -I${HIP_PATH}/include -I${ROCM_ROOT_DIR}/hsa/include -E ${HIP_PATH}/include/hip/hip_runtime_api.h > ${PROJECT_BINARY_DIR}/hip_runtime_api_pp.h" ) execute_process ( COMMAND sh -xc "${ROOT_DIR}/script/gen_ostream_ops.py -in ${PROJECT_BINARY_DIR}/hip_runtime_api_pp.h -out ${ROOT_DIR}/inc/hip_ostream_ops.h" ) add_library ( ${KFD_LIB} SHARED ${KFD_LIB_SRC} ) target_include_directories ( ${KFD_LIB} PRIVATE ${LIB_DIR} ${ROOT_DIR} ${ROOT_DIR}/inc ${HSA_RUNTIME_INC_PATH} ${HSA_RUNTIME_HSA_INC_PATH} ${HSA_KMT_INC_PATH} ) diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index d0d18b4da5..f43d628c96 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -25,23 +25,23 @@ set ( CMAKE_VERBOSE_MAKEFILE TRUE CACHE BOOL "Verbose Output" FORCE ) ## Path to HSA test set ( HSA_TEST_DIR "${TEST_DIR}/hsa/test" ) -set ( HSA_REV "2522691" ) +set ( HSA_REV "48bd999" ) ## test run script set ( RUN_SCRIPT "${TEST_DIR}/run.sh" ) ## build HIP tests -set ( TEST_CFLAGS HIP_VDI=${HIP_VDI} ROCM_INC_PATH=${ROCM_INC_PATH} ) +set ( TEST_ENV HIP_VDI=${HIP_VDI} ROCM_INC_PATH=${ROCM_INC_PATH} ROCM_PATH=${ROCM_ROOT_DIR} HIPCC_VERBOSE=3 ) add_custom_target( mytest COMMAND make -C "${TEST_DIR}/MatrixTranspose" COMMAND sh -xc "cp ${TEST_DIR}/MatrixTranspose/MatrixTranspose ${PROJECT_BINARY_DIR}/test" - COMMAND ${TEST_CFLAGS} make -C "${TEST_DIR}/MatrixTranspose_test" + COMMAND ${TEST_ENV} make -C "${TEST_DIR}/MatrixTranspose_test" COMMAND sh -xc "cp ${TEST_DIR}/MatrixTranspose_test/MatrixTranspose ${PROJECT_BINARY_DIR}/test/MatrixTranspose_test" - COMMAND HIP_API_ACTIVITY_ON=1 ${TEST_CFLAGS} make -C "${TEST_DIR}/MatrixTranspose_test" + COMMAND HIP_API_ACTIVITY_ON=1 ${TEST_ENV} make -C "${TEST_DIR}/MatrixTranspose_test" COMMAND sh -xc "cp ${TEST_DIR}/MatrixTranspose_test/MatrixTranspose ${PROJECT_BINARY_DIR}/test/MatrixTranspose_hipaact_test" - COMMAND MGPU_TEST=1 ${TEST_CFLAGS} make -C "${TEST_DIR}/MatrixTranspose_test" + COMMAND MGPU_TEST=1 ${TEST_ENV} make -C "${TEST_DIR}/MatrixTranspose_test" COMMAND sh -xc "cp ${TEST_DIR}/MatrixTranspose_test/MatrixTranspose ${PROJECT_BINARY_DIR}/test/MatrixTranspose_mgpu" - COMMAND C_TEST=1 ${TEST_CFLAGS} make -C "${TEST_DIR}/MatrixTranspose_test" + COMMAND C_TEST=1 ${TEST_ENV} make -C "${TEST_DIR}/MatrixTranspose_test" COMMAND sh -xc "cp ${TEST_DIR}/MatrixTranspose_test/MatrixTranspose ${PROJECT_BINARY_DIR}/test/MatrixTranspose_ctest" # copy traces COMMAND sh -xc "cp ${TEST_DIR}/golden_traces/*_trace.txt ${PROJECT_BINARY_DIR}/test/" From 8cece616899a8064223f4017bc17cf8d4c97b1a1 Mon Sep 17 00:00:00 2001 From: Rachida Kebichi Date: Mon, 18 May 2020 13:52:22 -0400 Subject: [PATCH 385/691] Added check trace with config. Change-Id: I1c71793c4c6f512288e92f70105f428c3f8671c4 --- script/check_trace.py | 221 ++++++++++++------ test/MatrixTranspose_test/MatrixTranspose.cpp | 12 +- test/golden_traces/tests_trace_cmp_levels.txt | 22 +- 3 files changed, 172 insertions(+), 83 deletions(-) diff --git a/script/check_trace.py b/script/check_trace.py index 1c4c5de88f..085e5acd61 100644 --- a/script/check_trace.py +++ b/script/check_trace.py @@ -26,110 +26,197 @@ import argparse events_count = {} events_order = {} -trace2level = {} -trace2level_filename = 'test/tests_trace_cmp_levels.txt' +trace2info = {} +trace2info_filename = 'test/tests_trace_cmp_levels.txt' -def parse_trace_levels(filename): - f = open(filename) - trace2level = {} +# Parses trace comparison config file and stores the info in a dictionary +def parse_trace_levels(trace_config_filename): + f = open(trace_config_filename) + trace2info = {} for line in f: - item = line.split(' ', 1) - trace2level[item[0]] = eval(item[1]) - return trace2level + if re.match('^# dummy',line): + return trace2info + lis = line.split(' ') + trace_name = lis[0] + comp_level = lis[1] + no_events_cnt = '' + events2ignore = '' + events2chkcnt = '' + events2chkord = '' + events2ch = '' + for l in lis: + if no_events_cnt == ' ': + no_events_cnt = l + if events2ignore == ' ': + events2ignore = l + if events2chkcnt == ' ': + events2chkcnt = l + if events2chkord == ' ': + events2chkord = l + if events2ch == ' ': + events2ch = l + events2chkcnt = l + no_events_cnt = l + if l == '--ignore-count': + no_events_cnt = ' ' + if l == '--ignore-event': + events2ignore = ' ' + if l == '--check-count': + events2chkcnt = ' ' + if l == '--check-order': + events2chkord = ' ' + if l == '--check-events': + events2ch = ' ' -# check trace againt golden reference and returns 0 for match, 1 for mismatch -def check_trace_status(tracename): - trace2level = parse_trace_levels(trace2level_filename) + trace2info[trace_name] = (comp_level,no_events_cnt,events2ignore,events2chkcnt,events2chkord,events2ch) + + return trace2info + +# check trace againt golden reference and returns 0 for pass, 1 for fail +def check_trace_status(tracename, verbose): + trace2info = parse_trace_levels(trace2info_filename) + + if len(trace2info) == 0: + if verbose: + print('PASSED!') + return 0 trace = 'test/' + tracename + '.txt' rtrace = tracename + '.txt' - if os.path.basename(tracename) in trace2level: - trace_level = trace2level[os.path.basename(tracename)] - print 'Trace comparison for ' + os.path.basename(tracename) + ' is at level ' + str(trace_level) + if os.path.basename(tracename) in trace2info.keys(): + (trace_level, no_events_cnt, events2ignore, events2chkcnt, events2chkord, events2ch) = trace2info[os.path.basename(tracename)] + trace_level = trace_level.rstrip('\n') + no_events_cnt = no_events_cnt.rstrip('\n') + events2ignore = events2ignore.rstrip('\n') + events2chkcnt = events2chkcnt.rstrip('\n') + events2chkord = events2chkord.rstrip('\n') + events2ch = events2ch.rstrip('\n') else: - print 'Trace ' + os.path.basename(tracename) + ' not found in ' + trace2level_filename + ', defaulting to level 0' + print('Trace ' + os.path.basename(tracename) + ' not found in ' + trace2info_filename + ', defaulting to level 0 i.e. no trace comparison') return 1 - if trace_level == 1: - cnt_r = gen_events_info(rtrace,'cnt') - cnt = gen_events_info(trace,'cnt') - if cnt_r == cnt: - return 0 - else: - return 1 - elif trace_level == 2: - cnt_r = gen_events_info(rtrace,'or') - cnt = gen_events_info(trace,'or') - if cnt_r == cnt: - return 0 - else: - return 1 - elif trace_level == 3: + if no_events_cnt == '': + no_events_cnt = 'empty-regex' + if events2ignore == '': + events2ignore = 'empty-regex' + if events2chkcnt == '': + events2chkcnt = '' + if events2chkord == '': + events2chkord = '' + + if trace_level == '--check-none': + if verbose: + print('PASSED!') + return 0 + + if trace_level == '--check-diff': if filecmp.cmp(trace,rtrace): + if verbose: + print('PASSED!') return 0 else: + print('FAILED!') + os.system('/usr/bin/diff --brief ' + trace + ' ' + rtrace) return 1 -#Parses roctracer trace file for regression purpose -#and generates events count per event (when cnt is on) or events order per tid (when order is on) -def gen_events_info(tracefile, metric): + cnt_r = gen_events_info(rtrace,trace_level,no_events_cnt,events2ignore,events2chkcnt,events2chkord,verbose) + cnt = gen_events_info(trace,trace_level,no_events_cnt,events2ignore,events2chkcnt,events2chkord,verbose) + if cnt_r == cnt: + if verbose: + print('PASSED!') + return 0 + else: + if verbose: + print('FAILED!') + return 1 + +# Parses roctracer trace file for regression purpose +# and generates events count per event (when cnt is on) or events order per tid (when order is on) +def gen_events_info(tracefile, trace_level, no_events_cnt, events2ignore, events2chkcnt, events2chkord, verbose): + metric = '' + if trace_level == '--check-count' or trace_level == '--check-events': + metric = 'cnt' + if trace_level == '--check-order': + metric = 'or' + events_count = {} events_order = {} - res='' + res = '' + re_no_events_cnt = r'{}'.format(no_events_cnt) + re_events2ignore = r'{}'.format(events2ignore) + re_events2chkcnt = r'{}'.format(events2chkcnt) + re_events2chkord = r'{}'.format(events2chkord) + + test_act_pattern = re.compile(r'\s*(\w+)\s+.*_id\((\d+)\)$') + #' hipSetDevice correlation_id(1) time_ns(1548622357525055:1548622357542015) process_id(126283) thread_id(126283)' + #' hcCommandKernel correlation_id(6) time_ns(1548622661443020:1548622662666935) device_id(0) queue_id(0)' + test_api_cb_pattern = re.compile(r'<(\w+)\s+.*tid\((\d+)\)>') + # + # below is roctx pattern + # + tool_record = re.compile(r'\d+:\d+\s+\d+:(\d+)\s+(\w+)') + # tool_api_record + # 1822810364769411:1822810364771941 116477:116477 hsa_agent_get_info(, 17, 0x7ffeac015fec) = 0 + # tool_gpu_act_record + # 3632773658039902:3632773658046462 0:0 hcCommandMarker:273 + with open(tracefile) as f: for line in f: - event_pattern_s = re.compile(r'# START \((\d+)\) #############################') - ms = event_pattern_s.match(line) - if ms: - start_id = ms.group(1) + line=line.rstrip('\n') + event = '' + test_act_pattern_match = test_act_pattern.match(line) + if test_act_pattern_match: + event = test_act_pattern_match.group(1) + tid = int(test_act_pattern_match.group(2)) + test_api_cb_pattern_match = test_api_cb_pattern.match(line) + if test_api_cb_pattern_match: + event = test_api_cb_pattern_match.group(1) + tid = int(test_api_cb_pattern_match.group(2)) + tool_record_match = tool_record.match(line) + if tool_record_match: + event = tool_record_match.group(2) + tid = int(tool_record_match.group(1)) + if event == '' or event == '(null)': #some traces has these null events continue - event_pattern = re.compile(r'.*<(\w+)\s+id\(\d+\)\s+.*tid\((\d+)\)>') - # event_pattern extracts event(grp1) and tid (grp2) from a line like this: - # - m = event_pattern.match(line) - if m: - event = m.group(1) - tid = m.group(2) - event_pattern2 = re.compile(r'\d+:\d+\s+\d+:(\d+)\s+(\w+)') - # event_pattern2 extracts tid (grp1) and event (grp2) from a line like this: - # 1822810364769411:1822810364771941 116477:116477 hsa_agent_get_info(, 17, 0x7ffeac015fec) = 0 - m2 = event_pattern2.match(line) - if m2: - event = m2.group(2) - tid = m2.group(1) - event_pattern3 = re.compile(r'') - # event_pattern2 extracts rocTX event like: - # - # - m3 = event_pattern3.match(line) - if m3: - event = m3.group(1) - tid = start_id - if metric == 'cnt' and (m or m2 or m3): + + if re.search(re_events2ignore,event): + continue + + if metric == 'cnt' and re.search(re_events2chkcnt,event): if event in events_count: events_count[event] = events_count[event] + 1 else: events_count[event] = 1 - if metric == 'or' and (m or m2 or m3): + + if metric == 'or' and re.search(re_events2chkord,event): if tid in events_order.keys(): - events_order[tid].append(event) + if re.search(re_no_events_cnt,event): + if event != events_order[tid][-1]: #Add event only if it is not last event in the list + events_order[tid].append(event) + else: + events_order[tid].append(event) else: events_order[tid] = [event] if metric == 'cnt': for event,count in events_count.items(): - res = res + event + " : count " + str(count) + '\n' + if re.search(re_no_events_cnt,event): + res = res + event + '\n' + else: + res = res + event + " : count " + str(count) + '\n' if metric == 'or': for tid in sorted (events_order.keys()) : - #res = res + 'Events for tid ' + tid + ' are:\n' + str(events_order[tid]) + '\n' res = res + str(events_order[tid]) + if verbose: + print(res) return res - parser = argparse.ArgumentParser(description='check_trace.py: check a trace aainst golden ref. Returns 0 for success, 1 for failure') requiredNamed = parser.add_argument_group('Required arguments') requiredNamed.add_argument('-in', metavar='file', help='Name of trace to be checked', required=True) +requiredNamed.add_argument('-v', action='store_true', help='debug info', required=False) args = vars(parser.parse_args()) if __name__ == '__main__': - sys.exit(check_trace_status(args['in'])) + sys.exit(check_trace_status(args['in'],args['v'])) + diff --git a/test/MatrixTranspose_test/MatrixTranspose.cpp b/test/MatrixTranspose_test/MatrixTranspose.cpp index 18adbcfb1e..c529404ed1 100644 --- a/test/MatrixTranspose_test/MatrixTranspose.cpp +++ b/test/MatrixTranspose_test/MatrixTranspose.cpp @@ -259,24 +259,24 @@ void api_callback( if (domain == ACTIVITY_DOMAIN_ROCTX) { const roctx_api_data_t* data = (const roctx_api_data_t*)(callback_data); - fprintf(stdout, "\n", data->args.message); + fprintf(stdout, "<%s pid(%d) tid(%d)>\n", data->args.message, GetPid(), GetTid()); return; } if (domain == ACTIVITY_DOMAIN_KFD_API) { const kfd_api_data_t* data = (const kfd_api_data_t*)(callback_data); - fprintf(stdout, "<%s id(%u)\tcorrelation_id(%lu) %s>\n", + fprintf(stdout, "<%s id(%u)\tcorrelation_id(%lu) %s pid(%d) tid(%d)>\n", roctracer_op_string(ACTIVITY_DOMAIN_KFD_API, cid, 0), cid, data->correlation_id, - (data->phase == ACTIVITY_API_PHASE_ENTER) ? "on-enter" : "on-exit"); + (data->phase == ACTIVITY_API_PHASE_ENTER) ? "on-enter" : "on-exit", GetPid(), GetTid()); return; } const hip_api_data_t* data = (const hip_api_data_t*)(callback_data); - SPRINT("<%s id(%u)\tcorrelation_id(%lu) %s> ", + SPRINT("<%s id(%u)\tcorrelation_id(%lu) %s pid(%d) tid(%d)> ", roctracer_op_string(ACTIVITY_DOMAIN_HIP_API, cid, 0), cid, data->correlation_id, - (data->phase == ACTIVITY_API_PHASE_ENTER) ? "on-enter" : "on-exit"); + (data->phase == ACTIVITY_API_PHASE_ENTER) ? "on-enter" : "on-exit", GetPid(), GetTid()); if (data->phase == ACTIVITY_API_PHASE_ENTER) { switch (cid) { case HIP_API_ID_hipMemcpy: @@ -408,3 +408,5 @@ void start_tracing() {} void stop_tracing() {} #endif //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + + diff --git a/test/golden_traces/tests_trace_cmp_levels.txt b/test/golden_traces/tests_trace_cmp_levels.txt index 5968512089..31c63628e5 100644 --- a/test/golden_traces/tests_trace_cmp_levels.txt +++ b/test/golden_traces/tests_trace_cmp_levels.txt @@ -1,11 +1,11 @@ -MatrixTranspose_ctest_trace 3 -MatrixTranspose_test_trace 1 -MatrixTranspose_hipaact_test_trace 1 -MatrixTranspose_mgpu_trace 1 -MatrixTranspose_kfd_trace 0 -MatrixTranspose_sys_trace 0 -MatrixTranspose_sys_hsa_trace 0 -MatrixTranspose_hip_period_trace 0 -MatrixTranspose_hip_flush_trace 0 -ctrl_hsa_trace 1 -ctrl_hsa_input_trace 2 +# dummy +MatrixTranspose_ctest_trace --check-diff +MatrixTranspose_test_trace --check-count .* --ignore-count hsaKmt.* +MatrixTranspose_mgpu_trace --check-count .* --ignore-count hsaKmt.* +MatrixTranspose_sys_trace --check-count .* --ignore-count hsa_.* +MatrixTranspose_sys_hsa_trace --check-count .* --ignore-count hsa_.* +MatrixTranspose_hip_period_trace --check-events .* --ignore-event hipMalloc|hipFree +MatrixTranspose_hip_flush_trace --check-order .* +MatrixTranspose_kfd_trace --check-events .* +ctrl_hsa_trace --check-count .* +ctrl_hsa_input_trace --check-count .* From c956bb9c6b31a147f288a670f39fc52bc66da371 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Tue, 19 May 2020 17:20:25 -0500 Subject: [PATCH 386/691] fix hsa_path Change-Id: I07c6a504ec1892f314fcbb207656baaf0e356864 --- test/CMakeLists.txt | 4 ++-- test/MatrixTranspose/Makefile | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index f43d628c96..dd8c224537 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -31,9 +31,9 @@ set ( HSA_REV "48bd999" ) set ( RUN_SCRIPT "${TEST_DIR}/run.sh" ) ## build HIP tests -set ( TEST_ENV HIP_VDI=${HIP_VDI} ROCM_INC_PATH=${ROCM_INC_PATH} ROCM_PATH=${ROCM_ROOT_DIR} HIPCC_VERBOSE=3 ) +set ( TEST_ENV HIP_VDI=${HIP_VDI} ROCM_INC_PATH=${ROCM_INC_PATH} ROCM_PATH=${ROCM_ROOT_DIR} HSA_PATH=${ROCM_ROOT_DIR}/hsa HIPCC_VERBOSE=3 ) add_custom_target( mytest - COMMAND make -C "${TEST_DIR}/MatrixTranspose" + COMMAND ${TEST_ENV} make -C "${TEST_DIR}/MatrixTranspose" COMMAND sh -xc "cp ${TEST_DIR}/MatrixTranspose/MatrixTranspose ${PROJECT_BINARY_DIR}/test" COMMAND ${TEST_ENV} make -C "${TEST_DIR}/MatrixTranspose_test" COMMAND sh -xc "cp ${TEST_DIR}/MatrixTranspose_test/MatrixTranspose ${PROJECT_BINARY_DIR}/test/MatrixTranspose_test" diff --git a/test/MatrixTranspose/Makefile b/test/MatrixTranspose/Makefile index 63fae09943..bc4ed1781d 100644 --- a/test/MatrixTranspose/Makefile +++ b/test/MatrixTranspose/Makefile @@ -28,6 +28,7 @@ $(EXECUTABLE): $(OBJECTS) $(HIPCC) $(OBJECTS) -o $@ $(ROC_LIBS) test: $(EXECUTABLE) + env $(EXECUTABLE) From 7c5cfafa30436141cf61895a498598dc1e4c4fc5 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Wed, 20 May 2020 00:44:58 -0500 Subject: [PATCH 387/691] fising mytest environment Change-Id: Ic48c95e711758c3e448c317bc78c1bceeb22362c --- test/CMakeLists.txt | 2 +- test/MatrixTranspose/Makefile | 8 ++++---- test/MatrixTranspose_test/Makefile | 12 +++++++----- 3 files changed, 12 insertions(+), 10 deletions(-) diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index dd8c224537..c84dde5d65 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -31,7 +31,7 @@ set ( HSA_REV "48bd999" ) set ( RUN_SCRIPT "${TEST_DIR}/run.sh" ) ## build HIP tests -set ( TEST_ENV HIP_VDI=${HIP_VDI} ROCM_INC_PATH=${ROCM_INC_PATH} ROCM_PATH=${ROCM_ROOT_DIR} HSA_PATH=${ROCM_ROOT_DIR}/hsa HIPCC_VERBOSE=3 ) +set ( TEST_ENV HIP_VDI=${HIP_VDI} ROCM_PATH=${ROCM_ROOT_DIR} HSA_PATH=${ROCM_ROOT_DIR}/hsa ROOT_PATH=${ROOT_DIR} LIB_PATH=${PROJECT_BINARY_DIR} HIPCC_VERBOSE=3 ) add_custom_target( mytest COMMAND ${TEST_ENV} make -C "${TEST_DIR}/MatrixTranspose" COMMAND sh -xc "cp ${TEST_DIR}/MatrixTranspose/MatrixTranspose ${PROJECT_BINARY_DIR}/test" diff --git a/test/MatrixTranspose/Makefile b/test/MatrixTranspose/Makefile index bc4ed1781d..1031158348 100644 --- a/test/MatrixTranspose/Makefile +++ b/test/MatrixTranspose/Makefile @@ -1,8 +1,8 @@ -ROOT_PATH = ../.. -LIB_PATH = $(ROOT_PATH)/build +ROOT_PATH ?= ../.. +LIB_PATH ?= $(ROOT_PATH)/build ROC_LIBS = -Wl,--rpath,${LIB_PATH} $(LIB_PATH)/libroctracer64.so $(LIB_PATH)/libroctx64.so -HIP_PATH?= $(wildcard /opt/rocm/hip) +HIP_PATH ?= $(wildcard /opt/rocm/hip) ifeq (,$(HIP_PATH)) HIP_PATH=../../.. endif @@ -25,10 +25,10 @@ CXXFLAGS =-g -I$(ROOT_PATH) -I$(ROOT_PATH)/inc -DLOCAL_BUILD=1 CXX=$(HIPCC) $(EXECUTABLE): $(OBJECTS) + /usr/bin/env $(HIPCC) $(OBJECTS) -o $@ $(ROC_LIBS) test: $(EXECUTABLE) - env $(EXECUTABLE) diff --git a/test/MatrixTranspose_test/Makefile b/test/MatrixTranspose_test/Makefile index 4e3cfb8b33..ad439d5a2e 100644 --- a/test/MatrixTranspose_test/Makefile +++ b/test/MatrixTranspose_test/Makefile @@ -1,11 +1,13 @@ -ROOT_PATH = ../.. -LIB_PATH = $(ROOT_PATH)/build -ROC_LIBS = -Wl,--rpath,${LIB_PATH} $(LIB_PATH)/libroctracer64.so $(LIB_PATH)/libroctx64.so -ROCM_INC_PATH ?= /opt/rocm/include +ROOT_PATH ?= ../.. +LIB_PATH ?= $(ROOT_PATH)/build +ROCM_PATH ?= /opt/rocm HIP_VDI ?= 0 ITERATIONS ?= 100 -HIP_PATH?= $(wildcard /opt/rocm/hip) +ROC_LIBS = -Wl,--rpath,${LIB_PATH} $(LIB_PATH)/libroctracer64.so $(LIB_PATH)/libroctx64.so +ROCM_INC_PATH = $(ROCM_PATH)/include + +HIP_PATH ?= $(wildcard /opt/rocm/hip) ifeq (,$(HIP_PATH)) HIP_PATH=../../.. endif From da4b2448875c4919bd69c2a08c0f67a7d1b7535a Mon Sep 17 00:00:00 2001 From: Evgeny Date: Thu, 21 May 2020 11:51:17 -0500 Subject: [PATCH 388/691] renaming PCSAMPLE API as RESERVED1 Change-Id: I0f95e4be5b359dc36fc3542bf0e321094db78a79 --- inc/roctracer_hsa.h | 2 +- test/MatrixTranspose_test/MatrixTranspose.cpp | 2 +- test/tool/tracer_tool.cpp | 6 +++--- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/inc/roctracer_hsa.h b/inc/roctracer_hsa.h index 2704850646..26fb8a971e 100644 --- a/inc/roctracer_hsa.h +++ b/inc/roctracer_hsa.h @@ -33,7 +33,7 @@ enum hsa_op_id_t { HSA_OP_ID_DISPATCH = 0, HSA_OP_ID_COPY = 1, HSA_OP_ID_BARRIER = 2, - HSA_OP_ID_PCSAMPLE = 3, + HSA_OP_ID_RESERVED1 = 3, HSA_OP_ID_NUMBER = 4 }; diff --git a/test/MatrixTranspose_test/MatrixTranspose.cpp b/test/MatrixTranspose_test/MatrixTranspose.cpp index c529404ed1..94c872f6b3 100644 --- a/test/MatrixTranspose_test/MatrixTranspose.cpp +++ b/test/MatrixTranspose_test/MatrixTranspose.cpp @@ -374,7 +374,7 @@ void init_tracing() { #endif ROCTRACER_CALL(roctracer_enable_domain_activity(ACTIVITY_DOMAIN_HCC_OPS)); // Enable PC sampling - ROCTRACER_CALL(roctracer_enable_op_activity(ACTIVITY_DOMAIN_HSA_OPS, HSA_OP_ID_PCSAMPLE)); + ROCTRACER_CALL(roctracer_enable_op_activity(ACTIVITY_DOMAIN_HSA_OPS, HSA_OP_ID_RESERVED1)); // Enable KFD API tracing ROCTRACER_CALL(roctracer_enable_domain_callback(ACTIVITY_DOMAIN_KFD_API, api_callback, NULL)); // Enable rocTX diff --git a/test/tool/tracer_tool.cpp b/test/tool/tracer_tool.cpp index dea72aa8d3..b14c9dd154 100644 --- a/test/tool/tracer_tool.cpp +++ b/test/tool/tracer_tool.cpp @@ -518,7 +518,7 @@ void pool_activity_callback(const char* begin, const char* end, void* arg) { fflush(hcc_activity_file_handle); break; case ACTIVITY_DOMAIN_HSA_OPS: - if (record->op == HSA_OP_ID_PCSAMPLE) { + if (record->op == HSA_OP_ID_RESERVED1) { fprintf(pc_sample_file_handle, "%u %lu 0x%lx %s\n", record->pc_sample.se, record->pc_sample.cycle, record->pc_sample.pc, name); fflush(pc_sample_file_handle); @@ -955,8 +955,8 @@ extern "C" PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, if (trace_pcs) { fprintf(stdout, " PCS-trace()\n"); fflush(stdout); open_tracing_pool(); - pc_sample_file_handle = open_output_file(output_prefix, "pc_sample_trace.txt"); - ROCTRACER_CALL(roctracer_enable_op_activity(ACTIVITY_DOMAIN_HSA_OPS, HSA_OP_ID_PCSAMPLE)); + pc_sample_file_handle = open_output_file(output_prefix, "pcs_trace.txt"); + ROCTRACER_CALL(roctracer_enable_op_activity(ACTIVITY_DOMAIN_HSA_OPS, HSA_OP_ID_RESERVED1)); } ONLOAD_TRACE_END(); From 9d4a58f6da77509a192029c7ab41853b7e160d61 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Wed, 27 May 2020 04:21:31 -0500 Subject: [PATCH 389/691] disabling kernel name printing for kernel launches by func pointer and ostream operator template Change-Id: Icbcedafb1812a1be03837f6cb47283eb0d382ad2 --- script/gen_ostream_ops.py | 6 +++++- test/tool/tracer_tool.cpp | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/script/gen_ostream_ops.py b/script/gen_ostream_ops.py index aa7d566e89..c59d2a2117 100755 --- a/script/gen_ostream_ops.py +++ b/script/gen_ostream_ops.py @@ -85,7 +85,11 @@ header = \ header_hip = \ 'template \n' + \ -' std::ostream& operator<<(std::ostream& out, const T& v) { using std::operator<<; out << v; return out; }\n' + \ +' std::ostream& operator<<(std::ostream& out, const T& v) {\n' + \ +' using std::operator<<;\n' + \ +' static bool recursion = false;\n' + \ +' if (recursion == false) { recursion = true; out << v; recursion = false; }\n' + \ +' return out; }\n' + \ 'std::ostream& operator<<(std::ostream& out, void* v) { using std::operator<<; out << std::hex << v; return out; }\n' + \ 'std::ostream& operator<<(std::ostream& out, const void* v) { using std::operator<<; out << std::hex << v; return out; }\n' + \ 'std::ostream& operator<<(std::ostream& out, bool v) { using std::operator<<; out << std::hex << ""; return out; }\n' + \ diff --git a/test/tool/tracer_tool.cpp b/test/tool/tracer_tool.cpp index b14c9dd154..c5ed7a840d 100644 --- a/test/tool/tracer_tool.cpp +++ b/test/tool/tracer_tool.cpp @@ -346,7 +346,7 @@ roctracer::TraceBuffer hip_api_trace_buffer("HIP", 0x2000 static inline bool is_hip_kernel_launch_api(const uint32_t& cid) { bool ret = -#if HIP_VDI +#if 0 // HIP_VDI (cid == HIP_API_ID_hipLaunchKernel) || (cid == HIP_API_ID_hipExtLaunchMultiKernelMultiDevice) || (cid == HIP_API_ID_hipLaunchCooperativeKernel) || From 157bceebdfe8b7e9c52992f5ac24816c5a6c0eda Mon Sep 17 00:00:00 2001 From: Evgeny Date: Wed, 27 May 2020 01:38:40 -0500 Subject: [PATCH 390/691] testing fix Change-Id: I4950c3ddeb79947eb311c4f008ad91b7311bb9b3 --- test/MatrixTranspose_test/Makefile | 5 ++--- test/MatrixTranspose_test/MatrixTranspose.cpp | 12 +++++------- 2 files changed, 7 insertions(+), 10 deletions(-) diff --git a/test/MatrixTranspose_test/Makefile b/test/MatrixTranspose_test/Makefile index ad439d5a2e..007dde4802 100644 --- a/test/MatrixTranspose_test/Makefile +++ b/test/MatrixTranspose_test/Makefile @@ -5,7 +5,6 @@ HIP_VDI ?= 0 ITERATIONS ?= 100 ROC_LIBS = -Wl,--rpath,${LIB_PATH} $(LIB_PATH)/libroctracer64.so $(LIB_PATH)/libroctx64.so -ROCM_INC_PATH = $(ROCM_PATH)/include HIP_PATH ?= $(wildcard /opt/rocm/hip) ifeq (,$(HIP_PATH)) @@ -17,12 +16,12 @@ TARGET=hcc EXECUTABLE=./MatrixTranspose OBJECTS = MatrixTranspose.o -FLAGS =-g -I$(ROOT_PATH) -I$(ROOT_PATH)/inc -I${ROCM_INC_PATH}/hsa -I${ROCM_INC_PATH} -DLOCAL_BUILD=1 -DHIP_VDI=${HIP_VDI} -DITERATIONS=$(ITERATIONS) -DAMD_INTERNAL_BUILD=1 +FLAGS =-g -I$(ROOT_PATH) -I$(ROOT_PATH)/inc -I$(ROCM_PATH)/hsa/include/hsa -I$(ROCM_PATH)/hsa/include -I$(ROCM_PATH)/hip/include -I$(ROCM_PATH)/include -DLOCAL_BUILD=1 -DHIP_VDI=${HIP_VDI} -DITERATIONS=$(ITERATIONS) -DAMD_INTERNAL_BUILD=1 ifeq ($(C_TEST), 1) COMP=${CC} SOURCES = MatrixTranspose.c - FLAGS += -DHIP_TEST=0 -D__HIP_PLATFORM_HCC__=1 -I${ROCM_INC_PATH}/hcc + FLAGS += -DHIP_TEST=0 -D__HIP_PLATFORM_HCC__=1 else COMP=$(HIPCC) SOURCES = MatrixTranspose.cpp diff --git a/test/MatrixTranspose_test/MatrixTranspose.cpp b/test/MatrixTranspose_test/MatrixTranspose.cpp index 94c872f6b3..4a1b5a6e0b 100644 --- a/test/MatrixTranspose_test/MatrixTranspose.cpp +++ b/test/MatrixTranspose_test/MatrixTranspose.cpp @@ -259,24 +259,24 @@ void api_callback( if (domain == ACTIVITY_DOMAIN_ROCTX) { const roctx_api_data_t* data = (const roctx_api_data_t*)(callback_data); - fprintf(stdout, "<%s pid(%d) tid(%d)>\n", data->args.message, GetPid(), GetTid()); + fprintf(stdout, "\n", data->args.message); return; } if (domain == ACTIVITY_DOMAIN_KFD_API) { const kfd_api_data_t* data = (const kfd_api_data_t*)(callback_data); - fprintf(stdout, "<%s id(%u)\tcorrelation_id(%lu) %s pid(%d) tid(%d)>\n", + fprintf(stdout, "<%s id(%u)\tcorrelation_id(%lu) %s>\n", roctracer_op_string(ACTIVITY_DOMAIN_KFD_API, cid, 0), cid, data->correlation_id, - (data->phase == ACTIVITY_API_PHASE_ENTER) ? "on-enter" : "on-exit", GetPid(), GetTid()); + (data->phase == ACTIVITY_API_PHASE_ENTER) ? "on-enter" : "on-exit"); return; } const hip_api_data_t* data = (const hip_api_data_t*)(callback_data); - SPRINT("<%s id(%u)\tcorrelation_id(%lu) %s pid(%d) tid(%d)> ", + SPRINT("<%s id(%u)\tcorrelation_id(%lu) %s> ", roctracer_op_string(ACTIVITY_DOMAIN_HIP_API, cid, 0), cid, data->correlation_id, - (data->phase == ACTIVITY_API_PHASE_ENTER) ? "on-enter" : "on-exit", GetPid(), GetTid()); + (data->phase == ACTIVITY_API_PHASE_ENTER) ? "on-enter" : "on-exit"); if (data->phase == ACTIVITY_API_PHASE_ENTER) { switch (cid) { case HIP_API_ID_hipMemcpy: @@ -408,5 +408,3 @@ void start_tracing() {} void stop_tracing() {} #endif //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - - From 511f659a8eb655f0b46816c11a82a72db81e48c1 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Thu, 28 May 2020 10:07:50 -0500 Subject: [PATCH 391/691] hipLaunchKernel kernel name fix Change-Id: I59c63ec34f77fe39ed1edc8b6395db3871004e40 --- src/core/loader.h | 3 +++ test/tool/tracer_tool.cpp | 12 ++++++++---- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/src/core/loader.h b/src/core/loader.h index 928adef561..413fe2f98b 100644 --- a/src/core/loader.h +++ b/src/core/loader.h @@ -114,6 +114,7 @@ class HipApi { typedef decltype(hipRegisterActivityCallback) RegisterActivityCallback_t; typedef decltype(hipRemoveActivityCallback) RemoveActivityCallback_t; typedef decltype(hipKernelNameRef) KernelNameRef_t; + typedef decltype(hipKernelNameRefByPtr) KernelNameRefByPtr_t; typedef decltype(hipApiName) ApiName_t; RegisterApiCallback_t* RegisterApiCallback; @@ -121,6 +122,7 @@ class HipApi { RegisterActivityCallback_t* RegisterActivityCallback; RemoveActivityCallback_t* RemoveActivityCallback; KernelNameRef_t* KernelNameRef; + KernelNameRefByPtr_t* KernelNameRefByPtr; ApiName_t* ApiName; protected: @@ -130,6 +132,7 @@ class HipApi { RegisterActivityCallback = loader->GetFun("hipRegisterActivityCallback"); RemoveActivityCallback = loader->GetFun("hipRemoveActivityCallback"); KernelNameRef = loader->GetFun("hipKernelNameRef"); + KernelNameRefByPtr = loader->GetFun("hipKernelNameRefByPtr"); ApiName = loader->GetFun("hipApiName"); } }; diff --git a/test/tool/tracer_tool.cpp b/test/tool/tracer_tool.cpp index c5ed7a840d..cdbdbab4e8 100644 --- a/test/tool/tracer_tool.cpp +++ b/test/tool/tracer_tool.cpp @@ -347,11 +347,11 @@ roctracer::TraceBuffer hip_api_trace_buffer("HIP", 0x2000 static inline bool is_hip_kernel_launch_api(const uint32_t& cid) { bool ret = #if 0 // HIP_VDI - (cid == HIP_API_ID_hipLaunchKernel) || (cid == HIP_API_ID_hipExtLaunchMultiKernelMultiDevice) || (cid == HIP_API_ID_hipLaunchCooperativeKernel) || (cid == HIP_API_ID_hipLaunchCooperativeKernelMultiDevice) || #endif + (cid == HIP_API_ID_hipLaunchKernel) || (cid == HIP_API_ID_hipModuleLaunchKernel) || (cid == HIP_API_ID_hipExtModuleLaunchKernel) || (cid == HIP_API_ID_hipHccModuleLaunchKernel); @@ -387,9 +387,13 @@ void hip_api_callback( if (cid == HIP_API_ID_hipMalloc) { entry->ptr = *(data->args.hipMalloc.ptr); } else if (is_hip_kernel_launch_api(cid)) { - const hipFunction_t f = data->args.hipModuleLaunchKernel.f; - if (f != NULL) { - entry->name = strdup(roctracer::HipLoader::Instance().KernelNameRef(f)); + if (cid == HIP_API_ID_hipLaunchKernel) { + const void* f = data->args.hipLaunchKernel.function_address; + hipStream_t stream = data->args.hipLaunchKernel.stream; + if (f != NULL) entry->name = strdup(roctracer::HipLoader::Instance().KernelNameRefByPtr(f, stream)); + } else { + const hipFunction_t f = data->args.hipModuleLaunchKernel.f; + if (f != NULL) entry->name = strdup(roctracer::HipLoader::Instance().KernelNameRef(f)); } } } From 1e7650074a8f3c93683a8f51c1d3c7d10ad8cfa7 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Fri, 29 May 2020 16:09:13 -0500 Subject: [PATCH 392/691] fixin build: check script residing in build area Change-Id: I1a3d794b24c7506d5e24c341c61fe45b31238002 --- test/CMakeLists.txt | 2 ++ test/run.sh | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index c84dde5d65..8ae06382ab 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -66,3 +66,5 @@ add_subdirectory ( ${TEST_DIR} ${PROJECT_BINARY_DIR}/test/hsa ) ## copying run script execute_process ( COMMAND sh -xc "cp ${RUN_SCRIPT} ${PROJECT_BINARY_DIR}" ) +## copying tests output check script +execute_process ( COMMAND sh -xc "cp ${ROOT_DIR}/script/check_trace.py ${PROJECT_BINARY_DIR}/test/." ) diff --git a/test/run.sh b/test/run.sh index 87389fc344..38a8d48dd6 100755 --- a/test/run.sh +++ b/test/run.sh @@ -60,7 +60,7 @@ eval_test() { eval "$cmdline" | tee $test_trace is_failed=$? if [ $is_failed = 0 ] ; then - python ../script/check_trace.py -in $test_name + python ./test/check_trace.py -in $test_name is_failed=$? fi if [ $is_failed = 0 ] ; then @@ -79,7 +79,7 @@ eval_test() { # rocTrecer is used explicitely by test eval_test "standalone C test" "LD_PRELOAD=libkfdwrapper64.so ./test/MatrixTranspose_ctest" MatrixTranspose_ctest_trace eval_test "standalone HIP test" "LD_PRELOAD=libkfdwrapper64.so ./test/MatrixTranspose_test" MatrixTranspose_test_trace -eval_test "standalone HIP test" "LD_PRELOAD=libkfdwrapper64.so ./test/MatrixTranspose_hipaact_test" MatrixTranspose_hipaact_test_trace +eval_test "standalone HIP hipaact test" "LD_PRELOAD=libkfdwrapper64.so ./test/MatrixTranspose_hipaact_test" MatrixTranspose_hipaact_test_trace eval_test "standalone HIP MGPU test" "LD_PRELOAD=libkfdwrapper64.so ./test/MatrixTranspose_mgpu" MatrixTranspose_mgpu_trace # Tool test From 8d0801de7532cb76cb80e5600706781858cb810b Mon Sep 17 00:00:00 2001 From: Evgeny Date: Mon, 1 Jun 2020 12:54:35 -0500 Subject: [PATCH 393/691] run test environment Change-Id: If4b780357c807f88d09d7728d13d3c616b424474 --- defaults.sh | 1 + test/run.sh | 7 ++++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/defaults.sh b/defaults.sh index d6d21b9506..93361e72f0 100644 --- a/defaults.sh +++ b/defaults.sh @@ -1,2 +1,3 @@ BUILD_DIR=build TO_CLEAN=yes +HIP_VDI=1 diff --git a/test/run.sh b/test/run.sh index 38a8d48dd6..cd3d2404be 100755 --- a/test/run.sh +++ b/test/run.sh @@ -29,7 +29,12 @@ cd $BIN_DIR # enable tools load failure reporting export HSA_TOOLS_REPORT_LOAD_FAILURE=1 # paths to ROC profiler and other libraries -export LD_LIBRARY_PATH=$PWD +if [ -n "$ROCTRACER_ROOT" ] ; then + export LD_LIBRARY_PATH=$PWD/../../build/roctracer +else + export LD_LIBRARY_PATH=$PWD +fi +env # test filter input test_filter=-1 From 07479cf88195e5ee1f9c421c79c8496c5055c653 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Tue, 2 Jun 2020 05:10:02 -0500 Subject: [PATCH 394/691] adding tracer flush/unload stage unloading Change-Id: Id84774b2ce20b261a9a84d2ad802b76093a748d4 --- inc/roctracer.h | 1 + src/core/roctracer.cpp | 7 ++++++- test/tool/tracer_tool.cpp | 3 +++ 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/inc/roctracer.h b/inc/roctracer.h index cc96b455d9..36fa080578 100644 --- a/inc/roctracer.h +++ b/inc/roctracer.h @@ -253,6 +253,7 @@ roctracer_status_t roctracer_get_timestamp( // Load/Unload methods bool roctracer_load(); void roctracer_unload(); +void roctracer_flush_buf(); // Set properties roctracer_status_t roctracer_set_properties( diff --git a/src/core/roctracer.cpp b/src/core/roctracer.cpp index 94c19a36b3..2d15bbba38 100644 --- a/src/core/roctracer.cpp +++ b/src/core/roctracer.cpp @@ -1283,11 +1283,16 @@ PUBLIC_API void roctracer_unload() { roctracer::act_journal = NULL; } - roctracer::trace_buffer.Flush(); roctracer::close_output_file(roctracer::kernel_file_handle); ONLOAD_TRACE_END(); } +PUBLIC_API void roctracer_flush_buf() { + ONLOAD_TRACE_BEG(); + roctracer::trace_buffer.Flush(); + ONLOAD_TRACE_END(); +} + CONSTRUCTOR_API void constructor() { ONLOAD_TRACE_BEG(); roctracer::util::Logger::Create(); diff --git a/test/tool/tracer_tool.cpp b/test/tool/tracer_tool.cpp index cdbdbab4e8..78d7f92f2e 100644 --- a/test/tool/tracer_tool.cpp +++ b/test/tool/tracer_tool.cpp @@ -974,12 +974,15 @@ extern "C" PUBLIC_API void OnUnload() { extern "C" CONSTRUCTOR_API void constructor() { ONLOAD_TRACE_BEG(); + roctracer_load(); tool_load(); ONLOAD_TRACE_END(); } extern "C" DESTRUCTOR_API void destructor() { ONLOAD_TRACE_BEG(); + roctracer_flush_buf(); tool_unload(); + roctracer_unload(); ONLOAD_TRACE_END(); } From 84ed8c4b633c151979a25bf06fbc50fddbaa63c3 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Wed, 3 Jun 2020 03:26:36 -0500 Subject: [PATCH 395/691] adding proc-id to activity events Change-Id: I83b587651819a7cb08ffdd5f85bfe82927521720 --- test/tool/tracer_tool.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/test/tool/tracer_tool.cpp b/test/tool/tracer_tool.cpp index 78d7f92f2e..53c14df57f 100644 --- a/test/tool/tracer_tool.cpp +++ b/test/tool/tracer_tool.cpp @@ -119,6 +119,8 @@ void close_file_handles() { static inline uint32_t GetPid() { return syscall(__NR_getpid); } static inline uint32_t GetTid() { return syscall(__NR_gettid); } +static const uint32_t my_pid = GetPid(); + // Error handler void fatal(const std::string msg) { close_file_handles(); @@ -515,10 +517,10 @@ void pool_activity_callback(const char* begin, const char* end, void* arg) { const char * name = roctracer_op_string(record->domain, record->op, record->kind); switch(record->domain) { case ACTIVITY_DOMAIN_HCC_OPS: - fprintf(hcc_activity_file_handle, "%lu:%lu %d:%lu %s:%lu\n", + fprintf(hcc_activity_file_handle, "%lu:%lu %d:%lu %s:%lu:%u\n", record->begin_ns, record->end_ns, record->device_id, record->queue_id, - name, record->correlation_id); + name, record->correlation_id, my_pid); fflush(hcc_activity_file_handle); break; case ACTIVITY_DOMAIN_HSA_OPS: From d2135ad2c848b1f3205a1d04f043a70d6a0200ab Mon Sep 17 00:00:00 2001 From: Evgeny Date: Thu, 4 Jun 2020 17:31:18 -0500 Subject: [PATCH 396/691] CI run script version Change-Id: I0e806854eb7db12656f7f1770642f20247fa6734 --- test/CMakeLists.txt | 1 + test/run.sh | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 8ae06382ab..1f83e60975 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -66,5 +66,6 @@ add_subdirectory ( ${TEST_DIR} ${PROJECT_BINARY_DIR}/test/hsa ) ## copying run script execute_process ( COMMAND sh -xc "cp ${RUN_SCRIPT} ${PROJECT_BINARY_DIR}" ) +execute_process ( COMMAND sh -xc "ln -s run.sh ${PROJECT_BINARY_DIR}/run_ci.sh" ) ## copying tests output check script execute_process ( COMMAND sh -xc "cp ${ROOT_DIR}/script/check_trace.py ${PROJECT_BINARY_DIR}/test/." ) diff --git a/test/run.sh b/test/run.sh index cd3d2404be..af1fd7effb 100755 --- a/test/run.sh +++ b/test/run.sh @@ -23,13 +23,14 @@ ################################################################################ # cd to build directory +BIN_NAME=`basename $0` BIN_DIR=`dirname $0` cd $BIN_DIR # enable tools load failure reporting export HSA_TOOLS_REPORT_LOAD_FAILURE=1 # paths to ROC profiler and other libraries -if [ -n "$ROCTRACER_ROOT" ] ; then +if [ "$BIN_NAME" = "run_ci.sh" ] ; then export LD_LIBRARY_PATH=$PWD/../../build/roctracer else export LD_LIBRARY_PATH=$PWD From f2d3fd943deff0e823fb237904b3ec00493c67c2 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Tue, 9 Jun 2020 19:31:37 -0500 Subject: [PATCH 397/691] packaging fix1 Change-Id: Ifc8941b2a720628d76e0697debe6a861fa349b2b --- DEBIAN/postinst | 5 +---- RPM/rpm_post | 5 +---- 2 files changed, 2 insertions(+), 8 deletions(-) diff --git a/DEBIAN/postinst b/DEBIAN/postinst index f14a4ee14c..141a4de6ec 100644 --- a/DEBIAN/postinst +++ b/DEBIAN/postinst @@ -3,10 +3,7 @@ set -e do_ldconfig() { - INSTALL_PATH=/opt/rocm/roctracer - if [ -e "${INSTALL_PATH}" ] ; then - echo /opt/rocm/roctracer/lib > /etc/ld.so.conf.d/libroctracer64.conf && ldconfig - fi + echo /opt/rocm/roctracer/lib > /etc/ld.so.conf.d/libroctracer64.conf && ldconfig } case "$1" in diff --git a/RPM/rpm_post b/RPM/rpm_post index 1e5e279075..a19ea861f1 100644 --- a/RPM/rpm_post +++ b/RPM/rpm_post @@ -1,4 +1 @@ -INSTALL_PATH=/opt/rocm/roctracer -if [ -e "${INSTALL_PATH}" ] ; then - echo /opt/rocm/roctracer/lib > /etc/ld.so.conf.d/libroctracer64.conf && ldconfig -fi +echo /opt/rocm/roctracer/lib > /etc/ld.so.conf.d/libroctracer64.conf && ldconfig From 5a0fd11cf8065710d3466654e2269d4190e0239a Mon Sep 17 00:00:00 2001 From: Evgeny Date: Wed, 10 Jun 2020 10:01:35 -0500 Subject: [PATCH 398/691] run_ci fix Change-Id: Ibf07cb92c55790be723dc2e97d09f3232983747e --- test/run.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/run.sh b/test/run.sh index af1fd7effb..2674226886 100755 --- a/test/run.sh +++ b/test/run.sh @@ -31,7 +31,7 @@ cd $BIN_DIR export HSA_TOOLS_REPORT_LOAD_FAILURE=1 # paths to ROC profiler and other libraries if [ "$BIN_NAME" = "run_ci.sh" ] ; then - export LD_LIBRARY_PATH=$PWD/../../build/roctracer + export LD_LIBRARY_PATH=/opt/rocm/roctracer/lib else export LD_LIBRARY_PATH=$PWD fi From 64ee8f29efee3a53f1c4bb041dba4b9a8a812712 Mon Sep 17 00:00:00 2001 From: Rachida Kebichi Date: Tue, 2 Jun 2020 13:47:21 -0400 Subject: [PATCH 399/691] support for hip multi kernels Change-Id: Idc8945f924ceb35081e153921181b96ee5f653b6 --- src/core/loader.h | 3 +++ test/tool/tracer_tool.cpp | 43 +++++++++++++++++++++++++++++---------- 2 files changed, 35 insertions(+), 11 deletions(-) diff --git a/src/core/loader.h b/src/core/loader.h index 413fe2f98b..d73bc383a6 100644 --- a/src/core/loader.h +++ b/src/core/loader.h @@ -115,6 +115,7 @@ class HipApi { typedef decltype(hipRemoveActivityCallback) RemoveActivityCallback_t; typedef decltype(hipKernelNameRef) KernelNameRef_t; typedef decltype(hipKernelNameRefByPtr) KernelNameRefByPtr_t; + typedef decltype(hipGetStreamDeviceId) GetStreamDeviceId_t; typedef decltype(hipApiName) ApiName_t; RegisterApiCallback_t* RegisterApiCallback; @@ -123,6 +124,7 @@ class HipApi { RemoveActivityCallback_t* RemoveActivityCallback; KernelNameRef_t* KernelNameRef; KernelNameRefByPtr_t* KernelNameRefByPtr; + GetStreamDeviceId_t* GetStreamDeviceId; ApiName_t* ApiName; protected: @@ -133,6 +135,7 @@ class HipApi { RemoveActivityCallback = loader->GetFun("hipRemoveActivityCallback"); KernelNameRef = loader->GetFun("hipKernelNameRef"); KernelNameRefByPtr = loader->GetFun("hipKernelNameRefByPtr"); + GetStreamDeviceId = loader->GetFun("hipGetStreamDeviceId"); ApiName = loader->GetFun("hipApiName"); } }; diff --git a/test/tool/tracer_tool.cpp b/test/tool/tracer_tool.cpp index 53c14df57f..18ea69d118 100644 --- a/test/tool/tracer_tool.cpp +++ b/test/tool/tracer_tool.cpp @@ -348,12 +348,10 @@ roctracer::TraceBuffer hip_api_trace_buffer("HIP", 0x2000 static inline bool is_hip_kernel_launch_api(const uint32_t& cid) { bool ret = -#if 0 // HIP_VDI - (cid == HIP_API_ID_hipExtLaunchMultiKernelMultiDevice) || + (cid == HIP_API_ID_hipLaunchKernel) || (cid == HIP_API_ID_hipLaunchCooperativeKernel) || (cid == HIP_API_ID_hipLaunchCooperativeKernelMultiDevice) || -#endif - (cid == HIP_API_ID_hipLaunchKernel) || + (cid == HIP_API_ID_hipExtLaunchMultiKernelMultiDevice) || (cid == HIP_API_ID_hipModuleLaunchKernel) || (cid == HIP_API_ID_hipExtModuleLaunchKernel) || (cid == HIP_API_ID_hipHccModuleLaunchKernel); @@ -389,13 +387,36 @@ void hip_api_callback( if (cid == HIP_API_ID_hipMalloc) { entry->ptr = *(data->args.hipMalloc.ptr); } else if (is_hip_kernel_launch_api(cid)) { - if (cid == HIP_API_ID_hipLaunchKernel) { - const void* f = data->args.hipLaunchKernel.function_address; - hipStream_t stream = data->args.hipLaunchKernel.stream; - if (f != NULL) entry->name = strdup(roctracer::HipLoader::Instance().KernelNameRefByPtr(f, stream)); - } else { - const hipFunction_t f = data->args.hipModuleLaunchKernel.f; - if (f != NULL) entry->name = strdup(roctracer::HipLoader::Instance().KernelNameRef(f)); + switch(cid) { + case HIP_API_ID_hipExtLaunchMultiKernelMultiDevice: + case HIP_API_ID_hipLaunchCooperativeKernelMultiDevice: + { + const hipLaunchParams* listKernels = data->args.hipLaunchCooperativeKernelMultiDevice.launchParamsList; + std::string name_str = ""; + for (int i = 0; i < data->args.hipLaunchCooperativeKernelMultiDevice.numDevices; ++i) { + const hipLaunchParams& lp = listKernels[i]; + if (lp.func != NULL) { + const char* kernel_name = roctracer::HipLoader::Instance().KernelNameRefByPtr(lp.func, lp.stream); + const int device_id = roctracer::HipLoader::Instance().GetStreamDeviceId(lp.stream); + name_str += std::string(kernel_name) + ":" + std::to_string(device_id) + ";"; + } + } + entry->name = strdup(name_str.c_str()); + break; + } + case HIP_API_ID_hipLaunchKernel: + case HIP_API_ID_hipLaunchCooperativeKernel: + { + const void* f = data->args.hipLaunchKernel.function_address; + hipStream_t stream = data->args.hipLaunchKernel.stream; + if (f != NULL) entry->name = strdup(roctracer::HipLoader::Instance().KernelNameRefByPtr(f, stream)); + break; + } + default: + { + const hipFunction_t f = data->args.hipModuleLaunchKernel.f; + if (f != NULL) entry->name = strdup(roctracer::HipLoader::Instance().KernelNameRef(f)); + } } } } From d1ad7a56e1c2421bd0a68f189bf3f3bbaa1470f4 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Fri, 12 Jun 2020 00:07:11 -0500 Subject: [PATCH 400/691] tests standalone build Change-Id: I556cbc48c169764beaf9e50684edfb0e9075074c --- test/CMakeLists.txt | 37 +++++++++++++++++++++++------- test/MatrixTranspose/Makefile | 3 ++- test/MatrixTranspose_test/Makefile | 3 ++- test/run.sh | 37 +++++++++++++++++++++++------- 4 files changed, 62 insertions(+), 18 deletions(-) diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 1f83e60975..a0de735905 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -20,9 +20,28 @@ # THE SOFTWARE. ################################################################################ -cmake_minimum_required ( VERSION 2.8.12 ) +cmake_minimum_required ( VERSION 3.5.0 ) set ( CMAKE_VERBOSE_MAKEFILE TRUE CACHE BOOL "Verbose Output" FORCE ) +if ( NOT DEFINED ROOT_DIR ) + MESSAGE ( FATAL_ERROR "ROOT_DIR is not defined" ) +endif () +if ( NOT DEFINED INC_PATH ) + set ( INC_PATH "${ROOT_DIR}/inc" ) +endif () +if ( NOT DEFINED LIB_PATH ) + set ( LIB_PATH "${PROJECT_BINARY_DIR}" ) +endif () +if ( NOT DEFINED TEST_DIR ) + set ( TEST_DIR "${CMAKE_CURRENT_SOURCE_DIR}" ) + ## Adding default path cmake modules + list ( APPEND CMAKE_MODULE_PATH "${ROOT_DIR}/cmake_modules" ) + ## Include common cmake modules + include ( utils ) + ## Set build environment + include ( env ) +endif () + ## Path to HSA test set ( HSA_TEST_DIR "${TEST_DIR}/hsa/test" ) set ( HSA_REV "48bd999" ) @@ -31,7 +50,7 @@ set ( HSA_REV "48bd999" ) set ( RUN_SCRIPT "${TEST_DIR}/run.sh" ) ## build HIP tests -set ( TEST_ENV HIP_VDI=${HIP_VDI} ROCM_PATH=${ROCM_ROOT_DIR} HSA_PATH=${ROCM_ROOT_DIR}/hsa ROOT_PATH=${ROOT_DIR} LIB_PATH=${PROJECT_BINARY_DIR} HIPCC_VERBOSE=3 ) +set ( TEST_ENV HIP_VDI=${HIP_VDI} ROCM_PATH=${ROCM_ROOT_DIR} HSA_PATH=${ROCM_ROOT_DIR}/hsa INC_PATH=${INC_PATH} LIB_PATH=${LIB_PATH} HIPCC_VERBOSE=3 ) add_custom_target( mytest COMMAND ${TEST_ENV} make -C "${TEST_DIR}/MatrixTranspose" COMMAND sh -xc "cp ${TEST_DIR}/MatrixTranspose/MatrixTranspose ${PROJECT_BINARY_DIR}/test" @@ -51,12 +70,14 @@ add_custom_target( mytest ## Util sources file( GLOB UTIL_SRC "${HSA_TEST_DIR}/util/*.cpp" ) -## Build test library -set ( TEST_LIB "tracer_tool" ) -set ( TEST_LIB_SRC ${TEST_DIR}/tool/tracer_tool.cpp ${UTIL_SRC} ) -add_library ( ${TEST_LIB} SHARED ${TEST_LIB_SRC} ) -target_include_directories ( ${TEST_LIB} PRIVATE ${HSA_TEST_DIR} ${ROOT_DIR} ${ROOT_DIR}/inc ${HSA_RUNTIME_INC_PATH} ${HSA_RUNTIME_HSA_INC_PATH} ${HIP_INC_DIR} ${HCC_INC_DIR} ${HSA_KMT_INC_PATH} ) -target_link_libraries ( ${TEST_LIB} ${ROCTRACER_TARGET} ${HSA_RUNTIME_LIB} c stdc++ dl pthread rt ) +if ( DEFINED ROCTRACER_TARGET ) + ## Build test library + set ( TEST_LIB "tracer_tool" ) + set ( TEST_LIB_SRC ${TEST_DIR}/tool/tracer_tool.cpp ${UTIL_SRC} ) + add_library ( ${TEST_LIB} SHARED ${TEST_LIB_SRC} ) + target_include_directories ( ${TEST_LIB} PRIVATE ${HSA_TEST_DIR} ${ROOT_DIR} ${ROOT_DIR}/inc ${HSA_RUNTIME_INC_PATH} ${HSA_RUNTIME_HSA_INC_PATH} ${HIP_INC_DIR} ${HCC_INC_DIR} ${HSA_KMT_INC_PATH} ) + target_link_libraries ( ${TEST_LIB} ${ROCTRACER_TARGET} ${HSA_RUNTIME_LIB} c stdc++ dl pthread rt ) +endif () ## Build HSA test execute_process ( COMMAND sh -xc "if [ ! -e ${TEST_DIR}/hsa ] ; then git clone https://github.com/ROCmSoftwarePlatform/hsa-class.git ${TEST_DIR}/hsa; fi" ) diff --git a/test/MatrixTranspose/Makefile b/test/MatrixTranspose/Makefile index 1031158348..fa020ccf3e 100644 --- a/test/MatrixTranspose/Makefile +++ b/test/MatrixTranspose/Makefile @@ -1,4 +1,5 @@ ROOT_PATH ?= ../.. +INC_PATH ?= $(ROOT_PATH)/inc LIB_PATH ?= $(ROOT_PATH)/build ROC_LIBS = -Wl,--rpath,${LIB_PATH} $(LIB_PATH)/libroctracer64.so $(LIB_PATH)/libroctx64.so @@ -21,7 +22,7 @@ EXECUTABLE=./MatrixTranspose all: clean $(EXECUTABLE) -CXXFLAGS =-g -I$(ROOT_PATH) -I$(ROOT_PATH)/inc -DLOCAL_BUILD=1 +CXXFLAGS =-g -I$(INC_PATH) -DLOCAL_BUILD=1 CXX=$(HIPCC) $(EXECUTABLE): $(OBJECTS) diff --git a/test/MatrixTranspose_test/Makefile b/test/MatrixTranspose_test/Makefile index 007dde4802..050448d668 100644 --- a/test/MatrixTranspose_test/Makefile +++ b/test/MatrixTranspose_test/Makefile @@ -1,4 +1,5 @@ ROOT_PATH ?= ../.. +INC_PATH ?= $(ROOT_PATH)/inc LIB_PATH ?= $(ROOT_PATH)/build ROCM_PATH ?= /opt/rocm HIP_VDI ?= 0 @@ -16,7 +17,7 @@ TARGET=hcc EXECUTABLE=./MatrixTranspose OBJECTS = MatrixTranspose.o -FLAGS =-g -I$(ROOT_PATH) -I$(ROOT_PATH)/inc -I$(ROCM_PATH)/hsa/include/hsa -I$(ROCM_PATH)/hsa/include -I$(ROCM_PATH)/hip/include -I$(ROCM_PATH)/include -DLOCAL_BUILD=1 -DHIP_VDI=${HIP_VDI} -DITERATIONS=$(ITERATIONS) -DAMD_INTERNAL_BUILD=1 +FLAGS =-g -I$(INC_PATH) -I$(ROCM_PATH)/hsa/include/hsa -I$(ROCM_PATH)/hsa/include -I$(ROCM_PATH)/hip/include -I$(ROCM_PATH)/include -DLOCAL_BUILD=1 -DHIP_VDI=${HIP_VDI} -DITERATIONS=$(ITERATIONS) -DAMD_INTERNAL_BUILD=1 ifeq ($(C_TEST), 1) COMP=${CC} diff --git a/test/run.sh b/test/run.sh index 2674226886..8ada56311d 100755 --- a/test/run.sh +++ b/test/run.sh @@ -27,15 +27,31 @@ BIN_NAME=`basename $0` BIN_DIR=`dirname $0` cd $BIN_DIR +IS_CI=0 +if [ "$BIN_NAME" = "run_ci.sh" ] ; then + IS_CI=1 +fi + # enable tools load failure reporting export HSA_TOOLS_REPORT_LOAD_FAILURE=1 # paths to ROC profiler and other libraries -if [ "$BIN_NAME" = "run_ci.sh" ] ; then +export LD_LIBRARY_PATH=$PWD +if [ $IS_CI = 1 ] ; then export LD_LIBRARY_PATH=/opt/rocm/roctracer/lib -else - export LD_LIBRARY_PATH=$PWD fi +if [ -n "$ROCTRACER_LIB_PATH" ] ; then + export LD_LIBRARY_PATH=$ROCTRACER_LIB_PATH +fi +if [ -z "$ROCTRACER_TOOL_PATH" ] ; then + ROCTRACER_TOOL_PATH="./test" +fi + env +ls -lad /opt/* +ls -lad /opt/rocm/* +ls -lad /opt/rocm/roctracer/* +ls -lad /opt/rocm/roctracer/*/* +ls -lad /opt/rocm/roctracer/*/*/* # test filter input test_filter=-1 @@ -63,11 +79,16 @@ eval_test() { echo "test $test_number: $test_name \"$label\"" echo "CMD: \"$cmdline\"" test_runnum=$((test_runnum + 1)) - eval "$cmdline" | tee $test_trace + eval "$cmdline" >$test_trace 2>&1 is_failed=$? - if [ $is_failed = 0 ] ; then - python ./test/check_trace.py -in $test_name - is_failed=$? + cat $test_trace + if [ $IS_CI = 1 ] ; then + is_failed=0; + else + if [ $is_failed = 0 ] ; then + python ./test/check_trace.py -in $test_name + is_failed=$? + fi fi if [ $is_failed = 0 ] ; then echo "$test_name: PASSED" @@ -90,7 +111,7 @@ eval_test "standalone HIP MGPU test" "LD_PRELOAD=libkfdwrapper64.so ./test/Matri # Tool test # rocTracer/tool is loaded by HSA runtime -export HSA_TOOLS_LIB="test/libtracer_tool.so" +export HSA_TOOLS_LIB="$ROCTRACER_TOOL_PATH/libtracer_tool.so" # KFD test export ROCTRACER_DOMAIN="kfd" From c9a7d6c4a886ca97280ae9762306b29a306d9f81 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Wed, 17 Jun 2020 18:58:56 -0500 Subject: [PATCH 401/691] adding begin_ts_file.txt for app start time Change-Id: I976e7bf06eeafa76c80cc847c341dde9f1f5895e --- test/tool/tracer_tool.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/test/tool/tracer_tool.cpp b/test/tool/tracer_tool.cpp index 18ea69d118..23daad5fb2 100644 --- a/test/tool/tracer_tool.cpp +++ b/test/tool/tracer_tool.cpp @@ -97,6 +97,7 @@ LOADER_INSTANTIATE(); TRACE_BUFFER_INSTANTIATE(); // Global output file handle +FILE* begin_ts_file_handle = NULL; FILE* roctx_file_handle = NULL; FILE* hsa_api_file_handle = NULL; FILE* hsa_async_copy_file_handle = NULL; @@ -107,6 +108,7 @@ FILE* pc_sample_file_handle = NULL; void close_output_file(FILE* file_handle); void close_file_handles() { + if (begin_ts_file_handle) close_output_file(pc_sample_file_handle); if (roctx_file_handle) close_output_file(roctx_file_handle); if (hsa_api_file_handle) close_output_file(hsa_api_file_handle); if (hsa_async_copy_file_handle) close_output_file(hsa_async_copy_file_handle); @@ -920,6 +922,11 @@ extern "C" PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, const char* output_prefix = getenv("ROCP_OUTPUT_DIR"); + // App begin timestamp begin_ts_file.txt + begin_ts_file_handle = open_output_file(output_prefix, "begin_ts_file.txt"); + const timestamp_t app_start_time = timer->timestamp_fn_ns(); + fprintf(begin_ts_file_handle, "%lu\n", app_start_time); + // Enable HSA API callbacks/activity if (trace_hsa_api) { hsa_api_file_handle = open_output_file(output_prefix, "hsa_api_trace.txt"); From 264e3d816d6894b50de7f9827bef7921d4d77dd5 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Fri, 19 Jun 2020 12:54:00 -0500 Subject: [PATCH 402/691] fixing ostreams linking as inline static Change-Id: Idbfac3e5220acd62500cd4c204a5bd9a9461c8fc --- script/gen_ostream_ops.py | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/script/gen_ostream_ops.py b/script/gen_ostream_ops.py index c59d2a2117..e6570bebd4 100755 --- a/script/gen_ostream_ops.py +++ b/script/gen_ostream_ops.py @@ -85,23 +85,23 @@ header = \ header_hip = \ 'template \n' + \ -' std::ostream& operator<<(std::ostream& out, const T& v) {\n' + \ +' inline static std::ostream& operator<<(std::ostream& out, const T& v) {\n' + \ ' using std::operator<<;\n' + \ ' static bool recursion = false;\n' + \ ' if (recursion == false) { recursion = true; out << v; recursion = false; }\n' + \ ' return out; }\n' + \ -'std::ostream& operator<<(std::ostream& out, void* v) { using std::operator<<; out << std::hex << v; return out; }\n' + \ -'std::ostream& operator<<(std::ostream& out, const void* v) { using std::operator<<; out << std::hex << v; return out; }\n' + \ -'std::ostream& operator<<(std::ostream& out, bool v) { using std::operator<<; out << std::hex << ""; return out; }\n' + \ -'std::ostream& operator<<(std::ostream& out, uint8_t v) { using std::operator<<; out << std::hex << ""; return out; }\n' + \ -'std::ostream& operator<<(std::ostream& out, uint16_t v) { using std::operator<<; out << std::hex << ""; return out; }\n' + \ -'std::ostream& operator<<(std::ostream& out, uint32_t v) { using std::operator<<; out << std::hex << ""; return out; }\n' + \ -'std::ostream& operator<<(std::ostream& out, uint64_t v) { using std::operator<<; out << std::hex << ""; return out; }\n' + \ -'std::ostream& operator<<(std::ostream& out, bool* v) { using std::operator<<; out << std::hex << ""; return out; }\n' + \ -'std::ostream& operator<<(std::ostream& out, uint8_t* v) { using std::operator<<; out << std::hex << ""; return out; }\n' + \ -'std::ostream& operator<<(std::ostream& out, uint16_t* v) { using std::operator<<; out << std::hex << ""; return out; }\n' + \ -'std::ostream& operator<<(std::ostream& out, uint32_t* v) { using std::operator<<; out << std::hex << ""; return out; }\n' + \ -'std::ostream& operator<<(std::ostream& out, uint64_t* v) { using std::operator<<; out << std::hex << ""; return out; }\n' + \ +'inline static std::ostream& operator<<(std::ostream& out, void* v) { using std::operator<<; out << std::hex << v; return out; }\n' + \ +'inline static std::ostream& operator<<(std::ostream& out, const void* v) { using std::operator<<; out << std::hex << v; return out; }\n' + \ +'inline static std::ostream& operator<<(std::ostream& out, bool v) { using std::operator<<; out << std::hex << ""; return out; }\n' + \ +'inline static std::ostream& operator<<(std::ostream& out, uint8_t v) { using std::operator<<; out << std::hex << ""; return out; }\n' + \ +'inline static std::ostream& operator<<(std::ostream& out, uint16_t v) { using std::operator<<; out << std::hex << ""; return out; }\n' + \ +'inline static std::ostream& operator<<(std::ostream& out, uint32_t v) { using std::operator<<; out << std::hex << ""; return out; }\n' + \ +'inline static std::ostream& operator<<(std::ostream& out, uint64_t v) { using std::operator<<; out << std::hex << ""; return out; }\n' + \ +'inline static std::ostream& operator<<(std::ostream& out, bool* v) { using std::operator<<; out << std::hex << ""; return out; }\n' + \ +'inline static std::ostream& operator<<(std::ostream& out, uint8_t* v) { using std::operator<<; out << std::hex << ""; return out; }\n' + \ +'inline static std::ostream& operator<<(std::ostream& out, uint16_t* v) { using std::operator<<; out << std::hex << ""; return out; }\n' + \ +'inline static std::ostream& operator<<(std::ostream& out, uint32_t* v) { using std::operator<<; out << std::hex << ""; return out; }\n' + \ +'inline static std::ostream& operator<<(std::ostream& out, uint64_t* v) { using std::operator<<; out << std::hex << ""; return out; }\n' + \ '\n' structs_analyzed = {} @@ -217,9 +217,9 @@ def gen_cppheader(infilepath, outfilepath): continue if len(cppHeader.classes[c]["properties"]["public"])!=0: if apiname.lower() == 'hip': - f.write("std::ostream& operator<<(std::ostream& out, " + c + "& v)\n") + f.write("inline static std::ostream& operator<<(std::ostream& out, " + c + "& v)\n") f.write("{\n") - global_ops_hip = global_ops_hip + "std::ostream& operator<<(std::ostream& out, const " + c + "& v)\n" + "{\n" + " roctracer::hip_support::operator<<(out, v);\n" + " return out;\n" + "}\n\n" + global_ops_hip = global_ops_hip + "inline static std::ostream& operator<<(std::ostream& out, const " + c + "& v)\n" + "{\n" + " roctracer::hip_support::operator<<(out, v);\n" + " return out;\n" + "}\n\n" process_struct(f, c, cppHeader, "", apiname) f.write(" return out;\n") f.write("}\n") From 2c0c665398d1e82a059fb8be6b2dd57ac27c3be7 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Fri, 19 Jun 2020 12:13:39 -0500 Subject: [PATCH 403/691] cleanup Change-Id: I9fe77162c6bd4fdfae8e6edb7fbf1677d810dfb9 --- bin/dform.py | 31 ---- bin/rpl_run.sh | 377 ------------------------------------------------ bin/sqlitedb.py | 224 ---------------------------- bin/tblextr.py | 339 ------------------------------------------- bin/txt2xml.sh | 100 ------------- 5 files changed, 1071 deletions(-) delete mode 100644 bin/dform.py delete mode 100755 bin/rpl_run.sh delete mode 100644 bin/sqlitedb.py delete mode 100644 bin/tblextr.py delete mode 100755 bin/txt2xml.sh diff --git a/bin/dform.py b/bin/dform.py deleted file mode 100644 index 107188fa0a..0000000000 --- a/bin/dform.py +++ /dev/null @@ -1,31 +0,0 @@ -#!/usr/bin/python -from sqlitedb import SQLiteDB - -def post_process_data(db, table_name, outfile = ''): -# db.add_data_column('A', 'DispDurNs', 'INTEGER', 'BeginNs - DispatchNs') -# db.add_data_column('A', 'ComplDurNs', 'INTEGER', 'CompleteNs - EndNs') -# db.add_data_column('A', 'TotalDurNs', 'INTEGER', 'CompleteNs - DispatchNs') -# db.add_data_column(table_name, 'TimeNs', 'INTEGER', 'BeginNs - %d' % start_ns) - db.add_data_column(table_name, 'DurationNs', 'INTEGER', 'EndNs - BeginNs') - if outfile != '': db.dump_csv(table_name, outfile) - -def gen_data_bins(db, outfile): - db.execute('create view C as select Name, Calls, TotalDurationNs, TotalDurationNs/Calls as AverageNs, TotalDurationNs*100.0/(select sum(TotalDurationNs) from %s) as Percentage from %s order by TotalDurationNs desc;' % ('B', 'B')); - db.dump_csv('C', outfile) - db.execute('DROP VIEW C') - -def gen_table_bins(db, table, outfile, name_var, dur_ns_var): - db.execute('create view B as select (%s) as Name, count(%s) as Calls, sum(%s) as TotalDurationNs from %s group by %s' % (name_var, name_var, dur_ns_var, table, name_var)) - gen_data_bins(db, outfile) - db.execute('DROP VIEW B') - -def gen_api_json_trace(db, table, start_us, outfile): - db.execute('create view B as select "Index", Name as name, pid, tid, (BeginNs/1000 - %d) as ts, (DurationNs/1000) as dur from %s order by ts asc;' % (start_us, table)); - db.dump_json('B', table, outfile) - db.execute('DROP VIEW B') - -def gen_kernel_json_trace(db, table, base_pid, start_us, outfile): - db.execute('create view B as select "Index", KernelName as name, ("gpu-id" + %d) as pid, (0) as tid, (BeginNs/1000 - %d) as ts, (DurationNs/1000) as dur from %s order by ts asc;' % (base_pid, start_us, table)); - db.dump_json('B', table, outfile) - db.execute('DROP VIEW B') -############################################################################################## diff --git a/bin/rpl_run.sh b/bin/rpl_run.sh deleted file mode 100755 index efedfbdba9..0000000000 --- a/bin/rpl_run.sh +++ /dev/null @@ -1,377 +0,0 @@ -#!/bin/sh - -################################################################################ -# Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in -# all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -# THE SOFTWARE. -################################################################################ - -time_stamp=`date +%y%m%d_%H%M%S` -BIN_DIR=$(dirname $(realpath $0)) -PKG_DIR=$(dirname $BIN_DIR) -ROOT_DIR=$(dirname $PKG_DIR) -RUN_DIR=`pwd` -TMP_DIR="/tmp" -DATA_DIR="rpl_data_${time_stamp}_$$" - -# roctracer path -if [ -z "$ROCTRACER_PATH" ] ; then ROCTRACER_PATH=$ROOT_DIR/roctracer; fi - -# runtime API trace -HSA_TRACE=0 -HIP_TRACE=0 - -# Generate stats -GEN_STATS=0 - -export LD_LIBRARY_PATH=$PKG_DIR/lib:$PKG_DIR/lib/hsa:$PKG_DIR/tool:$ROCTRACER_PATH/lib:$ROCTRACER_PATH/tool -export PATH=.:$PATH - -# enable error logging -export HSA_TOOLS_REPORT_LOAD_FAILURE=1 -export HSA_VEN_AMD_AQLPROFILE_LOG=1 -export ROCPROFILER_LOG=1 -unset ROCPROFILER_SESS - -# ROC Profiler environment -# Loading of ROC Profiler by HSA runtime -export HSA_TOOLS_LIB=librocprofiler64.so -# Loading of the test tool by ROC Profiler -export ROCP_TOOL_LIB=libtool.so -# Enabling HSA dispatches intercepting by ROC PRofiler -export ROCP_HSA_INTERCEPT=1 -# Disabling internal ROC Profiler proxy queue (simple version supported for testing purposes) -unset ROCP_PROXY_QUEUE -# ROC Profiler metrics definition -export ROCP_METRICS=$PKG_DIR/lib/metrics.xml -# Disable AQL-profile read API -export AQLPROFILE_READ_API=0 -# ROC Profiler package path -export ROCP_PACKAGE_DIR=$PKG_DIR - -# error handling -fatal() { - echo "$0: Error: $1" - echo "" - usage -} - -error() { - echo "$0: Error: $1" - echo "" - exit 1 -} - -# usage method -usage() { - bin_name=`basename $0` - echo "ROCm Profiling Library (RPL) run script, a part of ROCprofiler library package." - echo "Full path: $BIN_DIR/$bin_name" - echo "Metrics definition: $PKG_DIR/lib/metrics.xml" - echo "" - echo "Usage:" - echo " $bin_name [-h] [--list-basic] [--list-derived] [-i ] [-o ] " - echo "" - echo "Options:" - echo " -h - this help" - echo " --verbose - verbose mode, dumping all base counters used in the input metrics" - echo " --list-basic - to print the list of basic HW counters" - echo " --list-derived - to print the list of derived metrics with formulas" - echo "" - echo " -i <.txt|.xml file> - input file" - echo " Input file .txt format, automatically rerun application for every pmc line:" - echo "" - echo " # Perf counters group 1" - echo " pmc : Wavefronts VALUInsts SALUInsts SFetchInsts FlatVMemInsts LDSInsts FlatLDSInsts GDSInsts VALUUtilization FetchSize" - echo " # Perf counters group 2" - echo " pmc : WriteSize L2CacheHit" - echo " # Filter by dispatches range, GPU index and kernel names" - echo " # supported range formats: \"3:9\", \"3:\", \"3\"" - echo " range: 1 : 4" - echo " gpu: 0 1 2 3" - echo " kernel: simple Pass1 simpleConvolutionPass2" - echo "" - echo " Input file .xml format, for single profiling run:" - echo "" - echo " # Metrics list definition, also the form \":\" can be used" - echo " # All defined metrics can be found in the 'metrics.xml'" - echo " # There are basic metrics for raw HW counters and high-level metrics for derived counters" - echo " " - echo "" - echo " # Filter by dispatches range, GPU index and kernel names" - echo " " - echo "" - echo " -o - output CSV file [.csv]" - echo " -d - directory where profiler store profiling data including thread treaces [/tmp]" - echo " The data directory is renoving autonatically if the directory is matching the temporary one, which is the default." - echo " -t - to change the temporary directory [/tmp]" - echo " By changing the temporary directory you can prevent removing the profiling data from /tmp or enable removing from not '/tmp' directory." - echo "" - echo " --basenames - to turn on/off truncating of the kernel full function names till the base ones [off]" - echo " --timestamp - to turn on/off the kernel disoatches timestamps, dispatch/begin/end/complete [off]" - echo " --ctx-wait - to wait for outstanding contexts on profiler exit [on]" - echo " --ctx-limit - maximum number of outstanding contexts [0 - unlimited]" - echo " --heartbeat - to print progress heartbeats [0 - disabled]" - echo "" - echo " --stats - generating stats and json trace output" - echo " --hsa-trace - to trace HSA" - echo " --hip-trace - to trace HIP" - echo "" - echo "Configuration file:" - echo " You can set your parameters defaults preferences in the configuration file 'rpl_rc.xml'. The search path sequence: .:${HOME}:" - echo " First the configuration file is looking in the current directory, then in your home, and then in the package directory." - echo " Configurable options: 'basenames', 'timestamp', 'ctx-limit', 'heartbeat'." - echo " An example of 'rpl_rc.xml':" - echo " " - echo "" - exit 1 -} - -# profiling run method -OUTPUT_LIST="" -run() { - export ROCP_INPUT="$1" - OUTPUT_DIR="$2" - shift - shift - APP_CMD=$* - - if [ "$OUTPUT_DIR" = "-" ] ; then - input_tag=`echo $ROCP_INPUT | sed "s/\.xml//"` - export ROCP_OUTPUT_DIR=${input_tag}_results_${time_stamp} - elif [ "$OUTPUT_DIR" = "--" ] ; then - unset ROCP_OUTPUT_DIR - else - export ROCP_OUTPUT_DIR=$OUTPUT_DIR - fi - echo "RPL: result dir '$ROCP_OUTPUT_DIR'" - - if [ ! -e "$ROCP_INPUT" ] ; then - error "Input file '$ROCP_INPUT' not found" - fi - - if [ -n "$ROCP_OUTPUT_DIR" ] ; then - if [ "$OUTPUT_DIR" = "-" ] ; then - if [ -e "$ROCP_OUTPUT_DIR" ] ; then - error "generated dir '$ROCP_OUTPUT_DIR' exists" - fi - fi - mkdir -p "$ROCP_OUTPUT_DIR" - fi - - if [ "$HSA_TRACE" = 1 ] ; then - export ROCTRACER_DOMAIN="hsa" - export HSA_TOOLS_LIB="libtracer_tool.so libroctracer64.so $HSA_TOOLS_LIB" - fi - - redirection_cmd="" - if [ -n "$ROCP_OUTPUT_DIR" ] ; then - OUTPUT_LIST="$OUTPUT_LIST $ROCP_OUTPUT_DIR/results.txt" - redirection_cmd="2>&1 | tee $ROCP_OUTPUT_DIR/log.txt" - fi - - #unset ROCP_OUTPUT_DIR - eval "LD_PRELOAD='$HSA_TOOLS_LIB' $APP_CMD $redirection_cmd" -} - -# main -echo "RPL: on '$time_stamp' from '$PKG_DIR' in '$RUN_DIR'" -# Parsing arguments -if [ -z "$1" ] ; then - usage -fi - -INPUT_FILE="" -DATA_PATH="-" -OUTPUT_DIR="-" -output="" -csv_output="" - -ARG_IN="" -while [ 1 ] ; do - ARG_IN=$1 - ARG_VAL=1 - if [ "$1" = "-h" ] ; then - usage - elif [ "$1" = "-i" ] ; then - INPUT_FILE="$2" - elif [ "$1" = "-o" ] ; then - output="$2" - elif [ "$1" = "-d" ] ; then - DATA_PATH=$2 - elif [ "$1" = "-t" ] ; then - TMP_DIR="$2" - if [ "$OUTPUT_DIR" = "-" ] ; then - DATA_PATH=$TMP_DIR - fi - elif [ "$1" = "--list-basic" ] ; then - export ROCP_INFO=b - eval "$PKG_DIR/tool/ctrl" - exit 1 - elif [ "$1" = "--list-derived" ] ; then - export ROCP_INFO=d - eval "$PKG_DIR/tool/ctrl" - exit 1 - elif [ "$1" = "--basenames" ] ; then - if [ "$2" = "on" ] ; then - export ROCP_TRUNCATE_NAMES=1 - else - export ROCP_TRUNCATE_NAMES=0 - fi - elif [ "$1" = "--timestamp" ] ; then - if [ "$2" = "on" ] ; then - export ROCP_TIMESTAMP_ON=1 - else - export ROCP_TIMESTAMP_ON=0 - fi - elif [ "$1" = "--ctx-wait" ] ; then - if [ "$2" = "on" ] ; then - export ROCP_OUTSTANDING_WAIT=1 - else - export ROCP_OUTSTANDING_WAIT=0 - fi - elif [ "$1" = "--ctx-limit" ] ; then - export ROCP_OUTSTANDING_MAX="$2" - elif [ "$1" = "--heartbeat" ] ; then - export ROCP_OUTSTANDING_MON="$2" - elif [ "$1" = "--hsa-trace" ] ; then - ARG_VAL=0 - HSA_TRACE=1 - elif [ "$1" = "--hip-trace" ] ; then - ARG_VAL=0 - HIP_TRACE=1 - elif [ "$1" = "--verbose" ] ; then - ARG_VAL=0 - export ROCP_VERBOSE_MODE=1 - elif [ "$1" = "--stats" ] ; then - ARG_VAL=0 - GEN_STATS=1 - else - break - fi - shift - if [ "$ARG_VAL" = 1 ] ; then shift; fi -done - -ARG_CK=`echo $ARG_IN | sed "s/^-.*$/-/"` -if [ "$ARG_CK" = "-" ] ; then - fatal "Wrong option '$ARG_IN'" -fi - -if [ -z "$INPUT_FILE" ] ; then - input_base="results" - input_type="none" -else - input_base=`echo "$INPUT_FILE" | sed "s/^\(.*\)\.\([^\.]*\)$/\1/"` - input_type=`echo "$INPUT_FILE" | sed "s/^\(.*\)\.\([^\.]*\)$/\2/"` - if [ -z "${input_base}" -o -z "${input_type}" ] ; then - fatal "Bad input file '$INPUT_FILE'" - fi - input_base=`basename $input_base` -fi - -if [ "$DATA_PATH" = "-" ] ; then - DATA_PATH=$TMP_DIR -fi - -if [ -n "$output" ] ; then - if [ "$output" = "--" ] ; then - OUTPUT_DIR="--" - else - csv_output=$output - fi -else - csv_output=$RUN_DIR/${input_base}.csv -fi - -APP_CMD=$* - -echo "RPL: profiling '$APP_CMD'" -echo "RPL: input file '$INPUT_FILE'" - -input_list="" -RES_DIR="" -if [ "$input_type" = "xml" ] ; then - OUTPUT_DIR=$DATA_PATH - input_list=$INPUT_FILE -elif [ "$input_type" = "txt" -o "$input_type" = "none" ] ; then - RES_DIR=$DATA_PATH/$DATA_DIR - if [ -e $RES_DIR ] ; then - error "Rundir '$RES_DIR' exists" - fi - mkdir -p $RES_DIR - echo "RPL: output dir '$RES_DIR'" - if [ "$input_type" = "txt" ] ; then - $BIN_DIR/txt2xml.sh $INPUT_FILE $RES_DIR - else - echo "" > $RES_DIR/input.xml - fi - input_list=`/bin/ls $RES_DIR/input*.xml` - export ROCPROFILER_SESS=$RES_DIR -else - fatal "Bad input file type '$INPUT_FILE'" -fi - -if [ -n "$csv_output" ] ; then - rm -f $csv_output -fi - -for name in $input_list; do - run $name $OUTPUT_DIR $APP_CMD - if [ -n "$ROCPROFILER_SESS" -a -e "$ROCPROFILER_SESS/error" ] ; then - echo "Error found, profiling aborted." - csv_output="" - break - fi -done - -if [ -n "$csv_output" ] ; then - if [ "$GEN_STATS" = "1" ] ; then - db_output=$(echo $csv_output | sed "s/\.csv/.db/") - python $BIN_DIR/tblextr.py $db_output $OUTPUT_LIST - else - python $BIN_DIR/tblextr.py $csv_output $OUTPUT_LIST - fi - if [ "$?" -eq 0 ] ; then - echo "RPL: '$csv_output' is generated" - else - echo "Data extracting error: $OUTPUT_LIST'" - fi -fi - -if [ "$DATA_PATH" = "$TMP_DIR" ] ; then - if [ -e "$RES_DIR" ] ; then - rm -rf $RES_DIR - fi -fi - -exit 0 diff --git a/bin/sqlitedb.py b/bin/sqlitedb.py deleted file mode 100644 index bfcf12fae9..0000000000 --- a/bin/sqlitedb.py +++ /dev/null @@ -1,224 +0,0 @@ -import csv, sqlite3, re, sys - -# SQLite Database class -class SQLiteDB: - def __init__(self, file_name): - self.connection = sqlite3.connect(file_name) - self.tables = {} - self.json_arg_list_enabled = 0 - - def __del__(self): - self.connection.close() - - # add DB table - def add_table(self, name, descr, extra = ()): - (field_list, field_dict) = descr - if name in self.tables: raise Exception('table is already added: "' + name + '"') - - # create DB table - table_descr = [] - for field in field_list: table_descr.append('"%s" %s' % (field, field_dict[field])) - for item in extra: table_descr.append('"%s" %s' % (item[0], item[1])) - stm = 'CREATE TABLE ' + name + ' (%s)' % ', '.join(table_descr) - cursor = self.connection.cursor() - cursor.execute(stm) - self.connection.commit() - - # register table - fields_str = ','.join(map(lambda x: '"' + x + '"', field_list)) - templ_str = ','.join('?' * len(field_list)) - stm = 'INSERT INTO ' + name + '(' + fields_str + ') VALUES(' + templ_str + ');' - self.tables[name] = stm - - return (cursor, stm); - - # add columns to table - def add_columns(self, name, columns): - cursor = self.connection.cursor() - for item in columns: - stm = 'ALTER TABLE ' + name + ' ADD COLUMN "%s" %s' % (item[0], item[1]) - cursor.execute(stm) - self.connection.commit() - - # add columns with expression - def add_data_column(self, table_name, data_label, data_type, data_expr): - cursor = self.connection.cursor() - cursor.execute('ALTER TABLE %s ADD COLUMN "%s" %s' % (table_name, data_label, data_type)) - cursor.execute('UPDATE %s SET %s = (%s);' % (table_name, data_label, data_expr)) - - # populate DB table entry - def insert_entry(self, table, val_list): - (cursor, stm) = table - cursor.execute(stm, val_list) - - # populate DB table entry - def commit_entry(self, table, val_list): - self.insert_entry(table, val_list) - self.connection.commit() - - # populate DB table data - def insert_table(self, table, reader): - for val_list in reader: - if not val_list[-1]: val_list.pop() - self.insert_entry(table, val_list) - self.connection.commit() - - # return table fields list - def _get_fields(self, table_name): - cursor = self.connection.execute('SELECT * FROM ' + table_name) - return list(map(lambda x: '"%s"' % (x[0]), cursor.description)) - - # return table raws list - def _get_raws(self, table_name): - cursor = self.connection.execute('SELECT * FROM ' + table_name) - return cursor.fetchall() - def _get_raws_indexed(self, table_name): - cursor = self.connection.execute('SELECT * FROM ' + table_name + ' order by "Index" asc;') - return cursor.fetchall() - def _get_raw_by_id(self, table_name, req_id): - cursor = self.connection.execute('SELECT * FROM ' + table_name + ' WHERE "Index"=?', (req_id,)) - raws = cursor.fetchall() - if len(raws) != 1: - raise Exception('Index is not unique, table "' + table_name + '"') - return list(raws[0]) - - # dump CSV table - def dump_csv(self, table_name, file_name): - if not re.search(r'\.csv$', file_name): - raise Exception('wrong output file type: "' + file_name + '"' ) - - fields = self._get_fields(table_name) - with open(file_name, mode='w') as fd: - fd.write(','.join(fields) + '\n') - for raw in self._get_raws(table_name): - fd.write(reduce(lambda a, b: str(a) + ',' + str(b), raw) + '\n') - - # dump JSON trace - def open_json(self, file_name): - if not re.search(r'\.json$', file_name): - raise Exception('wrong output file type: "' + file_name + '"' ) - with open(file_name, mode='w') as fd: - fd.write('{ "traceEvents":[{}\n'); - - def close_json(self, file_name): - if not re.search(r'\.json$', file_name): - raise Exception('wrong output file type: "' + file_name + '"' ) - with open(file_name, mode='a') as fd: - fd.write(']}\n'); - - def label_json(self, pid, label, file_name): - if not re.search(r'\.json$', file_name): - raise Exception('wrong output file type: "' + file_name + '"' ) - with open(file_name, mode='a') as fd: - fd.write(',{"args":{"name":"%s"},"ph":"M","pid":%s,"name":"process_name"}\n' %(label, pid)); - - def flow_json(self, base_id, from_pid, from_tid, from_us_list, to_pid, to_us_dict, start_us, file_name): - if not re.search(r'\.json$', file_name): - raise Exception('wrong output file type: "' + file_name + '"' ) - with open(file_name, mode='a') as fd: - dep_id = base_id - for ind in range(len(from_tid)): - from_ts = from_us_list[ind] - start_us - to_ts = to_us_dict[ind] - start_us - fd.write(',{"ts":%d,"ph":"s","cat":"DataFlow","id":%d,"pid":%s,"tid":%d,"name":"dep"}\n' % (from_ts, dep_id, str(from_pid), from_tid[ind])) - fd.write(',{"ts":%d,"ph":"t","cat":"DataFlow","id":%d,"pid":%s,"tid":0,"name":"dep"}\n' % (to_ts, dep_id, str(to_pid))) - dep_id += 1 - - def dump_json(self, table_name, data_name, file_name): - if not re.search(r'\.json$', file_name): - raise Exception('wrong output file type: "' + file_name + '"' ) - - sub_ptrn = re.compile(r'(^"|"$)') - name_ptrn = re.compile(r'(name|Name)') - - table_fields = self._get_fields(table_name) - table_raws = self._get_raws_indexed(table_name) - data_fields = self._get_fields(data_name) - data_raws = self._get_raws_indexed(data_name) - - with open(file_name, mode='a') as fd: - table_raws_len = len(table_raws) - for raw_index in range(table_raws_len): - if (raw_index == table_raws_len - 1) or (raw_index % 1000 == 0): - sys.stdout.write( \ - "\rdump json " + str(raw_index) + ":" + str(len(table_raws)) + " "*100 \ - ) - - vals_list = [] - values = list(table_raws[raw_index]) - for value_index in range(len(values)): - label = table_fields[value_index] - value = values[value_index] - if name_ptrn.search(label): value = sub_ptrn.sub(r'', value) - if label != '"Index"': vals_list.append('%s:"%s"' % (label, value)) - - args_list = [] - data = list(data_raws[raw_index]) - for value_index in range(len(data)): - label = data_fields[value_index] - value = data[value_index] - if name_ptrn.search(label): value = sub_ptrn.sub(r'', value) - if label != '"Index"': args_list.append('%s:"%s"' % (label, value)) - - fd.write(',{"ph":"%s",%s,\n "args":{\n %s\n }\n}\n' % ('X', ','.join(vals_list), ',\n '.join(args_list))) - - sys.stdout.write('\n') - - # execute query on DB - def execute(self, cmd): - cursor = self.connection.cursor() - cursor.execute(cmd) - - # commit DB - def commit(self): - self.connection.commit() - - # close DB - def close(self): - self.connection.close() - - # access DB - def get_raws(self, table_name): - cur = self.connection.cursor() - cur.execute("SELECT * FROM %s" % table_name) - return cur.fetchall() - - # return CSV descriptor - # list of fields and dictionaly for the fields types - def _get_csv_descr(self, table_name, fd): - reader = csv.DictReader(fd) - field_names = reader.fieldnames - if not field_names[-1]: field_names.pop() - field_types = {} - - for entry in reader: - fields_left = [f for f in field_names if f not in field_types.keys()] - # all fields processed - if not fields_left: break - - for field in fields_left: - data = entry[field] - # need data for the field to be processed - if len(data) == 0: continue - - if data.isdigit(): - field_types[field] = "INTEGER" - else: - field_types[field] = "TEXT" - - if len(fields_left) > 0: raise Exception('types not found for fields: ', fields_left) - return (field_names, field_types) - - # add CSV table - def add_csv_table(self, table_name, file_name, extra = ()): - with open(file_name, mode='r') as fd: - # get CSV table descriptor - descr = self._get_csv_descr(table_name, fd) - # reader to populate the table - fd.seek(0) - reader = csv.reader(fd) - reader.next() - table = self.add_table(table_name, descr, extra) - self.insert_table(table, reader) - -############################################################################################## diff --git a/bin/tblextr.py b/bin/tblextr.py deleted file mode 100644 index aff6d6a880..0000000000 --- a/bin/tblextr.py +++ /dev/null @@ -1,339 +0,0 @@ -#!/usr/bin/python - -################################################################################ -# Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in -# all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -# THE SOFTWARE. -################################################################################ - -import os, sys, re -from sqlitedb import SQLiteDB -import dform - -# Parsing results in the format: -#dispatch[0], queue_index(0), kernel_name("SimpleConvolution"), time(1048928000311041,1048928006154674,1048928006168274,1048928006170503): -# GRBM_GUI_ACTIVE (74332) -# SQ_WAVES (4096) -# SQ_INSTS_VMEM_RD (36864) - -COPY_PID = 0 -HSA_PID = 1 -GPU_BASE_PID = 2 -max_gpu_id = 0 -START_US = 0 - -# dependencies dictionary -dep_dict = {} -kern_dep_list = [] - -# global vars -table_descr = [ - ['Index', 'KernelName'], - {'Index': 'INTEGER', 'KernelName': 'TEXT'} -] -var_list = table_descr[0] -var_table = {} -############################################################# - -def fatal(msg): - sys.stderr.write(sys.argv[0] + ": " + msg + "\n"); - sys.exit(1) -############################################################# - -# parse results method -def parse_res(infile): - global max_gpu_id - if not os.path.isfile(infile): fatal("Error: input file '" + infile + "' not found") - inp = open(infile, 'r') - - beg_pattern = re.compile("^dispatch\[(\d*)\], (.*) kernel-name\(\"([^\"]*)\"\)") - prop_pattern = re.compile("([\w-]+)\((\w+)\)"); - ts_pattern = re.compile(", time\((\d*),(\d*),(\d*),(\d*)\)") - var_pattern = re.compile("^\s*([^\s]*)\s+\((\d*)\)") - - dispatch_number = 0 - for line in inp.readlines(): - record = line[:-1] - - m = var_pattern.match(record) - if m: - if not dispatch_number in var_table: fatal("Error: dispatch number not found '" + str(dispatch_number) + "'") - var = m.group(1) - val = m.group(2) - var_table[dispatch_number][m.group(1)] = m.group(2) - if not var in var_list: var_list.append(var) - - m = beg_pattern.match(record) - if m: - dispatch_number = m.group(1) - if not dispatch_number in var_table: - var_table[dispatch_number] = { - 'Index': dispatch_number, - 'KernelName': "\"" + m.group(3) + "\"" - } - - gpu_id = 0 - disp_tid = 0 - - kernel_properties = m.group(2) - for prop in kernel_properties.split(', '): - m = prop_pattern.match(prop) - if m: - var = m.group(1) - val = m.group(2) - var_table[dispatch_number][var] = val - if not var in var_list: var_list.append(var); - if var == 'gpu-id': - if (val > max_gpu_id): max_gpu_id = val - gpu_id = val - if var == 'tid': disp_tid = int(val) - else: fatal('wrong kernel property "' + prop + '" in "'+ kernel_properties + '"') - m = ts_pattern.search(record) - if m: - var_table[dispatch_number]['DispatchNs'] = m.group(1) - var_table[dispatch_number]['BeginNs'] = m.group(2) - var_table[dispatch_number]['EndNs'] = m.group(3) - var_table[dispatch_number]['CompleteNs'] = m.group(4) - - gpu_pid = GPU_BASE_PID + int(gpu_id) - if not gpu_pid in dep_dict: dep_dict[gpu_pid] = {} - dep_str = dep_dict[gpu_pid] - if not 'tid' in dep_str: dep_str['tid'] = [] - if not 'from' in dep_str: dep_str['from'] = [] - if not 'to' in dep_str: dep_str['to'] = {} - to_id = len(dep_str['tid']) - from_us = int(m.group(1)) / 1000 - to_us = int(m.group(2)) / 1000 - dep_str['to'][to_id] = to_us - dep_str['from'].append(from_us) - dep_str['tid'].append(disp_tid) - kern_dep_list.append((disp_tid, m.group(1))) - - inp.close() -############################################################# - -# merge results table -def merge_table(): - global var_list - keys = sorted(var_table.keys(), key=int) - - fields = set(var_table[keys[0]]) - if 'DispatchNs' in fields: - var_list.append('DispatchNs') - var_list.append('BeginNs') - var_list.append('EndNs') - var_list.append('CompleteNs') - var_list = [x for x in var_list if x in fields] -############################################################# - -# dump CSV results -def dump_csv(file_name): - global var_list - keys = sorted(var_table.keys(), key=int) - - with open(file_name, mode='w') as fd: - fd.write(','.join(var_list) + '\n'); - for ind in keys: - entry = var_table[ind] - dispatch_number = entry['Index'] - if ind != dispatch_number: fatal("Dispatch #" + ind + " index mismatch (" + dispatch_number + ")\n") - val_list = [entry[var] for var in var_list] - fd.write(','.join(val_list) + '\n'); -############################################################# - -# fill kernels DB -def fill_kernel_db(table_name, db): - global var_list - keys = sorted(var_table.keys(), key=int) - - for var in set(var_list).difference(set(table_descr[1])): - table_descr[1][var] = 'INTEGER' - table_descr[0] = var_list; - - table_handle = db.add_table(table_name, table_descr) - - for ind in keys: - entry = var_table[ind] - dispatch_number = entry['Index'] - if ind != dispatch_number: fatal("Dispatch #" + ind + " index mismatch (" + dispatch_number + ")\n") - val_list = [entry[var] for var in var_list] - db.insert_entry(table_handle, val_list) -############################################################# - -# fill HSA DB -hsa_table_descr = [ - ['BeginNs', 'EndNs', 'pid', 'tid', 'Name', 'args', 'Index'], - {'Index':'INTEGER', 'Name':'TEXT', 'args':'TEXT', 'BeginNs':'INTEGER', 'EndNs':'INTEGER', 'pid':'INTEGER', 'tid':'INTEGER'} -] -def fill_hsa_db(table_name, db, indir): - file_name = indir + '/' + 'hsa_api_trace.txt' - ptrn_val = re.compile(r'(\d+):(\d+) (\d+):(\d+) ([^\(]+)(\(.*)$') - ptrn_ac = re.compile(r'hsa_amd_memory_async_copy') - - if not os.path.isfile(file_name): return 0 - - if not COPY_PID in dep_dict: dep_dict[COPY_PID] = {} - dep_tid_list = [] - dep_from_us_list = [] - - global START_US - with open(file_name, mode='r') as fd: - line = fd.readline() - record = line[:-1] - m = ptrn_val.match(record) - if m: START_US = int(m.group(1)) / 1000 - START_US = 0 - - record_id = 0 - table_handle = db.add_table(table_name, hsa_table_descr) - with open(file_name, mode='r') as fd: - for line in fd.readlines(): - record = line[:-1] - m = ptrn_val.match(record) - if m: - rec_vals = [] - for ind in range(1,7): - rec_vals.append(m.group(ind)) - rec_vals[2] = HSA_PID - rec_vals.append(record_id) - db.insert_entry(table_handle, rec_vals) - if ptrn_ac.search(rec_vals[4]): - beg_ns = int(rec_vals[0]) - end_ns = int(rec_vals[1]) - from_us = (beg_ns / 1000) + ((end_ns - beg_ns) / 1000) - dep_from_us_list.append(from_us) - dep_tid_list.append(int(rec_vals[3])) - record_id += 1 - else: fatal("hsa bad record") - - for (tid, from_ns) in kern_dep_list: - db.insert_entry(table_handle, [from_ns, from_ns, HSA_PID, tid, 'hsa_dispatch', '', record_id]) - record_id += 1 - - dep_dict[COPY_PID]['tid'] = dep_tid_list - dep_dict[COPY_PID]['from'] = dep_from_us_list - - return 1 -############################################################# - -# fill COPY DB -copy_table_descr = [ - ['BeginNs', 'EndNs', 'Name', 'pid', 'tid', 'Index'], - {'Index':'INTEGER', 'Name':'TEXT', 'args':'TEXT', 'BeginNs':'INTEGER', 'EndNs':'INTEGER', 'pid':'INTEGER', 'tid':'INTEGER'} -] -def fill_copy_db(table_name, db, indir): - file_name = indir + '/' + 'async_copy_trace.txt' - ptrn_val = re.compile(r'(\d+):(\d+) (.*)$') - ptrn_id = re.compile(r'^async-copy(\d+)$') - - if not COPY_PID in dep_dict: dep_dict[COPY_PID] = {} - dep_to_us_dict = {} - - table_handle = db.add_table(table_name, copy_table_descr) - with open(file_name, mode='r') as fd: - for line in fd.readlines(): - record = line[:-1] - m = ptrn_val.match(record) - if m: - rec_vals = [] - for ind in range(1,4): rec_vals.append(m.group(ind)) - rec_vals.append(COPY_PID) - rec_vals.append(0) - m = ptrn_id.match(rec_vals[2]) - if m: dep_to_us_dict[int(m.group(1))] = int(rec_vals[0]) / 1000 - else: fatal("async-copy bad name") - rec_vals.append(m.group(1)) - db.insert_entry(table_handle, rec_vals) - else: fatal("async-copy bad record") - - dep_dict[COPY_PID]['to'] = dep_to_us_dict -############################################################# -# main -if (len(sys.argv) < 3): fatal("Usage: " + sys.argv[0] + " ") - -outfile = sys.argv[1] -infiles = sys.argv[2:] -indir = re.sub(r'\/[^\/]*$', r'', infiles[0]) - -dbfile = '' -csvfile = '' - -if re.search(r'\.csv$', outfile): - csvfile = outfile -elif re.search(r'\.db$', outfile): - dbfile = outfile - csvfile = re.sub(r'\.db$', '.csv', outfile) -else: - fatal("Bad output file '" + outfile + "'") - -for f in infiles: parse_res(f) -if len(var_table) == 0: sys.exit(1) -merge_table() - -if dbfile == '': - dump_csv(csvfile) -else: - statfile = re.sub(r'\.csv$', '.stats.csv', csvfile) - jsonfile = re.sub(r'\.csv$', '.json', csvfile) - - with open(dbfile, mode='w') as fd: fd.truncate() - db = SQLiteDB(dbfile) - db.open_json(jsonfile); - - hsa_trace_found = fill_hsa_db('HSA', db, indir) - if hsa_trace_found: - fill_copy_db('COPY', db, indir) - fill_kernel_db('A', db) - - if hsa_trace_found: - db.label_json(HSA_PID, "CPU", jsonfile) - db.label_json(COPY_PID, "COPY", jsonfile) - - for ind in range(0, int(max_gpu_id) + 1): - db.label_json(int(ind) + int(GPU_BASE_PID), "GPU" + str(ind), jsonfile) - - if 'BeginNs' in var_list: - dform.post_process_data(db, 'A', csvfile) - dform.gen_table_bins(db, 'A', statfile, 'KernelName', 'DurationNs') - dform.gen_kernel_json_trace(db, 'A', GPU_BASE_PID, START_US, jsonfile) - else: - db.dump_csv('A', csvfile) - - if hsa_trace_found: - statfile = re.sub(r'stats', r'hsa_stats', statfile) - dform.post_process_data(db, 'HSA') - dform.gen_table_bins(db, 'HSA', statfile, 'Name', 'DurationNs') - dform.gen_api_json_trace(db, 'HSA', START_US, jsonfile) - - dform.post_process_data(db, 'COPY') - dform.gen_api_json_trace(db, 'COPY', START_US, jsonfile) - - dep_id = 0 - for (to_pid, dep_str) in dep_dict.items(): - tid_list = dep_str['tid'] - from_us_list = dep_str['from'] - to_us_dict = dep_str['to'] - db.flow_json(dep_id, HSA_PID, tid_list, from_us_list, to_pid, to_us_dict, START_US, jsonfile) - dep_id += len(tid_list) - - db.close_json(jsonfile); - db.close() - -sys.exit(0) -############################################################# diff --git a/bin/txt2xml.sh b/bin/txt2xml.sh deleted file mode 100755 index 27bbe8c474..0000000000 --- a/bin/txt2xml.sh +++ /dev/null @@ -1,100 +0,0 @@ -#!/bin/bash - -################################################################################ -# Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in -# all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -# THE SOFTWARE. -################################################################################ - -timestamp=`date +%y%m%d_%H%M%S` - -if [ $# = 0 ] ; then - echo "Usage: $0 [output dir]" - exit -1 -fi - -input=$1 -outdir=$2 -if [ -z "$outdir" ] ; then - outdir="." -fi - -range="" -kernel="" -gpu_index="" - -parse() { - scan="$1" - index=0 - while read -r line || [[ -n "$line" ]] ; do - line=`echo $line | sed "s/\s*#.*$//"` - if [ -z "$line" ] ; then - continue - fi - - feature=`echo $line | sed -n "s/^\s*\([a-z]*\)\s*:.*$/\1/p"` - line=`echo $line | sed "s/^[^:]*:\s*//"` - line=`echo "$line" | sed -e "s/\s*=\s*/=/g" -e "s/\s*:\s*/:/g" -e "s/,\{1,\}/ /g" -e "s/\s\{1,\}/ /g" -e "s/\s*$//"` - - if [ "$scan" = 0 ] ; then - line=`echo "$line" | sed -e "s/ /,/g"` - if [ "$feature" == "range" ] ; then - range=$line - fi - if [ "$feature" == "kernel" ] ; then - kernel=$line - fi - if [ "$feature" == "gpu" ] ; then - gpu_index=$line - fi - else - output=$outdir/input${index}.xml - header="# $timestamp '$output' generated with '$0 $*'" - echo $header > $output - - if [ "$feature" == "pmc" ] ; then - line=`echo "$line" | sed -e "s/ /,/g"` - cat >> $output < - -EOF - fi - - if [ "$feature" == "sqtt" ] ; then - cat >> $output < - -EOF - fi - - if [ "$feature" == "hsa" ] ; then - cat >> $output < -EOF - fi - fi - - index=$((index + 1)) - done < $input -} - -parse 0 -parse 1 - -exit 0 From a83acdae3a82b55d71b84ebbf7ce65516f91137f Mon Sep 17 00:00:00 2001 From: Evgeny Date: Tue, 16 Jun 2020 10:56:57 -0500 Subject: [PATCH 404/691] adding post initialization of HIP API pointer args to print returned by reference values Change-Id: Ifb73434d7ab9cd2dfe8811fc0cd013b78f4e12f2 --- test/tool/tracer_tool.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/test/tool/tracer_tool.cpp b/test/tool/tracer_tool.cpp index 23daad5fb2..4d1b396a7a 100644 --- a/test/tool/tracer_tool.cpp +++ b/test/tool/tracer_tool.cpp @@ -372,6 +372,9 @@ void hip_api_callback( if (data->phase == ACTIVITY_API_PHASE_ENTER) { hip_begin_timestamp = timer->timestamp_fn_ns(); } else { + // Post onit of HIP APU args + hipApiArgsInit((hip_api_id_t)cid, const_cast(data)); + const timestamp_t end_timestamp = timer->timestamp_fn_ns(); hip_api_trace_entry_t* entry = hip_api_trace_buffer.GetEntry(); entry->valid = roctracer::TRACE_ENTRY_COMPL; From 086a88288ed460937fde8b1a2f03e6440ced6a87 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Sat, 27 Jun 2020 01:08:57 -0500 Subject: [PATCH 405/691] fixing activity correlation for n-process use case Change-Id: Ied5b0d112719784fa00bfbf540bc30950ca147ea --- test/tool/tracer_tool.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/tool/tracer_tool.cpp b/test/tool/tracer_tool.cpp index 4d1b396a7a..ec12e75866 100644 --- a/test/tool/tracer_tool.cpp +++ b/test/tool/tracer_tool.cpp @@ -323,7 +323,7 @@ void hsa_activity_callback( void* arg) { static uint64_t index = 0; - fprintf(hsa_async_copy_file_handle, "%lu:%lu async-copy%lu\n", record->begin_ns, record->end_ns, index); fflush(hsa_async_copy_file_handle); + fprintf(hsa_async_copy_file_handle, "%lu:%lu async-copy:%lu:%u\n", record->begin_ns, record->end_ns, index, my_pid); fflush(hsa_async_copy_file_handle); index++; } From ee3ed373358912108db93e3d996e622e898e78eb Mon Sep 17 00:00:00 2001 From: Aaron Enye Shi Date: Mon, 13 Jul 2020 14:07:16 -0400 Subject: [PATCH 406/691] Update to use new bitcode library structure Also, continue support for old bitcode library layout for backwards compatibility. Requires PR: https://github.com/ROCmSoftwarePlatform/hsa-class/pull/3 Change-Id: I55b4fdb4c11442a4920eb721d178861b18912417 --- test/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index a0de735905..3e3b9654f3 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -44,7 +44,7 @@ endif () ## Path to HSA test set ( HSA_TEST_DIR "${TEST_DIR}/hsa/test" ) -set ( HSA_REV "48bd999" ) +set ( HSA_REV "5b47aae" ) ## test run script set ( RUN_SCRIPT "${TEST_DIR}/run.sh" ) From 9bb4b0d3115b4bb19b213dc7d21c7473fcb3b457 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Thu, 16 Jul 2020 04:42:31 -0500 Subject: [PATCH 407/691] fixed recursive mutex Change-Id: Id63d022b8fd9e900f40b1f991ecb413419d527ad --- src/core/trace_buffer.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/core/trace_buffer.h b/src/core/trace_buffer.h index c36c012014..8bda51bf97 100644 --- a/src/core/trace_buffer.h +++ b/src/core/trace_buffer.h @@ -117,7 +117,7 @@ class TraceBuffer : protected TraceBufferBase { typedef void (*callback_t)(Entry*); typedef TraceBuffer Obj; typedef uint64_t pointer_t; - typedef std::mutex mutex_t; + typedef std::recursive_mutex mutex_t; struct flush_prm_t { uint32_t type; @@ -131,10 +131,11 @@ class TraceBuffer : protected TraceBufferBase { name_ = strdup(name); size_ = size; data_ = allocate_fun(); - next_ = NULL; + next_ = allocate_fun(); read_pointer_ = 0; end_pointer_ = size; buf_list_.push_back(data_); + buf_list_.push_back(next_); flush_prm_arr_ = flush_prm_arr; flush_prm_count_ = flush_prm_count; From 0502f196d9fe39f0d357a9dd2235d348dac66572 Mon Sep 17 00:00:00 2001 From: Rachida Kebichi Date: Wed, 1 Jul 2020 15:09:45 -0400 Subject: [PATCH 408/691] more verbosity in trace diffs Change-Id: I1e3f6c8ee126ca4470f0846aabab19d18397dd64 --- script/check_trace.py | 134 +- test/MatrixTranspose_test/MatrixTranspose.cpp | 22 +- .../MatrixTranspose_ctest_trace.txt | 601 +- .../MatrixTranspose_hip_flush_trace.txt | 517 +- .../MatrixTranspose_hip_period_trace.txt | 522 +- .../MatrixTranspose_hipaact_test_trace.txt | 13235 +++++++---- .../MatrixTranspose_kfd_trace.txt | 3646 +++- .../MatrixTranspose_mgpu_trace.txt | 12589 ++++++----- .../MatrixTranspose_sys_hsa_trace.txt | 18053 ++++++++-------- .../MatrixTranspose_sys_trace.txt | 11698 +++++----- .../MatrixTranspose_test_trace.txt | 12558 ++++++----- test/golden_traces/tests_trace_cmp_levels.txt | 7 +- test/run.sh | 17 +- 13 files changed, 40405 insertions(+), 33194 deletions(-) diff --git a/script/check_trace.py b/script/check_trace.py index 085e5acd61..29baff8ab8 100644 --- a/script/check_trace.py +++ b/script/check_trace.py @@ -26,16 +26,21 @@ import argparse events_count = {} events_order = {} +events_order_r = {} trace2info = {} trace2info_filename = 'test/tests_trace_cmp_levels.txt' # Parses trace comparison config file and stores the info in a dictionary -def parse_trace_levels(trace_config_filename): +def parse_trace_levels(trace_config_filename, check_trace_flag): + status = 0 f = open(trace_config_filename) trace2info = {} for line in f: - if re.match('^# dummy',line): - return trace2info + if check_trace_flag == 0: + return (trace2info, status) + if (check_trace_flag == None) and re.match('^# dummy',line): + return (trace2info, status) + status = 1 lis = line.split(' ') trace_name = lis[0] comp_level = lis[1] @@ -70,16 +75,81 @@ def parse_trace_levels(trace_config_filename): trace2info[trace_name] = (comp_level,no_events_cnt,events2ignore,events2chkcnt,events2chkord,events2ch) - return trace2info + return (trace2info, status) -# check trace againt golden reference and returns 0 for pass, 1 for fail -def check_trace_status(tracename, verbose): - trace2info = parse_trace_levels(trace2info_filename) +# diff multi lines strings to show events differences +def diff_strings(cnt_r, cnt, metric): + global events_order_r + global events_order + + print ("\nDiffs (if any):\n") + if metric == 'cnt': + evt_ptrn = re.compile(r'(\w+).*$') + #cnt_ptrn = re.compile(r'(\w+): count (\d+)$') + for evt in cnt_r.split('\n'): + mevt_ptrn = evt_ptrn.match(evt) + #mcnt_ptrn = cnt_ptrn.match(evt) + if mevt_ptrn: + if not re.search(mevt_ptrn.group(1), cnt): + print ('+ ' + evt) + elif not re.search(evt, cnt): + print ('>D< ' + evt) + + for evt in cnt.split('\n'): + mevt_ptrn = evt_ptrn.match(evt) + #mcnt_ptrn = cnt_ptrn.match(evt) + if mevt_ptrn: + if not re.search(mevt_ptrn.group(1), cnt_r): + print ('- ' + evt) + if metric == 'or': + cnt_tid_r = 0 + for tid_r in sorted (events_order_r.keys()): + if len(events_order) == 0: + print ("+ " + str(events_order_r[tid_r]) + "\n\n") + continue + cnt_tid = 0 + for tid in sorted (events_order.keys()): + if cnt_tid == cnt_tid_r: + if events_order_r[tid_r] != events_order[tid]: + #print (">D< " + str(events_order_r[tid_r]) + "\n") + #print (">D< " + str(events_order[tid]) + "\n\n") + diff_cnt_r = 0 + found_diff_evt = 0 + for evt in events_order_r[tid_r]: + diff_cnt = 0 + for evt2 in events_order[tid]: + if diff_cnt == diff_cnt_r: + if evt != evt2: + print (">I< Difference starts at index: " + str(diff_cnt_r) + ", tid_r " + str(tid_r) + ", tid " + str(tid) + ", with evts " + evt + " and " + evt2 + "\n") + found_diff_evt = 1 + break + diff_cnt += 1 + diff_cnt_r += 1 + if found_diff_evt: break + if len(events_order_r[tid_r]) != len(events_order[tid]) and found_diff_evt == 0: + print (">I< Difference starts at index: " + str(min(len(events_order_r[tid_r]), len(events_order[tid]))) + ", with missing evts\n") + break + cnt_tid += 1 + cnt_tid_r += 1 + if len(events_order_r) == 0: + for tid in sorted (events_order.keys()): + print ("- " + str(events_order[tid]) + "\n") + +# check trace againt golden reference and returns 0 for pass, 1 for fail +def check_trace_status(tracename, verbose, check_trace_flag): + global events_order_r + global events_order + + (trace2info, status) = parse_trace_levels(trace2info_filename, check_trace_flag) if len(trace2info) == 0: - if verbose: + if status == 1: + print ("Error: no trace comparison info found in config file " + trace2info_filename + "\n") + print('FAILED!') + return 1 + if status == 0: print('PASSED!') - return 0 + return 0 trace = 'test/' + tracename + '.txt' rtrace = tracename + '.txt' @@ -92,7 +162,8 @@ def check_trace_status(tracename, verbose): events2chkord = events2chkord.rstrip('\n') events2ch = events2ch.rstrip('\n') else: - print('Trace ' + os.path.basename(tracename) + ' not found in ' + trace2info_filename + ', defaulting to level 0 i.e. no trace comparison') + print('Trace ' + os.path.basename(tracename) + ' not found in ' + trace2info_filename) + print('FAILED!') return 1 if no_events_cnt == '': @@ -105,34 +176,47 @@ def check_trace_status(tracename, verbose): events2chkord = '' if trace_level == '--check-none': - if verbose: - print('PASSED!') + print('PASSED!') return 0 if trace_level == '--check-diff': if filecmp.cmp(trace,rtrace): - if verbose: - print('PASSED!') + print('PASSED!') return 0 else: print('FAILED!') os.system('/usr/bin/diff --brief ' + trace + ' ' + rtrace) return 1 + metric = '' + if trace_level == '--check-count' or trace_level == '--check-events': + metric = 'cnt' + if trace_level == '--check-order': + metric = 'or' + cnt_r = gen_events_info(rtrace,trace_level,no_events_cnt,events2ignore,events2chkcnt,events2chkord,verbose) + events_order_r = {} + for tid in sorted (events_order.keys()) : + events_order_r[tid] = events_order[tid] cnt = gen_events_info(trace,trace_level,no_events_cnt,events2ignore,events2chkcnt,events2chkord,verbose) + if verbose: + print '\n' + rtrace + ':\n' + print cnt_r + print '\n' + trace + ':\n' + print cnt + diff_strings(cnt_r, cnt, metric) + if cnt_r == cnt: - if verbose: - print('PASSED!') + print('PASSED!') return 0 else: - if verbose: - print('FAILED!') + print('FAILED!') return 1 # Parses roctracer trace file for regression purpose # and generates events count per event (when cnt is on) or events order per tid (when order is on) def gen_events_info(tracefile, trace_level, no_events_cnt, events2ignore, events2chkcnt, events2chkord, verbose): + global events_order metric = '' if trace_level == '--check-count' or trace_level == '--check-events': metric = 'cnt' @@ -150,18 +234,20 @@ def gen_events_info(tracefile, trace_level, no_events_cnt, events2ignore, events test_act_pattern = re.compile(r'\s*(\w+)\s+.*_id\((\d+)\)$') #' hipSetDevice correlation_id(1) time_ns(1548622357525055:1548622357542015) process_id(126283) thread_id(126283)' #' hcCommandKernel correlation_id(6) time_ns(1548622661443020:1548622662666935) device_id(0) queue_id(0)' - test_api_cb_pattern = re.compile(r'<(\w+)\s+.*tid\((\d+)\)>') + test_api_cb_pattern = re.compile(r'.*<(\w+)\s+.*tid\((\d+)\)>') # # below is roctx pattern # tool_record = re.compile(r'\d+:\d+\s+\d+:(\d+)\s+(\w+)') - # tool_api_record + # tool_api_record # 1822810364769411:1822810364771941 116477:116477 hsa_agent_get_info(, 17, 0x7ffeac015fec) = 0 - # tool_gpu_act_record + # tool_gpu_act_record # 3632773658039902:3632773658046462 0:0 hcCommandMarker:273 with open(tracefile) as f: for line in f: + if re.search("before", line) or re.search("after",line):#roctx before/after not real events + continue line=line.rstrip('\n') event = '' test_act_pattern_match = test_act_pattern.match(line) @@ -206,17 +292,17 @@ def gen_events_info(tracefile, trace_level, no_events_cnt, events2ignore, events if metric == 'or': for tid in sorted (events_order.keys()) : res = res + str(events_order[tid]) - if verbose: - print(res) return res parser = argparse.ArgumentParser(description='check_trace.py: check a trace aainst golden ref. Returns 0 for success, 1 for failure') requiredNamed = parser.add_argument_group('Required arguments') requiredNamed.add_argument('-in', metavar='file', help='Name of trace to be checked', required=True) requiredNamed.add_argument('-v', action='store_true', help='debug info', required=False) +requiredNamed.add_argument('-ck', metavar='N', type=int, help='check trace 0|1', required=False) + args = vars(parser.parse_args()) if __name__ == '__main__': - sys.exit(check_trace_status(args['in'],args['v'])) + sys.exit(check_trace_status(args['in'],args['v'],args['ck'])) diff --git a/test/MatrixTranspose_test/MatrixTranspose.cpp b/test/MatrixTranspose_test/MatrixTranspose.cpp index 4a1b5a6e0b..cf91a571dd 100644 --- a/test/MatrixTranspose_test/MatrixTranspose.cpp +++ b/test/MatrixTranspose_test/MatrixTranspose.cpp @@ -36,9 +36,15 @@ using namespace std; // roctracer extension API #include -const size_t msg_size = 512; -char* msg_buf = NULL; -char* message = NULL; +#ifdef __cplusplus +static thread_local const size_t msg_size = 512; +static thread_local char* msg_buf = NULL; +static thread_local char* message = NULL; +#else +static const size_t msg_size = 512; +static char* msg_buf = NULL; +static char* message = NULL; +#endif void SPRINT(const char* fmt, ...) { if (msg_buf == NULL) { msg_buf = (char*) calloc(msg_size, 1); @@ -259,24 +265,24 @@ void api_callback( if (domain == ACTIVITY_DOMAIN_ROCTX) { const roctx_api_data_t* data = (const roctx_api_data_t*)(callback_data); - fprintf(stdout, "\n", data->args.message); + fprintf(stdout, "rocTX <\"%s pid(%d) tid(%d)\">\n", data->args.message, GetPid(), GetTid()); return; } if (domain == ACTIVITY_DOMAIN_KFD_API) { const kfd_api_data_t* data = (const kfd_api_data_t*)(callback_data); - fprintf(stdout, "<%s id(%u)\tcorrelation_id(%lu) %s>\n", + fprintf(stdout, "<%s id(%u)\tcorrelation_id(%lu) %s pid(%d) tid(%d)>\n", roctracer_op_string(ACTIVITY_DOMAIN_KFD_API, cid, 0), cid, data->correlation_id, - (data->phase == ACTIVITY_API_PHASE_ENTER) ? "on-enter" : "on-exit"); + (data->phase == ACTIVITY_API_PHASE_ENTER) ? "on-enter" : "on-exit", GetPid(), GetTid()); return; } const hip_api_data_t* data = (const hip_api_data_t*)(callback_data); - SPRINT("<%s id(%u)\tcorrelation_id(%lu) %s> ", + SPRINT("<%s id(%u)\tcorrelation_id(%lu) %s pid(%d) tid(%d)> ", roctracer_op_string(ACTIVITY_DOMAIN_HIP_API, cid, 0), cid, data->correlation_id, - (data->phase == ACTIVITY_API_PHASE_ENTER) ? "on-enter" : "on-exit"); + (data->phase == ACTIVITY_API_PHASE_ENTER) ? "on-enter" : "on-exit", GetPid(), GetTid()); if (data->phase == ACTIVITY_API_PHASE_ENTER) { switch (cid) { case HIP_API_ID_hipMemcpy: diff --git a/test/golden_traces/MatrixTranspose_ctest_trace.txt b/test/golden_traces/MatrixTranspose_ctest_trace.txt index 833753d134..528caffae3 100644 --- a/test/golden_traces/MatrixTranspose_ctest_trace.txt +++ b/test/golden_traces/MatrixTranspose_ctest_trace.txt @@ -1,501 +1,502 @@ ++ LD_PRELOAD=libkfdwrapper64.so ./test/MatrixTranspose_ctest # INIT ############################# # START (99) ############################# - - - - - - +rocTX <"before hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"after hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"hipMemcpy pid(22834) tid(22834)"> +rocTX <"(null) pid(22834) tid(22834)"> +rocTX <"(null) pid(22834) tid(22834)"> PASSED! # START (98) ############################# PASSED! # START (97) ############################# - - - - - - +rocTX <"before hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"after hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"hipMemcpy pid(22834) tid(22834)"> +rocTX <"(null) pid(22834) tid(22834)"> +rocTX <"(null) pid(22834) tid(22834)"> PASSED! # START (96) ############################# PASSED! # START (95) ############################# - - - - - - +rocTX <"before hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"after hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"hipMemcpy pid(22834) tid(22834)"> +rocTX <"(null) pid(22834) tid(22834)"> +rocTX <"(null) pid(22834) tid(22834)"> PASSED! # START (94) ############################# PASSED! # START (93) ############################# - - - - - - +rocTX <"before hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"after hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"hipMemcpy pid(22834) tid(22834)"> +rocTX <"(null) pid(22834) tid(22834)"> +rocTX <"(null) pid(22834) tid(22834)"> PASSED! # START (92) ############################# PASSED! # START (91) ############################# - - - - - - +rocTX <"before hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"after hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"hipMemcpy pid(22834) tid(22834)"> +rocTX <"(null) pid(22834) tid(22834)"> +rocTX <"(null) pid(22834) tid(22834)"> PASSED! # START (90) ############################# PASSED! # START (89) ############################# - - - - - - +rocTX <"before hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"after hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"hipMemcpy pid(22834) tid(22834)"> +rocTX <"(null) pid(22834) tid(22834)"> +rocTX <"(null) pid(22834) tid(22834)"> PASSED! # START (88) ############################# PASSED! # START (87) ############################# - - - - - - +rocTX <"before hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"after hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"hipMemcpy pid(22834) tid(22834)"> +rocTX <"(null) pid(22834) tid(22834)"> +rocTX <"(null) pid(22834) tid(22834)"> PASSED! # START (86) ############################# PASSED! # START (85) ############################# - - - - - - +rocTX <"before hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"after hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"hipMemcpy pid(22834) tid(22834)"> +rocTX <"(null) pid(22834) tid(22834)"> +rocTX <"(null) pid(22834) tid(22834)"> PASSED! # START (84) ############################# PASSED! # START (83) ############################# - - - - - - +rocTX <"before hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"after hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"hipMemcpy pid(22834) tid(22834)"> +rocTX <"(null) pid(22834) tid(22834)"> +rocTX <"(null) pid(22834) tid(22834)"> PASSED! # START (82) ############################# PASSED! # START (81) ############################# - - - - - - +rocTX <"before hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"after hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"hipMemcpy pid(22834) tid(22834)"> +rocTX <"(null) pid(22834) tid(22834)"> +rocTX <"(null) pid(22834) tid(22834)"> PASSED! # START (80) ############################# PASSED! # START (79) ############################# - - - - - - +rocTX <"before hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"after hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"hipMemcpy pid(22834) tid(22834)"> +rocTX <"(null) pid(22834) tid(22834)"> +rocTX <"(null) pid(22834) tid(22834)"> PASSED! # START (78) ############################# PASSED! # START (77) ############################# - - - - - - +rocTX <"before hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"after hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"hipMemcpy pid(22834) tid(22834)"> +rocTX <"(null) pid(22834) tid(22834)"> +rocTX <"(null) pid(22834) tid(22834)"> PASSED! # START (76) ############################# PASSED! # START (75) ############################# - - - - - - +rocTX <"before hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"after hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"hipMemcpy pid(22834) tid(22834)"> +rocTX <"(null) pid(22834) tid(22834)"> +rocTX <"(null) pid(22834) tid(22834)"> PASSED! # START (74) ############################# PASSED! # START (73) ############################# - - - - - - +rocTX <"before hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"after hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"hipMemcpy pid(22834) tid(22834)"> +rocTX <"(null) pid(22834) tid(22834)"> +rocTX <"(null) pid(22834) tid(22834)"> PASSED! # START (72) ############################# PASSED! # START (71) ############################# - - - - - - +rocTX <"before hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"after hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"hipMemcpy pid(22834) tid(22834)"> +rocTX <"(null) pid(22834) tid(22834)"> +rocTX <"(null) pid(22834) tid(22834)"> PASSED! # START (70) ############################# PASSED! # START (69) ############################# - - - - - - +rocTX <"before hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"after hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"hipMemcpy pid(22834) tid(22834)"> +rocTX <"(null) pid(22834) tid(22834)"> +rocTX <"(null) pid(22834) tid(22834)"> PASSED! # START (68) ############################# PASSED! # START (67) ############################# - - - - - - +rocTX <"before hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"after hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"hipMemcpy pid(22834) tid(22834)"> +rocTX <"(null) pid(22834) tid(22834)"> +rocTX <"(null) pid(22834) tid(22834)"> PASSED! # START (66) ############################# PASSED! # START (65) ############################# - - - - - - +rocTX <"before hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"after hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"hipMemcpy pid(22834) tid(22834)"> +rocTX <"(null) pid(22834) tid(22834)"> +rocTX <"(null) pid(22834) tid(22834)"> PASSED! # START (64) ############################# PASSED! # START (63) ############################# - - - - - - +rocTX <"before hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"after hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"hipMemcpy pid(22834) tid(22834)"> +rocTX <"(null) pid(22834) tid(22834)"> +rocTX <"(null) pid(22834) tid(22834)"> PASSED! # START (62) ############################# PASSED! # START (61) ############################# - - - - - - +rocTX <"before hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"after hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"hipMemcpy pid(22834) tid(22834)"> +rocTX <"(null) pid(22834) tid(22834)"> +rocTX <"(null) pid(22834) tid(22834)"> PASSED! # START (60) ############################# PASSED! # START (59) ############################# - - - - - - +rocTX <"before hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"after hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"hipMemcpy pid(22834) tid(22834)"> +rocTX <"(null) pid(22834) tid(22834)"> +rocTX <"(null) pid(22834) tid(22834)"> PASSED! # START (58) ############################# PASSED! # START (57) ############################# - - - - - - +rocTX <"before hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"after hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"hipMemcpy pid(22834) tid(22834)"> +rocTX <"(null) pid(22834) tid(22834)"> +rocTX <"(null) pid(22834) tid(22834)"> PASSED! # START (56) ############################# PASSED! # START (55) ############################# - - - - - - +rocTX <"before hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"after hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"hipMemcpy pid(22834) tid(22834)"> +rocTX <"(null) pid(22834) tid(22834)"> +rocTX <"(null) pid(22834) tid(22834)"> PASSED! # START (54) ############################# PASSED! # START (53) ############################# - - - - - - +rocTX <"before hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"after hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"hipMemcpy pid(22834) tid(22834)"> +rocTX <"(null) pid(22834) tid(22834)"> +rocTX <"(null) pid(22834) tid(22834)"> PASSED! # START (52) ############################# PASSED! # START (51) ############################# - - - - - - +rocTX <"before hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"after hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"hipMemcpy pid(22834) tid(22834)"> +rocTX <"(null) pid(22834) tid(22834)"> +rocTX <"(null) pid(22834) tid(22834)"> PASSED! # START (50) ############################# PASSED! # START (49) ############################# - - - - - - +rocTX <"before hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"after hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"hipMemcpy pid(22834) tid(22834)"> +rocTX <"(null) pid(22834) tid(22834)"> +rocTX <"(null) pid(22834) tid(22834)"> PASSED! # START (48) ############################# PASSED! # START (47) ############################# - - - - - - +rocTX <"before hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"after hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"hipMemcpy pid(22834) tid(22834)"> +rocTX <"(null) pid(22834) tid(22834)"> +rocTX <"(null) pid(22834) tid(22834)"> PASSED! # START (46) ############################# PASSED! # START (45) ############################# - - - - - - +rocTX <"before hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"after hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"hipMemcpy pid(22834) tid(22834)"> +rocTX <"(null) pid(22834) tid(22834)"> +rocTX <"(null) pid(22834) tid(22834)"> PASSED! # START (44) ############################# PASSED! # START (43) ############################# - - - - - - +rocTX <"before hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"after hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"hipMemcpy pid(22834) tid(22834)"> +rocTX <"(null) pid(22834) tid(22834)"> +rocTX <"(null) pid(22834) tid(22834)"> PASSED! # START (42) ############################# PASSED! # START (41) ############################# - - - - - - +rocTX <"before hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"after hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"hipMemcpy pid(22834) tid(22834)"> +rocTX <"(null) pid(22834) tid(22834)"> +rocTX <"(null) pid(22834) tid(22834)"> PASSED! # START (40) ############################# PASSED! # START (39) ############################# - - - - - - +rocTX <"before hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"after hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"hipMemcpy pid(22834) tid(22834)"> +rocTX <"(null) pid(22834) tid(22834)"> +rocTX <"(null) pid(22834) tid(22834)"> PASSED! # START (38) ############################# PASSED! # START (37) ############################# - - - - - - +rocTX <"before hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"after hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"hipMemcpy pid(22834) tid(22834)"> +rocTX <"(null) pid(22834) tid(22834)"> +rocTX <"(null) pid(22834) tid(22834)"> PASSED! # START (36) ############################# PASSED! # START (35) ############################# - - - - - - +rocTX <"before hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"after hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"hipMemcpy pid(22834) tid(22834)"> +rocTX <"(null) pid(22834) tid(22834)"> +rocTX <"(null) pid(22834) tid(22834)"> PASSED! # START (34) ############################# PASSED! # START (33) ############################# - - - - - - +rocTX <"before hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"after hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"hipMemcpy pid(22834) tid(22834)"> +rocTX <"(null) pid(22834) tid(22834)"> +rocTX <"(null) pid(22834) tid(22834)"> PASSED! # START (32) ############################# PASSED! # START (31) ############################# - - - - - - +rocTX <"before hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"after hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"hipMemcpy pid(22834) tid(22834)"> +rocTX <"(null) pid(22834) tid(22834)"> +rocTX <"(null) pid(22834) tid(22834)"> PASSED! # START (30) ############################# PASSED! # START (29) ############################# - - - - - - +rocTX <"before hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"after hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"hipMemcpy pid(22834) tid(22834)"> +rocTX <"(null) pid(22834) tid(22834)"> +rocTX <"(null) pid(22834) tid(22834)"> PASSED! # START (28) ############################# PASSED! # START (27) ############################# - - - - - - +rocTX <"before hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"after hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"hipMemcpy pid(22834) tid(22834)"> +rocTX <"(null) pid(22834) tid(22834)"> +rocTX <"(null) pid(22834) tid(22834)"> PASSED! # START (26) ############################# PASSED! # START (25) ############################# - - - - - - +rocTX <"before hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"after hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"hipMemcpy pid(22834) tid(22834)"> +rocTX <"(null) pid(22834) tid(22834)"> +rocTX <"(null) pid(22834) tid(22834)"> PASSED! # START (24) ############################# PASSED! # START (23) ############################# - - - - - - +rocTX <"before hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"after hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"hipMemcpy pid(22834) tid(22834)"> +rocTX <"(null) pid(22834) tid(22834)"> +rocTX <"(null) pid(22834) tid(22834)"> PASSED! # START (22) ############################# PASSED! # START (21) ############################# - - - - - - +rocTX <"before hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"after hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"hipMemcpy pid(22834) tid(22834)"> +rocTX <"(null) pid(22834) tid(22834)"> +rocTX <"(null) pid(22834) tid(22834)"> PASSED! # START (20) ############################# PASSED! # START (19) ############################# - - - - - - +rocTX <"before hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"after hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"hipMemcpy pid(22834) tid(22834)"> +rocTX <"(null) pid(22834) tid(22834)"> +rocTX <"(null) pid(22834) tid(22834)"> PASSED! # START (18) ############################# PASSED! # START (17) ############################# - - - - - - +rocTX <"before hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"after hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"hipMemcpy pid(22834) tid(22834)"> +rocTX <"(null) pid(22834) tid(22834)"> +rocTX <"(null) pid(22834) tid(22834)"> PASSED! # START (16) ############################# PASSED! # START (15) ############################# - - - - - - +rocTX <"before hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"after hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"hipMemcpy pid(22834) tid(22834)"> +rocTX <"(null) pid(22834) tid(22834)"> +rocTX <"(null) pid(22834) tid(22834)"> PASSED! # START (14) ############################# PASSED! # START (13) ############################# - - - - - - +rocTX <"before hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"after hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"hipMemcpy pid(22834) tid(22834)"> +rocTX <"(null) pid(22834) tid(22834)"> +rocTX <"(null) pid(22834) tid(22834)"> PASSED! # START (12) ############################# PASSED! # START (11) ############################# - - - - - - +rocTX <"before hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"after hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"hipMemcpy pid(22834) tid(22834)"> +rocTX <"(null) pid(22834) tid(22834)"> +rocTX <"(null) pid(22834) tid(22834)"> PASSED! # START (10) ############################# PASSED! # START (9) ############################# - - - - - - +rocTX <"before hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"after hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"hipMemcpy pid(22834) tid(22834)"> +rocTX <"(null) pid(22834) tid(22834)"> +rocTX <"(null) pid(22834) tid(22834)"> PASSED! # START (8) ############################# PASSED! # START (7) ############################# - - - - - - +rocTX <"before hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"after hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"hipMemcpy pid(22834) tid(22834)"> +rocTX <"(null) pid(22834) tid(22834)"> +rocTX <"(null) pid(22834) tid(22834)"> PASSED! # START (6) ############################# PASSED! # START (5) ############################# - - - - - - +rocTX <"before hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"after hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"hipMemcpy pid(22834) tid(22834)"> +rocTX <"(null) pid(22834) tid(22834)"> +rocTX <"(null) pid(22834) tid(22834)"> PASSED! # START (4) ############################# PASSED! # START (3) ############################# - - - - - - +rocTX <"before hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"after hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"hipMemcpy pid(22834) tid(22834)"> +rocTX <"(null) pid(22834) tid(22834)"> +rocTX <"(null) pid(22834) tid(22834)"> PASSED! # START (2) ############################# PASSED! # START (1) ############################# - - - - - - +rocTX <"before hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"after hipLaunchKernel pid(22834) tid(22834)"> +rocTX <"hipMemcpy pid(22834) tid(22834)"> +rocTX <"(null) pid(22834) tid(22834)"> +rocTX <"(null) pid(22834) tid(22834)"> PASSED! # START (0) ############################# PASSED! diff --git a/test/golden_traces/MatrixTranspose_hip_flush_trace.txt b/test/golden_traces/MatrixTranspose_hip_flush_trace.txt index 5d8a96185b..27ef8e95f8 100644 --- a/test/golden_traces/MatrixTranspose_hip_flush_trace.txt +++ b/test/golden_traces/MatrixTranspose_hip_flush_trace.txt @@ -1,20 +1,21 @@ -ROCTracer (pid=26066): ++ ROCP_FLUSH_RATE=100000 ./test/MatrixTranspose +ROCTracer (pid=1991): ROCTracer: trace control flush rate(100000us) +3802701299772587 HIP-trace() -ROCTracer (pid=26066): -ROCTracer: trace control flush rate(100000us) - HIP-trace() -Device name Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device name Device 687f ## Iteration (99) ################# -43934932418043:43934932456496 26066:26066 hipGetDeviceProperties() -43934934626423:43934934675542 26066:26066 hipMalloc(ptr(0x902800000) size(0x400000)) -43934934677103:43934934698784 26066:26066 hipMalloc(ptr(0x903000000) size(0x400000)) -43934934708976:43934940336620 26066:26066 hipMemcpy(dst(0x902800000) src(0x1384170) size(0x400000) kind(1)) -43934940338871:43934940338872 26066:26066 MARK(name(before HIP LaunchKernel)) -43935225511780:43935227349863 0:0 hcCommandKernel:6 -43935227358980:43935227395780 0:0 hcCommandMarker:8 +3802701304199730:3802701304207180 1991:1991 hipGetDeviceProperties(props=, device=0) +3802701305255618:3802701305368889 1991:1991 hipMalloc(ptr=0x7fce16e0dec3, size=4194304) +3802701305370969:3802701305429809 1991:1991 hipMalloc(ptr=0x7fffc1295178, size=4194304) PASSED! ## Iteration (98) ################# +3802701580515709:3802701582582904 0:0 CopyHostToDevice:4:1991 +3802701583225872:3802701584425191 0:0 KernelExecution:8:1991 +3802701583217109:3802701586447303 0:0 CopyDeviceToHost:10:1991 +3802701594795564:3802701596533727 0:0 CopyHostToDevice:11:1991 +3802701596646592:3802701597848875 0:0 KernelExecution:15:1991 +3802701596604988:3802701599522360 0:0 CopyDeviceToHost:17:1991 PASSED! ## Iteration (97) ################# PASSED! @@ -23,16 +24,6 @@ PASSED! ## Iteration (95) ################# PASSED! ## Iteration (94) ################# -43935243433550:43935245268113 0:0 hcCommandKernel:11 -43935245270936:43935245302936 0:0 hcCommandMarker:13 -43935261086822:43935262934346 0:0 hcCommandKernel:16 -43935262937310:43935262969310 0:0 hcCommandMarker:18 -43935278843800:43935280686843 0:0 hcCommandKernel:21 -43935280690009:43935280722009 0:0 hcCommandMarker:23 -43935296495925:43935298337528 0:0 hcCommandKernel:26 -43935298340338:43935298371858 0:0 hcCommandMarker:28 -43935314291986:43935316140949 0:0 hcCommandKernel:31 -43935316144062:43935316175422 0:0 hcCommandMarker:33 PASSED! ## Iteration (93) ################# PASSED! @@ -41,22 +32,34 @@ PASSED! ## Iteration (91) ################# PASSED! ## Iteration (90) ################# +3802701606826614:3802701608688328 0:0 CopyHostToDevice:18:1991 +3802701608781496:3802701609988668 0:0 KernelExecution:22:1991 +3802701608758548:3802701611510159 0:0 CopyDeviceToHost:24:1991 +3802701618702082:3802701620571865 0:0 CopyHostToDevice:25:1991 +3802701620675087:3802701621878110 0:0 KernelExecution:29:1991 +3802701620650876:3802701623502597 0:0 CopyDeviceToHost:31:1991 +3802701630690881:3802701632557164 0:0 CopyHostToDevice:32:1991 +3802701632661061:3802701633864973 0:0 KernelExecution:36:1991 +3802701632637885:3802701635182424 0:0 CopyDeviceToHost:38:1991 +3802701642392578:3802701644307152 0:0 CopyHostToDevice:39:1991 +3802701644410516:3802701645608650 0:0 KernelExecution:43:1991 +3802701644387082:3802701647064112 0:0 CopyDeviceToHost:45:1991 +3802701654288485:3802701656163049 0:0 CopyHostToDevice:46:1991 +3802701656267334:3802701657467098 0:0 KernelExecution:50:1991 +3802701656244070:3802701658916870 0:0 CopyDeviceToHost:52:1991 +3802701666450396:3802701668378780 0:0 CopyHostToDevice:53:1991 +3802701668482438:3802701669683832 0:0 KernelExecution:57:1991 +3802701668458481:3802701671148361 0:0 CopyDeviceToHost:59:1991 +3802701678631556:3802701680505490 0:0 CopyHostToDevice:60:1991 +3802701680609945:3802701681806894 0:0 KernelExecution:64:1991 +3802701680586811:3802701683591443 0:0 CopyDeviceToHost:66:1991 +3802701691032768:3802701692918102 0:0 CopyHostToDevice:67:1991 +3802701693021896:3802701694223438 0:0 KernelExecution:71:1991 +3802701692999202:3802701695886464 0:0 CopyDeviceToHost:73:1991 PASSED! ## Iteration (89) ################# -43935332066943:43935333908066 0:0 hcCommandKernel:36 -43935333911153:43935333942513 0:0 hcCommandMarker:38 -43935350038934:43935351880697 0:0 hcCommandKernel:41 -43935351883641:43935351915001 0:0 hcCommandMarker:43 -43935367793257:43935369638700 0:0 hcCommandKernel:46 -43935369641744:43935369673104 0:0 hcCommandMarker:48 -43935385528005:43935387375368 0:0 hcCommandKernel:51 -43935387378362:43935387409722 0:0 hcCommandMarker:53 -43935403309412:43935405152295 0:0 hcCommandKernel:56 -43935405155209:43935405186569 0:0 hcCommandMarker:58 PASSED! ## Iteration (88) ################# -43935421119359:43935422961442 0:0 hcCommandKernel:61 -43935422964474:43935422995834 0:0 hcCommandMarker:63 PASSED! ## Iteration (87) ################# PASSED! @@ -67,22 +70,34 @@ PASSED! ## Iteration (84) ################# PASSED! ## Iteration (83) ################# -43935438844897:43935440686660 0:0 hcCommandKernel:66 -43935440689713:43935440721393 0:0 hcCommandMarker:68 -43935456490502:43935458334505 0:0 hcCommandKernel:71 -43935458337617:43935458368977 0:0 hcCommandMarker:73 -43935474147631:43935475986514 0:0 hcCommandKernel:76 -43935475989587:43935476020947 0:0 hcCommandMarker:78 -43935491854358:43935492341878 0:0 hcCommandKernel:81 -43935492345644:43935492352044 0:0 hcCommandMarker:83 -43935508126004:43935508605044 0:0 hcCommandKernel:86 -43935508608028:43935508614588 0:0 hcCommandMarker:88 PASSED! ## Iteration (82) ################# -43935524418876:43935524907836 0:0 hcCommandKernel:91 -43935524910557:43935524917117 0:0 hcCommandMarker:93 PASSED! ## Iteration (81) ################# +3802701703288299:3802701705170783 0:0 CopyHostToDevice:74:1991 +3802701705274243:3802701706486156 0:0 KernelExecution:78:1991 +3802701705250604:3802701707936074 0:0 CopyDeviceToHost:80:1991 +3802701715184407:3802701716946440 0:0 CopyHostToDevice:81:1991 +3802701717062173:3802701718258234 0:0 KernelExecution:85:1991 +3802701717027281:3802701719895352 0:0 CopyDeviceToHost:87:1991 +3802701727144976:3802701729139460 0:0 CopyHostToDevice:88:1991 +3802701729244175:3802701730445125 0:0 KernelExecution:92:1991 +3802701729220511:3802701732165583 0:0 CopyDeviceToHost:94:1991 +3802701739387037:3802701741142680 0:0 CopyHostToDevice:95:1991 +3802701741249310:3802701742453815 0:0 KernelExecution:99:1991 +3802701741225710:3802701744149042 0:0 CopyDeviceToHost:101:1991 +3802701751388465:3802701753137668 0:0 CopyHostToDevice:102:1991 +3802701753243075:3802701754440321 0:0 KernelExecution:106:1991 +3802701753219589:3802701756153951 0:0 CopyDeviceToHost:108:1991 +3802701763443335:3802701765498080 0:0 CopyHostToDevice:109:1991 +3802701765603802:3802701766820456 0:0 KernelExecution:113:1991 +3802701765580171:3802701768590463 0:0 CopyDeviceToHost:115:1991 +3802701775866137:3802701777758951 0:0 CopyHostToDevice:116:1991 +3802701777862528:3802701779073255 0:0 KernelExecution:120:1991 +3802701777839322:3802701780544442 0:0 CopyDeviceToHost:122:1991 +3802701787979987:3802701790138553 0:0 CopyHostToDevice:123:1991 +3802701790243940:3802701791446371 0:0 KernelExecution:127:1991 +3802701790220103:3802701792896973 0:0 CopyDeviceToHost:129:1991 PASSED! ## Iteration (80) ################# PASSED! @@ -91,44 +106,47 @@ PASSED! ## Iteration (78) ################# PASSED! ## Iteration (77) ################# -43935540719417:43935541208217 0:0 hcCommandKernel:96 -43935541211437:43935541217997 0:0 hcCommandMarker:98 -43935556967811:43935557454211 0:0 hcCommandKernel:101 -43935557457796:43935557464356 0:0 hcCommandMarker:103 -43935573251751:43935573737511 0:0 hcCommandKernel:106 -43935573740418:43935573746978 0:0 hcCommandMarker:108 -43935589528260:43935590013700 0:0 hcCommandKernel:111 -43935590017484:43935590024044 0:0 hcCommandMarker:113 -43935605722549:43935606210549 0:0 hcCommandKernel:116 -43935606213595:43935606220155 0:0 hcCommandMarker:118 PASSED! ## Iteration (76) ################# -43935621981951:43935622472991 0:0 hcCommandKernel:121 -43935622476644:43935622483204 0:0 hcCommandMarker:123 PASSED! ## Iteration (75) ################# PASSED! ## Iteration (74) ################# PASSED! ## Iteration (73) ################# +3802701800291738:3802701802179392 0:0 CopyHostToDevice:130:1991 +3802701802285163:3802701803481223 0:0 KernelExecution:134:1991 +3802701802261733:3802701804931343 0:0 CopyDeviceToHost:136:1991 +3802701812337128:3802701814252581 0:0 CopyHostToDevice:137:1991 +3802701814356366:3802701815565464 0:0 KernelExecution:141:1991 +3802701814332902:3802701817015292 0:0 CopyDeviceToHost:143:1991 +3802701824392847:3802701826310401 0:0 CopyHostToDevice:144:1991 +3802701826415256:3802701827613539 0:0 KernelExecution:148:1991 +3802701826391761:3802701829071431 0:0 CopyDeviceToHost:150:1991 +3802701836291435:3802701838179779 0:0 CopyHostToDevice:151:1991 +3802701838283081:3802701839480623 0:0 KernelExecution:155:1991 +3802701838259290:3802701840931690 0:0 CopyDeviceToHost:157:1991 +3802701848294054:3802701850186618 0:0 CopyHostToDevice:158:1991 +3802701850293201:3802701851487632 0:0 KernelExecution:162:1991 +3802701850269869:3802701852937908 0:0 CopyDeviceToHost:164:1991 +3802701860182332:3802701862143417 0:0 CopyHostToDevice:165:1991 +3802701862248805:3802701863444865 0:0 KernelExecution:169:1991 +3802701862224967:3802701865141909 0:0 CopyDeviceToHost:171:1991 +3802701872353003:3802701874265587 0:0 CopyHostToDevice:172:1991 +3802701874371291:3802701875572092 0:0 KernelExecution:176:1991 +3802701874348307:3802701877019147 0:0 CopyDeviceToHost:178:1991 +3802701884267750:3802701886153054 0:0 CopyHostToDevice:179:1991 +3802701886259179:3802701887463536 0:0 KernelExecution:183:1991 +3802701886235615:3802701888914085 0:0 CopyDeviceToHost:185:1991 +3802701896155929:3802701898142244 0:0 CopyHostToDevice:186:1991 +3802701898246687:3802701899454155 0:0 KernelExecution:190:1991 +3802701898223504:3802701901145246 0:0 CopyDeviceToHost:192:1991 PASSED! ## Iteration (72) ################# PASSED! ## Iteration (71) ################# -43935638193139:43935638675859 0:0 hcCommandKernel:126 -43935638678816:43935638685216 0:0 hcCommandMarker:128 -43935654459215:43935654944496 0:0 hcCommandKernel:131 -43935654952142:43935654958862 0:0 hcCommandMarker:133 -43935670702708:43935671183508 0:0 hcCommandKernel:136 -43935671186548:43935671193108 0:0 hcCommandMarker:138 -43935686939367:43935687417768 0:0 hcCommandKernel:141 -43935687425608:43935687432168 0:0 hcCommandMarker:143 -43935703168285:43935703658045 0:0 hcCommandKernel:146 -43935703661042:43935703667442 0:0 hcCommandMarker:148 PASSED! ## Iteration (70) ################# -43935719453292:43935719944172 0:0 hcCommandKernel:151 -43935719947859:43935719954419 0:0 hcCommandMarker:153 PASSED! ## Iteration (69) ################# PASSED! @@ -139,20 +157,32 @@ PASSED! ## Iteration (66) ################# PASSED! ## Iteration (65) ################# -43935735726735:43935736208335 0:0 hcCommandKernel:156 -43935736212026:43935736218586 0:0 hcCommandMarker:158 -43935751921190:43935752410790 0:0 hcCommandKernel:161 -43935752414441:43935752421001 0:0 hcCommandMarker:163 -43935768118205:43935768606045 0:0 hcCommandKernel:166 -43935768608995:43935768615555 0:0 hcCommandMarker:168 -43935784195088:43935784686608 0:0 hcCommandKernel:171 -43935784689436:43935784695996 0:0 hcCommandMarker:173 -43935800433600:43935800920160 0:0 hcCommandKernel:176 -43935800923246:43935800929646 0:0 hcCommandMarker:178 +3802701908363640:3802701910282004 0:0 CopyHostToDevice:193:1991 +3802701910388686:3802701911593636 0:0 KernelExecution:197:1991 +3802701910364944:3802701913041924 0:0 CopyDeviceToHost:199:1991 +3802701920274197:3802701922171761 0:0 CopyHostToDevice:200:1991 +3802701922278125:3802701923475222 0:0 KernelExecution:204:1991 +3802701922254592:3802701924925132 0:0 CopyDeviceToHost:206:1991 +3802701932168496:3802701934142771 0:0 CopyHostToDevice:207:1991 +3802701934246976:3802701935438295 0:0 KernelExecution:211:1991 +3802701934223551:3802701937141613 0:0 CopyDeviceToHost:213:1991 +3802701944352056:3802701946257570 0:0 CopyHostToDevice:214:1991 +3802701946362997:3802701947574317 0:0 KernelExecution:218:1991 +3802701946339571:3802701949023790 0:0 CopyDeviceToHost:220:1991 +3802701956400665:3802701958316110 0:0 CopyHostToDevice:221:1991 +3802701958422590:3802701959641615 0:0 KernelExecution:225:1991 +3802701958399130:3802701961106280 0:0 CopyDeviceToHost:227:1991 +3802701968320724:3802701970208178 0:0 CopyHostToDevice:228:1991 +3802701970318670:3802701971521693 0:0 KernelExecution:232:1991 +3802701970295529:3802701972971609 0:0 CopyDeviceToHost:234:1991 +3802701980199792:3802701982142436 0:0 CopyHostToDevice:235:1991 +3802701982245928:3802701983440062 0:0 KernelExecution:239:1991 +3802701982222487:3802701985143188 0:0 CopyDeviceToHost:241:1991 +3802701992355642:3802701994267646 0:0 CopyHostToDevice:242:1991 +3802701994371730:3802701995578753 0:0 KernelExecution:246:1991 +3802701994348667:3802701997026937 0:0 CopyDeviceToHost:248:1991 PASSED! ## Iteration (64) ################# -43935816699624:43935817182024 0:0 hcCommandKernel:181 -43935817187808:43935817194368 0:0 hcCommandMarker:183 PASSED! ## Iteration (63) ################# PASSED! @@ -163,44 +193,47 @@ PASSED! ## Iteration (60) ################# PASSED! ## Iteration (59) ################# -43935832969893:43935833459333 0:0 hcCommandKernel:186 -43935833462980:43935833469540 0:0 hcCommandMarker:188 -43935849246062:43935851077905 0:0 hcCommandKernel:191 -43935851080726:43935851112246 0:0 hcCommandMarker:193 -43935866982020:43935868823143 0:0 hcCommandKernel:196 -43935868826123:43935868857483 0:0 hcCommandMarker:198 -43935884647922:43935886487605 0:0 hcCommandKernel:201 -43935886490571:43935886521931 0:0 hcCommandMarker:203 -43935902402549:43935904242232 0:0 hcCommandKernel:206 -43935904245256:43935904276776 0:0 hcCommandMarker:208 PASSED! ## Iteration (58) ################# -43935920062038:43935921897081 0:0 hcCommandKernel:211 -43935921900164:43935921931524 0:0 hcCommandMarker:213 PASSED! ## Iteration (57) ################# PASSED! ## Iteration (56) ################# +3802702004315971:3802702006430907 0:0 CopyHostToDevice:249:1991 +3802702006513343:3802702007718885 0:0 KernelExecution:253:1991 +3802702006490217:3802702009041896 0:0 CopyDeviceToHost:255:1991 +3802702018262184:3802702019943876 0:0 CopyHostToDevice:256:1991 +3802702020050568:3802702021249295 0:0 KernelExecution:260:1991 +3802702020026907:3802702022584386 0:0 CopyDeviceToHost:262:1991 +3802702029541468:3802702031219270 0:0 CopyHostToDevice:263:1991 +3802702031312763:3802702032510305 0:0 KernelExecution:267:1991 +3802702031289161:3802702033843490 0:0 CopyDeviceToHost:269:1991 +3802702040805082:3802702042480244 0:0 CopyHostToDevice:270:1991 +3802702042572785:3802702043776105 0:0 KernelExecution:274:1991 +3802702042549004:3802702045110673 0:0 CopyDeviceToHost:276:1991 +3802702052065204:3802702053741167 0:0 CopyHostToDevice:277:1991 +3802702053835958:3802702055052463 0:0 KernelExecution:281:1991 +3802702053813487:3802702056374447 0:0 CopyDeviceToHost:283:1991 +3802702063333568:3802702065014061 0:0 CopyHostToDevice:284:1991 +3802702065111999:3802702066319615 0:0 KernelExecution:288:1991 +3802702065088771:3802702067654340 0:0 CopyDeviceToHost:290:1991 +3802702074618962:3802702076284625 0:0 CopyHostToDevice:291:1991 +3802702076384443:3802702077569835 0:0 KernelExecution:295:1991 +3802702076360685:3802702078904404 0:0 CopyDeviceToHost:297:1991 +3802702085881125:3802702087555758 0:0 CopyHostToDevice:298:1991 +3802702087649675:3802702088847958 0:0 KernelExecution:302:1991 +3802702087626608:3802702090183277 0:0 CopyDeviceToHost:304:1991 +3802702097151929:3802702098830722 0:0 CopyHostToDevice:305:1991 +3802702098924116:3802702100140473 0:0 KernelExecution:309:1991 +3802702098901192:3802702101472621 0:0 CopyDeviceToHost:311:1991 PASSED! ## Iteration (55) ################# PASSED! ## Iteration (54) ################# PASSED! ## Iteration (53) ################# -43935937812069:43935939657512 0:0 hcCommandKernel:216 -43935939660443:43935939691803 0:0 hcCommandMarker:218 -43935955484682:43935957328525 0:0 hcCommandKernel:221 -43935957331582:43935957362942 0:0 hcCommandMarker:223 -43935973218819:43935975058982 0:0 hcCommandKernel:226 -43935975061799:43935975093159 0:0 hcCommandMarker:228 -43935990920488:43935992758411 0:0 hcCommandKernel:231 -43935992761237:43935992792757 0:0 hcCommandMarker:233 -43936008544679:43936010384682 0:0 hcCommandKernel:236 -43936010389056:43936010420416 0:0 hcCommandMarker:238 PASSED! ## Iteration (52) ################# -43936026228358:43936028068841 0:0 hcCommandKernel:241 -43936028072005:43936028103685 0:0 hcCommandMarker:243 PASSED! ## Iteration (51) ################# PASSED! @@ -211,20 +244,33 @@ PASSED! ## Iteration (48) ################# PASSED! ## Iteration (47) ################# -43936043785925:43936045629448 0:0 hcCommandKernel:246 -43936045632305:43936045663985 0:0 hcCommandMarker:248 -43936061522848:43936063368291 0:0 hcCommandKernel:251 -43936063371344:43936063402864 0:0 hcCommandMarker:253 -43936079184681:43936081031404 0:0 hcCommandKernel:256 -43936081034470:43936081065830 0:0 hcCommandMarker:258 -43936096912019:43936098088660 0:0 hcCommandKernel:261 -43936098091778:43936098098338 0:0 hcCommandMarker:263 -43936113848983:43936114331063 0:0 hcCommandKernel:266 -43936114334738:43936114341298 0:0 hcCommandMarker:268 +3802702108615424:3802702110296796 0:0 CopyHostToDevice:312:1991 +3802702110392443:3802702111600207 0:0 KernelExecution:316:1991 +3802702110368957:3802702112934696 0:0 CopyDeviceToHost:318:1991 +3802702119898217:3802702121579670 0:0 CopyHostToDevice:319:1991 +3802702121673899:3802702122873960 0:0 KernelExecution:323:1991 +3802702121650880:3802702124193909 0:0 CopyDeviceToHost:325:1991 +3802702131156331:3802702132834494 0:0 CopyHostToDevice:326:1991 +3802702132927702:3802702134121984 0:0 KernelExecution:330:1991 +3802702132904324:3802702135456513 0:0 CopyDeviceToHost:332:1991 +3802702142434925:3802702144099207 0:0 CopyHostToDevice:333:1991 +3802702144200141:3802702145401090 0:0 KernelExecution:337:1991 +3802702144175248:3802702146735777 0:0 CopyDeviceToHost:339:1991 +3802702153706898:3802702155385711 0:0 CopyHostToDevice:340:1991 +3802702155488005:3802702156685843 0:0 KernelExecution:344:1991 +3802702155464581:3802702158018890 0:0 CopyDeviceToHost:346:1991 +3802702164987312:3802702166668385 0:0 CopyHostToDevice:347:1991 +3802702166762069:3802702167965537 0:0 KernelExecution:351:1991 +3802702166739105:3802702169298644 0:0 CopyDeviceToHost:353:1991 +3802702176260016:3802702177933188 0:0 CopyHostToDevice:354:1991 +3802702178026430:3802702179223971 0:0 KernelExecution:358:1991 +3802702178002518:3802702180540757 0:0 CopyDeviceToHost:360:1991 +3802702187490789:3802702189167931 0:0 CopyHostToDevice:361:1991 +3802702189262737:3802702190474501 0:0 KernelExecution:365:1991 +3802702189239082:3802702191808141 0:0 CopyDeviceToHost:367:1991 +3802702198761922:3802702200425845 0:0 CopyHostToDevice:368:1991 PASSED! ## Iteration (46) ################# -43936130207157:43936130701557 0:0 hcCommandKernel:271 -43936130704352:43936130710912 0:0 hcCommandMarker:273 PASSED! ## Iteration (45) ################# PASSED! @@ -235,44 +281,47 @@ PASSED! ## Iteration (42) ################# PASSED! ## Iteration (41) ################# -43936146563182:43936147046062 0:0 hcCommandKernel:276 -43936147049151:43936147055711 0:0 hcCommandMarker:278 -43936162894728:43936163374888 0:0 hcCommandKernel:281 -43936163377872:43936163384592 0:0 hcCommandMarker:283 -43936179200342:43936179687382 0:0 hcCommandKernel:286 -43936179691196:43936179697756 0:0 hcCommandMarker:288 -43936195476376:43936195958456 0:0 hcCommandKernel:291 -43936195961532:43936195968092 0:0 hcCommandMarker:293 -43936211754702:43936212238862 0:0 hcCommandKernel:296 -43936212241993:43936212248553 0:0 hcCommandMarker:298 PASSED! ## Iteration (40) ################# -43936228051680:43936228530400 0:0 hcCommandKernel:301 -43936228534046:43936228540606 0:0 hcCommandMarker:303 PASSED! ## Iteration (39) ################# PASSED! ## Iteration (38) ################# +3802702200526879:3802702201738792 0:0 KernelExecution:372:1991 +3802702200502735:3802702203073505 0:0 CopyDeviceToHost:374:1991 +3802702210101096:3802702211781099 0:0 CopyHostToDevice:375:1991 +3802702211874278:3802702213070339 0:0 KernelExecution:379:1991 +3802702211851149:3802702214405528 0:0 CopyDeviceToHost:381:1991 +3802702221371170:3802702223046872 0:0 CopyHostToDevice:382:1991 +3802702223141537:3802702224348264 0:0 KernelExecution:386:1991 +3802702223118273:3802702225680452 0:0 CopyDeviceToHost:388:1991 +3802702232644404:3802702234313936 0:0 CopyHostToDevice:389:1991 +3802702234409358:3802702235607788 0:0 KernelExecution:393:1991 +3802702234385867:3802702236943196 0:0 CopyDeviceToHost:395:1991 +3802702243900787:3802702245580279 0:0 CopyHostToDevice:396:1991 +3802702245674663:3802702246878279 0:0 KernelExecution:400:1991 +3802702245651760:3802702248198969 0:0 CopyDeviceToHost:402:1991 +3802702255168930:3802702256847073 0:0 CopyHostToDevice:403:1991 +3802702256941454:3802702258155589 0:0 KernelExecution:407:1991 +3802702256918733:3802702259489683 0:0 CopyDeviceToHost:409:1991 +3802702266456174:3802702268121957 0:0 CopyHostToDevice:410:1991 +3802702268222984:3802702269419637 0:0 KernelExecution:414:1991 +3802702268198287:3802702270718936 0:0 CopyDeviceToHost:416:1991 +3802702277684438:3802702279355020 0:0 CopyHostToDevice:417:1991 +3802702279449065:3802702280656977 0:0 KernelExecution:421:1991 +3802702279425380:3802702281990519 0:0 CopyDeviceToHost:423:1991 +3802702288963001:3802702290626813 0:0 CopyHostToDevice:424:1991 +3802702290725647:3802702291916077 0:0 KernelExecution:428:1991 +3802702290702274:3802702293249973 0:0 CopyDeviceToHost:430:1991 +3802702300213905:3802702301888607 0:0 CopyHostToDevice:431:1991 PASSED! ## Iteration (37) ################# PASSED! ## Iteration (36) ################# PASSED! ## Iteration (35) ################# -43936244268347:43936244752187 0:0 hcCommandKernel:306 -43936244759707:43936244766107 0:0 hcCommandMarker:308 -43936260465746:43936260949906 0:0 hcCommandKernel:311 -43936260953781:43936260960181 0:0 hcCommandMarker:313 -43936276704103:43936277186183 0:0 hcCommandKernel:316 -43936277189819:43936277196379 0:0 hcCommandMarker:318 -43936292908367:43936293394927 0:0 hcCommandKernel:321 -43936293398665:43936293405065 0:0 hcCommandMarker:323 -43936309159941:43936309655781 0:0 hcCommandKernel:326 -43936309658663:43936309665223 0:0 hcCommandMarker:328 PASSED! ## Iteration (34) ################# -43936325491676:43936325977116 0:0 hcCommandKernel:331 -43936325980102:43936325986662 0:0 hcCommandMarker:333 PASSED! ## Iteration (33) ################# PASSED! @@ -283,20 +332,34 @@ PASSED! ## Iteration (30) ################# PASSED! ## Iteration (29) ################# -43936341856430:43936342339790 0:0 hcCommandKernel:336 -43936342342883:43936342349283 0:0 hcCommandMarker:338 -43936358065666:43936358544706 0:0 hcCommandKernel:341 -43936358548573:43936358554973 0:0 hcCommandMarker:343 -43936374226834:43936374711954 0:0 hcCommandKernel:346 -43936374714957:43936374721517 0:0 hcCommandMarker:348 -43936390393107:43936390876947 0:0 hcCommandKernel:351 -43936390879989:43936390886549 0:0 hcCommandMarker:353 -43936406478567:43936406968327 0:0 hcCommandKernel:356 -43936406971190:43936406977750 0:0 hcCommandMarker:358 +3802702301982442:3802702303186799 0:0 KernelExecution:435:1991 +3802702301959178:3802702304503997 0:0 CopyDeviceToHost:437:1991 +3802702311466108:3802702313146390 0:0 CopyHostToDevice:438:1991 +3802702313238825:3802702314439626 0:0 KernelExecution:442:1991 +3802702313215791:3802702315773720 0:0 CopyDeviceToHost:444:1991 +3802702322736361:3802702324399864 0:0 CopyHostToDevice:445:1991 +3802702324503098:3802702325721085 0:0 KernelExecution:449:1991 +3802702324478794:3802702327055594 0:0 CopyDeviceToHost:451:1991 +3802702334030715:3802702335709388 0:0 CopyHostToDevice:452:1991 +3802702335806620:3802702337014532 0:0 KernelExecution:456:1991 +3802702335783968:3802702338348468 0:0 CopyDeviceToHost:458:1991 +3802702345327399:3802702347004601 0:0 CopyHostToDevice:459:1991 +3802702347117082:3802702348318476 0:0 KernelExecution:463:1991 +3802702347074012:3802702349651691 0:0 CopyDeviceToHost:465:1991 +3802702356616483:3802702358289405 0:0 CopyHostToDevice:466:1991 +3802702358382881:3802702359585164 0:0 KernelExecution:470:1991 +3802702358359406:3802702360920335 0:0 CopyDeviceToHost:472:1991 +3802702367904117:3802702369585909 0:0 CopyHostToDevice:473:1991 +3802702369679903:3802702370875371 0:0 KernelExecution:477:1991 +3802702369656630:3802702372196308 0:0 CopyDeviceToHost:479:1991 +3802702379156600:3802702380837792 0:0 CopyHostToDevice:480:1991 +3802702380930326:3802702382134830 0:0 KernelExecution:484:1991 +3802702380907402:3802702383472292 0:0 CopyDeviceToHost:486:1991 +3802702390441713:3802702392106996 0:0 CopyHostToDevice:487:1991 +3802702392207713:3802702393417847 0:0 KernelExecution:491:1991 +3802702392183556:3802702394752325 0:0 CopyDeviceToHost:493:1991 PASSED! ## Iteration (28) ################# -43936422759883:43936423242603 0:0 hcCommandKernel:361 -43936423245282:43936423251842 0:0 hcCommandMarker:363 PASSED! ## Iteration (27) ################# PASSED! @@ -307,44 +370,47 @@ PASSED! ## Iteration (24) ################# PASSED! ## Iteration (23) ################# -43936439030746:43936439514266 0:0 hcCommandKernel:366 -43936439518052:43936439524612 0:0 hcCommandMarker:368 -43936455234140:43936455719900 0:0 hcCommandKernel:371 -43936455722741:43936455729141 0:0 hcCommandMarker:373 -43936471535617:43936473377220 0:0 hcCommandKernel:376 -43936473379982:43936473411502 0:0 hcCommandMarker:378 -43936489194662:43936491033065 0:0 hcCommandKernel:381 -43936491035944:43936491067304 0:0 hcCommandMarker:383 -43936506844418:43936508676581 0:0 hcCommandKernel:386 -43936508679657:43936508711177 0:0 hcCommandMarker:388 PASSED! ## Iteration (22) ################# -43936524587883:43936526420846 0:0 hcCommandKernel:391 -43936526423835:43936526455195 0:0 hcCommandMarker:393 PASSED! ## Iteration (21) ################# PASSED! ## Iteration (20) ################# +3802702401709737:3802702403387670 0:0 CopyHostToDevice:494:1991 +3802702403489293:3802702404695872 0:0 KernelExecution:498:1991 +3802702403465280:3802702406030229 0:0 CopyDeviceToHost:500:1991 +3802702412982171:3802702414646163 0:0 CopyHostToDevice:501:1991 +3802702414739104:3802702415951461 0:0 KernelExecution:505:1991 +3802702414715973:3802702417282642 0:0 CopyDeviceToHost:507:1991 +3802702424250984:3802702425925207 0:0 CopyHostToDevice:508:1991 +3802702426022614:3802702427240009 0:0 KernelExecution:512:1991 +3802702425999277:3802702428556726 0:0 CopyDeviceToHost:514:1991 +3802702435521608:3802702437497583 0:0 CopyHostToDevice:515:1991 +3802702437591756:3802702438798483 0:0 KernelExecution:519:1991 +3802702437567843:3802702440117692 0:0 CopyDeviceToHost:521:1991 +3802702447076184:3802702448752496 0:0 CopyHostToDevice:522:1991 +3802702448844326:3802702450040979 0:0 KernelExecution:526:1991 +3802702448821457:3802702451374905 0:0 CopyDeviceToHost:528:1991 +3802702458338087:3802702460115460 0:0 CopyHostToDevice:529:1991 +3802702460219046:3802702461421625 0:0 KernelExecution:533:1991 +3802702460192041:3802702462758090 0:0 CopyDeviceToHost:535:1991 +3802702469730872:3802702471408304 0:0 CopyHostToDevice:536:1991 +3802702471502923:3802702472699724 0:0 KernelExecution:540:1991 +3802702471478905:3802702474035724 0:0 CopyDeviceToHost:542:1991 +3802702481000815:3802702482659947 0:0 CopyHostToDevice:543:1991 +3802702482757759:3802702483952190 0:0 KernelExecution:547:1991 +3802702482734898:3802702485283566 0:0 CopyDeviceToHost:549:1991 +3802702492244298:3802702493917401 0:0 CopyHostToDevice:550:1991 +3802702494011385:3802702495222705 0:0 KernelExecution:554:1991 +3802702493988441:3802702496538570 0:0 CopyDeviceToHost:556:1991 PASSED! ## Iteration (19) ################# PASSED! ## Iteration (18) ################# PASSED! ## Iteration (17) ################# -43936542246761:43936544088524 0:0 hcCommandKernel:396 -43936544091588:43936544123268 0:0 hcCommandMarker:398 -43936559948159:43936561794402 0:0 hcCommandKernel:401 -43936561797239:43936561828759 0:0 hcCommandMarker:403 -43936577605213:43936579448896 0:0 hcCommandKernel:406 -43936579451894:43936579483254 0:0 hcCommandMarker:408 -43936595369090:43936597208613 0:0 hcCommandKernel:411 -43936597211572:43936597242932 0:0 hcCommandMarker:413 -43936613017192:43936614856075 0:0 hcCommandKernel:416 -43936614859107:43936614890467 0:0 hcCommandMarker:418 PASSED! ## Iteration (16) ################# -43936630770153:43936632618476 0:0 hcCommandKernel:421 -43936632621411:43936632653091 0:0 hcCommandMarker:423 PASSED! ## Iteration (15) ################# PASSED! @@ -353,18 +419,35 @@ PASSED! ## Iteration (13) ################# PASSED! ## Iteration (12) ################# -43936648421451:43936650272014 0:0 hcCommandKernel:426 -43936650274717:43936650306397 0:0 hcCommandMarker:428 -43936666186176:43936668028259 0:0 hcCommandKernel:431 -43936668031033:43936668062553 0:0 hcCommandMarker:433 -43936683847105:43936685694788 0:0 hcCommandKernel:436 -43936685697850:43936685729530 0:0 hcCommandMarker:438 -43936701611894:43936703454617 0:0 hcCommandKernel:441 -43936703457617:43936703488977 0:0 hcCommandMarker:443 +3802702503514682:3802702505171794 0:0 CopyHostToDevice:557:1991 +3802702505267652:3802702506468157 0:0 KernelExecution:561:1991 +3802702505243905:3802702507802814 0:0 CopyDeviceToHost:563:1991 +3802702514761386:3802702516425008 0:0 CopyHostToDevice:564:1991 +3802702516524080:3802702517731252 0:0 KernelExecution:568:1991 +3802702516500289:3802702519068477 0:0 CopyDeviceToHost:570:1991 +3802702526022439:3802702527700141 0:0 CopyHostToDevice:571:1991 +3802702527794104:3802702528982164 0:0 KernelExecution:575:1991 +3802702527771042:3802702530315231 0:0 CopyDeviceToHost:577:1991 +3802702537274272:3802702538953635 0:0 CopyHostToDevice:578:1991 +3802702539050334:3802702540254987 0:0 KernelExecution:582:1991 +3802702539025425:3802702541587134 0:0 CopyDeviceToHost:584:1991 +3802702548553016:3802702550225609 0:0 CopyHostToDevice:585:1991 +3802702550319337:3802702551518805 0:0 KernelExecution:589:1991 +3802702550295569:3802702552853758 0:0 CopyDeviceToHost:591:1991 +3802702559816479:3802702561495482 0:0 CopyHostToDevice:592:1991 +3802702561589855:3802702562788137 0:0 KernelExecution:596:1991 +3802702561565542:3802702564108601 0:0 CopyDeviceToHost:598:1991 +3802702571069693:3802702572746995 0:0 CopyHostToDevice:599:1991 +3802702572840650:3802702574041747 0:0 KernelExecution:603:1991 +3802702572817856:3802702575375565 0:0 CopyDeviceToHost:605:1991 +3802702582343137:3802702584028249 0:0 CopyHostToDevice:606:1991 +3802702584131111:3802702585314874 0:0 KernelExecution:610:1991 +3802702584098390:3802702586648988 0:0 CopyDeviceToHost:612:1991 +3802702593620890:3802702595300582 0:0 CopyHostToDevice:613:1991 +3802702595394737:3802702596603391 0:0 KernelExecution:617:1991 +3802702595371233:3802702597936882 0:0 CopyDeviceToHost:619:1991 PASSED! ## Iteration (11) ################# -43936719264608:43936719749728 0:0 hcCommandKernel:446 -43936719752843:43936719759403 0:0 hcCommandMarker:448 PASSED! ## Iteration (10) ################# PASSED! @@ -377,36 +460,50 @@ PASSED! ## Iteration (6) ################# PASSED! ## Iteration (5) ################# -43936735528823:43936736005623 0:0 hcCommandKernel:451 -43936736008904:43936736015464 0:0 hcCommandMarker:453 -43936751784154:43936752265434 0:0 hcCommandKernel:456 -43936752268477:43936752274877 0:0 hcCommandMarker:458 -43936768038508:43936768522508 0:0 hcCommandKernel:461 -43936768526347:43936768532907 0:0 hcCommandMarker:463 -43936784289295:43936784779215 0:0 hcCommandKernel:466 -43936784782982:43936784789542 0:0 hcCommandMarker:468 -43936800538297:43936801016857 0:0 hcCommandKernel:471 -43936801019748:43936801026468 0:0 hcCommandMarker:473 PASSED! ## Iteration (4) ################# -43936816815614:43936817294654 0:0 hcCommandKernel:476 -43936817297320:43936817303880 0:0 hcCommandMarker:478 PASSED! ## Iteration (3) ################# +3802702605023015:3802702606699537 0:0 CopyHostToDevice:620:1991 +3802702606793386:3802702607994484 0:0 KernelExecution:624:1991 +3802702606770418:3802702609331847 0:0 CopyDeviceToHost:626:1991 +3802702616295619:3802702617971351 0:0 CopyHostToDevice:627:1991 +3802702618064582:3802702619276198 0:0 KernelExecution:631:1991 +3802702618041252:3802702620593170 0:0 CopyDeviceToHost:633:1991 +3802702627572022:3802702629249514 0:0 CopyHostToDevice:634:1991 +3802702629343204:3802702630550228 0:0 KernelExecution:638:1991 +3802702629319715:3802702631886524 0:0 CopyDeviceToHost:640:1991 +3802702638854896:3802702640514568 0:0 CopyHostToDevice:641:1991 +3802702640601153:3802702641794250 0:0 KernelExecution:645:1991 +3802702640583338:3802702643131137 0:0 CopyDeviceToHost:647:1991 +3802702650106259:3802702651784942 0:0 CopyHostToDevice:648:1991 +3802702651876671:3802702653079250 0:0 KernelExecution:652:1991 +3802702651853582:3802702654414351 0:0 CopyDeviceToHost:654:1991 +3802702661383522:3802702663061155 0:0 CopyHostToDevice:655:1991 +3802702663154356:3802702664347453 0:0 KernelExecution:659:1991 +3802702663130645:3802702665680984 0:0 CopyDeviceToHost:661:1991 +3802702672630496:3802702674303238 0:0 CopyHostToDevice:662:1991 +3802702674398093:3802702675599190 0:0 KernelExecution:666:1991 +3802702674374489:3802702676932868 0:0 CopyDeviceToHost:668:1991 +3802702683898880:3802702685606503 0:0 CopyHostToDevice:669:1991 +3802702685701165:3802702686898410 0:0 KernelExecution:673:1991 +3802702685678193:3802702688219002 0:0 CopyDeviceToHost:675:1991 +3802702695162453:3802702696838515 0:0 CopyHostToDevice:676:1991 +3802702696932444:3802702698137097 0:0 KernelExecution:680:1991 +3802702696909796:3802702699473165 0:0 CopyDeviceToHost:682:1991 PASSED! ## Iteration (2) ################# PASSED! ## Iteration (1) ################# PASSED! ## Iteration (0) ################# -43936833089833:43936833579433 0:0 hcCommandKernel:481 -43936833582286:43936833588846 0:0 hcCommandMarker:483 -43936849646904:43936850132504 0:0 hcCommandKernel:486 -43936850135326:43936850141886 0:0 hcCommandMarker:488 -43936867294430:43936867780350 0:0 hcCommandKernel:491 -43936867783055:43936867789615 0:0 hcCommandMarker:493 -43936884613213:43936885103133 0:0 hcCommandKernel:496 -43936885106028:43936885112748 0:0 hcCommandMarker:498 -43936901844607:43936902331647 0:0 hcCommandKernel:501 -43936902334630:43936902341030 0:0 hcCommandMarker:503 PASSED! +3802702706580728:3802702708245350 0:0 CopyHostToDevice:683:1991 +3802702708346791:3802702709549370 0:0 KernelExecution:687:1991 +3802702708322181:3802702710885410 0:0 CopyDeviceToHost:689:1991 +3802702717849822:3802702719525044 0:0 CopyHostToDevice:690:1991 +3802702719618857:3802702720813139 0:0 KernelExecution:694:1991 +3802702719594825:3802702722149644 0:0 CopyDeviceToHost:696:1991 +3802702729111215:3802702730788167 0:0 CopyHostToDevice:697:1991 +3802702730881622:3802702732076497 0:0 KernelExecution:701:1991 +3802702730858498:3802702733412517 0:0 CopyDeviceToHost:703:1991 diff --git a/test/golden_traces/MatrixTranspose_hip_period_trace.txt b/test/golden_traces/MatrixTranspose_hip_period_trace.txt index 468e672c76..caa2d63885 100644 --- a/test/golden_traces/MatrixTranspose_hip_period_trace.txt +++ b/test/golden_traces/MatrixTranspose_hip_period_trace.txt @@ -1,10 +1,9 @@ -ROCTracer (pid=26055): ++ ROCP_CTRL_RATE=10:100000:1000000 ./test/MatrixTranspose +ROCTracer (pid=1983): ROCTracer: trace control: delay(10us), length(100000us), rate(1000000us) +3802699747119708 HIP-trace() -ROCTracer (pid=26055): -ROCTracer: trace control: delay(10us), length(100000us), rate(1000000us) - HIP-trace() -Device name Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device name Device 687f ## Iteration (99) ################# PASSED! ## Iteration (98) ################# @@ -205,239 +204,280 @@ PASSED! PASSED! ## Iteration (0) ################# PASSED! -43932016356046:43932016397500 26055:26055 hipGetDeviceProperties() -43932018579649:43932018627633 26055:26055 hipMalloc(ptr(0x903400000) size(0x400000)) -43932018629101:43932018648692 26055:26055 hipMalloc(ptr(0x903c00000) size(0x400000)) -43932018657045:43932024206624 26055:26055 hipMemcpy(dst(0x903400000) src(0x25fd170) size(0x400000) kind(1)) -43932024210084:43932024210085 26055:26055 MARK(name(before HIP LaunchKernel)) -43932309367516:43932309367517 26055:26055 MARK(name(after HIP LaunchKernel)) -43932325768070:43932325768071 26055:26055 MARK(name(before HIP LaunchKernel)) -43932325806211:43932325806212 26055:26055 MARK(name(after HIP LaunchKernel)) -43932342067435:43932342067436 26055:26055 MARK(name(before HIP LaunchKernel)) -43932342101677:43932342101678 26055:26055 MARK(name(after HIP LaunchKernel)) -43932358360160:43932358360161 26055:26055 MARK(name(before HIP LaunchKernel)) -43932358394862:43932358394863 26055:26055 MARK(name(after HIP LaunchKernel)) -43932374818865:43932374818866 26055:26055 MARK(name(before HIP LaunchKernel)) -43932374857099:43932374857100 26055:26055 MARK(name(after HIP LaunchKernel)) -43932392553937:43932392553938 26055:26055 MARK(name(before HIP LaunchKernel)) -43932392587074:43932392587075 26055:26055 MARK(name(after HIP LaunchKernel)) -43932410322278:43932410322279 26055:26055 MARK(name(before HIP LaunchKernel)) -43932410356222:43932410356223 26055:26055 MARK(name(after HIP LaunchKernel)) -43932428013622:43932428013623 26055:26055 MARK(name(before HIP LaunchKernel)) -43932428047370:43932428047371 26055:26055 MARK(name(after HIP LaunchKernel)) -43932445823875:43932445823876 26055:26055 MARK(name(before HIP LaunchKernel)) -43932445858364:43932445858365 26055:26055 MARK(name(after HIP LaunchKernel)) -43932463522521:43932463522522 26055:26055 MARK(name(before HIP LaunchKernel)) -43932463556106:43932463556107 26055:26055 MARK(name(after HIP LaunchKernel)) -43932481264157:43932481264158 26055:26055 MARK(name(before HIP LaunchKernel)) -43932481302264:43932481302265 26055:26055 MARK(name(after HIP LaunchKernel)) -43932498957147:43932498957148 26055:26055 MARK(name(before HIP LaunchKernel)) -43932499007307:43932499007308 26055:26055 MARK(name(after HIP LaunchKernel)) -43932516701532:43932516701533 26055:26055 MARK(name(before HIP LaunchKernel)) -43932516740634:43932516740635 26055:26055 MARK(name(after HIP LaunchKernel)) -43932534396161:43932534396162 26055:26055 MARK(name(before HIP LaunchKernel)) -43932534430109:43932534430110 26055:26055 MARK(name(after HIP LaunchKernel)) -43932552136507:43932552136508 26055:26055 MARK(name(before HIP LaunchKernel)) -43932552174955:43932552174956 26055:26055 MARK(name(after HIP LaunchKernel)) -43932569838372:43932569838373 26055:26055 MARK(name(before HIP LaunchKernel)) -43932569873357:43932569873358 26055:26055 MARK(name(after HIP LaunchKernel)) -43932587582936:43932587582937 26055:26055 MARK(name(before HIP LaunchKernel)) -43932587616530:43932587616531 26055:26055 MARK(name(after HIP LaunchKernel)) -43932605271897:43932605271898 26055:26055 MARK(name(before HIP LaunchKernel)) -43932605306872:43932605306873 26055:26055 MARK(name(after HIP LaunchKernel)) -43932623037986:43932623037987 26055:26055 MARK(name(before HIP LaunchKernel)) -43932623072073:43932623072074 26055:26055 MARK(name(after HIP LaunchKernel)) -43932640747873:43932640747874 26055:26055 MARK(name(before HIP LaunchKernel)) -43932640782515:43932640782516 26055:26055 MARK(name(after HIP LaunchKernel)) -43932657068887:43932657068888 26055:26055 MARK(name(before HIP LaunchKernel)) -43932657102762:43932657102763 26055:26055 MARK(name(after HIP LaunchKernel)) -43932673379533:43932673379534 26055:26055 MARK(name(before HIP LaunchKernel)) -43932673413702:43932673413703 26055:26055 MARK(name(after HIP LaunchKernel)) -43932689650275:43932689650276 26055:26055 MARK(name(before HIP LaunchKernel)) -43932689688120:43932689688121 26055:26055 MARK(name(after HIP LaunchKernel)) -43932706024306:43932706024307 26055:26055 MARK(name(before HIP LaunchKernel)) -43932706061892:43932706061893 26055:26055 MARK(name(after HIP LaunchKernel)) -43932722404114:43932722404115 26055:26055 MARK(name(before HIP LaunchKernel)) -43932722450953:43932722450954 26055:26055 MARK(name(after HIP LaunchKernel)) -43932738747072:43932738747073 26055:26055 MARK(name(before HIP LaunchKernel)) -43932738783895:43932738783896 26055:26055 MARK(name(after HIP LaunchKernel)) -43932755053911:43932755053912 26055:26055 MARK(name(before HIP LaunchKernel)) -43932755086752:43932755086753 26055:26055 MARK(name(after HIP LaunchKernel)) -43932771329207:43932771329208 26055:26055 MARK(name(before HIP LaunchKernel)) -43932771347101:43932771347102 26055:26055 MARK(name(after HIP LaunchKernel)) -43932787609603:43932787609604 26055:26055 MARK(name(before HIP LaunchKernel)) -43932787626372:43932787626373 26055:26055 MARK(name(after HIP LaunchKernel)) -43932803880283:43932803880284 26055:26055 MARK(name(before HIP LaunchKernel)) -43932803913740:43932803913741 26055:26055 MARK(name(after HIP LaunchKernel)) -43932820132122:43932820132123 26055:26055 MARK(name(before HIP LaunchKernel)) -43932820170233:43932820170234 26055:26055 MARK(name(after HIP LaunchKernel)) -43932836497613:43932836497614 26055:26055 MARK(name(before HIP LaunchKernel)) -43932836535605:43932836535606 26055:26055 MARK(name(after HIP LaunchKernel)) -43932852904822:43932852904823 26055:26055 MARK(name(before HIP LaunchKernel)) -43932852942407:43932852942408 26055:26055 MARK(name(after HIP LaunchKernel)) -43932869290524:43932869290525 26055:26055 MARK(name(before HIP LaunchKernel)) -43932869329866:43932869329867 26055:26055 MARK(name(after HIP LaunchKernel)) -43932885635307:43932885635308 26055:26055 MARK(name(before HIP LaunchKernel)) -43932885669256:43932885669257 26055:26055 MARK(name(after HIP LaunchKernel)) -43932901970155:43932901970156 26055:26055 MARK(name(before HIP LaunchKernel)) -43932901989697:43932901989698 26055:26055 MARK(name(after HIP LaunchKernel)) -43932918260839:43932918260840 26055:26055 MARK(name(before HIP LaunchKernel)) -43932918293762:43932918293763 26055:26055 MARK(name(after HIP LaunchKernel)) -43932934545610:43932934545611 26055:26055 MARK(name(before HIP LaunchKernel)) -43932934577595:43932934577596 26055:26055 MARK(name(after HIP LaunchKernel)) -43932950855037:43932950855038 26055:26055 MARK(name(before HIP LaunchKernel)) -43932950906554:43932950906555 26055:26055 MARK(name(after HIP LaunchKernel)) -43932967158140:43932967158141 26055:26055 MARK(name(before HIP LaunchKernel)) -43932967204959:43932967204960 26055:26055 MARK(name(after HIP LaunchKernel)) -43932983443711:43932983443712 26055:26055 MARK(name(before HIP LaunchKernel)) -43932983481045:43932983481046 26055:26055 MARK(name(after HIP LaunchKernel)) -43932998919789:43932999777243 26055:26055 hipMemcpy(dst(0x903400000) src(0x25fd170) size(0x400000) kind(1)) -43932999778933:43932999778934 26055:26055 MARK(name(before HIP LaunchKernel)) -43932999790858:43932999857966 26055:26055 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43932999869719:43932999869720 26055:26055 MARK(name(after HIP LaunchKernel)) -43932999871831:43933002727304 26055:26055 hipMemcpy(dst(0x29fd180) src(0x903c00000) size(0x400000) kind(2)) -43933016724230:43933017583617 26055:26055 hipMemcpy(dst(0x903400000) src(0x25fd170) size(0x400000) kind(1)) -43933017585152:43933017585153 26055:26055 MARK(name(before HIP LaunchKernel)) -43933017597371:43933017637628 26055:26055 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43933017639250:43933017639251 26055:26055 MARK(name(after HIP LaunchKernel)) -43933017641217:43933020520010 26055:26055 hipMemcpy(dst(0x29fd180) src(0x903c00000) size(0x400000) kind(2)) -43933034542756:43933035404131 26055:26055 hipMemcpy(dst(0x903400000) src(0x25fd170) size(0x400000) kind(1)) -43933035405703:43933035405704 26055:26055 MARK(name(before HIP LaunchKernel)) -43933035417664:43933035457991 26055:26055 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43933035459677:43933035459678 26055:26055 MARK(name(after HIP LaunchKernel)) -43933035461554:43933038337624 26055:26055 hipMemcpy(dst(0x29fd180) src(0x903c00000) size(0x400000) kind(2)) -43933052293417:43933053160408 26055:26055 hipMemcpy(dst(0x903400000) src(0x25fd170) size(0x400000) kind(1)) -43933053162015:43933053162016 26055:26055 MARK(name(before HIP LaunchKernel)) -43933053174382:43933053196225 26055:26055 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43933053198167:43933053198168 26055:26055 MARK(name(after HIP LaunchKernel)) -43933053200026:43933056101223 26055:26055 hipMemcpy(dst(0x29fd180) src(0x903c00000) size(0x400000) kind(2)) -43933070121982:43933070978773 26055:26055 hipMemcpy(dst(0x903400000) src(0x25fd170) size(0x400000) kind(1)) -43933070980262:43933070980263 26055:26055 MARK(name(before HIP LaunchKernel)) -43933070997704:43933071038037 26055:26055 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43933071039939:43933071039940 26055:26055 MARK(name(after HIP LaunchKernel)) -43933071041871:43933073922115 26055:26055 hipMemcpy(dst(0x29fd180) src(0x903c00000) size(0x400000) kind(2)) -43933087857070:43933088762523 26055:26055 hipMemcpy(dst(0x903400000) src(0x25fd170) size(0x400000) kind(1)) -43933088764032:43933088764033 26055:26055 MARK(name(before HIP LaunchKernel)) -43933088775969:43933088816379 26055:26055 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43933088818233:43933088818234 26055:26055 MARK(name(after HIP LaunchKernel)) -43933088830023:43933091723027 26055:26055 hipMemcpy(dst(0x29fd180) src(0x903c00000) size(0x400000) kind(2)) -43933106593182:43933106593183 26055:26055 MARK(name(before HIP LaunchKernel)) -43933106631182:43933106631183 26055:26055 MARK(name(after HIP LaunchKernel)) -43933124264790:43933124264791 26055:26055 MARK(name(before HIP LaunchKernel)) -43933124299416:43933124299417 26055:26055 MARK(name(after HIP LaunchKernel)) -43933141986334:43933141986335 26055:26055 MARK(name(before HIP LaunchKernel)) -43933142020652:43933142020653 26055:26055 MARK(name(after HIP LaunchKernel)) -43933159656263:43933159656264 26055:26055 MARK(name(before HIP LaunchKernel)) -43933159689392:43933159689393 26055:26055 MARK(name(after HIP LaunchKernel)) -43933177421632:43933177421633 26055:26055 MARK(name(before HIP LaunchKernel)) -43933177460424:43933177460425 26055:26055 MARK(name(after HIP LaunchKernel)) -43933195118213:43933195118214 26055:26055 MARK(name(before HIP LaunchKernel)) -43933195156305:43933195156306 26055:26055 MARK(name(after HIP LaunchKernel)) -43933212858769:43933212858770 26055:26055 MARK(name(before HIP LaunchKernel)) -43933212892428:43933212892429 26055:26055 MARK(name(after HIP LaunchKernel)) -43933230550599:43933230550600 26055:26055 MARK(name(before HIP LaunchKernel)) -43933230584794:43933230584795 26055:26055 MARK(name(after HIP LaunchKernel)) -43933248275723:43933248275724 26055:26055 MARK(name(before HIP LaunchKernel)) -43933248310176:43933248310177 26055:26055 MARK(name(after HIP LaunchKernel)) -43933264626153:43933264626154 26055:26055 MARK(name(before HIP LaunchKernel)) -43933264665629:43933264665630 26055:26055 MARK(name(after HIP LaunchKernel)) -43933280992560:43933280992561 26055:26055 MARK(name(before HIP LaunchKernel)) -43933281027422:43933281027423 26055:26055 MARK(name(after HIP LaunchKernel)) -43933297321505:43933297321506 26055:26055 MARK(name(before HIP LaunchKernel)) -43933297359452:43933297359453 26055:26055 MARK(name(after HIP LaunchKernel)) -43933313662994:43933313662995 26055:26055 MARK(name(before HIP LaunchKernel)) -43933313700705:43933313700706 26055:26055 MARK(name(after HIP LaunchKernel)) -43933329971419:43933329971420 26055:26055 MARK(name(before HIP LaunchKernel)) -43933330018417:43933330018418 26055:26055 MARK(name(after HIP LaunchKernel)) -43933346273054:43933346273055 26055:26055 MARK(name(before HIP LaunchKernel)) -43933346306837:43933346306838 26055:26055 MARK(name(after HIP LaunchKernel)) -43933362521760:43933362521761 26055:26055 MARK(name(before HIP LaunchKernel)) -43933362540391:43933362540392 26055:26055 MARK(name(after HIP LaunchKernel)) -43933378827233:43933378827234 26055:26055 MARK(name(before HIP LaunchKernel)) -43933378845241:43933378845242 26055:26055 MARK(name(after HIP LaunchKernel)) -43933395183216:43933395183217 26055:26055 MARK(name(before HIP LaunchKernel)) -43933395215386:43933395215387 26055:26055 MARK(name(after HIP LaunchKernel)) -43933411559286:43933411559287 26055:26055 MARK(name(before HIP LaunchKernel)) -43933411596821:43933411596822 26055:26055 MARK(name(after HIP LaunchKernel)) -43933427865512:43933427865513 26055:26055 MARK(name(before HIP LaunchKernel)) -43933427898752:43933427898753 26055:26055 MARK(name(after HIP LaunchKernel)) -43933444147624:43933444147625 26055:26055 MARK(name(before HIP LaunchKernel)) -43933444175808:43933444175809 26055:26055 MARK(name(after HIP LaunchKernel)) -43933460414293:43933460414294 26055:26055 MARK(name(before HIP LaunchKernel)) -43933460446208:43933460446209 26055:26055 MARK(name(after HIP LaunchKernel)) -43933476718044:43933476718045 26055:26055 MARK(name(before HIP LaunchKernel)) -43933476749715:43933476749716 26055:26055 MARK(name(after HIP LaunchKernel)) -43933492989969:43933492989970 26055:26055 MARK(name(before HIP LaunchKernel)) -43933493020764:43933493020765 26055:26055 MARK(name(after HIP LaunchKernel)) -43933509257931:43933509257932 26055:26055 MARK(name(before HIP LaunchKernel)) -43933509289509:43933509289510 26055:26055 MARK(name(after HIP LaunchKernel)) -43933525557224:43933525557225 26055:26055 MARK(name(before HIP LaunchKernel)) -43933525588932:43933525588933 26055:26055 MARK(name(after HIP LaunchKernel)) -43933541884683:43933541884684 26055:26055 MARK(name(before HIP LaunchKernel)) -43933541916037:43933541916038 26055:26055 MARK(name(after HIP LaunchKernel)) -43933558234802:43933558234803 26055:26055 MARK(name(before HIP LaunchKernel)) -43933558266471:43933558266472 26055:26055 MARK(name(after HIP LaunchKernel)) -43933574598996:43933574598997 26055:26055 MARK(name(before HIP LaunchKernel)) -43933574630471:43933574630472 26055:26055 MARK(name(after HIP LaunchKernel)) -43933590916499:43933590916500 26055:26055 MARK(name(before HIP LaunchKernel)) -43933590946901:43933590946902 26055:26055 MARK(name(after HIP LaunchKernel)) -43933607216207:43933607216208 26055:26055 MARK(name(before HIP LaunchKernel)) -43933607247236:43933607247237 26055:26055 MARK(name(after HIP LaunchKernel)) -43933624120350:43933624120351 26055:26055 MARK(name(before HIP LaunchKernel)) -43933624138017:43933624138018 26055:26055 MARK(name(after HIP LaunchKernel)) -43933641790135:43933641790136 26055:26055 MARK(name(before HIP LaunchKernel)) -43933641807143:43933641807144 26055:26055 MARK(name(after HIP LaunchKernel)) -43933659509173:43933659509174 26055:26055 MARK(name(before HIP LaunchKernel)) -43933659526749:43933659526750 26055:26055 MARK(name(after HIP LaunchKernel)) -43933677219727:43933677219728 26055:26055 MARK(name(before HIP LaunchKernel)) -43933677254061:43933677254062 26055:26055 MARK(name(after HIP LaunchKernel)) -43933694974650:43933694974651 26055:26055 MARK(name(before HIP LaunchKernel)) -43933695009347:43933695009348 26055:26055 MARK(name(after HIP LaunchKernel)) -43933712659673:43933712659674 26055:26055 MARK(name(before HIP LaunchKernel)) -43933712708655:43933712708656 26055:26055 MARK(name(after HIP LaunchKernel)) -43933730412868:43933730412869 26055:26055 MARK(name(before HIP LaunchKernel)) -43933730446931:43933730446932 26055:26055 MARK(name(after HIP LaunchKernel)) -43933748101862:43933748101863 26055:26055 MARK(name(before HIP LaunchKernel)) -43933748139940:43933748139941 26055:26055 MARK(name(after HIP LaunchKernel)) -43933765877856:43933765877857 26055:26055 MARK(name(before HIP LaunchKernel)) -43933765916382:43933765916383 26055:26055 MARK(name(after HIP LaunchKernel)) -43933783570361:43933783570362 26055:26055 MARK(name(before HIP LaunchKernel)) -43933783603616:43933783603617 26055:26055 MARK(name(after HIP LaunchKernel)) -43933801334338:43933801334339 26055:26055 MARK(name(before HIP LaunchKernel)) -43933801368467:43933801368468 26055:26055 MARK(name(after HIP LaunchKernel)) -43933819035225:43933819035226 26055:26055 MARK(name(before HIP LaunchKernel)) -43933819068314:43933819068315 26055:26055 MARK(name(after HIP LaunchKernel)) -43933836809157:43933836809158 26055:26055 MARK(name(before HIP LaunchKernel)) -43933836847860:43933836847861 26055:26055 MARK(name(after HIP LaunchKernel)) -43933854512746:43933854512747 26055:26055 MARK(name(before HIP LaunchKernel)) -43933854546024:43933854546025 26055:26055 MARK(name(after HIP LaunchKernel)) -43933872241982:43933872241983 26055:26055 MARK(name(before HIP LaunchKernel)) -43933872276613:43933872276614 26055:26055 MARK(name(after HIP LaunchKernel)) -43933888625718:43933888625719 26055:26055 MARK(name(before HIP LaunchKernel)) -43933888659297:43933888659298 26055:26055 MARK(name(after HIP LaunchKernel)) -43933904989760:43933904989761 26055:26055 MARK(name(before HIP LaunchKernel)) -43933905023554:43933905023555 26055:26055 MARK(name(after HIP LaunchKernel)) -43933921307079:43933921307080 26055:26055 MARK(name(before HIP LaunchKernel)) -43933921344505:43933921344506 26055:26055 MARK(name(after HIP LaunchKernel)) -43933937634499:43933937634500 26055:26055 MARK(name(before HIP LaunchKernel)) -43933937681958:43933937681959 26055:26055 MARK(name(after HIP LaunchKernel)) -43933953935834:43933953935835 26055:26055 MARK(name(before HIP LaunchKernel)) -43933953973608:43933953973609 26055:26055 MARK(name(after HIP LaunchKernel)) -43933970237558:43933970237559 26055:26055 MARK(name(before HIP LaunchKernel)) -43933970274704:43933970274705 26055:26055 MARK(name(after HIP LaunchKernel)) -43933986518798:43933986518799 26055:26055 MARK(name(before HIP LaunchKernel)) -43933986551047:43933986551048 26055:26055 MARK(name(after HIP LaunchKernel)) -43934001936907:43934002013320 26055:26055 hipFree(ptr(0x903400000)) -43934002015215:43934002031122 26055:26055 hipFree(ptr(0x903c00000)) -43932999861577:43933001699020 0:0 hcCommandKernel:89 -43933001702044:43933001733884 0:0 hcCommandMarker:91 -43933017641348:43933019466951 0:0 hcCommandKernel:94 -43933019470002:43933019501362 0:0 hcCommandMarker:96 -43933035461722:43933037295325 0:0 hcCommandKernel:99 -43933037298331:43933037330011 0:0 hcCommandMarker:101 -43933053199946:43933055040429 0:0 hcCommandKernel:104 -43933055043394:43933055075234 0:0 hcCommandMarker:106 -43933071041680:43933072880403 0:0 hcCommandKernel:109 -43933072883281:43933072915281 0:0 hcCommandMarker:111 -43933088820348:43933090670751 0:0 hcCommandKernel:114 -43933090673779:43933090705459 0:0 hcCommandMarker:116 +3802699751533941:3802699751541991 1983:1983 hipGetDeviceProperties(props=, device=0) +3802699752571489:3802699752686289 1983:1983 hipMalloc(ptr=0x7f6c121ff010, size=4194304) +3802699752688639:3802699752749390 1983:1983 hipMalloc(ptr=0x7fffefcadf28, size=4194304) +3802699752763840:3802700027958750 1983:1983 hipMemcpy(dst=0x7f6c11400000, src=0x7f6c121ff010, sizeBytes=4194304, kind=1) +3802700027966800:3802700027966801 1983:1983 MARK(name(before HIP LaunchKernel)) +3802700028567724:3802700028567725 1983:1983 MARK(name(after HIP LaunchKernel)) +3802700041950374:3802700041950375 1983:1983 MARK(name(before HIP LaunchKernel)) +3802700041963674:3802700041963675 1983:1983 MARK(name(after HIP LaunchKernel)) +3802700054151914:3802700054151915 1983:1983 MARK(name(before HIP LaunchKernel)) +3802700054162714:3802700054162715 1983:1983 MARK(name(after HIP LaunchKernel)) +3802700066165433:3802700066165434 1983:1983 MARK(name(before HIP LaunchKernel)) +3802700066176343:3802700066176344 1983:1983 MARK(name(after HIP LaunchKernel)) +3802700078181322:3802700078181323 1983:1983 MARK(name(before HIP LaunchKernel)) +3802700078192012:3802700078192013 1983:1983 MARK(name(after HIP LaunchKernel)) +3802700090220561:3802700090220562 1983:1983 MARK(name(before HIP LaunchKernel)) +3802700090239211:3802700090239212 1983:1983 MARK(name(after HIP LaunchKernel)) +3802700102271721:3802700102271722 1983:1983 MARK(name(before HIP LaunchKernel)) +3802700102282171:3802700102282172 1983:1983 MARK(name(after HIP LaunchKernel)) +3802700114144958:3802700114144959 1983:1983 MARK(name(before HIP LaunchKernel)) +3802700114162049:3802700114162050 1983:1983 MARK(name(after HIP LaunchKernel)) +3802700126128128:3802700126128129 1983:1983 MARK(name(before HIP LaunchKernel)) +3802700126138758:3802700126138759 1983:1983 MARK(name(after HIP LaunchKernel)) +3802700138129156:3802700138129157 1983:1983 MARK(name(before HIP LaunchKernel)) +3802700138139446:3802700138139447 1983:1983 MARK(name(after HIP LaunchKernel)) +3802700150136865:3802700150136866 1983:1983 MARK(name(before HIP LaunchKernel)) +3802700150148016:3802700150148017 1983:1983 MARK(name(after HIP LaunchKernel)) +3802700162246915:3802700162246916 1983:1983 MARK(name(before HIP LaunchKernel)) +3802700162258105:3802700162258106 1983:1983 MARK(name(after HIP LaunchKernel)) +3802700174131823:3802700174131824 1983:1983 MARK(name(before HIP LaunchKernel)) +3802700174149233:3802700174149234 1983:1983 MARK(name(after HIP LaunchKernel)) +3802700186413294:3802700186413295 1983:1983 MARK(name(before HIP LaunchKernel)) +3802700186424475:3802700186424476 1983:1983 MARK(name(after HIP LaunchKernel)) +3802700198692895:3802700198692896 1983:1983 MARK(name(before HIP LaunchKernel)) +3802700198703415:3802700198703416 1983:1983 MARK(name(after HIP LaunchKernel)) +3802700210532173:3802700210532174 1983:1983 MARK(name(before HIP LaunchKernel)) +3802700210542783:3802700210542784 1983:1983 MARK(name(after HIP LaunchKernel)) +3802700222880184:3802700222880185 1983:1983 MARK(name(before HIP LaunchKernel)) +3802700222891274:3802700222891275 1983:1983 MARK(name(after HIP LaunchKernel)) +3802700234962094:3802700234962095 1983:1983 MARK(name(before HIP LaunchKernel)) +3802700234972984:3802700234972985 1983:1983 MARK(name(after HIP LaunchKernel)) +3802700247111934:3802700247111935 1983:1983 MARK(name(before HIP LaunchKernel)) +3802700247122294:3802700247122295 1983:1983 MARK(name(after HIP LaunchKernel)) +3802700259114883:3802700259114884 1983:1983 MARK(name(before HIP LaunchKernel)) +3802700259131593:3802700259131594 1983:1983 MARK(name(after HIP LaunchKernel)) +3802700270919381:3802700270919382 1983:1983 MARK(name(before HIP LaunchKernel)) +3802700270930441:3802700270930442 1983:1983 MARK(name(after HIP LaunchKernel)) +3802700282944209:3802700282944210 1983:1983 MARK(name(before HIP LaunchKernel)) +3802700282954850:3802700282954851 1983:1983 MARK(name(after HIP LaunchKernel)) +3802700294960369:3802700294960370 1983:1983 MARK(name(before HIP LaunchKernel)) +3802700294970439:3802700294970440 1983:1983 MARK(name(after HIP LaunchKernel)) +3802700306951068:3802700306951069 1983:1983 MARK(name(before HIP LaunchKernel)) +3802700306963188:3802700306963189 1983:1983 MARK(name(after HIP LaunchKernel)) +3802700318935636:3802700318935637 1983:1983 MARK(name(before HIP LaunchKernel)) +3802700318952436:3802700318952437 1983:1983 MARK(name(after HIP LaunchKernel)) +3802700330939575:3802700330939576 1983:1983 MARK(name(before HIP LaunchKernel)) +3802700330957096:3802700330957097 1983:1983 MARK(name(after HIP LaunchKernel)) +3802700342957675:3802700342957676 1983:1983 MARK(name(before HIP LaunchKernel)) +3802700342976555:3802700342976556 1983:1983 MARK(name(after HIP LaunchKernel)) +3802700354958353:3802700354958354 1983:1983 MARK(name(before HIP LaunchKernel)) +3802700354969733:3802700354969734 1983:1983 MARK(name(after HIP LaunchKernel)) +3802700367116224:3802700367116225 1983:1983 MARK(name(before HIP LaunchKernel)) +3802700367127874:3802700367127875 1983:1983 MARK(name(after HIP LaunchKernel)) +3802700378910551:3802700378910552 1983:1983 MARK(name(before HIP LaunchKernel)) +3802700378921781:3802700378921782 1983:1983 MARK(name(after HIP LaunchKernel)) +3802700391300403:3802700391300404 1983:1983 MARK(name(before HIP LaunchKernel)) +3802700391311253:3802700391311254 1983:1983 MARK(name(after HIP LaunchKernel)) +3802700403119421:3802700403119422 1983:1983 MARK(name(before HIP LaunchKernel)) +3802700403149901:3802700403149902 1983:1983 MARK(name(after HIP LaunchKernel)) +3802700414928588:3802700414928589 1983:1983 MARK(name(before HIP LaunchKernel)) +3802700414939088:3802700414939089 1983:1983 MARK(name(after HIP LaunchKernel)) +3802700426957197:3802700426957198 1983:1983 MARK(name(before HIP LaunchKernel)) +3802700426969607:3802700426969608 1983:1983 MARK(name(after HIP LaunchKernel)) +3802700438945256:3802700438945257 1983:1983 MARK(name(before HIP LaunchKernel)) +3802700438956156:3802700438956157 1983:1983 MARK(name(after HIP LaunchKernel)) +3802700450955785:3802700450955786 1983:1983 MARK(name(before HIP LaunchKernel)) +3802700450966535:3802700450966536 1983:1983 MARK(name(after HIP LaunchKernel)) +3802700462947734:3802700462947735 1983:1983 MARK(name(before HIP LaunchKernel)) +3802700462958494:3802700462958495 1983:1983 MARK(name(after HIP LaunchKernel)) +3802700475120764:3802700475120765 1983:1983 MARK(name(before HIP LaunchKernel)) +3802700475133244:3802700475133245 1983:1983 MARK(name(after HIP LaunchKernel)) +3802700486943952:3802700486943953 1983:1983 MARK(name(before HIP LaunchKernel)) +3802700486963842:3802700486963843 1983:1983 MARK(name(after HIP LaunchKernel)) +3802700498936501:3802700498936502 1983:1983 MARK(name(before HIP LaunchKernel)) +3802700498947611:3802700498947612 1983:1983 MARK(name(after HIP LaunchKernel)) +3802700510957970:3802700510957971 1983:1983 MARK(name(before HIP LaunchKernel)) +3802700510969340:3802700510969341 1983:1983 MARK(name(after HIP LaunchKernel)) +3802700522956379:3802700522956380 1983:1983 MARK(name(before HIP LaunchKernel)) +3802700522968409:3802700522968410 1983:1983 MARK(name(after HIP LaunchKernel)) +3802700534942538:3802700534942539 1983:1983 MARK(name(before HIP LaunchKernel)) +3802700534953908:3802700534953909 1983:1983 MARK(name(after HIP LaunchKernel)) +3802700546789315:3802700546789316 1983:1983 MARK(name(before HIP LaunchKernel)) +3802700546806236:3802700546806237 1983:1983 MARK(name(after HIP LaunchKernel)) +3802700558559853:3802700558559854 1983:1983 MARK(name(before HIP LaunchKernel)) +3802700558571313:3802700558571314 1983:1983 MARK(name(after HIP LaunchKernel)) +3802700570153708:3802700570153709 1983:1983 MARK(name(before HIP LaunchKernel)) +3802700570176129:3802700570176130 1983:1983 MARK(name(after HIP LaunchKernel)) +3802700581726404:3802700581726405 1983:1983 MARK(name(before HIP LaunchKernel)) +3802700581741565:3802700581741566 1983:1983 MARK(name(after HIP LaunchKernel)) +3802700593057879:3802700593057880 1983:1983 MARK(name(before HIP LaunchKernel)) +3802700593070449:3802700593070450 1983:1983 MARK(name(after HIP LaunchKernel)) +3802700604400132:3802700604400133 1983:1983 MARK(name(before HIP LaunchKernel)) +3802700604413112:3802700604413113 1983:1983 MARK(name(after HIP LaunchKernel)) +3802700615730637:3802700615730638 1983:1983 MARK(name(before HIP LaunchKernel)) +3802700615743157:3802700615743158 1983:1983 MARK(name(after HIP LaunchKernel)) +3802700627079061:3802700627079062 1983:1983 MARK(name(before HIP LaunchKernel)) +3802700627101981:3802700627101982 1983:1983 MARK(name(after HIP LaunchKernel)) +3802700638410875:3802700638410876 1983:1983 MARK(name(before HIP LaunchKernel)) +3802700638425755:3802700638425756 1983:1983 MARK(name(after HIP LaunchKernel)) +3802700649752129:3802700649752130 1983:1983 MARK(name(before HIP LaunchKernel)) +3802700649766079:3802700649766080 1983:1983 MARK(name(after HIP LaunchKernel)) +3802700661088702:3802700661088703 1983:1983 MARK(name(before HIP LaunchKernel)) +3802700661101353:3802700661101354 1983:1983 MARK(name(after HIP LaunchKernel)) +3802700672436427:3802700672436428 1983:1983 MARK(name(before HIP LaunchKernel)) +3802700672449997:3802700672449998 1983:1983 MARK(name(after HIP LaunchKernel)) +3802700683973653:3802700683973654 1983:1983 MARK(name(before HIP LaunchKernel)) +3802700683987193:3802700683987194 1983:1983 MARK(name(after HIP LaunchKernel)) +3802700695366597:3802700695366598 1983:1983 MARK(name(before HIP LaunchKernel)) +3802700695379007:3802700695379008 1983:1983 MARK(name(after HIP LaunchKernel)) +3802700706708861:3802700706708862 1983:1983 MARK(name(before HIP LaunchKernel)) +3802700706735151:3802700706735152 1983:1983 MARK(name(after HIP LaunchKernel)) +3802700718019795:3802700718019796 1983:1983 MARK(name(before HIP LaunchKernel)) +3802700718034725:3802700718034726 1983:1983 MARK(name(after HIP LaunchKernel)) +3802700729346979:3802700729346980 1983:1983 MARK(name(before HIP LaunchKernel)) +3802700729360039:3802700729360040 1983:1983 MARK(name(after HIP LaunchKernel)) +3802700740688063:3802700740688064 1983:1983 MARK(name(before HIP LaunchKernel)) +3802700740702553:3802700740702554 1983:1983 MARK(name(after HIP LaunchKernel)) +3802700752045097:3802700752045098 1983:1983 MARK(name(before HIP LaunchKernel)) +3802700752060217:3802700752060218 1983:1983 MARK(name(after HIP LaunchKernel)) +3802700763470772:3802700763470773 1983:1983 MARK(name(before HIP LaunchKernel)) +3802700763485762:3802700763485763 1983:1983 MARK(name(after HIP LaunchKernel)) +3802700774801006:3802700774801007 1983:1983 MARK(name(before HIP LaunchKernel)) +3802700774813776:3802700774813777 1983:1983 MARK(name(after HIP LaunchKernel)) +3802700786122470:3802700786122471 1983:1983 MARK(name(before HIP LaunchKernel)) +3802700786147830:3802700786147831 1983:1983 MARK(name(after HIP LaunchKernel)) +3802700797490594:3802700797490595 1983:1983 MARK(name(before HIP LaunchKernel)) +3802700797504834:3802700797504835 1983:1983 MARK(name(after HIP LaunchKernel)) +3802700808806748:3802700808806749 1983:1983 MARK(name(before HIP LaunchKernel)) +3802700808822388:3802700808822389 1983:1983 MARK(name(after HIP LaunchKernel)) +3802700820150282:3802700820150283 1983:1983 MARK(name(before HIP LaunchKernel)) +3802700820163482:3802700820163483 1983:1983 MARK(name(after HIP LaunchKernel)) +3802700831687737:3802700831687738 1983:1983 MARK(name(before HIP LaunchKernel)) +3802700831701867:3802700831701868 1983:1983 MARK(name(after HIP LaunchKernel)) +3802700843073042:3802700843073043 1983:1983 MARK(name(before HIP LaunchKernel)) +3802700843096032:3802700843096033 1983:1983 MARK(name(after HIP LaunchKernel)) +3802700854417226:3802700854417227 1983:1983 MARK(name(before HIP LaunchKernel)) +3802700854429236:3802700854429237 1983:1983 MARK(name(after HIP LaunchKernel)) +3802700865753490:3802700865753491 1983:1983 MARK(name(before HIP LaunchKernel)) +3802700865775180:3802700865775181 1983:1983 MARK(name(after HIP LaunchKernel)) +3802700877105074:3802700877105075 1983:1983 MARK(name(before HIP LaunchKernel)) +3802700877120554:3802700877120555 1983:1983 MARK(name(after HIP LaunchKernel)) +3802700888576349:3802700888576350 1983:1983 MARK(name(before HIP LaunchKernel)) +3802700888589579:3802700888589580 1983:1983 MARK(name(after HIP LaunchKernel)) +3802700900086965:3802700900086966 1983:1983 MARK(name(before HIP LaunchKernel)) +3802700900101025:3802700900101026 1983:1983 MARK(name(after HIP LaunchKernel)) +3802700911461388:3802700911461389 1983:1983 MARK(name(before HIP LaunchKernel)) +3802700911474589:3802700911474590 1983:1983 MARK(name(after HIP LaunchKernel)) +3802700922810673:3802700922810674 1983:1983 MARK(name(before HIP LaunchKernel)) +3802700922833153:3802700922833154 1983:1983 MARK(name(after HIP LaunchKernel)) +3802700932447414:3802700934135107 1983:1983 hipMemcpy(dst=0x7f6c11400000, src=0x7f6c121ff010, sizeBytes=4194304, kind=1) +3802700934139057:3802700934139058 1983:1983 MARK(name(before HIP LaunchKernel)) +3802700934143817:3802700934144527 1983:1983 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802700934146607:3802700934147267 1983:1983 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=140106682958042, stream=0xd8282e03f3099) +3802700934158787:3802700934164967 1983:1983 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802700934191267:3802700934191268 1983:1983 MARK(name(after HIP LaunchKernel)) +3802700934192847:3802700936775947 1983:1983 hipMemcpy(dst=0x7f6c11dfe010, src=0x7f6c10e00000, sizeBytes=4194304, kind=2) +3802700943795998:3802700945501111 1983:1983 hipMemcpy(dst=0x7f6c11400000, src=0x7f6c121ff010, sizeBytes=4194304, kind=1) +3802700945513191:3802700945513192 1983:1983 MARK(name(before HIP LaunchKernel)) +3802700945517031:3802700945517901 1983:1983 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802700945519841:3802700945520521 1983:1983 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=140106682958042, stream=0xd8282e0ecbb86) +3802700945522671:3802700945530171 1983:1983 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802700945531971:3802700945531972 1983:1983 MARK(name(after HIP LaunchKernel)) +3802700945534701:3802700948131020 1983:1983 hipMemcpy(dst=0x7f6c11dfe010, src=0x7f6c10e00000, sizeBytes=4194304, kind=2) +3802700955136442:3802700956839355 1983:1983 hipMemcpy(dst=0x7f6c11400000, src=0x7f6c121ff010, sizeBytes=4194304, kind=1) +3802700956843375:3802700956843376 1983:1983 MARK(name(before HIP LaunchKernel)) +3802700956847725:3802700956848495 1983:1983 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802700956850235:3802700956850825 1983:1983 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=140106682958042, stream=0xd8282e1999f61) +3802700956860545:3802700956868795 1983:1983 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802700956870695:3802700956870696 1983:1983 MARK(name(after HIP LaunchKernel)) +3802700956872065:3802700959479235 1983:1983 hipMemcpy(dst=0x7f6c11dfe010, src=0x7f6c10e00000, sizeBytes=4194304, kind=2) +3802700966505397:3802700968203670 1983:1983 hipMemcpy(dst=0x7f6c11400000, src=0x7f6c121ff010, sizeBytes=4194304, kind=1) +3802700968207780:3802700968207781 1983:1983 MARK(name(before HIP LaunchKernel)) +3802700968219030:3802700968219770 1983:1983 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802700968221700:3802700968222280 1983:1983 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=140106682958042, stream=0xd8282e247222e) +3802700968225090:3802700968233560 1983:1983 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802700968235360:3802700968235361 1983:1983 MARK(name(after HIP LaunchKernel)) +3802700968241120:3802700970853059 1983:1983 hipMemcpy(dst=0x7f6c11dfe010, src=0x7f6c10e00000, sizeBytes=4194304, kind=2) +3802700977859821:3802700979559833 1983:1983 hipMemcpy(dst=0x7f6c11400000, src=0x7f6c121ff010, sizeBytes=4194304, kind=1) +3802700979563253:3802700979563254 1983:1983 MARK(name(before HIP LaunchKernel)) +3802700979567803:3802700979568553 1983:1983 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802700979570433:3802700979571073 1983:1983 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=140106682958042, stream=0xd8282e2f44d18) +3802700979581243:3802700979589274 1983:1983 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802700979590674:3802700979590675 1983:1983 MARK(name(after HIP LaunchKernel)) +3802700979592044:3802700982222943 1983:1983 hipMemcpy(dst=0x7f6c11dfe010, src=0x7f6c10e00000, sizeBytes=4194304, kind=2) +3802700989239045:3802700990944838 1983:1983 hipMemcpy(dst=0x7f6c11400000, src=0x7f6c121ff010, sizeBytes=4194304, kind=1) +3802700990948338:3802700990948339 1983:1983 MARK(name(before HIP LaunchKernel)) +3802700990960008:3802700990960828 1983:1983 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802700990963068:3802700990963638 1983:1983 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=140106682958042, stream=0xd8282e3a221d9) +3802700990966328:3802700990975628 1983:1983 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802700990977238:3802700990977239 1983:1983 MARK(name(after HIP LaunchKernel)) +3802700990978718:3802700993694078 1983:1983 hipMemcpy(dst=0x7f6c11dfe010, src=0x7f6c10e00000, sizeBytes=4194304, kind=2) +3802701000919212:3802701002625515 1983:1983 hipMemcpy(dst=0x7f6c11400000, src=0x7f6c121ff010, sizeBytes=4194304, kind=1) +3802701002628745:3802701002628746 1983:1983 MARK(name(before HIP LaunchKernel)) +3802701002633405:3802701002634215 1983:1983 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802701002635935:3802701002636515 1983:1983 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=140106682958042, stream=0xd8282e45440c4) +3802701002649885:3802701002657855 1983:1983 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802701002659335:3802701002659336 1983:1983 MARK(name(after HIP LaunchKernel)) +3802701002660835:3802701005267024 1983:1983 hipMemcpy(dst=0x7f6c11dfe010, src=0x7f6c10e00000, sizeBytes=4194304, kind=2) +3802701012322026:3802701014008789 1983:1983 hipMemcpy(dst=0x7f6c11400000, src=0x7f6c121ff010, sizeBytes=4194304, kind=1) +3802701014011999:3802701014012000 1983:1983 MARK(name(before HIP LaunchKernel)) +3802701014023469:3802701014024239 1983:1983 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802701014028089:3802701014028669 1983:1983 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=140106682958042, stream=0xd8282e5020cc5) +3802701014031569:3802701014039849 1983:1983 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802701014041409:3802701014041410 1983:1983 MARK(name(after HIP LaunchKernel)) +3802701014042919:3802701016640288 1983:1983 hipMemcpy(dst=0x7f6c11dfe010, src=0x7f6c10e00000, sizeBytes=4194304, kind=2) +3802701023688501:3802701025398903 1983:1983 hipMemcpy(dst=0x7f6c11400000, src=0x7f6c121ff010, sizeBytes=4194304, kind=1) +3802701025402873:3802701025402874 1983:1983 MARK(name(before HIP LaunchKernel)) +3802701025407454:3802701025408214 1983:1983 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802701025410224:3802701025411104 1983:1983 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=140106682958042, stream=0xd8282e5afc125) +3802701025412944:3802701025420534 1983:1983 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802701025429704:3802701025429705 1983:1983 MARK(name(after HIP LaunchKernel)) +3802701025431374:3802701028050563 1983:1983 hipMemcpy(dst=0x7f6c11dfe010, src=0x7f6c10e00000, sizeBytes=4194304, kind=2) +3802701036808678:3802701036808679 1983:1983 MARK(name(before HIP LaunchKernel)) +3802701036822078:3802701036822079 1983:1983 MARK(name(after HIP LaunchKernel)) +3802701048170132:3802701048170133 1983:1983 MARK(name(before HIP LaunchKernel)) +3802701048184912:3802701048184913 1983:1983 MARK(name(after HIP LaunchKernel)) +3802701059593377:3802701059593378 1983:1983 MARK(name(before HIP LaunchKernel)) +3802701059607287:3802701059607288 1983:1983 MARK(name(after HIP LaunchKernel)) +3802701070985111:3802701070985112 1983:1983 MARK(name(before HIP LaunchKernel)) +3802701071008911:3802701071008912 1983:1983 MARK(name(after HIP LaunchKernel)) +3802701082354665:3802701082354666 1983:1983 MARK(name(before HIP LaunchKernel)) +3802701082369396:3802701082369397 1983:1983 MARK(name(after HIP LaunchKernel)) +3802701093751910:3802701093751911 1983:1983 MARK(name(before HIP LaunchKernel)) +3802701093766810:3802701093766811 1983:1983 MARK(name(after HIP LaunchKernel)) +3802701105308045:3802701105308046 1983:1983 MARK(name(before HIP LaunchKernel)) +3802701105323296:3802701105323297 1983:1983 MARK(name(after HIP LaunchKernel)) +3802701116675540:3802701116675541 1983:1983 MARK(name(before HIP LaunchKernel)) +3802701116689570:3802701116689571 1983:1983 MARK(name(after HIP LaunchKernel)) +3802701128156035:3802701128156036 1983:1983 MARK(name(before HIP LaunchKernel)) +3802701128181736:3802701128181737 1983:1983 MARK(name(after HIP LaunchKernel)) +3802701139551739:3802701139551740 1983:1983 MARK(name(before HIP LaunchKernel)) +3802701139565579:3802701139565580 1983:1983 MARK(name(after HIP LaunchKernel)) +3802701150939144:3802701150939145 1983:1983 MARK(name(before HIP LaunchKernel)) +3802701150961354:3802701150961355 1983:1983 MARK(name(after HIP LaunchKernel)) +3802701162295078:3802701162295079 1983:1983 MARK(name(before HIP LaunchKernel)) +3802701162308528:3802701162308529 1983:1983 MARK(name(after HIP LaunchKernel)) +3802701173678182:3802701173678183 1983:1983 MARK(name(before HIP LaunchKernel)) +3802701173692162:3802701173692163 1983:1983 MARK(name(after HIP LaunchKernel)) +3802701185053367:3802701185053368 1983:1983 MARK(name(before HIP LaunchKernel)) +3802701185066667:3802701185066668 1983:1983 MARK(name(after HIP LaunchKernel)) +3802700025923715:3802700027953920 0:0 CopyHostToDevice:4:1983 +3802700932468645:3802700934131397 0:0 CopyHostToDevice:159:1983 +3802700934227596:3802700935424394 0:0 KernelExecution:163:1983 +3802700934202858:3802700936764597 0:0 CopyDeviceToHost:165:1983 +3802700943841248:3802700945497221 0:0 CopyHostToDevice:166:1983 +3802700945593801:3802700946786154 0:0 KernelExecution:170:1983 +3802700945569841:3802700948120440 0:0 CopyDeviceToHost:172:1983 +3802700955175473:3802700956835555 0:0 CopyHostToDevice:173:1983 +3802700956931540:3802700958130412 0:0 KernelExecution:177:1983 +3802700956907066:3802700959467615 0:0 CopyDeviceToHost:179:1983 +3802700966543517:3802700968200020 0:0 CopyHostToDevice:180:1983 +3802700968296336:3802700969501283 0:0 KernelExecution:184:1983 +3802700968270720:3802700970841439 0:0 CopyDeviceToHost:186:1983 +3802700977897221:3802700979556403 0:0 CopyHostToDevice:187:1983 +3802700979653155:3802700980864472 0:0 KernelExecution:191:1983 +3802700979628944:3802700982210583 0:0 CopyDeviceToHost:193:1983 +3802700989276246:3802700990941188 0:0 CopyHostToDevice:194:1983 +3802700991037310:3802700992234553 0:0 KernelExecution:198:1983 +3802700991012848:3802700993682128 0:0 CopyDeviceToHost:200:1983 +3802701000959152:3802701002622075 0:0 CopyHostToDevice:201:1983 +3802701002717521:3802701003911060 0:0 KernelExecution:205:1983 +3802701002693645:3802701005254464 0:0 CopyDeviceToHost:207:1983 +3802701012346926:3802701014005359 0:0 CopyHostToDevice:208:1983 +3802701014102693:3802701015297862 0:0 KernelExecution:212:1983 +3802701014077439:3802701016629358 0:0 CopyDeviceToHost:214:1983 +3802701023726221:3802701025394963 0:0 CopyHostToDevice:215:1983 +3802701025491525:3802701026698101 0:0 KernelExecution:219:1983 +3802701025467214:3802701028039843 0:0 CopyDeviceToHost:221:1983 diff --git a/test/golden_traces/MatrixTranspose_hipaact_test_trace.txt b/test/golden_traces/MatrixTranspose_hipaact_test_trace.txt index 5b77221b62..6d6d9e86e4 100644 --- a/test/golden_traces/MatrixTranspose_hipaact_test_trace.txt +++ b/test/golden_traces/MatrixTranspose_hipaact_test_trace.txt @@ -1,4102 +1,9539 @@ ++ LD_PRELOAD=libkfdwrapper64.so ./test/MatrixTranspose_hipaact_test # INIT ############################# # START (99) ############################# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - ptr(0x7fff85b97a98) size(0x400000) - - - - - *ptr(0x0x902000000) - ptr(0x7fff85b97a90) size(0x400000) - - - - - *ptr(0x0x902800000) - dst(0x902000000) src(0xa79c70) size(0x400000) kind(1) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - dst(0xe79c80) src(0x902800000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Device 0 name: Device 687f + + + ptr(0x7ffe270aa780) size(0x400000) + + + + + *ptr(0x0x7f2e7a200000) + + + + + ptr(0x7ffe270aa778) size(0x400000) + + + + + *ptr(0x0x7f2e79c00000) + + + + + dst(0x7f2e7a200000) src(0x7f2e7afff010) size(0x400000) kind(1) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +rocTX <"before hipLaunchKernel pid(144) tid(144)"> + + +rocTX <"hipLaunchKernel pid(144) tid(144)"> + + +<__hipPushCallConfiguration id(46) correlation_id(6) on-enter pid(144) tid(144)> +<__hipPushCallConfiguration id(46) correlation_id(6) on-exit pid(144) tid(144)> + + + + + +<__hipPopCallConfiguration id(171) correlation_id(7) on-enter pid(144) tid(144)> +<__hipPopCallConfiguration id(171) correlation_id(7) on-exit pid(144) tid(144)> + + + + + + + + + + + + +rocTX <"after hipLaunchKernel pid(144) tid(144)"> +rocTX <"hipMemcpy pid(144) tid(144)"> + + + dst(0x7f2e7abfe010) src(0x7f2e79c00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +rocTX <"(null) pid(144) tid(144)"> +rocTX <"(null) pid(144) tid(144)"> + + + PASSED! - ptr(0x902000000) - - - - - - ptr(0x902800000) - - - - - + + + ptr(0x7f2e7a200000) + + + + + + + + + + ptr(0x7f2e79c00000) + + + + + + + # START (98) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (97) ############################# - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - ptr(0x7fff85b97a98) size(0x400000) - - - - - *ptr(0x0x902000000) - ptr(0x7fff85b97a90) size(0x400000) - - - - - *ptr(0x0x902800000) - dst(0x902000000) src(0x7fd3c6c21010) size(0x400000) kind(1) - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - dst(0x7fd3d4d37010) src(0x902800000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + +Device 0 name: Device 687f + + + ptr(0x7ffe270aa780) size(0x400000) + + + + + *ptr(0x0x7f2e7ae00000) + + + + + ptr(0x7ffe270aa778) size(0x400000) + + + + + *ptr(0x0x7f2e7a800000) + + + + + dst(0x7f2e7ae00000) src(0x266df00) size(0x400000) kind(1) + + + + + + + + + + + + +rocTX <"before hipLaunchKernel pid(144) tid(144)"> +rocTX <"hipLaunchKernel pid(144) tid(144)"> + + +<__hipPushCallConfiguration id(46) correlation_id(17) on-enter pid(144) tid(144)> +<__hipPushCallConfiguration id(46) correlation_id(17) on-exit pid(144) tid(144)> + + + + + + +<__hipPopCallConfiguration id(171) correlation_id(18) on-enter pid(144) tid(144)> +<__hipPopCallConfiguration id(171) correlation_id(18) on-exit pid(144) tid(144)> + + + + + + + + +rocTX <"after hipLaunchKernel pid(144) tid(144)"> +rocTX <"hipMemcpy pid(144) tid(144)"> + + + dst(0x2a6df10) src(0x7f2e7a800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + +rocTX <"(null) pid(144) tid(144)"> +rocTX <"(null) pid(144) tid(144)"> + + + PASSED! - ptr(0x902000000) - - - - - - ptr(0x902800000) - - - - - + + + ptr(0x7f2e7ae00000) + + + + + + + + + + ptr(0x7f2e7a800000) + + + + + + + # START (96) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (95) ############################# - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - ptr(0x7fff85b97a98) size(0x400000) - - - - - *ptr(0x0x902000000) - ptr(0x7fff85b97a90) size(0x400000) - - - - - *ptr(0x0x902800000) - dst(0x902000000) src(0x7fd3c6c21010) size(0x400000) kind(1) - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - dst(0x7fd3d4d37010) src(0x902800000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + +Device 0 name: Device 687f + + + ptr(0x7ffe270aa780) size(0x400000) + + + + + *ptr(0x0x7f2e7ae00000) + + + + + ptr(0x7ffe270aa778) size(0x400000) + + + + + *ptr(0x0x7f2e7a800000) + + + + + dst(0x7f2e7ae00000) src(0x266df00) size(0x400000) kind(1) + + + + + + + + + + + + +rocTX <"before hipLaunchKernel pid(144) tid(144)"> +rocTX <"hipLaunchKernel pid(144) tid(144)"> + + +<__hipPushCallConfiguration id(46) correlation_id(28) on-enter pid(144) tid(144)> +<__hipPushCallConfiguration id(46) correlation_id(28) on-exit pid(144) tid(144)> + + + + +<__hipPopCallConfiguration id(171) correlation_id(29) on-enter pid(144) tid(144)> +<__hipPopCallConfiguration id(171) correlation_id(29) on-exit pid(144) tid(144)> + + + + + + + + + + +rocTX <"after hipLaunchKernel pid(144) tid(144)"> +rocTX <"hipMemcpy pid(144) tid(144)"> + + + dst(0x2a6df10) src(0x7f2e7a800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + +rocTX <"(null) pid(144) tid(144)"> +rocTX <"(null) pid(144) tid(144)"> + + + PASSED! - ptr(0x902000000) - - - - - - ptr(0x902800000) - - - - - + + + ptr(0x7f2e7ae00000) + + + + + + + + + + ptr(0x7f2e7a800000) + + + + + + + # START (94) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (93) ############################# - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - ptr(0x7fff85b97a98) size(0x400000) - - - - - *ptr(0x0x902000000) - ptr(0x7fff85b97a90) size(0x400000) - - - - - *ptr(0x0x902800000) - dst(0x902000000) src(0x7fd3c6c21010) size(0x400000) kind(1) - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - dst(0x7fd3d4d37010) src(0x902800000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + +Device 0 name: Device 687f + Activity records: + hipSetDevice correlation_id(1) time_ns(3815034539611796:3815034539624476) process_id(144) thread_id(144) + hipGetDeviceProperties correlation_id(2) time_ns(3815034539629146:3815034539636026) process_id(144) thread_id(144) + hipMalloc correlation_id(3) time_ns(3815034540645895:3815034540769036) process_id(144) thread_id(144) + hipMalloc correlation_id(4) time_ns(3815034540770976:3815034540838747) process_id(144) thread_id(144) + CopyHostToDevice correlation_id(5) time_ns(3815034813104824:3815034815162682) device_id(0) queue_id(0) bytes(0x0) + (null) correlation_id(5) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(5) time_ns(3815034540844827:3815034815185393) process_id(144) thread_id(144) + (null) correlation_id(6) time_ns(0:0) external_id(33) + __hipPushCallConfiguration correlation_id(6) time_ns(3815034815213083:3815034815226883) process_id(144) thread_id(144) + (null) correlation_id(7) time_ns(0:0) external_id(33) + __hipPopCallConfiguration correlation_id(7) time_ns(3815034815231703:3815034815240263) process_id(144) thread_id(144) + (null) correlation_id(8) time_ns(0:0) external_id(33) + hipLaunchKernel correlation_id(8) time_ns(3815034815245383:3815034815802118) process_id(144) thread_id(144) + KernelExecution correlation_id(8) time_ns(3815034815828499:3815034817036412) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(9) time_ns(3815034815815348:3815034819079007) device_id(0) queue_id(0) bytes(0x0) + (null) correlation_id(9) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(9) time_ns(3815034815807268:3815034819102458) process_id(144) thread_id(144) + (null) correlation_id(10) time_ns(0:0) external_id(31) + hipFree correlation_id(10) time_ns(3815034827422882:3815034827538213) process_id(144) thread_id(144) + (null) correlation_id(11) time_ns(0:0) external_id(31) + hipFree correlation_id(11) time_ns(3815034827551013:3815034827585793) process_id(144) thread_id(144) + hipSetDevice correlation_id(12) time_ns(3815034842993991:3815034843019331) process_id(144) thread_id(144) + hipGetDeviceProperties correlation_id(13) time_ns(3815034843022211:3815034843029401) process_id(144) thread_id(144) + hipMalloc correlation_id(14) time_ns(3815034843920789:3815034844066080) process_id(144) thread_id(144) + hipMalloc correlation_id(15) time_ns(3815034844068120:3815034844146721) process_id(144) thread_id(144) + CopyHostToDevice correlation_id(16) time_ns(3815034844170261:3815034845917477) device_id(0) queue_id(0) bytes(0x0) + (null) correlation_id(16) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(16) time_ns(3815034844148991:3815034845923247) process_id(144) thread_id(144) + (null) correlation_id(17) time_ns(0:0) external_id(33) + __hipPushCallConfiguration correlation_id(17) time_ns(3815034845935877:3815034845952237) process_id(144) thread_id(144) + (null) correlation_id(18) time_ns(0:0) external_id(33) + __hipPopCallConfiguration correlation_id(18) time_ns(3815034845959437:3815034845964287) process_id(144) thread_id(144) + (null) correlation_id(19) time_ns(0:0) external_id(33) + hipLaunchKernel correlation_id(19) time_ns(3815034845966657:3815034845976567) process_id(144) thread_id(144) + KernelExecution correlation_id(19) time_ns(3815034846027230:3815034847240032) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(20) time_ns(3815034846005407:3815034848941943) device_id(0) queue_id(0) bytes(0x0) + (null) correlation_id(20) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(20) time_ns(3815034845979677:3815034848959494) process_id(144) thread_id(144) + (null) correlation_id(21) time_ns(0:0) external_id(31) + hipFree correlation_id(21) time_ns(3815034856904715:3815034857006976) process_id(144) thread_id(144) + (null) correlation_id(22) time_ns(0:0) external_id(31) + hipFree correlation_id(22) time_ns(3815034857009286:3815034857043436) process_id(144) thread_id(144) + hipSetDevice correlation_id(23) time_ns(3815034871848968:3815034871874618) process_id(144) thread_id(144) + hipGetDeviceProperties correlation_id(24) time_ns(3815034871877198:3815034871883678) process_id(144) thread_id(144) + hipMalloc correlation_id(25) time_ns(3815034872780856:3815034872912437) process_id(144) thread_id(144) + hipMalloc correlation_id(26) time_ns(3815034872914247:3815034872995148) process_id(144) thread_id(144) + CopyHostToDevice correlation_id(27) time_ns(3815034873030018:3815034874809784) device_id(0) queue_id(0) bytes(0x0) + (null) correlation_id(27) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(27) time_ns(3815034872997568:3815034874815484) process_id(144) thread_id(144) + (null) correlation_id(28) time_ns(0:0) external_id(33) + __hipPushCallConfiguration correlation_id(28) time_ns(3815034874827864:3815034874834004) process_id(144) thread_id(144) + (null) correlation_id(29) time_ns(0:0) external_id(33) + __hipPopCallConfiguration correlation_id(29) time_ns(3815034874836114:3815034874848805) process_id(144) thread_id(144) + (null) correlation_id(30) time_ns(0:0) external_id(33) + hipLaunchKernel correlation_id(30) time_ns(3815034874851335:3815034874861255) process_id(144) thread_id(144) + KernelExecution correlation_id(30) time_ns(3815034874918981:3815034876108078) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(31) time_ns(3815034874896745:3815034877537288) device_id(0) queue_id(0) bytes(0x0) + (null) correlation_id(31) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(31) time_ns(3815034874864155:3815034877562989) process_id(144) thread_id(144) + (null) correlation_id(32) time_ns(0:0) external_id(31) + hipFree correlation_id(32) time_ns(3815034885600771:3815034885698491) process_id(144) thread_id(144) + (null) correlation_id(33) time_ns(0:0) external_id(31) + hipFree correlation_id(33) time_ns(3815034885700781:3815034885730492) process_id(144) thread_id(144) + hipSetDevice correlation_id(34) time_ns(3815034900486273:3815034900511943) process_id(144) thread_id(144) + + + ptr(0x7ffe270aa780) size(0x400000) + + + + + *ptr(0x0x7f2e7ae00000) + + + + + ptr(0x7ffe270aa778) size(0x400000) + + + + + *ptr(0x0x7f2e7a800000) + + + + + dst(0x7f2e7ae00000) src(0x266df00) size(0x400000) kind(1) + + + + + + + + + + + + +rocTX <"before hipLaunchKernel pid(144) tid(144)"> +rocTX <"hipLaunchKernel pid(144) tid(144)"> + + +<__hipPushCallConfiguration id(46) correlation_id(39) on-enter pid(144) tid(144)> +<__hipPushCallConfiguration id(46) correlation_id(39) on-exit pid(144) tid(144)> + + + + + + +<__hipPopCallConfiguration id(171) correlation_id(40) on-enter pid(144) tid(144)> +<__hipPopCallConfiguration id(171) correlation_id(40) on-exit pid(144) tid(144)> + + + + + + + + +rocTX <"after hipLaunchKernel pid(144) tid(144)"> +rocTX <"hipMemcpy pid(144) tid(144)"> + + + dst(0x2a6df10) src(0x7f2e7a800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + +rocTX <"(null) pid(144) tid(144)"> +rocTX <"(null) pid(144) tid(144)"> + + + PASSED! - ptr(0x902000000) - - - - - - ptr(0x902800000) - - - - - + + + ptr(0x7f2e7ae00000) + + + + + + + + + + ptr(0x7f2e7a800000) + + + + + + + # START (92) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (91) ############################# - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - ptr(0x7fff85b97a98) size(0x400000) - - - - - *ptr(0x0x902000000) - ptr(0x7fff85b97a90) size(0x400000) - - - - - *ptr(0x0x902800000) - dst(0x902000000) src(0x7fd3c6c21010) size(0x400000) kind(1) - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - dst(0x7fd3d4d37010) src(0x902800000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + +Device 0 name: Device 687f + + + ptr(0x7ffe270aa780) size(0x400000) + + + + + *ptr(0x0x7f2e7ae00000) + + + + + ptr(0x7ffe270aa778) size(0x400000) + + + + + *ptr(0x0x7f2e7a800000) + + + + + dst(0x7f2e7ae00000) src(0x266df00) size(0x400000) kind(1) + + + + + + + + + + + + +rocTX <"before hipLaunchKernel pid(144) tid(144)"> +rocTX <"hipLaunchKernel pid(144) tid(144)"> + + +<__hipPushCallConfiguration id(46) correlation_id(50) on-enter pid(144) tid(144)> +<__hipPushCallConfiguration id(46) correlation_id(50) on-exit pid(144) tid(144)> + + + + +<__hipPopCallConfiguration id(171) correlation_id(51) on-enter pid(144) tid(144)> + +<__hipPopCallConfiguration id(171) correlation_id(51) on-exit pid(144) tid(144)> + + + + + + + + + +rocTX <"after hipLaunchKernel pid(144) tid(144)"> +rocTX <"hipMemcpy pid(144) tid(144)"> + + + dst(0x2a6df10) src(0x7f2e7a800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + +rocTX <"(null) pid(144) tid(144)"> +rocTX <"(null) pid(144) tid(144)"> + + + PASSED! - ptr(0x902000000) - - - - - - ptr(0x902800000) - - - - - + + + ptr(0x7f2e7ae00000) + + + + + + + + + + ptr(0x7f2e7a800000) + + + + + + + # START (90) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (89) ############################# - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - ptr(0x7fff85b97a98) size(0x400000) - - - - - *ptr(0x0x902000000) - ptr(0x7fff85b97a90) size(0x400000) - - - - - *ptr(0x0x902800000) - dst(0x902000000) src(0x7fd3c6c21010) size(0x400000) kind(1) - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - dst(0x7fd3d4d37010) src(0x902800000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + +Device 0 name: Device 687f + + + ptr(0x7ffe270aa780) size(0x400000) + + + + + *ptr(0x0x7f2e7ae00000) + + + + + ptr(0x7ffe270aa778) size(0x400000) + + + + + *ptr(0x0x7f2e7a800000) + + + + + dst(0x7f2e7ae00000) src(0x266df00) size(0x400000) kind(1) + + + + + + + + + + + + +rocTX <"before hipLaunchKernel pid(144) tid(144)"> +rocTX <"hipLaunchKernel pid(144) tid(144)"> + + +<__hipPushCallConfiguration id(46) correlation_id(61) on-enter pid(144) tid(144)> +<__hipPushCallConfiguration id(46) correlation_id(61) on-exit pid(144) tid(144)> + + + + + + +<__hipPopCallConfiguration id(171) correlation_id(62) on-enter pid(144) tid(144)> +<__hipPopCallConfiguration id(171) correlation_id(62) on-exit pid(144) tid(144)> + + + + + + + + +rocTX <"after hipLaunchKernel pid(144) tid(144)"> +rocTX <"hipMemcpy pid(144) tid(144)"> + + + dst(0x2a6df10) src(0x7f2e7a800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + +rocTX <"(null) pid(144) tid(144)"> +rocTX <"(null) pid(144) tid(144)"> + + + PASSED! - ptr(0x902000000) - - - - - - ptr(0x902800000) - - - - - + + + ptr(0x7f2e7ae00000) + + + + + + + + + + ptr(0x7f2e7a800000) + + + + + + + # START (88) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (87) ############################# - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - ptr(0x7fff85b97a98) size(0x400000) - - - - - *ptr(0x0x902000000) - ptr(0x7fff85b97a90) size(0x400000) - - - - - *ptr(0x0x902800000) - dst(0x902000000) src(0x7fd3c6c21010) size(0x400000) kind(1) - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - dst(0x7fd3d4d37010) src(0x902800000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + +Device 0 name: Device 687f + + + ptr(0x7ffe270aa780) size(0x400000) + + + + + *ptr(0x0x7f2e7ae00000) + + + + + ptr(0x7ffe270aa778) size(0x400000) + + + + Activity records: + hipGetDeviceProperties correlation_id(35) time_ns(3815034900515173:3815034900522384) process_id(144) thread_id(144) + hipMalloc correlation_id(36) time_ns(3815034901561633:3815034901717614) process_id(144) thread_id(144) + hipMalloc correlation_id(37) time_ns(3815034901719824:3815034901792035) process_id(144) thread_id(144) + CopyHostToDevice correlation_id(38) time_ns(3815034901829565:3815034903594331) device_id(0) queue_id(0) bytes(0x0) + (null) correlation_id(38) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(38) time_ns(3815034901794445:3815034903600101) process_id(144) thread_id(144) + (null) correlation_id(39) time_ns(0:0) external_id(33) + __hipPushCallConfiguration correlation_id(39) time_ns(3815034903612701:3815034903630851) process_id(144) thread_id(144) + (null) correlation_id(40) time_ns(0:0) external_id(33) + __hipPopCallConfiguration correlation_id(40) time_ns(3815034903638291:3815034903643211) process_id(144) thread_id(144) + + *ptr(0x0x7f2e7a800000) + + + + + dst(0x7f2e7ae00000) src(0x266df00) size(0x400000) kind(1) + + (null) correlation_id(43) time_ns(0:0) external_id(31) + hipFree correlation_id(43) time_ns(3815034914432528:3815034914548999) process_id(144) thread_id(144) + (null) correlation_id(44) time_ns(0:0) external_id(31) + hipFree correlation_id(44) time_ns(3815034914551639:3815034914574059) process_id(144) thread_id(144) + hipSetDevice correlation_id(45) time_ns(3815034929379311:3815034929403791) process_id(144) thread_id(144) + hipGetDeviceProperties correlation_id(46) time_ns(3815034929406661:3815034929413171) process_id(144) thread_id(144) + hipMalloc correlation_id(47) time_ns(3815034930301769:3815034930432990) process_id(144) thread_id(144) + hipMalloc correlation_id(48) time_ns(3815034930434870:3815034930505061) process_id(144) thread_id(144) + CopyHostToDevice correlation_id(49) time_ns(3815034930543551:3815034932291247) device_id(0) queue_id(0) bytes(0x0) + (null) correlation_id(49) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(49) time_ns(3815034930507111:3815034932308587) process_id(144) thread_id(144) + (null) correlation_id(50) time_ns(0:0) external_id(33) + __hipPushCallConfiguration correlation_id(50) time_ns(3815034932320047:3815034932326437) process_id(144) thread_id(144) + (null) correlation_id(51) time_ns(0:0) external_id(33) + __hipPopCallConfiguration correlation_id(51) time_ns(3815034932328547:3815034932335367) process_id(144) thread_id(144) + (null) correlation_id(52) time_ns(0:0) external_id(33) + hipLaunchKernel correlation_id(52) time_ns(3815034932337627:3815034932353447) process_id(144) thread_id(144) + KernelExecution correlation_id(52) time_ns(3815034932413717:3815034933622519) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(53) time_ns(3815034932390947:3815034935234553) device_id(0) queue_id(0) bytes(0x0) + (null) correlation_id(53) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(53) time_ns(3815034932356427:3815034935253993) process_id(144) thread_id(144) + (null) correlation_id(54) time_ns(0:0) external_id(31) + hipFree correlation_id(54) time_ns(3815034943233274:3815034943329735) process_id(144) thread_id(144) + (null) correlation_id(55) time_ns(0:0) external_id(31) + hipFree correlation_id(55) time_ns(3815034943332005:3815034943363085) process_id(144) thread_id(144) + hipSetDevice correlation_id(56) time_ns(3815034958065276:3815034958090877) process_id(144) thread_id(144) + hipGetDeviceProperties correlation_id(57) time_ns(3815034958093567:3815034958100237) process_id(144) thread_id(144) + hipMalloc correlation_id(58) time_ns(3815034958987395:3815034959117006) process_id(144) thread_id(144) + hipMalloc correlation_id(59) time_ns(3815034959118756:3815034959199866) process_id(144) thread_id(144) + CopyHostToDevice correlation_id(60) time_ns(3815034959237427:3815034960974822) device_id(0) queue_id(0) bytes(0x0) + (null) correlation_id(60) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(60) time_ns(3815034959202197:3815034960988452) process_id(144) thread_id(144) + (null) correlation_id(61) time_ns(0:0) external_id(33) + __hipPushCallConfiguration correlation_id(61) time_ns(3815034960993662:3815034960999632) process_id(144) thread_id(144) + + + (null) correlation_id(62) time_ns(0:0) external_id(33) + __hipPopCallConfiguration correlation_id(62) time_ns(3815034961006342:3815034961011363) process_id(144) thread_id(144) + (null) correlation_id(63) time_ns(0:0) external_id(33) + hipLaunchKernel correlation_id(63) time_ns(3815034961013663:3815034961023563) process_id(144) thread_id(144) + KernelExecution correlation_id(63) time_ns(3815034961076966:3815034962286805) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(64) time_ns(3815034961054503:3815034963937538) device_id(0) queue_id(0) bytes(0x0) + (null) correlation_id(64) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(64) time_ns(3815034961026593:3815034963958099) process_id(144) thread_id(144) + (null) correlation_id(65) time_ns(0:0) external_id(31) + hipFree correlation_id(65) time_ns(3815034971849279:3815034971945540) process_id(144) thread_id(144) + (null) correlation_id(66) time_ns(0:0) external_id(31) + hipFree correlation_id(66) time_ns(3815034971947820:3815034971981541) process_id(144) thread_id(144) + hipSetDevice correlation_id(67) time_ns(3815034986854033:3815034986880283) process_id(144) thread_id(144) + hipGetDeviceProperties correlation_id(68) time_ns(3815034986883143:3815034986889523) process_id(144) thread_id(144) + + + + + + + + + +rocTX <"before hipLaunchKernel pid(144) tid(144)"> +rocTX <"hipLaunchKernel pid(144) tid(144)"> + + +<__hipPushCallConfiguration id(46) correlation_id(72) on-enter pid(144) tid(144)> +<__hipPushCallConfiguration id(46) correlation_id(72) on-exit pid(144) tid(144)> + + + + +<__hipPopCallConfiguration id(171) correlation_id(73) on-enter pid(144) tid(144)> + +<__hipPopCallConfiguration id(171) correlation_id(73) on-exit pid(144) tid(144)> + + + + + + + + + +rocTX <"after hipLaunchKernel pid(144) tid(144)"> +rocTX <"hipMemcpy pid(144) tid(144)"> + + + dst(0x2a6df10) src(0x7f2e7a800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + +rocTX <"(null) pid(144) tid(144)"> +rocTX <"(null) pid(144) tid(144)"> + + + PASSED! - ptr(0x902000000) - - - - - - ptr(0x902800000) - - - - - + + + ptr(0x7f2e7ae00000) + + + + + + + + + + ptr(0x7f2e7a800000) + + + + + + + # START (86) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (85) ############################# - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - ptr(0x7fff85b97a98) size(0x400000) - - - - - *ptr(0x0x902000000) - ptr(0x7fff85b97a90) size(0x400000) - - - - - *ptr(0x0x902800000) - dst(0x902000000) src(0x7fd3c6c21010) size(0x400000) kind(1) - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - dst(0x7fd3d4d37010) src(0x902800000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + +Device 0 name: Device 687f + + + ptr(0x7ffe270aa780) size(0x400000) + + + + + *ptr(0x0x7f2e7ae00000) + + + + + ptr(0x7ffe270aa778) size(0x400000) + + + + + *ptr(0x0x7f2e7a800000) + + + + + dst(0x7f2e7ae00000) src(0x266df00) size(0x400000) kind(1) + + + + + + + + + + + + +rocTX <"before hipLaunchKernel pid(144) tid(144)"> +rocTX <"hipLaunchKernel pid(144) tid(144)"> + + +<__hipPushCallConfiguration id(46) correlation_id(83) on-enter pid(144) tid(144)> +<__hipPushCallConfiguration id(46) correlation_id(83) on-exit pid(144) tid(144)> + + + + +<__hipPopCallConfiguration id(171) correlation_id(84) on-enter pid(144) tid(144)> +<__hipPopCallConfiguration id(171) correlation_id(84) on-exit pid(144) tid(144)> + + + + + + + + + + +rocTX <"after hipLaunchKernel pid(144) tid(144)"> +rocTX <"hipMemcpy pid(144) tid(144)"> + + + dst(0x2a6df10) src(0x7f2e7a800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + +rocTX <"(null) pid(144) tid(144)"> +rocTX <"(null) pid(144) tid(144)"> + + + + PASSED! - ptr(0x902000000) - - - - - - ptr(0x902800000) - - - - - + + + ptr(0x7f2e7ae00000) + + + + + + + + + + ptr(0x7f2e7a800000) + + + + + + + # START (84) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (83) ############################# - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - ptr(0x7fff85b97a98) size(0x400000) - - - - - *ptr(0x0x902000000) - ptr(0x7fff85b97a90) size(0x400000) - - - - - *ptr(0x0x902800000) - dst(0x902000000) src(0x7fd3c6c21010) size(0x400000) kind(1) - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - dst(0x7fd3d4d37010) src(0x902800000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + +Device 0 name: Device 687f + + + ptr(0x7ffe270aa780) size(0x400000) + + + + + *ptr(0x0x7f2e7ae00000) + + + + + ptr(0x7ffe270aa778) size(0x400000) + + + + + *ptr(0x0x7f2e7a800000) + + + + + dst(0x7f2e7ae00000) src(0x266df00) size(0x400000) kind(1) + + + + + + + + + + + + +rocTX <"before hipLaunchKernel pid(144) tid(144)"> +rocTX <"hipLaunchKernel pid(144) tid(144)"> + + +<__hipPushCallConfiguration id(46) correlation_id(94) on-enter pid(144) tid(144)> +<__hipPushCallConfiguration id(46) correlation_id(94) on-exit pid(144) tid(144)> + + + + +<__hipPopCallConfiguration id(171) correlation_id(95) on-enter pid(144) tid(144)> +<__hipPopCallConfiguration id(171) correlation_id(95) on-exit pid(144) tid(144)> + + + + + + + + + + +rocTX <"after hipLaunchKernel pid(144) tid(144)"> +rocTX <"hipMemcpy pid(144) tid(144)"> + + + dst(0x2a6df10) src(0x7f2e7a800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + +rocTX <"(null) pid(144) tid(144)"> +rocTX <"(null) pid(144) tid(144)"> + + + PASSED! - ptr(0x902000000) - - - - - - ptr(0x902800000) - - - - - + + + ptr(0x7f2e7ae00000) + + + + + + + + + + ptr(0x7f2e7a800000) + + + + + + + # START (82) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (81) ############################# - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - ptr(0x7fff85b97a98) size(0x400000) - - - - - *ptr(0x0x902000000) - ptr(0x7fff85b97a90) size(0x400000) - - - - - *ptr(0x0x902800000) - dst(0x902000000) src(0x7fd3c6c21010) size(0x400000) kind(1) - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - dst(0x7fd3d4d37010) src(0x902800000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + +Device 0 name: Device 687f + + + ptr(0x7ffe270aa780) size(0x400000) + + + + + *ptr(0x0x7f2e7ae00000) + + + + + ptr(0x7ffe270aa778) size(0x400000) + + + + + *ptr(0x0x7f2e7a800000) + + + + + dst(0x7f2e7ae00000) src(0x266df00) size(0x400000) kind(1) + Activity records: + hipMalloc correlation_id(69) time_ns(3815034987779281:3815034987919872) process_id(144) thread_id(144) + hipMalloc correlation_id(70) time_ns(3815034987927643:3815034988023483) process_id(144) thread_id(144) + CopyHostToDevice correlation_id(71) time_ns(3815034988049764:3815034989807949) device_id(0) queue_id(0) bytes(0x0) + + (null) correlation_id(71) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(71) time_ns(3815034988026073:3815034989821609) process_id(144) thread_id(144) + (null) correlation_id(72) time_ns(0:0) external_id(33) + __hipPushCallConfiguration correlation_id(72) time_ns(3815034989833059:3815034989838919) process_id(144) thread_id(144) + (null) correlation_id(73) time_ns(0:0) external_id(33) + __hipPopCallConfiguration correlation_id(73) time_ns(3815034989841390:3815034989848420) process_id(144) thread_id(144) + (null) correlation_id(74) time_ns(0:0) external_id(33) + hipLaunchKernel correlation_id(74) time_ns(3815034989855550:3815034989866400) process_id(144) thread_id(144) + KernelExecution correlation_id(74) time_ns(3815034989922792:3815034991125668) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(75) time_ns(3815034989900490:3815034992539864) device_id(0) queue_id(0) bytes(0x0) + (null) correlation_id(75) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(75) time_ns(3815034989869630:3815034992560164) process_id(144) thread_id(144) + (null) correlation_id(76) time_ns(0:0) external_id(31) + hipFree correlation_id(76) time_ns(3815035000595486:3815035000706827) process_id(144) thread_id(144) + (null) correlation_id(77) time_ns(0:0) external_id(31) + hipFree correlation_id(77) time_ns(3815035000709377:3815035000741757) process_id(144) thread_id(144) + hipSetDevice correlation_id(78) time_ns(3815035015478038:3815035015503418) process_id(144) thread_id(144) + hipGetDeviceProperties correlation_id(79) time_ns(3815035015506298:3815035015512569) process_id(144) thread_id(144) + hipMalloc correlation_id(80) time_ns(3815035016411806:3815035016543568) process_id(144) thread_id(144) + hipMalloc correlation_id(81) time_ns(3815035016545738:3815035016625518) process_id(144) thread_id(144) + CopyHostToDevice correlation_id(82) time_ns(3815035016648559:3815035018491865) device_id(0) queue_id(0) bytes(0x0) + (null) correlation_id(82) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(82) time_ns(3815035016627988:3815035018497735) process_id(144) thread_id(144) + (null) correlation_id(83) time_ns(0:0) external_id(33) + __hipPushCallConfiguration correlation_id(83) time_ns(3815035018503315:3815035018509175) process_id(144) thread_id(144) + (null) correlation_id(84) time_ns(0:0) external_id(33) + __hipPopCallConfiguration correlation_id(84) time_ns(3815035018511585:3815035018516365) process_id(144) thread_id(144) + (null) correlation_id(85) time_ns(0:0) external_id(33) + hipLaunchKernel correlation_id(85) time_ns(3815035018526095:3815035018536295) process_id(144) thread_id(144) + KernelExecution correlation_id(85) time_ns(3815035018594802:3815035019791752) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(86) time_ns(3815035018572356:3815035021203349) device_id(0) queue_id(0) bytes(0x0) + + + (null) correlation_id(86) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(86) time_ns(3815035018539765:3815035021224619) process_id(144) thread_id(144) + (null) correlation_id(87) time_ns(0:0) external_id(31) + hipFree correlation_id(87) time_ns(3815035029224631:3815035029316522) process_id(144) thread_id(144) + (null) correlation_id(88) time_ns(0:0) external_id(31) + hipFree correlation_id(88) time_ns(3815035029319142:3815035029350722) process_id(144) thread_id(144) + hipSetDevice correlation_id(89) time_ns(3815035043905382:3815035043930462) process_id(144) thread_id(144) + hipGetDeviceProperties correlation_id(90) time_ns(3815035043933122:3815035043939662) process_id(144) thread_id(144) + hipMalloc correlation_id(91) time_ns(3815035044831530:3815035044970501) process_id(144) thread_id(144) + hipMalloc correlation_id(92) time_ns(3815035044972551:3815035045044772) process_id(144) thread_id(144) + CopyHostToDevice correlation_id(93) time_ns(3815035045079792:3815035046819047) device_id(0) queue_id(0) bytes(0x0) + (null) correlation_id(93) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(93) time_ns(3815035045046912:3815035046824887) process_id(144) thread_id(144) + (null) correlation_id(94) time_ns(0:0) external_id(33) + __hipPushCallConfiguration correlation_id(94) time_ns(3815035046830378:3815035046835758) process_id(144) thread_id(144) + (null) correlation_id(95) time_ns(0:0) external_id(33) + __hipPopCallConfiguration correlation_id(95) time_ns(3815035046838208:3815035046843028) process_id(144) thread_id(144) + (null) correlation_id(96) time_ns(0:0) external_id(33) + hipLaunchKernel correlation_id(96) time_ns(3815035046846678:3815035046857348) process_id(144) thread_id(144) + KernelExecution correlation_id(96) time_ns(3815035046917717:3815035048115704) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(97) time_ns(3815035046895178:3815035049828944) device_id(0) queue_id(0) bytes(0x0) + (null) correlation_id(97) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(97) time_ns(3815035046860768:3815035049847245) process_id(144) thread_id(144) + (null) correlation_id(98) time_ns(0:0) external_id(31) + hipFree correlation_id(98) time_ns(3815035057823256:3815035057918827) process_id(144) thread_id(144) + (null) correlation_id(99) time_ns(0:0) external_id(31) + hipFree correlation_id(99) time_ns(3815035057921407:3815035057954387) process_id(144) thread_id(144) + hipSetDevice correlation_id(100) time_ns(3815035072826089:3815035072855090) process_id(144) thread_id(144) + hipGetDeviceProperties correlation_id(101) time_ns(3815035072858230:3815035072876850) process_id(144) thread_id(144) + hipMalloc correlation_id(102) time_ns(3815035073836398:3815035073982670) process_id(144) thread_id(144) + + + + + + + + + +rocTX <"before hipLaunchKernel pid(144) tid(144)"> +rocTX <"hipLaunchKernel pid(144) tid(144)"> + + +<__hipPushCallConfiguration id(46) correlation_id(105) on-enter pid(144) tid(144)> +<__hipPushCallConfiguration id(46) correlation_id(105) on-exit pid(144) tid(144)> + + + + + +<__hipPopCallConfiguration id(171) correlation_id(106) on-enter pid(144) tid(144)> +<__hipPopCallConfiguration id(171) correlation_id(106) on-exit pid(144) tid(144)> + + + + + + + + + +rocTX <"after hipLaunchKernel pid(144) tid(144)"> +rocTX <"hipMemcpy pid(144) tid(144)"> + + + dst(0x2a6df10) src(0x7f2e7a800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + +rocTX <"(null) pid(144) tid(144)"> +rocTX <"(null) pid(144) tid(144)"> + + + PASSED! - ptr(0x902000000) - - - - - - ptr(0x902800000) - - - - - + + + ptr(0x7f2e7ae00000) + + + + + + + + + + ptr(0x7f2e7a800000) + + + + + + + # START (80) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (79) ############################# - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - ptr(0x7fff85b97a98) size(0x400000) - - - - - *ptr(0x0x902000000) - ptr(0x7fff85b97a90) size(0x400000) - - - - - *ptr(0x0x902800000) - dst(0x902000000) src(0x7fd3c6c21010) size(0x400000) kind(1) - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - dst(0x7fd3d4d37010) src(0x902800000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + +Device 0 name: Device 687f + + + ptr(0x7ffe270aa780) size(0x400000) + + + + + *ptr(0x0x7f2e7ae00000) + + + + + ptr(0x7ffe270aa778) size(0x400000) + + + + + *ptr(0x0x7f2e7a800000) + + + + + dst(0x7f2e7ae00000) src(0x266df00) size(0x400000) kind(1) + + + + + + + + + + + + +rocTX <"before hipLaunchKernel pid(144) tid(144)"> +rocTX <"hipLaunchKernel pid(144) tid(144)"> + + +<__hipPushCallConfiguration id(46) correlation_id(116) on-enter pid(144) tid(144)> +<__hipPushCallConfiguration id(46) correlation_id(116) on-exit pid(144) tid(144)> + + + + +<__hipPopCallConfiguration id(171) correlation_id(117) on-enter pid(144) tid(144)> + +<__hipPopCallConfiguration id(171) correlation_id(117) on-exit pid(144) tid(144)> + + + + + + + + + +rocTX <"after hipLaunchKernel pid(144) tid(144)"> +rocTX <"hipMemcpy pid(144) tid(144)"> + + + dst(0x2a6df10) src(0x7f2e7a800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + +rocTX <"(null) pid(144) tid(144)"> +rocTX <"(null) pid(144) tid(144)"> + + + PASSED! - ptr(0x902000000) - - - - - - ptr(0x902800000) - - - - - + + + ptr(0x7f2e7ae00000) + + + + + + + + + + ptr(0x7f2e7a800000) + + + + + + + # START (78) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (77) ############################# - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - ptr(0x7fff85b97a98) size(0x400000) - - - - - *ptr(0x0x902000000) - ptr(0x7fff85b97a90) size(0x400000) - - - - - *ptr(0x0x902800000) - dst(0x902000000) src(0x7fd3c6c21010) size(0x400000) kind(1) - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - dst(0x7fd3d4d37010) src(0x902800000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + +Device 0 name: Device 687f + + + ptr(0x7ffe270aa780) size(0x400000) + + + + + *ptr(0x0x7f2e7ae00000) + + + + + ptr(0x7ffe270aa778) size(0x400000) + + + + + *ptr(0x0x7f2e7a800000) + + + + + dst(0x7f2e7ae00000) src(0x266df00) size(0x400000) kind(1) + + + + + + + + + + + + +rocTX <"before hipLaunchKernel pid(144) tid(144)"> +rocTX <"hipLaunchKernel pid(144) tid(144)"> + + +<__hipPushCallConfiguration id(46) correlation_id(127) on-enter pid(144) tid(144)> +<__hipPushCallConfiguration id(46) correlation_id(127) on-exit pid(144) tid(144)> + + + + + +<__hipPopCallConfiguration id(171) correlation_id(128) on-enter pid(144) tid(144)> +<__hipPopCallConfiguration id(171) correlation_id(128) on-exit pid(144) tid(144)> + + + + + + + + + +rocTX <"after hipLaunchKernel pid(144) tid(144)"> +rocTX <"hipMemcpy pid(144) tid(144)"> + + + dst(0x2a6df10) src(0x7f2e7a800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + +rocTX <"(null) pid(144) tid(144)"> +rocTX <"(null) pid(144) tid(144)"> + + + PASSED! - ptr(0x902000000) - - - - - - ptr(0x902800000) - - - - - + + + ptr(0x7f2e7ae00000) + + + + + + + + + + ptr(0x7f2e7a800000) + + + + + + + # START (76) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (75) ############################# - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - ptr(0x7fff85b97a98) size(0x400000) - - - - - *ptr(0x0x902000000) - ptr(0x7fff85b97a90) size(0x400000) - - - - - *ptr(0x0x902800000) - dst(0x902000000) src(0x7fd3c6c21010) size(0x400000) kind(1) - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - dst(0x7fd3d4d37010) src(0x902800000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + +Device 0 name: Device 687f + + + ptr(0x7ffe270aa780) size(0x400000) + + + + + *ptr(0x0x7f2e7ae00000) + + + + + ptr(0x7ffe270aa778) size(0x400000) + + + + + *ptr(0x0x7f2e7a800000) + + + + + dst(0x7f2e7ae00000) src(0x266df00) size(0x400000) kind(1) + + + + + + + + + + + + +rocTX <"before hipLaunchKernel pid(144) tid(144)"> +rocTX <"hipLaunchKernel pid(144) tid(144)"> + + +<__hipPushCallConfiguration id(46) correlation_id(138) on-enter pid(144) tid(144)> +<__hipPushCallConfiguration id(46) correlation_id(138) on-exit pid(144) tid(144)> + + + + Activity records: + hipMalloc correlation_id(103) time_ns(3815035073984620:3815035074055860) process_id(144) thread_id(144) + CopyHostToDevice correlation_id(104) time_ns(3815035074099431:3815035075846106) device_id(0) queue_id(0) bytes(0x0) + (null) correlation_id(104) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(104) time_ns(3815035074064210:3815035075857386) process_id(144) thread_id(144) + (null) correlation_id(105) time_ns(0:0) external_id(33) + __hipPushCallConfiguration correlation_id(105) time_ns(3815035075869166:3815035075875016) process_id(144) thread_id(144) + (null) correlation_id(106) time_ns(0:0) external_id(33) + __hipPopCallConfiguration correlation_id(106) time_ns(3815035075877446:3815035075885926) process_id(144) thread_id(144) + (null) correlation_id(107) time_ns(0:0) external_id(33) + hipLaunchKernel correlation_id(107) time_ns(3815035075893357:3815035075903357) process_id(144) thread_id(144) + KernelExecution correlation_id(107) time_ns(3815035075961917:3815035077165237) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(108) time_ns(3815035075939867:3815035078486890) device_id(0) queue_id(0) bytes(0x0) + (null) correlation_id(108) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(108) time_ns(3815035075906807:3815035078511440) process_id(144) thread_id(144) + (null) correlation_id(109) time_ns(0:0) external_id(31) + hipFree correlation_id(109) time_ns(3815035086710493:3815035086801894) process_id(144) thread_id(144) + (null) correlation_id(110) time_ns(0:0) external_id(31) + hipFree correlation_id(110) time_ns(3815035086804314:3815035086835304) process_id(144) thread_id(144) + hipSetDevice correlation_id(111) time_ns(3815035101418764:3815035101443524) process_id(144) thread_id(144) + hipGetDeviceProperties correlation_id(112) time_ns(3815035101446084:3815035101452775) process_id(144) thread_id(144) + hipMalloc correlation_id(113) time_ns(3815035102344222:3815035102474734) process_id(144) thread_id(144) + hipMalloc correlation_id(114) time_ns(3815035102476684:3815035102559074) process_id(144) thread_id(144) + CopyHostToDevice correlation_id(115) time_ns(3815035102596845:3815035104212179) device_id(0) queue_id(0) bytes(0x0) + (null) correlation_id(115) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(115) time_ns(3815035102561564:3815035104219289) process_id(144) thread_id(144) + (null) correlation_id(116) time_ns(0:0) external_id(33) + __hipPushCallConfiguration correlation_id(116) time_ns(3815035104224759:3815035104230289) process_id(144) thread_id(144) + (null) correlation_id(117) time_ns(0:0) external_id(33) + __hipPopCallConfiguration correlation_id(117) time_ns(3815035104232789:3815035104240149) process_id(144) thread_id(144) + (null) correlation_id(118) time_ns(0:0) external_id(33) + hipLaunchKernel correlation_id(118) time_ns(3815035104243149:3815035104253739) process_id(144) thread_id(144) + KernelExecution correlation_id(118) time_ns(3815035104316182:3815035105520687) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(119) time_ns(3815035104291940:3815035107244837) device_id(0) queue_id(0) bytes(0x0) + (null) correlation_id(119) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(119) time_ns(3815035104256979:3815035107264887) process_id(144) thread_id(144) + (null) correlation_id(120) time_ns(0:0) external_id(31) + hipFree correlation_id(120) time_ns(3815035115353908:3815035115456889) process_id(144) thread_id(144) + (null) correlation_id(121) time_ns(0:0) external_id(31) + hipFree correlation_id(121) time_ns(3815035115459219:3815035115491640) process_id(144) thread_id(144) + hipSetDevice correlation_id(122) time_ns(3815035130111260:3815035130136820) process_id(144) thread_id(144) + hipGetDeviceProperties correlation_id(123) time_ns(3815035130139430:3815035130146160) process_id(144) thread_id(144) + hipMalloc correlation_id(124) time_ns(3815035131029998:3815035131172859) process_id(144) thread_id(144) + hipMalloc correlation_id(125) time_ns(3815035131175319:3815035131245940) process_id(144) thread_id(144) + CopyHostToDevice correlation_id(126) time_ns(3815035131282980:3815035133020886) device_id(0) queue_id(0) bytes(0x0) + (null) correlation_id(126) time_ns(0:0) external_id(32) + + + + hipMemcpy correlation_id(126) time_ns(3815035131248230:3815035133028006) process_id(144) thread_id(144) +<__hipPopCallConfiguration id(171) correlation_id(139) on-enter pid(144) tid(144)> +<__hipPopCallConfiguration id(171) correlation_id(139) on-exit pid(144) tid(144)> + +<__hipPopCallConfiguration id(171) correlation_id(139) on + + + __hipPushCallConfiguration correlation_id(127) time_ns(3815035133039656:3815035133045626) process_id(144) thread_id(144) + __hipPushCallConfiguration correlation_id(127) time_ns(3815035133039656: (null) correlation_id(128) time_ns(0:0) external_id(33) + __hipPopCallConfiguration correlation_id(128) time_ns(3815035133048146 + + +rocTX <"after hipLaunchKernel pid(144) tid(144)"> +rocTX <"hipMemcpy pid(144) tid(144)"> + + + __hipPopCallConfiguration corr + dst(0x2a6df10) src(0x7f2e7a800000) size(0x400000) kind(2) + (null) correlation_id(129) time_ns(0:0) external_id(33) + hipLaunchKernel correlation_id(129) time_ns(3815035133063636:3815035133077717) process_id(144) thread_id(144) + KernelExecution correlation_id(129) time_ns(3815035133128777:3815035134324393) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(130) time_ns(3815035133107607:3815035135862972) device_id(0) queue_id(0) bytes(0x0) + (null) correlation_id(130) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(130) time_ns(3815035133081117:3815035135881262) process_id(144) thread_id(144) + + (null) correlation_id(131) time_ns(0:0) external_id(31) + hipFree correlation_id(131) time_ns(3815035143754912:3815035143859273) process_id(144) thread_id(144) + (null) correlation_id(132) time_ns(0:0) external_id(31) + hipFree correlation_id(132) time_ns(3815035143861633:3815035143893413) process_id(144) thread_id(144) + hipSetDevice correlation_id(133) time_ns(3815035158630364:3815035158664725) process_id(144) thread_id(144) + hipGetDeviceProperties correlation_id(134) time_ns(3815035158667565:3815035158674005) process_id(144) thread_id(144) + hipMalloc correlation_id(135) time_ns(3815035159563452:3815035159690364) process_id(144) thread_id(144) + hipMalloc correlation_id(136) time_ns(3815035159692464:3815035159763284) process_id(144) thread_id(144) + + + + + + + + + + + + + +rocTX <"(null) pid(144) tid(144)"> +rocTX <"(null) pid(144) tid(144)"> + + + + PASSED! - ptr(0x902000000) - - - - - - ptr(0x902800000) - - - - - + + + ptr(0x7f2e7ae00000) + + + + + + + + + + ptr(0x7f2e7a800000) + + + + + + + # START (74) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (73) ############################# - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - ptr(0x7fff85b97a98) size(0x400000) - - - - - *ptr(0x0x902000000) - ptr(0x7fff85b97a90) size(0x400000) - - - - - *ptr(0x0x902800000) - dst(0x902000000) src(0x7fd3c6c21010) size(0x400000) kind(1) - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - dst(0x7fd3d4d37010) src(0x902800000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + +Device 0 name: Device 687f + + + ptr(0x7ffe270aa780) size(0x400000) + + + + + *ptr(0x0x7f2e7ae00000) + + + + + ptr(0x7ffe270aa778) size(0x400000) + + + + + *ptr(0x0x7f2e7a800000) + + + + + dst(0x7f2e7ae00000) src(0x266df00) size(0x400000) kind(1) + + + + + + + + + + + + +rocTX <"before hipLaunchKernel pid(144) tid(144)"> +rocTX <"hipLaunchKernel pid(144) tid(144)"> + + +<__hipPushCallConfiguration id(46) correlation_id(149) on-enter pid(144) tid(144)> +<__hipPushCallConfiguration id(46) correlation_id(149) on-exit pid(144) tid(144)> + + + + + + +<__hipPopCallConfiguration id(171) correlation_id(150) on-enter pid(144) tid(144)> +<__hipPopCallConfiguration id(171) correlation_id(150) on-exit pid(144) tid(144)> + + + + + + + + +rocTX <"after hipLaunchKernel pid(144) tid(144)"> +rocTX <"hipMemcpy pid(144) tid(144)"> + + + dst(0x2a6df10) src(0x7f2e7a800000) size(0x400000) kind(2) + + + + + + + + + + + + + + +rocTX <"(null) pid(144) tid(144)"> +rocTX <"(null) pid(144) tid(144)"> + + + + PASSED! - ptr(0x902000000) - - - - - - ptr(0x902800000) - - - - - + + + ptr(0x7f2e7ae00000) + + + + + + + + + + ptr(0x7f2e7a800000) + + + + + + + # START (72) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (71) ############################# - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - ptr(0x7fff85b97a98) size(0x400000) - - - - - *ptr(0x0x902000000) - ptr(0x7fff85b97a90) size(0x400000) - - - - - *ptr(0x0x902800000) - dst(0x902000000) src(0x7fd3c6c21010) size(0x400000) kind(1) - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - dst(0x7fd3d4d37010) src(0x902800000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + +Device 0 name: Device 687f + + + ptr(0x7ffe270aa780) size(0x400000) + + + + + *ptr(0x0x7f2e7ae00000) + + + + + ptr(0x7ffe270aa778) size(0x400000) + + + + + *ptr(0x0x7f2e7a800000) + + + + + dst(0x7f2e7ae00000) src(0x266df00) size(0x400000) kind(1) + + + + + + + + + + + + +rocTX <"before hipLaunchKernel pid(144) tid(144)"> +rocTX <"hipLaunchKernel pid(144) tid(144)"> + + +<__hipPushCallConfiguration id(46) correlation_id(160) on-enter pid(144) tid(144)> +<__hipPushCallConfiguration id(46) correlation_id(160) on-exit pid(144) tid(144)> + + + + + + +<__hipPopCallConfiguration id(171) correlation_id(161) on-enter pid(144) tid(144)> +<__hipPopCallConfiguration id(171) correlation_id(161) on-exit pid(144) tid(144)> + + + + + + + + +rocTX <"after hipLaunchKernel pid(144) tid(144)"> +rocTX <"hipMemcpy pid(144) tid(144)"> + + + dst(0x2a6df10) src(0x7f2e7a800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + +rocTX <"(null) pid(144) tid(144)"> +rocTX <"(null) pid(144) tid(144)"> + + PASSED! - ptr(0x902000000) - - - - - - ptr(0x902800000) - - - - - + + + ptr(0x7f2e7ae00000) + + + + + + + + + + ptr(0x7f2e7a800000) + + + + + + + # START (70) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (69) ############################# - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - ptr(0x7fff85b97a98) size(0x400000) - - - - - *ptr(0x0x902000000) - ptr(0x7fff85b97a90) size(0x400000) - - - - - *ptr(0x0x902800000) - dst(0x902000000) src(0x7fd3c6c21010) size(0x400000) kind(1) - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - dst(0x7fd3d4d37010) src(0x902800000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + +Device 0 name: Device 687f + + + ptr(0x7ffe270aa780) size(0x400000) + + + + + *ptr(0x0x7f2e7ae00000) + + + + + ptr(0x7ffe270aa778) size(0x400000) + + + + + *ptr(0x0x7f2e7a800000) + + + + + dst(0x7f2e7ae00000) src(0x266df00) size(0x400000) kind(1) + + + + + + + + + + + + +rocTX <"before hipLaunchKernel pid(144) tid(144)"> +rocTX <"hipLaunchKernel pid(144) tid(144)"> + + +<__hipPushCallConfiguration id(46) correlation_id(171) on-enter pid(144) tid(144)> +<__hipPushCallConfiguration id(46) correlation_id(171) on-exit pid(144) tid(144)> + + + + +<__hipPopCallConfiguration id(171) correlation_id(172) on-enter pid(144) tid(144)> + Activity records: + CopyHostToDevice correlation_id(137) time_ns(3815035159799745: + Activity records: + CopyHostToDevice correlation_id(137) time_ns(3815035159799745: + + + + + + + + + + +rocTX <"after hipLaunchKernel pid(144) tid(144)"> +rocTX <"hipMemcpy pid(144) tid(144)"> + + + dst(0x2a6df10) src(0x7f2e7a800000) size(0x400000) kind(2) + + + (null) correlation_id(137) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(137) time_ns(3815035159765714:3815035161559040) process_id(144) thread_id(144) + (null) correlation_id(138) time_ns(0:0) external_id(33) + __hipPushCallConfiguration correlation_id(138) time_ns(3815035161570661:3815035161580311) process_id(144) thread_id(144) + (null) correlation_id(139) time_ns(0:0) external_id(33) + __hipPopCallConfiguration correlation_id(139) time_ns(3815035161775332:3815035161798133) process_id(144) thread_id(144) + (null) correlation_id(140) time_ns(0:0) external_id(33) + hipLaunchKernel correlation_id(140) time_ns(3815035161803343:3815035161833353) process_id(144) thread_id(144) + KernelExecution correlation_id(140) time_ns(3815035161916856:3815035163108769) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(141) time_ns(3815035161894164:3815035164882040) device_id(0) queue_id(0) bytes(0x0) + (null) correlation_id(141) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(141) time_ns(3815035161837323:3815035164909581) process_id(144) thread_id(144) + (null) correlation_id(142) time_ns(0:0) external_id(31) + hipFree correlation_id(142) time_ns(3815035173090463:3815035173190194) process_id(144) thread_id(144) + (null) correlation_id(143) time_ns(0:0) external_id(31) + hipFree correlation_id(143) time_ns(3815035173192704:3815035173225085) process_id(144) thread_id(144) + hipSetDevice correlation_id(144) time_ns(3815035187852245:3815035187877535) process_id(144) thread_id(144) + hipGetDeviceProperties correlation_id(145) time_ns(3815035187880275:3815035187886535) process_id(144) thread_id(144) + hipMalloc correlation_id(146) time_ns(3815035188817373:3815035188944265) process_id(144) thread_id(144) + hipMalloc correlation_id(147) time_ns(3815035188946065:3815035189026905) process_id(144) thread_id(144) + CopyHostToDevice correlation_id(148) time_ns(3815035189064216:3815035190738111) device_id(0) queue_id(0) bytes(0x0) + (null) correlation_id(148) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(148) time_ns(3815035189029205:3815035190749401) process_id(144) thread_id(144) + (null) correlation_id(149) time_ns(0:0) external_id(33) + __hipPushCallConfiguration correlation_id(149) time_ns(3815035190766511:3815035190782261) process_id(144) thread_id(144) + (null) correlation_id(150) time_ns(0:0) external_id(33) + __hipPopCallConfiguration correlation_id(150) time_ns(3815035190785151:3815035190789771) process_id(144) thread_id(144) + (null) correlation_id(151) time_ns(0:0) external_id(33) + hipLaunchKernel correlation_id(151) time_ns(3815035190792431:3815035190805001) process_id(144) thread_id(144) + KernelExecution correlation_id(151) time_ns(3815035190839642:3815035192034370) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(152) time_ns(3815035190820112:3815035193501176) device_id(0) queue_id(0) bytes(0x0) + (null) correlation_id(152) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(152) time_ns(3815035190808131:3815035193528696) process_id(144) thread_id(144) + (null) correlation_id(153) time_ns(0:0) external_id(31) + hipFree correlation_id(153) time_ns(3815035201541217:3815035201637508) process_id(144) thread_id(144) + (null) correlation_id(154) time_ns(0:0) external_id(31) + hipFree correlation_id(154) time_ns(3815035201639948:3815035201673318) process_id(144) thread_id(144) + hipSetDevice correlation_id(155) time_ns(3815035216254908:3815035216280168) process_id(144) thread_id(144) + hipGetDeviceProperties correlation_id(156) time_ns(3815035216282888:3815035216289398) process_id(144) thread_id(144) + hipMalloc correlation_id(157) time_ns(3815035217185366:3815035217323048) process_id(144) thread_id(144) + hipMalloc correlation_id(158) time_ns(3815035217324958:3815035217395668) process_id(144) thread_id(144) + CopyHostToDevice correlation_id(159) time_ns(3815035217433479:3815035219107484) device_id(0) queue_id(0) bytes(0x0) + (null) correlation_id(159) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(159) time_ns(3815035217397878:3815035219118554) process_id(144) thread_id(144) + (null) correlation_id(160) time_ns(0:0) external_id(33) + __hipPushCallConfiguration correlation_id(160) time_ns(3815035219136554:3815035219145994) process_id(144) thread_id(144) + (null) correlation_id(161) time_ns(0:0) external_id(33) + __hipPopCallConfiguration correlation_id(161) time_ns(3815035219148234:3815035219161854) process_id(144) thread_id(144) + (null) correlation_id(162) time_ns(0:0) external_id(33) + hipLaunchKernel correlation_id(162) time_ns(3815035219164534:3815035219179774) process_id(144) thread_id(144) + KernelExecution correlation_id(162) time_ns(3815035219221836:3815035220435083) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(163) time_ns(3815035219197055:3815035221846128) device_id(0) queue_id(0) bytes(0x0) + (null) correlation_id(163) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(163) time_ns(3815035219182734:3815035221874478) process_id(144) thread_id(144) + (null) correlation_id(164) time_ns(0:0) external_id(31) + hipFree correlation_id(164) time_ns(3815035229835209:3815035229935220) process_id(144) thread_id(144) + (null) correlation_id(165) time_ns(0:0) external_id(31) + hipFree correlation_id(165) time_ns(3815035229937770:3815035229970851) process_id(144) thread_id(144) + hipSetDevice correlation_id(166) time_ns(3815035244489550:3815035244515420) process_id(144) thread_id(144) + hipGetDeviceProperties correlation_id(167) time_ns(3815035244518410:3815035244536050) process_id(144) thread_id(144) + hipMalloc correlation_id(168) time_ns(3815035245431908:3815035245560149) process_id(144) thread_id(144) + hipMalloc correlation_id(169) time_ns(3815035245562069:3815035245634180) process_id(144) thread_id(144) + CopyHostToDevice correlation_id(170) time_ns(3815035245672410:3815035247346356) device_id(0) queue_id(0) bytes(0x0) + + + + + + + + + + + + + + + +rocTX <"(null) pid(144) tid(144)"> +rocTX <"(null) pid(144) tid(144)"> + PASSED! - ptr(0x902000000) - - - - - - ptr(0x902800000) - - - - - + + + ptr(0x7f2e7ae00000) + + + + + + + + + + ptr(0x7f2e7a800000) + + + + + + + # START (68) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (67) ############################# - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - ptr(0x7fff85b97a98) size(0x400000) - - - - - *ptr(0x0x902000000) - ptr(0x7fff85b97a90) size(0x400000) - - - - - *ptr(0x0x902800000) - dst(0x902000000) src(0x7fd3c6c21010) size(0x400000) kind(1) - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - dst(0x7fd3d4d37010) src(0x902800000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + +Device 0 name: Device 687f + + + ptr(0x7ffe270aa780) size(0x400000) + + + + + *ptr(0x0x7f2e7ae00000) + + + + + ptr(0x7ffe270aa778) size(0x400000) + + + + + *ptr(0x0x7f2e7a800000) + + + + + dst(0x7f2e7ae00000) src(0x266df00) size(0x400000) kind(1) + + + + + + + + + + + + +rocTX <"before hipLaunchKernel pid(144) tid(144)"> +rocTX <"hipLaunchKernel pid(144) tid(144)"> + + + + +<__hipPushCallConfiguration id(46) correlation_id(182) on-enter pid(144) tid(144)> +<__hipPushCallConfiguration id(46) correlation_id(182) on-exit pid(144) tid(144)> + + + + +<__hipPopCallConfiguration id(171) correlation_id(183) on-enter pid(144) tid(144)> +<__hipPopCallConfiguration id(171) correlation_id(183) on-exit pid(144) tid(144)> + + + + + + + + +rocTX <"after hipLaunchKernel pid(144) tid(144)"> +rocTX <"hipMemcpy pid(144) tid(144)"> + + + dst(0x2a6df10) src(0x7f2e7a800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + +rocTX <"(null) pid(144) tid(144)"> +rocTX <"(null) pid(144) tid(144)"> + PASSED! - ptr(0x902000000) - - - - - - ptr(0x902800000) - - - - - + + + ptr(0x7f2e7ae00000) + + + + + + + + + + ptr(0x7f2e7a800000) + + + + + + + # START (66) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (65) ############################# - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - ptr(0x7fff85b97a98) size(0x400000) - - - - - *ptr(0x0x902000000) - ptr(0x7fff85b97a90) size(0x400000) - - - - - *ptr(0x0x902800000) - dst(0x902000000) src(0x7fd3c6c21010) size(0x400000) kind(1) - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - dst(0x7fd3d4d37010) src(0x902800000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + +Device 0 name: Device 687f + + + ptr(0x7ffe270aa780) size(0x400000) + + + + + *ptr(0x0x7f2e7ae00000) + + + + + ptr(0x7ffe270aa778) size(0x400000) + + + + + *ptr(0x0x7f2e7a800000) + + + + + dst(0x7f2e7ae00000) src(0x266df00) size(0x400000) kind(1) + + + + + + + + + + + +rocTX <"before hipLaunchKernel pid(144) tid(144)"> +rocTX <"hipLaunchKernel pid(144) tid(144)"> + + + +<__hipPushCallConfiguration id(46) correlation_id(193) on-enter pid(144) tid(144)> +<__hipPushCallConfiguration id(46) correlation_id(193) on-exit pid(144) tid(144)> + + + + +<__hipPopCallConfiguration id(171) correlation_id(194) on-enter pid(144) tid(144)> +<__hipPopCallConfiguration id(171) correlation_id(194) on-exit pid(144) tid(144)> + + + + + + + + + + +rocTX <"after hipLaunchKernel pid(144) tid(144)"> +rocTX <"hipMemcpy pid(144) tid(144)"> + + + dst(0x2a6df10) src(0x7f2e7a800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + +rocTX <"(null) pid(144) tid(144)"> +rocTX <"(null) pid(144) tid(144)"> + + + PASSED! - ptr(0x902000000) - - - - - - ptr(0x902800000) - - - - - + + + ptr(0x7f2e7ae00000) + + + + + + + + + + ptr(0x7f2e7a800000) + + + + + + + # START (64) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (63) ############################# - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - ptr(0x7fff85b97a98) size(0x400000) - - - - - *ptr(0x0x902000000) - ptr(0x7fff85b97a90) size(0x400000) - - - - - *ptr(0x0x902800000) - dst(0x902000000) src(0x7fd3c6c21010) size(0x400000) kind(1) - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - dst(0x7fd3d4d37010) src(0x902800000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + +Device 0 name: Device 687f + + + ptr(0x7ffe270aa780) size(0x400000) + + + + + *ptr(0x0x7f2e7ae00000) + + + + + ptr(0x7ffe270aa778) size(0x400000) + + + + + *ptr(0x0x7f2e7a800000) + + + + + dst(0x7f2e7ae00000) src(0x266df00) size(0x400000) kind(1) + + + + + + + + + + + + +rocTX <"before hipLaunchKernel pid(144) tid(144)"> +rocTX <"hipLaunchKernel pid(144) tid(144)"> + + +<__hipPushCallConfiguration id(46) correlation_id(204) on-enter pid(144) tid(144)> +<__hipPushCallConfiguration id(46) correlation_id(204) on-exit pid(144) tid(144)> + + + + +<__hipPopCallConfiguration id(171) correlation_id(205) on-enter pid(144) tid(144)> +<__hipPopCallConfiguration id(171) correlation_id(205) on-exit pid(144) tid(144)> + + + + + + + + Activity records: + + + +rocTX <"after hipLaunchKernel pid(144) tid(144)"> +rocTX <"hipMemcpy pid(144) tid(144)"> + + + dst(0x2a6df10) src(0x7f2e7a800000) size(0x400000) kind(2) + (null) correlation_id(170) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(170) time_ns(3815035245636840:3815035247357816) process_id(144) thread_id(144) + (null) correlation_id(171) time_ns(0:0) external_id(33) + __hipPushCallConfiguration correlation_id(171) time_ns(3815035247367546:3815035247372966) process_id(144) thread_id(144) + (null) correlation_id(172) time_ns(0:0) external_id(33) + __hipPopCallConfiguration correlation_id(172) time_ns(3815035247375386:3815035247402046) process_id(144) thread_id(144) + (null) correlation_id(173) time_ns(0:0) external_id(33) + hipLaunchKernel correlation_id(173) time_ns(3815035247417866:3815035247432026) process_id(144) thread_id(144) + KernelExecution correlation_id(173) time_ns(3815035247472290:3815035248664351) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(174) time_ns(3815035247451306:3815035250182971) device_id(0) queue_id(0) bytes(0x0) + (null) correlation_id(174) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(174) time_ns(3815035247435076:3815035250215941) process_id(144) thread_id(144) + (null) correlation_id(175) time_ns(0:0) external_id(31) + hipFree correlation_id(175) time_ns(3815035258290843:3815035258402324) process_id(144) thread_id(144) + (null) correlation_id(176) time_ns(0:0) external_id(31) + hipFree correlation_id(176) time_ns(3815035258404654:3815035258440454) process_id(144) thread_id(144) + + hipSetDevice correlation_id(177) time_ns(3815035273112135:3815035273137495) process_id(144) thread_id(144) + hipGetDeviceProperties correlation_id(178) time_ns(3815035273140405:3815035273146915) process_id(144) thread_id(144) + hipMalloc correlation_id(179) time_ns(3815035274055453:3815035274187385) process_id(144) thread_id(144) + hipMalloc correlation_id(180) time_ns(3815035274189245:3815035274269535) process_id(144) thread_id(144) + CopyHostToDevice correlation_id(181) time_ns(3815035274307406:3815035275979211) device_id(0) queue_id(0) bytes(0x0) + + (null) correlation_id(181) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(181) time_ns(3815035274271975:3815035275989611) process_id(144) thread_id(144) + (null) correlation_id(182) time_ns(0:0) external_id(33) + __hipPushCallConfiguration correlation_id(182) time_ns(3815035276016551:3815035276032451) process_id(144) thread_id(144) + (null) correlation_id(183) time_ns(0:0) external_id(33) + __hipPopCallConfiguration correlation_id(183) time_ns(3815035276034721:3815035276038851) process_id(144) thread_id(144) + (null) correlation_id(184) time_ns(0:0) external_id(33) + hipLaunchKernel correlation_id(184) time_ns(3815035276041241:3815035276054032) process_id(144) thread_id(144) + KernelExecution correlation_id(184) time_ns(3815035276088024:3815035277298456) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(185) time_ns(3815035276088022:3815035278772746) device_id(0) queue_id(0) bytes(0x0) + (null) correlation_id(185) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(185) time_ns(3815035276057112:3815035278800576) process_id(144) thread_id(144) + (null) correlation_id(186) time_ns(0:0) external_id(31) + hipFree correlation_id(186) time_ns(3815035286759027:3815035286855228) process_id(144) thread_id(144) + (null) correlation_id(187) time_ns(0:0) external_id(31) + hipFree correlation_id(187) time_ns(3815035286857548:3815035286892608) process_id(144) thread_id(144) + hipSetDevice correlation_id(188) time_ns(3815035301586579:3815035301611789) process_id(144) thread_id(144) + hipGetDeviceProperties correlation_id(189) time_ns(3815035301614849:3815035301621149) process_id(144) thread_id(144) + hipMalloc correlation_id(190) time_ns(3815035302534447:3815035302672259) process_id(144) thread_id(144) + hipMalloc correlation_id(191) time_ns(3815035302674139:3815035302746959) process_id(144) thread_id(144) + CopyHostToDevice correlation_id(192) time_ns(3815035302783730:3815035304450155) device_id(0) queue_id(0) bytes(0x0) + (null) correlation_id(192) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(192) time_ns(3815035302749079:3815035304460755) process_id(144) thread_id(144) + (null) correlation_id(193) time_ns(0:0) external_id(33) + __hipPushCallConfiguration correlation_id(193) time_ns(3815035304466775:3815035304472595) process_id(144) thread_id(144) + (null) correlation_id(194) time_ns(0:0) external_id(33) + __hipPopCallConfiguration correlation_id(194) time_ns(3815035304474985:3815035304479095) process_id(144) thread_id(144) + (null) correlation_id(195) time_ns(0:0) external_id(33) + hipLaunchKernel correlation_id(195) time_ns(3815035304485835:3815035304499755) process_id(144) thread_id(144) + KernelExecution correlation_id(195) time_ns(3815035304556863:3815035305767296) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(196) time_ns(3815035304535595:3815035307136828) device_id(0) queue_id(0) bytes(0x0) + (null) correlation_id(196) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(196) time_ns(3815035304503505:3815035307165169) process_id(144) thread_id(144) + (null) correlation_id(197) time_ns(0:0) external_id(31) + hipFree correlation_id(197) time_ns(3815035315091749:3815035315194160) process_id(144) thread_id(144) + (null) correlation_id(198) time_ns(0:0) external_id(31) + hipFree correlation_id(198) time_ns(3815035315196910:3815035315233090) process_id(144) thread_id(144) + hipSetDevice correlation_id(199) time_ns(3815035337361748:3815035337388168) process_id(144) thread_id(144) + hipGetDeviceProperties correlation_id(200) time_ns(3815035337390918:3815035337397468) process_id(144) thread_id(144) + hipMalloc correlation_id(201) time_ns(3815035338303756:3815035338463808) process_id(144) thread_id(144) + hipMalloc correlation_id(202) time_ns(3815035338465658:3815035338537128) process_id(144) thread_id(144) + CopyHostToDevice correlation_id(203) time_ns(3815035338579969:3815035340238403) device_id(0) queue_id(0) bytes(0x0) + (null) correlation_id(203) time_ns(0:0) external_id(32) + + + + + + + + + + + + + +rocTX <"(null) pid(144) tid(144)"> +rocTX <"(null) pid(144) tid(144)"> + + + PASSED! - ptr(0x902000000) - - - - - - ptr(0x902800000) - - - - - + + + ptr(0x7f2e7ae00000) + + + + + + + + + + ptr(0x7f2e7a800000) + + + + + + + # START (62) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (61) ############################# - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - ptr(0x7fff85b97a98) size(0x400000) - - - - - *ptr(0x0x902000000) - ptr(0x7fff85b97a90) size(0x400000) - - - - - *ptr(0x0x902800000) - dst(0x902000000) src(0x7fd3c6c21010) size(0x400000) kind(1) - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - dst(0x7fd3d4d37010) src(0x902800000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + +Device 0 name: Device 687f + + + ptr(0x7ffe270aa780) size(0x400000) + + + + + *ptr(0x0x7f2e7ae00000) + + + + + ptr(0x7ffe270aa778) size(0x400000) + + + + + *ptr(0x0x7f2e7a800000) + + + + + dst(0x7f2e7ae00000) src(0x266df00) size(0x400000) kind(1) + + + + + + + + + + + + +rocTX <"before hipLaunchKernel pid(144) tid(144)"> +rocTX <"hipLaunchKernel pid(144) tid(144)"> + + +<__hipPushCallConfiguration id(46) correlation_id(215) on-enter pid(144) tid(144)> +<__hipPushCallConfiguration id(46) correlation_id(215) on-exit pid(144) tid(144)> + + + + + + +<__hipPopCallConfiguration id(171) correlation_id(216) on-enter pid(144) tid(144)> +<__hipPopCallConfiguration id(171) correlation_id(216) on-exit pid(144) tid(144)> + + + + + + + + +rocTX <"after hipLaunchKernel pid(144) tid(144)"> +rocTX <"hipMemcpy pid(144) tid(144)"> + + + dst(0x2a6df10) src(0x7f2e7a800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + +rocTX <"(null) pid(144) tid(144)"> +rocTX <"(null) pid(144) tid(144)"> + PASSED! - ptr(0x902000000) - - - - - - ptr(0x902800000) - - - - - + + + ptr(0x7f2e7ae00000) + + + + + + + + + + ptr(0x7f2e7a800000) + + + + + + + # START (60) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (59) ############################# - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - ptr(0x7fff85b97a98) size(0x400000) - - - - - *ptr(0x0x902000000) - ptr(0x7fff85b97a90) size(0x400000) - - - - - *ptr(0x0x902800000) - dst(0x902000000) src(0x7fd3c6c21010) size(0x400000) kind(1) - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - dst(0x7fd3d4d37010) src(0x902800000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + +Device 0 name: Device 687f + + + ptr(0x7ffe270aa780) size(0x400000) + + + + + *ptr(0x0x7f2e7ae00000) + + + + + ptr(0x7ffe270aa778) size(0x400000) + + + + + *ptr(0x0x7f2e7a800000) + + + + + dst(0x7f2e7ae00000) src(0x266df00) size(0x400000) kind(1) + + + + + + + + + + + + +rocTX <"before hipLaunchKernel pid(144) tid(144)"> +rocTX <"hipLaunchKernel pid(144) tid(144)"> + + +<__hipPushCallConfiguration id(46) correlation_id(226) on-enter pid(144) tid(144)> +<__hipPushCallConfiguration id(46) correlation_id(226) on-exit pid(144) tid(144)> + + + + +<__hipPopCallConfiguration id(171) correlation_id(227) on-enter pid(144) tid(144)> +<__hipPopCallConfiguration id(171) correlation_id(227) on-exit pid(144) tid(144)> + + + + + + + + + + +rocTX <"after hipLaunchKernel pid(144) tid(144)"> +rocTX <"hipMemcpy pid(144) tid(144)"> + + + dst(0x2a6df10) src(0x7f2e7a800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + +rocTX <"(null) pid(144) tid(144)"> +rocTX <"(null) pid(144) tid(144)"> + + + PASSED! - ptr(0x902000000) - - - - - - ptr(0x902800000) - - - - - + + + ptr(0x7f2e7ae00000) + + + + + + + + + + ptr(0x7f2e7a800000) + + + + + + + # START (58) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (57) ############################# - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - ptr(0x7fff85b97a98) size(0x400000) - - - - - *ptr(0x0x902000000) - ptr(0x7fff85b97a90) size(0x400000) - - - - - *ptr(0x0x902800000) - dst(0x902000000) src(0x7fd3c6c21010) size(0x400000) kind(1) - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - dst(0x7fd3d4d37010) src(0x902800000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + +Device 0 name: Device 687f + + + ptr(0x7ffe270aa780) size(0x400000) + + + + + *ptr(0x0x7f2e7ae00000) + + + + + ptr(0x7ffe270aa778) size(0x400000) + + + + + *ptr(0x0x7f2e7a800000) + + + + + dst(0x7f2e7ae00000) src(0x266df00) size(0x400000) kind(1) + + + + + + + + + + + + +rocTX <"before hipLaunchKernel pid(144) tid(144)"> +rocTX <"hipLaunchKernel pid(144) tid(144)"> + + +<__hipPushCallConfiguration id(46) correlation_id(237) on-enter pid(144) tid(144)> +<__hipPushCallConfiguration id(46) correlation_id(237) on-exit pid(144) tid(144)> + + + + + + +<__hipPopCallConfiguration id(171) correlation_id(238) on-enter pid(144) tid(144)> +<__hipPopCallConfiguration id(171) correlation_id(238) on-exit pid(144) tid(144)> + + + + + + + + +rocTX <"after hipLaunchKernel pid(144) tid(144)"> +rocTX <"hipMemcpy pid(144) tid(144)"> + + Activity records: + hipMemcpy correlation_id(203) time_ns(3815035338539468:3815035340260513) process_id(144) thread_id(144) + + + dst(0x2a6df10) src(0x7f2e7a800000) size(0x400000) kind(2) + (null) correlation_id(204) time_ns(0:0) external_id(33) + __hipPushCallConfiguration correlation_id(204) time_ns(3815035340270004:3815035340275194) process_id(144) thread_id(144) + + (null) correlation_id(205) time_ns(0:0) external_id(33) + __hipPopCallConfiguration correlation_id(205) time_ns(3815035340277494:3815035340281744) process_id(144) thread_id(144) + (null) correlation_id(206) time_ns(0:0) external_id(33) + hipLaunchKernel correlation_id(206) time_ns(3815035340284024:3815035340305674) process_id(144) thread_id(144) + KernelExecution correlation_id(206) time_ns(3815035340438955:3815035341653832) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(207) time_ns(3815035340417725:3815035342944707) device_id(0) queue_id(0) bytes(0x0) + (null) correlation_id(207) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(207) time_ns(3815035340308704:3815035342969227) process_id(144) thread_id(144) + (null) correlation_id(208) time_ns(0:0) external_id(31) + hipFree correlation_id(208) time_ns(3815035350802098:3815035350910049) process_id(144) thread_id(144) + (null) correlation_id(209) time_ns(0:0) external_id(31) + hipFree correlation_id(209) time_ns(3815035350912529:3815035350934999) process_id(144) thread_id(144) + hipSetDevice correlation_id(210) time_ns(3815035365292797:3815035365317857) process_id(144) thread_id(144) + hipGetDeviceProperties correlation_id(211) time_ns(3815035365320557:3815035365327097) process_id(144) thread_id(144) + hipMalloc correlation_id(212) time_ns(3815035366224885:3815035366382596) process_id(144) thread_id(144) + hipMalloc correlation_id(213) time_ns(3815035366386677:3815035366508938) process_id(144) thread_id(144) + CopyHostToDevice correlation_id(214) time_ns(3815035366550508:3815035368233973) device_id(0) queue_id(0) bytes(0x0) + (null) correlation_id(214) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(214) time_ns(3815035366512888:3815035368247273) process_id(144) thread_id(144) + (null) correlation_id(215) time_ns(0:0) external_id(33) + __hipPushCallConfiguration correlation_id(215) time_ns(3815035368255273:3815035368264983) process_id(144) thread_id(144) + (null) correlation_id(216) time_ns(0:0) external_id(33) + __hipPopCallConfiguration correlation_id(216) time_ns(3815035368269423:3815035368278003) process_id(144) thread_id(144) + (null) correlation_id(217) time_ns(0:0) external_id(33) + hipLaunchKernel correlation_id(217) time_ns(3815035368282243:3815035368297313) process_id(144) thread_id(144) + KernelExecution correlation_id(217) time_ns(3815035368342997:3815035369535799) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(218) time_ns(3815035368320024:3815035371210599) device_id(0) queue_id(0) bytes(0x0) + (null) correlation_id(218) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(218) time_ns(3815035368302623:3815035371259370) process_id(144) thread_id(144) + (null) correlation_id(219) time_ns(0:0) external_id(31) + hipFree correlation_id(219) time_ns(3815035382839563:3815035382938384) process_id(144) thread_id(144) + (null) correlation_id(220) time_ns(0:0) external_id(31) + hipFree correlation_id(220) time_ns(3815035382940624:3815035382975374) process_id(144) thread_id(144) + hipSetDevice correlation_id(221) time_ns(3815035398204020:3815035398229530) process_id(144) thread_id(144) + hipGetDeviceProperties correlation_id(222) time_ns(3815035398232170:3815035398238960) process_id(144) thread_id(144) + hipMalloc correlation_id(223) time_ns(3815035399148098:3815035399288130) process_id(144) thread_id(144) + hipMalloc correlation_id(224) time_ns(3815035399290100:3815035399362860) process_id(144) thread_id(144) + CopyHostToDevice correlation_id(225) time_ns(3815035399400781:3815035401021675) device_id(0) queue_id(0) bytes(0x0) + (null) correlation_id(225) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(225) time_ns(3815035399365140:3815035401028655) process_id(144) thread_id(144) + (null) correlation_id(226) time_ns(0:0) external_id(33) + __hipPushCallConfiguration correlation_id(226) time_ns(3815035401039945:3815035401045625) process_id(144) thread_id(144) + (null) correlation_id(227) time_ns(0:0) external_id(33) + __hipPopCallConfiguration correlation_id(227) time_ns(3815035401047715:3815035401059995) process_id(144) thread_id(144) + (null) correlation_id(228) time_ns(0:0) external_id(33) + hipLaunchKernel correlation_id(228) time_ns(3815035401062795:3815035401073386) process_id(144) thread_id(144) + KernelExecution correlation_id(228) time_ns(3815035401130658:3815035402341682) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(229) time_ns(3815035401108776:3815035403866711) device_id(0) queue_id(0) bytes(0x0) + (null) correlation_id(229) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(229) time_ns(3815035401076406:3815035403884231) process_id(144) thread_id(144) + (null) correlation_id(230) time_ns(0:0) external_id(31) + hipFree correlation_id(230) time_ns(3815035411924792:3815035412033163) process_id(144) thread_id(144) + (null) correlation_id(231) time_ns(0:0) external_id(31) + hipFree correlation_id(231) time_ns(3815035412035473:3815035412068204) process_id(144) thread_id(144) + hipSetDevice correlation_id(232) time_ns(3815035427024697:3815035427060777) process_id(144) thread_id(144) + hipGetDeviceProperties correlation_id(233) time_ns(3815035427063897:3815035427070467) process_id(144) thread_id(144) + hipMalloc correlation_id(234) time_ns(3815035427966985:3815035428122017) process_id(144) thread_id(144) + hipMalloc correlation_id(235) time_ns(3815035428124097:3815035428196177) process_id(144) thread_id(144) + CopyHostToDevice correlation_id(236) time_ns(3815035428220997:3815035429963253) device_id(0) queue_id(0) bytes(0x0) + (null) correlation_id(236) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(236) time_ns(3815035428198457:3815035429969113) process_id(144) thread_id(144) + + + + + + + + + + + + + + + + + +rocTX <"(null) pid(144) tid(144)"> +rocTX <"(null) pid(144) tid(144)"> + + + PASSED! - ptr(0x902000000) - - - - - - ptr(0x902800000) - - - - - + + + ptr(0x7f2e7ae00000) + + + + + + + + + + ptr(0x7f2e7a800000) + + + + + + + # START (56) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (55) ############################# - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - ptr(0x7fff85b97a98) size(0x400000) - - - - - *ptr(0x0x902000000) - ptr(0x7fff85b97a90) size(0x400000) - - - - - *ptr(0x0x902800000) - dst(0x902000000) src(0x7fd3c6c21010) size(0x400000) kind(1) - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - dst(0x7fd3d4d37010) src(0x902800000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + +Device 0 name: Device 687f + + + ptr(0x7ffe270aa780) size(0x400000) + + + + + *ptr(0x0x7f2e7ae00000) + + + + + ptr(0x7ffe270aa778) size(0x400000) + + + + + *ptr(0x0x7f2e7a800000) + + + + + dst(0x7f2e7ae00000) src(0x266df00) size(0x400000) kind(1) + + + + + + + + + + + + +rocTX <"before hipLaunchKernel pid(144) tid(144)"> +rocTX <"hipLaunchKernel pid(144) tid(144)"> + + +<__hipPushCallConfiguration id(46) correlation_id(248) on-enter pid(144) tid(144)> +<__hipPushCallConfiguration id(46) correlation_id(248) on-exit pid(144) tid(144)> + + + + +<__hipPopCallConfiguration id(171) correlation_id(249) on-enter pid(144) tid(144)> +<__hipPopCallConfiguration id(171) correlation_id(249) on-exit pid(144) tid(144)> + + + + + + + + + + +rocTX <"after hipLaunchKernel pid(144) tid(144)"> +rocTX <"hipMemcpy pid(144) tid(144)"> + + + dst(0x2a6df10) src(0x7f2e7a800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + +rocTX <"(null) pid(144) tid(144)"> +rocTX <"(null) pid(144) tid(144)"> + + + PASSED! - ptr(0x902000000) - - - - - - ptr(0x902800000) - - - - - + + + ptr(0x7f2e7ae00000) + + + + + + + + + + ptr(0x7f2e7a800000) + + + + + + + # START (54) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (53) ############################# - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - ptr(0x7fff85b97a98) size(0x400000) - - - - - *ptr(0x0x902000000) - ptr(0x7fff85b97a90) size(0x400000) - - - - - *ptr(0x0x902800000) - dst(0x902000000) src(0x7fd3c6c21010) size(0x400000) kind(1) - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - dst(0x7fd3d4d37010) src(0x902800000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + +Device 0 name: Device 687f + + + ptr(0x7ffe270aa780) size(0x400000) + + + + + *ptr(0x0x7f2e7ae00000) + + + + + ptr(0x7ffe270aa778) size(0x400000) + + + + + *ptr(0x0x7f2e7a800000) + + + + + dst(0x7f2e7ae00000) src(0x266df00) size(0x400000) kind(1) + + + + + + + + + + + + +rocTX <"before hipLaunchKernel pid(144) tid(144)"> +rocTX <"hipLaunchKernel pid(144) tid(144)"> + + +<__hipPushCallConfiguration id(46) correlation_id(259) on-enter pid(144) tid(144)> +<__hipPushCallConfiguration id(46) correlation_id(259) on-exit pid(144) tid(144)> + + + + +<__hipPopCallConfiguration id(171) correlation_id(260) on-enter pid(144) tid(144)> +<__hipPopCallConfiguration id(171) correlation_id(260) on-exit pid(144) tid(144)> + + + + + + + + + + +rocTX <"after hipLaunchKernel pid(144) tid(144)"> +rocTX <"hipMemcpy pid(144) tid(144)"> + + + dst(0x2a6df10) src(0x7f2e7a800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + +rocTX <"(null) pid(144) tid(144)"> +rocTX <"(null) pid(144) tid(144)"> + + + PASSED! - ptr(0x902000000) - - - - - - ptr(0x902800000) - - - - - + + + ptr(0x7f2e7ae00000) + + + + + + + + + + ptr(0x7f2e7a800000) + + + + + + + # START (52) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (51) ############################# - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - ptr(0x7fff85b97a98) size(0x400000) - - - - - *ptr(0x0x902000000) - ptr(0x7fff85b97a90) size(0x400000) - - - - - *ptr(0x0x902800000) - dst(0x902000000) src(0x7fd3c6c21010) size(0x400000) kind(1) - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - dst(0x7fd3d4d37010) src(0x902800000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + +Device 0 name: Device 687f + + + ptr(0x7ffe270aa780) size(0x400000) + + + + + *ptr(0x0x7f2e7ae00000) + + + + + ptr(0x7ffe270aa778) size(0x400000) + + + + + *ptr(0x0x7f2e7a800000) + + + + + dst(0x7f2e7ae00000) src(0x266df00) size(0x400000) kind(1) + + + + + + + + + + + + +rocTX <"before hipLaunchKernel pid(144) tid(144)"> +rocTX <"hipLaunchKernel pid(144) tid(144)"> + + +<__hipPushCallConfiguration id(46) correlation_id(270) on-enter pid(144) tid(144)> +<__hipPushCallConfiguration id(46) correlation_id(270) on-exit pid(144) tid(144)> + + + + + + +<__hipPopCallConfiguration id(171) correlation_id(271) on-enter pid(144) tid(144)> +<__hipPopCallConfiguration id(171) correlation_id(271) on-exit pid(144) tid(144)> + + + + + + + + +rocTX <"after hipLaunchKernel pid(144) tid(144)"> +rocTX <"hipMemcpy pid(144) tid(144)"> + + + Activity records: + dst(0x2a6df10) src(0x7f2e7a800000) size(0x400000) kind(2) + (null) correlation_id(237) time_ns(0:0) external_id(33) + __hipPushCallConfiguration correlation_id(237) time_ns(3815035429982203:3815035429987923) process_id(144) thread_id(144) + (null) correlation_id(238) time_ns(0:0) external_id(33) + __hipPopCallConfiguration correlation_id(238) time_ns(3815035429993834:3815035430002894) process_id(144) thread_id(144) + (null) correlation_id(239) time_ns(0:0) external_id(33) + hipLaunchKernel correlation_id(239) time_ns(3815035430005494:3815035430016084) process_id(144) thread_id(144) + KernelExecution correlation_id(239) time_ns(3815035430066246:3815035431264826) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(240) time_ns(3815035430048634:3815035432760508) device_id(0) queue_id(0) bytes(0x0) + (null) correlation_id(240) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(240) time_ns(3815035430021504:3815035432783359) process_id(144) thread_id(144) + (null) correlation_id(241) time_ns(0:0) external_id(31) + hipFree correlation_id(241) time_ns(3815035440921121:3815035441011422) process_id(144) thread_id(144) + (null) correlation_id(242) time_ns(0:0) external_id(31) + hipFree correlation_id(242) time_ns(3815035441013802:3815035441042782) process_id(144) thread_id(144) + hipSetDevice correlation_id(243) time_ns(3815035455978945:3815035456014725) process_id(144) thread_id(144) + hipGetDeviceProperties correlation_id(244) time_ns(3815035456017335:3815035456023925) process_id(144) thread_id(144) + hipMalloc correlation_id(245) time_ns(3815035456991984:3815035457136505) process_id(144) thread_id(144) + hipMalloc correlation_id(246) time_ns(3815035457138785:3815035457215056) process_id(144) thread_id(144) + CopyHostToDevice correlation_id(247) time_ns(3815035457253226:3815035459008992) device_id(0) queue_id(0) bytes(0x0) + (null) correlation_id(247) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(247) time_ns(3815035457217466:3815035459014602) process_id(144) thread_id(144) + (null) correlation_id(248) time_ns(0:0) external_id(33) + __hipPushCallConfiguration correlation_id(248) time_ns(3815035459020102:3815035459025873) process_id(144) thread_id(144) + (null) correlation_id(249) time_ns(0:0) external_id(33) + __hipPopCallConfiguration correlation_id(249) time_ns(3815035459028273:3815035459033013) process_id(144) thread_id(144) + (null) correlation_id(250) time_ns(0:0) external_id(33) + hipLaunchKernel correlation_id(250) time_ns(3815035459036683:3815035459047113) process_id(144) thread_id(144) + KernelExecution correlation_id(250) time_ns(3815035459108149:3815035460309988) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(251) time_ns(3815035459085973:3815035461862678) device_id(0) queue_id(0) bytes(0x0) + (null) correlation_id(251) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(251) time_ns(3815035459050403:3815035461880638) process_id(144) thread_id(144) + (null) correlation_id(252) time_ns(0:0) external_id(31) + hipFree correlation_id(252) time_ns(3815035469790528:3815035469885829) process_id(144) thread_id(144) + (null) correlation_id(253) time_ns(0:0) external_id(31) + hipFree correlation_id(253) time_ns(3815035469888149:3815035469916990) process_id(144) thread_id(144) + hipSetDevice correlation_id(254) time_ns(3815035484810212:3815035484836382) process_id(144) thread_id(144) + hipGetDeviceProperties correlation_id(255) time_ns(3815035484839062:3815035484855472) process_id(144) thread_id(144) + hipMalloc correlation_id(256) time_ns(3815035485768781:3815035485891802) process_id(144) thread_id(144) + hipMalloc correlation_id(257) time_ns(3815035485893822:3815035485965103) process_id(144) thread_id(144) + CopyHostToDevice correlation_id(258) time_ns(3815035486002233:3815035487812259) device_id(0) queue_id(0) bytes(0x0) + + (null) correlation_id(258) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(258) time_ns(3815035485967403:3815035487817759) process_id(144) thread_id(144) + + (null) correlation_id(259) time_ns(0:0) external_id(33) + __hipPushCallConfiguration correlation_id(259) time_ns(3815035487823379:3815035487828919) process_id(144) thread_id(144) + (null) correlation_id(260) time_ns(0:0) external_id(33) + __hipPopCallConfiguration correlation_id(260) time_ns(3815035487831339:3815035487835959) process_id(144) thread_id(144) + (null) correlation_id(261) time_ns(0:0) external_id(33) + hipLaunchKernel correlation_id(261) time_ns(3815035487845510:3815035487860340) process_id(144) thread_id(144) + KernelExecution correlation_id(261) time_ns(3815035487916285:3815035489108938) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(262) time_ns(3815035487893650:3815035490535133) device_id(0) queue_id(0) bytes(0x0) + (null) correlation_id(262) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(262) time_ns(3815035487863810:3815035490553164) process_id(144) thread_id(144) + (null) correlation_id(263) time_ns(0:0) external_id(31) + hipFree correlation_id(263) time_ns(3815035498536904:3815035498629515) process_id(144) thread_id(144) + (null) correlation_id(264) time_ns(0:0) external_id(31) + hipFree correlation_id(264) time_ns(3815035498631955:3815035498676186) process_id(144) thread_id(144) + hipSetDevice correlation_id(265) time_ns(3815035513446077:3815035513470468) process_id(144) thread_id(144) + hipGetDeviceProperties correlation_id(266) time_ns(3815035513473128:3815035513479438) process_id(144) thread_id(144) + hipMalloc correlation_id(267) time_ns(3815035514370736:3815035514501247) process_id(144) thread_id(144) + hipMalloc correlation_id(268) time_ns(3815035514503087:3815035514574968) process_id(144) thread_id(144) + CopyHostToDevice correlation_id(269) time_ns(3815035514613128:3815035516353554) device_id(0) queue_id(0) bytes(0x0) + (null) correlation_id(269) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(269) time_ns(3815035514577398:3815035516366314) process_id(144) thread_id(144) + (null) correlation_id(270) time_ns(0:0) external_id(33) + + + + + + + + + + + + + + + +rocTX <"(null) pid(144) tid(144)"> +rocTX <"(null) pid(144) tid(144)"> + PASSED! - ptr(0x902000000) - - - - - - ptr(0x902800000) - - - - - + + + ptr(0x7f2e7ae00000) + + + + + + + + + + ptr(0x7f2e7a800000) + + + + + + + # START (50) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (49) ############################# - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - ptr(0x7fff85b97a98) size(0x400000) - - - - - *ptr(0x0x902000000) - ptr(0x7fff85b97a90) size(0x400000) - - - - - *ptr(0x0x902800000) - dst(0x902000000) src(0x7fd3c6c21010) size(0x400000) kind(1) - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - dst(0x7fd3d4d37010) src(0x902800000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + +Device 0 name: Device 687f + + + ptr(0x7ffe270aa780) size(0x400000) + + + + + *ptr(0x0x7f2e7ae00000) + + + + + ptr(0x7ffe270aa778) size(0x400000) + + + + + *ptr(0x0x7f2e7a800000) + + + + + dst(0x7f2e7ae00000) src(0x266df00) size(0x400000) kind(1) + + + + + + + + + + + + +rocTX <"before hipLaunchKernel pid(144) tid(144)"> +rocTX <"hipLaunchKernel pid(144) tid(144)"> + + + + +<__hipPushCallConfiguration id(46) correlation_id(281) on-enter pid(144) tid(144)> +<__hipPushCallConfiguration id(46) correlation_id(281) on-exit pid(144) tid(144)> + + + + +<__hipPopCallConfiguration id(171) correlation_id(282) on-enter pid(144) tid(144)> +<__hipPopCallConfiguration id(171) correlation_id(282) on-exit pid(144) tid(144)> + + + + + + + + +rocTX <"after hipLaunchKernel pid(144) tid(144)"> +rocTX <"hipMemcpy pid(144) tid(144)"> + + + dst(0x2a6df10) src(0x7f2e7a800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + +rocTX <"(null) pid(144) tid(144)"> +rocTX <"(null) pid(144) tid(144)"> + + + PASSED! - ptr(0x902000000) - - - - - - ptr(0x902800000) - - - - - + + + ptr(0x7f2e7ae00000) + + + + + + + + + + ptr(0x7f2e7a800000) + + + + + + + # START (48) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (47) ############################# - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - ptr(0x7fff85b97a98) size(0x400000) - - - - - *ptr(0x0x902000000) - ptr(0x7fff85b97a90) size(0x400000) - - - - - *ptr(0x0x902800000) - dst(0x902000000) src(0x7fd3c6c21010) size(0x400000) kind(1) - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - dst(0x7fd3d4d37010) src(0x902800000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + +Device 0 name: Device 687f + + + ptr(0x7ffe270aa780) size(0x400000) + + + + + *ptr(0x0x7f2e7ae00000) + + + + + ptr(0x7ffe270aa778) size(0x400000) + + + + + *ptr(0x0x7f2e7a800000) + + + + + dst(0x7f2e7ae00000) src(0x266df00) size(0x400000) kind(1) + + + + + + + + + + + + +rocTX <"before hipLaunchKernel pid(144) tid(144)"> +rocTX <"hipLaunchKernel pid(144) tid(144)"> + + +<__hipPushCallConfiguration id(46) correlation_id(292) on-enter pid(144) tid(144)> +<__hipPushCallConfiguration id(46) correlation_id(292) on-exit pid(144) tid(144)> + + + + + + +<__hipPopCallConfiguration id(171) correlation_id(293) on-enter pid(144) tid(144)> +<__hipPopCallConfiguration id(171) correlation_id(293) on-exit pid(144) tid(144)> + + + + + + + + +rocTX <"after hipLaunchKernel pid(144) tid(144)"> +rocTX <"hipMemcpy pid(144) tid(144)"> + + + + dst(0x2a6df10) src(0x7f2e7a800000) size(0x400000) kind(2) + + + + + + + + + + + + + + +rocTX <"(null) pid(144) tid(144)"> + + +rocTX <"(null) pid(144) tid(144)"> + PASSED! - ptr(0x902000000) - - - - - - ptr(0x902800000) - - - - - + + + ptr(0x7f2e7ae00000) + + + + + + + + + + ptr(0x7f2e7a800000) + + + + + + + # START (46) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (45) ############################# - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - ptr(0x7fff85b97a98) size(0x400000) - - - - - *ptr(0x0x902000000) - ptr(0x7fff85b97a90) size(0x400000) - - - - - *ptr(0x0x902800000) - dst(0x902000000) src(0x7fd3c6c21010) size(0x400000) kind(1) - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - dst(0x7fd3d4d37010) src(0x902800000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + +Device 0 name: Device 687f + + + ptr(0x7ffe270aa780) size(0x400000) + + + + + *ptr(0x0x7f2e7ae00000) + + + + + ptr(0x7ffe270aa778) size(0x400000) + + + + + *ptr(0x0x7f2e7a800000) + + + + + dst(0x7f2e7ae00000) src(0x266df00) size(0x400000) kind(1) + + + + + + + + + + + + +rocTX <"before hipLaunchKernel pid(144) tid(144)"> +rocTX <"hipLaunchKernel pid(144) tid(144)"> + + +<__hipPushCallConfiguration id(46) correlation_id(303) on-enter pid(144) tid(144)> +<__hipPushCallConfiguration id(46) correlation_id(303) on-exit pid(144) tid(144)> + + + + +<__hipPopCallConfiguration id(171) correlation_id(304) on-enter pid(144) tid(144)> +<__hipPopCallConfiguration id(171) correlation_id(304) on-exit pid(144) tid(144)> + + + + + + + + + + +rocTX <"after hipLaunchKernel pid(144) tid(144)"> +rocTX <"hipMemcpy pid(144) tid(144)"> + + + dst(0x2a6df10) src(0x7f2e7a800000) size(0x400000) kind(2) + + + Activity records: + __hipPushCallConfiguration correlation_id(270) time_ns(3815035516372134:3815035516388034) process_id(144) thread_id(144) + + + (null) correlation_id(271) time_ns(0:0) external_id(33) + __hipPopCallConfiguration correlation_id(271) time_ns(3815035516394224:3815035516399244) process_id(144) thread_id(144) + (null) correlation_id(272) time_ns(0:0) external_id(33) + hipLaunchKernel correlation_id(272) time_ns(3815035516401844:3815035516412514) process_id(144) thread_id(144) + KernelExecution correlation_id(272) time_ns(3815035516627725:3815035517818156) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(273) time_ns(3815035516605206:3815035519279280) device_id(0) queue_id(0) bytes(0x0) + (null) correlation_id(273) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(273) time_ns(3815035516416604:3815035519312710) process_id(144) thread_id(144) + (null) correlation_id(274) time_ns(0:0) external_id(31) + hipFree correlation_id(274) time_ns(3815035527280311:3815035527377241) process_id(144) thread_id(144) + (null) correlation_id(275) time_ns(0:0) external_id(31) + hipFree correlation_id(275) time_ns(3815035527379661:3815035527413442) process_id(144) thread_id(144) + hipSetDevice correlation_id(276) time_ns(3815035542376516:3815035542402216) process_id(144) thread_id(144) + hipGetDeviceProperties correlation_id(277) time_ns(3815035542405146:3815035542411746) process_id(144) thread_id(144) + hipMalloc correlation_id(278) time_ns(3815035543311474:3815035543448065) process_id(144) thread_id(144) + hipMalloc correlation_id(279) time_ns(3815035543449985:3815035543523616) process_id(144) thread_id(144) + CopyHostToDevice correlation_id(280) time_ns(3815035543562106:3815035545247031) device_id(0) queue_id(0) bytes(0x0) + (null) correlation_id(280) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(280) time_ns(3815035543526156:3815035545266321) process_id(144) thread_id(144) + (null) correlation_id(281) time_ns(0:0) external_id(33) + __hipPushCallConfiguration correlation_id(281) time_ns(3815035545272821:3815035545289562) process_id(144) thread_id(144) + (null) correlation_id(282) time_ns(0:0) external_id(33) + __hipPopCallConfiguration correlation_id(282) time_ns(3815035545291822:3815035545296042) process_id(144) thread_id(144) + (null) correlation_id(283) time_ns(0:0) external_id(33) + hipLaunchKernel correlation_id(283) time_ns(3815035545298392:3815035545309792) process_id(144) thread_id(144) + KernelExecution correlation_id(283) time_ns(3815035545360281:3815035546550861) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(284) time_ns(3815035545338632:3815035547962925) device_id(0) queue_id(0) bytes(0x0) + (null) correlation_id(284) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(284) time_ns(3815035545313492:3815035547989116) process_id(144) thread_id(144) + + (null) correlation_id(285) time_ns(0:0) external_id(31) + hipFree correlation_id(285) time_ns(3815035555930186:3815035556063327) process_id(144) thread_id(144) + (null) correlation_id(286) time_ns(0:0) external_id(31) + hipFree correlation_id(286) time_ns(3815035556065877:3815035556091597) process_id(144) thread_id(144) + hipSetDevice correlation_id(287) time_ns(3815035570695258:3815035570720518) process_id(144) thread_id(144) + hipGetDeviceProperties correlation_id(288) time_ns(3815035570723318:3815035570739988) process_id(144) thread_id(144) + hipMalloc correlation_id(289) time_ns(3815035571639207:3815035571765768) process_id(144) thread_id(144) + hipMalloc correlation_id(290) time_ns(3815035571767618:3815035571839558) process_id(144) thread_id(144) + CopyHostToDevice correlation_id(291) time_ns(3815035571876299:3815035573559264) device_id(0) queue_id(0) bytes(0x0) + (null) correlation_id(291) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(291) time_ns(3815035571842238:3815035573569594) process_id(144) thread_id(144) + (null) correlation_id(292) time_ns(0:0) external_id(33) + __hipPushCallConfiguration correlation_id(292) time_ns(3815035573587044:3815035573601464) process_id(144) thread_id(144) + (null) correlation_id(293) time_ns(0:0) external_id(33) + __hipPopCallConfiguration correlation_id(293) time_ns(3815035573604104:3815035573613894) process_id(144) thread_id(144) + (null) correlation_id(294) time_ns(0:0) external_id(33) + hipLaunchKernel correlation_id(294) time_ns(3815035573616554:3815035573630134) process_id(144) thread_id(144) + KernelExecution correlation_id(294) time_ns(3815035573663457:3815035574854926) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(295) time_ns(3815035573662395:3815035576374869) device_id(0) queue_id(0) bytes(0x0) + (null) correlation_id(295) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(295) time_ns(3815035573632904:3815035576400909) process_id(144) thread_id(144) + (null) correlation_id(296) time_ns(0:0) external_id(31) + hipFree correlation_id(296) time_ns(3815035584443700:3815035584539951) process_id(144) thread_id(144) + (null) correlation_id(297) time_ns(0:0) external_id(31) + hipFree correlation_id(297) time_ns(3815035584542241:3815035584574181) process_id(144) thread_id(144) + hipSetDevice correlation_id(298) time_ns(3815035598805459:3815035598844119) process_id(144) thread_id(144) + hipGetDeviceProperties correlation_id(299) time_ns(3815035598847279:3815035598853499) process_id(144) thread_id(144) + hipMalloc correlation_id(300) time_ns(3815035599221582:3815035599374914) process_id(144) thread_id(144) + hipMalloc correlation_id(301) time_ns(3815035599376724:3815035599448704) process_id(144) thread_id(144) + CopyHostToDevice correlation_id(302) time_ns(3815035599472075:3815035601088179) device_id(0) queue_id(0) bytes(0x0) + (null) correlation_id(302) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(302) time_ns(3815035599451014:3815035601099139) process_id(144) thread_id(144) + (null) correlation_id(303) time_ns(0:0) external_id(33) + __hipPushCallConfiguration correlation_id(303) time_ns(3815035601117089:3815035601129809) process_id(144) thread_id(144) + + + + + + + + + + + + + + + + + +rocTX <"(null) pid(144) tid(144)"> +rocTX <"(null) pid(144) tid(144)"> + + + + PASSED! - ptr(0x902000000) - - - - - - ptr(0x902800000) - - - - - + + + ptr(0x7f2e7ae00000) + + + + + + + + + + ptr(0x7f2e7a800000) + + + + + + + # START (44) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (43) ############################# - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - ptr(0x7fff85b97a98) size(0x400000) - - - - - *ptr(0x0x902000000) - ptr(0x7fff85b97a90) size(0x400000) - - - - - *ptr(0x0x902800000) - dst(0x902000000) src(0x7fd3c6c21010) size(0x400000) kind(1) - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - dst(0x7fd3d4d37010) src(0x902800000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + +Device 0 name: Device 687f + + + ptr(0x7ffe270aa780) size(0x400000) + + + + + *ptr(0x0x7f2e7ae00000) + + + + + ptr(0x7ffe270aa778) size(0x400000) + + + + + *ptr(0x0x7f2e7a800000) + + + + + dst(0x7f2e7ae00000) src(0x266df00) size(0x400000) kind(1) + + + + + + + + + + + +rocTX <"before hipLaunchKernel pid(144) tid(144)"> + +rocTX <"hipLaunchKernel pid(144) tid(144)"> + + +<__hipPushCallConfiguration id(46) correlation_id(314) on-enter pid(144) tid(144)> +<__hipPushCallConfiguration id(46) correlation_id(314) on-exit pid(144) tid(144)> + + + + + + +<__hipPopCallConfiguration id(171) correlation_id(315) on-enter pid(144) tid(144)> +<__hipPopCallConfiguration id(171) correlation_id(315) on-exit pid(144) tid(144)> + + + + + + + + +rocTX <"after hipLaunchKernel pid(144) tid(144)"> +rocTX <"hipMemcpy pid(144) tid(144)"> + + + dst(0x2a6df10) src(0x7f2e7a800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + +rocTX <"(null) pid(144) tid(144)"> +rocTX <"(null) pid(144) tid(144)"> + PASSED! - ptr(0x902000000) - - - - - - ptr(0x902800000) - - - - - + + + ptr(0x7f2e7ae00000) + + + + + + + + + + ptr(0x7f2e7a800000) + + + + + + + # START (42) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (41) ############################# - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - ptr(0x7fff85b97a98) size(0x400000) - - - - - *ptr(0x0x902000000) - ptr(0x7fff85b97a90) size(0x400000) - - - - - *ptr(0x0x902800000) - dst(0x902000000) src(0x7fd3c6c21010) size(0x400000) kind(1) - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - dst(0x7fd3d4d37010) src(0x902800000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + +Device 0 name: Device 687f + + + ptr(0x7ffe270aa780) size(0x400000) + + + + + *ptr(0x0x7f2e7ae00000) + + + + + ptr(0x7ffe270aa778) size(0x400000) + + + + + *ptr(0x0x7f2e7a800000) + + + + + dst(0x7f2e7ae00000) src(0x266df00) size(0x400000) kind(1) + + + + + + + + + + + + +rocTX <"before hipLaunchKernel pid(144) tid(144)"> +rocTX <"hipLaunchKernel pid(144) tid(144)"> + + + + +<__hipPushCallConfiguration id(46) correlation_id(325) on-enter pid(144) tid(144)> +<__hipPushCallConfiguration id(46) correlation_id(325) on-exit pid(144) tid(144)> + + + + +<__hipPopCallConfiguration id(171) correlation_id(326) on-enter pid(144) tid(144)> +<__hipPopCallConfiguration id(171) correlation_id(326) on-exit pid(144) tid(144)> + + + + + + + + + +rocTX <"after hipLaunchKernel pid(144) tid(144)"> +rocTX <"hipMemcpy pid(144) tid(144)"> + + + dst(0x2a6df10) src(0x7f2e7a800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + +rocTX <"(null) pid(144) tid(144)"> +rocTX <"(null) pid(144) tid(144)"> + + + + PASSED! - ptr(0x902000000) - - - - - - ptr(0x902800000) - - - - - + + + ptr(0x7f2e7ae00000) + + + + + + + + + + ptr(0x7f2e7a800000) + + + + + + + # START (40) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (39) ############################# - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - ptr(0x7fff85b97a98) size(0x400000) - - - - - *ptr(0x0x902000000) - ptr(0x7fff85b97a90) size(0x400000) - - - - - *ptr(0x0x902800000) - dst(0x902000000) src(0x7fd3c6c21010) size(0x400000) kind(1) - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - dst(0x7fd3d4d37010) src(0x902800000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + +Device 0 name: Device 687f + + + ptr(0x7ffe270aa780) size(0x400000) + + + + + *ptr(0x0x7f2e7ae00000) + + + + + ptr(0x7ffe270aa778) size(0x400000) + + + + + *ptr(0x0x7f2e7a800000) + + + + + dst(0x7f2e7ae00000) src(0x266df00) size(0x400000) kind(1) + + + + + + + + + + + + +rocTX <"before hipLaunchKernel pid(144) tid(144)"> +rocTX <"hipLaunchKernel pid(144) tid(144)"> + + +<__hipPushCallConfiguration id(46) correlation_id(336) on-enter pid(144) tid(144)> + + +<__hipPushCallConfiguration id(46) correlation_id(336) on-exit pid(144) tid(144)> + + + + +<__hipPopCallConfiguration id(171) correlation_id(337) on-enter pid(144) tid(144)> +<__hipPopCallConfiguration id(171) correlation_id(337) on-exit pid(144) tid(144)> + + + + + + + + + +rocTX <"after hipLaunchKernel pid(144) tid(144)"> +rocTX <"hipMemcpy pid(144) tid(144)"> + + + dst(0x2a6df10) src(0x7f2e7a800000) size(0x400000) kind(2) + + + + Activity records: + (null) correlation_id(304) time_ns(0:0) external_id(33) + __hipPopCallConfiguration correlation_id(304) time_ns(3815035601132109:3815035601139340) process_id(144) thread_id(144) + (null) correlation_id(305) time_ns(0:0) external_id(33) + hipLaunchKernel correlation_id(305) time_ns(3815035601146680:3815035601160120) process_id(144) thread_id(144) + KernelExecution correlation_id(305) time_ns(3815035601204978:3815035602397039) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(306) time_ns(3815035601183220:3815035603735433) device_id(0) queue_id(0) bytes(0x0) + (null) correlation_id(306) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(306) time_ns(3815035601163220:3815035603756663) process_id(144) thread_id(144) + (null) correlation_id(307) time_ns(0:0) external_id(31) + hipFree correlation_id(307) time_ns(3815035611044047:3815035611136168) process_id(144) thread_id(144) + (null) correlation_id(308) time_ns(0:0) external_id(31) + hipFree correlation_id(308) time_ns(3815035611138458:3815035611168978) process_id(144) thread_id(144) + hipSetDevice correlation_id(309) time_ns(3815035623510379:3815035623534719) process_id(144) thread_id(144) + hipGetDeviceProperties correlation_id(310) time_ns(3815035623537459:3815035623544079) process_id(144) thread_id(144) + hipMalloc correlation_id(311) time_ns(3815035623910852:3815035624075624) process_id(144) thread_id(144) + hipMalloc correlation_id(312) time_ns(3815035624077654:3815035624152844) process_id(144) thread_id(144) + CopyHostToDevice correlation_id(313) time_ns(3815035624177274:3815035625798499) device_id(0) queue_id(0) bytes(0x0) + (null) correlation_id(313) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(313) time_ns(3815035624155344:3815035625809849) process_id(144) thread_id(144) + (null) correlation_id(314) time_ns(0:0) external_id(33) + __hipPushCallConfiguration correlation_id(314) time_ns(3815035625826629:3815035625832539) process_id(144) thread_id(144) + (null) correlation_id(315) time_ns(0:0) external_id(33) + __hipPopCallConfiguration correlation_id(315) time_ns(3815035625844590:3815035625849230) process_id(144) thread_id(144) + (null) correlation_id(316) time_ns(0:0) external_id(33) + hipLaunchKernel correlation_id(316) time_ns(3815035625851550:3815035625868650) process_id(144) thread_id(144) + KernelExecution correlation_id(316) time_ns(3815035625909920:3815035627105981) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(317) time_ns(3815035625887210:3815035628419983) device_id(0) queue_id(0) bytes(0x0) + (null) correlation_id(317) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(317) time_ns(3815035625876900:3815035628443993) process_id(144) thread_id(144) + (null) correlation_id(318) time_ns(0:0) external_id(31) + hipFree correlation_id(318) time_ns(3815035635741518:3815035635831828) process_id(144) thread_id(144) + (null) correlation_id(319) time_ns(0:0) external_id(31) + hipFree correlation_id(319) time_ns(3815035635834358:3815035635867719) process_id(144) thread_id(144) + hipSetDevice correlation_id(320) time_ns(3815035648186829:3815035648223509) process_id(144) thread_id(144) + hipGetDeviceProperties correlation_id(321) time_ns(3815035648226259:3815035648232699) process_id(144) thread_id(144) + hipMalloc correlation_id(322) time_ns(3815035648600212:3815035648737774) process_id(144) thread_id(144) + hipMalloc correlation_id(323) time_ns(3815035648739824:3815035648812534) process_id(144) thread_id(144) + CopyHostToDevice correlation_id(324) time_ns(3815035648835594:3815035650450779) device_id(0) queue_id(0) bytes(0x0) + + (null) correlation_id(324) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(324) time_ns(3815035648814934:3815035650468869) process_id(144) thread_id(144) + (null) correlation_id(325) time_ns(0:0) external_id(33) + __hipPushCallConfiguration correlation_id(325) time_ns(3815035650475459:3815035650494489) process_id(144) thread_id(144) + (null) correlation_id(326) time_ns(0:0) external_id(33) + __hipPopCallConfiguration correlation_id(326) time_ns(3815035650496699:3815035650500929) process_id(144) thread_id(144) + (null) correlation_id(327) time_ns(0:0) external_id(33) + hipLaunchKernel correlation_id(327) time_ns(3815035650503269:3815035650518109) process_id(144) thread_id(144) + KernelExecution correlation_id(327) time_ns(3815035650542927:3815035651743581) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(328) time_ns(3815035650540900:3815035653090022) device_id(0) queue_id(0) bytes(0x0) + (null) correlation_id(328) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(328) time_ns(3815035650522329:3815035653108983) process_id(144) thread_id(144) + (null) correlation_id(329) time_ns(0:0) external_id(31) + hipFree correlation_id(329) time_ns(3815035660396638:3815035660480218) process_id(144) thread_id(144) + (null) correlation_id(330) time_ns(0:0) external_id(31) + hipFree correlation_id(330) time_ns(3815035660482498:3815035660527799) process_id(144) thread_id(144) + hipSetDevice correlation_id(331) time_ns(3815035672838179:3815035672863519) process_id(144) thread_id(144) + hipGetDeviceProperties correlation_id(332) time_ns(3815035672866229:3815035672872639) process_id(144) thread_id(144) + hipMalloc correlation_id(333) time_ns(3815035673234682:3815035673384063) process_id(144) thread_id(144) + hipMalloc correlation_id(334) time_ns(3815035673385924:3815035673456544) process_id(144) thread_id(144) + CopyHostToDevice correlation_id(335) time_ns(3815035673480414:3815035675088289) device_id(0) queue_id(0) bytes(0x0) + (null) correlation_id(335) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(335) time_ns(3815035673458864:3815035675109529) process_id(144) thread_id(144) + (null) correlation_id(336) time_ns(0:0) external_id(33) + __hipPushCallConfiguration correlation_id(336) time_ns(3815035675127859:3815035675144029) process_id(144) thread_id(144) + (null) correlation_id(337) time_ns(0:0) external_id(33) + + + + + + + + + + + + + +rocTX <"(null) pid(144) tid(144)"> +rocTX <"(null) pid(144) tid(144)"> + + + + PASSED! - ptr(0x902000000) - - - - - - ptr(0x902800000) - - - - - + + + ptr(0x7f2e7ae00000) + + + + + + + + + + ptr(0x7f2e7a800000) + + + + + + + # START (38) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (37) ############################# - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - ptr(0x7fff85b97a98) size(0x400000) - - - - - *ptr(0x0x902000000) - ptr(0x7fff85b97a90) size(0x400000) - - - - - *ptr(0x0x902800000) - dst(0x902000000) src(0x7fd3c6c21010) size(0x400000) kind(1) - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - dst(0x7fd3d4d37010) src(0x902800000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + +Device 0 name: Device 687f + + + ptr(0x7ffe270aa780) size(0x400000) + + + + + *ptr(0x0x7f2e7ae00000) + + + + + ptr(0x7ffe270aa778) size(0x400000) + + + + + *ptr(0x0x7f2e7a800000) + + + + + dst(0x7f2e7ae00000) src(0x266df00) size(0x400000) kind(1) + + + + + + + + + + + + +rocTX <"before hipLaunchKernel pid(144) tid(144)"> +rocTX <"hipLaunchKernel pid(144) tid(144)"> + + + + +<__hipPushCallConfiguration id(46) correlation_id(347) on-enter pid(144) tid(144)> +<__hipPushCallConfiguration id(46) correlation_id(347) on-exit pid(144) tid(144)> + + + + +<__hipPopCallConfiguration id(171) correlation_id(348) on-enter pid(144) tid(144)> +<__hipPopCallConfiguration id(171) correlation_id(348) on-exit pid(144) tid(144)> + + + + + + + + + +rocTX <"after hipLaunchKernel pid(144) tid(144)"> +rocTX <"hipMemcpy pid(144) tid(144)"> + + + dst(0x2a6df10) src(0x7f2e7a800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + +rocTX <"(null) pid(144) tid(144)"> + +rocTX <"(null) pid(144) tid(144)"> + + + PASSED! - ptr(0x902000000) - - - - - - ptr(0x902800000) - - - - - + + + ptr(0x7f2e7ae00000) + + + + + + + + + + ptr(0x7f2e7a800000) + + + + + + + # START (36) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (35) ############################# - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - ptr(0x7fff85b97a98) size(0x400000) - - - - - *ptr(0x0x902000000) - ptr(0x7fff85b97a90) size(0x400000) - - - - - *ptr(0x0x902800000) - dst(0x902000000) src(0x7fd3c6c21010) size(0x400000) kind(1) - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - dst(0x7fd3d4d37010) src(0x902800000) size(0x400000) kind(2) - - - - - - - - - - - - Activity records: - hcCommandKernel correlation_id(6) time_ns(3051994929755290:3051994931586009) device_id(0) queue_id(0) - hcCommandMarker correlation_id(7) time_ns(3051994931595421:3051994931637661) device_id(0) queue_id(0) - - hcCommandKernel correlation_id(15) time_ns(3051994970605799:3051994972439399) device_id(0) queue_id(0) - hcCommandMarker correlation_id(16) time_ns(3051994972447020:3051994972479020) device_id(0) queue_id(0) - - hcCommandKernel correlation_id(24) time_ns(3051995011454870:3051995013281590) device_id(0) queue_id(0) - hcCommandMarker correlation_id(25) time_ns(3051995013284576:3051995013316256) device_id(0) queue_id(0) - hcCommandKernel correlation_id(33) time_ns(3051995052312323:3051995054157763) device_id(0) queue_id(0) - - - hcCommandMarker correlation_id(34) time_ns(3051995054160520:3051995054192360) device_id(0) queue_id(0) - hcCommandKernel correlation_id(42) time_ns(3051995093063311:3051995094901711) device_id(0) queue_id(0) - hcCommandMarker correlation_id(43) time_ns(3051995094910626:3051995094941986) device_id(0) queue_id(0) - - - - hcCommandKernel correlation_id(51) time_ns(3051995133877884:3051995135715164) device_id(0) queue_id(0) - - hcCommandMarker correlation_id(52) time_ns(3051995135718177:3051995135750497) device_id(0) queue_id(0) - hcCommandKernel correlation_id(60) time_ns(3051995174693921:3051995176538721) device_id(0) queue_id(0) - hcCommandMarker correlation_id(61) time_ns(3051995176541555:3051995176572915) device_id(0) queue_id(0) - hcCommandKernel correlation_id(69) time_ns(3051995215425091:3051995215918051) device_id(0) queue_id(0) - hcCommandMarker correlation_id(70) time_ns(3051995215920970:3051995215927370) device_id(0) queue_id(0) - hcCommandKernel correlation_id(78) time_ns(3051995253485758:3051995253977278) device_id(0) queue_id(0) - hcCommandMarker correlation_id(79) time_ns(3051995253980028:3051995253986428) device_id(0) queue_id(0) - hcCommandKernel correlation_id(87) time_ns(3051995291578220:3051995292061900) device_id(0) queue_id(0) - hcCommandMarker correlation_id(88) time_ns(3051995292064818:3051995292071538) device_id(0) queue_id(0) - hcCommandKernel correlation_id(96) time_ns(3051995329792439:3051995330279159) device_id(0) queue_id(0) - hcCommandMarker correlation_id(97) time_ns(3051995330282091:3051995330288491) device_id(0) queue_id(0) - hcCommandKernel correlation_id(105) time_ns(3051995368089121:3051995368583841) device_id(0) queue_id(0) - hcCommandMarker correlation_id(106) time_ns(3051995368586937:3051995368593657) device_id(0) queue_id(0) - hcCommandKernel correlation_id(114) time_ns(3051995406278647:3051995406774807) device_id(0) queue_id(0) - hcCommandMarker correlation_id(115) time_ns(3051995406777804:3051995406784204) device_id(0) queue_id(0) - hcCommandKernel correlation_id(123) time_ns(3051995444525759:3051995445013759) device_id(0) queue_id(0) - hcCommandMarker correlation_id(124) time_ns(3051995445016683:3051995445023083) device_id(0) queue_id(0) - hcCommandKernel correlation_id(132) time_ns(3051995482516908:3051995482999788) device_id(0) queue_id(0) - hcCommandMarker correlation_id(133) time_ns(3051995483002717:3051995483009277) device_id(0) queue_id(0) - hcCommandKernel correlation_id(141) time_ns(3051995520353724:3051995520840124) device_id(0) queue_id(0) - hcCommandMarker correlation_id(142) time_ns(3051995520843000:3051995520849720) device_id(0) queue_id(0) - hcCommandKernel correlation_id(150) time_ns(3051995558681077:3051995559173397) device_id(0) queue_id(0) - hcCommandMarker correlation_id(151) time_ns(3051995559176298:3051995559183018) device_id(0) queue_id(0) - hcCommandKernel correlation_id(159) time_ns(3051995598161021:3051995599999270) device_id(0) queue_id(0) - hcCommandMarker correlation_id(160) time_ns(3051995599998080:3051995600029920) device_id(0) queue_id(0) - hcCommandKernel correlation_id(168) time_ns(3051995639011719:3051995640852360) device_id(0) queue_id(0) - hcCommandMarker correlation_id(169) time_ns(3051995640855187:3051995640886867) device_id(0) queue_id(0) - hcCommandKernel correlation_id(177) time_ns(3051995679941557:3051995681785238) device_id(0) queue_id(0) - hcCommandMarker correlation_id(178) time_ns(3051995681788292:3051995681819972) device_id(0) queue_id(0) - hcCommandKernel correlation_id(186) time_ns(3051995721085517:3051995722924878) device_id(0) queue_id(0) - hcCommandMarker correlation_id(187) time_ns(3051995722927822:3051995722959342) device_id(0) queue_id(0) - hcCommandKernel correlation_id(195) time_ns(3051995762128535:3051995763968696) device_id(0) queue_id(0) - hcCommandMarker correlation_id(196) time_ns(3051995763971639:3051995764003159) device_id(0) queue_id(0) - hcCommandKernel correlation_id(204) time_ns(3051995803055257:3051995804899418) device_id(0) queue_id(0) - hcCommandMarker correlation_id(205) time_ns(3051995804902347:3051995804934827) device_id(0) queue_id(0) - hcCommandKernel correlation_id(213) time_ns(3051995842381359:3051995842870959) device_id(0) queue_id(0) - hcCommandMarker correlation_id(214) time_ns(3051995842873870:3051995842880430) device_id(0) queue_id(0) - hcCommandKernel correlation_id(222) time_ns(3051995880207358:3051995880696478) device_id(0) queue_id(0) - hcCommandMarker correlation_id(223) time_ns(3051995880699398:3051995880706278) device_id(0) queue_id(0) - hcCommandKernel correlation_id(231) time_ns(3051995918437245:3051995918923485) device_id(0) queue_id(0) - hcCommandMarker correlation_id(232) time_ns(3051995918926557:3051995918933277) device_id(0) queue_id(0) - hcCommandKernel correlation_id(240) time_ns(3051995956678885:3051995957170885) device_id(0) queue_id(0) - hcCommandMarker correlation_id(241) time_ns(3051995957176377:3051995957182777) device_id(0) queue_id(0) - hcCommandKernel correlation_id(249) time_ns(3051995994483556:3051995994968356) device_id(0) queue_id(0) - hcCommandMarker correlation_id(250) time_ns(3051995994971379:3051995994977779) device_id(0) queue_id(0) - hcCommandKernel correlation_id(258) time_ns(3051996032527294:3051996033016734) device_id(0) queue_id(0) - hcCommandMarker correlation_id(259) time_ns(3051996033019573:3051996033026133) device_id(0) queue_id(0) - hcCommandKernel correlation_id(267) time_ns(3051996070648820:3051996071137460) device_id(0) queue_id(0) - hcCommandMarker correlation_id(268) time_ns(3051996071140280:3051996071146840) device_id(0) queue_id(0) - hcCommandKernel correlation_id(276) time_ns(3051996108581519:3051996109066639) device_id(0) queue_id(0) - hcCommandMarker correlation_id(277) time_ns(3051996109069492:3051996109075892) device_id(0) queue_id(0) - hcCommandKernel correlation_id(285) time_ns(3051996146393040:3051996146877360) device_id(0) queue_id(0) - hcCommandMarker correlation_id(286) time_ns(3051996146880508:3051996146887068) device_id(0) queue_id(0) - - - - - - + + + + + + + + + + + + +Device 0 name: Device 687f + + + ptr(0x7ffe270aa780) size(0x400000) + + + + + *ptr(0x0x7f2e7ae00000) + + + + + ptr(0x7ffe270aa778) size(0x400000) + + + + + *ptr(0x0x7f2e7a800000) + + + + + dst(0x7f2e7ae00000) src(0x266df00) size(0x400000) kind(1) + + + + + + + + + + + + +rocTX <"before hipLaunchKernel pid(144) tid(144)"> +rocTX <"hipLaunchKernel pid(144) tid(144)"> + + + + +<__hipPushCallConfiguration id(46) correlation_id(358) on-enter pid(144) tid(144)> +<__hipPushCallConfiguration id(46) correlation_id(358) on-exit pid(144) tid(144)> + + + + +<__hipPopCallConfiguration id(171) correlation_id(359) on-enter pid(144) tid(144)> +<__hipPopCallConfiguration id(171) correlation_id(359) on-exit pid(144) tid(144)> + + + + + + + + + +rocTX <"after hipLaunchKernel pid(144) tid(144)"> +rocTX <"hipMemcpy pid(144) tid(144)"> + + + dst(0x2a6df10) src(0x7f2e7a800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + +rocTX <"(null) pid(144) tid(144)"> +rocTX <"(null) pid(144) tid(144)"> + + + PASSED! - ptr(0x902000000) - - - - - - ptr(0x902800000) - - - - - + + + ptr(0x7f2e7ae00000) + + + + + + + + + + ptr(0x7f2e7a800000) + + + + + + + # START (34) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (33) ############################# - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - ptr(0x7fff85b97a98) size(0x400000) - - - - - *ptr(0x0x902000000) - ptr(0x7fff85b97a90) size(0x400000) - - - - - *ptr(0x0x902800000) - dst(0x902000000) src(0x7fd3c6c21010) size(0x400000) kind(1) - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - dst(0x7fd3d4d37010) src(0x902800000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + +Device 0 name: Device 687f + + + ptr(0x7ffe270aa780) size(0x400000) + + + + + *ptr(0x0x7f2e7ae00000) + + + + + ptr(0x7ffe270aa778) size(0x400000) + + + + + *ptr(0x0x7f2e7a800000) + + + + + dst(0x7f2e7ae00000) src(0x266df00) size(0x400000) kind(1) + + + + + + + + + + + + +rocTX <"before hipLaunchKernel pid(144) tid(144)"> +rocTX <"hipLaunchKernel pid(144) tid(144)"> + + + + +<__hipPushCallConfiguration id(46) correlation_id(369) on-enter pid(144) tid(144)> +<__hipPushCallConfiguration id(46) correlation_id(369) on-exit pid(144) tid(144)> + + + + +<__hipPopCallConfiguration id(171) correlation_id(370) on-enter pid(144) tid(144)> +<__hipPopCallConfiguration id(171) correlation_id(370) on-exit pid(144) tid(144)> + + + + + + + + + +rocTX <"after hipLaunchKernel pid(144) tid(144)"> +rocTX <"hipMemcpy pid(144) tid(144)"> + + + dst(0x2a6df10) src(0x7f2e7a800000) size(0x400000) kind(2) + + + + Activity records: + __hipPopCallConfiguration correlation_id(337) time_ns(3815035675146289:3815035675150889) process_id(144) thread_id(144) + (null) correlation_id(338) time_ns(0:0) external_id(33) + hipLaunchKernel correlation_id(338) time_ns(3815035675156539:3815035675170219) process_id(144) thread_id(144) + KernelExecution correlation_id(338) time_ns(3815035675202506:3815035676402864) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(339) time_ns(3815035675202990:3815035677725462) device_id(0) queue_id(0) bytes(0x0) + (null) correlation_id(339) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(339) time_ns(3815035675187709:3815035677745702) process_id(144) thread_id(144) + + (null) correlation_id(340) time_ns(0:0) external_id(31) + hipFree correlation_id(340) time_ns(3815035685084257:3815035685169828) process_id(144) thread_id(144) + (null) correlation_id(341) time_ns(0:0) external_id(31) + hipFree correlation_id(341) time_ns(3815035685172398:3815035685204868) process_id(144) thread_id(144) + hipSetDevice correlation_id(342) time_ns(3815035697526088:3815035697550419) process_id(144) thread_id(144) + hipGetDeviceProperties correlation_id(343) time_ns(3815035697552949:3815035697573239) process_id(144) thread_id(144) + hipMalloc correlation_id(344) time_ns(3815035697936502:3815035698401016) process_id(144) thread_id(144) + hipMalloc correlation_id(345) time_ns(3815035698403046:3815035698477257) process_id(144) thread_id(144) + CopyHostToDevice correlation_id(346) time_ns(3815035698514307:3815035700111672) device_id(0) queue_id(0) bytes(0x0) + (null) correlation_id(346) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(346) time_ns(3815035698479757:3815035700129632) process_id(144) thread_id(144) + (null) correlation_id(347) time_ns(0:0) external_id(33) + __hipPushCallConfiguration correlation_id(347) time_ns(3815035700136422:3815035700151522) process_id(144) thread_id(144) + (null) correlation_id(348) time_ns(0:0) external_id(33) + __hipPopCallConfiguration correlation_id(348) time_ns(3815035700153912:3815035700161992) process_id(144) thread_id(144) + (null) correlation_id(349) time_ns(0:0) external_id(33) + hipLaunchKernel correlation_id(349) time_ns(3815035700164412:3815035700183212) process_id(144) thread_id(144) + KernelExecution correlation_id(349) time_ns(3815035700203178:3815035701393905) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(350) time_ns(3815035700204033:3815035702729335) device_id(0) queue_id(0) bytes(0x0) + (null) correlation_id(350) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(350) time_ns(3815035700187763:3815035702747295) process_id(144) thread_id(144) + (null) correlation_id(351) time_ns(0:0) external_id(31) + hipFree correlation_id(351) time_ns(3815035710043430:3815035710134521) process_id(144) thread_id(144) + (null) correlation_id(352) time_ns(0:0) external_id(31) + hipFree correlation_id(352) time_ns(3815035710136861:3815035710179011) process_id(144) thread_id(144) + hipSetDevice correlation_id(353) time_ns(3815035722508841:3815035722533201) process_id(144) thread_id(144) + hipGetDeviceProperties correlation_id(354) time_ns(3815035722535801:3815035722542451) process_id(144) thread_id(144) + hipMalloc correlation_id(355) time_ns(3815035722910825:3815035723060136) process_id(144) thread_id(144) + hipMalloc correlation_id(356) time_ns(3815035723062026:3815035723134617) process_id(144) thread_id(144) + CopyHostToDevice correlation_id(357) time_ns(3815035723157917:3815035724771191) device_id(0) queue_id(0) bytes(0x0) + (null) correlation_id(357) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(357) time_ns(3815035723136857:3815035724789611) process_id(144) thread_id(144) + (null) correlation_id(358) time_ns(0:0) external_id(33) + __hipPushCallConfiguration correlation_id(358) time_ns(3815035724795871:3815035724823592) process_id(144) thread_id(144) + (null) correlation_id(359) time_ns(0:0) external_id(33) + __hipPopCallConfiguration correlation_id(359) time_ns(3815035724825832:3815035724830492) process_id(144) thread_id(144) + (null) correlation_id(360) time_ns(0:0) external_id(33) + hipLaunchKernel correlation_id(360) time_ns(3815035724832742:3815035724861362) process_id(144) thread_id(144) + KernelExecution correlation_id(360) time_ns(3815035724890747:3815035726095550) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(361) time_ns(3815035724879472:3815035727430595) device_id(0) queue_id(0) bytes(0x0) + (null) correlation_id(361) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(361) time_ns(3815035724866192:3815035727457946) process_id(144) thread_id(144) + (null) correlation_id(362) time_ns(0:0) external_id(31) + hipFree correlation_id(362) time_ns(3815035734746390:3815035734848181) process_id(144) thread_id(144) + (null) correlation_id(363) time_ns(0:0) external_id(31) + hipFree correlation_id(363) time_ns(3815035734850601:3815035734882171) process_id(144) thread_id(144) + hipSetDevice correlation_id(364) time_ns(3815035747207171:3815035747231802) process_id(144) thread_id(144) + hipGetDeviceProperties correlation_id(365) time_ns(3815035747234342:3815035747240572) process_id(144) thread_id(144) + hipMalloc correlation_id(366) time_ns(3815035747606845:3815035747753186) process_id(144) thread_id(144) + hipMalloc correlation_id(367) time_ns(3815035747755336:3815035747826627) process_id(144) thread_id(144) + CopyHostToDevice correlation_id(368) time_ns(3815035747863867:3815035749485122) device_id(0) queue_id(0) bytes(0x0) + (null) correlation_id(368) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(368) time_ns(3815035747829257:3815035749497642) process_id(144) thread_id(144) + (null) correlation_id(369) time_ns(0:0) external_id(33) + __hipPushCallConfiguration correlation_id(369) time_ns(3815035749518412:3815035749535012) process_id(144) thread_id(144) + + + (null) correlation_id(370) time_ns(0:0) external_id(33) + __hipPopCallConfiguration correlation_id(370) time_ns(3815035749537422:3815035749541542) process_id(144) thread_id(144) + + + + + + + + + + + + + + +rocTX <"(null) pid(144) tid(144)"> +rocTX <"(null) pid(144) tid(144)"> + PASSED! - ptr(0x902000000) - - - - - - ptr(0x902800000) - - - - - + + + ptr(0x7f2e7ae00000) + + + + + + + + + + ptr(0x7f2e7a800000) + + + + + + + # START (32) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (31) ############################# - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - ptr(0x7fff85b97a98) size(0x400000) - - - - - *ptr(0x0x902000000) - ptr(0x7fff85b97a90) size(0x400000) - - - - - *ptr(0x0x902800000) - dst(0x902000000) src(0x7fd3c6c21010) size(0x400000) kind(1) - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - dst(0x7fd3d4d37010) src(0x902800000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + +Device 0 name: Device 687f + + + ptr(0x7ffe270aa780) size(0x400000) + + + + + *ptr(0x0x7f2e7ae00000) + + + + + ptr(0x7ffe270aa778) size(0x400000) + + + + + *ptr(0x0x7f2e7a800000) + + + + + dst(0x7f2e7ae00000) src(0x266df00) size(0x400000) kind(1) + + + + + + + + + + + + +rocTX <"before hipLaunchKernel pid(144) tid(144)"> +rocTX <"hipLaunchKernel pid(144) tid(144)"> + + + + +<__hipPushCallConfiguration id(46) correlation_id(380) on-enter pid(144) tid(144)> +<__hipPushCallConfiguration id(46) correlation_id(380) on-exit pid(144) tid(144)> + + + + +<__hipPopCallConfiguration id(171) correlation_id(381) on-enter pid(144) tid(144)> +<__hipPopCallConfiguration id(171) correlation_id(381) on-exit pid(144) tid(144)> + + + + + + + + + +rocTX <"after hipLaunchKernel pid(144) tid(144)"> +rocTX <"hipMemcpy pid(144) tid(144)"> + + + dst(0x2a6df10) src(0x7f2e7a800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + +rocTX <"(null) pid(144) tid(144)"> +rocTX <"(null) pid(144) tid(144)"> + + + + PASSED! - ptr(0x902000000) - - - - - - ptr(0x902800000) - - - - - + + + ptr(0x7f2e7ae00000) + + + + + + + + + + ptr(0x7f2e7a800000) + + + + + + + # START (30) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (29) ############################# - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - ptr(0x7fff85b97a98) size(0x400000) - - - - - *ptr(0x0x902000000) - ptr(0x7fff85b97a90) size(0x400000) - - - - - *ptr(0x0x902800000) - dst(0x902000000) src(0x7fd3c6c21010) size(0x400000) kind(1) - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - dst(0x7fd3d4d37010) src(0x902800000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + +Device 0 name: Device 687f + + + ptr(0x7ffe270aa780) size(0x400000) + + + + + *ptr(0x0x7f2e7ae00000) + + + + + ptr(0x7ffe270aa778) size(0x400000) + + + + + *ptr(0x0x7f2e7a800000) + + + + + dst(0x7f2e7ae00000) src(0x266df00) size(0x400000) kind(1) + + + + + + + + + + + +rocTX <"before hipLaunchKernel pid(144) tid(144)"> + +rocTX <"hipLaunchKernel pid(144) tid(144)"> + + +<__hipPushCallConfiguration id(46) correlation_id(391) on-enter pid(144) tid(144)> +<__hipPushCallConfiguration id(46) correlation_id(391) on-exit pid(144) tid(144)> + + + + + + +<__hipPopCallConfiguration id(171) correlation_id(392) on-enter pid(144) tid(144)> +<__hipPopCallConfiguration id(171) correlation_id(392) on-exit pid(144) tid(144)> + + + + + + + + +rocTX <"after hipLaunchKernel pid(144) tid(144)"> +rocTX <"hipMemcpy pid(144) tid(144)"> + + + dst(0x2a6df10) src(0x7f2e7a800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + +rocTX <"(null) pid(144) tid(144)"> +rocTX <"(null) pid(144) tid(144)"> + + + PASSED! - ptr(0x902000000) - - - - - - ptr(0x902800000) - - - - - + + + ptr(0x7f2e7ae00000) + + + + + + + + + + ptr(0x7f2e7a800000) + + + + + + + # START (28) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (27) ############################# - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - ptr(0x7fff85b97a98) size(0x400000) - - - - - *ptr(0x0x902000000) - ptr(0x7fff85b97a90) size(0x400000) - - - - - *ptr(0x0x902800000) - dst(0x902000000) src(0x7fd3c6c21010) size(0x400000) kind(1) - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - dst(0x7fd3d4d37010) src(0x902800000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + +Device 0 name: Device 687f + + + ptr(0x7ffe270aa780) size(0x400000) + + + + + *ptr(0x0x7f2e7ae00000) + + + + + ptr(0x7ffe270aa778) size(0x400000) + + + + + *ptr(0x0x7f2e7a800000) + + + + + dst(0x7f2e7ae00000) src(0x266df00) size(0x400000) kind(1) + + + + + + + + + + + + +rocTX <"before hipLaunchKernel pid(144) tid(144)"> +rocTX <"hipLaunchKernel pid(144) tid(144)"> + + +<__hipPushCallConfiguration id(46) correlation_id(402) on-enter pid(144) tid(144)> + +<__hipPushCallConfiguration id(46) correlation_id(402) on-exit pid(144) tid(144)> + + + + + +<__hipPopCallConfiguration id(171) correlation_id(403) on-enter pid(144) tid(144)> +<__hipPopCallConfiguration id(171) correlation_id(403) on-exit pid(144) tid(144)> + + + + + + + + +rocTX <"after hipLaunchKernel pid(144) tid(144)"> +rocTX <"hipMemcpy pid(144) tid(144)"> + + + dst(0x2a6df10) src(0x7f2e7a800000) size(0x400000) kind(2) + + + + + Activity records: + (null) correlation_id(371) time_ns(0:0) external_id(33) + hipLaunchKernel correlation_id(371) time_ns(3815035749543902:3815035749557672) process_id(144) thread_id(144) + KernelExecution correlation_id(371) time_ns(3815035749591479:3815035750788281) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(372) time_ns(3815035749596023:3815035752124425) device_id(0) queue_id(0) bytes(0x0) + + (null) correlation_id(372) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(372) time_ns(3815035749581092:3815035752152925) process_id(144) thread_id(144) + (null) correlation_id(373) time_ns(0:0) external_id(31) + hipFree correlation_id(373) time_ns(3815035759439811:3815035759529631) process_id(144) thread_id(144) + (null) correlation_id(374) time_ns(0:0) external_id(31) + hipFree correlation_id(374) time_ns(3815035759531911:3815035759564882) process_id(144) thread_id(144) + hipSetDevice correlation_id(375) time_ns(3815035771887192:3815035771926302) process_id(144) thread_id(144) + hipGetDeviceProperties correlation_id(376) time_ns(3815035771928942:3815035771935042) process_id(144) thread_id(144) + hipMalloc correlation_id(377) time_ns(3815035772333196:3815035772465327) process_id(144) thread_id(144) + hipMalloc correlation_id(378) time_ns(3815035772467297:3815035772539557) process_id(144) thread_id(144) + CopyHostToDevice correlation_id(379) time_ns(3815035772562638:3815035774177492) device_id(0) queue_id(0) bytes(0x0) + (null) correlation_id(379) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(379) time_ns(3815035772542057:3815035774195182) process_id(144) thread_id(144) + (null) correlation_id(380) time_ns(0:0) external_id(33) + __hipPushCallConfiguration correlation_id(380) time_ns(3815035774201752:3815035774221152) process_id(144) thread_id(144) + (null) correlation_id(381) time_ns(0:0) external_id(33) + __hipPopCallConfiguration correlation_id(381) time_ns(3815035774223382:3815035774227662) process_id(144) thread_id(144) + (null) correlation_id(382) time_ns(0:0) external_id(33) + hipLaunchKernel correlation_id(382) time_ns(3815035774229992:3815035774244262) process_id(144) thread_id(144) + KernelExecution correlation_id(382) time_ns(3815035774268251:3815035775466683) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(383) time_ns(3815035774262123:3815035776810135) device_id(0) queue_id(0) bytes(0x0) + (null) correlation_id(383) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(383) time_ns(3815035774248453:3815035776827535) process_id(144) thread_id(144) + (null) correlation_id(384) time_ns(0:0) external_id(31) + hipFree correlation_id(384) time_ns(3815035784115331:3815035784226832) process_id(144) thread_id(144) + (null) correlation_id(385) time_ns(0:0) external_id(31) + hipFree correlation_id(385) time_ns(3815035784229362:3815035784252832) process_id(144) thread_id(144) + hipSetDevice correlation_id(386) time_ns(3815035796571291:3815035796595621) process_id(144) thread_id(144) + hipGetDeviceProperties correlation_id(387) time_ns(3815035796598121:3815035796604451) process_id(144) thread_id(144) + hipMalloc correlation_id(388) time_ns(3815035796970515:3815035797117736) process_id(144) thread_id(144) + hipMalloc correlation_id(389) time_ns(3815035797119716:3815035797193637) process_id(144) thread_id(144) + CopyHostToDevice correlation_id(390) time_ns(3815035797216827:3815035798825552) device_id(0) queue_id(0) bytes(0x0) + (null) correlation_id(390) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(390) time_ns(3815035797196047:3815035798848112) process_id(144) thread_id(144) + (null) correlation_id(391) time_ns(0:0) external_id(33) + __hipPushCallConfiguration correlation_id(391) time_ns(3815035798864262:3815035798870442) process_id(144) thread_id(144) + (null) correlation_id(392) time_ns(0:0) external_id(33) + __hipPopCallConfiguration correlation_id(392) time_ns(3815035798882992:3815035798887612) process_id(144) thread_id(144) + (null) correlation_id(393) time_ns(0:0) external_id(33) + hipLaunchKernel correlation_id(393) time_ns(3815035798889682:3815035798903692) process_id(144) thread_id(144) + KernelExecution correlation_id(393) time_ns(3815035798946959:3815035800141390) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(394) time_ns(3815035798924702:3815035801486305) device_id(0) queue_id(0) bytes(0x0) + (null) correlation_id(394) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(394) time_ns(3815035798907132:3815035801512756) process_id(144) thread_id(144) + (null) correlation_id(395) time_ns(0:0) external_id(31) + hipFree correlation_id(395) time_ns(3815035808787680:3815035808888881) process_id(144) thread_id(144) + (null) correlation_id(396) time_ns(0:0) external_id(31) + hipFree correlation_id(396) time_ns(3815035808891401:3815035808922321) process_id(144) thread_id(144) + hipSetDevice correlation_id(397) time_ns(3815035821242361:3815035821266901) process_id(144) thread_id(144) + hipGetDeviceProperties correlation_id(398) time_ns(3815035821269461:3815035821275851) process_id(144) thread_id(144) + hipMalloc correlation_id(399) time_ns(3815035821645985:3815035821791156) process_id(144) thread_id(144) + hipMalloc correlation_id(400) time_ns(3815035821793116:3815035821873747) process_id(144) thread_id(144) + CopyHostToDevice correlation_id(401) time_ns(3815035821897527:3815035823522191) device_id(0) queue_id(0) bytes(0x0) + + + (null) correlation_id(401) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(401) time_ns(3815035821875967:3815035823541342) process_id(144) thread_id(144) + (null) correlation_id(402) time_ns(0:0) external_id(33) + __hipPushCallConfiguration correlation_id(402) time_ns(3815035823547172:3815035823559502) process_id(144) thread_id(144) + (null) correlation_id(403) time_ns(0:0) external_id(33) + __hipPopCallConfiguration correlation_id(403) time_ns(3815035823562342:3815035823569042) process_id(144) thread_id(144) + (null) correlation_id(404) time_ns(0:0) external_id(33) + + + + + + + + + + + +rocTX <"(null) pid(144) tid(144)"> +rocTX <"(null) pid(144) tid(144)"> + + + + PASSED! - ptr(0x902000000) - - - - - - ptr(0x902800000) - - - - - + + + ptr(0x7f2e7ae00000) + + + + + + + + + + ptr(0x7f2e7a800000) + + + + + + + # START (26) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (25) ############################# - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - ptr(0x7fff85b97a98) size(0x400000) - - - - - *ptr(0x0x902000000) - ptr(0x7fff85b97a90) size(0x400000) - - - - - *ptr(0x0x902800000) - dst(0x902000000) src(0x7fd3c6c21010) size(0x400000) kind(1) - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - dst(0x7fd3d4d37010) src(0x902800000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + +Device 0 name: Device 687f + + + ptr(0x7ffe270aa780) size(0x400000) + + + + + *ptr(0x0x7f2e7ae00000) + + + + + ptr(0x7ffe270aa778) size(0x400000) + + + + + *ptr(0x0x7f2e7a800000) + + + + + dst(0x7f2e7ae00000) src(0x266df00) size(0x400000) kind(1) + + + + + + + + + + + +rocTX <"before hipLaunchKernel pid(144) tid(144)"> + +rocTX <"hipLaunchKernel pid(144) tid(144)"> + + +<__hipPushCallConfiguration id(46) correlation_id(413) on-enter pid(144) tid(144)> +<__hipPushCallConfiguration id(46) correlation_id(413) on-exit pid(144) tid(144)> + + + + +<__hipPopCallConfiguration id(171) correlation_id(414) on-enter pid(144) tid(144)> +<__hipPopCallConfiguration id(171) correlation_id(414) on-exit pid(144) tid(144)> + + + + + + + + + + +rocTX <"after hipLaunchKernel pid(144) tid(144)"> +rocTX <"hipMemcpy pid(144) tid(144)"> + + + dst(0x2a6df10) src(0x7f2e7a800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + +rocTX <"(null) pid(144) tid(144)"> +rocTX <"(null) pid(144) tid(144)"> + + + + PASSED! - ptr(0x902000000) - - - - - - ptr(0x902800000) - - - - - + + + ptr(0x7f2e7ae00000) + + + + + + + + + + ptr(0x7f2e7a800000) + + + + + + + # START (24) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (23) ############################# - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - ptr(0x7fff85b97a98) size(0x400000) - - - - - *ptr(0x0x902000000) - ptr(0x7fff85b97a90) size(0x400000) - - - - - *ptr(0x0x902800000) - dst(0x902000000) src(0x7fd3c6c21010) size(0x400000) kind(1) - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - dst(0x7fd3d4d37010) src(0x902800000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + +Device 0 name: Device 687f + + + ptr(0x7ffe270aa780) size(0x400000) + + + + + *ptr(0x0x7f2e7ae00000) + + + + + ptr(0x7ffe270aa778) size(0x400000) + + + + + *ptr(0x0x7f2e7a800000) + + + + + dst(0x7f2e7ae00000) src(0x266df00) size(0x400000) kind(1) + + + + + + + + + + + +rocTX <"before hipLaunchKernel pid(144) tid(144)"> +rocTX <"hipLaunchKernel pid(144) tid(144)"> + + + +<__hipPushCallConfiguration id(46) correlation_id(424) on-enter pid(144) tid(144)> +<__hipPushCallConfiguration id(46) correlation_id(424) on-exit pid(144) tid(144)> + + + + +<__hipPopCallConfiguration id(171) correlation_id(425) on-enter pid(144) tid(144)> +<__hipPopCallConfiguration id(171) correlation_id(425) on-exit pid(144) tid(144)> + + + + + + + + + + +rocTX <"after hipLaunchKernel pid(144) tid(144)"> +rocTX <"hipMemcpy pid(144) tid(144)"> + + + dst(0x2a6df10) src(0x7f2e7a800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + +rocTX <"(null) pid(144) tid(144)"> +rocTX <"(null) pid(144) tid(144)"> + + + PASSED! - ptr(0x902000000) - - - - - - ptr(0x902800000) - - - - - + + + ptr(0x7f2e7ae00000) + + + + + + + + + + ptr(0x7f2e7a800000) + + + + + + + # START (22) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (21) ############################# - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - ptr(0x7fff85b97a98) size(0x400000) - - - - - *ptr(0x0x902000000) - ptr(0x7fff85b97a90) size(0x400000) - - - - - *ptr(0x0x902800000) - dst(0x902000000) src(0x7fd3c6c21010) size(0x400000) kind(1) - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - dst(0x7fd3d4d37010) src(0x902800000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + +Device 0 name: Device 687f + + + ptr(0x7ffe270aa780) size(0x400000) + + + + + *ptr(0x0x7f2e7ae00000) + + + + + ptr(0x7ffe270aa778) size(0x400000) + + + + + *ptr(0x0x7f2e7a800000) + + + + + dst(0x7f2e7ae00000) src(0x266df00) size(0x400000) kind(1) + + + + + + + + + + + + +rocTX <"before hipLaunchKernel pid(144) tid(144)"> +rocTX <"hipLaunchKernel pid(144) tid(144)"> + + +<__hipPushCallConfiguration id(46) correlation_id(435) on-enter pid(144) tid(144)> +<__hipPushCallConfiguration id(46) correlation_id(435) on-exit pid(144) tid(144)> + + + + + + +<__hipPopCallConfiguration id(171) correlation_id(436) on-enter pid(144) tid(144)> +<__hipPopCallConfiguration id(171) correlation_id(436) on-exit pid(144) tid(144)> + + + + + + + + +rocTX <"after hipLaunchKernel pid(144) tid(144)"> +rocTX <"hipMemcpy pid(144) tid(144)"> + + + dst(0x2a6df10) src(0x7f2e7a800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + +rocTX <"(null) pid(144) tid(144)"> +rocTX <"(null) pid(144) tid(144)"> + + Activity records: + hipLaunchKernel correlation_id(404) time_ns(3815035823571242:3815035823584542) process_id(144) thread_id(144) + KernelExecution correlation_id(404) time_ns(3815035823632582:3815035824831903) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(405) time_ns(3815035823610222:3815035826172255) device_id(0) queue_id(0) bytes(0x0) + (null) correlation_id(405) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(405) time_ns(3815035823591122:3815035826192895) process_id(144) thread_id(144) + (null) correlation_id(406) time_ns(0:0) external_id(31) + hipFree correlation_id(406) time_ns(3815035833485200:3815035833572271) process_id(144) thread_id(144) + (null) correlation_id(407) time_ns(0:0) external_id(31) + hipFree correlation_id(407) time_ns(3815035833574591:3815035833621222) process_id(144) thread_id(144) + hipSetDevice correlation_id(408) time_ns(3815035845917711:3815035845942772) process_id(144) thread_id(144) + hipGetDeviceProperties correlation_id(409) time_ns(3815035845945292:3815035845951602) process_id(144) thread_id(144) + hipMalloc correlation_id(410) time_ns(3815035846316325:3815035846463056) process_id(144) thread_id(144) + hipMalloc correlation_id(411) time_ns(3815035846465016:3815035846536067) process_id(144) thread_id(144) + CopyHostToDevice correlation_id(412) time_ns(3815035846560197:3815035848164651) device_id(0) queue_id(0) bytes(0x0) + (null) correlation_id(412) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(412) time_ns(3815035846538617:3815035848186381) process_id(144) thread_id(144) + (null) correlation_id(413) time_ns(0:0) external_id(33) + __hipPushCallConfiguration correlation_id(413) time_ns(3815035848194282:3815035848200062) process_id(144) thread_id(144) + (null) correlation_id(414) time_ns(0:0) external_id(33) + __hipPopCallConfiguration correlation_id(414) time_ns(3815035848202372:3815035848219872) process_id(144) thread_id(144) + (null) correlation_id(415) time_ns(0:0) external_id(33) + hipLaunchKernel correlation_id(415) time_ns(3815035848222222:3815035848235402) process_id(144) thread_id(144) + KernelExecution correlation_id(415) time_ns(3815035848278155:3815035849469327) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(416) time_ns(3815035848252162:3815035850805565) device_id(0) queue_id(0) bytes(0x0) + (null) correlation_id(416) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(416) time_ns(3815035848238662:3815035850823875) process_id(144) thread_id(144) + (null) correlation_id(417) time_ns(0:0) external_id(31) + hipFree correlation_id(417) time_ns(3815035858108770:3815035858218691) process_id(144) thread_id(144) + (null) correlation_id(418) time_ns(0:0) external_id(31) + hipFree correlation_id(418) time_ns(3815035858221021:3815035858252581) process_id(144) thread_id(144) + hipSetDevice correlation_id(419) time_ns(3815035870755283:3815035870780943) process_id(144) thread_id(144) + hipGetDeviceProperties correlation_id(420) time_ns(3815035870783683:3815035870789763) process_id(144) thread_id(144) + hipMalloc correlation_id(421) time_ns(3815035871155766:3815035871319708) process_id(144) thread_id(144) + hipMalloc correlation_id(422) time_ns(3815035871321618:3815035871393279) process_id(144) thread_id(144) + CopyHostToDevice correlation_id(423) time_ns(3815035871430109:3815035873049163) device_id(0) queue_id(0) bytes(0x0) + (null) correlation_id(423) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(423) time_ns(3815035871395549:3815035873060233) process_id(144) thread_id(144) + (null) correlation_id(424) time_ns(0:0) external_id(33) + __hipPushCallConfiguration correlation_id(424) time_ns(3815035873067663:3815035873073314) process_id(144) thread_id(144) + (null) correlation_id(425) time_ns(0:0) external_id(33) + __hipPopCallConfiguration correlation_id(425) time_ns(3815035873075534:3815035873092324) process_id(144) thread_id(144) + (null) correlation_id(426) time_ns(0:0) external_id(33) + hipLaunchKernel correlation_id(426) time_ns(3815035873095074:3815035873108804) process_id(144) thread_id(144) + KernelExecution correlation_id(426) time_ns(3815035873149228:3815035874347067) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(427) time_ns(3815035873126784:3815035875683277) device_id(0) queue_id(0) bytes(0x0) + (null) correlation_id(427) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(427) time_ns(3815035873111734:3815035875711977) process_id(144) thread_id(144) + (null) correlation_id(428) time_ns(0:0) external_id(31) + hipFree correlation_id(428) time_ns(3815035883001232:3815035883093923) process_id(144) thread_id(144) + (null) correlation_id(429) time_ns(0:0) external_id(31) + hipFree correlation_id(429) time_ns(3815035883096413:3815035883127403) process_id(144) thread_id(144) + hipSetDevice correlation_id(430) time_ns(3815035895473513:3815035895498523) process_id(144) thread_id(144) + hipGetDeviceProperties correlation_id(431) time_ns(3815035895501173:3815035895507443) process_id(144) thread_id(144) + hipMalloc correlation_id(432) time_ns(3815035895870996:3815035896039728) process_id(144) thread_id(144) + hipMalloc correlation_id(433) time_ns(3815035896042028:3815035896118728) process_id(144) thread_id(144) + CopyHostToDevice correlation_id(434) time_ns(3815035896142489:3815035897768423) device_id(0) queue_id(0) bytes(0x0) + (null) correlation_id(434) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(434) time_ns(3815035896121148:3815035897786664) process_id(144) thread_id(144) + (null) correlation_id(435) time_ns(0:0) external_id(33) + __hipPushCallConfiguration correlation_id(435) time_ns(3815035897792874:3815035897804574) process_id(144) thread_id(144) + (null) correlation_id(436) time_ns(0:0) external_id(33) + __hipPopCallConfiguration correlation_id(436) time_ns(3815035897817504:3815035897822154) process_id(144) thread_id(144) + (null) correlation_id(437) time_ns(0:0) external_id(33) + hipLaunchKernel correlation_id(437) time_ns(3815035897824284:3815035897837944) process_id(144) thread_id(144) PASSED! - ptr(0x902000000) - - - - - - ptr(0x902800000) - - - - - + + + ptr(0x7f2e7ae00000) + + + + + + + + + + ptr(0x7f2e7a800000) + + + + + + + # START (20) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (19) ############################# - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - ptr(0x7fff85b97a98) size(0x400000) - - - - - *ptr(0x0x902000000) - ptr(0x7fff85b97a90) size(0x400000) - - - - - *ptr(0x0x902800000) - dst(0x902000000) src(0x7fd3c6c21010) size(0x400000) kind(1) - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - dst(0x7fd3d4d37010) src(0x902800000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + +Device 0 name: Device 687f + + + ptr(0x7ffe270aa780) size(0x400000) + + + + + *ptr(0x0x7f2e7ae00000) + + + + + ptr(0x7ffe270aa778) size(0x400000) + + + + + *ptr(0x0x7f2e7a800000) + + + + + dst(0x7f2e7ae00000) src(0x266df00) size(0x400000) kind(1) + + + + + + + + + + + + +rocTX <"before hipLaunchKernel pid(144) tid(144)"> +rocTX <"hipLaunchKernel pid(144) tid(144)"> + + + + +<__hipPushCallConfiguration id(46) correlation_id(446) on-enter pid(144) tid(144)> +<__hipPushCallConfiguration id(46) correlation_id(446) on-exit pid(144) tid(144)> + + + + +<__hipPopCallConfiguration id(171) correlation_id(447) on-enter pid(144) tid(144)> +<__hipPopCallConfiguration id(171) correlation_id(447) on-exit pid(144) tid(144)> + + + + + + + + + +rocTX <"after hipLaunchKernel pid(144) tid(144)"> +rocTX <"hipMemcpy pid(144) tid(144)"> + + + dst(0x2a6df10) src(0x7f2e7a800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + +rocTX <"(null) pid(144) tid(144)"> +rocTX <"(null) pid(144) tid(144)"> + + + PASSED! - ptr(0x902000000) - - - - - - ptr(0x902800000) - - - - - + + + ptr(0x7f2e7ae00000) + + + + + + + + + + ptr(0x7f2e7a800000) + + + + + + + # START (18) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (17) ############################# - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - ptr(0x7fff85b97a98) size(0x400000) - - - - - *ptr(0x0x902000000) - ptr(0x7fff85b97a90) size(0x400000) - - - - - *ptr(0x0x902800000) - dst(0x902000000) src(0x7fd3c6c21010) size(0x400000) kind(1) - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - dst(0x7fd3d4d37010) src(0x902800000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + +Device 0 name: Device 687f + + + ptr(0x7ffe270aa780) size(0x400000) + + + + + *ptr(0x0x7f2e7ae00000) + + + + + ptr(0x7ffe270aa778) size(0x400000) + + + + + *ptr(0x0x7f2e7a800000) + + + + + dst(0x7f2e7ae00000) src(0x266df00) size(0x400000) kind(1) + + + + + + + + + + + +rocTX <"before hipLaunchKernel pid(144) tid(144)"> + +rocTX <"hipLaunchKernel pid(144) tid(144)"> + + +<__hipPushCallConfiguration id(46) correlation_id(457) on-enter pid(144) tid(144)> +<__hipPushCallConfiguration id(46) correlation_id(457) on-exit pid(144) tid(144)> + + + + + + +<__hipPopCallConfiguration id(171) correlation_id(458) on-enter pid(144) tid(144)> +<__hipPopCallConfiguration id(171) correlation_id(458) on-exit pid(144) tid(144)> + + + + + + + + +rocTX <"after hipLaunchKernel pid(144) tid(144)"> +rocTX <"hipMemcpy pid(144) tid(144)"> + + + dst(0x2a6df10) src(0x7f2e7a800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + +rocTX <"(null) pid(144) tid(144)"> +rocTX <"(null) pid(144) tid(144)"> + PASSED! - ptr(0x902000000) - - - - - - ptr(0x902800000) - - - - - + + + ptr(0x7f2e7ae00000) + + + + + + + + + + ptr(0x7f2e7a800000) + + + + + + + # START (16) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (15) ############################# - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - ptr(0x7fff85b97a98) size(0x400000) - - - - - *ptr(0x0x902000000) - ptr(0x7fff85b97a90) size(0x400000) - - - - - *ptr(0x0x902800000) - dst(0x902000000) src(0x7fd3c6c21010) size(0x400000) kind(1) - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - dst(0x7fd3d4d37010) src(0x902800000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + +Device 0 name: Device 687f + + + ptr(0x7ffe270aa780) size(0x400000) + + + + + *ptr(0x0x7f2e7ae00000) + + + + + ptr(0x7ffe270aa778) size(0x400000) + + + + + *ptr(0x0x7f2e7a800000) + + + + + dst(0x7f2e7ae00000) src(0x266df00) size(0x400000) kind(1) + + + + + + + + + + + + +rocTX <"before hipLaunchKernel pid(144) tid(144)"> +rocTX <"hipLaunchKernel pid(144) tid(144)"> + + +<__hipPushCallConfiguration id(46) correlation_id(468) on-enter pid(144) tid(144)> +<__hipPushCallConfiguration id(46) correlation_id(468) on-exit pid(144) tid(144)> + + + + + +<__hipPopCallConfiguration id(171) correlation_id(469) on-enter pid(144) tid(144)> +<__hipPopCallConfiguration id(171) correlation_id(469) on-exit pid(144) tid(144)> + + + + + + + + + +rocTX <"after hipLaunchKernel pid(144) tid(144)"> +rocTX <"hipMemcpy pid(144) tid(144)"> + + + dst(0x2a6df10) src(0x7f2e7a800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + +rocTX <"(null) pid(144) tid(144)"> +rocTX <"(null) pid(144) tid(144)"> + + Activity records: + KernelExecution correlation_id(437) time_ns(3815035897887275:3815035899093411) device_id(0) queue_id(0) + + CopyDeviceToHost correlation_id(438) time_ns(3815035897865044:3815035900405727) device_id(0) queue_id(0) bytes(0x0) + (null) correlation_id(438) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(438) time_ns(3815035897841624:3815035900448898) process_id(144) thread_id(144) + + (null) correlation_id(439) time_ns(0:0) external_id(31) + hipFree correlation_id(439) time_ns(3815035907902984:3815035908043635) process_id(144) thread_id(144) + (null) correlation_id(440) time_ns(0:0) external_id(31) + hipFree correlation_id(440) time_ns(3815035908046365:3815035908071515) process_id(144) thread_id(144) + hipSetDevice correlation_id(441) time_ns(3815035920396485:3815035920421425) process_id(144) thread_id(144) + hipGetDeviceProperties correlation_id(442) time_ns(3815035920424335:3815035920430615) process_id(144) thread_id(144) + hipMalloc correlation_id(443) time_ns(3815035920787939:3815035921466595) process_id(144) thread_id(144) + hipMalloc correlation_id(444) time_ns(3815035921468605:3815035921540465) process_id(144) thread_id(144) + CopyHostToDevice correlation_id(445) time_ns(3815035921591766:3815035923193830) device_id(0) queue_id(0) bytes(0x0) + (null) correlation_id(445) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(445) time_ns(3815035921542895:3815035923212340) process_id(144) thread_id(144) + (null) correlation_id(446) time_ns(0:0) external_id(33) + __hipPushCallConfiguration correlation_id(446) time_ns(3815035923218820:3815035923235060) process_id(144) thread_id(144) + (null) correlation_id(447) time_ns(0:0) external_id(33) + __hipPopCallConfiguration correlation_id(447) time_ns(3815035923237260:3815035923241580) process_id(144) thread_id(144) + (null) correlation_id(448) time_ns(0:0) external_id(33) + hipLaunchKernel correlation_id(448) time_ns(3815035923243910:3815035923256190) process_id(144) thread_id(144) + KernelExecution correlation_id(448) time_ns(3815035923288892:3815035924499028) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(449) time_ns(3815035923293341:3815035925822004) device_id(0) queue_id(0) bytes(0x0) + (null) correlation_id(449) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(449) time_ns(3815035923268481:3815035925850884) process_id(144) thread_id(144) + (null) correlation_id(450) time_ns(0:0) external_id(31) + hipFree correlation_id(450) time_ns(3815035933135509:3815035933222070) process_id(144) thread_id(144) + (null) correlation_id(451) time_ns(0:0) external_id(31) + hipFree correlation_id(451) time_ns(3815035933224220:3815035933258910) process_id(144) thread_id(144) + hipSetDevice correlation_id(452) time_ns(3815035945550760:3815035945574940) process_id(144) thread_id(144) + hipGetDeviceProperties correlation_id(453) time_ns(3815035945577550:3815035945584270) process_id(144) thread_id(144) + hipMalloc correlation_id(454) time_ns(3815035945947513:3815035946094564) process_id(144) thread_id(144) + hipMalloc correlation_id(455) time_ns(3815035946096494:3815035946184135) process_id(144) thread_id(144) + CopyHostToDevice correlation_id(456) time_ns(3815035946207875:3815035947827770) device_id(0) queue_id(0) bytes(0x0) + (null) correlation_id(456) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(456) time_ns(3815035946186535:3815035947838450) process_id(144) thread_id(144) + (null) correlation_id(457) time_ns(0:0) external_id(33) + __hipPushCallConfiguration correlation_id(457) time_ns(3815035947855160:3815035947871040) process_id(144) thread_id(144) + (null) correlation_id(458) time_ns(0:0) external_id(33) + __hipPopCallConfiguration correlation_id(458) time_ns(3815035947873910:3815035947878570) process_id(144) thread_id(144) + (null) correlation_id(459) time_ns(0:0) external_id(33) + hipLaunchKernel correlation_id(459) time_ns(3815035947881070:3815035947894690) process_id(144) thread_id(144) + KernelExecution correlation_id(459) time_ns(3815035947937253:3815035949145463) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(460) time_ns(3815035947915020:3815035950498573) device_id(0) queue_id(0) bytes(0x0) + (null) correlation_id(460) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(460) time_ns(3815035947897550:3815035950528854) process_id(144) thread_id(144) + (null) correlation_id(461) time_ns(0:0) external_id(31) + hipFree correlation_id(461) time_ns(3815035957831419:3815035957922980) process_id(144) thread_id(144) + (null) correlation_id(462) time_ns(0:0) external_id(31) + hipFree correlation_id(462) time_ns(3815035957925800:3815035957955560) process_id(144) thread_id(144) + hipSetDevice correlation_id(463) time_ns(3815035970276870:3815035970302750) process_id(144) thread_id(144) + hipGetDeviceProperties correlation_id(464) time_ns(3815035970305760:3815035970312270) process_id(144) thread_id(144) + hipMalloc correlation_id(465) time_ns(3815035970678084:3815035970838935) process_id(144) thread_id(144) + hipMalloc correlation_id(466) time_ns(3815035970841005:3815035970911586) process_id(144) thread_id(144) + CopyHostToDevice correlation_id(467) time_ns(3815035970935546:3815035972548860) device_id(0) queue_id(0) bytes(0x0) + (null) correlation_id(467) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(467) time_ns(3815035970914266:3815035972558260) process_id(144) thread_id(144) + (null) correlation_id(468) time_ns(0:0) external_id(33) + __hipPushCallConfiguration correlation_id(468) time_ns(3815035972575360:3815035972583971) process_id(144) thread_id(144) + (null) correlation_id(469) time_ns(0:0) external_id(33) + __hipPopCallConfiguration correlation_id(469) time_ns(3815035972586821:3815035972604171) process_id(144) thread_id(144) + (null) correlation_id(470) time_ns(0:0) external_id(33) + hipLaunchKernel correlation_id(470) time_ns(3815035972607161:3815035972623501) process_id(144) thread_id(144) + KernelExecution correlation_id(470) time_ns(3815035972659314:3815035973852264) device_id(0) queue_id(0) PASSED! - ptr(0x902000000) - - - - - - ptr(0x902800000) - - - - - + + + ptr(0x7f2e7ae00000) + + + + + + + + + + ptr(0x7f2e7a800000) + + + + + + + # START (14) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (13) ############################# - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - ptr(0x7fff85b97a98) size(0x400000) - - - - - *ptr(0x0x902000000) - ptr(0x7fff85b97a90) size(0x400000) - - - - - *ptr(0x0x902800000) - dst(0x902000000) src(0x7fd3c6c21010) size(0x400000) kind(1) - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - dst(0x7fd3d4d37010) src(0x902800000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + +Device 0 name: Device 687f + + + ptr(0x7ffe270aa780) size(0x400000) + + + + + *ptr(0x0x7f2e7ae00000) + + + + + ptr(0x7ffe270aa778) size(0x400000) + + + + + *ptr(0x0x7f2e7a800000) + + + + + dst(0x7f2e7ae00000) src(0x266df00) size(0x400000) kind(1) + + + + + + + + + + + +rocTX <"before hipLaunchKernel pid(144) tid(144)"> + +rocTX <"hipLaunchKernel pid(144) tid(144)"> + + +<__hipPushCallConfiguration id(46) correlation_id(479) on-enter pid(144) tid(144)> +<__hipPushCallConfiguration id(46) correlation_id(479) on-exit pid(144) tid(144)> + + + + + + +<__hipPopCallConfiguration id(171) correlation_id(480) on-enter pid(144) tid(144)> +<__hipPopCallConfiguration id(171) correlation_id(480) on-exit pid(144) tid(144)> + + + + + + + + +rocTX <"after hipLaunchKernel pid(144) tid(144)"> +rocTX <"hipMemcpy pid(144) tid(144)"> + + + dst(0x2a6df10) src(0x7f2e7a800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + +rocTX <"(null) pid(144) tid(144)"> +rocTX <"(null) pid(144) tid(144)"> + + + PASSED! - ptr(0x902000000) - - - - - - ptr(0x902800000) - - - - - + + + ptr(0x7f2e7ae00000) + + + + + + + + + + ptr(0x7f2e7a800000) + + + + + + + # START (12) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (11) ############################# - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - ptr(0x7fff85b97a98) size(0x400000) - - - - - *ptr(0x0x902000000) - ptr(0x7fff85b97a90) size(0x400000) - - - - - *ptr(0x0x902800000) - dst(0x902000000) src(0x7fd3c6c21010) size(0x400000) kind(1) - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - dst(0x7fd3d4d37010) src(0x902800000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + +Device 0 name: Device 687f + + + ptr(0x7ffe270aa780) size(0x400000) + + + + + *ptr(0x0x7f2e7ae00000) + + + + + ptr(0x7ffe270aa778) size(0x400000) + + + + + *ptr(0x0x7f2e7a800000) + + + + + dst(0x7f2e7ae00000) src(0x266df00) size(0x400000) kind(1) + + + + + + + + + + + + +rocTX <"before hipLaunchKernel pid(144) tid(144)"> +rocTX <"hipLaunchKernel pid(144) tid(144)"> + + +<__hipPushCallConfiguration id(46) correlation_id(490) on-enter pid(144) tid(144)> +<__hipPushCallConfiguration id(46) correlation_id(490) on-exit pid(144) tid(144)> + + + + + + +<__hipPopCallConfiguration id(171) correlation_id(491) on-enter pid(144) tid(144)> +<__hipPopCallConfiguration id(171) correlation_id(491) on-exit pid(144) tid(144)> + + + + + + + + +rocTX <"after hipLaunchKernel pid(144) tid(144)"> +rocTX <"hipMemcpy pid(144) tid(144)"> + + + dst(0x2a6df10) src(0x7f2e7a800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + +rocTX <"(null) pid(144) tid(144)"> +rocTX <"(null) pid(144) tid(144)"> + + PASSED! - ptr(0x902000000) - - - - - - ptr(0x902800000) - - - - - + + + ptr(0x7f2e7ae00000) + + + + + + + + + + ptr(0x7f2e7a800000) + + + + + + + # START (10) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (9) ############################# - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - ptr(0x7fff85b97a98) size(0x400000) - - - - - *ptr(0x0x902000000) - ptr(0x7fff85b97a90) size(0x400000) - - - - - *ptr(0x0x902800000) - dst(0x902000000) src(0x7fd3c6c21010) size(0x400000) kind(1) - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - dst(0x7fd3d4d37010) src(0x902800000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + +Device 0 name: Device 687f + + + ptr(0x7ffe270aa780) size(0x400000) + + + + + *ptr(0x0x7f2e7ae00000) + + + + + ptr(0x7ffe270aa778) size(0x400000) + + + + + *ptr(0x0x7f2e7a800000) + + + + + dst(0x7f2e7ae00000) src(0x266df00) size(0x400000) kind(1) + + + + + + + + + + + + +rocTX <"before hipLaunchKernel pid(144) tid(144)"> +rocTX <"hipLaunchKernel pid(144) tid(144)"> + + + + +<__hipPushCallConfiguration id(46) correlation_id(501) on-enter pid(144) tid(144)> +<__hipPushCallConfiguration id(46) correlation_id(501) on-exit pid(144) tid(144)> + + + + +<__hipPopCallConfiguration id(171) correlation_id(502) on-enter pid(144) tid(144)> +<__hipPopCallConfiguration id(171) correlation_id(502) on-exit pid(144) tid(144)> + + + + + + + + + +rocTX <"after hipLaunchKernel pid(144) tid(144)"> +rocTX <"hipMemcpy pid(144) tid(144)"> + + + dst(0x2a6df10) src(0x7f2e7a800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + +rocTX <"(null) pid(144) tid(144)"> +rocTX <"(null) pid(144) tid(144)"> + + + Activity records: + CopyDeviceToHost correlation_id(471) time_ns(3815035972636531:3815035975190334) device_id(0) queue_id(0) bytes(0x0) + + (null) correlation_id(471) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(471) time_ns(3815035972626961:3815035975205514) process_id(144) thread_id(144) + (null) correlation_id(472) time_ns(0:0) external_id(31) + hipFree correlation_id(472) time_ns(3815035982504039:3815035982606820) process_id(144) thread_id(144) + (null) correlation_id(473) time_ns(0:0) external_id(31) + hipFree correlation_id(473) time_ns(3815035982618290:3815035982641850) process_id(144) thread_id(144) + hipSetDevice correlation_id(474) time_ns(3815035994953250:3815035994979340) process_id(144) thread_id(144) + hipGetDeviceProperties correlation_id(475) time_ns(3815035994982030:3815035994988280) process_id(144) thread_id(144) + hipMalloc correlation_id(476) time_ns(3815035995354204:3815035995501015) process_id(144) thread_id(144) + hipMalloc correlation_id(477) time_ns(3815035995503045:3815035995587746) process_id(144) thread_id(144) + CopyHostToDevice correlation_id(478) time_ns(3815035995610926:3815035997220080) device_id(0) queue_id(0) bytes(0x0) + (null) correlation_id(478) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(478) time_ns(3815035995590126:3815035997231821) process_id(144) thread_id(144) + (null) correlation_id(479) time_ns(0:0) external_id(33) + __hipPushCallConfiguration correlation_id(479) time_ns(3815035997248361:3815035997254591) process_id(144) thread_id(144) + (null) correlation_id(480) time_ns(0:0) external_id(33) + __hipPopCallConfiguration correlation_id(480) time_ns(3815035997266421:3815035997271341) process_id(144) thread_id(144) + (null) correlation_id(481) time_ns(0:0) external_id(33) + hipLaunchKernel correlation_id(481) time_ns(3815035997274101:3815035997287001) process_id(144) thread_id(144) + KernelExecution correlation_id(481) time_ns(3815035997321363:3815035998498164) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(482) time_ns(3815035997299681:3815035999834534) device_id(0) queue_id(0) bytes(0x0) + (null) correlation_id(482) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(482) time_ns(3815035997290421:3815035999861284) process_id(144) thread_id(144) + (null) correlation_id(483) time_ns(0:0) external_id(31) + hipFree correlation_id(483) time_ns(3815036007136258:3815036007226569) process_id(144) thread_id(144) + (null) correlation_id(484) time_ns(0:0) external_id(31) + hipFree correlation_id(484) time_ns(3815036007229029:3815036007260299) process_id(144) thread_id(144) + hipSetDevice correlation_id(485) time_ns(3815036019568149:3815036019592529) process_id(144) thread_id(144) + hipGetDeviceProperties correlation_id(486) time_ns(3815036019595139:3815036019601759) process_id(144) thread_id(144) + hipMalloc correlation_id(487) time_ns(3815036019966983:3815036020145094) process_id(144) thread_id(144) + hipMalloc correlation_id(488) time_ns(3815036020147234:3815036020221425) process_id(144) thread_id(144) + CopyHostToDevice correlation_id(489) time_ns(3815036020245445:3815036021868760) device_id(0) queue_id(0) bytes(0x0) + (null) correlation_id(489) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(489) time_ns(3815036020224045:3815036021880560) process_id(144) thread_id(144) + (null) correlation_id(490) time_ns(0:0) external_id(33) + __hipPushCallConfiguration correlation_id(490) time_ns(3815036021898800:3815036021910070) process_id(144) thread_id(144) + (null) correlation_id(491) time_ns(0:0) external_id(33) + __hipPopCallConfiguration correlation_id(491) time_ns(3815036021912290:3815036021925780) process_id(144) thread_id(144) + (null) correlation_id(492) time_ns(0:0) external_id(33) + hipLaunchKernel correlation_id(492) time_ns(3815036021928430:3815036021940341) process_id(144) thread_id(144) + KernelExecution correlation_id(492) time_ns(3815036021980099:3815036023189939) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(493) time_ns(3815036021957941:3815036024505314) device_id(0) queue_id(0) bytes(0x0) + (null) correlation_id(493) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(493) time_ns(3815036021943261:3815036024530254) process_id(144) thread_id(144) + (null) correlation_id(494) time_ns(0:0) external_id(31) + hipFree correlation_id(494) time_ns(3815036031792188:3815036031883219) process_id(144) thread_id(144) + (null) correlation_id(495) time_ns(0:0) external_id(31) + hipFree correlation_id(495) time_ns(3815036031885709:3815036031920079) process_id(144) thread_id(144) + hipSetDevice correlation_id(496) time_ns(3815036044291390:3815036044316640) process_id(144) thread_id(144) + hipGetDeviceProperties correlation_id(497) time_ns(3815036044319410:3815036044340110) process_id(144) thread_id(144) + hipMalloc correlation_id(498) time_ns(3815036044702103:3815036044835195) process_id(144) thread_id(144) + hipMalloc correlation_id(499) time_ns(3815036044837225:3815036044906505) process_id(144) thread_id(144) + CopyHostToDevice correlation_id(500) time_ns(3815036044929055:3815036046543050) device_id(0) queue_id(0) bytes(0x0) + (null) correlation_id(500) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(500) time_ns(3815036044908975:3815036046561460) process_id(144) thread_id(144) + (null) correlation_id(501) time_ns(0:0) external_id(33) + __hipPushCallConfiguration correlation_id(501) time_ns(3815036046567520:3815036046582870) process_id(144) thread_id(144) + (null) correlation_id(502) time_ns(0:0) external_id(33) + __hipPopCallConfiguration correlation_id(502) time_ns(3815036046585120:3815036046592780) process_id(144) thread_id(144) + (null) correlation_id(503) time_ns(0:0) external_id(33) + hipLaunchKernel correlation_id(503) time_ns(3815036046594980:3815036046616760) process_id(144) thread_id(144) + KernelExecution correlation_id(503) time_ns(3815036046637357:3815036047828085) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(504) time_ns(3815036046639271:3815036049164323) device_id(0) queue_id(0) bytes(0x0) PASSED! - ptr(0x902000000) - - - - - - ptr(0x902800000) - - - - - + + + ptr(0x7f2e7ae00000) + + + + + + + + + + ptr(0x7f2e7a800000) + + + + + + + # START (8) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (7) ############################# - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - ptr(0x7fff85b97a98) size(0x400000) - - - - - *ptr(0x0x902000000) - ptr(0x7fff85b97a90) size(0x400000) - - - - - *ptr(0x0x902800000) - dst(0x902000000) src(0x7fd3c6c21010) size(0x400000) kind(1) - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - dst(0x7fd3d4d37010) src(0x902800000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + +Device 0 name: Device 687f + + + ptr(0x7ffe270aa780) size(0x400000) + + + + + *ptr(0x0x7f2e7ae00000) + + + + + ptr(0x7ffe270aa778) size(0x400000) + + + + + *ptr(0x0x7f2e7a800000) + + + + + dst(0x7f2e7ae00000) src(0x266df00) size(0x400000) kind(1) + + + + + + + + + + + + +rocTX <"before hipLaunchKernel pid(144) tid(144)"> +rocTX <"hipLaunchKernel pid(144) tid(144)"> + + + + +<__hipPushCallConfiguration id(46) correlation_id(512) on-enter pid(144) tid(144)> +<__hipPushCallConfiguration id(46) correlation_id(512) on-exit pid(144) tid(144)> + + + + +<__hipPopCallConfiguration id(171) correlation_id(513) on-enter pid(144) tid(144)> +<__hipPopCallConfiguration id(171) correlation_id(513) on-exit pid(144) tid(144)> + + + + + + + + + +rocTX <"after hipLaunchKernel pid(144) tid(144)"> +rocTX <"hipMemcpy pid(144) tid(144)"> + + + dst(0x2a6df10) src(0x7f2e7a800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + +rocTX <"(null) pid(144) tid(144)"> +rocTX <"(null) pid(144) tid(144)"> + + + + PASSED! - ptr(0x902000000) - - - - - - ptr(0x902800000) - - - - - + + + ptr(0x7f2e7ae00000) + + + + + + + + + + ptr(0x7f2e7a800000) + + + + + + + # START (6) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (5) ############################# - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - ptr(0x7fff85b97a98) size(0x400000) - - - - - *ptr(0x0x902000000) - ptr(0x7fff85b97a90) size(0x400000) - - - - - *ptr(0x0x902800000) - dst(0x902000000) src(0x7fd3c6c21010) size(0x400000) kind(1) - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - dst(0x7fd3d4d37010) src(0x902800000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + +Device 0 name: Device 687f + + + ptr(0x7ffe270aa780) size(0x400000) + + + + + *ptr(0x0x7f2e7ae00000) + + + + + ptr(0x7ffe270aa778) size(0x400000) + + + + + *ptr(0x0x7f2e7a800000) + + + + + dst(0x7f2e7ae00000) src(0x266df00) size(0x400000) kind(1) + + + + + + + + + + + + +rocTX <"before hipLaunchKernel pid(144) tid(144)"> +rocTX <"hipLaunchKernel pid(144) tid(144)"> + + + + +<__hipPushCallConfiguration id(46) correlation_id(523) on-enter pid(144) tid(144)> +<__hipPushCallConfiguration id(46) correlation_id(523) on-exit pid(144) tid(144)> + + + + +<__hipPopCallConfiguration id(171) correlation_id(524) on-enter pid(144) tid(144)> +<__hipPopCallConfiguration id(171) correlation_id(524) on-exit pid(144) tid(144)> + + + + + + + + + +rocTX <"after hipLaunchKernel pid(144) tid(144)"> +rocTX <"hipMemcpy pid(144) tid(144)"> + + + dst(0x2a6df10) src(0x7f2e7a800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + +rocTX <"(null) pid(144) tid(144)"> +rocTX <"(null) pid(144) tid(144)"> + + + + PASSED! - ptr(0x902000000) - - - - - - ptr(0x902800000) - - - - - + + + ptr(0x7f2e7ae00000) + + + + + + + + + + ptr(0x7f2e7a800000) + + + + + + + # START (4) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (3) ############################# - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - ptr(0x7fff85b97a98) size(0x400000) - - - - - *ptr(0x0x902000000) - ptr(0x7fff85b97a90) size(0x400000) - - - - - *ptr(0x0x902800000) - dst(0x902000000) src(0x7fd3c6c21010) size(0x400000) kind(1) - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - dst(0x7fd3d4d37010) src(0x902800000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + +Device 0 name: Device 687f + + + ptr(0x7ffe270aa780) size(0x400000) + + + + + *ptr(0x0x7f2e7ae00000) + + + + + ptr(0x7ffe270aa778) size(0x400000) + + + + + *ptr(0x0x7f2e7a800000) + + + + + dst(0x7f2e7ae00000) src(0x266df00) size(0x400000) kind(1) + + + + + + + + + + + + +rocTX <"before hipLaunchKernel pid(144) tid(144)"> +rocTX <"hipLaunchKernel pid(144) tid(144)"> + + +<__hipPushCallConfiguration id(46) correlation_id(534) on-enter pid(144) tid(144)> +<__hipPushCallConfiguration id(46) correlation_id(534) on-exit pid(144) tid(144)> + + + + + + +<__hipPopCallConfiguration id(171) correlation_id(535) on-enter pid(144) tid(144)> +<__hipPopCallConfiguration id(171) correlation_id(535) on-exit pid(144) tid(144)> + + + + + + + + +rocTX <"after hipLaunchKernel pid(144) tid(144)"> +rocTX <"hipMemcpy pid(144) tid(144)"> + + + dst(0x2a6df10) src(0x7f2e7a800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + +rocTX <"(null) pid(144) tid(144)"> +rocTX <"(null) pid(144) tid(144)"> + + + Activity records: + (null) correlation_id(504) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(504) time_ns(3815036046625250:3815036049182923) process_id(144) thread_id(144) + + (null) correlation_id(505) time_ns(0:0) external_id(31) + hipFree correlation_id(505) time_ns(3815036056473418:3815036056565639) process_id(144) thread_id(144) + (null) correlation_id(506) time_ns(0:0) external_id(31) + hipFree correlation_id(506) time_ns(3815036056567929:3815036056598690) process_id(144) thread_id(144) + hipSetDevice correlation_id(507) time_ns(3815036068912469:3815036068937580) process_id(144) thread_id(144) + hipGetDeviceProperties correlation_id(508) time_ns(3815036068940250:3815036068946510) process_id(144) thread_id(144) + hipMalloc correlation_id(509) time_ns(3815036069314723:3815036069463214) process_id(144) thread_id(144) + hipMalloc correlation_id(510) time_ns(3815036069465214:3815036069550295) process_id(144) thread_id(144) + CopyHostToDevice correlation_id(511) time_ns(3815036069574635:3815036071190080) device_id(0) queue_id(0) bytes(0x0) + (null) correlation_id(511) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(511) time_ns(3815036069552885:3815036071208420) process_id(144) thread_id(144) + (null) correlation_id(512) time_ns(0:0) external_id(33) + __hipPushCallConfiguration correlation_id(512) time_ns(3815036071213940:3815036071229220) process_id(144) thread_id(144) + (null) correlation_id(513) time_ns(0:0) external_id(33) + __hipPopCallConfiguration correlation_id(513) time_ns(3815036071231500:3815036071235850) process_id(144) thread_id(144) + (null) correlation_id(514) time_ns(0:0) external_id(33) + hipLaunchKernel correlation_id(514) time_ns(3815036071238060:3815036071251050) process_id(144) thread_id(144) + KernelExecution correlation_id(514) time_ns(3815036071297148:3815036072499284) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(515) time_ns(3815036071291341:3815036073825393) device_id(0) queue_id(0) bytes(0x0) + (null) correlation_id(515) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(515) time_ns(3815036071264080:3815036073844373) process_id(144) thread_id(144) + (null) correlation_id(516) time_ns(0:0) external_id(31) + hipFree correlation_id(516) time_ns(3815036081125628:3815036081211679) process_id(144) thread_id(144) + (null) correlation_id(517) time_ns(0:0) external_id(31) + hipFree correlation_id(517) time_ns(3815036081214249:3815036081244899) process_id(144) thread_id(144) + hipSetDevice correlation_id(518) time_ns(3815036093546159:3815036093571219) process_id(144) thread_id(144) + hipGetDeviceProperties correlation_id(519) time_ns(3815036093573759:3815036093592309) process_id(144) thread_id(144) + hipMalloc correlation_id(520) time_ns(3815036093959743:3815036094108654) process_id(144) thread_id(144) + hipMalloc correlation_id(521) time_ns(3815036094110494:3815036094182175) process_id(144) thread_id(144) + CopyHostToDevice correlation_id(522) time_ns(3815036094205995:3815036095828529) device_id(0) queue_id(0) bytes(0x0) + (null) correlation_id(522) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(522) time_ns(3815036094184515:3815036095847300) process_id(144) thread_id(144) + (null) correlation_id(523) time_ns(0:0) external_id(33) + __hipPushCallConfiguration correlation_id(523) time_ns(3815036095853490:3815036095868410) process_id(144) thread_id(144) + (null) correlation_id(524) time_ns(0:0) external_id(33) + __hipPopCallConfiguration correlation_id(524) time_ns(3815036095870640:3815036095875120) process_id(144) thread_id(144) + (null) correlation_id(525) time_ns(0:0) external_id(33) + hipLaunchKernel correlation_id(525) time_ns(3815036095877730:3815036095896330) process_id(144) thread_id(144) + KernelExecution correlation_id(525) time_ns(3815036095920741:3815036097116802) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(526) time_ns(3815036095919000:3815036098452223) device_id(0) queue_id(0) bytes(0x0) + (null) correlation_id(526) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(526) time_ns(3815036095900120:3815036098469623) process_id(144) thread_id(144) + (null) correlation_id(527) time_ns(0:0) external_id(31) + hipFree correlation_id(527) time_ns(3815036105755527:3815036105844978) process_id(144) thread_id(144) + (null) correlation_id(528) time_ns(0:0) external_id(31) + hipFree correlation_id(528) time_ns(3815036105847448:3815036105876338) process_id(144) thread_id(144) + hipSetDevice correlation_id(529) time_ns(3815036118201588:3815036118239839) process_id(144) thread_id(144) + hipGetDeviceProperties correlation_id(530) time_ns(3815036118242369:3815036118248409) process_id(144) thread_id(144) + hipMalloc correlation_id(531) time_ns(3815036118611112:3815036119064706) process_id(144) thread_id(144) + hipMalloc correlation_id(532) time_ns(3815036119066826:3815036119138937) process_id(144) thread_id(144) + CopyHostToDevice correlation_id(533) time_ns(3815036119175937:3815036120782961) device_id(0) queue_id(0) bytes(0x0) + (null) correlation_id(533) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(533) time_ns(3815036119141267:3815036120793202) process_id(144) thread_id(144) + (null) correlation_id(534) time_ns(0:0) external_id(33) + __hipPushCallConfiguration correlation_id(534) time_ns(3815036120809852:3815036120820852) process_id(144) thread_id(144) + (null) correlation_id(535) time_ns(0:0) external_id(33) + __hipPopCallConfiguration correlation_id(535) time_ns(3815036120823102:3815036120838312) process_id(144) thread_id(144) + (null) correlation_id(536) time_ns(0:0) external_id(33) + hipLaunchKernel correlation_id(536) time_ns(3815036120840772:3815036120853162) process_id(144) thread_id(144) + KernelExecution correlation_id(536) time_ns(3815036120891727:3815036122084084) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(537) time_ns(3815036120869332:3815036123418455) device_id(0) queue_id(0) bytes(0x0) + (null) correlation_id(537) time_ns(0:0) external_id(32) PASSED! - ptr(0x902000000) - - - - - - ptr(0x902800000) - - - - - + + + ptr(0x7f2e7ae00000) + + + + + + + + + + ptr(0x7f2e7a800000) + + + + + + + # START (2) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (1) ############################# - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - ptr(0x7fff85b97a98) size(0x400000) - - - - - *ptr(0x0x902000000) - ptr(0x7fff85b97a90) size(0x400000) - - - - - *ptr(0x0x902800000) - dst(0x902000000) src(0x7fd3c6c21010) size(0x400000) kind(1) - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - dst(0x7fd3d4d37010) src(0x902800000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + +Device 0 name: Device 687f + + + ptr(0x7ffe270aa780) size(0x400000) + + + + + *ptr(0x0x7f2e7ae00000) + + + + + ptr(0x7ffe270aa778) size(0x400000) + + + + + *ptr(0x0x7f2e7a800000) + + + + + dst(0x7f2e7ae00000) src(0x266df00) size(0x400000) kind(1) + + + + + + + + + + + + +rocTX <"before hipLaunchKernel pid(144) tid(144)"> +rocTX <"hipLaunchKernel pid(144) tid(144)"> + + +<__hipPushCallConfiguration id(46) correlation_id(545) on-enter pid(144) tid(144)> +<__hipPushCallConfiguration id(46) correlation_id(545) on-exit pid(144) tid(144)> + + + + + + +<__hipPopCallConfiguration id(171) correlation_id(546) on-enter pid(144) tid(144)> +<__hipPopCallConfiguration id(171) correlation_id(546) on-exit pid(144) tid(144)> + + + + + + + + + +rocTX <"after hipLaunchKernel pid(144) tid(144)"> +rocTX <"hipMemcpy pid(144) tid(144)"> + + + dst(0x2a6df10) src(0x7f2e7a800000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + +rocTX <"(null) pid(144) tid(144)"> +rocTX <"(null) pid(144) tid(144)"> + + + PASSED! - ptr(0x902000000) - - - - - - ptr(0x902800000) - - - - - + + + ptr(0x7f2e7ae00000) + + + + + + + + + + ptr(0x7f2e7a800000) + + + + + + + # START (0) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! Activity records: - hcCommandKernel correlation_id(294) time_ns(3051996184308280:3051996186150682) device_id(0) queue_id(0) - hcCommandMarker correlation_id(295) time_ns(3051996186153598:3051996186185598) device_id(0) queue_id(0) - hcCommandKernel correlation_id(303) time_ns(3051996225060095:3051996226893857) device_id(0) queue_id(0) - hcCommandMarker correlation_id(304) time_ns(3051996226896741:3051996226929221) device_id(0) queue_id(0) - hcCommandKernel correlation_id(312) time_ns(3051996266004624:3051996267839186) device_id(0) queue_id(0) - hcCommandMarker correlation_id(313) time_ns(3051996267842262:3051996267873622) device_id(0) queue_id(0) - hcCommandKernel correlation_id(321) time_ns(3051996306667810:3051996308511172) device_id(0) queue_id(0) - hcCommandMarker correlation_id(322) time_ns(3051996308514189:3051996308546509) device_id(0) queue_id(0) - hcCommandKernel correlation_id(330) time_ns(3051996347490041:3051996349327803) device_id(0) queue_id(0) - hcCommandMarker correlation_id(331) time_ns(3051996349330698:3051996349362378) device_id(0) queue_id(0) - hcCommandKernel correlation_id(339) time_ns(3051996388335493:3051996390179655) device_id(0) queue_id(0) - hcCommandMarker correlation_id(340) time_ns(3051996390182748:3051996390214908) device_id(0) queue_id(0) - hcCommandKernel correlation_id(348) time_ns(3051996429304336:3051996431155538) device_id(0) queue_id(0) - hcCommandMarker correlation_id(349) time_ns(3051996431158720:3051996431190080) device_id(0) queue_id(0) - hcCommandKernel correlation_id(357) time_ns(3051996468763730:3051996469253010) device_id(0) queue_id(0) - hcCommandMarker correlation_id(358) time_ns(3051996469255974:3051996469262694) device_id(0) queue_id(0) - hcCommandKernel correlation_id(366) time_ns(3051996506831264:3051996507319744) device_id(0) queue_id(0) - hcCommandMarker correlation_id(367) time_ns(3051996507322758:3051996507329638) device_id(0) queue_id(0) - hcCommandKernel correlation_id(375) time_ns(3051996544783270:3051996545264070) device_id(0) queue_id(0) - hcCommandMarker correlation_id(376) time_ns(3051996545267287:3051996545274007) device_id(0) queue_id(0) - hcCommandKernel correlation_id(384) time_ns(3051996583007702:3051996583501142) device_id(0) queue_id(0) - hcCommandMarker correlation_id(385) time_ns(3051996583504090:3051996583510810) device_id(0) queue_id(0) - hcCommandKernel correlation_id(393) time_ns(3051996621035144:3051996621520104) device_id(0) queue_id(0) - hcCommandMarker correlation_id(394) time_ns(3051996621522965:3051996621529525) device_id(0) queue_id(0) - hcCommandKernel correlation_id(402) time_ns(3051996659024927:3051996659511327) device_id(0) queue_id(0) - hcCommandMarker correlation_id(403) time_ns(3051996659514133:3051996659520693) device_id(0) queue_id(0) - hcCommandKernel correlation_id(411) time_ns(3051996696776640:3051996697261120) device_id(0) queue_id(0) - hcCommandMarker correlation_id(412) time_ns(3051996697264004:3051996697270564) device_id(0) queue_id(0) - hcCommandKernel correlation_id(420) time_ns(3051996735008284:3051996735507164) device_id(0) queue_id(0) - hcCommandMarker correlation_id(421) time_ns(3051996735510106:3051996735516826) device_id(0) queue_id(0) - hcCommandKernel correlation_id(429) time_ns(3051996772845718:3051996773331958) device_id(0) queue_id(0) - hcCommandMarker correlation_id(430) time_ns(3051996773334854:3051996773341254) device_id(0) queue_id(0) - hcCommandKernel correlation_id(438) time_ns(3051996811089785:3051996812940667) device_id(0) queue_id(0) - hcCommandMarker correlation_id(439) time_ns(3051996812943536:3051996812975376) device_id(0) queue_id(0) - hcCommandKernel correlation_id(447) time_ns(3051996852002198:3051996853849400) device_id(0) queue_id(0) - hcCommandMarker correlation_id(448) time_ns(3051996853852333:3051996853884653) device_id(0) queue_id(0) + hipMemcpy correlation_id(537) time_ns(3815036120856432:3815036123437026) process_id(144) thread_id(144) + (null) correlation_id(538) time_ns(0:0) external_id(31) + hipFree correlation_id(538) time_ns(3815036130722150:3815036130810701) process_id(144) thread_id(144) + (null) correlation_id(539) time_ns(0:0) external_id(31) + hipFree correlation_id(539) time_ns(3815036130812901:3815036130847951) process_id(144) thread_id(144) + hipSetDevice correlation_id(540) time_ns(3815036143160341:3815036143184391) process_id(144) thread_id(144) + hipGetDeviceProperties correlation_id(541) time_ns(3815036143187041:3815036143193641) process_id(144) thread_id(144) + hipMalloc correlation_id(542) time_ns(3815036143557975:3815036143718166) process_id(144) thread_id(144) + hipMalloc correlation_id(543) time_ns(3815036143720206:3815036143791157) process_id(144) thread_id(144) + CopyHostToDevice correlation_id(544) time_ns(3815036143814317:3815036145435511) device_id(0) queue_id(0) bytes(0x0) + (null) correlation_id(544) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(544) time_ns(3815036143793697:3815036145447301) process_id(144) thread_id(144) + (null) correlation_id(545) time_ns(0:0) external_id(33) + __hipPushCallConfiguration correlation_id(545) time_ns(3815036145463922:3815036145481102) process_id(144) thread_id(144) + (null) correlation_id(546) time_ns(0:0) external_id(33) + __hipPopCallConfiguration correlation_id(546) time_ns(3815036145483422:3815036145488132) process_id(144) thread_id(144) + (null) correlation_id(547) time_ns(0:0) external_id(33) + hipLaunchKernel correlation_id(547) time_ns(3815036145490412:3815036145506322) process_id(144) thread_id(144) + KernelExecution correlation_id(547) time_ns(3815036145539810:3815036146741501) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(548) time_ns(3815036145537902:3815036148077515) device_id(0) queue_id(0) bytes(0x0) + (null) correlation_id(548) time_ns(0:0) external_id(32) + hipMemcpy correlation_id(548) time_ns(3815036145523682:3815036148102905) process_id(144) thread_id(144) + (null) correlation_id(549) time_ns(0:0) external_id(31) + hipFree correlation_id(549) time_ns(3815036155377150:3815036155466301) process_id(144) thread_id(144) + (null) correlation_id(550) time_ns(0:0) external_id(31) + hipFree correlation_id(550) time_ns(3815036155468681:3815036155500411) process_id(144) thread_id(144) # STOP ############################# - diff --git a/test/golden_traces/MatrixTranspose_kfd_trace.txt b/test/golden_traces/MatrixTranspose_kfd_trace.txt index 3116d214e2..c66a0e6ea5 100644 --- a/test/golden_traces/MatrixTranspose_kfd_trace.txt +++ b/test/golden_traces/MatrixTranspose_kfd_trace.txt @@ -1,1209 +1,2839 @@ -ROCTracer (pid=14428): ++ LD_PRELOAD=libkfdwrapper64.so ./test/MatrixTranspose +ROCTracer (pid=1963): KFD-trace() -1711656274683283:1711656274688056 14428:14428 hsaKmtFreeMemory(, ) = 0 -1711656274705718:1711656274710339 14428:14428 hsaKmtUnmapMemoryToGPU() = 0 -1711656274713261:1711656274722541 14428:14428 hsaKmtFreeMemory(, ) = 0 -1711656274725424:1711656274728029 14428:14428 hsaKmtUnmapMemoryToGPU() = 0 -1711656274729886:1711656274735482 14428:14428 hsaKmtFreeMemory(, ) = 0 -1711656274742034:1711656274744305 14428:14428 hsaKmtSetEvent() = 0 -1711656274809211:1711656274811129 14428:14428 hsaKmtDestroyEvent() = 0 -1711656274816568:1711656274821175 14428:14428 hsaKmtUnmapMemoryToGPU() = 0 -1711656274823354:1711656274834528 14428:14428 hsaKmtFreeMemory(, ) = 0 -1711656274837339:1711656274838199 14428:14428 hsaKmtDestroyEvent() = 0 -ROCTracer (pid=14428): - KFD-trace() -1711656290453097:1711656290523908 14428:14428 hsaKmtAllocMemory(, , ) = 0 -1711656290537326:1711656290538147 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711656290541399:1711656290550239 14428:14428 hsaKmtMapMemoryToGPUNodes(, , , , , ) = 0 -1711656290565327:1711656291046996 14428:14428 hsaKmtAllocMemory(, , ) = 0 -1711656291051511:1711656291052178 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711656291054575:1711656291077326 14428:14428 hsaKmtMapMemoryToGPUNodes(, , , , , ) = 0 -1711656291082185:1711656291083612 14428:14428 hsaKmtCreateEvent(, , , ) = 0 -1711656291087552:1711656291088453 14428:14428 hsaKmtCreateEvent(, , , ) = 0 -1711656291090542:1711656291564577 14428:14428 hsaKmtAllocMemory(, , ) = 0 -1711656291568119:1711656291568666 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711656291570701:1711656291590288 14428:14428 hsaKmtMapMemoryToGPUNodes(, , , , , ) = 0 -1711656291593364:1711656291594542 14428:14428 hsaKmtCreateEvent(, , , ) = 0 -1711656291596549:1711656291597524 14428:14428 hsaKmtCreateEvent(, , , ) = 0 -1711656291601574:1711656292083059 14428:14428 hsaKmtAllocMemory(, , ) = 0 -1711656292086825:1711656292087354 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711656292089305:1711656292109580 14428:14428 hsaKmtMapMemoryToGPUNodes(, , , , , ) = 0 -1711656292112482:1711656292113580 14428:14428 hsaKmtCreateEvent(, , , ) = 0 -1711656292115562:1711656292116410 14428:14428 hsaKmtCreateEvent(, , , ) = 0 -1711656292118335:1711656292591935 14428:14428 hsaKmtAllocMemory(, , ) = 0 -1711656292595443:1711656292595945 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711656292597821:1711656292617813 14428:14428 hsaKmtMapMemoryToGPUNodes(, , , , , ) = 0 -1711656292620669:1711656292621745 14428:14428 hsaKmtCreateEvent(, , , ) = 0 -1711656292623703:1711656292624504 14428:14428 hsaKmtCreateEvent(, , , ) = 0 -1711656292634500:1711656292640319 14428:14428 hsaKmtRegisterMemoryWithFlags(, , ) = 0 -1711656292642705:1711656292654960 14428:14428 hsaKmtMapMemoryToGPUNodes(, , , , , ) = 0 -1711656292714317:1711656292716163 14428:14428 hsaKmtGetTileConfig(, ) = 0 -Device name Ellesmere [Radeon RX 470/480/570/570X/580/580X] -1711656294972765:1711656294991098 14428:14428 hsaKmtAllocMemory(, , ) = 0 -1711656294996100:1711656295013418 14428:14428 hsaKmtMapMemoryToGPUNodes(, , , , , ) = 0 -1711656295020532:1711656295026578 14428:14428 hsaKmtAllocMemory(, , ) = 0 -1711656295029067:1711656295042840 14428:14428 hsaKmtMapMemoryToGPUNodes(, , , , , ) = 0 +3802694735152486:3802694735153246 1963:1963 hsaKmtGetClockCounters(, ) = 0 +3802694735152956 +3802694738539001:3802694738541771 1963:1963 hsaKmtGetTileConfig(, ) = 0 +3802694738601732:3802694738640002 1963:1963 hsaKmtAllocMemory(, , ) = 0 +3802694738646482:3802694738647342 1963:1963 hsaKmtQueryPointerInfo(0x7f7207ad6000, ) = 0 +3802694738652032:3802694738968704 1963:1963 hsaKmtMapMemoryToGPUNodes(0x7f7207ad6000, , , , , ) = 0 +3802694738974514:3802694739171556 1963:1963 hsaKmtAllocMemory(, , ) = 0 +3802694739175046:3802694739175616 1963:1963 hsaKmtQueryPointerInfo(0x7f706ab00000, ) = 0 +3802694739177546:3802694739300147 1963:1963 hsaKmtMapMemoryToGPUNodes(0x7f706ab00000, , , , , ) = 0 +3802694739305547:3802694739497408 1963:1963 hsaKmtAllocMemory(, , ) = 0 +3802694739500718:3802694739501248 1963:1963 hsaKmtQueryPointerInfo(0x7f706a900000, ) = 0 +3802694739503338:3802694739603359 1963:1963 hsaKmtMapMemoryToGPUNodes(0x7f706a900000, , , , , ) = 0 +3802694739610209:3802694739613579 1963:1963 hsaKmtCreateEvent(, , , ) = 0 +Device name Device 687f +3802694740730717:3802694740752708 1963:1963 hsaKmtAllocMemory(, , ) = 0 +3802694740756768:3802694740842988 1963:1963 hsaKmtMapMemoryToGPUNodes(0x7f7069800000, , , , , ) = 0 +3802694740848718:3802694740858388 1963:1963 hsaKmtAllocMemory(, , ) = 0 +3802694740860548:3802694740911209 1963:1963 hsaKmtMapMemoryToGPUNodes(0x7f7069200000, , , , , ) = 0 ## Iteration (99) ################# -1711656295061933:1711656295062724 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711656295065460:1711656295066077 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 -1711656295083138:1711656295567582 14428:14428 hsaKmtAllocMemory(, , ) = 0 -1711656295570915:1711656295587199 14428:14428 hsaKmtMapMemoryToGPUNodes(, , , , , ) = 0 -1711656295593109:1711656295594779 14428:14428 hsaKmtCreateEvent(, , , ) = 0 -1711656295988404:1711656296036734 14428:14428 hsaKmtAllocMemory(, , ) = 0 -1711656296040894:1711656296049163 14428:14428 hsaKmtMapMemoryToGPUNodes(, , , , , ) = 0 -1711656296052882:1711656296091449 14428:14428 hsaKmtAllocMemory(, , ) = 0 -1711656296094246:1711656296103224 14428:14428 hsaKmtMapMemoryToGPUNodes(, , , , , ) = 0 -1711656296116104:1711656296125207 14428:14428 hsaKmtAllocMemory(, , ) = 0 -1711656296129076:1711656296130227 14428:14428 hsaKmtRegisterMemoryToNodes(, , , ) = 0 -1711656296132544:1711656296140026 14428:14428 hsaKmtMapMemoryToGPU(, , ) = 0 -1711656296143006:1711656296143878 14428:14428 hsaKmtGetNodeProperties(, ) = 0 -1711656296146211:1711656296152930 14428:14428 hsaKmtAllocMemory(, , ) = 0 -1711656296155159:1711656296155796 14428:14428 hsaKmtRegisterMemoryToNodes(, , , ) = 0 -1711656296157762:1711656296165465 14428:14428 hsaKmtMapMemoryToGPU(, , ) = 0 -1711656296167526:1711656296168074 14428:14428 hsaKmtGetNodeProperties(, ) = 0 -1711656296169868:1711656297649482 14428:14428 hsaKmtAllocMemory(, , ) = 0 -1711656297657999:1711656297659158 14428:14428 hsaKmtRegisterMemoryToNodes(, , , ) = 0 -1711656297661692:1711656297697930 14428:14428 hsaKmtMapMemoryToGPU(, , ) = 0 -1711656297661692:1711656300911064 14428:14428 hsaKmtCreateQueue(, , , , , , , ) = 0 -1711656300915605:1711656300917993 14428:14428 hsaKmtCreateEvent(, , , ) = 0 -1711656300922125:1711656300925758 14428:14428 hsaKmtSetEvent() = 0 -1711656300927823:1711656300941191 14428:14428 hsaKmtAllocMemory(, , ) = 0 -1711656300943856:1711656300951408 14428:14428 hsaKmtMapMemoryToGPUNodes(, , , , , ) = 0 -1711656300957132:1711656300958166 14428:14428 hsaKmtCreateEvent(, , , ) = 0 -1711656300960252:1711656301011563 14428:14428 hsaKmtAllocMemory(, , ) = 0 -1711656301013892:1711656301021348 14428:14428 hsaKmtMapMemoryToGPUNodes(, , , , , ) = 0 -1711656301026653:1711656301034568 14428:14428 hsaKmtAllocMemory(, , ) = 0 -1711656301036945:1711656301043796 14428:14428 hsaKmtMapMemoryToGPUNodes(, , , , , ) = 0 -1711656301051804:1711656301059230 14428:14428 hsaKmtAllocMemory(, , ) = 0 -1711656301061612:1711656301068651 14428:14428 hsaKmtMapMemoryToGPUNodes(, , , , , ) = 0 -1711656301072443:1711656301079861 14428:14428 hsaKmtAllocMemory(, , ) = 0 -1711656301082194:1711656301089098 14428:14428 hsaKmtMapMemoryToGPUNodes(, , , , , ) = 0 -1711656564014284:1711656564043702 14428:14428 hsaKmtAllocMemory(, , ) = 0 -1711656564050880:1711656564071487 14428:14428 hsaKmtMapMemoryToGPUNodes(, , , , , ) = 0 -1711656564082714:1711656564103006 14428:14428 hsaKmtAllocMemory(, , ) = 0 -1711656564106100:1711656564124492 14428:14428 hsaKmtMapMemoryToGPUNodes(, , , , , ) = 0 -1711656564265860:1711656564279550 14428:14428 hsaKmtAllocMemory(, , ) = 0 -1711656564283178:1711656564291456 14428:14428 hsaKmtMapMemoryToGPUNodes(, , , , , ) = 0 -1711656564385556:1711656564406999 14428:14428 hsaKmtAllocMemory(, , ) = 0 -1711656564410415:1711656564418395 14428:14428 hsaKmtMapMemoryToGPUNodes(, , , , , ) = 0 -1711656564503051:1711656564515001 14428:14428 hsaKmtAllocMemory(, , ) = 0 -1711656564518393:1711656564526285 14428:14428 hsaKmtMapMemoryToGPUNodes(, , , , , ) = 0 -1711656564609932:1711656564621286 14428:14428 hsaKmtAllocMemory(, , ) = 0 -1711656564624539:1711656564632394 14428:14428 hsaKmtMapMemoryToGPUNodes(, , , , , ) = 0 -1711656564716364:1711656564727716 14428:14428 hsaKmtAllocMemory(, , ) = 0 -1711656564731059:1711656564739665 14428:14428 hsaKmtMapMemoryToGPUNodes(, , , , , ) = 0 -1711656564822840:1711656564834116 14428:14428 hsaKmtAllocMemory(, , ) = 0 -1711656564837414:1711656564845351 14428:14428 hsaKmtMapMemoryToGPUNodes(, , , , , ) = 0 -1711656564914976:1711656564927027 14428:14428 hsaKmtAllocMemory(, , ) = 0 -1711656564930376:1711656564938392 14428:14428 hsaKmtMapMemoryToGPUNodes(, , , , , ) = 0 -1711656564998464:1711656565010382 14428:14428 hsaKmtAllocMemory(, , ) = 0 -1711656565013907:1711656565021915 14428:14428 hsaKmtMapMemoryToGPUNodes(, , , , , ) = 0 -1711656565092755:1711656565106165 14428:14428 hsaKmtAllocMemory(, , ) = 0 -1711656565109513:1711656565117425 14428:14428 hsaKmtMapMemoryToGPUNodes(, , , , , ) = 0 -1711656565196706:1711656565209126 14428:14428 hsaKmtAllocMemory(, , ) = 0 -1711656565212623:1711656565220600 14428:14428 hsaKmtMapMemoryToGPUNodes(, , , , , ) = 0 -1711656565280911:1711656565292143 14428:14428 hsaKmtAllocMemory(, , ) = 0 -1711656565295537:1711656565303354 14428:14428 hsaKmtMapMemoryToGPUNodes(, , , , , ) = 0 -1711656565365962:1711656565378091 14428:14428 hsaKmtAllocMemory(, , ) = 0 -1711656565381352:1711656565389132 14428:14428 hsaKmtMapMemoryToGPUNodes(, , , , , ) = 0 -1711656565454869:1711656565467356 14428:14428 hsaKmtAllocMemory(, , ) = 0 -1711656565470687:1711656565478965 14428:14428 hsaKmtMapMemoryToGPUNodes(, , , , , ) = 0 -1711656565540719:1711656565553029 14428:14428 hsaKmtAllocMemory(, , ) = 0 -1711656565556486:1711656565564360 14428:14428 hsaKmtMapMemoryToGPUNodes(, , , , , ) = 0 -1711656565625743:1711656565637389 14428:14428 hsaKmtAllocMemory(, , ) = 0 -1711656565640584:1711656565648858 14428:14428 hsaKmtMapMemoryToGPUNodes(, , , , , ) = 0 -1711656565709322:1711656565720540 14428:14428 hsaKmtAllocMemory(, , ) = 0 -1711656565726865:1711656565737924 14428:14428 hsaKmtMapMemoryToGPUNodes(, , , , , ) = 0 -1711656565819379:1711656565831332 14428:14428 hsaKmtAllocMemory(, , ) = 0 -1711656565834934:1711656565842997 14428:14428 hsaKmtMapMemoryToGPUNodes(, , , , , ) = 0 -1711656565903796:1711656565915232 14428:14428 hsaKmtAllocMemory(, , ) = 0 -1711656565918510:1711656565926230 14428:14428 hsaKmtMapMemoryToGPUNodes(, , , , , ) = 0 -1711656565986763:1711656565998761 14428:14428 hsaKmtAllocMemory(, , ) = 0 -1711656566002065:1711656566009935 14428:14428 hsaKmtMapMemoryToGPUNodes(, , , , , ) = 0 -1711656566110666:1711656566124112 14428:14428 hsaKmtAllocMemory(, , ) = 0 -1711656566127574:1711656566135844 14428:14428 hsaKmtMapMemoryToGPUNodes(, , , , , ) = 0 -1711656566206607:1711656566219650 14428:14428 hsaKmtAllocMemory(, , ) = 0 -1711656566223133:1711656566231463 14428:14428 hsaKmtMapMemoryToGPUNodes(, , , , , ) = 0 -1711656603923279:1711656603961129 14428:14428 hsaKmtAllocMemory(, , ) = 0 -1711656603973620:1711656603987633 14428:14428 hsaKmtMapMemoryToGPUNodes(, , , , , ) = 0 -1711656603992940:1711656604252068 14428:14428 hsaKmtAllocMemory(, , ) = 0 -1711656604255381:1711656604276479 14428:14428 hsaKmtMapMemoryToGPUNodes(, , , , , ) = 0 -1711656604353651:1711656604364230 14428:14428 hsaKmtAllocMemory(, , ) = 0 -1711656604367240:1711656604368329 14428:14428 hsaKmtRegisterMemoryToNodes(, , , ) = 0 -1711656604370657:1711656604378580 14428:14428 hsaKmtMapMemoryToGPU(, , ) = 0 -1711656604380987:1711656604381926 14428:14428 hsaKmtGetNodeProperties(, ) = 0 -1711656604384401:1711656604393699 14428:14428 hsaKmtAllocMemory(, , ) = 0 -1711656604395953:1711656604396620 14428:14428 hsaKmtRegisterMemoryToNodes(, , , ) = 0 -1711656604398576:1711656604406194 14428:14428 hsaKmtMapMemoryToGPU(, , ) = 0 -1711656604408234:1711656604408756 14428:14428 hsaKmtGetNodeProperties(, ) = 0 -1711656604410520:1711656605878306 14428:14428 hsaKmtAllocMemory(, , ) = 0 -1711656605886748:1711656605887837 14428:14428 hsaKmtRegisterMemoryToNodes(, , , ) = 0 -1711656605890527:1711656605930390 14428:14428 hsaKmtMapMemoryToGPU(, , ) = 0 -1711656605890527:1711656605956882 14428:14428 hsaKmtCreateQueue(, , , , , , , ) = 0 -1711656605962088:1711656605969009 14428:14428 hsaKmtSetEvent() = 0 -1711656301152359:1711656605983168 14428:14432 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711656605971287:1711656605993810 14428:14428 hsaKmtAllocMemory(, , ) = 0 -1711656605996398:1711656606004482 14428:14428 hsaKmtMapMemoryToGPUNodes(, , , , , ) = 0 -1711656606022609:1711656606024645 14428:14428 hsaKmtCreateEvent(, , , ) = 0 -1711656606043400:1711656606044449 14428:14428 hsaKmtCreateEvent(, , , ) = 0 -1711656606250624:1711656606586276 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711656606250624:1711656606600291 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711656606611383:1711656606612958 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711656606626848:1711656606627566 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +3802694741543903:3802694741582814 1963:1966 hsaKmtAllocMemory(, , ) = 0 +3802694741609864:3802694741689195 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f7207ad4000, , , , , ) = 0 +3802694741697785:3802694741763945 1963:1966 hsaKmtAllocMemory(, , ) = 0 +3802694741766955:3802694741820396 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f7207a00000, , , , , ) = 0 +3802694741831176:3802694741846006 1963:1966 hsaKmtAllocMemory(, , ) = 0 +3802694741849946:3802694741850686 1963:1966 hsaKmtRegisterMemoryToNodes(0x7f7207ad2000, , , ) = 0 +3802694741852886:3802694741904076 1963:1966 hsaKmtMapMemoryToGPU(0x7f7207ad2000, , ) = 0 +3802694741907576:3802694741908436 1963:1966 hsaKmtGetNodeProperties(, ) = 0 +3802694741910266:3802694741921686 1963:1966 hsaKmtAllocMemory(, , ) = 0 +3802694741923706:3802694741924276 1963:1966 hsaKmtRegisterMemoryToNodes(0x7f7207ad0000, , , ) = 0 +3802694741926126:3802694741975137 1963:1966 hsaKmtMapMemoryToGPU(0x7f7207ad0000, , ) = 0 +3802694741977157:3802694741977627 1963:1966 hsaKmtGetNodeProperties(, ) = 0 +3802694741979167:3802694745546513 1963:1966 hsaKmtAllocMemory(, , ) = 0 +3802694745565343:3802694745567153 1963:1966 hsaKmtRegisterMemoryToNodes(0x7f7062a00000, , , ) = 0 +3802694745570933:3802694746189938 1963:1966 hsaKmtMapMemoryToGPU(0x7f7062a00000, , ) = 0 +3802694745570933:3802694746693502 1963:1966 hsaKmtCreateQueue(, , , , 0x7f7207a00000, , , ) = 0 +3802694746700712:3802694746704312 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694746713442:3802694746716772 1963:1966 hsaKmtSetEvent() = 0 +3802694746719092:3802694746736732 1963:1966 hsaKmtAllocMemory(, , ) = 0 +3802694746739212:3802694746790603 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f7207aca000, , , , , ) = 0 +3802694746795163:3802694746807113 1963:1966 hsaKmtAllocMemory(, , ) = 0 +3802694746809233:3802694746859223 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f7207ac8000, , , , , ) = 0 +3802694746865713:3802694746889583 1963:1966 hsaKmtAllocMemory(, , ) = 0 +3802694746891843:3802694746943174 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f7207a60000, , , , , ) = 0 +3802694746948224:3802694746959264 1963:1966 hsaKmtAllocMemory(, , ) = 0 +3802694746962184:3802694746963194 1963:1966 hsaKmtRegisterMemoryToNodes(0x7f7207a76000, , , ) = 0 +3802694746965224:3802694747017314 1963:1966 hsaKmtMapMemoryToGPU(0x7f7207a76000, , ) = 0 +3802694747019674:3802694747020654 1963:1966 hsaKmtGetNodeProperties(, ) = 0 +3802694747022354:3802694747034174 1963:1966 hsaKmtAllocMemory(, , ) = 0 +3802694747036154:3802694747036714 1963:1966 hsaKmtRegisterMemoryToNodes(0x7f7207a74000, , , ) = 0 +3802694747038534:3802694747088595 1963:1966 hsaKmtMapMemoryToGPU(0x7f7207a74000, , ) = 0 +3802694747090655:3802694747091115 1963:1966 hsaKmtGetNodeProperties(, ) = 0 +3802694747092675:3802694750609130 1963:1966 hsaKmtAllocMemory(, , ) = 0 +3802694750626811:3802694750628201 1963:1966 hsaKmtRegisterMemoryToNodes(0x7f7061400000, , , ) = 0 +3802694750631551:3802694751072424 1963:1966 hsaKmtMapMemoryToGPU(0x7f7061400000, , ) = 0 +3802694750631551:3802694751241245 1963:1966 hsaKmtCreateQueue(, , , , 0x7f7207a60000, , , ) = 0 +3802694751249705:3802694751254855 1963:1966 hsaKmtSetEvent() = 0 +3802694751257425:3802694751292685 1963:1966 hsaKmtAllocMemory(, , ) = 0 +3802694746963204:3802694751286465 1963:1964 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802694751295645:3802694751359416 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f7207a72000, , , , , ) = 0 +3802694751377856:3802694751477337 1963:1966 hsaKmtAllocMemory(, , ) = 0 +3802694751481997:3802694751482737 1963:1966 hsaKmtQueryPointerInfo(0x7f7207900000, ) = 0 +3802694751485637:3802694751586337 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f7207900000, , , , , ) = 0 +3802694751598518:3802694751601368 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694751604048:3802694751604758 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694751606748:3802694751607728 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694751609728:3802694751610628 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694751612688:3802694751613548 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694751615598:3802694751616488 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694751618408:3802694751619278 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694751621188:3802694751621948 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694751623868:3802694751624608 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694751626408:3802694751627078 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694751628878:3802694751629568 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694751631358:3802694751633318 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694751635238:3802694751636148 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694751638108:3802694751639018 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694751640888:3802694751641748 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694751643638:3802694751644298 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694751646178:3802694751646838 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694751648698:3802694751649458 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694751651278:3802694751651958 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694751653748:3802694751654518 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694751656508:3802694751657228 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694751659158:3802694751659928 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694751661778:3802694751662648 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694751664778:3802694751665618 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694751667488:3802694751668288 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694751670098:3802694751683348 1963:1966 hsaKmtAllocMemory(, , ) = 0 +3802694751685558:3802694751742969 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f7207a5c000, , , , , ) = 0 +3802694751747559:3802694751748559 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694751750569:3802694751751259 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694751753029:3802694751753759 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694751755619:3802694751756269 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694751758169:3802694751758859 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694751767309:3802694751768039 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694751769899:3802694751770579 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694751772349:3802694751773029 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694751774859:3802694751775529 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694751778839:3802694751779549 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694751781329:3802694751781989 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694751783739:3802694751784399 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694751786169:3802694751786969 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694751788739:3802694751789409 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694751791189:3802694751791919 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694751793659:3802694751794319 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694751796089:3802694751796749 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694751798499:3802694751799229 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694751800989:3802694751801649 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694751803409:3802694751804069 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694751805859:3802694751806529 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694751808259:3802694751808919 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694751810679:3802694751811339 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694751813119:3802694751813779 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694751815509:3802694751816169 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694751817919:3802694751818579 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694751820359:3802694751821009 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694751822759:3802694751823419 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694751825159:3802694751825969 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694751827709:3802694751828379 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694751830119:3802694751831129 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694751832889:3802694751833719 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694751835489:3802694751836149 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694751837939:3802694751838599 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694751840349:3802694751841009 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694751842759:3802694751843509 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694751845249:3802694751846539 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694751848289:3802694751849959 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694751851709:3802694751852399 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694751854159:3802694751854859 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694751856599:3802694751857269 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694751858999:3802694751859659 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694751861409:3802694751862069 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694751863809:3802694751864479 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694751866219:3802694751866959 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694751868699:3802694751869370 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694751871120:3802694751871790 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694751873540:3802694751874210 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694751876000:3802694751876660 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694751881660:3802694751882390 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694751884210:3802694751884900 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694751886650:3802694751887710 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694751889480:3802694751890540 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694751892280:3802694751893060 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694751894790:3802694751895730 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694751897460:3802694751898340 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694751900060:3802694751900730 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694751902450:3802694751903120 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694751904860:3802694751905520 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694751907230:3802694751907930 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694751909650:3802694751910450 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694751912200:3802694751912860 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694751914580:3802694751915310 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694751917100:3802694751917870 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694751919650:3802694751935850 1963:1966 hsaKmtAllocMemory(, , ) = 0 +3802694751938200:3802694751999620 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f7207a54000, , , , , ) = 0 +3802694752014141:3802694752015201 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752017461:3802694752018141 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752019941:3802694752020621 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752022371:3802694752023061 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752024801:3802694752025611 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752027361:3802694752028361 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752030131:3802694752030941 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752032711:3802694752033511 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752035351:3802694752036121 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752037841:3802694752038531 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752040281:3802694752041051 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752042801:3802694752043831 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752045571:3802694752046311 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752048041:3802694752048711 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752050471:3802694752051141 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752052881:3802694752053541 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752055281:3802694752055951 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752057671:3802694752058341 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752060101:3802694752060781 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752062491:3802694752063151 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752066191:3802694752067141 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752068941:3802694752069611 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752071341:3802694752072011 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752073761:3802694752074441 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752076161:3802694752076831 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752078551:3802694752079221 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752086881:3802694752087611 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752089581:3802694752090251 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752091991:3802694752092661 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752094401:3802694752095081 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752096831:3802694752097521 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752099251:3802694752100331 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752102081:3802694752102971 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752104711:3802694752105521 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752107271:3802694752108081 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752109821:3802694752110901 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752112651:3802694752113671 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752115461:3802694752116151 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752117911:3802694752118581 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752120331:3802694752121001 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752122731:3802694752123401 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752125141:3802694752125951 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752127671:3802694752128341 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752130071:3802694752130751 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752132491:3802694752133151 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752134871:3802694752135551 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752137291:3802694752137951 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752139691:3802694752140361 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752142092:3802694752143652 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752145422:3802694752146092 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752147822:3802694752148492 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752150232:3802694752150892 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752152622:3802694752153292 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752155032:3802694752155712 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752157442:3802694752158112 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752159852:3802694752160522 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752162292:3802694752162962 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752164692:3802694752165352 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752167092:3802694752167772 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752169522:3802694752170192 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752171922:3802694752172592 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752174322:3802694752174992 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752176722:3802694752177452 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752179232:3802694752179892 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752181632:3802694752182292 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752184022:3802694752184682 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752186422:3802694752187092 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752188852:3802694752189532 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752191242:3802694752191912 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752197142:3802694752198032 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752199852:3802694752200782 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752202512:3802694752203242 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752204982:3802694752205682 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752207402:3802694752208122 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752209872:3802694752210672 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752212442:3802694752213102 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752214872:3802694752215532 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752218222:3802694752218902 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752220662:3802694752221392 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752223142:3802694752223802 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752225572:3802694752226252 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752227982:3802694752228652 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752230392:3802694752231122 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752232882:3802694752233622 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752235342:3802694752236002 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752237882:3802694752238622 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752240402:3802694752241072 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752242812:3802694752243472 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752245202:3802694752245872 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752247612:3802694752248272 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752249992:3802694752250672 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752252402:3802694752253072 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752254832:3802694752255492 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752257242:3802694752257902 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752259652:3802694752260312 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752262052:3802694752262712 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752264452:3802694752265112 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752266852:3802694752267522 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752269262:3802694752269922 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752271682:3802694752272502 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752274232:3802694752275002 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752276753:3802694752277433 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752279213:3802694752279883 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752281613:3802694752282273 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752284013:3802694752284673 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752286413:3802694752287883 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752289643:3802694752290313 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752292063:3802694752292743 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752294473:3802694752295163 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752296893:3802694752298033 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752299763:3802694752300643 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752302383:3802694752303143 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752304863:3802694752305703 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752310933:3802694752311643 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752313493:3802694752314163 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752315983:3802694752316663 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752318453:3802694752319123 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752320863:3802694752321523 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752323263:3802694752324023 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752325763:3802694752326433 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752328173:3802694752328843 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752330573:3802694752331373 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752333113:3802694752333783 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752335523:3802694752336183 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752337923:3802694752338653 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752340373:3802694752341043 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752342773:3802694752343473 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752345223:3802694752345903 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752347693:3802694752366613 1963:1966 hsaKmtAllocMemory(, , ) = 0 +3802694752368993:3802694752431654 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f7207a48000, , , , , ) = 0 +3802694752437234:3802694752438594 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752440584:3802694752441474 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752443244:3802694752444014 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752445784:3802694752446434 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752448174:3802694752448894 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752450664:3802694752451384 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752453144:3802694752453814 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752455584:3802694752456384 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752458134:3802694752458914 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752460664:3802694752461394 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752463134:3802694752463914 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752465654:3802694752466334 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752468074:3802694752468814 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752470564:3802694752471374 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752473104:3802694752473784 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752475524:3802694752476184 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752477964:3802694752478634 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752480354:3802694752481164 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752483874:3802694752484574 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752486354:3802694752487024 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752488774:3802694752489454 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752491194:3802694752491874 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752493624:3802694752494314 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752496064:3802694752496744 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752498504:3802694752499184 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752506054:3802694752506864 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752508734:3802694752509424 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752511154:3802694752511834 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752513564:3802694752514234 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752515964:3802694752516644 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752518374:3802694752519054 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752520804:3802694752521484 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752523204:3802694752523884 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752525624:3802694752526294 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752528084:3802694752528764 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752530494:3802694752531164 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752532894:3802694752533744 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752535494:3802694752536194 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752537924:3802694752538614 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752540354:3802694752541444 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752543184:3802694752544004 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752545735:3802694752546405 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752548125:3802694752548805 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752550525:3802694752551305 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752553025:3802694752553835 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752555555:3802694752556295 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752558975:3802694752559655 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752561405:3802694752562115 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752563855:3802694752564575 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752566315:3802694752566975 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752568705:3802694752569475 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752571205:3802694752571965 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752573715:3802694752574385 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752576115:3802694752576785 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752578555:3802694752579285 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752581015:3802694752581695 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752583475:3802694752584145 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752585885:3802694752586555 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752588305:3802694752588975 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752590705:3802694752591385 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752593135:3802694752594255 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752595975:3802694752596785 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752598525:3802694752599295 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752601025:3802694752601695 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752603435:3802694752604105 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752605825:3802694752606495 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752608225:3802694752608955 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752610675:3802694752611345 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752613085:3802694752613745 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752618945:3802694752619645 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752621485:3802694752622145 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752623895:3802694752624555 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752626295:3802694752626955 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752628705:3802694752629365 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752631095:3802694752633555 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752635365:3802694752636025 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752637775:3802694752638435 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752640185:3802694752640845 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752642575:3802694752643245 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752644985:3802694752645655 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752647385:3802694752648045 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752649785:3802694752650455 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752652195:3802694752652925 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752654655:3802694752655455 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752657185:3802694752657845 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752659585:3802694752660245 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752662015:3802694752662675 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752664405:3802694752665065 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752666805:3802694752667475 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752669205:3802694752669865 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752671595:3802694752672265 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752674005:3802694752674675 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752676415:3802694752677135 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752678885:3802694752679546 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752681266:3802694752681926 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752683666:3802694752684336 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752686076:3802694752686736 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752688466:3802694752689126 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752690866:3802694752691536 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752693276:3802694752694106 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752695866:3802694752697056 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752698786:3802694752699616 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752701356:3802694752702156 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752704776:3802694752705656 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752707406:3802694752708286 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752710036:3802694752710746 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752712486:3802694752713146 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752714876:3802694752715646 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752717366:3802694752718366 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752720096:3802694752720766 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752722486:3802694752723286 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752725006:3802694752725676 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752727396:3802694752728066 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752733426:3802694752734136 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752735956:3802694752736626 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752738356:3802694752739016 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752740796:3802694752741466 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752743196:3802694752743866 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752745606:3802694752746416 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752748146:3802694752748806 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752750546:3802694752751276 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752753026:3802694752753896 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752755646:3802694752756316 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752758036:3802694752759126 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752760886:3802694752761816 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752763556:3802694752764326 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752766076:3802694752766866 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752768606:3802694752769446 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752771166:3802694752772016 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752773746:3802694752774426 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752776146:3802694752776986 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752778696:3802694752780526 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752782296:3802694752783026 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752784776:3802694752785616 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752787336:3802694752788156 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752789886:3802694752790716 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752792466:3802694752793136 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752794866:3802694752795706 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752797436:3802694752798106 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752799836:3802694752800506 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752802256:3802694752803096 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752804826:3802694752805666 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752807396:3802694752808226 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752809956:3802694752810766 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752812486:3802694752813276 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752815007:3802694752815687 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752817417:3802694752818317 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752820057:3802694752820847 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752822577:3802694752823247 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752824977:3802694752825757 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752827477:3802694752828147 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752829957:3802694752830657 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752832377:3802694752833117 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752834847:3802694752835507 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752837247:3802694752837987 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752839707:3802694752840527 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752845487:3802694752846197 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752847987:3802694752848667 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752850397:3802694752851077 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752852807:3802694752853477 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752856097:3802694752856777 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752858547:3802694752859207 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752860927:3802694752861727 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752863467:3802694752864157 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752865867:3802694752866707 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752868437:3802694752869107 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752870827:3802694752871497 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752873217:3802694752873877 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752875597:3802694752876327 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752878047:3802694752878717 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752880447:3802694752881117 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752882837:3802694752883507 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752885227:3802694752885907 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752887627:3802694752888287 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752890017:3802694752890677 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752892407:3802694752893087 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752894807:3802694752895477 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752897207:3802694752897877 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752899607:3802694752900277 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752902007:3802694752902667 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752904407:3802694752905077 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752906797:3802694752907457 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752909197:3802694752909857 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752911737:3802694752912407 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752914147:3802694752914817 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752916537:3802694752917227 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752918957:3802694752919627 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752921367:3802694752922167 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752923897:3802694752925717 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752927487:3802694752928227 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752929947:3802694752930617 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752932357:3802694752933027 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752934757:3802694752935427 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752937167:3802694752937837 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752939557:3802694752940217 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752941947:3802694752942717 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752944467:3802694752945127 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752946837:3802694752947507 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752949238:3802694752949908 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752951628:3802694752952288 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752957518:3802694752958338 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752960198:3802694752960878 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752962628:3802694752963318 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752965078:3802694752965748 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752967488:3802694752968148 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752969898:3802694752970568 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752972318:3802694752972978 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752974718:3802694752975398 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752977118:3802694752977788 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752979518:3802694752980188 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752981938:3802694752982738 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752984488:3802694752985158 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752986898:3802694752987568 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752989298:3802694752989958 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752991708:3802694752992378 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752994118:3802694752994778 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694752996518:3802694752997188 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753000028:3802694753000718 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753002468:3802694753003198 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753004918:3802694753005588 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753007338:3802694753008008 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753009728:3802694753010688 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753012428:3802694753013088 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753014818:3802694753015498 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753017218:3802694753017958 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753019688:3802694753020358 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753022098:3802694753022788 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753024518:3802694753025208 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753026938:3802694753027918 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753029648:3802694753030578 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753032338:3802694753033138 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753034878:3802694753035538 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753037278:3802694753037948 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753039688:3802694753040478 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753042218:3802694753042878 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753044608:3802694753045278 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753047098:3802694753047758 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753049488:3802694753050158 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753052018:3802694753052718 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753054448:3802694753055118 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753056848:3802694753057518 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753059248:3802694753059988 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753061718:3802694753062388 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753067038:3802694753067748 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753069568:3802694753070248 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753071988:3802694753073558 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753075308:3802694753076018 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753077758:3802694753078428 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753080268:3802694753080948 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753082719:3802694753083379 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753085119:3802694753086059 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753087789:3802694753088829 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753090569:3802694753091419 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753093149:3802694753093829 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753095559:3802694753096229 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753097979:3802694753098959 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753100759:3802694753125359 1963:1966 hsaKmtAllocMemory(, , ) = 0 +3802694753127799:3802694753207579 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f72079e0000, , , , , ) = 0 +3802694753213459:3802694753214799 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753216789:3802694753217630 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753219390:3802694753220210 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753221960:3802694753222660 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753224440:3802694753225120 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753226870:3802694753227620 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753229370:3802694753230120 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753231890:3802694753232690 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753234450:3802694753235270 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753237010:3802694753237830 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753239660:3802694753240410 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753242260:3802694753242950 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753244810:3802694753245630 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753247420:3802694753248100 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753249850:3802694753250530 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753252490:3802694753253180 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753254960:3802694753255660 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753257400:3802694753258080 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753259830:3802694753260510 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753262250:3802694753262940 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753264690:3802694753265470 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753267200:3802694753267880 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753269700:3802694753270380 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753272100:3802694753272850 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753274570:3802694753275250 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753277010:3802694753277700 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753279460:3802694753280130 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753281900:3802694753282580 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753289780:3802694753290510 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753292420:3802694753293100 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753295870:3802694753297110 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753298890:3802694753299840 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753301590:3802694753302380 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753304110:3802694753304790 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753306520:3802694753307190 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753308930:3802694753309630 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753311390:3802694753312320 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753314060:3802694753314750 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753316490:3802694753317170 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753318900:3802694753319750 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753321500:3802694753322320 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753324040:3802694753324770 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753326500:3802694753327170 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753328900:3802694753329580 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753331340:3802694753332010 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753333750:3802694753334420 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753336170:3802694753337100 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753338820:3802694753339550 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753341270:3802694753341950 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753343690:3802694753344350 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753346100:3802694753346770 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753348500:3802694753349290 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753351020:3802694753351801 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753353531:3802694753354261 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753356241:3802694753356921 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753358681:3802694753359471 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753361221:3802694753362011 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753363751:3802694753364421 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753366151:3802694753367811 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753369561:3802694753370221 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753371971:3802694753372641 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753374361:3802694753375041 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753376771:3802694753377581 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753379311:3802694753379991 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753381741:3802694753382501 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753384221:3802694753384891 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753386631:3802694753387291 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753389001:3802694753389681 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753391421:3802694753392211 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753393931:3802694753394591 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753396341:3802694753397011 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753398741:3802694753399401 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753404541:3802694753405251 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753407051:3802694753407731 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753409481:3802694753410151 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753411901:3802694753412571 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753414321:3802694753415001 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753416731:3802694753417401 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753419141:3802694753420091 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753421831:3802694753422641 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753424371:3802694753425381 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753427111:3802694753427981 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753429731:3802694753430551 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753432271:3802694753433001 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753434731:3802694753435391 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753437111:3802694753437771 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753439501:3802694753440171 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753442831:3802694753443611 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753445371:3802694753446031 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753447761:3802694753448441 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753450191:3802694753450871 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753452601:3802694753453271 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753455011:3802694753455801 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753457521:3802694753458201 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753459951:3802694753460621 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753462331:3802694753463011 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753464741:3802694753465411 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753467141:3802694753467811 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753469551:3802694753470281 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753472021:3802694753472721 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753474461:3802694753475281 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753477021:3802694753477681 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753479431:3802694753480111 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753481841:3802694753482511 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753484251:3802694753485021 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753486772:3802694753487432 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753489172:3802694753489842 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753491582:3802694753492252 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753493962:3802694753494642 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753496362:3802694753497022 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753498752:3802694753499562 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753501292:3802694753501962 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753503692:3802694753504352 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753506092:3802694753506772 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753508512:3802694753509172 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753514392:3802694753516182 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753518072:3802694753518742 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753520472:3802694753521162 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753522892:3802694753523562 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753525282:3802694753526102 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753527832:3802694753528662 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753530382:3802694753531202 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753532942:3802694753533642 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753535532:3802694753536212 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753537972:3802694753538702 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753540422:3802694753541082 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753542832:3802694753543502 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753545242:3802694753545942 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753547662:3802694753548332 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753550052:3802694753550722 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753552442:3802694753553402 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753555122:3802694753555802 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753557532:3802694753558192 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753559902:3802694753560572 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753562292:3802694753562962 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753564682:3802694753565352 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753567072:3802694753567732 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753569442:3802694753570252 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753571982:3802694753572652 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753574372:3802694753575032 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753576772:3802694753577542 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753579272:3802694753579932 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753581672:3802694753582412 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753584162:3802694753584832 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753587692:3802694753588372 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753590132:3802694753590792 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753592542:3802694753593202 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753594932:3802694753595592 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753597322:3802694753597992 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753599732:3802694753600532 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753602242:3802694753603272 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753604992:3802694753605962 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753607682:3802694753608462 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753610192:3802694753610862 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753612612:3802694753613292 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753615032:3802694753615892 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753617632:3802694753618352 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753620082:3802694753620753 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753622473:3802694753623213 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753627923:3802694753628633 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753630463:3802694753631133 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753632873:3802694753633553 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753635273:3802694753635943 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753637653:3802694753638333 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753640073:3802694753640903 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753642613:3802694753643283 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753645033:3802694753645703 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753647423:3802694753648093 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753649813:3802694753650483 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753652203:3802694753652883 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753654613:3802694753655273 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753656993:3802694753657863 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753660963:3802694753661653 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753663403:3802694753664073 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753665823:3802694753666483 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753668203:3802694753668863 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753670603:3802694753671343 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753673053:3802694753673723 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753675443:3802694753676113 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753677843:3802694753678513 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753680233:3802694753680913 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753682633:3802694753683333 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753685083:3802694753685753 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753687483:3802694753688513 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753690263:3802694753691133 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753692873:3802694753693543 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753695253:3802694753695923 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753697663:3802694753698593 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753700333:3802694753701553 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753703293:3802694753704063 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753705793:3802694753706463 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753708203:3802694753708883 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753710633:3802694753711303 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753713043:3802694753713823 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753715563:3802694753716223 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753717953:3802694753718633 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753720353:3802694753721023 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753722733:3802694753723403 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753725143:3802694753725803 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753727513:3802694753728273 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753730013:3802694753732293 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753734073:3802694753734733 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753740033:3802694753740733 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753742563:3802694753743243 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753744973:3802694753745663 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753747393:3802694753748063 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753749803:3802694753750463 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753752213:3802694753752933 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753754663:3802694753755334 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753757074:3802694753757734 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753759454:3802694753760124 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753761844:3802694753762504 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753764254:3802694753764914 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753766634:3802694753767314 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753769044:3802694753769704 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753771454:3802694753772314 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753774044:3802694753774854 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753776574:3802694753777334 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753779074:3802694753779734 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753781474:3802694753782144 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753783884:3802694753784684 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753786414:3802694753787114 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753788884:3802694753789554 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753791284:3802694753791954 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753793704:3802694753794434 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753796164:3802694753796894 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753798634:3802694753799294 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753801014:3802694753801704 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753803424:3802694753804424 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753811154:3802694753811864 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753813664:3802694753814334 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753816084:3802694753816764 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753818494:3802694753819164 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753820904:3802694753821664 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753823404:3802694753824074 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753825814:3802694753826484 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753828204:3802694753828874 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753830604:3802694753831274 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753833004:3802694753833664 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753835394:3802694753836054 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753837794:3802694753838464 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753840214:3802694753840884 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753842634:3802694753843304 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753845024:3802694753845694 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753847424:3802694753848154 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753849874:3802694753850534 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753855454:3802694753856174 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753857964:3802694753858644 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753860394:3802694753861074 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753862804:3802694753863474 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753865214:3802694753865884 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753867604:3802694753868274 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753870044:3802694753870714 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753872434:3802694753873094 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753874844:3802694753875524 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753877264:3802694753877944 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753879674:3802694753880784 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753882534:3802694753885104 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753886894:3802694753887564 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753889315:3802694753890045 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753891785:3802694753892445 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753894185:3802694753894855 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753896605:3802694753897385 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753899125:3802694753899795 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753901525:3802694753902195 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753903935:3802694753904605 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753906345:3802694753907005 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753908735:3802694753909415 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753911155:3802694753911815 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753913545:3802694753914215 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753915965:3802694753916625 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753918365:3802694753919055 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753920795:3802694753921455 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753923195:3802694753923865 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753925605:3802694753926265 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753928005:3802694753928665 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753930405:3802694753931095 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753932825:3802694753933495 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753935245:3802694753936225 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753937955:3802694753938765 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753940505:3802694753941165 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753942915:3802694753943585 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753945315:3802694753945985 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753947715:3802694753948425 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753950165:3802694753950865 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753952625:3802694753953295 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753957465:3802694753958185 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753959945:3802694753960595 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753962325:3802694753963055 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753964775:3802694753965445 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753970925:3802694753971635 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753973475:3802694753974235 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753975955:3802694753976845 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753978575:3802694753979245 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753980995:3802694753981655 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753983395:3802694753984075 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753985815:3802694753986485 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753988235:3802694753988905 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753990655:3802694753991325 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753993055:3802694753993725 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753995455:3802694753996135 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694753997875:3802694753998545 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754000285:3802694754000945 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754002685:3802694754003355 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754005075:3802694754005745 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754007485:3802694754008155 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754009895:3802694754010555 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754012295:3802694754012975 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754014725:3802694754015395 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754017125:3802694754017795 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754019535:3802694754020195 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754021945:3802694754022615 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754024356:3802694754025026 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754026786:3802694754027456 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754029186:3802694754032116 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754033936:3802694754034586 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754036326:3802694754036986 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754038716:3802694754039406 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754041156:3802694754041826 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754043566:3802694754044696 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754046426:3802694754047306 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754049046:3802694754049866 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754051586:3802694754052256 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754053996:3802694754054776 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754056496:3802694754057166 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754058916:3802694754059606 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754061336:3802694754062066 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754063796:3802694754064466 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754066206:3802694754067026 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754068756:3802694754069426 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754071166:3802694754071986 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754073746:3802694754074416 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754076136:3802694754076806 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754082236:3802694754082956 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754084786:3802694754085476 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754087216:3802694754087896 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754089636:3802694754090306 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754092046:3802694754092726 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754094466:3802694754095126 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754096876:3802694754097546 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754099306:3802694754099976 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754101716:3802694754102386 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754104136:3802694754104806 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754108586:3802694754109276 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754111066:3802694754111716 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754113546:3802694754114216 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754115956:3802694754116626 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754118376:3802694754119056 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754120876:3802694754121546 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754123276:3802694754123966 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754125726:3802694754126466 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754128196:3802694754128886 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754130606:3802694754131286 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754133026:3802694754133706 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754135426:3802694754136426 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754138136:3802694754139016 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754140756:3802694754141686 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754143406:3802694754144126 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754145866:3802694754146546 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754148296:3802694754148956 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754150686:3802694754151356 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754153086:3802694754153776 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754155516:3802694754156186 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754157946:3802694754158617 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754160357:3802694754161027 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754162777:3802694754163447 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754165187:3802694754165857 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754167587:3802694754168277 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754170007:3802694754170767 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754172507:3802694754173177 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754174927:3802694754175607 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754177827:3802694754179317 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754181097:3802694754181817 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754183527:3802694754184207 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754185957:3802694754186627 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754188357:3802694754189027 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754190757:3802694754191457 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754197007:3802694754197737 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754199587:3802694754200267 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754202067:3802694754202757 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754204497:3802694754205177 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754206917:3802694754207657 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754209377:3802694754210037 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754211787:3802694754212457 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754214197:3802694754214877 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754216617:3802694754217357 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754219097:3802694754220007 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754221737:3802694754222537 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754224277:3802694754225047 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754226777:3802694754227437 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754229187:3802694754229867 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754231597:3802694754232267 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754234017:3802694754234757 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754236477:3802694754237367 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754239097:3802694754239837 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754241567:3802694754242237 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754243967:3802694754244647 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754246377:3802694754247047 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754248767:3802694754249437 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754251187:3802694754252487 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754255417:3802694754256077 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754257837:3802694754258507 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754260237:3802694754260917 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754262657:3802694754263327 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754265077:3802694754265747 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754267487:3802694754268157 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754269917:3802694754270587 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754272317:3802694754272987 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754274727:3802694754275397 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754277127:3802694754277807 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754279557:3802694754280227 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754281967:3802694754282637 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754284387:3802694754285067 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754286817:3802694754287487 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754289227:3802694754289907 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754292017:3802694754292698 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754294438:3802694754295168 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754296878:3802694754297548 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754299298:3802694754299968 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754301698:3802694754302398 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754307708:3802694754308498 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754310328:3802694754311438 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754313198:3802694754314088 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754315828:3802694754316568 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754318298:3802694754319108 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754320968:3802694754321668 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754323398:3802694754324078 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754325798:3802694754326638 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754333518:3802694754334398 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754336228:3802694754336978 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754338728:3802694754339398 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754341118:3802694754341788 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754343518:3802694754344198 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754345928:3802694754346598 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754348338:3802694754349008 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754350758:3802694754351448 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754353188:3802694754354008 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754355748:3802694754356558 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754358298:3802694754358968 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754360718:3802694754361528 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754363278:3802694754363948 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754365688:3802694754366378 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754368118:3802694754368788 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754370538:3802694754371218 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754372938:3802694754373618 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754375348:3802694754376038 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754377768:3802694754378448 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754380178:3802694754380858 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754382588:3802694754383278 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754385028:3802694754385698 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754387438:3802694754388108 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754389838:3802694754390518 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754392248:3802694754392938 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754394668:3802694754395338 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754397078:3802694754397748 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754399498:3802694754400188 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754401898:3802694754403848 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754405658:3802694754406328 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754408058:3802694754408728 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754410498:3802694754411178 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754412918:3802694754413608 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754415378:3802694754416048 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754417768:3802694754418738 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754420498:3802694754421388 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754426778:3802694754427539 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754429379:3802694754430119 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754431849:3802694754432519 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754434249:3802694754434919 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754436659:3802694754437329 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754439049:3802694754439719 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754441489:3802694754442159 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754443879:3802694754444549 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754446279:3802694754447099 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754448849:3802694754449509 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754451239:3802694754451909 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754453639:3802694754454299 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754456069:3802694754456799 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754458509:3802694754459299 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754461049:3802694754461719 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754463449:3802694754464109 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754465849:3802694754466509 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754468229:3802694754468889 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754470609:3802694754471269 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754472989:3802694754473669 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754475389:3802694754476179 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754479559:3802694754480249 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754482079:3802694754482739 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754484479:3802694754485149 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754486899:3802694754487559 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754489279:3802694754490079 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754491799:3802694754492469 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754494209:3802694754494889 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754496629:3802694754497309 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754499059:3802694754499729 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754501459:3802694754502139 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754503869:3802694754504709 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754506429:3802694754507109 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754508849:3802694754509519 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754511249:3802694754511919 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754513659:3802694754514339 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754516039:3802694754516919 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754518649:3802694754519539 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754521279:3802694754522079 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754523809:3802694754524489 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754526219:3802694754526879 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754528599:3802694754529279 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754531029:3802694754531699 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754537099:3802694754537849 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754539679:3802694754540479 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754542219:3802694754542919 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754544659:3802694754545329 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754547079:3802694754547749 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754549549:3802694754586870 1963:1966 hsaKmtAllocMemory(, , ) = 0 +3802694754589420:3802694754658790 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f72079a0000, , , , , ) = 0 +3802694754666910:3802694754668110 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754670160:3802694754670860 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754672620:3802694754673450 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754675200:3802694754675870 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754677660:3802694754678450 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754680240:3802694754680960 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754682720:3802694754683570 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754685340:3802694754686150 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754687920:3802694754688740 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754690480:3802694754691170 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754692910:3802694754693740 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754695490:3802694754696211 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754697961:3802694754698891 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754700621:3802694754701351 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754703091:3802694754703931 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754705701:3802694754706551 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754708311:3802694754708991 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754710721:3802694754711531 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754713281:3802694754713961 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754715701:3802694754716401 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754718131:3802694754718811 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754720711:3802694754721401 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754723161:3802694754724021 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754725751:3802694754726431 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754728201:3802694754729061 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754730811:3802694754731491 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754733261:3802694754733971 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754735721:3802694754736411 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754738171:3802694754739371 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754741161:3802694754742051 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754743821:3802694754744781 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754746551:3802694754747341 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754749101:3802694754749771 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754751521:3802694754752191 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754753971:3802694754754651 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754756391:3802694754757321 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754763941:3802694754764861 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754766681:3802694754767551 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754769311:3802694754769971 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802694754775561:3802694754776241 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802695015390452:3802695015428152 1963:1966 hsaKmtAllocMemory(, , ) = 0 +3802695015435782:3802695015558453 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f7068600000, , , , , ) = 0 +3802695015563843:3802695015589653 1963:1966 hsaKmtAllocMemory(, , ) = 0 +3802695015592143:3802695015647974 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f72079d0000, , , , , ) = 0 +3802695015681634:3802695015685034 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802695015687874:3802695015758014 1963:1966 hsaKmtAllocMemory(, , ) = 0 +3802695015760484:3802695015867785 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f70f8140000, , , , , ) = 0 +3802695015873655:3802695015888695 1963:1966 hsaKmtAllocMemory(, , ) = 0 +3802695015890915:3802695015943216 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f7207a5a000, , , , , ) = 0 +3802695015949106:3802695015960626 1963:1966 hsaKmtAllocMemory(, , ) = 0 +3802695015962896:3802695016018336 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f7207a52000, , , , , ) = 0 +3802695016023246:3802695016034976 1963:1966 hsaKmtAllocMemory(, , ) = 0 +3802695016037176:3802695016089347 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f7207a46000, , , , , ) = 0 +3802695016938773:3802695016951933 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f70640f0000, , ) = 0 +3802695016955463:3802695017040024 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f70640f0000, , , , , ) = 0 +3802695017043934:3802695017045044 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802695017105134:3802695017231305 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a4ff000, , ) = 0 +3802695017233945:3802695017392596 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a4ff000, , , , , ) = 0 +3802695017403727:3802695017581878 1963:1966 hsaKmtAllocMemory(, , ) = 0 +3802695017584528:3802695017682359 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f7068400000, , , , , ) = 0 +3802695017709379:3802695017721479 1963:1966 hsaKmtAllocMemory(, , ) = 0 +3802695017723999:3802695017724679 1963:1966 hsaKmtRegisterMemoryToNodes(0x7f7207a42000, , , ) = 0 +3802695017726889:3802695017779059 1963:1966 hsaKmtMapMemoryToGPU(0x7f7207a42000, , ) = 0 +3802695017781399:3802695017782299 1963:1966 hsaKmtGetNodeProperties(, ) = 0 +3802695017781399:3802695017828640 1963:1966 hsaKmtCreateQueue(, , , , 0x7f7068400000, , , ) = 0 +3802695017830990:3802695017832310 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802695017834310:3802695017835110 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802695018042941:3802695019183710 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695018042941:3802695019188980 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695019202470:3802695019216260 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a4ff000) = 0 +3802695019232550:3802695019271530 1963:1966 hsaKmtDeregisterMemory(0x7f706a4ff000) = 0 +3802695019537982:3802695019573013 1963:1963 hsaKmtAllocMemory(, , ) = 0 +3802695019580933:3802695019660563 1963:1963 hsaKmtMapMemoryToGPUNodes(0x7f72079fc000, , , , , ) = 0 +3802695019809764:3802695020753371 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a0fe000, , ) = 0 +3802695020760841:3802695020935373 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a0fe000, , , , , ) = 0 +3802695021080314:3802695021335936 1963:1966 hsaKmtAllocMemory(, , ) = 0 +3802695021341356:3802695021450936 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f7068200000, , , , , ) = 0 +3802695021496467:3802695021519617 1963:1966 hsaKmtAllocMemory(, , ) = 0 +3802695021523967:3802695021525377 1963:1966 hsaKmtRegisterMemoryToNodes(0x7f72079fa000, , , ) = 0 +3802695021529427:3802695021593117 1963:1966 hsaKmtMapMemoryToGPU(0x7f72079fa000, , ) = 0 +3802695021597777:3802695021598927 1963:1966 hsaKmtGetNodeProperties(, ) = 0 +3802695021597777:3802695021661408 1963:1966 hsaKmtCreateQueue(, , , , 0x7f7068200000, , , ) = 0 +3802695021666718:3802695021669778 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802695021674018:3802695021675618 1963:1966 hsaKmtCreateEvent(, , , ) = 0 +3802695021881860:3802695023116728 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695021881860:3802695023127469 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695023139089:3802695023143869 1963:1966 hsaKmtGetClockCounters(, ) = 0 +3802695023149679:3802695023169349 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a0fe000) = 0 +3802695023172989:3802695023254709 1963:1966 hsaKmtDeregisterMemory(0x7f706a0fe000) = 0 PASSED! ## Iteration (98) ################# -1711656622504435:1711656622505955 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711656622515833:1711656622516358 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 -1711656623400504:1711656623403302 14428:14428 hsaKmtCreateEvent(, , , ) = 0 -1711656623608581:1711656623973580 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711656623608581:1711656624010408 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711656624016312:1711656624017365 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711656624019996:1711656624020630 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +3802695031498561:3802695031716212 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a4ff000, , ) = 0 +3802695031738652:3802695031951564 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a4ff000, , , , , ) = 0 +3802695032166886:3802695033499205 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695032166886:3802695033510726 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695033520976:3802695033539956 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a4ff000) = 0 +3802695033543956:3802695033592746 1963:1966 hsaKmtDeregisterMemory(0x7f706a4ff000) = 0 +3802695033608996:3802695033741817 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a0fe000, , ) = 0 +3802695033746507:3802695033899348 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a0fe000, , , , , ) = 0 +3802695034107200:3802695034109830 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695034107200:3802695034113710 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695034117320:3802695035097497 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695034117320:3802695035108717 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695035315949:3802695036340027 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695035315949:3802695036350157 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695036357077:3802695036361387 1963:1966 hsaKmtGetClockCounters(, ) = 0 +3802695036367427:3802695036383937 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a0fe000) = 0 +3802695036387457:3802695036429197 1963:1966 hsaKmtDeregisterMemory(0x7f706a0fe000) = 0 PASSED! ## Iteration (97) ################# -1711656639448300:1711656639450300 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711656639459703:1711656639460187 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 -1711656640513485:1711656640515944 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711656640513485:1711656640520469 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711656640523029:1711656640883525 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711656640523029:1711656640913939 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711656640919705:1711656640920727 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711656640923379:1711656640924049 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +3802695043745292:3802695043950623 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a4ff000, , ) = 0 +3802695043972863:3802695044183855 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a4ff000, , , , , ) = 0 +3802695044398967:3802695045654126 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695044398967:3802695045665676 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695045676046:3802695045695676 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a4ff000) = 0 +3802695045699706:3802695045748557 1963:1966 hsaKmtDeregisterMemory(0x7f706a4ff000) = 0 +3802695045764717:3802695045897098 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a0fe000, , ) = 0 +3802695045901838:3802695046052369 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a0fe000, , , , , ) = 0 +3802695046260320:3802695047067286 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695046260320:3802695047078557 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695047286108:3802695048490007 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695047286108:3802695048499967 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695048506787:3802695048511247 1963:1966 hsaKmtGetClockCounters(, ) = 0 +3802695048517087:3802695048534197 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a0fe000) = 0 +3802695048537797:3802695048578968 1963:1966 hsaKmtDeregisterMemory(0x7f706a0fe000) = 0 PASSED! ## Iteration (96) ################# -1711656656396440:1711656656398339 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711656656407106:1711656656407618 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 -1711656657466520:1711656657468950 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711656657466520:1711656657473652 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711656657476424:1711656657829051 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711656657476424:1711656657859592 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711656657865303:1711656657866337 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711656657869034:1711656657869765 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +3802695056039752:3802695056252274 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a4ff000, , ) = 0 +3802695056274164:3802695056482686 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a4ff000, , , , , ) = 0 +3802695056697527:3802695058022147 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695056697527:3802695058033677 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695058044637:3802695058064987 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a4ff000) = 0 +3802695058068927:3802695058117558 1963:1966 hsaKmtDeregisterMemory(0x7f706a4ff000) = 0 +3802695058132758:3802695058264109 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a0fe000, , ) = 0 +3802695058268939:3802695058417650 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a0fe000, , , , , ) = 0 +3802695058625922:3802695059556819 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695058625922:3802695059568019 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695059775390:3802695060825358 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695059775390:3802695060836598 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695060844008:3802695060848488 1963:1966 hsaKmtGetClockCounters(, ) = 0 +3802695060854368:3802695060872398 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a0fe000) = 0 +3802695060876008:3802695060917929 1963:1966 hsaKmtDeregisterMemory(0x7f706a0fe000) = 0 PASSED! ## Iteration (95) ################# -1711656673331294:1711656673333175 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711656673341993:1711656673342499 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 -1711656674412793:1711656674415153 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711656674412793:1711656674419580 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711656674422037:1711656676153707 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711656674422037:1711656676185159 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711656676191174:1711656676192309 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711656676195393:1711656676196067 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +3802695068298564:3802695068505535 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a4ff000, , ) = 0 +3802695068527575:3802695068734747 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a4ff000, , , , , ) = 0 +3802695068949108:3802695070342429 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695068949108:3802695070353969 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695070364339:3802695070384119 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a4ff000) = 0 +3802695070388019:3802695070435869 1963:1966 hsaKmtDeregisterMemory(0x7f706a4ff000) = 0 +3802695070451190:3802695070583061 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a0fe000, , ) = 0 +3802695070587941:3802695070739042 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a0fe000, , , , , ) = 0 +3802695070946933:3802695072032821 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695070946933:3802695072043271 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695072250173:3802695073465822 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695072250173:3802695073476982 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695073484372:3802695073488682 1963:1966 hsaKmtGetClockCounters(, ) = 0 +3802695073494932:3802695073512132 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a0fe000) = 0 +3802695073515712:3802695073557332 1963:1966 hsaKmtDeregisterMemory(0x7f706a0fe000) = 0 PASSED! ## Iteration (94) ################# -1711656691669637:1711656691671598 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711656691680812:1711656691681324 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 -1711656692754777:1711656692757078 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711656692754777:1711656692761492 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711656692763794:1711656694487413 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711656692763794:1711656694518834 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711656694525140:1711656694526183 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711656694528974:1711656694529644 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +3802695080706655:3802695080914707 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a4ff000, , ) = 0 +3802695080937337:3802695081144968 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a4ff000, , , , , ) = 0 +3802695081359490:3802695082615709 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695081359490:3802695082627189 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695082637549:3802695082656440 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a4ff000) = 0 +3802695082660360:3802695082708520 1963:1966 hsaKmtDeregisterMemory(0x7f706a4ff000) = 0 +3802695082723640:3802695082856031 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a0fe000, , ) = 0 +3802695082860881:3802695083011862 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a0fe000, , , , , ) = 0 +3802695083219804:3802695084018130 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695083219804:3802695084029180 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695084236401:3802695085479041 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695084236401:3802695085490251 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695085497661:3802695085501791 1963:1966 hsaKmtGetClockCounters(, ) = 0 +3802695085507831:3802695085524531 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a0fe000) = 0 +3802695085528101:3802695085569151 1963:1966 hsaKmtDeregisterMemory(0x7f706a0fe000) = 0 PASSED! ## Iteration (93) ################# -1711656709980015:1711656709982401 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711656709991523:1711656709992084 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 -1711656711063239:1711656711065880 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711656711063239:1711656711070572 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711656711072933:1711656712801333 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711656711072933:1711656712832927 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711656712839094:1711656712840216 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711656712843209:1711656712843915 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +3802695092865195:3802695093070067 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a4ff000, , ) = 0 +3802695093091777:3802695093298259 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a4ff000, , , , , ) = 0 +3802695093512600:3802695094785290 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695093512600:3802695094796790 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695094806990:3802695094826210 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a4ff000) = 0 +3802695094830300:3802695094878120 1963:1966 hsaKmtDeregisterMemory(0x7f706a4ff000) = 0 +3802695094893011:3802695095025212 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a0fe000, , ) = 0 +3802695095029942:3802695095180043 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a0fe000, , , , , ) = 0 +3802695095388134:3802695096382512 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695095388134:3802695096387152 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695096593213:3802695097773362 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695096593213:3802695097784592 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695097792112:3802695097796302 1963:1966 hsaKmtGetClockCounters(, ) = 0 +3802695097802202:3802695097819832 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a0fe000) = 0 +3802695097823402:3802695097864902 1963:1966 hsaKmtDeregisterMemory(0x7f706a0fe000) = 0 PASSED! ## Iteration (92) ################# -1711656728284005:1711656728285921 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711656728294988:1711656728295464 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 -1711656729361048:1711656729363382 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711656729361048:1711656729367657 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711656729369998:1711656731103574 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711656729369998:1711656731134803 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711656731140893:1711656731141983 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711656731144907:1711656731145522 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +3802695105084246:3802695105291367 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a4ff000, , ) = 0 +3802695105313027:3802695105520219 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a4ff000, , , , , ) = 0 +3802695105735580:3802695107021700 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695105735580:3802695107033400 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695107043590:3802695107062920 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a4ff000) = 0 +3802695107066840:3802695107115141 1963:1966 hsaKmtDeregisterMemory(0x7f706a4ff000) = 0 +3802695107129711:3802695107262032 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a0fe000, , ) = 0 +3802695107266752:3802695107418173 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a0fe000, , , , , ) = 0 +3802695107626464:3802695108511251 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695107626464:3802695108515771 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695108721653:3802695109771790 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695108721653:3802695109783061 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695109790471:3802695109794791 1963:1966 hsaKmtGetClockCounters(, ) = 0 +3802695109800761:3802695109817281 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a0fe000) = 0 +3802695109820911:3802695109862681 1963:1966 hsaKmtDeregisterMemory(0x7f706a0fe000) = 0 PASSED! ## Iteration (91) ################# -1711656746625896:1711656746628105 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711656746637935:1711656746638494 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 -1711656747707115:1711656747709521 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711656747707115:1711656747714039 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711656747716381:1711656749445832 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711656747716381:1711656749466994 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711656749473056:1711656749474132 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711656749477093:1711656749477779 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +3802695117228236:3802695117434237 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a4ff000, , ) = 0 +3802695117456078:3802695117655719 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a4ff000, , , , , ) = 0 +3802695117870971:3802695119165380 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695117870971:3802695119176910 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695119187840:3802695119206531 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a4ff000) = 0 +3802695119210551:3802695119259191 1963:1966 hsaKmtDeregisterMemory(0x7f706a4ff000) = 0 +3802695119274221:3802695119405942 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a0fe000, , ) = 0 +3802695119410662:3802695119575883 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a0fe000, , , , , ) = 0 +3802695119783665:3802695120657641 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695119783665:3802695120662181 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695120868283:3802695121917380 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695120868283:3802695121928640 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695121936171:3802695121940261 1963:1966 hsaKmtGetClockCounters(, ) = 0 +3802695121946181:3802695121962911 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a0fe000) = 0 +3802695121966491:3802695122008611 1963:1966 hsaKmtDeregisterMemory(0x7f706a0fe000) = 0 PASSED! ## Iteration (90) ################# -1711656764938206:1711656764940044 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711656764949076:1711656764949642 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 -1711656766015802:1711656766018091 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711656766015802:1711656766022515 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711656766024880:1711656767747960 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711656766024880:1711656767778425 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711656767784630:1711656767785707 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711656767788627:1711656767789317 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +3802695129229184:3802695129433846 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a4ff000, , ) = 0 +3802695129454906:3802695129655238 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a4ff000, , , , , ) = 0 +3802695129869739:3802695131165379 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695129869739:3802695131176819 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695131187069:3802695131206879 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a4ff000) = 0 +3802695131210949:3802695131259009 1963:1966 hsaKmtDeregisterMemory(0x7f706a4ff000) = 0 +3802695131274120:3802695131405921 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a0fe000, , ) = 0 +3802695131410571:3802695131577542 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a0fe000, , , , , ) = 0 +3802695131785463:3802695132659740 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695131785463:3802695132664260 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695132870261:3802695133919039 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695132870261:3802695133930269 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695133937809:3802695133942009 1963:1966 hsaKmtGetClockCounters(, ) = 0 +3802695133947969:3802695133964710 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a0fe000) = 0 +3802695133968380:3802695134009840 1963:1966 hsaKmtDeregisterMemory(0x7f706a0fe000) = 0 PASSED! ## Iteration (89) ################# -1711656783196523:1711656783198346 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711656783207752:1711656783208251 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 -1711656784276589:1711656784278937 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711656784276589:1711656784283263 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711656784285753:1711656786024922 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711656784285753:1711656786056023 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711656786062197:1711656786063200 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711656786066139:1711656786066768 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +3802695141244794:3802695141451495 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a4ff000, , ) = 0 +3802695141473945:3802695141669407 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a4ff000, , , , , ) = 0 +3802695141883598:3802695143176778 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695141883598:3802695143188428 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695143198418:3802695143216998 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a4ff000) = 0 +3802695143221348:3802695143269189 1963:1966 hsaKmtDeregisterMemory(0x7f706a4ff000) = 0 +3802695143284669:3802695143417150 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a0fe000, , ) = 0 +3802695143422100:3802695143583891 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a0fe000, , , , , ) = 0 +3802695143791993:3802695144656509 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695143791993:3802695144661159 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695144867140:3802695145915728 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695144867140:3802695145926938 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695145934518:3802695145938568 1963:1966 hsaKmtGetClockCounters(, ) = 0 +3802695145944468:3802695145961218 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a0fe000) = 0 +3802695145964848:3802695146005819 1963:1966 hsaKmtDeregisterMemory(0x7f706a0fe000) = 0 PASSED! ## Iteration (88) ################# -1711656801527422:1711656801529339 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711656801538329:1711656801538808 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 -1711656802609114:1711656802611397 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711656802609114:1711656802615820 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711656802618278:1711656804351505 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711656802618278:1711656804382087 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711656804388324:1711656804389586 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711656804392542:1711656804393227 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +3802695153229112:3802695153433704 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a4ff000, , ) = 0 +3802695153455264:3802695153652255 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a4ff000, , , , , ) = 0 +3802695153866687:3802695155165616 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695153866687:3802695155177237 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695155187447:3802695155206657 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a4ff000) = 0 +3802695155210917:3802695155258967 1963:1966 hsaKmtDeregisterMemory(0x7f706a4ff000) = 0 +3802695155274797:3802695155405818 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a0fe000, , ) = 0 +3802695155410738:3802695155579450 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a0fe000, , , , , ) = 0 +3802695155787261:3802695156671008 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695155787261:3802695156675688 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695156881789:3802695157908907 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695156881789:3802695157919027 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695157925847:3802695157930227 1963:1966 hsaKmtGetClockCounters(, ) = 0 +3802695157936007:3802695157953877 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a0fe000) = 0 +3802695157957347:3802695157998868 1963:1966 hsaKmtDeregisterMemory(0x7f706a0fe000) = 0 PASSED! ## Iteration (87) ################# -1711656819835210:1711656819836951 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711656819846587:1711656819847117 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 -1711656820921062:1711656820923478 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711656820921062:1711656820928109 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711656820930449:1711656822658771 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711656820930449:1711656822690044 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711656822696132:1711656822697136 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711656822700192:1711656822700828 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +3802695165209931:3802695165417903 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a4ff000, , ) = 0 +3802695165438813:3802695165638874 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a4ff000, , , , , ) = 0 +3802695165853256:3802695167145896 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695165853256:3802695167157546 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695167167986:3802695167186706 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a4ff000) = 0 +3802695167190756:3802695167239806 1963:1966 hsaKmtDeregisterMemory(0x7f706a4ff000) = 0 +3802695167255256:3802695167388827 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a0fe000, , ) = 0 +3802695167393567:3802695167542989 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a0fe000, , , , , ) = 0 +3802695167750890:3802695168627557 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695167750890:3802695168632247 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695168838198:3802695169887206 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695168838198:3802695169898426 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695169906056:3802695169910556 1963:1966 hsaKmtGetClockCounters(, ) = 0 +3802695169916436:3802695169933886 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a0fe000) = 0 +3802695169937466:3802695169979657 1963:1966 hsaKmtDeregisterMemory(0x7f706a0fe000) = 0 PASSED! ## Iteration (86) ################# -1711656838121739:1711656838123664 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711656838132459:1711656838133019 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 -1711656839198531:1711656839200909 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711656839198531:1711656839205834 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711656839208150:1711656840929401 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711656839208150:1711656840960428 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711656840966583:1711656840967677 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711656840970547:1711656840971179 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +3802695177200650:3802695177406121 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a4ff000, , ) = 0 +3802695177428511:3802695177628823 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a4ff000, , , , , ) = 0 +3802695177843384:3802695179125714 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695177843384:3802695179137194 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695179147264:3802695179167134 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a4ff000) = 0 +3802695179171234:3802695179219615 1963:1966 hsaKmtDeregisterMemory(0x7f706a4ff000) = 0 +3802695179235145:3802695179367316 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a0fe000, , ) = 0 +3802695179372106:3802695179523367 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a0fe000, , , , , ) = 0 +3802695179731428:3802695180602895 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695179731428:3802695180607285 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695180813476:3802695181862164 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695180813476:3802695181873404 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695181881134:3802695181885294 1963:1966 hsaKmtGetClockCounters(, ) = 0 +3802695181891294:3802695181908035 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a0fe000) = 0 +3802695181911665:3802695181952755 1963:1966 hsaKmtDeregisterMemory(0x7f706a0fe000) = 0 PASSED! ## Iteration (85) ################# -1711656856389490:1711656856391614 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711656856400836:1711656856401571 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 -1711656857470922:1711656857473410 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711656857470922:1711656857477869 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711656857480204:1711656859210791 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711656857480204:1711656859241743 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711656859248367:1711656859249418 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711656859252280:1711656859253011 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +3802695189176899:3802695189384150 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a4ff000, , ) = 0 +3802695189405850:3802695189607562 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a4ff000, , , , , ) = 0 +3802695189821613:3802695191089993 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695189821613:3802695191101443 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695191112023:3802695191130733 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a4ff000) = 0 +3802695191134723:3802695191183164 1963:1966 hsaKmtDeregisterMemory(0x7f706a4ff000) = 0 +3802695191198834:3802695191331175 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a0fe000, , ) = 0 +3802695191336065:3802695191485766 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a0fe000, , , , , ) = 0 +3802695191693717:3802695192574064 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695191693717:3802695192578714 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695192784755:3802695193835763 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695192784755:3802695193846973 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695193854843:3802695193859153 1963:1966 hsaKmtGetClockCounters(, ) = 0 +3802695193865014:3802695193881964 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a0fe000) = 0 +3802695193885574:3802695193926624 1963:1966 hsaKmtDeregisterMemory(0x7f706a0fe000) = 0 PASSED! ## Iteration (84) ################# -1711656874669405:1711656874671399 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711656874681240:1711656874681741 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 -1711656875749514:1711656875751887 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711656875749514:1711656875756262 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711656875758602:1711656877484323 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711656875758602:1711656877515125 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711656877521082:1711656877522162 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711656877525079:1711656877525754 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +3802695201138727:3802695201344348 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a4ff000, , ) = 0 +3802695201365479:3802695201944173 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a4ff000, , , , , ) = 0 +3802695202159234:3802695203414824 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695202159234:3802695203426374 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695203437214:3802695203456244 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a4ff000) = 0 +3802695203460284:3802695203508374 1963:1966 hsaKmtDeregisterMemory(0x7f706a4ff000) = 0 +3802695203523105:3802695203654926 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a0fe000, , ) = 0 +3802695203659776:3802695203807347 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a0fe000, , , , , ) = 0 +3802695204015218:3802695205025166 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695204015218:3802695205036396 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695205243947:3802695206476427 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695205243947:3802695206487647 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695206495177:3802695206499487 1963:1966 hsaKmtGetClockCounters(, ) = 0 +3802695206505527:3802695206522117 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a0fe000) = 0 +3802695206525757:3802695206567097 1963:1966 hsaKmtDeregisterMemory(0x7f706a0fe000) = 0 PASSED! ## Iteration (83) ################# -1711656892933149:1711656892935332 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711656892944251:1711656892944826 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 -1711656894015978:1711656894018288 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711656894015978:1711656894022855 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711656894025198:1711656895752228 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711656894025198:1711656895783276 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711656895789479:1711656895790534 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711656895793552:1711656895794184 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +3802695213715370:3802695213921952 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a4ff000, , ) = 0 +3802695213944222:3802695214150444 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a4ff000, , , , , ) = 0 +3802695214365055:3802695215623825 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695214365055:3802695215635395 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695215645835:3802695215665145 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a4ff000) = 0 +3802695215669085:3802695215716995 1963:1966 hsaKmtDeregisterMemory(0x7f706a4ff000) = 0 +3802695215731545:3802695215864276 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a0fe000, , ) = 0 +3802695215869076:3802695216034158 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a0fe000, , , , , ) = 0 +3802695216242489:3802695217020855 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695216242489:3802695217032085 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695217239457:3802695218471956 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695217239457:3802695218483196 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695218490606:3802695218495186 1963:1966 hsaKmtGetClockCounters(, ) = 0 +3802695218501136:3802695218518256 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a0fe000) = 0 +3802695218521826:3802695218562896 1963:1966 hsaKmtDeregisterMemory(0x7f706a0fe000) = 0 PASSED! ## Iteration (82) ################# -1711656911172906:1711656911174657 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711656911183914:1711656911184379 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 -1711656912251409:1711656912253788 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711656912251409:1711656912258288 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711656912260623:1711656913988966 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711656912260623:1711656914020211 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711656914026377:1711656914027488 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711656914030341:1711656914031038 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +3802695225848920:3802695226055811 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a4ff000, , ) = 0 +3802695226078132:3802695226286893 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a4ff000, , , , , ) = 0 +3802695226501125:3802695227771844 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695226501125:3802695227783344 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695227793904:3802695227813024 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a4ff000) = 0 +3802695227817034:3802695227866685 1963:1966 hsaKmtDeregisterMemory(0x7f706a4ff000) = 0 +3802695227882365:3802695228024326 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a0fe000, , ) = 0 +3802695228029596:3802695228183537 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a0fe000, , , , , ) = 0 +3802695228391719:3802695229381876 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695228391719:3802695229393126 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695229600648:3802695230781387 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695229600648:3802695230792637 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695230800167:3802695230804357 1963:1966 hsaKmtGetClockCounters(, ) = 0 +3802695230810247:3802695230827567 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a0fe000) = 0 +3802695230831217:3802695230872517 1963:1966 hsaKmtDeregisterMemory(0x7f706a0fe000) = 0 PASSED! ## Iteration (81) ################# -1711656929431555:1711656929433507 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711656929442125:1711656929442654 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 -1711656930512066:1711656930514578 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711656930512066:1711656930519346 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711656930521752:1711656932094181 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711656930521752:1711656932125014 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711656932131303:1711656932132375 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711656932135436:1711656932136165 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +3802695238370033:3802695238576454 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a4ff000, , ) = 0 +3802695238598095:3802695238803236 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a4ff000, , , , , ) = 0 +3802695239017028:3802695240344028 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695239017028:3802695240354358 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695240364018:3802695240383118 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a4ff000) = 0 +3802695240387018:3802695240435408 1963:1966 hsaKmtDeregisterMemory(0x7f706a4ff000) = 0 +3802695240450178:3802695240582729 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a0fe000, , ) = 0 +3802695240587459:3802695240740361 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a0fe000, , , , , ) = 0 +3802695240948382:3802695242027040 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695240948382:3802695242038220 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695242245622:3802695243449101 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695242245622:3802695243460351 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695243468321:3802695243472621 1963:1966 hsaKmtGetClockCounters(, ) = 0 +3802695243478641:3802695243496031 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a0fe000) = 0 +3802695243499611:3802695243540951 1963:1966 hsaKmtDeregisterMemory(0x7f706a0fe000) = 0 PASSED! ## Iteration (80) ################# -1711656947574536:1711656947576549 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711656947586202:1711656947586761 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 -1711656948643724:1711656948646165 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711656948643724:1711656948650694 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711656948653067:1711656949014917 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711656948653067:1711656949045355 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711656949051155:1711656949052098 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711656949054821:1711656949055480 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +3802695250944186:3802695251148367 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a4ff000, , ) = 0 +3802695251170877:3802695251377349 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a4ff000, , , , , ) = 0 +3802695251591671:3802695252851340 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695251591671:3802695252862810 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695252872790:3802695252892230 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a4ff000) = 0 +3802695252896280:3802695252945101 1963:1966 hsaKmtDeregisterMemory(0x7f706a4ff000) = 0 +3802695252960361:3802695253093802 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a0fe000, , ) = 0 +3802695253098522:3802695253250333 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a0fe000, , , , , ) = 0 +3802695253458154:3802695254465942 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695253458154:3802695254477122 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695254684754:3802695255848292 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695254684754:3802695255859542 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695255867132:3802695255871442 1963:1966 hsaKmtGetClockCounters(, ) = 0 +3802695255877312:3802695255895073 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a0fe000) = 0 +3802695255898723:3802695255939813 1963:1966 hsaKmtDeregisterMemory(0x7f706a0fe000) = 0 PASSED! ## Iteration (79) ################# -1711656964494014:1711656964495965 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711656964504554:1711656964505046 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 -1711656965558584:1711656965561047 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711656965558584:1711656965565793 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711656965568365:1711656965932999 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711656965568365:1711656965963627 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711656965969259:1711656965970266 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711656965972987:1711656965973561 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +3802695263300058:3802695263502809 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a4ff000, , ) = 0 +3802695263524729:3802695263734351 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a4ff000, , , , , ) = 0 +3802695263950422:3802695265358643 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695263950422:3802695265370233 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695265381073:3802695265399703 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a4ff000) = 0 +3802695265403653:3802695265452674 1963:1966 hsaKmtDeregisterMemory(0x7f706a4ff000) = 0 +3802695265467634:3802695265599145 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a0fe000, , ) = 0 +3802695265603815:3802695265755466 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a0fe000, , , , , ) = 0 +3802695265963527:3802695267023805 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695265963527:3802695267035025 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695267242217:3802695268286275 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695267242217:3802695268296275 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695268303335:3802695268307595 1963:1966 hsaKmtGetClockCounters(, ) = 0 +3802695268313575:3802695268330145 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a0fe000) = 0 +3802695268333815:3802695268375555 1963:1966 hsaKmtDeregisterMemory(0x7f706a0fe000) = 0 PASSED! ## Iteration (78) ################# -1711656981461182:1711656981462936 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711656981471704:1711656981472250 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 -1711656982522203:1711656982524685 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711656982522203:1711656982529348 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711656982531677:1711656982894842 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711656982531677:1711656982924724 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711656982930514:1711656982931508 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711656982934181:1711656982934897 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +3802695275682199:3802695275890750 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a4ff000, , ) = 0 +3802695275912421:3802695276121432 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a4ff000, , , , , ) = 0 +3802695276336134:3802695277595343 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695276336134:3802695277606813 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695277617513:3802695277636613 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a4ff000) = 0 +3802695277640723:3802695277689054 1963:1966 hsaKmtDeregisterMemory(0x7f706a4ff000) = 0 +3802695277704094:3802695277835825 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a0fe000, , ) = 0 +3802695277840645:3802695277992066 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a0fe000, , , , , ) = 0 +3802695278199968:3802695279008154 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695278199968:3802695279019384 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695279226895:3802695280270943 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695279226895:3802695280281003 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695280288093:3802695280292373 1963:1966 hsaKmtGetClockCounters(, ) = 0 +3802695280298203:3802695280315383 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a0fe000) = 0 +3802695280318893:3802695280360894 1963:1966 hsaKmtDeregisterMemory(0x7f706a0fe000) = 0 PASSED! ## Iteration (77) ################# -1711656998339159:1711656998340719 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711656998349588:1711656998350151 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 -1711656999407374:1711656999409985 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711656999407374:1711656999414680 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711656999417027:1711656999777895 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711656999417027:1711656999807717 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711656999813531:1711656999814550 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711656999817201:1711656999817768 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +3802695287528027:3802695287735889 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a4ff000, , ) = 0 +3802695287757199:3802695287960750 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a4ff000, , , , , ) = 0 +3802695288175352:3802695289434871 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695288175352:3802695289446391 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695289456231:3802695289476411 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a4ff000) = 0 +3802695289480442:3802695289529342 1963:1966 hsaKmtDeregisterMemory(0x7f706a4ff000) = 0 +3802695289543892:3802695289674423 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a0fe000, , ) = 0 +3802695289679113:3802695289830564 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a0fe000, , , , , ) = 0 +3802695290038586:3802695291023063 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695290038586:3802695291034283 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695291241875:3802695292493754 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695291241875:3802695292503714 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695292510854:3802695292515204 1963:1966 hsaKmtGetClockCounters(, ) = 0 +3802695292521124:3802695292539874 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a0fe000) = 0 +3802695292543534:3802695292585765 1963:1966 hsaKmtDeregisterMemory(0x7f706a0fe000) = 0 PASSED! ## Iteration (76) ################# -1711657015236231:1711657015238126 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711657015247662:1711657015248231 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 -1711657016306268:1711657016308595 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711657016306268:1711657016313080 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711657016315435:1711657016675796 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711657016315435:1711657016706366 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711657016712301:1711657016713232 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711657016715872:1711657016716437 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +3802695299851788:3802695300086190 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a4ff000, , ) = 0 +3802695300107410:3802695300318851 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a4ff000, , , , , ) = 0 +3802695300532753:3802695301801462 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695300532753:3802695301813072 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695301823353:3802695301842743 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a4ff000) = 0 +3802695301846683:3802695301895003 1963:1966 hsaKmtDeregisterMemory(0x7f706a4ff000) = 0 +3802695301910433:3802695302040794 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a0fe000, , ) = 0 +3802695302045594:3802695302196515 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a0fe000, , , , , ) = 0 +3802695302404307:3802695303369234 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695302404307:3802695303380464 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695303587826:3802695304743344 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695303587826:3802695304754604 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695304762344:3802695304766904 1963:1966 hsaKmtGetClockCounters(, ) = 0 +3802695304773074:3802695304790375 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a0fe000) = 0 +3802695304793935:3802695304834955 1963:1966 hsaKmtDeregisterMemory(0x7f706a0fe000) = 0 PASSED! ## Iteration (75) ################# -1711657032214374:1711657032216129 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711657032225646:1711657032226219 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 -1711657033278396:1711657033280880 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711657033278396:1711657033285367 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711657033287870:1711657033647498 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711657033287870:1711657033678394 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711657033684621:1711657033685654 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711657033688645:1711657033689260 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +3802695312189840:3802695312396551 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a4ff000, , ) = 0 +3802695312418941:3802695312626213 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a4ff000, , , , , ) = 0 +3802695312840134:3802695314131964 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695312840134:3802695314143814 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695314153794:3802695314172684 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a4ff000) = 0 +3802695314176684:3802695314224795 1963:1966 hsaKmtDeregisterMemory(0x7f706a4ff000) = 0 +3802695314239785:3802695314371736 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a0fe000, , ) = 0 +3802695314376656:3802695314526267 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a0fe000, , , , , ) = 0 +3802695314734039:3802695315656695 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695314734039:3802695315667916 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695315875617:3802695316924255 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695315875617:3802695316935465 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695316942815:3802695316947075 1963:1966 hsaKmtGetClockCounters(, ) = 0 +3802695316952955:3802695316970185 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a0fe000) = 0 +3802695316973765:3802695317015536 1963:1966 hsaKmtDeregisterMemory(0x7f706a0fe000) = 0 PASSED! ## Iteration (74) ################# -1711657049084492:1711657049086124 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711657049095231:1711657049095760 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 -1711657050147063:1711657050149538 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711657050147063:1711657050154207 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711657050156552:1711657050515047 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711657050156552:1711657050518177 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711657050535402:1711657050536549 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711657050549311:1711657050549797 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +3802695324253789:3802695324458080 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a4ff000, , ) = 0 +3802695324480640:3802695324675012 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a4ff000, , , , , ) = 0 +3802695324888603:3802695326185103 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695324888603:3802695326196623 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695326207373:3802695326227213 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a4ff000) = 0 +3802695326231163:3802695326279254 1963:1966 hsaKmtDeregisterMemory(0x7f706a4ff000) = 0 +3802695326294464:3802695326426255 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a0fe000, , ) = 0 +3802695326431105:3802695326595506 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a0fe000, , , , , ) = 0 +3802695326803518:3802695327715824 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695326803518:3802695327727004 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695327934466:3802695328984024 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695327934466:3802695328995294 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695329002704:3802695329006804 1963:1966 hsaKmtGetClockCounters(, ) = 0 +3802695329012914:3802695329029394 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a0fe000) = 0 +3802695329033014:3802695329074994 1963:1966 hsaKmtDeregisterMemory(0x7f706a0fe000) = 0 PASSED! ## Iteration (73) ################# -1711657066006262:1711657066007828 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711657066016023:1711657066016698 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 -1711657067068631:1711657067070789 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711657067068631:1711657067075057 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711657067077338:1711657067434338 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711657067077338:1711657067437457 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711657067454201:1711657067455137 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711657067468020:1711657067468509 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +3802695336258308:3802695336462309 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a4ff000, , ) = 0 +3802695336484570:3802695336679231 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a4ff000, , , , , ) = 0 +3802695336892963:3802695338203782 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695336892963:3802695338215472 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695338225643:3802695338245093 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a4ff000) = 0 +3802695338249083:3802695338298413 1963:1966 hsaKmtDeregisterMemory(0x7f706a4ff000) = 0 +3802695338313533:3802695338445964 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a0fe000, , ) = 0 +3802695338450734:3802695338603445 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a0fe000, , , , , ) = 0 +3802695338811367:3802695339750214 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695338811367:3802695339761424 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695339969165:3802695341018443 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695339969165:3802695341029613 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695341037173:3802695341041463 1963:1966 hsaKmtGetClockCounters(, ) = 0 +3802695341056854:3802695341073614 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a0fe000) = 0 +3802695341077214:3802695341118364 1963:1966 hsaKmtDeregisterMemory(0x7f706a0fe000) = 0 PASSED! ## Iteration (72) ################# -1711657082970295:1711657082971700 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711657082979794:1711657082980285 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 -1711657084030311:1711657084032835 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711657084030311:1711657084037222 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711657084039495:1711657084416119 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711657084039495:1711657084429521 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711657084436823:1711657084447916 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711657084450578:1711657084451085 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +3802695348313977:3802695348520399 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a4ff000, , ) = 0 +3802695348542049:3802695348748731 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a4ff000, , , , , ) = 0 +3802695348963262:3802695350315682 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695348963262:3802695350327212 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695350337512:3802695350356272 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a4ff000) = 0 +3802695350360262:3802695350408303 1963:1966 hsaKmtDeregisterMemory(0x7f706a4ff000) = 0 +3802695350423213:3802695350555144 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a0fe000, , ) = 0 +3802695350559834:3802695350710285 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a0fe000, , , , , ) = 0 +3802695350918196:3802695351847843 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695350918196:3802695351858993 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695352066915:3802695353395515 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695352066915:3802695353406725 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695353414155:3802695353418895 1963:1966 hsaKmtGetClockCounters(, ) = 0 +3802695353424945:3802695353441985 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a0fe000) = 0 +3802695353445675:3802695353487765 1963:1966 hsaKmtDeregisterMemory(0x7f706a0fe000) = 0 PASSED! ## Iteration (71) ################# -1711657099857629:1711657099859257 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711657099867404:1711657099868075 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 -1711657100926202:1711657100928336 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711657100926202:1711657100933125 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711657100935367:1711657101294403 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711657100935367:1711657101324786 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711657101330852:1711657101331806 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711657101334522:1711657101335133 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +3802695360641458:3802695360845610 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a4ff000, , ) = 0 +3802695360869830:3802695361078782 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a4ff000, , , , , ) = 0 +3802695361293533:3802695362552073 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695361293533:3802695362563523 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695362573933:3802695362594003 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a4ff000) = 0 +3802695362597973:3802695362646353 1963:1966 hsaKmtDeregisterMemory(0x7f706a4ff000) = 0 +3802695362661543:3802695362793274 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a0fe000, , ) = 0 +3802695362798134:3802695362947826 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a0fe000, , , , , ) = 0 +3802695363155607:3802695363960423 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695363155607:3802695363971633 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695364179455:3802695365404554 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695364179455:3802695365415804 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695365423084:3802695365427394 1963:1966 hsaKmtGetClockCounters(, ) = 0 +3802695365433354:3802695365450774 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a0fe000) = 0 +3802695365454424:3802695365495975 1963:1966 hsaKmtDeregisterMemory(0x7f706a0fe000) = 0 PASSED! ## Iteration (70) ################# -1711657116790034:1711657116792179 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711657116800154:1711657116800730 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 -1711657117851421:1711657117853971 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711657117851421:1711657117858302 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711657117860644:1711657118223608 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711657117860644:1711657118253440 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711657118259150:1711657118260081 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711657118262787:1711657118263416 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +3802695372913070:3802695373120911 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a4ff000, , ) = 0 +3802695373143391:3802695373350553 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a4ff000, , , , , ) = 0 +3802695373565064:3802695374830133 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695373565064:3802695374841623 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695374852084:3802695374870964 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a4ff000) = 0 +3802695374874904:3802695374923744 1963:1966 hsaKmtDeregisterMemory(0x7f706a4ff000) = 0 +3802695374939434:3802695375071825 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a0fe000, , ) = 0 +3802695375076435:3802695375227306 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a0fe000, , , , , ) = 0 +3802695375435168:3802695376399555 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695375435168:3802695376404205 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695376610206:3802695377789365 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695376610206:3802695377800605 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695377807965:3802695377812205 1963:1966 hsaKmtGetClockCounters(, ) = 0 +3802695377818165:3802695377836056 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a0fe000) = 0 +3802695377839636:3802695377881626 1963:1966 hsaKmtDeregisterMemory(0x7f706a0fe000) = 0 PASSED! ## Iteration (69) ################# -1711657133763359:1711657133765001 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711657133774012:1711657133774665 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 -1711657134827583:1711657134829934 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711657134827583:1711657134834398 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711657134836713:1711657135194437 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711657134836713:1711657135224483 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711657135230233:1711657135231228 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711657135233936:1711657135234520 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +3802695385123130:3802695385329151 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a4ff000, , ) = 0 +3802695385351431:3802695385559133 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a4ff000, , , , , ) = 0 +3802695385773895:3802695387044494 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695385773895:3802695387056014 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695387066224:3802695387085814 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a4ff000) = 0 +3802695387089744:3802695387138095 1963:1966 hsaKmtDeregisterMemory(0x7f706a4ff000) = 0 +3802695387153115:3802695387285776 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a0fe000, , ) = 0 +3802695387290716:3802695387440787 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a0fe000, , , , , ) = 0 +3802695387648799:3802695388522445 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695387648799:3802695388526835 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695388732747:3802695389782924 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695388732747:3802695389794144 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695389801595:3802695389805905 1963:1966 hsaKmtGetClockCounters(, ) = 0 +3802695389811685:3802695389828315 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a0fe000) = 0 +3802695389831925:3802695389873025 1963:1966 hsaKmtDeregisterMemory(0x7f706a0fe000) = 0 PASSED! ## Iteration (68) ################# -1711657150670117:1711657150671878 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711657150681534:1711657150682164 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 -1711657151734070:1711657151736696 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711657151734070:1711657151741384 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711657151743716:1711657152105732 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711657151743716:1711657152136281 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711657152141972:1711657152142975 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711657152145667:1711657152146286 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +3802695397095739:3802695397300320 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a4ff000, , ) = 0 +3802695397322300:3802695397529482 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a4ff000, , , , , ) = 0 +3802695397743213:3802695399022553 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695397743213:3802695399034103 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695399044683:3802695399064073 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a4ff000) = 0 +3802695399068063:3802695399116253 1963:1966 hsaKmtDeregisterMemory(0x7f706a4ff000) = 0 +3802695399131473:3802695399264614 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a0fe000, , ) = 0 +3802695399269444:3802695399419945 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a0fe000, , , , , ) = 0 +3802695399627687:3802695400506703 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695399627687:3802695400511313 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695400717325:3802695401767773 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695400717325:3802695401778983 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695401786453:3802695401790763 1963:1966 hsaKmtGetClockCounters(, ) = 0 +3802695401796813:3802695401813583 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a0fe000) = 0 +3802695401817173:3802695401859153 1963:1966 hsaKmtDeregisterMemory(0x7f706a0fe000) = 0 PASSED! ## Iteration (67) ################# -1711657167543977:1711657167545925 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711657167554496:1711657167555272 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 -1711657168617547:1711657168619815 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711657168617547:1711657168624466 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711657168626800:1711657168984526 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711657168626800:1711657169014445 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711657169020207:1711657169021224 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711657169023947:1711657169024567 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +3802695409098787:3802695409304049 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a4ff000, , ) = 0 +3802695409326029:3802695409534011 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a4ff000, , , , , ) = 0 +3802695409748892:3802695411025022 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695409748892:3802695411036532 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695411047152:3802695411065942 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a4ff000) = 0 +3802695411070092:3802695411118012 1963:1966 hsaKmtDeregisterMemory(0x7f706a4ff000) = 0 +3802695411133552:3802695411264673 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a0fe000, , ) = 0 +3802695411269473:3802695411420315 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a0fe000, , , , , ) = 0 +3802695411628396:3802695412519463 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695411628396:3802695412523823 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695412729794:3802695413779472 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695412729794:3802695413790852 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695413798242:3802695413802512 1963:1966 hsaKmtGetClockCounters(, ) = 0 +3802695413808402:3802695413826132 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a0fe000) = 0 +3802695413829712:3802695413872063 1963:1966 hsaKmtDeregisterMemory(0x7f706a0fe000) = 0 PASSED! ## Iteration (66) ################# -1711657184498512:1711657184500320 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711657184509050:1711657184509618 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 -1711657185561931:1711657185564544 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711657185561931:1711657185568856 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711657185571177:1711657185927724 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711657185571177:1711657185957903 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711657185963392:1711657185964352 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711657185966948:1711657185967564 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +3802695421089386:3802695421293808 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a4ff000, , ) = 0 +3802695421315878:3802695421524880 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a4ff000, , , , , ) = 0 +3802695421739111:3802695423023331 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695421739111:3802695423034831 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695423045141:3802695423064761 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a4ff000) = 0 +3802695423068701:3802695423117502 1963:1966 hsaKmtDeregisterMemory(0x7f706a4ff000) = 0 +3802695423132602:3802695423264483 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a0fe000, , ) = 0 +3802695423269313:3802695423419194 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a0fe000, , , , , ) = 0 +3802695423627055:3802695424520312 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695423627055:3802695424524892 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695424730853:3802695425780631 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695424730853:3802695425791861 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695425799461:3802695425803661 1963:1966 hsaKmtGetClockCounters(, ) = 0 +3802695425809801:3802695425827231 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a0fe000) = 0 +3802695425830831:3802695425872212 1963:1966 hsaKmtDeregisterMemory(0x7f706a0fe000) = 0 PASSED! ## Iteration (65) ################# -1711657201462203:1711657201463914 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711657201472644:1711657201473210 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 -1711657202528263:1711657202530888 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711657202528263:1711657202535658 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711657202538026:1711657202898012 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711657202538026:1711657202901270 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711657202918837:1711657202920121 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711657202932684:1711657202933200 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +3802695433072235:3802695433275186 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a4ff000, , ) = 0 +3802695433297496:3802695433505028 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a4ff000, , , , , ) = 0 +3802695433719860:3802695435026789 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695433719860:3802695435038339 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695435048669:3802695435067760 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a4ff000) = 0 +3802695435071720:3802695435120760 1963:1966 hsaKmtDeregisterMemory(0x7f706a4ff000) = 0 +3802695435135680:3802695435268211 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a0fe000, , ) = 0 +3802695435273161:3802695435424162 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a0fe000, , , , , ) = 0 +3802695435632164:3802695436520450 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695435632164:3802695436525010 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695436730912:3802695437781260 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695436730912:3802695437792410 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695437799750:3802695437804200 1963:1966 hsaKmtGetClockCounters(, ) = 0 +3802695437810250:3802695437827310 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a0fe000) = 0 +3802695437831030:3802695437872620 1963:1966 hsaKmtDeregisterMemory(0x7f706a0fe000) = 0 PASSED! ## Iteration (64) ################# -1711657218315478:1711657218317308 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711657218325393:1711657218325999 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 -1711657219375629:1711657219377768 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711657219375629:1711657219382420 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711657219384701:1711657219738608 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711657219384701:1711657219741948 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711657219758774:1711657219759810 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711657219771994:1711657219772465 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +3802695445115694:3802695445318926 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a4ff000, , ) = 0 +3802695445340696:3802695445547448 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a4ff000, , , , , ) = 0 +3802695445761779:3802695447028699 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695445761779:3802695447040139 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695447050229:3802695447070899 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a4ff000) = 0 +3802695447074819:3802695447123369 1963:1966 hsaKmtDeregisterMemory(0x7f706a4ff000) = 0 +3802695447138329:3802695447270740 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a0fe000, , ) = 0 +3802695447275580:3802695447423272 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a0fe000, , , , , ) = 0 +3802695447631343:3802695448511440 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695447631343:3802695448516010 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695448721951:3802695449772589 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695448721951:3802695449783739 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695449791579:3802695449795949 1963:1966 hsaKmtGetClockCounters(, ) = 0 +3802695449801889:3802695449818269 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a0fe000) = 0 +3802695449821889:3802695449863349 1963:1966 hsaKmtDeregisterMemory(0x7f706a0fe000) = 0 PASSED! ## Iteration (63) ################# -1711657235193889:1711657235195335 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711657235203739:1711657235204399 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 -1711657236257098:1711657236259667 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711657236257098:1711657236264122 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711657236266420:1711657236625007 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711657236266420:1711657236628412 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711657236645398:1711657236646428 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711657236658865:1711657236659311 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +3802695457356605:3802695457561776 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a4ff000, , ) = 0 +3802695457583696:3802695457792058 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a4ff000, , , , , ) = 0 +3802695458006749:3802695459308529 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695458006749:3802695459320359 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695459330849:3802695459350009 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a4ff000) = 0 +3802695459353919:3802695459402640 1963:1966 hsaKmtDeregisterMemory(0x7f706a4ff000) = 0 +3802695459417820:3802695459550031 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a0fe000, , ) = 0 +3802695459554781:3802695459706312 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a0fe000, , , , , ) = 0 +3802695459914154:3802695460791100 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695459914154:3802695460802280 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695461009842:3802695462058610 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695461009842:3802695462069840 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695462077440:3802695462081860 1963:1966 hsaKmtGetClockCounters(, ) = 0 +3802695462087800:3802695462104380 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a0fe000) = 0 +3802695462107960:3802695462149370 1963:1966 hsaKmtDeregisterMemory(0x7f706a0fe000) = 0 PASSED! ## Iteration (62) ################# -1711657252166567:1711657252167868 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711657252176870:1711657252177347 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 -1711657253226356:1711657253228648 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711657253226356:1711657253233152 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711657253235408:1711657253598742 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711657253235408:1711657253629324 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711657253635552:1711657253636528 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711657253639315:1711657253640032 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +3802695469383974:3802695469591946 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a4ff000, , ) = 0 +3802695469613436:3802695469819427 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a4ff000, , , , , ) = 0 +3802695470033869:3802695471308968 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695470033869:3802695471320658 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695471330539:3802695471350619 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a4ff000) = 0 +3802695471354579:3802695471402859 1963:1966 hsaKmtDeregisterMemory(0x7f706a4ff000) = 0 +3802695471418039:3802695471550700 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a0fe000, , ) = 0 +3802695471555470:3802695471708681 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a0fe000, , , , , ) = 0 +3802695471916503:3802695472782109 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695471916503:3802695472793339 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695473000911:3802695474049729 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695473000911:3802695474060959 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695474068359:3802695474072669 1963:1966 hsaKmtGetClockCounters(, ) = 0 +3802695474078609:3802695474096429 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a0fe000) = 0 +3802695474100119:3802695474141949 1963:1966 hsaKmtDeregisterMemory(0x7f706a0fe000) = 0 PASSED! ## Iteration (61) ################# -1711657269059662:1711657269061430 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711657269069918:1711657269070607 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 -1711657270124225:1711657270126667 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711657270124225:1711657270131318 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711657270133653:1711657270495291 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711657270133653:1711657270525302 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711657270531148:1711657270532137 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711657270534889:1711657270535458 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +3802695481487363:3802695481695215 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a4ff000, , ) = 0 +3802695481717175:3802695481918607 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a4ff000, , , , , ) = 0 +3802695482133018:3802695483392877 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695482133018:3802695483404338 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695483415608:3802695483435498 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a4ff000) = 0 +3802695483439578:3802695483487798 1963:1966 hsaKmtDeregisterMemory(0x7f706a4ff000) = 0 +3802695483503228:3802695483635459 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a0fe000, , ) = 0 +3802695483640269:3802695483791000 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a0fe000, , , , , ) = 0 +3802695483999012:3802695485030680 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695483999012:3802695485041920 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695485249271:3802695486482620 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695485249271:3802695486493801 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695486501041:3802695486505381 1963:1966 hsaKmtGetClockCounters(, ) = 0 +3802695486511481:3802695486528261 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a0fe000) = 0 +3802695486531931:3802695486573981 1963:1966 hsaKmtDeregisterMemory(0x7f706a0fe000) = 0 PASSED! ## Iteration (60) ################# -1711657286000076:1711657286001898 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711657286010482:1711657286011122 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 -1711657287061883:1711657287064347 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711657287061883:1711657287068737 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711657287071081:1711657287426579 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711657287071081:1711657287456706 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711657287462410:1711657287463348 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711657287466077:1711657287466753 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +3802695493742454:3802695493948496 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a4ff000, , ) = 0 +3802695493970606:3802695494178168 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a4ff000, , , , , ) = 0 +3802695494393039:3802695495652099 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695494393039:3802695495663729 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695495674239:3802695495693739 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a4ff000) = 0 +3802695495697689:3802695495746269 1963:1966 hsaKmtDeregisterMemory(0x7f706a4ff000) = 0 +3802695495761509:3802695495894450 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a0fe000, , ) = 0 +3802695495899281:3802695496081302 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a0fe000, , , , , ) = 0 +3802695496294773:3802695497051609 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695496294773:3802695497062739 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695497269691:3802695498489090 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695497269691:3802695498500220 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695498507340:3802695498511570 1963:1966 hsaKmtGetClockCounters(, ) = 0 +3802695498517760:3802695498535870 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a0fe000) = 0 +3802695498539480:3802695498585120 1963:1966 hsaKmtDeregisterMemory(0x7f706a0fe000) = 0 PASSED! ## Iteration (59) ################# -1711657302955948:1711657302957682 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711657302966103:1711657302966667 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 -1711657304035964:1711657304038381 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711657304035964:1711657304042964 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711657304045288:1711657305775993 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711657304045288:1711657305807101 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711657305813374:1711657305814407 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711657305817332:1711657305818025 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +3802695506014075:3802695506221446 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a4ff000, , ) = 0 +3802695506243737:3802695506451038 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a4ff000, , , , , ) = 0 +3802695506665330:3802695508045620 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695506665330:3802695508055760 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695508065260:3802695508084450 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a4ff000) = 0 +3802695508088580:3802695508137281 1963:1966 hsaKmtDeregisterMemory(0x7f706a4ff000) = 0 +3802695508152301:3802695508284962 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a0fe000, , ) = 0 +3802695508289692:3802695508440933 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a0fe000, , , , , ) = 0 +3802695508650245:3802695509576911 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695508650245:3802695509588042 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695509795313:3802695510845921 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695509795313:3802695510856991 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695510864321:3802695510868771 1963:1966 hsaKmtGetClockCounters(, ) = 0 +3802695510874951:3802695510893201 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a0fe000) = 0 +3802695510896811:3802695510938422 1963:1966 hsaKmtDeregisterMemory(0x7f706a0fe000) = 0 PASSED! ## Iteration (58) ################# -1711657321252365:1711657321254156 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711657321262862:1711657321263411 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 -1711657322331905:1711657322334219 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711657322331905:1711657322338626 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711657322340948:1711657324065861 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711657322340948:1711657324096954 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711657324102974:1711657324104078 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711657324107016:1711657324107751 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +3802695518143445:3802695518348637 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a4ff000, , ) = 0 +3802695518369747:3802695518575698 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a4ff000, , , , , ) = 0 +3802695518790240:3802695520068759 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695518790240:3802695520079300 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695520088920:3802695520108490 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a4ff000) = 0 +3802695520112460:3802695520161460 1963:1966 hsaKmtDeregisterMemory(0x7f706a4ff000) = 0 +3802695520176750:3802695520308361 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a0fe000, , ) = 0 +3802695520313171:3802695520464902 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a0fe000, , , , , ) = 0 +3802695520672774:3802695521585551 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695520672774:3802695521596651 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695521804532:3802695522855840 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695521804532:3802695522866930 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695522874360:3802695522878660 1963:1966 hsaKmtGetClockCounters(, ) = 0 +3802695522884590:3802695522901201 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a0fe000) = 0 +3802695522904811:3802695522946201 1963:1966 hsaKmtDeregisterMemory(0x7f706a0fe000) = 0 PASSED! ## Iteration (57) ################# -1711657339520727:1711657339522804 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711657339531588:1711657339532338 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 -1711657340618313:1711657340620777 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711657340618313:1711657340625194 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711657340627523:1711657342356840 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711657340627523:1711657342387935 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711657342394146:1711657342395166 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711657342398121:1711657342398816 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +3802695530336055:3802695530541817 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a4ff000, , ) = 0 +3802695530563157:3802695530768388 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a4ff000, , , , , ) = 0 +3802695530982570:3802695532351270 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695530982570:3802695532361530 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695532370930:3802695532390310 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a4ff000) = 0 +3802695532394320:3802695532442591 1963:1966 hsaKmtDeregisterMemory(0x7f706a4ff000) = 0 +3802695532457781:3802695532588922 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a0fe000, , ) = 0 +3802695532593672:3802695532746773 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a0fe000, , , , , ) = 0 +3802695532954495:3802695533873721 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695532954495:3802695533884821 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695534091993:3802695535140761 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695534091993:3802695535151861 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695535159081:3802695535163231 1963:1966 hsaKmtGetClockCounters(, ) = 0 +3802695535169301:3802695535187261 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a0fe000) = 0 +3802695535190881:3802695535232151 1963:1966 hsaKmtDeregisterMemory(0x7f706a0fe000) = 0 PASSED! ## Iteration (56) ################# -1711657357861850:1711657357863589 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711657357872795:1711657357873315 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 -1711657358940198:1711657358942646 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711657358940198:1711657358947414 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711657358949778:1711657360682518 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711657358949778:1711657360703497 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711657360709462:1711657360710538 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711657360713480:1711657360714154 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +3802695542671307:3802695542875378 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a4ff000, , ) = 0 +3802695542896228:3802695543104180 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a4ff000, , , , , ) = 0 +3802695543318532:3802695544576981 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695543318532:3802695544587301 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695544596851:3802695544617251 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a4ff000) = 0 +3802695544621291:3802695544670272 1963:1966 hsaKmtDeregisterMemory(0x7f706a4ff000) = 0 +3802695544685392:3802695544815483 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a0fe000, , ) = 0 +3802695544820223:3802695544972414 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a0fe000, , , , , ) = 0 +3802695545180355:3802695545998552 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695545180355:3802695546009652 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695546216983:3802695547480463 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695546216983:3802695547491673 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695547499123:3802695547503343 1963:1966 hsaKmtGetClockCounters(, ) = 0 +3802695547509273:3802695547527143 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a0fe000) = 0 +3802695547530703:3802695547572263 1963:1966 hsaKmtDeregisterMemory(0x7f706a0fe000) = 0 PASSED! ## Iteration (55) ################# -1711657376168583:1711657376170679 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711657376180334:1711657376180896 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 -1711657377251101:1711657377253384 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711657377251101:1711657377257776 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711657377260123:1711657378981944 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711657377260123:1711657379012872 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711657379019096:1711657379020218 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711657379023196:1711657379023882 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +3802695554994638:3802695555200239 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a4ff000, , ) = 0 +3802695555221690:3802695555429661 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a4ff000, , , , , ) = 0 +3802695555644603:3802695557027493 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695555644603:3802695557038993 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695557048803:3802695557070393 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a4ff000) = 0 +3802695557074333:3802695557123654 1963:1966 hsaKmtDeregisterMemory(0x7f706a4ff000) = 0 +3802695557139124:3802695557270645 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a0fe000, , ) = 0 +3802695557275505:3802695557426716 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a0fe000, , , , , ) = 0 +3802695557636747:3802695558565314 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695557636747:3802695558576424 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695558783706:3802695559832654 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695558783706:3802695559843754 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695559851214:3802695559855414 1963:1966 hsaKmtGetClockCounters(, ) = 0 +3802695559861514:3802695559878164 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a0fe000) = 0 +3802695559881704:3802695559922674 1963:1966 hsaKmtDeregisterMemory(0x7f706a0fe000) = 0 PASSED! ## Iteration (54) ################# -1711657394434191:1711657394436030 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711657394444699:1711657394445272 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 -1711657395512735:1711657395515118 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711657395512735:1711657395519745 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711657395522088:1711657397236077 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711657395522088:1711657397267142 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711657397273244:1711657397274575 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711657397277522:1711657397278136 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +3802695567291999:3802695567496731 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a4ff000, , ) = 0 +3802695567518271:3802695567711172 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a4ff000, , , , , ) = 0 +3802695567925064:3802695569216343 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695567925064:3802695569227764 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695569237654:3802695569259334 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a4ff000) = 0 +3802695569263364:3802695569312664 1963:1966 hsaKmtDeregisterMemory(0x7f706a4ff000) = 0 +3802695569328344:3802695569459875 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a0fe000, , ) = 0 +3802695569464655:3802695569623926 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a0fe000, , , , , ) = 0 +3802695569831818:3802695570755475 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695569831818:3802695570766585 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695570973767:3802695572028294 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695570973767:3802695572038994 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695572045805:3802695572050255 1963:1966 hsaKmtGetClockCounters(, ) = 0 +3802695572056315:3802695572074675 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a0fe000) = 0 +3802695572078285:3802695572119805 1963:1966 hsaKmtDeregisterMemory(0x7f706a0fe000) = 0 PASSED! ## Iteration (53) ################# -1711657412693427:1711657412695433 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711657412704609:1711657412705178 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 -1711657413773211:1711657413775510 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711657413773211:1711657413779939 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711657413782277:1711657415505393 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711657413782277:1711657415536534 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711657415542749:1711657415543828 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711657415546824:1711657415547448 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +3802695579312748:3802695579516809 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a4ff000, , ) = 0 +3802695579539000:3802695579745481 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a4ff000, , , , , ) = 0 +3802695579959963:3802695581394613 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695579959963:3802695581406013 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695581415633:3802695581434694 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a4ff000) = 0 +3802695581438634:3802695581488374 1963:1966 hsaKmtDeregisterMemory(0x7f706a4ff000) = 0 +3802695581503834:3802695581635565 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a0fe000, , ) = 0 +3802695581640625:3802695581791376 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a0fe000, , , , , ) = 0 +3802695581999388:3802695582824394 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695581999388:3802695582835484 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695583042725:3802695584086463 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695583042725:3802695584096553 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695584103833:3802695584108323 1963:1966 hsaKmtGetClockCounters(, ) = 0 +3802695584114533:3802695584132314 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a0fe000) = 0 +3802695584135914:3802695584177894 1963:1966 hsaKmtDeregisterMemory(0x7f706a0fe000) = 0 PASSED! ## Iteration (52) ################# -1711657430998582:1711657431000501 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711657431009134:1711657431009628 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 -1711657432077800:1711657432080132 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711657432077800:1711657432084656 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711657432087039:1711657433819683 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711657432087039:1711657433850630 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711657433856818:1711657433857892 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711657433860813:1711657433861489 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +3802695591385358:3802695591591649 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a4ff000, , ) = 0 +3802695591612889:3802695591819401 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a4ff000, , , , , ) = 0 +3802695592033632:3802695593384012 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695592033632:3802695593395863 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695593405483:3802695593425733 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a4ff000) = 0 +3802695593429643:3802695593479493 1963:1966 hsaKmtDeregisterMemory(0x7f706a4ff000) = 0 +3802695593494513:3802695593626524 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a0fe000, , ) = 0 +3802695593631244:3802695593784305 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a0fe000, , , , , ) = 0 +3802695593992337:3802695595028785 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695593992337:3802695595039915 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695595247166:3802695596503336 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695595247166:3802695596513146 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695596519956:3802695596524666 1963:1966 hsaKmtGetClockCounters(, ) = 0 +3802695596530496:3802695596548436 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a0fe000) = 0 +3802695596552076:3802695596593036 1963:1966 hsaKmtDeregisterMemory(0x7f706a0fe000) = 0 PASSED! ## Iteration (51) ################# -1711657449268483:1711657449270660 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711657449279282:1711657449279786 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 -1711657450348000:1711657450350361 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711657450348000:1711657450354492 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711657450356847:1711657452076308 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711657450356847:1711657452106917 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711657452113073:1711657452114136 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711657452117330:1711657452118015 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +3802695604016152:3802695604221893 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a4ff000, , ) = 0 +3802695604243403:3802695604450695 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a4ff000, , , , , ) = 0 +3802695604665006:3802695606028436 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695604665006:3802695606039836 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695606049556:3802695606068936 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a4ff000) = 0 +3802695606072896:3802695606122007 1963:1966 hsaKmtDeregisterMemory(0x7f706a4ff000) = 0 +3802695606137037:3802695606269488 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a0fe000, , ) = 0 +3802695606274378:3802695606425009 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a0fe000, , , , , ) = 0 +3802695606633040:3802695607550887 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695606633040:3802695607561987 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695607769359:3802695608821696 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695607769359:3802695608832807 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695608839957:3802695608844227 1963:1966 hsaKmtGetClockCounters(, ) = 0 +3802695608850357:3802695608868417 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a0fe000) = 0 +3802695608872027:3802695608913677 1963:1966 hsaKmtDeregisterMemory(0x7f706a0fe000) = 0 PASSED! ## Iteration (50) ################# -1711657467506151:1711657467507893 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711657467517498:1711657467518077 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 -1711657468584380:1711657468586881 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711657468584380:1711657468591673 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711657468594020:1711657470319188 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711657468594020:1711657470350862 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711657470357028:1711657470358103 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711657470361114:1711657470361839 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +3802695616131361:3802695616335182 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a4ff000, , ) = 0 +3802695616356402:3802695616564584 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a4ff000, , , , , ) = 0 +3802695616778976:3802695618045645 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695616778976:3802695618057095 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695618066545:3802695618085085 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a4ff000) = 0 +3802695618089135:3802695618137816 1963:1966 hsaKmtDeregisterMemory(0x7f706a4ff000) = 0 +3802695618152786:3802695618284817 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a0fe000, , ) = 0 +3802695618289587:3802695618438288 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a0fe000, , , , , ) = 0 +3802695618646170:3802695619561556 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695618646170:3802695619572726 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695619780098:3802695620830866 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695619780098:3802695620841956 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695620849086:3802695620853326 1963:1966 hsaKmtGetClockCounters(, ) = 0 +3802695620859016:3802695620876236 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a0fe000) = 0 +3802695620879886:3802695620921056 1963:1966 hsaKmtDeregisterMemory(0x7f706a0fe000) = 0 PASSED! ## Iteration (49) ################# -1711657485807357:1711657485809260 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711657485818816:1711657485819290 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 -1711657486889574:1711657486891929 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711657486889574:1711657486896235 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711657486898587:1711657488638473 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711657486898587:1711657488659562 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711657488665801:1711657488666876 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711657488669814:1711657488670498 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +3802695628138710:3802695628340972 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a4ff000, , ) = 0 +3802695628362732:3802695628571213 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a4ff000, , , , , ) = 0 +3802695628785635:3802695630054034 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695628785635:3802695630065424 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695630075794:3802695630097384 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a4ff000) = 0 +3802695630101394:3802695630150365 1963:1966 hsaKmtDeregisterMemory(0x7f706a4ff000) = 0 +3802695630165105:3802695630296136 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a0fe000, , ) = 0 +3802695630300896:3802695630451987 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a0fe000, , , , , ) = 0 +3802695630659848:3802695631589045 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695630659848:3802695631600195 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695631807877:3802695632859234 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695631807877:3802695632870325 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695632877495:3802695632881665 1963:1966 hsaKmtGetClockCounters(, ) = 0 +3802695632887875:3802695632906875 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a0fe000) = 0 +3802695632910525:3802695632951345 1963:1966 hsaKmtDeregisterMemory(0x7f706a0fe000) = 0 PASSED! ## Iteration (48) ################# -1711657504101000:1711657504103044 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711657504111891:1711657504112439 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 -1711657505179474:1711657505181976 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711657505179474:1711657505186518 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711657505188851:1711657506905505 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711657505188851:1711657506936590 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711657506942933:1711657506943940 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711657506946857:1711657506947547 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +3802695640173699:3802695640378980 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a4ff000, , ) = 0 +3802695640399961:3802695640609072 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a4ff000, , , , , ) = 0 +3802695640823564:3802695642089053 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695640823564:3802695642100483 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695642110733:3802695642131333 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a4ff000) = 0 +3802695642135243:3802695642184274 1963:1966 hsaKmtDeregisterMemory(0x7f706a4ff000) = 0 +3802695642199504:3802695642330425 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a0fe000, , ) = 0 +3802695642335205:3802695642486046 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a0fe000, , , , , ) = 0 +3802695642693938:3802695643618724 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695642693938:3802695643629815 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695643837446:3802695644887854 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695643837446:3802695644899014 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695644906034:3802695644910194 1963:1966 hsaKmtGetClockCounters(, ) = 0 +3802695644916184:3802695644933844 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a0fe000) = 0 +3802695644937484:3802695644979225 1963:1966 hsaKmtDeregisterMemory(0x7f706a0fe000) = 0 PASSED! ## Iteration (47) ################# -1711657522396621:1711657522398526 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711657522407474:1711657522408054 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 -1711657523480969:1711657523483651 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711657523480969:1711657523488585 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711657523490984:1711657525216514 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711657523490984:1711657525246925 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711657525252956:1711657525254034 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711657525256973:1711657525257662 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +3802695652188278:3802695652391730 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a4ff000, , ) = 0 +3802695652412460:3802695652619171 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a4ff000, , , , , ) = 0 +3802695652833973:3802695654099692 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695652833973:3802695654111433 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695654121083:3802695654140153 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a4ff000) = 0 +3802695654144113:3802695654192623 1963:1966 hsaKmtDeregisterMemory(0x7f706a4ff000) = 0 +3802695654208363:3802695654339904 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a0fe000, , ) = 0 +3802695654344614:3802695654496125 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a0fe000, , , , , ) = 0 +3802695654704017:3802695655617814 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695654704017:3802695655628994 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695655836575:3802695656886933 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695655836575:3802695656898053 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695656905223:3802695656909473 1963:1966 hsaKmtGetClockCounters(, ) = 0 +3802695656915273:3802695656931903 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a0fe000) = 0 +3802695656935533:3802695656977094 1963:1966 hsaKmtDeregisterMemory(0x7f706a0fe000) = 0 PASSED! ## Iteration (46) ################# -1711657540709054:1711657540711049 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711657540720782:1711657540721359 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 -1711657541788696:1711657541790982 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711657541788696:1711657541795516 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711657541797854:1711657543529248 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711657541797854:1711657543559847 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711657543566046:1711657543566989 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711657543569904:1711657543570536 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +3802695664194717:3802695664397448 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a4ff000, , ) = 0 +3802695664418378:3802695665033433 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a4ff000, , , , , ) = 0 +3802695665248185:3802695666506384 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695665248185:3802695666517804 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695666527444:3802695666548184 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a4ff000) = 0 +3802695666552124:3802695666601465 1963:1966 hsaKmtDeregisterMemory(0x7f706a4ff000) = 0 +3802695666615855:3802695666747506 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a0fe000, , ) = 0 +3802695666752266:3802695666902377 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a0fe000, , , , , ) = 0 +3802695667110398:3802695668061825 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695667110398:3802695668072616 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695668279777:3802695669465196 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695668279777:3802695669476296 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695669483636:3802695669488096 1963:1966 hsaKmtGetClockCounters(, ) = 0 +3802695669494086:3802695669512146 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a0fe000) = 0 +3802695669515766:3802695669556647 1963:1966 hsaKmtDeregisterMemory(0x7f706a0fe000) = 0 PASSED! ## Iteration (45) ################# -1711657559068492:1711657559070024 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711657559078832:1711657559079350 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 -1711657560134149:1711657560136546 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711657560134149:1711657560141175 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711657560143539:1711657560509259 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711657560143539:1711657560539733 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711657560545411:1711657560546408 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711657560557484:1711657560558175 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +3802695676706190:3802695676909951 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a4ff000, , ) = 0 +3802695676930841:3802695677138223 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a4ff000, , , , , ) = 0 +3802695677352245:3802695678610064 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695677352245:3802695678621584 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695678631364:3802695678649944 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a4ff000) = 0 +3802695678653804:3802695678702175 1963:1966 hsaKmtDeregisterMemory(0x7f706a4ff000) = 0 +3802695678716595:3802695678848956 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a0fe000, , ) = 0 +3802695678853616:3802695679002837 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a0fe000, , , , , ) = 0 +3802695679210898:3802695680025954 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695679210898:3802695680036295 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695680243156:3802695681491605 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695680243156:3802695681502835 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695681509905:3802695681514255 1963:1966 hsaKmtGetClockCounters(, ) = 0 +3802695681519945:3802695681536835 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a0fe000) = 0 +3802695681540535:3802695681581626 1963:1966 hsaKmtDeregisterMemory(0x7f706a0fe000) = 0 PASSED! ## Iteration (44) ################# -1711657575972838:1711657575974656 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711657575984875:1711657575985444 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 -1711657577042677:1711657577045248 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711657577042677:1711657577050138 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711657577052511:1711657577412859 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711657577052511:1711657577442341 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711657577448364:1711657577449286 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711657577451931:1711657577452539 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +3802695688746689:3802695688952710 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a4ff000, , ) = 0 +3802695688975000:3802695689184292 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a4ff000, , , , , ) = 0 +3802695689398793:3802695690651853 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695689398793:3802695690663283 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695690673253:3802695690692453 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a4ff000) = 0 +3802695690696493:3802695690745163 1963:1966 hsaKmtDeregisterMemory(0x7f706a4ff000) = 0 +3802695690760624:3802695690892725 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a0fe000, , ) = 0 +3802695690897575:3802695691047066 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a0fe000, , , , , ) = 0 +3802695691255067:3802695692052233 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695691255067:3802695692062073 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695692269025:3802695693483084 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695692269025:3802695693494204 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695693501674:3802695693505884 1963:1966 hsaKmtGetClockCounters(, ) = 0 +3802695693512034:3802695693530214 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a0fe000) = 0 +3802695693533864:3802695693574724 1963:1966 hsaKmtDeregisterMemory(0x7f706a0fe000) = 0 PASSED! ## Iteration (43) ################# -1711657592924853:1711657592926668 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711657592935801:1711657592936386 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 -1711657593989073:1711657593991454 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711657593989073:1711657593996056 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711657593998372:1711657594357272 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711657593998372:1711657594387112 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711657594392992:1711657594393955 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711657594396644:1711657594397204 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +3802695700871829:3802695701076300 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a4ff000, , ) = 0 +3802695701097610:3802695701307402 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a4ff000, , , , , ) = 0 +3802695701521444:3802695702795553 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695701521444:3802695702807023 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695702817023:3802695702838073 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a4ff000) = 0 +3802695702842043:3802695702890524 1963:1966 hsaKmtDeregisterMemory(0x7f706a4ff000) = 0 +3802695702905774:3802695703037465 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a0fe000, , ) = 0 +3802695703042295:3802695703195146 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a0fe000, , , , , ) = 0 +3802695703403098:3802695704399005 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695703403098:3802695704403745 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695704610086:3802695705789755 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695704610086:3802695705800865 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695705808175:3802695705812275 1963:1966 hsaKmtGetClockCounters(, ) = 0 +3802695705818025:3802695705836375 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a0fe000) = 0 +3802695705840045:3802695705881716 1963:1966 hsaKmtDeregisterMemory(0x7f706a0fe000) = 0 PASSED! ## Iteration (42) ################# -1711657609864698:1711657609866496 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711657609876260:1711657609876771 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 -1711657610932398:1711657610934951 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711657610932398:1711657610939418 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711657610941746:1711657611302185 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711657610941746:1711657611332046 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711657611337781:1711657611338747 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711657611341469:1711657611342057 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +3802695713105519:3802695713309600 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a4ff000, , ) = 0 +3802695713330841:3802695713537822 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a4ff000, , , , , ) = 0 +3802695713752344:3802695715026843 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695713752344:3802695715038223 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695715048183:3802695715069434 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a4ff000) = 0 +3802695715073424:3802695715122544 1963:1966 hsaKmtDeregisterMemory(0x7f706a4ff000) = 0 +3802695715137024:3802695715269825 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a0fe000, , ) = 0 +3802695715274765:3802695715424446 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a0fe000, , , , , ) = 0 +3802695715632418:3802695716523134 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695715632418:3802695716527614 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695716733686:3802695717783334 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695716733686:3802695717794444 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695717801664:3802695717805774 1963:1966 hsaKmtGetClockCounters(, ) = 0 +3802695717811484:3802695717828344 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a0fe000) = 0 +3802695717831984:3802695717873364 1963:1966 hsaKmtDeregisterMemory(0x7f706a0fe000) = 0 PASSED! ## Iteration (41) ################# -1711657626718794:1711657626720527 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711657626729801:1711657626730369 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 -1711657627786468:1711657627788946 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711657627786468:1711657627793271 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711657627795616:1711657628150436 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711657627795616:1711657628180451 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711657628185994:1711657628187078 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711657628189786:1711657628190411 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +3802695725104908:3802695725310350 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a4ff000, , ) = 0 +3802695725331570:3802695725537711 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a4ff000, , , , , ) = 0 +3802695725751163:3802695727028302 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695725751163:3802695727039863 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695727049993:3802695727070373 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a4ff000) = 0 +3802695727074373:3802695727122953 1963:1966 hsaKmtDeregisterMemory(0x7f706a4ff000) = 0 +3802695727138043:3802695727269844 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a0fe000, , ) = 0 +3802695727274664:3802695727423915 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a0fe000, , , , , ) = 0 +3802695727632167:3802695728513404 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695727632167:3802695728518074 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695728724005:3802695729774663 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695728724005:3802695729785773 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695729792993:3802695729797463 1963:1966 hsaKmtGetClockCounters(, ) = 0 +3802695729803193:3802695729819653 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a0fe000) = 0 +3802695729823243:3802695729864194 1963:1966 hsaKmtDeregisterMemory(0x7f706a0fe000) = 0 PASSED! ## Iteration (40) ################# -1711657643606918:1711657643608884 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711657643617569:1711657643618124 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 -1711657644675075:1711657644677306 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711657644675075:1711657644681779 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711657644684072:1711657645041810 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711657644684072:1711657645072248 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711657645077972:1711657645078925 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711657645081597:1711657645082475 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +3802695737105117:3802695737310008 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a4ff000, , ) = 0 +3802695737331858:3802695737539880 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a4ff000, , , , , ) = 0 +3802695737754171:3802695739028901 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695737754171:3802695739040341 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695739050701:3802695739070601 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a4ff000) = 0 +3802695739074501:3802695739123572 1963:1966 hsaKmtDeregisterMemory(0x7f706a4ff000) = 0 +3802695739138182:3802695739270623 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a0fe000, , ) = 0 +3802695739275453:3802695739426474 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a0fe000, , , , , ) = 0 +3802695739634545:3802695740507372 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695739634545:3802695740511812 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695740718034:3802695741768831 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695740718034:3802695741779961 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695741787471:3802695741791902 1963:1966 hsaKmtGetClockCounters(, ) = 0 +3802695741797632:3802695741815862 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a0fe000) = 0 +3802695741819522:3802695741861592 1963:1966 hsaKmtDeregisterMemory(0x7f706a0fe000) = 0 PASSED! ## Iteration (39) ################# -1711657660568169:1711657660570249 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711657660578894:1711657660579456 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 -1711657661633656:1711657661636034 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711657661633656:1711657661640434 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711657661642778:1711657662000315 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711657661642778:1711657662003507 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711657662020554:1711657662021690 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711657662034393:1711657662034842 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +3802695749078966:3802695749283057 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a4ff000, , ) = 0 +3802695749304677:3802695749528089 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a4ff000, , , , , ) = 0 +3802695749742291:3802695751028350 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695749742291:3802695751039740 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695751049560:3802695751070871 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a4ff000) = 0 +3802695751074831:3802695751123731 1963:1966 hsaKmtDeregisterMemory(0x7f706a4ff000) = 0 +3802695751138781:3802695751269002 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a0fe000, , ) = 0 +3802695751273732:3802695751421923 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a0fe000, , , , , ) = 0 +3802695751630195:3802695752513371 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695751630195:3802695752518121 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695752724093:3802695753774821 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695752724093:3802695753785891 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695753793121:3802695753797361 1963:1966 hsaKmtGetClockCounters(, ) = 0 +3802695753803111:3802695753819941 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a0fe000) = 0 +3802695753823611:3802695753865101 1963:1966 hsaKmtDeregisterMemory(0x7f706a0fe000) = 0 PASSED! ## Iteration (38) ################# -1711657677406311:1711657677407937 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711657677417218:1711657677417700 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 -1711657678467367:1711657678469786 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711657678467367:1711657678474398 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711657678476850:1711657678830369 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711657678476850:1711657678833746 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711657678851355:1711657678852512 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711657678865014:1711657678865463 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +3802695761087954:3802695761294596 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a4ff000, , ) = 0 +3802695761316266:3802695761529828 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a4ff000, , , , , ) = 0 +3802695761744469:3802695763030749 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695761744469:3802695763042309 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695763052289:3802695763071879 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a4ff000) = 0 +3802695763075719:3802695763124439 1963:1966 hsaKmtDeregisterMemory(0x7f706a4ff000) = 0 +3802695763139039:3802695763269730 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a0fe000, , ) = 0 +3802695763274480:3802695763424292 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a0fe000, , , , , ) = 0 +3802695763632363:3802695764524180 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695763632363:3802695764528620 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695764734681:3802695765783929 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695764734681:3802695765794999 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695765802139:3802695765806469 1963:1966 hsaKmtGetClockCounters(, ) = 0 +3802695765812209:3802695765829279 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a0fe000) = 0 +3802695765832920:3802695765873980 1963:1966 hsaKmtDeregisterMemory(0x7f706a0fe000) = 0 PASSED! ## Iteration (37) ################# -1711657694309553:1711657694310846 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711657694318693:1711657694319173 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 -1711657695372862:1711657695375055 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711657695372862:1711657695379345 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711657695381605:1711657695736647 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711657695381605:1711657695740034 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711657695757604:1711657695758635 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711657695770966:1711657695771432 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +3802695773107104:3802695773315125 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a4ff000, , ) = 0 +3802695773337665:3802695773545517 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a4ff000, , , , , ) = 0 +3802695773760558:3802695775027068 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695773760558:3802695775038958 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695775048548:3802695775069378 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a4ff000) = 0 +3802695775073278:3802695775122689 1963:1966 hsaKmtDeregisterMemory(0x7f706a4ff000) = 0 +3802695775137839:3802695775269120 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a0fe000, , ) = 0 +3802695775273930:3802695775424521 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a0fe000, , , , , ) = 0 +3802695775632582:3802695776505409 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695775632582:3802695776510039 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695776716070:3802695777767808 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695776716070:3802695777778898 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695777785968:3802695777790348 1963:1966 hsaKmtGetClockCounters(, ) = 0 +3802695777796139:3802695777814409 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a0fe000) = 0 +3802695777818059:3802695777859739 1963:1966 hsaKmtDeregisterMemory(0x7f706a0fe000) = 0 PASSED! ## Iteration (36) ################# -1711657711265803:1711657711267185 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711657711275581:1711657711276049 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 -1711657712351827:1711657712354183 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711657712351827:1711657712358551 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711657712360813:1711657712716230 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711657712360813:1711657712719716 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711657712736840:1711657712737760 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711657712749803:1711657712750252 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +3802695785095463:3802695785298634 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a4ff000, , ) = 0 +3802695785319944:3802695785532326 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a4ff000, , , , , ) = 0 +3802695785746247:3802695787029087 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695785746247:3802695787040467 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695787050577:3802695787071927 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a4ff000) = 0 +3802695787076177:3802695787125607 1963:1966 hsaKmtDeregisterMemory(0x7f706a4ff000) = 0 +3802695787140107:3802695787271778 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a0fe000, , ) = 0 +3802695787276718:3802695787426669 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a0fe000, , , , , ) = 0 +3802695787634651:3802695788515497 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695787634651:3802695788519837 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695788725789:3802695789775387 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695788725789:3802695789786487 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695789793657:3802695789797757 1963:1966 hsaKmtGetClockCounters(, ) = 0 +3802695789803867:3802695789820837 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a0fe000) = 0 +3802695789824487:3802695789865647 1963:1966 hsaKmtDeregisterMemory(0x7f706a0fe000) = 0 PASSED! ## Iteration (35) ################# -1711657728166997:1711657728168465 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711657728176582:1711657728177061 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 -1711657729250128:1711657729252264 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711657729250128:1711657729256577 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711657729258852:1711657729615349 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711657729258852:1711657729618683 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711657729635725:1711657729636772 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711657729649292:1711657729649737 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +3802695797278223:3802695797485304 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a4ff000, , ) = 0 +3802695797507844:3802695797704786 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a4ff000, , , , , ) = 0 +3802695797919177:3802695799246427 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695797919177:3802695799257897 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695799268327:3802695799288128 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a4ff000) = 0 +3802695799292078:3802695799340538 1963:1966 hsaKmtDeregisterMemory(0x7f706a4ff000) = 0 +3802695799355748:3802695799486409 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a0fe000, , ) = 0 +3802695799491079:3802695799643310 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a0fe000, , , , , ) = 0 +3802695799851222:3802695800764699 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695799851222:3802695800775779 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695800983330:3802695802031768 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695800983330:3802695802042878 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695802050188:3802695802054488 1963:1966 hsaKmtGetClockCounters(, ) = 0 +3802695802060228:3802695802077198 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a0fe000) = 0 +3802695802080768:3802695802121519 1963:1966 hsaKmtDeregisterMemory(0x7f706a0fe000) = 0 PASSED! ## Iteration (34) ################# -1711657745099525:1711657745100818 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711657745108935:1711657745109411 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 -1711657746177161:1711657746179270 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711657746177161:1711657746183778 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711657746186246:1711657746547351 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711657746186246:1711657746550797 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711657746568090:1711657746569126 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711657746580993:1711657746581455 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +3802695809323172:3802695809528233 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a4ff000, , ) = 0 +3802695809549504:3802695809755035 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a4ff000, , , , , ) = 0 +3802695809968947:3802695811313976 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695809968947:3802695811325326 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695811335237:3802695811356437 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a4ff000) = 0 +3802695811360407:3802695811409237 1963:1966 hsaKmtDeregisterMemory(0x7f706a4ff000) = 0 +3802695811424737:3802695811557358 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a0fe000, , ) = 0 +3802695811562178:3802695811714139 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a0fe000, , , , , ) = 0 +3802695811922111:3802695812814307 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695811922111:3802695812825407 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695813032619:3802695814081117 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695813032619:3802695814092197 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695814099287:3802695814103547 1963:1966 hsaKmtGetClockCounters(, ) = 0 +3802695814109257:3802695814127297 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a0fe000) = 0 +3802695814130857:3802695814172017 1963:1966 hsaKmtDeregisterMemory(0x7f706a0fe000) = 0 PASSED! ## Iteration (33) ################# -1711657762058264:1711657762059479 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711657762067611:1711657762068234 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 -1711657763134031:1711657763136253 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711657763134031:1711657763140619 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711657763142860:1711657763492681 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711657763142860:1711657763496022 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711657763513098:1711657763513985 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711657763526029:1711657763526476 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +3802695821359211:3802695821566172 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a4ff000, , ) = 0 +3802695821587713:3802695821796924 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a4ff000, , , , , ) = 0 +3802695822010816:3802695823325736 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695822010816:3802695823337136 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695823346896:3802695823367236 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a4ff000) = 0 +3802695823371166:3802695823420366 1963:1966 hsaKmtDeregisterMemory(0x7f706a4ff000) = 0 +3802695823435346:3802695823567247 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a0fe000, , ) = 0 +3802695823572117:3802695823726359 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a0fe000, , , , , ) = 0 +3802695823934120:3802695824831237 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695823934120:3802695824842347 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695825049488:3802695826372208 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695825049488:3802695826383288 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695826390608:3802695826395078 1963:1966 hsaKmtGetClockCounters(, ) = 0 +3802695826401238:3802695826418989 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a0fe000) = 0 +3802695826422629:3802695826464839 1963:1966 hsaKmtDeregisterMemory(0x7f706a0fe000) = 0 PASSED! ## Iteration (32) ################# -1711657779018520:1711657779019755 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711657779028007:1711657779028477 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 -1711657780096222:1711657780098333 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711657780096222:1711657780102628 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711657780104878:1711657780468602 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711657780104878:1711657780471614 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711657780488466:1711657780489469 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711657780501793:1711657780502264 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +3802695833619902:3802695833825913 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a4ff000, , ) = 0 +3802695833847963:3802695834056005 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a4ff000, , , , , ) = 0 +3802695834270447:3802695835528636 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695834270447:3802695835540286 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695835550606:3802695835572076 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a4ff000) = 0 +3802695835576056:3802695835624826 1963:1966 hsaKmtDeregisterMemory(0x7f706a4ff000) = 0 +3802695835639596:3802695835769947 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a0fe000, , ) = 0 +3802695835774667:3802695835925428 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a0fe000, , , , , ) = 0 +3802695836219071:3802695836936026 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695836219071:3802695836948316 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695837158828:3802695838207495 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695837158828:3802695838215956 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695838224956:3802695838228576 1963:1966 hsaKmtGetClockCounters(, ) = 0 +3802695838237136:3802695838259946 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a0fe000) = 0 +3802695838263246:3802695838334046 1963:1966 hsaKmtDeregisterMemory(0x7f706a0fe000) = 0 PASSED! ## Iteration (31) ################# -1711657795879725:1711657795881013 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711657795889230:1711657795889711 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 -1711657796952049:1711657796954114 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711657796952049:1711657796958801 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711657796961063:1711657797316925 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711657796961063:1711657797320332 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711657797337533:1711657797338728 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711657797350519:1711657797350985 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +3802695845388099:3802695845546480 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a4ff000, , ) = 0 +3802695845554460:3802695845739901 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a4ff000, , , , , ) = 0 +3802695845948453:3802695847087562 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695845948453:3802695847096112 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695847103212:3802695847116992 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a4ff000) = 0 +3802695847120302:3802695847155172 1963:1966 hsaKmtDeregisterMemory(0x7f706a4ff000) = 0 +3802695847168032:3802695847255793 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a0fe000, , ) = 0 +3802695847259663:3802695847397444 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a0fe000, , , , , ) = 0 +3802695847603775:3802695848553772 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695847603775:3802695848557272 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695848761634:3802695849810562 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695848761634:3802695849818802 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695849824572:3802695849827752 1963:1966 hsaKmtGetClockCounters(, ) = 0 +3802695849832622:3802695849845602 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a0fe000) = 0 +3802695849848632:3802695849879912 1963:1966 hsaKmtDeregisterMemory(0x7f706a0fe000) = 0 PASSED! ## Iteration (30) ################# -1711657812655233:1711657812656532 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711657812664886:1711657812665407 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 -1711657813710361:1711657813712523 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711657813710361:1711657813716668 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711657813718945:1711657814074323 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711657813718945:1711657814077620 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711657814095163:1711657814096140 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711657814108167:1711657814108609 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +3802695856929005:3802695857023345 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a4ff000, , ) = 0 +3802695857030725:3802695857216967 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a4ff000, , , , , ) = 0 +3802695857424558:3802695858563697 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695857424558:3802695858572067 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695858579967:3802695858592897 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a4ff000) = 0 +3802695858595887:3802695858631157 1963:1966 hsaKmtDeregisterMemory(0x7f706a4ff000) = 0 +3802695858642057:3802695858728558 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a0fe000, , ) = 0 +3802695858732288:3802695858871179 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a0fe000, , , , , ) = 0 +3802695859077341:3802695859948567 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695859077341:3802695859957157 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695860162739:3802695861217346 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695860162739:3802695861225466 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695861230886:3802695861234066 1963:1966 hsaKmtGetClockCounters(, ) = 0 +3802695861239297:3802695861252367 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a0fe000) = 0 +3802695861255217:3802695861286637 1963:1966 hsaKmtDeregisterMemory(0x7f706a0fe000) = 0 PASSED! ## Iteration (29) ################# -1711657829480523:1711657829481867 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711657829489999:1711657829490477 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 -1711657830536629:1711657830538789 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711657830536629:1711657830543057 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711657830545343:1711657830899568 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711657830545343:1711657830902499 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711657830918938:1711657830919960 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711657830932249:1711657830932796 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +3802695868360839:3802695868455120 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a4ff000, , ) = 0 +3802695868462600:3802695868634751 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a4ff000, , , , , ) = 0 +3802695868842193:3802695869982161 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695868842193:3802695869990601 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695869998941:3802695870012341 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a4ff000) = 0 +3802695870015501:3802695870050072 1963:1966 hsaKmtDeregisterMemory(0x7f706a4ff000) = 0 +3802695870060732:3802695870147472 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a0fe000, , ) = 0 +3802695870151302:3802695870289393 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a0fe000, , , , , ) = 0 +3802695870495515:3802695871356451 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695870495515:3802695871365031 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695871570543:3802695872757062 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695871570543:3802695872764752 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695872770262:3802695872773512 1963:1966 hsaKmtGetClockCounters(, ) = 0 +3802695872778192:3802695872791072 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a0fe000) = 0 +3802695872794102:3802695872825672 1963:1966 hsaKmtDeregisterMemory(0x7f706a0fe000) = 0 PASSED! ## Iteration (28) ################# -1711657846217021:1711657846218296 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711657846226268:1711657846227008 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 -1711657847270495:1711657847272748 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711657847270495:1711657847276880 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711657847279147:1711657847634390 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711657847279147:1711657847637689 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711657847654748:1711657847655836 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711657847667949:1711657847668424 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +3802695879953905:3802695880053386 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a4ff000, , ) = 0 +3802695880060826:3802695880247467 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a4ff000, , , , , ) = 0 +3802695880454879:3802695881601387 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695880454879:3802695881609117 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695881615328:3802695881628298 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a4ff000) = 0 +3802695881631418:3802695881665938 1963:1966 hsaKmtDeregisterMemory(0x7f706a4ff000) = 0 +3802695881676538:3802695881763069 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a0fe000, , ) = 0 +3802695881766899:3802695881907900 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a0fe000, , , , , ) = 0 +3802695882114241:3802695882975288 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695882114241:3802695882983788 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695883189219:3802695884234027 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695883189219:3802695884241807 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695884247257:3802695884250637 1963:1966 hsaKmtGetClockCounters(, ) = 0 +3802695884255357:3802695884268127 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a0fe000) = 0 +3802695884271157:3802695884302897 1963:1966 hsaKmtDeregisterMemory(0x7f706a0fe000) = 0 PASSED! ## Iteration (27) ################# -1711657863017130:1711657863018361 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711657863026866:1711657863027406 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 -1711657864071827:1711657864073884 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711657864071827:1711657864078262 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711657864080510:1711657864412352 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711657864080510:1711657864415364 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711657864431561:1711657864432635 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711657864435462:1711657864446111 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +3802695891385489:3802695891479740 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a4ff000, , ) = 0 +3802695891487280:3802695891671972 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a4ff000, , , , , ) = 0 +3802695891879463:3802695893019782 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695891879463:3802695893028172 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695893034502:3802695893048062 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a4ff000) = 0 +3802695893051222:3802695893085962 1963:1966 hsaKmtDeregisterMemory(0x7f706a4ff000) = 0 +3802695893096742:3802695893183083 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a0fe000, , ) = 0 +3802695893186983:3802695893327084 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a0fe000, , , , , ) = 0 +3802695893533265:3802695894396342 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695893533265:3802695894404622 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695894609983:3802695895656201 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695894609983:3802695895664911 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695895670511:3802695895673691 1963:1966 hsaKmtGetClockCounters(, ) = 0 +3802695895678371:3802695895691381 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a0fe000) = 0 +3802695895694401:3802695895725792 1963:1966 hsaKmtDeregisterMemory(0x7f706a0fe000) = 0 PASSED! ## Iteration (26) ################# -1711657879723792:1711657879725200 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711657879733472:1711657879733935 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 -1711657880806870:1711657880808966 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711657880806870:1711657880813208 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711657880815429:1711657881172616 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711657880815429:1711657881175874 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711657881192847:1711657881193936 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711657881205992:1711657881206461 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +3802695903009166:3802695903103207 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a4ff000, , ) = 0 +3802695903110657:3802695903295428 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a4ff000, , , , , ) = 0 +3802695903502920:3802695904640628 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695903502920:3802695904644618 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695904649858:3802695904661228 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a4ff000) = 0 +3802695904664098:3802695904696678 1963:1966 hsaKmtDeregisterMemory(0x7f706a4ff000) = 0 +3802695904706258:3802695904791259 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a0fe000, , ) = 0 +3802695904794889:3802695904932890 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a0fe000, , , , , ) = 0 +3802695905138562:3802695906018788 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695905138562:3802695906027158 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695906232550:3802695907278638 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695906232550:3802695907287298 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695907292688:3802695907295958 1963:1966 hsaKmtGetClockCounters(, ) = 0 +3802695907300528:3802695907313878 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a0fe000) = 0 +3802695907316968:3802695907348858 1963:1966 hsaKmtDeregisterMemory(0x7f706a0fe000) = 0 PASSED! ## Iteration (25) ################# -1711657896556721:1711657896557958 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711657896566248:1711657896566724 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 -1711657897612989:1711657897615230 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711657897612989:1711657897619179 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711657897621434:1711657897974890 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711657897621434:1711657897978238 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711657897995369:1711657897996386 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711657898008650:1711657898009142 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +3802695914437550:3802695914531531 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a4ff000, , ) = 0 +3802695914539051:3802695914720132 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a4ff000, , , , , ) = 0 +3802695914927534:3802695916068332 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695914927534:3802695916076052 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695916082352:3802695916095562 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a4ff000) = 0 +3802695916098642:3802695916133033 1963:1966 hsaKmtDeregisterMemory(0x7f706a4ff000) = 0 +3802695916143643:3802695916230283 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a0fe000, , ) = 0 +3802695916234163:3802695916373504 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a0fe000, , , , , ) = 0 +3802695916579716:3802695917434842 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695916579716:3802695917443082 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695917648464:3802695918692742 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695917648464:3802695918701342 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695918706732:3802695918709912 1963:1966 hsaKmtGetClockCounters(, ) = 0 +3802695918714592:3802695918727622 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a0fe000) = 0 +3802695918730712:3802695918762562 1963:1966 hsaKmtDeregisterMemory(0x7f706a0fe000) = 0 PASSED! ## Iteration (24) ################# -1711657913262655:1711657913263897 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711657913271771:1711657913272243 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 -1711657914332718:1711657914334840 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711657914332718:1711657914339377 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711657914341679:1711657916037029 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711657914341679:1711657916040758 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711657916045556:1711657916046448 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711657916048963:1711657916049437 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +3802695925852665:3802695925946506 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a4ff000, , ) = 0 +3802695925953836:3802695926140687 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a4ff000, , , , , ) = 0 +3802695926348039:3802695927491927 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695926348039:3802695927500387 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695927506527:3802695927519427 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a4ff000) = 0 +3802695927522817:3802695927558188 1963:1966 hsaKmtDeregisterMemory(0x7f706a4ff000) = 0 +3802695927568778:3802695927655018 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a0fe000, , ) = 0 +3802695927658798:3802695927795929 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a0fe000, , , , , ) = 0 +3802695928005951:3802695928882378 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695928005951:3802695928890528 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695929095959:3802695930143477 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695929095959:3802695930151837 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695930157377:3802695930160667 1963:1966 hsaKmtGetClockCounters(, ) = 0 +3802695930165357:3802695930178467 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a0fe000) = 0 +3802695930181487:3802695930212877 1963:1966 hsaKmtDeregisterMemory(0x7f706a0fe000) = 0 PASSED! ## Iteration (23) ################# -1711657931337520:1711657931338922 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711657931347230:1711657931347891 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 -1711657932408820:1711657932410868 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711657932408820:1711657932415134 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711657932417403:1711657934144445 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711657932417403:1711657934147772 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711657934165324:1711657934166406 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711657934179444:1711657934179959 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +3802695937283510:3802695937377530 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a4ff000, , ) = 0 +3802695937384920:3802695937572012 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a4ff000, , , , , ) = 0 +3802695937779463:3802695938921772 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695937779463:3802695938930202 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695938936342:3802695938949492 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a4ff000) = 0 +3802695938952592:3802695938987012 1963:1966 hsaKmtDeregisterMemory(0x7f706a4ff000) = 0 +3802695938997822:3802695939084233 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a0fe000, , ) = 0 +3802695939088063:3802695939224684 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a0fe000, , , , , ) = 0 +3802695939430945:3802695940292732 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695939430945:3802695940296352 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695940500903:3802695941550391 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695940500903:3802695941558641 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695941564081:3802695941567261 1963:1966 hsaKmtGetClockCounters(, ) = 0 +3802695941571991:3802695941584721 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a0fe000) = 0 +3802695941587741:3802695941619671 1963:1966 hsaKmtDeregisterMemory(0x7f706a0fe000) = 0 PASSED! ## Iteration (22) ################# -1711657949500112:1711657949501759 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711657949511181:1711657949511896 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 -1711657950594881:1711657950597005 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711657950594881:1711657950601776 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711657950604095:1711657952330346 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711657950604095:1711657952344747 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711657952363002:1711657952364012 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711657952366659:1711657952367214 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +3802695948681344:3802695948776055 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a4ff000, , ) = 0 +3802695948783585:3802695948971346 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a4ff000, , , , , ) = 0 +3802695949178948:3802695950323956 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695949178948:3802695950332416 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695950338606:3802695950351726 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a4ff000) = 0 +3802695950354836:3802695950389757 1963:1966 hsaKmtDeregisterMemory(0x7f706a4ff000) = 0 +3802695950400277:3802695950486777 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a0fe000, , ) = 0 +3802695950490587:3802695950630228 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a0fe000, , , , , ) = 0 +3802695950836390:3802695951709987 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695950836390:3802695951718737 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695951924108:3802695952973516 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695951924108:3802695952981666 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695952987216:3802695952990386 1963:1966 hsaKmtGetClockCounters(, ) = 0 +3802695952995026:3802695953007826 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a0fe000) = 0 +3802695953010896:3802695953042806 1963:1966 hsaKmtDeregisterMemory(0x7f706a0fe000) = 0 PASSED! ## Iteration (21) ################# -1711657967676409:1711657967677992 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711657967686447:1711657967686921 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 -1711657968758208:1711657968760545 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711657968758208:1711657968764705 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711657968766947:1711657970505831 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711657968766947:1711657970536356 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711657970542543:1711657970543730 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711657970546722:1711657970547391 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +3802695960137499:3802695960232010 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a4ff000, , ) = 0 +3802695960239340:3802695960424871 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a4ff000, , , , , ) = 0 +3802695960632373:3802695961773811 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695960632373:3802695961782171 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695961788351:3802695961801712 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a4ff000) = 0 +3802695961804782:3802695961839742 1963:1966 hsaKmtDeregisterMemory(0x7f706a4ff000) = 0 +3802695961850162:3802695961937013 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a0fe000, , ) = 0 +3802695961940843:3802695962079724 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a0fe000, , , , , ) = 0 +3802695962285845:3802695963149612 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695962285845:3802695963158132 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695963363493:3802695964407551 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695963363493:3802695964411121 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695964416091:3802695964419321 1963:1966 hsaKmtGetClockCounters(, ) = 0 +3802695964423931:3802695964436611 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a0fe000) = 0 +3802695964439591:3802695964471541 1963:1966 hsaKmtDeregisterMemory(0x7f706a0fe000) = 0 PASSED! ## Iteration (20) ################# -1711657985990223:1711657985991831 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711657985999948:1711657986000416 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 -1711657987067936:1711657987070268 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711657987067936:1711657987074908 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711657987077277:1711657988803449 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711657987077277:1711657988834386 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711657988840511:1711657988841623 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711657988844630:1711657988845250 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +3802695971661694:3802695971755775 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a4ff000, , ) = 0 +3802695971763215:3802695971948236 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a4ff000, , , , , ) = 0 +3802695972156328:3802695973300426 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695972156328:3802695973308796 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695973315136:3802695973328237 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a4ff000) = 0 +3802695973331337:3802695973365697 1963:1966 hsaKmtDeregisterMemory(0x7f706a4ff000) = 0 +3802695973376407:3802695973462908 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a0fe000, , ) = 0 +3802695973466738:3802695973606369 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a0fe000, , , , , ) = 0 +3802695973812590:3802695974672277 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695973812590:3802695974680717 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695974886218:3802695975932536 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695974886218:3802695975941046 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695975946316:3802695975949496 1963:1966 hsaKmtGetClockCounters(, ) = 0 +3802695975955136:3802695975968016 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a0fe000) = 0 +3802695975971126:3802695976010576 1963:1966 hsaKmtDeregisterMemory(0x7f706a0fe000) = 0 PASSED! ## Iteration (19) ################# -1711658004323802:1711658004325573 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711658004334943:1711658004335450 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 -1711658005404651:1711658005407367 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711658005404651:1711658005411672 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711658005414025:1711658007134650 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711658005414025:1711658007166126 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711658007172211:1711658007173263 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711658007176239:1711658007176940 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +3802695983241760:3802695983335831 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a4ff000, , ) = 0 +3802695983343201:3802695983550283 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a4ff000, , , , , ) = 0 +3802695983757794:3802695984901343 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695983757794:3802695984909683 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695984915953:3802695984929053 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a4ff000) = 0 +3802695984932233:3802695984968153 1963:1966 hsaKmtDeregisterMemory(0x7f706a4ff000) = 0 +3802695984979023:3802695985065504 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a0fe000, , ) = 0 +3802695985069384:3802695985208855 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a0fe000, , , , , ) = 0 +3802695985414986:3802695986296743 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695985414986:3802695986305153 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695986510495:3802695987556402 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695986510495:3802695987565052 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695987570392:3802695987573662 1963:1966 hsaKmtGetClockCounters(, ) = 0 +3802695987578403:3802695987591553 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a0fe000) = 0 +3802695987594613:3802695987626413 1963:1966 hsaKmtDeregisterMemory(0x7f706a0fe000) = 0 PASSED! ## Iteration (18) ################# -1711658022620974:1711658022622840 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711658022631775:1711658022632345 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 -1711658023698027:1711658023700629 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711658023698027:1711658023705263 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711658023707586:1711658025430934 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711658023707586:1711658025461161 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711658025467234:1711658025468349 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711658025471328:1711658025472012 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +3802695994716055:3802695994809785 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a4ff000, , ) = 0 +3802695994817106:3802695995003197 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a4ff000, , , , , ) = 0 +3802695995210678:3802695996349017 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695995210678:3802695996356797 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695996363117:3802695996378597 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a4ff000) = 0 +3802695996381807:3802695996416787 1963:1966 hsaKmtDeregisterMemory(0x7f706a4ff000) = 0 +3802695996427638:3802695996514198 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a0fe000, , ) = 0 +3802695996518038:3802695996655399 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a0fe000, , , , , ) = 0 +3802695996861601:3802695997735847 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695996861601:3802695997744147 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695997949779:3802695998996117 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802695997949779:3802695999004897 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802695999010137:3802695999013307 1963:1966 hsaKmtGetClockCounters(, ) = 0 +3802695999017987:3802695999030817 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a0fe000) = 0 +3802695999033877:3802695999065777 1963:1966 hsaKmtDeregisterMemory(0x7f706a0fe000) = 0 PASSED! ## Iteration (17) ################# -1711658040907342:1711658040909465 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711658040918204:1711658040918674 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 -1711658041987640:1711658041990189 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711658041987640:1711658041995010 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711658041997402:1711658043724484 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711658041997402:1711658043755276 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711658043761482:1711658043762559 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711658043765548:1711658043766235 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +3802696006168400:3802696006263051 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a4ff000, , ) = 0 +3802696006270451:3802696006455262 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a4ff000, , , , , ) = 0 +3802696006662774:3802696007794682 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802696006662774:3802696007803262 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802696007809312:3802696007822822 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a4ff000) = 0 +3802696007825922:3802696007860433 1963:1966 hsaKmtDeregisterMemory(0x7f706a4ff000) = 0 +3802696007870913:3802696007957593 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a0fe000, , ) = 0 +3802696007961373:3802696008101364 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a0fe000, , , , , ) = 0 +3802696008308236:3802696009166312 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802696008308236:3802696009174372 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802696009379864:3802696010427262 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802696009379864:3802696010435462 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802696010441072:3802696010444282 1963:1966 hsaKmtGetClockCounters(, ) = 0 +3802696010449972:3802696010463012 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a0fe000) = 0 +3802696010466072:3802696010497892 1963:1966 hsaKmtDeregisterMemory(0x7f706a0fe000) = 0 PASSED! ## Iteration (16) ################# -1711658059215378:1711658059217158 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711658059225647:1711658059226264 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 -1711658060294921:1711658060297412 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711658060294921:1711658060302374 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711658060304776:1711658062039786 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711658060304776:1711658062071245 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711658062077500:1711658062078565 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711658062081499:1711658062082232 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +3802696017556464:3802696017650615 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a4ff000, , ) = 0 +3802696017658155:3802696017844336 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a4ff000, , , , , ) = 0 +3802696018051868:3802696019194146 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802696018051868:3802696019202606 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802696019208706:3802696019221686 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a4ff000) = 0 +3802696019224786:3802696019259087 1963:1966 hsaKmtDeregisterMemory(0x7f706a4ff000) = 0 +3802696019269657:3802696019356247 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a0fe000, , ) = 0 +3802696019360027:3802696019499108 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a0fe000, , , , , ) = 0 +3802696019705300:3802696020579456 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802696019705300:3802696020582956 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802696020787578:3802696021838036 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802696020787578:3802696021846446 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802696021851906:3802696021855086 1963:1966 hsaKmtGetClockCounters(, ) = 0 +3802696021860586:3802696021873456 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a0fe000) = 0 +3802696021876546:3802696021908256 1963:1966 hsaKmtDeregisterMemory(0x7f706a0fe000) = 0 PASSED! ## Iteration (15) ################# -1711658077542161:1711658077544001 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711658077552958:1711658077553633 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 -1711658078641751:1711658078644555 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711658078641751:1711658078648946 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711658078651314:1711658080379393 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711658078651314:1711658080410850 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711658080416857:1711658080417941 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711658080420956:1711658080421652 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +3802696029177110:3802696029271551 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a4ff000, , ) = 0 +3802696029278891:3802696029569213 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a4ff000, , , , , ) = 0 +3802696029776725:3802696030921073 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802696029776725:3802696030929373 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802696030935473:3802696030948964 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a4ff000) = 0 +3802696030952024:3802696030986814 1963:1966 hsaKmtDeregisterMemory(0x7f706a4ff000) = 0 +3802696030997504:3802696031084155 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a0fe000, , ) = 0 +3802696031087945:3802696031225966 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a0fe000, , , , , ) = 0 +3802696031432357:3802696032291383 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802696031432357:3802696032295004 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802696032499535:3802696033546783 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802696032499535:3802696033555103 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802696033560393:3802696033563563 1963:1966 hsaKmtGetClockCounters(, ) = 0 +3802696033568283:3802696033581293 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a0fe000) = 0 +3802696033584373:3802696033615933 1963:1966 hsaKmtDeregisterMemory(0x7f706a0fe000) = 0 PASSED! ## Iteration (14) ################# -1711658095799163:1711658095801028 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711658095810451:1711658095810943 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 -1711658096882629:1711658096884907 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711658096882629:1711658096889572 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711658096892008:1711658098623839 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711658096892008:1711658098654928 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711658098660984:1711658098662047 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711658098665000:1711658098665693 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +3802696040719436:3802696040813737 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a4ff000, , ) = 0 +3802696040821157:3802696041007848 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a4ff000, , , , , ) = 0 +3802696041215480:3802696042360318 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802696041215480:3802696042368578 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802696042374648:3802696042388178 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a4ff000) = 0 +3802696042391308:3802696042426128 1963:1966 hsaKmtDeregisterMemory(0x7f706a4ff000) = 0 +3802696042436508:3802696042523209 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a0fe000, , ) = 0 +3802696042527149:3802696042666940 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a0fe000, , , , , ) = 0 +3802696042873082:3802696043723048 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802696042873082:3802696043731758 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802696043937229:3802696044986957 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802696043937229:3802696044995217 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802696045000747:3802696045003967 1963:1966 hsaKmtGetClockCounters(, ) = 0 +3802696045008397:3802696045021777 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a0fe000) = 0 +3802696045024817:3802696045056368 1963:1966 hsaKmtDeregisterMemory(0x7f706a0fe000) = 0 PASSED! ## Iteration (13) ################# -1711658114069256:1711658114071401 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711658114080996:1711658114081563 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 -1711658115149557:1711658115151907 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711658115149557:1711658115156315 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711658115158655:1711658116886619 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711658115158655:1711658116917610 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711658116923972:1711658116925044 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711658116928120:1711658116928784 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +3802696052124970:3802696052219351 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a4ff000, , ) = 0 +3802696052226831:3802696052413062 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a4ff000, , , , , ) = 0 +3802696052620554:3802696053761442 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802696052620554:3802696053769762 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802696053777553:3802696053791133 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a4ff000) = 0 +3802696053794263:3802696053830403 1963:1966 hsaKmtDeregisterMemory(0x7f706a4ff000) = 0 +3802696053841113:3802696053927764 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a0fe000, , ) = 0 +3802696053931684:3802696054071345 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a0fe000, , , , , ) = 0 +3802696054277636:3802696055145713 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802696054277636:3802696055154523 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802696055359834:3802696056403092 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802696055359834:3802696056406902 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802696056411862:3802696056415012 1963:1966 hsaKmtGetClockCounters(, ) = 0 +3802696056419752:3802696056432782 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a0fe000) = 0 +3802696056435782:3802696056467983 1963:1966 hsaKmtDeregisterMemory(0x7f706a0fe000) = 0 PASSED! ## Iteration (12) ################# -1711658132369731:1711658132371259 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711658132379967:1711658132380533 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 -1711658133445548:1711658133447904 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711658133445548:1711658133452480 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711658133454994:1711658135192886 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711658133454994:1711658135224277 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711658135230274:1711658135231319 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711658135234237:1711658135234913 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +3802696063554505:3802696063648686 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a4ff000, , ) = 0 +3802696063656056:3802696063840637 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a4ff000, , , , , ) = 0 +3802696064048489:3802696065196887 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802696064048489:3802696065204597 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802696065212277:3802696065225667 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a4ff000) = 0 +3802696065228737:3802696065263418 1963:1966 hsaKmtDeregisterMemory(0x7f706a4ff000) = 0 +3802696065274228:3802696065360688 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a0fe000, , ) = 0 +3802696065364508:3802696065504519 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a0fe000, , , , , ) = 0 +3802696065710721:3802696066576977 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802696065710721:3802696066585517 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802696066790839:3802696067838836 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802696066790839:3802696067847566 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802696067852906:3802696067856086 1963:1966 hsaKmtGetClockCounters(, ) = 0 +3802696067861556:3802696067874547 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a0fe000) = 0 +3802696067877617:3802696067908827 1963:1966 hsaKmtDeregisterMemory(0x7f706a0fe000) = 0 PASSED! ## Iteration (11) ################# -1711658150634666:1711658150637105 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711658150645880:1711658150646367 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 -1711658151717646:1711658151720100 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711658151717646:1711658151724632 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711658151726996:1711658153451619 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711658151726996:1711658153482358 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711658153488500:1711658153489609 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711658153492655:1711658153493282 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +3802696074994100:3802696075088850 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a4ff000, , ) = 0 +3802696075096240:3802696075282322 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a4ff000, , , , , ) = 0 +3802696075489833:3802696076625492 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802696075489833:3802696076629362 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802696076634782:3802696076645982 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a4ff000) = 0 +3802696076648892:3802696076681472 1963:1966 hsaKmtDeregisterMemory(0x7f706a4ff000) = 0 +3802696076691082:3802696076776033 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a0fe000, , ) = 0 +3802696076779553:3802696076915894 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a0fe000, , , , , ) = 0 +3802696077121765:3802696078001352 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802696077121765:3802696078009712 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802696078215053:3802696079261021 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802696078215053:3802696079269551 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802696079274801:3802696079278011 1963:1966 hsaKmtGetClockCounters(, ) = 0 +3802696079283721:3802696079297002 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a0fe000) = 0 +3802696079300092:3802696079331662 1963:1966 hsaKmtDeregisterMemory(0x7f706a0fe000) = 0 PASSED! ## Iteration (10) ################# -1711658168899644:1711658168901665 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711658168910873:1711658168911381 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 -1711658169960643:1711658169962906 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711658169960643:1711658169967512 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711658169969838:1711658170332094 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711658169969838:1711658170352231 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711658170367697:1711658170368706 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711658170371479:1711658170372089 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +3802696086408584:3802696086502495 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a4ff000, , ) = 0 +3802696086509995:3802696086695887 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a4ff000, , , , , ) = 0 +3802696086903508:3802696088058307 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802696086903508:3802696088070007 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802696088079227:3802696088099487 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a4ff000) = 0 +3802696088105247:3802696088162707 1963:1966 hsaKmtDeregisterMemory(0x7f706a4ff000) = 0 +3802696088177558:3802696088300599 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a0fe000, , ) = 0 +3802696088305779:3802696088464350 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a0fe000, , , , , ) = 0 +3802696088674291:3802696089478927 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802696088674291:3802696089490797 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802696089698599:3802696090751317 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802696089698599:3802696090763267 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802696090770727:3802696090774467 1963:1966 hsaKmtGetClockCounters(, ) = 0 +3802696090781337:3802696090800317 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a0fe000) = 0 +3802696090805767:3802696090854968 1963:1966 hsaKmtDeregisterMemory(0x7f706a0fe000) = 0 PASSED! ## Iteration (9) ################# -1711658185813893:1711658185815629 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711658185824951:1711658185825446 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 -1711658186879115:1711658186881786 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711658186879115:1711658186886306 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711658186888653:1711658187247681 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711658186888653:1711658187277617 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711658187283280:1711658187284223 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711658187286843:1711658187287460 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +3802696097938989:3802696098069890 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a4ff000, , ) = 0 +3802696098079840:3802696098261632 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a4ff000, , , , , ) = 0 +3802696098472963:3802696099621822 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802696098472963:3802696099633712 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802696099646842:3802696099665942 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a4ff000) = 0 +3802696099671782:3802696099723023 1963:1966 hsaKmtDeregisterMemory(0x7f706a4ff000) = 0 +3802696099737283:3802696099858034 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a0fe000, , ) = 0 +3802696099863064:3802696100224366 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a0fe000, , , , , ) = 0 +3802696100434318:3802696101033812 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802696100434318:3802696101038352 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802696101244424:3802696102297272 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802696101244424:3802696102309182 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802696102316922:3802696102320572 1963:1966 hsaKmtGetClockCounters(, ) = 0 +3802696102326802:3802696102346412 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a0fe000) = 0 +3802696102352112:3802696102400423 1963:1966 hsaKmtDeregisterMemory(0x7f706a0fe000) = 0 PASSED! ## Iteration (8) ################# -1711658202776268:1711658202778173 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711658202787395:1711658202788013 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 -1711658203836803:1711658203839064 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711658203836803:1711658203843707 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711658203846138:1711658204222705 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711658203846138:1711658204253000 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711658204259356:1711658204260430 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711658204263443:1711658204264119 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +3802696109472165:3802696109604596 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a4ff000, , ) = 0 +3802696109614576:3802696109796108 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a4ff000, , , , , ) = 0 +3802696110007129:3802696111155918 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802696110007129:3802696111167838 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802696111178648:3802696111197568 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a4ff000) = 0 +3802696111203318:3802696111254928 1963:1966 hsaKmtDeregisterMemory(0x7f706a4ff000) = 0 +3802696111269229:3802696111389809 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a0fe000, , ) = 0 +3802696111395009:3802696111549911 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a0fe000, , , , , ) = 0 +3802696111758902:3802696112555538 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802696111758902:3802696112561048 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802696112767350:3802696113803837 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802696112767350:3802696113815737 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802696113823388:3802696113827048 1963:1966 hsaKmtGetClockCounters(, ) = 0 +3802696113833548:3802696113852398 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a0fe000) = 0 +3802696113857948:3802696113906768 1963:1966 hsaKmtDeregisterMemory(0x7f706a0fe000) = 0 PASSED! ## Iteration (7) ################# -1711658219634945:1711658219637014 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711658219647033:1711658219647540 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 -1711658220704524:1711658220706737 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711658220704524:1711658220711369 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711658220713761:1711658221070579 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711658220713761:1711658221100148 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711658221105863:1711658221106898 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711658221109649:1711658221110211 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +3802696121041800:3802696121173671 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a4ff000, , ) = 0 +3802696121183691:3802696121366313 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a4ff000, , , , , ) = 0 +3802696121577484:3802696122725793 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802696121577484:3802696122737653 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802696122748253:3802696122767743 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a4ff000) = 0 +3802696122773713:3802696122826004 1963:1966 hsaKmtDeregisterMemory(0x7f706a4ff000) = 0 +3802696122840334:3802696122961235 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a0fe000, , ) = 0 +3802696122966405:3802696123121086 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a0fe000, , , , , ) = 0 +3802696123330197:3802696124140743 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802696123330197:3802696124151394 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802696124358625:3802696125411443 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802696124358625:3802696125423373 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802696125430993:3802696125434653 1963:1966 hsaKmtGetClockCounters(, ) = 0 +3802696125441063:3802696125460223 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a0fe000) = 0 +3802696125465793:3802696125514744 1963:1966 hsaKmtDeregisterMemory(0x7f706a0fe000) = 0 PASSED! ## Iteration (6) ################# -1711658236566155:1711658236567996 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711658236576912:1711658236577475 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 -1711658237630668:1711658237633250 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711658237630668:1711658237637510 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711658237639845:1711658238000416 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711658237639845:1711658238030514 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711658238036243:1711658238037193 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711658238039791:1711658238040404 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +3802696132561946:3802696132692687 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a4ff000, , ) = 0 +3802696132702627:3802696132884809 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a4ff000, , , , , ) = 0 +3802696133095700:3802696134243929 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802696133095700:3802696134255809 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802696134267049:3802696134286349 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a4ff000) = 0 +3802696134292179:3802696134343909 1963:1966 hsaKmtDeregisterMemory(0x7f706a4ff000) = 0 +3802696134358279:3802696134478950 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a0fe000, , ) = 0 +3802696134483990:3802696134639232 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a0fe000, , , , , ) = 0 +3802696134848563:3802696135664299 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802696134848563:3802696135676179 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802696135884231:3802696136938009 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802696135884231:3802696136949899 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802696136957519:3802696136961179 1963:1966 hsaKmtGetClockCounters(, ) = 0 +3802696136967349:3802696136986019 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a0fe000) = 0 +3802696136991519:3802696137040669 1963:1966 hsaKmtDeregisterMemory(0x7f706a0fe000) = 0 PASSED! ## Iteration (5) ################# -1711658253545759:1711658253547625 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711658253556522:1711658253557030 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 -1711658254610943:1711658254613320 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711658254610943:1711658254617949 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711658254620298:1711658254981209 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711658254620298:1711658255011747 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711658255017640:1711658255018699 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711658255021499:1711658255022161 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +3802696144108021:3802696144239242 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a4ff000, , ) = 0 +3802696144249342:3802696144431844 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a4ff000, , , , , ) = 0 +3802696144642695:3802696145790464 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802696144642695:3802696145802424 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802696145813334:3802696145832374 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a4ff000) = 0 +3802696145838154:3802696145890224 1963:1966 hsaKmtDeregisterMemory(0x7f706a4ff000) = 0 +3802696145904535:3802696146025485 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a0fe000, , ) = 0 +3802696146030746:3802696146186027 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a0fe000, , , , , ) = 0 +3802696146395488:3802696147208054 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802696146395488:3802696147219974 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802696147427686:3802696148470404 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802696147427686:3802696148474834 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802696148481154:3802696148484774 1963:1966 hsaKmtGetClockCounters(, ) = 0 +3802696148490834:3802696148509374 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a0fe000) = 0 +3802696148515024:3802696148561944 1963:1966 hsaKmtDeregisterMemory(0x7f706a0fe000) = 0 PASSED! ## Iteration (4) ################# -1711658270443815:1711658270445914 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711658270454623:1711658270455330 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 -1711658271507848:1711658271510141 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711658271507848:1711658271514250 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711658271516595:1711658271874464 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711658271516595:1711658271877675 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711658271897016:1711658271898353 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711658271910171:1711658271910694 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +3802696155614227:3802696155746178 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a4ff000, , ) = 0 +3802696155756118:3802696155936519 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a4ff000, , , , , ) = 0 +3802696156147831:3802696157296529 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802696156147831:3802696157308419 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802696157318039:3802696157337170 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a4ff000) = 0 +3802696157342930:3802696157395080 1963:1966 hsaKmtDeregisterMemory(0x7f706a4ff000) = 0 +3802696157409400:3802696157530141 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a0fe000, , ) = 0 +3802696157535381:3802696157694532 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a0fe000, , , , , ) = 0 +3802696157903704:3802696158712770 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802696157903704:3802696158724680 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802696158932681:3802696159983819 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802696158932681:3802696159995789 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802696160017460:3802696160021500 1963:1966 hsaKmtGetClockCounters(, ) = 0 +3802696160028080:3802696160047190 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a0fe000) = 0 +3802696160052880:3802696160100740 1963:1966 hsaKmtDeregisterMemory(0x7f706a0fe000) = 0 PASSED! ## Iteration (3) ################# -1711658287356843:1711658287358504 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711658287366750:1711658287367244 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 -1711658288418882:1711658288421218 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711658288418882:1711658288425361 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711658288427646:1711658288783858 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711658288427646:1711658288787383 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711658288804508:1711658288805483 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711658288817443:1711658288817907 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +3802696167169003:3802696167300834 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a4ff000, , ) = 0 +3802696167310814:3802696167491435 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a4ff000, , , , , ) = 0 +3802696167702377:3802696168857605 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802696167702377:3802696168869205 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802696168879365:3802696168898255 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a4ff000) = 0 +3802696168903955:3802696168961616 1963:1966 hsaKmtDeregisterMemory(0x7f706a4ff000) = 0 +3802696168976376:3802696169097107 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a0fe000, , ) = 0 +3802696169102277:3802696169259988 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a0fe000, , , , , ) = 0 +3802696169469260:3802696170277355 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802696169469260:3802696170289215 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802696170497157:3802696171548345 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802696170497157:3802696171560285 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802696171568025:3802696171571665 1963:1966 hsaKmtGetClockCounters(, ) = 0 +3802696171577915:3802696171596645 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a0fe000) = 0 +3802696171602265:3802696171650645 1963:1966 hsaKmtDeregisterMemory(0x7f706a0fe000) = 0 PASSED! ## Iteration (2) ################# -1711658304330247:1711658304331712 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711658304340193:1711658304340661 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 -1711658305390888:1711658305392920 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711658305390888:1711658305397339 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711658305399667:1711658305760008 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711658305399667:1711658305763405 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711658305780555:1711658305781596 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711658305794062:1711658305794508 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +3802696178733888:3802696178864919 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a4ff000, , ) = 0 +3802696178875009:3802696179049300 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a4ff000, , , , , ) = 0 +3802696179260992:3802696180515681 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802696179260992:3802696180526311 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802696180535651:3802696180555172 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a4ff000) = 0 +3802696180561002:3802696180613352 1963:1966 hsaKmtDeregisterMemory(0x7f706a4ff000) = 0 +3802696180627922:3802696180749113 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a0fe000, , ) = 0 +3802696180754263:3802696180912414 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a0fe000, , , , , ) = 0 +3802696181121556:3802696181942622 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802696181121556:3802696181954502 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802696182162233:3802696183213271 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802696182162233:3802696183225211 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802696183233071:3802696183236721 1963:1966 hsaKmtGetClockCounters(, ) = 0 +3802696183242782:3802696183261472 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a0fe000) = 0 +3802696183267172:3802696183315762 1963:1966 hsaKmtDeregisterMemory(0x7f706a0fe000) = 0 PASSED! ## Iteration (1) ################# -1711658321289577:1711658321291105 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711658321299745:1711658321300263 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 -1711658322350803:1711658322352878 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711658322350803:1711658322357143 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711658322359468:1711658322719204 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711658322359468:1711658322722526 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711658322739958:1711658322740934 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711658322752944:1711658322753390 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +3802696190665717:3802696190797348 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a4ff000, , ) = 0 +3802696190807208:3802696190986909 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a4ff000, , , , , ) = 0 +3802696191197971:3802696192455430 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802696191197971:3802696192466010 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802696192474320:3802696192493780 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a4ff000) = 0 +3802696192499450:3802696192552031 1963:1966 hsaKmtDeregisterMemory(0x7f706a4ff000) = 0 +3802696192566731:3802696192687282 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a0fe000, , ) = 0 +3802696192692392:3802696192849353 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a0fe000, , , , , ) = 0 +3802696193058654:3802696193878340 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802696193058654:3802696193890230 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802696194098252:3802696195149279 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802696194098252:3802696195161250 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802696195168910:3802696195172580 1963:1966 hsaKmtGetClockCounters(, ) = 0 +3802696195178820:3802696195198350 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a0fe000) = 0 +3802696195204030:3802696195252710 1963:1966 hsaKmtDeregisterMemory(0x7f706a0fe000) = 0 PASSED! ## Iteration (0) ################# -1711658338094693:1711658338096614 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711658338106834:1711658338107305 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 -1711658339155224:1711658339157689 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711658339155224:1711658339162030 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711658339164350:1711658339525835 14428:14428 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711658339164350:1711658339555741 14428:14428 hsaKmtWaitOnEvent(, ) = 0 -1711658339561289:1711658339562394 14428:14428 hsaKmtQueryPointerInfo(, ) = 0 -1711658339565183:1711658339565743 14428:14428 hsaKmtQueryPointerInfo(, ) = 1 +3802696202323713:3802696202456254 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a4ff000, , ) = 0 +3802696202466314:3802696202645825 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a4ff000, , , , , ) = 0 +3802696202856687:3802696204017385 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802696202856687:3802696204028455 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802696204037905:3802696204057006 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a4ff000) = 0 +3802696204062646:3802696204115026 1963:1966 hsaKmtDeregisterMemory(0x7f706a4ff000) = 0 +3802696204129186:3802696204249817 1963:1966 hsaKmtRegisterMemoryWithFlags(0x7f706a0fe000, , ) = 0 +3802696204255127:3802696204410018 1963:1966 hsaKmtMapMemoryToGPUNodes(0x7f706a0fe000, , , , , ) = 0 +3802696204619300:3802696205443426 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802696204619300:3802696205455386 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802696205663057:3802696206715965 1963:1966 hsaKmtWaitOnMultipleEvents(, , , ) = 0 +3802696205663057:3802696206727905 1963:1966 hsaKmtWaitOnEvent(, ) = 0 +3802696206735365:3802696206739025 1963:1966 hsaKmtGetClockCounters(, ) = 0 +3802696206746026:3802696206764666 1963:1966 hsaKmtUnmapMemoryToGPU(0x7f706a0fe000) = 0 +3802696206770296:3802696206819316 1963:1966 hsaKmtDeregisterMemory(0x7f706a0fe000) = 0 PASSED! -1711658355050530:1711658355064929 14428:14428 hsaKmtUnmapMemoryToGPU() = 0 -1711658355074741:1711658355106913 14428:14428 hsaKmtFreeMemory(, ) = 0 -1711658355116507:1711658355124642 14428:14428 hsaKmtUnmapMemoryToGPU() = 0 -1711658355126840:1711658355133954 14428:14428 hsaKmtFreeMemory(, ) = 0 -1711658355144525:1711658355150746 14428:14428 hsaKmtUnmapMemoryToGPU() = 0 -1711658355152795:1711658355388102 14428:14428 hsaKmtFreeMemory(, ) = 0 -1711658373554928:1711658373567556 14428:14428 hsaKmtUnmapMemoryToGPU() = 0 -1711658373583331:1711658373606125 14428:14428 hsaKmtDeregisterMemory() = 0 -1711658373651933:1711658373657640 14428:14428 hsaKmtUnmapMemoryToGPU() = 0 -1711658373684916:1711658373734029 14428:14428 hsaKmtFreeMemory(, ) = 0 -1711658373740935:1711658373747231 14428:14428 hsaKmtUnmapMemoryToGPU() = 0 -1711658373749316:1711658373968663 14428:14428 hsaKmtFreeMemory(, ) = 0 -1711658373973179:1711658373979542 14428:14428 hsaKmtUnmapMemoryToGPU() = 0 -1711658373981464:1711658374190636 14428:14428 hsaKmtFreeMemory(, ) = 0 -1711658374194800:1711658374200685 14428:14428 hsaKmtUnmapMemoryToGPU() = 0 -1711658374202589:1711658374408922 14428:14428 hsaKmtFreeMemory(, ) = 0 -1711658374413211:1711658374419133 14428:14428 hsaKmtUnmapMemoryToGPU() = 0 -1711658374421025:1711658374630125 14428:14428 hsaKmtFreeMemory(, ) = 0 -1711658374655560:1711658374660800 14428:14428 hsaKmtUnmapMemoryToGPU() = 0 -1711658374663180:1711658374672467 14428:14428 hsaKmtFreeMemory(, ) = 0 -1711658374675171:1711658374678110 14428:14428 hsaKmtUnmapMemoryToGPU() = 0 -1711658374681478:1711658374687208 14428:14428 hsaKmtFreeMemory(, ) = 0 -1711658374689738:1711658374692724 14428:14428 hsaKmtUnmapMemoryToGPU() = 0 -1711658374694561:1711658374700770 14428:14428 hsaKmtFreeMemory(, ) = 0 -1711658374703344:1711658374706826 14428:14428 hsaKmtUnmapMemoryToGPU() = 0 -1711658374708613:1711658374737714 14428:14428 hsaKmtFreeMemory(, ) = 0 -1711658374740941:1711658374745391 14428:14428 hsaKmtFreeMemory(, ) = 0 -1711658374747595:1711658374751283 14428:14428 hsaKmtUnmapMemoryToGPU() = 0 -1711658374753391:1711658374761928 14428:14428 hsaKmtFreeMemory(, ) = 0 -1711658374764242:1711658374767375 14428:14428 hsaKmtUnmapMemoryToGPU() = 0 -1711658374769167:1711658374775322 14428:14428 hsaKmtFreeMemory(, ) = 0 -1711658374786056:1711658374790896 14428:14428 hsaKmtSetEvent() = 0 -1711656606195495:1711658374812319 14428:14432 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711658374821921:1711658374823155 14428:14432 hsaKmtSetEvent() = 0 -1711658374844450:1711658374847967 14428:14428 hsaKmtUnmapMemoryToGPU() = 0 -1711658374850551:1711658374862387 14428:14428 hsaKmtFreeMemory(, ) = 0 -1711658374866138:1711658374876508 14428:14428 hsaKmtUnmapMemoryToGPU() = 0 -1711658375027248:1711658375030076 14428:14432 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711658374878478:1711658375497616 14428:14428 hsaKmtFreeMemory(, ) = 0 -1711658375500756:1711658375504623 14428:14428 hsaKmtUnmapMemoryToGPU() = 0 -1711658375512969:1711658375520388 14428:14428 hsaKmtFreeMemory(, ) = 0 -1711658375512969:1711658375522574 14428:14428 hsaKmtDestroyQueue() = 0 -1711658375525054:1711658375529769 14428:14428 hsaKmtUnmapMemoryToGPU() = 0 -1711658375531640:1711658375554876 14428:14428 hsaKmtFreeMemory(, ) = 0 -1711658375558339:1711658375562062 14428:14428 hsaKmtUnmapMemoryToGPU() = 0 -1711658375563862:1711658375570580 14428:14428 hsaKmtFreeMemory(, ) = 0 -1711658375573057:1711658375575978 14428:14428 hsaKmtUnmapMemoryToGPU() = 0 -1711658375577785:1711658375583635 14428:14428 hsaKmtFreeMemory(, ) = 0 -1711658375587078:1711658375591211 14428:14428 hsaKmtSetEvent() = 0 -1711658375032932:1711658375626088 14428:14432 hsaKmtWaitOnMultipleEvents(, , , ) = 0 -1711658375656587:1711658375658987 14428:14428 hsaKmtDestroyEvent() = 0 -1711658375662343:1711658375666075 14428:14428 hsaKmtUnmapMemoryToGPU() = 0 -1711658375667926:1711658375675768 14428:14428 hsaKmtFreeMemory(, ) = 0 -1711658375678249:1711658375679254 14428:14428 hsaKmtDestroyEvent() = 0 -1711658375680849:1711658375681647 14428:14428 hsaKmtDestroyEvent() = 0 -1711658375683180:1711658375683973 14428:14428 hsaKmtDestroyEvent() = 0 -1711658375685500:1711658375686335 14428:14428 hsaKmtDestroyEvent() = 0 -1711658375687863:1711658375688644 14428:14428 hsaKmtDestroyEvent() = 0 -1711658375690161:1711658375690965 14428:14428 hsaKmtDestroyEvent() = 0 -1711658375692481:1711658375693284 14428:14428 hsaKmtDestroyEvent() = 0 -1711658375694808:1711658375695642 14428:14428 hsaKmtDestroyEvent() = 0 -1711658375697149:1711658375697936 14428:14428 hsaKmtDestroyEvent() = 0 -1711658375699450:1711658375700255 14428:14428 hsaKmtDestroyEvent() = 0 -1711658375701768:1711658375702545 14428:14428 hsaKmtDestroyEvent() = 0 -1711658375704058:1711658375704871 14428:14428 hsaKmtDestroyEvent() = 0 -1711658375706382:1711658375707110 14428:14428 hsaKmtDestroyEvent() = 0 -1711658375711377:1711658375711377 14428:14428 hsaKmtReleaseSystemProperties() = 0 +3802696213888349:3802696213920369 1963:1963 hsaKmtUnmapMemoryToGPU(0x7f7069800000) = 0 +3802696213943149:3802696213988009 1963:1963 hsaKmtFreeMemory(0x7f7069800000, ) = 0 +3802696213994889:3802696214002540 1963:1963 hsaKmtUnmapMemoryToGPU(0x7f7069200000) = 0 +3802696214004500:3802696214013790 1963:1963 hsaKmtFreeMemory(0x7f7069200000, ) = 0 diff --git a/test/golden_traces/MatrixTranspose_mgpu_trace.txt b/test/golden_traces/MatrixTranspose_mgpu_trace.txt index 77cb13f9c2..9b29fbbcf5 100644 --- a/test/golden_traces/MatrixTranspose_mgpu_trace.txt +++ b/test/golden_traces/MatrixTranspose_mgpu_trace.txt @@ -1,6595 +1,6402 @@ ++ LD_PRELOAD=libkfdwrapper64.so ./test/MatrixTranspose_mgpu # INIT ############################# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Number of GPUs: 1 # START (99) ############################# - - - - - - - - - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - - - ptr(0x7ffdc052b378) size(0x400000) - - - - - - - *ptr(0x0x903400000) - - - ptr(0x7ffdc052b370) size(0x400000) - - - - - - - *ptr(0x0x903c00000) - - - dst(0x903400000) src(0x2401810) size(0x400000) kind(1) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - dst(0x2801820) src(0x903c00000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - + + + + +Device 0 name: Device 687f + ptr(0x7ffd4c5a7160) size(0x400000) + + + + + *ptr(0x0x7f2290800000) + ptr(0x7ffd4c5a7158) size(0x400000) + + + + + *ptr(0x0x7f2290200000) + dst(0x7f2290800000) src(0x7f22915ff010) size(0x400000) kind(1) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +rocTX <"before hipLaunchKernel pid(1956) tid(1956)"> +rocTX <"hipLaunchKernel pid(1956) tid(1956)"> +<__hipPushCallConfiguration id(46) correlation_id(7) on-enter pid(1956) tid(1956)> +<__hipPushCallConfiguration id(46) correlation_id(7) on-exit pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(8) on-enter pid(1956) tid(1956)> + +<__hipPopCallConfiguration id(171) correlation_id(8) on-exit pid(1956) tid(1956)> + + + + + + +rocTX <"after hipLaunchKernel pid(1956) tid(1956)"> +rocTX <"hipMemcpy pid(1956) tid(1956)"> + dst(0x7f22911fe010) src(0x7f2290200000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +rocTX <"(null) pid(1956) tid(1956)"> +rocTX <"(null) pid(1956) tid(1956)"> + + + + PASSED! - - - ptr(0x903400000) - - - - - - - - - - ptr(0x903c00000) - - - - - - - + ptr(0x7f2290800000) + + + + + + ptr(0x7f2290200000) + + + + + # START (98) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (97) ############################# - - - - - - - - - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - - - ptr(0x7ffdc052b378) size(0x400000) - - - - - - - *ptr(0x0x903400000) - - - ptr(0x7ffdc052b370) size(0x400000) - - - - - - - *ptr(0x0x903c00000) - - - dst(0x903400000) src(0x7f1879f80010) size(0x400000) kind(1) - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x30c1e60) src(0x903c00000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + +Device 0 name: Device 687f + ptr(0x7ffd4c5a7160) size(0x400000) + + + + + *ptr(0x0x7f2291400000) + ptr(0x7ffd4c5a7158) size(0x400000) + + + + + *ptr(0x0x7f2290e00000) + dst(0x7f2291400000) src(0x1cba050) size(0x400000) kind(1) + + + + + + + + + +rocTX <"before hipLaunchKernel pid(1956) tid(1956)"> + +rocTX <"hipLaunchKernel pid(1956) tid(1956)"> +<__hipPushCallConfiguration id(46) correlation_id(18) on-enter pid(1956) tid(1956)> +<__hipPushCallConfiguration id(46) correlation_id(18) on-exit pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(19) on-enter pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(19) on-exit pid(1956) tid(1956)> + + + + +rocTX <"after hipLaunchKernel pid(1956) tid(1956)"> +rocTX <"hipMemcpy pid(1956) tid(1956)"> + dst(0x20ba060) src(0x7f2290e00000) size(0x400000) kind(2) + + + + + + + + + + + + +rocTX <"(null) pid(1956) tid(1956)"> + +rocTX <"(null) pid(1956) tid(1956)"> + + + PASSED! - - - ptr(0x903400000) - - - - - - - - - - ptr(0x903c00000) - - - - - - - + ptr(0x7f2291400000) + + + + + + ptr(0x7f2290e00000) + + + + + # START (96) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (95) ############################# - - - - - - - - - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - - - ptr(0x7ffdc052b378) size(0x400000) - - - - - - - *ptr(0x0x903400000) - - - ptr(0x7ffdc052b370) size(0x400000) - - - - - - - *ptr(0x0x903c00000) - - - dst(0x903400000) src(0x7f1879f80010) size(0x400000) kind(1) - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x30c1e60) src(0x903c00000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + +Device 0 name: Device 687f + ptr(0x7ffd4c5a7160) size(0x400000) + + + + + *ptr(0x0x7f2291400000) + ptr(0x7ffd4c5a7158) size(0x400000) + + + + + *ptr(0x0x7f2290e00000) + dst(0x7f2291400000) src(0x1cba050) size(0x400000) kind(1) + + + + + + + + + +rocTX <"before hipLaunchKernel pid(1956) tid(1956)"> + +rocTX <"hipLaunchKernel pid(1956) tid(1956)"> +<__hipPushCallConfiguration id(46) correlation_id(29) on-enter pid(1956) tid(1956)> +<__hipPushCallConfiguration id(46) correlation_id(29) on-exit pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(30) on-enter pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(30) on-exit pid(1956) tid(1956)> + + + + +rocTX <"after hipLaunchKernel pid(1956) tid(1956)"> +rocTX <"hipMemcpy pid(1956) tid(1956)"> + dst(0x20ba060) src(0x7f2290e00000) size(0x400000) kind(2) + + + + + + + + + + + + +rocTX <"(null) pid(1956) tid(1956)"> + +rocTX <"(null) pid(1956) tid(1956)"> + + + PASSED! - - - ptr(0x903400000) - - - - - - - - - - ptr(0x903c00000) - - - - - - - + ptr(0x7f2291400000) + + + + + + ptr(0x7f2290e00000) + + + + + # START (94) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (93) ############################# - - - - - - - - - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - - - ptr(0x7ffdc052b378) size(0x400000) - - - - - - - *ptr(0x0x903400000) - - - ptr(0x7ffdc052b370) size(0x400000) - - - - - - - *ptr(0x0x903c00000) - - - dst(0x903400000) src(0x7f1879f80010) size(0x400000) kind(1) - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x30c1e60) src(0x903c00000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + +Device 0 name: Device 687f + ptr(0x7ffd4c5a7160) size(0x400000) + + + + + *ptr(0x0x7f2291400000) + ptr(0x7ffd4c5a7158) size(0x400000) + + + + + *ptr(0x0x7f2290e00000) + dst(0x7f2291400000) src(0x1cba050) size(0x400000) kind(1) + + + + + + + + + + +rocTX <"before hipLaunchKernel pid(1956) tid(1956)"> +rocTX <"hipLaunchKernel pid(1956) tid(1956)"> +<__hipPushCallConfiguration id(46) correlation_id(40) on-enter pid(1956) tid(1956)> +<__hipPushCallConfiguration id(46) correlation_id(40) on-exit pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(41) on-enter pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(41) on-exit pid(1956) tid(1956)> + + +rocTX <"after hipLaunchKernel pid(1956) tid(1956)"> +rocTX <"hipMemcpy pid(1956) tid(1956)"> + + dst(0x20ba060) src(0x7f2290e00000) size(0x400000) kind(2) + + + + + + + + + + + + + +rocTX <"(null) pid(1956) tid(1956)"> +rocTX <"(null) pid(1956) tid(1956)"> + + + + PASSED! - - - ptr(0x903400000) - - - - - - - - - - ptr(0x903c00000) - - - - - - - + ptr(0x7f2291400000) + + + + + + ptr(0x7f2290e00000) + + + + + # START (92) ############################# - Activity records: - hipGetDeviceCount correlation_id(1) time_ns(43922570338225:43922570350816) process_id(26027) thread_id(26027) - hipSetDevice correlation_id(2) time_ns(43922570414991:43922570417305) process_id(26027) thread_id(26027) - hipGetDeviceProperties correlation_id(3) time_ns(43922570420850:43922570423976) process_id(26027) thread_id(26027) - hipMalloc correlation_id(4) time_ns(43922572625420:43922572708261) process_id(26027) thread_id(26027) - hipMalloc correlation_id(5) time_ns(43922572712560:43922572747856) process_id(26027) thread_id(26027) -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - (null) correlation_id(6) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(6) time_ns(43922572757735:43922578884743) process_id(26027) thread_id(26027) - (null) correlation_id(7) time_ns(0:0) external_id(33) - hipModuleLaunchKernel correlation_id(7) time_ns(43922865127791:43922867209453) process_id(26027) thread_id(26027) - hcCommandKernel correlation_id(7) time_ns(43922867213507:43922867700708) device_id(0) queue_id(0) - hcCommandMarker correlation_id(8) time_ns(43922867711310:43922867722670) device_id(0) queue_id(0) - (null) correlation_id(8) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(8) time_ns(43922867233547:43922868704626) process_id(26027) thread_id(26027) - (null) correlation_id(9) time_ns(0:0) external_id(31) - hipFree correlation_id(9) time_ns(43922883606933:43922883712731) process_id(26027) thread_id(26027) - (null) correlation_id(10) time_ns(0:0) external_id(31) - hipFree correlation_id(10) time_ns(43922883719077:43922883747673) process_id(26027) thread_id(26027) - hipSetDevice correlation_id(11) time_ns(43922902865915:43922902875804) process_id(26027) thread_id(26027) - hipGetDeviceProperties correlation_id(12) time_ns(43922902879544:43922902881949) process_id(26027) thread_id(26027) - hipMalloc correlation_id(13) time_ns(43922905081211:43922905131288) process_id(26027) thread_id(26027) - hipMalloc correlation_id(14) time_ns(43922905146451:43922905187584) process_id(26027) thread_id(26027) - (null) correlation_id(15) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(15) time_ns(43922905201487:43922905857939) process_id(26027) thread_id(26027) - (null) correlation_id(16) time_ns(0:0) external_id(33) - hipModuleLaunchKernel correlation_id(16) time_ns(43922905888719:43922905928943) process_id(26027) thread_id(26027) - hcCommandKernel correlation_id(16) time_ns(43922905933474:43922906414755) device_id(0) queue_id(0) - hcCommandMarker correlation_id(17) time_ns(43922906417604:43922906424164) device_id(0) queue_id(0) - (null) correlation_id(17) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(17) time_ns(43922905933657:43922907330226) process_id(26027) thread_id(26027) - (null) correlation_id(18) time_ns(0:0) external_id(31) - hipFree correlation_id(18) time_ns(43922921951233:43922922047039) process_id(26027) thread_id(26027) - (null) correlation_id(19) time_ns(0:0) external_id(31) - hipFree correlation_id(19) time_ns(43922922053161:43922922081237) process_id(26027) thread_id(26027) - hipSetDevice correlation_id(20) time_ns(43922941195766:43922941205679) process_id(26027) thread_id(26027) - hipGetDeviceProperties correlation_id(21) time_ns(43922941209377:43922941211772) process_id(26027) thread_id(26027) - hipMalloc correlation_id(22) time_ns(43922943401847:43922943451557) process_id(26027) thread_id(26027) - hipMalloc correlation_id(23) time_ns(43922943468086:43922943496477) process_id(26027) thread_id(26027) - (null) correlation_id(24) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(24) time_ns(43922943500706:43922944138743) process_id(26027) thread_id(26027) - (null) correlation_id(25) time_ns(0:0) external_id(33) - hipModuleLaunchKernel correlation_id(25) time_ns(43922944170568:43922944210833) process_id(26027) thread_id(26027) - hcCommandKernel correlation_id(25) time_ns(43922944215327:43922944693408) device_id(0) queue_id(0) - hcCommandMarker correlation_id(26) time_ns(43922944696507:43922944703067) device_id(0) queue_id(0) - (null) correlation_id(26) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(26) time_ns(43922944229530:43922945636180) process_id(26027) thread_id(26027) - (null) correlation_id(27) time_ns(0:0) external_id(31) - hipFree correlation_id(27) time_ns(43922960282096:43922960379572) process_id(26027) thread_id(26027) - (null) correlation_id(28) time_ns(0:0) external_id(31) - hipFree correlation_id(28) time_ns(43922960385405:43922960421244) process_id(26027) thread_id(26027) - hipSetDevice correlation_id(29) time_ns(43922980986535:43922980996620) process_id(26027) thread_id(26027) - hipGetDeviceProperties correlation_id(30) time_ns(43922981000314:43922981002675) process_id(26027) thread_id(26027) - hipMalloc correlation_id(31) time_ns(43922983193110:43922983242775) process_id(26027) thread_id(26027) - hipMalloc correlation_id(32) time_ns(43922983258259:43922983298673) process_id(26027) thread_id(26027) - (null) correlation_id(33) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(33) time_ns(43922983303455:43922983991193) process_id(26027) thread_id(26027) - (null) correlation_id(34) time_ns(0:0) external_id(33) - hipModuleLaunchKernel correlation_id(34) time_ns(43922984026885:43922984067158) process_id(26027) thread_id(26027) - hcCommandKernel correlation_id(34) time_ns(43922984072743:43922985918186) device_id(0) queue_id(0) - hcCommandMarker correlation_id(35) time_ns(43922985922415:43922985953935) device_id(0) queue_id(0) - (null) correlation_id(35) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(35) time_ns(43922984082183:43922986890265) process_id(26027) thread_id(26027) - (null) correlation_id(36) time_ns(0:0) external_id(31) - hipFree correlation_id(36) time_ns(43923001493780:43923001593783) process_id(26027) thread_id(26027) - (null) correlation_id(37) time_ns(0:0) external_id(31) +Device 0 name: Device 687f PASSED! # START (91) ############################# - - - - - - - - - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - - - ptr(0x7ffdc052b378) size(0x400000) - - - - - - - *ptr(0x0x903400000) - - - ptr(0x7ffdc052b370) size(0x400000) - - - - - - - *ptr(0x0x903c00000) - - - dst(0x903400000) src(0x7f1879f80010) size(0x400000) kind(1) - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - - dst(0x30c1e60) src(0x903c00000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + +Device 0 name: Device 687f + ptr(0x7ffd4c5a7160) size(0x400000) + + + + + *ptr(0x0x7f2291400000) + ptr(0x7ffd4c5a7158) size(0x400000) + + + + + *ptr(0x0x7f2290e00000) + dst(0x7f2291400000) src(0x1cba050) size(0x400000) kind(1) + + + + + + + + + +rocTX <"before hipLaunchKernel pid(1956) tid(1956)"> +rocTX <"hipLaunchKernel pid(1956) tid(1956)"> + +<__hipPushCallConfiguration id(46) correlation_id(51) on-enter pid(1956) tid(1956)> +<__hipPushCallConfiguration id(46) correlation_id(51) on-exit pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(52) on-enter pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(52) on-exit pid(1956) tid(1956)> + + +rocTX <"after hipLaunchKernel pid(1956) tid(1956)"> +rocTX <"hipMemcpy pid(1956) tid(1956)"> + + dst(0x20ba060) src(0x7f2290e00000) size(0x400000) kind(2) + + + + + + + + + + + + + +rocTX <"(null) pid(1956) tid(1956)"> +rocTX <"(null) pid(1956) tid(1956)"> + + + + PASSED! - - - ptr(0x903400000) - - - - - - - - - - ptr(0x903c00000) - - - - - - - + ptr(0x7f2291400000) + + + + + + ptr(0x7f2290e00000) + + + + + # START (90) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (89) ############################# - - - - - - - - - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - - - ptr(0x7ffdc052b378) size(0x400000) - - - - - - - *ptr(0x0x903400000) - - - ptr(0x7ffdc052b370) size(0x400000) - - - - - - - *ptr(0x0x903c00000) - - - dst(0x903400000) src(0x7f1879f80010) size(0x400000) kind(1) - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x30c1e60) src(0x903c00000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + +Device 0 name: Device 687f + ptr(0x7ffd4c5a7160) size(0x400000) + + + + + *ptr(0x0x7f2291400000) + ptr(0x7ffd4c5a7158) size(0x400000) + + + + + *ptr(0x0x7f2290e00000) + dst(0x7f2291400000) src(0x1cba050) size(0x400000) kind(1) + + + + + + + + + + +rocTX <"before hipLaunchKernel pid(1956) tid(1956)"> +rocTX <"hipLaunchKernel pid(1956) tid(1956)"> +<__hipPushCallConfiguration id(46) correlation_id(62) on-enter pid(1956) tid(1956)> +<__hipPushCallConfiguration id(46) correlation_id(62) on-exit pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(63) on-enter pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(63) on-exit pid(1956) tid(1956)> + + + + +rocTX <"after hipLaunchKernel pid(1956) tid(1956)"> +rocTX <"hipMemcpy pid(1956) tid(1956)"> + dst(0x20ba060) src(0x7f2290e00000) size(0x400000) kind(2) + + + + + + + + + + + + +rocTX <"(null) pid(1956) tid(1956)"> +rocTX <"(null) pid(1956) tid(1956)"> + + + + PASSED! - - - ptr(0x903400000) - - - - - - - - - - ptr(0x903c00000) - - - - - - - + ptr(0x7f2291400000) + + + + + + ptr(0x7f2290e00000) + + + + + # START (88) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (87) ############################# - - - - - - - - - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - - - ptr(0x7ffdc052b378) size(0x400000) - - - - - - - *ptr(0x0x903400000) - - - ptr(0x7ffdc052b370) size(0x400000) - - - - - - - *ptr(0x0x903c00000) - - - dst(0x903400000) src(0x7f1879f80010) size(0x400000) kind(1) - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x30c1e60) src(0x903c00000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + +Device 0 name: Device 687f + ptr(0x7ffd4c5a7160) size(0x400000) + + + + + *ptr(0x0x7f2291400000) + ptr(0x7ffd4c5a7158) size(0x400000) + + + + + *ptr(0x0x7f2290e00000) + dst(0x7f2291400000) src(0x1cba050) size(0x400000) kind(1) + + + + + + + + + +rocTX <"before hipLaunchKernel pid(1956) tid(1956)"> + +rocTX <"hipLaunchKernel pid(1956) tid(1956)"> +<__hipPushCallConfiguration id(46) correlation_id(73) on-enter pid(1956) tid(1956)> +<__hipPushCallConfiguration id(46) correlation_id(73) on-exit pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(74) on-enter pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(74) on-exit pid(1956) tid(1956)> + + + +rocTX <"after hipLaunchKernel pid(1956) tid(1956)"> +rocTX <"hipMemcpy pid(1956) tid(1956)"> + dst(0x20ba060) src(0x7f2290e00000) size(0x400000) kind(2) + + + + + + + + + + + + + +rocTX <"(null) pid(1956) tid(1956)"> +rocTX <"(null) pid(1956) tid(1956)"> + + + + PASSED! - - - ptr(0x903400000) - - - - - - - - - - ptr(0x903c00000) - - - - - - - + ptr(0x7f2291400000) + + + + + + ptr(0x7f2290e00000) + + + + + # START (86) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (85) ############################# - - - - - - - - - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - - - ptr(0x7ffdc052b378) size(0x400000) - - - - - - - *ptr(0x0x903400000) - - - ptr(0x7ffdc052b370) size(0x400000) - - - - - - - *ptr(0x0x903c00000) - - - dst(0x903400000) src(0x7f1879f80010) size(0x400000) kind(1) - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x30c1e60) src(0x903c00000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + +Device 0 name: Device 687f + ptr(0x7ffd4c5a7160) size(0x400000) + + + + + *ptr(0x0x7f2291400000) + ptr(0x7ffd4c5a7158) size(0x400000) + + + + + *ptr(0x0x7f2290e00000) + dst(0x7f2291400000) src(0x1cba050) size(0x400000) kind(1) + + + + + + + + + + +rocTX <"before hipLaunchKernel pid(1956) tid(1956)"> +rocTX <"hipLaunchKernel pid(1956) tid(1956)"> +<__hipPushCallConfiguration id(46) correlation_id(84) on-enter pid(1956) tid(1956)> +<__hipPushCallConfiguration id(46) correlation_id(84) on-exit pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(85) on-enter pid(1956) tid(1956)> + +<__hipPopCallConfiguration id(171) correlation_id(85) on-exit pid(1956) tid(1956)> + + + +rocTX <"after hipLaunchKernel pid(1956) tid(1956)"> +rocTX <"hipMemcpy pid(1956) tid(1956)"> + dst(0x20ba060) src(0x7f2290e00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + +rocTX <"(null) pid(1956) tid(1956)"> +rocTX <"(null) pid(1956) tid(1956)"> + + + PASSED! - - - ptr(0x903400000) - - - - - - - - - - ptr(0x903c00000) - - - - - - - + ptr(0x7f2291400000) + + + + + + ptr(0x7f2290e00000) + + + + + # START (84) ############################# - Activity records: - hipFree correlation_id(37) time_ns(43923001599628:43923001629383) process_id(26027) thread_id(26027) - hipSetDevice correlation_id(38) time_ns(43923022566379:43923022577111) process_id(26027) thread_id(26027) - hipGetDeviceProperties correlation_id(39) time_ns(43923022580804:43923022583438) process_id(26027) thread_id(26027) - hipMalloc correlation_id(40) time_ns(43923024855074:43923024907454) process_id(26027) thread_id(26027) - hipMalloc correlation_id(41) time_ns(43923024911894:43923024931794) process_id(26027) thread_id(26027) -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - (null) correlation_id(42) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(42) time_ns(43923024936698:43923025616946) process_id(26027) thread_id(26027) - (null) correlation_id(43) time_ns(0:0) external_id(33) - hipModuleLaunchKernel correlation_id(43) time_ns(43923025640747:43923025662374) process_id(26027) thread_id(26027) - hcCommandKernel correlation_id(43) time_ns(43923025667862:43923027514585) device_id(0) queue_id(0) - hcCommandMarker correlation_id(44) time_ns(43923027518869:43923027550069) device_id(0) queue_id(0) - (null) correlation_id(44) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(44) time_ns(43923025682586:43923028481953) process_id(26027) thread_id(26027) - (null) correlation_id(45) time_ns(0:0) external_id(31) - hipFree correlation_id(45) time_ns(43923043071306:43923043170243) process_id(26027) thread_id(26027) - (null) correlation_id(46) time_ns(0:0) external_id(31) - hipFree correlation_id(46) time_ns(43923043176011:43923043203101) process_id(26027) thread_id(26027) - hipSetDevice correlation_id(47) time_ns(43923063702211:43923063712585) process_id(26027) thread_id(26027) - hipGetDeviceProperties correlation_id(48) time_ns(43923063716382:43923063718832) process_id(26027) thread_id(26027) - hipMalloc correlation_id(49) time_ns(43923065915567:43923065966184) process_id(26027) thread_id(26027) - hipMalloc correlation_id(50) time_ns(43923065982886:43923066011591) process_id(26027) thread_id(26027) - (null) correlation_id(51) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(51) time_ns(43923066015842:43923066671501) process_id(26027) thread_id(26027) - (null) correlation_id(52) time_ns(0:0) external_id(33) - hipModuleLaunchKernel correlation_id(52) time_ns(43923066702430:43923066742257) process_id(26027) thread_id(26027) - hcCommandKernel correlation_id(52) time_ns(43923066747787:43923068582030) device_id(0) queue_id(0) - hcCommandMarker correlation_id(53) time_ns(43923068586194:43923068617714) device_id(0) queue_id(0) - (null) correlation_id(53) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(53) time_ns(43923066747235:43923069558816) process_id(26027) thread_id(26027) - (null) correlation_id(54) time_ns(0:0) external_id(31) - hipFree correlation_id(54) time_ns(43923084166434:43923084250009) process_id(26027) thread_id(26027) - (null) correlation_id(55) time_ns(0:0) external_id(31) - hipFree correlation_id(55) time_ns(43923084265884:43923084283599) process_id(26027) thread_id(26027) - hipSetDevice correlation_id(56) time_ns(43923104742826:43923104752374) process_id(26027) thread_id(26027) - hipGetDeviceProperties correlation_id(57) time_ns(43923104756067:43923104758528) process_id(26027) thread_id(26027) - hipMalloc correlation_id(58) time_ns(43923106948971:43923106998942) process_id(26027) thread_id(26027) - hipMalloc correlation_id(59) time_ns(43923107014427:43923107055323) process_id(26027) thread_id(26027) - (null) correlation_id(60) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(60) time_ns(43923107069378:43923107751363) process_id(26027) thread_id(26027) - (null) correlation_id(61) time_ns(0:0) external_id(33) - hipModuleLaunchKernel correlation_id(61) time_ns(43923107782202:43923107823928) process_id(26027) thread_id(26027) - hcCommandKernel correlation_id(61) time_ns(43923107829290:43923109660973) device_id(0) queue_id(0) - hcCommandMarker correlation_id(62) time_ns(43923109664904:43923109696424) device_id(0) queue_id(0) - (null) correlation_id(62) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(62) time_ns(43923107840747:43923110646206) process_id(26027) thread_id(26027) - (null) correlation_id(63) time_ns(0:0) external_id(31) - hipFree correlation_id(63) time_ns(43923125304818:43923125389418) process_id(26027) thread_id(26027) - (null) correlation_id(64) time_ns(0:0) external_id(31) - hipFree correlation_id(64) time_ns(43923125404917:43923125433357) process_id(26027) thread_id(26027) - hipSetDevice correlation_id(65) time_ns(43923145921261:43923145931435) process_id(26027) thread_id(26027) - hipGetDeviceProperties correlation_id(66) time_ns(43923145935238:43923145937651) process_id(26027) thread_id(26027) - hipMalloc correlation_id(67) time_ns(43923148135273:43923148184877) process_id(26027) thread_id(26027) - hipMalloc correlation_id(68) time_ns(43923148202166:43923148230717) process_id(26027) thread_id(26027) - (null) correlation_id(69) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(69) time_ns(43923148235195:43923148890206) process_id(26027) thread_id(26027) - (null) correlation_id(70) time_ns(0:0) external_id(33) - hipModuleLaunchKernel correlation_id(70) time_ns(43923148921619:43923148962298) process_id(26027) thread_id(26027) - hcCommandKernel correlation_id(70) time_ns(43923148967771:43923150804894) device_id(0) queue_id(0) - hcCommandMarker correlation_id(71) time_ns(43923150808892:43923150841052) device_id(0) queue_id(0) - (null) correlation_id(71) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(71) time_ns(43923148967011:43923151783982) process_id(26027) thread_id(26027) - (null) correlation_id(72) time_ns(0:0) external_id(31) - hipFree correlation_id(72) time_ns(43923166413821:43923166495698) process_id(26027) thread_id(26027) - (null) correlation_id(73) time_ns(0:0) external_id(31) +Device 0 name: Device 687f PASSED! # START (83) ############################# - - - - - - - - - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - - - ptr(0x7ffdc052b378) size(0x400000) - - - - - - - *ptr(0x0x903400000) - - - ptr(0x7ffdc052b370) size(0x400000) - - - - - - - *ptr(0x0x903c00000) - - - dst(0x903400000) src(0x7f1879f80010) size(0x400000) kind(1) - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - - dst(0x30c1e60) src(0x903c00000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + +Device 0 name: Device 687f + ptr(0x7ffd4c5a7160) size(0x400000) + + + + + *ptr(0x0x7f2291400000) + ptr(0x7ffd4c5a7158) size(0x400000) + + + + + *ptr(0x0x7f2290e00000) + dst(0x7f2291400000) src(0x1cba050) size(0x400000) kind(1) + + + + + + + + + + +rocTX <"before hipLaunchKernel pid(1956) tid(1956)"> +rocTX <"hipLaunchKernel pid(1956) tid(1956)"> +<__hipPushCallConfiguration id(46) correlation_id(95) on-enter pid(1956) tid(1956)> +<__hipPushCallConfiguration id(46) correlation_id(95) on-exit pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(96) on-enter pid(1956) tid(1956)> + + +<__hipPopCallConfiguration id(171) correlation_id(96) on-exit pid(1956) tid(1956)> + + +rocTX <"after hipLaunchKernel pid(1956) tid(1956)"> +rocTX <"hipMemcpy pid(1956) tid(1956)"> + dst(0x20ba060) src(0x7f2290e00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + +rocTX <"(null) pid(1956) tid(1956)"> +rocTX <"(null) pid(1956) tid(1956)"> + + + PASSED! - - - ptr(0x903400000) - - - - - - - - - - ptr(0x903c00000) - - - - - - - + ptr(0x7f2291400000) + + + + + + ptr(0x7f2290e00000) + + + + + # START (82) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (81) ############################# - - - - - - - - - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - - - ptr(0x7ffdc052b378) size(0x400000) - - - - - - - *ptr(0x0x903400000) - - - ptr(0x7ffdc052b370) size(0x400000) - - - - - - - *ptr(0x0x903c00000) - - - dst(0x903400000) src(0x7f1879f80010) size(0x400000) kind(1) - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x30c1e60) src(0x903c00000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - + + + + +Device 0 name: Device 687f + ptr(0x7ffd4c5a7160) size(0x400000) + + + + + *ptr(0x0x7f2291400000) + ptr(0x7ffd4c5a7158) size(0x400000) + + + + + *ptr(0x0x7f2290e00000) + dst(0x7f2291400000) src(0x1cba050) size(0x400000) kind(1) + + + + + + + + + + +rocTX <"before hipLaunchKernel pid(1956) tid(1956)"> +rocTX <"hipLaunchKernel pid(1956) tid(1956)"> +<__hipPushCallConfiguration id(46) correlation_id(106) on-enter pid(1956) tid(1956)> +<__hipPushCallConfiguration id(46) correlation_id(106) on-exit pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(107) on-enter pid(1956) tid(1956)> + +<__hipPopCallConfiguration id(171) correlation_id(107) on-exit pid(1956) tid(1956)> + + + +rocTX <"after hipLaunchKernel pid(1956) tid(1956)"> +rocTX <"hipMemcpy pid(1956) tid(1956)"> + dst(0x20ba060) src(0x7f2290e00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + +rocTX <"(null) pid(1956) tid(1956)"> +rocTX <"(null) pid(1956) tid(1956)"> + + + PASSED! - - - ptr(0x903400000) - - - - - - - - - - ptr(0x903c00000) - - - - - - - + ptr(0x7f2291400000) + + + + + + ptr(0x7f2290e00000) + + + + + # START (80) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (79) ############################# - - - - - - - - - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - - - ptr(0x7ffdc052b378) size(0x400000) - - - - - - - *ptr(0x0x903400000) - - - ptr(0x7ffdc052b370) size(0x400000) - - - - - - - *ptr(0x0x903c00000) - - - dst(0x903400000) src(0x7f1879f80010) size(0x400000) kind(1) - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x30c1e60) src(0x903c00000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + +Device 0 name: Device 687f + ptr(0x7ffd4c5a7160) size(0x400000) + + + + + *ptr(0x0x7f2291400000) + ptr(0x7ffd4c5a7158) size(0x400000) + + + + + *ptr(0x0x7f2290e00000) + dst(0x7f2291400000) src(0x1cba050) size(0x400000) kind(1) + + + + + + + + + + +rocTX <"before hipLaunchKernel pid(1956) tid(1956)"> +rocTX <"hipLaunchKernel pid(1956) tid(1956)"> +<__hipPushCallConfiguration id(46) correlation_id(117) on-enter pid(1956) tid(1956)> +<__hipPushCallConfiguration id(46) correlation_id(117) on-exit pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(118) on-enter pid(1956) tid(1956)> + + +<__hipPopCallConfiguration id(171) correlation_id(118) on-exit pid(1956) tid(1956)> + + +rocTX <"after hipLaunchKernel pid(1956) tid(1956)"> +rocTX <"hipMemcpy pid(1956) tid(1956)"> + dst(0x20ba060) src(0x7f2290e00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + +rocTX <"(null) pid(1956) tid(1956)"> +rocTX <"(null) pid(1956) tid(1956)"> + PASSED! - - - ptr(0x903400000) - - - - - - - - - - ptr(0x903c00000) - - - - - - - + ptr(0x7f2291400000) + + + + + + ptr(0x7f2290e00000) + + + + + # START (78) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (77) ############################# - - - - - - - - - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - - - ptr(0x7ffdc052b378) size(0x400000) - - - - - - - *ptr(0x0x903400000) - - - ptr(0x7ffdc052b370) size(0x400000) - - - - - - - *ptr(0x0x903c00000) - - - dst(0x903400000) src(0x7f1879f80010) size(0x400000) kind(1) - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x30c1e60) src(0x903c00000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + +Device 0 name: Device 687f + ptr(0x7ffd4c5a7160) size(0x400000) + + + + + *ptr(0x0x7f2291400000) + ptr(0x7ffd4c5a7158) size(0x400000) + + + + + *ptr(0x0x7f2290e00000) + dst(0x7f2291400000) src(0x1cba050) size(0x400000) kind(1) + + + + + + + + + + +rocTX <"before hipLaunchKernel pid(1956) tid(1956)"> +rocTX <"hipLaunchKernel pid(1956) tid(1956)"> +<__hipPushCallConfiguration id(46) correlation_id(128) on-enter pid(1956) tid(1956)> +<__hipPushCallConfiguration id(46) correlation_id(128) on-exit pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(129) on-enter pid(1956) tid(1956)> + + +<__hipPopCallConfiguration id(171) correlation_id(129) on-exit pid(1956) tid(1956)> + + +rocTX <"after hipLaunchKernel pid(1956) tid(1956)"> +rocTX <"hipMemcpy pid(1956) tid(1956)"> + dst(0x20ba060) src(0x7f2290e00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + +rocTX <"(null) pid(1956) tid(1956)"> +rocTX <"(null) pid(1956) tid(1956)"> + + + PASSED! - - - ptr(0x903400000) - - - - - - - - - - ptr(0x903c00000) - - - - - - - + ptr(0x7f2291400000) + + + + + + ptr(0x7f2290e00000) + + + + + # START (76) ############################# - Activity records: - hipFree correlation_id(73) time_ns(43923166501544:43923166529122) process_id(26027) thread_id(26027) - hipSetDevice correlation_id(74) time_ns(43923187472300:43923187482793) process_id(26027) thread_id(26027) - hipGetDeviceProperties correlation_id(75) time_ns(43923187486628:43923187489165) process_id(26027) thread_id(26027) - hipMalloc correlation_id(76) time_ns(43923189740883:43923189792175) process_id(26027) thread_id(26027) - hipMalloc correlation_id(77) time_ns(43923189796556:43923189816149) process_id(26027) thread_id(26027) -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - (null) correlation_id(78) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(78) time_ns(43923189821160:43923190481532) process_id(26027) thread_id(26027) - (null) correlation_id(79) time_ns(0:0) external_id(33) - hipModuleLaunchKernel correlation_id(79) time_ns(43923190506640:43923190528706) process_id(26027) thread_id(26027) - hcCommandKernel correlation_id(79) time_ns(43923190534173:43923192373536) device_id(0) queue_id(0) - hcCommandMarker correlation_id(80) time_ns(43923192377643:43923192409483) device_id(0) queue_id(0) - (null) correlation_id(80) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(80) time_ns(43923190543949:43923193343331) process_id(26027) thread_id(26027) - (null) correlation_id(81) time_ns(0:0) external_id(31) - hipFree correlation_id(81) time_ns(43923207940666:43923208041035) process_id(26027) thread_id(26027) - (null) correlation_id(82) time_ns(0:0) external_id(31) - hipFree correlation_id(82) time_ns(43923208047021:43923208064334) process_id(26027) thread_id(26027) - hipSetDevice correlation_id(83) time_ns(43923228537278:43923228546788) process_id(26027) thread_id(26027) - hipGetDeviceProperties correlation_id(84) time_ns(43923228550628:43923228553109) process_id(26027) thread_id(26027) - hipMalloc correlation_id(85) time_ns(43923230723589:43923230773155) process_id(26027) thread_id(26027) - hipMalloc correlation_id(86) time_ns(43923230777434:43923230806756) process_id(26027) thread_id(26027) - (null) correlation_id(87) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(87) time_ns(43923230810974:43923231437837) process_id(26027) thread_id(26027) - (null) correlation_id(88) time_ns(0:0) external_id(33) - hipModuleLaunchKernel correlation_id(88) time_ns(43923231468999:43923231510014) process_id(26027) thread_id(26027) - hcCommandKernel correlation_id(88) time_ns(43923231514484:43923231997685) device_id(0) queue_id(0) - hcCommandMarker correlation_id(89) time_ns(43923232000725:43923232007605) device_id(0) queue_id(0) - (null) correlation_id(89) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(89) time_ns(43923231514870:43923232945021) process_id(26027) thread_id(26027) - (null) correlation_id(90) time_ns(0:0) external_id(31) - hipFree correlation_id(90) time_ns(43923247555347:43923247652887) process_id(26027) thread_id(26027) - (null) correlation_id(91) time_ns(0:0) external_id(31) - hipFree correlation_id(91) time_ns(43923247658848:43923247675545) process_id(26027) thread_id(26027) - hipSetDevice correlation_id(92) time_ns(43923266790798:43923266800885) process_id(26027) thread_id(26027) - hipGetDeviceProperties correlation_id(93) time_ns(43923266804638:43923266807088) process_id(26027) thread_id(26027) - hipMalloc correlation_id(94) time_ns(43923269004204:43923269054294) process_id(26027) thread_id(26027) - hipMalloc correlation_id(95) time_ns(43923269071335:43923269099836) process_id(26027) thread_id(26027) - (null) correlation_id(96) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(96) time_ns(43923269104178:43923269741867) process_id(26027) thread_id(26027) - (null) correlation_id(97) time_ns(0:0) external_id(33) - hipModuleLaunchKernel correlation_id(97) time_ns(43923269773387:43923269813869) process_id(26027) thread_id(26027) - hcCommandKernel correlation_id(97) time_ns(43923269818278:43923270309158) device_id(0) queue_id(0) - hcCommandMarker correlation_id(98) time_ns(43923270312110:43923270318830) device_id(0) queue_id(0) - (null) correlation_id(98) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(98) time_ns(43923269829999:43923271227540) process_id(26027) thread_id(26027) - (null) correlation_id(99) time_ns(0:0) external_id(31) - hipFree correlation_id(99) time_ns(43923285847908:43923285945374) process_id(26027) thread_id(26027) - (null) correlation_id(100) time_ns(0:0) external_id(31) - hipFree correlation_id(100) time_ns(43923285951361:43923285968041) process_id(26027) thread_id(26027) - hipSetDevice correlation_id(101) time_ns(43923305073815:43923305083067) process_id(26027) thread_id(26027) - hipGetDeviceProperties correlation_id(102) time_ns(43923305087221:43923305089606) process_id(26027) thread_id(26027) - hipMalloc correlation_id(103) time_ns(43923307263948:43923307313870) process_id(26027) thread_id(26027) - hipMalloc correlation_id(104) time_ns(43923307318020:43923307356703) process_id(26027) thread_id(26027) - (null) correlation_id(105) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(105) time_ns(43923307360879:43923308032277) process_id(26027) thread_id(26027) - (null) correlation_id(106) time_ns(0:0) external_id(33) - hipModuleLaunchKernel correlation_id(106) time_ns(43923308056868:43923308096612) process_id(26027) thread_id(26027) - hcCommandKernel correlation_id(106) time_ns(43923308101054:43923308579934) device_id(0) queue_id(0) - hcCommandMarker correlation_id(107) time_ns(43923308582862:43923308589422) device_id(0) queue_id(0) - (null) correlation_id(107) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(107) time_ns(43923308101603:43923309526202) process_id(26027) thread_id(26027) - (null) correlation_id(108) time_ns(0:0) external_id(31) - hipFree correlation_id(108) time_ns(43923324159330:43923324253297) process_id(26027) thread_id(26027) - (null) correlation_id(109) time_ns(0:0) external_id(31) +Device 0 name: Device 687f PASSED! # START (75) ############################# - - - - - - - - - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - - - ptr(0x7ffdc052b378) size(0x400000) - - - - - - - *ptr(0x0x903400000) - - - ptr(0x7ffdc052b370) size(0x400000) - - - - - - - *ptr(0x0x903c00000) - - - dst(0x903400000) src(0x7f1879f80010) size(0x400000) kind(1) - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - - dst(0x30c1e60) src(0x903c00000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + +Device 0 name: Device 687f + ptr(0x7ffd4c5a7160) size(0x400000) + + + + + *ptr(0x0x7f2291400000) + ptr(0x7ffd4c5a7158) size(0x400000) + + + + + *ptr(0x0x7f2290e00000) + dst(0x7f2291400000) src(0x1cba050) size(0x400000) kind(1) + + + + + + + + + + +rocTX <"before hipLaunchKernel pid(1956) tid(1956)"> +rocTX <"hipLaunchKernel pid(1956) tid(1956)"> +<__hipPushCallConfiguration id(46) correlation_id(139) on-enter pid(1956) tid(1956)> +<__hipPushCallConfiguration id(46) correlation_id(139) on-exit pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(140) on-enter pid(1956) tid(1956)> + + +<__hipPopCallConfiguration id(171) correlation_id(140) on-exit pid(1956) tid(1956)> + + +rocTX <"after hipLaunchKernel pid(1956) tid(1956)"> +rocTX <"hipMemcpy pid(1956) tid(1956)"> + dst(0x20ba060) src(0x7f2290e00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + +rocTX <"(null) pid(1956) tid(1956)"> +rocTX <"(null) pid(1956) tid(1956)"> + + + PASSED! - - - ptr(0x903400000) - - - - - - - - - - ptr(0x903c00000) - - - - - - - + ptr(0x7f2291400000) + + + + + + ptr(0x7f2290e00000) + + + + + # START (74) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (73) ############################# - - - - - - - - - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - - - ptr(0x7ffdc052b378) size(0x400000) - - - - - - - *ptr(0x0x903400000) - - - ptr(0x7ffdc052b370) size(0x400000) - - - - - - - *ptr(0x0x903c00000) - - - dst(0x903400000) src(0x7f1879f80010) size(0x400000) kind(1) - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x30c1e60) src(0x903c00000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + +Device 0 name: Device 687f + ptr(0x7ffd4c5a7160) size(0x400000) + + + + + *ptr(0x0x7f2291400000) + ptr(0x7ffd4c5a7158) size(0x400000) + + + + + *ptr(0x0x7f2290e00000) + dst(0x7f2291400000) src(0x1cba050) size(0x400000) kind(1) + + + + + + + + + + +rocTX <"before hipLaunchKernel pid(1956) tid(1956)"> +rocTX <"hipLaunchKernel pid(1956) tid(1956)"> +<__hipPushCallConfiguration id(46) correlation_id(150) on-enter pid(1956) tid(1956)> + +<__hipPushCallConfiguration id(46) correlation_id(150) on-exit pid(1956) tid(1956)> + +<__hipPopCallConfiguration id(171) correlation_id(151) on-enter pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(151) on-exit pid(1956) tid(1956)> + + +rocTX <"after hipLaunchKernel pid(1956) tid(1956)"> +rocTX <"hipMemcpy pid(1956) tid(1956)"> + dst(0x20ba060) src(0x7f2290e00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + +rocTX <"(null) pid(1956) tid(1956)"> +rocTX <"(null) pid(1956) tid(1956)"> + + + PASSED! - - - ptr(0x903400000) - - - - - - - - - - ptr(0x903c00000) - - - - - - - + ptr(0x7f2291400000) + + + + + + ptr(0x7f2290e00000) + + + + + # START (72) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (71) ############################# - - - - - - - - - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - - - ptr(0x7ffdc052b378) size(0x400000) - - - - - - - *ptr(0x0x903400000) - - - ptr(0x7ffdc052b370) size(0x400000) - - - - - - - *ptr(0x0x903c00000) - - - dst(0x903400000) src(0x7f1879f80010) size(0x400000) kind(1) - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x30c1e60) src(0x903c00000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + +Device 0 name: Device 687f + ptr(0x7ffd4c5a7160) size(0x400000) + + + + + *ptr(0x0x7f2291400000) + ptr(0x7ffd4c5a7158) size(0x400000) + + + + + *ptr(0x0x7f2290e00000) + dst(0x7f2291400000) src(0x1cba050) size(0x400000) kind(1) + + + + + + + + + + +rocTX <"before hipLaunchKernel pid(1956) tid(1956)"> +rocTX <"hipLaunchKernel pid(1956) tid(1956)"> +<__hipPushCallConfiguration id(46) correlation_id(161) on-enter pid(1956) tid(1956)> +<__hipPushCallConfiguration id(46) correlation_id(161) on-exit pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(162) on-enter pid(1956) tid(1956)> + +<__hipPopCallConfiguration id(171) correlation_id(162) on-exit pid(1956) tid(1956)> + + + +rocTX <"after hipLaunchKernel pid(1956) tid(1956)"> +rocTX <"hipMemcpy pid(1956) tid(1956)"> + dst(0x20ba060) src(0x7f2290e00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + +rocTX <"(null) pid(1956) tid(1956)"> +rocTX <"(null) pid(1956) tid(1956)"> + + + PASSED! - - - ptr(0x903400000) - - - - - - - - - - ptr(0x903c00000) - - - - - - - + ptr(0x7f2291400000) + + + + + + ptr(0x7f2290e00000) + + + + + # START (70) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (69) ############################# - - - - - - - - - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - - - ptr(0x7ffdc052b378) size(0x400000) - - - - - - - *ptr(0x0x903400000) - - - ptr(0x7ffdc052b370) size(0x400000) - - - - - - - *ptr(0x0x903c00000) - - - dst(0x903400000) src(0x7f1879f80010) size(0x400000) kind(1) - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x30c1e60) src(0x903c00000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + +Device 0 name: Device 687f + ptr(0x7ffd4c5a7160) size(0x400000) + + + + + *ptr(0x0x7f2291400000) + ptr(0x7ffd4c5a7158) size(0x400000) + + + + + *ptr(0x0x7f2290e00000) + dst(0x7f2291400000) src(0x1cba050) size(0x400000) kind(1) + + + + + + + + + +rocTX <"before hipLaunchKernel pid(1956) tid(1956)"> + +rocTX <"hipLaunchKernel pid(1956) tid(1956)"> +<__hipPushCallConfiguration id(46) correlation_id(172) on-enter pid(1956) tid(1956)> +<__hipPushCallConfiguration id(46) correlation_id(172) on-exit pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(173) on-enter pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(173) on-exit pid(1956) tid(1956)> + + + + +rocTX <"after hipLaunchKernel pid(1956) tid(1956)"> +rocTX <"hipMemcpy pid(1956) tid(1956)"> + dst(0x20ba060) src(0x7f2290e00000) size(0x400000) kind(2) + + + + + + + + + + + + +rocTX <"(null) pid(1956) tid(1956)"> +rocTX <"(null) pid(1956) tid(1956)"> + + + + PASSED! - - - ptr(0x903400000) - - - - - - - - - - ptr(0x903c00000) - - - - - - - + ptr(0x7f2291400000) + + + + + + ptr(0x7f2290e00000) + + + + + # START (68) ############################# - Activity records: - hipFree correlation_id(109) time_ns(43923324259607:43923324296890) process_id(26027) thread_id(26027) - hipSetDevice correlation_id(110) time_ns(43923343783441:43923343792602) process_id(26027) thread_id(26027) - hipGetDeviceProperties correlation_id(111) time_ns(43923343796414:43923343798915) process_id(26027) thread_id(26027) - hipMalloc correlation_id(112) time_ns(43923346029952:43923346080708) process_id(26027) thread_id(26027) - hipMalloc correlation_id(113) time_ns(43923346085241:43923346103704) process_id(26027) thread_id(26027) - (null) correlation_id(114) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(114) time_ns(43923346117301:43923346791409) process_id(26027) thread_id(26027) -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - (null) correlation_id(115) time_ns(0:0) external_id(33) - hipModuleLaunchKernel correlation_id(115) time_ns(43923346826463:43923346848239) process_id(26027) thread_id(26027) - hcCommandKernel correlation_id(115) time_ns(43923346852975:43923347343055) device_id(0) queue_id(0) - hcCommandMarker correlation_id(116) time_ns(43923347347000:43923347353880) device_id(0) queue_id(0) - (null) correlation_id(116) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(116) time_ns(43923346861840:43923348270921) process_id(26027) thread_id(26027) - (null) correlation_id(117) time_ns(0:0) external_id(31) - hipFree correlation_id(117) time_ns(43923362918776:43923363013264) process_id(26027) thread_id(26027) - (null) correlation_id(118) time_ns(0:0) external_id(31) - hipFree correlation_id(118) time_ns(43923363018807:43923363056010) process_id(26027) thread_id(26027) - hipSetDevice correlation_id(119) time_ns(43923382164288:43923382173905) process_id(26027) thread_id(26027) - hipGetDeviceProperties correlation_id(120) time_ns(43923382177905:43923382180619) process_id(26027) thread_id(26027) - hipMalloc correlation_id(121) time_ns(43923384379713:43923384430553) process_id(26027) thread_id(26027) - hipMalloc correlation_id(122) time_ns(43923384447265:43923384476233) process_id(26027) thread_id(26027) - (null) correlation_id(123) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(123) time_ns(43923384480482:43923385117773) process_id(26027) thread_id(26027) - (null) correlation_id(124) time_ns(0:0) external_id(33) - hipModuleLaunchKernel correlation_id(124) time_ns(43923385148848:43923385188553) process_id(26027) thread_id(26027) - hcCommandKernel correlation_id(124) time_ns(43923385193190:43923385682470) device_id(0) queue_id(0) - hcCommandMarker correlation_id(125) time_ns(43923385685409:43923385691969) device_id(0) queue_id(0) - (null) correlation_id(125) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(125) time_ns(43923385193330:43923386599747) process_id(26027) thread_id(26027) - (null) correlation_id(126) time_ns(0:0) external_id(31) - hipFree correlation_id(126) time_ns(43923401224065:43923401322747) process_id(26027) thread_id(26027) - (null) correlation_id(127) time_ns(0:0) external_id(31) - hipFree correlation_id(127) time_ns(43923401328833:43923401356064) process_id(26027) thread_id(26027) - hipSetDevice correlation_id(128) time_ns(43923420505471:43923420514646) process_id(26027) thread_id(26027) - hipGetDeviceProperties correlation_id(129) time_ns(43923420518402:43923420520840) process_id(26027) thread_id(26027) - hipMalloc correlation_id(130) time_ns(43923422695255:43923422745429) process_id(26027) thread_id(26027) - hipMalloc correlation_id(131) time_ns(43923422749520:43923422787237) process_id(26027) thread_id(26027) - (null) correlation_id(132) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(132) time_ns(43923422791618:43923423435484) process_id(26027) thread_id(26027) - (null) correlation_id(133) time_ns(0:0) external_id(33) - hipModuleLaunchKernel correlation_id(133) time_ns(43923423466950:43923423508155) process_id(26027) thread_id(26027) - hcCommandKernel correlation_id(133) time_ns(43923423512949:43923423996309) device_id(0) queue_id(0) - hcCommandMarker correlation_id(134) time_ns(43923423999174:43923424005894) device_id(0) queue_id(0) - (null) correlation_id(134) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(134) time_ns(43923423525127:43923424991816) process_id(26027) thread_id(26027) - (null) correlation_id(135) time_ns(0:0) external_id(31) - hipFree correlation_id(135) time_ns(43923439636628:43923439721518) process_id(26027) thread_id(26027) - (null) correlation_id(136) time_ns(0:0) external_id(31) - hipFree correlation_id(136) time_ns(43923439737564:43923439767604) process_id(26027) thread_id(26027) - hipSetDevice correlation_id(137) time_ns(43923458908892:43923458918725) process_id(26027) thread_id(26027) - hipGetDeviceProperties correlation_id(138) time_ns(43923458922419:43923458924977) process_id(26027) thread_id(26027) - hipMalloc correlation_id(139) time_ns(43923461119944:43923461169258) process_id(26027) thread_id(26027) - hipMalloc correlation_id(140) time_ns(43923461186478:43923461214108) process_id(26027) thread_id(26027) - (null) correlation_id(141) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(141) time_ns(43923461218204:43923461856445) process_id(26027) thread_id(26027) - (null) correlation_id(142) time_ns(0:0) external_id(33) - hipModuleLaunchKernel correlation_id(142) time_ns(43923461887128:43923461928559) process_id(26027) thread_id(26027) - hcCommandKernel correlation_id(142) time_ns(43923461933371:43923462413371) device_id(0) queue_id(0) - hcCommandMarker correlation_id(143) time_ns(43923462416318:43923462422878) device_id(0) queue_id(0) - (null) correlation_id(143) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(143) time_ns(43923461944949:43923463384786) process_id(26027) thread_id(26027) - (null) correlation_id(144) time_ns(0:0) external_id(31) - hipFree correlation_id(144) time_ns(43923478031514:43923478101679) process_id(26027) thread_id(26027) - (null) correlation_id(145) time_ns(0:0) external_id(31) +Device 0 name: Device 687f PASSED! # START (67) ############################# - - - - - - - - - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - - - ptr(0x7ffdc052b378) size(0x400000) - - - - - - - *ptr(0x0x903400000) - - - ptr(0x7ffdc052b370) size(0x400000) - - - - - - - *ptr(0x0x903c00000) - - - dst(0x903400000) src(0x7f1879f80010) size(0x400000) kind(1) - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x30c1e60) src(0x903c00000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + +Device 0 name: Device 687f + ptr(0x7ffd4c5a7160) size(0x400000) + + + + + *ptr(0x0x7f2291400000) + ptr(0x7ffd4c5a7158) size(0x400000) + + + + + *ptr(0x0x7f2290e00000) + dst(0x7f2291400000) src(0x1cba050) size(0x400000) kind(1) + + + + + + + + + +rocTX <"before hipLaunchKernel pid(1956) tid(1956)"> + +rocTX <"hipLaunchKernel pid(1956) tid(1956)"> +<__hipPushCallConfiguration id(46) correlation_id(183) on-enter pid(1956) tid(1956)> +<__hipPushCallConfiguration id(46) correlation_id(183) on-exit pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(184) on-enter pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(184) on-exit pid(1956) tid(1956)> + + + +rocTX <"after hipLaunchKernel pid(1956) tid(1956)"> +rocTX <"hipMemcpy pid(1956) tid(1956)"> + + dst(0x20ba060) src(0x7f2290e00000) size(0x400000) kind(2) + + + + + + + + + + + + +rocTX <"(null) pid(1956) tid(1956)"> +rocTX <"(null) pid(1956) tid(1956)"> + + + + PASSED! - - - ptr(0x903400000) - - - - - - - - - - ptr(0x903c00000) - - - - - - - + ptr(0x7f2291400000) + + + + + + ptr(0x7f2290e00000) + + + + + # START (66) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (65) ############################# - - - - - - - - - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - - - ptr(0x7ffdc052b378) size(0x400000) - - - - - - - *ptr(0x0x903400000) - - - ptr(0x7ffdc052b370) size(0x400000) - - - - - - - *ptr(0x0x903c00000) - - - dst(0x903400000) src(0x7f1879f80010) size(0x400000) kind(1) - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - - dst(0x30c1e60) src(0x903c00000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + +Device 0 name: Device 687f + ptr(0x7ffd4c5a7160) size(0x400000) + + + + + *ptr(0x0x7f2291400000) + ptr(0x7ffd4c5a7158) size(0x400000) + + + + + *ptr(0x0x7f2290e00000) + dst(0x7f2291400000) src(0x1cba050) size(0x400000) kind(1) + + + + + + + + + +rocTX <"before hipLaunchKernel pid(1956) tid(1956)"> + +rocTX <"hipLaunchKernel pid(1956) tid(1956)"> +<__hipPushCallConfiguration id(46) correlation_id(194) on-enter pid(1956) tid(1956)> +<__hipPushCallConfiguration id(46) correlation_id(194) on-exit pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(195) on-enter pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(195) on-exit pid(1956) tid(1956)> + + + + +rocTX <"after hipLaunchKernel pid(1956) tid(1956)"> +rocTX <"hipMemcpy pid(1956) tid(1956)"> + dst(0x20ba060) src(0x7f2290e00000) size(0x400000) kind(2) + + + + + + + + + + + + +rocTX <"(null) pid(1956) tid(1956)"> +rocTX <"(null) pid(1956) tid(1956)"> + + + + PASSED! - - - ptr(0x903400000) - - - - - - - - - - ptr(0x903c00000) - - - - - - - + ptr(0x7f2291400000) + + + + + + ptr(0x7f2290e00000) + + + + + # START (64) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (63) ############################# - - - - - - - - - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - - - ptr(0x7ffdc052b378) size(0x400000) - - - - - - - *ptr(0x0x903400000) - - - ptr(0x7ffdc052b370) size(0x400000) - - - - - - - *ptr(0x0x903c00000) - - - dst(0x903400000) src(0x7f1879f80010) size(0x400000) kind(1) - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x30c1e60) src(0x903c00000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + +Device 0 name: Device 687f + ptr(0x7ffd4c5a7160) size(0x400000) + + + + + *ptr(0x0x7f2291400000) + ptr(0x7ffd4c5a7158) size(0x400000) + + + + + *ptr(0x0x7f2290e00000) + dst(0x7f2291400000) src(0x1cba050) size(0x400000) kind(1) + + + + + + + + + + +rocTX <"before hipLaunchKernel pid(1956) tid(1956)"> +rocTX <"hipLaunchKernel pid(1956) tid(1956)"> +<__hipPushCallConfiguration id(46) correlation_id(205) on-enter pid(1956) tid(1956)> +<__hipPushCallConfiguration id(46) correlation_id(205) on-exit pid(1956) tid(1956)> + +<__hipPopCallConfiguration id(171) correlation_id(206) on-enter pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(206) on-exit pid(1956) tid(1956)> + + + +rocTX <"after hipLaunchKernel pid(1956) tid(1956)"> +rocTX <"hipMemcpy pid(1956) tid(1956)"> + dst(0x20ba060) src(0x7f2290e00000) size(0x400000) kind(2) + + + + + + + + + + + + + +rocTX <"(null) pid(1956) tid(1956)"> +rocTX <"(null) pid(1956) tid(1956)"> + + + PASSED! - - - ptr(0x903400000) - - - - - - - - - - ptr(0x903c00000) - - - - - - - + ptr(0x7f2291400000) + + + + + + ptr(0x7f2290e00000) + + + + + # START (62) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (61) ############################# - - - - - - - - - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - - - ptr(0x7ffdc052b378) size(0x400000) - - - - - - - *ptr(0x0x903400000) - - - ptr(0x7ffdc052b370) size(0x400000) - - - - - - - *ptr(0x0x903c00000) - - - dst(0x903400000) src(0x7f1879f80010) size(0x400000) kind(1) - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - - dst(0x30c1e60) src(0x903c00000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + +Device 0 name: Device 687f + ptr(0x7ffd4c5a7160) size(0x400000) + + + + + *ptr(0x0x7f2291400000) + ptr(0x7ffd4c5a7158) size(0x400000) + + + + + *ptr(0x0x7f2290e00000) + dst(0x7f2291400000) src(0x1cba050) size(0x400000) kind(1) + + + + + + + + + + +rocTX <"before hipLaunchKernel pid(1956) tid(1956)"> +rocTX <"hipLaunchKernel pid(1956) tid(1956)"> +<__hipPushCallConfiguration id(46) correlation_id(216) on-enter pid(1956) tid(1956)> +<__hipPushCallConfiguration id(46) correlation_id(216) on-exit pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(217) on-enter pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(217) on-exit pid(1956) tid(1956)> + + + + +rocTX <"after hipLaunchKernel pid(1956) tid(1956)"> +rocTX <"hipMemcpy pid(1956) tid(1956)"> + dst(0x20ba060) src(0x7f2290e00000) size(0x400000) kind(2) + + + + + + + + + + + + +rocTX <"(null) pid(1956) tid(1956)"> +rocTX <"(null) pid(1956) tid(1956)"> + + + + PASSED! - - - ptr(0x903400000) - - - - - - - - - - ptr(0x903c00000) - - - - - - - + ptr(0x7f2291400000) + + + + + + ptr(0x7f2290e00000) + + + + + # START (60) ############################# - Activity records: - hipFree correlation_id(145) time_ns(43923478107118:43923478133836) process_id(26027) thread_id(26027) - hipSetDevice correlation_id(146) time_ns(43923497787053:43923497797057) process_id(26027) thread_id(26027) - hipGetDeviceProperties correlation_id(147) time_ns(43923497800893:43923497803502) process_id(26027) thread_id(26027) - hipMalloc correlation_id(148) time_ns(43923500074115:43923500125579) process_id(26027) thread_id(26027) - hipMalloc correlation_id(149) time_ns(43923500129967:43923500149866) process_id(26027) thread_id(26027) - (null) correlation_id(150) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(150) time_ns(43923500154821:43923500796762) process_id(26027) thread_id(26027) -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - (null) correlation_id(151) time_ns(0:0) external_id(33) - hipModuleLaunchKernel correlation_id(151) time_ns(43923500821675:43923500843166) process_id(26027) thread_id(26027) - hcCommandKernel correlation_id(151) time_ns(43923500847739:43923501333819) device_id(0) queue_id(0) - hcCommandMarker correlation_id(152) time_ns(43923501336746:43923501343306) device_id(0) queue_id(0) - (null) correlation_id(152) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(152) time_ns(43923500856672:43923502262652) process_id(26027) thread_id(26027) - (null) correlation_id(153) time_ns(0:0) external_id(31) - hipFree correlation_id(153) time_ns(43923516890979:43923516974407) process_id(26027) thread_id(26027) - (null) correlation_id(154) time_ns(0:0) external_id(31) - hipFree correlation_id(154) time_ns(43923516980172:43923517007413) process_id(26027) thread_id(26027) - hipSetDevice correlation_id(155) time_ns(43923536185924:43923536195427) process_id(26027) thread_id(26027) - hipGetDeviceProperties correlation_id(156) time_ns(43923536199375:43923536202001) process_id(26027) thread_id(26027) - hipMalloc correlation_id(157) time_ns(43923538372414:43923538422093) process_id(26027) thread_id(26027) - hipMalloc correlation_id(158) time_ns(43923538426404:43923538465287) process_id(26027) thread_id(26027) - (null) correlation_id(159) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(159) time_ns(43923538469387:43923539112786) process_id(26027) thread_id(26027) - (null) correlation_id(160) time_ns(0:0) external_id(33) - hipModuleLaunchKernel correlation_id(160) time_ns(43923539143922:43923539184637) process_id(26027) thread_id(26027) - hcCommandKernel correlation_id(160) time_ns(43923539189018:43923539679258) device_id(0) queue_id(0) - hcCommandMarker correlation_id(161) time_ns(43923539682215:43923539688775) device_id(0) queue_id(0) - (null) correlation_id(161) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(161) time_ns(43923539189370:43923540652339) process_id(26027) thread_id(26027) - (null) correlation_id(162) time_ns(0:0) external_id(31) - hipFree correlation_id(162) time_ns(43923555281370:43923555351858) process_id(26027) thread_id(26027) - (null) correlation_id(163) time_ns(0:0) external_id(31) - hipFree correlation_id(163) time_ns(43923555357808:43923555384570) process_id(26027) thread_id(26027) - hipSetDevice correlation_id(164) time_ns(43923574559865:43923574568423) process_id(26027) thread_id(26027) - hipGetDeviceProperties correlation_id(165) time_ns(43923574571947:43923574574268) process_id(26027) thread_id(26027) - hipMalloc correlation_id(166) time_ns(43923576768554:43923576816971) process_id(26027) thread_id(26027) - hipMalloc correlation_id(167) time_ns(43923576834755:43923576853291) process_id(26027) thread_id(26027) - (null) correlation_id(168) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(168) time_ns(43923576857952:43923577531887) process_id(26027) thread_id(26027) - (null) correlation_id(169) time_ns(0:0) external_id(33) - hipModuleLaunchKernel correlation_id(169) time_ns(43923577562527:43923577601613) process_id(26027) thread_id(26027) - hcCommandKernel correlation_id(169) time_ns(43923577606603:43923578089483) device_id(0) queue_id(0) - hcCommandMarker correlation_id(170) time_ns(43923578092421:43923578099301) device_id(0) queue_id(0) - (null) correlation_id(170) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(170) time_ns(43923577606200:43923579133582) process_id(26027) thread_id(26027) - (null) correlation_id(171) time_ns(0:0) external_id(31) - hipFree correlation_id(171) time_ns(43923593783428:43923593854144) process_id(26027) thread_id(26027) - (null) correlation_id(172) time_ns(0:0) external_id(31) - hipFree correlation_id(172) time_ns(43923593859731:43923593886059) process_id(26027) thread_id(26027) - hipSetDevice correlation_id(173) time_ns(43923614371074:43923614381008) process_id(26027) thread_id(26027) - hipGetDeviceProperties correlation_id(174) time_ns(43923614384837:43923614387415) process_id(26027) thread_id(26027) - hipMalloc correlation_id(175) time_ns(43923616587729:43923616637841) process_id(26027) thread_id(26027) - hipMalloc correlation_id(176) time_ns(43923616653716:43923616682292) process_id(26027) thread_id(26027) - (null) correlation_id(177) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(177) time_ns(43923616686661:43923617367358) process_id(26027) thread_id(26027) - (null) correlation_id(178) time_ns(0:0) external_id(33) - hipModuleLaunchKernel correlation_id(178) time_ns(43923617398197:43923617439007) process_id(26027) thread_id(26027) - hcCommandKernel correlation_id(178) time_ns(43923617444410:43923619286333) device_id(0) queue_id(0) - hcCommandMarker correlation_id(179) time_ns(43923619289400:43923619321400) device_id(0) queue_id(0) - (null) correlation_id(179) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(179) time_ns(43923617443875:43923620346684) process_id(26027) thread_id(26027) - (null) correlation_id(180) time_ns(0:0) external_id(31) - hipFree correlation_id(180) time_ns(43923634950544:43923635035155) process_id(26027) thread_id(26027) - (null) correlation_id(181) time_ns(0:0) external_id(31) +Device 0 name: Device 687f PASSED! # START (59) ############################# - - - - - - - - - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - - - ptr(0x7ffdc052b378) size(0x400000) - - - - - - - *ptr(0x0x903400000) - - - ptr(0x7ffdc052b370) size(0x400000) - - - - - - - *ptr(0x0x903c00000) - - - dst(0x903400000) src(0x7f1879f80010) size(0x400000) kind(1) - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - - dst(0x30c1e60) src(0x903c00000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + +Device 0 name: Device 687f + ptr(0x7ffd4c5a7160) size(0x400000) + + + + + *ptr(0x0x7f2291400000) + ptr(0x7ffd4c5a7158) size(0x400000) + + + + + *ptr(0x0x7f2290e00000) + dst(0x7f2291400000) src(0x1cba050) size(0x400000) kind(1) + + + + + + + + + +rocTX <"before hipLaunchKernel pid(1956) tid(1956)"> + +rocTX <"hipLaunchKernel pid(1956) tid(1956)"> +<__hipPushCallConfiguration id(46) correlation_id(227) on-enter pid(1956) tid(1956)> +<__hipPushCallConfiguration id(46) correlation_id(227) on-exit pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(228) on-enter pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(228) on-exit pid(1956) tid(1956)> + + + + +rocTX <"after hipLaunchKernel pid(1956) tid(1956)"> +rocTX <"hipMemcpy pid(1956) tid(1956)"> + dst(0x20ba060) src(0x7f2290e00000) size(0x400000) kind(2) + + + + + + + + + + + + +rocTX <"(null) pid(1956) tid(1956)"> +rocTX <"(null) pid(1956) tid(1956)"> + + + + PASSED! - - - ptr(0x903400000) - - - - - - - - - - ptr(0x903c00000) - - - - - - - + ptr(0x7f2291400000) + + + + + + ptr(0x7f2290e00000) + + + + + # START (58) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (57) ############################# - - - - - - - - - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - - - ptr(0x7ffdc052b378) size(0x400000) - - - - - - - *ptr(0x0x903400000) - - - ptr(0x7ffdc052b370) size(0x400000) - - - - - - - *ptr(0x0x903c00000) - - - dst(0x903400000) src(0x7f1879f80010) size(0x400000) kind(1) - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - - dst(0x30c1e60) src(0x903c00000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + +Device 0 name: Device 687f + ptr(0x7ffd4c5a7160) size(0x400000) + + + + + *ptr(0x0x7f2291400000) + ptr(0x7ffd4c5a7158) size(0x400000) + + + + + *ptr(0x0x7f2290e00000) + dst(0x7f2291400000) src(0x1cba050) size(0x400000) kind(1) + + + + + + + + + +rocTX <"before hipLaunchKernel pid(1956) tid(1956)"> +rocTX <"hipLaunchKernel pid(1956) tid(1956)"> + +<__hipPushCallConfiguration id(46) correlation_id(238) on-enter pid(1956) tid(1956)> +<__hipPushCallConfiguration id(46) correlation_id(238) on-exit pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(239) on-enter pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(239) on-exit pid(1956) tid(1956)> + + +rocTX <"after hipLaunchKernel pid(1956) tid(1956)"> +rocTX <"hipMemcpy pid(1956) tid(1956)"> + + dst(0x20ba060) src(0x7f2290e00000) size(0x400000) kind(2) + + + + + + + + + + + + + +rocTX <"(null) pid(1956) tid(1956)"> +rocTX <"(null) pid(1956) tid(1956)"> + + + + Activity records: + CopyHostToDevice correlation_id(6) time_ns(3802693158326260:3802693160391985) device_id(0) queue_id(0) bytes(0x0) + KernelExecution correlation_id(9) time_ns(3802693161048371:3802693162256582) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(10) time_ns(3802693161030340:3802693164301504) device_id(0) queue_id(0) bytes(0x0) + CopyHostToDevice correlation_id(17) time_ns(3802693189030657:3802693190819790) device_id(0) queue_id(0) bytes(0x0) + KernelExecution correlation_id(20) time_ns(3802693190942495:3802693192138260) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(21) time_ns(3802693190919751:3802693193555520) device_id(0) queue_id(0) bytes(0x0) + CopyHostToDevice correlation_id(28) time_ns(3802693217699329:3802693219481423) device_id(0) queue_id(0) bytes(0x0) + KernelExecution correlation_id(31) time_ns(3802693219594551:3802693220782909) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(32) time_ns(3802693219571603:3802693222333964) device_id(0) queue_id(0) bytes(0x0) + CopyHostToDevice correlation_id(39) time_ns(3802693246475403:3802693248318136) device_id(0) queue_id(0) bytes(0x0) + KernelExecution correlation_id(42) time_ns(3802693248437502:3802693249626747) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(43) time_ns(3802693248413937:3802693250928706) device_id(0) queue_id(0) bytes(0x0) + CopyHostToDevice correlation_id(50) time_ns(3802693275061624:3802693276990348) device_id(0) queue_id(0) bytes(0x0) + KernelExecution correlation_id(53) time_ns(3802693277116931:3802693278306474) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(54) time_ns(3802693277094469:3802693279611427) device_id(0) queue_id(0) bytes(0x0) + CopyHostToDevice correlation_id(61) time_ns(3802693303647725:3802693305425959) device_id(0) queue_id(0) bytes(0x0) + KernelExecution correlation_id(64) time_ns(3802693305534665:3802693306738726) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(65) time_ns(3802693305512139:3802693308041418) device_id(0) queue_id(0) bytes(0x0) + CopyHostToDevice correlation_id(72) time_ns(3802693332077196:3802693333992130) device_id(0) queue_id(0) bytes(0x0) + KernelExecution correlation_id(75) time_ns(3802693334125246:3802693335327381) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(76) time_ns(3802693334102781:3802693336622820) device_id(0) queue_id(0) bytes(0x0) + CopyHostToDevice correlation_id(83) time_ns(3802693360847169:3802693362459511) device_id(0) queue_id(0) bytes(0x0) + + KernelExecution correlation_id(86) time_ns(3802693362549802:3802693363752381) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(87) time_ns(3802693362527182:3802693365060671) device_id(0) queue_id(0) bytes(0x0) + CopyHostToDevice correlation_id(94) time_ns(3802693389007728:3802693390615380) device_id(0) queue_id(0) bytes(0x0) + KernelExecution correlation_id(97) time_ns(3802693390708976:3802693391898518) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(98) time_ns(3802693390686550:3802693393205669) device_id(0) queue_id(0) bytes(0x0) + CopyHostToDevice correlation_id(105) time_ns(3802693416920965:3802693418529277) device_id(0) queue_id(0) bytes(0x0) + KernelExecution correlation_id(108) time_ns(3802693418631014:3802693419820704) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(109) time_ns(3802693418608207:3802693421128926) device_id(0) queue_id(0) bytes(0x0) + CopyHostToDevice correlation_id(116) time_ns(3802693444838931:3802693446448383) device_id(0) queue_id(0) bytes(0x0) + KernelExecution correlation_id(119) time_ns(3802693446543172:3802693447741899) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(120) time_ns(3802693446520144:3802693449049392) device_id(0) queue_id(0) bytes(0x0) + CopyHostToDevice correlation_id(127) time_ns(3802693472737827:3802693474345459) device_id(0) queue_id(0) bytes(0x0) + KernelExecution correlation_id(130) time_ns(3802693474448826:3802693475642813) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(131) time_ns(3802693474426350:3802693476951189) device_id(0) queue_id(0) bytes(0x0) + CopyHostToDevice correlation_id(138) time_ns(3802693504561853:3802693506162115) device_id(0) queue_id(0) bytes(0x0) + KernelExecution correlation_id(141) time_ns(3802693506255741:3802693507466469) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(142) time_ns(3802693506232416:3802693508774235) device_id(0) queue_id(0) bytes(0x0) + CopyHostToDevice correlation_id(149) time_ns(3802693536380419:3802693537984301) device_id(0) queue_id(0) bytes(0x0) + KernelExecution correlation_id(152) time_ns(3802693538080636:3802693539287660) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(153) time_ns(3802693538058642:3802693540595131) device_id(0) queue_id(0) bytes(0x0) + CopyHostToDevice correlation_id(160) time_ns(3802693568325455:3802693569928777) device_id(0) queue_id(0) bytes(0x0) + KernelExecution correlation_id(163) time_ns(3802693570018375:3802693571222732) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(164) time_ns(3802693569996558:3802693572553427) device_id(0) queue_id(0) bytes(0x0) + CopyHostToDevice correlation_id(171) time_ns(3802693600749546:3802693602534749) device_id(0) queue_id(0) bytes(0x0) + KernelExecution correlation_id(174) time_ns(3802693602648735:3802693603850277) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(175) time_ns(3802693602627560:3802693605319020) device_id(0) queue_id(0) bytes(0x0) + CopyHostToDevice correlation_id(182) time_ns(3802693633454628:3802693635319622) device_id(0) queue_id(0) bytes(0x0) + KernelExecution correlation_id(185) time_ns(3802693635444369:3802693636652430) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(186) time_ns(3802693635419783:3802693637956321) device_id(0) queue_id(0) bytes(0x0) + CopyHostToDevice correlation_id(193) time_ns(3802693670536072:3802693672352026) device_id(0) queue_id(0) bytes(0x0) + KernelExecution correlation_id(196) time_ns(3802693672479060:3802693673674232) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(197) time_ns(3802693672456057:3802693674965065) device_id(0) queue_id(0) bytes(0x0) + CopyHostToDevice correlation_id(204) time_ns(3802693702641510:3802693704280223) device_id(0) queue_id(0) bytes(0x0) + KernelExecution correlation_id(207) time_ns(3802693704403420:3802693705594443) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(208) time_ns(3802693704379473:3802693706896192) device_id(0) queue_id(0) bytes(0x0) + CopyHostToDevice correlation_id(215) time_ns(3802693731697045:3802693733490048) device_id(0) queue_id(0) bytes(0x0) + KernelExecution correlation_id(218) time_ns(3802693733606909:3802693734806525) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(219) time_ns(3802693733583869:3802693736105068) device_id(0) queue_id(0) bytes(0x0) + CopyHostToDevice correlation_id(226) time_ns(3802693760759770:3802693762538223) device_id(0) queue_id(0) bytes(0x0) + KernelExecution correlation_id(229) time_ns(3802693762654383:3802693763857554) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(230) time_ns(3802693762631754:3802693765358974) device_id(0) queue_id(0) bytes(0x0) + CopyHostToDevice correlation_id(237) time_ns(3802693789692155:3802693791479928) device_id(0) queue_id(0) bytes(0x0) PASSED! - - - ptr(0x903400000) - - - - - - - - - - ptr(0x903c00000) - - - - - - - + ptr(0x7f2291400000) + + + + + + ptr(0x7f2290e00000) + + + + + # START (56) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (55) ############################# - - - - - - - - - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - - - ptr(0x7ffdc052b378) size(0x400000) - - - - - - - *ptr(0x0x903400000) - - - ptr(0x7ffdc052b370) size(0x400000) - - - - - - - *ptr(0x0x903c00000) - - - dst(0x903400000) src(0x7f1879f80010) size(0x400000) kind(1) - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - - dst(0x30c1e60) src(0x903c00000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + +Device 0 name: Device 687f + ptr(0x7ffd4c5a7160) size(0x400000) + + + + + *ptr(0x0x7f2291400000) + ptr(0x7ffd4c5a7158) size(0x400000) + + + + + *ptr(0x0x7f2290e00000) + dst(0x7f2291400000) src(0x1cba050) size(0x400000) kind(1) + + + + + + + + + +rocTX <"before hipLaunchKernel pid(1956) tid(1956)"> +rocTX <"hipLaunchKernel pid(1956) tid(1956)"> + +<__hipPushCallConfiguration id(46) correlation_id(249) on-enter pid(1956) tid(1956)> +<__hipPushCallConfiguration id(46) correlation_id(249) on-exit pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(250) on-enter pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(250) on-exit pid(1956) tid(1956)> + + +rocTX <"after hipLaunchKernel pid(1956) tid(1956)"> +rocTX <"hipMemcpy pid(1956) tid(1956)"> + dst(0x20ba060) src(0x7f2290e00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + +rocTX <"(null) pid(1956) tid(1956)"> +rocTX <"(null) pid(1956) tid(1956)"> + + + + PASSED! - - - ptr(0x903400000) - - - - - - - - - - ptr(0x903c00000) - - - - - - - + ptr(0x7f2291400000) + + + + + + ptr(0x7f2290e00000) + + + + + # START (54) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (53) ############################# - - - - - - - - - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - - - ptr(0x7ffdc052b378) size(0x400000) - - - - - - - *ptr(0x0x903400000) - - - ptr(0x7ffdc052b370) size(0x400000) - - - - - - - *ptr(0x0x903c00000) - - - dst(0x903400000) src(0x7f1879f80010) size(0x400000) kind(1) - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x30c1e60) src(0x903c00000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + +Device 0 name: Device 687f + ptr(0x7ffd4c5a7160) size(0x400000) + + + + + *ptr(0x0x7f2291400000) + ptr(0x7ffd4c5a7158) size(0x400000) + + + + + *ptr(0x0x7f2290e00000) + dst(0x7f2291400000) src(0x1cba050) size(0x400000) kind(1) + + + + + + + + + + +rocTX <"before hipLaunchKernel pid(1956) tid(1956)"> +rocTX <"hipLaunchKernel pid(1956) tid(1956)"> +<__hipPushCallConfiguration id(46) correlation_id(260) on-enter pid(1956) tid(1956)> +<__hipPushCallConfiguration id(46) correlation_id(260) on-exit pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(261) on-enter pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(261) on-exit pid(1956) tid(1956)> + + + + +rocTX <"after hipLaunchKernel pid(1956) tid(1956)"> +rocTX <"hipMemcpy pid(1956) tid(1956)"> + dst(0x20ba060) src(0x7f2290e00000) size(0x400000) kind(2) + + + + + + + + + + + + +rocTX <"(null) pid(1956) tid(1956)"> +rocTX <"(null) pid(1956) tid(1956)"> + + + + PASSED! - - - ptr(0x903400000) - - - - - - - - - - ptr(0x903c00000) - - - - - - - + ptr(0x7f2291400000) + + + + + + ptr(0x7f2290e00000) + + + + + # START (52) ############################# - Activity records: - hipFree correlation_id(181) time_ns(43923635040796:43923635067423) process_id(26027) thread_id(26027) - hipSetDevice correlation_id(182) time_ns(43923655974843:43923655985986) process_id(26027) thread_id(26027) - hipGetDeviceProperties correlation_id(183) time_ns(43923655989930:43923655993147) process_id(26027) thread_id(26027) - hipMalloc correlation_id(184) time_ns(43923658246101:43923658298790) process_id(26027) thread_id(26027) - hipMalloc correlation_id(185) time_ns(43923658303339:43923658323309) process_id(26027) thread_id(26027) - (null) correlation_id(186) time_ns(0:0) external_id(32) -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - hipMemcpy correlation_id(186) time_ns(43923658328717:43923659005376) process_id(26027) thread_id(26027) - (null) correlation_id(187) time_ns(0:0) external_id(33) - hipModuleLaunchKernel correlation_id(187) time_ns(43923659029806:43923659052256) process_id(26027) thread_id(26027) - hcCommandKernel correlation_id(187) time_ns(43923659063291:43923660906334) device_id(0) queue_id(0) - hcCommandMarker correlation_id(188) time_ns(43923660909068:43923660940908) device_id(0) queue_id(0) - (null) correlation_id(188) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(188) time_ns(43923659068015:43923661955500) process_id(26027) thread_id(26027) - (null) correlation_id(189) time_ns(0:0) external_id(31) - hipFree correlation_id(189) time_ns(43923676770003:43923676860623) process_id(26027) thread_id(26027) - (null) correlation_id(190) time_ns(0:0) external_id(31) - hipFree correlation_id(190) time_ns(43923676876968:43923676895497) process_id(26027) thread_id(26027) - hipSetDevice correlation_id(191) time_ns(43923697660900:43923697669089) process_id(26027) thread_id(26027) - hipGetDeviceProperties correlation_id(192) time_ns(43923697682986:43923697685330) process_id(26027) thread_id(26027) - hipMalloc correlation_id(193) time_ns(43923699891927:43923699953112) process_id(26027) thread_id(26027) - hipMalloc correlation_id(194) time_ns(43923699966662:43923699996846) process_id(26027) thread_id(26027) - (null) correlation_id(195) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(195) time_ns(43923700007081:43923700671536) process_id(26027) thread_id(26027) - (null) correlation_id(196) time_ns(0:0) external_id(33) - hipModuleLaunchKernel correlation_id(196) time_ns(43923700705997:43923700746728) process_id(26027) thread_id(26027) - hcCommandKernel correlation_id(196) time_ns(43923700748397:43923702591920) device_id(0) queue_id(0) - hcCommandMarker correlation_id(197) time_ns(43923702594931:43923702627091) device_id(0) queue_id(0) - (null) correlation_id(197) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(197) time_ns(43923700758715:43923703651888) process_id(26027) thread_id(26027) - (null) correlation_id(198) time_ns(0:0) external_id(31) - hipFree correlation_id(198) time_ns(43923718320201:43923718404644) process_id(26027) thread_id(26027) - (null) correlation_id(199) time_ns(0:0) external_id(31) - hipFree correlation_id(199) time_ns(43923718410462:43923718437157) process_id(26027) thread_id(26027) - hipSetDevice correlation_id(200) time_ns(43923739065926:43923739076200) process_id(26027) thread_id(26027) - hipGetDeviceProperties correlation_id(201) time_ns(43923739090270:43923739092867) process_id(26027) thread_id(26027) - hipMalloc correlation_id(202) time_ns(43923741261081:43923741311830) process_id(26027) thread_id(26027) - hipMalloc correlation_id(203) time_ns(43923741316146:43923741354541) process_id(26027) thread_id(26027) - (null) correlation_id(204) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(204) time_ns(43923741358648:43923742048288) process_id(26027) thread_id(26027) - (null) correlation_id(205) time_ns(0:0) external_id(33) - hipModuleLaunchKernel correlation_id(205) time_ns(43923742079823:43923742119846) process_id(26027) thread_id(26027) - hcCommandKernel correlation_id(205) time_ns(43923742125361:43923743966164) device_id(0) queue_id(0) - hcCommandMarker correlation_id(206) time_ns(43923743969118:43923744001278) device_id(0) queue_id(0) - (null) correlation_id(206) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(206) time_ns(43923742124688:43923745002387) process_id(26027) thread_id(26027) - (null) correlation_id(207) time_ns(0:0) external_id(31) - hipFree correlation_id(207) time_ns(43923759598842:43923759684702) process_id(26027) thread_id(26027) - (null) correlation_id(208) time_ns(0:0) external_id(31) - hipFree correlation_id(208) time_ns(43923759700758:43923759730435) process_id(26027) thread_id(26027) - hipSetDevice correlation_id(209) time_ns(43923780293722:43923780303409) process_id(26027) thread_id(26027) - hipGetDeviceProperties correlation_id(210) time_ns(43923780307271:43923780309737) process_id(26027) thread_id(26027) - hipMalloc correlation_id(211) time_ns(43923782500661:43923782550435) process_id(26027) thread_id(26027) - hipMalloc correlation_id(212) time_ns(43923782566769:43923782595397) process_id(26027) thread_id(26027) - (null) correlation_id(213) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(213) time_ns(43923782599606:43923783256624) process_id(26027) thread_id(26027) - (null) correlation_id(214) time_ns(0:0) external_id(33) - hipModuleLaunchKernel correlation_id(214) time_ns(43923783287682:43923783328269) process_id(26027) thread_id(26027) - hcCommandKernel correlation_id(214) time_ns(43923783334160:43923785178163) device_id(0) queue_id(0) - hcCommandMarker correlation_id(215) time_ns(43923785181076:43923785213076) device_id(0) queue_id(0) - (null) correlation_id(215) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(215) time_ns(43923783333005:43923786216665) process_id(26027) thread_id(26027) - (null) correlation_id(216) time_ns(0:0) external_id(31) - hipFree correlation_id(216) time_ns(43923800877367:43923800968284) process_id(26027) thread_id(26027) - (null) correlation_id(217) time_ns(0:0) external_id(31) +Device 0 name: Device 687f PASSED! # START (51) ############################# - - - - - - - - - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - - - ptr(0x7ffdc052b378) size(0x400000) - - - - - - - *ptr(0x0x903400000) - - - ptr(0x7ffdc052b370) size(0x400000) - - - - - - - *ptr(0x0x903c00000) - - - dst(0x903400000) src(0x7f1879f80010) size(0x400000) kind(1) - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x30c1e60) src(0x903c00000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + +Device 0 name: Device 687f + ptr(0x7ffd4c5a7160) size(0x400000) + + + + + *ptr(0x0x7f2291400000) + ptr(0x7ffd4c5a7158) size(0x400000) + + + + + *ptr(0x0x7f2290e00000) + dst(0x7f2291400000) src(0x1cba050) size(0x400000) kind(1) + + + + + + + + + +rocTX <"before hipLaunchKernel pid(1956) tid(1956)"> +rocTX <"hipLaunchKernel pid(1956) tid(1956)"> +<__hipPushCallConfiguration id(46) correlation_id(271) on-enter pid(1956) tid(1956)> +<__hipPushCallConfiguration id(46) correlation_id(271) on-exit pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(272) on-enter pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(272) on-exit pid(1956) tid(1956)> + + + +rocTX <"after hipLaunchKernel pid(1956) tid(1956)"> +rocTX <"hipMemcpy pid(1956) tid(1956)"> + + dst(0x20ba060) src(0x7f2290e00000) size(0x400000) kind(2) + + + + + + + + + + + + + +rocTX <"(null) pid(1956) tid(1956)"> +rocTX <"(null) pid(1956) tid(1956)"> + + + + PASSED! - - - ptr(0x903400000) - - - - - - - - - - ptr(0x903c00000) - - - - - - - + ptr(0x7f2291400000) + + + + + + ptr(0x7f2290e00000) + + + + + # START (50) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (49) ############################# - - - - - - - - - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - - - ptr(0x7ffdc052b378) size(0x400000) - - - - - - - *ptr(0x0x903400000) - - - ptr(0x7ffdc052b370) size(0x400000) - - - - - - - *ptr(0x0x903c00000) - - - dst(0x903400000) src(0x7f1879f80010) size(0x400000) kind(1) - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x30c1e60) src(0x903c00000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - + + + + +Device 0 name: Device 687f + ptr(0x7ffd4c5a7160) size(0x400000) + + + + + *ptr(0x0x7f2291400000) + ptr(0x7ffd4c5a7158) size(0x400000) + + + + + *ptr(0x0x7f2290e00000) + dst(0x7f2291400000) src(0x1cba050) size(0x400000) kind(1) + + + + + + + + + +rocTX <"before hipLaunchKernel pid(1956) tid(1956)"> +rocTX <"hipLaunchKernel pid(1956) tid(1956)"> + +<__hipPushCallConfiguration id(46) correlation_id(282) on-enter pid(1956) tid(1956)> +<__hipPushCallConfiguration id(46) correlation_id(282) on-exit pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(283) on-enter pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(283) on-exit pid(1956) tid(1956)> + + + + +rocTX <"after hipLaunchKernel pid(1956) tid(1956)"> +rocTX <"hipMemcpy pid(1956) tid(1956)"> + dst(0x20ba060) src(0x7f2290e00000) size(0x400000) kind(2) + + + + + + + + + + + + +rocTX <"(null) pid(1956) tid(1956)"> +rocTX <"(null) pid(1956) tid(1956)"> + + + + PASSED! - - - ptr(0x903400000) - - - - - - - - - - ptr(0x903c00000) - - - - - - - + ptr(0x7f2291400000) + + + + + + ptr(0x7f2290e00000) + + + + + # START (48) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (47) ############################# - - - - - - - - - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - - - ptr(0x7ffdc052b378) size(0x400000) - - - - - - - *ptr(0x0x903400000) - - - ptr(0x7ffdc052b370) size(0x400000) - - - - - - - *ptr(0x0x903c00000) - - - dst(0x903400000) src(0x7f1879f80010) size(0x400000) kind(1) - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x30c1e60) src(0x903c00000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - + + + + +Device 0 name: Device 687f + ptr(0x7ffd4c5a7160) size(0x400000) + + + + + *ptr(0x0x7f2291400000) + ptr(0x7ffd4c5a7158) size(0x400000) + + + + + *ptr(0x0x7f2290e00000) + dst(0x7f2291400000) src(0x1cba050) size(0x400000) kind(1) + + + + + + + + + +rocTX <"before hipLaunchKernel pid(1956) tid(1956)"> +rocTX <"hipLaunchKernel pid(1956) tid(1956)"> + +<__hipPushCallConfiguration id(46) correlation_id(293) on-enter pid(1956) tid(1956)> +<__hipPushCallConfiguration id(46) correlation_id(293) on-exit pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(294) on-enter pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(294) on-exit pid(1956) tid(1956)> + + + + +rocTX <"after hipLaunchKernel pid(1956) tid(1956)"> +rocTX <"hipMemcpy pid(1956) tid(1956)"> + dst(0x20ba060) src(0x7f2290e00000) size(0x400000) kind(2) + + + + + + + + + + + + +rocTX <"(null) pid(1956) tid(1956)"> +rocTX <"(null) pid(1956) tid(1956)"> + + + + PASSED! - - - ptr(0x903400000) - - - - - - - - - - ptr(0x903c00000) - - - - - - - + ptr(0x7f2291400000) + + + + + + ptr(0x7f2290e00000) + + + + + # START (46) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (45) ############################# - - - - - - - - - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - - - ptr(0x7ffdc052b378) size(0x400000) - - - - - - - *ptr(0x0x903400000) - - - ptr(0x7ffdc052b370) size(0x400000) - - - - - - - *ptr(0x0x903c00000) - - - dst(0x903400000) src(0x7f1879f80010) size(0x400000) kind(1) - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - - dst(0x30c1e60) src(0x903c00000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + +Device 0 name: Device 687f + ptr(0x7ffd4c5a7160) size(0x400000) + + + + + *ptr(0x0x7f2291400000) + ptr(0x7ffd4c5a7158) size(0x400000) + + + + + *ptr(0x0x7f2290e00000) + dst(0x7f2291400000) src(0x1cba050) size(0x400000) kind(1) + + + + + + + + + +rocTX <"before hipLaunchKernel pid(1956) tid(1956)"> +rocTX <"hipLaunchKernel pid(1956) tid(1956)"> + +<__hipPushCallConfiguration id(46) correlation_id(304) on-enter pid(1956) tid(1956)> +<__hipPushCallConfiguration id(46) correlation_id(304) on-exit pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(305) on-enter pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(305) on-exit pid(1956) tid(1956)> + + + + +rocTX <"after hipLaunchKernel pid(1956) tid(1956)"> +rocTX <"hipMemcpy pid(1956) tid(1956)"> + dst(0x20ba060) src(0x7f2290e00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + +rocTX <"(null) pid(1956) tid(1956)"> +rocTX <"(null) pid(1956) tid(1956)"> + + + + PASSED! - - - ptr(0x903400000) - - - - - - - - - - ptr(0x903c00000) - - - - - - - + ptr(0x7f2291400000) + + + + + + ptr(0x7f2290e00000) + + + + + # START (44) ############################# - Activity records: - hipFree correlation_id(217) time_ns(43923800974193:43923801002074) process_id(26027) thread_id(26027) - hipSetDevice correlation_id(218) time_ns(43923821923676:43923821933811) process_id(26027) thread_id(26027) - hipGetDeviceProperties correlation_id(219) time_ns(43923821937522:43923821940063) process_id(26027) thread_id(26027) - hipMalloc correlation_id(220) time_ns(43923824213169:43923824264743) process_id(26027) thread_id(26027) - hipMalloc correlation_id(221) time_ns(43923824269322:43923824289224) process_id(26027) thread_id(26027) -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - (null) correlation_id(222) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(222) time_ns(43923824294155:43923824954754) process_id(26027) thread_id(26027) - (null) correlation_id(223) time_ns(0:0) external_id(33) - hipModuleLaunchKernel correlation_id(223) time_ns(43923824979430:43923825001473) process_id(26027) thread_id(26027) - hcCommandKernel correlation_id(223) time_ns(43923825007133:43923826844896) device_id(0) queue_id(0) - hcCommandMarker correlation_id(224) time_ns(43923826847709:43923826879549) device_id(0) queue_id(0) - (null) correlation_id(224) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(224) time_ns(43923825015022:43923827883491) process_id(26027) thread_id(26027) - (null) correlation_id(225) time_ns(0:0) external_id(31) - hipFree correlation_id(225) time_ns(43923842537911:43923842620877) process_id(26027) thread_id(26027) - (null) correlation_id(226) time_ns(0:0) external_id(31) - hipFree correlation_id(226) time_ns(43923842637318:43923842666493) process_id(26027) thread_id(26027) - hipSetDevice correlation_id(227) time_ns(43923861766130:43923861776321) process_id(26027) thread_id(26027) - hipGetDeviceProperties correlation_id(228) time_ns(43923861780019:43923861782446) process_id(26027) thread_id(26027) - hipMalloc correlation_id(229) time_ns(43923863972094:43923864039954) process_id(26027) thread_id(26027) - hipMalloc correlation_id(230) time_ns(43923864057471:43923864089047) process_id(26027) thread_id(26027) - (null) correlation_id(231) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(231) time_ns(43923864094177:43923864740876) process_id(26027) thread_id(26027) - (null) correlation_id(232) time_ns(0:0) external_id(33) - hipModuleLaunchKernel correlation_id(232) time_ns(43923864771362:43923864812507) process_id(26027) thread_id(26027) - hcCommandKernel correlation_id(232) time_ns(43923864817106:43923865301106) device_id(0) queue_id(0) - hcCommandMarker correlation_id(233) time_ns(43923865304184:43923865310744) device_id(0) queue_id(0) - (null) correlation_id(233) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(233) time_ns(43923864817292:43923866255059) process_id(26027) thread_id(26027) - (null) correlation_id(234) time_ns(0:0) external_id(31) - hipFree correlation_id(234) time_ns(43923880888738:43923880989206) process_id(26027) thread_id(26027) - (null) correlation_id(235) time_ns(0:0) external_id(31) - hipFree correlation_id(235) time_ns(43923881003862:43923881030622) process_id(26027) thread_id(26027) - hipSetDevice correlation_id(236) time_ns(43923900186141:43923900195829) process_id(26027) thread_id(26027) - hipGetDeviceProperties correlation_id(237) time_ns(43923900199802:43923900202255) process_id(26027) thread_id(26027) - hipMalloc correlation_id(238) time_ns(43923902393152:43923902454943) process_id(26027) thread_id(26027) - hipMalloc correlation_id(239) time_ns(43923902459292:43923902487918) process_id(26027) thread_id(26027) - (null) correlation_id(240) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(240) time_ns(43923902492113:43923903128658) process_id(26027) thread_id(26027) - (null) correlation_id(241) time_ns(0:0) external_id(33) - hipModuleLaunchKernel correlation_id(241) time_ns(43923903159454:43923903200555) process_id(26027) thread_id(26027) - hcCommandKernel correlation_id(241) time_ns(43923903205033:43923903690473) device_id(0) queue_id(0) - hcCommandMarker correlation_id(242) time_ns(43923903693465:43923903700025) device_id(0) queue_id(0) - (null) correlation_id(242) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(242) time_ns(43923903205188:43923904663132) process_id(26027) thread_id(26027) - (null) correlation_id(243) time_ns(0:0) external_id(31) - hipFree correlation_id(243) time_ns(43923919295931:43923919365533) process_id(26027) thread_id(26027) - (null) correlation_id(244) time_ns(0:0) external_id(31) - hipFree correlation_id(244) time_ns(43923919370940:43923919397404) process_id(26027) thread_id(26027) - hipSetDevice correlation_id(245) time_ns(43923938489404:43923938499380) process_id(26027) thread_id(26027) - hipGetDeviceProperties correlation_id(246) time_ns(43923938503077:43923938505438) process_id(26027) thread_id(26027) - hipMalloc correlation_id(247) time_ns(43923940680966:43923940730786) process_id(26027) thread_id(26027) - hipMalloc correlation_id(248) time_ns(43923940735372:43923940764971) process_id(26027) thread_id(26027) - (null) correlation_id(249) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(249) time_ns(43923940769209:43923941386237) process_id(26027) thread_id(26027) - (null) correlation_id(250) time_ns(0:0) external_id(33) - hipModuleLaunchKernel correlation_id(250) time_ns(43923941417772:43923941458957) process_id(26027) thread_id(26027) - hcCommandKernel correlation_id(250) time_ns(43923941463395:43923941944675) device_id(0) queue_id(0) - hcCommandMarker correlation_id(251) time_ns(43923941947651:43923941954211) device_id(0) queue_id(0) - (null) correlation_id(251) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(251) time_ns(43923941463630:43923942895196) process_id(26027) thread_id(26027) - (null) correlation_id(252) time_ns(0:0) external_id(31) - hipFree correlation_id(252) time_ns(43923957484127:43923957580001) process_id(26027) thread_id(26027) - (null) correlation_id(253) time_ns(0:0) external_id(31) +Device 0 name: Device 687f PASSED! # START (43) ############################# - - - - - - - - - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - - - ptr(0x7ffdc052b378) size(0x400000) - - - - - - - *ptr(0x0x903400000) - - - ptr(0x7ffdc052b370) size(0x400000) - - - - - - - *ptr(0x0x903c00000) - - - dst(0x903400000) src(0x7f1879f80010) size(0x400000) kind(1) - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x30c1e60) src(0x903c00000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - + + + + +Device 0 name: Device 687f + ptr(0x7ffd4c5a7160) size(0x400000) + + + + + *ptr(0x0x7f2291400000) + ptr(0x7ffd4c5a7158) size(0x400000) + + + + + *ptr(0x0x7f2290e00000) + dst(0x7f2291400000) src(0x1cba050) size(0x400000) kind(1) + + + + + + + + + + +rocTX <"before hipLaunchKernel pid(1956) tid(1956)"> +rocTX <"hipLaunchKernel pid(1956) tid(1956)"> +<__hipPushCallConfiguration id(46) correlation_id(315) on-enter pid(1956) tid(1956)> +<__hipPushCallConfiguration id(46) correlation_id(315) on-exit pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(316) on-enter pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(316) on-exit pid(1956) tid(1956)> + + + + +rocTX <"after hipLaunchKernel pid(1956) tid(1956)"> +rocTX <"hipMemcpy pid(1956) tid(1956)"> + dst(0x20ba060) src(0x7f2290e00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + +rocTX <"(null) pid(1956) tid(1956)"> +rocTX <"(null) pid(1956) tid(1956)"> + + + + PASSED! - - - ptr(0x903400000) - - - - - - - - - - ptr(0x903c00000) - - - - - - - + ptr(0x7f2291400000) + + + + + + ptr(0x7f2290e00000) + + + + + # START (42) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (41) ############################# - - - - - - - - - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - - - ptr(0x7ffdc052b378) size(0x400000) - - - - - - - *ptr(0x0x903400000) - - - ptr(0x7ffdc052b370) size(0x400000) - - - - - - - *ptr(0x0x903c00000) - - - dst(0x903400000) src(0x7f1879f80010) size(0x400000) kind(1) - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x30c1e60) src(0x903c00000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - + + + + +Device 0 name: Device 687f + ptr(0x7ffd4c5a7160) size(0x400000) + + + + + *ptr(0x0x7f2291400000) + ptr(0x7ffd4c5a7158) size(0x400000) + + + + + *ptr(0x0x7f2290e00000) + dst(0x7f2291400000) src(0x1cba050) size(0x400000) kind(1) + + + + + + + + + +rocTX <"before hipLaunchKernel pid(1956) tid(1956)"> +rocTX <"hipLaunchKernel pid(1956) tid(1956)"> +<__hipPushCallConfiguration id(46) correlation_id(326) on-enter pid(1956) tid(1956)> + +<__hipPushCallConfiguration id(46) correlation_id(326) on-exit pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(327) on-enter pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(327) on-exit pid(1956) tid(1956)> + + + + +rocTX <"after hipLaunchKernel pid(1956) tid(1956)"> +rocTX <"hipMemcpy pid(1956) tid(1956)"> + dst(0x20ba060) src(0x7f2290e00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + +rocTX <"(null) pid(1956) tid(1956)"> +rocTX <"(null) pid(1956) tid(1956)"> + + + + PASSED! - - - ptr(0x903400000) - - - - - - - - - - ptr(0x903c00000) - - - - - - - + ptr(0x7f2291400000) + + + + + + ptr(0x7f2290e00000) + + + + + # START (40) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (39) ############################# - - - - - - - - - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - - - ptr(0x7ffdc052b378) size(0x400000) - - - - - - - *ptr(0x0x903400000) - - - ptr(0x7ffdc052b370) size(0x400000) - - - - - - - *ptr(0x0x903c00000) - - - dst(0x903400000) src(0x7f1879f80010) size(0x400000) kind(1) - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x30c1e60) src(0x903c00000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + +Device 0 name: Device 687f + ptr(0x7ffd4c5a7160) size(0x400000) + + + + + *ptr(0x0x7f2291400000) + ptr(0x7ffd4c5a7158) size(0x400000) + + + + + *ptr(0x0x7f2290e00000) + dst(0x7f2291400000) src(0x1cba050) size(0x400000) kind(1) + + + + + + + + + + +rocTX <"before hipLaunchKernel pid(1956) tid(1956)"> +rocTX <"hipLaunchKernel pid(1956) tid(1956)"> +<__hipPushCallConfiguration id(46) correlation_id(337) on-enter pid(1956) tid(1956)> +<__hipPushCallConfiguration id(46) correlation_id(337) on-exit pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(338) on-enter pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(338) on-exit pid(1956) tid(1956)> + + + + +rocTX <"after hipLaunchKernel pid(1956) tid(1956)"> +rocTX <"hipMemcpy pid(1956) tid(1956)"> + dst(0x20ba060) src(0x7f2290e00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + +rocTX <"(null) pid(1956) tid(1956)"> +rocTX <"(null) pid(1956) tid(1956)"> + + + + PASSED! - - - ptr(0x903400000) - - - - - - - - - - ptr(0x903c00000) - - - - - - - + ptr(0x7f2291400000) + + + + + + ptr(0x7f2290e00000) + + + + + # START (38) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (37) ############################# - - - - - - - - - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - - - ptr(0x7ffdc052b378) size(0x400000) - - - - - - - *ptr(0x0x903400000) - - - ptr(0x7ffdc052b370) size(0x400000) - - - - - - - *ptr(0x0x903c00000) - - - dst(0x903400000) src(0x7f1879f80010) size(0x400000) kind(1) - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - - dst(0x30c1e60) src(0x903c00000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + +Device 0 name: Device 687f + ptr(0x7ffd4c5a7160) size(0x400000) + + + + + *ptr(0x0x7f2291400000) + ptr(0x7ffd4c5a7158) size(0x400000) + + + + + *ptr(0x0x7f2290e00000) + dst(0x7f2291400000) src(0x1cba050) size(0x400000) kind(1) + + + + + + + + + +rocTX <"before hipLaunchKernel pid(1956) tid(1956)"> +rocTX <"hipLaunchKernel pid(1956) tid(1956)"> +<__hipPushCallConfiguration id(46) correlation_id(348) on-enter pid(1956) tid(1956)> + +<__hipPushCallConfiguration id(46) correlation_id(348) on-exit pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(349) on-enter pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(349) on-exit pid(1956) tid(1956)> + + + + +rocTX <"after hipLaunchKernel pid(1956) tid(1956)"> +rocTX <"hipMemcpy pid(1956) tid(1956)"> + dst(0x20ba060) src(0x7f2290e00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + +rocTX <"(null) pid(1956) tid(1956)"> +rocTX <"(null) pid(1956) tid(1956)"> + + + PASSED! - - - ptr(0x903400000) - - - - - - - - - - ptr(0x903c00000) - - - - - - - + ptr(0x7f2291400000) + + + + + + ptr(0x7f2290e00000) + + + + + # START (36) ############################# - Activity records: - hipFree correlation_id(253) time_ns(43923957585741:43923957612870) process_id(26027) thread_id(26027) - hipSetDevice correlation_id(254) time_ns(43923977085513:43923977095289) process_id(26027) thread_id(26027) - hipGetDeviceProperties correlation_id(255) time_ns(43923977109029:43923977111674) process_id(26027) thread_id(26027) - hipMalloc correlation_id(256) time_ns(43923979317852:43923979378871) process_id(26027) thread_id(26027) - hipMalloc correlation_id(257) time_ns(43923979392472:43923979422257) process_id(26027) thread_id(26027) -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - (null) correlation_id(258) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(258) time_ns(43923979426410:43923980064921) process_id(26027) thread_id(26027) - (null) correlation_id(259) time_ns(0:0) external_id(33) - hipModuleLaunchKernel correlation_id(259) time_ns(43923980096048:43923980137087) process_id(26027) thread_id(26027) - hcCommandKernel correlation_id(259) time_ns(43923980141801:43923980625481) device_id(0) queue_id(0) - hcCommandMarker correlation_id(260) time_ns(43923980628295:43923980635015) device_id(0) queue_id(0) - (null) correlation_id(260) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(260) time_ns(43923980141914:43923981601157) process_id(26027) thread_id(26027) - (null) correlation_id(261) time_ns(0:0) external_id(31) - hipFree correlation_id(261) time_ns(43923996238184:43923996331957) process_id(26027) thread_id(26027) - (null) correlation_id(262) time_ns(0:0) external_id(31) - hipFree correlation_id(262) time_ns(43923996337229:43923996353339) process_id(26027) thread_id(26027) - hipSetDevice correlation_id(263) time_ns(43924015379706:43924015389299) process_id(26027) thread_id(26027) - hipGetDeviceProperties correlation_id(264) time_ns(43924015392814:43924015395121) process_id(26027) thread_id(26027) - hipMalloc correlation_id(265) time_ns(43924017571212:43924017619824) process_id(26027) thread_id(26027) - hipMalloc correlation_id(266) time_ns(43924017623918:43924017651953) process_id(26027) thread_id(26027) - (null) correlation_id(267) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(267) time_ns(43924017656734:43924018300772) process_id(26027) thread_id(26027) - (null) correlation_id(268) time_ns(0:0) external_id(33) - hipModuleLaunchKernel correlation_id(268) time_ns(43924018332018:43924018372394) process_id(26027) thread_id(26027) - hcCommandKernel correlation_id(268) time_ns(43924018377238:43924018857878) device_id(0) queue_id(0) - hcCommandMarker correlation_id(269) time_ns(43924018860661:43924018867381) device_id(0) queue_id(0) - (null) correlation_id(269) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(269) time_ns(43924018376979:43924019807931) process_id(26027) thread_id(26027) - (null) correlation_id(270) time_ns(0:0) external_id(31) - hipFree correlation_id(270) time_ns(43924034370733:43924034462002) process_id(26027) thread_id(26027) - (null) correlation_id(271) time_ns(0:0) external_id(31) - hipFree correlation_id(271) time_ns(43924034467948:43924034967481) process_id(26027) thread_id(26027) - hipSetDevice correlation_id(272) time_ns(43924053901958:43924053911808) process_id(26027) thread_id(26027) - hipGetDeviceProperties correlation_id(273) time_ns(43924053915503:43924053917837) process_id(26027) thread_id(26027) - hipMalloc correlation_id(274) time_ns(43924056115847:43924056166685) process_id(26027) thread_id(26027) - hipMalloc correlation_id(275) time_ns(43924056183398:43924056212459) process_id(26027) thread_id(26027) - (null) correlation_id(276) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(276) time_ns(43924056216824:43924056854100) process_id(26027) thread_id(26027) - (null) correlation_id(277) time_ns(0:0) external_id(33) - hipModuleLaunchKernel correlation_id(277) time_ns(43924056885223:43924056926049) process_id(26027) thread_id(26027) - hcCommandKernel correlation_id(277) time_ns(43924056930476:43924057416876) device_id(0) queue_id(0) - hcCommandMarker correlation_id(278) time_ns(43924057419895:43924057426455) device_id(0) queue_id(0) - (null) correlation_id(278) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(278) time_ns(43924056930872:43924058371562) process_id(26027) thread_id(26027) - (null) correlation_id(279) time_ns(0:0) external_id(31) - hipFree correlation_id(279) time_ns(43924073259129:43924073333323) process_id(26027) thread_id(26027) - (null) correlation_id(280) time_ns(0:0) external_id(31) - hipFree correlation_id(280) time_ns(43924073339755:43924073367492) process_id(26027) thread_id(26027) - hipSetDevice correlation_id(281) time_ns(43924092286009:43924092295684) process_id(26027) thread_id(26027) - hipGetDeviceProperties correlation_id(282) time_ns(43924092299467:43924092301851) process_id(26027) thread_id(26027) - hipMalloc correlation_id(283) time_ns(43924094476650:43924094526050) process_id(26027) thread_id(26027) - hipMalloc correlation_id(284) time_ns(43924094530264:43924094560138) process_id(26027) thread_id(26027) - (null) correlation_id(285) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(285) time_ns(43924094564860:43924095209172) process_id(26027) thread_id(26027) - (null) correlation_id(286) time_ns(0:0) external_id(33) - hipModuleLaunchKernel correlation_id(286) time_ns(43924095240065:43924095281039) process_id(26027) thread_id(26027) - hcCommandKernel correlation_id(286) time_ns(43924095285353:43924095767273) device_id(0) queue_id(0) - hcCommandMarker correlation_id(287) time_ns(43924095770342:43924095777222) device_id(0) queue_id(0) - (null) correlation_id(287) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(287) time_ns(43924095285700:43924096717062) process_id(26027) thread_id(26027) - (null) correlation_id(288) time_ns(0:0) external_id(31) - hipFree correlation_id(288) time_ns(43924111647330:43924111719564) process_id(26027) thread_id(26027) - (null) correlation_id(289) time_ns(0:0) external_id(31) +Device 0 name: Device 687f PASSED! # START (35) ############################# - - - - - - - - - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - - - ptr(0x7ffdc052b378) size(0x400000) - - - - - - - *ptr(0x0x903400000) - - - ptr(0x7ffdc052b370) size(0x400000) - - - - - - - *ptr(0x0x903c00000) - - - dst(0x903400000) src(0x7f1879f80010) size(0x400000) kind(1) - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x30c1e60) src(0x903c00000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + +Device 0 name: Device 687f + ptr(0x7ffd4c5a7160) size(0x400000) + + + + + *ptr(0x0x7f2291400000) + ptr(0x7ffd4c5a7158) size(0x400000) + + + + + *ptr(0x0x7f2290e00000) + dst(0x7f2291400000) src(0x1cba050) size(0x400000) kind(1) + + + + + + + + + + +rocTX <"before hipLaunchKernel pid(1956) tid(1956)"> +rocTX <"hipLaunchKernel pid(1956) tid(1956)"> +<__hipPushCallConfiguration id(46) correlation_id(359) on-enter pid(1956) tid(1956)> +<__hipPushCallConfiguration id(46) correlation_id(359) on-exit pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(360) on-enter pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(360) on-exit pid(1956) tid(1956)> + + + + +rocTX <"after hipLaunchKernel pid(1956) tid(1956)"> +rocTX <"hipMemcpy pid(1956) tid(1956)"> + dst(0x20ba060) src(0x7f2290e00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + +rocTX <"(null) pid(1956) tid(1956)"> +rocTX <"(null) pid(1956) tid(1956)"> + + + PASSED! - - - ptr(0x903400000) - - - - - - - - - - ptr(0x903c00000) - - - - - - - + ptr(0x7f2291400000) + + + + + + ptr(0x7f2290e00000) + + + + + # START (34) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (33) ############################# - - - - - - - - - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - - - ptr(0x7ffdc052b378) size(0x400000) - - - - - - - *ptr(0x0x903400000) - - - ptr(0x7ffdc052b370) size(0x400000) - - - - - - - *ptr(0x0x903c00000) - - - dst(0x903400000) src(0x7f1879f80010) size(0x400000) kind(1) - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x30c1e60) src(0x903c00000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + +Device 0 name: Device 687f + ptr(0x7ffd4c5a7160) size(0x400000) + + + + + *ptr(0x0x7f2291400000) + ptr(0x7ffd4c5a7158) size(0x400000) + + + + + *ptr(0x0x7f2290e00000) + dst(0x7f2291400000) src(0x1cba050) size(0x400000) kind(1) + + + + + + + + + + +rocTX <"before hipLaunchKernel pid(1956) tid(1956)"> +rocTX <"hipLaunchKernel pid(1956) tid(1956)"> +<__hipPushCallConfiguration id(46) correlation_id(370) on-enter pid(1956) tid(1956)> +<__hipPushCallConfiguration id(46) correlation_id(370) on-exit pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(371) on-enter pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(371) on-exit pid(1956) tid(1956)> + + + + +rocTX <"after hipLaunchKernel pid(1956) tid(1956)"> +rocTX <"hipMemcpy pid(1956) tid(1956)"> + dst(0x20ba060) src(0x7f2290e00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + +rocTX <"(null) pid(1956) tid(1956)"> +rocTX <"(null) pid(1956) tid(1956)"> + + + PASSED! - - - ptr(0x903400000) - - - - - - - - - - ptr(0x903c00000) - - - - - - - + ptr(0x7f2291400000) + + + + + + ptr(0x7f2290e00000) + + + + + # START (32) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (31) ############################# - - - - - - - - - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - - - ptr(0x7ffdc052b378) size(0x400000) - - - - - - - *ptr(0x0x903400000) - - - ptr(0x7ffdc052b370) size(0x400000) - - - - - - - *ptr(0x0x903c00000) - - - dst(0x903400000) src(0x7f1879f80010) size(0x400000) kind(1) - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x30c1e60) src(0x903c00000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + +Device 0 name: Device 687f + ptr(0x7ffd4c5a7160) size(0x400000) + + + + + *ptr(0x0x7f2291400000) + ptr(0x7ffd4c5a7158) size(0x400000) + + + + + *ptr(0x0x7f2290e00000) + dst(0x7f2291400000) src(0x1cba050) size(0x400000) kind(1) + + + + + + + + + +rocTX <"before hipLaunchKernel pid(1956) tid(1956)"> +rocTX <"hipLaunchKernel pid(1956) tid(1956)"> + +<__hipPushCallConfiguration id(46) correlation_id(381) on-enter pid(1956) tid(1956)> +<__hipPushCallConfiguration id(46) correlation_id(381) on-exit pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(382) on-enter pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(382) on-exit pid(1956) tid(1956)> + + +rocTX <"after hipLaunchKernel pid(1956) tid(1956)"> +rocTX <"hipMemcpy pid(1956) tid(1956)"> + + + dst(0x20ba060) src(0x7f2290e00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + +rocTX <"(null) pid(1956) tid(1956)"> +rocTX <"(null) pid(1956) tid(1956)"> + + + + PASSED! - - - ptr(0x903400000) - - - - - - - - - - ptr(0x903c00000) - - - - - - - + ptr(0x7f2291400000) + + + + + + ptr(0x7f2290e00000) + + + + + # START (30) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (29) ############################# - - - - - - - - - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - - - ptr(0x7ffdc052b378) size(0x400000) - - - - - - - *ptr(0x0x903400000) - - - ptr(0x7ffdc052b370) size(0x400000) - - - - - - - *ptr(0x0x903c00000) - - - dst(0x903400000) src(0x7f1879f80010) size(0x400000) kind(1) - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x30c1e60) src(0x903c00000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + +Device 0 name: Device 687f + ptr(0x7ffd4c5a7160) size(0x400000) + + + + + *ptr(0x0x7f2291400000) + ptr(0x7ffd4c5a7158) size(0x400000) + + + + + *ptr(0x0x7f2290e00000) + dst(0x7f2291400000) src(0x1cba050) size(0x400000) kind(1) + + + + + + + + + + +rocTX <"before hipLaunchKernel pid(1956) tid(1956)"> +rocTX <"hipLaunchKernel pid(1956) tid(1956)"> +<__hipPushCallConfiguration id(46) correlation_id(392) on-enter pid(1956) tid(1956)> +<__hipPushCallConfiguration id(46) correlation_id(392) on-exit pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(393) on-enter pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(393) on-exit pid(1956) tid(1956)> + + + + +rocTX <"after hipLaunchKernel pid(1956) tid(1956)"> +rocTX <"hipMemcpy pid(1956) tid(1956)"> + dst(0x20ba060) src(0x7f2290e00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + +rocTX <"(null) pid(1956) tid(1956)"> +rocTX <"(null) pid(1956) tid(1956)"> + + + + PASSED! - - - ptr(0x903400000) - - - - - - - - - - ptr(0x903c00000) - - - - - - - + ptr(0x7f2291400000) + + + + + + ptr(0x7f2290e00000) + + + + + # START (28) ############################# - Activity records: - hipFree correlation_id(289) time_ns(43924111725499:43924111752081) process_id(26027) thread_id(26027) - hipSetDevice correlation_id(290) time_ns(43924133010932:43924133020346) process_id(26027) thread_id(26027) - hipGetDeviceProperties correlation_id(291) time_ns(43924133024098:43924133026658) process_id(26027) thread_id(26027) - hipMalloc correlation_id(292) time_ns(43924135252772:43924135304037) process_id(26027) thread_id(26027) - hipMalloc correlation_id(293) time_ns(43924135308510:43924135327613) process_id(26027) thread_id(26027) -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - (null) correlation_id(294) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(294) time_ns(43924135332515:43924135972906) process_id(26027) thread_id(26027) - (null) correlation_id(295) time_ns(0:0) external_id(33) - hipModuleLaunchKernel correlation_id(295) time_ns(43924135997252:43924136035107) process_id(26027) thread_id(26027) - hcCommandKernel correlation_id(295) time_ns(43924136036842:43924136524682) device_id(0) queue_id(0) - hcCommandMarker correlation_id(296) time_ns(43924136527613:43924136534173) device_id(0) queue_id(0) - (null) correlation_id(296) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(296) time_ns(43924136039997:43924137456346) process_id(26027) thread_id(26027) - (null) correlation_id(297) time_ns(0:0) external_id(31) - hipFree correlation_id(297) time_ns(43924151908771:43924151983651) process_id(26027) thread_id(26027) - (null) correlation_id(298) time_ns(0:0) external_id(31) - hipFree correlation_id(298) time_ns(43924151989360:43924152022262) process_id(26027) thread_id(26027) - hipSetDevice correlation_id(299) time_ns(43924171088698:43924171097139) process_id(26027) thread_id(26027) - hipGetDeviceProperties correlation_id(300) time_ns(43924171100734:43924171103152) process_id(26027) thread_id(26027) - hipMalloc correlation_id(301) time_ns(43924173304593:43924173354672) process_id(26027) thread_id(26027) - hipMalloc correlation_id(302) time_ns(43924173371642:43924173400059) process_id(26027) thread_id(26027) - (null) correlation_id(303) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(303) time_ns(43924173404405:43924174044683) process_id(26027) thread_id(26027) - (null) correlation_id(304) time_ns(0:0) external_id(33) - hipModuleLaunchKernel correlation_id(304) time_ns(43924174076253:43924174116723) process_id(26027) thread_id(26027) - hcCommandKernel correlation_id(304) time_ns(43924174121204:43924174603444) device_id(0) queue_id(0) - hcCommandMarker correlation_id(305) time_ns(43924174606317:43924174612877) device_id(0) queue_id(0) - (null) correlation_id(305) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(305) time_ns(43924174133069:43924175557594) process_id(26027) thread_id(26027) - (null) correlation_id(306) time_ns(0:0) external_id(31) - hipFree correlation_id(306) time_ns(43924190219735:43924190303515) process_id(26027) thread_id(26027) - (null) correlation_id(307) time_ns(0:0) external_id(31) - hipFree correlation_id(307) time_ns(43924190319242:43924190347098) process_id(26027) thread_id(26027) - hipSetDevice correlation_id(308) time_ns(43924209447139:43924209456906) process_id(26027) thread_id(26027) - hipGetDeviceProperties correlation_id(309) time_ns(43924209460535:43924209463004) process_id(26027) thread_id(26027) - hipMalloc correlation_id(310) time_ns(43924211678128:43924211727787) process_id(26027) thread_id(26027) - hipMalloc correlation_id(311) time_ns(43924211745058:43924211773876) process_id(26027) thread_id(26027) - (null) correlation_id(312) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(312) time_ns(43924211778084:43924212443036) process_id(26027) thread_id(26027) - (null) correlation_id(313) time_ns(0:0) external_id(33) - hipModuleLaunchKernel correlation_id(313) time_ns(43924212474572:43924212518890) process_id(26027) thread_id(26027) - hcCommandKernel correlation_id(313) time_ns(43924212523859:43924214375062) device_id(0) queue_id(0) - hcCommandMarker correlation_id(314) time_ns(43924214378145:43924214409665) device_id(0) queue_id(0) - (null) correlation_id(314) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(314) time_ns(43924212537767:43924215426654) process_id(26027) thread_id(26027) - (null) correlation_id(315) time_ns(0:0) external_id(31) - hipFree correlation_id(315) time_ns(43924229894349:43924229979101) process_id(26027) thread_id(26027) - (null) correlation_id(316) time_ns(0:0) external_id(31) - hipFree correlation_id(316) time_ns(43924229995319:43924230026120) process_id(26027) thread_id(26027) - hipSetDevice correlation_id(317) time_ns(43924250535564:43924250545872) process_id(26027) thread_id(26027) - hipGetDeviceProperties correlation_id(318) time_ns(43924250549624:43924250552072) process_id(26027) thread_id(26027) - hipMalloc correlation_id(319) time_ns(43924252752966:43924252802481) process_id(26027) thread_id(26027) - hipMalloc correlation_id(320) time_ns(43924252819847:43924252848213) process_id(26027) thread_id(26027) - (null) correlation_id(321) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(321) time_ns(43924252852306:43924253543113) process_id(26027) thread_id(26027) - (null) correlation_id(322) time_ns(0:0) external_id(33) - hipModuleLaunchKernel correlation_id(322) time_ns(43924253574635:43924253615072) process_id(26027) thread_id(26027) - hcCommandKernel correlation_id(322) time_ns(43924253620622:43924255453105) device_id(0) queue_id(0) - hcCommandMarker correlation_id(323) time_ns(43924255456151:43924255487831) device_id(0) queue_id(0) - (null) correlation_id(323) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(323) time_ns(43924253632295:43924256514921) process_id(26027) thread_id(26027) - (null) correlation_id(324) time_ns(0:0) external_id(31) - hipFree correlation_id(324) time_ns(43924271073847:43924271169352) process_id(26027) thread_id(26027) - (null) correlation_id(325) time_ns(0:0) external_id(31) +Device 0 name: Device 687f PASSED! # START (27) ############################# - - - - - - - - - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - - - ptr(0x7ffdc052b378) size(0x400000) - - - - - - - *ptr(0x0x903400000) - - - ptr(0x7ffdc052b370) size(0x400000) - - - - - - - *ptr(0x0x903c00000) - - - dst(0x903400000) src(0x7f1879f80010) size(0x400000) kind(1) - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - - dst(0x30c1e60) src(0x903c00000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + +Device 0 name: Device 687f + ptr(0x7ffd4c5a7160) size(0x400000) + + + + + *ptr(0x0x7f2291400000) + ptr(0x7ffd4c5a7158) size(0x400000) + + + + + *ptr(0x0x7f2290e00000) + dst(0x7f2291400000) src(0x1cba050) size(0x400000) kind(1) + + + + + + + + + + +rocTX <"before hipLaunchKernel pid(1956) tid(1956)"> +rocTX <"hipLaunchKernel pid(1956) tid(1956)"> +<__hipPushCallConfiguration id(46) correlation_id(403) on-enter pid(1956) tid(1956)> +<__hipPushCallConfiguration id(46) correlation_id(403) on-exit pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(404) on-enter pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(404) on-exit pid(1956) tid(1956)> + + + + +rocTX <"after hipLaunchKernel pid(1956) tid(1956)"> +rocTX <"hipMemcpy pid(1956) tid(1956)"> + dst(0x20ba060) src(0x7f2290e00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + +rocTX <"(null) pid(1956) tid(1956)"> +rocTX <"(null) pid(1956) tid(1956)"> + + + + PASSED! - - - ptr(0x903400000) - - - - - - - - - - ptr(0x903c00000) - - - - - - - + ptr(0x7f2291400000) + + + + + + ptr(0x7f2290e00000) + + + + + # START (26) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (25) ############################# - - - - - - - - - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - - - ptr(0x7ffdc052b378) size(0x400000) - - - - - - - *ptr(0x0x903400000) - - - ptr(0x7ffdc052b370) size(0x400000) - - - - - - - *ptr(0x0x903c00000) - - - dst(0x903400000) src(0x7f1879f80010) size(0x400000) kind(1) - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - - dst(0x30c1e60) src(0x903c00000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + +Device 0 name: Device 687f + ptr(0x7ffd4c5a7160) size(0x400000) + + + + + *ptr(0x0x7f2291400000) + ptr(0x7ffd4c5a7158) size(0x400000) + + + + + *ptr(0x0x7f2290e00000) + dst(0x7f2291400000) src(0x1cba050) size(0x400000) kind(1) + + + + + + + + + + +rocTX <"before hipLaunchKernel pid(1956) tid(1956)"> +rocTX <"hipLaunchKernel pid(1956) tid(1956)"> +<__hipPushCallConfiguration id(46) correlation_id(414) on-enter pid(1956) tid(1956)> +<__hipPushCallConfiguration id(46) correlation_id(414) on-exit pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(415) on-enter pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(415) on-exit pid(1956) tid(1956)> + + + + +rocTX <"after hipLaunchKernel pid(1956) tid(1956)"> +rocTX <"hipMemcpy pid(1956) tid(1956)"> + dst(0x20ba060) src(0x7f2290e00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + +rocTX <"(null) pid(1956) tid(1956)"> +rocTX <"(null) pid(1956) tid(1956)"> + + + + PASSED! - - - ptr(0x903400000) - - - - - - - - - - ptr(0x903c00000) - - - - - - - + ptr(0x7f2291400000) + + + + + + ptr(0x7f2290e00000) + + + + + # START (24) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (23) ############################# - - - - - - - - - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - - - ptr(0x7ffdc052b378) size(0x400000) - - - - - - - *ptr(0x0x903400000) - - - ptr(0x7ffdc052b370) size(0x400000) - - - - - - - *ptr(0x0x903c00000) - - - dst(0x903400000) src(0x7f1879f80010) size(0x400000) kind(1) - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - - dst(0x30c1e60) src(0x903c00000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + +Device 0 name: Device 687f + ptr(0x7ffd4c5a7160) size(0x400000) + + + + + *ptr(0x0x7f2291400000) + ptr(0x7ffd4c5a7158) size(0x400000) + + + + + *ptr(0x0x7f2290e00000) + dst(0x7f2291400000) src(0x1cba050) size(0x400000) kind(1) + + + + + + + + + +rocTX <"before hipLaunchKernel pid(1956) tid(1956)"> +rocTX <"hipLaunchKernel pid(1956) tid(1956)"> +<__hipPushCallConfiguration id(46) correlation_id(425) on-enter pid(1956) tid(1956)> + +<__hipPushCallConfiguration id(46) correlation_id(425) on-exit pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(426) on-enter pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(426) on-exit pid(1956) tid(1956)> + + + + +rocTX <"after hipLaunchKernel pid(1956) tid(1956)"> +rocTX <"hipMemcpy pid(1956) tid(1956)"> + dst(0x20ba060) src(0x7f2290e00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + +rocTX <"(null) pid(1956) tid(1956)"> +rocTX <"(null) pid(1956) tid(1956)"> + + + + PASSED! - - - ptr(0x903400000) - - - - - - - - - - ptr(0x903c00000) - - - - - - - + ptr(0x7f2291400000) + + + + + + ptr(0x7f2290e00000) + + + + + # START (22) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (21) ############################# - - - - - - - - - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - - - ptr(0x7ffdc052b378) size(0x400000) - - - - - - - *ptr(0x0x903400000) - - - ptr(0x7ffdc052b370) size(0x400000) - - - - - - - *ptr(0x0x903c00000) - - - dst(0x903400000) src(0x7f1879f80010) size(0x400000) kind(1) - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - - dst(0x30c1e60) src(0x903c00000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + +Device 0 name: Device 687f + ptr(0x7ffd4c5a7160) size(0x400000) + + + + + *ptr(0x0x7f2291400000) + ptr(0x7ffd4c5a7158) size(0x400000) + + + + + *ptr(0x0x7f2290e00000) + dst(0x7f2291400000) src(0x1cba050) size(0x400000) kind(1) + + + + + + + + + + +rocTX <"before hipLaunchKernel pid(1956) tid(1956)"> +rocTX <"hipLaunchKernel pid(1956) tid(1956)"> +<__hipPushCallConfiguration id(46) correlation_id(436) on-enter pid(1956) tid(1956)> +<__hipPushCallConfiguration id(46) correlation_id(436) on-exit pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(437) on-enter pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(437) on-exit pid(1956) tid(1956)> + + + + +rocTX <"after hipLaunchKernel pid(1956) tid(1956)"> +rocTX <"hipMemcpy pid(1956) tid(1956)"> + dst(0x20ba060) src(0x7f2290e00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + +rocTX <"(null) pid(1956) tid(1956)"> +rocTX <"(null) pid(1956) tid(1956)"> + + + + PASSED! - - - ptr(0x903400000) - - - - - - - - - - ptr(0x903c00000) - - - - - - - + ptr(0x7f2291400000) + + + + + + ptr(0x7f2290e00000) + + + + + # START (20) ############################# - Activity records: - hipFree correlation_id(325) time_ns(43924271175070:43924271192040) process_id(26027) thread_id(26027) - hipSetDevice correlation_id(326) time_ns(43924291762988:43924291771076) process_id(26027) thread_id(26027) - hipGetDeviceProperties correlation_id(327) time_ns(43924291774642:43924291777092) process_id(26027) thread_id(26027) - hipMalloc correlation_id(328) time_ns(43924294026024:43924294085514) process_id(26027) thread_id(26027) - hipMalloc correlation_id(329) time_ns(43924294090994:43924294129855) process_id(26027) thread_id(26027) -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - (null) correlation_id(330) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(330) time_ns(43924294134205:43924294800341) process_id(26027) thread_id(26027) - (null) correlation_id(331) time_ns(0:0) external_id(33) - hipModuleLaunchKernel correlation_id(331) time_ns(43924294835233:43924294876561) process_id(26027) thread_id(26027) - hcCommandKernel correlation_id(331) time_ns(43924294882266:43924296713789) device_id(0) queue_id(0) - hcCommandMarker correlation_id(332) time_ns(43924296716869:43924296748069) device_id(0) queue_id(0) - (null) correlation_id(332) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(332) time_ns(43924294888013:43924297778419) process_id(26027) thread_id(26027) - (null) correlation_id(333) time_ns(0:0) external_id(31) - hipFree correlation_id(333) time_ns(43924312395860:43924312492979) process_id(26027) thread_id(26027) - (null) correlation_id(334) time_ns(0:0) external_id(31) - hipFree correlation_id(334) time_ns(43924312507649:43924312535945) process_id(26027) thread_id(26027) - hipSetDevice correlation_id(335) time_ns(43924333052377:43924333062076) process_id(26027) thread_id(26027) - hipGetDeviceProperties correlation_id(336) time_ns(43924333065817:43924333068268) process_id(26027) thread_id(26027) - hipMalloc correlation_id(337) time_ns(43924335264198:43924335313660) process_id(26027) thread_id(26027) - hipMalloc correlation_id(338) time_ns(43924335329255:43924335357001) process_id(26027) thread_id(26027) - (null) correlation_id(339) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(339) time_ns(43924335361097:43924336036253) process_id(26027) thread_id(26027) - (null) correlation_id(340) time_ns(0:0) external_id(33) - hipModuleLaunchKernel correlation_id(340) time_ns(43924336051007:43924336094552) process_id(26027) thread_id(26027) - hcCommandKernel correlation_id(340) time_ns(43924336100184:43924337940187) device_id(0) queue_id(0) - hcCommandMarker correlation_id(341) time_ns(43924337943034:43924337974394) device_id(0) queue_id(0) - (null) correlation_id(341) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(341) time_ns(43924336099635:43924338934658) process_id(26027) thread_id(26027) - (null) correlation_id(342) time_ns(0:0) external_id(31) - hipFree correlation_id(342) time_ns(43924353465028:43924353550492) process_id(26027) thread_id(26027) - (null) correlation_id(343) time_ns(0:0) external_id(31) - hipFree correlation_id(343) time_ns(43924353566871:43924353597370) process_id(26027) thread_id(26027) - hipSetDevice correlation_id(344) time_ns(43924374057647:43924374067442) process_id(26027) thread_id(26027) - hipGetDeviceProperties correlation_id(345) time_ns(43924374071233:43924374073570) process_id(26027) thread_id(26027) - hipMalloc correlation_id(346) time_ns(43924376274104:43924376324074) process_id(26027) thread_id(26027) - hipMalloc correlation_id(347) time_ns(43924376341080:43924376369346) process_id(26027) thread_id(26027) - (null) correlation_id(348) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(348) time_ns(43924376373655:43924377031921) process_id(26027) thread_id(26027) - (null) correlation_id(349) time_ns(0:0) external_id(33) - hipModuleLaunchKernel correlation_id(349) time_ns(43924377046388:43924377090396) process_id(26027) thread_id(26027) - hcCommandKernel correlation_id(349) time_ns(43924377095818:43924378930381) device_id(0) queue_id(0) - hcCommandMarker correlation_id(350) time_ns(43924378933281:43924378964641) device_id(0) queue_id(0) - (null) correlation_id(350) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(350) time_ns(43924377095637:43924379989699) process_id(26027) thread_id(26027) - (null) correlation_id(351) time_ns(0:0) external_id(31) - hipFree correlation_id(351) time_ns(43924394485102:43924394572492) process_id(26027) thread_id(26027) - (null) correlation_id(352) time_ns(0:0) external_id(31) - hipFree correlation_id(352) time_ns(43924394588538:43924394617306) process_id(26027) thread_id(26027) - hipSetDevice correlation_id(353) time_ns(43924415129763:43924415138209) process_id(26027) thread_id(26027) - hipGetDeviceProperties correlation_id(354) time_ns(43924415141941:43924415144362) process_id(26027) thread_id(26027) - hipMalloc correlation_id(355) time_ns(43924417363809:43924417413267) process_id(26027) thread_id(26027) - hipMalloc correlation_id(356) time_ns(43924417430049:43924417458479) process_id(26027) thread_id(26027) - (null) correlation_id(357) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(357) time_ns(43924417462767:43924418136752) process_id(26027) thread_id(26027) - (null) correlation_id(358) time_ns(0:0) external_id(33) - hipModuleLaunchKernel correlation_id(358) time_ns(43924418151104:43924418195069) process_id(26027) thread_id(26027) - hcCommandKernel correlation_id(358) time_ns(43924418200313:43924420038236) device_id(0) queue_id(0) - hcCommandMarker correlation_id(359) time_ns(43924420044513:43924420076353) device_id(0) queue_id(0) - (null) correlation_id(359) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(359) time_ns(43924418200328:43924421028788) process_id(26027) thread_id(26027) - (null) correlation_id(360) time_ns(0:0) external_id(31) - hipFree correlation_id(360) time_ns(43924435641433:43924435737289) process_id(26027) thread_id(26027) - (null) correlation_id(361) time_ns(0:0) external_id(31) +Device 0 name: Device 687f PASSED! # START (19) ############################# - - - - - - - - - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - - - ptr(0x7ffdc052b378) size(0x400000) - - - - - - - *ptr(0x0x903400000) - - - ptr(0x7ffdc052b370) size(0x400000) - - - - - - - *ptr(0x0x903c00000) - - - dst(0x903400000) src(0x7f1879f80010) size(0x400000) kind(1) - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - - dst(0x30c1e60) src(0x903c00000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + +Device 0 name: Device 687f + ptr(0x7ffd4c5a7160) size(0x400000) + + + + + *ptr(0x0x7f2291400000) + ptr(0x7ffd4c5a7158) size(0x400000) + + + + + *ptr(0x0x7f2290e00000) + dst(0x7f2291400000) src(0x1cba050) size(0x400000) kind(1) + + + + + + + + + +rocTX <"before hipLaunchKernel pid(1956) tid(1956)"> +rocTX <"hipLaunchKernel pid(1956) tid(1956)"> +<__hipPushCallConfiguration id(46) correlation_id(447) on-enter pid(1956) tid(1956)> + +<__hipPushCallConfiguration id(46) correlation_id(447) on-exit pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(448) on-enter pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(448) on-exit pid(1956) tid(1956)> + + + + +rocTX <"after hipLaunchKernel pid(1956) tid(1956)"> +rocTX <"hipMemcpy pid(1956) tid(1956)"> + dst(0x20ba060) src(0x7f2290e00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + +rocTX <"(null) pid(1956) tid(1956)"> +rocTX <"(null) pid(1956) tid(1956)"> + + + + PASSED! - - - ptr(0x903400000) - - - - - - - - - - ptr(0x903c00000) - - - - - - - + ptr(0x7f2291400000) + + + + + + ptr(0x7f2290e00000) + + + + + # START (18) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (17) ############################# - - - - - - - - - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - - - ptr(0x7ffdc052b378) size(0x400000) - - - - - - - *ptr(0x0x903400000) - - - ptr(0x7ffdc052b370) size(0x400000) - - - - - - - *ptr(0x0x903c00000) - - - dst(0x903400000) src(0x7f1879f80010) size(0x400000) kind(1) - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - - dst(0x30c1e60) src(0x903c00000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + +Device 0 name: Device 687f + ptr(0x7ffd4c5a7160) size(0x400000) + + + + + *ptr(0x0x7f2291400000) + ptr(0x7ffd4c5a7158) size(0x400000) + + + + + *ptr(0x0x7f2290e00000) + dst(0x7f2291400000) src(0x1cba050) size(0x400000) kind(1) + + + + + + + + + +rocTX <"before hipLaunchKernel pid(1956) tid(1956)"> + +rocTX <"hipLaunchKernel pid(1956) tid(1956)"> +<__hipPushCallConfiguration id(46) correlation_id(458) on-enter pid(1956) tid(1956)> +<__hipPushCallConfiguration id(46) correlation_id(458) on-exit pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(459) on-enter pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(459) on-exit pid(1956) tid(1956)> + + + + +rocTX <"after hipLaunchKernel pid(1956) tid(1956)"> +rocTX <"hipMemcpy pid(1956) tid(1956)"> + dst(0x20ba060) src(0x7f2290e00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + +rocTX <"(null) pid(1956) tid(1956)"> +rocTX <"(null) pid(1956) tid(1956)"> + + + PASSED! - - - ptr(0x903400000) - - - - - - - - - - ptr(0x903c00000) - - - - - - - + ptr(0x7f2291400000) + + + + + + ptr(0x7f2290e00000) + + + + + # START (16) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (15) ############################# - - - - - - - - - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - - - ptr(0x7ffdc052b378) size(0x400000) - - - - - - - *ptr(0x0x903400000) - - - ptr(0x7ffdc052b370) size(0x400000) - - - - - - - *ptr(0x0x903c00000) - - - dst(0x903400000) src(0x7f1879f80010) size(0x400000) kind(1) - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - - dst(0x30c1e60) src(0x903c00000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + +Device 0 name: Device 687f + ptr(0x7ffd4c5a7160) size(0x400000) + + + + + *ptr(0x0x7f2291400000) + ptr(0x7ffd4c5a7158) size(0x400000) + + + + + *ptr(0x0x7f2290e00000) + dst(0x7f2291400000) src(0x1cba050) size(0x400000) kind(1) + + + + + + + + + +rocTX <"before hipLaunchKernel pid(1956) tid(1956)"> +rocTX <"hipLaunchKernel pid(1956) tid(1956)"> + +<__hipPushCallConfiguration id(46) correlation_id(469) on-enter pid(1956) tid(1956)> +<__hipPushCallConfiguration id(46) correlation_id(469) on-exit pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(470) on-enter pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(470) on-exit pid(1956) tid(1956)> + + + + +rocTX <"after hipLaunchKernel pid(1956) tid(1956)"> +rocTX <"hipMemcpy pid(1956) tid(1956)"> + dst(0x20ba060) src(0x7f2290e00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + +rocTX <"(null) pid(1956) tid(1956)"> +rocTX <"(null) pid(1956) tid(1956)"> + + + + Activity records: + KernelExecution correlation_id(240) time_ns(3802693791610665:3802693792805392) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(241) time_ns(3802693791587589:3802693794378239) device_id(0) queue_id(0) bytes(0x0) + CopyHostToDevice correlation_id(248) time_ns(3802693818754050:3802693820496293) device_id(0) queue_id(0) bytes(0x0) + KernelExecution correlation_id(251) time_ns(3802693820617038:3802693821813839) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(252) time_ns(3802693820594454:3802693823374534) device_id(0) queue_id(0) bytes(0x0) + CopyHostToDevice correlation_id(259) time_ns(3802693847965976:3802693849762919) device_id(0) queue_id(0) bytes(0x0) + KernelExecution correlation_id(262) time_ns(3802693849884106:3802693851089501) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(263) time_ns(3802693849863300:3802693852666011) device_id(0) queue_id(0) bytes(0x0) + CopyHostToDevice correlation_id(270) time_ns(3802693888341765:3802693890100368) device_id(0) queue_id(0) bytes(0x0) + KernelExecution correlation_id(273) time_ns(3802693890246312:3802693891433483) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(274) time_ns(3802693890225969:3802693893028570) device_id(0) queue_id(0) bytes(0x0) + CopyHostToDevice correlation_id(281) time_ns(3802693917553302:3802693919266464) device_id(0) queue_id(0) bytes(0x0) + KernelExecution correlation_id(284) time_ns(3802693919380042:3802693920599659) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(285) time_ns(3802693919348455:3802693921967184) device_id(0) queue_id(0) bytes(0x0) + CopyHostToDevice correlation_id(292) time_ns(3802693946464325:3802693948150588) device_id(0) queue_id(0) bytes(0x0) + KernelExecution correlation_id(295) time_ns(3802693948254281:3802693949464713) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(296) time_ns(3802693948233218:3802693950837018) device_id(0) queue_id(0) bytes(0x0) + CopyHostToDevice correlation_id(303) time_ns(3802693974281311:3802693975902943) device_id(0) queue_id(0) bytes(0x0) + KernelExecution correlation_id(306) time_ns(3802693976005641:3802693977200368) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(307) time_ns(3802693975984964:3802693978551343) device_id(0) queue_id(0) bytes(0x0) + CopyHostToDevice correlation_id(314) time_ns(3802693999546128:3802694001206821) device_id(0) queue_id(0) bytes(0x0) + KernelExecution correlation_id(317) time_ns(3802694001314472:3802694002520755) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(318) time_ns(3802694001291671:3802694003865120) device_id(0) queue_id(0) bytes(0x0) + CopyHostToDevice correlation_id(325) time_ns(3802694024927036:3802694026589689) device_id(0) queue_id(0) bytes(0x0) + KernelExecution correlation_id(328) time_ns(3802694026722430:3802694027926491) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(329) time_ns(3802694026699400:3802694029288579) device_id(0) queue_id(0) bytes(0x0) + CopyHostToDevice correlation_id(336) time_ns(3802694049782200:3802694051450473) device_id(0) queue_id(0) bytes(0x0) + KernelExecution correlation_id(339) time_ns(3802694051556271:3802694052752925) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(340) time_ns(3802694051533683:3802694054103553) device_id(0) queue_id(0) bytes(0x0) + CopyHostToDevice correlation_id(347) time_ns(3802694074632374:3802694076275167) device_id(0) queue_id(0) bytes(0x0) + KernelExecution correlation_id(350) time_ns(3802694076406757:3802694077602521) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(351) time_ns(3802694076384177:3802694078952507) device_id(0) queue_id(0) bytes(0x0) + CopyHostToDevice correlation_id(358) time_ns(3802694099907052:3802694101586164) device_id(0) queue_id(0) bytes(0x0) + KernelExecution correlation_id(361) time_ns(3802694101693995:3802694102892574) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(362) time_ns(3802694101670945:3802694104216184) device_id(0) queue_id(0) bytes(0x0) + CopyHostToDevice correlation_id(369) time_ns(3802694124672565:3802694126331037) device_id(0) queue_id(0) bytes(0x0) + KernelExecution correlation_id(372) time_ns(3802694126459942:3802694127663262) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(373) time_ns(3802694126436278:3802694129010837) device_id(0) queue_id(0) bytes(0x0) + CopyHostToDevice correlation_id(380) time_ns(3802694158521436:3802694160162478) device_id(0) queue_id(0) bytes(0x0) + KernelExecution correlation_id(383) time_ns(3802694160286444:3802694161475393) device_id(0) queue_id(0) + + CopyDeviceToHost correlation_id(384) time_ns(3802694160263979:3802694162823037) device_id(0) queue_id(0) bytes(0x0) + CopyHostToDevice correlation_id(391) time_ns(3802694183389400:3802694185065222) device_id(0) queue_id(0) bytes(0x0) + KernelExecution correlation_id(394) time_ns(3802694185180154:3802694186376807) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(395) time_ns(3802694185157783:3802694187726042) device_id(0) queue_id(0) bytes(0x0) + CopyHostToDevice correlation_id(402) time_ns(3802694208749508:3802694210426110) device_id(0) queue_id(0) bytes(0x0) + KernelExecution correlation_id(405) time_ns(3802694210539909:3802694211730191) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(406) time_ns(3802694210517841:3802694213081459) device_id(0) queue_id(0) bytes(0x0) + CopyHostToDevice correlation_id(413) time_ns(3802694233937754:3802694235596566) device_id(0) queue_id(0) bytes(0x0) + KernelExecution correlation_id(416) time_ns(3802694235703382:3802694236893665) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(417) time_ns(3802694235680717:3802694238243216) device_id(0) queue_id(0) bytes(0x0) + CopyHostToDevice correlation_id(424) time_ns(3802694258730508:3802694260388830) device_id(0) queue_id(0) bytes(0x0) + KernelExecution correlation_id(427) time_ns(3802694260519941:3802694261726669) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(428) time_ns(3802694260495751:3802694263076450) device_id(0) queue_id(0) bytes(0x0) + CopyHostToDevice correlation_id(435) time_ns(3802694283586372:3802694285264574) device_id(0) queue_id(0) bytes(0x0) + KernelExecution correlation_id(438) time_ns(3802694285378010:3802694286572588) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(439) time_ns(3802694285355875:3802694287922574) device_id(0) queue_id(0) bytes(0x0) + CopyHostToDevice correlation_id(446) time_ns(3802694308835309:3802694310508791) device_id(0) queue_id(0) bytes(0x0) + KernelExecution correlation_id(449) time_ns(3802694310637184:3802694311832948) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(450) time_ns(3802694310614162:3802694313192141) device_id(0) queue_id(0) bytes(0x0) + CopyHostToDevice correlation_id(457) time_ns(3802694333660292:3802694335333805) device_id(0) queue_id(0) bytes(0x0) + KernelExecution correlation_id(460) time_ns(3802694335442121:3802694336637737) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(461) time_ns(3802694335419335:3802694337990065) device_id(0) queue_id(0) bytes(0x0) + CopyHostToDevice correlation_id(468) time_ns(3802694358486506:3802694360142399) device_id(0) queue_id(0) bytes(0x0) + KernelExecution correlation_id(471) time_ns(3802694360274612:3802694361475413) device_id(0) queue_id(0) PASSED! - - - ptr(0x903400000) - - - - - - - - - - ptr(0x903c00000) - - - - - - - + ptr(0x7f2291400000) + + + + + + ptr(0x7f2290e00000) + + + + + # START (14) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (13) ############################# - - - - - - - - - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - - - ptr(0x7ffdc052b378) size(0x400000) - - - - - - - *ptr(0x0x903400000) - - - ptr(0x7ffdc052b370) size(0x400000) - - - - - - - *ptr(0x0x903c00000) - - - dst(0x903400000) src(0x7f1879f80010) size(0x400000) kind(1) - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - - dst(0x30c1e60) src(0x903c00000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + +Device 0 name: Device 687f + ptr(0x7ffd4c5a7160) size(0x400000) + + + + + *ptr(0x0x7f2291400000) + ptr(0x7ffd4c5a7158) size(0x400000) + + + + + *ptr(0x0x7f2290e00000) + dst(0x7f2291400000) src(0x1cba050) size(0x400000) kind(1) + + + + + + + + + +rocTX <"before hipLaunchKernel pid(1956) tid(1956)"> +rocTX <"hipLaunchKernel pid(1956) tid(1956)"> +<__hipPushCallConfiguration id(46) correlation_id(480) on-enter pid(1956) tid(1956)> + +<__hipPushCallConfiguration id(46) correlation_id(480) on-exit pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(481) on-enter pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(481) on-exit pid(1956) tid(1956)> + + + + +rocTX <"after hipLaunchKernel pid(1956) tid(1956)"> +rocTX <"hipMemcpy pid(1956) tid(1956)"> + dst(0x20ba060) src(0x7f2290e00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + +rocTX <"(null) pid(1956) tid(1956)"> +rocTX <"(null) pid(1956) tid(1956)"> + + + + PASSED! - - - ptr(0x903400000) - - - - - - - - - - ptr(0x903c00000) - - - - - - - + ptr(0x7f2291400000) + + + + + + ptr(0x7f2290e00000) + + + + + # START (12) ############################# - Activity records: - hipFree correlation_id(361) time_ns(43924435753844:43924435782472) process_id(26027) thread_id(26027) - hipSetDevice correlation_id(362) time_ns(43924456417081:43924456426453) process_id(26027) thread_id(26027) - hipGetDeviceProperties correlation_id(363) time_ns(43924456430167:43924456432757) process_id(26027) thread_id(26027) - hipMalloc correlation_id(364) time_ns(43924458612031:43924458674256) process_id(26027) thread_id(26027) - hipMalloc correlation_id(365) time_ns(43924458687741:43924458718593) process_id(26027) thread_id(26027) -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - (null) correlation_id(366) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(366) time_ns(43924458724143:43924459369768) process_id(26027) thread_id(26027) - (null) correlation_id(367) time_ns(0:0) external_id(33) - hipModuleLaunchKernel correlation_id(367) time_ns(43924459394827:43924459441024) process_id(26027) thread_id(26027) - hcCommandKernel correlation_id(367) time_ns(43924459445624:43924459936504) device_id(0) queue_id(0) - hcCommandMarker correlation_id(368) time_ns(43924459939526:43924459945926) device_id(0) queue_id(0) - (null) correlation_id(368) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(368) time_ns(43924459456241:43924460891352) process_id(26027) thread_id(26027) - (null) correlation_id(369) time_ns(0:0) external_id(31) - hipFree correlation_id(369) time_ns(43924475335127:43924475426517) process_id(26027) thread_id(26027) - (null) correlation_id(370) time_ns(0:0) external_id(31) - hipFree correlation_id(370) time_ns(43924475432213:43924475458809) process_id(26027) thread_id(26027) - hipSetDevice correlation_id(371) time_ns(43924494473089:43924494483454) process_id(26027) thread_id(26027) - hipGetDeviceProperties correlation_id(372) time_ns(43924494487147:43924494489484) process_id(26027) thread_id(26027) - hipMalloc correlation_id(373) time_ns(43924496708487:43924496758343) process_id(26027) thread_id(26027) - hipMalloc correlation_id(374) time_ns(43924496775079:43924496803210) process_id(26027) thread_id(26027) - (null) correlation_id(375) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(375) time_ns(43924496807329:43924497445337) process_id(26027) thread_id(26027) - (null) correlation_id(376) time_ns(0:0) external_id(33) - hipModuleLaunchKernel correlation_id(376) time_ns(43924497459798:43924497503949) process_id(26027) thread_id(26027) - hcCommandKernel correlation_id(376) time_ns(43924497508311:43924497993431) device_id(0) queue_id(0) - hcCommandMarker correlation_id(377) time_ns(43924497996249:43924498002969) device_id(0) queue_id(0) - (null) correlation_id(377) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(377) time_ns(43924497509090:43924498986358) process_id(26027) thread_id(26027) - (null) correlation_id(378) time_ns(0:0) external_id(31) - hipFree correlation_id(378) time_ns(43924513614351:43924513708581) process_id(26027) thread_id(26027) - (null) correlation_id(379) time_ns(0:0) external_id(31) - hipFree correlation_id(379) time_ns(43924513723691:43924513751429) process_id(26027) thread_id(26027) - hipSetDevice correlation_id(380) time_ns(43924532893579:43924532903634) process_id(26027) thread_id(26027) - hipGetDeviceProperties correlation_id(381) time_ns(43924532907691:43924532910260) process_id(26027) thread_id(26027) - hipMalloc correlation_id(382) time_ns(43924535105549:43924535155671) process_id(26027) thread_id(26027) - hipMalloc correlation_id(383) time_ns(43924535174732:43924535212783) process_id(26027) thread_id(26027) - (null) correlation_id(384) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(384) time_ns(43924535216917:43924535856633) process_id(26027) thread_id(26027) - (null) correlation_id(385) time_ns(0:0) external_id(33) - hipModuleLaunchKernel correlation_id(385) time_ns(43924535871470:43924535916117) process_id(26027) thread_id(26027) - hcCommandKernel correlation_id(385) time_ns(43924535920351:43924536404511) device_id(0) queue_id(0) - hcCommandMarker correlation_id(386) time_ns(43924536407570:43924536413970) device_id(0) queue_id(0) - (null) correlation_id(386) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(386) time_ns(43924535930585:43924537355425) process_id(26027) thread_id(26027) - (null) correlation_id(387) time_ns(0:0) external_id(31) - hipFree correlation_id(387) time_ns(43924551986515:43924552084664) process_id(26027) thread_id(26027) - (null) correlation_id(388) time_ns(0:0) external_id(31) - hipFree correlation_id(388) time_ns(43924552099468:43924552128239) process_id(26027) thread_id(26027) - hipSetDevice correlation_id(389) time_ns(43924571253670:43924571263558) process_id(26027) thread_id(26027) - hipGetDeviceProperties correlation_id(390) time_ns(43924571267289:43924571269725) process_id(26027) thread_id(26027) - hipMalloc correlation_id(391) time_ns(43924573449916:43924573500705) process_id(26027) thread_id(26027) - hipMalloc correlation_id(392) time_ns(43924573517682:43924573546177) process_id(26027) thread_id(26027) - (null) correlation_id(393) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(393) time_ns(43924573550373:43924574188815) process_id(26027) thread_id(26027) - (null) correlation_id(394) time_ns(0:0) external_id(33) - hipModuleLaunchKernel correlation_id(394) time_ns(43924574202362:43924574246767) process_id(26027) thread_id(26027) - hcCommandKernel correlation_id(394) time_ns(43924574251113:43924574731273) device_id(0) queue_id(0) - hcCommandMarker correlation_id(395) time_ns(43924574734047:43924574740767) device_id(0) queue_id(0) - (null) correlation_id(395) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(395) time_ns(43924574252163:43924575708203) process_id(26027) thread_id(26027) - (null) correlation_id(396) time_ns(0:0) external_id(31) - hipFree correlation_id(396) time_ns(43924590306093:43924590390382) process_id(26027) thread_id(26027) - (null) correlation_id(397) time_ns(0:0) external_id(31) +Device 0 name: Device 687f PASSED! # START (11) ############################# - - - - - - - - - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - - - ptr(0x7ffdc052b378) size(0x400000) - - - - - - - *ptr(0x0x903400000) - - - ptr(0x7ffdc052b370) size(0x400000) - - - - - - - *ptr(0x0x903c00000) - - - dst(0x903400000) src(0x7f1879f80010) size(0x400000) kind(1) - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - - dst(0x30c1e60) src(0x903c00000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + +Device 0 name: Device 687f + ptr(0x7ffd4c5a7160) size(0x400000) + + + + + *ptr(0x0x7f2291400000) + ptr(0x7ffd4c5a7158) size(0x400000) + + + + + *ptr(0x0x7f2290e00000) + dst(0x7f2291400000) src(0x1cba050) size(0x400000) kind(1) + + + + + + + + + + +rocTX <"before hipLaunchKernel pid(1956) tid(1956)"> +rocTX <"hipLaunchKernel pid(1956) tid(1956)"> +<__hipPushCallConfiguration id(46) correlation_id(491) on-enter pid(1956) tid(1956)> +<__hipPushCallConfiguration id(46) correlation_id(491) on-exit pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(492) on-enter pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(492) on-exit pid(1956) tid(1956)> + + + + +rocTX <"after hipLaunchKernel pid(1956) tid(1956)"> +rocTX <"hipMemcpy pid(1956) tid(1956)"> + dst(0x20ba060) src(0x7f2290e00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + +rocTX <"(null) pid(1956) tid(1956)"> +rocTX <"(null) pid(1956) tid(1956)"> + + + PASSED! - - - ptr(0x903400000) - - - - - - - - - - ptr(0x903c00000) - - - - - - - + ptr(0x7f2291400000) + + + + + + ptr(0x7f2290e00000) + + + + + # START (10) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (9) ############################# - - - - - - - - - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - - - ptr(0x7ffdc052b378) size(0x400000) - - - - - - - *ptr(0x0x903400000) - - - ptr(0x7ffdc052b370) size(0x400000) - - - - - - - *ptr(0x0x903c00000) - - - dst(0x903400000) src(0x7f1879f80010) size(0x400000) kind(1) - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - - dst(0x30c1e60) src(0x903c00000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + +Device 0 name: Device 687f + ptr(0x7ffd4c5a7160) size(0x400000) + + + + + *ptr(0x0x7f2291400000) + ptr(0x7ffd4c5a7158) size(0x400000) + + + + + *ptr(0x0x7f2290e00000) + dst(0x7f2291400000) src(0x1cba050) size(0x400000) kind(1) + + + + + + + + + +rocTX <"before hipLaunchKernel pid(1956) tid(1956)"> +rocTX <"hipLaunchKernel pid(1956) tid(1956)"> +<__hipPushCallConfiguration id(46) correlation_id(502) on-enter pid(1956) tid(1956)> +<__hipPushCallConfiguration id(46) correlation_id(502) on-exit pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(503) on-enter pid(1956) tid(1956)> + +<__hipPopCallConfiguration id(171) correlation_id(503) on-exit pid(1956) tid(1956)> + + + + +rocTX <"after hipLaunchKernel pid(1956) tid(1956)"> +rocTX <"hipMemcpy pid(1956) tid(1956)"> + dst(0x20ba060) src(0x7f2290e00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + +rocTX <"(null) pid(1956) tid(1956)"> +rocTX <"(null) pid(1956) tid(1956)"> + + + PASSED! - - - ptr(0x903400000) - - - - - - - - - - ptr(0x903c00000) - - - - - - - + ptr(0x7f2291400000) + + + + + + ptr(0x7f2290e00000) + + + + + # START (8) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (7) ############################# - - - - - - - - - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - - - ptr(0x7ffdc052b378) size(0x400000) - - - - - - - *ptr(0x0x903400000) - - - ptr(0x7ffdc052b370) size(0x400000) - - - - - - - *ptr(0x0x903c00000) - - - dst(0x903400000) src(0x7f1879f80010) size(0x400000) kind(1) - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x30c1e60) src(0x903c00000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - + + + + +Device 0 name: Device 687f + ptr(0x7ffd4c5a7160) size(0x400000) + + + + + *ptr(0x0x7f2291400000) + ptr(0x7ffd4c5a7158) size(0x400000) + + + + + *ptr(0x0x7f2290e00000) + dst(0x7f2291400000) src(0x1cba050) size(0x400000) kind(1) + + + + + + + + + +rocTX <"before hipLaunchKernel pid(1956) tid(1956)"> +rocTX <"hipLaunchKernel pid(1956) tid(1956)"> + +<__hipPushCallConfiguration id(46) correlation_id(513) on-enter pid(1956) tid(1956)> +<__hipPushCallConfiguration id(46) correlation_id(513) on-exit pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(514) on-enter pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(514) on-exit pid(1956) tid(1956)> + + + + +rocTX <"after hipLaunchKernel pid(1956) tid(1956)"> +rocTX <"hipMemcpy pid(1956) tid(1956)"> + dst(0x20ba060) src(0x7f2290e00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + +rocTX <"(null) pid(1956) tid(1956)"> +rocTX <"(null) pid(1956) tid(1956)"> + + + PASSED! - - - ptr(0x903400000) - - - - - - - - - - ptr(0x903c00000) - - - - - - - + ptr(0x7f2291400000) + + + + + + ptr(0x7f2290e00000) + + + + + # START (6) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (5) ############################# - - - - - - - - - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - - - ptr(0x7ffdc052b378) size(0x400000) - - - - - - - *ptr(0x0x903400000) - - - ptr(0x7ffdc052b370) size(0x400000) - - - - - - - *ptr(0x0x903c00000) - - - dst(0x903400000) src(0x7f1879f80010) size(0x400000) kind(1) - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x30c1e60) src(0x903c00000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + +Device 0 name: Device 687f + ptr(0x7ffd4c5a7160) size(0x400000) + + + + + *ptr(0x0x7f2291400000) + ptr(0x7ffd4c5a7158) size(0x400000) + + + + + *ptr(0x0x7f2290e00000) + dst(0x7f2291400000) src(0x1cba050) size(0x400000) kind(1) + + + + + + + + + + +rocTX <"before hipLaunchKernel pid(1956) tid(1956)"> +rocTX <"hipLaunchKernel pid(1956) tid(1956)"> +<__hipPushCallConfiguration id(46) correlation_id(524) on-enter pid(1956) tid(1956)> +<__hipPushCallConfiguration id(46) correlation_id(524) on-exit pid(1956) tid(1956)> + + +<__hipPopCallConfiguration id(171) correlation_id(525) on-enter pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(525) on-exit pid(1956) tid(1956)> + + +rocTX <"after hipLaunchKernel pid(1956) tid(1956)"> +rocTX <"hipMemcpy pid(1956) tid(1956)"> + + dst(0x20ba060) src(0x7f2290e00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + +rocTX <"(null) pid(1956) tid(1956)"> +rocTX <"(null) pid(1956) tid(1956)"> + + + + PASSED! - - - ptr(0x903400000) - - - - - - - - - - ptr(0x903c00000) - - - - - - - + ptr(0x7f2291400000) + + + + + + ptr(0x7f2290e00000) + + + + + # START (4) ############################# - Activity records: - hipFree correlation_id(397) time_ns(43924590406775:43924590434772) process_id(26027) thread_id(26027) - hipSetDevice correlation_id(398) time_ns(43924609307484:43924609316400) process_id(26027) thread_id(26027) - hipGetDeviceProperties correlation_id(399) time_ns(43924609330707:43924609333163) process_id(26027) thread_id(26027) - hipMalloc correlation_id(400) time_ns(43924611536977:43924611585257) process_id(26027) thread_id(26027) - hipMalloc correlation_id(401) time_ns(43924611589444:43924611612016) process_id(26027) thread_id(26027) -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - (null) correlation_id(402) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(402) time_ns(43924611616893:43924612253700) process_id(26027) thread_id(26027) - (null) correlation_id(403) time_ns(0:0) external_id(33) - hipModuleLaunchKernel correlation_id(403) time_ns(43924612277792:43924612321418) process_id(26027) thread_id(26027) - hcCommandKernel correlation_id(403) time_ns(43924612321873:43924612798673) device_id(0) queue_id(0) - hcCommandMarker correlation_id(404) time_ns(43924612801648:43924612808048) device_id(0) queue_id(0) - (null) correlation_id(404) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(404) time_ns(43924612327977:43924613721928) process_id(26027) thread_id(26027) - (null) correlation_id(405) time_ns(0:0) external_id(31) - hipFree correlation_id(405) time_ns(43924628152462:43924628234778) process_id(26027) thread_id(26027) - (null) correlation_id(406) time_ns(0:0) external_id(31) - hipFree correlation_id(406) time_ns(43924628241577:43924628258879) process_id(26027) thread_id(26027) - hipSetDevice correlation_id(407) time_ns(43924647370765:43924647379809) process_id(26027) thread_id(26027) - hipGetDeviceProperties correlation_id(408) time_ns(43924647393625:43924647395924) process_id(26027) thread_id(26027) - hipMalloc correlation_id(409) time_ns(43924649646742:43924649698074) process_id(26027) thread_id(26027) - hipMalloc correlation_id(410) time_ns(43924649702498:43924649726483) process_id(26027) thread_id(26027) - (null) correlation_id(411) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(411) time_ns(43924649740436:43924650367679) process_id(26027) thread_id(26027) - (null) correlation_id(412) time_ns(0:0) external_id(33) - hipModuleLaunchKernel correlation_id(412) time_ns(43924650381865:43924650425898) process_id(26027) thread_id(26027) - hcCommandKernel correlation_id(412) time_ns(43924650430530:43924650921250) device_id(0) queue_id(0) - hcCommandMarker correlation_id(413) time_ns(43924650924099:43924650930499) device_id(0) queue_id(0) - (null) correlation_id(413) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(413) time_ns(43924650442002:43924651843203) process_id(26027) thread_id(26027) - (null) correlation_id(414) time_ns(0:0) external_id(31) - hipFree correlation_id(414) time_ns(43924666222121:43924666301439) process_id(26027) thread_id(26027) - (null) correlation_id(415) time_ns(0:0) external_id(31) - hipFree correlation_id(415) time_ns(43924666307003:43924666342180) process_id(26027) thread_id(26027) - hipSetDevice correlation_id(416) time_ns(43924685034845:43924685043440) process_id(26027) thread_id(26027) - hipGetDeviceProperties correlation_id(417) time_ns(43924685046918:43924685049180) process_id(26027) thread_id(26027) - hipMalloc correlation_id(418) time_ns(43924687222858:43924687270046) process_id(26027) thread_id(26027) - hipMalloc correlation_id(419) time_ns(43924687274152:43924687295655) process_id(26027) thread_id(26027) - (null) correlation_id(420) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(420) time_ns(43924687300729:43924687952269) process_id(26027) thread_id(26027) - (null) correlation_id(421) time_ns(0:0) external_id(33) - hipModuleLaunchKernel correlation_id(421) time_ns(43924687986953:43924688013077) process_id(26027) thread_id(26027) - hcCommandKernel correlation_id(421) time_ns(43924688018217:43924688500938) device_id(0) queue_id(0) - hcCommandMarker correlation_id(422) time_ns(43924688503978:43924688510378) device_id(0) queue_id(0) - (null) correlation_id(422) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(422) time_ns(43924688018510:43924689429970) process_id(26027) thread_id(26027) - (null) correlation_id(423) time_ns(0:0) external_id(31) - hipFree correlation_id(423) time_ns(43924703932199:43924704014713) process_id(26027) thread_id(26027) - (null) correlation_id(424) time_ns(0:0) external_id(31) - hipFree correlation_id(424) time_ns(43924704020644:43924704040647) process_id(26027) thread_id(26027) - hipSetDevice correlation_id(425) time_ns(43924723051279:43924723060173) process_id(26027) thread_id(26027) - hipGetDeviceProperties correlation_id(426) time_ns(43924723073743:43924723076102) process_id(26027) thread_id(26027) - hipMalloc correlation_id(427) time_ns(43924725307181:43924725358517) process_id(26027) thread_id(26027) - hipMalloc correlation_id(428) time_ns(43924725362871:43924725385936) process_id(26027) thread_id(26027) - (null) correlation_id(429) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(429) time_ns(43924725390694:43924726048510) process_id(26027) thread_id(26027) - (null) correlation_id(430) time_ns(0:0) external_id(33) - hipModuleLaunchKernel correlation_id(430) time_ns(43924726071761:43924726114911) process_id(26027) thread_id(26027) - hcCommandKernel correlation_id(430) time_ns(43924726119461:43924726600901) device_id(0) queue_id(0) - hcCommandMarker correlation_id(431) time_ns(43924726603712:43924726610432) device_id(0) queue_id(0) - (null) correlation_id(431) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(431) time_ns(43924726119857:43924727502384) process_id(26027) thread_id(26027) - (null) correlation_id(432) time_ns(0:0) external_id(31) - hipFree correlation_id(432) time_ns(43924741848451:43924741920620) process_id(26027) thread_id(26027) - (null) correlation_id(433) time_ns(0:0) external_id(31) +Device 0 name: Device 687f PASSED! # START (3) ############################# - - - - - - - - - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - - - ptr(0x7ffdc052b378) size(0x400000) - - - - - - - *ptr(0x0x903400000) - - - ptr(0x7ffdc052b370) size(0x400000) - - - - - - - *ptr(0x0x903c00000) - - - dst(0x903400000) src(0x7f1879f80010) size(0x400000) kind(1) - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - - dst(0x30c1e60) src(0x903c00000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + +Device 0 name: Device 687f + ptr(0x7ffd4c5a7160) size(0x400000) + + + + + *ptr(0x0x7f2291400000) + ptr(0x7ffd4c5a7158) size(0x400000) + + + + + *ptr(0x0x7f2290e00000) + dst(0x7f2291400000) src(0x1cba050) size(0x400000) kind(1) + + + + + + + + + +rocTX <"before hipLaunchKernel pid(1956) tid(1956)"> +rocTX <"hipLaunchKernel pid(1956) tid(1956)"> +<__hipPushCallConfiguration id(46) correlation_id(535) on-enter pid(1956) tid(1956)> + +<__hipPushCallConfiguration id(46) correlation_id(535) on-exit pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(536) on-enter pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(536) on-exit pid(1956) tid(1956)> + + + + +rocTX <"after hipLaunchKernel pid(1956) tid(1956)"> +rocTX <"hipMemcpy pid(1956) tid(1956)"> + dst(0x20ba060) src(0x7f2290e00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + +rocTX <"(null) pid(1956) tid(1956)"> +rocTX <"(null) pid(1956) tid(1956)"> + + + + PASSED! - - - ptr(0x903400000) - - - - - - - - - - ptr(0x903c00000) - - - - - - - + ptr(0x7f2291400000) + + + + + + ptr(0x7f2290e00000) + + + + + # START (2) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (1) ############################# - - - - - - - - - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - - - ptr(0x7ffdc052b378) size(0x400000) - - - - - - - *ptr(0x0x903400000) - - - ptr(0x7ffdc052b370) size(0x400000) - - - - - - - *ptr(0x0x903c00000) - - - dst(0x903400000) src(0x7f1879f80010) size(0x400000) kind(1) - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - - dst(0x30c1e60) src(0x903c00000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + +Device 0 name: Device 687f + ptr(0x7ffd4c5a7160) size(0x400000) + + + + + *ptr(0x0x7f2291400000) + ptr(0x7ffd4c5a7158) size(0x400000) + + + + + *ptr(0x0x7f2290e00000) + dst(0x7f2291400000) src(0x1cba050) size(0x400000) kind(1) + + + + + + + + + +rocTX <"before hipLaunchKernel pid(1956) tid(1956)"> +rocTX <"hipLaunchKernel pid(1956) tid(1956)"> + +<__hipPushCallConfiguration id(46) correlation_id(546) on-enter pid(1956) tid(1956)> +<__hipPushCallConfiguration id(46) correlation_id(546) on-exit pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(547) on-enter pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(547) on-exit pid(1956) tid(1956)> + + + + +rocTX <"after hipLaunchKernel pid(1956) tid(1956)"> +rocTX <"hipMemcpy pid(1956) tid(1956)"> + dst(0x20ba060) src(0x7f2290e00000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + +rocTX <"(null) pid(1956) tid(1956)"> +rocTX <"(null) pid(1956) tid(1956)"> + + + PASSED! - - - ptr(0x903400000) - - - - - - - - - - ptr(0x903c00000) - - - - - - - + ptr(0x7f2291400000) + + + + + + ptr(0x7f2290e00000) + + + + + # START (0) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! Activity records: - hipFree correlation_id(433) time_ns(43924741926422:43924741958578) process_id(26027) thread_id(26027) - hipSetDevice correlation_id(434) time_ns(43924761216886:43924761225167) process_id(26027) thread_id(26027) - hipGetDeviceProperties correlation_id(435) time_ns(43924761228808:43924761231248) process_id(26027) thread_id(26027) - hipMalloc correlation_id(436) time_ns(43924763457381:43924763515635) process_id(26027) thread_id(26027) - hipMalloc correlation_id(437) time_ns(43924763519639:43924763548024) process_id(26027) thread_id(26027) - (null) correlation_id(438) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(438) time_ns(43924763552948:43924764207043) process_id(26027) thread_id(26027) - (null) correlation_id(439) time_ns(0:0) external_id(33) - hipModuleLaunchKernel correlation_id(439) time_ns(43924764230619:43924764274761) process_id(26027) thread_id(26027) - hcCommandKernel correlation_id(439) time_ns(43924764274974:43924764760734) device_id(0) queue_id(0) - hcCommandMarker correlation_id(440) time_ns(43924764763639:43924764770199) device_id(0) queue_id(0) - (null) correlation_id(440) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(440) time_ns(43924764285853:43924765677534) process_id(26027) thread_id(26027) - (null) correlation_id(441) time_ns(0:0) external_id(31) - hipFree correlation_id(441) time_ns(43924780374843:43924780443668) process_id(26027) thread_id(26027) - (null) correlation_id(442) time_ns(0:0) external_id(31) - hipFree correlation_id(442) time_ns(43924780449734:43924780471282) process_id(26027) thread_id(26027) - hipSetDevice correlation_id(443) time_ns(43924799708096:43924799716960) process_id(26027) thread_id(26027) - hipGetDeviceProperties correlation_id(444) time_ns(43924799720376:43924799722561) process_id(26027) thread_id(26027) - hipMalloc correlation_id(445) time_ns(43924801896671:43924801948463) process_id(26027) thread_id(26027) - hipMalloc correlation_id(446) time_ns(43924801952845:43924801975714) process_id(26027) thread_id(26027) - (null) correlation_id(447) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(447) time_ns(43924801990209:43924802616444) process_id(26027) thread_id(26027) - (null) correlation_id(448) time_ns(0:0) external_id(33) - hipModuleLaunchKernel correlation_id(448) time_ns(43924802629888:43924802670261) process_id(26027) thread_id(26027) - hcCommandKernel correlation_id(448) time_ns(43924802675198:43924803158398) device_id(0) queue_id(0) - hcCommandMarker correlation_id(449) time_ns(43924803161402:43924803167802) device_id(0) queue_id(0) - (null) correlation_id(449) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(449) time_ns(43924802675647:43924804134907) process_id(26027) thread_id(26027) - (null) correlation_id(450) time_ns(0:0) external_id(31) - hipFree correlation_id(450) time_ns(43924818672850:43924818752150) process_id(26027) thread_id(26027) - (null) correlation_id(451) time_ns(0:0) external_id(31) - hipFree correlation_id(451) time_ns(43924818757801:43924818793634) process_id(26027) thread_id(26027) + CopyDeviceToHost correlation_id(472) time_ns(3802694360252549:3802694362823848) device_id(0) queue_id(0) bytes(0x0) + CopyHostToDevice correlation_id(479) time_ns(3802694383880734:3802694385507676) device_id(0) queue_id(0) bytes(0x0) + KernelExecution correlation_id(482) time_ns(3802694385620548:3802694386830091) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(483) time_ns(3802694385597477:3802694388162566) device_id(0) queue_id(0) bytes(0x0) + CopyHostToDevice correlation_id(490) time_ns(3802694409057291:3802694410674023) device_id(0) queue_id(0) bytes(0x0) + KernelExecution correlation_id(493) time_ns(3802694410771169:3802694411968562) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(494) time_ns(3802694410748213:3802694413291992) device_id(0) queue_id(0) bytes(0x0) + CopyHostToDevice correlation_id(501) time_ns(3802694434283138:3802694435891110) device_id(0) queue_id(0) bytes(0x0) + KernelExecution correlation_id(504) time_ns(3802694436006555:3802694437203060) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(505) time_ns(3802694435984110:3802694438540429) device_id(0) queue_id(0) bytes(0x0) + CopyHostToDevice correlation_id(512) time_ns(3802694459797587:3802694461410709) device_id(0) queue_id(0) bytes(0x0) + KernelExecution correlation_id(515) time_ns(3802694461515349:3802694462730077) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(516) time_ns(3802694461488809:3802694464062258) device_id(0) queue_id(0) bytes(0x0) + CopyHostToDevice correlation_id(523) time_ns(3802694484895972:3802694486515175) device_id(0) queue_id(0) bytes(0x0) + KernelExecution correlation_id(526) time_ns(3802694486608382:3802694487799554) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(527) time_ns(3802694486586295:3802694489139934) device_id(0) queue_id(0) bytes(0x0) + CopyHostToDevice correlation_id(534) time_ns(3802694510456642:3802694512069384) device_id(0) queue_id(0) bytes(0x0) + KernelExecution correlation_id(537) time_ns(3802694512167477:3802694513369760) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(538) time_ns(3802694512145114:3802694514705493) device_id(0) queue_id(0) bytes(0x0) + CopyHostToDevice correlation_id(545) time_ns(3802694535769459:3802694537388901) device_id(0) queue_id(0) bytes(0x0) + KernelExecution correlation_id(548) time_ns(3802694537483664:3802694538676316) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(549) time_ns(3802694537459972:3802694540017631) device_id(0) queue_id(0) bytes(0x0) # STOP ############################# - diff --git a/test/golden_traces/MatrixTranspose_sys_hsa_trace.txt b/test/golden_traces/MatrixTranspose_sys_hsa_trace.txt index d418387700..be2836b108 100644 --- a/test/golden_traces/MatrixTranspose_sys_hsa_trace.txt +++ b/test/golden_traces/MatrixTranspose_sys_hsa_trace.txt @@ -1,34 +1,11 @@ -ROCTracer (pid=26045): ++ ./test/MatrixTranspose +ROCTracer (pid=1976): rocTX-trace() +3802698011175354 HSA-trace() HSA-activity-trace() HIP-trace() -43928801217964:43928801221015 26045:26045 hsa_amd_profiling_async_copy_enable() = 0 -43928801708283:43928801708869 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38914) = 0 -43928801708283:43928801710116 26045:26045 hsa_iterate_agents(1, 0x7fffcdc38a70) = 1 -43928801711586:43928801711979 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38914) = 0 -43928801711586:43928801712879 26045:26045 hsa_iterate_agents(1, 0x7fffcdc38a70) = 1 -43928801716090:43928801716732 26045:26045 hsa_region_get_info(, 0, 0x7fffcdc38a34) = 0 -43928801717791:43928801718222 26045:26045 hsa_region_get_info(, 1, 0x7fffcdc38a30) = 0 -43928801719585:43928801719982 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38784) = 0 -43928801719585:43928801720856 26045:26045 hsa_iterate_agents(1, 0x7fffcdc388e0) = 1 -43928801722745:43928801723431 26045:26045 hsa_amd_agent_memory_pool_get_info(, , 0, 0x7fffcdc38a2c) = 0 -43928801724363:43928801724793 26045:26045 hsa_region_get_info(, 0, 0x7fffcdc38a34) = 0 -43928801725795:43928801726200 26045:26045 hsa_region_get_info(, 0, 0x7fffcdc38a34) = 0 -43928801727108:43928801727528 26045:26045 hsa_region_get_info(, 1, 0x7fffcdc38a30) = 0 -43928801728475:43928801728867 26045:26045 hsa_region_get_info(, 0, 0x7fffcdc38a64) = 0 -43928801729761:43928801730166 26045:26045 hsa_region_get_info(, 1, 0x7fffcdc38a60) = 0 -43928801731509:43928801731902 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc387b4) = 0 -43928801731509:43928801732776 26045:26045 hsa_iterate_agents(1, 0x7fffcdc38910) = 1 -43928801733702:43928801734141 26045:26045 hsa_amd_agent_memory_pool_get_info(, , 0, 0x7fffcdc38a5c) = 0 -43928801733702:43928801735023 26045:26045 hsa_agent_iterate_regions(, 1, 0x7fffcdc38d0f) = 0 -43928801733702:43928801735967 26045:26045 hsa_iterate_agents(1, 0x7fffcdc38d0f) = 0 -ROCTracer (pid=26045): - rocTX-trace() - HSA-trace() - HSA-activity-trace() - HIP-trace() -Device name Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device name Device 687f ## Iteration (99) ################# PASSED! ## Iteration (98) ################# @@ -229,8740 +206,9288 @@ PASSED! PASSED! ## Iteration (0) ################# PASSED! -43928821349789:43928821382009 26045:26045 hipGetDeviceProperties() -43928823527393:43928823577974 26045:26045 hipMalloc(ptr(0x903200000) size(0x400000)) -43928823580565:43928823607854 26045:26045 hipMalloc(ptr(0x903a00000) size(0x400000)) -43928823618546:43928832187179 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) -43928832189412:43928832189413 26045:26045 MARK(name(before HIP LaunchKernel)) -43929122496932:43929124505488 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43929124519437:43929124519438 26045:26045 MARK(name(after HIP LaunchKernel)) -43929124529204:43929127422610 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) -43929141921543:43929142892842 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) -43929142894231:43929142894232 26045:26045 MARK(name(before HIP LaunchKernel)) -43929142907733:43929142930236 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43929142932044:43929142932045 26045:26045 MARK(name(after HIP LaunchKernel)) -43929142936456:43929145768755 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) -43929160301367:43929161269439 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) -43929161270889:43929161270890 26045:26045 MARK(name(before HIP LaunchKernel)) -43929161283815:43929161299219 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43929161300780:43929161300781 26045:26045 MARK(name(after HIP LaunchKernel)) -43929161305118:43929164149544 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) -43929178652936:43929179622531 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) -43929179623829:43929179623830 26045:26045 MARK(name(before HIP LaunchKernel)) -43929179636377:43929179650908 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43929179652469:43929179652470 26045:26045 MARK(name(after HIP LaunchKernel)) -43929179656703:43929182557129 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) -43929197182256:43929198153490 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) -43929198154846:43929198154847 26045:26045 MARK(name(before HIP LaunchKernel)) -43929198169114:43929198185792 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43929198187846:43929198187847 26045:26045 MARK(name(after HIP LaunchKernel)) -43929198193630:43929201091542 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) -43929215721844:43929216707350 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) -43929216708830:43929216708831 26045:26045 MARK(name(before HIP LaunchKernel)) -43929216722891:43929216739780 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43929216741314:43929216741315 26045:26045 MARK(name(after HIP LaunchKernel)) -43929216745737:43929219645262 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) -43929234221351:43929235190720 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) -43929235192054:43929235192055 26045:26045 MARK(name(before HIP LaunchKernel)) -43929235206946:43929235223433 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43929235225313:43929235225314 26045:26045 MARK(name(after HIP LaunchKernel)) -43929235230023:43929238131668 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) -43929252729048:43929253700499 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) -43929253701831:43929253701832 26045:26045 MARK(name(before HIP LaunchKernel)) -43929253715993:43929253737526 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43929253739391:43929253739392 26045:26045 MARK(name(after HIP LaunchKernel)) -43929253743905:43929256643340 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) -43929271255048:43929272229323 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) -43929272230670:43929272230671 26045:26045 MARK(name(before HIP LaunchKernel)) -43929272245263:43929272262213 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43929272264308:43929272264309 26045:26045 MARK(name(after HIP LaunchKernel)) -43929272268826:43929275174379 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) -43929289817600:43929290791393 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) -43929290792785:43929290792786 26045:26045 MARK(name(before HIP LaunchKernel)) -43929290807162:43929290824056 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43929290826013:43929290826014 26045:26045 MARK(name(after HIP LaunchKernel)) -43929290830506:43929293734020 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) -43929308308422:43929309314931 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) -43929309317553:43929309317554 26045:26045 MARK(name(before HIP LaunchKernel)) -43929309333035:43929309350822 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43929309352607:43929309352608 26045:26045 MARK(name(after HIP LaunchKernel)) -43929309357142:43929312250349 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) -43929326892762:43929327880929 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) -43929327882165:43929327882166 26045:26045 MARK(name(before HIP LaunchKernel)) -43929327894340:43929327908796 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43929327910663:43929327910664 26045:26045 MARK(name(after HIP LaunchKernel)) -43929327915093:43929330816721 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) -43929345439572:43929346418675 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) -43929346419914:43929346419915 26045:26045 MARK(name(before HIP LaunchKernel)) -43929346438063:43929346455270 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43929346457386:43929346457387 26045:26045 MARK(name(after HIP LaunchKernel)) -43929346461928:43929349365087 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) -43929363942268:43929364947812 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) -43929364949253:43929364949254 26045:26045 MARK(name(before HIP LaunchKernel)) -43929364964354:43929364986157 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43929364988058:43929364988059 26045:26045 MARK(name(after HIP LaunchKernel)) -43929364992701:43929367892049 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) -43929382529646:43929383531855 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) -43929383533188:43929383533189 26045:26045 MARK(name(before HIP LaunchKernel)) -43929383547883:43929383564546 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43929383566538:43929383566539 26045:26045 MARK(name(after HIP LaunchKernel)) -43929383571074:43929386468526 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) -43929401101455:43929402069444 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) -43929402070723:43929402070724 26045:26045 MARK(name(before HIP LaunchKernel)) -43929402085183:43929402101918 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43929402105362:43929402105363 26045:26045 MARK(name(after HIP LaunchKernel)) -43929402110067:43929403670323 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) -43929418301360:43929419270002 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) -43929419271377:43929419271378 26045:26045 MARK(name(before HIP LaunchKernel)) -43929419285635:43929419302710 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43929419304452:43929419304453 26045:26045 MARK(name(after HIP LaunchKernel)) -43929419308978:43929420883859 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) -43929435493327:43929436476008 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) -43929436477432:43929436477433 26045:26045 MARK(name(before HIP LaunchKernel)) -43929436494492:43929436511649 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43929436513747:43929436513748 26045:26045 MARK(name(after HIP LaunchKernel)) -43929436518496:43929438080614 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) -43929452742813:43929453737889 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) -43929453739162:43929453739163 26045:26045 MARK(name(before HIP LaunchKernel)) -43929453753668:43929453774624 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43929453776747:43929453776748 26045:26045 MARK(name(after HIP LaunchKernel)) -43929453781324:43929455345104 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) -43929470000946:43929470966021 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) -43929470967494:43929470967495 26045:26045 MARK(name(before HIP LaunchKernel)) -43929470981847:43929471003818 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43929471005900:43929471005901 26045:26045 MARK(name(after HIP LaunchKernel)) -43929471010424:43929472568178 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) -43929487189277:43929488164343 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) -43929488165660:43929488165661 26045:26045 MARK(name(before HIP LaunchKernel)) -43929488180179:43929488197188 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43929488199280:43929488199281 26045:26045 MARK(name(after HIP LaunchKernel)) -43929488203862:43929489765538 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) -43929504402971:43929505388745 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) -43929505390102:43929505390103 26045:26045 MARK(name(before HIP LaunchKernel)) -43929505405352:43929505422489 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43929505424500:43929505424501 26045:26045 MARK(name(after HIP LaunchKernel)) -43929505429035:43929506982440 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) -43929521609819:43929522583407 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) -43929522584846:43929522584847 26045:26045 MARK(name(before HIP LaunchKernel)) -43929522597766:43929522612691 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43929522614261:43929522614262 26045:26045 MARK(name(after HIP LaunchKernel)) -43929522618856:43929524182689 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) -43929538841270:43929539819001 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) -43929539820281:43929539820282 26045:26045 MARK(name(before HIP LaunchKernel)) -43929539833263:43929539847633 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43929539849269:43929539849270 26045:26045 MARK(name(after HIP LaunchKernel)) -43929539853886:43929541402153 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) -43929556036676:43929557029288 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) -43929557030559:43929557030560 26045:26045 MARK(name(before HIP LaunchKernel)) -43929557042992:43929557063048 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43929557064565:43929557064566 26045:26045 MARK(name(after HIP LaunchKernel)) -43929557068884:43929558636054 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) -43929573278566:43929574270860 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) -43929574272189:43929574272190 26045:26045 MARK(name(before HIP LaunchKernel)) -43929574286316:43929574303663 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43929574305580:43929574305581 26045:26045 MARK(name(after HIP LaunchKernel)) -43929574314651:43929575872259 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) -43929590508650:43929591490352 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) -43929591491958:43929591491959 26045:26045 MARK(name(before HIP LaunchKernel)) -43929591507760:43929591524650 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43929591526538:43929591526539 26045:26045 MARK(name(after HIP LaunchKernel)) -43929591531100:43929593086012 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) -43929607748065:43929608731693 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) -43929608732974:43929608732975 26045:26045 MARK(name(before HIP LaunchKernel)) -43929608747553:43929608764469 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43929608766546:43929608766547 26045:26045 MARK(name(after HIP LaunchKernel)) -43929608771185:43929610285256 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) -43929624886784:43929625864553 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) -43929625865841:43929625865842 26045:26045 MARK(name(before HIP LaunchKernel)) -43929625880655:43929625897635 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43929625899489:43929625899490 26045:26045 MARK(name(after HIP LaunchKernel)) -43929625904163:43929627431462 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) -43929642026246:43929643003975 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) -43929643005437:43929643005438 26045:26045 MARK(name(before HIP LaunchKernel)) -43929643019632:43929643036773 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43929643038718:43929643038719 26045:26045 MARK(name(after HIP LaunchKernel)) -43929643043285:43929644565233 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) -43929659153449:43929660129188 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) -43929660130544:43929660130545 26045:26045 MARK(name(before HIP LaunchKernel)) -43929660145548:43929660165863 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43929660167692:43929660167693 26045:26045 MARK(name(after HIP LaunchKernel)) -43929660172313:43929661686620 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) -43929676270210:43929677243437 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) -43929677244739:43929677244740 26045:26045 MARK(name(before HIP LaunchKernel)) -43929677257264:43929677272645 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43929677274225:43929677274226 26045:26045 MARK(name(after HIP LaunchKernel)) -43929677282356:43929678790765 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) -43929693378035:43929694356235 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) -43929694357510:43929694357511 26045:26045 MARK(name(before HIP LaunchKernel)) -43929694369691:43929694384356 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43929694385686:43929694385687 26045:26045 MARK(name(after HIP LaunchKernel)) -43929694390045:43929695900043 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) -43929710495732:43929711471850 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) -43929711473373:43929711473374 26045:26045 MARK(name(before HIP LaunchKernel)) -43929711486434:43929711501181 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43929711502830:43929711502831 26045:26045 MARK(name(after HIP LaunchKernel)) -43929711507135:43929713044889 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) -43929727642513:43929728628456 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) -43929728629717:43929728629718 26045:26045 MARK(name(before HIP LaunchKernel)) -43929728647568:43929728664780 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43929728666876:43929728666877 26045:26045 MARK(name(after HIP LaunchKernel)) -43929728671361:43929730222453 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) -43929744878127:43929745854187 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) -43929745855666:43929745855667 26045:26045 MARK(name(before HIP LaunchKernel)) -43929745870466:43929745887246 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43929745889089:43929745889090 26045:26045 MARK(name(after HIP LaunchKernel)) -43929745893525:43929747458083 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) -43929762120482:43929763114733 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) -43929763116321:43929763116322 26045:26045 MARK(name(before HIP LaunchKernel)) -43929763130435:43929763152286 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43929763154418:43929763154419 26045:26045 MARK(name(after HIP LaunchKernel)) -43929763159253:43929766058943 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) -43929780644100:43929781643799 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) -43929781649981:43929781649982 26045:26045 MARK(name(before HIP LaunchKernel)) -43929781664297:43929781680995 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43929781682824:43929781682825 26045:26045 MARK(name(after HIP LaunchKernel)) -43929781687300:43929784586554 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) -43929799171951:43929800170206 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) -43929800171627:43929800171628 26045:26045 MARK(name(before HIP LaunchKernel)) -43929800186144:43929800203730 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43929800205270:43929800205271 26045:26045 MARK(name(after HIP LaunchKernel)) -43929800210147:43929803113820 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) -43929817751760:43929818737989 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) -43929818739578:43929818739579 26045:26045 MARK(name(before HIP LaunchKernel)) -43929818753620:43929818770501 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43929818772529:43929818772530 26045:26045 MARK(name(after HIP LaunchKernel)) -43929818777286:43929821683223 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) -43929836371578:43929837334679 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) -43929837335903:43929837335904 26045:26045 MARK(name(before HIP LaunchKernel)) -43929837350613:43929837367783 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43929837369672:43929837369673 26045:26045 MARK(name(after HIP LaunchKernel)) -43929837374282:43929840272873 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) -43929854836173:43929855815577 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) -43929855816867:43929855816868 26045:26045 MARK(name(before HIP LaunchKernel)) -43929855837334:43929855854414 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43929855856567:43929855856568 26045:26045 MARK(name(after HIP LaunchKernel)) -43929855861443:43929858764402 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) -43929873402372:43929874391539 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) -43929874393389:43929874393390 26045:26045 MARK(name(before HIP LaunchKernel)) -43929874407960:43929874430066 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43929874433041:43929874433042 26045:26045 MARK(name(after HIP LaunchKernel)) -43929874437815:43929877343712 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) -43929891975736:43929892975981 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) -43929892977348:43929892977349 26045:26045 MARK(name(before HIP LaunchKernel)) -43929892992275:43929893009629 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43929893011596:43929893011597 26045:26045 MARK(name(after HIP LaunchKernel)) -43929893016078:43929895902827 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) -43929910484980:43929911479912 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) -43929911481273:43929911481274 26045:26045 MARK(name(before HIP LaunchKernel)) -43929911495863:43929911512596 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43929911514242:43929911514243 26045:26045 MARK(name(after HIP LaunchKernel)) -43929911518973:43929914424417 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) -43929929134999:43929930128112 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) -43929930129548:43929930129549 26045:26045 MARK(name(before HIP LaunchKernel)) -43929930144415:43929930161218 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43929930163168:43929930163169 26045:26045 MARK(name(after HIP LaunchKernel)) -43929930167782:43929933071093 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) -43929947660378:43929948658331 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) -43929948659695:43929948659696 26045:26045 MARK(name(before HIP LaunchKernel)) -43929948674143:43929948691079 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43929948692920:43929948692921 26045:26045 MARK(name(after HIP LaunchKernel)) -43929948697776:43929951598994 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) -43929966216132:43929967193717 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) -43929967195384:43929967195385 26045:26045 MARK(name(before HIP LaunchKernel)) -43929967213512:43929967230254 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43929967232110:43929967232111 26045:26045 MARK(name(after HIP LaunchKernel)) -43929967236622:43929970133543 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) -43929984790368:43929985782108 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) -43929985783397:43929985783398 26045:26045 MARK(name(before HIP LaunchKernel)) -43929985797877:43929985820890 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43929985822734:43929985822735 26045:26045 MARK(name(after HIP LaunchKernel)) -43929985827494:43929988724371 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) -43930003343601:43930004346293 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) -43930004347550:43930004347551 26045:26045 MARK(name(before HIP LaunchKernel)) -43930004362452:43930004379248 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43930004381133:43930004381134 26045:26045 MARK(name(after HIP LaunchKernel)) -43930004385760:43930007279098 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) -43930021912118:43930022892399 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) -43930022893764:43930022893765 26045:26045 MARK(name(before HIP LaunchKernel)) -43930022908179:43930022925044 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43930022926648:43930022926649 26045:26045 MARK(name(after HIP LaunchKernel)) -43930022931180:43930024457641 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) -43930039081409:43930040065932 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) -43930040067274:43930040067275 26045:26045 MARK(name(before HIP LaunchKernel)) -43930040092047:43930040108647 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43930040110596:43930040110597 26045:26045 MARK(name(after HIP LaunchKernel)) -43930040115091:43930041642494 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) -43930056277901:43930057256648 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) -43930057257977:43930057257978 26045:26045 MARK(name(before HIP LaunchKernel)) -43930057272223:43930057289480 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43930057291332:43930057291333 26045:26045 MARK(name(after HIP LaunchKernel)) -43930057295873:43930058824334 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) -43930073425379:43930074399760 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) -43930074401252:43930074401253 26045:26045 MARK(name(before HIP LaunchKernel)) -43930074419817:43930074438268 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43930074440170:43930074440171 26045:26045 MARK(name(after HIP LaunchKernel)) -43930074444725:43930075965254 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) -43930090573064:43930091549310 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) -43930091550651:43930091550652 26045:26045 MARK(name(before HIP LaunchKernel)) -43930091565318:43930091586526 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43930091588403:43930091588404 26045:26045 MARK(name(after HIP LaunchKernel)) -43930091593005:43930093154139 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) -43930107762046:43930108750345 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) -43930108751815:43930108751816 26045:26045 MARK(name(before HIP LaunchKernel)) -43930108766235:43930108783875 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43930108785788:43930108785789 26045:26045 MARK(name(after HIP LaunchKernel)) -43930108790444:43930110347879 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) -43930125002524:43930125982636 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) -43930125983908:43930125983909 26045:26045 MARK(name(before HIP LaunchKernel)) -43930125996898:43930126011708 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43930126013155:43930126013156 26045:26045 MARK(name(after HIP LaunchKernel)) -43930126017486:43930127543710 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) -43930142196077:43930143170122 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) -43930143171557:43930143171558 26045:26045 MARK(name(before HIP LaunchKernel)) -43930143183967:43930143198412 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43930143200095:43930143200096 26045:26045 MARK(name(after HIP LaunchKernel)) -43930143204452:43930144771054 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) -43930159403691:43930160393521 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) -43930160394814:43930160394815 26045:26045 MARK(name(before HIP LaunchKernel)) -43930160407201:43930160421674 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43930160423285:43930160423286 26045:26045 MARK(name(after HIP LaunchKernel)) -43930160428657:43930161976186 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) -43930176596876:43930177567385 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) -43930177568762:43930177568763 26045:26045 MARK(name(before HIP LaunchKernel)) -43930177580617:43930177599106 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43930177600622:43930177600623 26045:26045 MARK(name(after HIP LaunchKernel)) -43930177605236:43930179156766 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) -43930193786814:43930194761708 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) -43930194763193:43930194763194 26045:26045 MARK(name(before HIP LaunchKernel)) -43930194775546:43930194789719 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43930194791198:43930194791199 26045:26045 MARK(name(after HIP LaunchKernel)) -43930194799346:43930196371655 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) -43930211027029:43930212004351 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) -43930212005914:43930212005915 26045:26045 MARK(name(before HIP LaunchKernel)) -43930212028861:43930212043049 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43930212053785:43930212053786 26045:26045 MARK(name(after HIP LaunchKernel)) -43930212058354:43930213609958 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) -43930228262713:43930229240371 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) -43930229241594:43930229241595 26045:26045 MARK(name(before HIP LaunchKernel)) -43930229253718:43930229267338 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43930229268677:43930229268678 26045:26045 MARK(name(after HIP LaunchKernel)) -43930229273036:43930230828395 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) -43930245480631:43930246455490 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) -43930246456769:43930246456770 26045:26045 MARK(name(before HIP LaunchKernel)) -43930246469196:43930246482896 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43930246484464:43930246484465 26045:26045 MARK(name(after HIP LaunchKernel)) -43930246488848:43930248045447 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) -43930262674151:43930263651803 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) -43930263654095:43930263654096 26045:26045 MARK(name(before HIP LaunchKernel)) -43930263666279:43930263680027 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43930263681543:43930263681544 26045:26045 MARK(name(after HIP LaunchKernel)) -43930263685887:43930265246396 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) -43930279853420:43930280852934 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) -43930280854474:43930280854475 26045:26045 MARK(name(before HIP LaunchKernel)) -43930280866659:43930280883869 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43930280885482:43930280885483 26045:26045 MARK(name(after HIP LaunchKernel)) -43930280889840:43930282443424 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) -43930297113151:43930298086759 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) -43930298088033:43930298088034 26045:26045 MARK(name(before HIP LaunchKernel)) -43930298100887:43930298114444 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43930298115954:43930298115955 26045:26045 MARK(name(after HIP LaunchKernel)) -43930298120290:43930299667942 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) -43930314333956:43930315310609 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) -43930315311820:43930315311821 26045:26045 MARK(name(before HIP LaunchKernel)) -43930315324785:43930315338444 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43930315339975:43930315339976 26045:26045 MARK(name(after HIP LaunchKernel)) -43930315344661:43930316915748 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) -43930331551482:43930332535669 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) -43930332536980:43930332536981 26045:26045 MARK(name(before HIP LaunchKernel)) -43930332549985:43930332563637 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43930332565027:43930332565028 26045:26045 MARK(name(after HIP LaunchKernel)) -43930332569394:43930334124047 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) -43930348756805:43930349735833 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) -43930349737337:43930349737338 26045:26045 MARK(name(before HIP LaunchKernel)) -43930349749102:43930349762696 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43930349766394:43930349766395 26045:26045 MARK(name(after HIP LaunchKernel)) -43930349770821:43930351318643 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) -43930365952737:43930366927280 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) -43930366928543:43930366928544 26045:26045 MARK(name(before HIP LaunchKernel)) -43930366940834:43930366954672 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43930366956265:43930366956266 26045:26045 MARK(name(after HIP LaunchKernel)) -43930366960759:43930368468025 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) -43930383042804:43930384031864 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) -43930384033125:43930384033126 26045:26045 MARK(name(before HIP LaunchKernel)) -43930384045585:43930384064690 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43930384066187:43930384066188 26045:26045 MARK(name(after HIP LaunchKernel)) -43930384070873:43930386956640 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) -43930401606890:43930402595595 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) -43930402596786:43930402596787 26045:26045 MARK(name(before HIP LaunchKernel)) -43930402609403:43930402623248 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43930402624768:43930402624769 26045:26045 MARK(name(after HIP LaunchKernel)) -43930402629125:43930405512214 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) -43930420155344:43930421144143 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) -43930421145457:43930421145458 26045:26045 MARK(name(before HIP LaunchKernel)) -43930421158149:43930421171754 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43930421173279:43930421173280 26045:26045 MARK(name(after HIP LaunchKernel)) -43930421177671:43930424086855 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) -43930438638964:43930439630170 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) -43930439631448:43930439631449 26045:26045 MARK(name(before HIP LaunchKernel)) -43930439643417:43930439656783 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43930439658236:43930439658237 26045:26045 MARK(name(after HIP LaunchKernel)) -43930439662612:43930442556618 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) -43930457234588:43930458235604 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) -43930458236944:43930458236945 26045:26045 MARK(name(before HIP LaunchKernel)) -43930458252561:43930458270034 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43930458271946:43930458271947 26045:26045 MARK(name(after HIP LaunchKernel)) -43930458276581:43930461174006 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) -43930475767073:43930476761677 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) -43930476763074:43930476763075 26045:26045 MARK(name(before HIP LaunchKernel)) -43930476780668:43930476797506 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43930476799292:43930476799293 26045:26045 MARK(name(after HIP LaunchKernel)) -43930476803907:43930479695341 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) -43930494306470:43930495297876 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) -43930495299303:43930495299304 26045:26045 MARK(name(before HIP LaunchKernel)) -43930495313946:43930495336102 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43930495338219:43930495338220 26045:26045 MARK(name(after HIP LaunchKernel)) -43930495342911:43930498227245 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) -43930512881639:43930513864262 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) -43930513865712:43930513865713 26045:26045 MARK(name(before HIP LaunchKernel)) -43930513880258:43930513897477 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43930513899274:43930513899275 26045:26045 MARK(name(after HIP LaunchKernel)) -43930513903971:43930516803453 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) -43930531430328:43930532437431 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) -43930532438771:43930532438772 26045:26045 MARK(name(before HIP LaunchKernel)) -43930532453106:43930532469898 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43930532471967:43930532471968 26045:26045 MARK(name(after HIP LaunchKernel)) -43930532476519:43930535371401 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) -43930549945202:43930550940770 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) -43930550942142:43930550942143 26045:26045 MARK(name(before HIP LaunchKernel)) -43930550957781:43930550974611 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43930550976381:43930550976382 26045:26045 MARK(name(after HIP LaunchKernel)) -43930550980977:43930553876692 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) -43930568599586:43930569594162 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) -43930569595844:43930569595845 26045:26045 MARK(name(before HIP LaunchKernel)) -43930569611408:43930569628942 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43930569631114:43930569631115 26045:26045 MARK(name(after HIP LaunchKernel)) -43930569635683:43930572531861 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) -43930587121462:43930588126225 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) -43930588127701:43930588127702 26045:26045 MARK(name(before HIP LaunchKernel)) -43930588142491:43930588164272 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43930588166135:43930588166136 26045:26045 MARK(name(after HIP LaunchKernel)) -43930588170741:43930591053523 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) -43930605678019:43930606669058 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) -43930606670431:43930606670432 26045:26045 MARK(name(before HIP LaunchKernel)) -43930606684605:43930606707405 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43930606709278:43930606709279 26045:26045 MARK(name(after HIP LaunchKernel)) -43930606713964:43930609614815 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) -43930624303095:43930625294059 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) -43930625295402:43930625295403 26045:26045 MARK(name(before HIP LaunchKernel)) -43930625309834:43930625326524 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43930625328474:43930625328475 26045:26045 MARK(name(after HIP LaunchKernel)) -43930625332967:43930628237487 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) -43930642855151:43930643835333 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) -43930643837061:43930643837062 26045:26045 MARK(name(before HIP LaunchKernel)) -43930643852287:43930643869129 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43930643870964:43930643870965 26045:26045 MARK(name(after HIP LaunchKernel)) -43930643876458:43930645418991 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) -43930660043380:43930661017218 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) -43930661018732:43930661018733 26045:26045 MARK(name(before HIP LaunchKernel)) -43930661033444:43930661050116 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43930661051826:43930661051827 26045:26045 MARK(name(after HIP LaunchKernel)) -43930661056328:43930662619508 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) -43930677239065:43930678215639 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) -43930678217048:43930678217049 26045:26045 MARK(name(before HIP LaunchKernel)) -43930678231055:43930678247980 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43930678250226:43930678250227 26045:26045 MARK(name(after HIP LaunchKernel)) -43930678254748:43930679817672 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) -43930694477507:43930695453612 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) -43930695454921:43930695454922 26045:26045 MARK(name(before HIP LaunchKernel)) -43930695469868:43930695490917 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43930695492677:43930695492678 26045:26045 MARK(name(after HIP LaunchKernel)) -43930695497229:43930697062436 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) -43930711713021:43930712688922 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) -43930712690236:43930712690237 26045:26045 MARK(name(before HIP LaunchKernel)) -43930712705309:43930712722139 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43930712724002:43930712724003 26045:26045 MARK(name(after HIP LaunchKernel)) -43930712732625:43930714284929 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) -43930728920088:43930729903146 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) -43930729904509:43930729904510 26045:26045 MARK(name(before HIP LaunchKernel)) -43930729919170:43930729935894 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43930729937815:43930729937816 26045:26045 MARK(name(after HIP LaunchKernel)) -43930729942327:43930731499310 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) -43930746137535:43930747115076 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) -43930747117381:43930747117382 26045:26045 MARK(name(before HIP LaunchKernel)) -43930747132166:43930747148830 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43930747150641:43930747150642 26045:26045 MARK(name(after HIP LaunchKernel)) -43930747155075:43930748712751 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) -43930763363169:43930764354316 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) -43930764355479:43930764355480 26045:26045 MARK(name(before HIP LaunchKernel)) -43930764368427:43930764383862 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43930764385419:43930764385420 26045:26045 MARK(name(after HIP LaunchKernel)) -43930764389726:43930765937408 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) -43930780592450:43930781566891 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) -43930781568219:43930781568220 26045:26045 MARK(name(before HIP LaunchKernel)) -43930781581007:43930781595946 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43930781597557:43930781597558 26045:26045 MARK(name(after HIP LaunchKernel)) -43930781601983:43930783151888 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) -43930797819027:43930798792755 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) -43930798794155:43930798794156 26045:26045 MARK(name(before HIP LaunchKernel)) -43930798806903:43930798825095 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43930798826655:43930798826656 26045:26045 MARK(name(after HIP LaunchKernel)) -43930798831124:43930800419144 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) -43930815032961:43930816039623 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) -43930816041071:43930816041072 26045:26045 MARK(name(before HIP LaunchKernel)) -43930816064413:43930816082004 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43930816083866:43930816083867 26045:26045 MARK(name(after HIP LaunchKernel)) -43930816088481:43930817652051 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) -43930832157120:43930833136126 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) -43930833137623:43930833137624 26045:26045 MARK(name(before HIP LaunchKernel)) -43930833153662:43930833170115 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43930833171924:43930833171925 26045:26045 MARK(name(after HIP LaunchKernel)) -43930833176374:43930834734585 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) -43930849335968:43930850310035 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) -43930850311309:43930850311310 26045:26045 MARK(name(before HIP LaunchKernel)) -43930850325544:43930850342153 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43930850343996:43930850343997 26045:26045 MARK(name(after HIP LaunchKernel)) -43930850348482:43930851912663 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) -43930866546277:43930867526754 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) -43930867528163:43930867528164 26045:26045 MARK(name(before HIP LaunchKernel)) -43930867543160:43930867559785 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43930867561512:43930867561513 26045:26045 MARK(name(after HIP LaunchKernel)) -43930867565902:43930869091920 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) -43930883716131:43930884677342 26045:26045 hipMemcpy(dst(0x903200000) src(0x215b170) size(0x400000) kind(1)) -43930884678631:43930884678632 26045:26045 MARK(name(before HIP LaunchKernel)) -43930884694101:43930884711548 26045:26045 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43930884713779:43930884713780 26045:26045 MARK(name(after HIP LaunchKernel)) -43930884718249:43930886238842 26045:26045 hipMemcpy(dst(0x255b180) src(0x903a00000) size(0x400000) kind(2)) -43930900879693:43930900961693 26045:26045 hipFree(ptr(0x903200000)) -43930900964643:43930900983784 26045:26045 hipFree(ptr(0x903a00000)) -43928818806550:43928818808630 26045:26045 hsa_amd_profiling_async_copy_enable() = 0 -43928819009702:43928819010128 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc37d64) = 0 -43928819013500:43928819014204 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc37d64) = 0 -43928819013500:43928819015077 26045:26045 hsa_iterate_agents(1, 0x1d6ef58) = 0 -43928819016342:43928819016680 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc37f6c) = 0 -43928819016342:43928819017415 26045:26045 hsa_iterate_agents(1, 0x1d6ef50) = 1 -43928819020487:43928819020874 26045:26045 hsa_agent_get_info(, 4, 0x7fffcdc37c80) = 0 -43928819021766:43928819024997 26045:26045 hsa_agent_get_info(, 0, 0x7fffcdc37c40) = 0 -43928819025767:43928819026140 26045:26045 hsa_agent_get_info(, 16, 0x1d43968) = 0 -43928819037072:43928819037444 26045:26045 hsa_agent_get_info(, 21, 0x1d43900) = 0 -43928819038207:43928819038547 26045:26045 hsa_agent_get_info(, 22, 0x1d43902) = 0 -43928819039564:43928819039908 26045:26045 hsa_agent_get_info(, 14, 0x1d437a0) = 0 -43928819041336:43928819041729 26045:26045 hsa_amd_profiling_async_copy_enable() = 0 -43928819044307:43928819044915 26045:26045 hsa_amd_memory_pool_get_info(, 0, 0x7fffcdc3790c) = 0 -43928819045706:43928819046046 26045:26045 hsa_amd_memory_pool_get_info(, 0, 0x7fffcdc3790c) = 0 -43928819046840:43928819047178 26045:26045 hsa_amd_memory_pool_get_info(, 2, 0x7fffcdc37910) = 0 -43928819046840:43928819047918 26045:26045 hsa_amd_agent_iterate_memory_pools(, 1, 0x1d43798) = 1 -43928819049101:43928819049438 26045:26045 hsa_amd_memory_pool_get_info(, 0, 0x7fffcdc37764) = 0 -43928819050193:43928819050544 26045:26045 hsa_amd_memory_pool_get_info(, 1, 0x7fffcdc37754) = 0 -43928819051283:43928819051621 26045:26045 hsa_amd_memory_pool_get_info(, 2, 0x7fffcdc37758) = 0 -43928819052572:43928819052919 26045:26045 hsa_amd_memory_pool_get_info(, 0, 0x7fffcdc37764) = 0 -43928819052572:43928819053656 26045:26045 hsa_amd_agent_iterate_memory_pools(, 1, 0x1d43858) = 0 -43928819054808:43928819055135 26045:26045 hsa_amd_memory_pool_get_info(, 0, 0x7fffcdc3791c) = 0 -43928819055878:43928819056221 26045:26045 hsa_amd_memory_pool_get_info(, 1, 0x7fffcdc3778c) = 0 -43928819056962:43928819057294 26045:26045 hsa_amd_memory_pool_get_info(, 2, 0x7fffcdc37780) = 0 -43928819058408:43928819058750 26045:26045 hsa_amd_memory_pool_get_info(, 0, 0x7fffcdc3791c) = 0 -43928819059487:43928819059824 26045:26045 hsa_amd_memory_pool_get_info(, 1, 0x7fffcdc3778c) = 0 -43928819060566:43928819060904 26045:26045 hsa_amd_memory_pool_get_info(, 2, 0x7fffcdc37780) = 0 -43928819060566:43928819061658 26045:26045 hsa_amd_agent_iterate_memory_pools(, 1, 0x1d43858) = 0 -43928819064729:43928819134507 26045:26045 hsa_amd_memory_pool_allocate(, , , 0x7fffcdc37a18) = 0 -43928819136448:43928819149090 26045:26045 hsa_amd_agents_allow_access(, 0x1d43790, 0, 0x3d00000) = 0 -43928819155469:43928819155860 26045:26045 hsa_agent_get_info(, 8, 0x1d438b4) = 0 -43928819156659:43928819156997 26045:26045 hsa_agent_get_info(, 7, 0x1d438b8) = 0 -43928819157733:43928819158075 26045:26045 hsa_agent_get_info(, 4, 0x7fffcdc37e80) = 0 -43928819160373:43928819160778 26045:26045 hsa_amd_memory_pool_get_info(, 0, 0x7fffcdc377cc) = 0 -43928819161713:43928819162069 26045:26045 hsa_amd_memory_pool_get_info(, 1, 0x7fffcdc377c8) = 0 -43928819162907:43928819163243 26045:26045 hsa_amd_memory_pool_get_info(, 0, 0x7fffcdc377cc) = 0 -43928819164025:43928819164363 26045:26045 hsa_amd_memory_pool_get_info(, 1, 0x7fffcdc377c8) = 0 -43928819164025:43928819165141 26045:26045 hsa_amd_agent_iterate_memory_pools(, 1, 0x7fffcdc37a10) = 0 -43928819166352:43928819166715 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc377f4) = 0 -43928819167483:43928819167828 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc377f4) = 0 -43928819167483:43928819168617 26045:26045 hsa_iterate_agents(1, 0x7fffcdc37970) = 0 -43928819169589:43928819653388 26045:26045 hsa_amd_memory_pool_allocate(, , , 0x1d43cd0) = 0 -43928819654666:43928819672465 26045:26045 hsa_amd_agents_allow_access(, 0x1d6a7f0, 0, 0x4000000) = 0 -43928819674787:43928819676489 26045:26045 hsa_signal_create(0, , 0, 0x1d43cf0) = 0 -43928819677286:43928819678215 26045:26045 hsa_signal_create(0, , 0, 0x1d43d10) = 0 -43928819679042:43928820154075 26045:26045 hsa_amd_memory_pool_allocate(, , , 0x1d43cd8) = 0 -43928820155264:43928820171958 26045:26045 hsa_amd_agents_allow_access(, 0x1d6a7f0, 0, 0x4800000) = 0 -43928820172893:43928820174180 26045:26045 hsa_signal_create(0, , 0, 0x1d43cf8) = 0 -43928820175016:43928820175885 26045:26045 hsa_signal_create(0, , 0, 0x1d43d18) = 0 -43928820177416:43928820177793 26045:26045 hsa_amd_memory_pool_get_info(, 0, 0x7fffcdc377cc) = 0 -43928820178637:43928820178982 26045:26045 hsa_amd_memory_pool_get_info(, 1, 0x7fffcdc377c8) = 0 -43928820179817:43928820180150 26045:26045 hsa_amd_memory_pool_get_info(, 0, 0x7fffcdc377cc) = 0 -43928820180988:43928820181324 26045:26045 hsa_amd_memory_pool_get_info(, 1, 0x7fffcdc377c8) = 0 -43928820180988:43928820182100 26045:26045 hsa_amd_agent_iterate_memory_pools(, 1, 0x7fffcdc37a10) = 0 -43928820183361:43928820183769 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc377f4) = 0 -43928820184543:43928820184953 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc377f4) = 0 -43928820184543:43928820186848 26045:26045 hsa_iterate_agents(1, 0x7fffcdc37970) = 0 -43928820187774:43928820661205 26045:26045 hsa_amd_memory_pool_allocate(, , , 0x1d44310) = 0 -43928820662276:43928820678100 26045:26045 hsa_amd_agents_allow_access(, 0x1d6a7f0, 0, 0x5000000) = 0 -43928820679016:43928820680215 26045:26045 hsa_signal_create(0, , 0, 0x1d44330) = 0 -43928820680967:43928820681811 26045:26045 hsa_signal_create(0, , 0, 0x1d44350) = 0 -43928820682618:43928821157014 26045:26045 hsa_amd_memory_pool_allocate(, , , 0x1d44318) = 0 -43928821158075:43928821173448 26045:26045 hsa_amd_agents_allow_access(, 0x1d6a7f0, 0, 0x5800000) = 0 -43928821174359:43928821175500 26045:26045 hsa_signal_create(0, , 0, 0x1d44338) = 0 -43928821176233:43928821177104 26045:26045 hsa_signal_create(0, , 0, 0x1d44358) = 0 -43928821180446:43928821197812 26045:26045 hsa_amd_memory_lock(0x7f153c4b8380, , 0x1d6a4b0, 1, 0x7f153c4b8388) = 0 -43928821203025:43928821203421 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc382a4) = 0 -43928821203025:43928821204162 26045:26045 hsa_iterate_agents(1, 0x7f153b86f1d8) = 1 -43928821206149:43928821206557 26045:26045 hsa_agent_get_info(, 40962, 0x1d44ac8) = 0 -43928821207918:43928821208256 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc380bc) = 0 -43928821209223:43928821209574 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc380bc) = 0 -43928821209223:43928821210347 26045:26045 hsa_iterate_agents(1, 0x7fffcdc3821c) = 0 -43928821211105:43928821211536 26045:26045 hsa_agent_get_info(, 40969, 0x1d44ad0) = 0 -43928821212270:43928821214862 26045:26045 hsa_agent_get_info(, 0, 0x7fffcdc38290) = 0 -43928821216805:43928821217171 26045:26045 hsa_agent_get_info(, 16, 0x7fffcdc3824c) = 0 -43928821217964:43928821218310 26045:26045 hsa_agent_get_info(, 6, 0x1d44be4) = 0 -43928821219050:43928821219389 26045:26045 hsa_agent_get_info(, 8, 0x1d44be8) = 0 -43928821220239:43928821220583 26045:26045 hsa_agent_get_info(, 7, 0x7fffcdc3820e) = 0 -43928821221351:43928821221696 26045:26045 hsa_agent_get_info(, 9, 0x7fffcdc38230) = 0 -43928821222484:43928821222850 26045:26045 hsa_agent_get_info(, 40963, 0x1d44c04) = 0 -43928821224207:43928821224568 26045:26045 hsa_system_get_info(3, 0x7fffcdc38240) = 0 -43928821225350:43928821225703 26045:26045 hsa_agent_get_info(, 40966, 0x7fffcdc3820c) = 0 -43928821226439:43928821226794 26045:26045 hsa_agent_get_info(, 40975, 0x1d44c3c) = 0 -43928821227531:43928821227880 26045:26045 hsa_agent_get_info(, 40962, 0x1d44c20) = 0 -43928821228621:43928821228976 26045:26045 hsa_agent_get_info(, 18, 0x7fffcdc38280) = 0 -43928821231522:43928821231888 26045:26045 hsa_agent_get_info(, 40970, 0x7fffcdc38218) = 0 -43928821234216:43928821234593 26045:26045 hsa_amd_memory_pool_get_info(, 0, 0x7fffcdc3807c) = 0 -43928821236636:43928821236975 26045:26045 hsa_amd_memory_pool_get_info(, 0, 0x7fffcdc3807c) = 0 -43928821237796:43928821238130 26045:26045 hsa_amd_memory_pool_get_info(, 2, 0x1d44bd8) = 0 -43928821237796:43928821238867 26045:26045 hsa_amd_agent_iterate_memory_pools(, 1, 0x1d44ad0) = 0 -43928821252280:43928821253380 26045:26045 hsa_signal_create(1, , 0x7fffcdc37f48, 0x1d44e88) = 0 -43928821258394:43928821258839 26045:26045 hsa_region_get_info(, 2, 0x1d44bd0) = 0 -43928821259604:43928821259949 26045:26045 hsa_region_get_info(, 40963, 0x1d44c08) = 0 -43928821260721:43928821261054 26045:26045 hsa_region_get_info(, 40962, 0x1d44c0c) = 0 -43928821261841:43928821262197 26045:26045 hsa_agent_get_info(, 4, 0x7fffcdc38214) = 0 -43928821262967:43928821303493 26045:26045 hsa_agent_get_info(, 12288, 0x1d44c68) = 0 -43928821304373:43928821304811 26045:26045 hsa_agent_get_info(, 12291, 0x1d44c6c) = 0 -43928821305590:43928821305966 26045:26045 hsa_agent_get_info(, 12295, 0x1d44c74) = 0 -43928821306735:43928821307105 26045:26045 hsa_agent_get_info(, 40974, 0x7fffcdc38270) = 0 -43928821307876:43928821308226 26045:26045 hsa_agent_get_info(, 19, 0x7fffcdc38228) = 0 -43928821310002:43928821323222 26045:26045 hsa_isa_get_info_alt(, 0, 0x7fffcdc38220) = 0 -43928821326057:43928821329564 26045:26045 hsa_isa_get_info_alt(, 1, 0x1d447d0) = 0 -43928821345785:43928821346161 26045:26045 hsa_system_get_info(3, 0x7fffcdc385b0) = 0 -43928821347112:43928821347751 26045:26045 hsa_system_get_info(2, 0x7fffcdc385e0) = 0 -43928821351324:43928821351976 26045:26045 hsa_system_get_info(2, 0x7fffcdc385e0) = 0 -43928823525445:43928823526222 26045:26045 hsa_system_get_info(2, 0x7fffcdc385e0) = 0 -43928823534661:43928823571234 26045:26045 hsa_amd_memory_pool_allocate(, , , 0x7fffcdc383a8) = 0 -43928823575592:43928823576221 26045:26045 hsa_system_get_info(2, 0x7fffcdc385e0) = 0 -43928823579162:43928823579793 26045:26045 hsa_system_get_info(2, 0x7fffcdc385e0) = 0 -43928823581249:43928823604613 26045:26045 hsa_amd_memory_pool_allocate(, , , 0x7fffcdc383a8) = 0 -43928823605991:43928823606632 26045:26045 hsa_system_get_info(2, 0x7fffcdc385e0) = 0 -43928823617129:43928823617774 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43928823622797:43928823624003 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 -43928823626445:43928823626902 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43928823627752:43928823628314 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 -43928823629092:43928823629471 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43928823631185:43928823631524 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38264) = 0 -43928823631185:43928823632334 26045:26045 hsa_iterate_agents(1, 0x7fffcdc383c0) = 1 -43928823633956:43928823634463 26045:26045 hsa_region_get_info(, 0, 0x7fffcdc383bc) = 0 -43928823635500:43928823635957 26045:26045 hsa_region_get_info(, 1, 0x7fffcdc383b8) = 0 -43928823636957:43928823637408 26045:26045 hsa_region_get_info(, 0, 0x7fffcdc383bc) = 0 -43928823638320:43928823638752 26045:26045 hsa_region_get_info(, 1, 0x7fffcdc383b8) = 0 -43928823638320:43928823639683 26045:26045 hsa_agent_iterate_regions(, 1, 0x7fffcdc38500) = 1 -43928823651914:43928824161501 26045:26045 hsa_memory_allocate(, , 0x7fffcdc38508) = 0 -43928824163804:43928824164195 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38264) = 0 -43928824163804:43928824164975 26045:26045 hsa_iterate_agents(1, 0x7fffcdc383c0) = 1 -43928824166461:43928824168385 26045:26045 hsa_signal_create(1, , 0x7fffcdc38508, 0x7fffcdc38500) = 0 -43928824429542:43928824430152 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43928824434116:43928824434498 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc37ec0) = 0 -43928824436034:43928824436471 26045:26045 hsa_amd_memory_pool_get_info(, 0, 0x7fffcdc37d40) = 0 -43928824437266:43928824437611 26045:26045 hsa_amd_memory_pool_get_info(, 1, 0x7fffcdc37d44) = 0 -43928824438425:43928824438782 26045:26045 hsa_amd_memory_pool_get_info(, 0, 0x7fffcdc37d40) = 0 -43928824439515:43928824439856 26045:26045 hsa_amd_memory_pool_get_info(, 1, 0x7fffcdc37d44) = 0 -43928824439515:43928824440636 26045:26045 hsa_amd_agent_iterate_memory_pools(, 1, 0x1d4a850) = 1 -43928824441793:43928824442130 26045:26045 hsa_amd_memory_pool_get_info(, 0, 0x7fffcdc37d40) = 0 -43928824442859:43928824443191 26045:26045 hsa_amd_memory_pool_get_info(, 1, 0x7fffcdc37d44) = 0 -43928824442859:43928824443950 26045:26045 hsa_amd_agent_iterate_memory_pools(, 1, 0x1d4a860) = 1 -43928824456520:43928824456961 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc37ec0) = 0 -43928824457818:43928824461936 26045:26045 hsa_agent_get_info(, 0, 0x1d4a944) = 0 -43928824464336:43928824464696 26045:26045 hsa_agent_get_info(, 6, 0x1d4a984) = 0 -43928824465437:43928824465796 26045:26045 hsa_agent_get_info(, 14, 0x1d4a988) = 0 -43928824466532:43928824466883 26045:26045 hsa_agent_get_info(, 4, 0x1d4a98c) = 0 -43928824469219:43928824469569 26045:26045 hsa_agent_get_info(, 40962, 0x1d4a9a8) = 0 -43928824470307:43928824470649 26045:26045 hsa_agent_get_info(, 40970, 0x1d4a9ac) = 0 -43928824471384:43928824471720 26045:26045 hsa_agent_get_info(, 40971, 0x1d4a9b0) = 0 -43928824472458:43928824472808 26045:26045 hsa_agent_get_info(, 40972, 0x1d4a9b4) = 0 -43928824473541:43928824473877 26045:26045 hsa_agent_get_info(, 40973, 0x1d4a9b8) = 0 -43928824475087:43928824475419 26045:26045 hsa_amd_memory_pool_get_info(, 0, 0x7fffcdc37d30) = 0 -43928824476149:43928824476494 26045:26045 hsa_amd_memory_pool_get_info(, 1, 0x7fffcdc37d34) = 0 -43928824476149:43928824477252 26045:26045 hsa_amd_agent_iterate_memory_pools(, 1, 0x1d4a998) = 1 -43928824476149:43928824481825 26045:26045 hsa_iterate_agents(1, 0x1d4a660) = 0 -43928824482797:43928824589956 26045:26045 hsa_system_get_major_extension_table(, , , 0x1d4a6f8) = 0 -43928824591434:43928824591840 26045:26045 hsa_system_get_major_extension_table(, , , 0x1d4a748) = 0 -43928824592784:43928824593135 26045:26045 hsa_system_get_info(3, 0x7fffcdc38038) = 0 -43928824606887:43928824607534 26045:26045 hsa_system_get_info(2, 0x1d4b210) = 0 -43928824609541:43928824610168 26045:26045 hsa_system_get_info(2, 0x1d4b218) = 0 -43928824610956:43928824611577 26045:26045 hsa_system_get_info(2, 0x1d4b220) = 0 -43928824612326:43928824612946 26045:26045 hsa_system_get_info(2, 0x1d4b228) = 0 -43928824613693:43928824614311 26045:26045 hsa_system_get_info(2, 0x1d4b230) = 0 -43928824615060:43928824615679 26045:26045 hsa_system_get_info(2, 0x1d4b238) = 0 -43928824616427:43928824617043 26045:26045 hsa_system_get_info(2, 0x1d4b240) = 0 -43928824617790:43928824618408 26045:26045 hsa_system_get_info(2, 0x1d4b248) = 0 -43928824619153:43928824619775 26045:26045 hsa_system_get_info(2, 0x1d4b250) = 0 -43928824620521:43928824621161 26045:26045 hsa_system_get_info(2, 0x1d4b258) = 0 -43928824621907:43928824622522 26045:26045 hsa_system_get_info(2, 0x1d4b260) = 0 -43928824623272:43928824623887 26045:26045 hsa_system_get_info(2, 0x1d4b268) = 0 -43928824624629:43928824625250 26045:26045 hsa_system_get_info(2, 0x1d4b270) = 0 -43928824625998:43928824626620 26045:26045 hsa_system_get_info(2, 0x1d4b278) = 0 -43928824627369:43928824627991 26045:26045 hsa_system_get_info(2, 0x1d4b280) = 0 -43928824628741:43928824629358 26045:26045 hsa_system_get_info(2, 0x1d4b288) = 0 -43928824631362:43928824631982 26045:26045 hsa_system_get_info(2, 0x1d4b290) = 0 -43928824632731:43928824633349 26045:26045 hsa_system_get_info(2, 0x1d4b298) = 0 -43928824634095:43928824634714 26045:26045 hsa_system_get_info(2, 0x1d4b2a0) = 0 -43928824635461:43928824636078 26045:26045 hsa_system_get_info(2, 0x1d4b2a8) = 0 -43928824636824:43928824637441 26045:26045 hsa_system_get_info(2, 0x1d4b2b0) = 0 -43928824638186:43928824638806 26045:26045 hsa_system_get_info(2, 0x1d4b2b8) = 0 -43928824639612:43928824640233 26045:26045 hsa_system_get_info(2, 0x1d4b2c0) = 0 -43928824640979:43928824641598 26045:26045 hsa_system_get_info(2, 0x1d4b2c8) = 0 -43928824642346:43928824642960 26045:26045 hsa_system_get_info(2, 0x1d4b2d0) = 0 -43928824643708:43928824644327 26045:26045 hsa_system_get_info(2, 0x1d4b2d8) = 0 -43928824645076:43928824645699 26045:26045 hsa_system_get_info(2, 0x1d4b2e0) = 0 -43928824646448:43928824647068 26045:26045 hsa_system_get_info(2, 0x1d4b2e8) = 0 -43928824647817:43928824648438 26045:26045 hsa_system_get_info(2, 0x1d4b2f0) = 0 -43928824649186:43928824649822 26045:26045 hsa_system_get_info(2, 0x1d4b2f8) = 0 -43928824650571:43928824651189 26045:26045 hsa_system_get_info(2, 0x1d4b300) = 0 -43928824651934:43928824652561 26045:26045 hsa_system_get_info(2, 0x1d4b308) = 0 -43928824653306:43928824653924 26045:26045 hsa_system_get_info(2, 0x1d4b310) = 0 -43928824654671:43928824655292 26045:26045 hsa_system_get_info(2, 0x1d4b318) = 0 -43928824656041:43928824656658 26045:26045 hsa_system_get_info(2, 0x1d4b320) = 0 -43928824657406:43928824658034 26045:26045 hsa_system_get_info(2, 0x1d4b328) = 0 -43928824658782:43928824659403 26045:26045 hsa_system_get_info(2, 0x1d4b330) = 0 -43928824660154:43928824660772 26045:26045 hsa_system_get_info(2, 0x1d4b338) = 0 -43928824661519:43928824662144 26045:26045 hsa_system_get_info(2, 0x1d4b340) = 0 -43928824662890:43928824663516 26045:26045 hsa_system_get_info(2, 0x1d4b348) = 0 -43928824664265:43928824664885 26045:26045 hsa_system_get_info(2, 0x1d4b350) = 0 -43928824665631:43928824666252 26045:26045 hsa_system_get_info(2, 0x1d4b358) = 0 -43928824667001:43928824667621 26045:26045 hsa_system_get_info(2, 0x1d4b360) = 0 -43928824668372:43928824668995 26045:26045 hsa_system_get_info(2, 0x1d4b368) = 0 -43928824669763:43928824670382 26045:26045 hsa_system_get_info(2, 0x1d4b370) = 0 -43928824671921:43928824672540 26045:26045 hsa_system_get_info(2, 0x1d4b378) = 0 -43928824673290:43928824673910 26045:26045 hsa_system_get_info(2, 0x1d4b380) = 0 -43928824674655:43928824675275 26045:26045 hsa_system_get_info(2, 0x1d4b388) = 0 -43928824676019:43928824676638 26045:26045 hsa_system_get_info(2, 0x1d4b390) = 0 -43928824677386:43928824678007 26045:26045 hsa_system_get_info(2, 0x1d4b398) = 0 -43928824678759:43928824679380 26045:26045 hsa_system_get_info(2, 0x1d4b3a0) = 0 -43928824680124:43928824680741 26045:26045 hsa_system_get_info(2, 0x1d4b3a8) = 0 -43928824681488:43928824682108 26045:26045 hsa_system_get_info(2, 0x1d4b3b0) = 0 -43928824682851:43928824683476 26045:26045 hsa_system_get_info(2, 0x1d4b3b8) = 0 -43928824684219:43928824684840 26045:26045 hsa_system_get_info(2, 0x1d4b3c0) = 0 -43928824685582:43928824686207 26045:26045 hsa_system_get_info(2, 0x1d4b3c8) = 0 -43928824686953:43928824687575 26045:26045 hsa_system_get_info(2, 0x1d4b3d0) = 0 -43928824688322:43928824688943 26045:26045 hsa_system_get_info(2, 0x1d4b3d8) = 0 -43928824689692:43928824690316 26045:26045 hsa_system_get_info(2, 0x1d4b3e0) = 0 -43928824691063:43928824691684 26045:26045 hsa_system_get_info(2, 0x1d4b3e8) = 0 -43928824692434:43928824693073 26045:26045 hsa_system_get_info(2, 0x1d4b3f0) = 0 -43928824693818:43928824694438 26045:26045 hsa_system_get_info(2, 0x1d4b3f8) = 0 -43928824695186:43928824695804 26045:26045 hsa_system_get_info(2, 0x1d4b400) = 0 -43928824696551:43928824697173 26045:26045 hsa_system_get_info(2, 0x1d4b408) = 0 -43928824697920:43928824698538 26045:26045 hsa_system_get_info(2, 0x1d4b410) = 0 -43928824699282:43928824699902 26045:26045 hsa_system_get_info(2, 0x1d4b418) = 0 -43928824700649:43928824701267 26045:26045 hsa_system_get_info(2, 0x1d4b420) = 0 -43928824702016:43928824702637 26045:26045 hsa_system_get_info(2, 0x1d4b428) = 0 -43928824703384:43928824703999 26045:26045 hsa_system_get_info(2, 0x1d4b430) = 0 -43928824704744:43928824705361 26045:26045 hsa_system_get_info(2, 0x1d4b438) = 0 -43928824706109:43928824706726 26045:26045 hsa_system_get_info(2, 0x1d4b440) = 0 -43928824707474:43928824708101 26045:26045 hsa_system_get_info(2, 0x1d4b448) = 0 -43928824708848:43928824709465 26045:26045 hsa_system_get_info(2, 0x1d4b450) = 0 -43928824710967:43928824711595 26045:26045 hsa_system_get_info(2, 0x1d4b458) = 0 -43928824712339:43928824712957 26045:26045 hsa_system_get_info(2, 0x1d4b460) = 0 -43928824713707:43928824714324 26045:26045 hsa_system_get_info(2, 0x1d4b468) = 0 -43928824715070:43928824715692 26045:26045 hsa_system_get_info(2, 0x1d4b470) = 0 -43928824716440:43928824717059 26045:26045 hsa_system_get_info(2, 0x1d4b478) = 0 -43928824717803:43928824718421 26045:26045 hsa_system_get_info(2, 0x1d4b480) = 0 -43928824719170:43928824719793 26045:26045 hsa_system_get_info(2, 0x1d4b488) = 0 -43928824720541:43928824721169 26045:26045 hsa_system_get_info(2, 0x1d4b490) = 0 -43928824721913:43928824722535 26045:26045 hsa_system_get_info(2, 0x1d4b498) = 0 -43928824723283:43928824723904 26045:26045 hsa_system_get_info(2, 0x1d4b4a0) = 0 -43928824724647:43928824725267 26045:26045 hsa_system_get_info(2, 0x1d4b4a8) = 0 -43928824726012:43928824726630 26045:26045 hsa_system_get_info(2, 0x1d4b4b0) = 0 -43928824727376:43928824728007 26045:26045 hsa_system_get_info(2, 0x1d4b4b8) = 0 -43928824728752:43928824729369 26045:26045 hsa_system_get_info(2, 0x1d4b4c0) = 0 -43928824730115:43928824730733 26045:26045 hsa_system_get_info(2, 0x1d4b4c8) = 0 -43928824731480:43928824732095 26045:26045 hsa_system_get_info(2, 0x1d4b4d0) = 0 -43928824732839:43928824733460 26045:26045 hsa_system_get_info(2, 0x1d4b4d8) = 0 -43928824734205:43928824734823 26045:26045 hsa_system_get_info(2, 0x1d4b4e0) = 0 -43928824735567:43928824736189 26045:26045 hsa_system_get_info(2, 0x1d4b4e8) = 0 -43928824736931:43928824737551 26045:26045 hsa_system_get_info(2, 0x1d4b4f0) = 0 -43928824738297:43928824738917 26045:26045 hsa_system_get_info(2, 0x1d4b4f8) = 0 -43928824739662:43928824740282 26045:26045 hsa_system_get_info(2, 0x1d4b500) = 0 -43928824741029:43928824741645 26045:26045 hsa_system_get_info(2, 0x1d4b508) = 0 -43928824742391:43928824743007 26045:26045 hsa_system_get_info(2, 0x1d4b510) = 0 -43928824743754:43928824744375 26045:26045 hsa_system_get_info(2, 0x1d4b518) = 0 -43928824745121:43928824745738 26045:26045 hsa_system_get_info(2, 0x1d4b520) = 0 -43928824746483:43928824747105 26045:26045 hsa_system_get_info(2, 0x1d4b528) = 0 -43928824747869:43928824748488 26045:26045 hsa_system_get_info(2, 0x1d4b530) = 0 -43928824749940:43928824750565 26045:26045 hsa_system_get_info(2, 0x1d4b538) = 0 -43928824751325:43928824751945 26045:26045 hsa_system_get_info(2, 0x1d4b540) = 0 -43928824752692:43928824753316 26045:26045 hsa_system_get_info(2, 0x1d4b548) = 0 -43928824754061:43928824754682 26045:26045 hsa_system_get_info(2, 0x1d4b550) = 0 -43928824755429:43928824756050 26045:26045 hsa_system_get_info(2, 0x1d4b558) = 0 -43928824756795:43928824757413 26045:26045 hsa_system_get_info(2, 0x1d4b560) = 0 -43928824758162:43928824758781 26045:26045 hsa_system_get_info(2, 0x1d4b568) = 0 -43928824759525:43928824760146 26045:26045 hsa_system_get_info(2, 0x1d4b570) = 0 -43928824760912:43928824761526 26045:26045 hsa_system_get_info(2, 0x1d4b578) = 0 -43928824762273:43928824762894 26045:26045 hsa_system_get_info(2, 0x1d4b580) = 0 -43928824763639:43928824764259 26045:26045 hsa_system_get_info(2, 0x1d4b588) = 0 -43928824765006:43928824765624 26045:26045 hsa_system_get_info(2, 0x1d4b590) = 0 -43928824766367:43928824766990 26045:26045 hsa_system_get_info(2, 0x1d4b598) = 0 -43928824767741:43928824768369 26045:26045 hsa_system_get_info(2, 0x1d4b5a0) = 0 -43928824769120:43928824769742 26045:26045 hsa_system_get_info(2, 0x1d4b5a8) = 0 -43928824770489:43928824771113 26045:26045 hsa_system_get_info(2, 0x1d4b5b0) = 0 -43928824771862:43928824772487 26045:26045 hsa_system_get_info(2, 0x1d4b5b8) = 0 -43928824773232:43928824773855 26045:26045 hsa_system_get_info(2, 0x1d4b5c0) = 0 -43928824774601:43928824775224 26045:26045 hsa_system_get_info(2, 0x1d4b5c8) = 0 -43928824775972:43928824776593 26045:26045 hsa_system_get_info(2, 0x1d4b5d0) = 0 -43928824777340:43928824777952 26045:26045 hsa_system_get_info(2, 0x1d4b5d8) = 0 -43928824778702:43928824779324 26045:26045 hsa_system_get_info(2, 0x1d4b5e0) = 0 -43928824780071:43928824780713 26045:26045 hsa_system_get_info(2, 0x1d4b5e8) = 0 -43928824781459:43928824782084 26045:26045 hsa_system_get_info(2, 0x1d4b5f0) = 0 -43928824782833:43928824783453 26045:26045 hsa_system_get_info(2, 0x1d4b5f8) = 0 -43928824784200:43928824784821 26045:26045 hsa_system_get_info(2, 0x1d4b600) = 0 -43928824785572:43928824786195 26045:26045 hsa_system_get_info(2, 0x1d4b608) = 0 -43928824786969:43928824787591 26045:26045 hsa_system_get_info(2, 0x1d4b610) = 0 -43928824788340:43928824788964 26045:26045 hsa_system_get_info(2, 0x1d4b618) = 0 -43928824790477:43928824791097 26045:26045 hsa_system_get_info(2, 0x1d4b620) = 0 -43928824791844:43928824792462 26045:26045 hsa_system_get_info(2, 0x1d4b628) = 0 -43928824793211:43928824793830 26045:26045 hsa_system_get_info(2, 0x1d4b630) = 0 -43928824794575:43928824795191 26045:26045 hsa_system_get_info(2, 0x1d4b638) = 0 -43928824795934:43928824796553 26045:26045 hsa_system_get_info(2, 0x1d4b640) = 0 -43928824797301:43928824797921 26045:26045 hsa_system_get_info(2, 0x1d4b648) = 0 -43928824798668:43928824799286 26045:26045 hsa_system_get_info(2, 0x1d4b650) = 0 -43928824800033:43928824800654 26045:26045 hsa_system_get_info(2, 0x1d4b658) = 0 -43928824801399:43928824802018 26045:26045 hsa_system_get_info(2, 0x1d4b660) = 0 -43928824802764:43928824803380 26045:26045 hsa_system_get_info(2, 0x1d4b668) = 0 -43928824804122:43928824804745 26045:26045 hsa_system_get_info(2, 0x1d4b670) = 0 -43928824805492:43928824806109 26045:26045 hsa_system_get_info(2, 0x1d4b678) = 0 -43928824806857:43928824807477 26045:26045 hsa_system_get_info(2, 0x1d4b680) = 0 -43928824808237:43928824808855 26045:26045 hsa_system_get_info(2, 0x1d4b688) = 0 -43928824809605:43928824810230 26045:26045 hsa_system_get_info(2, 0x1d4b690) = 0 -43928824810980:43928824811596 26045:26045 hsa_system_get_info(2, 0x1d4b698) = 0 -43928824812342:43928824812962 26045:26045 hsa_system_get_info(2, 0x1d4b6a0) = 0 -43928824813713:43928824814335 26045:26045 hsa_system_get_info(2, 0x1d4b6a8) = 0 -43928824815083:43928824815704 26045:26045 hsa_system_get_info(2, 0x1d4b6b0) = 0 -43928824816449:43928824817066 26045:26045 hsa_system_get_info(2, 0x1d4b6b8) = 0 -43928824817819:43928824818438 26045:26045 hsa_system_get_info(2, 0x1d4b6c0) = 0 -43928824819180:43928824819799 26045:26045 hsa_system_get_info(2, 0x1d4b6c8) = 0 -43928824820549:43928824821171 26045:26045 hsa_system_get_info(2, 0x1d4b6d0) = 0 -43928824821918:43928824822539 26045:26045 hsa_system_get_info(2, 0x1d4b6d8) = 0 -43928824823289:43928824823908 26045:26045 hsa_system_get_info(2, 0x1d4b6e0) = 0 -43928824824654:43928824825280 26045:26045 hsa_system_get_info(2, 0x1d4b6e8) = 0 -43928824826030:43928824826650 26045:26045 hsa_system_get_info(2, 0x1d4b6f0) = 0 -43928824827405:43928824828042 26045:26045 hsa_system_get_info(2, 0x1d4b6f8) = 0 -43928824829561:43928824830182 26045:26045 hsa_system_get_info(2, 0x1d4b700) = 0 -43928824830932:43928824831552 26045:26045 hsa_system_get_info(2, 0x1d4b708) = 0 -43928824832296:43928824832921 26045:26045 hsa_system_get_info(2, 0x1d4b710) = 0 -43928824833672:43928824834295 26045:26045 hsa_system_get_info(2, 0x1d4b718) = 0 -43928824835044:43928824835665 26045:26045 hsa_system_get_info(2, 0x1d4b720) = 0 -43928824836411:43928824837029 26045:26045 hsa_system_get_info(2, 0x1d4b728) = 0 -43928824837775:43928824838396 26045:26045 hsa_system_get_info(2, 0x1d4b730) = 0 -43928824839142:43928824839766 26045:26045 hsa_system_get_info(2, 0x1d4b738) = 0 -43928824840513:43928824841137 26045:26045 hsa_system_get_info(2, 0x1d4b740) = 0 -43928824841887:43928824842508 26045:26045 hsa_system_get_info(2, 0x1d4b748) = 0 -43928824843258:43928824843879 26045:26045 hsa_system_get_info(2, 0x1d4b750) = 0 -43928824844625:43928824845249 26045:26045 hsa_system_get_info(2, 0x1d4b758) = 0 -43928824846009:43928824846629 26045:26045 hsa_system_get_info(2, 0x1d4b760) = 0 -43928824847374:43928824848001 26045:26045 hsa_system_get_info(2, 0x1d4b768) = 0 -43928824848748:43928824849364 26045:26045 hsa_system_get_info(2, 0x1d4b770) = 0 -43928824850111:43928824850728 26045:26045 hsa_system_get_info(2, 0x1d4b778) = 0 -43928824851475:43928824852095 26045:26045 hsa_system_get_info(2, 0x1d4b780) = 0 -43928824852843:43928824853464 26045:26045 hsa_system_get_info(2, 0x1d4b788) = 0 -43928824854208:43928824854827 26045:26045 hsa_system_get_info(2, 0x1d4b790) = 0 -43928824855574:43928824856189 26045:26045 hsa_system_get_info(2, 0x1d4b798) = 0 -43928824856939:43928824857557 26045:26045 hsa_system_get_info(2, 0x1d4b7a0) = 0 -43928824858301:43928824858920 26045:26045 hsa_system_get_info(2, 0x1d4b7a8) = 0 -43928824859668:43928824860287 26045:26045 hsa_system_get_info(2, 0x1d4b7b0) = 0 -43928824861033:43928824861653 26045:26045 hsa_system_get_info(2, 0x1d4b7b8) = 0 -43928824862404:43928824863030 26045:26045 hsa_system_get_info(2, 0x1d4b7c0) = 0 -43928824863773:43928824864390 26045:26045 hsa_system_get_info(2, 0x1d4b7c8) = 0 -43928824865136:43928824865754 26045:26045 hsa_system_get_info(2, 0x1d4b7d0) = 0 -43928824866535:43928824867152 26045:26045 hsa_system_get_info(2, 0x1d4b7d8) = 0 -43928824867896:43928824868515 26045:26045 hsa_system_get_info(2, 0x1d4b7e0) = 0 -43928824869994:43928824870619 26045:26045 hsa_system_get_info(2, 0x1d4b7e8) = 0 -43928824871365:43928824871990 26045:26045 hsa_system_get_info(2, 0x1d4b7f0) = 0 -43928824872738:43928824873361 26045:26045 hsa_system_get_info(2, 0x1d4b7f8) = 0 -43928824874108:43928824874732 26045:26045 hsa_system_get_info(2, 0x1d4b800) = 0 -43928824875480:43928824876107 26045:26045 hsa_system_get_info(2, 0x1d4b808) = 0 -43928824876854:43928824877480 26045:26045 hsa_system_get_info(2, 0x1d4b810) = 0 -43928824878224:43928824878850 26045:26045 hsa_system_get_info(2, 0x1d4b818) = 0 -43928824879594:43928824880215 26045:26045 hsa_system_get_info(2, 0x1d4b820) = 0 -43928824880963:43928824881582 26045:26045 hsa_system_get_info(2, 0x1d4b828) = 0 -43928824882331:43928824882951 26045:26045 hsa_system_get_info(2, 0x1d4b830) = 0 -43928824883701:43928824884318 26045:26045 hsa_system_get_info(2, 0x1d4b838) = 0 -43928824885065:43928824885686 26045:26045 hsa_system_get_info(2, 0x1d4b840) = 0 -43928824886435:43928824887056 26045:26045 hsa_system_get_info(2, 0x1d4b848) = 0 -43928824887814:43928824888434 26045:26045 hsa_system_get_info(2, 0x1d4b850) = 0 -43928824889184:43928824889800 26045:26045 hsa_system_get_info(2, 0x1d4b858) = 0 -43928824890548:43928824891168 26045:26045 hsa_system_get_info(2, 0x1d4b860) = 0 -43928824891919:43928824892538 26045:26045 hsa_system_get_info(2, 0x1d4b868) = 0 -43928824893286:43928824893907 26045:26045 hsa_system_get_info(2, 0x1d4b870) = 0 -43928824894652:43928824895268 26045:26045 hsa_system_get_info(2, 0x1d4b878) = 0 -43928824896018:43928824896636 26045:26045 hsa_system_get_info(2, 0x1d4b880) = 0 -43928824897382:43928824897996 26045:26045 hsa_system_get_info(2, 0x1d4b888) = 0 -43928824898745:43928824899366 26045:26045 hsa_system_get_info(2, 0x1d4b890) = 0 -43928824900113:43928824900732 26045:26045 hsa_system_get_info(2, 0x1d4b898) = 0 -43928824901481:43928824902098 26045:26045 hsa_system_get_info(2, 0x1d4b8a0) = 0 -43928824902845:43928824903469 26045:26045 hsa_system_get_info(2, 0x1d4b8a8) = 0 -43928824904216:43928824904837 26045:26045 hsa_system_get_info(2, 0x1d4b8b0) = 0 -43928824905581:43928824906220 26045:26045 hsa_system_get_info(2, 0x1d4b8b8) = 0 -43928824906975:43928824907589 26045:26045 hsa_system_get_info(2, 0x1d4b8c0) = 0 -43928824909051:43928824909671 26045:26045 hsa_system_get_info(2, 0x1d4b8c8) = 0 -43928824910418:43928824911039 26045:26045 hsa_system_get_info(2, 0x1d4b8d0) = 0 -43928824911783:43928824912401 26045:26045 hsa_system_get_info(2, 0x1d4b8d8) = 0 -43928824913154:43928824913775 26045:26045 hsa_system_get_info(2, 0x1d4b8e0) = 0 -43928824914523:43928824915140 26045:26045 hsa_system_get_info(2, 0x1d4b8e8) = 0 -43928824915889:43928824916509 26045:26045 hsa_system_get_info(2, 0x1d4b8f0) = 0 -43928824917255:43928824917872 26045:26045 hsa_system_get_info(2, 0x1d4b8f8) = 0 -43928824918617:43928824919237 26045:26045 hsa_system_get_info(2, 0x1d4b900) = 0 -43928824919986:43928824920609 26045:26045 hsa_system_get_info(2, 0x1d4b908) = 0 -43928824921359:43928824921983 26045:26045 hsa_system_get_info(2, 0x1d4b910) = 0 -43928824922729:43928824923354 26045:26045 hsa_system_get_info(2, 0x1d4b918) = 0 -43928824924098:43928824924717 26045:26045 hsa_system_get_info(2, 0x1d4b920) = 0 -43928824925462:43928824926085 26045:26045 hsa_system_get_info(2, 0x1d4b928) = 0 -43928824926850:43928824927467 26045:26045 hsa_system_get_info(2, 0x1d4b930) = 0 -43928824928211:43928824928832 26045:26045 hsa_system_get_info(2, 0x1d4b938) = 0 -43928824929579:43928824930199 26045:26045 hsa_system_get_info(2, 0x1d4b940) = 0 -43928824930945:43928824931571 26045:26045 hsa_system_get_info(2, 0x1d4b948) = 0 -43928824932316:43928824932935 26045:26045 hsa_system_get_info(2, 0x1d4b950) = 0 -43928824933683:43928824934302 26045:26045 hsa_system_get_info(2, 0x1d4b958) = 0 -43928824935051:43928824935670 26045:26045 hsa_system_get_info(2, 0x1d4b960) = 0 -43928824936417:43928824937035 26045:26045 hsa_system_get_info(2, 0x1d4b968) = 0 -43928824937784:43928824938404 26045:26045 hsa_system_get_info(2, 0x1d4b970) = 0 -43928824939146:43928824939766 26045:26045 hsa_system_get_info(2, 0x1d4b978) = 0 -43928824940514:43928824941134 26045:26045 hsa_system_get_info(2, 0x1d4b980) = 0 -43928824941880:43928824942502 26045:26045 hsa_system_get_info(2, 0x1d4b988) = 0 -43928824943252:43928824943869 26045:26045 hsa_system_get_info(2, 0x1d4b990) = 0 -43928824944632:43928824945252 26045:26045 hsa_system_get_info(2, 0x1d4b998) = 0 -43928824946013:43928824946637 26045:26045 hsa_system_get_info(2, 0x1d4b9a0) = 0 -43928824947383:43928824948005 26045:26045 hsa_system_get_info(2, 0x1d4b9a8) = 0 -43928824949482:43928824950111 26045:26045 hsa_system_get_info(2, 0x1d4b9b0) = 0 -43928824950864:43928824951506 26045:26045 hsa_system_get_info(2, 0x1d4b9b8) = 0 -43928824952260:43928824952877 26045:26045 hsa_system_get_info(2, 0x1d4b9c0) = 0 -43928824953622:43928824954245 26045:26045 hsa_system_get_info(2, 0x1d4b9c8) = 0 -43928824954993:43928824955614 26045:26045 hsa_system_get_info(2, 0x1d4b9d0) = 0 -43928824956364:43928824956989 26045:26045 hsa_system_get_info(2, 0x1d4b9d8) = 0 -43928824957738:43928824958361 26045:26045 hsa_system_get_info(2, 0x1d4b9e0) = 0 -43928824959111:43928824959730 26045:26045 hsa_system_get_info(2, 0x1d4b9e8) = 0 -43928824960476:43928824961100 26045:26045 hsa_system_get_info(2, 0x1d4b9f0) = 0 -43928824961851:43928824962470 26045:26045 hsa_system_get_info(2, 0x1d4b9f8) = 0 -43928824963219:43928824963833 26045:26045 hsa_system_get_info(2, 0x1d4ba00) = 0 -43928824964581:43928824965204 26045:26045 hsa_system_get_info(2, 0x1d4ba08) = 0 -43928824965952:43928824966570 26045:26045 hsa_system_get_info(2, 0x1d4ba10) = 0 -43928824967316:43928824967939 26045:26045 hsa_system_get_info(2, 0x1d4ba18) = 0 -43928824968686:43928824969304 26045:26045 hsa_system_get_info(2, 0x1d4ba20) = 0 -43928824970050:43928824970668 26045:26045 hsa_system_get_info(2, 0x1d4ba28) = 0 -43928824971431:43928824972045 26045:26045 hsa_system_get_info(2, 0x1d4ba30) = 0 -43928824972792:43928824973415 26045:26045 hsa_system_get_info(2, 0x1d4ba38) = 0 -43928824974160:43928824974780 26045:26045 hsa_system_get_info(2, 0x1d4ba40) = 0 -43928824975526:43928824976151 26045:26045 hsa_system_get_info(2, 0x1d4ba48) = 0 -43928824976898:43928824977520 26045:26045 hsa_system_get_info(2, 0x1d4ba50) = 0 -43928824978270:43928824978890 26045:26045 hsa_system_get_info(2, 0x1d4ba58) = 0 -43928824979638:43928824980259 26045:26045 hsa_system_get_info(2, 0x1d4ba60) = 0 -43928824981008:43928824981623 26045:26045 hsa_system_get_info(2, 0x1d4ba68) = 0 -43928824982370:43928824982984 26045:26045 hsa_system_get_info(2, 0x1d4ba70) = 0 -43928824983732:43928824984353 26045:26045 hsa_system_get_info(2, 0x1d4ba78) = 0 -43928824985101:43928824985722 26045:26045 hsa_system_get_info(2, 0x1d4ba80) = 0 -43928824986472:43928824987090 26045:26045 hsa_system_get_info(2, 0x1d4ba88) = 0 -43928824988553:43928824989169 26045:26045 hsa_system_get_info(2, 0x1d4ba90) = 0 -43928824989918:43928824990542 26045:26045 hsa_system_get_info(2, 0x1d4ba98) = 0 -43928824991287:43928824991906 26045:26045 hsa_system_get_info(2, 0x1d4baa0) = 0 -43928824992649:43928824993269 26045:26045 hsa_system_get_info(2, 0x1d4baa8) = 0 -43928824994017:43928824994639 26045:26045 hsa_system_get_info(2, 0x1d4bab0) = 0 -43928824995386:43928824996002 26045:26045 hsa_system_get_info(2, 0x1d4bab8) = 0 -43928824996750:43928824997371 26045:26045 hsa_system_get_info(2, 0x1d4bac0) = 0 -43928824998119:43928824998738 26045:26045 hsa_system_get_info(2, 0x1d4bac8) = 0 -43928824999485:43928825000109 26045:26045 hsa_system_get_info(2, 0x1d4bad0) = 0 -43928825000855:43928825001479 26045:26045 hsa_system_get_info(2, 0x1d4bad8) = 0 -43928825002224:43928825002846 26045:26045 hsa_system_get_info(2, 0x1d4bae0) = 0 -43928825003593:43928825004212 26045:26045 hsa_system_get_info(2, 0x1d4bae8) = 0 -43928825004960:43928825005595 26045:26045 hsa_system_get_info(2, 0x1d4baf0) = 0 -43928825006342:43928825006959 26045:26045 hsa_system_get_info(2, 0x1d4baf8) = 0 -43928825007707:43928825008326 26045:26045 hsa_system_get_info(2, 0x1d4bb00) = 0 -43928825009073:43928825009690 26045:26045 hsa_system_get_info(2, 0x1d4bb08) = 0 -43928825010439:43928825011060 26045:26045 hsa_system_get_info(2, 0x1d4bb10) = 0 -43928825011808:43928825012425 26045:26045 hsa_system_get_info(2, 0x1d4bb18) = 0 -43928825013172:43928825013795 26045:26045 hsa_system_get_info(2, 0x1d4bb20) = 0 -43928825014542:43928825015159 26045:26045 hsa_system_get_info(2, 0x1d4bb28) = 0 -43928825015907:43928825016528 26045:26045 hsa_system_get_info(2, 0x1d4bb30) = 0 -43928825017272:43928825017899 26045:26045 hsa_system_get_info(2, 0x1d4bb38) = 0 -43928825018642:43928825019259 26045:26045 hsa_system_get_info(2, 0x1d4bb40) = 0 -43928825020006:43928825020625 26045:26045 hsa_system_get_info(2, 0x1d4bb48) = 0 -43928825021371:43928825021994 26045:26045 hsa_system_get_info(2, 0x1d4bb50) = 0 -43928825022741:43928825023363 26045:26045 hsa_system_get_info(2, 0x1d4bb58) = 0 -43928825024109:43928825024728 26045:26045 hsa_system_get_info(2, 0x1d4bb60) = 0 -43928825025495:43928825026109 26045:26045 hsa_system_get_info(2, 0x1d4bb68) = 0 -43928825026860:43928825027480 26045:26045 hsa_system_get_info(2, 0x1d4bb70) = 0 -43928825028935:43928825029559 26045:26045 hsa_system_get_info(2, 0x1d4bb78) = 0 -43928825030310:43928825030931 26045:26045 hsa_system_get_info(2, 0x1d4bb80) = 0 -43928825031677:43928825032299 26045:26045 hsa_system_get_info(2, 0x1d4bb88) = 0 -43928825033044:43928825033669 26045:26045 hsa_system_get_info(2, 0x1d4bb90) = 0 -43928825034417:43928825035034 26045:26045 hsa_system_get_info(2, 0x1d4bb98) = 0 -43928825035791:43928825036413 26045:26045 hsa_system_get_info(2, 0x1d4bba0) = 0 -43928825037161:43928825037777 26045:26045 hsa_system_get_info(2, 0x1d4bba8) = 0 -43928825038526:43928825039150 26045:26045 hsa_system_get_info(2, 0x1d4bbb0) = 0 -43928825039898:43928825040517 26045:26045 hsa_system_get_info(2, 0x1d4bbb8) = 0 -43928825041265:43928825041884 26045:26045 hsa_system_get_info(2, 0x1d4bbc0) = 0 -43928825042633:43928825043253 26045:26045 hsa_system_get_info(2, 0x1d4bbc8) = 0 -43928825043999:43928825044624 26045:26045 hsa_system_get_info(2, 0x1d4bbd0) = 0 -43928825045369:43928825045990 26045:26045 hsa_system_get_info(2, 0x1d4bbd8) = 0 -43928825046755:43928825047378 26045:26045 hsa_system_get_info(2, 0x1d4bbe0) = 0 -43928825048127:43928825048750 26045:26045 hsa_system_get_info(2, 0x1d4bbe8) = 0 -43928825049500:43928825050121 26045:26045 hsa_system_get_info(2, 0x1d4bbf0) = 0 -43928825050870:43928825051494 26045:26045 hsa_system_get_info(2, 0x1d4bbf8) = 0 -43928825052248:43928825052869 26045:26045 hsa_system_get_info(2, 0x1d4bc00) = 0 -43928825053619:43928825054244 26045:26045 hsa_system_get_info(2, 0x1d4bc08) = 0 -43928825054987:43928825055610 26045:26045 hsa_system_get_info(2, 0x1d4bc10) = 0 -43928825056355:43928825056977 26045:26045 hsa_system_get_info(2, 0x1d4bc18) = 0 -43928825057725:43928825058346 26045:26045 hsa_system_get_info(2, 0x1d4bc20) = 0 -43928825059093:43928825059709 26045:26045 hsa_system_get_info(2, 0x1d4bc28) = 0 -43928825060459:43928825061080 26045:26045 hsa_system_get_info(2, 0x1d4bc30) = 0 -43928825061829:43928825062447 26045:26045 hsa_system_get_info(2, 0x1d4bc38) = 0 -43928825063210:43928825063830 26045:26045 hsa_system_get_info(2, 0x1d4bc40) = 0 -43928825064576:43928825065191 26045:26045 hsa_system_get_info(2, 0x1d4bc48) = 0 -43928825065941:43928825066568 26045:26045 hsa_system_get_info(2, 0x1d4bc50) = 0 -43928825068028:43928825068651 26045:26045 hsa_system_get_info(2, 0x1d4bc58) = 0 -43928825069398:43928825070024 26045:26045 hsa_system_get_info(2, 0x1d4bc60) = 0 -43928825070768:43928825071380 26045:26045 hsa_system_get_info(2, 0x1d4bc68) = 0 -43928825072126:43928825072749 26045:26045 hsa_system_get_info(2, 0x1d4bc70) = 0 -43928825073496:43928825074115 26045:26045 hsa_system_get_info(2, 0x1d4bc78) = 0 -43928825074864:43928825075484 26045:26045 hsa_system_get_info(2, 0x1d4bc80) = 0 -43928825076229:43928825076849 26045:26045 hsa_system_get_info(2, 0x1d4bc88) = 0 -43928825077602:43928825078223 26045:26045 hsa_system_get_info(2, 0x1d4bc90) = 0 -43928825078970:43928825079590 26045:26045 hsa_system_get_info(2, 0x1d4bc98) = 0 -43928825080339:43928825080959 26045:26045 hsa_system_get_info(2, 0x1d4bca0) = 0 -43928825081710:43928825082328 26045:26045 hsa_system_get_info(2, 0x1d4bca8) = 0 -43928825083078:43928825083701 26045:26045 hsa_system_get_info(2, 0x1d4bcb0) = 0 -43928825084449:43928825085067 26045:26045 hsa_system_get_info(2, 0x1d4bcb8) = 0 -43928825085831:43928825086451 26045:26045 hsa_system_get_info(2, 0x1d4bcc0) = 0 -43928825087195:43928825087822 26045:26045 hsa_system_get_info(2, 0x1d4bcc8) = 0 -43928825088566:43928825089183 26045:26045 hsa_system_get_info(2, 0x1d4bcd0) = 0 -43928825089933:43928825090555 26045:26045 hsa_system_get_info(2, 0x1d4bcd8) = 0 -43928825091303:43928825091921 26045:26045 hsa_system_get_info(2, 0x1d4bce0) = 0 -43928825092666:43928825093288 26045:26045 hsa_system_get_info(2, 0x1d4bce8) = 0 -43928825094037:43928825094652 26045:26045 hsa_system_get_info(2, 0x1d4bcf0) = 0 -43928825095396:43928825096024 26045:26045 hsa_system_get_info(2, 0x1d4bcf8) = 0 -43928825096773:43928825097389 26045:26045 hsa_system_get_info(2, 0x1d4bd00) = 0 -43928825098139:43928825098758 26045:26045 hsa_system_get_info(2, 0x1d4bd08) = 0 -43928825099506:43928825100128 26045:26045 hsa_system_get_info(2, 0x1d4bd10) = 0 -43928825100875:43928825101491 26045:26045 hsa_system_get_info(2, 0x1d4bd18) = 0 -43928825102239:43928825102858 26045:26045 hsa_system_get_info(2, 0x1d4bd20) = 0 -43928825103602:43928825104222 26045:26045 hsa_system_get_info(2, 0x1d4bd28) = 0 -43928825104984:43928825105606 26045:26045 hsa_system_get_info(2, 0x1d4bd30) = 0 -43928825107069:43928825107701 26045:26045 hsa_system_get_info(2, 0x1d4bd38) = 0 -43928825108446:43928825109072 26045:26045 hsa_system_get_info(2, 0x1d4bd40) = 0 -43928825109831:43928825110456 26045:26045 hsa_system_get_info(2, 0x1d4bd48) = 0 -43928825111207:43928825111832 26045:26045 hsa_system_get_info(2, 0x1d4bd50) = 0 -43928825112580:43928825113198 26045:26045 hsa_system_get_info(2, 0x1d4bd58) = 0 -43928825113949:43928825114571 26045:26045 hsa_system_get_info(2, 0x1d4bd60) = 0 -43928825115321:43928825115949 26045:26045 hsa_system_get_info(2, 0x1d4bd68) = 0 -43928825116700:43928825117317 26045:26045 hsa_system_get_info(2, 0x1d4bd70) = 0 -43928825118066:43928825118686 26045:26045 hsa_system_get_info(2, 0x1d4bd78) = 0 -43928825119433:43928825120056 26045:26045 hsa_system_get_info(2, 0x1d4bd80) = 0 -43928825120804:43928825121429 26045:26045 hsa_system_get_info(2, 0x1d4bd88) = 0 -43928825122173:43928825122795 26045:26045 hsa_system_get_info(2, 0x1d4bd90) = 0 -43928825123543:43928825124166 26045:26045 hsa_system_get_info(2, 0x1d4bd98) = 0 -43928825124913:43928825125532 26045:26045 hsa_system_get_info(2, 0x1d4bda0) = 0 -43928825126278:43928825126900 26045:26045 hsa_system_get_info(2, 0x1d4bda8) = 0 -43928825127651:43928825128266 26045:26045 hsa_system_get_info(2, 0x1d4bdb0) = 0 -43928825129015:43928825129632 26045:26045 hsa_system_get_info(2, 0x1d4bdb8) = 0 -43928825130397:43928825131015 26045:26045 hsa_system_get_info(2, 0x1d4bdc0) = 0 -43928825131761:43928825132379 26045:26045 hsa_system_get_info(2, 0x1d4bdc8) = 0 -43928825133130:43928825133749 26045:26045 hsa_system_get_info(2, 0x1d4bdd0) = 0 -43928825134496:43928825135112 26045:26045 hsa_system_get_info(2, 0x1d4bdd8) = 0 -43928825135860:43928825136479 26045:26045 hsa_system_get_info(2, 0x1d4bde0) = 0 -43928825137228:43928825137843 26045:26045 hsa_system_get_info(2, 0x1d4bde8) = 0 -43928825138587:43928825139205 26045:26045 hsa_system_get_info(2, 0x1d4bdf0) = 0 -43928825139953:43928825140572 26045:26045 hsa_system_get_info(2, 0x1d4bdf8) = 0 -43928825141321:43928825141939 26045:26045 hsa_system_get_info(2, 0x1d4be00) = 0 -43928825142686:43928825143311 26045:26045 hsa_system_get_info(2, 0x1d4be08) = 0 -43928825144068:43928825144688 26045:26045 hsa_system_get_info(2, 0x1d4be10) = 0 -43928825145435:43928825146056 26045:26045 hsa_system_get_info(2, 0x1d4be18) = 0 -43928825148259:43928825148896 26045:26045 hsa_system_get_info(2, 0x1d4be20) = 0 -43928825149646:43928825150266 26045:26045 hsa_system_get_info(2, 0x1d4be28) = 0 -43928825151011:43928825151640 26045:26045 hsa_system_get_info(2, 0x1d4be30) = 0 -43928825152389:43928825153013 26045:26045 hsa_system_get_info(2, 0x1d4be38) = 0 -43928825153761:43928825154386 26045:26045 hsa_system_get_info(2, 0x1d4be40) = 0 -43928825155133:43928825155760 26045:26045 hsa_system_get_info(2, 0x1d4be48) = 0 -43928825156507:43928825157129 26045:26045 hsa_system_get_info(2, 0x1d4be50) = 0 -43928825157882:43928825158499 26045:26045 hsa_system_get_info(2, 0x1d4be58) = 0 -43928825159245:43928825159864 26045:26045 hsa_system_get_info(2, 0x1d4be60) = 0 -43928825160611:43928825161230 26045:26045 hsa_system_get_info(2, 0x1d4be68) = 0 -43928825161976:43928825162597 26045:26045 hsa_system_get_info(2, 0x1d4be70) = 0 -43928825163345:43928825163966 26045:26045 hsa_system_get_info(2, 0x1d4be78) = 0 -43928825164735:43928825165353 26045:26045 hsa_system_get_info(2, 0x1d4be80) = 0 -43928825166103:43928825166721 26045:26045 hsa_system_get_info(2, 0x1d4be88) = 0 -43928825167469:43928825168092 26045:26045 hsa_system_get_info(2, 0x1d4be90) = 0 -43928825168842:43928825169459 26045:26045 hsa_system_get_info(2, 0x1d4be98) = 0 -43928825170208:43928825170833 26045:26045 hsa_system_get_info(2, 0x1d4bea0) = 0 -43928825171582:43928825172203 26045:26045 hsa_system_get_info(2, 0x1d4bea8) = 0 -43928825172954:43928825173575 26045:26045 hsa_system_get_info(2, 0x1d4beb0) = 0 -43928825174325:43928825174949 26045:26045 hsa_system_get_info(2, 0x1d4beb8) = 0 -43928825175696:43928825176320 26045:26045 hsa_system_get_info(2, 0x1d4bec0) = 0 -43928825177067:43928825177690 26045:26045 hsa_system_get_info(2, 0x1d4bec8) = 0 -43928825178440:43928825179063 26045:26045 hsa_system_get_info(2, 0x1d4bed0) = 0 -43928825179812:43928825180434 26045:26045 hsa_system_get_info(2, 0x1d4bed8) = 0 -43928825181182:43928825181804 26045:26045 hsa_system_get_info(2, 0x1d4bee0) = 0 -43928825182566:43928825183188 26045:26045 hsa_system_get_info(2, 0x1d4bee8) = 0 -43928825183938:43928825184559 26045:26045 hsa_system_get_info(2, 0x1d4bef0) = 0 -43928825185311:43928825185935 26045:26045 hsa_system_get_info(2, 0x1d4bef8) = 0 -43928825187397:43928825188026 26045:26045 hsa_system_get_info(2, 0x1d4bf00) = 0 -43928825188770:43928825189392 26045:26045 hsa_system_get_info(2, 0x1d4bf08) = 0 -43928825190142:43928825190758 26045:26045 hsa_system_get_info(2, 0x1d4bf10) = 0 -43928825191504:43928825192122 26045:26045 hsa_system_get_info(2, 0x1d4bf18) = 0 -43928825192870:43928825193485 26045:26045 hsa_system_get_info(2, 0x1d4bf20) = 0 -43928825194235:43928825194855 26045:26045 hsa_system_get_info(2, 0x1d4bf28) = 0 -43928825195604:43928825196224 26045:26045 hsa_system_get_info(2, 0x1d4bf30) = 0 -43928825196971:43928825197591 26045:26045 hsa_system_get_info(2, 0x1d4bf38) = 0 -43928825198338:43928825198959 26045:26045 hsa_system_get_info(2, 0x1d4bf40) = 0 -43928825199706:43928825200326 26045:26045 hsa_system_get_info(2, 0x1d4bf48) = 0 -43928825201074:43928825201693 26045:26045 hsa_system_get_info(2, 0x1d4bf50) = 0 -43928825202440:43928825203058 26045:26045 hsa_system_get_info(2, 0x1d4bf58) = 0 -43928825203822:43928825204440 26045:26045 hsa_system_get_info(2, 0x1d4bf60) = 0 -43928825205185:43928825205807 26045:26045 hsa_system_get_info(2, 0x1d4bf68) = 0 -43928825206551:43928825207172 26045:26045 hsa_system_get_info(2, 0x1d4bf70) = 0 -43928825207920:43928825208542 26045:26045 hsa_system_get_info(2, 0x1d4bf78) = 0 -43928825209292:43928825209914 26045:26045 hsa_system_get_info(2, 0x1d4bf80) = 0 -43928825210664:43928825211290 26045:26045 hsa_system_get_info(2, 0x1d4bf88) = 0 -43928825212037:43928825212661 26045:26045 hsa_system_get_info(2, 0x1d4bf90) = 0 -43928825213404:43928825214032 26045:26045 hsa_system_get_info(2, 0x1d4bf98) = 0 -43928825214777:43928825215397 26045:26045 hsa_system_get_info(2, 0x1d4bfa0) = 0 -43928825216145:43928825216763 26045:26045 hsa_system_get_info(2, 0x1d4bfa8) = 0 -43928825217509:43928825218136 26045:26045 hsa_system_get_info(2, 0x1d4bfb0) = 0 -43928825218885:43928825219504 26045:26045 hsa_system_get_info(2, 0x1d4bfb8) = 0 -43928825220248:43928825220869 26045:26045 hsa_system_get_info(2, 0x1d4bfc0) = 0 -43928825221617:43928825222237 26045:26045 hsa_system_get_info(2, 0x1d4bfc8) = 0 -43928825222996:43928825223614 26045:26045 hsa_system_get_info(2, 0x1d4bfd0) = 0 -43928825224370:43928825224990 26045:26045 hsa_system_get_info(2, 0x1d4bfd8) = 0 -43928825225739:43928825226358 26045:26045 hsa_system_get_info(2, 0x1d4bfe0) = 0 -43928825227813:43928825228434 26045:26045 hsa_system_get_info(2, 0x1d4bfe8) = 0 -43928825229184:43928825229802 26045:26045 hsa_system_get_info(2, 0x1d4bff0) = 0 -43928825230551:43928825231171 26045:26045 hsa_system_get_info(2, 0x1d4bff8) = 0 -43928825231917:43928825232541 26045:26045 hsa_system_get_info(2, 0x1d4c000) = 0 -43928825233286:43928825233906 26045:26045 hsa_system_get_info(2, 0x1d4c008) = 0 -43928825234654:43928825235276 26045:26045 hsa_system_get_info(2, 0x1d4c010) = 0 -43928825236026:43928825236646 26045:26045 hsa_system_get_info(2, 0x1d4c018) = 0 -43928825237396:43928825238018 26045:26045 hsa_system_get_info(2, 0x1d4c020) = 0 -43928825238768:43928825239388 26045:26045 hsa_system_get_info(2, 0x1d4c028) = 0 -43928825240136:43928825240751 26045:26045 hsa_system_get_info(2, 0x1d4c030) = 0 -43928825241500:43928825242118 26045:26045 hsa_system_get_info(2, 0x1d4c038) = 0 -43928825242864:43928825243487 26045:26045 hsa_system_get_info(2, 0x1d4c040) = 0 -43928825244234:43928825244853 26045:26045 hsa_system_get_info(2, 0x1d4c048) = 0 -43928825245614:43928825246235 26045:26045 hsa_system_get_info(2, 0x1d4c050) = 0 -43928825246982:43928825247604 26045:26045 hsa_system_get_info(2, 0x1d4c058) = 0 -43928825248352:43928825248968 26045:26045 hsa_system_get_info(2, 0x1d4c060) = 0 -43928825249715:43928825250336 26045:26045 hsa_system_get_info(2, 0x1d4c068) = 0 -43928825251078:43928825251700 26045:26045 hsa_system_get_info(2, 0x1d4c070) = 0 -43928825252450:43928825253074 26045:26045 hsa_system_get_info(2, 0x1d4c078) = 0 -43928825253821:43928825254440 26045:26045 hsa_system_get_info(2, 0x1d4c080) = 0 -43928825255187:43928825255806 26045:26045 hsa_system_get_info(2, 0x1d4c088) = 0 -43928825256551:43928825257169 26045:26045 hsa_system_get_info(2, 0x1d4c090) = 0 -43928825257917:43928825258536 26045:26045 hsa_system_get_info(2, 0x1d4c098) = 0 -43928825259282:43928825259899 26045:26045 hsa_system_get_info(2, 0x1d4c0a0) = 0 -43928825260647:43928825261265 26045:26045 hsa_system_get_info(2, 0x1d4c0a8) = 0 -43928825262013:43928825262631 26045:26045 hsa_system_get_info(2, 0x1d4c0b0) = 0 -43928825263379:43928825263994 26045:26045 hsa_system_get_info(2, 0x1d4c0b8) = 0 -43928825264740:43928825265373 26045:26045 hsa_system_get_info(2, 0x1d4c0c0) = 0 -43928825267852:43928825268475 26045:26045 hsa_system_get_info(2, 0x1d4c0c8) = 0 -43928825269223:43928825269846 26045:26045 hsa_system_get_info(2, 0x1d4c0d0) = 0 -43928825270589:43928825271214 26045:26045 hsa_system_get_info(2, 0x1d4c0d8) = 0 -43928825271969:43928825272605 26045:26045 hsa_system_get_info(2, 0x1d4c0e0) = 0 -43928825273351:43928825273972 26045:26045 hsa_system_get_info(2, 0x1d4c0e8) = 0 -43928825274721:43928825275336 26045:26045 hsa_system_get_info(2, 0x1d4c0f0) = 0 -43928825276083:43928825276704 26045:26045 hsa_system_get_info(2, 0x1d4c0f8) = 0 -43928825277448:43928825278068 26045:26045 hsa_system_get_info(2, 0x1d4c100) = 0 -43928825278813:43928825279431 26045:26045 hsa_system_get_info(2, 0x1d4c108) = 0 -43928825280179:43928825280796 26045:26045 hsa_system_get_info(2, 0x1d4c110) = 0 -43928825281546:43928825282162 26045:26045 hsa_system_get_info(2, 0x1d4c118) = 0 -43928825282908:43928825283525 26045:26045 hsa_system_get_info(2, 0x1d4c120) = 0 -43928825284273:43928825284895 26045:26045 hsa_system_get_info(2, 0x1d4c128) = 0 -43928825285643:43928825286262 26045:26045 hsa_system_get_info(2, 0x1d4c130) = 0 -43928825287005:43928825287626 26045:26045 hsa_system_get_info(2, 0x1d4c138) = 0 -43928825288371:43928825288988 26045:26045 hsa_system_get_info(2, 0x1d4c140) = 0 -43928825289736:43928825290352 26045:26045 hsa_system_get_info(2, 0x1d4c148) = 0 -43928825291099:43928825291720 26045:26045 hsa_system_get_info(2, 0x1d4c150) = 0 -43928825292486:43928825293122 26045:26045 hsa_system_get_info(2, 0x1d4c158) = 0 -43928825293869:43928825294492 26045:26045 hsa_system_get_info(2, 0x1d4c160) = 0 -43928825295240:43928825295855 26045:26045 hsa_system_get_info(2, 0x1d4c168) = 0 -43928825296605:43928825297226 26045:26045 hsa_system_get_info(2, 0x1d4c170) = 0 -43928825297974:43928825298596 26045:26045 hsa_system_get_info(2, 0x1d4c178) = 0 -43928825299345:43928825299970 26045:26045 hsa_system_get_info(2, 0x1d4c180) = 0 -43928825300715:43928825301334 26045:26045 hsa_system_get_info(2, 0x1d4c188) = 0 -43928825302081:43928825302699 26045:26045 hsa_system_get_info(2, 0x1d4c190) = 0 -43928825303446:43928825304066 26045:26045 hsa_system_get_info(2, 0x1d4c198) = 0 -43928825304826:43928825305444 26045:26045 hsa_system_get_info(2, 0x1d4c1a0) = 0 -43928825306193:43928825306815 26045:26045 hsa_system_get_info(2, 0x1d4c1a8) = 0 -43928825308302:43928825308928 26045:26045 hsa_system_get_info(2, 0x1d4c1b0) = 0 -43928825309680:43928825310301 26045:26045 hsa_system_get_info(2, 0x1d4c1b8) = 0 -43928825311046:43928825311668 26045:26045 hsa_system_get_info(2, 0x1d4c1c0) = 0 -43928825312418:43928825313038 26045:26045 hsa_system_get_info(2, 0x1d4c1c8) = 0 -43928825313789:43928825314412 26045:26045 hsa_system_get_info(2, 0x1d4c1d0) = 0 -43928825315159:43928825315781 26045:26045 hsa_system_get_info(2, 0x1d4c1d8) = 0 -43928825316530:43928825317151 26045:26045 hsa_system_get_info(2, 0x1d4c1e0) = 0 -43928825317895:43928825318512 26045:26045 hsa_system_get_info(2, 0x1d4c1e8) = 0 -43928825319258:43928825319876 26045:26045 hsa_system_get_info(2, 0x1d4c1f0) = 0 -43928825320624:43928825321243 26045:26045 hsa_system_get_info(2, 0x1d4c1f8) = 0 -43928825321988:43928825322610 26045:26045 hsa_system_get_info(2, 0x1d4c200) = 0 -43928825323357:43928825323977 26045:26045 hsa_system_get_info(2, 0x1d4c208) = 0 -43928825324721:43928825325344 26045:26045 hsa_system_get_info(2, 0x1d4c210) = 0 -43928825326112:43928825326730 26045:26045 hsa_system_get_info(2, 0x1d4c218) = 0 -43928825327477:43928825328091 26045:26045 hsa_system_get_info(2, 0x1d4c220) = 0 -43928825328839:43928825329457 26045:26045 hsa_system_get_info(2, 0x1d4c228) = 0 -43928825330208:43928825330828 26045:26045 hsa_system_get_info(2, 0x1d4c230) = 0 -43928825331571:43928825332195 26045:26045 hsa_system_get_info(2, 0x1d4c238) = 0 -43928825332939:43928825333557 26045:26045 hsa_system_get_info(2, 0x1d4c240) = 0 -43928825334305:43928825334927 26045:26045 hsa_system_get_info(2, 0x1d4c248) = 0 -43928825335677:43928825336294 26045:26045 hsa_system_get_info(2, 0x1d4c250) = 0 -43928825337041:43928825337657 26045:26045 hsa_system_get_info(2, 0x1d4c258) = 0 -43928825338404:43928825339022 26045:26045 hsa_system_get_info(2, 0x1d4c260) = 0 -43928825339769:43928825340388 26045:26045 hsa_system_get_info(2, 0x1d4c268) = 0 -43928825341134:43928825341757 26045:26045 hsa_system_get_info(2, 0x1d4c270) = 0 -43928825342504:43928825343122 26045:26045 hsa_system_get_info(2, 0x1d4c278) = 0 -43928825343870:43928825344495 26045:26045 hsa_system_get_info(2, 0x1d4c280) = 0 -43928825345269:43928825345892 26045:26045 hsa_system_get_info(2, 0x1d4c288) = 0 -43928825347423:43928825348053 26045:26045 hsa_system_get_info(2, 0x1d4c290) = 0 -43928825348801:43928825349422 26045:26045 hsa_system_get_info(2, 0x1d4c298) = 0 -43928825350161:43928825350775 26045:26045 hsa_system_get_info(2, 0x1d4c2a0) = 0 -43928825351520:43928825352137 26045:26045 hsa_system_get_info(2, 0x1d4c2a8) = 0 -43928825352890:43928825353506 26045:26045 hsa_system_get_info(2, 0x1d4c2b0) = 0 -43928825354254:43928825354874 26045:26045 hsa_system_get_info(2, 0x1d4c2b8) = 0 -43928825355617:43928825356240 26045:26045 hsa_system_get_info(2, 0x1d4c2c0) = 0 -43928825356985:43928825357601 26045:26045 hsa_system_get_info(2, 0x1d4c2c8) = 0 -43928825358349:43928825358969 26045:26045 hsa_system_get_info(2, 0x1d4c2d0) = 0 -43928825359718:43928825360348 26045:26045 hsa_system_get_info(2, 0x1d4c2d8) = 0 -43928825361098:43928825361719 26045:26045 hsa_system_get_info(2, 0x1d4c2e0) = 0 -43928825362483:43928825363106 26045:26045 hsa_system_get_info(2, 0x1d4c2e8) = 0 -43928825363852:43928825364474 26045:26045 hsa_system_get_info(2, 0x1d4c2f0) = 0 -43928825365223:43928825365845 26045:26045 hsa_system_get_info(2, 0x1d4c2f8) = 0 -43928825366594:43928825367216 26045:26045 hsa_system_get_info(2, 0x1d4c300) = 0 -43928825367971:43928825368590 26045:26045 hsa_system_get_info(2, 0x1d4c308) = 0 -43928825369337:43928825369962 26045:26045 hsa_system_get_info(2, 0x1d4c310) = 0 -43928825370713:43928825371331 26045:26045 hsa_system_get_info(2, 0x1d4c318) = 0 -43928825372079:43928825372698 26045:26045 hsa_system_get_info(2, 0x1d4c320) = 0 -43928825373446:43928825374068 26045:26045 hsa_system_get_info(2, 0x1d4c328) = 0 -43928825374820:43928825375439 26045:26045 hsa_system_get_info(2, 0x1d4c330) = 0 -43928825376190:43928825376808 26045:26045 hsa_system_get_info(2, 0x1d4c338) = 0 -43928825377557:43928825378176 26045:26045 hsa_system_get_info(2, 0x1d4c340) = 0 -43928825378925:43928825379546 26045:26045 hsa_system_get_info(2, 0x1d4c348) = 0 -43928825380293:43928825380913 26045:26045 hsa_system_get_info(2, 0x1d4c350) = 0 -43928825381662:43928825382282 26045:26045 hsa_system_get_info(2, 0x1d4c358) = 0 -43928825383043:43928825383661 26045:26045 hsa_system_get_info(2, 0x1d4c360) = 0 -43928825384413:43928825385032 26045:26045 hsa_system_get_info(2, 0x1d4c368) = 0 -43928825385776:43928825386395 26045:26045 hsa_system_get_info(2, 0x1d4c370) = 0 -43928825387936:43928825388564 26045:26045 hsa_system_get_info(2, 0x1d4c378) = 0 -43928825389316:43928825389933 26045:26045 hsa_system_get_info(2, 0x1d4c380) = 0 -43928825390677:43928825391290 26045:26045 hsa_system_get_info(2, 0x1d4c388) = 0 -43928825392036:43928825392657 26045:26045 hsa_system_get_info(2, 0x1d4c390) = 0 -43928825393405:43928825394017 26045:26045 hsa_system_get_info(2, 0x1d4c398) = 0 -43928825394767:43928825395386 26045:26045 hsa_system_get_info(2, 0x1d4c3a0) = 0 -43928825396135:43928825396751 26045:26045 hsa_system_get_info(2, 0x1d4c3a8) = 0 -43928825397499:43928825398118 26045:26045 hsa_system_get_info(2, 0x1d4c3b0) = 0 -43928825398863:43928825399483 26045:26045 hsa_system_get_info(2, 0x1d4c3b8) = 0 -43928825400231:43928825400845 26045:26045 hsa_system_get_info(2, 0x1d4c3c0) = 0 -43928825401593:43928825402212 26045:26045 hsa_system_get_info(2, 0x1d4c3c8) = 0 -43928825402957:43928825403574 26045:26045 hsa_system_get_info(2, 0x1d4c3d0) = 0 -43928825404323:43928825404942 26045:26045 hsa_system_get_info(2, 0x1d4c3d8) = 0 -43928825405686:43928825406309 26045:26045 hsa_system_get_info(2, 0x1d4c3e0) = 0 -43928825407074:43928825407695 26045:26045 hsa_system_get_info(2, 0x1d4c3e8) = 0 -43928825408444:43928825409067 26045:26045 hsa_system_get_info(2, 0x1d4c3f0) = 0 -43928825409815:43928825410434 26045:26045 hsa_system_get_info(2, 0x1d4c3f8) = 0 -43928825411180:43928825411798 26045:26045 hsa_system_get_info(2, 0x1d4c400) = 0 -43928825412546:43928825413161 26045:26045 hsa_system_get_info(2, 0x1d4c408) = 0 -43928825413910:43928825414523 26045:26045 hsa_system_get_info(2, 0x1d4c410) = 0 -43928825415269:43928825415887 26045:26045 hsa_system_get_info(2, 0x1d4c418) = 0 -43928825416634:43928825417257 26045:26045 hsa_system_get_info(2, 0x1d4c420) = 0 -43928825418003:43928825418621 26045:26045 hsa_system_get_info(2, 0x1d4c428) = 0 -43928825419365:43928825419981 26045:26045 hsa_system_get_info(2, 0x1d4c430) = 0 -43928825420731:43928825421347 26045:26045 hsa_system_get_info(2, 0x1d4c438) = 0 -43928825422096:43928825422715 26045:26045 hsa_system_get_info(2, 0x1d4c440) = 0 -43928825423464:43928825424088 26045:26045 hsa_system_get_info(2, 0x1d4c448) = 0 -43928825424837:43928825425476 26045:26045 hsa_system_get_info(2, 0x1d4c450) = 0 -43928825426970:43928825427599 26045:26045 hsa_system_get_info(2, 0x1d4c458) = 0 -43928825428345:43928825428962 26045:26045 hsa_system_get_info(2, 0x1d4c460) = 0 -43928825429707:43928825430326 26045:26045 hsa_system_get_info(2, 0x1d4c468) = 0 -43928825431070:43928825431689 26045:26045 hsa_system_get_info(2, 0x1d4c470) = 0 -43928825432438:43928825433052 26045:26045 hsa_system_get_info(2, 0x1d4c478) = 0 -43928825433800:43928825434415 26045:26045 hsa_system_get_info(2, 0x1d4c480) = 0 -43928825435162:43928825435783 26045:26045 hsa_system_get_info(2, 0x1d4c488) = 0 -43928825436525:43928825437145 26045:26045 hsa_system_get_info(2, 0x1d4c490) = 0 -43928825437893:43928825438510 26045:26045 hsa_system_get_info(2, 0x1d4c498) = 0 -43928825439253:43928825439876 26045:26045 hsa_system_get_info(2, 0x1d4c4a0) = 0 -43928825440625:43928825441245 26045:26045 hsa_system_get_info(2, 0x1d4c4a8) = 0 -43928825441988:43928825442609 26045:26045 hsa_system_get_info(2, 0x1d4c4b0) = 0 -43928825443365:43928825443989 26045:26045 hsa_system_get_info(2, 0x1d4c4b8) = 0 -43928825444734:43928825445374 26045:26045 hsa_system_get_info(2, 0x1d4c4c0) = 0 -43928825446121:43928825446742 26045:26045 hsa_system_get_info(2, 0x1d4c4c8) = 0 -43928825447487:43928825448108 26045:26045 hsa_system_get_info(2, 0x1d4c4d0) = 0 -43928825448856:43928825449480 26045:26045 hsa_system_get_info(2, 0x1d4c4d8) = 0 -43928825450230:43928825450850 26045:26045 hsa_system_get_info(2, 0x1d4c4e0) = 0 -43928825451600:43928825452221 26045:26045 hsa_system_get_info(2, 0x1d4c4e8) = 0 -43928825452970:43928825453588 26045:26045 hsa_system_get_info(2, 0x1d4c4f0) = 0 -43928825454335:43928825454962 26045:26045 hsa_system_get_info(2, 0x1d4c4f8) = 0 -43928825455713:43928825456334 26045:26045 hsa_system_get_info(2, 0x1d4c500) = 0 -43928825457083:43928825457706 26045:26045 hsa_system_get_info(2, 0x1d4c508) = 0 -43928825458456:43928825459076 26045:26045 hsa_system_get_info(2, 0x1d4c510) = 0 -43928825459825:43928825460448 26045:26045 hsa_system_get_info(2, 0x1d4c518) = 0 -43928825461193:43928825461810 26045:26045 hsa_system_get_info(2, 0x1d4c520) = 0 -43928825462556:43928825463176 26045:26045 hsa_system_get_info(2, 0x1d4c528) = 0 -43928825463925:43928825464546 26045:26045 hsa_system_get_info(2, 0x1d4c530) = 0 -43928825466100:43928825466728 26045:26045 hsa_system_get_info(2, 0x1d4c538) = 0 -43928825467474:43928825468098 26045:26045 hsa_system_get_info(2, 0x1d4c540) = 0 -43928825468841:43928825469464 26045:26045 hsa_system_get_info(2, 0x1d4c548) = 0 -43928825470211:43928825470834 26045:26045 hsa_system_get_info(2, 0x1d4c550) = 0 -43928825471584:43928825472211 26045:26045 hsa_system_get_info(2, 0x1d4c558) = 0 -43928825472959:43928825473582 26045:26045 hsa_system_get_info(2, 0x1d4c560) = 0 -43928825474327:43928825474950 26045:26045 hsa_system_get_info(2, 0x1d4c568) = 0 -43928825475696:43928825476321 26045:26045 hsa_system_get_info(2, 0x1d4c570) = 0 -43928825477069:43928825477693 26045:26045 hsa_system_get_info(2, 0x1d4c578) = 0 -43928825478443:43928825479065 26045:26045 hsa_system_get_info(2, 0x1d4c580) = 0 -43928825479816:43928825480437 26045:26045 hsa_system_get_info(2, 0x1d4c588) = 0 -43928825481184:43928825481802 26045:26045 hsa_system_get_info(2, 0x1d4c590) = 0 -43928825482547:43928825483165 26045:26045 hsa_system_get_info(2, 0x1d4c598) = 0 -43928825483910:43928825484548 26045:26045 hsa_system_get_info(2, 0x1d4c5a0) = 0 -43928825485298:43928825485918 26045:26045 hsa_system_get_info(2, 0x1d4c5a8) = 0 -43928825486662:43928825487282 26045:26045 hsa_system_get_info(2, 0x1d4c5b0) = 0 -43928825488028:43928825488650 26045:26045 hsa_system_get_info(2, 0x1d4c5b8) = 0 -43928825489395:43928825490016 26045:26045 hsa_system_get_info(2, 0x1d4c5c0) = 0 -43928825490764:43928825491391 26045:26045 hsa_system_get_info(2, 0x1d4c5c8) = 0 -43928825492136:43928825492758 26045:26045 hsa_system_get_info(2, 0x1d4c5d0) = 0 -43928825493507:43928825494133 26045:26045 hsa_system_get_info(2, 0x1d4c5d8) = 0 -43928825494884:43928825495504 26045:26045 hsa_system_get_info(2, 0x1d4c5e0) = 0 -43928825496250:43928825496873 26045:26045 hsa_system_get_info(2, 0x1d4c5e8) = 0 -43928825497620:43928825498238 26045:26045 hsa_system_get_info(2, 0x1d4c5f0) = 0 -43928825498987:43928825499606 26045:26045 hsa_system_get_info(2, 0x1d4c5f8) = 0 -43928825500352:43928825500970 26045:26045 hsa_system_get_info(2, 0x1d4c600) = 0 -43928825501718:43928825502337 26045:26045 hsa_system_get_info(2, 0x1d4c608) = 0 -43928825503111:43928825503727 26045:26045 hsa_system_get_info(2, 0x1d4c610) = 0 -43928825504492:43928825505110 26045:26045 hsa_system_get_info(2, 0x1d4c618) = 0 -43928825506652:43928825507274 26045:26045 hsa_system_get_info(2, 0x1d4c620) = 0 -43928825508021:43928825508636 26045:26045 hsa_system_get_info(2, 0x1d4c628) = 0 -43928825509384:43928825509996 26045:26045 hsa_system_get_info(2, 0x1d4c630) = 0 -43928825510747:43928825511362 26045:26045 hsa_system_get_info(2, 0x1d4c638) = 0 -43928825512104:43928825512725 26045:26045 hsa_system_get_info(2, 0x1d4c640) = 0 -43928825513473:43928825514090 26045:26045 hsa_system_get_info(2, 0x1d4c648) = 0 -43928825514836:43928825515455 26045:26045 hsa_system_get_info(2, 0x1d4c650) = 0 -43928825516200:43928825516820 26045:26045 hsa_system_get_info(2, 0x1d4c658) = 0 -43928825517569:43928825518188 26045:26045 hsa_system_get_info(2, 0x1d4c660) = 0 -43928825518931:43928825519549 26045:26045 hsa_system_get_info(2, 0x1d4c668) = 0 -43928825520297:43928825520911 26045:26045 hsa_system_get_info(2, 0x1d4c670) = 0 -43928825521658:43928825522274 26045:26045 hsa_system_get_info(2, 0x1d4c678) = 0 -43928825523021:43928825523640 26045:26045 hsa_system_get_info(2, 0x1d4c680) = 0 -43928825524385:43928825525002 26045:26045 hsa_system_get_info(2, 0x1d4c688) = 0 -43928825525764:43928825526387 26045:26045 hsa_system_get_info(2, 0x1d4c690) = 0 -43928825527131:43928825527752 26045:26045 hsa_system_get_info(2, 0x1d4c698) = 0 -43928825528498:43928825529117 26045:26045 hsa_system_get_info(2, 0x1d4c6a0) = 0 -43928825529859:43928825530477 26045:26045 hsa_system_get_info(2, 0x1d4c6a8) = 0 -43928825531223:43928825531847 26045:26045 hsa_system_get_info(2, 0x1d4c6b0) = 0 -43928825532590:43928825533210 26045:26045 hsa_system_get_info(2, 0x1d4c6b8) = 0 -43928825533956:43928825534578 26045:26045 hsa_system_get_info(2, 0x1d4c6c0) = 0 -43928825535325:43928825535941 26045:26045 hsa_system_get_info(2, 0x1d4c6c8) = 0 -43928825536688:43928825537301 26045:26045 hsa_system_get_info(2, 0x1d4c6d0) = 0 -43928825538047:43928825538669 26045:26045 hsa_system_get_info(2, 0x1d4c6d8) = 0 -43928825539418:43928825540035 26045:26045 hsa_system_get_info(2, 0x1d4c6e0) = 0 -43928825540785:43928825541404 26045:26045 hsa_system_get_info(2, 0x1d4c6e8) = 0 -43928825542152:43928825542769 26045:26045 hsa_system_get_info(2, 0x1d4c6f0) = 0 -43928825543524:43928825544158 26045:26045 hsa_system_get_info(2, 0x1d4c6f8) = 0 -43928825545639:43928825546267 26045:26045 hsa_system_get_info(2, 0x1d4c700) = 0 -43928825547018:43928825547637 26045:26045 hsa_system_get_info(2, 0x1d4c708) = 0 -43928825548387:43928825549009 26045:26045 hsa_system_get_info(2, 0x1d4c710) = 0 -43928825549755:43928825550374 26045:26045 hsa_system_get_info(2, 0x1d4c718) = 0 -43928825551119:43928825551741 26045:26045 hsa_system_get_info(2, 0x1d4c720) = 0 -43928825552488:43928825553099 26045:26045 hsa_system_get_info(2, 0x1d4c728) = 0 -43928825553842:43928825554464 26045:26045 hsa_system_get_info(2, 0x1d4c730) = 0 -43928825555213:43928825555840 26045:26045 hsa_system_get_info(2, 0x1d4c738) = 0 -43928825556583:43928825557209 26045:26045 hsa_system_get_info(2, 0x1d4c740) = 0 -43928825557956:43928825558576 26045:26045 hsa_system_get_info(2, 0x1d4c748) = 0 -43928825559325:43928825559947 26045:26045 hsa_system_get_info(2, 0x1d4c750) = 0 -43928825560695:43928825561320 26045:26045 hsa_system_get_info(2, 0x1d4c758) = 0 -43928825562066:43928825562684 26045:26045 hsa_system_get_info(2, 0x1d4c760) = 0 -43928825563433:43928825564056 26045:26045 hsa_system_get_info(2, 0x1d4c768) = 0 -43928825564803:43928825565422 26045:26045 hsa_system_get_info(2, 0x1d4c770) = 0 -43928825566180:43928825566808 26045:26045 hsa_system_get_info(2, 0x1d4c778) = 0 -43928825567558:43928825568179 26045:26045 hsa_system_get_info(2, 0x1d4c780) = 0 -43928825568930:43928825569557 26045:26045 hsa_system_get_info(2, 0x1d4c788) = 0 -43928825570302:43928825570919 26045:26045 hsa_system_get_info(2, 0x1d4c790) = 0 -43928825571670:43928825572289 26045:26045 hsa_system_get_info(2, 0x1d4c798) = 0 -43928825573034:43928825573652 26045:26045 hsa_system_get_info(2, 0x1d4c7a0) = 0 -43928825574399:43928825575022 26045:26045 hsa_system_get_info(2, 0x1d4c7a8) = 0 -43928825575770:43928825576392 26045:26045 hsa_system_get_info(2, 0x1d4c7b0) = 0 -43928825577137:43928825577761 26045:26045 hsa_system_get_info(2, 0x1d4c7b8) = 0 -43928825578513:43928825579133 26045:26045 hsa_system_get_info(2, 0x1d4c7c0) = 0 -43928825579882:43928825580502 26045:26045 hsa_system_get_info(2, 0x1d4c7c8) = 0 -43928825581247:43928825581864 26045:26045 hsa_system_get_info(2, 0x1d4c7d0) = 0 -43928825582628:43928825583244 26045:26045 hsa_system_get_info(2, 0x1d4c7d8) = 0 -43928825584004:43928825584625 26045:26045 hsa_system_get_info(2, 0x1d4c7e0) = 0 -43928825586109:43928825586736 26045:26045 hsa_system_get_info(2, 0x1d4c7e8) = 0 -43928825587480:43928825588099 26045:26045 hsa_system_get_info(2, 0x1d4c7f0) = 0 -43928825588847:43928825589469 26045:26045 hsa_system_get_info(2, 0x1d4c7f8) = 0 -43928825590219:43928825590838 26045:26045 hsa_system_get_info(2, 0x1d4c800) = 0 -43928825591583:43928825592204 26045:26045 hsa_system_get_info(2, 0x1d4c808) = 0 -43928825592952:43928825593574 26045:26045 hsa_system_get_info(2, 0x1d4c810) = 0 -43928825594325:43928825594946 26045:26045 hsa_system_get_info(2, 0x1d4c818) = 0 -43928825595694:43928825596314 26045:26045 hsa_system_get_info(2, 0x1d4c820) = 0 -43928825597063:43928825597685 26045:26045 hsa_system_get_info(2, 0x1d4c828) = 0 -43928825598429:43928825599046 26045:26045 hsa_system_get_info(2, 0x1d4c830) = 0 -43928825599796:43928825600414 26045:26045 hsa_system_get_info(2, 0x1d4c838) = 0 -43928825601160:43928825601776 26045:26045 hsa_system_get_info(2, 0x1d4c840) = 0 -43928825602520:43928825603139 26045:26045 hsa_system_get_info(2, 0x1d4c848) = 0 -43928825603885:43928825604522 26045:26045 hsa_system_get_info(2, 0x1d4c850) = 0 -43928825605266:43928825605883 26045:26045 hsa_system_get_info(2, 0x1d4c858) = 0 -43928825606631:43928825607257 26045:26045 hsa_system_get_info(2, 0x1d4c860) = 0 -43928825607999:43928825608618 26045:26045 hsa_system_get_info(2, 0x1d4c868) = 0 -43928825609364:43928825609983 26045:26045 hsa_system_get_info(2, 0x1d4c870) = 0 -43928825610730:43928825611349 26045:26045 hsa_system_get_info(2, 0x1d4c878) = 0 -43928825612094:43928825612715 26045:26045 hsa_system_get_info(2, 0x1d4c880) = 0 -43928825613463:43928825614080 26045:26045 hsa_system_get_info(2, 0x1d4c888) = 0 -43928825614828:43928825615452 26045:26045 hsa_system_get_info(2, 0x1d4c890) = 0 -43928825616199:43928825616815 26045:26045 hsa_system_get_info(2, 0x1d4c898) = 0 -43928825617566:43928825618184 26045:26045 hsa_system_get_info(2, 0x1d4c8a0) = 0 -43928825618934:43928825619554 26045:26045 hsa_system_get_info(2, 0x1d4c8a8) = 0 -43928825620301:43928825620919 26045:26045 hsa_system_get_info(2, 0x1d4c8b0) = 0 -43928825621668:43928825622287 26045:26045 hsa_system_get_info(2, 0x1d4c8b8) = 0 -43928825623039:43928825623658 26045:26045 hsa_system_get_info(2, 0x1d4c8c0) = 0 -43928825625129:43928825625762 26045:26045 hsa_system_get_info(2, 0x1d4c8c8) = 0 -43928825626510:43928825627133 26045:26045 hsa_system_get_info(2, 0x1d4c8d0) = 0 -43928825627881:43928825628499 26045:26045 hsa_system_get_info(2, 0x1d4c8d8) = 0 -43928825629250:43928825629870 26045:26045 hsa_system_get_info(2, 0x1d4c8e0) = 0 -43928825630616:43928825631243 26045:26045 hsa_system_get_info(2, 0x1d4c8e8) = 0 -43928825631991:43928825632609 26045:26045 hsa_system_get_info(2, 0x1d4c8f0) = 0 -43928825633355:43928825633976 26045:26045 hsa_system_get_info(2, 0x1d4c8f8) = 0 -43928825634724:43928825635343 26045:26045 hsa_system_get_info(2, 0x1d4c900) = 0 -43928825636093:43928825636709 26045:26045 hsa_system_get_info(2, 0x1d4c908) = 0 -43928825637456:43928825638078 26045:26045 hsa_system_get_info(2, 0x1d4c910) = 0 -43928825638822:43928825639447 26045:26045 hsa_system_get_info(2, 0x1d4c918) = 0 -43928825640191:43928825640812 26045:26045 hsa_system_get_info(2, 0x1d4c920) = 0 -43928825641558:43928825642183 26045:26045 hsa_system_get_info(2, 0x1d4c928) = 0 -43928825642930:43928825643569 26045:26045 hsa_system_get_info(2, 0x1d4c930) = 0 -43928825644314:43928825644933 26045:26045 hsa_system_get_info(2, 0x1d4c938) = 0 -43928825645680:43928825646299 26045:26045 hsa_system_get_info(2, 0x1d4c940) = 0 -43928825647044:43928825647666 26045:26045 hsa_system_get_info(2, 0x1d4c948) = 0 -43928825648420:43928825649045 26045:26045 hsa_system_get_info(2, 0x1d4c950) = 0 -43928825649796:43928825650409 26045:26045 hsa_system_get_info(2, 0x1d4c958) = 0 -43928825651156:43928825651779 26045:26045 hsa_system_get_info(2, 0x1d4c960) = 0 -43928825652525:43928825653143 26045:26045 hsa_system_get_info(2, 0x1d4c968) = 0 -43928825653889:43928825654506 26045:26045 hsa_system_get_info(2, 0x1d4c970) = 0 -43928825655254:43928825655868 26045:26045 hsa_system_get_info(2, 0x1d4c978) = 0 -43928825656616:43928825657245 26045:26045 hsa_system_get_info(2, 0x1d4c980) = 0 -43928825657993:43928825658617 26045:26045 hsa_system_get_info(2, 0x1d4c988) = 0 -43928825659361:43928825659978 26045:26045 hsa_system_get_info(2, 0x1d4c990) = 0 -43928825660724:43928825661343 26045:26045 hsa_system_get_info(2, 0x1d4c998) = 0 -43928825662091:43928825662728 26045:26045 hsa_system_get_info(2, 0x1d4c9a0) = 0 -43928825663475:43928825664097 26045:26045 hsa_system_get_info(2, 0x1d4c9a8) = 0 -43928825665585:43928825666205 26045:26045 hsa_system_get_info(2, 0x1d4c9b0) = 0 -43928825666957:43928825667576 26045:26045 hsa_system_get_info(2, 0x1d4c9b8) = 0 -43928825668322:43928825668944 26045:26045 hsa_system_get_info(2, 0x1d4c9c0) = 0 -43928825669690:43928825670307 26045:26045 hsa_system_get_info(2, 0x1d4c9c8) = 0 -43928825671053:43928825671669 26045:26045 hsa_system_get_info(2, 0x1d4c9d0) = 0 -43928825672414:43928825673034 26045:26045 hsa_system_get_info(2, 0x1d4c9d8) = 0 -43928825673781:43928825674399 26045:26045 hsa_system_get_info(2, 0x1d4c9e0) = 0 -43928825675147:43928825675768 26045:26045 hsa_system_get_info(2, 0x1d4c9e8) = 0 -43928825676512:43928825677131 26045:26045 hsa_system_get_info(2, 0x1d4c9f0) = 0 -43928825677879:43928825678499 26045:26045 hsa_system_get_info(2, 0x1d4c9f8) = 0 -43928825679245:43928825679862 26045:26045 hsa_system_get_info(2, 0x1d4ca00) = 0 -43928825680609:43928825681233 26045:26045 hsa_system_get_info(2, 0x1d4ca08) = 0 -43928825681979:43928825682604 26045:26045 hsa_system_get_info(2, 0x1d4ca10) = 0 -43928825683351:43928825683992 26045:26045 hsa_system_get_info(2, 0x1d4ca18) = 0 -43928825684741:43928825685363 26045:26045 hsa_system_get_info(2, 0x1d4ca20) = 0 -43928825686128:43928825686746 26045:26045 hsa_system_get_info(2, 0x1d4ca28) = 0 -43928825687488:43928825688114 26045:26045 hsa_system_get_info(2, 0x1d4ca30) = 0 -43928825688858:43928825689480 26045:26045 hsa_system_get_info(2, 0x1d4ca38) = 0 -43928825690228:43928825690856 26045:26045 hsa_system_get_info(2, 0x1d4ca40) = 0 -43928825691602:43928825692227 26045:26045 hsa_system_get_info(2, 0x1d4ca48) = 0 -43928825692977:43928825693597 26045:26045 hsa_system_get_info(2, 0x1d4ca50) = 0 -43928825694344:43928825694962 26045:26045 hsa_system_get_info(2, 0x1d4ca58) = 0 -43928825695710:43928825696330 26045:26045 hsa_system_get_info(2, 0x1d4ca60) = 0 -43928825697079:43928825697698 26045:26045 hsa_system_get_info(2, 0x1d4ca68) = 0 -43928825698446:43928825699069 26045:26045 hsa_system_get_info(2, 0x1d4ca70) = 0 -43928825699836:43928825700457 26045:26045 hsa_system_get_info(2, 0x1d4ca78) = 0 -43928825701211:43928825701832 26045:26045 hsa_system_get_info(2, 0x1d4ca80) = 0 -43928825702584:43928825703203 26045:26045 hsa_system_get_info(2, 0x1d4ca88) = 0 -43928825705260:43928825705893 26045:26045 hsa_system_get_info(2, 0x1d4ca90) = 0 -43928825706641:43928825707275 26045:26045 hsa_system_get_info(2, 0x1d4ca98) = 0 -43928825708021:43928825708648 26045:26045 hsa_system_get_info(2, 0x1d4caa0) = 0 -43928825709399:43928825710017 26045:26045 hsa_system_get_info(2, 0x1d4caa8) = 0 -43928825710766:43928825711388 26045:26045 hsa_system_get_info(2, 0x1d4cab0) = 0 -43928825712142:43928825712765 26045:26045 hsa_system_get_info(2, 0x1d4cab8) = 0 -43928825713511:43928825714130 26045:26045 hsa_system_get_info(2, 0x1d4cac0) = 0 -43928825714875:43928825715496 26045:26045 hsa_system_get_info(2, 0x1d4cac8) = 0 -43928825716245:43928825716865 26045:26045 hsa_system_get_info(2, 0x1d4cad0) = 0 -43928825717613:43928825718230 26045:26045 hsa_system_get_info(2, 0x1d4cad8) = 0 -43928825718975:43928825719593 26045:26045 hsa_system_get_info(2, 0x1d4cae0) = 0 -43928825720358:43928825720977 26045:26045 hsa_system_get_info(2, 0x1d4cae8) = 0 -43928825721722:43928825722339 26045:26045 hsa_system_get_info(2, 0x1d4caf0) = 0 -43928825723087:43928825723708 26045:26045 hsa_system_get_info(2, 0x1d4caf8) = 0 -43928825724456:43928825725077 26045:26045 hsa_system_get_info(2, 0x1d4cb00) = 0 -43928825725826:43928825726447 26045:26045 hsa_system_get_info(2, 0x1d4cb08) = 0 -43928825727191:43928825727812 26045:26045 hsa_system_get_info(2, 0x1d4cb10) = 0 -43928825728560:43928825729178 26045:26045 hsa_system_get_info(2, 0x1d4cb18) = 0 -43928825729924:43928825730542 26045:26045 hsa_system_get_info(2, 0x1d4cb20) = 0 -43928825731291:43928825731914 26045:26045 hsa_system_get_info(2, 0x1d4cb28) = 0 -43928825732660:43928825733281 26045:26045 hsa_system_get_info(2, 0x1d4cb30) = 0 -43928825734031:43928825734646 26045:26045 hsa_system_get_info(2, 0x1d4cb38) = 0 -43928825735393:43928825736012 26045:26045 hsa_system_get_info(2, 0x1d4cb40) = 0 -43928825736758:43928825737379 26045:26045 hsa_system_get_info(2, 0x1d4cb48) = 0 -43928825738126:43928825738749 26045:26045 hsa_system_get_info(2, 0x1d4cb50) = 0 -43928825739510:43928825740127 26045:26045 hsa_system_get_info(2, 0x1d4cb58) = 0 -43928825740876:43928825741494 26045:26045 hsa_system_get_info(2, 0x1d4cb60) = 0 -43928825742249:43928825742868 26045:26045 hsa_system_get_info(2, 0x1d4cb68) = 0 -43928825743616:43928825744232 26045:26045 hsa_system_get_info(2, 0x1d4cb70) = 0 -43928825745823:43928825746451 26045:26045 hsa_system_get_info(2, 0x1d4cb78) = 0 -43928825747199:43928825747822 26045:26045 hsa_system_get_info(2, 0x1d4cb80) = 0 -43928825748569:43928825749185 26045:26045 hsa_system_get_info(2, 0x1d4cb88) = 0 -43928825749929:43928825750545 26045:26045 hsa_system_get_info(2, 0x1d4cb90) = 0 -43928825751292:43928825751905 26045:26045 hsa_system_get_info(2, 0x1d4cb98) = 0 -43928825752656:43928825753275 26045:26045 hsa_system_get_info(2, 0x1d4cba0) = 0 -43928825754023:43928825754645 26045:26045 hsa_system_get_info(2, 0x1d4cba8) = 0 -43928825755386:43928825756008 26045:26045 hsa_system_get_info(2, 0x1d4cbb0) = 0 -43928825756757:43928825757376 26045:26045 hsa_system_get_info(2, 0x1d4cbb8) = 0 -43928825758120:43928825758741 26045:26045 hsa_system_get_info(2, 0x1d4cbc0) = 0 -43928825759489:43928825760116 26045:26045 hsa_system_get_info(2, 0x1d4cbc8) = 0 -43928825760866:43928825761488 26045:26045 hsa_system_get_info(2, 0x1d4cbd0) = 0 -43928825762236:43928825762857 26045:26045 hsa_system_get_info(2, 0x1d4cbd8) = 0 -43928825763602:43928825764222 26045:26045 hsa_system_get_info(2, 0x1d4cbe0) = 0 -43928825764985:43928825765610 26045:26045 hsa_system_get_info(2, 0x1d4cbe8) = 0 -43928825766360:43928825766974 26045:26045 hsa_system_get_info(2, 0x1d4cbf0) = 0 -43928825767723:43928825768343 26045:26045 hsa_system_get_info(2, 0x1d4cbf8) = 0 -43928825769091:43928825769712 26045:26045 hsa_system_get_info(2, 0x1d4cc00) = 0 -43928825770460:43928825771078 26045:26045 hsa_system_get_info(2, 0x1d4cc08) = 0 -43928825771827:43928825772445 26045:26045 hsa_system_get_info(2, 0x1d4cc10) = 0 -43928825773194:43928825773815 26045:26045 hsa_system_get_info(2, 0x1d4cc18) = 0 -43928825774557:43928825775181 26045:26045 hsa_system_get_info(2, 0x1d4cc20) = 0 -43928825775928:43928825776548 26045:26045 hsa_system_get_info(2, 0x1d4cc28) = 0 -43928825777290:43928825777908 26045:26045 hsa_system_get_info(2, 0x1d4cc30) = 0 -43928825778655:43928825779273 26045:26045 hsa_system_get_info(2, 0x1d4cc38) = 0 -43928825780020:43928825780639 26045:26045 hsa_system_get_info(2, 0x1d4cc40) = 0 -43928825781387:43928825782008 26045:26045 hsa_system_get_info(2, 0x1d4cc48) = 0 -43928825782754:43928825783392 26045:26045 hsa_system_get_info(2, 0x1d4cc50) = 0 -43928825784931:43928825785555 26045:26045 hsa_system_get_info(2, 0x1d4cc58) = 0 -43928825786305:43928825786926 26045:26045 hsa_system_get_info(2, 0x1d4cc60) = 0 -43928825787674:43928825788294 26045:26045 hsa_system_get_info(2, 0x1d4cc68) = 0 -43928825789041:43928825789663 26045:26045 hsa_system_get_info(2, 0x1d4cc70) = 0 -43928825790412:43928825791029 26045:26045 hsa_system_get_info(2, 0x1d4cc78) = 0 -43928825791778:43928825792400 26045:26045 hsa_system_get_info(2, 0x1d4cc80) = 0 -43928825793148:43928825793771 26045:26045 hsa_system_get_info(2, 0x1d4cc88) = 0 -43928825794519:43928825795136 26045:26045 hsa_system_get_info(2, 0x1d4cc90) = 0 -43928825795880:43928825796499 26045:26045 hsa_system_get_info(2, 0x1d4cc98) = 0 -43928825797247:43928825797866 26045:26045 hsa_system_get_info(2, 0x1d4cca0) = 0 -43928825798614:43928825799234 26045:26045 hsa_system_get_info(2, 0x1d4cca8) = 0 -43928825799978:43928825800600 26045:26045 hsa_system_get_info(2, 0x1d4ccb0) = 0 -43928825801344:43928825801963 26045:26045 hsa_system_get_info(2, 0x1d4ccb8) = 0 -43928825802711:43928825803353 26045:26045 hsa_system_get_info(2, 0x1d4ccc0) = 0 -43928825804100:43928825804720 26045:26045 hsa_system_get_info(2, 0x1d4ccc8) = 0 -43928825805466:43928825806088 26045:26045 hsa_system_get_info(2, 0x1d4ccd0) = 0 -43928825806837:43928825807455 26045:26045 hsa_system_get_info(2, 0x1d4ccd8) = 0 -43928825808202:43928825808823 26045:26045 hsa_system_get_info(2, 0x1d4cce0) = 0 -43928825809569:43928825810188 26045:26045 hsa_system_get_info(2, 0x1d4cce8) = 0 -43928825810935:43928825811561 26045:26045 hsa_system_get_info(2, 0x1d4ccf0) = 0 -43928825812310:43928825812926 26045:26045 hsa_system_get_info(2, 0x1d4ccf8) = 0 -43928825813671:43928825814291 26045:26045 hsa_system_get_info(2, 0x1d4cd00) = 0 -43928825815038:43928825815656 26045:26045 hsa_system_get_info(2, 0x1d4cd08) = 0 -43928825816400:43928825817020 26045:26045 hsa_system_get_info(2, 0x1d4cd10) = 0 -43928825817763:43928825818390 26045:26045 hsa_system_get_info(2, 0x1d4cd18) = 0 -43928825819134:43928825819752 26045:26045 hsa_system_get_info(2, 0x1d4cd20) = 0 -43928825820501:43928825821123 26045:26045 hsa_system_get_info(2, 0x1d4cd28) = 0 -43928825821883:43928825822503 26045:26045 hsa_system_get_info(2, 0x1d4cd30) = 0 -43928825823981:43928825824608 26045:26045 hsa_system_get_info(2, 0x1d4cd38) = 0 -43928825825355:43928825825975 26045:26045 hsa_system_get_info(2, 0x1d4cd40) = 0 -43928825826723:43928825827343 26045:26045 hsa_system_get_info(2, 0x1d4cd48) = 0 -43928825828107:43928825828727 26045:26045 hsa_system_get_info(2, 0x1d4cd50) = 0 -43928825829475:43928825830088 26045:26045 hsa_system_get_info(2, 0x1d4cd58) = 0 -43928825830837:43928825831452 26045:26045 hsa_system_get_info(2, 0x1d4cd60) = 0 -43928825832196:43928825832812 26045:26045 hsa_system_get_info(2, 0x1d4cd68) = 0 -43928825833561:43928825834183 26045:26045 hsa_system_get_info(2, 0x1d4cd70) = 0 -43928825834931:43928825835554 26045:26045 hsa_system_get_info(2, 0x1d4cd78) = 0 -43928825836301:43928825836915 26045:26045 hsa_system_get_info(2, 0x1d4cd80) = 0 -43928825837662:43928825838284 26045:26045 hsa_system_get_info(2, 0x1d4cd88) = 0 -43928825839033:43928825839651 26045:26045 hsa_system_get_info(2, 0x1d4cd90) = 0 -43928825840396:43928825841014 26045:26045 hsa_system_get_info(2, 0x1d4cd98) = 0 -43928825841756:43928825842377 26045:26045 hsa_system_get_info(2, 0x1d4cda0) = 0 -43928825843122:43928825843745 26045:26045 hsa_system_get_info(2, 0x1d4cda8) = 0 -43928825844494:43928825845111 26045:26045 hsa_system_get_info(2, 0x1d4cdb0) = 0 -43928825845859:43928825846479 26045:26045 hsa_system_get_info(2, 0x1d4cdb8) = 0 -43928825847238:43928825847856 26045:26045 hsa_system_get_info(2, 0x1d4cdc0) = 0 -43928825848607:43928825849231 26045:26045 hsa_system_get_info(2, 0x1d4cdc8) = 0 -43928825849979:43928825850597 26045:26045 hsa_system_get_info(2, 0x1d4cdd0) = 0 -43928825851343:43928825851961 26045:26045 hsa_system_get_info(2, 0x1d4cdd8) = 0 -43928825852708:43928825853324 26045:26045 hsa_system_get_info(2, 0x1d4cde0) = 0 -43928825854073:43928825854691 26045:26045 hsa_system_get_info(2, 0x1d4cde8) = 0 -43928825855441:43928825856055 26045:26045 hsa_system_get_info(2, 0x1d4cdf0) = 0 -43928825856803:43928825857422 26045:26045 hsa_system_get_info(2, 0x1d4cdf8) = 0 -43928825858172:43928825858789 26045:26045 hsa_system_get_info(2, 0x1d4ce00) = 0 -43928825859534:43928825860153 26045:26045 hsa_system_get_info(2, 0x1d4ce08) = 0 -43928825860923:43928825861548 26045:26045 hsa_system_get_info(2, 0x1d4ce10) = 0 -43928825862296:43928825862915 26045:26045 hsa_system_get_info(2, 0x1d4ce18) = 0 -43928825864399:43928825865032 26045:26045 hsa_system_get_info(2, 0x1d4ce20) = 0 -43928825865783:43928825866400 26045:26045 hsa_system_get_info(2, 0x1d4ce28) = 0 -43928825867146:43928825867760 26045:26045 hsa_system_get_info(2, 0x1d4ce30) = 0 -43928825868508:43928825869123 26045:26045 hsa_system_get_info(2, 0x1d4ce38) = 0 -43928825869870:43928825870493 26045:26045 hsa_system_get_info(2, 0x1d4ce40) = 0 -43928825871238:43928825871855 26045:26045 hsa_system_get_info(2, 0x1d4ce48) = 0 -43928825872602:43928825873215 26045:26045 hsa_system_get_info(2, 0x1d4ce50) = 0 -43928825873956:43928825874583 26045:26045 hsa_system_get_info(2, 0x1d4ce58) = 0 -43928825875328:43928825875951 26045:26045 hsa_system_get_info(2, 0x1d4ce60) = 0 -43928825876693:43928825877313 26045:26045 hsa_system_get_info(2, 0x1d4ce68) = 0 -43928825878058:43928825878675 26045:26045 hsa_system_get_info(2, 0x1d4ce70) = 0 -43928825879423:43928825880047 26045:26045 hsa_system_get_info(2, 0x1d4ce78) = 0 -43928825880790:43928825881414 26045:26045 hsa_system_get_info(2, 0x1d4ce80) = 0 -43928825882162:43928825882785 26045:26045 hsa_system_get_info(2, 0x1d4ce88) = 0 -43928825883547:43928825884163 26045:26045 hsa_system_get_info(2, 0x1d4ce90) = 0 -43928825884909:43928825885528 26045:26045 hsa_system_get_info(2, 0x1d4ce98) = 0 -43928825886274:43928825886894 26045:26045 hsa_system_get_info(2, 0x1d4cea0) = 0 -43928825887642:43928825888261 26045:26045 hsa_system_get_info(2, 0x1d4cea8) = 0 -43928825889006:43928825889626 26045:26045 hsa_system_get_info(2, 0x1d4ceb0) = 0 -43928825890375:43928825890993 26045:26045 hsa_system_get_info(2, 0x1d4ceb8) = 0 -43928825891741:43928825892360 26045:26045 hsa_system_get_info(2, 0x1d4cec0) = 0 -43928825893112:43928825893731 26045:26045 hsa_system_get_info(2, 0x1d4cec8) = 0 -43928825894477:43928825895099 26045:26045 hsa_system_get_info(2, 0x1d4ced0) = 0 -43928825895848:43928825896468 26045:26045 hsa_system_get_info(2, 0x1d4ced8) = 0 -43928825897218:43928825897839 26045:26045 hsa_system_get_info(2, 0x1d4cee0) = 0 -43928825898587:43928825899207 26045:26045 hsa_system_get_info(2, 0x1d4cee8) = 0 -43928825899956:43928825900576 26045:26045 hsa_system_get_info(2, 0x1d4cef0) = 0 -43928825901326:43928825901961 26045:26045 hsa_system_get_info(2, 0x1d4cef8) = 0 -43928825903438:43928825904062 26045:26045 hsa_system_get_info(2, 0x1d4cf00) = 0 -43928825904810:43928825905429 26045:26045 hsa_system_get_info(2, 0x1d4cf08) = 0 -43928825906172:43928825906790 26045:26045 hsa_system_get_info(2, 0x1d4cf10) = 0 -43928825907535:43928825908154 26045:26045 hsa_system_get_info(2, 0x1d4cf18) = 0 -43928825908897:43928825909524 26045:26045 hsa_system_get_info(2, 0x1d4cf20) = 0 -43928825910274:43928825910887 26045:26045 hsa_system_get_info(2, 0x1d4cf28) = 0 -43928825911629:43928825912254 26045:26045 hsa_system_get_info(2, 0x1d4cf30) = 0 -43928825913002:43928825913620 26045:26045 hsa_system_get_info(2, 0x1d4cf38) = 0 -43928825914366:43928825914989 26045:26045 hsa_system_get_info(2, 0x1d4cf40) = 0 -43928825915738:43928825916358 26045:26045 hsa_system_get_info(2, 0x1d4cf48) = 0 -43928825917099:43928825917717 26045:26045 hsa_system_get_info(2, 0x1d4cf50) = 0 -43928825918465:43928825919082 26045:26045 hsa_system_get_info(2, 0x1d4cf58) = 0 -43928825919828:43928825920444 26045:26045 hsa_system_get_info(2, 0x1d4cf60) = 0 -43928825921194:43928825921821 26045:26045 hsa_system_get_info(2, 0x1d4cf68) = 0 -43928825922569:43928825923192 26045:26045 hsa_system_get_info(2, 0x1d4cf70) = 0 -43928825923963:43928825924582 26045:26045 hsa_system_get_info(2, 0x1d4cf78) = 0 -43928825925329:43928825925946 26045:26045 hsa_system_get_info(2, 0x1d4cf80) = 0 -43928825926695:43928825927315 26045:26045 hsa_system_get_info(2, 0x1d4cf88) = 0 -43928825928058:43928825928683 26045:26045 hsa_system_get_info(2, 0x1d4cf90) = 0 -43928825929433:43928825930055 26045:26045 hsa_system_get_info(2, 0x1d4cf98) = 0 -43928825930802:43928825931424 26045:26045 hsa_system_get_info(2, 0x1d4cfa0) = 0 -43928825932171:43928825932794 26045:26045 hsa_system_get_info(2, 0x1d4cfa8) = 0 -43928825933544:43928825934161 26045:26045 hsa_system_get_info(2, 0x1d4cfb0) = 0 -43928825934907:43928825935528 26045:26045 hsa_system_get_info(2, 0x1d4cfb8) = 0 -43928825936272:43928825936890 26045:26045 hsa_system_get_info(2, 0x1d4cfc0) = 0 -43928825937637:43928825938253 26045:26045 hsa_system_get_info(2, 0x1d4cfc8) = 0 -43928825939003:43928825939624 26045:26045 hsa_system_get_info(2, 0x1d4cfd0) = 0 -43928825940385:43928825941004 26045:26045 hsa_system_get_info(2, 0x1d4cfd8) = 0 -43928825941753:43928825942373 26045:26045 hsa_system_get_info(2, 0x1d4cfe0) = 0 -43928825943875:43928825944501 26045:26045 hsa_system_get_info(2, 0x1d4cfe8) = 0 -43928825945247:43928825945864 26045:26045 hsa_system_get_info(2, 0x1d4cff0) = 0 -43928825946612:43928825947228 26045:26045 hsa_system_get_info(2, 0x1d4cff8) = 0 -43928825947975:43928825948595 26045:26045 hsa_system_get_info(2, 0x1d4d000) = 0 -43928825949337:43928825949953 26045:26045 hsa_system_get_info(2, 0x1d4d008) = 0 -43928825950694:43928825951309 26045:26045 hsa_system_get_info(2, 0x1d4d010) = 0 -43928825952055:43928825952669 26045:26045 hsa_system_get_info(2, 0x1d4d018) = 0 -43928825953415:43928825954033 26045:26045 hsa_system_get_info(2, 0x1d4d020) = 0 -43928825954780:43928825955400 26045:26045 hsa_system_get_info(2, 0x1d4d028) = 0 -43928825956147:43928825956764 26045:26045 hsa_system_get_info(2, 0x1d4d030) = 0 -43928825957510:43928825958129 26045:26045 hsa_system_get_info(2, 0x1d4d038) = 0 -43928825958874:43928825959499 26045:26045 hsa_system_get_info(2, 0x1d4d040) = 0 -43928825960244:43928825960864 26045:26045 hsa_system_get_info(2, 0x1d4d048) = 0 -43928825961606:43928825962231 26045:26045 hsa_system_get_info(2, 0x1d4d050) = 0 -43928825962987:43928825963609 26045:26045 hsa_system_get_info(2, 0x1d4d058) = 0 -43928825964358:43928825964978 26045:26045 hsa_system_get_info(2, 0x1d4d060) = 0 -43928825965726:43928825966345 26045:26045 hsa_system_get_info(2, 0x1d4d068) = 0 -43928825967091:43928825967710 26045:26045 hsa_system_get_info(2, 0x1d4d070) = 0 -43928825968458:43928825969077 26045:26045 hsa_system_get_info(2, 0x1d4d078) = 0 -43928825969822:43928825970448 26045:26045 hsa_system_get_info(2, 0x1d4d080) = 0 -43928825971197:43928825971819 26045:26045 hsa_system_get_info(2, 0x1d4d088) = 0 -43928825972567:43928825973191 26045:26045 hsa_system_get_info(2, 0x1d4d090) = 0 -43928825973935:43928825974555 26045:26045 hsa_system_get_info(2, 0x1d4d098) = 0 -43928825975303:43928825975923 26045:26045 hsa_system_get_info(2, 0x1d4d0a0) = 0 -43928825976669:43928825977287 26045:26045 hsa_system_get_info(2, 0x1d4d0a8) = 0 -43928825978032:43928825978650 26045:26045 hsa_system_get_info(2, 0x1d4d0b0) = 0 -43928825979395:43928825980013 26045:26045 hsa_system_get_info(2, 0x1d4d0b8) = 0 -43928825980764:43928825981385 26045:26045 hsa_system_get_info(2, 0x1d4d0c0) = 0 -43928825982895:43928825983517 26045:26045 hsa_system_get_info(2, 0x1d4d0c8) = 0 -43928825984261:43928825984879 26045:26045 hsa_system_get_info(2, 0x1d4d0d0) = 0 -43928825985620:43928825986244 26045:26045 hsa_system_get_info(2, 0x1d4d0d8) = 0 -43928825986992:43928825987613 26045:26045 hsa_system_get_info(2, 0x1d4d0e0) = 0 -43928825988362:43928825988982 26045:26045 hsa_system_get_info(2, 0x1d4d0e8) = 0 -43928825989731:43928825990350 26045:26045 hsa_system_get_info(2, 0x1d4d0f0) = 0 -43928825991095:43928825991714 26045:26045 hsa_system_get_info(2, 0x1d4d0f8) = 0 -43928825992460:43928825993258 26045:26045 hsa_system_get_info(2, 0x1d4d100) = 0 -43928825994010:43928825994626 26045:26045 hsa_system_get_info(2, 0x1d4d108) = 0 -43928825995372:43928825995990 26045:26045 hsa_system_get_info(2, 0x1d4d110) = 0 -43928825996736:43928825997362 26045:26045 hsa_system_get_info(2, 0x1d4d118) = 0 -43928825998108:43928825998728 26045:26045 hsa_system_get_info(2, 0x1d4d120) = 0 -43928825999474:43928826000096 26045:26045 hsa_system_get_info(2, 0x1d4d128) = 0 -43928826000844:43928826001477 26045:26045 hsa_system_get_info(2, 0x1d4d130) = 0 -43928826002224:43928826002848 26045:26045 hsa_system_get_info(2, 0x1d4d138) = 0 -43928826003595:43928826004216 26045:26045 hsa_system_get_info(2, 0x1d4d140) = 0 -43928826004961:43928826005587 26045:26045 hsa_system_get_info(2, 0x1d4d148) = 0 -43928826022682:43928826023338 26045:26045 hsa_system_get_info(2, 0x1d4b210) = 0 -43928826024107:43928826024720 26045:26045 hsa_system_get_info(2, 0x1d4b218) = 0 -43928826025464:43928826026083 26045:26045 hsa_system_get_info(2, 0x1d4b220) = 0 -43928826026829:43928826027449 26045:26045 hsa_system_get_info(2, 0x1d4b228) = 0 -43928826028193:43928826028815 26045:26045 hsa_system_get_info(2, 0x1d4b230) = 0 -43928826029560:43928826030183 26045:26045 hsa_system_get_info(2, 0x1d4b238) = 0 -43928826030930:43928826031547 26045:26045 hsa_system_get_info(2, 0x1d4b240) = 0 -43928826032296:43928826032915 26045:26045 hsa_system_get_info(2, 0x1d4b248) = 0 -43928826033662:43928826034283 26045:26045 hsa_system_get_info(2, 0x1d4b250) = 0 -43928826035029:43928826035647 26045:26045 hsa_system_get_info(2, 0x1d4b258) = 0 -43928826036403:43928826037025 26045:26045 hsa_system_get_info(2, 0x1d4b260) = 0 -43928826037774:43928826038392 26045:26045 hsa_system_get_info(2, 0x1d4b268) = 0 -43928826039945:43928826040573 26045:26045 hsa_system_get_info(2, 0x1d4b270) = 0 -43928826041319:43928826041944 26045:26045 hsa_system_get_info(2, 0x1d4b278) = 0 -43928826042694:43928826043313 26045:26045 hsa_system_get_info(2, 0x1d4b280) = 0 -43928826044061:43928826044679 26045:26045 hsa_system_get_info(2, 0x1d4b288) = 0 -43928826045423:43928826046045 26045:26045 hsa_system_get_info(2, 0x1d4b290) = 0 -43928826046793:43928826047415 26045:26045 hsa_system_get_info(2, 0x1d4b298) = 0 -43928826048162:43928826048781 26045:26045 hsa_system_get_info(2, 0x1d4b2a0) = 0 -43928826049531:43928826050146 26045:26045 hsa_system_get_info(2, 0x1d4b2a8) = 0 -43928826050893:43928826051512 26045:26045 hsa_system_get_info(2, 0x1d4b2b0) = 0 -43928826052260:43928826052883 26045:26045 hsa_system_get_info(2, 0x1d4b2b8) = 0 -43928826053630:43928826054248 26045:26045 hsa_system_get_info(2, 0x1d4b2c0) = 0 -43928826054991:43928826055610 26045:26045 hsa_system_get_info(2, 0x1d4b2c8) = 0 -43928826056357:43928826056979 26045:26045 hsa_system_get_info(2, 0x1d4b2d0) = 0 -43928826057729:43928826058367 26045:26045 hsa_system_get_info(2, 0x1d4b2d8) = 0 -43928826059114:43928826059741 26045:26045 hsa_system_get_info(2, 0x1d4b2e0) = 0 -43928826060490:43928826061108 26045:26045 hsa_system_get_info(2, 0x1d4b2e8) = 0 -43928826061911:43928826062535 26045:26045 hsa_system_get_info(2, 0x1d4b2f0) = 0 -43928826063285:43928826063912 26045:26045 hsa_system_get_info(2, 0x1d4b2f8) = 0 -43928826064664:43928826065285 26045:26045 hsa_system_get_info(2, 0x1d4b300) = 0 -43928826066031:43928826066652 26045:26045 hsa_system_get_info(2, 0x1d4b308) = 0 -43928826067398:43928826068021 26045:26045 hsa_system_get_info(2, 0x1d4b310) = 0 -43928826068768:43928826069383 26045:26045 hsa_system_get_info(2, 0x1d4b318) = 0 -43928826070130:43928826070757 26045:26045 hsa_system_get_info(2, 0x1d4b320) = 0 -43928826071508:43928826072140 26045:26045 hsa_system_get_info(2, 0x1d4b328) = 0 -43928826072888:43928826073510 26045:26045 hsa_system_get_info(2, 0x1d4b330) = 0 -43928826074262:43928826074885 26045:26045 hsa_system_get_info(2, 0x1d4b338) = 0 -43928826075633:43928826076257 26045:26045 hsa_system_get_info(2, 0x1d4b340) = 0 -43928826077002:43928826077624 26045:26045 hsa_system_get_info(2, 0x1d4b348) = 0 -43928826079104:43928826079736 26045:26045 hsa_system_get_info(2, 0x1d4b350) = 0 -43928826080482:43928826081105 26045:26045 hsa_system_get_info(2, 0x1d4b358) = 0 -43928826081853:43928826082472 26045:26045 hsa_system_get_info(2, 0x1d4b360) = 0 -43928826083214:43928826083834 26045:26045 hsa_system_get_info(2, 0x1d4b368) = 0 -43928826084581:43928826085206 26045:26045 hsa_system_get_info(2, 0x1d4b370) = 0 -43928826085954:43928826086574 26045:26045 hsa_system_get_info(2, 0x1d4b378) = 0 -43928826087320:43928826087939 26045:26045 hsa_system_get_info(2, 0x1d4b380) = 0 -43928826088689:43928826089311 26045:26045 hsa_system_get_info(2, 0x1d4b388) = 0 -43928826090059:43928826090680 26045:26045 hsa_system_get_info(2, 0x1d4b390) = 0 -43928826091430:43928826092051 26045:26045 hsa_system_get_info(2, 0x1d4b398) = 0 -43928826092797:43928826093418 26045:26045 hsa_system_get_info(2, 0x1d4b3a0) = 0 -43928826094168:43928826094788 26045:26045 hsa_system_get_info(2, 0x1d4b3a8) = 0 -43928826095534:43928826096163 26045:26045 hsa_system_get_info(2, 0x1d4b3b0) = 0 -43928826096909:43928826097532 26045:26045 hsa_system_get_info(2, 0x1d4b3b8) = 0 -43928826098304:43928826098921 26045:26045 hsa_system_get_info(2, 0x1d4b3c0) = 0 -43928826099667:43928826100287 26045:26045 hsa_system_get_info(2, 0x1d4b3c8) = 0 -43928826101032:43928826101654 26045:26045 hsa_system_get_info(2, 0x1d4b3d0) = 0 -43928826102405:43928826103024 26045:26045 hsa_system_get_info(2, 0x1d4b3d8) = 0 -43928826103769:43928826104390 26045:26045 hsa_system_get_info(2, 0x1d4b3e0) = 0 -43928826105137:43928826105757 26045:26045 hsa_system_get_info(2, 0x1d4b3e8) = 0 -43928826106501:43928826107119 26045:26045 hsa_system_get_info(2, 0x1d4b3f0) = 0 -43928826107867:43928826108482 26045:26045 hsa_system_get_info(2, 0x1d4b3f8) = 0 -43928826109231:43928826109855 26045:26045 hsa_system_get_info(2, 0x1d4b400) = 0 -43928826110602:43928826111223 26045:26045 hsa_system_get_info(2, 0x1d4b408) = 0 -43928826111971:43928826112594 26045:26045 hsa_system_get_info(2, 0x1d4b410) = 0 -43928826113342:43928826113960 26045:26045 hsa_system_get_info(2, 0x1d4b418) = 0 -43928826114712:43928826115331 26045:26045 hsa_system_get_info(2, 0x1d4b420) = 0 -43928826116082:43928826116706 26045:26045 hsa_system_get_info(2, 0x1d4b428) = 0 -43928826117466:43928826118088 26045:26045 hsa_system_get_info(2, 0x1d4b430) = 0 -43928826119659:43928826120285 26045:26045 hsa_system_get_info(2, 0x1d4b438) = 0 -43928826121035:43928826121659 26045:26045 hsa_system_get_info(2, 0x1d4b440) = 0 -43928826122408:43928826123034 26045:26045 hsa_system_get_info(2, 0x1d4b448) = 0 -43928826123781:43928826124407 26045:26045 hsa_system_get_info(2, 0x1d4b450) = 0 -43928826125154:43928826125775 26045:26045 hsa_system_get_info(2, 0x1d4b458) = 0 -43928826126520:43928826127140 26045:26045 hsa_system_get_info(2, 0x1d4b460) = 0 -43928826127883:43928826128500 26045:26045 hsa_system_get_info(2, 0x1d4b468) = 0 -43928826129247:43928826129864 26045:26045 hsa_system_get_info(2, 0x1d4b470) = 0 -43928826130610:43928826131232 26045:26045 hsa_system_get_info(2, 0x1d4b478) = 0 -43928826131975:43928826132596 26045:26045 hsa_system_get_info(2, 0x1d4b480) = 0 -43928826133343:43928826133963 26045:26045 hsa_system_get_info(2, 0x1d4b488) = 0 -43928826134711:43928826135330 26045:26045 hsa_system_get_info(2, 0x1d4b490) = 0 -43928826136074:43928826136691 26045:26045 hsa_system_get_info(2, 0x1d4b498) = 0 -43928826137436:43928826138073 26045:26045 hsa_system_get_info(2, 0x1d4b4a0) = 0 -43928826138825:43928826139447 26045:26045 hsa_system_get_info(2, 0x1d4b4a8) = 0 -43928826140194:43928826140815 26045:26045 hsa_system_get_info(2, 0x1d4b4b0) = 0 -43928826141567:43928826142186 26045:26045 hsa_system_get_info(2, 0x1d4b4b8) = 0 -43928826142935:43928826143555 26045:26045 hsa_system_get_info(2, 0x1d4b4c0) = 0 -43928826144299:43928826144918 26045:26045 hsa_system_get_info(2, 0x1d4b4c8) = 0 -43928826145663:43928826146291 26045:26045 hsa_system_get_info(2, 0x1d4b4d0) = 0 -43928826147041:43928826147660 26045:26045 hsa_system_get_info(2, 0x1d4b4d8) = 0 -43928826148405:43928826149022 26045:26045 hsa_system_get_info(2, 0x1d4b4e0) = 0 -43928826149772:43928826150384 26045:26045 hsa_system_get_info(2, 0x1d4b4e8) = 0 -43928826151130:43928826151749 26045:26045 hsa_system_get_info(2, 0x1d4b4f0) = 0 -43928826152493:43928826153114 26045:26045 hsa_system_get_info(2, 0x1d4b4f8) = 0 -43928826153862:43928826154486 26045:26045 hsa_system_get_info(2, 0x1d4b500) = 0 -43928826155236:43928826155853 26045:26045 hsa_system_get_info(2, 0x1d4b508) = 0 -43928826156597:43928826157229 26045:26045 hsa_system_get_info(2, 0x1d4b510) = 0 -43928826158738:43928826159357 26045:26045 hsa_system_get_info(2, 0x1d4b518) = 0 -43928826160101:43928826160728 26045:26045 hsa_system_get_info(2, 0x1d4b520) = 0 -43928826161471:43928826162092 26045:26045 hsa_system_get_info(2, 0x1d4b528) = 0 -43928826162838:43928826163460 26045:26045 hsa_system_get_info(2, 0x1d4b530) = 0 -43928826164208:43928826164827 26045:26045 hsa_system_get_info(2, 0x1d4b538) = 0 -43928826165572:43928826166198 26045:26045 hsa_system_get_info(2, 0x1d4b540) = 0 -43928826166942:43928826167564 26045:26045 hsa_system_get_info(2, 0x1d4b548) = 0 -43928826168306:43928826168923 26045:26045 hsa_system_get_info(2, 0x1d4b550) = 0 -43928826169667:43928826170291 26045:26045 hsa_system_get_info(2, 0x1d4b558) = 0 -43928826171038:43928826171663 26045:26045 hsa_system_get_info(2, 0x1d4b560) = 0 -43928826172408:43928826173032 26045:26045 hsa_system_get_info(2, 0x1d4b568) = 0 -43928826173776:43928826174396 26045:26045 hsa_system_get_info(2, 0x1d4b570) = 0 -43928826175143:43928826175759 26045:26045 hsa_system_get_info(2, 0x1d4b578) = 0 -43928826176509:43928826177142 26045:26045 hsa_system_get_info(2, 0x1d4b580) = 0 -43928826177889:43928826178509 26045:26045 hsa_system_get_info(2, 0x1d4b588) = 0 -43928826179256:43928826179876 26045:26045 hsa_system_get_info(2, 0x1d4b590) = 0 -43928826180620:43928826181241 26045:26045 hsa_system_get_info(2, 0x1d4b598) = 0 -43928826181984:43928826182609 26045:26045 hsa_system_get_info(2, 0x1d4b5a0) = 0 -43928826183352:43928826183972 26045:26045 hsa_system_get_info(2, 0x1d4b5a8) = 0 -43928826184721:43928826185345 26045:26045 hsa_system_get_info(2, 0x1d4b5b0) = 0 -43928826186096:43928826186717 26045:26045 hsa_system_get_info(2, 0x1d4b5b8) = 0 -43928826187463:43928826188080 26045:26045 hsa_system_get_info(2, 0x1d4b5c0) = 0 -43928826188827:43928826189447 26045:26045 hsa_system_get_info(2, 0x1d4b5c8) = 0 -43928826190195:43928826190814 26045:26045 hsa_system_get_info(2, 0x1d4b5d0) = 0 -43928826191563:43928826192183 26045:26045 hsa_system_get_info(2, 0x1d4b5d8) = 0 -43928826192929:43928826193554 26045:26045 hsa_system_get_info(2, 0x1d4b5e0) = 0 -43928826194335:43928826194955 26045:26045 hsa_system_get_info(2, 0x1d4b5e8) = 0 -43928826195706:43928826196325 26045:26045 hsa_system_get_info(2, 0x1d4b5f0) = 0 -43928826197810:43928826198452 26045:26045 hsa_system_get_info(2, 0x1d4b5f8) = 0 -43928826199200:43928826199820 26045:26045 hsa_system_get_info(2, 0x1d4b600) = 0 -43928826200570:43928826201188 26045:26045 hsa_system_get_info(2, 0x1d4b608) = 0 -43928826201953:43928826202574 26045:26045 hsa_system_get_info(2, 0x1d4b610) = 0 -43928826203320:43928826203934 26045:26045 hsa_system_get_info(2, 0x1d4b618) = 0 -43928826204683:43928826205304 26045:26045 hsa_system_get_info(2, 0x1d4b620) = 0 -43928826206051:43928826206669 26045:26045 hsa_system_get_info(2, 0x1d4b628) = 0 -43928826207415:43928826208032 26045:26045 hsa_system_get_info(2, 0x1d4b630) = 0 -43928826208776:43928826209393 26045:26045 hsa_system_get_info(2, 0x1d4b638) = 0 -43928826210137:43928826210753 26045:26045 hsa_system_get_info(2, 0x1d4b640) = 0 -43928826211499:43928826212127 26045:26045 hsa_system_get_info(2, 0x1d4b648) = 0 -43928826212875:43928826213489 26045:26045 hsa_system_get_info(2, 0x1d4b650) = 0 -43928826214233:43928826214849 26045:26045 hsa_system_get_info(2, 0x1d4b658) = 0 -43928826215597:43928826216217 26045:26045 hsa_system_get_info(2, 0x1d4b660) = 0 -43928826216968:43928826217588 26045:26045 hsa_system_get_info(2, 0x1d4b668) = 0 -43928826218334:43928826218954 26045:26045 hsa_system_get_info(2, 0x1d4b670) = 0 -43928826219701:43928826220320 26045:26045 hsa_system_get_info(2, 0x1d4b678) = 0 -43928826221077:43928826221696 26045:26045 hsa_system_get_info(2, 0x1d4b680) = 0 -43928826222440:43928826223057 26045:26045 hsa_system_get_info(2, 0x1d4b688) = 0 -43928826223804:43928826224424 26045:26045 hsa_system_get_info(2, 0x1d4b690) = 0 -43928826225173:43928826225795 26045:26045 hsa_system_get_info(2, 0x1d4b698) = 0 -43928826226540:43928826227163 26045:26045 hsa_system_get_info(2, 0x1d4b6a0) = 0 -43928826227909:43928826228529 26045:26045 hsa_system_get_info(2, 0x1d4b6a8) = 0 -43928826229276:43928826229892 26045:26045 hsa_system_get_info(2, 0x1d4b6b0) = 0 -43928826230635:43928826231252 26045:26045 hsa_system_get_info(2, 0x1d4b6b8) = 0 -43928826232001:43928826232621 26045:26045 hsa_system_get_info(2, 0x1d4b6c0) = 0 -43928826233366:43928826233990 26045:26045 hsa_system_get_info(2, 0x1d4b6c8) = 0 -43928826234758:43928826235378 26045:26045 hsa_system_get_info(2, 0x1d4b6d0) = 0 -43928826236123:43928826236742 26045:26045 hsa_system_get_info(2, 0x1d4b6d8) = 0 -43928826238232:43928826238856 26045:26045 hsa_system_get_info(2, 0x1d4b6e0) = 0 -43928826239602:43928826240228 26045:26045 hsa_system_get_info(2, 0x1d4b6e8) = 0 -43928826240974:43928826241597 26045:26045 hsa_system_get_info(2, 0x1d4b6f0) = 0 -43928826242343:43928826242967 26045:26045 hsa_system_get_info(2, 0x1d4b6f8) = 0 -43928826243715:43928826244336 26045:26045 hsa_system_get_info(2, 0x1d4b700) = 0 -43928826245080:43928826245699 26045:26045 hsa_system_get_info(2, 0x1d4b708) = 0 -43928826246444:43928826247067 26045:26045 hsa_system_get_info(2, 0x1d4b710) = 0 -43928826247811:43928826248429 26045:26045 hsa_system_get_info(2, 0x1d4b718) = 0 -43928826249176:43928826249793 26045:26045 hsa_system_get_info(2, 0x1d4b720) = 0 -43928826250540:43928826251160 26045:26045 hsa_system_get_info(2, 0x1d4b728) = 0 -43928826251911:43928826252529 26045:26045 hsa_system_get_info(2, 0x1d4b730) = 0 -43928826253278:43928826253896 26045:26045 hsa_system_get_info(2, 0x1d4b738) = 0 -43928826254644:43928826255259 26045:26045 hsa_system_get_info(2, 0x1d4b740) = 0 -43928826256003:43928826256636 26045:26045 hsa_system_get_info(2, 0x1d4b748) = 0 -43928826257384:43928826258001 26045:26045 hsa_system_get_info(2, 0x1d4b750) = 0 -43928826258748:43928826259368 26045:26045 hsa_system_get_info(2, 0x1d4b758) = 0 -43928826260115:43928826260735 26045:26045 hsa_system_get_info(2, 0x1d4b760) = 0 -43928826261479:43928826262100 26045:26045 hsa_system_get_info(2, 0x1d4b768) = 0 -43928826262848:43928826263466 26045:26045 hsa_system_get_info(2, 0x1d4b770) = 0 -43928826264215:43928826264836 26045:26045 hsa_system_get_info(2, 0x1d4b778) = 0 -43928826265586:43928826266201 26045:26045 hsa_system_get_info(2, 0x1d4b780) = 0 -43928826266949:43928826267573 26045:26045 hsa_system_get_info(2, 0x1d4b788) = 0 -43928826268323:43928826268942 26045:26045 hsa_system_get_info(2, 0x1d4b790) = 0 -43928826269690:43928826270303 26045:26045 hsa_system_get_info(2, 0x1d4b798) = 0 -43928826271051:43928826271671 26045:26045 hsa_system_get_info(2, 0x1d4b7a0) = 0 -43928826272419:43928826273039 26045:26045 hsa_system_get_info(2, 0x1d4b7a8) = 0 -43928826273785:43928826274402 26045:26045 hsa_system_get_info(2, 0x1d4b7b0) = 0 -43928826275166:43928826275788 26045:26045 hsa_system_get_info(2, 0x1d4b7b8) = 0 -43928826277869:43928826278506 26045:26045 hsa_system_get_info(2, 0x1d4b7c0) = 0 -43928826279254:43928826279869 26045:26045 hsa_system_get_info(2, 0x1d4b7c8) = 0 -43928826280614:43928826281235 26045:26045 hsa_system_get_info(2, 0x1d4b7d0) = 0 -43928826281987:43928826282606 26045:26045 hsa_system_get_info(2, 0x1d4b7d8) = 0 -43928826283348:43928826283969 26045:26045 hsa_system_get_info(2, 0x1d4b7e0) = 0 -43928826284716:43928826285337 26045:26045 hsa_system_get_info(2, 0x1d4b7e8) = 0 -43928826286082:43928826286705 26045:26045 hsa_system_get_info(2, 0x1d4b7f0) = 0 -43928826287450:43928826288069 26045:26045 hsa_system_get_info(2, 0x1d4b7f8) = 0 -43928826288815:43928826289434 26045:26045 hsa_system_get_info(2, 0x1d4b800) = 0 -43928826290179:43928826290814 26045:26045 hsa_system_get_info(2, 0x1d4b808) = 0 -43928826291563:43928826292185 26045:26045 hsa_system_get_info(2, 0x1d4b810) = 0 -43928826292935:43928826293557 26045:26045 hsa_system_get_info(2, 0x1d4b818) = 0 -43928826294356:43928826294978 26045:26045 hsa_system_get_info(2, 0x1d4b820) = 0 -43928826295749:43928826296370 26045:26045 hsa_system_get_info(2, 0x1d4b828) = 0 -43928826297121:43928826297735 26045:26045 hsa_system_get_info(2, 0x1d4b830) = 0 -43928826298484:43928826299105 26045:26045 hsa_system_get_info(2, 0x1d4b838) = 0 -43928826299850:43928826300469 26045:26045 hsa_system_get_info(2, 0x1d4b840) = 0 -43928826301218:43928826301832 26045:26045 hsa_system_get_info(2, 0x1d4b848) = 0 -43928826302580:43928826303199 26045:26045 hsa_system_get_info(2, 0x1d4b850) = 0 -43928826303948:43928826304562 26045:26045 hsa_system_get_info(2, 0x1d4b858) = 0 -43928826305309:43928826305926 26045:26045 hsa_system_get_info(2, 0x1d4b860) = 0 -43928826306671:43928826307292 26045:26045 hsa_system_get_info(2, 0x1d4b868) = 0 -43928826308041:43928826308656 26045:26045 hsa_system_get_info(2, 0x1d4b870) = 0 -43928826309403:43928826310021 26045:26045 hsa_system_get_info(2, 0x1d4b878) = 0 -43928826310766:43928826311385 26045:26045 hsa_system_get_info(2, 0x1d4b880) = 0 -43928826312129:43928826312749 26045:26045 hsa_system_get_info(2, 0x1d4b888) = 0 -43928826313498:43928826314120 26045:26045 hsa_system_get_info(2, 0x1d4b890) = 0 -43928826314890:43928826315511 26045:26045 hsa_system_get_info(2, 0x1d4b898) = 0 -43928826316278:43928826316905 26045:26045 hsa_system_get_info(2, 0x1d4b8a0) = 0 -43928826318390:43928826319017 26045:26045 hsa_system_get_info(2, 0x1d4b8a8) = 0 -43928826319761:43928826320377 26045:26045 hsa_system_get_info(2, 0x1d4b8b0) = 0 -43928826321124:43928826321747 26045:26045 hsa_system_get_info(2, 0x1d4b8b8) = 0 -43928826322490:43928826323110 26045:26045 hsa_system_get_info(2, 0x1d4b8c0) = 0 -43928826323856:43928826324470 26045:26045 hsa_system_get_info(2, 0x1d4b8c8) = 0 -43928826325215:43928826325836 26045:26045 hsa_system_get_info(2, 0x1d4b8d0) = 0 -43928826326582:43928826327206 26045:26045 hsa_system_get_info(2, 0x1d4b8d8) = 0 -43928826327955:43928826328577 26045:26045 hsa_system_get_info(2, 0x1d4b8e0) = 0 -43928826329326:43928826329939 26045:26045 hsa_system_get_info(2, 0x1d4b8e8) = 0 -43928826330686:43928826331308 26045:26045 hsa_system_get_info(2, 0x1d4b8f0) = 0 -43928826332053:43928826332676 26045:26045 hsa_system_get_info(2, 0x1d4b8f8) = 0 -43928826333424:43928826334049 26045:26045 hsa_system_get_info(2, 0x1d4b900) = 0 -43928826334797:43928826335419 26045:26045 hsa_system_get_info(2, 0x1d4b908) = 0 -43928826336166:43928826336786 26045:26045 hsa_system_get_info(2, 0x1d4b910) = 0 -43928826337556:43928826338178 26045:26045 hsa_system_get_info(2, 0x1d4b918) = 0 -43928826338923:43928826339545 26045:26045 hsa_system_get_info(2, 0x1d4b920) = 0 -43928826340294:43928826340912 26045:26045 hsa_system_get_info(2, 0x1d4b928) = 0 -43928826341663:43928826342281 26045:26045 hsa_system_get_info(2, 0x1d4b930) = 0 -43928826343024:43928826343644 26045:26045 hsa_system_get_info(2, 0x1d4b938) = 0 -43928826344393:43928826345011 26045:26045 hsa_system_get_info(2, 0x1d4b940) = 0 -43928826345757:43928826346378 26045:26045 hsa_system_get_info(2, 0x1d4b948) = 0 -43928826347125:43928826347749 26045:26045 hsa_system_get_info(2, 0x1d4b950) = 0 -43928826348496:43928826349114 26045:26045 hsa_system_get_info(2, 0x1d4b958) = 0 -43928826349860:43928826350480 26045:26045 hsa_system_get_info(2, 0x1d4b960) = 0 -43928826351231:43928826351856 26045:26045 hsa_system_get_info(2, 0x1d4b968) = 0 -43928826352607:43928826353229 26045:26045 hsa_system_get_info(2, 0x1d4b970) = 0 -43928826353977:43928826354600 26045:26045 hsa_system_get_info(2, 0x1d4b978) = 0 -43928826355352:43928826355971 26045:26045 hsa_system_get_info(2, 0x1d4b980) = 0 -43928826357491:43928826358118 26045:26045 hsa_system_get_info(2, 0x1d4b988) = 0 -43928826358864:43928826359483 26045:26045 hsa_system_get_info(2, 0x1d4b990) = 0 -43928826360225:43928826360845 26045:26045 hsa_system_get_info(2, 0x1d4b998) = 0 -43928826361593:43928826362220 26045:26045 hsa_system_get_info(2, 0x1d4b9a0) = 0 -43928826362968:43928826363588 26045:26045 hsa_system_get_info(2, 0x1d4b9a8) = 0 -43928826364333:43928826364953 26045:26045 hsa_system_get_info(2, 0x1d4b9b0) = 0 -43928826365697:43928826366316 26045:26045 hsa_system_get_info(2, 0x1d4b9b8) = 0 -43928826367060:43928826367681 26045:26045 hsa_system_get_info(2, 0x1d4b9c0) = 0 -43928826368427:43928826369045 26045:26045 hsa_system_get_info(2, 0x1d4b9c8) = 0 -43928826369791:43928826370407 26045:26045 hsa_system_get_info(2, 0x1d4b9d0) = 0 -43928826371149:43928826371763 26045:26045 hsa_system_get_info(2, 0x1d4b9d8) = 0 -43928826372511:43928826373130 26045:26045 hsa_system_get_info(2, 0x1d4b9e0) = 0 -43928826373879:43928826374501 26045:26045 hsa_system_get_info(2, 0x1d4b9e8) = 0 -43928826375248:43928826375871 26045:26045 hsa_system_get_info(2, 0x1d4b9f0) = 0 -43928826376634:43928826377252 26045:26045 hsa_system_get_info(2, 0x1d4b9f8) = 0 -43928826378003:43928826378622 26045:26045 hsa_system_get_info(2, 0x1d4ba00) = 0 -43928826379370:43928826379984 26045:26045 hsa_system_get_info(2, 0x1d4ba08) = 0 -43928826380726:43928826381344 26045:26045 hsa_system_get_info(2, 0x1d4ba10) = 0 -43928826382088:43928826382709 26045:26045 hsa_system_get_info(2, 0x1d4ba18) = 0 -43928826383458:43928826384076 26045:26045 hsa_system_get_info(2, 0x1d4ba20) = 0 -43928826384820:43928826385444 26045:26045 hsa_system_get_info(2, 0x1d4ba28) = 0 -43928826386190:43928826386811 26045:26045 hsa_system_get_info(2, 0x1d4ba30) = 0 -43928826387558:43928826388180 26045:26045 hsa_system_get_info(2, 0x1d4ba38) = 0 -43928826388927:43928826389547 26045:26045 hsa_system_get_info(2, 0x1d4ba40) = 0 -43928826390293:43928826390914 26045:26045 hsa_system_get_info(2, 0x1d4ba48) = 0 -43928826391659:43928826392282 26045:26045 hsa_system_get_info(2, 0x1d4ba50) = 0 -43928826393026:43928826393644 26045:26045 hsa_system_get_info(2, 0x1d4ba58) = 0 -43928826394393:43928826395017 26045:26045 hsa_system_get_info(2, 0x1d4ba60) = 0 -43928826395783:43928826396403 26045:26045 hsa_system_get_info(2, 0x1d4ba68) = 0 -43928826397888:43928826398512 26045:26045 hsa_system_get_info(2, 0x1d4ba70) = 0 -43928826399256:43928826399883 26045:26045 hsa_system_get_info(2, 0x1d4ba78) = 0 -43928826400629:43928826401248 26045:26045 hsa_system_get_info(2, 0x1d4ba80) = 0 -43928826401997:43928826402620 26045:26045 hsa_system_get_info(2, 0x1d4ba88) = 0 -43928826403369:43928826403989 26045:26045 hsa_system_get_info(2, 0x1d4ba90) = 0 -43928826404737:43928826405355 26045:26045 hsa_system_get_info(2, 0x1d4ba98) = 0 -43928826406102:43928826406721 26045:26045 hsa_system_get_info(2, 0x1d4baa0) = 0 -43928826407470:43928826408089 26045:26045 hsa_system_get_info(2, 0x1d4baa8) = 0 -43928826408840:43928826409453 26045:26045 hsa_system_get_info(2, 0x1d4bab0) = 0 -43928826410203:43928826410820 26045:26045 hsa_system_get_info(2, 0x1d4bab8) = 0 -43928826411621:43928826412239 26045:26045 hsa_system_get_info(2, 0x1d4bac0) = 0 -43928826412987:43928826413612 26045:26045 hsa_system_get_info(2, 0x1d4bac8) = 0 -43928826414356:43928826414976 26045:26045 hsa_system_get_info(2, 0x1d4bad0) = 0 -43928826415724:43928826416344 26045:26045 hsa_system_get_info(2, 0x1d4bad8) = 0 -43928826417089:43928826417714 26045:26045 hsa_system_get_info(2, 0x1d4bae0) = 0 -43928826418463:43928826419087 26045:26045 hsa_system_get_info(2, 0x1d4bae8) = 0 -43928826419834:43928826420449 26045:26045 hsa_system_get_info(2, 0x1d4baf0) = 0 -43928826421196:43928826421816 26045:26045 hsa_system_get_info(2, 0x1d4baf8) = 0 -43928826422560:43928826423180 26045:26045 hsa_system_get_info(2, 0x1d4bb00) = 0 -43928826423929:43928826424547 26045:26045 hsa_system_get_info(2, 0x1d4bb08) = 0 -43928826425293:43928826425918 26045:26045 hsa_system_get_info(2, 0x1d4bb10) = 0 -43928826426665:43928826427285 26045:26045 hsa_system_get_info(2, 0x1d4bb18) = 0 -43928826428029:43928826428652 26045:26045 hsa_system_get_info(2, 0x1d4bb20) = 0 -43928826429399:43928826430015 26045:26045 hsa_system_get_info(2, 0x1d4bb28) = 0 -43928826430773:43928826431394 26045:26045 hsa_system_get_info(2, 0x1d4bb30) = 0 -43928826432142:43928826432762 26045:26045 hsa_system_get_info(2, 0x1d4bb38) = 0 -43928826433508:43928826434132 26045:26045 hsa_system_get_info(2, 0x1d4bb40) = 0 -43928826434880:43928826435503 26045:26045 hsa_system_get_info(2, 0x1d4bb48) = 0 -43928826437039:43928826437660 26045:26045 hsa_system_get_info(2, 0x1d4bb50) = 0 -43928826438408:43928826439027 26045:26045 hsa_system_get_info(2, 0x1d4bb58) = 0 -43928826439771:43928826440392 26045:26045 hsa_system_get_info(2, 0x1d4bb60) = 0 -43928826441138:43928826441761 26045:26045 hsa_system_get_info(2, 0x1d4bb68) = 0 -43928826442508:43928826443129 26045:26045 hsa_system_get_info(2, 0x1d4bb70) = 0 -43928826443872:43928826444489 26045:26045 hsa_system_get_info(2, 0x1d4bb78) = 0 -43928826445233:43928826445854 26045:26045 hsa_system_get_info(2, 0x1d4bb80) = 0 -43928826446595:43928826447217 26045:26045 hsa_system_get_info(2, 0x1d4bb88) = 0 -43928826447964:43928826448587 26045:26045 hsa_system_get_info(2, 0x1d4bb90) = 0 -43928826449333:43928826449956 26045:26045 hsa_system_get_info(2, 0x1d4bb98) = 0 -43928826450699:43928826451322 26045:26045 hsa_system_get_info(2, 0x1d4bba0) = 0 -43928826452067:43928826452688 26045:26045 hsa_system_get_info(2, 0x1d4bba8) = 0 -43928826453436:43928826454056 26045:26045 hsa_system_get_info(2, 0x1d4bbb0) = 0 -43928826454819:43928826455439 26045:26045 hsa_system_get_info(2, 0x1d4bbb8) = 0 -43928826456186:43928826456806 26045:26045 hsa_system_get_info(2, 0x1d4bbc0) = 0 -43928826457555:43928826458173 26045:26045 hsa_system_get_info(2, 0x1d4bbc8) = 0 -43928826458919:43928826459541 26045:26045 hsa_system_get_info(2, 0x1d4bbd0) = 0 -43928826460289:43928826460914 26045:26045 hsa_system_get_info(2, 0x1d4bbd8) = 0 -43928826461663:43928826462280 26045:26045 hsa_system_get_info(2, 0x1d4bbe0) = 0 -43928826463025:43928826463644 26045:26045 hsa_system_get_info(2, 0x1d4bbe8) = 0 -43928826464393:43928826465012 26045:26045 hsa_system_get_info(2, 0x1d4bbf0) = 0 -43928826465757:43928826466375 26045:26045 hsa_system_get_info(2, 0x1d4bbf8) = 0 -43928826467117:43928826467734 26045:26045 hsa_system_get_info(2, 0x1d4bc00) = 0 -43928826468482:43928826469098 26045:26045 hsa_system_get_info(2, 0x1d4bc08) = 0 -43928826469845:43928826470464 26045:26045 hsa_system_get_info(2, 0x1d4bc10) = 0 -43928826471210:43928826471834 26045:26045 hsa_system_get_info(2, 0x1d4bc18) = 0 -43928826472578:43928826473198 26045:26045 hsa_system_get_info(2, 0x1d4bc20) = 0 -43928826473965:43928826474582 26045:26045 hsa_system_get_info(2, 0x1d4bc28) = 0 -43928826475328:43928826475951 26045:26045 hsa_system_get_info(2, 0x1d4bc30) = 0 -43928826477453:43928826478079 26045:26045 hsa_system_get_info(2, 0x1d4bc38) = 0 -43928826478831:43928826479455 26045:26045 hsa_system_get_info(2, 0x1d4bc40) = 0 -43928826480202:43928826480829 26045:26045 hsa_system_get_info(2, 0x1d4bc48) = 0 -43928826481577:43928826482201 26045:26045 hsa_system_get_info(2, 0x1d4bc50) = 0 -43928826482951:43928826483568 26045:26045 hsa_system_get_info(2, 0x1d4bc58) = 0 -43928826484323:43928826484943 26045:26045 hsa_system_get_info(2, 0x1d4bc60) = 0 -43928826485691:43928826486313 26045:26045 hsa_system_get_info(2, 0x1d4bc68) = 0 -43928826487059:43928826487686 26045:26045 hsa_system_get_info(2, 0x1d4bc70) = 0 -43928826488435:43928826489050 26045:26045 hsa_system_get_info(2, 0x1d4bc78) = 0 -43928826489795:43928826490411 26045:26045 hsa_system_get_info(2, 0x1d4bc80) = 0 -43928826491156:43928826491772 26045:26045 hsa_system_get_info(2, 0x1d4bc88) = 0 -43928826492520:43928826493139 26045:26045 hsa_system_get_info(2, 0x1d4bc90) = 0 -43928826493882:43928826494508 26045:26045 hsa_system_get_info(2, 0x1d4bc98) = 0 -43928826495254:43928826495872 26045:26045 hsa_system_get_info(2, 0x1d4bca0) = 0 -43928826496634:43928826497252 26045:26045 hsa_system_get_info(2, 0x1d4bca8) = 0 -43928826497999:43928826498614 26045:26045 hsa_system_get_info(2, 0x1d4bcb0) = 0 -43928826499359:43928826499976 26045:26045 hsa_system_get_info(2, 0x1d4bcb8) = 0 -43928826500722:43928826501335 26045:26045 hsa_system_get_info(2, 0x1d4bcc0) = 0 -43928826502083:43928826502705 26045:26045 hsa_system_get_info(2, 0x1d4bcc8) = 0 -43928826503463:43928826504082 26045:26045 hsa_system_get_info(2, 0x1d4bcd0) = 0 -43928826504825:43928826505446 26045:26045 hsa_system_get_info(2, 0x1d4bcd8) = 0 -43928826506194:43928826506811 26045:26045 hsa_system_get_info(2, 0x1d4bce0) = 0 -43928826507561:43928826508182 26045:26045 hsa_system_get_info(2, 0x1d4bce8) = 0 -43928826508931:43928826509556 26045:26045 hsa_system_get_info(2, 0x1d4bcf0) = 0 -43928826510301:43928826510923 26045:26045 hsa_system_get_info(2, 0x1d4bcf8) = 0 -43928826511690:43928826512308 26045:26045 hsa_system_get_info(2, 0x1d4bd00) = 0 -43928826513057:43928826513678 26045:26045 hsa_system_get_info(2, 0x1d4bd08) = 0 -43928826514425:43928826515041 26045:26045 hsa_system_get_info(2, 0x1d4bd10) = 0 -43928826517370:43928826517995 26045:26045 hsa_system_get_info(2, 0x1d4bd18) = 0 -43928826518747:43928826519371 26045:26045 hsa_system_get_info(2, 0x1d4bd20) = 0 -43928826520118:43928826520738 26045:26045 hsa_system_get_info(2, 0x1d4bd28) = 0 -43928826521487:43928826522107 26045:26045 hsa_system_get_info(2, 0x1d4bd30) = 0 -43928826522854:43928826523476 26045:26045 hsa_system_get_info(2, 0x1d4bd38) = 0 -43928826524226:43928826524845 26045:26045 hsa_system_get_info(2, 0x1d4bd40) = 0 -43928826525590:43928826526210 26045:26045 hsa_system_get_info(2, 0x1d4bd48) = 0 -43928826526955:43928826527573 26045:26045 hsa_system_get_info(2, 0x1d4bd50) = 0 -43928826528319:43928826528942 26045:26045 hsa_system_get_info(2, 0x1d4bd58) = 0 -43928826529701:43928826530318 26045:26045 hsa_system_get_info(2, 0x1d4bd60) = 0 -43928826531061:43928826531684 26045:26045 hsa_system_get_info(2, 0x1d4bd68) = 0 -43928826532432:43928826533052 26045:26045 hsa_system_get_info(2, 0x1d4bd70) = 0 -43928826533797:43928826534417 26045:26045 hsa_system_get_info(2, 0x1d4bd78) = 0 -43928826535163:43928826535783 26045:26045 hsa_system_get_info(2, 0x1d4bd80) = 0 -43928826536527:43928826537151 26045:26045 hsa_system_get_info(2, 0x1d4bd88) = 0 -43928826537896:43928826538513 26045:26045 hsa_system_get_info(2, 0x1d4bd90) = 0 -43928826539256:43928826539876 26045:26045 hsa_system_get_info(2, 0x1d4bd98) = 0 -43928826540620:43928826541245 26045:26045 hsa_system_get_info(2, 0x1d4bda0) = 0 -43928826541990:43928826542614 26045:26045 hsa_system_get_info(2, 0x1d4bda8) = 0 -43928826543365:43928826543981 26045:26045 hsa_system_get_info(2, 0x1d4bdb0) = 0 -43928826544728:43928826545348 26045:26045 hsa_system_get_info(2, 0x1d4bdb8) = 0 -43928826546094:43928826546717 26045:26045 hsa_system_get_info(2, 0x1d4bdc0) = 0 -43928826547459:43928826548080 26045:26045 hsa_system_get_info(2, 0x1d4bdc8) = 0 -43928826548839:43928826549453 26045:26045 hsa_system_get_info(2, 0x1d4bdd0) = 0 -43928826550199:43928826550814 26045:26045 hsa_system_get_info(2, 0x1d4bdd8) = 0 -43928826551563:43928826552177 26045:26045 hsa_system_get_info(2, 0x1d4bde0) = 0 -43928826552923:43928826553541 26045:26045 hsa_system_get_info(2, 0x1d4bde8) = 0 -43928826554291:43928826554911 26045:26045 hsa_system_get_info(2, 0x1d4bdf0) = 0 -43928826556400:43928826557028 26045:26045 hsa_system_get_info(2, 0x1d4bdf8) = 0 -43928826557778:43928826558419 26045:26045 hsa_system_get_info(2, 0x1d4be00) = 0 -43928826559169:43928826559797 26045:26045 hsa_system_get_info(2, 0x1d4be08) = 0 -43928826560547:43928826561172 26045:26045 hsa_system_get_info(2, 0x1d4be10) = 0 -43928826561926:43928826562548 26045:26045 hsa_system_get_info(2, 0x1d4be18) = 0 -43928826563297:43928826563921 26045:26045 hsa_system_get_info(2, 0x1d4be20) = 0 -43928826564670:43928826565291 26045:26045 hsa_system_get_info(2, 0x1d4be28) = 0 -43928826566040:43928826566668 26045:26045 hsa_system_get_info(2, 0x1d4be30) = 0 -43928826567412:43928826568033 26045:26045 hsa_system_get_info(2, 0x1d4be38) = 0 -43928826568781:43928826569402 26045:26045 hsa_system_get_info(2, 0x1d4be40) = 0 -43928826570150:43928826570771 26045:26045 hsa_system_get_info(2, 0x1d4be48) = 0 -43928826571521:43928826572145 26045:26045 hsa_system_get_info(2, 0x1d4be50) = 0 -43928826572894:43928826573515 26045:26045 hsa_system_get_info(2, 0x1d4be58) = 0 -43928826574265:43928826574884 26045:26045 hsa_system_get_info(2, 0x1d4be60) = 0 -43928826575633:43928826576257 26045:26045 hsa_system_get_info(2, 0x1d4be68) = 0 -43928826577001:43928826577638 26045:26045 hsa_system_get_info(2, 0x1d4be70) = 0 -43928826578386:43928826579007 26045:26045 hsa_system_get_info(2, 0x1d4be78) = 0 -43928826579758:43928826580379 26045:26045 hsa_system_get_info(2, 0x1d4be80) = 0 -43928826581124:43928826581741 26045:26045 hsa_system_get_info(2, 0x1d4be88) = 0 -43928826582487:43928826583110 26045:26045 hsa_system_get_info(2, 0x1d4be90) = 0 -43928826583855:43928826584478 26045:26045 hsa_system_get_info(2, 0x1d4be98) = 0 -43928826585220:43928826585836 26045:26045 hsa_system_get_info(2, 0x1d4bea0) = 0 -43928826586586:43928826587205 26045:26045 hsa_system_get_info(2, 0x1d4bea8) = 0 -43928826587953:43928826588572 26045:26045 hsa_system_get_info(2, 0x1d4beb0) = 0 -43928826589322:43928826589943 26045:26045 hsa_system_get_info(2, 0x1d4beb8) = 0 -43928826590693:43928826591309 26045:26045 hsa_system_get_info(2, 0x1d4bec0) = 0 -43928826592059:43928826592680 26045:26045 hsa_system_get_info(2, 0x1d4bec8) = 0 -43928826593445:43928826594066 26045:26045 hsa_system_get_info(2, 0x1d4bed0) = 0 -43928826594810:43928826595430 26045:26045 hsa_system_get_info(2, 0x1d4bed8) = 0 -43928826596920:43928826597542 26045:26045 hsa_system_get_info(2, 0x1d4bee0) = 0 -43928826598293:43928826598912 26045:26045 hsa_system_get_info(2, 0x1d4bee8) = 0 -43928826599659:43928826600278 26045:26045 hsa_system_get_info(2, 0x1d4bef0) = 0 -43928826601024:43928826601642 26045:26045 hsa_system_get_info(2, 0x1d4bef8) = 0 -43928826602383:43928826603002 26045:26045 hsa_system_get_info(2, 0x1d4bf00) = 0 -43928826603751:43928826604372 26045:26045 hsa_system_get_info(2, 0x1d4bf08) = 0 -43928826605117:43928826605745 26045:26045 hsa_system_get_info(2, 0x1d4bf10) = 0 -43928826606486:43928826607107 26045:26045 hsa_system_get_info(2, 0x1d4bf18) = 0 -43928826607854:43928826608474 26045:26045 hsa_system_get_info(2, 0x1d4bf20) = 0 -43928826609223:43928826609843 26045:26045 hsa_system_get_info(2, 0x1d4bf28) = 0 -43928826610589:43928826611208 26045:26045 hsa_system_get_info(2, 0x1d4bf30) = 0 -43928826611951:43928826612569 26045:26045 hsa_system_get_info(2, 0x1d4bf38) = 0 -43928826613316:43928826613936 26045:26045 hsa_system_get_info(2, 0x1d4bf40) = 0 -43928826614682:43928826615303 26045:26045 hsa_system_get_info(2, 0x1d4bf48) = 0 -43928826616089:43928826616708 26045:26045 hsa_system_get_info(2, 0x1d4bf50) = 0 -43928826617454:43928826618075 26045:26045 hsa_system_get_info(2, 0x1d4bf58) = 0 -43928826618822:43928826619443 26045:26045 hsa_system_get_info(2, 0x1d4bf60) = 0 -43928826620191:43928826620809 26045:26045 hsa_system_get_info(2, 0x1d4bf68) = 0 -43928826621556:43928826622177 26045:26045 hsa_system_get_info(2, 0x1d4bf70) = 0 -43928826622923:43928826623543 26045:26045 hsa_system_get_info(2, 0x1d4bf78) = 0 -43928826624288:43928826624906 26045:26045 hsa_system_get_info(2, 0x1d4bf80) = 0 -43928826625649:43928826626273 26045:26045 hsa_system_get_info(2, 0x1d4bf88) = 0 -43928826627018:43928826627638 26045:26045 hsa_system_get_info(2, 0x1d4bf90) = 0 -43928826628383:43928826629000 26045:26045 hsa_system_get_info(2, 0x1d4bf98) = 0 -43928826629748:43928826630369 26045:26045 hsa_system_get_info(2, 0x1d4bfa0) = 0 -43928826631117:43928826631732 26045:26045 hsa_system_get_info(2, 0x1d4bfa8) = 0 -43928826632479:43928826633099 26045:26045 hsa_system_get_info(2, 0x1d4bfb0) = 0 -43928826633852:43928826634472 26045:26045 hsa_system_get_info(2, 0x1d4bfb8) = 0 -43928826635965:43928826636590 26045:26045 hsa_system_get_info(2, 0x1d4bfc0) = 0 -43928826637334:43928826637956 26045:26045 hsa_system_get_info(2, 0x1d4bfc8) = 0 -43928826638704:43928826639321 26045:26045 hsa_system_get_info(2, 0x1d4bfd0) = 0 -43928826640067:43928826640687 26045:26045 hsa_system_get_info(2, 0x1d4bfd8) = 0 -43928826641436:43928826642057 26045:26045 hsa_system_get_info(2, 0x1d4bfe0) = 0 -43928826642803:43928826643425 26045:26045 hsa_system_get_info(2, 0x1d4bfe8) = 0 -43928826644170:43928826644790 26045:26045 hsa_system_get_info(2, 0x1d4bff0) = 0 -43928826645536:43928826646158 26045:26045 hsa_system_get_info(2, 0x1d4bff8) = 0 -43928826646901:43928826647526 26045:26045 hsa_system_get_info(2, 0x1d4c000) = 0 -43928826648272:43928826648897 26045:26045 hsa_system_get_info(2, 0x1d4c008) = 0 -43928826649646:43928826650269 26045:26045 hsa_system_get_info(2, 0x1d4c010) = 0 -43928826651018:43928826651643 26045:26045 hsa_system_get_info(2, 0x1d4c018) = 0 -43928826652390:43928826653011 26045:26045 hsa_system_get_info(2, 0x1d4c020) = 0 -43928826653761:43928826654381 26045:26045 hsa_system_get_info(2, 0x1d4c028) = 0 -43928826655141:43928826655763 26045:26045 hsa_system_get_info(2, 0x1d4c030) = 0 -43928826656514:43928826657134 26045:26045 hsa_system_get_info(2, 0x1d4c038) = 0 -43928826657885:43928826658504 26045:26045 hsa_system_get_info(2, 0x1d4c040) = 0 -43928826659252:43928826659874 26045:26045 hsa_system_get_info(2, 0x1d4c048) = 0 -43928826660623:43928826661244 26045:26045 hsa_system_get_info(2, 0x1d4c050) = 0 -43928826661990:43928826662606 26045:26045 hsa_system_get_info(2, 0x1d4c058) = 0 -43928826663351:43928826663969 26045:26045 hsa_system_get_info(2, 0x1d4c060) = 0 -43928826664718:43928826665336 26045:26045 hsa_system_get_info(2, 0x1d4c068) = 0 -43928826666085:43928826666702 26045:26045 hsa_system_get_info(2, 0x1d4c070) = 0 -43928826667449:43928826668070 26045:26045 hsa_system_get_info(2, 0x1d4c078) = 0 -43928826668817:43928826669434 26045:26045 hsa_system_get_info(2, 0x1d4c080) = 0 -43928826670183:43928826670801 26045:26045 hsa_system_get_info(2, 0x1d4c088) = 0 -43928826671564:43928826672183 26045:26045 hsa_system_get_info(2, 0x1d4c090) = 0 -43928826672936:43928826673556 26045:26045 hsa_system_get_info(2, 0x1d4c098) = 0 -43928826674307:43928826674928 26045:26045 hsa_system_get_info(2, 0x1d4c0a0) = 0 -43928826676429:43928826677052 26045:26045 hsa_system_get_info(2, 0x1d4c0a8) = 0 -43928826677794:43928826678407 26045:26045 hsa_system_get_info(2, 0x1d4c0b0) = 0 -43928826679154:43928826679775 26045:26045 hsa_system_get_info(2, 0x1d4c0b8) = 0 -43928826680519:43928826681137 26045:26045 hsa_system_get_info(2, 0x1d4c0c0) = 0 -43928826681882:43928826682506 26045:26045 hsa_system_get_info(2, 0x1d4c0c8) = 0 -43928826683251:43928826683869 26045:26045 hsa_system_get_info(2, 0x1d4c0d0) = 0 -43928826684616:43928826685234 26045:26045 hsa_system_get_info(2, 0x1d4c0d8) = 0 -43928826685987:43928826686614 26045:26045 hsa_system_get_info(2, 0x1d4c0e0) = 0 -43928826687357:43928826687973 26045:26045 hsa_system_get_info(2, 0x1d4c0e8) = 0 -43928826688718:43928826689335 26045:26045 hsa_system_get_info(2, 0x1d4c0f0) = 0 -43928826690082:43928826690697 26045:26045 hsa_system_get_info(2, 0x1d4c0f8) = 0 -43928826691445:43928826692063 26045:26045 hsa_system_get_info(2, 0x1d4c100) = 0 -43928826692811:43928826693427 26045:26045 hsa_system_get_info(2, 0x1d4c108) = 0 -43928826694168:43928826694802 26045:26045 hsa_system_get_info(2, 0x1d4c110) = 0 -43928826695550:43928826696169 26045:26045 hsa_system_get_info(2, 0x1d4c118) = 0 -43928826696916:43928826697539 26045:26045 hsa_system_get_info(2, 0x1d4c120) = 0 -43928826698286:43928826698906 26045:26045 hsa_system_get_info(2, 0x1d4c128) = 0 -43928826699650:43928826700268 26045:26045 hsa_system_get_info(2, 0x1d4c130) = 0 -43928826701017:43928826701640 26045:26045 hsa_system_get_info(2, 0x1d4c138) = 0 -43928826702389:43928826703014 26045:26045 hsa_system_get_info(2, 0x1d4c140) = 0 -43928826703768:43928826704390 26045:26045 hsa_system_get_info(2, 0x1d4c148) = 0 -43928826705135:43928826705761 26045:26045 hsa_system_get_info(2, 0x1d4c150) = 0 -43928826706505:43928826707126 26045:26045 hsa_system_get_info(2, 0x1d4c158) = 0 -43928826707874:43928826708494 26045:26045 hsa_system_get_info(2, 0x1d4c160) = 0 -43928826709236:43928826709854 26045:26045 hsa_system_get_info(2, 0x1d4c168) = 0 -43928826710602:43928826711222 26045:26045 hsa_system_get_info(2, 0x1d4c170) = 0 -43928826711968:43928826712584 26045:26045 hsa_system_get_info(2, 0x1d4c178) = 0 -43928826713348:43928826713968 26045:26045 hsa_system_get_info(2, 0x1d4c180) = 0 -43928826715511:43928826716138 26045:26045 hsa_system_get_info(2, 0x1d4c188) = 0 -43928826716887:43928826717506 26045:26045 hsa_system_get_info(2, 0x1d4c190) = 0 -43928826718255:43928826718868 26045:26045 hsa_system_get_info(2, 0x1d4c198) = 0 -43928826719613:43928826720236 26045:26045 hsa_system_get_info(2, 0x1d4c1a0) = 0 -43928826720983:43928826721603 26045:26045 hsa_system_get_info(2, 0x1d4c1a8) = 0 -43928826722349:43928826722965 26045:26045 hsa_system_get_info(2, 0x1d4c1b0) = 0 -43928826723715:43928826724335 26045:26045 hsa_system_get_info(2, 0x1d4c1b8) = 0 -43928826725084:43928826725704 26045:26045 hsa_system_get_info(2, 0x1d4c1c0) = 0 -43928826726451:43928826727070 26045:26045 hsa_system_get_info(2, 0x1d4c1c8) = 0 -43928826727814:43928826728438 26045:26045 hsa_system_get_info(2, 0x1d4c1d0) = 0 -43928826729186:43928826729806 26045:26045 hsa_system_get_info(2, 0x1d4c1d8) = 0 -43928826730556:43928826731175 26045:26045 hsa_system_get_info(2, 0x1d4c1e0) = 0 -43928826731924:43928826732541 26045:26045 hsa_system_get_info(2, 0x1d4c1e8) = 0 -43928826733290:43928826733908 26045:26045 hsa_system_get_info(2, 0x1d4c1f0) = 0 -43928826734669:43928826735288 26045:26045 hsa_system_get_info(2, 0x1d4c1f8) = 0 -43928826736031:43928826736650 26045:26045 hsa_system_get_info(2, 0x1d4c200) = 0 -43928826737397:43928826738013 26045:26045 hsa_system_get_info(2, 0x1d4c208) = 0 -43928826738761:43928826739383 26045:26045 hsa_system_get_info(2, 0x1d4c210) = 0 -43928826740131:43928826740751 26045:26045 hsa_system_get_info(2, 0x1d4c218) = 0 -43928826741493:43928826742111 26045:26045 hsa_system_get_info(2, 0x1d4c220) = 0 -43928826742857:43928826743475 26045:26045 hsa_system_get_info(2, 0x1d4c228) = 0 -43928826744221:43928826744838 26045:26045 hsa_system_get_info(2, 0x1d4c230) = 0 -43928826745585:43928826746206 26045:26045 hsa_system_get_info(2, 0x1d4c238) = 0 -43928826746953:43928826747572 26045:26045 hsa_system_get_info(2, 0x1d4c240) = 0 -43928826748318:43928826748938 26045:26045 hsa_system_get_info(2, 0x1d4c248) = 0 -43928826749688:43928826750307 26045:26045 hsa_system_get_info(2, 0x1d4c250) = 0 -43928826751054:43928826751668 26045:26045 hsa_system_get_info(2, 0x1d4c258) = 0 -43928826752431:43928826753051 26045:26045 hsa_system_get_info(2, 0x1d4c260) = 0 -43928826753810:43928826754433 26045:26045 hsa_system_get_info(2, 0x1d4c268) = 0 -43928826755983:43928826756612 26045:26045 hsa_system_get_info(2, 0x1d4c270) = 0 -43928826757360:43928826757982 26045:26045 hsa_system_get_info(2, 0x1d4c278) = 0 -43928826758729:43928826759351 26045:26045 hsa_system_get_info(2, 0x1d4c280) = 0 -43928826760097:43928826760720 26045:26045 hsa_system_get_info(2, 0x1d4c288) = 0 -43928826761467:43928826762085 26045:26045 hsa_system_get_info(2, 0x1d4c290) = 0 -43928826762831:43928826763446 26045:26045 hsa_system_get_info(2, 0x1d4c298) = 0 -43928826764189:43928826764815 26045:26045 hsa_system_get_info(2, 0x1d4c2a0) = 0 -43928826765558:43928826766177 26045:26045 hsa_system_get_info(2, 0x1d4c2a8) = 0 -43928826766925:43928826767540 26045:26045 hsa_system_get_info(2, 0x1d4c2b0) = 0 -43928826768286:43928826768904 26045:26045 hsa_system_get_info(2, 0x1d4c2b8) = 0 -43928826769650:43928826770272 26045:26045 hsa_system_get_info(2, 0x1d4c2c0) = 0 -43928826771021:43928826771641 26045:26045 hsa_system_get_info(2, 0x1d4c2c8) = 0 -43928826772388:43928826773007 26045:26045 hsa_system_get_info(2, 0x1d4c2d0) = 0 -43928826773761:43928826774382 26045:26045 hsa_system_get_info(2, 0x1d4c2d8) = 0 -43928826775129:43928826775749 26045:26045 hsa_system_get_info(2, 0x1d4c2e0) = 0 -43928826776495:43928826777116 26045:26045 hsa_system_get_info(2, 0x1d4c2e8) = 0 -43928826777860:43928826778480 26045:26045 hsa_system_get_info(2, 0x1d4c2f0) = 0 -43928826779225:43928826779844 26045:26045 hsa_system_get_info(2, 0x1d4c2f8) = 0 -43928826780593:43928826781216 26045:26045 hsa_system_get_info(2, 0x1d4c300) = 0 -43928826781963:43928826782578 26045:26045 hsa_system_get_info(2, 0x1d4c308) = 0 -43928826783323:43928826783944 26045:26045 hsa_system_get_info(2, 0x1d4c310) = 0 -43928826784687:43928826785304 26045:26045 hsa_system_get_info(2, 0x1d4c318) = 0 -43928826786051:43928826786674 26045:26045 hsa_system_get_info(2, 0x1d4c320) = 0 -43928826787422:43928826788041 26045:26045 hsa_system_get_info(2, 0x1d4c328) = 0 -43928826788787:43928826789408 26045:26045 hsa_system_get_info(2, 0x1d4c330) = 0 -43928826790154:43928826790777 26045:26045 hsa_system_get_info(2, 0x1d4c338) = 0 -43928826791535:43928826792159 26045:26045 hsa_system_get_info(2, 0x1d4c340) = 0 -43928826792904:43928826793524 26045:26045 hsa_system_get_info(2, 0x1d4c348) = 0 -43928826795013:43928826795634 26045:26045 hsa_system_get_info(2, 0x1d4c350) = 0 -43928826796383:43928826797002 26045:26045 hsa_system_get_info(2, 0x1d4c358) = 0 -43928826797747:43928826798364 26045:26045 hsa_system_get_info(2, 0x1d4c360) = 0 -43928826799112:43928826799732 26045:26045 hsa_system_get_info(2, 0x1d4c368) = 0 -43928826800476:43928826801094 26045:26045 hsa_system_get_info(2, 0x1d4c370) = 0 -43928826801844:43928826802469 26045:26045 hsa_system_get_info(2, 0x1d4c378) = 0 -43928826803216:43928826803835 26045:26045 hsa_system_get_info(2, 0x1d4c380) = 0 -43928826804582:43928826805206 26045:26045 hsa_system_get_info(2, 0x1d4c388) = 0 -43928826805950:43928826806573 26045:26045 hsa_system_get_info(2, 0x1d4c390) = 0 -43928826807319:43928826807939 26045:26045 hsa_system_get_info(2, 0x1d4c398) = 0 -43928826808683:43928826809307 26045:26045 hsa_system_get_info(2, 0x1d4c3a0) = 0 -43928826810055:43928826810676 26045:26045 hsa_system_get_info(2, 0x1d4c3a8) = 0 -43928826811423:43928826812045 26045:26045 hsa_system_get_info(2, 0x1d4c3b0) = 0 -43928826812794:43928826813413 26045:26045 hsa_system_get_info(2, 0x1d4c3b8) = 0 -43928826814172:43928826814798 26045:26045 hsa_system_get_info(2, 0x1d4c3c0) = 0 -43928826815543:43928826816165 26045:26045 hsa_system_get_info(2, 0x1d4c3c8) = 0 -43928826816913:43928826817529 26045:26045 hsa_system_get_info(2, 0x1d4c3d0) = 0 -43928826818276:43928826818890 26045:26045 hsa_system_get_info(2, 0x1d4c3d8) = 0 -43928826819637:43928826820256 26045:26045 hsa_system_get_info(2, 0x1d4c3e0) = 0 -43928826820998:43928826821619 26045:26045 hsa_system_get_info(2, 0x1d4c3e8) = 0 -43928826822366:43928826822987 26045:26045 hsa_system_get_info(2, 0x1d4c3f0) = 0 -43928826823730:43928826824351 26045:26045 hsa_system_get_info(2, 0x1d4c3f8) = 0 -43928826825101:43928826825722 26045:26045 hsa_system_get_info(2, 0x1d4c400) = 0 -43928826826464:43928826827083 26045:26045 hsa_system_get_info(2, 0x1d4c408) = 0 -43928826827831:43928826828451 26045:26045 hsa_system_get_info(2, 0x1d4c410) = 0 -43928826829196:43928826829819 26045:26045 hsa_system_get_info(2, 0x1d4c418) = 0 -43928826830583:43928826831201 26045:26045 hsa_system_get_info(2, 0x1d4c420) = 0 -43928826831947:43928826832567 26045:26045 hsa_system_get_info(2, 0x1d4c428) = 0 -43928826833318:43928826833942 26045:26045 hsa_system_get_info(2, 0x1d4c430) = 0 -43928826836038:43928826836668 26045:26045 hsa_system_get_info(2, 0x1d4c438) = 0 -43928826837420:43928826838045 26045:26045 hsa_system_get_info(2, 0x1d4c440) = 0 -43928826838791:43928826839409 26045:26045 hsa_system_get_info(2, 0x1d4c448) = 0 -43928826840155:43928826840770 26045:26045 hsa_system_get_info(2, 0x1d4c450) = 0 -43928826841516:43928826842134 26045:26045 hsa_system_get_info(2, 0x1d4c458) = 0 -43928826842887:43928826843501 26045:26045 hsa_system_get_info(2, 0x1d4c460) = 0 -43928826844245:43928826844862 26045:26045 hsa_system_get_info(2, 0x1d4c468) = 0 -43928826845608:43928826846225 26045:26045 hsa_system_get_info(2, 0x1d4c470) = 0 -43928826846971:43928826847586 26045:26045 hsa_system_get_info(2, 0x1d4c478) = 0 -43928826848333:43928826848951 26045:26045 hsa_system_get_info(2, 0x1d4c480) = 0 -43928826849695:43928826850316 26045:26045 hsa_system_get_info(2, 0x1d4c488) = 0 -43928826851059:43928826851684 26045:26045 hsa_system_get_info(2, 0x1d4c490) = 0 -43928826852429:43928826853048 26045:26045 hsa_system_get_info(2, 0x1d4c498) = 0 -43928826853796:43928826854420 26045:26045 hsa_system_get_info(2, 0x1d4c4a0) = 0 -43928826855185:43928826855807 26045:26045 hsa_system_get_info(2, 0x1d4c4a8) = 0 -43928826856552:43928826857176 26045:26045 hsa_system_get_info(2, 0x1d4c4b0) = 0 -43928826857923:43928826858542 26045:26045 hsa_system_get_info(2, 0x1d4c4b8) = 0 -43928826859289:43928826859910 26045:26045 hsa_system_get_info(2, 0x1d4c4c0) = 0 -43928826860654:43928826861282 26045:26045 hsa_system_get_info(2, 0x1d4c4c8) = 0 -43928826862030:43928826862652 26045:26045 hsa_system_get_info(2, 0x1d4c4d0) = 0 -43928826863454:43928826864076 26045:26045 hsa_system_get_info(2, 0x1d4c4d8) = 0 -43928826864824:43928826865444 26045:26045 hsa_system_get_info(2, 0x1d4c4e0) = 0 -43928826866188:43928826866815 26045:26045 hsa_system_get_info(2, 0x1d4c4e8) = 0 -43928826867565:43928826868186 26045:26045 hsa_system_get_info(2, 0x1d4c4f0) = 0 -43928826868933:43928826869553 26045:26045 hsa_system_get_info(2, 0x1d4c4f8) = 0 -43928826870297:43928826870915 26045:26045 hsa_system_get_info(2, 0x1d4c500) = 0 -43928826871720:43928826872341 26045:26045 hsa_system_get_info(2, 0x1d4c508) = 0 -43928826873091:43928826873709 26045:26045 hsa_system_get_info(2, 0x1d4c510) = 0 -43928826875206:43928826875827 26045:26045 hsa_system_get_info(2, 0x1d4c518) = 0 -43928826876570:43928826877193 26045:26045 hsa_system_get_info(2, 0x1d4c520) = 0 -43928826877939:43928826878562 26045:26045 hsa_system_get_info(2, 0x1d4c528) = 0 -43928826879311:43928826879930 26045:26045 hsa_system_get_info(2, 0x1d4c530) = 0 -43928826880732:43928826881351 26045:26045 hsa_system_get_info(2, 0x1d4c538) = 0 -43928826882100:43928826882717 26045:26045 hsa_system_get_info(2, 0x1d4c540) = 0 -43928826883465:43928826884086 26045:26045 hsa_system_get_info(2, 0x1d4c548) = 0 -43928826884835:43928826885455 26045:26045 hsa_system_get_info(2, 0x1d4c550) = 0 -43928826886202:43928826886824 26045:26045 hsa_system_get_info(2, 0x1d4c558) = 0 -43928826887569:43928826888189 26045:26045 hsa_system_get_info(2, 0x1d4c560) = 0 -43928826888936:43928826889557 26045:26045 hsa_system_get_info(2, 0x1d4c568) = 0 -43928826890299:43928826890922 26045:26045 hsa_system_get_info(2, 0x1d4c570) = 0 -43928826891667:43928826892287 26045:26045 hsa_system_get_info(2, 0x1d4c578) = 0 -43928826893032:43928826893653 26045:26045 hsa_system_get_info(2, 0x1d4c580) = 0 -43928826894401:43928826895019 26045:26045 hsa_system_get_info(2, 0x1d4c588) = 0 -43928826895763:43928826896385 26045:26045 hsa_system_get_info(2, 0x1d4c590) = 0 -43928826897134:43928826897752 26045:26045 hsa_system_get_info(2, 0x1d4c598) = 0 -43928826898496:43928826899127 26045:26045 hsa_system_get_info(2, 0x1d4c5a0) = 0 -43928826899874:43928826900493 26045:26045 hsa_system_get_info(2, 0x1d4c5a8) = 0 -43928826901238:43928826901856 26045:26045 hsa_system_get_info(2, 0x1d4c5b0) = 0 -43928826902602:43928826903221 26045:26045 hsa_system_get_info(2, 0x1d4c5b8) = 0 -43928826903969:43928826904582 26045:26045 hsa_system_get_info(2, 0x1d4c5c0) = 0 -43928826905328:43928826905947 26045:26045 hsa_system_get_info(2, 0x1d4c5c8) = 0 -43928826906695:43928826907310 26045:26045 hsa_system_get_info(2, 0x1d4c5d0) = 0 -43928826908059:43928826908680 26045:26045 hsa_system_get_info(2, 0x1d4c5d8) = 0 -43928826909425:43928826910045 26045:26045 hsa_system_get_info(2, 0x1d4c5e0) = 0 -43928826910792:43928826911410 26045:26045 hsa_system_get_info(2, 0x1d4c5e8) = 0 -43928826912159:43928826912779 26045:26045 hsa_system_get_info(2, 0x1d4c5f0) = 0 -43928826914264:43928826914888 26045:26045 hsa_system_get_info(2, 0x1d4c5f8) = 0 -43928826915634:43928826916249 26045:26045 hsa_system_get_info(2, 0x1d4c600) = 0 -43928826916993:43928826917612 26045:26045 hsa_system_get_info(2, 0x1d4c608) = 0 -43928826918355:43928826918975 26045:26045 hsa_system_get_info(2, 0x1d4c610) = 0 -43928826919723:43928826920342 26045:26045 hsa_system_get_info(2, 0x1d4c618) = 0 -43928826921088:43928826921705 26045:26045 hsa_system_get_info(2, 0x1d4c620) = 0 -43928826922450:43928826923074 26045:26045 hsa_system_get_info(2, 0x1d4c628) = 0 -43928826923823:43928826924440 26045:26045 hsa_system_get_info(2, 0x1d4c630) = 0 -43928826925190:43928826925808 26045:26045 hsa_system_get_info(2, 0x1d4c638) = 0 -43928826926556:43928826927177 26045:26045 hsa_system_get_info(2, 0x1d4c640) = 0 -43928826927921:43928826928541 26045:26045 hsa_system_get_info(2, 0x1d4c648) = 0 -43928826929288:43928826929909 26045:26045 hsa_system_get_info(2, 0x1d4c650) = 0 -43928826930658:43928826931275 26045:26045 hsa_system_get_info(2, 0x1d4c658) = 0 -43928826932021:43928826932663 26045:26045 hsa_system_get_info(2, 0x1d4c660) = 0 -43928826933409:43928826934027 26045:26045 hsa_system_get_info(2, 0x1d4c668) = 0 -43928826934771:43928826935395 26045:26045 hsa_system_get_info(2, 0x1d4c670) = 0 -43928826936144:43928826936757 26045:26045 hsa_system_get_info(2, 0x1d4c678) = 0 -43928826937505:43928826938123 26045:26045 hsa_system_get_info(2, 0x1d4c680) = 0 -43928826938872:43928826939487 26045:26045 hsa_system_get_info(2, 0x1d4c688) = 0 -43928826940229:43928826940850 26045:26045 hsa_system_get_info(2, 0x1d4c690) = 0 -43928826941599:43928826942218 26045:26045 hsa_system_get_info(2, 0x1d4c698) = 0 -43928826942968:43928826943585 26045:26045 hsa_system_get_info(2, 0x1d4c6a0) = 0 -43928826944335:43928826944956 26045:26045 hsa_system_get_info(2, 0x1d4c6a8) = 0 -43928826945699:43928826946317 26045:26045 hsa_system_get_info(2, 0x1d4c6b0) = 0 -43928826947064:43928826947684 26045:26045 hsa_system_get_info(2, 0x1d4c6b8) = 0 -43928826948432:43928826949048 26045:26045 hsa_system_get_info(2, 0x1d4c6c0) = 0 -43928826949792:43928826950411 26045:26045 hsa_system_get_info(2, 0x1d4c6c8) = 0 -43928826951186:43928826951826 26045:26045 hsa_system_get_info(2, 0x1d4c6d0) = 0 -43928826952575:43928826953198 26045:26045 hsa_system_get_info(2, 0x1d4c6d8) = 0 -43928826954706:43928826955335 26045:26045 hsa_system_get_info(2, 0x1d4c6e0) = 0 -43928826956078:43928826956695 26045:26045 hsa_system_get_info(2, 0x1d4c6e8) = 0 -43928826957440:43928826958057 26045:26045 hsa_system_get_info(2, 0x1d4c6f0) = 0 -43928826958805:43928826959425 26045:26045 hsa_system_get_info(2, 0x1d4c6f8) = 0 -43928826960171:43928826960796 26045:26045 hsa_system_get_info(2, 0x1d4c700) = 0 -43928826961542:43928826962169 26045:26045 hsa_system_get_info(2, 0x1d4c708) = 0 -43928826962920:43928826963542 26045:26045 hsa_system_get_info(2, 0x1d4c710) = 0 -43928826964289:43928826964909 26045:26045 hsa_system_get_info(2, 0x1d4c718) = 0 -43928826965657:43928826966278 26045:26045 hsa_system_get_info(2, 0x1d4c720) = 0 -43928826967020:43928826967643 26045:26045 hsa_system_get_info(2, 0x1d4c728) = 0 -43928826968390:43928826969004 26045:26045 hsa_system_get_info(2, 0x1d4c730) = 0 -43928826969752:43928826970377 26045:26045 hsa_system_get_info(2, 0x1d4c738) = 0 -43928826971125:43928826971738 26045:26045 hsa_system_get_info(2, 0x1d4c740) = 0 -43928826972486:43928826973105 26045:26045 hsa_system_get_info(2, 0x1d4c748) = 0 -43928826973875:43928826974498 26045:26045 hsa_system_get_info(2, 0x1d4c750) = 0 -43928826975245:43928826975859 26045:26045 hsa_system_get_info(2, 0x1d4c758) = 0 -43928826976601:43928826977225 26045:26045 hsa_system_get_info(2, 0x1d4c760) = 0 -43928826977971:43928826978590 26045:26045 hsa_system_get_info(2, 0x1d4c768) = 0 -43928826979335:43928826979952 26045:26045 hsa_system_get_info(2, 0x1d4c770) = 0 -43928826980693:43928826981314 26045:26045 hsa_system_get_info(2, 0x1d4c778) = 0 -43928826982061:43928826982682 26045:26045 hsa_system_get_info(2, 0x1d4c780) = 0 -43928826983432:43928826984055 26045:26045 hsa_system_get_info(2, 0x1d4c788) = 0 -43928826984801:43928826985416 26045:26045 hsa_system_get_info(2, 0x1d4c790) = 0 -43928826986167:43928826986790 26045:26045 hsa_system_get_info(2, 0x1d4c798) = 0 -43928826987536:43928826988158 26045:26045 hsa_system_get_info(2, 0x1d4c7a0) = 0 -43928826988907:43928826989525 26045:26045 hsa_system_get_info(2, 0x1d4c7a8) = 0 -43928826990306:43928826990923 26045:26045 hsa_system_get_info(2, 0x1d4c7b0) = 0 -43928826991674:43928826992289 26045:26045 hsa_system_get_info(2, 0x1d4c7b8) = 0 -43928826993771:43928826994398 26045:26045 hsa_system_get_info(2, 0x1d4c7c0) = 0 -43928826995146:43928826995768 26045:26045 hsa_system_get_info(2, 0x1d4c7c8) = 0 -43928826996515:43928826997130 26045:26045 hsa_system_get_info(2, 0x1d4c7d0) = 0 -43928826997880:43928826998497 26045:26045 hsa_system_get_info(2, 0x1d4c7d8) = 0 -43928826999242:43928826999853 26045:26045 hsa_system_get_info(2, 0x1d4c7e0) = 0 -43928827000600:43928827001220 26045:26045 hsa_system_get_info(2, 0x1d4c7e8) = 0 -43928827001968:43928827002591 26045:26045 hsa_system_get_info(2, 0x1d4c7f0) = 0 -43928827003340:43928827003961 26045:26045 hsa_system_get_info(2, 0x1d4c7f8) = 0 -43928827004707:43928827005327 26045:26045 hsa_system_get_info(2, 0x1d4c800) = 0 -43928827006076:43928827006694 26045:26045 hsa_system_get_info(2, 0x1d4c808) = 0 -43928827007443:43928827008063 26045:26045 hsa_system_get_info(2, 0x1d4c810) = 0 -43928827008807:43928827009426 26045:26045 hsa_system_get_info(2, 0x1d4c818) = 0 -43928827010170:43928827010788 26045:26045 hsa_system_get_info(2, 0x1d4c820) = 0 -43928827011541:43928827012167 26045:26045 hsa_system_get_info(2, 0x1d4c828) = 0 -43928827012934:43928827013567 26045:26045 hsa_system_get_info(2, 0x1d4c830) = 0 -43928827014312:43928827014931 26045:26045 hsa_system_get_info(2, 0x1d4c838) = 0 -43928827015679:43928827016302 26045:26045 hsa_system_get_info(2, 0x1d4c840) = 0 -43928827017049:43928827017674 26045:26045 hsa_system_get_info(2, 0x1d4c848) = 0 -43928827018423:43928827019050 26045:26045 hsa_system_get_info(2, 0x1d4c850) = 0 -43928827019799:43928827020420 26045:26045 hsa_system_get_info(2, 0x1d4c858) = 0 -43928827021170:43928827021791 26045:26045 hsa_system_get_info(2, 0x1d4c860) = 0 -43928827022536:43928827023157 26045:26045 hsa_system_get_info(2, 0x1d4c868) = 0 -43928827023902:43928827024518 26045:26045 hsa_system_get_info(2, 0x1d4c870) = 0 -43928827025265:43928827025889 26045:26045 hsa_system_get_info(2, 0x1d4c878) = 0 -43928827026637:43928827027259 26045:26045 hsa_system_get_info(2, 0x1d4c880) = 0 -43928827028008:43928827028634 26045:26045 hsa_system_get_info(2, 0x1d4c888) = 0 -43928827029381:43928827029997 26045:26045 hsa_system_get_info(2, 0x1d4c890) = 0 -43928827030757:43928827031377 26045:26045 hsa_system_get_info(2, 0x1d4c898) = 0 -43928827032122:43928827032741 26045:26045 hsa_system_get_info(2, 0x1d4c8a0) = 0 -43928827034292:43928827034925 26045:26045 hsa_system_get_info(2, 0x1d4c8a8) = 0 -43928827035678:43928827036304 26045:26045 hsa_system_get_info(2, 0x1d4c8b0) = 0 -43928827037055:43928827037676 26045:26045 hsa_system_get_info(2, 0x1d4c8b8) = 0 -43928827038423:43928827039043 26045:26045 hsa_system_get_info(2, 0x1d4c8c0) = 0 -43928827039787:43928827040414 26045:26045 hsa_system_get_info(2, 0x1d4c8c8) = 0 -43928827041162:43928827041785 26045:26045 hsa_system_get_info(2, 0x1d4c8d0) = 0 -43928827042533:43928827043147 26045:26045 hsa_system_get_info(2, 0x1d4c8d8) = 0 -43928827043899:43928827044517 26045:26045 hsa_system_get_info(2, 0x1d4c8e0) = 0 -43928827045265:43928827045883 26045:26045 hsa_system_get_info(2, 0x1d4c8e8) = 0 -43928827046631:43928827047254 26045:26045 hsa_system_get_info(2, 0x1d4c8f0) = 0 -43928827048001:43928827048621 26045:26045 hsa_system_get_info(2, 0x1d4c8f8) = 0 -43928827049367:43928827049988 26045:26045 hsa_system_get_info(2, 0x1d4c900) = 0 -43928827050740:43928827051360 26045:26045 hsa_system_get_info(2, 0x1d4c908) = 0 -43928827052108:43928827052725 26045:26045 hsa_system_get_info(2, 0x1d4c910) = 0 -43928827053488:43928827054104 26045:26045 hsa_system_get_info(2, 0x1d4c918) = 0 -43928827054849:43928827055466 26045:26045 hsa_system_get_info(2, 0x1d4c920) = 0 -43928827056216:43928827056837 26045:26045 hsa_system_get_info(2, 0x1d4c928) = 0 -43928827057583:43928827058197 26045:26045 hsa_system_get_info(2, 0x1d4c930) = 0 -43928827058942:43928827059561 26045:26045 hsa_system_get_info(2, 0x1d4c938) = 0 -43928827060306:43928827060927 26045:26045 hsa_system_get_info(2, 0x1d4c940) = 0 -43928827061670:43928827062290 26045:26045 hsa_system_get_info(2, 0x1d4c948) = 0 -43928827063037:43928827063658 26045:26045 hsa_system_get_info(2, 0x1d4c950) = 0 -43928827064400:43928827065020 26045:26045 hsa_system_get_info(2, 0x1d4c958) = 0 -43928827065769:43928827066382 26045:26045 hsa_system_get_info(2, 0x1d4c960) = 0 -43928827067131:43928827067751 26045:26045 hsa_system_get_info(2, 0x1d4c968) = 0 -43928827068496:43928827069118 26045:26045 hsa_system_get_info(2, 0x1d4c970) = 0 -43928827069870:43928827070485 26045:26045 hsa_system_get_info(2, 0x1d4c978) = 0 -43928827071240:43928827071854 26045:26045 hsa_system_get_info(2, 0x1d4c980) = 0 -43928827073410:43928827074040 26045:26045 hsa_system_get_info(2, 0x1d4c988) = 0 -43928827074783:43928827075410 26045:26045 hsa_system_get_info(2, 0x1d4c990) = 0 -43928827076157:43928827076775 26045:26045 hsa_system_get_info(2, 0x1d4c998) = 0 -43928827077522:43928827078138 26045:26045 hsa_system_get_info(2, 0x1d4c9a0) = 0 -43928827078886:43928827079504 26045:26045 hsa_system_get_info(2, 0x1d4c9a8) = 0 -43928827080250:43928827080870 26045:26045 hsa_system_get_info(2, 0x1d4c9b0) = 0 -43928827081620:43928827082242 26045:26045 hsa_system_get_info(2, 0x1d4c9b8) = 0 -43928827082991:43928827083615 26045:26045 hsa_system_get_info(2, 0x1d4c9c0) = 0 -43928827084366:43928827084982 26045:26045 hsa_system_get_info(2, 0x1d4c9c8) = 0 -43928827085730:43928827086358 26045:26045 hsa_system_get_info(2, 0x1d4c9d0) = 0 -43928827087104:43928827087728 26045:26045 hsa_system_get_info(2, 0x1d4c9d8) = 0 -43928827088478:43928827089095 26045:26045 hsa_system_get_info(2, 0x1d4c9e0) = 0 -43928827089843:43928827090462 26045:26045 hsa_system_get_info(2, 0x1d4c9e8) = 0 -43928827091204:43928827091821 26045:26045 hsa_system_get_info(2, 0x1d4c9f0) = 0 -43928827092587:43928827093205 26045:26045 hsa_system_get_info(2, 0x1d4c9f8) = 0 -43928827093954:43928827094574 26045:26045 hsa_system_get_info(2, 0x1d4ca00) = 0 -43928827095318:43928827095942 26045:26045 hsa_system_get_info(2, 0x1d4ca08) = 0 -43928827096690:43928827097307 26045:26045 hsa_system_get_info(2, 0x1d4ca10) = 0 -43928827098055:43928827098674 26045:26045 hsa_system_get_info(2, 0x1d4ca18) = 0 -43928827099427:43928827100048 26045:26045 hsa_system_get_info(2, 0x1d4ca20) = 0 -43928827100795:43928827101415 26045:26045 hsa_system_get_info(2, 0x1d4ca28) = 0 -43928827102162:43928827102780 26045:26045 hsa_system_get_info(2, 0x1d4ca30) = 0 -43928827103527:43928827104148 26045:26045 hsa_system_get_info(2, 0x1d4ca38) = 0 -43928827104898:43928827105515 26045:26045 hsa_system_get_info(2, 0x1d4ca40) = 0 -43928827106264:43928827106881 26045:26045 hsa_system_get_info(2, 0x1d4ca48) = 0 -43928827107631:43928827108253 26045:26045 hsa_system_get_info(2, 0x1d4ca50) = 0 -43928827109001:43928827109623 26045:26045 hsa_system_get_info(2, 0x1d4ca58) = 0 -43928827110375:43928827110997 26045:26045 hsa_system_get_info(2, 0x1d4ca60) = 0 -43928827111764:43928827112378 26045:26045 hsa_system_get_info(2, 0x1d4ca68) = 0 -43928827113877:43928827114503 26045:26045 hsa_system_get_info(2, 0x1d4ca70) = 0 -43928827115247:43928827115869 26045:26045 hsa_system_get_info(2, 0x1d4ca78) = 0 -43928827116617:43928827117236 26045:26045 hsa_system_get_info(2, 0x1d4ca80) = 0 -43928827117980:43928827118599 26045:26045 hsa_system_get_info(2, 0x1d4ca88) = 0 -43928827119347:43928827119963 26045:26045 hsa_system_get_info(2, 0x1d4ca90) = 0 -43928827120711:43928827121324 26045:26045 hsa_system_get_info(2, 0x1d4ca98) = 0 -43928827122072:43928827122693 26045:26045 hsa_system_get_info(2, 0x1d4caa0) = 0 -43928827123439:43928827124055 26045:26045 hsa_system_get_info(2, 0x1d4caa8) = 0 -43928827124805:43928827125423 26045:26045 hsa_system_get_info(2, 0x1d4cab0) = 0 -43928827126170:43928827126790 26045:26045 hsa_system_get_info(2, 0x1d4cab8) = 0 -43928827127533:43928827128157 26045:26045 hsa_system_get_info(2, 0x1d4cac0) = 0 -43928827128906:43928827129528 26045:26045 hsa_system_get_info(2, 0x1d4cac8) = 0 -43928827130276:43928827130899 26045:26045 hsa_system_get_info(2, 0x1d4cad0) = 0 -43928827131663:43928827132279 26045:26045 hsa_system_get_info(2, 0x1d4cad8) = 0 -43928827133029:43928827133646 26045:26045 hsa_system_get_info(2, 0x1d4cae0) = 0 -43928827134394:43928827135010 26045:26045 hsa_system_get_info(2, 0x1d4cae8) = 0 -43928827135760:43928827136382 26045:26045 hsa_system_get_info(2, 0x1d4caf0) = 0 -43928827137132:43928827137751 26045:26045 hsa_system_get_info(2, 0x1d4caf8) = 0 -43928827138499:43928827139120 26045:26045 hsa_system_get_info(2, 0x1d4cb00) = 0 -43928827139868:43928827140484 26045:26045 hsa_system_get_info(2, 0x1d4cb08) = 0 -43928827141231:43928827141849 26045:26045 hsa_system_get_info(2, 0x1d4cb10) = 0 -43928827142594:43928827143213 26045:26045 hsa_system_get_info(2, 0x1d4cb18) = 0 -43928827143960:43928827144577 26045:26045 hsa_system_get_info(2, 0x1d4cb20) = 0 -43928827145325:43928827145947 26045:26045 hsa_system_get_info(2, 0x1d4cb28) = 0 -43928827146696:43928827147318 26045:26045 hsa_system_get_info(2, 0x1d4cb30) = 0 -43928827148069:43928827148689 26045:26045 hsa_system_get_info(2, 0x1d4cb38) = 0 -43928827149438:43928827150057 26045:26045 hsa_system_get_info(2, 0x1d4cb40) = 0 -43928827150826:43928827151452 26045:26045 hsa_system_get_info(2, 0x1d4cb48) = 0 -43928827152930:43928827153566 26045:26045 hsa_system_get_info(2, 0x1d4cb50) = 0 -43928827154318:43928827154941 26045:26045 hsa_system_get_info(2, 0x1d4cb58) = 0 -43928827155688:43928827156309 26045:26045 hsa_system_get_info(2, 0x1d4cb60) = 0 -43928827157058:43928827157679 26045:26045 hsa_system_get_info(2, 0x1d4cb68) = 0 -43928827158424:43928827159051 26045:26045 hsa_system_get_info(2, 0x1d4cb70) = 0 -43928827159799:43928827160423 26045:26045 hsa_system_get_info(2, 0x1d4cb78) = 0 -43928827161171:43928827161794 26045:26045 hsa_system_get_info(2, 0x1d4cb80) = 0 -43928827162541:43928827163163 26045:26045 hsa_system_get_info(2, 0x1d4cb88) = 0 -43928827163907:43928827164534 26045:26045 hsa_system_get_info(2, 0x1d4cb90) = 0 -43928827165285:43928827165905 26045:26045 hsa_system_get_info(2, 0x1d4cb98) = 0 -43928827166654:43928827167273 26045:26045 hsa_system_get_info(2, 0x1d4cba0) = 0 -43928827168025:43928827168651 26045:26045 hsa_system_get_info(2, 0x1d4cba8) = 0 -43928827169397:43928827170016 26045:26045 hsa_system_get_info(2, 0x1d4cbb0) = 0 -43928827170759:43928827171376 26045:26045 hsa_system_get_info(2, 0x1d4cbb8) = 0 -43928827172133:43928827172756 26045:26045 hsa_system_get_info(2, 0x1d4cbc0) = 0 -43928827173502:43928827174122 26045:26045 hsa_system_get_info(2, 0x1d4cbc8) = 0 -43928827174865:43928827175484 26045:26045 hsa_system_get_info(2, 0x1d4cbd0) = 0 -43928827176230:43928827176850 26045:26045 hsa_system_get_info(2, 0x1d4cbd8) = 0 -43928827177594:43928827178215 26045:26045 hsa_system_get_info(2, 0x1d4cbe0) = 0 -43928827178962:43928827179582 26045:26045 hsa_system_get_info(2, 0x1d4cbe8) = 0 -43928827180327:43928827180944 26045:26045 hsa_system_get_info(2, 0x1d4cbf0) = 0 -43928827181691:43928827182308 26045:26045 hsa_system_get_info(2, 0x1d4cbf8) = 0 -43928827183056:43928827183678 26045:26045 hsa_system_get_info(2, 0x1d4cc00) = 0 -43928827184426:43928827185046 26045:26045 hsa_system_get_info(2, 0x1d4cc08) = 0 -43928827185787:43928827186404 26045:26045 hsa_system_get_info(2, 0x1d4cc10) = 0 -43928827187150:43928827187766 26045:26045 hsa_system_get_info(2, 0x1d4cc18) = 0 -43928827188515:43928827189132 26045:26045 hsa_system_get_info(2, 0x1d4cc20) = 0 -43928827189886:43928827190503 26045:26045 hsa_system_get_info(2, 0x1d4cc28) = 0 -43928827191267:43928827191888 26045:26045 hsa_system_get_info(2, 0x1d4cc30) = 0 -43928827193400:43928827194024 26045:26045 hsa_system_get_info(2, 0x1d4cc38) = 0 -43928827194773:43928827195392 26045:26045 hsa_system_get_info(2, 0x1d4cc40) = 0 -43928827196136:43928827196756 26045:26045 hsa_system_get_info(2, 0x1d4cc48) = 0 -43928827197504:43928827198123 26045:26045 hsa_system_get_info(2, 0x1d4cc50) = 0 -43928827198868:43928827199493 26045:26045 hsa_system_get_info(2, 0x1d4cc58) = 0 -43928827200239:43928827200867 26045:26045 hsa_system_get_info(2, 0x1d4cc60) = 0 -43928827201615:43928827202234 26045:26045 hsa_system_get_info(2, 0x1d4cc68) = 0 -43928827202978:43928827203597 26045:26045 hsa_system_get_info(2, 0x1d4cc70) = 0 -43928827204342:43928827204959 26045:26045 hsa_system_get_info(2, 0x1d4cc78) = 0 -43928827205703:43928827206326 26045:26045 hsa_system_get_info(2, 0x1d4cc80) = 0 -43928827207071:43928827207692 26045:26045 hsa_system_get_info(2, 0x1d4cc88) = 0 -43928827208439:43928827209061 26045:26045 hsa_system_get_info(2, 0x1d4cc90) = 0 -43928827209808:43928827210435 26045:26045 hsa_system_get_info(2, 0x1d4cc98) = 0 -43928827211184:43928827211810 26045:26045 hsa_system_get_info(2, 0x1d4cca0) = 0 -43928827212583:43928827213202 26045:26045 hsa_system_get_info(2, 0x1d4cca8) = 0 -43928827213953:43928827214575 26045:26045 hsa_system_get_info(2, 0x1d4ccb0) = 0 -43928827215328:43928827215955 26045:26045 hsa_system_get_info(2, 0x1d4ccb8) = 0 -43928827216707:43928827217332 26045:26045 hsa_system_get_info(2, 0x1d4ccc0) = 0 -43928827218082:43928827218703 26045:26045 hsa_system_get_info(2, 0x1d4ccc8) = 0 -43928827219451:43928827220074 26045:26045 hsa_system_get_info(2, 0x1d4ccd0) = 0 -43928827220821:43928827221438 26045:26045 hsa_system_get_info(2, 0x1d4ccd8) = 0 -43928827222185:43928827222803 26045:26045 hsa_system_get_info(2, 0x1d4cce0) = 0 -43928827223556:43928827224178 26045:26045 hsa_system_get_info(2, 0x1d4cce8) = 0 -43928827224929:43928827225549 26045:26045 hsa_system_get_info(2, 0x1d4ccf0) = 0 -43928827226295:43928827226915 26045:26045 hsa_system_get_info(2, 0x1d4ccf8) = 0 -43928827227664:43928827228289 26045:26045 hsa_system_get_info(2, 0x1d4cd00) = 0 -43928827229040:43928827229661 26045:26045 hsa_system_get_info(2, 0x1d4cd08) = 0 -43928827230425:43928827231046 26045:26045 hsa_system_get_info(2, 0x1d4cd10) = 0 -43928827232587:43928827233216 26045:26045 hsa_system_get_info(2, 0x1d4cd18) = 0 -43928827233963:43928827234582 26045:26045 hsa_system_get_info(2, 0x1d4cd20) = 0 -43928827235330:43928827235954 26045:26045 hsa_system_get_info(2, 0x1d4cd28) = 0 -43928827236701:43928827237323 26045:26045 hsa_system_get_info(2, 0x1d4cd30) = 0 -43928827238067:43928827238685 26045:26045 hsa_system_get_info(2, 0x1d4cd38) = 0 -43928827239429:43928827240045 26045:26045 hsa_system_get_info(2, 0x1d4cd40) = 0 -43928827240792:43928827241411 26045:26045 hsa_system_get_info(2, 0x1d4cd48) = 0 -43928827242160:43928827242780 26045:26045 hsa_system_get_info(2, 0x1d4cd50) = 0 -43928827243530:43928827244144 26045:26045 hsa_system_get_info(2, 0x1d4cd58) = 0 -43928827244892:43928827245511 26045:26045 hsa_system_get_info(2, 0x1d4cd60) = 0 -43928827246255:43928827246881 26045:26045 hsa_system_get_info(2, 0x1d4cd68) = 0 -43928827247629:43928827248247 26045:26045 hsa_system_get_info(2, 0x1d4cd70) = 0 -43928827248996:43928827249615 26045:26045 hsa_system_get_info(2, 0x1d4cd78) = 0 -43928827250363:43928827250981 26045:26045 hsa_system_get_info(2, 0x1d4cd80) = 0 -43928827251742:43928827252364 26045:26045 hsa_system_get_info(2, 0x1d4cd88) = 0 -43928827253113:43928827253736 26045:26045 hsa_system_get_info(2, 0x1d4cd90) = 0 -43928827254487:43928827255100 26045:26045 hsa_system_get_info(2, 0x1d4cd98) = 0 -43928827255851:43928827256472 26045:26045 hsa_system_get_info(2, 0x1d4cda0) = 0 -43928827257221:43928827257846 26045:26045 hsa_system_get_info(2, 0x1d4cda8) = 0 -43928827258593:43928827259214 26045:26045 hsa_system_get_info(2, 0x1d4cdb0) = 0 -43928827259962:43928827260581 26045:26045 hsa_system_get_info(2, 0x1d4cdb8) = 0 -43928827261327:43928827261951 26045:26045 hsa_system_get_info(2, 0x1d4cdc0) = 0 -43928827262699:43928827263322 26045:26045 hsa_system_get_info(2, 0x1d4cdc8) = 0 -43928827264065:43928827264684 26045:26045 hsa_system_get_info(2, 0x1d4cdd0) = 0 -43928827265430:43928827266050 26045:26045 hsa_system_get_info(2, 0x1d4cdd8) = 0 -43928827266794:43928827267412 26045:26045 hsa_system_get_info(2, 0x1d4cde0) = 0 -43928827268158:43928827268775 26045:26045 hsa_system_get_info(2, 0x1d4cde8) = 0 -43928827269525:43928827270142 26045:26045 hsa_system_get_info(2, 0x1d4cdf0) = 0 -43928827271628:43928827272249 26045:26045 hsa_system_get_info(2, 0x1d4cdf8) = 0 -43928827272994:43928827273611 26045:26045 hsa_system_get_info(2, 0x1d4ce00) = 0 -43928827274358:43928827274982 26045:26045 hsa_system_get_info(2, 0x1d4ce08) = 0 -43928827275751:43928827276379 26045:26045 hsa_system_get_info(2, 0x1d4ce10) = 0 -43928827277123:43928827277740 26045:26045 hsa_system_get_info(2, 0x1d4ce18) = 0 -43928827278487:43928827279109 26045:26045 hsa_system_get_info(2, 0x1d4ce20) = 0 -43928827279855:43928827280475 26045:26045 hsa_system_get_info(2, 0x1d4ce28) = 0 -43928827281221:43928827281841 26045:26045 hsa_system_get_info(2, 0x1d4ce30) = 0 -43928827282582:43928827283202 26045:26045 hsa_system_get_info(2, 0x1d4ce38) = 0 -43928827283947:43928827284565 26045:26045 hsa_system_get_info(2, 0x1d4ce40) = 0 -43928827285312:43928827285935 26045:26045 hsa_system_get_info(2, 0x1d4ce48) = 0 -43928827286684:43928827287303 26045:26045 hsa_system_get_info(2, 0x1d4ce50) = 0 -43928827288048:43928827288670 26045:26045 hsa_system_get_info(2, 0x1d4ce58) = 0 -43928827289417:43928827290036 26045:26045 hsa_system_get_info(2, 0x1d4ce60) = 0 -43928827290784:43928827291400 26045:26045 hsa_system_get_info(2, 0x1d4ce68) = 0 -43928827292147:43928827292769 26045:26045 hsa_system_get_info(2, 0x1d4ce70) = 0 -43928827293518:43928827294139 26045:26045 hsa_system_get_info(2, 0x1d4ce78) = 0 -43928827294910:43928827295529 26045:26045 hsa_system_get_info(2, 0x1d4ce80) = 0 -43928827296273:43928827296893 26045:26045 hsa_system_get_info(2, 0x1d4ce88) = 0 -43928827297640:43928827298255 26045:26045 hsa_system_get_info(2, 0x1d4ce90) = 0 -43928827299002:43928827299620 26045:26045 hsa_system_get_info(2, 0x1d4ce98) = 0 -43928827300365:43928827300985 26045:26045 hsa_system_get_info(2, 0x1d4cea0) = 0 -43928827301730:43928827302352 26045:26045 hsa_system_get_info(2, 0x1d4cea8) = 0 -43928827303095:43928827303712 26045:26045 hsa_system_get_info(2, 0x1d4ceb0) = 0 -43928827304457:43928827305072 26045:26045 hsa_system_get_info(2, 0x1d4ceb8) = 0 -43928827305819:43928827306437 26045:26045 hsa_system_get_info(2, 0x1d4cec0) = 0 -43928827307185:43928827307800 26045:26045 hsa_system_get_info(2, 0x1d4cec8) = 0 -43928827308567:43928827309188 26045:26045 hsa_system_get_info(2, 0x1d4ced0) = 0 -43928827309929:43928827310549 26045:26045 hsa_system_get_info(2, 0x1d4ced8) = 0 -43928827312040:43928827312663 26045:26045 hsa_system_get_info(2, 0x1d4cee0) = 0 -43928827313411:43928827314033 26045:26045 hsa_system_get_info(2, 0x1d4cee8) = 0 -43928827314781:43928827315400 26045:26045 hsa_system_get_info(2, 0x1d4cef0) = 0 -43928827316150:43928827316771 26045:26045 hsa_system_get_info(2, 0x1d4cef8) = 0 -43928827317514:43928827318136 26045:26045 hsa_system_get_info(2, 0x1d4cf00) = 0 -43928827318881:43928827319497 26045:26045 hsa_system_get_info(2, 0x1d4cf08) = 0 -43928827320243:43928827320859 26045:26045 hsa_system_get_info(2, 0x1d4cf10) = 0 -43928827321605:43928827322225 26045:26045 hsa_system_get_info(2, 0x1d4cf18) = 0 -43928827322969:43928827323593 26045:26045 hsa_system_get_info(2, 0x1d4cf20) = 0 -43928827324341:43928827324958 26045:26045 hsa_system_get_info(2, 0x1d4cf28) = 0 -43928827325706:43928827326322 26045:26045 hsa_system_get_info(2, 0x1d4cf30) = 0 -43928827327068:43928827327688 26045:26045 hsa_system_get_info(2, 0x1d4cf38) = 0 -43928827328436:43928827329056 26045:26045 hsa_system_get_info(2, 0x1d4cf40) = 0 -43928827329801:43928827330433 26045:26045 hsa_system_get_info(2, 0x1d4cf48) = 0 -43928827331181:43928827331798 26045:26045 hsa_system_get_info(2, 0x1d4cf50) = 0 -43928827332543:43928827333164 26045:26045 hsa_system_get_info(2, 0x1d4cf58) = 0 -43928827333910:43928827334532 26045:26045 hsa_system_get_info(2, 0x1d4cf60) = 0 -43928827335277:43928827335896 26045:26045 hsa_system_get_info(2, 0x1d4cf68) = 0 -43928827336641:43928827337255 26045:26045 hsa_system_get_info(2, 0x1d4cf70) = 0 -43928827338005:43928827338624 26045:26045 hsa_system_get_info(2, 0x1d4cf78) = 0 -43928827339370:43928827339990 26045:26045 hsa_system_get_info(2, 0x1d4cf80) = 0 -43928827340738:43928827341359 26045:26045 hsa_system_get_info(2, 0x1d4cf88) = 0 -43928827342105:43928827342722 26045:26045 hsa_system_get_info(2, 0x1d4cf90) = 0 -43928827343469:43928827344095 26045:26045 hsa_system_get_info(2, 0x1d4cf98) = 0 -43928827344841:43928827345460 26045:26045 hsa_system_get_info(2, 0x1d4cfa0) = 0 -43928827346207:43928827346830 26045:26045 hsa_system_get_info(2, 0x1d4cfa8) = 0 -43928827347578:43928827348201 26045:26045 hsa_system_get_info(2, 0x1d4cfb0) = 0 -43928827348953:43928827349593 26045:26045 hsa_system_get_info(2, 0x1d4cfb8) = 0 -43928827351075:43928827351700 26045:26045 hsa_system_get_info(2, 0x1d4cfc0) = 0 -43928827352450:43928827353064 26045:26045 hsa_system_get_info(2, 0x1d4cfc8) = 0 -43928827353810:43928827354432 26045:26045 hsa_system_get_info(2, 0x1d4cfd0) = 0 -43928827355176:43928827355802 26045:26045 hsa_system_get_info(2, 0x1d4cfd8) = 0 -43928827356549:43928827357168 26045:26045 hsa_system_get_info(2, 0x1d4cfe0) = 0 -43928827357916:43928827358534 26045:26045 hsa_system_get_info(2, 0x1d4cfe8) = 0 -43928827359278:43928827359898 26045:26045 hsa_system_get_info(2, 0x1d4cff0) = 0 -43928827360642:43928827361261 26045:26045 hsa_system_get_info(2, 0x1d4cff8) = 0 -43928827362007:43928827362626 26045:26045 hsa_system_get_info(2, 0x1d4d000) = 0 -43928827363370:43928827363990 26045:26045 hsa_system_get_info(2, 0x1d4d008) = 0 -43928827364734:43928827365355 26045:26045 hsa_system_get_info(2, 0x1d4d010) = 0 -43928827366101:43928827366720 26045:26045 hsa_system_get_info(2, 0x1d4d018) = 0 -43928827367464:43928827368086 26045:26045 hsa_system_get_info(2, 0x1d4d020) = 0 -43928827368836:43928827369462 26045:26045 hsa_system_get_info(2, 0x1d4d028) = 0 -43928827370220:43928827370835 26045:26045 hsa_system_get_info(2, 0x1d4d030) = 0 -43928827371588:43928827372214 26045:26045 hsa_system_get_info(2, 0x1d4d038) = 0 -43928827372959:43928827373578 26045:26045 hsa_system_get_info(2, 0x1d4d040) = 0 -43928827374326:43928827374945 26045:26045 hsa_system_get_info(2, 0x1d4d048) = 0 -43928827375693:43928827376309 26045:26045 hsa_system_get_info(2, 0x1d4d050) = 0 -43928827377060:43928827377677 26045:26045 hsa_system_get_info(2, 0x1d4d058) = 0 -43928827378421:43928827379045 26045:26045 hsa_system_get_info(2, 0x1d4d060) = 0 -43928827379790:43928827380408 26045:26045 hsa_system_get_info(2, 0x1d4d068) = 0 -43928827381154:43928827381779 26045:26045 hsa_system_get_info(2, 0x1d4d070) = 0 -43928827382530:43928827383151 26045:26045 hsa_system_get_info(2, 0x1d4d078) = 0 -43928827383899:43928827384521 26045:26045 hsa_system_get_info(2, 0x1d4d080) = 0 -43928827385271:43928827385891 26045:26045 hsa_system_get_info(2, 0x1d4d088) = 0 -43928827386639:43928827387253 26045:26045 hsa_system_get_info(2, 0x1d4d090) = 0 -43928827388011:43928827388630 26045:26045 hsa_system_get_info(2, 0x1d4d098) = 0 -43928827389392:43928827390011 26045:26045 hsa_system_get_info(2, 0x1d4d0a0) = 0 -43928827392134:43928827392768 26045:26045 hsa_system_get_info(2, 0x1d4d0a8) = 0 -43928827393514:43928827394134 26045:26045 hsa_system_get_info(2, 0x1d4d0b0) = 0 -43928827394881:43928827395505 26045:26045 hsa_system_get_info(2, 0x1d4d0b8) = 0 -43928827396256:43928827396881 26045:26045 hsa_system_get_info(2, 0x1d4d0c0) = 0 -43928827397632:43928827398257 26045:26045 hsa_system_get_info(2, 0x1d4d0c8) = 0 -43928827399002:43928827399623 26045:26045 hsa_system_get_info(2, 0x1d4d0d0) = 0 -43928827400372:43928827400993 26045:26045 hsa_system_get_info(2, 0x1d4d0d8) = 0 -43928827401744:43928827402362 26045:26045 hsa_system_get_info(2, 0x1d4d0e0) = 0 -43928827403105:43928827403725 26045:26045 hsa_system_get_info(2, 0x1d4d0e8) = 0 -43928827404470:43928827405091 26045:26045 hsa_system_get_info(2, 0x1d4d0f0) = 0 -43928827405835:43928827406454 26045:26045 hsa_system_get_info(2, 0x1d4d0f8) = 0 -43928827407199:43928827407816 26045:26045 hsa_system_get_info(2, 0x1d4d100) = 0 -43928827408567:43928827409187 26045:26045 hsa_system_get_info(2, 0x1d4d108) = 0 -43928827409933:43928827410557 26045:26045 hsa_system_get_info(2, 0x1d4d110) = 0 -43928827411321:43928827411941 26045:26045 hsa_system_get_info(2, 0x1d4d118) = 0 -43928827412692:43928827413315 26045:26045 hsa_system_get_info(2, 0x1d4d120) = 0 -43928827414061:43928827414686 26045:26045 hsa_system_get_info(2, 0x1d4d128) = 0 -43928827415432:43928827416049 26045:26045 hsa_system_get_info(2, 0x1d4d130) = 0 -43928827416799:43928827417418 26045:26045 hsa_system_get_info(2, 0x1d4d138) = 0 -43928827418161:43928827418783 26045:26045 hsa_system_get_info(2, 0x1d4d140) = 0 -43928827419529:43928827420145 26045:26045 hsa_system_get_info(2, 0x1d4d148) = 0 -43928827427996:43928827428640 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43928827429529:43928827431617 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e7050) = 0 -43928827432588:43928827435931 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e7010) = 0 -43928827436998:43928831667381 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 -43928832171311:43928832174994 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43928832176659:43928832177319 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43928832178278:43928832178750 26045:26051 hsa_signal_load_relaxed() = 1 -43928831670233:43928832183220 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43928832182362:43928832183727 26045:26051 hsa_signal_store_screlease(, 0) = void -43928832184553:43928832185220 26045:26051 hsa_signal_destroy() = 0 -43928832184841:43928832185548 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43928941382454:43928941384452 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fffcdc38520) = 0 -43928941524205:43928941524875 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fffcdc38520) = 0 -43928944821235:43928944822559 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fffcdc38520) = 0 -43928944827290:43928944828114 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fffcdc38520) = 0 -43928944830301:43928944830984 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7fffcdc38520) = 0 -43928944833036:43928944833748 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7fffcdc38520) = 0 -43928944881623:43928944882150 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fffcdc38520) = 0 -43928944884092:43928944884612 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fffcdc38520) = 0 -43928944886670:43928944887263 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7fffcdc38520) = 0 -43928944889138:43928944889638 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7fffcdc38520) = 0 -43928944938275:43928944938873 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fffcdc38520) = 0 -43928944940823:43928944941322 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fffcdc38520) = 0 -43928944943301:43928944943818 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7fffcdc38520) = 0 -43928944945801:43928944946317 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7fffcdc38520) = 0 -43928944993531:43928944994039 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fffcdc38520) = 0 -43928944996046:43928944996550 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fffcdc38520) = 0 -43928944998374:43928944998874 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7fffcdc38520) = 0 -43928945000877:43928945001389 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7fffcdc38520) = 0 -43928945047481:43928945047997 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fffcdc38520) = 0 -43928945050301:43928945050800 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fffcdc38520) = 0 -43928945052824:43928945053331 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7fffcdc38520) = 0 -43928945055292:43928945055806 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7fffcdc38520) = 0 -43928945101634:43928945102153 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fffcdc38520) = 0 -43928945104075:43928945104578 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fffcdc38520) = 0 -43928945106279:43928945106780 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7fffcdc38520) = 0 -43928945114883:43928945115400 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7fffcdc38520) = 0 -43928945161473:43928945161996 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fffcdc38520) = 0 -43928945163709:43928945164224 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fffcdc38520) = 0 -43928945166052:43928945166571 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7fffcdc38520) = 0 -43928945168337:43928945168839 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7fffcdc38520) = 0 -43928945216026:43928945216544 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fffcdc38520) = 0 -43928945218502:43928945219016 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fffcdc38520) = 0 -43928945220707:43928945221230 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7fffcdc38520) = 0 -43928945222959:43928945223467 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7fffcdc38520) = 0 -43928945269478:43928945270025 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fffcdc38520) = 0 -43928945272119:43928945272629 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fffcdc38520) = 0 -43928945274699:43928945275214 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7fffcdc38520) = 0 -43928945277274:43928945277795 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7fffcdc38520) = 0 -43928945430624:43928945431207 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fffcdc38520) = 0 -43928945433842:43928945434350 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fffcdc38520) = 0 -43928945436869:43928945437390 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7fffcdc38520) = 0 -43928945439833:43928945440339 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7fffcdc38520) = 0 -43928945485777:43928945486299 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fffcdc38520) = 0 -43928945488129:43928945488628 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fffcdc38520) = 0 -43928945490470:43928945490969 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7fffcdc38520) = 0 -43928945492709:43928945493196 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7fffcdc38520) = 0 -43928945536858:43928945537392 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fffcdc38520) = 0 -43928945539091:43928945539643 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fffcdc38520) = 0 -43928945541250:43928945541798 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7fffcdc38520) = 0 -43928945543548:43928945544038 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7fffcdc38520) = 0 -43928945618932:43928945619453 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fffcdc38520) = 0 -43928945621810:43928945622306 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fffcdc38520) = 0 -43928945624402:43928945624905 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7fffcdc38520) = 0 -43928945628384:43928945628899 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7fffcdc38520) = 0 -43928945672239:43928945672817 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fffcdc38520) = 0 -43928945674518:43928945675011 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fffcdc38520) = 0 -43928945676800:43928945677295 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7fffcdc38520) = 0 -43928945679100:43928945679590 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7fffcdc38520) = 0 -43928945724477:43928945724960 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fffcdc38520) = 0 -43928945726721:43928945727220 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fffcdc38520) = 0 -43928945729046:43928945729611 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7fffcdc38520) = 0 -43928945731357:43928945731851 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7fffcdc38520) = 0 -43928945776998:43928945777505 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fffcdc38520) = 0 -43928945779241:43928945779797 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fffcdc38520) = 0 -43928945781487:43928945782040 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7fffcdc38520) = 0 -43928945783817:43928945784370 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7fffcdc38520) = 0 -43928945827141:43928945827691 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fffcdc38520) = 0 -43928945829748:43928945830239 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fffcdc38520) = 0 -43928945832066:43928945832555 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7fffcdc38520) = 0 -43928945834726:43928945835217 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7fffcdc38520) = 0 -43928945879928:43928945880487 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fffcdc38520) = 0 -43928945882124:43928945882626 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fffcdc38520) = 0 -43928945884286:43928945884786 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7fffcdc38520) = 0 -43928945886799:43928945887287 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7fffcdc38520) = 0 -43928945932465:43928945932964 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fffcdc38520) = 0 -43928945934647:43928945935209 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fffcdc38520) = 0 -43928945937269:43928945937819 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7fffcdc38520) = 0 -43928945939546:43928945940042 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7fffcdc38520) = 0 -43928945983788:43928945984353 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fffcdc38520) = 0 -43928945985907:43928945986389 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fffcdc38520) = 0 -43928945988107:43928945988657 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7fffcdc38520) = 0 -43928945990700:43928945991192 26045:26045 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7fffcdc38520) = 0 -43929005193572:43929005201288 26045:26045 hsa_executable_create_alt(1, 0, -43929085803268:43929085805784 26045:26045 hsa_code_object_reader_create_from_memory(0x2eec240, , 0x7f14f5ffb2d0) = 0 -43929085809100:43929085977363 26045:26045 hsa_executable_load_agent_code_object(, , , -43929085979767:43929086007324 26045:26045 hsa_executable_freeze(, -43929086014150:43929086015507 26045:26045 hsa_executable_create_alt(1, 0, -43929086028635:43929086029095 26045:26045 hsa_code_object_reader_create_from_memory(0x7f1524151ef0, , 0x3b27400) = 0 -43929086030023:43929086090645 26045:26045 hsa_executable_load_agent_code_object(, , , -43929086092252:43929086112081 26045:26045 hsa_executable_freeze(, -43929086114920:43929086115872 26045:26045 hsa_executable_create_alt(1, 0, -43929086127603:43929086128165 26045:26045 hsa_code_object_reader_create_from_memory(0x7f152414f340, , 0x3b822d0) = 0 -43929086129008:43929086183752 26045:26045 hsa_executable_load_agent_code_object(, , , -43929086185157:43929086204399 26045:26045 hsa_executable_freeze(, -43929086206967:43929086207799 26045:26045 hsa_executable_create_alt(1, 0, -43929086218746:43929086219240 26045:26045 hsa_code_object_reader_create_from_memory(0x2eb9370, , 0x7f153d003110) = 0 -43929086220094:43929086272363 26045:26045 hsa_executable_load_agent_code_object(, , , -43929086273678:43929086292934 26045:26045 hsa_executable_freeze(, -43929086295443:43929086296458 26045:26045 hsa_executable_create_alt(1, 0, -43929086307333:43929086307784 26045:26045 hsa_code_object_reader_create_from_memory(0x2eba8e0, , 0x3b29f00) = 0 -43929086308621:43929086359985 26045:26045 hsa_executable_load_agent_code_object(, , , -43929086361304:43929086380629 26045:26045 hsa_executable_freeze(, -43929086383060:43929086383980 26045:26045 hsa_executable_create_alt(1, 0, -43929086394310:43929086394757 26045:26045 hsa_code_object_reader_create_from_memory(0x1fa2280, , 0x7f15240ca630) = 0 -43929086395626:43929086447073 26045:26045 hsa_executable_load_agent_code_object(, , , -43929086448420:43929086467548 26045:26045 hsa_executable_freeze(, -43929086469925:43929086470768 26045:26045 hsa_executable_create_alt(1, 0, -43929086481093:43929086481518 26045:26045 hsa_code_object_reader_create_from_memory(0x1fa37f0, , 0x7f152410e2a0) = 0 -43929086482371:43929086540989 26045:26045 hsa_executable_load_agent_code_object(, , , -43929086542283:43929086561279 26045:26045 hsa_executable_freeze(, -43929086565182:43929086566012 26045:26045 hsa_executable_create_alt(1, 0, -43929086586948:43929086587437 26045:26045 hsa_code_object_reader_create_from_memory(0x2d81ed0, , 0x7f1524132b80) = 0 -43929086588267:43929086639745 26045:26045 hsa_executable_load_agent_code_object(, , , -43929086641131:43929086660075 26045:26045 hsa_executable_freeze(, -43929086662454:43929086663353 26045:26045 hsa_executable_create_alt(1, 0, -43929086673799:43929086674206 26045:26045 hsa_code_object_reader_create_from_memory(0x2d83440, , 0x7f1524138fd0) = 0 -43929086675028:43929086725590 26045:26045 hsa_executable_load_agent_code_object(, , , -43929086726813:43929086745509 26045:26045 hsa_executable_freeze(, -43929086748053:43929086748753 26045:26045 hsa_executable_create_alt(1, 0, -43929086765679:43929086766141 26045:26045 hsa_code_object_reader_create_from_memory(0x2db0df0, , 0x7f152415e1b0) = 0 -43929086766958:43929086837593 26045:26045 hsa_executable_load_agent_code_object(, , , -43929086838996:43929086860060 26045:26045 hsa_executable_freeze(, -43929086862767:43929086863718 26045:26045 hsa_executable_create_alt(1, 0, -43929086875294:43929086875739 26045:26045 hsa_code_object_reader_create_from_memory(0x2d849b0, , 0x7f152417f1a0) = 0 -43929086876557:43929086929345 26045:26045 hsa_executable_load_agent_code_object(, , , -43929086930659:43929086949791 26045:26045 hsa_executable_freeze(, -43929086952272:43929086953227 26045:26045 hsa_executable_create_alt(1, 0, -43929086963672:43929086964084 26045:26045 hsa_code_object_reader_create_from_memory(0x2d85f20, , 0x7f152419ab60) = 0 -43929086964906:43929087015675 26045:26045 hsa_executable_load_agent_code_object(, , , -43929087016939:43929087036285 26045:26045 hsa_executable_freeze(, -43929087038660:43929087039526 26045:26045 hsa_executable_create_alt(1, 0, -43929087051425:43929087051856 26045:26045 hsa_code_object_reader_create_from_memory(0x2daba70, , 0x7f14f47a9b40) = 0 -43929087052652:43929087107634 26045:26045 hsa_executable_load_agent_code_object(, , , -43929087108963:43929087128819 26045:26045 hsa_executable_freeze(, -43929087131465:43929087132341 26045:26045 hsa_executable_create_alt(1, 0, -43929087143457:43929087144369 26045:26045 hsa_code_object_reader_create_from_memory(0x2da94b0, , 0x7f14f47987a0) = 0 -43929087145172:43929087196169 26045:26045 hsa_executable_load_agent_code_object(, , , -43929087197458:43929087216413 26045:26045 hsa_executable_freeze(, -43929087220194:43929087220993 26045:26045 hsa_executable_create_alt(1, 0, -43929087231204:43929087231636 26045:26045 hsa_code_object_reader_create_from_memory(0x2dae030, , 0x7f14f4777780) = 0 -43929087232473:43929087282411 26045:26045 hsa_executable_load_agent_code_object(, , , -43929087283786:43929087303064 26045:26045 hsa_executable_freeze(, -43929087305366:43929087306185 26045:26045 hsa_executable_create_alt(1, 0, -43929087316162:43929087316572 26045:26045 hsa_code_object_reader_create_from_memory(0x7f1524153460, , 0x7f14f473a6b0) = 0 -43929087317373:43929087371035 26045:26045 hsa_executable_load_agent_code_object(, , , -43929087372312:43929087391713 26045:26045 hsa_executable_freeze(, -43929087394123:43929087395125 26045:26045 hsa_executable_create_alt(1, 0, -43929087405210:43929087405626 26045:26045 hsa_code_object_reader_create_from_memory(0x2d87490, , 0x7f14f47d42c0) = 0 -43929087406440:43929087455989 26045:26045 hsa_executable_load_agent_code_object(, , , -43929087457274:43929087476857 26045:26045 hsa_executable_freeze(, -43929087479412:43929087480096 26045:26045 hsa_executable_create_alt(1, 0, -43929087490079:43929087490492 26045:26045 hsa_code_object_reader_create_from_memory(0x2d88a00, , 0x7f14f47ee870) = 0 -43929087491330:43929087542007 26045:26045 hsa_executable_load_agent_code_object(, , , -43929087543266:43929087563186 26045:26045 hsa_executable_freeze(, -43929087565548:43929087566491 26045:26045 hsa_executable_create_alt(1, 0, -43929087576222:43929087576625 26045:26045 hsa_code_object_reader_create_from_memory(0x2db5770, , 0x7f153ced0920) = 0 -43929087577458:43929087627158 26045:26045 hsa_executable_load_agent_code_object(, , , -43929087628423:43929087647631 26045:26045 hsa_executable_freeze(, -43929087649940:43929087650904 26045:26045 hsa_executable_create_alt(1, 0, -43929087660596:43929087661003 26045:26045 hsa_code_object_reader_create_from_memory(0x2db6ce0, , 0x7f153cee8e20) = 0 -43929087661841:43929087712675 26045:26045 hsa_executable_load_agent_code_object(, , , -43929087713920:43929087732918 26045:26045 hsa_executable_freeze(, -43929087766979:43929087767799 26045:26045 hsa_executable_create_alt(1, 0, -43929087780510:43929087780961 26045:26045 hsa_code_object_reader_create_from_memory(0x7f153d0193b0, , 0x7f153cef3440) = 0 -43929087781805:43929087840749 26045:26045 hsa_executable_load_agent_code_object(, , , -43929087842149:43929087862510 26045:26045 hsa_executable_freeze(, -43929087865443:43929087866495 26045:26045 hsa_executable_create_alt(1, 0, -43929087880558:43929087881006 26045:26045 hsa_code_object_reader_create_from_memory(0x2ef58b0, , 0x7f153cf0dfc0) = 0 -43929087881835:43929087939368 26045:26045 hsa_executable_load_agent_code_object(, , , -43929087940734:43929087960405 26045:26045 hsa_executable_freeze(, -43929087940734:43929087964724 26045:26045 hsa_agent_iterate_isas(, 1, 0x7fffcdc38468) = 0 -43929087967694:43929087968543 26045:26045 hsa_executable_iterate_agent_symbols(, , 1, 0x1d4cbc0) = 0 -43929087969345:43929087969747 26045:26045 hsa_executable_iterate_agent_symbols(, , 1, 0x1d4cbc0) = 0 -43929087970528:43929087970927 26045:26045 hsa_executable_iterate_agent_symbols(, , 1, 0x1d4cbc0) = 0 -43929087971685:43929087972054 26045:26045 hsa_executable_iterate_agent_symbols(, , 1, 0x1d4cbc0) = 0 -43929087972807:43929087973192 26045:26045 hsa_executable_iterate_agent_symbols(, , 1, 0x1d4cbc0) = 0 -43929087973951:43929087974316 26045:26045 hsa_executable_iterate_agent_symbols(, , 1, 0x1d4cbc0) = 0 -43929087975073:43929087975451 26045:26045 hsa_executable_iterate_agent_symbols(, , 1, 0x1d4cbc0) = 0 -43929087976209:43929087976577 26045:26045 hsa_executable_iterate_agent_symbols(, , 1, 0x1d4cbc0) = 0 -43929087977331:43929087977697 26045:26045 hsa_executable_iterate_agent_symbols(, , 1, 0x1d4cbc0) = 0 -43929087979970:43929087980669 26045:26045 hsa_executable_symbol_get_info(, 0, 0x7fffcdc38388) = 0 -43929087981633:43929087982001 26045:26045 hsa_executable_symbol_get_info(, 1, 0x7fffcdc38384) = 0 -43929087982917:43929087983354 26045:26045 hsa_executable_symbol_get_info(, 2, 0x3ac5ad0) = 0 -43929087984514:43929087984866 26045:26045 hsa_executable_symbol_get_info(, 0, 0x7fffcdc38388) = 0 -43929087985632:43929087985985 26045:26045 hsa_executable_symbol_get_info(, 1, 0x7fffcdc38384) = 0 -43929087986774:43929087987143 26045:26045 hsa_executable_symbol_get_info(, 2, 0x3b49310) = 0 -43929087988125:43929087988481 26045:26045 hsa_executable_symbol_get_info(, 0, 0x7fffcdc38388) = 0 -43929087989240:43929087989593 26045:26045 hsa_executable_symbol_get_info(, 1, 0x7fffcdc38384) = 0 -43929087990383:43929087990747 26045:26045 hsa_executable_symbol_get_info(, 2, 0x7f14f4506900) = 0 -43929087991645:43929087991997 26045:26045 hsa_executable_symbol_get_info(, 0, 0x7fffcdc38388) = 0 -43929087992760:43929087993109 26045:26045 hsa_executable_symbol_get_info(, 1, 0x7fffcdc38384) = 0 -43929087993888:43929087994246 26045:26045 hsa_executable_symbol_get_info(, 2, 0x7f14f44a0970) = 0 -43929087995184:43929087995526 26045:26045 hsa_executable_symbol_get_info(, 0, 0x7fffcdc38388) = 0 -43929087996287:43929087996636 26045:26045 hsa_executable_symbol_get_info(, 1, 0x7fffcdc38384) = 0 -43929087997581:43929087997930 26045:26045 hsa_executable_symbol_get_info(, 2, 0x3be6430) = 0 -43929088006406:43929088006789 26045:26045 hsa_executable_symbol_get_info(, 0, 0x7fffcdc38388) = 0 -43929088007585:43929088007927 26045:26045 hsa_executable_symbol_get_info(, 1, 0x7fffcdc38384) = 0 -43929088008766:43929088009123 26045:26045 hsa_executable_symbol_get_info(, 2, 0x2e52290) = 0 -43929088008766:43929088010074 26045:26045 hsa_executable_iterate_agent_symbols(, , 1, 0x1d4cbc0) = 0 -43929088010854:43929088011248 26045:26045 hsa_executable_iterate_agent_symbols(, , 1, 0x1d4cbc0) = 0 -43929088012011:43929088012374 26045:26045 hsa_executable_iterate_agent_symbols(, , 1, 0x1d4cbc0) = 0 -43929088013564:43929088013914 26045:26045 hsa_executable_symbol_get_info(, 0, 0x7fffcdc38388) = 0 -43929088014682:43929088015030 26045:26045 hsa_executable_symbol_get_info(, 1, 0x7fffcdc38384) = 0 -43929088015821:43929088016177 26045:26045 hsa_executable_symbol_get_info(, 2, 0x7f14b131e650) = 0 -43929088015821:43929088017087 26045:26045 hsa_executable_iterate_agent_symbols(, , 1, 0x1d4cbc0) = 0 -43929088017848:43929088018219 26045:26045 hsa_executable_iterate_agent_symbols(, , 1, 0x1d4cbc0) = 0 -43929088018974:43929088019342 26045:26045 hsa_executable_iterate_agent_symbols(, , 1, 0x1d4cbc0) = 0 -43929088020095:43929088020462 26045:26045 hsa_executable_iterate_agent_symbols(, , 1, 0x1d4cbc0) = 0 -43929088021218:43929088021584 26045:26045 hsa_executable_iterate_agent_symbols(, , 1, 0x1d4cbc0) = 0 -43929088022339:43929088022716 26045:26045 hsa_executable_iterate_agent_symbols(, , 1, 0x1d4cbc0) = 0 -43929088023485:43929088023852 26045:26045 hsa_executable_iterate_agent_symbols(, , 1, 0x1d4cbc0) = 0 -43929088024606:43929088024972 26045:26045 hsa_executable_iterate_agent_symbols(, , 1, 0x1d4cbc0) = 0 -43929088026156:43929088026494 26045:26045 hsa_executable_symbol_get_info(, 0, 0x7fffcdc38388) = 0 -43929088027252:43929088027601 26045:26045 hsa_executable_symbol_get_info(, 1, 0x7fffcdc38384) = 0 -43929088028376:43929088028728 26045:26045 hsa_executable_symbol_get_info(, 2, 0x7f14b1328d60) = 0 -43929088028376:43929088029609 26045:26045 hsa_executable_iterate_agent_symbols(, , 1, 0x1d4cbc0) = 0 -43929088030781:43929088031128 26045:26045 hsa_executable_symbol_get_info(, 0, 0x7fffcdc38388) = 0 -43929088031890:43929088032230 26045:26045 hsa_executable_symbol_get_info(, 1, 0x7fffcdc38384) = 0 -43929088033016:43929088033371 26045:26045 hsa_executable_symbol_get_info(, 2, 0x2eabcf0) = 0 -43929088033016:43929088034343 26045:26045 hsa_executable_iterate_agent_symbols(, , 1, 0x1d4cbc0) = 0 -43929117719851:43929117721048 26045:26045 hsa_executable_symbol_get_info(, 22, 0x7fffcdc38600) = 0 -43929117725923:43929117726401 26045:26045 hsa_system_major_extension_supported(, , , ) = 0 -43929117728089:43929117728571 26045:26045 hsa_system_get_major_extension_table(, , , 0x7fffcdc38590) = 0 -43929117733687:43929117734084 26045:26045 hsa_executable_symbol_get_info(, 22, 0x7fffcdc38600) = 0 -43929117738516:43929117738884 26045:26045 hsa_system_major_extension_supported(, , , ) = 0 -43929117739690:43929117740055 26045:26045 hsa_system_get_major_extension_table(, , , 0x7fffcdc38590) = 0 -43929119036558:43929119037114 26045:26045 hsa_executable_symbol_get_info(, 22, 0x7fffcdc38600) = 0 -43929119038087:43929119038453 26045:26045 hsa_system_major_extension_supported(, , , ) = 0 -43929119039251:43929119039639 26045:26045 hsa_system_get_major_extension_table(, , , 0x7fffcdc38590) = 0 -43929119882931:43929119883405 26045:26045 hsa_executable_symbol_get_info(, 22, 0x7fffcdc38600) = 0 -43929119884413:43929119884777 26045:26045 hsa_system_major_extension_supported(, , , ) = 0 -43929119885558:43929119885910 26045:26045 hsa_system_get_major_extension_table(, , , 0x7fffcdc38590) = 0 -43929119899183:43929119899578 26045:26045 hsa_executable_symbol_get_info(, 22, 0x7fffcdc38600) = 0 -43929119900456:43929119900789 26045:26045 hsa_system_major_extension_supported(, , , ) = 0 -43929119901573:43929119901919 26045:26045 hsa_system_get_major_extension_table(, , , 0x7fffcdc38590) = 0 -43929119907625:43929119908298 26045:26045 hsa_executable_symbol_get_info(, 22, 0x7fffcdc38600) = 0 -43929119909146:43929119909484 26045:26045 hsa_system_major_extension_supported(, , , ) = 0 -43929119910245:43929119910577 26045:26045 hsa_system_get_major_extension_table(, , , 0x7fffcdc38590) = 0 -43929119918892:43929119919280 26045:26045 hsa_executable_symbol_get_info(, 22, 0x7fffcdc38600) = 0 -43929119920131:43929119920489 26045:26045 hsa_system_major_extension_supported(, , , ) = 0 -43929119921241:43929119921583 26045:26045 hsa_system_get_major_extension_table(, , , 0x7fffcdc38590) = 0 -43929119924152:43929119924572 26045:26045 hsa_executable_symbol_get_info(, 22, 0x7fffcdc38600) = 0 -43929119925433:43929119925779 26045:26045 hsa_system_major_extension_supported(, , , ) = 0 -43929119926537:43929119926873 26045:26045 hsa_system_get_major_extension_table(, , , 0x7fffcdc38590) = 0 -43929119928297:43929119928684 26045:26045 hsa_executable_symbol_get_info(, 22, 0x7fffcdc38600) = 0 -43929119929580:43929119929913 26045:26045 hsa_system_major_extension_supported(, , , ) = 0 -43929119930674:43929119931007 26045:26045 hsa_system_get_major_extension_table(, , , 0x7fffcdc38590) = 0 -43929120567708:43929120568280 26045:26045 hsa_executable_symbol_get_info(, 22, 0x7fffcdc38600) = 0 -43929120569359:43929120569706 26045:26045 hsa_system_major_extension_supported(, , , ) = 0 -43929120570482:43929120570845 26045:26045 hsa_system_get_major_extension_table(, , , 0x7fffcdc38590) = 0 -43929120572730:43929120573071 26045:26045 hsa_executable_symbol_get_info(, 22, 0x7fffcdc38600) = 0 -43929120573888:43929120574225 26045:26045 hsa_system_major_extension_supported(, , , ) = 0 -43929120576322:43929120576675 26045:26045 hsa_system_get_major_extension_table(, , , 0x7fffcdc38590) = 0 -43929122494960:43929122495666 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43929122517488:43929124470235 26045:26045 hsa_queue_create(, , , 1, 0, , , ) = 0 -43929124477808:43929124478536 26045:26045 hsa_amd_profiling_set_profiler_enabled(, 1) = 0 -43929124486342:43929124486970 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 0 -43929124488882:43929124489547 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 0 -43929124490944:43929124492177 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 -43929124493688:43929124494089 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43929124496288:43929124497203 26045:26045 hsa_signal_store_relaxed(, 0) = void -43929124502451:43929124503112 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43929124527707:43929124528353 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929124535885:43929124538568 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 -43929124539467:43929124539814 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 1 -43929124540627:43929124540972 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 0 -43929124542029:43929124542375 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43929124543193:43929124543598 26045:26045 hsa_signal_store_relaxed(, 1) = void -43929124545747:43929126398116 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929126400669:43929126401193 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929126405423:43929126406401 26045:26045 hsa_signal_destroy() = 0 -43929126408754:43929126411164 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 -43929126412455:43929126413102 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43929126414082:43929126414824 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 -43929126415872:43929126416400 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43929126417717:43929126418254 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43929126420309:43929126421012 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43929126421932:43929126422480 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e70b0) = 0 -43929126423588:43929126425989 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e7070) = 0 -43929126427230:43929126429371 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 -43929126875961:43929126879011 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43929126884976:43929126885732 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43929126886820:43929126887358 26045:26051 hsa_signal_load_relaxed() = 1 -43929126430234:43929126888873 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43929126888255:43929126889595 26045:26051 hsa_signal_store_screlease(, 0) = void -43929126890507:43929126891019 26045:26051 hsa_signal_destroy() = 0 -43929127420349:43929127421117 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929141918502:43929141919581 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929141924447:43929141925584 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929141927676:43929141930517 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 -43929141931650:43929141932428 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43929141933280:43929141933887 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 -43929141934665:43929141935144 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43929142381321:43929142382074 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43929142383966:43929142384597 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43929142385767:43929142387371 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e7110) = 0 -43929142388285:43929142392492 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e70d0) = 0 -43929142393468:43929142395587 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 -43929142880274:43929142883588 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43929142885175:43929142885839 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43929142886976:43929142887509 26045:26051 hsa_signal_load_relaxed() = 1 -43929142396510:43929142889061 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43929142888395:43929142889771 26045:26051 hsa_signal_store_screlease(, 0) = void -43929142890334:43929142891041 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929142890711:43929142891354 26045:26051 hsa_signal_destroy() = 0 -43929142906316:43929142906961 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43929142914287:43929142915024 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 2 -43929142915963:43929142916418 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 2 -43929142917346:43929142917946 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 -43929142924529:43929142924993 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43929142926125:43929142926699 26045:26045 hsa_signal_store_relaxed(, 2) = void -43929142928379:43929142929013 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43929142935078:43929142935715 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929142938302:43929142941222 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 -43929142942072:43929142942456 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 3 -43929142943202:43929142943541 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 2 -43929142944431:43929142944758 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43929142945499:43929142945884 26045:26045 hsa_signal_store_relaxed(, 3) = void -43929142946971:43929144835668 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929144837159:43929144837630 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929144839147:43929144839798 26045:26045 hsa_signal_destroy() = 0 -43929144840904:43929144841331 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929144842389:43929144843053 26045:26045 hsa_signal_destroy() = 0 -43929144844518:43929144845630 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 -43929144846556:43929144847031 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43929144847884:43929144848436 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 -43929144849331:43929144849756 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43929144850713:43929144851122 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43929144852167:43929144852863 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43929144853731:43929144854384 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e7170) = 0 -43929144855272:43929144857346 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e7130) = 0 -43929144858223:43929144859107 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 -43929145322440:43929145325002 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43929145326402:43929145327119 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43929145328150:43929145328687 26045:26051 hsa_signal_load_relaxed() = 1 -43929144859983:43929145330204 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43929145329598:43929145330978 26045:26051 hsa_signal_store_screlease(, 0) = void -43929145331922:43929145332427 26045:26051 hsa_signal_destroy() = 0 -43929145766304:43929145767114 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929160298088:43929160299227 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929160303814:43929160305098 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929160307399:43929160309746 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 -43929160310873:43929160311523 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43929160312367:43929160312977 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 -43929160313908:43929160314306 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43929160759244:43929160760013 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43929160762090:43929160762725 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43929160763836:43929160765485 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e71d0) = 0 -43929160766456:43929160770508 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e7190) = 0 -43929160771466:43929160773092 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 -43929161257204:43929161260228 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43929161261769:43929161262410 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43929161263521:43929161264052 26045:26051 hsa_signal_load_relaxed() = 1 -43929160773941:43929161265626 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43929161264960:43929161266425 26045:26051 hsa_signal_store_screlease(, 0) = void -43929161266955:43929161267642 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929161267313:43929161267950 26045:26051 hsa_signal_destroy() = 0 -43929161282365:43929161283005 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43929161289306:43929161290160 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 4 -43929161290959:43929161291379 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 4 -43929161292331:43929161292932 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 -43929161293799:43929161294196 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43929161295193:43929161295762 26045:26045 hsa_signal_store_relaxed(, 4) = void -43929161297277:43929161297910 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43929161303737:43929161304375 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929161306276:43929161306940 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 -43929161311781:43929161312158 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 5 -43929161312911:43929161313244 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 4 -43929161314059:43929161314385 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43929161315129:43929161315522 26045:26045 hsa_signal_store_relaxed(, 5) = void -43929161316594:43929163210848 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929163212468:43929163212966 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929163214605:43929163215208 26045:26045 hsa_signal_destroy() = 0 -43929163216250:43929163216683 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929163217711:43929163218146 26045:26045 hsa_signal_destroy() = 0 -43929163219554:43929163220608 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 -43929163221589:43929163222062 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43929163222971:43929163223501 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 -43929163224327:43929163224734 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43929163225688:43929163226096 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43929163227177:43929163227868 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43929163228737:43929163229335 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e7230) = 0 -43929163230196:43929163232166 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e71f0) = 0 -43929163233029:43929163233872 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 -43929163696128:43929163698891 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43929163700289:43929163701008 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43929163702034:43929163702553 26045:26051 hsa_signal_load_relaxed() = 1 -43929163234741:43929163704075 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43929163703456:43929163704794 26045:26051 hsa_signal_store_screlease(, 0) = void -43929163705731:43929163706241 26045:26051 hsa_signal_destroy() = 0 -43929164147117:43929164147936 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929178649862:43929178650929 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929178655359:43929178656553 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929178658472:43929178661282 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 -43929178666568:43929178667206 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43929178668047:43929178668617 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 -43929178669438:43929178669831 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43929179111859:43929179112621 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43929179114623:43929179115261 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43929179116404:43929179117991 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e7290) = 0 -43929179118993:43929179123011 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e7250) = 0 -43929179123935:43929179125613 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 -43929179610189:43929179613422 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43929179614944:43929179615589 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43929179616623:43929179617149 26045:26051 hsa_signal_load_relaxed() = 1 -43929179126429:43929179618696 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43929179618022:43929179619409 26045:26051 hsa_signal_store_screlease(, 0) = void -43929179620092:43929179620761 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929179620294:43929179620913 26045:26051 hsa_signal_destroy() = 0 -43929179634963:43929179635601 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43929179641290:43929179642083 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 6 -43929179642905:43929179643337 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 6 -43929179644251:43929179644846 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 -43929179645660:43929179646056 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43929179647017:43929179647589 26045:26045 hsa_signal_store_relaxed(, 6) = void -43929179649054:43929179649689 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43929179655331:43929179655961 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929179657798:43929179658473 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 -43929179659244:43929179659619 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 7 -43929179660363:43929179660694 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 6 -43929179661494:43929179661830 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43929179662568:43929179662949 26045:26045 hsa_signal_store_relaxed(, 7) = void -43929179663993:43929181590303 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929181619484:43929181620179 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929181622284:43929181623063 26045:26045 hsa_signal_destroy() = 0 -43929181624207:43929181624657 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929181625685:43929181626121 26045:26045 hsa_signal_destroy() = 0 -43929181627577:43929181628983 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 -43929181629946:43929181630483 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43929181631416:43929181632029 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 -43929181632871:43929181633296 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43929181634336:43929181634826 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43929181636098:43929181636820 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43929181637788:43929181638679 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e72f0) = 0 -43929181639606:43929181642667 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e72b0) = 0 -43929181643594:43929181644746 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 -43929182108436:43929182111061 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43929182112513:43929182113244 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43929182114295:43929182114831 26045:26051 hsa_signal_load_relaxed() = 1 -43929181645669:43929182116357 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43929182115730:43929182117083 26045:26051 hsa_signal_store_screlease(, 0) = void -43929182118023:43929182118538 26045:26051 hsa_signal_destroy() = 0 -43929182554379:43929182555185 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929197179150:43929197180286 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929197185918:43929197186974 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929197188745:43929197191516 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 -43929197192634:43929197193332 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43929197194157:43929197194988 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 -43929197195763:43929197196466 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43929197639562:43929197640284 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43929197642049:43929197642674 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43929197647257:43929197648785 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e7350) = 0 -43929197649713:43929197654010 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e7310) = 0 -43929197654963:43929197656940 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 -43929198141437:43929198144433 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43929198146082:43929198146725 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43929198147841:43929198148365 26045:26051 hsa_signal_load_relaxed() = 1 -43929197657834:43929198149905 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43929198149238:43929198150606 26045:26051 hsa_signal_store_screlease(, 0) = void -43929198151096:43929198151774 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929198151491:43929198152129 26045:26051 hsa_signal_destroy() = 0 -43929198167682:43929198168323 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43929198175602:43929198176160 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 8 -43929198177128:43929198177750 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 8 -43929198178659:43929198179237 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 -43929198180069:43929198180442 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43929198181609:43929198182207 26045:26045 hsa_signal_store_relaxed(, 8) = void -43929198183983:43929198184623 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43929198192257:43929198192891 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929198195148:43929198195742 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 -43929198196512:43929198196848 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 9 -43929198197583:43929198197928 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 8 -43929198198884:43929198199215 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43929198199973:43929198200359 26045:26045 hsa_signal_store_relaxed(, 9) = void -43929198201386:43929200128344 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929200143210:43929200144035 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929200146713:43929200157867 26045:26045 hsa_signal_destroy() = 0 -43929200159014:43929200159451 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929200160450:43929200160892 26045:26045 hsa_signal_destroy() = 0 -43929200162403:43929200164055 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 -43929200167276:43929200167811 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43929200168708:43929200169341 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 -43929200170181:43929200170596 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43929200171699:43929200172179 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43929200173447:43929200174157 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43929200175140:43929200176074 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e73b0) = 0 -43929200177011:43929200180130 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e7370) = 0 -43929200181071:43929200182179 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 -43929200644644:43929200647296 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43929200648747:43929200649480 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43929200650537:43929200651072 26045:26051 hsa_signal_load_relaxed() = 1 -43929200183101:43929200652597 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43929200651976:43929200653348 26045:26051 hsa_signal_store_screlease(, 0) = void -43929200654294:43929200654806 26045:26051 hsa_signal_destroy() = 0 -43929201088720:43929201089509 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929215718834:43929215719914 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929215725649:43929215726725 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929215729039:43929215732120 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 -43929215733416:43929215734361 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43929215735201:43929215735964 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 -43929215736772:43929215737264 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43929216190373:43929216191105 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43929216192996:43929216193619 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43929216194714:43929216196179 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e7410) = 0 -43929216197150:43929216201580 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e73d0) = 0 -43929216202555:43929216204535 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 -43929216689694:43929216692945 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43929216694510:43929216695172 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43929216701266:43929216701997 26045:26051 hsa_signal_load_relaxed() = 1 -43929216205397:43929216703557 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43929216702875:43929216704289 26045:26051 hsa_signal_store_screlease(, 0) = void -43929216704826:43929216705552 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929216705207:43929216705812 26045:26051 hsa_signal_destroy() = 0 -43929216721433:43929216722081 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43929216729835:43929216730394 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 10 -43929216731356:43929216731819 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 10 -43929216732766:43929216733379 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 -43929216734157:43929216734514 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43929216735712:43929216736308 26045:26045 hsa_signal_store_relaxed(, 10) = void -43929216737967:43929216738602 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43929216744351:43929216744982 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929216747282:43929216747884 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 -43929216748636:43929216748966 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 11 -43929216749702:43929216750028 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 10 -43929216750974:43929216751298 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43929216752059:43929216752446 26045:26045 hsa_signal_store_relaxed(, 11) = void -43929216753399:43929218680911 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929218695538:43929218696359 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929218699102:43929218700184 26045:26045 hsa_signal_destroy() = 0 -43929218711318:43929218711815 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929218712855:43929218713295 26045:26045 hsa_signal_destroy() = 0 -43929218714750:43929218716150 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 -43929218717153:43929218717672 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43929218718550:43929218719175 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 -43929218720014:43929218720432 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43929218721475:43929218721952 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43929218723210:43929218723921 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43929218727837:43929218728720 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e7470) = 0 -43929218729671:43929218732684 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e7430) = 0 -43929218733630:43929218734736 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 -43929219198227:43929219200879 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43929219202327:43929219203055 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43929219204110:43929219204646 26045:26051 hsa_signal_load_relaxed() = 1 -43929218735699:43929219206140 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43929219205539:43929219206969 26045:26051 hsa_signal_store_screlease(, 0) = void -43929219207917:43929219208430 26045:26051 hsa_signal_destroy() = 0 -43929219642515:43929219643313 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929234217987:43929234219286 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929234225251:43929234226486 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929234228326:43929234231575 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 -43929234232672:43929234233504 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43929234234443:43929234235073 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 -43929234235847:43929234236316 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43929234679911:43929234680764 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43929234682821:43929234683447 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43929234684452:43929234685996 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e74d0) = 0 -43929234686956:43929234691271 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e7490) = 0 -43929234692247:43929234694341 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 -43929235178335:43929235181357 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43929235182952:43929235183612 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43929235184750:43929235185284 26045:26051 hsa_signal_load_relaxed() = 1 -43929234695209:43929235186827 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43929235186173:43929235187551 26045:26051 hsa_signal_store_screlease(, 0) = void -43929235188065:43929235188739 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929235188437:43929235189044 26045:26051 hsa_signal_destroy() = 0 -43929235205469:43929235206116 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43929235213466:43929235214267 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 12 -43929235215161:43929235215631 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 12 -43929235216590:43929235217178 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 -43929235217960:43929235218316 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43929235219451:43929235220050 26045:26045 hsa_signal_store_relaxed(, 12) = void -43929235221640:43929235222272 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43929235228654:43929235229287 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929235231441:43929235232007 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 -43929235232768:43929235233100 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 13 -43929235233842:43929235234170 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 12 -43929235235106:43929235235429 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43929235236189:43929235236569 26045:26045 hsa_signal_store_relaxed(, 13) = void -43929235237581:43929237160160 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929237174446:43929237175262 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929237177922:43929237179008 26045:26045 hsa_signal_destroy() = 0 -43929237190705:43929237191174 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929237192184:43929237192667 26045:26045 hsa_signal_destroy() = 0 -43929237194163:43929237195597 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 -43929237196571:43929237197090 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43929237197976:43929237198604 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 -43929237199445:43929237199859 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43929237200897:43929237201377 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43929237202625:43929237203337 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43929237204319:43929237205149 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e7530) = 0 -43929237206090:43929237209147 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e74f0) = 0 -43929237210086:43929237211200 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 -43929237675533:43929237678209 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43929237679660:43929237680392 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43929237683765:43929237684303 26045:26051 hsa_signal_load_relaxed() = 1 -43929237212145:43929237685841 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43929237685213:43929237686624 26045:26051 hsa_signal_store_screlease(, 0) = void -43929237687535:43929237688051 26045:26051 hsa_signal_destroy() = 0 -43929238128939:43929238129704 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929252725796:43929252726869 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929252732974:43929252734294 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929252736110:43929252739612 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 -43929252740661:43929252741411 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43929252742238:43929252742905 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 -43929252743688:43929252744160 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43929253190777:43929253191643 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43929253193368:43929253193993 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43929253195265:43929253196908 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e7590) = 0 -43929253197819:43929253201962 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e7550) = 0 -43929253203157:43929253205042 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 -43929253688457:43929253691441 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43929253693036:43929253693689 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43929253694775:43929253695311 26045:26051 hsa_signal_load_relaxed() = 1 -43929253205908:43929253696857 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43929253696201:43929253697573 26045:26051 hsa_signal_store_screlease(, 0) = void -43929253698146:43929253698827 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929253698459:43929253699064 26045:26051 hsa_signal_destroy() = 0 -43929253714551:43929253715198 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43929253722920:43929253723480 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 14 -43929253724470:43929253724942 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 14 -43929253726040:43929253726634 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 -43929253727442:43929253727801 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43929253733506:43929253734114 26045:26045 hsa_signal_store_relaxed(, 14) = void -43929253735718:43929253736349 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43929253742530:43929253743160 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929253745473:43929253745983 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 -43929253746747:43929253747083 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 15 -43929253747824:43929253748182 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 14 -43929253749125:43929253749448 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43929253750201:43929253750577 26045:26045 hsa_signal_store_relaxed(, 15) = void -43929253751529:43929255680707 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929255694849:43929255695682 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929255698416:43929255699480 26045:26045 hsa_signal_destroy() = 0 -43929255710585:43929255711081 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929255712120:43929255712567 26045:26045 hsa_signal_destroy() = 0 -43929255713971:43929255715488 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 -43929255716461:43929255716985 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43929255717913:43929255718542 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 -43929255719370:43929255719788 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43929255720851:43929255721330 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43929255722588:43929255723299 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43929255724278:43929255725216 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e75f0) = 0 -43929255726152:43929255729149 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e75b0) = 0 -43929255730081:43929255731194 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 -43929256194930:43929256197868 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43929256199312:43929256200047 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43929256201104:43929256201639 26045:26051 hsa_signal_load_relaxed() = 1 -43929255732119:43929256203244 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43929256202534:43929256203899 26045:26051 hsa_signal_store_screlease(, 0) = void -43929256204837:43929256205348 26045:26051 hsa_signal_destroy() = 0 -43929256640510:43929256641310 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929271251798:43929271252869 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929271258982:43929271260167 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929271262222:43929271265016 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 -43929271266149:43929271266942 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43929271267767:43929271268385 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 -43929271269171:43929271269563 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43929271715861:43929271716826 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43929271718734:43929271719355 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43929271720488:43929271722204 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e7650) = 0 -43929271723228:43929271727704 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e7610) = 0 -43929271728681:43929271730754 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 -43929272216642:43929272219852 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43929272221470:43929272222141 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43929272223317:43929272223851 26045:26051 hsa_signal_load_relaxed() = 1 -43929271731620:43929272225641 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43929272224932:43929272226347 26045:26051 hsa_signal_store_screlease(, 0) = void -43929272226937:43929272227617 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929272227229:43929272227782 26045:26051 hsa_signal_destroy() = 0 -43929272243792:43929272244434 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43929272252112:43929272252669 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 16 -43929272253657:43929272254157 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 16 -43929272255189:43929272255788 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 -43929272256660:43929272257019 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43929272258161:43929272258767 26045:26045 hsa_signal_store_relaxed(, 16) = void -43929272260365:43929272261003 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43929272267435:43929272268067 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929272270310:43929272270973 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 -43929272271727:43929272272052 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 17 -43929272277434:43929272277791 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 16 -43929272278756:43929272279093 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43929272279873:43929272280269 26045:26045 hsa_signal_store_relaxed(, 17) = void -43929272281334:43929274207445 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929274221831:43929274222647 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929274225298:43929274226388 26045:26045 hsa_signal_destroy() = 0 -43929274237620:43929274238115 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929274239132:43929274239570 26045:26045 hsa_signal_destroy() = 0 -43929274241108:43929274242524 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 -43929274243495:43929274244033 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43929274244918:43929274245551 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 -43929274246381:43929274246795 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43929274247842:43929274248326 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43929274249590:43929274250301 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43929274251287:43929274252158 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e76b0) = 0 -43929274253095:43929274256088 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e7670) = 0 -43929274257046:43929274258217 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 -43929274721699:43929274724363 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43929274725841:43929274726575 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43929274727630:43929274728165 26045:26051 hsa_signal_load_relaxed() = 1 -43929274259162:43929274729674 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43929274729066:43929274730448 26045:26051 hsa_signal_store_screlease(, 0) = void -43929274731395:43929274731900 26045:26051 hsa_signal_destroy() = 0 -43929275171650:43929275172458 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929289814663:43929289815728 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929289821211:43929289822372 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929289824344:43929289827332 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 -43929289828467:43929289829230 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43929289835294:43929289836125 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 -43929289837081:43929289837631 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43929290279991:43929290280886 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43929290282941:43929290283563 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43929290284839:43929290286693 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e7710) = 0 -43929290287578:43929290292217 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e76d0) = 0 -43929290293198:43929290295199 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 -43929290779407:43929290782442 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43929290784015:43929290784671 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43929290785743:43929290786273 26045:26051 hsa_signal_load_relaxed() = 1 -43929290296105:43929290787781 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43929290787120:43929290788507 26045:26051 hsa_signal_store_screlease(, 0) = void -43929290789005:43929290789685 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929290789393:43929290789997 26045:26051 hsa_signal_destroy() = 0 -43929290805692:43929290806339 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43929290814130:43929290814698 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 18 -43929290815668:43929290816131 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 18 -43929290817177:43929290817824 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 -43929290818598:43929290818959 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43929290820094:43929290820689 26045:26045 hsa_signal_store_relaxed(, 18) = void -43929290822228:43929290822862 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43929290829132:43929290829765 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929290832019:43929290832688 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 -43929290833461:43929290833789 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 19 -43929290834524:43929290834863 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 18 -43929290835830:43929290836155 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43929290836915:43929290837295 26045:26045 hsa_signal_store_relaxed(, 19) = void -43929290838242:43929292769269 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929292784099:43929292784930 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929292801324:43929292802112 26045:26045 hsa_signal_destroy() = 0 -43929292803246:43929292803702 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929292804745:43929292805232 26045:26045 hsa_signal_destroy() = 0 -43929292806646:43929292808146 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 -43929292809118:43929292809648 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43929292810530:43929292811149 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 -43929292811978:43929292812404 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43929292813446:43929292813932 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43929292815217:43929292815938 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43929292816904:43929292817747 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e7770) = 0 -43929292818680:43929292821769 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e7730) = 0 -43929292822699:43929292823821 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 -43929293287543:43929293290171 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43929293291608:43929293292339 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43929293293394:43929293293927 26045:26051 hsa_signal_load_relaxed() = 1 -43929292824747:43929293295456 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43929293294828:43929293296229 26045:26051 hsa_signal_store_screlease(, 0) = void -43929293297169:43929293297682 26045:26051 hsa_signal_destroy() = 0 -43929293731198:43929293731998 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929308305284:43929308306396 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929308312898:43929308314256 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929308316592:43929308320034 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 -43929308321210:43929308322001 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43929308322835:43929308323545 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 -43929308324343:43929308324826 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43929308797336:43929308798359 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43929308800050:43929308800680 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43929308801820:43929308803603 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e77d0) = 0 -43929308810863:43929308815573 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e7790) = 0 -43929308816568:43929308818521 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 -43929309302684:43929309305886 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43929309307400:43929309308064 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43929309309195:43929309309903 26045:26051 hsa_signal_load_relaxed() = 1 -43929308819426:43929309311430 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43929309310761:43929309312330 26045:26051 hsa_signal_store_screlease(, 0) = void -43929309312617:43929309313281 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929309313215:43929309313876 26045:26051 hsa_signal_destroy() = 0 -43929309331592:43929309332237 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43929309340681:43929309341462 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 20 -43929309342354:43929309342848 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 20 -43929309343848:43929309344463 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 -43929309345292:43929309345659 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43929309346815:43929309347431 26045:26045 hsa_signal_store_relaxed(, 20) = void -43929309348990:43929309349625 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43929309355764:43929309356394 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929309358922:43929309359488 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 -43929309360253:43929309360583 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 21 -43929309361319:43929309361667 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 20 -43929309362614:43929309362941 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43929309363693:43929309364084 26045:26045 hsa_signal_store_relaxed(, 21) = void -43929309365079:43929311284734 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929311286913:43929311287458 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929311299847:43929311300769 26045:26045 hsa_signal_destroy() = 0 -43929311302019:43929311302523 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929311303568:43929311303999 26045:26045 hsa_signal_destroy() = 0 -43929311305694:43929311318216 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 -43929311319282:43929311319760 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43929311322230:43929311322860 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 -43929311323689:43929311324097 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43929311325039:43929311325459 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43929311326492:43929311327210 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43929311328088:43929311328947 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e7830) = 0 -43929311329827:43929311332157 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e77f0) = 0 -43929311333022:43929311333916 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 -43929311797220:43929311799875 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43929311801316:43929311802044 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43929311803091:43929311803628 26045:26051 hsa_signal_load_relaxed() = 1 -43929311334785:43929311805182 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43929311804531:43929311805914 26045:26051 hsa_signal_store_screlease(, 0) = void -43929311806865:43929311807376 26045:26051 hsa_signal_destroy() = 0 -43929312247839:43929312248625 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929326889687:43929326890754 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929326895540:43929326896687 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929326898613:43929326901357 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 -43929326902536:43929326903277 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43929326904088:43929326904624 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 -43929326905470:43929326905944 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43929327364798:43929327365528 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43929327367112:43929327367744 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43929327369121:43929327370717 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e7890) = 0 -43929327371734:43929327375787 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e7850) = 0 -43929327376993:43929327378622 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 -43929327863480:43929327866747 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43929327868280:43929327868937 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43929327870054:43929327870600 26045:26051 hsa_signal_load_relaxed() = 1 -43929327379570:43929327877083 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43929327876377:43929327877847 26045:26051 hsa_signal_store_screlease(, 0) = void -43929327878483:43929327879159 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929327878736:43929327879394 26045:26051 hsa_signal_destroy() = 0 -43929327892901:43929327893541 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43929327899425:43929327900216 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 22 -43929327901120:43929327901585 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 22 -43929327902498:43929327903111 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 -43929327903920:43929327904363 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43929327905260:43929327905838 26045:26045 hsa_signal_store_relaxed(, 22) = void -43929327906973:43929327907605 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43929327913727:43929327914359 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929327916085:43929327916704 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 -43929327917534:43929327917917 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 23 -43929327918667:43929327919005 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 22 -43929327919750:43929327920069 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43929327920801:43929327921187 26045:26045 hsa_signal_store_relaxed(, 23) = void -43929327922222:43929329851018 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929329865504:43929329866314 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929329869352:43929329870430 26045:26045 hsa_signal_destroy() = 0 -43929329881044:43929329881493 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929329882793:43929329883233 26045:26045 hsa_signal_destroy() = 0 -43929329884759:43929329886177 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 -43929329887151:43929329887676 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43929329888659:43929329889291 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 -43929329890379:43929329890792 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43929329891833:43929329892304 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43929329893559:43929329894274 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43929329895258:43929329896150 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e78f0) = 0 -43929329899770:43929329902820 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e78b0) = 0 -43929329903768:43929329904919 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 -43929330368802:43929330371754 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43929330373204:43929330373942 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43929330374996:43929330375534 26045:26051 hsa_signal_load_relaxed() = 1 -43929329905876:43929330377049 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43929330376435:43929330377817 26045:26051 hsa_signal_store_screlease(, 0) = void -43929330378762:43929330379282 26045:26051 hsa_signal_destroy() = 0 -43929330814011:43929330814808 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929345436429:43929345437550 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929345443280:43929345444823 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929345447265:43929345450204 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 -43929345451284:43929345452049 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43929345452886:43929345453579 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 -43929345454357:43929345454826 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43929345908768:43929345909577 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43929345911313:43929345911940 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43929345912945:43929345914406 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e7950) = 0 -43929345915510:43929345919877 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e7910) = 0 -43929345920946:43929345922879 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 -43929346406344:43929346409548 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43929346411039:43929346411696 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43929346412853:43929346413387 26045:26051 hsa_signal_load_relaxed() = 1 -43929345923744:43929346414924 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43929346414271:43929346415663 26045:26051 hsa_signal_store_screlease(, 0) = void -43929346416177:43929346416857 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929346416550:43929346417193 26045:26051 hsa_signal_destroy() = 0 -43929346433013:43929346433667 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43929346445041:43929346445675 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 24 -43929346446541:43929346447181 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 24 -43929346448149:43929346448742 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 -43929346449582:43929346449941 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43929346451082:43929346451682 26045:26045 hsa_signal_store_relaxed(, 24) = void -43929346453455:43929346454100 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43929346460558:43929346461190 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929346463398:43929346463964 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 -43929346464721:43929346465050 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 25 -43929346465789:43929346466122 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 24 -43929346467057:43929346467380 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43929346468134:43929346468517 26045:26045 hsa_signal_store_relaxed(, 25) = void -43929346469525:43929348402329 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929348416671:43929348417491 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929348420171:43929348421255 26045:26045 hsa_signal_destroy() = 0 -43929348432355:43929348432865 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929348433858:43929348434338 26045:26045 hsa_signal_destroy() = 0 -43929348436016:43929348437434 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 -43929348438411:43929348438935 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43929348439846:43929348440472 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 -43929348441299:43929348441715 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43929348442754:43929348443236 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43929348444506:43929348445219 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43929348446203:43929348447101 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e79b0) = 0 -43929348448035:43929348451122 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e7970) = 0 -43929348452066:43929348453196 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 -43929348915642:43929348918354 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43929348919793:43929348920520 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43929348924662:43929348925201 26045:26051 hsa_signal_load_relaxed() = 1 -43929348454147:43929348926708 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43929348926102:43929348927439 26045:26051 hsa_signal_store_screlease(, 0) = void -43929348928354:43929348928871 26045:26051 hsa_signal_destroy() = 0 -43929349362276:43929349363090 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929363939143:43929363940215 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929363946248:43929363947269 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929363949461:43929363952630 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 -43929363953969:43929363954645 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43929363955471:43929363956097 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 -43929363956902:43929363957371 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43929364438479:43929364439223 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43929364441151:43929364441779 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43929364443010:43929364444680 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e7a10) = 0 -43929364445747:43929364449916 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e79d0) = 0 -43929364450948:43929364452562 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 -43929364935662:43929364938668 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43929364940171:43929364940830 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43929364941997:43929364942538 26045:26051 hsa_signal_load_relaxed() = 1 -43929364453430:43929364944090 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43929364943427:43929364944822 26045:26051 hsa_signal_store_screlease(, 0) = void -43929364945321:43929364945994 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929364945805:43929364946440 26045:26051 hsa_signal_destroy() = 0 -43929364962915:43929364963566 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43929364971278:43929364971926 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 26 -43929364972821:43929364973295 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 26 -43929364974242:43929364974840 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 -43929364975651:43929364976012 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43929364977168:43929364977760 26045:26045 hsa_signal_store_relaxed(, 26) = void -43929364984324:43929364984960 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43929364991337:43929364991968 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929364994132:43929364994637 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 -43929364995400:43929364995727 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 27 -43929364996467:43929364996809 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 26 -43929364997699:43929364998025 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43929364998785:43929364999169 26045:26045 hsa_signal_store_relaxed(, 27) = void -43929365000103:43929366920667 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929366935111:43929366935945 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929366938576:43929366939668 26045:26045 hsa_signal_destroy() = 0 -43929366950251:43929366950750 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929366951800:43929366952240 26045:26045 hsa_signal_destroy() = 0 -43929366953736:43929366955151 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 -43929366956125:43929366956648 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43929366957576:43929366958205 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 -43929366959034:43929366959446 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43929366960479:43929366960953 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43929366962214:43929366962928 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43929366963905:43929366964839 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e7a70) = 0 -43929366965765:43929366968776 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e7a30) = 0 -43929366969794:43929366970997 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 -43929367434790:43929367437382 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43929367438807:43929367439537 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43929367440594:43929367441127 26045:26051 hsa_signal_load_relaxed() = 1 -43929366971948:43929367442634 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43929367442026:43929367443385 26045:26051 hsa_signal_store_screlease(, 0) = void -43929367444324:43929367444850 26045:26051 hsa_signal_destroy() = 0 -43929367887135:43929367887947 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929382526761:43929382527816 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929382533568:43929382534649 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929382536676:43929382539712 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 -43929382540855:43929382541638 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43929382542481:43929382543180 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 -43929382543980:43929382544450 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43929383022222:43929383023142 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43929383024840:43929383025466 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43929383026469:43929383027894 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e7ad0) = 0 -43929383028917:43929383032847 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e7a90) = 0 -43929383033845:43929383035708 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 -43929383519641:43929383522730 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43929383524253:43929383525050 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43929383526172:43929383526710 26045:26051 hsa_signal_load_relaxed() = 1 -43929383036750:43929383528265 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43929383527609:43929383529018 26045:26051 hsa_signal_store_screlease(, 0) = void -43929383529495:43929383530174 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929383529903:43929383530563 26045:26051 hsa_signal_destroy() = 0 -43929383546413:43929383547064 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43929383554505:43929383555151 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 28 -43929383556036:43929383556501 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 28 -43929383557614:43929383558239 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 -43929383559043:43929383559404 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43929383560562:43929383561153 26045:26045 hsa_signal_store_relaxed(, 28) = void -43929383562711:43929383563347 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43929383569700:43929383570330 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929383572561:43929383573326 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 -43929383574086:43929383574414 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 29 -43929383575150:43929383575494 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 28 -43929383580666:43929383581015 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43929383581774:43929383582156 26045:26045 hsa_signal_store_relaxed(, 29) = void -43929383583144:43929385506452 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929385520818:43929385521633 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929385524496:43929385525579 26045:26045 hsa_signal_destroy() = 0 -43929385536675:43929385537157 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929385538250:43929385538692 26045:26045 hsa_signal_destroy() = 0 -43929385540199:43929385541641 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 -43929385542627:43929385543146 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43929385544056:43929385544686 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 -43929385545527:43929385545947 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43929385547000:43929385547487 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43929385548760:43929385549473 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43929385550455:43929385551329 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e7b30) = 0 -43929385552265:43929385555341 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e7af0) = 0 -43929385556288:43929385557399 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 -43929386020524:43929386023155 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43929386024609:43929386025341 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43929386026394:43929386026933 26045:26051 hsa_signal_load_relaxed() = 1 -43929385558347:43929386028433 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43929386027828:43929386029272 26045:26051 hsa_signal_store_screlease(, 0) = void -43929386030213:43929386030721 26045:26051 hsa_signal_destroy() = 0 -43929386465847:43929386466653 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929401098385:43929401099456 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929401105161:43929401106332 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929401108450:43929401111208 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 -43929401112591:43929401113344 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43929401114186:43929401114792 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 -43929401120946:43929401121434 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43929401575328:43929401576258 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43929401577869:43929401578507 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43929401579616:43929401581201 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e7b90) = 0 -43929401582144:43929401586383 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e7b50) = 0 -43929401587336:43929401589262 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 -43929402057421:43929402060466 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43929402061985:43929402062654 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43929402063778:43929402064310 26045:26051 hsa_signal_load_relaxed() = 1 -43929401590219:43929402065841 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43929402065181:43929402066571 26045:26051 hsa_signal_store_screlease(, 0) = void -43929402067139:43929402067819 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929402067458:43929402068104 26045:26051 hsa_signal_destroy() = 0 -43929402083730:43929402084396 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43929402092066:43929402092714 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 30 -43929402093605:43929402094079 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 30 -43929402095007:43929402095624 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 -43929402096407:43929402096764 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43929402097907:43929402098500 26045:26045 hsa_signal_store_relaxed(, 30) = void -43929402100129:43929402100759 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43929402108690:43929402109317 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929402111515:43929402112149 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 -43929402112903:43929402113226 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 31 -43929402113968:43929402114305 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 30 -43929402115239:43929402115566 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43929402116319:43929402116699 26045:26045 hsa_signal_store_relaxed(, 31) = void -43929402117638:43929402675171 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929402688138:43929402688910 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929402691395:43929402692409 26045:26045 hsa_signal_destroy() = 0 -43929402706485:43929402707005 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929402707968:43929402708409 26045:26045 hsa_signal_destroy() = 0 -43929402709899:43929402711211 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 -43929402712085:43929402712558 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43929402713369:43929402713981 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 -43929402714735:43929402715111 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43929402716054:43929402716485 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43929402717620:43929402718263 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43929402719144:43929402719915 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e7bf0) = 0 -43929402720758:43929402723238 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e7bb0) = 0 -43929402724084:43929402725102 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 -43929403216040:43929403218851 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43929403220193:43929403220853 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43929403221808:43929403222286 26045:26051 hsa_signal_load_relaxed() = 1 -43929402725922:43929403223744 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43929403223092:43929403224356 26045:26051 hsa_signal_store_screlease(, 0) = void -43929403225199:43929403225667 26045:26051 hsa_signal_destroy() = 0 -43929403667394:43929403668254 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929418298409:43929418299474 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929418305197:43929418306476 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929418308419:43929418310898 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 -43929418311992:43929418312745 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43929418313568:43929418314149 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 -43929418314920:43929418315396 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43929418771823:43929418772575 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43929418774462:43929418775092 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43929418776123:43929418777795 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e7c50) = 0 -43929418778810:43929418783188 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e7c10) = 0 -43929418787985:43929418789976 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 -43929419258162:43929419261187 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43929419262645:43929419263304 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43929419264398:43929419264939 26045:26051 hsa_signal_load_relaxed() = 1 -43929418790831:43929419266449 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43929419265808:43929419267195 26045:26051 hsa_signal_store_screlease(, 0) = void -43929419267659:43929419268339 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929419268081:43929419268732 26045:26051 hsa_signal_destroy() = 0 -43929419284201:43929419284856 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43929419292618:43929419293264 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 32 -43929419294310:43929419294774 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 32 -43929419295796:43929419296402 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 -43929419297238:43929419297592 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43929419298717:43929419299312 26045:26045 hsa_signal_store_relaxed(, 32) = void -43929419300924:43929419301555 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43929419307607:43929419308238 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929419310815:43929419311380 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 -43929419312140:43929419312471 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 33 -43929419313206:43929419313560 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 32 -43929419314430:43929419314752 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43929419315509:43929419315891 26045:26045 hsa_signal_store_relaxed(, 33) = void -43929419316913:43929419873409 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929419886980:43929419887753 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929419890282:43929419891325 26045:26045 hsa_signal_destroy() = 0 -43929419892530:43929419893356 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929419903932:43929419904333 26045:26045 hsa_signal_destroy() = 0 -43929419905803:43929419907124 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 -43929419908004:43929419908477 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43929419909268:43929419909836 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 -43929419914629:43929419915011 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43929419915967:43929419916402 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43929419917543:43929419918179 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43929419919061:43929419919909 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e7cb0) = 0 -43929419920752:43929419923252 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e7c70) = 0 -43929419924099:43929419925097 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 -43929420429654:43929420432285 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43929420433618:43929420434276 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43929420435222:43929420435703 26045:26051 hsa_signal_load_relaxed() = 1 -43929419925957:43929420437260 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43929420436508:43929420437759 26045:26051 hsa_signal_store_screlease(, 0) = void -43929420438602:43929420439064 26045:26051 hsa_signal_destroy() = 0 -43929420880916:43929420881765 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929435490072:43929435491275 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929435497504:43929435498675 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929435500516:43929435503557 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 -43929435504640:43929435505468 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43929435506294:43929435506993 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 -43929435507832:43929435508320 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43929435965425:43929435966336 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43929435968320:43929435968956 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43929435969981:43929435971535 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e7d10) = 0 -43929435972551:43929435976763 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e7cd0) = 0 -43929435977802:43929435979967 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 -43929436460732:43929436463734 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43929436465179:43929436465824 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43929436466965:43929436467487 26045:26051 hsa_signal_load_relaxed() = 1 -43929435980885:43929436469098 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43929436468370:43929436469754 26045:26051 hsa_signal_store_screlease(, 0) = void -43929436473776:43929436474410 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929436474949:43929436475540 26045:26051 hsa_signal_destroy() = 0 -43929436493052:43929436493709 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43929436501562:43929436502211 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 34 -43929436503201:43929436503662 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 34 -43929436504596:43929436505248 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 -43929436506094:43929436506459 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43929436507599:43929436508205 26045:26045 hsa_signal_store_relaxed(, 34) = void -43929436509848:43929436510479 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43929436517110:43929436517744 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929436519895:43929436520665 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 -43929436521414:43929436521741 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 35 -43929436522477:43929436522814 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 34 -43929436523756:43929436524084 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43929436524850:43929436525231 26045:26045 hsa_signal_store_relaxed(, 35) = void -43929436526185:43929437082748 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929437096284:43929437097057 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929437099554:43929437100561 26045:26045 hsa_signal_destroy() = 0 -43929437101769:43929437102212 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929437112657:43929437113123 26045:26045 hsa_signal_destroy() = 0 -43929437114494:43929437116068 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 -43929437116950:43929437117417 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43929437118220:43929437118785 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 -43929437119532:43929437119907 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43929437120852:43929437121288 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43929437122416:43929437123059 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43929437123944:43929437124705 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e7d70) = 0 -43929437127503:43929437130206 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e7d30) = 0 -43929437131061:43929437132104 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 -43929437625299:43929437627771 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43929437629115:43929437629772 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43929437630729:43929437631211 26045:26051 hsa_signal_load_relaxed() = 1 -43929437132958:43929437632681 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43929437632022:43929437633306 26045:26051 hsa_signal_store_screlease(, 0) = void -43929437634150:43929437634612 26045:26051 hsa_signal_destroy() = 0 -43929438077750:43929438078605 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929452739469:43929452740544 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929452746614:43929452747634 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929452749806:43929452752512 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 -43929452753563:43929452754234 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43929452755058:43929452755719 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 -43929452756496:43929452756968 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43929453244764:43929453245500 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43929453247518:43929453248139 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43929453249151:43929453250593 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e7dd0) = 0 -43929453251621:43929453255586 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e7d90) = 0 -43929453256644:43929453258576 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 -43929453725817:43929453728826 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43929453730291:43929453730939 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43929453732052:43929453732584 26045:26051 hsa_signal_load_relaxed() = 1 -43929453259503:43929453734137 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43929453733477:43929453734857 26045:26051 hsa_signal_store_screlease(, 0) = void -43929453735402:43929453736144 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929453735811:43929453736474 26045:26051 hsa_signal_destroy() = 0 -43929453752199:43929453752858 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43929453760731:43929453761378 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 36 -43929453766047:43929453766676 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 36 -43929453767660:43929453768287 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 -43929453769128:43929453769481 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43929453770624:43929453771247 26045:26045 hsa_signal_store_relaxed(, 36) = void -43929453772813:43929453773449 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43929453779948:43929453780583 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929453782926:43929453783515 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 -43929453784264:43929453784590 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 37 -43929453785337:43929453785668 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 36 -43929453786626:43929453786972 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43929453787727:43929453788108 26045:26045 hsa_signal_store_relaxed(, 37) = void -43929453789073:43929454347961 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929454361392:43929454362169 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929454364625:43929454365634 26045:26045 hsa_signal_destroy() = 0 -43929454366849:43929454367712 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929454378742:43929454379197 26045:26045 hsa_signal_destroy() = 0 -43929454380652:43929454381980 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 -43929454382871:43929454383344 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43929454384176:43929454384733 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 -43929454385495:43929454385866 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43929454386805:43929454387236 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43929454388366:43929454389004 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43929454389895:43929454390684 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e7e30) = 0 -43929454391524:43929454393988 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e7df0) = 0 -43929454394845:43929454395867 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 -43929454887819:43929454890347 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43929454891667:43929454892324 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43929454893278:43929454893766 26045:26051 hsa_signal_load_relaxed() = 1 -43929454396714:43929454897880 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43929454897221:43929454898449 26045:26051 hsa_signal_store_screlease(, 0) = void -43929454899283:43929454899739 26045:26051 hsa_signal_destroy() = 0 -43929455342180:43929455343023 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929469997961:43929469999088 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929470004910:43929470006011 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929470008006:43929470011172 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 -43929470012265:43929470013027 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43929470013864:43929470014616 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 -43929470015429:43929470015899 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43929470471749:43929470472484 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43929470474119:43929470474751 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43929470475810:43929470477224 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e7e90) = 0 -43929470478252:43929470482236 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e7e50) = 0 -43929470483240:43929470485202 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 -43929470953625:43929470956677 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43929470958190:43929470958847 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43929470960002:43929470960534 26045:26051 hsa_signal_load_relaxed() = 1 -43929470486075:43929470962106 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43929470961442:43929470962831 26045:26051 hsa_signal_store_screlease(, 0) = void -43929470963393:43929470964163 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929470963803:43929470964447 26045:26051 hsa_signal_destroy() = 0 -43929470980410:43929470981056 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43929470988947:43929470989574 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 38 -43929470990385:43929470990849 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 38 -43929470991800:43929470992403 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 -43929470993216:43929470993572 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43929470994733:43929470995325 26045:26045 hsa_signal_store_relaxed(, 38) = void -43929470996944:43929470997580 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43929471009036:43929471009668 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929471011863:43929471012364 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 -43929471013142:43929471013481 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 39 -43929471014213:43929471014545 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 38 -43929471015483:43929471015812 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43929471016577:43929471016968 26045:26045 hsa_signal_store_relaxed(, 39) = void -43929471017961:43929471572217 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929471585584:43929471586363 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929471588851:43929471589866 26045:26045 hsa_signal_destroy() = 0 -43929471591086:43929471591610 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929471592678:43929471603111 26045:26045 hsa_signal_destroy() = 0 -43929471604549:43929471605879 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 -43929471606765:43929471607245 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43929471608056:43929471608616 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 -43929471609364:43929471609747 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43929471610687:43929471611127 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43929471612260:43929471612914 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43929471613793:43929471614650 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e7ef0) = 0 -43929471615485:43929471618200 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e7eb0) = 0 -43929471619043:43929471620063 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 -43929472112280:43929472114775 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43929472116099:43929472116765 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43929472117710:43929472118196 26045:26051 hsa_signal_load_relaxed() = 1 -43929471620908:43929472119739 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43929472119000:43929472120239 26045:26051 hsa_signal_store_screlease(, 0) = void -43929472121079:43929472121541 26045:26051 hsa_signal_destroy() = 0 -43929472565326:43929472566182 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929487180702:43929487181757 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929487193391:43929487194579 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929487196566:43929487199735 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 -43929487200757:43929487201515 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43929487202348:43929487203031 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 -43929487214273:43929487214765 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43929487669497:43929487670327 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43929487672115:43929487672739 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43929487673750:43929487675440 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e7f50) = 0 -43929487676660:43929487680909 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e7f10) = 0 -43929487681874:43929487683804 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 -43929488151795:43929488155094 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43929488156598:43929488157247 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43929488158369:43929488158895 26045:26051 hsa_signal_load_relaxed() = 1 -43929487684728:43929488160504 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43929488159745:43929488161169 26045:26051 hsa_signal_store_screlease(, 0) = void -43929488161906:43929488162598 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929488162105:43929488162766 26045:26051 hsa_signal_destroy() = 0 -43929488178744:43929488179391 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43929488187214:43929488187854 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 40 -43929488188746:43929488189223 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 40 -43929488190158:43929488190766 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 -43929488191628:43929488191995 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43929488193164:43929488193768 26045:26045 hsa_signal_store_relaxed(, 40) = void -43929488195355:43929488195990 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43929488202476:43929488203104 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929488205341:43929488205984 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 -43929488206751:43929488207085 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 41 -43929488207822:43929488208174 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 40 -43929488209142:43929488209465 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43929488211804:43929488212188 26045:26045 hsa_signal_store_relaxed(, 41) = void -43929488213230:43929488773874 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929488787262:43929488788032 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929488790520:43929488791543 26045:26045 hsa_signal_destroy() = 0 -43929488792797:43929488793243 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929488794235:43929488804187 26045:26045 hsa_signal_destroy() = 0 -43929488805556:43929488807086 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 -43929488807970:43929488808443 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43929488809239:43929488809799 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 -43929488810544:43929488810921 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43929488811872:43929488812311 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43929488813445:43929488814086 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43929488814967:43929488815762 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e7fb0) = 0 -43929488816608:43929488819074 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e7f70) = 0 -43929488819936:43929488820966 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 -43929489313167:43929489315769 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43929489317084:43929489317736 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43929489318687:43929489319165 26045:26051 hsa_signal_load_relaxed() = 1 -43929488821816:43929489320628 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43929489319976:43929489321221 26045:26051 hsa_signal_store_screlease(, 0) = void -43929489322064:43929489322526 26045:26051 hsa_signal_destroy() = 0 -43929489762742:43929489763584 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929504399790:43929504400861 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929504407143:43929504408158 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929504410099:43929504413297 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 -43929504414378:43929504415128 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43929504415958:43929504416552 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 -43929504417320:43929504417792 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43929504891368:43929504892193 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43929504896527:43929504897150 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43929504898162:43929504899703 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e8010) = 0 -43929504900751:43929504905066 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e7fd0) = 0 -43929504905961:43929504907938 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 -43929505376510:43929505379778 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43929505381293:43929505381959 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43929505383055:43929505383588 26045:26051 hsa_signal_load_relaxed() = 1 -43929504908775:43929505385120 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43929505384440:43929505385831 26045:26051 hsa_signal_store_screlease(, 0) = void -43929505386386:43929505387086 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929505386757:43929505387401 26045:26051 hsa_signal_destroy() = 0 -43929505403909:43929505404552 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43929505412446:43929505413213 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 42 -43929505414098:43929505414563 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 42 -43929505415484:43929505416097 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 -43929505416940:43929505417300 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43929505418435:43929505419037 26045:26045 hsa_signal_store_relaxed(, 42) = void -43929505420666:43929505421296 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43929505427663:43929505428294 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929505430359:43929505430985 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 -43929505431749:43929505432083 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 43 -43929505432818:43929505433169 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 42 -43929505434127:43929505434446 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43929505435199:43929505435582 26045:26045 hsa_signal_store_relaxed(, 43) = void -43929505436526:43929505991688 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929505993678:43929505994175 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929505995648:43929505996212 26045:26045 hsa_signal_destroy() = 0 -43929506008060:43929506008551 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929506013801:43929506014282 26045:26045 hsa_signal_destroy() = 0 -43929506025613:43929506026700 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 -43929506027548:43929506027981 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43929506028750:43929506029226 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 -43929506029963:43929506030329 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43929506031184:43929506031588 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43929506032555:43929506033181 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43929506033973:43929506034503 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e8070) = 0 -43929506035270:43929506037257 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e8030) = 0 -43929506038036:43929506038766 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 -43929506531086:43929506533511 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43929506534863:43929506535516 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43929506536458:43929506536940 26045:26051 hsa_signal_load_relaxed() = 1 -43929506039535:43929506538396 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43929506537748:43929506539003 26045:26051 hsa_signal_store_screlease(, 0) = void -43929506539849:43929506540319 26045:26051 hsa_signal_destroy() = 0 -43929506979890:43929506980740 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929521606516:43929521607582 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929521612368:43929521613558 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929521615712:43929521618393 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 -43929521619548:43929521620239 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43929521621059:43929521621640 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 -43929521622512:43929521622999 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43929522089602:43929522090942 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43929522092781:43929522093405 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43929522094442:43929522096064 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e80d0) = 0 -43929522097095:43929522100999 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e8090) = 0 -43929522101981:43929522103783 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 -43929522570994:43929522574128 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43929522575681:43929522576340 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43929522577545:43929522578082 26045:26051 hsa_signal_load_relaxed() = 1 -43929522108460:43929522579619 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43929522578956:43929522580337 26045:26051 hsa_signal_store_screlease(, 0) = void -43929522581132:43929522581812 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929522581220:43929522581867 26045:26051 hsa_signal_destroy() = 0 -43929522596321:43929522596974 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43929522603085:43929522603677 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 44 -43929522604636:43929522605064 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 44 -43929522606018:43929522606600 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 -43929522607383:43929522607827 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43929522608833:43929522609416 26045:26045 hsa_signal_store_relaxed(, 44) = void -43929522610848:43929522611479 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43929522617491:43929522618126 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929522619796:43929522620354 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 -43929522621178:43929522621508 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 45 -43929522622246:43929522622578 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 44 -43929522623318:43929522623644 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43929522624387:43929522624831 26045:26045 hsa_signal_store_relaxed(, 45) = void -43929522626050:43929523185591 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929523187066:43929523187544 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929523188893:43929523189442 26045:26045 hsa_signal_destroy() = 0 -43929523190338:43929523201030 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929523202010:43929523202403 26045:26045 hsa_signal_destroy() = 0 -43929523204031:43929523206022 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 -43929523207051:43929523207570 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43929523208432:43929523218500 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 -43929523221064:43929523221443 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43929523222320:43929523222705 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43929523223656:43929523224285 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43929523225076:43929523225684 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e8130) = 0 -43929523226448:43929523228277 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e80f0) = 0 -43929523229053:43929523229777 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 -43929523722771:43929523725183 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43929523726518:43929523727170 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43929523728111:43929523728594 26045:26051 hsa_signal_load_relaxed() = 1 -43929523230574:43929523730061 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43929523729410:43929523730641 26045:26051 hsa_signal_store_screlease(, 0) = void -43929523731489:43929523731954 26045:26051 hsa_signal_destroy() = 0 -43929524180065:43929524180903 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929538838351:43929538839423 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929538843920:43929538844942 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929538846880:43929538849203 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 -43929538850294:43929538851178 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43929538851995:43929538852708 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 -43929538853651:43929538854147 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43929539321625:43929539322518 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43929539324025:43929539324648 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43929539326003:43929539327871 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e8190) = 0 -43929539328893:43929539333016 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e8150) = 0 -43929539334007:43929539335511 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 -43929539803747:43929539806785 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43929539808367:43929539809038 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43929539810200:43929539810737 26045:26051 hsa_signal_load_relaxed() = 1 -43929539336426:43929539812348 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43929539811705:43929539813097 26045:26051 hsa_signal_store_screlease(, 0) = void -43929539813800:43929539814430 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929539818959:43929539819657 26045:26051 hsa_signal_destroy() = 0 -43929539831849:43929539832481 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43929539838051:43929539838832 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 46 -43929539839787:43929539840214 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 46 -43929539841086:43929539841729 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 -43929539842516:43929539842966 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43929539843920:43929539844494 26045:26045 hsa_signal_store_relaxed(, 46) = void -43929539845818:43929539846449 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43929539852521:43929539853156 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929539854760:43929539855383 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 -43929539856208:43929539856590 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 47 -43929539857328:43929539857659 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 46 -43929539858402:43929539858722 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43929539859462:43929539859837 26045:26045 hsa_signal_store_relaxed(, 47) = void -43929539860866:43929540413762 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929540415249:43929540415744 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929540417184:43929540417736 26045:26045 hsa_signal_destroy() = 0 -43929540418709:43929540429343 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929540430346:43929540430743 26045:26045 hsa_signal_destroy() = 0 -43929540432337:43929540434147 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 -43929540435194:43929540435765 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43929540436635:43929540437115 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 -43929540447290:43929540447674 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43929540448564:43929540448998 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43929540449978:43929540450619 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43929540451417:43929540451955 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e81f0) = 0 -43929540452717:43929540454585 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e81b0) = 0 -43929540456736:43929540457513 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 -43929540949826:43929540952315 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43929540953654:43929540954309 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43929540955252:43929540955733 26045:26051 hsa_signal_load_relaxed() = 1 -43929540458321:43929540957188 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43929540956539:43929540957819 26045:26051 hsa_signal_store_screlease(, 0) = void -43929540958670:43929540959137 26045:26051 hsa_signal_destroy() = 0 -43929541399790:43929541400616 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929556033565:43929556034639 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929556039249:43929556040423 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929556042920:43929556045332 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 -43929556046399:43929556047138 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43929556047963:43929556048620 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 -43929556049414:43929556049881 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43929556535933:43929556536668 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43929556538205:43929556538832 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43929556540051:43929556541685 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e8250) = 0 -43929556542781:43929556546715 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e8210) = 0 -43929556547687:43929556549317 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 -43929557016936:43929557020017 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43929557021614:43929557022260 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43929557023438:43929557024121 26045:26051 hsa_signal_load_relaxed() = 1 -43929556550233:43929557025676 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43929557025024:43929557026403 26045:26051 hsa_signal_store_screlease(, 0) = void -43929557026975:43929557027656 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929557027291:43929557027964 26045:26051 hsa_signal_destroy() = 0 -43929557041536:43929557042172 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43929557048206:43929557048863 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 48 -43929557049818:43929557050221 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 48 -43929557056477:43929557057085 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 -43929557057868:43929557058313 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43929557059271:43929557059879 26045:26045 hsa_signal_store_relaxed(, 48) = void -43929557061219:43929557061860 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43929557067527:43929557068155 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929557070025:43929557070609 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 -43929557071438:43929557071820 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 49 -43929557072558:43929557072882 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 48 -43929557073621:43929557073938 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43929557074677:43929557075057 26045:26045 hsa_signal_store_relaxed(, 49) = void -43929557076085:43929557637968 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929557651579:43929557652353 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929557655086:43929557656097 26045:26045 hsa_signal_destroy() = 0 -43929557657407:43929557658073 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929557668606:43929557669056 26045:26045 hsa_signal_destroy() = 0 -43929557670545:43929557671857 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 -43929557672742:43929557673216 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43929557674073:43929557674643 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 -43929557675393:43929557675768 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43929557676715:43929557677153 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43929557678290:43929557678929 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43929557679815:43929557680648 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e82b0) = 0 -43929557681498:43929557684218 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e8270) = 0 -43929557685069:43929557686219 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 -43929558178255:43929558180790 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43929558182104:43929558182761 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43929558183709:43929558184192 26045:26051 hsa_signal_load_relaxed() = 1 -43929557687069:43929558185658 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43929558185000:43929558186229 26045:26051 hsa_signal_store_screlease(, 0) = void -43929558190285:43929558190745 26045:26051 hsa_signal_destroy() = 0 -43929558633220:43929558634070 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929573275474:43929573276546 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929573282557:43929573283537 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929573285810:43929573288319 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 -43929573289399:43929573290193 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43929573291041:43929573291735 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 -43929573292536:43929573293006 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43929573778001:43929573778737 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43929573780535:43929573781157 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43929573782304:43929573783673 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e8310) = 0 -43929573784697:43929573788940 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e82d0) = 0 -43929573790080:43929573792049 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 -43929574258542:43929574261819 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43929574263312:43929574263968 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43929574265130:43929574265670 26045:26051 hsa_signal_load_relaxed() = 1 -43929573793045:43929574267235 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43929574266583:43929574267971 26045:26051 hsa_signal_store_screlease(, 0) = void -43929574268497:43929574269176 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929574268853:43929574269499 26045:26051 hsa_signal_destroy() = 0 -43929574284841:43929574285490 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43929574293437:43929574294075 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 50 -43929574294950:43929574295539 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 50 -43929574296493:43929574297091 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 -43929574297909:43929574298264 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43929574299428:43929574300035 26045:26045 hsa_signal_store_relaxed(, 50) = void -43929574301676:43929574302318 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43929574308749:43929574309378 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929574316109:43929574316718 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 -43929574317486:43929574317821 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 51 -43929574318554:43929574318893 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 50 -43929574319853:43929574320187 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43929574320944:43929574321339 26045:26045 hsa_signal_store_relaxed(, 51) = void -43929574322299:43929574877016 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929574890422:43929574891204 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929574893692:43929574894762 26045:26045 hsa_signal_destroy() = 0 -43929574896008:43929574896652 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929574907699:43929574908128 26045:26045 hsa_signal_destroy() = 0 -43929574909535:43929574910912 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 -43929574911792:43929574912256 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43929574913084:43929574913647 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 -43929574914389:43929574914760 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43929574915713:43929574916146 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43929574917276:43929574917921 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43929574918810:43929574919660 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e8370) = 0 -43929574920502:43929574922970 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e8330) = 0 -43929574923822:43929574924850 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 -43929575417602:43929575420105 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43929575421433:43929575422085 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43929575423035:43929575423516 26045:26051 hsa_signal_load_relaxed() = 1 -43929574925689:43929575424997 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43929575424332:43929575425626 26045:26051 hsa_signal_store_screlease(, 0) = void -43929575426463:43929575426923 26045:26051 hsa_signal_destroy() = 0 -43929575869413:43929575870249 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929590505356:43929590506470 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929590512659:43929590513646 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929590521288:43929590524450 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 -43929590525563:43929590526289 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43929590527113:43929590538075 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 -43929590538945:43929590539438 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43929590997057:43929590997927 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43929590999569:43929591000190 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43929591001221:43929591002972 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e83d0) = 0 -43929591003958:43929591008560 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e8390) = 0 -43929591009517:43929591011612 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 -43929591478365:43929591481378 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43929591482879:43929591483533 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43929591484657:43929591485187 26045:26051 hsa_signal_load_relaxed() = 1 -43929591012518:43929591486695 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43929591486060:43929591487450 26045:26051 hsa_signal_store_screlease(, 0) = void -43929591487951:43929591488632 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929591488334:43929591488990 26045:26051 hsa_signal_destroy() = 0 -43929591506297:43929591506965 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43929591514616:43929591515251 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 52 -43929591516133:43929591516601 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 52 -43929591517583:43929591518208 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 -43929591519047:43929591519402 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43929591520540:43929591521145 26045:26045 hsa_signal_store_relaxed(, 52) = void -43929591522846:43929591523477 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43929591529728:43929591530360 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929591532527:43929591533166 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 -43929591533926:43929591534257 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 53 -43929591534991:43929591535323 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 52 -43929591536272:43929591536600 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43929591537353:43929591537734 26045:26045 hsa_signal_store_relaxed(, 53) = void -43929591539669:43929592094058 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929592107637:43929592108406 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929592110842:43929592111853 26045:26045 hsa_signal_destroy() = 0 -43929592113133:43929592113574 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929592123995:43929592124462 26045:26045 hsa_signal_destroy() = 0 -43929592125879:43929592127210 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 -43929592128087:43929592128559 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43929592129350:43929592129921 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 -43929592130670:43929592131042 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43929592131989:43929592132426 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43929592133557:43929592134200 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43929592135081:43929592135886 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e8430) = 0 -43929592136729:43929592139470 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e83f0) = 0 -43929592140321:43929592141338 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 -43929592632657:43929592635123 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43929592636446:43929592637105 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43929592638056:43929592638542 26045:26051 hsa_signal_load_relaxed() = 1 -43929592142188:43929592640011 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43929592639354:43929592640602 26045:26051 hsa_signal_store_screlease(, 0) = void -43929592641442:43929592641900 26045:26051 hsa_signal_destroy() = 0 -43929593083215:43929593084063 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929607744724:43929607745796 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929607751970:43929607753258 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929607755235:43929607758264 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 -43929607759393:43929607760089 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43929607760930:43929607761559 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 -43929607762333:43929607762808 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43929608232776:43929608233456 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43929608240412:43929608241053 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43929608242096:43929608243532 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e8490) = 0 -43929608244584:43929608248645 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e8450) = 0 -43929608249537:43929608251621 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 -43929608719795:43929608722841 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43929608724323:43929608724980 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43929608726087:43929608726623 26045:26051 hsa_signal_load_relaxed() = 1 -43929608252618:43929608728173 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43929608727495:43929608728904 26045:26051 hsa_signal_store_screlease(, 0) = void -43929608729434:43929608730110 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929608729789:43929608730443 26045:26051 hsa_signal_destroy() = 0 -43929608746135:43929608746774 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43929608754241:43929608754866 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 54 -43929608755740:43929608756396 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 54 -43929608757381:43929608757992 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 -43929608758827:43929608759179 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43929608760325:43929608760937 26045:26045 hsa_signal_store_relaxed(, 54) = void -43929608762633:43929608763263 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43929608769817:43929608770444 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929608772605:43929608773237 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 -43929608773998:43929608774325 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 55 -43929608775061:43929608775402 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 54 -43929608776358:43929608776681 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43929608777434:43929608777815 26045:26045 hsa_signal_store_relaxed(, 55) = void -43929608778778:43929609337113 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929609350703:43929609351505 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929609354070:43929609355097 26045:26045 hsa_signal_destroy() = 0 -43929609356361:43929609356982 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929609370022:43929609370489 26045:26045 hsa_signal_destroy() = 0 -43929609371901:43929609373219 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 -43929609374127:43929609374604 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43929609375416:43929609375989 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 -43929609376760:43929609377138 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43929609378110:43929609378561 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43929609379709:43929609380376 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43929609381285:43929609382062 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e84f0) = 0 -43929609382930:43929609385388 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e84b0) = 0 -43929609386259:43929609387304 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 -43929609842565:43929609845092 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43929609846425:43929609847100 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43929609848071:43929609848572 26045:26051 hsa_signal_load_relaxed() = 1 -43929609388176:43929609849980 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43929609849410:43929609850695 26045:26051 hsa_signal_store_screlease(, 0) = void -43929609851557:43929609852032 26045:26051 hsa_signal_destroy() = 0 -43929610282667:43929610283409 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929624883510:43929624884632 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929624890597:43929624892071 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929624894275:43929624897605 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 -43929624899005:43929624899755 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43929624900636:43929624901189 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 -43929624901958:43929624902430 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43929625366697:43929625367436 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43929625369016:43929625369638 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43929625370652:43929625372189 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e8550) = 0 -43929625373267:43929625377291 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e8510) = 0 -43929625378226:43929625380138 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 -43929625847832:43929625850911 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43929625857040:43929625857707 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43929625858829:43929625859616 26045:26051 hsa_signal_load_relaxed() = 1 -43929625381058:43929625861119 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43929625860461:43929625861844 26045:26051 hsa_signal_store_screlease(, 0) = void -43929625862245:43929625862912 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929625862723:43929625863548 26045:26051 hsa_signal_destroy() = 0 -43929625879205:43929625879858 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43929625887797:43929625888435 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 56 -43929625889221:43929625889686 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 56 -43929625890756:43929625891356 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 -43929625892188:43929625892547 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43929625893662:43929625894269 26045:26045 hsa_signal_store_relaxed(, 56) = void -43929625895834:43929625896463 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43929625902781:43929625903413 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929625905638:43929625906197 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 -43929625906967:43929625907300 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 57 -43929625908047:43929625908390 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 56 -43929625909341:43929625909665 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43929625910432:43929625910816 26045:26045 hsa_signal_store_relaxed(, 57) = void -43929625911847:43929626471724 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929626485892:43929626486716 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929626489297:43929626490367 26045:26045 hsa_signal_destroy() = 0 -43929626501142:43929626501631 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929626502643:43929626503073 26045:26045 hsa_signal_destroy() = 0 -43929626504501:43929626505938 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 -43929626506880:43929626507499 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43929626508397:43929626509045 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 -43929626509881:43929626510283 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43929626514169:43929626514644 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43929626515907:43929626516598 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43929626517556:43929626518466 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e85b0) = 0 -43929626519373:43929626521961 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e8570) = 0 -43929626522871:43929626523993 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 -43929626977249:43929626979889 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43929626981302:43929626982011 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43929626983030:43929626983552 26045:26051 hsa_signal_load_relaxed() = 1 -43929626524908:43929626985026 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43929626984427:43929626985754 26045:26051 hsa_signal_store_screlease(, 0) = void -43929626986669:43929626987162 26045:26051 hsa_signal_destroy() = 0 -43929627428891:43929627429649 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929642022798:43929642023934 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929642030078:43929642031509 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929642033759:43929642037151 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 -43929642038272:43929642039073 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43929642039962:43929642040851 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 -43929642041620:43929642042123 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43929642507476:43929642508218 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43929642509853:43929642510483 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43929642511516:43929642513124 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e8610) = 0 -43929642514356:43929642518135 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e85d0) = 0 -43929642519124:43929642521099 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 -43929642988232:43929642991341 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43929642992822:43929642993472 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43929642994613:43929642995149 26045:26051 hsa_signal_load_relaxed() = 1 -43929642522017:43929642996937 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43929642996268:43929642997692 26045:26051 hsa_signal_store_screlease(, 0) = void -43929642998135:43929642998811 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929642998621:43929642999256 26045:26051 hsa_signal_destroy() = 0 -43929643018192:43929643018844 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43929643026667:43929643027305 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 58 -43929643028187:43929643028653 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 58 -43929643029573:43929643030184 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 -43929643031020:43929643031379 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43929643032509:43929643033363 26045:26045 hsa_signal_store_relaxed(, 58) = void -43929643034967:43929643035605 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43929643041906:43929643042538 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929643044679:43929643045300 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 -43929643046063:43929643046393 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 59 -43929643047132:43929643047480 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 58 -43929643048441:43929643048764 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43929643049515:43929643049894 26045:26045 hsa_signal_store_relaxed(, 59) = void -43929643050829:43929643611891 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929643625158:43929643625931 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929643628423:43929643629436 26045:26045 hsa_signal_destroy() = 0 -43929643630609:43929643631049 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929643632015:43929643641825 26045:26045 hsa_signal_destroy() = 0 -43929643643433:43929643644876 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 -43929643645853:43929643646377 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43929643647265:43929643647887 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 -43929643648713:43929643649131 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43929643650177:43929643650672 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43929643651950:43929643652664 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43929643653649:43929643654499 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e8670) = 0 -43929643655444:43929643658405 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e8630) = 0 -43929643659351:43929643660522 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 -43929644118490:43929644121238 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43929644122687:43929644123410 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43929644124620:43929644125159 26045:26051 hsa_signal_load_relaxed() = 1 -43929643663742:43929644126755 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43929644126057:43929644127472 26045:26051 hsa_signal_store_screlease(, 0) = void -43929644128416:43929644128928 26045:26051 hsa_signal_destroy() = 0 -43929644562471:43929644563272 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929659150447:43929659151567 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929659157628:43929659158782 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929659161082:43929659163693 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 -43929659164882:43929659165657 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43929659166498:43929659167138 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 -43929659167943:43929659168410 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43929659634121:43929659634854 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43929659636847:43929659637475 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43929659638497:43929659639957 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e86d0) = 0 -43929659641208:43929659644891 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e8690) = 0 -43929659645894:43929659647779 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 -43929660116642:43929660120057 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43929660121525:43929660122167 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43929660123336:43929660123864 26045:26051 hsa_signal_load_relaxed() = 1 -43929659648803:43929660125510 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43929660124749:43929660126129 26045:26051 hsa_signal_store_screlease(, 0) = void -43929660126817:43929660127479 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929660127016:43929660127642 26045:26051 hsa_signal_destroy() = 0 -43929660144076:43929660144729 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43929660152416:43929660153189 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 60 -43929660153975:43929660154443 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 60 -43929660155391:43929660156005 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 -43929660160404:43929660160761 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43929660161870:43929660162475 26045:26045 hsa_signal_store_relaxed(, 60) = void -43929660164072:43929660164702 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43929660170955:43929660171582 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929660173912:43929660174496 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 -43929660175254:43929660175589 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 61 -43929660176327:43929660176666 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 60 -43929660177624:43929660177950 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43929660178705:43929660179088 26045:26045 hsa_signal_store_relaxed(, 61) = void -43929660180087:43929660734978 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929660736952:43929660737447 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929660738867:43929660739431 26045:26045 hsa_signal_destroy() = 0 -43929660750837:43929660751337 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929660752244:43929660752716 26045:26045 hsa_signal_destroy() = 0 -43929660754391:43929660756432 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 -43929660757461:43929660758017 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43929660768354:43929660768853 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 -43929660769609:43929660769979 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43929660770836:43929660771238 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43929660772182:43929660772808 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43929660773593:43929660774110 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e8730) = 0 -43929660774873:43929660776798 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e86f0) = 0 -43929660777571:43929660778303 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 -43929661237885:43929661240594 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43929661242036:43929661242766 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43929661243815:43929661244355 26045:26051 hsa_signal_load_relaxed() = 1 -43929660779091:43929661245983 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43929661245253:43929661246614 26045:26051 hsa_signal_store_screlease(, 0) = void -43929661251087:43929661251605 26045:26051 hsa_signal_destroy() = 0 -43929661684089:43929661684883 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929676267191:43929676268197 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929676272891:43929676273986 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929676276053:43929676278350 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 -43929676279474:43929676280375 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43929676281185:43929676281783 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 -43929676282677:43929676283150 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43929676749722:43929676750466 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43929676752302:43929676752925 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43929676753964:43929676755416 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e8790) = 0 -43929676756447:43929676760480 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e8750) = 0 -43929676761471:43929676763372 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 -43929677230945:43929677234273 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43929677235861:43929677236511 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43929677237661:43929677238183 26045:26051 hsa_signal_load_relaxed() = 1 -43929676764291:43929677239755 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43929677239092:43929677240456 26045:26051 hsa_signal_store_screlease(, 0) = void -43929677241097:43929677241778 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929677241345:43929677241986 26045:26051 hsa_signal_destroy() = 0 -43929677255791:43929677256430 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43929677263021:43929677263925 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 62 -43929677264811:43929677265205 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 62 -43929677266153:43929677266753 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 -43929677267587:43929677268039 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43929677269061:43929677269638 26045:26045 hsa_signal_store_relaxed(, 62) = void -43929677270750:43929677271382 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43929677280991:43929677281624 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929677283640:43929677284147 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 -43929677285924:43929677286331 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 63 -43929677287077:43929677287408 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 62 -43929677288202:43929677288526 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43929677289270:43929677289662 26045:26045 hsa_signal_store_relaxed(, 63) = void -43929677290671:43929677841267 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929677843142:43929677843637 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929677845029:43929677845586 26045:26045 hsa_signal_destroy() = 0 -43929677857047:43929677857578 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929677858508:43929677858904 26045:26045 hsa_signal_destroy() = 0 -43929677860545:43929677862436 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 -43929677863444:43929677863953 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43929677874842:43929677875331 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 -43929677876091:43929677876460 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43929677877310:43929677877714 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43929677878684:43929677879313 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43929677880100:43929677880690 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e87f0) = 0 -43929677881449:43929677883348 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e87b0) = 0 -43929677884126:43929677884884 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 -43929678343789:43929678346360 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43929678347808:43929678348539 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43929678349583:43929678350120 26045:26051 hsa_signal_load_relaxed() = 1 -43929677885651:43929678351752 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43929678351021:43929678352701 26045:26051 hsa_signal_store_screlease(, 0) = void -43929678353636:43929678354145 26045:26051 hsa_signal_destroy() = 0 -43929678788447:43929678789246 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929693375128:43929693376137 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929693380393:43929693381427 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929693383522:43929693385917 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 -43929693393049:43929693393810 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43929693394643:43929693395232 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 -43929693396064:43929693396534 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43929693863382:43929693864114 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43929693865672:43929693866301 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43929693867415:43929693869124 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e8850) = 0 -43929693870324:43929693874474 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e8810) = 0 -43929693875675:43929693877239 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 -43929694344097:43929694347099 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43929694348637:43929694349283 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43929694350370:43929694350892 26045:26051 hsa_signal_load_relaxed() = 1 -43929693878258:43929694352455 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43929694351801:43929694353178 26045:26051 hsa_signal_store_screlease(, 0) = void -43929694353682:43929694354363 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929694354059:43929694354692 26045:26051 hsa_signal_destroy() = 0 -43929694368290:43929694368927 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43929694374803:43929694375605 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 64 -43929694376478:43929694376875 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 64 -43929694377798:43929694378413 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 -43929694379233:43929694379680 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43929694380644:43929694381228 26045:26045 hsa_signal_store_relaxed(, 64) = void -43929694382472:43929694383106 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43929694388678:43929694389313 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929694391224:43929694391847 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 -43929694392676:43929694393063 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 65 -43929694393803:43929694394134 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 64 -43929694394874:43929694395195 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43929694395977:43929694396356 26045:26045 hsa_signal_store_relaxed(, 65) = void -43929694400807:43929694952779 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929694954239:43929694954731 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929694956121:43929694956678 26045:26045 hsa_signal_destroy() = 0 -43929694957586:43929694957972 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929694969208:43929694969645 26045:26045 hsa_signal_destroy() = 0 -43929694971167:43929694972957 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 -43929694973981:43929694974529 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43929694975399:43929694975891 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 -43929694986119:43929694986552 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43929694987435:43929694987844 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43929694988753:43929694989383 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43929694990175:43929694990714 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e88b0) = 0 -43929694991478:43929694993478 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e8870) = 0 -43929694994261:43929694995013 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 -43929695454001:43929695456544 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43929695457986:43929695458717 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43929695459763:43929695460299 26045:26051 hsa_signal_load_relaxed() = 1 -43929694995778:43929695461937 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43929695461196:43929695462588 26045:26051 hsa_signal_store_screlease(, 0) = void -43929695463526:43929695464035 26045:26051 hsa_signal_destroy() = 0 -43929695897700:43929695898496 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929710492496:43929710493641 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929710497736:43929710499099 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929710501006:43929710502977 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 -43929710504132:43929710504813 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43929710505624:43929710506260 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 -43929710507114:43929710507581 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43929710974308:43929710975459 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43929710976984:43929710977611 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43929710982574:43929710984155 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e8910) = 0 -43929710985296:43929710989194 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e88d0) = 0 -43929710990154:43929710991898 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 -43929711459672:43929711462757 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43929711464337:43929711465000 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43929711466149:43929711466675 26045:26051 hsa_signal_load_relaxed() = 1 -43929710992769:43929711468188 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43929711467522:43929711469132 26045:26051 hsa_signal_store_screlease(, 0) = void -43929711469522:43929711470182 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929711470019:43929711470637 26045:26051 hsa_signal_destroy() = 0 -43929711485019:43929711485653 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43929711491414:43929711492085 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 66 -43929711493017:43929711493505 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 66 -43929711494458:43929711495104 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 -43929711495942:43929711496384 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43929711497347:43929711497927 26045:26045 hsa_signal_store_relaxed(, 66) = void -43929711499360:43929711499992 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43929711505777:43929711506409 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929711508576:43929711509201 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 -43929711510032:43929711510420 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 67 -43929711511156:43929711511487 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 66 -43929711512226:43929711512552 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43929711513297:43929711513685 26045:26045 hsa_signal_store_relaxed(, 67) = void -43929711514703:43929712076189 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929712089571:43929712090384 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929712093148:43929712094200 26045:26045 hsa_signal_destroy() = 0 -43929712095497:43929712095977 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929712106953:43929712107427 26045:26045 hsa_signal_destroy() = 0 -43929712111481:43929712112819 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 -43929712113714:43929712114190 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43929712115028:43929712115603 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 -43929712116345:43929712116714 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43929712117663:43929712118095 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43929712119231:43929712119870 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43929712120753:43929712121562 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e8970) = 0 -43929712122396:43929712124898 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e8930) = 0 -43929712125740:43929712126754 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 -43929712596937:43929712599585 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43929712601032:43929712601765 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43929712602819:43929712603357 26045:26051 hsa_signal_load_relaxed() = 1 -43929712127579:43929712605001 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43929712604257:43929712605617 26045:26051 hsa_signal_store_screlease(, 0) = void -43929712606552:43929712607065 26045:26051 hsa_signal_destroy() = 0 -43929713042132:43929713042940 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929727639336:43929727640642 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929727646978:43929727648238 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929727650611:43929727653681 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 -43929727654896:43929727655657 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43929727656486:43929727657369 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 -43929727658174:43929727658654 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43929728130709:43929728131390 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43929728133060:43929728133682 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43929728134718:43929728136467 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e89d0) = 0 -43929728137494:43929728141615 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e8990) = 0 -43929728142603:43929728144712 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 -43929728611703:43929728614762 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43929728616314:43929728616970 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43929728622738:43929728623277 26045:26051 hsa_signal_load_relaxed() = 1 -43929728145565:43929728624794 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43929728624147:43929728625533 26045:26051 hsa_signal_store_screlease(, 0) = void -43929728626040:43929728626713 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929728626412:43929728627061 26045:26051 hsa_signal_destroy() = 0 -43929728646133:43929728646787 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43929728654429:43929728655058 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 68 -43929728655940:43929728656587 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 68 -43929728657510:43929728658128 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 -43929728659001:43929728659359 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43929728660491:43929728661090 26045:26045 hsa_signal_store_relaxed(, 68) = void -43929728662921:43929728663561 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43929728670005:43929728670629 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929728672811:43929728673321 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 -43929728674090:43929728674419 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 69 -43929728675161:43929728675491 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 68 -43929728676439:43929728676764 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43929728677517:43929728677914 26045:26045 hsa_signal_store_relaxed(, 69) = void -43929728678921:43929729233271 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929729246360:43929729247142 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929729249722:43929729250759 26045:26045 hsa_signal_destroy() = 0 -43929729251944:43929729252668 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929729263231:43929729263650 26045:26045 hsa_signal_destroy() = 0 -43929729265145:43929729266446 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 -43929729267323:43929729267797 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43929729268599:43929729269160 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 -43929729269905:43929729270283 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43929729271232:43929729271671 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43929729274757:43929729275414 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43929729276307:43929729277174 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e8a30) = 0 -43929729278028:43929729280509 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e89f0) = 0 -43929729281350:43929729282395 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 -43929729774740:43929729777457 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43929729778933:43929729779662 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43929729780716:43929729781253 26045:26051 hsa_signal_load_relaxed() = 1 -43929729283247:43929729782874 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43929729782145:43929729783570 26045:26051 hsa_signal_store_screlease(, 0) = void -43929729784505:43929729785013 26045:26051 hsa_signal_destroy() = 0 -43929730219689:43929730220490 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929744874998:43929744876353 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929744882383:43929744883467 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929744885652:43929744888712 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 -43929744889860:43929744890571 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43929744891400:43929744892092 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 -43929744892893:43929744893363 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43929745360245:43929745361123 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43929745363071:43929745363693 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43929745364732:43929745366443 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e8a90) = 0 -43929745367464:43929745371748 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e8a50) = 0 -43929745372755:43929745374696 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 -43929745842090:43929745845068 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43929745846568:43929745847222 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43929745848385:43929745848921 26045:26051 hsa_signal_load_relaxed() = 1 -43929745375566:43929745850452 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43929745849803:43929745851176 26045:26051 hsa_signal_store_screlease(, 0) = void -43929745851852:43929745852564 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929745852062:43929745852726 26045:26051 hsa_signal_destroy() = 0 -43929745868991:43929745869633 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43929745877420:43929745878068 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 70 -43929745878948:43929745879413 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 70 -43929745880324:43929745880939 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 -43929745881720:43929745882080 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43929745883230:43929745883829 26045:26045 hsa_signal_store_relaxed(, 70) = void -43929745885412:43929745886044 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43929745892147:43929745892777 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929745895309:43929745895930 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 -43929745896696:43929745897030 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 71 -43929745897771:43929745898117 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 70 -43929745899068:43929745899391 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43929745900149:43929745900544 26045:26045 hsa_signal_store_relaxed(, 71) = void -43929745901503:43929746460255 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929746473602:43929746474374 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929746476883:43929746477894 26045:26045 hsa_signal_destroy() = 0 -43929746479186:43929746479632 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929746480635:43929746490590 26045:26045 hsa_signal_destroy() = 0 -43929746491954:43929746493291 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 -43929746494171:43929746494643 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43929746495481:43929746496037 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 -43929746496783:43929746497158 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43929746498102:43929746498533 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43929746499666:43929746500310 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43929746501196:43929746501969 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e8af0) = 0 -43929746502808:43929746505516 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e8ab0) = 0 -43929746506363:43929746507459 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 -43929746999021:43929747001772 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43929747005196:43929747005860 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43929747006834:43929747007316 26045:26051 hsa_signal_load_relaxed() = 1 -43929746508291:43929747017487 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43929747016731:43929747018172 26045:26051 hsa_signal_store_screlease(, 0) = void -43929747019089:43929747019606 26045:26051 hsa_signal_destroy() = 0 -43929747455309:43929747456112 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929762117331:43929762118397 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929762124360:43929762125436 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929762127546:43929762140827 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 -43929762142113:43929762142893 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43929762143867:43929762144719 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 -43929762145513:43929762146022 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43929762604140:43929762604844 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43929762606465:43929762607098 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43929762608139:43929762609694 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e8b50) = 0 -43929762610711:43929762614880 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e8b10) = 0 -43929762615872:43929762617755 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 -43929763102433:43929763105458 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43929763106995:43929763107645 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43929763108796:43929763109506 26045:26051 hsa_signal_load_relaxed() = 1 -43929762618681:43929763111059 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43929763110417:43929763111964 26045:26051 hsa_signal_store_screlease(, 0) = void -43929763112284:43929763112947 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929763112849:43929763113500 26045:26051 hsa_signal_destroy() = 0 -43929763128957:43929763129608 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43929763137186:43929763137909 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 72 -43929763138774:43929763139243 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 72 -43929763140190:43929763140814 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 -43929763141639:43929763141996 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43929763148028:43929763148626 26045:26045 hsa_signal_store_relaxed(, 72) = void -43929763150469:43929763151107 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43929763157879:43929763158511 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929763161114:43929763161860 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 -43929763162621:43929763162953 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 73 -43929763163707:43929763164044 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 72 -43929763164993:43929763165320 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43929763166089:43929763166475 26045:26045 hsa_signal_store_relaxed(, 73) = void -43929763167526:43929765097400 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929765111803:43929765112658 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929765115364:43929765116433 26045:26045 hsa_signal_destroy() = 0 -43929765127636:43929765128205 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929765129234:43929765129748 26045:26045 hsa_signal_destroy() = 0 -43929765131329:43929765132753 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 -43929765133739:43929765134261 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43929765135143:43929765135770 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 -43929765136604:43929765137022 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43929765138062:43929765138546 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43929765139806:43929765140523 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43929765141507:43929765142353 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e8bb0) = 0 -43929765143290:43929765146349 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e8b70) = 0 -43929765147299:43929765148422 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 -43929765611239:43929765613878 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43929765615298:43929765616029 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43929765617091:43929765617625 26045:26051 hsa_signal_load_relaxed() = 1 -43929765149365:43929765619141 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43929765618534:43929765619883 26045:26051 hsa_signal_store_screlease(, 0) = void -43929765620817:43929765621325 26045:26051 hsa_signal_destroy() = 0 -43929766056212:43929766057012 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929780641022:43929780642143 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929780647909:43929780648937 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929780650980:43929780653576 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 -43929780654649:43929780655399 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43929780656241:43929780656788 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 -43929780657597:43929780658074 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43929781134598:43929781135329 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43929781137287:43929781137914 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43929781138998:43929781140491 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e8c10) = 0 -43929781141516:43929781145472 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e8bd0) = 0 -43929781146460:43929781148390 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 -43929781631324:43929781634564 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43929781636143:43929781636795 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43929781637955:43929781638488 26045:26051 hsa_signal_load_relaxed() = 1 -43929781149359:43929781640026 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43929781639378:43929781640774 26045:26051 hsa_signal_store_screlease(, 0) = void -43929781641227:43929781641908 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929781641655:43929781642300 26045:26051 hsa_signal_destroy() = 0 -43929781662630:43929781663287 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43929781671025:43929781671667 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 74 -43929781672525:43929781672995 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 74 -43929781673957:43929781674575 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 -43929781675385:43929781675739 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43929781676919:43929781677523 26045:26045 hsa_signal_store_relaxed(, 74) = void -43929781679168:43929781679799 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43929781685931:43929781686562 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929781688719:43929781689221 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 -43929781690978:43929781691316 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 75 -43929781692059:43929781692396 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 74 -43929781693292:43929781693618 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43929781694380:43929781694763 26045:26045 hsa_signal_store_relaxed(, 75) = void -43929781695709:43929783624022 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929783638538:43929783639374 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929783642027:43929783643112 26045:26045 hsa_signal_destroy() = 0 -43929783654307:43929783654888 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929783655910:43929783656354 26045:26045 hsa_signal_destroy() = 0 -43929783657874:43929783659348 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 -43929783660331:43929783660865 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43929783661741:43929783662427 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 -43929783663256:43929783663673 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43929783664728:43929783665211 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43929783666474:43929783667195 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43929783668182:43929783669102 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e8c70) = 0 -43929783670042:43929783673069 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e8c30) = 0 -43929783674014:43929783675174 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 -43929784138990:43929784141664 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43929784143102:43929784143831 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43929784144886:43929784145426 26045:26051 hsa_signal_load_relaxed() = 1 -43929783676101:43929784147043 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43929784146328:43929784147702 26045:26051 hsa_signal_store_screlease(, 0) = void -43929784148644:43929784149151 26045:26051 hsa_signal_destroy() = 0 -43929784583741:43929784584542 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929799168918:43929799170035 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929799176182:43929799177327 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929799179579:43929799182495 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 -43929799183568:43929799184382 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43929799190717:43929799191293 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 -43929799192041:43929799192514 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43929799659696:43929799660576 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43929799662207:43929799662831 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43929799663866:43929799665535 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e8cd0) = 0 -43929799666513:43929799671166 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e8c90) = 0 -43929799672113:43929799674233 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 -43929800157850:43929800160900 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43929800162468:43929800163133 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43929800164254:43929800165012 26045:26051 hsa_signal_load_relaxed() = 1 -43929799675125:43929800166621 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43929800165864:43929800167264 26045:26051 hsa_signal_store_screlease(, 0) = void -43929800167864:43929800168544 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929800168148:43929800168944 26045:26051 hsa_signal_destroy() = 0 -43929800184679:43929800185333 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43929800193430:43929800194230 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 76 -43929800195172:43929800195642 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 76 -43929800196623:43929800197246 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 -43929800198213:43929800198573 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43929800199731:43929800200333 26045:26045 hsa_signal_store_relaxed(, 76) = void -43929800201901:43929800202533 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43929800208762:43929800209390 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929800211640:43929800212264 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 -43929800213019:43929800213344 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 77 -43929800214082:43929800214432 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 76 -43929800215412:43929800215744 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43929800216533:43929800216920 26045:26045 hsa_signal_store_relaxed(, 77) = void -43929800217958:43929802148500 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929802167413:43929802177658 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929802179580:43929802180352 26045:26045 hsa_signal_destroy() = 0 -43929802181433:43929802181883 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929802182888:43929802183321 26045:26045 hsa_signal_destroy() = 0 -43929802184882:43929802186316 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 -43929802187299:43929802187836 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43929802188722:43929802189350 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 -43929802190181:43929802190599 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43929802191646:43929802192129 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43929802193397:43929802194111 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43929802195096:43929802195968 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e8d30) = 0 -43929802196905:43929802199960 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e8cf0) = 0 -43929802200901:43929802202026 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 -43929802665931:43929802668585 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43929802670031:43929802670761 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43929802671824:43929802672357 26045:26051 hsa_signal_load_relaxed() = 1 -43929802202956:43929802673883 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43929802673256:43929802674619 26045:26051 hsa_signal_store_screlease(, 0) = void -43929802675553:43929802676061 26045:26051 hsa_signal_destroy() = 0 -43929803111026:43929803111848 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929817748554:43929817749670 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929817755848:43929817757286 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929817759569:43929817762721 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 -43929817763843:43929817764617 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43929817765450:43929817766143 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 -43929817766940:43929817767412 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43929818224488:43929818225404 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43929818226994:43929818227619 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43929818228658:43929818230146 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e8d90) = 0 -43929818234874:43929818239203 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e8d50) = 0 -43929818240165:43929818242044 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 -43929818725633:43929818728948 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43929818730385:43929818731044 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43929818732180:43929818732717 26045:26051 hsa_signal_load_relaxed() = 1 -43929818242875:43929818734217 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43929818733568:43929818734954 26045:26051 hsa_signal_store_screlease(, 0) = void -43929818735440:43929818736123 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929818735845:43929818736490 26045:26051 hsa_signal_destroy() = 0 -43929818752170:43929818752829 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43929818760632:43929818761275 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 78 -43929818762185:43929818762654 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 78 -43929818763587:43929818764193 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 -43929818765017:43929818765369 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43929818766503:43929818767106 26045:26045 hsa_signal_store_relaxed(, 78) = void -43929818768706:43929818769335 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43929818775910:43929818776541 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929818778773:43929818779402 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 -43929818780185:43929818780516 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 79 -43929818781254:43929818781592 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 78 -43929818782537:43929818782865 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43929818783620:43929818784003 26045:26045 hsa_signal_store_relaxed(, 79) = void -43929818784956:43929820716198 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929820730880:43929820731756 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929820734457:43929820745553 26045:26045 hsa_signal_destroy() = 0 -43929820746704:43929820747212 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929820748239:43929820748724 26045:26045 hsa_signal_destroy() = 0 -43929820750302:43929820751696 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 -43929820755175:43929820755707 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43929820756617:43929820757327 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 -43929820758150:43929820758567 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43929820759613:43929820760097 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43929820761358:43929820762067 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43929820763045:43929820763907 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e8df0) = 0 -43929820764848:43929820767920 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e8db0) = 0 -43929820768848:43929820769989 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 -43929821235862:43929821238439 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43929821239898:43929821240633 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43929821241718:43929821242257 26045:26051 hsa_signal_load_relaxed() = 1 -43929820770933:43929821243762 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43929821243155:43929821244522 26045:26051 hsa_signal_store_screlease(, 0) = void -43929821245475:43929821245990 26045:26051 hsa_signal_destroy() = 0 -43929821680395:43929821681190 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929836368472:43929836369549 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929836375989:43929836377330 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929836379523:43929836382603 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 -43929836383653:43929836384385 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43929836385218:43929836385947 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 -43929836386723:43929836387468 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43929836853547:43929836854568 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43929836856303:43929836856931 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43929836857978:43929836859699 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e8e50) = 0 -43929836860808:43929836865771 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e8e10) = 0 -43929836866778:43929836868891 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 -43929837318388:43929837321432 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43929837322933:43929837323591 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43929837324768:43929837325313 26045:26051 hsa_signal_load_relaxed() = 1 -43929836869763:43929837330851 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43929837330176:43929837331623 26045:26051 hsa_signal_store_screlease(, 0) = void -43929837332199:43929837332913 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929837332578:43929837333229 26045:26051 hsa_signal_destroy() = 0 -43929837349127:43929837349792 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43929837357673:43929837358366 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 80 -43929837359255:43929837359730 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 80 -43929837360667:43929837361290 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 -43929837362148:43929837362514 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43929837363678:43929837364292 26045:26045 hsa_signal_store_relaxed(, 80) = void -43929837365871:43929837366519 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43929837372860:43929837373508 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929837375836:43929837376481 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 -43929837377270:43929837377621 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 81 -43929837378378:43929837378716 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 80 -43929837379713:43929837380042 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43929837380848:43929837381239 26045:26045 hsa_signal_store_relaxed(, 81) = void -43929837382286:43929839302455 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929839316540:43929839317379 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929839320070:43929839321168 26045:26045 hsa_signal_destroy() = 0 -43929839331972:43929839332481 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929839333520:43929839333962 26045:26045 hsa_signal_destroy() = 0 -43929839335365:43929839336759 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 -43929839337800:43929839338327 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43929839339258:43929839339886 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 -43929839340742:43929839341159 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43929839342203:43929839342683 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43929839344075:43929839344788 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43929839348765:43929839349702 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e8eb0) = 0 -43929839350662:43929839353707 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e8e70) = 0 -43929839354641:43929839355775 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 -43929839818737:43929839821385 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43929839822834:43929839823555 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43929839824611:43929839825137 26045:26051 hsa_signal_load_relaxed() = 1 -43929839356721:43929839826647 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43929839826030:43929839827490 26045:26051 hsa_signal_store_screlease(, 0) = void -43929839828431:43929839828935 26045:26051 hsa_signal_destroy() = 0 -43929840270054:43929840270877 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929854833241:43929854834318 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929854840013:43929854841109 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929854843177:43929854846348 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 -43929854847419:43929854848169 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43929854848991:43929854849531 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 -43929854850324:43929854850799 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43929855305368:43929855306250 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43929855308100:43929855308718 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43929855309824:43929855311384 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e8f10) = 0 -43929855312397:43929855316747 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e8ed0) = 0 -43929855317748:43929855319608 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 -43929855803449:43929855806445 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43929855807962:43929855808630 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43929855809782:43929855810321 26045:26051 hsa_signal_load_relaxed() = 1 -43929855320478:43929855811845 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43929855811204:43929855812590 26045:26051 hsa_signal_store_screlease(, 0) = void -43929855813245:43929855813973 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929855813481:43929855814129 26045:26051 hsa_signal_destroy() = 0 -43929855830204:43929855830855 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43929855844489:43929855845136 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 82 -43929855846052:43929855846525 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 82 -43929855847454:43929855848064 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 -43929855848905:43929855849260 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43929855850395:43929855850983 26045:26045 hsa_signal_store_relaxed(, 82) = void -43929855852608:43929855853242 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43929855860075:43929855860705 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929855862934:43929855863691 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 -43929855864447:43929855864773 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 83 -43929855865515:43929855865844 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 82 -43929855866790:43929855867121 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43929855867880:43929855868255 26045:26045 hsa_signal_store_relaxed(, 83) = void -43929855869192:43929857796253 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929857810867:43929857811690 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929857814387:43929857815484 26045:26045 hsa_signal_destroy() = 0 -43929857826696:43929857827218 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929857828257:43929857828698 26045:26045 hsa_signal_destroy() = 0 -43929857830196:43929857831598 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 -43929857832568:43929857833087 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43929857833970:43929857834593 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 -43929857835436:43929857835853 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43929857836895:43929857837372 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43929857838613:43929857839325 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43929857840311:43929857841166 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e8f70) = 0 -43929857842103:43929857845191 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e8f30) = 0 -43929857846146:43929857847270 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 -43929858314517:43929858317193 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43929858318638:43929858319352 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43929858323170:43929858323703 26045:26051 hsa_signal_load_relaxed() = 1 -43929857848214:43929858325219 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43929858324610:43929858326029 26045:26051 hsa_signal_store_screlease(, 0) = void -43929858326941:43929858327441 26045:26051 hsa_signal_destroy() = 0 -43929858761647:43929858762454 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929873399209:43929873400269 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929873406106:43929873407478 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929873409484:43929873412277 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 -43929873413455:43929873414220 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43929873415045:43929873415682 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 -43929873416453:43929873416944 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43929873881615:43929873882491 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43929873884228:43929873884850 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43929873885886:43929873887448 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e8fd0) = 0 -43929873888704:43929873892804 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e8f90) = 0 -43929873893956:43929873895918 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 -43929874379407:43929874382385 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43929874383945:43929874384604 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43929874385760:43929874386296 26045:26051 hsa_signal_load_relaxed() = 1 -43929873896782:43929874387845 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43929874387185:43929874388591 26045:26051 hsa_signal_store_screlease(, 0) = void -43929874389099:43929874389777 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929874389480:43929874390130 26045:26051 hsa_signal_destroy() = 0 -43929874406462:43929874407112 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43929874415007:43929874415654 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 84 -43929874416555:43929874417152 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 84 -43929874418139:43929874418759 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 -43929874419598:43929874419957 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43929874426047:43929874426661 26045:26045 hsa_signal_store_relaxed(, 84) = void -43929874428268:43929874428896 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43929874436438:43929874437073 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929874439378:43929874439959 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 -43929874440739:43929874441077 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 85 -43929874441813:43929874442149 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 84 -43929874443102:43929874443431 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43929874444183:43929874444569 26045:26045 hsa_signal_store_relaxed(, 85) = void -43929874445585:43929876378576 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929876393510:43929876394369 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929876396973:43929876407963 26045:26045 hsa_signal_destroy() = 0 -43929876409116:43929876409624 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929876410658:43929876411136 26045:26045 hsa_signal_destroy() = 0 -43929876412531:43929876414034 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 -43929876415006:43929876415524 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43929876416437:43929876417059 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 -43929876417891:43929876418305 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43929876419348:43929876419823 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43929876423387:43929876424118 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43929876425123:43929876426043 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e9030) = 0 -43929876426984:43929876430062 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e8ff0) = 0 -43929876431000:43929876432243 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 -43929876895474:43929876898159 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43929876899595:43929876900312 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43929876901377:43929876901902 26045:26051 hsa_signal_load_relaxed() = 1 -43929876433194:43929876903426 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43929876902794:43929876904169 26045:26051 hsa_signal_store_screlease(, 0) = void -43929876905100:43929876905598 26045:26051 hsa_signal_destroy() = 0 -43929877339418:43929877340220 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929891972800:43929891973807 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929891979579:43929891980601 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929891982495:43929891985427 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 -43929891986632:43929891987384 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43929891988212:43929891988937 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 -43929891989737:43929891990205 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43929892466582:43929892467324 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43929892469392:43929892470023 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43929892471155:43929892472842 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e9090) = 0 -43929892473868:43929892477544 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e9050) = 0 -43929892478528:43929892480457 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 -43929892963663:43929892966954 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43929892968483:43929892969127 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43929892970338:43929892970861 26045:26051 hsa_signal_load_relaxed() = 1 -43929892481348:43929892972391 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43929892971757:43929892973129 26045:26051 hsa_signal_store_screlease(, 0) = void -43929892973599:43929892974279 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929892974016:43929892974651 26045:26051 hsa_signal_destroy() = 0 -43929892990854:43929892991501 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43929892999505:43929893000150 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 86 -43929893001048:43929893001518 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 86 -43929893002479:43929893003082 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 -43929893003951:43929893004306 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43929893005466:43929893006058 26045:26045 hsa_signal_store_relaxed(, 86) = void -43929893007794:43929893008431 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43929893014707:43929893015334 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929893017606:43929893018228 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 -43929893018968:43929893019291 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 87 -43929893024385:43929893024730 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 86 -43929893025690:43929893026031 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43929893026789:43929893027174 26045:26045 hsa_signal_store_relaxed(, 87) = void -43929893028131:43929894943460 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929894958013:43929894958848 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929894961718:43929894962797 26045:26045 hsa_signal_destroy() = 0 -43929894973872:43929894974419 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929894975481:43929894975920 26045:26045 hsa_signal_destroy() = 0 -43929894977408:43929894978845 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 -43929894979824:43929894980347 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43929894981229:43929894981862 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 -43929894982689:43929894983105 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43929894984153:43929894984632 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43929894985908:43929894986620 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43929894987603:43929894988545 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e90f0) = 0 -43929894989482:43929894992504 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e90b0) = 0 -43929894993443:43929894994577 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 -43929895456026:43929895458746 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43929895460197:43929895460935 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43929895461989:43929895462525 26045:26051 hsa_signal_load_relaxed() = 1 -43929894995494:43929895464039 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43929895463423:43929895464743 26045:26051 hsa_signal_store_screlease(, 0) = void -43929895465670:43929895466174 26045:26051 hsa_signal_destroy() = 0 -43929895900173:43929895900974 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929910481977:43929910483055 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929910488786:43929910489949 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929910492260:43929910495171 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 -43929910496208:43929910497166 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43929910497995:43929910498608 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 -43929910504820:43929910505466 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43929910969324:43929910970300 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43929910971958:43929910972580 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43929910973632:43929910975203 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e9150) = 0 -43929910976191:43929910979542 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e9110) = 0 -43929910980490:43929910982352 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 -43929911467455:43929911470651 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43929911472184:43929911472839 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43929911473957:43929911474493 26045:26051 hsa_signal_load_relaxed() = 1 -43929910983328:43929911476119 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43929911475458:43929911476858 26045:26051 hsa_signal_store_screlease(, 0) = void -43929911477371:43929911478050 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929911477746:43929911478388 26045:26051 hsa_signal_destroy() = 0 -43929911494388:43929911495037 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43929911502726:43929911503355 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 88 -43929911504252:43929911504718 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 88 -43929911505704:43929911506308 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 -43929911507117:43929911507473 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43929911508619:43929911509209 26045:26045 hsa_signal_store_relaxed(, 88) = void -43929911510786:43929911511424 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43929911517600:43929911518230 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929911520520:43929911521236 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 -43929911522013:43929911522346 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 89 -43929911523091:43929911523423 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 88 -43929911524404:43929911524729 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43929911525519:43929911525899 26045:26045 hsa_signal_store_relaxed(, 89) = void -43929911526916:43929913458472 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929913473055:43929913473882 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929913489814:43929913490586 26045:26045 hsa_signal_destroy() = 0 -43929913491751:43929913492320 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929913493380:43929913493819 26045:26045 hsa_signal_destroy() = 0 -43929913495346:43929913496829 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 -43929913497800:43929913498336 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43929913499214:43929913499907 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 -43929913500735:43929913501153 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43929913502205:43929913502688 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43929913503992:43929913504706 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43929913505687:43929913506591 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e91b0) = 0 -43929913507520:43929913510621 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e9170) = 0 -43929913511555:43929913512675 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 -43929913976858:43929913979517 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43929913980977:43929913981700 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43929913982755:43929913983279 26045:26051 hsa_signal_load_relaxed() = 1 -43929913513616:43929913984775 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43929913984177:43929913985748 26045:26051 hsa_signal_store_screlease(, 0) = void -43929913986694:43929913987197 26045:26051 hsa_signal_destroy() = 0 -43929914421657:43929914422456 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929929131704:43929929132911 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929929139139:43929929140198 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929929142456:43929929145418 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 -43929929146551:43929929147322 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43929929148144:43929929148807 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 -43929929149627:43929929150138 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43929929614560:43929929615272 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43929929616842:43929929617472 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43929929618465:43929929620113 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e9210) = 0 -43929929621158:43929929624978 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e91d0) = 0 -43929929629932:43929929632080 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 -43929930116050:43929930119128 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43929930120713:43929930121383 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43929930122477:43929930123015 26045:26051 hsa_signal_load_relaxed() = 1 -43929929632991:43929930124548 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43929930123890:43929930125391 26045:26051 hsa_signal_store_screlease(, 0) = void -43929930125869:43929930126545 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929930126278:43929930126937 26045:26051 hsa_signal_destroy() = 0 -43929930142964:43929930143614 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43929930151374:43929930152027 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 90 -43929930152907:43929930153390 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 90 -43929930154304:43929930154916 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 -43929930155682:43929930156045 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43929930157190:43929930157799 26045:26045 hsa_signal_store_relaxed(, 90) = void -43929930159426:43929930160055 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43929930166407:43929930167043 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929930169550:43929930170194 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 -43929930170965:43929930171294 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 91 -43929930172027:43929930172362 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 90 -43929930173328:43929930173654 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43929930174419:43929930174796 26045:26045 hsa_signal_store_relaxed(, 91) = void -43929930175769:43929932105862 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929932120727:43929932121603 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929932124258:43929932135221 26045:26045 hsa_signal_destroy() = 0 -43929932136427:43929932136936 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929932137967:43929932138456 26045:26045 hsa_signal_destroy() = 0 -43929932139968:43929932141424 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 -43929932142414:43929932142939 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43929932146305:43929932146936 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 -43929932147791:43929932148210 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43929932149274:43929932149759 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43929932151031:43929932151746 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43929932152724:43929932153587 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e9270) = 0 -43929932154522:43929932157592 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e9230) = 0 -43929932158521:43929932159655 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 -43929932622784:43929932625452 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43929932626889:43929932627614 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43929932628675:43929932629208 26045:26051 hsa_signal_load_relaxed() = 1 -43929932160606:43929932630721 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43929932630116:43929932631449 26045:26051 hsa_signal_store_screlease(, 0) = void -43929932632385:43929932632896 26045:26051 hsa_signal_destroy() = 0 -43929933068340:43929933069146 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929947657177:43929947658328 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929947664337:43929947665438 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929947667535:43929947670714 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 -43929947671823:43929947672576 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43929947673404:43929947674084 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 -43929947674858:43929947675343 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43929948144067:43929948144705 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43929948146487:43929948147116 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43929948148406:43929948149759 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e92d0) = 0 -43929948150791:43929948154513 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e9290) = 0 -43929948155672:43929948157640 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 -43929948642902:43929948645875 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43929948647396:43929948648052 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43929948649209:43929948649742 26045:26051 hsa_signal_load_relaxed() = 1 -43929948158497:43929948651353 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43929948650703:43929948652096 26045:26051 hsa_signal_store_screlease(, 0) = void -43929948656077:43929948656709 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929948656860:43929948657471 26045:26051 hsa_signal_destroy() = 0 -43929948672717:43929948673363 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43929948681094:43929948681771 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 92 -43929948682653:43929948683116 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 92 -43929948684074:43929948684679 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 -43929948685519:43929948685883 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43929948687030:43929948687637 26045:26045 hsa_signal_store_relaxed(, 92) = void -43929948689232:43929948689863 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43929948696402:43929948697034 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929948699196:43929948699819 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 -43929948700591:43929948700925 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 93 -43929948701669:43929948702026 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 92 -43929948702980:43929948703301 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43929948704054:43929948704435 26045:26045 hsa_signal_store_relaxed(, 93) = void -43929948705490:43929950633750 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929950648520:43929950649347 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929950651843:43929950652940 26045:26045 hsa_signal_destroy() = 0 -43929950664860:43929950665383 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929950666394:43929950666838 26045:26045 hsa_signal_destroy() = 0 -43929950668390:43929950669835 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 -43929950670811:43929950671333 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43929950672257:43929950672875 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 -43929950673705:43929950674117 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43929950675163:43929950675635 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43929950676893:43929950677609 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43929950678589:43929950679518 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e9330) = 0 -43929950682763:43929950685782 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e92f0) = 0 -43929950686737:43929950687882 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 -43929951151013:43929951153660 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43929951155116:43929951155835 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43929951156890:43929951157409 26045:26051 hsa_signal_load_relaxed() = 1 -43929950688811:43929951158919 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43929951158308:43929951159691 26045:26051 hsa_signal_store_screlease(, 0) = void -43929951160631:43929951161130 26045:26051 hsa_signal_destroy() = 0 -43929951596233:43929951597030 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929966213099:43929966214168 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929966220136:43929966221163 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929966223478:43929966226199 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 -43929966227286:43929966228122 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43929966228942:43929966229553 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 -43929966230352:43929966230831 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43929966687622:43929966688488 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43929966690237:43929966690867 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43929966691900:43929966693428 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e9390) = 0 -43929966694447:43929966697729 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e9350) = 0 -43929966698709:43929966700700 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 -43929967181560:43929967184561 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43929967186103:43929967186750 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43929967187882:43929967188413 26045:26051 hsa_signal_load_relaxed() = 1 -43929966701636:43929967189936 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43929967189296:43929967190909 26045:26051 hsa_signal_store_screlease(, 0) = void -43929967191274:43929967191937 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929967191790:43929967192404 26045:26051 hsa_signal_destroy() = 0 -43929967208404:43929967209061 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43929967220260:43929967220909 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 94 -43929967221805:43929967222274 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 94 -43929967223190:43929967223802 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 -43929967224633:43929967224990 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43929967226147:43929967226744 26045:26045 hsa_signal_store_relaxed(, 94) = void -43929967228433:43929967229067 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43929967235255:43929967235887 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929967238368:43929967239004 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 -43929967239767:43929967240102 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 95 -43929967240848:43929967241185 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 94 -43929967242135:43929967242462 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43929967243221:43929967243601 26045:26045 hsa_signal_store_relaxed(, 95) = void -43929967244540:43929969166963 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929969181755:43929969182592 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929969185290:43929969196243 26045:26045 hsa_signal_destroy() = 0 -43929969197457:43929969198034 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929969199037:43929969199470 26045:26045 hsa_signal_destroy() = 0 -43929969201083:43929969202543 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 -43929969203525:43929969204042 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43929969204928:43929969205616 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 -43929969206444:43929969206861 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43929969207917:43929969208401 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43929969209666:43929969210382 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43929969211366:43929969212222 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e93f0) = 0 -43929969213159:43929969216252 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e93b0) = 0 -43929969217190:43929969218539 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 -43929969682090:43929969684705 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43929969686143:43929969686866 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43929969687913:43929969688437 26045:26051 hsa_signal_load_relaxed() = 1 -43929969219464:43929969692892 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43929969692276:43929969693641 26045:26051 hsa_signal_store_screlease(, 0) = void -43929969694571:43929969695065 26045:26051 hsa_signal_destroy() = 0 -43929970130692:43929970131506 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929984787175:43929984788237 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929984794030:43929984795104 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929984797082:43929984800106 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 -43929984801256:43929984802023 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43929984802846:43929984803479 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 -43929984804277:43929984804750 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43929985272593:43929985273329 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43929985275036:43929985275662 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43929985276696:43929985278324 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e9450) = 0 -43929985279343:43929985283140 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e9410) = 0 -43929985284132:43929985285996 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 -43929985769855:43929985772851 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43929985774388:43929985775062 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43929985776203:43929985776735 26045:26051 hsa_signal_load_relaxed() = 1 -43929985286909:43929985778279 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43929985777625:43929985779178 26045:26051 hsa_signal_store_screlease(, 0) = void -43929985779790:43929985780471 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929985780061:43929985780702 26045:26051 hsa_signal_destroy() = 0 -43929985796407:43929985797058 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43929985804613:43929985805243 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 96 -43929985806352:43929985806814 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 96 -43929985807753:43929985808373 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 -43929985809243:43929985809605 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43929985810765:43929985811359 26045:26045 hsa_signal_store_relaxed(, 96) = void -43929985819075:43929985819718 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43929985826124:43929985826753 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43929985829053:43929985829758 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 -43929985830526:43929985830856 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 97 -43929985831610:43929985831956 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 96 -43929985832899:43929985833221 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43929985833980:43929985834360 26045:26045 hsa_signal_store_relaxed(, 97) = void -43929985835340:43929987762696 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929987777040:43929987777904 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929987780530:43929987781609 26045:26045 hsa_signal_destroy() = 0 -43929987792784:43929987793366 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43929987794645:43929987795133 26045:26045 hsa_signal_destroy() = 0 -43929987796670:43929987798108 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 -43929987799093:43929987799616 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43929987800501:43929987801124 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 -43929987801953:43929987802369 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43929987803425:43929987803910 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43929987805166:43929987805881 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43929987806859:43929987807729 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e94b0) = 0 -43929987808673:43929987811678 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e9470) = 0 -43929987812621:43929987813732 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 -43929988276922:43929988279635 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43929988281131:43929988281855 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43929988282908:43929988283446 26045:26051 hsa_signal_load_relaxed() = 1 -43929987814648:43929988285069 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43929988284342:43929988285799 26045:26051 hsa_signal_store_screlease(, 0) = void -43929988286735:43929988287241 26045:26051 hsa_signal_destroy() = 0 -43929988721606:43929988722408 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930003334792:43930003335844 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930003347699:43930003348836 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930003350687:43930003353622 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 -43930003354650:43930003355403 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43930003356235:43930003356922 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 -43930003357666:43930003358132 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43930003824982:43930003825908 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43930003827602:43930003828225 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43930003829252:43930003830773 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e9510) = 0 -43930003831757:43930003835599 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e94d0) = 0 -43930003836710:43930003838648 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 -43930004333654:43930004336957 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43930004338553:43930004339198 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43930004340375:43930004340904 26045:26051 hsa_signal_load_relaxed() = 1 -43930003839543:43930004342560 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43930004341775:43930004343162 26045:26051 hsa_signal_store_screlease(, 0) = void -43930004343893:43930004344558 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930004344056:43930004344672 26045:26051 hsa_signal_destroy() = 0 -43930004361029:43930004361669 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43930004369201:43930004369987 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 98 -43930004370851:43930004371313 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 98 -43930004372280:43930004372923 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 -43930004373705:43930004374066 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43930004375181:43930004375788 26045:26045 hsa_signal_store_relaxed(, 98) = void -43930004377422:43930004378051 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43930004384390:43930004385021 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930004387234:43930004387856 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 -43930004388607:43930004388932 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 99 -43930004389665:43930004390018 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 98 -43930004392827:43930004393170 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43930004393938:43930004394326 26045:26045 hsa_signal_store_relaxed(, 99) = void -43930004395278:43930006317213 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930006331659:43930006332478 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930006335162:43930006336241 26045:26045 hsa_signal_destroy() = 0 -43930006346881:43930006347456 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930006348488:43930006348938 26045:26045 hsa_signal_destroy() = 0 -43930006350412:43930006351849 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 -43930006352819:43930006353342 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43930006354287:43930006354911 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 -43930006355739:43930006356160 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43930006357193:43930006357674 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43930006358913:43930006359636 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43930006360621:43930006361570 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e9570) = 0 -43930006362500:43930006365531 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e9530) = 0 -43930006366476:43930006367600 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 -43930006830862:43930006833693 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43930006835193:43930006835919 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43930006837016:43930006837543 26045:26051 hsa_signal_load_relaxed() = 1 -43930006368547:43930006839057 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43930006838444:43930006839837 26045:26051 hsa_signal_store_screlease(, 0) = void -43930006840776:43930006841275 26045:26051 hsa_signal_destroy() = 0 -43930007276385:43930007277186 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930021909178:43930021910294 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930021915817:43930021916931 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930021918969:43930021922195 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 -43930021923268:43930021923937 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43930021924763:43930021925456 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 -43930021926233:43930021926736 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43930022398000:43930022398757 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43930022400405:43930022401029 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43930022402057:43930022403910 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e95d0) = 0 -43930022404915:43930022408222 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e9590) = 0 -43930022409331:43930022411072 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 -43930022879826:43930022882798 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43930022884583:43930022885228 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43930022886330:43930022886857 26045:26051 hsa_signal_load_relaxed() = 1 -43930022411985:43930022888437 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43930022887792:43930022889173 26045:26051 hsa_signal_store_screlease(, 0) = void -43930022889766:43930022890441 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930022890057:43930022890694 26045:26051 hsa_signal_destroy() = 0 -43930022906730:43930022907378 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43930022914985:43930022915629 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 100 -43930022916686:43930022917156 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 100 -43930022918073:43930022918686 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 -43930022919497:43930022919850 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43930022921007:43930022921586 26045:26045 hsa_signal_store_relaxed(, 100) = void -43930022923247:43930022923883 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43930022929809:43930022930437 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930022932726:43930022933355 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 -43930022934112:43930022934447 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 101 -43930022935208:43930022935544 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 100 -43930022936514:43930022936837 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43930022937629:43930022938011 26045:26045 hsa_signal_store_relaxed(, 101) = void -43930022939048:43930023496099 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930023509485:43930023510256 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930023512868:43930023513880 26045:26045 hsa_signal_destroy() = 0 -43930023529574:43930023530051 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930023530982:43930023531371 26045:26045 hsa_signal_destroy() = 0 -43930023532734:43930023534112 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 -43930023534981:43930023535451 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43930023536271:43930023536824 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 -43930023537565:43930023537942 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43930023538885:43930023539322 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43930023540455:43930023541102 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43930023541984:43930023542974 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e9630) = 0 -43930023543812:43930023546299 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e95f0) = 0 -43930023547141:43930023548158 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 -43930024008883:43930024011547 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43930024012996:43930024013720 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43930024014773:43930024015295 26045:26051 hsa_signal_load_relaxed() = 1 -43930023549005:43930024016901 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43930024016200:43930024017571 26045:26051 hsa_signal_store_screlease(, 0) = void -43930024018507:43930024019005 26045:26051 hsa_signal_destroy() = 0 -43930024454906:43930024455707 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930039078442:43930039079504 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930039085540:43930039086637 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930039088750:43930039091857 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 -43930039092921:43930039093663 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43930039094491:43930039095113 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 -43930039095915:43930039096409 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43930039561747:43930039562672 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43930039564635:43930039565262 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43930039566299:43930039568277 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e9690) = 0 -43930039569312:43930039572420 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e9650) = 0 -43930039573542:43930039575455 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 -43930040044142:43930040047408 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43930040049104:43930040049793 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43930040050964:43930040051519 26045:26051 hsa_signal_load_relaxed() = 1 -43930039580085:43930040062182 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43930040061531:43930040062972 26045:26051 hsa_signal_store_screlease(, 0) = void -43930040063490:43930040064186 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930040063886:43930040064550 26045:26051 hsa_signal_destroy() = 0 -43930040090607:43930040091256 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43930040098574:43930040099229 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 102 -43930040100105:43930040100574 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 102 -43930040101498:43930040102142 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 -43930040102977:43930040103332 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43930040104456:43930040105116 26045:26045 hsa_signal_store_relaxed(, 102) = void -43930040106796:43930040107428 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43930040113717:43930040114348 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930040116624:43930040117254 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 -43930040118015:43930040118350 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 103 -43930040119088:43930040119435 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 102 -43930040120405:43930040120728 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43930040121483:43930040121863 26045:26045 hsa_signal_store_relaxed(, 103) = void -43930040122844:43930040684921 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930040697964:43930040698781 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930040701296:43930040702306 26045:26045 hsa_signal_destroy() = 0 -43930040703479:43930040704147 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930040715146:43930040715641 26045:26045 hsa_signal_destroy() = 0 -43930040717070:43930040718335 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 -43930040719219:43930040719696 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43930040720521:43930040721131 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 -43930040724286:43930040724671 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43930040725633:43930040726070 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43930040727205:43930040727846 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43930040728734:43930040729512 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e96f0) = 0 -43930040730353:43930040733148 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e96b0) = 0 -43930040733986:43930040735019 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 -43930041194982:43930041197613 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43930041199074:43930041199791 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43930041200845:43930041201373 26045:26051 hsa_signal_load_relaxed() = 1 -43930040735865:43930041203015 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43930041202269:43930041203625 26045:26051 hsa_signal_store_screlease(, 0) = void -43930041204561:43930041205058 26045:26051 hsa_signal_destroy() = 0 -43930041639748:43930041640548 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930056274831:43930056275903 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930056281666:43930056282831 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930056285253:43930056288158 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 -43930056289276:43930056290001 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43930056290823:43930056291519 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 -43930056292287:43930056292760 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43930056759230:43930056759963 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43930056761981:43930056762609 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43930056763632:43930056765333 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e9750) = 0 -43930056766342:43930056769827 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e9710) = 0 -43930056771036:43930056772937 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 -43930057241539:43930057244530 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43930057246047:43930057246688 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43930057247839:43930057248369 26045:26051 hsa_signal_load_relaxed() = 1 -43930056773796:43930057249903 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43930057249257:43930057250629 26045:26051 hsa_signal_store_screlease(, 0) = void -43930057254253:43930057254881 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930057255533:43930057256128 26045:26051 hsa_signal_destroy() = 0 -43930057270805:43930057271435 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43930057279331:43930057280022 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 104 -43930057280908:43930057281377 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 104 -43930057282340:43930057282939 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 -43930057283721:43930057284083 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43930057285228:43930057285830 26045:26045 hsa_signal_store_relaxed(, 104) = void -43930057287483:43930057288111 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43930057294507:43930057295138 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930057297346:43930057297967 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 -43930057298728:43930057299059 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 105 -43930057299793:43930057300138 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 104 -43930057301020:43930057301344 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43930057302101:43930057302483 26045:26045 hsa_signal_store_relaxed(, 105) = void -43930057303484:43930057859583 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930057873088:43930057873866 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930057876405:43930057877423 26045:26045 hsa_signal_destroy() = 0 -43930057878602:43930057879219 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930057890241:43930057890650 26045:26045 hsa_signal_destroy() = 0 -43930057892068:43930057893414 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 -43930057894291:43930057894755 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43930057895593:43930057896152 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 -43930057896900:43930057897276 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43930057898217:43930057898656 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43930057899793:43930057900436 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43930057901317:43930057902159 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e97b0) = 0 -43930057903003:43930057905746 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e9770) = 0 -43930057908663:43930057909737 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 -43930058370388:43930058372982 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43930058374444:43930058375161 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43930058376214:43930058376742 26045:26051 hsa_signal_load_relaxed() = 1 -43930057910612:43930058378381 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43930058377646:43930058379055 26045:26051 hsa_signal_store_screlease(, 0) = void -43930058379992:43930058380492 26045:26051 hsa_signal_destroy() = 0 -43930058821563:43930058822359 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930073422137:43930073423216 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930073429144:43930073430373 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930073432303:43930073435314 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 -43930073436417:43930073437296 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43930073438133:43930073438709 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 -43930073439527:43930073440004 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43930073907009:43930073907738 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43930073909556:43930073910178 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43930073911301:43930073912773 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e9810) = 0 -43930073913796:43930073917240 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e97d0) = 0 -43930073918222:43930073920070 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 -43930074387428:43930074390460 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43930074391958:43930074392604 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43930074393828:43930074394365 26045:26051 hsa_signal_load_relaxed() = 1 -43930073921036:43930074395906 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43930074395257:43930074396644 26045:26051 hsa_signal_store_screlease(, 0) = void -43930074397265:43930074397938 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930074397529:43930074398174 26045:26051 hsa_signal_destroy() = 0 -43930074418318:43930074418971 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43930074427103:43930074427745 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 106 -43930074429698:43930074430207 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 106 -43930074431196:43930074431829 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 -43930074432669:43930074433028 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43930074434201:43930074434808 26045:26045 hsa_signal_store_relaxed(, 106) = void -43930074436457:43930074437090 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43930074443355:43930074443987 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930074446416:43930074447052 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 -43930074447805:43930074448129 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 107 -43930074448864:43930074449190 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 106 -43930074450146:43930074450469 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43930074451226:43930074451606 26045:26045 hsa_signal_store_relaxed(, 107) = void -43930074452547:43930075008052 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930075021524:43930075022297 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930075024847:43930075025868 26045:26045 hsa_signal_destroy() = 0 -43930075027089:43930075027637 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930075038667:43930075039104 26045:26045 hsa_signal_destroy() = 0 -43930075040535:43930075041842 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 -43930075042727:43930075043195 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43930075043988:43930075044607 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 -43930075045351:43930075045730 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43930075046735:43930075047173 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43930075048304:43930075048944 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43930075049825:43930075050632 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e9870) = 0 -43930075051485:43930075053958 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e9830) = 0 -43930075054813:43930075055824 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 -43930075515520:43930075518102 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43930075519534:43930075520257 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43930075521311:43930075521831 26045:26051 hsa_signal_load_relaxed() = 1 -43930075056670:43930075523468 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43930075522734:43930075524108 26045:26051 hsa_signal_store_screlease(, 0) = void -43930075528465:43930075528970 26045:26051 hsa_signal_destroy() = 0 -43930075962464:43930075963328 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930090570121:43930090571241 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930090576859:43930090577928 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930090579903:43930090582932 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 -43930090584253:43930090584922 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43930090585830:43930090586552 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 -43930090587345:43930090587826 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43930091054656:43930091055399 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43930091057054:43930091057685 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43930091058727:43930091060308 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e98d0) = 0 -43930091061837:43930091065912 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e9890) = 0 -43930091066910:43930091068802 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 -43930091537241:43930091540241 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43930091541765:43930091542417 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43930091543621:43930091544143 26045:26051 hsa_signal_load_relaxed() = 1 -43930091069822:43930091545708 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43930091545053:43930091546623 26045:26051 hsa_signal_store_screlease(, 0) = void -43930091547059:43930091547735 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930091547562:43930091548190 26045:26051 hsa_signal_destroy() = 0 -43930091563818:43930091564476 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43930091572437:43930091573195 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 108 -43930091574085:43930091574555 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 108 -43930091575570:43930091576173 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 -43930091576993:43930091577354 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43930091578507:43930091579095 26045:26045 hsa_signal_store_relaxed(, 108) = void -43930091580664:43930091581297 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43930091591624:43930091592265 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930091594487:43930091595074 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 -43930091595830:43930091596164 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 109 -43930091596898:43930091597251 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 108 -43930091598188:43930091598512 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43930091599277:43930091599664 26045:26045 hsa_signal_store_relaxed(, 109) = void -43930091600640:43930092158131 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930092171613:43930092172439 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930092175088:43930092176094 26045:26045 hsa_signal_destroy() = 0 -43930092177301:43930092177905 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930092188461:43930092188927 26045:26045 hsa_signal_destroy() = 0 -43930092190468:43930092191756 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 -43930092192638:43930092193151 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43930092193966:43930092194579 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 -43930092195330:43930092195706 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43930092196628:43930092197061 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43930092198230:43930092198879 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43930092199767:43930092200533 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e9930) = 0 -43930092201381:43930092204140 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e98f0) = 0 -43930092204988:43930092205995 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 -43930092697461:43930092699997 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43930092701317:43930092701962 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43930092702911:43930092703383 26045:26051 hsa_signal_load_relaxed() = 1 -43930092206848:43930092704851 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43930092704194:43930092705463 26045:26051 hsa_signal_store_screlease(, 0) = void -43930092714844:43930092715363 26045:26051 hsa_signal_destroy() = 0 -43930093151339:43930093152188 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930107758477:43930107759784 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930107766315:43930107767397 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930107777482:43930107780643 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 -43930107781687:43930107782496 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43930107783328:43930107794282 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 -43930107795179:43930107795674 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43930108255388:43930108256281 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43930108258055:43930108258684 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43930108259728:43930108261407 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e9990) = 0 -43930108262411:43930108266442 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e9950) = 0 -43930108267399:43930108269481 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 -43930108738211:43930108741301 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43930108742789:43930108743431 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43930108744712:43930108745242 26045:26051 hsa_signal_load_relaxed() = 1 -43930108270312:43930108746768 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43930108746095:43930108747496 26045:26051 hsa_signal_store_screlease(, 0) = void -43930108748024:43930108748701 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930108748386:43930108749046 26045:26051 hsa_signal_destroy() = 0 -43930108764816:43930108765453 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43930108773674:43930108774372 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 110 -43930108775255:43930108775725 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 110 -43930108776729:43930108777326 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 -43930108778101:43930108778462 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43930108779607:43930108780221 26045:26045 hsa_signal_store_relaxed(, 110) = void -43930108782024:43930108782661 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43930108789074:43930108789706 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930108791976:43930108792619 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 -43930108793375:43930108793723 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 111 -43930108794460:43930108794793 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 110 -43930108795747:43930108796072 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43930108798559:43930108798950 26045:26045 hsa_signal_store_relaxed(, 111) = void -43930108799891:43930109356299 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930109358212:43930109358714 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930109360294:43930109360865 26045:26045 hsa_signal_destroy() = 0 -43930109372669:43930109373210 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930109374193:43930109374601 26045:26045 hsa_signal_destroy() = 0 -43930109376125:43930109378087 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 -43930109379019:43930109379617 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43930109390440:43930109390940 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 -43930109391694:43930109392064 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43930109392912:43930109393318 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43930109394244:43930109394893 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43930109395706:43930109396315 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e99f0) = 0 -43930109397088:43930109399048 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e99b0) = 0 -43930109399831:43930109400611 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 -43930109892117:43930109894713 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43930109896044:43930109896710 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43930109897654:43930109898135 26045:26051 hsa_signal_load_relaxed() = 1 -43930109401385:43930109899598 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43930109898947:43930109900202 26045:26051 hsa_signal_store_screlease(, 0) = void -43930109909623:43930109910154 26045:26051 hsa_signal_destroy() = 0 -43930110345363:43930110346211 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930124999411:43930125000483 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930125005604:43930125006667 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930125008940:43930125011679 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 -43930125012753:43930125013706 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43930125014519:43930125015123 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 -43930125015978:43930125016472 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43930125484306:43930125485390 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43930125491243:43930125491871 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43930125492904:43930125494475 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e9a50) = 0 -43930125495468:43930125498798 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e9a10) = 0 -43930125499748:43930125501565 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 -43930125970814:43930125973802 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43930125975325:43930125975968 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43930125977027:43930125977555 26045:26051 hsa_signal_load_relaxed() = 1 -43930125502444:43930125979055 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43930125978406:43930125979784 26045:26051 hsa_signal_store_screlease(, 0) = void -43930125980369:43930125981047 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930125980668:43930125981300 26045:26051 hsa_signal_destroy() = 0 -43930125995463:43930125996100 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43930126002331:43930126002998 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 112 -43930126003921:43930126004386 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 112 -43930126005300:43930126005912 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 -43930126006656:43930126007132 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43930126008106:43930126008678 26045:26045 hsa_signal_store_relaxed(, 112) = void -43930126009878:43930126010509 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43930126016130:43930126016756 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930126018561:43930126019190 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 -43930126020019:43930126020395 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 113 -43930126021133:43930126021484 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 112 -43930126022229:43930126022555 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43930126023297:43930126023677 26045:26045 hsa_signal_store_relaxed(, 113) = void -43930126024704:43930126580357 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930126582192:43930126582678 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930126584295:43930126584870 26045:26045 hsa_signal_destroy() = 0 -43930126596418:43930126596987 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930126601244:43930126601662 26045:26045 hsa_signal_destroy() = 0 -43930126603241:43930126614040 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 -43930126614903:43930126615341 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43930126616185:43930126616677 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 -43930126617438:43930126617814 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43930126618686:43930126619080 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43930126620041:43930126620686 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43930126621501:43930126622047 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e9ab0) = 0 -43930126622829:43930126624563 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e9a70) = 0 -43930126625349:43930126626111 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 -43930127077925:43930127080325 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43930127081659:43930127082334 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43930127083293:43930127083789 26045:26051 hsa_signal_load_relaxed() = 1 -43930126626903:43930127085196 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43930127084623:43930127085877 26045:26051 hsa_signal_store_screlease(, 0) = void -43930127086746:43930127087227 26045:26051 hsa_signal_destroy() = 0 -43930127541256:43930127542102 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930142193127:43930142194192 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930142198885:43930142200138 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930142201933:43930142204638 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 -43930142205713:43930142206473 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43930142207295:43930142207935 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 -43930142208805:43930142209269 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43930142676960:43930142677839 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43930142679720:43930142680356 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43930142681336:43930142683067 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e9b10) = 0 -43930142684257:43930142687499 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e9ad0) = 0 -43930142688719:43930142690470 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 -43930143157745:43930143160733 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43930143162303:43930143162962 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43930143164036:43930143164750 26045:26051 hsa_signal_load_relaxed() = 1 -43930142694788:43930143166320 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43930143165658:43930143167047 26045:26051 hsa_signal_store_screlease(, 0) = void -43930143167725:43930143168446 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930143167935:43930143168597 26045:26051 hsa_signal_destroy() = 0 -43930143182530:43930143183169 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43930143189111:43930143189780 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 114 -43930143190645:43930143191072 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 114 -43930143191976:43930143192584 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 -43930143193384:43930143193781 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43930143194762:43930143195337 26045:26045 hsa_signal_store_relaxed(, 114) = void -43930143196602:43930143197224 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43930143203089:43930143203723 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930143205646:43930143206277 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 -43930143207110:43930143207491 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 115 -43930143208229:43930143208563 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 114 -43930143209306:43930143209630 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43930143210365:43930143210754 26045:26045 hsa_signal_store_relaxed(, 115) = void -43930143211806:43930143767689 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930143769160:43930143769652 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930143771126:43930143771673 26045:26045 hsa_signal_destroy() = 0 -43930143772610:43930143783589 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930143784559:43930143785040 26045:26045 hsa_signal_destroy() = 0 -43930143786428:43930143788087 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 -43930143789027:43930143789539 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43930143790414:43930143790973 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 -43930143801703:43930143802124 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43930143804578:43930143804965 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43930143805922:43930143806552 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43930143807345:43930143807869 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e9b70) = 0 -43930143808633:43930143810596 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e9b30) = 0 -43930143811371:43930143812187 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 -43930144317143:43930144319678 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43930144321025:43930144321673 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43930144322606:43930144323075 26045:26051 hsa_signal_load_relaxed() = 1 -43930143812983:43930144324606 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43930144323884:43930144325135 26045:26051 hsa_signal_store_screlease(, 0) = void -43930144325981:43930144326437 26045:26051 hsa_signal_destroy() = 0 -43930144768617:43930144769461 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930159400676:43930159401743 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930159406204:43930159407303 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930159409155:43930159411556 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 -43930159412647:43930159413434 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43930159414248:43930159414895 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 -43930159415748:43930159416226 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43930159885044:43930159885777 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43930159887817:43930159888446 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43930159889473:43930159891293 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e9bd0) = 0 -43930159892366:43930159895560 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e9b90) = 0 -43930159896538:43930159898604 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 -43930160378394:43930160381326 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43930160382853:43930160383506 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43930160384652:43930160385173 26045:26051 hsa_signal_load_relaxed() = 1 -43930159899492:43930160386867 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43930160386088:43930160387457 26045:26051 hsa_signal_store_screlease(, 0) = void -43930160388296:43930160388921 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930160393544:43930160394153 26045:26051 hsa_signal_destroy() = 0 -43930160405775:43930160406418 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43930160411930:43930160412732 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 116 -43930160413505:43930160413981 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 116 -43930160414885:43930160415492 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 -43930160416271:43930160416712 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43930160417734:43930160418383 26045:26045 hsa_signal_store_relaxed(, 116) = void -43930160419803:43930160420434 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43930160427292:43930160427922 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930160429635:43930160430275 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 -43930160431101:43930160431479 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 117 -43930160432223:43930160432556 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 116 -43930160433303:43930160433644 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43930160434382:43930160434768 26045:26045 hsa_signal_store_relaxed(, 117) = void -43930160435866:43930160987991 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930160989389:43930160989872 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930160991256:43930160991816 26045:26045 hsa_signal_destroy() = 0 -43930160992757:43930161003707 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930161004759:43930161005155 26045:26045 hsa_signal_destroy() = 0 -43930161006711:43930161008573 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 -43930161009577:43930161010096 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43930161010977:43930161011517 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 -43930161021774:43930161022155 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43930161023011:43930161023393 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43930161024341:43930161024974 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43930161025771:43930161026372 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e9c30) = 0 -43930161027141:43930161028937 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e9bf0) = 0 -43930161029718:43930161030624 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 -43930161522870:43930161525310 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43930161526640:43930161527286 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43930161528225:43930161528696 26045:26051 hsa_signal_load_relaxed() = 1 -43930161032630:43930161530161 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43930161529503:43930161530727 26045:26051 hsa_signal_store_screlease(, 0) = void -43930161531571:43930161532022 26045:26051 hsa_signal_destroy() = 0 -43930161973794:43930161974636 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930176593875:43930176594943 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930176599281:43930176600455 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930176602239:43930176604284 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 -43930176605346:43930176606038 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43930176606857:43930176607458 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 -43930176608322:43930176608797 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43930177074246:43930177075177 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43930177076749:43930177077377 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43930177078418:43930177080091 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e9c90) = 0 -43930177081129:43930177084642 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e9c50) = 0 -43930177085622:43930177087155 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 -43930177554902:43930177557948 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43930177559498:43930177560148 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43930177561320:43930177561849 26045:26051 hsa_signal_load_relaxed() = 1 -43930177088116:43930177563663 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43930177563007:43930177564367 26045:26051 hsa_signal_store_screlease(, 0) = void -43930177565032:43930177565734 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930177565251:43930177565914 26045:26051 hsa_signal_destroy() = 0 -43930177579160:43930177579806 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43930177585481:43930177586280 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 118 -43930177587074:43930177587495 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 118 -43930177592420:43930177593077 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 -43930177593907:43930177594353 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43930177595311:43930177595878 26045:26045 hsa_signal_store_relaxed(, 118) = void -43930177597250:43930177597882 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43930177603876:43930177604503 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930177606197:43930177606831 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 -43930177607657:43930177608033 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 119 -43930177608774:43930177609122 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 118 -43930177609862:43930177610183 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43930177610915:43930177611296 26045:26045 hsa_signal_store_relaxed(, 119) = void -43930177612345:43930178167865 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930178169467:43930178169938 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930178171542:43930178172095 26045:26045 hsa_signal_destroy() = 0 -43930178183486:43930178184086 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930178185049:43930178185439 26045:26045 hsa_signal_destroy() = 0 -43930178187050:43930178188806 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 -43930178189848:43930178190373 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43930178191251:43930178201329 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 -43930178202156:43930178202528 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43930178203376:43930178203756 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43930178204686:43930178205318 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43930178206116:43930178206665 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e9cf0) = 0 -43930178207436:43930178209378 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e9cb0) = 0 -43930178210158:43930178210893 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 -43930178703085:43930178705428 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43930178706816:43930178707463 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43930178708397:43930178708867 26045:26051 hsa_signal_load_relaxed() = 1 -43930178211661:43930178710331 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43930178709678:43930178710920 26045:26051 hsa_signal_store_screlease(, 0) = void -43930178714901:43930178715353 26045:26051 hsa_signal_destroy() = 0 -43930179154265:43930179155132 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930193783554:43930193784650 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930193789576:43930193790670 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930193792639:43930193794896 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 -43930193796002:43930193796682 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43930193797497:43930193798100 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 -43930193798962:43930193799436 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43930194267397:43930194268260 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43930194270350:43930194270972 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43930194272092:43930194273678 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e9d50) = 0 -43930194274692:43930194277793 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e9d10) = 0 -43930194278769:43930194280320 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 -43930194749468:43930194752419 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43930194754024:43930194754682 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43930194755820:43930194756358 26045:26051 hsa_signal_load_relaxed() = 1 -43930194281171:43930194757980 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43930194757326:43930194758730 26045:26051 hsa_signal_store_screlease(, 0) = void -43930194759356:43930194760035 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930194759615:43930194760266 26045:26051 hsa_signal_destroy() = 0 -43930194774092:43930194774725 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43930194780080:43930194780724 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 120 -43930194781585:43930194782055 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 120 -43930194783168:43930194783776 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 -43930194784646:43930194785052 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43930194786078:43930194786641 26045:26045 hsa_signal_store_relaxed(, 120) = void -43930194787878:43930194788502 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43930194794083:43930194794710 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930194800380:43930194801015 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 -43930194801859:43930194802191 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 121 -43930194802927:43930194803258 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 120 -43930194803996:43930194804319 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43930194805071:43930194805457 26045:26045 hsa_signal_store_relaxed(, 121) = void -43930194807001:43930195356961 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930195358367:43930195358857 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930195360266:43930195360823 26045:26045 hsa_signal_destroy() = 0 -43930195361776:43930195372628 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930195373634:43930195374277 26045:26045 hsa_signal_destroy() = 0 -43930195375656:43930195377537 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 -43930195378611:43930195379130 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43930195380004:43930195380605 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 -43930195390876:43930195391259 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43930195392111:43930195392497 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43930195393448:43930195394075 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43930195394872:43930195395398 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e9db0) = 0 -43930195396159:43930195397880 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e9d70) = 0 -43930195398649:43930195399394 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 -43930195891248:43930195893694 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43930195895043:43930195895687 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43930195896630:43930195897097 26045:26051 hsa_signal_load_relaxed() = 1 -43930195400161:43930195898565 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43930195897905:43930195899113 26045:26051 hsa_signal_store_screlease(, 0) = void -43930195899953:43930195900403 26045:26051 hsa_signal_destroy() = 0 -43930196369165:43930196370005 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930211023871:43930211024945 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930211029495:43930211030681 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930211032468:43930211034490 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 -43930211039559:43930211040252 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43930211041165:43930211041833 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 -43930211042647:43930211043141 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43930211505691:43930211506580 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43930211508412:43930211509043 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43930211510244:43930211511622 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e9e10) = 0 -43930211512598:43930211516047 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e9dd0) = 0 -43930211516990:43930211518647 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 -43930211987544:43930211990831 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43930211992433:43930211993110 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43930211994315:43930211994855 26045:26051 hsa_signal_load_relaxed() = 1 -43930211519461:43930211996369 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43930211995708:43930211997156 26045:26051 hsa_signal_store_screlease(, 0) = void -43930211997735:43930211998416 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930211998041:43930211998682 26045:26051 hsa_signal_destroy() = 0 -43930212027401:43930212028053 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43930212033318:43930212033858 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 122 -43930212034967:43930212035512 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 122 -43930212036449:43930212037076 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 -43930212037927:43930212038380 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43930212039302:43930212039869 26045:26045 hsa_signal_store_relaxed(, 122) = void -43930212041145:43930212041795 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43930212056997:43930212057625 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930212059358:43930212059995 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 -43930212060806:43930212061137 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 123 -43930212061870:43930212062212 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 122 -43930212062971:43930212063289 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43930212064027:43930212064410 26045:26045 hsa_signal_store_relaxed(, 123) = void -43930212066806:43930212618613 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930212620572:43930212621054 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930212622562:43930212623124 26045:26045 hsa_signal_destroy() = 0 -43930212634669:43930212635231 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930212636200:43930212636593 26045:26045 hsa_signal_destroy() = 0 -43930212638137:43930212640196 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 -43930212641194:43930212641707 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43930212652508:43930212652997 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 -43930212653756:43930212654122 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43930212654975:43930212655361 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43930212656305:43930212656930 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43930212657719:43930212658352 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e9e70) = 0 -43930212659120:43930212660951 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e9e30) = 0 -43930212661723:43930212662458 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 -43930213154922:43930213157410 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43930213158741:43930213159390 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43930213160331:43930213160803 26045:26051 hsa_signal_load_relaxed() = 1 -43930212663242:43930213162275 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43930213161621:43930213162846 26045:26051 hsa_signal_store_screlease(, 0) = void -43930213163692:43930213164136 26045:26051 hsa_signal_destroy() = 0 -43930213607568:43930213608407 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930228259586:43930228260654 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930228264995:43930228266443 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930228268286:43930228270524 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 -43930228271655:43930228272491 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43930228273485:43930228274140 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 -43930228274987:43930228275453 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43930228743437:43930228744351 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43930228749589:43930228750224 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43930228751206:43930228752913 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e9ed0) = 0 -43930228753931:43930228757120 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e9e90) = 0 -43930228758170:43930228759668 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 -43930229228066:43930229231072 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43930229232719:43930229233381 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43930229234544:43930229235065 26045:26051 hsa_signal_load_relaxed() = 1 -43930228760586:43930229236571 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43930229235918:43930229237296 26045:26051 hsa_signal_store_screlease(, 0) = void -43930229238102:43930229238781 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930229238184:43930229238824 26045:26051 hsa_signal_destroy() = 0 -43930229252290:43930229252928 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43930229258181:43930229258687 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 124 -43930229259565:43930229260037 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 124 -43930229260949:43930229261558 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 -43930229262344:43930229262787 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43930229263705:43930229264267 26045:26045 hsa_signal_store_relaxed(, 124) = void -43930229265482:43930229266118 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43930229271681:43930229272312 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930229274056:43930229274676 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 -43930229275504:43930229275834 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 125 -43930229276574:43930229276909 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 124 -43930229277673:43930229277996 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43930229278727:43930229279113 26045:26045 hsa_signal_store_relaxed(, 125) = void -43930229280116:43930229834926 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930229836363:43930229836829 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930229838264:43930229838822 26045:26045 hsa_signal_destroy() = 0 -43930229839761:43930229850715 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930229851724:43930229852124 26045:26045 hsa_signal_destroy() = 0 -43930229869082:43930229870154 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 -43930229871060:43930229871474 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43930229872294:43930229872746 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 -43930229873481:43930229873850 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43930229874780:43930229875176 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43930229876092:43930229876723 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43930229877514:43930229878037 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e9f30) = 0 -43930229878798:43930229880721 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e9ef0) = 0 -43930229881494:43930229882216 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 -43930230375365:43930230377747 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43930230379076:43930230379737 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43930230380676:43930230381161 26045:26051 hsa_signal_load_relaxed() = 1 -43930229882993:43930230382617 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43930230381967:43930230383208 26045:26051 hsa_signal_store_screlease(, 0) = void -43930230384050:43930230384511 26045:26051 hsa_signal_destroy() = 0 -43930230825905:43930230826789 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930245477637:43930245478708 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930245483129:43930245484272 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930245486183:43930245488284 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 -43930245489374:43930245490065 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43930245490879:43930245491404 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 -43930245492279:43930245492748 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43930245958438:43930245959171 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43930245960725:43930245961346 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43930245962323:43930245964109 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e9f90) = 0 -43930245965131:43930245968451 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e9f50) = 0 -43930245969424:43930245971140 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 -43930246438507:43930246441473 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43930246447741:43930246448397 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43930246449507:43930246450035 26045:26051 hsa_signal_load_relaxed() = 1 -43930245972066:43930246451538 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43930246450886:43930246452277 26045:26051 hsa_signal_store_screlease(, 0) = void -43930246453030:43930246453717 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930246453209:43930246453837 26045:26051 hsa_signal_destroy() = 0 -43930246467767:43930246468401 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43930246473656:43930246474167 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 126 -43930246475033:43930246475494 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 126 -43930246476413:43930246477022 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 -43930246477862:43930246478312 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43930246479265:43930246479830 26045:26045 hsa_signal_store_relaxed(, 126) = void -43930246481044:43930246481668 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43930246487484:43930246488115 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930246489852:43930246490476 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 -43930246491303:43930246491633 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 127 -43930246492372:43930246492717 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 126 -43930246493464:43930246493783 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43930246494554:43930246494939 26045:26045 hsa_signal_store_relaxed(, 127) = void -43930246496307:43930247049027 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930247050425:43930247050908 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930247052432:43930247052972 26045:26045 hsa_signal_destroy() = 0 -43930247053921:43930247064800 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930247065817:43930247066297 26045:26045 hsa_signal_destroy() = 0 -43930247067674:43930247069673 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 -43930247070713:43930247071226 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43930247072104:43930247072666 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 -43930247082970:43930247083354 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43930247084211:43930247084581 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43930247087245:43930247087894 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43930247088691:43930247089240 26045:26045 hsa_signal_create(1, , 0, 0x7f15277e9ff0) = 0 -43930247090016:43930247091762 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277e9fb0) = 0 -43930247092545:43930247093279 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 -43930247585772:43930247588173 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43930247589505:43930247590150 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43930247591089:43930247591562 26045:26051 hsa_signal_load_relaxed() = 1 -43930247094046:43930247593017 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43930247592370:43930247593588 26045:26051 hsa_signal_store_screlease(, 0) = void -43930247594436:43930247594891 26045:26051 hsa_signal_destroy() = 0 -43930248042948:43930248043789 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930262671271:43930262672345 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930262676858:43930262678314 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930262680446:43930262682519 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 -43930262683769:43930262684462 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43930262685280:43930262685889 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 -43930262686749:43930262687216 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43930263154299:43930263155178 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43930263160755:43930263161391 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43930263162441:43930263163896 26045:26045 hsa_signal_create(1, , 0, 0x7f15277ea050) = 0 -43930263164914:43930263168567 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277ea010) = 0 -43930263169535:43930263171066 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 -43930263638240:43930263641292 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43930263642911:43930263643568 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43930263644814:43930263645351 26045:26051 hsa_signal_load_relaxed() = 1 -43930263172135:43930263646903 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43930263646254:43930263647651 26045:26051 hsa_signal_store_screlease(, 0) = void -43930263648281:43930263648957 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930263648533:43930263649184 26045:26051 hsa_signal_destroy() = 0 -43930263664853:43930263665489 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43930263670645:43930263671415 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 128 -43930263672287:43930263672756 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 128 -43930263673659:43930263674259 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 -43930263675050:43930263675495 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43930263676440:43930263677000 26045:26045 hsa_signal_store_relaxed(, 128) = void -43930263678189:43930263678829 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43930263684524:43930263685155 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930263686803:43930263687425 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 -43930263688254:43930263688582 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 129 -43930263689317:43930263689648 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 128 -43930263690388:43930263690710 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43930263691449:43930263691826 26045:26045 hsa_signal_store_relaxed(, 129) = void -43930263692888:43930264252934 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930264254301:43930264254781 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930264256255:43930264256804 26045:26045 hsa_signal_destroy() = 0 -43930264257752:43930264268447 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930264269418:43930264269806 26045:26045 hsa_signal_destroy() = 0 -43930264271209:43930264273109 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 -43930264274119:43930264274661 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43930264275539:43930264276261 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 -43930264286562:43930264286948 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43930264287807:43930264288174 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43930264289094:43930264289721 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43930264290506:43930264291098 26045:26045 hsa_signal_create(1, , 0, 0x7f15277ea0b0) = 0 -43930264291860:43930264293830 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277ea070) = 0 -43930264294607:43930264295381 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 -43930264787940:43930264790349 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43930264794671:43930264795330 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43930264796264:43930264796736 26045:26051 hsa_signal_load_relaxed() = 1 -43930264296159:43930264798191 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43930264797544:43930264798771 26045:26051 hsa_signal_store_screlease(, 0) = void -43930264799591:43930264800052 26045:26051 hsa_signal_destroy() = 0 -43930265243725:43930265244567 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930279850463:43930279851537 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930279856038:43930279857058 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930279859189:43930279861355 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 -43930279862464:43930279863107 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43930279863934:43930279864506 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 -43930279865365:43930279865857 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43930280359778:43930280360519 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43930280362283:43930280362921 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43930280363999:43930280365901 26045:26045 hsa_signal_create(1, , 0, 0x7f15277ea110) = 0 -43930280366925:43930280370618 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277ea0d0) = 0 -43930280371587:43930280373330 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 -43930280840446:43930280843699 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43930280845255:43930280845906 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43930280847051:43930280847576 26045:26051 hsa_signal_load_relaxed() = 1 -43930280374274:43930280849138 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43930280848480:43930280849888 26045:26051 hsa_signal_store_screlease(, 0) = void -43930280850532:43930280851260 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930280850773:43930280851419 26045:26051 hsa_signal_destroy() = 0 -43930280865187:43930280865826 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43930280870916:43930280871426 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 130 -43930280872315:43930280872778 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 130 -43930280873727:43930280874338 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 -43930280878841:43930280879295 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43930280880258:43930280880822 26045:26045 hsa_signal_store_relaxed(, 130) = void -43930280882023:43930280882651 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43930280888485:43930280889106 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930280890891:43930280891523 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 -43930280892349:43930280892684 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 131 -43930280893425:43930280893759 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 130 -43930280894498:43930280894824 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43930280895563:43930280895945 26045:26045 hsa_signal_store_relaxed(, 131) = void -43930280896976:43930281453425 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930281454826:43930281455307 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930281456640:43930281457198 26045:26045 hsa_signal_destroy() = 0 -43930281458132:43930281458582 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930281469813:43930281470217 26045:26045 hsa_signal_destroy() = 0 -43930281471669:43930281473626 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 -43930281474633:43930281475141 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43930281475999:43930281476573 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 -43930281486803:43930281487229 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43930281488099:43930281488470 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43930281489415:43930281490042 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43930281490832:43930281491362 26045:26045 hsa_signal_create(1, , 0, 0x7f15277ea170) = 0 -43930281492130:43930281493839 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277ea130) = 0 -43930281494643:43930281495359 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 -43930281988139:43930281990544 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43930281991868:43930281992514 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43930281993458:43930281993932 26045:26051 hsa_signal_load_relaxed() = 1 -43930281496132:43930281995390 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43930281994742:43930281995987 26045:26051 hsa_signal_store_screlease(, 0) = void -43930281996833:43930281997289 26045:26051 hsa_signal_destroy() = 0 -43930282441011:43930282441848 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930297110077:43930297111154 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930297115543:43930297116563 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930297118590:43930297120780 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 -43930297121876:43930297122563 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43930297123422:43930297123997 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 -43930297124852:43930297125539 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43930297593394:43930297594143 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43930297595699:43930297596322 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43930297597427:43930297599171 26045:26045 hsa_signal_create(1, , 0, 0x7f15277ea1d0) = 0 -43930297600225:43930297603738 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277ea190) = 0 -43930297604740:43930297606472 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 -43930298074520:43930298077546 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43930298079122:43930298079777 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43930298080926:43930298081465 26045:26051 hsa_signal_load_relaxed() = 1 -43930297607361:43930298083038 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43930298082376:43930298083764 26045:26051 hsa_signal_store_screlease(, 0) = void -43930298084437:43930298085143 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930298084656:43930298085299 26045:26051 hsa_signal_destroy() = 0 -43930298099438:43930298100070 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43930298105027:43930298105537 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 132 -43930298106398:43930298107019 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 132 -43930298107964:43930298108568 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 -43930298109441:43930298109844 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43930298110853:43930298111414 26045:26045 hsa_signal_store_relaxed(, 132) = void -43930298112595:43930298113222 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43930298118928:43930298119557 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930298121188:43930298121760 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 -43930298126211:43930298126542 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 133 -43930298127292:43930298127635 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 132 -43930298128400:43930298128720 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43930298129456:43930298129843 26045:26045 hsa_signal_store_relaxed(, 133) = void -43930298130883:43930298679775 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930298681168:43930298681651 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930298683131:43930298683679 26045:26045 hsa_signal_destroy() = 0 -43930298684629:43930298695438 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930298696449:43930298696930 26045:26045 hsa_signal_destroy() = 0 -43930298698237:43930298700343 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 -43930298701371:43930298701880 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43930298702750:43930298703310 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 -43930298713610:43930298713996 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43930298714850:43930298715221 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43930298716141:43930298716770 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43930298717560:43930298718081 26045:26045 hsa_signal_create(1, , 0, 0x7f15277ea230) = 0 -43930298718842:43930298720745 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277ea1f0) = 0 -43930298721526:43930298722246 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 -43930299214627:43930299217050 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43930299218418:43930299219067 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43930299220007:43930299220491 26045:26051 hsa_signal_load_relaxed() = 1 -43930298723013:43930299221933 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43930299221293:43930299222530 26045:26051 hsa_signal_store_screlease(, 0) = void -43930299223374:43930299223840 26045:26051 hsa_signal_destroy() = 0 -43930299665520:43930299666355 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930314330897:43930314331959 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930314336469:43930314337418 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930314339322:43930314341301 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 -43930314347914:43930314348632 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43930314349690:43930314350277 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 -43930314351135:43930314351609 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43930314817944:43930314818636 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43930314820620:43930314821258 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43930314822286:43930314824071 26045:26045 hsa_signal_create(1, , 0, 0x7f15277ea290) = 0 -43930314825076:43930314828498 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277ea250) = 0 -43930314829443:43930314831197 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 -43930315298445:43930315301462 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43930315303088:43930315303742 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43930315304845:43930315305383 26045:26051 hsa_signal_load_relaxed() = 1 -43930314832068:43930315306896 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43930315306234:43930315307620 26045:26051 hsa_signal_store_screlease(, 0) = void -43930315308335:43930315308999 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930315308509:43930315309154 26045:26051 hsa_signal_destroy() = 0 -43930315323330:43930315323974 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43930315328942:43930315329611 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 134 -43930315330477:43930315330943 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 134 -43930315331912:43930315332511 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 -43930315333332:43930315333774 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43930315334769:43930315335404 26045:26045 hsa_signal_store_relaxed(, 134) = void -43930315336605:43930315337235 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43930315343295:43930315343921 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930315345646:43930315346267 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 -43930315347076:43930315347401 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 135 -43930315348139:43930315348480 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 134 -43930315349214:43930315349538 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43930315350273:43930315350654 26045:26045 hsa_signal_store_relaxed(, 135) = void -43930315351660:43930315911075 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930315914410:43930315914904 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930315927033:43930315927957 26045:26045 hsa_signal_destroy() = 0 -43930315929207:43930315929734 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930315930654:43930315931042 26045:26045 hsa_signal_destroy() = 0 -43930315932469:43930315934375 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 -43930315945266:43930315945670 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43930315946502:43930315946994 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 -43930315947746:43930315948109 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43930315948956:43930315949323 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43930315950265:43930315950893 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43930315951687:43930315952297 26045:26045 hsa_signal_create(1, , 0, 0x7f15277ea2f0) = 0 -43930315953059:43930315954736 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277ea2b0) = 0 -43930315955512:43930315956236 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 -43930316461964:43930316464403 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43930316465739:43930316466381 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43930316467352:43930316467825 26045:26051 hsa_signal_load_relaxed() = 1 -43930315957008:43930316469338 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43930316468637:43930316469903 26045:26051 hsa_signal_store_screlease(, 0) = void -43930316470755:43930316471207 26045:26051 hsa_signal_destroy() = 0 -43930316913335:43930316914176 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930331548383:43930331549455 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930331554207:43930331555478 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930331557566:43930331559662 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 -43930331560772:43930331561537 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43930331562350:43930331562980 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 -43930331563821:43930331564291 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43930332041035:43930332041743 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43930332043377:43930332043997 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43930332048422:43930332050143 26045:26045 hsa_signal_create(1, , 0, 0x7f15277ea350) = 0 -43930332051148:43930332054422 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277ea310) = 0 -43930332055366:43930332056917 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 -43930332523405:43930332526496 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43930332528117:43930332528765 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43930332529903:43930332530425 26045:26051 hsa_signal_load_relaxed() = 1 -43930332057735:43930332531935 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43930332531271:43930332532650 26045:26051 hsa_signal_store_screlease(, 0) = void -43930332533320:43930332534038 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930332533533:43930332534188 26045:26051 hsa_signal_destroy() = 0 -43930332548576:43930332549212 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43930332554268:43930332554778 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 136 -43930332555636:43930332556105 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 136 -43930332557011:43930332557612 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 -43930332558410:43930332558853 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43930332559816:43930332560378 26045:26045 hsa_signal_store_relaxed(, 136) = void -43930332561767:43930332562407 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43930332568043:43930332568669 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930332570342:43930332570964 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 -43930332571725:43930332572058 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 137 -43930332572799:43930332573132 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 136 -43930332573950:43930332574272 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43930332575005:43930332575390 26045:26045 hsa_signal_store_relaxed(, 137) = void -43930332576420:43930333132434 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930333133833:43930333134308 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930333135717:43930333136266 26045:26045 hsa_signal_destroy() = 0 -43930333137226:43930333147924 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930333148955:43930333149353 26045:26045 hsa_signal_destroy() = 0 -43930333150824:43930333152922 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 -43930333166434:43930333166855 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43930333167695:43930333168203 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 -43930333168947:43930333169318 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43930333170158:43930333170525 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43930333171472:43930333172103 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43930333172890:43930333173415 26045:26045 hsa_signal_create(1, , 0, 0x7f15277ea3b0) = 0 -43930333174175:43930333175900 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277ea370) = 0 -43930333176671:43930333177393 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 -43930333669923:43930333672316 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43930333673654:43930333674298 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43930333675239:43930333675714 26045:26051 hsa_signal_load_relaxed() = 1 -43930333178168:43930333677180 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43930333676525:43930333677755 26045:26051 hsa_signal_store_screlease(, 0) = void -43930333678596:43930333679046 26045:26051 hsa_signal_destroy() = 0 -43930334121585:43930334122424 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930348753851:43930348754904 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930348758883:43930348760147 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930348762169:43930348765096 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 -43930348766323:43930348767037 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43930348767850:43930348768372 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 -43930348769223:43930348769692 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43930349237569:43930349238300 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43930349239864:43930349240492 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43930349241521:43930349243262 26045:26045 hsa_signal_create(1, , 0, 0x7f15277ea410) = 0 -43930349244346:43930349247939 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277ea3d0) = 0 -43930349248923:43930349250574 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 -43930349718855:43930349721860 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43930349723379:43930349724027 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43930349729888:43930349730416 26045:26051 hsa_signal_load_relaxed() = 1 -43930349251491:43930349732156 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43930349731504:43930349732893 26045:26051 hsa_signal_store_screlease(, 0) = void -43930349733572:43930349734250 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930349733773:43930349734403 26045:26051 hsa_signal_destroy() = 0 -43930349747695:43930349748326 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43930349753251:43930349753759 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 138 -43930349754618:43930349755085 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 138 -43930349756006:43930349756601 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 -43930349757402:43930349757847 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43930349758942:43930349759504 26045:26045 hsa_signal_store_relaxed(, 138) = void -43930349760663:43930349761291 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43930349769459:43930349770089 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930349772101:43930349772796 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 -43930349773628:43930349773960 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 139 -43930349774703:43930349775046 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 138 -43930349775793:43930349776124 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43930349776859:43930349777241 26045:26045 hsa_signal_store_relaxed(, 139) = void -43930349778253:43930350329721 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930350331122:43930350331606 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930350333119:43930350333680 26045:26045 hsa_signal_destroy() = 0 -43930350334648:43930350345592 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930350346597:43930350347079 26045:26045 hsa_signal_destroy() = 0 -43930350348481:43930350350161 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 -43930350351221:43930350351783 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43930350352661:43930350353263 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 -43930350364027:43930350364419 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43930350365292:43930350365662 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43930350366590:43930350367220 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43930350369203:43930350369729 26045:26045 hsa_signal_create(1, , 0, 0x7f15277ea470) = 0 -43930350370498:43930350372393 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277ea430) = 0 -43930350373172:43930350373914 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 -43930350865540:43930350867960 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43930350869317:43930350869969 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43930350870906:43930350871382 26045:26051 hsa_signal_load_relaxed() = 1 -43930350374687:43930350872850 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43930350872192:43930350873418 26045:26051 hsa_signal_store_screlease(, 0) = void -43930350874269:43930350874723 26045:26051 hsa_signal_destroy() = 0 -43930351316166:43930351317006 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930365949770:43930365950842 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930365955341:43930365956595 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930365958955:43930365960814 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 -43930365961916:43930365962654 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43930365963476:43930365964099 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 -43930365964944:43930365965415 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43930366433406:43930366434138 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43930366435770:43930366436396 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43930366437584:43930366439175 26045:26045 hsa_signal_create(1, , 0, 0x7f15277ea4d0) = 0 -43930366440190:43930366443868 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277ea490) = 0 -43930366444911:43930366446512 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 -43930366914868:43930366918056 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43930366919645:43930366920292 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43930366921572:43930366922096 26045:26051 hsa_signal_load_relaxed() = 1 -43930366447443:43930366923633 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43930366922978:43930366924365 26045:26051 hsa_signal_store_screlease(, 0) = void -43930366925074:43930366925739 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930366925252:43930366925888 26045:26051 hsa_signal_destroy() = 0 -43930366939355:43930366939993 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43930366945347:43930366945859 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 140 -43930366946729:43930366947199 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 140 -43930366948101:43930366948699 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 -43930366949501:43930366950085 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43930366951041:43930366951602 26045:26045 hsa_signal_store_relaxed(, 140) = void -43930366952825:43930366953453 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43930366959391:43930366960030 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930366961732:43930366962432 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 -43930366963263:43930366963594 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 141 -43930366964332:43930366964673 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 140 -43930366965432:43930366965750 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43930366966484:43930366966864 26045:26045 hsa_signal_store_relaxed(, 141) = void -43930366967885:43930367519634 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930367521027:43930367521513 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930367523011:43930367523570 26045:26045 hsa_signal_destroy() = 0 -43930367524560:43930367535216 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930367536244:43930367536647 26045:26045 hsa_signal_destroy() = 0 -43930367538062:43930367539982 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 -43930367541046:43930367541568 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43930367542459:43930367543040 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 -43930367553341:43930367553738 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43930367554616:43930367554992 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43930367555981:43930367556621 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43930367557465:43930367558066 26045:26045 hsa_signal_create(1, , 0, 0x7f15277ea530) = 0 -43930367558843:43930367560593 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277ea4f0) = 0 -43930367561386:43930367562121 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 -43930368014277:43930368016957 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43930368018279:43930368018944 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43930368022075:43930368022559 26045:26051 hsa_signal_load_relaxed() = 1 -43930367562912:43930368023946 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43930368023393:43930368024687 26045:26051 hsa_signal_store_screlease(, 0) = void -43930368025542:43930368026001 26045:26051 hsa_signal_destroy() = 0 -43930368465746:43930368466513 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930383039813:43930383040885 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930383044772:43930383045816 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930383047794:43930383050275 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 -43930383051646:43930383052336 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43930383053165:43930383053742 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 -43930383054587:43930383055071 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43930383522605:43930383523339 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43930383524904:43930383525530 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43930383526540:43930383528239 26045:26045 hsa_signal_create(1, , 0, 0x7f15277ea590) = 0 -43930383529491:43930383532697 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277ea550) = 0 -43930383533726:43930383535264 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 -43930384019592:43930384022644 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43930384024188:43930384024834 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43930384025981:43930384026696 26045:26051 hsa_signal_load_relaxed() = 1 -43930383536244:43930384028232 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43930384027608:43930384029058 26045:26051 hsa_signal_store_screlease(, 0) = void -43930384029561:43930384030241 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930384029950:43930384030597 26045:26051 hsa_signal_destroy() = 0 -43930384044155:43930384044787 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43930384049844:43930384050362 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 142 -43930384051242:43930384051712 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 142 -43930384052671:43930384053283 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 -43930384054061:43930384054506 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43930384061044:43930384061626 26045:26045 hsa_signal_store_relaxed(, 142) = void -43930384062832:43930384063462 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43930384069503:43930384070137 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930384072042:43930384072674 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 -43930384073528:43930384073858 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 143 -43930384074595:43930384074929 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 142 -43930384075673:43930384075995 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43930384076727:43930384077115 26045:26045 hsa_signal_store_relaxed(, 143) = void -43930384078139:43930385997575 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930385999096:43930385999629 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930386001148:43930386001786 26045:26045 hsa_signal_destroy() = 0 -43930386013680:43930386014281 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930386015287:43930386015719 26045:26045 hsa_signal_destroy() = 0 -43930386017315:43930386018947 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 -43930386020011:43930386020567 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43930386031904:43930386032452 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 -43930386033290:43930386033701 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43930386034635:43930386035045 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43930386036099:43930386036801 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43930386037680:43930386038269 26045:26045 hsa_signal_create(1, , 0, 0x7f15277ea5f0) = 0 -43930386039118:43930386041363 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277ea5b0) = 0 -43930386042224:43930386043024 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 -43930386507160:43930386509618 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43930386511078:43930386511813 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43930386512847:43930386513387 26045:26051 hsa_signal_load_relaxed() = 1 -43930386043894:43930386514894 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43930386514286:43930386515644 26045:26051 hsa_signal_store_screlease(, 0) = void -43930386516587:43930386517098 26045:26051 hsa_signal_destroy() = 0 -43930386954121:43930386954925 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930401603822:43930401604890 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930401609019:43930401610034 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930401612228:43930401614041 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 -43930401615127:43930401615836 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43930401616643:43930401617263 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 -43930401618123:43930401618597 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43930402086681:43930402087413 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43930402088863:43930402089488 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43930402090656:43930402092590 26045:26045 hsa_signal_create(1, , 0, 0x7f15277ea650) = 0 -43930402093773:43930402097213 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277ea610) = 0 -43930402098188:43930402099877 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 -43930402583368:43930402586438 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43930402588105:43930402588747 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43930402589852:43930402590379 26045:26051 hsa_signal_load_relaxed() = 1 -43930402100777:43930402591959 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43930402591298:43930402592682 26045:26051 hsa_signal_store_screlease(, 0) = void -43930402593267:43930402593945 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930402593567:43930402594198 26045:26051 hsa_signal_destroy() = 0 -43930402607946:43930402608587 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43930402613742:43930402614249 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 144 -43930402615117:43930402615580 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 144 -43930402616627:43930402617236 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 -43930402618079:43930402618528 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43930402619526:43930402620098 26045:26045 hsa_signal_store_relaxed(, 144) = void -43930402621366:43930402621990 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43930402627763:43930402628392 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930402630101:43930402630710 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 -43930402631542:43930402631872 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 145 -43930402636347:43930402636693 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 144 -43930402637440:43930402637764 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43930402638495:43930402638880 26045:26045 hsa_signal_store_relaxed(, 145) = void -43930402639901:43930404580038 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930404581591:43930404582128 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930404583702:43930404584297 26045:26045 hsa_signal_destroy() = 0 -43930404585364:43930404585864 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930404586787:43930404587260 26045:26045 hsa_signal_destroy() = 0 -43930404588427:43930404589572 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 -43930404590529:43930404590991 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43930404591901:43930404592432 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 -43930404593244:43930404593650 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43930404594667:43930404595079 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43930404596105:43930404596803 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43930404597668:43930404598238 26045:26045 hsa_signal_create(1, , 0, 0x7f15277ea6b0) = 0 -43930404599081:43930404601173 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277ea670) = 0 -43930404602042:43930404602862 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 -43930405065788:43930405068393 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43930405069890:43930405070613 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43930405071657:43930405072181 26045:26051 hsa_signal_load_relaxed() = 1 -43930404603717:43930405073702 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43930405073083:43930405074472 26045:26051 hsa_signal_store_screlease(, 0) = void -43930405075408:43930405075915 26045:26051 hsa_signal_destroy() = 0 -43930405509802:43930405510610 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930420152337:43930420153471 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930420157549:43930420158498 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930420160669:43930420162572 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 -43930420163640:43930420164319 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43930420168707:43930420169320 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 -43930420170137:43930420170607 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43930420636301:43930420637305 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43930420638760:43930420639385 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43930420640411:43930420641926 26045:26045 hsa_signal_create(1, , 0, 0x7f15277ea710) = 0 -43930420643153:43930420646211 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277ea6d0) = 0 -43930420647164:43930420649137 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 -43930421131809:43930421135152 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43930421136798:43930421137442 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43930421138559:43930421139088 26045:26051 hsa_signal_load_relaxed() = 1 -43930420650010:43930421140599 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43930421139935:43930421141313 26045:26051 hsa_signal_store_screlease(, 0) = void -43930421141866:43930421142605 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930421142269:43930421142933 26045:26051 hsa_signal_destroy() = 0 -43930421156721:43930421157362 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43930421162396:43930421162906 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 146 -43930421163992:43930421164456 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 146 -43930421165379:43930421165978 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 -43930421166844:43930421167290 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43930421168227:43930421168796 26045:26045 hsa_signal_store_relaxed(, 146) = void -43930421169915:43930421170533 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43930421176310:43930421176942 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930421178823:43930421179444 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 -43930421180285:43930421180616 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 147 -43930421181352:43930421181684 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 146 -43930421182423:43930421182747 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43930421183484:43930421183865 26045:26045 hsa_signal_store_relaxed(, 147) = void -43930421184879:43930423121406 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930423123451:43930423123983 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930423138348:43930423139223 26045:26045 hsa_signal_destroy() = 0 -43930423140480:43930423141039 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930423142024:43930423142453 26045:26045 hsa_signal_destroy() = 0 -43930423143953:43930423155225 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 -43930423156228:43930423156698 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43930423157622:43930423158153 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 -43930423158972:43930423159380 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43930423160325:43930423160734 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43930423161784:43930423162480 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43930423163361:43930423164016 26045:26045 hsa_signal_create(1, , 0, 0x7f15277ea770) = 0 -43930423164872:43930423166977 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277ea730) = 0 -43930423167847:43930423168652 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 -43930423632828:43930423635343 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43930423636874:43930423637598 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43930423638638:43930423639161 26045:26051 hsa_signal_load_relaxed() = 1 -43930423169514:43930423640679 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43930423640065:43930423641418 26045:26051 hsa_signal_store_screlease(, 0) = void -43930423642359:43930423642859 26045:26051 hsa_signal_destroy() = 0 -43930424084375:43930424085185 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930438636098:43930438637153 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930438641239:43930438642223 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930438644741:43930438646763 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 -43930438647829:43930438648493 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43930438649304:43930438649879 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 -43930438650726:43930438651234 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43930439115931:43930439116662 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43930439118760:43930439119386 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43930439120396:43930439121926 26045:26045 hsa_signal_create(1, , 0, 0x7f15277ea7d0) = 0 -43930439126839:43930439130325 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277ea790) = 0 -43930439131284:43930439133127 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 -43930439617889:43930439620888 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43930439622566:43930439623218 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43930439624326:43930439624851 26045:26051 hsa_signal_load_relaxed() = 1 -43930439133998:43930439626355 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43930439625704:43930439627124 26045:26051 hsa_signal_store_screlease(, 0) = void -43930439627805:43930439628505 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930439628012:43930439628653 26045:26051 hsa_signal_destroy() = 0 -43930439641998:43930439642639 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43930439647526:43930439648129 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 148 -43930439648904:43930439649361 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 148 -43930439650282:43930439650888 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 -43930439651633:43930439652080 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43930439653052:43930439653621 26045:26045 hsa_signal_store_relaxed(, 148) = void -43930439654927:43930439655557 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43930439661237:43930439661882 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930439663586:43930439664201 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 -43930439665027:43930439665359 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 149 -43930439666097:43930439666429 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 148 -43930439667194:43930439667515 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43930439668254:43930439668638 26045:26045 hsa_signal_store_relaxed(, 149) = void -43930439669665:43930441590561 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930441605000:43930441605838 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930441608893:43930441619891 26045:26045 hsa_signal_destroy() = 0 -43930441621144:43930441621716 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930441622740:43930441623180 26045:26045 hsa_signal_destroy() = 0 -43930441624787:43930441626302 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 -43930441627282:43930441627796 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43930441631334:43930441631974 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 -43930441632810:43930441633225 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43930441634297:43930441634783 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43930441636064:43930441636782 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43930441637765:43930441638687 26045:26045 hsa_signal_create(1, , 0, 0x7f15277ea830) = 0 -43930441639626:43930441642720 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277ea7f0) = 0 -43930441643654:43930441644795 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 -43930442108387:43930442111040 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43930442112502:43930442113221 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43930442114266:43930442114789 26045:26051 hsa_signal_load_relaxed() = 1 -43930441645726:43930442116283 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43930442115679:43930442117035 26045:26051 hsa_signal_store_screlease(, 0) = void -43930442117975:43930442118474 26045:26051 hsa_signal_destroy() = 0 -43930442553596:43930442554392 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930457231368:43930457232471 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930457238724:43930457239866 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930457241990:43930457245413 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 -43930457246890:43930457247594 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43930457248424:43930457249138 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 -43930457249965:43930457250447 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43930457717139:43930457717854 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43930457719606:43930457720241 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43930457721361:43930457723177 26045:26045 hsa_signal_create(1, , 0, 0x7f15277ea890) = 0 -43930457724184:43930457727824 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277ea850) = 0 -43930457728846:43930457730964 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 -43930458216142:43930458219226 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43930458220748:43930458221405 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43930458222557:43930458223081 26045:26051 hsa_signal_load_relaxed() = 1 -43930457731837:43930458231862 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43930458231195:43930458232780 26045:26051 hsa_signal_store_screlease(, 0) = void -43930458233134:43930458233833 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930458233667:43930458234330 26045:26051 hsa_signal_destroy() = 0 -43930458251105:43930458251756 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43930458260010:43930458260723 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 150 -43930458261636:43930458262118 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 150 -43930458263081:43930458263702 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 -43930458264484:43930458264843 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43930458265993:43930458266620 26045:26045 hsa_signal_store_relaxed(, 150) = void -43930458268217:43930458268853 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43930458275215:43930458275848 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930458278106:43930458278748 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 -43930458279510:43930458279848 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 151 -43930458280592:43930458280924 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 150 -43930458281899:43930458282221 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43930458282975:43930458283355 26045:26045 hsa_signal_store_relaxed(, 151) = void -43930458284274:43930460207409 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930460221612:43930460222472 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930460225236:43930460226317 26045:26045 hsa_signal_destroy() = 0 -43930460237887:43930460238461 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930460239496:43930460239980 26045:26045 hsa_signal_destroy() = 0 -43930460241414:43930460242819 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 -43930460243798:43930460244320 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43930460245226:43930460245887 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 -43930460246710:43930460247124 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43930460248164:43930460248641 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43930460249906:43930460250621 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43930460251606:43930460252475 26045:26045 hsa_signal_create(1, , 0, 0x7f15277ea8f0) = 0 -43930460256134:43930460259217 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277ea8b0) = 0 -43930460260178:43930460261323 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 -43930460725353:43930460728011 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43930460729457:43930460730180 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43930460731231:43930460731766 26045:26051 hsa_signal_load_relaxed() = 1 -43930460262279:43930460733299 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43930460732657:43930460734048 26045:26051 hsa_signal_store_screlease(, 0) = void -43930460734982:43930460735542 26045:26051 hsa_signal_destroy() = 0 -43930461171194:43930461171991 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930475763980:43930475765090 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930475770867:43930475771966 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930475774134:43930475777279 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 -43930475778373:43930475779122 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43930475779948:43930475780533 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 -43930475781328:43930475781993 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43930476250648:43930476251334 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43930476253101:43930476253739 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43930476254772:43930476256241 26045:26045 hsa_signal_create(1, , 0, 0x7f15277ea950) = 0 -43930476257251:43930476261134 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277ea910) = 0 -43930476262121:43930476264051 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 -43930476749514:43930476752623 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43930476754137:43930476754787 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43930476755921:43930476756443 26045:26051 hsa_signal_load_relaxed() = 1 -43930476264911:43930476758005 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43930476757338:43930476758710 26045:26051 hsa_signal_store_screlease(, 0) = void -43930476759384:43930476760053 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930476759592:43930476760213 26045:26051 hsa_signal_destroy() = 0 -43930476775782:43930476776422 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43930476787501:43930476788207 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 152 -43930476789114:43930476789587 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 152 -43930476790560:43930476791177 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 -43930476792014:43930476792371 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43930476793501:43930476794102 26045:26045 hsa_signal_store_relaxed(, 152) = void -43930476795703:43930476796334 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43930476802536:43930476803167 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930476805381:43930476806009 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 -43930476806786:43930476807120 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 153 -43930476807851:43930476808191 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 152 -43930476809131:43930476809460 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43930476810219:43930476810602 26045:26045 hsa_signal_store_relaxed(, 153) = void -43930476811619:43930478730424 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930478744858:43930478745674 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930478748375:43930478749469 26045:26045 hsa_signal_destroy() = 0 -43930478760579:43930478761094 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930478762094:43930478762529 26045:26045 hsa_signal_destroy() = 0 -43930478764049:43930478765900 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 -43930478766909:43930478767436 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43930478768344:43930478768953 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 -43930478769782:43930478770198 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43930478771237:43930478771714 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43930478772965:43930478773676 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43930478774655:43930478775609 26045:26045 hsa_signal_create(1, , 0, 0x7f15277ea9b0) = 0 -43930478776539:43930478779549 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277ea970) = 0 -43930478780503:43930478781611 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 -43930479245698:43930479248352 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43930479249808:43930479250529 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43930479254624:43930479255168 26045:26051 hsa_signal_load_relaxed() = 1 -43930478782564:43930479256695 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43930479256078:43930479257507 26045:26051 hsa_signal_store_screlease(, 0) = void -43930479258421:43930479258928 26045:26051 hsa_signal_destroy() = 0 -43930479692646:43930479693450 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930494303334:43930494304457 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930494310480:43930494311574 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930494313916:43930494316783 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 -43930494317965:43930494318720 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43930494319547:43930494320227 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 -43930494321031:43930494321532 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43930494787867:43930494788969 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43930494790924:43930494791551 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43930494792602:43930494794272 26045:26045 hsa_signal_create(1, , 0, 0x7f15277eaa10) = 0 -43930494795467:43930494799014 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277ea9d0) = 0 -43930494800002:43930494801728 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 -43930495285718:43930495288787 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43930495290344:43930495290998 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43930495292158:43930495292684 26045:26051 hsa_signal_load_relaxed() = 1 -43930494802648:43930495294226 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43930495293571:43930495295036 26045:26051 hsa_signal_store_screlease(, 0) = void -43930495295548:43930495296230 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930495295922:43930495296561 26045:26051 hsa_signal_destroy() = 0 -43930495312444:43930495313104 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43930495320804:43930495321443 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 154 -43930495322320:43930495322785 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 154 -43930495323833:43930495324451 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 -43930495325272:43930495325629 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43930495326836:43930495327439 26045:26045 hsa_signal_store_relaxed(, 154) = void -43930495334289:43930495334929 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43930495341545:43930495342176 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930495344516:43930495345146 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 -43930495345918:43930495346256 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 155 -43930495347004:43930495347349 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 154 -43930495348309:43930495348637 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43930495349408:43930495349792 26045:26045 hsa_signal_store_relaxed(, 155) = void -43930495350736:43930497263554 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930497277863:43930497278683 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930497281361:43930497282453 26045:26045 hsa_signal_destroy() = 0 -43930497293181:43930497293763 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930497294911:43930497295349 26045:26045 hsa_signal_destroy() = 0 -43930497296900:43930497298347 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 -43930497299315:43930497299837 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43930497300719:43930497301393 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 -43930497302232:43930497302650 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43930497303691:43930497304165 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43930497305431:43930497306147 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43930497307128:43930497307987 26045:26045 hsa_signal_create(1, , 0, 0x7f15277eaa70) = 0 -43930497308936:43930497312021 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277eaa30) = 0 -43930497312958:43930497314073 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 -43930497777413:43930497780020 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43930497781454:43930497782189 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43930497783241:43930497783774 26045:26051 hsa_signal_load_relaxed() = 1 -43930497315014:43930497785274 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43930497784671:43930497786045 26045:26051 hsa_signal_store_screlease(, 0) = void -43930497786983:43930497787494 26045:26051 hsa_signal_destroy() = 0 -43930498222092:43930498222891 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930512878556:43930512879686 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930512885421:43930512886569 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930512888887:43930512891521 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 -43930512892874:43930512893694 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43930512894517:43930512895111 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 -43930512895888:43930512896465 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43930513353396:43930513354532 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43930513356247:43930513356870 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43930513357866:43930513359578 26045:26045 hsa_signal_create(1, , 0, 0x7f15277eaad0) = 0 -43930513360596:43930513364242 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277eaa90) = 0 -43930513365227:43930513367164 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 -43930513851910:43930513854920 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43930513856427:43930513857081 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43930513858227:43930513858766 26045:26051 hsa_signal_load_relaxed() = 1 -43930513368233:43930513860517 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43930513859852:43930513861242 26045:26051 hsa_signal_store_screlease(, 0) = void -43930513861883:43930513862562 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930513862130:43930513862774 26045:26051 hsa_signal_destroy() = 0 -43930513878790:43930513879440 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43930513887272:43930513887917 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 156 -43930513888806:43930513889462 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 156 -43930513890454:43930513891057 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 -43930513891931:43930513892289 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43930513893512:43930513894106 26045:26045 hsa_signal_store_relaxed(, 156) = void -43930513895648:43930513896278 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43930513902565:43930513903196 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930513905511:43930513906086 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 -43930513906829:43930513907156 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 157 -43930513907895:43930513908234 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 156 -43930513913262:43930513913607 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43930513914364:43930513914752 26045:26045 hsa_signal_store_relaxed(, 157) = void -43930513915741:43930515839385 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930515853644:43930515854493 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930515857178:43930515858248 26045:26045 hsa_signal_destroy() = 0 -43930515869639:43930515870209 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930515871204:43930515871683 26045:26045 hsa_signal_destroy() = 0 -43930515873240:43930515874693 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 -43930515875666:43930515876183 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43930515877090:43930515877771 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 -43930515878602:43930515879024 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43930515880077:43930515880562 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43930515881821:43930515882538 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43930515883525:43930515884379 26045:26045 hsa_signal_create(1, , 0, 0x7f15277eab30) = 0 -43930515885324:43930515888345 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277eaaf0) = 0 -43930515889289:43930515890413 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 -43930516355226:43930516357941 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43930516359380:43930516360102 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43930516361157:43930516361683 26045:26051 hsa_signal_load_relaxed() = 1 -43930515891361:43930516363293 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43930516362579:43930516363968 26045:26051 hsa_signal_store_screlease(, 0) = void -43930516364901:43930516365417 26045:26051 hsa_signal_destroy() = 0 -43930516800669:43930516801470 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930531426968:43930531428249 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930531434191:43930531435375 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930531437287:43930531440372 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 -43930531441503:43930531442175 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43930531443002:43930531443687 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 -43930531450097:43930531450508 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43930531916937:43930531917655 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43930531919422:43930531920048 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43930531921307:43930531922789 26045:26045 hsa_signal_create(1, , 0, 0x7f15277eab90) = 0 -43930531923722:43930531927071 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277eab50) = 0 -43930531928025:43930531929854 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 -43930532425399:43930532428413 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43930532429960:43930532430596 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43930532431706:43930532432233 26045:26051 hsa_signal_load_relaxed() = 1 -43930531930703:43930532433859 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43930532433097:43930532434467 26045:26051 hsa_signal_store_screlease(, 0) = void -43930532435098:43930532435778 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930532435353:43930532435986 26045:26051 hsa_signal_destroy() = 0 -43930532451663:43930532452317 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43930532460129:43930532460762 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 158 -43930532461555:43930532462023 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 158 -43930532462949:43930532463592 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 -43930532464429:43930532464785 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43930532465923:43930532466514 26045:26045 hsa_signal_store_relaxed(, 158) = void -43930532468077:43930532468707 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43930532475146:43930532475779 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930532477920:43930532478543 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 -43930532479294:43930532479626 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 159 -43930532480375:43930532480720 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 158 -43930532481656:43930532481986 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43930532482784:43930532483172 26045:26045 hsa_signal_store_relaxed(, 159) = void -43930532484157:43930534406839 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930534421054:43930534421886 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930534424602:43930534425688 26045:26045 hsa_signal_destroy() = 0 -43930534440116:43930534440628 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930534441695:43930534442128 26045:26045 hsa_signal_destroy() = 0 -43930534443632:43930534445080 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 -43930534446050:43930534446570 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43930534447472:43930534448089 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 -43930534448916:43930534449331 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43930534450375:43930534450848 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43930534452106:43930534452821 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43930534453807:43930534454743 26045:26045 hsa_signal_create(1, , 0, 0x7f15277eabf0) = 0 -43930534455687:43930534458721 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277eabb0) = 0 -43930534459656:43930534460768 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 -43930534924931:43930534927580 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43930534929030:43930534929746 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43930534930797:43930534931322 26045:26051 hsa_signal_load_relaxed() = 1 -43930534461709:43930534932839 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43930534932226:43930534933620 26045:26051 hsa_signal_store_screlease(, 0) = void -43930534934551:43930534935054 26045:26051 hsa_signal_destroy() = 0 -43930535368760:43930535369561 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930549941981:43930549943098 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930549949144:43930549950225 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930549952494:43930549954858 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 -43930549956055:43930549956797 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43930549957831:43930549958496 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 -43930549959267:43930549959738 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43930550425460:43930550426144 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43930550428127:43930550428752 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43930550429779:43930550431449 26045:26045 hsa_signal_create(1, , 0, 0x7f15277eac50) = 0 -43930550432478:43930550435877 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277eac10) = 0 -43930550442764:43930550444751 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 -43930550928911:43930550931989 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43930550933453:43930550934101 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43930550935204:43930550935730 26045:26051 hsa_signal_load_relaxed() = 1 -43930550445627:43930550937240 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43930550936584:43930550937965 26045:26051 hsa_signal_store_screlease(, 0) = void -43930550938434:43930550939114 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930550938852:43930550939493 26045:26051 hsa_signal_destroy() = 0 -43930550956355:43930550956999 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43930550964606:43930550965247 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 160 -43930550966138:43930550966616 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 160 -43930550967538:43930550968136 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 -43930550968966:43930550969324 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43930550970480:43930550971084 26045:26045 hsa_signal_store_relaxed(, 160) = void -43930550972802:43930550973431 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43930550979605:43930550980237 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930550982681:43930550983308 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 -43930550984071:43930550984403 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 161 -43930550985153:43930550985501 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 160 -43930550986440:43930550986767 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43930550987519:43930550987903 26045:26045 hsa_signal_store_relaxed(, 161) = void -43930550988912:43930552910869 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930552925594:43930552926437 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930552929187:43930552940761 26045:26045 hsa_signal_destroy() = 0 -43930552941974:43930552942497 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930552943498:43930552943934 26045:26045 hsa_signal_destroy() = 0 -43930552945462:43930552947108 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 -43930552948081:43930552948604 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43930552949485:43930552950119 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 -43930552953424:43930552953848 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43930552954920:43930552955401 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43930552956681:43930552957395 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43930552958380:43930552959256 26045:26045 hsa_signal_create(1, , 0, 0x7f15277eacb0) = 0 -43930552960199:43930552963295 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277eac70) = 0 -43930552964230:43930552965376 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 -43930553428786:43930553431517 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43930553432974:43930553433690 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43930553434748:43930553435271 26045:26051 hsa_signal_load_relaxed() = 1 -43930552966333:43930553436789 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43930553436169:43930553437556 26045:26051 hsa_signal_store_screlease(, 0) = void -43930553438500:43930553439004 26045:26051 hsa_signal_destroy() = 0 -43930553873900:43930553874726 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930568596409:43930568597510 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930568603680:43930568605091 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930568607096:43930568609751 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 -43930568610900:43930568611728 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43930568612560:43930568613323 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 -43930568614129:43930568614643 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43930569079999:43930569080739 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43930569082461:43930569083089 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43930569084141:43930569085827 26045:26045 hsa_signal_create(1, , 0, 0x7f15277ead10) = 0 -43930569086871:43930569090553 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277eacd0) = 0 -43930569091563:43930569093704 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 -43930569577860:43930569581195 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43930569582847:43930569583503 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43930569584691:43930569585228 26045:26051 hsa_signal_load_relaxed() = 1 -43930569094577:43930569586780 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43930569586119:43930569587528 26045:26051 hsa_signal_store_screlease(, 0) = void -43930569591726:43930569592352 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930569592902:43930569593528 26045:26051 hsa_signal_destroy() = 0 -43930569609967:43930569610617 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43930569618598:43930569619254 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 162 -43930569620167:43930569620891 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 162 -43930569621815:43930569622420 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 -43930569623200:43930569623553 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43930569624740:43930569625373 26045:26045 hsa_signal_store_relaxed(, 162) = void -43930569627084:43930569627721 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43930569634320:43930569634949 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930569637359:43930569638001 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 -43930569638770:43930569639102 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 163 -43930569639848:43930569640202 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 162 -43930569641162:43930569641489 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43930569642241:43930569642625 26045:26045 hsa_signal_store_relaxed(, 163) = void -43930569643613:43930571567441 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930571581845:43930571582701 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930571585375:43930571586467 26045:26045 hsa_signal_destroy() = 0 -43930571597600:43930571598111 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930571599137:43930571599618 26045:26045 hsa_signal_destroy() = 0 -43930571601097:43930571602474 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 -43930571603447:43930571603970 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43930571604846:43930571605526 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 -43930571606357:43930571606773 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43930571607822:43930571608311 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43930571609568:43930571610283 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43930571611260:43930571612104 26045:26045 hsa_signal_create(1, , 0, 0x7f15277ead70) = 0 -43930571615298:43930571618333 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277ead30) = 0 -43930571619279:43930571620425 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 -43930572083961:43930572086527 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43930572087966:43930572088691 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43930572089741:43930572090264 26045:26051 hsa_signal_load_relaxed() = 1 -43930571621380:43930572091845 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43930572091160:43930572092533 26045:26051 hsa_signal_store_screlease(, 0) = void -43930572093466:43930572093965 26045:26051 hsa_signal_destroy() = 0 -43930572529138:43930572529940 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930587118519:43930587119632 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930587125734:43930587126923 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930587129244:43930587131976 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 -43930587133037:43930587133834 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43930587134662:43930587135352 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 -43930587136147:43930587136547 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43930587603055:43930587603866 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43930587605889:43930587606513 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43930587607547:43930587609052 26045:26045 hsa_signal_create(1, , 0, 0x7f15277eadd0) = 0 -43930587610219:43930587613331 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277ead90) = 0 -43930587614314:43930587616249 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 -43930588113469:43930588116476 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43930588117957:43930588118608 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43930588119763:43930588120286 26045:26051 hsa_signal_load_relaxed() = 1 -43930587617267:43930588122083 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43930588121169:43930588122535 26045:26051 hsa_signal_store_screlease(, 0) = void -43930588123541:43930588124224 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930588123641:43930588124279 26045:26051 hsa_signal_destroy() = 0 -43930588141066:43930588141704 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43930588149540:43930588150182 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 164 -43930588155662:43930588156132 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 164 -43930588157093:43930588157756 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 -43930588158596:43930588158955 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43930588160081:43930588160840 26045:26045 hsa_signal_store_relaxed(, 164) = void -43930588162467:43930588163099 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43930588169371:43930588170002 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930588172244:43930588172905 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 -43930588173664:43930588173998 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 165 -43930588174737:43930588175076 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 164 -43930588176207:43930588176530 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43930588177287:43930588177668 26045:26045 hsa_signal_store_relaxed(, 165) = void -43930588178682:43930590088611 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930590103125:43930590103963 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930590106606:43930590107685 26045:26045 hsa_signal_destroy() = 0 -43930590118818:43930590119266 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930590120267:43930590120708 26045:26045 hsa_signal_destroy() = 0 -43930590122316:43930590123776 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 -43930590124753:43930590125289 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43930590126173:43930590126798 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 -43930590127633:43930590128047 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43930590129086:43930590129569 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43930590130840:43930590131554 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43930590132538:43930590133486 26045:26045 hsa_signal_create(1, , 0, 0x7f15277eae30) = 0 -43930590134425:43930590137426 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277eadf0) = 0 -43930590138365:43930590139481 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 -43930590603096:43930590605773 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43930590607269:43930590607990 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43930590609053:43930590609580 26045:26051 hsa_signal_load_relaxed() = 1 -43930590140421:43930590613905 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43930590613281:43930590614694 26045:26051 hsa_signal_store_screlease(, 0) = void -43930590615621:43930590616118 26045:26051 hsa_signal_destroy() = 0 -43930591050702:43930591051497 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930605674802:43930605675986 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930605681619:43930605682807 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930605684790:43930605687305 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 -43930605688415:43930605689281 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43930605690101:43930605690787 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 -43930605691737:43930605692208 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43930606159003:43930606160087 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43930606161682:43930606162313 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43930606163539:43930606165046 26045:26045 hsa_signal_create(1, , 0, 0x7f15277eae90) = 0 -43930606166069:43930606169907 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277eae50) = 0 -43930606170907:43930606173104 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 -43930606656907:43930606659909 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43930606661412:43930606662067 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43930606663130:43930606663665 26045:26051 hsa_signal_load_relaxed() = 1 -43930606174053:43930606665285 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43930606664626:43930606666034 26045:26051 hsa_signal_store_screlease(, 0) = void -43930606666499:43930606667176 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930606666923:43930606667577 26045:26051 hsa_signal_destroy() = 0 -43930606683137:43930606683789 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43930606691971:43930606692634 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 166 -43930606693514:43930606693985 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 166 -43930606694981:43930606695593 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 -43930606696499:43930606696854 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43930606697987:43930606698582 26045:26045 hsa_signal_store_relaxed(, 166) = void -43930606700418:43930606701055 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43930606712593:43930606713225 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930606715547:43930606716181 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 -43930606716945:43930606717284 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 167 -43930606718028:43930606718373 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 166 -43930606719335:43930606719665 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43930606720425:43930606720815 26045:26045 hsa_signal_store_relaxed(, 167) = void -43930606721765:43930608652915 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930608667481:43930608668308 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930608670906:43930608671990 26045:26045 hsa_signal_destroy() = 0 -43930608682614:43930608683200 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930608684254:43930608684692 26045:26045 hsa_signal_destroy() = 0 -43930608686177:43930608687602 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 -43930608688579:43930608689116 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43930608690015:43930608690644 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 -43930608691474:43930608691893 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43930608692937:43930608693426 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43930608694688:43930608695404 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43930608696381:43930608697252 26045:26045 hsa_signal_create(1, , 0, 0x7f15277eaef0) = 0 -43930608698190:43930608701279 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277eaeb0) = 0 -43930608702230:43930608703335 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 -43930609167083:43930609169715 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43930609171141:43930609171871 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43930609172931:43930609173462 26045:26051 hsa_signal_load_relaxed() = 1 -43930608704253:43930609174965 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43930609174359:43930609175760 26045:26051 hsa_signal_store_screlease(, 0) = void -43930609176699:43930609177210 26045:26051 hsa_signal_destroy() = 0 -43930609612087:43930609612903 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930624294587:43930624295666 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930624307219:43930624308456 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930624310471:43930624313772 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 -43930624314880:43930624315571 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43930624316392:43930624316938 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 -43930624317675:43930624318154 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43930624784233:43930624785278 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43930624787030:43930624787661 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43930624788672:43930624790232 26045:26045 hsa_signal_create(1, , 0, 0x7f15277eaf50) = 0 -43930624791217:43930624794817 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277eaf10) = 0 -43930624795783:43930624797797 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 -43930625281705:43930625284991 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43930625286569:43930625287221 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43930625288343:43930625288881 26045:26051 hsa_signal_load_relaxed() = 1 -43930624798682:43930625290399 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43930625289739:43930625291139 26045:26051 hsa_signal_store_screlease(, 0) = void -43930625291651:43930625292331 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930625292023:43930625292668 26045:26051 hsa_signal_destroy() = 0 -43930625308384:43930625309049 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43930625316576:43930625317217 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 168 -43930625318090:43930625318555 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 168 -43930625319611:43930625320227 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 -43930625321005:43930625321360 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43930625322491:43930625323082 26045:26045 hsa_signal_store_relaxed(, 168) = void -43930625324682:43930625325320 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43930625331602:43930625332233 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930625334443:43930625335014 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 -43930625335774:43930625336107 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 169 -43930625336851:43930625337185 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 168 -43930625338121:43930625338450 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43930625340839:43930625341231 26045:26045 hsa_signal_store_relaxed(, 169) = void -43930625342224:43930627269779 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930627284119:43930627284990 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930627287724:43930627288797 26045:26045 hsa_signal_destroy() = 0 -43930627300552:43930627301071 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930627302088:43930627302568 26045:26045 hsa_signal_destroy() = 0 -43930627304090:43930627305498 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 -43930627306487:43930627307008 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43930627307921:43930627308602 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 -43930627309435:43930627309853 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43930627310917:43930627311405 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43930627312677:43930627313394 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43930627314375:43930627315235 26045:26045 hsa_signal_create(1, , 0, 0x7f15277eafb0) = 0 -43930627316173:43930627319158 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277eaf70) = 0 -43930627320101:43930627321223 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 -43930627783972:43930627786569 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43930627788009:43930627788727 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43930627789793:43930627790319 26045:26051 hsa_signal_load_relaxed() = 1 -43930627322143:43930627791842 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43930627791228:43930627792582 26045:26051 hsa_signal_store_screlease(, 0) = void -43930627793520:43930627794021 26045:26051 hsa_signal_destroy() = 0 -43930628234688:43930628235492 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930642852206:43930642853396 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930642858836:43930642859882 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930642861811:43930642864291 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 -43930642865631:43930642866378 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43930642867207:43930642867898 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 -43930642868675:43930642869149 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43930643339069:43930643339896 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43930643344378:43930643345009 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43930643346099:43930643347559 26045:26045 hsa_signal_create(1, , 0, 0x7f15277eb010) = 0 -43930643348759:43930643352164 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277eafd0) = 0 -43930643353035:43930643355294 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 -43930643823373:43930643826386 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43930643827909:43930643828565 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43930643829680:43930643830220 26045:26051 hsa_signal_load_relaxed() = 1 -43930643356259:43930643831720 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43930643831076:43930643832612 26045:26051 hsa_signal_store_screlease(, 0) = void -43930643832956:43930643833619 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930643833498:43930643834143 26045:26051 hsa_signal_destroy() = 0 -43930643850840:43930643851504 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43930643859192:43930643859826 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 170 -43930643860722:43930643861187 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 170 -43930643862110:43930643862713 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 -43930643863581:43930643863940 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43930643865111:43930643865721 26045:26045 hsa_signal_store_relaxed(, 170) = void -43930643867329:43930643867958 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43930643875084:43930643875717 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930643877964:43930643878758 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 -43930643879505:43930643879835 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 171 -43930643880576:43930643880917 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 170 -43930643881874:43930643882201 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43930643882960:43930643883348 26045:26045 hsa_signal_store_relaxed(, 171) = void -43930643884281:43930644446142 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930644448445:43930644449010 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930644450662:43930644451372 26045:26045 hsa_signal_destroy() = 0 -43930644452358:43930644452852 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930644455804:43930644456201 26045:26045 hsa_signal_destroy() = 0 -43930644457602:43930644458967 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 -43930644459838:43930644460320 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43930644461109:43930644461721 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 -43930644462469:43930644462843 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43930644463811:43930644464244 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43930644465402:43930644466040 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43930644466920:43930644467781 26045:26045 hsa_signal_create(1, , 0, 0x7f15277eb070) = 0 -43930644468624:43930644471140 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277eb030) = 0 -43930644471985:43930644473008 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 -43930644965738:43930644968229 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43930644969545:43930644970207 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43930644971156:43930644971635 26045:26051 hsa_signal_load_relaxed() = 1 -43930644473855:43930644973113 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43930644972447:43930644973724 26045:26051 hsa_signal_store_screlease(, 0) = void -43930644974565:43930644975024 26045:26051 hsa_signal_destroy() = 0 -43930645415965:43930645416818 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930660040374:43930660041437 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930660047020:43930660048432 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930660050645:43930660053737 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 -43930660054906:43930660055923 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43930660056766:43930660057540 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 -43930660058310:43930660058786 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43930660522404:43930660523140 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43930660524704:43930660525336 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43930660526383:43930660527889 26045:26045 hsa_signal_create(1, , 0, 0x7f15277eb0d0) = 0 -43930660528975:43930660532781 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277eb090) = 0 -43930660533729:43930660535723 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 -43930661005258:43930661008295 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43930661009816:43930661010472 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43930661011572:43930661012106 26045:26051 hsa_signal_load_relaxed() = 1 -43930660542321:43930661013604 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43930661012959:43930661014334 26045:26051 hsa_signal_store_screlease(, 0) = void -43930661014825:43930661015505 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930661015225:43930661015884 26045:26051 hsa_signal_destroy() = 0 -43930661032010:43930661032656 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43930661040204:43930661040833 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 172 -43930661041701:43930661042172 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 172 -43930661043075:43930661043679 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 -43930661044520:43930661044874 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43930661046012:43930661046624 26045:26045 hsa_signal_store_relaxed(, 172) = void -43930661048334:43930661048963 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43930661054956:43930661055583 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930661057820:43930661058482 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 -43930661059244:43930661059580 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 173 -43930661060316:43930661060653 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 172 -43930661061596:43930661061917 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43930661062688:43930661063077 26045:26045 hsa_signal_store_relaxed(, 173) = void -43930661064094:43930661621166 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930661634335:43930661635112 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930661637605:43930661638622 26045:26045 hsa_signal_destroy() = 0 -43930661639873:43930661640422 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930661651813:43930661652216 26045:26045 hsa_signal_destroy() = 0 -43930661653650:43930661654903 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 -43930661655796:43930661656255 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43930661657047:43930661657614 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 -43930661660755:43930661661136 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43930661662100:43930661662530 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43930661663671:43930661664311 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43930661665201:43930661665988 26045:26045 hsa_signal_create(1, , 0, 0x7f15277eb130) = 0 -43930661666829:43930661669581 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277eb0f0) = 0 -43930661670429:43930661671486 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 -43930662163509:43930662166050 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43930662167378:43930662168026 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43930662168978:43930662169450 26045:26051 hsa_signal_load_relaxed() = 1 -43930661672333:43930662170919 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43930662170263:43930662171512 26045:26051 hsa_signal_store_screlease(, 0) = void -43930662172352:43930662172800 26045:26051 hsa_signal_destroy() = 0 -43930662616600:43930662617445 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930677235994:43930677237068 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930677243034:43930677244124 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930677246115:43930677249597 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 -43930677250657:43930677251401 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43930677252238:43930677252918 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 -43930677253757:43930677254227 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43930677719131:43930677719824 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43930677721483:43930677722118 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43930677723121:43930677724533 26045:26045 hsa_signal_create(1, , 0, 0x7f15277eb190) = 0 -43930677725553:43930677729102 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277eb150) = 0 -43930677730095:43930677732078 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 -43930678200628:43930678203619 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43930678205161:43930678205809 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43930678206970:43930678207490 26045:26051 hsa_signal_load_relaxed() = 1 -43930677732977:43930678209046 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43930678208398:43930678209778 26045:26051 hsa_signal_store_screlease(, 0) = void -43930678210322:43930678210949 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930678215453:43930678216065 26045:26051 hsa_signal_destroy() = 0 -43930678229622:43930678230270 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43930678238040:43930678238683 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 174 -43930678239558:43930678240020 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 174 -43930678241025:43930678241642 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 -43930678242489:43930678242846 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43930678243977:43930678244579 26045:26045 hsa_signal_store_relaxed(, 174) = void -43930678246171:43930678246810 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43930678253375:43930678254004 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930678256309:43930678256938 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 -43930678257711:43930678258044 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 175 -43930678258778:43930678259115 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 174 -43930678260051:43930678260376 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43930678261130:43930678261510 26045:26045 hsa_signal_store_relaxed(, 175) = void -43930678262449:43930678822265 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930678836140:43930678836961 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930678839449:43930678840483 26045:26045 hsa_signal_destroy() = 0 -43930678841665:43930678842364 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930678852927:43930678853381 26045:26045 hsa_signal_destroy() = 0 -43930678854762:43930678856064 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 -43930678856944:43930678857418 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43930678858239:43930678858841 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 -43930678859587:43930678859963 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43930678860903:43930678861336 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43930678862472:43930678863116 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43930678864002:43930678864774 26045:26045 hsa_signal_create(1, , 0, 0x7f15277eb1f0) = 0 -43930678865619:43930678868067 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277eb1b0) = 0 -43930678870922:43930678871959 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 -43930679363681:43930679366198 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43930679367527:43930679368169 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43930679369124:43930679369593 26045:26051 hsa_signal_load_relaxed() = 1 -43930678872837:43930679371047 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43930679370400:43930679371648 26045:26051 hsa_signal_store_screlease(, 0) = void -43930679372492:43930679372950 26045:26051 hsa_signal_destroy() = 0 -43930679814876:43930679815709 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930694474322:43930694475436 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930694481350:43930694482398 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930694484298:43930694487629 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 -43930694489057:43930694489732 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43930694490562:43930694491206 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 -43930694492002:43930694492476 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43930694959401:43930694960257 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43930694962120:43930694962759 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43930694963762:43930694965191 26045:26045 hsa_signal_create(1, , 0, 0x7f15277eb250) = 0 -43930694966216:43930694969661 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277eb210) = 0 -43930694970785:43930694972636 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 -43930695441595:43930695444588 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43930695446109:43930695446756 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43930695447918:43930695448447 26045:26051 hsa_signal_load_relaxed() = 1 -43930694973564:43930695449979 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43930695449337:43930695450943 26045:26051 hsa_signal_store_screlease(, 0) = void -43930695451360:43930695452022 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930695451831:43930695452458 26045:26051 hsa_signal_destroy() = 0 -43930695468422:43930695469071 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43930695477045:43930695477683 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 176 -43930695478583:43930695479047 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 176 -43930695483969:43930695484602 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 -43930695485441:43930695485804 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43930695486942:43930695487551 26045:26045 hsa_signal_store_relaxed(, 176) = void -43930695489115:43930695489747 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43930695495860:43930695496489 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930695498800:43930695499641 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 -43930695500399:43930695500732 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 177 -43930695501472:43930695501803 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 176 -43930695502743:43930695503068 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43930695503827:43930695504204 26045:26045 hsa_signal_store_relaxed(, 177) = void -43930695505182:43930696065132 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930696078721:43930696079494 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930696082043:43930696083071 26045:26045 hsa_signal_destroy() = 0 -43930696084345:43930696084951 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930696095987:43930696096383 26045:26045 hsa_signal_destroy() = 0 -43930696097699:43930696098984 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 -43930696099861:43930696100335 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43930696101136:43930696101695 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 -43930696102442:43930696102816 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43930696103754:43930696104195 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43930696105329:43930696105971 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43930696106855:43930696107705 26045:26045 hsa_signal_create(1, , 0, 0x7f15277eb2b0) = 0 -43930696108551:43930696111376 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277eb270) = 0 -43930696112223:43930696113259 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 -43930696605290:43930696607803 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43930696609124:43930696609778 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43930696610727:43930696611204 26045:26051 hsa_signal_load_relaxed() = 1 -43930696114111:43930696612674 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43930696612017:43930696613241 26045:26051 hsa_signal_store_screlease(, 0) = void -43930696617359:43930696617822 26045:26051 hsa_signal_destroy() = 0 -43930697059575:43930697060425 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930711709919:43930711711005 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930711717232:43930711718230 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930711720140:43930711723242 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 -43930711724339:43930711725052 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43930711725903:43930711726610 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 -43930711727563:43930711728034 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43930712196346:43930712197007 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43930712198715:43930712199339 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43930712200436:43930712202081 26045:26045 hsa_signal_create(1, , 0, 0x7f15277eb310) = 0 -43930712203443:43930712207191 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277eb2d0) = 0 -43930712208173:43930712210226 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 -43930712676911:43930712680086 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43930712681527:43930712682172 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43930712683313:43930712683834 26045:26051 hsa_signal_load_relaxed() = 1 -43930712211234:43930712685409 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43930712684748:43930712686124 26045:26051 hsa_signal_store_screlease(, 0) = void -43930712686618:43930712687281 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930712687090:43930712687711 26045:26051 hsa_signal_destroy() = 0 -43930712703852:43930712704500 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43930712712024:43930712712802 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 178 -43930712713700:43930712714158 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 178 -43930712715102:43930712715705 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 -43930712716588:43930712716945 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43930712718097:43930712718688 26045:26045 hsa_signal_store_relaxed(, 178) = void -43930712720307:43930712720941 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43930712727154:43930712727783 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930712734096:43930712734733 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 -43930712735508:43930712735840 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 179 -43930712736575:43930712736918 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 178 -43930712737877:43930712738211 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43930712738962:43930712739345 26045:26045 hsa_signal_store_relaxed(, 179) = void -43930712740260:43930713290693 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930713304445:43930713305222 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930713307767:43930713308789 26045:26045 hsa_signal_destroy() = 0 -43930713309958:43930713310440 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930713321497:43930713321904 26045:26045 hsa_signal_destroy() = 0 -43930713323354:43930713324692 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 -43930713325573:43930713326047 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43930713326868:43930713327430 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 -43930713328176:43930713328551 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43930713329511:43930713329951 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43930713331088:43930713331735 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43930713332617:43930713333422 26045:26045 hsa_signal_create(1, , 0, 0x7f15277eb370) = 0 -43930713334262:43930713336882 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277eb330) = 0 -43930713337734:43930713338742 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 -43930713830652:43930713833154 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43930713834478:43930713835131 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43930713836083:43930713836565 26045:26051 hsa_signal_load_relaxed() = 1 -43930713339572:43930713838034 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43930713837383:43930713838670 26045:26051 hsa_signal_store_screlease(, 0) = void -43930713839512:43930713839972 26045:26051 hsa_signal_destroy() = 0 -43930714282110:43930714282957 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930728917049:43930728918117 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930728924081:43930728925245 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930728932426:43930728935625 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 -43930728936658:43930728937408 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43930728938237:43930728938869 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 -43930728939626:43930728940098 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43930729410913:43930729411770 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43930729413673:43930729414296 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43930729415372:43930729416953 26045:26045 hsa_signal_create(1, , 0, 0x7f15277eb3d0) = 0 -43930729417927:43930729421306 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277eb390) = 0 -43930729422276:43930729424211 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 -43930729890796:43930729893853 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43930729895467:43930729896104 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43930729897210:43930729897921 26045:26051 hsa_signal_load_relaxed() = 1 -43930729425111:43930729899436 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43930729898784:43930729900180 26045:26051 hsa_signal_store_screlease(, 0) = void -43930729900893:43930729901560 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930729901064:43930729901767 26045:26051 hsa_signal_destroy() = 0 -43930729917740:43930729918386 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43930729926048:43930729926678 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 180 -43930729927580:43930729928048 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 180 -43930729928985:43930729929592 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 -43930729930367:43930729930721 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43930729931857:43930729932442 26045:26045 hsa_signal_store_relaxed(, 180) = void -43930729934066:43930729934696 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43930729940959:43930729941590 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930729943756:43930729944330 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 -43930729945087:43930729945421 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 181 -43930729946159:43930729946505 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 180 -43930729947452:43930729947777 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43930729948534:43930729948921 26045:26045 hsa_signal_store_relaxed(, 181) = void -43930729951472:43930730505137 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930730518472:43930730519286 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930730521748:43930730522772 26045:26045 hsa_signal_destroy() = 0 -43930730524044:43930730524741 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930730535206:43930730535769 26045:26045 hsa_signal_destroy() = 0 -43930730537159:43930730538470 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 -43930730539362:43930730539827 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43930730540621:43930730541190 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 -43930730541943:43930730542320 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43930730543279:43930730543715 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43930730544847:43930730545492 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43930730546380:43930730547468 26045:26045 hsa_signal_create(1, , 0, 0x7f15277eb430) = 0 -43930730548317:43930730550767 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277eb3f0) = 0 -43930730551616:43930730552618 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 -43930731045164:43930731047689 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43930731049003:43930731049663 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43930731050614:43930731051098 26045:26051 hsa_signal_load_relaxed() = 1 -43930730553439:43930731052568 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43930731051918:43930731053153 26045:26051 hsa_signal_store_screlease(, 0) = void -43930731053996:43930731054463 26045:26051 hsa_signal_destroy() = 0 -43930731496455:43930731497307 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930746134251:43930746135547 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930746141821:43930746143036 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930746144848:43930746147404 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 -43930746148520:43930746149489 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43930746150320:43930746150987 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 -43930746151787:43930746152281 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43930746618550:43930746619322 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43930746626548:43930746627189 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43930746628369:43930746629929 26045:26045 hsa_signal_create(1, , 0, 0x7f15277eb490) = 0 -43930746630868:43930746634484 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277eb450) = 0 -43930746635424:43930746637183 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 -43930747103027:43930747106136 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43930747107656:43930747108314 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43930747109446:43930747109975 26045:26051 hsa_signal_load_relaxed() = 1 -43930746638141:43930747111484 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43930747110844:43930747112219 26045:26051 hsa_signal_store_screlease(, 0) = void -43930747112814:43930747113495 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930747113104:43930747113763 26045:26051 hsa_signal_destroy() = 0 -43930747130740:43930747131380 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43930747138975:43930747139634 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 182 -43930747140491:43930747140955 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 182 -43930747141900:43930747142515 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 -43930747143355:43930747143718 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43930747144842:43930747145432 26045:26045 hsa_signal_store_relaxed(, 182) = void -43930747147029:43930747147667 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43930747153698:43930747154330 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930747156465:43930747157094 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 -43930747157863:43930747158201 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 183 -43930747158937:43930747159273 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 182 -43930747160217:43930747160543 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43930747161296:43930747161684 26045:26045 hsa_signal_store_relaxed(, 183) = void -43930747162626:43930747720208 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930747722157:43930747722657 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930747724189:43930747724747 26045:26045 hsa_signal_destroy() = 0 -43930747736264:43930747736792 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930747741077:43930747741486 26045:26045 hsa_signal_destroy() = 0 -43930747743256:43930747753874 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 -43930747754773:43930747755200 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43930747755977:43930747756453 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 -43930747757191:43930747757555 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43930747758404:43930747758785 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43930747759719:43930747760347 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43930747761130:43930747761727 26045:26045 hsa_signal_create(1, , 0, 0x7f15277eb4f0) = 0 -43930747762498:43930747764481 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277eb4b0) = 0 -43930747765269:43930747766042 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 -43930748258775:43930748261265 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43930748262599:43930748263252 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43930748264188:43930748264671 26045:26051 hsa_signal_load_relaxed() = 1 -43930747766803:43930748266226 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43930748265495:43930748266729 26045:26051 hsa_signal_store_screlease(, 0) = void -43930748267571:43930748268033 26045:26051 hsa_signal_destroy() = 0 -43930748710241:43930748711092 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930763360148:43930763361223 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930763366053:43930763367184 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930763368941:43930763371643 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 -43930763372710:43930763373472 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43930763374291:43930763374833 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 -43930763375687:43930763376157 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43930763843876:43930763844611 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43930763846337:43930763846973 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43930763848129:43930763849880 26045:26045 hsa_signal_create(1, , 0, 0x7f15277eb550) = 0 -43930763851125:43930763854702 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277eb510) = 0 -43930763855705:43930763857710 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 -43930764337347:43930764340313 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43930764346759:43930764347431 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43930764348487:43930764349024 26045:26051 hsa_signal_load_relaxed() = 1 -43930763858561:43930764350629 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43930764349869:43930764351287 26045:26051 hsa_signal_store_screlease(, 0) = void -43930764352012:43930764352675 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930764352167:43930764352845 26045:26051 hsa_signal_destroy() = 0 -43930764367014:43930764367649 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43930764374200:43930764374871 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 184 -43930764375750:43930764376138 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 184 -43930764377030:43930764377644 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 -43930764378420:43930764378870 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43930764380093:43930764380656 26045:26045 hsa_signal_store_relaxed(, 184) = void -43930764382014:43930764382643 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43930764388365:43930764388994 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930764390706:43930764391331 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 -43930764392159:43930764392539 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 185 -43930764393276:43930764393609 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 184 -43930764394353:43930764394669 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43930764395405:43930764395793 26045:26045 hsa_signal_store_relaxed(, 185) = void -43930764396862:43930764946356 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930764948272:43930764948752 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930764950254:43930764950837 26045:26045 hsa_signal_destroy() = 0 -43930764962450:43930764963009 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930764963942:43930764964335 26045:26045 hsa_signal_destroy() = 0 -43930764965898:43930764967953 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 -43930764969000:43930764969572 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43930764979964:43930764980459 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 -43930764981211:43930764981574 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43930764984189:43930764984572 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43930764985521:43930764986150 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43930764986943:43930764987470 26045:26045 hsa_signal_create(1, , 0, 0x7f15277eb5b0) = 0 -43930764988245:43930764990042 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277eb570) = 0 -43930764990824:43930764991610 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 -43930765484050:43930765486458 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43930765487782:43930765488432 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43930765489372:43930765489844 26045:26051 hsa_signal_load_relaxed() = 1 -43930764992396:43930765491311 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43930765490652:43930765491900 26045:26051 hsa_signal_store_screlease(, 0) = void -43930765492741:43930765493190 26045:26051 hsa_signal_destroy() = 0 -43930765934766:43930765935662 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930780589364:43930780590427 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930780594915:43930780596171 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930780597893:43930780600549 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 -43930780601640:43930780602350 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43930780603176:43930780603752 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 -43930780604607:43930780605079 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43930781071447:43930781072180 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43930781073765:43930781074388 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43930781075419:43930781077002 26045:26045 hsa_signal_create(1, , 0, 0x7f15277eb610) = 0 -43930781078029:43930781081356 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277eb5d0) = 0 -43930781082341:43930781083932 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 -43930781551396:43930781554378 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43930781555876:43930781556525 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43930781557649:43930781558171 26045:26051 hsa_signal_load_relaxed() = 1 -43930781084824:43930781559740 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43930781559079:43930781560437 26045:26051 hsa_signal_store_screlease(, 0) = void -43930781561126:43930781561792 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930781561320:43930781561949 26045:26051 hsa_signal_destroy() = 0 -43930781579581:43930781580221 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43930781586169:43930781587002 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 186 -43930781587895:43930781588388 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 186 -43930781589253:43930781589863 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 -43930781590655:43930781591104 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43930781592055:43930781592844 26045:26045 hsa_signal_store_relaxed(, 186) = void -43930781594135:43930781594767 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43930781600612:43930781601250 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930781603196:43930781603825 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 -43930781604661:43930781604991 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 187 -43930781605733:43930781606071 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 186 -43930781606829:43930781607151 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43930781607894:43930781608273 26045:26045 hsa_signal_store_relaxed(, 187) = void -43930781609327:43930782162843 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930782164353:43930782164844 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930782166273:43930782166823 26045:26045 hsa_signal_destroy() = 0 -43930782167708:43930782178567 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930782179564:43930782180045 26045:26045 hsa_signal_destroy() = 0 -43930782181476:43930782183172 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 -43930782184216:43930782184731 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43930782185597:43930782186137 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 -43930782196391:43930782196823 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43930782197698:43930782198083 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43930782198984:43930782199617 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43930782200410:43930782200910 26045:26045 hsa_signal_create(1, , 0, 0x7f15277eb670) = 0 -43930782201675:43930782203464 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277eb630) = 0 -43930782204240:43930782204955 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 -43930782697951:43930782700632 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43930782701976:43930782702631 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43930782703579:43930782704054 26045:26051 hsa_signal_load_relaxed() = 1 -43930782209779:43930782705504 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43930782704837:43930782706095 26045:26051 hsa_signal_store_screlease(, 0) = void -43930782706938:43930782707390 26045:26051 hsa_signal_destroy() = 0 -43930783149337:43930783150180 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930797815939:43930797817003 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930797821632:43930797822985 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930797824867:43930797826869 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 -43930797827959:43930797828879 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43930797829690:43930797830243 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 -43930797831093:43930797831563 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43930798300169:43930798300902 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43930798302828:43930798303452 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43930798304500:43930798306365 26045:26045 hsa_signal_create(1, , 0, 0x7f15277eb6d0) = 0 -43930798307334:43930798310809 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277eb690) = 0 -43930798311916:43930798313539 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 -43930798780383:43930798783404 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43930798785029:43930798785699 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43930798786832:43930798787369 26045:26051 hsa_signal_load_relaxed() = 1 -43930798314487:43930798788940 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43930798788271:43930798789655 26045:26051 hsa_signal_store_screlease(, 0) = void -43930798790548:43930798791191 26045:26051 hsa_signal_destroy() = 0 -43930798790495:43930798791218 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930798805461:43930798806109 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43930798811798:43930798812463 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 188 -43930798813428:43930798813848 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 188 -43930798814804:43930798815446 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 -43930798819865:43930798820318 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43930798821286:43930798821848 26045:26045 hsa_signal_store_relaxed(, 188) = void -43930798823242:43930798823875 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43930798829765:43930798830398 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930798832106:43930798832792 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 -43930798833626:43930798834005 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 189 -43930798834744:43930798835090 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 188 -43930798835834:43930798836151 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43930798836888:43930798837268 26045:26045 hsa_signal_store_relaxed(, 189) = void -43930798838295:43930799398327 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930799411450:43930799412222 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930799415113:43930799416121 26045:26045 hsa_signal_destroy() = 0 -43930799417560:43930799418182 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930799428731:43930799429141 26045:26045 hsa_signal_destroy() = 0 -43930799430681:43930799432042 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 -43930799432922:43930799433392 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43930799434239:43930799434802 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 -43930799435564:43930799435936 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43930799436884:43930799437322 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43930799438453:43930799439093 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43930799439968:43930799440865 26045:26045 hsa_signal_create(1, , 0, 0x7f15277eb730) = 0 -43930799441703:43930799444159 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277eb6f0) = 0 -43930799445012:43930799446008 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 -43930799938233:43930799940923 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43930799942302:43930799942955 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43930799943911:43930799944383 26045:26051 hsa_signal_load_relaxed() = 1 -43930799446853:43930799945852 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43930799945193:43930799946492 26045:26051 hsa_signal_store_screlease(, 0) = void -43930799951036:43930799951498 26045:26051 hsa_signal_destroy() = 0 -43930800416184:43930800417044 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930815029955:43930815031077 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930815036769:43930815037757 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930815040005:43930815043713 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 -43930815044937:43930815045633 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43930815046450:43930815047410 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 -43930815048185:43930815048801 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43930815530554:43930815531301 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43930815533019:43930815533647 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43930815534681:43930815536121 26045:26045 hsa_signal_create(1, , 0, 0x7f15277eb790) = 0 -43930815537140:43930815540798 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277eb750) = 0 -43930815541802:43930815543893 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 -43930816016865:43930816030070 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43930816031715:43930816032372 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43930816033589:43930816034123 26045:26051 hsa_signal_load_relaxed() = 1 -43930815544772:43930816035752 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43930816035049:43930816036507 26045:26051 hsa_signal_store_screlease(, 0) = void -43930816037095:43930816037816 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930816037468:43930816038159 26045:26051 hsa_signal_destroy() = 0 -43930816054122:43930816063545 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43930816071735:43930816072447 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 190 -43930816073328:43930816073803 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 190 -43930816074898:43930816075507 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 -43930816076408:43930816076767 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43930816077941:43930816078536 26045:26045 hsa_signal_store_relaxed(, 190) = void -43930816080129:43930816080764 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43930816087074:43930816087704 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930816090027:43930816090646 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 -43930816095691:43930816096022 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 191 -43930816096766:43930816097110 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 190 -43930816098092:43930816098427 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43930816099182:43930816099579 26045:26045 hsa_signal_store_relaxed(, 191) = void -43930816100572:43930816647945 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930816663772:43930816665565 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930816668401:43930816669646 26045:26045 hsa_signal_destroy() = 0 -43930816680674:43930816681214 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930816682386:43930816682888 26045:26045 hsa_signal_destroy() = 0 -43930816684544:43930816686059 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 -43930816687146:43930816687746 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43930816688738:43930816689493 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 -43930816690381:43930816690829 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43930816691991:43930816692535 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43930816693924:43930816694754 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43930816695832:43930816696892 26045:26045 hsa_signal_create(1, , 0, 0x7f15277eb7f0) = 0 -43930816697905:43930816701088 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277eb7b0) = 0 -43930816702166:43930816703432 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 -43930817195584:43930817198164 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43930817199543:43930817200195 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43930817201228:43930817201712 26045:26051 hsa_signal_load_relaxed() = 1 -43930816704545:43930817203338 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43930817202519:43930817203775 26045:26051 hsa_signal_store_screlease(, 0) = void -43930817204613:43930817205077 26045:26051 hsa_signal_destroy() = 0 -43930817649160:43930817650005 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930832154027:43930832155049 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930832161502:43930832162698 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930832164907:43930832168591 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 -43930832175174:43930832176052 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43930832176890:43930832177921 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 -43930832188933:43930832189484 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43930832641137:43930832642188 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43930832644012:43930832644636 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43930832645676:43930832647730 26045:26045 hsa_signal_create(1, , 0, 0x7f15277eb850) = 0 -43930832648626:43930832653468 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277eb810) = 0 -43930832654475:43930832656511 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 -43930833123890:43930833126976 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43930833128541:43930833129187 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43930833130273:43930833130800 26045:26051 hsa_signal_load_relaxed() = 1 -43930832657289:43930833132302 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43930833131651:43930833133006 26045:26051 hsa_signal_store_screlease(, 0) = void -43930833133477:43930833134153 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930833133892:43930833134490 26045:26051 hsa_signal_destroy() = 0 -43930833152227:43930833152882 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43930833160341:43930833160908 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 192 -43930833161817:43930833162287 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 192 -43930833163198:43930833163807 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 -43930833164641:43930833165002 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43930833166136:43930833166744 26045:26045 hsa_signal_store_relaxed(, 192) = void -43930833168277:43930833168906 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43930833175001:43930833175636 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930833177935:43930833178499 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 -43930833179259:43930833179591 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 193 -43930833180348:43930833180678 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 192 -43930833181621:43930833181948 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43930833182702:43930833183083 26045:26045 hsa_signal_store_relaxed(, 193) = void -43930833185045:43930833740846 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930833754059:43930833754871 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930833757440:43930833758445 26045:26045 hsa_signal_destroy() = 0 -43930833759643:43930833760344 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930833770842:43930833771302 26045:26045 hsa_signal_destroy() = 0 -43930833772813:43930833774128 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 -43930833775019:43930833775474 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43930833776293:43930833776866 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 -43930833777614:43930833777987 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43930833778924:43930833779354 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43930833780483:43930833781118 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43930833782002:43930833782718 26045:26045 hsa_signal_create(1, , 0, 0x7f15277eb8b0) = 0 -43930833783566:43930833786280 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277eb870) = 0 -43930833787135:43930833788127 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 -43930834280192:43930834282672 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43930834284003:43930834284664 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43930834285644:43930834286122 26045:26051 hsa_signal_load_relaxed() = 1 -43930833788978:43930834287600 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43930834286940:43930834288164 26045:26051 hsa_signal_store_screlease(, 0) = void -43930834289006:43930834289470 26045:26051 hsa_signal_destroy() = 0 -43930834731736:43930834732569 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930849332794:43930849333843 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930849340086:43930849341141 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930849343387:43930849346609 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 -43930849347604:43930849348365 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43930849349248:43930849349884 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 -43930849350685:43930849351095 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43930849811631:43930849812482 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43930849814458:43930849815091 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43930849821505:43930849823134 26045:26045 hsa_signal_create(1, , 0, 0x7f15277eb910) = 0 -43930849824157:43930849828512 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277eb8d0) = 0 -43930849829454:43930849831350 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 -43930850297748:43930850300812 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43930850302381:43930850303040 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43930850304152:43930850304690 26045:26051 hsa_signal_load_relaxed() = 1 -43930849832310:43930850306191 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43930850305540:43930850306913 26045:26051 hsa_signal_store_screlease(, 0) = void -43930850307531:43930850308212 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930850307797:43930850308359 26045:26051 hsa_signal_destroy() = 0 -43930850324104:43930850324746 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43930850332186:43930850332787 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 194 -43930850333717:43930850334183 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 194 -43930850335103:43930850335723 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 -43930850336572:43930850336929 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43930850338075:43930850338682 26045:26045 hsa_signal_store_relaxed(, 194) = void -43930850340311:43930850340945 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43930850347114:43930850347744 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930850349962:43930850350617 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 -43930850351367:43930850351697 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 195 -43930850352434:43930850352780 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 194 -43930850353735:43930850354059 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43930850354821:43930850355205 26045:26045 hsa_signal_store_relaxed(, 195) = void -43930850356183:43930850918474 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930850931822:43930850932604 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930850935240:43930850936288 26045:26045 hsa_signal_destroy() = 0 -43930850937450:43930850938091 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930850948581:43930850949050 26045:26045 hsa_signal_destroy() = 0 -43930850952458:43930850953759 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 -43930850954644:43930850955115 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43930850955937:43930850956504 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 -43930850957249:43930850957622 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43930850958549:43930850958987 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43930850960132:43930850960779 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43930850961664:43930850962520 26045:26045 hsa_signal_create(1, , 0, 0x7f15277eb970) = 0 -43930850963368:43930850965877 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277eb930) = 0 -43930850966725:43930850967744 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 -43930851460241:43930851462782 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43930851464120:43930851464777 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43930851465725:43930851466214 26045:26051 hsa_signal_load_relaxed() = 1 -43930850968592:43930851467672 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43930851467020:43930851468395 26045:26051 hsa_signal_store_screlease(, 0) = void -43930851469240:43930851469699 26045:26051 hsa_signal_destroy() = 0 -43930851910007:43930851910803 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930866543339:43930866544408 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930866550199:43930866551393 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930866553300:43930866556284 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 -43930866557398:43930866558140 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43930866558967:43930866559635 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 -43930866560420:43930866560890 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43930867028092:43930867028846 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43930867030690:43930867031317 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43930867032532:43930867034072 26045:26045 hsa_signal_create(1, , 0, 0x7f15277eb9d0) = 0 -43930867035091:43930867039275 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277eb990) = 0 -43930867040263:43930867042240 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 -43930867509801:43930867513108 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43930867514585:43930867515227 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43930867521076:43930867521608 26045:26051 hsa_signal_load_relaxed() = 1 -43930867043108:43930867523103 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43930867522470:43930867523868 26045:26051 hsa_signal_store_screlease(, 0) = void -43930867524473:43930867525152 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930867524751:43930867525389 26045:26051 hsa_signal_destroy() = 0 -43930867541713:43930867542368 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43930867549953:43930867550583 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 196 -43930867551465:43930867551936 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 196 -43930867552901:43930867553506 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 -43930867554338:43930867554697 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43930867555810:43930867556412 26045:26045 hsa_signal_store_relaxed(, 196) = void -43930867557988:43930867558619 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43930867564516:43930867565148 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930867567505:43930867568134 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 -43930867568900:43930867569236 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 197 -43930867569988:43930867570336 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 196 -43930867571267:43930867571587 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43930867572356:43930867572740 26045:26045 hsa_signal_store_relaxed(, 197) = void -43930867573713:43930868131529 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930868145805:43930868146633 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930868149609:43930868150669 26045:26045 hsa_signal_destroy() = 0 -43930868161325:43930868161769 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930868162744:43930868163163 26045:26045 hsa_signal_destroy() = 0 -43930868164599:43930868166005 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 -43930868166927:43930868167427 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43930868168268:43930868168868 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 -43930868169854:43930868170250 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43930868171236:43930868171706 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43930868175794:43930868176493 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43930868177451:43930868178280 26045:26045 hsa_signal_create(1, , 0, 0x7f15277eba30) = 0 -43930868179173:43930868182096 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277eb9f0) = 0 -43930868182977:43930868184214 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 -43930868637198:43930868639805 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43930868641175:43930868641862 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43930868642888:43930868643400 26045:26051 hsa_signal_load_relaxed() = 1 -43930868185112:43930868644857 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43930868644249:43930868645600 26045:26051 hsa_signal_store_screlease(, 0) = void -43930868646498:43930868646979 26045:26051 hsa_signal_destroy() = 0 -43930869089420:43930869090188 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930883713016:43930883714116 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930883720278:43930883721400 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930883723484:43930883726142 26045:26045 hsa_amd_pointer_info(0x903200000, 0x7fffcdc387d0, 0, , 0) = 0 -43930883727267:43930883727974 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43930883728816:43930883729545 26045:26045 hsa_amd_pointer_info(0x215b170, 0x7fffcdc38530, 0, , 0) = 0 -43930883730324:43930883730728 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43930884181728:43930884182606 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43930884184895:43930884185522 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43930884186777:43930884188668 26045:26045 hsa_signal_create(1, , 0, 0x7f15277eba90) = 0 -43930884189764:43930884194590 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277eba50) = 0 -43930884195597:43930884197509 26045:26045 hsa_amd_memory_async_copy(0x903200000, , 0x904200000, , , , 0, ) = 0 -43930884664865:43930884667986 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43930884669488:43930884670146 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43930884671321:43930884671857 26045:26051 hsa_signal_load_relaxed() = 1 -43930884198389:43930884673427 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43930884672752:43930884674161 26045:26051 hsa_signal_store_screlease(, 0) = void -43930884674703:43930884675442 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930884675111:43930884675748 26045:26051 hsa_signal_destroy() = 0 -43930884692652:43930884693293 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43930884701303:43930884701976 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 198 -43930884702862:43930884703595 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 198 -43930884704556:43930884705174 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc380e8) = 0 -43930884706017:43930884706388 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43930884707535:43930884708155 26045:26045 hsa_signal_store_relaxed(, 198) = void -43930884709760:43930884710388 26045:26045 hsa_system_get_info(2, 0x7fffcdc38420) = 0 -43930884716875:43930884717507 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930884719880:43930884720522 26045:26045 hsa_signal_create(1, , 0, 0x7fffcdc38270) = 0 -43930884721280:43930884721617 26045:26045 hsa_queue_load_write_index_relaxed(0x3c2a000) = 199 -43930884722358:43930884722691 26045:26045 hsa_queue_load_read_index_scacquire(0x3c2a000) = 198 -43930884723657:43930884723981 26045:26045 hsa_queue_store_write_index_relaxed(0x3c2a000, ) = void -43930884724735:43930884725116 26045:26045 hsa_signal_store_relaxed(, 199) = void -43930884726052:43930885276478 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930885290900:43930885291757 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930885294439:43930885295490 26045:26045 hsa_signal_destroy() = 0 -43930885306292:43930885306782 26045:26045 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43930885307804:43930885308279 26045:26045 hsa_signal_destroy() = 0 -43930885309720:43930885311121 26045:26045 hsa_amd_pointer_info(0x903a00000, 0x7fffcdc387a0, 0, , 0) = 0 -43930885312048:43930885312542 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38600) = 0 -43930885313377:43930885314023 26045:26045 hsa_amd_pointer_info(0x255b180, 0x7fffcdc38530, 0, , 0) = 0 -43930885314810:43930885315204 26045:26045 hsa_agent_get_info(, 17, 0x7fffcdc38524) = 0 -43930885316227:43930885316688 26045:26045 hsa_signal_silent_store_relaxed(, 1) = void -43930885317885:43930885318559 26045:26045 hsa_system_get_info(2, 0x7fffcdc380e8) = 0 -43930885319488:43930885320515 26045:26045 hsa_signal_create(1, , 0, 0x7f15277ebaf0) = 0 -43930885321404:43930885323970 26045:26045 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f15277ebab0) = 0 -43930885324862:43930885325965 26045:26045 hsa_amd_memory_async_copy(0x904200000, , 0x903a00000, , , , 0, ) = 0 -43930885778413:43930885780886 26045:26051 hsa_amd_profiling_get_async_copy_time(, 0x7f15277e5ac0) = 0 -43930885784299:43930885785000 26045:26051 hsa_system_get_info(2, 0x7f15277e5a28) = 0 -43930885786014:43930885786523 26045:26051 hsa_signal_load_relaxed() = 1 -43930885326868:43930885787958 26045:26045 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43930885787376:43930885788701 26045:26051 hsa_signal_store_screlease(, 0) = void -43930885789571:43930885790057 26045:26051 hsa_signal_destroy() = 0 -43930886236287:43930886237037 26045:26045 hsa_system_get_info(2, 0x7fffcdc385f0) = 0 -43930900876627:43930900877694 26045:26045 hsa_system_get_info(2, 0x7fffcdc385c0) = 0 -43930900900578:43930900901377 26045:26045 hsa_signal_load_scacquire() = 0 -43930900904849:43930900954068 26045:26045 hsa_amd_memory_pool_free(0x903200000) = 0 -43930900959303:43930900959949 26045:26045 hsa_system_get_info(2, 0x7fffcdc385c0) = 0 -43930900963250:43930900963872 26045:26045 hsa_system_get_info(2, 0x7fffcdc385c0) = 0 -43930900965827:43930900966275 26045:26045 hsa_signal_load_scacquire() = 0 -43930900967345:43930900979982 26045:26045 hsa_amd_memory_pool_free(0x903a00000) = 0 -43930900981956:43930900982600 26045:26045 hsa_system_get_info(2, 0x7fffcdc385c0) = 0 -43930900992150:43930901231079 26045:26045 hsa_memory_free(0x904200000) = 0 -43930901242424:43930901257455 26045:26045 hsa_code_object_reader_destroy() = 0 -43930901258660:43930901260807 26045:26045 hsa_code_object_reader_destroy() = 0 -43930901261981:43930901263956 26045:26045 hsa_code_object_reader_destroy() = 0 -43930901265103:43930901266987 26045:26045 hsa_code_object_reader_destroy() = 0 -43930901268025:43930901269897 26045:26045 hsa_code_object_reader_destroy() = 0 -43930901271209:43930901287661 26045:26045 hsa_code_object_reader_destroy() = 0 -43930901289066:43930901291065 26045:26045 hsa_code_object_reader_destroy() = 0 -43930901292187:43930901294080 26045:26045 hsa_code_object_reader_destroy() = 0 -43930901295324:43930901310566 26045:26045 hsa_code_object_reader_destroy() = 0 -43930901311824:43930901313632 26045:26045 hsa_code_object_reader_destroy() = 0 -43930901314684:43930901316553 26045:26045 hsa_code_object_reader_destroy() = 0 -43930901317986:43930901319851 26045:26045 hsa_code_object_reader_destroy() = 0 -43930901320976:43930901322856 26045:26045 hsa_code_object_reader_destroy() = 0 -43930901325410:43930901327354 26045:26045 hsa_code_object_reader_destroy() = 0 -43930901331388:43930901333602 26045:26045 hsa_code_object_reader_destroy() = 0 -43930901334994:43930901336924 26045:26045 hsa_code_object_reader_destroy() = 0 -43930901338016:43930901339898 26045:26045 hsa_code_object_reader_destroy() = 0 -43930901341282:43930901343175 26045:26045 hsa_code_object_reader_destroy() = 0 -43930901344244:43930901346491 26045:26045 hsa_code_object_reader_destroy() = 0 -43930901347522:43930901349474 26045:26045 hsa_code_object_reader_destroy() = 0 -43930901350739:43930901352606 26045:26045 hsa_code_object_reader_destroy() = 0 -43930901353799:43930901355657 26045:26045 hsa_code_object_reader_destroy() = 0 -43928832193607 26045:26045 0:"before hipLaunchKernel" -43928832254079 26045:26045 1:"hipLaunchKernel" -43929124521706 26045:26045 0:"after hipLaunchKernel" -43929124523355 26045:26045 1:"hipMemcpy" -43929127425092 26045:26045 2:"" -43929127430877 26045:26045 2:"" -43929142896327 26045:26045 0:"before hipLaunchKernel" -43929142897888 26045:26045 1:"hipLaunchKernel" -43929142933064 26045:26045 0:"after hipLaunchKernel" -43929142934002 26045:26045 1:"hipMemcpy" -43929145770309 26045:26045 2:"" -43929145772193 26045:26045 2:"" -43929161272883 26045:26045 0:"before hipLaunchKernel" -43929161274321 26045:26045 1:"hipLaunchKernel" -43929161301880 26045:26045 0:"after hipLaunchKernel" -43929161302792 26045:26045 1:"hipMemcpy" -43929164151033 26045:26045 2:"" -43929164152709 26045:26045 2:"" -43929179625675 26045:26045 0:"before hipLaunchKernel" -43929179627384 26045:26045 1:"hipLaunchKernel" -43929179653473 26045:26045 0:"after hipLaunchKernel" -43929179654404 26045:26045 1:"hipMemcpy" -43929182558700 26045:26045 2:"" -43929182560875 26045:26045 2:"" -43929198157220 26045:26045 0:"before hipLaunchKernel" -43929198158716 26045:26045 1:"hipLaunchKernel" -43929198190235 26045:26045 0:"after hipLaunchKernel" -43929198191170 26045:26045 1:"hipMemcpy" -43929201093127 26045:26045 2:"" -43929201095060 26045:26045 2:"" -43929216711146 26045:26045 0:"before hipLaunchKernel" -43929216712762 26045:26045 1:"hipLaunchKernel" -43929216742381 26045:26045 0:"after hipLaunchKernel" -43929216743300 26045:26045 1:"hipMemcpy" -43929219646747 26045:26045 2:"" -43929219648786 26045:26045 2:"" -43929235194800 26045:26045 0:"before hipLaunchKernel" -43929235196446 26045:26045 1:"hipLaunchKernel" -43929235226447 26045:26045 0:"after hipLaunchKernel" -43929235227595 26045:26045 1:"hipMemcpy" -43929238133106 26045:26045 2:"" -43929238134957 26045:26045 2:"" -43929253704257 26045:26045 0:"before hipLaunchKernel" -43929253705836 26045:26045 1:"hipLaunchKernel" -43929253740496 26045:26045 0:"after hipLaunchKernel" -43929253741459 26045:26045 1:"hipMemcpy" -43929256644851 26045:26045 2:"" -43929256646907 26045:26045 2:"" -43929272233006 26045:26045 0:"before hipLaunchKernel" -43929272234772 26045:26045 1:"hipLaunchKernel" -43929272265430 26045:26045 0:"after hipLaunchKernel" -43929272266366 26045:26045 1:"hipMemcpy" -43929275175881 26045:26045 2:"" -43929275177993 26045:26045 2:"" -43929290795395 26045:26045 0:"before hipLaunchKernel" -43929290796887 26045:26045 1:"hipLaunchKernel" -43929290827113 26045:26045 0:"after hipLaunchKernel" -43929290828070 26045:26045 1:"hipMemcpy" -43929293735628 26045:26045 2:"" -43929293737757 26045:26045 2:"" -43929309319919 26045:26045 0:"before hipLaunchKernel" -43929309321609 26045:26045 1:"hipLaunchKernel" -43929309353699 26045:26045 0:"after hipLaunchKernel" -43929309354671 26045:26045 1:"hipMemcpy" -43929312251687 26045:26045 2:"" -43929312253280 26045:26045 2:"" -43929327884128 26045:26045 0:"before hipLaunchKernel" -43929327885569 26045:26045 1:"hipLaunchKernel" -43929327911714 26045:26045 0:"after hipLaunchKernel" -43929327912722 26045:26045 1:"hipMemcpy" -43929330818254 26045:26045 2:"" -43929330820334 26045:26045 2:"" -43929346422291 26045:26045 0:"before hipLaunchKernel" -43929346423844 26045:26045 1:"hipLaunchKernel" -43929346458518 26045:26045 0:"after hipLaunchKernel" -43929346459504 26045:26045 1:"hipMemcpy" -43929349366693 26045:26045 2:"" -43929349369028 26045:26045 2:"" -43929364951532 26045:26045 0:"before hipLaunchKernel" -43929364953078 26045:26045 1:"hipLaunchKernel" -43929364989197 26045:26045 0:"after hipLaunchKernel" -43929364990197 26045:26045 1:"hipMemcpy" -43929367893483 26045:26045 2:"" -43929367895604 26045:26045 2:"" -43929383535687 26045:26045 0:"before hipLaunchKernel" -43929383537196 26045:26045 1:"hipLaunchKernel" -43929383567713 26045:26045 0:"after hipLaunchKernel" -43929383568677 26045:26045 1:"hipMemcpy" -43929386470015 26045:26045 2:"" -43929386472123 26045:26045 2:"" -43929402073281 26045:26045 0:"before hipLaunchKernel" -43929402074756 26045:26045 1:"hipLaunchKernel" -43929402106471 26045:26045 0:"after hipLaunchKernel" -43929402107560 26045:26045 1:"hipMemcpy" -43929403671863 26045:26045 2:"" -43929403673824 26045:26045 2:"" -43929419273645 26045:26045 0:"before hipLaunchKernel" -43929419275165 26045:26045 1:"hipLaunchKernel" -43929419305590 26045:26045 0:"after hipLaunchKernel" -43929419306573 26045:26045 1:"hipMemcpy" -43929420885361 26045:26045 2:"" -43929420887529 26045:26045 2:"" -43929436479739 26045:26045 0:"before hipLaunchKernel" -43929436484340 26045:26045 1:"hipLaunchKernel" -43929436514902 26045:26045 0:"after hipLaunchKernel" -43929436515829 26045:26045 1:"hipMemcpy" -43929438082158 26045:26045 2:"" -43929438084328 26045:26045 2:"" -43929453741570 26045:26045 0:"before hipLaunchKernel" -43929453743125 26045:26045 1:"hipLaunchKernel" -43929453777848 26045:26045 0:"after hipLaunchKernel" -43929453778818 26045:26045 1:"hipMemcpy" -43929455346736 26045:26045 2:"" -43929455348833 26045:26045 2:"" -43929470969868 26045:26045 0:"before hipLaunchKernel" -43929470971374 26045:26045 1:"hipLaunchKernel" -43929471007008 26045:26045 0:"after hipLaunchKernel" -43929471007981 26045:26045 1:"hipMemcpy" -43929472569751 26045:26045 2:"" -43929472571969 26045:26045 2:"" -43929488168118 26045:26045 0:"before hipLaunchKernel" -43929488169673 26045:26045 1:"hipLaunchKernel" -43929488200412 26045:26045 0:"after hipLaunchKernel" -43929488201367 26045:26045 1:"hipMemcpy" -43929489770585 26045:26045 2:"" -43929489772702 26045:26045 2:"" -43929505392720 26045:26045 0:"before hipLaunchKernel" -43929505394401 26045:26045 1:"hipLaunchKernel" -43929505425676 26045:26045 0:"after hipLaunchKernel" -43929505426590 26045:26045 1:"hipMemcpy" -43929506983830 26045:26045 2:"" -43929506985382 26045:26045 2:"" -43929522586814 26045:26045 0:"before hipLaunchKernel" -43929522588177 26045:26045 1:"hipLaunchKernel" -43929522615542 26045:26045 0:"after hipLaunchKernel" -43929522616473 26045:26045 1:"hipMemcpy" -43929524184116 26045:26045 2:"" -43929524185475 26045:26045 2:"" -43929539822508 26045:26045 0:"before hipLaunchKernel" -43929539823866 26045:26045 1:"hipLaunchKernel" -43929539850420 26045:26045 0:"after hipLaunchKernel" -43929539851399 26045:26045 1:"hipMemcpy" -43929541403539 26045:26045 2:"" -43929541404906 26045:26045 2:"" -43929557032699 26045:26045 0:"before hipLaunchKernel" -43929557034105 26045:26045 1:"hipLaunchKernel" -43929557065634 26045:26045 0:"after hipLaunchKernel" -43929557066518 26045:26045 1:"hipMemcpy" -43929558637687 26045:26045 2:"" -43929558639733 26045:26045 2:"" -43929574274586 26045:26045 0:"before hipLaunchKernel" -43929574276149 26045:26045 1:"hipLaunchKernel" -43929574306658 26045:26045 0:"after hipLaunchKernel" -43929574307649 26045:26045 1:"hipMemcpy" -43929575873835 26045:26045 2:"" -43929575876024 26045:26045 2:"" -43929591496089 26045:26045 0:"before hipLaunchKernel" -43929591497605 26045:26045 1:"hipLaunchKernel" -43929591527628 26045:26045 0:"after hipLaunchKernel" -43929591528597 26045:26045 1:"hipMemcpy" -43929593087544 26045:26045 2:"" -43929593089687 26045:26045 2:"" -43929608735327 26045:26045 0:"before hipLaunchKernel" -43929608737014 26045:26045 1:"hipLaunchKernel" -43929608767635 26045:26045 0:"after hipLaunchKernel" -43929608768725 26045:26045 1:"hipMemcpy" -43929610286709 26045:26045 2:"" -43929610288984 26045:26045 2:"" -43929625868476 26045:26045 0:"before hipLaunchKernel" -43929625870049 26045:26045 1:"hipLaunchKernel" -43929625900726 26045:26045 0:"after hipLaunchKernel" -43929625901694 26045:26045 1:"hipMemcpy" -43929627432888 26045:26045 2:"" -43929627435056 26045:26045 2:"" -43929643007691 26045:26045 0:"before hipLaunchKernel" -43929643009222 26045:26045 1:"hipLaunchKernel" -43929643039912 26045:26045 0:"after hipLaunchKernel" -43929643040818 26045:26045 1:"hipMemcpy" -43929644566834 26045:26045 2:"" -43929644568970 26045:26045 2:"" -43929660133204 26045:26045 0:"before hipLaunchKernel" -43929660134719 26045:26045 1:"hipLaunchKernel" -43929660168831 26045:26045 0:"after hipLaunchKernel" -43929660169813 26045:26045 1:"hipMemcpy" -43929661687944 26045:26045 2:"" -43929661689400 26045:26045 2:"" -43929677246668 26045:26045 0:"before hipLaunchKernel" -43929677248146 26045:26045 1:"hipLaunchKernel" -43929677278969 26045:26045 0:"after hipLaunchKernel" -43929677279968 26045:26045 1:"hipMemcpy" -43929678792393 26045:26045 2:"" -43929678793871 26045:26045 2:"" -43929694359618 26045:26045 0:"before hipLaunchKernel" -43929694360998 26045:26045 1:"hipLaunchKernel" -43929694386733 26045:26045 0:"after hipLaunchKernel" -43929694387663 26045:26045 1:"hipMemcpy" -43929695901459 26045:26045 2:"" -43929695903058 26045:26045 2:"" -43929711475673 26045:26045 0:"before hipLaunchKernel" -43929711477249 26045:26045 1:"hipLaunchKernel" -43929711503852 26045:26045 0:"after hipLaunchKernel" -43929711504784 26045:26045 1:"hipMemcpy" -43929713046409 26045:26045 2:"" -43929713048577 26045:26045 2:"" -43929728632152 26045:26045 0:"before hipLaunchKernel" -43929728636899 26045:26045 1:"hipLaunchKernel" -43929728667974 26045:26045 0:"after hipLaunchKernel" -43929728668976 26045:26045 1:"hipMemcpy" -43929730224178 26045:26045 2:"" -43929730226321 26045:26045 2:"" -43929745858157 26045:26045 0:"before hipLaunchKernel" -43929745859610 26045:26045 1:"hipLaunchKernel" -43929745890124 26045:26045 0:"after hipLaunchKernel" -43929745891166 26045:26045 1:"hipMemcpy" -43929747459653 26045:26045 2:"" -43929747461600 26045:26045 2:"" -43929763118598 26045:26045 0:"before hipLaunchKernel" -43929763120128 26045:26045 1:"hipLaunchKernel" -43929763155687 26045:26045 0:"after hipLaunchKernel" -43929763156749 26045:26045 1:"hipMemcpy" -43929766060436 26045:26045 2:"" -43929766062851 26045:26045 2:"" -43929781652299 26045:26045 0:"before hipLaunchKernel" -43929781653799 26045:26045 1:"hipLaunchKernel" -43929781683928 26045:26045 0:"after hipLaunchKernel" -43929781684850 26045:26045 1:"hipMemcpy" -43929784588087 26045:26045 2:"" -43929784590095 26045:26045 2:"" -43929800174289 26045:26045 0:"before hipLaunchKernel" -43929800175838 26045:26045 1:"hipLaunchKernel" -43929800206730 26045:26045 0:"after hipLaunchKernel" -43929800207750 26045:26045 1:"hipMemcpy" -43929803115544 26045:26045 2:"" -43929803117559 26045:26045 2:"" -43929818741754 26045:26045 0:"before hipLaunchKernel" -43929818743345 26045:26045 1:"hipLaunchKernel" -43929818773702 26045:26045 0:"after hipLaunchKernel" -43929818774878 26045:26045 1:"hipMemcpy" -43929821684815 26045:26045 2:"" -43929821686976 26045:26045 2:"" -43929837338319 26045:26045 0:"before hipLaunchKernel" -43929837339808 26045:26045 1:"hipLaunchKernel" -43929837370789 26045:26045 0:"after hipLaunchKernel" -43929837371713 26045:26045 1:"hipMemcpy" -43929840274498 26045:26045 2:"" -43929840276625 26045:26045 2:"" -43929855819333 26045:26045 0:"before hipLaunchKernel" -43929855820808 26045:26045 1:"hipLaunchKernel" -43929855857689 26045:26045 0:"after hipLaunchKernel" -43929855858624 26045:26045 1:"hipMemcpy" -43929858766013 26045:26045 2:"" -43929858768100 26045:26045 2:"" -43929874395676 26045:26045 0:"before hipLaunchKernel" -43929874397277 26045:26045 1:"hipLaunchKernel" -43929874434179 26045:26045 0:"after hipLaunchKernel" -43929874435284 26045:26045 1:"hipMemcpy" -43929877345306 26045:26045 2:"" -43929877347256 26045:26045 2:"" -43929892979729 26045:26045 0:"before hipLaunchKernel" -43929892981260 26045:26045 1:"hipLaunchKernel" -43929893012682 26045:26045 0:"after hipLaunchKernel" -43929893013686 26045:26045 1:"hipMemcpy" -43929895904381 26045:26045 2:"" -43929895906569 26045:26045 2:"" -43929911483586 26045:26045 0:"before hipLaunchKernel" -43929911485265 26045:26045 1:"hipLaunchKernel" -43929911515352 26045:26045 0:"after hipLaunchKernel" -43929911516398 26045:26045 1:"hipMemcpy" -43929914425975 26045:26045 2:"" -43929914428034 26045:26045 2:"" -43929930131890 26045:26045 0:"before hipLaunchKernel" -43929930133421 26045:26045 1:"hipLaunchKernel" -43929930164349 26045:26045 0:"after hipLaunchKernel" -43929930165349 26045:26045 1:"hipMemcpy" -43929933072634 26045:26045 2:"" -43929933074673 26045:26045 2:"" -43929948662241 26045:26045 0:"before hipLaunchKernel" -43929948663847 26045:26045 1:"hipLaunchKernel" -43929948694263 26045:26045 0:"after hipLaunchKernel" -43929948695229 26045:26045 1:"hipMemcpy" -43929951600521 26045:26045 2:"" -43929951602673 26045:26045 2:"" -43929967197643 26045:26045 0:"before hipLaunchKernel" -43929967199124 26045:26045 1:"hipLaunchKernel" -43929967233235 26045:26045 0:"after hipLaunchKernel" -43929967234209 26045:26045 1:"hipMemcpy" -43929970137448 26045:26045 2:"" -43929970139612 26045:26045 2:"" -43929985785961 26045:26045 0:"before hipLaunchKernel" -43929985787490 26045:26045 1:"hipLaunchKernel" -43929985823835 26045:26045 0:"after hipLaunchKernel" -43929985824825 26045:26045 1:"hipMemcpy" -43929988725928 26045:26045 2:"" -43929988728283 26045:26045 2:"" -43930004349887 26045:26045 0:"before hipLaunchKernel" -43930004351386 26045:26045 1:"hipLaunchKernel" -43930004382219 26045:26045 0:"after hipLaunchKernel" -43930004383291 26045:26045 1:"hipMemcpy" -43930007280993 26045:26045 2:"" -43930007283345 26045:26045 2:"" -43930022896173 26045:26045 0:"before hipLaunchKernel" -43930022897734 26045:26045 1:"hipLaunchKernel" -43930022927729 26045:26045 0:"after hipLaunchKernel" -43930022928780 26045:26045 1:"hipMemcpy" -43930024459209 26045:26045 2:"" -43930024461258 26045:26045 2:"" -43930040069665 26045:26045 0:"before hipLaunchKernel" -43930040072294 26045:26045 1:"hipLaunchKernel" -43930040111698 26045:26045 0:"after hipLaunchKernel" -43930040112679 26045:26045 1:"hipMemcpy" -43930041644042 26045:26045 2:"" -43930041646001 26045:26045 2:"" -43930057260250 26045:26045 0:"before hipLaunchKernel" -43930057261700 26045:26045 1:"hipLaunchKernel" -43930057292448 26045:26045 0:"after hipLaunchKernel" -43930057293488 26045:26045 1:"hipMemcpy" -43930058825865 26045:26045 2:"" -43930058828078 26045:26045 2:"" -43930074407587 26045:26045 0:"before hipLaunchKernel" -43930074409118 26045:26045 1:"hipLaunchKernel" -43930074441274 26045:26045 0:"after hipLaunchKernel" -43930074442217 26045:26045 1:"hipMemcpy" -43930075966817 26045:26045 2:"" -43930075968848 26045:26045 2:"" -43930091553203 26045:26045 0:"before hipLaunchKernel" -43930091554719 26045:26045 1:"hipLaunchKernel" -43930091589521 26045:26045 0:"after hipLaunchKernel" -43930091590505 26045:26045 1:"hipMemcpy" -43930093155690 26045:26045 2:"" -43930093157814 26045:26045 2:"" -43930108754327 26045:26045 0:"before hipLaunchKernel" -43930108755859 26045:26045 1:"hipLaunchKernel" -43930108786925 26045:26045 0:"after hipLaunchKernel" -43930108787985 26045:26045 1:"hipMemcpy" -43930110349201 26045:26045 2:"" -43930110350914 26045:26045 2:"" -43930125986118 26045:26045 0:"before hipLaunchKernel" -43930125987570 26045:26045 1:"hipLaunchKernel" -43930126014238 26045:26045 0:"after hipLaunchKernel" -43930126015132 26045:26045 1:"hipMemcpy" -43930127545043 26045:26045 2:"" -43930127546528 26045:26045 2:"" -43930143173713 26045:26045 0:"before hipLaunchKernel" -43930143175221 26045:26045 1:"hipLaunchKernel" -43930143201136 26045:26045 0:"after hipLaunchKernel" -43930143202010 26045:26045 1:"hipMemcpy" -43930144772462 26045:26045 2:"" -43930144773826 26045:26045 2:"" -43930160396876 26045:26045 0:"before hipLaunchKernel" -43930160398282 26045:26045 1:"hipLaunchKernel" -43930160425391 26045:26045 0:"after hipLaunchKernel" -43930160426311 26045:26045 1:"hipMemcpy" -43930161977584 26045:26045 2:"" -43930161979129 26045:26045 2:"" -43930177570521 26045:26045 0:"before hipLaunchKernel" -43930177572023 26045:26045 1:"hipLaunchKernel" -43930177601781 26045:26045 0:"after hipLaunchKernel" -43930177602735 26045:26045 1:"hipMemcpy" -43930179158168 26045:26045 2:"" -43930179159709 26045:26045 2:"" -43930194765029 26045:26045 0:"before hipLaunchKernel" -43930194766545 26045:26045 1:"hipLaunchKernel" -43930194792262 26045:26045 0:"after hipLaunchKernel" -43930194793140 26045:26045 1:"hipMemcpy" -43930196373084 26045:26045 2:"" -43930196374529 26045:26045 2:"" -43930212007918 26045:26045 0:"before hipLaunchKernel" -43930212019699 26045:26045 1:"hipLaunchKernel" -43930212054865 26045:26045 0:"after hipLaunchKernel" -43930212055779 26045:26045 1:"hipMemcpy" -43930213611304 26045:26045 2:"" -43930213612822 26045:26045 2:"" -43930229243573 26045:26045 0:"before hipLaunchKernel" -43930229245030 26045:26045 1:"hipLaunchKernel" -43930229269745 26045:26045 0:"after hipLaunchKernel" -43930229270692 26045:26045 1:"hipMemcpy" -43930230829751 26045:26045 2:"" -43930230831097 26045:26045 2:"" -43930246458629 26045:26045 0:"before hipLaunchKernel" -43930246460054 26045:26045 1:"hipLaunchKernel" -43930246485626 26045:26045 0:"after hipLaunchKernel" -43930246486521 26045:26045 1:"hipMemcpy" -43930248046816 26045:26045 2:"" -43930248048250 26045:26045 2:"" -43930263655993 26045:26045 0:"before hipLaunchKernel" -43930263657388 26045:26045 1:"hipLaunchKernel" -43930263682554 26045:26045 0:"after hipLaunchKernel" -43930263683542 26045:26045 1:"hipMemcpy" -43930265247741 26045:26045 2:"" -43930265249277 26045:26045 2:"" -43930280856326 26045:26045 0:"before hipLaunchKernel" -43930280857801 26045:26045 1:"hipLaunchKernel" -43930280886503 26045:26045 0:"after hipLaunchKernel" -43930280887369 26045:26045 1:"hipMemcpy" -43930282444821 26045:26045 2:"" -43930282446285 26045:26045 2:"" -43930298090321 26045:26045 0:"before hipLaunchKernel" -43930298092103 26045:26045 1:"hipLaunchKernel" -43930298116973 26045:26045 0:"after hipLaunchKernel" -43930298117938 26045:26045 1:"hipMemcpy" -43930299669308 26045:26045 2:"" -43930299670856 26045:26045 2:"" -43930315313897 26045:26045 0:"before hipLaunchKernel" -43930315315289 26045:26045 1:"hipLaunchKernel" -43930315341179 26045:26045 0:"after hipLaunchKernel" -43930315342198 26045:26045 1:"hipMemcpy" -43930316917231 26045:26045 2:"" -43930316918768 26045:26045 2:"" -43930332538930 26045:26045 0:"before hipLaunchKernel" -43930332540349 26045:26045 1:"hipLaunchKernel" -43930332566099 26045:26045 0:"after hipLaunchKernel" -43930332567031 26045:26045 1:"hipMemcpy" -43930334125323 26045:26045 2:"" -43930334126840 26045:26045 2:"" -43930349739119 26045:26045 0:"before hipLaunchKernel" -43930349740609 26045:26045 1:"hipLaunchKernel" -43930349767422 26045:26045 0:"after hipLaunchKernel" -43930349768343 26045:26045 1:"hipMemcpy" -43930351320046 26045:26045 2:"" -43930351321561 26045:26045 2:"" -43930366930647 26045:26045 0:"before hipLaunchKernel" -43930366932148 26045:26045 1:"hipLaunchKernel" -43930366957373 26045:26045 0:"after hipLaunchKernel" -43930366958376 26045:26045 1:"hipMemcpy" -43930368469307 26045:26045 2:"" -43930368470646 26045:26045 2:"" -43930384035305 26045:26045 0:"before hipLaunchKernel" -43930384036703 26045:26045 1:"hipLaunchKernel" -43930384067482 26045:26045 0:"after hipLaunchKernel" -43930384068444 26045:26045 1:"hipMemcpy" -43930386958031 26045:26045 2:"" -43930386959502 26045:26045 2:"" -43930402598865 26045:26045 0:"before hipLaunchKernel" -43930402600313 26045:26045 1:"hipLaunchKernel" -43930402625918 26045:26045 0:"after hipLaunchKernel" -43930402626806 26045:26045 1:"hipMemcpy" -43930405513676 26045:26045 2:"" -43930405515127 26045:26045 2:"" -43930421147649 26045:26045 0:"before hipLaunchKernel" -43930421149289 26045:26045 1:"hipLaunchKernel" -43930421174349 26045:26045 0:"after hipLaunchKernel" -43930421175281 26045:26045 1:"hipMemcpy" -43930424088220 26045:26045 2:"" -43930424089561 26045:26045 2:"" -43930439633513 26045:26045 0:"before hipLaunchKernel" -43930439634923 26045:26045 1:"hipLaunchKernel" -43930439659247 26045:26045 0:"after hipLaunchKernel" -43930439660284 26045:26045 1:"hipMemcpy" -43930442559969 26045:26045 2:"" -43930442562027 26045:26045 2:"" -43930458239408 26045:26045 0:"before hipLaunchKernel" -43930458241184 26045:26045 1:"hipLaunchKernel" -43930458273084 26045:26045 0:"after hipLaunchKernel" -43930458274113 26045:26045 1:"hipMemcpy" -43930461175581 26045:26045 2:"" -43930461177594 26045:26045 2:"" -43930476765487 26045:26045 0:"before hipLaunchKernel" -43930476766975 26045:26045 1:"hipLaunchKernel" -43930476800524 26045:26045 0:"after hipLaunchKernel" -43930476801447 26045:26045 1:"hipMemcpy" -43930479696832 26045:26045 2:"" -43930479698975 26045:26045 2:"" -43930495301605 26045:26045 0:"before hipLaunchKernel" -43930495303204 26045:26045 1:"hipLaunchKernel" -43930495339346 26045:26045 0:"after hipLaunchKernel" -43930495340321 26045:26045 1:"hipMemcpy" -43930498228736 26045:26045 2:"" -43930498230716 26045:26045 2:"" -43930513868153 26045:26045 0:"before hipLaunchKernel" -43930513869871 26045:26045 1:"hipLaunchKernel" -43930513900422 26045:26045 0:"after hipLaunchKernel" -43930513901489 26045:26045 1:"hipMemcpy" -43930516804990 26045:26045 2:"" -43930516807000 26045:26045 2:"" -43930532441156 26045:26045 0:"before hipLaunchKernel" -43930532442597 26045:26045 1:"hipLaunchKernel" -43930532473098 26045:26045 0:"after hipLaunchKernel" -43930532474123 26045:26045 1:"hipMemcpy" -43930535372955 26045:26045 2:"" -43930535375077 26045:26045 2:"" -43930550945455 26045:26045 0:"before hipLaunchKernel" -43930550946913 26045:26045 1:"hipLaunchKernel" -43930550977467 26045:26045 0:"after hipLaunchKernel" -43930550978505 26045:26045 1:"hipMemcpy" -43930553878320 26045:26045 2:"" -43930553880569 26045:26045 2:"" -43930569598287 26045:26045 0:"before hipLaunchKernel" -43930569599851 26045:26045 1:"hipLaunchKernel" -43930569632200 26045:26045 0:"after hipLaunchKernel" -43930569633255 26045:26045 1:"hipMemcpy" -43930572533419 26045:26045 2:"" -43930572535521 26045:26045 2:"" -43930588130200 26045:26045 0:"before hipLaunchKernel" -43930588131861 26045:26045 1:"hipLaunchKernel" -43930588167154 26045:26045 0:"after hipLaunchKernel" -43930588168196 26045:26045 1:"hipMemcpy" -43930591055062 26045:26045 2:"" -43930591057084 26045:26045 2:"" -43930606672766 26045:26045 0:"before hipLaunchKernel" -43930606674262 26045:26045 1:"hipLaunchKernel" -43930606710367 26045:26045 0:"after hipLaunchKernel" -43930606711380 26045:26045 1:"hipMemcpy" -43930609616339 26045:26045 2:"" -43930609618454 26045:26045 2:"" -43930625297702 26045:26045 0:"before hipLaunchKernel" -43930625299169 26045:26045 1:"hipLaunchKernel" -43930625329586 26045:26045 0:"after hipLaunchKernel" -43930625330516 26045:26045 1:"hipMemcpy" -43930628239004 26045:26045 2:"" -43930628241090 26045:26045 2:"" -43930643839430 26045:26045 0:"before hipLaunchKernel" -43930643841018 26045:26045 1:"hipLaunchKernel" -43930643873111 26045:26045 0:"after hipLaunchKernel" -43930643874031 26045:26045 1:"hipMemcpy" -43930645420483 26045:26045 2:"" -43930645422470 26045:26045 2:"" -43930661021277 26045:26045 0:"before hipLaunchKernel" -43930661022810 26045:26045 1:"hipLaunchKernel" -43930661052964 26045:26045 0:"after hipLaunchKernel" -43930661053971 26045:26045 1:"hipMemcpy" -43930662620991 26045:26045 2:"" -43930662623011 26045:26045 2:"" -43930678219539 26045:26045 0:"before hipLaunchKernel" -43930678221092 26045:26045 1:"hipLaunchKernel" -43930678251361 26045:26045 0:"after hipLaunchKernel" -43930678252335 26045:26045 1:"hipMemcpy" -43930679819229 26045:26045 2:"" -43930679821361 26045:26045 2:"" -43930695457540 26045:26045 0:"before hipLaunchKernel" -43930695459286 26045:26045 1:"hipLaunchKernel" -43930695493755 26045:26045 0:"after hipLaunchKernel" -43930695494754 26045:26045 1:"hipMemcpy" -43930697063945 26045:26045 2:"" -43930697066174 26045:26045 2:"" -43930712692624 26045:26045 0:"before hipLaunchKernel" -43930712694170 26045:26045 1:"hipLaunchKernel" -43930712725133 26045:26045 0:"after hipLaunchKernel" -43930712726090 26045:26045 1:"hipMemcpy" -43930714286531 26045:26045 2:"" -43930714288518 26045:26045 2:"" -43930729907089 26045:26045 0:"before hipLaunchKernel" -43930729908910 26045:26045 1:"hipLaunchKernel" -43930729938937 26045:26045 0:"after hipLaunchKernel" -43930729939904 26045:26045 1:"hipMemcpy" -43930731500834 26045:26045 2:"" -43930731502885 26045:26045 2:"" -43930747119659 26045:26045 0:"before hipLaunchKernel" -43930747121303 26045:26045 1:"hipLaunchKernel" -43930747151745 26045:26045 0:"after hipLaunchKernel" -43930747152711 26045:26045 1:"hipMemcpy" -43930748714057 26045:26045 2:"" -43930748715596 26045:26045 2:"" -43930764357498 26045:26045 0:"before hipLaunchKernel" -43930764358971 26045:26045 1:"hipLaunchKernel" -43930764386512 26045:26045 0:"after hipLaunchKernel" -43930764387399 26045:26045 1:"hipMemcpy" -43930765938730 26045:26045 2:"" -43930765940132 26045:26045 2:"" -43930781570534 26045:26045 0:"before hipLaunchKernel" -43930781572023 26045:26045 1:"hipLaunchKernel" -43930781598618 26045:26045 0:"after hipLaunchKernel" -43930781599552 26045:26045 1:"hipMemcpy" -43930783153175 26045:26045 2:"" -43930783154688 26045:26045 2:"" -43930798796107 26045:26045 0:"before hipLaunchKernel" -43930798797536 26045:26045 1:"hipLaunchKernel" -43930798827734 26045:26045 0:"after hipLaunchKernel" -43930798828764 26045:26045 1:"hipMemcpy" -43930800420626 26045:26045 2:"" -43930800422656 26045:26045 2:"" -43930816043656 26045:26045 0:"before hipLaunchKernel" -43930816045269 26045:26045 1:"hipLaunchKernel" -43930816085007 26045:26045 0:"after hipLaunchKernel" -43930816086017 26045:26045 1:"hipMemcpy" -43930817653676 26045:26045 2:"" -43930817655672 26045:26045 2:"" -43930833141637 26045:26045 0:"before hipLaunchKernel" -43930833143165 26045:26045 1:"hipLaunchKernel" -43930833172965 26045:26045 0:"after hipLaunchKernel" -43930833173875 26045:26045 1:"hipMemcpy" -43930834736065 26045:26045 2:"" -43930834738048 26045:26045 2:"" -43930850313641 26045:26045 0:"before hipLaunchKernel" -43930850315187 26045:26045 1:"hipLaunchKernel" -43930850345019 26045:26045 0:"after hipLaunchKernel" -43930850346010 26045:26045 1:"hipMemcpy" -43930851914107 26045:26045 2:"" -43930851916023 26045:26045 2:"" -43930867530577 26045:26045 0:"before hipLaunchKernel" -43930867532516 26045:26045 1:"hipLaunchKernel" -43930867562543 26045:26045 0:"after hipLaunchKernel" -43930867563504 26045:26045 1:"hipMemcpy" -43930869093564 26045:26045 2:"" -43930869095446 26045:26045 2:"" -43930884681274 26045:26045 0:"before hipLaunchKernel" -43930884682837 26045:26045 1:"hipLaunchKernel" -43930884714814 26045:26045 0:"after hipLaunchKernel" -43930884715845 26045:26045 1:"hipMemcpy" -43930886240209 26045:26045 2:"" -43930886242260 26045:26045 2:"" +3802698015872109:3802698015877849 1976:1976 hipGetDeviceProperties(props=, device=0) +3802698016927236:3802698017150008 1976:1976 hipMalloc(ptr=0x7f52745ff010, size=4194304) +3802698017153518:3802698017216919 1976:1976 hipMalloc(ptr=0x7fff4ce03de8, size=4194304) +3802698017231019:3802698295938414 1976:1976 hipMemcpy(dst=0x7f51e6400000, src=0x7f52745ff010, sizeBytes=4194304, kind=1) +3802698295947234:3802698295947235 1976:1976 MARK(name(before HIP LaunchKernel)) +3802698295979364:3802698295983824 1976:1976 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802698295991054:3802698295991974 1976:1976 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=99, stream=0x7f52745ff010) +3802698296018134:3802698296587879 1976:1976 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x63, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802698296602509:3802698296602510 1976:1976 MARK(name(after HIP LaunchKernel)) +3802698296606839:3802698299906483 1976:1976 hipMemcpy(dst=0x7f52741fe010, src=0x7f51e5e00000, sizeBytes=4194304, kind=2) +3802698307983993:3802698309833567 1976:1976 hipMemcpy(dst=0x7f51e6400000, src=0x7f52745ff010, sizeBytes=4194304, kind=1) +3802698309837417:3802698309837418 1976:1976 MARK(name(before HIP LaunchKernel)) +3802698309844167:3802698309845217 1976:1976 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802698309849057:3802698309849637 1976:1976 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=139996654690522, stream=0xd828243d3cf81) +3802698309853207:3802698309858907 1976:1976 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802698309866277:3802698309866278 1976:1976 MARK(name(after HIP LaunchKernel)) +3802698309869617:3802698312826819 1976:1976 hipMemcpy(dst=0x7f52741fe010, src=0x7f51e5e00000, sizeBytes=4194304, kind=2) +3802698320277314:3802698322141238 1976:1976 hipMemcpy(dst=0x7f51e6400000, src=0x7f52745ff010, sizeBytes=4194304, kind=1) +3802698322145528:3802698322145529 1976:1976 MARK(name(before HIP LaunchKernel)) +3802698322153548:3802698322154328 1976:1976 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802698322158288:3802698322158938 1976:1976 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=139996654690522, stream=0xd8282448fa1ab) +3802698322162458:3802698322167328 1976:1976 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802698322169958:3802698322169959 1976:1976 MARK(name(after HIP LaunchKernel)) +3802698322173018:3802698324993129 1976:1976 hipMemcpy(dst=0x7f52741fe010, src=0x7f51e5e00000, sizeBytes=4194304, kind=2) +3802698332380754:3802698334531110 1976:1976 hipMemcpy(dst=0x7f51e6400000, src=0x7f52745ff010, sizeBytes=4194304, kind=1) +3802698334534550:3802698334534551 1976:1976 MARK(name(before HIP LaunchKernel)) +3802698334540800:3802698334541510 1976:1976 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802698334551800:3802698334552530 1976:1976 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=139996654690522, stream=0xd8282454ca4cb) +3802698334555890:3802698334560810 1976:1976 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802698334564760:3802698334564761 1976:1976 MARK(name(after HIP LaunchKernel)) +3802698334567790:3802698337579462 1976:1976 hipMemcpy(dst=0x7f52741fe010, src=0x7f51e5e00000, sizeBytes=4194304, kind=2) +3802698344962297:3802698346843961 1976:1976 hipMemcpy(dst=0x7f51e6400000, src=0x7f52745ff010, sizeBytes=4194304, kind=1) +3802698346848081:3802698346848082 1976:1976 MARK(name(before HIP LaunchKernel)) +3802698346854271:3802698346854911 1976:1976 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802698346864521:3802698346865201 1976:1976 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=139996654690522, stream=0xd8282460887c1) +3802698346868811:3802698346873591 1976:1976 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802698346876211:3802698346876212 1976:1976 MARK(name(after HIP LaunchKernel)) +3802698346879201:3802698349813653 1976:1976 hipMemcpy(dst=0x7f52741fe010, src=0x7f51e5e00000, sizeBytes=4194304, kind=2) +3802698357057637:3802698358947031 1976:1976 hipMemcpy(dst=0x7f51e6400000, src=0x7f52745ff010, sizeBytes=4194304, kind=1) +3802698358950141:3802698358950142 1976:1976 MARK(name(before HIP LaunchKernel)) +3802698358956001:3802698358956751 1976:1976 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802698358960291:3802698358960991 1976:1976 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=139996654690522, stream=0xd828246c1303b) +3802698358964341:3802698358969841 1976:1976 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802698358976781:3802698358976782 1976:1976 MARK(name(after HIP LaunchKernel)) +3802698358979621:3802698361839972 1976:1976 hipMemcpy(dst=0x7f52741fe010, src=0x7f51e5e00000, sizeBytes=4194304, kind=2) +3802698369096256:3802698370978670 1976:1976 hipMemcpy(dst=0x7f51e6400000, src=0x7f52745ff010, sizeBytes=4194304, kind=1) +3802698370982180:3802698370982181 1976:1976 MARK(name(before HIP LaunchKernel)) +3802698370988200:3802698370989010 1976:1976 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802698370999020:3802698370999680 1976:1976 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=139996654690522, stream=0xd82824778c8fd) +3802698371003050:3802698371007780 1976:1976 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802698371009920:3802698371009921 1976:1976 MARK(name(after HIP LaunchKernel)) +3802698371016520:3802698373836521 1976:1976 hipMemcpy(dst=0x7f52741fe010, src=0x7f51e5e00000, sizeBytes=4194304, kind=2) +3802698381104905:3802698382990919 1976:1976 hipMemcpy(dst=0x7f51e6400000, src=0x7f52745ff010, sizeBytes=4194304, kind=1) +3802698382997699:3802698382997700 1976:1976 MARK(name(before HIP LaunchKernel)) +3802698383003669:3802698383004439 1976:1976 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802698383007889:3802698383008569 1976:1976 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=139996654690522, stream=0xd828248301fed) +3802698383011899:3802698383017169 1976:1976 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802698383020389:3802698383020390 1976:1976 MARK(name(after HIP LaunchKernel)) +3802698383023739:3802698385836870 1976:1976 hipMemcpy(dst=0x7f52741fe010, src=0x7f51e5e00000, sizeBytes=4194304, kind=2) +3802698393238935:3802698395127329 1976:1976 hipMemcpy(dst=0x7f51e6400000, src=0x7f52745ff010, sizeBytes=4194304, kind=1) +3802698395134879:3802698395134880 1976:1976 MARK(name(before HIP LaunchKernel)) +3802698395140789:3802698395141509 1976:1976 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802698395146559:3802698395147259 1976:1976 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=139996654690522, stream=0xd828248e9520f) +3802698395150749:3802698395156379 1976:1976 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802698395158779:3802698395158780 1976:1976 MARK(name(after HIP LaunchKernel)) +3802698395161649:3802698397932679 1976:1976 hipMemcpy(dst=0x7f52741fe010, src=0x7f51e5e00000, sizeBytes=4194304, kind=2) +3802698405165913:3802698407055987 1976:1976 hipMemcpy(dst=0x7f51e6400000, src=0x7f52745ff010, sizeBytes=4194304, kind=1) +3802698407065507:3802698407065508 1976:1976 MARK(name(before HIP LaunchKernel)) +3802698407071567:3802698407072457 1976:1976 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802698407076287:3802698407077007 1976:1976 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=139996654690522, stream=0xd8282499f5f09) +3802698407080547:3802698407085537 1976:1976 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802698407087777:3802698407087778 1976:1976 MARK(name(after HIP LaunchKernel)) +3802698407091857:3802698409927749 1976:1976 hipMemcpy(dst=0x7f52741fe010, src=0x7f51e5e00000, sizeBytes=4194304, kind=2) +3802698417166372:3802698419042406 1976:1976 hipMemcpy(dst=0x7f51e6400000, src=0x7f52745ff010, sizeBytes=4194304, kind=1) +3802698419045756:3802698419045757 1976:1976 MARK(name(before HIP LaunchKernel)) +3802698419051586:3802698419052446 1976:1976 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802698419059606:3802698419060286 1976:1976 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=139996654690522, stream=0xd82824a562b9d) +3802698419063796:3802698419068827 1976:1976 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802698419071107:3802698419071108 1976:1976 MARK(name(after HIP LaunchKernel)) +3802698419073987:3802698421927727 1976:1976 hipMemcpy(dst=0x7f52741fe010, src=0x7f51e5e00000, sizeBytes=4194304, kind=2) +3802698429167221:3802698431050745 1976:1976 hipMemcpy(dst=0x7f51e6400000, src=0x7f52745ff010, sizeBytes=4194304, kind=1) +3802698431060185:3802698431060186 1976:1976 MARK(name(before HIP LaunchKernel)) +3802698431066045:3802698431066825 1976:1976 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802698431070675:3802698431071365 1976:1976 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=139996654690522, stream=0xd82824b0d7e73) +3802698431076265:3802698431081355 1976:1976 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802698431083615:3802698431083616 1976:1976 MARK(name(after HIP LaunchKernel)) +3802698431087795:3802698433920236 1976:1976 hipMemcpy(dst=0x7f52741fe010, src=0x7f51e5e00000, sizeBytes=4194304, kind=2) +3802698441159910:3802698443038324 1976:1976 hipMemcpy(dst=0x7f51e6400000, src=0x7f52745ff010, sizeBytes=4194304, kind=1) +3802698443043334:3802698443043335 1976:1976 MARK(name(before HIP LaunchKernel)) +3802698443049364:3802698443050184 1976:1976 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802698443054324:3802698443055014 1976:1976 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=139996654690522, stream=0xd82824bc45827) +3802698443059954:3802698443065784 1976:1976 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802698443068164:3802698443068165 1976:1976 MARK(name(after HIP LaunchKernel)) +3802698443071024:3802698445931526 1976:1976 hipMemcpy(dst=0x7f52741fe010, src=0x7f51e5e00000, sizeBytes=4194304, kind=2) +3802698453374541:3802698455528076 1976:1976 hipMemcpy(dst=0x7f51e6400000, src=0x7f52745ff010, sizeBytes=4194304, kind=1) +3802698455539866:3802698455539867 1976:1976 MARK(name(before HIP LaunchKernel)) +3802698455545726:3802698455546476 1976:1976 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802698455550346:3802698455551126 1976:1976 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=139996654690522, stream=0xd82824c83057d) +3802698455554596:3802698455559556 1976:1976 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802698455562336:3802698455562337 1976:1976 MARK(name(after HIP LaunchKernel)) +3802698455566536:3802698458584219 1976:1976 hipMemcpy(dst=0x7f52741fe010, src=0x7f51e5e00000, sizeBytes=4194304, kind=2) +3802698465864013:3802698467748687 1976:1976 hipMemcpy(dst=0x7f51e6400000, src=0x7f52745ff010, sizeBytes=4194304, kind=1) +3802698467751957:3802698467751958 1976:1976 MARK(name(before HIP LaunchKernel)) +3802698467758067:3802698467758827 1976:1976 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802698467763147:3802698467763857 1976:1976 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=139996654690522, stream=0xd82824d3d5daf) +3802698467772527:3802698467777437 1976:1976 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802698467779937:3802698467779938 1976:1976 MARK(name(after HIP LaunchKernel)) +3802698467782817:3802698470820700 1976:1976 hipMemcpy(dst=0x7f52741fe010, src=0x7f51e5e00000, sizeBytes=4194304, kind=2) +3802698478072834:3802698479961148 1976:1976 hipMemcpy(dst=0x7f51e6400000, src=0x7f52745ff010, sizeBytes=4194304, kind=1) +3802698479964478:3802698479964479 1976:1976 MARK(name(before HIP LaunchKernel)) +3802698479973768:3802698479974558 1976:1976 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802698479978348:3802698479979238 1976:1976 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=139996654690522, stream=0xd82824df7c315) +3802698479982858:3802698479987858 1976:1976 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802698479990268:3802698479990269 1976:1976 MARK(name(after HIP LaunchKernel)) +3802698479994198:3802698482846779 1976:1976 hipMemcpy(dst=0x7f52741fe010, src=0x7f51e5e00000, sizeBytes=4194304, kind=2) +3802698490250744:3802698492122088 1976:1976 hipMemcpy(dst=0x7f51e6400000, src=0x7f52745ff010, sizeBytes=4194304, kind=1) +3802698492125418:3802698492125419 1976:1976 MARK(name(before HIP LaunchKernel)) +3802698492131648:3802698492132438 1976:1976 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802698492140908:3802698492141578 1976:1976 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=139996654690522, stream=0xd82824eb14681) +3802698492146868:3802698492151538 1976:1976 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802698492153978:3802698492153979 1976:1976 MARK(name(after HIP LaunchKernel)) +3802698492157248:3802698494985219 1976:1976 hipMemcpy(dst=0x7f52741fe010, src=0x7f51e5e00000, sizeBytes=4194304, kind=2) +3802698502475875:3802698504552480 1976:1976 hipMemcpy(dst=0x7f51e6400000, src=0x7f52745ff010, sizeBytes=4194304, kind=1) +3802698504556420:3802698504556421 1976:1976 MARK(name(before HIP LaunchKernel)) +3802698504570810:3802698504571920 1976:1976 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802698504575730:3802698504576490 1976:1976 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=139996654690522, stream=0xd82824f6f15ee) +3802698504580300:3802698504585580 1976:1976 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802698504587860:3802698504587861 1976:1976 MARK(name(after HIP LaunchKernel)) +3802698504591710:3802698507587163 1976:1976 hipMemcpy(dst=0x7f52741fe010, src=0x7f51e5e00000, sizeBytes=4194304, kind=2) +3802698515015737:3802698516903541 1976:1976 hipMemcpy(dst=0x7f51e6400000, src=0x7f52745ff010, sizeBytes=4194304, kind=1) +3802698516906771:3802698516906772 1976:1976 MARK(name(before HIP LaunchKernel)) +3802698516912641:3802698516913441 1976:1976 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802698516917091:3802698516917791 1976:1976 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=139996654690522, stream=0xd8282502b66b2) +3802698516928731:3802698516933721 1976:1976 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802698516936121:3802698516936122 1976:1976 MARK(name(after HIP LaunchKernel)) +3802698516939151:3802698519824783 1976:1976 hipMemcpy(dst=0x7f52741fe010, src=0x7f51e5e00000, sizeBytes=4194304, kind=2) +3802698527215468:3802698529101272 1976:1976 hipMemcpy(dst=0x7f51e6400000, src=0x7f52745ff010, sizeBytes=4194304, kind=1) +3802698529104732:3802698529104733 1976:1976 MARK(name(before HIP LaunchKernel)) +3802698529115542:3802698529116322 1976:1976 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802698529120092:3802698529120772 1976:1976 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=139996654690522, stream=0xd828250e599e6) +3802698529124442:3802698529129932 1976:1976 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802698529133632:3802698529133633 1976:1976 MARK(name(after HIP LaunchKernel)) +3802698529136502:3802698531954413 1976:1976 hipMemcpy(dst=0x7f52741fe010, src=0x7f51e5e00000, sizeBytes=4194304, kind=2) +3802698539405568:3802698541534783 1976:1976 hipMemcpy(dst=0x7f51e6400000, src=0x7f52745ff010, sizeBytes=4194304, kind=1) +3802698541537943:3802698541537944 1976:1976 MARK(name(before HIP LaunchKernel)) +3802698541543984:3802698541544804 1976:1976 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802698541548744:3802698541549434 1976:1976 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=139996654690522, stream=0xd828251a33e5a) +3802698541558404:3802698541563294 1976:1976 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802698541565744:3802698541565745 1976:1976 MARK(name(after HIP LaunchKernel)) +3802698541568744:3802698544541906 1976:1976 hipMemcpy(dst=0x7f52741fe010, src=0x7f51e5e00000, sizeBytes=4194304, kind=2) +3802698551824910:3802698553762554 1976:1976 hipMemcpy(dst=0x7f51e6400000, src=0x7f52745ff010, sizeBytes=4194304, kind=1) +3802698553765904:3802698553765905 1976:1976 MARK(name(before HIP LaunchKernel)) +3802698553774894:3802698553775814 1976:1976 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802698553779285:3802698553779995 1976:1976 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=139996654690522, stream=0xd8282525ddf71) +3802698553783795:3802698553788265 1976:1976 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802698553790555:3802698553790556 1976:1976 MARK(name(after HIP LaunchKernel)) +3802698553793465:3802698556823497 1976:1976 hipMemcpy(dst=0x7f52741fe010, src=0x7f51e5e00000, sizeBytes=4194304, kind=2) +3802698564244132:3802698566107986 1976:1976 hipMemcpy(dst=0x7f51e6400000, src=0x7f52745ff010, sizeBytes=4194304, kind=1) +3802698566111326:3802698566111327 1976:1976 MARK(name(before HIP LaunchKernel)) +3802698566116776:3802698566117626 1976:1976 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802698566121766:3802698566122516 1976:1976 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=139996654690522, stream=0xd8282531a3161) +3802698566126166:3802698566137386 1976:1976 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802698566142066:3802698566142067 1976:1976 MARK(name(after HIP LaunchKernel)) +3802698566145077:3802698568977887 1976:1976 hipMemcpy(dst=0x7f52741fe010, src=0x7f51e5e00000, sizeBytes=4194304, kind=2) +3802698576231231:3802698578103905 1976:1976 hipMemcpy(dst=0x7f51e6400000, src=0x7f52745ff010, sizeBytes=4194304, kind=1) +3802698578108025:3802698578108026 1976:1976 MARK(name(before HIP LaunchKernel)) +3802698578116965:3802698578117845 1976:1976 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802698578122005:3802698578122705 1976:1976 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=139996654690522, stream=0xd828253d14ce7) +3802698578126085:3802698578130925 1976:1976 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802698578133315:3802698578133316 1976:1976 MARK(name(after HIP LaunchKernel)) +3802698578136275:3802698580956066 1976:1976 hipMemcpy(dst=0x7f52741fe010, src=0x7f51e5e00000, sizeBytes=4194304, kind=2) +3802698588212930:3802698590069164 1976:1976 hipMemcpy(dst=0x7f51e6400000, src=0x7f52745ff010, sizeBytes=4194304, kind=1) +3802698590072484:3802698590072485 1976:1976 MARK(name(before HIP LaunchKernel)) +3802698590078364:3802698590079234 1976:1976 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802698590083124:3802698590083814 1976:1976 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=139996654690522, stream=0xd82825487d0c9) +3802698590092514:3802698590097144 1976:1976 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802698590100994:3802698590100995 1976:1976 MARK(name(after HIP LaunchKernel)) +3802698590103984:3802698592940445 1976:1976 hipMemcpy(dst=0x7f52741fe010, src=0x7f51e5e00000, sizeBytes=4194304, kind=2) +3802698600194518:3802698602566996 1976:1976 hipMemcpy(dst=0x7f51e6400000, src=0x7f52745ff010, sizeBytes=4194304, kind=1) +3802698602570766:3802698602570767 1976:1976 MARK(name(before HIP LaunchKernel)) +3802698602577166:3802698602577936 1976:1976 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802698602586706:3802698602587416 1976:1976 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=139996654690522, stream=0xd828255468789) +3802698602591096:3802698602595836 1976:1976 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802698602598126:3802698602598127 1976:1976 MARK(name(after HIP LaunchKernel)) +3802698602601046:3802698605586558 1976:1976 hipMemcpy(dst=0x7f52741fe010, src=0x7f51e5e00000, sizeBytes=4194304, kind=2) +3802698612934073:3802698614811157 1976:1976 hipMemcpy(dst=0x7f51e6400000, src=0x7f52745ff010, sizeBytes=4194304, kind=1) +3802698614814347:3802698614814348 1976:1976 MARK(name(before HIP LaunchKernel)) +3802698614820047:3802698614820857 1976:1976 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802698614824427:3802698614825077 1976:1976 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=139996654690522, stream=0xd82825601572f) +3802698614828537:3802698614833547 1976:1976 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802698614841217:3802698614841218 1976:1976 MARK(name(after HIP LaunchKernel)) +3802698614844207:3802698617802709 1976:1976 hipMemcpy(dst=0x7f52741fe010, src=0x7f51e5e00000, sizeBytes=4194304, kind=2) +3802698625065933:3802698626947857 1976:1976 hipMemcpy(dst=0x7f51e6400000, src=0x7f52745ff010, sizeBytes=4194304, kind=1) +3802698626951147:3802698626951148 1976:1976 MARK(name(before HIP LaunchKernel)) +3802698626957377:3802698626958157 1976:1976 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802698626969947:3802698626970777 1976:1976 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=139996654690522, stream=0xd828256ba8a2d) +3802698626974477:3802698626979477 1976:1976 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802698626982237:3802698626982238 1976:1976 MARK(name(after HIP LaunchKernel)) +3802698626985217:3802698629844328 1976:1976 hipMemcpy(dst=0x7f52741fe010, src=0x7f51e5e00000, sizeBytes=4194304, kind=2) +3802698637097002:3802698638984856 1976:1976 hipMemcpy(dst=0x7f51e6400000, src=0x7f52745ff010, sizeBytes=4194304, kind=1) +3802698638991536:3802698638991537 1976:1976 MARK(name(before HIP LaunchKernel)) +3802698638997896:3802698638998596 1976:1976 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802698639002406:3802698639003126 1976:1976 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=139996654690522, stream=0xd8282577242d9) +3802698639006646:3802698639011626 1976:1976 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802698639015116:3802698639015117 1976:1976 MARK(name(after HIP LaunchKernel)) +3802698639017996:3802698641843627 1976:1976 hipMemcpy(dst=0x7f52741fe010, src=0x7f51e5e00000, sizeBytes=4194304, kind=2) +3802698649104331:3802698650986315 1976:1976 hipMemcpy(dst=0x7f51e6400000, src=0x7f52745ff010, sizeBytes=4194304, kind=1) +3802698650989655:3802698650989656 1976:1976 MARK(name(before HIP LaunchKernel)) +3802698651000795:3802698651001445 1976:1976 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802698651006395:3802698651007055 1976:1976 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=139996654690522, stream=0xd8282582968af) +3802698651010945:3802698651016085 1976:1976 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802698651018375:3802698651018376 1976:1976 MARK(name(after HIP LaunchKernel)) +3802698651021405:3802698653842886 1976:1976 hipMemcpy(dst=0x7f52741fe010, src=0x7f51e5e00000, sizeBytes=4194304, kind=2) +3802698661092030:3802698662968043 1976:1976 hipMemcpy(dst=0x7f51e6400000, src=0x7f52745ff010, sizeBytes=4194304, kind=1) +3802698662977334:3802698662977335 1976:1976 MARK(name(before HIP LaunchKernel)) +3802698662984034:3802698662984694 1976:1976 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802698662988874:3802698662989644 1976:1976 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=139996654690522, stream=0xd828258e041f5) +3802698662993074:3802698662998784 1976:1976 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802698663001144:3802698663001145 1976:1976 MARK(name(after HIP LaunchKernel)) +3802698663005174:3802698665831335 1976:1976 hipMemcpy(dst=0x7f52741fe010, src=0x7f51e5e00000, sizeBytes=4194304, kind=2) +3802698673093789:3802698674982913 1976:1976 hipMemcpy(dst=0x7f51e6400000, src=0x7f52745ff010, sizeBytes=4194304, kind=1) +3802698674986333:3802698674986334 1976:1976 MARK(name(before HIP LaunchKernel)) +3802698674991703:3802698674992453 1976:1976 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802698675000923:3802698675001833 1976:1976 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=139996654690522, stream=0xd828259977af9) +3802698675005653:3802698675010413 1976:1976 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802698675012763:3802698675012764 1976:1976 MARK(name(after HIP LaunchKernel)) +3802698675015743:3802698677838834 1976:1976 hipMemcpy(dst=0x7f52741fe010, src=0x7f51e5e00000, sizeBytes=4194304, kind=2) +3802698685090387:3802698686971751 1976:1976 hipMemcpy(dst=0x7f51e6400000, src=0x7f52745ff010, sizeBytes=4194304, kind=1) +3802698686980551:3802698686980552 1976:1976 MARK(name(before HIP LaunchKernel)) +3802698686986121:3802698686986761 1976:1976 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802698686990881:3802698686991591 1976:1976 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=139996654690522, stream=0xd82825a4e7f73) +3802698686996781:3802698687001261 1976:1976 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802698687003541:3802698687003542 1976:1976 MARK(name(after HIP LaunchKernel)) +3802698687007622:3802698689836403 1976:1976 hipMemcpy(dst=0x7f52741fe010, src=0x7f51e5e00000, sizeBytes=4194304, kind=2) +3802698697093957:3802698698978491 1976:1976 hipMemcpy(dst=0x7f51e6400000, src=0x7f52745ff010, sizeBytes=4194304, kind=1) +3802698698981831:3802698698981832 1976:1976 MARK(name(before HIP LaunchKernel)) +3802698698987451:3802698698988501 1976:1976 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802698698992431:3802698698993131 1976:1976 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=139996654690522, stream=0xd82825b05a0f3) +3802698698999511:3802698699004481 1976:1976 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802698699006891:3802698699006892 1976:1976 MARK(name(after HIP LaunchKernel)) +3802698699009751:3802698701848762 1976:1976 hipMemcpy(dst=0x7f52741fe010, src=0x7f51e5e00000, sizeBytes=4194304, kind=2) +3802698709098846:3802698710988590 1976:1976 hipMemcpy(dst=0x7f51e6400000, src=0x7f52745ff010, sizeBytes=4194304, kind=1) +3802698710995730:3802698710995731 1976:1976 MARK(name(before HIP LaunchKernel)) +3802698711004290:3802698711005030 1976:1976 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802698711008480:3802698711009550 1976:1976 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=139996654690522, stream=0xd82825bbcfc38) +3802698711013210:3802698711018320 1976:1976 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802698711020970:3802698711020971 1976:1976 MARK(name(after HIP LaunchKernel)) +3802698711024770:3802698713845771 1976:1976 hipMemcpy(dst=0x7f52741fe010, src=0x7f51e5e00000, sizeBytes=4194304, kind=2) +3802698721107654:3802698722990218 1976:1976 hipMemcpy(dst=0x7f51e6400000, src=0x7f52745ff010, sizeBytes=4194304, kind=1) +3802698722993688:3802698722993689 1976:1976 MARK(name(before HIP LaunchKernel)) +3802698722999508:3802698723000258 1976:1976 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802698723003928:3802698723004618 1976:1976 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=139996654690522, stream=0xd82825c74044a) +3802698723014049:3802698723018959 1976:1976 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802698723021439:3802698723021440 1976:1976 MARK(name(after HIP LaunchKernel)) +3802698723024429:3802698725841450 1976:1976 hipMemcpy(dst=0x7f52741fe010, src=0x7f51e5e00000, sizeBytes=4194304, kind=2) +3802698733094984:3802698734981848 1976:1976 hipMemcpy(dst=0x7f51e6400000, src=0x7f52745ff010, sizeBytes=4194304, kind=1) +3802698734987828:3802698734987829 1976:1976 MARK(name(before HIP LaunchKernel)) +3802698734993758:3802698734994588 1976:1976 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802698734998708:3802698734999418 1976:1976 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=139996654690522, stream=0xd82825d2b08d8) +3802698735002858:3802698735008788 1976:1976 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802698735011228:3802698735011229 1976:1976 MARK(name(after HIP LaunchKernel)) +3802698735015178:3802698737897959 1976:1976 hipMemcpy(dst=0x7f52741fe010, src=0x7f51e5e00000, sizeBytes=4194304, kind=2) +3802698745149532:3802698747033366 1976:1976 hipMemcpy(dst=0x7f51e6400000, src=0x7f52745ff010, sizeBytes=4194304, kind=1) +3802698747036726:3802698747036727 1976:1976 MARK(name(before HIP LaunchKernel)) +3802698747041946:3802698747042776 1976:1976 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802698747052177:3802698747052907 1976:1976 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=139996654690522, stream=0xd82825de2dfca) +3802698747057897:3802698747063217 1976:1976 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802698747066657:3802698747066658 1976:1976 MARK(name(after HIP LaunchKernel)) +3802698747069927:3802698749887798 1976:1976 hipMemcpy(dst=0x7f52741fe010, src=0x7f51e5e00000, sizeBytes=4194304, kind=2) +3802698757146482:3802698759028576 1976:1976 hipMemcpy(dst=0x7f51e6400000, src=0x7f52745ff010, sizeBytes=4194304, kind=1) +3802698759032336:3802698759032337 1976:1976 MARK(name(before HIP LaunchKernel)) +3802698759043536:3802698759044296 1976:1976 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802698759048306:3802698759049006 1976:1976 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=139996654690522, stream=0xd82825e9a006e) +3802698759052596:3802698759057406 1976:1976 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802698759059966:3802698759059967 1976:1976 MARK(name(after HIP LaunchKernel)) +3802698759064016:3802698761932187 1976:1976 hipMemcpy(dst=0x7f52741fe010, src=0x7f51e5e00000, sizeBytes=4194304, kind=2) +3802698769290852:3802698771179555 1976:1976 hipMemcpy(dst=0x7f51e6400000, src=0x7f52745ff010, sizeBytes=4194304, kind=1) +3802698771183245:3802698771183246 1976:1976 MARK(name(before HIP LaunchKernel)) +3802698771188785:3802698771189615 1976:1976 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802698771193275:3802698771194015 1976:1976 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=139996654690522, stream=0xd82825f5352ca) +3802698771204526:3802698771209356 1976:1976 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802698771212106:3802698771212107 1976:1976 MARK(name(after HIP LaunchKernel)) +3802698771215006:3802698774027536 1976:1976 hipMemcpy(dst=0x7f52741fe010, src=0x7f51e5e00000, sizeBytes=4194304, kind=2) +3802698781263910:3802698783147674 1976:1976 hipMemcpy(dst=0x7f51e6400000, src=0x7f52745ff010, sizeBytes=4194304, kind=1) +3802698783151074:3802698783151075 1976:1976 MARK(name(before HIP LaunchKernel)) +3802698783162124:3802698783162904 1976:1976 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802698783167024:3802698783167734 1976:1976 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=139996654690522, stream=0xd8282600a0528) +3802698783171274:3802698783175904 1976:1976 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802698783178304:3802698783178305 1976:1976 MARK(name(after HIP LaunchKernel)) +3802698783184314:3802698785947815 1976:1976 hipMemcpy(dst=0x7f52741fe010, src=0x7f51e5e00000, sizeBytes=4194304, kind=2) +3802698793202959:3802698795096683 1976:1976 hipMemcpy(dst=0x7f51e6400000, src=0x7f52745ff010, sizeBytes=4194304, kind=1) +3802698795100043:3802698795100044 1976:1976 MARK(name(before HIP LaunchKernel)) +3802698795105613:3802698795106453 1976:1976 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802698795110393:3802698795111063 1976:1976 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=139996654690522, stream=0xd828260c0435a) +3802698795117133:3802698795123433 1976:1976 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802698795125883:3802698795125884 1976:1976 MARK(name(after HIP LaunchKernel)) +3802698795128793:3802698797931564 1976:1976 hipMemcpy(dst=0x7f52741fe010, src=0x7f51e5e00000, sizeBytes=4194304, kind=2) +3802698805165327:3802698807044071 1976:1976 hipMemcpy(dst=0x7f51e6400000, src=0x7f52745ff010, sizeBytes=4194304, kind=1) +3802698807052281:3802698807052282 1976:1976 MARK(name(before HIP LaunchKernel)) +3802698807059521:3802698807060271 1976:1976 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802698807063661:3802698807064351 1976:1976 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=139996654690522, stream=0xd82826176a9a9) +3802698807067981:3802698807072491 1976:1976 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802698807075211:3802698807075212 1976:1976 MARK(name(after HIP LaunchKernel)) +3802698807078121:3802698809933983 1976:1976 hipMemcpy(dst=0x7f52741fe010, src=0x7f51e5e00000, sizeBytes=4194304, kind=2) +3802698817185407:3802698819064101 1976:1976 hipMemcpy(dst=0x7f51e6400000, src=0x7f52745ff010, sizeBytes=4194304, kind=1) +3802698819067461:3802698819067462 1976:1976 MARK(name(before HIP LaunchKernel)) +3802698819073331:3802698819074091 1976:1976 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802698819077981:3802698819079001 1976:1976 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=139996654690522, stream=0xd8282622dfa63) +3802698819082351:3802698819087251 1976:1976 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802698819094981:3802698819094982 1976:1976 MARK(name(after HIP LaunchKernel)) +3802698819097961:3802698821923752 1976:1976 hipMemcpy(dst=0x7f52741fe010, src=0x7f51e5e00000, sizeBytes=4194304, kind=2) +3802698829150735:3802698831032259 1976:1976 hipMemcpy(dst=0x7f51e6400000, src=0x7f52745ff010, sizeBytes=4194304, kind=1) +3802698831035469:3802698831035470 1976:1976 MARK(name(before HIP LaunchKernel)) +3802698831046149:3802698831046859 1976:1976 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802698831050529:3802698831051239 1976:1976 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=139996654690522, stream=0xd828262e4aaaf) +3802698831054749:3802698831059739 1976:1976 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802698831062159:3802698831062160 1976:1976 MARK(name(after HIP LaunchKernel)) +3802698831065039:3802698833845180 1976:1976 hipMemcpy(dst=0x7f52741fe010, src=0x7f51e5e00000, sizeBytes=4194304, kind=2) +3802698841111474:3802698842991428 1976:1976 hipMemcpy(dst=0x7f51e6400000, src=0x7f52745ff010, sizeBytes=4194304, kind=1) +3802698842994778:3802698842994779 1976:1976 MARK(name(before HIP LaunchKernel)) +3802698843000878:3802698843001738 1976:1976 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802698843005648:3802698843006338 1976:1976 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=139996654690522, stream=0xd8282639b1523) +3802698843014828:3802698843019208 1976:1976 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802698843023028:3802698843023029 1976:1976 MARK(name(after HIP LaunchKernel)) +3802698843026008:3802698845853349 1976:1976 hipMemcpy(dst=0x7f52741fe010, src=0x7f51e5e00000, sizeBytes=4194304, kind=2) +3802698853111313:3802698854993887 1976:1976 hipMemcpy(dst=0x7f51e6400000, src=0x7f52745ff010, sizeBytes=4194304, kind=1) +3802698854997117:3802698854997118 1976:1976 MARK(name(before HIP LaunchKernel)) +3802698855002497:3802698855003517 1976:1976 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802698855012077:3802698855012797 1976:1976 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=139996654690522, stream=0xd8282645236d5) +3802698855016057:3802698855020817 1976:1976 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802698855023077:3802698855023078 1976:1976 MARK(name(after HIP LaunchKernel)) +3802698855025977:3802698857837238 1976:1976 hipMemcpy(dst=0x7f52741fe010, src=0x7f51e5e00000, sizeBytes=4194304, kind=2) +3802698865088641:3802698866964035 1976:1976 hipMemcpy(dst=0x7f51e6400000, src=0x7f52745ff010, sizeBytes=4194304, kind=1) +3802698866967105:3802698866967106 1976:1976 MARK(name(before HIP LaunchKernel)) +3802698866972615:3802698866973345 1976:1976 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802698866976955:3802698866977825 1976:1976 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=139996654690522, stream=0xd82826508dba5) +3802698866981435:3802698866986035 1976:1976 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802698866997146:3802698866997147 1976:1976 MARK(name(after HIP LaunchKernel)) +3802698867000106:3802698869839287 1976:1976 hipMemcpy(dst=0x7f52741fe010, src=0x7f51e5e00000, sizeBytes=4194304, kind=2) +3802698877242462:3802698879128256 1976:1976 hipMemcpy(dst=0x7f51e6400000, src=0x7f52745ff010, sizeBytes=4194304, kind=1) +3802698879131726:3802698879131727 1976:1976 MARK(name(before HIP LaunchKernel)) +3802698879137336:3802698879138166 1976:1976 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802698879148266:3802698879149336 1976:1976 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=139996654690522, stream=0xd828265c27a2d) +3802698879153116:3802698879158216 1976:1976 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802698879160956:3802698879160957 1976:1976 MARK(name(after HIP LaunchKernel)) +3802698879163846:3802698881940627 1976:1976 hipMemcpy(dst=0x7f52741fe010, src=0x7f51e5e00000, sizeBytes=4194304, kind=2) +3802698889189470:3802698891077304 1976:1976 hipMemcpy(dst=0x7f51e6400000, src=0x7f52745ff010, sizeBytes=4194304, kind=1) +3802698891083484:3802698891083485 1976:1976 MARK(name(before HIP LaunchKernel)) +3802698891089354:3802698891090154 1976:1976 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802698891093694:3802698891094704 1976:1976 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=139996654690522, stream=0xd82826678d957) +3802698891098244:3802698891103244 1976:1976 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802698891106824:3802698891106825 1976:1976 MARK(name(after HIP LaunchKernel)) +3802698891109864:3802698893939445 1976:1976 hipMemcpy(dst=0x7f52741fe010, src=0x7f51e5e00000, sizeBytes=4194304, kind=2) +3802698901188239:3802698903064553 1976:1976 hipMemcpy(dst=0x7f51e6400000, src=0x7f52745ff010, sizeBytes=4194304, kind=1) +3802698903068033:3802698903068034 1976:1976 MARK(name(before HIP LaunchKernel)) +3802698903073683:3802698903074353 1976:1976 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802698903085733:3802698903086663 1976:1976 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=139996654690522, stream=0xd8282672fb652) +3802698903091353:3802698903096063 1976:1976 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802698903098493:3802698903098494 1976:1976 MARK(name(after HIP LaunchKernel)) +3802698903101383:3802698905925564 1976:1976 hipMemcpy(dst=0x7f52741fe010, src=0x7f51e5e00000, sizeBytes=4194304, kind=2) +3802698913173308:3802698915053642 1976:1976 hipMemcpy(dst=0x7f51e6400000, src=0x7f52745ff010, sizeBytes=4194304, kind=1) +3802698915061782:3802698915061783 1976:1976 MARK(name(before HIP LaunchKernel)) +3802698915069532:3802698915070312 1976:1976 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802698915074072:3802698915074782 1976:1976 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=139996654690522, stream=0xd828267e6c13e) +3802698915078272:3802698915083682 1976:1976 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802698915085962:3802698915085963 1976:1976 MARK(name(after HIP LaunchKernel)) +3802698915089812:3802698917892322 1976:1976 hipMemcpy(dst=0x7f52741fe010, src=0x7f51e5e00000, sizeBytes=4194304, kind=2) +3802698925126706:3802698927011150 1976:1976 hipMemcpy(dst=0x7f51e6400000, src=0x7f52745ff010, sizeBytes=4194304, kind=1) +3802698927014230:3802698927014231 1976:1976 MARK(name(before HIP LaunchKernel)) +3802698927020000:3802698927020720 1976:1976 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802698927032440:3802698927033170 1976:1976 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=139996654690522, stream=0xd8282689d1a46) +3802698927036700:3802698927041321 1976:1976 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802698927043761:3802698927043762 1976:1976 MARK(name(after HIP LaunchKernel)) +3802698927046621:3802698929935752 1976:1976 hipMemcpy(dst=0x7f52741fe010, src=0x7f51e5e00000, sizeBytes=4194304, kind=2) +3802698937177436:3802698939061320 1976:1976 hipMemcpy(dst=0x7f51e6400000, src=0x7f52745ff010, sizeBytes=4194304, kind=1) +3802698939069750:3802698939069751 1976:1976 MARK(name(before HIP LaunchKernel)) +3802698939076310:3802698939077020 1976:1976 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802698939080870:3802698939081570 1976:1976 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=139996654690522, stream=0xd8282695510dc) +3802698939084870:3802698939089430 1976:1976 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802698939092990:3802698939092991 1976:1976 MARK(name(after HIP LaunchKernel)) +3802698939097200:3802698941978711 1976:1976 hipMemcpy(dst=0x7f52741fe010, src=0x7f51e5e00000, sizeBytes=4194304, kind=2) +3802698949221485:3802698951101659 1976:1976 hipMemcpy(dst=0x7f51e6400000, src=0x7f52745ff010, sizeBytes=4194304, kind=1) +3802698951105299:3802698951105300 1976:1976 MARK(name(before HIP LaunchKernel)) +3802698951111219:3802698951111929 1976:1976 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802698951118669:3802698951119389 1976:1976 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=139996654690522, stream=0xd82826a0cb3ee) +3802698951122789:3802698951127409 1976:1976 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802698951129829:3802698951129830 1976:1976 MARK(name(after HIP LaunchKernel)) +3802698951132689:3802698953920560 1976:1976 hipMemcpy(dst=0x7f52741fe010, src=0x7f51e5e00000, sizeBytes=4194304, kind=2) +3802698961171144:3802698963051518 1976:1976 hipMemcpy(dst=0x7f51e6400000, src=0x7f52745ff010, sizeBytes=4194304, kind=1) +3802698963061238:3802698963061239 1976:1976 MARK(name(before HIP LaunchKernel)) +3802698963066828:3802698963067678 1976:1976 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802698963071128:3802698963071828 1976:1976 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=139996654690522, stream=0xd82826ac321c8) +3802698963075298:3802698963079728 1976:1976 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802698963082038:3802698963082039 1976:1976 MARK(name(after HIP LaunchKernel)) +3802698963086228:3802698965967039 1976:1976 hipMemcpy(dst=0x7f52741fe010, src=0x7f51e5e00000, sizeBytes=4194304, kind=2) +3802698973217592:3802698975091506 1976:1976 hipMemcpy(dst=0x7f51e6400000, src=0x7f52745ff010, sizeBytes=4194304, kind=1) +3802698975094756:3802698975094757 1976:1976 MARK(name(before HIP LaunchKernel)) +3802698975101086:3802698975102076 1976:1976 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802698975106056:3802698975106726 1976:1976 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=139996654690522, stream=0xd82826b7ac2dc) +3802698975116227:3802698975121077 1976:1976 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802698975123477:3802698975123478 1976:1976 MARK(name(after HIP LaunchKernel)) +3802698975126387:3802698977949518 1976:1976 hipMemcpy(dst=0x7f52741fe010, src=0x7f51e5e00000, sizeBytes=4194304, kind=2) +3802698985301822:3802698987542479 1976:1976 hipMemcpy(dst=0x7f51e6400000, src=0x7f52745ff010, sizeBytes=4194304, kind=1) +3802698987549519:3802698987549520 1976:1976 MARK(name(before HIP LaunchKernel)) +3802698987555649:3802698987556719 1976:1976 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802698987560349:3802698987561079 1976:1976 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=139996654690522, stream=0xd82826c38cd80) +3802698987564509:3802698987569269 1976:1976 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802698987571619:3802698987571620 1976:1976 MARK(name(after HIP LaunchKernel)) +3802698987575609:3802698990597572 1976:1976 hipMemcpy(dst=0x7f52741fe010, src=0x7f51e5e00000, sizeBytes=4194304, kind=2) +3802698997874896:3802698999754640 1976:1976 hipMemcpy(dst=0x7f51e6400000, src=0x7f52745ff010, sizeBytes=4194304, kind=1) +3802698999758110:3802698999758111 1976:1976 MARK(name(before HIP LaunchKernel)) +3802698999764690:3802698999765410 1976:1976 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802698999769380:3802698999770100 1976:1976 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=139996654690522, stream=0xd82826cf31766) +3802698999780600:3802698999785940 1976:1976 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802698999788340:3802698999788341 1976:1976 MARK(name(after HIP LaunchKernel)) +3802698999791270:3802699002817762 1976:1976 hipMemcpy(dst=0x7f52741fe010, src=0x7f51e5e00000, sizeBytes=4194304, kind=2) +3802699010227657:3802699012097991 1976:1976 hipMemcpy(dst=0x7f51e6400000, src=0x7f52745ff010, sizeBytes=4194304, kind=1) +3802699012101871:3802699012101872 1976:1976 MARK(name(before HIP LaunchKernel)) +3802699012115941:3802699012116741 1976:1976 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802699012120621:3802699012121391 1976:1976 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=139996654690522, stream=0xd82826daf8e7d) +3802699012124861:3802699012129831 1976:1976 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802699012132251:3802699012132252 1976:1976 MARK(name(after HIP LaunchKernel)) +3802699012136581:3802699014949362 1976:1976 hipMemcpy(dst=0x7f52741fe010, src=0x7f51e5e00000, sizeBytes=4194304, kind=2) +3802699022438768:3802699024580584 1976:1976 hipMemcpy(dst=0x7f51e6400000, src=0x7f52745ff010, sizeBytes=4194304, kind=1) +3802699024583594:3802699024583595 1976:1976 MARK(name(before HIP LaunchKernel)) +3802699024589914:3802699024590634 1976:1976 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802699024594074:3802699024594744 1976:1976 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=139996654690522, stream=0xd82826e6de453) +3802699024604114:3802699024610624 1976:1976 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802699024612984:3802699024612985 1976:1976 MARK(name(after HIP LaunchKernel)) +3802699024615904:3802699027593276 1976:1976 hipMemcpy(dst=0x7f52741fe010, src=0x7f51e5e00000, sizeBytes=4194304, kind=2) +3802699035017020:3802699036905485 1976:1976 hipMemcpy(dst=0x7f51e6400000, src=0x7f52745ff010, sizeBytes=4194304, kind=1) +3802699036908675:3802699036908676 1976:1976 MARK(name(before HIP LaunchKernel)) +3802699036919985:3802699036920785 1976:1976 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802699036924575:3802699036925295 1976:1976 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=139996654690522, stream=0xd82826f2a08ad) +3802699036928735:3802699036933725 1976:1976 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802699036936185:3802699036936186 1976:1976 MARK(name(after HIP LaunchKernel)) +3802699036939295:3802699039828536 1976:1976 hipMemcpy(dst=0x7f52741fe010, src=0x7f51e5e00000, sizeBytes=4194304, kind=2) +3802699047215001:3802699049111605 1976:1976 hipMemcpy(dst=0x7f51e6400000, src=0x7f52745ff010, sizeBytes=4194304, kind=1) +3802699049114885:3802699049114886 1976:1976 MARK(name(before HIP LaunchKernel)) +3802699049121225:3802699049122015 1976:1976 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802699049125975:3802699049126655 1976:1976 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=139996654690522, stream=0xd82826fe4356f) +3802699049133065:3802699049137906 1976:1976 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802699049140196:3802699049140197 1976:1976 MARK(name(after HIP LaunchKernel)) +3802699049143176:3802699051974467 1976:1976 hipMemcpy(dst=0x7f52741fe010, src=0x7f51e5e00000, sizeBytes=4194304, kind=2) +3802699059210290:3802699061571937 1976:1976 hipMemcpy(dst=0x7f51e6400000, src=0x7f52745ff010, sizeBytes=4194304, kind=1) +3802699061576927:3802699061576928 1976:1976 MARK(name(before HIP LaunchKernel)) +3802699061591027:3802699061592157 1976:1976 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802699061599587:3802699061600227 1976:1976 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=139996654690522, stream=0xd828270a27ca0) +3802699061603827:3802699061610067 1976:1976 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802699061612518:3802699061612519 1976:1976 MARK(name(after HIP LaunchKernel)) +3802699061615468:3802699064561019 1976:1976 hipMemcpy(dst=0x7f52741fe010, src=0x7f51e5e00000, sizeBytes=4194304, kind=2) +3802699071845474:3802699073754768 1976:1976 hipMemcpy(dst=0x7f51e6400000, src=0x7f52745ff010, sizeBytes=4194304, kind=1) +3802699073760088:3802699073760089 1976:1976 MARK(name(before HIP LaunchKernel)) +3802699073766628:3802699073767328 1976:1976 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802699073771818:3802699073772888 1976:1976 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=139996654690522, stream=0xd8282715c4396) +3802699073777188:3802699073783848 1976:1976 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802699073794088:3802699073794089 1976:1976 MARK(name(after HIP LaunchKernel)) +3802699073797098:3802699076475358 1976:1976 hipMemcpy(dst=0x7f52741fe010, src=0x7f51e5e00000, sizeBytes=4194304, kind=2) +3802699083684022:3802699085593416 1976:1976 hipMemcpy(dst=0x7f51e6400000, src=0x7f52745ff010, sizeBytes=4194304, kind=1) +3802699085598346:3802699085598347 1976:1976 MARK(name(before HIP LaunchKernel)) +3802699085614206:3802699085614916 1976:1976 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802699085618656:3802699085619256 1976:1976 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=139996654690522, stream=0xd828272110afa) +3802699085622846:3802699085629626 1976:1976 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802699085632166:3802699085632167 1976:1976 MARK(name(after HIP LaunchKernel)) +3802699085635456:3802699088538477 1976:1976 hipMemcpy(dst=0x7f52741fe010, src=0x7f51e5e00000, sizeBytes=4194304, kind=2) +3802699095734401:3802699097652455 1976:1976 hipMemcpy(dst=0x7f51e6400000, src=0x7f52745ff010, sizeBytes=4194304, kind=1) +3802699097658055:3802699097658056 1976:1976 MARK(name(before HIP LaunchKernel)) +3802699097663865:3802699097664635 1976:1976 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802699097669005:3802699097669915 1976:1976 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=139996654690522, stream=0xd828272c8e7db) +3802699097674485:3802699097681205 1976:1976 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802699097693135:3802699097693136 1976:1976 MARK(name(after HIP LaunchKernel)) +3802699097696155:3802699100511266 1976:1976 hipMemcpy(dst=0x7f52741fe010, src=0x7f51e5e00000, sizeBytes=4194304, kind=2) +3802699107694939:3802699109619024 1976:1976 hipMemcpy(dst=0x7f51e6400000, src=0x7f52745ff010, sizeBytes=4194304, kind=1) +3802699109624404:3802699109624405 1976:1976 MARK(name(before HIP LaunchKernel)) +3802699109630474:3802699109631254 1976:1976 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802699109643374:3802699109644064 1976:1976 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=139996654690522, stream=0xd8282737f8035) +3802699109647524:3802699109653984 1976:1976 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802699109656704:3802699109656705 1976:1976 MARK(name(after HIP LaunchKernel)) +3802699109659804:3802699112540796 1976:1976 hipMemcpy(dst=0x7f52741fe010, src=0x7f51e5e00000, sizeBytes=4194304, kind=2) +3802699119742278:3802699121659023 1976:1976 hipMemcpy(dst=0x7f51e6400000, src=0x7f52745ff010, sizeBytes=4194304, kind=1) +3802699121664153:3802699121664154 1976:1976 MARK(name(before HIP LaunchKernel)) +3802699121678353:3802699121679243 1976:1976 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802699121682993:3802699121683643 1976:1976 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=139996654690522, stream=0xd82827437565f) +3802699121687033:3802699121693163 1976:1976 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802699121697313:3802699121697314 1976:1976 MARK(name(after HIP LaunchKernel)) +3802699121700263:3802699124540774 1976:1976 hipMemcpy(dst=0x7f52741fe010, src=0x7f51e5e00000, sizeBytes=4194304, kind=2) +3802699131738558:3802699133655522 1976:1976 hipMemcpy(dst=0x7f51e6400000, src=0x7f52745ff010, sizeBytes=4194304, kind=1) +3802699133660552:3802699133660553 1976:1976 MARK(name(before HIP LaunchKernel)) +3802699133666152:3802699133666972 1976:1976 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802699133679242:3802699133679882 1976:1976 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=139996654690522, stream=0xd828274ee411b) +3802699133683652:3802699133691702 1976:1976 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802699133694372:3802699133694373 1976:1976 MARK(name(after HIP LaunchKernel)) +3802699133697272:3802699136512213 1976:1976 hipMemcpy(dst=0x7f52741fe010, src=0x7f51e5e00000, sizeBytes=4194304, kind=2) +3802699143703507:3802699145635491 1976:1976 hipMemcpy(dst=0x7f51e6400000, src=0x7f52745ff010, sizeBytes=4194304, kind=1) +3802699145648991:3802699145648992 1976:1976 MARK(name(before HIP LaunchKernel)) +3802699145655871:3802699145656651 1976:1976 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802699145660741:3802699145661361 1976:1976 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=139996654690522, stream=0xd828275a5337f) +3802699145664821:3802699145671511 1976:1976 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802699145675191:3802699145675192 1976:1976 MARK(name(after HIP LaunchKernel)) +3802699145678281:3802699148510591 1976:1976 hipMemcpy(dst=0x7f52741fe010, src=0x7f51e5e00000, sizeBytes=4194304, kind=2) +3802699155711275:3802699157626019 1976:1976 hipMemcpy(dst=0x7f51e6400000, src=0x7f52745ff010, sizeBytes=4194304, kind=1) +3802699157631109:3802699157631110 1976:1976 MARK(name(before HIP LaunchKernel)) +3802699157637459:3802699157638229 1976:1976 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802699157652159:3802699157652859 1976:1976 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=139996654690522, stream=0xd8282765c063f) +3802699157656110:3802699157662340 1976:1976 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802699157665000:3802699157665001 1976:1976 MARK(name(after HIP LaunchKernel)) +3802699157668360:3802699160511181 1976:1976 hipMemcpy(dst=0x7f52741fe010, src=0x7f51e5e00000, sizeBytes=4194304, kind=2) +3802699167714664:3802699169649569 1976:1976 hipMemcpy(dst=0x7f51e6400000, src=0x7f52745ff010, sizeBytes=4194304, kind=1) +3802699169661229:3802699169661230 1976:1976 MARK(name(before HIP LaunchKernel)) +3802699169667029:3802699169667729 1976:1976 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802699169672569:3802699169673269 1976:1976 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=139996654690522, stream=0xd828277139439) +3802699169676819:3802699169682979 1976:1976 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802699169689049:3802699169689050 1976:1976 MARK(name(after HIP LaunchKernel)) +3802699169691989:3802699172511900 1976:1976 hipMemcpy(dst=0x7f52741fe010, src=0x7f51e5e00000, sizeBytes=4194304, kind=2) +3802699179707213:3802699181741368 1976:1976 hipMemcpy(dst=0x7f51e6400000, src=0x7f52745ff010, sizeBytes=4194304, kind=1) +3802699181746668:3802699181746669 1976:1976 MARK(name(before HIP LaunchKernel)) +3802699181753328:3802699181754138 1976:1976 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802699181767048:3802699181767888 1976:1976 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=139996654690522, stream=0xd828277cc006d) +3802699181771528:3802699181778048 1976:1976 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802699181780598:3802699181780599 1976:1976 MARK(name(after HIP LaunchKernel)) +3802699181783668:3802699184623319 1976:1976 hipMemcpy(dst=0x7f52741fe010, src=0x7f51e5e00000, sizeBytes=4194304, kind=2) +3802699191820303:3802699193611266 1976:1976 hipMemcpy(dst=0x7f51e6400000, src=0x7f52745ff010, sizeBytes=4194304, kind=1) +3802699193624326:3802699193624327 1976:1976 MARK(name(before HIP LaunchKernel)) +3802699193631736:3802699193632546 1976:1976 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802699193636886:3802699193637606 1976:1976 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=139996654690522, stream=0xd82827881402a) +3802699193641336:3802699193650646 1976:1976 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802699193653116:3802699193653117 1976:1976 MARK(name(after HIP LaunchKernel)) +3802699193657326:3802699196561538 1976:1976 hipMemcpy(dst=0x7f52741fe010, src=0x7f51e5e00000, sizeBytes=4194304, kind=2) +3802699203761851:3802699205681105 1976:1976 hipMemcpy(dst=0x7f51e6400000, src=0x7f52745ff010, sizeBytes=4194304, kind=1) +3802699205686495:3802699205686496 1976:1976 MARK(name(before HIP LaunchKernel)) +3802699205692475:3802699205693165 1976:1976 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802699205705485:3802699205706195 1976:1976 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=139996654690522, stream=0xd8282793947aa) +3802699205709745:3802699205715435 1976:1976 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802699205717865:3802699205717866 1976:1976 MARK(name(after HIP LaunchKernel)) +3802699205721345:3802699208555366 1976:1976 hipMemcpy(dst=0x7f52741fe010, src=0x7f51e5e00000, sizeBytes=4194304, kind=2) +3802699215749260:3802699217667774 1976:1976 hipMemcpy(dst=0x7f51e6400000, src=0x7f52745ff010, sizeBytes=4194304, kind=1) +3802699217682594:3802699217682595 1976:1976 MARK(name(before HIP LaunchKernel)) +3802699217694364:3802699217694984 1976:1976 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802699217698675:3802699217699385 1976:1976 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=139996654690522, stream=0xd828279f0697a) +3802699217702705:3802699217708915 1976:1976 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802699217711325:3802699217711326 1976:1976 MARK(name(after HIP LaunchKernel)) +3802699217716055:3802699220641626 1976:1976 hipMemcpy(dst=0x7f52741fe010, src=0x7f51e5e00000, sizeBytes=4194304, kind=2) +3802699227838340:3802699229766974 1976:1976 hipMemcpy(dst=0x7f51e6400000, src=0x7f52745ff010, sizeBytes=4194304, kind=1) +3802699229772334:3802699229772335 1976:1976 MARK(name(before HIP LaunchKernel)) +3802699229778744:3802699229779444 1976:1976 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802699229783344:3802699229784044 1976:1976 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=139996654690522, stream=0xd82827aa8ce1a) +3802699229796224:3802699229802554 1976:1976 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802699229804964:3802699229804965 1976:1976 MARK(name(after HIP LaunchKernel)) +3802699229807954:3802699232621635 1976:1976 hipMemcpy(dst=0x7f52741fe010, src=0x7f51e5e00000, sizeBytes=4194304, kind=2) +3802699239803828:3802699241725872 1976:1976 hipMemcpy(dst=0x7f51e6400000, src=0x7f52745ff010, sizeBytes=4194304, kind=1) +3802699241737733:3802699241737734 1976:1976 MARK(name(before HIP LaunchKernel)) +3802699241743593:3802699241744863 1976:1976 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802699241749303:3802699241749993 1976:1976 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=139996654690522, stream=0xd82827b5f61ba) +3802699241753533:3802699241759763 1976:1976 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802699241762193:3802699241762194 1976:1976 MARK(name(after HIP LaunchKernel)) +3802699241766503:3802699244615794 1976:1976 hipMemcpy(dst=0x7f52741fe010, src=0x7f51e5e00000, sizeBytes=4194304, kind=2) +3802699251803527:3802699253725762 1976:1976 hipMemcpy(dst=0x7f51e6400000, src=0x7f52745ff010, sizeBytes=4194304, kind=1) +3802699253730862:3802699253730863 1976:1976 MARK(name(before HIP LaunchKernel)) +3802699253737332:3802699253738082 1976:1976 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802699253742362:3802699253743032 1976:1976 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=139996654690522, stream=0xd82827c1661f2) +3802699253758812:3802699253764912 1976:1976 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802699253767352:3802699253767353 1976:1976 MARK(name(after HIP LaunchKernel)) +3802699253770612:3802699256616103 1976:1976 hipMemcpy(dst=0x7f52741fe010, src=0x7f51e5e00000, sizeBytes=4194304, kind=2) +3802699263811336:3802699265743710 1976:1976 hipMemcpy(dst=0x7f51e6400000, src=0x7f52745ff010, sizeBytes=4194304, kind=1) +3802699265749390:3802699265749391 1976:1976 MARK(name(before HIP LaunchKernel)) +3802699265763500:3802699265764180 1976:1976 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802699265768430:3802699265769150 1976:1976 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=139996654690522, stream=0xd82827ccde29a) +3802699265772570:3802699265778851 1976:1976 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802699265781451:3802699265781452 1976:1976 MARK(name(after HIP LaunchKernel)) +3802699265786301:3802699268615402 1976:1976 hipMemcpy(dst=0x7f52741fe010, src=0x7f51e5e00000, sizeBytes=4194304, kind=2) +3802699275804585:3802699277731319 1976:1976 hipMemcpy(dst=0x7f51e6400000, src=0x7f52745ff010, sizeBytes=4194304, kind=1) +3802699277736669:3802699277736670 1976:1976 MARK(name(before HIP LaunchKernel)) +3802699277742800:3802699277743570 1976:1976 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802699277747580:3802699277748250 1976:1976 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=139996654690522, stream=0xd82827d84accc) +3802699277759610:3802699277765550 1976:1976 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802699277768230:3802699277768231 1976:1976 MARK(name(after HIP LaunchKernel)) +3802699277771280:3802699280612001 1976:1976 hipMemcpy(dst=0x7f52741fe010, src=0x7f51e5e00000, sizeBytes=4194304, kind=2) +3802699287807834:3802699289726278 1976:1976 hipMemcpy(dst=0x7f51e6400000, src=0x7f52745ff010, sizeBytes=4194304, kind=1) +3802699289731828:3802699289731829 1976:1976 MARK(name(before HIP LaunchKernel)) +3802699289745528:3802699289746758 1976:1976 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802699289750869:3802699289751579 1976:1976 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=139996654690522, stream=0xd82827e3bd3f6) +3802699289755189:3802699289761699 1976:1976 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802699289764109:3802699289764110 1976:1976 MARK(name(after HIP LaunchKernel)) +3802699289767699:3802699292619549 1976:1976 hipMemcpy(dst=0x7f52741fe010, src=0x7f51e5e00000, sizeBytes=4194304, kind=2) +3802699299873663:3802699301803658 1976:1976 hipMemcpy(dst=0x7f51e6400000, src=0x7f52745ff010, sizeBytes=4194304, kind=1) +3802699301809348:3802699301809349 1976:1976 MARK(name(before HIP LaunchKernel)) +3802699301815888:3802699301816798 1976:1976 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802699301821108:3802699301822328 1976:1976 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=139996654690522, stream=0xd82827ef40042) +3802699301834178:3802699301841128 1976:1976 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802699301843648:3802699301843649 1976:1976 MARK(name(after HIP LaunchKernel)) +3802699301848508:3802699304645529 1976:1976 hipMemcpy(dst=0x7f52741fe010, src=0x7f51e5e00000, sizeBytes=4194304, kind=2) +3802699311829462:3802699313753087 1976:1976 hipMemcpy(dst=0x7f51e6400000, src=0x7f52745ff010, sizeBytes=4194304, kind=1) +3802699313758697:3802699313758698 1976:1976 MARK(name(before HIP LaunchKernel)) +3802699313771767:3802699313773057 1976:1976 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802699313778777:3802699313779477 1976:1976 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=139996654690522, stream=0xd82827faa7019) +3802699313782847:3802699313788517 1976:1976 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802699313790917:3802699313790918 1976:1976 MARK(name(after HIP LaunchKernel)) +3802699313794047:3802699316614648 1976:1976 hipMemcpy(dst=0x7f52741fe010, src=0x7f51e5e00000, sizeBytes=4194304, kind=2) +3802699323797590:3802699325714435 1976:1976 hipMemcpy(dst=0x7f51e6400000, src=0x7f52745ff010, sizeBytes=4194304, kind=1) +3802699325719505:3802699325719506 1976:1976 MARK(name(before HIP LaunchKernel)) +3802699325734505:3802699325735225 1976:1976 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802699325739345:3802699325740035 1976:1976 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=139996654690522, stream=0xd82828060f711) +3802699325743645:3802699325749805 1976:1976 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802699325757445:3802699325757446 1976:1976 MARK(name(after HIP LaunchKernel)) +3802699325760665:3802699328644537 1976:1976 hipMemcpy(dst=0x7f52741fe010, src=0x7f51e5e00000, sizeBytes=4194304, kind=2) +3802699335827320:3802699337749964 1976:1976 hipMemcpy(dst=0x7f51e6400000, src=0x7f52745ff010, sizeBytes=4194304, kind=1) +3802699337755554:3802699337755555 1976:1976 MARK(name(before HIP LaunchKernel)) +3802699337769104:3802699337770514 1976:1976 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802699337774764:3802699337775474 1976:1976 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=139996654690522, stream=0xd828281189b95) +3802699337779024:3802699337785055 1976:1976 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802699337787655:3802699337787656 1976:1976 MARK(name(after HIP LaunchKernel)) +3802699337790605:3802699340622336 1976:1976 hipMemcpy(dst=0x7f52741fe010, src=0x7f51e5e00000, sizeBytes=4194304, kind=2) +3802699347804409:3802699349737103 1976:1976 hipMemcpy(dst=0x7f51e6400000, src=0x7f52745ff010, sizeBytes=4194304, kind=1) +3802699349742063:3802699349742064 1976:1976 MARK(name(before HIP LaunchKernel)) +3802699349748683:3802699349749523 1976:1976 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802699349753293:3802699349753943 1976:1976 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=139996654690522, stream=0xd828281cf644b) +3802699349758393:3802699349764493 1976:1976 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802699349774693:3802699349774694 1976:1976 MARK(name(after HIP LaunchKernel)) +3802699349779943:3802699352616714 1976:1976 hipMemcpy(dst=0x7f52741fe010, src=0x7f51e5e00000, sizeBytes=4194304, kind=2) +3802699359803588:3802699361730812 1976:1976 hipMemcpy(dst=0x7f51e6400000, src=0x7f52745ff010, sizeBytes=4194304, kind=1) +3802699361736152:3802699361736153 1976:1976 MARK(name(before HIP LaunchKernel)) +3802699361742292:3802699361743052 1976:1976 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802699361754862:3802699361755562 1976:1976 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=139996654690522, stream=0xd8282828665b9) +3802699361759102:3802699361765312 1976:1976 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802699361767752:3802699361767753 1976:1976 MARK(name(after HIP LaunchKernel)) +3802699361771282:3802699364613603 1976:1976 hipMemcpy(dst=0x7f52741fe010, src=0x7f51e5e00000, sizeBytes=4194304, kind=2) +3802699371823247:3802699373736611 1976:1976 hipMemcpy(dst=0x7f51e6400000, src=0x7f52745ff010, sizeBytes=4194304, kind=1) +3802699373746211:3802699373746212 1976:1976 MARK(name(before HIP LaunchKernel)) +3802699373752561:3802699373753271 1976:1976 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802699373758271:3802699373758901 1976:1976 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=139996654690522, stream=0xd8282833da859) +3802699373762221:3802699373768931 1976:1976 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802699373775911:3802699373775912 1976:1976 MARK(name(after HIP LaunchKernel)) +3802699373779381:3802699376620982 1976:1976 hipMemcpy(dst=0x7f52741fe010, src=0x7f51e5e00000, sizeBytes=4194304, kind=2) +3802699383817145:3802699385737460 1976:1976 hipMemcpy(dst=0x7f51e6400000, src=0x7f52745ff010, sizeBytes=4194304, kind=1) +3802699385742870:3802699385742871 1976:1976 MARK(name(before HIP LaunchKernel)) +3802699385749530:3802699385750290 1976:1976 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802699385761920:3802699385762530 1976:1976 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=139996654690522, stream=0xd828283f4b769) +3802699385766130:3802699385772000 1976:1976 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802699385774620:3802699385774621 1976:1976 MARK(name(after HIP LaunchKernel)) +3802699385777950:3802699388612991 1976:1976 hipMemcpy(dst=0x7f52741fe010, src=0x7f51e5e00000, sizeBytes=4194304, kind=2) +3802699395807895:3802699397733849 1976:1976 hipMemcpy(dst=0x7f51e6400000, src=0x7f52745ff010, sizeBytes=4194304, kind=1) +3802699397740909:3802699397740910 1976:1976 MARK(name(before HIP LaunchKernel)) +3802699397747049:3802699397747799 1976:1976 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802699397752029:3802699397752719 1976:1976 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=139996654690522, stream=0xd828284abc862) +3802699397757249:3802699397763349 1976:1976 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802699397776809:3802699397776810 1976:1976 MARK(name(after HIP LaunchKernel)) +3802699397780029:3802699400617390 1976:1976 hipMemcpy(dst=0x7f52741fe010, src=0x7f51e5e00000, sizeBytes=4194304, kind=2) +3802699407934635:3802699409873649 1976:1976 hipMemcpy(dst=0x7f51e6400000, src=0x7f52745ff010, sizeBytes=4194304, kind=1) +3802699409879209:3802699409879210 1976:1976 MARK(name(before HIP LaunchKernel)) +3802699409885679:3802699409886629 1976:1976 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802699409899719:3802699409900449 1976:1976 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=139996654690522, stream=0xd828285650165) +3802699409905739:3802699409912319 1976:1976 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802699409915079:3802699409915080 1976:1976 MARK(name(after HIP LaunchKernel)) +3802699409918789:3802699412719650 1976:1976 hipMemcpy(dst=0x7f52741fe010, src=0x7f51e5e00000, sizeBytes=4194304, kind=2) +3802699420036374:3802699421950258 1976:1976 hipMemcpy(dst=0x7f51e6400000, src=0x7f52745ff010, sizeBytes=4194304, kind=1) +3802699421957068:3802699421957069 1976:1976 MARK(name(before HIP LaunchKernel)) +3802699421963598:3802699421964618 1976:1976 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802699421969478:3802699421970138 1976:1976 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=139996654690522, stream=0xd8282861d4cbe) +3802699421973578:3802699422037899 1976:1976 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802699422042189:3802699422042190 1976:1976 MARK(name(after HIP LaunchKernel)) +3802699422045949:3802699424850750 1976:1976 hipMemcpy(dst=0x7f52741fe010, src=0x7f51e5e00000, sizeBytes=4194304, kind=2) +3802699432145324:3802699434173909 1976:1976 hipMemcpy(dst=0x7f51e6400000, src=0x7f52745ff010, sizeBytes=4194304, kind=1) +3802699434179829:3802699434179830 1976:1976 MARK(name(before HIP LaunchKernel)) +3802699434187029:3802699434187689 1976:1976 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802699434200289:3802699434200939 1976:1976 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=139996654690522, stream=0xd828286d7ced1) +3802699434204389:3802699434210599 1976:1976 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802699434212959:3802699434212960 1976:1976 MARK(name(after HIP LaunchKernel)) +3802699434216169:3802699436905809 1976:1976 hipMemcpy(dst=0x7f52741fe010, src=0x7f51e5e00000, sizeBytes=4194304, kind=2) +3802699444200713:3802699446173478 1976:1976 hipMemcpy(dst=0x7f51e6400000, src=0x7f52745ff010, sizeBytes=4194304, kind=1) +3802699446185298:3802699446185299 1976:1976 MARK(name(before HIP LaunchKernel)) +3802699446193848:3802699446194668 1976:1976 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802699446198508:3802699446199208 1976:1976 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=139996654690522, stream=0xd8282878f04c9) +3802699446202728:3802699446209428 1976:1976 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802699446211658:3802699446211659 1976:1976 MARK(name(after HIP LaunchKernel)) +3802699446216658:3802699448885168 1976:1976 hipMemcpy(dst=0x7f52741fe010, src=0x7f51e5e00000, sizeBytes=4194304, kind=2) +3802699456165452:3802699458174717 1976:1976 hipMemcpy(dst=0x7f51e6400000, src=0x7f52745ff010, sizeBytes=4194304, kind=1) +3802699458180397:3802699458180398 1976:1976 MARK(name(before HIP LaunchKernel)) +3802699458187887:3802699458188587 1976:1976 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802699458200577:3802699458201267 1976:1976 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=139996654690522, stream=0xd8282884607bc) +3802699458205087:3802699458211437 1976:1976 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802699458213717:3802699458213718 1976:1976 MARK(name(after HIP LaunchKernel)) +3802699458217267:3802699460898057 1976:1976 hipMemcpy(dst=0x7f52741fe010, src=0x7f51e5e00000, sizeBytes=4194304, kind=2) +3802699468180681:3802699470179786 1976:1976 hipMemcpy(dst=0x7f51e6400000, src=0x7f52745ff010, sizeBytes=4194304, kind=1) +3802699470191986:3802699470191987 1976:1976 MARK(name(before HIP LaunchKernel)) +3802699470201086:3802699470201916 1976:1976 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802699470207526:3802699470208446 1976:1976 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=139996654690522, stream=0xd828288fd5682) +3802699470211866:3802699470218576 1976:1976 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802699470220906:3802699470220907 1976:1976 MARK(name(after HIP LaunchKernel)) +3802699470226026:3802699472914856 1976:1976 hipMemcpy(dst=0x7f52741fe010, src=0x7f51e5e00000, sizeBytes=4194304, kind=2) +3802699480188860:3802699482175565 1976:1976 hipMemcpy(dst=0x7f51e6400000, src=0x7f52745ff010, sizeBytes=4194304, kind=1) +3802699482180735:3802699482180736 1976:1976 MARK(name(before HIP LaunchKernel)) +3802699482188645:3802699482189345 1976:1976 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802699482193665:3802699482194535 1976:1976 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=139996654690522, stream=0xd828289b4401c) +3802699482209565:3802699482216395 1976:1976 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802699482218925:3802699482218926 1976:1976 MARK(name(after HIP LaunchKernel)) +3802699482223115:3802699484900465 1976:1976 hipMemcpy(dst=0x7f52741fe010, src=0x7f51e5e00000, sizeBytes=4194304, kind=2) +3802699492186919:3802699494178534 1976:1976 hipMemcpy(dst=0x7f51e6400000, src=0x7f52745ff010, sizeBytes=4194304, kind=1) +3802699494189584:3802699494189585 1976:1976 MARK(name(before HIP LaunchKernel)) +3802699494197714:3802699494198884 1976:1976 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802699494202904:3802699494203814 1976:1976 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=139996654690522, stream=0xd82828a6b8014) +3802699494207244:3802699494213974 1976:1976 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802699494216254:3802699494216255 1976:1976 MARK(name(after HIP LaunchKernel)) +3802699494221114:3802699496905484 1976:1976 hipMemcpy(dst=0x7f52741fe010, src=0x7f51e5e00000, sizeBytes=4194304, kind=2) +3802699504183397:3802699504274468 1976:1976 hipFree(ptr=0x7f51e6400000) +3802699504288208:3802699504307198 1976:1976 hipFree(ptr=0x7f51e5e00000) +3802698011201934:3802698011203914 1976:1976 hsa_amd_profiling_async_copy_enable() = 0 +3802698011441816:3802698011443066 1976:1976 hsa_system_get_major_extension_table(, , , 0x7f5383f680a0) = 0 +3802698011446786:3802698011447196 1976:1976 hsa_agent_get_info(, 17, 0x7fff4ce0388c) = 0 +3802698011450456:3802698011451166 1976:1976 hsa_amd_memory_pool_get_info(, 0, 0x7fff4ce03730) = 0 +3802698011451626:3802698011451946 1976:1976 hsa_amd_memory_pool_get_info(, 1, 0x7fff4ce03734) = 0 +3802698011452426:3802698011452726 1976:1976 hsa_amd_memory_pool_get_info(, 0, 0x7fff4ce03730) = 0 +3802698011453166:3802698011453466 1976:1976 hsa_amd_memory_pool_get_info(, 1, 0x7fff4ce03734) = 0 +3802698011453166:3802698011453916 1976:1976 hsa_amd_agent_iterate_memory_pools(, 1, 0x7fff4ce03890) = 1 +3802698011455016:3802698011455406 1976:1976 hsa_agent_get_info(, 17, 0x7fff4ce0388c) = 0 +3802698011455016:3802698011455976 1976:1976 hsa_iterate_agents(1, 0) = 0 +3802698011458096:3802698011458426 1976:1976 hsa_agent_get_info(, 40960, 0x7fff4ce03a78) = 0 +3802698011458956:3802698011461986 1976:1976 hsa_agent_get_info(, 0, 0x7fff4ce03b50) = 0 +3802698011463226:3802698011463556 1976:1976 hsa_agent_get_info(, 19, 0x7fff4ce03a80) = 0 +3802698011465546:3802698011480886 1976:1976 hsa_isa_get_info_alt(, 0, 0x7fff4ce03a7c) = 0 +3802698011481446:3802698011485266 1976:1976 hsa_isa_get_info_alt(, 1, 0x7fff4ce039d0) = 0 +3802698011494106:3802698011494446 1976:1976 hsa_agent_get_info(, 4, 0x17ffa40) = 0 +3802698011495066:3802698011495406 1976:1976 hsa_agent_get_info(, 40976, 0x7fff4ce038d0) = 0 +3802698014769910:3802698014771410 1976:1976 hsa_agent_get_info(, 40966, 0x7fff4ce038d4) = 0 +3802698014792061:3802698014792421 1976:1976 hsa_agent_get_info(, 40969, 0x7fff4ce037b0) = 0 +3802698014792881:3802698014793181 1976:1976 hsa_agent_get_info(, 40962, 0x17ff4d4) = 0 +3802698014793571:3802698014793871 1976:1976 hsa_agent_get_info(, 40961, 0x17ff5dc) = 0 +3802698014794261:3802698014794651 1976:1976 hsa_agent_get_info(, 18, 0x7fff4ce03410) = 0 +3802698014802871:3802698014803461 1976:1976 hsa_agent_get_info(, 40963, 0x17ff548) = 0 +3802698014803871:3802698014804171 1976:1976 hsa_agent_get_info(, 40968, 0x17ff54c) = 0 +3802698014807501:3802698014808421 1976:1976 hsa_amd_agent_memory_pool_get_info(, , 1, 0x7fff4ce03304) = 0 +3802698014808871:3802698014809171 1976:1976 hsa_amd_agent_memory_pool_get_info(, , 2, 0x18274a0) = 0 +3802698014811571:3802698014812321 1976:1976 hsa_amd_memory_pool_get_info(, 0, 0x7fff4ce0325c) = 0 +3802698014812731:3802698014813011 1976:1976 hsa_amd_memory_pool_get_info(, 1, 0x7fff4ce03260) = 0 +3802698014813411:3802698014813761 1976:1976 hsa_amd_agent_memory_pool_get_info(, , 0, 0x7fff4ce03264) = 0 +3802698014815331:3802698014815641 1976:1976 hsa_amd_memory_pool_get_info(, 0, 0x7fff4ce0325c) = 0 +3802698014815331:3802698014816131 1976:1976 hsa_amd_agent_iterate_memory_pools(, 1, 0x17ff480) = 0 +3802698014816651:3802698014816951 1976:1976 hsa_amd_memory_pool_get_info(, 2, 0x7fff4ce033f0) = 0 +3802698014817361:3802698014817641 1976:1976 hsa_amd_memory_pool_get_info(, 2, 0x7fff4ce03400) = 0 +3802698014818161:3802698014818451 1976:1976 hsa_amd_memory_pool_get_info(, 6, 0x17ffa80) = 0 +3802698014819041:3802698014819341 1976:1976 hsa_agent_get_info(, 8, 0x7fff4ce033ec) = 0 +3802698014819731:3802698014820091 1976:1976 hsa_agent_get_info(, 7, 0x7fff4ce0340a) = 0 +3802698014820571:3802698014820871 1976:1976 hsa_agent_get_info(, 21, 0x7fff4ce033e8) = 0 +3802698014821261:3802698014821551 1976:1976 hsa_agent_get_info(, 22, 0x7fff4ce033ea) = 0 +3802698014828401:3802698014962122 1976:1976 hsa_agent_get_info(, 20, 0x7fff4ce037f0) = 0 +3802698014962982:3802698014963362 1976:1976 hsa_agent_get_info(, 12299, 0x17ff5b0) = 0 +3802698014963752:3802698014964052 1976:1976 hsa_agent_get_info(, 12297, 0x17ff560) = 0 +3802698014964442:3802698014964732 1976:1976 hsa_agent_get_info(, 12298, 0x17ff568) = 0 +3802698014970512:3802698014971232 1976:1976 hsa_amd_agent_iterate_memory_pools(, 1, 0x18275f0) = 1 +3802698014970512:3802698015025842 1976:1976 hsa_agent_get_info(, 12291, 0x7fff4ce03480) = 0 +3802698015026382:3802698015026862 1976:1976 hsa_agent_get_info(, 12295, 0x7fff4ce03480) = 0 +3802698015027252:3802698015027592 1976:1976 hsa_agent_get_info(, 12296, 0x7fff4ce03400) = 0 +3802698015027982:3802698015028312 1976:1976 hsa_agent_get_info(, 12290, 0x7fff4ce03480) = 0 +3802698015028782:3802698015029082 1976:1976 hsa_agent_get_info(, 6, 0x17ff7ec) = 0 +3802698015029482:3802698015029782 1976:1976 hsa_agent_get_info(, 40967, 0x17ff550) = 0 +3802698015030172:3802698015030462 1976:1976 hsa_agent_get_info(, 40970, 0x7fff4ce033f8) = 0 +3802698015030852:3802698015031152 1976:1976 hsa_agent_get_info(, 18, 0x7fff4ce03480) = 0 +3802698015031552:3802698015031832 1976:1976 hsa_agent_get_info(, 40978, 0x7fff4ce03400) = 0 +3802698015047713:3802698015087373 1976:1976 hsa_amd_memory_pool_allocate(, , , 0x7fff4ce03610) = 0 +3802698015089253:3802698015251344 1976:1976 hsa_amd_agents_allow_access(, 0x17ff460, 0, 0x7f5384db4000) = 0 +3802698015254074:3802698015454916 1976:1976 hsa_amd_memory_pool_allocate(, , , 0x7fff4ce037f0) = 0 +3802698015455576:3802698015556336 1976:1976 hsa_amd_agents_allow_access(, 0x17ff460, 0, 0x7f5274c00000) = 0 +3802698015559026:3802698015754028 1976:1976 hsa_amd_memory_pool_allocate(, , , 0x7fff4ce037f0) = 0 +3802698015756988:3802698015839818 1976:1976 hsa_amd_agents_allow_access(, 0x17ff460, 0, 0x7f5274a00000) = 0 +3802698015842078:3802698015846288 1976:1976 hsa_signal_create(1, , 0, 0x17ffa70) = 0 +3802698015862619:3802698015863069 1976:1976 hsa_system_get_info(3, 0x7fff4ce03950) = 0 +3802698015870569:3802698015871099 1976:1976 hsa_system_get_info(2, 0x7fff4ce03950) = 0 +3802698015878849:3802698015879379 1976:1976 hsa_system_get_info(2, 0x7fff4ce03940) = 0 +3802698016925756:3802698016926376 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698016930647:3802698017148068 1976:1976 hsa_amd_memory_pool_allocate(, , , 0x7fff4ce03da0) = 0 +3802698017150708:3802698017151248 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698017152518:3802698017153048 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698017154718:3802698017215619 1976:1976 hsa_amd_memory_pool_allocate(, , , 0x7fff4ce03da0) = 0 +3802698017217619:3802698017218159 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698017229979:3802698017230509 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698017503041:3802698017506901 1976:1980 hsa_agent_get_info(, 14, 0x7f5384c978ec) = 0 +3802698017519911:3802698027635946 1976:1980 hsa_queue_create(, , , 1, 0x17ff480, , , ) = 0 +3802698027648626:3802698027649546 1976:1980 hsa_amd_profiling_set_profiler_enabled(, 1) = 0 +3802698027653516:3802698027750107 1976:1980 hsa_amd_memory_pool_allocate(, , , 0x7f5384c97b00) = 0 +3802698027751077:3802698027870718 1976:1980 hsa_amd_agents_allow_access(, 0x17ff460, 0, 0x7f5375a80000) = 0 +3802698027876688:3802698027880688 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698027881108:3802698027882418 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698027882808:3802698027884198 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698027884578:3802698027885848 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698027886228:3802698027887358 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698027887738:3802698027889168 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698027889558:3802698027890708 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698027891088:3802698027892118 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698027892508:3802698027893558 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698027893948:3802698027894738 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698027895118:3802698027895908 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698027896288:3802698027897348 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698027899368:3802698027900358 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698027900748:3802698027902108 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698027902498:3802698027903368 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698027903748:3802698027904798 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698027905188:3802698027906228 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698027906618:3802698027907498 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698027907878:3802698027908758 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698027909138:3802698027910448 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698027910838:3802698027912308 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698027912698:3802698027913658 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698027914048:3802698027914758 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698027915148:3802698027916048 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698027916428:3802698027917208 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698027917598:3802698027984709 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698027985329:3802698027986089 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698027986469:3802698027987409 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698027987799:3802698027988509 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698027988889:3802698027989799 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698027990189:3802698027990899 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698027991279:3802698027991989 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698027992379:3802698027993279 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698027993669:3802698027994999 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698027995389:3802698027996499 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698027996889:3802698027997959 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698027998349:3802698027999119 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698027999509:3802698028008949 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028009369:3802698028010169 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028010549:3802698028011259 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028013009:3802698028013789 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028014179:3802698028015529 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028015909:3802698028017919 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028018319:3802698028019209 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028019589:3802698028020309 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028020699:3802698028021409 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028021799:3802698028022509 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028022899:3802698028023609 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028023989:3802698028024699 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028025089:3802698028025969 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028026359:3802698028027069 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028027449:3802698028028339 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028028729:3802698028029509 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028029889:3802698028030609 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028030989:3802698028031779 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028032159:3802698028032889 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028033279:3802698028033989 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028034379:3802698028035089 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028035469:3802698028036339 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028036729:3802698028037479 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028037869:3802698028038599 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028038989:3802698028040309 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028040709:3802698028041489 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028041869:3802698028042709 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028043099:3802698028043869 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028044259:3802698028045139 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028045519:3802698028046239 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028046629:3802698028047339 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028047729:3802698028048439 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028049999:3802698028050779 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028051169:3802698028051899 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028052289:3802698028054369 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028054769:3802698028055549 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028055939:3802698028056649 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028057039:3802698028057749 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028058139:3802698028058849 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028059229:3802698028059939 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028060329:3802698028061049 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028061429:3802698028062139 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028062529:3802698028063289 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028063669:3802698028064389 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028064769:3802698028065479 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028065869:3802698028066579 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028066959:3802698028067789 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028068169:3802698028068879 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028069269:3802698028069979 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028070359:3802698028071079 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028071459:3802698028072179 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028072559:3802698028073379 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028073769:3802698028147370 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028148160:3802698028149060 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028149440:3802698028150170 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028150550:3802698028151260 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028151650:3802698028152360 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028152750:3802698028153460 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028153840:3802698028154560 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028154940:3802698028155650 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028156930:3802698028157680 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028158070:3802698028158780 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028159160:3802698028159880 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028160270:3802698028161020 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028161400:3802698028162140 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028162520:3802698028163510 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028163900:3802698028164840 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028165220:3802698028165940 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028166320:3802698028167110 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028167500:3802698028168320 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028168700:3802698028169420 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028169800:3802698028170640 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028171030:3802698028171810 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028172200:3802698028172900 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028173290:3802698028174000 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028174390:3802698028175100 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028175480:3802698028176190 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028176580:3802698028177280 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028177670:3802698028178380 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028178760:3802698028179480 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028179860:3802698028180570 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028180950:3802698028182610 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028183010:3802698028183720 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028184110:3802698028184810 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028185200:3802698028185920 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028186300:3802698028187010 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028187400:3802698028188100 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028188490:3802698028189220 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028189600:3802698028190570 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028191930:3802698028192770 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028193160:3802698028193870 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028194260:3802698028194970 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028195350:3802698028196060 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028196450:3802698028197160 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028197540:3802698028198250 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028198640:3802698028199350 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028199730:3802698028200450 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028200830:3802698028201670 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028202060:3802698028202780 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028203160:3802698028203880 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028204270:3802698028205180 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028205570:3802698028206360 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028206750:3802698028207460 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028207850:3802698028208560 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028208950:3802698028209660 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028210040:3802698028210870 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028211260:3802698028212100 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028212480:3802698028213190 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028213580:3802698028214400 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028214780:3802698028216450 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028216850:3802698028217580 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028217970:3802698028218680 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028219070:3802698028219780 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028220160:3802698028220880 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028221260:3802698028222140 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028222520:3802698028223290 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028223680:3802698028224390 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028225500:3802698028226260 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028226650:3802698028227541 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028227921:3802698028228691 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028229081:3802698028229961 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028230351:3802698028231381 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028231761:3802698028232601 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028232981:3802698028233691 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028234081:3802698028234941 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028235331:3802698028236031 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028236421:3802698028237131 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028237511:3802698028238221 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028238601:3802698028239311 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028239701:3802698028240531 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028240921:3802698028241631 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028242021:3802698028242731 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028243111:3802698028243831 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028244211:3802698028244991 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028245371:3802698028246091 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028246471:3802698028247411 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028247791:3802698028248511 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028248901:3802698028249611 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028249991:3802698028251681 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028252081:3802698028252811 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028253191:3802698028253911 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028254301:3802698028255381 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028255771:3802698028256761 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028257141:3802698028257861 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028258241:3802698028258951 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028260231:3802698028261111 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028261491:3802698028262211 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028262591:3802698028263311 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028263691:3802698028264411 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028264791:3802698028265511 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028265891:3802698028266611 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028266991:3802698028267721 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028268101:3802698028269101 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028269481:3802698028270341 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028270731:3802698028271441 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028271821:3802698028272531 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028272921:3802698028273631 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028274021:3802698028274841 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028275221:3802698028275931 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028276321:3802698028277031 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028277421:3802698028278131 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028278511:3802698028279231 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028279621:3802698028280341 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028280721:3802698028281721 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028282111:3802698028283011 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028283401:3802698028284111 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028284501:3802698028286141 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028286531:3802698028287261 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028287641:3802698028288421 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028288811:3802698028289521 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028289901:3802698028290611 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028291001:3802698028291841 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028292231:3802698028292941 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028293321:3802698028294201 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028297131:3802698028297891 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028298281:3802698028299001 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028299381:3802698028300091 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028300471:3802698028301181 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028301571:3802698028302281 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028302661:3802698028303371 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028303761:3802698028378272 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028378862:3802698028379742 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028380122:3802698028380912 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028381302:3802698028382012 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028382392:3802698028383102 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028383482:3802698028384202 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028384592:3802698028385472 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028385852:3802698028386562 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028386952:3802698028387672 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028388052:3802698028388772 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028389162:3802698028389872 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028390252:3802698028390972 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028391362:3802698028392072 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028392452:3802698028393172 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028393552:3802698028394262 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028394642:3802698028395362 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028395742:3802698028396462 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028396842:3802698028397552 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028397942:3802698028398652 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028399042:3802698028399752 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028400132:3802698028400862 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028401252:3802698028402152 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028403662:3802698028404702 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028405092:3802698028405902 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028406282:3802698028407002 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028407392:3802698028408102 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028408482:3802698028410342 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028410742:3802698028411512 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028411892:3802698028412752 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028413132:3802698028413852 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028414232:3802698028414952 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028415332:3802698028416052 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028416432:3802698028417152 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028417542:3802698028418252 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028418642:3802698028419352 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028419742:3802698028420452 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028420842:3802698028421802 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028422192:3802698028423052 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028423442:3802698028424152 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028424542:3802698028425252 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028425642:3802698028426362 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028426742:3802698028427572 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028427952:3802698028428662 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028429052:3802698028429762 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028430152:3802698028430992 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028431372:3802698028432082 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028432472:3802698028433182 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028433572:3802698028434282 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028434672:3802698028435382 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028435772:3802698028436492 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028436882:3802698028438172 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028439432:3802698028440432 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028440822:3802698028441652 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028442042:3802698028442762 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028443152:3802698028444132 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028444522:3802698028446282 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028446682:3802698028447392 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028447782:3802698028448492 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028448872:3802698028449762 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028450142:3802698028450852 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028451242:3802698028451952 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028452332:3802698028453102 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028453482:3802698028454322 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028454712:3802698028455532 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028455922:3802698028456722 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028457102:3802698028457812 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028458202:3802698028458912 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028459302:3802698028460012 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028460402:3802698028461242 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028461622:3802698028462332 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028462722:3802698028463432 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028463812:3802698028464522 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028464912:3802698028465692 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028466072:3802698028466782 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028467172:3802698028468052 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028468442:3802698028469152 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028469532:3802698028470312 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028470692:3802698028471402 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028471792:3802698028472502 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028474592:3802698028475342 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028475732:3802698028476472 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028476862:3802698028477572 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028477962:3802698028479512 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028479892:3802698028481752 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028482142:3802698028483182 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028483572:3802698028484422 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028484812:3802698028485702 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028486092:3802698028487072 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028487452:3802698028488532 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028488922:3802698028490032 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028490422:3802698028491192 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028491582:3802698028492292 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028492672:3802698028493392 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028493782:3802698028494492 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028494872:3802698028495652 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028496042:3802698028496762 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028497142:3802698028497852 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028498242:3802698028498952 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028499342:3802698028500112 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028500502:3802698028501212 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028501592:3802698028502592 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028502982:3802698028503823 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028504203:3802698028504913 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028505303:3802698028506013 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028506393:3802698028507253 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028507633:3802698028508343 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028508733:3802698028509443 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028509823:3802698028510533 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028511743:3802698028512503 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028512893:3802698028513603 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028513993:3802698028514703 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028515083:3802698028515793 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028516173:3802698028517663 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028518053:3802698028518763 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028519153:3802698028519863 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028520243:3802698028520953 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028521343:3802698028522063 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028522453:3802698028523173 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028523553:3802698028524633 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028525013:3802698028526003 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028526383:3802698028527093 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028527483:3802698028528183 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028528573:3802698028529333 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028529723:3802698028530423 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028530813:3802698028531623 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028532013:3802698028532833 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028533213:3802698028533923 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028534303:3802698028535023 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028535403:3802698028536123 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028536513:3802698028537213 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028537603:3802698028538313 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028538693:3802698028539453 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028539833:3802698028540543 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028540923:3802698028541633 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028542023:3802698028542733 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028543113:3802698028543823 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028545123:3802698028545863 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028546253:3802698028546963 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028547353:3802698028548053 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028548443:3802698028549153 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028549533:3802698028551013 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028551403:3802698028552123 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028552513:3802698028553223 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028553603:3802698028554313 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028554693:3802698028555413 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028555803:3802698028556513 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028556893:3802698028557603 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028557993:3802698028558693 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028559083:3802698028559793 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028560183:3802698028560883 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028561273:3802698028561983 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028562363:3802698028563083 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028563463:3802698028564173 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028564563:3802698028565273 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028565653:3802698028566363 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028566753:3802698028567473 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028567863:3802698028568703 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028569083:3802698028570313 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028570703:3802698028571573 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028571963:3802698028572843 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028573233:3802698028574073 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028574463:3802698028575163 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028575553:3802698028576323 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028576713:3802698028577433 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028577813:3802698028578863 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028580093:3802698028580843 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028581223:3802698028582053 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028582443:3802698028583673 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028584053:3802698028585573 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028585963:3802698028586713 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028587103:3802698028587823 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028588213:3802698028588923 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028589303:3802698028590013 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028590403:3802698028591113 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028591493:3802698028592213 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028592593:3802698028593393 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028593783:3802698028594493 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028594873:3802698028595583 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028595973:3802698028596873 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028597253:3802698028597963 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028598353:3802698028599063 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028599443:3802698028600153 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028600543:3802698028601253 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028601633:3802698028602433 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028602813:3802698028603523 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028603913:3802698028604623 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028605003:3802698028605713 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028606103:3802698028606813 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028607193:3802698028607903 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028608293:3802698028609003 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028609383:3802698028610093 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028610483:3802698028611403 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028611783:3802698028612503 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028613783:3802698028614543 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028614933:3802698028615653 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028616043:3802698028616753 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028617133:3802698028617863 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028618243:3802698028619743 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028620133:3802698028621213 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028621603:3802698028622563 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028622953:3802698028623723 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028624113:3802698028624823 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028625213:3802698028625913 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028626303:3802698028627073 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028627463:3802698028628173 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028628553:3802698028629263 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028629653:3802698028630473 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028630863:3802698028631973 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028632363:3802698028633283 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028633673:3802698028634553 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028634943:3802698028635813 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028636193:3802698028636943 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028637323:3802698028638183 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028638563:3802698028639423 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028639813:3802698028640773 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028641153:3802698028641944 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028642334:3802698028643214 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028643604:3802698028644374 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028644754:3802698028645624 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028646014:3802698028646874 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028647254:3802698028648114 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028649314:3802698028650164 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028650544:3802698028651254 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028651644:3802698028652354 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028652734:3802698028653444 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028653834:3802698028655314 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028655704:3802698028656614 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028657004:3802698028657744 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028658124:3802698028659534 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028659924:3802698028661024 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028661414:3802698028662564 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028662954:3802698028663774 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028664164:3802698028665034 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028665424:3802698028666304 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028666684:3802698028667584 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028667974:3802698028668954 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028669344:3802698028670174 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028670564:3802698028671274 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028671664:3802698028672364 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028672754:3802698028673464 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028673854:3802698028674564 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028674944:3802698028675694 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028676084:3802698028676784 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028677174:3802698028677884 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028678274:3802698028678974 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028679364:3802698028680074 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028680454:3802698028681164 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028681554:3802698028682264 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028682654:3802698028683354 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028683744:3802698028684454 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028685734:3802698028686634 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028687024:3802698028687744 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028688134:3802698028688844 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028689224:3802698028689934 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028690324:3802698028691824 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028692214:3802698028692934 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028693324:3802698028780545 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028781185:3802698028781975 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028782365:3802698028783075 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028783455:3802698028784175 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028784565:3802698028785265 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028785655:3802698028786365 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028786755:3802698028787455 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028787835:3802698028788555 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028788935:3802698028789665 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028790045:3802698028790755 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028791135:3802698028791845 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028792225:3802698028792945 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028793325:3802698028794035 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028794415:3802698028795125 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028795515:3802698028796225 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028796615:3802698028797525 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028797915:3802698028798675 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028799055:3802698028799815 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028800205:3802698028801175 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028801565:3802698028802495 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028802885:3802698028803665 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028804045:3802698028804905 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028806225:3802698028806995 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028807395:3802698028808215 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028808605:3802698028809305 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028809695:3802698028810515 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028810905:3802698028811615 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028812005:3802698028812715 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028813105:3802698028813815 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028814205:3802698028815225 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028815615:3802698028816325 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028816715:3802698028817425 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028817815:3802698028818655 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028819045:3802698028819805 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028820195:3802698028820905 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028821295:3802698028822015 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028822405:3802698028823335 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028823725:3802698028825645 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028826045:3802698028826795 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028827185:3802698028827905 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028828295:3802698028829005 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028829395:3802698028830115 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028830505:3802698028831215 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028831605:3802698028832315 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028832705:3802698028833425 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028833815:3802698028834525 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028834915:3802698028835625 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028836015:3802698028836725 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028837125:3802698028837895 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028838285:3802698028839005 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028839395:3802698028840105 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028841245:3802698028842075 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028842455:3802698028843175 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028843555:3802698028844265 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028844655:3802698028845365 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028845745:3802698028846455 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028846845:3802698028847555 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028847935:3802698028848665 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028849055:3802698028849785 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028850175:3802698028851165 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028851555:3802698028852595 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028852985:3802698028853815 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028854195:3802698028855075 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028855465:3802698028856175 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028856565:3802698028857325 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028857715:3802698028858425 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028858805:3802698028860415 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028860815:3802698028861685 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028862075:3802698028862785 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028863165:3802698028863875 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028864265:3802698028864975 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028865365:3802698028866075 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028866465:3802698028867175 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028867555:3802698028868335 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028868715:3802698028869615 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028869995:3802698028870875 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028871255:3802698028872135 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028872515:3802698028873375 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028873755:3802698028874475 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028875635:3802698028876515 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028876905:3802698028877635 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028878015:3802698028878905 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028879285:3802698028880175 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028880565:3802698028881635 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028882025:3802698028882905 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028883295:3802698028884065 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028884445:3802698028885305 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028885685:3802698028886395 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028886785:3802698028887485 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028887875:3802698028888575 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028888965:3802698028889835 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028890215:3802698028891205 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028891595:3802698028892535 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028892915:3802698028893625 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028894015:3802698028896315 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028896715:3802698028897615 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028897995:3802698028898705 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028899085:3802698028899795 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028900185:3802698028901025 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028901405:3802698028902125 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028902505:3802698028903335 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028903725:3802698028904445 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028904835:3802698028906195 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028906585:3802698028907525 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028907915:3802698028908775 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028909165:3802698028910225 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028910615:3802698028911385 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028911775:3802698028912485 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028913675:3802698028914425 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028914815:3802698028915535 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028915915:3802698028916625 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028917015:3802698028917726 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028918116:3802698028918826 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028919206:3802698028919986 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028920366:3802698028921076 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028921466:3802698028922216 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028922606:3802698028923316 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028923706:3802698028924416 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028924796:3802698028925506 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028925896:3802698028926666 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028927056:3802698028927886 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028928276:3802698028928986 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028929366:3802698028930086 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028930466:3802698028931956 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028932346:3802698028933056 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028933446:3802698028934156 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028934546:3802698028935256 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028935646:3802698028936366 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028936756:3802698028937466 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028937846:3802698028938606 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028938986:3802698028939826 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028940216:3802698028940926 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028941306:3802698028942016 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028942406:3802698028943116 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028943496:3802698028944216 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028944596:3802698028945446 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028946626:3802698028947366 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028947756:3802698028948456 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028948846:3802698028949556 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028949936:3802698028950646 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028951036:3802698028951746 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028952126:3802698028952846 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028953226:3802698028953956 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028954336:3802698028955126 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028955506:3802698028956596 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028956986:3802698028957906 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028958286:3802698028959066 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028959446:3802698028960156 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028960546:3802698028961256 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028961646:3802698028962346 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028962736:3802698028963506 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028963896:3802698028965856 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028966256:3802698028967096 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028967486:3802698028968196 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028968576:3802698028969296 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028969676:3802698028970386 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028970776:3802698028971546 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028971936:3802698028972646 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028973026:3802698028973736 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028974126:3802698028974836 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028975216:3802698028975936 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028976316:3802698028977146 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028977526:3802698028978246 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028978626:3802698028979346 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028979736:3802698028980526 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028982346:3802698028983126 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028983516:3802698028984496 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028984896:3802698028985756 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028986136:3802698028986916 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028987296:3802698028988006 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028988386:3802698028989096 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028989476:3802698028990186 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028990566:3802698028991276 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028991656:3802698028992446 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028992826:3802698028993536 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028993926:3802698028994636 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028995016:3802698028995726 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028996116:3802698028996816 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028997206:3802698028997916 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028998296:3802698028999056 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698028999436:3802698029001006 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029001396:3802698029002116 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029002496:3802698029003206 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029003596:3802698029004326 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029004706:3802698029005426 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029005816:3802698029006726 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029007116:3802698029008106 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029008486:3802698029009206 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029009586:3802698029010406 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029010796:3802698029011496 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029011886:3802698029012596 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029012986:3802698029013826 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029014206:3802698029014996 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029016176:3802698029016926 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029017306:3802698029018016 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029018406:3802698029019116 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029019496:3802698029020206 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029020596:3802698029021306 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029021686:3802698029022536 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029022916:3802698029023636 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029024016:3802698029024726 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029025106:3802698029025816 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029026206:3802698029026916 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029027296:3802698029028136 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029028526:3802698029029236 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029029616:3802698029030476 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029030866:3802698029031686 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029032066:3802698029032776 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029033166:3802698029035036 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029035436:3802698029036236 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029036616:3802698029037336 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029037726:3802698029038496 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029038886:3802698029039596 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029039976:3802698029040696 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029041076:3802698029041786 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029042176:3802698029042886 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029043266:3802698029043976 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029044366:3802698029045076 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029045466:3802698029046176 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029046566:3802698029047276 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029047656:3802698029048366 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029049486:3802698029050246 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029050636:3802698029051336 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029051726:3802698029052446 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029052836:3802698029053556 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029053946:3802698029055016 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029055396:3802698029056397 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029056777:3802698029057497 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029057887:3802698029059307 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029059697:3802698029060417 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029060807:3802698029061517 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029061897:3802698029062607 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029062987:3802698029063697 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029064087:3802698029064787 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029065177:3802698029066027 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029066417:3802698029067247 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029067627:3802698029071807 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029072217:3802698029073797 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029074187:3802698029074907 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029075297:3802698029076007 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029076397:3802698029077117 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029077497:3802698029078207 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029078597:3802698029079307 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029079697:3802698029080407 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029080797:3802698029081507 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029081897:3802698029082607 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029082997:3802698029083717 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029084107:3802698029084817 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029085197:3802698029085917 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029086307:3802698029087017 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029088337:3802698029089077 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029089467:3802698029090177 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029090567:3802698029091347 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029091727:3802698029092447 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029092827:3802698029093547 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029093927:3802698029094637 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029095027:3802698029095747 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029096127:3802698029096847 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029097227:3802698029097937 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029098327:3802698029099037 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029099427:3802698029100137 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029100527:3802698029101247 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029101637:3802698029102357 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029102747:3802698029103637 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029104027:3802698029104897 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029105277:3802698029108857 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029109277:3802698029109997 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029110387:3802698029111097 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029111487:3802698029112197 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029112577:3802698029113297 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029113687:3802698029114397 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029114787:3802698029115497 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029115887:3802698029116847 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029117237:3802698029117947 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029118327:3802698029119037 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029119427:3802698029120137 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029120527:3802698029121407 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029121797:3802698029122507 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029123687:3802698029124447 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029124837:3802698029125677 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029126067:3802698029126777 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029127167:3802698029127897 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029128277:3802698029128997 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029129387:3802698029130767 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029131157:3802698029132277 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029132667:3802698029133537 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029133917:3802698029134787 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029135177:3802698029136077 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029136457:3802698029137487 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029137867:3802698029138847 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029139237:3802698029140097 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029140487:3802698029141207 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029141587:3802698029142667 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029143057:3802698029145367 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029145767:3802698029146517 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029146907:3802698029147767 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029148157:3802698029148867 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029149257:3802698029149977 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029150367:3802698029151077 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029151467:3802698029152177 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029152567:3802698029153287 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029153677:3802698029154387 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029154777:3802698029155487 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029155877:3802698029156597 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029156987:3802698029157697 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029158087:3802698029158977 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029159367:3802698029160077 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029161267:3802698029162037 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029162427:3802698029163157 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029163547:3802698029164267 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029164657:3802698029165837 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029166227:3802698029167277 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029167667:3802698029168537 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029168927:3802698029170107 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029170497:3802698029171287 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029171667:3802698029172387 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029172777:3802698029173487 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029173877:3802698029174587 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029174977:3802698029175697 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029176077:3802698029176807 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029177197:3802698029178067 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029178447:3802698029179167 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029179547:3802698029181877 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029182277:3802698029183117 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029183497:3802698029184507 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029184897:3802698029185777 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029186167:3802698029186887 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029187267:3802698029187977 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029188367:3802698029189087 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029189477:3802698029190197 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029190577:3802698029191297 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029191687:3802698029192527 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029192907:3802698029193767 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029194158:3802698029194868 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029195258:3802698029195968 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029197588:3802698029198538 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029199028:3802698029199738 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029200118:3802698029200828 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029201218:3802698029201928 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029202308:3802698029203018 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029203408:3802698029204118 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029204498:3802698029205338 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029205728:3802698029206428 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029206818:3802698029207528 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029207908:3802698029208618 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029209008:3802698029209718 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029210098:3802698029210808 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029211198:3802698029211908 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029212288:3802698029212998 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029213388:3802698029214228 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029214608:3802698029216658 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029217058:3802698029217818 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029218208:3802698029218928 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029219318:3802698029220038 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029220428:3802698029221348 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029221738:3802698029222608 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029222998:3802698029223908 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029224298:3802698029225018 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029225408:3802698029226108 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029226508:3802698029227228 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029227638:3802698029228518 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029228998:3802698029230018 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029230508:3802698029231398 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029231878:3802698029232768 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029234968:3802698029235848 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029236228:3802698029236948 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029237328:3802698029238198 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029238588:3802698029239288 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029239668:3802698029240378 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029240758:3802698029241468 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029241848:3802698029242548 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029242938:3802698029243748 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029244138:3802698029244998 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029245388:3802698029246088 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029246468:3802698029247168 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029247558:3802698029248258 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029248648:3802698029249548 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029249938:3802698029250648 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029251028:3802698029252218 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029252608:3802698029255148 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029255548:3802698029256268 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029256648:3802698029257358 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029257738:3802698029258588 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029258968:3802698029259788 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029260178:3802698029260888 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029261278:3802698029261988 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029262368:3802698029263078 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029263468:3802698029264168 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029264558:3802698029265418 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029265808:3802698029266508 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029266898:3802698029267608 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029267988:3802698029268698 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029269838:3802698029270598 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029270988:3802698029271688 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029272078:3802698029272788 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029273168:3802698029273878 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029274258:3802698029274968 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029275348:3802698029276048 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029276438:3802698029277148 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029277528:3802698029278238 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029278618:3802698029279328 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029279708:3802698029280418 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029280798:3802698029281508 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029281898:3802698029282598 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029282978:3802698029283688 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029284078:3802698029284778 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029285168:3802698029285868 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029286248:3802698029288168 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029288558:3802698029289308 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029289698:3802698029290418 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029290808:3802698029291678 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029292068:3802698029292798 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029293178:3802698029293898 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029294288:3802698029295488 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029295878:3802698029296848 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029297238:3802698029298088 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029298468:3802698029299188 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029299578:3802698029300288 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029300678:3802698029301448 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029301838:3802698029302558 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029302948:3802698029304028 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029305208:3802698029305968 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029306358:3802698029307068 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029307458:3802698029308168 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029308548:3802698029309258 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029309638:3802698029310348 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029310738:3802698029311448 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029311838:3802698029312538 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029312928:3802698029313688 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029314078:3802698029314928 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029315318:3802698029316018 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029316408:3802698029317118 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029317498:3802698029318208 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029318588:3802698029319298 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029319688:3802698029320388 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029320778:3802698029321478 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029321868:3802698029324068 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029324458:3802698029325188 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029325568:3802698029326278 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029326668:3802698029327368 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029327758:3802698029328478 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029328868:3802698029329578 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029329968:3802698029330868 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029331258:3802698029332028 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029332419:3802698029333129 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029333509:3802698029334219 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029334609:3802698029335309 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029335699:3802698029336399 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029336789:3802698029337509 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029338599:3802698029339359 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029339749:3802698029340449 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029340839:3802698029341549 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029341929:3802698029342639 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029343019:3802698029343729 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029344109:3802698029344819 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029345199:3802698029345909 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029346289:3802698029346999 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029347379:3802698029348089 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029348469:3802698029349329 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029349709:3802698029350419 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029350799:3802698029351509 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029351889:3802698029352599 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029352989:3802698029353689 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029354069:3802698029354779 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029355169:3802698029357059 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029357449:3802698029358189 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029358579:3802698029359289 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029359679:3802698029360389 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029360769:3802698029361489 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029361869:3802698029362579 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029362959:3802698029363669 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029364059:3802698029364769 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029365159:3802698029365859 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029366249:3802698029366959 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029367349:3802698029368059 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029368449:3802698029369219 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029369609:3802698029370319 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029371469:3802698029372229 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029372619:3802698029373459 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029373839:3802698029374549 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029374939:3802698029375659 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029376049:3802698029376759 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029377149:3802698029378199 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029378589:3802698029379449 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029379829:3802698029380879 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029381269:3802698029382269 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029382649:3802698029383369 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029383749:3802698029384709 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029385099:3802698029385809 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029386189:3802698029386899 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029387289:3802698029387989 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029388379:3802698029389189 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029389579:3802698029390849 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029391249:3802698029393109 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029393509:3802698029394589 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029394979:3802698029395689 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029396069:3802698029396779 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029397169:3802698029397989 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029398379:3802698029399089 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029399469:3802698029400179 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029400569:3802698029401419 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029401799:3802698029402509 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029402899:3802698029403609 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029403999:3802698029404839 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029405219:3802698029405929 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029406319:3802698029407029 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029408169:3802698029408919 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029409309:3802698029410019 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029410399:3802698029411109 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029411499:3802698029412249 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029412639:3802698029413339 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029413729:3802698029414439 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029414819:3802698029529570 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029530260:3802698029531060 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029531450:3802698029532170 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029532550:3802698029533330 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029533710:3802698029534440 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029534830:3802698029535620 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029536000:3802698029536700 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029537090:3802698029537790 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029538170:3802698029538880 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029539260:3802698029539980 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029540360:3802698029541060 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029541450:3802698029542350 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029542730:3802698029543460 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029543840:3802698029544540 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029544930:3802698029545630 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029546010:3802698029546740 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029547120:3802698029548170 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029548550:3802698029549270 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029549650:3802698029550360 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029550750:3802698029551920 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029552300:3802698029553160 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029553540:3802698029554240 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029555940:3802698029556780 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029557170:3802698029557890 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029558270:3802698029558980 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029559360:3802698029560070 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029560450:3802698029561150 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029561540:3802698029562240 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029562630:3802698029563510 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029563890:3802698029564720 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029565110:3802698029565900 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029566280:3802698029567010 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029567390:3802698029568110 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029568490:3802698029569220 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029569600:3802698029570310 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029570700:3802698029572790 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029573190:3802698029574090 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029574480:3802698029575200 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029575580:3802698029576300 1976:1980 hsa_signal_create(0, , 0, 0x7f5384c97b30) = 0 +3802698029579460:3802698029580180 1976:1980 hsa_signal_create(0, , 0, 0x7f51e002d258) = 0 +3802698290007520:3802698290018520 1976:1980 hsa_executable_create_alt(1, 0, +3802698290038750:3802698290062560 1976:1980 hsa_code_object_reader_create_from_memory(0x7f51e0405360, , 0x7f51e002e1c0) = 0 +3802698290064890:3802698290460733 1976:1980 hsa_executable_load_agent_code_object(, , , +3802698290463113:3802698290858146 1976:1980 hsa_executable_freeze(, +3802698290947497:3802698290948577 1976:1980 hsa_executable_get_symbol_by_name(, copyBuffer.kd, 0x7f5384c96d88, 0x7f5384c96d80) = 0 +3802698290950177:3802698290950957 1976:1980 hsa_executable_symbol_get_info(, 22, 0x7f51e0393dd8) = 0 +3802698290951817:3802698290952197 1976:1980 hsa_agent_get_info(, 6, 0x7f5384c96d98) = 0 +3802698291014047:3802698291014677 1976:1980 hsa_executable_get_symbol_by_name(, copyBufferAligned.kd, 0x7f5384c96d88, 0x7f5384c96d80) = 0 +3802698291015107:3802698291015377 1976:1980 hsa_executable_symbol_get_info(, 22, 0x7f51e0421ba8) = 0 +3802698291015767:3802698291016057 1976:1980 hsa_agent_get_info(, 6, 0x7f5384c96d98) = 0 +3802698291071848:3802698291072398 1976:1980 hsa_executable_get_symbol_by_name(, copyBufferRect.kd, 0x7f5384c96d88, 0x7f5384c96d80) = 0 +3802698291074758:3802698291075048 1976:1980 hsa_executable_symbol_get_info(, 22, 0x7f51e01331b8) = 0 +3802698291075438:3802698291075728 1976:1980 hsa_agent_get_info(, 6, 0x7f5384c96d98) = 0 +3802698291130908:3802698291131448 1976:1980 hsa_executable_get_symbol_by_name(, copyBufferRectAligned.kd, 0x7f5384c96d88, 0x7f5384c96d80) = 0 +3802698291131868:3802698291132138 1976:1980 hsa_executable_symbol_get_info(, 22, 0x7f51e00c2028) = 0 +3802698291132528:3802698291132818 1976:1980 hsa_agent_get_info(, 6, 0x7f5384c96d98) = 0 +3802698291194059:3802698291194619 1976:1980 hsa_executable_get_symbol_by_name(, copyBufferToImage.kd, 0x7f5384c96d88, 0x7f5384c96d80) = 0 +3802698291195049:3802698291195329 1976:1980 hsa_executable_symbol_get_info(, 22, 0x7f51e0105848) = 0 +3802698291195709:3802698291195999 1976:1980 hsa_agent_get_info(, 6, 0x7f5384c96d98) = 0 +3802698291250829:3802698291251329 1976:1980 hsa_executable_get_symbol_by_name(, copyImage.kd, 0x7f5384c96d88, 0x7f5384c96d80) = 0 +3802698291251749:3802698291252029 1976:1980 hsa_executable_symbol_get_info(, 22, 0x7f51e00f0988) = 0 +3802698291252419:3802698291252699 1976:1980 hsa_agent_get_info(, 6, 0x7f5384c96d98) = 0 +3802698291307309:3802698291307779 1976:1980 hsa_executable_get_symbol_by_name(, copyImage1DA.kd, 0x7f5384c96d88, 0x7f5384c96d80) = 0 +3802698291308189:3802698291308459 1976:1980 hsa_executable_symbol_get_info(, 22, 0x7f51e0388338) = 0 +3802698291308849:3802698291309129 1976:1980 hsa_agent_get_info(, 6, 0x7f5384c96d98) = 0 +3802698291378050:3802698291378580 1976:1980 hsa_executable_get_symbol_by_name(, copyImageToBuffer.kd, 0x7f5384c96d88, 0x7f5384c96d80) = 0 +3802698291378990:3802698291379260 1976:1980 hsa_executable_symbol_get_info(, 22, 0x7f51e016e4c8) = 0 +3802698291379650:3802698291379930 1976:1980 hsa_agent_get_info(, 6, 0x7f5384c96d98) = 0 +3802698291438100:3802698291438580 1976:1980 hsa_executable_get_symbol_by_name(, fillBuffer.kd, 0x7f5384c96d88, 0x7f5384c96d80) = 0 +3802698291439000:3802698291439280 1976:1980 hsa_executable_symbol_get_info(, 22, 0x7f51e00d99a8) = 0 +3802698291439670:3802698291439950 1976:1980 hsa_agent_get_info(, 6, 0x7f5384c96d98) = 0 +3802698291499511:3802698291499971 1976:1980 hsa_executable_get_symbol_by_name(, fillImage.kd, 0x7f5384c96d88, 0x7f5384c96d80) = 0 +3802698291500401:3802698291500671 1976:1980 hsa_executable_symbol_get_info(, 22, 0x7f51e0411888) = 0 +3802698291501061:3802698291501341 1976:1980 hsa_agent_get_info(, 6, 0x7f5384c96d98) = 0 +3802698291540241:3802698291540681 1976:1980 hsa_executable_get_symbol_by_name(, gwsInit.kd, 0x7f5384c96d88, 0x7f5384c96d80) = 0 +3802698291541091:3802698291541361 1976:1980 hsa_executable_symbol_get_info(, 22, 0x7f51e00df238) = 0 +3802698291541751:3802698291542031 1976:1980 hsa_agent_get_info(, 6, 0x7f5384c96d98) = 0 +3802698291581561:3802698291582021 1976:1980 hsa_executable_get_symbol_by_name(, scheduler.kd, 0x7f5384c96d88, 0x7f5384c96d80) = 0 +3802698291582431:3802698291582701 1976:1980 hsa_executable_symbol_get_info(, 22, 0x7f51e04180b8) = 0 +3802698291584241:3802698291584531 1976:1980 hsa_agent_get_info(, 6, 0x7f5384c96d98) = 0 +3802698291614842:3802698291715222 1976:1980 hsa_amd_memory_lock_to_pool(0x7f51e0379000, , 0, 0, , , 0x7f51e0836f08) = 0 +3802698291716532:3802698291717872 1976:1980 hsa_signal_create(1, , 0, 0x7f5384c97b88) = 0 +3802698291720612:3802698291720922 1976:1980 hsa_system_get_info(3, 0x7f5384c97b90) = 0 +3802698291774653:3802698292041525 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52745ff000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802698292045835:3802698292046295 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698292051125:3802698292051705 1976:1980 hsa_agent_get_info(, 17, 0x7f5384c973b4) = 0 +3802698292053185:3802698292053665 1976:1980 hsa_amd_memory_pool_get_info(, 0, 0x7f5384c97258) = 0 +3802698292054075:3802698292054365 1976:1980 hsa_amd_memory_pool_get_info(, 1, 0x7f5384c9725c) = 0 +3802698292054765:3802698292055035 1976:1980 hsa_amd_memory_pool_get_info(, 0, 0x7f5384c97258) = 0 +3802698292055425:3802698292055705 1976:1980 hsa_amd_memory_pool_get_info(, 1, 0x7f5384c9725c) = 0 +3802698292055425:3802698292056105 1976:1980 hsa_amd_agent_iterate_memory_pools(, 1, 0x7f51e035d0b0) = 1 +3802698292056965:3802698292057245 1976:1980 hsa_amd_memory_pool_get_info(, 0, 0x7f5384c97258) = 0 +3802698292057625:3802698292057895 1976:1980 hsa_amd_memory_pool_get_info(, 1, 0x7f5384c9725c) = 0 +3802698292057625:3802698292058275 1976:1980 hsa_amd_agent_iterate_memory_pools(, 1, 0x7f51e035d0c0) = 1 +3802698292059225:3802698292059565 1976:1980 hsa_agent_get_info(, 17, 0x7f5384c973b4) = 0 +3802698292060135:3802698292062875 1976:1980 hsa_agent_get_info(, 0, 0x7f51e0255904) = 0 +3802698292065225:3802698292065525 1976:1980 hsa_agent_get_info(, 6, 0x7f51e0255944) = 0 +3802698292065915:3802698292066215 1976:1980 hsa_agent_get_info(, 14, 0x7f51e0255948) = 0 +3802698292066595:3802698292066875 1976:1980 hsa_agent_get_info(, 4, 0x7f51e025594c) = 0 +3802698292067275:3802698292067565 1976:1980 hsa_agent_get_info(, 40962, 0x7f51e0255968) = 0 +3802698292067955:3802698292068245 1976:1980 hsa_agent_get_info(, 40970, 0x7f51e025596c) = 0 +3802698292068635:3802698292068915 1976:1980 hsa_agent_get_info(, 40971, 0x7f51e0255970) = 0 +3802698292069295:3802698292069575 1976:1980 hsa_agent_get_info(, 40972, 0x7f51e0255974) = 0 +3802698292069955:3802698292070255 1976:1980 hsa_agent_get_info(, 40973, 0x7f51e0255978) = 0 +3802698292071005:3802698292071285 1976:1980 hsa_amd_memory_pool_get_info(, 0, 0x7f5384c97248) = 0 +3802698292071665:3802698292071945 1976:1980 hsa_amd_memory_pool_get_info(, 1, 0x7f5384c9724c) = 0 +3802698292071665:3802698292072325 1976:1980 hsa_amd_agent_iterate_memory_pools(, 1, 0x7f51e0255958) = 1 +3802698292071665:3802698292072945 1976:1980 hsa_iterate_agents(1, 0x7f51e02889e0) = 0 +3802698292075685:3802698292186406 1976:1980 hsa_system_get_major_extension_table(, , , 0x7f51e0288a78) = 0 +3802698292187246:3802698292187566 1976:1980 hsa_system_get_major_extension_table(, , , 0x7f51e0288ac8) = 0 +3802698292188026:3802698292188316 1976:1980 hsa_system_get_info(3, 0x7f5384c975d8) = 0 +3802698292191896:3802698292192416 1976:1980 hsa_system_get_info(2, 0x7f51e016b030) = 0 +3802698292194016:3802698292194546 1976:1980 hsa_system_get_info(2, 0x7f51e016b038) = 0 +3802698292194956:3802698292195476 1976:1980 hsa_system_get_info(2, 0x7f51e016b040) = 0 +3802698292195866:3802698292196386 1976:1980 hsa_system_get_info(2, 0x7f51e016b048) = 0 +3802698292196776:3802698292197286 1976:1980 hsa_system_get_info(2, 0x7f51e016b050) = 0 +3802698292197676:3802698292198196 1976:1980 hsa_system_get_info(2, 0x7f51e016b058) = 0 +3802698292198586:3802698292199106 1976:1980 hsa_system_get_info(2, 0x7f51e016b060) = 0 +3802698292199496:3802698292200006 1976:1980 hsa_system_get_info(2, 0x7f51e016b068) = 0 +3802698292200396:3802698292200916 1976:1980 hsa_system_get_info(2, 0x7f51e016b070) = 0 +3802698292201306:3802698292201826 1976:1980 hsa_system_get_info(2, 0x7f51e016b078) = 0 +3802698292202216:3802698292202726 1976:1980 hsa_system_get_info(2, 0x7f51e016b080) = 0 +3802698292203116:3802698292203636 1976:1980 hsa_system_get_info(2, 0x7f51e016b088) = 0 +3802698292204026:3802698292204546 1976:1980 hsa_system_get_info(2, 0x7f51e016b090) = 0 +3802698292204936:3802698292205456 1976:1980 hsa_system_get_info(2, 0x7f51e016b098) = 0 +3802698292205836:3802698292206356 1976:1980 hsa_system_get_info(2, 0x7f51e016b0a0) = 0 +3802698292206746:3802698292207266 1976:1980 hsa_system_get_info(2, 0x7f51e016b0a8) = 0 +3802698292207656:3802698292208176 1976:1980 hsa_system_get_info(2, 0x7f51e016b0b0) = 0 +3802698292208556:3802698292209076 1976:1980 hsa_system_get_info(2, 0x7f51e016b0b8) = 0 +3802698292209466:3802698292210086 1976:1980 hsa_system_get_info(2, 0x7f51e016b0c0) = 0 +3802698292210566:3802698292211216 1976:1980 hsa_system_get_info(2, 0x7f51e016b0c8) = 0 +3802698292211696:3802698292212336 1976:1980 hsa_system_get_info(2, 0x7f51e016b0d0) = 0 +3802698292212826:3802698292213466 1976:1980 hsa_system_get_info(2, 0x7f51e016b0d8) = 0 +3802698292213946:3802698292214596 1976:1980 hsa_system_get_info(2, 0x7f51e016b0e0) = 0 +3802698292215076:3802698292215716 1976:1980 hsa_system_get_info(2, 0x7f51e016b0e8) = 0 +3802698292216196:3802698292216846 1976:1980 hsa_system_get_info(2, 0x7f51e016b0f0) = 0 +3802698292218406:3802698292218926 1976:1980 hsa_system_get_info(2, 0x7f51e016b0f8) = 0 +3802698292219316:3802698292219826 1976:1980 hsa_system_get_info(2, 0x7f51e016b100) = 0 +3802698292220216:3802698292220726 1976:1980 hsa_system_get_info(2, 0x7f51e016b108) = 0 +3802698292221116:3802698292221626 1976:1980 hsa_system_get_info(2, 0x7f51e016b110) = 0 +3802698292222016:3802698292222526 1976:1980 hsa_system_get_info(2, 0x7f51e016b118) = 0 +3802698292222916:3802698292223426 1976:1980 hsa_system_get_info(2, 0x7f51e016b120) = 0 +3802698292223816:3802698292224326 1976:1980 hsa_system_get_info(2, 0x7f51e016b128) = 0 +3802698292224716:3802698292225226 1976:1980 hsa_system_get_info(2, 0x7f51e016b130) = 0 +3802698292225616:3802698292226126 1976:1980 hsa_system_get_info(2, 0x7f51e016b138) = 0 +3802698292226516:3802698292227026 1976:1980 hsa_system_get_info(2, 0x7f51e016b140) = 0 +3802698292227416:3802698292227926 1976:1980 hsa_system_get_info(2, 0x7f51e016b148) = 0 +3802698292228306:3802698292228826 1976:1980 hsa_system_get_info(2, 0x7f51e016b150) = 0 +3802698292229206:3802698292229726 1976:1980 hsa_system_get_info(2, 0x7f51e016b158) = 0 +3802698292230106:3802698292230626 1976:1980 hsa_system_get_info(2, 0x7f51e016b160) = 0 +3802698292231006:3802698292231526 1976:1980 hsa_system_get_info(2, 0x7f51e016b168) = 0 +3802698292231906:3802698292232426 1976:1980 hsa_system_get_info(2, 0x7f51e016b170) = 0 +3802698292232806:3802698292233326 1976:1980 hsa_system_get_info(2, 0x7f51e016b178) = 0 +3802698292233706:3802698292234226 1976:1980 hsa_system_get_info(2, 0x7f51e016b180) = 0 +3802698292234606:3802698292235126 1976:1980 hsa_system_get_info(2, 0x7f51e016b188) = 0 +3802698292235506:3802698292236026 1976:1980 hsa_system_get_info(2, 0x7f51e016b190) = 0 +3802698292236406:3802698292236926 1976:1980 hsa_system_get_info(2, 0x7f51e016b198) = 0 +3802698292237306:3802698292237826 1976:1980 hsa_system_get_info(2, 0x7f51e016b1a0) = 0 +3802698292238206:3802698292238726 1976:1980 hsa_system_get_info(2, 0x7f51e016b1a8) = 0 +3802698292239106:3802698292239626 1976:1980 hsa_system_get_info(2, 0x7f51e016b1b0) = 0 +3802698292240006:3802698292240516 1976:1980 hsa_system_get_info(2, 0x7f51e016b1b8) = 0 +3802698292240906:3802698292241416 1976:1980 hsa_system_get_info(2, 0x7f51e016b1c0) = 0 +3802698292241806:3802698292242316 1976:1980 hsa_system_get_info(2, 0x7f51e016b1c8) = 0 +3802698292242706:3802698292243216 1976:1980 hsa_system_get_info(2, 0x7f51e016b1d0) = 0 +3802698292243606:3802698292244116 1976:1980 hsa_system_get_info(2, 0x7f51e016b1d8) = 0 +3802698292245616:3802698292246146 1976:1980 hsa_system_get_info(2, 0x7f51e016b1e0) = 0 +3802698292246536:3802698292247046 1976:1980 hsa_system_get_info(2, 0x7f51e016b1e8) = 0 +3802698292247436:3802698292247946 1976:1980 hsa_system_get_info(2, 0x7f51e016b1f0) = 0 +3802698292248336:3802698292248846 1976:1980 hsa_system_get_info(2, 0x7f51e016b1f8) = 0 +3802698292249236:3802698292249746 1976:1980 hsa_system_get_info(2, 0x7f51e016b200) = 0 +3802698292250136:3802698292250646 1976:1980 hsa_system_get_info(2, 0x7f51e016b208) = 0 +3802698292251036:3802698292251546 1976:1980 hsa_system_get_info(2, 0x7f51e016b210) = 0 +3802698292251936:3802698292252446 1976:1980 hsa_system_get_info(2, 0x7f51e016b218) = 0 +3802698292252836:3802698292253346 1976:1980 hsa_system_get_info(2, 0x7f51e016b220) = 0 +3802698292253736:3802698292254246 1976:1980 hsa_system_get_info(2, 0x7f51e016b228) = 0 +3802698292254636:3802698292255146 1976:1980 hsa_system_get_info(2, 0x7f51e016b230) = 0 +3802698292255536:3802698292256046 1976:1980 hsa_system_get_info(2, 0x7f51e016b238) = 0 +3802698292256436:3802698292256946 1976:1980 hsa_system_get_info(2, 0x7f51e016b240) = 0 +3802698292257326:3802698292257846 1976:1980 hsa_system_get_info(2, 0x7f51e016b248) = 0 +3802698292258226:3802698292258746 1976:1980 hsa_system_get_info(2, 0x7f51e016b250) = 0 +3802698292259126:3802698292259646 1976:1980 hsa_system_get_info(2, 0x7f51e016b258) = 0 +3802698292260026:3802698292260546 1976:1980 hsa_system_get_info(2, 0x7f51e016b260) = 0 +3802698292260926:3802698292261446 1976:1980 hsa_system_get_info(2, 0x7f51e016b268) = 0 +3802698292261826:3802698292262346 1976:1980 hsa_system_get_info(2, 0x7f51e016b270) = 0 +3802698292262726:3802698292263247 1976:1980 hsa_system_get_info(2, 0x7f51e016b278) = 0 +3802698292263627:3802698292264147 1976:1980 hsa_system_get_info(2, 0x7f51e016b280) = 0 +3802698292264527:3802698292265047 1976:1980 hsa_system_get_info(2, 0x7f51e016b288) = 0 +3802698292265427:3802698292265947 1976:1980 hsa_system_get_info(2, 0x7f51e016b290) = 0 +3802698292266327:3802698292266847 1976:1980 hsa_system_get_info(2, 0x7f51e016b298) = 0 +3802698292267227:3802698292267747 1976:1980 hsa_system_get_info(2, 0x7f51e016b2a0) = 0 +3802698292268127:3802698292268637 1976:1980 hsa_system_get_info(2, 0x7f51e016b2a8) = 0 +3802698292269027:3802698292269537 1976:1980 hsa_system_get_info(2, 0x7f51e016b2b0) = 0 +3802698292269927:3802698292270437 1976:1980 hsa_system_get_info(2, 0x7f51e016b2b8) = 0 +3802698292271757:3802698292272277 1976:1980 hsa_system_get_info(2, 0x7f51e016b2c0) = 0 +3802698292272667:3802698292273177 1976:1980 hsa_system_get_info(2, 0x7f51e016b2c8) = 0 +3802698292273567:3802698292274077 1976:1980 hsa_system_get_info(2, 0x7f51e016b2d0) = 0 +3802698292274467:3802698292274977 1976:1980 hsa_system_get_info(2, 0x7f51e016b2d8) = 0 +3802698292275357:3802698292275877 1976:1980 hsa_system_get_info(2, 0x7f51e016b2e0) = 0 +3802698292276257:3802698292276777 1976:1980 hsa_system_get_info(2, 0x7f51e016b2e8) = 0 +3802698292277157:3802698292277677 1976:1980 hsa_system_get_info(2, 0x7f51e016b2f0) = 0 +3802698292278057:3802698292278577 1976:1980 hsa_system_get_info(2, 0x7f51e016b2f8) = 0 +3802698292278957:3802698292279477 1976:1980 hsa_system_get_info(2, 0x7f51e016b300) = 0 +3802698292279857:3802698292280377 1976:1980 hsa_system_get_info(2, 0x7f51e016b308) = 0 +3802698292280757:3802698292281277 1976:1980 hsa_system_get_info(2, 0x7f51e016b310) = 0 +3802698292281657:3802698292282177 1976:1980 hsa_system_get_info(2, 0x7f51e016b318) = 0 +3802698292282557:3802698292283077 1976:1980 hsa_system_get_info(2, 0x7f51e016b320) = 0 +3802698292283457:3802698292283977 1976:1980 hsa_system_get_info(2, 0x7f51e016b328) = 0 +3802698292284357:3802698292284877 1976:1980 hsa_system_get_info(2, 0x7f51e016b330) = 0 +3802698292285257:3802698292285777 1976:1980 hsa_system_get_info(2, 0x7f51e016b338) = 0 +3802698292286157:3802698292286677 1976:1980 hsa_system_get_info(2, 0x7f51e016b340) = 0 +3802698292287057:3802698292287577 1976:1980 hsa_system_get_info(2, 0x7f51e016b348) = 0 +3802698292287957:3802698292288477 1976:1980 hsa_system_get_info(2, 0x7f51e016b350) = 0 +3802698292288857:3802698292289377 1976:1980 hsa_system_get_info(2, 0x7f51e016b358) = 0 +3802698292289757:3802698292290277 1976:1980 hsa_system_get_info(2, 0x7f51e016b360) = 0 +3802698292290657:3802698292291177 1976:1980 hsa_system_get_info(2, 0x7f51e016b368) = 0 +3802698292291557:3802698292292077 1976:1980 hsa_system_get_info(2, 0x7f51e016b370) = 0 +3802698292292457:3802698292292977 1976:1980 hsa_system_get_info(2, 0x7f51e016b378) = 0 +3802698292293367:3802698292293877 1976:1980 hsa_system_get_info(2, 0x7f51e016b380) = 0 +3802698292294257:3802698292294777 1976:1980 hsa_system_get_info(2, 0x7f51e016b388) = 0 +3802698292295167:3802698292295677 1976:1980 hsa_system_get_info(2, 0x7f51e016b390) = 0 +3802698292296067:3802698292296577 1976:1980 hsa_system_get_info(2, 0x7f51e016b398) = 0 +3802698292297707:3802698292298227 1976:1980 hsa_system_get_info(2, 0x7f51e016b3a0) = 0 +3802698292298617:3802698292299127 1976:1980 hsa_system_get_info(2, 0x7f51e016b3a8) = 0 +3802698292299517:3802698292300027 1976:1980 hsa_system_get_info(2, 0x7f51e016b3b0) = 0 +3802698292300417:3802698292300927 1976:1980 hsa_system_get_info(2, 0x7f51e016b3b8) = 0 +3802698292301317:3802698292301827 1976:1980 hsa_system_get_info(2, 0x7f51e016b3c0) = 0 +3802698292302217:3802698292302727 1976:1980 hsa_system_get_info(2, 0x7f51e016b3c8) = 0 +3802698292303117:3802698292303627 1976:1980 hsa_system_get_info(2, 0x7f51e016b3d0) = 0 +3802698292304017:3802698292304527 1976:1980 hsa_system_get_info(2, 0x7f51e016b3d8) = 0 +3802698292304917:3802698292305427 1976:1980 hsa_system_get_info(2, 0x7f51e016b3e0) = 0 +3802698292305817:3802698292306327 1976:1980 hsa_system_get_info(2, 0x7f51e016b3e8) = 0 +3802698292306717:3802698292307227 1976:1980 hsa_system_get_info(2, 0x7f51e016b3f0) = 0 +3802698292307617:3802698292308127 1976:1980 hsa_system_get_info(2, 0x7f51e016b3f8) = 0 +3802698292308517:3802698292309027 1976:1980 hsa_system_get_info(2, 0x7f51e016b400) = 0 +3802698292309417:3802698292309927 1976:1980 hsa_system_get_info(2, 0x7f51e016b408) = 0 +3802698292310317:3802698292310827 1976:1980 hsa_system_get_info(2, 0x7f51e016b410) = 0 +3802698292311217:3802698292311727 1976:1980 hsa_system_get_info(2, 0x7f51e016b418) = 0 +3802698292312117:3802698292312627 1976:1980 hsa_system_get_info(2, 0x7f51e016b420) = 0 +3802698292313017:3802698292313527 1976:1980 hsa_system_get_info(2, 0x7f51e016b428) = 0 +3802698292313917:3802698292314427 1976:1980 hsa_system_get_info(2, 0x7f51e016b430) = 0 +3802698292314817:3802698292315327 1976:1980 hsa_system_get_info(2, 0x7f51e016b438) = 0 +3802698292315717:3802698292316227 1976:1980 hsa_system_get_info(2, 0x7f51e016b440) = 0 +3802698292316617:3802698292317137 1976:1980 hsa_system_get_info(2, 0x7f51e016b448) = 0 +3802698292317517:3802698292318037 1976:1980 hsa_system_get_info(2, 0x7f51e016b450) = 0 +3802698292318417:3802698292318937 1976:1980 hsa_system_get_info(2, 0x7f51e016b458) = 0 +3802698292319317:3802698292319827 1976:1980 hsa_system_get_info(2, 0x7f51e016b460) = 0 +3802698292320217:3802698292320727 1976:1980 hsa_system_get_info(2, 0x7f51e016b468) = 0 +3802698292321117:3802698292321627 1976:1980 hsa_system_get_info(2, 0x7f51e016b470) = 0 +3802698292322017:3802698292322527 1976:1980 hsa_system_get_info(2, 0x7f51e016b478) = 0 +3802698292322917:3802698292323427 1976:1980 hsa_system_get_info(2, 0x7f51e016b480) = 0 +3802698292324557:3802698292325077 1976:1980 hsa_system_get_info(2, 0x7f51e016b488) = 0 +3802698292325467:3802698292325977 1976:1980 hsa_system_get_info(2, 0x7f51e016b490) = 0 +3802698292326367:3802698292326877 1976:1980 hsa_system_get_info(2, 0x7f51e016b498) = 0 +3802698292327267:3802698292327777 1976:1980 hsa_system_get_info(2, 0x7f51e016b4a0) = 0 +3802698292328167:3802698292328677 1976:1980 hsa_system_get_info(2, 0x7f51e016b4a8) = 0 +3802698292329067:3802698292329577 1976:1980 hsa_system_get_info(2, 0x7f51e016b4b0) = 0 +3802698292329967:3802698292330477 1976:1980 hsa_system_get_info(2, 0x7f51e016b4b8) = 0 +3802698292330867:3802698292331377 1976:1980 hsa_system_get_info(2, 0x7f51e016b4c0) = 0 +3802698292331767:3802698292332277 1976:1980 hsa_system_get_info(2, 0x7f51e016b4c8) = 0 +3802698292332667:3802698292333177 1976:1980 hsa_system_get_info(2, 0x7f51e016b4d0) = 0 +3802698292333567:3802698292334077 1976:1980 hsa_system_get_info(2, 0x7f51e016b4d8) = 0 +3802698292334467:3802698292334977 1976:1980 hsa_system_get_info(2, 0x7f51e016b4e0) = 0 +3802698292335367:3802698292335877 1976:1980 hsa_system_get_info(2, 0x7f51e016b4e8) = 0 +3802698292336267:3802698292336777 1976:1980 hsa_system_get_info(2, 0x7f51e016b4f0) = 0 +3802698292337167:3802698292337677 1976:1980 hsa_system_get_info(2, 0x7f51e016b4f8) = 0 +3802698292338057:3802698292338577 1976:1980 hsa_system_get_info(2, 0x7f51e016b500) = 0 +3802698292338957:3802698292339477 1976:1980 hsa_system_get_info(2, 0x7f51e016b508) = 0 +3802698292339857:3802698292340377 1976:1980 hsa_system_get_info(2, 0x7f51e016b510) = 0 +3802698292340757:3802698292341277 1976:1980 hsa_system_get_info(2, 0x7f51e016b518) = 0 +3802698292341657:3802698292342177 1976:1980 hsa_system_get_info(2, 0x7f51e016b520) = 0 +3802698292342557:3802698292343077 1976:1980 hsa_system_get_info(2, 0x7f51e016b528) = 0 +3802698292343457:3802698292343977 1976:1980 hsa_system_get_info(2, 0x7f51e016b530) = 0 +3802698292344357:3802698292344877 1976:1980 hsa_system_get_info(2, 0x7f51e016b538) = 0 +3802698292345257:3802698292345777 1976:1980 hsa_system_get_info(2, 0x7f51e016b540) = 0 +3802698292346157:3802698292346677 1976:1980 hsa_system_get_info(2, 0x7f51e016b548) = 0 +3802698292347057:3802698292347577 1976:1980 hsa_system_get_info(2, 0x7f51e016b550) = 0 +3802698292347957:3802698292348477 1976:1980 hsa_system_get_info(2, 0x7f51e016b558) = 0 +3802698292348857:3802698292349377 1976:1980 hsa_system_get_info(2, 0x7f51e016b560) = 0 +3802698292350567:3802698292351087 1976:1980 hsa_system_get_info(2, 0x7f51e016b568) = 0 +3802698292351477:3802698292351987 1976:1980 hsa_system_get_info(2, 0x7f51e016b570) = 0 +3802698292352377:3802698292352887 1976:1980 hsa_system_get_info(2, 0x7f51e016b578) = 0 +3802698292353277:3802698292353787 1976:1980 hsa_system_get_info(2, 0x7f51e016b580) = 0 +3802698292354177:3802698292354687 1976:1980 hsa_system_get_info(2, 0x7f51e016b588) = 0 +3802698292355077:3802698292355587 1976:1980 hsa_system_get_info(2, 0x7f51e016b590) = 0 +3802698292355977:3802698292356487 1976:1980 hsa_system_get_info(2, 0x7f51e016b598) = 0 +3802698292356877:3802698292357387 1976:1980 hsa_system_get_info(2, 0x7f51e016b5a0) = 0 +3802698292357777:3802698292358287 1976:1980 hsa_system_get_info(2, 0x7f51e016b5a8) = 0 +3802698292358677:3802698292359187 1976:1980 hsa_system_get_info(2, 0x7f51e016b5b0) = 0 +3802698292359577:3802698292360087 1976:1980 hsa_system_get_info(2, 0x7f51e016b5b8) = 0 +3802698292360477:3802698292360987 1976:1980 hsa_system_get_info(2, 0x7f51e016b5c0) = 0 +3802698292361377:3802698292361887 1976:1980 hsa_system_get_info(2, 0x7f51e016b5c8) = 0 +3802698292362277:3802698292362787 1976:1980 hsa_system_get_info(2, 0x7f51e016b5d0) = 0 +3802698292363177:3802698292363687 1976:1980 hsa_system_get_info(2, 0x7f51e016b5d8) = 0 +3802698292364077:3802698292364587 1976:1980 hsa_system_get_info(2, 0x7f51e016b5e0) = 0 +3802698292364977:3802698292365487 1976:1980 hsa_system_get_info(2, 0x7f51e016b5e8) = 0 +3802698292365877:3802698292366387 1976:1980 hsa_system_get_info(2, 0x7f51e016b5f0) = 0 +3802698292366777:3802698292367287 1976:1980 hsa_system_get_info(2, 0x7f51e016b5f8) = 0 +3802698292367677:3802698292368187 1976:1980 hsa_system_get_info(2, 0x7f51e016b600) = 0 +3802698292368577:3802698292369087 1976:1980 hsa_system_get_info(2, 0x7f51e016b608) = 0 +3802698292369477:3802698292369987 1976:1980 hsa_system_get_info(2, 0x7f51e016b610) = 0 +3802698292370377:3802698292370887 1976:1980 hsa_system_get_info(2, 0x7f51e016b618) = 0 +3802698292371277:3802698292371787 1976:1980 hsa_system_get_info(2, 0x7f51e016b620) = 0 +3802698292372177:3802698292372687 1976:1980 hsa_system_get_info(2, 0x7f51e016b628) = 0 +3802698292373077:3802698292373587 1976:1980 hsa_system_get_info(2, 0x7f51e016b630) = 0 +3802698292373977:3802698292374487 1976:1980 hsa_system_get_info(2, 0x7f51e016b638) = 0 +3802698292374877:3802698292375387 1976:1980 hsa_system_get_info(2, 0x7f51e016b640) = 0 +3802698292375777:3802698292376287 1976:1980 hsa_system_get_info(2, 0x7f51e016b648) = 0 +3802698292377837:3802698292378357 1976:1980 hsa_system_get_info(2, 0x7f51e016b650) = 0 +3802698292378737:3802698292379257 1976:1980 hsa_system_get_info(2, 0x7f51e016b658) = 0 +3802698292379637:3802698292380157 1976:1980 hsa_system_get_info(2, 0x7f51e016b660) = 0 +3802698292380537:3802698292381057 1976:1980 hsa_system_get_info(2, 0x7f51e016b668) = 0 +3802698292381437:3802698292381957 1976:1980 hsa_system_get_info(2, 0x7f51e016b670) = 0 +3802698292382337:3802698292382857 1976:1980 hsa_system_get_info(2, 0x7f51e016b678) = 0 +3802698292383237:3802698292383757 1976:1980 hsa_system_get_info(2, 0x7f51e016b680) = 0 +3802698292384137:3802698292384657 1976:1980 hsa_system_get_info(2, 0x7f51e016b688) = 0 +3802698292385037:3802698292385557 1976:1980 hsa_system_get_info(2, 0x7f51e016b690) = 0 +3802698292385937:3802698292386457 1976:1980 hsa_system_get_info(2, 0x7f51e016b698) = 0 +3802698292386837:3802698292387357 1976:1980 hsa_system_get_info(2, 0x7f51e016b6a0) = 0 +3802698292387737:3802698292388257 1976:1980 hsa_system_get_info(2, 0x7f51e016b6a8) = 0 +3802698292388637:3802698292389157 1976:1980 hsa_system_get_info(2, 0x7f51e016b6b0) = 0 +3802698292389537:3802698292390057 1976:1980 hsa_system_get_info(2, 0x7f51e016b6b8) = 0 +3802698292390437:3802698292390957 1976:1980 hsa_system_get_info(2, 0x7f51e016b6c0) = 0 +3802698292391337:3802698292391857 1976:1980 hsa_system_get_info(2, 0x7f51e016b6c8) = 0 +3802698292392237:3802698292392757 1976:1980 hsa_system_get_info(2, 0x7f51e016b6d0) = 0 +3802698292393137:3802698292393647 1976:1980 hsa_system_get_info(2, 0x7f51e016b6d8) = 0 +3802698292394037:3802698292394547 1976:1980 hsa_system_get_info(2, 0x7f51e016b6e0) = 0 +3802698292394937:3802698292395447 1976:1980 hsa_system_get_info(2, 0x7f51e016b6e8) = 0 +3802698292395837:3802698292396347 1976:1980 hsa_system_get_info(2, 0x7f51e016b6f0) = 0 +3802698292396737:3802698292397248 1976:1980 hsa_system_get_info(2, 0x7f51e016b6f8) = 0 +3802698292397638:3802698292398148 1976:1980 hsa_system_get_info(2, 0x7f51e016b700) = 0 +3802698292398538:3802698292399048 1976:1980 hsa_system_get_info(2, 0x7f51e016b708) = 0 +3802698292399438:3802698292399948 1976:1980 hsa_system_get_info(2, 0x7f51e016b710) = 0 +3802698292400338:3802698292400848 1976:1980 hsa_system_get_info(2, 0x7f51e016b718) = 0 +3802698292401238:3802698292401748 1976:1980 hsa_system_get_info(2, 0x7f51e016b720) = 0 +3802698292402138:3802698292402648 1976:1980 hsa_system_get_info(2, 0x7f51e016b728) = 0 +3802698292403738:3802698292404258 1976:1980 hsa_system_get_info(2, 0x7f51e016b730) = 0 +3802698292404648:3802698292405158 1976:1980 hsa_system_get_info(2, 0x7f51e016b738) = 0 +3802698292405548:3802698292406058 1976:1980 hsa_system_get_info(2, 0x7f51e016b740) = 0 +3802698292406448:3802698292406958 1976:1980 hsa_system_get_info(2, 0x7f51e016b748) = 0 +3802698292407348:3802698292407858 1976:1980 hsa_system_get_info(2, 0x7f51e016b750) = 0 +3802698292408248:3802698292408758 1976:1980 hsa_system_get_info(2, 0x7f51e016b758) = 0 +3802698292409148:3802698292409658 1976:1980 hsa_system_get_info(2, 0x7f51e016b760) = 0 +3802698292410048:3802698292410558 1976:1980 hsa_system_get_info(2, 0x7f51e016b768) = 0 +3802698292410948:3802698292411458 1976:1980 hsa_system_get_info(2, 0x7f51e016b770) = 0 +3802698292411848:3802698292412358 1976:1980 hsa_system_get_info(2, 0x7f51e016b778) = 0 +3802698292412748:3802698292413258 1976:1980 hsa_system_get_info(2, 0x7f51e016b780) = 0 +3802698292413648:3802698292414158 1976:1980 hsa_system_get_info(2, 0x7f51e016b788) = 0 +3802698292414548:3802698292415058 1976:1980 hsa_system_get_info(2, 0x7f51e016b790) = 0 +3802698292415448:3802698292415958 1976:1980 hsa_system_get_info(2, 0x7f51e016b798) = 0 +3802698292416348:3802698292416858 1976:1980 hsa_system_get_info(2, 0x7f51e016b7a0) = 0 +3802698292417248:3802698292417758 1976:1980 hsa_system_get_info(2, 0x7f51e016b7a8) = 0 +3802698292418148:3802698292418658 1976:1980 hsa_system_get_info(2, 0x7f51e016b7b0) = 0 +3802698292419048:3802698292419558 1976:1980 hsa_system_get_info(2, 0x7f51e016b7b8) = 0 +3802698292419948:3802698292420458 1976:1980 hsa_system_get_info(2, 0x7f51e016b7c0) = 0 +3802698292420848:3802698292421358 1976:1980 hsa_system_get_info(2, 0x7f51e016b7c8) = 0 +3802698292421748:3802698292422258 1976:1980 hsa_system_get_info(2, 0x7f51e016b7d0) = 0 +3802698292422648:3802698292423168 1976:1980 hsa_system_get_info(2, 0x7f51e016b7d8) = 0 +3802698292423548:3802698292424068 1976:1980 hsa_system_get_info(2, 0x7f51e016b7e0) = 0 +3802698292424448:3802698292424968 1976:1980 hsa_system_get_info(2, 0x7f51e016b7e8) = 0 +3802698292425348:3802698292425868 1976:1980 hsa_system_get_info(2, 0x7f51e016b7f0) = 0 +3802698292426248:3802698292426768 1976:1980 hsa_system_get_info(2, 0x7f51e016b7f8) = 0 +3802698292427148:3802698292427668 1976:1980 hsa_system_get_info(2, 0x7f51e016b800) = 0 +3802698292428048:3802698292428568 1976:1980 hsa_system_get_info(2, 0x7f51e016b808) = 0 +3802698292428948:3802698292429468 1976:1980 hsa_system_get_info(2, 0x7f51e016b810) = 0 +3802698292430558:3802698292431078 1976:1980 hsa_system_get_info(2, 0x7f51e016b818) = 0 +3802698292431468:3802698292431978 1976:1980 hsa_system_get_info(2, 0x7f51e016b820) = 0 +3802698292432368:3802698292432878 1976:1980 hsa_system_get_info(2, 0x7f51e016b828) = 0 +3802698292433268:3802698292433778 1976:1980 hsa_system_get_info(2, 0x7f51e016b830) = 0 +3802698292434168:3802698292434678 1976:1980 hsa_system_get_info(2, 0x7f51e016b838) = 0 +3802698292435068:3802698292435578 1976:1980 hsa_system_get_info(2, 0x7f51e016b840) = 0 +3802698292435968:3802698292436478 1976:1980 hsa_system_get_info(2, 0x7f51e016b848) = 0 +3802698292436868:3802698292437378 1976:1980 hsa_system_get_info(2, 0x7f51e016b850) = 0 +3802698292437768:3802698292438278 1976:1980 hsa_system_get_info(2, 0x7f51e016b858) = 0 +3802698292438668:3802698292439178 1976:1980 hsa_system_get_info(2, 0x7f51e016b860) = 0 +3802698292439568:3802698292440078 1976:1980 hsa_system_get_info(2, 0x7f51e016b868) = 0 +3802698292440468:3802698292440978 1976:1980 hsa_system_get_info(2, 0x7f51e016b870) = 0 +3802698292441368:3802698292441878 1976:1980 hsa_system_get_info(2, 0x7f51e016b878) = 0 +3802698292442268:3802698292442778 1976:1980 hsa_system_get_info(2, 0x7f51e016b880) = 0 +3802698292443168:3802698292443678 1976:1980 hsa_system_get_info(2, 0x7f51e016b888) = 0 +3802698292444068:3802698292444578 1976:1980 hsa_system_get_info(2, 0x7f51e016b890) = 0 +3802698292444968:3802698292445478 1976:1980 hsa_system_get_info(2, 0x7f51e016b898) = 0 +3802698292445868:3802698292446378 1976:1980 hsa_system_get_info(2, 0x7f51e016b8a0) = 0 +3802698292446768:3802698292447278 1976:1980 hsa_system_get_info(2, 0x7f51e016b8a8) = 0 +3802698292447668:3802698292448178 1976:1980 hsa_system_get_info(2, 0x7f51e016b8b0) = 0 +3802698292448568:3802698292449078 1976:1980 hsa_system_get_info(2, 0x7f51e016b8b8) = 0 +3802698292449468:3802698292449978 1976:1980 hsa_system_get_info(2, 0x7f51e016b8c0) = 0 +3802698292450368:3802698292450878 1976:1980 hsa_system_get_info(2, 0x7f51e016b8c8) = 0 +3802698292451268:3802698292451778 1976:1980 hsa_system_get_info(2, 0x7f51e016b8d0) = 0 +3802698292452168:3802698292452678 1976:1980 hsa_system_get_info(2, 0x7f51e016b8d8) = 0 +3802698292453068:3802698292453578 1976:1980 hsa_system_get_info(2, 0x7f51e016b8e0) = 0 +3802698292453968:3802698292454478 1976:1980 hsa_system_get_info(2, 0x7f51e016b8e8) = 0 +3802698292454868:3802698292455378 1976:1980 hsa_system_get_info(2, 0x7f51e016b8f0) = 0 +3802698292456558:3802698292457068 1976:1980 hsa_system_get_info(2, 0x7f51e016b8f8) = 0 +3802698292457458:3802698292457978 1976:1980 hsa_system_get_info(2, 0x7f51e016b900) = 0 +3802698292458358:3802698292458878 1976:1980 hsa_system_get_info(2, 0x7f51e016b908) = 0 +3802698292459258:3802698292459778 1976:1980 hsa_system_get_info(2, 0x7f51e016b910) = 0 +3802698292460158:3802698292460678 1976:1980 hsa_system_get_info(2, 0x7f51e016b918) = 0 +3802698292461058:3802698292461578 1976:1980 hsa_system_get_info(2, 0x7f51e016b920) = 0 +3802698292461958:3802698292462478 1976:1980 hsa_system_get_info(2, 0x7f51e016b928) = 0 +3802698292462868:3802698292463378 1976:1980 hsa_system_get_info(2, 0x7f51e016b930) = 0 +3802698292463768:3802698292464278 1976:1980 hsa_system_get_info(2, 0x7f51e016b938) = 0 +3802698292464668:3802698292465178 1976:1980 hsa_system_get_info(2, 0x7f51e016b940) = 0 +3802698292465568:3802698292466078 1976:1980 hsa_system_get_info(2, 0x7f51e016b948) = 0 +3802698292466468:3802698292466978 1976:1980 hsa_system_get_info(2, 0x7f51e016b950) = 0 +3802698292467368:3802698292467878 1976:1980 hsa_system_get_info(2, 0x7f51e016b958) = 0 +3802698292468268:3802698292468778 1976:1980 hsa_system_get_info(2, 0x7f51e016b960) = 0 +3802698292469168:3802698292469678 1976:1980 hsa_system_get_info(2, 0x7f51e016b968) = 0 +3802698292470068:3802698292470578 1976:1980 hsa_system_get_info(2, 0x7f51e016b970) = 0 +3802698292470968:3802698292471478 1976:1980 hsa_system_get_info(2, 0x7f51e016b978) = 0 +3802698292471868:3802698292472378 1976:1980 hsa_system_get_info(2, 0x7f51e016b980) = 0 +3802698292472768:3802698292473288 1976:1980 hsa_system_get_info(2, 0x7f51e016b988) = 0 +3802698292473668:3802698292474188 1976:1980 hsa_system_get_info(2, 0x7f51e016b990) = 0 +3802698292474568:3802698292475088 1976:1980 hsa_system_get_info(2, 0x7f51e016b998) = 0 +3802698292475468:3802698292475988 1976:1980 hsa_system_get_info(2, 0x7f51e016b9a0) = 0 +3802698292476368:3802698292476888 1976:1980 hsa_system_get_info(2, 0x7f51e016b9a8) = 0 +3802698292477268:3802698292477788 1976:1980 hsa_system_get_info(2, 0x7f51e016b9b0) = 0 +3802698292478168:3802698292478688 1976:1980 hsa_system_get_info(2, 0x7f51e016b9b8) = 0 +3802698292479068:3802698292479588 1976:1980 hsa_system_get_info(2, 0x7f51e016b9c0) = 0 +3802698292479978:3802698292480488 1976:1980 hsa_system_get_info(2, 0x7f51e016b9c8) = 0 +3802698292480878:3802698292481388 1976:1980 hsa_system_get_info(2, 0x7f51e016b9d0) = 0 +3802698292481778:3802698292482288 1976:1980 hsa_system_get_info(2, 0x7f51e016b9d8) = 0 +3802698292484318:3802698292484838 1976:1980 hsa_system_get_info(2, 0x7f51e016b9e0) = 0 +3802698292485218:3802698292485738 1976:1980 hsa_system_get_info(2, 0x7f51e016b9e8) = 0 +3802698292486118:3802698292486638 1976:1980 hsa_system_get_info(2, 0x7f51e016b9f0) = 0 +3802698292487018:3802698292487538 1976:1980 hsa_system_get_info(2, 0x7f51e016b9f8) = 0 +3802698292487918:3802698292488438 1976:1980 hsa_system_get_info(2, 0x7f51e016ba00) = 0 +3802698292488818:3802698292489338 1976:1980 hsa_system_get_info(2, 0x7f51e016ba08) = 0 +3802698292489718:3802698292490238 1976:1980 hsa_system_get_info(2, 0x7f51e016ba10) = 0 +3802698292490628:3802698292491138 1976:1980 hsa_system_get_info(2, 0x7f51e016ba18) = 0 +3802698292491528:3802698292492038 1976:1980 hsa_system_get_info(2, 0x7f51e016ba20) = 0 +3802698292492428:3802698292492938 1976:1980 hsa_system_get_info(2, 0x7f51e016ba28) = 0 +3802698292493328:3802698292493838 1976:1980 hsa_system_get_info(2, 0x7f51e016ba30) = 0 +3802698292494228:3802698292494738 1976:1980 hsa_system_get_info(2, 0x7f51e016ba38) = 0 +3802698292495128:3802698292495638 1976:1980 hsa_system_get_info(2, 0x7f51e016ba40) = 0 +3802698292496028:3802698292496538 1976:1980 hsa_system_get_info(2, 0x7f51e016ba48) = 0 +3802698292496928:3802698292497448 1976:1980 hsa_system_get_info(2, 0x7f51e016ba50) = 0 +3802698292497828:3802698292498348 1976:1980 hsa_system_get_info(2, 0x7f51e016ba58) = 0 +3802698292498728:3802698292499248 1976:1980 hsa_system_get_info(2, 0x7f51e016ba60) = 0 +3802698292499628:3802698292500148 1976:1980 hsa_system_get_info(2, 0x7f51e016ba68) = 0 +3802698292500528:3802698292501048 1976:1980 hsa_system_get_info(2, 0x7f51e016ba70) = 0 +3802698292501428:3802698292501948 1976:1980 hsa_system_get_info(2, 0x7f51e016ba78) = 0 +3802698292502328:3802698292502848 1976:1980 hsa_system_get_info(2, 0x7f51e016ba80) = 0 +3802698292503238:3802698292503748 1976:1980 hsa_system_get_info(2, 0x7f51e016ba88) = 0 +3802698292504138:3802698292504648 1976:1980 hsa_system_get_info(2, 0x7f51e016ba90) = 0 +3802698292505038:3802698292505548 1976:1980 hsa_system_get_info(2, 0x7f51e016ba98) = 0 +3802698292505938:3802698292506448 1976:1980 hsa_system_get_info(2, 0x7f51e016baa0) = 0 +3802698292506838:3802698292507348 1976:1980 hsa_system_get_info(2, 0x7f51e016baa8) = 0 +3802698292507738:3802698292508248 1976:1980 hsa_system_get_info(2, 0x7f51e016bab0) = 0 +3802698292508638:3802698292509148 1976:1980 hsa_system_get_info(2, 0x7f51e016bab8) = 0 +3802698292510558:3802698292511078 1976:1980 hsa_system_get_info(2, 0x7f51e016bac0) = 0 +3802698292511468:3802698292511978 1976:1980 hsa_system_get_info(2, 0x7f51e016bac8) = 0 +3802698292512368:3802698292512878 1976:1980 hsa_system_get_info(2, 0x7f51e016bad0) = 0 +3802698292513268:3802698292513778 1976:1980 hsa_system_get_info(2, 0x7f51e016bad8) = 0 +3802698292514168:3802698292514678 1976:1980 hsa_system_get_info(2, 0x7f51e016bae0) = 0 +3802698292515068:3802698292515578 1976:1980 hsa_system_get_info(2, 0x7f51e016bae8) = 0 +3802698292515968:3802698292516478 1976:1980 hsa_system_get_info(2, 0x7f51e016baf0) = 0 +3802698292516868:3802698292517378 1976:1980 hsa_system_get_info(2, 0x7f51e016baf8) = 0 +3802698292517768:3802698292518278 1976:1980 hsa_system_get_info(2, 0x7f51e016bb00) = 0 +3802698292518668:3802698292519178 1976:1980 hsa_system_get_info(2, 0x7f51e016bb08) = 0 +3802698292519568:3802698292520078 1976:1980 hsa_system_get_info(2, 0x7f51e016bb10) = 0 +3802698292520468:3802698292520978 1976:1980 hsa_system_get_info(2, 0x7f51e016bb18) = 0 +3802698292521368:3802698292521878 1976:1980 hsa_system_get_info(2, 0x7f51e016bb20) = 0 +3802698292522268:3802698292522778 1976:1980 hsa_system_get_info(2, 0x7f51e016bb28) = 0 +3802698292523168:3802698292523678 1976:1980 hsa_system_get_info(2, 0x7f51e016bb30) = 0 +3802698292524058:3802698292524578 1976:1980 hsa_system_get_info(2, 0x7f51e016bb38) = 0 +3802698292524958:3802698292525478 1976:1980 hsa_system_get_info(2, 0x7f51e016bb40) = 0 +3802698292525858:3802698292526378 1976:1980 hsa_system_get_info(2, 0x7f51e016bb48) = 0 +3802698292526758:3802698292527278 1976:1980 hsa_system_get_info(2, 0x7f51e016bb50) = 0 +3802698292527658:3802698292528178 1976:1980 hsa_system_get_info(2, 0x7f51e016bb58) = 0 +3802698292528558:3802698292529078 1976:1980 hsa_system_get_info(2, 0x7f51e016bb60) = 0 +3802698292529458:3802698292529978 1976:1980 hsa_system_get_info(2, 0x7f51e016bb68) = 0 +3802698292530358:3802698292530878 1976:1980 hsa_system_get_info(2, 0x7f51e016bb70) = 0 +3802698292531258:3802698292531779 1976:1980 hsa_system_get_info(2, 0x7f51e016bb78) = 0 +3802698292532159:3802698292532679 1976:1980 hsa_system_get_info(2, 0x7f51e016bb80) = 0 +3802698292533059:3802698292533579 1976:1980 hsa_system_get_info(2, 0x7f51e016bb88) = 0 +3802698292533959:3802698292534479 1976:1980 hsa_system_get_info(2, 0x7f51e016bb90) = 0 +3802698292534859:3802698292535379 1976:1980 hsa_system_get_info(2, 0x7f51e016bb98) = 0 +3802698292536559:3802698292537079 1976:1980 hsa_system_get_info(2, 0x7f51e016bba0) = 0 +3802698292537469:3802698292537979 1976:1980 hsa_system_get_info(2, 0x7f51e016bba8) = 0 +3802698292538369:3802698292538879 1976:1980 hsa_system_get_info(2, 0x7f51e016bbb0) = 0 +3802698292539269:3802698292539779 1976:1980 hsa_system_get_info(2, 0x7f51e016bbb8) = 0 +3802698292540169:3802698292540679 1976:1980 hsa_system_get_info(2, 0x7f51e016bbc0) = 0 +3802698292541069:3802698292541579 1976:1980 hsa_system_get_info(2, 0x7f51e016bbc8) = 0 +3802698292541969:3802698292542479 1976:1980 hsa_system_get_info(2, 0x7f51e016bbd0) = 0 +3802698292542869:3802698292543379 1976:1980 hsa_system_get_info(2, 0x7f51e016bbd8) = 0 +3802698292543769:3802698292544279 1976:1980 hsa_system_get_info(2, 0x7f51e016bbe0) = 0 +3802698292544669:3802698292545179 1976:1980 hsa_system_get_info(2, 0x7f51e016bbe8) = 0 +3802698292545569:3802698292546079 1976:1980 hsa_system_get_info(2, 0x7f51e016bbf0) = 0 +3802698292546469:3802698292546979 1976:1980 hsa_system_get_info(2, 0x7f51e016bbf8) = 0 +3802698292547369:3802698292547879 1976:1980 hsa_system_get_info(2, 0x7f51e016bc00) = 0 +3802698292548269:3802698292548779 1976:1980 hsa_system_get_info(2, 0x7f51e016bc08) = 0 +3802698292549169:3802698292549679 1976:1980 hsa_system_get_info(2, 0x7f51e016bc10) = 0 +3802698292550069:3802698292550579 1976:1980 hsa_system_get_info(2, 0x7f51e016bc18) = 0 +3802698292550969:3802698292551479 1976:1980 hsa_system_get_info(2, 0x7f51e016bc20) = 0 +3802698292551869:3802698292552379 1976:1980 hsa_system_get_info(2, 0x7f51e016bc28) = 0 +3802698292552769:3802698292553279 1976:1980 hsa_system_get_info(2, 0x7f51e016bc30) = 0 +3802698292553669:3802698292554189 1976:1980 hsa_system_get_info(2, 0x7f51e016bc38) = 0 +3802698292554569:3802698292555089 1976:1980 hsa_system_get_info(2, 0x7f51e016bc40) = 0 +3802698292555479:3802698292555989 1976:1980 hsa_system_get_info(2, 0x7f51e016bc48) = 0 +3802698292556379:3802698292556889 1976:1980 hsa_system_get_info(2, 0x7f51e016bc50) = 0 +3802698292557279:3802698292557789 1976:1980 hsa_system_get_info(2, 0x7f51e016bc58) = 0 +3802698292558179:3802698292558689 1976:1980 hsa_system_get_info(2, 0x7f51e016bc60) = 0 +3802698292559079:3802698292559589 1976:1980 hsa_system_get_info(2, 0x7f51e016bc68) = 0 +3802698292559979:3802698292560489 1976:1980 hsa_system_get_info(2, 0x7f51e016bc70) = 0 +3802698292560879:3802698292561389 1976:1980 hsa_system_get_info(2, 0x7f51e016bc78) = 0 +3802698292561779:3802698292562289 1976:1980 hsa_system_get_info(2, 0x7f51e016bc80) = 0 +3802698292563469:3802698292563989 1976:1980 hsa_system_get_info(2, 0x7f51e016bc88) = 0 +3802698292564379:3802698292564889 1976:1980 hsa_system_get_info(2, 0x7f51e016bc90) = 0 +3802698292565279:3802698292565789 1976:1980 hsa_system_get_info(2, 0x7f51e016bc98) = 0 +3802698292566179:3802698292566689 1976:1980 hsa_system_get_info(2, 0x7f51e016bca0) = 0 +3802698292567069:3802698292567589 1976:1980 hsa_system_get_info(2, 0x7f51e016bca8) = 0 +3802698292567969:3802698292568489 1976:1980 hsa_system_get_info(2, 0x7f51e016bcb0) = 0 +3802698292568869:3802698292569389 1976:1980 hsa_system_get_info(2, 0x7f51e016bcb8) = 0 +3802698292569769:3802698292570289 1976:1980 hsa_system_get_info(2, 0x7f51e016bcc0) = 0 +3802698292570669:3802698292571189 1976:1980 hsa_system_get_info(2, 0x7f51e016bcc8) = 0 +3802698292571569:3802698292572089 1976:1980 hsa_system_get_info(2, 0x7f51e016bcd0) = 0 +3802698292572469:3802698292572989 1976:1980 hsa_system_get_info(2, 0x7f51e016bcd8) = 0 +3802698292573369:3802698292573889 1976:1980 hsa_system_get_info(2, 0x7f51e016bce0) = 0 +3802698292574269:3802698292574789 1976:1980 hsa_system_get_info(2, 0x7f51e016bce8) = 0 +3802698292575169:3802698292575689 1976:1980 hsa_system_get_info(2, 0x7f51e016bcf0) = 0 +3802698292576069:3802698292576589 1976:1980 hsa_system_get_info(2, 0x7f51e016bcf8) = 0 +3802698292576969:3802698292577489 1976:1980 hsa_system_get_info(2, 0x7f51e016bd00) = 0 +3802698292577869:3802698292578389 1976:1980 hsa_system_get_info(2, 0x7f51e016bd08) = 0 +3802698292578769:3802698292579279 1976:1980 hsa_system_get_info(2, 0x7f51e016bd10) = 0 +3802698292579669:3802698292580179 1976:1980 hsa_system_get_info(2, 0x7f51e016bd18) = 0 +3802698292580569:3802698292581079 1976:1980 hsa_system_get_info(2, 0x7f51e016bd20) = 0 +3802698292581469:3802698292581979 1976:1980 hsa_system_get_info(2, 0x7f51e016bd28) = 0 +3802698292582369:3802698292582879 1976:1980 hsa_system_get_info(2, 0x7f51e016bd30) = 0 +3802698292583269:3802698292583779 1976:1980 hsa_system_get_info(2, 0x7f51e016bd38) = 0 +3802698292584169:3802698292584679 1976:1980 hsa_system_get_info(2, 0x7f51e016bd40) = 0 +3802698292585069:3802698292585579 1976:1980 hsa_system_get_info(2, 0x7f51e016bd48) = 0 +3802698292585969:3802698292586479 1976:1980 hsa_system_get_info(2, 0x7f51e016bd50) = 0 +3802698292586869:3802698292587379 1976:1980 hsa_system_get_info(2, 0x7f51e016bd58) = 0 +3802698292587769:3802698292588279 1976:1980 hsa_system_get_info(2, 0x7f51e016bd60) = 0 +3802698292589529:3802698292590049 1976:1980 hsa_system_get_info(2, 0x7f51e016bd68) = 0 +3802698292590439:3802698292590949 1976:1980 hsa_system_get_info(2, 0x7f51e016bd70) = 0 +3802698292591339:3802698292591849 1976:1980 hsa_system_get_info(2, 0x7f51e016bd78) = 0 +3802698292592239:3802698292592749 1976:1980 hsa_system_get_info(2, 0x7f51e016bd80) = 0 +3802698292593139:3802698292593649 1976:1980 hsa_system_get_info(2, 0x7f51e016bd88) = 0 +3802698292594039:3802698292594549 1976:1980 hsa_system_get_info(2, 0x7f51e016bd90) = 0 +3802698292594939:3802698292595449 1976:1980 hsa_system_get_info(2, 0x7f51e016bd98) = 0 +3802698292595829:3802698292596349 1976:1980 hsa_system_get_info(2, 0x7f51e016bda0) = 0 +3802698292596739:3802698292597249 1976:1980 hsa_system_get_info(2, 0x7f51e016bda8) = 0 +3802698292597639:3802698292598149 1976:1980 hsa_system_get_info(2, 0x7f51e016bdb0) = 0 +3802698292598539:3802698292599049 1976:1980 hsa_system_get_info(2, 0x7f51e016bdb8) = 0 +3802698292599439:3802698292599949 1976:1980 hsa_system_get_info(2, 0x7f51e016bdc0) = 0 +3802698292600329:3802698292600849 1976:1980 hsa_system_get_info(2, 0x7f51e016bdc8) = 0 +3802698292601229:3802698292601749 1976:1980 hsa_system_get_info(2, 0x7f51e016bdd0) = 0 +3802698292602139:3802698292602649 1976:1980 hsa_system_get_info(2, 0x7f51e016bdd8) = 0 +3802698292603029:3802698292603549 1976:1980 hsa_system_get_info(2, 0x7f51e016bde0) = 0 +3802698292603929:3802698292604449 1976:1980 hsa_system_get_info(2, 0x7f51e016bde8) = 0 +3802698292604829:3802698292605349 1976:1980 hsa_system_get_info(2, 0x7f51e016bdf0) = 0 +3802698292605729:3802698292606249 1976:1980 hsa_system_get_info(2, 0x7f51e016bdf8) = 0 +3802698292606629:3802698292607149 1976:1980 hsa_system_get_info(2, 0x7f51e016be00) = 0 +3802698292607529:3802698292608049 1976:1980 hsa_system_get_info(2, 0x7f51e016be08) = 0 +3802698292608429:3802698292608949 1976:1980 hsa_system_get_info(2, 0x7f51e016be10) = 0 +3802698292609329:3802698292609849 1976:1980 hsa_system_get_info(2, 0x7f51e016be18) = 0 +3802698292610229:3802698292610749 1976:1980 hsa_system_get_info(2, 0x7f51e016be20) = 0 +3802698292611139:3802698292611649 1976:1980 hsa_system_get_info(2, 0x7f51e016be28) = 0 +3802698292612029:3802698292612549 1976:1980 hsa_system_get_info(2, 0x7f51e016be30) = 0 +3802698292612939:3802698292613449 1976:1980 hsa_system_get_info(2, 0x7f51e016be38) = 0 +3802698292613839:3802698292614349 1976:1980 hsa_system_get_info(2, 0x7f51e016be40) = 0 +3802698292614729:3802698292615249 1976:1980 hsa_system_get_info(2, 0x7f51e016be48) = 0 +3802698292616439:3802698292616959 1976:1980 hsa_system_get_info(2, 0x7f51e016be50) = 0 +3802698292617349:3802698292617859 1976:1980 hsa_system_get_info(2, 0x7f51e016be58) = 0 +3802698292618249:3802698292618759 1976:1980 hsa_system_get_info(2, 0x7f51e016be60) = 0 +3802698292619139:3802698292619659 1976:1980 hsa_system_get_info(2, 0x7f51e016be68) = 0 +3802698292620039:3802698292620559 1976:1980 hsa_system_get_info(2, 0x7f51e016be70) = 0 +3802698292620939:3802698292621459 1976:1980 hsa_system_get_info(2, 0x7f51e016be78) = 0 +3802698292621839:3802698292622359 1976:1980 hsa_system_get_info(2, 0x7f51e016be80) = 0 +3802698292622739:3802698292623259 1976:1980 hsa_system_get_info(2, 0x7f51e016be88) = 0 +3802698292623639:3802698292624159 1976:1980 hsa_system_get_info(2, 0x7f51e016be90) = 0 +3802698292624539:3802698292625059 1976:1980 hsa_system_get_info(2, 0x7f51e016be98) = 0 +3802698292625439:3802698292625959 1976:1980 hsa_system_get_info(2, 0x7f51e016bea0) = 0 +3802698292626339:3802698292626859 1976:1980 hsa_system_get_info(2, 0x7f51e016bea8) = 0 +3802698292627239:3802698292627759 1976:1980 hsa_system_get_info(2, 0x7f51e016beb0) = 0 +3802698292628139:3802698292628659 1976:1980 hsa_system_get_info(2, 0x7f51e016beb8) = 0 +3802698292629039:3802698292629559 1976:1980 hsa_system_get_info(2, 0x7f51e016bec0) = 0 +3802698292629939:3802698292630459 1976:1980 hsa_system_get_info(2, 0x7f51e016bec8) = 0 +3802698292630839:3802698292631359 1976:1980 hsa_system_get_info(2, 0x7f51e016bed0) = 0 +3802698292631739:3802698292632259 1976:1980 hsa_system_get_info(2, 0x7f51e016bed8) = 0 +3802698292632639:3802698292633159 1976:1980 hsa_system_get_info(2, 0x7f51e016bee0) = 0 +3802698292633539:3802698292634059 1976:1980 hsa_system_get_info(2, 0x7f51e016bee8) = 0 +3802698292634439:3802698292634959 1976:1980 hsa_system_get_info(2, 0x7f51e016bef0) = 0 +3802698292635339:3802698292635859 1976:1980 hsa_system_get_info(2, 0x7f51e016bef8) = 0 +3802698292636239:3802698292636759 1976:1980 hsa_system_get_info(2, 0x7f51e016bf00) = 0 +3802698292637139:3802698292637659 1976:1980 hsa_system_get_info(2, 0x7f51e016bf08) = 0 +3802698292638039:3802698292638549 1976:1980 hsa_system_get_info(2, 0x7f51e016bf10) = 0 +3802698292638939:3802698292639449 1976:1980 hsa_system_get_info(2, 0x7f51e016bf18) = 0 +3802698292639839:3802698292640349 1976:1980 hsa_system_get_info(2, 0x7f51e016bf20) = 0 +3802698292640739:3802698292641249 1976:1980 hsa_system_get_info(2, 0x7f51e016bf28) = 0 +3802698292642559:3802698292643079 1976:1980 hsa_system_get_info(2, 0x7f51e016bf30) = 0 +3802698292643469:3802698292643979 1976:1980 hsa_system_get_info(2, 0x7f51e016bf38) = 0 +3802698292644369:3802698292644879 1976:1980 hsa_system_get_info(2, 0x7f51e016bf40) = 0 +3802698292645269:3802698292645779 1976:1980 hsa_system_get_info(2, 0x7f51e016bf48) = 0 +3802698292646169:3802698292646679 1976:1980 hsa_system_get_info(2, 0x7f51e016bf50) = 0 +3802698292647069:3802698292647579 1976:1980 hsa_system_get_info(2, 0x7f51e016bf58) = 0 +3802698292647969:3802698292648479 1976:1980 hsa_system_get_info(2, 0x7f51e016bf60) = 0 +3802698292648869:3802698292649379 1976:1980 hsa_system_get_info(2, 0x7f51e016bf68) = 0 +3802698292649769:3802698292650279 1976:1980 hsa_system_get_info(2, 0x7f51e016bf70) = 0 +3802698292650669:3802698292651179 1976:1980 hsa_system_get_info(2, 0x7f51e016bf78) = 0 +3802698292651569:3802698292652079 1976:1980 hsa_system_get_info(2, 0x7f51e016bf80) = 0 +3802698292652469:3802698292652979 1976:1980 hsa_system_get_info(2, 0x7f51e016bf88) = 0 +3802698292653369:3802698292653879 1976:1980 hsa_system_get_info(2, 0x7f51e016bf90) = 0 +3802698292654269:3802698292654779 1976:1980 hsa_system_get_info(2, 0x7f51e016bf98) = 0 +3802698292655169:3802698292655679 1976:1980 hsa_system_get_info(2, 0x7f51e016bfa0) = 0 +3802698292656069:3802698292656579 1976:1980 hsa_system_get_info(2, 0x7f51e016bfa8) = 0 +3802698292656969:3802698292657479 1976:1980 hsa_system_get_info(2, 0x7f51e016bfb0) = 0 +3802698292657869:3802698292658379 1976:1980 hsa_system_get_info(2, 0x7f51e016bfb8) = 0 +3802698292658769:3802698292659279 1976:1980 hsa_system_get_info(2, 0x7f51e016bfc0) = 0 +3802698292659669:3802698292660179 1976:1980 hsa_system_get_info(2, 0x7f51e016bfc8) = 0 +3802698292660569:3802698292661079 1976:1980 hsa_system_get_info(2, 0x7f51e016bfd0) = 0 +3802698292661469:3802698292661979 1976:1980 hsa_system_get_info(2, 0x7f51e016bfd8) = 0 +3802698292662369:3802698292662879 1976:1980 hsa_system_get_info(2, 0x7f51e016bfe0) = 0 +3802698292663269:3802698292663779 1976:1980 hsa_system_get_info(2, 0x7f51e016bfe8) = 0 +3802698292664169:3802698292664679 1976:1980 hsa_system_get_info(2, 0x7f51e016bff0) = 0 +3802698292665059:3802698292665579 1976:1980 hsa_system_get_info(2, 0x7f51e016bff8) = 0 +3802698292665959:3802698292666480 1976:1980 hsa_system_get_info(2, 0x7f51e016c000) = 0 +3802698292666860:3802698292667380 1976:1980 hsa_system_get_info(2, 0x7f51e016c008) = 0 +3802698292667760:3802698292668280 1976:1980 hsa_system_get_info(2, 0x7f51e016c010) = 0 +3802698292669470:3802698292669990 1976:1980 hsa_system_get_info(2, 0x7f51e016c018) = 0 +3802698292670380:3802698292670890 1976:1980 hsa_system_get_info(2, 0x7f51e016c020) = 0 +3802698292671280:3802698292671790 1976:1980 hsa_system_get_info(2, 0x7f51e016c028) = 0 +3802698292672180:3802698292672690 1976:1980 hsa_system_get_info(2, 0x7f51e016c030) = 0 +3802698292673080:3802698292673590 1976:1980 hsa_system_get_info(2, 0x7f51e016c038) = 0 +3802698292673980:3802698292674490 1976:1980 hsa_system_get_info(2, 0x7f51e016c040) = 0 +3802698292674880:3802698292675390 1976:1980 hsa_system_get_info(2, 0x7f51e016c048) = 0 +3802698292675780:3802698292676290 1976:1980 hsa_system_get_info(2, 0x7f51e016c050) = 0 +3802698292676680:3802698292677190 1976:1980 hsa_system_get_info(2, 0x7f51e016c058) = 0 +3802698292677580:3802698292678090 1976:1980 hsa_system_get_info(2, 0x7f51e016c060) = 0 +3802698292678480:3802698292678990 1976:1980 hsa_system_get_info(2, 0x7f51e016c068) = 0 +3802698292679380:3802698292679890 1976:1980 hsa_system_get_info(2, 0x7f51e016c070) = 0 +3802698292680280:3802698292680790 1976:1980 hsa_system_get_info(2, 0x7f51e016c078) = 0 +3802698292681180:3802698292681690 1976:1980 hsa_system_get_info(2, 0x7f51e016c080) = 0 +3802698292682080:3802698292682590 1976:1980 hsa_system_get_info(2, 0x7f51e016c088) = 0 +3802698292682980:3802698292683490 1976:1980 hsa_system_get_info(2, 0x7f51e016c090) = 0 +3802698292683880:3802698292684390 1976:1980 hsa_system_get_info(2, 0x7f51e016c098) = 0 +3802698292684780:3802698292685290 1976:1980 hsa_system_get_info(2, 0x7f51e016c0a0) = 0 +3802698292685670:3802698292686190 1976:1980 hsa_system_get_info(2, 0x7f51e016c0a8) = 0 +3802698292686570:3802698292687090 1976:1980 hsa_system_get_info(2, 0x7f51e016c0b0) = 0 +3802698292687470:3802698292687990 1976:1980 hsa_system_get_info(2, 0x7f51e016c0b8) = 0 +3802698292688370:3802698292688890 1976:1980 hsa_system_get_info(2, 0x7f51e016c0c0) = 0 +3802698292689270:3802698292689790 1976:1980 hsa_system_get_info(2, 0x7f51e016c0c8) = 0 +3802698292690170:3802698292690690 1976:1980 hsa_system_get_info(2, 0x7f51e016c0d0) = 0 +3802698292691070:3802698292691590 1976:1980 hsa_system_get_info(2, 0x7f51e016c0d8) = 0 +3802698292691970:3802698292692490 1976:1980 hsa_system_get_info(2, 0x7f51e016c0e0) = 0 +3802698292692870:3802698292693390 1976:1980 hsa_system_get_info(2, 0x7f51e016c0e8) = 0 +3802698292693770:3802698292694290 1976:1980 hsa_system_get_info(2, 0x7f51e016c0f0) = 0 +3802698292695480:3802698292696000 1976:1980 hsa_system_get_info(2, 0x7f51e016c0f8) = 0 +3802698292696390:3802698292696900 1976:1980 hsa_system_get_info(2, 0x7f51e016c100) = 0 +3802698292697290:3802698292697800 1976:1980 hsa_system_get_info(2, 0x7f51e016c108) = 0 +3802698292698190:3802698292698700 1976:1980 hsa_system_get_info(2, 0x7f51e016c110) = 0 +3802698292699090:3802698292699600 1976:1980 hsa_system_get_info(2, 0x7f51e016c118) = 0 +3802698292699990:3802698292700500 1976:1980 hsa_system_get_info(2, 0x7f51e016c120) = 0 +3802698292700890:3802698292701400 1976:1980 hsa_system_get_info(2, 0x7f51e016c128) = 0 +3802698292701790:3802698292702300 1976:1980 hsa_system_get_info(2, 0x7f51e016c130) = 0 +3802698292702690:3802698292703200 1976:1980 hsa_system_get_info(2, 0x7f51e016c138) = 0 +3802698292703590:3802698292704100 1976:1980 hsa_system_get_info(2, 0x7f51e016c140) = 0 +3802698292704490:3802698292705000 1976:1980 hsa_system_get_info(2, 0x7f51e016c148) = 0 +3802698292705390:3802698292705900 1976:1980 hsa_system_get_info(2, 0x7f51e016c150) = 0 +3802698292706290:3802698292706800 1976:1980 hsa_system_get_info(2, 0x7f51e016c158) = 0 +3802698292707190:3802698292707700 1976:1980 hsa_system_get_info(2, 0x7f51e016c160) = 0 +3802698292708090:3802698292708600 1976:1980 hsa_system_get_info(2, 0x7f51e016c168) = 0 +3802698292708990:3802698292709500 1976:1980 hsa_system_get_info(2, 0x7f51e016c170) = 0 +3802698292709890:3802698292710400 1976:1980 hsa_system_get_info(2, 0x7f51e016c178) = 0 +3802698292710790:3802698292711300 1976:1980 hsa_system_get_info(2, 0x7f51e016c180) = 0 +3802698292711690:3802698292712200 1976:1980 hsa_system_get_info(2, 0x7f51e016c188) = 0 +3802698292712590:3802698292713100 1976:1980 hsa_system_get_info(2, 0x7f51e016c190) = 0 +3802698292713490:3802698292714000 1976:1980 hsa_system_get_info(2, 0x7f51e016c198) = 0 +3802698292714390:3802698292714900 1976:1980 hsa_system_get_info(2, 0x7f51e016c1a0) = 0 +3802698292715290:3802698292715800 1976:1980 hsa_system_get_info(2, 0x7f51e016c1a8) = 0 +3802698292716190:3802698292716700 1976:1980 hsa_system_get_info(2, 0x7f51e016c1b0) = 0 +3802698292717090:3802698292717600 1976:1980 hsa_system_get_info(2, 0x7f51e016c1b8) = 0 +3802698292717990:3802698292718500 1976:1980 hsa_system_get_info(2, 0x7f51e016c1c0) = 0 +3802698292718890:3802698292719400 1976:1980 hsa_system_get_info(2, 0x7f51e016c1c8) = 0 +3802698292719790:3802698292720300 1976:1980 hsa_system_get_info(2, 0x7f51e016c1d0) = 0 +3802698292720690:3802698292721200 1976:1980 hsa_system_get_info(2, 0x7f51e016c1d8) = 0 +3802698292722380:3802698292722890 1976:1980 hsa_system_get_info(2, 0x7f51e016c1e0) = 0 +3802698292723280:3802698292723790 1976:1980 hsa_system_get_info(2, 0x7f51e016c1e8) = 0 +3802698292724180:3802698292724690 1976:1980 hsa_system_get_info(2, 0x7f51e016c1f0) = 0 +3802698292725080:3802698292725590 1976:1980 hsa_system_get_info(2, 0x7f51e016c1f8) = 0 +3802698292725980:3802698292726490 1976:1980 hsa_system_get_info(2, 0x7f51e016c200) = 0 +3802698292726880:3802698292727390 1976:1980 hsa_system_get_info(2, 0x7f51e016c208) = 0 +3802698292727780:3802698292728290 1976:1980 hsa_system_get_info(2, 0x7f51e016c210) = 0 +3802698292728680:3802698292729190 1976:1980 hsa_system_get_info(2, 0x7f51e016c218) = 0 +3802698292729580:3802698292730090 1976:1980 hsa_system_get_info(2, 0x7f51e016c220) = 0 +3802698292730480:3802698292730990 1976:1980 hsa_system_get_info(2, 0x7f51e016c228) = 0 +3802698292731380:3802698292731890 1976:1980 hsa_system_get_info(2, 0x7f51e016c230) = 0 +3802698292732280:3802698292732790 1976:1980 hsa_system_get_info(2, 0x7f51e016c238) = 0 +3802698292733180:3802698292733690 1976:1980 hsa_system_get_info(2, 0x7f51e016c240) = 0 +3802698292734080:3802698292734590 1976:1980 hsa_system_get_info(2, 0x7f51e016c248) = 0 +3802698292734980:3802698292735490 1976:1980 hsa_system_get_info(2, 0x7f51e016c250) = 0 +3802698292735880:3802698292736390 1976:1980 hsa_system_get_info(2, 0x7f51e016c258) = 0 +3802698292736780:3802698292737290 1976:1980 hsa_system_get_info(2, 0x7f51e016c260) = 0 +3802698292737680:3802698292738190 1976:1980 hsa_system_get_info(2, 0x7f51e016c268) = 0 +3802698292738580:3802698292739090 1976:1980 hsa_system_get_info(2, 0x7f51e016c270) = 0 +3802698292739480:3802698292739990 1976:1980 hsa_system_get_info(2, 0x7f51e016c278) = 0 +3802698292740380:3802698292740890 1976:1980 hsa_system_get_info(2, 0x7f51e016c280) = 0 +3802698292741280:3802698292741790 1976:1980 hsa_system_get_info(2, 0x7f51e016c288) = 0 +3802698292742180:3802698292742690 1976:1980 hsa_system_get_info(2, 0x7f51e016c290) = 0 +3802698292743080:3802698292743590 1976:1980 hsa_system_get_info(2, 0x7f51e016c298) = 0 +3802698292743980:3802698292744490 1976:1980 hsa_system_get_info(2, 0x7f51e016c2a0) = 0 +3802698292744880:3802698292745390 1976:1980 hsa_system_get_info(2, 0x7f51e016c2a8) = 0 +3802698292745780:3802698292746290 1976:1980 hsa_system_get_info(2, 0x7f51e016c2b0) = 0 +3802698292746670:3802698292747190 1976:1980 hsa_system_get_info(2, 0x7f51e016c2b8) = 0 +3802698292748360:3802698292748880 1976:1980 hsa_system_get_info(2, 0x7f51e016c2c0) = 0 +3802698292749280:3802698292749790 1976:1980 hsa_system_get_info(2, 0x7f51e016c2c8) = 0 +3802698292750170:3802698292750690 1976:1980 hsa_system_get_info(2, 0x7f51e016c2d0) = 0 +3802698292751070:3802698292751590 1976:1980 hsa_system_get_info(2, 0x7f51e016c2d8) = 0 +3802698292751970:3802698292752490 1976:1980 hsa_system_get_info(2, 0x7f51e016c2e0) = 0 +3802698292752870:3802698292753390 1976:1980 hsa_system_get_info(2, 0x7f51e016c2e8) = 0 +3802698292753770:3802698292754290 1976:1980 hsa_system_get_info(2, 0x7f51e016c2f0) = 0 +3802698292754670:3802698292755190 1976:1980 hsa_system_get_info(2, 0x7f51e016c2f8) = 0 +3802698292755570:3802698292756090 1976:1980 hsa_system_get_info(2, 0x7f51e016c300) = 0 +3802698292756480:3802698292756990 1976:1980 hsa_system_get_info(2, 0x7f51e016c308) = 0 +3802698292757380:3802698292757890 1976:1980 hsa_system_get_info(2, 0x7f51e016c310) = 0 +3802698292758280:3802698292758800 1976:1980 hsa_system_get_info(2, 0x7f51e016c318) = 0 +3802698292759180:3802698292759700 1976:1980 hsa_system_get_info(2, 0x7f51e016c320) = 0 +3802698292760080:3802698292760600 1976:1980 hsa_system_get_info(2, 0x7f51e016c328) = 0 +3802698292760990:3802698292761500 1976:1980 hsa_system_get_info(2, 0x7f51e016c330) = 0 +3802698292761890:3802698292762400 1976:1980 hsa_system_get_info(2, 0x7f51e016c338) = 0 +3802698292762790:3802698292763300 1976:1980 hsa_system_get_info(2, 0x7f51e016c340) = 0 +3802698292763690:3802698292764200 1976:1980 hsa_system_get_info(2, 0x7f51e016c348) = 0 +3802698292764590:3802698292765100 1976:1980 hsa_system_get_info(2, 0x7f51e016c350) = 0 +3802698292765490:3802698292766000 1976:1980 hsa_system_get_info(2, 0x7f51e016c358) = 0 +3802698292766390:3802698292766900 1976:1980 hsa_system_get_info(2, 0x7f51e016c360) = 0 +3802698292767290:3802698292767800 1976:1980 hsa_system_get_info(2, 0x7f51e016c368) = 0 +3802698292768190:3802698292768700 1976:1980 hsa_system_get_info(2, 0x7f51e016c370) = 0 +3802698292769090:3802698292769600 1976:1980 hsa_system_get_info(2, 0x7f51e016c378) = 0 +3802698292769990:3802698292770500 1976:1980 hsa_system_get_info(2, 0x7f51e016c380) = 0 +3802698292770890:3802698292771400 1976:1980 hsa_system_get_info(2, 0x7f51e016c388) = 0 +3802698292771790:3802698292772310 1976:1980 hsa_system_get_info(2, 0x7f51e016c390) = 0 +3802698292772700:3802698292773210 1976:1980 hsa_system_get_info(2, 0x7f51e016c398) = 0 +3802698292774380:3802698292774900 1976:1980 hsa_system_get_info(2, 0x7f51e016c3a0) = 0 +3802698292775290:3802698292775800 1976:1980 hsa_system_get_info(2, 0x7f51e016c3a8) = 0 +3802698292776190:3802698292776700 1976:1980 hsa_system_get_info(2, 0x7f51e016c3b0) = 0 +3802698292777090:3802698292777610 1976:1980 hsa_system_get_info(2, 0x7f51e016c3b8) = 0 +3802698292777990:3802698292778510 1976:1980 hsa_system_get_info(2, 0x7f51e016c3c0) = 0 +3802698292778890:3802698292779410 1976:1980 hsa_system_get_info(2, 0x7f51e016c3c8) = 0 +3802698292779790:3802698292780310 1976:1980 hsa_system_get_info(2, 0x7f51e016c3d0) = 0 +3802698292780690:3802698292781210 1976:1980 hsa_system_get_info(2, 0x7f51e016c3d8) = 0 +3802698292781590:3802698292782110 1976:1980 hsa_system_get_info(2, 0x7f51e016c3e0) = 0 +3802698292782490:3802698292783010 1976:1980 hsa_system_get_info(2, 0x7f51e016c3e8) = 0 +3802698292783390:3802698292783910 1976:1980 hsa_system_get_info(2, 0x7f51e016c3f0) = 0 +3802698292784290:3802698292784810 1976:1980 hsa_system_get_info(2, 0x7f51e016c3f8) = 0 +3802698292785190:3802698292785710 1976:1980 hsa_system_get_info(2, 0x7f51e016c400) = 0 +3802698292786090:3802698292786610 1976:1980 hsa_system_get_info(2, 0x7f51e016c408) = 0 +3802698292786990:3802698292787510 1976:1980 hsa_system_get_info(2, 0x7f51e016c410) = 0 +3802698292787890:3802698292788410 1976:1980 hsa_system_get_info(2, 0x7f51e016c418) = 0 +3802698292788790:3802698292789310 1976:1980 hsa_system_get_info(2, 0x7f51e016c420) = 0 +3802698292789690:3802698292790210 1976:1980 hsa_system_get_info(2, 0x7f51e016c428) = 0 +3802698292790590:3802698292791110 1976:1980 hsa_system_get_info(2, 0x7f51e016c430) = 0 +3802698292791490:3802698292792010 1976:1980 hsa_system_get_info(2, 0x7f51e016c438) = 0 +3802698292792390:3802698292792910 1976:1980 hsa_system_get_info(2, 0x7f51e016c440) = 0 +3802698292793290:3802698292793800 1976:1980 hsa_system_get_info(2, 0x7f51e016c448) = 0 +3802698292794190:3802698292794700 1976:1980 hsa_system_get_info(2, 0x7f51e016c450) = 0 +3802698292795090:3802698292795600 1976:1980 hsa_system_get_info(2, 0x7f51e016c458) = 0 +3802698292795990:3802698292796500 1976:1980 hsa_system_get_info(2, 0x7f51e016c460) = 0 +3802698292796890:3802698292797400 1976:1980 hsa_system_get_info(2, 0x7f51e016c468) = 0 +3802698292797790:3802698292798300 1976:1980 hsa_system_get_info(2, 0x7f51e016c470) = 0 +3802698292798690:3802698292799200 1976:1980 hsa_system_get_info(2, 0x7f51e016c478) = 0 +3802698292799590:3802698292800100 1976:1980 hsa_system_get_info(2, 0x7f51e016c480) = 0 +3802698292803801:3802698292804321 1976:1980 hsa_system_get_info(2, 0x7f51e016c488) = 0 +3802698292804711:3802698292805221 1976:1980 hsa_system_get_info(2, 0x7f51e016c490) = 0 +3802698292805611:3802698292806121 1976:1980 hsa_system_get_info(2, 0x7f51e016c498) = 0 +3802698292806511:3802698292807021 1976:1980 hsa_system_get_info(2, 0x7f51e016c4a0) = 0 +3802698292807411:3802698292807921 1976:1980 hsa_system_get_info(2, 0x7f51e016c4a8) = 0 +3802698292808311:3802698292808821 1976:1980 hsa_system_get_info(2, 0x7f51e016c4b0) = 0 +3802698292809211:3802698292809721 1976:1980 hsa_system_get_info(2, 0x7f51e016c4b8) = 0 +3802698292810101:3802698292810621 1976:1980 hsa_system_get_info(2, 0x7f51e016c4c0) = 0 +3802698292811001:3802698292811521 1976:1980 hsa_system_get_info(2, 0x7f51e016c4c8) = 0 +3802698292811901:3802698292812421 1976:1980 hsa_system_get_info(2, 0x7f51e016c4d0) = 0 +3802698292812801:3802698292813321 1976:1980 hsa_system_get_info(2, 0x7f51e016c4d8) = 0 +3802698292813701:3802698292814221 1976:1980 hsa_system_get_info(2, 0x7f51e016c4e0) = 0 +3802698292814601:3802698292815121 1976:1980 hsa_system_get_info(2, 0x7f51e016c4e8) = 0 +3802698292815501:3802698292816021 1976:1980 hsa_system_get_info(2, 0x7f51e016c4f0) = 0 +3802698292816401:3802698292816921 1976:1980 hsa_system_get_info(2, 0x7f51e016c4f8) = 0 +3802698292817301:3802698292817821 1976:1980 hsa_system_get_info(2, 0x7f51e016c500) = 0 +3802698292818201:3802698292818721 1976:1980 hsa_system_get_info(2, 0x7f51e016c508) = 0 +3802698292819101:3802698292819621 1976:1980 hsa_system_get_info(2, 0x7f51e016c510) = 0 +3802698292820001:3802698292820521 1976:1980 hsa_system_get_info(2, 0x7f51e016c518) = 0 +3802698292820901:3802698292821421 1976:1980 hsa_system_get_info(2, 0x7f51e016c520) = 0 +3802698292821801:3802698292822321 1976:1980 hsa_system_get_info(2, 0x7f51e016c528) = 0 +3802698292822701:3802698292823221 1976:1980 hsa_system_get_info(2, 0x7f51e016c530) = 0 +3802698292823601:3802698292824121 1976:1980 hsa_system_get_info(2, 0x7f51e016c538) = 0 +3802698292824501:3802698292825021 1976:1980 hsa_system_get_info(2, 0x7f51e016c540) = 0 +3802698292825401:3802698292825921 1976:1980 hsa_system_get_info(2, 0x7f51e016c548) = 0 +3802698292826301:3802698292826821 1976:1980 hsa_system_get_info(2, 0x7f51e016c550) = 0 +3802698292827201:3802698292827711 1976:1980 hsa_system_get_info(2, 0x7f51e016c558) = 0 +3802698292828101:3802698292828611 1976:1980 hsa_system_get_info(2, 0x7f51e016c560) = 0 +3802698292830161:3802698292830681 1976:1980 hsa_system_get_info(2, 0x7f51e016c568) = 0 +3802698292831071:3802698292831581 1976:1980 hsa_system_get_info(2, 0x7f51e016c570) = 0 +3802698292831971:3802698292832481 1976:1980 hsa_system_get_info(2, 0x7f51e016c578) = 0 +3802698292832871:3802698292833381 1976:1980 hsa_system_get_info(2, 0x7f51e016c580) = 0 +3802698292833771:3802698292834281 1976:1980 hsa_system_get_info(2, 0x7f51e016c588) = 0 +3802698292834671:3802698292835181 1976:1980 hsa_system_get_info(2, 0x7f51e016c590) = 0 +3802698292835571:3802698292836081 1976:1980 hsa_system_get_info(2, 0x7f51e016c598) = 0 +3802698292836471:3802698292836981 1976:1980 hsa_system_get_info(2, 0x7f51e016c5a0) = 0 +3802698292837371:3802698292837881 1976:1980 hsa_system_get_info(2, 0x7f51e016c5a8) = 0 +3802698292838271:3802698292838781 1976:1980 hsa_system_get_info(2, 0x7f51e016c5b0) = 0 +3802698292839171:3802698292839681 1976:1980 hsa_system_get_info(2, 0x7f51e016c5b8) = 0 +3802698292840071:3802698292840581 1976:1980 hsa_system_get_info(2, 0x7f51e016c5c0) = 0 +3802698292840971:3802698292841481 1976:1980 hsa_system_get_info(2, 0x7f51e016c5c8) = 0 +3802698292841871:3802698292842381 1976:1980 hsa_system_get_info(2, 0x7f51e016c5d0) = 0 +3802698292842771:3802698292843281 1976:1980 hsa_system_get_info(2, 0x7f51e016c5d8) = 0 +3802698292843671:3802698292844181 1976:1980 hsa_system_get_info(2, 0x7f51e016c5e0) = 0 +3802698292844571:3802698292845081 1976:1980 hsa_system_get_info(2, 0x7f51e016c5e8) = 0 +3802698292845471:3802698292845981 1976:1980 hsa_system_get_info(2, 0x7f51e016c5f0) = 0 +3802698292846371:3802698292846881 1976:1980 hsa_system_get_info(2, 0x7f51e016c5f8) = 0 +3802698292847271:3802698292847781 1976:1980 hsa_system_get_info(2, 0x7f51e016c600) = 0 +3802698292848171:3802698292848681 1976:1980 hsa_system_get_info(2, 0x7f51e016c608) = 0 +3802698292849071:3802698292849581 1976:1980 hsa_system_get_info(2, 0x7f51e016c610) = 0 +3802698292849971:3802698292850481 1976:1980 hsa_system_get_info(2, 0x7f51e016c618) = 0 +3802698292850871:3802698292851381 1976:1980 hsa_system_get_info(2, 0x7f51e016c620) = 0 +3802698292851771:3802698292852281 1976:1980 hsa_system_get_info(2, 0x7f51e016c628) = 0 +3802698292852671:3802698292853181 1976:1980 hsa_system_get_info(2, 0x7f51e016c630) = 0 +3802698292853571:3802698292854081 1976:1980 hsa_system_get_info(2, 0x7f51e016c638) = 0 +3802698292854471:3802698292854981 1976:1980 hsa_system_get_info(2, 0x7f51e016c640) = 0 +3802698292855381:3802698292855891 1976:1980 hsa_system_get_info(2, 0x7f51e016c648) = 0 +3802698292857681:3802698292858201 1976:1980 hsa_system_get_info(2, 0x7f51e016c650) = 0 +3802698292858591:3802698292859101 1976:1980 hsa_system_get_info(2, 0x7f51e016c658) = 0 +3802698292859491:3802698292860001 1976:1980 hsa_system_get_info(2, 0x7f51e016c660) = 0 +3802698292860391:3802698292860901 1976:1980 hsa_system_get_info(2, 0x7f51e016c668) = 0 +3802698292861291:3802698292861801 1976:1980 hsa_system_get_info(2, 0x7f51e016c670) = 0 +3802698292862191:3802698292862701 1976:1980 hsa_system_get_info(2, 0x7f51e016c678) = 0 +3802698292863091:3802698292863601 1976:1980 hsa_system_get_info(2, 0x7f51e016c680) = 0 +3802698292863991:3802698292864501 1976:1980 hsa_system_get_info(2, 0x7f51e016c688) = 0 +3802698292864891:3802698292865401 1976:1980 hsa_system_get_info(2, 0x7f51e016c690) = 0 +3802698292865791:3802698292866301 1976:1980 hsa_system_get_info(2, 0x7f51e016c698) = 0 +3802698292866691:3802698292867201 1976:1980 hsa_system_get_info(2, 0x7f51e016c6a0) = 0 +3802698292867591:3802698292868101 1976:1980 hsa_system_get_info(2, 0x7f51e016c6a8) = 0 +3802698292868491:3802698292869011 1976:1980 hsa_system_get_info(2, 0x7f51e016c6b0) = 0 +3802698292869391:3802698292869911 1976:1980 hsa_system_get_info(2, 0x7f51e016c6b8) = 0 +3802698292870291:3802698292870811 1976:1980 hsa_system_get_info(2, 0x7f51e016c6c0) = 0 +3802698292871191:3802698292871711 1976:1980 hsa_system_get_info(2, 0x7f51e016c6c8) = 0 +3802698292872091:3802698292872611 1976:1980 hsa_system_get_info(2, 0x7f51e016c6d0) = 0 +3802698292872991:3802698292873511 1976:1980 hsa_system_get_info(2, 0x7f51e016c6d8) = 0 +3802698292873891:3802698292874411 1976:1980 hsa_system_get_info(2, 0x7f51e016c6e0) = 0 +3802698292874801:3802698292875311 1976:1980 hsa_system_get_info(2, 0x7f51e016c6e8) = 0 +3802698292875701:3802698292876211 1976:1980 hsa_system_get_info(2, 0x7f51e016c6f0) = 0 +3802698292876601:3802698292877111 1976:1980 hsa_system_get_info(2, 0x7f51e016c6f8) = 0 +3802698292877501:3802698292878011 1976:1980 hsa_system_get_info(2, 0x7f51e016c700) = 0 +3802698292878401:3802698292878911 1976:1980 hsa_system_get_info(2, 0x7f51e016c708) = 0 +3802698292879301:3802698292879811 1976:1980 hsa_system_get_info(2, 0x7f51e016c710) = 0 +3802698292880201:3802698292880711 1976:1980 hsa_system_get_info(2, 0x7f51e016c718) = 0 +3802698292881101:3802698292881621 1976:1980 hsa_system_get_info(2, 0x7f51e016c720) = 0 +3802698292882001:3802698292882521 1976:1980 hsa_system_get_info(2, 0x7f51e016c728) = 0 +3802698292883731:3802698292884251 1976:1980 hsa_system_get_info(2, 0x7f51e016c730) = 0 +3802698292884641:3802698292885151 1976:1980 hsa_system_get_info(2, 0x7f51e016c738) = 0 +3802698292885541:3802698292886051 1976:1980 hsa_system_get_info(2, 0x7f51e016c740) = 0 +3802698292886441:3802698292886961 1976:1980 hsa_system_get_info(2, 0x7f51e016c748) = 0 +3802698292887341:3802698292887861 1976:1980 hsa_system_get_info(2, 0x7f51e016c750) = 0 +3802698292888241:3802698292888761 1976:1980 hsa_system_get_info(2, 0x7f51e016c758) = 0 +3802698292889151:3802698292889661 1976:1980 hsa_system_get_info(2, 0x7f51e016c760) = 0 +3802698292890051:3802698292890561 1976:1980 hsa_system_get_info(2, 0x7f51e016c768) = 0 +3802698292890951:3802698292891461 1976:1980 hsa_system_get_info(2, 0x7f51e016c770) = 0 +3802698292891851:3802698292892361 1976:1980 hsa_system_get_info(2, 0x7f51e016c778) = 0 +3802698292892751:3802698292893261 1976:1980 hsa_system_get_info(2, 0x7f51e016c780) = 0 +3802698292893651:3802698292894161 1976:1980 hsa_system_get_info(2, 0x7f51e016c788) = 0 +3802698292894551:3802698292895061 1976:1980 hsa_system_get_info(2, 0x7f51e016c790) = 0 +3802698292895451:3802698292895961 1976:1980 hsa_system_get_info(2, 0x7f51e016c798) = 0 +3802698292896351:3802698292896861 1976:1980 hsa_system_get_info(2, 0x7f51e016c7a0) = 0 +3802698292897251:3802698292897761 1976:1980 hsa_system_get_info(2, 0x7f51e016c7a8) = 0 +3802698292898151:3802698292898661 1976:1980 hsa_system_get_info(2, 0x7f51e016c7b0) = 0 +3802698292899051:3802698292899561 1976:1980 hsa_system_get_info(2, 0x7f51e016c7b8) = 0 +3802698292899951:3802698292900461 1976:1980 hsa_system_get_info(2, 0x7f51e016c7c0) = 0 +3802698292900851:3802698292901361 1976:1980 hsa_system_get_info(2, 0x7f51e016c7c8) = 0 +3802698292901751:3802698292902261 1976:1980 hsa_system_get_info(2, 0x7f51e016c7d0) = 0 +3802698292902651:3802698292903161 1976:1980 hsa_system_get_info(2, 0x7f51e016c7d8) = 0 +3802698292903551:3802698292904061 1976:1980 hsa_system_get_info(2, 0x7f51e016c7e0) = 0 +3802698292904451:3802698292904961 1976:1980 hsa_system_get_info(2, 0x7f51e016c7e8) = 0 +3802698292905351:3802698292905861 1976:1980 hsa_system_get_info(2, 0x7f51e016c7f0) = 0 +3802698292906251:3802698292906761 1976:1980 hsa_system_get_info(2, 0x7f51e016c7f8) = 0 +3802698292907151:3802698292907661 1976:1980 hsa_system_get_info(2, 0x7f51e016c800) = 0 +3802698292908051:3802698292908571 1976:1980 hsa_system_get_info(2, 0x7f51e016c808) = 0 +3802698292908951:3802698292909471 1976:1980 hsa_system_get_info(2, 0x7f51e016c810) = 0 +3802698292910741:3802698292911261 1976:1980 hsa_system_get_info(2, 0x7f51e016c818) = 0 +3802698292911651:3802698292912161 1976:1980 hsa_system_get_info(2, 0x7f51e016c820) = 0 +3802698292912551:3802698292913061 1976:1980 hsa_system_get_info(2, 0x7f51e016c828) = 0 +3802698292913451:3802698292913961 1976:1980 hsa_system_get_info(2, 0x7f51e016c830) = 0 +3802698292914351:3802698292914861 1976:1980 hsa_system_get_info(2, 0x7f51e016c838) = 0 +3802698292915251:3802698292915761 1976:1980 hsa_system_get_info(2, 0x7f51e016c840) = 0 +3802698292916151:3802698292916671 1976:1980 hsa_system_get_info(2, 0x7f51e016c848) = 0 +3802698292917061:3802698292917571 1976:1980 hsa_system_get_info(2, 0x7f51e016c850) = 0 +3802698292917961:3802698292918471 1976:1980 hsa_system_get_info(2, 0x7f51e016c858) = 0 +3802698292918861:3802698292919381 1976:1980 hsa_system_get_info(2, 0x7f51e016c860) = 0 +3802698292919761:3802698292920281 1976:1980 hsa_system_get_info(2, 0x7f51e016c868) = 0 +3802698292920671:3802698292921181 1976:1980 hsa_system_get_info(2, 0x7f51e016c870) = 0 +3802698292921571:3802698292922081 1976:1980 hsa_system_get_info(2, 0x7f51e016c878) = 0 +3802698292922471:3802698292922991 1976:1980 hsa_system_get_info(2, 0x7f51e016c880) = 0 +3802698292923371:3802698292923891 1976:1980 hsa_system_get_info(2, 0x7f51e016c888) = 0 +3802698292924271:3802698292924791 1976:1980 hsa_system_get_info(2, 0x7f51e016c890) = 0 +3802698292925171:3802698292925691 1976:1980 hsa_system_get_info(2, 0x7f51e016c898) = 0 +3802698292926071:3802698292926591 1976:1980 hsa_system_get_info(2, 0x7f51e016c8a0) = 0 +3802698292926971:3802698292927491 1976:1980 hsa_system_get_info(2, 0x7f51e016c8a8) = 0 +3802698292927881:3802698292928391 1976:1980 hsa_system_get_info(2, 0x7f51e016c8b0) = 0 +3802698292928781:3802698292929291 1976:1980 hsa_system_get_info(2, 0x7f51e016c8b8) = 0 +3802698292929681:3802698292930191 1976:1980 hsa_system_get_info(2, 0x7f51e016c8c0) = 0 +3802698292930581:3802698292931091 1976:1980 hsa_system_get_info(2, 0x7f51e016c8c8) = 0 +3802698292931481:3802698292931991 1976:1980 hsa_system_get_info(2, 0x7f51e016c8d0) = 0 +3802698292932381:3802698292932891 1976:1980 hsa_system_get_info(2, 0x7f51e016c8d8) = 0 +3802698292933281:3802698292933791 1976:1980 hsa_system_get_info(2, 0x7f51e016c8e0) = 0 +3802698292934181:3802698292934691 1976:1980 hsa_system_get_info(2, 0x7f51e016c8e8) = 0 +3802698292935082:3802698292935592 1976:1980 hsa_system_get_info(2, 0x7f51e016c8f0) = 0 +3802698292936832:3802698292937352 1976:1980 hsa_system_get_info(2, 0x7f51e016c8f8) = 0 +3802698292937742:3802698292938252 1976:1980 hsa_system_get_info(2, 0x7f51e016c900) = 0 +3802698292938642:3802698292939152 1976:1980 hsa_system_get_info(2, 0x7f51e016c908) = 0 +3802698292939542:3802698292940052 1976:1980 hsa_system_get_info(2, 0x7f51e016c910) = 0 +3802698292940442:3802698292940952 1976:1980 hsa_system_get_info(2, 0x7f51e016c918) = 0 +3802698292941342:3802698292941852 1976:1980 hsa_system_get_info(2, 0x7f51e016c920) = 0 +3802698292942242:3802698292942752 1976:1980 hsa_system_get_info(2, 0x7f51e016c928) = 0 +3802698292943142:3802698292943652 1976:1980 hsa_system_get_info(2, 0x7f51e016c930) = 0 +3802698292944042:3802698292944552 1976:1980 hsa_system_get_info(2, 0x7f51e016c938) = 0 +3802698292944942:3802698292945452 1976:1980 hsa_system_get_info(2, 0x7f51e016c940) = 0 +3802698292945842:3802698292946352 1976:1980 hsa_system_get_info(2, 0x7f51e016c948) = 0 +3802698292946742:3802698292947252 1976:1980 hsa_system_get_info(2, 0x7f51e016c950) = 0 +3802698292947642:3802698292948152 1976:1980 hsa_system_get_info(2, 0x7f51e016c958) = 0 +3802698292948542:3802698292949052 1976:1980 hsa_system_get_info(2, 0x7f51e016c960) = 0 +3802698292949442:3802698292949952 1976:1980 hsa_system_get_info(2, 0x7f51e016c968) = 0 +3802698292950342:3802698292950852 1976:1980 hsa_system_get_info(2, 0x7f51e016c970) = 0 +3802698292951242:3802698292951752 1976:1980 hsa_system_get_info(2, 0x7f51e016c978) = 0 +3802698292952142:3802698292952652 1976:1980 hsa_system_get_info(2, 0x7f51e016c980) = 0 +3802698292953042:3802698292953552 1976:1980 hsa_system_get_info(2, 0x7f51e016c988) = 0 +3802698292953942:3802698292954452 1976:1980 hsa_system_get_info(2, 0x7f51e016c990) = 0 +3802698292954842:3802698292955362 1976:1980 hsa_system_get_info(2, 0x7f51e016c998) = 0 +3802698292955742:3802698292956262 1976:1980 hsa_system_get_info(2, 0x7f51e016c9a0) = 0 +3802698292956642:3802698292957162 1976:1980 hsa_system_get_info(2, 0x7f51e016c9a8) = 0 +3802698292957542:3802698292958062 1976:1980 hsa_system_get_info(2, 0x7f51e016c9b0) = 0 +3802698292958442:3802698292958962 1976:1980 hsa_system_get_info(2, 0x7f51e016c9b8) = 0 +3802698292959342:3802698292959862 1976:1980 hsa_system_get_info(2, 0x7f51e016c9c0) = 0 +3802698292960242:3802698292960762 1976:1980 hsa_system_get_info(2, 0x7f51e016c9c8) = 0 +3802698292961142:3802698292961662 1976:1980 hsa_system_get_info(2, 0x7f51e016c9d0) = 0 +3802698292962042:3802698292962562 1976:1980 hsa_system_get_info(2, 0x7f51e016c9d8) = 0 +3802698292963832:3802698292964352 1976:1980 hsa_system_get_info(2, 0x7f51e016c9e0) = 0 +3802698292964742:3802698292965252 1976:1980 hsa_system_get_info(2, 0x7f51e016c9e8) = 0 +3802698292965642:3802698292966152 1976:1980 hsa_system_get_info(2, 0x7f51e016c9f0) = 0 +3802698292966542:3802698292967052 1976:1980 hsa_system_get_info(2, 0x7f51e016c9f8) = 0 +3802698292967442:3802698292967952 1976:1980 hsa_system_get_info(2, 0x7f51e016ca00) = 0 +3802698292968342:3802698292968852 1976:1980 hsa_system_get_info(2, 0x7f51e016ca08) = 0 +3802698292969242:3802698292969762 1976:1980 hsa_system_get_info(2, 0x7f51e016ca10) = 0 +3802698292970142:3802698292970662 1976:1980 hsa_system_get_info(2, 0x7f51e016ca18) = 0 +3802698292971042:3802698292971562 1976:1980 hsa_system_get_info(2, 0x7f51e016ca20) = 0 +3802698292971942:3802698292972462 1976:1980 hsa_system_get_info(2, 0x7f51e016ca28) = 0 +3802698292972842:3802698292973362 1976:1980 hsa_system_get_info(2, 0x7f51e016ca30) = 0 +3802698292973742:3802698292974262 1976:1980 hsa_system_get_info(2, 0x7f51e016ca38) = 0 +3802698292974642:3802698292975162 1976:1980 hsa_system_get_info(2, 0x7f51e016ca40) = 0 +3802698292975542:3802698292976062 1976:1980 hsa_system_get_info(2, 0x7f51e016ca48) = 0 +3802698292976442:3802698292976962 1976:1980 hsa_system_get_info(2, 0x7f51e016ca50) = 0 +3802698292977352:3802698292977862 1976:1980 hsa_system_get_info(2, 0x7f51e016ca58) = 0 +3802698292978252:3802698292978762 1976:1980 hsa_system_get_info(2, 0x7f51e016ca60) = 0 +3802698292979152:3802698292979662 1976:1980 hsa_system_get_info(2, 0x7f51e016ca68) = 0 +3802698292980052:3802698292980562 1976:1980 hsa_system_get_info(2, 0x7f51e016ca70) = 0 +3802698292980952:3802698292981462 1976:1980 hsa_system_get_info(2, 0x7f51e016ca78) = 0 +3802698292981852:3802698292982362 1976:1980 hsa_system_get_info(2, 0x7f51e016ca80) = 0 +3802698292982752:3802698292983262 1976:1980 hsa_system_get_info(2, 0x7f51e016ca88) = 0 +3802698292983652:3802698292984162 1976:1980 hsa_system_get_info(2, 0x7f51e016ca90) = 0 +3802698292984552:3802698292985062 1976:1980 hsa_system_get_info(2, 0x7f51e016ca98) = 0 +3802698292985452:3802698292985962 1976:1980 hsa_system_get_info(2, 0x7f51e016caa0) = 0 +3802698292986352:3802698292986862 1976:1980 hsa_system_get_info(2, 0x7f51e016caa8) = 0 +3802698292987252:3802698292987762 1976:1980 hsa_system_get_info(2, 0x7f51e016cab0) = 0 +3802698292988152:3802698292988662 1976:1980 hsa_system_get_info(2, 0x7f51e016cab8) = 0 +3802698292989892:3802698292990412 1976:1980 hsa_system_get_info(2, 0x7f51e016cac0) = 0 +3802698292990802:3802698292991312 1976:1980 hsa_system_get_info(2, 0x7f51e016cac8) = 0 +3802698292991702:3802698292992212 1976:1980 hsa_system_get_info(2, 0x7f51e016cad0) = 0 +3802698292992602:3802698292993112 1976:1980 hsa_system_get_info(2, 0x7f51e016cad8) = 0 +3802698292993502:3802698292994012 1976:1980 hsa_system_get_info(2, 0x7f51e016cae0) = 0 +3802698292994402:3802698292994912 1976:1980 hsa_system_get_info(2, 0x7f51e016cae8) = 0 +3802698292995302:3802698292995812 1976:1980 hsa_system_get_info(2, 0x7f51e016caf0) = 0 +3802698292996202:3802698292996712 1976:1980 hsa_system_get_info(2, 0x7f51e016caf8) = 0 +3802698292997102:3802698292997612 1976:1980 hsa_system_get_info(2, 0x7f51e016cb00) = 0 +3802698292998002:3802698292998522 1976:1980 hsa_system_get_info(2, 0x7f51e016cb08) = 0 +3802698292998902:3802698292999422 1976:1980 hsa_system_get_info(2, 0x7f51e016cb10) = 0 +3802698292999802:3802698293000322 1976:1980 hsa_system_get_info(2, 0x7f51e016cb18) = 0 +3802698293000702:3802698293001222 1976:1980 hsa_system_get_info(2, 0x7f51e016cb20) = 0 +3802698293001602:3802698293002122 1976:1980 hsa_system_get_info(2, 0x7f51e016cb28) = 0 +3802698293002502:3802698293003022 1976:1980 hsa_system_get_info(2, 0x7f51e016cb30) = 0 +3802698293003402:3802698293003922 1976:1980 hsa_system_get_info(2, 0x7f51e016cb38) = 0 +3802698293004302:3802698293004822 1976:1980 hsa_system_get_info(2, 0x7f51e016cb40) = 0 +3802698293005202:3802698293005722 1976:1980 hsa_system_get_info(2, 0x7f51e016cb48) = 0 +3802698293006102:3802698293006622 1976:1980 hsa_system_get_info(2, 0x7f51e016cb50) = 0 +3802698293007002:3802698293007522 1976:1980 hsa_system_get_info(2, 0x7f51e016cb58) = 0 +3802698293007902:3802698293008422 1976:1980 hsa_system_get_info(2, 0x7f51e016cb60) = 0 +3802698293008802:3802698293009322 1976:1980 hsa_system_get_info(2, 0x7f51e016cb68) = 0 +3802698293009702:3802698293010222 1976:1980 hsa_system_get_info(2, 0x7f51e016cb70) = 0 +3802698293010602:3802698293011122 1976:1980 hsa_system_get_info(2, 0x7f51e016cb78) = 0 +3802698293011502:3802698293012022 1976:1980 hsa_system_get_info(2, 0x7f51e016cb80) = 0 +3802698293012402:3802698293012922 1976:1980 hsa_system_get_info(2, 0x7f51e016cb88) = 0 +3802698293013302:3802698293013822 1976:1980 hsa_system_get_info(2, 0x7f51e016cb90) = 0 +3802698293014202:3802698293014722 1976:1980 hsa_system_get_info(2, 0x7f51e016cb98) = 0 +3802698293015992:3802698293016512 1976:1980 hsa_system_get_info(2, 0x7f51e016cba0) = 0 +3802698293016902:3802698293017422 1976:1980 hsa_system_get_info(2, 0x7f51e016cba8) = 0 +3802698293017802:3802698293018322 1976:1980 hsa_system_get_info(2, 0x7f51e016cbb0) = 0 +3802698293018702:3802698293019222 1976:1980 hsa_system_get_info(2, 0x7f51e016cbb8) = 0 +3802698293019602:3802698293020122 1976:1980 hsa_system_get_info(2, 0x7f51e016cbc0) = 0 +3802698293020502:3802698293021022 1976:1980 hsa_system_get_info(2, 0x7f51e016cbc8) = 0 +3802698293021402:3802698293021922 1976:1980 hsa_system_get_info(2, 0x7f51e016cbd0) = 0 +3802698293022302:3802698293022822 1976:1980 hsa_system_get_info(2, 0x7f51e016cbd8) = 0 +3802698293023202:3802698293023722 1976:1980 hsa_system_get_info(2, 0x7f51e016cbe0) = 0 +3802698293024112:3802698293024622 1976:1980 hsa_system_get_info(2, 0x7f51e016cbe8) = 0 +3802698293025012:3802698293025522 1976:1980 hsa_system_get_info(2, 0x7f51e016cbf0) = 0 +3802698293025912:3802698293026422 1976:1980 hsa_system_get_info(2, 0x7f51e016cbf8) = 0 +3802698293026812:3802698293027322 1976:1980 hsa_system_get_info(2, 0x7f51e016cc00) = 0 +3802698293027712:3802698293028222 1976:1980 hsa_system_get_info(2, 0x7f51e016cc08) = 0 +3802698293028612:3802698293029122 1976:1980 hsa_system_get_info(2, 0x7f51e016cc10) = 0 +3802698293029512:3802698293030022 1976:1980 hsa_system_get_info(2, 0x7f51e016cc18) = 0 +3802698293030412:3802698293030922 1976:1980 hsa_system_get_info(2, 0x7f51e016cc20) = 0 +3802698293031312:3802698293031822 1976:1980 hsa_system_get_info(2, 0x7f51e016cc28) = 0 +3802698293032212:3802698293032722 1976:1980 hsa_system_get_info(2, 0x7f51e016cc30) = 0 +3802698293033112:3802698293033622 1976:1980 hsa_system_get_info(2, 0x7f51e016cc38) = 0 +3802698293034012:3802698293034522 1976:1980 hsa_system_get_info(2, 0x7f51e016cc40) = 0 +3802698293034912:3802698293035422 1976:1980 hsa_system_get_info(2, 0x7f51e016cc48) = 0 +3802698293035812:3802698293036322 1976:1980 hsa_system_get_info(2, 0x7f51e016cc50) = 0 +3802698293036712:3802698293037222 1976:1980 hsa_system_get_info(2, 0x7f51e016cc58) = 0 +3802698293037612:3802698293038122 1976:1980 hsa_system_get_info(2, 0x7f51e016cc60) = 0 +3802698293038512:3802698293039022 1976:1980 hsa_system_get_info(2, 0x7f51e016cc68) = 0 +3802698293039412:3802698293039922 1976:1980 hsa_system_get_info(2, 0x7f51e016cc70) = 0 +3802698293040312:3802698293040822 1976:1980 hsa_system_get_info(2, 0x7f51e016cc78) = 0 +3802698293041212:3802698293041722 1976:1980 hsa_system_get_info(2, 0x7f51e016cc80) = 0 +3802698293043102:3802698293043622 1976:1980 hsa_system_get_info(2, 0x7f51e016cc88) = 0 +3802698293044012:3802698293044522 1976:1980 hsa_system_get_info(2, 0x7f51e016cc90) = 0 +3802698293044912:3802698293045422 1976:1980 hsa_system_get_info(2, 0x7f51e016cc98) = 0 +3802698293045812:3802698293046322 1976:1980 hsa_system_get_info(2, 0x7f51e016cca0) = 0 +3802698293046712:3802698293047222 1976:1980 hsa_system_get_info(2, 0x7f51e016cca8) = 0 +3802698293047612:3802698293048132 1976:1980 hsa_system_get_info(2, 0x7f51e016ccb0) = 0 +3802698293048512:3802698293049032 1976:1980 hsa_system_get_info(2, 0x7f51e016ccb8) = 0 +3802698293049412:3802698293049932 1976:1980 hsa_system_get_info(2, 0x7f51e016ccc0) = 0 +3802698293050312:3802698293050832 1976:1980 hsa_system_get_info(2, 0x7f51e016ccc8) = 0 +3802698293051212:3802698293051732 1976:1980 hsa_system_get_info(2, 0x7f51e016ccd0) = 0 +3802698293052112:3802698293052632 1976:1980 hsa_system_get_info(2, 0x7f51e016ccd8) = 0 +3802698293053012:3802698293053532 1976:1980 hsa_system_get_info(2, 0x7f51e016cce0) = 0 +3802698293053912:3802698293054432 1976:1980 hsa_system_get_info(2, 0x7f51e016cce8) = 0 +3802698293054812:3802698293055332 1976:1980 hsa_system_get_info(2, 0x7f51e016ccf0) = 0 +3802698293055712:3802698293056232 1976:1980 hsa_system_get_info(2, 0x7f51e016ccf8) = 0 +3802698293056612:3802698293057132 1976:1980 hsa_system_get_info(2, 0x7f51e016cd00) = 0 +3802698293057512:3802698293058032 1976:1980 hsa_system_get_info(2, 0x7f51e016cd08) = 0 +3802698293058412:3802698293058932 1976:1980 hsa_system_get_info(2, 0x7f51e016cd10) = 0 +3802698293059312:3802698293059832 1976:1980 hsa_system_get_info(2, 0x7f51e016cd18) = 0 +3802698293060212:3802698293060732 1976:1980 hsa_system_get_info(2, 0x7f51e016cd20) = 0 +3802698293061122:3802698293061632 1976:1980 hsa_system_get_info(2, 0x7f51e016cd28) = 0 +3802698293062022:3802698293062532 1976:1980 hsa_system_get_info(2, 0x7f51e016cd30) = 0 +3802698293062922:3802698293063432 1976:1980 hsa_system_get_info(2, 0x7f51e016cd38) = 0 +3802698293063822:3802698293064332 1976:1980 hsa_system_get_info(2, 0x7f51e016cd40) = 0 +3802698293064722:3802698293065232 1976:1980 hsa_system_get_info(2, 0x7f51e016cd48) = 0 +3802698293065622:3802698293066132 1976:1980 hsa_system_get_info(2, 0x7f51e016cd50) = 0 +3802698293066522:3802698293067032 1976:1980 hsa_system_get_info(2, 0x7f51e016cd58) = 0 +3802698293067422:3802698293067932 1976:1980 hsa_system_get_info(2, 0x7f51e016cd60) = 0 +3802698293069392:3802698293069903 1976:1980 hsa_system_get_info(2, 0x7f51e016cd68) = 0 +3802698293070293:3802698293070813 1976:1980 hsa_system_get_info(2, 0x7f51e016cd70) = 0 +3802698293071193:3802698293071713 1976:1980 hsa_system_get_info(2, 0x7f51e016cd78) = 0 +3802698293072093:3802698293072613 1976:1980 hsa_system_get_info(2, 0x7f51e016cd80) = 0 +3802698293072993:3802698293073513 1976:1980 hsa_system_get_info(2, 0x7f51e016cd88) = 0 +3802698293073893:3802698293074413 1976:1980 hsa_system_get_info(2, 0x7f51e016cd90) = 0 +3802698293074793:3802698293075313 1976:1980 hsa_system_get_info(2, 0x7f51e016cd98) = 0 +3802698293075693:3802698293076213 1976:1980 hsa_system_get_info(2, 0x7f51e016cda0) = 0 +3802698293076603:3802698293077113 1976:1980 hsa_system_get_info(2, 0x7f51e016cda8) = 0 +3802698293077503:3802698293078013 1976:1980 hsa_system_get_info(2, 0x7f51e016cdb0) = 0 +3802698293078403:3802698293078913 1976:1980 hsa_system_get_info(2, 0x7f51e016cdb8) = 0 +3802698293079303:3802698293079813 1976:1980 hsa_system_get_info(2, 0x7f51e016cdc0) = 0 +3802698293080203:3802698293080713 1976:1980 hsa_system_get_info(2, 0x7f51e016cdc8) = 0 +3802698293081103:3802698293081613 1976:1980 hsa_system_get_info(2, 0x7f51e016cdd0) = 0 +3802698293082003:3802698293082513 1976:1980 hsa_system_get_info(2, 0x7f51e016cdd8) = 0 +3802698293082903:3802698293083413 1976:1980 hsa_system_get_info(2, 0x7f51e016cde0) = 0 +3802698293083803:3802698293084313 1976:1980 hsa_system_get_info(2, 0x7f51e016cde8) = 0 +3802698293084703:3802698293085213 1976:1980 hsa_system_get_info(2, 0x7f51e016cdf0) = 0 +3802698293085603:3802698293086113 1976:1980 hsa_system_get_info(2, 0x7f51e016cdf8) = 0 +3802698293086503:3802698293087013 1976:1980 hsa_system_get_info(2, 0x7f51e016ce00) = 0 +3802698293087403:3802698293087913 1976:1980 hsa_system_get_info(2, 0x7f51e016ce08) = 0 +3802698293088303:3802698293088813 1976:1980 hsa_system_get_info(2, 0x7f51e016ce10) = 0 +3802698293089203:3802698293089713 1976:1980 hsa_system_get_info(2, 0x7f51e016ce18) = 0 +3802698293090103:3802698293090613 1976:1980 hsa_system_get_info(2, 0x7f51e016ce20) = 0 +3802698293091003:3802698293091523 1976:1980 hsa_system_get_info(2, 0x7f51e016ce28) = 0 +3802698293091903:3802698293092423 1976:1980 hsa_system_get_info(2, 0x7f51e016ce30) = 0 +3802698293092803:3802698293093323 1976:1980 hsa_system_get_info(2, 0x7f51e016ce38) = 0 +3802698293093703:3802698293094223 1976:1980 hsa_system_get_info(2, 0x7f51e016ce40) = 0 +3802698293094603:3802698293095123 1976:1980 hsa_system_get_info(2, 0x7f51e016ce48) = 0 +3802698293096233:3802698293096753 1976:1980 hsa_system_get_info(2, 0x7f51e016ce50) = 0 +3802698293097133:3802698293097653 1976:1980 hsa_system_get_info(2, 0x7f51e016ce58) = 0 +3802698293098033:3802698293098553 1976:1980 hsa_system_get_info(2, 0x7f51e016ce60) = 0 +3802698293098933:3802698293099453 1976:1980 hsa_system_get_info(2, 0x7f51e016ce68) = 0 +3802698293099833:3802698293100353 1976:1980 hsa_system_get_info(2, 0x7f51e016ce70) = 0 +3802698293100733:3802698293101253 1976:1980 hsa_system_get_info(2, 0x7f51e016ce78) = 0 +3802698293101633:3802698293102153 1976:1980 hsa_system_get_info(2, 0x7f51e016ce80) = 0 +3802698293102543:3802698293103053 1976:1980 hsa_system_get_info(2, 0x7f51e016ce88) = 0 +3802698293103443:3802698293103953 1976:1980 hsa_system_get_info(2, 0x7f51e016ce90) = 0 +3802698293104343:3802698293104853 1976:1980 hsa_system_get_info(2, 0x7f51e016ce98) = 0 +3802698293105243:3802698293105753 1976:1980 hsa_system_get_info(2, 0x7f51e016cea0) = 0 +3802698293106143:3802698293106653 1976:1980 hsa_system_get_info(2, 0x7f51e016cea8) = 0 +3802698293107043:3802698293107553 1976:1980 hsa_system_get_info(2, 0x7f51e016ceb0) = 0 +3802698293107943:3802698293108453 1976:1980 hsa_system_get_info(2, 0x7f51e016ceb8) = 0 +3802698293108843:3802698293109353 1976:1980 hsa_system_get_info(2, 0x7f51e016cec0) = 0 +3802698293109743:3802698293110253 1976:1980 hsa_system_get_info(2, 0x7f51e016cec8) = 0 +3802698293110643:3802698293111153 1976:1980 hsa_system_get_info(2, 0x7f51e016ced0) = 0 +3802698293111543:3802698293112053 1976:1980 hsa_system_get_info(2, 0x7f51e016ced8) = 0 +3802698293112443:3802698293112953 1976:1980 hsa_system_get_info(2, 0x7f51e016cee0) = 0 +3802698293113343:3802698293113853 1976:1980 hsa_system_get_info(2, 0x7f51e016cee8) = 0 +3802698293114243:3802698293114753 1976:1980 hsa_system_get_info(2, 0x7f51e016cef0) = 0 +3802698293115143:3802698293115653 1976:1980 hsa_system_get_info(2, 0x7f51e016cef8) = 0 +3802698293116043:3802698293116553 1976:1980 hsa_system_get_info(2, 0x7f51e016cf00) = 0 +3802698293116943:3802698293117453 1976:1980 hsa_system_get_info(2, 0x7f51e016cf08) = 0 +3802698293117843:3802698293118353 1976:1980 hsa_system_get_info(2, 0x7f51e016cf10) = 0 +3802698293118743:3802698293119253 1976:1980 hsa_system_get_info(2, 0x7f51e016cf18) = 0 +3802698293119643:3802698293120153 1976:1980 hsa_system_get_info(2, 0x7f51e016cf20) = 0 +3802698293120543:3802698293121053 1976:1980 hsa_system_get_info(2, 0x7f51e016cf28) = 0 +3802698293122343:3802698293122863 1976:1980 hsa_system_get_info(2, 0x7f51e016cf30) = 0 +3802698293123253:3802698293123763 1976:1980 hsa_system_get_info(2, 0x7f51e016cf38) = 0 +3802698293124153:3802698293124663 1976:1980 hsa_system_get_info(2, 0x7f51e016cf40) = 0 +3802698293125053:3802698293125563 1976:1980 hsa_system_get_info(2, 0x7f51e016cf48) = 0 +3802698293125953:3802698293126463 1976:1980 hsa_system_get_info(2, 0x7f51e016cf50) = 0 +3802698293126853:3802698293127363 1976:1980 hsa_system_get_info(2, 0x7f51e016cf58) = 0 +3802698293127753:3802698293128263 1976:1980 hsa_system_get_info(2, 0x7f51e016cf60) = 0 +3802698293128653:3802698293129163 1976:1980 hsa_system_get_info(2, 0x7f51e016cf68) = 0 +3802698293131573:3802698293132093 1976:1980 hsa_system_get_info(2, 0x7f51e016b030) = 0 +3802698293132503:3802698293133023 1976:1980 hsa_system_get_info(2, 0x7f51e016b038) = 0 +3802698293133413:3802698293133923 1976:1980 hsa_system_get_info(2, 0x7f51e016b040) = 0 +3802698293134313:3802698293134823 1976:1980 hsa_system_get_info(2, 0x7f51e016b048) = 0 +3802698293135213:3802698293135723 1976:1980 hsa_system_get_info(2, 0x7f51e016b050) = 0 +3802698293136113:3802698293136623 1976:1980 hsa_system_get_info(2, 0x7f51e016b058) = 0 +3802698293137013:3802698293137523 1976:1980 hsa_system_get_info(2, 0x7f51e016b060) = 0 +3802698293137903:3802698293138423 1976:1980 hsa_system_get_info(2, 0x7f51e016b068) = 0 +3802698293138803:3802698293139323 1976:1980 hsa_system_get_info(2, 0x7f51e016b070) = 0 +3802698293139703:3802698293140223 1976:1980 hsa_system_get_info(2, 0x7f51e016b078) = 0 +3802698293140603:3802698293141123 1976:1980 hsa_system_get_info(2, 0x7f51e016b080) = 0 +3802698293141503:3802698293142023 1976:1980 hsa_system_get_info(2, 0x7f51e016b088) = 0 +3802698293142403:3802698293142923 1976:1980 hsa_system_get_info(2, 0x7f51e016b090) = 0 +3802698293143303:3802698293143823 1976:1980 hsa_system_get_info(2, 0x7f51e016b098) = 0 +3802698293144203:3802698293144723 1976:1980 hsa_system_get_info(2, 0x7f51e016b0a0) = 0 +3802698293145103:3802698293145623 1976:1980 hsa_system_get_info(2, 0x7f51e016b0a8) = 0 +3802698293146003:3802698293146523 1976:1980 hsa_system_get_info(2, 0x7f51e016b0b0) = 0 +3802698293146913:3802698293147423 1976:1980 hsa_system_get_info(2, 0x7f51e016b0b8) = 0 +3802698293147813:3802698293148323 1976:1980 hsa_system_get_info(2, 0x7f51e016b0c0) = 0 +3802698293148703:3802698293149223 1976:1980 hsa_system_get_info(2, 0x7f51e016b0c8) = 0 +3802698293149603:3802698293150123 1976:1980 hsa_system_get_info(2, 0x7f51e016b0d0) = 0 +3802698293151433:3802698293151953 1976:1980 hsa_system_get_info(2, 0x7f51e016b0d8) = 0 +3802698293152343:3802698293152863 1976:1980 hsa_system_get_info(2, 0x7f51e016b0e0) = 0 +3802698293153243:3802698293153763 1976:1980 hsa_system_get_info(2, 0x7f51e016b0e8) = 0 +3802698293154143:3802698293154663 1976:1980 hsa_system_get_info(2, 0x7f51e016b0f0) = 0 +3802698293155043:3802698293155563 1976:1980 hsa_system_get_info(2, 0x7f51e016b0f8) = 0 +3802698293155943:3802698293156463 1976:1980 hsa_system_get_info(2, 0x7f51e016b100) = 0 +3802698293156843:3802698293157363 1976:1980 hsa_system_get_info(2, 0x7f51e016b108) = 0 +3802698293157743:3802698293158263 1976:1980 hsa_system_get_info(2, 0x7f51e016b110) = 0 +3802698293158643:3802698293159163 1976:1980 hsa_system_get_info(2, 0x7f51e016b118) = 0 +3802698293159543:3802698293160063 1976:1980 hsa_system_get_info(2, 0x7f51e016b120) = 0 +3802698293160453:3802698293160963 1976:1980 hsa_system_get_info(2, 0x7f51e016b128) = 0 +3802698293161353:3802698293161863 1976:1980 hsa_system_get_info(2, 0x7f51e016b130) = 0 +3802698293162253:3802698293162763 1976:1980 hsa_system_get_info(2, 0x7f51e016b138) = 0 +3802698293163153:3802698293163663 1976:1980 hsa_system_get_info(2, 0x7f51e016b140) = 0 +3802698293164053:3802698293164563 1976:1980 hsa_system_get_info(2, 0x7f51e016b148) = 0 +3802698293164953:3802698293165463 1976:1980 hsa_system_get_info(2, 0x7f51e016b150) = 0 +3802698293165853:3802698293166363 1976:1980 hsa_system_get_info(2, 0x7f51e016b158) = 0 +3802698293166753:3802698293167263 1976:1980 hsa_system_get_info(2, 0x7f51e016b160) = 0 +3802698293167653:3802698293168163 1976:1980 hsa_system_get_info(2, 0x7f51e016b168) = 0 +3802698293168553:3802698293169063 1976:1980 hsa_system_get_info(2, 0x7f51e016b170) = 0 +3802698293169453:3802698293169973 1976:1980 hsa_system_get_info(2, 0x7f51e016b178) = 0 +3802698293170353:3802698293170873 1976:1980 hsa_system_get_info(2, 0x7f51e016b180) = 0 +3802698293171253:3802698293171773 1976:1980 hsa_system_get_info(2, 0x7f51e016b188) = 0 +3802698293172153:3802698293172673 1976:1980 hsa_system_get_info(2, 0x7f51e016b190) = 0 +3802698293173053:3802698293173573 1976:1980 hsa_system_get_info(2, 0x7f51e016b198) = 0 +3802698293173953:3802698293174473 1976:1980 hsa_system_get_info(2, 0x7f51e016b1a0) = 0 +3802698293174863:3802698293175373 1976:1980 hsa_system_get_info(2, 0x7f51e016b1a8) = 0 +3802698293175763:3802698293176273 1976:1980 hsa_system_get_info(2, 0x7f51e016b1b0) = 0 +3802698293177533:3802698293178053 1976:1980 hsa_system_get_info(2, 0x7f51e016b1b8) = 0 +3802698293178443:3802698293178963 1976:1980 hsa_system_get_info(2, 0x7f51e016b1c0) = 0 +3802698293179343:3802698293179863 1976:1980 hsa_system_get_info(2, 0x7f51e016b1c8) = 0 +3802698293180243:3802698293180763 1976:1980 hsa_system_get_info(2, 0x7f51e016b1d0) = 0 +3802698293181143:3802698293181663 1976:1980 hsa_system_get_info(2, 0x7f51e016b1d8) = 0 +3802698293182043:3802698293182563 1976:1980 hsa_system_get_info(2, 0x7f51e016b1e0) = 0 +3802698293182943:3802698293183463 1976:1980 hsa_system_get_info(2, 0x7f51e016b1e8) = 0 +3802698293183843:3802698293184363 1976:1980 hsa_system_get_info(2, 0x7f51e016b1f0) = 0 +3802698293184743:3802698293185263 1976:1980 hsa_system_get_info(2, 0x7f51e016b1f8) = 0 +3802698293185643:3802698293186163 1976:1980 hsa_system_get_info(2, 0x7f51e016b200) = 0 +3802698293186543:3802698293187063 1976:1980 hsa_system_get_info(2, 0x7f51e016b208) = 0 +3802698293187453:3802698293187963 1976:1980 hsa_system_get_info(2, 0x7f51e016b210) = 0 +3802698293188353:3802698293188863 1976:1980 hsa_system_get_info(2, 0x7f51e016b218) = 0 +3802698293189253:3802698293189833 1976:1980 hsa_system_get_info(2, 0x7f51e016b220) = 0 +3802698293190313:3802698293190963 1976:1980 hsa_system_get_info(2, 0x7f51e016b228) = 0 +3802698293191443:3802698293192093 1976:1980 hsa_system_get_info(2, 0x7f51e016b230) = 0 +3802698293192583:3802698293193223 1976:1980 hsa_system_get_info(2, 0x7f51e016b238) = 0 +3802698293193713:3802698293194353 1976:1980 hsa_system_get_info(2, 0x7f51e016b240) = 0 +3802698293194843:3802698293195493 1976:1980 hsa_system_get_info(2, 0x7f51e016b248) = 0 +3802698293195973:3802698293196623 1976:1980 hsa_system_get_info(2, 0x7f51e016b250) = 0 +3802698293197103:3802698293197713 1976:1980 hsa_system_get_info(2, 0x7f51e016b258) = 0 +3802698293198103:3802698293198623 1976:1980 hsa_system_get_info(2, 0x7f51e016b260) = 0 +3802698293199003:3802698293199523 1976:1980 hsa_system_get_info(2, 0x7f51e016b268) = 0 +3802698293199913:3802698293200433 1976:1980 hsa_system_get_info(2, 0x7f51e016b270) = 0 +3802698293200823:3802698293201333 1976:1980 hsa_system_get_info(2, 0x7f51e016b278) = 0 +3802698293201723:3802698293202243 1976:1980 hsa_system_get_info(2, 0x7f51e016b280) = 0 +3802698293202633:3802698293203143 1976:1980 hsa_system_get_info(2, 0x7f51e016b288) = 0 +3802698293203533:3802698293204054 1976:1980 hsa_system_get_info(2, 0x7f51e016b290) = 0 +3802698293204444:3802698293204964 1976:1980 hsa_system_get_info(2, 0x7f51e016b298) = 0 +3802698293206064:3802698293206584 1976:1980 hsa_system_get_info(2, 0x7f51e016b2a0) = 0 +3802698293206974:3802698293207484 1976:1980 hsa_system_get_info(2, 0x7f51e016b2a8) = 0 +3802698293207874:3802698293208394 1976:1980 hsa_system_get_info(2, 0x7f51e016b2b0) = 0 +3802698293208784:3802698293209304 1976:1980 hsa_system_get_info(2, 0x7f51e016b2b8) = 0 +3802698293209684:3802698293210204 1976:1980 hsa_system_get_info(2, 0x7f51e016b2c0) = 0 +3802698293210594:3802698293211114 1976:1980 hsa_system_get_info(2, 0x7f51e016b2c8) = 0 +3802698293211494:3802698293212014 1976:1980 hsa_system_get_info(2, 0x7f51e016b2d0) = 0 +3802698293212404:3802698293212924 1976:1980 hsa_system_get_info(2, 0x7f51e016b2d8) = 0 +3802698293213314:3802698293213824 1976:1980 hsa_system_get_info(2, 0x7f51e016b2e0) = 0 +3802698293214214:3802698293214734 1976:1980 hsa_system_get_info(2, 0x7f51e016b2e8) = 0 +3802698293215114:3802698293215634 1976:1980 hsa_system_get_info(2, 0x7f51e016b2f0) = 0 +3802698293216024:3802698293216544 1976:1980 hsa_system_get_info(2, 0x7f51e016b2f8) = 0 +3802698293216924:3802698293217444 1976:1980 hsa_system_get_info(2, 0x7f51e016b300) = 0 +3802698293217834:3802698293218354 1976:1980 hsa_system_get_info(2, 0x7f51e016b308) = 0 +3802698293218734:3802698293219254 1976:1980 hsa_system_get_info(2, 0x7f51e016b310) = 0 +3802698293219644:3802698293220164 1976:1980 hsa_system_get_info(2, 0x7f51e016b318) = 0 +3802698293220544:3802698293221064 1976:1980 hsa_system_get_info(2, 0x7f51e016b320) = 0 +3802698293221454:3802698293221974 1976:1980 hsa_system_get_info(2, 0x7f51e016b328) = 0 +3802698293222354:3802698293222874 1976:1980 hsa_system_get_info(2, 0x7f51e016b330) = 0 +3802698293223264:3802698293223784 1976:1980 hsa_system_get_info(2, 0x7f51e016b338) = 0 +3802698293224164:3802698293224684 1976:1980 hsa_system_get_info(2, 0x7f51e016b340) = 0 +3802698293225074:3802698293225584 1976:1980 hsa_system_get_info(2, 0x7f51e016b348) = 0 +3802698293225974:3802698293226494 1976:1980 hsa_system_get_info(2, 0x7f51e016b350) = 0 +3802698293226884:3802698293227394 1976:1980 hsa_system_get_info(2, 0x7f51e016b358) = 0 +3802698293227784:3802698293228304 1976:1980 hsa_system_get_info(2, 0x7f51e016b360) = 0 +3802698293228694:3802698293229204 1976:1980 hsa_system_get_info(2, 0x7f51e016b368) = 0 +3802698293229594:3802698293230114 1976:1980 hsa_system_get_info(2, 0x7f51e016b370) = 0 +3802698293230504:3802698293231014 1976:1980 hsa_system_get_info(2, 0x7f51e016b378) = 0 +3802698293232864:3802698293233384 1976:1980 hsa_system_get_info(2, 0x7f51e016b380) = 0 +3802698293233774:3802698293234294 1976:1980 hsa_system_get_info(2, 0x7f51e016b388) = 0 +3802698293234684:3802698293235194 1976:1980 hsa_system_get_info(2, 0x7f51e016b390) = 0 +3802698293235584:3802698293236104 1976:1980 hsa_system_get_info(2, 0x7f51e016b398) = 0 +3802698293236494:3802698293237004 1976:1980 hsa_system_get_info(2, 0x7f51e016b3a0) = 0 +3802698293237394:3802698293237914 1976:1980 hsa_system_get_info(2, 0x7f51e016b3a8) = 0 +3802698293238304:3802698293238814 1976:1980 hsa_system_get_info(2, 0x7f51e016b3b0) = 0 +3802698293239204:3802698293239724 1976:1980 hsa_system_get_info(2, 0x7f51e016b3b8) = 0 +3802698293240114:3802698293240624 1976:1980 hsa_system_get_info(2, 0x7f51e016b3c0) = 0 +3802698293241014:3802698293241534 1976:1980 hsa_system_get_info(2, 0x7f51e016b3c8) = 0 +3802698293241924:3802698293242434 1976:1980 hsa_system_get_info(2, 0x7f51e016b3d0) = 0 +3802698293242824:3802698293243344 1976:1980 hsa_system_get_info(2, 0x7f51e016b3d8) = 0 +3802698293243734:3802698293244254 1976:1980 hsa_system_get_info(2, 0x7f51e016b3e0) = 0 +3802698293244634:3802698293245154 1976:1980 hsa_system_get_info(2, 0x7f51e016b3e8) = 0 +3802698293245544:3802698293246064 1976:1980 hsa_system_get_info(2, 0x7f51e016b3f0) = 0 +3802698293246454:3802698293246964 1976:1980 hsa_system_get_info(2, 0x7f51e016b3f8) = 0 +3802698293247354:3802698293247874 1976:1980 hsa_system_get_info(2, 0x7f51e016b400) = 0 +3802698293248264:3802698293248774 1976:1980 hsa_system_get_info(2, 0x7f51e016b408) = 0 +3802698293249164:3802698293249684 1976:1980 hsa_system_get_info(2, 0x7f51e016b410) = 0 +3802698293250074:3802698293250584 1976:1980 hsa_system_get_info(2, 0x7f51e016b418) = 0 +3802698293250974:3802698293251494 1976:1980 hsa_system_get_info(2, 0x7f51e016b420) = 0 +3802698293251884:3802698293252394 1976:1980 hsa_system_get_info(2, 0x7f51e016b428) = 0 +3802698293252784:3802698293253304 1976:1980 hsa_system_get_info(2, 0x7f51e016b430) = 0 +3802698293253694:3802698293254204 1976:1980 hsa_system_get_info(2, 0x7f51e016b438) = 0 +3802698293254594:3802698293255114 1976:1980 hsa_system_get_info(2, 0x7f51e016b440) = 0 +3802698293255504:3802698293256024 1976:1980 hsa_system_get_info(2, 0x7f51e016b448) = 0 +3802698293256404:3802698293256924 1976:1980 hsa_system_get_info(2, 0x7f51e016b450) = 0 +3802698293257314:3802698293257834 1976:1980 hsa_system_get_info(2, 0x7f51e016b458) = 0 +3802698293259014:3802698293259534 1976:1980 hsa_system_get_info(2, 0x7f51e016b460) = 0 +3802698293259924:3802698293260444 1976:1980 hsa_system_get_info(2, 0x7f51e016b468) = 0 +3802698293260834:3802698293261344 1976:1980 hsa_system_get_info(2, 0x7f51e016b470) = 0 +3802698293261734:3802698293262254 1976:1980 hsa_system_get_info(2, 0x7f51e016b478) = 0 +3802698293262644:3802698293263164 1976:1980 hsa_system_get_info(2, 0x7f51e016b480) = 0 +3802698293263554:3802698293264064 1976:1980 hsa_system_get_info(2, 0x7f51e016b488) = 0 +3802698293264454:3802698293264974 1976:1980 hsa_system_get_info(2, 0x7f51e016b490) = 0 +3802698293265364:3802698293265884 1976:1980 hsa_system_get_info(2, 0x7f51e016b498) = 0 +3802698293266264:3802698293266784 1976:1980 hsa_system_get_info(2, 0x7f51e016b4a0) = 0 +3802698293267174:3802698293267694 1976:1980 hsa_system_get_info(2, 0x7f51e016b4a8) = 0 +3802698293268084:3802698293268604 1976:1980 hsa_system_get_info(2, 0x7f51e016b4b0) = 0 +3802698293268984:3802698293269504 1976:1980 hsa_system_get_info(2, 0x7f51e016b4b8) = 0 +3802698293269894:3802698293270414 1976:1980 hsa_system_get_info(2, 0x7f51e016b4c0) = 0 +3802698293270804:3802698293271314 1976:1980 hsa_system_get_info(2, 0x7f51e016b4c8) = 0 +3802698293271704:3802698293272224 1976:1980 hsa_system_get_info(2, 0x7f51e016b4d0) = 0 +3802698293272614:3802698293273134 1976:1980 hsa_system_get_info(2, 0x7f51e016b4d8) = 0 +3802698293273514:3802698293274034 1976:1980 hsa_system_get_info(2, 0x7f51e016b4e0) = 0 +3802698293274424:3802698293274944 1976:1980 hsa_system_get_info(2, 0x7f51e016b4e8) = 0 +3802698293275334:3802698293275844 1976:1980 hsa_system_get_info(2, 0x7f51e016b4f0) = 0 +3802698293276234:3802698293276754 1976:1980 hsa_system_get_info(2, 0x7f51e016b4f8) = 0 +3802698293277144:3802698293277664 1976:1980 hsa_system_get_info(2, 0x7f51e016b500) = 0 +3802698293278044:3802698293278564 1976:1980 hsa_system_get_info(2, 0x7f51e016b508) = 0 +3802698293278954:3802698293279474 1976:1980 hsa_system_get_info(2, 0x7f51e016b510) = 0 +3802698293279864:3802698293280374 1976:1980 hsa_system_get_info(2, 0x7f51e016b518) = 0 +3802698293280764:3802698293281284 1976:1980 hsa_system_get_info(2, 0x7f51e016b520) = 0 +3802698293281674:3802698293282194 1976:1980 hsa_system_get_info(2, 0x7f51e016b528) = 0 +3802698293282574:3802698293283094 1976:1980 hsa_system_get_info(2, 0x7f51e016b530) = 0 +3802698293283484:3802698293284004 1976:1980 hsa_system_get_info(2, 0x7f51e016b538) = 0 +3802698293284394:3802698293284904 1976:1980 hsa_system_get_info(2, 0x7f51e016b540) = 0 +3802698293286184:3802698293286704 1976:1980 hsa_system_get_info(2, 0x7f51e016b548) = 0 +3802698293287094:3802698293287614 1976:1980 hsa_system_get_info(2, 0x7f51e016b550) = 0 +3802698293288004:3802698293288524 1976:1980 hsa_system_get_info(2, 0x7f51e016b558) = 0 +3802698293288904:3802698293289424 1976:1980 hsa_system_get_info(2, 0x7f51e016b560) = 0 +3802698293289814:3802698293290334 1976:1980 hsa_system_get_info(2, 0x7f51e016b568) = 0 +3802698293290714:3802698293291234 1976:1980 hsa_system_get_info(2, 0x7f51e016b570) = 0 +3802698293291624:3802698293292144 1976:1980 hsa_system_get_info(2, 0x7f51e016b578) = 0 +3802698293292534:3802698293293044 1976:1980 hsa_system_get_info(2, 0x7f51e016b580) = 0 +3802698293293434:3802698293293954 1976:1980 hsa_system_get_info(2, 0x7f51e016b588) = 0 +3802698293294334:3802698293294854 1976:1980 hsa_system_get_info(2, 0x7f51e016b590) = 0 +3802698293295244:3802698293295764 1976:1980 hsa_system_get_info(2, 0x7f51e016b598) = 0 +3802698293296144:3802698293296664 1976:1980 hsa_system_get_info(2, 0x7f51e016b5a0) = 0 +3802698293297054:3802698293297574 1976:1980 hsa_system_get_info(2, 0x7f51e016b5a8) = 0 +3802698293297964:3802698293298474 1976:1980 hsa_system_get_info(2, 0x7f51e016b5b0) = 0 +3802698293298864:3802698293299384 1976:1980 hsa_system_get_info(2, 0x7f51e016b5b8) = 0 +3802698293299774:3802698293300284 1976:1980 hsa_system_get_info(2, 0x7f51e016b5c0) = 0 +3802698293300674:3802698293301194 1976:1980 hsa_system_get_info(2, 0x7f51e016b5c8) = 0 +3802698293301584:3802698293302094 1976:1980 hsa_system_get_info(2, 0x7f51e016b5d0) = 0 +3802698293302484:3802698293303004 1976:1980 hsa_system_get_info(2, 0x7f51e016b5d8) = 0 +3802698293303394:3802698293303904 1976:1980 hsa_system_get_info(2, 0x7f51e016b5e0) = 0 +3802698293304294:3802698293304814 1976:1980 hsa_system_get_info(2, 0x7f51e016b5e8) = 0 +3802698293305204:3802698293305714 1976:1980 hsa_system_get_info(2, 0x7f51e016b5f0) = 0 +3802698293306104:3802698293306624 1976:1980 hsa_system_get_info(2, 0x7f51e016b5f8) = 0 +3802698293307014:3802698293307524 1976:1980 hsa_system_get_info(2, 0x7f51e016b600) = 0 +3802698293307914:3802698293308434 1976:1980 hsa_system_get_info(2, 0x7f51e016b608) = 0 +3802698293308824:3802698293309334 1976:1980 hsa_system_get_info(2, 0x7f51e016b610) = 0 +3802698293309724:3802698293310244 1976:1980 hsa_system_get_info(2, 0x7f51e016b618) = 0 +3802698293310634:3802698293311144 1976:1980 hsa_system_get_info(2, 0x7f51e016b620) = 0 +3802698293312234:3802698293312754 1976:1980 hsa_system_get_info(2, 0x7f51e016b628) = 0 +3802698293313144:3802698293313664 1976:1980 hsa_system_get_info(2, 0x7f51e016b630) = 0 +3802698293314054:3802698293314574 1976:1980 hsa_system_get_info(2, 0x7f51e016b638) = 0 +3802698293314954:3802698293315474 1976:1980 hsa_system_get_info(2, 0x7f51e016b640) = 0 +3802698293315864:3802698293316384 1976:1980 hsa_system_get_info(2, 0x7f51e016b648) = 0 +3802698293316774:3802698293317294 1976:1980 hsa_system_get_info(2, 0x7f51e016b650) = 0 +3802698293317674:3802698293318194 1976:1980 hsa_system_get_info(2, 0x7f51e016b658) = 0 +3802698293318584:3802698293319104 1976:1980 hsa_system_get_info(2, 0x7f51e016b660) = 0 +3802698293319494:3802698293320014 1976:1980 hsa_system_get_info(2, 0x7f51e016b668) = 0 +3802698293320394:3802698293320914 1976:1980 hsa_system_get_info(2, 0x7f51e016b670) = 0 +3802698293321304:3802698293321824 1976:1980 hsa_system_get_info(2, 0x7f51e016b678) = 0 +3802698293322214:3802698293322724 1976:1980 hsa_system_get_info(2, 0x7f51e016b680) = 0 +3802698293323114:3802698293323634 1976:1980 hsa_system_get_info(2, 0x7f51e016b688) = 0 +3802698293324024:3802698293324544 1976:1980 hsa_system_get_info(2, 0x7f51e016b690) = 0 +3802698293324934:3802698293325444 1976:1980 hsa_system_get_info(2, 0x7f51e016b698) = 0 +3802698293325834:3802698293326354 1976:1980 hsa_system_get_info(2, 0x7f51e016b6a0) = 0 +3802698293326744:3802698293327264 1976:1980 hsa_system_get_info(2, 0x7f51e016b6a8) = 0 +3802698293327644:3802698293328164 1976:1980 hsa_system_get_info(2, 0x7f51e016b6b0) = 0 +3802698293328554:3802698293329074 1976:1980 hsa_system_get_info(2, 0x7f51e016b6b8) = 0 +3802698293329464:3802698293329984 1976:1980 hsa_system_get_info(2, 0x7f51e016b6c0) = 0 +3802698293330364:3802698293330884 1976:1980 hsa_system_get_info(2, 0x7f51e016b6c8) = 0 +3802698293331274:3802698293331794 1976:1980 hsa_system_get_info(2, 0x7f51e016b6d0) = 0 +3802698293332184:3802698293332694 1976:1980 hsa_system_get_info(2, 0x7f51e016b6d8) = 0 +3802698293333084:3802698293333604 1976:1980 hsa_system_get_info(2, 0x7f51e016b6e0) = 0 +3802698293333994:3802698293334514 1976:1980 hsa_system_get_info(2, 0x7f51e016b6e8) = 0 +3802698293334904:3802698293335414 1976:1980 hsa_system_get_info(2, 0x7f51e016b6f0) = 0 +3802698293335804:3802698293336324 1976:1980 hsa_system_get_info(2, 0x7f51e016b6f8) = 0 +3802698293336714:3802698293337234 1976:1980 hsa_system_get_info(2, 0x7f51e016b700) = 0 +3802698293337614:3802698293338134 1976:1980 hsa_system_get_info(2, 0x7f51e016b708) = 0 +3802698293339225:3802698293339745 1976:1980 hsa_system_get_info(2, 0x7f51e016b710) = 0 +3802698293340145:3802698293340655 1976:1980 hsa_system_get_info(2, 0x7f51e016b718) = 0 +3802698293341045:3802698293341565 1976:1980 hsa_system_get_info(2, 0x7f51e016b720) = 0 +3802698293341955:3802698293342465 1976:1980 hsa_system_get_info(2, 0x7f51e016b728) = 0 +3802698293342855:3802698293343375 1976:1980 hsa_system_get_info(2, 0x7f51e016b730) = 0 +3802698293343765:3802698293344275 1976:1980 hsa_system_get_info(2, 0x7f51e016b738) = 0 +3802698293344665:3802698293345185 1976:1980 hsa_system_get_info(2, 0x7f51e016b740) = 0 +3802698293345575:3802698293346085 1976:1980 hsa_system_get_info(2, 0x7f51e016b748) = 0 +3802698293346475:3802698293346995 1976:1980 hsa_system_get_info(2, 0x7f51e016b750) = 0 +3802698293347385:3802698293347905 1976:1980 hsa_system_get_info(2, 0x7f51e016b758) = 0 +3802698293348285:3802698293348805 1976:1980 hsa_system_get_info(2, 0x7f51e016b760) = 0 +3802698293349195:3802698293349705 1976:1980 hsa_system_get_info(2, 0x7f51e016b768) = 0 +3802698293350095:3802698293350615 1976:1980 hsa_system_get_info(2, 0x7f51e016b770) = 0 +3802698293351005:3802698293351525 1976:1980 hsa_system_get_info(2, 0x7f51e016b778) = 0 +3802698293351905:3802698293352425 1976:1980 hsa_system_get_info(2, 0x7f51e016b780) = 0 +3802698293352815:3802698293353335 1976:1980 hsa_system_get_info(2, 0x7f51e016b788) = 0 +3802698293353725:3802698293354235 1976:1980 hsa_system_get_info(2, 0x7f51e016b790) = 0 +3802698293354625:3802698293355145 1976:1980 hsa_system_get_info(2, 0x7f51e016b798) = 0 +3802698293355535:3802698293356055 1976:1980 hsa_system_get_info(2, 0x7f51e016b7a0) = 0 +3802698293356435:3802698293356955 1976:1980 hsa_system_get_info(2, 0x7f51e016b7a8) = 0 +3802698293357345:3802698293357865 1976:1980 hsa_system_get_info(2, 0x7f51e016b7b0) = 0 +3802698293358245:3802698293358765 1976:1980 hsa_system_get_info(2, 0x7f51e016b7b8) = 0 +3802698293359155:3802698293359665 1976:1980 hsa_system_get_info(2, 0x7f51e016b7c0) = 0 +3802698293360055:3802698293360575 1976:1980 hsa_system_get_info(2, 0x7f51e016b7c8) = 0 +3802698293360965:3802698293361485 1976:1980 hsa_system_get_info(2, 0x7f51e016b7d0) = 0 +3802698293361865:3802698293362385 1976:1980 hsa_system_get_info(2, 0x7f51e016b7d8) = 0 +3802698293362775:3802698293363295 1976:1980 hsa_system_get_info(2, 0x7f51e016b7e0) = 0 +3802698293363675:3802698293364195 1976:1980 hsa_system_get_info(2, 0x7f51e016b7e8) = 0 +3802698293365455:3802698293365975 1976:1980 hsa_system_get_info(2, 0x7f51e016b7f0) = 0 +3802698293366365:3802698293366885 1976:1980 hsa_system_get_info(2, 0x7f51e016b7f8) = 0 +3802698293367275:3802698293367795 1976:1980 hsa_system_get_info(2, 0x7f51e016b800) = 0 +3802698293368175:3802698293368695 1976:1980 hsa_system_get_info(2, 0x7f51e016b808) = 0 +3802698293369085:3802698293369605 1976:1980 hsa_system_get_info(2, 0x7f51e016b810) = 0 +3802698293369995:3802698293370505 1976:1980 hsa_system_get_info(2, 0x7f51e016b818) = 0 +3802698293370895:3802698293371415 1976:1980 hsa_system_get_info(2, 0x7f51e016b820) = 0 +3802698293371805:3802698293372325 1976:1980 hsa_system_get_info(2, 0x7f51e016b828) = 0 +3802698293372715:3802698293373225 1976:1980 hsa_system_get_info(2, 0x7f51e016b830) = 0 +3802698293373615:3802698293374135 1976:1980 hsa_system_get_info(2, 0x7f51e016b838) = 0 +3802698293374525:3802698293375045 1976:1980 hsa_system_get_info(2, 0x7f51e016b840) = 0 +3802698293375435:3802698293375945 1976:1980 hsa_system_get_info(2, 0x7f51e016b848) = 0 +3802698293376335:3802698293376855 1976:1980 hsa_system_get_info(2, 0x7f51e016b850) = 0 +3802698293377245:3802698293377765 1976:1980 hsa_system_get_info(2, 0x7f51e016b858) = 0 +3802698293378145:3802698293378665 1976:1980 hsa_system_get_info(2, 0x7f51e016b860) = 0 +3802698293379055:3802698293379575 1976:1980 hsa_system_get_info(2, 0x7f51e016b868) = 0 +3802698293379965:3802698293380485 1976:1980 hsa_system_get_info(2, 0x7f51e016b870) = 0 +3802698293380865:3802698293381385 1976:1980 hsa_system_get_info(2, 0x7f51e016b878) = 0 +3802698293381775:3802698293382295 1976:1980 hsa_system_get_info(2, 0x7f51e016b880) = 0 +3802698293382685:3802698293383195 1976:1980 hsa_system_get_info(2, 0x7f51e016b888) = 0 +3802698293383585:3802698293384105 1976:1980 hsa_system_get_info(2, 0x7f51e016b890) = 0 +3802698293384495:3802698293385015 1976:1980 hsa_system_get_info(2, 0x7f51e016b898) = 0 +3802698293385405:3802698293385915 1976:1980 hsa_system_get_info(2, 0x7f51e016b8a0) = 0 +3802698293386305:3802698293386825 1976:1980 hsa_system_get_info(2, 0x7f51e016b8a8) = 0 +3802698293387215:3802698293387735 1976:1980 hsa_system_get_info(2, 0x7f51e016b8b0) = 0 +3802698293388125:3802698293388635 1976:1980 hsa_system_get_info(2, 0x7f51e016b8b8) = 0 +3802698293389025:3802698293389545 1976:1980 hsa_system_get_info(2, 0x7f51e016b8c0) = 0 +3802698293389935:3802698293390455 1976:1980 hsa_system_get_info(2, 0x7f51e016b8c8) = 0 +3802698293390845:3802698293391355 1976:1980 hsa_system_get_info(2, 0x7f51e016b8d0) = 0 +3802698293392615:3802698293393135 1976:1980 hsa_system_get_info(2, 0x7f51e016b8d8) = 0 +3802698293393525:3802698293394045 1976:1980 hsa_system_get_info(2, 0x7f51e016b8e0) = 0 +3802698293394435:3802698293394955 1976:1980 hsa_system_get_info(2, 0x7f51e016b8e8) = 0 +3802698293395335:3802698293395855 1976:1980 hsa_system_get_info(2, 0x7f51e016b8f0) = 0 +3802698293396245:3802698293396765 1976:1980 hsa_system_get_info(2, 0x7f51e016b8f8) = 0 +3802698293397145:3802698293397665 1976:1980 hsa_system_get_info(2, 0x7f51e016b900) = 0 +3802698293398055:3802698293398575 1976:1980 hsa_system_get_info(2, 0x7f51e016b908) = 0 +3802698293398955:3802698293399475 1976:1980 hsa_system_get_info(2, 0x7f51e016b910) = 0 +3802698293399865:3802698293400385 1976:1980 hsa_system_get_info(2, 0x7f51e016b918) = 0 +3802698293400775:3802698293401285 1976:1980 hsa_system_get_info(2, 0x7f51e016b920) = 0 +3802698293401675:3802698293402195 1976:1980 hsa_system_get_info(2, 0x7f51e016b928) = 0 +3802698293402585:3802698293403095 1976:1980 hsa_system_get_info(2, 0x7f51e016b930) = 0 +3802698293403485:3802698293404005 1976:1980 hsa_system_get_info(2, 0x7f51e016b938) = 0 +3802698293404395:3802698293404905 1976:1980 hsa_system_get_info(2, 0x7f51e016b940) = 0 +3802698293405295:3802698293405815 1976:1980 hsa_system_get_info(2, 0x7f51e016b948) = 0 +3802698293406205:3802698293406715 1976:1980 hsa_system_get_info(2, 0x7f51e016b950) = 0 +3802698293407105:3802698293407625 1976:1980 hsa_system_get_info(2, 0x7f51e016b958) = 0 +3802698293408015:3802698293408525 1976:1980 hsa_system_get_info(2, 0x7f51e016b960) = 0 +3802698293408915:3802698293409435 1976:1980 hsa_system_get_info(2, 0x7f51e016b968) = 0 +3802698293409825:3802698293410335 1976:1980 hsa_system_get_info(2, 0x7f51e016b970) = 0 +3802698293410725:3802698293411245 1976:1980 hsa_system_get_info(2, 0x7f51e016b978) = 0 +3802698293411635:3802698293412145 1976:1980 hsa_system_get_info(2, 0x7f51e016b980) = 0 +3802698293412535:3802698293413055 1976:1980 hsa_system_get_info(2, 0x7f51e016b988) = 0 +3802698293413445:3802698293413955 1976:1980 hsa_system_get_info(2, 0x7f51e016b990) = 0 +3802698293414345:3802698293414865 1976:1980 hsa_system_get_info(2, 0x7f51e016b998) = 0 +3802698293415255:3802698293415765 1976:1980 hsa_system_get_info(2, 0x7f51e016b9a0) = 0 +3802698293416155:3802698293416675 1976:1980 hsa_system_get_info(2, 0x7f51e016b9a8) = 0 +3802698293417065:3802698293417585 1976:1980 hsa_system_get_info(2, 0x7f51e016b9b0) = 0 +3802698293418695:3802698293419215 1976:1980 hsa_system_get_info(2, 0x7f51e016b9b8) = 0 +3802698293419605:3802698293420125 1976:1980 hsa_system_get_info(2, 0x7f51e016b9c0) = 0 +3802698293420515:3802698293421025 1976:1980 hsa_system_get_info(2, 0x7f51e016b9c8) = 0 +3802698293421415:3802698293421935 1976:1980 hsa_system_get_info(2, 0x7f51e016b9d0) = 0 +3802698293422325:3802698293422845 1976:1980 hsa_system_get_info(2, 0x7f51e016b9d8) = 0 +3802698293423235:3802698293423745 1976:1980 hsa_system_get_info(2, 0x7f51e016b9e0) = 0 +3802698293424135:3802698293424655 1976:1980 hsa_system_get_info(2, 0x7f51e016b9e8) = 0 +3802698293425045:3802698293425565 1976:1980 hsa_system_get_info(2, 0x7f51e016b9f0) = 0 +3802698293425945:3802698293426465 1976:1980 hsa_system_get_info(2, 0x7f51e016b9f8) = 0 +3802698293426855:3802698293427375 1976:1980 hsa_system_get_info(2, 0x7f51e016ba00) = 0 +3802698293427765:3802698293428285 1976:1980 hsa_system_get_info(2, 0x7f51e016ba08) = 0 +3802698293428675:3802698293429195 1976:1980 hsa_system_get_info(2, 0x7f51e016ba10) = 0 +3802698293429585:3802698293430095 1976:1980 hsa_system_get_info(2, 0x7f51e016ba18) = 0 +3802698293430485:3802698293431005 1976:1980 hsa_system_get_info(2, 0x7f51e016ba20) = 0 +3802698293431395:3802698293431915 1976:1980 hsa_system_get_info(2, 0x7f51e016ba28) = 0 +3802698293432305:3802698293432815 1976:1980 hsa_system_get_info(2, 0x7f51e016ba30) = 0 +3802698293433205:3802698293433725 1976:1980 hsa_system_get_info(2, 0x7f51e016ba38) = 0 +3802698293434115:3802698293434635 1976:1980 hsa_system_get_info(2, 0x7f51e016ba40) = 0 +3802698293435025:3802698293435535 1976:1980 hsa_system_get_info(2, 0x7f51e016ba48) = 0 +3802698293435925:3802698293436445 1976:1980 hsa_system_get_info(2, 0x7f51e016ba50) = 0 +3802698293436835:3802698293437355 1976:1980 hsa_system_get_info(2, 0x7f51e016ba58) = 0 +3802698293437735:3802698293438255 1976:1980 hsa_system_get_info(2, 0x7f51e016ba60) = 0 +3802698293438645:3802698293439165 1976:1980 hsa_system_get_info(2, 0x7f51e016ba68) = 0 +3802698293439555:3802698293440065 1976:1980 hsa_system_get_info(2, 0x7f51e016ba70) = 0 +3802698293440455:3802698293440975 1976:1980 hsa_system_get_info(2, 0x7f51e016ba78) = 0 +3802698293441365:3802698293441885 1976:1980 hsa_system_get_info(2, 0x7f51e016ba80) = 0 +3802698293442275:3802698293442785 1976:1980 hsa_system_get_info(2, 0x7f51e016ba88) = 0 +3802698293443175:3802698293443695 1976:1980 hsa_system_get_info(2, 0x7f51e016ba90) = 0 +3802698293444085:3802698293444605 1976:1980 hsa_system_get_info(2, 0x7f51e016ba98) = 0 +3802698293445765:3802698293446285 1976:1980 hsa_system_get_info(2, 0x7f51e016baa0) = 0 +3802698293446675:3802698293447195 1976:1980 hsa_system_get_info(2, 0x7f51e016baa8) = 0 +3802698293447585:3802698293448095 1976:1980 hsa_system_get_info(2, 0x7f51e016bab0) = 0 +3802698293448485:3802698293449005 1976:1980 hsa_system_get_info(2, 0x7f51e016bab8) = 0 +3802698293449395:3802698293449905 1976:1980 hsa_system_get_info(2, 0x7f51e016bac0) = 0 +3802698293450295:3802698293450815 1976:1980 hsa_system_get_info(2, 0x7f51e016bac8) = 0 +3802698293451205:3802698293451715 1976:1980 hsa_system_get_info(2, 0x7f51e016bad0) = 0 +3802698293452105:3802698293452625 1976:1980 hsa_system_get_info(2, 0x7f51e016bad8) = 0 +3802698293453015:3802698293453525 1976:1980 hsa_system_get_info(2, 0x7f51e016bae0) = 0 +3802698293453915:3802698293454435 1976:1980 hsa_system_get_info(2, 0x7f51e016bae8) = 0 +3802698293454825:3802698293455335 1976:1980 hsa_system_get_info(2, 0x7f51e016baf0) = 0 +3802698293455725:3802698293456245 1976:1980 hsa_system_get_info(2, 0x7f51e016baf8) = 0 +3802698293456635:3802698293457155 1976:1980 hsa_system_get_info(2, 0x7f51e016bb00) = 0 +3802698293457535:3802698293458055 1976:1980 hsa_system_get_info(2, 0x7f51e016bb08) = 0 +3802698293458445:3802698293458955 1976:1980 hsa_system_get_info(2, 0x7f51e016bb10) = 0 +3802698293459345:3802698293459865 1976:1980 hsa_system_get_info(2, 0x7f51e016bb18) = 0 +3802698293460255:3802698293460775 1976:1980 hsa_system_get_info(2, 0x7f51e016bb20) = 0 +3802698293461155:3802698293461675 1976:1980 hsa_system_get_info(2, 0x7f51e016bb28) = 0 +3802698293462065:3802698293462585 1976:1980 hsa_system_get_info(2, 0x7f51e016bb30) = 0 +3802698293462965:3802698293463485 1976:1980 hsa_system_get_info(2, 0x7f51e016bb38) = 0 +3802698293463875:3802698293464395 1976:1980 hsa_system_get_info(2, 0x7f51e016bb40) = 0 +3802698293464785:3802698293465295 1976:1980 hsa_system_get_info(2, 0x7f51e016bb48) = 0 +3802698293465685:3802698293466205 1976:1980 hsa_system_get_info(2, 0x7f51e016bb50) = 0 +3802698293466595:3802698293467105 1976:1980 hsa_system_get_info(2, 0x7f51e016bb58) = 0 +3802698293467495:3802698293468015 1976:1980 hsa_system_get_info(2, 0x7f51e016bb60) = 0 +3802698293468405:3802698293468915 1976:1980 hsa_system_get_info(2, 0x7f51e016bb68) = 0 +3802698293469305:3802698293469825 1976:1980 hsa_system_get_info(2, 0x7f51e016bb70) = 0 +3802698293470215:3802698293470725 1976:1980 hsa_system_get_info(2, 0x7f51e016bb78) = 0 +3802698293471825:3802698293472345 1976:1980 hsa_system_get_info(2, 0x7f51e016bb80) = 0 +3802698293472736:3802698293473256 1976:1980 hsa_system_get_info(2, 0x7f51e016bb88) = 0 +3802698293473646:3802698293474166 1976:1980 hsa_system_get_info(2, 0x7f51e016bb90) = 0 +3802698293474546:3802698293475066 1976:1980 hsa_system_get_info(2, 0x7f51e016bb98) = 0 +3802698293475456:3802698293475976 1976:1980 hsa_system_get_info(2, 0x7f51e016bba0) = 0 +3802698293476366:3802698293476876 1976:1980 hsa_system_get_info(2, 0x7f51e016bba8) = 0 +3802698293477266:3802698293477786 1976:1980 hsa_system_get_info(2, 0x7f51e016bbb0) = 0 +3802698293478176:3802698293478696 1976:1980 hsa_system_get_info(2, 0x7f51e016bbb8) = 0 +3802698293479086:3802698293479596 1976:1980 hsa_system_get_info(2, 0x7f51e016bbc0) = 0 +3802698293479986:3802698293480506 1976:1980 hsa_system_get_info(2, 0x7f51e016bbc8) = 0 +3802698293480896:3802698293481416 1976:1980 hsa_system_get_info(2, 0x7f51e016bbd0) = 0 +3802698293481796:3802698293482316 1976:1980 hsa_system_get_info(2, 0x7f51e016bbd8) = 0 +3802698293482706:3802698293483226 1976:1980 hsa_system_get_info(2, 0x7f51e016bbe0) = 0 +3802698293483616:3802698293484136 1976:1980 hsa_system_get_info(2, 0x7f51e016bbe8) = 0 +3802698293484516:3802698293485036 1976:1980 hsa_system_get_info(2, 0x7f51e016bbf0) = 0 +3802698293485426:3802698293485946 1976:1980 hsa_system_get_info(2, 0x7f51e016bbf8) = 0 +3802698293486336:3802698293486856 1976:1980 hsa_system_get_info(2, 0x7f51e016bc00) = 0 +3802698293487246:3802698293487756 1976:1980 hsa_system_get_info(2, 0x7f51e016bc08) = 0 +3802698293488146:3802698293488666 1976:1980 hsa_system_get_info(2, 0x7f51e016bc10) = 0 +3802698293489056:3802698293489576 1976:1980 hsa_system_get_info(2, 0x7f51e016bc18) = 0 +3802698293489966:3802698293490486 1976:1980 hsa_system_get_info(2, 0x7f51e016bc20) = 0 +3802698293490876:3802698293491396 1976:1980 hsa_system_get_info(2, 0x7f51e016bc28) = 0 +3802698293491786:3802698293492296 1976:1980 hsa_system_get_info(2, 0x7f51e016bc30) = 0 +3802698293492686:3802698293493206 1976:1980 hsa_system_get_info(2, 0x7f51e016bc38) = 0 +3802698293493596:3802698293494116 1976:1980 hsa_system_get_info(2, 0x7f51e016bc40) = 0 +3802698293494506:3802698293495026 1976:1980 hsa_system_get_info(2, 0x7f51e016bc48) = 0 +3802698293495416:3802698293495926 1976:1980 hsa_system_get_info(2, 0x7f51e016bc50) = 0 +3802698293496316:3802698293496836 1976:1980 hsa_system_get_info(2, 0x7f51e016bc58) = 0 +3802698293498306:3802698293498826 1976:1980 hsa_system_get_info(2, 0x7f51e016bc60) = 0 +3802698293499216:3802698293499736 1976:1980 hsa_system_get_info(2, 0x7f51e016bc68) = 0 +3802698293500126:3802698293500636 1976:1980 hsa_system_get_info(2, 0x7f51e016bc70) = 0 +3802698293501026:3802698293501546 1976:1980 hsa_system_get_info(2, 0x7f51e016bc78) = 0 +3802698293501936:3802698293502446 1976:1980 hsa_system_get_info(2, 0x7f51e016bc80) = 0 +3802698293502836:3802698293503356 1976:1980 hsa_system_get_info(2, 0x7f51e016bc88) = 0 +3802698293503746:3802698293504256 1976:1980 hsa_system_get_info(2, 0x7f51e016bc90) = 0 +3802698293504646:3802698293505166 1976:1980 hsa_system_get_info(2, 0x7f51e016bc98) = 0 +3802698293505556:3802698293506066 1976:1980 hsa_system_get_info(2, 0x7f51e016bca0) = 0 +3802698293506456:3802698293506976 1976:1980 hsa_system_get_info(2, 0x7f51e016bca8) = 0 +3802698293507366:3802698293507876 1976:1980 hsa_system_get_info(2, 0x7f51e016bcb0) = 0 +3802698293508266:3802698293508786 1976:1980 hsa_system_get_info(2, 0x7f51e016bcb8) = 0 +3802698293509176:3802698293509696 1976:1980 hsa_system_get_info(2, 0x7f51e016bcc0) = 0 +3802698293510076:3802698293510596 1976:1980 hsa_system_get_info(2, 0x7f51e016bcc8) = 0 +3802698293510986:3802698293511506 1976:1980 hsa_system_get_info(2, 0x7f51e016bcd0) = 0 +3802698293511896:3802698293512406 1976:1980 hsa_system_get_info(2, 0x7f51e016bcd8) = 0 +3802698293512796:3802698293513316 1976:1980 hsa_system_get_info(2, 0x7f51e016bce0) = 0 +3802698293513706:3802698293514216 1976:1980 hsa_system_get_info(2, 0x7f51e016bce8) = 0 +3802698293514606:3802698293515126 1976:1980 hsa_system_get_info(2, 0x7f51e016bcf0) = 0 +3802698293515516:3802698293516026 1976:1980 hsa_system_get_info(2, 0x7f51e016bcf8) = 0 +3802698293516416:3802698293516936 1976:1980 hsa_system_get_info(2, 0x7f51e016bd00) = 0 +3802698293517326:3802698293517836 1976:1980 hsa_system_get_info(2, 0x7f51e016bd08) = 0 +3802698293518226:3802698293518746 1976:1980 hsa_system_get_info(2, 0x7f51e016bd10) = 0 +3802698293519136:3802698293519646 1976:1980 hsa_system_get_info(2, 0x7f51e016bd18) = 0 +3802698293520036:3802698293520556 1976:1980 hsa_system_get_info(2, 0x7f51e016bd20) = 0 +3802698293520946:3802698293521456 1976:1980 hsa_system_get_info(2, 0x7f51e016bd28) = 0 +3802698293521846:3802698293522366 1976:1980 hsa_system_get_info(2, 0x7f51e016bd30) = 0 +3802698293522756:3802698293523266 1976:1980 hsa_system_get_info(2, 0x7f51e016bd38) = 0 +3802698293523656:3802698293524176 1976:1980 hsa_system_get_info(2, 0x7f51e016bd40) = 0 +3802698293525226:3802698293525746 1976:1980 hsa_system_get_info(2, 0x7f51e016bd48) = 0 +3802698293526136:3802698293526656 1976:1980 hsa_system_get_info(2, 0x7f51e016bd50) = 0 +3802698293527046:3802698293527556 1976:1980 hsa_system_get_info(2, 0x7f51e016bd58) = 0 +3802698293527946:3802698293528466 1976:1980 hsa_system_get_info(2, 0x7f51e016bd60) = 0 +3802698293528856:3802698293529376 1976:1980 hsa_system_get_info(2, 0x7f51e016bd68) = 0 +3802698293529756:3802698293530276 1976:1980 hsa_system_get_info(2, 0x7f51e016bd70) = 0 +3802698293530666:3802698293531186 1976:1980 hsa_system_get_info(2, 0x7f51e016bd78) = 0 +3802698293531576:3802698293532086 1976:1980 hsa_system_get_info(2, 0x7f51e016bd80) = 0 +3802698293532476:3802698293532996 1976:1980 hsa_system_get_info(2, 0x7f51e016bd88) = 0 +3802698293533386:3802698293533906 1976:1980 hsa_system_get_info(2, 0x7f51e016bd90) = 0 +3802698293534296:3802698293534806 1976:1980 hsa_system_get_info(2, 0x7f51e016bd98) = 0 +3802698293535196:3802698293535716 1976:1980 hsa_system_get_info(2, 0x7f51e016bda0) = 0 +3802698293536106:3802698293536626 1976:1980 hsa_system_get_info(2, 0x7f51e016bda8) = 0 +3802698293537006:3802698293537526 1976:1980 hsa_system_get_info(2, 0x7f51e016bdb0) = 0 +3802698293537916:3802698293538436 1976:1980 hsa_system_get_info(2, 0x7f51e016bdb8) = 0 +3802698293538826:3802698293539336 1976:1980 hsa_system_get_info(2, 0x7f51e016bdc0) = 0 +3802698293539726:3802698293540246 1976:1980 hsa_system_get_info(2, 0x7f51e016bdc8) = 0 +3802698293540636:3802698293541156 1976:1980 hsa_system_get_info(2, 0x7f51e016bdd0) = 0 +3802698293541546:3802698293542056 1976:1980 hsa_system_get_info(2, 0x7f51e016bdd8) = 0 +3802698293542446:3802698293542966 1976:1980 hsa_system_get_info(2, 0x7f51e016bde0) = 0 +3802698293543356:3802698293543876 1976:1980 hsa_system_get_info(2, 0x7f51e016bde8) = 0 +3802698293544266:3802698293544776 1976:1980 hsa_system_get_info(2, 0x7f51e016bdf0) = 0 +3802698293545166:3802698293545686 1976:1980 hsa_system_get_info(2, 0x7f51e016bdf8) = 0 +3802698293546076:3802698293546596 1976:1980 hsa_system_get_info(2, 0x7f51e016be00) = 0 +3802698293546976:3802698293547496 1976:1980 hsa_system_get_info(2, 0x7f51e016be08) = 0 +3802698293547886:3802698293548406 1976:1980 hsa_system_get_info(2, 0x7f51e016be10) = 0 +3802698293548796:3802698293549316 1976:1980 hsa_system_get_info(2, 0x7f51e016be18) = 0 +3802698293549696:3802698293550216 1976:1980 hsa_system_get_info(2, 0x7f51e016be20) = 0 +3802698293551326:3802698293551846 1976:1980 hsa_system_get_info(2, 0x7f51e016be28) = 0 +3802698293552236:3802698293552756 1976:1980 hsa_system_get_info(2, 0x7f51e016be30) = 0 +3802698293553136:3802698293553656 1976:1980 hsa_system_get_info(2, 0x7f51e016be38) = 0 +3802698293554046:3802698293554566 1976:1980 hsa_system_get_info(2, 0x7f51e016be40) = 0 +3802698293554946:3802698293555466 1976:1980 hsa_system_get_info(2, 0x7f51e016be48) = 0 +3802698293555856:3802698293556376 1976:1980 hsa_system_get_info(2, 0x7f51e016be50) = 0 +3802698293556766:3802698293557276 1976:1980 hsa_system_get_info(2, 0x7f51e016be58) = 0 +3802698293557666:3802698293558186 1976:1980 hsa_system_get_info(2, 0x7f51e016be60) = 0 +3802698293558576:3802698293559086 1976:1980 hsa_system_get_info(2, 0x7f51e016be68) = 0 +3802698293559476:3802698293559996 1976:1980 hsa_system_get_info(2, 0x7f51e016be70) = 0 +3802698293560386:3802698293560896 1976:1980 hsa_system_get_info(2, 0x7f51e016be78) = 0 +3802698293561296:3802698293561806 1976:1980 hsa_system_get_info(2, 0x7f51e016be80) = 0 +3802698293562196:3802698293562716 1976:1980 hsa_system_get_info(2, 0x7f51e016be88) = 0 +3802698293563106:3802698293563616 1976:1980 hsa_system_get_info(2, 0x7f51e016be90) = 0 +3802698293564006:3802698293564526 1976:1980 hsa_system_get_info(2, 0x7f51e016be98) = 0 +3802698293564916:3802698293565426 1976:1980 hsa_system_get_info(2, 0x7f51e016bea0) = 0 +3802698293565816:3802698293566336 1976:1980 hsa_system_get_info(2, 0x7f51e016bea8) = 0 +3802698293566726:3802698293567236 1976:1980 hsa_system_get_info(2, 0x7f51e016beb0) = 0 +3802698293567626:3802698293568146 1976:1980 hsa_system_get_info(2, 0x7f51e016beb8) = 0 +3802698293568536:3802698293569046 1976:1980 hsa_system_get_info(2, 0x7f51e016bec0) = 0 +3802698293569436:3802698293569956 1976:1980 hsa_system_get_info(2, 0x7f51e016bec8) = 0 +3802698293570346:3802698293570856 1976:1980 hsa_system_get_info(2, 0x7f51e016bed0) = 0 +3802698293571246:3802698293571766 1976:1980 hsa_system_get_info(2, 0x7f51e016bed8) = 0 +3802698293572156:3802698293572666 1976:1980 hsa_system_get_info(2, 0x7f51e016bee0) = 0 +3802698293573056:3802698293573576 1976:1980 hsa_system_get_info(2, 0x7f51e016bee8) = 0 +3802698293573966:3802698293574476 1976:1980 hsa_system_get_info(2, 0x7f51e016bef0) = 0 +3802698293574866:3802698293575386 1976:1980 hsa_system_get_info(2, 0x7f51e016bef8) = 0 +3802698293575776:3802698293576286 1976:1980 hsa_system_get_info(2, 0x7f51e016bf00) = 0 +3802698293576676:3802698293577196 1976:1980 hsa_system_get_info(2, 0x7f51e016bf08) = 0 +3802698293578546:3802698293579066 1976:1980 hsa_system_get_info(2, 0x7f51e016bf10) = 0 +3802698293579456:3802698293579976 1976:1980 hsa_system_get_info(2, 0x7f51e016bf18) = 0 +3802698293580356:3802698293580876 1976:1980 hsa_system_get_info(2, 0x7f51e016bf20) = 0 +3802698293581266:3802698293581786 1976:1980 hsa_system_get_info(2, 0x7f51e016bf28) = 0 +3802698293582176:3802698293582686 1976:1980 hsa_system_get_info(2, 0x7f51e016bf30) = 0 +3802698293583076:3802698293583596 1976:1980 hsa_system_get_info(2, 0x7f51e016bf38) = 0 +3802698293583986:3802698293584506 1976:1980 hsa_system_get_info(2, 0x7f51e016bf40) = 0 +3802698293584896:3802698293585406 1976:1980 hsa_system_get_info(2, 0x7f51e016bf48) = 0 +3802698293585796:3802698293586316 1976:1980 hsa_system_get_info(2, 0x7f51e016bf50) = 0 +3802698293586706:3802698293587226 1976:1980 hsa_system_get_info(2, 0x7f51e016bf58) = 0 +3802698293587616:3802698293588126 1976:1980 hsa_system_get_info(2, 0x7f51e016bf60) = 0 +3802698293588516:3802698293589036 1976:1980 hsa_system_get_info(2, 0x7f51e016bf68) = 0 +3802698293589426:3802698293589946 1976:1980 hsa_system_get_info(2, 0x7f51e016bf70) = 0 +3802698293590336:3802698293590846 1976:1980 hsa_system_get_info(2, 0x7f51e016bf78) = 0 +3802698293591236:3802698293591756 1976:1980 hsa_system_get_info(2, 0x7f51e016bf80) = 0 +3802698293592146:3802698293592656 1976:1980 hsa_system_get_info(2, 0x7f51e016bf88) = 0 +3802698293593046:3802698293593566 1976:1980 hsa_system_get_info(2, 0x7f51e016bf90) = 0 +3802698293593956:3802698293594466 1976:1980 hsa_system_get_info(2, 0x7f51e016bf98) = 0 +3802698293594856:3802698293595376 1976:1980 hsa_system_get_info(2, 0x7f51e016bfa0) = 0 +3802698293595766:3802698293596276 1976:1980 hsa_system_get_info(2, 0x7f51e016bfa8) = 0 +3802698293596666:3802698293597186 1976:1980 hsa_system_get_info(2, 0x7f51e016bfb0) = 0 +3802698293597576:3802698293598096 1976:1980 hsa_system_get_info(2, 0x7f51e016bfb8) = 0 +3802698293598476:3802698293598996 1976:1980 hsa_system_get_info(2, 0x7f51e016bfc0) = 0 +3802698293599386:3802698293599906 1976:1980 hsa_system_get_info(2, 0x7f51e016bfc8) = 0 +3802698293600286:3802698293600806 1976:1980 hsa_system_get_info(2, 0x7f51e016bfd0) = 0 +3802698293601196:3802698293601716 1976:1980 hsa_system_get_info(2, 0x7f51e016bfd8) = 0 +3802698293602106:3802698293602626 1976:1980 hsa_system_get_info(2, 0x7f51e016bfe0) = 0 +3802698293603006:3802698293603526 1976:1980 hsa_system_get_info(2, 0x7f51e016bfe8) = 0 +3802698293605256:3802698293605776 1976:1980 hsa_system_get_info(2, 0x7f51e016bff0) = 0 +3802698293606176:3802698293606686 1976:1980 hsa_system_get_info(2, 0x7f51e016bff8) = 0 +3802698293607076:3802698293607597 1976:1980 hsa_system_get_info(2, 0x7f51e016c000) = 0 +3802698293607987:3802698293608507 1976:1980 hsa_system_get_info(2, 0x7f51e016c008) = 0 +3802698293608897:3802698293609407 1976:1980 hsa_system_get_info(2, 0x7f51e016c010) = 0 +3802698293609797:3802698293610317 1976:1980 hsa_system_get_info(2, 0x7f51e016c018) = 0 +3802698293610707:3802698293611227 1976:1980 hsa_system_get_info(2, 0x7f51e016c020) = 0 +3802698293611607:3802698293612127 1976:1980 hsa_system_get_info(2, 0x7f51e016c028) = 0 +3802698293612517:3802698293613037 1976:1980 hsa_system_get_info(2, 0x7f51e016c030) = 0 +3802698293613427:3802698293613947 1976:1980 hsa_system_get_info(2, 0x7f51e016c038) = 0 +3802698293614327:3802698293614847 1976:1980 hsa_system_get_info(2, 0x7f51e016c040) = 0 +3802698293615237:3802698293615757 1976:1980 hsa_system_get_info(2, 0x7f51e016c048) = 0 +3802698293616147:3802698293616657 1976:1980 hsa_system_get_info(2, 0x7f51e016c050) = 0 +3802698293617047:3802698293617567 1976:1980 hsa_system_get_info(2, 0x7f51e016c058) = 0 +3802698293617957:3802698293618477 1976:1980 hsa_system_get_info(2, 0x7f51e016c060) = 0 +3802698293618867:3802698293619377 1976:1980 hsa_system_get_info(2, 0x7f51e016c068) = 0 +3802698293619767:3802698293620287 1976:1980 hsa_system_get_info(2, 0x7f51e016c070) = 0 +3802698293620677:3802698293621197 1976:1980 hsa_system_get_info(2, 0x7f51e016c078) = 0 +3802698293621577:3802698293622097 1976:1980 hsa_system_get_info(2, 0x7f51e016c080) = 0 +3802698293622487:3802698293623007 1976:1980 hsa_system_get_info(2, 0x7f51e016c088) = 0 +3802698293623397:3802698293623907 1976:1980 hsa_system_get_info(2, 0x7f51e016c090) = 0 +3802698293624297:3802698293624817 1976:1980 hsa_system_get_info(2, 0x7f51e016c098) = 0 +3802698293625207:3802698293625727 1976:1980 hsa_system_get_info(2, 0x7f51e016c0a0) = 0 +3802698293626107:3802698293626627 1976:1980 hsa_system_get_info(2, 0x7f51e016c0a8) = 0 +3802698293627017:3802698293627537 1976:1980 hsa_system_get_info(2, 0x7f51e016c0b0) = 0 +3802698293627927:3802698293628437 1976:1980 hsa_system_get_info(2, 0x7f51e016c0b8) = 0 +3802698293628827:3802698293629347 1976:1980 hsa_system_get_info(2, 0x7f51e016c0c0) = 0 +3802698293629737:3802698293630257 1976:1980 hsa_system_get_info(2, 0x7f51e016c0c8) = 0 +3802698293630637:3802698293631157 1976:1980 hsa_system_get_info(2, 0x7f51e016c0d0) = 0 +3802698293634217:3802698293634737 1976:1980 hsa_system_get_info(2, 0x7f51e016c0d8) = 0 +3802698293635127:3802698293635647 1976:1980 hsa_system_get_info(2, 0x7f51e016c0e0) = 0 +3802698293636037:3802698293636547 1976:1980 hsa_system_get_info(2, 0x7f51e016c0e8) = 0 +3802698293636937:3802698293637457 1976:1980 hsa_system_get_info(2, 0x7f51e016c0f0) = 0 +3802698293637847:3802698293638357 1976:1980 hsa_system_get_info(2, 0x7f51e016c0f8) = 0 +3802698293638747:3802698293639267 1976:1980 hsa_system_get_info(2, 0x7f51e016c100) = 0 +3802698293639657:3802698293640167 1976:1980 hsa_system_get_info(2, 0x7f51e016c108) = 0 +3802698293640557:3802698293641077 1976:1980 hsa_system_get_info(2, 0x7f51e016c110) = 0 +3802698293641467:3802698293641977 1976:1980 hsa_system_get_info(2, 0x7f51e016c118) = 0 +3802698293642367:3802698293642887 1976:1980 hsa_system_get_info(2, 0x7f51e016c120) = 0 +3802698293643277:3802698293643787 1976:1980 hsa_system_get_info(2, 0x7f51e016c128) = 0 +3802698293644177:3802698293644697 1976:1980 hsa_system_get_info(2, 0x7f51e016c130) = 0 +3802698293645087:3802698293645607 1976:1980 hsa_system_get_info(2, 0x7f51e016c138) = 0 +3802698293645997:3802698293646507 1976:1980 hsa_system_get_info(2, 0x7f51e016c140) = 0 +3802698293646897:3802698293647417 1976:1980 hsa_system_get_info(2, 0x7f51e016c148) = 0 +3802698293647807:3802698293648317 1976:1980 hsa_system_get_info(2, 0x7f51e016c150) = 0 +3802698293648707:3802698293649227 1976:1980 hsa_system_get_info(2, 0x7f51e016c158) = 0 +3802698293649617:3802698293650127 1976:1980 hsa_system_get_info(2, 0x7f51e016c160) = 0 +3802698293650517:3802698293651037 1976:1980 hsa_system_get_info(2, 0x7f51e016c168) = 0 +3802698293651427:3802698293651937 1976:1980 hsa_system_get_info(2, 0x7f51e016c170) = 0 +3802698293652327:3802698293652847 1976:1980 hsa_system_get_info(2, 0x7f51e016c178) = 0 +3802698293653237:3802698293653757 1976:1980 hsa_system_get_info(2, 0x7f51e016c180) = 0 +3802698293654147:3802698293654657 1976:1980 hsa_system_get_info(2, 0x7f51e016c188) = 0 +3802698293655047:3802698293655567 1976:1980 hsa_system_get_info(2, 0x7f51e016c190) = 0 +3802698293655957:3802698293656467 1976:1980 hsa_system_get_info(2, 0x7f51e016c198) = 0 +3802698293656857:3802698293657377 1976:1980 hsa_system_get_info(2, 0x7f51e016c1a0) = 0 +3802698293657767:3802698293658277 1976:1980 hsa_system_get_info(2, 0x7f51e016c1a8) = 0 +3802698293658667:3802698293659187 1976:1980 hsa_system_get_info(2, 0x7f51e016c1b0) = 0 +3802698293660447:3802698293660977 1976:1980 hsa_system_get_info(2, 0x7f51e016c1b8) = 0 +3802698293661367:3802698293661877 1976:1980 hsa_system_get_info(2, 0x7f51e016c1c0) = 0 +3802698293662267:3802698293662787 1976:1980 hsa_system_get_info(2, 0x7f51e016c1c8) = 0 +3802698293663177:3802698293663697 1976:1980 hsa_system_get_info(2, 0x7f51e016c1d0) = 0 +3802698293664087:3802698293664597 1976:1980 hsa_system_get_info(2, 0x7f51e016c1d8) = 0 +3802698293664987:3802698293665507 1976:1980 hsa_system_get_info(2, 0x7f51e016c1e0) = 0 +3802698293665897:3802698293666417 1976:1980 hsa_system_get_info(2, 0x7f51e016c1e8) = 0 +3802698293666807:3802698293667317 1976:1980 hsa_system_get_info(2, 0x7f51e016c1f0) = 0 +3802698293667707:3802698293668227 1976:1980 hsa_system_get_info(2, 0x7f51e016c1f8) = 0 +3802698293668617:3802698293669137 1976:1980 hsa_system_get_info(2, 0x7f51e016c200) = 0 +3802698293669527:3802698293670037 1976:1980 hsa_system_get_info(2, 0x7f51e016c208) = 0 +3802698293670427:3802698293670947 1976:1980 hsa_system_get_info(2, 0x7f51e016c210) = 0 +3802698293671337:3802698293671857 1976:1980 hsa_system_get_info(2, 0x7f51e016c218) = 0 +3802698293672247:3802698293672757 1976:1980 hsa_system_get_info(2, 0x7f51e016c220) = 0 +3802698293673147:3802698293673667 1976:1980 hsa_system_get_info(2, 0x7f51e016c228) = 0 +3802698293674057:3802698293674577 1976:1980 hsa_system_get_info(2, 0x7f51e016c230) = 0 +3802698293674967:3802698293675477 1976:1980 hsa_system_get_info(2, 0x7f51e016c238) = 0 +3802698293675867:3802698293676387 1976:1980 hsa_system_get_info(2, 0x7f51e016c240) = 0 +3802698293676777:3802698293677297 1976:1980 hsa_system_get_info(2, 0x7f51e016c248) = 0 +3802698293677677:3802698293678197 1976:1980 hsa_system_get_info(2, 0x7f51e016c250) = 0 +3802698293678587:3802698293679107 1976:1980 hsa_system_get_info(2, 0x7f51e016c258) = 0 +3802698293679497:3802698293680017 1976:1980 hsa_system_get_info(2, 0x7f51e016c260) = 0 +3802698293680397:3802698293680917 1976:1980 hsa_system_get_info(2, 0x7f51e016c268) = 0 +3802698293681307:3802698293681827 1976:1980 hsa_system_get_info(2, 0x7f51e016c270) = 0 +3802698293682217:3802698293682737 1976:1980 hsa_system_get_info(2, 0x7f51e016c278) = 0 +3802698293683117:3802698293683637 1976:1980 hsa_system_get_info(2, 0x7f51e016c280) = 0 +3802698293684027:3802698293684547 1976:1980 hsa_system_get_info(2, 0x7f51e016c288) = 0 +3802698293684937:3802698293685457 1976:1980 hsa_system_get_info(2, 0x7f51e016c290) = 0 +3802698293685837:3802698293686357 1976:1980 hsa_system_get_info(2, 0x7f51e016c298) = 0 +3802698293687387:3802698293687907 1976:1980 hsa_system_get_info(2, 0x7f51e016c2a0) = 0 +3802698293688297:3802698293688817 1976:1980 hsa_system_get_info(2, 0x7f51e016c2a8) = 0 +3802698293689207:3802698293689717 1976:1980 hsa_system_get_info(2, 0x7f51e016c2b0) = 0 +3802698293690107:3802698293690627 1976:1980 hsa_system_get_info(2, 0x7f51e016c2b8) = 0 +3802698293691017:3802698293691537 1976:1980 hsa_system_get_info(2, 0x7f51e016c2c0) = 0 +3802698293691927:3802698293692447 1976:1980 hsa_system_get_info(2, 0x7f51e016c2c8) = 0 +3802698293692837:3802698293693347 1976:1980 hsa_system_get_info(2, 0x7f51e016c2d0) = 0 +3802698293693737:3802698293694257 1976:1980 hsa_system_get_info(2, 0x7f51e016c2d8) = 0 +3802698293694647:3802698293695167 1976:1980 hsa_system_get_info(2, 0x7f51e016c2e0) = 0 +3802698293695547:3802698293696067 1976:1980 hsa_system_get_info(2, 0x7f51e016c2e8) = 0 +3802698293696457:3802698293696977 1976:1980 hsa_system_get_info(2, 0x7f51e016c2f0) = 0 +3802698293697357:3802698293697877 1976:1980 hsa_system_get_info(2, 0x7f51e016c2f8) = 0 +3802698293698267:3802698293698787 1976:1980 hsa_system_get_info(2, 0x7f51e016c300) = 0 +3802698293699177:3802698293699697 1976:1980 hsa_system_get_info(2, 0x7f51e016c308) = 0 +3802698293700087:3802698293700607 1976:1980 hsa_system_get_info(2, 0x7f51e016c310) = 0 +3802698293700987:3802698293701507 1976:1980 hsa_system_get_info(2, 0x7f51e016c318) = 0 +3802698293701897:3802698293702417 1976:1980 hsa_system_get_info(2, 0x7f51e016c320) = 0 +3802698293702807:3802698293703327 1976:1980 hsa_system_get_info(2, 0x7f51e016c328) = 0 +3802698293703717:3802698293704237 1976:1980 hsa_system_get_info(2, 0x7f51e016c330) = 0 +3802698293704627:3802698293705137 1976:1980 hsa_system_get_info(2, 0x7f51e016c338) = 0 +3802698293705537:3802698293706047 1976:1980 hsa_system_get_info(2, 0x7f51e016c340) = 0 +3802698293706437:3802698293706957 1976:1980 hsa_system_get_info(2, 0x7f51e016c348) = 0 +3802698293707347:3802698293707857 1976:1980 hsa_system_get_info(2, 0x7f51e016c350) = 0 +3802698293708247:3802698293708767 1976:1980 hsa_system_get_info(2, 0x7f51e016c358) = 0 +3802698293709157:3802698293709677 1976:1980 hsa_system_get_info(2, 0x7f51e016c360) = 0 +3802698293710057:3802698293710577 1976:1980 hsa_system_get_info(2, 0x7f51e016c368) = 0 +3802698293710967:3802698293711487 1976:1980 hsa_system_get_info(2, 0x7f51e016c370) = 0 +3802698293711877:3802698293712387 1976:1980 hsa_system_get_info(2, 0x7f51e016c378) = 0 +3802698293713657:3802698293714177 1976:1980 hsa_system_get_info(2, 0x7f51e016c380) = 0 +3802698293714567:3802698293715087 1976:1980 hsa_system_get_info(2, 0x7f51e016c388) = 0 +3802698293715477:3802698293715997 1976:1980 hsa_system_get_info(2, 0x7f51e016c390) = 0 +3802698293716387:3802698293716907 1976:1980 hsa_system_get_info(2, 0x7f51e016c398) = 0 +3802698293717297:3802698293717817 1976:1980 hsa_system_get_info(2, 0x7f51e016c3a0) = 0 +3802698293718207:3802698293718717 1976:1980 hsa_system_get_info(2, 0x7f51e016c3a8) = 0 +3802698293719117:3802698293719627 1976:1980 hsa_system_get_info(2, 0x7f51e016c3b0) = 0 +3802698293720027:3802698293720537 1976:1980 hsa_system_get_info(2, 0x7f51e016c3b8) = 0 +3802698293720927:3802698293721447 1976:1980 hsa_system_get_info(2, 0x7f51e016c3c0) = 0 +3802698293721837:3802698293722357 1976:1980 hsa_system_get_info(2, 0x7f51e016c3c8) = 0 +3802698293722747:3802698293723267 1976:1980 hsa_system_get_info(2, 0x7f51e016c3d0) = 0 +3802698293723647:3802698293724167 1976:1980 hsa_system_get_info(2, 0x7f51e016c3d8) = 0 +3802698293724557:3802698293725077 1976:1980 hsa_system_get_info(2, 0x7f51e016c3e0) = 0 +3802698293725467:3802698293725977 1976:1980 hsa_system_get_info(2, 0x7f51e016c3e8) = 0 +3802698293726367:3802698293726887 1976:1980 hsa_system_get_info(2, 0x7f51e016c3f0) = 0 +3802698293727277:3802698293727797 1976:1980 hsa_system_get_info(2, 0x7f51e016c3f8) = 0 +3802698293728187:3802698293728697 1976:1980 hsa_system_get_info(2, 0x7f51e016c400) = 0 +3802698293729087:3802698293729607 1976:1980 hsa_system_get_info(2, 0x7f51e016c408) = 0 +3802698293729997:3802698293730517 1976:1980 hsa_system_get_info(2, 0x7f51e016c410) = 0 +3802698293730907:3802698293731417 1976:1980 hsa_system_get_info(2, 0x7f51e016c418) = 0 +3802698293731807:3802698293732327 1976:1980 hsa_system_get_info(2, 0x7f51e016c420) = 0 +3802698293732717:3802698293733237 1976:1980 hsa_system_get_info(2, 0x7f51e016c428) = 0 +3802698293733627:3802698293734137 1976:1980 hsa_system_get_info(2, 0x7f51e016c430) = 0 +3802698293734527:3802698293735047 1976:1980 hsa_system_get_info(2, 0x7f51e016c438) = 0 +3802698293735437:3802698293735957 1976:1980 hsa_system_get_info(2, 0x7f51e016c440) = 0 +3802698293736347:3802698293736857 1976:1980 hsa_system_get_info(2, 0x7f51e016c448) = 0 +3802698293737247:3802698293737767 1976:1980 hsa_system_get_info(2, 0x7f51e016c450) = 0 +3802698293738157:3802698293738677 1976:1980 hsa_system_get_info(2, 0x7f51e016c458) = 0 +3802698293739897:3802698293740427 1976:1980 hsa_system_get_info(2, 0x7f51e016c460) = 0 +3802698293740817:3802698293741327 1976:1980 hsa_system_get_info(2, 0x7f51e016c468) = 0 +3802698293741718:3802698293742238 1976:1980 hsa_system_get_info(2, 0x7f51e016c470) = 0 +3802698293742628:3802698293743148 1976:1980 hsa_system_get_info(2, 0x7f51e016c478) = 0 +3802698293743528:3802698293744048 1976:1980 hsa_system_get_info(2, 0x7f51e016c480) = 0 +3802698293744438:3802698293744958 1976:1980 hsa_system_get_info(2, 0x7f51e016c488) = 0 +3802698293745348:3802698293745858 1976:1980 hsa_system_get_info(2, 0x7f51e016c490) = 0 +3802698293746248:3802698293746768 1976:1980 hsa_system_get_info(2, 0x7f51e016c498) = 0 +3802698293747158:3802698293747668 1976:1980 hsa_system_get_info(2, 0x7f51e016c4a0) = 0 +3802698293748058:3802698293748578 1976:1980 hsa_system_get_info(2, 0x7f51e016c4a8) = 0 +3802698293748968:3802698293749478 1976:1980 hsa_system_get_info(2, 0x7f51e016c4b0) = 0 +3802698293749868:3802698293750388 1976:1980 hsa_system_get_info(2, 0x7f51e016c4b8) = 0 +3802698293750778:3802698293751298 1976:1980 hsa_system_get_info(2, 0x7f51e016c4c0) = 0 +3802698293751678:3802698293752198 1976:1980 hsa_system_get_info(2, 0x7f51e016c4c8) = 0 +3802698293752588:3802698293753108 1976:1980 hsa_system_get_info(2, 0x7f51e016c4d0) = 0 +3802698293753498:3802698293754008 1976:1980 hsa_system_get_info(2, 0x7f51e016c4d8) = 0 +3802698293754398:3802698293754918 1976:1980 hsa_system_get_info(2, 0x7f51e016c4e0) = 0 +3802698293755308:3802698293755818 1976:1980 hsa_system_get_info(2, 0x7f51e016c4e8) = 0 +3802698293756208:3802698293756728 1976:1980 hsa_system_get_info(2, 0x7f51e016c4f0) = 0 +3802698293757118:3802698293757628 1976:1980 hsa_system_get_info(2, 0x7f51e016c4f8) = 0 +3802698293758018:3802698293758538 1976:1980 hsa_system_get_info(2, 0x7f51e016c500) = 0 +3802698293758928:3802698293759438 1976:1980 hsa_system_get_info(2, 0x7f51e016c508) = 0 +3802698293759828:3802698293760348 1976:1980 hsa_system_get_info(2, 0x7f51e016c510) = 0 +3802698293760738:3802698293761248 1976:1980 hsa_system_get_info(2, 0x7f51e016c518) = 0 +3802698293761638:3802698293762158 1976:1980 hsa_system_get_info(2, 0x7f51e016c520) = 0 +3802698293762548:3802698293763068 1976:1980 hsa_system_get_info(2, 0x7f51e016c528) = 0 +3802698293763448:3802698293763968 1976:1980 hsa_system_get_info(2, 0x7f51e016c530) = 0 +3802698293764358:3802698293764878 1976:1980 hsa_system_get_info(2, 0x7f51e016c538) = 0 +3802698293765268:3802698293765778 1976:1980 hsa_system_get_info(2, 0x7f51e016c540) = 0 +3802698293766948:3802698293767468 1976:1980 hsa_system_get_info(2, 0x7f51e016c548) = 0 +3802698293767858:3802698293768378 1976:1980 hsa_system_get_info(2, 0x7f51e016c550) = 0 +3802698293768768:3802698293769288 1976:1980 hsa_system_get_info(2, 0x7f51e016c558) = 0 +3802698293769678:3802698293770188 1976:1980 hsa_system_get_info(2, 0x7f51e016c560) = 0 +3802698293770578:3802698293771098 1976:1980 hsa_system_get_info(2, 0x7f51e016c568) = 0 +3802698293771488:3802698293772008 1976:1980 hsa_system_get_info(2, 0x7f51e016c570) = 0 +3802698293772398:3802698293772908 1976:1980 hsa_system_get_info(2, 0x7f51e016c578) = 0 +3802698293773298:3802698293773818 1976:1980 hsa_system_get_info(2, 0x7f51e016c580) = 0 +3802698293774208:3802698293774728 1976:1980 hsa_system_get_info(2, 0x7f51e016c588) = 0 +3802698293775118:3802698293775628 1976:1980 hsa_system_get_info(2, 0x7f51e016c590) = 0 +3802698293776018:3802698293776538 1976:1980 hsa_system_get_info(2, 0x7f51e016c598) = 0 +3802698293776928:3802698293777448 1976:1980 hsa_system_get_info(2, 0x7f51e016c5a0) = 0 +3802698293777838:3802698293778348 1976:1980 hsa_system_get_info(2, 0x7f51e016c5a8) = 0 +3802698293778738:3802698293779258 1976:1980 hsa_system_get_info(2, 0x7f51e016c5b0) = 0 +3802698293779648:3802698293780168 1976:1980 hsa_system_get_info(2, 0x7f51e016c5b8) = 0 +3802698293780558:3802698293781068 1976:1980 hsa_system_get_info(2, 0x7f51e016c5c0) = 0 +3802698293781458:3802698293781978 1976:1980 hsa_system_get_info(2, 0x7f51e016c5c8) = 0 +3802698293782368:3802698293782888 1976:1980 hsa_system_get_info(2, 0x7f51e016c5d0) = 0 +3802698293783278:3802698293783788 1976:1980 hsa_system_get_info(2, 0x7f51e016c5d8) = 0 +3802698293784178:3802698293784698 1976:1980 hsa_system_get_info(2, 0x7f51e016c5e0) = 0 +3802698293785088:3802698293785608 1976:1980 hsa_system_get_info(2, 0x7f51e016c5e8) = 0 +3802698293785998:3802698293786508 1976:1980 hsa_system_get_info(2, 0x7f51e016c5f0) = 0 +3802698293786898:3802698293787418 1976:1980 hsa_system_get_info(2, 0x7f51e016c5f8) = 0 +3802698293787808:3802698293788328 1976:1980 hsa_system_get_info(2, 0x7f51e016c600) = 0 +3802698293788718:3802698293789228 1976:1980 hsa_system_get_info(2, 0x7f51e016c608) = 0 +3802698293789618:3802698293790138 1976:1980 hsa_system_get_info(2, 0x7f51e016c610) = 0 +3802698293790528:3802698293791048 1976:1980 hsa_system_get_info(2, 0x7f51e016c618) = 0 +3802698293791438:3802698293791948 1976:1980 hsa_system_get_info(2, 0x7f51e016c620) = 0 +3802698293793058:3802698293793588 1976:1980 hsa_system_get_info(2, 0x7f51e016c628) = 0 +3802698293793968:3802698293794488 1976:1980 hsa_system_get_info(2, 0x7f51e016c630) = 0 +3802698293794878:3802698293795398 1976:1980 hsa_system_get_info(2, 0x7f51e016c638) = 0 +3802698293795788:3802698293796298 1976:1980 hsa_system_get_info(2, 0x7f51e016c640) = 0 +3802698293796688:3802698293797208 1976:1980 hsa_system_get_info(2, 0x7f51e016c648) = 0 +3802698293797598:3802698293798108 1976:1980 hsa_system_get_info(2, 0x7f51e016c650) = 0 +3802698293798498:3802698293799018 1976:1980 hsa_system_get_info(2, 0x7f51e016c658) = 0 +3802698293799408:3802698293799918 1976:1980 hsa_system_get_info(2, 0x7f51e016c660) = 0 +3802698293800308:3802698293800828 1976:1980 hsa_system_get_info(2, 0x7f51e016c668) = 0 +3802698293801218:3802698293801728 1976:1980 hsa_system_get_info(2, 0x7f51e016c670) = 0 +3802698293802118:3802698293802638 1976:1980 hsa_system_get_info(2, 0x7f51e016c678) = 0 +3802698293803028:3802698293803548 1976:1980 hsa_system_get_info(2, 0x7f51e016c680) = 0 +3802698293803928:3802698293804448 1976:1980 hsa_system_get_info(2, 0x7f51e016c688) = 0 +3802698293804838:3802698293805358 1976:1980 hsa_system_get_info(2, 0x7f51e016c690) = 0 +3802698293805748:3802698293806258 1976:1980 hsa_system_get_info(2, 0x7f51e016c698) = 0 +3802698293806648:3802698293807168 1976:1980 hsa_system_get_info(2, 0x7f51e016c6a0) = 0 +3802698293807558:3802698293808068 1976:1980 hsa_system_get_info(2, 0x7f51e016c6a8) = 0 +3802698293808458:3802698293808978 1976:1980 hsa_system_get_info(2, 0x7f51e016c6b0) = 0 +3802698293809368:3802698293809878 1976:1980 hsa_system_get_info(2, 0x7f51e016c6b8) = 0 +3802698293810268:3802698293810788 1976:1980 hsa_system_get_info(2, 0x7f51e016c6c0) = 0 +3802698293811178:3802698293811688 1976:1980 hsa_system_get_info(2, 0x7f51e016c6c8) = 0 +3802698293812078:3802698293812598 1976:1980 hsa_system_get_info(2, 0x7f51e016c6d0) = 0 +3802698293812988:3802698293813508 1976:1980 hsa_system_get_info(2, 0x7f51e016c6d8) = 0 +3802698293813888:3802698293814408 1976:1980 hsa_system_get_info(2, 0x7f51e016c6e0) = 0 +3802698293814798:3802698293815318 1976:1980 hsa_system_get_info(2, 0x7f51e016c6e8) = 0 +3802698293815698:3802698293816218 1976:1980 hsa_system_get_info(2, 0x7f51e016c6f0) = 0 +3802698293816608:3802698293817128 1976:1980 hsa_system_get_info(2, 0x7f51e016c6f8) = 0 +3802698293817518:3802698293818028 1976:1980 hsa_system_get_info(2, 0x7f51e016c700) = 0 +3802698293818418:3802698293818938 1976:1980 hsa_system_get_info(2, 0x7f51e016c708) = 0 +3802698293820478:3802698293820998 1976:1980 hsa_system_get_info(2, 0x7f51e016c710) = 0 +3802698293821398:3802698293821908 1976:1980 hsa_system_get_info(2, 0x7f51e016c718) = 0 +3802698293822298:3802698293822818 1976:1980 hsa_system_get_info(2, 0x7f51e016c720) = 0 +3802698293823208:3802698293823718 1976:1980 hsa_system_get_info(2, 0x7f51e016c728) = 0 +3802698293824108:3802698293824628 1976:1980 hsa_system_get_info(2, 0x7f51e016c730) = 0 +3802698293825018:3802698293825528 1976:1980 hsa_system_get_info(2, 0x7f51e016c738) = 0 +3802698293825918:3802698293826438 1976:1980 hsa_system_get_info(2, 0x7f51e016c740) = 0 +3802698293826828:3802698293827348 1976:1980 hsa_system_get_info(2, 0x7f51e016c748) = 0 +3802698293827738:3802698293828248 1976:1980 hsa_system_get_info(2, 0x7f51e016c750) = 0 +3802698293828638:3802698293829158 1976:1980 hsa_system_get_info(2, 0x7f51e016c758) = 0 +3802698293829548:3802698293830058 1976:1980 hsa_system_get_info(2, 0x7f51e016c760) = 0 +3802698293830448:3802698293830968 1976:1980 hsa_system_get_info(2, 0x7f51e016c768) = 0 +3802698293831358:3802698293831878 1976:1980 hsa_system_get_info(2, 0x7f51e016c770) = 0 +3802698293832268:3802698293832778 1976:1980 hsa_system_get_info(2, 0x7f51e016c778) = 0 +3802698293833168:3802698293833688 1976:1980 hsa_system_get_info(2, 0x7f51e016c780) = 0 +3802698293834078:3802698293834588 1976:1980 hsa_system_get_info(2, 0x7f51e016c788) = 0 +3802698293834978:3802698293835498 1976:1980 hsa_system_get_info(2, 0x7f51e016c790) = 0 +3802698293835888:3802698293836398 1976:1980 hsa_system_get_info(2, 0x7f51e016c798) = 0 +3802698293836788:3802698293837308 1976:1980 hsa_system_get_info(2, 0x7f51e016c7a0) = 0 +3802698293837698:3802698293838208 1976:1980 hsa_system_get_info(2, 0x7f51e016c7a8) = 0 +3802698293838598:3802698293839118 1976:1980 hsa_system_get_info(2, 0x7f51e016c7b0) = 0 +3802698293839508:3802698293840018 1976:1980 hsa_system_get_info(2, 0x7f51e016c7b8) = 0 +3802698293840408:3802698293840928 1976:1980 hsa_system_get_info(2, 0x7f51e016c7c0) = 0 +3802698293841318:3802698293841838 1976:1980 hsa_system_get_info(2, 0x7f51e016c7c8) = 0 +3802698293842218:3802698293842738 1976:1980 hsa_system_get_info(2, 0x7f51e016c7d0) = 0 +3802698293843128:3802698293843648 1976:1980 hsa_system_get_info(2, 0x7f51e016c7d8) = 0 +3802698293844038:3802698293844548 1976:1980 hsa_system_get_info(2, 0x7f51e016c7e0) = 0 +3802698293844938:3802698293845458 1976:1980 hsa_system_get_info(2, 0x7f51e016c7e8) = 0 +3802698293846548:3802698293847068 1976:1980 hsa_system_get_info(2, 0x7f51e016c7f0) = 0 +3802698293847458:3802698293847978 1976:1980 hsa_system_get_info(2, 0x7f51e016c7f8) = 0 +3802698293848368:3802698293848888 1976:1980 hsa_system_get_info(2, 0x7f51e016c800) = 0 +3802698293849278:3802698293849788 1976:1980 hsa_system_get_info(2, 0x7f51e016c808) = 0 +3802698293850178:3802698293850698 1976:1980 hsa_system_get_info(2, 0x7f51e016c810) = 0 +3802698293851088:3802698293851608 1976:1980 hsa_system_get_info(2, 0x7f51e016c818) = 0 +3802698293851998:3802698293852508 1976:1980 hsa_system_get_info(2, 0x7f51e016c820) = 0 +3802698293852898:3802698293853418 1976:1980 hsa_system_get_info(2, 0x7f51e016c828) = 0 +3802698293853808:3802698293854328 1976:1980 hsa_system_get_info(2, 0x7f51e016c830) = 0 +3802698293854718:3802698293855228 1976:1980 hsa_system_get_info(2, 0x7f51e016c838) = 0 +3802698293855618:3802698293856138 1976:1980 hsa_system_get_info(2, 0x7f51e016c840) = 0 +3802698293856528:3802698293857048 1976:1980 hsa_system_get_info(2, 0x7f51e016c848) = 0 +3802698293857438:3802698293857958 1976:1980 hsa_system_get_info(2, 0x7f51e016c850) = 0 +3802698293858348:3802698293858868 1976:1980 hsa_system_get_info(2, 0x7f51e016c858) = 0 +3802698293859258:3802698293859778 1976:1980 hsa_system_get_info(2, 0x7f51e016c860) = 0 +3802698293860168:3802698293860678 1976:1980 hsa_system_get_info(2, 0x7f51e016c868) = 0 +3802698293861078:3802698293861588 1976:1980 hsa_system_get_info(2, 0x7f51e016c870) = 0 +3802698293861988:3802698293862498 1976:1980 hsa_system_get_info(2, 0x7f51e016c878) = 0 +3802698293862898:3802698293863408 1976:1980 hsa_system_get_info(2, 0x7f51e016c880) = 0 +3802698293863798:3802698293864318 1976:1980 hsa_system_get_info(2, 0x7f51e016c888) = 0 +3802698293864708:3802698293865228 1976:1980 hsa_system_get_info(2, 0x7f51e016c890) = 0 +3802698293865608:3802698293866128 1976:1980 hsa_system_get_info(2, 0x7f51e016c898) = 0 +3802698293866518:3802698293867038 1976:1980 hsa_system_get_info(2, 0x7f51e016c8a0) = 0 +3802698293867428:3802698293867948 1976:1980 hsa_system_get_info(2, 0x7f51e016c8a8) = 0 +3802698293868328:3802698293868848 1976:1980 hsa_system_get_info(2, 0x7f51e016c8b0) = 0 +3802698293869238:3802698293869758 1976:1980 hsa_system_get_info(2, 0x7f51e016c8b8) = 0 +3802698293870148:3802698293870668 1976:1980 hsa_system_get_info(2, 0x7f51e016c8c0) = 0 +3802698293871048:3802698293871568 1976:1980 hsa_system_get_info(2, 0x7f51e016c8c8) = 0 +3802698293871958:3802698293872478 1976:1980 hsa_system_get_info(2, 0x7f51e016c8d0) = 0 +3802698293873568:3802698293874088 1976:1980 hsa_system_get_info(2, 0x7f51e016c8d8) = 0 +3802698293874478:3802698293874998 1976:1980 hsa_system_get_info(2, 0x7f51e016c8e0) = 0 +3802698293875388:3802698293875908 1976:1980 hsa_system_get_info(2, 0x7f51e016c8e8) = 0 +3802698293876289:3802698293876809 1976:1980 hsa_system_get_info(2, 0x7f51e016c8f0) = 0 +3802698293877199:3802698293877719 1976:1980 hsa_system_get_info(2, 0x7f51e016c8f8) = 0 +3802698293878099:3802698293878619 1976:1980 hsa_system_get_info(2, 0x7f51e016c900) = 0 +3802698293879009:3802698293879529 1976:1980 hsa_system_get_info(2, 0x7f51e016c908) = 0 +3802698293879919:3802698293880429 1976:1980 hsa_system_get_info(2, 0x7f51e016c910) = 0 +3802698293880819:3802698293881339 1976:1980 hsa_system_get_info(2, 0x7f51e016c918) = 0 +3802698293881729:3802698293882239 1976:1980 hsa_system_get_info(2, 0x7f51e016c920) = 0 +3802698293882629:3802698293883149 1976:1980 hsa_system_get_info(2, 0x7f51e016c928) = 0 +3802698293883539:3802698293884049 1976:1980 hsa_system_get_info(2, 0x7f51e016c930) = 0 +3802698293884439:3802698293884959 1976:1980 hsa_system_get_info(2, 0x7f51e016c938) = 0 +3802698293885349:3802698293885869 1976:1980 hsa_system_get_info(2, 0x7f51e016c940) = 0 +3802698293886259:3802698293886769 1976:1980 hsa_system_get_info(2, 0x7f51e016c948) = 0 +3802698293887159:3802698293887679 1976:1980 hsa_system_get_info(2, 0x7f51e016c950) = 0 +3802698293888069:3802698293888579 1976:1980 hsa_system_get_info(2, 0x7f51e016c958) = 0 +3802698293888969:3802698293889489 1976:1980 hsa_system_get_info(2, 0x7f51e016c960) = 0 +3802698293889879:3802698293890389 1976:1980 hsa_system_get_info(2, 0x7f51e016c968) = 0 +3802698293890779:3802698293891299 1976:1980 hsa_system_get_info(2, 0x7f51e016c970) = 0 +3802698293891689:3802698293892199 1976:1980 hsa_system_get_info(2, 0x7f51e016c978) = 0 +3802698293892589:3802698293893109 1976:1980 hsa_system_get_info(2, 0x7f51e016c980) = 0 +3802698293893499:3802698293894009 1976:1980 hsa_system_get_info(2, 0x7f51e016c988) = 0 +3802698293894399:3802698293894919 1976:1980 hsa_system_get_info(2, 0x7f51e016c990) = 0 +3802698293895309:3802698293895829 1976:1980 hsa_system_get_info(2, 0x7f51e016c998) = 0 +3802698293896209:3802698293896729 1976:1980 hsa_system_get_info(2, 0x7f51e016c9a0) = 0 +3802698293897119:3802698293897639 1976:1980 hsa_system_get_info(2, 0x7f51e016c9a8) = 0 +3802698293898029:3802698293898539 1976:1980 hsa_system_get_info(2, 0x7f51e016c9b0) = 0 +3802698293899649:3802698293900169 1976:1980 hsa_system_get_info(2, 0x7f51e016c9b8) = 0 +3802698293900559:3802698293901079 1976:1980 hsa_system_get_info(2, 0x7f51e016c9c0) = 0 +3802698293901469:3802698293901989 1976:1980 hsa_system_get_info(2, 0x7f51e016c9c8) = 0 +3802698293902379:3802698293902899 1976:1980 hsa_system_get_info(2, 0x7f51e016c9d0) = 0 +3802698293903289:3802698293903809 1976:1980 hsa_system_get_info(2, 0x7f51e016c9d8) = 0 +3802698293904199:3802698293904709 1976:1980 hsa_system_get_info(2, 0x7f51e016c9e0) = 0 +3802698293905099:3802698293905619 1976:1980 hsa_system_get_info(2, 0x7f51e016c9e8) = 0 +3802698293906009:3802698293906529 1976:1980 hsa_system_get_info(2, 0x7f51e016c9f0) = 0 +3802698293906919:3802698293907429 1976:1980 hsa_system_get_info(2, 0x7f51e016c9f8) = 0 +3802698293907819:3802698293908339 1976:1980 hsa_system_get_info(2, 0x7f51e016ca00) = 0 +3802698293908729:3802698293909249 1976:1980 hsa_system_get_info(2, 0x7f51e016ca08) = 0 +3802698293909639:3802698293910159 1976:1980 hsa_system_get_info(2, 0x7f51e016ca10) = 0 +3802698293910549:3802698293911059 1976:1980 hsa_system_get_info(2, 0x7f51e016ca18) = 0 +3802698293911449:3802698293911969 1976:1980 hsa_system_get_info(2, 0x7f51e016ca20) = 0 +3802698293912359:3802698293912879 1976:1980 hsa_system_get_info(2, 0x7f51e016ca28) = 0 +3802698293913269:3802698293913779 1976:1980 hsa_system_get_info(2, 0x7f51e016ca30) = 0 +3802698293914169:3802698293914689 1976:1980 hsa_system_get_info(2, 0x7f51e016ca38) = 0 +3802698293915079:3802698293915599 1976:1980 hsa_system_get_info(2, 0x7f51e016ca40) = 0 +3802698293915979:3802698293916499 1976:1980 hsa_system_get_info(2, 0x7f51e016ca48) = 0 +3802698293916889:3802698293917409 1976:1980 hsa_system_get_info(2, 0x7f51e016ca50) = 0 +3802698293917799:3802698293918319 1976:1980 hsa_system_get_info(2, 0x7f51e016ca58) = 0 +3802698293918699:3802698293919219 1976:1980 hsa_system_get_info(2, 0x7f51e016ca60) = 0 +3802698293919609:3802698293920129 1976:1980 hsa_system_get_info(2, 0x7f51e016ca68) = 0 +3802698293920519:3802698293921039 1976:1980 hsa_system_get_info(2, 0x7f51e016ca70) = 0 +3802698293921419:3802698293921939 1976:1980 hsa_system_get_info(2, 0x7f51e016ca78) = 0 +3802698293922329:3802698293922849 1976:1980 hsa_system_get_info(2, 0x7f51e016ca80) = 0 +3802698293923239:3802698293923749 1976:1980 hsa_system_get_info(2, 0x7f51e016ca88) = 0 +3802698293924139:3802698293924659 1976:1980 hsa_system_get_info(2, 0x7f51e016ca90) = 0 +3802698293925049:3802698293925569 1976:1980 hsa_system_get_info(2, 0x7f51e016ca98) = 0 +3802698293927129:3802698293927649 1976:1980 hsa_system_get_info(2, 0x7f51e016caa0) = 0 +3802698293928039:3802698293928559 1976:1980 hsa_system_get_info(2, 0x7f51e016caa8) = 0 +3802698293928949:3802698293929469 1976:1980 hsa_system_get_info(2, 0x7f51e016cab0) = 0 +3802698293929859:3802698293930369 1976:1980 hsa_system_get_info(2, 0x7f51e016cab8) = 0 +3802698293930759:3802698293931279 1976:1980 hsa_system_get_info(2, 0x7f51e016cac0) = 0 +3802698293931669:3802698293932179 1976:1980 hsa_system_get_info(2, 0x7f51e016cac8) = 0 +3802698293932569:3802698293933089 1976:1980 hsa_system_get_info(2, 0x7f51e016cad0) = 0 +3802698293933479:3802698293933989 1976:1980 hsa_system_get_info(2, 0x7f51e016cad8) = 0 +3802698293934379:3802698293934899 1976:1980 hsa_system_get_info(2, 0x7f51e016cae0) = 0 +3802698293935289:3802698293935809 1976:1980 hsa_system_get_info(2, 0x7f51e016cae8) = 0 +3802698293936199:3802698293936709 1976:1980 hsa_system_get_info(2, 0x7f51e016caf0) = 0 +3802698293937099:3802698293937619 1976:1980 hsa_system_get_info(2, 0x7f51e016caf8) = 0 +3802698293938009:3802698293938519 1976:1980 hsa_system_get_info(2, 0x7f51e016cb00) = 0 +3802698293938909:3802698293939429 1976:1980 hsa_system_get_info(2, 0x7f51e016cb08) = 0 +3802698293939819:3802698293940329 1976:1980 hsa_system_get_info(2, 0x7f51e016cb10) = 0 +3802698293940719:3802698293941239 1976:1980 hsa_system_get_info(2, 0x7f51e016cb18) = 0 +3802698293941629:3802698293942139 1976:1980 hsa_system_get_info(2, 0x7f51e016cb20) = 0 +3802698293942529:3802698293943049 1976:1980 hsa_system_get_info(2, 0x7f51e016cb28) = 0 +3802698293943439:3802698293943949 1976:1980 hsa_system_get_info(2, 0x7f51e016cb30) = 0 +3802698293944339:3802698293944859 1976:1980 hsa_system_get_info(2, 0x7f51e016cb38) = 0 +3802698293945249:3802698293945769 1976:1980 hsa_system_get_info(2, 0x7f51e016cb40) = 0 +3802698293946149:3802698293946669 1976:1980 hsa_system_get_info(2, 0x7f51e016cb48) = 0 +3802698293947059:3802698293947579 1976:1980 hsa_system_get_info(2, 0x7f51e016cb50) = 0 +3802698293947969:3802698293948479 1976:1980 hsa_system_get_info(2, 0x7f51e016cb58) = 0 +3802698293948869:3802698293949389 1976:1980 hsa_system_get_info(2, 0x7f51e016cb60) = 0 +3802698293949779:3802698293950289 1976:1980 hsa_system_get_info(2, 0x7f51e016cb68) = 0 +3802698293950679:3802698293951199 1976:1980 hsa_system_get_info(2, 0x7f51e016cb70) = 0 +3802698293951589:3802698293952099 1976:1980 hsa_system_get_info(2, 0x7f51e016cb78) = 0 +3802698293953189:3802698293953719 1976:1980 hsa_system_get_info(2, 0x7f51e016cb80) = 0 +3802698293954109:3802698293954619 1976:1980 hsa_system_get_info(2, 0x7f51e016cb88) = 0 +3802698293955009:3802698293955529 1976:1980 hsa_system_get_info(2, 0x7f51e016cb90) = 0 +3802698293955919:3802698293956439 1976:1980 hsa_system_get_info(2, 0x7f51e016cb98) = 0 +3802698293956829:3802698293957339 1976:1980 hsa_system_get_info(2, 0x7f51e016cba0) = 0 +3802698293957729:3802698293958249 1976:1980 hsa_system_get_info(2, 0x7f51e016cba8) = 0 +3802698293958639:3802698293959159 1976:1980 hsa_system_get_info(2, 0x7f51e016cbb0) = 0 +3802698293959549:3802698293960059 1976:1980 hsa_system_get_info(2, 0x7f51e016cbb8) = 0 +3802698293960449:3802698293960969 1976:1980 hsa_system_get_info(2, 0x7f51e016cbc0) = 0 +3802698293961359:3802698293961879 1976:1980 hsa_system_get_info(2, 0x7f51e016cbc8) = 0 +3802698293962259:3802698293962779 1976:1980 hsa_system_get_info(2, 0x7f51e016cbd0) = 0 +3802698293963169:3802698293963689 1976:1980 hsa_system_get_info(2, 0x7f51e016cbd8) = 0 +3802698293964079:3802698293964599 1976:1980 hsa_system_get_info(2, 0x7f51e016cbe0) = 0 +3802698293964979:3802698293965499 1976:1980 hsa_system_get_info(2, 0x7f51e016cbe8) = 0 +3802698293965889:3802698293966409 1976:1980 hsa_system_get_info(2, 0x7f51e016cbf0) = 0 +3802698293966799:3802698293967309 1976:1980 hsa_system_get_info(2, 0x7f51e016cbf8) = 0 +3802698293967699:3802698293968219 1976:1980 hsa_system_get_info(2, 0x7f51e016cc00) = 0 +3802698293968609:3802698293969129 1976:1980 hsa_system_get_info(2, 0x7f51e016cc08) = 0 +3802698293969519:3802698293970029 1976:1980 hsa_system_get_info(2, 0x7f51e016cc10) = 0 +3802698293970419:3802698293970939 1976:1980 hsa_system_get_info(2, 0x7f51e016cc18) = 0 +3802698293971329:3802698293971849 1976:1980 hsa_system_get_info(2, 0x7f51e016cc20) = 0 +3802698293972239:3802698293972749 1976:1980 hsa_system_get_info(2, 0x7f51e016cc28) = 0 +3802698293973139:3802698293973659 1976:1980 hsa_system_get_info(2, 0x7f51e016cc30) = 0 +3802698293974049:3802698293974569 1976:1980 hsa_system_get_info(2, 0x7f51e016cc38) = 0 +3802698293974959:3802698293975469 1976:1980 hsa_system_get_info(2, 0x7f51e016cc40) = 0 +3802698293975859:3802698293976379 1976:1980 hsa_system_get_info(2, 0x7f51e016cc48) = 0 +3802698293976769:3802698293977289 1976:1980 hsa_system_get_info(2, 0x7f51e016cc50) = 0 +3802698293977679:3802698293978189 1976:1980 hsa_system_get_info(2, 0x7f51e016cc58) = 0 +3802698293979759:3802698293980279 1976:1980 hsa_system_get_info(2, 0x7f51e016cc60) = 0 +3802698293980669:3802698293981189 1976:1980 hsa_system_get_info(2, 0x7f51e016cc68) = 0 +3802698293981579:3802698293982099 1976:1980 hsa_system_get_info(2, 0x7f51e016cc70) = 0 +3802698293982489:3802698293983009 1976:1980 hsa_system_get_info(2, 0x7f51e016cc78) = 0 +3802698293983399:3802698293983909 1976:1980 hsa_system_get_info(2, 0x7f51e016cc80) = 0 +3802698293984299:3802698293984819 1976:1980 hsa_system_get_info(2, 0x7f51e016cc88) = 0 +3802698293985209:3802698293985729 1976:1980 hsa_system_get_info(2, 0x7f51e016cc90) = 0 +3802698293986119:3802698293986629 1976:1980 hsa_system_get_info(2, 0x7f51e016cc98) = 0 +3802698293987019:3802698293987539 1976:1980 hsa_system_get_info(2, 0x7f51e016cca0) = 0 +3802698293987929:3802698293988449 1976:1980 hsa_system_get_info(2, 0x7f51e016cca8) = 0 +3802698293988839:3802698293989349 1976:1980 hsa_system_get_info(2, 0x7f51e016ccb0) = 0 +3802698293989739:3802698293990259 1976:1980 hsa_system_get_info(2, 0x7f51e016ccb8) = 0 +3802698293990649:3802698293991169 1976:1980 hsa_system_get_info(2, 0x7f51e016ccc0) = 0 +3802698293991559:3802698293992079 1976:1980 hsa_system_get_info(2, 0x7f51e016ccc8) = 0 +3802698293992459:3802698293992979 1976:1980 hsa_system_get_info(2, 0x7f51e016ccd0) = 0 +3802698293993369:3802698293993889 1976:1980 hsa_system_get_info(2, 0x7f51e016ccd8) = 0 +3802698293994279:3802698293994799 1976:1980 hsa_system_get_info(2, 0x7f51e016cce0) = 0 +3802698293995179:3802698293995699 1976:1980 hsa_system_get_info(2, 0x7f51e016cce8) = 0 +3802698293996089:3802698293996609 1976:1980 hsa_system_get_info(2, 0x7f51e016ccf0) = 0 +3802698293996999:3802698293997519 1976:1980 hsa_system_get_info(2, 0x7f51e016ccf8) = 0 +3802698293997909:3802698293998419 1976:1980 hsa_system_get_info(2, 0x7f51e016cd00) = 0 +3802698293998809:3802698293999329 1976:1980 hsa_system_get_info(2, 0x7f51e016cd08) = 0 +3802698293999719:3802698294000239 1976:1980 hsa_system_get_info(2, 0x7f51e016cd10) = 0 +3802698294000629:3802698294001139 1976:1980 hsa_system_get_info(2, 0x7f51e016cd18) = 0 +3802698294001529:3802698294002049 1976:1980 hsa_system_get_info(2, 0x7f51e016cd20) = 0 +3802698294002439:3802698294002959 1976:1980 hsa_system_get_info(2, 0x7f51e016cd28) = 0 +3802698294003349:3802698294003859 1976:1980 hsa_system_get_info(2, 0x7f51e016cd30) = 0 +3802698294004249:3802698294004769 1976:1980 hsa_system_get_info(2, 0x7f51e016cd38) = 0 +3802698294005159:3802698294005679 1976:1980 hsa_system_get_info(2, 0x7f51e016cd40) = 0 +3802698294006719:3802698294007249 1976:1980 hsa_system_get_info(2, 0x7f51e016cd48) = 0 +3802698294007639:3802698294008149 1976:1980 hsa_system_get_info(2, 0x7f51e016cd50) = 0 +3802698294008539:3802698294009059 1976:1980 hsa_system_get_info(2, 0x7f51e016cd58) = 0 +3802698294009449:3802698294009959 1976:1980 hsa_system_get_info(2, 0x7f51e016cd60) = 0 +3802698294010349:3802698294010870 1976:1980 hsa_system_get_info(2, 0x7f51e016cd68) = 0 +3802698294011260:3802698294011780 1976:1980 hsa_system_get_info(2, 0x7f51e016cd70) = 0 +3802698294012160:3802698294012680 1976:1980 hsa_system_get_info(2, 0x7f51e016cd78) = 0 +3802698294013070:3802698294013590 1976:1980 hsa_system_get_info(2, 0x7f51e016cd80) = 0 +3802698294013980:3802698294014490 1976:1980 hsa_system_get_info(2, 0x7f51e016cd88) = 0 +3802698294014880:3802698294015400 1976:1980 hsa_system_get_info(2, 0x7f51e016cd90) = 0 +3802698294015790:3802698294016300 1976:1980 hsa_system_get_info(2, 0x7f51e016cd98) = 0 +3802698294016690:3802698294017210 1976:1980 hsa_system_get_info(2, 0x7f51e016cda0) = 0 +3802698294017600:3802698294018110 1976:1980 hsa_system_get_info(2, 0x7f51e016cda8) = 0 +3802698294018500:3802698294019020 1976:1980 hsa_system_get_info(2, 0x7f51e016cdb0) = 0 +3802698294019410:3802698294019920 1976:1980 hsa_system_get_info(2, 0x7f51e016cdb8) = 0 +3802698294020310:3802698294020830 1976:1980 hsa_system_get_info(2, 0x7f51e016cdc0) = 0 +3802698294021220:3802698294021740 1976:1980 hsa_system_get_info(2, 0x7f51e016cdc8) = 0 +3802698294022130:3802698294022640 1976:1980 hsa_system_get_info(2, 0x7f51e016cdd0) = 0 +3802698294023030:3802698294023550 1976:1980 hsa_system_get_info(2, 0x7f51e016cdd8) = 0 +3802698294023940:3802698294024450 1976:1980 hsa_system_get_info(2, 0x7f51e016cde0) = 0 +3802698294024840:3802698294025360 1976:1980 hsa_system_get_info(2, 0x7f51e016cde8) = 0 +3802698294025750:3802698294026260 1976:1980 hsa_system_get_info(2, 0x7f51e016cdf0) = 0 +3802698294026650:3802698294027170 1976:1980 hsa_system_get_info(2, 0x7f51e016cdf8) = 0 +3802698294027560:3802698294028080 1976:1980 hsa_system_get_info(2, 0x7f51e016ce00) = 0 +3802698294028460:3802698294028980 1976:1980 hsa_system_get_info(2, 0x7f51e016ce08) = 0 +3802698294029370:3802698294029890 1976:1980 hsa_system_get_info(2, 0x7f51e016ce10) = 0 +3802698294030280:3802698294030790 1976:1980 hsa_system_get_info(2, 0x7f51e016ce18) = 0 +3802698294031180:3802698294031700 1976:1980 hsa_system_get_info(2, 0x7f51e016ce20) = 0 +3802698294033250:3802698294033780 1976:1980 hsa_system_get_info(2, 0x7f51e016ce28) = 0 +3802698294034170:3802698294034690 1976:1980 hsa_system_get_info(2, 0x7f51e016ce30) = 0 +3802698294035070:3802698294035590 1976:1980 hsa_system_get_info(2, 0x7f51e016ce38) = 0 +3802698294035980:3802698294036500 1976:1980 hsa_system_get_info(2, 0x7f51e016ce40) = 0 +3802698294036890:3802698294037410 1976:1980 hsa_system_get_info(2, 0x7f51e016ce48) = 0 +3802698294037790:3802698294038310 1976:1980 hsa_system_get_info(2, 0x7f51e016ce50) = 0 +3802698294038700:3802698294039220 1976:1980 hsa_system_get_info(2, 0x7f51e016ce58) = 0 +3802698294039610:3802698294040130 1976:1980 hsa_system_get_info(2, 0x7f51e016ce60) = 0 +3802698294040520:3802698294041030 1976:1980 hsa_system_get_info(2, 0x7f51e016ce68) = 0 +3802698294041420:3802698294041940 1976:1980 hsa_system_get_info(2, 0x7f51e016ce70) = 0 +3802698294042330:3802698294042850 1976:1980 hsa_system_get_info(2, 0x7f51e016ce78) = 0 +3802698294043240:3802698294043750 1976:1980 hsa_system_get_info(2, 0x7f51e016ce80) = 0 +3802698294044140:3802698294044660 1976:1980 hsa_system_get_info(2, 0x7f51e016ce88) = 0 +3802698294045050:3802698294045570 1976:1980 hsa_system_get_info(2, 0x7f51e016ce90) = 0 +3802698294045960:3802698294046470 1976:1980 hsa_system_get_info(2, 0x7f51e016ce98) = 0 +3802698294046860:3802698294047380 1976:1980 hsa_system_get_info(2, 0x7f51e016cea0) = 0 +3802698294047770:3802698294048290 1976:1980 hsa_system_get_info(2, 0x7f51e016cea8) = 0 +3802698294048680:3802698294049190 1976:1980 hsa_system_get_info(2, 0x7f51e016ceb0) = 0 +3802698294049580:3802698294050100 1976:1980 hsa_system_get_info(2, 0x7f51e016ceb8) = 0 +3802698294050490:3802698294051010 1976:1980 hsa_system_get_info(2, 0x7f51e016cec0) = 0 +3802698294051390:3802698294051910 1976:1980 hsa_system_get_info(2, 0x7f51e016cec8) = 0 +3802698294052300:3802698294052820 1976:1980 hsa_system_get_info(2, 0x7f51e016ced0) = 0 +3802698294053210:3802698294053730 1976:1980 hsa_system_get_info(2, 0x7f51e016ced8) = 0 +3802698294054110:3802698294054630 1976:1980 hsa_system_get_info(2, 0x7f51e016cee0) = 0 +3802698294055020:3802698294055540 1976:1980 hsa_system_get_info(2, 0x7f51e016cee8) = 0 +3802698294055930:3802698294056450 1976:1980 hsa_system_get_info(2, 0x7f51e016cef0) = 0 +3802698294056830:3802698294057350 1976:1980 hsa_system_get_info(2, 0x7f51e016cef8) = 0 +3802698294057740:3802698294058260 1976:1980 hsa_system_get_info(2, 0x7f51e016cf00) = 0 +3802698294058650:3802698294059160 1976:1980 hsa_system_get_info(2, 0x7f51e016cf08) = 0 +3802698294060270:3802698294060790 1976:1980 hsa_system_get_info(2, 0x7f51e016cf10) = 0 +3802698294061180:3802698294061700 1976:1980 hsa_system_get_info(2, 0x7f51e016cf18) = 0 +3802698294062090:3802698294062600 1976:1980 hsa_system_get_info(2, 0x7f51e016cf20) = 0 +3802698294062990:3802698294063510 1976:1980 hsa_system_get_info(2, 0x7f51e016cf28) = 0 +3802698294063900:3802698294064410 1976:1980 hsa_system_get_info(2, 0x7f51e016cf30) = 0 +3802698294064800:3802698294065320 1976:1980 hsa_system_get_info(2, 0x7f51e016cf38) = 0 +3802698294065710:3802698294066230 1976:1980 hsa_system_get_info(2, 0x7f51e016cf40) = 0 +3802698294066620:3802698294067130 1976:1980 hsa_system_get_info(2, 0x7f51e016cf48) = 0 +3802698294067520:3802698294068040 1976:1980 hsa_system_get_info(2, 0x7f51e016cf50) = 0 +3802698294068430:3802698294068940 1976:1980 hsa_system_get_info(2, 0x7f51e016cf58) = 0 +3802698294069330:3802698294069850 1976:1980 hsa_system_get_info(2, 0x7f51e016cf60) = 0 +3802698294070240:3802698294070750 1976:1980 hsa_system_get_info(2, 0x7f51e016cf68) = 0 +3802698294072020:3802698294072540 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802698294073040:3802698294074770 1976:1980 hsa_signal_create(1, , 0, 0x7f5376325050) = 0 +3802698294075580:3802698294079900 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376325010) = 0 +3802698294080480:3802698294527173 1976:1980 hsa_amd_memory_async_copy(0x7f51e6400000, , 0x7f51e4c00010, , , , 0, ) = 0 +3802698295902734:3802698295910314 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802698295913794:3802698295914944 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802698295916164:3802698295917324 1976:1977 hsa_signal_load_relaxed() = 1 +3802698295918314:3802698295923574 1976:1977 hsa_signal_store_screlease(, 0) = void +3802698295924694:3802698295925644 1976:1977 hsa_signal_destroy() = 0 +3802698294530043:3802698295931544 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698295941734:3802698295942924 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698295976804:3802698295977844 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802698295984844:3802698295985884 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802698295988894:3802698295989934 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802698295992954:3802698295993994 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802698295997284:3802698295998324 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802698295944054:3802698296027275 1976:1980 hsa_amd_memory_unlock(0x7f52745ff000) = 0 +3802698296180236:3802698296183396 1976:1976 hsa_executable_create_alt(1, 0, +3802698296201546:3802698296226296 1976:1976 hsa_code_object_reader_create_from_memory(0x4019c5, , 0x1827490) = 0 +3802698296227586:3802698296454218 1976:1976 hsa_executable_load_agent_code_object(, , , +3802698296455558:3802698296500328 1976:1976 hsa_executable_freeze(, +3802698296572049:3802698296572919 1976:1976 hsa_executable_get_symbol_by_name(, _Z15matrixTransposePfS_i.kd, 0x7fff4ce032a8, 0x7fff4ce032a0) = 0 +3802698296573729:3802698296574149 1976:1976 hsa_executable_symbol_get_info(, 22, 0x1837b48) = 0 +3802698296574679:3802698296575149 1976:1976 hsa_agent_get_info(, 6, 0x7fff4ce032b8) = 0 +3802698296600689:3802698296601309 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802698296600269:3802698296601509 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 0 +3802698296604259:3802698296605229 1976:1980 hsa_queue_load_read_index_relaxed(0x7f5384da6000) = 0 +3802698296605619:3802698296606219 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698296607809:3802698296608539 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 0 +3802698296610959:3802698296611829 1976:1980 hsa_signal_store_screlease(, 0) = void +3802698296616259:3802698297742897 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52741fe000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802698297745517:3802698297746487 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698297747577:3802698297748417 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 1 +3802698297749357:3802698297749937 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 0 +3802698297750767:3802698297751537 1976:1980 hsa_signal_store_screlease(, 1) = void +3802698297752607:3802698297878348 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698297879828:3802698297880378 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698297882248:3802698297887308 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802698297888308:3802698297890368 1976:1980 hsa_signal_create(1, , 0, 0x7f53763250b0) = 0 +3802698297891478:3802698297896538 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376325070) = 0 +3802698297897628:3802698298416822 1976:1980 hsa_amd_memory_async_copy(0x7f51e4200010, , 0x7f51e5e00000, , , , 0, ) = 0 +3802698299868753:3802698299873503 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802698299875633:3802698299876953 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802698299878193:3802698299879013 1976:1977 hsa_signal_load_relaxed() = 1 +3802698299879963:3802698299883673 1976:1977 hsa_signal_store_screlease(, 0) = void +3802698299888553:3802698299889283 1976:1977 hsa_signal_destroy() = 0 +3802698298418412:3802698299893383 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698299902203:3802698299903523 1976:1980 hsa_amd_profiling_get_dispatch_time(, , 0x7f5384c97b30) = 0 +3802698299910483:3802698299911103 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698299907443:3802698299997114 1976:1980 hsa_amd_memory_unlock(0x7f52741fe000) = 0 +3802698307980713:3802698307981963 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698308048644:3802698308438677 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52745ff000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802698308442357:3802698308443887 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698308446367:3802698308447167 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802698308447837:3802698308450447 1976:1980 hsa_signal_create(1, , 0, 0x7f5376325110) = 0 +3802698308451387:3802698308457897 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f53763250d0) = 0 +3802698308458817:3802698308464177 1976:1980 hsa_amd_memory_async_copy(0x7f51e6400000, , 0x7f51e4200010, , , , 0, ) = 0 +3802698309804097:3802698309808957 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802698309810997:3802698309812297 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802698309813347:3802698309814177 1976:1977 hsa_signal_load_relaxed() = 1 +3802698309815017:3802698309818787 1976:1977 hsa_signal_store_screlease(, 0) = void +3802698309819667:3802698309820377 1976:1977 hsa_signal_destroy() = 0 +3802698308465137:3802698309828897 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698309835057:3802698309835667 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698309842747:3802698309843337 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802698309845827:3802698309846417 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802698309847997:3802698309848587 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802698309850197:3802698309850787 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802698309852147:3802698309852747 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802698309864957:3802698309865557 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802698309868587:3802698309869177 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698309836137:3802698309895377 1976:1980 hsa_amd_memory_unlock(0x7f52745ff000) = 0 +3802698309902837:3802698309904047 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 2 +3802698309909307:3802698309909927 1976:1980 hsa_queue_load_read_index_relaxed(0x7f5384da6000) = 2 +3802698309911027:3802698309911637 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 2 +3802698309912557:3802698309914097 1976:1980 hsa_signal_store_screlease(, 2) = void +3802698309918097:3802698310184659 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52741fe000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802698310186409:3802698310187179 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698310187919:3802698310188449 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 3 +3802698310189159:3802698310189689 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 2 +3802698310190469:3802698310191159 1976:1980 hsa_signal_store_screlease(, 3) = void +3802698310191949:3802698311495769 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698311498399:3802698311499239 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698311500869:3802698311502079 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802698311503089:3802698311505069 1976:1980 hsa_signal_create(1, , 0, 0x7f5376325170) = 0 +3802698311505929:3802698311510619 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376325130) = 0 +3802698311511509:3802698311514159 1976:1980 hsa_amd_memory_async_copy(0x7f51e4200010, , 0x7f51e5e00000, , , , 0, ) = 0 +3802698312774028:3802698312778948 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802698312781168:3802698312782318 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802698312783358:3802698312784188 1976:1977 hsa_signal_load_relaxed() = 1 +3802698312785028:3802698312789038 1976:1977 hsa_signal_store_screlease(, 0) = void +3802698312789908:3802698312790608 1976:1977 hsa_signal_destroy() = 0 +3802698311515109:3802698312817199 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698312822179:3802698312823679 1976:1980 hsa_amd_profiling_get_dispatch_time(, , 0x7f5384c97b30) = 0 +3802698312827609:3802698312828249 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698312827559:3802698312887259 1976:1980 hsa_amd_memory_unlock(0x7f52741fe000) = 0 +3802698320274304:3802698320275374 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698320311854:3802698320716287 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52745ff000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802698320720017:3802698320721647 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698320724087:3802698320725137 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802698320726057:3802698320728707 1976:1980 hsa_signal_create(1, , 0, 0x7f53763251d0) = 0 +3802698320729907:3802698320736927 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376325190) = 0 +3802698320744358:3802698320749098 1976:1980 hsa_amd_memory_async_copy(0x7f51e6400000, , 0x7f51e4200010, , , , 0, ) = 0 +3802698322093788:3802698322098658 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802698322100818:3802698322102048 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802698322103048:3802698322103888 1976:1977 hsa_signal_load_relaxed() = 1 +3802698322104738:3802698322108648 1976:1977 hsa_signal_store_screlease(, 0) = void +3802698322109528:3802698322110238 1976:1977 hsa_signal_destroy() = 0 +3802698320750298:3802698322135068 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698322142708:3802698322143318 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698322152288:3802698322152888 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802698322154908:3802698322155498 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802698322156998:3802698322157588 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802698322159488:3802698322160068 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802698322161418:3802698322162008 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802698322168678:3802698322169268 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802698322171978:3802698322172578 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698322143768:3802698322211148 1976:1980 hsa_amd_memory_unlock(0x7f52745ff000) = 0 +3802698322218699:3802698322219889 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 4 +3802698322220829:3802698322221709 1976:1980 hsa_queue_load_read_index_relaxed(0x7f5384da6000) = 4 +3802698322222759:3802698322223449 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 4 +3802698322224489:3802698322225859 1976:1980 hsa_signal_store_screlease(, 4) = void +3802698322230379:3802698322516031 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52741fe000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802698322518041:3802698322518861 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698322519721:3802698322520281 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 5 +3802698322521091:3802698322521671 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 4 +3802698322522561:3802698322523351 1976:1980 hsa_signal_store_screlease(, 5) = void +3802698322524261:3802698323655179 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698323657909:3802698323658819 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698323660449:3802698323661649 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802698323669829:3802698323672059 1976:1980 hsa_signal_create(1, , 0, 0x7f5376325230) = 0 +3802698323672989:3802698323677339 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f53763251f0) = 0 +3802698323678239:3802698323680709 1976:1980 hsa_amd_memory_async_copy(0x7f51e4200010, , 0x7f51e5e00000, , , , 0, ) = 0 +3802698324942839:3802698324947779 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802698324949729:3802698324950879 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802698324951929:3802698324952759 1976:1977 hsa_signal_load_relaxed() = 1 +3802698324953599:3802698324957409 1976:1977 hsa_signal_store_screlease(, 0) = void +3802698324958289:3802698324958999 1976:1977 hsa_signal_destroy() = 0 +3802698323681619:3802698324983469 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698324988369:3802698324989779 1976:1980 hsa_amd_profiling_get_dispatch_time(, , 0x7f5384c97b30) = 0 +3802698324995149:3802698324995969 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698324993739:3802698325051730 1976:1980 hsa_amd_memory_unlock(0x7f52741fe000) = 0 +3802698332377744:3802698332379064 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698332414104:3802698332815777 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52745ff000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802698332819847:3802698332821517 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698332823917:3802698332824977 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802698332825887:3802698332828127 1976:1980 hsa_signal_create(1, , 0, 0x7f5376325290) = 0 +3802698332829317:3802698332836077 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376325250) = 0 +3802698332837248:3802698332841998 1976:1980 hsa_amd_memory_async_copy(0x7f51e6400000, , 0x7f51e4200010, , , , 0, ) = 0 +3802698334483680:3802698334488540 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802698334490560:3802698334491880 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802698334493030:3802698334493860 1976:1977 hsa_signal_load_relaxed() = 1 +3802698334494700:3802698334498150 1976:1977 hsa_signal_store_screlease(, 0) = void +3802698334499020:3802698334499730 1976:1977 hsa_signal_destroy() = 0 +3802698332843178:3802698334525410 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698334532500:3802698334533100 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698334539520:3802698334540110 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802698334542200:3802698334542790 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802698334550760:3802698334551350 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802698334553010:3802698334553660 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802698334554850:3802698334555450 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802698334563470:3802698334564060 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802698334566750:3802698334567340 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698334533580:3802698334598491 1976:1980 hsa_amd_memory_unlock(0x7f52745ff000) = 0 +3802698334606291:3802698334607401 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 6 +3802698334608491:3802698334609291 1976:1980 hsa_queue_load_read_index_relaxed(0x7f5384da6000) = 6 +3802698334610371:3802698334611071 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 6 +3802698334612111:3802698334613341 1976:1980 hsa_signal_store_screlease(, 6) = void +3802698334617571:3802698334898653 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52741fe000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802698334900683:3802698334901513 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698334902383:3802698334902993 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 7 +3802698334903803:3802698334904383 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 6 +3802698334905273:3802698334906053 1976:1980 hsa_signal_store_screlease(, 7) = void +3802698334906963:3802698335923030 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698335925740:3802698335926650 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698335928180:3802698335929381 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802698335930411:3802698335932621 1976:1980 hsa_signal_create(1, , 0, 0x7f53763252f0) = 0 +3802698335933601:3802698335938131 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f53763252b0) = 0 +3802698335939151:3802698335941551 1976:1980 hsa_amd_memory_async_copy(0x7f51e4200010, , 0x7f51e5e00000, , , , 0, ) = 0 +3802698337527662:3802698337532222 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802698337534392:3802698337535662 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802698337536712:3802698337537532 1976:1977 hsa_signal_load_relaxed() = 1 +3802698337538372:3802698337542192 1976:1977 hsa_signal_store_screlease(, 0) = void +3802698337543072:3802698337543792 1976:1977 hsa_signal_destroy() = 0 +3802698335942461:3802698337569522 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698337574502:3802698337576292 1976:1980 hsa_amd_profiling_get_dispatch_time(, , 0x7f5384c97b30) = 0 +3802698337580632:3802698337581252 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698337580452:3802698337638683 1976:1980 hsa_amd_memory_unlock(0x7f52741fe000) = 0 +3802698344958997:3802698344960427 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698345014187:3802698345418630 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52745ff000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802698345422770:3802698345424600 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698345427140:3802698345428200 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802698345429110:3802698345431590 1976:1980 hsa_signal_create(1, , 0, 0x7f5376325350) = 0 +3802698345432790:3802698345439950 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376325310) = 0 +3802698345441110:3802698345446300 1976:1980 hsa_amd_memory_async_copy(0x7f51e6400000, , 0x7f51e4200010, , , , 0, ) = 0 +3802698346796621:3802698346801491 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802698346803721:3802698346805031 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802698346806301:3802698346807131 1976:1977 hsa_signal_load_relaxed() = 1 +3802698346808081:3802698346812001 1976:1977 hsa_signal_store_screlease(, 0) = void +3802698346812881:3802698346813611 1976:1977 hsa_signal_destroy() = 0 +3802698345447450:3802698346837951 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698346845461:3802698346846061 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698346853031:3802698346853621 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802698346860831:3802698346861431 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802698346863241:3802698346863831 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802698346865781:3802698346866371 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802698346867761:3802698346868361 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802698346874921:3802698346875511 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802698346878161:3802698346878751 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698346846321:3802698346912251 1976:1980 hsa_amd_memory_unlock(0x7f52745ff000) = 0 +3802698346920301:3802698346921461 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 8 +3802698346922541:3802698346923251 1976:1980 hsa_queue_load_read_index_relaxed(0x7f5384da6000) = 8 +3802698346924341:3802698346925041 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 8 +3802698346926021:3802698346927462 1976:1980 hsa_signal_store_screlease(, 8) = void +3802698346931732:3802698347219584 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52741fe000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802698347225394:3802698347226234 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698347227094:3802698347227714 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 9 +3802698347228534:3802698347229124 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 8 +3802698347229944:3802698347230744 1976:1980 hsa_signal_store_screlease(, 9) = void +3802698347231644:3802698348478353 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698348479663:3802698348480213 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698348481513:3802698348482563 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802698348483473:3802698348485223 1976:1980 hsa_signal_create(1, , 0, 0x7f53763253b0) = 0 +3802698348486103:3802698348490343 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376325370) = 0 +3802698348491273:3802698348493413 1976:1980 hsa_amd_memory_async_copy(0x7f51e4200010, , 0x7f51e5e00000, , , , 0, ) = 0 +3802698349755453:3802698349760333 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802698349762573:3802698349763723 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802698349764773:3802698349765613 1976:1977 hsa_signal_load_relaxed() = 1 +3802698349766463:3802698349770263 1976:1977 hsa_signal_store_screlease(, 0) = void +3802698349771153:3802698349771853 1976:1977 hsa_signal_destroy() = 0 +3802698348494253:3802698349804363 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698349809193:3802698349810623 1976:1980 hsa_amd_profiling_get_dispatch_time(, , 0x7f5384c97b30) = 0 +3802698349815893:3802698349816553 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698349814183:3802698349873883 1976:1980 hsa_amd_memory_unlock(0x7f52741fe000) = 0 +3802698357054757:3802698357056117 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698357109097:3802698357511620 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52745ff000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802698357515370:3802698357517030 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698357519400:3802698357520460 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802698357521340:3802698357523710 1976:1980 hsa_signal_create(1, , 0, 0x7f5376325410) = 0 +3802698357524910:3802698357531620 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f53763253d0) = 0 +3802698357532760:3802698357537620 1976:1980 hsa_amd_memory_async_copy(0x7f51e6400000, , 0x7f51e4200010, , , , 0, ) = 0 +3802698358886790:3802698358891481 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802698358893481:3802698358894801 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802698358895941:3802698358896771 1976:1977 hsa_signal_load_relaxed() = 1 +3802698358901381:3802698358905161 1976:1977 hsa_signal_store_screlease(, 0) = void +3802698358906051:3802698358906781 1976:1977 hsa_signal_destroy() = 0 +3802698357538770:3802698358941561 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698358948321:3802698358948921 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698358954911:3802698358955501 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802698358957431:3802698358958021 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802698358959241:3802698358959831 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802698358961521:3802698358962111 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802698358963311:3802698358963901 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802698358975481:3802698358976071 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802698358978581:3802698358979171 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698358949341:3802698359015401 1976:1980 hsa_amd_memory_unlock(0x7f52745ff000) = 0 +3802698359023031:3802698359024141 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 10 +3802698359025161:3802698359025982 1976:1980 hsa_queue_load_read_index_relaxed(0x7f5384da6000) = 10 +3802698359027062:3802698359027772 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 10 +3802698359028742:3802698359029972 1976:1980 hsa_signal_store_screlease(, 10) = void +3802698359034102:3802698359319264 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52741fe000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802698359321244:3802698359322084 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698359322924:3802698359323534 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 11 +3802698359324364:3802698359324934 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 10 +3802698359325754:3802698359326544 1976:1980 hsa_signal_store_screlease(, 11) = void +3802698359327444:3802698360509313 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698360510593:3802698360511153 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698360512553:3802698360513603 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802698360514513:3802698360516053 1976:1980 hsa_signal_create(1, , 0, 0x7f5376325470) = 0 +3802698360516943:3802698360521283 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376325430) = 0 +3802698360522193:3802698360524433 1976:1980 hsa_amd_memory_async_copy(0x7f51e4200010, , 0x7f51e5e00000, , , , 0, ) = 0 +3802698361786682:3802698361791252 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802698361797002:3802698361798162 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802698361799222:3802698361800052 1976:1977 hsa_signal_load_relaxed() = 1 +3802698361800892:3802698361804622 1976:1977 hsa_signal_store_screlease(, 0) = void +3802698361805512:3802698361806212 1976:1977 hsa_signal_destroy() = 0 +3802698360525263:3802698361830582 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698361835672:3802698361837092 1976:1980 hsa_amd_profiling_get_dispatch_time(, , 0x7f5384c97b30) = 0 +3802698361840612:3802698361841282 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698361841082:3802698361899223 1976:1980 hsa_amd_memory_unlock(0x7f52741fe000) = 0 +3802698369093276:3802698369094546 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698369150026:3802698369555869 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52745ff000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802698369559809:3802698369561399 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698369563729:3802698369564789 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802698369565709:3802698369568099 1976:1980 hsa_signal_create(1, , 0, 0x7f53763254d0) = 0 +3802698369569359:3802698369576019 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376325490) = 0 +3802698369577169:3802698369582049 1976:1980 hsa_amd_memory_async_copy(0x7f51e6400000, , 0x7f51e4200010, , , , 0, ) = 0 +3802698370931669:3802698370936529 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802698370938699:3802698370939919 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802698370941139:3802698370941969 1976:1977 hsa_signal_load_relaxed() = 1 +3802698370942989:3802698370946879 1976:1977 hsa_signal_store_screlease(, 0) = void +3802698370947779:3802698370948499 1976:1977 hsa_signal_destroy() = 0 +3802698369583209:3802698370972990 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698370979950:3802698370980550 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698370986960:3802698370987560 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802698370995220:3802698370995820 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802698370997700:3802698370998290 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802698371000260:3802698371000850 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802698371002020:3802698371002610 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802698371008640:3802698371009230 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802698371011720:3802698371012310 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698370981110:3802698371046550 1976:1980 hsa_amd_memory_unlock(0x7f52745ff000) = 0 +3802698371053840:3802698371055040 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 12 +3802698371056040:3802698371056860 1976:1980 hsa_queue_load_read_index_relaxed(0x7f5384da6000) = 12 +3802698371057920:3802698371058630 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 12 +3802698371059610:3802698371060840 1976:1980 hsa_signal_store_screlease(, 12) = void +3802698371065360:3802698371345402 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52741fe000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802698371347432:3802698371348292 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698371349152:3802698371349772 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 13 +3802698371350592:3802698371351182 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 12 +3802698371351992:3802698371352772 1976:1980 hsa_signal_store_screlease(, 13) = void +3802698371353682:3802698372509881 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698372511171:3802698372511721 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698372513131:3802698372514191 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802698372515081:3802698372516581 1976:1980 hsa_signal_create(1, , 0, 0x7f5376325530) = 0 +3802698372517441:3802698372521641 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f53763254f0) = 0 +3802698372522561:3802698372524681 1976:1980 hsa_amd_memory_async_copy(0x7f51e4200010, , 0x7f51e5e00000, , , , 0, ) = 0 +3802698373786740:3802698373791291 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802698373793541:3802698373794701 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802698373795751:3802698373796591 1976:1977 hsa_signal_load_relaxed() = 1 +3802698373797541:3802698373801191 1976:1977 hsa_signal_store_screlease(, 0) = void +3802698373802081:3802698373802801 1976:1977 hsa_signal_destroy() = 0 +3802698372525521:3802698373826951 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698373831851:3802698373833381 1976:1980 hsa_amd_profiling_get_dispatch_time(, , 0x7f5384c97b30) = 0 +3802698373837231:3802698373837911 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698373837661:3802698373897851 1976:1980 hsa_amd_memory_unlock(0x7f52741fe000) = 0 +3802698381101645:3802698381102985 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698381157725:3802698381561048 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52745ff000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802698381565028:3802698381566618 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698381575418:3802698381576488 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802698381577388:3802698381579798 1976:1980 hsa_signal_create(1, , 0, 0x7f5376325590) = 0 +3802698381580968:3802698381588259 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376325550) = 0 +3802698381589369:3802698381594119 1976:1980 hsa_amd_memory_async_copy(0x7f51e6400000, , 0x7f51e4200010, , , , 0, ) = 0 +3802698382944309:3802698382948959 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802698382950959:3802698382952269 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802698382953319:3802698382954149 1976:1977 hsa_signal_load_relaxed() = 1 +3802698382954989:3802698382958819 1976:1977 hsa_signal_store_screlease(, 0) = void +3802698382959719:3802698382960429 1976:1977 hsa_signal_destroy() = 0 +3802698381595279:3802698382984809 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698382995359:3802698382995999 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698383002399:3802698383002999 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802698383004969:3802698383005559 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802698383006849:3802698383007439 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802698383009129:3802698383009719 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802698383010859:3802698383011449 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802698383019099:3802698383019699 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802698383022699:3802698383023299 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698382993629:3802698383060629 1976:1980 hsa_amd_memory_unlock(0x7f52745ff000) = 0 +3802698383068490:3802698383069690 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 14 +3802698383070880:3802698383071680 1976:1980 hsa_queue_load_read_index_relaxed(0x7f5384da6000) = 14 +3802698383072760:3802698383073460 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 14 +3802698383074440:3802698383075550 1976:1980 hsa_signal_store_screlease(, 14) = void +3802698383079740:3802698383362232 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52741fe000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802698383364272:3802698383365162 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698383366012:3802698383366642 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 15 +3802698383367472:3802698383368052 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 14 +3802698383368862:3802698383369652 1976:1980 hsa_signal_store_screlease(, 15) = void +3802698383370552:3802698384505840 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698384510740:3802698384511310 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698384512710:3802698384513760 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802698384514670:3802698384516210 1976:1980 hsa_signal_create(1, , 0, 0x7f53763255f0) = 0 +3802698384517080:3802698384521260 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f53763255b0) = 0 +3802698384522160:3802698384524450 1976:1980 hsa_amd_memory_async_copy(0x7f51e4200010, , 0x7f51e5e00000, , , , 0, ) = 0 +3802698385786420:3802698385791290 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802698385793280:3802698385794590 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802698385795630:3802698385796460 1976:1977 hsa_signal_load_relaxed() = 1 +3802698385797300:3802698385801090 1976:1977 hsa_signal_store_screlease(, 0) = void +3802698385801970:3802698385802680 1976:1977 hsa_signal_destroy() = 0 +3802698384525270:3802698385827220 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698385832160:3802698385833710 1976:1980 hsa_amd_profiling_get_dispatch_time(, , 0x7f5384c97b30) = 0 +3802698385837650:3802698385838270 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698385837460:3802698385896051 1976:1980 hsa_amd_memory_unlock(0x7f52741fe000) = 0 +3802698393235845:3802698393237145 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698393295865:3802698393704018 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52745ff000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802698393708248:3802698393709948 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698393712168:3802698393713238 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802698393714128:3802698393716438 1976:1980 hsa_signal_create(1, , 0, 0x7f5376325650) = 0 +3802698393717808:3802698393724108 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376325610) = 0 +3802698393725278:3802698393730578 1976:1980 hsa_amd_memory_async_copy(0x7f51e6400000, , 0x7f51e4200010, , , , 0, ) = 0 +3802698395081698:3802698395086598 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802698395088748:3802698395089898 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802698395090958:3802698395091788 1976:1977 hsa_signal_load_relaxed() = 1 +3802698395092628:3802698395096528 1976:1977 hsa_signal_store_screlease(, 0) = void +3802698395097428:3802698395098138 1976:1977 hsa_signal_destroy() = 0 +3802698393731829:3802698395121489 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698395128599:3802698395129199 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698395139649:3802698395140259 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802698395143459:3802698395144059 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802698395145519:3802698395146119 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802698395147799:3802698395148389 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802698395149679:3802698395150299 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802698395157489:3802698395158089 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802698395160609:3802698395161209 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698395130059:3802698395196629 1976:1980 hsa_amd_memory_unlock(0x7f52745ff000) = 0 +3802698395204549:3802698395205599 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 16 +3802698395206539:3802698395207349 1976:1980 hsa_queue_load_read_index_relaxed(0x7f5384da6000) = 16 +3802698395208419:3802698395209119 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 16 +3802698395210159:3802698395211419 1976:1980 hsa_signal_store_screlease(, 16) = void +3802698395215669:3802698395496031 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52741fe000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802698395498081:3802698395498981 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698395499841:3802698395500461 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 17 +3802698395501291:3802698395501871 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 16 +3802698395502761:3802698395503541 1976:1980 hsa_signal_store_screlease(, 17) = void +3802698395504451:3802698396604729 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698396606019:3802698396606579 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698396607829:3802698396608889 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802698396609879:3802698396611399 1976:1980 hsa_signal_create(1, , 0, 0x7f53763256b0) = 0 +3802698396612379:3802698396616510 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376325670) = 0 +3802698396617430:3802698396619490 1976:1980 hsa_amd_memory_async_copy(0x7f51e4200010, , 0x7f51e5e00000, , , , 0, ) = 0 +3802698397881849:3802698397886709 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802698397888979:3802698397890119 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802698397891169:3802698397891999 1976:1977 hsa_signal_load_relaxed() = 1 +3802698397892849:3802698397896599 1976:1977 hsa_signal_store_screlease(, 0) = void +3802698397897489:3802698397898189 1976:1977 hsa_signal_destroy() = 0 +3802698396620310:3802698397922559 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698397927649:3802698397929469 1976:1980 hsa_amd_profiling_get_dispatch_time(, , 0x7f5384c97b30) = 0 +3802698397933429:3802698397934049 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698397933139:3802698397990970 1976:1980 hsa_amd_memory_unlock(0x7f52741fe000) = 0 +3802698405162783:3802698405163893 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698405221244:3802698405622096 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52745ff000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802698405626287:3802698405627857 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698405630377:3802698405631437 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802698405632357:3802698405634637 1976:1980 hsa_signal_create(1, , 0, 0x7f5376325710) = 0 +3802698405635897:3802698405642947 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f53763256d0) = 0 +3802698405644107:3802698405649097 1976:1980 hsa_amd_memory_async_copy(0x7f51e6400000, , 0x7f51e4200010, , , , 0, ) = 0 +3802698406999407:3802698407004277 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802698407006317:3802698407007587 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802698407008637:3802698407009467 1976:1977 hsa_signal_load_relaxed() = 1 +3802698407010417:3802698407014337 1976:1977 hsa_signal_store_screlease(, 0) = void +3802698407015217:3802698407015917 1976:1977 hsa_signal_destroy() = 0 +3802698405650477:3802698407050647 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698407062897:3802698407063507 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698407070267:3802698407070867 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802698407073037:3802698407073627 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802698407075247:3802698407075837 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802698407077587:3802698407078187 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802698407079507:3802698407080107 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802698407086497:3802698407087087 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802698407090807:3802698407091407 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698407058617:3802698407123548 1976:1980 hsa_amd_memory_unlock(0x7f52745ff000) = 0 +3802698407131318:3802698407132478 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 18 +3802698407133468:3802698407134368 1976:1980 hsa_queue_load_read_index_relaxed(0x7f5384da6000) = 18 +3802698407135468:3802698407136168 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 18 +3802698407142038:3802698407143298 1976:1980 hsa_signal_store_screlease(, 18) = void +3802698407147568:3802698407436660 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52741fe000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802698407438660:3802698407439510 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698407440350:3802698407440920 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 19 +3802698407441740:3802698407442320 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 18 +3802698407443120:3802698407443920 1976:1980 hsa_signal_store_screlease(, 19) = void +3802698407444840:3802698408600189 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698408601509:3802698408602059 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698408603329:3802698408604379 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802698408605279:3802698408606799 1976:1980 hsa_signal_create(1, , 0, 0x7f5376325770) = 0 +3802698408607679:3802698408611809 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376325730) = 0 +3802698408612719:3802698408615259 1976:1980 hsa_amd_memory_async_copy(0x7f51e4200010, , 0x7f51e5e00000, , , , 0, ) = 0 +3802698409877468:3802698409882028 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802698409884058:3802698409885208 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802698409886368:3802698409887198 1976:1977 hsa_signal_load_relaxed() = 1 +3802698409888298:3802698409892218 1976:1977 hsa_signal_store_screlease(, 0) = void +3802698409893158:3802698409893878 1976:1977 hsa_signal_destroy() = 0 +3802698408616129:3802698409918148 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698409923238:3802698409924658 1976:1980 hsa_amd_profiling_get_dispatch_time(, , 0x7f5384c97b30) = 0 +3802698409928439:3802698409929099 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698409928929:3802698409987949 1976:1980 hsa_amd_memory_unlock(0x7f52741fe000) = 0 +3802698417163272:3802698417164532 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698417220893:3802698417618926 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52745ff000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802698417622836:3802698417624446 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698417626826:3802698417627886 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802698417628776:3802698417631046 1976:1980 hsa_signal_create(1, , 0, 0x7f53763257d0) = 0 +3802698417632116:3802698417639276 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376325790) = 0 +3802698417640546:3802698417645216 1976:1980 hsa_amd_memory_async_copy(0x7f51e6400000, , 0x7f51e4200010, , , , 0, ) = 0 +3802698418995956:3802698419000856 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802698419002916:3802698419004066 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802698419005106:3802698419005936 1976:1977 hsa_signal_load_relaxed() = 1 +3802698419006786:3802698419010526 1976:1977 hsa_signal_store_screlease(, 0) = void +3802698419011406:3802698419012126 1976:1977 hsa_signal_destroy() = 0 +3802698417652486:3802698419036686 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698419043586:3802698419044186 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698419050336:3802698419050936 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802698419055956:3802698419056556 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802698419058186:3802698419058786 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802698419060816:3802698419061406 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802698419062766:3802698419063356 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802698419069817:3802698419070407 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802698419072937:3802698419073537 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698419045286:3802698419112827 1976:1980 hsa_amd_memory_unlock(0x7f52745ff000) = 0 +3802698419120697:3802698419121887 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 20 +3802698419122917:3802698419123787 1976:1980 hsa_queue_load_read_index_relaxed(0x7f5384da6000) = 20 +3802698419124947:3802698419125647 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 20 +3802698419126687:3802698419127947 1976:1980 hsa_signal_store_screlease(, 20) = void +3802698419132087:3802698419411659 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52741fe000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802698419413669:3802698419414499 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698419415359:3802698419415929 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 21 +3802698419416749:3802698419417329 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 20 +3802698419418119:3802698419418899 1976:1980 hsa_signal_store_screlease(, 21) = void +3802698419419789:3802698420597158 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698420598408:3802698420598978 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698420600228:3802698420601278 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802698420602178:3802698420603748 1976:1980 hsa_signal_create(1, , 0, 0x7f5376325830) = 0 +3802698420604608:3802698420608818 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f53763257f0) = 0 +3802698420613138:3802698420615488 1976:1980 hsa_amd_memory_async_copy(0x7f51e4200010, , 0x7f51e5e00000, , , , 0, ) = 0 +3802698421877777:3802698421882667 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802698421884687:3802698421885967 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802698421887017:3802698421887847 1976:1977 hsa_signal_load_relaxed() = 1 +3802698421888687:3802698421892417 1976:1977 hsa_signal_store_screlease(, 0) = void +3802698421893307:3802698421894017 1976:1977 hsa_signal_destroy() = 0 +3802698420616328:3802698421918217 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698421923027:3802698421924487 1976:1980 hsa_amd_profiling_get_dispatch_time(, , 0x7f5384c97b30) = 0 +3802698421928867:3802698421929487 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698421928747:3802698421990018 1976:1980 hsa_amd_memory_unlock(0x7f52741fe000) = 0 +3802698429164151:3802698429165521 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698429222651:3802698429627794 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52745ff000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802698429631804:3802698429633434 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698429635834:3802698429636894 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802698429637804:3802698429640074 1976:1980 hsa_signal_create(1, , 0, 0x7f5376325890) = 0 +3802698429641274:3802698429647654 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376325850) = 0 +3802698429648814:3802698429653794 1976:1980 hsa_amd_memory_async_copy(0x7f51e6400000, , 0x7f51e4200010, , , , 0, ) = 0 +3802698431005074:3802698431009725 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802698431011745:3802698431012905 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802698431013945:3802698431014775 1976:1977 hsa_signal_load_relaxed() = 1 +3802698431015615:3802698431019375 1976:1977 hsa_signal_store_screlease(, 0) = void +3802698431020255:3802698431020965 1976:1977 hsa_signal_destroy() = 0 +3802698429654904:3802698431045305 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698431058015:3802698431058625 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698431064755:3802698431065355 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802698431067405:3802698431068005 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802698431069615:3802698431070205 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802698431071905:3802698431072525 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802698431075225:3802698431075825 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802698431082315:3802698431082915 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802698431086745:3802698431087345 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698431053515:3802698431118855 1976:1980 hsa_amd_memory_unlock(0x7f52745ff000) = 0 +3802698431126655:3802698431127745 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 22 +3802698431128715:3802698431129515 1976:1980 hsa_queue_load_read_index_relaxed(0x7f5384da6000) = 22 +3802698431130605:3802698431131305 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 22 +3802698431132355:3802698431133605 1976:1980 hsa_signal_store_screlease(, 22) = void +3802698431137615:3802698431426558 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52741fe000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802698431428598:3802698431429498 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698431430348:3802698431430958 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 23 +3802698431431778:3802698431432368 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 22 +3802698431433258:3802698431434048 1976:1980 hsa_signal_store_screlease(, 23) = void +3802698431434948:3802698432591086 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698432592376:3802698432592936 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698432594386:3802698432595426 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802698432596346:3802698432597946 1976:1980 hsa_signal_create(1, , 0, 0x7f53763258f0) = 0 +3802698432598816:3802698432603026 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f53763258b0) = 0 +3802698432603916:3802698432606556 1976:1980 hsa_amd_memory_async_copy(0x7f51e4200010, , 0x7f51e5e00000, , , , 0, ) = 0 +3802698433869826:3802698433874406 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802698433876576:3802698433877796 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802698433878946:3802698433879776 1976:1977 hsa_signal_load_relaxed() = 1 +3802698433880876:3802698433884716 1976:1977 hsa_signal_store_screlease(, 0) = void +3802698433885596:3802698433886306 1976:1977 hsa_signal_destroy() = 0 +3802698432607366:3802698433910506 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698433915626:3802698433917166 1976:1980 hsa_amd_profiling_get_dispatch_time(, , 0x7f5384c97b30) = 0 +3802698433921056:3802698433921746 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698433921416:3802698433979547 1976:1980 hsa_amd_memory_unlock(0x7f52741fe000) = 0 +3802698441149970:3802698441151210 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698441215620:3802698441615223 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52745ff000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802698441618953:3802698441620583 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698441622883:3802698441623933 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802698441624823:3802698441627424 1976:1980 hsa_signal_create(1, , 0, 0x7f5376325950) = 0 +3802698441628594:3802698441635424 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376325910) = 0 +3802698441636564:3802698441641324 1976:1980 hsa_amd_memory_async_copy(0x7f51e6400000, , 0x7f51e4200010, , , , 0, ) = 0 +3802698442991364:3802698442995994 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802698442998374:3802698442999524 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802698443000714:3802698443001554 1976:1977 hsa_signal_load_relaxed() = 1 +3802698443002644:3802698443006324 1976:1977 hsa_signal_store_screlease(, 0) = void +3802698443007284:3802698443007994 1976:1977 hsa_signal_destroy() = 0 +3802698441642584:3802698443032184 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698443039594:3802698443040204 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698443048124:3802698443048724 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802698443050774:3802698443051364 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802698443052924:3802698443053524 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802698443057024:3802698443057624 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802698443058894:3802698443059494 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802698443066884:3802698443067474 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802698443069974:3802698443070574 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698443040704:3802698443106915 1976:1980 hsa_amd_memory_unlock(0x7f52745ff000) = 0 +3802698443115175:3802698443116245 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 24 +3802698443117375:3802698443118255 1976:1980 hsa_queue_load_read_index_relaxed(0x7f5384da6000) = 24 +3802698443119465:3802698443120165 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 24 +3802698443121145:3802698443122395 1976:1980 hsa_signal_store_screlease(, 24) = void +3802698443126575:3802698443415987 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52741fe000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802698443418037:3802698443418947 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698443419797:3802698443420417 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 25 +3802698443425277:3802698443425887 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 24 +3802698443426717:3802698443427507 1976:1980 hsa_signal_store_screlease(, 25) = void +3802698443428417:3802698444603506 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698444604866:3802698444605416 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698444606786:3802698444607826 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802698444608736:3802698444610136 1976:1980 hsa_signal_create(1, , 0, 0x7f53763259b0) = 0 +3802698444611006:3802698444615216 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376325970) = 0 +3802698444616106:3802698444618416 1976:1980 hsa_amd_memory_async_copy(0x7f51e4200010, , 0x7f51e5e00000, , , , 0, ) = 0 +3802698445880905:3802698445885775 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802698445887875:3802698445889025 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802698445890065:3802698445890895 1976:1977 hsa_signal_load_relaxed() = 1 +3802698445891745:3802698445895625 1976:1977 hsa_signal_store_screlease(, 0) = void +3802698445896515:3802698445897225 1976:1977 hsa_signal_destroy() = 0 +3802698444619246:3802698445921835 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698445926795:3802698445928286 1976:1980 hsa_amd_profiling_get_dispatch_time(, , 0x7f5384c97b30) = 0 +3802698445932176:3802698445932936 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698445932576:3802698445992296 1976:1980 hsa_amd_memory_unlock(0x7f52741fe000) = 0 +3802698453371461:3802698453372831 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698453432521:3802698453837894 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52745ff000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802698453841704:3802698453843374 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698453845974:3802698453847044 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802698453847964:3802698453850244 1976:1980 hsa_signal_create(1, , 0, 0x7f5376325a10) = 0 +3802698453851434:3802698453858234 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f53763259d0) = 0 +3802698453859414:3802698453864284 1976:1980 hsa_amd_memory_async_copy(0x7f51e6400000, , 0x7f51e4200010, , , , 0, ) = 0 +3802698455481266:3802698455486206 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802698455488396:3802698455489546 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802698455490596:3802698455491426 1976:1977 hsa_signal_load_relaxed() = 1 +3802698455492266:3802698455495706 1976:1977 hsa_signal_store_screlease(, 0) = void +3802698455496596:3802698455497316 1976:1977 hsa_signal_destroy() = 0 +3802698453865324:3802698455521986 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698455537886:3802698455538506 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698455544566:3802698455545166 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802698455547056:3802698455547656 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802698455549256:3802698455549856 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802698455551666:3802698455552256 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802698455553536:3802698455554136 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802698455561046:3802698455561646 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802698455565496:3802698455566096 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698455530506:3802698455595877 1976:1980 hsa_amd_memory_unlock(0x7f52745ff000) = 0 +3802698455604057:3802698455605247 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 26 +3802698455606417:3802698455607417 1976:1980 hsa_queue_load_read_index_relaxed(0x7f5384da6000) = 26 +3802698455608657:3802698455609347 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 26 +3802698455610767:3802698455612007 1976:1980 hsa_signal_store_screlease(, 26) = void +3802698455616257:3802698455896549 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52741fe000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802698455898549:3802698455899449 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698455900299:3802698455900919 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 27 +3802698455901759:3802698455902339 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 26 +3802698455903139:3802698455903919 1976:1980 hsa_signal_store_screlease(, 27) = void +3802698455904829:3802698456912316 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698456915016:3802698456915856 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698456917386:3802698456918586 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802698456919646:3802698456921536 1976:1980 hsa_signal_create(1, , 0, 0x7f5376325a70) = 0 +3802698456922516:3802698456927417 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376325a30) = 0 +3802698456928357:3802698456930717 1976:1980 hsa_amd_memory_async_copy(0x7f51e4200010, , 0x7f51e5e00000, , , , 0, ) = 0 +3802698458529328:3802698458533898 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802698458535868:3802698458537158 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802698458538308:3802698458539139 1976:1977 hsa_signal_load_relaxed() = 1 +3802698458543769:3802698458547529 1976:1977 hsa_signal_store_screlease(, 0) = void +3802698458548459:3802698458549179 1976:1977 hsa_signal_destroy() = 0 +3802698456931637:3802698458574329 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698458579699:3802698458581139 1976:1980 hsa_amd_profiling_get_dispatch_time(, , 0x7f5384c97b30) = 0 +3802698458584969:3802698458585599 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698458584799:3802698458643069 1976:1980 hsa_amd_memory_unlock(0x7f52741fe000) = 0 +3802698465861163:3802698465862333 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698465919623:3802698466315226 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52745ff000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802698466319086:3802698466320916 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698466323066:3802698466324126 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802698466325036:3802698466327326 1976:1980 hsa_signal_create(1, , 0, 0x7f5376325ad0) = 0 +3802698466328896:3802698466335626 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376325a90) = 0 +3802698466336777:3802698466341867 1976:1980 hsa_amd_memory_async_copy(0x7f51e6400000, , 0x7f51e4200010, , , , 0, ) = 0 +3802698467692737:3802698467697357 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802698467699367:3802698467700597 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802698467701637:3802698467702467 1976:1977 hsa_signal_load_relaxed() = 1 +3802698467703307:3802698467707057 1976:1977 hsa_signal_store_screlease(, 0) = void +3802698467707937:3802698467708657 1976:1977 hsa_signal_destroy() = 0 +3802698466342947:3802698467743037 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698467749987:3802698467750587 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698467756827:3802698467757427 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802698467759357:3802698467759957 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802698467761717:3802698467762307 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802698467769527:3802698467770167 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802698467771487:3802698467772077 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802698467778657:3802698467779247 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802698467781777:3802698467782367 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698467751477:3802698467816548 1976:1980 hsa_amd_memory_unlock(0x7f52745ff000) = 0 +3802698467828918:3802698467830098 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 28 +3802698467831478:3802698467832358 1976:1980 hsa_queue_load_read_index_relaxed(0x7f5384da6000) = 28 +3802698467833438:3802698467834138 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 28 +3802698467835268:3802698467836508 1976:1980 hsa_signal_store_screlease(, 28) = void +3802698467840678:3802698468127400 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52741fe000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802698468129380:3802698468130170 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698468131010:3802698468131620 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 29 +3802698468132450:3802698468133040 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 28 +3802698468133860:3802698468134630 1976:1980 hsa_signal_store_screlease(, 29) = void +3802698468135540:3802698469490750 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698469493460:3802698469494290 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698469495840:3802698469497050 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802698469498080:3802698469499960 1976:1980 hsa_signal_create(1, , 0, 0x7f5376325b30) = 0 +3802698469500940:3802698469506000 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376325af0) = 0 +3802698469506930:3802698469509280 1976:1980 hsa_amd_memory_async_copy(0x7f51e4200010, , 0x7f51e5e00000, , , , 0, ) = 0 +3802698470771119:3802698470775720 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802698470778110:3802698470779260 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802698470780300:3802698470781130 1976:1977 hsa_signal_load_relaxed() = 1 +3802698470781980:3802698470785650 1976:1977 hsa_signal_store_screlease(, 0) = void +3802698470786540:3802698470787240 1976:1977 hsa_signal_destroy() = 0 +3802698469510190:3802698470811460 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698470816280:3802698470817730 1976:1980 hsa_amd_profiling_get_dispatch_time(, , 0x7f5384c97b30) = 0 +3802698470821400:3802698470822080 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698470821860:3802698470879080 1976:1980 hsa_amd_memory_unlock(0x7f52741fe000) = 0 +3802698478069824:3802698478071144 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698478130594:3802698478532917 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52745ff000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802698478536617:3802698478538277 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698478540597:3802698478541657 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802698478542557:3802698478545217 1976:1980 hsa_signal_create(1, , 0, 0x7f5376325b90) = 0 +3802698478552007:3802698478558717 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376325b50) = 0 +3802698478559847:3802698478565167 1976:1980 hsa_amd_memory_async_copy(0x7f51e6400000, , 0x7f51e4200010, , , , 0, ) = 0 +3802698479915728:3802698479920608 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802698479922748:3802698479923918 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802698479924958:3802698479925788 1976:1977 hsa_signal_load_relaxed() = 1 +3802698479926638:3802698479930468 1976:1977 hsa_signal_store_screlease(, 0) = void +3802698479931348:3802698479932048 1976:1977 hsa_signal_destroy() = 0 +3802698478566267:3802698479955258 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698479962338:3802698479962938 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698479972338:3802698479972938 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802698479975088:3802698479975688 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802698479977298:3802698479977898 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802698479979768:3802698479980368 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802698479981798:3802698479982398 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802698479988988:3802698479989588 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802698479993158:3802698479993748 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698479964108:3802698480044538 1976:1980 hsa_amd_memory_unlock(0x7f52745ff000) = 0 +3802698480052639:3802698480053689 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 30 +3802698480054919:3802698480055739 1976:1980 hsa_queue_load_read_index_relaxed(0x7f5384da6000) = 30 +3802698480056799:3802698480057529 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 30 +3802698480058609:3802698480059839 1976:1980 hsa_signal_store_screlease(, 30) = void +3802698480063969:3802698480349751 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52741fe000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802698480351761:3802698480352681 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698480353551:3802698480354111 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 31 +3802698480354961:3802698480355551 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 30 +3802698480356331:3802698480357111 1976:1980 hsa_signal_store_screlease(, 31) = void +3802698480358041:3802698481511429 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698481514159:3802698481514999 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698481520339:3802698481521569 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802698481522619:3802698481524559 1976:1980 hsa_signal_create(1, , 0, 0x7f5376325bf0) = 0 +3802698481525549:3802698481530139 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376325bb0) = 0 +3802698481531049:3802698481533739 1976:1980 hsa_amd_memory_async_copy(0x7f51e4200010, , 0x7f51e5e00000, , , , 0, ) = 0 +3802698482796398:3802698482800958 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802698482803038:3802698482804268 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802698482805318:3802698482806148 1976:1977 hsa_signal_load_relaxed() = 1 +3802698482806988:3802698482810838 1976:1977 hsa_signal_store_screlease(, 0) = void +3802698482811728:3802698482812438 1976:1977 hsa_signal_destroy() = 0 +3802698481534649:3802698482836439 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698482841679:3802698482843569 1976:1980 hsa_amd_profiling_get_dispatch_time(, , 0x7f5384c97b30) = 0 +3802698482847489:3802698482848179 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698482847849:3802698482907009 1976:1980 hsa_amd_memory_unlock(0x7f52741fe000) = 0 +3802698490247404:3802698490248834 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698490309174:3802698490709537 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52745ff000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802698490713747:3802698490715447 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698490717717:3802698490718777 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802698490719687:3802698490721987 1976:1980 hsa_signal_create(1, , 0, 0x7f5376325c50) = 0 +3802698490723287:3802698490729707 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376325c10) = 0 +3802698490730897:3802698490736007 1976:1980 hsa_amd_memory_async_copy(0x7f51e6400000, , 0x7f51e4200010, , , , 0, ) = 0 +3802698492088617:3802698492093457 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802698492095347:3802698492096507 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802698492097727:3802698492098547 1976:1977 hsa_signal_load_relaxed() = 1 +3802698492099647:3802698492103687 1976:1977 hsa_signal_store_screlease(, 0) = void +3802698492104627:3802698492105327 1976:1977 hsa_signal_destroy() = 0 +3802698490737237:3802698492116227 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698492123368:3802698492124028 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698492130498:3802698492131088 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802698492133108:3802698492133698 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802698492139858:3802698492140458 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802698492143958:3802698492144558 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802698492145828:3802698492146428 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802698492152688:3802698492153278 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802698492156198:3802698492156798 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698492123908:3802698492189128 1976:1980 hsa_amd_memory_unlock(0x7f52745ff000) = 0 +3802698492196768:3802698492198078 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 32 +3802698492199078:3802698492199928 1976:1980 hsa_queue_load_read_index_relaxed(0x7f5384da6000) = 32 +3802698492201008:3802698492201718 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 32 +3802698492202758:3802698492203998 1976:1980 hsa_signal_store_screlease(, 32) = void +3802698492208558:3802698492492400 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52741fe000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802698492494410:3802698492495240 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698492496090:3802698492496680 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 33 +3802698492497510:3802698492498090 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 32 +3802698492498890:3802698492499680 1976:1980 hsa_signal_store_screlease(, 33) = void +3802698492500590:3802698493645909 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698493648639:3802698493649469 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698493651129:3802698493652329 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802698493653359:3802698493655209 1976:1980 hsa_signal_create(1, , 0, 0x7f5376325cb0) = 0 +3802698493656189:3802698493660749 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376325c70) = 0 +3802698493661719:3802698493664179 1976:1980 hsa_amd_memory_async_copy(0x7f51e4200010, , 0x7f51e5e00000, , , , 0, ) = 0 +3802698494930548:3802698494935108 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802698494937548:3802698494938738 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802698494939778:3802698494940608 1976:1977 hsa_signal_load_relaxed() = 1 +3802698494941458:3802698494945199 1976:1977 hsa_signal_store_screlease(, 0) = void +3802698494946089:3802698494946799 1976:1977 hsa_signal_destroy() = 0 +3802698493665089:3802698494971039 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698494975979:3802698494977589 1976:1980 hsa_amd_profiling_get_dispatch_time(, , 0x7f5384c97b30) = 0 +3802698494985889:3802698494986509 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698494985709:3802698495046679 1976:1980 hsa_amd_memory_unlock(0x7f52741fe000) = 0 +3802698502472874:3802698502474175 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698502533035:3802698502924248 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52745ff000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802698502928038:3802698502929688 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698502932118:3802698502933188 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802698502934108:3802698502936408 1976:1980 hsa_signal_create(1, , 0, 0x7f5376325d10) = 0 +3802698502937668:3802698502943928 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376325cd0) = 0 +3802698502945098:3802698502950568 1976:1980 hsa_amd_memory_async_copy(0x7f51e6400000, , 0x7f51e4200010, , , , 0, ) = 0 +3802698504520440:3802698504525140 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802698504527300:3802698504528450 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802698504529500:3802698504530330 1976:1977 hsa_signal_load_relaxed() = 1 +3802698504531170:3802698504535000 1976:1977 hsa_signal_store_screlease(, 0) = void +3802698504535880:3802698504536600 1976:1977 hsa_signal_destroy() = 0 +3802698502951658:3802698504546980 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698504553940:3802698504554590 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698504569380:3802698504569980 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802698504572470:3802698504573060 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802698504574640:3802698504575280 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802698504577020:3802698504577610 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802698504579260:3802698504579850 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802698504586570:3802698504587160 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802698504590650:3802698504591250 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698504554520:3802698504620260 1976:1980 hsa_amd_memory_unlock(0x7f52745ff000) = 0 +3802698504627731:3802698504628791 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 34 +3802698504629841:3802698504630641 1976:1980 hsa_queue_load_read_index_relaxed(0x7f5384da6000) = 34 +3802698504631701:3802698504632401 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 34 +3802698504633441:3802698504634881 1976:1980 hsa_signal_store_screlease(, 34) = void +3802698504638971:3802698504923063 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52741fe000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802698504928893:3802698504929733 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698504930583:3802698504931153 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 35 +3802698504931983:3802698504932563 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 34 +3802698504933443:3802698504934273 1976:1980 hsa_signal_store_screlease(, 35) = void +3802698504935183:3802698505937240 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698505939940:3802698505940780 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698505942420:3802698505943620 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802698505944660:3802698505946710 1976:1980 hsa_signal_create(1, , 0, 0x7f5376325d70) = 0 +3802698505947680:3802698505952280 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376325d30) = 0 +3802698505953160:3802698505955550 1976:1980 hsa_amd_memory_async_copy(0x7f51e4200010, , 0x7f51e5e00000, , , , 0, ) = 0 +3802698507536732:3802698507541302 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802698507543492:3802698507544812 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802698507545972:3802698507546802 1976:1977 hsa_signal_load_relaxed() = 1 +3802698507547742:3802698507551422 1976:1977 hsa_signal_store_screlease(, 0) = void +3802698507552382:3802698507553082 1976:1977 hsa_signal_destroy() = 0 +3802698505956450:3802698507576992 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698507582393:3802698507584113 1976:1980 hsa_amd_profiling_get_dispatch_time(, , 0x7f5384c97b30) = 0 +3802698507587863:3802698507588513 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698507588383:3802698507647363 1976:1980 hsa_amd_memory_unlock(0x7f52741fe000) = 0 +3802698515012547:3802698515013717 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698515074177:3802698515473430 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52745ff000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802698515477400:3802698515479220 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698515481570:3802698515482630 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802698515483550:3802698515486020 1976:1980 hsa_signal_create(1, , 0, 0x7f5376325dd0) = 0 +3802698515487300:3802698515494121 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376325d90) = 0 +3802698515495291:3802698515500491 1976:1980 hsa_amd_memory_async_copy(0x7f51e6400000, , 0x7f51e4200010, , , , 0, ) = 0 +3802698516852471:3802698516857351 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802698516859141:3802698516860301 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802698516865221:3802698516866081 1976:1977 hsa_signal_load_relaxed() = 1 +3802698516866941:3802698516870691 1976:1977 hsa_signal_store_screlease(, 0) = void +3802698516871561:3802698516872281 1976:1977 hsa_signal_destroy() = 0 +3802698515501591:3802698516897311 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698516904951:3802698516905591 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698516911521:3802698516912111 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802698516914121:3802698516914711 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802698516916021:3802698516916611 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802698516925321:3802698516926001 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802698516927541:3802698516928131 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802698516934841:3802698516935441 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802698516938031:3802698516938621 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698516905691:3802698516972572 1976:1980 hsa_amd_memory_unlock(0x7f52745ff000) = 0 +3802698516980542:3802698516981582 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 36 +3802698516982612:3802698516983402 1976:1980 hsa_queue_load_read_index_relaxed(0x7f5384da6000) = 36 +3802698516984512:3802698516985282 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 36 +3802698516986492:3802698516987722 1976:1980 hsa_signal_store_screlease(, 36) = void +3802698516991932:3802698517278334 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52741fe000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802698517280274:3802698517281084 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698517281944:3802698517282564 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 37 +3802698517283384:3802698517283964 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 36 +3802698517284764:3802698517285534 1976:1980 hsa_signal_store_screlease(, 37) = void +3802698517286444:3802698518492773 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698518495483:3802698518496323 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698518497993:3802698518499203 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802698518500243:3802698518502133 1976:1980 hsa_signal_create(1, , 0, 0x7f5376325e30) = 0 +3802698518503113:3802698518507583 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376325df0) = 0 +3802698518508473:3802698518510873 1976:1980 hsa_amd_memory_async_copy(0x7f51e4200010, , 0x7f51e5e00000, , , , 0, ) = 0 +3802698519772852:3802698519777442 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802698519783042:3802698519784202 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802698519785252:3802698519786092 1976:1977 hsa_signal_load_relaxed() = 1 +3802698519786932:3802698519790733 1976:1977 hsa_signal_store_screlease(, 0) = void +3802698519791623:3802698519792323 1976:1977 hsa_signal_destroy() = 0 +3802698518511783:3802698519815183 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698519820263:3802698519821773 1976:1980 hsa_amd_profiling_get_dispatch_time(, , 0x7f5384c97b30) = 0 +3802698519825443:3802698519826103 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698519825873:3802698519886003 1976:1980 hsa_amd_memory_unlock(0x7f52741fe000) = 0 +3802698527212258:3802698527213558 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698527275818:3802698527675501 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52745ff000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802698527679651:3802698527681501 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698527683931:3802698527684981 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802698527685881:3802698527688181 1976:1980 hsa_signal_create(1, , 0, 0x7f5376325e90) = 0 +3802698527689361:3802698527696241 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376325e50) = 0 +3802698527697401:3802698527702671 1976:1980 hsa_amd_memory_async_copy(0x7f51e6400000, , 0x7f51e4200010, , , , 0, ) = 0 +3802698529053971:3802698529058861 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802698529061061:3802698529062231 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802698529063281:3802698529064121 1976:1977 hsa_signal_load_relaxed() = 1 +3802698529064961:3802698529068882 1976:1977 hsa_signal_store_screlease(, 0) = void +3802698529069762:3802698529070482 1976:1977 hsa_signal_destroy() = 0 +3802698527703811:3802698529095602 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698529102602:3802698529103202 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698529114122:3802698529114712 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802698529116902:3802698529117492 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802698529119042:3802698529119642 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802698529121302:3802698529121902 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802698529123352:3802698529124002 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802698529131192:3802698529131782 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802698529135452:3802698529136052 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698529103762:3802698529168872 1976:1980 hsa_amd_memory_unlock(0x7f52745ff000) = 0 +3802698529177102:3802698529178232 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 38 +3802698529179202:3802698529180232 1976:1980 hsa_queue_load_read_index_relaxed(0x7f5384da6000) = 38 +3802698529181302:3802698529182002 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 38 +3802698529183052:3802698529184292 1976:1980 hsa_signal_store_screlease(, 38) = void +3802698529188432:3802698529470265 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52741fe000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802698529472195:3802698529473025 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698529473875:3802698529474445 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 39 +3802698529475265:3802698529475845 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 38 +3802698529476735:3802698529477525 1976:1980 hsa_signal_store_screlease(, 39) = void +3802698529478435:3802698530624663 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698530627383:3802698530628213 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698530629743:3802698530630953 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802698530631983:3802698530633893 1976:1980 hsa_signal_create(1, , 0, 0x7f5376325ef0) = 0 +3802698530634873:3802698530639393 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376325eb0) = 0 +3802698530640343:3802698530642723 1976:1980 hsa_amd_memory_async_copy(0x7f51e4200010, , 0x7f51e5e00000, , , , 0, ) = 0 +3802698531905253:3802698531909833 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802698531912183:3802698531913503 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802698531914513:3802698531915343 1976:1977 hsa_signal_load_relaxed() = 1 +3802698531916193:3802698531920073 1976:1977 hsa_signal_store_screlease(, 0) = void +3802698531920963:3802698531921663 1976:1977 hsa_signal_destroy() = 0 +3802698530643623:3802698531944573 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698531949783:3802698531951403 1976:1980 hsa_amd_profiling_get_dispatch_time(, , 0x7f5384c97b30) = 0 +3802698531956393:3802698531957033 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698531955643:3802698532021243 1976:1980 hsa_amd_memory_unlock(0x7f52741fe000) = 0 +3802698539402128:3802698539403378 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698539464428:3802698539868691 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52745ff000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802698539879011:3802698539880721 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698539883061:3802698539884121 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802698539885011:3802698539887301 1976:1980 hsa_signal_create(1, , 0, 0x7f5376325f50) = 0 +3802698539888481:3802698539894961 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376325f10) = 0 +3802698539896121:3802698539901101 1976:1980 hsa_amd_memory_async_copy(0x7f51e6400000, , 0x7f51e4200010, , , , 0, ) = 0 +3802698541477193:3802698541482103 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802698541484183:3802698541485373 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802698541486423:3802698541487263 1976:1977 hsa_signal_load_relaxed() = 1 +3802698541488103:3802698541492153 1976:1977 hsa_signal_store_screlease(, 0) = void +3802698541493013:3802698541493733 1976:1977 hsa_signal_destroy() = 0 +3802698539902151:3802698541528723 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698541535983:3802698541536583 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698541542824:3802698541543414 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802698541545514:3802698541546114 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802698541547344:3802698541547934 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802698541555184:3802698541555784 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802698541557314:3802698541557964 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802698541564454:3802698541565044 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802698541567694:3802698541568284 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698541537603:3802698541603794 1976:1980 hsa_amd_memory_unlock(0x7f52745ff000) = 0 +3802698541612414:3802698541613604 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 40 +3802698541614594:3802698541615474 1976:1980 hsa_queue_load_read_index_relaxed(0x7f5384da6000) = 40 +3802698541616764:3802698541617464 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 40 +3802698541618444:3802698541619674 1976:1980 hsa_signal_store_screlease(, 40) = void +3802698541623814:3802698541908916 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52741fe000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802698541910946:3802698541911816 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698541912676:3802698541913236 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 41 +3802698541914066:3802698541914656 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 40 +3802698541915476:3802698541916256 1976:1980 hsa_signal_store_screlease(, 41) = void +3802698541920176:3802698542925314 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698542928034:3802698542928864 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698542930394:3802698542931584 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802698542932624:3802698542934504 1976:1980 hsa_signal_create(1, , 0, 0x7f5376325fb0) = 0 +3802698542935484:3802698542940054 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376325f70) = 0 +3802698542941014:3802698542943294 1976:1980 hsa_amd_memory_async_copy(0x7f51e4200010, , 0x7f51e5e00000, , , , 0, ) = 0 +3802698544507156:3802698544511726 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802698544513936:3802698544515086 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802698544516126:3802698544516966 1976:1977 hsa_signal_load_relaxed() = 1 +3802698544517986:3802698544522066 1976:1977 hsa_signal_store_screlease(, 0) = void +3802698544522936:3802698544523656 1976:1977 hsa_signal_destroy() = 0 +3802698542944204:3802698544533176 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698544537596:3802698544539056 1976:1980 hsa_amd_profiling_get_dispatch_time(, , 0x7f5384c97b30) = 0 +3802698544542576:3802698544543186 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698544542466:3802698544601496 1976:1980 hsa_amd_memory_unlock(0x7f52741fe000) = 0 +3802698551821750:3802698551823130 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698551882480:3802698552321814 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52745ff000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802698552325754:3802698552327384 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698552335924:3802698552336994 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802698552337914:3802698552340524 1976:1980 hsa_signal_create(1, , 0, 0x7f5376326010) = 0 +3802698552341734:3802698552348284 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376325fd0) = 0 +3802698552349454:3802698552354444 1976:1980 hsa_amd_memory_async_copy(0x7f51e6400000, , 0x7f51e4200010, , , , 0, ) = 0 +3802698553712054:3802698553716734 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802698553718464:3802698553719614 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802698553720664:3802698553721474 1976:1977 hsa_signal_load_relaxed() = 1 +3802698553722324:3802698553725994 1976:1977 hsa_signal_store_screlease(, 0) = void +3802698553726884:3802698553727594 1976:1977 hsa_signal_destroy() = 0 +3802698552355704:3802698553752114 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698553764014:3802698553764674 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698553773824:3802698553774424 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802698553776395:3802698553776985 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802698553778255:3802698553778845 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802698553780535:3802698553781125 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802698553782745:3802698553783335 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802698553789275:3802698553789865 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802698553792405:3802698553793005 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698553764634:3802698553831195 1976:1980 hsa_amd_memory_unlock(0x7f52745ff000) = 0 +3802698553839115:3802698553840455 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 42 +3802698553841515:3802698553842385 1976:1980 hsa_queue_load_read_index_relaxed(0x7f5384da6000) = 42 +3802698553843485:3802698553844185 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 42 +3802698553845165:3802698553846395 1976:1980 hsa_signal_store_screlease(, 42) = void +3802698553850595:3802698554132357 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52741fe000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802698554134277:3802698554135167 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698554136017:3802698554136587 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 43 +3802698554137407:3802698554137997 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 42 +3802698554138787:3802698554139557 1976:1980 hsa_signal_store_screlease(, 43) = void +3802698554140477:3802698555486177 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698555489287:3802698555490447 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698555492657:3802698555494357 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802698555495787:3802698555497977 1976:1980 hsa_signal_create(1, , 0, 0x7f5376326070) = 0 +3802698555499487:3802698555504917 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376326030) = 0 +3802698555505907:3802698555508517 1976:1980 hsa_amd_memory_async_copy(0x7f51e4200010, , 0x7f51e5e00000, , , , 0, ) = 0 +3802698556772567:3802698556777127 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802698556779397:3802698556780547 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802698556781707:3802698556782537 1976:1977 hsa_signal_load_relaxed() = 1 +3802698556783477:3802698556787317 1976:1977 hsa_signal_store_screlease(, 0) = void +3802698556788177:3802698556788897 1976:1977 hsa_signal_destroy() = 0 +3802698555509467:3802698556813377 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698556818607:3802698556820047 1976:1980 hsa_amd_profiling_get_dispatch_time(, , 0x7f5384c97b30) = 0 +3802698556826257:3802698556826887 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698556823727:3802698556883328 1976:1980 hsa_amd_memory_unlock(0x7f52741fe000) = 0 +3802698564241552:3802698564242462 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698564279293:3802698564683436 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52745ff000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802698564687626:3802698564689526 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698564692036:3802698564693096 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802698564694006:3802698564696516 1976:1980 hsa_signal_create(1, , 0, 0x7f53763260d0) = 0 +3802698564697786:3802698564704336 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376326090) = 0 +3802698564705436:3802698564710856 1976:1980 hsa_amd_memory_async_copy(0x7f51e6400000, , 0x7f51e4200010, , , , 0, ) = 0 +3802698566061436:3802698566066476 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802698566068436:3802698566069586 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802698566070726:3802698566071556 1976:1977 hsa_signal_load_relaxed() = 1 +3802698566072576:3802698566076236 1976:1977 hsa_signal_store_screlease(, 0) = void +3802698566077186:3802698566077896 1976:1977 hsa_signal_destroy() = 0 +3802698564711946:3802698566102266 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698566109246:3802698566109846 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698566115626:3802698566116226 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802698566118326:3802698566118926 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802698566120446:3802698566121036 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802698566123056:3802698566123646 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802698566125126:3802698566125716 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802698566140776:3802698566141376 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802698566144026:3802698566144617 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698566110906:3802698566177257 1976:1980 hsa_amd_memory_unlock(0x7f52745ff000) = 0 +3802698566185047:3802698566186197 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 44 +3802698566187287:3802698566188107 1976:1980 hsa_queue_load_read_index_relaxed(0x7f5384da6000) = 44 +3802698566194667:3802698566195417 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 44 +3802698566196407:3802698566197777 1976:1980 hsa_signal_store_screlease(, 44) = void +3802698566201847:3802698566484849 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52741fe000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802698566486759:3802698566487619 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698566488499:3802698566489069 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 45 +3802698566489909:3802698566490499 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 44 +3802698566491319:3802698566492119 1976:1980 hsa_signal_store_screlease(, 45) = void +3802698566493039:3802698567635578 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698567638288:3802698567639198 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698567640848:3802698567642048 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802698567643088:3802698567645168 1976:1980 hsa_signal_create(1, , 0, 0x7f5376326130) = 0 +3802698567646148:3802698567650698 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f53763260f0) = 0 +3802698567651708:3802698567654328 1976:1980 hsa_amd_memory_async_copy(0x7f51e4200010, , 0x7f51e5e00000, , , , 0, ) = 0 +3802698568919627:3802698568924507 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802698568926587:3802698568927737 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802698568928777:3802698568929607 1976:1977 hsa_signal_load_relaxed() = 1 +3802698568930447:3802698568934407 1976:1977 hsa_signal_store_screlease(, 0) = void +3802698568935277:3802698568935987 1976:1977 hsa_signal_destroy() = 0 +3802698567655238:3802698568968657 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698568973517:3802698568975067 1976:1980 hsa_amd_profiling_get_dispatch_time(, , 0x7f5384c97b30) = 0 +3802698568978607:3802698568979267 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698568978777:3802698569038318 1976:1980 hsa_amd_memory_unlock(0x7f52741fe000) = 0 +3802698576228311:3802698576229441 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698576268601:3802698576671844 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52745ff000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802698576676014:3802698576677744 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698576680234:3802698576681294 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802698576682214:3802698576684514 1976:1980 hsa_signal_create(1, , 0, 0x7f5376326190) = 0 +3802698576685674:3802698576692354 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376326150) = 0 +3802698576693514:3802698576698514 1976:1980 hsa_amd_memory_async_copy(0x7f51e6400000, , 0x7f51e4200010, , , , 0, ) = 0 +3802698578049004:3802698578053724 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802698578055874:3802698578057154 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802698578058194:3802698578059024 1976:1977 hsa_signal_load_relaxed() = 1 +3802698578059864:3802698578063774 1976:1977 hsa_signal_store_screlease(, 0) = void +3802698578064654:3802698578065364 1976:1977 hsa_signal_destroy() = 0 +3802698576706464:3802698578098375 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698578105365:3802698578106005 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698578115525:3802698578116125 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802698578118375:3802698578118975 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802698578120965:3802698578121555 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802698578123245:3802698578123835 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802698578124985:3802698578125645 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802698578132035:3802698578132625 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802698578135225:3802698578135825 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698578106115:3802698578171555 1976:1980 hsa_amd_memory_unlock(0x7f52745ff000) = 0 +3802698578179605:3802698578180755 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 46 +3802698578181725:3802698578182545 1976:1980 hsa_queue_load_read_index_relaxed(0x7f5384da6000) = 46 +3802698578183665:3802698578184365 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 46 +3802698578185335:3802698578186575 1976:1980 hsa_signal_store_screlease(, 46) = void +3802698578190635:3802698578478287 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52741fe000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802698578480327:3802698578481227 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698578482097:3802698578482667 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 47 +3802698578483487:3802698578484067 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 46 +3802698578484887:3802698578485657 1976:1980 hsa_signal_store_screlease(, 47) = void +3802698578486557:3802698579617856 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698579620566:3802698579621476 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698579623256:3802698579624446 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802698579625476:3802698579627396 1976:1980 hsa_signal_create(1, , 0, 0x7f53763261f0) = 0 +3802698579632396:3802698579636946 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f53763261b0) = 0 +3802698579637866:3802698579640266 1976:1980 hsa_amd_memory_async_copy(0x7f51e4200010, , 0x7f51e5e00000, , , , 0, ) = 0 +3802698580905445:3802698580910006 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802698580912066:3802698580913226 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802698580914266:3802698580915096 1976:1977 hsa_signal_load_relaxed() = 1 +3802698580915946:3802698580919856 1976:1977 hsa_signal_store_screlease(, 0) = void +3802698580920746:3802698580921456 1976:1977 hsa_signal_destroy() = 0 +3802698579641176:3802698580945996 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698580951266:3802698580952926 1976:1980 hsa_amd_profiling_get_dispatch_time(, , 0x7f5384c97b30) = 0 +3802698580958066:3802698580958706 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698580957066:3802698581015996 1976:1980 hsa_amd_memory_unlock(0x7f52741fe000) = 0 +3802698588210070:3802698588211270 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698588247930:3802698588645623 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52745ff000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802698588649323:3802698588650973 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698588653443:3802698588654503 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802698588655403:3802698588657673 1976:1980 hsa_signal_create(1, , 0, 0x7f5376326250) = 0 +3802698588658893:3802698588665743 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376326210) = 0 +3802698588666893:3802698588671773 1976:1980 hsa_amd_memory_async_copy(0x7f51e6400000, , 0x7f51e4200010, , , , 0, ) = 0 +3802698590022503:3802698590027303 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802698590029363:3802698590030583 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802698590031583:3802698590032423 1976:1977 hsa_signal_load_relaxed() = 1 +3802698590033263:3802698590037003 1976:1977 hsa_signal_store_screlease(, 0) = void +3802698590037883:3802698590038593 1976:1977 hsa_signal_destroy() = 0 +3802698588672943:3802698590063114 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698590070394:3802698590071004 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698590077194:3802698590077794 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802698590079834:3802698590080424 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802698590081854:3802698590082444 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802698590084354:3802698590084944 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802698590091434:3802698590092034 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802698590099674:3802698590100274 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802698590102934:3802698590103534 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698590071484:3802698590138314 1976:1980 hsa_amd_memory_unlock(0x7f52745ff000) = 0 +3802698590145774:3802698590147054 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 48 +3802698590148094:3802698590149014 1976:1980 hsa_queue_load_read_index_relaxed(0x7f5384da6000) = 48 +3802698590150104:3802698590150794 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 48 +3802698590151844:3802698590153084 1976:1980 hsa_signal_store_screlease(, 48) = void +3802698590157364:3802698590445756 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52741fe000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802698590447786:3802698590448576 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698590449426:3802698590450036 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 49 +3802698590450866:3802698590451447 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 48 +3802698590452327:3802698590453107 1976:1980 hsa_signal_store_screlease(, 49) = void +3802698590453997:3802698591606475 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698591609175:3802698591610095 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698591611635:3802698591612845 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802698591613875:3802698591615775 1976:1980 hsa_signal_create(1, , 0, 0x7f53763262b0) = 0 +3802698591616755:3802698591621275 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376326270) = 0 +3802698591622295:3802698591624665 1976:1980 hsa_amd_memory_async_copy(0x7f51e4200010, , 0x7f51e5e00000, , , , 0, ) = 0 +3802698592890035:3802698592894905 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802698592897045:3802698592898205 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802698592899245:3802698592900075 1976:1977 hsa_signal_load_relaxed() = 1 +3802698592900925:3802698592904875 1976:1977 hsa_signal_store_screlease(, 0) = void +3802698592905745:3802698592906445 1976:1977 hsa_signal_destroy() = 0 +3802698591625565:3802698592931135 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698592935965:3802698592937515 1976:1980 hsa_amd_profiling_get_dispatch_time(, , 0x7f5384c97b30) = 0 +3802698592941085:3802698592941745 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698592941535:3802698593000705 1976:1980 hsa_amd_memory_unlock(0x7f52741fe000) = 0 +3802698600191638:3802698600192738 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698600231168:3802698600973484 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52745ff000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802698600977524:3802698600979604 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698600981984:3802698600983044 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802698600983954:3802698600986464 1976:1980 hsa_signal_create(1, , 0, 0x7f5376326310) = 0 +3802698600987664:3802698600994314 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f53763262d0) = 0 +3802698600995464:3802698601000724 1976:1980 hsa_amd_memory_async_copy(0x7f51e6400000, , 0x7f51e4200010, , , , 0, ) = 0 +3802698602518885:3802698602523575 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802698602525906:3802698602527216 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802698602528266:3802698602529096 1976:1977 hsa_signal_load_relaxed() = 1 +3802698602529936:3802698602533896 1976:1977 hsa_signal_store_screlease(, 0) = void +3802698602534786:3802698602535506 1976:1977 hsa_signal_destroy() = 0 +3802698601001804:3802698602561266 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698602568656:3802698602569316 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698602575706:3802698602576306 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802698602583466:3802698602584066 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802698602585656:3802698602586246 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802698602587946:3802698602588566 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802698602590056:3802698602590656 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802698602596846:3802698602597436 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802698602600006:3802698602600596 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698602569286:3802698602634106 1976:1980 hsa_amd_memory_unlock(0x7f52745ff000) = 0 +3802698602641576:3802698602642786 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 50 +3802698602643866:3802698602644686 1976:1980 hsa_queue_load_read_index_relaxed(0x7f5384da6000) = 50 +3802698602645796:3802698602646496 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 50 +3802698602647526:3802698602648766 1976:1980 hsa_signal_store_screlease(, 50) = void +3802698602652826:3802698602935549 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52741fe000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802698602937529:3802698602938429 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698602943119:3802698602943749 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 51 +3802698602944579:3802698602945159 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 50 +3802698602946049:3802698602946829 1976:1980 hsa_signal_store_screlease(, 51) = void +3802698602947759:3802698603962626 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698603965326:3802698603966156 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698603967656:3802698603968866 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802698603969986:3802698603971886 1976:1980 hsa_signal_create(1, , 0, 0x7f5376326370) = 0 +3802698603972956:3802698603977536 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376326330) = 0 +3802698603978546:3802698603981046 1976:1980 hsa_amd_memory_async_copy(0x7f51e4200010, , 0x7f51e5e00000, , , , 0, ) = 0 +3802698605533868:3802698605538748 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802698605541018:3802698605542168 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802698605543388:3802698605544218 1976:1977 hsa_signal_load_relaxed() = 1 +3802698605545168:3802698605549038 1976:1977 hsa_signal_store_screlease(, 0) = void +3802698605549898:3802698605550618 1976:1977 hsa_signal_destroy() = 0 +3802698603981946:3802698605576578 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698605581808:3802698605583388 1976:1980 hsa_amd_profiling_get_dispatch_time(, , 0x7f5384c97b30) = 0 +3802698605589228:3802698605590038 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698605587418:3802698605647099 1976:1980 hsa_amd_memory_unlock(0x7f52741fe000) = 0 +3802698612930933:3802698612932333 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698612984113:3802698613387246 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52745ff000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802698613391396:3802698613393076 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698613395386:3802698613396456 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802698613397346:3802698613399736 1976:1980 hsa_signal_create(1, , 0, 0x7f53763263d0) = 0 +3802698613400956:3802698613407826 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376326390) = 0 +3802698613408986:3802698613414177 1976:1980 hsa_amd_memory_async_copy(0x7f51e6400000, , 0x7f51e4200010, , , , 0, ) = 0 +3802698614763837:3802698614768537 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802698614770537:3802698614771857 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802698614772907:3802698614773737 1976:1977 hsa_signal_load_relaxed() = 1 +3802698614774577:3802698614778397 1976:1977 hsa_signal_store_screlease(, 0) = void +3802698614782717:3802698614783467 1976:1977 hsa_signal_destroy() = 0 +3802698613415337:3802698614805067 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698614812467:3802698614813067 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698614818907:3802698614819507 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802698614821537:3802698614822137 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802698614823357:3802698614823947 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802698614825617:3802698614826207 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802698614827507:3802698614828097 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802698614839847:3802698614840447 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802698614843167:3802698614843757 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698614813547:3802698614880197 1976:1980 hsa_amd_memory_unlock(0x7f52745ff000) = 0 +3802698614888247:3802698614889297 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 52 +3802698614890357:3802698614891177 1976:1980 hsa_queue_load_read_index_relaxed(0x7f5384da6000) = 52 +3802698614892277:3802698614892978 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 52 +3802698614894028:3802698614895408 1976:1980 hsa_signal_store_screlease(, 52) = void +3802698614899678:3802698615182660 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52741fe000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802698615184750:3802698615185600 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698615186480:3802698615187100 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 53 +3802698615187920:3802698615188510 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 52 +3802698615189310:3802698615190100 1976:1980 hsa_signal_store_screlease(, 53) = void +3802698615191010:3802698616471079 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698616472659:3802698616473209 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698616474479:3802698616475529 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802698616476439:3802698616478319 1976:1980 hsa_signal_create(1, , 0, 0x7f5376326430) = 0 +3802698616479219:3802698616483279 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f53763263f0) = 0 +3802698616484179:3802698616486719 1976:1980 hsa_amd_memory_async_copy(0x7f51e4200010, , 0x7f51e5e00000, , , , 0, ) = 0 +3802698617749399:3802698617753959 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802698617755989:3802698617757209 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802698617761699:3802698617762629 1976:1977 hsa_signal_load_relaxed() = 1 +3802698617763489:3802698617767389 1976:1977 hsa_signal_store_screlease(, 0) = void +3802698617768279:3802698617768989 1976:1977 hsa_signal_destroy() = 0 +3802698616487549:3802698617793299 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698617798349:3802698617799859 1976:1980 hsa_amd_profiling_get_dispatch_time(, , 0x7f5384c97b30) = 0 +3802698617803869:3802698617804489 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698617803749:3802698617861050 1976:1980 hsa_amd_memory_unlock(0x7f52741fe000) = 0 +3802698625062863:3802698625064053 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698625118663:3802698625524296 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52745ff000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802698625528356:3802698625530056 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698625532506:3802698625533566 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802698625534476:3802698625536876 1976:1980 hsa_signal_create(1, , 0, 0x7f5376326490) = 0 +3802698625538056:3802698625544676 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376326450) = 0 +3802698625545826:3802698625550856 1976:1980 hsa_amd_memory_async_copy(0x7f51e6400000, , 0x7f51e4200010, , , , 0, ) = 0 +3802698626901766:3802698626906406 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802698626908566:3802698626909716 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802698626910766:3802698626911596 1976:1977 hsa_signal_load_relaxed() = 1 +3802698626912436:3802698626916306 1976:1977 hsa_signal_store_screlease(, 0) = void +3802698626917186:3802698626917896 1976:1977 hsa_signal_destroy() = 0 +3802698625552026:3802698626942187 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698626949207:3802698626949807 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698626955947:3802698626956537 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802698626966497:3802698626967097 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802698626968887:3802698626969477 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802698626971347:3802698626971987 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802698626973447:3802698626974037 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802698626980927:3802698626981517 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802698626984177:3802698626984777 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698626950177:3802698627017677 1976:1980 hsa_amd_memory_unlock(0x7f52745ff000) = 0 +3802698627030247:3802698627031267 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 54 +3802698627032327:3802698627033127 1976:1980 hsa_queue_load_read_index_relaxed(0x7f5384da6000) = 54 +3802698627034217:3802698627034917 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 54 +3802698627035957:3802698627037067 1976:1980 hsa_signal_store_screlease(, 54) = void +3802698627041117:3802698627326429 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52741fe000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802698627328509:3802698627329299 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698627330149:3802698627330779 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 55 +3802698627331609:3802698627332199 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 54 +3802698627333099:3802698627333869 1976:1980 hsa_signal_store_screlease(, 55) = void +3802698627334789:3802698628516068 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698628517328:3802698628517888 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698628519288:3802698628520338 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802698628521248:3802698628522748 1976:1980 hsa_signal_create(1, , 0, 0x7f53763264f0) = 0 +3802698628523608:3802698628527878 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f53763264b0) = 0 +3802698628528798:3802698628531428 1976:1980 hsa_amd_memory_async_copy(0x7f51e4200010, , 0x7f51e5e00000, , , , 0, ) = 0 +3802698629793768:3802698629798348 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802698629800638:3802698629801838 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802698629803058:3802698629803888 1976:1977 hsa_signal_load_relaxed() = 1 +3802698629804848:3802698629808508 1976:1977 hsa_signal_store_screlease(, 0) = void +3802698629809398:3802698629810108 1976:1977 hsa_signal_destroy() = 0 +3802698628532258:3802698629834288 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698629839378:3802698629840948 1976:1980 hsa_amd_profiling_get_dispatch_time(, , 0x7f5384c97b30) = 0 +3802698629845108:3802698629845718 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698629844968:3802698629902728 1976:1980 hsa_amd_memory_unlock(0x7f52741fe000) = 0 +3802698637094202:3802698637095312 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698637147062:3802698637548875 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52745ff000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802698637552775:3802698637554845 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698637557045:3802698637558095 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802698637565685:3802698637567995 1976:1980 hsa_signal_create(1, , 0, 0x7f5376326550) = 0 +3802698637569185:3802698637575925 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376326510) = 0 +3802698637577405:3802698637582195 1976:1980 hsa_amd_memory_async_copy(0x7f51e6400000, , 0x7f51e4200010, , , , 0, ) = 0 +3802698638938426:3802698638943336 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802698638945486:3802698638946696 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802698638947746:3802698638948576 1976:1977 hsa_signal_load_relaxed() = 1 +3802698638949416:3802698638953146 1976:1977 hsa_signal_store_screlease(, 0) = void +3802698638954036:3802698638954746 1976:1977 hsa_signal_destroy() = 0 +3802698637583315:3802698638979066 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698638989176:3802698638989806 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698638996716:3802698638997316 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802698638999136:3802698638999726 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802698639001156:3802698639001746 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802698639003676:3802698639004266 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802698639005556:3802698639006146 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802698639013826:3802698639014426 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802698639016946:3802698639017546 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698638987376:3802698639054436 1976:1980 hsa_amd_memory_unlock(0x7f52745ff000) = 0 +3802698639062416:3802698639063596 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 56 +3802698639064536:3802698639065427 1976:1980 hsa_queue_load_read_index_relaxed(0x7f5384da6000) = 56 +3802698639066727:3802698639067437 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 56 +3802698639068417:3802698639069657 1976:1980 hsa_signal_store_screlease(, 56) = void +3802698639073767:3802698639355359 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52741fe000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802698639357389:3802698639358299 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698639359159:3802698639359729 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 57 +3802698639360549:3802698639361139 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 56 +3802698639361959:3802698639362749 1976:1980 hsa_signal_store_screlease(, 57) = void +3802698639363649:3802698640512987 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698640514277:3802698640514837 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698640519597:3802698640520667 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802698640521567:3802698640523207 1976:1980 hsa_signal_create(1, , 0, 0x7f53763265b0) = 0 +3802698640524087:3802698640528367 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376326570) = 0 +3802698640529277:3802698640531737 1976:1980 hsa_amd_memory_async_copy(0x7f51e4200010, , 0x7f51e5e00000, , , , 0, ) = 0 +3802698641793827:3802698641798407 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802698641800497:3802698641801717 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802698641802757:3802698641803587 1976:1977 hsa_signal_load_relaxed() = 1 +3802698641804427:3802698641808267 1976:1977 hsa_signal_store_screlease(, 0) = void +3802698641809157:3802698641809857 1976:1977 hsa_signal_destroy() = 0 +3802698640532567:3802698641834207 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698641839187:3802698641840767 1976:1980 hsa_amd_profiling_get_dispatch_time(, , 0x7f5384c97b30) = 0 +3802698641844257:3802698641844917 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698641844707:3802698641903028 1976:1980 hsa_amd_memory_unlock(0x7f52741fe000) = 0 +3802698649101351:3802698649102611 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698649159142:3802698649562645 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52745ff000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802698649566385:3802698649568175 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698649570595:3802698649571655 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802698649572575:3802698649574865 1976:1980 hsa_signal_create(1, , 0, 0x7f5376326610) = 0 +3802698649576065:3802698649582835 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f53763265d0) = 0 +3802698649583985:3802698649589225 1976:1980 hsa_amd_memory_async_copy(0x7f51e6400000, , 0x7f51e4200010, , , , 0, ) = 0 +3802698650940235:3802698650945115 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802698650946995:3802698650948285 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802698650949325:3802698650950155 1976:1977 hsa_signal_load_relaxed() = 1 +3802698650950995:3802698650954585 1976:1977 hsa_signal_store_screlease(, 0) = void +3802698650955465:3802698650956175 1976:1977 hsa_signal_destroy() = 0 +3802698649590515:3802698650980585 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698650987525:3802698650988125 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698650994445:3802698650995045 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802698651003325:3802698651003925 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802698651005355:3802698651005955 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802698651007585:3802698651008215 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802698651009905:3802698651010495 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802698651017095:3802698651017685 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802698651020365:3802698651020955 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698650988835:3802698651054496 1976:1980 hsa_amd_memory_unlock(0x7f52745ff000) = 0 +3802698651062446:3802698651063636 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 58 +3802698651064576:3802698651065456 1976:1980 hsa_queue_load_read_index_relaxed(0x7f5384da6000) = 58 +3802698651066786:3802698651067506 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 58 +3802698651068496:3802698651069726 1976:1980 hsa_signal_store_screlease(, 58) = void +3802698651073976:3802698651356208 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52741fe000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802698651358218:3802698651359068 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698651359938:3802698651360558 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 59 +3802698651361378:3802698651361958 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 58 +3802698651362908:3802698651363688 1976:1980 hsa_signal_store_screlease(, 59) = void +3802698651364588:3802698652511396 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698652512666:3802698652513226 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698652514476:3802698652515536 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802698652516436:3802698652517976 1976:1980 hsa_signal_create(1, , 0, 0x7f5376326670) = 0 +3802698652518836:3802698652523087 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376326630) = 0 +3802698652524017:3802698652526287 1976:1980 hsa_amd_memory_async_copy(0x7f51e4200010, , 0x7f51e5e00000, , , , 0, ) = 0 +3802698653788326:3802698653792886 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802698653795226:3802698653796476 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802698653797696:3802698653798526 1976:1977 hsa_signal_load_relaxed() = 1 +3802698653799366:3802698653803106 1976:1977 hsa_signal_store_screlease(, 0) = void +3802698653803996:3802698653804706 1976:1977 hsa_signal_destroy() = 0 +3802698652527127:3802698653828826 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698653833916:3802698653835406 1976:1980 hsa_amd_profiling_get_dispatch_time(, , 0x7f5384c97b30) = 0 +3802698653843556:3802698653844216 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698653843816:3802698653904186 1976:1980 hsa_amd_memory_unlock(0x7f52741fe000) = 0 +3802698661088860:3802698661090020 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698661144090:3802698661542513 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52745ff000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802698661546863:3802698661548833 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698661551403:3802698661552453 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802698661553333:3802698661555733 1976:1980 hsa_signal_create(1, , 0, 0x7f53763266d0) = 0 +3802698661556933:3802698661564913 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376326690) = 0 +3802698661566673:3802698661572353 1976:1980 hsa_amd_memory_async_copy(0x7f51e6400000, , 0x7f51e4200010, , , , 0, ) = 0 +3802698662920503:3802698662925383 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802698662927573:3802698662928723 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802698662929883:3802698662930713 1976:1977 hsa_signal_load_relaxed() = 1 +3802698662931663:3802698662935383 1976:1977 hsa_signal_store_screlease(, 0) = void +3802698662936263:3802698662936973 1976:1977 hsa_signal_destroy() = 0 +3802698661573773:3802698662961683 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698662974994:3802698662975604 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698662982804:3802698662983404 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802698662985274:3802698662985864 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802698662987604:3802698662988194 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802698662990154:3802698662990804 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802698662992024:3802698662992624 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802698662999774:3802698663000364 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802698663004114:3802698663004704 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698662970064:3802698663035344 1976:1980 hsa_amd_memory_unlock(0x7f52745ff000) = 0 +3802698663043964:3802698663045014 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 60 +3802698663046094:3802698663046784 1976:1980 hsa_queue_load_read_index_relaxed(0x7f5384da6000) = 60 +3802698663047894:3802698663048604 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 60 +3802698663049574:3802698663050804 1976:1980 hsa_signal_store_screlease(, 60) = void +3802698663059154:3802698663341006 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52741fe000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802698663342996:3802698663343876 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698663344736:3802698663345316 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 61 +3802698663346156:3802698663346736 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 60 +3802698663347576:3802698663348366 1976:1980 hsa_signal_store_screlease(, 61) = void +3802698663349286:3802698664503965 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698664505305:3802698664505865 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698664507135:3802698664508185 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802698664509115:3802698664510665 1976:1980 hsa_signal_create(1, , 0, 0x7f5376326730) = 0 +3802698664511555:3802698664515735 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f53763266f0) = 0 +3802698664516645:3802698664519355 1976:1980 hsa_amd_memory_async_copy(0x7f51e4200010, , 0x7f51e5e00000, , , , 0, ) = 0 +3802698665781504:3802698665786064 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802698665788274:3802698665789424 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802698665790474:3802698665791314 1976:1977 hsa_signal_load_relaxed() = 1 +3802698665792255:3802698665795915 1976:1977 hsa_signal_store_screlease(, 0) = void +3802698665796795:3802698665797515 1976:1977 hsa_signal_destroy() = 0 +3802698664520175:3802698665821645 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698665826625:3802698665828145 1976:1980 hsa_amd_profiling_get_dispatch_time(, , 0x7f5384c97b30) = 0 +3802698665832125:3802698665832735 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698665831935:3802698665891405 1976:1980 hsa_amd_memory_unlock(0x7f52741fe000) = 0 +3802698673091049:3802698673092139 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698673146959:3802698673553442 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52745ff000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802698673557402:3802698673559052 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698673561382:3802698673562442 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802698673563352:3802698673565622 1976:1980 hsa_signal_create(1, , 0, 0x7f5376326790) = 0 +3802698673567012:3802698673573322 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376326750) = 0 +3802698673574472:3802698673579842 1976:1980 hsa_amd_memory_async_copy(0x7f51e6400000, , 0x7f51e4200010, , , , 0, ) = 0 +3802698674930612:3802698674935253 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802698674942953:3802698674944113 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802698674945173:3802698674946003 1976:1977 hsa_signal_load_relaxed() = 1 +3802698674946853:3802698674950623 1976:1977 hsa_signal_store_screlease(, 0) = void +3802698674951513:3802698674952233 1976:1977 hsa_signal_destroy() = 0 +3802698673580972:3802698674976713 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698674984163:3802698674984763 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698674990553:3802698674991143 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802698674998033:3802698674998633 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802698674999883:3802698675000473 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802698675002363:3802698675002963 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802698675004563:3802698675005213 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802698675011423:3802698675012013 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802698675014633:3802698675015233 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698674985203:3802698675050223 1976:1980 hsa_amd_memory_unlock(0x7f52745ff000) = 0 +3802698675058353:3802698675059523 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 62 +3802698675060543:3802698675061353 1976:1980 hsa_queue_load_read_index_relaxed(0x7f5384da6000) = 62 +3802698675062463:3802698675063163 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 62 +3802698675064183:3802698675065413 1976:1980 hsa_signal_store_screlease(, 62) = void +3802698675069604:3802698675351296 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52741fe000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802698675353246:3802698675354156 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698675355006:3802698675355586 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 63 +3802698675356406:3802698675356996 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 62 +3802698675357796:3802698675358596 1976:1980 hsa_signal_store_screlease(, 63) = void +3802698675359506:3802698676510304 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698676511604:3802698676512164 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698676513454:3802698676514514 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802698676515424:3802698676516924 1976:1980 hsa_signal_create(1, , 0, 0x7f53763267f0) = 0 +3802698676517804:3802698676522134 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f53763267b0) = 0 +3802698676523054:3802698676525514 1976:1980 hsa_amd_memory_async_copy(0x7f51e4200010, , 0x7f51e5e00000, , , , 0, ) = 0 +3802698677788054:3802698677792924 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802698677795084:3802698677796224 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802698677797284:3802698677798114 1976:1977 hsa_signal_load_relaxed() = 1 +3802698677798964:3802698677802724 1976:1977 hsa_signal_store_screlease(, 0) = void +3802698677803614:3802698677804314 1976:1977 hsa_signal_destroy() = 0 +3802698676530484:3802698677828694 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698677833914:3802698677835614 1976:1980 hsa_amd_profiling_get_dispatch_time(, , 0x7f5384c97b30) = 0 +3802698677839594:3802698677840204 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698677839354:3802698677898925 1976:1980 hsa_amd_memory_unlock(0x7f52741fe000) = 0 +3802698685087367:3802698685088487 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698685142628:3802698685547271 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52745ff000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802698685551591:3802698685553261 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698685555361:3802698685556421 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802698685557331:3802698685559651 1976:1980 hsa_signal_create(1, , 0, 0x7f5376326850) = 0 +3802698685560861:3802698685567281 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376326810) = 0 +3802698685568431:3802698685573851 1976:1980 hsa_amd_memory_async_copy(0x7f51e6400000, , 0x7f51e4200010, , , , 0, ) = 0 +3802698686924931:3802698686929781 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802698686931931:3802698686933111 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802698686934161:3802698686934991 1976:1977 hsa_signal_load_relaxed() = 1 +3802698686935821:3802698686939641 1976:1977 hsa_signal_store_screlease(, 0) = void +3802698686940521:3802698686941221 1976:1977 hsa_signal_destroy() = 0 +3802698685575031:3802698686965611 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698686978101:3802698686978721 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698686984861:3802698686985461 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802698686987341:3802698686987931 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802698686989601:3802698686990191 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802698686992121:3802698686992721 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802698686994071:3802698686994681 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802698687002251:3802698687002851 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802698687006581:3802698687007181 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698686974181:3802698687040662 1976:1980 hsa_amd_memory_unlock(0x7f52745ff000) = 0 +3802698687048732:3802698687049942 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 64 +3802698687051162:3802698687051972 1976:1980 hsa_queue_load_read_index_relaxed(0x7f5384da6000) = 64 +3802698687053192:3802698687053892 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 64 +3802698687054932:3802698687056172 1976:1980 hsa_signal_store_screlease(, 64) = void +3802698687060582:3802698687342644 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52741fe000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802698687344864:3802698687345764 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698687346624:3802698687347234 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 65 +3802698687348054:3802698687348634 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 64 +3802698687349424:3802698687350184 1976:1980 hsa_signal_store_screlease(, 65) = void +3802698687351094:3802698688508383 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698688509633:3802698688510193 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698688511583:3802698688512633 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802698688513533:3802698688515063 1976:1980 hsa_signal_create(1, , 0, 0x7f53763268b0) = 0 +3802698688515933:3802698688520123 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376326870) = 0 +3802698688521033:3802698688523323 1976:1980 hsa_amd_memory_async_copy(0x7f51e4200010, , 0x7f51e5e00000, , , , 0, ) = 0 +3802698689785812:3802698689790382 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802698689792612:3802698689793862 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802698689794912:3802698689795752 1976:1977 hsa_signal_load_relaxed() = 1 +3802698689796702:3802698689800582 1976:1977 hsa_signal_store_screlease(, 0) = void +3802698689801472:3802698689802172 1976:1977 hsa_signal_destroy() = 0 +3802698688524153:3802698689826522 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698689831563:3802698689833133 1976:1980 hsa_amd_profiling_get_dispatch_time(, , 0x7f5384c97b30) = 0 +3802698689837153:3802698689837773 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698689836973:3802698689894753 1976:1980 hsa_amd_memory_unlock(0x7f52741fe000) = 0 +3802698697090597:3802698697092107 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698697147677:3802698697548120 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52745ff000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802698697558310:3802698697559870 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698697562420:3802698697563470 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802698697564360:3802698697566660 1976:1980 hsa_signal_create(1, , 0, 0x7f5376326910) = 0 +3802698697567860:3802698697574220 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f53763268d0) = 0 +3802698697575390:3802698697580380 1976:1980 hsa_amd_memory_async_copy(0x7f51e6400000, , 0x7f51e4200010, , , , 0, ) = 0 +3802698698931780:3802698698936710 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802698698938750:3802698698939920 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802698698940970:3802698698941800 1976:1977 hsa_signal_load_relaxed() = 1 +3802698698942650:3802698698946550 1976:1977 hsa_signal_store_screlease(, 0) = void +3802698698947430:3802698698948130 1976:1977 hsa_signal_destroy() = 0 +3802698697581560:3802698698972471 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698698979731:3802698698980371 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698698986101:3802698698986701 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802698698989141:3802698698989741 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802698698991391:3802698698991981 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802698698996391:3802698698996991 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802698698998451:3802698698999061 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802698699005611:3802698699006211 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802698699008711:3802698699009301 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698698980511:3802698699046511 1976:1980 hsa_amd_memory_unlock(0x7f52745ff000) = 0 +3802698699054361:3802698699055391 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 66 +3802698699056511:3802698699057311 1976:1980 hsa_queue_load_read_index_relaxed(0x7f5384da6000) = 66 +3802698699058391:3802698699059091 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 66 +3802698699060121:3802698699061351 1976:1980 hsa_signal_store_screlease(, 66) = void +3802698699065331:3802698699343883 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52741fe000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802698699345913:3802698699346913 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698699347763:3802698699348343 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 67 +3802698699349183:3802698699349753 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 66 +3802698699353843:3802698699354643 1976:1980 hsa_signal_store_screlease(, 67) = void +3802698699355553:3802698700521632 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698700522902:3802698700523502 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698700524882:3802698700525932 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802698700526842:3802698700528352 1976:1980 hsa_signal_create(1, , 0, 0x7f5376326970) = 0 +3802698700529222:3802698700533492 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376326930) = 0 +3802698700534402:3802698700537122 1976:1980 hsa_amd_memory_async_copy(0x7f51e4200010, , 0x7f51e5e00000, , , , 0, ) = 0 +3802698701798742:3802698701803362 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802698701805502:3802698701806812 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802698701807942:3802698701808772 1976:1977 hsa_signal_load_relaxed() = 1 +3802698701809622:3802698701813362 1976:1977 hsa_signal_store_screlease(, 0) = void +3802698701814242:3802698701814952 1976:1977 hsa_signal_destroy() = 0 +3802698700537952:3802698701839252 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698701844332:3802698701845842 1976:1980 hsa_amd_profiling_get_dispatch_time(, , 0x7f5384c97b30) = 0 +3802698701849462:3802698701850122 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698701849892:3802698701909962 1976:1980 hsa_amd_memory_unlock(0x7f52741fe000) = 0 +3802698709095606:3802698709096756 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698709152636:3802698709557469 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52745ff000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802698709560989:3802698709562589 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698709564829:3802698709565889 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802698709566799:3802698709569489 1976:1980 hsa_signal_create(1, , 0, 0x7f53763269d0) = 0 +3802698709570719:3802698709577619 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376326990) = 0 +3802698709578769:3802698709583689 1976:1980 hsa_amd_memory_async_copy(0x7f51e6400000, , 0x7f51e4200010, , , , 0, ) = 0 +3802698710934579:3802698710939230 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802698710941370:3802698710942660 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802698710943700:3802698710944530 1976:1977 hsa_signal_load_relaxed() = 1 +3802698710945370:3802698710949250 1976:1977 hsa_signal_store_screlease(, 0) = void +3802698710950130:3802698710950840 1976:1977 hsa_signal_destroy() = 0 +3802698709585209:3802698710975330 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698710994020:3802698710994620 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698711003170:3802698711003760 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802698711005600:3802698711006200 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802698711007440:3802698711008040 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802698711010090:3802698711010740 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802698711012180:3802698711012770 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802698711019680:3802698711020280 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802698711023730:3802698711024320 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698710990940:3802698711056530 1976:1980 hsa_amd_memory_unlock(0x7f52745ff000) = 0 +3802698711064760:3802698711065930 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 68 +3802698711066960:3802698711067750 1976:1980 hsa_queue_load_read_index_relaxed(0x7f5384da6000) = 68 +3802698711068810:3802698711069510 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 68 +3802698711070540:3802698711071791 1976:1980 hsa_signal_store_screlease(, 68) = void +3802698711076171:3802698711355743 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52741fe000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802698711357703:3802698711358473 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698711359313:3802698711359893 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 69 +3802698711360703:3802698711361293 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 68 +3802698711362173:3802698711362953 1976:1980 hsa_signal_store_screlease(, 69) = void +3802698711363863:3802698712518511 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698712519781:3802698712520341 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698712521721:3802698712522781 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802698712523681:3802698712525201 1976:1980 hsa_signal_create(1, , 0, 0x7f5376326a30) = 0 +3802698712526081:3802698712530341 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f53763269f0) = 0 +3802698712531231:3802698712533701 1976:1980 hsa_amd_memory_async_copy(0x7f51e4200010, , 0x7f51e5e00000, , , , 0, ) = 0 +3802698713795560:3802698713800140 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802698713802360:3802698713803660 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802698713804710:3802698713805530 1976:1977 hsa_signal_load_relaxed() = 1 +3802698713806380:3802698713810361 1976:1977 hsa_signal_store_screlease(, 0) = void +3802698713814871:3802698713815611 1976:1977 hsa_signal_destroy() = 0 +3802698712534531:3802698713836321 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698713841531:3802698713842971 1976:1980 hsa_amd_profiling_get_dispatch_time(, , 0x7f5384c97b30) = 0 +3802698713846421:3802698713847081 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698713846851:3802698713906781 1976:1980 hsa_amd_memory_unlock(0x7f52741fe000) = 0 +3802698721104584:3802698721105984 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698721160075:3802698721564378 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52745ff000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802698721568398:3802698721570168 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698721572488:3802698721573548 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802698721574468:3802698721577088 1976:1980 hsa_signal_create(1, , 0, 0x7f5376326a90) = 0 +3802698721578268:3802698721584748 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376326a50) = 0 +3802698721585908:3802698721591018 1976:1980 hsa_amd_memory_async_copy(0x7f51e6400000, , 0x7f51e4200010, , , , 0, ) = 0 +3802698722943518:3802698722948408 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802698722950458:3802698722951718 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802698722952758:3802698722953588 1976:1977 hsa_signal_load_relaxed() = 1 +3802698722954438:3802698722958168 1976:1977 hsa_signal_store_screlease(, 0) = void +3802698722959078:3802698722959788 1976:1977 hsa_signal_destroy() = 0 +3802698721592208:3802698722984178 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698722991588:3802698722992218 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698722998238:3802698722998828 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802698723000788:3802698723001388 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802698723002888:3802698723003478 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802698723011109:3802698723011719 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802698723012969:3802698723013599 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802698723020099:3802698723020699 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802698723023389:3802698723023979 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698722992428:3802698723058499 1976:1980 hsa_amd_memory_unlock(0x7f52745ff000) = 0 +3802698723066969:3802698723068039 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 70 +3802698723069279:3802698723070079 1976:1980 hsa_queue_load_read_index_relaxed(0x7f5384da6000) = 70 +3802698723078759:3802698723079489 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 70 +3802698723080519:3802698723081769 1976:1980 hsa_signal_store_screlease(, 70) = void +3802698723086079:3802698723379931 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52741fe000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802698723382021:3802698723382911 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698723383771:3802698723384341 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 71 +3802698723385181:3802698723385751 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 70 +3802698723386641:3802698723387411 1976:1980 hsa_signal_store_screlease(, 71) = void +3802698723388311:3802698724512820 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698724514090:3802698724514640 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698724515900:3802698724516960 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802698724517950:3802698724519480 1976:1980 hsa_signal_create(1, , 0, 0x7f5376326af0) = 0 +3802698724520440:3802698724524700 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376326ab0) = 0 +3802698724525610:3802698724527990 1976:1980 hsa_amd_memory_async_copy(0x7f51e4200010, , 0x7f51e5e00000, , , , 0, ) = 0 +3802698725790649:3802698725795229 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802698725797479:3802698725798679 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802698725799909:3802698725800749 1976:1977 hsa_signal_load_relaxed() = 1 +3802698725801829:3802698725805749 1976:1977 hsa_signal_store_screlease(, 0) = void +3802698725806629:3802698725807329 1976:1977 hsa_signal_destroy() = 0 +3802698724528800:3802698725831719 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698725836800:3802698725838370 1976:1980 hsa_amd_profiling_get_dispatch_time(, , 0x7f5384c97b30) = 0 +3802698725842070:3802698725842740 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698725842420:3802698725901620 1976:1980 hsa_amd_memory_unlock(0x7f52741fe000) = 0 +3802698733091673:3802698733093014 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698733148014:3802698733551337 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52745ff000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802698733555107:3802698733556617 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698733559077:3802698733560127 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802698733561047:3802698733563377 1976:1980 hsa_signal_create(1, , 0, 0x7f5376326b50) = 0 +3802698733564617:3802698733570917 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376326b10) = 0 +3802698733578687:3802698733583677 1976:1980 hsa_amd_memory_async_copy(0x7f51e6400000, , 0x7f51e4200010, , , , 0, ) = 0 +3802698734934837:3802698734939487 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802698734941617:3802698734942817 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802698734943857:3802698734944687 1976:1977 hsa_signal_load_relaxed() = 1 +3802698734945537:3802698734949457 1976:1977 hsa_signal_store_screlease(, 0) = void +3802698734950337:3802698734951047 1976:1977 hsa_signal_destroy() = 0 +3802698733585167:3802698734975848 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698734985588:3802698734986248 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698734992518:3802698734993118 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802698734995118:3802698734995708 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802698734997428:3802698734998018 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802698734999948:3802698735000538 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802698735001828:3802698735002428 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802698735009948:3802698735010548 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802698735014138:3802698735014728 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698734984138:3802698735053028 1976:1980 hsa_amd_memory_unlock(0x7f52745ff000) = 0 +3802698735061508:3802698735062698 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 72 +3802698735063858:3802698735064678 1976:1980 hsa_queue_load_read_index_relaxed(0x7f5384da6000) = 72 +3802698735065778:3802698735066478 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 72 +3802698735067458:3802698735068738 1976:1980 hsa_signal_store_screlease(, 72) = void +3802698735073008:3802698735359110 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52741fe000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802698735361140:3802698735361960 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698735362810:3802698735363380 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 73 +3802698735364210:3802698735364800 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 72 +3802698735365620:3802698735366390 1976:1980 hsa_signal_store_screlease(, 73) = void +3802698735367300:3802698736567539 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698736568989:3802698736569539 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698736570769:3802698736571829 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802698736575909:3802698736577449 1976:1980 hsa_signal_create(1, , 0, 0x7f5376326bb0) = 0 +3802698736578349:3802698736582689 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376326b70) = 0 +3802698736583599:3802698736586129 1976:1980 hsa_amd_memory_async_copy(0x7f51e4200010, , 0x7f51e5e00000, , , , 0, ) = 0 +3802698737847859:3802698737852439 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802698737854589:3802698737855739 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802698737856779:3802698737857609 1976:1977 hsa_signal_load_relaxed() = 1 +3802698737858459:3802698737862319 1976:1977 hsa_signal_store_screlease(, 0) = void +3802698737863199:3802698737863909 1976:1977 hsa_signal_destroy() = 0 +3802698736586949:3802698737888239 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698737893299:3802698737894939 1976:1980 hsa_amd_profiling_get_dispatch_time(, , 0x7f5384c97b30) = 0 +3802698737898569:3802698737899219 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698737899069:3802698737958030 1976:1980 hsa_amd_memory_unlock(0x7f52741fe000) = 0 +3802698745146552:3802698745147792 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698745205463:3802698745608596 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52745ff000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802698745612496:3802698745614486 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698745616866:3802698745617916 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802698745618826:3802698745621086 1976:1980 hsa_signal_create(1, , 0, 0x7f5376326c10) = 0 +3802698745622276:3802698745629416 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376326bd0) = 0 +3802698745630576:3802698745635406 1976:1980 hsa_amd_memory_async_copy(0x7f51e6400000, , 0x7f51e4200010, , , , 0, ) = 0 +3802698746986986:3802698746991836 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802698746993876:3802698746995136 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802698746996196:3802698746997016 1976:1977 hsa_signal_load_relaxed() = 1 +3802698746997866:3802698747001716 1976:1977 hsa_signal_store_screlease(, 0) = void +3802698747002596:3802698747003306 1976:1977 hsa_signal_destroy() = 0 +3802698745636576:3802698747027656 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698747034656:3802698747035266 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698747040646:3802698747041246 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802698747043436:3802698747044026 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802698747045466:3802698747046056 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802698747054797:3802698747055417 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802698747056867:3802698747057457 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802698747064207:3802698747064807 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802698747068887:3802698747069487 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698747035726:3802698747101807 1976:1980 hsa_amd_memory_unlock(0x7f52745ff000) = 0 +3802698747109877:3802698747111037 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 74 +3802698747112007:3802698747112817 1976:1980 hsa_queue_load_read_index_relaxed(0x7f5384da6000) = 74 +3802698747113877:3802698747114577 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 74 +3802698747115567:3802698747116817 1976:1980 hsa_signal_store_screlease(, 74) = void +3802698747120907:3802698747404059 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52741fe000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802698747406149:3802698747407109 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698747407969:3802698747408579 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 75 +3802698747409389:3802698747409969 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 74 +3802698747410759:3802698747411579 1976:1980 hsa_signal_store_screlease(, 75) = void +3802698747412489:3802698748560118 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698748561358:3802698748561908 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698748563288:3802698748564358 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802698748565268:3802698748566768 1976:1980 hsa_signal_create(1, , 0, 0x7f5376326c70) = 0 +3802698748567628:3802698748571848 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376326c30) = 0 +3802698748572758:3802698748575308 1976:1980 hsa_amd_memory_async_copy(0x7f51e4200010, , 0x7f51e5e00000, , , , 0, ) = 0 +3802698749837597:3802698749842167 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802698749844477:3802698749845707 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802698749846937:3802698749847767 1976:1977 hsa_signal_load_relaxed() = 1 +3802698749848607:3802698749852287 1976:1977 hsa_signal_store_screlease(, 0) = void +3802698749853167:3802698749853887 1976:1977 hsa_signal_destroy() = 0 +3802698748576118:3802698749878308 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698749883418:3802698749884918 1976:1980 hsa_amd_profiling_get_dispatch_time(, , 0x7f5384c97b30) = 0 +3802698749888458:3802698749889118 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698749888878:3802698749947678 1976:1980 hsa_amd_memory_unlock(0x7f52741fe000) = 0 +3802698757143812:3802698757145002 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698757201192:3802698757602915 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52745ff000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802698757606775:3802698757608855 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698757611075:3802698757612135 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802698757613045:3802698757615385 1976:1980 hsa_signal_create(1, , 0, 0x7f5376326cd0) = 0 +3802698757616605:3802698757623185 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376326c90) = 0 +3802698757624355:3802698757629975 1976:1980 hsa_amd_memory_async_copy(0x7f51e6400000, , 0x7f51e4200010, , , , 0, ) = 0 +3802698758981285:3802698758985955 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802698758988245:3802698758989405 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802698758990625:3802698758991455 1976:1977 hsa_signal_load_relaxed() = 1 +3802698758992465:3802698758996385 1976:1977 hsa_signal_store_screlease(, 0) = void +3802698758997265:3802698758997975 1976:1977 hsa_signal_destroy() = 0 +3802698757631095:3802698759022496 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698759030056:3802698759030776 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698759042296:3802698759042896 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802698759044836:3802698759045426 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802698759046956:3802698759047546 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802698759049556:3802698759050156 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802698759051506:3802698759052096 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802698759058606:3802698759059196 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802698759062846:3802698759063446 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698759030806:3802698759095796 1976:1980 hsa_amd_memory_unlock(0x7f52745ff000) = 0 +3802698759104136:3802698759105536 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 76 +3802698759106496:3802698759107396 1976:1980 hsa_queue_load_read_index_relaxed(0x7f5384da6000) = 76 +3802698759108486:3802698759109196 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 76 +3802698759110166:3802698759111396 1976:1980 hsa_signal_store_screlease(, 76) = void +3802698759115876:3802698759402448 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52741fe000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802698759404578:3802698759405408 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698759410088:3802698759410728 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 77 +3802698759411568:3802698759412148 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 76 +3802698759412938:3802698759413708 1976:1980 hsa_signal_store_screlease(, 77) = void +3802698759414638:3802698760603857 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698760605147:3802698760605697 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698760607117:3802698760608177 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802698760609087:3802698760610857 1976:1980 hsa_signal_create(1, , 0, 0x7f5376326d30) = 0 +3802698760611747:3802698760615867 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376326cf0) = 0 +3802698760616767:3802698760619377 1976:1980 hsa_amd_memory_async_copy(0x7f51e4200010, , 0x7f51e5e00000, , , , 0, ) = 0 +3802698761881637:3802698761886197 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802698761888357:3802698761889677 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802698761890747:3802698761891577 1976:1977 hsa_signal_load_relaxed() = 1 +3802698761892467:3802698761896287 1976:1977 hsa_signal_store_screlease(, 0) = void +3802698761897177:3802698761897897 1976:1977 hsa_signal_destroy() = 0 +3802698760620207:3802698761922157 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698761927157:3802698761928607 1976:1980 hsa_amd_profiling_get_dispatch_time(, , 0x7f5384c97b30) = 0 +3802698761933027:3802698761933637 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698761932437:3802698761991648 1976:1980 hsa_amd_memory_unlock(0x7f52741fe000) = 0 +3802698769287562:3802698769289022 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698769344692:3802698769751915 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52745ff000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802698769755995:3802698769757655 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698769760075:3802698769761145 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802698769762065:3802698769764495 1976:1980 hsa_signal_create(1, , 0, 0x7f5376326d90) = 0 +3802698769765685:3802698769772895 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376326d50) = 0 +3802698769774095:3802698769779945 1976:1980 hsa_amd_memory_async_copy(0x7f51e6400000, , 0x7f51e4200010, , , , 0, ) = 0 +3802698771130685:3802698771135545 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802698771137535:3802698771138765 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802698771139815:3802698771140645 1976:1977 hsa_signal_load_relaxed() = 1 +3802698771144995:3802698771148775 1976:1977 hsa_signal_store_screlease(, 0) = void +3802698771149715:3802698771150425 1976:1977 hsa_signal_destroy() = 0 +3802698769781125:3802698771173425 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698771180865:3802698771181475 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698771187695:3802698771188295 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802698771190305:3802698771190895 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802698771192145:3802698771192735 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802698771201466:3802698771202066 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802698771203426:3802698771204066 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802698771210536:3802698771211126 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802698771213956:3802698771214556 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698771181695:3802698771248916 1976:1980 hsa_amd_memory_unlock(0x7f52745ff000) = 0 +3802698771257036:3802698771258056 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 78 +3802698771259076:3802698771259886 1976:1980 hsa_queue_load_read_index_relaxed(0x7f5384da6000) = 78 +3802698771261246:3802698771261946 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 78 +3802698771262916:3802698771264316 1976:1980 hsa_signal_store_screlease(, 78) = void +3802698771268416:3802698771551498 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52741fe000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802698771553518:3802698771554358 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698771555218:3802698771555788 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 79 +3802698771556598:3802698771557188 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 78 +3802698771558008:3802698771558788 1976:1980 hsa_signal_store_screlease(, 79) = void +3802698771559708:3802698772692536 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698772695236:3802698772696076 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698772697836:3802698772699046 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802698772700077:3802698772701997 1976:1980 hsa_signal_create(1, , 0, 0x7f5376326df0) = 0 +3802698772702997:3802698772707757 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376326db0) = 0 +3802698772708767:3802698772711137 1976:1980 hsa_amd_memory_async_copy(0x7f51e4200010, , 0x7f51e5e00000, , , , 0, ) = 0 +3802698773973666:3802698773978596 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802698773980646:3802698773981796 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802698773986546:3802698773987416 1976:1977 hsa_signal_load_relaxed() = 1 +3802698773988266:3802698773992086 1976:1977 hsa_signal_store_screlease(, 0) = void +3802698773992966:3802698773993676 1976:1977 hsa_signal_destroy() = 0 +3802698772712037:3802698774017956 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698774023106:3802698774024666 1976:1980 hsa_amd_profiling_get_dispatch_time(, , 0x7f5384c97b30) = 0 +3802698774028706:3802698774029326 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698774028596:3802698774086857 1976:1980 hsa_amd_memory_unlock(0x7f52741fe000) = 0 +3802698781261000:3802698781262180 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698781318611:3802698781722644 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52745ff000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802698781726544:3802698781727974 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698781730294:3802698781731354 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802698781732264:3802698781734524 1976:1980 hsa_signal_create(1, , 0, 0x7f5376326e50) = 0 +3802698781735794:3802698781742984 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376326e10) = 0 +3802698781744124:3802698781749454 1976:1980 hsa_amd_memory_async_copy(0x7f51e6400000, , 0x7f51e4200010, , , , 0, ) = 0 +3802698783100274:3802698783105214 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802698783107514:3802698783108664 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802698783109884:3802698783110724 1976:1977 hsa_signal_load_relaxed() = 1 +3802698783111814:3802698783115664 1976:1977 hsa_signal_store_screlease(, 0) = void +3802698783116544:3802698783117254 1976:1977 hsa_signal_destroy() = 0 +3802698781750664:3802698783141634 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698783148984:3802698783149594 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698783160884:3802698783161484 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802698783163484:3802698783164074 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802698783165594:3802698783166184 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802698783168274:3802698783168864 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802698783170224:3802698783170824 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802698783177014:3802698783177614 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802698783180184:3802698783180784 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698783150084:3802698783217735 1976:1980 hsa_amd_memory_unlock(0x7f52745ff000) = 0 +3802698783225655:3802698783226835 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 80 +3802698783227855:3802698783228735 1976:1980 hsa_queue_load_read_index_relaxed(0x7f5384da6000) = 80 +3802698783230035:3802698783230725 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 80 +3802698783232095:3802698783233345 1976:1980 hsa_signal_store_screlease(, 80) = void +3802698783237595:3802698783518387 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52741fe000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802698783520427:3802698783521217 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698783522067:3802698783522677 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 81 +3802698783523507:3802698783524077 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 80 +3802698783524967:3802698783525747 1976:1980 hsa_signal_store_screlease(, 81) = void +3802698783526657:3802698784620215 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698784621475:3802698784622025 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698784623305:3802698784624345 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802698784625245:3802698784626755 1976:1980 hsa_signal_create(1, , 0, 0x7f5376326eb0) = 0 +3802698784627605:3802698784631845 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376326e70) = 0 +3802698784632755:3802698784634955 1976:1980 hsa_amd_memory_async_copy(0x7f51e4200010, , 0x7f51e5e00000, , , , 0, ) = 0 +3802698785896945:3802698785901815 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802698785904135:3802698785905285 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802698785906355:3802698785907195 1976:1977 hsa_signal_load_relaxed() = 1 +3802698785908145:3802698785912065 1976:1977 hsa_signal_store_screlease(, 0) = void +3802698785912945:3802698785913645 1976:1977 hsa_signal_destroy() = 0 +3802698784635785:3802698785938065 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698785943145:3802698785944795 1976:1980 hsa_amd_profiling_get_dispatch_time(, , 0x7f5384c97b30) = 0 +3802698785951345:3802698785951965 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698785948945:3802698786007745 1976:1980 hsa_amd_memory_unlock(0x7f52741fe000) = 0 +3802698793200139:3802698793201279 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698793259509:3802698793657422 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52745ff000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802698793661192:3802698793662762 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698793665182:3802698793666242 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802698793673823:3802698793676143 1976:1980 hsa_signal_create(1, , 0, 0x7f5376326f10) = 0 +3802698793677333:3802698793683933 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376326ed0) = 0 +3802698793685073:3802698793690063 1976:1980 hsa_amd_memory_async_copy(0x7f51e6400000, , 0x7f51e4200010, , , , 0, ) = 0 +3802698795040523:3802698795045443 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802698795047523:3802698795048843 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802698795049953:3802698795050793 1976:1977 hsa_signal_load_relaxed() = 1 +3802698795051633:3802698795055493 1976:1977 hsa_signal_store_screlease(, 0) = void +3802698795056383:3802698795057093 1976:1977 hsa_signal_destroy() = 0 +3802698793691403:3802698795090853 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698795097833:3802698795098493 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698795104323:3802698795104923 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802698795107223:3802698795107813 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802698795109353:3802698795109953 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802698795114283:3802698795114883 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802698795116103:3802698795116693 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802698795124593:3802698795125193 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802698795127753:3802698795128353 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698795098003:3802698795166904 1976:1980 hsa_amd_memory_unlock(0x7f52745ff000) = 0 +3802698795174964:3802698795176144 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 82 +3802698795177194:3802698795177984 1976:1980 hsa_queue_load_read_index_relaxed(0x7f5384da6000) = 82 +3802698795179094:3802698795179794 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 82 +3802698795180834:3802698795181924 1976:1980 hsa_signal_store_screlease(, 82) = void +3802698795185944:3802698795467806 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52741fe000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802698795469876:3802698795470726 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698795471586:3802698795472206 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 83 +3802698795473036:3802698795473616 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 82 +3802698795474456:3802698795475236 1976:1980 hsa_signal_store_screlease(, 83) = void +3802698795476126:3802698796600364 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698796604774:3802698796605354 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698796606624:3802698796607674 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802698796608584:3802698796610324 1976:1980 hsa_signal_create(1, , 0, 0x7f5376326f70) = 0 +3802698796611204:3802698796615474 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376326f30) = 0 +3802698796616374:3802698796618844 1976:1980 hsa_amd_memory_async_copy(0x7f51e4200010, , 0x7f51e5e00000, , , , 0, ) = 0 +3802698797881133:3802698797885993 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802698797888063:3802698797889223 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802698797890273:3802698797891104 1976:1977 hsa_signal_load_relaxed() = 1 +3802698797891954:3802698797895734 1976:1977 hsa_signal_store_screlease(, 0) = void +3802698797896624:3802698797897324 1976:1977 hsa_signal_destroy() = 0 +3802698796619684:3802698797921584 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698797926724:3802698797928374 1976:1980 hsa_amd_profiling_get_dispatch_time(, , 0x7f5384c97b30) = 0 +3802698797932244:3802698797933034 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698797932684:3802698797991534 1976:1980 hsa_amd_memory_unlock(0x7f52741fe000) = 0 +3802698805162157:3802698805163367 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698805221588:3802698805620241 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52745ff000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802698805624141:3802698805626051 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698805628231:3802698805629281 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802698805630201:3802698805632721 1976:1980 hsa_signal_create(1, , 0, 0x7f5376326fd0) = 0 +3802698805633931:3802698805640161 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376326f90) = 0 +3802698805641421:3802698805646741 1976:1980 hsa_amd_memory_async_copy(0x7f51e6400000, , 0x7f51e4200010, , , , 0, ) = 0 +3802698806997721:3802698807002641 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802698807004801:3802698807006001 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802698807007041:3802698807007871 1976:1977 hsa_signal_load_relaxed() = 1 +3802698807008721:3802698807012491 1976:1977 hsa_signal_store_screlease(, 0) = void +3802698807013371:3802698807014071 1976:1977 hsa_signal_destroy() = 0 +3802698805647911:3802698807038391 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698807045361:3802698807045961 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698807058461:3802698807059051 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802698807060811:3802698807061401 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802698807062621:3802698807063211 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802698807064881:3802698807065471 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802698807066901:3802698807067501 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802698807073931:3802698807074521 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802698807077081:3802698807077681 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698807046491:3802698807113772 1976:1980 hsa_amd_memory_unlock(0x7f52745ff000) = 0 +3802698807121382:3802698807122592 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 84 +3802698807123612:3802698807124432 1976:1980 hsa_queue_load_read_index_relaxed(0x7f5384da6000) = 84 +3802698807125502:3802698807126202 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 84 +3802698807127262:3802698807128672 1976:1980 hsa_signal_store_screlease(, 84) = void +3802698807132822:3802698807413654 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52741fe000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802698807415684:3802698807416504 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698807417354:3802698807417964 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 85 +3802698807418804:3802698807419384 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 84 +3802698807420284:3802698807421074 1976:1980 hsa_signal_store_screlease(, 85) = void +3802698807421994:3802698808598113 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698808599433:3802698808600003 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698808605593:3802698808606653 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802698808607653:3802698808609183 1976:1980 hsa_signal_create(1, , 0, 0x7f5376327030) = 0 +3802698808610123:3802698808614613 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376326ff0) = 0 +3802698808615543:3802698808618163 1976:1980 hsa_amd_memory_async_copy(0x7f51e4200010, , 0x7f51e5e00000, , , , 0, ) = 0 +3802698809880092:3802698809884672 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802698809887042:3802698809888262 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802698809889312:3802698809890142 1976:1977 hsa_signal_load_relaxed() = 1 +3802698809890982:3802698809894732 1976:1977 hsa_signal_store_screlease(, 0) = void +3802698809895602:3802698809896332 1976:1977 hsa_signal_destroy() = 0 +3802698808619013:3802698809920573 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698809929843:3802698809931303 1976:1980 hsa_amd_profiling_get_dispatch_time(, , 0x7f5384c97b30) = 0 +3802698809936173:3802698809936813 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698809934843:3802698809995103 1976:1980 hsa_amd_memory_unlock(0x7f52741fe000) = 0 +3802698817182687:3802698817183697 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698817241797:3802698817641290 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52745ff000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802698817644840:3802698817646550 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698817648850:3802698817649900 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802698817650820:3802698817653090 1976:1980 hsa_signal_create(1, , 0, 0x7f5376327090) = 0 +3802698817654270:3802698817660700 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376327050) = 0 +3802698817661850:3802698817667000 1976:1980 hsa_amd_memory_async_copy(0x7f51e6400000, , 0x7f51e4200010, , , , 0, ) = 0 +3802698819017780:3802698819022410 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802698819024550:3802698819025700 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802698819026750:3802698819027580 1976:1977 hsa_signal_load_relaxed() = 1 +3802698819028420:3802698819032080 1976:1977 hsa_signal_store_screlease(, 0) = void +3802698819032960:3802698819033660 1976:1977 hsa_signal_destroy() = 0 +3802698817668240:3802698819058121 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698819065241:3802698819065841 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698819072051:3802698819072641 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802698819074781:3802698819075371 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802698819076931:3802698819077531 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802698819079531:3802698819080121 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802698819081321:3802698819081911 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802698819093671:3802698819094271 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802698819096921:3802698819097521 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698819066671:3802698819131891 1976:1980 hsa_amd_memory_unlock(0x7f52745ff000) = 0 +3802698819139881:3802698819140991 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 86 +3802698819142151:3802698819142961 1976:1980 hsa_queue_load_read_index_relaxed(0x7f5384da6000) = 86 +3802698819144141:3802698819144841 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 86 +3802698819150651:3802698819152051 1976:1980 hsa_signal_store_screlease(, 86) = void +3802698819156371:3802698819438763 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52741fe000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802698819440713:3802698819441563 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698819442413:3802698819443043 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 87 +3802698819443873:3802698819444453 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 86 +3802698819445253:3802698819446023 1976:1980 hsa_signal_store_screlease(, 87) = void +3802698819446923:3802698820595592 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698820596862:3802698820597402 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698820598822:3802698820599872 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802698820600762:3802698820602532 1976:1980 hsa_signal_create(1, , 0, 0x7f53763270f0) = 0 +3802698820603412:3802698820607622 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f53763270b0) = 0 +3802698820608532:3802698820610882 1976:1980 hsa_amd_memory_async_copy(0x7f51e4200010, , 0x7f51e5e00000, , , , 0, ) = 0 +3802698821873131:3802698821877692 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802698821879812:3802698821880982 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802698821882032:3802698821882862 1976:1977 hsa_signal_load_relaxed() = 1 +3802698821883702:3802698821887552 1976:1977 hsa_signal_store_screlease(, 0) = void +3802698821888442:3802698821889152 1976:1977 hsa_signal_destroy() = 0 +3802698820611712:3802698821913402 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698821918652:3802698821920562 1976:1980 hsa_amd_profiling_get_dispatch_time(, , 0x7f5384c97b30) = 0 +3802698821924462:3802698821925132 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698821924652:3802698821982822 1976:1980 hsa_amd_memory_unlock(0x7f52741fe000) = 0 +3802698829147775:3802698829148935 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698829204395:3802698829604608 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52745ff000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802698829608708:3802698829610658 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698829613008:3802698829614068 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802698829614978:3802698829617418 1976:1980 hsa_signal_create(1, , 0, 0x7f5376327150) = 0 +3802698829618608:3802698829625108 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376327110) = 0 +3802698829626268:3802698829630978 1976:1980 hsa_amd_memory_async_copy(0x7f51e6400000, , 0x7f51e4200010, , , , 0, ) = 0 +3802698830982258:3802698830986948 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802698830992428:3802698830993589 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802698830994659:3802698830995509 1976:1977 hsa_signal_load_relaxed() = 1 +3802698830996349:3802698831000269 1976:1977 hsa_signal_store_screlease(, 0) = void +3802698831001169:3802698831001899 1976:1977 hsa_signal_destroy() = 0 +3802698829632088:3802698831026339 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698831033559:3802698831034159 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698831045089:3802698831045679 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802698831047439:3802698831048029 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802698831049459:3802698831050049 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802698831051769:3802698831052359 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802698831053669:3802698831054269 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802698831060869:3802698831061459 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802698831063999:3802698831064589 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698831034529:3802698831099549 1976:1980 hsa_amd_memory_unlock(0x7f52745ff000) = 0 +3802698831107839:3802698831108949 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 88 +3802698831109939:3802698831110739 1976:1980 hsa_queue_load_read_index_relaxed(0x7f5384da6000) = 88 +3802698831111809:3802698831112509 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 88 +3802698831113479:3802698831114709 1976:1980 hsa_signal_store_screlease(, 88) = void +3802698831118839:3802698831401522 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52741fe000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802698831403532:3802698831404362 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698831405202:3802698831405832 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 89 +3802698831406662:3802698831407242 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 88 +3802698831408072:3802698831408832 1976:1980 hsa_signal_store_screlease(, 89) = void +3802698831409732:3802698832513520 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698832514810:3802698832515360 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698832516750:3802698832517820 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802698832518720:3802698832520370 1976:1980 hsa_signal_create(1, , 0, 0x7f53763271b0) = 0 +3802698832521250:3802698832525340 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376327170) = 0 +3802698832530410:3802698832532900 1976:1980 hsa_amd_memory_async_copy(0x7f51e4200010, , 0x7f51e5e00000, , , , 0, ) = 0 +3802698833794739:3802698833799609 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802698833801709:3802698833802859 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802698833803909:3802698833804729 1976:1977 hsa_signal_load_relaxed() = 1 +3802698833805579:3802698833809499 1976:1977 hsa_signal_store_screlease(, 0) = void +3802698833810379:3802698833811099 1976:1977 hsa_signal_destroy() = 0 +3802698832533740:3802698833835300 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698833840250:3802698833842220 1976:1980 hsa_amd_profiling_get_dispatch_time(, , 0x7f5384c97b30) = 0 +3802698833847430:3802698833848100 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698833846310:3802698833904950 1976:1980 hsa_amd_memory_unlock(0x7f52741fe000) = 0 +3802698841108634:3802698841109914 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698841167074:3802698841569297 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52745ff000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802698841572897:3802698841574517 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698841576867:3802698841577927 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802698841578847:3802698841581167 1976:1980 hsa_signal_create(1, , 0, 0x7f5376327210) = 0 +3802698841582427:3802698841588757 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f53763271d0) = 0 +3802698841590027:3802698841595007 1976:1980 hsa_amd_memory_async_copy(0x7f51e6400000, , 0x7f51e4200010, , , , 0, ) = 0 +3802698842945187:3802698842949877 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802698842951857:3802698842953107 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802698842954147:3802698842954977 1976:1977 hsa_signal_load_relaxed() = 1 +3802698842955817:3802698842959468 1976:1977 hsa_signal_store_screlease(, 0) = void +3802698842960348:3802698842961048 1976:1977 hsa_signal_destroy() = 0 +3802698841596087:3802698842985448 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698842992558:3802698842993168 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698842999518:3802698843000108 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802698843002408:3802698843002998 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802698843004608:3802698843005198 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802698843006868:3802698843007458 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802698843009078:3802698843009668 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802698843021648:3802698843022248 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802698843024968:3802698843025568 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698842993978:3802698843061368 1976:1980 hsa_amd_memory_unlock(0x7f52745ff000) = 0 +3802698843069638:3802698843070868 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 90 +3802698843071878:3802698843072668 1976:1980 hsa_queue_load_read_index_relaxed(0x7f5384da6000) = 90 +3802698843073888:3802698843074598 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 90 +3802698843075678:3802698843076938 1976:1980 hsa_signal_store_screlease(, 90) = void +3802698843081098:3802698843362201 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52741fe000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802698843364261:3802698843365041 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698843365901:3802698843366511 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 91 +3802698843367331:3802698843367921 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 90 +3802698843368741:3802698843369511 1976:1980 hsa_signal_store_screlease(, 91) = void +3802698843370431:3802698844524829 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698844526109:3802698844526669 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698844527919:3802698844528969 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802698844529889:3802698844531419 1976:1980 hsa_signal_create(1, , 0, 0x7f5376327270) = 0 +3802698844532289:3802698844536439 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376327230) = 0 +3802698844537369:3802698844539659 1976:1980 hsa_amd_memory_async_copy(0x7f51e4200010, , 0x7f51e5e00000, , , , 0, ) = 0 +3802698845802429:3802698845807299 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802698845809479:3802698845810629 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802698845811679:3802698845812509 1976:1977 hsa_signal_load_relaxed() = 1 +3802698845813349:3802698845817219 1976:1977 hsa_signal_store_screlease(, 0) = void +3802698845818109:3802698845818819 1976:1977 hsa_signal_destroy() = 0 +3802698844540469:3802698845843089 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698845848349:3802698845850209 1976:1980 hsa_amd_profiling_get_dispatch_time(, , 0x7f5384c97b30) = 0 +3802698845853999:3802698845854679 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698845854259:3802698845914199 1976:1980 hsa_amd_memory_unlock(0x7f52741fe000) = 0 +3802698853099933:3802698853101283 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698853164903:3802698853564906 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52745ff000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802698853568326:3802698853570116 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698853572466:3802698853573516 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802698853574406:3802698853576816 1976:1980 hsa_signal_create(1, , 0, 0x7f53763272d0) = 0 +3802698853577997:3802698853584567 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376327290) = 0 +3802698853585707:3802698853590447 1976:1980 hsa_amd_memory_async_copy(0x7f51e6400000, , 0x7f51e4200010, , , , 0, ) = 0 +3802698854947107:3802698854951957 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802698854954157:3802698854955307 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802698854956537:3802698854957367 1976:1977 hsa_signal_load_relaxed() = 1 +3802698854958457:3802698854962177 1976:1977 hsa_signal_store_screlease(, 0) = void +3802698854963067:3802698854963787 1976:1977 hsa_signal_destroy() = 0 +3802698853591527:3802698854988037 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698854995097:3802698854995697 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698855001267:3802698855001867 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802698855008327:3802698855008927 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802698855010677:3802698855011277 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802698855013327:3802698855013917 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802698855015027:3802698855015627 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802698855021797:3802698855022387 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802698855024927:3802698855025527 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698854996327:3802698855063668 1976:1980 hsa_amd_memory_unlock(0x7f52745ff000) = 0 +3802698855071938:3802698855072978 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 92 +3802698855073958:3802698855074768 1976:1980 hsa_queue_load_read_index_relaxed(0x7f5384da6000) = 92 +3802698855075858:3802698855076548 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 92 +3802698855077678:3802698855078908 1976:1980 hsa_signal_store_screlease(, 92) = void +3802698855082988:3802698855366480 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52741fe000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802698855368500:3802698855369280 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698855370140:3802698855370770 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 93 +3802698855371590:3802698855372160 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 92 +3802698855377130:3802698855377950 1976:1980 hsa_signal_store_screlease(, 93) = void +3802698855378870:3802698856509348 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698856510878:3802698856511428 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698856512688:3802698856513738 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802698856514648:3802698856516138 1976:1980 hsa_signal_create(1, , 0, 0x7f5376327330) = 0 +3802698856517008:3802698856521058 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f53763272f0) = 0 +3802698856521968:3802698856524628 1976:1980 hsa_amd_memory_async_copy(0x7f51e4200010, , 0x7f51e5e00000, , , , 0, ) = 0 +3802698857786707:3802698857791577 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802698857793737:3802698857794988 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802698857796028:3802698857796858 1976:1977 hsa_signal_load_relaxed() = 1 +3802698857797698:3802698857801438 1976:1977 hsa_signal_store_screlease(, 0) = void +3802698857802318:3802698857803038 1976:1977 hsa_signal_destroy() = 0 +3802698856525478:3802698857827418 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698857832328:3802698857834148 1976:1980 hsa_amd_profiling_get_dispatch_time(, , 0x7f5384c97b30) = 0 +3802698857839438:3802698857840078 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698857838178:3802698857897928 1976:1980 hsa_amd_memory_unlock(0x7f52741fe000) = 0 +3802698865085581:3802698865086801 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698865143242:3802698865539335 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52745ff000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802698865543165:3802698865544855 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698865547195:3802698865548255 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802698865549155:3802698865551365 1976:1980 hsa_signal_create(1, , 0, 0x7f5376327390) = 0 +3802698865552525:3802698865559385 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376327350) = 0 +3802698865560555:3802698865565715 1976:1980 hsa_amd_memory_async_copy(0x7f51e6400000, , 0x7f51e4200010, , , , 0, ) = 0 +3802698866916705:3802698866921385 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802698866923525:3802698866924735 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802698866925775:3802698866926605 1976:1977 hsa_signal_load_relaxed() = 1 +3802698866927455:3802698866931365 1976:1977 hsa_signal_store_screlease(, 0) = void +3802698866932245:3802698866932955 1976:1977 hsa_signal_destroy() = 0 +3802698865566825:3802698866957435 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698866965305:3802698866965915 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698866971535:3802698866972125 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802698866974075:3802698866974665 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802698866975915:3802698866976505 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802698866978365:3802698866978955 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802698866980405:3802698866980995 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802698866995845:3802698866996446 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802698866999066:3802698866999666 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698866966205:3802698867034026 1976:1980 hsa_amd_memory_unlock(0x7f52745ff000) = 0 +3802698867041636:3802698867042886 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 94 +3802698867043926:3802698867044806 1976:1980 hsa_queue_load_read_index_relaxed(0x7f5384da6000) = 94 +3802698867045886:3802698867046586 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 94 +3802698867047916:3802698867049166 1976:1980 hsa_signal_store_screlease(, 94) = void +3802698867053226:3802698867336108 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52741fe000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802698867338148:3802698867339048 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698867339918:3802698867340488 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 95 +3802698867341298:3802698867341878 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 94 +3802698867342718:3802698867343498 1976:1980 hsa_signal_store_screlease(, 95) = void +3802698867344388:3802698868508037 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698868509327:3802698868509877 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698868511117:3802698868512177 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802698868513087:3802698868514737 1976:1980 hsa_signal_create(1, , 0, 0x7f53763273f0) = 0 +3802698868515627:3802698868520057 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f53763273b0) = 0 +3802698868520947:3802698868523387 1976:1980 hsa_amd_memory_async_copy(0x7f51e4200010, , 0x7f51e5e00000, , , , 0, ) = 0 +3802698869785676:3802698869790236 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802698869792176:3802698869793336 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802698869794486:3802698869795306 1976:1977 hsa_signal_load_relaxed() = 1 +3802698869799726:3802698869803516 1976:1977 hsa_signal_store_screlease(, 0) = void +3802698869804426:3802698869805136 1976:1977 hsa_signal_destroy() = 0 +3802698868524237:3802698869829317 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698869834597:3802698869836297 1976:1980 hsa_amd_profiling_get_dispatch_time(, , 0x7f5384c97b30) = 0 +3802698869840347:3802698869840967 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698869840227:3802698869900707 1976:1980 hsa_amd_memory_unlock(0x7f52741fe000) = 0 +3802698877239232:3802698877240452 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698877300422:3802698877703935 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52745ff000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802698877707725:3802698877709385 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698877711855:3802698877712915 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802698877713845:3802698877716165 1976:1980 hsa_signal_create(1, , 0, 0x7f5376327450) = 0 +3802698877717465:3802698877724395 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376327410) = 0 +3802698877725565:3802698877730835 1976:1980 hsa_amd_memory_async_copy(0x7f51e6400000, , 0x7f51e4200010, , , , 0, ) = 0 +3802698879082035:3802698879086905 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802698879088925:3802698879090075 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802698879091295:3802698879092125 1976:1977 hsa_signal_load_relaxed() = 1 +3802698879093225:3802698879097336 1976:1977 hsa_signal_store_screlease(, 0) = void +3802698879098206:3802698879098916 1976:1977 hsa_signal_destroy() = 0 +3802698877732015:3802698879122126 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698879129616:3802698879130256 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698879136176:3802698879136776 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802698879144456:3802698879145056 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802698879146836:3802698879147426 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802698879149896:3802698879150496 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802698879152006:3802698879152596 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802698879159666:3802698879160266 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802698879162806:3802698879163406 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698879130396:3802698879197726 1976:1980 hsa_amd_memory_unlock(0x7f52745ff000) = 0 +3802698879205456:3802698879206616 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 96 +3802698879211886:3802698879212706 1976:1980 hsa_queue_load_read_index_relaxed(0x7f5384da6000) = 96 +3802698879214106:3802698879214806 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 96 +3802698879215846:3802698879217076 1976:1980 hsa_signal_store_screlease(, 96) = void +3802698879221136:3802698879510809 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52741fe000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802698879512869:3802698879513759 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698879514619:3802698879515239 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 97 +3802698879516059:3802698879516649 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 96 +3802698879517539:3802698879518329 1976:1980 hsa_signal_store_screlease(, 97) = void +3802698879519239:3802698880612607 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698880613837:3802698880614387 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698880615737:3802698880616787 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802698880617707:3802698880619237 1976:1980 hsa_signal_create(1, , 0, 0x7f53763274b0) = 0 +3802698880620107:3802698880624007 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376327470) = 0 +3802698880624927:3802698880627327 1976:1980 hsa_amd_memory_async_copy(0x7f51e4200010, , 0x7f51e5e00000, , , , 0, ) = 0 +3802698881890106:3802698881894666 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802698881897056:3802698881898276 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802698881899336:3802698881900176 1976:1977 hsa_signal_load_relaxed() = 1 +3802698881901016:3802698881904956 1976:1977 hsa_signal_store_screlease(, 0) = void +3802698881905836:3802698881906546 1976:1977 hsa_signal_destroy() = 0 +3802698880628157:3802698881931007 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698881935957:3802698881937697 1976:1980 hsa_amd_profiling_get_dispatch_time(, , 0x7f5384c97b30) = 0 +3802698881941267:3802698881941937 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698881941697:3802698882000587 1976:1980 hsa_amd_memory_unlock(0x7f52741fe000) = 0 +3802698889186450:3802698889187620 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698889244660:3802698889647533 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52745ff000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802698889651353:3802698889652923 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698889655363:3802698889656423 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802698889657343:3802698889659633 1976:1980 hsa_signal_create(1, , 0, 0x7f5376327510) = 0 +3802698889667293:3802698889673913 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f53763274d0) = 0 +3802698889675083:3802698889679923 1976:1980 hsa_amd_memory_async_copy(0x7f51e6400000, , 0x7f51e4200010, , , , 0, ) = 0 +3802698891030503:3802698891035344 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802698891037484:3802698891038734 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802698891039784:3802698891040614 1976:1977 hsa_signal_load_relaxed() = 1 +3802698891041454:3802698891045334 1976:1977 hsa_signal_store_screlease(, 0) = void +3802698891046214:3802698891046914 1976:1977 hsa_signal_destroy() = 0 +3802698889681103:3802698891071414 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698891081314:3802698891081964 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698891087914:3802698891088514 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802698891090684:3802698891091274 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802698891092644:3802698891093234 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802698891095254:3802698891095844 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802698891097214:3802698891097804 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802698891105534:3802698891106134 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802698891108824:3802698891109424 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698891079954:3802698891146354 1976:1980 hsa_amd_memory_unlock(0x7f52745ff000) = 0 +3802698891154624:3802698891155644 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 98 +3802698891156894:3802698891157694 1976:1980 hsa_queue_load_read_index_relaxed(0x7f5384da6000) = 98 +3802698891158784:3802698891159494 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 98 +3802698891160554:3802698891161794 1976:1980 hsa_signal_store_screlease(, 98) = void +3802698891165944:3802698891448647 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52741fe000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802698891450637:3802698891451487 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698891452347:3802698891452917 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 99 +3802698891453737:3802698891454327 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 98 +3802698891455217:3802698891455997 1976:1980 hsa_signal_store_screlease(, 99) = void +3802698891456907:3802698892608105 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698892609435:3802698892609995 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698892611395:3802698892612445 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802698892616605:3802698892618145 1976:1980 hsa_signal_create(1, , 0, 0x7f5376327570) = 0 +3802698892619035:3802698892623195 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376327530) = 0 +3802698892624125:3802698892626335 1976:1980 hsa_amd_memory_async_copy(0x7f51e4200010, , 0x7f51e5e00000, , , , 0, ) = 0 +3802698893889125:3802698893893685 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802698893895765:3802698893897005 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802698893898055:3802698893898885 1976:1977 hsa_signal_load_relaxed() = 1 +3802698893899725:3802698893903435 1976:1977 hsa_signal_store_screlease(, 0) = void +3802698893904325:3802698893905035 1976:1977 hsa_signal_destroy() = 0 +3802698892627145:3802698893929415 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698893934675:3802698893936245 1976:1980 hsa_amd_profiling_get_dispatch_time(, , 0x7f5384c97b30) = 0 +3802698893940135:3802698893940805 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698893940365:3802698893999826 1976:1980 hsa_amd_memory_unlock(0x7f52741fe000) = 0 +3802698901185309:3802698901186499 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698901243789:3802698901640642 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52745ff000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802698901644442:3802698901646062 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698901648232:3802698901649292 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802698901650212:3802698901652472 1976:1980 hsa_signal_create(1, , 0, 0x7f53763275d0) = 0 +3802698901653682:3802698901660263 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376327590) = 0 +3802698901661423:3802698901666893 1976:1980 hsa_amd_memory_async_copy(0x7f51e6400000, , 0x7f51e4200010, , , , 0, ) = 0 +3802698903017723:3802698903022373 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802698903024373:3802698903025563 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802698903026603:3802698903027433 1976:1977 hsa_signal_load_relaxed() = 1 +3802698903028273:3802698903032153 1976:1977 hsa_signal_store_screlease(, 0) = void +3802698903033033:3802698903033743 1976:1977 hsa_signal_destroy() = 0 +3802698901667983:3802698903058473 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698903066023:3802698903066623 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698903072533:3802698903073123 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802698903081413:3802698903082003 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802698903084693:3802698903085283 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802698903087173:3802698903087813 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802698903090303:3802698903090903 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802698903097203:3802698903097793 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802698903100333:3802698903100933 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698903066973:3802698903132993 1976:1980 hsa_amd_memory_unlock(0x7f52745ff000) = 0 +3802698903140494:3802698903141764 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 100 +3802698903142734:3802698903143524 1976:1980 hsa_queue_load_read_index_relaxed(0x7f5384da6000) = 100 +3802698903144614:3802698903145324 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 100 +3802698903146504:3802698903147754 1976:1980 hsa_signal_store_screlease(, 100) = void +3802698903151964:3802698903431376 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52741fe000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802698903433356:3802698903434176 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698903435066:3802698903435676 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 101 +3802698903436496:3802698903437086 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 100 +3802698903437886:3802698903438676 1976:1980 hsa_signal_store_screlease(, 101) = void +3802698903439606:3802698904597524 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698904598814:3802698904599364 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698904600744:3802698904601794 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802698904602784:3802698904604444 1976:1980 hsa_signal_create(1, , 0, 0x7f5376327630) = 0 +3802698904605374:3802698904609434 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f53763275f0) = 0 +3802698904610334:3802698904612735 1976:1980 hsa_amd_memory_async_copy(0x7f51e4200010, , 0x7f51e5e00000, , , , 0, ) = 0 +3802698905874944:3802698905879504 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802698905881904:3802698905883134 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802698905884184:3802698905885024 1976:1977 hsa_signal_load_relaxed() = 1 +3802698905886034:3802698905889994 1976:1977 hsa_signal_store_screlease(, 0) = void +3802698905890884:3802698905891584 1976:1977 hsa_signal_destroy() = 0 +3802698904613585:3802698905916144 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698905921094:3802698905922594 1976:1980 hsa_amd_profiling_get_dispatch_time(, , 0x7f5384c97b30) = 0 +3802698905926284:3802698905926974 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698905926624:3802698905984865 1976:1980 hsa_amd_memory_unlock(0x7f52741fe000) = 0 +3802698913169878:3802698913171378 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698913227108:3802698913629511 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52745ff000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802698913633441:3802698913635151 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698913637411:3802698913638471 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802698913639391:3802698913641661 1976:1980 hsa_signal_create(1, , 0, 0x7f5376327690) = 0 +3802698913642841:3802698913649411 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376327650) = 0 +3802698913650581:3802698913655711 1976:1980 hsa_amd_memory_async_copy(0x7f51e6400000, , 0x7f51e4200010, , , , 0, ) = 0 +3802698915007251:3802698915012151 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802698915014191:3802698915015401 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802698915016441:3802698915017271 1976:1977 hsa_signal_load_relaxed() = 1 +3802698915018111:3802698915021921 1976:1977 hsa_signal_store_screlease(, 0) = void +3802698915022811:3802698915023521 1976:1977 hsa_signal_destroy() = 0 +3802698913656881:3802698915047912 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698915059612:3802698915060222 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698915068102:3802698915068702 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802698915070852:3802698915071442 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802698915073032:3802698915073622 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802698915075342:3802698915075932 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802698915077122:3802698915077792 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802698915084652:3802698915085252 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802698915088772:3802698915089372 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698915056252:3802698915124832 1976:1980 hsa_amd_memory_unlock(0x7f52745ff000) = 0 +3802698915132762:3802698915133772 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 102 +3802698915134782:3802698915135582 1976:1980 hsa_queue_load_read_index_relaxed(0x7f5384da6000) = 102 +3802698915136672:3802698915137382 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 102 +3802698915138432:3802698915139682 1976:1980 hsa_signal_store_screlease(, 102) = void +3802698915143692:3802698915429944 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52741fe000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802698915435844:3802698915436754 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698915437614:3802698915438234 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 103 +3802698915439064:3802698915439654 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 102 +3802698915440534:3802698915441314 1976:1980 hsa_signal_store_screlease(, 103) = void +3802698915442224:3802698916563663 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698916565253:3802698916565813 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698916567053:3802698916568103 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802698916569013:3802698916570543 1976:1980 hsa_signal_create(1, , 0, 0x7f53763276f0) = 0 +3802698916571423:3802698916575643 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f53763276b0) = 0 +3802698916576543:3802698916578743 1976:1980 hsa_amd_memory_async_copy(0x7f51e4200010, , 0x7f51e5e00000, , , , 0, ) = 0 +3802698917841482:3802698917846042 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802698917848132:3802698917849412 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802698917850452:3802698917851282 1976:1977 hsa_signal_load_relaxed() = 1 +3802698917852122:3802698917855962 1976:1977 hsa_signal_store_screlease(, 0) = void +3802698917856852:3802698917857552 1976:1977 hsa_signal_destroy() = 0 +3802698916579563:3802698917881852 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698917887122:3802698917888972 1976:1980 hsa_amd_profiling_get_dispatch_time(, , 0x7f5384c97b30) = 0 +3802698917892992:3802698917893672 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698917893192:3802698917953563 1976:1980 hsa_amd_memory_unlock(0x7f52741fe000) = 0 +3802698925123856:3802698925125036 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698925180007:3802698925584520 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52745ff000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802698925588290:3802698925590080 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698925592600:3802698925593660 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802698925594570:3802698925596880 1976:1980 hsa_signal_create(1, , 0, 0x7f5376327750) = 0 +3802698925598310:3802698925605070 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376327710) = 0 +3802698925606240:3802698925611330 1976:1980 hsa_amd_memory_async_copy(0x7f51e6400000, , 0x7f51e4200010, , , , 0, ) = 0 +3802698926961170:3802698926966030 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802698926968040:3802698926969230 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802698926970380:3802698926971210 1976:1977 hsa_signal_load_relaxed() = 1 +3802698926975520:3802698926979200 1976:1977 hsa_signal_store_screlease(, 0) = void +3802698926980100:3802698926980800 1976:1977 hsa_signal_destroy() = 0 +3802698925612420:3802698927005350 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698927012360:3802698927012960 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698927018950:3802698927019540 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802698927029160:3802698927029760 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802698927031370:3802698927031960 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802698927033730:3802698927034370 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802698927035670:3802698927036260 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802698927042471:3802698927043061 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802698927045581:3802698927046181 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698927013670:3802698927079321 1976:1980 hsa_amd_memory_unlock(0x7f52745ff000) = 0 +3802698927087761:3802698927088711 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 104 +3802698927089701:3802698927090501 1976:1980 hsa_queue_load_read_index_relaxed(0x7f5384da6000) = 104 +3802698927091621:3802698927092331 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 104 +3802698927093301:3802698927094271 1976:1980 hsa_signal_store_screlease(, 104) = void +3802698927098371:3802698927380163 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52741fe000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802698927382193:3802698927383003 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698927383863:3802698927384483 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 105 +3802698927385293:3802698927385883 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 104 +3802698927386683:3802698927387473 1976:1980 hsa_signal_store_screlease(, 105) = void +3802698927388383:3802698928604972 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698928606272:3802698928606832 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698928608092:3802698928609142 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802698928610062:3802698928611572 1976:1980 hsa_signal_create(1, , 0, 0x7f53763277b0) = 0 +3802698928612432:3802698928616502 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376327770) = 0 +3802698928617402:3802698928619902 1976:1980 hsa_amd_memory_async_copy(0x7f51e4200010, , 0x7f51e5e00000, , , , 0, ) = 0 +3802698929882202:3802698929887072 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802698929892512:3802698929893662 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802698929894722:3802698929895552 1976:1977 hsa_signal_load_relaxed() = 1 +3802698929896402:3802698929900232 1976:1977 hsa_signal_store_screlease(, 0) = void +3802698929901122:3802698929901832 1976:1977 hsa_signal_destroy() = 0 +3802698928620732:3802698929926252 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698929931312:3802698929932942 1976:1980 hsa_amd_profiling_get_dispatch_time(, , 0x7f5384c97b30) = 0 +3802698929936382:3802698929937192 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698929936842:3802698929995863 1976:1980 hsa_amd_memory_unlock(0x7f52741fe000) = 0 +3802698937174546:3802698937175826 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698937235876:3802698937637139 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52745ff000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802698937641189:3802698937642809 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698937645019:3802698937646069 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802698937646989:3802698937649259 1976:1980 hsa_signal_create(1, , 0, 0x7f5376327810) = 0 +3802698937650449:3802698937656989 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f53763277d0) = 0 +3802698937658150:3802698937663430 1976:1980 hsa_amd_memory_async_copy(0x7f51e6400000, , 0x7f51e4200010, , , , 0, ) = 0 +3802698939014760:3802698939019610 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802698939021430:3802698939022690 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802698939023740:3802698939024570 1976:1977 hsa_signal_load_relaxed() = 1 +3802698939025420:3802698939029320 1976:1977 hsa_signal_store_screlease(, 0) = void +3802698939030210:3802698939030910 1976:1977 hsa_signal_destroy() = 0 +3802698937664580:3802698939055340 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698939067580:3802698939068180 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698939074880:3802698939075470 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802698939077550:3802698939078140 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802698939079830:3802698939080420 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802698939082110:3802698939082700 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802698939083800:3802698939084410 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802698939090560:3802698939091150 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802698939096150:3802698939096750 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698939063960:3802698939131640 1976:1980 hsa_amd_memory_unlock(0x7f52745ff000) = 0 +3802698939139621:3802698939141181 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 106 +3802698939142221:3802698939143031 1976:1980 hsa_queue_load_read_index_relaxed(0x7f5384da6000) = 106 +3802698939144101:3802698939144791 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 106 +3802698939145771:3802698939147001 1976:1980 hsa_signal_store_screlease(, 106) = void +3802698939151021:3802698939433603 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52741fe000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802698939435593:3802698939436493 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698939437353:3802698939437973 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 107 +3802698939438803:3802698939439383 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 106 +3802698939440203:3802698939440973 1976:1980 hsa_signal_store_screlease(, 107) = void +3802698939441903:3802698940650762 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698940652052:3802698940652632 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698940654042:3802698940655102 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802698940656002:3802698940657512 1976:1980 hsa_signal_create(1, , 0, 0x7f5376327870) = 0 +3802698940658372:3802698940662682 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376327830) = 0 +3802698940663612:3802698940665922 1976:1980 hsa_amd_memory_async_copy(0x7f51e4200010, , 0x7f51e5e00000, , , , 0, ) = 0 +3802698941928221:3802698941932781 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802698941935131:3802698941936361 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802698941937351:3802698941938191 1976:1977 hsa_signal_load_relaxed() = 1 +3802698941939041:3802698941943001 1976:1977 hsa_signal_store_screlease(, 0) = void +3802698941943891:3802698941944591 1976:1977 hsa_signal_destroy() = 0 +3802698940666752:3802698941968741 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698941974101:3802698941975611 1976:1980 hsa_amd_profiling_get_dispatch_time(, , 0x7f5384c97b30) = 0 +3802698941979351:3802698941980011 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698941979761:3802698942039192 1976:1980 hsa_amd_memory_unlock(0x7f52741fe000) = 0 +3802698949218295:3802698949219745 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698949276475:3802698949672398 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52745ff000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802698949676068:3802698949677848 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698949686638:3802698949687708 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802698949688608:3802698949690888 1976:1980 hsa_signal_create(1, , 0, 0x7f53763278d0) = 0 +3802698949692058:3802698949698808 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376327890) = 0 +3802698949699938:3802698949704758 1976:1980 hsa_amd_memory_async_copy(0x7f51e6400000, , 0x7f51e4200010, , , , 0, ) = 0 +3802698951054698:3802698951059558 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802698951061558:3802698951062858 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802698951063908:3802698951064728 1976:1977 hsa_signal_load_relaxed() = 1 +3802698951065578:3802698951069508 1976:1977 hsa_signal_store_screlease(, 0) = void +3802698951070388:3802698951071098 1976:1977 hsa_signal_destroy() = 0 +3802698949705868:3802698951095609 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698951102889:3802698951103499 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698951110069:3802698951110669 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802698951115189:3802698951115789 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802698951117329:3802698951117919 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802698951119919:3802698951120509 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802698951121699:3802698951122289 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802698951128549:3802698951129139 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802698951131649:3802698951132249 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698951104039:3802698951170759 1976:1980 hsa_amd_memory_unlock(0x7f52745ff000) = 0 +3802698951178619:3802698951180139 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 108 +3802698951181149:3802698951181959 1976:1980 hsa_queue_load_read_index_relaxed(0x7f5384da6000) = 108 +3802698951183039:3802698951183739 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 108 +3802698951184719:3802698951185809 1976:1980 hsa_signal_store_screlease(, 108) = void +3802698951189979:3802698951472471 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52741fe000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802698951474711:3802698951475531 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698951476401:3802698951476971 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 109 +3802698951477791:3802698951478372 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 108 +3802698951479192:3802698951479962 1976:1980 hsa_signal_store_screlease(, 109) = void +3802698951483902:3802698952593370 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698952594690:3802698952595260 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698952596670:3802698952597720 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802698952598620:3802698952600160 1976:1980 hsa_signal_create(1, , 0, 0x7f5376327930) = 0 +3802698952601030:3802698952605390 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f53763278f0) = 0 +3802698952606280:3802698952608510 1976:1980 hsa_amd_memory_async_copy(0x7f51e4200010, , 0x7f51e5e00000, , , , 0, ) = 0 +3802698953870849:3802698953875399 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802698953877409:3802698953878619 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802698953879659:3802698953880499 1976:1977 hsa_signal_load_relaxed() = 1 +3802698953881419:3802698953885269 1976:1977 hsa_signal_store_screlease(, 0) = void +3802698953886159:3802698953886869 1976:1977 hsa_signal_destroy() = 0 +3802698952609330:3802698953911050 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698953915980:3802698953917420 1976:1980 hsa_amd_profiling_get_dispatch_time(, , 0x7f5384c97b30) = 0 +3802698953921640:3802698953922250 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698953921540:3802698953981040 1976:1980 hsa_amd_memory_unlock(0x7f52741fe000) = 0 +3802698961168094:3802698961169374 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698961227444:3802698961628007 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52745ff000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802698961631997:3802698961633557 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698961635767:3802698961636817 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802698961637737:3802698961640287 1976:1980 hsa_signal_create(1, , 0, 0x7f5376327990) = 0 +3802698961641477:3802698961648277 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376327950) = 0 +3802698961649427:3802698961654537 1976:1980 hsa_amd_memory_async_copy(0x7f51e6400000, , 0x7f51e4200010, , , , 0, ) = 0 +3802698963004917:3802698963009787 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802698963011757:3802698963012937 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802698963013937:3802698963014777 1976:1977 hsa_signal_load_relaxed() = 1 +3802698963015627:3802698963019487 1976:1977 hsa_signal_store_screlease(, 0) = void +3802698963020367:3802698963021077 1976:1977 hsa_signal_destroy() = 0 +3802698961655707:3802698963045638 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698963058358:3802698963058968 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698963065698:3802698963066288 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802698963068258:3802698963068848 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802698963070098:3802698963070688 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802698963072368:3802698963072958 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802698963074178:3802698963074858 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802698963080738:3802698963081338 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802698963085188:3802698963085778 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698963053808:3802698963119998 1976:1980 hsa_amd_memory_unlock(0x7f52745ff000) = 0 +3802698963127658:3802698963128788 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 110 +3802698963129828:3802698963130628 1976:1980 hsa_queue_load_read_index_relaxed(0x7f5384da6000) = 110 +3802698963131698:3802698963132388 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 110 +3802698963133368:3802698963134628 1976:1980 hsa_signal_store_screlease(, 110) = void +3802698963138678:3802698963425740 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52741fe000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802698963427920:3802698963428780 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698963429620:3802698963430190 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 111 +3802698963431010:3802698963431600 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 110 +3802698963432380:3802698963433180 1976:1980 hsa_signal_store_screlease(, 111) = void +3802698963434080:3802698964639849 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698964641189:3802698964641749 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698964643159:3802698964644219 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802698964645129:3802698964646649 1976:1980 hsa_signal_create(1, , 0, 0x7f53763279f0) = 0 +3802698964647519:3802698964651669 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f53763279b0) = 0 +3802698964652579:3802698964654910 1976:1980 hsa_amd_memory_async_copy(0x7f51e4200010, , 0x7f51e5e00000, , , , 0, ) = 0 +3802698965916739:3802698965921299 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802698965923569:3802698965924729 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802698965925879:3802698965926709 1976:1977 hsa_signal_load_relaxed() = 1 +3802698965927659:3802698965931429 1976:1977 hsa_signal_store_screlease(, 0) = void +3802698965932319:3802698965933029 1976:1977 hsa_signal_destroy() = 0 +3802698964655740:3802698965957429 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698965962549:3802698965964109 1976:1980 hsa_amd_profiling_get_dispatch_time(, , 0x7f5384c97b30) = 0 +3802698965967749:3802698965968429 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698965967979:3802698966027440 1976:1980 hsa_amd_memory_unlock(0x7f52741fe000) = 0 +3802698973213942:3802698973215722 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698973273723:3802698973668106 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52745ff000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802698973672256:3802698973673846 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698973676016:3802698973677076 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802698973677986:3802698973680266 1976:1980 hsa_signal_create(1, , 0, 0x7f5376327a50) = 0 +3802698973681486:3802698973688366 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376327a10) = 0 +3802698973689516:3802698973694816 1976:1980 hsa_amd_memory_async_copy(0x7f51e6400000, , 0x7f51e4200010, , , , 0, ) = 0 +3802698975045096:3802698975049956 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802698975051946:3802698975053096 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802698975054146:3802698975054976 1976:1977 hsa_signal_load_relaxed() = 1 +3802698975055826:3802698975059666 1976:1977 hsa_signal_store_screlease(, 0) = void +3802698975060546:3802698975061256 1976:1977 hsa_signal_destroy() = 0 +3802698973695916:3802698975085636 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698975092706:3802698975093316 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698975099916:3802698975100516 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802698975102656:3802698975103246 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802698975104786:3802698975105376 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802698975113036:3802698975113667 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802698975115007:3802698975115647 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802698975122137:3802698975122727 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802698975125337:3802698975125937 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698975093996:3802698975160727 1976:1980 hsa_amd_memory_unlock(0x7f52745ff000) = 0 +3802698975168707:3802698975169907 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 112 +3802698975170947:3802698975171747 1976:1980 hsa_queue_load_read_index_relaxed(0x7f5384da6000) = 112 +3802698975172877:3802698975173577 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 112 +3802698975179287:3802698975180557 1976:1980 hsa_signal_store_screlease(, 112) = void +3802698975184677:3802698975467619 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52741fe000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802698975469659:3802698975470549 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698975471399:3802698975472029 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 113 +3802698975472859:3802698975473449 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 112 +3802698975474329:3802698975475109 1976:1980 hsa_signal_store_screlease(, 113) = void +3802698975476029:3802698976621348 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698976622798:3802698976623358 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698976624608:3802698976625668 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802698976626578:3802698976628188 1976:1980 hsa_signal_create(1, , 0, 0x7f5376327ab0) = 0 +3802698976629068:3802698976633298 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376327a70) = 0 +3802698976634198:3802698976636658 1976:1980 hsa_amd_memory_async_copy(0x7f51e4200010, , 0x7f51e5e00000, , , , 0, ) = 0 +3802698977899107:3802698977903977 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802698977906047:3802698977907207 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802698977908257:3802698977909097 1976:1977 hsa_signal_load_relaxed() = 1 +3802698977910197:3802698977913907 1976:1977 hsa_signal_store_screlease(, 0) = void +3802698977914797:3802698977915507 1976:1977 hsa_signal_destroy() = 0 +3802698976637508:3802698977939718 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698977944678:3802698977946328 1976:1980 hsa_amd_profiling_get_dispatch_time(, , 0x7f5384c97b30) = 0 +3802698977950188:3802698977950808 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698977950108:3802698978008098 1976:1980 hsa_amd_memory_unlock(0x7f52741fe000) = 0 +3802698985298722:3802698985299772 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698985359463:3802698985765536 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52745ff000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802698985769676:3802698985771486 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698985774116:3802698985775186 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802698985776076:3802698985778346 1976:1980 hsa_signal_create(1, , 0, 0x7f5376327b10) = 0 +3802698985779626:3802698985786416 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376327ad0) = 0 +3802698985787596:3802698985792886 1976:1980 hsa_amd_memory_async_copy(0x7f51e6400000, , 0x7f51e4200010, , , , 0, ) = 0 +3802698987495529:3802698987500369 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802698987502449:3802698987503669 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802698987504719:3802698987505549 1976:1977 hsa_signal_load_relaxed() = 1 +3802698987506379:3802698987509989 1976:1977 hsa_signal_store_screlease(, 0) = void +3802698987510869:3802698987511579 1976:1977 hsa_signal_destroy() = 0 +3802698985800596:3802698987536249 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698987547059:3802698987547859 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698987554199:3802698987554789 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802698987557299:3802698987557889 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802698987559309:3802698987559899 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802698987561619:3802698987562209 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802698987563469:3802698987564059 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802698987570329:3802698987570929 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802698987574569:3802698987575169 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698987544689:3802698987613039 1976:1980 hsa_amd_memory_unlock(0x7f52745ff000) = 0 +3802698987620930:3802698987621970 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 114 +3802698987622880:3802698987623690 1976:1980 hsa_queue_load_read_index_relaxed(0x7f5384da6000) = 114 +3802698987624740:3802698987625450 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 114 +3802698987626490:3802698987627760 1976:1980 hsa_signal_store_screlease(, 114) = void +3802698987631970:3802698987919562 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52741fe000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802698987921482:3802698987922382 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698987923242:3802698987923802 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 115 +3802698987924632:3802698987925212 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 114 +3802698987926032:3802698987926792 1976:1980 hsa_signal_store_screlease(, 115) = void +3802698987927692:3802698988929999 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698988932709:3802698988933539 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698988935069:3802698988936269 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802698988937309:3802698988939219 1976:1980 hsa_signal_create(1, , 0, 0x7f5376327b70) = 0 +3802698988940199:3802698988945269 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376327b30) = 0 +3802698988949759:3802698988952149 1976:1980 hsa_amd_memory_async_copy(0x7f51e4200010, , 0x7f51e5e00000, , , , 0, ) = 0 +3802698990546211:3802698990550771 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802698990552861:3802698990554051 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802698990555101:3802698990555931 1976:1977 hsa_signal_load_relaxed() = 1 +3802698990556781:3802698990560491 1976:1977 hsa_signal_store_screlease(, 0) = void +3802698990561371:3802698990562091 1976:1977 hsa_signal_destroy() = 0 +3802698988953079:3802698990587422 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698990592682:3802698990594192 1976:1980 hsa_amd_profiling_get_dispatch_time(, , 0x7f5384c97b30) = 0 +3802698990598342:3802698990598962 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698990598112:3802698990657672 1976:1980 hsa_amd_memory_unlock(0x7f52741fe000) = 0 +3802698997871486:3802698997873086 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698997932056:3802698998331879 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52745ff000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802698998335519:3802698998337229 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802698998339389:3802698998340439 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802698998341329:3802698998343669 1976:1980 hsa_signal_create(1, , 0, 0x7f5376327bd0) = 0 +3802698998344899:3802698998351739 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376327b90) = 0 +3802698998352919:3802698998358109 1976:1980 hsa_amd_memory_async_copy(0x7f51e6400000, , 0x7f51e4200010, , , , 0, ) = 0 +3802698999709019:3802698999713669 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802698999715670:3802698999716990 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802698999718040:3802698999718870 1976:1977 hsa_signal_load_relaxed() = 1 +3802698999719720:3802698999723650 1976:1977 hsa_signal_store_screlease(, 0) = void +3802698999724530:3802698999725230 1976:1977 hsa_signal_destroy() = 0 +3802698998359219:3802698999748450 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802698999755940:3802698999756540 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698999763530:3802698999764120 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802698999766070:3802698999766650 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802698999768130:3802698999768730 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802698999776590:3802698999777190 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802698999779560:3802698999780150 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802698999787050:3802698999787650 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802698999790230:3802698999790820 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698999757060:3802698999823410 1976:1980 hsa_amd_memory_unlock(0x7f52745ff000) = 0 +3802698999830970:3802698999832300 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 116 +3802698999833310:3802698999834140 1976:1980 hsa_queue_load_read_index_relaxed(0x7f5384da6000) = 116 +3802698999835230:3802698999835940 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 116 +3802698999837000:3802698999838250 1976:1980 hsa_signal_store_screlease(, 116) = void +3802698999842390:3802699000128403 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52741fe000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802699000130413:3802699000131233 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699000132093:3802699000132723 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 117 +3802699000133523:3802699000134143 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 116 +3802699000134943:3802699000135723 1976:1980 hsa_signal_store_screlease(, 117) = void +3802699000136643:3802699001487452 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699001490162:3802699001490992 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699001492522:3802699001493722 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802699001494762:3802699001496652 1976:1980 hsa_signal_create(1, , 0, 0x7f5376327c30) = 0 +3802699001497632:3802699001502572 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376327bf0) = 0 +3802699001503463:3802699001505813 1976:1980 hsa_amd_memory_async_copy(0x7f51e4200010, , 0x7f51e5e00000, , , , 0, ) = 0 +3802699002767832:3802699002772392 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802699002774622:3802699002775802 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802699002776842:3802699002777682 1976:1977 hsa_signal_load_relaxed() = 1 +3802699002778782:3802699002782442 1976:1977 hsa_signal_store_screlease(, 0) = void +3802699002783322:3802699002784052 1976:1977 hsa_signal_destroy() = 0 +3802699001506723:3802699002808262 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699002813112:3802699002814562 1976:1980 hsa_amd_profiling_get_dispatch_time(, , 0x7f5384c97b30) = 0 +3802699002818452:3802699002819082 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699002818412:3802699002878082 1976:1980 hsa_amd_memory_unlock(0x7f52741fe000) = 0 +3802699010224797:3802699010225987 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699010285177:3802699010685940 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52745ff000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802699010689850:3802699010691540 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699010694090:3802699010695160 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802699010696050:3802699010698290 1976:1980 hsa_signal_create(1, , 0, 0x7f5376327c90) = 0 +3802699010699470:3802699010706200 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376327c50) = 0 +3802699010707340:3802699010712801 1976:1980 hsa_amd_memory_async_copy(0x7f51e6400000, , 0x7f51e4200010, , , , 0, ) = 0 +3802699012065761:3802699012070421 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802699012072561:3802699012073721 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802699012074761:3802699012075601 1976:1977 hsa_signal_load_relaxed() = 1 +3802699012076441:3802699012080461 1976:1977 hsa_signal_store_screlease(, 0) = void +3802699012081341:3802699012082041 1976:1977 hsa_signal_destroy() = 0 +3802699010713991:3802699012092461 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699012099841:3802699012100511 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699012114511:3802699012115111 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802699012117321:3802699012117911 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802699012119551:3802699012120171 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802699012121941:3802699012122531 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802699012123831:3802699012124421 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802699012130961:3802699012131561 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802699012135531:3802699012136131 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699012100001:3802699012166931 1976:1980 hsa_amd_memory_unlock(0x7f52745ff000) = 0 +3802699012174691:3802699012175891 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 118 +3802699012176911:3802699012177711 1976:1980 hsa_queue_load_read_index_relaxed(0x7f5384da6000) = 118 +3802699012178831:3802699012179521 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 118 +3802699012180561:3802699012181801 1976:1980 hsa_signal_store_screlease(, 118) = void +3802699012185971:3802699012467524 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52741fe000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802699012469484:3802699012470314 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699012471164:3802699012471814 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 119 +3802699012476284:3802699012476894 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 118 +3802699012477824:3802699012478604 1976:1980 hsa_signal_store_screlease(, 119) = void +3802699012479514:3802699013617712 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699013620412:3802699013621252 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699013622902:3802699013624102 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802699013625142:3802699013627022 1976:1980 hsa_signal_create(1, , 0, 0x7f5376327cf0) = 0 +3802699013628002:3802699013632592 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376327cb0) = 0 +3802699013633492:3802699013635822 1976:1980 hsa_amd_memory_async_copy(0x7f51e4200010, , 0x7f51e5e00000, , , , 0, ) = 0 +3802699014899152:3802699014903732 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802699014905942:3802699014907242 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802699014908292:3802699014909132 1976:1977 hsa_signal_load_relaxed() = 1 +3802699014909972:3802699014913642 1976:1977 hsa_signal_store_screlease(, 0) = void +3802699014914522:3802699014915232 1976:1977 hsa_signal_destroy() = 0 +3802699013636712:3802699014939442 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699014944502:3802699014946292 1976:1980 hsa_amd_profiling_get_dispatch_time(, , 0x7f5384c97b30) = 0 +3802699014950032:3802699014950712 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699014950492:3802699015009792 1976:1980 hsa_amd_memory_unlock(0x7f52741fe000) = 0 +3802699022435778:3802699022437088 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699022495198:3802699022898171 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52745ff000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802699022902441:3802699022904381 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699022906701:3802699022907761 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802699022908681:3802699022911031 1976:1980 hsa_signal_create(1, , 0, 0x7f5376327d50) = 0 +3802699022912251:3802699022918781 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376327d10) = 0 +3802699022919951:3802699022924801 1976:1980 hsa_amd_memory_async_copy(0x7f51e6400000, , 0x7f51e4200010, , , , 0, ) = 0 +3802699024547473:3802699024552343 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802699024554363:3802699024555513 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802699024556553:3802699024557383 1976:1977 hsa_signal_load_relaxed() = 1 +3802699024558223:3802699024562374 1976:1977 hsa_signal_store_screlease(, 0) = void +3802699024566814:3802699024567554 1976:1977 hsa_signal_destroy() = 0 +3802699022925961:3802699024574514 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699024581814:3802699024582424 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699024588784:3802699024589384 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802699024591304:3802699024591894 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802699024593004:3802699024593594 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802699024601004:3802699024601604 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802699024602924:3802699024603514 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802699024611624:3802699024612224 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802699024614864:3802699024615454 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699024582794:3802699024648214 1976:1980 hsa_amd_memory_unlock(0x7f52745ff000) = 0 +3802699024655824:3802699024656994 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 120 +3802699024658004:3802699024658884 1976:1980 hsa_queue_load_read_index_relaxed(0x7f5384da6000) = 120 +3802699024660004:3802699024660704 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 120 +3802699024661684:3802699024662914 1976:1980 hsa_signal_store_screlease(, 120) = void +3802699024667134:3802699024949006 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52741fe000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802699024951016:3802699024951806 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699024952676:3802699024953286 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 121 +3802699024954116:3802699024954696 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 120 +3802699024955526:3802699024956296 1976:1980 hsa_signal_store_screlease(, 121) = void +3802699024957196:3802699025967444 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699025970144:3802699025970984 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699025972614:3802699025973814 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802699025974944:3802699025976794 1976:1980 hsa_signal_create(1, , 0, 0x7f5376327db0) = 0 +3802699025977874:3802699025982394 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376327d70) = 0 +3802699025983374:3802699025985754 1976:1980 hsa_amd_memory_async_copy(0x7f51e4200010, , 0x7f51e5e00000, , , , 0, ) = 0 +3802699027540186:3802699027544766 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802699027546826:3802699027548096 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802699027549136:3802699027549966 1976:1977 hsa_signal_load_relaxed() = 1 +3802699027554436:3802699027558156 1976:1977 hsa_signal_store_screlease(, 0) = void +3802699027559056:3802699027559766 1976:1977 hsa_signal_destroy() = 0 +3802699025986664:3802699027583736 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699027588916:3802699027590576 1976:1980 hsa_amd_profiling_get_dispatch_time(, , 0x7f5384c97b30) = 0 +3802699027593876:3802699027594526 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699027594376:3802699027653357 1976:1980 hsa_amd_memory_unlock(0x7f52741fe000) = 0 +3802699035014470:3802699035015470 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699035076511:3802699035481224 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52745ff000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802699035485204:3802699035487004 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699035489334:3802699035490394 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802699035491314:3802699035493624 1976:1980 hsa_signal_create(1, , 0, 0x7f5376327e10) = 0 +3802699035494824:3802699035501404 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376327dd0) = 0 +3802699035502564:3802699035507194 1976:1980 hsa_amd_memory_async_copy(0x7f51e6400000, , 0x7f51e4200010, , , , 0, ) = 0 +3802699036858514:3802699036863464 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802699036865454:3802699036866604 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802699036867664:3802699036868494 1976:1977 hsa_signal_load_relaxed() = 1 +3802699036869334:3802699036873204 1976:1977 hsa_signal_store_screlease(, 0) = void +3802699036874074:3802699036874774 1976:1977 hsa_signal_destroy() = 0 +3802699035508364:3802699036899594 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699036906655:3802699036907265 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699036918625:3802699036919225 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802699036921315:3802699036921905 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802699036923525:3802699036924125 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802699036925835:3802699036926425 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802699036927665:3802699036928265 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802699036934895:3802699036935495 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802699036938185:3802699036938775 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699036907925:3802699036973845 1976:1980 hsa_amd_memory_unlock(0x7f52745ff000) = 0 +3802699036986475:3802699036987505 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 122 +3802699036988775:3802699036989565 1976:1980 hsa_queue_load_read_index_relaxed(0x7f5384da6000) = 122 +3802699036990635:3802699036991345 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 122 +3802699036992325:3802699036993585 1976:1980 hsa_signal_store_screlease(, 122) = void +3802699036997625:3802699037283477 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52741fe000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802699037285407:3802699037286227 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699037287067:3802699037287687 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 123 +3802699037288527:3802699037289117 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 122 +3802699037289957:3802699037290737 1976:1980 hsa_signal_store_screlease(, 123) = void +3802699037291657:3802699038499776 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699038502476:3802699038503306 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699038504846:3802699038506046 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802699038507076:3802699038509126 1976:1980 hsa_signal_create(1, , 0, 0x7f5376327e70) = 0 +3802699038510106:3802699038514566 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376327e30) = 0 +3802699038515557:3802699038517957 1976:1980 hsa_amd_memory_async_copy(0x7f51e4200010, , 0x7f51e5e00000, , , , 0, ) = 0 +3802699039779436:3802699039784366 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802699039786646:3802699039787796 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802699039788836:3802699039789666 1976:1977 hsa_signal_load_relaxed() = 1 +3802699039790506:3802699039794286 1976:1977 hsa_signal_store_screlease(, 0) = void +3802699039795166:3802699039795866 1976:1977 hsa_signal_destroy() = 0 +3802699038518867:3802699039818716 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699039823876:3802699039825476 1976:1980 hsa_amd_profiling_get_dispatch_time(, , 0x7f5384c97b30) = 0 +3802699039832676:3802699039833286 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699039829616:3802699039889507 1976:1980 hsa_amd_memory_unlock(0x7f52741fe000) = 0 +3802699047211661:3802699047213021 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699047275162:3802699047679945 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52745ff000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802699047683785:3802699047685515 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699047687805:3802699047688865 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802699047689765:3802699047692425 1976:1980 hsa_signal_create(1, , 0, 0x7f5376327ed0) = 0 +3802699047700245:3802699047706365 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376327e90) = 0 +3802699047707515:3802699047712715 1976:1980 hsa_amd_memory_async_copy(0x7f51e6400000, , 0x7f51e4200010, , , , 0, ) = 0 +3802699049064415:3802699049069265 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802699049071335:3802699049072485 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802699049073535:3802699049074365 1976:1977 hsa_signal_load_relaxed() = 1 +3802699049075205:3802699049078955 1976:1977 hsa_signal_store_screlease(, 0) = void +3802699049079835:3802699049080545 1976:1977 hsa_signal_destroy() = 0 +3802699047713925:3802699049105675 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699049112745:3802699049113355 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699049119995:3802699049120585 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802699049122695:3802699049123285 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802699049124705:3802699049125295 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802699049129995:3802699049130595 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802699049132035:3802699049132625 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802699049138906:3802699049139506 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802699049142116:3802699049142716 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699049114405:3802699049181846 1976:1980 hsa_amd_memory_unlock(0x7f52745ff000) = 0 +3802699049189876:3802699049190936 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 124 +3802699049191956:3802699049192766 1976:1980 hsa_queue_load_read_index_relaxed(0x7f5384da6000) = 124 +3802699049194056:3802699049194756 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 124 +3802699049195736:3802699049196966 1976:1980 hsa_signal_store_screlease(, 124) = void +3802699049201156:3802699049485968 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52741fe000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802699049487968:3802699049488808 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699049489668:3802699049490238 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 125 +3802699049491068:3802699049491648 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 124 +3802699049492468:3802699049493248 1976:1980 hsa_signal_store_screlease(, 125) = void +3802699049494168:3802699050641227 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699050643937:3802699050644777 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699050650537:3802699050651757 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802699050652817:3802699050654767 1976:1980 hsa_signal_create(1, , 0, 0x7f5376327f30) = 0 +3802699050655757:3802699050660077 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376327ef0) = 0 +3802699050660967:3802699050663407 1976:1980 hsa_amd_memory_async_copy(0x7f51e4200010, , 0x7f51e5e00000, , , , 0, ) = 0 +3802699051926316:3802699051930876 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802699051932886:3802699051934136 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802699051935186:3802699051936026 1976:1977 hsa_signal_load_relaxed() = 1 +3802699051936866:3802699051940626 1976:1977 hsa_signal_store_screlease(, 0) = void +3802699051941506:3802699051942206 1976:1977 hsa_signal_destroy() = 0 +3802699050664317:3802699051965047 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699051970027:3802699051971467 1976:1980 hsa_amd_profiling_get_dispatch_time(, , 0x7f5384c97b30) = 0 +3802699051975137:3802699051975837 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699051975677:3802699052178058 1976:1980 hsa_amd_memory_unlock(0x7f52741fe000) = 0 +3802699059207120:3802699059208240 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699059271590:3802699059916145 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52745ff000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802699059920485:3802699059922085 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699059925895:3802699059926915 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802699059928075:3802699059931055 1976:1980 hsa_signal_create(1, , 0, 0x7f5376327f90) = 0 +3802699059932105:3802699059939375 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376327f50) = 0 +3802699059940615:3802699059946075 1976:1980 hsa_amd_memory_async_copy(0x7f51e6400000, , 0x7f51e4200010, , , , 0, ) = 0 +3802699061520457:3802699061525367 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802699061527847:3802699061529097 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802699061530147:3802699061531067 1976:1977 hsa_signal_load_relaxed() = 1 +3802699061531907:3802699061536827 1976:1977 hsa_signal_store_screlease(, 0) = void +3802699061537697:3802699061538417 1976:1977 hsa_signal_destroy() = 0 +3802699059947315:3802699061564317 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699061573727:3802699061574337 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699061589607:3802699061590197 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802699061592737:3802699061593737 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802699061598527:3802699061599127 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802699061600757:3802699061601347 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802699061602797:3802699061603397 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802699061611227:3802699061611827 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802699061614418:3802699061615018 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699061573137:3802699061637168 1976:1980 hsa_amd_memory_unlock(0x7f52745ff000) = 0 +3802699061646478:3802699061647708 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 126 +3802699061648828:3802699061649778 1976:1980 hsa_queue_load_read_index_relaxed(0x7f5384da6000) = 126 +3802699061650968:3802699061651698 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 126 +3802699061652808:3802699061654288 1976:1980 hsa_signal_store_screlease(, 126) = void +3802699061658948:3802699061943540 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52741fe000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802699061945600:3802699061946640 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699061947470:3802699061948080 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 127 +3802699061948880:3802699061949460 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 126 +3802699061950220:3802699061951060 1976:1980 hsa_signal_store_screlease(, 127) = void +3802699061951940:3802699062971338 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699062974118:3802699062974938 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699062976618:3802699062977798 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802699062978838:3802699062981118 1976:1980 hsa_signal_create(1, , 0, 0x7f5376327ff0) = 0 +3802699062981958:3802699062986908 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376327fb0) = 0 +3802699062987768:3802699062990348 1976:1980 hsa_amd_memory_async_copy(0x7f51e4200010, , 0x7f51e5e00000, , , , 0, ) = 0 +3802699064518219:3802699064522949 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802699064525159:3802699064526319 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802699064527359:3802699064528289 1976:1977 hsa_signal_load_relaxed() = 1 +3802699064529139:3802699064533389 1976:1977 hsa_signal_store_screlease(, 0) = void +3802699064534249:3802699064534959 1976:1977 hsa_signal_destroy() = 0 +3802699062991238:3802699064545659 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699064551059:3802699064552439 1976:1980 hsa_amd_profiling_get_dispatch_time(, , 0x7f5384c97b30) = 0 +3802699064564179:3802699064564789 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699064560469:3802699064617270 1976:1980 hsa_amd_memory_unlock(0x7f52741fe000) = 0 +3802699071841814:3802699071843414 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699071888694:3802699072193996 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52745ff000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802699072196896:3802699072197786 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699072202526:3802699072203546 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802699072204676:3802699072206506 1976:1980 hsa_signal_create(1, , 0, 0x7f5376328050) = 0 +3802699072207716:3802699072212686 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376328010) = 0 +3802699072213746:3802699072215886 1976:1980 hsa_amd_memory_async_copy(0x7f51e6400000, , 0x7f51e4200010, , , , 0, ) = 0 +3802699073706007:3802699073710957 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802699073713338:3802699073714488 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802699073715528:3802699073716458 1976:1977 hsa_signal_load_relaxed() = 1 +3802699073717298:3802699073720718 1976:1977 hsa_signal_store_screlease(, 0) = void +3802699073721608:3802699073722328 1976:1977 hsa_signal_destroy() = 0 +3802699072216806:3802699073747468 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699073756488:3802699073757508 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699073765408:3802699073766008 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802699073768258:3802699073768848 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802699073770398:3802699073770988 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802699073773608:3802699073774578 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802699073776158:3802699073776748 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802699073792798:3802699073793398 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802699073796048:3802699073796648 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699073754958:3802699073815578 1976:1980 hsa_amd_memory_unlock(0x7f52745ff000) = 0 +3802699073822398:3802699073823118 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 128 +3802699073824138:3802699073824788 1976:1980 hsa_queue_load_read_index_relaxed(0x7f5384da6000) = 128 +3802699073825688:3802699073826298 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 128 +3802699073827198:3802699073828148 1976:1980 hsa_signal_store_screlease(, 128) = void +3802699073835338:3802699074096740 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52741fe000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802699074098690:3802699074099580 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699074100400:3802699074101010 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 129 +3802699074101820:3802699074102390 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 128 +3802699074103150:3802699074104020 1976:1980 hsa_signal_store_screlease(, 129) = void +3802699074104920:3802699075150908 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699075153608:3802699075154458 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699075156298:3802699075157478 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802699075158508:3802699075160668 1976:1980 hsa_signal_create(1, , 0, 0x7f53763280b0) = 0 +3802699075161728:3802699075166848 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376328070) = 0 +3802699075167728:3802699075169848 1976:1980 hsa_amd_memory_async_copy(0x7f51e4200010, , 0x7f51e5e00000, , , , 0, ) = 0 +3802699076435558:3802699076440488 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802699076442938:3802699076444088 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802699076445138:3802699076446168 1976:1977 hsa_signal_load_relaxed() = 1 +3802699076447288:3802699076451468 1976:1977 hsa_signal_store_screlease(, 0) = void +3802699076452338:3802699076453058 1976:1977 hsa_signal_destroy() = 0 +3802699075170738:3802699076465698 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699076469718:3802699076470968 1976:1980 hsa_amd_profiling_get_dispatch_time(, , 0x7f5384c97b30) = 0 +3802699076476758:3802699076477738 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699076474568:3802699076530978 1976:1980 hsa_amd_memory_unlock(0x7f52741fe000) = 0 +3802699083680512:3802699083681952 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699083725912:3802699084025194 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52745ff000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802699084028054:3802699084028944 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699084030574:3802699084031584 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802699084032744:3802699084034414 1976:1980 hsa_signal_create(1, , 0, 0x7f5376328110) = 0 +3802699084035344:3802699084040344 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f53763280d0) = 0 +3802699084041514:3802699084043514 1976:1980 hsa_amd_memory_async_copy(0x7f51e6400000, , 0x7f51e4200010, , , , 0, ) = 0 +3802699085534605:3802699085539315 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802699085541565:3802699085542765 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802699085547705:3802699085548655 1976:1977 hsa_signal_load_relaxed() = 1 +3802699085549505:3802699085553405 1976:1977 hsa_signal_store_screlease(, 0) = void +3802699085554275:3802699085554985 1976:1977 hsa_signal_destroy() = 0 +3802699084044424:3802699085586606 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699085595296:3802699085596286 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699085612786:3802699085613376 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802699085615496:3802699085616096 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802699085617446:3802699085618036 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802699085619786:3802699085620376 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802699085621816:3802699085622406 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802699085630876:3802699085631466 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802699085634416:3802699085635006 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699085593476:3802699085652776 1976:1980 hsa_amd_memory_unlock(0x7f52745ff000) = 0 +3802699085659496:3802699085660216 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 130 +3802699085661126:3802699085661776 1976:1980 hsa_queue_load_read_index_relaxed(0x7f5384da6000) = 130 +3802699085662676:3802699085663276 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 130 +3802699085664166:3802699085665096 1976:1980 hsa_signal_store_screlease(, 130) = void +3802699085669016:3802699085930918 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52741fe000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802699085932898:3802699085933738 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699085934568:3802699085935178 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 131 +3802699085935968:3802699085936538 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 130 +3802699085937288:3802699085938168 1976:1980 hsa_signal_store_screlease(, 131) = void +3802699085939048:3802699086991066 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699086993756:3802699086994586 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699086996246:3802699086997426 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802699086998436:3802699087000686 1976:1980 hsa_signal_create(1, , 0, 0x7f5376328170) = 0 +3802699087001726:3802699087006606 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376328130) = 0 +3802699087007466:3802699087009586 1976:1980 hsa_amd_memory_async_copy(0x7f51e4200010, , 0x7f51e5e00000, , , , 0, ) = 0 +3802699088501727:3802699088506657 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802699088508807:3802699088509967 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802699088511007:3802699088511927 1976:1977 hsa_signal_load_relaxed() = 1 +3802699088512777:3802699088516917 1976:1977 hsa_signal_store_screlease(, 0) = void +3802699088517797:3802699088518517 1976:1977 hsa_signal_destroy() = 0 +3802699087014416:3802699088528067 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699088533087:3802699088534287 1976:1980 hsa_amd_profiling_get_dispatch_time(, , 0x7f5384c97b30) = 0 +3802699088545287:3802699088545917 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699088537807:3802699088596137 1976:1980 hsa_amd_memory_unlock(0x7f52741fe000) = 0 +3802699095731290:3802699095732290 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699095784541:3802699096093483 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52745ff000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802699096096153:3802699096097103 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699096098603:3802699096099613 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802699096100723:3802699096102503 1976:1980 hsa_signal_create(1, , 0, 0x7f53763281d0) = 0 +3802699096103653:3802699096108493 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376328190) = 0 +3802699096109563:3802699096111573 1976:1980 hsa_amd_memory_async_copy(0x7f51e6400000, , 0x7f51e4200010, , , , 0, ) = 0 +3802699097604324:3802699097609034 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802699097611254:3802699097612414 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802699097613454:3802699097614374 1976:1977 hsa_signal_load_relaxed() = 1 +3802699097615225:3802699097619275 1976:1977 hsa_signal_store_screlease(, 0) = void +3802699097620165:3802699097620875 1976:1977 hsa_signal_destroy() = 0 +3802699096112473:3802699097645565 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699097654525:3802699097655515 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699097662645:3802699097663245 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802699097665225:3802699097665815 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802699097667585:3802699097668185 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802699097670625:3802699097671735 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802699097673295:3802699097673885 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802699097690215:3802699097690805 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802699097695115:3802699097695715 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699097653125:3802699097712525 1976:1980 hsa_amd_memory_unlock(0x7f52745ff000) = 0 +3802699097719585:3802699097720315 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 132 +3802699097721205:3802699097721845 1976:1980 hsa_queue_load_read_index_relaxed(0x7f5384da6000) = 132 +3802699097722745:3802699097723345 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 132 +3802699097724245:3802699097725255 1976:1980 hsa_signal_store_screlease(, 132) = void +3802699097729255:3802699097989397 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52741fe000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802699097991287:3802699097992157 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699097992977:3802699097993587 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 133 +3802699097994417:3802699097994967 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 132 +3802699097995757:3802699097996627 1976:1980 hsa_signal_store_screlease(, 133) = void +3802699097997517:3802699099028525 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699099031225:3802699099032055 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699099033715:3802699099034905 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802699099035915:3802699099038035 1976:1980 hsa_signal_create(1, , 0, 0x7f5376328230) = 0 +3802699099039055:3802699099044495 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f53763281f0) = 0 +3802699099045385:3802699099047515 1976:1980 hsa_amd_memory_async_copy(0x7f51e4200010, , 0x7f51e5e00000, , , , 0, ) = 0 +3802699100472956:3802699100477656 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802699100479986:3802699100481136 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802699100482186:3802699100483106 1976:1977 hsa_signal_load_relaxed() = 1 +3802699100483946:3802699100488106 1976:1977 hsa_signal_store_screlease(, 0) = void +3802699100488986:3802699100489706 1976:1977 hsa_signal_destroy() = 0 +3802699099048405:3802699100500886 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699100505656:3802699100506806 1976:1980 hsa_amd_profiling_get_dispatch_time(, , 0x7f5384c97b30) = 0 +3802699100512686:3802699100513666 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699100510506:3802699100567726 1976:1980 hsa_amd_memory_unlock(0x7f52741fe000) = 0 +3802699107691899:3802699107693129 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699107739040:3802699108055092 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52745ff000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802699108060962:3802699108061862 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699108063342:3802699108064352 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802699108065212:3802699108066882 1976:1980 hsa_signal_create(1, , 0, 0x7f5376328290) = 0 +3802699108067742:3802699108072392 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376328250) = 0 +3802699108073272:3802699108075382 1976:1980 hsa_amd_memory_async_copy(0x7f51e6400000, , 0x7f51e4200010, , , , 0, ) = 0 +3802699109571003:3802699109575933 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802699109578083:3802699109579243 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802699109580284:3802699109581204 1976:1977 hsa_signal_load_relaxed() = 1 +3802699109582054:3802699109585874 1976:1977 hsa_signal_store_screlease(, 0) = void +3802699109586754:3802699109587464 1976:1977 hsa_signal_destroy() = 0 +3802699108076302:3802699109612414 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699109620654:3802699109621754 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699109629044:3802699109629634 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802699109640014:3802699109640614 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802699109642164:3802699109642754 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802699109644594:3802699109645184 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802699109646494:3802699109647084 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802699109655124:3802699109655724 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802699109658754:3802699109659354 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699109619774:3802699109678954 1976:1980 hsa_amd_memory_unlock(0x7f52745ff000) = 0 +3802699109685534:3802699109686254 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 134 +3802699109687494:3802699109688144 1976:1980 hsa_queue_load_read_index_relaxed(0x7f5384da6000) = 134 +3802699109689264:3802699109689864 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 134 +3802699109690834:3802699109691764 1976:1980 hsa_signal_store_screlease(, 134) = void +3802699109695694:3802699109956586 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52741fe000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802699109958486:3802699109959366 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699109960166:3802699109960766 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 135 +3802699109961556:3802699109962116 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 134 +3802699109962886:3802699109963706 1976:1980 hsa_signal_store_screlease(, 135) = void +3802699109967606:3802699110992764 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699110995464:3802699110996284 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699110997954:3802699110999144 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802699111000174:3802699111002314 1976:1980 hsa_signal_create(1, , 0, 0x7f53763282f0) = 0 +3802699111003364:3802699111008394 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f53763282b0) = 0 +3802699111009254:3802699111011394 1976:1980 hsa_amd_memory_async_copy(0x7f51e4200010, , 0x7f51e5e00000, , , , 0, ) = 0 +3802699112503445:3802699112508015 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802699112510445:3802699112511595 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802699112512595:3802699112513525 1976:1977 hsa_signal_load_relaxed() = 1 +3802699112514365:3802699112518515 1976:1977 hsa_signal_store_screlease(, 0) = void +3802699112519395:3802699112520115 1976:1977 hsa_signal_destroy() = 0 +3802699111012284:3802699112529665 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699112534745:3802699112535835 1976:1980 hsa_amd_profiling_get_dispatch_time(, , 0x7f5384c97b30) = 0 +3802699112543906:3802699112544516 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699112540086:3802699112598096 1976:1980 hsa_amd_memory_unlock(0x7f52741fe000) = 0 +3802699119739168:3802699119740388 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699119784899:3802699120094441 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52745ff000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802699120097111:3802699120098001 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699120099541:3802699120100551 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802699120101691:3802699120103471 1976:1980 hsa_signal_create(1, , 0, 0x7f5376328350) = 0 +3802699120104671:3802699120109351 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376328310) = 0 +3802699120110401:3802699120112381 1976:1980 hsa_amd_memory_async_copy(0x7f51e6400000, , 0x7f51e4200010, , , , 0, ) = 0 +3802699121606632:3802699121611572 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802699121613762:3802699121614912 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802699121615962:3802699121616892 1976:1977 hsa_signal_load_relaxed() = 1 +3802699121617732:3802699121621792 1976:1977 hsa_signal_store_screlease(, 0) = void +3802699121622682:3802699121623402 1976:1977 hsa_signal_destroy() = 0 +3802699120113301:3802699121648132 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699121660723:3802699121661733 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699121676663:3802699121677433 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802699121679943:3802699121680533 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802699121681953:3802699121682543 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802699121684173:3802699121684763 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802699121686003:3802699121686593 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802699121696003:3802699121696603 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802699121699213:3802699121699813 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699121659373:3802699121719263 1976:1980 hsa_amd_memory_unlock(0x7f52745ff000) = 0 +3802699121726203:3802699121726913 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 136 +3802699121727953:3802699121728603 1976:1980 hsa_queue_load_read_index_relaxed(0x7f5384da6000) = 136 +3802699121729493:3802699121730093 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 136 +3802699121730993:3802699121731933 1976:1980 hsa_signal_store_screlease(, 136) = void +3802699121735933:3802699121996005 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52741fe000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802699121998015:3802699121998905 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699121999735:3802699122000295 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 137 +3802699122001065:3802699122001635 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 136 +3802699122002395:3802699122003215 1976:1980 hsa_signal_store_screlease(, 137) = void +3802699122004115:3802699123034513 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699123037203:3802699123038033 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699123039693:3802699123040873 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802699123041883:3802699123044183 1976:1980 hsa_signal_create(1, , 0, 0x7f53763283b0) = 0 +3802699123045213:3802699123050413 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376328370) = 0 +3802699123051283:3802699123053543 1976:1980 hsa_amd_memory_async_copy(0x7f51e4200010, , 0x7f51e5e00000, , , , 0, ) = 0 +3802699124498654:3802699124503594 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802699124505904:3802699124507054 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802699124508104:3802699124509034 1976:1977 hsa_signal_load_relaxed() = 1 +3802699124509874:3802699124513994 1976:1977 hsa_signal_store_screlease(, 0) = void +3802699124514884:3802699124515594 1976:1977 hsa_signal_destroy() = 0 +3802699123054433:3802699124530594 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699124535614:3802699124536704 1976:1980 hsa_amd_profiling_get_dispatch_time(, , 0x7f5384c97b30) = 0 +3802699124542194:3802699124543174 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699124540014:3802699124597404 1976:1980 hsa_amd_memory_unlock(0x7f52741fe000) = 0 +3802699131735888:3802699131736978 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699131780128:3802699132089580 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52745ff000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802699132092390:3802699132093270 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699132094890:3802699132095900 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802699132097080:3802699132098740 1976:1980 hsa_signal_create(1, , 0, 0x7f5376328410) = 0 +3802699132099680:3802699132104500 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f53763283d0) = 0 +3802699132105660:3802699132107720 1976:1980 hsa_amd_memory_async_copy(0x7f51e6400000, , 0x7f51e4200010, , , , 0, ) = 0 +3802699133601471:3802699133606401 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802699133608261:3802699133609411 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802699133610451:3802699133611371 1976:1977 hsa_signal_load_relaxed() = 1 +3802699133612221:3802699133616301 1976:1977 hsa_signal_store_screlease(, 0) = void +3802699133617191:3802699133617892 1976:1977 hsa_signal_destroy() = 0 +3802699132108630:3802699133648692 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699133657262:3802699133658232 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699133664742:3802699133665342 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802699133675682:3802699133676282 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802699133678042:3802699133678622 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802699133680412:3802699133681002 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802699133682622:3802699133683212 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802699133693082:3802699133693682 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802699133696232:3802699133696832 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699133655622:3802699133714472 1976:1980 hsa_amd_memory_unlock(0x7f52745ff000) = 0 +3802699133721772:3802699133722512 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 138 +3802699133723712:3802699133724362 1976:1980 hsa_queue_load_read_index_relaxed(0x7f5384da6000) = 138 +3802699133728802:3802699133729432 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 138 +3802699133730382:3802699133731322 1976:1980 hsa_signal_store_screlease(, 138) = void +3802699133735612:3802699133996524 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52741fe000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802699133998474:3802699133999374 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699134000214:3802699134000824 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 139 +3802699134001624:3802699134002184 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 138 +3802699134002944:3802699134003784 1976:1980 hsa_signal_store_screlease(, 139) = void +3802699134004674:3802699135031132 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699135033832:3802699135034652 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699135036322:3802699135037512 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802699135038532:3802699135040762 1976:1980 hsa_signal_create(1, , 0, 0x7f5376328470) = 0 +3802699135041832:3802699135046892 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376328430) = 0 +3802699135047772:3802699135049902 1976:1980 hsa_amd_memory_async_copy(0x7f51e4200010, , 0x7f51e5e00000, , , , 0, ) = 0 +3802699136475563:3802699136480503 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802699136482803:3802699136483953 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802699136485003:3802699136485923 1976:1977 hsa_signal_load_relaxed() = 1 +3802699136486763:3802699136490933 1976:1977 hsa_signal_store_screlease(, 0) = void +3802699136491803:3802699136492533 1976:1977 hsa_signal_destroy() = 0 +3802699135050792:3802699136501803 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699136506843:3802699136508023 1976:1980 hsa_amd_profiling_get_dispatch_time(, , 0x7f5384c97b30) = 0 +3802699136513173:3802699136514213 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699136511793:3802699136569733 1976:1980 hsa_amd_memory_unlock(0x7f52741fe000) = 0 +3802699143700377:3802699143701677 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699143752187:3802699144070719 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52745ff000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802699144073359:3802699144074259 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699144075579:3802699144076589 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802699144077729:3802699144079509 1976:1980 hsa_signal_create(1, , 0, 0x7f53763284d0) = 0 +3802699144080639:3802699144085629 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376328490) = 0 +3802699144090009:3802699144092069 1976:1980 hsa_amd_memory_async_copy(0x7f51e6400000, , 0x7f51e4200010, , , , 0, ) = 0 +3802699145586790:3802699145591750 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802699145594040:3802699145595200 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802699145596250:3802699145597170 1976:1977 hsa_signal_load_relaxed() = 1 +3802699145598020:3802699145602120 1976:1977 hsa_signal_store_screlease(, 0) = void +3802699145603000:3802699145603720 1976:1977 hsa_signal_destroy() = 0 +3802699144093039:3802699145628451 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699145645871:3802699145646491 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699145654101:3802699145655241 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802699145657231:3802699145657821 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802699145659351:3802699145659941 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802699145661901:3802699145662491 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802699145663791:3802699145664381 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802699145673901:3802699145674501 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802699145677241:3802699145677831 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699145636041:3802699145696491 1976:1980 hsa_amd_memory_unlock(0x7f52745ff000) = 0 +3802699145703271:3802699145704001 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 140 +3802699145704921:3802699145705571 1976:1980 hsa_queue_load_read_index_relaxed(0x7f5384da6000) = 140 +3802699145706461:3802699145707061 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 140 +3802699145708001:3802699145708941 1976:1980 hsa_signal_store_screlease(, 140) = void +3802699145712921:3802699145971073 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52741fe000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802699145973123:3802699145973953 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699145974773:3802699145975383 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 141 +3802699145976193:3802699145976773 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 140 +3802699145977523:3802699145978363 1976:1980 hsa_signal_store_screlease(, 141) = void +3802699145979253:3802699147015531 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699147018241:3802699147019071 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699147020751:3802699147021931 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802699147022941:3802699147025131 1976:1980 hsa_signal_create(1, , 0, 0x7f5376328530) = 0 +3802699147029921:3802699147035201 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f53763284f0) = 0 +3802699147036101:3802699147038351 1976:1980 hsa_amd_memory_async_copy(0x7f51e4200010, , 0x7f51e5e00000, , , , 0, ) = 0 +3802699148473191:3802699148477791 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802699148480031:3802699148481261 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802699148482261:3802699148483191 1976:1977 hsa_signal_load_relaxed() = 1 +3802699148484041:3802699148488231 1976:1977 hsa_signal_store_screlease(, 0) = void +3802699148489101:3802699148489811 1976:1977 hsa_signal_destroy() = 0 +3802699147039241:3802699148500531 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699148505291:3802699148506381 1976:1980 hsa_amd_profiling_get_dispatch_time(, , 0x7f5384c97b30) = 0 +3802699148512071:3802699148513061 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699148509901:3802699148567582 1976:1980 hsa_amd_memory_unlock(0x7f52741fe000) = 0 +3802699155708375:3802699155709535 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699155753605:3802699156065318 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52745ff000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802699156068128:3802699156069018 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699156070528:3802699156071548 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802699156072708:3802699156074388 1976:1980 hsa_signal_create(1, , 0, 0x7f5376328590) = 0 +3802699156075338:3802699156080158 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376328550) = 0 +3802699156081328:3802699156083478 1976:1980 hsa_amd_memory_async_copy(0x7f51e6400000, , 0x7f51e4200010, , , , 0, ) = 0 +3802699157577429:3802699157582349 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802699157584449:3802699157585719 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802699157586759:3802699157587679 1976:1977 hsa_signal_load_relaxed() = 1 +3802699157588529:3802699157592659 1976:1977 hsa_signal_store_screlease(, 0) = void +3802699157593579:3802699157594279 1976:1977 hsa_signal_destroy() = 0 +3802699156084368:3802699157619079 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699157627729:3802699157628719 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699157636019:3802699157636619 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802699157647349:3802699157647949 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802699157649369:3802699157649959 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802699157653399:3802699157653989 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802699157655079:3802699157655669 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802699157663710:3802699157664300 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802699157667320:3802699157667920 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699157626379:3802699157685350 1976:1980 hsa_amd_memory_unlock(0x7f52745ff000) = 0 +3802699157691950:3802699157692660 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 142 +3802699157693570:3802699157694210 1976:1980 hsa_queue_load_read_index_relaxed(0x7f5384da6000) = 142 +3802699157695110:3802699157695710 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 142 +3802699157696650:3802699157697580 1976:1980 hsa_signal_store_screlease(, 142) = void +3802699157701530:3802699157960982 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52741fe000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802699157962992:3802699157963872 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699157964722:3802699157965332 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 143 +3802699157966132:3802699157966722 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 142 +3802699157967582:3802699157968392 1976:1980 hsa_signal_store_screlease(, 143) = void +3802699157969302:3802699159004480 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699159007190:3802699159008020 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699159009670:3802699159010850 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802699159011870:3802699159014060 1976:1980 hsa_signal_create(1, , 0, 0x7f53763285f0) = 0 +3802699159015130:3802699159020210 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f53763285b0) = 0 +3802699159021090:3802699159023220 1976:1980 hsa_amd_memory_async_copy(0x7f51e4200010, , 0x7f51e5e00000, , , , 0, ) = 0 +3802699160474590:3802699160479521 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802699160481801:3802699160482951 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802699160484001:3802699160484921 1976:1977 hsa_signal_load_relaxed() = 1 +3802699160485771:3802699160489931 1976:1977 hsa_signal_store_screlease(, 0) = void +3802699160490811:3802699160491521 1976:1977 hsa_signal_destroy() = 0 +3802699159024100:3802699160501001 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699160506021:3802699160507091 1976:1980 hsa_amd_profiling_get_dispatch_time(, , 0x7f5384c97b30) = 0 +3802699160512371:3802699160513171 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699160510611:3802699160568721 1976:1980 hsa_amd_memory_unlock(0x7f52741fe000) = 0 +3802699167711964:3802699167713094 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699167756695:3802699168086337 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52745ff000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802699168089587:3802699168090427 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699168091877:3802699168092887 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802699168093987:3802699168095867 1976:1980 hsa_signal_create(1, , 0, 0x7f5376328650) = 0 +3802699168096977:3802699168102097 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376328610) = 0 +3802699168103137:3802699168105297 1976:1980 hsa_amd_memory_async_copy(0x7f51e6400000, , 0x7f51e4200010, , , , 0, ) = 0 +3802699169599578:3802699169604508 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802699169606948:3802699169608098 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802699169609158:3802699169610078 1976:1977 hsa_signal_load_relaxed() = 1 +3802699169610928:3802699169615418 1976:1977 hsa_signal_store_screlease(, 0) = void +3802699169616328:3802699169617038 1976:1977 hsa_signal_destroy() = 0 +3802699168106207:3802699169642789 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699169658139:3802699169658759 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699169665799:3802699169666389 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802699169668309:3802699169669079 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802699169671009:3802699169671779 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802699169673799:3802699169674389 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802699169675789:3802699169676379 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802699169687749:3802699169688339 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802699169690949:3802699169691539 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699169650259:3802699169720059 1976:1980 hsa_amd_memory_unlock(0x7f52745ff000) = 0 +3802699169726999:3802699169727729 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 144 +3802699169728689:3802699169729329 1976:1980 hsa_queue_load_read_index_relaxed(0x7f5384da6000) = 144 +3802699169730239:3802699169730839 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 144 +3802699169731739:3802699169732659 1976:1980 hsa_signal_store_screlease(, 144) = void +3802699169736699:3802699170004681 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52741fe000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802699170006871:3802699170007731 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699170012061:3802699170012701 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 145 +3802699170013551:3802699170014101 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 144 +3802699170014881:3802699170015721 1976:1980 hsa_signal_store_screlease(, 145) = void +3802699170016611:3802699171038199 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699171040869:3802699171041709 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699171043389:3802699171044569 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802699171045579:3802699171047709 1976:1980 hsa_signal_create(1, , 0, 0x7f53763286b0) = 0 +3802699171048749:3802699171053979 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376328670) = 0 +3802699171054839:3802699171056939 1976:1980 hsa_amd_memory_async_copy(0x7f51e4200010, , 0x7f51e5e00000, , , , 0, ) = 0 +3802699172475630:3802699172480570 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802699172482820:3802699172483970 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802699172485020:3802699172485940 1976:1977 hsa_signal_load_relaxed() = 1 +3802699172486790:3802699172490930 1976:1977 hsa_signal_store_screlease(, 0) = void +3802699172491820:3802699172492530 1976:1977 hsa_signal_destroy() = 0 +3802699171057829:3802699172501840 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699172506610:3802699172507700 1976:1980 hsa_amd_profiling_get_dispatch_time(, , 0x7f5384c97b30) = 0 +3802699172513340:3802699172514320 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699172511200:3802699172577560 1976:1980 hsa_amd_memory_unlock(0x7f52741fe000) = 0 +3802699179704353:3802699179705463 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699179756873:3802699180168176 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52745ff000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802699180171406:3802699180172246 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699180173886:3802699180174896 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802699180176016:3802699180177806 1976:1980 hsa_signal_create(1, , 0, 0x7f5376328710) = 0 +3802699180178736:3802699180183816 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f53763286d0) = 0 +3802699180184956:3802699180186896 1976:1980 hsa_amd_memory_async_copy(0x7f51e6400000, , 0x7f51e4200010, , , , 0, ) = 0 +3802699181689117:3802699181693827 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802699181696118:3802699181697268 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802699181698318:3802699181699238 1976:1977 hsa_signal_load_relaxed() = 1 +3802699181700088:3802699181704188 1976:1977 hsa_signal_store_screlease(, 0) = void +3802699181711008:3802699181711768 1976:1977 hsa_signal_destroy() = 0 +3802699180187836:3802699181734398 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699181743038:3802699181744058 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699181751898:3802699181752488 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802699181763388:3802699181763988 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802699181765828:3802699181766418 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802699181768468:3802699181769058 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802699181770488:3802699181771088 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802699181779318:3802699181779908 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802699181782628:3802699181783228 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699181741808:3802699181803288 1976:1980 hsa_amd_memory_unlock(0x7f52745ff000) = 0 +3802699181809938:3802699181810658 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 146 +3802699181811768:3802699181812408 1976:1980 hsa_queue_load_read_index_relaxed(0x7f5384da6000) = 146 +3802699181813498:3802699181814098 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 146 +3802699181815008:3802699181815948 1976:1980 hsa_signal_store_screlease(, 146) = void +3802699181819968:3802699182087980 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52741fe000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802699182090000:3802699182090870 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699182091700:3802699182092300 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 147 +3802699182093120:3802699182093670 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 146 +3802699182094460:3802699182095300 1976:1980 hsa_signal_store_screlease(, 147) = void +3802699182096190:3802699183119058 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699183121758:3802699183122588 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699183124238:3802699183125408 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802699183126428:3802699183128608 1976:1980 hsa_signal_create(1, , 0, 0x7f5376328770) = 0 +3802699183129638:3802699183134998 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376328730) = 0 +3802699183135858:3802699183137968 1976:1980 hsa_amd_memory_async_copy(0x7f51e4200010, , 0x7f51e5e00000, , , , 0, ) = 0 +3802699184582189:3802699184586889 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802699184589119:3802699184590279 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802699184595379:3802699184596319 1976:1977 hsa_signal_load_relaxed() = 1 +3802699184597179:3802699184601509 1976:1977 hsa_signal_store_screlease(, 0) = void +3802699184602379:3802699184603089 1976:1977 hsa_signal_destroy() = 0 +3802699183138858:3802699184613459 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699184618439:3802699184619619 1976:1980 hsa_amd_profiling_get_dispatch_time(, , 0x7f5384c97b30) = 0 +3802699184624629:3802699184625869 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699184622869:3802699184680250 1976:1980 hsa_amd_memory_unlock(0x7f52741fe000) = 0 +3802699191817283:3802699191818363 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699191869233:3802699192181316 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52745ff000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802699192184006:3802699192184896 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699192186306:3802699192187316 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802699192188476:3802699192190276 1976:1980 hsa_signal_create(1, , 0, 0x7f53763287d0) = 0 +3802699192191416:3802699192196446 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376328790) = 0 +3802699192197516:3802699192199506 1976:1980 hsa_amd_memory_async_copy(0x7f51e6400000, , 0x7f51e4200010, , , , 0, ) = 0 +3802699193561456:3802699193566226 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802699193568296:3802699193569446 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802699193570496:3802699193571406 1976:1977 hsa_signal_load_relaxed() = 1 +3802699193572256:3802699193575936 1976:1977 hsa_signal_store_screlease(, 0) = void +3802699193576836:3802699193577586 1976:1977 hsa_signal_destroy() = 0 +3802699192200406:3802699193604366 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699193621366:3802699193621996 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699193629936:3802699193631126 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802699193633126:3802699193633716 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802699193635506:3802699193636096 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802699193638136:3802699193638726 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802699193640286:3802699193640876 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802699193651816:3802699193652406 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802699193656286:3802699193656876 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699193611736:3802699193671767 1976:1980 hsa_amd_memory_unlock(0x7f52745ff000) = 0 +3802699193682507:3802699193683247 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 148 +3802699193684157:3802699193684807 1976:1980 hsa_queue_load_read_index_relaxed(0x7f5384da6000) = 148 +3802699193685707:3802699193686307 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 148 +3802699193687187:3802699193688117 1976:1980 hsa_signal_store_screlease(, 148) = void +3802699193692117:3802699193954209 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52741fe000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802699193956149:3802699193957029 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699193957849:3802699193958459 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 149 +3802699193959279:3802699193959819 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 148 +3802699193960579:3802699193961419 1976:1980 hsa_signal_store_screlease(, 149) = void +3802699193962309:3802699194994976 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699194997646:3802699194998496 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699195000176:3802699195001356 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802699195002366:3802699195004507 1976:1980 hsa_signal_create(1, , 0, 0x7f5376328830) = 0 +3802699195005527:3802699195010887 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f53763287f0) = 0 +3802699195011767:3802699195013867 1976:1980 hsa_amd_memory_async_copy(0x7f51e4200010, , 0x7f51e5e00000, , , , 0, ) = 0 +3802699196523958:3802699196528898 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802699196531218:3802699196532378 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802699196533428:3802699196534348 1976:1977 hsa_signal_load_relaxed() = 1 +3802699196535188:3802699196539488 1976:1977 hsa_signal_store_screlease(, 0) = void +3802699196540388:3802699196541108 1976:1977 hsa_signal_destroy() = 0 +3802699195014777:3802699196551568 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699196556298:3802699196557398 1976:1980 hsa_amd_profiling_get_dispatch_time(, , 0x7f5384c97b30) = 0 +3802699196563048:3802699196564038 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699196560878:3802699196617789 1976:1980 hsa_amd_memory_unlock(0x7f52741fe000) = 0 +3802699203758951:3802699203759821 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699203805171:3802699204117223 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52745ff000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802699204120014:3802699204120904 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699204122534:3802699204123544 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802699204127874:3802699204129594 1976:1980 hsa_signal_create(1, , 0, 0x7f5376328890) = 0 +3802699204130474:3802699204135154 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376328850) = 0 +3802699204136034:3802699204138024 1976:1980 hsa_amd_memory_async_copy(0x7f51e6400000, , 0x7f51e4200010, , , , 0, ) = 0 +3802699205632825:3802699205637535 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802699205639705:3802699205640855 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802699205641905:3802699205642825 1976:1977 hsa_signal_load_relaxed() = 1 +3802699205643675:3802699205647765 1976:1977 hsa_signal_store_screlease(, 0) = void +3802699205648655:3802699205649385 1976:1977 hsa_signal_destroy() = 0 +3802699204138934:3802699205674445 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699205683205:3802699205684195 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699205691035:3802699205691625 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802699205702155:3802699205702755 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802699205704265:3802699205704855 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802699205706725:3802699205707315 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802699205708705:3802699205709305 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802699205716575:3802699205717165 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802699205720305:3802699205720895 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699205681635:3802699205742286 1976:1980 hsa_amd_memory_unlock(0x7f52745ff000) = 0 +3802699205749016:3802699205749746 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 150 +3802699205750676:3802699205751316 1976:1980 hsa_queue_load_read_index_relaxed(0x7f5384da6000) = 150 +3802699205752216:3802699205752826 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 150 +3802699205753736:3802699205754676 1976:1980 hsa_signal_store_screlease(, 150) = void +3802699205758886:3802699206018418 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52741fe000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802699206020428:3802699206021308 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699206022148:3802699206022748 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 151 +3802699206023558:3802699206024118 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 150 +3802699206024878:3802699206025758 1976:1980 hsa_signal_store_screlease(, 151) = void +3802699206026648:3802699207070755 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699207077506:3802699207078346 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699207080046:3802699207081236 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802699207082266:3802699207084526 1976:1980 hsa_signal_create(1, , 0, 0x7f53763288f0) = 0 +3802699207085566:3802699207090746 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f53763288b0) = 0 +3802699207091656:3802699207093766 1976:1980 hsa_amd_memory_async_copy(0x7f51e4200010, , 0x7f51e5e00000, , , , 0, ) = 0 +3802699208511546:3802699208516466 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802699208518696:3802699208519846 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802699208520896:3802699208521816 1976:1977 hsa_signal_load_relaxed() = 1 +3802699208522666:3802699208526846 1976:1977 hsa_signal_store_screlease(, 0) = void +3802699208527736:3802699208528446 1976:1977 hsa_signal_destroy() = 0 +3802699207094656:3802699208545036 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699208550036:3802699208551106 1976:1980 hsa_amd_profiling_get_dispatch_time(, , 0x7f5384c97b30) = 0 +3802699208556787:3802699208557767 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699208554646:3802699208612137 1976:1980 hsa_amd_memory_unlock(0x7f52741fe000) = 0 +3802699215746120:3802699215747220 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699215791970:3802699216101483 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52745ff000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802699216104173:3802699216104993 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699216106373:3802699216107393 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802699216108543:3802699216110323 1976:1980 hsa_signal_create(1, , 0, 0x7f5376328950) = 0 +3802699216111463:3802699216116313 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376328910) = 0 +3802699216117373:3802699216119403 1976:1980 hsa_amd_memory_async_copy(0x7f51e6400000, , 0x7f51e4200010, , , , 0, ) = 0 +3802699217612114:3802699217616814 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802699217619104:3802699217620254 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802699217621484:3802699217622404 1976:1977 hsa_signal_load_relaxed() = 1 +3802699217623484:3802699217627614 1976:1977 hsa_signal_store_screlease(, 0) = void +3802699217628574:3802699217629284 1976:1977 hsa_signal_destroy() = 0 +3802699216120313:3802699217660584 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699217678254:3802699217678874 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699217688724:3802699217689314 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802699217695584:3802699217696174 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802699217697635:3802699217698225 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802699217699915:3802699217700505 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802699217701675:3802699217702265 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802699217710035:3802699217710635 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802699217714995:3802699217715595 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699217667934:3802699217727495 1976:1980 hsa_amd_memory_unlock(0x7f52745ff000) = 0 +3802699217734235:3802699217734965 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 152 +3802699217735875:3802699217736515 1976:1980 hsa_queue_load_read_index_relaxed(0x7f5384da6000) = 152 +3802699217737425:3802699217738035 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 152 +3802699217739245:3802699217740185 1976:1980 hsa_signal_store_screlease(, 152) = void +3802699217744065:3802699218005577 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52741fe000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802699218007517:3802699218008397 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699218009227:3802699218009827 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 153 +3802699218010627:3802699218011197 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 152 +3802699218011957:3802699218012827 1976:1980 hsa_signal_store_screlease(, 153) = void +3802699218013747:3802699219055975 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699219058665:3802699219059485 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699219061145:3802699219062335 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802699219063365:3802699219065535 1976:1980 hsa_signal_create(1, , 0, 0x7f53763289b0) = 0 +3802699219066495:3802699219072025 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376328970) = 0 +3802699219072905:3802699219075045 1976:1980 hsa_amd_memory_async_copy(0x7f51e4200010, , 0x7f51e5e00000, , , , 0, ) = 0 +3802699220600636:3802699220605606 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802699220607876:3802699220609036 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802699220610076:3802699220610996 1976:1977 hsa_signal_load_relaxed() = 1 +3802699220611846:3802699220616036 1976:1977 hsa_signal_store_screlease(, 0) = void +3802699220616916:3802699220617636 1976:1977 hsa_signal_destroy() = 0 +3802699219075945:3802699220628016 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699220636386:3802699220637546 1976:1980 hsa_amd_profiling_get_dispatch_time(, , 0x7f5384c97b30) = 0 +3802699220643036:3802699220644026 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699220640886:3802699220697717 1976:1980 hsa_amd_memory_unlock(0x7f52741fe000) = 0 +3802699227835130:3802699227836280 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699227886860:3802699228204843 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52745ff000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802699228207723:3802699228208623 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699228210233:3802699228211253 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802699228212413:3802699228214083 1976:1980 hsa_signal_create(1, , 0, 0x7f5376328a10) = 0 +3802699228215013:3802699228219823 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f53763289d0) = 0 +3802699228220993:3802699228222973 1976:1980 hsa_amd_memory_async_copy(0x7f51e6400000, , 0x7f51e4200010, , , , 0, ) = 0 +3802699229717904:3802699229722854 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802699229725344:3802699229726494 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802699229727534:3802699229728464 1976:1977 hsa_signal_load_relaxed() = 1 +3802699229729494:3802699229733454 1976:1977 hsa_signal_store_screlease(, 0) = void +3802699229734334:3802699229735054 1976:1977 hsa_signal_destroy() = 0 +3802699228223893:3802699229760124 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699229768984:3802699229769974 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699229777324:3802699229777914 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802699229780154:3802699229780744 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802699229782134:3802699229782724 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802699229793254:3802699229793854 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802699229795184:3802699229795784 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802699229803674:3802699229804274 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802699229806904:3802699229807504 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699229767324:3802699229826914 1976:1980 hsa_amd_memory_unlock(0x7f52745ff000) = 0 +3802699229833824:3802699229834554 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 154 +3802699229835764:3802699229836404 1976:1980 hsa_queue_load_read_index_relaxed(0x7f5384da6000) = 154 +3802699229837504:3802699229838114 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 154 +3802699229839144:3802699229840104 1976:1980 hsa_signal_store_screlease(, 154) = void +3802699229847495:3802699230106936 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52741fe000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802699230108906:3802699230109786 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699230110606:3802699230111216 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 155 +3802699230112016:3802699230112576 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 154 +3802699230113346:3802699230114226 1976:1980 hsa_signal_store_screlease(, 155) = void +3802699230115126:3802699231159134 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699231161794:3802699231162624 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699231164304:3802699231165494 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802699231166504:3802699231168794 1976:1980 hsa_signal_create(1, , 0, 0x7f5376328a70) = 0 +3802699231169764:3802699231175334 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376328a30) = 0 +3802699231176214:3802699231178344 1976:1980 hsa_amd_memory_async_copy(0x7f51e4200010, , 0x7f51e5e00000, , , , 0, ) = 0 +3802699232587644:3802699232592724 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802699232595135:3802699232596285 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802699232597425:3802699232598375 1976:1977 hsa_signal_load_relaxed() = 1 +3802699232599215:3802699232603415 1976:1977 hsa_signal_store_screlease(, 0) = void +3802699232604315:3802699232605025 1976:1977 hsa_signal_destroy() = 0 +3802699231179224:3802699232612155 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699232616325:3802699232617475 1976:1980 hsa_amd_profiling_get_dispatch_time(, , 0x7f5384c97b30) = 0 +3802699232622965:3802699232623945 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699232620675:3802699232677425 1976:1980 hsa_amd_memory_unlock(0x7f52741fe000) = 0 +3802699239800898:3802699239801858 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699239847658:3802699240161671 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52745ff000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802699240164351:3802699240165271 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699240166671:3802699240167681 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802699240168841:3802699240170701 1976:1980 hsa_signal_create(1, , 0, 0x7f5376328ad0) = 0 +3802699240171861:3802699240176531 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376328a90) = 0 +3802699240177601:3802699240179581 1976:1980 hsa_amd_memory_async_copy(0x7f51e6400000, , 0x7f51e4200010, , , , 0, ) = 0 +3802699241673322:3802699241678252 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802699241684402:3802699241685562 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802699241686612:3802699241687542 1976:1977 hsa_signal_load_relaxed() = 1 +3802699241688382:3802699241692312 1976:1977 hsa_signal_store_screlease(, 0) = void +3802699241693222:3802699241693952 1976:1977 hsa_signal_destroy() = 0 +3802699240180501:3802699241719072 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699241734812:3802699241735433 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699241742173:3802699241742763 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802699241745823:3802699241746423 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802699241747933:3802699241748523 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802699241750533:3802699241751123 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802699241752493:3802699241753093 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802699241760893:3802699241761493 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802699241765453:3802699241766053 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699241726392:3802699241786393 1976:1980 hsa_amd_memory_unlock(0x7f52745ff000) = 0 +3802699241793383:3802699241794113 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 156 +3802699241795143:3802699241795823 1976:1980 hsa_queue_load_read_index_relaxed(0x7f5384da6000) = 156 +3802699241796733:3802699241797333 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 156 +3802699241798413:3802699241799353 1976:1980 hsa_signal_store_screlease(, 156) = void +3802699241803243:3802699242062845 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52741fe000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802699242064835:3802699242065715 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699242066555:3802699242067155 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 157 +3802699242067955:3802699242068525 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 156 +3802699242069285:3802699242070115 1976:1980 hsa_signal_store_screlease(, 157) = void +3802699242071075:3802699243113433 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699243116093:3802699243116923 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699243118603:3802699243119793 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802699243120973:3802699243123093 1976:1980 hsa_signal_create(1, , 0, 0x7f5376328b30) = 0 +3802699243124063:3802699243129563 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376328af0) = 0 +3802699243130453:3802699243132573 1976:1980 hsa_amd_memory_async_copy(0x7f51e4200010, , 0x7f51e5e00000, , , , 0, ) = 0 +3802699244578294:3802699244583224 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802699244585324:3802699244586484 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802699244587524:3802699244588444 1976:1977 hsa_signal_load_relaxed() = 1 +3802699244589294:3802699244593434 1976:1977 hsa_signal_store_screlease(, 0) = void +3802699244594324:3802699244595044 1976:1977 hsa_signal_destroy() = 0 +3802699243137193:3802699244605414 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699244610214:3802699244611454 1976:1980 hsa_amd_profiling_get_dispatch_time(, , 0x7f5384c97b30) = 0 +3802699244616934:3802699244617744 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699244615194:3802699244672964 1976:1980 hsa_amd_memory_unlock(0x7f52741fe000) = 0 +3802699251800777:3802699251801787 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699251847058:3802699252166570 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52745ff000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802699252169420:3802699252170330 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699252171870:3802699252172880 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802699252174020:3802699252175710 1976:1980 hsa_signal_create(1, , 0, 0x7f5376328b90) = 0 +3802699252176670:3802699252181410 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376328b50) = 0 +3802699252182580:3802699252184600 1976:1980 hsa_amd_memory_async_copy(0x7f51e6400000, , 0x7f51e4200010, , , , 0, ) = 0 +3802699253677131:3802699253681861 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802699253684161:3802699253685311 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802699253686361:3802699253687291 1976:1977 hsa_signal_load_relaxed() = 1 +3802699253688141:3802699253692261 1976:1977 hsa_signal_store_screlease(, 0) = void +3802699253693151:3802699253693871 1976:1977 hsa_signal_destroy() = 0 +3802699252185520:3802699253718872 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699253727602:3802699253728582 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699253735922:3802699253736512 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802699253738992:3802699253739582 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802699253741132:3802699253741722 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802699253754292:3802699253754892 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802699253756252:3802699253756842 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802699253766052:3802699253766652 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802699253769562:3802699253770162 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699253726082:3802699253786182 1976:1980 hsa_amd_memory_unlock(0x7f52745ff000) = 0 +3802699253792992:3802699253793722 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 158 +3802699253794632:3802699253795272 1976:1980 hsa_queue_load_read_index_relaxed(0x7f5384da6000) = 158 +3802699253796182:3802699253796792 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 158 +3802699253797702:3802699253798652 1976:1980 hsa_signal_store_screlease(, 158) = void +3802699253802602:3802699254062124 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52741fe000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802699254064194:3802699254065074 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699254065884:3802699254066494 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 159 +3802699254067274:3802699254067854 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 158 +3802699254068714:3802699254069574 1976:1980 hsa_signal_store_screlease(, 159) = void +3802699254070474:3802699255129012 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699255131672:3802699255132512 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699255134182:3802699255135362 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802699255136372:3802699255138492 1976:1980 hsa_signal_create(1, , 0, 0x7f5376328bf0) = 0 +3802699255139482:3802699255144792 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376328bb0) = 0 +3802699255145762:3802699255147872 1976:1980 hsa_amd_memory_async_copy(0x7f51e4200010, , 0x7f51e5e00000, , , , 0, ) = 0 +3802699256576883:3802699256581453 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802699256583903:3802699256585053 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802699256586253:3802699256587303 1976:1977 hsa_signal_load_relaxed() = 1 +3802699256588413:3802699256592623 1976:1977 hsa_signal_store_screlease(, 0) = void +3802699256593493:3802699256594213 1976:1977 hsa_signal_destroy() = 0 +3802699255148772:3802699256606593 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699256610753:3802699256611743 1976:1980 hsa_amd_profiling_get_dispatch_time(, , 0x7f5384c97b30) = 0 +3802699256617513:3802699256618553 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699256615283:3802699256672464 1976:1980 hsa_amd_memory_unlock(0x7f52741fe000) = 0 +3802699263808106:3802699263809306 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699263854216:3802699264175229 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52745ff000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802699264180829:3802699264181719 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699264183069:3802699264184089 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802699264184949:3802699264186999 1976:1980 hsa_signal_create(1, , 0, 0x7f5376328c50) = 0 +3802699264187859:3802699264192859 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376328c10) = 0 +3802699264193729:3802699264195699 1976:1980 hsa_amd_memory_async_copy(0x7f51e6400000, , 0x7f51e4200010, , , , 0, ) = 0 +3802699265688320:3802699265693260 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802699265695450:3802699265696600 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802699265697650:3802699265698570 1976:1977 hsa_signal_load_relaxed() = 1 +3802699265699410:3802699265703340 1976:1977 hsa_signal_store_screlease(, 0) = void +3802699265704230:3802699265704950 1976:1977 hsa_signal_destroy() = 0 +3802699264196599:3802699265736570 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699265745390:3802699265746370 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699265762260:3802699265762860 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802699265764760:3802699265765360 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802699265767030:3802699265767620 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802699265769680:3802699265770280 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802699265771540:3802699265772130 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802699265780161:3802699265780751 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802699265785251:3802699265785851 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699265743850:3802699265803761 1976:1980 hsa_amd_memory_unlock(0x7f52745ff000) = 0 +3802699265810701:3802699265811431 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 160 +3802699265812461:3802699265813101 1976:1980 hsa_queue_load_read_index_relaxed(0x7f5384da6000) = 160 +3802699265814011:3802699265814611 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 160 +3802699265815521:3802699265816471 1976:1980 hsa_signal_store_screlease(, 160) = void +3802699265820381:3802699266080773 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52741fe000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802699266082733:3802699266083623 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699266084453:3802699266085063 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 161 +3802699266085843:3802699266086433 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 160 +3802699266090303:3802699266091133 1976:1980 hsa_signal_store_screlease(, 161) = void +3802699266092053:3802699267119651 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699267122331:3802699267123151 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699267124841:3802699267126021 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802699267127031:3802699267129151 1976:1980 hsa_signal_create(1, , 0, 0x7f5376328cb0) = 0 +3802699267130111:3802699267135521 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376328c70) = 0 +3802699267136411:3802699267138541 1976:1980 hsa_amd_memory_async_copy(0x7f51e4200010, , 0x7f51e5e00000, , , , 0, ) = 0 +3802699268576831:3802699268581781 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802699268584201:3802699268585361 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802699268586411:3802699268587331 1976:1977 hsa_signal_load_relaxed() = 1 +3802699268588171:3802699268592361 1976:1977 hsa_signal_store_screlease(, 0) = void +3802699268593251:3802699268593961 1976:1977 hsa_signal_destroy() = 0 +3802699267139421:3802699268605122 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699268609862:3802699268610892 1976:1980 hsa_amd_profiling_get_dispatch_time(, , 0x7f5384c97b30) = 0 +3802699268616802:3802699268617792 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699268614642:3802699268671962 1976:1980 hsa_amd_memory_unlock(0x7f52741fe000) = 0 +3802699275801565:3802699275802605 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699275852335:3802699276171348 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52745ff000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802699276174208:3802699276175118 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699276176838:3802699276177848 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802699276178988:3802699276180658 1976:1980 hsa_signal_create(1, , 0, 0x7f5376328d10) = 0 +3802699276181598:3802699276186678 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376328cd0) = 0 +3802699276187838:3802699276189858 1976:1980 hsa_amd_memory_async_copy(0x7f51e6400000, , 0x7f51e4200010, , , , 0, ) = 0 +3802699277682389:3802699277687129 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802699277689399:3802699277690549 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802699277691599:3802699277692519 1976:1977 hsa_signal_load_relaxed() = 1 +3802699277693359:3802699277697499 1976:1977 hsa_signal_store_screlease(, 0) = void +3802699277698379:3802699277699109 1976:1977 hsa_signal_destroy() = 0 +3802699276190758:3802699277724379 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699277733099:3802699277734269 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699277741400:3802699277741990 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802699277744220:3802699277744810 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802699277746360:3802699277746950 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802699277756640:3802699277757240 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802699277758570:3802699277759160 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802699277766810:3802699277767410 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802699277770080:3802699277770680 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699277731749:3802699277791600 1976:1980 hsa_amd_memory_unlock(0x7f52745ff000) = 0 +3802699277798420:3802699277799140 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 162 +3802699277800350:3802699277800990 1976:1980 hsa_queue_load_read_index_relaxed(0x7f5384da6000) = 162 +3802699277802110:3802699277802710 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 162 +3802699277803660:3802699277804610 1976:1980 hsa_signal_store_screlease(, 162) = void +3802699277808880:3802699278068392 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52741fe000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802699278070372:3802699278071242 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699278072082:3802699278072682 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 163 +3802699278073472:3802699278074112 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 162 +3802699278074902:3802699278075802 1976:1980 hsa_signal_store_screlease(, 163) = void +3802699278076682:3802699279127680 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699279130370:3802699279131200 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699279132870:3802699279134050 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802699279135060:3802699279137200 1976:1980 hsa_signal_create(1, , 0, 0x7f5376328d70) = 0 +3802699279138190:3802699279143430 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376328d30) = 0 +3802699279144300:3802699279146430 1976:1980 hsa_amd_memory_async_copy(0x7f51e4200010, , 0x7f51e5e00000, , , , 0, ) = 0 +3802699280579531:3802699280584121 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802699280586371:3802699280587521 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802699280588571:3802699280589591 1976:1977 hsa_signal_load_relaxed() = 1 +3802699280590441:3802699280594631 1976:1977 hsa_signal_store_screlease(, 0) = void +3802699280598961:3802699280599711 1976:1977 hsa_signal_destroy() = 0 +3802699279147320:3802699280602971 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699280607091:3802699280608091 1976:1980 hsa_amd_profiling_get_dispatch_time(, , 0x7f5384c97b30) = 0 +3802699280613491:3802699280614481 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699280611291:3802699280667911 1976:1980 hsa_amd_memory_unlock(0x7f52741fe000) = 0 +3802699287804974:3802699287806174 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699287850905:3802699288167877 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52745ff000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802699288170457:3802699288171337 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699288172807:3802699288173817 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802699288174977:3802699288176827 1976:1980 hsa_signal_create(1, , 0, 0x7f5376328dd0) = 0 +3802699288177967:3802699288182807 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376328d90) = 0 +3802699288183867:3802699288185867 1976:1980 hsa_amd_memory_async_copy(0x7f51e6400000, , 0x7f51e4200010, , , , 0, ) = 0 +3802699289677818:3802699289682548 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802699289684758:3802699289685908 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802699289686968:3802699289687898 1976:1977 hsa_signal_load_relaxed() = 1 +3802699289688738:3802699289692848 1976:1977 hsa_signal_store_screlease(, 0) = void +3802699289693768:3802699289694478 1976:1977 hsa_signal_destroy() = 0 +3802699288186767:3802699289719508 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699289727968:3802699289729128 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699289743968:3802699289744738 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802699289747338:3802699289747938 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802699289749478:3802699289750068 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802699289752109:3802699289752699 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802699289754159:3802699289754749 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802699289762819:3802699289763419 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802699289766659:3802699289767259 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699289726928:3802699289788119 1976:1980 hsa_amd_memory_unlock(0x7f52745ff000) = 0 +3802699289794759:3802699289795479 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 164 +3802699289799779:3802699289800439 1976:1980 hsa_queue_load_read_index_relaxed(0x7f5384da6000) = 164 +3802699289801359:3802699289801969 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 164 +3802699289802969:3802699289803929 1976:1980 hsa_signal_store_screlease(, 164) = void +3802699289808029:3802699290069221 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52741fe000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802699290071211:3802699290072051 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699290072881:3802699290073491 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 165 +3802699290074291:3802699290074861 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 164 +3802699290075621:3802699290076491 1976:1980 hsa_signal_store_screlease(, 165) = void +3802699290077391:3802699291122608 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699291125288:3802699291126118 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699291127788:3802699291128958 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802699291129978:3802699291132118 1976:1980 hsa_signal_create(1, , 0, 0x7f5376328e30) = 0 +3802699291133139:3802699291138379 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376328df0) = 0 +3802699291139249:3802699291141369 1976:1980 hsa_amd_memory_async_copy(0x7f51e4200010, , 0x7f51e5e00000, , , , 0, ) = 0 +3802699292576989:3802699292581699 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802699292584149:3802699292585299 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802699292586339:3802699292587279 1976:1977 hsa_signal_load_relaxed() = 1 +3802699292588289:3802699292592569 1976:1977 hsa_signal_store_screlease(, 0) = void +3802699292593449:3802699292594169 1976:1977 hsa_signal_destroy() = 0 +3802699291142269:3802699292609549 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699292614369:3802699292615409 1976:1980 hsa_amd_profiling_get_dispatch_time(, , 0x7f5384c97b30) = 0 +3802699292622919:3802699292623529 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699292618929:3802699292676560 1976:1980 hsa_amd_memory_unlock(0x7f52741fe000) = 0 +3802699299870243:3802699299871293 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699299916944:3802699300234806 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52745ff000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802699300237626:3802699300238526 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699300240156:3802699300241166 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802699300242316:3802699300243986 1976:1980 hsa_signal_create(1, , 0, 0x7f5376328e90) = 0 +3802699300244926:3802699300249786 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376328e50) = 0 +3802699300253846:3802699300255896 1976:1980 hsa_amd_memory_async_copy(0x7f51e6400000, , 0x7f51e4200010, , , , 0, ) = 0 +3802699301748717:3802699301753427 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802699301755657:3802699301756807 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802699301757857:3802699301758777 1976:1977 hsa_signal_load_relaxed() = 1 +3802699301759627:3802699301763707 1976:1977 hsa_signal_store_screlease(, 0) = void +3802699301764597:3802699301765307 1976:1977 hsa_signal_destroy() = 0 +3802699300256836:3802699301796798 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699301805448:3802699301806428 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699301814488:3802699301815088 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802699301817538:3802699301818138 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802699301819678:3802699301820268 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802699301831048:3802699301831648 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802699301833128:3802699301833718 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802699301842348:3802699301842938 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802699301847458:3802699301848058 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699301803988:3802699301864338 1976:1980 hsa_amd_memory_unlock(0x7f52745ff000) = 0 +3802699301870948:3802699301871678 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 166 +3802699301872908:3802699301873638 1976:1980 hsa_queue_load_read_index_relaxed(0x7f5384da6000) = 166 +3802699301874738:3802699301875338 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 166 +3802699301876298:3802699301877248 1976:1980 hsa_signal_store_screlease(, 166) = void +3802699301881368:3802699302142380 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52741fe000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802699302144400:3802699302145280 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699302146110:3802699302146720 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 167 +3802699302147500:3802699302148080 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 166 +3802699302148840:3802699302149710 1976:1980 hsa_signal_store_screlease(, 167) = void +3802699302150600:3802699303190498 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699303193188:3802699303194018 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699303195698:3802699303196878 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802699303201918:3802699303204228 1976:1980 hsa_signal_create(1, , 0, 0x7f5376328ef0) = 0 +3802699303205318:3802699303210628 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376328eb0) = 0 +3802699303211528:3802699303213668 1976:1980 hsa_amd_memory_async_copy(0x7f51e4200010, , 0x7f51e5e00000, , , , 0, ) = 0 +3802699304612589:3802699304617199 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802699304619579:3802699304620759 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802699304621809:3802699304622739 1976:1977 hsa_signal_load_relaxed() = 1 +3802699304623579:3802699304627949 1976:1977 hsa_signal_store_screlease(, 0) = void +3802699304628819:3802699304629539 1976:1977 hsa_signal_destroy() = 0 +3802699303214558:3802699304636199 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699304640319:3802699304641339 1976:1980 hsa_amd_profiling_get_dispatch_time(, , 0x7f5384c97b30) = 0 +3802699304647029:3802699304648019 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699304644539:3802699304701469 1976:1980 hsa_amd_memory_unlock(0x7f52741fe000) = 0 +3802699311826752:3802699311827632 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699311877643:3802699312194005 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52745ff000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802699312196685:3802699312197585 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699312198975:3802699312199985 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802699312201145:3802699312203015 1976:1980 hsa_signal_create(1, , 0, 0x7f5376328f50) = 0 +3802699312204175:3802699312208895 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376328f10) = 0 +3802699312209975:3802699312211965 1976:1980 hsa_amd_memory_async_copy(0x7f51e6400000, , 0x7f51e4200010, , , , 0, ) = 0 +3802699313704466:3802699313709386 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802699313711626:3802699313712776 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802699313713826:3802699313714746 1976:1977 hsa_signal_load_relaxed() = 1 +3802699313715586:3802699313719516 1976:1977 hsa_signal_store_screlease(, 0) = void +3802699313720396:3802699313721126 1976:1977 hsa_signal_destroy() = 0 +3802699312212905:3802699313746197 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699313754987:3802699313756027 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699313770157:3802699313770957 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802699313773647:3802699313774237 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802699313775797:3802699313776397 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802699313780097:3802699313780687 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802699313781807:3802699313782407 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802699313789627:3802699313790227 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802699313793007:3802699313793597 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699313753577:3802699313813717 1976:1980 hsa_amd_memory_unlock(0x7f52745ff000) = 0 +3802699313820397:3802699313821127 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 168 +3802699313822047:3802699313822687 1976:1980 hsa_queue_load_read_index_relaxed(0x7f5384da6000) = 168 +3802699313823587:3802699313824197 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 168 +3802699313825107:3802699313826057 1976:1980 hsa_signal_store_screlease(, 168) = void +3802699313830127:3802699314084109 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52741fe000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802699314086079:3802699314086969 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699314087789:3802699314088389 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 169 +3802699314089189:3802699314089749 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 168 +3802699314090509:3802699314091339 1976:1980 hsa_signal_store_screlease(, 169) = void +3802699314092219:3802699315136287 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699315138937:3802699315139767 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699315141537:3802699315142717 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802699315143727:3802699315145847 1976:1980 hsa_signal_create(1, , 0, 0x7f5376328fb0) = 0 +3802699315146817:3802699315152207 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376328f70) = 0 +3802699315153087:3802699315155177 1976:1980 hsa_amd_memory_async_copy(0x7f51e4200010, , 0x7f51e5e00000, , , , 0, ) = 0 +3802699316581548:3802699316586628 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802699316589108:3802699316590268 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802699316591398:3802699316592338 1976:1977 hsa_signal_load_relaxed() = 1 +3802699316593188:3802699316597398 1976:1977 hsa_signal_store_screlease(, 0) = void +3802699316598278:3802699316598988 1976:1977 hsa_signal_destroy() = 0 +3802699315156067:3802699316605908 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699316609658:3802699316610558 1976:1980 hsa_amd_profiling_get_dispatch_time(, , 0x7f5384c97b30) = 0 +3802699316617878:3802699316618488 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699316613858:3802699316670688 1976:1980 hsa_amd_memory_unlock(0x7f52741fe000) = 0 +3802699323794380:3802699323795580 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699323840181:3802699324151773 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52745ff000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802699324154613:3802699324155513 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699324160243:3802699324161273 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802699324162453:3802699324164213 1976:1980 hsa_signal_create(1, , 0, 0x7f5376329010) = 0 +3802699324165223:3802699324169993 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376328fd0) = 0 +3802699324171143:3802699324173133 1976:1980 hsa_amd_memory_async_copy(0x7f51e6400000, , 0x7f51e4200010, , , , 0, ) = 0 +3802699325665654:3802699325670584 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802699325672684:3802699325673834 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802699325674894:3802699325675824 1976:1977 hsa_signal_load_relaxed() = 1 +3802699325676854:3802699325680775 1976:1977 hsa_signal_store_screlease(, 0) = void +3802699325681655:3802699325682365 1976:1977 hsa_signal_destroy() = 0 +3802699324174073:3802699325707535 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699325716275:3802699325717255 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699325732365:3802699325733135 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802699325735885:3802699325736475 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802699325738135:3802699325738725 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802699325740565:3802699325741155 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802699325742605:3802699325743205 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802699325755985:3802699325756585 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802699325759625:3802699325760215 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699325714735:3802699325775845 1976:1980 hsa_amd_memory_unlock(0x7f52745ff000) = 0 +3802699325782625:3802699325783355 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 170 +3802699325784565:3802699325785205 1976:1980 hsa_queue_load_read_index_relaxed(0x7f5384da6000) = 170 +3802699325786335:3802699325786935 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 170 +3802699325787905:3802699325788855 1976:1980 hsa_signal_store_screlease(, 170) = void +3802699325792875:3802699326051197 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52741fe000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802699326053177:3802699326054047 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699326058027:3802699326058647 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 171 +3802699326059437:3802699326060047 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 170 +3802699326060807:3802699326061647 1976:1980 hsa_signal_store_screlease(, 171) = void +3802699326062537:3802699327087145 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699327089835:3802699327090665 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699327092515:3802699327093685 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802699327094705:3802699327096845 1976:1980 hsa_signal_create(1, , 0, 0x7f5376329070) = 0 +3802699327097815:3802699327103205 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376329030) = 0 +3802699327104095:3802699327106205 1976:1980 hsa_amd_memory_async_copy(0x7f51e4200010, , 0x7f51e5e00000, , , , 0, ) = 0 +3802699328607586:3802699328612306 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802699328614696:3802699328615856 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802699328617086:3802699328618006 1976:1977 hsa_signal_load_relaxed() = 1 +3802699328619036:3802699328623216 1976:1977 hsa_signal_store_screlease(, 0) = void +3802699328624096:3802699328624816 1976:1977 hsa_signal_destroy() = 0 +3802699327107105:3802699328634206 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699328639217:3802699328640337 1976:1980 hsa_amd_profiling_get_dispatch_time(, , 0x7f5384c97b30) = 0 +3802699328645947:3802699328646937 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699328643777:3802699328701537 1976:1980 hsa_amd_memory_unlock(0x7f52741fe000) = 0 +3802699335824120:3802699335825430 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699335870340:3802699336185603 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52745ff000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802699336188263:3802699336189173 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699336190723:3802699336191733 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802699336192903:3802699336194693 1976:1980 hsa_signal_create(1, , 0, 0x7f53763290d0) = 0 +3802699336195843:3802699336200883 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376329090) = 0 +3802699336201973:3802699336203943 1976:1980 hsa_amd_memory_async_copy(0x7f51e6400000, , 0x7f51e4200010, , , , 0, ) = 0 +3802699337696854:3802699337701784 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802699337704094:3802699337705274 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802699337706504:3802699337707424 1976:1977 hsa_signal_load_relaxed() = 1 +3802699337711914:3802699337716074 1976:1977 hsa_signal_store_screlease(, 0) = void +3802699337716984:3802699337717694 1976:1977 hsa_signal_destroy() = 0 +3802699336204833:3802699337742904 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699337751814:3802699337752794 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699337767514:3802699337768294 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802699337771094:3802699337771694 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802699337773364:3802699337773954 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802699337776004:3802699337776604 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802699337777984:3802699337778584 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802699337786375:3802699337786965 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802699337789555:3802699337790155 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699337750294:3802699337811585 1976:1980 hsa_amd_memory_unlock(0x7f52745ff000) = 0 +3802699337818785:3802699337819505 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 172 +3802699337820525:3802699337821165 1976:1980 hsa_queue_load_read_index_relaxed(0x7f5384da6000) = 172 +3802699337822055:3802699337822655 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 172 +3802699337823555:3802699337824515 1976:1980 hsa_signal_store_screlease(, 172) = void +3802699337828595:3802699338089527 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52741fe000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802699338091597:3802699338092477 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699338093307:3802699338093907 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 173 +3802699338094717:3802699338095287 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 172 +3802699338096047:3802699338096877 1976:1980 hsa_signal_store_screlease(, 173) = void +3802699338097777:3802699339124645 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699339127305:3802699339128135 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699339129805:3802699339130975 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802699339131985:3802699339134105 1976:1980 hsa_signal_create(1, , 0, 0x7f5376329130) = 0 +3802699339135065:3802699339140375 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f53763290f0) = 0 +3802699339141245:3802699339143305 1976:1980 hsa_amd_memory_async_copy(0x7f51e4200010, , 0x7f51e5e00000, , , , 0, ) = 0 +3802699340578335:3802699340583275 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802699340589745:3802699340590905 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802699340591965:3802699340592995 1976:1977 hsa_signal_load_relaxed() = 1 +3802699340593845:3802699340598065 1976:1977 hsa_signal_store_screlease(, 0) = void +3802699340598945:3802699340599665 1976:1977 hsa_signal_destroy() = 0 +3802699339144205:3802699340612836 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699340616946:3802699340618136 1976:1980 hsa_amd_profiling_get_dispatch_time(, , 0x7f5384c97b30) = 0 +3802699340625596:3802699340626206 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699340621626:3802699340679086 1976:1980 hsa_amd_memory_unlock(0x7f52741fe000) = 0 +3802699347801589:3802699347802699 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699347847979:3802699348171572 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52745ff000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802699348174452:3802699348175362 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699348176962:3802699348177972 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802699348179122:3802699348180792 1976:1980 hsa_signal_create(1, , 0, 0x7f5376329190) = 0 +3802699348181742:3802699348186372 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376329150) = 0 +3802699348187532:3802699348189632 1976:1980 hsa_amd_memory_async_copy(0x7f51e6400000, , 0x7f51e4200010, , , , 0, ) = 0 +3802699349682103:3802699349687043 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802699349689323:3802699349690473 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802699349691523:3802699349692443 1976:1977 hsa_signal_load_relaxed() = 1 +3802699349693293:3802699349697223 1976:1977 hsa_signal_store_screlease(, 0) = void +3802699349698103:3802699349698833 1976:1977 hsa_signal_destroy() = 0 +3802699348190552:3802699349730333 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699349738443:3802699349739603 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699349747263:3802699349747863 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802699349750113:3802699349750703 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802699349752073:3802699349752663 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802699349754473:3802699349755063 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802699349756723:3802699349757493 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802699349773393:3802699349773993 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802699349777223:3802699349777823 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699349738853:3802699349799724 1976:1980 hsa_amd_memory_unlock(0x7f52745ff000) = 0 +3802699349806294:3802699349807024 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 174 +3802699349807944:3802699349808584 1976:1980 hsa_queue_load_read_index_relaxed(0x7f5384da6000) = 174 +3802699349809494:3802699349810094 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 174 +3802699349811004:3802699349811944 1976:1980 hsa_signal_store_screlease(, 174) = void +3802699349816194:3802699350077476 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52741fe000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802699350079546:3802699350080396 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699350081216:3802699350081816 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 175 +3802699350082606:3802699350083226 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 174 +3802699350084086:3802699350084946 1976:1980 hsa_signal_store_screlease(, 175) = void +3802699350085836:3802699351143093 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699351145753:3802699351146583 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699351148263:3802699351149443 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802699351150443:3802699351152623 1976:1980 hsa_signal_create(1, , 0, 0x7f53763291f0) = 0 +3802699351153593:3802699351158863 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f53763291b0) = 0 +3802699351159733:3802699351161853 1976:1980 hsa_amd_memory_async_copy(0x7f51e4200010, , 0x7f51e5e00000, , , , 0, ) = 0 +3802699352583584:3802699352588174 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802699352590604:3802699352591764 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802699352593114:3802699352594044 1976:1977 hsa_signal_load_relaxed() = 1 +3802699352594894:3802699352599244 1976:1977 hsa_signal_store_screlease(, 0) = void +3802699352600124:3802699352600844 1976:1977 hsa_signal_destroy() = 0 +3802699351162763:3802699352607444 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699352611564:3802699352612564 1976:1980 hsa_amd_profiling_get_dispatch_time(, , 0x7f5384c97b30) = 0 +3802699352618124:3802699352619134 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699352615894:3802699352672454 1976:1980 hsa_amd_memory_unlock(0x7f52741fe000) = 0 +3802699359800768:3802699359801908 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699359851918:3802699360169640 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52745ff000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802699360172350:3802699360173240 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699360177930:3802699360178960 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802699360179840:3802699360181720 1976:1980 hsa_signal_create(1, , 0, 0x7f5376329250) = 0 +3802699360182560:3802699360187270 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376329210) = 0 +3802699360188140:3802699360190100 1976:1980 hsa_amd_memory_async_copy(0x7f51e6400000, , 0x7f51e4200010, , , , 0, ) = 0 +3802699361682121:3802699361687082 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802699361689292:3802699361690442 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802699361691492:3802699361692412 1976:1977 hsa_signal_load_relaxed() = 1 +3802699361693262:3802699361697342 1976:1977 hsa_signal_store_screlease(, 0) = void +3802699361698242:3802699361698962 1976:1977 hsa_signal_destroy() = 0 +3802699360191010:3802699361724022 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699361732122:3802699361733292 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699361741052:3802699361741652 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802699361751362:3802699361751962 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802699361753482:3802699361754072 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802699361756102:3802699361756692 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802699361758072:3802699361758672 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802699361766452:3802699361767052 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802699361770242:3802699361770832 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699361732572:3802699361792942 1976:1980 hsa_amd_memory_unlock(0x7f52745ff000) = 0 +3802699361799582:3802699361800312 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 176 +3802699361801252:3802699361801892 1976:1980 hsa_queue_load_read_index_relaxed(0x7f5384da6000) = 176 +3802699361802792:3802699361803392 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 176 +3802699361804302:3802699361805292 1976:1980 hsa_signal_store_screlease(, 176) = void +3802699361809562:3802699362067954 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52741fe000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802699362069934:3802699362070784 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699362071604:3802699362072204 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 177 +3802699362073004:3802699362073574 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 176 +3802699362074324:3802699362075174 1976:1980 hsa_signal_store_screlease(, 177) = void +3802699362076064:3802699363135242 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699363142392:3802699363143252 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699363145082:3802699363146312 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802699363147382:3802699363149492 1976:1980 hsa_signal_create(1, , 0, 0x7f53763292b0) = 0 +3802699363150332:3802699363155352 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376329270) = 0 +3802699363156232:3802699363158372 1976:1980 hsa_amd_memory_async_copy(0x7f51e4200010, , 0x7f51e5e00000, , , , 0, ) = 0 +3802699364580553:3802699364585633 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802699364587853:3802699364589003 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802699364590043:3802699364590973 1976:1977 hsa_signal_load_relaxed() = 1 +3802699364591823:3802699364596013 1976:1977 hsa_signal_store_screlease(, 0) = void +3802699364596903:3802699364597623 1976:1977 hsa_signal_destroy() = 0 +3802699363159262:3802699364604793 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699364608583:3802699364609523 1976:1980 hsa_amd_profiling_get_dispatch_time(, , 0x7f5384c97b30) = 0 +3802699364617143:3802699364617753 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699364613013:3802699364670494 1976:1980 hsa_amd_memory_unlock(0x7f52741fe000) = 0 +3802699371820277:3802699371821317 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699371865567:3802699372176970 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52745ff000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802699372179800:3802699372180790 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699372182400:3802699372183420 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802699372184560:3802699372186300 1976:1980 hsa_signal_create(1, , 0, 0x7f5376329310) = 0 +3802699372187330:3802699372192330 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f53763292d0) = 0 +3802699372193480:3802699372195750 1976:1980 hsa_amd_memory_async_copy(0x7f51e6400000, , 0x7f51e4200010, , , , 0, ) = 0 +3802699373688341:3802699373693291 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802699373695341:3802699373696491 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802699373697541:3802699373698461 1976:1977 hsa_signal_load_relaxed() = 1 +3802699373699301:3802699373703221 1976:1977 hsa_signal_store_screlease(, 0) = void +3802699373704121:3802699373704821 1976:1977 hsa_signal_destroy() = 0 +3802699372196680:3802699373729921 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699373738161:3802699373739161 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699373751501:3802699373752101 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802699373754201:3802699373754791 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802699373756651:3802699373757821 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802699373759441:3802699373760031 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802699373761181:3802699373761781 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802699373774611:3802699373775211 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802699373778331:3802699373778931 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699373738341:3802699373798822 1976:1980 hsa_amd_memory_unlock(0x7f52745ff000) = 0 +3802699373805572:3802699373806322 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 178 +3802699373807242:3802699373807882 1976:1980 hsa_queue_load_read_index_relaxed(0x7f5384da6000) = 178 +3802699373808792:3802699373809402 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 178 +3802699373810302:3802699373811252 1976:1980 hsa_signal_store_screlease(, 178) = void +3802699373815222:3802699374072824 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52741fe000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802699374074784:3802699374075624 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699374076444:3802699374077044 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 179 +3802699374077854:3802699374078424 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 178 +3802699374079234:3802699374080084 1976:1980 hsa_signal_store_screlease(, 179) = void +3802699374080974:3802699375139482 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699375142162:3802699375142992 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699375144652:3802699375145832 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802699375146842:3802699375148962 1976:1980 hsa_signal_create(1, , 0, 0x7f5376329370) = 0 +3802699375149922:3802699375155232 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376329330) = 0 +3802699375156122:3802699375158222 1976:1980 hsa_amd_memory_async_copy(0x7f51e4200010, , 0x7f51e5e00000, , , , 0, ) = 0 +3802699376579222:3802699376584362 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802699376586622:3802699376587782 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802699376588912:3802699376589842 1976:1977 hsa_signal_load_relaxed() = 1 +3802699376590692:3802699376595032 1976:1977 hsa_signal_store_screlease(, 0) = void +3802699376595912:3802699376596622 1976:1977 hsa_signal_destroy() = 0 +3802699375159112:3802699376608832 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699376616392:3802699376617422 1976:1980 hsa_amd_profiling_get_dispatch_time(, , 0x7f5384c97b30) = 0 +3802699376622523:3802699376623583 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699376620382:3802699376677783 1976:1980 hsa_amd_memory_unlock(0x7f52741fe000) = 0 +3802699383814105:3802699383815155 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699383859886:3802699384170468 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52745ff000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802699384173158:3802699384174058 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699384175388:3802699384176408 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802699384177568:3802699384179438 1976:1980 hsa_signal_create(1, , 0, 0x7f53763293d0) = 0 +3802699384180578:3802699384185628 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376329390) = 0 +3802699384186708:3802699384188698 1976:1980 hsa_amd_memory_async_copy(0x7f51e6400000, , 0x7f51e4200010, , , , 0, ) = 0 +3802699385681239:3802699385686399 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802699385688859:3802699385690009 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802699385691259:3802699385692179 1976:1977 hsa_signal_load_relaxed() = 1 +3802699385693289:3802699385697219 1976:1977 hsa_signal_store_screlease(, 0) = void +3802699385698169:3802699385698879 1976:1977 hsa_signal_destroy() = 0 +3802699384189628:3802699385730530 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699385739400:3802699385740180 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699385748290:3802699385748890 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802699385758390:3802699385758990 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802699385760530:3802699385761130 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802699385763070:3802699385763660 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802699385765090:3802699385765690 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802699385773340:3802699385773940 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802699385776900:3802699385777500 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699385738860:3802699385798790 1976:1980 hsa_amd_memory_unlock(0x7f52745ff000) = 0 +3802699385805760:3802699385806480 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 180 +3802699385807500:3802699385808140 1976:1980 hsa_queue_load_read_index_relaxed(0x7f5384da6000) = 180 +3802699385809040:3802699385809650 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 180 +3802699385814050:3802699385815010 1976:1980 hsa_signal_store_screlease(, 180) = void +3802699385819150:3802699386079532 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52741fe000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802699386081462:3802699386082312 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699386083142:3802699386083752 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 181 +3802699386084562:3802699386085132 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 180 +3802699386085992:3802699386086832 1976:1980 hsa_signal_store_screlease(, 181) = void +3802699386087712:3802699387140300 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699387143050:3802699387143880 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699387145530:3802699387146710 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802699387147700:3802699387149840 1976:1980 hsa_signal_create(1, , 0, 0x7f5376329430) = 0 +3802699387150830:3802699387156310 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f53763293f0) = 0 +3802699387157190:3802699387159320 1976:1980 hsa_amd_memory_async_copy(0x7f51e4200010, , 0x7f51e5e00000, , , , 0, ) = 0 +3802699388580041:3802699388585131 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802699388587711:3802699388588861 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802699388589991:3802699388590931 1976:1977 hsa_signal_load_relaxed() = 1 +3802699388591771:3802699388595981 1976:1977 hsa_signal_store_screlease(, 0) = void +3802699388596851:3802699388597571 1976:1977 hsa_signal_destroy() = 0 +3802699387160210:3802699388603981 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699388607811:3802699388609011 1976:1980 hsa_amd_profiling_get_dispatch_time(, , 0x7f5384c97b30) = 0 +3802699388616031:3802699388616641 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699388612981:3802699388670041 1976:1980 hsa_amd_memory_unlock(0x7f52741fe000) = 0 +3802699395805115:3802699395806185 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699395856085:3802699396170227 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52745ff000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802699396173097:3802699396174017 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699396175617:3802699396176637 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802699396177787:3802699396179537 1976:1980 hsa_signal_create(1, , 0, 0x7f5376329490) = 0 +3802699396180487:3802699396185507 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376329450) = 0 +3802699396186657:3802699396188647 1976:1980 hsa_amd_memory_async_copy(0x7f51e6400000, , 0x7f51e4200010, , , , 0, ) = 0 +3802699397682088:3802699397687019 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802699397692659:3802699397693819 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802699397694869:3802699397695789 1976:1977 hsa_signal_load_relaxed() = 1 +3802699397696639:3802699397700749 1976:1977 hsa_signal_store_screlease(, 0) = void +3802699397701619:3802699397702349 1976:1977 hsa_signal_destroy() = 0 +3802699396189577:3802699397727469 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699397737049:3802699397738249 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699397745639:3802699397746239 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802699397748509:3802699397749099 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802699397750809:3802699397751409 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802699397753259:3802699397753849 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802699397755639:3802699397756809 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802699397775359:3802699397775959 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802699397778979:3802699397779579 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699397737579:3802699397798259 1976:1980 hsa_amd_memory_unlock(0x7f52745ff000) = 0 +3802699397805269:3802699397806019 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 182 +3802699397807249:3802699397807889 1976:1980 hsa_queue_load_read_index_relaxed(0x7f5384da6000) = 182 +3802699397808999:3802699397809609 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 182 +3802699397810569:3802699397811509 1976:1980 hsa_signal_store_screlease(, 182) = void +3802699397815409:3802699398074441 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52741fe000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802699398076421:3802699398077271 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699398078111:3802699398078711 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 183 +3802699398079521:3802699398080121 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 182 +3802699398080881:3802699398081701 1976:1980 hsa_signal_store_screlease(, 183) = void +3802699398082581:3802699399139619 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699399142299:3802699399143129 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699399144819:3802699399145999 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802699399147009:3802699399149139 1976:1980 hsa_signal_create(1, , 0, 0x7f53763294f0) = 0 +3802699399150089:3802699399155409 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f53763294b0) = 0 +3802699399159909:3802699399162059 1976:1980 hsa_amd_memory_async_copy(0x7f51e4200010, , 0x7f51e5e00000, , , , 0, ) = 0 +3802699400584190:3802699400588890 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802699400591130:3802699400592280 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802699400593320:3802699400594250 1976:1977 hsa_signal_load_relaxed() = 1 +3802699400595100:3802699400599490 1976:1977 hsa_signal_store_screlease(, 0) = void +3802699400600360:3802699400601080 1976:1977 hsa_signal_destroy() = 0 +3802699399162969:3802699400608260 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699400612360:3802699400613550 1976:1980 hsa_amd_profiling_get_dispatch_time(, , 0x7f5384c97b30) = 0 +3802699400618850:3802699400619840 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699400616620:3802699400675511 1976:1980 hsa_amd_memory_unlock(0x7f52741fe000) = 0 +3802699407931535:3802699407932785 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699407978765:3802699408298967 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52745ff000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802699408301637:3802699408302477 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699408303897:3802699408304907 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802699408306057:3802699408307907 1976:1980 hsa_signal_create(1, , 0, 0x7f5376329550) = 0 +3802699408309077:3802699408314077 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376329510) = 0 +3802699408315148:3802699408317158 1976:1980 hsa_amd_memory_async_copy(0x7f51e6400000, , 0x7f51e4200010, , , , 0, ) = 0 +3802699409825008:3802699409829958 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802699409832248:3802699409833408 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802699409834448:3802699409835379 1976:1977 hsa_signal_load_relaxed() = 1 +3802699409836239:3802699409840159 1976:1977 hsa_signal_store_screlease(, 0) = void +3802699409841049:3802699409841769 1976:1977 hsa_signal_destroy() = 0 +3802699408318068:3802699409866679 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699409875519:3802699409876549 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699409884439:3802699409885029 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802699409895919:3802699409896519 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802699409898299:3802699409898899 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802699409900989:3802699409901579 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802699409904689:3802699409905289 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802699409913779:3802699409914379 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802699409917739:3802699409918339 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699409874069:3802699409933609 1976:1980 hsa_amd_memory_unlock(0x7f52745ff000) = 0 +3802699409940409:3802699409941129 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 184 +3802699409942069:3802699409942709 1976:1980 hsa_queue_load_read_index_relaxed(0x7f5384da6000) = 184 +3802699409943619:3802699409944229 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 184 +3802699409945169:3802699409946119 1976:1980 hsa_signal_store_screlease(, 184) = void +3802699409950029:3802699410208741 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52741fe000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802699410210691:3802699410211561 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699410212391:3802699410213011 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 185 +3802699410213811:3802699410214391 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 184 +3802699410215151:3802699410215991 1976:1980 hsa_signal_store_screlease(, 185) = void +3802699410216871:3802699411248079 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699411250759:3802699411251589 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699411253249:3802699411254429 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802699411255439:3802699411257569 1976:1980 hsa_signal_create(1, , 0, 0x7f53763295b0) = 0 +3802699411258569:3802699411264049 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376329570) = 0 +3802699411264939:3802699411267229 1976:1980 hsa_amd_memory_async_copy(0x7f51e4200010, , 0x7f51e5e00000, , , , 0, ) = 0 +3802699412666799:3802699412671779 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802699412674269:3802699412675439 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802699412676479:3802699412677399 1976:1977 hsa_signal_load_relaxed() = 1 +3802699412678249:3802699412682199 1976:1977 hsa_signal_store_screlease(, 0) = void +3802699412683069:3802699412683779 1976:1977 hsa_signal_destroy() = 0 +3802699411268139:3802699412708469 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699412713789:3802699412715039 1976:1980 hsa_amd_profiling_get_dispatch_time(, , 0x7f5384c97b30) = 0 +3802699412720670:3802699412721680 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699412719030:3802699412775870 1976:1980 hsa_amd_memory_unlock(0x7f52741fe000) = 0 +3802699420027164:3802699420028254 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699420062624:3802699420371056 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52745ff000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802699420373886:3802699420374756 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699420376126:3802699420377146 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802699420378006:3802699420379677 1976:1980 hsa_signal_create(1, , 0, 0x7f5376329610) = 0 +3802699420380537:3802699420385697 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f53763295d0) = 0 +3802699420386567:3802699420388547 1976:1980 hsa_amd_memory_async_copy(0x7f51e6400000, , 0x7f51e4200010, , , , 0, ) = 0 +3802699421894918:3802699421899948 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802699421902428:3802699421903578 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802699421904618:3802699421905548 1976:1977 hsa_signal_load_relaxed() = 1 +3802699421906638:3802699421910728 1976:1977 hsa_signal_store_screlease(, 0) = void +3802699421911628:3802699421912348 1976:1977 hsa_signal_destroy() = 0 +3802699420389467:3802699421943758 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699421954208:3802699421954818 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699421962188:3802699421962788 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802699421965198:3802699421965788 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802699421967508:3802699421968268 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802699421970668:3802699421971258 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802699421972538:3802699421973138 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802699421950768:3802699422010189 1976:1980 hsa_amd_memory_unlock(0x7f52745ff000) = 0 +3802699422040289:3802699422040899 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802699422044509:3802699422045109 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699422048659:3802699422049569 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 186 +3802699422051079:3802699422051729 1976:1980 hsa_queue_load_read_index_relaxed(0x7f5384da6000) = 186 +3802699422052879:3802699422053479 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 186 +3802699422054449:3802699422055409 1976:1980 hsa_signal_store_screlease(, 186) = void +3802699422060299:3802699422322371 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52741fe000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802699422324411:3802699422325291 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699422326121:3802699422326671 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 187 +3802699422330681:3802699422331271 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 186 +3802699422332071:3802699422332921 1976:1980 hsa_signal_store_screlease(, 187) = void +3802699422333801:3802699423369629 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699423372299:3802699423373129 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699423374809:3802699423375979 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802699423376999:3802699423379159 1976:1980 hsa_signal_create(1, , 0, 0x7f5376329670) = 0 +3802699423380119:3802699423385529 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376329630) = 0 +3802699423386399:3802699423388529 1976:1980 hsa_amd_memory_async_copy(0x7f51e4200010, , 0x7f51e5e00000, , , , 0, ) = 0 +3802699424795799:3802699424800369 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802699424802799:3802699424803949 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802699424804989:3802699424805909 1976:1977 hsa_signal_load_relaxed() = 1 +3802699424806759:3802699424810869 1976:1977 hsa_signal_store_screlease(, 0) = void +3802699424811739:3802699424812459 1976:1977 hsa_signal_destroy() = 0 +3802699423389439:3802699424838120 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699424843650:3802699424845090 1976:1980 hsa_amd_profiling_get_dispatch_time(, , 0x7f5384c97b30) = 0 +3802699424852310:3802699424853300 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699424850150:3802699424907610 1976:1980 hsa_amd_memory_unlock(0x7f52741fe000) = 0 +3802699432142374:3802699432143474 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699432171994:3802699432479617 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52745ff000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802699432482347:3802699432483157 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699432484567:3802699432485577 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802699432486707:3802699432488497 1976:1980 hsa_signal_create(1, , 0, 0x7f53763296d0) = 0 +3802699432489657:3802699432494947 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376329690) = 0 +3802699432496027:3802699432497977 1976:1980 hsa_amd_memory_async_copy(0x7f51e6400000, , 0x7f51e4200010, , , , 0, ) = 0 +3802699434124979:3802699434129919 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802699434132209:3802699434133369 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802699434134599:3802699434135519 1976:1977 hsa_signal_load_relaxed() = 1 +3802699434136369:3802699434140479 1976:1977 hsa_signal_store_screlease(, 0) = void +3802699434141369:3802699434142079 1976:1977 hsa_signal_destroy() = 0 +3802699432498877:3802699434167299 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699434175999:3802699434176999 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699434185799:3802699434186389 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802699434196539:3802699434197139 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802699434198899:3802699434199499 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802699434201469:3802699434202059 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802699434203359:3802699434203949 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802699434211679:3802699434212269 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802699434215129:3802699434215729 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699434174509:3802699434235490 1976:1980 hsa_amd_memory_unlock(0x7f52745ff000) = 0 +3802699434242400:3802699434243130 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 188 +3802699434244150:3802699434244790 1976:1980 hsa_queue_load_read_index_relaxed(0x7f5384da6000) = 188 +3802699434245890:3802699434246490 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 188 +3802699434247430:3802699434248380 1976:1980 hsa_signal_store_screlease(, 188) = void +3802699434252460:3802699434512482 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52741fe000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802699434514452:3802699434515352 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699434516172:3802699434516782 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 189 +3802699434517592:3802699434518162 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 188 +3802699434518912:3802699434519732 1976:1980 hsa_signal_store_screlease(, 189) = void +3802699434520642:3802699435563329 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699435565999:3802699435566839 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699435568489:3802699435569669 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802699435570680:3802699435572790 1976:1980 hsa_signal_create(1, , 0, 0x7f5376329730) = 0 +3802699435573750:3802699435579280 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f53763296f0) = 0 +3802699435580150:3802699435582250 1976:1980 hsa_amd_memory_async_copy(0x7f51e4200010, , 0x7f51e5e00000, , , , 0, ) = 0 +3802699436847409:3802699436852149 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802699436854429:3802699436855629 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802699436856669:3802699436857589 1976:1977 hsa_signal_load_relaxed() = 1 +3802699436861909:3802699436865939 1976:1977 hsa_signal_store_screlease(, 0) = void +3802699436866869:3802699436867579 1976:1977 hsa_signal_destroy() = 0 +3802699435583130:3802699436893159 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699436898619:3802699436900059 1976:1980 hsa_amd_profiling_get_dispatch_time(, , 0x7f5384c97b30) = 0 +3802699436907129:3802699436908119 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699436904949:3802699436962150 1976:1980 hsa_amd_memory_unlock(0x7f52741fe000) = 0 +3802699444197703:3802699444198783 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699444227153:3802699444536475 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52745ff000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802699444539295:3802699444540165 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699444541815:3802699444542825 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802699444543985:3802699444545655 1976:1980 hsa_signal_create(1, , 0, 0x7f5376329790) = 0 +3802699444546595:3802699444551485 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376329750) = 0 +3802699444552656:3802699444554586 1976:1980 hsa_amd_memory_async_copy(0x7f51e6400000, , 0x7f51e4200010, , , , 0, ) = 0 +3802699446125017:3802699446129737 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802699446132037:3802699446133187 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802699446134237:3802699446135157 1976:1977 hsa_signal_load_relaxed() = 1 +3802699446135997:3802699446140087 1976:1977 hsa_signal_store_screlease(, 0) = void +3802699446140987:3802699446141707 1976:1977 hsa_signal_destroy() = 0 +3802699444555506:3802699446166828 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699446182708:3802699446183318 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699446191898:3802699446193048 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802699446195198:3802699446195798 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802699446197318:3802699446197918 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802699446199738:3802699446200328 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802699446201698:3802699446202288 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802699446210368:3802699446210968 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802699446215618:3802699446216218 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699446173828:3802699446233988 1976:1980 hsa_amd_memory_unlock(0x7f52745ff000) = 0 +3802699446241108:3802699446241828 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 190 +3802699446246168:3802699446246828 1976:1980 hsa_queue_load_read_index_relaxed(0x7f5384da6000) = 190 +3802699446247748:3802699446248348 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 190 +3802699446249278:3802699446250228 1976:1980 hsa_signal_store_screlease(, 190) = void +3802699446254318:3802699446514480 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52741fe000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802699446516460:3802699446517350 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699446518190:3802699446518800 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 191 +3802699446519590:3802699446520160 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 190 +3802699446520930:3802699446521760 1976:1980 hsa_signal_store_screlease(, 191) = void +3802699446522670:3802699447546138 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699447548798:3802699447549628 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699447551308:3802699447552488 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802699447553498:3802699447555618 1976:1980 hsa_signal_create(1, , 0, 0x7f53763297f0) = 0 +3802699447556578:3802699447562038 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f53763297b0) = 0 +3802699447562928:3802699447565048 1976:1980 hsa_amd_memory_async_copy(0x7f51e4200010, , 0x7f51e5e00000, , , , 0, ) = 0 +3802699448830417:3802699448835097 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802699448837437:3802699448838597 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802699448839637:3802699448840557 1976:1977 hsa_signal_load_relaxed() = 1 +3802699448841407:3802699448845357 1976:1977 hsa_signal_store_screlease(, 0) = void +3802699448846247:3802699448846967 1976:1977 hsa_signal_destroy() = 0 +3802699447565958:3802699448872608 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699448878078:3802699448879278 1976:1980 hsa_amd_profiling_get_dispatch_time(, , 0x7f5384c97b30) = 0 +3802699448886338:3802699448887148 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699448884558:3802699448943318 1976:1980 hsa_amd_memory_unlock(0x7f52741fe000) = 0 +3802699456162422:3802699456163632 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699456190972:3802699456500094 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52745ff000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802699456502794:3802699456503684 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699456505084:3802699456506094 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802699456507234:3802699456509014 1976:1980 hsa_signal_create(1, , 0, 0x7f5376329850) = 0 +3802699456513174:3802699456518225 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376329810) = 0 +3802699456519115:3802699456521085 1976:1980 hsa_amd_memory_async_copy(0x7f51e6400000, , 0x7f51e4200010, , , , 0, ) = 0 +3802699458125856:3802699458130797 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802699458133017:3802699458134167 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802699458135217:3802699458136137 1976:1977 hsa_signal_load_relaxed() = 1 +3802699458136987:3802699458140997 1976:1977 hsa_signal_store_screlease(, 0) = void +3802699458141887:3802699458142597 1976:1977 hsa_signal_destroy() = 0 +3802699456522005:3802699458167927 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699458176597:3802699458177627 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699458186667:3802699458187267 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802699458196957:3802699458197547 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802699458199167:3802699458199757 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802699458201807:3802699458202397 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802699458204057:3802699458204657 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802699458212427:3802699458213017 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802699458216227:3802699458216827 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699458175337:3802699458237137 1976:1980 hsa_amd_memory_unlock(0x7f52745ff000) = 0 +3802699458243977:3802699458244707 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 192 +3802699458245717:3802699458246357 1976:1980 hsa_queue_load_read_index_relaxed(0x7f5384da6000) = 192 +3802699458247267:3802699458247867 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 192 +3802699458248797:3802699458249737 1976:1980 hsa_signal_store_screlease(, 192) = void +3802699458253637:3802699458514299 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52741fe000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802699458516289:3802699458517139 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699458517989:3802699458518549 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 193 +3802699458519359:3802699458519919 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 192 +3802699458520669:3802699458521509 1976:1980 hsa_signal_store_screlease(, 193) = void +3802699458522379:3802699459557007 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699459559707:3802699459560547 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699459562207:3802699459563387 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802699459568817:3802699459571097 1976:1980 hsa_signal_create(1, , 0, 0x7f53763298b0) = 0 +3802699459572167:3802699459577147 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376329870) = 0 +3802699459578027:3802699459580117 1976:1980 hsa_amd_memory_async_copy(0x7f51e4200010, , 0x7f51e5e00000, , , , 0, ) = 0 +3802699460844947:3802699460849677 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802699460851897:3802699460853047 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802699460854107:3802699460855037 1976:1977 hsa_signal_load_relaxed() = 1 +3802699460855877:3802699460859877 1976:1977 hsa_signal_store_screlease(, 0) = void +3802699460860747:3802699460861467 1976:1977 hsa_signal_destroy() = 0 +3802699459581017:3802699460885937 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699460891217:3802699460892377 1976:1980 hsa_amd_profiling_get_dispatch_time(, , 0x7f5384c97b30) = 0 +3802699460899047:3802699460900147 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699460897457:3802699460956028 1976:1980 hsa_amd_memory_unlock(0x7f52741fe000) = 0 +3802699468177711:3802699468178851 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699468207841:3802699468516784 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52745ff000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802699468519644:3802699468520594 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699468522234:3802699468523244 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802699468524414:3802699468526074 1976:1980 hsa_signal_create(1, , 0, 0x7f5376329910) = 0 +3802699468527034:3802699468532004 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f53763298d0) = 0 +3802699468533164:3802699468535144 1976:1980 hsa_amd_memory_async_copy(0x7f51e6400000, , 0x7f51e4200010, , , , 0, ) = 0 +3802699470125235:3802699470130175 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802699470132215:3802699470133365 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802699470134425:3802699470135335 1976:1977 hsa_signal_load_relaxed() = 1 +3802699470136185:3802699470140085 1976:1977 hsa_signal_store_screlease(, 0) = void +3802699470140975:3802699470141675 1976:1977 hsa_signal_destroy() = 0 +3802699468536054:3802699470173356 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699470189456:3802699470190066 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699470199006:3802699470200276 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802699470202446:3802699470203036 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802699470206466:3802699470207066 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802699470208926:3802699470209526 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802699470210836:3802699470211426 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802699470219616:3802699470220206 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802699470224986:3802699470225586 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699470180506:3802699470241276 1976:1980 hsa_amd_memory_unlock(0x7f52745ff000) = 0 +3802699470247996:3802699470248716 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 194 +3802699470249656:3802699470250296 1976:1980 hsa_queue_load_read_index_relaxed(0x7f5384da6000) = 194 +3802699470251206:3802699470251806 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 194 +3802699470252716:3802699470253656 1976:1980 hsa_signal_store_screlease(, 194) = void +3802699470257706:3802699470517058 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52741fe000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802699470519078:3802699470519958 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699470520788:3802699470521388 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 195 +3802699470522168:3802699470522738 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 194 +3802699470523508:3802699470524358 1976:1980 hsa_signal_store_screlease(, 195) = void +3802699470525238:3802699471571286 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699471573966:3802699471574796 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699471576446:3802699471577616 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802699471578626:3802699471580806 1976:1980 hsa_signal_create(1, , 0, 0x7f5376329970) = 0 +3802699471581766:3802699471587276 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376329930) = 0 +3802699471588166:3802699471590486 1976:1980 hsa_amd_memory_async_copy(0x7f51e4200010, , 0x7f51e5e00000, , , , 0, ) = 0 +3802699472855905:3802699472860825 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802699472863135:3802699472864285 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802699472865335:3802699472866255 1976:1977 hsa_signal_load_relaxed() = 1 +3802699472867105:3802699472871085 1976:1977 hsa_signal_store_screlease(, 0) = void +3802699472871975:3802699472872685 1976:1977 hsa_signal_destroy() = 0 +3802699471591376:3802699472898326 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699472903876:3802699472905226 1976:1980 hsa_amd_profiling_get_dispatch_time(, , 0x7f5384c97b30) = 0 +3802699472916266:3802699472917256 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699472914106:3802699472971846 1976:1980 hsa_amd_memory_unlock(0x7f52741fe000) = 0 +3802699480185540:3802699480186910 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699480214600:3802699480522932 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52745ff000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802699480525612:3802699480526492 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699480527882:3802699480528882 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802699480530022:3802699480531812 1976:1980 hsa_signal_create(1, , 0, 0x7f53763299d0) = 0 +3802699480532932:3802699480537842 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376329990) = 0 +3802699480538922:3802699480540862 1976:1980 hsa_amd_memory_async_copy(0x7f51e6400000, , 0x7f51e4200010, , , , 0, ) = 0 +3802699482126404:3802699482131324 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802699482133704:3802699482134854 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802699482136074:3802699482137014 1976:1977 hsa_signal_load_relaxed() = 1 +3802699482138144:3802699482142224 1976:1977 hsa_signal_store_screlease(, 0) = void +3802699482143194:3802699482143914 1976:1977 hsa_signal_destroy() = 0 +3802699480541772:3802699482169005 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699482177185:3802699482178205 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699482187415:3802699482188005 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802699482189925:3802699482190515 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802699482192065:3802699482192655 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802699482205935:3802699482206535 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802699482208355:3802699482208945 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802699482217515:3802699482218115 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802699482222075:3802699482222665 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699482176225:3802699482236535 1976:1980 hsa_amd_memory_unlock(0x7f52745ff000) = 0 +3802699482243305:3802699482244035 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 196 +3802699482245075:3802699482245725 1976:1980 hsa_queue_load_read_index_relaxed(0x7f5384da6000) = 196 +3802699482246815:3802699482247425 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 196 +3802699482248345:3802699482249285 1976:1980 hsa_signal_store_screlease(, 196) = void +3802699482253415:3802699482512897 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52741fe000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802699482518027:3802699482518877 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699482519717:3802699482520327 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 197 +3802699482521137:3802699482521707 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 196 +3802699482522477:3802699482523337 1976:1980 hsa_signal_store_screlease(, 197) = void +3802699482524227:3802699483561215 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699483563895:3802699483564725 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699483566495:3802699483567675 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802699483568685:3802699483570805 1976:1980 hsa_signal_create(1, , 0, 0x7f5376329a30) = 0 +3802699483571765:3802699483577255 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f53763299f0) = 0 +3802699483578115:3802699483580235 1976:1980 hsa_amd_memory_async_copy(0x7f51e4200010, , 0x7f51e5e00000, , , , 0, ) = 0 +3802699484845634:3802699484850354 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802699484852814:3802699484853964 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802699484855004:3802699484855934 1976:1977 hsa_signal_load_relaxed() = 1 +3802699484856775:3802699484860785 1976:1977 hsa_signal_store_screlease(, 0) = void +3802699484861655:3802699484862365 1976:1977 hsa_signal_destroy() = 0 +3802699483581125:3802699484887995 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699484893315:3802699484894755 1976:1980 hsa_amd_profiling_get_dispatch_time(, , 0x7f5384c97b30) = 0 +3802699484902035:3802699484903075 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699484899755:3802699484957345 1976:1980 hsa_amd_memory_unlock(0x7f52741fe000) = 0 +3802699492184229:3802699492185189 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699492213819:3802699492525312 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52745ff000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802699492528132:3802699492528952 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699492530572:3802699492531582 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802699492532762:3802699492534442 1976:1980 hsa_signal_create(1, , 0, 0x7f5376329a90) = 0 +3802699492535392:3802699492540612 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376329a50) = 0 +3802699492541762:3802699492543712 1976:1980 hsa_amd_memory_async_copy(0x7f51e6400000, , 0x7f51e4200010, , , , 0, ) = 0 +3802699494125593:3802699494130513 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802699494132834:3802699494134014 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802699494139034:3802699494140054 1976:1977 hsa_signal_load_relaxed() = 1 +3802699494140904:3802699494145004 1976:1977 hsa_signal_store_screlease(, 0) = void +3802699494145894:3802699494146634 1976:1977 hsa_signal_destroy() = 0 +3802699492544622:3802699494171964 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699494186774:3802699494187384 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699494195744:3802699494196524 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802699494199414:3802699494200004 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c20) = 0 +3802699494201704:3802699494202294 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802699494204354:3802699494204944 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c00) = 0 +3802699494206214:3802699494206804 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802699494214974:3802699494215564 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c10) = 0 +3802699494220074:3802699494220664 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699494179184:3802699494239354 1976:1980 hsa_amd_memory_unlock(0x7f52745ff000) = 0 +3802699494246334:3802699494247084 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 198 +3802699494248294:3802699494248964 1976:1980 hsa_queue_load_read_index_relaxed(0x7f5384da6000) = 198 +3802699494249874:3802699494250474 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 198 +3802699494251384:3802699494252334 1976:1980 hsa_signal_store_screlease(, 198) = void +3802699494256314:3802699494516066 1976:1980 hsa_amd_memory_lock_to_pool(0x7f52741fe000, , 0, 0, , , 0x7f51e01672b8) = 0 +3802699494518136:3802699494519036 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699494519866:3802699494520486 1976:1980 hsa_queue_add_write_index_screlease(0x7f5384da6000, ) = 199 +3802699494521276:3802699494521846 1976:1980 hsa_queue_load_read_index_scacquire(0x7f5384da6000) = 198 +3802699494522596:3802699494523436 1976:1980 hsa_signal_store_screlease(, 199) = void +3802699494524316:3802699495556404 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699495559064:3802699495559894 1976:1980 hsa_signal_store_relaxed(, 1) = void +3802699495561684:3802699495562874 1976:1980 hsa_system_get_info(2, 0x7f5384c97650) = 0 +3802699495563884:3802699495566004 1976:1980 hsa_signal_create(1, , 0, 0x7f5376329af0) = 0 +3802699495566984:3802699495572474 1976:1980 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f5376329ab0) = 0 +3802699495573354:3802699495575484 1976:1980 hsa_amd_memory_async_copy(0x7f51e4200010, , 0x7f51e5e00000, , , , 0, ) = 0 +3802699496841024:3802699496845954 1976:1977 hsa_amd_profiling_get_async_copy_time(, 0x7f5376323a60) = 0 +3802699496851604:3802699496852764 1976:1977 hsa_system_get_info(2, 0x7f5376323a58) = 0 +3802699496853844:3802699496854774 1976:1977 hsa_signal_load_relaxed() = 1 +3802699496855614:3802699496859784 1976:1977 hsa_signal_store_screlease(, 0) = void +3802699496860674:3802699496861384 1976:1977 hsa_signal_destroy() = 0 +3802699495576384:3802699496893494 1976:1980 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802699496899184:3802699496900294 1976:1980 hsa_amd_profiling_get_dispatch_time(, , 0x7f5384c97b30) = 0 +3802699496906804:3802699496907794 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699496904524:3802699496962665 1976:1980 hsa_amd_memory_unlock(0x7f52741fe000) = 0 +3802699504180137:3802699504181567 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699504197838:3802699504271628 1976:1976 hsa_amd_memory_pool_free(0x7f51e6400000) = 0 +3802699504275528:3802699504276058 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699504286938:3802699504287458 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802699504289348:3802699504306118 1976:1976 hsa_amd_memory_pool_free(0x7f51e5e00000) = 0 +3802699504307778:3802699504308298 1976:1976 hsa_system_get_info(2, 0x7fff4ce03c40) = 0 +3802698295957774 1976:1976 0:"before hipLaunchKernel" +3802698295968784 1976:1976 1:"hipLaunchKernel" +3802698296603369 1976:1976 0:"after hipLaunchKernel" +3802698296604059 1976:1976 1:"hipMemcpy" +3802698299913553 1976:1976 2:"" +3802698299914183 1976:1976 2:"" +3802698309839087 1976:1976 0:"before hipLaunchKernel" +3802698309840637 1976:1976 1:"hipLaunchKernel" +3802698309867077 1976:1976 0:"after hipLaunchKernel" +3802698309867867 1976:1976 1:"hipMemcpy" +3802698312829389 1976:1976 2:"" +3802698312829859 1976:1976 2:"" +3802698322149558 1976:1976 0:"before hipLaunchKernel" +3802698322150888 1976:1976 1:"hipLaunchKernel" +3802698322170628 1976:1976 0:"after hipLaunchKernel" +3802698322171188 1976:1976 1:"hipMemcpy" +3802698324997109 1976:1976 2:"" +3802698324997579 1976:1976 2:"" +3802698334536360 1976:1976 0:"before hipLaunchKernel" +3802698334537960 1976:1976 1:"hipLaunchKernel" +3802698334565450 1976:1976 0:"after hipLaunchKernel" +3802698334566090 1976:1976 1:"hipMemcpy" +3802698337583582 1976:1976 2:"" +3802698337584062 1976:1976 2:"" +3802698346849791 1976:1976 0:"before hipLaunchKernel" +3802698346851471 1976:1976 1:"hipLaunchKernel" +3802698346876891 1976:1976 0:"after hipLaunchKernel" +3802698346877441 1976:1976 1:"hipMemcpy" +3802698349817793 1976:1976 2:"" +3802698349818323 1976:1976 2:"" +3802698358951811 1976:1976 0:"before hipLaunchKernel" +3802698358953221 1976:1976 1:"hipLaunchKernel" +3802698358977411 1976:1976 0:"after hipLaunchKernel" +3802698358977931 1976:1976 1:"hipMemcpy" +3802698361842352 1976:1976 2:"" +3802698361842972 1976:1976 2:"" +3802698370984030 1976:1976 0:"before hipLaunchKernel" +3802698370985370 1976:1976 1:"hipLaunchKernel" +3802698371010560 1976:1976 0:"after hipLaunchKernel" +3802698371011080 1976:1976 1:"hipMemcpy" +3802698373839381 1976:1976 2:"" +3802698373840081 1976:1976 2:"" +3802698382999689 1976:1976 0:"before hipLaunchKernel" +3802698383001159 1976:1976 1:"hipLaunchKernel" +3802698383021039 1976:1976 0:"after hipLaunchKernel" +3802698383021649 1976:1976 1:"hipMemcpy" +3802698385839350 1976:1976 2:"" +3802698385839970 1976:1976 2:"" +3802698395136369 1976:1976 0:"before hipLaunchKernel" +3802698395138139 1976:1976 1:"hipLaunchKernel" +3802698395159429 1976:1976 0:"after hipLaunchKernel" +3802698395159969 1976:1976 1:"hipMemcpy" +3802698397934999 1976:1976 2:"" +3802698397935519 1976:1976 2:"" +3802698407066857 1976:1976 0:"before hipLaunchKernel" +3802698407068317 1976:1976 1:"hipLaunchKernel" +3802698407089567 1976:1976 0:"after hipLaunchKernel" +3802698407090117 1976:1976 1:"hipMemcpy" +3802698409930089 1976:1976 2:"" +3802698409930649 1976:1976 2:"" +3802698419047446 1976:1976 0:"before hipLaunchKernel" +3802698419048926 1976:1976 1:"hipLaunchKernel" +3802698419071767 1976:1976 0:"after hipLaunchKernel" +3802698419072297 1976:1976 1:"hipMemcpy" +3802698421931137 1976:1976 2:"" +3802698421931697 1976:1976 2:"" +3802698431061855 1976:1976 0:"before hipLaunchKernel" +3802698431063275 1976:1976 1:"hipLaunchKernel" +3802698431085505 1976:1976 0:"after hipLaunchKernel" +3802698431086075 1976:1976 1:"hipMemcpy" +3802698433922826 1976:1976 2:"" +3802698433923336 1976:1976 2:"" +3802698443044684 1976:1976 0:"before hipLaunchKernel" +3802698443046464 1976:1976 1:"hipLaunchKernel" +3802698443068804 1976:1976 0:"after hipLaunchKernel" +3802698443069324 1976:1976 1:"hipMemcpy" +3802698445934236 1976:1976 2:"" +3802698445934906 1976:1976 2:"" +3802698455541096 1976:1976 0:"before hipLaunchKernel" +3802698455542996 1976:1976 1:"hipLaunchKernel" +3802698455564246 1976:1976 0:"after hipLaunchKernel" +3802698455564796 1976:1976 1:"hipMemcpy" +3802698458586539 1976:1976 2:"" +3802698458587159 1976:1976 2:"" +3802698467753757 1976:1976 0:"before hipLaunchKernel" +3802698467755207 1976:1976 1:"hipLaunchKernel" +3802698467780567 1976:1976 0:"after hipLaunchKernel" +3802698467781107 1976:1976 1:"hipMemcpy" +3802698470823400 1976:1976 2:"" +3802698470823880 1976:1976 2:"" +3802698479969378 1976:1976 0:"before hipLaunchKernel" +3802698479970828 1976:1976 1:"hipLaunchKernel" +3802698479991938 1976:1976 0:"after hipLaunchKernel" +3802698479992478 1976:1976 1:"hipMemcpy" +3802698482849299 1976:1976 2:"" +3802698482849789 1976:1976 2:"" +3802698492126948 1976:1976 0:"before hipLaunchKernel" +3802698492128778 1976:1976 1:"hipLaunchKernel" +3802698492154628 1976:1976 0:"after hipLaunchKernel" +3802698492155238 1976:1976 1:"hipMemcpy" +3802698494987599 1976:1976 2:"" +3802698494988109 1976:1976 2:"" +3802698504563340 1976:1976 0:"before hipLaunchKernel" +3802698504568030 1976:1976 1:"hipLaunchKernel" +3802698504589370 1976:1976 0:"after hipLaunchKernel" +3802698504589910 1976:1976 1:"hipMemcpy" +3802698507589983 1976:1976 2:"" +3802698507590463 1976:1976 2:"" +3802698516908051 1976:1976 0:"before hipLaunchKernel" +3802698516909951 1976:1976 1:"hipLaunchKernel" +3802698516936761 1976:1976 0:"after hipLaunchKernel" +3802698516937311 1976:1976 1:"hipMemcpy" +3802698519827073 1976:1976 2:"" +3802698519827603 1976:1976 2:"" +3802698529111392 1976:1976 0:"before hipLaunchKernel" +3802698529112822 1976:1976 1:"hipLaunchKernel" +3802698529134262 1976:1976 0:"after hipLaunchKernel" +3802698529134792 1976:1976 1:"hipMemcpy" +3802698531958193 1976:1976 2:"" +3802698531958653 1976:1976 2:"" +3802698541539303 1976:1976 0:"before hipLaunchKernel" +3802698541541233 1976:1976 1:"hipLaunchKernel" +3802698541566384 1976:1976 0:"after hipLaunchKernel" +3802698541566974 1976:1976 1:"hipMemcpy" +3802698544544486 1976:1976 2:"" +3802698544544996 1976:1976 2:"" +3802698553770384 1976:1976 0:"before hipLaunchKernel" +3802698553772084 1976:1976 1:"hipLaunchKernel" +3802698553791185 1976:1976 0:"after hipLaunchKernel" +3802698553791715 1976:1976 1:"hipMemcpy" +3802698556827967 1976:1976 2:"" +3802698556828457 1976:1976 2:"" +3802698566112656 1976:1976 0:"before hipLaunchKernel" +3802698566114136 1976:1976 1:"hipLaunchKernel" +3802698566142756 1976:1976 0:"after hipLaunchKernel" +3802698566143366 1976:1976 1:"hipMemcpy" +3802698568980487 1976:1976 2:"" +3802698568981107 1976:1976 2:"" +3802698578112005 1976:1976 0:"before hipLaunchKernel" +3802698578113775 1976:1976 1:"hipLaunchKernel" +3802698578133955 1976:1976 0:"after hipLaunchKernel" +3802698578134485 1976:1976 1:"hipMemcpy" +3802698580959776 1976:1976 2:"" +3802698580960246 1976:1976 2:"" +3802698590073824 1976:1976 0:"before hipLaunchKernel" +3802698590075384 1976:1976 1:"hipLaunchKernel" +3802698590101764 1976:1976 0:"after hipLaunchKernel" +3802698590102294 1976:1976 1:"hipMemcpy" +3802698592944435 1976:1976 2:"" +3802698592944905 1976:1976 2:"" +3802698602572106 1976:1976 0:"before hipLaunchKernel" +3802698602573746 1976:1976 1:"hipLaunchKernel" +3802698602598766 1976:1976 0:"after hipLaunchKernel" +3802698602599286 1976:1976 1:"hipMemcpy" +3802698605591158 1976:1976 2:"" +3802698605591628 1976:1976 2:"" +3802698614815537 1976:1976 0:"before hipLaunchKernel" +3802698614817317 1976:1976 1:"hipLaunchKernel" +3802698614841927 1976:1976 0:"after hipLaunchKernel" +3802698614842447 1976:1976 1:"hipMemcpy" +3802698617805469 1976:1976 2:"" +3802698617806159 1976:1976 2:"" +3802698626952487 1976:1976 0:"before hipLaunchKernel" +3802698626953937 1976:1976 1:"hipLaunchKernel" +3802698626982867 1976:1976 0:"after hipLaunchKernel" +3802698626983437 1976:1976 1:"hipMemcpy" +3802698629846948 1976:1976 2:"" +3802698629847458 1976:1976 2:"" +3802698638993086 1976:1976 0:"before hipLaunchKernel" +3802698638994976 1976:1976 1:"hipLaunchKernel" +3802698639015786 1976:1976 0:"after hipLaunchKernel" +3802698639016316 1976:1976 1:"hipMemcpy" +3802698641846037 1976:1976 2:"" +3802698641846527 1976:1976 2:"" +3802698650991195 1976:1976 0:"before hipLaunchKernel" +3802698650992485 1976:1976 1:"hipLaunchKernel" +3802698651019065 1976:1976 0:"after hipLaunchKernel" +3802698651019615 1976:1976 1:"hipMemcpy" +3802698653845256 1976:1976 2:"" +3802698653845746 1976:1976 2:"" +3802698662979054 1976:1976 0:"before hipLaunchKernel" +3802698662981174 1976:1976 1:"hipLaunchKernel" +3802698663002894 1976:1976 0:"after hipLaunchKernel" +3802698663003444 1976:1976 1:"hipMemcpy" +3802698665833955 1976:1976 2:"" +3802698665834475 1976:1976 2:"" +3802698674987773 1976:1976 0:"before hipLaunchKernel" +3802698674989033 1976:1976 1:"hipLaunchKernel" +3802698675013433 1976:1976 0:"after hipLaunchKernel" +3802698675013983 1976:1976 1:"hipMemcpy" +3802698677841304 1976:1976 2:"" +3802698677841904 1976:1976 2:"" +3802698686981961 1976:1976 0:"before hipLaunchKernel" +3802698686983421 1976:1976 1:"hipLaunchKernel" +3802698687005391 1976:1976 0:"after hipLaunchKernel" +3802698687005941 1976:1976 1:"hipMemcpy" +3802698689839023 1976:1976 2:"" +3802698689839533 1976:1976 2:"" +3802698698983291 1976:1976 0:"before hipLaunchKernel" +3802698698984521 1976:1976 1:"hipLaunchKernel" +3802698699007521 1976:1976 0:"after hipLaunchKernel" +3802698699008051 1976:1976 1:"hipMemcpy" +3802698701851322 1976:1976 2:"" +3802698701851812 1976:1976 2:"" +3802698710997130 1976:1976 0:"before hipLaunchKernel" +3802698711001680 1976:1976 1:"hipLaunchKernel" +3802698711022540 1976:1976 0:"after hipLaunchKernel" +3802698711023060 1976:1976 1:"hipMemcpy" +3802698713847991 1976:1976 2:"" +3802698713848521 1976:1976 2:"" +3802698722995138 1976:1976 0:"before hipLaunchKernel" +3802698722996528 1976:1976 1:"hipLaunchKernel" +3802698723022069 1976:1976 0:"after hipLaunchKernel" +3802698723022629 1976:1976 1:"hipMemcpy" +3802698725844050 1976:1976 2:"" +3802698725844510 1976:1976 2:"" +3802698734989178 1976:1976 0:"before hipLaunchKernel" +3802698734990898 1976:1976 1:"hipLaunchKernel" +3802698735012968 1976:1976 0:"after hipLaunchKernel" +3802698735013508 1976:1976 1:"hipMemcpy" +3802698737900489 1976:1976 2:"" +3802698737900979 1976:1976 2:"" +3802698747037876 1976:1976 0:"before hipLaunchKernel" +3802698747039086 1976:1976 1:"hipLaunchKernel" +3802698747067357 1976:1976 0:"after hipLaunchKernel" +3802698747067987 1976:1976 1:"hipMemcpy" +3802698749891448 1976:1976 2:"" +3802698749891918 1976:1976 2:"" +3802698759039106 1976:1976 0:"before hipLaunchKernel" +3802698759040776 1976:1976 1:"hipLaunchKernel" +3802698759061686 1976:1976 0:"after hipLaunchKernel" +3802698759062216 1976:1976 1:"hipMemcpy" +3802698761935127 1976:1976 2:"" +3802698761935647 1976:1976 2:"" +3802698771184535 1976:1976 0:"before hipLaunchKernel" +3802698771186105 1976:1976 1:"hipLaunchKernel" +3802698771212756 1976:1976 0:"after hipLaunchKernel" +3802698771213306 1976:1976 1:"hipMemcpy" +3802698774030286 1976:1976 2:"" +3802698774030776 1976:1976 2:"" +3802698783157844 1976:1976 0:"before hipLaunchKernel" +3802698783159314 1976:1976 1:"hipLaunchKernel" +3802698783179004 1976:1976 0:"after hipLaunchKernel" +3802698783179534 1976:1976 1:"hipMemcpy" +3802698785953255 1976:1976 2:"" +3802698785953725 1976:1976 2:"" +3802698795101233 1976:1976 0:"before hipLaunchKernel" +3802698795102593 1976:1976 1:"hipLaunchKernel" +3802698795126553 1976:1976 0:"after hipLaunchKernel" +3802698795127113 1976:1976 1:"hipMemcpy" +3802698797934154 1976:1976 2:"" +3802698797934654 1976:1976 2:"" +3802698807055001 1976:1976 0:"before hipLaunchKernel" +3802698807056651 1976:1976 1:"hipLaunchKernel" +3802698807075891 1976:1976 0:"after hipLaunchKernel" +3802698807076421 1976:1976 1:"hipMemcpy" +3802698809937903 1976:1976 2:"" +3802698809938383 1976:1976 2:"" +3802698819068801 1976:1976 0:"before hipLaunchKernel" +3802698819070131 1976:1976 1:"hipLaunchKernel" +3802698819095621 1976:1976 0:"after hipLaunchKernel" +3802698819096191 1976:1976 1:"hipMemcpy" +3802698821926242 1976:1976 2:"" +3802698821926712 1976:1976 2:"" +3802698831041859 1976:1976 0:"before hipLaunchKernel" +3802698831043329 1976:1976 1:"hipLaunchKernel" +3802698831062809 1976:1976 0:"after hipLaunchKernel" +3802698831063339 1976:1976 1:"hipMemcpy" +3802698833849500 1976:1976 2:"" +3802698833849970 1976:1976 2:"" +3802698842996458 1976:1976 0:"before hipLaunchKernel" +3802698842997998 1976:1976 1:"hipLaunchKernel" +3802698843023668 1976:1976 0:"after hipLaunchKernel" +3802698843024228 1976:1976 1:"hipMemcpy" +3802698845855759 1976:1976 2:"" +3802698845856229 1976:1976 2:"" +3802698854998417 1976:1976 0:"before hipLaunchKernel" +3802698854999817 1976:1976 1:"hipLaunchKernel" +3802698855023747 1976:1976 0:"after hipLaunchKernel" +3802698855024277 1976:1976 1:"hipMemcpy" +3802698857841348 1976:1976 2:"" +3802698857841818 1976:1976 2:"" +3802698866968635 1976:1976 0:"before hipLaunchKernel" +3802698866969985 1976:1976 1:"hipLaunchKernel" +3802698866997786 1976:1976 0:"after hipLaunchKernel" +3802698866998346 1976:1976 1:"hipMemcpy" +3802698869841947 1976:1976 2:"" +3802698869842617 1976:1976 2:"" +3802698879133146 1976:1976 0:"before hipLaunchKernel" +3802698879134596 1976:1976 1:"hipLaunchKernel" +3802698879161626 1976:1976 0:"after hipLaunchKernel" +3802698879162156 1976:1976 1:"hipMemcpy" +3802698881942857 1976:1976 2:"" +3802698881943467 1976:1976 2:"" +3802698891085094 1976:1976 0:"before hipLaunchKernel" +3802698891086394 1976:1976 1:"hipLaunchKernel" +3802698891107454 1976:1976 0:"after hipLaunchKernel" +3802698891108014 1976:1976 1:"hipMemcpy" +3802698893941915 1976:1976 2:"" +3802698893942385 1976:1976 2:"" +3802698903069703 1976:1976 0:"before hipLaunchKernel" +3802698903071163 1976:1976 1:"hipLaunchKernel" +3802698903099163 1976:1976 0:"after hipLaunchKernel" +3802698903099693 1976:1976 1:"hipMemcpy" +3802698905929224 1976:1976 2:"" +3802698905929694 1976:1976 2:"" +3802698915063562 1976:1976 0:"before hipLaunchKernel" +3802698915065902 1976:1976 1:"hipLaunchKernel" +3802698915087492 1976:1976 0:"after hipLaunchKernel" +3802698915088052 1976:1976 1:"hipMemcpy" +3802698917894692 1976:1976 2:"" +3802698917895162 1976:1976 2:"" +3802698927016020 1976:1976 0:"before hipLaunchKernel" +3802698927017400 1976:1976 1:"hipLaunchKernel" +3802698927044411 1976:1976 0:"after hipLaunchKernel" +3802698927044941 1976:1976 1:"hipMemcpy" +3802698929938212 1976:1976 2:"" +3802698929938712 1976:1976 2:"" +3802698939071720 1976:1976 0:"before hipLaunchKernel" +3802698939073080 1976:1976 1:"hipLaunchKernel" +3802698939094810 1976:1976 0:"after hipLaunchKernel" +3802698939095370 1976:1976 1:"hipMemcpy" +3802698941981161 1976:1976 2:"" +3802698941981671 1976:1976 2:"" +3802698951107159 1976:1976 0:"before hipLaunchKernel" +3802698951108599 1976:1976 1:"hipLaunchKernel" +3802698951130489 1976:1976 0:"after hipLaunchKernel" +3802698951131009 1976:1976 1:"hipMemcpy" +3802698953923440 1976:1976 2:"" +3802698953924010 1976:1976 2:"" +3802698963062768 1976:1976 0:"before hipLaunchKernel" +3802698963064048 1976:1976 1:"hipLaunchKernel" +3802698963083908 1976:1976 0:"after hipLaunchKernel" +3802698963084458 1976:1976 1:"hipMemcpy" +3802698965969339 1976:1976 2:"" +3802698965969829 1976:1976 2:"" +3802698975096886 1976:1976 0:"before hipLaunchKernel" +3802698975098436 1976:1976 1:"hipLaunchKernel" +3802698975124147 1976:1976 0:"after hipLaunchKernel" +3802698975124677 1976:1976 1:"hipMemcpy" +3802698977952048 1976:1976 2:"" +3802698977952638 1976:1976 2:"" +3802698987551239 1976:1976 0:"before hipLaunchKernel" +3802698987552469 1976:1976 1:"hipLaunchKernel" +3802698987573289 1976:1976 0:"after hipLaunchKernel" +3802698987573849 1976:1976 1:"hipMemcpy" +3802698990600192 1976:1976 2:"" +3802698990600762 1976:1976 2:"" +3802698999759950 1976:1976 0:"before hipLaunchKernel" +3802698999761760 1976:1976 1:"hipLaunchKernel" +3802698999789040 1976:1976 0:"after hipLaunchKernel" +3802698999789580 1976:1976 1:"hipMemcpy" +3802699002820352 1976:1976 2:"" +3802699002820982 1976:1976 2:"" +3802699012111031 1976:1976 0:"before hipLaunchKernel" +3802699012112611 1976:1976 1:"hipLaunchKernel" +3802699012134161 1976:1976 0:"after hipLaunchKernel" +3802699012134821 1976:1976 1:"hipMemcpy" +3802699014951892 1976:1976 2:"" +3802699014952382 1976:1976 2:"" +3802699024585864 1976:1976 0:"before hipLaunchKernel" +3802699024587184 1976:1976 1:"hipLaunchKernel" +3802699024613644 1976:1976 0:"after hipLaunchKernel" +3802699024614164 1976:1976 1:"hipMemcpy" +3802699027595546 1976:1976 2:"" +3802699027596056 1976:1976 2:"" +3802699036915425 1976:1976 0:"before hipLaunchKernel" +3802699036916785 1976:1976 1:"hipLaunchKernel" +3802699036936805 1976:1976 0:"after hipLaunchKernel" +3802699036937415 1976:1976 1:"hipMemcpy" +3802699039834406 1976:1976 2:"" +3802699039834866 1976:1976 2:"" +3802699049116795 1976:1976 0:"before hipLaunchKernel" +3802699049118505 1976:1976 1:"hipLaunchKernel" +3802699049140836 1976:1976 0:"after hipLaunchKernel" +3802699049141366 1976:1976 1:"hipMemcpy" +3802699051977067 1976:1976 2:"" +3802699051977557 1976:1976 2:"" +3802699061586267 1976:1976 0:"before hipLaunchKernel" +3802699061587747 1976:1976 1:"hipLaunchKernel" +3802699061613208 1976:1976 0:"after hipLaunchKernel" +3802699061613748 1976:1976 1:"hipMemcpy" +3802699064566399 1976:1976 2:"" +3802699064566859 1976:1976 2:"" +3802699073761568 1976:1976 0:"before hipLaunchKernel" +3802699073763288 1976:1976 1:"hipLaunchKernel" +3802699073794758 1976:1976 0:"after hipLaunchKernel" +3802699073795288 1976:1976 1:"hipMemcpy" +3802699076479498 1976:1976 2:"" +3802699076479968 1976:1976 2:"" +3802699085608186 1976:1976 0:"before hipLaunchKernel" +3802699085609996 1976:1976 1:"hipLaunchKernel" +3802699085632966 1976:1976 0:"after hipLaunchKernel" +3802699085633586 1976:1976 1:"hipMemcpy" +3802699088547867 1976:1976 2:"" +3802699088548387 1976:1976 2:"" +3802699097659995 1976:1976 0:"before hipLaunchKernel" +3802699097661275 1976:1976 1:"hipLaunchKernel" +3802699097693835 1976:1976 0:"after hipLaunchKernel" +3802699097694405 1976:1976 1:"hipMemcpy" +3802699100515206 1976:1976 2:"" +3802699100515666 1976:1976 2:"" +3802699109625984 1976:1976 0:"before hipLaunchKernel" +3802699109627094 1976:1976 1:"hipLaunchKernel" +3802699109657514 1976:1976 0:"after hipLaunchKernel" +3802699109658094 1976:1976 1:"hipMemcpy" +3802699112546586 1976:1976 2:"" +3802699112547056 1976:1976 2:"" +3802699121665663 1976:1976 0:"before hipLaunchKernel" +3802699121667203 1976:1976 1:"hipLaunchKernel" +3802699121697983 1976:1976 0:"after hipLaunchKernel" +3802699121698553 1976:1976 1:"hipMemcpy" +3802699124544914 1976:1976 2:"" +3802699124545374 1976:1976 2:"" +3802699133661782 1976:1976 0:"before hipLaunchKernel" +3802699133663472 1976:1976 1:"hipLaunchKernel" +3802699133695042 1976:1976 0:"after hipLaunchKernel" +3802699133695582 1976:1976 1:"hipMemcpy" +3802699136516373 1976:1976 2:"" +3802699136516843 1976:1976 2:"" +3802699145650791 1976:1976 0:"before hipLaunchKernel" +3802699145652041 1976:1976 1:"hipLaunchKernel" +3802699145675981 1976:1976 0:"after hipLaunchKernel" +3802699145676571 1976:1976 1:"hipMemcpy" +3802699148515202 1976:1976 2:"" +3802699148515652 1976:1976 2:"" +3802699157632629 1976:1976 0:"before hipLaunchKernel" +3802699157634409 1976:1976 1:"hipLaunchKernel" +3802699157665830 1976:1976 0:"after hipLaunchKernel" +3802699157666660 1976:1976 1:"hipMemcpy" +3802699160515171 1976:1976 2:"" +3802699160515621 1976:1976 2:"" +3802699169662759 1976:1976 0:"before hipLaunchKernel" +3802699169664009 1976:1976 1:"hipLaunchKernel" +3802699169689719 1976:1976 0:"after hipLaunchKernel" +3802699169690279 1976:1976 1:"hipMemcpy" +3802699172516040 1976:1976 2:"" +3802699172516500 1976:1976 2:"" +3802699181748418 1976:1976 0:"before hipLaunchKernel" +3802699181749878 1976:1976 1:"hipLaunchKernel" +3802699181781418 1976:1976 0:"after hipLaunchKernel" +3802699181781998 1976:1976 1:"hipMemcpy" +3802699184627649 1976:1976 2:"" +3802699184628129 1976:1976 2:"" +3802699193626196 1976:1976 0:"before hipLaunchKernel" +3802699193627726 1976:1976 1:"hipLaunchKernel" +3802699193655016 1976:1976 0:"after hipLaunchKernel" +3802699193655586 1976:1976 1:"hipMemcpy" +3802699196565918 1976:1976 2:"" +3802699196566468 1976:1976 2:"" +3802699205687895 1976:1976 0:"before hipLaunchKernel" +3802699205689295 1976:1976 1:"hipLaunchKernel" +3802699205718665 1976:1976 0:"after hipLaunchKernel" +3802699205719515 1976:1976 1:"hipMemcpy" +3802699208559857 1976:1976 2:"" +3802699208560317 1976:1976 2:"" +3802699217684944 1976:1976 0:"before hipLaunchKernel" +3802699217686514 1976:1976 1:"hipLaunchKernel" +3802699217713745 1976:1976 0:"after hipLaunchKernel" +3802699217714325 1976:1976 1:"hipMemcpy" +3802699220645506 1976:1976 2:"" +3802699220645966 1976:1976 2:"" +3802699229773944 1976:1976 0:"before hipLaunchKernel" +3802699229775844 1976:1976 1:"hipLaunchKernel" +3802699229805694 1976:1976 0:"after hipLaunchKernel" +3802699229806234 1976:1976 1:"hipMemcpy" +3802699232625735 1976:1976 2:"" +3802699232626195 1976:1976 2:"" +3802699241739293 1976:1976 0:"before hipLaunchKernel" +3802699241740413 1976:1976 1:"hipLaunchKernel" +3802699241764243 1976:1976 0:"after hipLaunchKernel" +3802699241764803 1976:1976 1:"hipMemcpy" +3802699244619954 1976:1976 2:"" +3802699244620414 1976:1976 2:"" +3802699253732532 1976:1976 0:"before hipLaunchKernel" +3802699253733852 1976:1976 1:"hipLaunchKernel" +3802699253768182 1976:1976 0:"after hipLaunchKernel" +3802699253768832 1976:1976 1:"hipMemcpy" +3802699256620213 1976:1976 2:"" +3802699256620683 1976:1976 2:"" +3802699265758660 1976:1976 0:"before hipLaunchKernel" +3802699265759910 1976:1976 1:"hipLaunchKernel" +3802699265783691 1976:1976 0:"after hipLaunchKernel" +3802699265784421 1976:1976 1:"hipMemcpy" +3802699268619642 1976:1976 2:"" +3802699268620102 1976:1976 2:"" +3802699277738019 1976:1976 0:"before hipLaunchKernel" +3802699277739670 1976:1976 1:"hipLaunchKernel" +3802699277768890 1976:1976 0:"after hipLaunchKernel" +3802699277769430 1976:1976 1:"hipMemcpy" +3802699280616321 1976:1976 2:"" +3802699280616781 1976:1976 2:"" +3802699289740138 1976:1976 0:"before hipLaunchKernel" +3802699289741688 1976:1976 1:"hipLaunchKernel" +3802699289765059 1976:1976 0:"after hipLaunchKernel" +3802699289765769 1976:1976 1:"hipMemcpy" +3802699292625459 1976:1976 2:"" +3802699292625919 1976:1976 2:"" +3802699301811248 1976:1976 0:"before hipLaunchKernel" +3802699301812898 1976:1976 1:"hipLaunchKernel" +3802699301844388 1976:1976 0:"after hipLaunchKernel" +3802699301846728 1976:1976 1:"hipMemcpy" +3802699304649839 1976:1976 2:"" +3802699304650309 1976:1976 2:"" +3802699313767287 1976:1976 0:"before hipLaunchKernel" +3802699313768337 1976:1976 1:"hipLaunchKernel" +3802699313791587 1976:1976 0:"after hipLaunchKernel" +3802699313792287 1976:1976 1:"hipMemcpy" +3802699316621268 1976:1976 2:"" +3802699316621738 1976:1976 2:"" +3802699325721265 1976:1976 0:"before hipLaunchKernel" +3802699325722395 1976:1976 1:"hipLaunchKernel" +3802699325758255 1976:1976 0:"after hipLaunchKernel" +3802699325758845 1976:1976 1:"hipMemcpy" +3802699328648747 1976:1976 2:"" +3802699328649207 1976:1976 2:"" +3802699337764504 1976:1976 0:"before hipLaunchKernel" +3802699337765674 1976:1976 1:"hipLaunchKernel" +3802699337788345 1976:1976 0:"after hipLaunchKernel" +3802699337788895 1976:1976 1:"hipMemcpy" +3802699340628126 1976:1976 2:"" +3802699340628596 1976:1976 2:"" +3802699349743423 1976:1976 0:"before hipLaunchKernel" +3802699349745353 1976:1976 1:"hipLaunchKernel" +3802699349775723 1976:1976 0:"after hipLaunchKernel" +3802699349776413 1976:1976 1:"hipMemcpy" +3802699352620654 1976:1976 2:"" +3802699352621114 1976:1976 2:"" +3802699361737882 1976:1976 0:"before hipLaunchKernel" +3802699361739082 1976:1976 1:"hipLaunchKernel" +3802699361768572 1976:1976 0:"after hipLaunchKernel" +3802699361769292 1976:1976 1:"hipMemcpy" +3802699364621153 1976:1976 2:"" +3802699364621623 1976:1976 2:"" +3802699373747841 1976:1976 0:"before hipLaunchKernel" +3802699373749541 1976:1976 1:"hipLaunchKernel" +3802699373776941 1976:1976 0:"after hipLaunchKernel" +3802699373777471 1976:1976 1:"hipMemcpy" +3802699376625193 1976:1976 2:"" +3802699376625663 1976:1976 2:"" +3802699385744350 1976:1976 0:"before hipLaunchKernel" +3802699385746600 1976:1976 1:"hipLaunchKernel" +3802699385775400 1976:1976 0:"after hipLaunchKernel" +3802699385776080 1976:1976 1:"hipMemcpy" +3802699388618461 1976:1976 2:"" +3802699388618921 1976:1976 2:"" +3802699397742279 1976:1976 0:"before hipLaunchKernel" +3802699397744059 1976:1976 1:"hipLaunchKernel" +3802699397777549 1976:1976 0:"after hipLaunchKernel" +3802699397778079 1976:1976 1:"hipMemcpy" +3802699400621600 1976:1976 2:"" +3802699400622070 1976:1976 2:"" +3802699409880849 1976:1976 0:"before hipLaunchKernel" +3802699409882539 1976:1976 1:"hipLaunchKernel" +3802699409916089 1976:1976 0:"after hipLaunchKernel" +3802699409916879 1976:1976 1:"hipMemcpy" +3802699412723740 1976:1976 2:"" +3802699412724220 1976:1976 2:"" +3802699421958768 1976:1976 0:"before hipLaunchKernel" +3802699421959938 1976:1976 1:"hipLaunchKernel" +3802699422042859 1976:1976 0:"after hipLaunchKernel" +3802699422043599 1976:1976 1:"hipMemcpy" +3802699424855020 1976:1976 2:"" +3802699424855490 1976:1976 2:"" +3802699434182409 1976:1976 0:"before hipLaunchKernel" +3802699434183819 1976:1976 1:"hipLaunchKernel" +3802699434213659 1976:1976 0:"after hipLaunchKernel" +3802699434214319 1976:1976 1:"hipMemcpy" +3802699436909869 1976:1976 2:"" +3802699436910339 1976:1976 2:"" +3802699446188408 1976:1976 0:"before hipLaunchKernel" +3802699446189688 1976:1976 1:"hipLaunchKernel" +3802699446214068 1976:1976 0:"after hipLaunchKernel" +3802699446214728 1976:1976 1:"hipMemcpy" +3802699448889358 1976:1976 2:"" +3802699448889818 1976:1976 2:"" +3802699458183327 1976:1976 0:"before hipLaunchKernel" +3802699458184847 1976:1976 1:"hipLaunchKernel" +3802699458214737 1976:1976 0:"after hipLaunchKernel" +3802699458215517 1976:1976 1:"hipMemcpy" +3802699460902347 1976:1976 2:"" +3802699460902827 1976:1976 2:"" +3802699470195376 1976:1976 0:"before hipLaunchKernel" +3802699470196956 1976:1976 1:"hipLaunchKernel" +3802699470222916 1976:1976 0:"after hipLaunchKernel" +3802699470223856 1976:1976 1:"hipMemcpy" +3802699472918936 1976:1976 2:"" +3802699472919396 1976:1976 2:"" +3802699482183955 1976:1976 0:"before hipLaunchKernel" +3802699482185625 1976:1976 1:"hipLaunchKernel" +3802699482219905 1976:1976 0:"after hipLaunchKernel" +3802699482220795 1976:1976 1:"hipMemcpy" +3802699484904915 1976:1976 2:"" +3802699484905385 1976:1976 2:"" +3802699494192104 1976:1976 0:"before hipLaunchKernel" +3802699494193804 1976:1976 1:"hipLaunchKernel" +3802699494218554 1976:1976 0:"after hipLaunchKernel" +3802699494219244 1976:1976 1:"hipMemcpy" +3802699496909784 1976:1976 2:"" +3802699496910254 1976:1976 2:"" +3802698294571570:3802698295835634 async-copy:0:1976 +3802698298468070:3802698299647537 async-copy:1:1976 +3802698308471288:3802698309738019 async-copy:2:1976 +3802698311527883:3802698312709869 async-copy:3:1976 +3802698320758026:3802698322024757 async-copy:4:1976 +3802698323694472:3802698324876309 async-copy:5:1976 +3802698332849809:3802698334116243 async-copy:6:1976 +3802698335955481:3802698337137763 async-copy:7:1976 +3802698345454627:3802698346721209 async-copy:8:1976 +3802698348507214:3802698349689200 async-copy:9:1976 +3802698357545761:3802698358812195 async-copy:10:1976 +3802698360538281:3802698361720415 async-copy:11:1976 +3802698369590099:3802698370856681 async-copy:12:1976 +3802698372538468:3802698373720454 async-copy:13:1976 +3802698381602361:3802698382868943 async-copy:14:1976 +3802698384538467:3802698385720749 async-copy:15:1976 +3802698393738963:3802698395005545 async-copy:16:1976 +3802698396633442:3802698397815427 async-copy:17:1976 +3802698405657402:3802698406924133 async-copy:18:1976 +3802698408628869:3802698409810706 async-copy:19:1976 +3802698417653655:3802698418920386 async-copy:20:1976 +3802698420629380:3802698421811514 async-copy:21:1976 +3802698429662090:3802698430929117 async-copy:22:1976 +3802698432620240:3802698433802966 async-copy:23:1976 +3802698441649564:3802698442915998 async-copy:24:1976 +3802698444632211:3802698445814493 async-copy:25:1976 +3802698453874073:3802698455137989 async-copy:26:1976 +3802698456944614:3802698458127044 async-copy:27:1976 +3802698466350048:3802698467616927 async-copy:28:1976 +3802698469523006:3802698470704547 async-copy:29:1976 +3802698478573269:3802698479839852 async-copy:30:1976 +3802698481547641:3802698482729775 async-copy:31:1976 +3802698490744232:3802698492011259 async-copy:32:1976 +3802698493680962:3802698494862799 async-copy:33:1976 +3802698502958511:3802698504222575 async-copy:34:1976 +3802698505969154:3802698507151436 async-copy:35:1976 +3802698515508679:3802698516775261 async-copy:36:1976 +3802698518524886:3802698519706575 async-copy:37:1976 +3802698527711374:3802698528978105 async-copy:38:1976 +3802698530656674:3802698531838363 async-copy:39:1976 +3802698539908965:3802698541173029 async-copy:40:1976 +3802698542957219:3802698544139204 async-copy:41:1976 +3802698552362848:3802698553629875 async-copy:42:1976 +3802698555522230:3802698556704216 async-copy:43:1976 +3802698564719315:3802698565985750 async-copy:44:1976 +3802698567668129:3802698568849966 async-copy:45:1976 +3802698576706958:3802698577973688 async-copy:46:1976 +3802698579654220:3802698580836058 async-copy:47:1976 +3802698588680004:3802698589946735 async-copy:48:1976 +3802698591638379:3802698592820512 async-copy:49:1976 +3802698601008800:3802698602276272 async-copy:50:1976 +3802698603995096:3802698605177230 async-copy:51:1976 +3802698613422522:3802698614689104 async-copy:52:1976 +3802698616501136:3802698617683122 async-copy:53:1976 +3802698625559215:3802698626825798 async-copy:54:1976 +3802698628545199:3802698629727036 async-copy:55:1976 +3802698637590357:3802698638857236 async-copy:56:1976 +3802698640545268:3802698641727550 async-copy:57:1976 +3802698649597648:3802698650864230 async-copy:58:1976 +3802698652540014:3802698653721999 async-copy:59:1976 +3802698661580287:3802698662847017 async-copy:60:1976 +3802698664533103:3802698665715089 async-copy:61:1976 +3802698673587944:3802698674854823 async-copy:62:1976 +3802698676539213:3802698677721642 async-copy:63:1976 +3802698685582472:3802698686849055 async-copy:64:1976 +3802698688537065:3802698689719199 async-copy:65:1976 +3802698697588472:3802698698855203 async-copy:66:1976 +3802698700550934:3802698701733512 async-copy:67:1976 +3802698709592039:3802698710858622 async-copy:68:1976 +3802698712547476:3802698713729313 async-copy:69:1976 +3802698721599736:3802698722866466 async-copy:70:1976 +3802698724541962:3802698725723947 async-copy:71:1976 +3802698733591852:3802698734858434 async-copy:72:1976 +3802698736599775:3802698737781612 async-copy:73:1976 +3802698745643935:3802698746910517 async-copy:74:1976 +3802698748589196:3802698749771182 async-copy:75:1976 +3802698757638162:3802698758904892 async-copy:76:1976 +3802698760633236:3802698761815074 async-copy:77:1976 +3802698769788236:3802698771054819 async-copy:78:1976 +3802698772725733:3802698773907571 async-copy:79:1976 +3802698781758013:3802698783024299 async-copy:80:1976 +3802698784648696:3802698785830533 async-copy:81:1976 +3802698793698253:3802698794964983 async-copy:82:1976 +3802698796632440:3802698797814721 async-copy:83:1976 +3802698805655272:3802698806922003 async-copy:84:1976 +3802698808631799:3802698809813785 async-copy:85:1976 +3802698817675724:3802698818942454 async-copy:86:1976 +3802698820624829:3802698821806666 async-copy:87:1976 +3802698829639145:3802698830905579 async-copy:88:1976 +3802698832546786:3802698833728624 async-copy:89:1976 +3802698841603279:3802698842869861 async-copy:90:1976 +3802698844553884:3802698845736017 async-copy:91:1976 +3802698853599019:3802698854865749 async-copy:92:1976 +3802698856538310:3802698857720147 async-copy:93:1976 +3802698865574185:3802698866841063 async-copy:94:1976 +3802698868537067:3802698869719201 async-copy:95:1976 +3802698877739300:3802698879006179 async-copy:96:1976 +3802698880641103:3802698881823384 async-copy:97:1976 +3802698889688934:3802698890955665 async-copy:98:1976 +3802698892640230:3802698893822363 async-copy:99:1976 +3802698901675331:3802698902941913 async-copy:100:1976 +3802698904626385:3802698905808667 async-copy:101:1976 +3802698913663923:3802698914930654 async-copy:102:1976 +3802698916592735:3802698917774869 async-copy:103:1976 +3802698925619462:3802698926886044 async-copy:104:1976 +3802698928633509:3802698929815790 async-copy:105:1976 +3802698937671699:3802698938938577 async-copy:106:1976 +3802698940679959:3802698941861499 async-copy:107:1976 +3802698949712842:3802698950979720 async-copy:108:1976 +3802698952622142:3802698953804424 async-copy:109:1976 +3802698961663041:3802698962929919 async-copy:110:1976 +3802698964668625:3802698965850610 async-copy:111:1976 +3802698973703082:3802698974969812 async-copy:112:1976 +3802698976650562:3802698977832547 async-copy:113:1976 +3802698985801043:3802698987067773 async-copy:114:1976 +3802698988966336:3802698990148618 async-copy:115:1976 +3802698998366627:3802698999633653 async-copy:116:1976 +3802699001519718:3802699002701555 async-copy:117:1976 +3802699010720998:3802699011987728 async-copy:118:1976 +3802699013649526:3802699014831363 async-copy:119:1976 +3802699022933001:3802699024196916 async-copy:120:1976 +3802699025999444:3802699027181282 async-copy:121:1976 +3802699035515661:3802699036782391 async-copy:122:1976 +3802699038531652:3802699039713637 async-copy:123:1976 +3802699047720919:3802699048987650 async-copy:124:1976 +3802699050677175:3802699051858864 async-copy:125:1976 +3802699059953997:3802699061218357 async-copy:126:1976 +3802699063004286:3802699064186419 async-copy:127:1976 +3802699072224332:3802699073491803 async-copy:128:1976 +3802699075183774:3802699076365314 async-copy:129:1976 +3802699084051209:3802699085315272 async-copy:130:1976 +3802699087023403:3802699088205388 async-copy:131:1976 +3802699096119742:3802699097386769 async-copy:132:1976 +3802699099061220:3802699100243057 async-copy:133:1976 +3802699108083678:3802699109350853 async-copy:134:1976 +3802699111025067:3802699112206904 async-copy:135:1976 +3802699120120651:3802699121387381 async-copy:136:1976 +3802699123067305:3802699124249142 async-copy:137:1976 +3802699132116072:3802699133382951 async-copy:138:1976 +3802699135063622:3802699136245460 async-copy:139:1976 +3802699144100532:3802699145367855 async-copy:140:1976 +3802699147052169:3802699148234006 async-copy:141:1976 +3802699156091872:3802699157358899 async-copy:142:1976 +3802699159037167:3802699160219300 async-copy:143:1976 +3802699168113587:3802699169380613 async-copy:144:1976 +3802699171070653:3802699172252490 async-copy:145:1976 +3802699180202461:3802699181469488 async-copy:146:1976 +3802699183151933:3802699184333771 async-copy:147:1976 +3802699192207984:3802699193474862 async-copy:148:1976 +3802699195028013:3802699196210147 async-copy:149:1976 +3802699204146465:3802699205413344 async-copy:150:1976 +3802699207107882:3802699208289571 async-copy:151:1976 +3802699216127532:3802699217394559 async-copy:152:1976 +3802699219088720:3802699220270558 async-copy:153:1976 +3802699228231340:3802699229498070 async-copy:154:1976 +3802699231192131:3802699232374116 async-copy:155:1976 +3802699240187923:3802699241454654 async-copy:156:1976 +3802699243146342:3802699244328328 async-copy:157:1976 +3802699252192866:3802699253459892 async-copy:158:1976 +3802699255161757:3802699256343891 async-copy:159:1976 +3802699264203968:3802699265470847 async-copy:160:1976 +3802699267152455:3802699268334441 async-copy:161:1976 +3802699276197837:3802699277464864 async-copy:162:1976 +3802699279160129:3802699280341966 async-copy:163:1976 +3802699288194738:3802699289461616 async-copy:164:1976 +3802699291155040:3802699292337322 async-copy:165:1976 +3802699300263987:3802699301530866 async-copy:166:1976 +3802699303227579:3802699304409416 async-copy:167:1976 +3802699312219946:3802699313486676 async-copy:168:1976 +3802699315169155:3802699316351140 async-copy:169:1976 +3802699324181589:3802699325448615 async-copy:170:1976 +3802699327120162:3802699328301999 async-copy:171:1976 +3802699336212344:3802699337479371 async-copy:172:1976 +3802699339157219:3802699340338908 async-copy:173:1976 +3802699348198196:3802699349465222 async-copy:174:1976 +3802699351175738:3802699352357723 async-copy:175:1976 +3802699360198393:3802699361465420 async-copy:176:1976 +3802699363172456:3802699364354590 async-copy:177:1976 +3802699372203851:3802699373470878 async-copy:178:1976 +3802699375171964:3802699376354098 async-copy:179:1976 +3802699384196959:3802699385463986 async-copy:180:1976 +3802699387172991:3802699388354829 async-copy:181:1976 +3802699396197135:3802699397464013 async-copy:182:1976 +3802699399175861:3802699400358143 async-copy:183:1976 +3802699408325703:3802699409592581 async-copy:184:1976 +3802699411281270:3802699412463255 async-copy:185:1976 +3802699420396582:3802699421664053 async-copy:186:1976 +3802699423402314:3802699424584151 async-copy:187:1976 +3802699432506102:3802699433773277 async-copy:188:1976 +3802699435596314:3802699436778595 async-copy:189:1976 +3802699444562812:3802699445829690 async-copy:190:1976 +3802699447579271:3802699448761109 async-copy:191:1976 +3802699456529500:3802699457796378 async-copy:192:1976 +3802699459593990:3802699460775975 async-copy:193:1976 +3802699468543249:3802699469810127 async-copy:194:1976 +3802699471604249:3802699472786086 async-copy:195:1976 +3802699480549583:3802699481816314 async-copy:196:1976 +3802699483594370:3802699484775911 async-copy:197:1976 +3802699492551745:3802699493818476 async-copy:198:1976 +3802699495589526:3802699496771067 async-copy:199:1976 diff --git a/test/golden_traces/MatrixTranspose_sys_trace.txt b/test/golden_traces/MatrixTranspose_sys_trace.txt index 784ca1aef8..22303861e8 100644 --- a/test/golden_traces/MatrixTranspose_sys_trace.txt +++ b/test/golden_traces/MatrixTranspose_sys_trace.txt @@ -1,31 +1,10 @@ -ROCTracer (pid=26036): ++ ./test/MatrixTranspose +ROCTracer (pid=1969): rocTX-trace() +3802696357873955 HSA-trace() HIP-trace() -43925811393411:43925811393872 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b03b4) = 0 -43925811393411:43925811395633 26036:26036 hsa_iterate_agents(1, 0x7fff229b0510) = 1 -43925811396833:43925811397158 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b03b4) = 0 -43925811396833:43925811397876 26036:26036 hsa_iterate_agents(1, 0x7fff229b0510) = 1 -43925811400917:43925811401498 26036:26036 hsa_region_get_info(, 0, 0x7fff229b04d4) = 0 -43925811402322:43925811402677 26036:26036 hsa_region_get_info(, 1, 0x7fff229b04d0) = 0 -43925811403770:43925811404097 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b0224) = 0 -43925811403770:43925811404810 26036:26036 hsa_iterate_agents(1, 0x7fff229b0380) = 1 -43925811406396:43925811407167 26036:26036 hsa_amd_agent_memory_pool_get_info(, , 0, 0x7fff229b04cc) = 0 -43925811407942:43925811408297 26036:26036 hsa_region_get_info(, 0, 0x7fff229b04d4) = 0 -43925811409113:43925811409444 26036:26036 hsa_region_get_info(, 0, 0x7fff229b04d4) = 0 -43925811410178:43925811410527 26036:26036 hsa_region_get_info(, 1, 0x7fff229b04d0) = 0 -43925811411304:43925811411626 26036:26036 hsa_region_get_info(, 0, 0x7fff229b0504) = 0 -43925811412350:43925811412680 26036:26036 hsa_region_get_info(, 1, 0x7fff229b0500) = 0 -43925811413788:43925811414113 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b0254) = 0 -43925811413788:43925811414821 26036:26036 hsa_iterate_agents(1, 0x7fff229b03b0) = 1 -43925811415561:43925811415928 26036:26036 hsa_amd_agent_memory_pool_get_info(, , 0, 0x7fff229b04fc) = 0 -43925811415561:43925811416660 26036:26036 hsa_agent_iterate_regions(, 1, 0x7fff229b07af) = 0 -43925811415561:43925811417411 26036:26036 hsa_iterate_agents(1, 0x7fff229b07af) = 0 -ROCTracer (pid=26036): - rocTX-trace() - HSA-trace() - HIP-trace() -Device name Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device name Device 687f ## Iteration (99) ################# PASSED! ## Iteration (98) ################# @@ -226,5914 +205,5761 @@ PASSED! PASSED! ## Iteration (0) ################# PASSED! -43925830291858:43925830326901 26036:26036 hipGetDeviceProperties() -43925832519247:43925832571262 26036:26036 hipMalloc(ptr(0x902800000) size(0x400000)) -43925832573916:43925832596843 26036:26036 hipMalloc(ptr(0x903000000) size(0x400000)) -43925832607391:43925837942666 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) -43925837944545:43925837944546 26036:26036 MARK(name(before HIP LaunchKernel)) -43926122599667:43926124638349 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43926124652448:43926124652449 26036:26036 MARK(name(after HIP LaunchKernel)) -43926124662801:43926126128091 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) -43926140560237:43926141412987 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) -43926141414198:43926141414199 26036:26036 MARK(name(before HIP LaunchKernel)) -43926141428295:43926141474368 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43926141476054:43926141476055 26036:26036 MARK(name(after HIP LaunchKernel)) -43926141480612:43926142878317 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) -43926157274364:43926158120797 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) -43926158122250:43926158122251 26036:26036 MARK(name(before HIP LaunchKernel)) -43926158135466:43926158190370 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43926158192301:43926158192302 26036:26036 MARK(name(after HIP LaunchKernel)) -43926158196966:43926159592565 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) -43926173976841:43926174824308 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) -43926174825564:43926174825565 26036:26036 MARK(name(before HIP LaunchKernel)) -43926174841660:43926174898732 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43926174900848:43926174900849 26036:26036 MARK(name(after HIP LaunchKernel)) -43926174905491:43926176313892 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) -43926190693281:43926191539056 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) -43926191540290:43926191540291 26036:26036 MARK(name(before HIP LaunchKernel)) -43926191552980:43926191600146 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43926191611865:43926191611866 26036:26036 MARK(name(after HIP LaunchKernel)) -43926191629445:43926193016360 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) -43926207396082:43926208242780 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) -43926208243960:43926208243961 26036:26036 MARK(name(before HIP LaunchKernel)) -43926208255862:43926208311787 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43926208313617:43926208313618 26036:26036 MARK(name(after HIP LaunchKernel)) -43926208318394:43926209723739 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) -43926224101316:43926224958904 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) -43926224960190:43926224960191 26036:26036 MARK(name(before HIP LaunchKernel)) -43926224973005:43926225019482 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43926225031013:43926225031014 26036:26036 MARK(name(after HIP LaunchKernel)) -43926225035874:43926227824740 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) -43926242200733:43926243058428 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) -43926243059714:43926243059715 26036:26036 MARK(name(before HIP LaunchKernel)) -43926243072321:43926243134193 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43926243136569:43926243136570 26036:26036 MARK(name(after HIP LaunchKernel)) -43926243141248:43926245921568 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) -43926260304059:43926261159973 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) -43926261161141:43926261161142 26036:26036 MARK(name(before HIP LaunchKernel)) -43926261174080:43926261220185 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43926261221665:43926261221666 26036:26036 MARK(name(after HIP LaunchKernel)) -43926261236174:43926264031840 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) -43926278411087:43926279274273 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) -43926279275492:43926279275493 26036:26036 MARK(name(before HIP LaunchKernel)) -43926279287331:43926279350469 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43926279352290:43926279352291 26036:26036 MARK(name(after HIP LaunchKernel)) -43926279357061:43926282149834 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) -43926296538395:43926297421366 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) -43926297424106:43926297424107 26036:26036 MARK(name(before HIP LaunchKernel)) -43926297436167:43926297478618 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43926297490336:43926297490337 26036:26036 MARK(name(after HIP LaunchKernel)) -43926297494929:43926300281029 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) -43926314660474:43926315541758 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) -43926315542952:43926315542953 26036:26036 MARK(name(before HIP LaunchKernel)) -43926315555009:43926315612423 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43926315614228:43926315614229 26036:26036 MARK(name(after HIP LaunchKernel)) -43926315627978:43926318385980 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) -43926332791494:43926333657465 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) -43926333658691:43926333658692 26036:26036 MARK(name(before HIP LaunchKernel)) -43926333672673:43926333728033 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43926333730029:43926333730030 26036:26036 MARK(name(after HIP LaunchKernel)) -43926333734623:43926336515418 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) -43926350895070:43926351757048 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) -43926351758288:43926351758289 26036:26036 MARK(name(before HIP LaunchKernel)) -43926351770313:43926351831998 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43926351833943:43926351833944 26036:26036 MARK(name(after HIP LaunchKernel)) -43926351847557:43926354611920 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) -43926368998896:43926369881321 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) -43926369882471:43926369882472 26036:26036 MARK(name(before HIP LaunchKernel)) -43926369894793:43926369938064 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43926369939799:43926369939800 26036:26036 MARK(name(after HIP LaunchKernel)) -43926369954683:43926372738999 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) -43926387115743:43926387975738 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) -43926387976979:43926387976980 26036:26036 MARK(name(before HIP LaunchKernel)) -43926387988882:43926388050663 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43926388056022:43926388056023 26036:26036 MARK(name(after HIP LaunchKernel)) -43926388070878:43926390836291 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) -43926405217257:43926406081546 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) -43926406082786:43926406082787 26036:26036 MARK(name(before HIP LaunchKernel)) -43926406095391:43926406142618 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43926406154388:43926406154389 26036:26036 MARK(name(after HIP LaunchKernel)) -43926406159098:43926408937106 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) -43926423313114:43926424175543 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) -43926424176843:43926424176844 26036:26036 MARK(name(before HIP LaunchKernel)) -43926424193645:43926424246980 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43926424248933:43926424248934 26036:26036 MARK(name(after HIP LaunchKernel)) -43926424253559:43926427041734 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) -43926441433576:43926442295605 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) -43926442296812:43926442296813 26036:26036 MARK(name(before HIP LaunchKernel)) -43926442309481:43926442351483 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43926442353376:43926442353377 26036:26036 MARK(name(after HIP LaunchKernel)) -43926442368033:43926445143144 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) -43926459520191:43926460382219 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) -43926460383454:43926460383455 26036:26036 MARK(name(before HIP LaunchKernel)) -43926460395516:43926460443663 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43926460455402:43926460455403 26036:26036 MARK(name(after HIP LaunchKernel)) -43926460459904:43926463235758 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) -43926477621665:43926478483453 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) -43926478484673:43926478484674 26036:26036 MARK(name(before HIP LaunchKernel)) -43926478497266:43926478553440 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43926478555355:43926478555356 26036:26036 MARK(name(after HIP LaunchKernel)) -43926478559877:43926481338575 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) -43926495714063:43926496565395 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) -43926496566681:43926496566682 26036:26036 MARK(name(before HIP LaunchKernel)) -43926496579268:43926496626120 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43926496627656:43926496627657 26036:26036 MARK(name(after HIP LaunchKernel)) -43926496642290:43926498033640 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) -43926512423116:43926513273702 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) -43926513274941:43926513274942 26036:26036 MARK(name(before HIP LaunchKernel)) -43926513287564:43926513344476 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43926513346369:43926513346370 26036:26036 MARK(name(after HIP LaunchKernel)) -43926513350964:43926514744562 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) -43926529133006:43926529980629 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) -43926529981900:43926529981901 26036:26036 MARK(name(before HIP LaunchKernel)) -43926529993951:43926530036843 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43926530038368:43926530038369 26036:26036 MARK(name(after HIP LaunchKernel)) -43926530053107:43926531439867 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) -43926545824337:43926546672038 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) -43926546673234:43926546673235 26036:26036 MARK(name(before HIP LaunchKernel)) -43926546689738:43926546746560 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43926546748370:43926546748371 26036:26036 MARK(name(after HIP LaunchKernel)) -43926546752993:43926548160466 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) -43926562541742:43926563387637 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) -43926563388849:43926563388850 26036:26036 MARK(name(before HIP LaunchKernel)) -43926563400574:43926563447268 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43926563448796:43926563448797 26036:26036 MARK(name(after HIP LaunchKernel)) -43926563463275:43926564868593 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) -43926579245240:43926580088102 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) -43926580089345:43926580089346 26036:26036 MARK(name(before HIP LaunchKernel)) -43926580106104:43926580159868 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43926580161750:43926580161751 26036:26036 MARK(name(after HIP LaunchKernel)) -43926580166621:43926581566167 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) -43926595943160:43926596822372 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) -43926596823563:43926596823564 26036:26036 MARK(name(before HIP LaunchKernel)) -43926596835300:43926596882389 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43926596894649:43926596894650 26036:26036 MARK(name(after HIP LaunchKernel)) -43926596899381:43926598297439 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) -43926612679678:43926613524206 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) -43926613525375:43926613525376 26036:26036 MARK(name(before HIP LaunchKernel)) -43926613537588:43926613594154 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43926613596008:43926613596009 26036:26036 MARK(name(after HIP LaunchKernel)) -43926613600714:43926615000374 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) -43926629390862:43926630237041 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) -43926630238215:43926630238216 26036:26036 MARK(name(before HIP LaunchKernel)) -43926630250386:43926630293697 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43926630295261:43926630295262 26036:26036 MARK(name(after HIP LaunchKernel)) -43926630310339:43926631704847 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) -43926646087745:43926646935031 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) -43926646936309:43926646936310 26036:26036 MARK(name(before HIP LaunchKernel)) -43926646948709:43926646999937 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43926647001718:43926647001719 26036:26036 MARK(name(after HIP LaunchKernel)) -43926647006291:43926648448720 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) -43926663055595:43926663910438 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) -43926663911731:43926663911732 26036:26036 MARK(name(before HIP LaunchKernel)) -43926663926939:43926663980961 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43926663982848:43926663982849 26036:26036 MARK(name(after HIP LaunchKernel)) -43926663990412:43926665394789 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) -43926679774679:43926680623151 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) -43926680624373:43926680624374 26036:26036 MARK(name(before HIP LaunchKernel)) -43926680637690:43926680700889 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43926680702525:43926680702526 26036:26036 MARK(name(after HIP LaunchKernel)) -43926680716180:43926682100053 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) -43926696493405:43926697361327 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) -43926697362528:43926697362529 26036:26036 MARK(name(before HIP LaunchKernel)) -43926697374795:43926697418949 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43926697420530:43926697420531 26036:26036 MARK(name(after HIP LaunchKernel)) -43926697435142:43926698827879 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) -43926713211332:43926714080692 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) -43926714081915:43926714081916 26036:26036 MARK(name(before HIP LaunchKernel)) -43926714097323:43926714146311 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43926714148192:43926714148193 26036:26036 MARK(name(after HIP LaunchKernel)) -43926714152944:43926715552059 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) -43926729935201:43926730784647 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) -43926730785837:43926730785838 26036:26036 MARK(name(before HIP LaunchKernel)) -43926730798074:43926730854633 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43926730856465:43926730856466 26036:26036 MARK(name(after HIP LaunchKernel)) -43926730861039:43926732266151 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) -43926746645178:43926747490987 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) -43926747492218:43926747492219 26036:26036 MARK(name(before HIP LaunchKernel)) -43926747504355:43926747559488 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43926747561440:43926747561441 26036:26036 MARK(name(after HIP LaunchKernel)) -43926747579516:43926748969467 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) -43926763348277:43926764198298 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) -43926764201080:43926764201081 26036:26036 MARK(name(before HIP LaunchKernel)) -43926764213810:43926764267069 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43926764268950:43926764268951 26036:26036 MARK(name(after HIP LaunchKernel)) -43926764273444:43926765671758 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) -43926780055807:43926780898874 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) -43926780900042:43926780900043 26036:26036 MARK(name(before HIP LaunchKernel)) -43926780912036:43926780955637 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43926780957351:43926780957352 26036:26036 MARK(name(after HIP LaunchKernel)) -43926780971997:43926782371210 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) -43926796760442:43926797611110 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) -43926797612301:43926797612302 26036:26036 MARK(name(before HIP LaunchKernel)) -43926797625105:43926797667860 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43926797669377:43926797669378 26036:26036 MARK(name(after HIP LaunchKernel)) -43926797684155:43926799079016 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) -43926813471164:43926814319238 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) -43926814320442:43926814320443 26036:26036 MARK(name(before HIP LaunchKernel)) -43926814332594:43926814389004 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43926814390950:43926814390951 26036:26036 MARK(name(after HIP LaunchKernel)) -43926814395848:43926815796456 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) -43926830182860:43926831027528 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) -43926831028771:43926831028772 26036:26036 MARK(name(before HIP LaunchKernel)) -43926831041934:43926831098217 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43926831100126:43926831100127 26036:26036 MARK(name(after HIP LaunchKernel)) -43926831104601:43926832504490 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) -43926846900927:43926847758759 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) -43926847759886:43926847759887 26036:26036 MARK(name(before HIP LaunchKernel)) -43926847771628:43926847819139 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43926847835514:43926847835515 26036:26036 MARK(name(after HIP LaunchKernel)) -43926847840166:43926850614546 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) -43926865002651:43926865868409 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) -43926865869718:43926865869719 26036:26036 MARK(name(before HIP LaunchKernel)) -43926865883046:43926865935739 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43926865937627:43926865937628 26036:26036 MARK(name(after HIP LaunchKernel)) -43926865942163:43926868722506 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) -43926883102004:43926883965569 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) -43926883966731:43926883966732 26036:26036 MARK(name(before HIP LaunchKernel)) -43926883978766:43926884041129 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43926884043077:43926884043078 26036:26036 MARK(name(after HIP LaunchKernel)) -43926884047815:43926886827702 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) -43926901215734:43926902076943 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) -43926902078162:43926902078163 26036:26036 MARK(name(before HIP LaunchKernel)) -43926902094678:43926902147078 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43926902148943:43926902148944 26036:26036 MARK(name(after HIP LaunchKernel)) -43926902153777:43926904937338 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) -43926919314982:43926920173358 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) -43926920174699:43926920174700 26036:26036 MARK(name(before HIP LaunchKernel)) -43926920186482:43926920229921 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43926920231448:43926920231449 26036:26036 MARK(name(after HIP LaunchKernel)) -43926920246279:43926923029522 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) -43926937425440:43926938305373 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) -43926938306618:43926938306619 26036:26036 MARK(name(before HIP LaunchKernel)) -43926938318593:43926938375845 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43926938377606:43926938377607 26036:26036 MARK(name(after HIP LaunchKernel)) -43926938382358:43926941168837 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) -43926955548346:43926956411880 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) -43926956413052:43926956413053 26036:26036 MARK(name(before HIP LaunchKernel)) -43926956425430:43926956472206 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43926956473925:43926956473926 26036:26036 MARK(name(after HIP LaunchKernel)) -43926956488617:43926959272799 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) -43926973659199:43926974540510 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) -43926974541837:43926974541838 26036:26036 MARK(name(before HIP LaunchKernel)) -43926974554023:43926974601608 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43926974613508:43926974613509 26036:26036 MARK(name(after HIP LaunchKernel)) -43926974617988:43926977399394 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) -43926991777579:43926992660536 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) -43926992661831:43926992661832 26036:26036 MARK(name(before HIP LaunchKernel)) -43926992674550:43926992717394 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43926992719151:43926992719152 26036:26036 MARK(name(after HIP LaunchKernel)) -43926992733639:43926995529618 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) -43927009907399:43927010766525 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) -43927010767814:43927010767815 26036:26036 MARK(name(before HIP LaunchKernel)) -43927010784266:43927010838401 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43927010840335:43927010840336 26036:26036 MARK(name(after HIP LaunchKernel)) -43927010844940:43927013630373 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) -43927028014785:43927028872184 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) -43927028873374:43927028873375 26036:26036 MARK(name(before HIP LaunchKernel)) -43927028886168:43927028928568 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43927028930119:43927028930120 26036:26036 MARK(name(after HIP LaunchKernel)) -43927028944889:43927031736014 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) -43927046119830:43927046998627 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) -43927046999940:43927046999941 26036:26036 MARK(name(before HIP LaunchKernel)) -43927047016421:43927047070221 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43927047072042:43927047072043 26036:26036 MARK(name(after HIP LaunchKernel)) -43927047085472:43927049860008 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) -43927064245364:43927065108724 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) -43927065110082:43927065110083 26036:26036 MARK(name(before HIP LaunchKernel)) -43927065122103:43927065164606 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43927065166114:43927065166115 26036:26036 MARK(name(after HIP LaunchKernel)) -43927065180644:43927067962938 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) -43927082347039:43927083209538 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) -43927083210726:43927083210727 26036:26036 MARK(name(before HIP LaunchKernel)) -43927083222728:43927083279396 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43927083281314:43927083281315 26036:26036 MARK(name(after HIP LaunchKernel)) -43927083286064:43927086056626 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) -43927100437312:43927101282469 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) -43927101283620:43927101283621 26036:26036 MARK(name(before HIP LaunchKernel)) -43927101296386:43927101338015 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43927101339539:43927101339540 26036:26036 MARK(name(after HIP LaunchKernel)) -43927101353985:43927102745388 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) -43927117135006:43927117981844 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) -43927117983014:43927117983015 26036:26036 MARK(name(before HIP LaunchKernel)) -43927117994607:43927118037901 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43927118039472:43927118039473 26036:26036 MARK(name(after HIP LaunchKernel)) -43927118058142:43927119443038 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) -43927133827385:43927134671954 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) -43927134673179:43927134673180 26036:26036 MARK(name(before HIP LaunchKernel)) -43927134685198:43927134727615 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43927134729164:43927134729165 26036:26036 MARK(name(after HIP LaunchKernel)) -43927134745242:43927136143016 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) -43927150519330:43927151364667 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) -43927151365955:43927151365956 26036:26036 MARK(name(before HIP LaunchKernel)) -43927151378743:43927151434654 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43927151436582:43927151436583 26036:26036 MARK(name(after HIP LaunchKernel)) -43927151441223:43927152846934 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) -43927167225401:43927168076782 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) -43927168078140:43927168078141 26036:26036 MARK(name(before HIP LaunchKernel)) -43927168090432:43927168147435 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43927168149232:43927168149233 26036:26036 MARK(name(after HIP LaunchKernel)) -43927168154120:43927169548661 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) -43927183927169:43927184777601 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) -43927184778963:43927184778964 26036:26036 MARK(name(before HIP LaunchKernel)) -43927184791025:43927184847441 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43927184849661:43927184849662 26036:26036 MARK(name(after HIP LaunchKernel)) -43927184854622:43927186249511 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) -43927200632043:43927201473364 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) -43927201474527:43927201474528 26036:26036 MARK(name(before HIP LaunchKernel)) -43927201486386:43927201544155 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43927201545973:43927201545974 26036:26036 MARK(name(after HIP LaunchKernel)) -43927201550639:43927202953592 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) -43927217334059:43927218181690 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) -43927218182942:43927218182943 26036:26036 MARK(name(before HIP LaunchKernel)) -43927218194738:43927218251440 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43927218253315:43927218253316 26036:26036 MARK(name(after HIP LaunchKernel)) -43927218258088:43927219645270 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) -43927234027885:43927234877916 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) -43927234879970:43927234879971 26036:26036 MARK(name(before HIP LaunchKernel)) -43927234907091:43927234939497 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43927234941047:43927234941048 26036:26036 MARK(name(after HIP LaunchKernel)) -43927234945356:43927236349176 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) -43927250728700:43927251571647 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) -43927251572908:43927251572909 26036:26036 MARK(name(before HIP LaunchKernel)) -43927251584594:43927251641544 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43927251643508:43927251643509 26036:26036 MARK(name(after HIP LaunchKernel)) -43927251648224:43927253043153 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) -43927267418718:43927268265260 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) -43927268266469:43927268266470 26036:26036 MARK(name(before HIP LaunchKernel)) -43927268295843:43927268328556 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43927268330536:43927268330537 26036:26036 MARK(name(after HIP LaunchKernel)) -43927268334924:43927269738450 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) -43927284357344:43927285205745 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) -43927285207087:43927285207088 26036:26036 MARK(name(before HIP LaunchKernel)) -43927285222080:43927285271558 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43927285273896:43927285273897 26036:26036 MARK(name(after HIP LaunchKernel)) -43927285278508:43927286685878 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) -43927301206744:43927302057748 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) -43927302058937:43927302058938 26036:26036 MARK(name(before HIP LaunchKernel)) -43927302078387:43927302123262 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43927302124935:43927302124936 26036:26036 MARK(name(after HIP LaunchKernel)) -43927302129494:43927303535506 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) -43927318080313:43927318928853 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) -43927318930326:43927318930327 26036:26036 MARK(name(before HIP LaunchKernel)) -43927318945494:43927318995301 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43927319001334:43927319001335 26036:26036 MARK(name(after HIP LaunchKernel)) -43927319006464:43927320412032 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) -43927334962934:43927335807302 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) -43927335808416:43927335808417 26036:26036 MARK(name(before HIP LaunchKernel)) -43927335822046:43927335885614 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43927335887536:43927335887537 26036:26036 MARK(name(after HIP LaunchKernel)) -43927335892238:43927337291279 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) -43927351671072:43927352523166 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) -43927352524432:43927352524433 26036:26036 MARK(name(before HIP LaunchKernel)) -43927352537095:43927352596415 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43927352598421:43927352598422 26036:26036 MARK(name(after HIP LaunchKernel)) -43927352603057:43927354003565 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) -43927368414908:43927369255760 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) -43927369256893:43927369256894 26036:26036 MARK(name(before HIP LaunchKernel)) -43927369269019:43927369329169 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43927369331003:43927369331004 26036:26036 MARK(name(after HIP LaunchKernel)) -43927369335927:43927370739168 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) -43927385135193:43927385999734 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) -43927386000948:43927386000949 26036:26036 MARK(name(before HIP LaunchKernel)) -43927386013206:43927386070933 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43927386073018:43927386073019 26036:26036 MARK(name(after HIP LaunchKernel)) -43927386077754:43927387475878 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) -43927401861573:43927402709153 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) -43927402710364:43927402710365 26036:26036 MARK(name(before HIP LaunchKernel)) -43927402722989:43927402783987 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43927402785720:43927402785721 26036:26036 MARK(name(after HIP LaunchKernel)) -43927402799813:43927404185085 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) -43927418562796:43927419411814 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) -43927419413145:43927419413146 26036:26036 MARK(name(before HIP LaunchKernel)) -43927419425552:43927419468076 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43927419469816:43927419469817 26036:26036 MARK(name(after HIP LaunchKernel)) -43927419484467:43927420831010 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) -43927435210977:43927436054427 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) -43927436055699:43927436055700 26036:26036 MARK(name(before HIP LaunchKernel)) -43927436068084:43927436126280 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43927436127935:43927436127936 26036:26036 MARK(name(after HIP LaunchKernel)) -43927436141483:43927437527385 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) -43927451904021:43927452759504 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) -43927452760765:43927452760766 26036:26036 MARK(name(before HIP LaunchKernel)) -43927452772676:43927452815354 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43927452817109:43927452817110 26036:26036 MARK(name(after HIP LaunchKernel)) -43927452832346:43927454217527 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) -43927468606039:43927469485647 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) -43927469486946:43927469486947 26036:26036 MARK(name(before HIP LaunchKernel)) -43927469499156:43927469556925 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43927469558799:43927469558800 26036:26036 MARK(name(after HIP LaunchKernel)) -43927469576540:43927472356678 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) -43927486730015:43927487591316 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) -43927487592712:43927487592713 26036:26036 MARK(name(before HIP LaunchKernel)) -43927487605035:43927487651711 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43927487653487:43927487653488 26036:26036 MARK(name(after HIP LaunchKernel)) -43927487668321:43927490445227 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) -43927504835167:43927505693771 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) -43927505694902:43927505694903 26036:26036 MARK(name(before HIP LaunchKernel)) -43927505710793:43927505768577 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43927505770415:43927505770416 26036:26036 MARK(name(after HIP LaunchKernel)) -43927505775025:43927508562617 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) -43927522943086:43927523807232 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) -43927523808390:43927523808391 26036:26036 MARK(name(before HIP LaunchKernel)) -43927523820671:43927523864025 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43927523865609:43927523865610 26036:26036 MARK(name(after HIP LaunchKernel)) -43927523880073:43927526656063 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) -43927541044737:43927541902426 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) -43927541903644:43927541903645 26036:26036 MARK(name(before HIP LaunchKernel)) -43927541915068:43927541963190 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43927541964916:43927541964917 26036:26036 MARK(name(after HIP LaunchKernel)) -43927541979704:43927544753179 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) -43927559128993:43927559991723 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) -43927559993052:43927559993053 26036:26036 MARK(name(before HIP LaunchKernel)) -43927560010181:43927560068164 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43927560069843:43927560069844 26036:26036 MARK(name(after HIP LaunchKernel)) -43927560074486:43927562856810 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) -43927577240175:43927578099570 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) -43927578100828:43927578100829 26036:26036 MARK(name(before HIP LaunchKernel)) -43927578112669:43927578160246 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43927578161886:43927578161887 26036:26036 MARK(name(after HIP LaunchKernel)) -43927578176453:43927580946777 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) -43927595322188:43927596187989 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) -43927596189151:43927596189152 26036:26036 MARK(name(before HIP LaunchKernel)) -43927596202369:43927596255121 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43927596257033:43927596257034 26036:26036 MARK(name(after HIP LaunchKernel)) -43927596262533:43927599041030 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) -43927613430488:43927614290596 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) -43927614291817:43927614291818 26036:26036 MARK(name(before HIP LaunchKernel)) -43927614303289:43927614346783 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43927614348384:43927614348385 26036:26036 MARK(name(after HIP LaunchKernel)) -43927614362978:43927617142560 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) -43927631520235:43927632383794 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) -43927632385106:43927632385107 26036:26036 MARK(name(before HIP LaunchKernel)) -43927632400212:43927632453209 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43927632455038:43927632455039 26036:26036 MARK(name(after HIP LaunchKernel)) -43927632459828:43927635240098 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) -43927649630393:43927650489274 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) -43927650490550:43927650490551 26036:26036 MARK(name(before HIP LaunchKernel)) -43927650501929:43927650549583 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43927650551126:43927650551127 26036:26036 MARK(name(after HIP LaunchKernel)) -43927650565619:43927653342484 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) -43927667721323:43927668587741 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) -43927668588959:43927668588960 26036:26036 MARK(name(before HIP LaunchKernel)) -43927668600815:43927668663069 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43927668665053:43927668665054 26036:26036 MARK(name(after HIP LaunchKernel)) -43927668670105:43927671453022 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) -43927685838820:43927686701057 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) -43927686702234:43927686702235 26036:26036 MARK(name(before HIP LaunchKernel)) -43927686713823:43927686757879 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43927686759588:43927686759589 26036:26036 MARK(name(after HIP LaunchKernel)) -43927686774441:43927689556138 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) -43927703934120:43927704804352 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) -43927704810139:43927704810140 26036:26036 MARK(name(before HIP LaunchKernel)) -43927704822333:43927704867948 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43927704869987:43927704869988 26036:26036 MARK(name(after HIP LaunchKernel)) -43927704874494:43927707707729 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) -43927722297339:43927723146133 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) -43927723147476:43927723147477 26036:26036 MARK(name(before HIP LaunchKernel)) -43927723163247:43927723214123 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43927723216175:43927723216176 26036:26036 MARK(name(after HIP LaunchKernel)) -43927723220937:43927724629931 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) -43927739011523:43927739859423 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) -43927739860685:43927739860686 26036:26036 MARK(name(before HIP LaunchKernel)) -43927739874330:43927739923637 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43927739925419:43927739925420 26036:26036 MARK(name(after HIP LaunchKernel)) -43927739930026:43927741337783 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) -43927755926069:43927756799938 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) -43927756801378:43927756801379 26036:26036 MARK(name(before HIP LaunchKernel)) -43927756816208:43927756865779 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43927756867802:43927756867803 26036:26036 MARK(name(after HIP LaunchKernel)) -43927756872511:43927758278389 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) -43927772698836:43927773540822 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) -43927773542112:43927773542113 26036:26036 MARK(name(before HIP LaunchKernel)) -43927773555938:43927773615351 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43927773617028:43927773617029 26036:26036 MARK(name(after HIP LaunchKernel)) -43927773630611:43927775023509 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) -43927789419278:43927790270237 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) -43927790271383:43927790271384 26036:26036 MARK(name(before HIP LaunchKernel)) -43927790285789:43927790339397 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43927790341306:43927790341307 26036:26036 MARK(name(after HIP LaunchKernel)) -43927790345995:43927791746659 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) -43927806135057:43927806980352 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) -43927806981544:43927806981545 26036:26036 MARK(name(before HIP LaunchKernel)) -43927806993683:43927807055412 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43927807057236:43927807057237 26036:26036 MARK(name(after HIP LaunchKernel)) -43927807070795:43927808461177 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) -43927822842919:43927823692101 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) -43927823693524:43927823693525 26036:26036 MARK(name(before HIP LaunchKernel)) -43927823705858:43927823762705 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43927823764605:43927823764606 26036:26036 MARK(name(after HIP LaunchKernel)) -43927823769245:43927825169022 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) -43927839565623:43927840416010 26036:26036 hipMemcpy(dst(0x902800000) src(0x1482170) size(0x400000) kind(1)) -43927840417186:43927840417187 26036:26036 MARK(name(before HIP LaunchKernel)) -43927840429458:43927840472555 26036:26036 hipModuleLaunchKernel(kernel(matrixTranspose(float*, float*, int)) stream((nil))) -43927840474268:43927840474269 26036:26036 MARK(name(after HIP LaunchKernel)) -43927840492835:43927841877272 26036:26036 hipMemcpy(dst(0x1882180) src(0x903000000) size(0x400000) kind(2)) -43927856258320:43927856338177 26036:26036 hipFree(ptr(0x902800000)) -43927856344212:43927856363353 26036:26036 hipFree(ptr(0x903000000)) -43925827907260:43925827907776 26036:26036 hsa_agent_get_info(, 17, 0x7fff229af804) = 0 -43925827909268:43925827909715 26036:26036 hsa_agent_get_info(, 17, 0x7fff229af804) = 0 -43925827909268:43925827910576 26036:26036 hsa_iterate_agents(1, 0x1098a28) = 0 -43925827911767:43925827912109 26036:26036 hsa_agent_get_info(, 17, 0x7fff229afa0c) = 0 -43925827911767:43925827912843 26036:26036 hsa_iterate_agents(1, 0x1098a20) = 1 -43925827915951:43925827916343 26036:26036 hsa_agent_get_info(, 4, 0x7fff229af720) = 0 -43925827917319:43925827920422 26036:26036 hsa_agent_get_info(, 0, 0x7fff229af6e0) = 0 -43925827921199:43925827921566 26036:26036 hsa_agent_get_info(, 16, 0x1091a98) = 0 -43925827934105:43925827934535 26036:26036 hsa_agent_get_info(, 21, 0x1091a30) = 0 -43925827935322:43925827935660 26036:26036 hsa_agent_get_info(, 22, 0x1091a32) = 0 -43925827936471:43925827936824 26036:26036 hsa_agent_get_info(, 14, 0x10918d0) = 0 -43925827938465:43925827938992 26036:26036 hsa_amd_profiling_async_copy_enable() = 0 -43925827941816:43925827942418 26036:26036 hsa_amd_memory_pool_get_info(, 0, 0x7fff229af3ac) = 0 -43925827943259:43925827943604 26036:26036 hsa_amd_memory_pool_get_info(, 0, 0x7fff229af3ac) = 0 -43925827944348:43925827944686 26036:26036 hsa_amd_memory_pool_get_info(, 2, 0x7fff229af3b0) = 0 -43925827944348:43925827945418 26036:26036 hsa_amd_agent_iterate_memory_pools(, 1, 0x10918c8) = 1 -43925827946556:43925827946898 26036:26036 hsa_amd_memory_pool_get_info(, 0, 0x7fff229af204) = 0 -43925827947640:43925827947987 26036:26036 hsa_amd_memory_pool_get_info(, 1, 0x7fff229af1f4) = 0 -43925827948732:43925827949072 26036:26036 hsa_amd_memory_pool_get_info(, 2, 0x7fff229af1f8) = 0 -43925827949993:43925827950338 26036:26036 hsa_amd_memory_pool_get_info(, 0, 0x7fff229af204) = 0 -43925827949993:43925827951093 26036:26036 hsa_amd_agent_iterate_memory_pools(, 1, 0x1091988) = 0 -43925827952253:43925827952582 26036:26036 hsa_amd_memory_pool_get_info(, 0, 0x7fff229af3bc) = 0 -43925827953322:43925827953670 26036:26036 hsa_amd_memory_pool_get_info(, 1, 0x7fff229af22c) = 0 -43925827954406:43925827954745 26036:26036 hsa_amd_memory_pool_get_info(, 2, 0x7fff229af220) = 0 -43925827955763:43925827956104 26036:26036 hsa_amd_memory_pool_get_info(, 0, 0x7fff229af3bc) = 0 -43925827956842:43925827957185 26036:26036 hsa_amd_memory_pool_get_info(, 1, 0x7fff229af22c) = 0 -43925827957917:43925827958253 26036:26036 hsa_amd_memory_pool_get_info(, 2, 0x7fff229af220) = 0 -43925827957917:43925827959000 26036:26036 hsa_amd_agent_iterate_memory_pools(, 1, 0x1091988) = 0 -43925827960909:43925828052119 26036:26036 hsa_amd_memory_pool_allocate(, , , 0x7fff229af4b8) = 0 -43925828055031:43925828068247 26036:26036 hsa_amd_agents_allow_access(, 0x10918c0, 0, 0x2f00000) = 0 -43925828074900:43925828075371 26036:26036 hsa_agent_get_info(, 8, 0x10919e4) = 0 -43925828076125:43925828076495 26036:26036 hsa_agent_get_info(, 7, 0x10919e8) = 0 -43925828077253:43925828077605 26036:26036 hsa_agent_get_info(, 4, 0x7fff229af920) = 0 -43925828079890:43925828080303 26036:26036 hsa_amd_memory_pool_get_info(, 0, 0x7fff229af26c) = 0 -43925828081451:43925828081800 26036:26036 hsa_amd_memory_pool_get_info(, 1, 0x7fff229af268) = 0 -43925828082615:43925828082954 26036:26036 hsa_amd_memory_pool_get_info(, 0, 0x7fff229af26c) = 0 -43925828083745:43925828084089 26036:26036 hsa_amd_memory_pool_get_info(, 1, 0x7fff229af268) = 0 -43925828083745:43925828084871 26036:26036 hsa_amd_agent_iterate_memory_pools(, 1, 0x7fff229af4b0) = 0 -43925828086103:43925828086463 26036:26036 hsa_agent_get_info(, 17, 0x7fff229af294) = 0 -43925828087232:43925828087590 26036:26036 hsa_agent_get_info(, 17, 0x7fff229af294) = 0 -43925828087232:43925828088413 26036:26036 hsa_iterate_agents(1, 0x7fff229af410) = 0 -43925828089425:43925828564879 26036:26036 hsa_amd_memory_pool_allocate(, , , 0x1091e40) = 0 -43925828566109:43925828587729 26036:26036 hsa_amd_agents_allow_access(, 0x1091f20, 0, 0x3200000) = 0 -43925828589808:43925828592128 26036:26036 hsa_signal_create(0, , 0, 0x1091e60) = 0 -43925828592902:43925828593821 26036:26036 hsa_signal_create(0, , 0, 0x1091e80) = 0 -43925828594651:43925829058680 26036:26036 hsa_amd_memory_pool_allocate(, , , 0x1091e48) = 0 -43925829059856:43925829079662 26036:26036 hsa_amd_agents_allow_access(, 0x1091f20, 0, 0x3a00000) = 0 -43925829080624:43925829081763 26036:26036 hsa_signal_create(0, , 0, 0x1091e68) = 0 -43925829082552:43925829083404 26036:26036 hsa_signal_create(0, , 0, 0x1091e88) = 0 -43925829085142:43925829085627 26036:26036 hsa_amd_memory_pool_get_info(, 0, 0x7fff229af26c) = 0 -43925829086609:43925829086946 26036:26036 hsa_amd_memory_pool_get_info(, 1, 0x7fff229af268) = 0 -43925829087782:43925829088163 26036:26036 hsa_amd_memory_pool_get_info(, 0, 0x7fff229af26c) = 0 -43925829088967:43925829089294 26036:26036 hsa_amd_memory_pool_get_info(, 1, 0x7fff229af268) = 0 -43925829088967:43925829090068 26036:26036 hsa_amd_agent_iterate_memory_pools(, 1, 0x7fff229af4b0) = 0 -43925829091417:43925829091830 26036:26036 hsa_agent_get_info(, 17, 0x7fff229af294) = 0 -43925829092582:43925829093026 26036:26036 hsa_agent_get_info(, 17, 0x7fff229af294) = 0 -43925829092582:43925829093838 26036:26036 hsa_iterate_agents(1, 0x7fff229af410) = 0 -43925829096308:43925829563188 26036:26036 hsa_amd_memory_pool_allocate(, , , 0x10924f0) = 0 -43925829564492:43925829584042 26036:26036 hsa_amd_agents_allow_access(, 0x1091f20, 0, 0x4200000) = 0 -43925829584951:43925829586054 26036:26036 hsa_signal_create(0, , 0, 0x1092510) = 0 -43925829586806:43925829587740 26036:26036 hsa_signal_create(0, , 0, 0x1092530) = 0 -43925829588552:43925830052914 26036:26036 hsa_amd_memory_pool_allocate(, , , 0x10924f8) = 0 -43925830054109:43925830073789 26036:26036 hsa_amd_agents_allow_access(, 0x1091f20, 0, 0x4a00000) = 0 -43925830074677:43925830076108 26036:26036 hsa_signal_create(0, , 0, 0x1092518) = 0 -43925830076868:43925830077742 26036:26036 hsa_signal_create(0, , 0, 0x1092538) = 0 -43925830083888:43925830103443 26036:26036 hsa_amd_memory_lock(0x7f210cdf7380, , 0x1078270, 1, 0x7f210cdf7388) = 0 -43925830113078:43925830113479 26036:26036 hsa_agent_get_info(, 17, 0x7fff229afd44) = 0 -43925830113078:43925830114245 26036:26036 hsa_iterate_agents(1, 0x7f210c1ae1d8) = 1 -43925830116556:43925830117479 26036:26036 hsa_agent_get_info(, 40962, 0x1092ca8) = 0 -43925830119017:43925830119358 26036:26036 hsa_agent_get_info(, 17, 0x7fff229afb5c) = 0 -43925830120141:43925830120492 26036:26036 hsa_agent_get_info(, 17, 0x7fff229afb5c) = 0 -43925830120141:43925830121231 26036:26036 hsa_iterate_agents(1, 0x7fff229afcbc) = 0 -43925830121982:43925830122521 26036:26036 hsa_agent_get_info(, 40969, 0x1092cb0) = 0 -43925830123277:43925830131878 26036:26036 hsa_agent_get_info(, 0, 0x7fff229afd30) = 0 -43925830134227:43925830134616 26036:26036 hsa_agent_get_info(, 16, 0x7fff229afcec) = 0 -43925830135371:43925830135724 26036:26036 hsa_agent_get_info(, 6, 0x1092dc4) = 0 -43925830136477:43925830136838 26036:26036 hsa_agent_get_info(, 8, 0x1092dc8) = 0 -43925830137663:43925830138067 26036:26036 hsa_agent_get_info(, 7, 0x7fff229afcae) = 0 -43925830138822:43925830139191 26036:26036 hsa_agent_get_info(, 9, 0x7fff229afcd0) = 0 -43925830139944:43925830140310 26036:26036 hsa_agent_get_info(, 40963, 0x1092de4) = 0 -43925830141823:43925830142233 26036:26036 hsa_system_get_info(3, 0x7fff229afce0) = 0 -43925830142981:43925830143346 26036:26036 hsa_agent_get_info(, 40966, 0x7fff229afcac) = 0 -43925830144097:43925830144510 26036:26036 hsa_agent_get_info(, 40975, 0x1092e1c) = 0 -43925830145273:43925830145634 26036:26036 hsa_agent_get_info(, 40962, 0x1092e00) = 0 -43925830146387:43925830146753 26036:26036 hsa_agent_get_info(, 18, 0x7fff229afd20) = 0 -43925830147671:43925830148043 26036:26036 hsa_agent_get_info(, 40970, 0x7fff229afcb8) = 0 -43925830153569:43925830154028 26036:26036 hsa_amd_memory_pool_get_info(, 0, 0x7fff229afb1c) = 0 -43925830156470:43925830156847 26036:26036 hsa_amd_memory_pool_get_info(, 0, 0x7fff229afb1c) = 0 -43925830157844:43925830158190 26036:26036 hsa_amd_memory_pool_get_info(, 2, 0x1092db8) = 0 -43925830157844:43925830158933 26036:26036 hsa_amd_agent_iterate_memory_pools(, 1, 0x1092cb0) = 0 -43925830173429:43925830174730 26036:26036 hsa_signal_create(1, , 0x7fff229af9e8, 0x1093068) = 0 -43925830180458:43925830181007 26036:26036 hsa_region_get_info(, 2, 0x1092db0) = 0 -43925830181767:43925830182216 26036:26036 hsa_region_get_info(, 40963, 0x1092de8) = 0 -43925830182954:43925830183294 26036:26036 hsa_region_get_info(, 40962, 0x1092dec) = 0 -43925830184037:43925830184449 26036:26036 hsa_agent_get_info(, 4, 0x7fff229afcb4) = 0 -43925830185227:43925830231206 26036:26036 hsa_agent_get_info(, 12288, 0x1092e48) = 0 -43925830232192:43925830232633 26036:26036 hsa_agent_get_info(, 12291, 0x1092e4c) = 0 -43925830233396:43925830233778 26036:26036 hsa_agent_get_info(, 12295, 0x1092e54) = 0 -43925830234515:43925830234875 26036:26036 hsa_agent_get_info(, 40974, 0x7fff229afd10) = 0 -43925830235624:43925830235978 26036:26036 hsa_agent_get_info(, 19, 0x7fff229afcc8) = 0 -43925830237667:43925830260280 26036:26036 hsa_isa_get_info_alt(, 0, 0x7fff229afcc0) = 0 -43925830263686:43925830267460 26036:26036 hsa_isa_get_info_alt(, 1, 0x1091cf0) = 0 -43925830287332:43925830287723 26036:26036 hsa_system_get_info(3, 0x7fff229b0050) = 0 -43925830288654:43925830289297 26036:26036 hsa_system_get_info(2, 0x7fff229b0080) = 0 -43925830293485:43925830294136 26036:26036 hsa_system_get_info(2, 0x7fff229b0080) = 0 -43925832517439:43925832518256 26036:26036 hsa_system_get_info(2, 0x7fff229b0080) = 0 -43925832528316:43925832564744 26036:26036 hsa_amd_memory_pool_allocate(, , , 0x7fff229afe48) = 0 -43925832569077:43925832569746 26036:26036 hsa_system_get_info(2, 0x7fff229b0080) = 0 -43925832572520:43925832573168 26036:26036 hsa_system_get_info(2, 0x7fff229b0080) = 0 -43925832574584:43925832593809 26036:26036 hsa_amd_memory_pool_allocate(, , , 0x7fff229afe48) = 0 -43925832595008:43925832595641 26036:26036 hsa_system_get_info(2, 0x7fff229b0080) = 0 -43925832605937:43925832606606 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43925832612296:43925832613779 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 -43925832614775:43925832615287 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43925832617712:43925832618278 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 -43925832619045:43925832619419 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43925832620973:43925832621295 26036:26036 hsa_agent_get_info(, 17, 0x7fff229afd04) = 0 -43925832620973:43925832622025 26036:26036 hsa_iterate_agents(1, 0x7fff229afe60) = 1 -43925832623761:43925832624206 26036:26036 hsa_region_get_info(, 0, 0x7fff229afe5c) = 0 -43925832625012:43925832625351 26036:26036 hsa_region_get_info(, 1, 0x7fff229afe58) = 0 -43925832626123:43925832626460 26036:26036 hsa_region_get_info(, 0, 0x7fff229afe5c) = 0 -43925832627190:43925832637619 26036:26036 hsa_region_get_info(, 1, 0x7fff229afe58) = 0 -43925832627190:43925832638514 26036:26036 hsa_agent_iterate_regions(, 1, 0x7fff229affa0) = 1 -43925832640170:43925833166775 26036:26036 hsa_memory_allocate(, , 0x7fff229affa8) = 0 -43925833168812:43925833169178 26036:26036 hsa_agent_get_info(, 17, 0x7fff229afd04) = 0 -43925833168812:43925833169954 26036:26036 hsa_iterate_agents(1, 0x7fff229afe60) = 1 -43925833171326:43925833173421 26036:26036 hsa_signal_create(1, , 0x7fff229affa8, 0x7fff229affa0) = 0 -43925833415303:43925833415884 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43925833417464:43925837539074 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 -43925837541709:43925837939048 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43925837940414:43925837941068 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43925942670138:43925942672376 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fff229affc0) = 0 -43925942813755:43925942814416 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fff229affc0) = 0 -43925946129693:43925946131688 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fff229affc0) = 0 -43925946136572:43925946137370 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fff229affc0) = 0 -43925946139394:43925946140098 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7fff229affc0) = 0 -43925946142070:43925946142690 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7fff229affc0) = 0 -43925946189940:43925946190487 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fff229affc0) = 0 -43925946192653:43925946193182 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fff229affc0) = 0 -43925946195367:43925946195880 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7fff229affc0) = 0 -43925946197734:43925946198232 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7fff229affc0) = 0 -43925946244898:43925946245429 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fff229affc0) = 0 -43925946247452:43925946248036 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fff229affc0) = 0 -43925946256881:43925946257416 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7fff229affc0) = 0 -43925946259630:43925946260165 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7fff229affc0) = 0 -43925946307469:43925946308028 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fff229affc0) = 0 -43925946309901:43925946310517 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fff229affc0) = 0 -43925946312379:43925946312887 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7fff229affc0) = 0 -43925946314731:43925946315249 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7fff229affc0) = 0 -43925946361990:43925946362519 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fff229affc0) = 0 -43925946364705:43925946365209 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fff229affc0) = 0 -43925946367186:43925946367753 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7fff229affc0) = 0 -43925946369743:43925946370313 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7fff229affc0) = 0 -43925946415992:43925946416511 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fff229affc0) = 0 -43925946418392:43925946418975 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fff229affc0) = 0 -43925946420754:43925946421264 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7fff229affc0) = 0 -43925946423095:43925946423616 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7fff229affc0) = 0 -43925946470366:43925946470878 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fff229affc0) = 0 -43925946472683:43925946473205 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fff229affc0) = 0 -43925946474990:43925946475512 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7fff229affc0) = 0 -43925946477572:43925946478077 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7fff229affc0) = 0 -43925946524430:43925946524984 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fff229affc0) = 0 -43925946526853:43925946527374 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fff229affc0) = 0 -43925946529065:43925946529584 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7fff229affc0) = 0 -43925946531325:43925946531835 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7fff229affc0) = 0 -43925946578543:43925946579104 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fff229affc0) = 0 -43925946581154:43925946581670 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fff229affc0) = 0 -43925946583732:43925946584190 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7fff229affc0) = 0 -43925946586114:43925946586631 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7fff229affc0) = 0 -43925946737589:43925946738202 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fff229affc0) = 0 -43925946740934:43925946741435 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fff229affc0) = 0 -43925946746106:43925946746756 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7fff229affc0) = 0 -43925946749179:43925946749672 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7fff229affc0) = 0 -43925946794062:43925946794598 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fff229affc0) = 0 -43925946796344:43925946796846 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fff229affc0) = 0 -43925946798738:43925946799235 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7fff229affc0) = 0 -43925946800963:43925946801586 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7fff229affc0) = 0 -43925946845114:43925946845615 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fff229affc0) = 0 -43925946847486:43925946847998 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fff229affc0) = 0 -43925946849758:43925946850231 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7fff229affc0) = 0 -43925946851848:43925946852337 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7fff229affc0) = 0 -43925946926009:43925946926564 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fff229affc0) = 0 -43925946929014:43925946929505 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fff229affc0) = 0 -43925946931481:43925946932002 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7fff229affc0) = 0 -43925946934262:43925946934743 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7fff229affc0) = 0 -43925946978845:43925946979355 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fff229affc0) = 0 -43925946981080:43925946981641 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fff229affc0) = 0 -43925946983468:43925946983953 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7fff229affc0) = 0 -43925946985602:43925946986085 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7fff229affc0) = 0 -43925947029251:43925947029781 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fff229affc0) = 0 -43925947031530:43925947032143 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fff229affc0) = 0 -43925947034023:43925947034517 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7fff229affc0) = 0 -43925947036375:43925947036867 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7fff229affc0) = 0 -43925947080851:43925947081441 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fff229affc0) = 0 -43925947083205:43925947083719 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fff229affc0) = 0 -43925947085411:43925947085959 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7fff229affc0) = 0 -43925947087997:43925947088496 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7fff229affc0) = 0 -43925947132734:43925947133248 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fff229affc0) = 0 -43925947135515:43925947136003 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fff229affc0) = 0 -43925947138207:43925947138911 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7fff229affc0) = 0 -43925947142318:43925947142905 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7fff229affc0) = 0 -43925947187541:43925947188054 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fff229affc0) = 0 -43925947189761:43925947190255 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fff229affc0) = 0 -43925947192157:43925947192642 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7fff229affc0) = 0 -43925947194392:43925947194869 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7fff229affc0) = 0 -43925947237750:43925947238282 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fff229affc0) = 0 -43925947239969:43925947240478 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fff229affc0) = 0 -43925947242154:43925947242655 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7fff229affc0) = 0 -43925947244217:43925947244721 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7fff229affc0) = 0 -43925947289322:43925947289837 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx803, 0x7fff229affc0) = 0 -43925947291608:43925947292105 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx900, 0x7fff229affc0) = 0 -43925947293989:43925947294489 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx906, 0x7fff229affc0) = 0 -43925947296294:43925947296778 26036:26036 hsa_isa_from_name(amdgcn-amd-amdhsa--gfx908, 0x7fff229affc0) = 0 -43926006421738:43926006429823 26036:26036 hsa_executable_create_alt(1, 0, -43926086100741:43926086103267 26036:26036 hsa_code_object_reader_create_from_memory(0x7f20f40d2380, , 0x2149550) = 0 -43926086106442:43926086272707 26036:26036 hsa_executable_load_agent_code_object(, , , -43926086274903:43926086300304 26036:26036 hsa_executable_freeze(, -43926086307830:43926086309182 26036:26036 hsa_executable_create_alt(1, 0, -43926086332728:43926086333229 26036:26036 hsa_code_object_reader_create_from_memory(0x209fbd0, , 0x7f20f4515840) = 0 -43926086334172:43926086401120 26036:26036 hsa_executable_load_agent_code_object(, , , -43926086402448:43926086420221 26036:26036 hsa_executable_freeze(, -43926086422849:43926086423791 26036:26036 hsa_executable_create_alt(1, 0, -43926086435023:43926086435520 26036:26036 hsa_code_object_reader_create_from_memory(0x20a1140, , 0x7f2091d08fd0) = 0 -43926086436371:43926086513005 26036:26036 hsa_executable_load_agent_code_object(, , , -43926086514290:43926086531259 26036:26036 hsa_executable_freeze(, -43926086533851:43926086534751 26036:26036 hsa_executable_create_alt(1, 0, -43926086545153:43926086545558 26036:26036 hsa_code_object_reader_create_from_memory(0x20a26b0, , 0x7f20f401c2e0) = 0 -43926086546436:43926086620754 26036:26036 hsa_executable_load_agent_code_object(, , , -43926086623558:43926086640585 26036:26036 hsa_executable_freeze(, -43926086643101:43926086644051 26036:26036 hsa_executable_create_alt(1, 0, -43926086654273:43926086654661 26036:26036 hsa_code_object_reader_create_from_memory(0x20a3c20, , 0x21e71e0) = 0 -43926086655483:43926086728782 26036:26036 hsa_executable_load_agent_code_object(, , , -43926086729989:43926086747033 26036:26036 hsa_executable_freeze(, -43926086749715:43926086750565 26036:26036 hsa_executable_create_alt(1, 0, -43926086760821:43926086761232 26036:26036 hsa_code_object_reader_create_from_memory(0x20a5190, , 0x2186430) = 0 -43926086762041:43926086834322 26036:26036 hsa_executable_load_agent_code_object(, , , -43926086835523:43926086852537 26036:26036 hsa_executable_freeze(, -43926086854967:43926086855788 26036:26036 hsa_executable_create_alt(1, 0, -43926086865879:43926086866265 26036:26036 hsa_code_object_reader_create_from_memory(0x20a6700, , 0x7f20f4041e20) = 0 -43926086867086:43926086939353 26036:26036 hsa_executable_load_agent_code_object(, , , -43926086940585:43926086957474 26036:26036 hsa_executable_freeze(, -43926086959882:43926086960706 26036:26036 hsa_executable_create_alt(1, 0, -43926086970414:43926086970811 26036:26036 hsa_code_object_reader_create_from_memory(0x20a7c70, , 0x7f20f4049880) = 0 -43926086971629:43926087032040 26036:26036 hsa_executable_load_agent_code_object(, , , -43926087033255:43926087049968 26036:26036 hsa_executable_freeze(, -43926087052435:43926087053412 26036:26036 hsa_executable_create_alt(1, 0, -43926087063273:43926087063692 26036:26036 hsa_code_object_reader_create_from_memory(0x20a91e0, , 0x7f20f408a530) = 0 -43926087064499:43926087113908 26036:26036 hsa_executable_load_agent_code_object(, , , -43926087115158:43926087131977 26036:26036 hsa_executable_freeze(, -43926087134755:43926087135417 26036:26036 hsa_executable_create_alt(1, 0, -43926087152807:43926087153253 26036:26036 hsa_code_object_reader_create_from_memory(0x20d6910, , 0x7f20f40bb900) = 0 -43926087154091:43926087223174 26036:26036 hsa_executable_load_agent_code_object(, , , -43926087224488:43926087242757 26036:26036 hsa_executable_freeze(, -43926087245466:43926087246422 26036:26036 hsa_executable_create_alt(1, 0, -43926087257396:43926087257820 26036:26036 hsa_code_object_reader_create_from_memory(0x20d1a50, , 0x7f20f40bc010) = 0 -43926087258665:43926087310536 26036:26036 hsa_executable_load_agent_code_object(, , , -43926087313394:43926087330448 26036:26036 hsa_executable_freeze(, -43926087332882:43926087333790 26036:26036 hsa_executable_create_alt(1, 0, -43926087343806:43926087344216 26036:26036 hsa_code_object_reader_create_from_memory(0x20d2fc0, , 0x7f20f40e81a0) = 0 -43926087345041:43926087395324 26036:26036 hsa_executable_load_agent_code_object(, , , -43926087396555:43926087413368 26036:26036 hsa_executable_freeze(, -43926087415815:43926087416714 26036:26036 hsa_executable_create_alt(1, 0, -43926087428051:43926087428466 26036:26036 hsa_code_object_reader_create_from_memory(0x20acd10, , 0x7f20f4103e90) = 0 -43926087429302:43926087484456 26036:26036 hsa_executable_load_agent_code_object(, , , -43926087485728:43926087503019 26036:26036 hsa_executable_freeze(, -43926087505565:43926087506384 26036:26036 hsa_executable_create_alt(1, 0, -43926087517409:43926087517816 26036:26036 hsa_code_object_reader_create_from_memory(0x20aa750, , 0x7f2092d400d0) = 0 -43926087518655:43926087570539 26036:26036 hsa_executable_load_agent_code_object(, , , -43926087571800:43926087588792 26036:26036 hsa_executable_freeze(, -43926087591309:43926087592117 26036:26036 hsa_executable_create_alt(1, 0, -43926087602196:43926087602594 26036:26036 hsa_code_object_reader_create_from_memory(0x7f20f40d64a0, , 0x7f2092dc45a0) = 0 -43926087603422:43926087652792 26036:26036 hsa_executable_load_agent_code_object(, , , -43926087654012:43926087670919 26036:26036 hsa_executable_freeze(, -43926087673380:43926087674221 26036:26036 hsa_executable_create_alt(1, 0, -43926087684453:43926087684912 26036:26036 hsa_code_object_reader_create_from_memory(0x20af2d0, , 0x7f2092db16f0) = 0 -43926087685750:43926087734323 26036:26036 hsa_executable_load_agent_code_object(, , , -43926087735525:43926087752596 26036:26036 hsa_executable_freeze(, -43926087755007:43926087756046 26036:26036 hsa_executable_create_alt(1, 0, -43926087765964:43926087766423 26036:26036 hsa_code_object_reader_create_from_memory(0x20b0840, , 0x7f2092d8cd90) = 0 -43926087767250:43926087815873 26036:26036 hsa_executable_load_agent_code_object(, , , -43926087817088:43926087834083 26036:26036 hsa_executable_freeze(, -43926087836861:43926087837543 26036:26036 hsa_executable_create_alt(1, 0, -43926087847719:43926087848137 26036:26036 hsa_code_object_reader_create_from_memory(0x20d4530, , 0x7f2092de4ba0) = 0 -43926087848938:43926087899051 26036:26036 hsa_executable_load_agent_code_object(, , , -43926087900280:43926087917626 26036:26036 hsa_executable_freeze(, -43926087921452:43926087922348 26036:26036 hsa_executable_create_alt(1, 0, -43926087932568:43926087932975 26036:26036 hsa_code_object_reader_create_from_memory(0x20db290, , 0x7f2092e08930) = 0 -43926087933819:43926087983380 26036:26036 hsa_executable_load_agent_code_object(, , , -43926087984607:43926088010294 26036:26036 hsa_executable_freeze(, -43926088023052:43926088023980 26036:26036 hsa_executable_create_alt(1, 0, -43926088034985:43926088035479 26036:26036 hsa_code_object_reader_create_from_memory(0x20dc800, , 0x7f2092e14a90) = 0 -43926088036321:43926088098329 26036:26036 hsa_executable_load_agent_code_object(, , , -43926088099583:43926088116689 26036:26036 hsa_executable_freeze(, -43926088149891:43926088150634 26036:26036 hsa_executable_create_alt(1, 0, -43926088163192:43926088163600 26036:26036 hsa_code_object_reader_create_from_memory(0x11d56e0, , 0x7f2092e2e800) = 0 -43926088164436:43926088222226 26036:26036 hsa_executable_load_agent_code_object(, , , -43926088223507:43926088241490 26036:26036 hsa_executable_freeze(, -43926088244437:43926088245538 26036:26036 hsa_executable_create_alt(1, 0, -43926088257938:43926088258370 26036:26036 hsa_code_object_reader_create_from_memory(0x2210cd0, , 0x7f2092e3c730) = 0 -43926088259220:43926088316014 26036:26036 hsa_executable_load_agent_code_object(, , , -43926088317259:43926088334828 26036:26036 hsa_executable_freeze(, -43926088317259:43926088338787 26036:26036 hsa_agent_iterate_isas(, 1, 0x7fff229aff08) = 0 -43926088341893:43926088342792 26036:26036 hsa_executable_iterate_agent_symbols(, , 1, 0x1082860) = 0 -43926088343594:43926088343977 26036:26036 hsa_executable_iterate_agent_symbols(, , 1, 0x1082860) = 0 -43926088344771:43926088345152 26036:26036 hsa_executable_iterate_agent_symbols(, , 1, 0x1082860) = 0 -43926088345909:43926088346308 26036:26036 hsa_executable_iterate_agent_symbols(, , 1, 0x1082860) = 0 -43926088347069:43926088347448 26036:26036 hsa_executable_iterate_agent_symbols(, , 1, 0x1082860) = 0 -43926088348213:43926088348582 26036:26036 hsa_executable_iterate_agent_symbols(, , 1, 0x1082860) = 0 -43926088349339:43926088349705 26036:26036 hsa_executable_iterate_agent_symbols(, , 1, 0x1082860) = 0 -43926088350475:43926088350851 26036:26036 hsa_executable_iterate_agent_symbols(, , 1, 0x1082860) = 0 -43926088351608:43926088351998 26036:26036 hsa_executable_iterate_agent_symbols(, , 1, 0x1082860) = 0 -43926088354210:43926088354704 26036:26036 hsa_executable_symbol_get_info(, 0, 0x7fff229afe28) = 0 -43926088355654:43926088356012 26036:26036 hsa_executable_symbol_get_info(, 1, 0x7fff229afe24) = 0 -43926088358400:43926088358821 26036:26036 hsa_executable_symbol_get_info(, 2, 0x2debd60) = 0 -43926088360095:43926088360455 26036:26036 hsa_executable_symbol_get_info(, 0, 0x7fff229afe28) = 0 -43926088361239:43926088361587 26036:26036 hsa_executable_symbol_get_info(, 1, 0x7fff229afe24) = 0 -43926088362399:43926088362751 26036:26036 hsa_executable_symbol_get_info(, 2, 0x7f2092b26b10) = 0 -43926088363827:43926088364179 26036:26036 hsa_executable_symbol_get_info(, 0, 0x7fff229afe28) = 0 -43926088364944:43926088365295 26036:26036 hsa_executable_symbol_get_info(, 1, 0x7fff229afe24) = 0 -43926088366103:43926088366472 26036:26036 hsa_executable_symbol_get_info(, 2, 0x7f2092b97ee0) = 0 -43926088367358:43926088367707 26036:26036 hsa_executable_symbol_get_info(, 0, 0x7fff229afe28) = 0 -43926088368469:43926088368807 26036:26036 hsa_executable_symbol_get_info(, 1, 0x7fff229afe24) = 0 -43926088369606:43926088369966 26036:26036 hsa_executable_symbol_get_info(, 2, 0x212fa20) = 0 -43926088371062:43926088371409 26036:26036 hsa_executable_symbol_get_info(, 0, 0x7fff229afe28) = 0 -43926088372182:43926088372524 26036:26036 hsa_executable_symbol_get_info(, 1, 0x7fff229afe24) = 0 -43926088373380:43926088373731 26036:26036 hsa_executable_symbol_get_info(, 2, 0x7f20f59197a0) = 0 -43926088374799:43926088375151 26036:26036 hsa_executable_symbol_get_info(, 0, 0x7fff229afe28) = 0 -43926088375913:43926088376262 26036:26036 hsa_executable_symbol_get_info(, 1, 0x7fff229afe24) = 0 -43926088377069:43926088377414 26036:26036 hsa_executable_symbol_get_info(, 2, 0x7f2092cb1410) = 0 -43926088377069:43926088378348 26036:26036 hsa_executable_iterate_agent_symbols(, , 1, 0x1082860) = 0 -43926088379116:43926088379509 26036:26036 hsa_executable_iterate_agent_symbols(, , 1, 0x1082860) = 0 -43926088380282:43926088380652 26036:26036 hsa_executable_iterate_agent_symbols(, , 1, 0x1082860) = 0 -43926088381849:43926088382198 26036:26036 hsa_executable_symbol_get_info(, 0, 0x7fff229afe28) = 0 -43926088382958:43926088383296 26036:26036 hsa_executable_symbol_get_info(, 1, 0x7fff229afe24) = 0 -43926088384107:43926088384476 26036:26036 hsa_executable_symbol_get_info(, 2, 0x7f2092cb2580) = 0 -43926088384107:43926088385364 26036:26036 hsa_executable_iterate_agent_symbols(, , 1, 0x1082860) = 0 -43926088386127:43926088386494 26036:26036 hsa_executable_iterate_agent_symbols(, , 1, 0x1082860) = 0 -43926088387254:43926088387629 26036:26036 hsa_executable_iterate_agent_symbols(, , 1, 0x1082860) = 0 -43926088388391:43926088388764 26036:26036 hsa_executable_iterate_agent_symbols(, , 1, 0x1082860) = 0 -43926088389522:43926088389889 26036:26036 hsa_executable_iterate_agent_symbols(, , 1, 0x1082860) = 0 -43926088390648:43926088391014 26036:26036 hsa_executable_iterate_agent_symbols(, , 1, 0x1082860) = 0 -43926088391775:43926088392152 26036:26036 hsa_executable_iterate_agent_symbols(, , 1, 0x1082860) = 0 -43926088393760:43926088394130 26036:26036 hsa_executable_iterate_agent_symbols(, , 1, 0x1082860) = 0 -43926088395304:43926088395653 26036:26036 hsa_executable_symbol_get_info(, 0, 0x7fff229afe28) = 0 -43926088396411:43926088396757 26036:26036 hsa_executable_symbol_get_info(, 1, 0x7fff229afe24) = 0 -43926088397560:43926088397914 26036:26036 hsa_executable_symbol_get_info(, 2, 0x7f2092820910) = 0 -43926088397560:43926088398781 26036:26036 hsa_executable_iterate_agent_symbols(, , 1, 0x1082860) = 0 -43926088399975:43926088400324 26036:26036 hsa_executable_symbol_get_info(, 0, 0x7fff229afe28) = 0 -43926088401082:43926088401423 26036:26036 hsa_executable_symbol_get_info(, 1, 0x7fff229afe24) = 0 -43926088402226:43926088402580 26036:26036 hsa_executable_symbol_get_info(, 2, 0x7f2092d34940) = 0 -43926088402226:43926088403566 26036:26036 hsa_executable_iterate_agent_symbols(, , 1, 0x1082860) = 0 -43926119084395:43926119085919 26036:26036 hsa_executable_symbol_get_info(, 22, 0x7fff229b00a0) = 0 -43926119091500:43926119091973 26036:26036 hsa_system_major_extension_supported(, , , ) = 0 -43926119093907:43926119094413 26036:26036 hsa_system_get_major_extension_table(, , , 0x7fff229b0030) = 0 -43926119928519:43926119929026 26036:26036 hsa_executable_symbol_get_info(, 22, 0x7fff229b00a0) = 0 -43926119930101:43926119930487 26036:26036 hsa_system_major_extension_supported(, , , ) = 0 -43926119931326:43926119931705 26036:26036 hsa_system_get_major_extension_table(, , , 0x7fff229b0030) = 0 -43926119949705:43926119950201 26036:26036 hsa_executable_symbol_get_info(, 22, 0x7fff229b00a0) = 0 -43926119951140:43926119951476 26036:26036 hsa_system_major_extension_supported(, , , ) = 0 -43926119952280:43926119952629 26036:26036 hsa_system_get_major_extension_table(, , , 0x7fff229b0030) = 0 -43926119958475:43926119958921 26036:26036 hsa_executable_symbol_get_info(, 22, 0x7fff229b00a0) = 0 -43926119959800:43926119960159 26036:26036 hsa_system_major_extension_supported(, , , ) = 0 -43926119960961:43926119961304 26036:26036 hsa_system_get_major_extension_table(, , , 0x7fff229b0030) = 0 -43926119968999:43926119969414 26036:26036 hsa_executable_symbol_get_info(, 22, 0x7fff229b00a0) = 0 -43926119970345:43926119970676 26036:26036 hsa_system_major_extension_supported(, , , ) = 0 -43926119971438:43926119971773 26036:26036 hsa_system_get_major_extension_table(, , , 0x7fff229b0030) = 0 -43926119974799:43926119975207 26036:26036 hsa_executable_symbol_get_info(, 22, 0x7fff229b00a0) = 0 -43926119976106:43926119976442 26036:26036 hsa_system_major_extension_supported(, , , ) = 0 -43926119977237:43926119977575 26036:26036 hsa_system_get_major_extension_table(, , , 0x7fff229b0030) = 0 -43926119979215:43926119979607 26036:26036 hsa_executable_symbol_get_info(, 22, 0x7fff229b00a0) = 0 -43926119984012:43926119984359 26036:26036 hsa_system_major_extension_supported(, , , ) = 0 -43926119985126:43926119985476 26036:26036 hsa_system_get_major_extension_table(, , , 0x7fff229b0030) = 0 -43926120646379:43926120646962 26036:26036 hsa_executable_symbol_get_info(, 22, 0x7fff229b00a0) = 0 -43926120647949:43926120648309 26036:26036 hsa_system_major_extension_supported(, , , ) = 0 -43926120649101:43926120649454 26036:26036 hsa_system_get_major_extension_table(, , , 0x7fff229b0030) = 0 -43926120652137:43926120652548 26036:26036 hsa_executable_symbol_get_info(, 22, 0x7fff229b00a0) = 0 -43926120653398:43926120653737 26036:26036 hsa_system_major_extension_supported(, , , ) = 0 -43926120654486:43926120654828 26036:26036 hsa_system_get_major_extension_table(, , , 0x7fff229b0030) = 0 -43926120731756:43926120732117 26036:26036 hsa_executable_symbol_get_info(, 22, 0x7fff229b00a0) = 0 -43926120732955:43926120733290 26036:26036 hsa_system_major_extension_supported(, , , ) = 0 -43926120734051:43926120734395 26036:26036 hsa_system_get_major_extension_table(, , , 0x7fff229b0030) = 0 -43926120735729:43926120736074 26036:26036 hsa_executable_symbol_get_info(, 22, 0x7fff229b00a0) = 0 -43926120736917:43926120737275 26036:26036 hsa_system_major_extension_supported(, , , ) = 0 -43926120738035:43926120738374 26036:26036 hsa_system_get_major_extension_table(, , , 0x7fff229b0030) = 0 -43926122597621:43926122598361 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43926122612671:43926122613103 26036:26036 hsa_system_get_info(3, 0x7fff229afe38) = 0 -43926122642932:43926124596934 26036:26036 hsa_queue_create(, , , 1, 0, , , ) = 0 -43926124605232:43926124605992 26036:26036 hsa_amd_profiling_set_profiler_enabled(, 1) = 0 -43926124613521:43926124614105 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 0 -43926124616021:43926124616547 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 0 -43926124617960:43926124620629 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 -43926124622218:43926124622627 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43926124624978:43926124626940 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092e512a0) = 0 -43926124628959:43926124629943 26036:26036 hsa_signal_store_relaxed(, 0) = void -43926124635167:43926124635880 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43926124661248:43926124661942 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926124678596:43926124680310 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 -43926124681151:43926124681555 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 1 -43926124682363:43926124682732 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 0 -43926124686397:43926124686761 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43926124687663:43926124688868 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092e5a060) = 0 -43926124689701:43926124690126 26036:26036 hsa_signal_store_relaxed(, 1) = void -43926124692306:43926125149465 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926125152470:43926125154605 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 -43926125149732:43926125154546 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926125155731:43926125156344 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43926125156447:43926125156912 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926125157545:43926125158272 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 -43926125159065:43926125159569 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43926125160655:43926125161131 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43926125163452:43926125164082 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926125162136:43926125164318 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 -43926125178005:43926125178635 26036:26041 hsa_signal_destroy() = 0 -43926125180934:43926125181404 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926125182170:43926125182530 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926125165148:43926125580653 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43926126125950:43926126126687 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926140557058:43926140558327 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926140562907:43926140563997 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926140566738:43926140570091 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 -43926140571342:43926140571990 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43926140573091:43926140573775 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 -43926140574564:43926140575034 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43926141027628:43926141028393 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43926141029882:43926141031695 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 -43926141032484:43926141405163 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43926141406414:43926141407043 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926141426883:43926141427521 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43926141457879:43926141458654 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 2 -43926141459632:43926141460102 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 2 -43926141461140:43926141462551 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 -43926141463528:43926141463932 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43926141465224:43926141469189 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f210d8c4370) = 0 -43926141470147:43926141470816 26036:26036 hsa_signal_store_relaxed(, 2) = void -43926141472541:43926141473174 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43926141479211:43926141479843 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926141482958:43926141485366 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 -43926141486198:43926141486576 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 3 -43926141487338:43926141487671 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 2 -43926141488667:43926141489013 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43926141489861:43926141491735 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092e74290) = 0 -43926141492490:43926141492942 26036:26036 hsa_signal_store_relaxed(, 3) = void -43926141493901:43926141964865 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926141965956:43926141966365 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926141967596:43926141968559 26036:26036 hsa_signal_destroy() = 0 -43926141969817:43926141971077 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 -43926141972064:43926141972507 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43926141973255:43926141973715 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 -43926141974513:43926141974910 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43926141989894:43926141990265 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43926141991066:43926141991726 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 -43926142045671:43926142049042 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926142050786:43926142051162 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926142053927:43926142054488 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926142056226:43926142056676 26036:26041 hsa_signal_destroy() = 0 -43926142059310:43926142059740 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926142064811:43926142065264 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926141992511:43926142413478 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43926142876120:43926142876900 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926157271526:43926157272571 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926157276884:43926157277942 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926157279569:43926157282491 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 -43926157283629:43926157284385 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43926157285348:43926157285949 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 -43926157286844:43926157287312 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43926157740303:43926157741162 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43926157742379:43926157744050 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 -43926157745017:43926158117402 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43926158118632:43926158119266 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926158134004:43926158134649 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43926158153984:43926158154626 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 4 -43926158155587:43926158155988 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 4 -43926158157031:43926158158393 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 -43926158159558:43926158160025 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43926158161267:43926158174987 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092e81680) = 0 -43926158176162:43926158176736 26036:26036 hsa_signal_store_relaxed(, 4) = void -43926158178353:43926158178995 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43926158195499:43926158196162 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926158198732:43926158208578 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 -43926158209481:43926158209862 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 5 -43926158210633:43926158210978 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 4 -43926158211989:43926158212310 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43926158213182:43926158214840 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092e80600) = 0 -43926158215795:43926158216242 26036:26036 hsa_signal_store_relaxed(, 5) = void -43926158221086:43926158681249 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926158682240:43926158682641 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926158683922:43926158684575 26036:26036 hsa_signal_destroy() = 0 -43926158685708:43926158686742 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 -43926158687574:43926158687962 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43926158688710:43926158689210 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 -43926158690004:43926158690350 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43926158691199:43926158691540 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43926158706657:43926158707317 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 -43926158762226:43926158765471 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926158766910:43926158767285 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926158769943:43926158770497 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926158772261:43926158772708 26036:26041 hsa_signal_destroy() = 0 -43926158774802:43926158775275 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926158776049:43926158776408 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926158708140:43926159129343 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43926159590378:43926159591166 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926173973789:43926173974777 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926173979175:43926173980143 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926173981976:43926173984887 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 -43926173985957:43926173986519 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43926173987431:43926173988031 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 -43926173988932:43926173989410 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43926174443365:43926174444184 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43926174445403:43926174447114 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 -43926174448047:43926174820849 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43926174822072:43926174822711 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926174836266:43926174836921 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43926174863700:43926174864403 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 6 -43926174865449:43926174865863 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 6 -43926174867033:43926174868288 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 -43926174878212:43926174878753 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43926174879935:43926174883804 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092e8b5e0) = 0 -43926174884608:43926174885177 26036:26036 hsa_signal_store_relaxed(, 6) = void -43926174886791:43926174897437 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43926174904026:43926174904685 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926174916413:43926174916999 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 -43926174917853:43926174918233 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 7 -43926174919039:43926174919374 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 6 -43926174920353:43926174920698 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43926174921539:43926174923156 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092e8f040) = 0 -43926174923916:43926174924363 26036:26036 hsa_signal_store_relaxed(, 7) = void -43926174925397:43926175393801 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926175394860:43926175395266 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926175396433:43926175397128 26036:26036 hsa_signal_destroy() = 0 -43926175398252:43926175399216 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 -43926175400046:43926175400432 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43926175401197:43926175401635 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 -43926175402537:43926175402883 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43926175403732:43926175418079 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43926175418981:43926175419627 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 -43926175475006:43926175478199 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926175479770:43926175480150 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926175482934:43926175483490 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926175485258:43926175485708 26036:26041 hsa_signal_destroy() = 0 -43926175487814:43926175488241 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926175489013:43926175489377 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926175420431:43926175841900 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43926176311609:43926176312398 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926190690419:43926190691482 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926190695509:43926190696379 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926190698243:43926190701055 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 -43926190702246:43926190702828 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43926190703702:43926190704359 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 -43926190705237:43926190705644 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43926191158250:43926191158969 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43926191160152:43926191161709 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 -43926191162680:43926191535321 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43926191536570:43926191537207 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926191551520:43926191552175 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43926191575468:43926191576192 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 8 -43926191577145:43926191577547 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 8 -43926191578605:43926191579731 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 -43926191580651:43926191581123 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43926191582286:43926191595092 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092e947e0) = 0 -43926191596111:43926191596683 26036:26036 hsa_signal_store_relaxed(, 8) = void -43926191598300:43926191598943 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43926191618866:43926191619542 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926191631231:43926191631821 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 -43926191632693:43926191633086 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 9 -43926191633914:43926191634252 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 8 -43926191635175:43926191635498 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43926191636366:43926191637975 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092e8f8e0) = 0 -43926191638769:43926191639229 26036:26036 hsa_signal_store_relaxed(, 9) = void -43926191640218:43926192103376 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926192105472:43926192105868 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926192107057:43926192107700 26036:26036 hsa_signal_destroy() = 0 -43926192108819:43926192109798 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 -43926192110669:43926192111065 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43926192111832:43926192112273 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 -43926192113013:43926192113358 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43926192128482:43926192128869 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43926192129663:43926192130371 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 -43926192185291:43926192188474 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926192190021:43926192190394 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926192193269:43926192193843 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926192195649:43926192196111 26036:26041 hsa_signal_destroy() = 0 -43926192198342:43926192198779 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926192199553:43926192199909 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926192131153:43926192552081 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43926193014215:43926193014954 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926207393040:43926207394079 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926207398259:43926207399679 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926207401665:43926207404242 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 -43926207405430:43926207405988 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43926207406902:43926207407552 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 -43926207408491:43926207408980 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43926207861731:43926207862446 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43926207863606:43926207865023 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 -43926207865891:43926208239123 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43926208240520:43926208241158 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926208254301:43926208254939 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43926208263022:43926208273903 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 10 -43926208274879:43926208275280 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 10 -43926208280066:43926208281414 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 -43926208282333:43926208282838 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43926208293023:43926208296732 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092e95d70) = 0 -43926208297650:43926208298224 26036:26036 hsa_signal_store_relaxed(, 10) = void -43926208299717:43926208300350 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43926208316977:43926208317626 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926208320409:43926208329801 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 -43926208330644:43926208331025 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 11 -43926208331843:43926208332181 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 10 -43926208333175:43926208333501 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43926208334334:43926208335894 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092e98c50) = 0 -43926208336644:43926208337031 26036:26036 hsa_signal_store_relaxed(, 11) = void -43926208338028:43926208812497 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926208813372:43926208813760 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926208814899:43926208815529 26036:26036 hsa_signal_destroy() = 0 -43926208816694:43926208817581 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 -43926208818438:43926208818849 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43926208819651:43926208820071 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 -43926208820865:43926208821206 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43926208822062:43926208822403 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43926208837587:43926208838226 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 -43926208893565:43926208896879 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926208898367:43926208898750 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926208901567:43926208902130 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926208903955:43926208904420 26036:26041 hsa_signal_destroy() = 0 -43926208906554:43926208906981 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926208907756:43926208908115 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926208839040:43926209260275 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43926209721575:43926209722359 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926224098488:43926224099489 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926224103570:43926224104761 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926224106390:43926224108571 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 -43926224109669:43926224110491 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43926224111366:43926224112013 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 -43926224112922:43926224113337 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43926224562670:43926224563550 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43926224564740:43926224566255 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 -43926224567416:43926224955554 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43926224956772:43926224957420 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926224971531:43926224972176 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43926224994744:43926224995393 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 12 -43926224996401:43926224996805 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 12 -43926224997823:43926224999129 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 -43926225000046:43926225000617 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43926225001838:43926225014398 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092ea23e0) = 0 -43926225015409:43926225016074 26036:26036 hsa_signal_store_relaxed(, 12) = void -43926225017646:43926225018291 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43926225034199:43926225034857 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926225037648:43926225038273 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 -43926225039169:43926225039550 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 13 -43926225049584:43926225049933 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 12 -43926225050897:43926225051219 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43926225052080:43926225053698 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092ead4f0) = 0 -43926225054494:43926225054948 26036:26036 hsa_signal_store_relaxed(, 13) = void -43926225055964:43926226900981 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926226902116:43926226902534 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926226903730:43926226904670 26036:26036 hsa_signal_destroy() = 0 -43926226909301:43926226919068 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 -43926226920017:43926226920456 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43926226921200:43926226921630 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 -43926226922421:43926226922775 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43926226923630:43926226923980 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43926226924740:43926226925363 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 -43926226957685:43926226960964 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926226962472:43926226962842 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926226976019:43926226976602 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926226978441:43926226978898 26036:26041 hsa_signal_destroy() = 0 -43926226981091:43926226981620 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926226982413:43926226982782 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926226926122:43926227361433 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43926227822602:43926227823346 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926242197831:43926242198833 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926242203066:43926242204189 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926242206291:43926242208557 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 -43926242209647:43926242210247 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43926242211090:43926242211867 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 -43926242212757:43926242213152 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43926242662919:43926242663658 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43926242664794:43926242666377 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 -43926242667500:43926243055043 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43926243056221:43926243056856 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926243070669:43926243071332 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43926243094508:43926243095226 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 14 -43926243096284:43926243096681 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 14 -43926243097720:43926243099065 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 -43926243113414:43926243113934 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43926243115110:43926243119016 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092ea6db0) = 0 -43926243120172:43926243120902 26036:26036 hsa_signal_store_relaxed(, 14) = void -43926243122405:43926243123045 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43926243139798:43926243140455 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926243152500:43926243153100 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 -43926243153922:43926243154269 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 15 -43926243155070:43926243155413 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 14 -43926243156397:43926243156721 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43926243157548:43926243159106 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092eaf290) = 0 -43926243159865:43926243160255 26036:26036 hsa_signal_store_relaxed(, 15) = void -43926243161289:43926245007204 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926245008229:43926245008632 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926245009797:43926245010448 26036:26036 hsa_signal_destroy() = 0 -43926245011605:43926245012769 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 -43926245013713:43926245014119 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43926245014904:43926245024442 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 -43926245025323:43926245025684 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43926245026542:43926245026893 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43926245027662:43926245028274 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 -43926245063378:43926245066701 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926245068108:43926245068480 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926245081621:43926245082211 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926245084028:43926245084492 26036:26041 hsa_signal_destroy() = 0 -43926245086700:43926245087261 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926245088056:43926245088425 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926245029036:43926245459471 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43926245919436:43926245920171 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926260296923:43926260298076 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926260306478:43926260308133 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926260309820:43926260311929 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 -43926260313548:43926260314160 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43926260315083:43926260315697 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 -43926260316551:43926260316962 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43926260763851:43926260764562 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43926260765761:43926260767674 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 -43926260768514:43926261156726 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43926261157870:43926261158502 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926261172655:43926261173306 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43926261182139:43926261182853 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 16 -43926261197193:43926261197606 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 16 -43926261198608:43926261199903 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 -43926261200829:43926261201390 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43926261202596:43926261215153 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092eb0f00) = 0 -43926261216171:43926261216745 26036:26036 hsa_signal_store_relaxed(, 16) = void -43926261218343:43926261218982 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43926261234729:43926261235390 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926261238405:43926261239000 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 -43926261239843:43926261240243 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 17 -43926261241087:43926261241436 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 16 -43926261251538:43926261251885 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43926261252718:43926261254916 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092eb4c60) = 0 -43926261255686:43926261256140 26036:26036 hsa_signal_store_relaxed(, 17) = void -43926261257147:43926263104360 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926263105381:43926263105799 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926263107010:43926263107771 26036:26036 hsa_signal_destroy() = 0 -43926263109024:43926263109813 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 -43926263121400:43926263121846 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43926263122636:43926263123090 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 -43926263123886:43926263124236 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43926263125087:43926263125438 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43926263126198:43926263126823 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 -43926263160479:43926263163607 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926263165112:43926263165489 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926263178737:43926263179328 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926263181178:43926263181649 26036:26041 hsa_signal_destroy() = 0 -43926263183953:43926263184414 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926263185208:43926263185576 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926263127583:43926263563954 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43926264029702:43926264030430 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926278408082:43926278409201 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926278413288:43926278414585 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926278416525:43926278419168 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 -43926278420247:43926278420932 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43926278421758:43926278422422 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 -43926278423380:43926278423844 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43926278877072:43926278877724 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43926278879090:43926278880631 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 -43926278881488:43926279270698 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43926279271921:43926279272559 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926279285886:43926279286537 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43926279309983:43926279310695 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 18 -43926279311739:43926279312143 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 18 -43926279313260:43926279314553 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 -43926279315725:43926279316247 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43926279331806:43926279335588 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092eba4b0) = 0 -43926279336480:43926279337050 26036:26036 hsa_signal_store_relaxed(, 18) = void -43926279338649:43926279349222 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43926279355619:43926279356280 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926279368149:43926279368743 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 -43926279369596:43926279369977 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 19 -43926279370776:43926279371118 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 18 -43926279372089:43926279372421 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43926279373325:43926279374897 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092ebcb90) = 0 -43926279375667:43926279376118 26036:26036 hsa_signal_store_relaxed(, 19) = void -43926279377113:43926281234537 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926281235626:43926281236026 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926281237203:43926281237864 26036:26036 hsa_signal_destroy() = 0 -43926281239059:43926281239992 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 -43926281240930:43926281241342 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43926281242105:43926281251395 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 -43926281252211:43926281252568 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43926281253417:43926281253767 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43926281254529:43926281255158 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 -43926281290381:43926281293551 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926281294969:43926281295343 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926281308169:43926281308767 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926281310601:43926281311079 26036:26041 hsa_signal_destroy() = 0 -43926281313288:43926281313787 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926281314571:43926281314936 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926281255917:43926281686574 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43926282147734:43926282148464 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926296535197:43926296536324 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926296540513:43926296541526 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926296548400:43926296550693 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 -43926296551914:43926296552571 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43926296553400:43926296554084 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 -43926296554956:43926296555429 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43926297025537:43926297026202 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43926297027340:43926297028978 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 -43926297029890:43926297417967 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43926297419195:43926297419844 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926297434727:43926297435384 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43926297454287:43926297454927 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 20 -43926297455950:43926297456356 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 20 -43926297457421:43926297458649 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 -43926297459607:43926297460077 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43926297461260:43926297473804 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092ec5b50) = 0 -43926297474761:43926297475332 26036:26036 hsa_signal_store_relaxed(, 20) = void -43926297476833:43926297477471 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43926297493497:43926297494162 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926297496887:43926297497478 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 -43926297507182:43926297507631 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 21 -43926297508451:43926297508796 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 20 -43926297509776:43926297510100 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43926297510933:43926297512564 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092ecbf10) = 0 -43926297513324:43926297513758 26036:26036 hsa_signal_store_relaxed(, 21) = void -43926297514758:43926299359526 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926299360566:43926299360967 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926299362192:43926299362842 26036:26036 hsa_signal_destroy() = 0 -43926299363972:43926299364812 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 -43926299365710:43926299366152 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43926299376913:43926299377379 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 -43926299378195:43926299378551 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43926299379400:43926299379748 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43926299380505:43926299381130 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 -43926299415613:43926299418852 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926299420293:43926299420666 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926299433900:43926299434471 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926299436260:43926299436728 26036:26041 hsa_signal_destroy() = 0 -43926299438989:43926299439434 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926299440234:43926299440610 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926299381900:43926299811868 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43926300278844:43926300279604 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926314657311:43926314658344 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926314662756:43926314663833 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926314665806:43926314667838 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 -43926314668988:43926314669614 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43926314670440:43926314671102 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 -43926314671988:43926314672465 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43926315145863:43926315146535 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43926315147826:43926315149374 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 -43926315150254:43926315538184 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43926315539478:43926315540117 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926315553539:43926315554210 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43926315572787:43926315573491 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 22 -43926315574449:43926315574847 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 22 -43926315575984:43926315577173 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 -43926315578125:43926315578646 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43926315579845:43926315592948 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092ecc630) = 0 -43926315593935:43926315594591 26036:26036 hsa_signal_store_relaxed(, 22) = void -43926315610464:43926315611150 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43926315617464:43926315618151 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926315629846:43926315630449 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 -43926315631274:43926315631663 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 23 -43926315632464:43926315632805 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 22 -43926315633778:43926315634100 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43926315634993:43926315636600 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092ecf730) = 0 -43926315637361:43926315637746 26036:26036 hsa_signal_store_relaxed(, 23) = void -43926315638736:43926317469722 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926317470701:43926317471110 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926317472243:43926317472891 26036:26036 hsa_signal_destroy() = 0 -43926317474079:43926317474931 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 -43926317475808:43926317476254 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43926317477041:43926317477454 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 -43926317487184:43926317487550 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43926317488409:43926317488757 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43926317489525:43926317490160 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 -43926317526507:43926317529714 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926317531184:43926317531555 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926317544922:43926317545507 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926317547319:43926317547785 26036:26041 hsa_signal_destroy() = 0 -43926317549986:43926317550469 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926317551263:43926317551629 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926317490918:43926317922419 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43926318383851:43926318384594 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926332788391:43926332789359 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926332794125:43926332795145 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926332797074:43926332799676 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 -43926332805501:43926332806153 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43926332806984:43926332807677 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 -43926332808542:43926332808943 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43926333260860:43926333261552 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43926333262714:43926333264710 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 -43926333265796:43926333653993 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43926333655069:43926333655704 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926333671243:43926333671897 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43926333692128:43926333692755 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 24 -43926333693717:43926333694251 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 24 -43926333695504:43926333696922 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 -43926333706917:43926333707347 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43926333708630:43926333712781 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092ec6c70) = 0 -43926333713694:43926333714263 26036:26036 hsa_signal_store_relaxed(, 24) = void -43926333715908:43926333726788 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43926333733185:43926333733839 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926333745786:43926333746412 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 -43926333747241:43926333747571 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 25 -43926333748318:43926333748657 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 24 -43926333749615:43926333749944 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43926333750795:43926333752618 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092ed27a0) = 0 -43926333753376:43926333753821 26036:26036 hsa_signal_store_relaxed(, 25) = void -43926333754759:43926335601143 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926335602179:43926335602586 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926335603789:43926335604469 26036:26036 hsa_signal_destroy() = 0 -43926335605786:43926335606629 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 -43926335607421:43926335607846 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43926335608619:43926335609057 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 -43926335618626:43926335618996 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43926335621414:43926335621752 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43926335622515:43926335623161 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 -43926335657465:43926335660710 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926335662161:43926335662533 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926335675808:43926335676384 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926335678197:43926335678655 26036:26041 hsa_signal_destroy() = 0 -43926335680901:43926335681378 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926335682172:43926335682540 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926335623925:43926336052980 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43926336513282:43926336514028 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926350892266:43926350893209 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926350897489:43926350898831 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926350900693:43926350903011 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 -43926350904114:43926350904705 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43926350905544:43926350906189 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 -43926350907133:43926350907546 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43926351360749:43926351361606 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43926351362829:43926351364330 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 -43926351365222:43926351753320 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43926351754595:43926351755243 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926351768846:43926351769511 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43926351792711:43926351793490 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 26 -43926351794416:43926351794817 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 26 -43926351795916:43926351797199 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 -43926351798162:43926351798681 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43926351800041:43926351812869 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092ed5440) = 0 -43926351813837:43926351814406 26036:26036 hsa_signal_store_relaxed(, 26) = void -43926351815950:43926351816607 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43926351837195:43926351837847 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926351849580:43926351850175 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 -43926351850990:43926351851322 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 27 -43926351852119:43926351852452 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 26 -43926351853430:43926351853755 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43926351854590:43926351856209 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092ee4440) = 0 -43926351856966:43926351857415 26036:26036 hsa_signal_store_relaxed(, 27) = void -43926351858404:43926353697266 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926353698457:43926353698865 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926353700038:43926353700742 26036:26036 hsa_signal_destroy() = 0 -43926353702004:43926353703020 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 -43926353703924:43926353704347 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43926353705119:43926353705578 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 -43926353715155:43926353715524 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43926353716330:43926353716679 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43926353717445:43926353718154 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 -43926353753394:43926353756591 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926353758077:43926353758447 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926353771922:43926353772519 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926353774324:43926353774803 26036:26041 hsa_signal_destroy() = 0 -43926353777042:43926353777564 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926353778371:43926353778738 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926353718916:43926354148922 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43926354609463:43926354610212 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926368995864:43926368997044 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926369001114:43926369002285 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926369004156:43926369006311 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 -43926369007678:43926369008255 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43926369009196:43926369009841 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 -43926369014687:43926369015092 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43926369485916:43926369486627 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43926369487898:43926369489457 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 -43926369490406:43926369877863 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43926369879096:43926369879739 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926369893368:43926369894033 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43926369913054:43926369913977 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 28 -43926369914946:43926369915347 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 28 -43926369916406:43926369917687 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 -43926369918624:43926369919089 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43926369920563:43926369933235 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092ee9d10) = 0 -43926369934178:43926369934754 26036:26036 hsa_signal_store_relaxed(, 28) = void -43926369936258:43926369936898 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43926369953240:43926369953895 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926369956744:43926369957340 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 -43926369958264:43926369958614 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 29 -43926369968582:43926369968941 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 28 -43926369969876:43926369970196 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43926369971024:43926369971515 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092ee8b50) = 0 -43926369972269:43926369972663 26036:26036 hsa_signal_store_relaxed(, 29) = void -43926369973659:43926371814915 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926371815936:43926371816338 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926371817516:43926371818244 26036:26036 hsa_signal_destroy() = 0 -43926371819410:43926371820248 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 -43926371821099:43926371821540 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43926371822314:43926371822759 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 -43926371832666:43926371833080 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43926371833987:43926371834340 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43926371836935:43926371837630 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 -43926371871358:43926371874573 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926371876002:43926371876383 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926371889695:43926371890279 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926371892100:43926371892573 26036:26041 hsa_signal_destroy() = 0 -43926371894788:43926371895258 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926371896043:43926371896417 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926371838412:43926372274457 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43926372736801:43926372737535 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926387112726:43926387113779 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926387117875:43926387119056 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926387121116:43926387123778 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 -43926387125066:43926387125663 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43926387126484:43926387127107 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 -43926387127997:43926387128401 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43926387579750:43926387580589 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43926387581785:43926387583313 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 -43926387584167:43926387972260 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43926387973561:43926387974195 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926387987430:43926387988079 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43926388015523:43926388016421 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 30 -43926388017443:43926388017927 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 30 -43926388019048:43926388029106 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 -43926388030083:43926388030545 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43926388031834:43926388035636 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092eeec50) = 0 -43926388036532:43926388037097 26036:26036 hsa_signal_store_relaxed(, 30) = void -43926388038623:43926388039264 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43926388068412:43926388069048 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926388073179:43926388073764 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 -43926388074798:43926388075146 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 31 -43926388075949:43926388076285 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 30 -43926388077254:43926388077577 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43926388078414:43926388080049 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092ef6d10) = 0 -43926388080814:43926388081208 26036:26036 hsa_signal_store_relaxed(, 31) = void -43926388082259:43926389921201 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926389922221:43926389922616 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926389923808:43926389924644 26036:26036 hsa_signal_destroy() = 0 -43926389925850:43926389926719 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 -43926389927576:43926389927989 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43926389928751:43926389938380 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 -43926389939211:43926389939566 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43926389940407:43926389940755 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43926389941526:43926389942216 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 -43926389977094:43926389980334 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926389981756:43926389982128 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926389995441:43926389996024 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926389997830:43926389998302 26036:26041 hsa_signal_destroy() = 0 -43926390000480:43926390000933 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926390001728:43926390002092 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926389942977:43926390373314 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43926390834152:43926390834910 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926405214280:43926405215351 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926405219393:43926405220625 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926405222231:43926405224291 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 -43926405225321:43926405225912 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43926405226810:43926405227484 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 -43926405228540:43926405228934 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43926405684772:43926405685483 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43926405686767:43926405688294 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 -43926405689166:43926406078061 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43926406079338:43926406079969 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926406093941:43926406094587 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43926406117433:43926406118229 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 32 -43926406119232:43926406119634 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 32 -43926406120889:43926406122255 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 -43926406123189:43926406123612 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43926406124802:43926406137804 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092ef1d40) = 0 -43926406138767:43926406139355 26036:26036 hsa_signal_store_relaxed(, 32) = void -43926406140826:43926406141465 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43926406157673:43926406158331 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926406161061:43926406161706 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 -43926406162582:43926406162945 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 33 -43926406172649:43926406173001 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 32 -43926406173936:43926406174262 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43926406175105:43926406175608 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092ef8d40) = 0 -43926406176387:43926406176839 26036:26036 hsa_signal_store_relaxed(, 33) = void -43926406177835:43926408021786 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926408022854:43926408023259 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926408024383:43926408025044 26036:26036 hsa_signal_destroy() = 0 -43926408026259:43926408027266 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 -43926408028186:43926408028584 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43926408029354:43926408029792 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 -43926408039405:43926408039770 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43926408040672:43926408041020 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43926408041811:43926408042656 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 -43926408078669:43926408081981 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926408083415:43926408083791 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926408096844:43926408097440 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926408099255:43926408099728 26036:26041 hsa_signal_destroy() = 0 -43926408101950:43926408102427 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926408103213:43926408103588 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926408045329:43926408473358 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43926408934950:43926408935716 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926423310053:43926423311270 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926423315579:43926423317092 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926423319040:43926423321134 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 -43926423322439:43926423323006 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43926423323831:43926423324453 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 -43926423325361:43926423325845 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43926423778468:43926423779178 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43926423780465:43926423781948 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 -43926423782810:43926424172004 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43926424173331:43926424173973 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926424192220:43926424192861 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43926424211397:43926424212053 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 34 -43926424213027:43926424213428 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 34 -43926424214443:43926424225283 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 -43926424226259:43926424226672 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43926424228124:43926424231926 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092efb730) = 0 -43926424232826:43926424233394 26036:26036 hsa_signal_store_relaxed(, 34) = void -43926424234939:43926424235575 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43926424252104:43926424252760 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926424264766:43926424265381 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 -43926424266246:43926424266572 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 35 -43926424268564:43926424268900 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 34 -43926424269869:43926424270194 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43926424271015:43926424272563 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092efde50) = 0 -43926424273315:43926424273716 26036:26036 hsa_signal_store_relaxed(, 35) = void -43926424274730:43926426124790 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926426125850:43926426126261 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926426127426:43926426128069 26036:26036 hsa_signal_destroy() = 0 -43926426129270:43926426130117 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 -43926426130991:43926426131395 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43926426132170:43926426132601 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 -43926426142523:43926426142937 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43926426143824:43926426144166 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43926426144932:43926426145572 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 -43926426181452:43926426184634 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926426186067:43926426186440 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926426199778:43926426200362 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926426202169:43926426202631 26036:26041 hsa_signal_destroy() = 0 -43926426204819:43926426205332 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926426206128:43926426206492 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926426146327:43926426576035 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43926427039610:43926427040348 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926441430720:43926441431713 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926441435488:43926441436346 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926441438233:43926441441164 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 -43926441442385:43926441443010 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43926441443921:43926441444706 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 -43926441445602:43926441446001 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43926441895700:43926441896458 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43926441901503:43926441903054 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 -43926441903930:43926442292130 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43926442293374:43926442293997 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926442308047:43926442308713 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43926442327186:43926442327780 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 36 -43926442328693:43926442329091 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 36 -43926442330178:43926442331388 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 -43926442332331:43926442332782 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43926442333937:43926442346572 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092f06d10) = 0 -43926442347532:43926442348126 26036:26036 hsa_signal_store_relaxed(, 36) = void -43926442349688:43926442350329 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43926442366597:43926442367245 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926442370357:43926442371025 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 -43926442371906:43926442372247 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 37 -43926442382031:43926442382428 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 36 -43926442383399:43926442383723 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43926442384571:43926442385058 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092f04a40) = 0 -43926442385799:43926442386249 26036:26036 hsa_signal_store_relaxed(, 37) = void -43926442387268:43926444228599 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926444229644:43926444230058 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926444231239:43926444231902 26036:26036 hsa_signal_destroy() = 0 -43926444233151:43926444234045 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 -43926444234905:43926444235352 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43926444236127:43926444236578 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 -43926444246142:43926444246513 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43926444247392:43926444247757 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43926444248524:43926444249171 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 -43926444284834:43926444288166 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926444289583:43926444289956 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926444306314:43926444306912 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926444308785:43926444309241 26036:26041 hsa_signal_destroy() = 0 -43926444311446:43926444311963 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926444312753:43926444313120 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926444249935:43926444680186 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43926445140951:43926445141764 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926459516997:43926459518200 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926459522384:43926459523702 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926459525450:43926459528024 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 -43926459529172:43926459529749 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43926459530626:43926459531337 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 -43926459532193:43926459532589 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43926459985786:43926459986518 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43926459987729:43926459989189 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 -43926459990064:43926460378606 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43926460379814:43926460380445 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926460394065:43926460394727 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43926460418009:43926460418704 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 38 -43926460419703:43926460420098 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 38 -43926460421124:43926460422546 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 -43926460423552:43926460423972 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43926460425473:43926460438634 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092f0e600) = 0 -43926460439676:43926460440252 26036:26036 hsa_signal_store_relaxed(, 38) = void -43926460441780:43926460442437 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43926460458450:43926460459105 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926460461826:43926460462479 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 -43926460463373:43926460472807 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 39 -43926460473735:43926460474076 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 38 -43926460478809:43926460479139 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43926460479978:43926460481639 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092f0d9e0) = 0 -43926460482390:43926460482843 26036:26036 hsa_signal_store_relaxed(, 39) = void -43926460483845:43926462320534 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926462321552:43926462321953 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926462323272:43926462324039 26036:26036 hsa_signal_destroy() = 0 -43926462325295:43926462326073 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 -43926462326941:43926462327384 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43926462328200:43926462328639 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 -43926462338217:43926462338582 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43926462339444:43926462339788 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43926462340551:43926462341165 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 -43926462376853:43926462380024 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926462381427:43926462381795 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926462395177:43926462395774 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926462397620:43926462398093 26036:26041 hsa_signal_destroy() = 0 -43926462400324:43926462400825 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926462401617:43926462401986 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926462341929:43926462772358 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43926463233595:43926463234381 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926477618756:43926477619758 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926477624068:43926477625299 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926477626895:43926477628940 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 -43926477629980:43926477630572 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43926477631610:43926477632264 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 -43926477633165:43926477633788 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43926478083550:43926478084257 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43926478085410:43926478086940 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 -43926478087837:43926478476180 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43926478481221:43926478481868 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926478495838:43926478496496 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43926478519004:43926478519644 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 40 -43926478520619:43926478521033 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 40 -43926478522045:43926478523397 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 -43926478533211:43926478533692 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43926478534852:43926478538540 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092f04640) = 0 -43926478539506:43926478540094 26036:26036 hsa_signal_store_relaxed(, 40) = void -43926478541581:43926478552170 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43926478558453:43926478559110 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926478570788:43926478571527 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 -43926478572348:43926478572724 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 41 -43926478573535:43926478573875 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 40 -43926478574803:43926478575125 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43926478575952:43926478577588 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092f177a0) = 0 -43926478578336:43926478578783 26036:26036 hsa_signal_store_relaxed(, 41) = void -43926478579768:43926480424955 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926480426010:43926480426407 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926480427520:43926480428268 26036:26036 hsa_signal_destroy() = 0 -43926480429594:43926480430433 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 -43926480431306:43926480431765 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43926480432533:43926480432968 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 -43926480442680:43926480443049 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43926480443917:43926480444264 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43926480445028:43926480445671 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 -43926480481696:43926480484960 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926480486346:43926480486720 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926480500139:43926480500724 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926480505729:43926480506187 26036:26041 hsa_signal_destroy() = 0 -43926480508449:43926480508957 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926480509755:43926480510132 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926480446433:43926480876238 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43926481336384:43926481337122 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926495711324:43926495712316 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926495716207:43926495717320 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926495719030:43926495721172 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 -43926495722543:43926495723180 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43926495724034:43926495724662 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 -43926495725558:43926495726025 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43926496184288:43926496184973 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43926496186392:43926496187889 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 -43926496188796:43926496561620 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43926496563046:43926496563677 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926496577807:43926496578480 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43926496600987:43926496601780 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 42 -43926496602765:43926496603177 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 42 -43926496604387:43926496605681 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 -43926496606646:43926496607125 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43926496608347:43926496621227 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092f21540) = 0 -43926496622183:43926496622756 26036:26036 hsa_signal_store_relaxed(, 42) = void -43926496624294:43926496624936 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43926496640825:43926496641469 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926496644012:43926496644636 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 -43926496645531:43926496645933 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 43 -43926496655903:43926496656298 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 42 -43926496657316:43926496657659 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43926496662376:43926496663979 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092ccbe20) = 0 -43926496664737:43926496665185 26036:26036 hsa_signal_store_relaxed(, 43) = void -43926496666204:43926497123153 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926497124101:43926497124515 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926497125728:43926497126389 26036:26036 hsa_signal_destroy() = 0 -43926497127580:43926497128416 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 -43926497129254:43926497129695 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43926497130497:43926497130926 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 -43926497131719:43926497132069 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43926497132943:43926497133292 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43926497148431:43926497149084 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 -43926497204312:43926497207564 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926497208994:43926497209368 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926497212388:43926497212950 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926497214751:43926497215210 26036:26041 hsa_signal_destroy() = 0 -43926497217323:43926497217777 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926497218548:43926497218903 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926497149887:43926497571176 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43926498031533:43926498032268 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926512420275:43926512421317 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926512425367:43926512426489 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926512428100:43926512430182 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 -43926512431361:43926512432033 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43926512432914:43926512433559 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 -43926512434447:43926512434856 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43926512889367:43926512890079 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43926512891215:43926512893052 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 -43926512893950:43926513266581 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43926513267855:43926513268482 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926513286138:43926513286794 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43926513309426:43926513310453 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 44 -43926513311381:43926513311791 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 44 -43926513312808:43926513314336 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 -43926513324228:43926513324707 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43926513325921:43926513329703 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092cc5950) = 0 -43926513330622:43926513331189 26036:26036 hsa_signal_store_relaxed(, 44) = void -43926513332694:43926513333331 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43926513349529:43926513350190 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926513362268:43926513362929 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 -43926513363752:43926513364123 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 45 -43926513364923:43926513365261 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 44 -43926513366200:43926513366521 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43926513367351:43926513368912 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092cccd00) = 0 -43926513369665:43926513370116 26036:26036 hsa_signal_store_relaxed(, 45) = void -43926513371107:43926513834159 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926513835110:43926513835504 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926513836573:43926513837195 26036:26036 hsa_signal_destroy() = 0 -43926513838393:43926513839222 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 -43926513840212:43926513840603 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43926513841349:43926513841788 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 -43926513842578:43926513842927 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43926513843778:43926513844108 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43926513859183:43926513859823 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 -43926513915890:43926513919147 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926513920648:43926513921030 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926513924134:43926513924691 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926513926467:43926513926915 26036:26041 hsa_signal_destroy() = 0 -43926513932179:43926513932704 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926513933476:43926513933834 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926513860649:43926514281392 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43926514742452:43926514743189 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926529130075:43926529131130 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926529135455:43926529136715 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926529138344:43926529140443 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 -43926529141808:43926529142801 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43926529143630:43926529144269 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 -43926529145173:43926529145656 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43926529599985:43926529600795 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43926529602043:43926529603662 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 -43926529604527:43926529977177 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43926529978423:43926529979052 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926529992488:43926529993143 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43926530001536:43926530012646 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 46 -43926530013688:43926530014089 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 46 -43926530015381:43926530016619 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 -43926530017581:43926530018008 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43926530019224:43926530031893 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092cd4c20) = 0 -43926530032844:43926530033416 26036:26036 hsa_signal_store_relaxed(, 46) = void -43926530035012:43926530035654 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43926530051638:43926530052288 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926530054972:43926530055731 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 -43926530056576:43926530056940 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 47 -43926530057817:43926530058171 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 46 -43926530068204:43926530068556 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43926530069432:43926530069860 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092cdd6e0) = 0 -43926530070610:43926530071005 26036:26036 hsa_signal_store_relaxed(, 47) = void -43926530075834:43926530527590 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926530528628:43926530529120 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926530530290:43926530530916 26036:26036 hsa_signal_destroy() = 0 -43926530532077:43926530532968 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 -43926530534004:43926530534444 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43926530535190:43926530535633 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 -43926530536430:43926530536778 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43926530537641:43926530551966 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43926530552858:43926530553580 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 -43926530608905:43926530612277 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926530613740:43926530614108 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926530617108:43926530617655 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926530619467:43926530619873 26036:26041 hsa_signal_destroy() = 0 -43926530622027:43926530622473 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926530623245:43926530623600 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926530554378:43926530976154 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43926531437738:43926531438476 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926545821584:43926545822572 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926545826664:43926545827878 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926545829581:43926545831716 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 -43926545833184:43926545833773 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43926545834687:43926545835306 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 -43926545836223:43926545836623 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43926546290968:43926546291714 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43926546292890:43926546294547 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 -43926546295591:43926546668686 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43926546669863:43926546670497 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926546684060:43926546684710 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43926546711364:43926546712141 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 48 -43926546713368:43926546713773 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 48 -43926546715046:43926546716406 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 -43926546726239:43926546726715 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43926546727876:43926546731698 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092cdfc30) = 0 -43926546732611:43926546733209 26036:26036 hsa_signal_store_relaxed(, 48) = void -43926546734733:43926546745342 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43926546751550:43926546752201 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926546764017:43926546764831 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 -43926546765672:43926546766050 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 49 -43926546766850:43926546767191 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 48 -43926546768139:43926546768460 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43926546769288:43926546770813 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092943d40) = 0 -43926546771565:43926546772015 26036:26036 hsa_signal_store_relaxed(, 49) = void -43926546773033:43926547245006 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926547246024:43926547246417 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926547247539:43926547248176 26036:26036 hsa_signal_destroy() = 0 -43926547249276:43926547250068 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 -43926547250907:43926547251300 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43926547252053:43926547252478 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 -43926547253269:43926547253620 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43926547254473:43926547254811 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43926547269711:43926547270352 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 -43926547325566:43926547328882 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926547330392:43926547330775 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926547333900:43926547334457 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926547336269:43926547336686 26036:26041 hsa_signal_destroy() = 0 -43926547338812:43926547339237 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926547340011:43926547340370 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926547271167:43926547692392 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43926548158304:43926548159033 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926562538511:43926562539556 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926562543753:43926562544954 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926562546890:43926562549950 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 -43926562551003:43926562551591 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43926562552415:43926562553038 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 -43926562553929:43926562554330 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43926563006919:43926563007763 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43926563009187:43926563010704 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 -43926563011571:43926563384197 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43926563385431:43926563386062 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926563399109:43926563399766 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43926563407549:43926563423029 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 50 -43926563423973:43926563424376 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 50 -43926563425428:43926563426630 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 -43926563427585:43926563428019 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43926563429224:43926563442299 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f20929489f0) = 0 -43926563443245:43926563443818 26036:26036 hsa_signal_store_relaxed(, 50) = void -43926563445400:43926563446056 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43926563461811:43926563462454 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926563465496:43926563466206 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 -43926563467048:43926563467398 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 51 -43926563468265:43926563468614 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 50 -43926563478786:43926563479124 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43926563479988:43926563480422 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092945ee0) = 0 -43926563481182:43926563481649 26036:26036 hsa_signal_store_relaxed(, 51) = void -43926563482681:43926563952448 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926563957912:43926563958326 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926563959510:43926563960141 26036:26036 hsa_signal_destroy() = 0 -43926563961288:43926563962126 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 -43926563976982:43926563977496 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43926563978312:43926563978777 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 -43926563979594:43926563979952 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43926563980817:43926563981181 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43926563981954:43926563982617 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 -43926564034023:43926564037389 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926564038913:43926564039297 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926564042278:43926564042835 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926564044605:43926564045062 26036:26041 hsa_signal_destroy() = 0 -43926564047197:43926564047636 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926564048414:43926564048776 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926563983414:43926564404843 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43926564866476:43926564867218 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926579242518:43926579243457 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926579247490:43926579248664 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926579250442:43926579252951 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 -43926579254012:43926579254627 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43926579255503:43926579256086 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 -43926579256975:43926579257389 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43926579707657:43926579708368 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43926579709601:43926579711038 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 -43926579712179:43926580084743 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43926580085977:43926580086615 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926580104645:43926580105309 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43926580123787:43926580124416 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 52 -43926580125508:43926580125912 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 52 -43926580137063:43926580138336 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 -43926580139325:43926580139792 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43926580140949:43926580144820 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f20929547d0) = 0 -43926580145738:43926580146328 26036:26036 hsa_signal_store_relaxed(, 52) = void -43926580147746:43926580148382 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43926580165179:43926580165840 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926580177664:43926580178447 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 -43926580179271:43926580179607 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 53 -43926580180411:43926580180752 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 52 -43926580181692:43926580182017 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43926580182837:43926580184367 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092950190) = 0 -43926580185117:43926580185504 26036:26036 hsa_signal_store_relaxed(, 53) = void -43926580186492:43926580655351 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926580656285:43926580656683 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926580657804:43926580658449 26036:26036 hsa_signal_destroy() = 0 -43926580659681:43926580660563 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 -43926580661407:43926580661802 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43926580662549:43926580662979 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 -43926580663783:43926580664134 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43926580664984:43926580665314 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43926580680171:43926580680878 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 -43926580736670:43926580739899 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926580741328:43926580741714 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926580744824:43926580745386 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926580747155:43926580747617 26036:26041 hsa_signal_destroy() = 0 -43926580749763:43926580750204 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926580750980:43926580751338 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926580681704:43926581102546 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43926581564002:43926581564791 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926595939665:43926595940713 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926595945356:43926595946681 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926595948614:43926595950584 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 -43926595951593:43926595952511 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43926595953337:43926595953984 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 -43926595954894:43926595955476 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43926596441094:43926596441996 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43926596443289:43926596445155 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 -43926596446084:43926596818719 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43926596819893:43926596820536 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926596833862:43926596834519 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43926596857534:43926596858170 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 54 -43926596859089:43926596859573 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 54 -43926596860881:43926596862039 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 -43926596863164:43926596863635 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43926596864915:43926596877694 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f209295acb0) = 0 -43926596878626:43926596879200 26036:26036 hsa_signal_store_relaxed(, 54) = void -43926596880528:43926596881167 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43926596897744:43926596898394 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926596901251:43926596902022 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 -43926596902860:43926596912037 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 55 -43926596912954:43926596913292 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 54 -43926596914335:43926596914657 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43926596915679:43926596917209 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092959cd0) = 0 -43926596917962:43926596918410 26036:26036 hsa_signal_store_relaxed(, 55) = void -43926596919417:43926597378625 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926597379561:43926597379982 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926597386610:43926597387342 26036:26036 hsa_signal_destroy() = 0 -43926597388629:43926597403963 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 -43926597404877:43926597405280 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43926597406046:43926597406480 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 -43926597407293:43926597407649 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43926597408531:43926597408892 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43926597409673:43926597410305 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 -43926597459619:43926597462979 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926597464421:43926597464795 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926597467584:43926597468143 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926597469969:43926597470398 26036:26041 hsa_signal_destroy() = 0 -43926597472539:43926597472997 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926597473776:43926597474136 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926597411081:43926597833349 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43926598295209:43926598296030 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926612677020:43926612677948 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926612681800:43926612683023 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926612684592:43926612687270 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 -43926612688400:43926612688990 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43926612689865:43926612690515 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 -43926612691408:43926612691815 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43926613143309:43926613144160 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43926613145603:43926613147345 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 -43926613148420:43926613520759 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43926613522053:43926613522682 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926613536098:43926613536751 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43926613555534:43926613556146 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 56 -43926613557170:43926613557571 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 56 -43926613558597:43926613559955 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 -43926613573795:43926613574273 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43926613575462:43926613579233 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f209296b900) = 0 -43926613580149:43926613580725 26036:26036 hsa_signal_store_relaxed(, 56) = void -43926613582220:43926613592913 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43926613599267:43926613599930 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926613611862:43926613612691 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 -43926613613534:43926613613874 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 57 -43926613614676:43926613615018 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 56 -43926613615937:43926613616258 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43926613617086:43926613618740 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092963350) = 0 -43926613619490:43926613619880 26036:26036 hsa_signal_store_relaxed(, 57) = void -43926613620899:43926614088498 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926614089448:43926614089849 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926614090998:43926614091627 26036:26036 hsa_signal_destroy() = 0 -43926614092683:43926614093565 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 -43926614094405:43926614094798 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43926614095543:43926614095973 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 -43926614096765:43926614097114 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43926614097964:43926614098297 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43926614113388:43926614114080 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 -43926614170008:43926614173440 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926614174890:43926614175276 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926614178254:43926614178818 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926614180604:43926614181064 26036:26041 hsa_signal_destroy() = 0 -43926614183263:43926614183684 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926614184461:43926614184828 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926614114911:43926614535965 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43926614996729:43926614997512 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926629388083:43926629389031 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926629393364:43926629394536 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926629396168:43926629398231 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 -43926629399332:43926629399971 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43926629400794:43926629401701 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 -43926629402594:43926629402991 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43926629856144:43926629856909 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43926629858176:43926629859708 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 -43926629860645:43926630233373 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43926630234556:43926630235183 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926630248926:43926630249580 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43926630268633:43926630269495 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 58 -43926630270474:43926630270954 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 58 -43926630272017:43926630273287 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 -43926630274262:43926630274734 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43926630275972:43926630288782 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f209296c6b0) = 0 -43926630289730:43926630290303 26036:26036 hsa_signal_store_relaxed(, 58) = void -43926630291860:43926630292500 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43926630308866:43926630309516 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926630312427:43926630313196 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 -43926630314048:43926630314395 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 59 -43926630315269:43926630324485 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 58 -43926630325536:43926630325869 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43926630326772:43926630327196 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092972b90) = 0 -43926630327941:43926630328393 26036:26036 hsa_signal_store_relaxed(, 59) = void -43926630329441:43926630791689 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926630792634:43926630793052 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926630794159:43926630794772 26036:26036 hsa_signal_destroy() = 0 -43926630795925:43926630796707 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 -43926630801255:43926630801697 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43926630816679:43926630817155 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 -43926630817988:43926630818351 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43926630819296:43926630819656 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43926630820439:43926630821091 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 -43926630873518:43926630876799 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926630878284:43926630878669 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926630881730:43926630882285 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926630884067:43926630884532 26036:26041 hsa_signal_destroy() = 0 -43926630886696:43926630887136 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926630887913:43926630888276 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926630821883:43926631240739 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43926631702662:43926631703404 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926646084750:43926646085868 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926646089836:43926646091493 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926646093165:43926646095214 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 -43926646096546:43926646097129 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43926646098139:43926646098969 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 -43926646099857:43926646100259 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43926646554041:43926646554892 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43926646556294:43926646558010 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 -43926646558930:43926646931344 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43926646932820:43926646933453 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926646947257:43926646947910 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43926646970381:43926646971086 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 60 -43926646972095:43926646972569 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 60 -43926646973622:43926646983857 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 -43926646984796:43926646985262 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43926646991509:43926646994878 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f20929764a0) = 0 -43926646995812:43926646996546 26036:26036 hsa_signal_store_relaxed(, 60) = void -43926646998129:43926646998768 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43926647004919:43926647005552 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926647008429:43926647009199 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 -43926647010022:43926647010357 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 61 -43926647011180:43926647011515 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 60 -43926647012441:43926647012766 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43926647013615:43926647014475 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092979be0) = 0 -43926647015252:43926647015705 26036:26036 hsa_signal_store_relaxed(, 61) = void -43926647484645:43926647488258 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926647489867:43926647490402 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926647494403:43926647496171 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926647497196:43926647497761 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926647016730:43926647531296 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926647543861:43926647544424 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926647546092:43926647546981 26036:26036 hsa_signal_destroy() = 0 -43926647548068:43926647548640 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926647549652:43926647550076 26036:26036 hsa_signal_destroy() = 0 -43926647551464:43926647552913 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 -43926647553853:43926647554330 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43926647555158:43926647555705 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 -43926647556454:43926647556831 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43926647557761:43926647558326 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43926647559182:43926647560211 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 -43926647561026:43926647963231 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43926648445914:43926648446803 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926663052694:43926663053716 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926663059620:43926663061011 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926663068907:43926663071528 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 -43926663072713:43926663073396 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43926663074350:43926663074928 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 -43926663075691:43926663076091 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43926663528921:43926663529597 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43926663530732:43926663532722 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 -43926663533510:43926663906897 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43926663907984:43926663908616 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926663925484:43926663926136 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43926663964011:43926663964720 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 62 -43926663965645:43926663966126 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 62 -43926663967311:43926663968943 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 -43926663969724:43926663970083 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43926663971456:43926663975867 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092977f30) = 0 -43926663976759:43926663977605 26036:26036 hsa_signal_store_relaxed(, 62) = void -43926663979098:43926663979734 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43926663989024:43926663989656 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926663992626:43926663993527 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 -43926663994315:43926663994693 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 63 -43926663995449:43926663995792 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 62 -43926663996763:43926663997111 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43926663997960:43926663999745 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f20929857c0) = 0 -43926664005261:43926664005832 26036:26036 hsa_signal_store_relaxed(, 63) = void -43926664007113:43926664482177 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926664483248:43926664483657 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926664484793:43926664485507 26036:26036 hsa_signal_destroy() = 0 -43926664486768:43926664488193 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 -43926664489007:43926664489421 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43926664491290:43926664491757 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 -43926664492555:43926664507290 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43926664508167:43926664508530 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43926664509329:43926664510138 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 -43926664563679:43926664567087 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926664568579:43926664568954 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926664571557:43926664572110 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926664573837:43926664574290 26036:26041 hsa_signal_destroy() = 0 -43926664576439:43926664576870 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926664577642:43926664578000 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926664510962:43926664931414 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43926665392593:43926665393377 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926679771407:43926679772627 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926679778029:43926679779323 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926679781393:43926679784211 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 -43926679785396:43926679786045 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43926679786906:43926679787502 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 -43926679788405:43926679788893 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43926680242277:43926680243056 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43926680244225:43926680245994 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 -43926680246896:43926680619748 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43926680621055:43926680621684 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926680636225:43926680636892 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43926680661768:43926680662528 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 64 -43926680663740:43926680664246 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 64 -43926680665401:43926680666628 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 -43926680667494:43926680676751 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43926680678143:43926680682314 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092981320) = 0 -43926680683192:43926680683759 26036:26036 hsa_signal_store_relaxed(, 64) = void -43926680699011:43926680699669 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43926680714766:43926680715404 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926680718218:43926680719066 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 -43926680719909:43926680720299 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 65 -43926680721037:43926680721379 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 64 -43926680722335:43926680722674 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43926680723510:43926680725232 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f209298bca0) = 0 -43926680725997:43926680726444 26036:26036 hsa_signal_store_relaxed(, 65) = void -43926680727418:43926681189222 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926681190091:43926681190609 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926681191875:43926681192514 26036:26036 hsa_signal_destroy() = 0 -43926681193732:43926681194967 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 -43926681195814:43926681196203 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43926681196941:43926681197390 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 -43926681198178:43926681198554 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43926681199407:43926681199758 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43926681214948:43926681215584 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 -43926681271039:43926681274265 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926681275757:43926681276138 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926681279399:43926681279954 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926681281696:43926681282150 26036:26041 hsa_signal_destroy() = 0 -43926681284330:43926681284757 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926681285528:43926681285887 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926681216373:43926681637345 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43926682097830:43926682098609 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926696490404:43926696491406 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926696495827:43926696497165 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926696499233:43926696501849 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 -43926696506858:43926696507415 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43926696508242:43926696508825 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 -43926696509682:43926696510477 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43926696979446:43926696980446 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43926696981584:43926696983380 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 -43926696984252:43926697357765 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43926697358953:43926697359590 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926697373376:43926697374025 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43926697394595:43926697395222 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 66 -43926697396127:43926697396526 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 66 -43926697397592:43926697398868 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 -43926697399789:43926697400198 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43926697401393:43926697414067 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092988840) = 0 -43926697415067:43926697415635 26036:26036 hsa_signal_store_relaxed(, 66) = void -43926697417161:43926697417796 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43926697433686:43926697434334 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926697436846:43926697437608 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 -43926697438451:43926697438869 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 67 -43926697439688:43926697440031 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 66 -43926697449925:43926697450283 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43926697451124:43926697452536 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f209299bd00) = 0 -43926697453309:43926697453759 26036:26036 hsa_signal_store_relaxed(, 67) = void -43926697454796:43926697915804 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926697916838:43926697917244 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926697918373:43926697919028 26036:26036 hsa_signal_destroy() = 0 -43926697920253:43926697921325 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 -43926697922206:43926697922572 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43926697923339:43926697923776 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 -43926697926199:43926697926567 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43926697941842:43926697942222 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43926697943014:43926697943603 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 -43926697997848:43926698001140 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926698002553:43926698002925 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926698006156:43926698006705 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926698008479:43926698008927 26036:26041 hsa_signal_destroy() = 0 -43926698011089:43926698011515 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926698012286:43926698012649 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926697944388:43926698365729 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43926698825421:43926698826214 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926713208573:43926713209567 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926713213786:43926713214887 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926713216680:43926713218981 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 -43926713220171:43926713220794 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43926713221670:43926713222426 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 -43926713223310:43926713223785 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43926713699866:43926713700649 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43926713701878:43926713703473 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 -43926713704373:43926714077266 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43926714078487:43926714079112 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926714095867:43926714096514 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43926714119759:43926714129468 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 68 -43926714130436:43926714130831 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 68 -43926714131959:43926714133259 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 -43926714134100:43926714134554 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43926714135914:43926714140181 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092993f20) = 0 -43926714141132:43926714141704 26036:26036 hsa_signal_store_relaxed(, 68) = void -43926714143380:43926714144015 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43926714151543:43926714152199 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926714154971:43926714155929 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 -43926714156758:43926714157142 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 69 -43926714157879:43926714158218 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 68 -43926714159184:43926714159505 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43926714160418:43926714161239 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f209299c6c0) = 0 -43926714161985:43926714162376 26036:26036 hsa_signal_store_relaxed(, 69) = void -43926714163387:43926714641916 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926714642902:43926714643416 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926714644561:43926714645228 26036:26036 hsa_signal_destroy() = 0 -43926714646497:43926714647482 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 -43926714648359:43926714648722 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43926714649466:43926714649945 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 -43926714650732:43926714651097 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43926714651950:43926714652295 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43926714667240:43926714667870 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 -43926714723763:43926714727047 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926714728608:43926714728989 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926714732147:43926714732703 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926714734490:43926714734914 26036:26041 hsa_signal_destroy() = 0 -43926714737043:43926714737484 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926714738265:43926714738627 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926714668680:43926715090676 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43926715549894:43926715550692 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926729932152:43926729933339 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926729937733:43926729939085 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926729941005:43926729943381 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 -43926729944703:43926729945188 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43926729949905:43926729950495 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 -43926729951375:43926729951849 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43926730403750:43926730404596 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43926730405701:43926730407390 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 -43926730408270:43926730781243 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43926730782429:43926730783076 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926730796646:43926730797296 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43926730820057:43926730820687 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 70 -43926730821768:43926730822174 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 70 -43926730823200:43926730833237 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 -43926730834213:43926730834670 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43926730836165:43926730839687 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f20929a88c0) = 0 -43926730840629:43926730841191 26036:26036 hsa_signal_store_relaxed(, 70) = void -43926730842588:43926730853356 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43926730859588:43926730860243 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926730871776:43926730872581 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 -43926730873402:43926730873779 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 71 -43926730874572:43926730874903 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 70 -43926730875827:43926730876159 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43926730876977:43926730878630 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f20929a62e0) = 0 -43926730879371:43926730879819 26036:26036 hsa_signal_store_relaxed(, 71) = void -43926730880835:43926731348963 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926731349872:43926731350283 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926731351532:43926731352184 26036:26036 hsa_signal_destroy() = 0 -43926731353387:43926731354362 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 -43926731355196:43926731355560 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43926731356326:43926731356757 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 -43926731357546:43926731357907 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43926731358757:43926731359102 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43926731377593:43926731378195 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 -43926731430522:43926731433859 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926731435434:43926731435824 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926731438936:43926731439495 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926731441251:43926731441707 26036:26041 hsa_signal_destroy() = 0 -43926731443884:43926731444247 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926731445024:43926731445388 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926731378993:43926731797529 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43926732264000:43926732264735 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926746642416:43926746643364 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926746647967:43926746649040 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926746650547:43926746652579 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 -43926746653883:43926746654363 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43926746655232:43926746655890 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 -43926746656799:43926746657273 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43926747110209:43926747111026 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43926747112532:43926747114124 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 -43926747115028:43926747487625 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43926747488857:43926747489486 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926747502865:43926747503532 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43926747524472:43926747525117 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 72 -43926747526154:43926747526785 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 72 -43926747527884:43926747529220 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 -43926747539329:43926747539810 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43926747541148:43926747544766 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f20929b1420) = 0 -43926747545801:43926747546366 26036:26036 hsa_signal_store_relaxed(, 72) = void -43926747547873:43926747558195 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43926747564894:43926747565547 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926747581431:43926747582195 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 -43926747583033:43926747583426 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 73 -43926747584218:43926747584552 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 72 -43926747585487:43926747585813 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43926747586648:43926747588381 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f20929ab8d0) = 0 -43926747589125:43926747589581 26036:26036 hsa_signal_store_relaxed(, 73) = void -43926747590600:43926748056094 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926748057017:43926748057536 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926748058949:43926748059628 26036:26036 hsa_signal_destroy() = 0 -43926748060835:43926748061946 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 -43926748062810:43926748063174 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43926748063921:43926748064393 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 -43926748065184:43926748065549 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43926748066392:43926748080959 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43926748081874:43926748082502 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 -43926748138101:43926748141396 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926748142844:43926748143217 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926748146189:43926748146745 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926748148532:43926748148989 26036:26041 hsa_signal_destroy() = 0 -43926748151194:43926748151639 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926748152419:43926748152782 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926748083291:43926748504635 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43926748967311:43926748968051 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926763345344:43926763346267 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926763350493:43926763351975 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926763353989:43926763356768 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 -43926763357907:43926763358515 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43926763359345:43926763360075 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 -43926763360973:43926763361454 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43926763816682:43926763817446 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43926763818644:43926763820498 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 -43926763821435:43926764194804 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43926764196141:43926764196775 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926764212390:43926764213041 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43926764231663:43926764232337 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 74 -43926764233422:43926764233827 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 74 -43926764234818:43926764236559 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 -43926764237487:43926764237899 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43926764248059:43926764251908 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f20929bfee0) = 0 -43926764253012:43926764253575 26036:26036 hsa_signal_store_relaxed(, 74) = void -43926764255076:43926764255715 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43926764272029:43926764272681 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926764275203:43926764275964 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 -43926764285688:43926764286043 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 75 -43926764286874:43926764287207 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 74 -43926764288217:43926764288547 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43926764289657:43926764291274 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f20929ba6c0) = 0 -43926764292011:43926764292462 26036:26036 hsa_signal_store_relaxed(, 75) = void -43926764293513:43926764758629 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926764759546:43926764760014 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926764761158:43926764761807 26036:26036 hsa_signal_destroy() = 0 -43926764762983:43926764763968 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 -43926764764803:43926764765204 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43926764765949:43926764766377 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 -43926764767168:43926764767534 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43926764768388:43926764768729 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43926764783959:43926764784578 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 -43926764839632:43926764843001 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926764844473:43926764844855 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926764848114:43926764848674 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926764850451:43926764850876 26036:26041 hsa_signal_destroy() = 0 -43926764853033:43926764853461 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926764854230:43926764854589 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926764786516:43926765206636 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43926765669634:43926765670377 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926780053105:43926780054002 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926780058078:43926780059263 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926780060986:43926780064004 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 -43926780065104:43926780065663 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43926780066522:43926780067269 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 -43926780068180:43926780068654 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43926780518099:43926780518759 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43926780519904:43926780521475 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 -43926780522371:43926780895399 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43926780896723:43926780897345 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926780910591:43926780911235 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43926780930354:43926780931169 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 76 -43926780932177:43926780932577 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 76 -43926780933650:43926780935014 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 -43926780935903:43926780936451 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43926780937738:43926780950610 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f20929ccff0) = 0 -43926780951675:43926780952252 26036:26036 hsa_signal_store_relaxed(, 76) = void -43926780953810:43926780954445 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43926780970529:43926780971182 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926780974271:43926780974918 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 -43926780975791:43926780976206 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 77 -43926780990356:43926780990703 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 76 -43926780991767:43926780992107 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43926780992950:43926780994559 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f20929c8fb0) = 0 -43926780995303:43926780995700 26036:26036 hsa_signal_store_relaxed(, 77) = void -43926780996719:43926781458864 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926781459824:43926781460338 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926781461478:43926781462115 26036:26036 hsa_signal_destroy() = 0 -43926781463349:43926781464251 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 -43926781465082:43926781465462 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43926781466278:43926781466704 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 -43926781467713:43926781468079 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43926781468930:43926781469264 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43926781484104:43926781484735 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 -43926781540327:43926781543593 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926781545036:43926781545412 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926781548727:43926781549280 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926781551095:43926781551510 26036:26041 hsa_signal_destroy() = 0 -43926781553830:43926781554258 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926781555031:43926781555398 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926781485544:43926781907364 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43926782369111:43926782369849 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926796757608:43926796758650 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926796762954:43926796764044 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926796765818:43926796768200 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 -43926796769419:43926796769984 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43926796770805:43926796771410 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 -43926796772605:43926796773083 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43926797226962:43926797227672 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43926797232483:43926797233981 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 -43926797234854:43926797607656 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43926797608906:43926797609534 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926797623675:43926797624328 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43926797642786:43926797643513 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 78 -43926797644732:43926797645131 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 78 -43926797646245:43926797647632 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 -43926797648486:43926797648917 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43926797650180:43926797663044 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f20929d8a90) = 0 -43926797664042:43926797664619 26036:26036 hsa_signal_store_relaxed(, 78) = void -43926797666080:43926797666716 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43926797682710:43926797683370 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926797686124:43926797686894 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 -43926797687756:43926797688152 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 79 -43926797697821:43926797698209 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 78 -43926797699160:43926797699483 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43926797700314:43926797700795 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f20929d2340) = 0 -43926797701540:43926797701987 26036:26036 hsa_signal_store_relaxed(, 79) = void -43926797703003:43926798167477 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926798168398:43926798168804 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926798169929:43926798170569 26036:26036 hsa_signal_destroy() = 0 -43926798171813:43926798172800 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 -43926798173655:43926798174054 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43926798174797:43926798175227 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 -43926798176017:43926798176382 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43926798177223:43926798191893 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43926798192799:43926798193426 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 -43926798248801:43926798252110 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926798256432:43926798256890 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926798260054:43926798260608 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926798262364:43926798262775 26036:26041 hsa_signal_destroy() = 0 -43926798264896:43926798265318 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926798266090:43926798266450 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926798194217:43926798615435 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43926799076841:43926799077581 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926813467997:43926813469050 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926813473277:43926813474523 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926813476697:43926813479351 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 -43926813480493:43926813481072 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43926813481930:43926813482532 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 -43926813483426:43926813483902 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43926813938052:43926813939026 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43926813940541:43926813942187 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 -43926813943086:43926814315736 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43926814317061:43926814317690 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926814331129:43926814331786 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43926814353838:43926814354512 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 80 -43926814355676:43926814356318 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 80 -43926814357537:43926814367464 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 -43926814368392:43926814368785 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43926814370062:43926814373952 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f20929e7ed0) = 0 -43926814374974:43926814375539 26036:26036 hsa_signal_store_relaxed(, 80) = void -43926814376927:43926814387787 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43926814394372:43926814395031 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926814407023:43926814407802 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 -43926814408659:43926814409038 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 81 -43926814409865:43926814410196 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 80 -43926814415087:43926814415419 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43926814416308:43926814418008 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f20929e3ca0) = 0 -43926814418758:43926814419203 26036:26036 hsa_signal_store_relaxed(, 81) = void -43926814420220:43926814885119 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926814886057:43926814886519 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926814887658:43926814888321 26036:26036 hsa_signal_destroy() = 0 -43926814889550:43926814890523 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 -43926814891411:43926814891820 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43926814892585:43926814893024 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 -43926814893814:43926814894176 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43926814895047:43926814895379 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43926814910825:43926814911450 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 -43926814967047:43926814970211 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926814971743:43926814972117 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926814975183:43926814975725 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926814977487:43926814977903 26036:26041 hsa_signal_destroy() = 0 -43926814980022:43926814980456 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926814981226:43926814981587 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926814912234:43926815333335 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43926815794332:43926815795072 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926830179959:43926830180914 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926830184947:43926830186014 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926830187837:43926830190967 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 -43926830192119:43926830192686 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43926830193522:43926830194118 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 -43926830195007:43926830195487 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43926830646478:43926830647250 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43926830648609:43926830650134 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 -43926830655276:43926831024014 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43926831025328:43926831025955 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926831040508:43926831041157 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43926831063836:43926831064432 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 82 -43926831065620:43926831066024 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 82 -43926831075817:43926831077061 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 -43926831077929:43926831078391 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43926831079597:43926831083259 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f20929ee6b0) = 0 -43926831084222:43926831084790 26036:26036 hsa_signal_store_relaxed(, 82) = void -43926831086212:43926831096924 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43926831103171:43926831103825 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926831115993:43926831116807 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 -43926831117644:43926831117968 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 83 -43926831118765:43926831119104 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 82 -43926831120080:43926831120409 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43926831121220:43926831122818 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f20929edc30) = 0 -43926831123566:43926831124016 26036:26036 hsa_signal_store_relaxed(, 83) = void -43926831125022:43926831592120 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926831593096:43926831593512 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926831594521:43926831595185 26036:26036 hsa_signal_destroy() = 0 -43926831596414:43926831597475 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 -43926831598333:43926831598697 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43926831599465:43926831599884 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 -43926831600676:43926831601040 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43926831601887:43926831602232 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43926831602989:43926831618106 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 -43926831674461:43926831677873 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926831679361:43926831679734 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926831682728:43926831683284 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926831688055:43926831688511 26036:26041 hsa_signal_destroy() = 0 -43926831690674:43926831691223 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926831691999:43926831692358 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926831618942:43926832041073 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43926832502268:43926832503010 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926846897759:43926846898900 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926846903336:43926846904366 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926846905877:43926846907816 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 -43926846908951:43926846909586 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43926846910446:43926846910988 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 -43926846911879:43926846912361 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43926847362442:43926847363271 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43926847364401:43926847366054 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 -43926847367015:43926847755386 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43926847756524:43926847757153 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926847770161:43926847770820 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43926847779532:43926847794921 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 84 -43926847796171:43926847796570 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 84 -43926847797715:43926847799080 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 -43926847800018:43926847800355 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43926847801602:43926847814241 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f20929f94b0) = 0 -43926847815311:43926847815880 26036:26036 hsa_signal_store_relaxed(, 84) = void -43926847817343:43926847817981 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43926847838718:43926847839367 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926847851376:43926847852170 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 -43926847853024:43926847853359 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 85 -43926847854180:43926847854511 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 84 -43926847855449:43926847855770 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43926847858063:43926847859724 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f20929f8880) = 0 -43926847860477:43926847860926 26036:26036 hsa_signal_store_relaxed(, 85) = void -43926847861955:43926849699110 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926849700221:43926849700778 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926849701847:43926849702652 26036:26036 hsa_signal_destroy() = 0 -43926849703914:43926849704838 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 -43926849705703:43926849706117 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43926849706905:43926849707369 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 -43926849717335:43926849717717 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43926849718524:43926849718890 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43926849719653:43926849720391 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 -43926849756261:43926849759515 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926849761035:43926849761405 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926849774888:43926849775483 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926849777287:43926849777751 26036:26041 hsa_signal_destroy() = 0 -43926849779913:43926849780412 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926849781206:43926849781576 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926849721144:43926850151110 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43926850612303:43926850613048 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926864999289:43926865000288 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926865004811:43926865005810 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926865007601:43926865009841 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 -43926865010985:43926865011544 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43926865012387:43926865013051 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 -43926865013939:43926865014415 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43926865468287:43926865469078 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43926865470209:43926865471840 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 -43926865472747:43926865860882 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43926865862176:43926865862797 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926865881623:43926865882274 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43926865900970:43926865901626 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 86 -43926865902651:43926865903057 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 86 -43926865904168:43926865914301 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 -43926865915181:43926865915585 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43926865916764:43926865920769 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f20929fa3e0) = 0 -43926865921707:43926865922271 26036:26036 hsa_signal_store_relaxed(, 86) = void -43926865923710:43926865934504 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43926865940725:43926865941403 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926865952914:43926865953693 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 -43926865954526:43926865954859 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 87 -43926865955653:43926865955989 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 86 -43926865956915:43926865957244 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43926865958077:43926865959861 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092a00c20) = 0 -43926865960606:43926865961052 26036:26036 hsa_signal_store_relaxed(, 87) = void -43926865962068:43926867806324 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926867807340:43926867807758 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926867808963:43926867809623 26036:26036 hsa_signal_destroy() = 0 -43926867811005:43926867812023 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 -43926867812876:43926867813298 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43926867814064:43926867823612 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 -43926867824495:43926867824864 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43926867825721:43926867826072 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43926867826824:43926867827422 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 -43926867862616:43926867865886 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926867867353:43926867867734 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926867881203:43926867881786 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926867883703:43926867884180 26036:26041 hsa_signal_destroy() = 0 -43926867889502:43926867890049 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926867890868:43926867891244 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926867828181:43926868258434 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43926868720165:43926868720906 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926883098924:43926883099971 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926883104054:43926883105146 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926883106996:43926883109159 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 -43926883110567:43926883111155 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43926883112024:43926883112718 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 -43926883113606:43926883114082 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43926883569259:43926883569972 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43926883571122:43926883572849 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 -43926883573816:43926883962183 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43926883963381:43926883964007 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926883977297:43926883977955 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43926884006620:43926884007355 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 88 -43926884008410:43926884008891 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 88 -43926884018687:43926884019998 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 -43926884020867:43926884021330 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43926884022564:43926884026171 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092a031e0) = 0 -43926884027158:43926884027725 26036:26036 hsa_signal_store_relaxed(, 88) = void -43926884029226:43926884039866 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43926884046328:43926884047005 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926884058945:43926884059806 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 -43926884060670:43926884061050 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 89 -43926884061891:43926884062226 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 88 -43926884063141:43926884063471 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43926884064337:43926884066119 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092a09d40) = 0 -43926884066905:43926884067301 26036:26036 hsa_signal_store_relaxed(, 89) = void -43926884071520:43926885910226 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926885911187:43926885911712 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926885912812:43926885913551 26036:26036 hsa_signal_destroy() = 0 -43926885914704:43926885915565 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 -43926885916477:43926885916854 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43926885917629:43926885918085 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 -43926885927709:43926885928127 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43926885928963:43926885929315 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43926885930077:43926885930855 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 -43926885966843:43926885970062 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926885971540:43926885971912 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926885985293:43926885985884 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926885987686:43926885988145 26036:26041 hsa_signal_destroy() = 0 -43926885990337:43926885990776 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926885991569:43926885991936 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926885931599:43926886362684 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43926886825469:43926886826237 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926901212602:43926901213545 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926901217942:43926901218955 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926901220604:43926901223068 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 -43926901224411:43926901224889 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43926901225711:43926901226371 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 -43926901227282:43926901227760 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43926901680433:43926901681178 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43926901682623:43926901684240 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 -43926901685104:43926902073275 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43926902074496:43926902075119 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926902088969:43926902089627 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43926902112303:43926902113062 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 90 -43926902114036:43926902114441 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 90 -43926902115486:43926902116911 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 -43926902126877:43926902127349 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43926902128541:43926902132209 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092a06680) = 0 -43926902133131:43926902133696 26036:26036 hsa_signal_store_relaxed(, 90) = void -43926902135184:43926902135823 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43926902152322:43926902152973 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926902164747:43926902165541 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 -43926902166388:43926902166773 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 91 -43926902167575:43926902167908 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 90 -43926902168842:43926902169164 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43926902170002:43926902171692 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092a08040) = 0 -43926902172445:43926902172894 26036:26036 hsa_signal_store_relaxed(, 91) = void -43926902173955:43926904019842 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926904020882:43926904021571 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926904022692:43926904023360 26036:26036 hsa_signal_destroy() = 0 -43926904024491:43926904025408 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 -43926904026326:43926904026692 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43926904027453:43926904027915 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 -43926904037730:43926904038115 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43926904038998:43926904039341 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43926904040108:43926904040720 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 -43926904077071:43926904080342 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926904081826:43926904082214 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926904095694:43926904096287 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926904098127:43926904098607 26036:26041 hsa_signal_destroy() = 0 -43926904100872:43926904101348 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926904105292:43926904105772 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926904041471:43926904471684 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43926904935189:43926904935933 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926919312104:43926919313219 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926919317318:43926919318629 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926919320278:43926919322232 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 -43926919323296:43926919323787 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43926919324814:43926919325504 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 -43926919326414:43926919326887 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43926919777638:43926919778344 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43926919779529:43926919781016 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 -43926919781913:43926920169930 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43926920171174:43926920171808 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926920185030:43926920185678 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43926920205064:43926920205778 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 92 -43926920206854:43926920207242 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 92 -43926920208310:43926920209589 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 -43926920210444:43926920210858 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43926920212075:43926920224935 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092a13eb0) = 0 -43926920226029:43926920226610 26036:26036 hsa_signal_store_relaxed(, 92) = void -43926920228117:43926920228758 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43926920244805:43926920245456 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926920248405:43926920249339 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 -43926920250217:43926920250615 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 93 -43926920260381:43926920260722 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 92 -43926920261665:43926920261989 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43926920262855:43926920263747 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092a22830) = 0 -43926920264721:43926920265176 26036:26036 hsa_signal_store_relaxed(, 93) = void -43926920266187:43926922105053 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926922111614:43926922112149 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926922122396:43926922123071 26036:26036 hsa_signal_destroy() = 0 -43926922124411:43926922125315 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 -43926922126161:43926922126526 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43926922127272:43926922127699 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 -43926922128494:43926922128857 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43926922129724:43926922130064 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43926922130817:43926922141572 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 -43926922161094:43926922164285 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926922165895:43926922166267 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926922179868:43926922180448 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926922182299:43926922182754 26036:26041 hsa_signal_destroy() = 0 -43926922184945:43926922185385 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926922186186:43926922186557 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926922142396:43926922566129 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43926923027384:43926923028132 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926937422236:43926937423304 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926937428056:43926937429390 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926937430930:43926937433066 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 -43926937434153:43926937434725 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43926937435546:43926937436248 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 -43926937437196:43926937437692 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43926937909759:43926937910470 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43926937911615:43926937913360 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 -43926937914218:43926938301830 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43926938303159:43926938303786 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926938317138:43926938317780 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43926938337277:43926938338136 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 94 -43926938343178:43926938343608 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 94 -43926938344575:43926938345868 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 -43926938355987:43926938356470 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43926938357593:43926938361064 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092a1bcb0) = 0 -43926938362037:43926938362604 26036:26036 hsa_signal_store_relaxed(, 94) = void -43926938364006:43926938364637 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43926938380883:43926938381567 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926938393604:43926938394386 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 -43926938395233:43926938395573 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 95 -43926938396367:43926938396701 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 94 -43926938397619:43926938397941 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43926938398774:43926938400372 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092a2dd10) = 0 -43926938401122:43926938401570 26036:26036 hsa_signal_store_relaxed(, 95) = void -43926938402567:43926940252262 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926940253338:43926940253757 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926940254878:43926940255540 26036:26036 hsa_signal_destroy() = 0 -43926940256740:43926940257687 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 -43926940258562:43926940258941 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43926940259704:43926940260143 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 -43926940269832:43926940270265 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43926940271144:43926940271495 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43926940272256:43926940272898 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 -43926940309075:43926940312432 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926940313841:43926940314212 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926940327561:43926940328153 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926940329931:43926940330393 26036:26041 hsa_signal_destroy() = 0 -43926940332580:43926940333024 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926940333825:43926940334193 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926940273655:43926940703615 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43926941166603:43926941167436 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926955545461:43926955546461 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926955550754:43926955551852 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926955553696:43926955555886 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 -43926955556998:43926955557542 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43926955558399:43926955559076 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 -43926955559971:43926955560451 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43926956015898:43926956016665 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43926956017926:43926956019605 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 -43926956020564:43926956408206 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43926956409485:43926956410121 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926956423978:43926956424640 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43926956433143:43926956448459 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 96 -43926956449417:43926956449818 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 96 -43926956450983:43926956452148 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 -43926956453077:43926956453596 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43926956454971:43926956467218 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092a28260) = 0 -43926956468274:43926956468845 26036:26036 hsa_signal_store_relaxed(, 96) = void -43926956470395:43926956471028 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43926956487124:43926956487772 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926956490814:43926956491699 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 -43926956492564:43926956492975 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 97 -43926956502676:43926956503072 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 96 -43926956504098:43926956504422 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43926956505406:43926956506265 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092a2e1c0) = 0 -43926956507237:43926956507697 26036:26036 hsa_signal_store_relaxed(, 97) = void -43926956508708:43926958348297 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926958349283:43926958349801 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926958354463:43926958355126 26036:26036 hsa_signal_destroy() = 0 -43926958356283:43926958366146 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 -43926958367030:43926958367433 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43926958368189:43926958368637 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 -43926958369420:43926958369835 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43926958370691:43926958371048 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43926958371805:43926958372428 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 -43926958404851:43926958408082 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926958409679:43926958410054 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926958423735:43926958424325 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926958426128:43926958426593 26036:26041 hsa_signal_destroy() = 0 -43926958428859:43926958429293 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926958430086:43926958430454 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926958373199:43926958808699 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43926959270687:43926959271426 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926973656329:43926973657254 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926973661381:43926973662555 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926973664130:43926973666252 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 -43926973667542:43926973668045 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43926973668878:43926973669560 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 -43926973670446:43926973670972 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43926974144784:43926974145548 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43926974146875:43926974148494 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 -43926974149404:43926974536992 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43926974538272:43926974538895 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926974552550:43926974553217 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43926974561885:43926974562584 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 98 -43926974574469:43926974574882 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 98 -43926974575991:43926974577306 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 -43926974582888:43926974583416 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43926974593551:43926974596735 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092a33f20) = 0 -43926974597713:43926974598287 26036:26036 hsa_signal_store_relaxed(, 98) = void -43926974599794:43926974600426 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43926974616578:43926974617226 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926974619839:43926974620595 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 -43926974630571:43926974630934 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 99 -43926974631773:43926974632114 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 98 -43926974633047:43926974633366 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43926974634260:43926974635778 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092a3c000) = 0 -43926974636518:43926974636916 26036:26036 hsa_signal_store_relaxed(, 99) = void -43926974637913:43926976479944 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926976480978:43926976481410 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926976482612:43926976483268 26036:26036 hsa_signal_destroy() = 0 -43926976484492:43926976485405 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 -43926976486284:43926976486792 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43926976487564:43926976488012 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 -43926976497850:43926976498235 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43926976499116:43926976499465 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43926976500230:43926976500837 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 -43926976537119:43926976540449 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926976541905:43926976542277 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926976555879:43926976556469 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926976558269:43926976558735 26036:26041 hsa_signal_destroy() = 0 -43926976560969:43926976561413 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926976562208:43926976562574 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926976501599:43926976932645 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43926977395676:43926977396421 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926991774478:43926991775560 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926991779771:43926991780833 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926991782306:43926991784528 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 -43926991785618:43926991786398 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43926991787275:43926991788011 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 -43926991788907:43926991789377 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43926992264321:43926992265473 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43926992266781:43926992268327 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 -43926992269295:43926992657046 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43926992658385:43926992659017 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926992673113:43926992673759 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43926992692926:43926992693567 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 100 -43926992694580:43926992694981 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 100 -43926992696055:43926992697449 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 -43926992698303:43926992698825 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43926992699995:43926992712393 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092843250) = 0 -43926992713453:43926992714023 26036:26036 hsa_signal_store_relaxed(, 100) = void -43926992715574:43926992716232 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43926992732182:43926992732828 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43926992735524:43926992736288 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 -43926992737204:43926992737566 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 101 -43926992747618:43926992747976 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 100 -43926992748946:43926992749266 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43926992750212:43926992751059 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092a3de40) = 0 -43926992751835:43926992752285 26036:26036 hsa_signal_store_relaxed(, 101) = void -43926992753325:43926994605505 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926994606518:43926994606986 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926994608092:43926994608753 26036:26036 hsa_signal_destroy() = 0 -43926994609865:43926994610715 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 -43926994625249:43926994625618 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43926994626386:43926994626899 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 -43926994627691:43926994628102 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43926994628964:43926994629309 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43926994630061:43926994630700 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 -43926994661861:43926994665088 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926994666503:43926994666879 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926994680165:43926994680751 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43926994682570:43926994683030 26036:26041 hsa_signal_destroy() = 0 -43926994685186:43926994685657 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926994686436:43926994686811 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43926994631456:43926995065574 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43926995527430:43926995528245 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927009904192:43927009905384 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927009909804:43927009911259 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927009912888:43927009915005 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 -43927009916084:43927009916768 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43927009917588:43927009918257 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 -43927009919146:43927009919636 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43927010370655:43927010371402 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43927010372910:43927010374424 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 -43927010375285:43927010763075 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43927010764388:43927010765018 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927010782816:43927010783459 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43927010801985:43927010803138 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 102 -43927010804179:43927010804584 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 102 -43927010805663:43927010816353 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 -43927010817342:43927010817860 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43927010820200:43927010823376 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f209284ffa0) = 0 -43927010824341:43927010824906 26036:26036 hsa_signal_store_relaxed(, 102) = void -43927010826590:43927010837178 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43927010843502:43927010844176 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927010856926:43927010857700 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 -43927010858517:43927010858891 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 103 -43927010859683:43927010860020 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 102 -43927010860950:43927010861274 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43927010862098:43927010863659 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f209284f390) = 0 -43927010864406:43927010864990 26036:26036 hsa_signal_store_relaxed(, 103) = void -43927010865992:43927012715851 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927012716884:43927012717302 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927012718403:43927012719062 26036:26036 hsa_signal_destroy() = 0 -43927012720219:43927012721168 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 -43927012722020:43927012722387 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43927012723212:43927012723667 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 -43927012733254:43927012733639 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43927012734518:43927012734867 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43927012735632:43927012736242 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 -43927012772496:43927012775723 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927012777199:43927012777569 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927012791042:43927012791626 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927012793466:43927012793926 26036:26041 hsa_signal_destroy() = 0 -43927012796158:43927012796668 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927012797465:43927012797831 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927012737007:43927013167586 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43927013628259:43927013629000 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927028007978:43927028009049 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927028017470:43927028018649 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927028020526:43927028022578 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 -43927028023692:43927028024306 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43927028025143:43927028025799 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 -43927028026625:43927028027208 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43927028475357:43927028476280 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43927028477486:43927028479109 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 -43927028480038:43927028868871 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43927028870009:43927028870633 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927028884735:43927028885391 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43927028904071:43927028904777 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 104 -43927028905758:43927028906158 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 104 -43927028907432:43927028908742 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 -43927028909721:43927028910278 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43927028911488:43927028923782 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f20928635d0) = 0 -43927028924785:43927028925356 26036:26036 hsa_signal_store_relaxed(, 104) = void -43927028926754:43927028927412 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43927028943461:43927028944102 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927028946924:43927028947727 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 -43927028948584:43927028948947 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 105 -43927028949765:43927028950105 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 104 -43927028959955:43927028960306 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43927028961206:43927028962074 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f209285d3a0) = 0 -43927028962828:43927028963278 26036:26036 hsa_signal_store_relaxed(, 105) = void -43927028964275:43927030811802 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927030812771:43927030813292 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927030814536:43927030815199 26036:26036 hsa_signal_destroy() = 0 -43927030816457:43927030817491 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 -43927030818334:43927030818699 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43927030829895:43927030830370 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 -43927030831183:43927030831549 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43927030832413:43927030832763 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43927030833513:43927030834123 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 -43927030868051:43927030871323 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927030872793:43927030873168 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927030886721:43927030887312 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927030889161:43927030889637 26036:26041 hsa_signal_destroy() = 0 -43927030891846:43927030892326 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927030893117:43927030893482 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927030834881:43927031271571 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43927031733900:43927031734633 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927046116850:43927046117843 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927046122259:43927046123398 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927046125190:43927046127422 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 -43927046128544:43927046129033 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43927046129861:43927046130522 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 -43927046131408:43927046131885 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43927046601957:43927046602667 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43927046603884:43927046605571 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 -43927046606435:43927046995148 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43927046996339:43927046996965 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927047014792:43927047015439 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43927047033818:43927047034535 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 106 -43927047035612:43927047036029 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 106 -43927047037406:43927047038705 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 -43927047048779:43927047049315 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43927047050510:43927047053862 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f20928743b0) = 0 -43927047055817:43927047056405 26036:26036 hsa_signal_store_relaxed(, 106) = void -43927047068375:43927047069034 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43927047075164:43927047075841 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927047087371:43927047088143 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 -43927047088959:43927047089348 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 107 -43927047090137:43927047090470 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 106 -43927047091397:43927047091716 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43927047092534:43927047094134 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f209286d600) = 0 -43927047094880:43927047095326 26036:26036 hsa_signal_store_relaxed(, 107) = void -43927047096352:43927048942378 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927048943382:43927048943802 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927048944987:43927048945674 26036:26036 hsa_signal_destroy() = 0 -43927048946826:43927048947745 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 -43927048948604:43927048948981 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43927048949793:43927048950231 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 -43927048960185:43927048960567 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43927048961443:43927048961792 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43927048962555:43927048963159 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 -43927048999684:43927049002895 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927049004310:43927049004686 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927049017904:43927049018493 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927049020343:43927049020774 26036:26041 hsa_signal_destroy() = 0 -43927049022969:43927049023424 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927049024221:43927049024589 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927048963913:43927049394713 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43927049857756:43927049858523 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927064242689:43927064243638 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927064247398:43927064248566 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927064250329:43927064252514 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 -43927064259437:43927064260063 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43927064260906:43927064261785 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 -43927064262638:43927064263107 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43927064711847:43927064712565 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43927064713830:43927064715479 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 -43927064716401:43927065105270 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43927065106521:43927065107144 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927065120693:43927065121349 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43927065140090:43927065140825 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 108 -43927065141825:43927065142224 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 108 -43927065143304:43927065144660 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 -43927065145527:43927065146048 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43927065147233:43927065159594 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f209287ea90) = 0 -43927065160612:43927065161181 26036:26036 hsa_signal_store_relaxed(, 108) = void -43927065162727:43927065163363 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43927065179204:43927065179857 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927065182858:43927065183644 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 -43927065184514:43927065184913 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 109 -43927065185727:43927065186077 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 108 -43927065195980:43927065196330 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43927065197166:43927065197655 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f209287db30) = 0 -43927065198399:43927065198845 26036:26036 hsa_signal_store_relaxed(, 109) = void -43927065199908:43927067039101 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927067040160:43927067040680 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927067041846:43927067042489 26036:26036 hsa_signal_destroy() = 0 -43927067043704:43927067044664 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 -43927067045611:43927067046064 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43927067046825:43927067047267 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 -43927067058434:43927067058798 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43927067059673:43927067060023 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43927067060783:43927067061392 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 -43927067095412:43927067098651 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927067100129:43927067100500 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927067114061:43927067114646 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927067116494:43927067116909 26036:26041 hsa_signal_destroy() = 0 -43927067119193:43927067119669 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927067120460:43927067120826 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927067062158:43927067499536 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43927067960816:43927067961555 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927082344162:43927082345164 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927082349357:43927082350531 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927082352473:43927082354894 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 -43927082356224:43927082357034 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43927082357868:43927082358566 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 -43927082359469:43927082359948 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43927082813083:43927082813794 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43927082815134:43927082816549 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 -43927082817412:43927083205933 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43927083207151:43927083207781 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927083221274:43927083221929 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43927083240692:43927083241412 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 110 -43927083242379:43927083242776 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 110 -43927083243943:43927083245177 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 -43927083246132:43927083246642 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43927083247921:43927083259948 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f20928885b0) = 0 -43927083260956:43927083261524 26036:26036 hsa_signal_store_relaxed(, 110) = void -43927083262982:43927083263619 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43927083284618:43927083285264 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927083296641:43927083297458 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 -43927083298281:43927083298662 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 111 -43927083299460:43927083299794 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 110 -43927083300734:43927083301060 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43927083301883:43927083303462 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092887120) = 0 -43927083304211:43927083304661 26036:26036 hsa_signal_store_relaxed(, 111) = void -43927083305662:43927085138902 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927085139903:43927085140320 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927085141589:43927085142263 26036:26036 hsa_signal_destroy() = 0 -43927085143425:43927085144392 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 -43927085145248:43927085145651 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43927085146437:43927085146877 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 -43927085156808:43927085157175 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43927085158055:43927085158406 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43927085159160:43927085159866 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 -43927085196692:43927085199909 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927085201315:43927085201690 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927085215140:43927085215731 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927085217537:43927085218012 26036:26041 hsa_signal_destroy() = 0 -43927085220175:43927085220651 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927085221436:43927085221810 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927085160614:43927085592244 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43927086054512:43927086055254 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927100434196:43927100435407 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927100439734:43927100440772 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927100442372:43927100444484 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 -43927100445532:43927100446149 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43927100450596:43927100451287 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 -43927100452142:43927100452540 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43927100901880:43927100902558 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43927100903839:43927100905293 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 -43927100906221:43927101278904 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43927101280103:43927101280734 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927101294961:43927101295614 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43927101314183:43927101314813 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 112 -43927101315864:43927101316265 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 112 -43927101317299:43927101318587 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 -43927101319442:43927101319973 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43927101321144:43927101333244 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f209288a280) = 0 -43927101334229:43927101334804 26036:26036 hsa_signal_store_relaxed(, 112) = void -43927101336234:43927101336871 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43927101352553:43927101353199 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927101355962:43927101356754 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 -43927101357587:43927101357962 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 113 -43927101358772:43927101359116 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 112 -43927101369108:43927101369454 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43927101370283:43927101372460 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092895410) = 0 -43927101373210:43927101373599 26036:26036 hsa_signal_store_relaxed(, 113) = void -43927101374599:43927101834010 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927101834931:43927101835436 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927101836602:43927101837312 26036:26036 hsa_signal_destroy() = 0 -43927101838619:43927101839510 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 -43927101840341:43927101840734 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43927101841536:43927101841965 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 -43927101842756:43927101843100 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43927101843970:43927101844311 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43927101861171:43927101861797 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 -43927101915154:43927101918460 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927101919873:43927101920246 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927101923374:43927101923938 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927101925678:43927101926138 26036:26041 hsa_signal_destroy() = 0 -43927101928286:43927101928752 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927101929530:43927101929889 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927101862596:43927102282964 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43927102743235:43927102743984 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927117131894:43927117133009 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927117137423:43927117138494 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927117140185:43927117142331 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 -43927117143634:43927117144236 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43927117145056:43927117145728 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 -43927117146613:43927117147012 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43927117601028:43927117601794 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43927117603041:43927117604575 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 -43927117605439:43927117978047 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43927117979272:43927117979897 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927117993152:43927117993801 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43927118002588:43927118013525 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 114 -43927118014502:43927118014907 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 114 -43927118016089:43927118017574 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 -43927118018565:43927118019043 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43927118020267:43927118032719 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f209288fc70) = 0 -43927118033709:43927118034596 26036:26036 hsa_signal_store_relaxed(, 114) = void -43927118036070:43927118036709 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43927118052517:43927118053166 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927118069100:43927118070044 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 -43927118070871:43927118071255 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 115 -43927118072046:43927118072375 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 114 -43927118073298:43927118073627 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43927118074459:43927118076107 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092897200) = 0 -43927118076853:43927118077302 26036:26036 hsa_signal_store_relaxed(, 115) = void -43927118078329:43927118532382 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927118533255:43927118533670 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927118534800:43927118535458 26036:26036 hsa_signal_destroy() = 0 -43927118536608:43927118537481 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 -43927118538314:43927118538705 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43927118539504:43927118539929 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 -43927118540718:43927118541060 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43927118541921:43927118542268 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43927118557291:43927118557900 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 -43927118613645:43927118617027 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927118618445:43927118618819 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927118621977:43927118622528 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927118624297:43927118624712 26036:26041 hsa_signal_destroy() = 0 -43927118626839:43927118627280 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927118628056:43927118628411 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927118558716:43927118979836 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43927119440922:43927119441664 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927133824230:43927133825224 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927133829662:43927133831185 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927133832800:43927133834891 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 -43927133836001:43927133836621 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43927133837478:43927133838148 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 -43927133842702:43927133843104 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43927134291450:43927134292162 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43927134293409:43927134294964 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 -43927134295876:43927134668377 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43927134669612:43927134670237 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927134683790:43927134684438 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43927134703364:43927134704119 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 116 -43927134705141:43927134705538 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 116 -43927134706577:43927134707863 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 -43927134708841:43927134709357 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43927134710542:43927134722867 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f20928957d0) = 0 -43927134723853:43927134724427 26036:26036 hsa_signal_store_relaxed(, 116) = void -43927134725822:43927134726457 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43927134743823:43927134744464 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927134747427:43927134748247 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 -43927134749107:43927134749506 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 117 -43927134759461:43927134759817 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 116 -43927134760759:43927134761082 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43927134761929:43927134763466 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f20928ac1d0) = 0 -43927134764219:43927134764674 26036:26036 hsa_signal_store_relaxed(, 117) = void -43927134765702:43927135226718 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927135227733:43927135228252 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927135229303:43927135229978 26036:26036 hsa_signal_destroy() = 0 -43927135231194:43927135232255 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 -43927135233095:43927135233536 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43927135234340:43927135234765 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 -43927135235554:43927135235895 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43927135250966:43927135251387 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43927135252205:43927135252971 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 -43927135307047:43927135310253 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927135311717:43927135312107 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927135315207:43927135315770 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927135317539:43927135317995 26036:26041 hsa_signal_destroy() = 0 -43927135320144:43927135320592 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927135321364:43927135321725 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927135254644:43927135674748 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43927136140732:43927136141467 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927150516381:43927150517370 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927150521523:43927150522630 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927150524255:43927150526396 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 -43927150527555:43927150528236 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43927150529076:43927150529748 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 -43927150530636:43927150531032 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43927150983729:43927150984822 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43927150986004:43927150987696 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 -43927150988716:43927151361263 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43927151362492:43927151363117 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927151377298:43927151377948 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43927151400203:43927151401015 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 118 -43927151402083:43927151402487 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 118 -43927151403610:43927151413624 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 -43927151414601:43927151415117 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43927151416295:43927151419405 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f20928a1b60) = 0 -43927151420388:43927151420976 26036:26036 hsa_signal_store_relaxed(, 118) = void -43927151422517:43927151433339 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43927151439739:43927151440386 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927151451958:43927151452751 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 -43927151457501:43927151457887 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 119 -43927151458681:43927151459017 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 118 -43927151459951:43927151460279 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43927151461100:43927151462808 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f20928b1360) = 0 -43927151463559:43927151464010 26036:26036 hsa_signal_store_relaxed(, 119) = void -43927151465060:43927151923044 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927151924028:43927151924444 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927151925457:43927151926100 26036:26036 hsa_signal_destroy() = 0 -43927151927368:43927151928237 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 -43927151929225:43927151929617 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43927151930389:43927151930820 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 -43927151931612:43927151931958 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43927151932842:43927151933188 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43927151948133:43927151948792 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 -43927152025224:43927152028759 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927152030303:43927152030700 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927152033815:43927152034387 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927152036203:43927152036683 26036:26041 hsa_signal_destroy() = 0 -43927152038922:43927152039357 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927152040156:43927152040523 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927151949624:43927152383301 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43927152844697:43927152845440 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927167222547:43927167223560 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927167227569:43927167228577 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927167230358:43927167232566 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 -43927167233940:43927167234525 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43927167235400:43927167236162 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 -43927167237106:43927167237500 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43927167691531:43927167692242 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43927167697493:43927167699161 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 -43927167699993:43927168072959 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43927168074320:43927168074961 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927168089024:43927168089668 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43927168112407:43927168113126 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 120 -43927168114248:43927168114739 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 120 -43927168124703:43927168125992 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 -43927168126863:43927168127339 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43927168128539:43927168132434 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f20928aefd0) = 0 -43927168133323:43927168133888 26036:26036 hsa_signal_store_relaxed(, 120) = void -43927168135426:43927168146068 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43927168152684:43927168153340 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927168165213:43927168166035 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 -43927168166856:43927168167237 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 121 -43927168168044:43927168168373 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 120 -43927168169308:43927168169637 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43927168170483:43927168172226 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f20928bd260) = 0 -43927168172984:43927168173433 26036:26036 hsa_signal_store_relaxed(, 121) = void -43927168174449:43927168636593 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927168637491:43927168638003 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927168639118:43927168639892 26036:26036 hsa_signal_destroy() = 0 -43927168641083:43927168641927 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 -43927168642766:43927168643158 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43927168643908:43927168644321 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 -43927168645111:43927168645457 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43927168646325:43927168646662 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43927168661755:43927168662404 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 -43927168717869:43927168721144 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927168725685:43927168726127 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927168729278:43927168729838 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927168731659:43927168732107 26036:26041 hsa_signal_destroy() = 0 -43927168734466:43927168734911 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927168735689:43927168736049 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927168663213:43927169083929 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43927169546416:43927169547200 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927183924489:43927183925344 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927183929564:43927183930781 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927183932532:43927183934678 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 -43927183935751:43927183936355 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43927183937177:43927183937842 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 -43927183938730:43927183939202 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43927184397146:43927184397977 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43927184399205:43927184400942 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 -43927184401878:43927184774169 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43927184775402:43927184776029 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927184789601:43927184790242 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43927184812847:43927184813701 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 122 -43927184814763:43927184815248 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 122 -43927184816320:43927184817565 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 -43927184827290:43927184827769 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43927184829092:43927184832673 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f20928b6cb0) = 0 -43927184833605:43927184834171 26036:26036 hsa_signal_store_relaxed(, 122) = void -43927184835586:43927184836224 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43927184853151:43927184853806 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927184865473:43927184866229 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 -43927184867047:43927184867424 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 123 -43927184868251:43927184868584 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 122 -43927184873169:43927184873497 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43927184874327:43927184876178 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f20928c4f30) = 0 -43927184876939:43927184877393 26036:26036 hsa_signal_store_relaxed(, 123) = void -43927184878388:43927185338955 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927185339903:43927185340313 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927185341433:43927185342276 26036:26036 hsa_signal_destroy() = 0 -43927185343475:43927185344594 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 -43927185345437:43927185345887 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43927185346636:43927185347092 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 -43927185347882:43927185348226 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43927185349092:43927185363835 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43927185364719:43927185365315 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 -43927185420727:43927185424063 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927185425504:43927185425884 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927185429158:43927185429710 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927185431476:43927185431920 26036:26041 hsa_signal_destroy() = 0 -43927185434103:43927185434527 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927185435297:43927185435657 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927185366112:43927185786839 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43927186247399:43927186248137 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927200629036:43927200629921 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927200634313:43927200635600 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927200637497:43927200639947 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 -43927200640939:43927200641516 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43927200642372:43927200643062 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 -43927200643953:43927200644353 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43927201092681:43927201093472 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43927201094880:43927201096683 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 -43927201101326:43927201470009 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43927201471168:43927201471799 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927201484975:43927201485625 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43927201509343:43927201509942 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 124 -43927201511067:43927201511471 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 124 -43927201512605:43927201522900 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 -43927201523785:43927201524250 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43927201525404:43927201529038 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f20928c0ff0) = 0 -43927201530072:43927201530638 26036:26036 hsa_signal_store_relaxed(, 124) = void -43927201532043:43927201542920 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43927201549198:43927201549857 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927201561877:43927201562928 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 -43927201563746:43927201564070 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 125 -43927201564870:43927201565205 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 124 -43927201566165:43927201566490 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43927201567602:43927201569251 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f20928cfaa0) = 0 -43927201569997:43927201570388 26036:26036 hsa_signal_store_relaxed(, 125) = void -43927201571378:43927202042677 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927202043717:43927202044226 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927202045414:43927202046089 26036:26036 hsa_signal_destroy() = 0 -43927202047258:43927202048212 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 -43927202049040:43927202049433 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43927202050193:43927202050621 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 -43927202051473:43927202051818 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43927202066980:43927202067403 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43927202068221:43927202068818 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 -43927202123989:43927202127280 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927202128847:43927202129232 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927202132365:43927202132914 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927202137621:43927202138072 26036:26041 hsa_signal_destroy() = 0 -43927202140255:43927202140745 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927202141521:43927202141879 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927202069621:43927202490957 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43927202951479:43927202952220 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927217331267:43927217332261 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927217336525:43927217337591 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927217339180:43927217341437 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 -43927217342526:43927217343082 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43927217343904:43927217344562 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 -43927217345674:43927217346141 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43927217800864:43927217801575 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43927217802924:43927217804515 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 -43927217805379:43927218178044 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43927218179322:43927218179949 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927218193269:43927218193931 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43927218216690:43927218217404 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 126 -43927218218458:43927218218866 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 126 -43927218219903:43927218229979 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 -43927218230964:43927218231369 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43927218232641:43927218236310 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f20928c41d0) = 0 -43927218237326:43927218238045 26036:26036 hsa_signal_store_relaxed(, 126) = void -43927218239453:43927218250163 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43927218256619:43927218257272 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927218269286:43927218270104 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 -43927218270925:43927218271303 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 127 -43927218272131:43927218272463 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 126 -43927218273643:43927218273972 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43927218278701:43927218280305 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f20928d2d40) = 0 -43927218281056:43927218281506 26036:26036 hsa_signal_store_relaxed(, 127) = void -43927218282511:43927218745863 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927218746849:43927218747258 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927218748434:43927218749067 26036:26036 hsa_signal_destroy() = 0 -43927218750262:43927218751132 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 -43927218751957:43927218752397 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43927218753205:43927218753638 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 -43927218754433:43927218754781 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43927218755649:43927218755985 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43927218756736:43927218757321 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 -43927218828564:43927218831909 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927218833427:43927218833803 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927218836912:43927218837463 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927218839260:43927218839673 26036:26041 hsa_signal_destroy() = 0 -43927218841788:43927218842211 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927218842983:43927218843346 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927218771945:43927219183077 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43927219643154:43927219643895 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927234025184:43927234026127 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927234030020:43927234031294 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927234032835:43927234035017 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 -43927234036263:43927234036958 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43927234037826:43927234038456 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 -43927234039351:43927234039762 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43927234491680:43927234492517 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43927234493681:43927234495211 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 -43927234496268:43927234868838 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43927234875655:43927234876295 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927234905637:43927234906296 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43927234923928:43927234924630 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 128 -43927234925647:43927234926041 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 128 -43927234927096:43927234928387 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 -43927234929288:43927234929851 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43927234930993:43927234934530 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f20928d6260) = 0 -43927234935505:43927234936070 26036:26036 hsa_signal_store_relaxed(, 128) = void -43927234937531:43927234938166 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43927234943967:43927234944607 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927234947247:43927234948008 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 -43927234949060:43927234949445 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 129 -43927234950238:43927234950574 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 128 -43927234951490:43927234951815 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43927234952656:43927234953424 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f20928dc520) = 0 -43927234954163:43927234954555 26036:26036 hsa_signal_store_relaxed(, 129) = void -43927234955616:43927235433027 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927235434109:43927235434619 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927235435767:43927235436411 26036:26036 hsa_signal_destroy() = 0 -43927235437583:43927235438518 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 -43927235439375:43927235439760 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43927235440572:43927235440997 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 -43927235441788:43927235442140 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43927235443003:43927235443342 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43927235458320:43927235458957 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 -43927235514447:43927235517761 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927235519218:43927235519591 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927235522668:43927235523218 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927235524981:43927235525435 26036:26041 hsa_signal_destroy() = 0 -43927235530694:43927235531187 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927235531965:43927235532320 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927235459768:43927235879860 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43927236346956:43927236347693 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927250725630:43927250726769 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927250730690:43927250731994 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927250733550:43927250735852 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 -43927250736919:43927250737496 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43927250738316:43927250739003 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 -43927250739906:43927250740306 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43927251190740:43927251191451 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43927251192640:43927251194082 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 -43927251194946:43927251567674 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43927251569457:43927251570085 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927251583152:43927251583803 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43927251606692:43927251607288 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 130 -43927251608328:43927251608734 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 130 -43927251609846:43927251611162 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 -43927251621202:43927251621623 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43927251622845:43927251626605 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f20928e0ef0) = 0 -43927251627566:43927251628151 26036:26036 hsa_signal_store_relaxed(, 130) = void -43927251629480:43927251640254 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43927251646720:43927251647381 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927251659926:43927251660671 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 -43927251661499:43927251661830 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 131 -43927251662658:43927251662995 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 130 -43927251663959:43927251664286 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43927251665146:43927251666979 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f20928ded80) = 0 -43927251671690:43927251672081 26036:26036 hsa_signal_store_relaxed(, 131) = void -43927251673075:43927252133166 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927252134189:43927252134613 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927252135812:43927252136437 26036:26036 hsa_signal_destroy() = 0 -43927252137608:43927252138502 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 -43927252139424:43927252139811 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43927252140672:43927252141120 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 -43927252141911:43927252142260 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43927252143122:43927252143466 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43927252158521:43927252159167 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 -43927252214939:43927252218254 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927252219681:43927252220056 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927252223228:43927252223780 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927252225581:43927252225992 26036:26041 hsa_signal_destroy() = 0 -43927252228125:43927252228552 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927252229326:43927252229686 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927252159971:43927252581455 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43927253040924:43927253041708 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927267416100:43927267416983 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927267420832:43927267422113 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927267423759:43927267425837 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 -43927267427177:43927267427767 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43927267428632:43927267429319 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 -43927267430212:43927267430685 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43927267884541:43927267885202 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43927267886463:43927267887966 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 -43927267888869:43927268261605 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43927268263080:43927268263714 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927268276896:43927268277555 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43927268312569:43927268313289 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 132 -43927268314309:43927268314697 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 132 -43927268315808:43927268317372 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 -43927268318210:43927268318674 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43927268319871:43927268323646 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f20928ea090) = 0 -43927268324615:43927268325440 26036:26036 hsa_signal_store_relaxed(, 132) = void -43927268326775:43927268327411 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43927268333520:43927268334180 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927268336636:43927268337389 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 -43927268338209:43927268338537 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 133 -43927268339334:43927268339664 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 132 -43927268340608:43927268340937 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43927268341765:43927268342486 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f20928e5990) = 0 -43927268343234:43927268343623 26036:26036 hsa_signal_store_relaxed(, 133) = void -43927268811702:43927268815219 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927268816925:43927268817395 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927268822068:43927268823886 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927268824903:43927268825283 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927268344623:43927268852396 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927268864039:43927268864598 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927268866355:43927268867161 26036:26036 hsa_signal_destroy() = 0 -43927268868248:43927268868816 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927268869731:43927268870200 26036:26036 hsa_signal_destroy() = 0 -43927268871498:43927268873132 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 -43927268874027:43927268874508 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43927268875352:43927268875912 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 -43927268876662:43927268877100 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43927268878046:43927268878487 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43927268881706:43927268882809 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 -43927268883605:43927269291320 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43927269735770:43927269736568 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927284354559:43927284355457 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927284361498:43927284362727 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927284364518:43927284366957 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 -43927284368107:43927284368757 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43927284369592:43927284370197 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 -43927284371000:43927284371480 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43927284824781:43927284825663 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43927284826788:43927284828506 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 -43927284829312:43927285202169 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43927285203402:43927285204030 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927285220574:43927285221249 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43927285245656:43927285255494 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 134 -43927285256428:43927285256919 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 134 -43927285258208:43927285259728 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 -43927285260549:43927285260913 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43927285262339:43927285266560 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f20928f55b0) = 0 -43927285267396:43927285268075 26036:26036 hsa_signal_store_relaxed(, 134) = void -43927285269689:43927285270324 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43927285277098:43927285277734 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927285280940:43927285281703 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 -43927285282487:43927285282825 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 135 -43927285283602:43927285283937 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 134 -43927285284964:43927285285294 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43927285286237:43927285287017 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f20928f1410) = 0 -43927285287785:43927285288224 26036:26036 hsa_signal_store_relaxed(, 135) = void -43927285289191:43927285771818 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927285776590:43927285777028 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927285778146:43927285778942 26036:26036 hsa_signal_destroy() = 0 -43927285780076:43927285781097 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 -43927285781948:43927285782327 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43927285797408:43927285797902 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 -43927285798686:43927285799050 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43927285799873:43927285800256 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43927285801031:43927285801684 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 -43927285853525:43927285856725 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927285858222:43927285858606 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927285861436:43927285861998 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927285863716:43927285864171 26036:26041 hsa_signal_destroy() = 0 -43927285866272:43927285866706 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927285867487:43927285867850 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927285802496:43927286224338 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43927286683712:43927286684477 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927301203672:43927301204912 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927301209425:43927301210717 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927301212104:43927301215208 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 -43927301216303:43927301216887 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43927301217997:43927301218644 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 -43927301219537:43927301219942 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43927301676861:43927301677572 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43927301678749:43927301680512 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 -43927301681639:43927302054397 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43927302055597:43927302056225 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927302076916:43927302077574 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43927302097399:43927302098002 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 136 -43927302109452:43927302109857 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 136 -43927302110848:43927302112151 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 -43927302112967:43927302113362 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43927302114567:43927302118371 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092909b30) = 0 -43927302119395:43927302119961 26036:26036 hsa_signal_store_relaxed(, 136) = void -43927302121416:43927302122056 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43927302128086:43927302128743 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927302131667:43927302132392 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 -43927302133220:43927302133562 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 137 -43927302134357:43927302134690 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 136 -43927302135624:43927302135943 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43927302136800:43927302137553 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f20929054a0) = 0 -43927302138309:43927302138704 26036:26036 hsa_signal_store_relaxed(, 137) = void -43927302607074:43927302611021 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927302612934:43927302613472 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927302617264:43927302619122 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927302620183:43927302620570 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927302139651:43927302648446 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927302660131:43927302660703 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927302662534:43927302663341 26036:26036 hsa_signal_destroy() = 0 -43927302664442:43927302664993 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927302665908:43927302666349 26036:26036 hsa_signal_destroy() = 0 -43927302667704:43927302669210 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 -43927302670126:43927302670656 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43927302671456:43927302672020 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 -43927302672769:43927302673157 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43927302674083:43927302674521 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43927302675359:43927302676438 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 -43927302677220:43927303085701 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43927303532835:43927303533641 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927318077094:43927318078292 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927318084639:43927318085909 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927318087711:43927318089943 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 -43927318091226:43927318091866 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43927318092712:43927318093271 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 -43927318094056:43927318094527 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43927318547481:43927318548321 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43927318549525:43927318551384 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 -43927318552188:43927318925173 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43927318926285:43927318926914 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927318943994:43927318944666 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43927318968809:43927318978633 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 138 -43927318979605:43927318980105 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 138 -43927318981417:43927318983178 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 -43927318983997:43927318984359 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43927318985830:43927318990235 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092910590) = 0 -43927318991073:43927318991747 26036:26036 hsa_signal_store_relaxed(, 138) = void -43927318993433:43927318994068 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43927319004716:43927319005355 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927319009207:43927319009921 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 -43927319010709:43927319011100 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 139 -43927319011880:43927319012225 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 138 -43927319013222:43927319013546 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43927319014433:43927319016314 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f209290e810) = 0 -43927319017088:43927319017545 26036:26036 hsa_signal_store_relaxed(, 139) = void -43927319018535:43927319492776 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927319493731:43927319494157 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927319497924:43927319498682 26036:26036 hsa_signal_destroy() = 0 -43927319499803:43927319500896 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 -43927319501732:43927319502150 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43927319502914:43927319517570 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 -43927319518446:43927319518811 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43927319519649:43927319520014 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43927319520804:43927319521474 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 -43927319573876:43927319577219 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927319578686:43927319579057 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927319581813:43927319582381 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927319584116:43927319584587 26036:26041 hsa_signal_destroy() = 0 -43927319586760:43927319587212 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927319587984:43927319588342 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927319522283:43927319941686 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43927320409901:43927320410632 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927334960053:43927334961008 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927334965709:43927334966793 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927334969100:43927334972234 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 -43927334973345:43927334973983 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43927334974840:43927334975434 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 -43927334976337:43927334976822 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43927335426737:43927335427636 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43927335428720:43927335430411 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 -43927335431309:43927335804057 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43927335805148:43927335805777 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927335820567:43927335821226 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43927335846301:43927335847015 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 140 -43927335848190:43927335848590 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 140 -43927335862932:43927335864391 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 -43927335865328:43927335865792 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43927335866967:43927335870725 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092919f60) = 0 -43927335871639:43927335872214 26036:26036 hsa_signal_store_relaxed(, 140) = void -43927335873740:43927335884367 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43927335890787:43927335891446 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927335903632:43927335904352 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 -43927335905180:43927335905555 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 141 -43927335906293:43927335906629 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 140 -43927335907542:43927335907864 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43927335908692:43927335910351 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f20929081b0) = 0 -43927335911103:43927335911549 26036:26036 hsa_signal_store_relaxed(, 141) = void -43927335912538:43927336378590 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927336379905:43927336380493 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927336381599:43927336382266 26036:26036 hsa_signal_destroy() = 0 -43927336383638:43927336384826 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 -43927336385670:43927336386062 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43927336386831:43927336387291 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 -43927336388030:43927336388400 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43927336403777:43927336404156 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43927336404962:43927336405824 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 -43927336460194:43927336463770 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927336465203:43927336465575 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927336468672:43927336469224 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927336470994:43927336471440 26036:26041 hsa_signal_destroy() = 0 -43927336473607:43927336474046 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927336474816:43927336475172 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927336406602:43927336828016 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43927337287378:43927337288117 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927351668144:43927351669146 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927351673423:43927351674685 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927351676697:43927351679582 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 -43927351680714:43927351681357 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43927351682191:43927351682823 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 -43927351683720:43927351684124 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43927352142440:43927352143183 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43927352144380:43927352145952 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 -43927352146877:43927352519673 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43927352520826:43927352521457 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927352535638:43927352536304 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43927352560952:43927352561669 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 142 -43927352562667:43927352563060 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 142 -43927352564188:43927352565400 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 -43927352566302:43927352567002 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43927352577068:43927352581478 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f209291baf0) = 0 -43927352582501:43927352583069 26036:26036 hsa_signal_store_relaxed(, 142) = void -43927352584529:43927352585162 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43927352601616:43927352602262 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927352614013:43927352614808 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 -43927352615645:43927352616018 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 143 -43927352616867:43927352617201 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 142 -43927352618190:43927352618517 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43927352619652:43927352621474 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092923b80) = 0 -43927352622229:43927352622676 26036:26036 hsa_signal_store_relaxed(, 143) = void -43927352623706:43927353087458 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927353088329:43927353088742 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927353089832:43927353090481 26036:26036 hsa_signal_destroy() = 0 -43927353095320:43927353096344 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 -43927353097258:43927353097658 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43927353112635:43927353113102 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 -43927353113917:43927353114304 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43927353115115:43927353115473 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43927353116242:43927353116847 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 -43927353167943:43927353171198 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927353172645:43927353173027 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927353176197:43927353176761 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927353178491:43927353178949 26036:26041 hsa_signal_destroy() = 0 -43927353181119:43927353181544 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927353182321:43927353182685 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927353117623:43927353539487 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43927354001352:43927354002134 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927368411678:43927368412725 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927368417160:43927368418588 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927368420474:43927368422546 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 -43927368423642:43927368424206 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43927368425109:43927368425972 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 -43927368426849:43927368427589 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43927368875053:43927368875772 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43927368877044:43927368878872 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 -43927368879764:43927369252494 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43927369253601:43927369254220 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927369267556:43927369268209 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43927369287644:43927369288379 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 144 -43927369289427:43927369289827 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 144 -43927369290932:43927369292197 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 -43927369293185:43927369293696 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43927369309657:43927369313672 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092929c20) = 0 -43927369314588:43927369315415 26036:26036 hsa_signal_store_relaxed(, 144) = void -43927369317029:43927369327943 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43927369334488:43927369335163 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927369347054:43927369347833 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 -43927369348827:43927369349203 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 145 -43927369349995:43927369350329 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 144 -43927369351249:43927369351578 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43927369352401:43927369354089 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f209292d8d0) = 0 -43927369354838:43927369355293 26036:26036 hsa_signal_store_relaxed(, 145) = void -43927369356459:43927369828516 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927369829434:43927369829944 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927369831110:43927369831762 26036:26036 hsa_signal_destroy() = 0 -43927369832786:43927369833804 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 -43927369834633:43927369835025 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43927369835789:43927369836210 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 -43927369837000:43927369837361 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43927369838204:43927369838547 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43927369853301:43927369853926 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 -43927369909797:43927369913168 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927369914648:43927369915019 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927369918203:43927369918756 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927369920534:43927369920994 26036:26041 hsa_signal_destroy() = 0 -43927369923113:43927369923536 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927369924307:43927369924666 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927369854730:43927370275973 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43927370737058:43927370737798 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927385128297:43927385129415 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927385137342:43927385138619 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927385140447:43927385142657 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 -43927385143788:43927385144425 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43927385145248:43927385145876 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 -43927385146709:43927385147178 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43927385618205:43927385619171 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43927385620426:43927385622169 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 -43927385623033:43927385996161 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43927385997342:43927385997968 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927386011780:43927386012425 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43927386035848:43927386036640 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 146 -43927386037767:43927386038233 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 146 -43927386048251:43927386049557 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 -43927386050475:43927386050953 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43927386052379:43927386056003 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f209292ab10) = 0 -43927386056953:43927386057519 26036:26036 hsa_signal_store_relaxed(, 146) = void -43927386059024:43927386069652 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43927386076298:43927386076946 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927386088886:43927386089657 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 -43927386090483:43927386090863 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 147 -43927386091660:43927386091997 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 146 -43927386092931:43927386093271 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43927386094092:43927386095633 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f209293d3a0) = 0 -43927386096384:43927386096884 26036:26036 hsa_signal_store_relaxed(, 147) = void -43927386097904:43927386564531 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927386565430:43927386565882 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927386567046:43927386567684 26036:26036 hsa_signal_destroy() = 0 -43927386568926:43927386569793 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 -43927386570867:43927386571318 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43927386573566:43927386574028 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 -43927386589123:43927386589562 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43927386590407:43927386590763 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43927386591541:43927386592157 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 -43927386646098:43927386649459 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927386650958:43927386651329 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927386654447:43927386655007 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927386656798:43927386657221 26036:26041 hsa_signal_destroy() = 0 -43927386659323:43927386659745 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927386660523:43927386660881 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927386592940:43927387013129 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43927387473761:43927387474502 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927401858883:43927401859781 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927401863959:43927401864996 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927401866687:43927401868779 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 -43927401870001:43927401870694 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43927401871555:43927401872175 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 -43927401873064:43927401873465 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43927402328351:43927402329162 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43927402330585:43927402332046 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 -43927402332947:43927402705473 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43927402706651:43927402707283 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927402721537:43927402722184 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43927402744792:43927402745513 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 148 -43927402746591:43927402747055 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 148 -43927402757242:43927402758563 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 -43927402759513:43927402760030 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43927402761229:43927402764867 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092935190) = 0 -43927402780009:43927402780590 26036:26036 hsa_signal_store_relaxed(, 148) = void -43927402782136:43927402782775 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43927402798431:43927402799065 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927402801764:43927402802522 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 -43927402803336:43927402803727 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 149 -43927402804516:43927402804856 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 148 -43927402805799:43927402806129 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43927402806955:43927402808588 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092a44980) = 0 -43927402809370:43927402809828 26036:26036 hsa_signal_store_relaxed(, 149) = void -43927402810834:43927403277399 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927403293606:43927403294136 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927403295288:43927403296059 26036:26036 hsa_signal_destroy() = 0 -43927403297265:43927403298208 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 -43927403299100:43927403299531 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43927403300293:43927403300737 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 -43927403301544:43927403301916 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43927403302789:43927403303148 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43927403303929:43927403304543 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 -43927403311097:43927403323579 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927403325070:43927403325445 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927403328625:43927403329175 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927403330952:43927403331418 26036:26041 hsa_signal_destroy() = 0 -43927403333559:43927403333988 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927403334760:43927403335116 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927403305317:43927403714281 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43927404182801:43927404183609 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927418560084:43927418561034 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927418565309:43927418566357 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927418568289:43927418570407 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 -43927418575255:43927418575920 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43927418576750:43927418577454 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 -43927418578306:43927418578707 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43927419031335:43927419032025 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43927419033210:43927419034690 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 -43927419035629:43927419408314 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43927419409570:43927419410195 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927419424137:43927419424789 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43927419443371:43927419444083 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 150 -43927419444986:43927419445397 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 150 -43927419446480:43927419447986 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 -43927419448908:43927419449418 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43927419450614:43927419463364 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f20929407d0) = 0 -43927419464307:43927419464875 26036:26036 hsa_signal_store_relaxed(, 150) = void -43927419466289:43927419466934 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43927419482997:43927419483654 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927419486377:43927419487141 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 -43927419487979:43927419488340 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 151 -43927419489198:43927419498396 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 150 -43927419499407:43927419499737 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43927419500662:43927419501094 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092a5afb0) = 0 -43927419501842:43927419502236 26036:26036 hsa_signal_store_relaxed(, 151) = void -43927419503245:43927419963817 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927419964789:43927419965213 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927419966379:43927419967117 26036:26036 hsa_signal_destroy() = 0 -43927419968296:43927419969371 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 -43927419970220:43927419970615 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43927419971372:43927419971823 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 -43927419974313:43927419974698 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43927419975505:43927419975861 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43927419976630:43927419977267 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 -43927420011273:43927420014998 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927420016557:43927420016945 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927420020304:43927420020884 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927420022677:43927420023152 26036:26041 hsa_signal_destroy() = 0 -43927420025363:43927420025822 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927420026607:43927420026983 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927419978033:43927420381261 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43927420828888:43927420829628 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927435208390:43927435209267 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927435213082:43927435214089 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927435216075:43927435218305 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 -43927435219563:43927435220278 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43927435221151:43927435221813 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 -43927435222905:43927435223339 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43927435673468:43927435674230 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43927435675562:43927435677140 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 -43927435678091:43927436050891 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43927436052159:43927436052796 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927436066613:43927436067258 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43927436086432:43927436087162 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 152 -43927436088160:43927436088642 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 152 -43927436089851:43927436091343 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 -43927436092215:43927436092739 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43927436093932:43927436107221 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092a530f0) = 0 -43927436108539:43927436109138 26036:26036 hsa_signal_store_relaxed(, 152) = void -43927436124387:43927436125053 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43927436131121:43927436140650 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927436143454:43927436144230 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 -43927436145042:43927436145422 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 153 -43927436146221:43927436146554 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 152 -43927436147493:43927436147814 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43927436148704:43927436150544 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092a5b3f0) = 0 -43927436151293:43927436151744 26036:26036 hsa_signal_store_relaxed(, 153) = void -43927436152739:43927436615879 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927436616806:43927436617325 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927436618556:43927436619285 26036:26036 hsa_signal_destroy() = 0 -43927436620435:43927436621795 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 -43927436622635:43927436623110 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43927436623907:43927436624337 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 -43927436625129:43927436625501 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43927436640682:43927436641060 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43927436641854:43927436642499 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 -43927436696873:43927436700293 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927436701721:43927436702092 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927436705263:43927436705816 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927436707542:43927436707991 26036:26041 hsa_signal_destroy() = 0 -43927436710134:43927436710556 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927436711329:43927436711689 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927436643278:43927437064169 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43927437525279:43927437526016 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927451901185:43927451902182 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927451906293:43927451907523 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927451909177:43927451911373 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 -43927451912648:43927451913237 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43927451918210:43927451918899 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 -43927451919766:43927451920281 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43927452378643:43927452379364 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43927452380576:43927452382297 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 -43927452383235:43927452755881 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43927452756997:43927452757628 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927452771275:43927452771923 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43927452790530:43927452791250 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 154 -43927452792294:43927452792778 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 154 -43927452793914:43927452795174 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 -43927452796054:43927452796577 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43927452797961:43927452810598 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092a5e320) = 0 -43927452811599:43927452812172 26036:26036 hsa_signal_store_relaxed(, 154) = void -43927452813560:43927452814196 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43927452830908:43927452831562 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927452834511:43927452835258 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 -43927452836081:43927452836504 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 155 -43927452837311:43927452846559 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 154 -43927452847520:43927452847843 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43927452848666:43927452849094 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092a6c840) = 0 -43927452849836:43927452850283 26036:26036 hsa_signal_store_relaxed(, 155) = void -43927452851306:43927453306219 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927453307196:43927453307599 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927453308677:43927453309387 26036:26036 hsa_signal_destroy() = 0 -43927453310570:43927453311731 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 -43927453312567:43927453312962 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43927453313701:43927453314123 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 -43927453314912:43927453315281 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43927453332226:43927453332593 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43927453333404:43927453334025 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 -43927453387360:43927453390682 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927453392177:43927453392558 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927453395704:43927453396277 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927453398056:43927453398513 26036:26041 hsa_signal_destroy() = 0 -43927453400634:43927453401088 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927453401861:43927453402221 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927453334797:43927453754577 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43927454215407:43927454216148 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927468603012:43927468604072 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927468608243:43927468609482 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927468611387:43927468613933 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 -43927468615054:43927468615858 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43927468616738:43927468617365 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 -43927468618468:43927468618935 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43927469089433:43927469090173 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43927469091768:43927469093342 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 -43927469094249:43927469482219 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43927469483474:43927469484097 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927469497702:43927469498352 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43927469521895:43927469522543 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 156 -43927469523661:43927469524069 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 156 -43927469525359:43927469535308 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 -43927469536184:43927469536705 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43927469537916:43927469541929 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092a78fa0) = 0 -43927469542898:43927469543480 26036:26036 hsa_signal_store_relaxed(, 156) = void -43927469544968:43927469555607 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43927469561966:43927469562620 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927469578717:43927469579740 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 -43927469580568:43927469580958 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 157 -43927469581758:43927469582099 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 156 -43927469583036:43927469583363 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43927469584216:43927469585892 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092a73c00) = 0 -43927469586638:43927469587032 26036:26036 hsa_signal_store_relaxed(, 157) = void -43927469588046:43927471437577 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927471438560:43927471439079 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927471440222:43927471440980 26036:26036 hsa_signal_destroy() = 0 -43927471442180:43927471443406 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 -43927471444243:43927471444637 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43927471445416:43927471445876 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 -43927471455566:43927471455952 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43927471456831:43927471457181 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43927471457944:43927471458572 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 -43927471493454:43927471496709 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927471498164:43927471498533 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927471511963:43927471512545 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927471514343:43927471514798 26036:26041 hsa_signal_destroy() = 0 -43927471516942:43927471517394 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927471518189:43927471518555 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927471459334:43927471889441 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43927472354455:43927472355235 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927486727279:43927486728276 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927486732578:43927486733694 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927486735209:43927486737345 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 -43927486738441:43927486739007 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43927486739833:43927486740697 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 -43927486745431:43927486746007 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43927487196236:43927487196906 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43927487198186:43927487199687 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 -43927487200623:43927487587843 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43927487589044:43927487589679 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927487603588:43927487604265 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43927487627307:43927487628075 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 158 -43927487629064:43927487629467 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 158 -43927487630483:43927487631791 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 -43927487632755:43927487633276 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43927487634462:43927487646967 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092a89ca0) = 0 -43927487647907:43927487648484 26036:26036 hsa_signal_store_relaxed(, 158) = void -43927487649916:43927487650547 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43927487666887:43927487667536 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927487670150:43927487671052 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 -43927487671922:43927487672283 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 159 -43927487673095:43927487682367 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 158 -43927487683356:43927487683688 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43927487684655:43927487685510 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092a7ece0) = 0 -43927487686260:43927487686710 26036:26036 hsa_signal_store_relaxed(, 159) = void -43927487687738:43927489528475 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927489529534:43927489530011 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927489531301:43927489531966 26036:26036 hsa_signal_destroy() = 0 -43927489533139:43927489534440 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 -43927489535283:43927489535690 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43927489536502:43927489545737 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 -43927489546529:43927489546897 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43927489547736:43927489548078 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43927489548832:43927489549479 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 -43927489585772:43927489589096 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927489590693:43927489591063 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927489604417:43927489604998 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927489606843:43927489607316 26036:26041 hsa_signal_destroy() = 0 -43927489609518:43927489610020 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927489610817:43927489611180 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927489551829:43927489980968 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43927490443017:43927490443760 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927504832295:43927504833352 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927504837379:43927504838492 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927504840008:43927504842154 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 -43927504843257:43927504844175 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43927504845052:43927504845718 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 -43927504846635:43927504847122 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43927505296761:43927505297526 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43927505298703:43927505300300 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 -43927505301268:43927505690416 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43927505691619:43927505692250 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927505709320:43927505709983 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43927505733927:43927505734572 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 160 -43927505735607:43927505736011 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 160 -43927505737147:43927505738757 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 -43927505748360:43927505748918 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43927505750170:43927505753782 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092a8b050) = 0 -43927505754745:43927505755316 26036:26036 hsa_signal_store_relaxed(, 160) = void -43927505756713:43927505757340 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43927505773543:43927505774195 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927505786182:43927505787020 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 -43927505790748:43927505791134 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 161 -43927505791876:43927505792212 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 160 -43927505793186:43927505793531 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43927505794360:43927505796021 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092a8eb30) = 0 -43927505796771:43927505797225 26036:26036 hsa_signal_store_relaxed(, 161) = void -43927505798230:43927507647772 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927507648783:43927507649300 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927507650465:43927507651134 26036:26036 hsa_signal_destroy() = 0 -43927507652384:43927507653435 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 -43927507654319:43927507654783 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43927507655545:43927507655980 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 -43927507665673:43927507666046 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43927507666903:43927507667252 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43927507668016:43927507668617 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 -43927507704076:43927507707269 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927507708737:43927507709118 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927507722610:43927507723205 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927507725003:43927507725479 26036:26041 hsa_signal_destroy() = 0 -43927507727687:43927507728126 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927507728917:43927507729284 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927507669369:43927508099954 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43927508560468:43927508561255 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927522939935:43927522941087 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927522945203:43927522946305 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927522948160:43927522950301 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 -43927522951382:43927522951964 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43927522952784:43927522953601 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 -43927522954489:43927522954959 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43927523407410:43927523408171 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43927523413297:43927523414863 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 -43927523415998:43927523803710 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43927523804844:43927523805472 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927523819267:43927523819917 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43927523828424:43927523839363 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 162 -43927523840238:43927523840637 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 162 -43927523841715:43927523843197 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 -43927523844381:43927523844866 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43927523846136:43927523859134 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092aa7380) = 0 -43927523860078:43927523860650 26036:26036 hsa_signal_store_relaxed(, 162) = void -43927523862235:43927523862874 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43927523878642:43927523879287 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927523881876:43927523882622 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 -43927523883473:43927523883869 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 163 -43927523884645:43927523884993 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 162 -43927523895134:43927523895492 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43927523896342:43927523896755 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092aa3dd0) = 0 -43927523897503:43927523897948 26036:26036 hsa_signal_store_relaxed(, 163) = void -43927523898977:43927525737504 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927525738651:43927525739067 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927525740288:43927525740986 26036:26036 hsa_signal_destroy() = 0 -43927525742341:43927525743343 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 -43927525744219:43927525744647 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43927525745416:43927525745872 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 -43927525755550:43927525755934 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43927525756814:43927525757170 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43927525757939:43927525758714 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 -43927525794448:43927525797753 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927525814910:43927525815397 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927525818682:43927525819290 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927525821075:43927525821552 26036:26041 hsa_signal_destroy() = 0 -43927525823795:43927525824266 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927525825055:43927525825419 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927525759482:43927526189457 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43927526653886:43927526654625 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927541041956:43927541042957 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927541046880:43927541048106 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927541049926:43927541052114 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 -43927541053613:43927541054196 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43927541055050:43927541055794 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 -43927541056687:43927541057085 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43927541506748:43927541507458 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43927541508643:43927541510120 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 -43927541511016:43927541899054 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43927541900282:43927541900910 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927541913599:43927541914252 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43927541923338:43927541924053 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 164 -43927541939605:43927541940017 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 164 -43927541941099:43927541942286 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 -43927541943166:43927541943652 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43927541945065:43927541958209 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092aaf8a0) = 0 -43927541959222:43927541959796 26036:26036 hsa_signal_store_relaxed(, 164) = void -43927541961386:43927541962028 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43927541978232:43927541978885 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927541982473:43927541983239 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 -43927541984133:43927541984491 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 165 -43927541998411:43927541998757 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 164 -43927541999717:43927542000043 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43927542000881:43927542002521 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092aa8910) = 0 -43927542003275:43927542003670 26036:26036 hsa_signal_store_relaxed(, 165) = void -43927542004759:43927543836250 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927543837251:43927543837779 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927543838914:43927543839703 26036:26036 hsa_signal_destroy() = 0 -43927543840890:43927543841825 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 -43927543842731:43927543843188 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43927543843951:43927543844390 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 -43927543854248:43927543854679 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43927543855474:43927543855826 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43927543856587:43927543857196 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 -43927543892534:43927543895780 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927543897200:43927543897577 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927543911082:43927543911659 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927543913498:43927543913962 26036:26041 hsa_signal_destroy() = 0 -43927543916121:43927543916573 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927543917372:43927543917741 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927543857960:43927544288675 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43927544751020:43927544751762 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927559125725:43927559126894 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927559131309:43927559132554 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927559134706:43927559137629 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 -43927559138964:43927559139551 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43927559140378:43927559141036 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 -43927559141925:43927559142391 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43927559595820:43927559596477 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43927559597713:43927559599488 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 -43927559603916:43927559988333 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43927559989509:43927559990142 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927560008723:43927560009381 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43927560032983:43927560033759 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 166 -43927560034764:43927560035255 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 166 -43927560036527:43927560046509 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 -43927560047424:43927560048033 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43927560049337:43927560053197 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092ac3400) = 0 -43927560054097:43927560054669 26036:26036 hsa_signal_store_relaxed(, 166) = void -43927560056114:43927560056745 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43927560073066:43927560073722 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927560085234:43927560085995 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 -43927560086828:43927560087172 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 167 -43927560087977:43927560088313 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 166 -43927560089257:43927560089587 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43927560090419:43927560092021 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092abf1f0) = 0 -43927560092769:43927560093219 26036:26036 hsa_signal_store_relaxed(, 167) = void -43927560094257:43927561938883 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927561939882:43927561940302 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927561941442:43927561942100 26036:26036 hsa_signal_destroy() = 0 -43927561943287:43927561944393 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 -43927561945265:43927561945681 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43927561946449:43927561946907 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 -43927561956579:43927561956960 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43927561957833:43927561958180 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43927561958939:43927561959579 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 -43927561995360:43927561998514 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927561999934:43927562000306 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927562016941:43927562017531 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927562019411:43927562019867 26036:26041 hsa_signal_destroy() = 0 -43927562022140:43927562022614 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927562023400:43927562023775 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927561960331:43927562391671 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43927562854673:43927562855408 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927577237218:43927577238452 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927577242850:43927577243946 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927577245687:43927577248123 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 -43927577249170:43927577249794 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43927577250750:43927577251476 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 -43927577252372:43927577252799 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43927577703734:43927577704445 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43927577705734:43927577707205 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 -43927577708109:43927578095931 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43927578097128:43927578097748 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927578111215:43927578111864 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43927578135265:43927578136025 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 168 -43927578137098:43927578137495 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 168 -43927578138571:43927578139877 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 -43927578140740:43927578141157 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43927578142455:43927578155251 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092ad1ce0) = 0 -43927578156395:43927578156969 26036:26036 hsa_signal_store_relaxed(, 168) = void -43927578158443:43927578159082 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43927578174989:43927578175633 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927578178633:43927578179414 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 -43927578180397:43927578180757 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 169 -43927578190753:43927578191106 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 168 -43927578192064:43927578192393 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43927578197089:43927578198690 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092acf3b0) = 0 -43927578199441:43927578199890 26036:26036 hsa_signal_store_relaxed(, 169) = void -43927578200910:43927580031557 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927580032682:43927580033221 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927580034362:43927580035039 26036:26036 hsa_signal_destroy() = 0 -43927580036238:43927580037418 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 -43927580038267:43927580038669 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43927580039433:43927580039866 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 -43927580049448:43927580049881 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43927580050750:43927580051102 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43927580051866:43927580052455 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 -43927580088510:43927580091814 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927580093275:43927580093647 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927580106940:43927580107540 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927580109344:43927580109822 26036:26041 hsa_signal_destroy() = 0 -43927580112034:43927580112475 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927580113267:43927580113631 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927580053205:43927580483031 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43927580944652:43927580945388 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927595318764:43927595319897 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927595324191:43927595325762 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927595327823:43927595330697 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 -43927595331845:43927595332414 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43927595333305:43927595334038 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 -43927595334929:43927595335394 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43927595787850:43927595788646 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43927595789876:43927595791441 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 -43927595792314:43927596181100 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43927596185699:43927596186339 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927596200936:43927596201608 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43927596220026:43927596220682 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 170 -43927596221686:43927596222089 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 170 -43927596223171:43927596224402 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 -43927596234724:43927596235248 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43927596236686:43927596240210 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092ae3440) = 0 -43927596241041:43927596241605 26036:26036 hsa_signal_store_relaxed(, 170) = void -43927596243066:43927596243700 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43927596261107:43927596261770 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927596273394:43927596274179 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 -43927596274997:43927596275378 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 171 -43927596276191:43927596276526 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 170 -43927596277463:43927596277783 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43927596278648:43927596280304 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092adf600) = 0 -43927596281055:43927596281450 26036:26036 hsa_signal_store_relaxed(, 171) = void -43927596282470:43927598128538 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927598129543:43927598129959 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927598131076:43927598131751 26036:26036 hsa_signal_destroy() = 0 -43927598132926:43927598134003 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 -43927598134862:43927598135261 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43927598136037:43927598136470 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 -43927598146024:43927598146437 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43927598147333:43927598147684 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43927598148446:43927598149084 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 -43927598185123:43927598188364 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927598189777:43927598190152 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927598203746:43927598204334 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927598206115:43927598206583 26036:26041 hsa_signal_destroy() = 0 -43927598211920:43927598212424 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927598213231:43927598213599 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927598149841:43927598580419 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43927599038880:43927599039620 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927613427365:43927613428497 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927613432611:43927613433952 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927613435650:43927613437800 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 -43927613438846:43927613439431 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43927613440288:43927613440998 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 -43927613441883:43927613442280 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43927613894380:43927613895102 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43927613896351:43927613897929 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 -43927613898946:43927614286891 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43927614288338:43927614288965 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927614301721:43927614302372 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43927614321270:43927614322020 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 172 -43927614323097:43927614323685 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 172 -43927614324709:43927614326113 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 -43927614327101:43927614327516 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43927614328783:43927614341747 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092ae5250) = 0 -43927614342806:43927614343382 26036:26036 hsa_signal_store_relaxed(, 172) = void -43927614344847:43927614345485 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43927614361516:43927614362163 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927614365196:43927614366000 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 -43927614366853:43927614367236 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 173 -43927614377107:43927614377463 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 172 -43927614378576:43927614378908 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43927614379775:43927614380282 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092aede70) = 0 -43927614385218:43927614385902 26036:26036 hsa_signal_store_relaxed(, 173) = void -43927614386929:43927616228042 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927616229066:43927616229602 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927616230782:43927616231462 26036:26036 hsa_signal_destroy() = 0 -43927616232684:43927616233679 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 -43927616234590:43927616235046 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43927616235874:43927616236310 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 -43927616246130:43927616246566 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43927616247428:43927616247781 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43927616248543:43927616249163 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 -43927616284851:43927616288064 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927616289479:43927616289852 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927616303289:43927616303884 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927616305664:43927616306135 26036:26041 hsa_signal_destroy() = 0 -43927616308269:43927616308727 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927616309529:43927616309895 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927616249913:43927616679904 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43927617140359:43927617141142 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927631517201:43927631518132 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927631522386:43927631523572 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927631525292:43927631527452 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 -43927631528615:43927631529195 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43927631530020:43927631531013 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 -43927631531904:43927631532367 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43927631986432:43927631987119 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43927631988289:43927631989868 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 -43927631990919:43927632380132 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43927632381525:43927632382161 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927632395038:43927632395687 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43927632417996:43927632418712 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 174 -43927632419697:43927632420100 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 174 -43927632421342:43927632422669 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 -43927632423533:43927632424051 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43927632434273:43927632438167 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092af0840) = 0 -43927632439091:43927632439664 26036:26036 hsa_signal_store_relaxed(, 174) = void -43927632441190:43927632441825 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43927632458388:43927632459050 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927632470804:43927632471567 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 -43927632472386:43927632472767 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 175 -43927632473561:43927632473894 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 174 -43927632474819:43927632475149 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43927632475979:43927632477604 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092af9b50) = 0 -43927632478341:43927632478787 26036:26036 hsa_signal_store_relaxed(, 175) = void -43927632479797:43927634323723 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927634324790:43927634325211 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927634326269:43927634327238 26036:26036 hsa_signal_destroy() = 0 -43927634328652:43927634329525 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 -43927634330425:43927634330877 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43927634331695:43927634341235 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 -43927634342102:43927634342472 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43927634343323:43927634343666 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43927634344423:43927634345001 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 -43927634380262:43927634383570 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927634385042:43927634385416 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927634399033:43927634399624 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927634401450:43927634401915 26036:26041 hsa_signal_destroy() = 0 -43927634404127:43927634404581 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927634408557:43927634408941 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927634345761:43927634776418 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43927635237891:43927635238681 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927649627556:43927649628562 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927649632525:43927649633598 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927649635500:43927649637718 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 -43927649639182:43927649639799 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43927649640665:43927649641396 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 -43927649642276:43927649642778 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43927650092573:43927650093360 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43927650094601:43927650096171 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 -43927650097313:43927650485807 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43927650487092:43927650487729 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927650500465:43927650501130 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43927650510031:43927650510646 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 176 -43927650526278:43927650526682 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 176 -43927650527707:43927650529046 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 -43927650529988:43927650530378 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43927650531686:43927650544680 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092af7770) = 0 -43927650545705:43927650546281 26036:26036 hsa_signal_store_relaxed(, 176) = void -43927650547775:43927650548408 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43927650564148:43927650564787 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927650567568:43927650568361 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 -43927650569218:43927650569621 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 177 -43927650570484:43927650570825 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 176 -43927650580790:43927650581146 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43927650582023:43927650582451 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092b09ee0) = 0 -43927650583227:43927650583876 26036:26036 hsa_signal_store_relaxed(, 177) = void -43927650589144:43927652427795 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927652428884:43927652429417 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927652430606:43927652431350 26036:26036 hsa_signal_destroy() = 0 -43927652432537:43927652433540 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 -43927652434476:43927652434880 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43927652435643:43927652436113 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 -43927652445813:43927652446198 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43927652447057:43927652447402 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43927652448160:43927652448816 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 -43927652484824:43927652488018 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927652489421:43927652489794 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927652503112:43927652503693 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927652505497:43927652505961 26036:26041 hsa_signal_destroy() = 0 -43927652508142:43927652508613 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927652509409:43927652509775 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927652449568:43927652879954 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43927653340366:43927653341102 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927667718575:43927667719566 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927667723608:43927667724754 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927667726622:43927667728877 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 -43927667730045:43927667730641 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43927667731465:43927667732184 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 -43927667733071:43927667733473 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43927668191457:43927668192238 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43927668193556:43927668195076 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 -43927668195945:43927668584363 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43927668585553:43927668586177 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927668599392:43927668600039 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43927668623435:43927668624183 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 178 -43927668628787:43927668629349 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 178 -43927668630501:43927668632005 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 -43927668641638:43927668642175 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43927668643377:43927668647462 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092b03270) = 0 -43927668648580:43927668649167 26036:26036 hsa_signal_store_relaxed(, 178) = void -43927668650879:43927668661744 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43927668668670:43927668669342 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927668681119:43927668681875 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 -43927668682696:43927668683079 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 179 -43927668683877:43927668684219 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 178 -43927668685140:43927668685463 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43927668686287:43927668687789 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092b1a080) = 0 -43927668697245:43927668697675 26036:26036 hsa_signal_store_relaxed(, 179) = void -43927668698757:43927670535803 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927670536801:43927670537224 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927670538343:43927670538980 26036:26036 hsa_signal_destroy() = 0 -43927670540202:43927670541240 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 -43927670542092:43927670542547 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43927670543367:43927670543804 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 -43927670553763:43927670554146 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43927670555012:43927670555359 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43927670556114:43927670556689 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 -43927670593110:43927670596299 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927670597732:43927670598112 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927670611455:43927670612051 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927670613842:43927670614320 26036:26041 hsa_signal_destroy() = 0 -43927670616540:43927670617083 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927670617883:43927670618253 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927670557438:43927670987838 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43927671450779:43927671451574 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927685835635:43927685836642 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927685841122:43927685842332 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927685844031:43927685846625 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 -43927685847930:43927685848518 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43927685849378:43927685849990 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 -43927685850904:43927685851306 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43927686302070:43927686302779 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43927686304112:43927686305641 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 -43927686306538:43927686697394 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43927686698628:43927686699254 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927686712376:43927686713019 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43927686732400:43927686733163 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 180 -43927686734234:43927686734634 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 180 -43927686735636:43927686736940 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 -43927686738011:43927686738351 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43927686739600:43927686752742 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092b0d930) = 0 -43927686753776:43927686754346 26036:26036 hsa_signal_store_relaxed(, 180) = void -43927686756042:43927686756676 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43927686772982:43927686773628 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927686776523:43927686777303 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 -43927686778335:43927686778725 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 181 -43927686788734:43927686789091 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 180 -43927686790037:43927686790364 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43927686791236:43927686792092 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092b2af60) = 0 -43927686792873:43927686793319 26036:26036 hsa_signal_store_relaxed(, 181) = void -43927686794553:43927688633884 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927688634940:43927688635422 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927688640614:43927688641264 26036:26036 hsa_signal_destroy() = 0 -43927688651355:43927688652372 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 -43927688653245:43927688653637 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43927688654430:43927688654851 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 -43927688655639:43927688656004 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43927688656850:43927688657198 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43927688657950:43927688658594 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 -43927688690900:43927688694263 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927688695739:43927688696111 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927688709556:43927688710145 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927688711973:43927688712442 26036:26041 hsa_signal_destroy() = 0 -43927688714646:43927688715109 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927688715892:43927688716257 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927688659352:43927689093374 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43927689554004:43927689554767 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927703931302:43927703932297 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927703936317:43927703937467 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927703939152:43927703941289 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 -43927703942536:43927703943113 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43927703943938:43927703944575 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 -43927703945497:43927703945898 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43927704407784:43927704408554 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43927704409821:43927704411744 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 -43927704412635:43927704800984 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43927704802162:43927704802783 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927704820891:43927704821549 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43927704840509:43927704841143 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 182 -43927704842190:43927704842670 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 182 -43927704855685:43927704856946 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 -43927704857809:43927704858326 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43927704859462:43927704863178 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092b25f80) = 0 -43927704864078:43927704864643 26036:26036 hsa_signal_store_relaxed(, 182) = void -43927704866125:43927704866758 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43927704873092:43927704873749 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927704876276:43927704877222 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 -43927704878036:43927704878382 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 183 -43927704879179:43927704879514 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 182 -43927704880429:43927704880755 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43927704881654:43927704882388 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092b2be20) = 0 -43927704883134:43927704883524 26036:26036 hsa_signal_store_relaxed(, 183) = void -43927706715138:43927706718913 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927706720558:43927706721057 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927706747807:43927706749529 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927706750501:43927706751023 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927704884559:43927706788221 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927706799982:43927706800551 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927706802239:43927706803128 26036:26036 hsa_signal_destroy() = 0 -43927706804211:43927706804646 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927706805555:43927706805969 26036:26036 hsa_signal_destroy() = 0 -43927706807377:43927706808877 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 -43927706809762:43927706810242 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43927706811085:43927706811643 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 -43927706812405:43927706812791 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43927706813714:43927706814148 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43927706814988:43927706816067 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 -43927706816847:43927707228760 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43927707702055:43927707702890 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927722294103:43927722295219 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927722301453:43927722302570 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927722304334:43927722306906 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 -43927722308174:43927722308844 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43927722309734:43927722310312 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 -43927722311135:43927722311623 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43927722764526:43927722765638 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43927722767049:43927722768650 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 -43927722769491:43927723142551 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43927723143810:43927723144481 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927723161557:43927723162221 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43927723196572:43927723197298 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 184 -43927723198249:43927723198738 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 184 -43927723199969:43927723201621 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 -43927723202410:43927723202775 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43927723204190:43927723208855 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092b33cd0) = 0 -43927723209874:43927723210552 26036:26036 hsa_signal_store_relaxed(, 184) = void -43927723212272:43927723212913 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43927723219488:43927723220149 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927723223419:43927723224128 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 -43927723224942:43927723225270 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 185 -43927723226081:43927723226424 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 184 -43927723227429:43927723227774 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43927723228690:43927723230587 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092b39580) = 0 -43927723231396:43927723231854 26036:26036 hsa_signal_store_relaxed(, 185) = void -43927723232814:43927723715986 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927723716891:43927723717417 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927723718545:43927723719463 26036:26036 hsa_signal_destroy() = 0 -43927723724346:43927723725425 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 -43927723726257:43927723740953 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43927723741800:43927723742279 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 -43927723743038:43927723743441 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43927723744305:43927723744690 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43927723745488:43927723746347 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 -43927723797442:43927723800679 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927723802126:43927723802502 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927723805427:43927723805993 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927723807803:43927723808273 26036:26041 hsa_signal_destroy() = 0 -43927723810387:43927723810816 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927723811586:43927723811945 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927723747155:43927724167780 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43927724627575:43927724628459 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927739008531:43927739009524 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927739014306:43927739015486 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927739017296:43927739020367 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 -43927739021721:43927739022345 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43927739023178:43927739023789 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 -43927739024676:43927739025250 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43927739478406:43927739479196 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43927739480493:43927739481819 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 -43927739482640:43927739855579 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43927739857204:43927739857830 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927739872843:43927739873489 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43927739894041:43927739894682 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 186 -43927739895678:43927739896163 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 186 -43927739897528:43927739899003 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 -43927739909074:43927739909620 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43927739915092:43927739918810 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092b4ad00) = 0 -43927739919754:43927739920325 26036:26036 hsa_signal_store_relaxed(, 186) = void -43927739921798:43927739922440 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43927739928629:43927739929284 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927739932068:43927739932817 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 -43927739933649:43927739934036 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 187 -43927739934832:43927739935168 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 186 -43927739936094:43927739936418 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43927739937295:43927739938067 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092b48500) = 0 -43927739938819:43927739939269 26036:26036 hsa_signal_store_relaxed(, 187) = void -43927740413734:43927740417062 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927740418696:43927740419231 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927740423715:43927740425429 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927740426561:43927740426966 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927739940242:43927740455451 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927740467154:43927740467734 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927740469355:43927740470252 26036:26036 hsa_signal_destroy() = 0 -43927740471297:43927740471941 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927740472955:43927740473388 26036:26036 hsa_signal_destroy() = 0 -43927740474727:43927740476300 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 -43927740477216:43927740477698 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43927740478515:43927740479072 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 -43927740479818:43927740480203 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43927740481124:43927740481558 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43927740482403:43927740483551 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 -43927740484334:43927740891656 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43927741335022:43927741335874 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927755917182:43927755918136 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927755930431:43927755931533 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927755933315:43927755935813 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 -43927755937094:43927755938004 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43927755938838:43927755939396 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 -43927755940168:43927755940645 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43927756418583:43927756419458 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43927756420794:43927756422694 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 -43927756423482:43927756796357 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43927756797569:43927756798239 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927756814797:43927756815441 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43927756849519:43927756850152 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 188 -43927756851044:43927756851528 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 188 -43927756852600:43927756854185 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 -43927756854971:43927756855336 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43927756856702:43927756860905 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092b5c650) = 0 -43927756861745:43927756862418 26036:26036 hsa_signal_store_relaxed(, 188) = void -43927756863927:43927756864581 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43927756871103:43927756871758 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927756875002:43927756875758 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 -43927756876557:43927756876944 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 189 -43927756877692:43927756878038 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 188 -43927756878975:43927756879315 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43927756880165:43927756880606 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092b5ca90) = 0 -43927756881374:43927756881818 26036:26036 hsa_signal_store_relaxed(, 189) = void -43927756882829:43927757365024 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927757366113:43927757366717 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927757367868:43927757368611 26036:26036 hsa_signal_destroy() = 0 -43927757369841:43927757371143 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 -43927757373723:43927757374134 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43927757374887:43927757375364 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 -43927757390388:43927757390846 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43927757391714:43927757392115 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43927757392966:43927757393649 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 -43927757446965:43927757450243 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927757451766:43927757452138 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927757454896:43927757455458 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927757457255:43927757457707 26036:26041 hsa_signal_destroy() = 0 -43927757459827:43927757460268 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927757461048:43927757461410 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927757394446:43927757814703 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43927758276232:43927758276973 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927772695291:43927772696607 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927772701307:43927772702412 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927772704008:43927772706726 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 -43927772708026:43927772708763 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43927772709588:43927772710435 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 -43927772711307:43927772711793 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43927773159804:43927773160621 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43927773161684:43927773163469 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 -43927773164284:43927773537227 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43927773538489:43927773539118 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927773554478:43927773555128 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43927773575987:43927773576636 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 190 -43927773577569:43927773577976 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 190 -43927773579088:43927773580335 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 -43927773590469:43927773590964 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43927773592271:43927773596138 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092b6aff0) = 0 -43927773611179:43927773611783 26036:26036 hsa_signal_store_relaxed(, 190) = void -43927773613467:43927773614111 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43927773629221:43927773629855 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927773632572:43927773633307 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 -43927773634126:43927773634516 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 191 -43927773635248:43927773635587 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 190 -43927773636548:43927773636870 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43927773637722:43927773639566 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092b67840) = 0 -43927773640314:43927773640777 26036:26036 hsa_signal_store_relaxed(, 191) = void -43927773641827:43927774112952 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927774113885:43927774114289 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927774115363:43927774116154 26036:26036 hsa_signal_destroy() = 0 -43927774117301:43927774118307 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 -43927774119123:43927774119508 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43927774120250:43927774120683 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 -43927774121475:43927774121821 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43927774122677:43927774123027 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43927774137956:43927774138602 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 -43927774194010:43927774197341 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927774198762:43927774199134 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927774202387:43927774202950 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927774204666:43927774205123 26036:26041 hsa_signal_destroy() = 0 -43927774207274:43927774207709 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927774208484:43927774208846 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927774139412:43927774560389 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43927775021032:43927775022025 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927789416439:43927789417461 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927789421462:43927789422476 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927789428709:43927789431559 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 -43927789432835:43927789433659 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43927789434500:43927789435187 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 -43927789436038:43927789436523 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43927789889067:43927789889892 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43927789891055:43927789892836 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 -43927789893770:43927790266705 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43927790267904:43927790268531 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927790284354:43927790285016 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43927790304228:43927790304867 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 192 -43927790305764:43927790306171 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 192 -43927790307403:43927790308911 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 -43927790309771:43927790310296 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43927790320751:43927790324462 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092b78070) = 0 -43927790325385:43927790325983 26036:26036 hsa_signal_store_relaxed(, 192) = void -43927790327572:43927790328209 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43927790344556:43927790345207 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927790347990:43927790357677 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 -43927790358518:43927790358901 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 193 -43927790359705:43927790360043 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 192 -43927790361005:43927790361333 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43927790362195:43927790363803 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092b7df20) = 0 -43927790364553:43927790364947 26036:26036 hsa_signal_store_relaxed(, 193) = void -43927790365961:43927790835296 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927790836293:43927790836796 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927790837883:43927790838542 26036:26036 hsa_signal_destroy() = 0 -43927790839835:43927790840684 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 -43927790841499:43927790841930 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43927790842671:43927790843093 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 -43927790844991:43927790845344 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43927790860586:43927790860970 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43927790861768:43927790862421 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 -43927790916245:43927790919583 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927790921052:43927790921423 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927790924497:43927790925064 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927790926807:43927790927216 26036:26041 hsa_signal_destroy() = 0 -43927790929310:43927790929750 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927790930520:43927790930881 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927790863227:43927791284216 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43927791744411:43927791745161 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927806131789:43927806132997 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927806137739:43927806138938 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927806140981:43927806143705 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 -43927806145025:43927806145668 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43927806146493:43927806147136 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 -43927806148004:43927806148406 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43927806599088:43927806599868 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43927806601324:43927806602960 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 -43927806603822:43927806976883 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43927806978150:43927806978780 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927806992238:43927806992886 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43927807016132:43927807016772 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 194 -43927807017828:43927807018239 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 194 -43927807019513:43927807029751 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 -43927807030681:43927807031146 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43927807032582:43927807036361 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092b8f7a0) = 0 -43927807037252:43927807038081 26036:26036 hsa_signal_store_relaxed(, 194) = void -43927807053541:43927807054212 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43927807060464:43927807070017 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927807072584:43927807073558 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 -43927807074370:43927807074747 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 195 -43927807075541:43927807075870 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 194 -43927807076797:43927807077120 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43927807077938:43927807079834 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092b8aa00) = 0 -43927807080581:43927807080979 26036:26036 hsa_signal_store_relaxed(, 195) = void -43927807081981:43927807544792 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927807545752:43927807546157 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927807547273:43927807547935 26036:26036 hsa_signal_destroy() = 0 -43927807549175:43927807550141 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 -43927807550989:43927807551372 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43927807552132:43927807552553 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 -43927807553352:43927807553696 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43927807554478:43927807554813 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43927807570016:43927807570707 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 -43927807626744:43927807630055 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927807631516:43927807631893 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927807635002:43927807635554 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927807637293:43927807637753 26036:26041 hsa_signal_destroy() = 0 -43927807639910:43927807640335 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927807641114:43927807641479 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927807571534:43927807992900 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43927808458893:43927808459643 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927822839908:43927822841065 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927822845318:43927822846473 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927822848264:43927822850518 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 -43927822851628:43927822852314 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43927822857479:43927822858105 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 -43927822858931:43927822859335 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43927823310172:43927823310991 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43927823312145:43927823314012 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 -43927823314944:43927823688618 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43927823689867:43927823690497 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927823704436:43927823705106 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43927823727953:43927823728716 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 196 -43927823729882:43927823730285 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 196 -43927823740215:43927823741507 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 -43927823742419:43927823742930 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43927823744119:43927823747816 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092ba0d40) = 0 -43927823748787:43927823749356 26036:26036 hsa_signal_store_relaxed(, 196) = void -43927823750857:43927823751495 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43927823767805:43927823768459 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927823781200:43927823781983 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 -43927823782810:43927823783189 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 197 -43927823783917:43927823784247 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 196 -43927823785175:43927823785496 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43927823786336:43927823787932 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092b9e230) = 0 -43927823788676:43927823789120 26036:26036 hsa_signal_store_relaxed(, 197) = void -43927823790118:43927824255493 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927824256477:43927824256948 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927824258056:43927824258708 26036:26036 hsa_signal_destroy() = 0 -43927824259990:43927824261134 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 -43927824261977:43927824262368 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43927824263116:43927824263540 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 -43927824264327:43927824264668 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43927824281346:43927824281720 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43927824282516:43927824283138 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 -43927824337892:43927824341307 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927824342751:43927824343122 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927824346207:43927824346768 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927824348552:43927824349006 26036:26041 hsa_signal_destroy() = 0 -43927824351229:43927824351662 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927824352437:43927824352791 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927824283916:43927824704081 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43927825166815:43927825167553 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927839562477:43927839563604 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927839567766:43927839568874 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927839570735:43927839572687 26036:26036 hsa_amd_pointer_info(0x902800000, 0x7fff229b0270, 0, , 0) = 0 -43927839573876:43927839574450 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43927839575280:43927839575932 26036:26036 hsa_amd_pointer_info(0x1482170, 0x7fff229affd0, 0, , 0) = 0 -43927839577043:43927839577519 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43927840034252:43927840035572 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43927840036845:43927840038534 26036:26036 hsa_amd_memory_async_copy(0x902800000, , 0x903800000, , , , 0, ) = 0 -43927840039479:43927840412196 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43927840413576:43927840414240 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927840427993:43927840428674 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43927840448186:43927840448808 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 198 -43927840449754:43927840450154 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 198 -43927840451322:43927840452774 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afb88) = 0 -43927840453752:43927840454287 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43927840455516:43927840467617 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092ba36d0) = 0 -43927840468551:43927840469118 26036:26036 hsa_signal_store_relaxed(, 198) = void -43927840470705:43927840471345 26036:26036 hsa_system_get_info(2, 0x7fff229afec0) = 0 -43927840487426:43927840488077 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927840504098:43927840504887 26036:26036 hsa_signal_create(1, , 0, 0x7fff229afd10) = 0 -43927840505707:43927840506088 26036:26036 hsa_queue_load_write_index_relaxed(0x2e2a000) = 199 -43927840506880:43927840507218 26036:26036 hsa_queue_load_read_index_scacquire(0x2e2a000) = 198 -43927840508151:43927840508471 26036:26036 hsa_queue_store_write_index_relaxed(0x2e2a000, ) = void -43927840509304:43927840510901 26036:26036 hsa_amd_signal_async_handler(, 2, 1, 1, 0x7f2092bab4b0) = 0 -43927840511656:43927840512107 26036:26036 hsa_signal_store_relaxed(, 199) = void -43927840513288:43927840967359 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927840968348:43927840968755 26036:26036 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927840969916:43927840970685 26036:26036 hsa_signal_destroy() = 0 -43927840971784:43927840972755 26036:26036 hsa_amd_pointer_info(0x903000000, 0x7fff229b0240, 0, , 0) = 0 -43927840973602:43927840973992 26036:26036 hsa_agent_get_info(, 17, 0x7fff229b00a0) = 0 -43927840974805:43927840975239 26036:26036 hsa_amd_pointer_info(0x1882180, 0x7fff229affd0, 0, , 0) = 0 -43927840976032:43927840976376 26036:26036 hsa_agent_get_info(, 17, 0x7fff229affc4) = 0 -43927840977225:43927840991905 26036:26036 hsa_signal_silent_store_relaxed(, 1) = void -43927840992778:43927840993407 26036:26036 hsa_amd_memory_async_copy(0x903800000, , 0x903000000, , , , 0, ) = 0 -43927841047918:43927841051221 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927841052627:43927841052999 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927841056179:43927841056739 26036:26041 hsa_signal_wait_scacquire(, 2, 1, , 0) = 0 -43927841058485:43927841058957 26036:26041 hsa_signal_destroy() = 0 -43927841061055:43927841061477 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927841062252:43927841062612 26036:26041 hsa_amd_profiling_get_dispatch_time(, , 0x7f20f8124c08) = 0 -43927840994186:43927841415743 26036:26036 hsa_signal_wait_relaxed(, 0, 0, , 1) = 0 -43927841875111:43927841875896 26036:26036 hsa_system_get_info(2, 0x7fff229b0090) = 0 -43927856254915:43927856255937 26036:26036 hsa_system_get_info(2, 0x7fff229b0060) = 0 -43927856277916:43927856279011 26036:26036 hsa_signal_load_scacquire() = 0 -43927856282646:43927856330334 26036:26036 hsa_amd_memory_pool_free(0x902800000) = 0 -43927856335607:43927856336289 26036:26036 hsa_system_get_info(2, 0x7fff229b0060) = 0 -43927856339560:43927856340198 26036:26036 hsa_system_get_info(2, 0x7fff229b0060) = 0 -43927856345507:43927856345883 26036:26036 hsa_signal_load_scacquire() = 0 -43927856346840:43927856359575 26036:26036 hsa_amd_memory_pool_free(0x903000000) = 0 -43927856361497:43927856362157 26036:26036 hsa_system_get_info(2, 0x7fff229b0060) = 0 -43927856371136:43927856571451 26036:26036 hsa_memory_free(0x903800000) = 0 -43927856583040:43927856597666 26036:26036 hsa_code_object_reader_destroy() = 0 -43927856598930:43927856600886 26036:26036 hsa_code_object_reader_destroy() = 0 -43927856601901:43927856603779 26036:26036 hsa_code_object_reader_destroy() = 0 -43927856605071:43927856606940 26036:26036 hsa_code_object_reader_destroy() = 0 -43927856607955:43927856609834 26036:26036 hsa_code_object_reader_destroy() = 0 -43927856610847:43927856612663 26036:26036 hsa_code_object_reader_destroy() = 0 -43927856613796:43927856615637 26036:26036 hsa_code_object_reader_destroy() = 0 -43927856616751:43927856618579 26036:26036 hsa_code_object_reader_destroy() = 0 -43927856620049:43927856622112 26036:26036 hsa_code_object_reader_destroy() = 0 -43927856623139:43927856625020 26036:26036 hsa_code_object_reader_destroy() = 0 -43927856626204:43927856628044 26036:26036 hsa_code_object_reader_destroy() = 0 -43927856629024:43927856630913 26036:26036 hsa_code_object_reader_destroy() = 0 -43927856631932:43927856633755 26036:26036 hsa_code_object_reader_destroy() = 0 -43927856636126:43927856637930 26036:26036 hsa_code_object_reader_destroy() = 0 -43927856639101:43927856640984 26036:26036 hsa_code_object_reader_destroy() = 0 -43927856642320:43927856644093 26036:26036 hsa_code_object_reader_destroy() = 0 -43927856645145:43927856646971 26036:26036 hsa_code_object_reader_destroy() = 0 -43927856648099:43927856664522 26036:26036 hsa_code_object_reader_destroy() = 0 -43927856665630:43927856667567 26036:26036 hsa_code_object_reader_destroy() = 0 -43927856668493:43927856670357 26036:26036 hsa_code_object_reader_destroy() = 0 -43927856671320:43927856673183 26036:26036 hsa_code_object_reader_destroy() = 0 -43927856683893:43927856685900 26036:26036 hsa_code_object_reader_destroy() = 0 -43925837949374 26036:26036 0:"before hipLaunchKernel" -43925838034347 26036:26036 1:"hipLaunchKernel" -43926124654734 26036:26036 0:"after hipLaunchKernel" -43926124656506 26036:26036 1:"hipMemcpy" -43926126130770 26036:26036 2:"" -43926126136581 26036:26036 2:"" -43926141416209 26036:26036 0:"before hipLaunchKernel" -43926141417742 26036:26036 1:"hipLaunchKernel" -43926141477075 26036:26036 0:"after hipLaunchKernel" -43926141478074 26036:26036 1:"hipMemcpy" -43926142879656 26036:26036 2:"" -43926142881227 26036:26036 2:"" -43926158124359 26036:26036 0:"before hipLaunchKernel" -43926158126254 26036:26036 1:"hipLaunchKernel" -43926158193380 26036:26036 0:"after hipLaunchKernel" -43926158194373 26036:26036 1:"hipMemcpy" -43926159593736 26036:26036 2:"" -43926159594898 26036:26036 2:"" -43926174827661 26036:26036 0:"before hipLaunchKernel" -43926174829273 26036:26036 1:"hipLaunchKernel" -43926174901909 26036:26036 0:"after hipLaunchKernel" -43926174902886 26036:26036 1:"hipMemcpy" -43926176315109 26036:26036 2:"" -43926176316628 26036:26036 2:"" -43926191542370 26036:26036 0:"before hipLaunchKernel" -43926191543834 26036:26036 1:"hipLaunchKernel" -43926191616814 26036:26036 0:"after hipLaunchKernel" -43926191617776 26036:26036 1:"hipMemcpy" -43926193017473 26036:26036 2:"" -43926193018791 26036:26036 2:"" -43926208246085 26036:26036 0:"before hipLaunchKernel" -43926208247487 26036:26036 1:"hipLaunchKernel" -43926208314707 26036:26036 0:"after hipLaunchKernel" -43926208315732 26036:26036 1:"hipMemcpy" -43926209724879 26036:26036 2:"" -43926209726196 26036:26036 2:"" -43926224962171 26036:26036 0:"before hipLaunchKernel" -43926224963823 26036:26036 1:"hipLaunchKernel" -43926225032097 26036:26036 0:"after hipLaunchKernel" -43926225033072 26036:26036 1:"hipMemcpy" -43926227825939 26036:26036 2:"" -43926227827229 26036:26036 2:"" -43926243061627 26036:26036 0:"before hipLaunchKernel" -43926243063004 26036:26036 1:"hipLaunchKernel" -43926243137659 26036:26036 0:"after hipLaunchKernel" -43926243138646 26036:26036 1:"hipMemcpy" -43926245922807 26036:26036 2:"" -43926245924122 26036:26036 2:"" -43926261163201 26036:26036 0:"before hipLaunchKernel" -43926261164832 26036:26036 1:"hipLaunchKernel" -43926261222695 26036:26036 0:"after hipLaunchKernel" -43926261233670 26036:26036 1:"hipMemcpy" -43926264033152 26036:26036 2:"" -43926264034730 26036:26036 2:"" -43926279277401 26036:26036 0:"before hipLaunchKernel" -43926279278870 26036:26036 1:"hipLaunchKernel" -43926279353364 26036:26036 0:"after hipLaunchKernel" -43926279354427 26036:26036 1:"hipMemcpy" -43926282151153 26036:26036 2:"" -43926282152509 26036:26036 2:"" -43926297425955 26036:26036 0:"before hipLaunchKernel" -43926297427525 26036:26036 1:"hipLaunchKernel" -43926297491434 26036:26036 0:"after hipLaunchKernel" -43926297492430 26036:26036 1:"hipMemcpy" -43926300282498 26036:26036 2:"" -43926300283840 26036:26036 2:"" -43926315545024 26036:26036 0:"before hipLaunchKernel" -43926315546543 26036:26036 1:"hipLaunchKernel" -43926315615292 26036:26036 0:"after hipLaunchKernel" -43926315616290 26036:26036 1:"hipMemcpy" -43926318387497 26036:26036 2:"" -43926318388825 26036:26036 2:"" -43926333660857 26036:26036 0:"before hipLaunchKernel" -43926333662377 26036:26036 1:"hipLaunchKernel" -43926333731086 26036:26036 0:"after hipLaunchKernel" -43926333732023 26036:26036 1:"hipMemcpy" -43926336516579 26036:26036 2:"" -43926336518053 26036:26036 2:"" -43926351760178 26036:26036 0:"before hipLaunchKernel" -43926351761632 26036:26036 1:"hipLaunchKernel" -43926351835047 26036:26036 0:"after hipLaunchKernel" -43926351835988 26036:26036 1:"hipMemcpy" -43926354613391 26036:26036 2:"" -43926354614745 26036:26036 2:"" -43926369884442 26036:26036 0:"before hipLaunchKernel" -43926369885846 26036:26036 1:"hipLaunchKernel" -43926369950860 26036:26036 0:"after hipLaunchKernel" -43926369951847 26036:26036 1:"hipMemcpy" -43926372740208 26036:26036 2:"" -43926372741627 26036:26036 2:"" -43926387978913 26036:26036 0:"before hipLaunchKernel" -43926387980484 26036:26036 1:"hipLaunchKernel" -43926388057102 26036:26036 0:"after hipLaunchKernel" -43926388058177 26036:26036 1:"hipMemcpy" -43926390837417 26036:26036 2:"" -43926390838895 26036:26036 2:"" -43926406084796 26036:26036 0:"before hipLaunchKernel" -43926406086437 26036:26036 1:"hipLaunchKernel" -43926406155514 26036:26036 0:"after hipLaunchKernel" -43926406156519 26036:26036 1:"hipMemcpy" -43926408938345 26036:26036 2:"" -43926408939556 26036:26036 2:"" -43926424178779 26036:26036 0:"before hipLaunchKernel" -43926424185046 26036:26036 1:"hipLaunchKernel" -43926424250010 26036:26036 0:"after hipLaunchKernel" -43926424251053 26036:26036 1:"hipMemcpy" -43926427042903 26036:26036 2:"" -43926427044454 26036:26036 2:"" -43926442299011 26036:26036 0:"before hipLaunchKernel" -43926442300748 26036:26036 1:"hipLaunchKernel" -43926442364530 26036:26036 0:"after hipLaunchKernel" -43926442365511 26036:26036 1:"hipMemcpy" -43926445144326 26036:26036 2:"" -43926445145699 26036:26036 2:"" -43926460385320 26036:26036 0:"before hipLaunchKernel" -43926460386895 26036:26036 1:"hipLaunchKernel" -43926460456437 26036:26036 0:"after hipLaunchKernel" -43926460457463 26036:26036 1:"hipMemcpy" -43926463236963 26036:26036 2:"" -43926463238344 26036:26036 2:"" -43926478486584 26036:26036 0:"before hipLaunchKernel" -43926478488197 26036:26036 1:"hipLaunchKernel" -43926478556437 26036:26036 0:"after hipLaunchKernel" -43926478557368 26036:26036 1:"hipMemcpy" -43926481341546 26036:26036 2:"" -43926481343078 26036:26036 2:"" -43926496569223 26036:26036 0:"before hipLaunchKernel" -43926496570678 26036:26036 1:"hipLaunchKernel" -43926496638725 26036:26036 0:"after hipLaunchKernel" -43926496639751 26036:26036 1:"hipMemcpy" -43926498034841 26036:26036 2:"" -43926498036143 26036:26036 2:"" -43926513276940 26036:26036 0:"before hipLaunchKernel" -43926513278573 26036:26036 1:"hipLaunchKernel" -43926513347454 26036:26036 0:"after hipLaunchKernel" -43926513348437 26036:26036 1:"hipMemcpy" -43926514745698 26036:26036 2:"" -43926514747126 26036:26036 2:"" -43926529983797 26036:26036 0:"before hipLaunchKernel" -43926529985301 26036:26036 1:"hipLaunchKernel" -43926530049563 26036:26036 0:"after hipLaunchKernel" -43926530050640 26036:26036 1:"hipMemcpy" -43926531441141 26036:26036 2:"" -43926531442604 26036:26036 2:"" -43926546675380 26036:26036 0:"before hipLaunchKernel" -43926546676880 26036:26036 1:"hipLaunchKernel" -43926546749484 26036:26036 0:"after hipLaunchKernel" -43926546750431 26036:26036 1:"hipMemcpy" -43926548161721 26036:26036 2:"" -43926548163200 26036:26036 2:"" -43926563390850 26036:26036 0:"before hipLaunchKernel" -43926563392294 26036:26036 1:"hipLaunchKernel" -43926563459754 26036:26036 0:"after hipLaunchKernel" -43926563460751 26036:26036 1:"hipMemcpy" -43926564869836 26036:26036 2:"" -43926564871327 26036:26036 2:"" -43926580095620 26036:26036 0:"before hipLaunchKernel" -43926580097097 26036:26036 1:"hipLaunchKernel" -43926580162811 26036:26036 0:"after hipLaunchKernel" -43926580163819 26036:26036 1:"hipMemcpy" -43926581567363 26036:26036 2:"" -43926581568636 26036:26036 2:"" -43926596825496 26036:26036 0:"before hipLaunchKernel" -43926596827018 26036:26036 1:"hipLaunchKernel" -43926596895740 26036:26036 0:"after hipLaunchKernel" -43926596896707 26036:26036 1:"hipMemcpy" -43926598298729 26036:26036 2:"" -43926598300100 26036:26036 2:"" -43926613527296 26036:26036 0:"before hipLaunchKernel" -43926613528726 26036:26036 1:"hipLaunchKernel" -43926613597100 26036:26036 0:"after hipLaunchKernel" -43926613598105 26036:26036 1:"hipMemcpy" -43926615001490 26036:26036 2:"" -43926615002952 26036:26036 2:"" -43926630240227 26036:26036 0:"before hipLaunchKernel" -43926630241752 26036:26036 1:"hipLaunchKernel" -43926630306542 26036:26036 0:"after hipLaunchKernel" -43926630307536 26036:26036 1:"hipMemcpy" -43926631705959 26036:26036 2:"" -43926631707625 26036:26036 2:"" -43926646938395 26036:26036 0:"before hipLaunchKernel" -43926646939966 26036:26036 1:"hipLaunchKernel" -43926647002852 26036:26036 0:"after hipLaunchKernel" -43926647003868 26036:26036 1:"hipMemcpy" -43926648450334 26036:26036 2:"" -43926648452298 26036:26036 2:"" -43926663914361 26036:26036 0:"before hipLaunchKernel" -43926663915904 26036:26036 1:"hipLaunchKernel" -43926663986769 26036:26036 0:"after hipLaunchKernel" -43926663987873 26036:26036 1:"hipMemcpy" -43926665395981 26036:26036 2:"" -43926665397516 26036:26036 2:"" -43926680626366 26036:26036 0:"before hipLaunchKernel" -43926680627793 26036:26036 1:"hipLaunchKernel" -43926680703633 26036:26036 0:"after hipLaunchKernel" -43926680704650 26036:26036 1:"hipMemcpy" -43926682101315 26036:26036 2:"" -43926682102788 26036:26036 2:"" -43926697364697 26036:26036 0:"before hipLaunchKernel" -43926697366094 26036:26036 1:"hipLaunchKernel" -43926697431544 26036:26036 0:"after hipLaunchKernel" -43926697432491 26036:26036 1:"hipMemcpy" -43926698829089 26036:26036 2:"" -43926698830450 26036:26036 2:"" -43926714083879 26036:26036 0:"before hipLaunchKernel" -43926714088632 26036:26036 1:"hipLaunchKernel" -43926714149293 26036:26036 0:"after hipLaunchKernel" -43926714150427 26036:26036 1:"hipMemcpy" -43926715553255 26036:26036 2:"" -43926715554575 26036:26036 2:"" -43926730787819 26036:26036 0:"before hipLaunchKernel" -43926730789463 26036:26036 1:"hipLaunchKernel" -43926730857537 26036:26036 0:"after hipLaunchKernel" -43926730858504 26036:26036 1:"hipMemcpy" -43926732267393 26036:26036 2:"" -43926732268723 26036:26036 2:"" -43926747494299 26036:26036 0:"before hipLaunchKernel" -43926747495701 26036:26036 1:"hipLaunchKernel" -43926747562530 26036:26036 0:"after hipLaunchKernel" -43926747563770 26036:26036 1:"hipMemcpy" -43926748970702 26036:26036 2:"" -43926748972185 26036:26036 2:"" -43926764203380 26036:26036 0:"before hipLaunchKernel" -43926764204987 26036:26036 1:"hipLaunchKernel" -43926764270023 26036:26036 0:"after hipLaunchKernel" -43926764270946 26036:26036 1:"hipMemcpy" -43926765672881 26036:26036 2:"" -43926765674085 26036:26036 2:"" -43926780902022 26036:26036 0:"before hipLaunchKernel" -43926780903376 26036:26036 1:"hipLaunchKernel" -43926780968389 26036:26036 0:"after hipLaunchKernel" -43926780969361 26036:26036 1:"hipMemcpy" -43926782372488 26036:26036 2:"" -43926782373879 26036:26036 2:"" -43926797614221 26036:26036 0:"before hipLaunchKernel" -43926797615776 26036:26036 1:"hipLaunchKernel" -43926797680689 26036:26036 0:"after hipLaunchKernel" -43926797681717 26036:26036 1:"hipMemcpy" -43926799080278 26036:26036 2:"" -43926799081563 26036:26036 2:"" -43926814322479 26036:26036 0:"before hipLaunchKernel" -43926814323929 26036:26036 1:"hipLaunchKernel" -43926814392049 26036:26036 0:"after hipLaunchKernel" -43926814393277 26036:26036 1:"hipMemcpy" -43926815797615 26036:26036 2:"" -43926815798958 26036:26036 2:"" -43926831030763 26036:26036 0:"before hipLaunchKernel" -43926831032170 26036:26036 1:"hipLaunchKernel" -43926831101175 26036:26036 0:"after hipLaunchKernel" -43926831102087 26036:26036 1:"hipMemcpy" -43926832505718 26036:26036 2:"" -43926832506917 26036:26036 2:"" -43926847761998 26036:26036 0:"before hipLaunchKernel" -43926847763481 26036:26036 1:"hipLaunchKernel" -43926847836619 26036:26036 0:"after hipLaunchKernel" -43926847837585 26036:26036 1:"hipMemcpy" -43926850615693 26036:26036 2:"" -43926850616962 26036:26036 2:"" -43926865872091 26036:26036 0:"before hipLaunchKernel" -43926865873593 26036:26036 1:"hipLaunchKernel" -43926865938674 26036:26036 0:"after hipLaunchKernel" -43926865939686 26036:26036 1:"hipMemcpy" -43926868723722 26036:26036 2:"" -43926868725198 26036:26036 2:"" -43926883968628 26036:26036 0:"before hipLaunchKernel" -43926883970051 26036:26036 1:"hipLaunchKernel" -43926884044167 26036:26036 0:"after hipLaunchKernel" -43926884045173 26036:26036 1:"hipMemcpy" -43926886828882 26036:26036 2:"" -43926886830066 26036:26036 2:"" -43926902080099 26036:26036 0:"before hipLaunchKernel" -43926902081476 26036:26036 1:"hipLaunchKernel" -43926902150050 26036:26036 0:"after hipLaunchKernel" -43926902151041 26036:26036 1:"hipMemcpy" -43926904938516 26036:26036 2:"" -43926904939646 26036:26036 2:"" -43926920176714 26036:26036 0:"before hipLaunchKernel" -43926920178211 26036:26036 1:"hipLaunchKernel" -43926920242571 26036:26036 0:"after hipLaunchKernel" -43926920243688 26036:26036 1:"hipMemcpy" -43926923030736 26036:26036 2:"" -43926923032011 26036:26036 2:"" -43926938308598 26036:26036 0:"before hipLaunchKernel" -43926938310126 26036:26036 1:"hipLaunchKernel" -43926938378717 26036:26036 0:"after hipLaunchKernel" -43926938379683 26036:26036 1:"hipMemcpy" -43926941171460 26036:26036 2:"" -43926941173116 26036:26036 2:"" -43926956415052 26036:26036 0:"before hipLaunchKernel" -43926956416397 26036:26036 1:"hipLaunchKernel" -43926956485044 26036:26036 0:"after hipLaunchKernel" -43926956486084 26036:26036 1:"hipMemcpy" -43926959274004 26036:26036 2:"" -43926959275239 26036:26036 2:"" -43926974543855 26036:26036 0:"before hipLaunchKernel" -43926974545512 26036:26036 1:"hipLaunchKernel" -43926974614579 26036:26036 0:"after hipLaunchKernel" -43926974615532 26036:26036 1:"hipMemcpy" -43926977400608 26036:26036 2:"" -43926977401829 26036:26036 2:"" -43926992664110 26036:26036 0:"before hipLaunchKernel" -43926992665762 26036:26036 1:"hipLaunchKernel" -43926992730207 26036:26036 0:"after hipLaunchKernel" -43926992731168 26036:26036 1:"hipMemcpy" -43926995530778 26036:26036 2:"" -43926995532036 26036:26036 2:"" -43927010769991 26036:26036 0:"before hipLaunchKernel" -43927010775013 26036:26036 1:"hipLaunchKernel" -43927010841405 26036:26036 0:"after hipLaunchKernel" -43927010842414 26036:26036 1:"hipMemcpy" -43927013631594 26036:26036 2:"" -43927013632938 26036:26036 2:"" -43927028875272 26036:26036 0:"before hipLaunchKernel" -43927028876717 26036:26036 1:"hipLaunchKernel" -43927028941362 26036:26036 0:"after hipLaunchKernel" -43927028942439 26036:26036 1:"hipMemcpy" -43927031737243 26036:26036 2:"" -43927031738545 26036:26036 2:"" -43927047005471 26036:26036 0:"before hipLaunchKernel" -43927047006916 26036:26036 1:"hipLaunchKernel" -43927047073112 26036:26036 0:"after hipLaunchKernel" -43927047074059 26036:26036 1:"hipMemcpy" -43927049861179 26036:26036 2:"" -43927049862588 26036:26036 2:"" -43927065111982 26036:26036 0:"before hipLaunchKernel" -43927065113379 26036:26036 1:"hipLaunchKernel" -43927065167144 26036:26036 0:"after hipLaunchKernel" -43927065178146 26036:26036 1:"hipMemcpy" -43927067964142 26036:26036 2:"" -43927067965483 26036:26036 2:"" -43927083212669 26036:26036 0:"before hipLaunchKernel" -43927083214139 26036:26036 1:"hipLaunchKernel" -43927083282444 26036:26036 0:"after hipLaunchKernel" -43927083283456 26036:26036 1:"hipMemcpy" -43927086057976 26036:26036 2:"" -43927086059354 26036:26036 2:"" -43927101285705 26036:26036 0:"before hipLaunchKernel" -43927101287170 26036:26036 1:"hipLaunchKernel" -43927101340566 26036:26036 0:"after hipLaunchKernel" -43927101351441 26036:26036 1:"hipMemcpy" -43927102746590 26036:26036 2:"" -43927102747951 26036:26036 2:"" -43927117985071 26036:26036 0:"before hipLaunchKernel" -43927117986645 26036:26036 1:"hipLaunchKernel" -43927118040463 26036:26036 0:"after hipLaunchKernel" -43927118051447 26036:26036 1:"hipMemcpy" -43927119444315 26036:26036 2:"" -43927119445578 26036:26036 2:"" -43927134675114 26036:26036 0:"before hipLaunchKernel" -43927134676565 26036:26036 1:"hipLaunchKernel" -43927134741734 26036:26036 0:"after hipLaunchKernel" -43927134742782 26036:26036 1:"hipMemcpy" -43927136144229 26036:26036 2:"" -43927136145648 26036:26036 2:"" -43927151368048 26036:26036 0:"before hipLaunchKernel" -43927151369538 26036:26036 1:"hipLaunchKernel" -43927151437639 26036:26036 0:"after hipLaunchKernel" -43927151438612 26036:26036 1:"hipMemcpy" -43927152848109 26036:26036 2:"" -43927152849579 26036:26036 2:"" -43927168080175 26036:26036 0:"before hipLaunchKernel" -43927168081574 26036:26036 1:"hipLaunchKernel" -43927168150552 26036:26036 0:"after hipLaunchKernel" -43927168151550 26036:26036 1:"hipMemcpy" -43927169549796 26036:26036 2:"" -43927169551102 26036:26036 2:"" -43927184781024 26036:26036 0:"before hipLaunchKernel" -43927184782636 26036:26036 1:"hipLaunchKernel" -43927184850980 26036:26036 0:"after hipLaunchKernel" -43927184851968 26036:26036 1:"hipMemcpy" -43927186250730 26036:26036 2:"" -43927186252425 26036:26036 2:"" -43927201476500 26036:26036 0:"before hipLaunchKernel" -43927201478020 26036:26036 1:"hipLaunchKernel" -43927201547060 26036:26036 0:"after hipLaunchKernel" -43927201548073 26036:26036 1:"hipMemcpy" -43927202954760 26036:26036 2:"" -43927202956034 26036:26036 2:"" -43927218185027 26036:26036 0:"before hipLaunchKernel" -43927218186612 26036:26036 1:"hipLaunchKernel" -43927218254472 26036:26036 0:"after hipLaunchKernel" -43927218255505 26036:26036 1:"hipMemcpy" -43927219646466 26036:26036 2:"" -43927219647896 26036:26036 2:"" -43927234881933 26036:26036 0:"before hipLaunchKernel" -43927234883623 26036:26036 1:"hipLaunchKernel" -43927234942029 26036:26036 0:"after hipLaunchKernel" -43927234942994 26036:26036 1:"hipMemcpy" -43927236350307 26036:26036 2:"" -43927236351606 26036:26036 2:"" -43927251575061 26036:26036 0:"before hipLaunchKernel" -43927251576548 26036:26036 1:"hipLaunchKernel" -43927251644579 26036:26036 0:"after hipLaunchKernel" -43927251645556 26036:26036 1:"hipMemcpy" -43927253044384 26036:26036 2:"" -43927253045717 26036:26036 2:"" -43927268268590 26036:26036 0:"before hipLaunchKernel" -43927268270094 26036:26036 1:"hipLaunchKernel" -43927268331576 26036:26036 0:"after hipLaunchKernel" -43927268332561 26036:26036 1:"hipMemcpy" -43927269740080 26036:26036 2:"" -43927269742282 26036:26036 2:"" -43927285209799 26036:26036 0:"before hipLaunchKernel" -43927285211479 26036:26036 1:"hipLaunchKernel" -43927285274965 26036:26036 0:"after hipLaunchKernel" -43927285275932 26036:26036 1:"hipMemcpy" -43927286687108 26036:26036 2:"" -43927286688448 26036:26036 2:"" -43927302061109 26036:26036 0:"before hipLaunchKernel" -43927302062693 26036:26036 1:"hipLaunchKernel" -43927302125993 26036:26036 0:"after hipLaunchKernel" -43927302126946 26036:26036 1:"hipMemcpy" -43927303536988 26036:26036 2:"" -43927303538917 26036:26036 2:"" -43927318932986 26036:26036 0:"before hipLaunchKernel" -43927318934524 26036:26036 1:"hipLaunchKernel" -43927319002417 26036:26036 0:"after hipLaunchKernel" -43927319003365 26036:26036 1:"hipMemcpy" -43927320413196 26036:26036 2:"" -43927320414605 26036:26036 2:"" -43927335810885 26036:26036 0:"before hipLaunchKernel" -43927335812346 26036:26036 1:"hipLaunchKernel" -43927335888679 26036:26036 0:"after hipLaunchKernel" -43927335889627 26036:26036 1:"hipMemcpy" -43927337292410 26036:26036 2:"" -43927337293638 26036:26036 2:"" -43927352526496 26036:26036 0:"before hipLaunchKernel" -43927352527944 26036:26036 1:"hipLaunchKernel" -43927352599497 26036:26036 0:"after hipLaunchKernel" -43927352600517 26036:26036 1:"hipMemcpy" -43927354004759 26036:26036 2:"" -43927354006018 26036:26036 2:"" -43927369258966 26036:26036 0:"before hipLaunchKernel" -43927369260573 26036:26036 1:"hipLaunchKernel" -43927369332114 26036:26036 0:"after hipLaunchKernel" -43927369333356 26036:26036 1:"hipMemcpy" -43927370740393 26036:26036 2:"" -43927370741687 26036:26036 2:"" -43927386003123 26036:26036 0:"before hipLaunchKernel" -43927386004646 26036:26036 1:"hipLaunchKernel" -43927386074085 26036:26036 0:"after hipLaunchKernel" -43927386075084 26036:26036 1:"hipMemcpy" -43927387477083 26036:26036 2:"" -43927387478475 26036:26036 2:"" -43927402712423 26036:26036 0:"before hipLaunchKernel" -43927402713774 26036:26036 1:"hipLaunchKernel" -43927402786738 26036:26036 0:"after hipLaunchKernel" -43927402797147 26036:26036 1:"hipMemcpy" -43927404187914 26036:26036 2:"" -43927404189080 26036:26036 2:"" -43927419415405 26036:26036 0:"before hipLaunchKernel" -43927419416875 26036:26036 1:"hipLaunchKernel" -43927419480814 26036:26036 0:"after hipLaunchKernel" -43927419481848 26036:26036 1:"hipMemcpy" -43927420832233 26036:26036 2:"" -43927420833493 26036:26036 2:"" -43927436057785 26036:26036 0:"before hipLaunchKernel" -43927436059304 26036:26036 1:"hipLaunchKernel" -43927436128964 26036:26036 0:"after hipLaunchKernel" -43927436129958 26036:26036 1:"hipMemcpy" -43927437528731 26036:26036 2:"" -43927437529961 26036:26036 2:"" -43927452762841 26036:26036 0:"before hipLaunchKernel" -43927452764332 26036:26036 1:"hipLaunchKernel" -43927452828782 26036:26036 0:"after hipLaunchKernel" -43927452829742 26036:26036 1:"hipMemcpy" -43927454218638 26036:26036 2:"" -43927454220020 26036:26036 2:"" -43927469488999 26036:26036 0:"before hipLaunchKernel" -43927469490408 26036:26036 1:"hipLaunchKernel" -43927469559898 26036:26036 0:"after hipLaunchKernel" -43927469560879 26036:26036 1:"hipMemcpy" -43927472357854 26036:26036 2:"" -43927472359152 26036:26036 2:"" -43927487594759 26036:26036 0:"before hipLaunchKernel" -43927487596207 26036:26036 1:"hipLaunchKernel" -43927487664812 26036:26036 0:"after hipLaunchKernel" -43927487665810 26036:26036 1:"hipMemcpy" -43927490446389 26036:26036 2:"" -43927490447556 26036:26036 2:"" -43927505700233 26036:26036 0:"before hipLaunchKernel" -43927505701630 26036:26036 1:"hipLaunchKernel" -43927505771471 26036:26036 0:"after hipLaunchKernel" -43927505772430 26036:26036 1:"hipMemcpy" -43927508563737 26036:26036 2:"" -43927508565058 26036:26036 2:"" -43927523810593 26036:26036 0:"before hipLaunchKernel" -43927523812278 26036:26036 1:"hipLaunchKernel" -43927523876565 26036:26036 0:"after hipLaunchKernel" -43927523877523 26036:26036 1:"hipMemcpy" -43927526657224 26036:26036 2:"" -43927526658501 26036:26036 2:"" -43927541905632 26036:26036 0:"before hipLaunchKernel" -43927541907006 26036:26036 1:"hipLaunchKernel" -43927541965928 26036:26036 0:"after hipLaunchKernel" -43927541977126 26036:26036 1:"hipMemcpy" -43927544754680 26036:26036 2:"" -43927544755960 26036:26036 2:"" -43927559995323 26036:26036 0:"before hipLaunchKernel" -43927559996857 26036:26036 1:"hipLaunchKernel" -43927560070941 26036:26036 0:"after hipLaunchKernel" -43927560071911 26036:26036 1:"hipMemcpy" -43927562858036 26036:26036 2:"" -43927562859298 26036:26036 2:"" -43927578102735 26036:26036 0:"before hipLaunchKernel" -43927578104052 26036:26036 1:"hipLaunchKernel" -43927578172905 26036:26036 0:"after hipLaunchKernel" -43927578173850 26036:26036 1:"hipMemcpy" -43927580947890 26036:26036 2:"" -43927580949302 26036:26036 2:"" -43927596191193 26036:26036 0:"before hipLaunchKernel" -43927596192531 26036:26036 1:"hipLaunchKernel" -43927596259091 26036:26036 0:"after hipLaunchKernel" -43927596260008 26036:26036 1:"hipMemcpy" -43927599042261 26036:26036 2:"" -43927599043601 26036:26036 2:"" -43927614293727 26036:26036 0:"before hipLaunchKernel" -43927614295046 26036:26036 1:"hipLaunchKernel" -43927614359522 26036:26036 0:"after hipLaunchKernel" -43927614360490 26036:26036 1:"hipMemcpy" -43927617143771 26036:26036 2:"" -43927617145221 26036:26036 2:"" -43927632387086 26036:26036 0:"before hipLaunchKernel" -43927632388395 26036:26036 1:"hipLaunchKernel" -43927632456136 26036:26036 0:"after hipLaunchKernel" -43927632457228 26036:26036 1:"hipMemcpy" -43927635241248 26036:26036 2:"" -43927635242651 26036:26036 2:"" -43927650492565 26036:26036 0:"before hipLaunchKernel" -43927650493960 26036:26036 1:"hipLaunchKernel" -43927650562083 26036:26036 0:"after hipLaunchKernel" -43927650563125 26036:26036 1:"hipMemcpy" -43927653343762 26036:26036 2:"" -43927653344988 26036:26036 2:"" -43927668591120 26036:26036 0:"before hipLaunchKernel" -43927668592494 26036:26036 1:"hipLaunchKernel" -43927668666104 26036:26036 0:"after hipLaunchKernel" -43927668667122 26036:26036 1:"hipMemcpy" -43927671454274 26036:26036 2:"" -43927671455516 26036:26036 2:"" -43927686704188 26036:26036 0:"before hipLaunchKernel" -43927686705586 26036:26036 1:"hipLaunchKernel" -43927686770857 26036:26036 0:"after hipLaunchKernel" -43927686771893 26036:26036 1:"hipMemcpy" -43927689557469 26036:26036 2:"" -43927689558889 26036:26036 2:"" -43927704812216 26036:26036 0:"before hipLaunchKernel" -43927704813628 26036:26036 1:"hipLaunchKernel" -43927704871020 26036:26036 0:"after hipLaunchKernel" -43927704871973 26036:26036 1:"hipMemcpy" -43927707709233 26036:26036 2:"" -43927707711414 26036:26036 2:"" -43927723150164 26036:26036 0:"before hipLaunchKernel" -43927723151728 26036:26036 1:"hipLaunchKernel" -43927723217327 26036:26036 0:"after hipLaunchKernel" -43927723218335 26036:26036 1:"hipMemcpy" -43927724631141 26036:26036 2:"" -43927724632609 26036:26036 2:"" -43927739862742 26036:26036 0:"before hipLaunchKernel" -43927739864356 26036:26036 1:"hipLaunchKernel" -43927739926511 26036:26036 0:"after hipLaunchKernel" -43927739927431 26036:26036 1:"hipMemcpy" -43927741339277 26036:26036 2:"" -43927741341192 26036:26036 2:"" -43927756804061 26036:26036 0:"before hipLaunchKernel" -43927756805660 26036:26036 1:"hipLaunchKernel" -43927756868931 26036:26036 0:"after hipLaunchKernel" -43927756869980 26036:26036 1:"hipMemcpy" -43927758279561 26036:26036 2:"" -43927758281001 26036:26036 2:"" -43927773544059 26036:26036 0:"before hipLaunchKernel" -43927773545986 26036:26036 1:"hipLaunchKernel" -43927773618141 26036:26036 0:"after hipLaunchKernel" -43927773628059 26036:26036 1:"hipMemcpy" -43927775024715 26036:26036 2:"" -43927775026128 26036:26036 2:"" -43927790275125 26036:26036 0:"before hipLaunchKernel" -43927790276629 26036:26036 1:"hipLaunchKernel" -43927790342444 26036:26036 0:"after hipLaunchKernel" -43927790343440 26036:26036 1:"hipMemcpy" -43927791747823 26036:26036 2:"" -43927791749126 26036:26036 2:"" -43927806983703 26036:26036 0:"before hipLaunchKernel" -43927806985088 26036:26036 1:"hipLaunchKernel" -43927807058295 26036:26036 0:"after hipLaunchKernel" -43927807059324 26036:26036 1:"hipMemcpy" -43927808462376 26036:26036 2:"" -43927808463675 26036:26036 2:"" -43927823695667 26036:26036 0:"before hipLaunchKernel" -43927823697056 26036:26036 1:"hipLaunchKernel" -43927823765678 26036:26036 0:"after hipLaunchKernel" -43927823766665 26036:26036 1:"hipMemcpy" -43927825170257 26036:26036 2:"" -43927825171581 26036:26036 2:"" -43927840419186 26036:26036 0:"before hipLaunchKernel" -43927840420630 26036:26036 1:"hipLaunchKernel" -43927840485376 26036:26036 0:"after hipLaunchKernel" -43927840486421 26036:26036 1:"hipMemcpy" -43927841878411 26036:26036 2:"" -43927841879693 26036:26036 2:"" -43926124638710:43926125127990 0:0 hcCommandKernel:6 -43926125136950:43926125148310 0:0 hcCommandMarker:8 -43926141476012:43926141954413 0:0 hcCommandKernel:11 -43926141957293:43926141963853 0:0 hcCommandMarker:13 -43926158181881:43926158670842 0:0 hcCommandKernel:16 -43926158673882:43926158680442 0:0 hcCommandMarker:18 -43926174897948:43926175383389 0:0 hcCommandKernel:21 -43926175386269:43926175392829 0:0 hcCommandMarker:23 -43926191601673:43926192092874 0:0 hcCommandKernel:26 -43926192095754:43926192102314 0:0 hcCommandMarker:28 -43926208303196:43926208801917 0:0 hcCommandKernel:31 -43926208804957:43926208811517 0:0 hcCommandMarker:33 -43926225021229:43926226865232 0:0 hcCommandKernel:36 -43926226868112:43926226899632 0:0 hcCommandMarker:38 -43926243126157:43926244971761 0:0 hcCommandKernel:41 -43926244974801:43926245006161 0:0 hcCommandMarker:43 -43926261221935:43926263068978 0:0 hcCommandKernel:46 -43926263071858:43926263103378 0:0 hcCommandMarker:48 -43926279349947:43926281198431 0:0 hcCommandKernel:51 -43926281201311:43926281233471 0:0 hcCommandMarker:53 -43926297480705:43926299324069 0:0 hcCommandKernel:56 -43926299327109:43926299358469 0:0 hcCommandMarker:58 -43926315599890:43926317433973 0:0 hcCommandKernel:61 -43926317436853:43926317468533 0:0 hcCommandMarker:63 -43926333719512:43926335565916 0:0 hcCommandKernel:66 -43926335568796:43926335600156 0:0 hcCommandMarker:68 -43926351819730:43926353661173 0:0 hcCommandKernel:71 -43926353664213:43926353695573 0:0 hcCommandMarker:73 -43926369939939:43926371779462 0:0 hcCommandKernel:76 -43926371782342:43926371813702 0:0 hcCommandMarker:78 -43926388042341:43926389884744 0:0 hcCommandKernel:81 -43926389887784:43926389920104 0:0 hcCommandMarker:83 -43926406144781:43926407986545 0:0 hcCommandKernel:86 -43926407989425:43926408020945 0:0 hcCommandMarker:88 -43926424238646:43926426089529 0:0 hcCommandKernel:91 -43926426092409:43926426123769 0:0 hcCommandMarker:93 -43926442353389:43926444193232 0:0 hcCommandKernel:96 -43926444196112:43926444227632 0:0 hcCommandMarker:98 -43926460445552:43926462284435 0:0 hcCommandKernel:101 -43926462287315:43926462318835 0:0 hcCommandMarker:103 -43926478553039:43926480389682 0:0 hcCommandKernel:106 -43926480392562:43926480423922 0:0 hcCommandMarker:108 -43926496627659:43926497112620 0:0 hcCommandKernel:111 -43926497115660:43926497122220 0:0 hcCommandMarker:113 -43926513336205:43926513823726 0:0 hcCommandKernel:116 -43926513826766:43926513833326 0:0 hcCommandMarker:118 -43926530038442:43926530517003 0:0 hcCommandKernel:121 -43926530519883:43926530526603 0:0 hcCommandMarker:123 -43926546745933:43926547234574 0:0 hcCommandKernel:126 -43926547237614:43926547244174 0:0 hcCommandMarker:128 -43926563448840:43926563942121 0:0 hcCommandKernel:131 -43926563945001:43926563951561 0:0 hcCommandMarker:133 -43926580151345:43926580644946 0:0 hcCommandKernel:136 -43926580647826:43926580654386 0:0 hcCommandMarker:138 -43926596884189:43926597368190 0:0 hcCommandKernel:141 -43926597371070:43926597377630 0:0 hcCommandMarker:143 -43926613593532:43926614078013 0:0 hcCommandKernel:146 -43926614081053:43926614087613 0:0 hcCommandMarker:148 -43926630295295:43926630781216 0:0 hcCommandKernel:151 -43926630784256:43926630790816 0:0 hcCommandMarker:153 -43926647001651:43926647481491 0:0 hcCommandKernel:156 -43926647484542:43926647491102 0:0 hcCommandMarker:158 -43926663982543:43926664471664 0:0 hcCommandKernel:161 -43926664474544:43926664481104 0:0 hcCommandMarker:163 -43926680696587:43926681178828 0:0 hcCommandKernel:166 -43926681181708:43926681188268 0:0 hcCommandMarker:168 -43926697420584:43926697905385 0:0 hcCommandKernel:171 -43926697908265:43926697914825 0:0 hcCommandMarker:173 -43926714146808:43926714631609 0:0 hcCommandKernel:176 -43926714634489:43926714641049 0:0 hcCommandMarker:178 -43926730854108:43926731338749 0:0 hcCommandKernel:181 -43926731341629:43926731348189 0:0 hcCommandMarker:183 -43926747551245:43926748045486 0:0 hcCommandKernel:186 -43926748048526:43926748055086 0:0 hcCommandMarker:188 -43926764258597:43926764748198 0:0 hcCommandKernel:191 -43926764751078:43926764757798 0:0 hcCommandMarker:193 -43926780957277:43926781448318 0:0 hcCommandKernel:196 -43926781451198:43926781457918 0:0 hcCommandMarker:198 -43926797669626:43926798157147 0:0 hcCommandKernel:201 -43926798160027:43926798166587 0:0 hcCommandMarker:203 -43926814388220:43926814874621 0:0 hcCommandKernel:206 -43926814877661:43926814884221 0:0 hcCommandMarker:208 -43926831097803:43926831581804 0:0 hcCommandKernel:211 -43926831584684:43926831591404 0:0 hcCommandMarker:213 -43926847821044:43926849662967 0:0 hcCommandKernel:216 -43926849665847:43926849697207 0:0 hcCommandMarker:218 -43926865935080:43926867770923 0:0 hcCommandKernel:221 -43926867773803:43926867805163 0:0 hcCommandMarker:223 -43926884040558:43926885874961 0:0 hcCommandKernel:226 -43926885878001:43926885909361 0:0 hcCommandMarker:228 -43926902138990:43926903984593 0:0 hcCommandKernel:231 -43926903987473:43926904018833 0:0 hcCommandMarker:233 -43926920231915:43926922069838 0:0 hcCommandKernel:236 -43926922072718:43926922104238 0:0 hcCommandMarker:238 -43926938367877:43926940216520 0:0 hcCommandKernel:241 -43926940219720:43926940251240 0:0 hcCommandMarker:243 -43926956474108:43926958312991 0:0 hcCommandKernel:246 -43926958316031:43926958347391 0:0 hcCommandMarker:248 -43926974603566:43926976444369 0:0 hcCommandKernel:251 -43926976447409:43926976478769 0:0 hcCommandMarker:253 -43926992719259:43926994570142 0:0 hcCommandKernel:256 -43926994573182:43926994604542 0:0 hcCommandMarker:258 -43927010837861:43927012680264 0:0 hcCommandKernel:261 -43927012683304:43927012714824 0:0 hcCommandMarker:263 -43927028930472:43927030776235 0:0 hcCommandKernel:266 -43927030779275:43927030810635 0:0 hcCommandMarker:268 -43927047068414:43927048906817 0:0 hcCommandKernel:271 -43927048909697:43927048941217 0:0 hcCommandMarker:273 -43927065166595:43927067003718 0:0 hcCommandKernel:276 -43927067006758:43927067038118 0:0 hcCommandMarker:278 -43927083266872:43927085103355 0:0 hcCommandKernel:281 -43927085106395:43927085137755 0:0 hcCommandMarker:283 -43927101340134:43927101823655 0:0 hcCommandKernel:286 -43927101826535:43927101833095 0:0 hcCommandMarker:288 -43927118039677:43927118521918 0:0 hcCommandKernel:291 -43927118524958:43927118531518 0:0 hcCommandMarker:293 -43927134729368:43927135216089 0:0 hcCommandKernel:296 -43927135219129:43927135225849 0:0 hcCommandMarker:298 -43927151425930:43927151912491 0:0 hcCommandKernel:301 -43927151915691:43927151922091 0:0 hcCommandMarker:303 -43927168146671:43927168626352 0:0 hcCommandKernel:306 -43927168629232:43927168635792 0:0 hcCommandMarker:308 -43927184847025:43927185328626 0:0 hcCommandKernel:311 -43927185331506:43927185338066 0:0 hcCommandMarker:313 -43927201543524:43927202032005 0:0 hcCommandKernel:316 -43927202034885:43927202041605 0:0 hcCommandMarker:318 -43927218250716:43927218735357 0:0 hcCommandKernel:321 -43927218738557:43927218744957 0:0 hcCommandMarker:323 -43927234941369:43927235422650 0:0 hcCommandKernel:326 -43927235425690:43927235432250 0:0 hcCommandMarker:328 -43927251640903:43927252122504 0:0 hcCommandKernel:331 -43927252125544:43927252132104 0:0 hcCommandMarker:333 -43927268330354:43927268808434 0:0 hcCommandKernel:336 -43927268811294:43927268817854 0:0 hcCommandMarker:338 -43927285272973:43927285761294 0:0 hcCommandKernel:341 -43927285764334:43927285770894 0:0 hcCommandMarker:343 -43927302125151:43927302604031 0:0 hcCommandKernel:346 -43927302606796:43927302613356 0:0 hcCommandMarker:348 -43927318996823:43927319482264 0:0 hcCommandKernel:351 -43927319485304:43927319491864 0:0 hcCommandMarker:353 -43927335884981:43927336368022 0:0 hcCommandKernel:356 -43927336370902:43927336377462 0:0 hcCommandMarker:358 -43927352588075:43927353077036 0:0 hcCommandKernel:361 -43927353080076:43927353086636 0:0 hcCommandMarker:363 -43927369328132:43927369818213 0:0 hcCommandKernel:366 -43927369821093:43927369827653 0:0 hcCommandMarker:368 -43927386070332:43927386554173 0:0 hcCommandKernel:371 -43927386557213:43927386563613 0:0 hcCommandMarker:373 -43927402794621:43927403276064 0:0 hcCommandKernel:376 -43927403278944:43927403285504 0:0 hcCommandMarker:378 -43927419469921:43927419953281 0:0 hcCommandKernel:381 -43927419956161:43927419962881 0:0 hcCommandMarker:383 -43927436114138:43927436605339 0:0 hcCommandKernel:386 -43927436608539:43927436614939 0:0 hcCommandMarker:388 -43927452817152:43927453295713 0:0 hcCommandKernel:391 -43927453298753:43927453305313 0:0 hcCommandMarker:393 -43927469556470:43927471402233 0:0 hcCommandKernel:396 -43927471405273:43927471436473 0:0 hcCommandMarker:398 -43927487653662:43927489493025 0:0 hcCommandKernel:401 -43927489495905:43927489527265 0:0 hcCommandMarker:403 -43927505760487:43927507612330 0:0 hcCommandKernel:406 -43927507615370:43927507646890 0:0 hcCommandMarker:408 -43927523866005:43927525701688 0:0 hcCommandKernel:411 -43927525704568:43927525735928 0:0 hcCommandMarker:413 -43927541964985:43927543800828 0:0 hcCommandKernel:416 -43927543803868:43927543835228 0:0 hcCommandMarker:418 -43927560059882:43927561903405 0:0 hcCommandKernel:421 -43927561906285:43927561937645 0:0 hcCommandMarker:423 -43927578162284:43927579996207 0:0 hcCommandKernel:426 -43927579999247:43927580030607 0:0 hcCommandMarker:428 -43927596246861:43927598092944 0:0 hcCommandKernel:431 -43927598095984:43927598127344 0:0 hcCommandMarker:433 -43927614348780:43927616191983 0:0 hcCommandKernel:436 -43927616195023:43927616226383 0:0 hcCommandMarker:438 -43927632444778:43927634288301 0:0 hcCommandKernel:441 -43927634291341:43927634322701 0:0 hcCommandMarker:443 -43927650551469:43927652392272 0:0 hcCommandKernel:446 -43927652395312:43927652426672 0:0 hcCommandMarker:448 -43927668662167:43927670500250 0:0 hcCommandKernel:451 -43927670503130:43927670534490 0:0 hcCommandMarker:453 -43927686759627:43927688598030 0:0 hcCommandKernel:456 -43927688600910:43927688632270 0:0 hcCommandMarker:458 -43927704870032:43927706712115 0:0 hcCommandKernel:461 -43927706714876:43927706746556 0:0 hcCommandMarker:463 -43927723215479:43927723705400 0:0 hcCommandKernel:466 -43927723708440:43927723715000 0:0 hcCommandMarker:468 -43927739925344:43927740410624 0:0 hcCommandKernel:471 -43927740413495:43927740420055 0:0 hcCommandMarker:473 -43927756867441:43927757354642 0:0 hcCommandKernel:476 -43927757357522:43927757364082 0:0 hcCommandMarker:478 -43927773616793:43927774102554 0:0 hcCommandKernel:481 -43927774105594:43927774111994 0:0 hcCommandMarker:483 -43927790331034:43927790824955 0:0 hcCommandKernel:486 -43927790827835:43927790834395 0:0 hcCommandMarker:488 -43927807043096:43927807534457 0:0 hcCommandKernel:491 -43927807537337:43927807543897 0:0 hcCommandMarker:493 -43927823754202:43927824244923 0:0 hcCommandKernel:496 -43927824247803:43927824254363 0:0 hcCommandMarker:498 -43927840474185:43927840956906 0:0 hcCommandKernel:501 -43927840959946:43927840966506 0:0 hcCommandMarker:503 +3802696362735951:3802696362742111 1969:1969 hipGetDeviceProperties(props=, device=0) +3802696363814689:3802696363950080 1969:1969 hipMalloc(ptr=0x7f5d950fbec3, size=4194304) +3802696363953420:3802696364101301 1969:1969 hipMalloc(ptr=0x7ffc1fedbc38, size=4194304) +3802696364113571:3802696640047036 1969:1969 hipMemcpy(dst=0x7f5bf6800000, src=0x7f5c84bff010, sizeBytes=4194304, kind=1) +3802696640055326:3802696640055327 1969:1969 MARK(name(before HIP LaunchKernel)) +3802696640087756:3802696640092256 1969:1969 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802696640099836:3802696640100846 1969:1969 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=140039878332634, stream=0xd8281e04d8fb4) +3802696640108756:3802696640659250 1969:1969 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x7f5c84bff010, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802696640675670:3802696640675671 1969:1969 MARK(name(after HIP LaunchKernel)) +3802696640679740:3802696644080695 1969:1969 hipMemcpy(dst=0x7f5c847fe010, src=0x7f5bf6200000, sizeBytes=4194304, kind=2) +3802696652345776:3802696654342111 1969:1969 hipMemcpy(dst=0x7f5bf6800000, src=0x7f5c84bff010, sizeBytes=4194304, kind=1) +3802696654345401:3802696654345402 1969:1969 MARK(name(before HIP LaunchKernel)) +3802696654351861:3802696654353221 1969:1969 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802696654357431:3802696654358041 1969:1969 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=140039878332634, stream=0xd8281e1272a54) +3802696654361991:3802696654368211 1969:1969 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802696654377342:3802696654377343 1969:1969 MARK(name(after HIP LaunchKernel)) +3802696654380832:3802696657490425 1969:1969 hipMemcpy(dst=0x7f5c847fe010, src=0x7f5bf6200000, sizeBytes=4194304, kind=2) +3802696664971330:3802696667050056 1969:1969 hipMemcpy(dst=0x7f5bf6800000, src=0x7f5c84bff010, sizeBytes=4194304, kind=1) +3802696667053126:3802696667053127 1969:1969 MARK(name(before HIP LaunchKernel)) +3802696667064616:3802696667065446 1969:1969 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802696667068896:3802696667069556 1969:1969 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=140039878332634, stream=0xd8281e1e92325) +3802696667073166:3802696667078546 1969:1969 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802696667081196:3802696667081197 1969:1969 MARK(name(after HIP LaunchKernel)) +3802696667084536:3802696669834166 1969:1969 hipMemcpy(dst=0x7f5c847fe010, src=0x7f5bf6200000, sizeBytes=4194304, kind=2) +3802696677171050:3802696679125475 1969:1969 hipMemcpy(dst=0x7f5bf6800000, src=0x7f5c84bff010, sizeBytes=4194304, kind=1) +3802696679128415:3802696679128416 1969:1969 MARK(name(before HIP LaunchKernel)) +3802696679134425:3802696679135395 1969:1969 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802696679139185:3802696679139755 1969:1969 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=140039878332634, stream=0xd8281e2a14f17) +3802696679143595:3802696679148715 1969:1969 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802696679156885:3802696679156886 1969:1969 MARK(name(after HIP LaunchKernel)) +3802696679160125:3802696681867825 1969:1969 hipMemcpy(dst=0x7f5c847fe010, src=0x7f5bf6200000, sizeBytes=4194304, kind=2) +3802696689188500:3802696691160594 1969:1969 hipMemcpy(dst=0x7f5bf6800000, src=0x7f5c84bff010, sizeBytes=4194304, kind=1) +3802696691163784:3802696691163785 1969:1969 MARK(name(before HIP LaunchKernel)) +3802696691170114:3802696691170904 1969:1969 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802696691179954:3802696691180694 1969:1969 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=140039878332634, stream=0xd8281e358f481) +3802696691184755:3802696691189735 1969:1969 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802696691192345:3802696691192346 1969:1969 MARK(name(after HIP LaunchKernel)) +3802696691196895:3802696693878895 1969:1969 hipMemcpy(dst=0x7f5c847fe010, src=0x7f5bf6200000, sizeBytes=4194304, kind=2) +3802696701216148:3802696703196883 1969:1969 hipMemcpy(dst=0x7f5bf6800000, src=0x7f5c84bff010, sizeBytes=4194304, kind=1) +3802696703200143:3802696703200144 1969:1969 MARK(name(before HIP LaunchKernel)) +3802696703205573:3802696703206453 1969:1969 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802696703209883:3802696703210463 1969:1969 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=140039878332634, stream=0xd8281e4109a13) +3802696703214133:3802696703218783 1969:1969 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802696703227553:3802696703227554 1969:1969 MARK(name(after HIP LaunchKernel)) +3802696703230903:3802696705940073 1969:1969 hipMemcpy(dst=0x7f5c847fe010, src=0x7f5bf6200000, sizeBytes=4194304, kind=2) +3802696713254388:3802696715262513 1969:1969 hipMemcpy(dst=0x7f5bf6800000, src=0x7f5c84bff010, sizeBytes=4194304, kind=1) +3802696715265573:3802696715265574 1969:1969 MARK(name(before HIP LaunchKernel)) +3802696715271933:3802696715272703 1969:1969 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802696715281103:3802696715281683 1969:1969 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=140039878332634, stream=0xd8281e4c8b791) +3802696715288473:3802696715293773 1969:1969 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802696715296353:3802696715296354 1969:1969 MARK(name(after HIP LaunchKernel)) +3802696715299513:3802696718001163 1969:1969 hipMemcpy(dst=0x7f5c847fe010, src=0x7f5bf6200000, sizeBytes=4194304, kind=2) +3802696725322007:3802696727335272 1969:1969 hipMemcpy(dst=0x7f5bf6800000, src=0x7f5c84bff010, sizeBytes=4194304, kind=1) +3802696727343812:3802696727343813 1969:1969 MARK(name(before HIP LaunchKernel)) +3802696727349622:3802696727350422 1969:1969 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802696727354892:3802696727355722 1969:1969 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=140039878332634, stream=0xd8281e58101e7) +3802696727359392:3802696727364452 1969:1969 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802696727369572:3802696727369573 1969:1969 MARK(name(after HIP LaunchKernel)) +3802696727372872:3802696730080732 1969:1969 hipMemcpy(dst=0x7f5c847fe010, src=0x7f5bf6200000, sizeBytes=4194304, kind=2) +3802696737397467:3802696739374631 1969:1969 hipMemcpy(dst=0x7f5bf6800000, src=0x7f5c84bff010, sizeBytes=4194304, kind=1) +3802696739377541:3802696739377542 1969:1969 MARK(name(before HIP LaunchKernel)) +3802696739388211:3802696739389061 1969:1969 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802696739393802:3802696739394672 1969:1969 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=140039878332634, stream=0xd8281e638b38b) +3802696739398292:3802696739403562 1969:1969 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802696739406122:3802696739406123 1969:1969 MARK(name(after HIP LaunchKernel)) +3802696739409552:3802696742436414 1969:1969 hipMemcpy(dst=0x7f5c847fe010, src=0x7f5bf6200000, sizeBytes=4194304, kind=2) +3802696749712418:3802696751644382 1969:1969 hipMemcpy(dst=0x7f5bf6800000, src=0x7f5c84bff010, sizeBytes=4194304, kind=1) +3802696751654662:3802696751654663 1969:1969 MARK(name(before HIP LaunchKernel)) +3802696751660902:3802696751661742 1969:1969 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802696751665222:3802696751665912 1969:1969 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=140039878332634, stream=0xd8281e6f3f75d) +3802696751669592:3802696751675122 1969:1969 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802696751677752:3802696751677753 1969:1969 MARK(name(after HIP LaunchKernel)) +3802696751681962:3802696754497883 1969:1969 hipMemcpy(dst=0x7f5c847fe010, src=0x7f5bf6200000, sizeBytes=4194304, kind=2) +3802696761934358:3802696763879193 1969:1969 hipMemcpy(dst=0x7f5bf6800000, src=0x7f5c84bff010, sizeBytes=4194304, kind=1) +3802696763882453:3802696763882454 1969:1969 MARK(name(before HIP LaunchKernel)) +3802696763887973:3802696763889083 1969:1969 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802696763895223:3802696763895813 1969:1969 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=140039878332634, stream=0xd8281e7ae8a1d) +3802696763899503:3802696763905253 1969:1969 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802696763907953:3802696763907954 1969:1969 MARK(name(after HIP LaunchKernel)) +3802696763911203:3802696766871395 1969:1969 hipMemcpy(dst=0x7f5c847fe010, src=0x7f5bf6200000, sizeBytes=4194304, kind=2) +3802696774437721:3802696776384806 1969:1969 hipMemcpy(dst=0x7f5bf6800000, src=0x7f5c84bff010, sizeBytes=4194304, kind=1) +3802696776391306:3802696776391307 1969:1969 MARK(name(before HIP LaunchKernel)) +3802696776397246:3802696776398366 1969:1969 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802696776401876:3802696776402456 1969:1969 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=140039878332634, stream=0xd8281e86d6a31) +3802696776406216:3802696776411926 1969:1969 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802696776414266:3802696776414267 1969:1969 MARK(name(after HIP LaunchKernel)) +3802696776418786:3802696779431988 1969:1969 hipMemcpy(dst=0x7f5c847fe010, src=0x7f5bf6200000, sizeBytes=4194304, kind=2) +3802696786940164:3802696788880918 1969:1969 hipMemcpy(dst=0x7f5bf6800000, src=0x7f5c84bff010, sizeBytes=4194304, kind=1) +3802696788884258:3802696788884259 1969:1969 MARK(name(before HIP LaunchKernel)) +3802696788890398:3802696788891118 1969:1969 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802696788894518:3802696788895168 1969:1969 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=140039878332634, stream=0xd8281e92c09be) +3802696788902868:3802696788908228 1969:1969 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802696788910898:3802696788910899 1969:1969 MARK(name(after HIP LaunchKernel)) +3802696788914188:3802696791885930 1969:1969 hipMemcpy(dst=0x7f5c847fe010, src=0x7f5bf6200000, sizeBytes=4194304, kind=2) +3802696799343906:3802696801352321 1969:1969 hipMemcpy(dst=0x7f5bf6800000, src=0x7f5c84bff010, sizeBytes=4194304, kind=1) +3802696801360471:3802696801360472 1969:1969 MARK(name(before HIP LaunchKernel)) +3802696801366151:3802696801367121 1969:1969 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802696801370521:3802696801371101 1969:1969 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=140039878332634, stream=0xd8281e9ea67c8) +3802696801374591:3802696801380001 1969:1969 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802696801382521:3802696801382522 1969:1969 MARK(name(after HIP LaunchKernel)) +3802696801386911:3802696804138941 1969:1969 hipMemcpy(dst=0x7f5c847fe010, src=0x7f5bf6200000, sizeBytes=4194304, kind=2) +3802696811551556:3802696813502780 1969:1969 hipMemcpy(dst=0x7f5bf6800000, src=0x7f5c84bff010, sizeBytes=4194304, kind=1) +3802696813505760:3802696813505761 1969:1969 MARK(name(before HIP LaunchKernel)) +3802696813511350:3802696813512000 1969:1969 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802696813515460:3802696813516030 1969:1969 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=140039878332634, stream=0xd8281eaa3b876) +3802696813525151:3802696813530911 1969:1969 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802696813533521:3802696813533522 1969:1969 MARK(name(after HIP LaunchKernel)) +3802696813536721:3802696816316731 1969:1969 hipMemcpy(dst=0x7f5c847fe010, src=0x7f5bf6200000, sizeBytes=4194304, kind=2) +3802696823720866:3802696825682671 1969:1969 hipMemcpy(dst=0x7f5bf6800000, src=0x7f5c84bff010, sizeBytes=4194304, kind=1) +3802696825685551:3802696825685552 1969:1969 MARK(name(before HIP LaunchKernel)) +3802696825696431:3802696825697281 1969:1969 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802696825700631:3802696825701231 1969:1969 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=140039878332634, stream=0xd8281eb5da6ea) +3802696825704841:3802696825710411 1969:1969 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802696825716271:3802696825716272 1969:1969 MARK(name(after HIP LaunchKernel)) +3802696825721771:3802696828355021 1969:1969 hipMemcpy(dst=0x7f5c847fe010, src=0x7f5bf6200000, sizeBytes=4194304, kind=2) +3802696835761945:3802696837713140 1969:1969 hipMemcpy(dst=0x7f5bf6800000, src=0x7f5c84bff010, sizeBytes=4194304, kind=1) +3802696837716400:3802696837716401 1969:1969 MARK(name(before HIP LaunchKernel)) +3802696837722450:3802696837723260 1969:1969 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802696837726780:3802696837727370 1969:1969 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=140039878332634, stream=0xd8281ec152710) +3802696837736290:3802696837741980 1969:1969 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802696837744650:3802696837744651 1969:1969 MARK(name(after HIP LaunchKernel)) +3802696837747920:3802696840669822 1969:1969 hipMemcpy(dst=0x7f5c847fe010, src=0x7f5bf6200000, sizeBytes=4194304, kind=2) +3802696848175877:3802696850116212 1969:1969 hipMemcpy(dst=0x7f5bf6800000, src=0x7f5c84bff010, sizeBytes=4194304, kind=1) +3802696850119122:3802696850119123 1969:1969 MARK(name(before HIP LaunchKernel)) +3802696850133262:3802696850133922 1969:1969 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802696850137402:3802696850137982 1969:1969 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=140039878332634, stream=0xd8281ecd285e9) +3802696850141962:3802696850147022 1969:1969 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802696850149702:3802696850149703 1969:1969 MARK(name(after HIP LaunchKernel)) +3802696850153912:3802696852905613 1969:1969 hipMemcpy(dst=0x7f5c847fe010, src=0x7f5bf6200000, sizeBytes=4194304, kind=2) +3802696860482268:3802696862408153 1969:1969 hipMemcpy(dst=0x7f5bf6800000, src=0x7f5c84bff010, sizeBytes=4194304, kind=1) +3802696862411193:3802696862411194 1969:1969 MARK(name(before HIP LaunchKernel)) +3802696862416963:3802696862417773 1969:1969 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802696862421533:3802696862422103 1969:1969 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=140039878332634, stream=0xd8281ed8df567) +3802696862431233:3802696862436893 1969:1969 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802696862439603:3802696862439604 1969:1969 MARK(name(after HIP LaunchKernel)) +3802696862442913:3802696865524756 1969:1969 hipMemcpy(dst=0x7f5c847fe010, src=0x7f5bf6200000, sizeBytes=4194304, kind=2) +3802696872837160:3802696874768504 1969:1969 hipMemcpy(dst=0x7f5bf6800000, src=0x7f5c84bff010, sizeBytes=4194304, kind=1) +3802696874771404:3802696874771405 1969:1969 MARK(name(before HIP LaunchKernel)) +3802696874781925:3802696874782695 1969:1969 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802696874786175:3802696874786765 1969:1969 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=140039878332634, stream=0xd8281ee4aa193) +3802696874790835:3802696874795975 1969:1969 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802696874798615:3802696874798616 1969:1969 MARK(name(after HIP LaunchKernel)) +3802696874801805:3802696877696796 1969:1969 hipMemcpy(dst=0x7f5c847fe010, src=0x7f5bf6200000, sizeBytes=4194304, kind=2) +3802696885058790:3802696887390638 1969:1969 hipMemcpy(dst=0x7f5bf6800000, src=0x7f5c84bff010, sizeBytes=4194304, kind=1) +3802696887393548:3802696887393549 1969:1969 MARK(name(before HIP LaunchKernel)) +3802696887399258:3802696887400098 1969:1969 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802696887403568:3802696887404138 1969:1969 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=140039878332634, stream=0xd8281ef0b2800) +3802696887412518:3802696887417898 1969:1969 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802696887420568:3802696887420569 1969:1969 MARK(name(after HIP LaunchKernel)) +3802696887423868:3802696890490901 1969:1969 hipMemcpy(dst=0x7f5c847fe010, src=0x7f5bf6200000, sizeBytes=4194304, kind=2) +3802696897758815:3802696899692869 1969:1969 hipMemcpy(dst=0x7f5bf6800000, src=0x7f5c84bff010, sizeBytes=4194304, kind=1) +3802696899696049:3802696899696050 1969:1969 MARK(name(before HIP LaunchKernel)) +3802696899706499:3802696899707219 1969:1969 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802696899710769:3802696899711339 1969:1969 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=140039878332634, stream=0xd8281efc6f264) +3802696899714699:3802696899719649 1969:1969 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802696899722049:3802696899722050 1969:1969 MARK(name(after HIP LaunchKernel)) +3802696899725429:3802696902523020 1969:1969 hipMemcpy(dst=0x7f5c847fe010, src=0x7f5bf6200000, sizeBytes=4194304, kind=2) +3802696909793454:3802696911742168 1969:1969 hipMemcpy(dst=0x7f5bf6800000, src=0x7f5c84bff010, sizeBytes=4194304, kind=1) +3802696911745278:3802696911745279 1969:1969 MARK(name(before HIP LaunchKernel)) +3802696911750868:3802696911751688 1969:1969 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802696911755298:3802696911755888 1969:1969 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=140039878332634, stream=0xd8281f07ebace) +3802696911759768:3802696911765108 1969:1969 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802696911773408:3802696911773409 1969:1969 MARK(name(after HIP LaunchKernel)) +3802696911776738:3802696914824181 1969:1969 hipMemcpy(dst=0x7f5c847fe010, src=0x7f5bf6200000, sizeBytes=4194304, kind=2) +3802696922290866:3802696924269201 1969:1969 hipMemcpy(dst=0x7f5bf6800000, src=0x7f5c84bff010, sizeBytes=4194304, kind=1) +3802696924272511:3802696924272512 1969:1969 MARK(name(before HIP LaunchKernel)) +3802696924284531:3802696924285361 1969:1969 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802696924288931:3802696924289511 1969:1969 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=140039878332634, stream=0xd8281f13dfa28) +3802696924293321:3802696924299191 1969:1969 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802696924304651:3802696924304652 1969:1969 MARK(name(after HIP LaunchKernel)) +3802696924308111:3802696927047892 1969:1969 hipMemcpy(dst=0x7f5c847fe010, src=0x7f5bf6200000, sizeBytes=4194304, kind=2) +3802696934600088:3802696936532812 1969:1969 hipMemcpy(dst=0x7f5bf6800000, src=0x7f5c84bff010, sizeBytes=4194304, kind=1) +3802696936535772:3802696936535773 1969:1969 MARK(name(before HIP LaunchKernel)) +3802696936541832:3802696936542562 1969:1969 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802696936546302:3802696936546872 1969:1969 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=140039878332634, stream=0xd8281f1f9018d) +3802696936555262:3802696936560562 1969:1969 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802696936564712:3802696936564713 1969:1969 MARK(name(after HIP LaunchKernel)) +3802696936567962:3802696939431873 1969:1969 hipMemcpy(dst=0x7f5c847fe010, src=0x7f5bf6200000, sizeBytes=4194304, kind=2) +3802696946943529:3802696948885613 1969:1969 hipMemcpy(dst=0x7f5bf6800000, src=0x7f5c84bff010, sizeBytes=4194304, kind=1) +3802696948888923:3802696948888924 1969:1969 MARK(name(before HIP LaunchKernel)) +3802696948894383:3802696948895173 1969:1969 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802696948905404:3802696948905974 1969:1969 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=140039878332634, stream=0xd8281f2b57da3) +3802696948909614:3802696948915254 1969:1969 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802696948917774:3802696948917775 1969:1969 MARK(name(after HIP LaunchKernel)) +3802696948921004:3802696951896226 1969:1969 hipMemcpy(dst=0x7f5c847fe010, src=0x7f5bf6200000, sizeBytes=4194304, kind=2) +3802696959371411:3802696961375676 1969:1969 hipMemcpy(dst=0x7f5bf6800000, src=0x7f5c84bff010, sizeBytes=4194304, kind=1) +3802696961378716:3802696961378717 1969:1969 MARK(name(before HIP LaunchKernel)) +3802696961384426:3802696961385446 1969:1969 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802696961394496:3802696961395076 1969:1969 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=140039878332634, stream=0xd8281f3741375) +3802696961399056:3802696961404536 1969:1969 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802696961408536:3802696961408537 1969:1969 MARK(name(after HIP LaunchKernel)) +3802696961411896:3802696964030195 1969:1969 hipMemcpy(dst=0x7f5c847fe010, src=0x7f5bf6200000, sizeBytes=4194304, kind=2) +3802696971343720:3802696973425385 1969:1969 hipMemcpy(dst=0x7f5bf6800000, src=0x7f5c84bff010, sizeBytes=4194304, kind=1) +3802696973433445:3802696973433446 1969:1969 MARK(name(before HIP LaunchKernel)) +3802696973438875:3802696973439615 1969:1969 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802696973444245:3802696973444895 1969:1969 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=140039878332634, stream=0xd8281f42c01c3) +3802696973448655:3802696973454335 1969:1969 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802696973457255:3802696973457256 1969:1969 MARK(name(after HIP LaunchKernel)) +3802696973460535:3802696976519038 1969:1969 hipMemcpy(dst=0x7f5c847fe010, src=0x7f5bf6200000, sizeBytes=4194304, kind=2) +3802696983888993:3802696985865518 1969:1969 hipMemcpy(dst=0x7f5bf6800000, src=0x7f5c84bff010, sizeBytes=4194304, kind=1) +3802696985871628:3802696985871629 1969:1969 MARK(name(before HIP LaunchKernel)) +3802696985877738:3802696985878628 1969:1969 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802696985881938:3802696985882508 1969:1969 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=140039878332634, stream=0xd8281f4e9cf5a) +3802696985886168:3802696985891478 1969:1969 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802696985895198:3802696985895199 1969:1969 MARK(name(after HIP LaunchKernel)) +3802696985898548:3802696988791589 1969:1969 hipMemcpy(dst=0x7f5c847fe010, src=0x7f5bf6200000, sizeBytes=4194304, kind=2) +3802696996268344:3802696998238059 1969:1969 hipMemcpy(dst=0x7f5bf6800000, src=0x7f5c84bff010, sizeBytes=4194304, kind=1) +3802696998240779:3802696998240780 1969:1969 MARK(name(before HIP LaunchKernel)) +3802696998246449:3802696998247159 1969:1969 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802696998253139:3802696998253699 1969:1969 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=140039878332634, stream=0xd8281f5a689a0) +3802696998257619:3802696998262559 1969:1969 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802696998265249:3802696998265250 1969:1969 MARK(name(after HIP LaunchKernel)) +3802696998268519:3802697001030610 1969:1969 hipMemcpy(dst=0x7f5c847fe010, src=0x7f5bf6200000, sizeBytes=4194304, kind=2) +3802697008363334:3802697010354519 1969:1969 hipMemcpy(dst=0x7f5bf6800000, src=0x7f5c84bff010, sizeBytes=4194304, kind=1) +3802697010359389:3802697010359390 1969:1969 MARK(name(before HIP LaunchKernel)) +3802697010364979:3802697010365859 1969:1969 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802697010369249:3802697010369829 1969:1969 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=140039878332634, stream=0xd8281f65f7400) +3802697010373649:3802697010379229 1969:1969 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802697010382209:3802697010382210 1969:1969 MARK(name(after HIP LaunchKernel)) +3802697010387849:3802697013164500 1969:1969 hipMemcpy(dst=0x7f5c847fe010, src=0x7f5bf6200000, sizeBytes=4194304, kind=2) +3802697020364493:3802697022156186 1969:1969 hipMemcpy(dst=0x7f5bf6800000, src=0x7f5c84bff010, sizeBytes=4194304, kind=1) +3802697022160466:3802697022160467 1969:1969 MARK(name(before HIP LaunchKernel)) +3802697022167136:3802697022167806 1969:1969 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802697022180286:3802697022180816 1969:1969 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=140039878332634, stream=0xd8281f7138912) +3802697022184706:3802697022193226 1969:1969 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802697022200196:3802697022200197 1969:1969 MARK(name(after HIP LaunchKernel)) +3802697022203406:3802697024916016 1969:1969 hipMemcpy(dst=0x7f5c847fe010, src=0x7f5bf6200000, sizeBytes=4194304, kind=2) +3802697032174460:3802697033872673 1969:1969 hipMemcpy(dst=0x7f5bf6800000, src=0x7f5c84bff010, sizeBytes=4194304, kind=1) +3802697033885733:3802697033885734 1969:1969 MARK(name(before HIP LaunchKernel)) +3802697033891813:3802697033893003 1969:1969 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802697033897073:3802697033897673 1969:1969 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=140039878332634, stream=0xd8281f7c67255) +3802697033901143:3802697033908083 1969:1969 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802697033910573:3802697033910574 1969:1969 MARK(name(after HIP LaunchKernel)) +3802697033915443:3802697036527733 1969:1969 hipMemcpy(dst=0x7f5c847fe010, src=0x7f5bf6200000, sizeBytes=4194304, kind=2) +3802697043715706:3802697045435578 1969:1969 hipMemcpy(dst=0x7f5bf6800000, src=0x7f5c84bff010, sizeBytes=4194304, kind=1) +3802697045440008:3802697045440009 1969:1969 MARK(name(before HIP LaunchKernel)) +3802697045447168:3802697045447828 1969:1969 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802697045451498:3802697045452108 1969:1969 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=140039878332634, stream=0xd8281f876c220) +3802697045463469:3802697045471069 1969:1969 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802697045473799:3802697045473800 1969:1969 MARK(name(after HIP LaunchKernel)) +3802697045477089:3802697048097158 1969:1969 hipMemcpy(dst=0x7f5c847fe010, src=0x7f5bf6200000, sizeBytes=4194304, kind=2) +3802697055288462:3802697057008124 1969:1969 hipMemcpy(dst=0x7f5bf6800000, src=0x7f5c84bff010, sizeBytes=4194304, kind=1) +3802697057020374:3802697057020375 1969:1969 MARK(name(before HIP LaunchKernel)) +3802697057028905:3802697057029605 1969:1969 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802697057033415:3802697057034155 1969:1969 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=140039878332634, stream=0xd8281f9277b28) +3802697057037775:3802697057044625 1969:1969 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802697057047305:3802697057047306 1969:1969 MARK(name(after HIP LaunchKernel)) +3802697057052015:3802697059677884 1969:1969 hipMemcpy(dst=0x7f5c847fe010, src=0x7f5bf6200000, sizeBytes=4194304, kind=2) +3802697066856728:3802697068564870 1969:1969 hipMemcpy(dst=0x7f5bf6800000, src=0x7f5c84bff010, sizeBytes=4194304, kind=1) +3802697068569390:3802697068569391 1969:1969 MARK(name(before HIP LaunchKernel)) +3802697068575840:3802697068576820 1969:1969 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802697068581390:3802697068581910 1969:1969 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=140039878332634, stream=0xd8281f9d7ad2f) +3802697068592860:3802697068600491 1969:1969 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802697068603401:3802697068603402 1969:1969 MARK(name(after HIP LaunchKernel)) +3802697068606671:3802697071229770 1969:1969 hipMemcpy(dst=0x7f5c847fe010, src=0x7f5bf6200000, sizeBytes=4194304, kind=2) +3802697078420113:3802697080127116 1969:1969 hipMemcpy(dst=0x7f5bf6800000, src=0x7f5c84bff010, sizeBytes=4194304, kind=1) +3802697080139836:3802697080139837 1969:1969 MARK(name(before HIP LaunchKernel)) +3802697080146966:3802697080147966 1969:1969 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802697080151696:3802697080152346 1969:1969 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=140039878332634, stream=0xd8281fa883cb1) +3802697080155766:3802697080163286 1969:1969 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802697080166076:3802697080166077 1969:1969 MARK(name(after HIP LaunchKernel)) +3802697080170706:3802697082789405 1969:1969 hipMemcpy(dst=0x7f5c847fe010, src=0x7f5bf6200000, sizeBytes=4194304, kind=2) +3802697089985979:3802697091700362 1969:1969 hipMemcpy(dst=0x7f5bf6800000, src=0x7f5c84bff010, sizeBytes=4194304, kind=1) +3802697091705022:3802697091705023 1969:1969 MARK(name(before HIP LaunchKernel)) +3802697091711702:3802697091712482 1969:1969 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802697091716102:3802697091716622 1969:1969 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=140039878332634, stream=0xd8281fb38b24c) +3802697091727082:3802697091734562 1969:1969 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802697091737292:3802697091737293 1969:1969 MARK(name(after HIP LaunchKernel)) +3802697091740482:3802697094369101 1969:1969 hipMemcpy(dst=0x7f5c847fe010, src=0x7f5bf6200000, sizeBytes=4194304, kind=2) +3802697101552134:3802697103268287 1969:1969 hipMemcpy(dst=0x7f5bf6800000, src=0x7f5c84bff010, sizeBytes=4194304, kind=1) +3802697103272807:3802697103272808 1969:1969 MARK(name(before HIP LaunchKernel)) +3802697103286617:3802697103287477 1969:1969 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802697103292317:3802697103292837 1969:1969 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=140039878332634, stream=0xd8281fbe950cd) +3802697103296137:3802697103303217 1969:1969 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802697103305937:3802697103305938 1969:1969 MARK(name(after HIP LaunchKernel)) +3802697103310797:3802697105931537 1969:1969 hipMemcpy(dst=0x7f5c847fe010, src=0x7f5bf6200000, sizeBytes=4194304, kind=2) +3802697113121800:3802697114826953 1969:1969 hipMemcpy(dst=0x7f5bf6800000, src=0x7f5c84bff010, sizeBytes=4194304, kind=1) +3802697114831473:3802697114831474 1969:1969 MARK(name(before HIP LaunchKernel)) +3802697114838223:3802697114839083 1969:1969 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802697114843043:3802697114843583 1969:1969 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=140039878332634, stream=0xd8281fc999405) +3802697114858613:3802697114868643 1969:1969 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802697114872803:3802697114872804 1969:1969 MARK(name(after HIP LaunchKernel)) +3802697114879993:3802697117487103 1969:1969 hipMemcpy(dst=0x7f5c847fe010, src=0x7f5bf6200000, sizeBytes=4194304, kind=2) +3802697124675005:3802697126378858 1969:1969 hipMemcpy(dst=0x7f5bf6800000, src=0x7f5c84bff010, sizeBytes=4194304, kind=1) +3802697126383398:3802697126383399 1969:1969 MARK(name(before HIP LaunchKernel)) +3802697126397348:3802697126397958 1969:1969 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802697126402598:3802697126403198 1969:1969 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=140039878332634, stream=0xd8281fd49f398) +3802697126406548:3802697126413878 1969:1969 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802697126416498:3802697126416499 1969:1969 MARK(name(after HIP LaunchKernel)) +3802697126419878:3802697129068948 1969:1969 hipMemcpy(dst=0x7f5c847fe010, src=0x7f5bf6200000, sizeBytes=4194304, kind=2) +3802697136275912:3802697137975834 1969:1969 hipMemcpy(dst=0x7f5bf6800000, src=0x7f5c84bff010, sizeBytes=4194304, kind=1) +3802697137980304:3802697137980305 1969:1969 MARK(name(before HIP LaunchKernel)) +3802697137986764:3802697137987644 1969:1969 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802697137991434:3802697137991954 1969:1969 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=140039878332634, stream=0xd8281fdfacb7b) +3802697138003734:3802697138010735 1969:1969 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802697138013375:3802697138013376 1969:1969 MARK(name(after HIP LaunchKernel)) +3802697138018655:3802697140630484 1969:1969 hipMemcpy(dst=0x7f5c847fe010, src=0x7f5bf6200000, sizeBytes=4194304, kind=2) +3802697147820777:3802697149537720 1969:1969 hipMemcpy(dst=0x7f5bf6800000, src=0x7f5c84bff010, sizeBytes=4194304, kind=1) +3802697149542330:3802697149542331 1969:1969 MARK(name(before HIP LaunchKernel)) +3802697149556550:3802697149557300 1969:1969 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802697149561790:3802697149562390 1969:1969 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=140039878332634, stream=0xd8281feab552b) +3802697149567470:3802697149574740 1969:1969 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802697149577240:3802697149577241 1969:1969 MARK(name(after HIP LaunchKernel)) +3802697149580540:3802697152203779 1969:1969 hipMemcpy(dst=0x7f5c847fe010, src=0x7f5bf6200000, sizeBytes=4194304, kind=2) +3802697159400733:3802697161106245 1969:1969 hipMemcpy(dst=0x7f5bf6800000, src=0x7f5c84bff010, sizeBytes=4194304, kind=1) +3802697161110756:3802697161110757 1969:1969 MARK(name(before HIP LaunchKernel)) +3802697161118016:3802697161118696 1969:1969 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802697161122386:3802697161122916 1969:1969 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=140039878332634, stream=0xd8281ff5bbe96) +3802697161135096:3802697161143276 1969:1969 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802697161147496:3802697161147497 1969:1969 MARK(name(after HIP LaunchKernel)) +3802697161150486:3802697163778675 1969:1969 hipMemcpy(dst=0x7f5c847fe010, src=0x7f5bf6200000, sizeBytes=4194304, kind=2) +3802697170965009:3802697172656051 1969:1969 hipMemcpy(dst=0x7f5bf6800000, src=0x7f5c84bff010, sizeBytes=4194304, kind=1) +3802697172661601:3802697172661602 1969:1969 MARK(name(before HIP LaunchKernel)) +3802697172675452:3802697172676122 1969:1969 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802697172685472:3802697172685982 1969:1969 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=140039878332634, stream=0xd8282000c188a) +3802697172689392:3802697172700652 1969:1969 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802697172703202:3802697172703203 1969:1969 MARK(name(after HIP LaunchKernel)) +3802697172706612:3802697175425102 1969:1969 hipMemcpy(dst=0x7f5c847fe010, src=0x7f5bf6200000, sizeBytes=4194304, kind=2) +3802697182719185:3802697184416378 1969:1969 hipMemcpy(dst=0x7f5bf6800000, src=0x7f5c84bff010, sizeBytes=4194304, kind=1) +3802697184420838:3802697184420839 1969:1969 MARK(name(before HIP LaunchKernel)) +3802697184435358:3802697184436368 1969:1969 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802697184440478:3802697184441138 1969:1969 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=140039878332634, stream=0xd828200bf8aad) +3802697184444778:3802697184452358 1969:1969 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802697184456728:3802697184456729 1969:1969 MARK(name(after HIP LaunchKernel)) +3802697184460098:3802697187086888 1969:1969 hipMemcpy(dst=0x7f5c847fe010, src=0x7f5bf6200000, sizeBytes=4194304, kind=2) +3802697194276091:3802697195987864 1969:1969 hipMemcpy(dst=0x7f5bf6800000, src=0x7f5c84bff010, sizeBytes=4194304, kind=1) +3802697195992424:3802697195992425 1969:1969 MARK(name(before HIP LaunchKernel)) +3802697195998654:3802697195999414 1969:1969 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802697196024864:3802697196025834 1969:1969 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=140039878332634, stream=0xd8282016ffa8b) +3802697196029264:3802697196037355 1969:1969 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802697196040085:3802697196040086 1969:1969 MARK(name(after HIP LaunchKernel)) +3802697196043505:3802697198665334 1969:1969 hipMemcpy(dst=0x7f5c847fe010, src=0x7f5bf6200000, sizeBytes=4194304, kind=2) +3802697205861857:3802697207571230 1969:1969 hipMemcpy(dst=0x7f5bf6800000, src=0x7f5c84bff010, sizeBytes=4194304, kind=1) +3802697207575960:3802697207575961 1969:1969 MARK(name(before HIP LaunchKernel)) +3802697207582780:3802697207583490 1969:1969 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802697207587270:3802697207588020 1969:1969 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=140039878332634, stream=0xd82820220bc98) +3802697207591380:3802697207600620 1969:1969 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802697207611090:3802697207611091 1969:1969 MARK(name(after HIP LaunchKernel)) +3802697207614520:3802697210251409 1969:1969 hipMemcpy(dst=0x7f5c847fe010, src=0x7f5bf6200000, sizeBytes=4194304, kind=2) +3802697217437203:3802697219157406 1969:1969 hipMemcpy(dst=0x7f5bf6800000, src=0x7f5c84bff010, sizeBytes=4194304, kind=1) +3802697219163076:3802697219163077 1969:1969 MARK(name(before HIP LaunchKernel)) +3802697219169276:3802697219170216 1969:1969 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802697219183026:3802697219183696 1969:1969 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=140039878332634, stream=0xd828202d188f5) +3802697219187266:3802697219194726 1969:1969 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802697219197636:3802697219197637 1969:1969 MARK(name(after HIP LaunchKernel)) +3802697219201146:3802697221815255 1969:1969 hipMemcpy(dst=0x7f5c847fe010, src=0x7f5bf6200000, sizeBytes=4194304, kind=2) +3802697229006639:3802697230712791 1969:1969 hipMemcpy(dst=0x7f5bf6800000, src=0x7f5c84bff010, sizeBytes=4194304, kind=1) +3802697230724631:3802697230724632 1969:1969 MARK(name(before HIP LaunchKernel)) +3802697230731121:3802697230731871 1969:1969 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802697230736871:3802697230737411 1969:1969 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=140039878332634, stream=0xd82820381f365) +3802697230740761:3802697230748061 1969:1969 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802697230752191:3802697230752192 1969:1969 MARK(name(after HIP LaunchKernel)) +3802697230755511:3802697233384041 1969:1969 hipMemcpy(dst=0x7f5c847fe010, src=0x7f5bf6200000, sizeBytes=4194304, kind=2) +3802697240594284:3802697242289497 1969:1969 hipMemcpy(dst=0x7f5bf6800000, src=0x7f5c84bff010, sizeBytes=4194304, kind=1) +3802697242294007:3802697242294008 1969:1969 MARK(name(before HIP LaunchKernel)) +3802697242300487:3802697242301397 1969:1969 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802697242313627:3802697242314227 1969:1969 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=140039878332634, stream=0xd828204327c88) +3802697242317697:3802697242324897 1969:1969 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802697242327637:3802697242327638 1969:1969 MARK(name(after HIP LaunchKernel)) +3802697242330907:3802697244969487 1969:1969 hipMemcpy(dst=0x7f5c847fe010, src=0x7f5bf6200000, sizeBytes=4194304, kind=2) +3802697252183401:3802697253869453 1969:1969 hipMemcpy(dst=0x7f5bf6800000, src=0x7f5c84bff010, sizeBytes=4194304, kind=1) +3802697253884163:3802697253884164 1969:1969 MARK(name(before HIP LaunchKernel)) +3802697253893063:3802697253893943 1969:1969 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802697253897613:3802697253898133 1969:1969 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=140039878332634, stream=0xd828204e35fa2) +3802697253901783:3802697253909123 1969:1969 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802697253911753:3802697253911754 1969:1969 MARK(name(after HIP LaunchKernel)) +3802697253920713:3802697256526153 1969:1969 hipMemcpy(dst=0x7f5c847fe010, src=0x7f5bf6200000, sizeBytes=4194304, kind=2) +3802697263714986:3802697265419208 1969:1969 hipMemcpy(dst=0x7f5bf6800000, src=0x7f5c84bff010, sizeBytes=4194304, kind=1) +3802697265424348:3802697265424349 1969:1969 MARK(name(before HIP LaunchKernel)) +3802697265431088:3802697265431798 1969:1969 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802697265443558:3802697265444168 1969:1969 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=140039878332634, stream=0xd828205936d23) +3802697265447418:3802697265455328 1969:1969 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802697265457808:3802697265457809 1969:1969 MARK(name(after HIP LaunchKernel)) +3802697265461049:3802697268093008 1969:1969 hipMemcpy(dst=0x7f5c847fe010, src=0x7f5bf6200000, sizeBytes=4194304, kind=2) +3802697275280772:3802697276992464 1969:1969 hipMemcpy(dst=0x7f5bf6800000, src=0x7f5c84bff010, sizeBytes=4194304, kind=1) +3802697277004774:3802697277004775 1969:1969 MARK(name(before HIP LaunchKernel)) +3802697277011004:3802697277011634 1969:1969 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802697277016094:3802697277016614 1969:1969 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=140039878332634, stream=0xd828206441e8c) +3802697277019954:3802697277029575 1969:1969 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802697277032225:3802697277032226 1969:1969 MARK(name(after HIP LaunchKernel)) +3802697277036485:3802697279665254 1969:1969 hipMemcpy(dst=0x7f5c847fe010, src=0x7f5bf6200000, sizeBytes=4194304, kind=2) +3802697287064778:3802697288769601 1969:1969 hipMemcpy(dst=0x7f5bf6800000, src=0x7f5c84bff010, sizeBytes=4194304, kind=1) +3802697288774361:3802697288774362 1969:1969 MARK(name(before HIP LaunchKernel)) +3802697288781221:3802697288782041 1969:1969 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802697288795601:3802697288796321 1969:1969 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=140039878332634, stream=0xd828206f7b874) +3802697288799791:3802697288807501 1969:1969 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802697288810031:3802697288810032 1969:1969 MARK(name(after HIP LaunchKernel)) +3802697288813241:3802697291432331 1969:1969 hipMemcpy(dst=0x7f5c847fe010, src=0x7f5bf6200000, sizeBytes=4194304, kind=2) +3802697298629774:3802697300323307 1969:1969 hipMemcpy(dst=0x7f5bf6800000, src=0x7f5c84bff010, sizeBytes=4194304, kind=1) +3802697300335027:3802697300335028 1969:1969 MARK(name(before HIP LaunchKernel)) +3802697300341487:3802697300342347 1969:1969 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802697300346437:3802697300347157 1969:1969 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=140039878332634, stream=0xd828207a81d9d) +3802697300350427:3802697300358447 1969:1969 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802697300363097:3802697300363098 1969:1969 MARK(name(after HIP LaunchKernel)) +3802697300367267:3802697302993947 1969:1969 hipMemcpy(dst=0x7f5c847fe010, src=0x7f5bf6200000, sizeBytes=4194304, kind=2) +3802697310188120:3802697311890442 1969:1969 hipMemcpy(dst=0x7f5bf6800000, src=0x7f5c84bff010, sizeBytes=4194304, kind=1) +3802697311895852:3802697311895853 1969:1969 MARK(name(before HIP LaunchKernel)) +3802697311902212:3802697311902842 1969:1969 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802697311906742:3802697311907352 1969:1969 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=140039878332634, stream=0xd828208588385) +3802697311918152:3802697311925483 1969:1969 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802697311928203:3802697311928204 1969:1969 MARK(name(after HIP LaunchKernel)) +3802697311931423:3802697314557912 1969:1969 hipMemcpy(dst=0x7f5c847fe010, src=0x7f5bf6200000, sizeBytes=4194304, kind=2) +3802697321751416:3802697323460438 1969:1969 hipMemcpy(dst=0x7f5bf6800000, src=0x7f5c84bff010, sizeBytes=4194304, kind=1) +3802697323472728:3802697323472729 1969:1969 MARK(name(before HIP LaunchKernel)) +3802697323479218:3802697323479868 1969:1969 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802697323484368:3802697323484969 1969:1969 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=140039878332634, stream=0xd8282090929fe) +3802697323488319:3802697323495729 1969:1969 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802697323498359:3802697323498360 1969:1969 MARK(name(after HIP LaunchKernel)) +3802697323502779:3802697326137268 1969:1969 hipMemcpy(dst=0x7f5c847fe010, src=0x7f5bf6200000, sizeBytes=4194304, kind=2) +3802697333343722:3802697335282166 1969:1969 hipMemcpy(dst=0x7f5bf6800000, src=0x7f5c84bff010, sizeBytes=4194304, kind=1) +3802697335287006:3802697335287007 1969:1969 MARK(name(before HIP LaunchKernel)) +3802697335293276:3802697335293896 1969:1969 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802697335298036:3802697335298566 1969:1969 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=140039878332634, stream=0xd828209bd6e40) +3802697335312946:3802697335319867 1969:1969 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802697335322697:3802697335322698 1969:1969 MARK(name(after HIP LaunchKernel)) +3802697335325847:3802697337930256 1969:1969 hipMemcpy(dst=0x7f5c847fe010, src=0x7f5bf6200000, sizeBytes=4194304, kind=2) +3802697345133029:3802697346844151 1969:1969 hipMemcpy(dst=0x7f5bf6800000, src=0x7f5c84bff010, sizeBytes=4194304, kind=1) +3802697346848101:3802697346848102 1969:1969 MARK(name(before HIP LaunchKernel)) +3802697346862372:3802697346863092 1969:1969 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802697346867882:3802697346868402 1969:1969 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=140039878332634, stream=0xd82820a6df619) +3802697346871792:3802697346879142 1969:1969 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802697346881732:3802697346881733 1969:1969 MARK(name(after HIP LaunchKernel)) +3802697346888552:3802697349492641 1969:1969 hipMemcpy(dst=0x7f5c847fe010, src=0x7f5bf6200000, sizeBytes=4194304, kind=2) +3802697356691925:3802697358396787 1969:1969 hipMemcpy(dst=0x7f5bf6800000, src=0x7f5c84bff010, sizeBytes=4194304, kind=1) +3802697358401567:3802697358401568 1969:1969 MARK(name(before HIP LaunchKernel)) +3802697358407577:3802697358408187 1969:1969 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802697358412268:3802697358412788 1969:1969 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=140039878332634, stream=0xd82820b1e1fe2) +3802697358425178:3802697358432458 1969:1969 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802697358437078:3802697358437079 1969:1969 MARK(name(after HIP LaunchKernel)) +3802697358440208:3802697361074237 1969:1969 hipMemcpy(dst=0x7f5c847fe010, src=0x7f5bf6200000, sizeBytes=4194304, kind=2) +3802697368272060:3802697369964753 1969:1969 hipMemcpy(dst=0x7f5bf6800000, src=0x7f5c84bff010, sizeBytes=4194304, kind=1) +3802697369969163:3802697369969164 1969:1969 MARK(name(before HIP LaunchKernel)) +3802697369983743:3802697369984623 1969:1969 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802697369989133:3802697369989733 1969:1969 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=140039878332634, stream=0xd82820bcec404) +3802697369994933:3802697370002183 1969:1969 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802697370004493:3802697370004494 1969:1969 MARK(name(after HIP LaunchKernel)) +3802697370007713:3802697372629992 1969:1969 hipMemcpy(dst=0x7f5c847fe010, src=0x7f5bf6200000, sizeBytes=4194304, kind=2) +3802697379814436:3802697381533359 1969:1969 hipMemcpy(dst=0x7f5bf6800000, src=0x7f5c84bff010, sizeBytes=4194304, kind=1) +3802697381538859:3802697381538860 1969:1969 MARK(name(before HIP LaunchKernel)) +3802697381544509:3802697381545209 1969:1969 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802697381557349:3802697381557859 1969:1969 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=140039878332634, stream=0xd82820c7f2a4f) +3802697381562939:3802697381569939 1969:1969 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802697381572519:3802697381572520 1969:1969 MARK(name(after HIP LaunchKernel)) +3802697381577269:3802697384224859 1969:1969 hipMemcpy(dst=0x7f5c847fe010, src=0x7f5bf6200000, sizeBytes=4194304, kind=2) +3802697391592004:3802697393309566 1969:1969 hipMemcpy(dst=0x7f5bf6800000, src=0x7f5c84bff010, sizeBytes=4194304, kind=1) +3802697393314116:3802697393314117 1969:1969 MARK(name(before HIP LaunchKernel)) +3802697393336296:3802697393337106 1969:1969 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802697393340346:3802697393340896 1969:1969 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=140039878332634, stream=0xd82820d331815) +3802697393344626:3802697393353936 1969:1969 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802697393361926:3802697393361927 1969:1969 MARK(name(after HIP LaunchKernel)) +3802697393365126:3802697395986315 1969:1969 hipMemcpy(dst=0x7f5c847fe010, src=0x7f5bf6200000, sizeBytes=4194304, kind=2) +3802697403168729:3802697404878002 1969:1969 hipMemcpy(dst=0x7f5bf6800000, src=0x7f5c84bff010, sizeBytes=4194304, kind=1) +3802697404882662:3802697404882663 1969:1969 MARK(name(before HIP LaunchKernel)) +3802697404888202:3802697404888942 1969:1969 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802697404892182:3802697404892782 1969:1969 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=140039878332634, stream=0xd82820de35c28) +3802697404896222:3802697404904832 1969:1969 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802697404915502:3802697404915503 1969:1969 MARK(name(after HIP LaunchKernel)) +3802697404918702:3802697407554721 1969:1969 hipMemcpy(dst=0x7f5c847fe010, src=0x7f5bf6200000, sizeBytes=4194304, kind=2) +3802697414750225:3802697416445228 1969:1969 hipMemcpy(dst=0x7f5bf6800000, src=0x7f5c84bff010, sizeBytes=4194304, kind=1) +3802697416449728:3802697416449729 1969:1969 MARK(name(before HIP LaunchKernel)) +3802697416463558:3802697416464358 1969:1969 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802697416468888:3802697416469428 1969:1969 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=140039878332634, stream=0xd82820e93fc57) +3802697416473168:3802697416480798 1969:1969 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802697416483588:3802697416483589 1969:1969 MARK(name(after HIP LaunchKernel)) +3802697416486658:3802697419124487 1969:1969 hipMemcpy(dst=0x7f5c847fe010, src=0x7f5bf6200000, sizeBytes=4194304, kind=2) +3802697426317840:3802697428179634 1969:1969 hipMemcpy(dst=0x7f5bf6800000, src=0x7f5c84bff010, sizeBytes=4194304, kind=1) +3802697428184314:3802697428184315 1969:1969 MARK(name(before HIP LaunchKernel)) +3802697428190824:3802697428191414 1969:1969 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802697428195454:3802697428196054 1969:1969 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=140039878332634, stream=0xd82820f46ecdf) +3802697428199854:3802697428207634 1969:1969 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802697428217224:3802697428217225 1969:1969 MARK(name(after HIP LaunchKernel)) +3802697428220474:3802697430844804 1969:1969 hipMemcpy(dst=0x7f5c847fe010, src=0x7f5bf6200000, sizeBytes=4194304, kind=2) +3802697438081348:3802697439806851 1969:1969 hipMemcpy(dst=0x7f5bf6800000, src=0x7f5c84bff010, sizeBytes=4194304, kind=1) +3802697439811621:3802697439811622 1969:1969 MARK(name(before HIP LaunchKernel)) +3802697439818581:3802697439819231 1969:1969 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802697439825081:3802697439825621 1969:1969 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=140039878332634, stream=0xd82820ff859c8) +3802697439829721:3802697439837491 1969:1969 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802697439840121:3802697439840122 1969:1969 MARK(name(after HIP LaunchKernel)) +3802697439843441:3802697442470620 1969:1969 hipMemcpy(dst=0x7f5c847fe010, src=0x7f5bf6200000, sizeBytes=4194304, kind=2) +3802697449672244:3802697451391516 1969:1969 hipMemcpy(dst=0x7f5bf6800000, src=0x7f5c84bff010, sizeBytes=4194304, kind=1) +3802697451396406:3802697451396407 1969:1969 MARK(name(before HIP LaunchKernel)) +3802697451409976:3802697451410996 1969:1969 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802697451415896:3802697451416426 1969:1969 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=140039878332634, stream=0xd828210a939d6) +3802697451420176:3802697451427856 1969:1969 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802697451432116:3802697451432117 1969:1969 MARK(name(after HIP LaunchKernel)) +3802697451435306:3802697454066596 1969:1969 hipMemcpy(dst=0x7f5c847fe010, src=0x7f5bf6200000, sizeBytes=4194304, kind=2) +3802697461261549:3802697462984012 1969:1969 hipMemcpy(dst=0x7f5bf6800000, src=0x7f5c84bff010, sizeBytes=4194304, kind=1) +3802697462988752:3802697462988753 1969:1969 MARK(name(before HIP LaunchKernel)) +3802697462996142:3802697462997012 1969:1969 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802697463010932:3802697463011462 1969:1969 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=140039878332634, stream=0xd8282115a0363) +3802697463014602:3802697463022292 1969:1969 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802697463025282:3802697463025283 1969:1969 MARK(name(after HIP LaunchKernel)) +3802697463028422:3802697465637702 1969:1969 hipMemcpy(dst=0x7f5c847fe010, src=0x7f5bf6200000, sizeBytes=4194304, kind=2) +3802697472970206:3802697474687979 1969:1969 hipMemcpy(dst=0x7f5bf6800000, src=0x7f5c84bff010, sizeBytes=4194304, kind=1) +3802697474699209:3802697474699210 1969:1969 MARK(name(before HIP LaunchKernel)) +3802697474704579:3802697474705179 1969:1969 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802697474709959:3802697474710469 1969:1969 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=140039878332634, stream=0xd8282120caa2b) +3802697474713689:3802697474720999 1969:1969 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802697474724979:3802697474724980 1969:1969 MARK(name(after HIP LaunchKernel)) +3802697474728189:3802697477346579 1969:1969 hipMemcpy(dst=0x7f5c847fe010, src=0x7f5bf6200000, sizeBytes=4194304, kind=2) +3802697484551052:3802697486241794 1969:1969 hipMemcpy(dst=0x7f5bf6800000, src=0x7f5c84bff010, sizeBytes=4194304, kind=1) +3802697486246084:3802697486246085 1969:1969 MARK(name(before HIP LaunchKernel)) +3802697486252834:3802697486253454 1969:1969 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802697486265324:3802697486265955 1969:1969 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=140039878332634, stream=0xd828212bce04c) +3802697486269605:3802697486280845 1969:1969 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802697486285045:3802697486285046 1969:1969 MARK(name(after HIP LaunchKernel)) +3802697486288085:3802697488922584 1969:1969 hipMemcpy(dst=0x7f5c847fe010, src=0x7f5bf6200000, sizeBytes=4194304, kind=2) +3802697496258999:3802697497957691 1969:1969 hipMemcpy(dst=0x7f5bf6800000, src=0x7f5c84bff010, sizeBytes=4194304, kind=1) +3802697497970892:3802697497970893 1969:1969 MARK(name(before HIP LaunchKernel)) +3802697497976732:3802697497977872 1969:1969 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802697497982192:3802697497982782 1969:1969 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=140039878332634, stream=0xd8282136fc68e) +3802697497986052:3802697497993852 1969:1969 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802697497997352:3802697497997353 1969:1969 MARK(name(after HIP LaunchKernel)) +3802697498000922:3802697500603791 1969:1969 hipMemcpy(dst=0x7f5c847fe010, src=0x7f5bf6200000, sizeBytes=4194304, kind=2) +3802697507798214:3802697509537487 1969:1969 hipMemcpy(dst=0x7f5bf6800000, src=0x7f5c84bff010, sizeBytes=4194304, kind=1) +3802697509541857:3802697509541858 1969:1969 MARK(name(before HIP LaunchKernel)) +3802697509548737:3802697509549727 1969:1969 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802697509562417:3802697509563087 1969:1969 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=140039878332634, stream=0xd8282142058cb) +3802697509567027:3802697509574197 1969:1969 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802697509577057:3802697509577058 1969:1969 MARK(name(after HIP LaunchKernel)) +3802697509580277:3802697512190997 1969:1969 hipMemcpy(dst=0x7f5c847fe010, src=0x7f5bf6200000, sizeBytes=4194304, kind=2) +3802697519380840:3802697521101523 1969:1969 hipMemcpy(dst=0x7f5bf6800000, src=0x7f5c84bff010, sizeBytes=4194304, kind=1) +3802697521113923:3802697521113924 1969:1969 MARK(name(before HIP LaunchKernel)) +3802697521119953:3802697521120933 1969:1969 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802697521125653:3802697521126183 1969:1969 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=140039878332634, stream=0xd828214d0e893) +3802697521129813:3802697521136933 1969:1969 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802697521139663:3802697521139664 1969:1969 MARK(name(after HIP LaunchKernel)) +3802697521144093:3802697523759413 1969:1969 hipMemcpy(dst=0x7f5c847fe010, src=0x7f5bf6200000, sizeBytes=4194304, kind=2) +3802697530941266:3802697532643339 1969:1969 hipMemcpy(dst=0x7f5bf6800000, src=0x7f5c84bff010, sizeBytes=4194304, kind=1) +3802697532648919:3802697532648920 1969:1969 MARK(name(before HIP LaunchKernel)) +3802697532655519:3802697532656189 1969:1969 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802697532666759:3802697532667529 1969:1969 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=140039878332634, stream=0xd82821580ebe2) +3802697532670859:3802697532678879 1969:1969 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802697532681559:3802697532681560 1969:1969 MARK(name(after HIP LaunchKernel)) +3802697532684669:3802697535391508 1969:1969 hipMemcpy(dst=0x7f5c847fe010, src=0x7f5bf6200000, sizeBytes=4194304, kind=2) +3802697542673232:3802697544378325 1969:1969 hipMemcpy(dst=0x7f5bf6800000, src=0x7f5c84bff010, sizeBytes=4194304, kind=1) +3802697544390165:3802697544390166 1969:1969 MARK(name(before HIP LaunchKernel)) +3802697544396025:3802697544396915 1969:1969 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802697544401385:3802697544401905 1969:1969 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=140039878332634, stream=0xd8282163411cf) +3802697544405265:3802697544412485 1969:1969 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802697544415615:3802697544415616 1969:1969 MARK(name(after HIP LaunchKernel)) +3802697544422355:3802697547035635 1969:1969 hipMemcpy(dst=0x7f5c847fe010, src=0x7f5bf6200000, sizeBytes=4194304, kind=2) +3802697554230768:3802697555943621 1969:1969 hipMemcpy(dst=0x7f5bf6800000, src=0x7f5c84bff010, sizeBytes=4194304, kind=1) +3802697555948121:3802697555948122 1969:1969 MARK(name(before HIP LaunchKernel)) +3802697555954821:3802697555955541 1969:1969 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802697555959231:3802697555959741 1969:1969 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=140039878332634, stream=0xd828216e4705f) +3802697555971341:3802697555978541 1969:1969 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802697555981191:3802697555981192 1969:1969 MARK(name(after HIP LaunchKernel)) +3802697555984261:3802697558636661 1969:1969 hipMemcpy(dst=0x7f5c847fe010, src=0x7f5bf6200000, sizeBytes=4194304, kind=2) +3802697565836394:3802697567552067 1969:1969 hipMemcpy(dst=0x7f5bf6800000, src=0x7f5c84bff010, sizeBytes=4194304, kind=1) +3802697567564557:3802697567564558 1969:1969 MARK(name(before HIP LaunchKernel)) +3802697567570347:3802697567571207 1969:1969 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802697567576287:3802697567576807 1969:1969 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=140039878332634, stream=0xd82821795add2) +3802697567580277:3802697567587547 1969:1969 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802697567591857:3802697567591858 1969:1969 MARK(name(after HIP LaunchKernel)) +3802697567595817:3802697570227407 1969:1969 hipMemcpy(dst=0x7f5c847fe010, src=0x7f5bf6200000, sizeBytes=4194304, kind=2) +3802697577454390:3802697579175063 1969:1969 hipMemcpy(dst=0x7f5bf6800000, src=0x7f5c84bff010, sizeBytes=4194304, kind=1) +3802697579179613:3802697579179614 1969:1969 MARK(name(before HIP LaunchKernel)) +3802697579186273:3802697579187313 1969:1969 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802697579191083:3802697579191603 1969:1969 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=140039878332634, stream=0xd82821846ecea) +3802697579204473:3802697579213143 1969:1969 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802697579217013:3802697579217014 1969:1969 MARK(name(after HIP LaunchKernel)) +3802697579220094:3802697581807953 1969:1969 hipMemcpy(dst=0x7f5c847fe010, src=0x7f5bf6200000, sizeBytes=4194304, kind=2) +3802697588998885:3802697590716078 1969:1969 hipMemcpy(dst=0x7f5bf6800000, src=0x7f5c84bff010, sizeBytes=4194304, kind=1) +3802697590721078:3802697590721079 1969:1969 MARK(name(before HIP LaunchKernel)) +3802697590735268:3802697590736098 1969:1969 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802697590742158:3802697590742638 1969:1969 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=140039878332634, stream=0xd828218f72513) +3802697590746158:3802697590753499 1969:1969 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802697590756039:3802697590756040 1969:1969 MARK(name(after HIP LaunchKernel)) +3802697590760059:3802697593375498 1969:1969 hipMemcpy(dst=0x7f5c847fe010, src=0x7f5bf6200000, sizeBytes=4194304, kind=2) +3802697600588052:3802697602281414 1969:1969 hipMemcpy(dst=0x7f5bf6800000, src=0x7f5c84bff010, sizeBytes=4194304, kind=1) +3802697602285914:3802697602285915 1969:1969 MARK(name(before HIP LaunchKernel)) +3802697602301674:3802697602302444 1969:1969 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802697602307064:3802697602307594 1969:1969 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=140039878332634, stream=0xd828219a7a1de) +3802697602312724:3802697602320385 1969:1969 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802697602322935:3802697602322936 1969:1969 MARK(name(after HIP LaunchKernel)) +3802697602325985:3802697604954534 1969:1969 hipMemcpy(dst=0x7f5c847fe010, src=0x7f5bf6200000, sizeBytes=4194304, kind=2) +3802697612162018:3802697613866470 1969:1969 hipMemcpy(dst=0x7f5bf6800000, src=0x7f5c84bff010, sizeBytes=4194304, kind=1) +3802697613880670:3802697613880671 1969:1969 MARK(name(before HIP LaunchKernel)) +3802697613888410:3802697613889220 1969:1969 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802697613892430:3802697613892970 1969:1969 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=140039878332634, stream=0xd82821a586e64) +3802697613896330:3802697613903600 1969:1969 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802697613906110:3802697613906111 1969:1969 MARK(name(after HIP LaunchKernel)) +3802697613909230:3802697616517299 1969:1969 hipMemcpy(dst=0x7f5c847fe010, src=0x7f5bf6200000, sizeBytes=4194304, kind=2) +3802697623714253:3802697625435156 1969:1969 hipMemcpy(dst=0x7f5bf6800000, src=0x7f5c84bff010, sizeBytes=4194304, kind=1) +3802697625439886:3802697625439887 1969:1969 MARK(name(before HIP LaunchKernel)) +3802697625446756:3802697625447436 1969:1969 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802697625451106:3802697625451856 1969:1969 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=140039878332634, stream=0xd82821b08cb6d) +3802697625463456:3802697625470906 1969:1969 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802697625473806:3802697625473807 1969:1969 MARK(name(after HIP LaunchKernel)) +3802697625476966:3802697628100686 1969:1969 hipMemcpy(dst=0x7f5c847fe010, src=0x7f5bf6200000, sizeBytes=4194304, kind=2) +3802697635286659:3802697637010162 1969:1969 hipMemcpy(dst=0x7f5bf6800000, src=0x7f5c84bff010, sizeBytes=4194304, kind=1) +3802697637015272:3802697637015273 1969:1969 MARK(name(before HIP LaunchKernel)) +3802697637029512:3802697637030552 1969:1969 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802697637034872:3802697637035462 1969:1969 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=140039878332634, stream=0xd82821bb989a7) +3802697637038712:3802697637046282 1969:1969 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802697637049032:3802697637049033 1969:1969 MARK(name(after HIP LaunchKernel)) +3802697637052192:3802697639671212 1969:1969 hipMemcpy(dst=0x7f5c847fe010, src=0x7f5bf6200000, sizeBytes=4194304, kind=2) +3802697646869614:3802697648575677 1969:1969 hipMemcpy(dst=0x7f5bf6800000, src=0x7f5c84bff010, sizeBytes=4194304, kind=1) +3802697648581217:3802697648581218 1969:1969 MARK(name(before HIP LaunchKernel)) +3802697648592837:3802697648593477 1969:1969 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802697648596767:3802697648597277 1969:1969 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=140039878332634, stream=0xd82821c69f90c) +3802697648600867:3802697648610727 1969:1969 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802697648614427:3802697648614428 1969:1969 MARK(name(after HIP LaunchKernel)) +3802697648617497:3802697651251977 1969:1969 hipMemcpy(dst=0x7f5c847fe010, src=0x7f5bf6200000, sizeBytes=4194304, kind=2) +3802697658435450:3802697660299234 1969:1969 hipMemcpy(dst=0x7f5bf6800000, src=0x7f5c84bff010, sizeBytes=4194304, kind=1) +3802697660304894:3802697660304895 1969:1969 MARK(name(before HIP LaunchKernel)) +3802697660318704:3802697660319894 1969:1969 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802697660324164:3802697660324734 1969:1969 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=140039878332634, stream=0xd82821d1ce713) +3802697660328574:3802697660335734 1969:1969 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802697660338634:3802697660338635 1969:1969 MARK(name(after HIP LaunchKernel)) +3802697660342075:3802697662958104 1969:1969 hipMemcpy(dst=0x7f5c847fe010, src=0x7f5bf6200000, sizeBytes=4194304, kind=2) +3802697670196457:3802697671910750 1969:1969 hipMemcpy(dst=0x7f5bf6800000, src=0x7f5c84bff010, sizeBytes=4194304, kind=1) +3802697671915270:3802697671915271 1969:1969 MARK(name(before HIP LaunchKernel)) +3802697671922700:3802697671923330 1969:1969 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802697671926890:3802697671927400 1969:1969 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=140039878332634, stream=0xd82821dcdf4c1) +3802697671930710:3802697671938810 1969:1969 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802697671951220:3802697671951221 1969:1969 MARK(name(after HIP LaunchKernel)) +3802697671954350:3802697674573060 1969:1969 hipMemcpy(dst=0x7f5c847fe010, src=0x7f5bf6200000, sizeBytes=4194304, kind=2) +3802697681770813:3802697683490546 1969:1969 hipMemcpy(dst=0x7f5bf6800000, src=0x7f5c84bff010, sizeBytes=4194304, kind=1) +3802697683495356:3802697683495357 1969:1969 MARK(name(before HIP LaunchKernel)) +3802697683501696:3802697683502456 1969:1969 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802697683517046:3802697683517576 1969:1969 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=140039878332634, stream=0xd82821e7ea36e) +3802697683520966:3802697683527866 1969:1969 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802697683530516:3802697683530517 1969:1969 MARK(name(after HIP LaunchKernel)) +3802697683533636:3802697686162606 1969:1969 hipMemcpy(dst=0x7f5c847fe010, src=0x7f5bf6200000, sizeBytes=4194304, kind=2) +3802697693384780:3802697695110182 1969:1969 hipMemcpy(dst=0x7f5bf6800000, src=0x7f5c84bff010, sizeBytes=4194304, kind=1) +3802697695114482:3802697695114483 1969:1969 MARK(name(before HIP LaunchKernel)) +3802697695121062:3802697695122032 1969:1969 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802697695125592:3802697695126362 1969:1969 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=140039878332634, stream=0xd82821f2ff01e) +3802697695129552:3802697695136703 1969:1969 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802697695146123:3802697695146124 1969:1969 MARK(name(after HIP LaunchKernel)) +3802697695149153:3802697697748112 1969:1969 hipMemcpy(dst=0x7f5c847fe010, src=0x7f5bf6200000, sizeBytes=4194304, kind=2) +3802697704969795:3802697706664297 1969:1969 hipMemcpy(dst=0x7f5bf6800000, src=0x7f5c84bff010, sizeBytes=4194304, kind=1) +3802697706669648:3802697706669649 1969:1969 MARK(name(before HIP LaunchKernel)) +3802697706677758:3802697706678568 1969:1969 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802697706690018:3802697706690618 1969:1969 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=140039878332634, stream=0xd82821fe04683) +3802697706694538:3802697706702688 1969:1969 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802697706705998:3802697706705999 1969:1969 MARK(name(after HIP LaunchKernel)) +3802697706709518:3802697709314997 1969:1969 hipMemcpy(dst=0x7f5c847fe010, src=0x7f5bf6200000, sizeBytes=4194304, kind=2) +3802697716519131:3802697718218393 1969:1969 hipMemcpy(dst=0x7f5bf6800000, src=0x7f5c84bff010, sizeBytes=4194304, kind=1) +3802697718223333:3802697718223334 1969:1969 MARK(name(before HIP LaunchKernel)) +3802697718231024:3802697718231744 1969:1969 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802697718235324:3802697718236004 1969:1969 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=140039878332634, stream=0xd828220908fdc) +3802697718239784:3802697718249784 1969:1969 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802697718259654:3802697718259655 1969:1969 MARK(name(after HIP LaunchKernel)) +3802697718262844:3802697720898183 1969:1969 hipMemcpy(dst=0x7f5c847fe010, src=0x7f5bf6200000, sizeBytes=4194304, kind=2) +3802697728108266:3802697729822329 1969:1969 hipMemcpy(dst=0x7f5bf6800000, src=0x7f5c84bff010, sizeBytes=4194304, kind=1) +3802697729827619:3802697729827620 1969:1969 MARK(name(before HIP LaunchKernel)) +3802697729834299:3802697729835269 1969:1969 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802697729847829:3802697729848339 1969:1969 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=140039878332634, stream=0xd828221419dda) +3802697729852199:3802697729859789 1969:1969 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802697729862569:3802697729862570 1969:1969 MARK(name(after HIP LaunchKernel)) +3802697729865819:3802697732473679 1969:1969 hipMemcpy(dst=0x7f5c847fe010, src=0x7f5bf6200000, sizeBytes=4194304, kind=2) +3802697739661472:3802697741384355 1969:1969 hipMemcpy(dst=0x7f5bf6800000, src=0x7f5c84bff010, sizeBytes=4194304, kind=1) +3802697741396635:3802697741396636 1969:1969 MARK(name(before HIP LaunchKernel)) +3802697741403095:3802697741403795 1969:1969 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802697741407965:3802697741408555 1969:1969 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=140039878332634, stream=0xd828221f2231f) +3802697741412025:3802697741419985 1969:1969 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802697741423955:3802697741423956 1969:1969 MARK(name(after HIP LaunchKernel)) +3802697741427155:3802697744057545 1969:1969 hipMemcpy(dst=0x7f5c847fe010, src=0x7f5bf6200000, sizeBytes=4194304, kind=2) +3802697751252168:3802697752968541 1969:1969 hipMemcpy(dst=0x7f5bf6800000, src=0x7f5c84bff010, sizeBytes=4194304, kind=1) +3802697752973421:3802697752973422 1969:1969 MARK(name(before HIP LaunchKernel)) +3802697752980241:3802697752980941 1969:1969 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802697752993511:3802697752994091 1969:1969 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=140039878332634, stream=0xd828222a2ca07) +3802697752997871:3802697753005841 1969:1969 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802697753008341:3802697753008342 1969:1969 MARK(name(after HIP LaunchKernel)) +3802697753011551:3802697755639310 1969:1969 hipMemcpy(dst=0x7f5c847fe010, src=0x7f5bf6200000, sizeBytes=4194304, kind=2) +3802697763027265:3802697764745038 1969:1969 hipMemcpy(dst=0x7f5bf6800000, src=0x7f5c84bff010, sizeBytes=4194304, kind=1) +3802697764757958:3802697764757959 1969:1969 MARK(name(before HIP LaunchKernel)) +3802697764764498:3802697764765248 1969:1969 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802697764769768:3802697764770288 1969:1969 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=140039878332634, stream=0xd828223569a30) +3802697764773448:3802697764783088 1969:1969 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802697764787278:3802697764787279 1969:1969 MARK(name(after HIP LaunchKernel)) +3802697764794248:3802697767406208 1969:1969 hipMemcpy(dst=0x7f5c847fe010, src=0x7f5bf6200000, sizeBytes=4194304, kind=2) +3802697774595431:3802697776304404 1969:1969 hipMemcpy(dst=0x7f5bf6800000, src=0x7f5c84bff010, sizeBytes=4194304, kind=1) +3802697776308924:3802697776308925 1969:1969 MARK(name(before HIP LaunchKernel)) +3802697776316764:3802697776317474 1969:1969 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802697776330604:3802697776331134 1969:1969 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=140039878332634, stream=0xd82822406dfd4) +3802697776334764:3802697776341934 1969:1969 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802697776344554:3802697776344555 1969:1969 MARK(name(after HIP LaunchKernel)) +3802697776349004:3802697778975684 1969:1969 hipMemcpy(dst=0x7f5c847fe010, src=0x7f5bf6200000, sizeBytes=4194304, kind=2) +3802697786167006:3802697787882339 1969:1969 hipMemcpy(dst=0x7f5bf6800000, src=0x7f5c84bff010, sizeBytes=4194304, kind=1) +3802697787894599:3802697787894600 1969:1969 MARK(name(before HIP LaunchKernel)) +3802697787900559:3802697787901229 1969:1969 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802697787905899:3802697787906409 1969:1969 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=140039878332634, stream=0xd828224b7a08d) +3802697787911729:3802697787919549 1969:1969 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802697787923309:3802697787923310 1969:1969 MARK(name(after HIP LaunchKernel)) +3802697787928560:3802697790549379 1969:1969 hipMemcpy(dst=0x7f5c847fe010, src=0x7f5bf6200000, sizeBytes=4194304, kind=2) +3802697797775903:3802697799507496 1969:1969 hipMemcpy(dst=0x7f5bf6800000, src=0x7f5c84bff010, sizeBytes=4194304, kind=1) +3802697799512446:3802697799512447 1969:1969 MARK(name(before HIP LaunchKernel)) +3802697799519136:3802697799519856 1969:1969 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802697799531176:3802697799531696 1969:1969 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=140039878332634, stream=0xd82822568e986) +3802697799536746:3802697799544476 1969:1969 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802697799547086:3802697799547087 1969:1969 MARK(name(after HIP LaunchKernel)) +3802697799551486:3802697802177256 1969:1969 hipMemcpy(dst=0x7f5c847fe010, src=0x7f5bf6200000, sizeBytes=4194304, kind=2) +3802697809395029:3802697811118521 1969:1969 hipMemcpy(dst=0x7f5bf6800000, src=0x7f5c84bff010, sizeBytes=4194304, kind=1) +3802697811130941:3802697811130942 1969:1969 MARK(name(before HIP LaunchKernel)) +3802697811138022:3802697811138662 1969:1969 __hipPushCallConfiguration(gridDim=, blockDim=, sharedMem=0, stream=0) +3802697811144902:3802697811145432 1969:1969 __hipPopCallConfiguration(gridDim=, blockDim=, sharedMem=140039878332634, stream=0xd8282261a333e) +3802697811148872:3802697811157502 1969:1969 hipLaunchKernel(function_address=0x401030, numBlocks=, dimBlocks=, args=0x3b9aca00, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) +3802697811159972:3802697811159973 1969:1969 MARK(name(after HIP LaunchKernel)) +3802697811166842:3802697813778811 1969:1969 hipMemcpy(dst=0x7f5c847fe010, src=0x7f5bf6200000, sizeBytes=4194304, kind=2) +3802697821040505:3802697821127036 1969:1969 hipFree(ptr=0x7f5bf6800000) +3802697821131646:3802697821160196 1969:1969 hipFree(ptr=0x7f5bf6200000) +3802696358099287:3802696358101377 1969:1969 hsa_system_get_major_extension_table(, , , 0x7f5d944af0a0) = 0 +3802696358105217:3802696358105567 1969:1969 hsa_agent_get_info(, 17, 0x7ffc1fedb6dc) = 0 +3802696358109107:3802696358109777 1969:1969 hsa_amd_memory_pool_get_info(, 0, 0x7ffc1fedb580) = 0 +3802696358110187:3802696358110467 1969:1969 hsa_amd_memory_pool_get_info(, 1, 0x7ffc1fedb584) = 0 +3802696358110877:3802696358111147 1969:1969 hsa_amd_memory_pool_get_info(, 0, 0x7ffc1fedb580) = 0 +3802696358111527:3802696358111797 1969:1969 hsa_amd_memory_pool_get_info(, 1, 0x7ffc1fedb584) = 0 +3802696358111527:3802696358112207 1969:1969 hsa_amd_agent_iterate_memory_pools(, 1, 0x7ffc1fedb6e0) = 1 +3802696358113127:3802696358113437 1969:1969 hsa_agent_get_info(, 17, 0x7ffc1fedb6dc) = 0 +3802696358113127:3802696358113977 1969:1969 hsa_iterate_agents(1, 0) = 0 +3802696358116187:3802696358116487 1969:1969 hsa_agent_get_info(, 40960, 0x7ffc1fedb8c8) = 0 +3802696358117037:3802696358119567 1969:1969 hsa_agent_get_info(, 0, 0x7ffc1fedb9a0) = 0 +3802696358120817:3802696358121127 1969:1969 hsa_agent_get_info(, 19, 0x7ffc1fedb8d0) = 0 +3802696358123117:3802696358137167 1969:1969 hsa_isa_get_info_alt(, 0, 0x7ffc1fedb8cc) = 0 +3802696358137647:3802696358141137 1969:1969 hsa_isa_get_info_alt(, 1, 0x7ffc1fedb820) = 0 +3802696358149697:3802696358149997 1969:1969 hsa_agent_get_info(, 4, 0x1ca8ac0) = 0 +3802696358150517:3802696358150797 1969:1969 hsa_agent_get_info(, 40976, 0x7ffc1fedb720) = 0 +3802696361476252:3802696361477792 1969:1969 hsa_agent_get_info(, 40966, 0x7ffc1fedb724) = 0 +3802696361497542:3802696361497882 1969:1969 hsa_agent_get_info(, 40969, 0x7ffc1fedb600) = 0 +3802696361498362:3802696361498652 1969:1969 hsa_agent_get_info(, 40962, 0x1ca8554) = 0 +3802696361499052:3802696361499342 1969:1969 hsa_agent_get_info(, 40961, 0x1ca865c) = 0 +3802696361499732:3802696361500122 1969:1969 hsa_agent_get_info(, 18, 0x7ffc1fedb260) = 0 +3802696361507582:3802696361508052 1969:1969 hsa_agent_get_info(, 40963, 0x1ca85c8) = 0 +3802696361508452:3802696361508742 1969:1969 hsa_agent_get_info(, 40968, 0x1ca85cc) = 0 +3802696361511852:3802696361512822 1969:1969 hsa_amd_agent_memory_pool_get_info(, , 1, 0x7ffc1fedb154) = 0 +3802696361513292:3802696361513582 1969:1969 hsa_amd_agent_memory_pool_get_info(, , 2, 0x1cd0550) = 0 +3802696361515392:3802696361516122 1969:1969 hsa_amd_memory_pool_get_info(, 0, 0x7ffc1fedb0ac) = 0 +3802696361516532:3802696361516822 1969:1969 hsa_amd_memory_pool_get_info(, 1, 0x7ffc1fedb0b0) = 0 +3802696361517212:3802696361517552 1969:1969 hsa_amd_agent_memory_pool_get_info(, , 0, 0x7ffc1fedb0b4) = 0 +3802696361517972:3802696361518252 1969:1969 hsa_amd_memory_pool_get_info(, 0, 0x7ffc1fedb0ac) = 0 +3802696361517972:3802696361519762 1969:1969 hsa_amd_agent_iterate_memory_pools(, 1, 0x1ca8500) = 0 +3802696361520322:3802696361520612 1969:1969 hsa_amd_memory_pool_get_info(, 2, 0x7ffc1fedb240) = 0 +3802696361521012:3802696361521282 1969:1969 hsa_amd_memory_pool_get_info(, 2, 0x7ffc1fedb250) = 0 +3802696361521662:3802696361521952 1969:1969 hsa_amd_memory_pool_get_info(, 6, 0x1ca8b00) = 0 +3802696361522452:3802696361522752 1969:1969 hsa_agent_get_info(, 8, 0x7ffc1fedb23c) = 0 +3802696361523132:3802696361523492 1969:1969 hsa_agent_get_info(, 7, 0x7ffc1fedb25a) = 0 +3802696361523972:3802696361524262 1969:1969 hsa_agent_get_info(, 21, 0x7ffc1fedb238) = 0 +3802696361524652:3802696361524932 1969:1969 hsa_agent_get_info(, 22, 0x7ffc1fedb23a) = 0 +3802696361531092:3802696361659753 1969:1969 hsa_agent_get_info(, 20, 0x7ffc1fedb640) = 0 +3802696361660653:3802696361660963 1969:1969 hsa_agent_get_info(, 12299, 0x1ca8630) = 0 +3802696361661363:3802696361661673 1969:1969 hsa_agent_get_info(, 12297, 0x1ca85e0) = 0 +3802696361662053:3802696361662343 1969:1969 hsa_agent_get_info(, 12298, 0x1ca85e8) = 0 +3802696361667633:3802696361668573 1969:1969 hsa_amd_agent_iterate_memory_pools(, 1, 0x1cd06a0) = 1 +3802696361667633:3802696361722034 1969:1969 hsa_agent_get_info(, 12291, 0x7ffc1fedb2d0) = 0 +3802696361722524:3802696361722894 1969:1969 hsa_agent_get_info(, 12295, 0x7ffc1fedb2d0) = 0 +3802696361723284:3802696361723624 1969:1969 hsa_agent_get_info(, 12296, 0x7ffc1fedb250) = 0 +3802696361724014:3802696361724354 1969:1969 hsa_agent_get_info(, 12290, 0x7ffc1fedb2d0) = 0 +3802696361724774:3802696361725084 1969:1969 hsa_agent_get_info(, 6, 0x1ca886c) = 0 +3802696361725474:3802696361725774 1969:1969 hsa_agent_get_info(, 40967, 0x1ca85d0) = 0 +3802696361726154:3802696361726444 1969:1969 hsa_agent_get_info(, 40970, 0x7ffc1fedb248) = 0 +3802696361726834:3802696361727144 1969:1969 hsa_agent_get_info(, 18, 0x7ffc1fedb2d0) = 0 +3802696361727534:3802696361727814 1969:1969 hsa_agent_get_info(, 40978, 0x7ffc1fedb250) = 0 +3802696361743884:3802696361781614 1969:1969 hsa_amd_memory_pool_allocate(, , , 0x7ffc1fedb460) = 0 +3802696361783274:3802696362110486 1969:1969 hsa_amd_agents_allow_access(, 0x1ca84e0, 0, 0x7f5d952fa000) = 0 +3802696362112796:3802696362312818 1969:1969 hsa_amd_memory_pool_allocate(, , , 0x7ffc1fedb640) = 0 +3802696362313538:3802696362416709 1969:1969 hsa_amd_agents_allow_access(, 0x1ca84e0, 0, 0x7f5c85200000) = 0 +3802696362419649:3802696362617930 1969:1969 hsa_amd_memory_pool_allocate(, , , 0x7ffc1fedb640) = 0 +3802696362618500:3802696362703071 1969:1969 hsa_amd_agents_allow_access(, 0x1ca84e0, 0, 0x7f5c85000000) = 0 +3802696362708071:3802696362713581 1969:1969 hsa_signal_create(1, , 0, 0x1ca8af0) = 0 +3802696362727151:3802696362727621 1969:1969 hsa_system_get_info(3, 0x7ffc1fedb7a0) = 0 +3802696362734401:3802696362734941 1969:1969 hsa_system_get_info(2, 0x7ffc1fedb7a0) = 0 +3802696362743121:3802696362743731 1969:1969 hsa_system_get_info(2, 0x7ffc1fedb790) = 0 +3802696363812839:3802696363813449 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696363818009:3802696363948340 1969:1969 hsa_amd_memory_pool_allocate(, , , 0x7ffc1fedbbf0) = 0 +3802696363950790:3802696363951320 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696363952380:3802696363952950 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696363954650:3802696364099851 1969:1969 hsa_amd_memory_pool_allocate(, , , 0x7ffc1fedbbf0) = 0 +3802696364102051:3802696364102581 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696364112521:3802696364113051 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696364447024:3802696364450154 1969:1973 hsa_agent_get_info(, 14, 0x7f5d951de8ec) = 0 +3802696364458454:3802696374167256 1969:1973 hsa_queue_create(, , , 1, 0x1ca8500, , , ) = 0 +3802696374178696:3802696374179986 1969:1973 hsa_amd_profiling_set_profiler_enabled(, 1) = 0 +3802696374183186:3802696374284077 1969:1973 hsa_amd_memory_pool_allocate(, , , 0x7f5d951deb00) = 0 +3802696374285437:3802696374386988 1969:1973 hsa_amd_agents_allow_access(, 0x1ca84e0, 0, 0x7f5c84300000) = 0 +3802696374393258:3802696374397998 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374398608:3802696374400028 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374400418:3802696374401608 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374401988:3802696374403688 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374404078:3802696374405308 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374405688:3802696374406928 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374407308:3802696374408178 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374408558:3802696374409678 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374410058:3802696374411108 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374411488:3802696374412448 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374412828:3802696374413798 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374414168:3802696374415048 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374415428:3802696374416418 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374418198:3802696374419428 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374419818:3802696374420658 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374421038:3802696374422078 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374422458:3802696374423588 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374423968:3802696374424768 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374425148:3802696374425948 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374426328:3802696374427158 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374427538:3802696374429468 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374429858:3802696374430898 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374431288:3802696374432268 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374432648:3802696374433938 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374434318:3802696374435358 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374435738:3802696374502709 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374503329:3802696374504419 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374504799:3802696374505529 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374505919:3802696374506809 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374507189:3802696374508089 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374508479:3802696374509189 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374509579:3802696374510469 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374510859:3802696374511799 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374512179:3802696374513069 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374513449:3802696374514179 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374514559:3802696374515479 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374515869:3802696374516789 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374517179:3802696374518339 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374518719:3802696374519569 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374519959:3802696374520829 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374521209:3802696374522179 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374523879:3802696374524729 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374525119:3802696374527299 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374527689:3802696374528699 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374529079:3802696374529799 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374530179:3802696374530899 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374531279:3802696374531999 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374532379:3802696374533099 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374533479:3802696374534519 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374534899:3802696374535619 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374535999:3802696374536719 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374537099:3802696374537819 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374538199:3802696374538919 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374539299:3802696374540059 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374540439:3802696374541159 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374541539:3802696374542389 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374542769:3802696374543659 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374544039:3802696374544819 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374545199:3802696374546299 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374546679:3802696374547629 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374548009:3802696374548749 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374549129:3802696374550489 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374550869:3802696374551639 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374552019:3802696374552849 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374553229:3802696374553979 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374554359:3802696374555179 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374555569:3802696374556289 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374556669:3802696374557399 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374557779:3802696374558499 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374558879:3802696374559709 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374561059:3802696374561799 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374562179:3802696374565169 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374565559:3802696374566289 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374566679:3802696374567399 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374567779:3802696374568499 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374568879:3802696374569599 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374569979:3802696374570699 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374571079:3802696374571799 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374572189:3802696374572909 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374573289:3802696374574189 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374574559:3802696374575289 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374575669:3802696374576549 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374576929:3802696374577649 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374578029:3802696374578759 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374579139:3802696374579869 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374580249:3802696374580989 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374581369:3802696374582289 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374582669:3802696374583589 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374583969:3802696374584989 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374585369:3802696374660700 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374661340:3802696374662160 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374662540:3802696374663520 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374663900:3802696374664810 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374665190:3802696374666340 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374666730:3802696374667490 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374667880:3802696374668600 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374668980:3802696374669710 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374670090:3802696374670820 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374672090:3802696374672840 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374673230:3802696374673970 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374674350:3802696374675070 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374675450:3802696374676180 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374676560:3802696374677280 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374677660:3802696374678390 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374678770:3802696374679490 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374679870:3802696374680600 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374680980:3802696374681870 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374682250:3802696374682970 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374683350:3802696374684170 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374684550:3802696374685280 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374685660:3802696374686380 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374686760:3802696374687490 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374687860:3802696374688760 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374689140:3802696374690020 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374690410:3802696374691130 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374691510:3802696374692410 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374692790:3802696374693510 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374693890:3802696374694620 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374694990:3802696374696620 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374697010:3802696374697750 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374698130:3802696374699030 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374699410:3802696374700450 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374700840:3802696374701880 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374702260:3802696374703230 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374703610:3802696374704520 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374704890:3802696374705800 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374706180:3802696374706970 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374708160:3802696374709030 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374709410:3802696374710130 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374710510:3802696374711340 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374711720:3802696374712440 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374712820:3802696374713710 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374714090:3802696374714810 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374715190:3802696374715910 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374716300:3802696374717020 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374717400:3802696374718120 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374718510:3802696374719230 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374719610:3802696374720340 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374720720:3802696374721440 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374721820:3802696374722710 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374723090:3802696374723810 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374724190:3802696374724920 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374725300:3802696374726010 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374726400:3802696374727120 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374727500:3802696374728220 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374728600:3802696374729330 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374729710:3802696374731480 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374731860:3802696374732590 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374732970:3802696374733690 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374734070:3802696374734800 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374735180:3802696374735910 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374736290:3802696374737010 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374737400:3802696374738500 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374738890:3802696374740000 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374740380:3802696374741280 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374742470:3802696374743580 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374743970:3802696374744860 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374745240:3802696374746130 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374746510:3802696374747230 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374747620:3802696374748480 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374748860:3802696374749890 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374750270:3802696374751130 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374751510:3802696374752400 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374752780:3802696374753670 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374754050:3802696374754950 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374755330:3802696374756220 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374756600:3802696374757330 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374757710:3802696374758430 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374758810:3802696374759530 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374759910:3802696374760760 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374761141:3802696374761871 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374762251:3802696374763151 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374763531:3802696374764251 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374764631:3802696374765521 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374765901:3802696374766621 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374767001:3802696374768811 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374769201:3802696374769921 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374770301:3802696374771191 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374771571:3802696374772461 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374772841:3802696374773561 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374773941:3802696374774661 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374775041:3802696374775941 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374776331:3802696374777051 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374778181:3802696374778921 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374779311:3802696374780031 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374780411:3802696374781161 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374781541:3802696374782431 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374782811:3802696374783951 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374784331:3802696374785201 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374785581:3802696374786521 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374786911:3802696374787791 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374788171:3802696374788891 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374789271:3802696374790051 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374790431:3802696374791151 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374791531:3802696374792401 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374792781:3802696374793811 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374794191:3802696374795111 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374795491:3802696374796281 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374796661:3802696374797561 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374797941:3802696374798671 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374799051:3802696374799941 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374800321:3802696374801041 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374801421:3802696374802261 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374802651:3802696374804221 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374804611:3802696374805341 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374805721:3802696374806451 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374806831:3802696374807551 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374807931:3802696374808831 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374809211:3802696374810101 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374810481:3802696374811201 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374811581:3802696374812491 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374812871:3802696374813591 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374815421:3802696374816181 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374816561:3802696374817291 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374817671:3802696374818391 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374818771:3802696374819491 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374819871:3802696374820771 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374821151:3802696374927942 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374928602:3802696374929422 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374929812:3802696374930552 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374930932:3802696374931672 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374932052:3802696374932782 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374933162:3802696374933942 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374934332:3802696374935052 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374935432:3802696374936172 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374936552:3802696374937272 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374937652:3802696374938392 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374938772:3802696374939512 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374939892:3802696374940612 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374940992:3802696374941712 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374942102:3802696374942822 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374943202:3802696374943922 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374944302:3802696374945022 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374945402:3802696374946262 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374946642:3802696374947372 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374947752:3802696374948602 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374948982:3802696374949922 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374950302:3802696374951072 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374951452:3802696374952222 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374952602:3802696374953392 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374954832:3802696374955582 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374955962:3802696374956692 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374957072:3802696374957792 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374958172:3802696374959792 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374960182:3802696374960912 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374961292:3802696374962022 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374962402:3802696374963122 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374963502:3802696374964342 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374964722:3802696374965442 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374965822:3802696374966562 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374966942:3802696374967792 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374968172:3802696374968892 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374969272:3802696374970012 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374970392:3802696374971372 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374971752:3802696374972482 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374972862:3802696374973582 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374973962:3802696374974692 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374975072:3802696374975802 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374976182:3802696374976902 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374977282:3802696374978012 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374978392:3802696374979112 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374979492:3802696374980322 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374980702:3802696374981422 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374981802:3802696374982532 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374982912:3802696374983632 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374984012:3802696374984752 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374985132:3802696374985862 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374986242:3802696374987082 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374987472:3802696374988332 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374989532:3802696374990282 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374990662:3802696374991392 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374991782:3802696374992502 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374992882:3802696374994542 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374994942:3802696374995802 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374996182:3802696374997052 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374997432:3802696374998152 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374998532:3802696374999252 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696374999632:3802696375000352 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375000732:3802696375001452 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375001832:3802696375002562 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375002942:3802696375003662 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375004042:3802696375004812 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375005192:3802696375005912 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375006292:3802696375007012 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375007392:3802696375008112 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375008492:3802696375009352 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375009732:3802696375010452 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375010832:3802696375011552 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375011932:3802696375012652 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375013032:3802696375013752 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375014132:3802696375014852 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375015232:3802696375016082 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375016462:3802696375017182 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375017562:3802696375018282 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375018662:3802696375019382 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375019762:3802696375020482 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375020862:3802696375021592 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375023382:3802696375024152 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375024532:3802696375025252 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375025632:3802696375026352 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375026732:3802696375028352 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375028742:3802696375029472 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375029863:3802696375030583 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375030963:3802696375031683 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375032063:3802696375032783 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375033163:3802696375033903 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375034283:3802696375035003 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375035383:3802696375036293 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375036683:3802696375037613 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375037993:3802696375038843 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375039223:3802696375039943 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375040323:3802696375041053 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375041433:3802696375042153 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375042533:3802696375043343 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375043723:3802696375044443 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375044823:3802696375045543 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375045923:3802696375046663 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375047043:3802696375048053 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375048433:3802696375049163 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375049543:3802696375050263 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375050643:3802696375051413 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375051783:3802696375052573 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375052953:3802696375053673 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375054053:3802696375054943 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375055323:3802696375056173 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375056563:3802696375057423 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375058853:3802696375059593 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375059983:3802696375060703 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375061093:3802696375061813 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375062193:3802696375065323 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375065713:3802696375066543 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375066923:3802696375067643 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375068023:3802696375068743 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375069123:3802696375069893 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375070273:3802696375071133 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375071513:3802696375072233 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375072613:3802696375073333 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375073713:3802696375074443 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375074813:3802696375075543 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375075923:3802696375076693 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375077073:3802696375077793 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375078173:3802696375078893 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375079263:3802696375079983 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375080363:3802696375081083 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375081463:3802696375082183 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375082563:3802696375083293 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375083673:3802696375084523 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375084903:3802696375085623 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375086003:3802696375086753 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375087133:3802696375087853 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375088233:3802696375089013 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375089393:3802696375090113 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375090493:3802696375091213 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375091593:3802696375092313 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375093453:3802696375094253 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375094633:3802696375095433 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375095813:3802696375096833 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375097223:3802696375099023 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375099413:3802696375100283 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375100663:3802696375101373 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375101753:3802696375102603 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375102983:3802696375103863 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375104243:3802696375105083 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375105463:3802696375106183 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375106563:3802696375107283 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375107663:3802696375108423 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375108803:3802696375109523 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375109903:3802696375110663 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375111043:3802696375111823 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375112193:3802696375113073 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375113453:3802696375114493 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375114883:3802696375115893 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375116273:3802696375117163 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375117543:3802696375118273 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375118653:3802696375119363 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375119743:3802696375120523 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375120903:3802696375121733 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375122113:3802696375122853 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375123233:3802696375123993 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375124373:3802696375125083 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375125463:3802696375126193 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375126573:3802696375127543 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375127933:3802696375128653 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375129823:3802696375130583 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375130963:3802696375131683 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375132073:3802696375133693 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375134093:3802696375134823 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375135203:3802696375135933 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375136313:3802696375137033 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375137413:3802696375138133 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375138513:3802696375139243 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375139623:3802696375140463 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375140843:3802696375141563 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375141953:3802696375142673 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375143053:3802696375143773 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375144153:3802696375144873 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375145253:3802696375145973 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375146353:3802696375147073 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375147453:3802696375148163 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375148543:3802696375149263 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375149653:3802696375150383 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375150763:3802696375151493 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375151873:3802696375153053 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375153433:3802696375154293 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375154673:3802696375155453 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375155833:3802696375156553 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375156933:3802696375157653 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375158033:3802696375158753 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375159133:3802696375159853 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375160233:3802696375161063 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375161443:3802696375162223 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375163423:3802696375164304 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375164684:3802696375165524 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375165904:3802696375166634 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375167014:3802696375168484 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375168864:3802696375169594 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375169974:3802696375170824 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375171204:3802696375171924 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375172304:3802696375173024 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375173404:3802696375174124 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375174504:3802696375175224 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375175604:3802696375176334 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375176714:3802696375177444 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375177824:3802696375178594 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375178974:3802696375179824 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375180214:3802696375180934 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375181314:3802696375182164 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375182544:3802696375183264 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375183644:3802696375184364 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375184744:3802696375185474 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375185854:3802696375186574 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375186954:3802696375187674 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375188054:3802696375188764 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375189144:3802696375189864 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375190244:3802696375190964 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375191344:3802696375192064 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375192444:3802696375193174 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375193554:3802696375194274 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375194654:3802696375195374 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375196664:3802696375197414 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375197794:3802696375198514 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375198894:3802696375199624 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375200004:3802696375201844 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375202234:3802696375203254 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375203644:3802696375204654 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375205034:3802696375205924 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375206304:3802696375207034 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375207414:3802696375208274 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375208654:3802696375209384 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375209764:3802696375210484 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375210864:3802696375211584 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375211964:3802696375212694 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375213074:3802696375213804 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375214184:3802696375214974 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375215354:3802696375216124 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375216504:3802696375217284 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375217664:3802696375218394 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375218774:3802696375219624 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375220004:3802696375220734 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375221114:3802696375221844 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375222224:3802696375223074 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375223454:3802696375224174 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375224554:3802696375225284 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375225664:3802696375226384 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375226764:3802696375227494 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375227874:3802696375228604 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375228984:3802696375229704 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375230094:3802696375230944 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375232354:3802696375233094 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375233484:3802696375234194 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375234584:3802696375235304 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375235684:3802696375237144 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375237524:3802696375238254 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375238634:3802696375319985 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375320645:3802696375321495 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375321875:3802696375322845 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375323235:3802696375324125 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375324505:3802696375325285 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375325665:3802696375326505 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375326875:3802696375327615 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375327985:3802696375328715 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375329085:3802696375329935 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375330315:3802696375331195 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375331575:3802696375332425 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375332805:3802696375333515 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375333895:3802696375334605 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375334985:3802696375335705 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375336085:3802696375336865 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375337245:3802696375338155 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375338535:3802696375339295 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375339675:3802696375340415 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375340795:3802696375341525 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375341905:3802696375342625 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375343005:3802696375343735 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375344115:3802696375344835 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375345215:3802696375345945 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375347535:3802696375348285 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375348675:3802696375349395 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375349775:3802696375350635 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375351015:3802696375351745 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375352125:3802696375352855 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375353235:3802696375354065 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375354445:3802696375355165 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375355545:3802696375356275 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375356645:3802696375357375 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375357755:3802696375358485 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375358865:3802696375359585 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375359965:3802696375360695 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375361075:3802696375361805 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375362185:3802696375363155 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375363545:3802696375365235 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375365615:3802696375366345 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375366725:3802696375367465 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375367845:3802696375368575 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375368955:3802696375370035 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375370425:3802696375371655 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375372045:3802696375372935 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375373315:3802696375374045 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375374425:3802696375375145 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375375525:3802696375376435 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375376815:3802696375377705 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375378085:3802696375379115 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375379495:3802696375380375 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375380755:3802696375381545 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375381925:3802696375382995 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375384305:3802696375385255 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375385645:3802696375386495 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375386875:3802696375387595 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375387975:3802696375388695 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375389075:3802696375389855 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375390235:3802696375391235 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375391615:3802696375392415 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375392795:3802696375393525 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375393905:3802696375394755 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375395135:3802696375395855 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375396235:3802696375396955 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375397335:3802696375398065 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375398445:3802696375399285 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375399665:3802696375400595 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375400975:3802696375403985 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375404375:3802696375405105 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375405485:3802696375406215 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375406595:3802696375407315 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375407695:3802696375408425 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375408805:3802696375409525 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375409905:3802696375410635 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375411005:3802696375411735 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375412115:3802696375412835 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375413215:3802696375413935 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375414315:3802696375415045 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375415425:3802696375416145 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375416525:3802696375417245 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375417625:3802696375418355 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375419665:3802696375420415 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375420805:3802696375421525 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375421905:3802696375422635 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375423015:3802696375423735 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375424115:3802696375424835 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375425215:3802696375425945 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375426325:3802696375427045 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375427425:3802696375428145 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375428525:3802696375429255 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375429635:3802696375430355 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375430735:3802696375431475 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375431855:3802696375432585 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375432955:3802696375434176 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375434556:3802696375435576 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375435946:3802696375437756 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375438146:3802696375438886 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375439266:3802696375440116 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375440496:3802696375441226 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375441606:3802696375442336 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375442716:3802696375443446 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375443826:3802696375444926 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375445316:3802696375446036 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375446416:3802696375447136 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375447516:3802696375448246 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375448626:3802696375449346 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375449726:3802696375450446 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375450826:3802696375451596 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375451986:3802696375452706 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375453086:3802696375453806 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375454916:3802696375455686 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375456076:3802696375456796 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375457176:3802696375458026 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375458406:3802696375459126 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375459506:3802696375460236 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375460616:3802696375461466 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375461846:3802696375462636 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375463016:3802696375463736 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375464116:3802696375464946 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375465326:3802696375466046 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375466426:3802696375467216 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375467596:3802696375468326 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375468706:3802696375469816 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375470196:3802696375471046 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375471426:3802696375473096 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375473486:3802696375474206 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375474586:3802696375475306 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375475686:3802696375476406 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375476786:3802696375477546 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375477926:3802696375478646 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375479026:3802696375479886 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375480266:3802696375481116 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375481496:3802696375482216 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375482596:3802696375483326 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375483696:3802696375484426 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375484806:3802696375485526 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375485906:3802696375486796 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375487176:3802696375487896 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375489486:3802696375490296 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375490686:3802696375491546 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375491926:3802696375492646 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375493026:3802696375493746 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375494126:3802696375494856 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375495236:3802696375495956 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375496336:3802696375497056 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375497436:3802696375498156 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375498536:3802696375499266 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375499646:3802696375500366 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375500746:3802696375501466 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375501846:3802696375502566 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375502946:3802696375503766 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375504146:3802696375504866 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375505246:3802696375506846 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375507236:3802696375508076 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375508456:3802696375509186 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375509566:3802696375510306 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375510686:3802696375511576 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375511966:3802696375512936 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375513316:3802696375514166 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375514546:3802696375515336 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375515716:3802696375516586 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375516966:3802696375517686 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375518076:3802696375518806 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375519186:3802696375519916 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375520296:3802696375521026 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375521406:3802696375522186 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375522576:3802696375523296 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375525036:3802696375525856 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375526236:3802696375526956 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375527346:3802696375528066 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375528446:3802696375529176 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375529546:3802696375530286 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375530666:3802696375531386 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375531766:3802696375532486 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375532866:3802696375533706 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375534076:3802696375534806 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375535186:3802696375535916 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375536286:3802696375537016 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375537396:3802696375538266 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375538646:3802696375539386 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375539766:3802696375540496 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375540876:3802696375542696 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375543096:3802696375544096 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375544476:3802696375545196 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375545576:3802696375546366 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375546746:3802696375547466 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375547846:3802696375548566 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375548946:3802696375549666 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375550046:3802696375550896 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375551276:3802696375552006 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375552386:3802696375553116 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375553496:3802696375554226 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375554596:3802696375555326 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375555706:3802696375556426 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375556806:3802696375557536 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375558896:3802696375559656 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375560036:3802696375560756 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375561136:3802696375561856 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375562236:3802696375562966 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375563346:3802696375564066 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375564446:3802696375565166 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375565546:3802696375566266 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375566646:3802696375567506 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375567887:3802696375568617 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375568997:3802696375569717 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375570097:3802696375570827 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375571207:3802696375571927 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375572307:3802696375573027 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375573407:3802696375574127 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375574507:3802696375576097 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375576487:3802696375577217 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375577607:3802696375578517 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375578907:3802696375579897 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375580287:3802696375581007 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375581387:3802696375582167 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375582547:3802696375583277 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375583657:3802696375584377 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375584757:3802696375585477 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375585857:3802696375586587 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375586967:3802696375587867 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375588247:3802696375588967 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375589347:3802696375590087 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375590467:3802696375591297 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375592407:3802696375593167 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375593547:3802696375594267 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375594647:3802696375595367 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375595747:3802696375596467 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375596847:3802696375597577 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375597957:3802696375598687 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375599067:3802696375600077 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375600457:3802696375601187 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375601557:3802696375602287 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375602667:3802696375603387 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375603767:3802696375604487 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375604867:3802696375605587 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375605967:3802696375606687 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375607067:3802696375607797 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375608177:3802696375612817 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375613227:3802696375614887 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375615277:3802696375616017 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375616397:3802696375617127 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375617517:3802696375618417 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375618797:3802696375619907 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375620287:3802696375621117 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375621497:3802696375622217 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375622597:3802696375623447 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375623837:3802696375624597 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375624977:3802696375625697 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375626087:3802696375626937 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375627317:3802696375628027 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375628407:3802696375629197 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375629577:3802696375630297 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375631567:3802696375632337 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375632727:3802696375633467 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375633847:3802696375634567 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375634947:3802696375635667 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375636047:3802696375636767 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375637147:3802696375637867 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375638247:3802696375638967 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375639347:3802696375640067 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375640447:3802696375641297 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375641677:3802696375642397 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375642777:3802696375643497 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375643877:3802696375644607 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375644987:3802696375645727 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375646107:3802696375646937 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375647327:3802696375649727 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375650127:3802696375650857 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375651237:3802696375651957 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375652337:3802696375653057 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375653437:3802696375654167 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375654547:3802696375655317 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375655697:3802696375656477 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375656857:3802696375657577 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375657957:3802696375658827 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375659207:3802696375659927 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375660307:3802696375661147 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375661527:3802696375662247 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375662627:3802696375663347 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375663727:3802696375664497 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375665727:3802696375666477 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375666867:3802696375667717 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375668097:3802696375668827 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375669207:3802696375669937 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375670317:3802696375671037 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375671417:3802696375672137 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375672517:3802696375673237 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375673617:3802696375674347 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375674727:3802696375675457 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375675837:3802696375676557 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375676937:3802696375677657 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375678037:3802696375678757 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375679137:3802696375679867 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375680247:3802696375681157 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375681537:3802696375683597 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375683987:3802696375684727 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375685107:3802696375685827 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375686207:3802696375686927 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375687307:3802696375688027 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375688407:3802696375689127 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375689507:3802696375690237 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375690617:3802696375691497 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375691887:3802696375692607 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375692987:3802696375693717 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375694087:3802696375694827 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375695207:3802696375695937 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375696317:3802696375697317 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375697697:3802696375698697 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375699077:3802696375699867 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375701177:3802696375702058 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375702438:3802696375703158 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375703538:3802696375704328 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375704708:3802696375705578 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375705958:3802696375706808 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375707188:3802696375707978 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375708358:3802696375709078 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375709458:3802696375710178 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375710558:3802696375711278 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375711658:3802696375712508 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375712888:3802696375713608 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375713988:3802696375714708 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375715088:3802696375715858 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375716238:3802696375716968 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375717348:3802696375719458 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375719848:3802696375720578 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375720958:3802696375721688 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375722068:3802696375722788 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375723168:3802696375723888 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375724268:3802696375724998 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375725378:3802696375726118 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375726498:3802696375727218 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375727598:3802696375728478 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375728868:3802696375729708 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375730088:3802696375730878 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375731258:3802696375731988 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375732368:3802696375733088 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375733468:3802696375734188 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375735328:3802696375736078 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375736468:3802696375737188 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375737568:3802696375738298 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375738678:3802696375739578 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375739958:3802696375740678 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375741058:3802696375741848 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375742228:3802696375742948 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375743328:3802696375744048 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375744428:3802696375745148 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375745528:3802696375746258 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375746638:3802696375747358 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375747738:3802696375748458 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375748838:3802696375749668 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375750048:3802696375750768 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375751148:3802696375753038 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375753428:3802696375754328 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375754708:3802696375755448 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375755828:3802696375756548 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375756928:3802696375757658 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375758038:3802696375758868 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375759248:3802696375760238 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375760628:3802696375761358 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375761738:3802696375762648 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375763028:3802696375763838 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375764218:3802696375765148 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375765528:3802696375766548 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375766928:3802696375768058 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375768448:3802696375769168 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375769548:3802696375770278 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375772158:3802696375772918 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375773308:3802696375774028 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375774408:3802696375775138 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375775518:3802696375776238 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375776618:3802696375777348 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375777728:3802696375778448 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375778828:3802696375779548 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375779928:3802696375780658 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375781038:3802696375781758 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375782138:3802696375782928 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375783308:3802696375784158 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375784538:3802696375785268 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375785648:3802696375786428 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375786808:3802696375787528 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375787908:3802696375789888 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375790268:3802696375790998 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375791378:3802696375792108 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375792488:3802696375793208 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375793588:3802696375794308 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375794688:3802696375795428 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375795808:3802696375796528 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375796908:3802696375797628 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375798008:3802696375798738 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375799118:3802696375799838 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375800218:3802696375800938 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375801318:3802696375802048 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375802428:3802696375803148 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375803528:3802696375804248 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375805368:3802696375806128 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375806508:3802696375807228 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375807618:3802696375808338 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375808718:3802696375809448 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375809828:3802696375810558 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375810938:3802696375811928 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375812308:3802696375813338 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375813718:3802696375814848 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375815228:3802696375815958 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375816338:3802696375817108 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375817488:3802696375818208 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375818588:3802696375819308 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375819688:3802696375820418 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375820798:3802696375821638 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375822018:3802696375824218 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375824608:3802696375825558 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375825938:3802696375826808 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375827188:3802696375828078 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375828458:3802696375829198 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375829578:3802696375830468 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375830848:3802696375831738 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375832118:3802696375832848 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375833228:3802696375833958 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375834338:3802696375835078 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375835458:3802696375836238 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375836619:3802696375837349 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375837729:3802696375838509 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375838889:3802696375839769 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375840159:3802696375840949 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375842319:3802696375843069 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375843449:3802696375844189 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375844569:3802696375845299 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375845669:3802696375846409 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375846789:3802696375847529 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375847909:3802696375848639 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375849019:3802696375849939 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375850319:3802696375851399 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375851779:3802696375852509 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375852899:3802696375853629 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375854009:3802696375854799 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375855179:3802696375855909 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375856289:3802696375857029 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375857409:3802696375858139 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375858519:3802696375860429 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375860829:3802696375861679 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375862059:3802696375862789 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375863159:3802696375863899 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375864279:3802696375865099 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375865479:3802696375866209 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375866589:3802696375867329 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375867709:3802696375868439 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375868819:3802696375869549 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375869929:3802696375870659 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375871039:3802696375871759 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375872139:3802696375872939 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375873309:3802696375874049 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375874429:3802696375875169 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375876319:3802696375877069 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375877459:3802696375878189 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375878579:3802696375879299 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375879679:3802696375880409 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375880789:3802696375881519 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375881899:3802696375882629 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375883009:3802696375883739 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375884119:3802696375884849 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375885229:3802696375885959 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375886339:3802696375887069 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375887449:3802696375888179 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375888559:3802696375889289 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375889669:3802696375890399 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375890779:3802696375891569 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375891949:3802696375893959 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375894349:3802696375895079 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375895459:3802696375896189 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375896569:3802696375897369 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375897749:3802696375898659 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375899049:3802696375899899 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375900289:3802696375901259 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375901639:3802696375902489 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375902869:3802696375903599 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375903979:3802696375904869 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375905249:3802696375905979 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375906359:3802696375907329 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375907709:3802696375908569 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375908949:3802696375909819 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375911129:3802696375911879 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375912269:3802696375913159 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375913549:3802696375914289 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375914669:3802696375915399 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375915779:3802696375916499 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375916879:3802696375917669 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375918049:3802696375918809 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375919189:3802696375919919 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375920299:3802696375921029 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375921409:3802696375922139 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375922519:3802696375923419 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375923789:3802696375924519 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375924899:3802696375925629 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375926009:3802696375926799 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375927179:3802696375928319 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375928709:3802696375930259 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375930649:3802696375931389 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375931769:3802696375932509 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375932889:3802696375934129 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375934509:3802696375935469 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375935849:3802696375936639 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375937019:3802696375937879 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375938259:3802696375938989 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375939369:3802696375940229 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375940609:3802696375941349 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375941729:3802696375942569 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375942949:3802696375943749 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375944129:3802696375944849 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375945229:3802696375945969 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375948849:3802696375949869 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375950259:3802696375950989 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375951369:3802696375952099 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375952489:3802696375953219 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375953599:3802696375954329 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696375954709:3802696376086820 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696376087590:3802696376088470 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696376088850:3802696376089610 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696376089990:3802696376090690 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696376091070:3802696376091790 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696376092170:3802696376092900 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696376093280:3802696376094160 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696376094540:3802696376095560 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696376095940:3802696376096640 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696376097020:3802696376097750 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696376098130:3802696376098860 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696376099240:3802696376099940 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696376100320:3802696376101030 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696376101410:3802696376102140 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696376102520:3802696376103230 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696376103610:3802696376104330 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696376104710:3802696376105420 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696376105800:3802696376106520 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696376106900:3802696376107630 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696376108010:3802696376108731 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696376109111:3802696376110061 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696376110451:3802696376111371 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696376111751:3802696376112621 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696376113911:3802696376114791 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696376115171:3802696376115891 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696376116271:3802696376116991 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696376117371:3802696376118151 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696376118531:3802696376119251 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696376119631:3802696376120411 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696376120801:3802696376121601 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696376121981:3802696376122741 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696376123121:3802696376123871 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696376124251:3802696376125001 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696376125381:3802696376126101 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696376126481:3802696376127311 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696376127691:3802696376129881 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696376130281:3802696376131341 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696376131731:3802696376132441 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696376132831:3802696376133551 1969:1973 hsa_signal_create(0, , 0, 0x7f5d951deb30) = 0 +3802696376136551:3802696376137291 1969:1973 hsa_signal_create(0, , 0, 0x7f5bf002d258) = 0 +3802696636208197:3802696636219457 1969:1973 hsa_executable_create_alt(1, 0, +3802696636239667:3802696636263718 1969:1973 hsa_code_object_reader_create_from_memory(0x7f5bf03d6ef0, , 0x7f5bf002e1c0) = 0 +3802696636265718:3802696636658401 1969:1973 hsa_executable_load_agent_code_object(, , , +3802696636660761:3802696637044383 1969:1973 hsa_executable_freeze(, +3802696637134094:3802696637135134 1969:1973 hsa_executable_get_symbol_by_name(, copyBuffer.kd, 0x7f5d951ddd88, 0x7f5d951ddd80) = 0 +3802696637136884:3802696637137764 1969:1973 hsa_executable_symbol_get_info(, 22, 0x7f5bf01a6c08) = 0 +3802696637138954:3802696637139534 1969:1973 hsa_agent_get_info(, 6, 0x7f5d951ddd98) = 0 +3802696637203235:3802696637203845 1969:1973 hsa_executable_get_symbol_by_name(, copyBufferAligned.kd, 0x7f5d951ddd88, 0x7f5d951ddd80) = 0 +3802696637204295:3802696637204585 1969:1973 hsa_executable_symbol_get_info(, 22, 0x7f5bf0431c58) = 0 +3802696637204975:3802696637205255 1969:1973 hsa_agent_get_info(, 6, 0x7f5d951ddd98) = 0 +3802696637260925:3802696637261475 1969:1973 hsa_executable_get_symbol_by_name(, copyBufferRect.kd, 0x7f5d951ddd88, 0x7f5d951ddd80) = 0 +3802696637261895:3802696637262195 1969:1973 hsa_executable_symbol_get_info(, 22, 0x7f5bf009bba8) = 0 +3802696637264855:3802696637265135 1969:1973 hsa_agent_get_info(, 6, 0x7f5d951ddd98) = 0 +3802696637321075:3802696637321605 1969:1973 hsa_executable_get_symbol_by_name(, copyBufferRectAligned.kd, 0x7f5d951ddd88, 0x7f5d951ddd80) = 0 +3802696637322025:3802696637322325 1969:1973 hsa_executable_symbol_get_info(, 22, 0x7f5bf0133068) = 0 +3802696637322715:3802696637322995 1969:1973 hsa_agent_get_info(, 6, 0x7f5d951ddd98) = 0 +3802696637386116:3802696637386646 1969:1973 hsa_executable_get_symbol_by_name(, copyBufferToImage.kd, 0x7f5d951ddd88, 0x7f5d951ddd80) = 0 +3802696637387076:3802696637387366 1969:1973 hsa_executable_symbol_get_info(, 22, 0x7f5bf002dca8) = 0 +3802696637387756:3802696637388046 1969:1973 hsa_agent_get_info(, 6, 0x7f5d951ddd98) = 0 +3802696637443946:3802696637444426 1969:1973 hsa_executable_get_symbol_by_name(, copyImage.kd, 0x7f5d951ddd88, 0x7f5d951ddd80) = 0 +3802696637444856:3802696637445156 1969:1973 hsa_executable_symbol_get_info(, 22, 0x7f5bf019b5c8) = 0 +3802696637445546:3802696637445826 1969:1973 hsa_agent_get_info(, 6, 0x7f5d951ddd98) = 0 +3802696637501277:3802696637501737 1969:1973 hsa_executable_get_symbol_by_name(, copyImage1DA.kd, 0x7f5d951ddd88, 0x7f5d951ddd80) = 0 +3802696637502157:3802696637502447 1969:1973 hsa_executable_symbol_get_info(, 22, 0x7f5bf0842748) = 0 +3802696637502837:3802696637503117 1969:1973 hsa_agent_get_info(, 6, 0x7f5d951ddd98) = 0 +3802696637573027:3802696637573537 1969:1973 hsa_executable_get_symbol_by_name(, copyImageToBuffer.kd, 0x7f5d951ddd88, 0x7f5d951ddd80) = 0 +3802696637573947:3802696637574227 1969:1973 hsa_executable_symbol_get_info(, 22, 0x7f5bf0165558) = 0 +3802696637574707:3802696637574987 1969:1973 hsa_agent_get_info(, 6, 0x7f5d951ddd98) = 0 +3802696637634778:3802696637635238 1969:1973 hsa_executable_get_symbol_by_name(, fillBuffer.kd, 0x7f5d951ddd88, 0x7f5d951ddd80) = 0 +3802696637635648:3802696637635938 1969:1973 hsa_executable_symbol_get_info(, 22, 0x7f5bf02109b8) = 0 +3802696637636328:3802696637636608 1969:1973 hsa_agent_get_info(, 6, 0x7f5d951ddd98) = 0 +3802696637697828:3802696637698258 1969:1973 hsa_executable_get_symbol_by_name(, fillImage.kd, 0x7f5d951ddd88, 0x7f5d951ddd80) = 0 +3802696637698668:3802696637698968 1969:1973 hsa_executable_symbol_get_info(, 22, 0x7f5bf023bdc8) = 0 +3802696637699358:3802696637699638 1969:1973 hsa_agent_get_info(, 6, 0x7f5d951ddd98) = 0 +3802696637739479:3802696637739899 1969:1973 hsa_executable_get_symbol_by_name(, gwsInit.kd, 0x7f5d951ddd88, 0x7f5d951ddd80) = 0 +3802696637740309:3802696637740599 1969:1973 hsa_executable_symbol_get_info(, 22, 0x7f5bf023c098) = 0 +3802696637740979:3802696637741259 1969:1973 hsa_agent_get_info(, 6, 0x7f5d951ddd98) = 0 +3802696637781799:3802696637782229 1969:1973 hsa_executable_get_symbol_by_name(, scheduler.kd, 0x7f5d951ddd88, 0x7f5d951ddd80) = 0 +3802696637782639:3802696637782929 1969:1973 hsa_executable_symbol_get_info(, 22, 0x7f5bf00eaa88) = 0 +3802696637783319:3802696637783609 1969:1973 hsa_agent_get_info(, 6, 0x7f5d951ddd98) = 0 +3802696637813079:3802696637913290 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5bf03d2000, , 0, 0, , , 0x7f5bf00ebac8) = 0 +3802696637914640:3802696637916070 1969:1973 hsa_signal_create(1, , 0, 0x7f5d951deb88) = 0 +3802696637918390:3802696637918690 1969:1973 hsa_system_get_info(3, 0x7f5d951deb90) = 0 +3802696637973540:3802696638254652 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c84bff000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802696638259112:3802696638259722 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802696638261622:3802696638677616 1969:1973 hsa_amd_memory_async_copy(0x7f5bf6800000, , 0x7f5bee000010, , , , 0, ) = 0 +3802696638680216:3802696640039776 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802696640049646:3802696640050906 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696640085356:3802696640086416 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802696640093286:3802696640094496 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802696640097646:3802696640098776 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802696640050196:3802696640100846 1969:1973 hsa_amd_memory_unlock(0x7f5c84bff000) = 0 +3802696640101806:3802696640103006 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802696640106396:3802696640107606 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802696640268107:3802696640270707 1969:1969 hsa_executable_create_alt(1, 0, +3802696640290898:3802696640315738 1969:1969 hsa_code_object_reader_create_from_memory(0x4019c5, , 0x1cd0540) = 0 +3802696640317018:3802696640536219 1969:1969 hsa_executable_load_agent_code_object(, , , +3802696640536949:3802696640581260 1969:1969 hsa_executable_freeze(, +3802696640645370:3802696640646110 1969:1969 hsa_executable_get_symbol_by_name(, _Z15matrixTransposePfS_i.kd, 0x7ffc1fedb0f8, 0x7ffc1fedb0f0) = 0 +3802696640646640:3802696640647010 1969:1969 hsa_executable_symbol_get_info(, 22, 0x1ce0dc8) = 0 +3802696640647470:3802696640647870 1969:1969 hsa_agent_get_info(, 6, 0x7ffc1fedb108) = 0 +3802696640671410:3802696640672850 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 0 +3802696640674130:3802696640674670 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802696640675840:3802696640676690 1969:1973 hsa_queue_load_read_index_relaxed(0x7f5d952ec000) = 0 +3802696640678620:3802696640679150 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696640679620:3802696640680400 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 0 +3802696640683170:3802696640684010 1969:1973 hsa_signal_store_screlease(, 0) = void +3802696640688470:3802696641815069 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c847fe000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802696641817609:3802696641818469 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802696641821809:3802696641822619 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 1 +3802696641823459:3802696641824209 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 0 +3802696641825109:3802696641825919 1969:1973 hsa_signal_store_screlease(, 1) = void +3802696641826959:3802696641954740 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802696641956220:3802696641956750 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802696641957650:3802696642503434 1969:1973 hsa_amd_memory_async_copy(0x7f5bee000010, , 0x7f5bf6200000, , , , 0, ) = 0 +3802696642504714:3802696644059565 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802696644069935:3802696644076095 1969:1973 hsa_amd_profiling_get_dispatch_time(, , 0x7f5d951deb30) = 0 +3802696644084325:3802696644084965 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696644082355:3802696644170236 1969:1973 hsa_amd_memory_unlock(0x7f5c847fe000) = 0 +3802696652342326:3802696652343846 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696652384927:3802696652805530 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c84bff000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802696652809720:3802696652811000 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802696652812400:3802696652817490 1969:1973 hsa_amd_memory_async_copy(0x7f5bf6800000, , 0x7f5bee000010, , , , 0, ) = 0 +3802696652818650:3802696654336061 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802696654343431:3802696654344031 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696654350501:3802696654351191 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802696654353721:3802696654354411 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802696654356111:3802696654356801 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802696654358541:3802696654359221 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802696654360751:3802696654361391 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802696654375712:3802696654376402 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802696654379642:3802696654380282 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696654346381:3802696654414142 1969:1973 hsa_amd_memory_unlock(0x7f5c84bff000) = 0 +3802696654422042:3802696654423702 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 2 +3802696654425142:3802696654426242 1969:1973 hsa_queue_load_read_index_relaxed(0x7f5d952ec000) = 2 +3802696654427602:3802696654428302 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 2 +3802696654429382:3802696654430932 1969:1973 hsa_signal_store_screlease(, 2) = void +3802696654439682:3802696654727864 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c847fe000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802696654729744:3802696654730524 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802696654731344:3802696654731974 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 3 +3802696654732774:3802696654733384 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 2 +3802696654734174:3802696654734914 1969:1973 hsa_signal_store_screlease(, 3) = void +3802696654735894:3802696656054044 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802696656056824:3802696656057664 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802696656058774:3802696656061704 1969:1973 hsa_amd_memory_async_copy(0x7f5bee000010, , 0x7f5bf6200000, , , , 0, ) = 0 +3802696656062704:3802696657476215 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802696657480905:3802696657486795 1969:1973 hsa_amd_profiling_get_dispatch_time(, , 0x7f5d951deb30) = 0 +3802696657491265:3802696657492035 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696657491335:3802696657550815 1969:1973 hsa_amd_memory_unlock(0x7f5c847fe000) = 0 +3802696664968170:3802696664969340 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696665022881:3802696665438474 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c84bff000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802696665442854:3802696665444054 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802696665445414:3802696665450074 1969:1973 hsa_amd_memory_async_copy(0x7f5bf6800000, , 0x7f5bee000010, , , , 0, ) = 0 +3802696665451524:3802696667044206 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802696667051166:3802696667051766 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696667063486:3802696667064086 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802696667066036:3802696667066636 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802696667067776:3802696667068366 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802696667070036:3802696667070636 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802696667071986:3802696667072586 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802696667079726:3802696667080416 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802696667083356:3802696667083986 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696667053866:3802696667121616 1969:1973 hsa_amd_memory_unlock(0x7f5c84bff000) = 0 +3802696667129186:3802696667130576 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 4 +3802696667131856:3802696667132726 1969:1973 hsa_queue_load_read_index_relaxed(0x7f5d952ec000) = 4 +3802696667133966:3802696667134656 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 4 +3802696667140366:3802696667141936 1969:1973 hsa_signal_store_screlease(, 4) = void +3802696667146017:3802696667431719 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c847fe000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802696667433739:3802696667434609 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802696667435429:3802696667436059 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 5 +3802696667436879:3802696667437519 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 4 +3802696667438299:3802696667439049 1969:1973 hsa_signal_store_screlease(, 5) = void +3802696667440019:3802696668433126 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802696668434416:3802696668434966 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802696668435856:3802696668438556 1969:1973 hsa_amd_memory_async_copy(0x7f5bee000010, , 0x7f5bf6200000, , , , 0, ) = 0 +3802696668439396:3802696669820506 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802696669825226:3802696669830886 1969:1973 hsa_amd_profiling_get_dispatch_time(, , 0x7f5d951deb30) = 0 +3802696669836366:3802696669837106 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696669835256:3802696669894987 1969:1973 hsa_amd_memory_unlock(0x7f5c847fe000) = 0 +3802696677168380:3802696677169510 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696677225811:3802696677633634 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c84bff000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802696677637934:3802696677639114 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802696677640614:3802696677645604 1969:1973 hsa_amd_memory_async_copy(0x7f5bf6800000, , 0x7f5bee000010, , , , 0, ) = 0 +3802696677646784:3802696679119775 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802696679126625:3802696679127315 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696679133105:3802696679133795 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802696679136005:3802696679136695 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802696679137915:3802696679138605 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802696679140305:3802696679140905 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802696679142405:3802696679142995 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802696679155395:3802696679156085 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802696679158885:3802696679159525 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696679129495:3802696679197085 1969:1973 hsa_amd_memory_unlock(0x7f5c84bff000) = 0 +3802696679204745:3802696679206305 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 6 +3802696679211885:3802696679212785 1969:1973 hsa_queue_load_read_index_relaxed(0x7f5d952ec000) = 6 +3802696679214015:3802696679214705 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 6 +3802696679215795:3802696679217326 1969:1973 hsa_signal_store_screlease(, 6) = void +3802696679221186:3802696679506948 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c847fe000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802696679509068:3802696679509958 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802696679510768:3802696679511418 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 7 +3802696679512218:3802696679512838 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 6 +3802696679513618:3802696679514368 1969:1973 hsa_signal_store_screlease(, 7) = void +3802696679515328:3802696680597446 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802696680598836:3802696680599366 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802696680600276:3802696680602696 1969:1973 hsa_amd_memory_async_copy(0x7f5bee000010, , 0x7f5bf6200000, , , , 0, ) = 0 +3802696680603496:3802696681854005 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802696681858715:3802696681864485 1969:1973 hsa_amd_profiling_get_dispatch_time(, , 0x7f5d951deb30) = 0 +3802696681869035:3802696681869755 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696681868825:3802696681928856 1969:1973 hsa_amd_memory_unlock(0x7f5c847fe000) = 0 +3802696689185330:3802696689186730 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696689242110:3802696689648263 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c84bff000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802696689652463:3802696689654013 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802696689655273:3802696689660373 1969:1973 hsa_amd_memory_async_copy(0x7f5bf6800000, , 0x7f5bee000010, , , , 0, ) = 0 +3802696689661503:3802696691155074 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802696691161864:3802696691162474 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696691169034:3802696691169634 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802696691176654:3802696691177254 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802696691178724:3802696691179314 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802696691181174:3802696691181865 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802696691183445:3802696691184155 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802696691190885:3802696691191575 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802696691194345:3802696691194985 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696691164634:3802696691231555 1969:1973 hsa_amd_memory_unlock(0x7f5c84bff000) = 0 +3802696691239105:3802696691240645 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 8 +3802696691242105:3802696691242985 1969:1973 hsa_queue_load_read_index_relaxed(0x7f5d952ec000) = 8 +3802696691244195:3802696691244885 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 8 +3802696691246065:3802696691247555 1969:1973 hsa_signal_store_screlease(, 8) = void +3802696691251475:3802696691536597 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c847fe000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802696691538617:3802696691539397 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802696691540227:3802696691540857 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 9 +3802696691541657:3802696691542267 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 8 +3802696691543037:3802696691543787 1969:1973 hsa_signal_store_screlease(, 9) = void +3802696691544747:3802696692609315 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802696692610615:3802696692611165 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802696692612055:3802696692614565 1969:1973 hsa_amd_memory_async_copy(0x7f5bee000010, , 0x7f5bf6200000, , , , 0, ) = 0 +3802696692615385:3802696693865354 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802696693870075:3802696693875405 1969:1973 hsa_amd_profiling_get_dispatch_time(, , 0x7f5d951deb30) = 0 +3802696693881035:3802696693881795 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696693879835:3802696693938665 1969:1973 hsa_amd_memory_unlock(0x7f5c847fe000) = 0 +3802696701213478:3802696701214508 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696701270429:3802696701676602 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c84bff000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802696701680872:3802696701682142 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802696701683482:3802696701688172 1969:1973 hsa_amd_memory_async_copy(0x7f5bf6800000, , 0x7f5bee000010, , , , 0, ) = 0 +3802696701689342:3802696703190973 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802696703198253:3802696703198863 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696703204443:3802696703205043 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802696703207063:3802696703207663 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802696703208753:3802696703209353 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802696703210963:3802696703211553 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802696703212963:3802696703213553 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802696703224913:3802696703225603 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802696703229673:3802696703230363 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696703200713:3802696703267144 1969:1973 hsa_amd_memory_unlock(0x7f5c84bff000) = 0 +3802696703274504:3802696703275994 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 10 +3802696703277214:3802696703278094 1969:1973 hsa_queue_load_read_index_relaxed(0x7f5d952ec000) = 10 +3802696703279304:3802696703280004 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 10 +3802696703281024:3802696703282424 1969:1973 hsa_signal_store_screlease(, 10) = void +3802696703286194:3802696703572866 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c847fe000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802696703574896:3802696703575686 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802696703576496:3802696703577106 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 11 +3802696703577926:3802696703578516 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 10 +3802696703579306:3802696703580056 1969:1973 hsa_signal_store_screlease(, 11) = void +3802696703580996:3802696704670194 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802696704671574:3802696704672164 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802696704673074:3802696704675424 1969:1973 hsa_amd_memory_async_copy(0x7f5bee000010, , 0x7f5bf6200000, , , , 0, ) = 0 +3802696704676224:3802696705926163 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802696705930883:3802696705936563 1969:1973 hsa_amd_profiling_get_dispatch_time(, , 0x7f5d951deb30) = 0 +3802696705940673:3802696705941533 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696705941113:3802696706001194 1969:1973 hsa_amd_memory_unlock(0x7f5c847fe000) = 0 +3802696713251168:3802696713252428 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696713308368:3802696713736581 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c84bff000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802696713740952:3802696713742312 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802696713743522:3802696713748272 1969:1973 hsa_amd_memory_async_copy(0x7f5bf6800000, , 0x7f5bee000010, , , , 0, ) = 0 +3802696713749642:3802696715256813 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802696715263813:3802696715264423 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696715270793:3802696715271393 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802696715278003:3802696715278603 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802696715279983:3802696715280573 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802696715282163:3802696715282753 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802696715287373:3802696715287983 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802696715295043:3802696715295643 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802696715298373:3802696715298973 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696715266223:3802696715332133 1969:1973 hsa_amd_memory_unlock(0x7f5c84bff000) = 0 +3802696715339643:3802696715341043 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 12 +3802696715342403:3802696715343153 1969:1973 hsa_queue_load_read_index_relaxed(0x7f5d952ec000) = 12 +3802696715344513:3802696715345203 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 12 +3802696715346373:3802696715347773 1969:1973 hsa_signal_store_screlease(, 12) = void +3802696715351753:3802696715635726 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c847fe000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802696715637836:3802696715638616 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802696715639446:3802696715640096 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 13 +3802696715640926:3802696715641546 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 12 +3802696715642376:3802696715643126 1969:1973 hsa_signal_store_screlease(, 13) = void +3802696715644076:3802696716729344 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802696716732244:3802696716733094 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802696716734214:3802696716737244 1969:1973 hsa_amd_memory_async_copy(0x7f5bee000010, , 0x7f5bf6200000, , , , 0, ) = 0 +3802696716738254:3802696717987523 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802696717992253:3802696717997773 1969:1973 hsa_amd_profiling_get_dispatch_time(, , 0x7f5d951deb30) = 0 +3802696718001863:3802696718002673 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696718002273:3802696718062854 1969:1973 hsa_amd_memory_unlock(0x7f5c847fe000) = 0 +3802696725319337:3802696725320407 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696725377927:3802696725775560 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c84bff000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802696725779910:3802696725781270 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802696725782610:3802696725787210 1969:1973 hsa_amd_memory_async_copy(0x7f5bf6800000, , 0x7f5bee000010, , , , 0, ) = 0 +3802696725788590:3802696727329442 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802696727342022:3802696727342632 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696727348482:3802696727349082 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802696727350912:3802696727351502 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802696727352592:3802696727353192 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802696727356212:3802696727356812 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802696727358172:3802696727358762 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802696727366432:3802696727367122 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802696727371622:3802696727372262 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696727338852:3802696727406852 1969:1973 hsa_amd_memory_unlock(0x7f5c84bff000) = 0 +3802696727414392:3802696727415892 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 14 +3802696727417272:3802696727418022 1969:1973 hsa_queue_load_read_index_relaxed(0x7f5d952ec000) = 14 +3802696727419352:3802696727420052 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 14 +3802696727421332:3802696727422712 1969:1973 hsa_signal_store_screlease(, 14) = void +3802696727426752:3802696727723555 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c847fe000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802696727725465:3802696727726305 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802696727727115:3802696727727755 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 15 +3802696727728565:3802696727729165 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 14 +3802696727729985:3802696727730745 1969:1973 hsa_signal_store_screlease(, 15) = void +3802696727731705:3802696728809113 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802696728811823:3802696728812663 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802696728813783:3802696728816563 1969:1973 hsa_amd_memory_async_copy(0x7f5bee000010, , 0x7f5bf6200000, , , , 0, ) = 0 +3802696728817573:3802696730067042 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802696730071752:3802696730077212 1969:1973 hsa_amd_profiling_get_dispatch_time(, , 0x7f5d951deb30) = 0 +3802696730081322:3802696730082112 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696730081742:3802696730140813 1969:1973 hsa_amd_memory_unlock(0x7f5c847fe000) = 0 +3802696737394717:3802696737395757 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696737453097:3802696737856030 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c84bff000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802696737860070:3802696737861590 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802696737862870:3802696737867850 1969:1973 hsa_amd_memory_async_copy(0x7f5bf6800000, , 0x7f5bee000010, , , , 0, ) = 0 +3802696737869060:3802696739369081 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802696739375641:3802696739376251 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696739382011:3802696739382611 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802696739390851:3802696739391451 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802696739392692:3802696739393292 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802696739395152:3802696739395752 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802696739397152:3802696739397802 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802696739404822:3802696739405422 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802696739408412:3802696739409012 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696739378491:3802696739445012 1969:1973 hsa_amd_memory_unlock(0x7f5c84bff000) = 0 +3802696739452972:3802696739454492 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 16 +3802696739455712:3802696739456592 1969:1973 hsa_queue_load_read_index_relaxed(0x7f5d952ec000) = 16 +3802696739457812:3802696739458502 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 16 +3802696739459582:3802696739460972 1969:1973 hsa_signal_store_screlease(, 16) = void +3802696739464822:3802696739750864 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c847fe000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802696739752914:3802696739753704 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802696739754524:3802696739755124 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 17 +3802696739755934:3802696739756564 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 16 +3802696739757324:3802696739758074 1969:1973 hsa_signal_store_screlease(, 17) = void +3802696739759024:3802696740892353 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802696740895073:3802696740895913 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802696740897023:3802696740900073 1969:1973 hsa_amd_memory_async_copy(0x7f5bee000010, , 0x7f5bf6200000, , , , 0, ) = 0 +3802696740901073:3802696742422664 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802696742427404:3802696742432914 1969:1973 hsa_amd_profiling_get_dispatch_time(, , 0x7f5d951deb30) = 0 +3802696742437014:3802696742437804 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696742437464:3802696742496205 1969:1973 hsa_amd_memory_unlock(0x7f5c847fe000) = 0 +3802696749709718:3802696749710818 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696749769248:3802696750176611 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c84bff000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802696750181051:3802696750182401 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802696750184011:3802696750188851 1969:1973 hsa_amd_memory_async_copy(0x7f5bf6800000, , 0x7f5bee000010, , , , 0, ) = 0 +3802696750190111:3802696751638432 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802696751651592:3802696751652222 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696751659782:3802696751660382 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802696751662252:3802696751662842 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802696751664122:3802696751664722 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802696751666412:3802696751667002 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802696751668362:3802696751669012 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802696751676262:3802696751676952 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802696751680772:3802696751681412 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696751648132:3802696751716102 1969:1973 hsa_amd_memory_unlock(0x7f5c84bff000) = 0 +3802696751723852:3802696751725542 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 18 +3802696751726912:3802696751728053 1969:1973 hsa_queue_load_read_index_relaxed(0x7f5d952ec000) = 18 +3802696751729273:3802696751729973 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 18 +3802696751731053:3802696751732453 1969:1973 hsa_signal_store_screlease(, 18) = void +3802696751736483:3802696752031855 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c847fe000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802696752033875:3802696752034735 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802696752035555:3802696752036195 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 19 +3802696752037005:3802696752037625 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 18 +3802696752038405:3802696752039155 1969:1973 hsa_signal_store_screlease(, 19) = void +3802696752040125:3802696753029452 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802696753032182:3802696753033012 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802696753034132:3802696753036992 1969:1973 hsa_amd_memory_async_copy(0x7f5bee000010, , 0x7f5bf6200000, , , , 0, ) = 0 +3802696753037992:3802696754483653 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802696754488633:3802696754494153 1969:1973 hsa_amd_profiling_get_dispatch_time(, , 0x7f5d951deb30) = 0 +3802696754498793:3802696754499563 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696754498883:3802696754559414 1969:1973 hsa_amd_memory_unlock(0x7f5c847fe000) = 0 +3802696761931618:3802696761932708 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696761990429:3802696762396442 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c84bff000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802696762400932:3802696762402422 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802696762403742:3802696762408672 1969:1973 hsa_amd_memory_async_copy(0x7f5bf6800000, , 0x7f5bee000010, , , , 0, ) = 0 +3802696762415992:3802696763873073 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802696763880433:3802696763881043 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696763886833:3802696763887433 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802696763892323:3802696763892923 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802696763894093:3802696763894693 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802696763896293:3802696763896893 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802696763898333:3802696763898923 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802696763906473:3802696763907153 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802696763910013:3802696763910653 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696763883163:3802696763952183 1969:1973 hsa_amd_memory_unlock(0x7f5c84bff000) = 0 +3802696763960063:3802696763961283 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 20 +3802696763962553:3802696763963413 1969:1973 hsa_queue_load_read_index_relaxed(0x7f5d952ec000) = 20 +3802696763964653:3802696763965353 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 20 +3802696763966483:3802696763968013 1969:1973 hsa_signal_store_screlease(, 20) = void +3802696763972234:3802696764271616 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c847fe000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802696764273646:3802696764274456 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802696764275276:3802696764275876 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 21 +3802696764276686:3802696764277306 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 20 +3802696764278086:3802696764278836 1969:1973 hsa_signal_store_screlease(, 21) = void +3802696764279796:3802696765476775 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802696765479495:3802696765480345 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802696765481465:3802696765484375 1969:1973 hsa_amd_memory_async_copy(0x7f5bee000010, , 0x7f5bf6200000, , , , 0, ) = 0 +3802696765485375:3802696766857705 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802696766862425:3802696766867935 1969:1973 hsa_amd_profiling_get_dispatch_time(, , 0x7f5d951deb30) = 0 +3802696766872055:3802696766872845 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696766872475:3802696766931586 1969:1973 hsa_amd_memory_unlock(0x7f5c847fe000) = 0 +3802696774435021:3802696774436211 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696774498382:3802696774901125 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c84bff000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802696774905335:3802696774906685 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802696774914805:3802696774919935 1969:1973 hsa_amd_memory_async_copy(0x7f5bf6800000, , 0x7f5bee000010, , , , 0, ) = 0 +3802696774921115:3802696776379246 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802696776389226:3802696776389896 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696776396116:3802696776396716 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802696776398866:3802696776399466 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802696776400746:3802696776401346 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802696776403086:3802696776403686 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802696776405126:3802696776405726 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802696776412986:3802696776413586 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802696776417646:3802696776418236 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696776389466:3802696776456546 1969:1973 hsa_amd_memory_unlock(0x7f5c84bff000) = 0 +3802696776464366:3802696776466026 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 22 +3802696776467286:3802696776468036 1969:1973 hsa_queue_load_read_index_relaxed(0x7f5d952ec000) = 22 +3802696776469256:3802696776469946 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 22 +3802696776471036:3802696776472576 1969:1973 hsa_signal_store_screlease(, 22) = void +3802696776476406:3802696776763429 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c847fe000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802696776765389:3802696776766189 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802696776767019:3802696776767619 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 23 +3802696776768439:3802696776769039 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 22 +3802696776769809:3802696776770569 1969:1973 hsa_signal_store_screlease(, 23) = void +3802696776771529:3802696777893867 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802696777896597:3802696777897437 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802696777898567:3802696777901607 1969:1973 hsa_amd_memory_async_copy(0x7f5bee000010, , 0x7f5bf6200000, , , , 0, ) = 0 +3802696777902617:3802696779418188 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802696779422888:3802696779428568 1969:1973 hsa_amd_profiling_get_dispatch_time(, , 0x7f5d951deb30) = 0 +3802696779432558:3802696779433268 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696779433068:3802696779494038 1969:1973 hsa_amd_memory_unlock(0x7f5c847fe000) = 0 +3802696786928913:3802696786930323 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696786997984:3802696787396077 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c84bff000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802696787400247:3802696787401547 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802696787402777:3802696787407457 1969:1973 hsa_amd_memory_async_copy(0x7f5bf6800000, , 0x7f5bee000010, , , , 0, ) = 0 +3802696787408647:3802696788874928 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802696788882068:3802696788882678 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696788889308:3802696788889898 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802696788891658:3802696788892248 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802696788893398:3802696788893988 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802696788899898:3802696788900498 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802696788901688:3802696788902288 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802696788909438:3802696788910128 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802696788912998:3802696788913638 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696788884648:3802696788951209 1969:1973 hsa_amd_memory_unlock(0x7f5c84bff000) = 0 +3802696788958629:3802696788960289 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 24 +3802696788961519:3802696788962389 1969:1973 hsa_queue_load_read_index_relaxed(0x7f5d952ec000) = 24 +3802696788963609:3802696788964309 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 24 +3802696788965359:3802696788966759 1969:1973 hsa_signal_store_screlease(, 24) = void +3802696788970619:3802696789257091 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c847fe000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802696789259061:3802696789259891 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802696789260701:3802696789261311 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 25 +3802696789262131:3802696789262751 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 24 +3802696789263531:3802696789264281 1969:1973 hsa_signal_store_screlease(, 25) = void +3802696789265241:3802696790495030 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802696790497770:3802696790498620 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802696790499750:3802696790502530 1969:1973 hsa_amd_memory_async_copy(0x7f5bee000010, , 0x7f5bf6200000, , , , 0, ) = 0 +3802696790503530:3802696791872300 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802696791876980:3802696791882570 1969:1973 hsa_amd_profiling_get_dispatch_time(, , 0x7f5d951deb30) = 0 +3802696791886560:3802696791887360 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696791887000:3802696791945461 1969:1973 hsa_amd_memory_unlock(0x7f5c847fe000) = 0 +3802696799340816:3802696799341866 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696799403596:3802696799799899 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c84bff000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802696799804189:3802696799805799 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802696799807119:3802696799811899 1969:1973 hsa_amd_memory_async_copy(0x7f5bf6800000, , 0x7f5bee000010, , , , 0, ) = 0 +3802696799813059:3802696801346270 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802696801358521:3802696801359191 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696801365021:3802696801365621 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802696801367621:3802696801368211 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802696801369391:3802696801369981 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802696801371581:3802696801372181 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802696801373491:3802696801374091 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802696801381221:3802696801381821 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802696801385761:3802696801386361 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696801355911:3802696801422161 1969:1973 hsa_amd_memory_unlock(0x7f5c84bff000) = 0 +3802696801429411:3802696801430761 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 26 +3802696801432171:3802696801433041 1969:1973 hsa_queue_load_read_index_relaxed(0x7f5d952ec000) = 26 +3802696801434241:3802696801434941 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 26 +3802696801436071:3802696801437581 1969:1973 hsa_signal_store_screlease(, 26) = void +3802696801441541:3802696801731173 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c847fe000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802696801733183:3802696801733973 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802696801734783:3802696801735383 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 27 +3802696801736193:3802696801736783 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 26 +3802696801737613:3802696801738363 1969:1973 hsa_signal_store_screlease(, 27) = void +3802696801739303:3802696802867561 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802696802870281:3802696802871121 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802696802872242:3802696802875212 1969:1973 hsa_amd_memory_async_copy(0x7f5bee000010, , 0x7f5bf6200000, , , , 0, ) = 0 +3802696802876212:3802696804121121 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802696804125421:3802696804131081 1969:1973 hsa_amd_profiling_get_dispatch_time(, , 0x7f5d951deb30) = 0 +3802696804139531:3802696804140281 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696804139751:3802696804199621 1969:1973 hsa_amd_memory_unlock(0x7f5c847fe000) = 0 +3802696811548406:3802696811549616 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696811610856:3802696812019789 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c84bff000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802696812024439:3802696812026109 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802696812027409:3802696812032439 1969:1973 hsa_amd_memory_async_copy(0x7f5bf6800000, , 0x7f5bee000010, , , , 0, ) = 0 +3802696812033899:3802696813496990 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802696813503890:3802696813504500 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696813510230:3802696813510820 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802696813512550:3802696813513140 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802696813514340:3802696813514940 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802696813522000:3802696813522600 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802696813523971:3802696813524571 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802696813532061:3802696813532751 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802696813535541:3802696813536181 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696813506800:3802696813573841 1969:1973 hsa_amd_memory_unlock(0x7f5c84bff000) = 0 +3802696813581561:3802696813582921 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 28 +3802696813584321:3802696813585081 1969:1973 hsa_queue_load_read_index_relaxed(0x7f5d952ec000) = 28 +3802696813586281:3802696813586981 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 28 +3802696813588181:3802696813589711 1969:1973 hsa_signal_store_screlease(, 28) = void +3802696813593781:3802696813881363 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c847fe000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802696813883373:3802696813884183 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802696813884993:3802696813885603 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 29 +3802696813886403:3802696813887003 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 28 +3802696813887833:3802696813888583 1969:1973 hsa_signal_store_screlease(, 29) = void +3802696813889523:3802696815050532 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802696815053252:3802696815054182 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802696815055292:3802696815058112 1969:1973 hsa_amd_memory_async_copy(0x7f5bee000010, , 0x7f5bf6200000, , , , 0, ) = 0 +3802696815064032:3802696816303981 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802696816308151:3802696816313641 1969:1973 hsa_amd_profiling_get_dispatch_time(, , 0x7f5d951deb30) = 0 +3802696816317761:3802696816318481 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696816317551:3802696816378902 1969:1973 hsa_amd_memory_unlock(0x7f5c847fe000) = 0 +3802696823718066:3802696823719076 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696823780557:3802696824201180 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c84bff000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802696824205690:3802696824206950 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802696824208540:3802696824213760 1969:1973 hsa_amd_memory_async_copy(0x7f5bf6800000, , 0x7f5bee000010, , , , 0, ) = 0 +3802696824214930:3802696825676611 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802696825683701:3802696825684301 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696825695241:3802696825695831 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802696825697791:3802696825698381 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802696825699511:3802696825700101 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802696825701711:3802696825702311 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802696825703671:3802696825704271 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802696825711561:3802696825712251 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802696825720581:3802696825721221 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696825686401:3802696825754851 1969:1973 hsa_amd_memory_unlock(0x7f5c84bff000) = 0 +3802696825762392:3802696825763612 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 30 +3802696825765052:3802696825765842 1969:1973 hsa_queue_load_read_index_relaxed(0x7f5d952ec000) = 30 +3802696825767212:3802696825767922 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 30 +3802696825769072:3802696825770892 1969:1973 hsa_signal_store_screlease(, 30) = void +3802696825774932:3802696826059964 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c847fe000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802696826062084:3802696826062874 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802696826063714:3802696826064344 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 31 +3802696826065144:3802696826065774 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 30 +3802696826066564:3802696826067314 1969:1973 hsa_signal_store_screlease(, 31) = void +3802696826068284:3802696827083341 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802696827086061:3802696827086991 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802696827093081:3802696827095941 1969:1973 hsa_amd_memory_async_copy(0x7f5bee000010, , 0x7f5bf6200000, , , , 0, ) = 0 +3802696827096971:3802696828342071 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802696828346411:3802696828351871 1969:1973 hsa_amd_profiling_get_dispatch_time(, , 0x7f5d951deb30) = 0 +3802696828355651:3802696828356411 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696828355801:3802696828417331 1969:1973 hsa_amd_memory_unlock(0x7f5c847fe000) = 0 +3802696835758885:3802696835759945 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696835820196:3802696836233149 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c84bff000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802696836237749:3802696836239049 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802696836240389:3802696836245219 1969:1973 hsa_amd_memory_async_copy(0x7f5bf6800000, , 0x7f5bee000010, , , , 0, ) = 0 +3802696836246429:3802696837707470 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802696837714200:3802696837714820 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696837721300:3802696837721910 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802696837723920:3802696837724510 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802696837725650:3802696837726240 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802696837733220:3802696837733820 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802696837735100:3802696837735700 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802696837743040:3802696837743730 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802696837746710:3802696837747350 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696837717310:3802696837784440 1969:1973 hsa_amd_memory_unlock(0x7f5c84bff000) = 0 +3802696837791990:3802696837793200 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 32 +3802696837794620:3802696837795480 1969:1973 hsa_queue_load_read_index_relaxed(0x7f5d952ec000) = 32 +3802696837796740:3802696837797430 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 32 +3802696837798540:3802696837799930 1969:1973 hsa_signal_store_screlease(, 32) = void +3802696837803790:3802696838088102 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c847fe000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802696838090142:3802696838090942 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802696838091772:3802696838092402 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 33 +3802696838093242:3802696838093832 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 32 +3802696838094612:3802696838095362 1969:1973 hsa_signal_store_screlease(, 33) = void +3802696838100633:3802696839406082 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802696839408802:3802696839409722 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802696839410832:3802696839413912 1969:1973 hsa_amd_memory_async_copy(0x7f5bee000010, , 0x7f5bf6200000, , , , 0, ) = 0 +3802696839414922:3802696840657942 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802696840661352:3802696840666662 1969:1973 hsa_amd_profiling_get_dispatch_time(, , 0x7f5d951deb30) = 0 +3802696840670392:3802696840671142 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696840670592:3802696840732502 1969:1973 hsa_amd_memory_unlock(0x7f5c847fe000) = 0 +3802696848173067:3802696848174297 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696848214018:3802696848626971 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c84bff000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802696848631191:3802696848632461 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802696848633841:3802696848638571 1969:1973 hsa_amd_memory_async_copy(0x7f5bf6800000, , 0x7f5bee000010, , , , 0, ) = 0 +3802696848639991:3802696850110362 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802696850117142:3802696850117742 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696850132112:3802696850132712 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802696850134412:3802696850135002 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802696850136282:3802696850136872 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802696850138462:3802696850139052 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802696850140732:3802696850141342 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802696850148112:3802696850148802 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802696850152722:3802696850153362 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696850120122:3802696850187682 1969:1973 hsa_amd_memory_unlock(0x7f5c84bff000) = 0 +3802696850195102:3802696850196782 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 34 +3802696850198202:3802696850199293 1969:1973 hsa_queue_load_read_index_relaxed(0x7f5d952ec000) = 34 +3802696850200503:3802696850201193 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 34 +3802696850202283:3802696850203813 1969:1973 hsa_signal_store_screlease(, 34) = void +3802696850207603:3802696850491025 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c847fe000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802696850492995:3802696850493825 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802696850494645:3802696850495245 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 35 +3802696850496045:3802696850496655 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 34 +3802696850501525:3802696850502285 1969:1973 hsa_signal_store_screlease(, 35) = void +3802696850503285:3802696851630703 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802696851633423:3802696851634343 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802696851635463:3802696851638343 1969:1973 hsa_amd_memory_async_copy(0x7f5bee000010, , 0x7f5bf6200000, , , , 0, ) = 0 +3802696851639343:3802696852891743 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802696852896493:3802696852902073 1969:1973 hsa_amd_profiling_get_dispatch_time(, , 0x7f5d951deb30) = 0 +3802696852906323:3802696852907083 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696852906663:3802696852966593 1969:1973 hsa_amd_memory_unlock(0x7f5c847fe000) = 0 +3802696860479568:3802696860480628 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696860516598:3802696860926091 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c84bff000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802696860930652:3802696860932072 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802696860933302:3802696860938212 1969:1973 hsa_amd_memory_async_copy(0x7f5bf6800000, , 0x7f5bee000010, , , , 0, ) = 0 +3802696860939452:3802696862402112 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802696862409253:3802696862409863 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696862415803:3802696862416403 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802696862418413:3802696862419003 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802696862420313:3802696862420913 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802696862427813:3802696862428503 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802696862430023:3802696862430663 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802696862438123:3802696862438803 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802696862441733:3802696862442373 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696862412533:3802696862479343 1969:1973 hsa_amd_memory_unlock(0x7f5c84bff000) = 0 +3802696862486603:3802696862488183 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 36 +3802696862489443:3802696862490253 1969:1973 hsa_queue_load_read_index_relaxed(0x7f5d952ec000) = 36 +3802696862491443:3802696862492143 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 36 +3802696862493413:3802696862494803 1969:1973 hsa_signal_store_screlease(, 36) = void +3802696862498693:3802696862785255 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c847fe000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802696862787255:3802696862788055 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802696862792885:3802696862793565 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 37 +3802696862794405:3802696862795025 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 36 +3802696862795795:3802696862796555 1969:1973 hsa_signal_store_screlease(, 37) = void +3802696862797535:3802696864056505 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802696864059265:3802696864060125 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802696864061235:3802696864064145 1969:1973 hsa_amd_memory_async_copy(0x7f5bee000010, , 0x7f5bf6200000, , , , 0, ) = 0 +3802696864065145:3802696865510666 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802696865515446:3802696865521066 1969:1973 hsa_amd_profiling_get_dispatch_time(, , 0x7f5d951deb30) = 0 +3802696865525406:3802696865526156 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696865525646:3802696865587436 1969:1973 hsa_amd_memory_unlock(0x7f5c847fe000) = 0 +3802696872834300:3802696872835480 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696872875330:3802696873277343 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c84bff000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802696873281673:3802696873283093 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802696873285063:3802696873289983 1969:1973 hsa_amd_memory_async_copy(0x7f5bf6800000, , 0x7f5bee000010, , , , 0, ) = 0 +3802696873291163:3802696874762724 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802696874769524:3802696874770124 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696874780775:3802696874781375 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802696874783195:3802696874783785 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802696874785065:3802696874785665 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802696874787255:3802696874787845 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802696874789705:3802696874790305 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802696874797325:3802696874797925 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802696874800655:3802696874801255 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696874772424:3802696874839785 1969:1973 hsa_amd_memory_unlock(0x7f5c84bff000) = 0 +3802696874846925:3802696874848135 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 38 +3802696874849555:3802696874850365 1969:1973 hsa_queue_load_read_index_relaxed(0x7f5d952ec000) = 38 +3802696874851715:3802696874852405 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 38 +3802696874853515:3802696874855045 1969:1973 hsa_signal_store_screlease(, 38) = void +3802696874858885:3802696875145057 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c847fe000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802696875151097:3802696875151927 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802696875152747:3802696875153347 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 39 +3802696875154157:3802696875154797 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 38 +3802696875155587:3802696875156327 1969:1973 hsa_signal_store_screlease(, 39) = void +3802696875157277:3802696876427597 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802696876428947:3802696876429487 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802696876430417:3802696876432857 1969:1973 hsa_amd_memory_async_copy(0x7f5bee000010, , 0x7f5bf6200000, , , , 0, ) = 0 +3802696876433687:3802696877683076 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802696877687806:3802696877693336 1969:1973 hsa_amd_profiling_get_dispatch_time(, , 0x7f5d951deb30) = 0 +3802696877701326:3802696877702026 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696877697856:3802696877757617 1969:1973 hsa_amd_memory_unlock(0x7f5c847fe000) = 0 +3802696885055790:3802696885056900 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696885112871:3802696885864756 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c84bff000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802696885869136:3802696885870416 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802696885871736:3802696885876496 1969:1973 hsa_amd_memory_async_copy(0x7f5bf6800000, , 0x7f5bee000010, , , , 0, ) = 0 +3802696885877716:3802696887384807 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802696887391708:3802696887392308 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696887398128:3802696887398718 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802696887400718:3802696887401308 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802696887402438:3802696887403038 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802696887409368:3802696887409968 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802696887411348:3802696887411948 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802696887419108:3802696887419798 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802696887422688:3802696887423328 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696887395128:3802696887461938 1969:1973 hsa_amd_memory_unlock(0x7f5c84bff000) = 0 +3802696887469528:3802696887470888 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 40 +3802696887472148:3802696887472948 1969:1973 hsa_queue_load_read_index_relaxed(0x7f5d952ec000) = 40 +3802696887474188:3802696887474888 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 40 +3802696887480428:3802696887481958 1969:1973 hsa_signal_store_screlease(, 40) = void +3802696887485958:3802696887771870 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c847fe000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802696887773830:3802696887774640 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802696887775450:3802696887776080 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 41 +3802696887776920:3802696887777560 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 40 +3802696887778350:3802696887779100 1969:1973 hsa_signal_store_screlease(, 41) = void +3802696887780070:3802696889052630 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802696889055350:3802696889056180 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802696889057300:3802696889060100 1969:1973 hsa_amd_memory_async_copy(0x7f5bee000010, , 0x7f5bf6200000, , , , 0, ) = 0 +3802696889061100:3802696890477000 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802696890481711:3802696890487111 1969:1973 hsa_amd_profiling_get_dispatch_time(, , 0x7f5d951deb30) = 0 +3802696890491661:3802696890492451 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696890491741:3802696890550941 1969:1973 hsa_amd_memory_unlock(0x7f5c847fe000) = 0 +3802696897756035:3802696897757285 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696897815535:3802696898215808 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c84bff000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802696898220188:3802696898221538 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802696898222828:3802696898227998 1969:1973 hsa_amd_memory_async_copy(0x7f5bf6800000, , 0x7f5bee000010, , , , 0, ) = 0 +3802696898229178:3802696899687399 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802696899694139:3802696899694749 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696899705359:3802696899705949 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802696899707719:3802696899708309 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802696899709599:3802696899710189 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802696899711819:3802696899712409 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802696899713539:3802696899714139 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802696899720749:3802696899721349 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802696899724289:3802696899724889 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696899697219:3802696899764590 1969:1973 hsa_amd_memory_unlock(0x7f5c84bff000) = 0 +3802696899772300:3802696899773510 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 42 +3802696899779180:3802696899779900 1969:1973 hsa_queue_load_read_index_relaxed(0x7f5d952ec000) = 42 +3802696899781260:3802696899782030 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 42 +3802696899783050:3802696899784440 1969:1973 hsa_signal_store_screlease(, 42) = void +3802696899788390:3802696900248913 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c847fe000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802696900250893:3802696900251693 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802696900252513:3802696900253163 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 43 +3802696900253993:3802696900254583 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 42 +3802696900255363:3802696900256113 1969:1973 hsa_signal_store_screlease(, 43) = void +3802696900257093:3802696901073289 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802696901074579:3802696901075109 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802696901075989:3802696901078759 1969:1973 hsa_amd_memory_async_copy(0x7f5bee000010, , 0x7f5bf6200000, , , , 0, ) = 0 +3802696901079539:3802696902508940 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802696902513690:3802696902519140 1969:1973 hsa_amd_profiling_get_dispatch_time(, , 0x7f5d951deb30) = 0 +3802696902525010:3802696902525750 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696902523830:3802696902583351 1969:1973 hsa_amd_memory_unlock(0x7f5c847fe000) = 0 +3802696909790424:3802696909791534 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696909852634:3802696910256237 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c84bff000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802696910260297:3802696910261587 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802696910262917:3802696910267607 1969:1973 hsa_amd_memory_async_copy(0x7f5bf6800000, , 0x7f5bee000010, , , , 0, ) = 0 +3802696910268777:3802696911736508 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802696911743258:3802696911743858 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696911749778:3802696911750378 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802696911752278:3802696911752868 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802696911754178:3802696911754778 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802696911756368:3802696911756968 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802696911758598:3802696911759198 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802696911771898:3802696911772598 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802696911775498:3802696911776138 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696911746248:3802696911814328 1969:1973 hsa_amd_memory_unlock(0x7f5c84bff000) = 0 +3802696911826939:3802696911828159 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 44 +3802696911829549:3802696911830419 1969:1973 hsa_queue_load_read_index_relaxed(0x7f5d952ec000) = 44 +3802696911831789:3802696911832489 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 44 +3802696911833509:3802696911835059 1969:1973 hsa_signal_store_screlease(, 44) = void +3802696911839159:3802696912129321 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c847fe000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802696912131271:3802696912132101 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802696912132911:3802696912133551 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 45 +3802696912134381:3802696912135011 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 44 +3802696912135841:3802696912136591 1969:1973 hsa_signal_store_screlease(, 45) = void +3802696912137531:3802696913418780 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802696913421540:3802696913422390 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802696913423510:3802696913426540 1969:1973 hsa_amd_memory_async_copy(0x7f5bee000010, , 0x7f5bf6200000, , , , 0, ) = 0 +3802696913427550:3802696914810021 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802696914814741:3802696914820581 1969:1973 hsa_amd_profiling_get_dispatch_time(, , 0x7f5d951deb30) = 0 +3802696914824791:3802696914825561 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696914825071:3802696914885101 1969:1973 hsa_amd_memory_unlock(0x7f5c847fe000) = 0 +3802696922287816:3802696922288976 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696922348807:3802696922755220 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c84bff000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802696922759540:3802696922760820 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802696922762070:3802696922766830 1969:1973 hsa_amd_memory_async_copy(0x7f5bf6800000, , 0x7f5bee000010, , , , 0, ) = 0 +3802696922767990:3802696924263661 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802696924270561:3802696924271171 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696924283431:3802696924284031 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802696924285851:3802696924286441 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802696924287771:3802696924288371 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802696924289991:3802696924290581 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802696924292101:3802696924292741 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802696924300431:3802696924301111 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802696924306811:3802696924307491 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696924272521:3802696924339192 1969:1973 hsa_amd_memory_unlock(0x7f5c84bff000) = 0 +3802696924346942:3802696924348602 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 46 +3802696924349982:3802696924351202 1969:1973 hsa_queue_load_read_index_relaxed(0x7f5d952ec000) = 46 +3802696924352472:3802696924353172 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 46 +3802696924354192:3802696924355702 1969:1973 hsa_signal_store_screlease(, 46) = void +3802696924359532:3802696924646434 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c847fe000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802696924648774:3802696924649594 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802696924650394:3802696924651034 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 47 +3802696924651854:3802696924652474 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 46 +3802696924653304:3802696924654064 1969:1973 hsa_signal_store_screlease(, 47) = void +3802696924655044:3802696925777872 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802696925780602:3802696925781442 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802696925782552:3802696925785332 1969:1973 hsa_amd_memory_async_copy(0x7f5bee000010, , 0x7f5bf6200000, , , , 0, ) = 0 +3802696925786342:3802696927034422 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802696927039152:3802696927044552 1969:1973 hsa_amd_profiling_get_dispatch_time(, , 0x7f5d951deb30) = 0 +3802696927049822:3802696927050602 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696927049052:3802696927109802 1969:1973 hsa_amd_memory_unlock(0x7f5c847fe000) = 0 +3802696934597478:3802696934598498 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696934659378:3802696935058771 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c84bff000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802696935062881:3802696935064611 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802696935065951:3802696935070481 1969:1973 hsa_amd_memory_async_copy(0x7f5bf6800000, , 0x7f5bee000010, , , , 0, ) = 0 +3802696935071691:3802696936527002 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802696936533932:3802696936534542 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696936540692:3802696936541292 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802696936543372:3802696936543962 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802696936545132:3802696936545722 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802696936547362:3802696936547952 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802696936549332:3802696936549932 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802696936563242:3802696936563932 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802696936566762:3802696936567412 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696936536342:3802696936603083 1969:1973 hsa_amd_memory_unlock(0x7f5c84bff000) = 0 +3802696936611183:3802696936612373 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 48 +3802696936613833:3802696936614713 1969:1973 hsa_queue_load_read_index_relaxed(0x7f5d952ec000) = 48 +3802696936616203:3802696936616893 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 48 +3802696936618323:3802696936619713 1969:1973 hsa_signal_store_screlease(, 48) = void +3802696936623863:3802696936910565 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c847fe000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802696936912525:3802696936913315 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802696936914125:3802696936914735 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 49 +3802696936915555:3802696936916185 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 48 +3802696936916975:3802696936917725 1969:1973 hsa_signal_store_screlease(, 49) = void +3802696936918685:3802696937942642 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802696937945372:3802696937946212 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802696937947322:3802696937950552 1969:1973 hsa_amd_memory_async_copy(0x7f5bee000010, , 0x7f5bf6200000, , , , 0, ) = 0 +3802696937951562:3802696939418023 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802696939422683:3802696939428463 1969:1973 hsa_amd_profiling_get_dispatch_time(, , 0x7f5d951deb30) = 0 +3802696939432513:3802696939433263 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696939433013:3802696939490644 1969:1973 hsa_amd_memory_unlock(0x7f5c847fe000) = 0 +3802696946940499:3802696946942009 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696947002819:3802696947401302 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c84bff000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802696947405592:3802696947406982 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802696947408262:3802696947412982 1969:1973 hsa_amd_memory_async_copy(0x7f5bf6800000, , 0x7f5bee000010, , , , 0, ) = 0 +3802696947414152:3802696948879723 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802696948887003:3802696948887613 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696948893293:3802696948893893 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802696948901293:3802696948901893 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802696948903143:3802696948903733 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802696948906474:3802696948907064 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802696948908474:3802696948909084 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802696948916474:3802696948917074 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802696948919864:3802696948920464 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696948888943:3802696948955244 1969:1973 hsa_amd_memory_unlock(0x7f5c84bff000) = 0 +3802696948962744:3802696948963964 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 50 +3802696948965334:3802696948966194 1969:1973 hsa_queue_load_read_index_relaxed(0x7f5d952ec000) = 50 +3802696948967404:3802696948968094 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 50 +3802696948969184:3802696948970724 1969:1973 hsa_signal_store_screlease(, 50) = void +3802696948974664:3802696949259766 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c847fe000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802696949261596:3802696949262376 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802696949263186:3802696949263796 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 51 +3802696949264616:3802696949265216 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 50 +3802696949266106:3802696949266856 1969:1973 hsa_signal_store_screlease(, 51) = void +3802696949267916:3802696950505725 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802696950508465:3802696950509305 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802696950510425:3802696950513385 1969:1973 hsa_amd_memory_async_copy(0x7f5bee000010, , 0x7f5bf6200000, , , , 0, ) = 0 +3802696950514395:3802696951882496 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802696951887156:3802696951892756 1969:1973 hsa_amd_profiling_get_dispatch_time(, , 0x7f5d951deb30) = 0 +3802696951897906:3802696951898646 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696951897376:3802696951956666 1969:1973 hsa_amd_memory_unlock(0x7f5c847fe000) = 0 +3802696959368541:3802696959369671 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696959430332:3802696959824345 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c84bff000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802696959829125:3802696959830395 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802696959831655:3802696959836485 1969:1973 hsa_amd_memory_async_copy(0x7f5bf6800000, , 0x7f5bee000010, , , , 0, ) = 0 +3802696959837695:3802696961369366 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802696961376876:3802696961377496 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696961383276:3802696961383876 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802696961386066:3802696961386656 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802696961393386:3802696961393986 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802696961395566:3802696961396166 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802696961397916:3802696961398516 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802696961407226:3802696961407826 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802696961410746:3802696961411346 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696961379316:3802696961448107 1969:1973 hsa_amd_memory_unlock(0x7f5c84bff000) = 0 +3802696961455497:3802696961456727 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 52 +3802696961458197:3802696961459097 1969:1973 hsa_queue_load_read_index_relaxed(0x7f5d952ec000) = 52 +3802696961460297:3802696961460987 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 52 +3802696961462077:3802696961463477 1969:1973 hsa_signal_store_screlease(, 52) = void +3802696961467437:3802696961754349 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c847fe000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802696961756329:3802696961757129 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802696961757939:3802696961758549 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 53 +3802696961759389:3802696961759999 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 52 +3802696961760909:3802696961761659 1969:1973 hsa_signal_store_screlease(, 53) = void +3802696961762629:3802696962755786 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802696962757406:3802696962757986 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802696962758886:3802696962761366 1969:1973 hsa_amd_memory_async_copy(0x7f5bee000010, , 0x7f5bf6200000, , , , 0, ) = 0 +3802696962762186:3802696964016295 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802696964021035:3802696964026715 1969:1973 hsa_amd_profiling_get_dispatch_time(, , 0x7f5d951deb30) = 0 +3802696964030905:3802696964031635 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696964030845:3802696964091196 1969:1973 hsa_amd_memory_unlock(0x7f5c847fe000) = 0 +3802696971340690:3802696971341770 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696971403150:3802696971803453 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c84bff000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802696971807633:3802696971808923 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802696971810753:3802696971816013 1969:1973 hsa_amd_memory_async_copy(0x7f5bf6800000, , 0x7f5bee000010, , , , 0, ) = 0 +3802696971817183:3802696973419265 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802696973426575:3802696973427185 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696973437785:3802696973438375 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802696973441435:3802696973442035 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802696973443145:3802696973443735 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802696973445375:3802696973445965 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802696973447425:3802696973448025 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802696973455765:3802696973456455 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802696973459345:3802696973459995 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696973429205:3802696973496866 1969:1973 hsa_amd_memory_unlock(0x7f5c84bff000) = 0 +3802696973504516:3802696973505846 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 54 +3802696973507226:3802696973507976 1969:1973 hsa_queue_load_read_index_relaxed(0x7f5d952ec000) = 54 +3802696973509216:3802696973509916 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 54 +3802696973511006:3802696973512416 1969:1973 hsa_signal_store_screlease(, 54) = void +3802696973516216:3802696973803608 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c847fe000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802696973805558:3802696973806378 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802696973807258:3802696973807928 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 55 +3802696973808758:3802696973809458 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 54 +3802696973810298:3802696973811168 1969:1973 hsa_signal_store_screlease(, 55) = void +3802696973812508:3802696975058257 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802696975060987:3802696975061837 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802696975062957:3802696975065817 1969:1973 hsa_amd_memory_async_copy(0x7f5bee000010, , 0x7f5bf6200000, , , , 0, ) = 0 +3802696975066827:3802696976505798 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802696976510528:3802696976515768 1969:1973 hsa_amd_profiling_get_dispatch_time(, , 0x7f5d951deb30) = 0 +3802696976519988:3802696976520708 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696976519888:3802696976579349 1969:1973 hsa_amd_memory_unlock(0x7f5c847fe000) = 0 +3802696983886023:3802696983887183 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696983948713:3802696984374077 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c84bff000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802696984378347:3802696984379717 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802696984381007:3802696984385957 1969:1973 hsa_amd_memory_async_copy(0x7f5bf6800000, , 0x7f5bee000010, , , , 0, ) = 0 +3802696984387187:3802696985852668 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802696985869398:3802696985870048 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696985876688:3802696985877278 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802696985879128:3802696985879718 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802696985880838:3802696985881428 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802696985882988:3802696985883578 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802696985884998:3802696985885598 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802696985893728:3802696985894428 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802696985897358:3802696985898008 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696985869428:3802696985936208 1969:1973 hsa_amd_memory_unlock(0x7f5c84bff000) = 0 +3802696985943838:3802696985945208 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 56 +3802696985946788:3802696985947658 1969:1973 hsa_queue_load_read_index_relaxed(0x7f5d952ec000) = 56 +3802696985948888:3802696985949588 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 56 +3802696985950608:3802696985952288 1969:1973 hsa_signal_store_screlease(, 56) = void +3802696985956138:3802696986240960 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c847fe000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802696986242950:3802696986243760 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802696986244570:3802696986245200 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 57 +3802696986246030:3802696986246630 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 56 +3802696986247440:3802696986248180 1969:1973 hsa_signal_store_screlease(, 57) = void +3802696986249140:3802696987422159 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802696987424889:3802696987425729 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802696987426849:3802696987429729 1969:1973 hsa_amd_memory_async_copy(0x7f5bee000010, , 0x7f5bf6200000, , , , 0, ) = 0 +3802696987430729:3802696988777579 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802696988782329:3802696988787829 1969:1973 hsa_amd_profiling_get_dispatch_time(, , 0x7f5d951deb30) = 0 +3802696988792189:3802696988793029 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696988792619:3802696988851030 1969:1973 hsa_amd_memory_unlock(0x7f5c847fe000) = 0 +3802696996265394:3802696996266554 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696996302814:3802696996710517 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c84bff000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802696996714858:3802696996716238 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802696996723948:3802696996728968 1969:1973 hsa_amd_memory_async_copy(0x7f5bf6800000, , 0x7f5bee000010, , , , 0, ) = 0 +3802696996730148:3802696998232289 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802696998239039:3802696998239639 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696998245319:3802696998245909 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802696998250209:3802696998250809 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802696998251919:3802696998252509 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802696998254179:3802696998254869 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802696998256409:3802696998257049 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802696998263779:3802696998264469 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802696998267329:3802696998267969 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696998241559:3802696998309599 1969:1973 hsa_amd_memory_unlock(0x7f5c84bff000) = 0 +3802696998316919:3802696998318189 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 58 +3802696998319469:3802696998320269 1969:1973 hsa_queue_load_read_index_relaxed(0x7f5d952ec000) = 58 +3802696998321459:3802696998322159 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 58 +3802696998323619:3802696998325139 1969:1973 hsa_signal_store_screlease(, 58) = void +3802696998329040:3802696998611862 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c847fe000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802696998613842:3802696998614662 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802696998615482:3802696998616122 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 59 +3802696998616922:3802696998617522 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 58 +3802696998618282:3802696998619032 1969:1973 hsa_signal_store_screlease(, 59) = void +3802696998619982:3802696999758340 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802696999761310:3802696999762220 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802696999763340:3802696999766170 1969:1973 hsa_amd_memory_async_copy(0x7f5bee000010, , 0x7f5bf6200000, , , , 0, ) = 0 +3802696999767180:3802697001016790 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697001021510:3802697001026970 1969:1973 hsa_amd_profiling_get_dispatch_time(, , 0x7f5d951deb30) = 0 +3802697001031200:3802697001031990 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697001031670:3802697001089960 1969:1973 hsa_amd_memory_unlock(0x7f5c847fe000) = 0 +3802697008350884:3802697008351934 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697008398664:3802697008798757 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c84bff000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697008803047:3802697008804557 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697008805817:3802697008810617 1969:1973 hsa_amd_memory_async_copy(0x7f5bf6800000, , 0x7f5bee000010, , , , 0, ) = 0 +3802697008811827:3802697010348679 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697010357439:3802697010358099 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697010363849:3802697010364439 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697010366359:3802697010366949 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697010368109:3802697010368709 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697010370449:3802697010371049 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697010372469:3802697010373069 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697010380729:3802697010381419 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697010386649:3802697010387309 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697010358079:3802697010425510 1969:1973 hsa_amd_memory_unlock(0x7f5c84bff000) = 0 +3802697010432750:3802697010434090 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 60 +3802697010435340:3802697010436150 1969:1973 hsa_queue_load_read_index_relaxed(0x7f5d952ec000) = 60 +3802697010437360:3802697010438060 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 60 +3802697010439080:3802697010440820 1969:1973 hsa_signal_store_screlease(, 60) = void +3802697010444810:3802697010742492 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c847fe000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697010744392:3802697010745212 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697010746032:3802697010746632 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 61 +3802697010747432:3802697010748052 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 60 +3802697010748812:3802697010749562 1969:1973 hsa_signal_store_screlease(, 61) = void +3802697010750532:3802697011858770 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697011861480:3802697011862400 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697011863530:3802697011866710 1969:1973 hsa_amd_memory_async_copy(0x7f5bee000010, , 0x7f5bf6200000, , , , 0, ) = 0 +3802697011867720:3802697013134250 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697013149850:3802697013156330 1969:1973 hsa_amd_profiling_get_dispatch_time(, , 0x7f5d951deb30) = 0 +3802697013165250:3802697013165950 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697013168160:3802697013285631 1969:1973 hsa_amd_memory_unlock(0x7f5c847fe000) = 0 +3802697020361333:3802697020362383 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697020400743:3802697020787226 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c84bff000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697020791396:3802697020792316 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697020793916:3802697020799286 1969:1973 hsa_amd_memory_async_copy(0x7f5bf6800000, , 0x7f5bee000010, , , , 0, ) = 0 +3802697020800566:3802697022150126 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697022157286:3802697022157816 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697022165846:3802697022166376 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697022176336:3802697022177346 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697022178936:3802697022179466 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697022181246:3802697022181846 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697022183636:3802697022184196 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697022194556:3802697022195166 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697022202356:3802697022202926 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697022159216:3802697022221486 1969:1973 hsa_amd_memory_unlock(0x7f5c84bff000) = 0 +3802697022231007:3802697022232517 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 62 +3802697022234117:3802697022235057 1969:1973 hsa_queue_load_read_index_relaxed(0x7f5d952ec000) = 62 +3802697022236417:3802697022237167 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 62 +3802697022238177:3802697022239337 1969:1973 hsa_signal_store_screlease(, 62) = void +3802697022243417:3802697022506609 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c847fe000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697022508669:3802697022509839 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697022510619:3802697022511259 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 63 +3802697022512039:3802697022512619 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 62 +3802697022513499:3802697022514279 1969:1973 hsa_signal_store_screlease(, 63) = void +3802697022515209:3802697023551206 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697023553966:3802697023554806 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697023555906:3802697023558606 1969:1973 hsa_amd_memory_async_copy(0x7f5bee000010, , 0x7f5bf6200000, , , , 0, ) = 0 +3802697023559616:3802697024898276 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697024903376:3802697024907716 1969:1973 hsa_amd_profiling_get_dispatch_time(, , 0x7f5d951deb30) = 0 +3802697024917146:3802697024918016 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697024916876:3802697024974527 1969:1973 hsa_amd_memory_unlock(0x7f5c847fe000) = 0 +3802697032171420:3802697032172380 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697032205651:3802697032513623 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c84bff000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697032516323:3802697032517113 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697032518353:3802697032520403 1969:1973 hsa_amd_memory_async_copy(0x7f5bf6800000, , 0x7f5bee000010, , , , 0, ) = 0 +3802697032521553:3802697033866503 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697033882573:3802697033883283 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697033890173:3802697033890703 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697033893623:3802697033894143 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697033895783:3802697033896313 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697033898093:3802697033898613 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697033900103:3802697033900633 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697033909273:3802697033909883 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697033914403:3802697033914963 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697033875213:3802697033936494 1969:1973 hsa_amd_memory_unlock(0x7f5c84bff000) = 0 +3802697033942904:3802697033943644 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 64 +3802697033944924:3802697033945584 1969:1973 hsa_queue_load_read_index_relaxed(0x7f5d952ec000) = 64 +3802697033946674:3802697033947284 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 64 +3802697033948394:3802697033949384 1969:1973 hsa_signal_store_screlease(, 64) = void +3802697033952964:3802697034213376 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c847fe000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697034215306:3802697034215996 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697034216786:3802697034217416 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 65 +3802697034218186:3802697034218816 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 64 +3802697034219566:3802697034220356 1969:1973 hsa_signal_store_screlease(, 65) = void +3802697034221296:3802697035258763 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697035261493:3802697035262313 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697035263413:3802697035266063 1969:1973 hsa_amd_memory_async_copy(0x7f5bee000010, , 0x7f5bf6200000, , , , 0, ) = 0 +3802697035267073:3802697036511273 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697036518483:3802697036522543 1969:1973 hsa_amd_profiling_get_dispatch_time(, , 0x7f5d951deb30) = 0 +3802697036528793:3802697036529573 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697036528313:3802697036584993 1969:1973 hsa_amd_memory_unlock(0x7f5c847fe000) = 0 +3802697043712756:3802697043713816 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697043768796:3802697044073458 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c84bff000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697044076228:3802697044077068 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697044078298:3802697044080338 1969:1973 hsa_amd_memory_async_copy(0x7f5bf6800000, , 0x7f5bee000010, , , , 0, ) = 0 +3802697044081298:3802697045429088 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697045436728:3802697045437428 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697045445428:3802697045445948 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697045448318:3802697045448838 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697045450158:3802697045450678 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697045460288:3802697045460818 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697045462429:3802697045462959 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697045472319:3802697045472919 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697045476039:3802697045476609 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697045438538:3802697045499409 1969:1973 hsa_amd_memory_unlock(0x7f5c84bff000) = 0 +3802697045506119:3802697045506869 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 66 +3802697045508049:3802697045508689 1969:1973 hsa_queue_load_read_index_relaxed(0x7f5d952ec000) = 66 +3802697045509589:3802697045510189 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 66 +3802697045511279:3802697045512209 1969:1973 hsa_signal_store_screlease(, 66) = void +3802697045516069:3802697045775731 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c847fe000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697045777911:3802697045778621 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697045779531:3802697045780171 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 67 +3802697045780981:3802697045781561 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 66 +3802697045782301:3802697045783091 1969:1973 hsa_signal_store_screlease(, 67) = void +3802697045784021:3802697046824119 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697046826849:3802697046827689 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697046832829:3802697046835539 1969:1973 hsa_amd_memory_async_copy(0x7f5bee000010, , 0x7f5bf6200000, , , , 0, ) = 0 +3802697046836399:3802697048083288 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697048087728:3802697048091788 1969:1973 hsa_amd_profiling_get_dispatch_time(, , 0x7f5d951deb30) = 0 +3802697048098448:3802697048099608 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697048098018:3802697048155889 1969:1973 hsa_amd_memory_unlock(0x7f5c847fe000) = 0 +3802697055285302:3802697055286392 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697055335262:3802697055646504 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c84bff000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697055649154:3802697055649974 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697055651224:3802697055653264 1969:1973 hsa_amd_memory_async_copy(0x7f5bf6800000, , 0x7f5bee000010, , , , 0, ) = 0 +3802697055654434:3802697057001504 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697057017264:3802697057017964 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697057027025:3802697057027975 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697057030045:3802697057030575 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697057032145:3802697057032675 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697057034655:3802697057035185 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697057036735:3802697057037265 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697057045815:3802697057046425 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697057050975:3802697057051535 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697057010294:3802697057071405 1969:1973 hsa_amd_memory_unlock(0x7f5c84bff000) = 0 +3802697057078025:3802697057078785 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 68 +3802697057080035:3802697057080685 1969:1973 hsa_queue_load_read_index_relaxed(0x7f5d952ec000) = 68 +3802697057081775:3802697057082375 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 68 +3802697057083455:3802697057084375 1969:1973 hsa_signal_store_screlease(, 68) = void +3802697057088265:3802697057347297 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c847fe000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697057349307:3802697057350017 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697057350807:3802697057351417 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 69 +3802697057352217:3802697057352817 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 68 +3802697057353557:3802697057354367 1969:1973 hsa_signal_store_screlease(, 69) = void +3802697057355297:3802697058400205 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697058407075:3802697058407915 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697058409085:3802697058411675 1969:1973 hsa_amd_memory_async_copy(0x7f5bee000010, , 0x7f5bf6200000, , , , 0, ) = 0 +3802697058412525:3802697059663344 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697059668194:3802697059672724 1969:1973 hsa_amd_profiling_get_dispatch_time(, , 0x7f5d951deb30) = 0 +3802697059679064:3802697059679844 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697059678724:3802697059735985 1969:1973 hsa_amd_memory_unlock(0x7f5c847fe000) = 0 +3802697066853648:3802697066854818 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697066903018:3802697067214750 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c84bff000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697067217570:3802697067218390 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697067219580:3802697067221630 1969:1973 hsa_amd_memory_async_copy(0x7f5bf6800000, , 0x7f5bee000010, , , , 0, ) = 0 +3802697067222590:3802697068560080 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697068566120:3802697068566870 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697068574550:3802697068575070 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697068577310:3802697068577830 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697068579580:3802697068580580 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697068589790:3802697068590320 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697068591830:3802697068592350 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697068601741:3802697068602351 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697068605621:3802697068606181 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697068567180:3802697068620751 1969:1973 hsa_amd_memory_unlock(0x7f5c84bff000) = 0 +3802697068627281:3802697068627961 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 70 +3802697068629081:3802697068629721 1969:1973 hsa_queue_load_read_index_relaxed(0x7f5d952ec000) = 70 +3802697068630621:3802697068631221 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 70 +3802697068632091:3802697068633011 1969:1973 hsa_signal_store_screlease(, 70) = void +3802697068635951:3802697068890163 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c847fe000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697068891913:3802697068892583 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697068893363:3802697068893973 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 71 +3802697068894793:3802697068895393 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 70 +3802697068899073:3802697068899883 1969:1973 hsa_signal_store_screlease(, 71) = void +3802697068900843:3802697069956700 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697069959440:3802697069960270 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697069961360:3802697069963950 1969:1973 hsa_amd_memory_async_copy(0x7f5bee000010, , 0x7f5bf6200000, , , , 0, ) = 0 +3802697069964990:3802697071215109 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697071219989:3802697071224359 1969:1973 hsa_amd_profiling_get_dispatch_time(, , 0x7f5d951deb30) = 0 +3802697071230870:3802697071231660 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697071230570:3802697071288160 1969:1973 hsa_amd_memory_unlock(0x7f5c847fe000) = 0 +3802697078416943:3802697078418053 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697078466273:3802697078775876 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c84bff000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697078778596:3802697078779416 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697078780666:3802697078782716 1969:1973 hsa_amd_memory_async_copy(0x7f5bf6800000, , 0x7f5bee000010, , , , 0, ) = 0 +3802697078783876:3802697080120876 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697080136326:3802697080137036 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697080144946:3802697080145636 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697080148406:3802697080148936 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697080150426:3802697080150946 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697080152766:3802697080153286 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697080154736:3802697080155256 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697080164426:3802697080165026 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697080169656:3802697080170226 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697080129046:3802697080190356 1969:1973 hsa_amd_memory_unlock(0x7f5c84bff000) = 0 +3802697080196666:3802697080197456 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 72 +3802697080198736:3802697080199376 1969:1973 hsa_queue_load_read_index_relaxed(0x7f5d952ec000) = 72 +3802697080200486:3802697080201076 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 72 +3802697080202156:3802697080203106 1969:1973 hsa_signal_store_screlease(, 72) = void +3802697080206656:3802697080466658 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c847fe000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697080468528:3802697080469258 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697080470048:3802697080470638 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 73 +3802697080474558:3802697080475178 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 72 +3802697080475938:3802697080476738 1969:1973 hsa_signal_store_screlease(, 73) = void +3802697080477638:3802697081515266 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697081517996:3802697081518826 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697081519916:3802697081522536 1969:1973 hsa_amd_memory_async_copy(0x7f5bee000010, , 0x7f5bf6200000, , , , 0, ) = 0 +3802697081523576:3802697082774085 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697082778985:3802697082783395 1969:1973 hsa_amd_profiling_get_dispatch_time(, , 0x7f5d951deb30) = 0 +3802697082790675:3802697082791645 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697082790475:3802697082847626 1969:1973 hsa_amd_memory_unlock(0x7f5c847fe000) = 0 +3802697089982569:3802697089983719 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697090032759:3802697090337572 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c84bff000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697090340312:3802697090341142 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697090342392:3802697090344452 1969:1973 hsa_amd_memory_async_copy(0x7f5bf6800000, , 0x7f5bee000010, , , , 0, ) = 0 +3802697090345392:3802697091694032 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697091701562:3802697091702352 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697091709992:3802697091710522 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697091713062:3802697091713582 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697091714912:3802697091715432 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697091724092:3802697091724622 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697091726052:3802697091726572 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697091735712:3802697091736322 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697091739442:3802697091740012 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697091703182:3802697091764752 1969:1973 hsa_amd_memory_unlock(0x7f5c84bff000) = 0 +3802697091771412:3802697091772182 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 74 +3802697091773482:3802697091774122 1969:1973 hsa_queue_load_read_index_relaxed(0x7f5d952ec000) = 74 +3802697091775032:3802697091775632 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 74 +3802697091776522:3802697091777442 1969:1973 hsa_signal_store_screlease(, 74) = void +3802697091781102:3802697092063964 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c847fe000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697092071634:3802697092072464 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697092073474:3802697092074174 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 75 +3802697092075064:3802697092075704 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 74 +3802697092076514:3802697092077414 1969:1973 hsa_signal_store_screlease(, 75) = void +3802697092078344:3802697093092302 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697093095012:3802697093095852 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697093096962:3802697093099642 1969:1973 hsa_amd_memory_async_copy(0x7f5bee000010, , 0x7f5bf6200000, , , , 0, ) = 0 +3802697093100702:3802697094353921 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697094358921:3802697094363331 1969:1973 hsa_amd_profiling_get_dispatch_time(, , 0x7f5d951deb30) = 0 +3802697094370422:3802697094371622 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697094369791:3802697094437802 1969:1973 hsa_amd_memory_unlock(0x7f5c847fe000) = 0 +3802697101549124:3802697101550184 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697101606005:3802697101903967 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c84bff000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697101906697:3802697101907527 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697101908777:3802697101910837 1969:1973 hsa_amd_memory_async_copy(0x7f5bf6800000, , 0x7f5bee000010, , , , 0, ) = 0 +3802697101912017:3802697103262107 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697103269427:3802697103270127 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697103285317:3802697103285847 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697103287917:3802697103288437 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697103291027:3802697103291557 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697103293267:3802697103293787 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697103295097:3802697103295627 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697103304467:3802697103305077 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697103309757:3802697103310327 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697103271127:3802697103340867 1969:1973 hsa_amd_memory_unlock(0x7f5c84bff000) = 0 +3802697103347427:3802697103348217 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 76 +3802697103349487:3802697103350137 1969:1973 hsa_queue_load_read_index_relaxed(0x7f5d952ec000) = 76 +3802697103351047:3802697103351658 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 76 +3802697103356148:3802697103357118 1969:1973 hsa_signal_store_screlease(, 76) = void +3802697103361028:3802697103627570 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c847fe000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697103629700:3802697103630400 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697103631220:3802697103631860 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 77 +3802697103632660:3802697103633300 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 76 +3802697103634170:3802697103634980 1969:1973 hsa_signal_store_screlease(, 77) = void +3802697103635930:3802697104656987 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697104658217:3802697104658737 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697104659597:3802697104661627 1969:1973 hsa_amd_memory_async_copy(0x7f5bee000010, , 0x7f5bf6200000, , , , 0, ) = 0 +3802697104662427:3802697105916397 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697105921447:3802697105925917 1969:1973 hsa_amd_profiling_get_dispatch_time(, , 0x7f5d951deb30) = 0 +3802697105932737:3802697105933607 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697105932417:3802697105997867 1969:1973 hsa_amd_memory_unlock(0x7f5c847fe000) = 0 +3802697113118640:3802697113119660 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697113168711:3802697113463423 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c84bff000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697113466213:3802697113467043 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697113468313:3802697113470403 1969:1973 hsa_amd_memory_async_copy(0x7f5bf6800000, , 0x7f5bee000010, , , , 0, ) = 0 +3802697113471343:3802697114820793 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697114828073:3802697114828773 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697114836933:3802697114837453 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697114839803:3802697114840323 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697114841803:3802697114842323 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697114855523:3802697114856133 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697114857543:3802697114858103 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697114869853:3802697114870463 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697114878943:3802697114879513 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697114830813:3802697114899383 1969:1973 hsa_amd_memory_unlock(0x7f5c84bff000) = 0 +3802697114906673:3802697114907443 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 78 +3802697114908613:3802697114909253 1969:1973 hsa_queue_load_read_index_relaxed(0x7f5d952ec000) = 78 +3802697114913624:3802697114914254 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 78 +3802697114915174:3802697114916104 1969:1973 hsa_signal_store_screlease(, 78) = void +3802697114919974:3802697115185556 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c847fe000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697115187676:3802697115188376 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697115189206:3802697115189846 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 79 +3802697115190646:3802697115191276 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 78 +3802697115192036:3802697115192846 1969:1973 hsa_signal_store_screlease(, 79) = void +3802697115193806:3802697116214073 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697116215273:3802697116215793 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697116216653:3802697116218673 1969:1973 hsa_amd_memory_async_copy(0x7f5bee000010, , 0x7f5bf6200000, , , , 0, ) = 0 +3802697116219473:3802697117472183 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697117477233:3802697117481623 1969:1973 hsa_amd_profiling_get_dispatch_time(, , 0x7f5d951deb30) = 0 +3802697117488163:3802697117489333 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697117487693:3802697117553173 1969:1973 hsa_amd_memory_unlock(0x7f5c847fe000) = 0 +3802697124672035:3802697124673055 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697124719956:3802697125014508 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c84bff000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697125017308:3802697125018208 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697125019478:3802697125021498 1969:1973 hsa_amd_memory_async_copy(0x7f5bf6800000, , 0x7f5bee000010, , , , 0, ) = 0 +3802697125022638:3802697126372708 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697126380008:3802697126380538 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697126396058:3802697126396588 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697126398398:3802697126398928 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697126401108:3802697126401818 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697126403628:3802697126404148 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697126405508:3802697126406028 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697126415038:3802697126415638 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697126418828:3802697126419398 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697126381478:3802697126450939 1969:1973 hsa_amd_memory_unlock(0x7f5c84bff000) = 0 +3802697126461229:3802697126462019 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 80 +3802697126462979:3802697126463619 1969:1973 hsa_queue_load_read_index_relaxed(0x7f5d952ec000) = 80 +3802697126464529:3802697126465129 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 80 +3802697126466019:3802697126466959 1969:1973 hsa_signal_store_screlease(, 80) = void +3802697126470589:3802697126755511 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c847fe000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697126757511:3802697126758211 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697126759031:3802697126759671 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 81 +3802697126760481:3802697126761121 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 80 +3802697126761871:3802697126762701 1969:1973 hsa_signal_store_screlease(, 81) = void +3802697126763631:3802697127784738 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697127787448:3802697127788278 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697127789378:3802697127791998 1969:1973 hsa_amd_memory_async_copy(0x7f5bee000010, , 0x7f5bf6200000, , , , 0, ) = 0 +3802697127792989:3802697129054168 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697129059508:3802697129063518 1969:1973 hsa_amd_profiling_get_dispatch_time(, , 0x7f5d951deb30) = 0 +3802697129072608:3802697129073398 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697129069788:3802697129135058 1969:1973 hsa_amd_memory_unlock(0x7f5c847fe000) = 0 +3802697136272812:3802697136273832 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697136308192:3802697136608484 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c84bff000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697136611294:3802697136612134 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697136613384:3802697136615514 1969:1973 hsa_amd_memory_async_copy(0x7f5bf6800000, , 0x7f5bee000010, , , , 0, ) = 0 +3802697136616464:3802697137969414 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697137976924:3802697137977634 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697137985474:3802697137985994 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697137988204:3802697137988724 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697137990184:3802697137990714 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697138000554:3802697138001074 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697138002704:3802697138003234 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697138011865:3802697138012465 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697138015515:3802697138016085 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697137978454:3802697138047435 1969:1973 hsa_amd_memory_unlock(0x7f5c84bff000) = 0 +3802697138054275:3802697138055035 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 82 +3802697138055995:3802697138056645 1969:1973 hsa_queue_load_read_index_relaxed(0x7f5d952ec000) = 82 +3802697138057555:3802697138058155 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 82 +3802697138059035:3802697138059965 1969:1973 hsa_signal_store_screlease(, 82) = void +3802697138063735:3802697138328127 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c847fe000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697138330107:3802697138330837 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697138331667:3802697138332307 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 83 +3802697138333127:3802697138333747 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 82 +3802697138334487:3802697138335277 1969:1973 hsa_signal_store_screlease(, 83) = void +3802697138336217:3802697139366035 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697139368745:3802697139369575 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697139370695:3802697139373295 1969:1973 hsa_amd_memory_async_copy(0x7f5bee000010, , 0x7f5bf6200000, , , , 0, ) = 0 +3802697139374285:3802697140617444 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697140620854:3802697140624914 1969:1973 hsa_amd_profiling_get_dispatch_time(, , 0x7f5d951deb30) = 0 +3802697140631714:3802697140632674 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697140631494:3802697140695934 1969:1973 hsa_amd_memory_unlock(0x7f5c847fe000) = 0 +3802697147817577:3802697147818667 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697147874058:3802697148175920 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c84bff000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697148178710:3802697148179540 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697148180730:3802697148182820 1969:1973 hsa_amd_memory_async_copy(0x7f5bf6800000, , 0x7f5bee000010, , , , 0, ) = 0 +3802697148183930:3802697149530990 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697149538860:3802697149539560 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697149555280:3802697149555810 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697149558120:3802697149558640 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697149560520:3802697149561040 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697149562820:3802697149563340 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697149564550:3802697149565080 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697149575950:3802697149576560 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697149579450:3802697149580060 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697149540500:3802697149609890 1969:1973 hsa_amd_memory_unlock(0x7f5c84bff000) = 0 +3802697149616841:3802697149617621 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 84 +3802697149618581:3802697149619221 1969:1973 hsa_queue_load_read_index_relaxed(0x7f5d952ec000) = 84 +3802697149620131:3802697149620731 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 84 +3802697149621611:3802697149622531 1969:1973 hsa_signal_store_screlease(, 84) = void +3802697149626091:3802697149892773 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c847fe000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697149894803:3802697149895543 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697149896373:3802697149897003 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 85 +3802697149897813:3802697149898443 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 84 +3802697149899183:3802697149900003 1969:1973 hsa_signal_store_screlease(, 85) = void +3802697149900933:3802697150935640 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697150938360:3802697150939190 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697150940310:3802697150942920 1969:1973 hsa_amd_memory_async_copy(0x7f5bee000010, , 0x7f5bf6200000, , , , 0, ) = 0 +3802697150943900:3802697152189839 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697152194369:3802697152198569 1969:1973 hsa_amd_profiling_get_dispatch_time(, , 0x7f5d951deb30) = 0 +3802697152207229:3802697152208019 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697152204609:3802697152270470 1969:1973 hsa_amd_memory_unlock(0x7f5c847fe000) = 0 +3802697159397353:3802697159398813 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697159446923:3802697159745395 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c84bff000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697159748125:3802697159748935 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697159750195:3802697159752395 1969:1973 hsa_amd_memory_async_copy(0x7f5bf6800000, , 0x7f5bee000010, , , , 0, ) = 0 +3802697159753365:3802697161099525 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697161107386:3802697161108086 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697161116706:3802697161117236 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697161119236:3802697161119756 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697161121226:3802697161121756 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697161123406:3802697161123936 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697161134056:3802697161134586 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697161146036:3802697161146646 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697161149446:3802697161150006 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697161109416:3802697161179646 1969:1973 hsa_amd_memory_unlock(0x7f5c84bff000) = 0 +3802697161186736:3802697161187516 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 86 +3802697161188446:3802697161189086 1969:1973 hsa_queue_load_read_index_relaxed(0x7f5d952ec000) = 86 +3802697161189986:3802697161190576 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 86 +3802697161191486:3802697161192416 1969:1973 hsa_signal_store_screlease(, 86) = void +3802697161196346:3802697161462338 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c847fe000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697161464488:3802697161465198 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697161466028:3802697161466668 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 87 +3802697161467488:3802697161468128 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 86 +3802697161468898:3802697161469688 1969:1973 hsa_signal_store_screlease(, 87) = void +3802697161470588:3802697162504586 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697162507316:3802697162508146 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697162509256:3802697162511866 1969:1973 hsa_amd_memory_async_copy(0x7f5bee000010, , 0x7f5bf6200000, , , , 0, ) = 0 +3802697162512866:3802697163763945 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697163768815:3802697163773185 1969:1973 hsa_amd_profiling_get_dispatch_time(, , 0x7f5d951deb30) = 0 +3802697163779815:3802697163781015 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697163779485:3802697163844546 1969:1973 hsa_amd_memory_unlock(0x7f5c847fe000) = 0 +3802697170962159:3802697170963189 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697171011489:3802697171304641 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c84bff000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697171307391:3802697171308231 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697171309471:3802697171311531 1969:1973 hsa_amd_memory_async_copy(0x7f5bf6800000, , 0x7f5bee000010, , , , 0, ) = 0 +3802697171312701:3802697172651371 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697172657461:3802697172658631 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697172674172:3802697172674692 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697172676562:3802697172677092 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697172684482:3802697172685012 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697172686412:3802697172686932 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697172688442:3802697172688972 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697172701872:3802697172702402 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697172705602:3802697172706132 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697172657731:3802697172719762 1969:1973 hsa_amd_memory_unlock(0x7f5c84bff000) = 0 +3802697172726322:3802697172727062 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 88 +3802697172727952:3802697172728572 1969:1973 hsa_queue_load_read_index_relaxed(0x7f5d952ec000) = 88 +3802697172729482:3802697172730082 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 88 +3802697172730962:3802697172731872 1969:1973 hsa_signal_store_screlease(, 88) = void +3802697172735042:3802697172996524 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c847fe000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697172998424:3802697172999094 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697172999904:3802697173000544 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 89 +3802697173001344:3802697173001984 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 88 +3802697173002744:3802697173003534 1969:1973 hsa_signal_store_screlease(, 89) = void +3802697173004454:3802697174040622 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697174043352:3802697174044172 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697174045292:3802697174047882 1969:1973 hsa_amd_memory_async_copy(0x7f5bee000010, , 0x7f5bf6200000, , , , 0, ) = 0 +3802697174048882:3802697175409712 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697175414582:3802697175418982 1969:1973 hsa_amd_profiling_get_dispatch_time(, , 0x7f5d951deb30) = 0 +3802697175429562:3802697175430442 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697175426032:3802697175492253 1969:1973 hsa_amd_memory_unlock(0x7f5c847fe000) = 0 +3802697182716155:3802697182717205 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697182767536:3802697183061878 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c84bff000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697183064668:3802697183065498 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697183066738:3802697183068808 1969:1973 hsa_amd_memory_async_copy(0x7f5bf6800000, , 0x7f5bee000010, , , , 0, ) = 0 +3802697183069758:3802697184410248 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697184417538:3802697184418238 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697184426608:3802697184427138 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697184437028:3802697184437718 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697184439518:3802697184440038 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697184441568:3802697184442088 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697184443748:3802697184444268 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697184455238:3802697184455848 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697184458938:3802697184459498 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697184418958:3802697184488649 1969:1973 hsa_amd_memory_unlock(0x7f5c84bff000) = 0 +3802697184495579:3802697184496339 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 90 +3802697184497219:3802697184497859 1969:1973 hsa_queue_load_read_index_relaxed(0x7f5d952ec000) = 90 +3802697184498759:3802697184499359 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 90 +3802697184500369:3802697184501319 1969:1973 hsa_signal_store_screlease(, 90) = void +3802697184505099:3802697184772251 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c847fe000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697184774301:3802697184775021 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697184775811:3802697184776451 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 91 +3802697184777241:3802697184777871 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 90 +3802697184779061:3802697184779851 1969:1973 hsa_signal_store_screlease(, 91) = void +3802697184780771:3802697185812568 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697185815318:3802697185816138 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697185817258:3802697185819869 1969:1973 hsa_amd_memory_async_copy(0x7f5bee000010, , 0x7f5bf6200000, , , , 0, ) = 0 +3802697185820859:3802697187072008 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697187076868:3802697187081358 1969:1973 hsa_amd_profiling_get_dispatch_time(, , 0x7f5d951deb30) = 0 +3802697187088028:3802697187088998 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697187087758:3802697187152918 1969:1973 hsa_amd_memory_unlock(0x7f5c847fe000) = 0 +3802697194272551:3802697194274011 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697194322022:3802697194620454 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c84bff000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697194623194:3802697194624104 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697194625344:3802697194627394 1969:1973 hsa_amd_memory_async_copy(0x7f5bf6800000, , 0x7f5bee000010, , , , 0, ) = 0 +3802697194628534:3802697195977634 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697195989014:3802697195989724 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697195997644:3802697195998174 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697196021734:3802697196022344 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697196023844:3802697196024414 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697196026254:3802697196026774 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697196028294:3802697196028814 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697196038755:3802697196039285 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697196042505:3802697196043035 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697195991144:3802697196070005 1969:1973 hsa_amd_memory_unlock(0x7f5c84bff000) = 0 +3802697196076635:3802697196077385 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 92 +3802697196078675:3802697196079375 1969:1973 hsa_queue_load_read_index_relaxed(0x7f5d952ec000) = 92 +3802697196080475:3802697196081075 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 92 +3802697196082015:3802697196082935 1969:1973 hsa_signal_store_screlease(, 92) = void +3802697196086475:3802697196354197 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c847fe000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697196356327:3802697196357027 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697196357847:3802697196358507 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 93 +3802697196359317:3802697196359947 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 92 +3802697196360717:3802697196361507 1969:1973 hsa_signal_store_screlease(, 93) = void +3802697196362447:3802697197390045 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697197392795:3802697197393625 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697197394745:3802697197397385 1969:1973 hsa_amd_memory_async_copy(0x7f5bee000010, , 0x7f5bf6200000, , , , 0, ) = 0 +3802697197398415:3802697198650594 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697198655434:3802697198659804 1969:1973 hsa_amd_profiling_get_dispatch_time(, , 0x7f5d951deb30) = 0 +3802697198668884:3802697198669664 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697198666274:3802697198731295 1969:1973 hsa_amd_memory_unlock(0x7f5c847fe000) = 0 +3802697205858637:3802697205859747 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697205909807:3802697206205449 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c84bff000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697206208229:3802697206209059 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697206213869:3802697206216009 1969:1973 hsa_amd_memory_async_copy(0x7f5bf6800000, , 0x7f5bee000010, , , , 0, ) = 0 +3802697206216909:3802697207565279 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697207572310:3802697207572840 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697207581490:3802697207582020 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697207584040:3802697207584570 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697207586100:3802697207586630 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697207588450:3802697207588980 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697207590340:3802697207590870 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697207608490:3802697207609100 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697207613480:3802697207614040 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697207575350:3802697207645140 1969:1973 hsa_amd_memory_unlock(0x7f5c84bff000) = 0 +3802697207652200:3802697207652990 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 94 +3802697207654250:3802697207654890 1969:1973 hsa_queue_load_read_index_relaxed(0x7f5d952ec000) = 94 +3802697207655830:3802697207656430 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 94 +3802697207657340:3802697207658250 1969:1973 hsa_signal_store_screlease(, 94) = void +3802697207662000:3802697207927632 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c847fe000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697207929642:3802697207930362 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697207931192:3802697207931832 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 95 +3802697207932652:3802697207933282 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 94 +3802697207934022:3802697207934812 1969:1973 hsa_signal_store_screlease(, 95) = void +3802697207935732:3802697208976390 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697208979100:3802697208979920 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697208981030:3802697208983690 1969:1973 hsa_amd_memory_async_copy(0x7f5bee000010, , 0x7f5bf6200000, , , , 0, ) = 0 +3802697208984710:3802697210236929 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697210241969:3802697210246399 1969:1973 hsa_amd_profiling_get_dispatch_time(, , 0x7f5d951deb30) = 0 +3802697210252609:3802697210253769 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697210252169:3802697210317910 1969:1973 hsa_amd_memory_unlock(0x7f5c847fe000) = 0 +3802697217434123:3802697217435223 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697217484803:3802697217786215 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c84bff000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697217792486:3802697217793306 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697217794286:3802697217796316 1969:1973 hsa_amd_memory_async_copy(0x7f5bf6800000, , 0x7f5bee000010, , , , 0, ) = 0 +3802697217797216:3802697219151236 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697219158516:3802697219159296 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697219167976:3802697219168506 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697219178616:3802697219179146 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697219181746:3802697219182266 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697219184256:3802697219184776 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697219186236:3802697219186756 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697219196166:3802697219196766 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697219199816:3802697219200376 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697219159806:3802697219231166 1969:1973 hsa_amd_memory_unlock(0x7f5c84bff000) = 0 +3802697219238026:3802697219238786 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 96 +3802697219240046:3802697219240686 1969:1973 hsa_queue_load_read_index_relaxed(0x7f5d952ec000) = 96 +3802697219241786:3802697219242386 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 96 +3802697219243526:3802697219244476 1969:1973 hsa_signal_store_screlease(, 96) = void +3802697219248426:3802697219514638 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c847fe000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697219516628:3802697219517338 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697219518168:3802697219518808 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 97 +3802697219519618:3802697219520258 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 96 +3802697219521008:3802697219521818 1969:1973 hsa_signal_store_screlease(, 97) = void +3802697219522728:3802697220541416 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697220542736:3802697220543276 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697220544136:3802697220546186 1969:1973 hsa_amd_memory_async_copy(0x7f5bee000010, , 0x7f5bf6200000, , , , 0, ) = 0 +3802697220546986:3802697221799515 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697221804605:3802697221809235 1969:1973 hsa_amd_profiling_get_dispatch_time(, , 0x7f5d951deb30) = 0 +3802697221816535:3802697221817675 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697221815745:3802697221882876 1969:1973 hsa_amd_memory_unlock(0x7f5c847fe000) = 0 +3802697229003319:3802697229004809 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697229054119:3802697229349801 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c84bff000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697229352761:3802697229353571 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697229354791:3802697229356891 1969:1973 hsa_amd_memory_async_copy(0x7f5bf6800000, , 0x7f5bee000010, , , , 0, ) = 0 +3802697229357821:3802697230706571 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697230721531:3802697230722231 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697230729821:3802697230730351 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697230732321:3802697230733671 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697230735711:3802697230736241 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697230737841:3802697230738361 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697230739721:3802697230740251 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697230750511:3802697230751121 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697230754471:3802697230755031 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697230716101:3802697230785482 1969:1973 hsa_amd_memory_unlock(0x7f5c84bff000) = 0 +3802697230792522:3802697230793272 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 98 +3802697230794562:3802697230795212 1969:1973 hsa_queue_load_read_index_relaxed(0x7f5d952ec000) = 98 +3802697230796152:3802697230796762 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 98 +3802697230797652:3802697230798592 1969:1973 hsa_signal_store_screlease(, 98) = void +3802697230802302:3802697231065904 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c847fe000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697231067974:3802697231068684 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697231069514:3802697231070154 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 99 +3802697231070974:3802697231071604 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 98 +3802697231072354:3802697231073144 1969:1973 hsa_signal_store_screlease(, 99) = void +3802697231074084:3802697232108461 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697232110841:3802697232111621 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697232112581:3802697232114901 1969:1973 hsa_amd_memory_async_copy(0x7f5bee000010, , 0x7f5bf6200000, , , , 0, ) = 0 +3802697232115761:3802697233368431 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697233373551:3802697233378041 1969:1973 hsa_amd_profiling_get_dispatch_time(, , 0x7f5d951deb30) = 0 +3802697233385421:3802697233386701 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697233384531:3802697233451711 1969:1973 hsa_amd_memory_unlock(0x7f5c847fe000) = 0 +3802697240590874:3802697240592334 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697240626035:3802697240925907 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c84bff000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697240928627:3802697240929477 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697240930737:3802697240932817 1969:1973 hsa_amd_memory_async_copy(0x7f5bf6800000, , 0x7f5bee000010, , , , 0, ) = 0 +3802697240933957:3802697242283297 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697242290507:3802697242291207 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697242299197:3802697242299727 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697242309497:3802697242310197 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697242312257:3802697242312777 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697242314657:3802697242315257 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697242316627:3802697242317187 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697242326097:3802697242326697 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697242329817:3802697242330387 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697242292347:3802697242363458 1969:1973 hsa_amd_memory_unlock(0x7f5c84bff000) = 0 +3802697242370018:3802697242370788 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 100 +3802697242371978:3802697242372628 1969:1973 hsa_queue_load_read_index_relaxed(0x7f5d952ec000) = 100 +3802697242373738:3802697242374338 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 100 +3802697242375458:3802697242376408 1969:1973 hsa_signal_store_screlease(, 100) = void +3802697242380028:3802697242644610 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c847fe000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697242646910:3802697242647620 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697242648440:3802697242649100 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 101 +3802697242649920:3802697242650550 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 100 +3802697242651300:3802697242652090 1969:1973 hsa_signal_store_screlease(, 101) = void +3802697242653010:3802697243686677 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697243689387:3802697243690217 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697243691337:3802697243693947 1969:1973 hsa_amd_memory_async_copy(0x7f5bee000010, , 0x7f5bf6200000, , , , 0, ) = 0 +3802697243694937:3802697244951057 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697244960207:3802697244964547 1969:1973 hsa_amd_profiling_get_dispatch_time(, , 0x7f5d951deb30) = 0 +3802697244970567:3802697244971527 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697244970347:3802697245036087 1969:1973 hsa_amd_memory_unlock(0x7f5c847fe000) = 0 +3802697252180451:3802697252181281 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697252215321:3802697252509013 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c84bff000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697252511803:3802697252512623 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697252513853:3802697252515903 1969:1973 hsa_amd_memory_async_copy(0x7f5bf6800000, , 0x7f5bee000010, , , , 0, ) = 0 +3802697252516833:3802697253863093 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697253880723:3802697253881443 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697253891783:3802697253892313 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697253894383:3802697253894903 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697253896383:3802697253896903 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697253898563:3802697253899163 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697253900713:3802697253901273 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697253910293:3802697253910903 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697253915313:3802697253920093 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697253872593:3802697253940844 1969:1973 hsa_amd_memory_unlock(0x7f5c84bff000) = 0 +3802697253947704:3802697253948474 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 102 +3802697253949664:3802697253950304 1969:1973 hsa_queue_load_read_index_relaxed(0x7f5d952ec000) = 102 +3802697253951194:3802697253951794 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 102 +3802697253952704:3802697253953634 1969:1973 hsa_signal_store_screlease(, 102) = void +3802697253957324:3802697254221136 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c847fe000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697254223186:3802697254223896 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697254224686:3802697254225336 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 103 +3802697254226126:3802697254226766 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 102 +3802697254227506:3802697254228296 1969:1973 hsa_signal_store_screlease(, 103) = void +3802697254229246:3802697255261383 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697255264103:3802697255264933 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697255266043:3802697255268653 1969:1973 hsa_amd_memory_async_copy(0x7f5bee000010, , 0x7f5bf6200000, , , , 0, ) = 0 +3802697255274094:3802697256513603 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697256517093:3802697256521133 1969:1973 hsa_amd_profiling_get_dispatch_time(, , 0x7f5d951deb30) = 0 +3802697256527203:3802697256528083 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697256526753:3802697256592313 1969:1973 hsa_amd_memory_unlock(0x7f5c847fe000) = 0 +3802697263711495:3802697263712896 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697263761056:3802697264057008 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c84bff000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697264059768:3802697264060578 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697264061838:3802697264063948 1969:1973 hsa_amd_memory_async_copy(0x7f5bf6800000, , 0x7f5bee000010, , , , 0, ) = 0 +3802697264065128:3802697265412778 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697265420408:3802697265421198 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697265429778:3802697265430298 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697265439278:3802697265439978 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697265442288:3802697265442808 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697265444588:3802697265445108 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697265446388:3802697265446908 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697265456528:3802697265457128 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697265460008:3802697265460579 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697265421808:3802697265491629 1969:1973 hsa_amd_memory_unlock(0x7f5c84bff000) = 0 +3802697265498389:3802697265499159 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 104 +3802697265500419:3802697265501059 1969:1973 hsa_queue_load_read_index_relaxed(0x7f5d952ec000) = 104 +3802697265502139:3802697265502739 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 104 +3802697265503629:3802697265504559 1969:1973 hsa_signal_store_screlease(, 104) = void +3802697265508159:3802697265778991 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c847fe000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697265781111:3802697265781821 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697265782651:3802697265783281 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 105 +3802697265784081:3802697265784721 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 104 +3802697265785461:3802697265786261 1969:1973 hsa_signal_store_screlease(, 105) = void +3802697265787191:3802697266819939 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697266826649:3802697266827489 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697266828619:3802697266831359 1969:1973 hsa_amd_memory_async_copy(0x7f5bee000010, , 0x7f5bf6200000, , , , 0, ) = 0 +3802697266832429:3802697268078318 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697268082828:3802697268086908 1969:1973 hsa_amd_profiling_get_dispatch_time(, , 0x7f5d951deb30) = 0 +3802697268094018:3802697268095208 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697268094158:3802697268160929 1969:1973 hsa_amd_memory_unlock(0x7f5c847fe000) = 0 +3802697275277682:3802697275278732 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697275328332:3802697275627464 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c84bff000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697275630204:3802697275631044 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697275632314:3802697275634384 1969:1973 hsa_amd_memory_async_copy(0x7f5bf6800000, , 0x7f5bee000010, , , , 0, ) = 0 +3802697275635334:3802697276985864 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697277001494:3802697277002214 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697277009704:3802697277010234 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697277012074:3802697277012814 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697277014764:3802697277015464 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697277017044:3802697277017564 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697277018924:3802697277019444 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697277030775:3802697277031385 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697277035445:3802697277036005 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697276995244:3802697277065515 1969:1973 hsa_amd_memory_unlock(0x7f5c84bff000) = 0 +3802697277072865:3802697277073625 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 106 +3802697277074915:3802697277075555 1969:1973 hsa_queue_load_read_index_relaxed(0x7f5d952ec000) = 106 +3802697277076465:3802697277077065 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 106 +3802697277077955:3802697277078905 1969:1973 hsa_signal_store_screlease(, 106) = void +3802697277082635:3802697277346837 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c847fe000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697277348887:3802697277349587 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697277350417:3802697277351057 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 107 +3802697277351857:3802697277352497 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 106 +3802697277353237:3802697277354027 1969:1973 hsa_signal_store_screlease(, 107) = void +3802697277358317:3802697278391375 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697278394065:3802697278394895 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697278396015:3802697278398635 1969:1973 hsa_amd_memory_async_copy(0x7f5bee000010, , 0x7f5bf6200000, , , , 0, ) = 0 +3802697278399625:3802697279650334 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697279655214:3802697279659564 1969:1973 hsa_amd_profiling_get_dispatch_time(, , 0x7f5d951deb30) = 0 +3802697279666464:3802697279667624 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697279666084:3802697279730725 1969:1973 hsa_amd_memory_unlock(0x7f5c847fe000) = 0 +3802697287061638:3802697287062928 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697287113879:3802697287407041 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c84bff000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697287409761:3802697287410641 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697287411851:3802697287413901 1969:1973 hsa_amd_memory_async_copy(0x7f5bf6800000, , 0x7f5bee000010, , , , 0, ) = 0 +3802697287415001:3802697288763231 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697288770961:3802697288771671 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697288779791:3802697288780391 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697288791321:3802697288792171 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697288794221:3802697288794781 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697288796761:3802697288797361 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697288798721:3802697288799281 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697288808721:3802697288809321 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697288812151:3802697288812711 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697288772441:3802697288842552 1969:1973 hsa_amd_memory_unlock(0x7f5c84bff000) = 0 +3802697288849222:3802697288850012 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 108 +3802697288851092:3802697288851732 1969:1973 hsa_queue_load_read_index_relaxed(0x7f5d952ec000) = 108 +3802697288852632:3802697288853232 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 108 +3802697288854142:3802697288855112 1969:1973 hsa_signal_store_screlease(, 108) = void +3802697288858732:3802697289124844 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c847fe000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697289126944:3802697289127654 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697289128484:3802697289129124 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 109 +3802697289133154:3802697289133814 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 108 +3802697289134594:3802697289135374 1969:1973 hsa_signal_store_screlease(, 109) = void +3802697289136314:3802697290158181 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697290160921:3802697290161741 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697290162861:3802697290165481 1969:1973 hsa_amd_memory_async_copy(0x7f5bee000010, , 0x7f5bf6200000, , , , 0, ) = 0 +3802697290166551:3802697291417411 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697291422291:3802697291426671 1969:1973 hsa_amd_profiling_get_dispatch_time(, , 0x7f5d951deb30) = 0 +3802697291433441:3802697291434401 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697291433221:3802697291498891 1969:1973 hsa_amd_memory_unlock(0x7f5c847fe000) = 0 +3802697298626614:3802697298627694 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697298676425:3802697298969127 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c84bff000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697298971907:3802697298972757 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697298973997:3802697298976107 1969:1973 hsa_amd_memory_async_copy(0x7f5bf6800000, , 0x7f5bee000010, , , , 0, ) = 0 +3802697298977057:3802697300317397 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697300331887:3802697300332607 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697300339977:3802697300340507 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697300342847:3802697300343377 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697300344927:3802697300345817 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697300347727:3802697300348247 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697300349397:3802697300349917 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697300359927:3802697300360537 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697300366187:3802697300366747 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697300327057:3802697300395918 1969:1973 hsa_amd_memory_unlock(0x7f5c84bff000) = 0 +3802697300402788:3802697300403558 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 110 +3802697300404768:3802697300405418 1969:1973 hsa_queue_load_read_index_relaxed(0x7f5d952ec000) = 110 +3802697300406318:3802697300406918 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 110 +3802697300408028:3802697300408968 1969:1973 hsa_signal_store_screlease(, 110) = void +3802697300412958:3802697300678210 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c847fe000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697300683770:3802697300684490 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697300685310:3802697300685960 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 111 +3802697300686770:3802697300687390 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 110 +3802697300688150:3802697300688940 1969:1973 hsa_signal_store_screlease(, 111) = void +3802697300689860:3802697301720017 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697301722747:3802697301723567 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697301724687:3802697301727447 1969:1973 hsa_amd_memory_async_copy(0x7f5bee000010, , 0x7f5bf6200000, , , , 0, ) = 0 +3802697301728447:3802697302979367 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697302984207:3802697302988597 1969:1973 hsa_amd_profiling_get_dispatch_time(, , 0x7f5d951deb30) = 0 +3802697302995057:3802697302995977 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697302994757:3802697303060597 1969:1973 hsa_amd_memory_unlock(0x7f5c847fe000) = 0 +3802697310184950:3802697310186030 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697310233620:3802697310528192 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c84bff000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697310530912:3802697310531762 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697310533002:3802697310535042 1969:1973 hsa_amd_memory_async_copy(0x7f5bf6800000, , 0x7f5bee000010, , , , 0, ) = 0 +3802697310536202:3802697311884292 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697311891952:3802697311892662 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697311900962:3802697311901482 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697311903332:3802697311903852 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697311905392:3802697311905912 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697311914952:3802697311915552 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697311917072:3802697311917642 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697311926683:3802697311927293 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697311930343:3802697311930903 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697311893142:3802697311962913 1969:1973 hsa_amd_memory_unlock(0x7f5c84bff000) = 0 +3802697311969703:3802697311970483 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 112 +3802697311971753:3802697311972403 1969:1973 hsa_queue_load_read_index_relaxed(0x7f5d952ec000) = 112 +3802697311973493:3802697311974103 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 112 +3802697311975003:3802697311975943 1969:1973 hsa_signal_store_screlease(, 112) = void +3802697311982973:3802697312262775 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c847fe000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697312264915:3802697312265615 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697312266405:3802697312267055 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 113 +3802697312267885:3802697312268525 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 112 +3802697312269295:3802697312270105 1969:1973 hsa_signal_store_screlease(, 113) = void +3802697312270995:3802697313282193 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697313284873:3802697313285703 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697313286803:3802697313289403 1969:1973 hsa_amd_memory_async_copy(0x7f5bee000010, , 0x7f5bf6200000, , , , 0, ) = 0 +3802697313290393:3802697314542542 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697314547592:3802697314552002 1969:1973 hsa_amd_profiling_get_dispatch_time(, , 0x7f5d951deb30) = 0 +3802697314559172:3802697314560342 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697314558772:3802697314623263 1969:1973 hsa_amd_memory_unlock(0x7f5c847fe000) = 0 +3802697321748076:3802697321749126 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697321804236:3802697322099298 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c84bff000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697322102108:3802697322102888 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697322104158:3802697322106248 1969:1973 hsa_amd_memory_async_copy(0x7f5bf6800000, , 0x7f5bee000010, , , , 0, ) = 0 +3802697322107198:3802697323454218 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697323469728:3802697323470428 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697323477468:3802697323477998 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697323480388:3802697323480908 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697323482608:3802697323483348 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697323485389:3802697323485909 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697323487289:3802697323487809 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697323496909:3802697323497509 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697323501729:3802697323502299 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697323463538:3802697323534459 1969:1973 hsa_amd_memory_unlock(0x7f5c84bff000) = 0 +3802697323541259:3802697323542029 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 114 +3802697323543299:3802697323543939 1969:1973 hsa_queue_load_read_index_relaxed(0x7f5d952ec000) = 114 +3802697323548359:3802697323548979 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 114 +3802697323549909:3802697323550849 1969:1973 hsa_signal_store_screlease(, 114) = void +3802697323554689:3802697323821921 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c847fe000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697323823981:3802697323824691 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697323825511:3802697323826151 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 115 +3802697323826951:3802697323827591 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 114 +3802697323828341:3802697323829171 1969:1973 hsa_signal_store_screlease(, 115) = void +3802697323830111:3802697324860899 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697324863599:3802697324864429 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697324865549:3802697324868159 1969:1973 hsa_amd_memory_async_copy(0x7f5bee000010, , 0x7f5bf6200000, , , , 0, ) = 0 +3802697324869149:3802697326121388 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697326126478:3802697326131048 1969:1973 hsa_amd_profiling_get_dispatch_time(, , 0x7f5d951deb30) = 0 +3802697326138388:3802697326139558 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697326138028:3802697326204779 1969:1973 hsa_amd_memory_unlock(0x7f5c847fe000) = 0 +3802697333340452:3802697333341672 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697333390152:3802697333917916 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c84bff000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697333920686:3802697333921506 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697333922766:3802697333924776 1969:1973 hsa_amd_memory_async_copy(0x7f5bf6800000, , 0x7f5bee000010, , , , 0, ) = 0 +3802697333925936:3802697335276056 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697335283286:3802697335283816 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697335291966:3802697335292496 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697335294496:3802697335295016 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697335296756:3802697335297286 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697335309746:3802697335310276 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697335311916:3802697335312436 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697335321037:3802697335321637 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697335324757:3802697335325327 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697335284796:3802697335353667 1969:1973 hsa_amd_memory_unlock(0x7f5c84bff000) = 0 +3802697335360707:3802697335361457 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 116 +3802697335365947:3802697335366607 1969:1973 hsa_queue_load_read_index_relaxed(0x7f5d952ec000) = 116 +3802697335367507:3802697335368107 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 116 +3802697335369017:3802697335369987 1969:1973 hsa_signal_store_screlease(, 116) = void +3802697335373657:3802697335638509 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c847fe000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697335640579:3802697335641289 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697335642109:3802697335642759 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 117 +3802697335643569:3802697335644199 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 116 +3802697335644979:3802697335645779 1969:1973 hsa_signal_store_screlease(, 117) = void +3802697335646699:3802697336655936 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697336657266:3802697336657826 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697336658706:3802697336660716 1969:1973 hsa_amd_memory_async_copy(0x7f5bee000010, , 0x7f5bf6200000, , , , 0, ) = 0 +3802697336661536:3802697337914725 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697337919775:3802697337924186 1969:1973 hsa_amd_profiling_get_dispatch_time(, , 0x7f5d951deb30) = 0 +3802697337931426:3802697337932176 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697337930916:3802697337994766 1969:1973 hsa_amd_memory_unlock(0x7f5c847fe000) = 0 +3802697345129879:3802697345130929 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697345181919:3802697345478211 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c84bff000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697345480961:3802697345481771 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697345483011:3802697345485081 1969:1973 hsa_amd_memory_async_copy(0x7f5bf6800000, , 0x7f5bee000010, , , , 0, ) = 0 +3802697345486021:3802697346837891 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697346844881:3802697346845411 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697346861082:3802697346861612 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697346863522:3802697346864042 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697346865972:3802697346867082 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697346868832:3802697346869352 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697346870752:3802697346871282 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697346880282:3802697346880892 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697346885272:3802697346885842 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697346847641:3802697346916112 1969:1973 hsa_amd_memory_unlock(0x7f5c84bff000) = 0 +3802697346922922:3802697346923682 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 118 +3802697346924652:3802697346925302 1969:1973 hsa_queue_load_read_index_relaxed(0x7f5d952ec000) = 118 +3802697346926202:3802697346926812 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 118 +3802697346927692:3802697346928622 1969:1973 hsa_signal_store_screlease(, 118) = void +3802697346932342:3802697347195064 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c847fe000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697347197204:3802697347197904 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697347198734:3802697347199354 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 119 +3802697347200174:3802697347200804 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 118 +3802697347201554:3802697347202344 1969:1973 hsa_signal_store_screlease(, 119) = void +3802697347203284:3802697348219162 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697348220502:3802697348221032 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697348221892:3802697348223962 1969:1973 hsa_amd_memory_async_copy(0x7f5bee000010, , 0x7f5bf6200000, , , , 0, ) = 0 +3802697348224802:3802697349477681 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697349482751:3802697349487211 1969:1973 hsa_amd_profiling_get_dispatch_time(, , 0x7f5d951deb30) = 0 +3802697349494001:3802697349495221 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697349493231:3802697349558072 1969:1973 hsa_amd_memory_unlock(0x7f5c847fe000) = 0 +3802697356688715:3802697356689865 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697356738145:3802697357033797 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c84bff000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697357036517:3802697357037337 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697357038557:3802697357040637 1969:1973 hsa_amd_memory_async_copy(0x7f5bf6800000, , 0x7f5bee000010, , , , 0, ) = 0 +3802697357041757:3802697358390577 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697358398107:3802697358398807 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697358406287:3802697358406817 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697358408777:3802697358409297 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697358410957:3802697358411487 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697358421838:3802697358422368 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697358424148:3802697358424668 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697358433928:3802697358434538 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697358439118:3802697358439678 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697358399597:3802697358469128 1969:1973 hsa_amd_memory_unlock(0x7f5c84bff000) = 0 +3802697358475978:3802697358476738 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 120 +3802697358477718:3802697358478358 1969:1973 hsa_queue_load_read_index_relaxed(0x7f5d952ec000) = 120 +3802697358479268:3802697358479868 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 120 +3802697358480778:3802697358481718 1969:1973 hsa_signal_store_screlease(, 120) = void +3802697358485318:3802697358752300 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c847fe000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697358754390:3802697358755080 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697358755900:3802697358756520 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 121 +3802697358757340:3802697358757980 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 120 +3802697358758720:3802697358759510 1969:1973 hsa_signal_store_screlease(, 121) = void +3802697358760460:3802697359795338 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697359798028:3802697359798928 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697359800028:3802697359802668 1969:1973 hsa_amd_memory_async_copy(0x7f5bee000010, , 0x7f5bf6200000, , , , 0, ) = 0 +3802697359803648:3802697361058497 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697361063537:3802697361067957 1969:1973 hsa_amd_profiling_get_dispatch_time(, , 0x7f5d951deb30) = 0 +3802697361075527:3802697361076717 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697361074897:3802697361140888 1969:1973 hsa_amd_memory_unlock(0x7f5c847fe000) = 0 +3802697368269330:3802697368270230 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697368302650:3802697368602102 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c84bff000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697368604883:3802697368605703 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697368606953:3802697368609023 1969:1973 hsa_amd_memory_async_copy(0x7f5bf6800000, , 0x7f5bee000010, , , , 0, ) = 0 +3802697368609973:3802697369958553 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697369965893:3802697369966593 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697369982233:3802697369982763 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697369985063:3802697369985793 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697369987793:3802697369988493 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697369990163:3802697369990683 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697369993973:3802697369994503 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697370003353:3802697370003883 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697370006713:3802697370007243 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697369968083:3802697370038473 1969:1973 hsa_amd_memory_unlock(0x7f5c84bff000) = 0 +3802697370045493:3802697370046283 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 122 +3802697370047233:3802697370047883 1969:1973 hsa_queue_load_read_index_relaxed(0x7f5d952ec000) = 122 +3802697370048783:3802697370049383 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 122 +3802697370050313:3802697370051233 1969:1973 hsa_signal_store_screlease(, 122) = void +3802697370054893:3802697370319745 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c847fe000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697370321885:3802697370322585 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697370323415:3802697370324055 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 123 +3802697370324875:3802697370325505 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 122 +3802697370326265:3802697370327055 1969:1973 hsa_signal_store_screlease(, 123) = void +3802697370328025:3802697371364923 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697371367633:3802697371368463 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697371369563:3802697371372183 1969:1973 hsa_amd_memory_async_copy(0x7f5bee000010, , 0x7f5bf6200000, , , , 0, ) = 0 +3802697371373173:3802697372617222 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697372620782:3802697372625002 1969:1973 hsa_amd_profiling_get_dispatch_time(, , 0x7f5d951deb30) = 0 +3802697372633832:3802697372634622 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697372630772:3802697372696593 1969:1973 hsa_amd_memory_unlock(0x7f5c847fe000) = 0 +3802697379811546:3802697379812536 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697379861676:3802697380166339 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c84bff000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697380169139:3802697380169959 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697380171169:3802697380173209 1969:1973 hsa_amd_memory_async_copy(0x7f5bf6800000, , 0x7f5bee000010, , , , 0, ) = 0 +3802697380174329:3802697381526609 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697381534389:3802697381535709 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697381543219:3802697381543749 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697381545869:3802697381546399 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697381547889:3802697381548409 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697381559879:3802697381560409 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697381561909:3802697381562429 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697381571099:3802697381571699 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697381576219:3802697381576739 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697381535509:3802697381613499 1969:1973 hsa_amd_memory_unlock(0x7f5c84bff000) = 0 +3802697381620439:3802697381621209 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 124 +3802697381622169:3802697381622809 1969:1973 hsa_queue_load_read_index_relaxed(0x7f5d952ec000) = 124 +3802697381623709:3802697381624309 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 124 +3802697381625239:3802697381626169 1969:1973 hsa_signal_store_screlease(, 124) = void +3802697381629889:3802697381898141 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c847fe000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697381900221:3802697381900911 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697381901741:3802697381902401 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 125 +3802697381903191:3802697381903821 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 124 +3802697381904691:3802697381905481 1969:1973 hsa_signal_store_screlease(, 125) = void +3802697381906431:3802697382955929 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697382958649:3802697382959479 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697382960609:3802697382963229 1969:1973 hsa_amd_memory_async_copy(0x7f5bee000010, , 0x7f5bf6200000, , , , 0, ) = 0 +3802697382964219:3802697384210559 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697384215119:3802697384219389 1969:1973 hsa_amd_profiling_get_dispatch_time(, , 0x7f5d951deb30) = 0 +3802697384226249:3802697384227429 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697384225689:3802697384290799 1969:1973 hsa_amd_memory_unlock(0x7f5c847fe000) = 0 +3802697391588663:3802697391589913 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697391647684:3802697391944596 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c84bff000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697391947366:3802697391948186 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697391949446:3802697391951536 1969:1973 hsa_amd_memory_async_copy(0x7f5bf6800000, , 0x7f5bee000010, , , , 0, ) = 0 +3802697391952476:3802697393302916 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697393310896:3802697393311596 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697393328746:3802697393329266 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697393337556:3802697393338076 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697393339296:3802697393339826 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697393341326:3802697393341926 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697393343546:3802697393344106 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697393355466:3802697393356076 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697393364036:3802697393364606 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697393313756:3802697393382987 1969:1973 hsa_amd_memory_unlock(0x7f5c84bff000) = 0 +3802697393390097:3802697393390847 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 126 +3802697393391827:3802697393392457 1969:1973 hsa_queue_load_read_index_relaxed(0x7f5d952ec000) = 126 +3802697393393377:3802697393393977 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 126 +3802697393394897:3802697393395817 1969:1973 hsa_signal_store_screlease(, 126) = void +3802697393399547:3802697393664379 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c847fe000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697393666469:3802697393667179 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697393667999:3802697393668649 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 127 +3802697393669449:3802697393670079 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 126 +3802697393670949:3802697393671729 1969:1973 hsa_signal_store_screlease(, 127) = void +3802697393672649:3802697394711636 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697394714346:3802697394715176 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697394716286:3802697394718896 1969:1973 hsa_amd_memory_async_copy(0x7f5bee000010, , 0x7f5bf6200000, , , , 0, ) = 0 +3802697394719886:3802697395971395 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697395976295:3802697395980815 1969:1973 hsa_amd_profiling_get_dispatch_time(, , 0x7f5d951deb30) = 0 +3802697395989745:3802697395990535 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697395987095:3802697396059796 1969:1973 hsa_amd_memory_unlock(0x7f5c847fe000) = 0 +3802697403165639:3802697403166749 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697403217439:3802697403510841 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c84bff000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697403513591:3802697403514421 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697403515671:3802697403517741 1969:1973 hsa_amd_memory_async_copy(0x7f5bf6800000, , 0x7f5bee000010, , , , 0, ) = 0 +3802697403518871:3802697404867111 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697404879092:3802697404879802 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697404887272:3802697404887792 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697404889512:3802697404890042 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697404891212:3802697404891742 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697404893202:3802697404893722 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697404895232:3802697404895752 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697404914042:3802697404914562 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697404917662:3802697404918192 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697404880512:3802697404949582 1969:1973 hsa_amd_memory_unlock(0x7f5c84bff000) = 0 +3802697404956222:3802697404956982 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 128 +3802697404958282:3802697404958922 1969:1973 hsa_queue_load_read_index_relaxed(0x7f5d952ec000) = 128 +3802697404960022:3802697404960622 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 128 +3802697404961522:3802697404962432 1969:1973 hsa_signal_store_screlease(, 128) = void +3802697404966022:3802697405233194 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c847fe000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697405235204:3802697405235914 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697405236734:3802697405237374 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 129 +3802697405238174:3802697405238804 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 128 +3802697405239574:3802697405240364 1969:1973 hsa_signal_store_screlease(, 129) = void +3802697405241294:3802697406279902 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697406282652:3802697406283472 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697406284592:3802697406287182 1969:1973 hsa_amd_memory_async_copy(0x7f5bee000010, , 0x7f5bf6200000, , , , 0, ) = 0 +3802697406288172:3802697407539471 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697407544351:3802697407548731 1969:1973 hsa_amd_profiling_get_dispatch_time(, , 0x7f5d951deb30) = 0 +3802697407556061:3802697407557221 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697407555601:3802697407620912 1969:1973 hsa_amd_memory_unlock(0x7f5c847fe000) = 0 +3802697414747025:3802697414748175 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697414799465:3802697415091607 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c84bff000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697415094408:3802697415095248 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697415096468:3802697415098538 1969:1973 hsa_amd_memory_async_copy(0x7f5bf6800000, , 0x7f5bee000010, , , , 0, ) = 0 +3802697415102738:3802697416439168 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697416446368:3802697416447068 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697416462258:3802697416462788 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697416464998:3802697416465778 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697416467608:3802697416468138 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697416469858:3802697416470378 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697416472128:3802697416472658 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697416482128:3802697416482738 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697416485578:3802697416486138 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697416447728:3802697416516638 1969:1973 hsa_amd_memory_unlock(0x7f5c84bff000) = 0 +3802697416523618:3802697416524368 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 130 +3802697416525558:3802697416526188 1969:1973 hsa_queue_load_read_index_relaxed(0x7f5d952ec000) = 130 +3802697416527098:3802697416527688 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 130 +3802697416528598:3802697416529518 1969:1973 hsa_signal_store_screlease(, 130) = void +3802697416533278:3802697416800280 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c847fe000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697416802390:3802697416803090 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697416803930:3802697416804570 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 131 +3802697416805360:3802697416806000 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 130 +3802697416806740:3802697416807530 1969:1973 hsa_signal_store_screlease(, 131) = void +3802697416808460:3802697417849948 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697417852668:3802697417853488 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697417854598:3802697417857218 1969:1973 hsa_amd_memory_async_copy(0x7f5bee000010, , 0x7f5bf6200000, , , , 0, ) = 0 +3802697417858208:3802697419108997 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697419113837:3802697419118327 1969:1973 hsa_amd_profiling_get_dispatch_time(, , 0x7f5d951deb30) = 0 +3802697419128078:3802697419128868 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697419125197:3802697419190748 1969:1973 hsa_amd_memory_unlock(0x7f5c847fe000) = 0 +3802697426314570:3802697426315770 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697426365011:3802697426677253 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c84bff000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697426683463:3802697426684303 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697426685273:3802697426687343 1969:1973 hsa_amd_memory_async_copy(0x7f5bf6800000, , 0x7f5bee000010, , , , 0, ) = 0 +3802697426688213:3802697428173694 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697428180614:3802697428181324 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697428189514:3802697428190044 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697428191904:3802697428192424 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697428194174:3802697428194694 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697428196474:3802697428196994 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697428198324:3802697428199204 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697428215914:3802697428216444 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697428219474:3802697428219994 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697428182074:3802697428243615 1969:1973 hsa_amd_memory_unlock(0x7f5c84bff000) = 0 +3802697428250135:3802697428250885 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 132 +3802697428252145:3802697428252785 1969:1973 hsa_queue_load_read_index_relaxed(0x7f5d952ec000) = 132 +3802697428253875:3802697428254475 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 132 +3802697428255355:3802697428256295 1969:1973 hsa_signal_store_screlease(, 132) = void +3802697428260225:3802697428525067 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c847fe000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697428526967:3802697428527727 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697428528527:3802697428529167 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 133 +3802697428529947:3802697428530557 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 132 +3802697428531307:3802697428532117 1969:1973 hsa_signal_store_screlease(, 133) = void +3802697428533037:3802697429567894 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697429570594:3802697429571424 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697429572544:3802697429575154 1969:1973 hsa_amd_memory_async_copy(0x7f5bee000010, , 0x7f5bf6200000, , , , 0, ) = 0 +3802697429576134:3802697430829684 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697430834534:3802697430839024 1969:1973 hsa_amd_profiling_get_dispatch_time(, , 0x7f5d951deb30) = 0 +3802697430845704:3802697430846914 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697430845854:3802697430902854 1969:1973 hsa_amd_memory_unlock(0x7f5c847fe000) = 0 +3802697438070848:3802697438071938 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697438135038:3802697438441140 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c84bff000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697438444020:3802697438444900 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697438445860:3802697438447960 1969:1973 hsa_amd_memory_async_copy(0x7f5bf6800000, , 0x7f5bee000010, , , , 0, ) = 0 +3802697438448860:3802697439800860 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697439807971:3802697439808671 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697439816881:3802697439817401 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697439821981:3802697439822511 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697439823841:3802697439824361 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697439826041:3802697439826651 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697439828651:3802697439829221 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697439838671:3802697439839281 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697439842351:3802697439842921 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697439810241:3802697439871451 1969:1973 hsa_amd_memory_unlock(0x7f5c84bff000) = 0 +3802697439878051:3802697439878801 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 134 +3802697439879731:3802697439880371 1969:1973 hsa_queue_load_read_index_relaxed(0x7f5d952ec000) = 134 +3802697439881261:3802697439881861 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 134 +3802697439882741:3802697439883821 1969:1973 hsa_signal_store_screlease(, 134) = void +3802697439887561:3802697440160593 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c847fe000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697440162603:3802697440163293 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697440164083:3802697440164713 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 135 +3802697440165503:3802697440166133 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 134 +3802697440166883:3802697440167683 1969:1973 hsa_signal_store_screlease(, 135) = void +3802697440168613:3802697441194711 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697441197391:3802697441198221 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697441199321:3802697441201941 1969:1973 hsa_amd_memory_async_copy(0x7f5bee000010, , 0x7f5bf6200000, , , , 0, ) = 0 +3802697441203011:3802697442454850 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697442459940:3802697442464480 1969:1973 hsa_amd_profiling_get_dispatch_time(, , 0x7f5d951deb30) = 0 +3802697442474020:3802697442474810 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697442469630:3802697442527531 1969:1973 hsa_amd_memory_unlock(0x7f5c847fe000) = 0 +3802697449669064:3802697449670154 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697449720374:3802697450027546 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c84bff000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697450030246:3802697450031066 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697450032306:3802697450034356 1969:1973 hsa_amd_memory_async_copy(0x7f5bf6800000, , 0x7f5bee000010, , , , 0, ) = 0 +3802697450035516:3802697451385296 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697451392906:3802697451393636 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697451408686:3802697451409216 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697451411816:3802697451412516 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697451414586:3802697451415106 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697451416846:3802697451417376 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697451419146:3802697451419666 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697451430566:3802697451431176 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697451434226:3802697451434786 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697451394356:3802697451457146 1969:1973 hsa_amd_memory_unlock(0x7f5c84bff000) = 0 +3802697451463677:3802697451464457 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 136 +3802697451465737:3802697451466367 1969:1973 hsa_queue_load_read_index_relaxed(0x7f5d952ec000) = 136 +3802697451467267:3802697451467867 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 136 +3802697451468757:3802697451469717 1969:1973 hsa_signal_store_screlease(, 136) = void +3802697451473387:3802697451732058 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c847fe000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697451734068:3802697451734799 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697451735589:3802697451736199 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 137 +3802697451736979:3802697451737569 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 136 +3802697451738319:3802697451739119 1969:1973 hsa_signal_store_screlease(, 137) = void +3802697451740029:3802697452785136 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697452787806:3802697452788646 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697452789756:3802697452792406 1969:1973 hsa_amd_memory_async_copy(0x7f5bee000010, , 0x7f5bf6200000, , , , 0, ) = 0 +3802697452793486:3802697454045816 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697454050866:3802697454055366 1969:1973 hsa_amd_profiling_get_dispatch_time(, , 0x7f5d951deb30) = 0 +3802697454067896:3802697454069076 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697454067056:3802697454124536 1969:1973 hsa_amd_memory_unlock(0x7f5c847fe000) = 0 +3802697461258389:3802697461259479 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697461309030:3802697461620672 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c84bff000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697461623382:3802697461624202 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697461625462:3802697461627532 1969:1973 hsa_amd_memory_async_copy(0x7f5bf6800000, , 0x7f5bee000010, , , , 0, ) = 0 +3802697461628472:3802697462977822 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697462985392:3802697462986092 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697462994462:3802697462994982 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697463007642:3802697463008172 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697463009782:3802697463010302 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697463011882:3802697463012402 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697463013572:3802697463014102 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697463023832:3802697463024442 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697463027332:3802697463027902 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697462987442:3802697463049803 1969:1973 hsa_amd_memory_unlock(0x7f5c84bff000) = 0 +3802697463056583:3802697463057343 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 138 +3802697463058543:3802697463059183 1969:1973 hsa_queue_load_read_index_relaxed(0x7f5d952ec000) = 138 +3802697463060073:3802697463060673 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 138 +3802697463061543:3802697463062483 1969:1973 hsa_signal_store_screlease(, 138) = void +3802697463066103:3802697463324535 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c847fe000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697463326445:3802697463327145 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697463327935:3802697463328575 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 139 +3802697463329375:3802697463330005 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 138 +3802697463330775:3802697463331565 1969:1973 hsa_signal_store_screlease(, 139) = void +3802697463332495:3802697464363822 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697464364992:3802697464365522 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697464366372:3802697464368452 1969:1973 hsa_amd_memory_async_copy(0x7f5bee000010, , 0x7f5bf6200000, , , , 0, ) = 0 +3802697464372592:3802697465621652 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697465626652:3802697465631192 1969:1973 hsa_amd_profiling_get_dispatch_time(, , 0x7f5d951deb30) = 0 +3802697465638992:3802697465640002 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697465636982:3802697465694572 1969:1973 hsa_amd_memory_unlock(0x7f5c847fe000) = 0 +3802697472967186:3802697472968236 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697473017827:3802697473324339 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c84bff000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697473326999:3802697473327769 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697473329009:3802697473331079 1969:1973 hsa_amd_memory_async_copy(0x7f5bf6800000, , 0x7f5bee000010, , , , 0, ) = 0 +3802697473332239:3802697474681719 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697474696209:3802697474696919 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697474703269:3802697474703799 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697474705699:3802697474706229 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697474708109:3802697474709179 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697474710889:3802697474711419 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697474712689:3802697474713219 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697474723679:3802697474724209 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697474727189:3802697474727709 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697474691019:3802697474752490 1969:1973 hsa_amd_memory_unlock(0x7f5c84bff000) = 0 +3802697474759210:3802697474759980 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 140 +3802697474761240:3802697474761880 1969:1973 hsa_queue_load_read_index_relaxed(0x7f5d952ec000) = 140 +3802697474762970:3802697474763570 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 140 +3802697474764440:3802697474765470 1969:1973 hsa_signal_store_screlease(, 140) = void +3802697474769150:3802697475029542 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c847fe000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697475031592:3802697475032332 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697475033112:3802697475033732 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 141 +3802697475034502:3802697475035102 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 140 +3802697475035852:3802697475036652 1969:1973 hsa_signal_store_screlease(, 141) = void +3802697475037562:3802697476067579 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697476069959:3802697476070679 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697476075589:3802697476077880 1969:1973 hsa_amd_memory_async_copy(0x7f5bee000010, , 0x7f5bf6200000, , , , 0, ) = 0 +3802697476078740:3802697477331039 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697477336069:3802697477340569 1969:1973 hsa_amd_profiling_get_dispatch_time(, , 0x7f5d951deb30) = 0 +3802697477347669:3802697477348629 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697477347369:3802697477405169 1969:1973 hsa_amd_memory_unlock(0x7f5c847fe000) = 0 +3802697484548032:3802697484549012 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697484582952:3802697484881144 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c84bff000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697484883864:3802697484884704 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697484885984:3802697484887994 1969:1973 hsa_amd_memory_async_copy(0x7f5bf6800000, , 0x7f5bee000010, , , , 0, ) = 0 +3802697484888934:3802697486235614 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697486242834:3802697486243534 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697486251534:3802697486252064 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697486261294:3802697486262004 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697486264104:3802697486264624 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697486266385:3802697486266985 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697486268525:3802697486269095 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697486282045:3802697486282655 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697486287035:3802697486287605 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697486245074:3802697486307565 1969:1973 hsa_amd_memory_unlock(0x7f5c84bff000) = 0 +3802697486314515:3802697486315275 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 142 +3802697486316545:3802697486317175 1969:1973 hsa_queue_load_read_index_relaxed(0x7f5d952ec000) = 142 +3802697486318095:3802697486318695 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 142 +3802697486319575:3802697486320505 1969:1973 hsa_signal_store_screlease(, 142) = void +3802697486324235:3802697486585017 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c847fe000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697486586977:3802697486587687 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697486588467:3802697486589107 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 143 +3802697486589907:3802697486590517 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 142 +3802697486591277:3802697486592067 1969:1973 hsa_signal_store_screlease(, 143) = void +3802697486596407:3802697487626585 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697487629285:3802697487630125 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697487631235:3802697487633845 1969:1973 hsa_amd_memory_async_copy(0x7f5bee000010, , 0x7f5bf6200000, , , , 0, ) = 0 +3802697487634875:3802697488907134 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697488912144:3802697488916514 1969:1973 hsa_amd_profiling_get_dispatch_time(, , 0x7f5d951deb30) = 0 +3802697488923924:3802697488924884 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697488923404:3802697488980705 1969:1973 hsa_amd_memory_unlock(0x7f5c847fe000) = 0 +3802697496255759:3802697496257089 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697496290949:3802697496595561 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c84bff000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697496598251:3802697496599091 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697496600351:3802697496602381 1969:1973 hsa_amd_memory_async_copy(0x7f5bf6800000, , 0x7f5bee000010, , , , 0, ) = 0 +3802697496603551:3802697497951511 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697497967552:3802697497968262 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697497975442:3802697497975972 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697497978502:3802697497979422 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697497980912:3802697497981442 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697497983222:3802697497983752 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697497985092:3802697497985622 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697497996012:3802697497996542 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697497999872:3802697498000392 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697497960211:3802697498022582 1969:1973 hsa_amd_memory_unlock(0x7f5c84bff000) = 0 +3802697498028932:3802697498029672 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 144 +3802697498030972:3802697498031612 1969:1973 hsa_queue_load_read_index_relaxed(0x7f5d952ec000) = 144 +3802697498032722:3802697498033322 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 144 +3802697498034222:3802697498035182 1969:1973 hsa_signal_store_screlease(, 144) = void +3802697498038732:3802697498297084 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c847fe000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697498298934:3802697498299664 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697498300454:3802697498301094 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 145 +3802697498305064:3802697498305684 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 144 +3802697498306444:3802697498307244 1969:1973 hsa_signal_store_screlease(, 145) = void +3802697498308184:3802697499338892 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697499341592:3802697499342422 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697499343542:3802697499346192 1969:1973 hsa_amd_memory_async_copy(0x7f5bee000010, , 0x7f5bf6200000, , , , 0, ) = 0 +3802697499347242:3802697500591081 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697500594641:3802697500598691 1969:1973 hsa_amd_profiling_get_dispatch_time(, , 0x7f5d951deb30) = 0 +3802697500604941:3802697500606461 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697500604471:3802697500662782 1969:1973 hsa_amd_memory_unlock(0x7f5c847fe000) = 0 +3802697507794864:3802697507796214 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697507851584:3802697508175517 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c84bff000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697508178237:3802697508179067 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697508180317:3802697508182357 1969:1973 hsa_amd_memory_async_copy(0x7f5bf6800000, , 0x7f5bee000010, , , , 0, ) = 0 +3802697508183277:3802697509530627 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697509538567:3802697509539277 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697509546977:3802697509547497 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697509558977:3802697509559587 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697509561137:3802697509561707 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697509563587:3802697509564187 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697509565957:3802697509566517 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697509575607:3802697509576207 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697509579187:3802697509579757 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697509539937:3802697509601797 1969:1973 hsa_amd_memory_unlock(0x7f5c84bff000) = 0 +3802697509608607:3802697509609347 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 146 +3802697509610547:3802697509611187 1969:1973 hsa_queue_load_read_index_relaxed(0x7f5d952ec000) = 146 +3802697509612077:3802697509612687 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 146 +3802697509613567:3802697509614497 1969:1973 hsa_signal_store_screlease(, 146) = void +3802697509618197:3802697509877899 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c847fe000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697509879839:3802697509880559 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697509884599:3802697509885269 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 147 +3802697509886069:3802697509886679 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 146 +3802697509887439:3802697509888249 1969:1973 hsa_signal_store_screlease(, 147) = void +3802697509889169:3802697510921807 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697510924497:3802697510925337 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697510926447:3802697510929047 1969:1973 hsa_amd_memory_async_copy(0x7f5bee000010, , 0x7f5bf6200000, , , , 0, ) = 0 +3802697510930087:3802697512176276 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697512180726:3802697512184936 1969:1973 hsa_amd_profiling_get_dispatch_time(, , 0x7f5d951deb30) = 0 +3802697512192167:3802697512193327 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697512191707:3802697512249267 1969:1973 hsa_amd_memory_unlock(0x7f5c847fe000) = 0 +3802697519377870:3802697519378900 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697519428030:3802697519739743 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c84bff000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697519742463:3802697519743353 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697519744583:3802697519746643 1969:1973 hsa_amd_memory_async_copy(0x7f5bf6800000, , 0x7f5bee000010, , , , 0, ) = 0 +3802697519747793:3802697521095163 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697521110943:3802697521111663 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697521118683:3802697521119203 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697521121743:3802697521122443 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697521124343:3802697521124873 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697521126683:3802697521127203 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697521128773:3802697521129303 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697521138133:3802697521138743 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697521143043:3802697521143613 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697521104273:3802697521166353 1969:1973 hsa_amd_memory_unlock(0x7f5c84bff000) = 0 +3802697521172593:3802697521173343 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 148 +3802697521174603:3802697521175233 1969:1973 hsa_queue_load_read_index_relaxed(0x7f5d952ec000) = 148 +3802697521176333:3802697521176933 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 148 +3802697521177833:3802697521178763 1969:1973 hsa_signal_store_screlease(, 148) = void +3802697521185683:3802697521446895 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c847fe000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697521448895:3802697521449635 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697521450425:3802697521451045 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 149 +3802697521451835:3802697521452445 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 148 +3802697521453195:3802697521453995 1969:1973 hsa_signal_store_screlease(, 149) = void +3802697521454915:3802697522485583 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697522488283:3802697522489103 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697522490203:3802697522492803 1969:1973 hsa_amd_memory_async_copy(0x7f5bee000010, , 0x7f5bf6200000, , , , 0, ) = 0 +3802697522493843:3802697523744382 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697523749263:3802697523753643 1969:1973 hsa_amd_profiling_get_dispatch_time(, , 0x7f5d951deb30) = 0 +3802697523760773:3802697523761743 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697523760433:3802697523816593 1969:1973 hsa_amd_memory_unlock(0x7f5c847fe000) = 0 +3802697530938036:3802697530939216 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697530987466:3802697531291869 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c84bff000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697531294609:3802697531295369 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697531296709:3802697531298929 1969:1973 hsa_amd_memory_async_copy(0x7f5bf6800000, , 0x7f5bee000010, , , , 0, ) = 0 +3802697531299889:3802697532638169 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697532644549:3802697532645759 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697532653969:3802697532654499 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697532663839:3802697532664369 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697532665709:3802697532666229 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697532667949:3802697532668559 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697532669779:3802697532670349 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697532680099:3802697532680699 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697532683579:3802697532684149 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697532645559:3802697532699549 1969:1973 hsa_amd_memory_unlock(0x7f5c84bff000) = 0 +3802697532705779:3802697532706489 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 150 +3802697532707589:3802697532708219 1969:1973 hsa_queue_load_read_index_relaxed(0x7f5d952ec000) = 150 +3802697532709119:3802697532709719 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 150 +3802697532714069:3802697532715029 1969:1973 hsa_signal_store_screlease(, 150) = void +3802697532718119:3802697532974071 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c847fe000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697532975881:3802697532976561 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697532977341:3802697532977931 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 151 +3802697532978731:3802697532979321 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 150 +3802697532980071:3802697532980871 1969:1973 hsa_signal_store_screlease(, 151) = void +3802697532981781:3802697534010418 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697534013108:3802697534013938 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697534015058:3802697534017648 1969:1973 hsa_amd_memory_async_copy(0x7f5bee000010, , 0x7f5bf6200000, , , , 0, ) = 0 +3802697534018648:3802697535376518 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697535381388:3802697535385838 1969:1973 hsa_amd_profiling_get_dispatch_time(, , 0x7f5d951deb30) = 0 +3802697535392878:3802697535394378 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697535392378:3802697535449489 1969:1973 hsa_amd_memory_unlock(0x7f5c847fe000) = 0 +3802697542669812:3802697542671132 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697542718963:3802697543023815 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c84bff000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697543026525:3802697543027315 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697543028565:3802697543030605 1969:1973 hsa_amd_memory_async_copy(0x7f5bf6800000, , 0x7f5bee000010, , , , 0, ) = 0 +3802697543031775:3802697544372335 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697544386955:3802697544387585 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697544394765:3802697544395285 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697544397515:3802697544398215 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697544400105:3802697544400635 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697544402325:3802697544402855 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697544404235:3802697544404755 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697544414135:3802697544414745 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697544421285:3802697544421845 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697544380765:3802697544442166 1969:1973 hsa_amd_memory_unlock(0x7f5c84bff000) = 0 +3802697544448716:3802697544449486 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 152 +3802697544454036:3802697544454696 1969:1973 hsa_queue_load_read_index_relaxed(0x7f5d952ec000) = 152 +3802697544455606:3802697544456196 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 152 +3802697544457076:3802697544458026 1969:1973 hsa_signal_store_screlease(, 152) = void +3802697544461786:3802697544724868 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c847fe000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697544726818:3802697544727518 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697544728308:3802697544728928 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 153 +3802697544729708:3802697544730338 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 152 +3802697544731108:3802697544731918 1969:1973 hsa_signal_store_screlease(, 153) = void +3802697544732848:3802697545759605 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697545762295:3802697545763125 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697545764215:3802697545766885 1969:1973 hsa_amd_memory_async_copy(0x7f5bee000010, , 0x7f5bf6200000, , , , 0, ) = 0 +3802697545767965:3802697547019655 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697547024465:3802697547029025 1969:1973 hsa_amd_profiling_get_dispatch_time(, , 0x7f5d951deb30) = 0 +3802697547036835:3802697547038055 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697547036525:3802697547093245 1969:1973 hsa_amd_memory_unlock(0x7f5c847fe000) = 0 +3802697554227278:3802697554228648 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697554275959:3802697554580881 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c84bff000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697554583601:3802697554584411 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697554585671:3802697554587721 1969:1973 hsa_amd_memory_async_copy(0x7f5bf6800000, , 0x7f5bee000010, , , , 0, ) = 0 +3802697554588671:3802697555937451 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697555944711:3802697555945411 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697555953541:3802697555954071 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697555956021:3802697555956551 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697555957991:3802697555958511 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697555967421:3802697555968371 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697555970261:3802697555970831 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697555979731:3802697555980341 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697555983171:3802697555983741 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697555947021:3802697556023162 1969:1973 hsa_amd_memory_unlock(0x7f5c84bff000) = 0 +3802697556033392:3802697556034142 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 154 +3802697556035092:3802697556035732 1969:1973 hsa_queue_load_read_index_relaxed(0x7f5d952ec000) = 154 +3802697556036642:3802697556037242 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 154 +3802697556038122:3802697556039062 1969:1973 hsa_signal_store_screlease(, 154) = void +3802697556042552:3802697556306694 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c847fe000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697556308664:3802697556309384 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697556310184:3802697556310824 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 155 +3802697556311654:3802697556312264 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 154 +3802697556313014:3802697556313814 1969:1973 hsa_signal_store_screlease(, 155) = void +3802697556314744:3802697557360741 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697557363441:3802697557364271 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697557365391:3802697557367982 1969:1973 hsa_amd_memory_async_copy(0x7f5bee000010, , 0x7f5bf6200000, , , , 0, ) = 0 +3802697557369002:3802697558621161 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697558626021:3802697558630491 1969:1973 hsa_amd_profiling_get_dispatch_time(, , 0x7f5d951deb30) = 0 +3802697558637891:3802697558639041 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697558637371:3802697558693721 1969:1973 hsa_amd_memory_unlock(0x7f5c847fe000) = 0 +3802697565833414:3802697565834524 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697565884054:3802697566190727 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c84bff000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697566193447:3802697566194207 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697566195437:3802697566197497 1969:1973 hsa_amd_memory_async_copy(0x7f5bf6800000, , 0x7f5bee000010, , , , 0, ) = 0 +3802697566198637:3802697567545937 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697567561387:3802697567562097 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697567569077:3802697567569607 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697567571647:3802697567572527 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697567574987:3802697567575517 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697567577227:3802697567577757 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697567579237:3802697567579767 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697567588717:3802697567589327 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697567594737:3802697567595347 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697567555177:3802697567617037 1969:1973 hsa_amd_memory_unlock(0x7f5c84bff000) = 0 +3802697567623937:3802697567624727 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 156 +3802697567625677:3802697567626347 1969:1973 hsa_queue_load_read_index_relaxed(0x7f5d952ec000) = 156 +3802697567627247:3802697567627837 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 156 +3802697567628767:3802697567629717 1969:1973 hsa_signal_store_screlease(, 156) = void +3802697567633257:3802697567891079 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c847fe000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697567893129:3802697567893869 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697567894649:3802697567895289 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 157 +3802697567896099:3802697567896699 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 156 +3802697567897439:3802697567898249 1969:1973 hsa_signal_store_screlease(, 157) = void +3802697567899169:3802697568951027 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697568953697:3802697568954537 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697568955647:3802697568958247 1969:1973 hsa_amd_memory_async_copy(0x7f5bee000010, , 0x7f5bf6200000, , , , 0, ) = 0 +3802697568959297:3802697570211927 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697570216947:3802697570221397 1969:1973 hsa_amd_profiling_get_dispatch_time(, , 0x7f5d951deb30) = 0 +3802697570228527:3802697570229507 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697570228327:3802697570285627 1969:1973 hsa_amd_memory_unlock(0x7f5c847fe000) = 0 +3802697577451160:3802697577452130 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697577500331:3802697577814923 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c84bff000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697577817663:3802697577818473 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697577819723:3802697577821773 1969:1973 hsa_amd_memory_async_copy(0x7f5bf6800000, , 0x7f5bee000010, , , , 0, ) = 0 +3802697577822733:3802697579168853 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697579176213:3802697579176913 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697579184983:3802697579185513 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697579187903:3802697579188433 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697579189923:3802697579190443 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697579200343:3802697579200873 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697579202183:3802697579202713 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697579214383:3802697579214993 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697579219014:3802697579219574 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697579178933:3802697579240094 1969:1973 hsa_amd_memory_unlock(0x7f5c84bff000) = 0 +3802697579246934:3802697579247684 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 158 +3802697579248624:3802697579249264 1969:1973 hsa_queue_load_read_index_relaxed(0x7f5d952ec000) = 158 +3802697579250164:3802697579250774 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 158 +3802697579251654:3802697579252694 1969:1973 hsa_signal_store_screlease(, 158) = void +3802697579256344:3802697579515766 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c847fe000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697579517796:3802697579518536 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697579519326:3802697579519966 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 159 +3802697579520746:3802697579521356 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 158 +3802697579522096:3802697579522896 1969:1973 hsa_signal_store_screlease(, 159) = void +3802697579523816:3802697580534883 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697580536203:3802697580536753 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697580537633:3802697580539653 1969:1973 hsa_amd_memory_async_copy(0x7f5bee000010, , 0x7f5bf6200000, , , , 0, ) = 0 +3802697580540463:3802697581793063 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697581798143:3802697581802693 1969:1973 hsa_amd_profiling_get_dispatch_time(, , 0x7f5d951deb30) = 0 +3802697581809163:3802697581810133 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697581808963:3802697581866793 1969:1973 hsa_amd_memory_unlock(0x7f5c847fe000) = 0 +3802697588996145:3802697588997205 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697589045636:3802697589352448 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c84bff000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697589355138:3802697589355978 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697589357238:3802697589359288 1969:1973 hsa_amd_memory_async_copy(0x7f5bf6800000, , 0x7f5bee000010, , , , 0, ) = 0 +3802697589360448:3802697590709938 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697590717368:3802697590718158 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697590733978:3802697590734498 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697590736698:3802697590737768 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697590739428:3802697590739948 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697590743068:3802697590743598 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697590745188:3802697590745718 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697590754719:3802697590755249 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697590759009:3802697590759539 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697590718818:3802697590781439 1969:1973 hsa_amd_memory_unlock(0x7f5c84bff000) = 0 +3802697590788019:3802697590788759 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 160 +3802697590789699:3802697590790329 1969:1973 hsa_queue_load_read_index_relaxed(0x7f5d952ec000) = 160 +3802697590791229:3802697590791819 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 160 +3802697590792699:3802697590793679 1969:1973 hsa_signal_store_screlease(, 160) = void +3802697590797769:3802697591057531 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c847fe000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697591059581:3802697591060281 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697591061071:3802697591061681 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 161 +3802697591062461:3802697591063051 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 160 +3802697591063811:3802697591064601 1969:1973 hsa_signal_store_screlease(, 161) = void +3802697591065531:3802697592099599 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697592101949:3802697592102729 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697592103679:3802697592105959 1969:1973 hsa_amd_memory_async_copy(0x7f5bee000010, , 0x7f5bf6200000, , , , 0, ) = 0 +3802697592106859:3802697593359458 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697593364528:3802697593369038 1969:1973 hsa_amd_profiling_get_dispatch_time(, , 0x7f5d951deb30) = 0 +3802697593376848:3802697593378078 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697593376048:3802697593433098 1969:1973 hsa_amd_memory_unlock(0x7f5c847fe000) = 0 +3802697600584622:3802697600585802 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697600618352:3802697600925794 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c84bff000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697600928494:3802697600929394 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697600930654:3802697600932694 1969:1973 hsa_amd_memory_async_copy(0x7f5bf6800000, , 0x7f5bee000010, , , , 0, ) = 0 +3802697600933634:3802697602275244 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697602282674:3802697602283384 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697602291784:3802697602292314 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697602303064:3802697602303584 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697602305394:3802697602306434 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697602309644:3802697602310164 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697602311764:3802697602312294 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697602321625:3802697602322155 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697602324945:3802697602325465 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697602285094:3802697602349735 1969:1973 hsa_amd_memory_unlock(0x7f5c84bff000) = 0 +3802697602356405:3802697602357155 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 162 +3802697602358105:3802697602358735 1969:1973 hsa_queue_load_read_index_relaxed(0x7f5d952ec000) = 162 +3802697602359625:3802697602360225 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 162 +3802697602361115:3802697602362105 1969:1973 hsa_signal_store_screlease(, 162) = void +3802697602365815:3802697602623847 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c847fe000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697602625887:3802697602626607 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697602627397:3802697602627987 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 163 +3802697602628767:3802697602629397 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 162 +3802697602630137:3802697602630937 1969:1973 hsa_signal_store_screlease(, 163) = void +3802697602631867:3802697603675865 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697603678565:3802697603679395 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697603680505:3802697603683105 1969:1973 hsa_amd_memory_async_copy(0x7f5bee000010, , 0x7f5bf6200000, , , , 0, ) = 0 +3802697603684105:3802697604938694 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697604943724:3802697604948204 1969:1973 hsa_amd_profiling_get_dispatch_time(, , 0x7f5d951deb30) = 0 +3802697604955734:3802697604956914 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697604955364:3802697605012095 1969:1973 hsa_amd_memory_unlock(0x7f5c847fe000) = 0 +3802697612158858:3802697612159828 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697612192168:3802697612504040 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c84bff000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697612506720:3802697612507500 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697612508750:3802697612510750 1969:1973 hsa_amd_memory_async_copy(0x7f5bf6800000, , 0x7f5bee000010, , , , 0, ) = 0 +3802697612511910:3802697613860360 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697613867530:3802697613868230 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697613886810:3802697613887570 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697613889660:3802697613890180 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697613891460:3802697613891980 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697613893390:3802697613893920 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697613895380:3802697613895900 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697613904790:3802697613905320 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697613908230:3802697613908760 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697613869450:3802697613931241 1969:1973 hsa_amd_memory_unlock(0x7f5c84bff000) = 0 +3802697613937881:3802697613938621 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 164 +3802697613939551:3802697613940171 1969:1973 hsa_queue_load_read_index_relaxed(0x7f5d952ec000) = 164 +3802697613941061:3802697613941661 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 164 +3802697613942571:3802697613943521 1969:1973 hsa_signal_store_screlease(, 164) = void +3802697613947021:3802697614206513 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c847fe000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697614208403:3802697614209143 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697614209933:3802697614210563 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 165 +3802697614211363:3802697614211973 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 164 +3802697614212723:3802697614213523 1969:1973 hsa_signal_store_screlease(, 165) = void +3802697614214433:3802697615253210 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697615255890:3802697615256730 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697615257820:3802697615260400 1969:1973 hsa_amd_memory_async_copy(0x7f5bee000010, , 0x7f5bf6200000, , , , 0, ) = 0 +3802697615261410:3802697616504709 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697616508139:3802697616512189 1969:1973 hsa_amd_profiling_get_dispatch_time(, , 0x7f5d951deb30) = 0 +3802697616521019:3802697616521809 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697616518049:3802697616575010 1969:1973 hsa_amd_memory_unlock(0x7f5c847fe000) = 0 +3802697623711233:3802697623712333 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697623767743:3802697624072866 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c84bff000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697624075566:3802697624076396 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697624077636:3802697624079686 1969:1973 hsa_amd_memory_async_copy(0x7f5bf6800000, , 0x7f5bee000010, , , , 0, ) = 0 +3802697624084196:3802697625428946 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697625436226:3802697625436936 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697625445476:3802697625446006 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697625448026:3802697625448546 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697625449936:3802697625450456 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697625460546:3802697625461076 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697625462416:3802697625462946 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697625472206:3802697625472806 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697625475876:3802697625476446 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697625438496:3802697625499796 1969:1973 hsa_amd_memory_unlock(0x7f5c84bff000) = 0 +3802697625506616:3802697625507386 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 166 +3802697625508666:3802697625509296 1969:1973 hsa_queue_load_read_index_relaxed(0x7f5d952ec000) = 166 +3802697625510206:3802697625510806 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 166 +3802697625511686:3802697625512666 1969:1973 hsa_signal_store_screlease(, 166) = void +3802697625516266:3802697625776428 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c847fe000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697625778498:3802697625779188 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697625779988:3802697625780618 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 167 +3802697625781408:3802697625782048 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 166 +3802697625782788:3802697625783588 1969:1973 hsa_signal_store_screlease(, 167) = void +3802697625784518:3802697626828096 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697626830786:3802697626831626 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697626832716:3802697626835296 1969:1973 hsa_amd_memory_async_copy(0x7f5bee000010, , 0x7f5bf6200000, , , , 0, ) = 0 +3802697626836306:3802697628087395 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697628091895:3802697628096035 1969:1973 hsa_amd_profiling_get_dispatch_time(, , 0x7f5d951deb30) = 0 +3802697628102026:3802697628103186 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697628101566:3802697628159156 1969:1973 hsa_amd_memory_unlock(0x7f5c847fe000) = 0 +3802697635283369:3802697635284399 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697635332589:3802697635643552 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c84bff000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697635646272:3802697635647062 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697635651252:3802697635653292 1969:1973 hsa_amd_memory_async_copy(0x7f5bf6800000, , 0x7f5bee000010, , , , 0, ) = 0 +3802697635654192:3802697637003692 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697637011642:3802697637012342 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697637028022:3802697637028552 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697637031372:3802697637031902 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697637033582:3802697637034102 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697637035892:3802697637036412 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697637037682:3802697637038202 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697637047552:3802697637048152 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697637051152:3802697637051712 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697637013132:3802697637074852 1969:1973 hsa_amd_memory_unlock(0x7f5c84bff000) = 0 +3802697637081242:3802697637081992 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 168 +3802697637082942:3802697637083772 1969:1973 hsa_queue_load_read_index_relaxed(0x7f5d952ec000) = 168 +3802697637084682:3802697637085282 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 168 +3802697637086162:3802697637087122 1969:1973 hsa_signal_store_screlease(, 168) = void +3802697637090672:3802697637351814 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c847fe000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697637353814:3802697637354544 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697637355334:3802697637355964 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 169 +3802697637356774:3802697637357364 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 168 +3802697637358114:3802697637358914 1969:1973 hsa_signal_store_screlease(, 169) = void +3802697637359844:3802697638396162 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697638398852:3802697638399682 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697638400792:3802697638403432 1969:1973 hsa_amd_memory_async_copy(0x7f5bee000010, , 0x7f5bf6200000, , , , 0, ) = 0 +3802697638404492:3802697639655001 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697639659871:3802697639664312 1969:1973 hsa_amd_profiling_get_dispatch_time(, , 0x7f5d951deb30) = 0 +3802697639674802:3802697639675592 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697639672362:3802697639729332 1969:1973 hsa_amd_memory_unlock(0x7f5c847fe000) = 0 +3802697646859844:3802697646860834 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697646917795:3802697647224537 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c84bff000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697647227397:3802697647228217 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697647229187:3802697647231247 1969:1973 hsa_amd_memory_async_copy(0x7f5bf6800000, , 0x7f5bee000010, , , , 0, ) = 0 +3802697647232157:3802697648571067 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697648577047:3802697648578157 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697648591527:3802697648592067 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697648594037:3802697648594557 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697648595797:3802697648596317 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697648597707:3802697648598227 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697648599827:3802697648600357 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697648612967:3802697648613577 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697648616417:3802697648616987 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697648577867:3802697648632237 1969:1973 hsa_amd_memory_unlock(0x7f5c84bff000) = 0 +3802697648638587:3802697648639297 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 170 +3802697648640187:3802697648640817 1969:1973 hsa_queue_load_read_index_relaxed(0x7f5d952ec000) = 170 +3802697648641727:3802697648642337 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 170 +3802697648643217:3802697648644148 1969:1973 hsa_signal_store_screlease(, 170) = void +3802697648647088:3802697648900359 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c847fe000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697648902159:3802697648902819 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697648903609:3802697648904229 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 171 +3802697648905029:3802697648905619 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 170 +3802697648906369:3802697648907159 1969:1973 hsa_signal_store_screlease(, 171) = void +3802697648908049:3802697649978007 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697649980697:3802697649981517 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697649982617:3802697649985237 1969:1973 hsa_amd_memory_async_copy(0x7f5bee000010, , 0x7f5bf6200000, , , , 0, ) = 0 +3802697649986297:3802697651236967 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697651241857:3802697651246327 1969:1973 hsa_amd_profiling_get_dispatch_time(, , 0x7f5d951deb30) = 0 +3802697651253287:3802697651254447 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697651252797:3802697651309217 1969:1973 hsa_amd_memory_unlock(0x7f5c847fe000) = 0 +3802697658432450:3802697658433520 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697658482611:3802697658793323 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c84bff000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697658796073:3802697658796833 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697658798033:3802697658800063 1969:1973 hsa_amd_memory_async_copy(0x7f5bf6800000, , 0x7f5bee000010, , , , 0, ) = 0 +3802697658801173:3802697660293084 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697660300434:3802697660301714 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697660316764:3802697660317544 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697660320404:3802697660320994 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697660322784:3802697660323374 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697660325214:3802697660325814 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697660327394:3802697660327994 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697660336974:3802697660337664 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697660340845:3802697660341485 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697660301334:3802697660362085 1969:1973 hsa_amd_memory_unlock(0x7f5c84bff000) = 0 +3802697660368525:3802697660369305 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 172 +3802697660370235:3802697660370865 1969:1973 hsa_queue_load_read_index_relaxed(0x7f5d952ec000) = 172 +3802697660371755:3802697660372355 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 172 +3802697660373245:3802697660374285 1969:1973 hsa_signal_store_screlease(, 172) = void +3802697660377815:3802697660638907 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c847fe000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697660640867:3802697660641587 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697660642377:3802697660643017 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 173 +3802697660643797:3802697660644407 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 172 +3802697660645177:3802697660645967 1969:1973 hsa_signal_store_screlease(, 173) = void +3802697660646917:3802697661679574 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697661682264:3802697661683094 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697661684215:3802697661686805 1969:1973 hsa_amd_memory_async_copy(0x7f5bee000010, , 0x7f5bf6200000, , , , 0, ) = 0 +3802697661687795:3802697662938674 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697662943524:3802697662947964 1969:1973 hsa_amd_profiling_get_dispatch_time(, , 0x7f5d951deb30) = 0 +3802697662961404:3802697662962374 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697662959344:3802697663015884 1969:1973 hsa_amd_memory_unlock(0x7f5c847fe000) = 0 +3802697670193027:3802697670194517 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697670243348:3802697670548870 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c84bff000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697670551580:3802697670552400 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697670553640:3802697670555660 1969:1973 hsa_amd_memory_async_copy(0x7f5bf6800000, , 0x7f5bee000010, , , , 0, ) = 0 +3802697670556600:3802697671904540 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697671912050:3802697671912750 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697671921190:3802697671921710 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697671923890:3802697671924410 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697671925720:3802697671926240 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697671927910:3802697671928430 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697671929670:3802697671930200 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697671948120:3802697671948720 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697671953260:3802697671953820 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697671914850:3802697671976960 1969:1973 hsa_amd_memory_unlock(0x7f5c84bff000) = 0 +3802697671983870:3802697671984640 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 174 +3802697671985920:3802697671986560 1969:1973 hsa_queue_load_read_index_relaxed(0x7f5d952ec000) = 174 +3802697671987460:3802697671988060 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 174 +3802697671989180:3802697671990110 1969:1973 hsa_signal_store_screlease(, 174) = void +3802697671993960:3802697672265012 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c847fe000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697672267242:3802697672267992 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697672268782:3802697672269432 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 175 +3802697672270242:3802697672270822 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 174 +3802697672271602:3802697672272402 1969:1973 hsa_signal_store_screlease(, 175) = void +3802697672273292:3802697673293600 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697673296300:3802697673297130 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697673298240:3802697673300920 1969:1973 hsa_amd_memory_async_copy(0x7f5bee000010, , 0x7f5bf6200000, , , , 0, ) = 0 +3802697673301990:3802697674554039 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697674563459:3802697674567880 1969:1973 hsa_amd_profiling_get_dispatch_time(, , 0x7f5d951deb30) = 0 +3802697674574390:3802697674575690 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697674573510:3802697674630950 1969:1973 hsa_amd_memory_unlock(0x7f5c847fe000) = 0 +3802697681767643:3802697681768753 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697681823414:3802697682128386 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c84bff000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697682130996:3802697682131896 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697682133116:3802697682135176 1969:1973 hsa_amd_memory_async_copy(0x7f5bf6800000, , 0x7f5bee000010, , , , 0, ) = 0 +3802697682136356:3802697683484406 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697683491696:3802697683492396 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697683500406:3802697683500936 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697683513506:3802697683514036 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697683515756:3802697683516276 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697683518006:3802697683518526 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697683519936:3802697683520456 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697683529056:3802697683529656 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697683532546:3802697683533116 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697683493756:3802697683555676 1969:1973 hsa_amd_memory_unlock(0x7f5c84bff000) = 0 +3802697683562296:3802697683563036 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 176 +3802697683564316:3802697683564946 1969:1973 hsa_queue_load_read_index_relaxed(0x7f5d952ec000) = 176 +3802697683566026:3802697683566626 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 176 +3802697683567746:3802697683568676 1969:1973 hsa_signal_store_screlease(, 176) = void +3802697683572217:3802697683831608 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c847fe000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697683833518:3802697683834208 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697683834998:3802697683835638 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 177 +3802697683836408:3802697683837028 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 176 +3802697683837778:3802697683838578 1969:1973 hsa_signal_store_screlease(, 177) = void +3802697683839498:3802697684881486 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697684884176:3802697684885006 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697684890576:3802697684893406 1969:1973 hsa_amd_memory_async_copy(0x7f5bee000010, , 0x7f5bf6200000, , , , 0, ) = 0 +3802697684894536:3802697686146686 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697686151736:3802697686156166 1969:1973 hsa_amd_profiling_get_dispatch_time(, , 0x7f5d951deb30) = 0 +3802697686166326:3802697686167116 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697686163386:3802697686221776 1969:1973 hsa_amd_memory_unlock(0x7f5c847fe000) = 0 +3802697693381489:3802697693382609 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697693432130:3802697693746182 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c84bff000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697693749052:3802697693749852 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697693751132:3802697693753172 1969:1973 hsa_amd_memory_async_copy(0x7f5bf6800000, , 0x7f5bee000010, , , , 0, ) = 0 +3802697693754142:3802697695103972 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697695111242:3802697695111952 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697695119752:3802697695120282 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697695122622:3802697695123142 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697695124382:3802697695124912 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697695126792:3802697695127312 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697695128552:3802697695129082 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697695144983:3802697695145513 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697695148113:3802697695148643 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697695113642:3802697695174793 1969:1973 hsa_amd_memory_unlock(0x7f5c84bff000) = 0 +3802697695181563:3802697695182313 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 178 +3802697695183573:3802697695184213 1969:1973 hsa_queue_load_read_index_relaxed(0x7f5d952ec000) = 178 +3802697695185123:3802697695185723 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 178 +3802697695186613:3802697695187553 1969:1973 hsa_signal_store_screlease(, 178) = void +3802697695214703:3802697695478285 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c847fe000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697695480305:3802697695481035 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697695481815:3802697695482465 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 179 +3802697695483265:3802697695483875 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 178 +3802697695484645:3802697695485445 1969:1973 hsa_signal_store_screlease(, 179) = void +3802697695489665:3802697696474172 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697696475412:3802697696475962 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697696476862:3802697696478862 1969:1973 hsa_amd_memory_async_copy(0x7f5bee000010, , 0x7f5bf6200000, , , , 0, ) = 0 +3802697696479662:3802697697732051 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697697737072:3802697697741512 1969:1973 hsa_amd_profiling_get_dispatch_time(, , 0x7f5d951deb30) = 0 +3802697697749432:3802697697750652 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697697749132:3802697697806522 1969:1973 hsa_amd_memory_unlock(0x7f5c847fe000) = 0 +3802697704966425:3802697704967715 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697705017165:3802697705323087 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c84bff000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697705325858:3802697705326628 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697705327878:3802697705329888 1969:1973 hsa_amd_memory_async_copy(0x7f5bf6800000, , 0x7f5bee000010, , , , 0, ) = 0 +3802697705331048:3802697706657897 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697706665717:3802697706666507 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697706676328:3802697706676928 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697706686208:3802697706686818 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697706688628:3802697706689228 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697706691108:3802697706691698 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697706693368:3802697706693968 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697706704368:3802697706705058 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697706708288:3802697706708938 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697706667597:3802697706728928 1969:1973 hsa_amd_memory_unlock(0x7f5c84bff000) = 0 +3802697706735778:3802697706736528 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 180 +3802697706737728:3802697706738368 1969:1973 hsa_queue_load_read_index_relaxed(0x7f5d952ec000) = 180 +3802697706739468:3802697706740078 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 180 +3802697706740958:3802697706741888 1969:1973 hsa_signal_store_screlease(, 180) = void +3802697706745628:3802697707004890 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c847fe000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697707006780:3802697707007460 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697707008260:3802697707008890 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 181 +3802697707009690:3802697707010290 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 180 +3802697707014880:3802697707015690 1969:1973 hsa_signal_store_screlease(, 181) = void +3802697707016640:3802697708038128 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697708041038:3802697708041928 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697708043118:3802697708045418 1969:1973 hsa_amd_memory_async_copy(0x7f5bee000010, , 0x7f5bf6200000, , , , 0, ) = 0 +3802697708046278:3802697709300207 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697709305217:3802697709309697 1969:1973 hsa_amd_profiling_get_dispatch_time(, , 0x7f5d951deb30) = 0 +3802697709318587:3802697709319817 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697709317157:3802697709374378 1969:1973 hsa_amd_memory_unlock(0x7f5c847fe000) = 0 +3802697716515841:3802697716517001 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697716555191:3802697716856983 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c84bff000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697716859683:3802697716860463 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697716861743:3802697716863803 1969:1973 hsa_amd_memory_async_copy(0x7f5bf6800000, , 0x7f5bee000010, , , , 0, ) = 0 +3802697716864743:3802697718212133 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697718219843:3802697718220543 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697718229294:3802697718229824 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697718232314:3802697718232834 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697718234164:3802697718234694 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697718236564:3802697718237084 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697718238574:3802697718239094 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697718258164:3802697718258774 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697718261754:3802697718262324 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697718222863:3802697718284584 1969:1973 hsa_amd_memory_unlock(0x7f5c84bff000) = 0 +3802697718291634:3802697718292394 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 182 +3802697718293594:3802697718294244 1969:1973 hsa_queue_load_read_index_relaxed(0x7f5d952ec000) = 182 +3802697718295154:3802697718295754 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 182 +3802697718296854:3802697718297814 1969:1973 hsa_signal_store_screlease(, 182) = void +3802697718301524:3802697718562106 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c847fe000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697718564266:3802697718564986 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697718569416:3802697718570066 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 183 +3802697718570856:3802697718571456 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 182 +3802697718572206:3802697718573016 1969:1973 hsa_signal_store_screlease(, 183) = void +3802697718573936:3802697719613874 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697719616574:3802697719617404 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697719618504:3802697719621074 1969:1973 hsa_amd_memory_async_copy(0x7f5bee000010, , 0x7f5bf6200000, , , , 0, ) = 0 +3802697719622064:3802697720883463 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697720888803:3802697720892923 1969:1973 hsa_amd_profiling_get_dispatch_time(, , 0x7f5d951deb30) = 0 +3802697720899173:3802697720900363 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697720900153:3802697720957794 1969:1973 hsa_amd_memory_unlock(0x7f5c847fe000) = 0 +3802697728105136:3802697728106066 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697728140976:3802697728447399 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c84bff000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697728450159:3802697728450929 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697728452169:3802697728454199 1969:1973 hsa_amd_memory_async_copy(0x7f5bf6800000, , 0x7f5bee000010, , , , 0, ) = 0 +3802697728455339:3802697729816089 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697729823619:3802697729824319 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697729833019:3802697729833539 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697729843609:3802697729844319 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697729846449:3802697729846969 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697729848769:3802697729849369 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697729851129:3802697729851689 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697729861099:3802697729861709 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697729864729:3802697729865299 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697729826129:3802697729887379 1969:1973 hsa_amd_memory_unlock(0x7f5c84bff000) = 0 +3802697729894399:3802697729895149 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 184 +3802697729896319:3802697729896949 1969:1973 hsa_queue_load_read_index_relaxed(0x7f5d952ec000) = 184 +3802697729898059:3802697729898649 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 184 +3802697729899760:3802697729900710 1969:1973 hsa_signal_store_screlease(, 184) = void +3802697729904560:3802697730163821 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c847fe000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697730168892:3802697730169592 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697730170382:3802697730171002 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 185 +3802697730171782:3802697730172392 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 184 +3802697730173142:3802697730173942 1969:1973 hsa_signal_store_screlease(, 185) = void +3802697730174882:3802697731208029 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697731210749:3802697731211579 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697731212689:3802697731215299 1969:1973 hsa_amd_memory_async_copy(0x7f5bee000010, , 0x7f5bf6200000, , , , 0, ) = 0 +3802697731216349:3802697732460319 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697732463849:3802697732467849 1969:1973 hsa_amd_profiling_get_dispatch_time(, , 0x7f5d951deb30) = 0 +3802697732474399:3802697732475629 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697732475429:3802697732533679 1969:1973 hsa_amd_memory_unlock(0x7f5c847fe000) = 0 +3802697739658272:3802697739659282 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697739715513:3802697740020505 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c84bff000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697740023245:3802697740024015 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697740025195:3802697740027235 1969:1973 hsa_amd_memory_async_copy(0x7f5bf6800000, , 0x7f5bee000010, , , , 0, ) = 0 +3802697740028185:3802697741377705 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697741393455:3802697741394155 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697741401795:3802697741402325 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697741404235:3802697741404755 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697741406805:3802697741407325 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697741408985:3802697741409505 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697741410995:3802697741411525 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697741422505:3802697741423105 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697741426065:3802697741426635 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697741387965:3802697741449925 1969:1973 hsa_amd_memory_unlock(0x7f5c84bff000) = 0 +3802697741456895:3802697741457655 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 186 +3802697741458935:3802697741459575 1969:1973 hsa_queue_load_read_index_relaxed(0x7f5d952ec000) = 186 +3802697741460485:3802697741461086 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 186 +3802697741465486:3802697741466476 1969:1973 hsa_signal_store_screlease(, 186) = void +3802697741470166:3802697741730738 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c847fe000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697741732738:3802697741733438 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697741734228:3802697741734858 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 187 +3802697741735678:3802697741736298 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 186 +3802697741737168:3802697741737978 1969:1973 hsa_signal_store_screlease(, 187) = void +3802697741738898:3802697742781725 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697742784395:3802697742785225 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697742786345:3802697742788935 1969:1973 hsa_amd_memory_async_copy(0x7f5bee000010, , 0x7f5bf6200000, , , , 0, ) = 0 +3802697742789925:3802697744043035 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697744047525:3802697744051785 1969:1973 hsa_amd_profiling_get_dispatch_time(, , 0x7f5d951deb30) = 0 +3802697744058355:3802697744059885 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697744059225:3802697744116015 1969:1973 hsa_amd_memory_unlock(0x7f5c847fe000) = 0 +3802697751249028:3802697751250148 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697751298979:3802697751604151 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c84bff000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697751606861:3802697751607641 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697751608891:3802697751610941 1969:1973 hsa_amd_memory_async_copy(0x7f5bf6800000, , 0x7f5bee000010, , , , 0, ) = 0 +3802697751612111:3802697752961981 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697752969731:3802697752970431 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697752978941:3802697752979471 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697752989851:3802697752990561 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697752992151:3802697752992681 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697752994591:3802697752995191 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697752996721:3802697752997281 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697753006881:3802697753007491 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697753010461:3802697753011031 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697752972061:3802697753033161 1969:1973 hsa_amd_memory_unlock(0x7f5c84bff000) = 0 +3802697753040091:3802697753040841 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 188 +3802697753041991:3802697753042621 1969:1973 hsa_queue_load_read_index_relaxed(0x7f5d952ec000) = 188 +3802697753046941:3802697753047571 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 188 +3802697753048461:3802697753049411 1969:1973 hsa_signal_store_screlease(, 188) = void +3802697753053292:3802697753314113 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c847fe000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697753316143:3802697753316873 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697753317663:3802697753318293 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 189 +3802697753319103:3802697753319693 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 188 +3802697753320463:3802697753321273 1969:1973 hsa_signal_store_screlease(, 189) = void +3802697753322203:3802697754365491 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697754368181:3802697754369011 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697754370131:3802697754372801 1969:1973 hsa_amd_memory_async_copy(0x7f5bee000010, , 0x7f5bf6200000, , , , 0, ) = 0 +3802697754373871:3802697755624430 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697755629310:3802697755633730 1969:1973 hsa_amd_profiling_get_dispatch_time(, , 0x7f5d951deb30) = 0 +3802697755640230:3802697755641530 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697755641330:3802697755697571 1969:1973 hsa_amd_memory_unlock(0x7f5c847fe000) = 0 +3802697763023905:3802697763025075 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697763076535:3802697763382148 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c84bff000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697763384888:3802697763385648 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697763386908:3802697763389088 1969:1973 hsa_amd_memory_async_copy(0x7f5bf6800000, , 0x7f5bee000010, , , , 0, ) = 0 +3802697763390028:3802697764738158 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697764755008:3802697764755718 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697764762978:3802697764763498 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697764765688:3802697764766398 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697764768608:3802697764769138 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697764770748:3802697764771268 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697764772418:3802697764772938 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697764784138:3802697764784748 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697764793198:3802697764793768 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697764749728:3802697764811458 1969:1973 hsa_amd_memory_unlock(0x7f5c84bff000) = 0 +3802697764821898:3802697764822658 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 190 +3802697764823628:3802697764824278 1969:1973 hsa_queue_load_read_index_relaxed(0x7f5d952ec000) = 190 +3802697764825178:3802697764825788 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 190 +3802697764826668:3802697764827609 1969:1973 hsa_signal_store_screlease(, 190) = void +3802697764831529:3802697765227431 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c847fe000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697765229441:3802697765230161 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697765230952:3802697765231582 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 191 +3802697765232402:3802697765232982 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 190 +3802697765233752:3802697765234542 1969:1973 hsa_signal_store_screlease(, 191) = void +3802697765235482:3802697766131958 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697766134658:3802697766135468 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697766136568:3802697766139158 1969:1973 hsa_amd_memory_async_copy(0x7f5bee000010, , 0x7f5bf6200000, , , , 0, ) = 0 +3802697766140168:3802697767390788 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697767395648:3802697767400348 1969:1973 hsa_amd_profiling_get_dispatch_time(, , 0x7f5d951deb30) = 0 +3802697767407448:3802697767408618 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697767406408:3802697767463078 1969:1973 hsa_amd_memory_unlock(0x7f5c847fe000) = 0 +3802697774592171:3802697774593281 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697774642652:3802697774948964 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c84bff000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697774951704:3802697774952524 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697774953764:3802697774955794 1969:1973 hsa_amd_memory_async_copy(0x7f5bf6800000, , 0x7f5bee000010, , , , 0, ) = 0 +3802697774956944:3802697776298234 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697776305554:3802697776306094 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697776315374:3802697776315904 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697776326874:3802697776327474 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697776329194:3802697776329764 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697776331554:3802697776332164 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697776333694:3802697776334254 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697776343094:3802697776343694 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697776346654:3802697776347214 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697776308334:3802697776369534 1969:1973 hsa_amd_memory_unlock(0x7f5c84bff000) = 0 +3802697776376684:3802697776377464 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 192 +3802697776378424:3802697776379054 1969:1973 hsa_queue_load_read_index_relaxed(0x7f5d952ec000) = 192 +3802697776379974:3802697776380564 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 192 +3802697776381584:3802697776382504 1969:1973 hsa_signal_store_screlease(, 192) = void +3802697776386124:3802697776647606 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c847fe000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697776649516:3802697776650266 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697776651066:3802697776651706 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 193 +3802697776652516:3802697776653126 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 192 +3802697776653896:3802697776654696 1969:1973 hsa_signal_store_screlease(, 193) = void +3802697776655626:3802697777700574 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697777703274:3802697777704114 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697777705224:3802697777707954 1969:1973 hsa_amd_memory_async_copy(0x7f5bee000010, , 0x7f5bf6200000, , , , 0, ) = 0 +3802697777709034:3802697778960344 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697778965234:3802697778969614 1969:1973 hsa_amd_profiling_get_dispatch_time(, , 0x7f5d951deb30) = 0 +3802697778976444:3802697778977224 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697778977814:3802697779033974 1969:1973 hsa_amd_memory_unlock(0x7f5c847fe000) = 0 +3802697786163416:3802697786164766 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697786215647:3802697786519829 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c84bff000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697786522659:3802697786523429 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697786524659:3802697786526679 1969:1973 hsa_amd_memory_async_copy(0x7f5bf6800000, , 0x7f5bee000010, , , , 0, ) = 0 +3802697786527629:3802697787876019 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697787891589:3802697787892289 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697787899269:3802697787899799 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697787901649:3802697787902179 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697787904179:3802697787905249 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697787906829:3802697787907359 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697787908809:3802697787909339 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697787921859:3802697787922469 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697787927430:3802697787928030 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697787886389:3802697787948540 1969:1973 hsa_amd_memory_unlock(0x7f5c84bff000) = 0 +3802697787955630:3802697787956390 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 194 +3802697787957330:3802697787957950 1969:1973 hsa_queue_load_read_index_relaxed(0x7f5d952ec000) = 194 +3802697787958850:3802697787959440 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 194 +3802697787960330:3802697787961280 1969:1973 hsa_signal_store_screlease(, 194) = void +3802697787965170:3802697788237342 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c847fe000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697788239352:3802697788240082 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697788240872:3802697788241512 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 195 +3802697788242322:3802697788242922 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 194 +3802697788243672:3802697788244472 1969:1973 hsa_signal_store_screlease(, 195) = void +3802697788245392:3802697789270130 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697789272840:3802697789273710 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697789274910:3802697789277710 1969:1973 hsa_amd_memory_async_copy(0x7f5bee000010, , 0x7f5bf6200000, , , , 0, ) = 0 +3802697789278770:3802697790533019 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697790538079:3802697790542839 1969:1973 hsa_amd_profiling_get_dispatch_time(, , 0x7f5d951deb30) = 0 +3802697790550109:3802697790551629 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697790550959:3802697790607869 1969:1973 hsa_amd_memory_unlock(0x7f5c847fe000) = 0 +3802697797772363:3802697797773563 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697797831983:3802697798143986 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c84bff000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697798146686:3802697798147566 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697798148836:3802697798150876 1969:1973 hsa_amd_memory_async_copy(0x7f5bf6800000, , 0x7f5bee000010, , , , 0, ) = 0 +3802697798152046:3802697799501376 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697799508546:3802697799509256 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697799517826:3802697799518356 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697799520336:3802697799520856 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697799522516:3802697799523046 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697799533456:3802697799534066 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697799535626:3802697799536236 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697799545626:3802697799546236 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697799550396:3802697799550966 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697799510816:3802697799572836 1969:1973 hsa_amd_memory_unlock(0x7f5c84bff000) = 0 +3802697799579936:3802697799580696 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 196 +3802697799581636:3802697799582276 1969:1973 hsa_queue_load_read_index_relaxed(0x7f5d952ec000) = 196 +3802697799583166:3802697799583756 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 196 +3802697799584646:3802697799585576 1969:1973 hsa_signal_store_screlease(, 196) = void +3802697799589286:3802697799848088 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c847fe000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697799850038:3802697799850728 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697799851518:3802697799852138 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 197 +3802697799852938:3802697799853548 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 196 +3802697799854308:3802697799855098 1969:1973 hsa_signal_store_screlease(, 197) = void +3802697799856028:3802697800901316 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697800903976:3802697800904806 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697800905906:3802697800908496 1969:1973 hsa_amd_memory_async_copy(0x7f5bee000010, , 0x7f5bf6200000, , , , 0, ) = 0 +3802697800909486:3802697802162065 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697802167055:3802697802171495 1969:1973 hsa_amd_profiling_get_dispatch_time(, , 0x7f5d951deb30) = 0 +3802697802178016:3802697802179236 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697802178956:3802697802235986 1969:1973 hsa_amd_memory_unlock(0x7f5c847fe000) = 0 +3802697809391539:3802697809392779 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697809443109:3802697809755272 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c84bff000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697809758092:3802697809758902 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697809760152:3802697809762212 1969:1973 hsa_amd_memory_async_copy(0x7f5bf6800000, , 0x7f5bee000010, , , , 0, ) = 0 +3802697809763172:3802697811112301 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697811128011:3802697811128721 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697811136372:3802697811136902 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697811139092:3802697811139792 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba70) = 0 +3802697811143922:3802697811144452 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697811145862:3802697811146382 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba50) = 0 +3802697811147882:3802697811148402 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697811158672:3802697811159202 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba60) = 0 +3802697811165792:3802697811166322 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697811122701:3802697811184352 1969:1973 hsa_amd_memory_unlock(0x7f5c84bff000) = 0 +3802697811191512:3802697811192262 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 198 +3802697811193212:3802697811193842 1969:1973 hsa_queue_load_read_index_relaxed(0x7f5d952ec000) = 198 +3802697811194762:3802697811195362 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 198 +3802697811196242:3802697811197172 1969:1973 hsa_signal_store_screlease(, 198) = void +3802697811200972:3802697811459074 1969:1973 hsa_amd_memory_lock_to_pool(0x7f5c847fe000, , 0, 0, , , 0x7f5bf00a8ff8) = 0 +3802697811461104:3802697811461824 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697811462614:3802697811463244 1969:1973 hsa_queue_add_write_index_screlease(0x7f5d952ec000, ) = 199 +3802697811464034:3802697811464624 1969:1973 hsa_queue_load_read_index_scacquire(0x7f5d952ec000) = 198 +3802697811465364:3802697811466164 1969:1973 hsa_signal_store_screlease(, 199) = void +3802697811467094:3802697812503422 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697812504622:3802697812505162 1969:1973 hsa_signal_store_relaxed(, 1) = void +3802697812506042:3802697812508062 1969:1973 hsa_amd_memory_async_copy(0x7f5bee000010, , 0x7f5bf6200000, , , , 0, ) = 0 +3802697812508872:3802697813763341 1969:1973 hsa_signal_wait_scacquire(, 0, 0, , 0) = 0 +3802697813768391:3802697813772841 1969:1973 hsa_amd_profiling_get_dispatch_time(, , 0x7f5d951deb30) = 0 +3802697813779951:3802697813781381 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697813780691:3802697813837191 1969:1973 hsa_amd_memory_unlock(0x7f5c847fe000) = 0 +3802697821036955:3802697821038245 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697821055615:3802697821124106 1969:1969 hsa_amd_memory_pool_free(0x7f5bf6800000) = 0 +3802697821128046:3802697821128576 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697821130356:3802697821130886 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802697821132606:3802697821159136 1969:1969 hsa_amd_memory_pool_free(0x7f5bf6200000) = 0 +3802697821160676:3802697821161216 1969:1969 hsa_system_get_info(2, 0x7ffc1fedba90) = 0 +3802696640066056 1969:1969 0:"before hipLaunchKernel" +3802696640077916 1969:1969 1:"hipLaunchKernel" +3802696640676490 1969:1969 0:"after hipLaunchKernel" +3802696640677170 1969:1969 1:"hipMemcpy" +3802696644087455 1969:1969 2:"" +3802696644088025 1969:1969 2:"" +3802696654346991 1969:1969 0:"before hipLaunchKernel" +3802696654348491 1969:1969 1:"hipLaunchKernel" +3802696654378152 1969:1969 0:"after hipLaunchKernel" +3802696654378832 1969:1969 1:"hipMemcpy" +3802696657493335 1969:1969 2:"" +3802696657493845 1969:1969 2:"" +3802696667060606 1969:1969 0:"before hipLaunchKernel" +3802696667061916 1969:1969 1:"hipLaunchKernel" +3802696667082066 1969:1969 0:"after hipLaunchKernel" +3802696667082686 1969:1969 1:"hipMemcpy" +3802696669838286 1969:1969 2:"" +3802696669838766 1969:1969 2:"" +3802696679130065 1969:1969 0:"before hipLaunchKernel" +3802696679131545 1969:1969 1:"hipLaunchKernel" +3802696679157575 1969:1969 0:"after hipLaunchKernel" +3802696679158185 1969:1969 1:"hipMemcpy" +3802696681870935 1969:1969 2:"" +3802696681871495 1969:1969 2:"" +3802696691165074 1969:1969 0:"before hipLaunchKernel" +3802696691167014 1969:1969 1:"hipLaunchKernel" +3802696691193095 1969:1969 0:"after hipLaunchKernel" +3802696691193715 1969:1969 1:"hipMemcpy" +3802696693882825 1969:1969 2:"" +3802696693883305 1969:1969 2:"" +3802696703201643 1969:1969 0:"before hipLaunchKernel" +3802696703203163 1969:1969 1:"hipLaunchKernel" +3802696703228303 1969:1969 0:"after hipLaunchKernel" +3802696703228933 1969:1969 1:"hipMemcpy" +3802696705942833 1969:1969 2:"" +3802696705943353 1969:1969 2:"" +3802696715266893 1969:1969 0:"before hipLaunchKernel" +3802696715268963 1969:1969 1:"hipLaunchKernel" +3802696715297093 1969:1969 0:"after hipLaunchKernel" +3802696715297723 1969:1969 1:"hipMemcpy" +3802696718003833 1969:1969 2:"" +3802696718004313 1969:1969 2:"" +3802696727345372 1969:1969 0:"before hipLaunchKernel" +3802696727346782 1969:1969 1:"hipLaunchKernel" +3802696727370332 1969:1969 0:"after hipLaunchKernel" +3802696727370952 1969:1969 1:"hipMemcpy" +3802696730083292 1969:1969 2:"" +3802696730083822 1969:1969 2:"" +3802696739378991 1969:1969 0:"before hipLaunchKernel" +3802696739380451 1969:1969 1:"hipLaunchKernel" +3802696739406892 1969:1969 0:"after hipLaunchKernel" +3802696739407552 1969:1969 1:"hipMemcpy" +3802696742439074 1969:1969 2:"" +3802696742439614 1969:1969 2:"" +3802696751656322 1969:1969 0:"before hipLaunchKernel" +3802696751657692 1969:1969 1:"hipLaunchKernel" +3802696751679432 1969:1969 0:"after hipLaunchKernel" +3802696751680052 1969:1969 1:"hipMemcpy" +3802696754500893 1969:1969 2:"" +3802696754501423 1969:1969 2:"" +3802696763883853 1969:1969 0:"before hipLaunchKernel" +3802696763885333 1969:1969 1:"hipLaunchKernel" +3802696763908683 1969:1969 0:"after hipLaunchKernel" +3802696763909313 1969:1969 1:"hipMemcpy" +3802696766873945 1969:1969 2:"" +3802696766874495 1969:1969 2:"" +3802696776393096 1969:1969 0:"before hipLaunchKernel" +3802696776394636 1969:1969 1:"hipLaunchKernel" +3802696776416376 1969:1969 0:"after hipLaunchKernel" +3802696776417006 1969:1969 1:"hipMemcpy" +3802696779434308 1969:1969 2:"" +3802696779434818 1969:1969 2:"" +3802696788885898 1969:1969 0:"before hipLaunchKernel" +3802696788887888 1969:1969 1:"hipLaunchKernel" +3802696788911638 1969:1969 0:"after hipLaunchKernel" +3802696788912248 1969:1969 1:"hipMemcpy" +3802696791889740 1969:1969 2:"" +3802696791890230 1969:1969 2:"" +3802696801361901 1969:1969 0:"before hipLaunchKernel" +3802696801363331 1969:1969 1:"hipLaunchKernel" +3802696801384511 1969:1969 0:"after hipLaunchKernel" +3802696801385121 1969:1969 1:"hipMemcpy" +3802696804141361 1969:1969 2:"" +3802696804141901 1969:1969 2:"" +3802696813507360 1969:1969 0:"before hipLaunchKernel" +3802696813508740 1969:1969 1:"hipLaunchKernel" +3802696813534251 1969:1969 0:"after hipLaunchKernel" +3802696813534881 1969:1969 1:"hipMemcpy" +3802696816319721 1969:1969 2:"" +3802696816320201 1969:1969 2:"" +3802696825691711 1969:1969 0:"before hipLaunchKernel" +3802696825693311 1969:1969 1:"hipLaunchKernel" +3802696825718991 1969:1969 0:"after hipLaunchKernel" +3802696825719661 1969:1969 1:"hipMemcpy" +3802696828357681 1969:1969 2:"" +3802696828358201 1969:1969 2:"" +3802696837718200 1969:1969 0:"before hipLaunchKernel" +3802696837719580 1969:1969 1:"hipLaunchKernel" +3802696837745350 1969:1969 0:"after hipLaunchKernel" +3802696837746030 1969:1969 1:"hipMemcpy" +3802696840672302 1969:1969 2:"" +3802696840672822 1969:1969 2:"" +3802696850125582 1969:1969 0:"before hipLaunchKernel" +3802696850130022 1969:1969 1:"hipLaunchKernel" +3802696850151392 1969:1969 0:"after hipLaunchKernel" +3802696850152022 1969:1969 1:"hipMemcpy" +3802696852908273 1969:1969 2:"" +3802696852908813 1969:1969 2:"" +3802696862412563 1969:1969 0:"before hipLaunchKernel" +3802696862414233 1969:1969 1:"hipLaunchKernel" +3802696862440343 1969:1969 0:"after hipLaunchKernel" +3802696862440963 1969:1969 1:"hipMemcpy" +3802696865527256 1969:1969 2:"" +3802696865527796 1969:1969 2:"" +3802696874778025 1969:1969 0:"before hipLaunchKernel" +3802696874779245 1969:1969 1:"hipLaunchKernel" +3802696874799345 1969:1969 0:"after hipLaunchKernel" +3802696874799985 1969:1969 1:"hipMemcpy" +3802696877703346 1969:1969 2:"" +3802696877703896 1969:1969 2:"" +3802696887395108 1969:1969 0:"before hipLaunchKernel" +3802696887396638 1969:1969 1:"hipLaunchKernel" +3802696887421338 1969:1969 0:"after hipLaunchKernel" +3802696887422048 1969:1969 1:"hipMemcpy" +3802696890493641 1969:1969 2:"" +3802696890494221 1969:1969 2:"" +3802696899702109 1969:1969 0:"before hipLaunchKernel" +3802696899703629 1969:1969 1:"hipLaunchKernel" +3802696899722759 1969:1969 0:"after hipLaunchKernel" +3802696899723479 1969:1969 1:"hipMemcpy" +3802696902527070 1969:1969 2:"" +3802696902527570 1969:1969 2:"" +3802696911746708 1969:1969 0:"before hipLaunchKernel" +3802696911748218 1969:1969 1:"hipLaunchKernel" +3802696911774138 1969:1969 0:"after hipLaunchKernel" +3802696911774778 1969:1969 1:"hipMemcpy" +3802696914826631 1969:1969 2:"" +3802696914827261 1969:1969 2:"" +3802696924279691 1969:1969 0:"before hipLaunchKernel" +3802696924281441 1969:1969 1:"hipLaunchKernel" +3802696924305491 1969:1969 0:"after hipLaunchKernel" +3802696924306121 1969:1969 1:"hipMemcpy" +3802696927051682 1969:1969 2:"" +3802696927052152 1969:1969 2:"" +3802696936537452 1969:1969 0:"before hipLaunchKernel" +3802696936538702 1969:1969 1:"hipLaunchKernel" +3802696936565432 1969:1969 0:"after hipLaunchKernel" +3802696936566052 1969:1969 1:"hipMemcpy" +3802696939434343 1969:1969 2:"" +3802696939434823 1969:1969 2:"" +3802696948890553 1969:1969 0:"before hipLaunchKernel" +3802696948891883 1969:1969 1:"hipLaunchKernel" +3802696948918554 1969:1969 0:"after hipLaunchKernel" +3802696948919194 1969:1969 1:"hipMemcpy" +3802696951899716 1969:1969 2:"" +3802696951900166 1969:1969 2:"" +3802696961380516 1969:1969 0:"before hipLaunchKernel" +3802696961381766 1969:1969 1:"hipLaunchKernel" +3802696961409276 1969:1969 0:"after hipLaunchKernel" +3802696961409926 1969:1969 1:"hipMemcpy" +3802696964032815 1969:1969 2:"" +3802696964033335 1969:1969 2:"" +3802696973434905 1969:1969 0:"before hipLaunchKernel" +3802696973436325 1969:1969 1:"hipLaunchKernel" +3802696973458045 1969:1969 0:"after hipLaunchKernel" +3802696973458655 1969:1969 1:"hipMemcpy" +3802696976521798 1969:1969 2:"" +3802696976522348 1969:1969 2:"" +3802696985873598 1969:1969 0:"before hipLaunchKernel" +3802696985874758 1969:1969 1:"hipLaunchKernel" +3802696985895938 1969:1969 0:"after hipLaunchKernel" +3802696985896588 1969:1969 1:"hipMemcpy" +3802696988794189 1969:1969 2:"" +3802696988794719 1969:1969 2:"" +3802696998242289 1969:1969 0:"before hipLaunchKernel" +3802696998243779 1969:1969 1:"hipLaunchKernel" +3802696998266029 1969:1969 0:"after hipLaunchKernel" +3802696998266649 1969:1969 1:"hipMemcpy" +3802697001033170 1969:1969 2:"" +3802697001033700 1969:1969 2:"" +3802697010360879 1969:1969 0:"before hipLaunchKernel" +3802697010362259 1969:1969 1:"hipLaunchKernel" +3802697010384079 1969:1969 0:"after hipLaunchKernel" +3802697010384739 1969:1969 1:"hipMemcpy" +3802697013168920 1969:1969 2:"" +3802697013169420 1969:1969 2:"" +3802697022162466 1969:1969 0:"before hipLaunchKernel" +3802697022164376 1969:1969 1:"hipLaunchKernel" +3802697022201056 1969:1969 0:"after hipLaunchKernel" +3802697022201596 1969:1969 1:"hipMemcpy" +3802697024920857 1969:1969 2:"" +3802697024921387 1969:1969 2:"" +3802697033887383 1969:1969 0:"before hipLaunchKernel" +3802697033888613 1969:1969 1:"hipLaunchKernel" +3802697033912823 1969:1969 0:"after hipLaunchKernel" +3802697033913393 1969:1969 1:"hipMemcpy" +3802697036532153 1969:1969 2:"" +3802697036532563 1969:1969 2:"" +3802697045442128 1969:1969 0:"before hipLaunchKernel" +3802697045443818 1969:1969 1:"hipLaunchKernel" +3802697045474649 1969:1969 0:"after hipLaunchKernel" +3802697045475199 1969:1969 1:"hipMemcpy" +3802697048102428 1969:1969 2:"" +3802697048102858 1969:1969 2:"" +3802697057021814 1969:1969 0:"before hipLaunchKernel" +3802697057024795 1969:1969 1:"hipLaunchKernel" +3802697057049555 1969:1969 0:"after hipLaunchKernel" +3802697057050135 1969:1969 1:"hipMemcpy" +3802697059682984 1969:1969 2:"" +3802697059683414 1969:1969 2:"" +3802697068571110 1969:1969 0:"before hipLaunchKernel" +3802697068573090 1969:1969 1:"hipLaunchKernel" +3802697068604261 1969:1969 0:"after hipLaunchKernel" +3802697068604861 1969:1969 1:"hipMemcpy" +3802697071234370 1969:1969 2:"" +3802697071234800 1969:1969 2:"" +3802697080141516 1969:1969 0:"before hipLaunchKernel" +3802697080143136 1969:1969 1:"hipLaunchKernel" +3802697080168276 1969:1969 0:"after hipLaunchKernel" +3802697080168856 1969:1969 1:"hipMemcpy" +3802697082794695 1969:1969 2:"" +3802697082795105 1969:1969 2:"" +3802697091706802 1969:1969 0:"before hipLaunchKernel" +3802697091708392 1969:1969 1:"hipLaunchKernel" +3802697091738112 1969:1969 0:"after hipLaunchKernel" +3802697091738672 1969:1969 1:"hipMemcpy" +3802697094374172 1969:1969 2:"" +3802697094374592 1969:1969 2:"" +3802697103281737 1969:1969 0:"before hipLaunchKernel" +3802697103283037 1969:1969 1:"hipLaunchKernel" +3802697103308387 1969:1969 0:"after hipLaunchKernel" +3802697103308957 1969:1969 1:"hipMemcpy" +3802697105936667 1969:1969 2:"" +3802697105937097 1969:1969 2:"" +3802697114833363 1969:1969 0:"before hipLaunchKernel" +3802697114835383 1969:1969 1:"hipLaunchKernel" +3802697114873653 1969:1969 0:"after hipLaunchKernel" +3802697114877913 1969:1969 1:"hipMemcpy" +3802697117492283 1969:1969 2:"" +3802697117492713 1969:1969 2:"" +3802697126392608 1969:1969 0:"before hipLaunchKernel" +3802697126393748 1969:1969 1:"hipLaunchKernel" +3802697126417308 1969:1969 0:"after hipLaunchKernel" +3802697126417878 1969:1969 1:"hipMemcpy" +3802697129075958 1969:1969 2:"" +3802697129076388 1969:1969 2:"" +3802697137982094 1969:1969 0:"before hipLaunchKernel" +3802697137983704 1969:1969 1:"hipLaunchKernel" +3802697138014205 1969:1969 0:"after hipLaunchKernel" +3802697138014765 1969:1969 1:"hipMemcpy" +3802697140635234 1969:1969 2:"" +3802697140635644 1969:1969 2:"" +3802697149551850 1969:1969 0:"before hipLaunchKernel" +3802697149553340 1969:1969 1:"hipLaunchKernel" +3802697149578070 1969:1969 0:"after hipLaunchKernel" +3802697149578630 1969:1969 1:"hipMemcpy" +3802697152210479 1969:1969 2:"" +3802697152210889 1969:1969 2:"" +3802697161113106 1969:1969 0:"before hipLaunchKernel" +3802697161114836 1969:1969 1:"hipLaunchKernel" +3802697161148336 1969:1969 0:"after hipLaunchKernel" +3802697161148886 1969:1969 1:"hipMemcpy" +3802697163783495 1969:1969 2:"" +3802697163783985 1969:1969 2:"" +3802697172670492 1969:1969 0:"before hipLaunchKernel" +3802697172671942 1969:1969 1:"hipLaunchKernel" +3802697172704232 1969:1969 0:"after hipLaunchKernel" +3802697172704792 1969:1969 1:"hipMemcpy" +3802697175433242 1969:1969 2:"" +3802697175433732 1969:1969 2:"" +3802697184423158 1969:1969 0:"before hipLaunchKernel" +3802697184424778 1969:1969 1:"hipLaunchKernel" +3802697184457578 1969:1969 0:"after hipLaunchKernel" +3802697184458138 1969:1969 1:"hipMemcpy" +3802697187091688 1969:1969 2:"" +3802697187092188 1969:1969 2:"" +3802697195994444 1969:1969 0:"before hipLaunchKernel" +3802697195995644 1969:1969 1:"hipLaunchKernel" +3802697196041125 1969:1969 0:"after hipLaunchKernel" +3802697196041715 1969:1969 1:"hipMemcpy" +3802697198672044 1969:1969 2:"" +3802697198672464 1969:1969 2:"" +3802697207577860 1969:1969 0:"before hipLaunchKernel" +3802697207579910 1969:1969 1:"hipLaunchKernel" +3802697207612150 1969:1969 0:"after hipLaunchKernel" +3802697207612700 1969:1969 1:"hipMemcpy" +3802697210256429 1969:1969 2:"" +3802697210256869 1969:1969 2:"" +3802697219164376 1969:1969 0:"before hipLaunchKernel" +3802697219165566 1969:1969 1:"hipLaunchKernel" +3802697219198436 1969:1969 0:"after hipLaunchKernel" +3802697219198996 1969:1969 1:"hipMemcpy" +3802697221820386 1969:1969 2:"" +3802697221820816 1969:1969 2:"" +3802697230726491 1969:1969 0:"before hipLaunchKernel" +3802697230728261 1969:1969 1:"hipLaunchKernel" +3802697230753031 1969:1969 0:"after hipLaunchKernel" +3802697230753581 1969:1969 1:"hipMemcpy" +3802697233391361 1969:1969 2:"" +3802697233391791 1969:1969 2:"" +3802697242295967 1969:1969 0:"before hipLaunchKernel" +3802697242297377 1969:1969 1:"hipLaunchKernel" +3802697242328467 1969:1969 0:"after hipLaunchKernel" +3802697242328997 1969:1969 1:"hipMemcpy" +3802697244974417 1969:1969 2:"" +3802697244974827 1969:1969 2:"" +3802697253885633 1969:1969 0:"before hipLaunchKernel" +3802697253889373 1969:1969 1:"hipLaunchKernel" +3802697253913973 1969:1969 0:"after hipLaunchKernel" +3802697253914523 1969:1969 1:"hipMemcpy" +3802697256530653 1969:1969 2:"" +3802697256531093 1969:1969 2:"" +3802697265426648 1969:1969 0:"before hipLaunchKernel" +3802697265428228 1969:1969 1:"hipLaunchKernel" +3802697265458638 1969:1969 0:"after hipLaunchKernel" +3802697265459208 1969:1969 1:"hipMemcpy" +3802697268098168 1969:1969 2:"" +3802697268098598 1969:1969 2:"" +3802697277006494 1969:1969 0:"before hipLaunchKernel" +3802697277008124 1969:1969 1:"hipLaunchKernel" +3802697277034065 1969:1969 0:"after hipLaunchKernel" +3802697277034615 1969:1969 1:"hipMemcpy" +3802697279670124 1969:1969 2:"" +3802697279670554 1969:1969 2:"" +3802697288776271 1969:1969 0:"before hipLaunchKernel" +3802697288777751 1969:1969 1:"hipLaunchKernel" +3802697288810821 1969:1969 0:"after hipLaunchKernel" +3802697288811311 1969:1969 1:"hipMemcpy" +3802697291437401 1969:1969 2:"" +3802697291437811 1969:1969 2:"" +3802697300336457 1969:1969 0:"before hipLaunchKernel" +3802697300338437 1969:1969 1:"hipLaunchKernel" +3802697300364907 1969:1969 0:"after hipLaunchKernel" +3802697300365377 1969:1969 1:"hipMemcpy" +3802697302998907 1969:1969 2:"" +3802697302999327 1969:1969 2:"" +3802697311897732 1969:1969 0:"before hipLaunchKernel" +3802697311898982 1969:1969 1:"hipLaunchKernel" +3802697311928953 1969:1969 0:"after hipLaunchKernel" +3802697311929443 1969:1969 1:"hipMemcpy" +3802697314563202 1969:1969 2:"" +3802697314563642 1969:1969 2:"" +3802697323474258 1969:1969 0:"before hipLaunchKernel" +3802697323475938 1969:1969 1:"hipLaunchKernel" +3802697323500399 1969:1969 0:"after hipLaunchKernel" +3802697323500949 1969:1969 1:"hipMemcpy" +3802697326142058 1969:1969 2:"" +3802697326142498 1969:1969 2:"" +3802697335288816 1969:1969 0:"before hipLaunchKernel" +3802697335289976 1969:1969 1:"hipLaunchKernel" +3802697335323447 1969:1969 0:"after hipLaunchKernel" +3802697335323937 1969:1969 1:"hipMemcpy" +3802697337935166 1969:1969 2:"" +3802697337935586 1969:1969 2:"" +3802697346857532 1969:1969 0:"before hipLaunchKernel" +3802697346859132 1969:1969 1:"hipLaunchKernel" +3802697346884032 1969:1969 0:"after hipLaunchKernel" +3802697346884502 1969:1969 1:"hipMemcpy" +3802697349497481 1969:1969 2:"" +3802697349497911 1969:1969 2:"" +3802697358403157 1969:1969 0:"before hipLaunchKernel" +3802697358404437 1969:1969 1:"hipLaunchKernel" +3802697358437828 1969:1969 0:"after hipLaunchKernel" +3802697358438318 1969:1969 1:"hipMemcpy" +3802697361079417 1969:1969 2:"" +3802697361079847 1969:1969 2:"" +3802697369978853 1969:1969 0:"before hipLaunchKernel" +3802697369980463 1969:1969 1:"hipLaunchKernel" +3802697370005263 1969:1969 0:"after hipLaunchKernel" +3802697370005813 1969:1969 1:"hipMemcpy" +3802697372636653 1969:1969 2:"" +3802697372637073 1969:1969 2:"" +3802697381540089 1969:1969 0:"before hipLaunchKernel" +3802697381541449 1969:1969 1:"hipLaunchKernel" +3802697381573249 1969:1969 0:"after hipLaunchKernel" +3802697381573739 1969:1969 1:"hipMemcpy" +3802697384230019 1969:1969 2:"" +3802697384230449 1969:1969 2:"" +3802697393325236 1969:1969 0:"before hipLaunchKernel" +3802697393326916 1969:1969 1:"hipLaunchKernel" +3802697393362736 1969:1969 0:"after hipLaunchKernel" +3802697393363226 1969:1969 1:"hipMemcpy" +3802697395993135 1969:1969 2:"" +3802697395993555 1969:1969 2:"" +3802697404884342 1969:1969 0:"before hipLaunchKernel" +3802697404885592 1969:1969 1:"hipLaunchKernel" +3802697404916232 1969:1969 0:"after hipLaunchKernel" +3802697404916842 1969:1969 1:"hipMemcpy" +3802697407559861 1969:1969 2:"" +3802697407560261 1969:1969 2:"" +3802697416458888 1969:1969 0:"before hipLaunchKernel" +3802697416460508 1969:1969 1:"hipLaunchKernel" +3802697416484348 1969:1969 0:"after hipLaunchKernel" +3802697416484808 1969:1969 1:"hipMemcpy" +3802697419130938 1969:1969 2:"" +3802697419131358 1969:1969 2:"" +3802697428186274 1969:1969 0:"before hipLaunchKernel" +3802697428187634 1969:1969 1:"hipLaunchKernel" +3802697428217954 1969:1969 0:"after hipLaunchKernel" +3802697428218524 1969:1969 1:"hipMemcpy" +3802697430849794 1969:1969 2:"" +3802697430850194 1969:1969 2:"" +3802697439813751 1969:1969 0:"before hipLaunchKernel" +3802697439815341 1969:1969 1:"hipLaunchKernel" +3802697439841101 1969:1969 0:"after hipLaunchKernel" +3802697439841571 1969:1969 1:"hipMemcpy" +3802697442477560 1969:1969 2:"" +3802697442478000 1969:1969 2:"" +3802697451398346 1969:1969 0:"before hipLaunchKernel" +3802697451399436 1969:1969 1:"hipLaunchKernel" +3802697451432836 1969:1969 0:"after hipLaunchKernel" +3802697451433486 1969:1969 1:"hipMemcpy" +3802697454071426 1969:1969 2:"" +3802697454071906 1969:1969 2:"" +3802697462991002 1969:1969 0:"before hipLaunchKernel" +3802697462992872 1969:1969 1:"hipLaunchKernel" +3802697463026062 1969:1969 0:"after hipLaunchKernel" +3802697463026522 1969:1969 1:"hipMemcpy" +3802697465642382 1969:1969 2:"" +3802697465642812 1969:1969 2:"" +3802697474700589 1969:1969 0:"before hipLaunchKernel" +3802697474701819 1969:1969 1:"hipLaunchKernel" +3802697474725719 1969:1969 0:"after hipLaunchKernel" +3802697474726449 1969:1969 1:"hipMemcpy" +3802697477351699 1969:1969 2:"" +3802697477352119 1969:1969 2:"" +3802697486247884 1969:1969 0:"before hipLaunchKernel" +3802697486249954 1969:1969 1:"hipLaunchKernel" +3802697486285795 1969:1969 0:"after hipLaunchKernel" +3802697486286275 1969:1969 1:"hipMemcpy" +3802697488927744 1969:1969 2:"" +3802697488928154 1969:1969 2:"" +3802697497972412 1969:1969 0:"before hipLaunchKernel" +3802697497973852 1969:1969 1:"hipLaunchKernel" +3802697497998102 1969:1969 0:"after hipLaunchKernel" +3802697497998792 1969:1969 1:"hipMemcpy" +3802697500609531 1969:1969 2:"" +3802697500610031 1969:1969 2:"" +3802697509543617 1969:1969 0:"before hipLaunchKernel" +3802697509545247 1969:1969 1:"hipLaunchKernel" +3802697509577827 1969:1969 0:"after hipLaunchKernel" +3802697509578287 1969:1969 1:"hipMemcpy" +3802697512195977 1969:1969 2:"" +3802697512196417 1969:1969 2:"" +3802697521115223 1969:1969 0:"before hipLaunchKernel" +3802697521116653 1969:1969 1:"hipLaunchKernel" +3802697521141633 1969:1969 0:"after hipLaunchKernel" +3802697521142203 1969:1969 1:"hipMemcpy" +3802697523764803 1969:1969 2:"" +3802697523765223 1969:1969 2:"" +3802697532650699 1969:1969 0:"before hipLaunchKernel" +3802697532652319 1969:1969 1:"hipLaunchKernel" +3802697532682329 1969:1969 0:"after hipLaunchKernel" +3802697532682799 1969:1969 1:"hipMemcpy" +3802697535397178 1969:1969 2:"" +3802697535397658 1969:1969 2:"" +3802697544391625 1969:1969 0:"before hipLaunchKernel" +3802697544392885 1969:1969 1:"hipLaunchKernel" +3802697544419945 1969:1969 0:"after hipLaunchKernel" +3802697544420435 1969:1969 1:"hipMemcpy" +3802697547040935 1969:1969 2:"" +3802697547041355 1969:1969 2:"" +3802697555950041 1969:1969 0:"before hipLaunchKernel" +3802697555951761 1969:1969 1:"hipLaunchKernel" +3802697555981931 1969:1969 0:"after hipLaunchKernel" +3802697555982411 1969:1969 1:"hipMemcpy" +3802697558641691 1969:1969 2:"" +3802697558642121 1969:1969 2:"" +3802697567566077 1969:1969 0:"before hipLaunchKernel" +3802697567567317 1969:1969 1:"hipLaunchKernel" +3802697567593357 1969:1969 0:"after hipLaunchKernel" +3802697567593937 1969:1969 1:"hipMemcpy" +3802697570232327 1969:1969 2:"" +3802697570232747 1969:1969 2:"" +3802697579181383 1969:1969 0:"before hipLaunchKernel" +3802697579183373 1969:1969 1:"hipLaunchKernel" +3802697579217774 1969:1969 0:"after hipLaunchKernel" +3802697579218254 1969:1969 1:"hipMemcpy" +3802697581813093 1969:1969 2:"" +3802697581813513 1969:1969 2:"" +3802697590730898 1969:1969 0:"before hipLaunchKernel" +3802697590732088 1969:1969 1:"hipLaunchKernel" +3802697590757709 1969:1969 0:"after hipLaunchKernel" +3802697590758209 1969:1969 1:"hipMemcpy" +3802697593380358 1969:1969 2:"" +3802697593380788 1969:1969 2:"" +3802697602288294 1969:1969 0:"before hipLaunchKernel" +3802697602290024 1969:1969 1:"hipLaunchKernel" +3802697602323695 1969:1969 0:"after hipLaunchKernel" +3802697602324165 1969:1969 1:"hipMemcpy" +3802697604959264 1969:1969 2:"" +3802697604959674 1969:1969 2:"" +3802697613883240 1969:1969 0:"before hipLaunchKernel" +3802697613884710 1969:1969 1:"hipLaunchKernel" +3802697613906860 1969:1969 0:"after hipLaunchKernel" +3802697613907420 1969:1969 1:"hipMemcpy" +3802697616524059 1969:1969 2:"" +3802697616524469 1969:1969 2:"" +3802697625442106 1969:1969 0:"before hipLaunchKernel" +3802697625443776 1969:1969 1:"hipLaunchKernel" +3802697625474596 1969:1969 0:"after hipLaunchKernel" +3802697625475066 1969:1969 1:"hipMemcpy" +3802697628105476 1969:1969 2:"" +3802697628105906 1969:1969 2:"" +3802697637024872 1969:1969 0:"before hipLaunchKernel" +3802697637025972 1969:1969 1:"hipLaunchKernel" +3802697637049772 1969:1969 0:"after hipLaunchKernel" +3802697637050332 1969:1969 1:"hipMemcpy" +3802697639678142 1969:1969 2:"" +3802697639678562 1969:1969 2:"" +3802697648582867 1969:1969 0:"before hipLaunchKernel" +3802697648584457 1969:1969 1:"hipLaunchKernel" +3802697648615167 1969:1969 0:"after hipLaunchKernel" +3802697648615637 1969:1969 1:"hipMemcpy" +3802697651256717 1969:1969 2:"" +3802697651257137 1969:1969 2:"" +3802697660313364 1969:1969 0:"before hipLaunchKernel" +3802697660314854 1969:1969 1:"hipLaunchKernel" +3802697660339415 1969:1969 0:"after hipLaunchKernel" +3802697660339965 1969:1969 1:"hipMemcpy" +3802697662964444 1969:1969 2:"" +3802697662964844 1969:1969 2:"" +3802697671917520 1969:1969 0:"before hipLaunchKernel" +3802697671919610 1969:1969 1:"hipLaunchKernel" +3802697671951960 1969:1969 0:"after hipLaunchKernel" +3802697671952430 1969:1969 1:"hipMemcpy" +3802697674578150 1969:1969 2:"" +3802697674578570 1969:1969 2:"" +3802697683497286 1969:1969 0:"before hipLaunchKernel" +3802697683498646 1969:1969 1:"hipLaunchKernel" +3802697683531256 1969:1969 0:"after hipLaunchKernel" +3802697683531736 1969:1969 1:"hipMemcpy" +3802697686169726 1969:1969 2:"" +3802697686170146 1969:1969 2:"" +3802697695116222 1969:1969 0:"before hipLaunchKernel" +3802697695118192 1969:1969 1:"hipLaunchKernel" +3802697695146883 1969:1969 0:"after hipLaunchKernel" +3802697695147333 1969:1969 1:"hipMemcpy" +3802697697753352 1969:1969 2:"" +3802697697753782 1969:1969 2:"" +3802697706672518 1969:1969 0:"before hipLaunchKernel" +3802697706674138 1969:1969 1:"hipLaunchKernel" +3802697706706818 1969:1969 0:"after hipLaunchKernel" +3802697706707478 1969:1969 1:"hipMemcpy" +3802697709322127 1969:1969 2:"" +3802697709322557 1969:1969 2:"" +3802697718225923 1969:1969 0:"before hipLaunchKernel" +3802697718227643 1969:1969 1:"hipLaunchKernel" +3802697718260434 1969:1969 0:"after hipLaunchKernel" +3802697718261054 1969:1969 1:"hipMemcpy" +3802697720903433 1969:1969 2:"" +3802697720903853 1969:1969 2:"" +3802697729830279 1969:1969 0:"before hipLaunchKernel" +3802697729831449 1969:1969 1:"hipLaunchKernel" +3802697729863269 1969:1969 0:"after hipLaunchKernel" +3802697729863919 1969:1969 1:"hipMemcpy" +3802697732478889 1969:1969 2:"" +3802697732479319 1969:1969 2:"" +3802697741398905 1969:1969 0:"before hipLaunchKernel" +3802697741400105 1969:1969 1:"hipLaunchKernel" +3802697741424635 1969:1969 0:"after hipLaunchKernel" +3802697741425295 1969:1969 1:"hipMemcpy" +3802697744062865 1969:1969 2:"" +3802697744063295 1969:1969 2:"" +3802697752975921 1969:1969 0:"before hipLaunchKernel" +3802697752977111 1969:1969 1:"hipLaunchKernel" +3802697753009031 1969:1969 0:"after hipLaunchKernel" +3802697753009691 1969:1969 1:"hipMemcpy" +3802697755644760 1969:1969 2:"" +3802697755645180 1969:1969 2:"" +3802697764760328 1969:1969 0:"before hipLaunchKernel" +3802697764761548 1969:1969 1:"hipLaunchKernel" +3802697764791588 1969:1969 0:"after hipLaunchKernel" +3802697764792338 1969:1969 1:"hipMemcpy" +3802697767411338 1969:1969 2:"" +3802697767411768 1969:1969 2:"" +3802697776312354 1969:1969 0:"before hipLaunchKernel" +3802697776313614 1969:1969 1:"hipLaunchKernel" +3802697776345234 1969:1969 0:"after hipLaunchKernel" +3802697776345884 1969:1969 1:"hipMemcpy" +3802697778980024 1969:1969 2:"" +3802697778980824 1969:1969 2:"" +3802697787896619 1969:1969 0:"before hipLaunchKernel" +3802697787897679 1969:1969 1:"hipLaunchKernel" +3802697787925330 1969:1969 0:"after hipLaunchKernel" +3802697787926290 1969:1969 1:"hipMemcpy" +3802697790554389 1969:1969 2:"" +3802697790554819 1969:1969 2:"" +3802697799514756 1969:1969 0:"before hipLaunchKernel" +3802697799516096 1969:1969 1:"hipLaunchKernel" +3802697799548376 1969:1969 0:"after hipLaunchKernel" +3802697799549396 1969:1969 1:"hipMemcpy" +3802697802182366 1969:1969 2:"" +3802697802182776 1969:1969 2:"" +3802697811133262 1969:1969 0:"before hipLaunchKernel" +3802697811134682 1969:1969 1:"hipLaunchKernel" +3802697811164182 1969:1969 0:"after hipLaunchKernel" +3802697811165142 1969:1969 1:"hipMemcpy" +3802697813784401 1969:1969 2:"" +3802697813784901 1969:1969 2:"" +3802696637970000:3802696640041366 0:0 CopyHostToDevice:4:1969 +3802696640702193:3802696641903883 0:0 KernelExecution:8:1969 +3802696640685320:3802696644062165 0:0 CopyDeviceToHost:10:1969 +3802696652370837:3802696654338831 0:0 CopyHostToDevice:11:1969 +3802696654471750:3802696655685144 0:0 KernelExecution:15:1969 +3802696654436782:3802696657478475 0:0 CopyDeviceToHost:17:1969 +3802696665009841:3802696667046736 0:0 CopyHostToDevice:18:1969 +3802696667166397:3802696668367346 0:0 KernelExecution:22:1969 +3802696667143257:3802696669822776 0:0 CopyDeviceToHost:24:1969 +3802696677213011:3802696679122295 0:0 CopyHostToDevice:25:1969 +3802696679243109:3802696680441836 0:0 KernelExecution:29:1969 +3802696679218436:3802696681856275 0:0 CopyDeviceToHost:31:1969 +3802696689228960:3802696691157594 0:0 CopyHostToDevice:32:1969 +3802696691271946:3802696692454228 0:0 KernelExecution:36:1969 +3802696691248725:3802696693867624 0:0 CopyDeviceToHost:38:1969 +3802696701258119:3802696703193593 0:0 CopyHostToDevice:39:1969 +3802696703306881:3802696704514201 0:0 KernelExecution:43:1969 +3802696703283484:3802696705928443 0:0 CopyDeviceToHost:45:1969 +3802696713296468:3802696715259523 0:0 CopyHostToDevice:46:1969 +3802696715371647:3802696716563855 0:0 KernelExecution:50:1969 +3802696715348963:3802696717989793 0:0 CopyDeviceToHost:52:1969 +3802696725365207:3802696727332082 0:0 CopyHostToDevice:53:1969 +3802696727446809:3802696728645388 0:0 KernelExecution:57:1969 +3802696727424062:3802696730069292 0:0 CopyDeviceToHost:59:1969 +3802696737440907:3802696739371591 0:0 CopyHostToDevice:60:1969 +3802696739484994:3802696740688017 0:0 KernelExecution:64:1969 +3802696739462092:3802696742424924 0:0 CopyDeviceToHost:66:1969 +3802696749756818:3802696751640962 0:0 CopyHostToDevice:67:1969 +3802696751757947:3802696752948081 0:0 KernelExecution:71:1969 +3802696751733533:3802696754485913 0:0 CopyDeviceToHost:73:1969 +3802696761977699:3802696763875733 0:0 CopyHostToDevice:74:1969 +3802696763992917:3802696765185273 0:0 KernelExecution:78:1969 +3802696763969384:3802696766859965 0:0 CopyDeviceToHost:80:1969 +3802696774485232:3802696776381536 0:0 CopyHostToDevice:81:1969 +3802696776496510:3802696777686644 0:0 KernelExecution:85:1969 +3802696776473636:3802696779420438 0:0 CopyDeviceToHost:87:1969 +3802696786985294:3802696788877458 0:0 CopyHostToDevice:88:1969 +3802696788991255:3802696790197389 0:0 KernelExecution:92:1969 +3802696788967899:3802696791874560 0:0 CopyDeviceToHost:94:1969 +3802696799390786:3802696801348840 0:0 CopyHostToDevice:95:1969 +3802696801461645:3802696802665557 0:0 KernelExecution:99:1969 +3802696801438801:3802696804123251 0:0 CopyDeviceToHost:101:1969 +3802696811598816:3802696813499630 0:0 CopyHostToDevice:102:1969 +3802696813628796:3802696814825894 0:0 KernelExecution:106:1969 +3802696813591051:3802696816306011 0:0 CopyDeviceToHost:108:1969 +3802696823768337:3802696825679171 0:0 CopyHostToDevice:109:1969 +3802696825795518:3802696827002245 0:0 KernelExecution:113:1969 +3802696825772002:3802696828344201 0:0 CopyDeviceToHost:115:1969 +3802696835807585:3802696837710010 0:0 CopyHostToDevice:116:1969 +3802696837824674:3802696839030216 0:0 KernelExecution:120:1969 +3802696837801090:3802696840659432 0:0 CopyDeviceToHost:122:1969 +3802696848201538:3802696850113022 0:0 CopyHostToDevice:123:1969 +3802696850228536:3802696851434819 0:0 KernelExecution:127:1969 +3802696850204883:3802696852894003 0:0 CopyDeviceToHost:129:1969 +3802696860505578:3802696862404772 0:0 CopyHostToDevice:130:1969 +3802696862518624:3802696863705499 0:0 KernelExecution:134:1969 +3802696862495933:3802696865512986 0:0 CopyDeviceToHost:136:1969 +3802696872863430:3802696874765294 0:0 CopyHostToDevice:137:1969 +3802696874879665:3802696876089207 0:0 KernelExecution:141:1969 +3802696874856175:3802696877685336 0:0 CopyDeviceToHost:143:1969 +3802696885100881:3802696887387458 0:0 CopyHostToDevice:144:1969 +3802696887505906:3802696888704040 0:0 KernelExecution:148:1969 +3802696887483168:3802696890479271 0:0 CopyDeviceToHost:150:1969 +3802696897803185:3802696899689929 0:0 CopyHostToDevice:151:1969 +3802696899809019:3802696901009080 0:0 KernelExecution:155:1969 +3802696899785550:3802696902511200 0:0 CopyDeviceToHost:157:1969 +3802696909840324:3802696911739018 0:0 CopyHostToDevice:158:1969 +3802696911859781:3802696913058804 0:0 KernelExecution:162:1969 +3802696911836349:3802696914812301 0:0 CopyDeviceToHost:164:1969 +3802696922336207:3802696924266071 0:0 CopyHostToDevice:165:1969 +3802696924379639:3802696925572143 0:0 KernelExecution:169:1969 +3802696924356762:3802696927036672 0:0 CopyDeviceToHost:171:1969 +3802696934646558:3802696936529602 0:0 CopyHostToDevice:172:1969 +3802696936644403:3802696937862982 0:0 KernelExecution:176:1969 +3802696936621093:3802696939420273 0:0 CopyDeviceToHost:178:1969 +3802696946990569:3802696948882273 0:0 CopyHostToDevice:179:1969 +3802696948995110:3802696950211319 0:0 KernelExecution:183:1969 +3802696948971944:3802696951884746 0:0 CopyDeviceToHost:185:1969 +3802696959418442:3802696961371916 0:0 CopyHostToDevice:186:1969 +3802696961487398:3802696962693088 0:0 KernelExecution:190:1969 +3802696961464617:3802696964018595 0:0 CopyDeviceToHost:192:1969 +3802696971390200:3802696973421935 0:0 CopyHostToDevice:193:1969 +3802696973536253:3802696974731572 0:0 KernelExecution:197:1969 +3802696973513486:3802696976508318 0:0 CopyDeviceToHost:199:1969 +3802696983936293:3802696985862278 0:0 CopyHostToDevice:200:1969 +3802696985976814:3802696987182653 0:0 KernelExecution:204:1969 +3802696985953408:3802696988779849 0:0 CopyDeviceToHost:206:1969 +3802696996291334:3802696998234809 0:0 CopyHostToDevice:207:1969 +3802696998349582:3802696999552753 0:0 KernelExecution:211:1969 +3802696998326300:3802697001019050 0:0 CopyDeviceToHost:213:1969 +3802697008386994:3802697010351309 0:0 CopyHostToDevice:214:1969 +3802697010464670:3802697011656286 0:0 KernelExecution:218:1969 +3802697010441950:3802697013142610 0:0 CopyDeviceToHost:220:1969 +3802697020389073:3802697022152906 0:0 CopyHostToDevice:221:1969 +3802697022262785:3802697023467142 0:0 KernelExecution:225:1969 +3802697022240587:3802697024900826 0:0 CopyDeviceToHost:227:1969 +3802697032199111:3802697033869083 0:0 CopyHostToDevice:228:1969 +3802697033974526:3802697035174734 0:0 KernelExecution:232:1969 +3802697033950364:3802697036516603 0:0 CopyDeviceToHost:234:1969 +3802697043761696:3802697045431988 0:0 CopyHostToDevice:235:1969 +3802697045536649:3802697046739821 0:0 KernelExecution:239:1969 +3802697045513499:3802697048085518 0:0 CopyDeviceToHost:241:1969 +3802697055327982:3802697057004304 0:0 CopyHostToDevice:242:1969 +3802697057109129:3802697058316597 0:0 KernelExecution:246:1969 +3802697057085675:3802697059665704 0:0 CopyDeviceToHost:248:1969 +3802697066895738:3802697068561680 0:0 CopyHostToDevice:249:1969 +3802697068658581:3802697069871828 0:0 KernelExecution:253:1969 +3802697068634061:3802697071217469 0:0 CopyDeviceToHost:255:1969 +3802697078458933:3802697080123546 0:0 CopyHostToDevice:256:1969 +3802697080227770:3802697081430349 0:0 KernelExecution:260:1969 +3802697080204076:3802697082776455 0:0 CopyDeviceToHost:262:1969 +3802697090025539:3802697091696762 0:0 CopyHostToDevice:263:1969 +3802697091802531:3802697093004962 0:0 KernelExecution:267:1969 +3802697091778532:3802697094356431 0:0 CopyDeviceToHost:269:1969 +3802697101598714:3802697103264697 0:0 CopyHostToDevice:270:1969 +3802697103381009:3802697104589070 0:0 KernelExecution:274:1969 +3802697103358348:3802697105918947 0:0 CopyDeviceToHost:276:1969 +3802697113161240:3802697114823533 0:0 CopyHostToDevice:277:1969 +3802697114941298:3802697116145951 0:0 KernelExecution:281:1969 +3802697114917384:3802697117474713 0:0 CopyDeviceToHost:283:1969 +3802697124712596:3802697126375298 0:0 CopyHostToDevice:284:1969 +3802697126491045:3802697127701329 0:0 KernelExecution:288:1969 +3802697126467929:3802697129056818 0:0 CopyDeviceToHost:290:1969 +3802697136301622:3802697137972234 0:0 CopyHostToDevice:291:1969 +3802697138085638:3802697139282884 0:0 KernelExecution:295:1969 +3802697138061075:3802697140619024 0:0 CopyDeviceToHost:297:1969 +3802697147866678:3802697149533780 0:0 CopyHostToDevice:298:1969 +3802697149648903:3802697150853111 0:0 KernelExecution:302:1969 +3802697149623541:3802697152192139 0:0 CopyDeviceToHost:304:1969 +3802697159439533:3802697161102415 0:0 CopyHostToDevice:305:1969 +3802697161216809:3802697162420574 0:0 KernelExecution:309:1969 +3802697161193736:3802697163766305 0:0 CopyDeviceToHost:311:1969 +3802697171004109:3802697172652911 0:0 CopyHostToDevice:312:1969 +3802697172757426:3802697173955116 0:0 KernelExecution:316:1969 +3802697172732972:3802697175412072 0:0 CopyDeviceToHost:318:1969 +3802697182760206:3802697184412858 0:0 CopyHostToDevice:319:1969 +3802697184525221:3802697185727207 0:0 KernelExecution:323:1969 +3802697184502499:3802697187074348 0:0 CopyDeviceToHost:325:1969 +3802697194314752:3802697195984364 0:0 CopyHostToDevice:326:1969 +3802697196107795:3802697197305781 0:0 KernelExecution:330:1969 +3802697196083925:3802697198652974 0:0 CopyDeviceToHost:332:1969 +3802697205902567:3802697207567769 0:0 CopyHostToDevice:333:1969 +3802697207683841:3802697208889827 0:0 KernelExecution:337:1969 +3802697207659390:3802697210239459 0:0 CopyDeviceToHost:339:1969 +3802697217477413:3802697219153736 0:0 CopyHostToDevice:340:1969 +3802697219268742:3802697220472358 0:0 KernelExecution:344:1969 +3802697219245796:3802697221802125 0:0 CopyDeviceToHost:346:1969 +3802697229046649:3802697230709291 0:0 CopyHostToDevice:347:1969 +3802697230823918:3802697232036275 0:0 KernelExecution:351:1969 +3802697230799702:3802697233370991 0:0 CopyDeviceToHost:353:1969 +3802697240619565:3802697242285887 0:0 CopyHostToDevice:354:1969 +3802697242400489:3802697243602327 0:0 KernelExecution:358:1969 +3802697242377418:3802697244957587 0:0 CopyDeviceToHost:360:1969 +3802697252208681:3802697253865823 0:0 CopyHostToDevice:361:1969 +3802697253979012:3802697255177591 0:0 KernelExecution:365:1969 +3802697253954744:3802697256515263 0:0 CopyDeviceToHost:367:1969 +3802697263753516:3802697265415408 0:0 CopyHostToDevice:368:1969 +3802697265528955:3802697266735830 0:0 KernelExecution:372:1969 +3802697265505559:3802697268080598 0:0 CopyDeviceToHost:374:1969 +3802697275321132:3802697276988734 0:0 CopyHostToDevice:375:1969 +3802697277104167:3802697278307043 0:0 KernelExecution:379:1969 +3802697277080025:3802697279652704 0:0 CopyDeviceToHost:381:1969 +3802697287106519:3802697288765991 0:0 CopyHostToDevice:382:1969 +3802697288880460:3802697290072816 0:0 KernelExecution:386:1969 +3802697288856122:3802697291419771 0:0 CopyDeviceToHost:388:1969 +3802697298669215:3802697300319987 0:0 CopyHostToDevice:389:1969 +3802697300433200:3802697301634594 0:0 KernelExecution:393:1969 +3802697300410318:3802697302981737 0:0 CopyDeviceToHost:395:1969 +3802697310226230:3802697311886902 0:0 CopyHostToDevice:396:1969 +3802697312001809:3802697313197573 0:0 KernelExecution:400:1969 +3802697311980253:3802697314545132 0:0 CopyDeviceToHost:402:1969 +3802697321796836:3802697323456938 0:0 CopyHostToDevice:403:1969 +3802697323574851:3802697324775059 0:0 KernelExecution:407:1969 +3802697323551999:3802697326123948 0:0 CopyDeviceToHost:409:1969 +3802697333382672:3802697335278646 0:0 CopyHostToDevice:410:1969 +3802697335394104:3802697336586905 0:0 KernelExecution:414:1969 +3802697335371017:3802697337917295 0:0 CopyDeviceToHost:416:1969 +3802697345174589:3802697346840611 0:0 CopyHostToDevice:417:1969 +3802697346954284:3802697348150048 0:0 KernelExecution:421:1969 +3802697346929712:3802697349480251 0:0 CopyDeviceToHost:423:1969 +3802697356730525:3802697358393207 0:0 CopyHostToDevice:424:1969 +3802697358505774:3802697359711908 0:0 KernelExecution:428:1969 +3802697358482688:3802697361061037 0:0 CopyDeviceToHost:430:1969 +3802697368296060:3802697369961283 0:0 CopyHostToDevice:431:1969 +3802697370076540:3802697371280749 0:0 KernelExecution:435:1969 +3802697370052343:3802697372618952 0:0 CopyDeviceToHost:437:1969 +3802697379854426:3802697381529429 0:0 CopyHostToDevice:438:1969 +3802697381669574:3802697382871561 0:0 KernelExecution:442:1969 +3802697381627299:3802697384212879 0:0 CopyDeviceToHost:444:1969 +3802697391640424:3802697393305796 0:0 CopyHostToDevice:445:1969 +3802697393420055:3802697394627523 0:0 KernelExecution:449:1969 +3802697393396937:3802697395973775 0:0 CopyDeviceToHost:451:1969 +3802697403210139:3802697404874291 0:0 CopyHostToDevice:452:1969 +3802697404987901:3802697406194480 0:0 KernelExecution:456:1969 +3802697404963452:3802697407541851 0:0 CopyDeviceToHost:458:1969 +3802697414792085:3802697416441578 0:0 CopyHostToDevice:459:1969 +3802697416553745:3802697417764769 0:0 KernelExecution:463:1969 +3802697416530688:3802697419111357 0:0 CopyDeviceToHost:465:1969 +3802697426357640:3802697428176194 0:0 CopyHostToDevice:466:1969 +3802697428281217:3802697429482463 0:0 KernelExecution:470:1969 +3802697428257595:3802697430832034 0:0 CopyDeviceToHost:472:1969 +3802697438127568:3802697439803341 0:0 CopyHostToDevice:473:1969 +3802697439908115:3802697441110545 0:0 KernelExecution:477:1969 +3802697439884961:3802697442457370 0:0 CopyDeviceToHost:479:1969 +3802697449713174:3802697451387876 0:0 CopyHostToDevice:480:1969 +3802697451493677:3802697452699960 0:0 KernelExecution:484:1969 +3802697451470807:3802697454048356 0:0 CopyDeviceToHost:486:1969 +3802697461301800:3802697462980532 0:0 CopyHostToDevice:487:1969 +3802697463087311:3802697464296261 0:0 KernelExecution:491:1969 +3802697463063563:3802697465624162 0:0 CopyDeviceToHost:493:1969 +3802697473010647:3802697474684319 0:0 CopyHostToDevice:494:1969 +3802697474791187:3802697475995247 0:0 KernelExecution:498:1969 +3802697474766630:3802697477333559 0:0 CopyDeviceToHost:500:1969 +3802697484576442:3802697486238314 0:0 CopyHostToDevice:501:1969 +3802697486344652:3802697487542935 0:0 KernelExecution:505:1969 +3802697486321615:3802697488909654 0:0 CopyDeviceToHost:507:1969 +3802697496284439:3802697497954091 0:0 CopyHostToDevice:508:1969 +3802697498059840:3802697499254418 0:0 KernelExecution:512:1969 +3802697498036132:3802697500592791 0:0 CopyDeviceToHost:514:1969 +3802697507844284:3802697509533537 0:0 CopyHostToDevice:515:1969 +3802697509639724:3802697510837414 0:0 KernelExecution:519:1969 +3802697509615617:3802697512178516 0:0 CopyDeviceToHost:521:1969 +3802697519420810:3802697521097933 0:0 CopyHostToDevice:522:1969 +3802697521203284:3802697522401863 0:0 KernelExecution:526:1969 +3802697521183063:3802697523746742 0:0 CopyDeviceToHost:528:1969 +3802697530980246:3802697532639829 0:0 CopyHostToDevice:529:1969 +3802697532741764:3802697533925083 0:0 KernelExecution:533:1969 +3802697532716169:3802697535378848 0:0 CopyDeviceToHost:535:1969 +3802697542711763:3802697544374825 0:0 CopyHostToDevice:536:1969 +3802697544482161:3802697545673332 0:0 KernelExecution:540:1969 +3802697544459136:3802697547022005 0:0 CopyDeviceToHost:542:1969 +3802697554268729:3802697555940141 0:0 CopyHostToDevice:543:1969 +3802697556063785:3802697557274660 0:0 KernelExecution:547:1969 +3802697556040072:3802697558623511 0:0 CopyDeviceToHost:549:1969 +3802697565876724:3802697567548507 0:0 CopyHostToDevice:550:1969 +3802697567654374:3802697568863769 0:0 KernelExecution:554:1969 +3802697567630707:3802697570214447 0:0 CopyDeviceToHost:556:1969 +3802697577493041:3802697579171593 0:0 CopyHostToDevice:557:1969 +3802697579276591:3802697580466577 0:0 KernelExecution:561:1969 +3802697579253814:3802697581795623 0:0 CopyDeviceToHost:563:1969 +3802697589038456:3802697590712578 0:0 CopyHostToDevice:564:1969 +3802697590819370:3802697592028023 0:0 KernelExecution:568:1969 +3802697590795159:3802697593362018 0:0 CopyDeviceToHost:570:1969 +3802697600611932:3802697602277954 0:0 CopyHostToDevice:571:1969 +3802697602386259:3802697603593134 0:0 KernelExecution:575:1969 +3802697602363205:3802697604941224 0:0 CopyDeviceToHost:577:1969 +3802697612185618:3802697613862940 0:0 CopyHostToDevice:578:1969 +3802697613968310:3802697615171038 0:0 KernelExecution:582:1969 +3802697613944481:3802697616506339 0:0 CopyDeviceToHost:584:1969 +3802697623760283:3802697625431596 0:0 CopyHostToDevice:585:1969 +3802697625536896:3802697626744513 0:0 KernelExecution:589:1969 +3802697625513736:3802697628089655 0:0 CopyDeviceToHost:591:1969 +3802697635325329:3802697637006352 0:0 CopyHostToDevice:592:1969 +3802697637111601:3802697638309290 0:0 KernelExecution:596:1969 +3802697637088112:3802697639657341 0:0 CopyDeviceToHost:598:1969 +3802697646910585:3802697648572337 0:0 CopyHostToDevice:599:1969 +3802697648692797:3802697649893301 0:0 KernelExecution:603:1969 +3802697648645148:3802697651239317 0:0 CopyDeviceToHost:605:1969 +3802697658475341:3802697660295544 0:0 CopyHostToDevice:606:1969 +3802697660398642:3802697661594554 0:0 KernelExecution:610:1969 +3802697660375245:3802697662941024 0:0 CopyDeviceToHost:612:1969 +3802697670236208:3802697671907260 0:0 CopyHostToDevice:613:1969 +3802697672014816:3802697673207765 0:0 KernelExecution:617:1969 +3802697671991410:3802697674560729 0:0 CopyDeviceToHost:619:1969 +3802697681816143:3802697683487016 0:0 CopyHostToDevice:620:1969 +3802697683592797:3802697684793895 0:0 KernelExecution:624:1969 +3802697683569646:3802697686149216 0:0 CopyDeviceToHost:626:1969 +3802697693424780:3802697695106672 0:0 CopyHostToDevice:627:1969 +3802697695212171:3802697696404972 0:0 KernelExecution:631:1969 +3802697695210703:3802697697734582 0:0 CopyDeviceToHost:633:1969 +3802697705009925:3802697706660467 0:0 CopyHostToDevice:634:1969 +3802697706767891:3802697707960099 0:0 KernelExecution:638:1969 +3802697706743098:3802697709302737 0:0 CopyDeviceToHost:640:1969 +3802697716548631:3802697718214823 0:0 CopyHostToDevice:641:1969 +3802697718322080:3802697719529104 0:0 KernelExecution:645:1969 +3802697718298954:3802697720886133 0:0 CopyDeviceToHost:647:1969 +3802697728134306:3802697729818739 0:0 CopyHostToDevice:648:1969 +3802697729925166:3802697731123596 0:0 KernelExecution:652:1969 +3802697729901970:3802697732462009 0:0 CopyDeviceToHost:654:1969 +3802697739707892:3802697741380565 0:0 CopyHostToDevice:655:1969 +3802697741490424:3802697742697744 0:0 KernelExecution:659:1969 +3802697741467626:3802697744045275 0:0 CopyDeviceToHost:661:1969 +3802697751291629:3802697752964761 0:0 CopyHostToDevice:662:1969 +3802697753074037:3802697754279875 0:0 KernelExecution:666:1969 +3802697753050711:3802697755626760 0:0 CopyDeviceToHost:668:1969 +3802697763069425:3802697764741028 0:0 CopyHostToDevice:669:1969 +3802697764852507:3802697766047234 0:0 KernelExecution:673:1969 +3802697764828879:3802697767393118 0:0 CopyDeviceToHost:675:1969 +3802697774635391:3802697776300724 0:0 CopyHostToDevice:676:1969 +3802697776406750:3802697777615996 0:0 KernelExecution:680:1969 +3802697776383624:3802697778962704 0:0 CopyDeviceToHost:682:1969 +3802697786208277:3802697787878729 0:0 CopyHostToDevice:683:1969 +3802697787986207:3802697789177378 0:0 KernelExecution:687:1969 +3802697787962550:3802697790535549 0:0 CopyDeviceToHost:689:1969 +3802697797824573:3802697799503976 0:0 CopyHostToDevice:690:1969 +3802697799609442:3802697800814984 0:0 KernelExecution:694:1969 +3802697799586736:3802697802164595 0:0 CopyDeviceToHost:696:1969 +3802697809435859:3802697811115011 0:0 CopyHostToDevice:697:1969 +3802697811222176:3802697812433792 0:0 KernelExecution:701:1969 +3802697811198442:3802697813765881 0:0 CopyDeviceToHost:703:1969 diff --git a/test/golden_traces/MatrixTranspose_test_trace.txt b/test/golden_traces/MatrixTranspose_test_trace.txt index 9292d17dba..bb62d7cb0c 100644 --- a/test/golden_traces/MatrixTranspose_test_trace.txt +++ b/test/golden_traces/MatrixTranspose_test_trace.txt @@ -1,6605 +1,6359 @@ ++ LD_PRELOAD=libkfdwrapper64.so ./test/MatrixTranspose_test # INIT ############################# # START (99) ############################# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - - - ptr(0x7ffc4af6f508) size(0x400000) - - - - - - - *ptr(0x0x903000000) - - - ptr(0x7ffc4af6f500) size(0x400000) - - - - - - - *ptr(0x0x903800000) - - - dst(0x903000000) src(0x1ec46c0) size(0x400000) kind(1) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - dst(0x22c46d0) src(0x903800000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Device 0 name: Device 687f + ptr(0x7fff13900c60) size(0x400000) + + + + + *ptr(0x0x7f0594a00000) + ptr(0x7fff13900c58) size(0x400000) + + + + + *ptr(0x0x7f0594400000) + dst(0x7f0594a00000) src(0x7f05957ff010) size(0x400000) kind(1) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +rocTX <"before hipLaunchKernel pid(1942) tid(1942)"> + + +rocTX <"hipLaunchKernel pid(1942) tid(1942)"> +<__hipPushCallConfiguration id(46) correlation_id(6) on-enter pid(1942) tid(1942)> +<__hipPushCallConfiguration id(46) correlation_id(6) on-exit pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(7) on-enter pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(7) on-exit pid(1942) tid(1942)> + + + + + + + +rocTX <"after hipLaunchKernel pid(1942) tid(1942)"> +rocTX <"hipMemcpy pid(1942) tid(1942)"> + dst(0x7f05953fe010) src(0x7f0594400000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +rocTX <"(null) pid(1942) tid(1942)"> +rocTX <"(null) pid(1942) tid(1942)"> + + + + PASSED! - - - ptr(0x903000000) - - - - - - - - - - ptr(0x903800000) - - - - - - - + ptr(0x7f0594a00000) + + + + + + ptr(0x7f0594400000) + + + + + # START (98) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (97) ############################# - - - - - - - - - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - - - ptr(0x7ffc4af6f508) size(0x400000) - - - - - - - *ptr(0x0x903000000) - - - ptr(0x7ffc4af6f500) size(0x400000) - - - - - - - *ptr(0x0x903800000) - - - dst(0x903000000) src(0x7fcff9073010) size(0x400000) kind(1) - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x2b84d10) src(0x903800000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + +Device 0 name: Device 687f + ptr(0x7fff13900c60) size(0x400000) + + + + + *ptr(0x0x7f0595600000) + ptr(0x7fff13900c58) size(0x400000) + + + + + *ptr(0x0x7f0595000000) + dst(0x7f0595600000) src(0x1ec5050) size(0x400000) kind(1) + + + + + + + + + +rocTX <"before hipLaunchKernel pid(1942) tid(1942)"> + +rocTX <"hipLaunchKernel pid(1942) tid(1942)"> +<__hipPushCallConfiguration id(46) correlation_id(17) on-enter pid(1942) tid(1942)> +<__hipPushCallConfiguration id(46) correlation_id(17) on-exit pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(18) on-enter pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(18) on-exit pid(1942) tid(1942)> + + + + +rocTX <"after hipLaunchKernel pid(1942) tid(1942)"> +rocTX <"hipMemcpy pid(1942) tid(1942)"> + dst(0x22c5060) src(0x7f0595000000) size(0x400000) kind(2) + + + + + + + + + + + + +rocTX <"(null) pid(1942) tid(1942)"> +rocTX <"(null) pid(1942) tid(1942)"> + + + + PASSED! - - - ptr(0x903000000) - - - - - - - - - - ptr(0x903800000) - - - - - - - + ptr(0x7f0595600000) + + + + + + ptr(0x7f0595000000) + + + + + # START (96) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (95) ############################# - - - - - - - - - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - - - ptr(0x7ffc4af6f508) size(0x400000) - - - - - - - *ptr(0x0x903000000) - - - ptr(0x7ffc4af6f500) size(0x400000) - - - - - - - *ptr(0x0x903800000) - - - dst(0x903000000) src(0x7fcff9073010) size(0x400000) kind(1) - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x2b84d10) src(0x903800000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - + + + + +Device 0 name: Device 687f + ptr(0x7fff13900c60) size(0x400000) + + + + + *ptr(0x0x7f0595600000) + ptr(0x7fff13900c58) size(0x400000) + + + + + *ptr(0x0x7f0595000000) + dst(0x7f0595600000) src(0x1ec5050) size(0x400000) kind(1) + + + + + + + + + +rocTX <"before hipLaunchKernel pid(1942) tid(1942)"> +rocTX <"hipLaunchKernel pid(1942) tid(1942)"> + +<__hipPushCallConfiguration id(46) correlation_id(28) on-enter pid(1942) tid(1942)> +<__hipPushCallConfiguration id(46) correlation_id(28) on-exit pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(29) on-enter pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(29) on-exit pid(1942) tid(1942)> + + + + +rocTX <"after hipLaunchKernel pid(1942) tid(1942)"> +rocTX <"hipMemcpy pid(1942) tid(1942)"> + dst(0x22c5060) src(0x7f0595000000) size(0x400000) kind(2) + + + + + + + + + + + + +rocTX <"(null) pid(1942) tid(1942)"> + +rocTX <"(null) pid(1942) tid(1942)"> + + + PASSED! - - - ptr(0x903000000) - - - - - - - - - - ptr(0x903800000) - - - - - - - + ptr(0x7f0595600000) + + + + + + ptr(0x7f0595000000) + + + + + # START (94) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (93) ############################# - - - - - - - - - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - - - ptr(0x7ffc4af6f508) size(0x400000) - - - - - - - *ptr(0x0x903000000) - - - ptr(0x7ffc4af6f500) size(0x400000) - - - - - - - *ptr(0x0x903800000) - - - dst(0x903000000) src(0x7fcff9073010) size(0x400000) kind(1) - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - - dst(0x2b84d10) src(0x903800000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + +Device 0 name: Device 687f + ptr(0x7fff13900c60) size(0x400000) + + + + + *ptr(0x0x7f0595600000) + ptr(0x7fff13900c58) size(0x400000) + + + + + *ptr(0x0x7f0595000000) + dst(0x7f0595600000) src(0x1ec5050) size(0x400000) kind(1) + + + + + + + + + +rocTX <"before hipLaunchKernel pid(1942) tid(1942)"> + +rocTX <"hipLaunchKernel pid(1942) tid(1942)"> +<__hipPushCallConfiguration id(46) correlation_id(39) on-enter pid(1942) tid(1942)> +<__hipPushCallConfiguration id(46) correlation_id(39) on-exit pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(40) on-enter pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(40) on-exit pid(1942) tid(1942)> + + +rocTX <"after hipLaunchKernel pid(1942) tid(1942)"> + + +rocTX <"hipMemcpy pid(1942) tid(1942)"> + dst(0x22c5060) src(0x7f0595000000) size(0x400000) kind(2) + + + + + + + + + + + + +rocTX <"(null) pid(1942) tid(1942)"> +rocTX <"(null) pid(1942) tid(1942)"> + + + + PASSED! - - - ptr(0x903000000) - - - - - - - - - - ptr(0x903800000) - - - - - - - + ptr(0x7f0595600000) + + + + + + ptr(0x7f0595000000) + + + + + # START (92) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (91) ############################# - - - - - - - - - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - Activity records: - hipSetDevice correlation_id(1) time_ns(43919407742828:43919407756296) process_id(26018) thread_id(26018) - hipGetDeviceProperties correlation_id(2) time_ns(43919407817087:43919407820516) process_id(26018) thread_id(26018) - hipMalloc correlation_id(3) time_ns(43919410011773:43919410120425) process_id(26018) thread_id(26018) - hipMalloc correlation_id(4) time_ns(43919410124840:43919410179960) process_id(26018) thread_id(26018) - (null) correlation_id(5) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(5) time_ns(43919410187829:43919415936514) process_id(26018) thread_id(26018) - (null) correlation_id(6) time_ns(0:0) external_id(33) - hipModuleLaunchKernel correlation_id(6) time_ns(43919700107716:43919702151719) process_id(26018) thread_id(26018) - hcCommandKernel correlation_id(6) time_ns(43919702156630:43919703997910) device_id(0) queue_id(0) - hcCommandMarker correlation_id(7) time_ns(43919704007210:43919704051050) device_id(0) queue_id(0) - (null) correlation_id(7) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(7) time_ns(43919702186876:43919705044964) process_id(26018) thread_id(26018) - (null) correlation_id(8) time_ns(0:0) external_id(31) - hipFree correlation_id(8) time_ns(43919719552955:43919719659234) process_id(26018) thread_id(26018) - (null) correlation_id(9) time_ns(0:0) external_id(31) - hipFree correlation_id(9) time_ns(43919719667174:43919719698129) process_id(26018) thread_id(26018) - hipSetDevice correlation_id(10) time_ns(43919740145117:43919740154775) process_id(26018) thread_id(26018) - hipGetDeviceProperties correlation_id(11) time_ns(43919740158543:43919740160977) process_id(26018) thread_id(26018) - hipMalloc correlation_id(12) time_ns(43919742293682:43919742344742) process_id(26018) thread_id(26018) - hipMalloc correlation_id(13) time_ns(43919742349121:43919742389355) process_id(26018) thread_id(26018) - (null) correlation_id(14) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(14) time_ns(43919742393482:43919743033105) process_id(26018) thread_id(26018) - (null) correlation_id(15) time_ns(0:0) external_id(33) - hipModuleLaunchKernel correlation_id(15) time_ns(43919743047173:43919743078643) process_id(26018) thread_id(26018) - hcCommandKernel correlation_id(15) time_ns(43919743084191:43919744928671) device_id(0) queue_id(0) - hcCommandMarker correlation_id(16) time_ns(43919744931570:43919744963410) device_id(0) queue_id(0) - (null) correlation_id(16) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(16) time_ns(43919743094358:43919745913718) process_id(26018) thread_id(26018) - (null) correlation_id(17) time_ns(0:0) external_id(31) - hipFree correlation_id(17) time_ns(43919760514161:43919760579549) process_id(26018) thread_id(26018) - (null) correlation_id(18) time_ns(0:0) external_id(31) - hipFree correlation_id(18) time_ns(43919760587004:43919760608342) process_id(26018) thread_id(26018) - hipSetDevice correlation_id(19) time_ns(43919781056008:43919781065861) process_id(26018) thread_id(26018) - hipGetDeviceProperties correlation_id(20) time_ns(43919781069562:43919781071963) process_id(26018) thread_id(26018) - hipMalloc correlation_id(21) time_ns(43919783224160:43919783274754) process_id(26018) thread_id(26018) - hipMalloc correlation_id(22) time_ns(43919783279008:43919783318551) process_id(26018) thread_id(26018) - (null) correlation_id(23) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(23) time_ns(43919783322836:43919783957646) process_id(26018) thread_id(26018) - (null) correlation_id(24) time_ns(0:0) external_id(33) - hipModuleLaunchKernel correlation_id(24) time_ns(43919783972133:43919784019162) process_id(26018) thread_id(26018) - hcCommandKernel correlation_id(24) time_ns(43919784024580:43919785862660) device_id(0) queue_id(0) - hcCommandMarker correlation_id(25) time_ns(43919785865600:43919785896960) device_id(0) queue_id(0) - (null) correlation_id(25) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(25) time_ns(43919784024115:43919786845437) process_id(26018) thread_id(26018) - (null) correlation_id(26) time_ns(0:0) external_id(31) - hipFree correlation_id(26) time_ns(43919801405400:43919801500824) process_id(26018) thread_id(26018) - (null) correlation_id(27) time_ns(0:0) external_id(31) - hipFree correlation_id(27) time_ns(43919801518027:43919801559764) process_id(26018) thread_id(26018) - hipSetDevice correlation_id(28) time_ns(43919821904222:43919821913948) process_id(26018) thread_id(26018) - hipGetDeviceProperties correlation_id(29) time_ns(43919821917750:43919821920207) process_id(26018) thread_id(26018) - hipMalloc correlation_id(30) time_ns(43919824083422:43919824146675) process_id(26018) thread_id(26018) - hipMalloc correlation_id(31) time_ns(43919824151196:43919824180920) process_id(26018) thread_id(26018) - (null) correlation_id(32) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(32) time_ns(43919824185085:43919824870961) process_id(26018) thread_id(26018) - (null) correlation_id(33) time_ns(0:0) external_id(33) - hipModuleLaunchKernel correlation_id(33) time_ns(43919824885642:43919824927435) process_id(26018) thread_id(26018) - hcCommandKernel correlation_id(33) time_ns(43919824933204:43919826765684) device_id(0) queue_id(0) - hcCommandMarker correlation_id(34) time_ns(43919826768796:43919826800156) device_id(0) queue_id(0) - (null) correlation_id(34) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(34) time_ns(43919824932592:43919827735361) process_id(26018) thread_id(26018) - (null) correlation_id(35) time_ns(0:0) external_id(31) - hipFree correlation_id(35) time_ns(43919842293529:43919842379822) process_id(26018) thread_id(26018) - (null) correlation_id(36) time_ns(0:0) external_id(31) - hipFree correlation_id(36) time_ns(43919842387516:43919842418660) process_id(26018) thread_id(26018) - - - ptr(0x7ffc4af6f508) size(0x400000) - - - - - - - *ptr(0x0x903000000) - - - ptr(0x7ffc4af6f500) size(0x400000) - - - - - - - *ptr(0x0x903800000) - - - dst(0x903000000) src(0x7fcff9073010) size(0x400000) kind(1) - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - - dst(0x2b84d10) src(0x903800000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + +Device 0 name: Device 687f + ptr(0x7fff13900c60) size(0x400000) + + + + + *ptr(0x0x7f0595600000) + ptr(0x7fff13900c58) size(0x400000) + + + + + *ptr(0x0x7f0595000000) + dst(0x7f0595600000) src(0x1ec5050) size(0x400000) kind(1) + + + + + + + + + +rocTX <"before hipLaunchKernel pid(1942) tid(1942)"> +rocTX <"hipLaunchKernel pid(1942) tid(1942)"> + +<__hipPushCallConfiguration id(46) correlation_id(50) on-enter pid(1942) tid(1942)> +<__hipPushCallConfiguration id(46) correlation_id(50) on-exit pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(51) on-enter pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(51) on-exit pid(1942) tid(1942)> + + +rocTX <"after hipLaunchKernel pid(1942) tid(1942)"> +rocTX <"hipMemcpy pid(1942) tid(1942)"> + dst(0x22c5060) src(0x7f0595000000) size(0x400000) kind(2) + + + + + + + + + + + + + + +rocTX <"(null) pid(1942) tid(1942)"> +rocTX <"(null) pid(1942) tid(1942)"> + + + + PASSED! - - - ptr(0x903000000) - - - - - - - - - - ptr(0x903800000) - - - - - - - + ptr(0x7f0595600000) + + + + + + ptr(0x7f0595000000) + + + + + # START (90) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (89) ############################# - - - - - - - - - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - - - ptr(0x7ffc4af6f508) size(0x400000) - - - - - - - *ptr(0x0x903000000) - - - ptr(0x7ffc4af6f500) size(0x400000) - - - - - - - *ptr(0x0x903800000) - - - dst(0x903000000) src(0x7fcff9073010) size(0x400000) kind(1) - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - - dst(0x2b84d10) src(0x903800000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + +Device 0 name: Device 687f + ptr(0x7fff13900c60) size(0x400000) + + + + + *ptr(0x0x7f0595600000) + ptr(0x7fff13900c58) size(0x400000) + + + + + *ptr(0x0x7f0595000000) + dst(0x7f0595600000) src(0x1ec5050) size(0x400000) kind(1) + + + + + + + + + +rocTX <"before hipLaunchKernel pid(1942) tid(1942)"> + +rocTX <"hipLaunchKernel pid(1942) tid(1942)"> +<__hipPushCallConfiguration id(46) correlation_id(61) on-enter pid(1942) tid(1942)> +<__hipPushCallConfiguration id(46) correlation_id(61) on-exit pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(62) on-enter pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(62) on-exit pid(1942) tid(1942)> + + + + +rocTX <"after hipLaunchKernel pid(1942) tid(1942)"> +rocTX <"hipMemcpy pid(1942) tid(1942)"> + dst(0x22c5060) src(0x7f0595000000) size(0x400000) kind(2) + + + + + + + + + + + + +rocTX <"(null) pid(1942) tid(1942)"> +rocTX <"(null) pid(1942) tid(1942)"> + + + + PASSED! - - - ptr(0x903000000) - - - - - - - - - - ptr(0x903800000) - - - - - - - + ptr(0x7f0595600000) + + + + + + ptr(0x7f0595000000) + + + + + # START (88) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (87) ############################# - - - - - - - - - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - - - ptr(0x7ffc4af6f508) size(0x400000) - - - - - - - *ptr(0x0x903000000) - - - ptr(0x7ffc4af6f500) size(0x400000) - - - - - - - *ptr(0x0x903800000) - - - dst(0x903000000) src(0x7fcff9073010) size(0x400000) kind(1) - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - - dst(0x2b84d10) src(0x903800000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + +Device 0 name: Device 687f + ptr(0x7fff13900c60) size(0x400000) + + + + + *ptr(0x0x7f0595600000) + ptr(0x7fff13900c58) size(0x400000) + + + + + *ptr(0x0x7f0595000000) + dst(0x7f0595600000) src(0x1ec5050) size(0x400000) kind(1) + + + + + + + + + +rocTX <"before hipLaunchKernel pid(1942) tid(1942)"> + +rocTX <"hipLaunchKernel pid(1942) tid(1942)"> +<__hipPushCallConfiguration id(46) correlation_id(72) on-enter pid(1942) tid(1942)> +<__hipPushCallConfiguration id(46) correlation_id(72) on-exit pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(73) on-enter pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(73) on-exit pid(1942) tid(1942)> + + + +rocTX <"after hipLaunchKernel pid(1942) tid(1942)"> +rocTX <"hipMemcpy pid(1942) tid(1942)"> + + dst(0x22c5060) src(0x7f0595000000) size(0x400000) kind(2) + + + + + + + + + + + + + +rocTX <"(null) pid(1942) tid(1942)"> +rocTX <"(null) pid(1942) tid(1942)"> + + + PASSED! - - - ptr(0x903000000) - - - - - - - - - - ptr(0x903800000) - - - - - - - + ptr(0x7f0595600000) + + + + + + ptr(0x7f0595000000) + + + + + # START (86) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (85) ############################# - - - - - - - - - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - - - ptr(0x7ffc4af6f508) size(0x400000) - - - - - - - *ptr(0x0x903000000) - - - ptr(0x7ffc4af6f500) size(0x400000) - - - - - - - *ptr(0x0x903800000) - - - dst(0x903000000) src(0x7fcff9073010) size(0x400000) kind(1) - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - - dst(0x2b84d10) src(0x903800000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + +Device 0 name: Device 687f + ptr(0x7fff13900c60) size(0x400000) + + + + + *ptr(0x0x7f0595600000) + ptr(0x7fff13900c58) size(0x400000) + + + + + *ptr(0x0x7f0595000000) + dst(0x7f0595600000) src(0x1ec5050) size(0x400000) kind(1) + + + + + + + + + +rocTX <"before hipLaunchKernel pid(1942) tid(1942)"> +rocTX <"hipLaunchKernel pid(1942) tid(1942)"> + +<__hipPushCallConfiguration id(46) correlation_id(83) on-enter pid(1942) tid(1942)> +<__hipPushCallConfiguration id(46) correlation_id(83) on-exit pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(84) on-enter pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(84) on-exit pid(1942) tid(1942)> + + + +rocTX <"after hipLaunchKernel pid(1942) tid(1942)"> +rocTX <"hipMemcpy pid(1942) tid(1942)"> + dst(0x22c5060) src(0x7f0595000000) size(0x400000) kind(2) + + + + + + + + + + + + + +rocTX <"(null) pid(1942) tid(1942)"> +rocTX <"(null) pid(1942) tid(1942)"> + + + + PASSED! - - - ptr(0x903000000) - - - - - - - - - - ptr(0x903800000) - - - - - - - + ptr(0x7f0595600000) + + + + + + ptr(0x7f0595000000) + + + + + # START (84) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (83) ############################# - - - - - - - - - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - Activity records: - hipSetDevice correlation_id(37) time_ns(43919862886235:43919862896389) process_id(26018) thread_id(26018) - hipGetDeviceProperties correlation_id(38) time_ns(43919862906956:43919862923035) process_id(26018) thread_id(26018) - hipMalloc correlation_id(39) time_ns(43919865199946:43919865252941) process_id(26018) thread_id(26018) - hipMalloc correlation_id(40) time_ns(43919865257463:43919865281882) process_id(26018) thread_id(26018) - (null) correlation_id(41) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(41) time_ns(43919865286624:43919865926998) process_id(26018) thread_id(26018) - (null) correlation_id(42) time_ns(0:0) external_id(33) - hipModuleLaunchKernel correlation_id(42) time_ns(43919865951583:43919865981786) process_id(26018) thread_id(26018) - hcCommandKernel correlation_id(42) time_ns(43919865986986:43919867817226) device_id(0) queue_id(0) - hcCommandMarker correlation_id(43) time_ns(43919867820070:43919867850950) device_id(0) queue_id(0) - (null) correlation_id(43) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(43) time_ns(43919865986664:43919868769470) process_id(26018) thread_id(26018) - (null) correlation_id(44) time_ns(0:0) external_id(31) - hipFree correlation_id(44) time_ns(43919883779847:43919883847612) process_id(26018) thread_id(26018) - (null) correlation_id(45) time_ns(0:0) external_id(31) - hipFree correlation_id(45) time_ns(43919883856116:43919883878027) process_id(26018) thread_id(26018) - hipSetDevice correlation_id(46) time_ns(43919904356837:43919904366327) process_id(26018) thread_id(26018) - hipGetDeviceProperties correlation_id(47) time_ns(43919904370176:43919904372575) process_id(26018) thread_id(26018) - hipMalloc correlation_id(48) time_ns(43919906538991:43919906589434) process_id(26018) thread_id(26018) - hipMalloc correlation_id(49) time_ns(43919906593945:43919906633022) process_id(26018) thread_id(26018) - (null) correlation_id(50) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(50) time_ns(43919906637967:43919907291714) process_id(26018) thread_id(26018) - (null) correlation_id(51) time_ns(0:0) external_id(33) - hipModuleLaunchKernel correlation_id(51) time_ns(43919907305682:43919907347789) process_id(26018) thread_id(26018) - hcCommandKernel correlation_id(51) time_ns(43919907353397:43919909190518) device_id(0) queue_id(0) - hcCommandMarker correlation_id(52) time_ns(43919909193540:43919909225060) device_id(0) queue_id(0) - (null) correlation_id(52) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(52) time_ns(43919907353088:43919910184232) process_id(26018) thread_id(26018) - (null) correlation_id(53) time_ns(0:0) external_id(31) - hipFree correlation_id(53) time_ns(43919924775326:43919924860727) process_id(26018) thread_id(26018) - (null) correlation_id(54) time_ns(0:0) external_id(31) - hipFree correlation_id(54) time_ns(43919924868475:43919924909604) process_id(26018) thread_id(26018) - hipSetDevice correlation_id(55) time_ns(43919945290277:43919945299927) process_id(26018) thread_id(26018) - hipGetDeviceProperties correlation_id(56) time_ns(43919945303639:43919945306398) process_id(26018) thread_id(26018) - hipMalloc correlation_id(57) time_ns(43919947439388:43919947490002) process_id(26018) thread_id(26018) - hipMalloc correlation_id(58) time_ns(43919947494498:43919947533384) process_id(26018) thread_id(26018) - (null) correlation_id(59) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(59) time_ns(43919947537550:43919948198420) process_id(26018) thread_id(26018) - (null) correlation_id(60) time_ns(0:0) external_id(33) - hipModuleLaunchKernel correlation_id(60) time_ns(43919948212770:43919948256220) process_id(26018) thread_id(26018) - hcCommandKernel correlation_id(60) time_ns(43919948262127:43919950097488) device_id(0) queue_id(0) - hcCommandMarker correlation_id(61) time_ns(43919950100510:43919950131710) device_id(0) queue_id(0) - (null) correlation_id(61) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(61) time_ns(43919948262624:43919951049377) process_id(26018) thread_id(26018) - (null) correlation_id(62) time_ns(0:0) external_id(31) - hipFree correlation_id(62) time_ns(43919965611360:43919965696230) process_id(26018) thread_id(26018) - (null) correlation_id(63) time_ns(0:0) external_id(31) - hipFree correlation_id(63) time_ns(43919965703947:43919965745358) process_id(26018) thread_id(26018) - hipSetDevice correlation_id(64) time_ns(43919986107809:43919986118147) process_id(26018) thread_id(26018) - hipGetDeviceProperties correlation_id(65) time_ns(43919986122288:43919986124704) process_id(26018) thread_id(26018) - hipMalloc correlation_id(66) time_ns(43919988305509:43919988356174) process_id(26018) thread_id(26018) - hipMalloc correlation_id(67) time_ns(43919988360796:43919988399798) process_id(26018) thread_id(26018) - (null) correlation_id(68) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(68) time_ns(43919988404661:43919989041988) process_id(26018) thread_id(26018) - (null) correlation_id(69) time_ns(0:0) external_id(33) - hipModuleLaunchKernel correlation_id(69) time_ns(43919989055520:43919989098082) process_id(26018) thread_id(26018) - hcCommandKernel correlation_id(69) time_ns(43919989102409:43919989585769) device_id(0) queue_id(0) - hcCommandMarker correlation_id(70) time_ns(43919989588829:43919989595229) device_id(0) queue_id(0) - (null) correlation_id(70) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(70) time_ns(43919989103240:43919990487120) process_id(26018) thread_id(26018) - (null) correlation_id(71) time_ns(0:0) external_id(31) - hipFree correlation_id(71) time_ns(43920005096466:43920005180628) process_id(26018) thread_id(26018) - (null) correlation_id(72) time_ns(0:0) external_id(31) - hipFree correlation_id(72) time_ns(43920005188773:43920005230304) process_id(26018) thread_id(26018) - - - ptr(0x7ffc4af6f508) size(0x400000) - - - - - - - *ptr(0x0x903000000) - - - ptr(0x7ffc4af6f500) size(0x400000) - - - - - - - *ptr(0x0x903800000) - - - dst(0x903000000) src(0x7fcff9073010) size(0x400000) kind(1) - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - - dst(0x2b84d10) src(0x903800000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + +Device 0 name: Device 687f + ptr(0x7fff13900c60) size(0x400000) + + + + + *ptr(0x0x7f0595600000) + ptr(0x7fff13900c58) size(0x400000) + + + + + *ptr(0x0x7f0595000000) + dst(0x7f0595600000) src(0x1ec5050) size(0x400000) kind(1) + + + + + + + + + + +rocTX <"before hipLaunchKernel pid(1942) tid(1942)"> +rocTX <"hipLaunchKernel pid(1942) tid(1942)"> +<__hipPushCallConfiguration id(46) correlation_id(94) on-enter pid(1942) tid(1942)> +<__hipPushCallConfiguration id(46) correlation_id(94) on-exit pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(95) on-enter pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(95) on-exit pid(1942) tid(1942)> + + + + +rocTX <"after hipLaunchKernel pid(1942) tid(1942)"> +rocTX <"hipMemcpy pid(1942) tid(1942)"> + dst(0x22c5060) src(0x7f0595000000) size(0x400000) kind(2) + + + + + + + + + + + + +rocTX <"(null) pid(1942) tid(1942)"> +rocTX <"(null) pid(1942) tid(1942)"> + + + + PASSED! - - - ptr(0x903000000) - - - - - - - - - - ptr(0x903800000) - - - - - - - + ptr(0x7f0595600000) + + + + + + ptr(0x7f0595000000) + + + + + # START (82) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (81) ############################# - - - - - - - - - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - - - ptr(0x7ffc4af6f508) size(0x400000) - - - - - - - *ptr(0x0x903000000) - - - ptr(0x7ffc4af6f500) size(0x400000) - - - - - - - *ptr(0x0x903800000) - - - dst(0x903000000) src(0x7fcff9073010) size(0x400000) kind(1) - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x2b84d10) src(0x903800000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + +Device 0 name: Device 687f + ptr(0x7fff13900c60) size(0x400000) + + + + + *ptr(0x0x7f0595600000) + ptr(0x7fff13900c58) size(0x400000) + + + + + *ptr(0x0x7f0595000000) + dst(0x7f0595600000) src(0x1ec5050) size(0x400000) kind(1) + + + + + + + + + + +rocTX <"before hipLaunchKernel pid(1942) tid(1942)"> +rocTX <"hipLaunchKernel pid(1942) tid(1942)"> +<__hipPushCallConfiguration id(46) correlation_id(105) on-enter pid(1942) tid(1942)> +<__hipPushCallConfiguration id(46) correlation_id(105) on-exit pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(106) on-enter pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(106) on-exit pid(1942) tid(1942)> + + + + +rocTX <"after hipLaunchKernel pid(1942) tid(1942)"> +rocTX <"hipMemcpy pid(1942) tid(1942)"> + dst(0x22c5060) src(0x7f0595000000) size(0x400000) kind(2) + + + + + + + + + + + + + +rocTX <"(null) pid(1942) tid(1942)"> +rocTX <"(null) pid(1942) tid(1942)"> + + + PASSED! - - - ptr(0x903000000) - - - - - - - - - - ptr(0x903800000) - - - - - - - + ptr(0x7f0595600000) + + + + + + ptr(0x7f0595000000) + + + + + # START (80) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (79) ############################# - - - - - - - - - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - - - ptr(0x7ffc4af6f508) size(0x400000) - - - - - - - *ptr(0x0x903000000) - - - ptr(0x7ffc4af6f500) size(0x400000) - - - - - - - *ptr(0x0x903800000) - - - dst(0x903000000) src(0x7fcff9073010) size(0x400000) kind(1) - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - - dst(0x2b84d10) src(0x903800000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + +Device 0 name: Device 687f + ptr(0x7fff13900c60) size(0x400000) + + + + + *ptr(0x0x7f0595600000) + ptr(0x7fff13900c58) size(0x400000) + + + + + *ptr(0x0x7f0595000000) + dst(0x7f0595600000) src(0x1ec5050) size(0x400000) kind(1) + + + + + + + + + + +rocTX <"before hipLaunchKernel pid(1942) tid(1942)"> +rocTX <"hipLaunchKernel pid(1942) tid(1942)"> +<__hipPushCallConfiguration id(46) correlation_id(116) on-enter pid(1942) tid(1942)> +<__hipPushCallConfiguration id(46) correlation_id(116) on-exit pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(117) on-enter pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(117) on-exit pid(1942) tid(1942)> + + + + +rocTX <"after hipLaunchKernel pid(1942) tid(1942)"> +rocTX <"hipMemcpy pid(1942) tid(1942)"> + dst(0x22c5060) src(0x7f0595000000) size(0x400000) kind(2) + + + + + + + + + + + + + +rocTX <"(null) pid(1942) tid(1942)"> +rocTX <"(null) pid(1942) tid(1942)"> + + + PASSED! - - - ptr(0x903000000) - - - - - - - - - - ptr(0x903800000) - - - - - - - + ptr(0x7f0595600000) + + + + + + ptr(0x7f0595000000) + + + + + # START (78) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (77) ############################# - - - - - - - - - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - - - ptr(0x7ffc4af6f508) size(0x400000) - - - - - - - *ptr(0x0x903000000) - - - ptr(0x7ffc4af6f500) size(0x400000) - - - - - - - *ptr(0x0x903800000) - - - dst(0x903000000) src(0x7fcff9073010) size(0x400000) kind(1) - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - - dst(0x2b84d10) src(0x903800000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + +Device 0 name: Device 687f + ptr(0x7fff13900c60) size(0x400000) + + + + + *ptr(0x0x7f0595600000) + ptr(0x7fff13900c58) size(0x400000) + + + + + *ptr(0x0x7f0595000000) + dst(0x7f0595600000) src(0x1ec5050) size(0x400000) kind(1) + + + + + + + + + + +rocTX <"before hipLaunchKernel pid(1942) tid(1942)"> +rocTX <"hipLaunchKernel pid(1942) tid(1942)"> +<__hipPushCallConfiguration id(46) correlation_id(127) on-enter pid(1942) tid(1942)> +<__hipPushCallConfiguration id(46) correlation_id(127) on-exit pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(128) on-enter pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(128) on-exit pid(1942) tid(1942)> + + + + +rocTX <"after hipLaunchKernel pid(1942) tid(1942)"> +rocTX <"hipMemcpy pid(1942) tid(1942)"> + dst(0x22c5060) src(0x7f0595000000) size(0x400000) kind(2) + + + + + + + + + + + + + +rocTX <"(null) pid(1942) tid(1942)"> +rocTX <"(null) pid(1942) tid(1942)"> + + + PASSED! - - - ptr(0x903000000) - - - - - - - - - - ptr(0x903800000) - - - - - - - + ptr(0x7f0595600000) + + + + + + ptr(0x7f0595000000) + + + + + # START (76) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (75) ############################# - - - - - - - - - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - Activity records: - hipSetDevice correlation_id(73) time_ns(43920024248405:43920024258205) process_id(26018) thread_id(26018) - hipGetDeviceProperties correlation_id(74) time_ns(43920024265683:43920024283668) process_id(26018) thread_id(26018) - hipMalloc correlation_id(75) time_ns(43920026559240:43920026611318) process_id(26018) thread_id(26018) - hipMalloc correlation_id(76) time_ns(43920026615907:43920026649989) process_id(26018) thread_id(26018) - (null) correlation_id(77) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(77) time_ns(43920026655081:43920027272261) process_id(26018) thread_id(26018) - (null) correlation_id(78) time_ns(0:0) external_id(33) - hipModuleLaunchKernel correlation_id(78) time_ns(43920027297980:43920027317667) process_id(26018) thread_id(26018) - hcCommandKernel correlation_id(78) time_ns(43920027322208:43920027811488) device_id(0) queue_id(0) - hcCommandMarker correlation_id(79) time_ns(43920027814269:43920027820669) device_id(0) queue_id(0) - (null) correlation_id(79) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(79) time_ns(43920027332354:43920028712656) process_id(26018) thread_id(26018) - (null) correlation_id(80) time_ns(0:0) external_id(31) - hipFree correlation_id(80) time_ns(43920043735027:43920043830120) process_id(26018) thread_id(26018) - (null) correlation_id(81) time_ns(0:0) external_id(31) - hipFree correlation_id(81) time_ns(43920043838524:43920043869635) process_id(26018) thread_id(26018) - hipSetDevice correlation_id(82) time_ns(43920063280596:43920063290751) process_id(26018) thread_id(26018) - hipGetDeviceProperties correlation_id(83) time_ns(43920063294643:43920063297153) process_id(26018) thread_id(26018) - hipMalloc correlation_id(84) time_ns(43920065468754:43920065529740) process_id(26018) thread_id(26018) - hipMalloc correlation_id(85) time_ns(43920065543552:43920065574620) process_id(26018) thread_id(26018) - (null) correlation_id(86) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(86) time_ns(43920065580222:43920066252159) process_id(26018) thread_id(26018) - (null) correlation_id(87) time_ns(0:0) external_id(33) - hipModuleLaunchKernel correlation_id(87) time_ns(43920066266167:43920066308515) process_id(26018) thread_id(26018) - hcCommandKernel correlation_id(87) time_ns(43920066313259:43920066799819) device_id(0) queue_id(0) - hcCommandMarker correlation_id(88) time_ns(43920066802992:43920066809392) device_id(0) queue_id(0) - (null) correlation_id(88) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(88) time_ns(43920066313737:43920067717901) process_id(26018) thread_id(26018) - (null) correlation_id(89) time_ns(0:0) external_id(31) - hipFree correlation_id(89) time_ns(43920082315955:43920082399850) process_id(26018) thread_id(26018) - (null) correlation_id(90) time_ns(0:0) external_id(31) - hipFree correlation_id(90) time_ns(43920082407867:43920082448518) process_id(26018) thread_id(26018) - hipSetDevice correlation_id(91) time_ns(43920101445651:43920101455239) process_id(26018) thread_id(26018) - hipGetDeviceProperties correlation_id(92) time_ns(43920101459000:43920101461431) process_id(26018) thread_id(26018) - hipMalloc correlation_id(93) time_ns(43920103635567:43920103686083) process_id(26018) thread_id(26018) - hipMalloc correlation_id(94) time_ns(43920103690637:43920103729736) process_id(26018) thread_id(26018) - (null) correlation_id(95) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(95) time_ns(43920103734659:43920104370021) process_id(26018) thread_id(26018) - (null) correlation_id(96) time_ns(0:0) external_id(33) - hipModuleLaunchKernel correlation_id(96) time_ns(43920104383906:43920104426176) process_id(26018) thread_id(26018) - hcCommandKernel correlation_id(96) time_ns(43920104430511:43920104915631) device_id(0) queue_id(0) - hcCommandMarker correlation_id(97) time_ns(43920104918555:43920104924955) device_id(0) queue_id(0) - (null) correlation_id(97) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(97) time_ns(43920104433032:43920105821164) process_id(26018) thread_id(26018) - (null) correlation_id(98) time_ns(0:0) external_id(31) - hipFree correlation_id(98) time_ns(43920120431824:43920120518064) process_id(26018) thread_id(26018) - (null) correlation_id(99) time_ns(0:0) external_id(31) - hipFree correlation_id(99) time_ns(43920120526072:43920120566935) process_id(26018) thread_id(26018) - hipSetDevice correlation_id(100) time_ns(43920139450245:43920139460971) process_id(26018) thread_id(26018) - hipGetDeviceProperties correlation_id(101) time_ns(43920139464609:43920139466959) process_id(26018) thread_id(26018) - hipMalloc correlation_id(102) time_ns(43920141603743:43920141662566) process_id(26018) thread_id(26018) - hipMalloc correlation_id(103) time_ns(43920141666874:43920141696276) process_id(26018) thread_id(26018) - (null) correlation_id(104) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(104) time_ns(43920141701119:43920142339410) process_id(26018) thread_id(26018) - (null) correlation_id(105) time_ns(0:0) external_id(33) - hipModuleLaunchKernel correlation_id(105) time_ns(43920142365496:43920142398740) process_id(26018) thread_id(26018) - hcCommandKernel correlation_id(105) time_ns(43920142403595:43920142893835) device_id(0) queue_id(0) - hcCommandMarker correlation_id(106) time_ns(43920142896514:43920142903074) device_id(0) queue_id(0) - (null) correlation_id(106) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(106) time_ns(43920142412825:43920143782901) process_id(26018) thread_id(26018) - (null) correlation_id(107) time_ns(0:0) external_id(31) - hipFree correlation_id(107) time_ns(43920158375045:43920158457393) process_id(26018) thread_id(26018) - (null) correlation_id(108) time_ns(0:0) external_id(31) - hipFree correlation_id(108) time_ns(43920158464539:43920158494063) process_id(26018) thread_id(26018) - - - ptr(0x7ffc4af6f508) size(0x400000) - - - - - - - *ptr(0x0x903000000) - - - ptr(0x7ffc4af6f500) size(0x400000) - - - - - - - *ptr(0x0x903800000) - - - dst(0x903000000) src(0x7fcff9073010) size(0x400000) kind(1) - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - - dst(0x2b84d10) src(0x903800000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + +Device 0 name: Device 687f + ptr(0x7fff13900c60) size(0x400000) + + + + + *ptr(0x0x7f0595600000) + ptr(0x7fff13900c58) size(0x400000) + + + + + *ptr(0x0x7f0595000000) + dst(0x7f0595600000) src(0x1ec5050) size(0x400000) kind(1) + + + + + + + + + +rocTX <"before hipLaunchKernel pid(1942) tid(1942)"> +rocTX <"hipLaunchKernel pid(1942) tid(1942)"> +<__hipPushCallConfiguration id(46) correlation_id(138) on-enter pid(1942) tid(1942)> + +<__hipPushCallConfiguration id(46) correlation_id(138) on-exit pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(139) on-enter pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(139) on-exit pid(1942) tid(1942)> + + + + +rocTX <"after hipLaunchKernel pid(1942) tid(1942)"> +rocTX <"hipMemcpy pid(1942) tid(1942)"> + dst(0x22c5060) src(0x7f0595000000) size(0x400000) kind(2) + + + + + + + + + + + + +rocTX <"(null) pid(1942) tid(1942)"> +rocTX <"(null) pid(1942) tid(1942)"> + + + + PASSED! - - - ptr(0x903000000) - - - - - - - - - - ptr(0x903800000) - - - - - - - + ptr(0x7f0595600000) + + + + + + ptr(0x7f0595000000) + + + + + # START (74) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (73) ############################# - - - - - - - - - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - - - ptr(0x7ffc4af6f508) size(0x400000) - - - - - - - *ptr(0x0x903000000) - - - ptr(0x7ffc4af6f500) size(0x400000) - - - - - - - *ptr(0x0x903800000) - - - dst(0x903000000) src(0x7fcff9073010) size(0x400000) kind(1) - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - - dst(0x2b84d10) src(0x903800000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + +Device 0 name: Device 687f + ptr(0x7fff13900c60) size(0x400000) + + + + + *ptr(0x0x7f0595600000) + ptr(0x7fff13900c58) size(0x400000) + + + + + *ptr(0x0x7f0595000000) + dst(0x7f0595600000) src(0x1ec5050) size(0x400000) kind(1) + + + + + + + + + +rocTX <"before hipLaunchKernel pid(1942) tid(1942)"> +rocTX <"hipLaunchKernel pid(1942) tid(1942)"> +<__hipPushCallConfiguration id(46) correlation_id(149) on-enter pid(1942) tid(1942)> + +<__hipPushCallConfiguration id(46) correlation_id(149) on-exit pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(150) on-enter pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(150) on-exit pid(1942) tid(1942)> + + + + +rocTX <"after hipLaunchKernel pid(1942) tid(1942)"> +rocTX <"hipMemcpy pid(1942) tid(1942)"> + dst(0x22c5060) src(0x7f0595000000) size(0x400000) kind(2) + + + + + + + + + + + + +rocTX <"(null) pid(1942) tid(1942)"> +rocTX <"(null) pid(1942) tid(1942)"> + + + + PASSED! - - - ptr(0x903000000) - - - - - - - - - - ptr(0x903800000) - - - - - - - + ptr(0x7f0595600000) + + + + + + ptr(0x7f0595000000) + + + + + # START (72) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (71) ############################# - - - - - - - - - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - - - ptr(0x7ffc4af6f508) size(0x400000) - - - - - - - *ptr(0x0x903000000) - - - ptr(0x7ffc4af6f500) size(0x400000) - - - - - - - *ptr(0x0x903800000) - - - dst(0x903000000) src(0x7fcff9073010) size(0x400000) kind(1) - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - - dst(0x2b84d10) src(0x903800000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + +Device 0 name: Device 687f + ptr(0x7fff13900c60) size(0x400000) + + + + + *ptr(0x0x7f0595600000) + ptr(0x7fff13900c58) size(0x400000) + + + + + *ptr(0x0x7f0595000000) + dst(0x7f0595600000) src(0x1ec5050) size(0x400000) kind(1) + + + + + + + + + + +rocTX <"before hipLaunchKernel pid(1942) tid(1942)"> +rocTX <"hipLaunchKernel pid(1942) tid(1942)"> +<__hipPushCallConfiguration id(46) correlation_id(160) on-enter pid(1942) tid(1942)> +<__hipPushCallConfiguration id(46) correlation_id(160) on-exit pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(161) on-enter pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(161) on-exit pid(1942) tid(1942)> + + + + +rocTX <"after hipLaunchKernel pid(1942) tid(1942)"> +rocTX <"hipMemcpy pid(1942) tid(1942)"> + dst(0x22c5060) src(0x7f0595000000) size(0x400000) kind(2) + + + + + + + + + + + + +rocTX <"(null) pid(1942) tid(1942)"> +rocTX <"(null) pid(1942) tid(1942)"> + + + + PASSED! - - - ptr(0x903000000) - - - - - - - - - - ptr(0x903800000) - - - - - - - + ptr(0x7f0595600000) + + + + + + ptr(0x7f0595000000) + + + + + # START (70) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (69) ############################# - - - - - - - - - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - - - ptr(0x7ffc4af6f508) size(0x400000) - - - - - - - *ptr(0x0x903000000) - - - ptr(0x7ffc4af6f500) size(0x400000) - - - - - - - *ptr(0x0x903800000) - - - dst(0x903000000) src(0x7fcff9073010) size(0x400000) kind(1) - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - - dst(0x2b84d10) src(0x903800000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + +Device 0 name: Device 687f + ptr(0x7fff13900c60) size(0x400000) + + + + + *ptr(0x0x7f0595600000) + ptr(0x7fff13900c58) size(0x400000) + + + + + *ptr(0x0x7f0595000000) + dst(0x7f0595600000) src(0x1ec5050) size(0x400000) kind(1) + + + + + + + + + +rocTX <"before hipLaunchKernel pid(1942) tid(1942)"> +rocTX <"hipLaunchKernel pid(1942) tid(1942)"> + +<__hipPushCallConfiguration id(46) correlation_id(171) on-enter pid(1942) tid(1942)> +<__hipPushCallConfiguration id(46) correlation_id(171) on-exit pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(172) on-enter pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(172) on-exit pid(1942) tid(1942)> + + + + +rocTX <"after hipLaunchKernel pid(1942) tid(1942)"> +rocTX <"hipMemcpy pid(1942) tid(1942)"> + dst(0x22c5060) src(0x7f0595000000) size(0x400000) kind(2) + + + + + + + + + + + + +rocTX <"(null) pid(1942) tid(1942)"> +rocTX <"(null) pid(1942) tid(1942)"> + + + + PASSED! - - - ptr(0x903000000) - - - - - - - - - - ptr(0x903800000) - - - - - - - + ptr(0x7f0595600000) + + + + + + ptr(0x7f0595000000) + + + + + # START (68) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (67) ############################# - - - - - - - - - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - Activity records: - hipSetDevice correlation_id(109) time_ns(43920177497206:43920177507270) process_id(26018) thread_id(26018) - hipGetDeviceProperties correlation_id(110) time_ns(43920177515459:43920177532898) process_id(26018) thread_id(26018) - hipMalloc correlation_id(111) time_ns(43920179786002:43920179827550) process_id(26018) thread_id(26018) - hipMalloc correlation_id(112) time_ns(43920179832078:43920179852569) process_id(26018) thread_id(26018) - (null) correlation_id(113) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(113) time_ns(43920179857787:43920180481752) process_id(26018) thread_id(26018) - (null) correlation_id(114) time_ns(0:0) external_id(33) - hipModuleLaunchKernel correlation_id(114) time_ns(43920180497441:43920180517435) process_id(26018) thread_id(26018) - hcCommandKernel correlation_id(114) time_ns(43920180521982:43920181004702) device_id(0) queue_id(0) - hcCommandMarker correlation_id(115) time_ns(43920181007827:43920181014227) device_id(0) queue_id(0) - (null) correlation_id(115) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(115) time_ns(43920180522885:43920181902961) process_id(26018) thread_id(26018) - (null) correlation_id(116) time_ns(0:0) external_id(31) - hipFree correlation_id(116) time_ns(43920197036668:43920197113694) process_id(26018) thread_id(26018) - (null) correlation_id(117) time_ns(0:0) external_id(31) - hipFree correlation_id(117) time_ns(43920197121846:43920197142600) process_id(26018) thread_id(26018) - hipSetDevice correlation_id(118) time_ns(43920216590866:43920216600715) process_id(26018) thread_id(26018) - hipGetDeviceProperties correlation_id(119) time_ns(43920216615023:43920216617575) process_id(26018) thread_id(26018) - hipMalloc correlation_id(120) time_ns(43920218815784:43920218868252) process_id(26018) thread_id(26018) - hipMalloc correlation_id(121) time_ns(43920218871899:43920218891811) process_id(26018) thread_id(26018) - (null) correlation_id(122) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(122) time_ns(43920218896006:43920219538967) process_id(26018) thread_id(26018) - (null) correlation_id(123) time_ns(0:0) external_id(33) - hipModuleLaunchKernel correlation_id(123) time_ns(43920219564972:43920219587384) process_id(26018) thread_id(26018) - hcCommandKernel correlation_id(123) time_ns(43920219591883:43920220070923) device_id(0) queue_id(0) - hcCommandMarker correlation_id(124) time_ns(43920220073967:43920220080367) device_id(0) queue_id(0) - (null) correlation_id(124) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(124) time_ns(43920219591647:43920221000029) process_id(26018) thread_id(26018) - (null) correlation_id(125) time_ns(0:0) external_id(31) - hipFree correlation_id(125) time_ns(43920235976744:43920236058470) process_id(26018) thread_id(26018) - (null) correlation_id(126) time_ns(0:0) external_id(31) - hipFree correlation_id(126) time_ns(43920236066504:43920236087495) process_id(26018) thread_id(26018) - hipSetDevice correlation_id(127) time_ns(43920255505367:43920255515723) process_id(26018) thread_id(26018) - hipGetDeviceProperties correlation_id(128) time_ns(43920255530091:43920255532592) process_id(26018) thread_id(26018) - hipMalloc correlation_id(129) time_ns(43920257737909:43920257798351) process_id(26018) thread_id(26018) - hipMalloc correlation_id(130) time_ns(43920257802950:43920257833876) process_id(26018) thread_id(26018) - (null) correlation_id(131) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(131) time_ns(43920257838880:43920258484189) process_id(26018) thread_id(26018) - (null) correlation_id(132) time_ns(0:0) external_id(33) - hipModuleLaunchKernel correlation_id(132) time_ns(43920258510220:43920258532330) process_id(26018) thread_id(26018) - hcCommandKernel correlation_id(132) time_ns(43920258536675:43920259022435) device_id(0) queue_id(0) - hcCommandMarker correlation_id(133) time_ns(43920259025365:43920259031925) device_id(0) queue_id(0) - (null) correlation_id(133) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(133) time_ns(43920258548670:43920259912323) process_id(26018) thread_id(26018) - (null) correlation_id(134) time_ns(0:0) external_id(31) - hipFree correlation_id(134) time_ns(43920274940667:43920275035653) process_id(26018) thread_id(26018) - (null) correlation_id(135) time_ns(0:0) external_id(31) - hipFree correlation_id(135) time_ns(43920275043862:43920275074141) process_id(26018) thread_id(26018) - hipSetDevice correlation_id(136) time_ns(43920294706364:43920294716008) process_id(26018) thread_id(26018) - hipGetDeviceProperties correlation_id(137) time_ns(43920294729778:43920294732184) process_id(26018) thread_id(26018) - hipMalloc correlation_id(138) time_ns(43920296920620:43920296980761) process_id(26018) thread_id(26018) - hipMalloc correlation_id(139) time_ns(43920296985077:43920297024027) process_id(26018) thread_id(26018) - (null) correlation_id(140) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(140) time_ns(43920297028943:43920297695069) process_id(26018) thread_id(26018) - (null) correlation_id(141) time_ns(0:0) external_id(33) - hipModuleLaunchKernel correlation_id(141) time_ns(43920297719426:43920297750933) process_id(26018) thread_id(26018) - hcCommandKernel correlation_id(141) time_ns(43920297755677:43920298238717) device_id(0) queue_id(0) - hcCommandMarker correlation_id(142) time_ns(43920298241601:43920298248161) device_id(0) queue_id(0) - (null) correlation_id(142) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(142) time_ns(43920297757169:43920299132626) process_id(26018) thread_id(26018) - (null) correlation_id(143) time_ns(0:0) external_id(31) - hipFree correlation_id(143) time_ns(43920314047193:43920314119813) process_id(26018) thread_id(26018) - (null) correlation_id(144) time_ns(0:0) external_id(31) - hipFree correlation_id(144) time_ns(43920314136742:43920314165590) process_id(26018) thread_id(26018) - - - ptr(0x7ffc4af6f508) size(0x400000) - - - - - - - *ptr(0x0x903000000) - - - ptr(0x7ffc4af6f500) size(0x400000) - - - - - - - *ptr(0x0x903800000) - - - dst(0x903000000) src(0x7fcff9073010) size(0x400000) kind(1) - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - - dst(0x2b84d10) src(0x903800000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + +Device 0 name: Device 687f + ptr(0x7fff13900c60) size(0x400000) + + + + + *ptr(0x0x7f0595600000) + ptr(0x7fff13900c58) size(0x400000) + + + + + *ptr(0x0x7f0595000000) + dst(0x7f0595600000) src(0x1ec5050) size(0x400000) kind(1) + + + + + + + + + +rocTX <"before hipLaunchKernel pid(1942) tid(1942)"> +rocTX <"hipLaunchKernel pid(1942) tid(1942)"> + +<__hipPushCallConfiguration id(46) correlation_id(182) on-enter pid(1942) tid(1942)> +<__hipPushCallConfiguration id(46) correlation_id(182) on-exit pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(183) on-enter pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(183) on-exit pid(1942) tid(1942)> + + + + +rocTX <"after hipLaunchKernel pid(1942) tid(1942)"> +rocTX <"hipMemcpy pid(1942) tid(1942)"> + dst(0x22c5060) src(0x7f0595000000) size(0x400000) kind(2) + + + + + + + + + + + + +rocTX <"(null) pid(1942) tid(1942)"> +rocTX <"(null) pid(1942) tid(1942)"> + + + + PASSED! - - - ptr(0x903000000) - - - - - - - - - - ptr(0x903800000) - - - - - - - + ptr(0x7f0595600000) + + + + + + ptr(0x7f0595000000) + + + + + # START (66) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (65) ############################# - - - - - - - - - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - - - ptr(0x7ffc4af6f508) size(0x400000) - - - - - - - *ptr(0x0x903000000) - - - ptr(0x7ffc4af6f500) size(0x400000) - - - - - - - *ptr(0x0x903800000) - - - dst(0x903000000) src(0x7fcff9073010) size(0x400000) kind(1) - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - - dst(0x2b84d10) src(0x903800000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + +Device 0 name: Device 687f + ptr(0x7fff13900c60) size(0x400000) + + + + + *ptr(0x0x7f0595600000) + ptr(0x7fff13900c58) size(0x400000) + + + + + *ptr(0x0x7f0595000000) + dst(0x7f0595600000) src(0x1ec5050) size(0x400000) kind(1) + + + + + + + + + +rocTX <"before hipLaunchKernel pid(1942) tid(1942)"> +rocTX <"hipLaunchKernel pid(1942) tid(1942)"> + +<__hipPushCallConfiguration id(46) correlation_id(193) on-enter pid(1942) tid(1942)> +<__hipPushCallConfiguration id(46) correlation_id(193) on-exit pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(194) on-enter pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(194) on-exit pid(1942) tid(1942)> + + + + +rocTX <"after hipLaunchKernel pid(1942) tid(1942)"> +rocTX <"hipMemcpy pid(1942) tid(1942)"> + dst(0x22c5060) src(0x7f0595000000) size(0x400000) kind(2) + + + + + + + + + + + + + +rocTX <"(null) pid(1942) tid(1942)"> +rocTX <"(null) pid(1942) tid(1942)"> + + + PASSED! - - - ptr(0x903000000) - - - - - - - - - - ptr(0x903800000) - - - - - - - + ptr(0x7f0595600000) + + + + + + ptr(0x7f0595000000) + + + + + # START (64) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (63) ############################# - - - - - - - - - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - - - ptr(0x7ffc4af6f508) size(0x400000) - - - - - - - *ptr(0x0x903000000) - - - ptr(0x7ffc4af6f500) size(0x400000) - - - - - - - *ptr(0x0x903800000) - - - dst(0x903000000) src(0x7fcff9073010) size(0x400000) kind(1) - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - - dst(0x2b84d10) src(0x903800000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + +Device 0 name: Device 687f + ptr(0x7fff13900c60) size(0x400000) + + + + + *ptr(0x0x7f0595600000) + ptr(0x7fff13900c58) size(0x400000) + + + + + *ptr(0x0x7f0595000000) + dst(0x7f0595600000) src(0x1ec5050) size(0x400000) kind(1) + + + + + + + + + + +rocTX <"before hipLaunchKernel pid(1942) tid(1942)"> +rocTX <"hipLaunchKernel pid(1942) tid(1942)"> +<__hipPushCallConfiguration id(46) correlation_id(204) on-enter pid(1942) tid(1942)> +<__hipPushCallConfiguration id(46) correlation_id(204) on-exit pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(205) on-enter pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(205) on-exit pid(1942) tid(1942)> + + + + +rocTX <"after hipLaunchKernel pid(1942) tid(1942)"> +rocTX <"hipMemcpy pid(1942) tid(1942)"> + dst(0x22c5060) src(0x7f0595000000) size(0x400000) kind(2) + + + + + + + + + + + + +rocTX <"(null) pid(1942) tid(1942)"> +rocTX <"(null) pid(1942) tid(1942)"> + + + + PASSED! - - - ptr(0x903000000) - - - - - - - - - - ptr(0x903800000) - - - - - - - + ptr(0x7f0595600000) + + + + + + ptr(0x7f0595000000) + + + + + # START (62) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (61) ############################# - - - - - - - - - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - - - ptr(0x7ffc4af6f508) size(0x400000) - - - - - - - *ptr(0x0x903000000) - - - ptr(0x7ffc4af6f500) size(0x400000) - - - - - - - *ptr(0x0x903800000) - - - dst(0x903000000) src(0x7fcff9073010) size(0x400000) kind(1) - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - - dst(0x2b84d10) src(0x903800000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + +Device 0 name: Device 687f + ptr(0x7fff13900c60) size(0x400000) + + + + + *ptr(0x0x7f0595600000) + ptr(0x7fff13900c58) size(0x400000) + + + + + *ptr(0x0x7f0595000000) + dst(0x7f0595600000) src(0x1ec5050) size(0x400000) kind(1) + + + + + + + + + +rocTX <"before hipLaunchKernel pid(1942) tid(1942)"> +rocTX <"hipLaunchKernel pid(1942) tid(1942)"> +<__hipPushCallConfiguration id(46) correlation_id(215) on-enter pid(1942) tid(1942)> + +<__hipPushCallConfiguration id(46) correlation_id(215) on-exit pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(216) on-enter pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(216) on-exit pid(1942) tid(1942)> + + + + +rocTX <"after hipLaunchKernel pid(1942) tid(1942)"> +rocTX <"hipMemcpy pid(1942) tid(1942)"> + dst(0x22c5060) src(0x7f0595000000) size(0x400000) kind(2) + + + + + + + + + + + + +rocTX <"(null) pid(1942) tid(1942)"> +rocTX <"(null) pid(1942) tid(1942)"> + + + + PASSED! - - - ptr(0x903000000) - - - - - - - - - - ptr(0x903800000) - - - - - - - + ptr(0x7f0595600000) + + + + + + ptr(0x7f0595000000) + + + + + # START (60) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (59) ############################# - - - - - - - - - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - Activity records: - hipSetDevice correlation_id(145) time_ns(43920333424871:43920333433642) process_id(26018) thread_id(26018) - hipGetDeviceProperties correlation_id(146) time_ns(43920333441178:43920333443356) process_id(26018) thread_id(26018) - hipMalloc correlation_id(147) time_ns(43920335747560:43920335796102) process_id(26018) thread_id(26018) - hipMalloc correlation_id(148) time_ns(43920335800239:43920335829210) process_id(26018) thread_id(26018) - (null) correlation_id(149) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(149) time_ns(43920335832924:43920336479667) process_id(26018) thread_id(26018) - (null) correlation_id(150) time_ns(0:0) external_id(33) - hipModuleLaunchKernel correlation_id(150) time_ns(43920336503335:43920336524077) process_id(26018) thread_id(26018) - hcCommandKernel correlation_id(150) time_ns(43920336530052:43920338362534) device_id(0) queue_id(0) - hcCommandMarker correlation_id(151) time_ns(43920338365386:43920338397066) device_id(0) queue_id(0) - (null) correlation_id(151) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(151) time_ns(43920336542581:43920339346540) process_id(26018) thread_id(26018) - (null) correlation_id(152) time_ns(0:0) external_id(31) - hipFree correlation_id(152) time_ns(43920354412023:43920354483873) process_id(26018) thread_id(26018) - (null) correlation_id(153) time_ns(0:0) external_id(31) - hipFree correlation_id(153) time_ns(43920354490780:43920354511483) process_id(26018) thread_id(26018) - hipSetDevice correlation_id(154) time_ns(43920375386080:43920375395385) process_id(26018) thread_id(26018) - hipGetDeviceProperties correlation_id(155) time_ns(43920375399196:43920375401534) process_id(26018) thread_id(26018) - hipMalloc correlation_id(156) time_ns(43920377629120:43920377678349) process_id(26018) thread_id(26018) - hipMalloc correlation_id(157) time_ns(43920377682585:43920377721038) process_id(26018) thread_id(26018) - (null) correlation_id(158) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(158) time_ns(43920377726156:43920378387108) process_id(26018) thread_id(26018) - (null) correlation_id(159) time_ns(0:0) external_id(33) - hipModuleLaunchKernel correlation_id(159) time_ns(43920378400808:43920378432890) process_id(26018) thread_id(26018) - hcCommandKernel correlation_id(159) time_ns(43920378438928:43920380274130) device_id(0) queue_id(0) - hcCommandMarker correlation_id(160) time_ns(43920380277169:43920380308849) device_id(0) queue_id(0) - (null) correlation_id(160) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(160) time_ns(43920378438596:43920381221551) process_id(26018) thread_id(26018) - (null) correlation_id(161) time_ns(0:0) external_id(31) - hipFree correlation_id(161) time_ns(43920396338764:43920396434072) process_id(26018) thread_id(26018) - (null) correlation_id(162) time_ns(0:0) external_id(31) - hipFree correlation_id(162) time_ns(43920396442363:43920396473320) process_id(26018) thread_id(26018) - hipSetDevice correlation_id(163) time_ns(43920417144356:43920417154408) process_id(26018) thread_id(26018) - hipGetDeviceProperties correlation_id(164) time_ns(43920417158488:43920417161108) process_id(26018) thread_id(26018) - hipMalloc correlation_id(165) time_ns(43920419349538:43920419412157) process_id(26018) thread_id(26018) - hipMalloc correlation_id(166) time_ns(43920419425951:43920419456995) process_id(26018) thread_id(26018) - (null) correlation_id(167) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(167) time_ns(43920419462114:43920420144809) process_id(26018) thread_id(26018) - (null) correlation_id(168) time_ns(0:0) external_id(33) - hipModuleLaunchKernel correlation_id(168) time_ns(43920420169795:43920420202066) process_id(26018) thread_id(26018) - hcCommandKernel correlation_id(168) time_ns(43920420207913:43920422041035) device_id(0) queue_id(0) - hcCommandMarker correlation_id(169) time_ns(43920422043874:43920422075554) device_id(0) queue_id(0) - (null) correlation_id(169) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(169) time_ns(43920420223065:43920422968176) process_id(26018) thread_id(26018) - (null) correlation_id(170) time_ns(0:0) external_id(31) - hipFree correlation_id(170) time_ns(43920437958954:43920438055494) process_id(26018) thread_id(26018) - (null) correlation_id(171) time_ns(0:0) external_id(31) - hipFree correlation_id(171) time_ns(43920438063879:43920438095551) process_id(26018) thread_id(26018) - hipSetDevice correlation_id(172) time_ns(43920458507019:43920458516803) process_id(26018) thread_id(26018) - hipGetDeviceProperties correlation_id(173) time_ns(43920458520733:43920458523215) process_id(26018) thread_id(26018) - hipMalloc correlation_id(174) time_ns(43920460703767:43920460754215) process_id(26018) thread_id(26018) - hipMalloc correlation_id(175) time_ns(43920460758848:43920460797916) process_id(26018) thread_id(26018) - (null) correlation_id(176) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(176) time_ns(43920460802819:43920461459063) process_id(26018) thread_id(26018) - (null) correlation_id(177) time_ns(0:0) external_id(33) - hipModuleLaunchKernel correlation_id(177) time_ns(43920461473245:43920461515367) process_id(26018) thread_id(26018) - hcCommandKernel correlation_id(177) time_ns(43920461521018:43920463350780) device_id(0) queue_id(0) - hcCommandMarker correlation_id(178) time_ns(43920463353850:43920463385210) device_id(0) queue_id(0) - (null) correlation_id(178) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(178) time_ns(43920461520558:43920464309215) process_id(26018) thread_id(26018) - (null) correlation_id(179) time_ns(0:0) external_id(31) - hipFree correlation_id(179) time_ns(43920478864536:43920478953176) process_id(26018) thread_id(26018) - (null) correlation_id(180) time_ns(0:0) external_id(31) - hipFree correlation_id(180) time_ns(43920478961123:43920479003164) process_id(26018) thread_id(26018) - - - ptr(0x7ffc4af6f508) size(0x400000) - - - - - - - *ptr(0x0x903000000) - - - ptr(0x7ffc4af6f500) size(0x400000) - - - - - - - *ptr(0x0x903800000) - - - dst(0x903000000) src(0x7fcff9073010) size(0x400000) kind(1) - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - - dst(0x2b84d10) src(0x903800000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + +Device 0 name: Device 687f + ptr(0x7fff13900c60) size(0x400000) + + + + + *ptr(0x0x7f0595600000) + ptr(0x7fff13900c58) size(0x400000) + + + + + *ptr(0x0x7f0595000000) + dst(0x7f0595600000) src(0x1ec5050) size(0x400000) kind(1) + + + + + + + + + +rocTX <"before hipLaunchKernel pid(1942) tid(1942)"> +rocTX <"hipLaunchKernel pid(1942) tid(1942)"> + +<__hipPushCallConfiguration id(46) correlation_id(226) on-enter pid(1942) tid(1942)> + + +<__hipPushCallConfiguration id(46) correlation_id(226) on-exit pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(227) on-enter pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(227) on-exit pid(1942) tid(1942)> + + +rocTX <"after hipLaunchKernel pid(1942) tid(1942)"> +rocTX <"hipMemcpy pid(1942) tid(1942)"> + dst(0x22c5060) src(0x7f0595000000) size(0x400000) kind(2) + + + + + + + + + + + + + +rocTX <"(null) pid(1942) tid(1942)"> +rocTX <"(null) pid(1942) tid(1942)"> + + + PASSED! - - - ptr(0x903000000) - - - - - - - - - - ptr(0x903800000) - - - - - - - + ptr(0x7f0595600000) + + + + + + ptr(0x7f0595000000) + + + + + # START (58) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (57) ############################# - - - - - - - - - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - - - ptr(0x7ffc4af6f508) size(0x400000) - - - - - - - *ptr(0x0x903000000) - - - ptr(0x7ffc4af6f500) size(0x400000) - - - - - - - *ptr(0x0x903800000) - - - dst(0x903000000) src(0x7fcff9073010) size(0x400000) kind(1) - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - - dst(0x2b84d10) src(0x903800000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + +Device 0 name: Device 687f + ptr(0x7fff13900c60) size(0x400000) + + + + + *ptr(0x0x7f0595600000) + ptr(0x7fff13900c58) size(0x400000) + + + + + *ptr(0x0x7f0595000000) + dst(0x7f0595600000) src(0x1ec5050) size(0x400000) kind(1) + + + + + + + + + +rocTX <"before hipLaunchKernel pid(1942) tid(1942)"> +rocTX <"hipLaunchKernel pid(1942) tid(1942)"> + +<__hipPushCallConfiguration id(46) correlation_id(237) on-enter pid(1942) tid(1942)> +<__hipPushCallConfiguration id(46) correlation_id(237) on-exit pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(238) on-enter pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(238) on-exit pid(1942) tid(1942)> + + + + +rocTX <"after hipLaunchKernel pid(1942) tid(1942)"> +rocTX <"hipMemcpy pid(1942) tid(1942)"> + dst(0x22c5060) src(0x7f0595000000) size(0x400000) kind(2) + + + + + + + + + + + + + +rocTX <"(null) pid(1942) tid(1942)"> +rocTX <"(null) pid(1942) tid(1942)"> + + + Activity records: + CopyHostToDevice correlation_id(5) time_ns(3802689357753439:3802689359820964) device_id(0) queue_id(0) bytes(0x0) + KernelExecution correlation_id(8) time_ns(3802689360509153:3802689361716015) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(9) time_ns(3802689360494399:3802689363754703) device_id(0) queue_id(0) bytes(0x0) + CopyHostToDevice correlation_id(16) time_ns(3802689388450536:3802689390236799) device_id(0) queue_id(0) bytes(0x0) + KernelExecution correlation_id(19) time_ns(3802689390364625:3802689391560377) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(20) time_ns(3802689390339380:3802689392863109) device_id(0) queue_id(0) bytes(0x0) + CopyHostToDevice correlation_id(27) time_ns(3802689417071348:3802689418929841) device_id(0) queue_id(0) bytes(0x0) + KernelExecution correlation_id(30) time_ns(3802689419048112:3802689420269199) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(31) time_ns(3802689419022212:3802689421548811) device_id(0) queue_id(0) bytes(0x0) + CopyHostToDevice correlation_id(38) time_ns(3802689445627269:3802689447410842) device_id(0) queue_id(0) bytes(0x0) + KernelExecution correlation_id(41) time_ns(3802689447529708:3802689448731388) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(42) time_ns(3802689447504943:3802689450274414) device_id(0) queue_id(0) bytes(0x0) + CopyHostToDevice correlation_id(49) time_ns(3802689474527623:3802689476262806) device_id(0) queue_id(0) bytes(0x0) + KernelExecution correlation_id(52) time_ns(3802689476392929:3802689477590017) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(53) time_ns(3802689476368397:3802689478892916) device_id(0) queue_id(0) bytes(0x0) + CopyHostToDevice correlation_id(60) time_ns(3802689503584638:3802689505372971) device_id(0) queue_id(0) bytes(0x0) + KernelExecution correlation_id(63) time_ns(3802689505491982:3802689506693367) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(64) time_ns(3802689505467392:3802689508275403) device_id(0) queue_id(0) bytes(0x0) + CopyHostToDevice correlation_id(71) time_ns(3802689532911395:3802689534557317) device_id(0) queue_id(0) bytes(0x0) + + KernelExecution correlation_id(74) time_ns(3802689534682162:3802689535887548) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(75) time_ns(3802689534658038:3802689537442469) device_id(0) queue_id(0) bytes(0x0) + CopyHostToDevice correlation_id(82) time_ns(3802689568906171:3802689571083467) device_id(0) queue_id(0) bytes(0x0) + KernelExecution correlation_id(85) time_ns(3802689571219087:3802689572419288) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(86) time_ns(3802689571196478:3802689573887058) device_id(0) queue_id(0) bytes(0x0) + CopyHostToDevice correlation_id(93) time_ns(3802689598251069:3802689600026322) device_id(0) queue_id(0) bytes(0x0) + KernelExecution correlation_id(96) time_ns(3802689600145805:3802689601348525) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(97) time_ns(3802689600123213:3802689602806783) device_id(0) queue_id(0) bytes(0x0) + CopyHostToDevice correlation_id(104) time_ns(3802689627157203:3802689628927696) device_id(0) queue_id(0) bytes(0x0) + KernelExecution correlation_id(107) time_ns(3802689629049519:3802689630268684) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(108) time_ns(3802689629026107:3802689631746766) device_id(0) queue_id(0) bytes(0x0) + CopyHostToDevice correlation_id(115) time_ns(3802689656373389:3802689658143972) device_id(0) queue_id(0) bytes(0x0) + KernelExecution correlation_id(118) time_ns(3802689658259958:3802689659467419) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(119) time_ns(3802689658237262:3802689660957043) device_id(0) queue_id(0) bytes(0x0) + CopyHostToDevice correlation_id(126) time_ns(3802689685271863:3802689687039926) device_id(0) queue_id(0) bytes(0x0) + KernelExecution correlation_id(129) time_ns(3802689687150718:3802689688366032) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(130) time_ns(3802689687128237:3802689689859986) device_id(0) queue_id(0) bytes(0x0) + CopyHostToDevice correlation_id(137) time_ns(3802689714350448:3802689716112201) device_id(0) queue_id(0) bytes(0x0) + KernelExecution correlation_id(140) time_ns(3802689716240667:3802689717447388) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(141) time_ns(3802689716218291:3802689718928721) device_id(0) queue_id(0) bytes(0x0) + CopyHostToDevice correlation_id(148) time_ns(3802689743475113:3802689745210346) device_id(0) queue_id(0) bytes(0x0) + KernelExecution correlation_id(151) time_ns(3802689745323253:3802689746515752) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(152) time_ns(3802689745300567:3802689747945637) device_id(0) queue_id(0) bytes(0x0) + CopyHostToDevice correlation_id(159) time_ns(3802689772344187:3802689774110760) device_id(0) queue_id(0) bytes(0x0) + KernelExecution correlation_id(162) time_ns(3802689774218917:3802689775424898) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(163) time_ns(3802689774197411:3802689776949561) device_id(0) queue_id(0) bytes(0x0) + CopyHostToDevice correlation_id(170) time_ns(3802689801298091:3802689803069634) device_id(0) queue_id(0) bytes(0x0) + KernelExecution correlation_id(173) time_ns(3802689803196613:3802689804402742) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(174) time_ns(3802689803174085:3802689805874665) device_id(0) queue_id(0) bytes(0x0) + CopyHostToDevice correlation_id(181) time_ns(3802689830101304:3802689831827457) device_id(0) queue_id(0) bytes(0x0) + KernelExecution correlation_id(184) time_ns(3802689831926122:3802689833126473) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(185) time_ns(3802689831904148:3802689834480347) device_id(0) queue_id(0) bytes(0x0) + CopyHostToDevice correlation_id(192) time_ns(3802689865137593:3802689866899836) device_id(0) queue_id(0) bytes(0x0) + KernelExecution correlation_id(195) time_ns(3802689867026811:3802689868235755) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(196) time_ns(3802689867002057:3802689869703907) device_id(0) queue_id(0) bytes(0x0) + CopyHostToDevice correlation_id(203) time_ns(3802689897884796:3802689899652089) device_id(0) queue_id(0) bytes(0x0) + KernelExecution correlation_id(206) time_ns(3802689899768063:3802689900971081) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(207) time_ns(3802689899745690:3802689902449700) device_id(0) queue_id(0) bytes(0x0) + CopyHostToDevice correlation_id(214) time_ns(3802689926756559:3802689928481312) device_id(0) queue_id(0) bytes(0x0) + KernelExecution correlation_id(217) time_ns(3802689928583331:3802689929779831) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(218) time_ns(3802689928561193:3802689931219843) device_id(0) queue_id(0) bytes(0x0) + CopyHostToDevice correlation_id(225) time_ns(3802689955609923:3802689957386666) device_id(0) queue_id(0) bytes(0x0) + KernelExecution correlation_id(228) time_ns(3802689957512437:3802689958721530) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(229) time_ns(3802689957490037:3802689960198617) device_id(0) queue_id(0) bytes(0x0) + CopyHostToDevice correlation_id(236) time_ns(3802689991781141:3802689993558264) device_id(0) queue_id(0) bytes(0x0) PASSED! - - - ptr(0x903000000) - - - - - - - - - - ptr(0x903800000) - - - - - - - + ptr(0x7f0595600000) + + + + + + ptr(0x7f0595000000) + + + + + # START (56) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (55) ############################# - - - - - - - - - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - - - ptr(0x7ffc4af6f508) size(0x400000) - - - - - - - *ptr(0x0x903000000) - - - ptr(0x7ffc4af6f500) size(0x400000) - - - - - - - *ptr(0x0x903800000) - - - dst(0x903000000) src(0x7fcff9073010) size(0x400000) kind(1) - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x2b84d10) src(0x903800000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + +Device 0 name: Device 687f + ptr(0x7fff13900c60) size(0x400000) + + + + + *ptr(0x0x7f0595600000) + ptr(0x7fff13900c58) size(0x400000) + + + + + *ptr(0x0x7f0595000000) + dst(0x7f0595600000) src(0x1ec5050) size(0x400000) kind(1) + + + + + + + + + +rocTX <"before hipLaunchKernel pid(1942) tid(1942)"> +rocTX <"hipLaunchKernel pid(1942) tid(1942)"> + +<__hipPushCallConfiguration id(46) correlation_id(248) on-enter pid(1942) tid(1942)> +<__hipPushCallConfiguration id(46) correlation_id(248) on-exit pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(249) on-enter pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(249) on-exit pid(1942) tid(1942)> + + + + +rocTX <"after hipLaunchKernel pid(1942) tid(1942)"> +rocTX <"hipMemcpy pid(1942) tid(1942)"> + dst(0x22c5060) src(0x7f0595000000) size(0x400000) kind(2) + + + + + + + + + + + + + +rocTX <"(null) pid(1942) tid(1942)"> +rocTX <"(null) pid(1942) tid(1942)"> + + + PASSED! - - - ptr(0x903000000) - - - - - - - - - - ptr(0x903800000) - - - - - - - + ptr(0x7f0595600000) + + + + + + ptr(0x7f0595000000) + + + + + # START (54) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (53) ############################# - - - - - - - - - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - - - ptr(0x7ffc4af6f508) size(0x400000) - - - - - - - *ptr(0x0x903000000) - - - ptr(0x7ffc4af6f500) size(0x400000) - - - - - - - *ptr(0x0x903800000) - - - dst(0x903000000) src(0x7fcff9073010) size(0x400000) kind(1) - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - - dst(0x2b84d10) src(0x903800000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + +Device 0 name: Device 687f + ptr(0x7fff13900c60) size(0x400000) + + + + + *ptr(0x0x7f0595600000) + ptr(0x7fff13900c58) size(0x400000) + + + + + *ptr(0x0x7f0595000000) + dst(0x7f0595600000) src(0x1ec5050) size(0x400000) kind(1) + + + + + + + + + + +rocTX <"before hipLaunchKernel pid(1942) tid(1942)"> +rocTX <"hipLaunchKernel pid(1942) tid(1942)"> +<__hipPushCallConfiguration id(46) correlation_id(259) on-enter pid(1942) tid(1942)> +<__hipPushCallConfiguration id(46) correlation_id(259) on-exit pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(260) on-enter pid(1942) tid(1942)> + + +<__hipPopCallConfiguration id(171) correlation_id(260) on-exit pid(1942) tid(1942)> + + +rocTX <"after hipLaunchKernel pid(1942) tid(1942)"> +rocTX <"hipMemcpy pid(1942) tid(1942)"> + + dst(0x22c5060) src(0x7f0595000000) size(0x400000) kind(2) + + + + + + + + + + + + +rocTX <"(null) pid(1942) tid(1942)"> +rocTX <"(null) pid(1942) tid(1942)"> + + + PASSED! - - - ptr(0x903000000) - - - - - - - - - - ptr(0x903800000) - - - - - - - + ptr(0x7f0595600000) + + + + + + ptr(0x7f0595000000) + + + + + # START (52) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (51) ############################# - - - - - - - - - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - Activity records: - hipSetDevice correlation_id(181) time_ns(43920499367711:43920499377582) process_id(26018) thread_id(26018) - hipGetDeviceProperties correlation_id(182) time_ns(43920499385716:43920499403154) process_id(26018) thread_id(26018) - hipMalloc correlation_id(183) time_ns(43920501622778:43920501674383) process_id(26018) thread_id(26018) - hipMalloc correlation_id(184) time_ns(43920501678945:43920501699468) process_id(26018) thread_id(26018) - (null) correlation_id(185) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(185) time_ns(43920501703508:43920502345553) process_id(26018) thread_id(26018) - (null) correlation_id(186) time_ns(0:0) external_id(33) - hipModuleLaunchKernel correlation_id(186) time_ns(43920502370499:43920502392416) process_id(26018) thread_id(26018) - hcCommandKernel correlation_id(186) time_ns(43920502398238:43920504234720) device_id(0) queue_id(0) - hcCommandMarker correlation_id(187) time_ns(43920504237612:43920504268812) device_id(0) queue_id(0) - (null) correlation_id(187) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(187) time_ns(43920502405054:43920505255063) process_id(26018) thread_id(26018) - (null) correlation_id(188) time_ns(0:0) external_id(31) - hipFree correlation_id(188) time_ns(43920520240722:43920520316514) process_id(26018) thread_id(26018) - (null) correlation_id(189) time_ns(0:0) external_id(31) - hipFree correlation_id(189) time_ns(43920520324413:43920520345436) process_id(26018) thread_id(26018) - hipSetDevice correlation_id(190) time_ns(43920541218871:43920541228479) process_id(26018) thread_id(26018) - hipGetDeviceProperties correlation_id(191) time_ns(43920541242527:43920541245021) process_id(26018) thread_id(26018) - hipMalloc correlation_id(192) time_ns(43920543464395:43920543516287) process_id(26018) thread_id(26018) - hipMalloc correlation_id(193) time_ns(43920543520926:43920543541660) process_id(26018) thread_id(26018) - (null) correlation_id(194) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(194) time_ns(43920543545907:43920544200460) process_id(26018) thread_id(26018) - (null) correlation_id(195) time_ns(0:0) external_id(33) - hipModuleLaunchKernel correlation_id(195) time_ns(43920544217613:43920544237996) process_id(26018) thread_id(26018) - hcCommandKernel correlation_id(195) time_ns(43920544243948:43920546077870) device_id(0) queue_id(0) - hcCommandMarker correlation_id(196) time_ns(43920546080604:43920546111804) device_id(0) queue_id(0) - (null) correlation_id(196) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(196) time_ns(43920544244310:43920547036679) process_id(26018) thread_id(26018) - (null) correlation_id(197) time_ns(0:0) external_id(31) - hipFree correlation_id(197) time_ns(43920562017094:43920562094900) process_id(26018) thread_id(26018) - (null) correlation_id(198) time_ns(0:0) external_id(31) - hipFree correlation_id(198) time_ns(43920562102955:43920562124481) process_id(26018) thread_id(26018) - hipSetDevice correlation_id(199) time_ns(43920583018408:43920583028474) process_id(26018) thread_id(26018) - hipGetDeviceProperties correlation_id(200) time_ns(43920583042627:43920583045115) process_id(26018) thread_id(26018) - hipMalloc correlation_id(201) time_ns(43920585270556:43920585332071) process_id(26018) thread_id(26018) - hipMalloc correlation_id(202) time_ns(43920585336639:43920585367450) process_id(26018) thread_id(26018) - (null) correlation_id(203) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(203) time_ns(43920585372474:43920586059143) process_id(26018) thread_id(26018) - (null) correlation_id(204) time_ns(0:0) external_id(33) - hipModuleLaunchKernel correlation_id(204) time_ns(43920586083967:43920586126237) process_id(26018) thread_id(26018) - hcCommandKernel correlation_id(204) time_ns(43920586128540:43920587958142) device_id(0) queue_id(0) - hcCommandMarker correlation_id(205) time_ns(43920587960965:43920587992005) device_id(0) queue_id(0) - (null) correlation_id(205) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(205) time_ns(43920586131081:43920588895369) process_id(26018) thread_id(26018) - (null) correlation_id(206) time_ns(0:0) external_id(31) - hipFree correlation_id(206) time_ns(43920603439589:43920603524072) process_id(26018) thread_id(26018) - (null) correlation_id(207) time_ns(0:0) external_id(31) - hipFree correlation_id(207) time_ns(43920603531707:43920603561761) process_id(26018) thread_id(26018) - hipSetDevice correlation_id(208) time_ns(43920622604080:43920622614399) process_id(26018) thread_id(26018) - hipGetDeviceProperties correlation_id(209) time_ns(43920622618142:43920622620868) process_id(26018) thread_id(26018) - hipMalloc correlation_id(210) time_ns(43920624778940:43920624829571) process_id(26018) thread_id(26018) - hipMalloc correlation_id(211) time_ns(43920624834321:43920624873747) process_id(26018) thread_id(26018) - (null) correlation_id(212) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(212) time_ns(43920624878920:43920625540133) process_id(26018) thread_id(26018) - (null) correlation_id(213) time_ns(0:0) external_id(33) - hipModuleLaunchKernel correlation_id(213) time_ns(43920625553477:43920625595634) process_id(26018) thread_id(26018) - hcCommandKernel correlation_id(213) time_ns(43920625600275:43920626080915) device_id(0) queue_id(0) - hcCommandMarker correlation_id(214) time_ns(43920626083776:43920626090336) device_id(0) queue_id(0) - (null) correlation_id(214) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(214) time_ns(43920625601229:43920626984076) process_id(26018) thread_id(26018) - (null) correlation_id(215) time_ns(0:0) external_id(31) - hipFree correlation_id(215) time_ns(43920643218237:43920643310893) process_id(26018) thread_id(26018) - (null) correlation_id(216) time_ns(0:0) external_id(31) - hipFree correlation_id(216) time_ns(43920643320513:43920643352027) process_id(26018) thread_id(26018) - - - ptr(0x7ffc4af6f508) size(0x400000) - - - - - - - *ptr(0x0x903000000) - - - ptr(0x7ffc4af6f500) size(0x400000) - - - - - - - *ptr(0x0x903800000) - - - dst(0x903000000) src(0x7fcff9073010) size(0x400000) kind(1) - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - - dst(0x2b84d10) src(0x903800000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + +Device 0 name: Device 687f + ptr(0x7fff13900c60) size(0x400000) + + + + + *ptr(0x0x7f0595600000) + ptr(0x7fff13900c58) size(0x400000) + + + + + *ptr(0x0x7f0595000000) + dst(0x7f0595600000) src(0x1ec5050) size(0x400000) kind(1) + + + + + + + + + + +rocTX <"before hipLaunchKernel pid(1942) tid(1942)"> +rocTX <"hipLaunchKernel pid(1942) tid(1942)"> +<__hipPushCallConfiguration id(46) correlation_id(270) on-enter pid(1942) tid(1942)> +<__hipPushCallConfiguration id(46) correlation_id(270) on-exit pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(271) on-enter pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(271) on-exit pid(1942) tid(1942)> + + + + +rocTX <"after hipLaunchKernel pid(1942) tid(1942)"> +rocTX <"hipMemcpy pid(1942) tid(1942)"> + dst(0x22c5060) src(0x7f0595000000) size(0x400000) kind(2) + + + + + + + + + + + + +rocTX <"(null) pid(1942) tid(1942)"> +rocTX <"(null) pid(1942) tid(1942)"> + + + + PASSED! - - - ptr(0x903000000) - - - - - - - - - - ptr(0x903800000) - - - - - - - + ptr(0x7f0595600000) + + + + + + ptr(0x7f0595000000) + + + + + # START (50) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (49) ############################# - - - - - - - - - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - - - ptr(0x7ffc4af6f508) size(0x400000) - - - - - - - *ptr(0x0x903000000) - - - ptr(0x7ffc4af6f500) size(0x400000) - - - - - - - *ptr(0x0x903800000) - - - dst(0x903000000) src(0x7fcff9073010) size(0x400000) kind(1) - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - - dst(0x2b84d10) src(0x903800000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + +Device 0 name: Device 687f + ptr(0x7fff13900c60) size(0x400000) + + + + + *ptr(0x0x7f0595600000) + ptr(0x7fff13900c58) size(0x400000) + + + + + *ptr(0x0x7f0595000000) + dst(0x7f0595600000) src(0x1ec5050) size(0x400000) kind(1) + + + + + + + + + + +rocTX <"before hipLaunchKernel pid(1942) tid(1942)"> +rocTX <"hipLaunchKernel pid(1942) tid(1942)"> +<__hipPushCallConfiguration id(46) correlation_id(281) on-enter pid(1942) tid(1942)> +<__hipPushCallConfiguration id(46) correlation_id(281) on-exit pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(282) on-enter pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(282) on-exit pid(1942) tid(1942)> + + + + +rocTX <"after hipLaunchKernel pid(1942) tid(1942)"> +rocTX <"hipMemcpy pid(1942) tid(1942)"> + dst(0x22c5060) src(0x7f0595000000) size(0x400000) kind(2) + + + + + + + + + + + + + +rocTX <"(null) pid(1942) tid(1942)"> +rocTX <"(null) pid(1942) tid(1942)"> + + + PASSED! - - - ptr(0x903000000) - - - - - - - - - - ptr(0x903800000) - - - - - - - + ptr(0x7f0595600000) + + + + + + ptr(0x7f0595000000) + + + + + # START (48) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (47) ############################# - - - - - - - - - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - - - ptr(0x7ffc4af6f508) size(0x400000) - - - - - - - *ptr(0x0x903000000) - - - ptr(0x7ffc4af6f500) size(0x400000) - - - - - - - *ptr(0x0x903800000) - - - dst(0x903000000) src(0x7fcff9073010) size(0x400000) kind(1) - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - - dst(0x2b84d10) src(0x903800000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + +Device 0 name: Device 687f + ptr(0x7fff13900c60) size(0x400000) + + + + + *ptr(0x0x7f0595600000) + ptr(0x7fff13900c58) size(0x400000) + + + + + *ptr(0x0x7f0595000000) + dst(0x7f0595600000) src(0x1ec5050) size(0x400000) kind(1) + + + + + + + + + +rocTX <"before hipLaunchKernel pid(1942) tid(1942)"> +rocTX <"hipLaunchKernel pid(1942) tid(1942)"> + +<__hipPushCallConfiguration id(46) correlation_id(292) on-enter pid(1942) tid(1942)> +<__hipPushCallConfiguration id(46) correlation_id(292) on-exit pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(293) on-enter pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(293) on-exit pid(1942) tid(1942)> + + + + +rocTX <"after hipLaunchKernel pid(1942) tid(1942)"> +rocTX <"hipMemcpy pid(1942) tid(1942)"> + dst(0x22c5060) src(0x7f0595000000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + + + +rocTX <"(null) pid(1942) tid(1942)"> +rocTX <"(null) pid(1942) tid(1942)"> + + + PASSED! - - - ptr(0x903000000) - - - - - - - - - - ptr(0x903800000) - - - - - - - + ptr(0x7f0595600000) + + + + + + ptr(0x7f0595000000) + + + + + # START (46) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (45) ############################# - - - - - - - - - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - - - ptr(0x7ffc4af6f508) size(0x400000) - - - - - - - *ptr(0x0x903000000) - - - ptr(0x7ffc4af6f500) size(0x400000) - - - - - - - *ptr(0x0x903800000) - - - dst(0x903000000) src(0x7fcff9073010) size(0x400000) kind(1) - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - - dst(0x2b84d10) src(0x903800000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + +Device 0 name: Device 687f + ptr(0x7fff13900c60) size(0x400000) + + + + + *ptr(0x0x7f0595600000) + ptr(0x7fff13900c58) size(0x400000) + + + + + *ptr(0x0x7f0595000000) + dst(0x7f0595600000) src(0x1ec5050) size(0x400000) kind(1) + + + + + + + + + + +rocTX <"before hipLaunchKernel pid(1942) tid(1942)"> +rocTX <"hipLaunchKernel pid(1942) tid(1942)"> +<__hipPushCallConfiguration id(46) correlation_id(303) on-enter pid(1942) tid(1942)> +<__hipPushCallConfiguration id(46) correlation_id(303) on-exit pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(304) on-enter pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(304) on-exit pid(1942) tid(1942)> + + + + +rocTX <"after hipLaunchKernel pid(1942) tid(1942)"> +rocTX <"hipMemcpy pid(1942) tid(1942)"> + dst(0x22c5060) src(0x7f0595000000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + +rocTX <"(null) pid(1942) tid(1942)"> +rocTX <"(null) pid(1942) tid(1942)"> + + + PASSED! - - - ptr(0x903000000) - - - - - - - - - - ptr(0x903800000) - - - - - - - + ptr(0x7f0595600000) + + + + + + ptr(0x7f0595000000) + + + + + # START (44) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (43) ############################# - - - - - - - - - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - Activity records: - hipSetDevice correlation_id(217) time_ns(43920666020999:43920666030269) process_id(26018) thread_id(26018) - hipGetDeviceProperties correlation_id(218) time_ns(43920666038229:43920666055600) process_id(26018) thread_id(26018) - hipMalloc correlation_id(219) time_ns(43920668348779:43920668399665) process_id(26018) thread_id(26018) - hipMalloc correlation_id(220) time_ns(43920668404230:43920668424489) process_id(26018) thread_id(26018) - (null) correlation_id(221) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(221) time_ns(43920668428384:43920669051392) process_id(26018) thread_id(26018) - (null) correlation_id(222) time_ns(0:0) external_id(33) - hipModuleLaunchKernel correlation_id(222) time_ns(43920669065575:43920669085593) process_id(26018) thread_id(26018) - hcCommandKernel correlation_id(222) time_ns(43920669090002:43920669572562) device_id(0) queue_id(0) - hcCommandMarker correlation_id(223) time_ns(43920669575663:43920669582063) device_id(0) queue_id(0) - (null) correlation_id(223) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(223) time_ns(43920669098489:43920670513054) process_id(26018) thread_id(26018) - (null) correlation_id(224) time_ns(0:0) external_id(31) - hipFree correlation_id(224) time_ns(43920685397017:43920685473162) process_id(26018) thread_id(26018) - (null) correlation_id(225) time_ns(0:0) external_id(31) - hipFree correlation_id(225) time_ns(43920685479905:43920685512566) process_id(26018) thread_id(26018) - hipSetDevice correlation_id(226) time_ns(43920705150133:43920705159677) process_id(26018) thread_id(26018) - hipGetDeviceProperties correlation_id(227) time_ns(43920705173708:43920705176392) process_id(26018) thread_id(26018) - hipMalloc correlation_id(228) time_ns(43920707387559:43920707430491) process_id(26018) thread_id(26018) - hipMalloc correlation_id(229) time_ns(43920707435147:43920707470153) process_id(26018) thread_id(26018) - (null) correlation_id(230) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(230) time_ns(43920707475630:43920708182956) process_id(26018) thread_id(26018) - (null) correlation_id(231) time_ns(0:0) external_id(33) - hipModuleLaunchKernel correlation_id(231) time_ns(43920708207221:43920708239190) process_id(26018) thread_id(26018) - hcCommandKernel correlation_id(231) time_ns(43920708243795:43920708730515) device_id(0) queue_id(0) - hcCommandMarker correlation_id(232) time_ns(43920708733523:43920708739923) device_id(0) queue_id(0) - (null) correlation_id(232) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(232) time_ns(43920708256261:43920709683783) process_id(26018) thread_id(26018) - (null) correlation_id(233) time_ns(0:0) external_id(31) - hipFree correlation_id(233) time_ns(43920724460404:43920724556178) process_id(26018) thread_id(26018) - (null) correlation_id(234) time_ns(0:0) external_id(31) - hipFree correlation_id(234) time_ns(43920724572710:43920724594556) process_id(26018) thread_id(26018) - hipSetDevice correlation_id(235) time_ns(43920743984215:43920743994889) process_id(26018) thread_id(26018) - hipGetDeviceProperties correlation_id(236) time_ns(43920744014042:43920744016716) process_id(26018) thread_id(26018) - hipMalloc correlation_id(237) time_ns(43920746243929:43920746297000) process_id(26018) thread_id(26018) - hipMalloc correlation_id(238) time_ns(43920746301846:43920746336170) process_id(26018) thread_id(26018) - (null) correlation_id(239) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(239) time_ns(43920746341361:43920747007258) process_id(26018) thread_id(26018) - (null) correlation_id(240) time_ns(0:0) external_id(33) - hipModuleLaunchKernel correlation_id(240) time_ns(43920747031130:43920747062527) process_id(26018) thread_id(26018) - hcCommandKernel correlation_id(240) time_ns(43920747067044:43920747547684) device_id(0) queue_id(0) - hcCommandMarker correlation_id(241) time_ns(43920747550583:43920747556983) device_id(0) queue_id(0) - (null) correlation_id(241) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(241) time_ns(43920747079308:43920748473916) process_id(26018) thread_id(26018) - (null) correlation_id(242) time_ns(0:0) external_id(31) - hipFree correlation_id(242) time_ns(43920763170720:43920763246399) process_id(26018) thread_id(26018) - (null) correlation_id(243) time_ns(0:0) external_id(31) - hipFree correlation_id(243) time_ns(43920763252618:43920763275167) process_id(26018) thread_id(26018) - hipSetDevice correlation_id(244) time_ns(43920782448748:43920782459129) process_id(26018) thread_id(26018) - hipGetDeviceProperties correlation_id(245) time_ns(43920782473429:43920782475994) process_id(26018) thread_id(26018) - hipMalloc correlation_id(246) time_ns(43920784710468:43920784772042) process_id(26018) thread_id(26018) - hipMalloc correlation_id(247) time_ns(43920784785829:43920784816945) process_id(26018) thread_id(26018) - (null) correlation_id(248) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(248) time_ns(43920784822573:43920785492182) process_id(26018) thread_id(26018) - (null) correlation_id(249) time_ns(0:0) external_id(33) - hipModuleLaunchKernel correlation_id(249) time_ns(43920785517018:43920785549020) process_id(26018) thread_id(26018) - hcCommandKernel correlation_id(249) time_ns(43920785553423:43920786043343) device_id(0) queue_id(0) - hcCommandMarker correlation_id(250) time_ns(43920786046386:43920786052786) device_id(0) queue_id(0) - (null) correlation_id(250) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(250) time_ns(43920785565953:43920786973352) process_id(26018) thread_id(26018) - (null) correlation_id(251) time_ns(0:0) external_id(31) - hipFree correlation_id(251) time_ns(43920801451681:43920801539089) process_id(26018) thread_id(26018) - (null) correlation_id(252) time_ns(0:0) external_id(31) - hipFree correlation_id(252) time_ns(43920801556603:43920801591359) process_id(26018) thread_id(26018) - - - ptr(0x7ffc4af6f508) size(0x400000) - - - - - - - *ptr(0x0x903000000) - - - ptr(0x7ffc4af6f500) size(0x400000) - - - - - - - *ptr(0x0x903800000) - - - dst(0x903000000) src(0x7fcff9073010) size(0x400000) kind(1) - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x2b84d10) src(0x903800000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + +Device 0 name: Device 687f + ptr(0x7fff13900c60) size(0x400000) + + + + + *ptr(0x0x7f0595600000) + ptr(0x7fff13900c58) size(0x400000) + + + + + *ptr(0x0x7f0595000000) + dst(0x7f0595600000) src(0x1ec5050) size(0x400000) kind(1) + + + + + + + + + + +rocTX <"before hipLaunchKernel pid(1942) tid(1942)"> +rocTX <"hipLaunchKernel pid(1942) tid(1942)"> +<__hipPushCallConfiguration id(46) correlation_id(314) on-enter pid(1942) tid(1942)> +<__hipPushCallConfiguration id(46) correlation_id(314) on-exit pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(315) on-enter pid(1942) tid(1942)> + + +<__hipPopCallConfiguration id(171) correlation_id(315) on-exit pid(1942) tid(1942)> + + +rocTX <"after hipLaunchKernel pid(1942) tid(1942)"> +rocTX <"hipMemcpy pid(1942) tid(1942)"> + dst(0x22c5060) src(0x7f0595000000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + +rocTX <"(null) pid(1942) tid(1942)"> +rocTX <"(null) pid(1942) tid(1942)"> + + + + PASSED! - - - ptr(0x903000000) - - - - - - - - - - ptr(0x903800000) - - - - - - - + ptr(0x7f0595600000) + + + + + + ptr(0x7f0595000000) + + + + + # START (42) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (41) ############################# - - - - - - - - - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - - - ptr(0x7ffc4af6f508) size(0x400000) - - - - - - - *ptr(0x0x903000000) - - - ptr(0x7ffc4af6f500) size(0x400000) - - - - - - - *ptr(0x0x903800000) - - - dst(0x903000000) src(0x7fcff9073010) size(0x400000) kind(1) - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - - dst(0x2b84d10) src(0x903800000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + +Device 0 name: Device 687f + ptr(0x7fff13900c60) size(0x400000) + + + + + *ptr(0x0x7f0595600000) + ptr(0x7fff13900c58) size(0x400000) + + + + + *ptr(0x0x7f0595000000) + dst(0x7f0595600000) src(0x1ec5050) size(0x400000) kind(1) + + + + + + + + + + +rocTX <"before hipLaunchKernel pid(1942) tid(1942)"> +rocTX <"hipLaunchKernel pid(1942) tid(1942)"> +<__hipPushCallConfiguration id(46) correlation_id(325) on-enter pid(1942) tid(1942)> +<__hipPushCallConfiguration id(46) correlation_id(325) on-exit pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(326) on-enter pid(1942) tid(1942)> + + +<__hipPopCallConfiguration id(171) correlation_id(326) on-exit pid(1942) tid(1942)> + + +rocTX <"after hipLaunchKernel pid(1942) tid(1942)"> +rocTX <"hipMemcpy pid(1942) tid(1942)"> + dst(0x22c5060) src(0x7f0595000000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + +rocTX <"(null) pid(1942) tid(1942)"> +rocTX <"(null) pid(1942) tid(1942)"> + + + + PASSED! - - - ptr(0x903000000) - - - - - - - - - - ptr(0x903800000) - - - - - - - + ptr(0x7f0595600000) + + + + + + ptr(0x7f0595000000) + + + + + # START (40) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (39) ############################# - - - - - - - - - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - - - ptr(0x7ffc4af6f508) size(0x400000) - - - - - - - *ptr(0x0x903000000) - - - ptr(0x7ffc4af6f500) size(0x400000) - - - - - - - *ptr(0x0x903800000) - - - dst(0x903000000) src(0x7fcff9073010) size(0x400000) kind(1) - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - - dst(0x2b84d10) src(0x903800000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + +Device 0 name: Device 687f + ptr(0x7fff13900c60) size(0x400000) + + + + + *ptr(0x0x7f0595600000) + ptr(0x7fff13900c58) size(0x400000) + + + + + *ptr(0x0x7f0595000000) + dst(0x7f0595600000) src(0x1ec5050) size(0x400000) kind(1) + + + + + + + + + + +rocTX <"before hipLaunchKernel pid(1942) tid(1942)"> +rocTX <"hipLaunchKernel pid(1942) tid(1942)"> +<__hipPushCallConfiguration id(46) correlation_id(336) on-enter pid(1942) tid(1942)> +<__hipPushCallConfiguration id(46) correlation_id(336) on-exit pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(337) on-enter pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(337) on-exit pid(1942) tid(1942)> + + + + +rocTX <"after hipLaunchKernel pid(1942) tid(1942)"> +rocTX <"hipMemcpy pid(1942) tid(1942)"> + dst(0x22c5060) src(0x7f0595000000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + +rocTX <"(null) pid(1942) tid(1942)"> +rocTX <"(null) pid(1942) tid(1942)"> + + + + PASSED! - - - ptr(0x903000000) - - - - - - - - - - ptr(0x903800000) - - - - - - - + ptr(0x7f0595600000) + + + + + + ptr(0x7f0595000000) + + + + + # START (38) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (37) ############################# - - - - - - - - - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - - - ptr(0x7ffc4af6f508) size(0x400000) - - - - - - - *ptr(0x0x903000000) - - - ptr(0x7ffc4af6f500) size(0x400000) - - - - - - - *ptr(0x0x903800000) - - - dst(0x903000000) src(0x7fcff9073010) size(0x400000) kind(1) - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - - dst(0x2b84d10) src(0x903800000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + +Device 0 name: Device 687f + ptr(0x7fff13900c60) size(0x400000) + + + + + *ptr(0x0x7f0595600000) + ptr(0x7fff13900c58) size(0x400000) + + + + + *ptr(0x0x7f0595000000) + dst(0x7f0595600000) src(0x1ec5050) size(0x400000) kind(1) + + + + + + + + + + +rocTX <"before hipLaunchKernel pid(1942) tid(1942)"> +rocTX <"hipLaunchKernel pid(1942) tid(1942)"> +<__hipPushCallConfiguration id(46) correlation_id(347) on-enter pid(1942) tid(1942)> +<__hipPushCallConfiguration id(46) correlation_id(347) on-exit pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(348) on-enter pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(348) on-exit pid(1942) tid(1942)> + + + + +rocTX <"after hipLaunchKernel pid(1942) tid(1942)"> +rocTX <"hipMemcpy pid(1942) tid(1942)"> + dst(0x22c5060) src(0x7f0595000000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + +rocTX <"(null) pid(1942) tid(1942)"> +rocTX <"(null) pid(1942) tid(1942)"> + + + + PASSED! - - - ptr(0x903000000) - - - - - - - - - - ptr(0x903800000) - - - - - - - + ptr(0x7f0595600000) + + + + + + ptr(0x7f0595000000) + + + + + # START (36) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (35) ############################# - - - - - - - - - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - Activity records: - hipSetDevice correlation_id(253) time_ns(43920820624535:43920820635278) process_id(26018) thread_id(26018) - hipGetDeviceProperties correlation_id(254) time_ns(43920820643992:43920820647313) process_id(26018) thread_id(26018) - hipMalloc correlation_id(255) time_ns(43920822884950:43920822930277) process_id(26018) thread_id(26018) - hipMalloc correlation_id(256) time_ns(43920822935552:43920822963087) process_id(26018) thread_id(26018) - (null) correlation_id(257) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(257) time_ns(43920822969192:43920823591588) process_id(26018) thread_id(26018) - (null) correlation_id(258) time_ns(0:0) external_id(33) - hipModuleLaunchKernel correlation_id(258) time_ns(43920823608075:43920823630958) process_id(26018) thread_id(26018) - hcCommandKernel correlation_id(258) time_ns(43920823635296:43920824125856) device_id(0) queue_id(0) - hcCommandMarker correlation_id(259) time_ns(43920824129106:43920824135506) device_id(0) queue_id(0) - (null) correlation_id(259) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(259) time_ns(43920823647271:43920825034897) process_id(26018) thread_id(26018) - (null) correlation_id(260) time_ns(0:0) external_id(31) - hipFree correlation_id(260) time_ns(43920839905243:43920839987167) process_id(26018) thread_id(26018) - (null) correlation_id(261) time_ns(0:0) external_id(31) - hipFree correlation_id(261) time_ns(43920839994296:43920840054469) process_id(26018) thread_id(26018) - hipSetDevice correlation_id(262) time_ns(43920859160717:43920859171500) process_id(26018) thread_id(26018) - hipGetDeviceProperties correlation_id(263) time_ns(43920859176081:43920859179117) process_id(26018) thread_id(26018) - hipMalloc correlation_id(264) time_ns(43920861387403:43920861432677) process_id(26018) thread_id(26018) - hipMalloc correlation_id(265) time_ns(43920861437722:43920861475065) process_id(26018) thread_id(26018) - (null) correlation_id(266) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(266) time_ns(43920861493721:43920862104606) process_id(26018) thread_id(26018) - (null) correlation_id(267) time_ns(0:0) external_id(33) - hipModuleLaunchKernel correlation_id(267) time_ns(43920862132081:43920862186320) process_id(26018) thread_id(26018) - hcCommandKernel correlation_id(267) time_ns(43920862190789:43920862672549) device_id(0) queue_id(0) - hcCommandMarker correlation_id(268) time_ns(43920862675430:43920862681830) device_id(0) queue_id(0) - (null) correlation_id(268) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(268) time_ns(43920862193506:43920863614349) process_id(26018) thread_id(26018) - (null) correlation_id(269) time_ns(0:0) external_id(31) - hipFree correlation_id(269) time_ns(43920878207310:43920878306027) process_id(26018) thread_id(26018) - (null) correlation_id(270) time_ns(0:0) external_id(31) - hipFree correlation_id(270) time_ns(43920878313265:43920878348501) process_id(26018) thread_id(26018) - hipSetDevice correlation_id(271) time_ns(43920897517489:43920897528697) process_id(26018) thread_id(26018) - hipGetDeviceProperties correlation_id(272) time_ns(43920897533549:43920897536696) process_id(26018) thread_id(26018) - hipMalloc correlation_id(273) time_ns(43920899712249:43920899791035) process_id(26018) thread_id(26018) - hipMalloc correlation_id(274) time_ns(43920899796292:43920899833487) process_id(26018) thread_id(26018) - (null) correlation_id(275) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(275) time_ns(43920899849267:43920900515209) process_id(26018) thread_id(26018) - (null) correlation_id(276) time_ns(0:0) external_id(33) - hipModuleLaunchKernel correlation_id(276) time_ns(43920900546163:43920900594603) process_id(26018) thread_id(26018) - hcCommandKernel correlation_id(276) time_ns(43920900598990:43920901082030) device_id(0) queue_id(0) - hcCommandMarker correlation_id(277) time_ns(43920901084743:43920901091303) device_id(0) queue_id(0) - (null) correlation_id(277) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(277) time_ns(43920900601805:43920902055221) process_id(26018) thread_id(26018) - (null) correlation_id(278) time_ns(0:0) external_id(31) - hipFree correlation_id(278) time_ns(43920916576640:43920916674128) process_id(26018) thread_id(26018) - (null) correlation_id(279) time_ns(0:0) external_id(31) - hipFree correlation_id(279) time_ns(43920916681130:43920916716651) process_id(26018) thread_id(26018) - hipSetDevice correlation_id(280) time_ns(43920935854803:43920935865488) process_id(26018) thread_id(26018) - hipGetDeviceProperties correlation_id(281) time_ns(43920935870334:43920935873387) process_id(26018) thread_id(26018) - hipMalloc correlation_id(282) time_ns(43920938100083:43920938166114) process_id(26018) thread_id(26018) - hipMalloc correlation_id(283) time_ns(43920938171363:43920938232503) process_id(26018) thread_id(26018) - (null) correlation_id(284) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(284) time_ns(43920938238248:43920938899238) process_id(26018) thread_id(26018) - (null) correlation_id(285) time_ns(0:0) external_id(33) - hipModuleLaunchKernel correlation_id(285) time_ns(43920938915318:43920938959020) process_id(26018) thread_id(26018) - hcCommandKernel correlation_id(285) time_ns(43920938963415:43920939453335) device_id(0) queue_id(0) - hcCommandMarker correlation_id(286) time_ns(43920939456319:43920939462879) device_id(0) queue_id(0) - (null) correlation_id(286) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(286) time_ns(43920938976800:43920940430790) process_id(26018) thread_id(26018) - (null) correlation_id(287) time_ns(0:0) external_id(31) - hipFree correlation_id(287) time_ns(43920954960974:43920955062324) process_id(26018) thread_id(26018) - (null) correlation_id(288) time_ns(0:0) external_id(31) - hipFree correlation_id(288) time_ns(43920955069328:43920955128332) process_id(26018) thread_id(26018) - - - ptr(0x7ffc4af6f508) size(0x400000) - - - - - - - *ptr(0x0x903000000) - - - ptr(0x7ffc4af6f500) size(0x400000) - - - - - - - *ptr(0x0x903800000) - - - dst(0x903000000) src(0x7fcff9073010) size(0x400000) kind(1) - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - - dst(0x2b84d10) src(0x903800000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + +Device 0 name: Device 687f + ptr(0x7fff13900c60) size(0x400000) + + + + + *ptr(0x0x7f0595600000) + ptr(0x7fff13900c58) size(0x400000) + + + + + *ptr(0x0x7f0595000000) + dst(0x7f0595600000) src(0x1ec5050) size(0x400000) kind(1) + + + + + + + + + + +rocTX <"before hipLaunchKernel pid(1942) tid(1942)"> +rocTX <"hipLaunchKernel pid(1942) tid(1942)"> +<__hipPushCallConfiguration id(46) correlation_id(358) on-enter pid(1942) tid(1942)> +<__hipPushCallConfiguration id(46) correlation_id(358) on-exit pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(359) on-enter pid(1942) tid(1942)> + + +<__hipPopCallConfiguration id(171) correlation_id(359) on-exit pid(1942) tid(1942)> + + +rocTX <"after hipLaunchKernel pid(1942) tid(1942)"> +rocTX <"hipMemcpy pid(1942) tid(1942)"> + dst(0x22c5060) src(0x7f0595000000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + +rocTX <"(null) pid(1942) tid(1942)"> +rocTX <"(null) pid(1942) tid(1942)"> + + + + PASSED! - - - ptr(0x903000000) - - - - - - - - - - ptr(0x903800000) - - - - - - - + ptr(0x7f0595600000) + + + + + + ptr(0x7f0595000000) + + + + + # START (34) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (33) ############################# - - - - - - - - - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - - - ptr(0x7ffc4af6f508) size(0x400000) - - - - - - - *ptr(0x0x903000000) - - - ptr(0x7ffc4af6f500) size(0x400000) - - - - - - - *ptr(0x0x903800000) - - - dst(0x903000000) src(0x7fcff9073010) size(0x400000) kind(1) - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - - dst(0x2b84d10) src(0x903800000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + +Device 0 name: Device 687f + ptr(0x7fff13900c60) size(0x400000) + + + + + *ptr(0x0x7f0595600000) + ptr(0x7fff13900c58) size(0x400000) + + + + + *ptr(0x0x7f0595000000) + dst(0x7f0595600000) src(0x1ec5050) size(0x400000) kind(1) + + + + + + + + + +rocTX <"before hipLaunchKernel pid(1942) tid(1942)"> +rocTX <"hipLaunchKernel pid(1942) tid(1942)"> + +<__hipPushCallConfiguration id(46) correlation_id(369) on-enter pid(1942) tid(1942)> +<__hipPushCallConfiguration id(46) correlation_id(369) on-exit pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(370) on-enter pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(370) on-exit pid(1942) tid(1942)> + + + + +rocTX <"after hipLaunchKernel pid(1942) tid(1942)"> +rocTX <"hipMemcpy pid(1942) tid(1942)"> + dst(0x22c5060) src(0x7f0595000000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + +rocTX <"(null) pid(1942) tid(1942)"> +rocTX <"(null) pid(1942) tid(1942)"> + + + PASSED! - - - ptr(0x903000000) - - - - - - - - - - ptr(0x903800000) - - - - - - - + ptr(0x7f0595600000) + + + + + + ptr(0x7f0595000000) + + + + + # START (32) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (31) ############################# - - - - - - - - - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - - - ptr(0x7ffc4af6f508) size(0x400000) - - - - - - - *ptr(0x0x903000000) - - - ptr(0x7ffc4af6f500) size(0x400000) - - - - - - - *ptr(0x0x903800000) - - - dst(0x903000000) src(0x7fcff9073010) size(0x400000) kind(1) - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - - dst(0x2b84d10) src(0x903800000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + +Device 0 name: Device 687f + ptr(0x7fff13900c60) size(0x400000) + + + + + *ptr(0x0x7f0595600000) + ptr(0x7fff13900c58) size(0x400000) + + + + + *ptr(0x0x7f0595000000) + dst(0x7f0595600000) src(0x1ec5050) size(0x400000) kind(1) + + + + + + + + + + +rocTX <"before hipLaunchKernel pid(1942) tid(1942)"> +rocTX <"hipLaunchKernel pid(1942) tid(1942)"> +<__hipPushCallConfiguration id(46) correlation_id(380) on-enter pid(1942) tid(1942)> +<__hipPushCallConfiguration id(46) correlation_id(380) on-exit pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(381) on-enter pid(1942) tid(1942)> + + +<__hipPopCallConfiguration id(171) correlation_id(381) on-exit pid(1942) tid(1942)> + + +rocTX <"after hipLaunchKernel pid(1942) tid(1942)"> +rocTX <"hipMemcpy pid(1942) tid(1942)"> + dst(0x22c5060) src(0x7f0595000000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + +rocTX <"(null) pid(1942) tid(1942)"> +rocTX <"(null) pid(1942) tid(1942)"> + + + + PASSED! - - - ptr(0x903000000) - - - - - - - - - - ptr(0x903800000) - - - - - - - + ptr(0x7f0595600000) + + + + + + ptr(0x7f0595000000) + + + + + # START (30) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (29) ############################# - - - - - - - - - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - - - ptr(0x7ffc4af6f508) size(0x400000) - - - - - - - *ptr(0x0x903000000) - - - ptr(0x7ffc4af6f500) size(0x400000) - - - - - - - *ptr(0x0x903800000) - - - dst(0x903000000) src(0x7fcff9073010) size(0x400000) kind(1) - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - - dst(0x2b84d10) src(0x903800000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + +Device 0 name: Device 687f + ptr(0x7fff13900c60) size(0x400000) + + + + + *ptr(0x0x7f0595600000) + ptr(0x7fff13900c58) size(0x400000) + + + + + *ptr(0x0x7f0595000000) + dst(0x7f0595600000) src(0x1ec5050) size(0x400000) kind(1) + + + + + + + + + + +rocTX <"before hipLaunchKernel pid(1942) tid(1942)"> +rocTX <"hipLaunchKernel pid(1942) tid(1942)"> +<__hipPushCallConfiguration id(46) correlation_id(391) on-enter pid(1942) tid(1942)> +<__hipPushCallConfiguration id(46) correlation_id(391) on-exit pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(392) on-enter pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(392) on-exit pid(1942) tid(1942)> + + + + +rocTX <"after hipLaunchKernel pid(1942) tid(1942)"> +rocTX <"hipMemcpy pid(1942) tid(1942)"> + dst(0x22c5060) src(0x7f0595000000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + +rocTX <"(null) pid(1942) tid(1942)"> +rocTX <"(null) pid(1942) tid(1942)"> + + + + PASSED! - - - ptr(0x903000000) - - - - - - - - - - ptr(0x903800000) - - - - - - - + ptr(0x7f0595600000) + + + + + + ptr(0x7f0595000000) + + + + + # START (28) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (27) ############################# - - - - - - - - - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - Activity records: - hipSetDevice correlation_id(289) time_ns(43920975540410:43920975550199) process_id(26018) thread_id(26018) - hipGetDeviceProperties correlation_id(290) time_ns(43920975559821:43920975563131) process_id(26018) thread_id(26018) - hipMalloc correlation_id(291) time_ns(43920977888564:43920977942265) process_id(26018) thread_id(26018) - hipMalloc correlation_id(292) time_ns(43920977947955:43920977994802) process_id(26018) thread_id(26018) - (null) correlation_id(293) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(293) time_ns(43920978000874:43920978649830) process_id(26018) thread_id(26018) - (null) correlation_id(294) time_ns(0:0) external_id(33) - hipModuleLaunchKernel correlation_id(294) time_ns(43920978675299:43920978698163) process_id(26018) thread_id(26018) - hcCommandKernel correlation_id(294) time_ns(43920978703807:43920980536129) device_id(0) queue_id(0) - hcCommandMarker correlation_id(295) time_ns(43920980539035:43920980570715) device_id(0) queue_id(0) - (null) correlation_id(295) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(295) time_ns(43920978712207:43920981490497) process_id(26018) thread_id(26018) - (null) correlation_id(296) time_ns(0:0) external_id(31) - hipFree correlation_id(296) time_ns(43920996042565:43920996156653) process_id(26018) thread_id(26018) - (null) correlation_id(297) time_ns(0:0) external_id(31) - hipFree correlation_id(297) time_ns(43920996163576:43920996187894) process_id(26018) thread_id(26018) - hipSetDevice correlation_id(298) time_ns(43921016881914:43921016892494) process_id(26018) thread_id(26018) - hipGetDeviceProperties correlation_id(299) time_ns(43921016897146:43921016900202) process_id(26018) thread_id(26018) - hipMalloc correlation_id(300) time_ns(43921019118474:43921019194418) process_id(26018) thread_id(26018) - hipMalloc correlation_id(301) time_ns(43921019199806:43921019257280) process_id(26018) thread_id(26018) - (null) correlation_id(302) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(302) time_ns(43921019263264:43921019929767) process_id(26018) thread_id(26018) - (null) correlation_id(303) time_ns(0:0) external_id(33) - hipModuleLaunchKernel correlation_id(303) time_ns(43921019956914:43921019980342) process_id(26018) thread_id(26018) - hcCommandKernel correlation_id(303) time_ns(43921019991073:43921021822915) device_id(0) queue_id(0) - hcCommandMarker correlation_id(304) time_ns(43921021825996:43921021857836) device_id(0) queue_id(0) - (null) correlation_id(304) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(304) time_ns(43921019997251:43921022798970) process_id(26018) thread_id(26018) - (null) correlation_id(305) time_ns(0:0) external_id(31) - hipFree correlation_id(305) time_ns(43921037701050:43921037803547) process_id(26018) thread_id(26018) - (null) correlation_id(306) time_ns(0:0) external_id(31) - hipFree correlation_id(306) time_ns(43921037810513:43921037856078) process_id(26018) thread_id(26018) - hipSetDevice correlation_id(307) time_ns(43921058807427:43921058819022) process_id(26018) thread_id(26018) - hipGetDeviceProperties correlation_id(308) time_ns(43921058823836:43921058826917) process_id(26018) thread_id(26018) - hipMalloc correlation_id(309) time_ns(43921061081162:43921061148125) process_id(26018) thread_id(26018) - hipMalloc correlation_id(310) time_ns(43921061153340:43921061190459) process_id(26018) thread_id(26018) - (null) correlation_id(311) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(311) time_ns(43921061196492:43921061858014) process_id(26018) thread_id(26018) - (null) correlation_id(312) time_ns(0:0) external_id(33) - hipModuleLaunchKernel correlation_id(312) time_ns(43921061889434:43921061937548) process_id(26018) thread_id(26018) - hcCommandKernel correlation_id(312) time_ns(43921061942968:43921063772730) device_id(0) queue_id(0) - hcCommandMarker correlation_id(313) time_ns(43921063775552:43921063806912) device_id(0) queue_id(0) - (null) correlation_id(313) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(313) time_ns(43921061954491:43921064822971) process_id(26018) thread_id(26018) - (null) correlation_id(314) time_ns(0:0) external_id(31) - hipFree correlation_id(314) time_ns(43921079416666:43921079526675) process_id(26018) thread_id(26018) - (null) correlation_id(315) time_ns(0:0) external_id(31) - hipFree correlation_id(315) time_ns(43921079533802:43921079559437) process_id(26018) thread_id(26018) - hipSetDevice correlation_id(316) time_ns(43921100121369:43921100132102) process_id(26018) thread_id(26018) - hipGetDeviceProperties correlation_id(317) time_ns(43921100136746:43921100139699) process_id(26018) thread_id(26018) - hipMalloc correlation_id(318) time_ns(43921102315570:43921102380775) process_id(26018) thread_id(26018) - hipMalloc correlation_id(319) time_ns(43921102385829:43921102436812) process_id(26018) thread_id(26018) - (null) correlation_id(320) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(320) time_ns(43921102453760:43921103131787) process_id(26018) thread_id(26018) - (null) correlation_id(321) time_ns(0:0) external_id(33) - hipModuleLaunchKernel correlation_id(321) time_ns(43921103163853:43921103197525) process_id(26018) thread_id(26018) - hcCommandKernel correlation_id(321) time_ns(43921103203336:43921105056938) device_id(0) queue_id(0) - hcCommandMarker correlation_id(322) time_ns(43921105059764:43921105090964) device_id(0) queue_id(0) - (null) correlation_id(322) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(322) time_ns(43921103213907:43921106046978) process_id(26018) thread_id(26018) - (null) correlation_id(323) time_ns(0:0) external_id(31) - hipFree correlation_id(323) time_ns(43921120538904:43921120638341) process_id(26018) thread_id(26018) - (null) correlation_id(324) time_ns(0:0) external_id(31) - hipFree correlation_id(324) time_ns(43921120645481:43921120669957) process_id(26018) thread_id(26018) - - - ptr(0x7ffc4af6f508) size(0x400000) - - - - - - - *ptr(0x0x903000000) - - - ptr(0x7ffc4af6f500) size(0x400000) - - - - - - - *ptr(0x0x903800000) - - - dst(0x903000000) src(0x7fcff9073010) size(0x400000) kind(1) - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x2b84d10) src(0x903800000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + +Device 0 name: Device 687f + ptr(0x7fff13900c60) size(0x400000) + + + + + *ptr(0x0x7f0595600000) + ptr(0x7fff13900c58) size(0x400000) + + + + + *ptr(0x0x7f0595000000) + dst(0x7f0595600000) src(0x1ec5050) size(0x400000) kind(1) + + + + + + + + + +rocTX <"before hipLaunchKernel pid(1942) tid(1942)"> +rocTX <"hipLaunchKernel pid(1942) tid(1942)"> + +<__hipPushCallConfiguration id(46) correlation_id(402) on-enter pid(1942) tid(1942)> +<__hipPushCallConfiguration id(46) correlation_id(402) on-exit pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(403) on-enter pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(403) on-exit pid(1942) tid(1942)> + + + + +rocTX <"after hipLaunchKernel pid(1942) tid(1942)"> +rocTX <"hipMemcpy pid(1942) tid(1942)"> + dst(0x22c5060) src(0x7f0595000000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + +rocTX <"(null) pid(1942) tid(1942)"> +rocTX <"(null) pid(1942) tid(1942)"> + + + + PASSED! - - - ptr(0x903000000) - - - - - - - - - - ptr(0x903800000) - - - - - - - + ptr(0x7f0595600000) + + + + + + ptr(0x7f0595000000) + + + + + # START (26) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (25) ############################# - - - - - - - - - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - - - ptr(0x7ffc4af6f508) size(0x400000) - - - - - - - *ptr(0x0x903000000) - - - ptr(0x7ffc4af6f500) size(0x400000) - - - - - - - *ptr(0x0x903800000) - - - dst(0x903000000) src(0x7fcff9073010) size(0x400000) kind(1) - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x2b84d10) src(0x903800000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + +Device 0 name: Device 687f + ptr(0x7fff13900c60) size(0x400000) + + + + + *ptr(0x0x7f0595600000) + ptr(0x7fff13900c58) size(0x400000) + + + + + *ptr(0x0x7f0595000000) + dst(0x7f0595600000) src(0x1ec5050) size(0x400000) kind(1) + + + + + + + + + + +rocTX <"before hipLaunchKernel pid(1942) tid(1942)"> +rocTX <"hipLaunchKernel pid(1942) tid(1942)"> +<__hipPushCallConfiguration id(46) correlation_id(413) on-enter pid(1942) tid(1942)> +<__hipPushCallConfiguration id(46) correlation_id(413) on-exit pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(414) on-enter pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(414) on-exit pid(1942) tid(1942)> + + + + +rocTX <"after hipLaunchKernel pid(1942) tid(1942)"> +rocTX <"hipMemcpy pid(1942) tid(1942)"> + dst(0x22c5060) src(0x7f0595000000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + +rocTX <"(null) pid(1942) tid(1942)"> +rocTX <"(null) pid(1942) tid(1942)"> + + + + PASSED! - - - ptr(0x903000000) - - - - - - - - - - ptr(0x903800000) - - - - - - - + ptr(0x7f0595600000) + + + + + + ptr(0x7f0595000000) + + + + + # START (24) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (23) ############################# - - - - - - - - - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - - - ptr(0x7ffc4af6f508) size(0x400000) - - - - - - - *ptr(0x0x903000000) - - - ptr(0x7ffc4af6f500) size(0x400000) - - - - - - - *ptr(0x0x903800000) - - - dst(0x903000000) src(0x7fcff9073010) size(0x400000) kind(1) - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x2b84d10) src(0x903800000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + +Device 0 name: Device 687f + ptr(0x7fff13900c60) size(0x400000) + + + + + *ptr(0x0x7f0595600000) + ptr(0x7fff13900c58) size(0x400000) + + + + + *ptr(0x0x7f0595000000) + dst(0x7f0595600000) src(0x1ec5050) size(0x400000) kind(1) + + + + + + + + + +rocTX <"before hipLaunchKernel pid(1942) tid(1942)"> +rocTX <"hipLaunchKernel pid(1942) tid(1942)"> +<__hipPushCallConfiguration id(46) correlation_id(424) on-enter pid(1942) tid(1942)> + +<__hipPushCallConfiguration id(46) correlation_id(424) on-exit pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(425) on-enter pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(425) on-exit pid(1942) tid(1942)> + + + + +rocTX <"after hipLaunchKernel pid(1942) tid(1942)"> +rocTX <"hipMemcpy pid(1942) tid(1942)"> + dst(0x22c5060) src(0x7f0595000000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + +rocTX <"(null) pid(1942) tid(1942)"> +rocTX <"(null) pid(1942) tid(1942)"> + + + + PASSED! - - - ptr(0x903000000) - - - - - - - - - - ptr(0x903800000) - - - - - - - + ptr(0x7f0595600000) + + + + + + ptr(0x7f0595000000) + + + + + # START (22) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (21) ############################# - - - - - - - - - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - - - ptr(0x7ffc4af6f508) size(0x400000) - - - - - - - *ptr(0x0x903000000) - - - ptr(0x7ffc4af6f500) size(0x400000) - - - - - - - *ptr(0x0x903800000) - - - dst(0x903000000) src(0x7fcff9073010) size(0x400000) kind(1) - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x2b84d10) src(0x903800000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + +Device 0 name: Device 687f + ptr(0x7fff13900c60) size(0x400000) + + + + + *ptr(0x0x7f0595600000) + ptr(0x7fff13900c58) size(0x400000) + + + + + *ptr(0x0x7f0595000000) + dst(0x7f0595600000) src(0x1ec5050) size(0x400000) kind(1) + + + + + + + + + + +rocTX <"before hipLaunchKernel pid(1942) tid(1942)"> +rocTX <"hipLaunchKernel pid(1942) tid(1942)"> +<__hipPushCallConfiguration id(46) correlation_id(435) on-enter pid(1942) tid(1942)> +<__hipPushCallConfiguration id(46) correlation_id(435) on-exit pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(436) on-enter pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(436) on-exit pid(1942) tid(1942)> + + + + +rocTX <"after hipLaunchKernel pid(1942) tid(1942)"> +rocTX <"hipMemcpy pid(1942) tid(1942)"> + dst(0x22c5060) src(0x7f0595000000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + +rocTX <"(null) pid(1942) tid(1942)"> +rocTX <"(null) pid(1942) tid(1942)"> + + + + PASSED! - - - ptr(0x903000000) - - - - - - - - - - ptr(0x903800000) - - - - - - - + ptr(0x7f0595600000) + + + + + + ptr(0x7f0595000000) + + + + + # START (20) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (19) ############################# - - - - - - - - - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - Activity records: - hipSetDevice correlation_id(325) time_ns(43921141121385:43921141131686) process_id(26018) thread_id(26018) - hipGetDeviceProperties correlation_id(326) time_ns(43921141141015:43921141144318) process_id(26018) thread_id(26018) - hipMalloc correlation_id(327) time_ns(43921143379778:43921143424403) process_id(26018) thread_id(26018) - hipMalloc correlation_id(328) time_ns(43921143429762:43921143457254) process_id(26018) thread_id(26018) - (null) correlation_id(329) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(329) time_ns(43921143462889:43921144101308) process_id(26018) thread_id(26018) - (null) correlation_id(330) time_ns(0:0) external_id(33) - hipModuleLaunchKernel correlation_id(330) time_ns(43921144117974:43921144141645) process_id(26018) thread_id(26018) - hcCommandKernel correlation_id(330) time_ns(43921144154951:43921145993033) device_id(0) queue_id(0) - hcCommandMarker correlation_id(331) time_ns(43921145996071:43921146027751) device_id(0) queue_id(0) - (null) correlation_id(331) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(331) time_ns(43921144157864:43921146933105) process_id(26018) thread_id(26018) - (null) correlation_id(332) time_ns(0:0) external_id(31) - hipFree correlation_id(332) time_ns(43921161567245:43921161664885) process_id(26018) thread_id(26018) - (null) correlation_id(333) time_ns(0:0) external_id(31) - hipFree correlation_id(333) time_ns(43921161672647:43921161707686) process_id(26018) thread_id(26018) - hipSetDevice correlation_id(334) time_ns(43921182225886:43921182236849) process_id(26018) thread_id(26018) - hipGetDeviceProperties correlation_id(335) time_ns(43921182241435:43921182244892) process_id(26018) thread_id(26018) - hipMalloc correlation_id(336) time_ns(43921184425237:43921184471258) process_id(26018) thread_id(26018) - hipMalloc correlation_id(337) time_ns(43921184476351:43921184514698) process_id(26018) thread_id(26018) - (null) correlation_id(338) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(338) time_ns(43921184529481:43921185198143) process_id(26018) thread_id(26018) - (null) correlation_id(339) time_ns(0:0) external_id(33) - hipModuleLaunchKernel correlation_id(339) time_ns(43921185229262:43921185261858) process_id(26018) thread_id(26018) - hcCommandKernel correlation_id(339) time_ns(43921185267413:43921187105015) device_id(0) queue_id(0) - hcCommandMarker correlation_id(340) time_ns(43921187108072:43921187139272) device_id(0) queue_id(0) - (null) correlation_id(340) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(340) time_ns(43921185267704:43921188146942) process_id(26018) thread_id(26018) - (null) correlation_id(341) time_ns(0:0) external_id(31) - hipFree correlation_id(341) time_ns(43921202654750:43921202753380) process_id(26018) thread_id(26018) - (null) correlation_id(342) time_ns(0:0) external_id(31) - hipFree correlation_id(342) time_ns(43921202760642:43921202785962) process_id(26018) thread_id(26018) - hipSetDevice correlation_id(343) time_ns(43921223247405:43921223258592) process_id(26018) thread_id(26018) - hipGetDeviceProperties correlation_id(344) time_ns(43921223263613:43921223266832) process_id(26018) thread_id(26018) - hipMalloc correlation_id(345) time_ns(43921225447018:43921225512689) process_id(26018) thread_id(26018) - hipMalloc correlation_id(346) time_ns(43921225517870:43921225555644) process_id(26018) thread_id(26018) - (null) correlation_id(347) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(347) time_ns(43921225571475:43921226241784) process_id(26018) thread_id(26018) - (null) correlation_id(348) time_ns(0:0) external_id(33) - hipModuleLaunchKernel correlation_id(348) time_ns(43921226268698:43921226293781) process_id(26018) thread_id(26018) - hcCommandKernel correlation_id(348) time_ns(43921226298138:43921226779098) device_id(0) queue_id(0) - hcCommandMarker correlation_id(349) time_ns(43921226781891:43921226788451) device_id(0) queue_id(0) - (null) correlation_id(349) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(349) time_ns(43921226300142:43921227705747) process_id(26018) thread_id(26018) - (null) correlation_id(350) time_ns(0:0) external_id(31) - hipFree correlation_id(350) time_ns(43921242198953:43921242300021) process_id(26018) thread_id(26018) - (null) correlation_id(351) time_ns(0:0) external_id(31) - hipFree correlation_id(351) time_ns(43921242307136:43921242331883) process_id(26018) thread_id(26018) - hipSetDevice correlation_id(352) time_ns(43921261502305:43921261513097) process_id(26018) thread_id(26018) - hipGetDeviceProperties correlation_id(353) time_ns(43921261517771:43921261520828) process_id(26018) thread_id(26018) - hipMalloc correlation_id(354) time_ns(43921263694962:43921263740171) process_id(26018) thread_id(26018) - hipMalloc correlation_id(355) time_ns(43921263745336:43921263782959) process_id(26018) thread_id(26018) - (null) correlation_id(356) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(356) time_ns(43921263797785:43921264452177) process_id(26018) thread_id(26018) - (null) correlation_id(357) time_ns(0:0) external_id(33) - hipModuleLaunchKernel correlation_id(357) time_ns(43921264479507:43921264504552) process_id(26018) thread_id(26018) - hcCommandKernel correlation_id(357) time_ns(43921264514694:43921264998374) device_id(0) queue_id(0) - hcCommandMarker correlation_id(358) time_ns(43921265001322:43921265007882) device_id(0) queue_id(0) - (null) correlation_id(358) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(358) time_ns(43921264519475:43921265946447) process_id(26018) thread_id(26018) - (null) correlation_id(359) time_ns(0:0) external_id(31) - hipFree correlation_id(359) time_ns(43921280480304:43921280577911) process_id(26018) thread_id(26018) - (null) correlation_id(360) time_ns(0:0) external_id(31) - hipFree correlation_id(360) time_ns(43921280585216:43921280622787) process_id(26018) thread_id(26018) - - - ptr(0x7ffc4af6f508) size(0x400000) - - - - - - - *ptr(0x0x903000000) - - - ptr(0x7ffc4af6f500) size(0x400000) - - - - - - - *ptr(0x0x903800000) - - - dst(0x903000000) src(0x7fcff9073010) size(0x400000) kind(1) - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x2b84d10) src(0x903800000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + +Device 0 name: Device 687f + ptr(0x7fff13900c60) size(0x400000) + + + + + *ptr(0x0x7f0595600000) + ptr(0x7fff13900c58) size(0x400000) + + + + + *ptr(0x0x7f0595000000) + dst(0x7f0595600000) src(0x1ec5050) size(0x400000) kind(1) + + + + + + + + + + +rocTX <"before hipLaunchKernel pid(1942) tid(1942)"> +rocTX <"hipLaunchKernel pid(1942) tid(1942)"> +<__hipPushCallConfiguration id(46) correlation_id(446) on-enter pid(1942) tid(1942)> +<__hipPushCallConfiguration id(46) correlation_id(446) on-exit pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(447) on-enter pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(447) on-exit pid(1942) tid(1942)> + + + + +rocTX <"after hipLaunchKernel pid(1942) tid(1942)"> +rocTX <"hipMemcpy pid(1942) tid(1942)"> + dst(0x22c5060) src(0x7f0595000000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + +rocTX <"(null) pid(1942) tid(1942)"> +rocTX <"(null) pid(1942) tid(1942)"> + + + + PASSED! - - - ptr(0x903000000) - - - - - - - - - - ptr(0x903800000) - - - - - - - + ptr(0x7f0595600000) + + + + + + ptr(0x7f0595000000) + + + + + # START (18) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (17) ############################# - - - - - - - - - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - - - ptr(0x7ffc4af6f508) size(0x400000) - - - - - - - *ptr(0x0x903000000) - - - ptr(0x7ffc4af6f500) size(0x400000) - - - - - - - *ptr(0x0x903800000) - - - dst(0x903000000) src(0x7fcff9073010) size(0x400000) kind(1) - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x2b84d10) src(0x903800000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - + + + + +Device 0 name: Device 687f + ptr(0x7fff13900c60) size(0x400000) + + + + + *ptr(0x0x7f0595600000) + ptr(0x7fff13900c58) size(0x400000) + + + + + *ptr(0x0x7f0595000000) + dst(0x7f0595600000) src(0x1ec5050) size(0x400000) kind(1) + + + + + + + + + +rocTX <"before hipLaunchKernel pid(1942) tid(1942)"> +rocTX <"hipLaunchKernel pid(1942) tid(1942)"> +<__hipPushCallConfiguration id(46) correlation_id(457) on-enter pid(1942) tid(1942)> + +<__hipPushCallConfiguration id(46) correlation_id(457) on-exit pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(458) on-enter pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(458) on-exit pid(1942) tid(1942)> + + +rocTX <"after hipLaunchKernel pid(1942) tid(1942)"> +rocTX <"hipMemcpy pid(1942) tid(1942)"> + dst(0x22c5060) src(0x7f0595000000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + +rocTX <"(null) pid(1942) tid(1942)"> +rocTX <"(null) pid(1942) tid(1942)"> + + + PASSED! - - - ptr(0x903000000) - - - - - - - - - - ptr(0x903800000) - - - - - - - + ptr(0x7f0595600000) + + + + + + ptr(0x7f0595000000) + + + + + # START (16) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (15) ############################# - - - - - - - - - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - - - ptr(0x7ffc4af6f508) size(0x400000) - - - - - - - *ptr(0x0x903000000) - - - ptr(0x7ffc4af6f500) size(0x400000) - - - - - - - *ptr(0x0x903800000) - - - dst(0x903000000) src(0x7fcff9073010) size(0x400000) kind(1) - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x2b84d10) src(0x903800000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + +Device 0 name: Device 687f + ptr(0x7fff13900c60) size(0x400000) + + + + + *ptr(0x0x7f0595600000) + ptr(0x7fff13900c58) size(0x400000) + + + + + *ptr(0x0x7f0595000000) + dst(0x7f0595600000) src(0x1ec5050) size(0x400000) kind(1) + + + + + + + + + +rocTX <"before hipLaunchKernel pid(1942) tid(1942)"> +rocTX <"hipLaunchKernel pid(1942) tid(1942)"> +<__hipPushCallConfiguration id(46) correlation_id(468) on-enter pid(1942) tid(1942)> + +<__hipPushCallConfiguration id(46) correlation_id(468) on-exit pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(469) on-enter pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(469) on-exit pid(1942) tid(1942)> + + + + +rocTX <"after hipLaunchKernel pid(1942) tid(1942)"> +rocTX <"hipMemcpy pid(1942) tid(1942)"> + dst(0x22c5060) src(0x7f0595000000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + +rocTX <"(null) pid(1942) tid(1942)"> +rocTX <"(null) pid(1942) tid(1942)"> + + + + Activity records: + KernelExecution correlation_id(239) time_ns(3802689993685890:3802689994885798) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(240) time_ns(3802689993663315:3802689996358915) device_id(0) queue_id(0) bytes(0x0) + CopyHostToDevice correlation_id(247) time_ns(3802690031123922:3802690032889585) device_id(0) queue_id(0) bytes(0x0) + KernelExecution correlation_id(250) time_ns(3802690033038570:3802690034233145) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(251) time_ns(3802690033000496:3802690035707796) device_id(0) queue_id(0) bytes(0x0) + CopyHostToDevice correlation_id(258) time_ns(3802690069577877:3802690071673662) device_id(0) queue_id(0) bytes(0x0) + KernelExecution correlation_id(261) time_ns(3802690071795755:3802690072981885) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(262) time_ns(3802690071790403:3802690074510663) device_id(0) queue_id(0) bytes(0x0) + CopyHostToDevice correlation_id(269) time_ns(3802690102545660:3802690104304184) device_id(0) queue_id(0) bytes(0x0) + KernelExecution correlation_id(272) time_ns(3802690104411556:3802690105625243) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(273) time_ns(3802690104389104:3802690107112784) device_id(0) queue_id(0) bytes(0x0) + CopyHostToDevice correlation_id(280) time_ns(3802690131558935:3802690133335408) device_id(0) queue_id(0) bytes(0x0) + KernelExecution correlation_id(283) time_ns(3802690133445199:3802690134629107) device_id(0) queue_id(0) + + CopyDeviceToHost correlation_id(284) time_ns(3802690133422569:3802690136140989) device_id(0) queue_id(0) bytes(0x0) + CopyHostToDevice correlation_id(291) time_ns(3802690167034608:3802690168657280) device_id(0) queue_id(0) bytes(0x0) + KernelExecution correlation_id(294) time_ns(3802690168789063:3802690170003787) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(295) time_ns(3802690168766891:3802690171340180) device_id(0) queue_id(0) bytes(0x0) + CopyHostToDevice correlation_id(302) time_ns(3802690195688289:3802690197344472) device_id(0) queue_id(0) bytes(0x0) + KernelExecution correlation_id(305) time_ns(3802690197449423:3802690198661481) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(306) time_ns(3802690197424572:3802690200014721) device_id(0) queue_id(0) bytes(0x0) + CopyHostToDevice correlation_id(313) time_ns(3802690220402982:3802690222055305) device_id(0) queue_id(0) bytes(0x0) + KernelExecution correlation_id(316) time_ns(3802690222166388:3802690223363482) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(317) time_ns(3802690222141795:3802690224699834) device_id(0) queue_id(0) bytes(0x0) + CopyHostToDevice correlation_id(324) time_ns(3802690245122495:3802690246784468) device_id(0) queue_id(0) bytes(0x0) + KernelExecution correlation_id(327) time_ns(3802690246894986:3802690248087932) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(328) time_ns(3802690246871188:3802690249418597) device_id(0) queue_id(0) bytes(0x0) + CopyHostToDevice correlation_id(335) time_ns(3802690270188291:3802690271814643) device_id(0) queue_id(0) bytes(0x0) + KernelExecution correlation_id(338) time_ns(3802690271918848:3802690273116387) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(339) time_ns(3802690271894944:3802690274461413) device_id(0) queue_id(0) bytes(0x0) + CopyHostToDevice correlation_id(346) time_ns(3802690295200996:3802690296850979) device_id(0) queue_id(0) bytes(0x0) + KernelExecution correlation_id(349) time_ns(3802690296963231:3802690298173955) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(350) time_ns(3802690296939859:3802690299519248) device_id(0) queue_id(0) bytes(0x0) + CopyHostToDevice correlation_id(357) time_ns(3802690319872949:3802690321555801) device_id(0) queue_id(0) bytes(0x0) + KernelExecution correlation_id(360) time_ns(3802690321670066:3802690322864493) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(361) time_ns(3802690321646962:3802690324208270) device_id(0) queue_id(0) bytes(0x0) + CopyHostToDevice correlation_id(368) time_ns(3802690344589472:3802690346255644) device_id(0) queue_id(0) bytes(0x0) + KernelExecution correlation_id(371) time_ns(3802690346384125:3802690347586552) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(372) time_ns(3802690346359875:3802690348934544) device_id(0) queue_id(0) bytes(0x0) + CopyHostToDevice correlation_id(379) time_ns(3802690369710317:3802690371360450) device_id(0) queue_id(0) bytes(0x0) + KernelExecution correlation_id(382) time_ns(3802690371472085:3802690372667105) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(383) time_ns(3802690371447790:3802690374014749) device_id(0) queue_id(0) bytes(0x0) + CopyHostToDevice correlation_id(390) time_ns(3802690394647852:3802690396291654) device_id(0) queue_id(0) bytes(0x0) + KernelExecution correlation_id(393) time_ns(3802690396424310:3802690397614441) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(394) time_ns(3802690396399865:3802690398961354) device_id(0) queue_id(0) bytes(0x0) + CopyHostToDevice correlation_id(401) time_ns(3802690419709788:3802690421361060) device_id(0) queue_id(0) bytes(0x0) + KernelExecution correlation_id(404) time_ns(3802690421479726:3802690422686154) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(405) time_ns(3802690421455441:3802690424043930) device_id(0) queue_id(0) bytes(0x0) + CopyHostToDevice correlation_id(412) time_ns(3802690444425501:3802690446087443) device_id(0) queue_id(0) bytes(0x0) + KernelExecution correlation_id(415) time_ns(3802690446218326:3802690447432754) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(416) time_ns(3802690446193234:3802690448783253) device_id(0) queue_id(0) bytes(0x0) + CopyHostToDevice correlation_id(423) time_ns(3802690478670644:3802690480440297) device_id(0) queue_id(0) bytes(0x0) + KernelExecution correlation_id(426) time_ns(3802690480559580:3802690481756379) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(427) time_ns(3802690480534798:3802690483102717) device_id(0) queue_id(0) bytes(0x0) + CopyHostToDevice correlation_id(434) time_ns(3802690504037312:3802690505956956) device_id(0) queue_id(0) bytes(0x0) + KernelExecution correlation_id(437) time_ns(3802690506085433:3802690507285787) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(438) time_ns(3802690506036326:3802690508620526) device_id(0) queue_id(0) bytes(0x0) + CopyHostToDevice correlation_id(445) time_ns(3802690528987496:3802690530655309) device_id(0) queue_id(0) bytes(0x0) + KernelExecution correlation_id(448) time_ns(3802690530758005:3802690531954211) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(449) time_ns(3802690530733779:3802690533303998) device_id(0) queue_id(0) bytes(0x0) + CopyHostToDevice correlation_id(456) time_ns(3802690553812080:3802690555470253) device_id(0) queue_id(0) bytes(0x0) + KernelExecution correlation_id(459) time_ns(3802690555591760:3802690556795225) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(460) time_ns(3802690555567703:3802690558144852) device_id(0) queue_id(0) bytes(0x0) + CopyHostToDevice correlation_id(467) time_ns(3802690578543713:3802690580188266) device_id(0) queue_id(0) bytes(0x0) + KernelExecution correlation_id(470) time_ns(3802690580319188:3802690581513467) device_id(0) queue_id(0) PASSED! - - - ptr(0x903000000) - - - - - - - - - - ptr(0x903800000) - - - - - - - + ptr(0x7f0595600000) + + + + + + ptr(0x7f0595000000) + + + + + # START (14) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (13) ############################# - - - - - - - - - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - - - ptr(0x7ffc4af6f508) size(0x400000) - - - - - - - *ptr(0x0x903000000) - - - ptr(0x7ffc4af6f500) size(0x400000) - - - - - - - *ptr(0x0x903800000) - - - dst(0x903000000) src(0x7fcff9073010) size(0x400000) kind(1) - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - - dst(0x2b84d10) src(0x903800000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + +Device 0 name: Device 687f + ptr(0x7fff13900c60) size(0x400000) + + + + + *ptr(0x0x7f0595600000) + ptr(0x7fff13900c58) size(0x400000) + + + + + *ptr(0x0x7f0595000000) + dst(0x7f0595600000) src(0x1ec5050) size(0x400000) kind(1) + + + + + + + + + +rocTX <"before hipLaunchKernel pid(1942) tid(1942)"> + +rocTX <"hipLaunchKernel pid(1942) tid(1942)"> +<__hipPushCallConfiguration id(46) correlation_id(479) on-enter pid(1942) tid(1942)> +<__hipPushCallConfiguration id(46) correlation_id(479) on-exit pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(480) on-enter pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(480) on-exit pid(1942) tid(1942)> + + + + +rocTX <"after hipLaunchKernel pid(1942) tid(1942)"> +rocTX <"hipMemcpy pid(1942) tid(1942)"> + dst(0x22c5060) src(0x7f0595000000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + +rocTX <"(null) pid(1942) tid(1942)"> +rocTX <"(null) pid(1942) tid(1942)"> + + + + PASSED! - - - ptr(0x903000000) - - - - - - - - - - ptr(0x903800000) - - - - - - - + ptr(0x7f0595600000) + + + + + + ptr(0x7f0595000000) + + + + + # START (12) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (11) ############################# - - - - - - - - - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - Activity records: - hipSetDevice correlation_id(361) time_ns(43921299666096:43921299677513) process_id(26018) thread_id(26018) - hipGetDeviceProperties correlation_id(362) time_ns(43921299686550:43921299689796) process_id(26018) thread_id(26018) - hipMalloc correlation_id(363) time_ns(43921301910538:43921301956523) process_id(26018) thread_id(26018) - hipMalloc correlation_id(364) time_ns(43921301961822:43921301989905) process_id(26018) thread_id(26018) - (null) correlation_id(365) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(365) time_ns(43921301995447:43921302613308) process_id(26018) thread_id(26018) - (null) correlation_id(366) time_ns(0:0) external_id(33) - hipModuleLaunchKernel correlation_id(366) time_ns(43921302629231:43921302653724) process_id(26018) thread_id(26018) - hcCommandKernel correlation_id(366) time_ns(43921302658124:43921303147884) device_id(0) queue_id(0) - hcCommandMarker correlation_id(367) time_ns(43921303150768:43921303157168) device_id(0) queue_id(0) - (null) correlation_id(367) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(367) time_ns(43921302669870:43921304047739) process_id(26018) thread_id(26018) - (null) correlation_id(368) time_ns(0:0) external_id(31) - hipFree correlation_id(368) time_ns(43921318607279:43921318685416) process_id(26018) thread_id(26018) - (null) correlation_id(369) time_ns(0:0) external_id(31) - hipFree correlation_id(369) time_ns(43921318692459:43921318716514) process_id(26018) thread_id(26018) - hipSetDevice correlation_id(370) time_ns(43921337711172:43921337721516) process_id(26018) thread_id(26018) - hipGetDeviceProperties correlation_id(371) time_ns(43921337725897:43921337729248) process_id(26018) thread_id(26018) - hipMalloc correlation_id(372) time_ns(43921339886253:43921339950575) process_id(26018) thread_id(26018) - hipMalloc correlation_id(373) time_ns(43921339955662:43921340017523) process_id(26018) thread_id(26018) - (null) correlation_id(374) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(374) time_ns(43921340034039:43921340707279) process_id(26018) thread_id(26018) - (null) correlation_id(375) time_ns(0:0) external_id(33) - hipModuleLaunchKernel correlation_id(375) time_ns(43921340734285:43921340759194) process_id(26018) thread_id(26018) - hcCommandKernel correlation_id(375) time_ns(43921340763789:43921341256589) device_id(0) queue_id(0) - hcCommandMarker correlation_id(376) time_ns(43921341259491:43921341266051) device_id(0) queue_id(0) - (null) correlation_id(376) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(376) time_ns(43921340775484:43921342164208) process_id(26018) thread_id(26018) - (null) correlation_id(377) time_ns(0:0) external_id(31) - hipFree correlation_id(377) time_ns(43921356753503:43921356852057) process_id(26018) thread_id(26018) - (null) correlation_id(378) time_ns(0:0) external_id(31) - hipFree correlation_id(378) time_ns(43921356858808:43921356884797) process_id(26018) thread_id(26018) - hipSetDevice correlation_id(379) time_ns(43921376019840:43921376029927) process_id(26018) thread_id(26018) - hipGetDeviceProperties correlation_id(380) time_ns(43921376034499:43921376037530) process_id(26018) thread_id(26018) - hipMalloc correlation_id(381) time_ns(43921378210740:43921378275453) process_id(26018) thread_id(26018) - hipMalloc correlation_id(382) time_ns(43921378280549:43921378318017) process_id(26018) thread_id(26018) - (null) correlation_id(383) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(383) time_ns(43921378332830:43921378962471) process_id(26018) thread_id(26018) - (null) correlation_id(384) time_ns(0:0) external_id(33) - hipModuleLaunchKernel correlation_id(384) time_ns(43921378993210:43921379039788) process_id(26018) thread_id(26018) - hcCommandKernel correlation_id(384) time_ns(43921379044297:43921379524777) device_id(0) queue_id(0) - hcCommandMarker correlation_id(385) time_ns(43921379527634:43921379534194) device_id(0) queue_id(0) - (null) correlation_id(385) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(385) time_ns(43921379056375:43921380479138) process_id(26018) thread_id(26018) - (null) correlation_id(386) time_ns(0:0) external_id(31) - hipFree correlation_id(386) time_ns(43921395001519:43921395101669) process_id(26018) thread_id(26018) - (null) correlation_id(387) time_ns(0:0) external_id(31) - hipFree correlation_id(387) time_ns(43921395108951:43921395133986) process_id(26018) thread_id(26018) - hipSetDevice correlation_id(388) time_ns(43921414047056:43921414057226) process_id(26018) thread_id(26018) - hipGetDeviceProperties correlation_id(389) time_ns(43921414061587:43921414064582) process_id(26018) thread_id(26018) - hipMalloc correlation_id(390) time_ns(43921416266891:43921416330735) process_id(26018) thread_id(26018) - hipMalloc correlation_id(391) time_ns(43921416335746:43921416387330) process_id(26018) thread_id(26018) - (null) correlation_id(392) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(392) time_ns(43921416405756:43921417066942) process_id(26018) thread_id(26018) - (null) correlation_id(393) time_ns(0:0) external_id(33) - hipModuleLaunchKernel correlation_id(393) time_ns(43921417097413:43921417150182) process_id(26018) thread_id(26018) - hcCommandKernel correlation_id(393) time_ns(43921417154820:43921417642980) device_id(0) queue_id(0) - hcCommandMarker correlation_id(394) time_ns(43921417645775:43921417652335) device_id(0) queue_id(0) - (null) correlation_id(394) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(394) time_ns(43921417158508:43921418596497) process_id(26018) thread_id(26018) - (null) correlation_id(395) time_ns(0:0) external_id(31) - hipFree correlation_id(395) time_ns(43921433065199:43921433163988) process_id(26018) thread_id(26018) - (null) correlation_id(396) time_ns(0:0) external_id(31) - hipFree correlation_id(396) time_ns(43921433171073:43921433196116) process_id(26018) thread_id(26018) - - - ptr(0x7ffc4af6f508) size(0x400000) - - - - - - - *ptr(0x0x903000000) - - - ptr(0x7ffc4af6f500) size(0x400000) - - - - - - - *ptr(0x0x903800000) - - - dst(0x903000000) src(0x7fcff9073010) size(0x400000) kind(1) - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x2b84d10) src(0x903800000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + +Device 0 name: Device 687f + ptr(0x7fff13900c60) size(0x400000) + + + + + *ptr(0x0x7f0595600000) + ptr(0x7fff13900c58) size(0x400000) + + + + + *ptr(0x0x7f0595000000) + dst(0x7f0595600000) src(0x1ec5050) size(0x400000) kind(1) + + + + + + + + + +rocTX <"before hipLaunchKernel pid(1942) tid(1942)"> +rocTX <"hipLaunchKernel pid(1942) tid(1942)"> + +<__hipPushCallConfiguration id(46) correlation_id(490) on-enter pid(1942) tid(1942)> +<__hipPushCallConfiguration id(46) correlation_id(490) on-exit pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(491) on-enter pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(491) on-exit pid(1942) tid(1942)> + + +rocTX <"after hipLaunchKernel pid(1942) tid(1942)"> +rocTX <"hipMemcpy pid(1942) tid(1942)"> + dst(0x22c5060) src(0x7f0595000000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + +rocTX <"(null) pid(1942) tid(1942)"> +rocTX <"(null) pid(1942) tid(1942)"> + + + + PASSED! - - - ptr(0x903000000) - - - - - - - - - - ptr(0x903800000) - - - - - - - + ptr(0x7f0595600000) + + + + + + ptr(0x7f0595000000) + + + + + # START (10) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (9) ############################# - - - - - - - - - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - - - ptr(0x7ffc4af6f508) size(0x400000) - - - - - - - *ptr(0x0x903000000) - - - ptr(0x7ffc4af6f500) size(0x400000) - - - - - - - *ptr(0x0x903800000) - - - dst(0x903000000) src(0x7fcff9073010) size(0x400000) kind(1) - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x2b84d10) src(0x903800000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + +Device 0 name: Device 687f + ptr(0x7fff13900c60) size(0x400000) + + + + + *ptr(0x0x7f0595600000) + ptr(0x7fff13900c58) size(0x400000) + + + + + *ptr(0x0x7f0595000000) + dst(0x7f0595600000) src(0x1ec5050) size(0x400000) kind(1) + + + + + + + + + +rocTX <"before hipLaunchKernel pid(1942) tid(1942)"> +rocTX <"hipLaunchKernel pid(1942) tid(1942)"> + +<__hipPushCallConfiguration id(46) correlation_id(501) on-enter pid(1942) tid(1942)> +<__hipPushCallConfiguration id(46) correlation_id(501) on-exit pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(502) on-enter pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(502) on-exit pid(1942) tid(1942)> + + +rocTX <"after hipLaunchKernel pid(1942) tid(1942)"> +rocTX <"hipMemcpy pid(1942) tid(1942)"> + + dst(0x22c5060) src(0x7f0595000000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + +rocTX <"(null) pid(1942) tid(1942)"> +rocTX <"(null) pid(1942) tid(1942)"> + + + + PASSED! - - - ptr(0x903000000) - - - - - - - - - - ptr(0x903800000) - - - - - - - + ptr(0x7f0595600000) + + + + + + ptr(0x7f0595000000) + + + + + # START (8) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (7) ############################# - - - - - - - - - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - - - ptr(0x7ffc4af6f508) size(0x400000) - - - - - - - *ptr(0x0x903000000) - - - ptr(0x7ffc4af6f500) size(0x400000) - - - - - - - *ptr(0x0x903800000) - - - dst(0x903000000) src(0x7fcff9073010) size(0x400000) kind(1) - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x2b84d10) src(0x903800000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + +Device 0 name: Device 687f + ptr(0x7fff13900c60) size(0x400000) + + + + + *ptr(0x0x7f0595600000) + ptr(0x7fff13900c58) size(0x400000) + + + + + *ptr(0x0x7f0595000000) + dst(0x7f0595600000) src(0x1ec5050) size(0x400000) kind(1) + + + + + + + + + +rocTX <"before hipLaunchKernel pid(1942) tid(1942)"> + +rocTX <"hipLaunchKernel pid(1942) tid(1942)"> +<__hipPushCallConfiguration id(46) correlation_id(512) on-enter pid(1942) tid(1942)> +<__hipPushCallConfiguration id(46) correlation_id(512) on-exit pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(513) on-enter pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(513) on-exit pid(1942) tid(1942)> + + +rocTX <"after hipLaunchKernel pid(1942) tid(1942)"> +rocTX <"hipMemcpy pid(1942) tid(1942)"> + + dst(0x22c5060) src(0x7f0595000000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + +rocTX <"(null) pid(1942) tid(1942)"> +rocTX <"(null) pid(1942) tid(1942)"> + + + + PASSED! - - - ptr(0x903000000) - - - - - - - - - - ptr(0x903800000) - - - - - - - + ptr(0x7f0595600000) + + + + + + ptr(0x7f0595000000) + + + + + # START (6) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (5) ############################# - - - - - - - - - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - - - ptr(0x7ffc4af6f508) size(0x400000) - - - - - - - *ptr(0x0x903000000) - - - ptr(0x7ffc4af6f500) size(0x400000) - - - - - - - *ptr(0x0x903800000) - - - dst(0x903000000) src(0x7fcff9073010) size(0x400000) kind(1) - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - dst(0x2b84d10) src(0x903800000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + +Device 0 name: Device 687f + ptr(0x7fff13900c60) size(0x400000) + + + + + *ptr(0x0x7f0595600000) + ptr(0x7fff13900c58) size(0x400000) + + + + + *ptr(0x0x7f0595000000) + dst(0x7f0595600000) src(0x1ec5050) size(0x400000) kind(1) + + + + + + + + + +rocTX <"before hipLaunchKernel pid(1942) tid(1942)"> +rocTX <"hipLaunchKernel pid(1942) tid(1942)"> + +<__hipPushCallConfiguration id(46) correlation_id(523) on-enter pid(1942) tid(1942)> +<__hipPushCallConfiguration id(46) correlation_id(523) on-exit pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(524) on-enter pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(524) on-exit pid(1942) tid(1942)> + + +rocTX <"after hipLaunchKernel pid(1942) tid(1942)"> +rocTX <"hipMemcpy pid(1942) tid(1942)"> + dst(0x22c5060) src(0x7f0595000000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + + +rocTX <"(null) pid(1942) tid(1942)"> +rocTX <"(null) pid(1942) tid(1942)"> + + + PASSED! - - - ptr(0x903000000) - - - - - - - - - - ptr(0x903800000) - - - - - - - + ptr(0x7f0595600000) + + + + + + ptr(0x7f0595000000) + + + + + # START (4) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (3) ############################# - - - - - - - - - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - Activity records: - hipSetDevice correlation_id(397) time_ns(43921452254692:43921452265169) process_id(26018) thread_id(26018) - hipGetDeviceProperties correlation_id(398) time_ns(43921452275166:43921452278405) process_id(26018) thread_id(26018) - hipMalloc correlation_id(399) time_ns(43921454496914:43921454552118) process_id(26018) thread_id(26018) - hipMalloc correlation_id(400) time_ns(43921454557367:43921454603645) process_id(26018) thread_id(26018) - (null) correlation_id(401) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(401) time_ns(43921454608946:43921455255047) process_id(26018) thread_id(26018) - (null) correlation_id(402) time_ns(0:0) external_id(33) - hipModuleLaunchKernel correlation_id(402) time_ns(43921455282051:43921455306428) process_id(26018) thread_id(26018) - hcCommandKernel correlation_id(402) time_ns(43921455310804:43921455797844) device_id(0) queue_id(0) - hcCommandMarker correlation_id(403) time_ns(43921455800808:43921455807368) device_id(0) queue_id(0) - (null) correlation_id(403) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(403) time_ns(43921455322649:43921456730621) process_id(26018) thread_id(26018) - (null) correlation_id(404) time_ns(0:0) external_id(31) - hipFree correlation_id(404) time_ns(43921471305804:43921471381291) process_id(26018) thread_id(26018) - (null) correlation_id(405) time_ns(0:0) external_id(31) - hipFree correlation_id(405) time_ns(43921471387828:43921471412295) process_id(26018) thread_id(26018) - hipSetDevice correlation_id(406) time_ns(43921490431229:43921490441048) process_id(26018) thread_id(26018) - hipGetDeviceProperties correlation_id(407) time_ns(43921490445816:43921490448703) process_id(26018) thread_id(26018) - hipMalloc correlation_id(408) time_ns(43921492632200:43921492695679) process_id(26018) thread_id(26018) - hipMalloc correlation_id(409) time_ns(43921492700413:43921492736594) process_id(26018) thread_id(26018) - (null) correlation_id(410) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(410) time_ns(43921492750859:43921493404002) process_id(26018) thread_id(26018) - (null) correlation_id(411) time_ns(0:0) external_id(33) - hipModuleLaunchKernel correlation_id(411) time_ns(43921493434540:43921493481517) process_id(26018) thread_id(26018) - hcCommandKernel correlation_id(411) time_ns(43921493486389:43921493975029) device_id(0) queue_id(0) - hcCommandMarker correlation_id(412) time_ns(43921493978114:43921493984674) device_id(0) queue_id(0) - (null) correlation_id(412) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(412) time_ns(43921493496117:43921494874631) process_id(26018) thread_id(26018) - (null) correlation_id(413) time_ns(0:0) external_id(31) - hipFree correlation_id(413) time_ns(43921509355916:43921509450378) process_id(26018) thread_id(26018) - (null) correlation_id(414) time_ns(0:0) external_id(31) - hipFree correlation_id(414) time_ns(43921509457258:43921509480876) process_id(26018) thread_id(26018) - hipSetDevice correlation_id(415) time_ns(43921528506760:43921528517481) process_id(26018) thread_id(26018) - hipGetDeviceProperties correlation_id(416) time_ns(43921528522575:43921528525801) process_id(26018) thread_id(26018) - hipMalloc correlation_id(417) time_ns(43921530704109:43921530768265) process_id(26018) thread_id(26018) - hipMalloc correlation_id(418) time_ns(43921530773284:43921530810110) process_id(26018) thread_id(26018) - (null) correlation_id(419) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(419) time_ns(43921530824764:43921531477778) process_id(26018) thread_id(26018) - (null) correlation_id(420) time_ns(0:0) external_id(33) - hipModuleLaunchKernel correlation_id(420) time_ns(43921531508712:43921531553267) process_id(26018) thread_id(26018) - hcCommandKernel correlation_id(420) time_ns(43921531564573:43921532052413) device_id(0) queue_id(0) - hcCommandMarker correlation_id(421) time_ns(43921532055204:43921532061764) device_id(0) queue_id(0) - (null) correlation_id(421) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(421) time_ns(43921531568240:43921532977221) process_id(26018) thread_id(26018) - (null) correlation_id(422) time_ns(0:0) external_id(31) - hipFree correlation_id(422) time_ns(43921547456633:43921547556707) process_id(26018) thread_id(26018) - (null) correlation_id(423) time_ns(0:0) external_id(31) - hipFree correlation_id(423) time_ns(43921547563600:43921547589725) process_id(26018) thread_id(26018) - hipSetDevice correlation_id(424) time_ns(43921566541456:43921566551811) process_id(26018) thread_id(26018) - hipGetDeviceProperties correlation_id(425) time_ns(43921566556295:43921566559245) process_id(26018) thread_id(26018) - hipMalloc correlation_id(426) time_ns(43921568737936:43921568801054) process_id(26018) thread_id(26018) - hipMalloc correlation_id(427) time_ns(43921568806031:43921568842731) process_id(26018) thread_id(26018) - (null) correlation_id(428) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(428) time_ns(43921568857309:43921569508914) process_id(26018) thread_id(26018) - (null) correlation_id(429) time_ns(0:0) external_id(33) - hipModuleLaunchKernel correlation_id(429) time_ns(43921569539754:43921569588046) process_id(26018) thread_id(26018) - hcCommandKernel correlation_id(429) time_ns(43921569592676:43921570082276) device_id(0) queue_id(0) - hcCommandMarker correlation_id(430) time_ns(43921570085124:43921570091844) device_id(0) queue_id(0) - (null) correlation_id(430) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(430) time_ns(43921569603216:43921571055352) process_id(26018) thread_id(26018) - (null) correlation_id(431) time_ns(0:0) external_id(31) - hipFree correlation_id(431) time_ns(43921585590256:43921585685864) process_id(26018) thread_id(26018) - (null) correlation_id(432) time_ns(0:0) external_id(31) - hipFree correlation_id(432) time_ns(43921585692678:43921585744373) process_id(26018) thread_id(26018) - - - ptr(0x7ffc4af6f508) size(0x400000) - - - - - - - *ptr(0x0x903000000) - - - ptr(0x7ffc4af6f500) size(0x400000) - - - - - - - *ptr(0x0x903800000) - - - dst(0x903000000) src(0x7fcff9073010) size(0x400000) kind(1) - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - - dst(0x2b84d10) src(0x903800000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + +Device 0 name: Device 687f + ptr(0x7fff13900c60) size(0x400000) + + + + + *ptr(0x0x7f0595600000) + ptr(0x7fff13900c58) size(0x400000) + + + + + *ptr(0x0x7f0595000000) + dst(0x7f0595600000) src(0x1ec5050) size(0x400000) kind(1) + + + + + + + + + +rocTX <"before hipLaunchKernel pid(1942) tid(1942)"> +rocTX <"hipLaunchKernel pid(1942) tid(1942)"> + +<__hipPushCallConfiguration id(46) correlation_id(534) on-enter pid(1942) tid(1942)> +<__hipPushCallConfiguration id(46) correlation_id(534) on-exit pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(535) on-enter pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(535) on-exit pid(1942) tid(1942)> + + +rocTX <"after hipLaunchKernel pid(1942) tid(1942)"> +rocTX <"hipMemcpy pid(1942) tid(1942)"> + dst(0x22c5060) src(0x7f0595000000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + + + +rocTX <"(null) pid(1942) tid(1942)"> +rocTX <"(null) pid(1942) tid(1942)"> + + + + PASSED! - - - ptr(0x903000000) - - - - - - - - - - ptr(0x903800000) - - - - - - - + ptr(0x7f0595600000) + + + + + + ptr(0x7f0595000000) + + + + + # START (2) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! # START (1) ############################# - - - - - - - - - - - - -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] - - - ptr(0x7ffc4af6f508) size(0x400000) - - - - - - - *ptr(0x0x903000000) - - - ptr(0x7ffc4af6f500) size(0x400000) - - - - - - - *ptr(0x0x903800000) - - - dst(0x903000000) src(0x7fcff9073010) size(0x400000) kind(1) - - - - - - - - - - - - kernel("_Z15matrixTransposePfS_i") stream((nil)) - - - - - - - - - - - dst(0x2b84d10) src(0x903800000) size(0x400000) kind(2) - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + +Device 0 name: Device 687f + ptr(0x7fff13900c60) size(0x400000) + + + + + *ptr(0x0x7f0595600000) + ptr(0x7fff13900c58) size(0x400000) + + + + + *ptr(0x0x7f0595000000) + dst(0x7f0595600000) src(0x1ec5050) size(0x400000) kind(1) + + + + + + + + + +rocTX <"before hipLaunchKernel pid(1942) tid(1942)"> +rocTX <"hipLaunchKernel pid(1942) tid(1942)"> + +<__hipPushCallConfiguration id(46) correlation_id(545) on-enter pid(1942) tid(1942)> +<__hipPushCallConfiguration id(46) correlation_id(545) on-exit pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(546) on-enter pid(1942) tid(1942)> + + +<__hipPopCallConfiguration id(171) correlation_id(546) on-exit pid(1942) tid(1942)> + + +rocTX <"after hipLaunchKernel pid(1942) tid(1942)"> +rocTX <"hipMemcpy pid(1942) tid(1942)"> + dst(0x22c5060) src(0x7f0595000000) size(0x400000) kind(2) + + + + + + + + + + + + + + + + +rocTX <"(null) pid(1942) tid(1942)"> +rocTX <"(null) pid(1942) tid(1942)"> + + + + PASSED! - - - ptr(0x903000000) - - - - - - - - - - ptr(0x903800000) - - - - - - - + ptr(0x7f0595600000) + + + + + + ptr(0x7f0595000000) + + + + + # START (0) ############################# -Device 0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X] +Device 0 name: Device 687f PASSED! Activity records: - hipSetDevice correlation_id(433) time_ns(43921606267569:43921606277958) process_id(26018) thread_id(26018) - hipGetDeviceProperties correlation_id(434) time_ns(43921606287626:43921606290936) process_id(26018) thread_id(26018) - hipMalloc correlation_id(435) time_ns(43921608614868:43921608669543) process_id(26018) thread_id(26018) - hipMalloc correlation_id(436) time_ns(43921608674941:43921608722707) process_id(26018) thread_id(26018) - (null) correlation_id(437) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(437) time_ns(43921608728191:43921609377173) process_id(26018) thread_id(26018) - (null) correlation_id(438) time_ns(0:0) external_id(33) - hipModuleLaunchKernel correlation_id(438) time_ns(43921609403807:43921609428386) process_id(26018) thread_id(26018) - hcCommandKernel correlation_id(438) time_ns(43921609434051:43921611279333) device_id(0) queue_id(0) - hcCommandMarker correlation_id(439) time_ns(43921611282059:43921611313899) device_id(0) queue_id(0) - (null) correlation_id(439) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(439) time_ns(43921609441877:43921612242529) process_id(26018) thread_id(26018) - (null) correlation_id(440) time_ns(0:0) external_id(31) - hipFree correlation_id(440) time_ns(43921627150392:43921627229148) process_id(26018) thread_id(26018) - (null) correlation_id(441) time_ns(0:0) external_id(31) - hipFree correlation_id(441) time_ns(43921627236769:43921627261598) process_id(26018) thread_id(26018) - hipSetDevice correlation_id(442) time_ns(43921648187869:43921648198420) process_id(26018) thread_id(26018) - hipGetDeviceProperties correlation_id(443) time_ns(43921648203360:43921648206709) process_id(26018) thread_id(26018) - hipMalloc correlation_id(444) time_ns(43921650436225:43921650506222) process_id(26018) thread_id(26018) - hipMalloc correlation_id(445) time_ns(43921650511634:43921650567858) process_id(26018) thread_id(26018) - (null) correlation_id(446) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(446) time_ns(43921650573590:43921651243647) process_id(26018) thread_id(26018) - (null) correlation_id(447) time_ns(0:0) external_id(33) - hipModuleLaunchKernel correlation_id(447) time_ns(43921651271093:43921651296014) process_id(26018) thread_id(26018) - hcCommandKernel correlation_id(447) time_ns(43921651301547:43921653140269) device_id(0) queue_id(0) - hcCommandMarker correlation_id(448) time_ns(43921653143342:43921653175182) device_id(0) queue_id(0) - (null) correlation_id(448) time_ns(0:0) external_id(32) - hipMemcpy correlation_id(448) time_ns(43921651303048:43921654138318) process_id(26018) thread_id(26018) - (null) correlation_id(449) time_ns(0:0) external_id(31) - hipFree correlation_id(449) time_ns(43921669147933:43921669229505) process_id(26018) thread_id(26018) - (null) correlation_id(450) time_ns(0:0) external_id(31) - hipFree correlation_id(450) time_ns(43921669237076:43921669263052) process_id(26018) thread_id(26018) + CopyDeviceToHost correlation_id(471) time_ns(3802690580294836:3802690582860815) device_id(0) queue_id(0) bytes(0x0) + CopyHostToDevice correlation_id(478) time_ns(3802690603644719:3802690605384172) device_id(0) queue_id(0) bytes(0x0) + KernelExecution correlation_id(481) time_ns(3802690605498779:3802690606691873) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(482) time_ns(3802690605474403:3802690608025671) device_id(0) queue_id(0) bytes(0x0) + CopyHostToDevice correlation_id(489) time_ns(3802690628687154:3802690630424257) device_id(0) queue_id(0) bytes(0x0) + KernelExecution correlation_id(492) time_ns(3802690630536595:3802690631732652) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(493) time_ns(3802690630511888:3802690633056366) device_id(0) queue_id(0) bytes(0x0) + CopyHostToDevice correlation_id(500) time_ns(3802690653798410:3802690655532973) device_id(0) queue_id(0) bytes(0x0) + KernelExecution correlation_id(503) time_ns(3802690655650838:3802690656850303) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(504) time_ns(3802690655626484:3802690658172622) device_id(0) queue_id(0) bytes(0x0) + CopyHostToDevice correlation_id(511) time_ns(3802690678637384:3802690680356427) device_id(0) queue_id(0) bytes(0x0) + KernelExecution correlation_id(514) time_ns(3802690680469261:3802690681658652) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(515) time_ns(3802690680444597:3802690682982646) device_id(0) queue_id(0) bytes(0x0) + CopyHostToDevice correlation_id(522) time_ns(3802690703868311:3802690705623714) device_id(0) queue_id(0) bytes(0x0) + KernelExecution correlation_id(525) time_ns(3802690705748741:3802690706940058) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(526) time_ns(3802690705724715:3802690708246093) device_id(0) queue_id(0) bytes(0x0) + CopyHostToDevice correlation_id(533) time_ns(3802690728935096:3802690730669869) device_id(0) queue_id(0) bytes(0x0) + KernelExecution correlation_id(536) time_ns(3802690730783327:3802690731977755) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(537) time_ns(3802690730759290:3802690733312349) device_id(0) queue_id(0) bytes(0x0) + CopyHostToDevice correlation_id(544) time_ns(3802690754023772:3802690755760784) device_id(0) queue_id(0) bytes(0x0) + KernelExecution correlation_id(547) time_ns(3802690755876264:3802690757073952) device_id(0) queue_id(0) + CopyDeviceToHost correlation_id(548) time_ns(3802690755851835:3802690758397264) device_id(0) queue_id(0) bytes(0x0) # STOP ############################# - diff --git a/test/golden_traces/tests_trace_cmp_levels.txt b/test/golden_traces/tests_trace_cmp_levels.txt index 31c63628e5..5e6dbaa7a4 100644 --- a/test/golden_traces/tests_trace_cmp_levels.txt +++ b/test/golden_traces/tests_trace_cmp_levels.txt @@ -1,11 +1,12 @@ # dummy -MatrixTranspose_ctest_trace --check-diff +MatrixTranspose_ctest_trace --check-count .* MatrixTranspose_test_trace --check-count .* --ignore-count hsaKmt.* +MatrixTranspose_hipaact_test_trace --check-count .* --ignore-count hsaKmt.*|hipMemcpy|__hipPushCallConfiguration|hipLaunchKernel|__hipPopCallConfiguration MatrixTranspose_mgpu_trace --check-count .* --ignore-count hsaKmt.* MatrixTranspose_sys_trace --check-count .* --ignore-count hsa_.* MatrixTranspose_sys_hsa_trace --check-count .* --ignore-count hsa_.* MatrixTranspose_hip_period_trace --check-events .* --ignore-event hipMalloc|hipFree MatrixTranspose_hip_flush_trace --check-order .* MatrixTranspose_kfd_trace --check-events .* -ctrl_hsa_trace --check-count .* -ctrl_hsa_input_trace --check-count .* +ctrl_hsa_trace --check-event .* +ctrl_hsa_input_trace --check-event .* diff --git a/test/run.sh b/test/run.sh index 8ada56311d..962033f6a2 100755 --- a/test/run.sh +++ b/test/run.sh @@ -46,17 +46,15 @@ if [ -z "$ROCTRACER_TOOL_PATH" ] ; then ROCTRACER_TOOL_PATH="./test" fi -env -ls -lad /opt/* -ls -lad /opt/rocm/* -ls -lad /opt/rocm/roctracer/* -ls -lad /opt/rocm/roctracer/*/* -ls -lad /opt/rocm/roctracer/*/*/* - # test filter input test_filter=-1 +check_trace_flag=1 if [ -n "$1" ] ; then test_filter=$1 + shift +fi +if [ "$2" = "-n" ] ; then + check_trace_flag=0 fi # test check routin @@ -86,8 +84,11 @@ eval_test() { is_failed=0; else if [ $is_failed = 0 ] ; then - python ./test/check_trace.py -in $test_name + python ./test/check_trace.py -in $test_name -ck $check_trace_flag is_failed=$? + if [ $is_failed != 0 ] ; then + python ./test/check_trace.py -v -in $test_name -ck $check_trace_flag + fi fi fi if [ $is_failed = 0 ] ; then From bac4bae41c20d6e94fb4021a24a41cc023592eab Mon Sep 17 00:00:00 2001 From: Rachida Kebichi Date: Fri, 26 Jun 2020 16:32:49 -0400 Subject: [PATCH 409/691] Added hsa ostream ops generation Change-Id: Icc68e136d22b05b35d6adaff56e090272633d760 --- CMakeLists.txt | 1 - inc/roctracer_hsa.h | 87 ++++++---------------------- script/gen_ostream_ops.py | 116 ++++++++++---------------------------- script/hsaap.py | 3 +- src/CMakeLists.txt | 2 + 5 files changed, 48 insertions(+), 161 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index db3cb3fb9c..c40fd95ad5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -98,7 +98,6 @@ set ( PUBLIC_HEADERS roctracer_kfd.h roctracer_roctx.h roctracer_cb_table.h - basic_ostream_ops.h hip_ostream_ops.h hsa_prof_str.h kfd_ostream_ops.h diff --git a/inc/roctracer_hsa.h b/inc/roctracer_hsa.h index 26fb8a971e..b9b0cf9866 100644 --- a/inc/roctracer_hsa.h +++ b/inc/roctracer_hsa.h @@ -63,81 +63,26 @@ struct ops_properties_t { typedef hsa_support::ops_properties_t hsa_ops_properties_t; }; // namespace roctracer -inline std::ostream& operator<< (std::ostream& out, const hsa_callback_data_t& v) { out << ""; return out; } -inline std::ostream& operator<< (std::ostream &out, const hsa_signal_t& v) { out << "" << std::dec; return out; } -inline std::ostream& operator<< (std::ostream &out, const hsa_signal_group_t& v) { out << ""; return out; } -inline std::ostream& operator<< (std::ostream &out, const hsa_wavefront_t& v) { out << "" << std::dec; return out; } -inline std::ostream& operator<< (std::ostream& out, const hsa_cache_t& v) { out << ""; return out; } -inline std::ostream& operator<< (std::ostream &out, const hsa_region_t& v) { out << "" << std::dec; return out; } -inline std::ostream& operator<< (std::ostream& out, const hsa_amd_memory_pool_t& v) { out << ""; return out; } -inline std::ostream& operator<< (std::ostream &out, const hsa_agent_t& v) { out << "" << std::dec; return out; } -inline std::ostream& operator<< (std::ostream& out, const hsa_isa_t& v) { out << ""; return out; } -inline std::ostream& operator<< (std::ostream& out, const hsa_code_symbol_t& v) { out << ""; return out; } -inline std::ostream& operator<< (std::ostream& out, const hsa_code_object_t& v) { out << ""; return out; } -inline std::ostream& operator<< (std::ostream& out, const hsa_code_object_reader_t& v) { out << ""; return out; } -inline std::ostream& operator<< (std::ostream& out, const hsa_executable_symbol_t& v) { out << ""; return out; } -inline std::ostream& operator<< (std::ostream& out, const hsa_executable_t& v) { out << ""; return out; } -inline std::ostream& operator<< (std::ostream& out, const hsa_ext_image_t& v) { out << ""; return out; } -inline std::ostream& operator<< (std::ostream& out, const hsa_ext_sampler_t& v) { out << ""; return out; } +#include "hsa_ostream_ops.h" -namespace roctracer { -namespace hsa_support { -template -struct output_streamer { - inline static std::ostream& put(std::ostream& out, const T& v) { out << v; return out; } -}; +std::ostream& operator<<(std::ostream& out, const hsa_amd_memory_pool_t& v) +{ + roctracer::hsa_support::operator<<(out, v); + return out; +} -template<> -struct output_streamer { - inline static std::ostream& put(std::ostream& out, bool v) { out << std::hex << ""; return out; } -}; -template<> -struct output_streamer { - inline static std::ostream& put(std::ostream& out, uint8_t v) { out << std::hex << ""; return out; } -}; -template<> -struct output_streamer { - inline static std::ostream& put(std::ostream& out, uint16_t v) { out << std::hex << ""; return out; } -}; -template<> -struct output_streamer { - inline static std::ostream& put(std::ostream& out, uint32_t v) { out << std::hex << ""; return out; } -}; -template<> -struct output_streamer { - inline static std::ostream& put(std::ostream& out, uint64_t v) { out << std::hex << ""; return out; } -}; +std::ostream& operator<<(std::ostream& out, const hsa_ext_image_t& v) +{ + roctracer::hsa_support::operator<<(out, v); + return out; +} -template<> -struct output_streamer { - inline static std::ostream& put(std::ostream& out, bool* v) { out << std::hex << ""; return out; } -}; -template<> -struct output_streamer { - inline static std::ostream& put(std::ostream& out, uint8_t* v) { out << std::hex << ""; return out; } -}; -template<> -struct output_streamer { - inline static std::ostream& put(std::ostream& out, uint16_t* v) { out << std::hex << ""; return out; } -}; -template<> -struct output_streamer { - inline static std::ostream& put(std::ostream& out, uint32_t* v) { out << std::hex << ""; return out; } -}; -template<> -struct output_streamer { - inline static std::ostream& put(std::ostream& out, uint64_t* v) { out << std::hex << ""; return out; } -}; +std::ostream& operator<<(std::ostream& out, const hsa_ext_sampler_t& v) +{ + roctracer::hsa_support::operator<<(out, v); + return out; +} -template<> -struct output_streamer { - inline static std::ostream& put(std::ostream& out, hsa_queue_t* v) { out << ""; return out; } -}; -template<> -struct output_streamer { - inline static std::ostream& put(std::ostream& out, hsa_queue_t** v) { out << ""; return out; } -}; -};}; #else // !__cplusplus typedef void* hsa_amd_queue_intercept_handler; typedef void* hsa_amd_runtime_queue_notifier; diff --git a/script/gen_ostream_ops.py b/script/gen_ostream_ops.py index e6570bebd4..360c8db750 100755 --- a/script/gen_ostream_ops.py +++ b/script/gen_ostream_ops.py @@ -27,61 +27,11 @@ LICENSE = \ 'THE SOFTWARE.\n' + \ '*/\n' -header = \ -'template \n' + \ + +header = 'template \n' + \ 'struct output_streamer {\n' + \ ' inline static std::ostream& put(std::ostream& out, const T& v) { return out; }\n' + \ -'};\n' + \ -'template<>\n' + \ -'struct output_streamer {\n' + \ - 'inline static std::ostream& put(std::ostream& out, void* v) { out << std::hex << v; return out; }\n' + \ -'};\n' + \ -'template<>\n' + \ -'struct output_streamer {\n' + \ - 'inline static std::ostream& put(std::ostream& out, const void* v) { out << std::hex << v; return out; }\n' + \ -'};\n' + \ -'\ntemplate<>\n' + \ -'struct output_streamer {\n' + \ -' inline static std::ostream& put(std::ostream& out, bool v) { out << std::hex << ""; return out; }\n' + \ -'};\n' + \ -'\ntemplate<>\n' + \ -'struct output_streamer {\n' + \ -' inline static std::ostream& put(std::ostream& out, uint8_t v) { out << std::hex << ""; return out; }\n' + \ -'};\n' + \ -'\ntemplate<>\n' + \ -'struct output_streamer {\n' + \ -' inline static std::ostream& put(std::ostream& out, uint16_t v) { out << std::hex << ""; return out; }\n' + \ -'};\n' + \ -'\ntemplate<>\n' + \ -'struct output_streamer {\n' + \ -' inline static std::ostream& put(std::ostream& out, uint32_t v) { out << std::hex << ""; return out; }\n' + \ -'};\n' + \ -'\ntemplate<>\n' + \ -'struct output_streamer {\n' + \ -' inline static std::ostream& put(std::ostream& out, uint64_t v) { out << std::hex << ""; return out; }\n' + \ -'};\n' + \ -'\n' + \ -'\ntemplate<>\n' + \ -'struct output_streamer {\n' + \ -' inline static std::ostream& put(std::ostream& out, bool* v) { out << std::hex << ""; return out; }\n' + \ -'};\n' + \ -'\ntemplate<>\n' + \ -'struct output_streamer {\n' + \ -' inline static std::ostream& put(std::ostream& out, uint8_t* v) { out << std::hex << ""; return out; }\n' + \ -'};\n' + \ -'\ntemplate<>\n' + \ -'struct output_streamer {\n' + \ -' inline static std::ostream& put(std::ostream& out, uint16_t* v) { out << std::hex << ""; return out; }\n' + \ -'};\n' + \ -'\ntemplate<>\n' + \ -'struct output_streamer {\n' + \ -' inline static std::ostream& put(std::ostream& out, uint32_t* v) { out << std::hex << ""; return out; }\n' + \ -'};\n' + \ -'\ntemplate<>\n' + \ -'struct output_streamer {\n' + \ -' inline static std::ostream& put(std::ostream& out, uint64_t* v) { out << std::hex << ""; return out; }\n' + \ -'};\n' + \ -'\n' +'};\n\n' header_hip = \ 'template \n' + \ @@ -89,20 +39,7 @@ header_hip = \ ' using std::operator<<;\n' + \ ' static bool recursion = false;\n' + \ ' if (recursion == false) { recursion = true; out << v; recursion = false; }\n' + \ -' return out; }\n' + \ -'inline static std::ostream& operator<<(std::ostream& out, void* v) { using std::operator<<; out << std::hex << v; return out; }\n' + \ -'inline static std::ostream& operator<<(std::ostream& out, const void* v) { using std::operator<<; out << std::hex << v; return out; }\n' + \ -'inline static std::ostream& operator<<(std::ostream& out, bool v) { using std::operator<<; out << std::hex << ""; return out; }\n' + \ -'inline static std::ostream& operator<<(std::ostream& out, uint8_t v) { using std::operator<<; out << std::hex << ""; return out; }\n' + \ -'inline static std::ostream& operator<<(std::ostream& out, uint16_t v) { using std::operator<<; out << std::hex << ""; return out; }\n' + \ -'inline static std::ostream& operator<<(std::ostream& out, uint32_t v) { using std::operator<<; out << std::hex << ""; return out; }\n' + \ -'inline static std::ostream& operator<<(std::ostream& out, uint64_t v) { using std::operator<<; out << std::hex << ""; return out; }\n' + \ -'inline static std::ostream& operator<<(std::ostream& out, bool* v) { using std::operator<<; out << std::hex << ""; return out; }\n' + \ -'inline static std::ostream& operator<<(std::ostream& out, uint8_t* v) { using std::operator<<; out << std::hex << ""; return out; }\n' + \ -'inline static std::ostream& operator<<(std::ostream& out, uint16_t* v) { using std::operator<<; out << std::hex << ""; return out; }\n' + \ -'inline static std::ostream& operator<<(std::ostream& out, uint32_t* v) { using std::operator<<; out << std::hex << ""; return out; }\n' + \ -'inline static std::ostream& operator<<(std::ostream& out, uint64_t* v) { using std::operator<<; out << std::hex << ""; return out; }\n' + \ -'\n' +' return out; }\n' structs_analyzed = {} global_ops_hip = '' @@ -110,8 +47,8 @@ global_ops_hip = '' # process_struct traverses recursively all structs to extract all fields def process_struct(file_handle, cppHeader_struct, cppHeader, parent_hier_name, apiname): # file_handle: handle for output file {api_name}_ostream_ops.h to be generated -# cppHeader_struct: cppHeader struct being processed -# cppHeader: cppHeader object created by CppHeaderParser.CppHeader(...) +# cppHeader_struct: cppHeader struct being processed +# cppHeader: cppHeader object created by CppHeaderParser.CppHeader(...) # parent_hier_name: parent hierarchical name used for nested structs/enums # apiname: for example hip, kfd. @@ -149,8 +86,8 @@ def process_struct(file_handle, cppHeader_struct, cppHeader, parent_hier_name, a prop = cppHeader.classes[cppHeader_struct]["properties"]["public"][l][key4] if "union" not in mtype: - if apiname.lower() == 'hip': - str = " roctracer::hip_support::operator<<(out, v."+name+");\n" + if apiname.lower() == 'hip' or apiname.lower() == 'hsa': + str = " roctracer::" + apiname.lower() + "_support::operator<<(out, v."+name+");\n" else: if array_size == "": str = " roctracer::" + apiname.lower() + "_support::output_streamer<"+mtype+">::put(out,v."+name+");\n" @@ -167,11 +104,12 @@ def process_struct(file_handle, cppHeader_struct, cppHeader, parent_hier_name, a next_cppHeader_struct = cppHeader_struct + "::" process_struct(file_handle, next_cppHeader_struct, cppHeader, name, apiname) -# Parses API header file and generates ostream ops files ostream_ops.h and basic_ostream_ops.h +# Parses API header file and generates ostream ops files ostream_ops.h def gen_cppheader(infilepath, outfilepath): # infilepath: API Header file to be parsed # outfilepath: Output file where ostream operators are written global_ops_hip = '' + global_ops_hsa = '' try: cppHeader = CppHeaderParser.CppHeader(infilepath) except CppHeaderParser.CppParseError as e: @@ -184,11 +122,8 @@ def gen_cppheader(infilepath, outfilepath): apiname = apiname.replace("_ostream_ops.h","") apiname = apiname.upper() f = open(outfilepath,"w+") - f2 = open(mpath + "/basic_ostream_ops.h","w+") f.write("// automatically generated\n") - f2.write("// automatically generated\n") f.write(LICENSE + '\n') - f2.write(LICENSE + '\n') header_s = \ '#ifndef INC_' + apiname + '_OSTREAM_OPS_H_\n' + \ '#define INC_' + apiname + '_OSTREAM_OPS_H_\n' + \ @@ -200,26 +135,31 @@ def gen_cppheader(infilepath, outfilepath): header_s = header_s + '\n' + \ '#include "hip/hip_runtime_api.h"\n' + \ '#include "hip/hcc_detail/hip_vector_types.h"\n\n' + f.write(header_s) f.write('\n') f.write('namespace roctracer {\n') f.write('namespace ' + apiname.lower() + '_support {\n') f.write('// begin ostream ops for '+ apiname + ' \n') - if apiname.lower() != 'hip': - f.write('#include "basic_ostream_ops.h"' + '\n') - else: - f.write("// HIP basic ostream ops\n") + if apiname.lower() == "hip" or apiname.lower() == "hsa": + f.write("// basic ostream ops\n") f.write(header_hip) - f.write("// End of HIP basic ostream ops\n\n") - f2.write(header) + f.write("// End of basic ostream ops\n\n") + else: + f.write(header) + for c in cppHeader.classes: if "union" in c: continue + if apiname.lower() == 'hsa': + if c == 'max_align_t' or c == '__fsid_t': #already defined for hip + continue + if apiname.lower() == 'hip' and c == 'hipIpcEventHandle_t': #feature is TBD + continue if len(cppHeader.classes[c]["properties"]["public"])!=0: - if apiname.lower() == 'hip': - f.write("inline static std::ostream& operator<<(std::ostream& out, " + c + "& v)\n") + if apiname.lower() == 'hip' or apiname.lower() == 'hsa': + f.write("std::ostream& operator<<(std::ostream& out, const " + c + "& v)\n") f.write("{\n") - global_ops_hip = global_ops_hip + "inline static std::ostream& operator<<(std::ostream& out, const " + c + "& v)\n" + "{\n" + " roctracer::hip_support::operator<<(out, v);\n" + " return out;\n" + "}\n\n" process_struct(f, c, cppHeader, "", apiname) f.write(" return out;\n") f.write("}\n") @@ -232,21 +172,23 @@ def gen_cppheader(infilepath, outfilepath): f.write(" return out;\n") f.write("}\n") f.write("};\n") + if apiname.lower() == 'hip': + global_ops_hip += "inline static std::ostream& operator<<(std::ostream& out, const " + c + "& v)\n" + "{\n" + " roctracer::hip_support::operator<<(out, v);\n" + " return out;\n" + "}\n\n" + if apiname.lower() == 'hsa': + global_ops_hsa += "inline static std::ostream& operator<<(std::ostream& out, const " + c + "& v)\n" + "{\n" + " roctracer::hsa_support::operator<<(out, v);\n" + " return out;\n" + "}\n\n" footer = \ '// end ostream ops for '+ apiname + ' \n' footer += '};};\n\n' f.write(footer) f.write(global_ops_hip) - + f.write(global_ops_hsa) footer = '#endif //__cplusplus\n' + \ '#endif // INC_' + apiname + '_OSTREAM_OPS_H_\n' + \ ' \n' f.write(footer) f.close() - f2.close() print('File ' + outfilepath + ' generated') - print('File ' + mpath + '/basic_ostream_ops.h generated') return diff --git a/script/hsaap.py b/script/hsaap.py index 07a365e2b4..a50b3d4d1e 100755 --- a/script/hsaap.py +++ b/script/hsaap.py @@ -456,8 +456,7 @@ class API_DescrParser: for ind in range(len(arg_list)): arg_var = arg_list[ind] arg_val = 'api_data.args.' + call + '.' + arg_var - self.content += ' typedef decltype(' + arg_val + ') arg_val_type_t' + str(ind) + ';\n' - self.content += ' roctracer::hsa_support::output_streamer::put(out, ' + arg_val + ')' + self.content += ' out << ' + arg_val ''' arg_item = struct['tlst'][ind] if re.search(r'\(\* ', arg_item): arg_pref = '' diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index d6ddcf0e67..a14ecebc3d 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -25,6 +25,8 @@ execute_process ( COMMAND sh -xc "${CMAKE_CXX_COMPILER} -E ${HSA_KMT_INC_PATH}/h execute_process ( COMMAND sh -xc "${ROOT_DIR}/script/gen_ostream_ops.py -in ${PROJECT_BINARY_DIR}/hsakmttypes_pp.h -out ${ROOT_DIR}/inc/kfd_ostream_ops.h" ) execute_process ( COMMAND sh -xc "${CMAKE_C_COMPILER} ${HIP_DEFINES} -I${HIP_PATH}/include -I${ROCM_ROOT_DIR}/hsa/include -E ${HIP_PATH}/include/hip/hip_runtime_api.h > ${PROJECT_BINARY_DIR}/hip_runtime_api_pp.h" ) execute_process ( COMMAND sh -xc "${ROOT_DIR}/script/gen_ostream_ops.py -in ${PROJECT_BINARY_DIR}/hip_runtime_api_pp.h -out ${ROOT_DIR}/inc/hip_ostream_ops.h" ) +execute_process ( COMMAND sh -xc "${CMAKE_C_COMPILER} -E ${HSA_RUNTIME_INC_PATH}/hsa.h > ${PROJECT_BINARY_DIR}/hsa_pp.h" ) +execute_process ( COMMAND sh -xc "${ROOT_DIR}/script/gen_ostream_ops.py -in ${PROJECT_BINARY_DIR}/hsa_pp.h -out ${ROOT_DIR}/inc/hsa_ostream_ops.h" ) add_library ( ${KFD_LIB} SHARED ${KFD_LIB_SRC} ) target_include_directories ( ${KFD_LIB} PRIVATE ${LIB_DIR} ${ROOT_DIR} ${ROOT_DIR}/inc ${HSA_RUNTIME_INC_PATH} ${HSA_RUNTIME_HSA_INC_PATH} ${HSA_KMT_INC_PATH} ) target_link_libraries( ${KFD_LIB} PRIVATE c stdc++ ) From ac59f349d468dc4991518d3a6ef383f572d7172f Mon Sep 17 00:00:00 2001 From: Evgeny Date: Mon, 3 Aug 2020 13:04:05 -0500 Subject: [PATCH 410/691] enabling hipIpcEventHandle_t Change-Id: Iaf973567298d5ef8450e14e869b5f837e0620022 --- script/gen_ostream_ops.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/script/gen_ostream_ops.py b/script/gen_ostream_ops.py index 360c8db750..142ec98e82 100755 --- a/script/gen_ostream_ops.py +++ b/script/gen_ostream_ops.py @@ -154,8 +154,8 @@ def gen_cppheader(infilepath, outfilepath): if apiname.lower() == 'hsa': if c == 'max_align_t' or c == '__fsid_t': #already defined for hip continue - if apiname.lower() == 'hip' and c == 'hipIpcEventHandle_t': #feature is TBD - continue + #if apiname.lower() == 'hip' and c == 'hipIpcEventHandle_t': #feature is TBD + # continue if len(cppHeader.classes[c]["properties"]["public"])!=0: if apiname.lower() == 'hip' or apiname.lower() == 'hsa': f.write("std::ostream& operator<<(std::ostream& out, const " + c + "& v)\n") From a9048f33a8417864e355d57ad09b9e2296cecc99 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Wed, 5 Aug 2020 00:37:28 -0500 Subject: [PATCH 411/691] roctracer static linking Change-Id: I4df98c6d9991a3a58e2f646fc0c8fe8f104a105d --- CMakeLists.txt | 6 +++ build_static.sh | 48 ++++++++++++++++++++ cmake_modules/env.cmake | 8 ++++ src/CMakeLists.txt | 2 +- src/core/loader.h | 97 +++++++++++++++++++++++++++++++++++++---- 5 files changed, 152 insertions(+), 9 deletions(-) create mode 100755 build_static.sh diff --git a/CMakeLists.txt b/CMakeLists.txt index c40fd95ad5..f1ad1982cc 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -85,7 +85,9 @@ set_property ( TARGET ${TARGET_NAME} PROPERTY SOVERSION "${LIB_VERSION_MAJOR}" ) #endif () ## Build tests +if ( ${LIBRARY_TYPE} STREQUAL SHARED ) add_subdirectory ( ${TEST_DIR} ${PROJECT_BINARY_DIR}/test ) +endif() ## pbulic headers set ( PUBLIC_HEADERS @@ -106,6 +108,8 @@ set ( PUBLIC_HEADERS ext/hsa_rt_utils.hpp ) +if ( ${LIBRARY_TYPE} STREQUAL SHARED ) + ## Installation and packaging set ( DEST_NAME ${ROCTRACER_NAME} ) if ( DEFINED CPACK_PACKAGING_INSTALL_PREFIX ) @@ -181,3 +185,5 @@ set ( CPACK_RPM_POST_INSTALL_SCRIPT_FILE "${CMAKE_CURRENT_SOURCE_DIR}/RPM/rpm_po set ( CPACK_RPM_POST_UNINSTALL_SCRIPT_FILE "${CMAKE_CURRENT_SOURCE_DIR}/RPM/rpm_postun" ) include ( CPack ) + +endif() diff --git a/build_static.sh b/build_static.sh new file mode 100755 index 0000000000..938df3ce99 --- /dev/null +++ b/build_static.sh @@ -0,0 +1,48 @@ +#!/bin/bash -x +SRC_DIR=`dirname $0` +COMPONENT="roctracer" +ROCM_PATH="${ROCM_PATH:=/opt/rocm}" +LD_RUNPATH_FLAG=" -Wl,--enable-new-dtags -Wl,--rpath,$ROCM_PATH/lib:$ROCM_PATH/lib64" +DEFAULTS=defaults.sh + +fatal() { + echo "$1" + exit 1 +} + +umask 022 + +if [ -e "$DEFAULTS" ] ; then source "$DEFAULTS"; fi + +if [ -z "$ROCTRACER_ROOT" ]; then ROCTRACER_ROOT=$SRC_DIR; fi +if [ -z "$BUILD_DIR" ] ; then BUILD_DIR=$PWD; fi +if [ -z "$HIP_PATH" ] ; then export HIP_PATH="$ROCM_PATH/hip"; fi +if [ -z "$HCC_HOME" ] ; then export HCC_HOME="$ROCM_PATH/hcc"; fi +if [ -z "$BUILD_TYPE" ] ; then BUILD_TYPE="release"; fi +if [ -z "$PACKAGE_ROOT" ] ; then PACKAGE_ROOT=$ROCM_PATH; fi +if [ -z "$PACKAGE_PREFIX" ] ; then PACKAGE_PREFIX="$ROCM_PATH/$COMPONENT"; fi +if [ -z "$PREFIX_PATH" ] ; then PREFIX_PATH=$PACKAGE_ROOT; fi +if [ -z "$HIP_VDI" ] ; then HIP_VDI=0; fi +if [ -z "$HIP_API_STRING" ] ; then HIP_API_STRING=1; fi +if [ -n "$ROCM_RPATH" ] ; then LD_RUNPATH_FLAG=" -Wl,--enable-new-dtags -Wl,--rpath,${ROCM_RPATH}"; fi + +ROCTRACER_ROOT=$(cd $ROCTRACER_ROOT && echo $PWD) + +if [ "$TO_CLEAN" = "yes" ] ; then rm -rf $BUILD_DIR; fi +mkdir -p $BUILD_DIR +pushd $BUILD_DIR + +cmake \ + -DCMAKE_MODULE_PATH=$ROCTRACER_ROOT/cmake_modules \ + -DCMAKE_BUILD_TYPE=$BUILD_TYPE \ + -DCMAKE_PREFIX_PATH="$PREFIX_PATH" \ + -DCMAKE_INSTALL_PREFIX=$PACKAGE_ROOT \ + -DCMAKE_SHARED_LINKER_FLAGS="$LD_RUNPATH_FLAG" \ + -DHIP_VDI="$HIP_VDI" \ + -DHIP_API_STRING="$HIP_API_STRING" \ + -DLIBRARY_TYPE=STATIC \ + $ROCTRACER_ROOT + +make + +exit 0 diff --git a/cmake_modules/env.cmake b/cmake_modules/env.cmake index edeb17f069..8dbf2c9ccf 100644 --- a/cmake_modules/env.cmake +++ b/cmake_modules/env.cmake @@ -65,6 +65,13 @@ if ( DEFINED ENV{CMAKE_DEBUG_TRACE} ) add_definitions ( -DDEBUG_TRACE=1 ) endif() +if ( NOT DEFINED LIBRARY_TYPE ) + set ( LIBRARY_TYPE SHARED ) +endif() +if ( ${LIBRARY_TYPE} STREQUAL STATIC ) + add_definitions ( -DSTATIC_BUILD=1 ) +endif() + if ( NOT DEFINED HIP_API_STRING ) set ( HIP_API_STRING 1 ) endif() @@ -169,6 +176,7 @@ message ( "-------------HIP-VDI: ${HIP_VDI}" ) message ( "-----CMAKE_CXX_FLAGS: ${CMAKE_CXX_FLAGS}" ) message ( "---CMAKE_PREFIX_PATH: ${CMAKE_PREFIX_PATH}" ) message ( "---------GPU_TARGETS: ${GPU_TARGETS}" ) +message ( "--------LIBRARY_TYPE: ${LIBRARY_TYPE}" ) ## Check the ROCm pathes if ( "${HSA_RUNTIME_INC_PATH}" STREQUAL "" ) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index a14ecebc3d..ceb33c7497 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -9,7 +9,7 @@ set ( LIB_SRC ${LIB_DIR}/proxy/intercept_queue.cpp ${LIB_DIR}/util/hsa_rsrc_factory.cpp ) -add_library ( ${TARGET_LIB} SHARED ${LIB_SRC} ) +add_library ( ${TARGET_LIB} ${LIBRARY_TYPE} ${LIB_SRC} ) target_include_directories ( ${TARGET_LIB} PRIVATE ${LIB_DIR} ${ROOT_DIR} ${ROOT_DIR}/inc ${HSA_RUNTIME_INC_PATH} ${HSA_RUNTIME_HSA_INC_PATH} ${HIP_INC_DIR} ${HCC_INC_DIR} ${HSA_KMT_INC_PATH} ) target_link_libraries( ${TARGET_LIB} PRIVATE ${HSA_RUNTIME_LIB} c stdc++ ) diff --git a/src/core/loader.h b/src/core/loader.h index d73bc383a6..5d6e0d6cf2 100644 --- a/src/core/loader.h +++ b/src/core/loader.h @@ -105,6 +105,70 @@ class RocpApi { }; // HIP runtime library loader class +#if STATIC_BUILD +__attribute__((weak)) hipError_t hipRegisterApiCallback(uint32_t id, void* fun, void* arg) { return hipErrorUnknown; } +__attribute__((weak)) hipError_t hipRemoveApiCallback(uint32_t id) { return hipErrorUnknown; } +__attribute__((weak)) hipError_t hipRegisterActivityCallback(uint32_t id, void* fun, void* arg) { return hipErrorUnknown; } +__attribute__((weak)) hipError_t hipRemoveActivityCallback(uint32_t id) { return hipErrorUnknown; } +__attribute__((weak)) const char* hipKernelNameRef(const hipFunction_t f) { return NULL; } +__attribute__((weak)) const char* hipKernelNameRefByPtr(const void* hostFunction, hipStream_t stream) { return NULL; } +__attribute__((weak)) int hipGetStreamDeviceId(hipStream_t stream) { return 0; } +__attribute__((weak)) const char* hipApiName(uint32_t id) { return NULL; } + +class HipLoaderStatic { + public: + typedef std::mutex mutex_t; + typedef HipLoaderStatic loader_t; + typedef std::atomic instance_t; + + typedef hipError_t (RegisterApiCallback_t)(uint32_t id, void* fun, void* arg); + typedef hipError_t (RemoveApiCallback_t)(uint32_t id); + typedef hipError_t (RegisterActivityCallback_t)(uint32_t id, void* fun, void* arg); + typedef hipError_t (RemoveActivityCallback_t)(uint32_t id); + typedef const char* (KernelNameRef_t)(const hipFunction_t f); + typedef const char* (KernelNameRefByPtr_t)(const void* hostFunction, hipStream_t stream); + typedef int (GetStreamDeviceId_t)(hipStream_t stream); + typedef const char* (ApiName_t)(uint32_t id); + + RegisterApiCallback_t* RegisterApiCallback; + RemoveApiCallback_t* RemoveApiCallback; + RegisterActivityCallback_t* RegisterActivityCallback; + RemoveActivityCallback_t* RemoveActivityCallback; + KernelNameRef_t* KernelNameRef; + KernelNameRefByPtr_t* KernelNameRefByPtr; + GetStreamDeviceId_t* GetStreamDeviceId; + ApiName_t* ApiName; + + static inline loader_t& Instance() { + loader_t* obj = instance_.load(std::memory_order_acquire); + if (obj == NULL) { + std::lock_guard lck(mutex_); + if (instance_.load(std::memory_order_relaxed) == NULL) { + obj = new loader_t(); + instance_.store(obj, std::memory_order_release); + } + } + return *instance_; + } + + bool Enabled() const { return true; } + + private: + HipLoaderStatic() { + RegisterApiCallback = hipRegisterApiCallback; + RemoveApiCallback = hipRemoveApiCallback; + RegisterActivityCallback = hipRegisterActivityCallback; + RemoveActivityCallback = hipRemoveActivityCallback; + KernelNameRef = hipKernelNameRef; + KernelNameRefByPtr = hipKernelNameRefByPtr; + GetStreamDeviceId = hipGetStreamDeviceId; + ApiName = hipApiName; + } + + static mutex_t mutex_; + static instance_t instance_; +}; +#else class HipApi { public: typedef BaseLoader Loader; @@ -139,6 +203,7 @@ class HipApi { ApiName = loader->GetFun("hipApiName"); } }; +#endif // HCC runtime library loader class #include "inc/roctracer_hcc.h" @@ -205,32 +270,48 @@ class RocTxApi { }; typedef BaseLoader RocpLoader; -typedef BaseLoader HipLoader; typedef BaseLoader HccLoader; typedef BaseLoader KfdLoader; typedef BaseLoader RocTxLoader; +#if STATIC_BUILD +typedef HipLoaderStatic HipLoader; +#else +typedef BaseLoader HipLoaderShared; +typedef HipLoaderShared HipLoader; +#endif + } // namespace roctracer -#define LOADER_INSTANTIATE2(HIP_LIB, HCC_LIB) \ +#define LOADER_INSTANTIATE_2() \ template typename roctracer::BaseLoader::mutex_t roctracer::BaseLoader::mutex_; \ template std::atomic*> roctracer::BaseLoader::instance_{}; \ template bool roctracer::BaseLoader::to_load_ = false; \ template bool roctracer::BaseLoader::to_check_open_ = true; \ template bool roctracer::BaseLoader::to_check_symb_ = true; \ template<> const char* roctracer::RocpLoader::lib_name_ = "librocprofiler64.so"; \ - template<> const char* roctracer::HipLoader::lib_name_ = HIP_LIB; \ - template<> bool roctracer::HipLoader::to_check_open_ = false; \ - template<> const char* roctracer::HccLoader::lib_name_ = HCC_LIB; \ + template<> const char* roctracer::HccLoader::lib_name_ = "libamdhip64.so"; \ template<> bool roctracer::HccLoader::to_check_open_ = false; \ template<> const char* roctracer::KfdLoader::lib_name_ = "libkfdwrapper64.so"; \ template<> const char* roctracer::RocTxLoader::lib_name_ = "libroctx64.so"; \ template<> bool roctracer::RocTxLoader::to_load_ = true; -#if HIP_VDI -#define LOADER_INSTANTIATE() LOADER_INSTANTIATE2("libamdhip64.so", "libamdhip64.so"); +#if STATIC_BUILD +#define LOADER_INSTANTIATE_HIP() \ + roctracer::HipLoaderStatic::mutex_t roctracer::HipLoaderStatic::mutex_; \ + roctracer::HipLoaderStatic::instance_t roctracer::HipLoaderStatic::instance_{}; #else -#define LOADER_INSTANTIATE() LOADER_INSTANTIATE2("libhip_hcc.so", "libmcwamp.so"); +#define LOADER_INSTANTIATE_HIP() \ + template<> const char* roctracer::HipLoaderShared::lib_name_ = "libamdhip64.so"; \ + template<> bool roctracer::HipLoaderShared::to_check_open_ = false; +#endif + +#if HIP_VDI +#define LOADER_INSTANTIATE() \ + LOADER_INSTANTIATE_2(); \ + LOADER_INSTANTIATE_HIP(); +#else +#error HCC support dropped #endif #endif // SRC_CORE_LOADER_H_ From f027cf1e22a7aaa11cb2d354769b1140367f00e7 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Thu, 6 Aug 2020 03:08:33 -0500 Subject: [PATCH 412/691] trace buffer initializatino fix Change-Id: Ibb4b3e939d74b776dbdd7ae0c2af02535974abd8 --- src/core/trace_buffer.h | 1 - 1 file changed, 1 deletion(-) diff --git a/src/core/trace_buffer.h b/src/core/trace_buffer.h index 8bda51bf97..cd62dda735 100644 --- a/src/core/trace_buffer.h +++ b/src/core/trace_buffer.h @@ -135,7 +135,6 @@ class TraceBuffer : protected TraceBufferBase { read_pointer_ = 0; end_pointer_ = size; buf_list_.push_back(data_); - buf_list_.push_back(next_); flush_prm_arr_ = flush_prm_arr; flush_prm_count_ = flush_prm_count; From da17a158f82edb9127e34cf79fa3a0b966c54ded Mon Sep 17 00:00:00 2001 From: Rachida Kebichi Date: Wed, 29 Jul 2020 18:28:51 -0400 Subject: [PATCH 413/691] Added roctxRangeStart and roctxRangeEnd Change-Id: Id7f81c5a7d7f231c8f0e2323d31c37c827687189 Added roctxRangeStart and roctxRangeEnd Change-Id: Id7f81c5a7d7f231c8f0e2323d31c37c827687189 --- inc/roctracer_roctx.h | 16 +++++++++++++- inc/roctx.h | 10 +++++++++ src/roctx/roctx.cpp | 28 ++++++++++++++++++++++++ test/MatrixTranspose/MatrixTranspose.cpp | 2 ++ test/tool/tracer_tool.cpp | 11 ++++++---- 5 files changed, 62 insertions(+), 5 deletions(-) diff --git a/inc/roctracer_roctx.h b/inc/roctracer_roctx.h index 2ce749c2bc..c3acec9e92 100644 --- a/inc/roctracer_roctx.h +++ b/inc/roctracer_roctx.h @@ -32,12 +32,15 @@ THE SOFTWARE. #ifndef INC_ROCTRACER_ROCTX_H_ #define INC_ROCTRACER_ROCTX_H_ +#include // ROC-TX API ID enumeration enum roctx_api_id_t { ROCTX_API_ID_roctxMarkA = 0, ROCTX_API_ID_roctxRangePushA = 1, ROCTX_API_ID_roctxRangePop = 2, + ROCTX_API_ID_roctxRangeStartA = 3, + ROCTX_API_ID_roctxRangeStop = 4, ROCTX_API_ID_NUMBER, }; @@ -45,7 +48,10 @@ enum roctx_api_id_t { // ROCTX callbacks data type typedef struct roctx_api_data_s { union { - const char* message; + struct { + const char* message; + roctx_range_id_t id; + }; struct { const char* message; } roctxMarkA; @@ -55,6 +61,14 @@ typedef struct roctx_api_data_s { struct { const char* message; } roctxRangePop; + struct { + const char* message; + roctx_range_id_t id; + } roctxRangeStartA; + struct { + const char* message; + roctx_range_id_t id; + } roctxRangeStop; } args; } roctx_api_data_t; diff --git a/inc/roctx.h b/inc/roctx.h index 9831c4bdee..fa390bc92a 100644 --- a/inc/roctx.h +++ b/inc/roctx.h @@ -70,6 +70,16 @@ int roctxRangePushA(const char* message); // A negative value is returned on the error. int roctxRangePop(); +// ROCTX range id type +typedef uint64_t roctx_range_id_t; + +// Starts a process range +roctx_range_id_t roctxRangeStartA(const char* message); +#define roctxRangeStart(message) roctxRangeStartA(message) + +// Stop a process range +void roctxRangeStop(roctx_range_id_t id); + #ifdef __cplusplus } // extern "C" block #endif // __cplusplus diff --git a/src/roctx/roctx.cpp b/src/roctx/roctx.cpp index fcf379f0fe..e9a0815f16 100644 --- a/src/roctx/roctx.cpp +++ b/src/roctx/roctx.cpp @@ -106,6 +106,7 @@ extern cb_table_t cb_table; // Logger instantiation roctracer::util::Logger::mutex_t roctracer::util::Logger::mutex_; std::atomic roctracer::util::Logger::instance_{}; +std::atomic roctx_range_counter(0); /////////////////////////////////////////////////////////////////////////////////////////////////// // Public library methods @@ -165,6 +166,33 @@ PUBLIC_API int roctxRangePop() { API_METHOD_CATCH(-1) } +PUBLIC_API roctx_range_id_t roctxRangeStartA(const char* message) { + API_METHOD_PREFIX + roctx_range_counter++; + + roctx_api_data_t api_data{}; + api_data.args.roctxRangeStartA.message = strdup(message); + api_data.args.roctxRangeStartA.id = roctx_range_counter; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + roctx::cb_table.get(ROCTX_API_ID_roctxRangeStartA, &api_callback_fun, &api_callback_arg); + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_ROCTX, ROCTX_API_ID_roctxRangeStartA, &api_data, api_callback_arg); + + return roctx_range_counter; + API_METHOD_CATCH(-1); +} + +PUBLIC_API void roctxRangeStop(roctx_range_id_t rangeId) { + API_METHOD_PREFIX + roctx_api_data_t api_data{}; + api_data.args.roctxRangeStop.id = rangeId; + activity_rtapi_callback_t api_callback_fun = NULL; + void* api_callback_arg = NULL; + roctx::cb_table.get(ROCTX_API_ID_roctxRangeStop, &api_callback_fun, &api_callback_arg); + if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_ROCTX, ROCTX_API_ID_roctxRangeStop, &api_data, api_callback_arg); + API_METHOD_SUFFIX_NRET +} + PUBLIC_API void RangeStackIterate(roctx_range_iterate_cb_t callback, void* arg) { for (const auto& entry : *roctx::thread_map) { const auto tid = entry.first; diff --git a/test/MatrixTranspose/MatrixTranspose.cpp b/test/MatrixTranspose/MatrixTranspose.cpp index cb7430b8b2..404e25e505 100644 --- a/test/MatrixTranspose/MatrixTranspose.cpp +++ b/test/MatrixTranspose/MatrixTranspose.cpp @@ -97,6 +97,7 @@ int main() { roctracer_mark("before HIP LaunchKernel"); roctxMark("before hipLaunchKernel"); + int rangeId = roctxRangeStart("hipLaunchKernel range"); roctxRangePush("hipLaunchKernel"); // Lauching kernel from host hipLaunchKernelGGL(matrixTranspose, dim3(WIDTH / THREADS_PER_BLOCK_X, WIDTH / THREADS_PER_BLOCK_Y), @@ -112,6 +113,7 @@ int main() { roctxRangePop(); // for "hipMemcpy" roctxRangePop(); // for "hipLaunchKernel" + roctxRangeStop(rangeId); // CPU MatrixTranspose computation matrixTransposeCPUReference(cpuTransposeMatrix, Matrix, WIDTH); diff --git a/test/tool/tracer_tool.cpp b/test/tool/tracer_tool.cpp index ec12e75866..df2530a510 100644 --- a/test/tool/tracer_tool.cpp +++ b/test/tool/tracer_tool.cpp @@ -203,6 +203,7 @@ struct roctx_trace_entry_t { timestamp_t time; uint32_t pid; uint32_t tid; + roctx_range_id_t rid; const char* message; }; @@ -215,6 +216,7 @@ static inline void roctx_callback_fun( uint32_t domain, uint32_t cid, uint32_t tid, + roctx_range_id_t rid, const char* message) { #if ROCTX_CLOCK_TIME @@ -229,6 +231,7 @@ static inline void roctx_callback_fun( entry->time = time; entry->pid = GetPid(); entry->tid = tid; + entry->rid = rid; entry->message = (message != NULL) ? strdup(message) : NULL; } @@ -240,15 +243,15 @@ void roctx_api_callback( { (void)arg; const roctx_api_data_t* data = reinterpret_cast(callback_data); - roctx_callback_fun(domain, cid, GetTid(), data->args.message); + roctx_callback_fun(domain, cid, GetTid(), data->args.id, data->args.message); } // rocTX Start/Stop callbacks void roctx_range_start_callback(const roctx_range_data_t* data, void* arg) { - roctx_callback_fun(ACTIVITY_DOMAIN_ROCTX, ROCTX_API_ID_roctxRangePushA, data->tid, data->message); + roctx_callback_fun(ACTIVITY_DOMAIN_ROCTX, ROCTX_API_ID_roctxRangePushA, data->tid, 0, data->message); } void roctx_range_stop_callback(const roctx_range_data_t* data, void* arg) { - roctx_callback_fun(ACTIVITY_DOMAIN_ROCTX, ROCTX_API_ID_roctxRangePop, data->tid, NULL); + roctx_callback_fun(ACTIVITY_DOMAIN_ROCTX, ROCTX_API_ID_roctxRangePop, data->tid, 0, NULL); } void start_callback() { roctracer::RocTxLoader::Instance().RangeStackIterate(roctx_range_start_callback, NULL); } void stop_callback() { roctracer::RocTxLoader::Instance().RangeStackIterate(roctx_range_stop_callback, NULL); } @@ -262,7 +265,7 @@ void roctx_flush_cb(roctx_trace_entry_t* entry) { const timestamp_t timestamp = entry->time; #endif std::ostringstream os; - os << timestamp << " " << entry->pid << ":" << entry->tid << " " << entry->cid; + os << timestamp << " " << entry->pid << ":" << entry->tid << " " << entry->cid << ":" << entry->rid; if (entry->message != NULL) os << ":\"" << entry->message << "\""; else os << ":\"\""; fprintf(roctx_file_handle, "%s\n", os.str().c_str()); fflush(roctx_file_handle); From 28e5d02888c4a5ee93904bcd335d59e21c731aeb Mon Sep 17 00:00:00 2001 From: Aaron Enye Shi Date: Thu, 13 Aug 2020 13:09:41 -0400 Subject: [PATCH 414/691] Add --rocm-path to MatrixTranspose test Change-Id: Ifd5859b90bf8eb2aff5318000cac60dc1c82e0b1 --- test/MatrixTranspose/Makefile | 3 ++- test/MatrixTranspose_test/Makefile | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/test/MatrixTranspose/Makefile b/test/MatrixTranspose/Makefile index fa020ccf3e..647067dd47 100644 --- a/test/MatrixTranspose/Makefile +++ b/test/MatrixTranspose/Makefile @@ -1,6 +1,7 @@ ROOT_PATH ?= ../.. INC_PATH ?= $(ROOT_PATH)/inc LIB_PATH ?= $(ROOT_PATH)/build +ROCM_PATH ?= /opt/rocm ROC_LIBS = -Wl,--rpath,${LIB_PATH} $(LIB_PATH)/libroctracer64.so $(LIB_PATH)/libroctx64.so HIP_PATH ?= $(wildcard /opt/rocm/hip) @@ -22,7 +23,7 @@ EXECUTABLE=./MatrixTranspose all: clean $(EXECUTABLE) -CXXFLAGS =-g -I$(INC_PATH) -DLOCAL_BUILD=1 +CXXFLAGS =-g -I$(INC_PATH) -DLOCAL_BUILD=1 --rocm-path=$(ROCM_PATH) CXX=$(HIPCC) $(EXECUTABLE): $(OBJECTS) diff --git a/test/MatrixTranspose_test/Makefile b/test/MatrixTranspose_test/Makefile index 050448d668..3e879ee858 100644 --- a/test/MatrixTranspose_test/Makefile +++ b/test/MatrixTranspose_test/Makefile @@ -26,7 +26,7 @@ ifeq ($(C_TEST), 1) else COMP=$(HIPCC) SOURCES = MatrixTranspose.cpp - FLAGS += -DHIP_TEST=1 + FLAGS += -DHIP_TEST=1 --rocm-path=$(ROCM_PATH) endif ifeq ($(MGPU_TEST), 1) FLAGS += -DMGPU_TEST=1 From 2f608e067a0f0ca2f97f29e16eef38e33ac948fc Mon Sep 17 00:00:00 2001 From: Evgeny Date: Thu, 13 Aug 2020 19:00:17 -0500 Subject: [PATCH 415/691] incrementing API version because of HIP API changes Change-Id: I19e42ca75d8050b44b1cdf70cac7dfdff1ab5d57 --- inc/roctracer.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/inc/roctracer.h b/inc/roctracer.h index 36fa080578..7434d2631c 100644 --- a/inc/roctracer.h +++ b/inc/roctracer.h @@ -44,7 +44,7 @@ THE SOFTWARE. #include -#define ROCTRACER_VERSION_MAJOR 3 +#define ROCTRACER_VERSION_MAJOR 4 #define ROCTRACER_VERSION_MINOR 0 #ifdef __cplusplus From ddcb68d0a82e2284dbaf9552571efd8c2e65f807 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Tue, 11 Aug 2020 04:44:08 -0500 Subject: [PATCH 416/691] optimized tool stats Change-Id: Ia9c06879f6e2e195e589c53299c2cafe96a4bfe5 --- src/core/roctracer.cpp | 12 +-- src/core/trace_buffer.h | 21 ++++- src/proxy/intercept_queue.h | 4 +- test/CMakeLists.txt | 2 +- test/tool/tracer_tool.cpp | 163 ++++++++++++++++++++++++++++++------ 5 files changed, 166 insertions(+), 36 deletions(-) diff --git a/src/core/roctracer.cpp b/src/core/roctracer.cpp index 2d15bbba38..dd47bb0f0a 100644 --- a/src/core/roctracer.cpp +++ b/src/core/roctracer.cpp @@ -218,11 +218,12 @@ template<> bool act_en_functor_t::fun(const act_en_functor_t::record_t& record) void hsa_async_copy_handler(::proxy::Tracker::entry_t* entry); void hsa_kernel_handler(::proxy::Tracker::entry_t* entry); -TraceBuffer::flush_prm_t trace_buffer_prm[] = { +constexpr TraceBuffer::flush_prm_t trace_buffer_prm[] = { {COPY_ENTRY_TYPE, hsa_async_copy_handler}, {KERNEL_ENTRY_TYPE, hsa_kernel_handler} }; -TraceBuffer trace_buffer("HSA GPU", 0x200000, trace_buffer_prm, 2); +TraceBuffer* trace_buffer = NULL; +//TraceBuffer trace_buffer("HSA GPU", 0x200000, trace_buffer_prm, 2); namespace hsa_support { // callbacks table @@ -567,7 +568,7 @@ hsa_status_t hsa_amd_memory_async_copy_interceptor( { hsa_status_t status = HSA_STATUS_SUCCESS; if (hsa_support::async_copy_callback_enabled) { - trace_entry_t* entry = trace_buffer.GetEntry(); + trace_entry_t* entry = trace_buffer->GetEntry(); ::proxy::Tracker::Enable(COPY_ENTRY_TYPE, hsa_agent_t{}, completion_signal, entry); status = hsa_amd_memory_async_copy_fn(dst, dst_agent, src, src_agent, size, num_dep_signals, @@ -591,7 +592,7 @@ hsa_status_t hsa_amd_memory_async_copy_rect_interceptor( { hsa_status_t status = HSA_STATUS_SUCCESS; if (hsa_support::async_copy_callback_enabled) { - trace_entry_t* entry = trace_buffer.GetEntry(); + trace_entry_t* entry = trace_buffer->GetEntry(); ::proxy::Tracker::Enable(COPY_ENTRY_TYPE, hsa_agent_t{}, completion_signal, entry); status = hsa_amd_memory_async_copy_rect_fn(dst, dst_offset, src, src_offset, range, copy_agent, @@ -1289,13 +1290,14 @@ PUBLIC_API void roctracer_unload() { PUBLIC_API void roctracer_flush_buf() { ONLOAD_TRACE_BEG(); - roctracer::trace_buffer.Flush(); + roctracer::trace_buffer->Flush(); ONLOAD_TRACE_END(); } CONSTRUCTOR_API void constructor() { ONLOAD_TRACE_BEG(); roctracer::util::Logger::Create(); + roctracer::trace_buffer = new roctracer::TraceBuffer("HSA GPU", 0x200000, roctracer::trace_buffer_prm, 2); roctracer_load(); ONLOAD_TRACE_END(); } diff --git a/src/core/trace_buffer.h b/src/core/trace_buffer.h index cd62dda735..8d99404631 100644 --- a/src/core/trace_buffer.h +++ b/src/core/trace_buffer.h @@ -124,7 +124,7 @@ class TraceBuffer : protected TraceBufferBase { callback_t fun; }; - TraceBuffer(const char* name, uint32_t size, flush_prm_t* flush_prm_arr, uint32_t flush_prm_count) : + TraceBuffer(const char* name, uint32_t size, const flush_prm_t* flush_prm_arr, uint32_t flush_prm_count, uint32_t prior = 0) : is_flushed_(false), work_thread_started_(false) { @@ -139,12 +139,14 @@ class TraceBuffer : protected TraceBufferBase { flush_prm_arr_ = flush_prm_arr; flush_prm_count_ = flush_prm_count; + priority_ = prior; + TraceBufferBase::Push(this); } ~TraceBuffer() { StopWorkerThread(); - Flush(); + FlushAll(); } void StartWorkerThread() { @@ -176,14 +178,24 @@ class TraceBuffer : protected TraceBufferBase { } void Flush() { flush_buf(); } + void Flush(const bool& b) { + DisableFlushing(!b); + flush_buf(); + } + void DisableFlushing(const bool& b) { is_flushed_.exchange(b, std::memory_order_acquire); } private: void flush_buf() { std::lock_guard lck(mutex_); const bool is_flushed = is_flushed_.exchange(true, std::memory_order_acquire); + if (priority_ != 0) { + priority_ -= 1; + return; + } + if (is_flushed == false) { - for (flush_prm_t* prm = flush_prm_arr_; prm < flush_prm_arr_ + flush_prm_count_; prm++) { + for (const flush_prm_t* prm = flush_prm_arr_; prm < flush_prm_arr_ + flush_prm_count_; prm++) { // Flushed entries type uint32_t type = prm->type; // Flushing function @@ -253,8 +265,9 @@ class TraceBuffer : protected TraceBufferBase { volatile std::atomic end_pointer_; std::list buf_list_; - flush_prm_t* flush_prm_arr_; + const flush_prm_t* flush_prm_arr_; uint32_t flush_prm_count_; + uint32_t priority_; volatile std::atomic is_flushed_; pthread_t work_thread_; diff --git a/src/proxy/intercept_queue.h b/src/proxy/intercept_queue.h index f92f1ce6bc..000c7e8810 100644 --- a/src/proxy/intercept_queue.h +++ b/src/proxy/intercept_queue.h @@ -39,7 +39,7 @@ THE SOFTWARE. #include "util/hsa_rsrc_factory.h" #include "util/exception.h" -namespace roctracer { extern TraceBuffer trace_buffer; } +namespace roctracer { extern TraceBuffer* trace_buffer; } namespace rocprofiler { extern decltype(hsa_queue_create)* hsa_queue_create_fn; @@ -160,7 +160,7 @@ class InterceptQueue { const char* kernel_name = GetKernelName(kernel_symbol); // Adding kernel timing tracker - ::proxy::Tracker::entry_t* entry = roctracer::trace_buffer.GetEntry(); + ::proxy::Tracker::entry_t* entry = roctracer::trace_buffer->GetEntry(); entry->kernel.tid = syscall(__NR_gettid); entry->kernel.name = kernel_name; ::proxy::Tracker::Enable(roctracer::KERNEL_ENTRY_TYPE, obj->agent_info_->dev_id, completion_signal, entry); diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 3e3b9654f3..6a6d7d17d9 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -44,7 +44,7 @@ endif () ## Path to HSA test set ( HSA_TEST_DIR "${TEST_DIR}/hsa/test" ) -set ( HSA_REV "5b47aae" ) +set ( HSA_REV "a657002" ) ## test run script set ( RUN_SCRIPT "${TEST_DIR}/run.sh" ) diff --git a/test/tool/tracer_tool.cpp b/test/tool/tracer_tool.cpp index df2530a510..db87d04d8f 100644 --- a/test/tool/tracer_tool.cpp +++ b/test/tool/tracer_tool.cpp @@ -42,6 +42,7 @@ THE SOFTWARE. #include "src/core/loader.h" #include "src/core/trace_buffer.h" +#include "util/evt_stats.h" #include "util/hsa_rsrc_factory.h" #include "util/xml.h" @@ -96,6 +97,12 @@ std::vector kfd_api_vec; LOADER_INSTANTIATE(); TRACE_BUFFER_INSTANTIATE(); +typedef EvtStatsT EvtStatsA; +// HIP stats +EvtStats* hip_api_stats = NULL; +EvtStatsA* hip_kernel_stats = NULL; +EvtStatsA* hip_memcpy_stats = NULL; + // Global output file handle FILE* begin_ts_file_handle = NULL; FILE* roctx_file_handle = NULL; @@ -137,7 +144,7 @@ static inline const char* cxx_demangle(const char* symbol) { size_t funcnamesize; int status; const char* ret = (symbol != NULL) ? abi::__cxa_demangle(symbol, NULL, &funcnamesize, &status) : symbol; - return (ret != NULL) ? ret : symbol; + return (ret != NULL) ? ret : strdup(symbol); } // Tracing control thread @@ -208,8 +215,9 @@ struct roctx_trace_entry_t { }; void roctx_flush_cb(roctx_trace_entry_t* entry); -roctracer::TraceBuffer::flush_prm_t roctx_flush_prm[1] = {{0, roctx_flush_cb}}; -roctracer::TraceBuffer roctx_trace_buffer("rocTX API", 0x200000, roctx_flush_prm, 1); +constexpr roctracer::TraceBuffer::flush_prm_t roctx_flush_prm[1] = {{0, roctx_flush_cb}}; +roctracer::TraceBuffer* roctx_trace_buffer = NULL; +//roctracer::TraceBuffer roctx_trace_buffer("rocTX API", 0x200000, roctx_flush_prm, 1); // rocTX callback function static inline void roctx_callback_fun( @@ -224,7 +232,7 @@ static inline void roctx_callback_fun( #else const timestamp_t time = timer->timestamp_fn_ns(); #endif - roctx_trace_entry_t* entry = roctx_trace_buffer.GetEntry(); + roctx_trace_entry_t* entry = roctx_trace_buffer->GetEntry(); entry->valid = roctracer::TRACE_ENTRY_COMPL; entry->type = 0; entry->cid = cid; @@ -286,8 +294,9 @@ struct hsa_api_trace_entry_t { }; void hsa_api_flush_cb(hsa_api_trace_entry_t* entry); -roctracer::TraceBuffer::flush_prm_t hsa_flush_prm[1] = {{0, hsa_api_flush_cb}}; -roctracer::TraceBuffer hsa_api_trace_buffer("HSA API", 0x200000, hsa_flush_prm, 1); +constexpr roctracer::TraceBuffer::flush_prm_t hsa_flush_prm[1] = {{0, hsa_api_flush_cb}}; +roctracer::TraceBuffer* hsa_api_trace_buffer = NULL; +//roctracer::TraceBuffer hsa_api_trace_buffer("HSA API", 0x200000, hsa_flush_prm, 1); // HSA API callback function void hsa_api_callback( @@ -302,7 +311,7 @@ void hsa_api_callback( hsa_begin_timestamp = timer->timestamp_fn_ns(); } else { const timestamp_t end_timestamp = (cid == HSA_API_ID_hsa_shut_down) ? hsa_begin_timestamp : timer->timestamp_fn_ns(); - hsa_api_trace_entry_t* entry = hsa_api_trace_buffer.GetEntry(); + hsa_api_trace_entry_t* entry = hsa_api_trace_buffer->GetEntry(); entry->valid = roctracer::TRACE_ENTRY_COMPL; entry->type = 0; entry->cid = cid; @@ -348,8 +357,9 @@ struct hip_api_trace_entry_t { }; void hip_api_flush_cb(hip_api_trace_entry_t* entry); -roctracer::TraceBuffer::flush_prm_t hip_flush_prm[1] = {{0, hip_api_flush_cb}}; -roctracer::TraceBuffer hip_api_trace_buffer("HIP", 0x200000, hip_flush_prm, 1); +constexpr roctracer::TraceBuffer::flush_prm_t hip_api_flush_prm[1] = {{0, hip_api_flush_cb}}; +roctracer::TraceBuffer* hip_api_trace_buffer = NULL; +//roctracer::TraceBuffer hip_api_trace_buffer("HIP API", 0x200000, hip_api_flush_prm, 1); static inline bool is_hip_kernel_launch_api(const uint32_t& cid) { bool ret = @@ -379,7 +389,7 @@ void hip_api_callback( hipApiArgsInit((hip_api_id_t)cid, const_cast(data)); const timestamp_t end_timestamp = timer->timestamp_fn_ns(); - hip_api_trace_entry_t* entry = hip_api_trace_buffer.GetEntry(); + hip_api_trace_entry_t* entry = hip_api_trace_buffer->GetEntry(); entry->valid = roctracer::TRACE_ENTRY_COMPL; entry->type = 0; entry->cid = cid; @@ -440,7 +450,7 @@ void mark_api_callback( const char* name = reinterpret_cast(callback_data); const timestamp_t timestamp = timer->timestamp_fn_ns(); - hip_api_trace_entry_t* entry = hip_api_trace_buffer.GetEntry(); + hip_api_trace_entry_t* entry = hip_api_trace_buffer->GetEntry(); entry->valid = roctracer::TRACE_ENTRY_COMPL; entry->type = 0; entry->cid = 0; @@ -454,7 +464,14 @@ void mark_api_callback( entry->ptr = NULL; } +typedef std::map hip_kernel_map_t; +hip_kernel_map_t* hip_kernel_map = NULL; +std::mutex hip_kernel_mutex; + void hip_api_flush_cb(hip_api_trace_entry_t* entry) { + static uint64_t correlation_id = 0; + correlation_id += 1; + const uint32_t domain = entry->domain; const uint32_t cid = entry->cid; const hip_api_data_t* data = &(entry->data); @@ -469,12 +486,22 @@ void hip_api_flush_cb(hip_api_trace_entry_t* entry) { if (domain == ACTIVITY_DOMAIN_HIP_API) { #if HIP_PROF_HIP_API_STRING - const char* str = hipApiString((hip_api_id_t)cid, data); - rec_ss << " " << str; - if (is_hip_kernel_launch_api(cid)) { - if (entry->name) rec_ss << " kernel=" << cxx_demangle(entry->name); + if (hip_api_stats != NULL) { + hip_api_stats->add_event(cid, end_timestamp - begin_timestamp); + if (is_hip_kernel_launch_api(cid)) { + hip_kernel_mutex.lock(); + (*hip_kernel_map)[correlation_id] = entry->name; + hip_kernel_mutex.unlock(); + } + } else { + const char* str = hipApiString((hip_api_id_t)cid, data); + rec_ss << " " << str; + if (is_hip_kernel_launch_api(cid) && entry->name) { + const char* kernel_name = cxx_demangle(entry->name); + rec_ss << " kernel=" << kernel_name; + } + fprintf(hip_api_file_handle, "%s\n", rec_ss.str().c_str()); } - fprintf(hip_api_file_handle, "%s\n", rec_ss.str().c_str()); #else // !HIP_PROF_HIP_API_STRING switch (cid) { case HIP_API_ID_hipMemcpy: @@ -536,6 +563,47 @@ void hip_api_flush_cb(hip_api_trace_entry_t* entry) { fflush(hip_api_file_handle); } +/////////////////////////////////////////////////////////////////////////////////////////////////////// +// HSA API tracing + +struct hip_act_trace_entry_t { + uint32_t valid; + uint32_t type; + uint32_t kind; + timestamp_t dur; + uint64_t correlation_id; +}; + +void hip_act_flush_cb(hip_act_trace_entry_t* entry); +constexpr roctracer::TraceBuffer::flush_prm_t hip_act_flush_prm[1] = {{0, hip_act_flush_cb}}; +roctracer::TraceBuffer* hip_act_trace_buffer = NULL; +//roctracer::TraceBuffer hip_act_trace_buffer("HIP ACT", 0x200000, hip_act_flush_prm, 1); + +// HIP ACT trace buffer flush callback +void hip_act_flush_cb(hip_act_trace_entry_t* entry) { + const uint32_t domain = ACTIVITY_DOMAIN_HCC_OPS; + const uint32_t op = 0; + const char * name = roctracer_op_string(domain, op, entry->kind); + if (name == NULL) { + printf("hip_act_flush_cb name is NULL\n"); fflush(stdout); + abort(); + } + + if (strncmp("Kernel", name, 6) == 0) { + hip_kernel_mutex.lock(); + if (hip_kernel_stats == NULL) { + printf("hip_act_flush_cb hip_kernel_stats is NULL\n"); fflush(stdout); + abort(); + } + name = (*hip_kernel_map)[entry->correlation_id]; + hip_kernel_mutex.unlock(); + const char* kernel_name = cxx_demangle(name); + hip_kernel_stats->add_event(kernel_name, entry->dur); + } else { + hip_memcpy_stats->add_event(name, entry->dur); + } +} + // Activity tracing callback // hipMalloc id(3) correlation_id(1): begin_ns(1525888652762640464) end_ns(1525888652762877067) void pool_activity_callback(const char* begin, const char* end, void* arg) { @@ -546,11 +614,20 @@ void pool_activity_callback(const char* begin, const char* end, void* arg) { const char * name = roctracer_op_string(record->domain, record->op, record->kind); switch(record->domain) { case ACTIVITY_DOMAIN_HCC_OPS: - fprintf(hcc_activity_file_handle, "%lu:%lu %d:%lu %s:%lu:%u\n", - record->begin_ns, record->end_ns, - record->device_id, record->queue_id, - name, record->correlation_id, my_pid); - fflush(hcc_activity_file_handle); + if (hip_memcpy_stats != NULL) { + hip_act_trace_entry_t* entry = hip_act_trace_buffer->GetEntry(); + entry->valid = roctracer::TRACE_ENTRY_COMPL; + entry->type = 0; + entry->kind = record->kind; + entry->dur = record->end_ns - record->begin_ns; + entry->correlation_id = record->correlation_id; + } else { + fprintf(hcc_activity_file_handle, "%lu:%lu %d:%lu %s:%lu:%u\n", + record->begin_ns, record->end_ns, + record->device_id, record->queue_id, + name, record->correlation_id, my_pid); + fflush(hcc_activity_file_handle); + } break; case ACTIVITY_DOMAIN_HSA_OPS: if (record->op == HSA_OP_ID_RESERVED1) { @@ -639,8 +716,10 @@ int get_xml_array(const xml::Xml::level_t* node, const std::string& field, const } // Open output file -FILE* open_output_file(const char* prefix, const char* name) { +FILE* open_output_file(const char* prefix, const char* name, const char** path = NULL) { FILE* file_handle = NULL; + if (path != NULL) *path = NULL; + if (prefix != NULL) { std::ostringstream oss; oss << prefix << "/" << GetPid() << "_" << name; @@ -651,6 +730,8 @@ FILE* open_output_file(const char* prefix, const char* name) { perror(errmsg.str().c_str()); abort(); } + + if (path != NULL) *path = strdup(oss.str().c_str()); } else file_handle = stdout; return file_handle; } @@ -720,6 +801,7 @@ void tool_unload() { // Flush tracing pool close_tracing_pool(); roctracer::TraceBufferBase::FlushAll(); + hip_act_trace_buffer->Flush(true); close_file_handles(); ONLOAD_TRACE_END(); @@ -979,15 +1061,40 @@ extern "C" PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, roctracer_set_properties(ACTIVITY_DOMAIN_HIP_API, (void*)mark_api_callback); // Allocating tracing pool open_tracing_pool(); + + // Check for optimized stats + const bool is_stats_opt = (getenv("ROCP_STATS_OPT") != NULL); + + // HIP kernel ma pinstantiation + if (is_stats_opt) hip_kernel_map = new hip_kernel_map_t; + // Enable tracing if (trace_hip_api) { hip_api_file_handle = open_output_file(output_prefix, "hip_api_trace.txt"); ROCTRACER_CALL(roctracer_enable_domain_callback(ACTIVITY_DOMAIN_HIP_API, hip_api_callback, NULL)); - ROCTRACER_CALL(roctracer_enable_domain_activity(ACTIVITY_DOMAIN_HIP_API)); + + if (is_stats_opt) { + const char* path = NULL; + FILE* f = open_output_file(output_prefix, "hip_api_stats.csv", &path); + hip_api_stats = new EvtStats(f, path); + for (uint32_t id = 0; id < HIP_API_ID_NUMBER; id += 1) { + const char* label = roctracer_op_string(ACTIVITY_DOMAIN_HIP_API, id, 0); + hip_api_stats->set_label(id, label); + } + } } if (trace_hip_activity) { hcc_activity_file_handle = open_output_file(output_prefix, "hcc_ops_trace.txt"); ROCTRACER_CALL(roctracer_enable_domain_activity(ACTIVITY_DOMAIN_HCC_OPS)); + + if (is_stats_opt) { + FILE* f = NULL; + const char* path = NULL; + f = open_output_file(output_prefix, "hip_kernel_stats.csv", &path); + hip_kernel_stats = new EvtStatsA(f, path); + f = open_output_file(output_prefix, "hip_memcpy_stats.csv", &path); + hip_memcpy_stats = new EvtStatsA(f, path); + } } } @@ -1010,6 +1117,10 @@ extern "C" PUBLIC_API void OnUnload() { extern "C" CONSTRUCTOR_API void constructor() { ONLOAD_TRACE_BEG(); + roctx_trace_buffer = new roctracer::TraceBuffer("rocTX API", 0x200000, roctx_flush_prm, 1); + hip_api_trace_buffer = new roctracer::TraceBuffer("HIP API", 0x200000, hip_api_flush_prm, 1); + hip_act_trace_buffer = new roctracer::TraceBuffer("HIP ACT", 0x200000, hip_act_flush_prm, 1, 1); + hsa_api_trace_buffer = new roctracer::TraceBuffer("HSA API", 0x200000, hsa_flush_prm, 1); roctracer_load(); tool_load(); ONLOAD_TRACE_END(); @@ -1018,7 +1129,11 @@ extern "C" DESTRUCTOR_API void destructor() { ONLOAD_TRACE_BEG(); roctracer_flush_buf(); tool_unload(); + + if (hip_api_stats) hip_api_stats->dump(); + if (hip_kernel_stats) hip_kernel_stats->dump(); + if (hip_memcpy_stats) hip_memcpy_stats->dump(); + roctracer_unload(); ONLOAD_TRACE_END(); } - From 156d9327cc4fe8fc9ddbbbef3610a5a81de73dad Mon Sep 17 00:00:00 2001 From: Evgeny Date: Sat, 15 Aug 2020 02:23:43 -0500 Subject: [PATCH 417/691] flush-rate option fixed Change-Id: I74ff83ebf2a0a4ba414d30b7cb193522f44660ce --- src/core/roctracer.cpp | 3 +- src/core/trace_buffer.h | 140 ++++++++++++++++++++++---------------- src/proxy/tracker.h | 13 ++-- test/run.sh | 5 +- test/tool/tracer_tool.cpp | 55 +++++++-------- 5 files changed, 118 insertions(+), 98 deletions(-) diff --git a/src/core/roctracer.cpp b/src/core/roctracer.cpp index dd47bb0f0a..52f1e28bf4 100644 --- a/src/core/roctracer.cpp +++ b/src/core/roctracer.cpp @@ -223,7 +223,6 @@ constexpr TraceBuffer::flush_prm_t trace_buffer_prm[] = { {KERNEL_ENTRY_TYPE, hsa_kernel_handler} }; TraceBuffer* trace_buffer = NULL; -//TraceBuffer trace_buffer("HSA GPU", 0x200000, trace_buffer_prm, 2); namespace hsa_support { // callbacks table @@ -1127,7 +1126,7 @@ PUBLIC_API roctracer_status_t roctracer_flush_activity_expl(roctracer_pool_t* po API_METHOD_PREFIX if (pool == NULL) pool = roctracer_default_pool(); roctracer::MemoryPool* memory_pool = reinterpret_cast(pool); - memory_pool->Flush(); + if (memory_pool != NULL) memory_pool->Flush(); roctracer::TraceBufferBase::FlushAll(); API_METHOD_SUFFIX } diff --git a/src/core/trace_buffer.h b/src/core/trace_buffer.h index 8d99404631..cb6767f2c9 100644 --- a/src/core/trace_buffer.h +++ b/src/core/trace_buffer.h @@ -36,15 +36,17 @@ enum { TRACE_ENTRY_COMPL = 2 }; -enum { - API_ENTRY_TYPE, - COPY_ENTRY_TYPE, - KERNEL_ENTRY_TYPE +enum entry_type_t { + DFLT_ENTRY_TYPE = 0, + API_ENTRY_TYPE = 1, + COPY_ENTRY_TYPE = 2, + KERNEL_ENTRY_TYPE = 3, + NUM_ENTRY_TYPE = 4 }; struct trace_entry_t { std::atomic valid; - uint32_t type; + entry_type_t type; uint64_t dispatch; uint64_t begin; // kernel begin timestamp, ns uint64_t end; // kernel end timestamp, ns @@ -67,14 +69,26 @@ struct trace_entry_t { template struct push_element_fun { T* const elem_; - void fun(T* node) { if (node->next_elem_ == NULL) node->next_elem_ = elem_; } - push_element_fun(T* elem) : elem_(elem) {} + T** prev_; + bool fun(T* node) { + if (node->priority_ > elem_->priority_) { + *prev_ = elem_; + elem_->next_elem_ = node; + } else if (node->next_elem_ == NULL) { + node->next_elem_ = elem_; + } else { + prev_ = &(node->next_elem_); + return false; + } + return true; + } + push_element_fun(T* elem, T** prev) : elem_(elem), prev_(prev) {} }; template struct call_element_fun { void (T::*fptr_)(); - void fun(T* node) { (node->*fptr_)(); } + bool fun(T* node) const { (node->*fptr_)(); return false; } call_element_fun(void (T::*f)()) : fptr_(f) {} }; @@ -89,10 +103,10 @@ struct TraceBufferBase { static void Push(TraceBufferBase* elem) { if (head_elem_ == NULL) head_elem_ = elem; - else foreach(push_element_fun(elem)); + else foreach(push_element_fun(elem, &head_elem_)); } - TraceBufferBase() : next_elem_(NULL) {} + TraceBufferBase(const uint32_t& prior) : priority_(prior), next_elem_(NULL) {} template static void foreach(const F& f_in) { @@ -101,11 +115,12 @@ struct TraceBufferBase { TraceBufferBase* p = head_elem_; while (p != NULL) { TraceBufferBase* next = p->next_elem_; - f.fun(p); + if (f.fun(p) == true) break; p = next; } } + const uint32_t priority_; TraceBufferBase* next_elem_; static TraceBufferBase* head_elem_; static mutex_t mutex_; @@ -118,35 +133,41 @@ class TraceBuffer : protected TraceBufferBase { typedef TraceBuffer Obj; typedef uint64_t pointer_t; typedef std::recursive_mutex mutex_t; + typedef typename std::list buf_list_t; + typedef typename buf_list_t::iterator buf_list_it_t; struct flush_prm_t { - uint32_t type; + entry_type_t type; callback_t fun; }; TraceBuffer(const char* name, uint32_t size, const flush_prm_t* flush_prm_arr, uint32_t flush_prm_count, uint32_t prior = 0) : - is_flushed_(false), + TraceBufferBase(prior), + size_(size), work_thread_started_(false) { name_ = strdup(name); - size_ = size; data_ = allocate_fun(); next_ = allocate_fun(); read_pointer_ = 0; + write_pointer_ = 0; end_pointer_ = size; buf_list_.push_back(data_); - flush_prm_arr_ = flush_prm_arr; - flush_prm_count_ = flush_prm_count; - - priority_ = prior; + memset(f_array_, 0, sizeof(f_array_)); + for (const flush_prm_t* prm = flush_prm_arr; prm < flush_prm_arr + flush_prm_count; prm++) { + const entry_type_t type = prm->type; + if (type >= NUM_ENTRY_TYPE) FATAL("out of f_array bounds (" << type << ")"); + if (f_array_[type] != NULL) FATAL("handler function ptr redefinition (" << type << ")"); + f_array_[type] = prm->fun; + } TraceBufferBase::Push(this); } ~TraceBuffer() { StopWorkerThread(); - FlushAll(); + Flush(); } void StartWorkerThread() { @@ -171,52 +192,52 @@ class TraceBuffer : protected TraceBufferBase { } Entry* GetEntry() { - const pointer_t pointer = read_pointer_.fetch_add(1); + const pointer_t pointer = write_pointer_.fetch_add(1); if (pointer >= end_pointer_) wrap_buffer(pointer); if (pointer >= end_pointer_) FATAL("pointer >= end_pointer_ after buffer wrap"); - return data_ + (pointer + size_ - end_pointer_); + Entry* entry = data_ + (size_ + pointer - end_pointer_); + entry->valid = TRACE_ENTRY_INV; + entry->type = DFLT_ENTRY_TYPE; + return entry; } void Flush() { flush_buf(); } - void Flush(const bool& b) { - DisableFlushing(!b); - flush_buf(); - } - void DisableFlushing(const bool& b) { is_flushed_.exchange(b, std::memory_order_acquire); } private: void flush_buf() { std::lock_guard lck(mutex_); - const bool is_flushed = is_flushed_.exchange(true, std::memory_order_acquire); - if (priority_ != 0) { - priority_ -= 1; - return; - } + pointer_t pointer = read_pointer_; + pointer_t curr_pointer = write_pointer_.load(std::memory_order_relaxed); + buf_list_it_t it = buf_list_.begin(); + buf_list_it_t end_it = buf_list_.end(); + while(it != end_it) { + Entry* buf = *it; + Entry* ptr = buf + (pointer % size_); + Entry* end_ptr = buf + size_; + while ((ptr < end_ptr) && (pointer < curr_pointer)) { + if (ptr->valid != TRACE_ENTRY_COMPL) break; - if (is_flushed == false) { - for (const flush_prm_t* prm = flush_prm_arr_; prm < flush_prm_arr_ + flush_prm_count_; prm++) { - // Flushed entries type - uint32_t type = prm->type; - // Flushing function - callback_t fun = prm->fun; - if (fun == NULL) FATAL("flush function is not set"); + entry_type_t type = ptr->type; + if (type >= NUM_ENTRY_TYPE) FATAL("out of f_array bounds (" << type << ")"); + callback_t f_ptr = f_array_[type]; + if (f_ptr == NULL) FATAL("f_ptr == NULL"); + (*f_ptr)(ptr); - pointer_t pointer = 0; - for (Entry* ptr : buf_list_) { - Entry* end = ptr + size_; - while ((ptr < end) && (pointer < read_pointer_)) { - if (ptr->type == type) { - if (ptr->valid == TRACE_ENTRY_COMPL) { - fun(ptr); - } - } - ptr++; - pointer++; - } - } + ptr++; + pointer++; } + + buf_list_it_t prev = it; + it++; + if (ptr == end_ptr) { + free_fun(*prev); + buf_list_.erase(prev); + } + if (pointer == curr_pointer) break; } + + read_pointer_ = pointer; } inline Entry* allocate_fun() { @@ -226,6 +247,10 @@ class TraceBuffer : protected TraceBufferBase { return ptr; } + inline void free_fun(void* ptr) { + free(ptr); + } + static void* allocate_worker(void* arg) { Obj* obj = (Obj*)arg; @@ -258,17 +283,14 @@ class TraceBuffer : protected TraceBufferBase { } const char* name_; - uint32_t size_; + const uint32_t size_; Entry* data_; Entry* next_; - volatile std::atomic read_pointer_; + pointer_t read_pointer_; + volatile std::atomic write_pointer_; volatile std::atomic end_pointer_; - std::list buf_list_; - - const flush_prm_t* flush_prm_arr_; - uint32_t flush_prm_count_; - uint32_t priority_; - volatile std::atomic is_flushed_; + buf_list_t buf_list_; + callback_t f_array_[NUM_ENTRY_TYPE]; pthread_t work_thread_; pthread_mutex_t work_mutex_; diff --git a/src/proxy/tracker.h b/src/proxy/tracker.h index edb223b064..dc0322bd06 100644 --- a/src/proxy/tracker.h +++ b/src/proxy/tracker.h @@ -40,9 +40,10 @@ class Tracker { public: typedef util::HsaRsrcFactory::timestamp_t timestamp_t; typedef roctracer::trace_entry_t entry_t; + typedef roctracer::entry_type_t entry_type_t; // Add tracker entry - inline static void Enable(uint32_t type, const hsa_agent_t& agent, const hsa_signal_t& signal, entry_t* entry) { + inline static void Enable(entry_type_t type, const hsa_agent_t& agent, const hsa_signal_t& signal, entry_t* entry) { hsa_status_t status = HSA_STATUS_ERROR; util::HsaRsrcFactory* hsa_rsrc = &(util::HsaRsrcFactory::Instance()); @@ -88,13 +89,16 @@ class Tracker { } entry->complete = hsa_rsrc->TimestampNs(); + hsa_signal_t orig = entry->orig; + hsa_signal_t signal = entry->signal; + + // Releasing completed entry entry->valid.store(roctracer::TRACE_ENTRY_COMPL, std::memory_order_release); // Original intercepted signal completion - hsa_signal_t orig = entry->orig; if (orig.handle) { amd_signal_t* orig_signal_ptr = reinterpret_cast(orig.handle); - amd_signal_t* prof_signal_ptr = reinterpret_cast(entry->signal.handle); + amd_signal_t* prof_signal_ptr = reinterpret_cast(signal.handle); orig_signal_ptr->start_ts = prof_signal_ptr->start_ts; orig_signal_ptr->end_ts = prof_signal_ptr->end_ts; @@ -102,7 +106,7 @@ class Tracker { if (signal_value != new_value) EXC_ABORT(HSA_STATUS_ERROR, "Tracker::Complete bad signal value"); hsa_signal_store_screlease(orig, signal_value); } - hsa_signal_destroy(entry->signal); + hsa_signal_destroy(signal); } // Handler for packet completion @@ -113,7 +117,6 @@ class Tracker { // Complete entry Tracker::Complete(signal_value, entry); - return false; } }; diff --git a/test/run.sh b/test/run.sh index 962033f6a2..c5c8aa4596 100755 --- a/test/run.sh +++ b/test/run.sh @@ -79,7 +79,9 @@ eval_test() { test_runnum=$((test_runnum + 1)) eval "$cmdline" >$test_trace 2>&1 is_failed=$? - cat $test_trace + if [ $is_failed != 0 ] ; then + cat $test_trace + fi if [ $IS_CI = 1 ] ; then is_failed=0; else @@ -87,6 +89,7 @@ eval_test() { python ./test/check_trace.py -in $test_name -ck $check_trace_flag is_failed=$? if [ $is_failed != 0 ] ; then + echo "Trace checker error:" python ./test/check_trace.py -v -in $test_name -ck $check_trace_flag fi fi diff --git a/test/tool/tracer_tool.cpp b/test/tool/tracer_tool.cpp index db87d04d8f..a075bc2987 100644 --- a/test/tool/tracer_tool.cpp +++ b/test/tool/tracer_tool.cpp @@ -176,6 +176,8 @@ void* control_thr_fun(void*) { usleep(dist_us); } } + + return NULL; } // Flushing control thread @@ -204,8 +206,8 @@ void* flush_thr_fun(void*) { // rocTX annotation tracing struct roctx_trace_entry_t { - uint32_t valid; - uint32_t type; + std::atomic valid; + roctracer::entry_type_t type; uint32_t cid; timestamp_t time; uint32_t pid; @@ -215,9 +217,8 @@ struct roctx_trace_entry_t { }; void roctx_flush_cb(roctx_trace_entry_t* entry); -constexpr roctracer::TraceBuffer::flush_prm_t roctx_flush_prm[1] = {{0, roctx_flush_cb}}; +constexpr roctracer::TraceBuffer::flush_prm_t roctx_flush_prm = {roctracer::DFLT_ENTRY_TYPE, roctx_flush_cb}; roctracer::TraceBuffer* roctx_trace_buffer = NULL; -//roctracer::TraceBuffer roctx_trace_buffer("rocTX API", 0x200000, roctx_flush_prm, 1); // rocTX callback function static inline void roctx_callback_fun( @@ -233,14 +234,13 @@ static inline void roctx_callback_fun( const timestamp_t time = timer->timestamp_fn_ns(); #endif roctx_trace_entry_t* entry = roctx_trace_buffer->GetEntry(); - entry->valid = roctracer::TRACE_ENTRY_COMPL; - entry->type = 0; entry->cid = cid; entry->time = time; entry->pid = GetPid(); entry->tid = tid; entry->rid = rid; entry->message = (message != NULL) ? strdup(message) : NULL; + entry->valid.store(roctracer::TRACE_ENTRY_COMPL, std::memory_order_release); } void roctx_api_callback( @@ -283,8 +283,8 @@ void roctx_flush_cb(roctx_trace_entry_t* entry) { // HSA API tracing struct hsa_api_trace_entry_t { - uint32_t valid; - uint32_t type; + std::atomic valid; + roctracer::entry_type_t type; uint32_t cid; timestamp_t begin; timestamp_t end; @@ -294,9 +294,8 @@ struct hsa_api_trace_entry_t { }; void hsa_api_flush_cb(hsa_api_trace_entry_t* entry); -constexpr roctracer::TraceBuffer::flush_prm_t hsa_flush_prm[1] = {{0, hsa_api_flush_cb}}; +constexpr roctracer::TraceBuffer::flush_prm_t hsa_flush_prm = {roctracer::DFLT_ENTRY_TYPE, hsa_api_flush_cb}; roctracer::TraceBuffer* hsa_api_trace_buffer = NULL; -//roctracer::TraceBuffer hsa_api_trace_buffer("HSA API", 0x200000, hsa_flush_prm, 1); // HSA API callback function void hsa_api_callback( @@ -312,14 +311,13 @@ void hsa_api_callback( } else { const timestamp_t end_timestamp = (cid == HSA_API_ID_hsa_shut_down) ? hsa_begin_timestamp : timer->timestamp_fn_ns(); hsa_api_trace_entry_t* entry = hsa_api_trace_buffer->GetEntry(); - entry->valid = roctracer::TRACE_ENTRY_COMPL; - entry->type = 0; entry->cid = cid; entry->begin = hsa_begin_timestamp; entry->end = end_timestamp; entry->pid = GetPid(); entry->tid = GetTid(); entry->data = *data; + entry->valid.store(roctracer::TRACE_ENTRY_COMPL, std::memory_order_release); } } @@ -343,8 +341,8 @@ void hsa_activity_callback( // HIP API tracing struct hip_api_trace_entry_t { - uint32_t valid; - uint32_t type; + std::atomic valid; + roctracer::entry_type_t type; uint32_t domain; uint32_t cid; timestamp_t begin; @@ -357,9 +355,8 @@ struct hip_api_trace_entry_t { }; void hip_api_flush_cb(hip_api_trace_entry_t* entry); -constexpr roctracer::TraceBuffer::flush_prm_t hip_api_flush_prm[1] = {{0, hip_api_flush_cb}}; +constexpr roctracer::TraceBuffer::flush_prm_t hip_api_flush_prm = {roctracer::DFLT_ENTRY_TYPE, hip_api_flush_cb}; roctracer::TraceBuffer* hip_api_trace_buffer = NULL; -//roctracer::TraceBuffer hip_api_trace_buffer("HIP API", 0x200000, hip_api_flush_prm, 1); static inline bool is_hip_kernel_launch_api(const uint32_t& cid) { bool ret = @@ -390,8 +387,6 @@ void hip_api_callback( const timestamp_t end_timestamp = timer->timestamp_fn_ns(); hip_api_trace_entry_t* entry = hip_api_trace_buffer->GetEntry(); - entry->valid = roctracer::TRACE_ENTRY_COMPL; - entry->type = 0; entry->cid = cid; entry->domain = domain; entry->begin = hip_begin_timestamp; @@ -437,6 +432,8 @@ void hip_api_callback( } } } + + entry->valid.store(roctracer::TRACE_ENTRY_COMPL, std::memory_order_release); } } @@ -451,8 +448,6 @@ void mark_api_callback( const timestamp_t timestamp = timer->timestamp_fn_ns(); hip_api_trace_entry_t* entry = hip_api_trace_buffer->GetEntry(); - entry->valid = roctracer::TRACE_ENTRY_COMPL; - entry->type = 0; entry->cid = 0; entry->domain = domain; entry->begin = timestamp; @@ -462,6 +457,7 @@ void mark_api_callback( entry->data = {}; entry->name = strdup(name); entry->ptr = NULL; + entry->valid.store(roctracer::TRACE_ENTRY_COMPL, std::memory_order_release); } typedef std::map hip_kernel_map_t; @@ -567,17 +563,16 @@ void hip_api_flush_cb(hip_api_trace_entry_t* entry) { // HSA API tracing struct hip_act_trace_entry_t { - uint32_t valid; - uint32_t type; + std::atomic valid; + roctracer::entry_type_t type; uint32_t kind; timestamp_t dur; uint64_t correlation_id; }; void hip_act_flush_cb(hip_act_trace_entry_t* entry); -constexpr roctracer::TraceBuffer::flush_prm_t hip_act_flush_prm[1] = {{0, hip_act_flush_cb}}; +constexpr roctracer::TraceBuffer::flush_prm_t hip_act_flush_prm = {roctracer::DFLT_ENTRY_TYPE, hip_act_flush_cb}; roctracer::TraceBuffer* hip_act_trace_buffer = NULL; -//roctracer::TraceBuffer hip_act_trace_buffer("HIP ACT", 0x200000, hip_act_flush_prm, 1); // HIP ACT trace buffer flush callback void hip_act_flush_cb(hip_act_trace_entry_t* entry) { @@ -616,11 +611,10 @@ void pool_activity_callback(const char* begin, const char* end, void* arg) { case ACTIVITY_DOMAIN_HCC_OPS: if (hip_memcpy_stats != NULL) { hip_act_trace_entry_t* entry = hip_act_trace_buffer->GetEntry(); - entry->valid = roctracer::TRACE_ENTRY_COMPL; - entry->type = 0; entry->kind = record->kind; entry->dur = record->end_ns - record->begin_ns; entry->correlation_id = record->correlation_id; + entry->valid.store(roctracer::TRACE_ENTRY_COMPL, std::memory_order_release); } else { fprintf(hcc_activity_file_handle, "%lu:%lu %d:%lu %s:%lu:%u\n", record->begin_ns, record->end_ns, @@ -801,7 +795,6 @@ void tool_unload() { // Flush tracing pool close_tracing_pool(); roctracer::TraceBufferBase::FlushAll(); - hip_act_trace_buffer->Flush(true); close_file_handles(); ONLOAD_TRACE_END(); @@ -1117,10 +1110,10 @@ extern "C" PUBLIC_API void OnUnload() { extern "C" CONSTRUCTOR_API void constructor() { ONLOAD_TRACE_BEG(); - roctx_trace_buffer = new roctracer::TraceBuffer("rocTX API", 0x200000, roctx_flush_prm, 1); - hip_api_trace_buffer = new roctracer::TraceBuffer("HIP API", 0x200000, hip_api_flush_prm, 1); - hip_act_trace_buffer = new roctracer::TraceBuffer("HIP ACT", 0x200000, hip_act_flush_prm, 1, 1); - hsa_api_trace_buffer = new roctracer::TraceBuffer("HSA API", 0x200000, hsa_flush_prm, 1); + roctx_trace_buffer = new roctracer::TraceBuffer("rocTX API", 0x200000, &roctx_flush_prm, 1); + hip_api_trace_buffer = new roctracer::TraceBuffer("HIP API", 0x200000, &hip_api_flush_prm, 1); + hip_act_trace_buffer = new roctracer::TraceBuffer("HIP ACT", 0x200000, &hip_act_flush_prm, 1, 1); + hsa_api_trace_buffer = new roctracer::TraceBuffer("HSA API", 0x200000, &hsa_flush_prm, 1); roctracer_load(); tool_load(); ONLOAD_TRACE_END(); From e9b8de644e5cc9fc85c42cfc9ea04338d5697e29 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Fri, 28 Aug 2020 06:31:24 -0500 Subject: [PATCH 418/691] Format ostream ops Change-Id: I8c609b1ef82e02f3547541c2cc47dec3a4f1c7b3 --- inc/roctracer_hip.h | 14 ++++++++ script/gen_ostream_ops.py | 72 +++++++++++++++++++++++++++++++-------- test/tool/tracer_tool.cpp | 1 + 3 files changed, 72 insertions(+), 15 deletions(-) diff --git a/inc/roctracer_hip.h b/inc/roctracer_hip.h index 86ffc1ae31..091f3279be 100644 --- a/inc/roctracer_hip.h +++ b/inc/roctracer_hip.h @@ -23,6 +23,20 @@ THE SOFTWARE. #ifndef INC_ROCTRACER_HIP_H_ #define INC_ROCTRACER_HIP_H_ +#ifdef __cplusplus +#include + +inline static std::ostream& operator<<(std::ostream& out, const unsigned char& v) { + out << (unsigned int)v; + return out; +} + +inline static std::ostream& operator<<(std::ostream& out, const char& v) { + out << (unsigned char)v; + return out; +} +#endif // __cplusplus + #include #include #include diff --git a/script/gen_ostream_ops.py b/script/gen_ostream_ops.py index 142ec98e82..900c36776c 100755 --- a/script/gen_ostream_ops.py +++ b/script/gen_ostream_ops.py @@ -3,6 +3,7 @@ import os, sys, re import CppHeaderParser import argparse +import string LICENSE = \ '/*\n' + \ @@ -33,7 +34,7 @@ header = 'template \n' + \ ' inline static std::ostream& put(std::ostream& out, const T& v) { return out; }\n' + \ '};\n\n' -header_hip = \ +header_basic = \ 'template \n' + \ ' inline static std::ostream& operator<<(std::ostream& out, const T& v) {\n' + \ ' using std::operator<<;\n' + \ @@ -43,6 +44,7 @@ header_hip = \ structs_analyzed = {} global_ops_hip = '' +global_str = '' # process_struct traverses recursively all structs to extract all fields def process_struct(file_handle, cppHeader_struct, cppHeader, parent_hier_name, apiname): @@ -51,6 +53,7 @@ def process_struct(file_handle, cppHeader_struct, cppHeader, parent_hier_name, a # cppHeader: cppHeader object created by CppHeaderParser.CppHeader(...) # parent_hier_name: parent hierarchical name used for nested structs/enums # apiname: for example hip, kfd. + global global_str if cppHeader_struct == 'max_align_t': #function pointers not working in cppheaderparser return @@ -59,7 +62,7 @@ def process_struct(file_handle, cppHeader_struct, cppHeader, parent_hier_name, a if cppHeader_struct in structs_analyzed: return - structs_analyzed[cppHeader_struct] = 1; + structs_analyzed[cppHeader_struct] = 1 for l in reversed(range(len(cppHeader.classes[cppHeader_struct]["properties"]["public"]))): key = 'name' name = "" @@ -85,16 +88,21 @@ def process_struct(file_handle, cppHeader_struct, cppHeader, parent_hier_name, a if key4 in cppHeader.classes[cppHeader_struct]["properties"]["public"][l]: prop = cppHeader.classes[cppHeader_struct]["properties"]["public"][l][key4] + str = '' if "union" not in mtype: if apiname.lower() == 'hip' or apiname.lower() == 'hsa': - str = " roctracer::" + apiname.lower() + "_support::operator<<(out, v."+name+");\n" + str += " roctracer::" + apiname.lower() + "_support::operator<<(out, \"" + name + " = \");\n" + str += " roctracer::" + apiname.lower() + "_support::operator<<(out, v."+name+");\n" + str += " roctracer::" + apiname.lower() + "_support::operator<<(out, \", \");\n" else: + str += " roctracer::" + apiname.lower() + "_support::output_streamer::put(out, \"" + name + " = \");\n" if array_size == "": - str = " roctracer::" + apiname.lower() + "_support::output_streamer<"+mtype+">::put(out,v."+name+");\n" + str += " roctracer::" + apiname.lower() + "_support::output_streamer<" + mtype + ">::put(out, v." + name + ");\n" else: - str = " roctracer::" + apiname.lower() + "_support::output_streamer<"+mtype+"["+array_size+"]>::put(out,v."+name+");\n" + str += " roctracer::" + apiname.lower() + "_support::output_streamer<" + mtype + "[" + array_size + "]>::put(out, v." + name + ");\n" + str += " roctracer::" + apiname.lower() + "_support::output_streamer::put(out, \", \");\n" if "void" not in mtype: - file_handle.write(str) + global_str += str else: if prop != '': next_cppHeader_struct = prop + "::" @@ -105,11 +113,12 @@ def process_struct(file_handle, cppHeader_struct, cppHeader, parent_hier_name, a process_struct(file_handle, next_cppHeader_struct, cppHeader, name, apiname) # Parses API header file and generates ostream ops files ostream_ops.h -def gen_cppheader(infilepath, outfilepath): +def gen_cppheader(infilepath, outfilepath, structs_depth): # infilepath: API Header file to be parsed # outfilepath: Output file where ostream operators are written global_ops_hip = '' global_ops_hsa = '' + global global_str try: cppHeader = CppHeaderParser.CppHeader(infilepath) except CppHeaderParser.CppParseError as e: @@ -140,10 +149,12 @@ def gen_cppheader(infilepath, outfilepath): f.write('\n') f.write('namespace roctracer {\n') f.write('namespace ' + apiname.lower() + '_support {\n') + if structs_depth != -1: + f.write('static int ' + apiname.upper() + '_depth_max = ' + str(structs_depth) + ';\n') f.write('// begin ostream ops for '+ apiname + ' \n') if apiname.lower() == "hip" or apiname.lower() == "hsa": f.write("// basic ostream ops\n") - f.write(header_hip) + f.write(header_basic) f.write("// End of basic ostream ops\n\n") else: f.write(header) @@ -154,28 +165,56 @@ def gen_cppheader(infilepath, outfilepath): if apiname.lower() == 'hsa': if c == 'max_align_t' or c == '__fsid_t': #already defined for hip continue - #if apiname.lower() == 'hip' and c == 'hipIpcEventHandle_t': #feature is TBD - # continue if len(cppHeader.classes[c]["properties"]["public"])!=0: if apiname.lower() == 'hip' or apiname.lower() == 'hsa': f.write("std::ostream& operator<<(std::ostream& out, const " + c + "& v)\n") f.write("{\n") + f.write(" roctracer::" + apiname.lower() + "_support::operator<<(out, '{');\n") + if structs_depth != -1: + f.write(" " + apiname.upper() + "_depth_max++;\n") + f.write(" if (" + apiname.upper() + "_depth_max <= " + str(structs_depth) + ") {\n" ) process_struct(f, c, cppHeader, "", apiname) - f.write(" return out;\n") + global_str = "\n".join(global_str.split("\n")[0:-2]) + if structs_depth != -1: #reindent + global_str = string.split(global_str, '\n') + global_str = [' ' + string.lstrip(line) for line in global_str] + global_str = string.join(global_str, '\n') + f.write(global_str+"\n") + if structs_depth != -1: + f.write(" };\n") + f.write(" " + apiname.upper() + "_depth_max--;\n") + f.write(" roctracer::" + apiname.lower() + "_support::operator<<(out, '}');\n") + f.write(" return out;\n") f.write("}\n") + global_str = '' else: f.write("\ntemplate<>\n") f.write("struct output_streamer<" + c + "&> {\n") f.write(" inline static std::ostream& put(std::ostream& out, "+c+"& v)\n") f.write("{\n") + f.write(" roctracer::" + apiname.lower() + "_support::output_streamer::put(out, '{');\n") + if structs_depth != -1: + f.write(apiname.upper() + "_depth_max++;\n") + f.write(" if (" + apiname.upper() + "_depth_max <= " + str(structs_depth) + ") {\n" ) process_struct(f, c, cppHeader, "", apiname) - f.write(" return out;\n") + global_str = "\n".join(global_str.split("\n")[0:-2]) + if structs_depth != -1: #reindent + global_str = string.split(global_str, '\n') + global_str = [' ' + string.lstrip(line) for line in global_str] + global_str = string.join(global_str, '\n') + f.write(global_str+"\n") + if structs_depth != -1: + f.write(" };\n") + f.write(" " + apiname.upper() + "_depth_max--;\n") + f.write(" roctracer::" + apiname.lower() + "_support::output_streamer::put(out, '}');\n") + f.write(" return out;\n") f.write("}\n") f.write("};\n") + global_str = '' if apiname.lower() == 'hip': - global_ops_hip += "inline static std::ostream& operator<<(std::ostream& out, const " + c + "& v)\n" + "{\n" + " roctracer::hip_support::operator<<(out, v);\n" + " return out;\n" + "}\n\n" + global_ops_hip += "inline static std::ostream& operator<<(std::ostream& out, const " + c + "& v)\n" + "{\n" + " roctracer::hip_support::operator<<(out, v);\n" + " return out;\n" + "}\n\n" if apiname.lower() == 'hsa': - global_ops_hsa += "inline static std::ostream& operator<<(std::ostream& out, const " + c + "& v)\n" + "{\n" + " roctracer::hsa_support::operator<<(out, v);\n" + " return out;\n" + "}\n\n" + global_ops_hsa += "inline static std::ostream& operator<<(std::ostream& out, const " + c + "& v)\n" + "{\n" + " roctracer::hsa_support::operator<<(out, v);\n" + " return out;\n" + "}\n\n" footer = \ '// end ostream ops for '+ apiname + ' \n' @@ -196,8 +235,11 @@ parser = argparse.ArgumentParser(description='genOstreamOps.py: generates ostrea requiredNamed = parser.add_argument_group('Required arguments') requiredNamed.add_argument('-in', metavar='file', help='Header file to be parsed', required=True) requiredNamed.add_argument('-out', metavar='file', help='Output file with ostream operators', required=True) +requiredNamed.add_argument('-depth', metavar='N', type=int, help='Depth for nested structs', required=False) +structs_depth = 0 args = vars(parser.parse_args()) if __name__ == '__main__': - gen_cppheader(args['in'], args['out']) + if args['depth'] != None: structs_depth = args['depth'] + gen_cppheader(args['in'], args['out'], structs_depth) diff --git a/test/tool/tracer_tool.cpp b/test/tool/tracer_tool.cpp index a075bc2987..ad8660129f 100644 --- a/test/tool/tracer_tool.cpp +++ b/test/tool/tracer_tool.cpp @@ -1110,6 +1110,7 @@ extern "C" PUBLIC_API void OnUnload() { extern "C" CONSTRUCTOR_API void constructor() { ONLOAD_TRACE_BEG(); + roctracer::hip_support::HIP_depth_max = 0; roctx_trace_buffer = new roctracer::TraceBuffer("rocTX API", 0x200000, &roctx_flush_prm, 1); hip_api_trace_buffer = new roctracer::TraceBuffer("HIP API", 0x200000, &hip_api_flush_prm, 1); hip_act_trace_buffer = new roctracer::TraceBuffer("HIP ACT", 0x200000, &hip_act_flush_prm, 1, 1); From ed1f1b66ac772d12c958e4df76c5a04084a86de5 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Mon, 7 Sep 2020 13:50:10 -0500 Subject: [PATCH 419/691] build normalizing - generating under build directory Change-Id: Id9203aec7800024bd749059a415fb29b8051005a --- CMakeLists.txt | 11 +++++- build.sh | 2 +- script/hsaap.py | 6 +-- script/kfdap.py | 60 +++++++++++++++--------------- src/CMakeLists.txt | 41 ++++++++++---------- src/kfd/.gitignore | 1 - test/CMakeLists.txt | 3 +- test/MatrixTranspose/Makefile | 2 +- test/MatrixTranspose_test/Makefile | 2 +- test/run.sh | 2 +- 10 files changed, 69 insertions(+), 61 deletions(-) delete mode 100644 src/kfd/.gitignore diff --git a/CMakeLists.txt b/CMakeLists.txt index f1ad1982cc..97c06cf9dd 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -100,12 +100,14 @@ set ( PUBLIC_HEADERS roctracer_kfd.h roctracer_roctx.h roctracer_cb_table.h + ext/prof_protocol.h + ext/hsa_rt_utils.hpp +) +set ( GEN_HEADERS hip_ostream_ops.h hsa_prof_str.h kfd_ostream_ops.h kfd_prof_str.h - ext/prof_protocol.h - ext/hsa_rt_utils.hpp ) if ( ${LIBRARY_TYPE} STREQUAL SHARED ) @@ -137,6 +139,11 @@ foreach ( header ${PUBLIC_HEADERS} ) install ( FILES ${CMAKE_CURRENT_SOURCE_DIR}/inc/${header} DESTINATION ${DEST_NAME}/include/${header_subdir} ) install ( FILES ${CMAKE_CURRENT_SOURCE_DIR}/inc/${header} DESTINATION include/${DEST_NAME}/${header_subdir} ) endforeach () +foreach ( header ${GEN_HEADERS} ) + get_filename_component ( header_subdir ${header} DIRECTORY ) + install ( FILES ${PROJECT_BINARY_DIR}/inc/${header} DESTINATION ${DEST_NAME}/include/${header_subdir} ) + install ( FILES ${PROJECT_BINARY_DIR}/inc/${header} DESTINATION include/${DEST_NAME}/${header_subdir} ) +endforeach () #install ( FILES ${PROJECT_BINARY_DIR}/inc-link DESTINATION include RENAME ${DEST_NAME} ) install ( FILES ${PROJECT_BINARY_DIR}/so-link DESTINATION lib RENAME ${ROCTRACER_LIBRARY}.so ) install ( FILES ${PROJECT_BINARY_DIR}/so-major-link DESTINATION lib RENAME ${ROCTRACER_LIBRARY}.so.${LIB_VERSION_MAJOR} ) diff --git a/build.sh b/build.sh index a8515b69d4..cae5a59a28 100755 --- a/build.sh +++ b/build.sh @@ -1,4 +1,4 @@ -#!/bin/bash -x +#!/bin/bash -e SRC_DIR=`dirname $0` COMPONENT="roctracer" ROCM_PATH="${ROCM_PATH:=/opt/rocm}" diff --git a/script/hsaap.py b/script/hsaap.py index a50b3d4d1e..84ee9bbfb4 100755 --- a/script/hsaap.py +++ b/script/hsaap.py @@ -490,15 +490,15 @@ class API_DescrParser: # main # Usage if len(sys.argv) != 3: - print ("Usage:", sys.argv[0], " ", file=sys.stderr) + print ("Usage:", sys.argv[0], " ", file=sys.stderr) sys.exit(1) else: - ROOT = sys.argv[1] + '/' + PREFIX = sys.argv[1] + '/' HSA_DIR = sys.argv[2] + '/' descr = API_DescrParser(OUT, HSA_DIR, API_TABLES_H, API_HEADERS_H, LICENSE) -out_file = ROOT + OUT +out_file = PREFIX + OUT print ('Generating "' + out_file + '"') f = open(out_file, 'w') f.write(descr.content[:-1]) diff --git a/script/kfdap.py b/script/kfdap.py index e920bbf6d9..9f560a35d7 100755 --- a/script/kfdap.py +++ b/script/kfdap.py @@ -2,10 +2,10 @@ from __future__ import print_function import os, sys, re -OUT_H = 'inc/kfd_prof_str.h' -OUT_CPP = 'src/kfd/kfd_wrapper.cpp' -API_HEADERS_H = ( - ('HSAKMTAPI', 'hsakmt.h'), +OUT_H = 'inc/kfd_prof_str.h' +OUT_CPP = 'src/kfd_wrapper.cpp' +API_HEADERS_H = ( + ('HSAKMTAPI', 'hsakmt.h'), ) LICENSE = \ @@ -38,7 +38,7 @@ def fatal(module, msg): sys.exit(1) # Get next text block -def NextBlock(pos, record): +def NextBlock(pos, record): if len(record) == 0: return pos space_pattern = re.compile(r'(\s+)') @@ -82,8 +82,8 @@ class API_TableParser: self.inp = open(header, 'r') - self.beg_pattern = re.compile(name) - self.end_pattern = re.compile('.*\)\s*;\s*$'); + self.beg_pattern = re.compile(name) + self.end_pattern = re.compile('.*\)\s*;\s*$'); self.array = [] self.parse() @@ -92,10 +92,10 @@ class API_TableParser: return re.sub(r'^\s+', r' ', line) def fix_comment_line(self, line): - return re.sub(r'\/\/.*', r'', line) + return re.sub(r'\/\/.*', r'', line) def remove_ret_line(self, line): - return re.sub(r'\n', r'', line) + return re.sub(r'\n', r'', line) # check for start record def is_start(self, record): @@ -107,7 +107,7 @@ class API_TableParser: # check for declaration entry record def is_entry(self, record): - return re.match(r'^\s*HSAKMTAPI\s*(.*)\s*\((.*)\)', record) + return re.match(r'^\s*HSAKMTAPI\s*(.*)\s*\((.*)\)', record) # parse method def parse(self): @@ -121,7 +121,7 @@ class API_TableParser: line = self.norm_line(line) line = self.fix_comment_line(line) - if cumulate == 1: record += " " + line; + if cumulate == 1: record += " " + line; else: record = line; if self.is_start(line): rettype = prev_line.strip(); cumulate = 1; prev_line = line; continue; if self.is_end(line): record = self.remove_ret_line(record); cumulate = 0; active = 1; @@ -132,7 +132,7 @@ class API_TableParser: mycall_full = rettype + " " + m.group(1) + ' (' + m.group(2) + ')' mycall = m.group(1) self.full_fct[mycall] = mycall_full - self.array.append(mycall) + self.array.append(mycall) rettype = ""; prev_line = line @@ -173,7 +173,7 @@ class API_DeclParser: struct = {'ret': '', 'args': '', 'astr': {}, 'alst': [], 'tlst': []} record = re.sub(r'^\s+', r'', record) record = re.sub(r'\s*(\*+)\s*', r'\1 ', record) - rind = NextBlock(0, record) + rind = NextBlock(0, record) struct['ret'] = record[0:rind] pos = record.find('(') end = NextBlock(pos, record); @@ -184,7 +184,7 @@ class API_DeclParser: struct['args'] = re.sub(r',', r', ', args) if args == "void": return struct - + if len(args) == 0: return struct pos = 0 @@ -217,7 +217,7 @@ class API_DeclParser: # parse given api def parse(self, call, full_fct): - if call in full_fct: + if call in full_fct: self.data[call] = self.get_args(full_fct[call]) else: self.data[call] = self.get_args(call) @@ -238,7 +238,7 @@ class API_DescrParser: self.api_calls = {} self.api_rettypes = set() self.api_id = {} - + api_data = {} full_fct = {} api_list = [] @@ -271,7 +271,7 @@ class API_DescrParser: self.ns_calls = ns_calls self.content_h += "// automatically generated\n\n" + license + '\n' - + self.content_h += "/////////////////////////////////////////////////////////////////////////////\n" for call in self.ns_calls: self.content_h += '// ' + call + ' was not parsed\n' @@ -298,7 +298,7 @@ class API_DescrParser: self.content_h += 'namespace kfd_support {\n' self.add_section('API get_name function', ' ', self.gen_get_name) - self.add_section('API get_code function', ' ', self.gen_get_code) + self.add_section('API get_code function', ' ', self.gen_get_code) self.add_section('API intercepting code', '', self.gen_intercept_decl) self.add_section('API intercepting code', '', self.gen_intercept) @@ -369,7 +369,7 @@ class API_DescrParser: self.content_h += ' KFD_API_ID_NUMBER = ' + str(n) + ',\n' self.content_h += ' KFD_API_ID_ANY = ' + str(n + 1) + ',\n' self.content_h += '};\n' - + # generate API args structure def gen_arg_struct(self, n, name, call, struct): if n == -1: @@ -396,7 +396,7 @@ class API_DescrParser: else: self.content_h += ' } args;\n' self.content_h += '} kfd_api_data_t;\n' - + # generate API callbacks def gen_callbacks(self, n, name, call, struct): if n == -1: @@ -406,7 +406,7 @@ class API_DescrParser: if call != '-': call_id = self.api_id[call]; ret_type = struct['ret'] - self.content_h += ret_type + ' ' + call + '_callback(' + struct['args'] + ') {\n' # 'static ' + + self.content_h += ret_type + ' ' + call + '_callback(' + struct['args'] + ') {\n' # 'static ' + self.content_h += ' if (' + name + '_table == NULL) intercept_KFDApiTable();\n' self.content_h += ' kfd_api_data_t api_data{};\n' for var in struct['alst']: @@ -448,7 +448,7 @@ class API_DescrParser: if call != '-': self.content_h += ' typedef decltype(' + name + '_table_t::' + call + '_fn) ' + call + '_t;\n' - self.content_h += ' ' + name + '_table->' + call + '_fn = (' + call + '_t)' + 'dlsym(RTLD_NEXT,\"' + call + '\");\n' + self.content_h += ' ' + name + '_table->' + call + '_fn = (' + call + '_t)' + 'dlsym(RTLD_NEXT,\"' + call + '\");\n' # generate API name function def gen_get_name(self, n, name, call, struct): @@ -493,7 +493,7 @@ class API_DescrParser: arg_var = arg_list[ind] arg_val = 'api_data.args.' + call + '.' + arg_var if re.search(r'MemFlags',arg_var): - continue + continue self.content_h += ' typedef decltype(' + arg_val.replace("[]","") + ') arg_val_type_t' + str(ind) + ';\n' self.content_h += ' roctracer::kfd_support::output_streamer::put(out, ' + arg_val.replace("[]","") + ')' if ind < len(arg_list)-1: self.content_h += ' << ", ";\n' @@ -510,11 +510,11 @@ class API_DescrParser: self.content_h += ' abort();\n' self.content_h += ' }\n' self.content_h += ' return out;\n' - self.content_h += '}\n' + self.content_h += '}\n' self.content_h += '#endif\n' - self.content_cpp += 'inline std::ostream& operator<< (std::ostream& out, const HsaMemFlags& v) { out << "HsaMemFlags"; return out; }\n' + self.content_cpp += 'inline std::ostream& operator<< (std::ostream& out, const HsaMemFlags& v) { out << "HsaMemFlags"; return out; }\n' - # generate PUBLIC_API for all API fcts + # generate PUBLIC_API for all API fcts def gen_public_api(self, n, name, call, struct): if n == -1: self.content_cpp += 'extern "C" {\n' @@ -540,21 +540,21 @@ class API_DescrParser: # main # Usage if len(sys.argv) != 3: - print ("Usage:", sys.argv[0], " ", file = sys.stderr) + print ("Usage:", sys.argv[0], " ", file = sys.stderr) sys.exit(1) else: - ROOT = sys.argv[1] + '/' + PREFIX = sys.argv[1] + '/' KFD_DIR = sys.argv[2] + '/' descr = API_DescrParser(OUT_H, KFD_DIR, API_HEADERS_H, LICENSE) -out_file = ROOT + OUT_H +out_file = PREFIX + OUT_H print ('Generating "' + out_file + '"') f = open(out_file, 'w') f.write(descr.content_h[:-1]) f.close() -out_file = ROOT + OUT_CPP +out_file = PREFIX + OUT_CPP print ('Generating "' + out_file + '"') f = open(out_file, 'w') f.write(descr.content_cpp[:-1]) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index ceb33c7497..c794c49177 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,7 +1,19 @@ -# +# Generating tracing primitives +set ( GEN_INC_DIR ${PROJECT_BINARY_DIR}/inc ) +set ( GEN_SRC_DIR ${PROJECT_BINARY_DIR}/src ) +execute_process ( COMMAND sh -xc "mkdir -p ${GEN_INC_DIR}" ) +execute_process ( COMMAND sh -xc "mkdir -p ${GEN_SRC_DIR}" ) +execute_process ( COMMAND sh -xc "${ROOT_DIR}/script/hsaap.py ${PROJECT_BINARY_DIR} ${HSA_RUNTIME_INC_PATH}" ) +execute_process ( COMMAND sh -xc "${ROOT_DIR}/script/kfdap.py ${PROJECT_BINARY_DIR} ${HSA_KMT_INC_PATH}" ) +execute_process ( COMMAND sh -xc "${CMAKE_C_COMPILER} -E ${HSA_KMT_INC_PATH}/hsakmttypes.h > ${GEN_INC_DIR}/hsakmttypes_pp.h" ) +execute_process ( COMMAND sh -xc "${ROOT_DIR}/script/gen_ostream_ops.py -in ${GEN_INC_DIR}/hsakmttypes_pp.h -out ${GEN_INC_DIR}/kfd_ostream_ops.h" ) +execute_process ( COMMAND sh -xc "${CMAKE_C_COMPILER} -E ${HIP_PATH}/include/hip/hip_runtime_api.h ${HIP_DEFINES} -I${HIP_PATH}/include -I${ROCM_ROOT_DIR}/hsa/include > ${GEN_INC_DIR}/hip_runtime_api_pp.h" ) +execute_process ( COMMAND sh -xc "${ROOT_DIR}/script/gen_ostream_ops.py -in ${GEN_INC_DIR}/hip_runtime_api_pp.h -out ${GEN_INC_DIR}/hip_ostream_ops.h" ) +execute_process ( COMMAND sh -xc "${CMAKE_C_COMPILER} -E ${HSA_RUNTIME_INC_PATH}/hsa.h > ${GEN_INC_DIR}/hsa_pp.h" ) +execute_process ( COMMAND sh -xc "${ROOT_DIR}/script/gen_ostream_ops.py -in ${GEN_INC_DIR}/hsa_pp.h -out ${GEN_INC_DIR}/hsa_ostream_ops.h" ) + # Build dynamic Library object -# -set ( TARGET_LIB "${TARGET_NAME}" ) +set ( TARGET_LIB ${TARGET_NAME} ) set ( LIB_SRC ${LIB_DIR}/core/roctracer.cpp ${LIB_DIR}/proxy/proxy_queue.cpp @@ -10,33 +22,22 @@ set ( LIB_SRC ${LIB_DIR}/util/hsa_rsrc_factory.cpp ) add_library ( ${TARGET_LIB} ${LIBRARY_TYPE} ${LIB_SRC} ) -target_include_directories ( ${TARGET_LIB} PRIVATE ${LIB_DIR} ${ROOT_DIR} ${ROOT_DIR}/inc ${HSA_RUNTIME_INC_PATH} ${HSA_RUNTIME_HSA_INC_PATH} ${HIP_INC_DIR} ${HCC_INC_DIR} ${HSA_KMT_INC_PATH} ) +target_include_directories ( ${TARGET_LIB} PRIVATE ${LIB_DIR} ${ROOT_DIR} ${ROOT_DIR}/inc ${HSA_RUNTIME_INC_PATH} ${HSA_RUNTIME_HSA_INC_PATH} ${HIP_INC_DIR} ${HCC_INC_DIR} ${HSA_KMT_INC_PATH} ${GEN_INC_DIR} ) target_link_libraries( ${TARGET_LIB} PRIVATE ${HSA_RUNTIME_LIB} c stdc++ ) -# Generating HSA tracing primitives -execute_process ( COMMAND sh -xc "${ROOT_DIR}/script/hsaap.py ${ROOT_DIR} ${HSA_RUNTIME_INC_PATH}" ) - -# Generating KFD/Thunk tracing primitives +# Build KFD/Thunk tracing library set ( KFD_LIB "kfdwrapper64" ) -set ( KFD_LIB_SRC - ${LIB_DIR}/kfd/kfd_wrapper.cpp -) -execute_process ( COMMAND sh -xc "${CMAKE_CXX_COMPILER} -E ${HSA_KMT_INC_PATH}/hsakmttypes.h > ${PROJECT_BINARY_DIR}/hsakmttypes_pp.h" ) -execute_process ( COMMAND sh -xc "${ROOT_DIR}/script/gen_ostream_ops.py -in ${PROJECT_BINARY_DIR}/hsakmttypes_pp.h -out ${ROOT_DIR}/inc/kfd_ostream_ops.h" ) -execute_process ( COMMAND sh -xc "${CMAKE_C_COMPILER} ${HIP_DEFINES} -I${HIP_PATH}/include -I${ROCM_ROOT_DIR}/hsa/include -E ${HIP_PATH}/include/hip/hip_runtime_api.h > ${PROJECT_BINARY_DIR}/hip_runtime_api_pp.h" ) -execute_process ( COMMAND sh -xc "${ROOT_DIR}/script/gen_ostream_ops.py -in ${PROJECT_BINARY_DIR}/hip_runtime_api_pp.h -out ${ROOT_DIR}/inc/hip_ostream_ops.h" ) -execute_process ( COMMAND sh -xc "${CMAKE_C_COMPILER} -E ${HSA_RUNTIME_INC_PATH}/hsa.h > ${PROJECT_BINARY_DIR}/hsa_pp.h" ) -execute_process ( COMMAND sh -xc "${ROOT_DIR}/script/gen_ostream_ops.py -in ${PROJECT_BINARY_DIR}/hsa_pp.h -out ${ROOT_DIR}/inc/hsa_ostream_ops.h" ) +set ( KFD_LIB_SRC ${GEN_SRC_DIR}/kfd_wrapper.cpp) add_library ( ${KFD_LIB} SHARED ${KFD_LIB_SRC} ) -target_include_directories ( ${KFD_LIB} PRIVATE ${LIB_DIR} ${ROOT_DIR} ${ROOT_DIR}/inc ${HSA_RUNTIME_INC_PATH} ${HSA_RUNTIME_HSA_INC_PATH} ${HSA_KMT_INC_PATH} ) +target_include_directories ( ${KFD_LIB} PRIVATE ${LIB_DIR} ${ROOT_DIR} ${ROOT_DIR}/inc ${HSA_RUNTIME_INC_PATH} ${HSA_RUNTIME_HSA_INC_PATH} ${HSA_KMT_INC_PATH} ${GEN_INC_DIR} ) target_link_libraries( ${KFD_LIB} PRIVATE c stdc++ ) -execute_process ( COMMAND sh -xc "${ROOT_DIR}/script/kfdap.py ${ROOT_DIR} ${HSA_KMT_INC_PATH}" ) +# Build ROCTX tracing library set ( ROCTX_LIB "roctx64" ) set ( ROCTX_LIB_SRC ${LIB_DIR}/roctx/roctx.cpp ${LIB_DIR}/roctx/roctx_intercept.cpp ) add_library ( ${ROCTX_LIB} SHARED ${ROCTX_LIB_SRC} ) -target_include_directories ( ${ROCTX_LIB} PRIVATE ${LIB_DIR} ${ROOT_DIR} ${ROOT_DIR}/inc ${HSA_RUNTIME_INC_PATH} ${HSA_RUNTIME_HSA_INC_PATH} ) +target_include_directories ( ${ROCTX_LIB} PRIVATE ${LIB_DIR} ${ROOT_DIR} ${ROOT_DIR}/inc ${HSA_RUNTIME_INC_PATH} ${HSA_RUNTIME_HSA_INC_PATH} ${GEN_INC_DIR} ) target_link_libraries( ${ROCTX_LIB} PRIVATE c stdc++ ) diff --git a/src/kfd/.gitignore b/src/kfd/.gitignore deleted file mode 100644 index 0c2acea703..0000000000 --- a/src/kfd/.gitignore +++ /dev/null @@ -1 +0,0 @@ -kfd_wrapper.cpp diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 6a6d7d17d9..c1b56c0cda 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -50,6 +50,7 @@ set ( HSA_REV "a657002" ) set ( RUN_SCRIPT "${TEST_DIR}/run.sh" ) ## build HIP tests +set ( INC_PATH "${INC_PATH} ${PROJECT_BINARY_DIR}/inc" ) set ( TEST_ENV HIP_VDI=${HIP_VDI} ROCM_PATH=${ROCM_ROOT_DIR} HSA_PATH=${ROCM_ROOT_DIR}/hsa INC_PATH=${INC_PATH} LIB_PATH=${LIB_PATH} HIPCC_VERBOSE=3 ) add_custom_target( mytest COMMAND ${TEST_ENV} make -C "${TEST_DIR}/MatrixTranspose" @@ -75,7 +76,7 @@ if ( DEFINED ROCTRACER_TARGET ) set ( TEST_LIB "tracer_tool" ) set ( TEST_LIB_SRC ${TEST_DIR}/tool/tracer_tool.cpp ${UTIL_SRC} ) add_library ( ${TEST_LIB} SHARED ${TEST_LIB_SRC} ) - target_include_directories ( ${TEST_LIB} PRIVATE ${HSA_TEST_DIR} ${ROOT_DIR} ${ROOT_DIR}/inc ${HSA_RUNTIME_INC_PATH} ${HSA_RUNTIME_HSA_INC_PATH} ${HIP_INC_DIR} ${HCC_INC_DIR} ${HSA_KMT_INC_PATH} ) + target_include_directories ( ${TEST_LIB} PRIVATE ${HSA_TEST_DIR} ${ROOT_DIR} ${ROOT_DIR}/inc ${HSA_RUNTIME_INC_PATH} ${HSA_RUNTIME_HSA_INC_PATH} ${HIP_INC_DIR} ${HCC_INC_DIR} ${HSA_KMT_INC_PATH} ${PROJECT_BINARY_DIR}/inc ) target_link_libraries ( ${TEST_LIB} ${ROCTRACER_TARGET} ${HSA_RUNTIME_LIB} c stdc++ dl pthread rt ) endif () diff --git a/test/MatrixTranspose/Makefile b/test/MatrixTranspose/Makefile index 647067dd47..9a805fb194 100644 --- a/test/MatrixTranspose/Makefile +++ b/test/MatrixTranspose/Makefile @@ -23,7 +23,7 @@ EXECUTABLE=./MatrixTranspose all: clean $(EXECUTABLE) -CXXFLAGS =-g -I$(INC_PATH) -DLOCAL_BUILD=1 --rocm-path=$(ROCM_PATH) +CXXFLAGS =-g $(INC_PATH:%=-I%) -DLOCAL_BUILD=1 --rocm-path=$(ROCM_PATH) CXX=$(HIPCC) $(EXECUTABLE): $(OBJECTS) diff --git a/test/MatrixTranspose_test/Makefile b/test/MatrixTranspose_test/Makefile index 3e879ee858..758f8d9431 100644 --- a/test/MatrixTranspose_test/Makefile +++ b/test/MatrixTranspose_test/Makefile @@ -17,7 +17,7 @@ TARGET=hcc EXECUTABLE=./MatrixTranspose OBJECTS = MatrixTranspose.o -FLAGS =-g -I$(INC_PATH) -I$(ROCM_PATH)/hsa/include/hsa -I$(ROCM_PATH)/hsa/include -I$(ROCM_PATH)/hip/include -I$(ROCM_PATH)/include -DLOCAL_BUILD=1 -DHIP_VDI=${HIP_VDI} -DITERATIONS=$(ITERATIONS) -DAMD_INTERNAL_BUILD=1 +FLAGS =-g $(INC_PATH:%=-I%) -I$(ROCM_PATH)/hsa/include/hsa -I$(ROCM_PATH)/hsa/include -I$(ROCM_PATH)/hip/include -I$(ROCM_PATH)/include -DLOCAL_BUILD=1 -DHIP_VDI=${HIP_VDI} -DITERATIONS=$(ITERATIONS) -DAMD_INTERNAL_BUILD=1 ifeq ($(C_TEST), 1) COMP=${CC} diff --git a/test/run.sh b/test/run.sh index c5c8aa4596..c593106135 100755 --- a/test/run.sh +++ b/test/run.sh @@ -1,4 +1,4 @@ -#!/bin/sh -x +#!/bin/sh ################################################################################ # Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. From c9ed0f067d779e89f94bb2d0a2d25618a69f4623 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Wed, 9 Sep 2020 01:44:51 -0500 Subject: [PATCH 420/691] gen_ostream_ops.py fix - ostream operators as inline static Change-Id: I9688236b06dd167960662b8eecf1a07c93b43fff --- script/gen_ostream_ops.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/script/gen_ostream_ops.py b/script/gen_ostream_ops.py index 900c36776c..73585ce89d 100755 --- a/script/gen_ostream_ops.py +++ b/script/gen_ostream_ops.py @@ -167,7 +167,7 @@ def gen_cppheader(infilepath, outfilepath, structs_depth): continue if len(cppHeader.classes[c]["properties"]["public"])!=0: if apiname.lower() == 'hip' or apiname.lower() == 'hsa': - f.write("std::ostream& operator<<(std::ostream& out, const " + c + "& v)\n") + f.write("inline static std::ostream& operator<<(std::ostream& out, const " + c + "& v)\n") f.write("{\n") f.write(" roctracer::" + apiname.lower() + "_support::operator<<(out, '{');\n") if structs_depth != -1: From 29da9a744d7da29fdb691d28ada3212647bb8379 Mon Sep 17 00:00:00 2001 From: Rachida Kebichi Date: Fri, 11 Sep 2020 14:25:21 -0400 Subject: [PATCH 421/691] Fix for trace checker Change-Id: Ib8a0df7b7bb0da2e68b5b4d99ce8025de169f317 --- script/check_trace.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/script/check_trace.py b/script/check_trace.py index 29baff8ab8..a4506a12f8 100644 --- a/script/check_trace.py +++ b/script/check_trace.py @@ -120,14 +120,14 @@ def diff_strings(cnt_r, cnt, metric): for evt2 in events_order[tid]: if diff_cnt == diff_cnt_r: if evt != evt2: - print (">I< Difference starts at index: " + str(diff_cnt_r) + ", tid_r " + str(tid_r) + ", tid " + str(tid) + ", with evts " + evt + " and " + evt2 + "\n") + print (">I< Difference starts at tid rank: " + str(cnt_tid) + " event index: " + str(diff_cnt_r) + ", tid_r " + str(tid_r) + ", tid " + str(tid) + ", with evts " + evt + " and " + evt2 + "\n") found_diff_evt = 1 break diff_cnt += 1 diff_cnt_r += 1 if found_diff_evt: break if len(events_order_r[tid_r]) != len(events_order[tid]) and found_diff_evt == 0: - print (">I< Difference starts at index: " + str(min(len(events_order_r[tid_r]), len(events_order[tid]))) + ", with missing evts\n") + print (">I< Difference starts at tid rank: " + str(cnt_tid) + " event index: " + str(min(len(events_order_r[tid_r]), len(events_order[tid]))) + ", with missing evts\n") break cnt_tid += 1 cnt_tid_r += 1 @@ -292,6 +292,10 @@ def gen_events_info(tracefile, trace_level, no_events_cnt, events2ignore, events if metric == 'or': for tid in sorted (events_order.keys()) : res = res + str(events_order[tid]) + if metric == 'cnt': + newres = res.split('\n') + newres = sorted(newres) + res = str(newres) return res parser = argparse.ArgumentParser(description='check_trace.py: check a trace aainst golden ref. Returns 0 for success, 1 for failure') From bada601e640f2df774361c274be9a2166cb9dfbc Mon Sep 17 00:00:00 2001 From: Evgeny Date: Wed, 16 Sep 2020 20:32:18 -0400 Subject: [PATCH 422/691] testing using v3 object Change-Id: Ifca31d632726ab83f4c672b46cd9b97f817e757d --- test/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index c1b56c0cda..ce003b7cc9 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -44,7 +44,7 @@ endif () ## Path to HSA test set ( HSA_TEST_DIR "${TEST_DIR}/hsa/test" ) -set ( HSA_REV "a657002" ) +set ( HSA_REV "19b1191" ) ## test run script set ( RUN_SCRIPT "${TEST_DIR}/run.sh" ) From 6567c48e98b0cf3a10ff46bf411057642c307990 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Sat, 19 Sep 2020 16:49:46 -0500 Subject: [PATCH 423/691] codeobj tracing prof protocol Change-Id: Ib49c8ee034fb7481b21f950490e10b350f2a1b79 --- inc/ext/prof_protocol.h | 1 + 1 file changed, 1 insertion(+) diff --git a/inc/ext/prof_protocol.h b/inc/ext/prof_protocol.h index c29ff0e65a..1c00e97252 100644 --- a/inc/ext/prof_protocol.h +++ b/inc/ext/prof_protocol.h @@ -36,6 +36,7 @@ typedef enum { ACTIVITY_DOMAIN_KFD_API = 4, // KFD API domain ACTIVITY_DOMAIN_EXT_API = 5, // External ID domain ACTIVITY_DOMAIN_ROCTX = 6, // ROCTX domain + ACTIVITY_DOMAIN_HSA_EVT = 7, // HSA events ACTIVITY_DOMAIN_NUMBER } activity_domain_t; From 8bdf282645d40d178d929751f4969ab9d52d69d2 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Fri, 11 Sep 2020 10:29:06 -0500 Subject: [PATCH 424/691] HCC_HOME env cleanup Change-Id: I2b00e5d310e6349fc52d5df60aae85f4c06adebe --- README.md | 3 +-- build.sh | 1 - build_static.sh | 1 - cmake_modules/env.cmake | 8 +------- run_test.sh | 1 - 5 files changed, 2 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index 8f3e848113..e700ee403a 100644 --- a/README.md +++ b/README.md @@ -57,9 +57,8 @@ rocTX API: - Set environment: export CMAKE_PREFIX_PATH=/opt/rocm - - To use custom HIP/HCC versions: + - To use custom HIP version: export HIP_PATH=/opt/rocm/hip - export HCC_HOME=/opt/rocm/hcc - To build roctracer library: export CMAKE_BUILD_TYPE= # release by default diff --git a/build.sh b/build.sh index cae5a59a28..a52012755c 100755 --- a/build.sh +++ b/build.sh @@ -17,7 +17,6 @@ if [ -e "$DEFAULTS" ] ; then source "$DEFAULTS"; fi if [ -z "$ROCTRACER_ROOT" ]; then ROCTRACER_ROOT=$SRC_DIR; fi if [ -z "$BUILD_DIR" ] ; then BUILD_DIR=$PWD; fi if [ -z "$HIP_PATH" ] ; then export HIP_PATH="$ROCM_PATH/hip"; fi -if [ -z "$HCC_HOME" ] ; then export HCC_HOME="$ROCM_PATH/hcc"; fi if [ -z "$BUILD_TYPE" ] ; then BUILD_TYPE="release"; fi if [ -z "$PACKAGE_ROOT" ] ; then PACKAGE_ROOT=$ROCM_PATH; fi if [ -z "$PACKAGE_PREFIX" ] ; then PACKAGE_PREFIX="$ROCM_PATH/$COMPONENT"; fi diff --git a/build_static.sh b/build_static.sh index 938df3ce99..bb6ecf29b6 100755 --- a/build_static.sh +++ b/build_static.sh @@ -17,7 +17,6 @@ if [ -e "$DEFAULTS" ] ; then source "$DEFAULTS"; fi if [ -z "$ROCTRACER_ROOT" ]; then ROCTRACER_ROOT=$SRC_DIR; fi if [ -z "$BUILD_DIR" ] ; then BUILD_DIR=$PWD; fi if [ -z "$HIP_PATH" ] ; then export HIP_PATH="$ROCM_PATH/hip"; fi -if [ -z "$HCC_HOME" ] ; then export HCC_HOME="$ROCM_PATH/hcc"; fi if [ -z "$BUILD_TYPE" ] ; then BUILD_TYPE="release"; fi if [ -z "$PACKAGE_ROOT" ] ; then PACKAGE_ROOT=$ROCM_PATH; fi if [ -z "$PACKAGE_PREFIX" ] ; then PACKAGE_PREFIX="$ROCM_PATH/$COMPONENT"; fi diff --git a/cmake_modules/env.cmake b/cmake_modules/env.cmake index 8dbf2c9ccf..41f6253afc 100644 --- a/cmake_modules/env.cmake +++ b/cmake_modules/env.cmake @@ -89,7 +89,7 @@ else() set ( HIP_DEFINES "-D__HIP_PLATFORM_HCC__=1") endif() -## Enable HIP/HCC local build +## Enable HIP local build if ( DEFINED LOCAL_BUILD ) add_definitions ( -DLOCAL_BUILD=${LOCAL_BUILD} ) else() @@ -114,15 +114,10 @@ if ( NOT DEFINED CMAKE_PREFIX_PATH AND DEFINED ENV{CMAKE_PREFIX_PATH} ) endif() set ( ENV{CMAKE_PREFIX_PATH} ${CMAKE_PREFIX_PATH} ) -set ( HCC_HOME "/opt/rocm/hcc" ) set ( HIP_PATH "/opt/rocm/hip" ) -if ( DEFINED ENV{HCC_HOME} ) - set ( HCC_HOME $ENV{HCC_HOME} ) -endif() if ( DEFINED ENV{HIP_PATH} ) set ( HIP_PATH $ENV{HIP_PATH} ) endif() -set ( HCC_INC_DIR "${HCC_HOME}/include" ) set ( HIP_INC_DIR "${HIP_PATH}/include" ) ## Extend Compiler flags based on build type @@ -170,7 +165,6 @@ message ( "-----HSA-Runtime-Lib: ${HSA_RUNTIME_LIB_PATH}" ) message ( "----HSA_KMT_LIB_PATH: ${HSA_KMT_LIB_PATH}" ) message ( "-------ROCM_ROOT_DIR: ${ROCM_ROOT_DIR}" ) message ( "-------------KFD-Inc: ${HSA_KMT_INC_PATH}" ) -message ( "-------------HCC-Inc: ${HCC_INC_DIR}" ) message ( "-------------HIP-Inc: ${HIP_INC_DIR}" ) message ( "-------------HIP-VDI: ${HIP_VDI}" ) message ( "-----CMAKE_CXX_FLAGS: ${CMAKE_CXX_FLAGS}" ) diff --git a/run_test.sh b/run_test.sh index c2ea74a6c5..61f1b3013b 100755 --- a/run_test.sh +++ b/run_test.sh @@ -7,7 +7,6 @@ fatal() { } if [ -z "$BUILD_DIR" ] ; then export BUILD_DIR=$PWD; fi -if [ -z "$HCC_HOME" ] ; then export HCC_HOME="$ROCM_PATH/hcc"; fi cd $BUILD_DIR ./run.sh From 1d975e5ba587fdcb24e3ee0ae4b3ae9202a756de Mon Sep 17 00:00:00 2001 From: Evgeny Date: Fri, 25 Sep 2020 09:00:53 -0500 Subject: [PATCH 425/691] SWDEV-253997 : packaging fix: installing hsa_ostream_ops.h Change-Id: Ib739cbb7538473afc9744e12d2bd568635e78616 --- CMakeLists.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 97c06cf9dd..fe3cecde42 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -106,8 +106,9 @@ set ( PUBLIC_HEADERS set ( GEN_HEADERS hip_ostream_ops.h hsa_prof_str.h - kfd_ostream_ops.h + hsa_ostream_ops.h kfd_prof_str.h + kfd_ostream_ops.h ) if ( ${LIBRARY_TYPE} STREQUAL SHARED ) From 95626753825d15ece247898fb2acc07b4c40d41f Mon Sep 17 00:00:00 2001 From: Evgeny Date: Thu, 1 Oct 2020 01:28:43 -0400 Subject: [PATCH 426/691] SWDEV-251491 : gen_ostream_ops.py porting to python3 Change-Id: I7081b6ad21b038040267067bd73d8a44df46e4ff --- script/gen_ostream_ops.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/script/gen_ostream_ops.py b/script/gen_ostream_ops.py index 73585ce89d..c8f23629ab 100755 --- a/script/gen_ostream_ops.py +++ b/script/gen_ostream_ops.py @@ -1,4 +1,4 @@ -#!/usr/bin/python +#!/usr/bin/python3 import os, sys, re import CppHeaderParser @@ -176,9 +176,9 @@ def gen_cppheader(infilepath, outfilepath, structs_depth): process_struct(f, c, cppHeader, "", apiname) global_str = "\n".join(global_str.split("\n")[0:-2]) if structs_depth != -1: #reindent - global_str = string.split(global_str, '\n') - global_str = [' ' + string.lstrip(line) for line in global_str] - global_str = string.join(global_str, '\n') + global_str = global_str.split('\n') + global_str = [' ' + line.lstrip() for line in global_str] + global_str = "\n".join(global_str) f.write(global_str+"\n") if structs_depth != -1: f.write(" };\n") @@ -199,9 +199,9 @@ def gen_cppheader(infilepath, outfilepath, structs_depth): process_struct(f, c, cppHeader, "", apiname) global_str = "\n".join(global_str.split("\n")[0:-2]) if structs_depth != -1: #reindent - global_str = string.split(global_str, '\n') - global_str = [' ' + string.lstrip(line) for line in global_str] - global_str = string.join(global_str, '\n') + global_str = global_str.split('\n') + global_str = [' ' + line.lstrip() for line in global_str] + global_str = "\n".join(global_str) f.write(global_str+"\n") if structs_depth != -1: f.write(" };\n") From bb8f2f67858d68b13b00696b2798857676201210 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Thu, 1 Oct 2020 05:58:50 -0400 Subject: [PATCH 427/691] SWDEV-251491 : disabling hipModuleUnload tracing which is called on exit Change-Id: I99c22eec3fea6ac8820d574c44df099febdd27c4 --- test/tool/tracer_tool.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/test/tool/tracer_tool.cpp b/test/tool/tracer_tool.cpp index ad8660129f..4aa1b68210 100644 --- a/test/tool/tracer_tool.cpp +++ b/test/tool/tracer_tool.cpp @@ -1065,6 +1065,7 @@ extern "C" PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, if (trace_hip_api) { hip_api_file_handle = open_output_file(output_prefix, "hip_api_trace.txt"); ROCTRACER_CALL(roctracer_enable_domain_callback(ACTIVITY_DOMAIN_HIP_API, hip_api_callback, NULL)); + ROCTRACER_CALL(roctracer_disable_op_callback(ACTIVITY_DOMAIN_HIP_API, HIP_API_ID_hipModuleUnload)); if (is_stats_opt) { const char* path = NULL; From ef61a396030130f67f963ed0a666e14a3490ee7c Mon Sep 17 00:00:00 2001 From: Evgeny Date: Tue, 22 Sep 2020 06:20:08 -0400 Subject: [PATCH 428/691] SWDEV-249924 : hip correlation id explicite propogation; tracer debug instrumentation; Change-Id: Ibbc411541f5610ce739f3fc1efa1ab7f605220f5 initial commmit Change-Id: I34b360be62c2083819dc5c3acc8268bd69f2f58a --- cmake_modules/env.cmake | 5 ++++- src/core/roctracer.cpp | 37 ++++++++++++++++++++++++------ src/util/logger.h | 18 ++++++++++++++- test/tool/tracer_tool.cpp | 47 ++++++++++++++++++++++++++++++--------- 4 files changed, 88 insertions(+), 19 deletions(-) diff --git a/cmake_modules/env.cmake b/cmake_modules/env.cmake index 41f6253afc..405f2665cf 100644 --- a/cmake_modules/env.cmake +++ b/cmake_modules/env.cmake @@ -61,8 +61,11 @@ if ( "$ENV{CXX}" STREQUAL "/usr/bin/clang++" ) endif() ## Enable debug trace +if ( DEFINED CMAKE_DEBUG_TRACE ) + add_definitions ( -DDEBUG_TRACE_ON=1 ) +endif() if ( DEFINED ENV{CMAKE_DEBUG_TRACE} ) - add_definitions ( -DDEBUG_TRACE=1 ) + add_definitions ( -DDEBUG_TRACE_ON=1 ) endif() if ( NOT DEFINED LIBRARY_TYPE ) diff --git a/src/core/roctracer.cpp b/src/core/roctracer.cpp index 52f1e28bf4..21f4b6674d 100644 --- a/src/core/roctracer.cpp +++ b/src/core/roctracer.cpp @@ -95,6 +95,7 @@ THE SOFTWARE. static inline uint32_t GetPid() { return syscall(__NR_getpid); } +static inline uint32_t GetTid() { return syscall(__NR_gettid); } /////////////////////////////////////////////////////////////////////////////////////////////////// // Mark callback @@ -294,13 +295,19 @@ static inline void CorrelationIdRegistr(const activity_correlation_id_t& correla if (correlation_id_map == NULL) correlation_id_map = new correlation_id_map_t; const auto ret = correlation_id_map->insert({correlation_id, correlation_id_tls}); if (ret.second == false) EXC_ABORT(ROCTRACER_STATUS_ERROR, "HCC activity id is not unique(" << correlation_id << ")"); + + DEBUG_TRACE("CorrelationIdRegistr id(%lu) id_tls(%lu)\n", correlation_id, correlation_id_tls); } static inline activity_correlation_id_t CorrelationIdLookup(const activity_correlation_id_t& correlation_id) { auto it = correlation_id_map->find(correlation_id); if (correlation_id_wait) while (it == correlation_id_map->end()) it = correlation_id_map->find(correlation_id); if (it == correlation_id_map->end()) EXC_ABORT(ROCTRACER_STATUS_ERROR, "HCC activity id lookup failed(" << correlation_id << ")"); - return it->second; + const activity_correlation_id_t ret_val = it->second; + + DEBUG_TRACE("CorrelationIdLookup id(%lu) ret(%lu)\n", correlation_id, ret_val); + + return ret_val; } typedef std::mutex hip_activity_mutex_t; @@ -341,6 +348,7 @@ void* HIP_SyncApiDataCallback( const void* callback_data, void* arg) { + void* ret = NULL; const hip_api_data_t* data = reinterpret_cast(callback_data); hip_api_data_t* data_ptr = const_cast(data); MemoryPool* pool = reinterpret_cast(arg); @@ -375,16 +383,20 @@ void* HIP_SyncApiDataCallback( // Passing correlatin ID correlation_id_tls = correlation_id; - return data_ptr; + ret = data_ptr; } else { // popping the record entry if (!record_pair_stack.empty()) record_pair_stack.pop(); // Clearing correlatin ID correlation_id_tls = 0; - - return NULL; } + + const char * name = roctracer_op_string(ACTIVITY_DOMAIN_HIP_API, op_id, 0); + DEBUG_TRACE("HIP_SyncApiDataCallback(\"%s\") phase(%d): op(%u) record(%p) data(%p) pool(%p) depth(%d) correlation_id(%lu)\n", + name, phase, op_id, record, data, pool, (int)(record_pair_stack.size()), (data_ptr) ? data_ptr->correlation_id : 0); + + return ret; } void* HIP_SyncActivityCallback( @@ -395,6 +407,7 @@ void* HIP_SyncActivityCallback( { static hsa_rt_utils::Timer timer; + void* ret = NULL; const hip_api_data_t* data = reinterpret_cast(callback_data); hip_api_data_t* data_ptr = const_cast(data); MemoryPool* pool = reinterpret_cast(arg); @@ -436,7 +449,7 @@ void* HIP_SyncActivityCallback( // Passing correlatin ID correlation_id_tls = correlation_id; - return data_ptr; + ret = data_ptr; } else { if (pool == NULL) EXC_ABORT(ROCTRACER_STATUS_ERROR, "ActivityCallback exit: pool is NULL"); @@ -469,9 +482,13 @@ void* HIP_SyncActivityCallback( // Clearing correlatin ID correlation_id_tls = 0; - - return NULL; } + + const char * name = roctracer_op_string(ACTIVITY_DOMAIN_HIP_API, op_id, 0); + DEBUG_TRACE("HIP_SyncActivityCallback(\"%s\") phase(%d): op(%u) record(%p) data(%p) pool(%p) depth(%d) correlation_id(%lu)\n", + name, phase, op_id, record, data, pool, (int)(record_pair_stack.size()), (data_ptr) ? data_ptr->correlation_id : 0); + + return ret; } void HCC_ActivityIdCallback(activity_correlation_id_t correlation_id) { @@ -484,6 +501,10 @@ void HCC_AsyncActivityCallback(uint32_t op_id, void* record, void* arg) { record_ptr->domain = ACTIVITY_DOMAIN_HCC_OPS; record_ptr->correlation_id = CorrelationIdLookup(record_ptr->correlation_id); pool->Write(*record_ptr); + + const char * name = roctracer_op_string(ACTIVITY_DOMAIN_HCC_OPS, record_ptr->op, record_ptr->kind); + DEBUG_TRACE("HCC_AsyncActivityCallback(\"%s\"): op(%u) kind(%u) record(%p) pool(%p) correlation_id(%d)\n", + name, record_ptr->op, record_ptr->kind, record, pool, record_ptr->correlation_id); } // Open output file @@ -673,6 +694,8 @@ PUBLIC_API const char* roctracer_op_string( return roctracer::HipLoader::Instance().ApiName(op); case ACTIVITY_DOMAIN_KFD_API: return roctracer::kfd_support::GetApiName(op); + case ACTIVITY_DOMAIN_EXT_API: + return "EXT_API"; default: EXC_RAISING(ROCTRACER_STATUS_BAD_DOMAIN, "invalid domain ID(" << domain << ")"); } diff --git a/src/util/logger.h b/src/util/logger.h index cd8dd470c3..8e525f68ea 100644 --- a/src/util/logger.h +++ b/src/util/logger.h @@ -100,10 +100,10 @@ class Logger { return *obj; } - private: static uint32_t GetPid() { return syscall(__NR_getpid); } static uint32_t GetTid() { return syscall(__NR_gettid); } + private: Logger() : file_(NULL), dirty_(false), streaming_(false), messaging_(false) { const char* path = getenv("ROCTRACER_LOG"); if (path != NULL) { @@ -198,4 +198,20 @@ class Logger { } while(0) #endif +#if DEBUG_TRACE_ON +inline static void DEBUG_TRACE(const char* fmt, ...) { + constexpr int size = 256; + char buf[size]; + + va_list valist; + va_start(valist, fmt); + vsnprintf(buf, size, fmt, valist); + printf("%u:%u %s", + roctracer::util::Logger::GetPid(), roctracer::util::Logger::GetTid(), buf); fflush(stdout); + va_end(valist); +} +#else +inline static void DEBUG_TRACE(const char* fmt, ...) {} +#endif + #endif // SRC_UTIL_LOGGER_H_ diff --git a/test/tool/tracer_tool.cpp b/test/tool/tracer_tool.cpp index 4aa1b68210..d6be6f4fc0 100644 --- a/test/tool/tracer_tool.cpp +++ b/test/tool/tracer_tool.cpp @@ -26,6 +26,7 @@ THE SOFTWARE. #include /* names denangle */ #include #include +#include #include #include #include /* SYS_xxx definitions */ @@ -78,6 +79,24 @@ THE SOFTWARE. #define ONLOAD_TRACE_BEG() ONLOAD_TRACE("begin") #define ONLOAD_TRACE_END() ONLOAD_TRACE("end") +static inline uint32_t GetPid() { return syscall(__NR_getpid); } +static inline uint32_t GetTid() { return syscall(__NR_gettid); } + +#if DEBUG_TRACE_ON +inline static void DEBUG_TRACE(const char* fmt, ...) { + constexpr int size = 256; + char buf[size]; + + va_list valist; + va_start(valist, fmt); + vsnprintf(buf, size, fmt, valist); + printf("%u:%u %s", GetPid(), GetTid(), buf); fflush(stdout); + va_end(valist); +} +#else +inline static void DEBUG_TRACE(const char* fmt, ...) {} +#endif + typedef hsa_rt_utils::Timer::timestamp_t timestamp_t; hsa_rt_utils::Timer* timer = NULL; thread_local timestamp_t hsa_begin_timestamp = 0; @@ -125,9 +144,6 @@ void close_file_handles() { if (pc_sample_file_handle) close_output_file(pc_sample_file_handle); } -static inline uint32_t GetPid() { return syscall(__NR_getpid); } -static inline uint32_t GetTid() { return syscall(__NR_gettid); } - static const uint32_t my_pid = GetPid(); // Error handler @@ -378,19 +394,20 @@ void hip_api_callback( { (void)arg; const hip_api_data_t* data = reinterpret_cast(callback_data); + const timestamp_t timestamp = timer->timestamp_fn_ns(); + hip_api_trace_entry_t* entry = NULL; if (data->phase == ACTIVITY_API_PHASE_ENTER) { - hip_begin_timestamp = timer->timestamp_fn_ns(); + hip_begin_timestamp = timestamp; } else { // Post onit of HIP APU args hipApiArgsInit((hip_api_id_t)cid, const_cast(data)); - const timestamp_t end_timestamp = timer->timestamp_fn_ns(); - hip_api_trace_entry_t* entry = hip_api_trace_buffer->GetEntry(); + entry = hip_api_trace_buffer->GetEntry(); entry->cid = cid; entry->domain = domain; entry->begin = hip_begin_timestamp; - entry->end = end_timestamp; + entry->end = timestamp; entry->pid = GetPid(); entry->tid = GetTid(); entry->data = *data; @@ -435,6 +452,10 @@ void hip_api_callback( entry->valid.store(roctracer::TRACE_ENTRY_COMPL, std::memory_order_release); } + + const char * name = roctracer_op_string(domain, cid, 0); + DEBUG_TRACE("hip_api_callback(\"%s\") phase(%d): cid(%u) data(%p) entry(%p) name(\"%s\") correlation_id(%lu)\n", + name, data->phase, cid, data, entry, (entry) ? entry->name : NULL, data->correlation_id); } void mark_api_callback( @@ -465,12 +486,10 @@ hip_kernel_map_t* hip_kernel_map = NULL; std::mutex hip_kernel_mutex; void hip_api_flush_cb(hip_api_trace_entry_t* entry) { - static uint64_t correlation_id = 0; - correlation_id += 1; - const uint32_t domain = entry->domain; const uint32_t cid = entry->cid; const hip_api_data_t* data = &(entry->data); + const uint64_t correlation_id = data->correlation_id; const timestamp_t begin_timestamp = entry->begin; const timestamp_t end_timestamp = entry->end; std::ostringstream rec_ss; @@ -480,6 +499,10 @@ void hip_api_flush_cb(hip_api_trace_entry_t* entry) { rec_ss << std::dec << begin_timestamp << ":" << end_timestamp << " " << entry->pid << ":" << entry->tid; oss << std::dec << rec_ss.str() << " " << str; + const char * name = roctracer_op_string(entry->domain, entry->cid, 0); + DEBUG_TRACE("hip_api_flush_cb(\"%s\"): domain(%u) cid(%u) entry(%p) name(\"%s\" correlation_id(%lu))\n", + name, entry->domain, entry->cid, entry, entry->name, correlation_id); + if (domain == ACTIVITY_DOMAIN_HIP_API) { #if HIP_PROF_HIP_API_STRING if (hip_api_stats != NULL) { @@ -496,6 +519,7 @@ void hip_api_flush_cb(hip_api_trace_entry_t* entry) { const char* kernel_name = cxx_demangle(entry->name); rec_ss << " kernel=" << kernel_name; } + rec_ss<< " :" << correlation_id; fprintf(hip_api_file_handle, "%s\n", rec_ss.str().c_str()); } #else // !HIP_PROF_HIP_API_STRING @@ -607,6 +631,9 @@ void pool_activity_callback(const char* begin, const char* end, void* arg) { while (record < end_record) { const char * name = roctracer_op_string(record->domain, record->op, record->kind); + DEBUG_TRACE("pool_activity_callback(\"%s\"): domain(%u) op(%u) kind(%u) record(%p) correlation_id(%lu)\n", + name, record->domain, record->op, record->kind, record, record->correlation_id); + switch(record->domain) { case ACTIVITY_DOMAIN_HCC_OPS: if (hip_memcpy_stats != NULL) { From 9061c4ea414b78b71fa1dc0d0869b7519b366e73 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Wed, 23 Sep 2020 02:52:06 -0400 Subject: [PATCH 429/691] hip library loader check Change-Id: I34957db88932e1ed725a0a0d8ca9a66fecc92e38 --- src/core/loader.h | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/core/loader.h b/src/core/loader.h index 5d6e0d6cf2..d1f2ef01c6 100644 --- a/src/core/loader.h +++ b/src/core/loader.h @@ -291,7 +291,6 @@ typedef HipLoaderShared HipLoader; template bool roctracer::BaseLoader::to_check_symb_ = true; \ template<> const char* roctracer::RocpLoader::lib_name_ = "librocprofiler64.so"; \ template<> const char* roctracer::HccLoader::lib_name_ = "libamdhip64.so"; \ - template<> bool roctracer::HccLoader::to_check_open_ = false; \ template<> const char* roctracer::KfdLoader::lib_name_ = "libkfdwrapper64.so"; \ template<> const char* roctracer::RocTxLoader::lib_name_ = "libroctx64.so"; \ template<> bool roctracer::RocTxLoader::to_load_ = true; @@ -302,8 +301,7 @@ typedef HipLoaderShared HipLoader; roctracer::HipLoaderStatic::instance_t roctracer::HipLoaderStatic::instance_{}; #else #define LOADER_INSTANTIATE_HIP() \ - template<> const char* roctracer::HipLoaderShared::lib_name_ = "libamdhip64.so"; \ - template<> bool roctracer::HipLoaderShared::to_check_open_ = false; + template<> const char* roctracer::HipLoaderShared::lib_name_ = "libamdhip64.so"; #endif #if HIP_VDI From 29c63c52816432de0418bec51e27b91998ac5f76 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Thu, 3 Sep 2020 04:01:28 -0500 Subject: [PATCH 430/691] SWDEV-213367 : codeobj event implementation Change-Id: Ibcaca6869ce96d8802c5fa8ba241f43834d6f2a7 update - codeobj event implementation Change-Id: I4c12f26a19f2b31d9ac2211c3426a0e587a332b3 update2 - codeobj event implementation Change-Id: Ic877549a83542ae00352503471d881e847ebac9c test - codeobj event implementation Change-Id: I0618d3a93de94c3d7467372ba4a3d4ea5520bfc7 URI reference test - codeobj event implementation Change-Id: I6cf7e8a648cf012cb0708058b118a75e58f992b9 adding test/app - codeobj event implementation Change-Id: Idf4c197c7b9116ccde5ec50ff47a26a858bfab32 uri test fix - codeobj event implementation Change-Id: I7c385f82f516d9d8f2cd726366f00be3664006e3 uri test cleanup - codeobj event implementation Change-Id: I542d5baf88c048c8b4717af843b803cd93e8f3bc URI buffer fix - codeobj event implementation Change-Id: Iac65e04c03a0939935c10f53c6b580a2e33878f5 HSA events tests trace-check disabled Change-Id: I0f4d13aeeceb1d1a6e2191673eacbf9c7ae2ae52 --- cmake_modules/env.cmake | 7 +- inc/roctracer_hsa.h | 3 +- src/CMakeLists.txt | 9 +- src/core/loader.h | 9 + src/core/roctracer.cpp | 20 +- test/CMakeLists.txt | 19 +- test/app/codeobj_test.cpp | 89 ++ test/app/hsaco_test.cpp | 134 ++ .../MatrixTranspose_hip_flush_trace.txt | 1315 +++++++++++++---- test/golden_traces/tests_trace_cmp_levels.txt | 2 + test/run.sh | 7 + 11 files changed, 1297 insertions(+), 317 deletions(-) create mode 100644 test/app/codeobj_test.cpp create mode 100644 test/app/hsaco_test.cpp diff --git a/cmake_modules/env.cmake b/cmake_modules/env.cmake index 405f2665cf..f9fbb436c8 100644 --- a/cmake_modules/env.cmake +++ b/cmake_modules/env.cmake @@ -151,10 +151,10 @@ get_filename_component ( HSA_RUNTIME_LIB_PATH "${HSA_RUNTIME_LIB}" DIRECTORY ) find_library ( HSA_KMT_LIB "libhsakmt.so" ) get_filename_component ( HSA_KMT_LIB_PATH "${HSA_KMT_LIB}" DIRECTORY ) -get_filename_component ( ROCM_ROOT_DIR "${HSA_KMT_LIB_PATH}" DIRECTORY ) - set ( HSA_KMT_INC_PATH "${HSA_KMT_LIB_PATH}/../include" ) -set ( ROCM_INC_PATH "${HSA_KMT_INC_PATH}" ) + +get_filename_component ( ROCM_ROOT_DIR "${HSA_KMT_LIB_PATH}" DIRECTORY ) +set ( ROCM_INC_PATH "${ROCM_ROOT_DIR}/include" ) ## Basic Tool Chain Information message ( "----------------NBit: ${NBIT}" ) @@ -167,6 +167,7 @@ message ( "-----HSA-Runtime-Inc: ${HSA_RUNTIME_INC_PATH}" ) message ( "-----HSA-Runtime-Lib: ${HSA_RUNTIME_LIB_PATH}" ) message ( "----HSA_KMT_LIB_PATH: ${HSA_KMT_LIB_PATH}" ) message ( "-------ROCM_ROOT_DIR: ${ROCM_ROOT_DIR}" ) +message ( "-------ROCM_INC_PATH: ${ROCM_INC_PATH}" ) message ( "-------------KFD-Inc: ${HSA_KMT_INC_PATH}" ) message ( "-------------HIP-Inc: ${HIP_INC_DIR}" ) message ( "-------------HIP-VDI: ${HIP_VDI}" ) diff --git a/inc/roctracer_hsa.h b/inc/roctracer_hsa.h index b9b0cf9866..d9daa5e550 100644 --- a/inc/roctracer_hsa.h +++ b/inc/roctracer_hsa.h @@ -27,6 +27,7 @@ THE SOFTWARE. #include #include +#include // HSA OP ID enumeration enum hsa_op_id_t { @@ -34,7 +35,7 @@ enum hsa_op_id_t { HSA_OP_ID_COPY = 1, HSA_OP_ID_BARRIER = 2, HSA_OP_ID_RESERVED1 = 3, - HSA_OP_ID_NUMBER = 4 + HSA_OP_ID_NUMBER }; #ifdef __cplusplus diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index c794c49177..e9c72f8422 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -11,6 +11,9 @@ execute_process ( COMMAND sh -xc "${CMAKE_C_COMPILER} -E ${HIP_PATH}/include/hip execute_process ( COMMAND sh -xc "${ROOT_DIR}/script/gen_ostream_ops.py -in ${GEN_INC_DIR}/hip_runtime_api_pp.h -out ${GEN_INC_DIR}/hip_ostream_ops.h" ) execute_process ( COMMAND sh -xc "${CMAKE_C_COMPILER} -E ${HSA_RUNTIME_INC_PATH}/hsa.h > ${GEN_INC_DIR}/hsa_pp.h" ) execute_process ( COMMAND sh -xc "${ROOT_DIR}/script/gen_ostream_ops.py -in ${GEN_INC_DIR}/hsa_pp.h -out ${GEN_INC_DIR}/hsa_ostream_ops.h" ) +execute_process ( COMMAND sh -xc "mkdir ${GEN_INC_DIR}/rocprofiler" ) +execute_process ( COMMAND sh -xc "ln -s ${ROOT_DIR}/../rocprofiler/inc/rocprofiler.h ${GEN_INC_DIR}/rocprofiler/rocprofiler.h" ) +execute_process ( COMMAND sh -xc "ln -s ${ROOT_DIR}/../rocprofiler/src/core/activity.h ${GEN_INC_DIR}/rocprofiler/activity.h" ) # Build dynamic Library object set ( TARGET_LIB ${TARGET_NAME} ) @@ -22,14 +25,14 @@ set ( LIB_SRC ${LIB_DIR}/util/hsa_rsrc_factory.cpp ) add_library ( ${TARGET_LIB} ${LIBRARY_TYPE} ${LIB_SRC} ) -target_include_directories ( ${TARGET_LIB} PRIVATE ${LIB_DIR} ${ROOT_DIR} ${ROOT_DIR}/inc ${HSA_RUNTIME_INC_PATH} ${HSA_RUNTIME_HSA_INC_PATH} ${HIP_INC_DIR} ${HCC_INC_DIR} ${HSA_KMT_INC_PATH} ${GEN_INC_DIR} ) +target_include_directories ( ${TARGET_LIB} PRIVATE ${LIB_DIR} ${ROOT_DIR} ${ROOT_DIR}/inc ${HSA_RUNTIME_INC_PATH} ${HIP_INC_DIR} ${HSA_KMT_INC_PATH} ${ROCM_INC_PATH} ${GEN_INC_DIR} ) target_link_libraries( ${TARGET_LIB} PRIVATE ${HSA_RUNTIME_LIB} c stdc++ ) # Build KFD/Thunk tracing library set ( KFD_LIB "kfdwrapper64" ) set ( KFD_LIB_SRC ${GEN_SRC_DIR}/kfd_wrapper.cpp) add_library ( ${KFD_LIB} SHARED ${KFD_LIB_SRC} ) -target_include_directories ( ${KFD_LIB} PRIVATE ${LIB_DIR} ${ROOT_DIR} ${ROOT_DIR}/inc ${HSA_RUNTIME_INC_PATH} ${HSA_RUNTIME_HSA_INC_PATH} ${HSA_KMT_INC_PATH} ${GEN_INC_DIR} ) +target_include_directories ( ${KFD_LIB} PRIVATE ${LIB_DIR} ${ROOT_DIR} ${ROOT_DIR}/inc ${HSA_RUNTIME_INC_PATH} ${HSA_KMT_INC_PATH} ${GEN_INC_DIR} ) target_link_libraries( ${KFD_LIB} PRIVATE c stdc++ ) # Build ROCTX tracing library @@ -39,5 +42,5 @@ set ( ROCTX_LIB_SRC ${LIB_DIR}/roctx/roctx_intercept.cpp ) add_library ( ${ROCTX_LIB} SHARED ${ROCTX_LIB_SRC} ) -target_include_directories ( ${ROCTX_LIB} PRIVATE ${LIB_DIR} ${ROOT_DIR} ${ROOT_DIR}/inc ${HSA_RUNTIME_INC_PATH} ${HSA_RUNTIME_HSA_INC_PATH} ${GEN_INC_DIR} ) +target_include_directories ( ${ROCTX_LIB} PRIVATE ${LIB_DIR} ${ROOT_DIR} ${ROOT_DIR}/inc ${HSA_RUNTIME_INC_PATH} ${GEN_INC_DIR} ) target_link_libraries( ${ROCTX_LIB} PRIVATE c stdc++ ) diff --git a/src/core/loader.h b/src/core/loader.h index d1f2ef01c6..946521d130 100644 --- a/src/core/loader.h +++ b/src/core/loader.h @@ -94,6 +94,10 @@ class RocpApi { EnableCallback_t* EnableActivityCallback; NameCallback_t* GetOpName; + RegisterCallback_t* RegisterEvtCallback; + OperateCallback_t* RemoveEvtCallback; + NameCallback_t* GetEvtName; + protected: void init(Loader* loader) { RegisterApiCallback = loader->GetFun("RegisterApiCallback"); @@ -101,6 +105,10 @@ class RocpApi { InitActivityCallback = loader->GetFun("InitActivityCallback"); EnableActivityCallback = loader->GetFun("EnableActivityCallback"); GetOpName = loader->GetFun("GetOpName"); + + RegisterEvtCallback = loader->GetFun("RegisterEvtCallback"); + RemoveEvtCallback = loader->GetFun("RemoveEvtCallback"); + GetEvtName = loader->GetFun("GetEvtName"); } }; @@ -290,6 +298,7 @@ typedef HipLoaderShared HipLoader; template bool roctracer::BaseLoader::to_check_open_ = true; \ template bool roctracer::BaseLoader::to_check_symb_ = true; \ template<> const char* roctracer::RocpLoader::lib_name_ = "librocprofiler64.so"; \ + template<> bool roctracer::RocpLoader::to_load_ = true; \ template<> const char* roctracer::HccLoader::lib_name_ = "libamdhip64.so"; \ template<> const char* roctracer::KfdLoader::lib_name_ = "libkfdwrapper64.so"; \ template<> const char* roctracer::RocTxLoader::lib_name_ = "libroctx64.so"; \ diff --git a/src/core/roctracer.cpp b/src/core/roctracer.cpp index 21f4b6674d..2754b97173 100644 --- a/src/core/roctracer.cpp +++ b/src/core/roctracer.cpp @@ -686,6 +686,8 @@ PUBLIC_API const char* roctracer_op_string( switch (domain) { case ACTIVITY_DOMAIN_HSA_API: return roctracer::hsa_support::GetApiName(op); + case ACTIVITY_DOMAIN_HSA_EVT: + return roctracer::RocpLoader::Instance().GetEvtName(op); case ACTIVITY_DOMAIN_HSA_OPS: return roctracer::RocpLoader::Instance().GetOpName(op); case ACTIVITY_DOMAIN_HCC_OPS: @@ -731,6 +733,7 @@ static inline uint32_t get_op_num(const uint32_t& domain) { switch (domain) { case ACTIVITY_DOMAIN_HSA_OPS: return HSA_OP_ID_NUMBER; case ACTIVITY_DOMAIN_HSA_API: return HSA_API_ID_NUMBER; + case ACTIVITY_DOMAIN_HSA_EVT: return HSA_EVT_ID_NUMBER; case ACTIVITY_DOMAIN_HCC_OPS: return HIP_OP_ID_NUMBER; case ACTIVITY_DOMAIN_HIP_API: return HIP_API_ID_NUMBER; case ACTIVITY_DOMAIN_KFD_API: return KFD_API_ID_NUMBER; @@ -760,13 +763,18 @@ static roctracer_status_t roctracer_enable_callback_fun( #if 0 if (op == HSA_API_ID_DISPATCH) { const bool succ = roctracer::RocpLoader::Instance().RegisterApiCallback(op, (void*)callback, user_data); - if (succ == false) HCC_EXC_RAISING(ROCTRACER_STATUS_HSA_ERR, "HSA::EnableActivityCallback error(" << op << ") failed"); + if (succ == false) HCC_EXC_RAISING(ROCTRACER_STATUS_HSA_ERR, "HSA::RegisterApiCallback error(" << op << ") failed"); break; } #endif roctracer::hsa_support::cb_table.set(op, callback, user_data); break; } + case ACTIVITY_DOMAIN_HSA_EVT: { + const bool succ = roctracer::RocpLoader::Instance().RegisterEvtCallback(op, (void*)callback, user_data); + if (succ == false) HCC_EXC_RAISING(ROCTRACER_STATUS_HSA_ERR, "HSA::RegisterEvtCallback error(" << op << ") failed"); + break; + } case ACTIVITY_DOMAIN_HCC_OPS: break; case ACTIVITY_DOMAIN_HIP_API: { if (roctracer::HipLoader::Instance().Enabled() == false) break; @@ -875,6 +883,11 @@ static roctracer_status_t roctracer_disable_callback_fun( } break; } + case ACTIVITY_DOMAIN_HSA_EVT: { + const bool succ = roctracer::RocpLoader::Instance().RemoveEvtCallback(op); + if (succ == false) HCC_EXC_RAISING(ROCTRACER_STATUS_HSA_ERR, "HSA::RemoveEvtCallback error(" << op << ") failed"); + break; + } case ACTIVITY_DOMAIN_ROCTX: { if (roctracer::RocTxLoader::Instance().Enabled()) { const bool suc = roctracer::RocTxLoader::Instance().RemoveApiCallback(op); @@ -984,6 +997,7 @@ static roctracer_status_t roctracer_enable_activity_fun( break; } case ACTIVITY_DOMAIN_HSA_API: break; + case ACTIVITY_DOMAIN_HSA_EVT: break; case ACTIVITY_DOMAIN_KFD_API: break; case ACTIVITY_DOMAIN_HCC_OPS: { const bool init_phase = (roctracer::HccLoader::GetRef() == NULL); @@ -1080,6 +1094,7 @@ static roctracer_status_t roctracer_disable_activity_fun( break; } case ACTIVITY_DOMAIN_HSA_API: break; + case ACTIVITY_DOMAIN_HSA_EVT: break; case ACTIVITY_DOMAIN_KFD_API: break; case ACTIVITY_DOMAIN_HCC_OPS: { if (roctracer::HccLoader::Instance().Enabled() == false) break; @@ -1250,6 +1265,9 @@ PUBLIC_API roctracer_status_t roctracer_set_properties( roctracer::kfd_support::intercept_KFDApiTable(); break; } + case ACTIVITY_DOMAIN_HSA_EVT: { + break; + } case ACTIVITY_DOMAIN_HSA_API: { // HSA API properties HsaApiTable* table = reinterpret_cast(properties); diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index ce003b7cc9..148c60b0b0 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -50,7 +50,8 @@ set ( HSA_REV "19b1191" ) set ( RUN_SCRIPT "${TEST_DIR}/run.sh" ) ## build HIP tests -set ( INC_PATH "${INC_PATH} ${PROJECT_BINARY_DIR}/inc" ) +set ( GEN_INC_DIR ${PROJECT_BINARY_DIR}/inc ) +set ( INC_PATH "${INC_PATH} ${GEN_INC_DIR}" ) set ( TEST_ENV HIP_VDI=${HIP_VDI} ROCM_PATH=${ROCM_ROOT_DIR} HSA_PATH=${ROCM_ROOT_DIR}/hsa INC_PATH=${INC_PATH} LIB_PATH=${LIB_PATH} HIPCC_VERBOSE=3 ) add_custom_target( mytest COMMAND ${TEST_ENV} make -C "${TEST_DIR}/MatrixTranspose" @@ -76,10 +77,24 @@ if ( DEFINED ROCTRACER_TARGET ) set ( TEST_LIB "tracer_tool" ) set ( TEST_LIB_SRC ${TEST_DIR}/tool/tracer_tool.cpp ${UTIL_SRC} ) add_library ( ${TEST_LIB} SHARED ${TEST_LIB_SRC} ) - target_include_directories ( ${TEST_LIB} PRIVATE ${HSA_TEST_DIR} ${ROOT_DIR} ${ROOT_DIR}/inc ${HSA_RUNTIME_INC_PATH} ${HSA_RUNTIME_HSA_INC_PATH} ${HIP_INC_DIR} ${HCC_INC_DIR} ${HSA_KMT_INC_PATH} ${PROJECT_BINARY_DIR}/inc ) + target_include_directories ( ${TEST_LIB} PRIVATE ${HSA_TEST_DIR} ${ROOT_DIR} ${ROOT_DIR}/inc ${HSA_RUNTIME_INC_PATH} ${HIP_INC_DIR} ${HSA_KMT_INC_PATH} ${GEN_INC_DIR} ) target_link_libraries ( ${TEST_LIB} ${ROCTRACER_TARGET} ${HSA_RUNTIME_LIB} c stdc++ dl pthread rt ) endif () +## Build hsaco_test.cpp referenc test +set ( CO_LIB_NAME "hsaco_test" ) +set ( CO_LIB_SRC ${TEST_DIR}/app/hsaco_test.cpp ) +add_library ( ${CO_LIB_NAME} SHARED ${CO_LIB_SRC} ) +target_include_directories ( ${CO_LIB_NAME} PRIVATE ${HSA_RUNTIME_INC_PATH} ) +target_link_libraries ( ${CO_LIB_NAME} ${HSA_RUNTIME_LIB} c stdc++ ) + +## Build codeobj event test +set ( CO_LIB_NAME "codeobj_test" ) +set ( CO_LIB_SRC ${TEST_DIR}/app/codeobj_test.cpp ) +add_library ( ${CO_LIB_NAME} SHARED ${CO_LIB_SRC} ) +target_include_directories ( ${CO_LIB_NAME} PRIVATE ${TEST_DIR} ${ROOT_DIR} ${ROOT_DIR}/inc ${GEN_INC_DIR} ${HSA_RUNTIME_INC_PATH} ${ROCM_INC_PATH} ) +target_link_libraries ( ${CO_LIB_NAME} ${ROCTRACER_TARGET} c stdc++ ) + ## Build HSA test execute_process ( COMMAND sh -xc "if [ ! -e ${TEST_DIR}/hsa ] ; then git clone https://github.com/ROCmSoftwarePlatform/hsa-class.git ${TEST_DIR}/hsa; fi" ) execute_process ( COMMAND sh -xc "if [ -e ${TEST_DIR}/hsa ] ; then cd ${TEST_DIR}/hsa && git fetch origin && git checkout ${HSA_REV}; fi" ) diff --git a/test/app/codeobj_test.cpp b/test/app/codeobj_test.cpp new file mode 100644 index 0000000000..086bcfb696 --- /dev/null +++ b/test/app/codeobj_test.cpp @@ -0,0 +1,89 @@ +/****************************************************************************** +Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +*******************************************************************************/ + +#include +#include +#include + +#include "inc/roctracer.h" +#include "inc/roctracer_hsa.h" +#include + +#define PUBLIC_API __attribute__((visibility("default"))) +#define CONSTRUCTOR_API __attribute__((constructor)) +#define DESTRUCTOR_API __attribute__((destructor)) + +// Check returned HSA API status +void check_status(roctracer_status_t status) { + if (status != ROCTRACER_STATUS_SUCCESS) { + const char* error_string = roctracer_error_string(); + fprintf(stderr, "ERROR: %s\n", error_string); + abort(); + } +} + +// codeobj callback +void codeobj_callback(uint32_t domain, uint32_t cid, const void* data, void* arg) { + const hsa_evt_data_t* evt_data = reinterpret_cast(data); + const uint32_t uri_length = evt_data->codeobj.uri_length; + const char* uri = evt_data->codeobj.uri; + printf("codeobj_callback domain(%u) cid(%u): load_delta(0x%lx) load_size(0x%lx) uri_length(%u) uri(\"%s\")\n", + domain, + cid, + evt_data->codeobj.load_delta, + evt_data->codeobj.load_size, + uri_length, + uri); + fflush(stdout); +} + +void initialize() { + roctracer_status_t status = roctracer_enable_op_callback(ACTIVITY_DOMAIN_HSA_EVT, HSA_EVT_ID_CODEOBJ, codeobj_callback, NULL); + check_status(status); +} + +void cleanup() { + roctracer_status_t status = roctracer_disable_domain_callback(ACTIVITY_DOMAIN_HSA_EVT); + check_status(status); +} + +// Tool constructor +extern "C" PUBLIC_API void OnLoadToolProp(rocprofiler_settings_t* settings) { + // Enable HSA events intercepting + settings->hsa_intercepting = 1; + // Initialize profiling + initialize(); +} + +// Tool destructor +extern "C" PUBLIC_API void OnUnloadTool() { + // Final resources cleanup + cleanup(); +} + +extern "C" CONSTRUCTOR_API void constructor() { + printf("constructor\n"); fflush(stdout); +} + +extern "C" DESTRUCTOR_API void destructor() { + OnUnloadTool(); +} diff --git a/test/app/hsaco_test.cpp b/test/app/hsaco_test.cpp new file mode 100644 index 0000000000..0f2e42adc5 --- /dev/null +++ b/test/app/hsaco_test.cpp @@ -0,0 +1,134 @@ +/****************************************************************************** +Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +*******************************************************************************/ + +#include +#include +#include +#include +#include + +#define PUBLIC_API __attribute__((visibility("default"))) +#define CONSTRUCTOR_API __attribute__((constructor)) +#define DESTRUCTOR_API __attribute__((destructor)) + +#define HSA_RT(call) \ + do { \ + const hsa_status_t status = call; \ + if (status != HSA_STATUS_SUCCESS) { \ + printf("error \"%s\"\n", #call); fflush(stdout); \ + abort(); \ + } \ + } while(0) + +// HSA API intercepting primitives +decltype(hsa_executable_freeze)* hsa_executable_freeze_fn; +hsa_ven_amd_loader_1_01_pfn_t loader_api_table{}; + +hsa_status_t code_object_callback( + hsa_executable_t executable, + hsa_loaded_code_object_t loaded_code_object, + void* arg) +{ + printf("code_object_callback\n"); fflush(stdout); + + uint64_t load_size = 0; + uint64_t load_delta = 0; + uint32_t uri_len = 0; + char* uri_str = NULL; + + HSA_RT(loader_api_table.hsa_ven_amd_loader_loaded_code_object_get_info( + loaded_code_object, + HSA_VEN_AMD_LOADER_LOADED_CODE_OBJECT_INFO_LOAD_SIZE, + &load_size)); + HSA_RT(loader_api_table.hsa_ven_amd_loader_loaded_code_object_get_info( + loaded_code_object, + HSA_VEN_AMD_LOADER_LOADED_CODE_OBJECT_INFO_LOAD_DELTA, + &load_delta)); + HSA_RT(loader_api_table.hsa_ven_amd_loader_loaded_code_object_get_info( + loaded_code_object, + HSA_VEN_AMD_LOADER_LOADED_CODE_OBJECT_INFO_URI_LENGTH, + &uri_len)); + + uri_str = (char*)calloc(uri_len + 1, sizeof(char)); + if (!uri_str) { + perror("calloc"); + abort(); + } + + HSA_RT(loader_api_table.hsa_ven_amd_loader_loaded_code_object_get_info( + loaded_code_object, + HSA_VEN_AMD_LOADER_LOADED_CODE_OBJECT_INFO_URI, + uri_str)); + + printf("load_size(0x%lx)\n", load_size); fflush(stdout); + printf("load_delta(0x%lx)\n", load_delta); fflush(stdout); + printf("uri_len(%u)\n", uri_len); fflush(stdout); + printf("uri_str(\"%s\")\n", uri_str); fflush(stdout); + + return HSA_STATUS_SUCCESS; +} + +hsa_status_t hsa_executable_freeze_interceptor( + hsa_executable_t executable, + const char *options) +{ + HSA_RT(loader_api_table.hsa_ven_amd_loader_executable_iterate_loaded_code_objects( + executable, + code_object_callback, + NULL)); + HSA_RT(hsa_executable_freeze_fn( + executable, + options)); + return HSA_STATUS_SUCCESS; +} + +// HSA-runtime tool on-load method +extern "C" PUBLIC_API bool OnLoad(HsaApiTable* table, + uint64_t runtime_version, + uint64_t failed_tool_count, + const char* const* failed_tool_names) +{ + printf("OnLoad: begin\n"); fflush(stdout); + // intercepting hsa_executable_freeze API + hsa_executable_freeze_fn = table->core_->hsa_executable_freeze_fn; + table->core_->hsa_executable_freeze_fn = hsa_executable_freeze_interceptor; + // Fetching AMD Loader HSA extension API + HSA_RT(hsa_system_get_major_extension_table( + HSA_EXTENSION_AMD_LOADER, + 1, + sizeof(hsa_ven_amd_loader_1_01_pfn_t), + &loader_api_table)); + printf("OnLoad: end\n"); fflush(stdout); + return true; +} + +extern "C" PUBLIC_API void OnUnload() { + printf("OnUnload\n"); fflush(stdout); +} + +extern "C" CONSTRUCTOR_API void constructor() { + printf("constructor\n"); fflush(stdout); +} + +extern "C" DESTRUCTOR_API void destructor() { + printf("destructor\n"); fflush(stdout); +} diff --git a/test/golden_traces/MatrixTranspose_hip_flush_trace.txt b/test/golden_traces/MatrixTranspose_hip_flush_trace.txt index 27ef8e95f8..6f0c4d17aa 100644 --- a/test/golden_traces/MatrixTranspose_hip_flush_trace.txt +++ b/test/golden_traces/MatrixTranspose_hip_flush_trace.txt @@ -1,25 +1,58 @@ -+ ROCP_FLUSH_RATE=100000 ./test/MatrixTranspose -ROCTracer (pid=1991): +ROCTracer (pid=14696): ROCTracer: trace control flush rate(100000us) -3802701299772587 +129855595266140 HIP-trace() -Device name Device 687f +Device name Device 738c ## Iteration (99) ################# -3802701304199730:3802701304207180 1991:1991 hipGetDeviceProperties(props=, device=0) -3802701305255618:3802701305368889 1991:1991 hipMalloc(ptr=0x7fce16e0dec3, size=4194304) -3802701305370969:3802701305429809 1991:1991 hipMalloc(ptr=0x7fffc1295178, size=4194304) +129855603476896:129855603483734 14696:14696 hipGetDeviceProperties(props={}, device=0) :1 +129855604686134:129855605152950 14696:14696 hipMalloc(ptr=0x7fd65ce00000, size=4194304) :2 +129855605160451:129855605528247 14696:14696 hipMalloc(ptr=0x7fd65c800000, size=4194304) :3 PASSED! ## Iteration (98) ################# -3802701580515709:3802701582582904 0:0 CopyHostToDevice:4:1991 -3802701583225872:3802701584425191 0:0 KernelExecution:8:1991 -3802701583217109:3802701586447303 0:0 CopyDeviceToHost:10:1991 -3802701594795564:3802701596533727 0:0 CopyHostToDevice:11:1991 -3802701596646592:3802701597848875 0:0 KernelExecution:15:1991 -3802701596604988:3802701599522360 0:0 CopyDeviceToHost:17:1991 PASSED! ## Iteration (97) ################# PASSED! ## Iteration (96) ################# +129855955913848:129855957428192 0:0 CopyHostToDevice:4:14696 +129855958763342:129855959991823 0:0 KernelExecution:8:14696 +129855958734601:129855961705377 0:0 CopyDeviceToHost:10:14696 +129855971471522:129855972254607 0:0 CopyHostToDevice:11:14696 +129855972381516:129855973633356 0:0 KernelExecution:15:14696 +129855972673800:129855974135421 0:0 CopyDeviceToHost:17:14696 +129855980290261:129855981019714 0:0 CopyHostToDevice:18:14696 +129855981112002:129855982336482 0:0 KernelExecution:22:14696 +129855981076333:129855982783351 0:0 CopyDeviceToHost:24:14696 +129855988849671:129855989612220 0:0 CopyHostToDevice:25:14696 +129855989696159:129855990920319 0:0 KernelExecution:29:14696 +129855989668256:129855991384209 0:0 CopyDeviceToHost:31:14696 +129855605540988:129855957443403 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :4 +129855957456260:129855957456261 14696:14696 MARK(name(before HIP LaunchKernel)) +129855957507034:129855957514510 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :6 +129855957521000:129855957523014 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :7 +129855957529950:129855958671150 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :8 +129855958701410:129855958701411 14696:14696 MARK(name(after HIP LaunchKernel)) +129855958708321:129855961719221 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :10 +129855971408776:129855972257972 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :11 +129855972261515:129855972261516 14696:14696 MARK(name(before HIP LaunchKernel)) +129855972266736:129855972268234 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :13 +129855972271629:129855972272780 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :14 +129855972276181:129855972282118 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :15 +129855972663504:129855972663505 14696:14696 MARK(name(after HIP LaunchKernel)) +129855972666015:129855974143463 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :17 +129855980222888:129855981023250 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :18 +129855981025473:129855981025474 14696:14696 MARK(name(before HIP LaunchKernel)) +129855981028834:129855981029831 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :20 +129855981032043:129855981032913 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :21 +129855981035237:129855981038997 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :22 +129855981041265:129855981041266 14696:14696 MARK(name(after HIP LaunchKernel)) +129855981043695:129855982796928 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :24 +129855988764565:129855989615901 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :25 +129855989618073:129855989618074 14696:14696 MARK(name(before HIP LaunchKernel)) +129855989621096:129855989622129 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :27 +129855989624243:129855989625087 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :28 +129855989627271:129855989630934 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :29 +129855989632959:129855989632960 14696:14696 MARK(name(after HIP LaunchKernel)) +129855989635351:129855991396402 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :31 PASSED! ## Iteration (95) ################# PASSED! @@ -32,30 +65,6 @@ PASSED! ## Iteration (91) ################# PASSED! ## Iteration (90) ################# -3802701606826614:3802701608688328 0:0 CopyHostToDevice:18:1991 -3802701608781496:3802701609988668 0:0 KernelExecution:22:1991 -3802701608758548:3802701611510159 0:0 CopyDeviceToHost:24:1991 -3802701618702082:3802701620571865 0:0 CopyHostToDevice:25:1991 -3802701620675087:3802701621878110 0:0 KernelExecution:29:1991 -3802701620650876:3802701623502597 0:0 CopyDeviceToHost:31:1991 -3802701630690881:3802701632557164 0:0 CopyHostToDevice:32:1991 -3802701632661061:3802701633864973 0:0 KernelExecution:36:1991 -3802701632637885:3802701635182424 0:0 CopyDeviceToHost:38:1991 -3802701642392578:3802701644307152 0:0 CopyHostToDevice:39:1991 -3802701644410516:3802701645608650 0:0 KernelExecution:43:1991 -3802701644387082:3802701647064112 0:0 CopyDeviceToHost:45:1991 -3802701654288485:3802701656163049 0:0 CopyHostToDevice:46:1991 -3802701656267334:3802701657467098 0:0 KernelExecution:50:1991 -3802701656244070:3802701658916870 0:0 CopyDeviceToHost:52:1991 -3802701666450396:3802701668378780 0:0 CopyHostToDevice:53:1991 -3802701668482438:3802701669683832 0:0 KernelExecution:57:1991 -3802701668458481:3802701671148361 0:0 CopyDeviceToHost:59:1991 -3802701678631556:3802701680505490 0:0 CopyHostToDevice:60:1991 -3802701680609945:3802701681806894 0:0 KernelExecution:64:1991 -3802701680586811:3802701683591443 0:0 CopyDeviceToHost:66:1991 -3802701691032768:3802701692918102 0:0 CopyHostToDevice:67:1991 -3802701693021896:3802701694223438 0:0 KernelExecution:71:1991 -3802701692999202:3802701695886464 0:0 CopyDeviceToHost:73:1991 PASSED! ## Iteration (89) ################# PASSED! @@ -68,36 +77,132 @@ PASSED! ## Iteration (85) ################# PASSED! ## Iteration (84) ################# +129855997366746:129855998130772 0:0 CopyHostToDevice:32:14696 +129855998225065:129855999449385 0:0 KernelExecution:36:14696 +129855998197249:129855999925825 0:0 CopyDeviceToHost:38:14696 +129856005895171:129856006661973 0:0 CopyHostToDevice:39:14696 +129856006745770:129856007968491 0:0 KernelExecution:43:14696 +129856006717709:129856008455141 0:0 CopyDeviceToHost:45:14696 +129856014425283:129856015187951 0:0 CopyHostToDevice:46:14696 +129856015270363:129856016493884 0:0 KernelExecution:50:14696 +129856015242633:129856016989490 0:0 CopyDeviceToHost:52:14696 +129856022971470:129856023730704 0:0 CopyHostToDevice:53:14696 +129856023813883:129856025033244 0:0 KernelExecution:57:14696 +129856023785712:129856025544334 0:0 CopyDeviceToHost:59:14696 +129856031596064:129856032498907 0:0 CopyHostToDevice:60:14696 +129856032586758:129856033809639 0:0 KernelExecution:64:14696 +129856032558443:129856034354036 0:0 CopyDeviceToHost:66:14696 +129856040416553:129856041127473 0:0 CopyHostToDevice:67:14696 +129856041212287:129856042435488 0:0 KernelExecution:71:14696 +129856041184491:129856042941958 0:0 CopyDeviceToHost:73:14696 +129856049061163:129856049826011 0:0 CopyHostToDevice:74:14696 +129856049910719:129856051134400 0:0 KernelExecution:78:14696 +129856049882831:129856051651620 0:0 CopyDeviceToHost:80:14696 +129856057864499:129856058629610 0:0 CopyHostToDevice:81:14696 +129856058712855:129856059935896 0:0 KernelExecution:85:14696 +129856058684894:129856060452569 0:0 CopyDeviceToHost:87:14696 +129856066769721:129856067537899 0:0 CopyHostToDevice:88:14696 +129856067621801:129856068845321 0:0 KernelExecution:92:14696 +129856067594217:129856069423348 0:0 CopyDeviceToHost:94:14696 +129856075784739:129856076568384 0:0 CopyHostToDevice:95:14696 +129856076658166:129856077880567 0:0 KernelExecution:99:14696 +129856076630540:129856078394130 0:0 CopyDeviceToHost:101:14696 +129856084835135:129856085603333 0:0 CopyHostToDevice:102:14696 +129856085689351:129856086911912 0:0 KernelExecution:106:14696 +129856085661614:129856087438495 0:0 CopyDeviceToHost:108:14696 +129856093911070:129856094682948 0:0 CopyHostToDevice:109:14696 +129856094767987:129856095991348 0:0 KernelExecution:113:14696 +129856094739044:129856096520182 0:0 CopyDeviceToHost:115:14696 +129855997303698:129855998134058 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :32 +129855998136242:129855998136243 14696:14696 MARK(name(before HIP LaunchKernel)) +129855998138933:129855998139817 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :34 +129855998141918:129855998142773 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :35 +129855998144935:129855998149221 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :36 +129855998151431:129855998151432 14696:14696 MARK(name(after HIP LaunchKernel)) +129855998153828:129855999937506 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :38 +129856005829520:129856006665192 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :39 +129856006667396:129856006667397 14696:14696 MARK(name(before HIP LaunchKernel)) +129856006670307:129856006671160 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :41 +129856006673376:129856006674209 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :42 +129856006676323:129856006679651 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :43 +129856006681635:129856006681636 14696:14696 MARK(name(after HIP LaunchKernel)) +129856006683967:129856008469471 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :45 +129856014360174:129856015191285 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :46 +129856015193489:129856015193490 14696:14696 MARK(name(before HIP LaunchKernel)) +129856015196342:129856015197217 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :48 +129856015199400:129856015200221 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :49 +129856015202314:129856015205930 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :50 +129856015208058:129856015208059 14696:14696 MARK(name(after HIP LaunchKernel)) +129856015210764:129856017001555 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :52 +129856022908053:129856023733985 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :53 +129856023736320:129856023736321 14696:14696 MARK(name(before HIP LaunchKernel)) +129856023739178:129856023740063 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :55 +129856023742240:129856023743090 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :56 +129856023745309:129856023748845 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :57 +129856023750891:129856023750892 14696:14696 MARK(name(after HIP LaunchKernel)) +129856023753396:129856025556257 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :59 +129856031530409:129856032503170 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :60 +129856032505392:129856032505393 14696:14696 MARK(name(before HIP LaunchKernel)) +129856032508345:129856032509226 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :62 +129856032511486:129856032512316 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :63 +129856032514599:129856032518036 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :64 +129856032520150:129856032520151 14696:14696 MARK(name(after HIP LaunchKernel)) +129856032522410:129856034373111 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :66 +129856040397979:129856041130687 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :67 +129856041132973:129856041132974 14696:14696 MARK(name(before HIP LaunchKernel)) +129856041136399:129856041137389 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :69 +129856041139653:129856041140500 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :70 +129856041142893:129856041146663 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :71 +129856041148645:129856041148646 14696:14696 MARK(name(after HIP LaunchKernel)) +129856041151128:129856042953843 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :73 +129856048994841:129856049829566 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :74 +129856049831724:129856049831725 14696:14696 MARK(name(before HIP LaunchKernel)) +129856049834527:129856049835413 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :76 +129856049837759:129856049838585 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :77 +129856049840796:129856049844487 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :78 +129856049846529:129856049846530 14696:14696 MARK(name(after HIP LaunchKernel)) +129856049848934:129856051663797 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :80 +129856057798518:129856058633464 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :81 +129856058635650:129856058635651 14696:14696 MARK(name(before HIP LaunchKernel)) +129856058638530:129856058639560 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :83 +129856058641994:129856058642826 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :84 +129856058645125:129856058648721 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :85 +129856058650749:129856058650750 14696:14696 MARK(name(after HIP LaunchKernel)) +129856058653478:129856060466863 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :87 +129856066704603:129856067541502 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :88 +129856067543802:129856067543803 14696:14696 MARK(name(before HIP LaunchKernel)) +129856067546791:129856067547681 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :90 +129856067550027:129856067550854 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :91 +129856067553125:129856067556952 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :92 +129856067559149:129856067559150 14696:14696 MARK(name(after HIP LaunchKernel)) +129856067561903:129856069442958 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :94 +129856075719215:129856076572398 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :95 +129856076574828:129856076574829 14696:14696 MARK(name(before HIP LaunchKernel)) +129856076578071:129856076578997 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :97 +129856076581286:129856076582119 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :98 +129856076584498:129856076588395 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :99 +129856076590554:129856076590555 14696:14696 MARK(name(after HIP LaunchKernel)) +129856076592857:129856078406672 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :101 +129856084768530:129856085607081 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :102 +129856085609437:129856085609438 14696:14696 MARK(name(before HIP LaunchKernel)) +129856085612528:129856085613498 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :104 +129856085615751:129856085616602 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :105 +129856085618831:129856085623039 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :106 +129856085625178:129856085625179 14696:14696 MARK(name(after HIP LaunchKernel)) +129856085627731:129856087451206 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :108 +129856093846767:129856094686797 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :109 +129856094689153:129856094689154 14696:14696 MARK(name(before HIP LaunchKernel)) +129856094692497:129856094693485 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :111 +129856094695727:129856094696598 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :112 +129856094698884:129856094702856 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :113 +129856094705178:129856094705179 14696:14696 MARK(name(after HIP LaunchKernel)) +129856094707931:129856096534639 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :115 PASSED! ## Iteration (83) ################# PASSED! ## Iteration (82) ################# PASSED! ## Iteration (81) ################# -3802701703288299:3802701705170783 0:0 CopyHostToDevice:74:1991 -3802701705274243:3802701706486156 0:0 KernelExecution:78:1991 -3802701705250604:3802701707936074 0:0 CopyDeviceToHost:80:1991 -3802701715184407:3802701716946440 0:0 CopyHostToDevice:81:1991 -3802701717062173:3802701718258234 0:0 KernelExecution:85:1991 -3802701717027281:3802701719895352 0:0 CopyDeviceToHost:87:1991 -3802701727144976:3802701729139460 0:0 CopyHostToDevice:88:1991 -3802701729244175:3802701730445125 0:0 KernelExecution:92:1991 -3802701729220511:3802701732165583 0:0 CopyDeviceToHost:94:1991 -3802701739387037:3802701741142680 0:0 CopyHostToDevice:95:1991 -3802701741249310:3802701742453815 0:0 KernelExecution:99:1991 -3802701741225710:3802701744149042 0:0 CopyDeviceToHost:101:1991 -3802701751388465:3802701753137668 0:0 CopyHostToDevice:102:1991 -3802701753243075:3802701754440321 0:0 KernelExecution:106:1991 -3802701753219589:3802701756153951 0:0 CopyDeviceToHost:108:1991 -3802701763443335:3802701765498080 0:0 CopyHostToDevice:109:1991 -3802701765603802:3802701766820456 0:0 KernelExecution:113:1991 -3802701765580171:3802701768590463 0:0 CopyDeviceToHost:115:1991 -3802701775866137:3802701777758951 0:0 CopyHostToDevice:116:1991 -3802701777862528:3802701779073255 0:0 KernelExecution:120:1991 -3802701777839322:3802701780544442 0:0 CopyDeviceToHost:122:1991 -3802701787979987:3802701790138553 0:0 CopyHostToDevice:123:1991 -3802701790243940:3802701791446371 0:0 KernelExecution:127:1991 -3802701790220103:3802701792896973 0:0 CopyDeviceToHost:129:1991 PASSED! ## Iteration (80) ################# PASSED! @@ -114,35 +219,118 @@ PASSED! ## Iteration (74) ################# PASSED! ## Iteration (73) ################# -3802701800291738:3802701802179392 0:0 CopyHostToDevice:130:1991 -3802701802285163:3802701803481223 0:0 KernelExecution:134:1991 -3802701802261733:3802701804931343 0:0 CopyDeviceToHost:136:1991 -3802701812337128:3802701814252581 0:0 CopyHostToDevice:137:1991 -3802701814356366:3802701815565464 0:0 KernelExecution:141:1991 -3802701814332902:3802701817015292 0:0 CopyDeviceToHost:143:1991 -3802701824392847:3802701826310401 0:0 CopyHostToDevice:144:1991 -3802701826415256:3802701827613539 0:0 KernelExecution:148:1991 -3802701826391761:3802701829071431 0:0 CopyDeviceToHost:150:1991 -3802701836291435:3802701838179779 0:0 CopyHostToDevice:151:1991 -3802701838283081:3802701839480623 0:0 KernelExecution:155:1991 -3802701838259290:3802701840931690 0:0 CopyDeviceToHost:157:1991 -3802701848294054:3802701850186618 0:0 CopyHostToDevice:158:1991 -3802701850293201:3802701851487632 0:0 KernelExecution:162:1991 -3802701850269869:3802701852937908 0:0 CopyDeviceToHost:164:1991 -3802701860182332:3802701862143417 0:0 CopyHostToDevice:165:1991 -3802701862248805:3802701863444865 0:0 KernelExecution:169:1991 -3802701862224967:3802701865141909 0:0 CopyDeviceToHost:171:1991 -3802701872353003:3802701874265587 0:0 CopyHostToDevice:172:1991 -3802701874371291:3802701875572092 0:0 KernelExecution:176:1991 -3802701874348307:3802701877019147 0:0 CopyDeviceToHost:178:1991 -3802701884267750:3802701886153054 0:0 CopyHostToDevice:179:1991 -3802701886259179:3802701887463536 0:0 KernelExecution:183:1991 -3802701886235615:3802701888914085 0:0 CopyDeviceToHost:185:1991 -3802701896155929:3802701898142244 0:0 CopyHostToDevice:186:1991 -3802701898246687:3802701899454155 0:0 KernelExecution:190:1991 -3802701898223504:3802701901145246 0:0 CopyDeviceToHost:192:1991 +129856103067958:129856103841032 0:0 CopyHostToDevice:116:14696 +129856103927769:129856105150970 0:0 KernelExecution:120:14696 +129856103899316:129856105721054 0:0 CopyDeviceToHost:122:14696 +129856112245852:129856113015798 0:0 CopyHostToDevice:123:14696 +129856113100485:129856114323526 0:0 KernelExecution:127:14696 +129856113072690:129856114900649 0:0 CopyDeviceToHost:129:14696 +129856121600998:129856122374148 0:0 CopyHostToDevice:130:14696 +129856122460856:129856123685017 0:0 KernelExecution:134:14696 +129856122432406:129856124221503 0:0 CopyDeviceToHost:136:14696 +129856130996154:129856131718339 0:0 CopyHostToDevice:137:14696 +129856131803770:129856133026171 0:0 KernelExecution:141:14696 +129856131775718:129856133613724 0:0 CopyDeviceToHost:143:14696 +129856140505813:129856141285491 0:0 CopyHostToDevice:144:14696 +129856141371337:129856142594218 0:0 KernelExecution:148:14696 +129856141343575:129856143188801 0:0 CopyDeviceToHost:150:14696 +129856150234971:129856151016053 0:0 CopyHostToDevice:151:14696 +129856151102892:129856152327053 0:0 KernelExecution:155:14696 +129856151074919:129856152872907 0:0 CopyDeviceToHost:157:14696 +129856159481376:129856160253347 0:0 CopyHostToDevice:158:14696 +129856160343525:129856161566086 0:0 KernelExecution:162:14696 +129856160315355:129856162137295 0:0 CopyDeviceToHost:164:14696 +129856168059715:129856168791250 0:0 CopyHostToDevice:165:14696 +129856168876828:129856170099709 0:0 KernelExecution:169:14696 +129856168849139:129856170629902 0:0 CopyDeviceToHost:171:14696 +129856176005269:129856176724156 0:0 CopyHostToDevice:172:14696 +129856176811979:129856178033100 0:0 KernelExecution:176:14696 +129856176783784:129856178564862 0:0 CopyDeviceToHost:178:14696 +129856183804454:129856184516916 0:0 CopyHostToDevice:179:14696 +129856184609470:129856185832511 0:0 KernelExecution:183:14696 +129856184581802:129856186368858 0:0 CopyDeviceToHost:185:14696 +129856191541921:129856192254454 0:0 CopyHostToDevice:186:14696 +129856192345329:129856193569809 0:0 KernelExecution:190:14696 +129856192317767:129856194105080 0:0 CopyDeviceToHost:192:14696 +129856103003811:129856103844379 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :116 +129856103846787:129856103846788 14696:14696 MARK(name(before HIP LaunchKernel)) +129856103849922:129856103850838 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :118 +129856103853240:129856103854136 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :119 +129856103856444:129856103860149 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :120 +129856103862386:129856103862387 14696:14696 MARK(name(after HIP LaunchKernel)) +129856103864691:129856105741098 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :122 +129856112200226:129856113019342 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :123 +129856113021598:129856113021599 14696:14696 MARK(name(before HIP LaunchKernel)) +129856113024595:129856113025504 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :125 +129856113027902:129856113028756 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :126 +129856113031010:129856113034968 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :127 +129856113037098:129856113037099 14696:14696 MARK(name(after HIP LaunchKernel)) +129856113039452:129856114918382 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :129 +129856121536590:129856122377686 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :130 +129856122380177:129856122380178 14696:14696 MARK(name(before HIP LaunchKernel)) +129856122383242:129856122384157 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :132 +129856122386562:129856122387438 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :133 +129856122389743:129856122393887 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :134 +129856122395917:129856122395918 14696:14696 MARK(name(after HIP LaunchKernel)) +129856122398705:129856124236553 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :136 +129856130930250:129856131721919 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :137 +129856131724534:129856131724535 14696:14696 MARK(name(before HIP LaunchKernel)) +129856131727544:129856131728453 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :139 +129856131730840:129856131731718 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :140 +129856131734248:129856131738338 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :141 +129856131740508:129856131740509 14696:14696 MARK(name(after HIP LaunchKernel)) +129856131742956:129856133633762 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :143 +129856140484642:129856141289559 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :144 +129856141292040:129856141292041 14696:14696 MARK(name(before HIP LaunchKernel)) +129856141295360:129856141296366 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :146 +129856141298705:129856141299584 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :147 +129856141301885:129856141305904 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :148 +129856141308287:129856141308288 14696:14696 MARK(name(after HIP LaunchKernel)) +129856141310745:129856143207185 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :150 +129856150167842:129856151019519 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :151 +129856151021903:129856151021904 14696:14696 MARK(name(before HIP LaunchKernel)) +129856151025430:129856151026339 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :153 +129856151028846:129856151029731 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :154 +129856151032070:129856151036399 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :155 +129856151038525:129856151038526 14696:14696 MARK(name(after HIP LaunchKernel)) +129856151041204:129856152887054 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :157 +129856159416500:129856160257922 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :158 +129856160260251:129856160260252 14696:14696 MARK(name(before HIP LaunchKernel)) +129856160263327:129856160264253 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :160 +129856160266588:129856160267551 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :161 +129856160269815:129856160273583 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :162 +129856160275639:129856160275640 14696:14696 MARK(name(after HIP LaunchKernel)) +129856160277873:129856162154856 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :164 +129856167989129:129856168794954 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :165 +129856168796817:129856168796818 14696:14696 MARK(name(before HIP LaunchKernel)) +129856168799680:129856168800356 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :167 +129856168802336:129856168803043 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :168 +129856168804923:129856168808196 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :169 +129856168810026:129856168810027 14696:14696 MARK(name(after HIP LaunchKernel)) +129856168811889:129856170642148 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :171 +129856175935119:129856176727698 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :172 +129856176729573:129856176729574 14696:14696 MARK(name(before HIP LaunchKernel)) +129856176732312:129856176733001 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :174 +129856176734764:129856176735517 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :175 +129856176737306:129856176740961 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :176 +129856176742551:129856176742552 14696:14696 MARK(name(after HIP LaunchKernel)) +129856176744384:129856178576608 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :178 +129856183733862:129856184521359 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :179 PASSED! ## Iteration (72) ################# +129856184523202:129856184523203 14696:14696 MARK(name(before HIP LaunchKernel)) +129856184526239:129856184526918 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :181 +129856184528695:129856184529339 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :182 +129856184531203:129856184534819 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :183 +129856184536444:129856184536445 14696:14696 MARK(name(after HIP LaunchKernel)) +129856184538159:129856186381152 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :185 +129856191471466:129856192258965 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :186 +129856192260887:129856192260888 14696:14696 MARK(name(before HIP LaunchKernel)) +129856192264565:129856192265231 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :188 +129856192266936:129856192267582 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :189 +129856192269493:129856192272647 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :190 +129856192274238:129856192274239 14696:14696 MARK(name(after HIP LaunchKernel)) +129856192276014:129856194117333 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :192 PASSED! ## Iteration (71) ################# PASSED! @@ -157,30 +345,6 @@ PASSED! ## Iteration (66) ################# PASSED! ## Iteration (65) ################# -3802701908363640:3802701910282004 0:0 CopyHostToDevice:193:1991 -3802701910388686:3802701911593636 0:0 KernelExecution:197:1991 -3802701910364944:3802701913041924 0:0 CopyDeviceToHost:199:1991 -3802701920274197:3802701922171761 0:0 CopyHostToDevice:200:1991 -3802701922278125:3802701923475222 0:0 KernelExecution:204:1991 -3802701922254592:3802701924925132 0:0 CopyDeviceToHost:206:1991 -3802701932168496:3802701934142771 0:0 CopyHostToDevice:207:1991 -3802701934246976:3802701935438295 0:0 KernelExecution:211:1991 -3802701934223551:3802701937141613 0:0 CopyDeviceToHost:213:1991 -3802701944352056:3802701946257570 0:0 CopyHostToDevice:214:1991 -3802701946362997:3802701947574317 0:0 KernelExecution:218:1991 -3802701946339571:3802701949023790 0:0 CopyDeviceToHost:220:1991 -3802701956400665:3802701958316110 0:0 CopyHostToDevice:221:1991 -3802701958422590:3802701959641615 0:0 KernelExecution:225:1991 -3802701958399130:3802701961106280 0:0 CopyDeviceToHost:227:1991 -3802701968320724:3802701970208178 0:0 CopyHostToDevice:228:1991 -3802701970318670:3802701971521693 0:0 KernelExecution:232:1991 -3802701970295529:3802701972971609 0:0 CopyDeviceToHost:234:1991 -3802701980199792:3802701982142436 0:0 CopyHostToDevice:235:1991 -3802701982245928:3802701983440062 0:0 KernelExecution:239:1991 -3802701982222487:3802701985143188 0:0 CopyDeviceToHost:241:1991 -3802701992355642:3802701994267646 0:0 CopyHostToDevice:242:1991 -3802701994371730:3802701995578753 0:0 KernelExecution:246:1991 -3802701994348667:3802701997026937 0:0 CopyDeviceToHost:248:1991 PASSED! ## Iteration (64) ################# PASSED! @@ -193,39 +357,152 @@ PASSED! ## Iteration (60) ################# PASSED! ## Iteration (59) ################# +129856199280943:129856199989681 0:0 CopyHostToDevice:193:14696 +129856200075190:129856201299831 0:0 KernelExecution:197:14696 +129856200047538:129856201850341 0:0 CopyDeviceToHost:199:14696 +129856206897412:129856207614253 0:0 CopyHostToDevice:200:14696 +129856207705498:129856208928859 0:0 KernelExecution:204:14696 +129856207676917:129856209473592 0:0 CopyDeviceToHost:206:14696 +129856214432984:129856215196409 0:0 CopyHostToDevice:207:14696 +129856215281304:129856216504825 0:0 KernelExecution:211:14696 +129856215253529:129856217050195 0:0 CopyDeviceToHost:213:14696 +129856221931666:129856222699124 0:0 CopyHostToDevice:214:14696 +129856222785050:129856224007611 0:0 KernelExecution:218:14696 +129856222756874:129856224558196 0:0 CopyDeviceToHost:220:14696 +129856229435728:129856230202586 0:0 CopyHostToDevice:221:14696 +129856230289822:129856231510942 0:0 KernelExecution:225:14696 +129856230262176:129856232049379 0:0 CopyDeviceToHost:227:14696 +129856236838217:129856237549415 0:0 CopyHostToDevice:228:14696 +129856237635376:129856238857136 0:0 KernelExecution:232:14696 +129856237607782:129856239407224 0:0 CopyDeviceToHost:234:14696 +129856244299394:129856245007567 0:0 CopyHostToDevice:235:14696 +129856245099279:129856246322159 0:0 KernelExecution:239:14696 +129856245071193:129856246864706 0:0 CopyDeviceToHost:241:14696 +129856251723187:129856252431603 0:0 CopyHostToDevice:242:14696 +129856252521404:129856253744124 0:0 KernelExecution:246:14696 +129856252493576:129856254289474 0:0 CopyDeviceToHost:248:14696 +129856259171693:129856259879626 0:0 CopyHostToDevice:249:14696 +129856259964936:129856261188937 0:0 KernelExecution:253:14696 +129856259937195:129856261731637 0:0 CopyDeviceToHost:255:14696 +129856266605795:129856267371070 0:0 CopyHostToDevice:256:14696 +129856267455912:129856268680233 0:0 KernelExecution:260:14696 +129856267428297:129856269227260 0:0 CopyDeviceToHost:262:14696 +129856274075448:129856274840296 0:0 CopyHostToDevice:263:14696 +129856274927804:129856276150525 0:0 KernelExecution:267:14696 +129856274899679:129856276695018 0:0 CopyDeviceToHost:269:14696 +129856281565009:129856282326831 0:0 CopyHostToDevice:270:14696 +129856282411157:129856283637077 0:0 KernelExecution:274:14696 +129856282383503:129856284175523 0:0 CopyDeviceToHost:276:14696 +129856288995752:129856289705630 0:0 CopyHostToDevice:277:14696 +129856289793308:129856291014269 0:0 KernelExecution:281:14696 +129856289765547:129856291559219 0:0 CopyDeviceToHost:283:14696 +129856296360197:129856297069117 0:0 CopyHostToDevice:284:14696 +129856297157310:129856298378111 0:0 KernelExecution:288:14696 +129856297129589:129856298914568 0:0 CopyDeviceToHost:290:14696 +129856199220209:129856199993256 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :193 +129856199995165:129856199995166 14696:14696 MARK(name(before HIP LaunchKernel)) +129856199998331:129856199999016 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :195 +129856200000971:129856200001630 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :196 +129856200003348:129856200006409 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :197 +129856200007997:129856200007998 14696:14696 MARK(name(after HIP LaunchKernel)) +129856200009781:129856201864796 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :199 +129856206828954:129856207617612 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :200 +129856207619342:129856207619343 14696:14696 MARK(name(before HIP LaunchKernel)) +129856207633427:129856207634203 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :202 +129856207635929:129856207636565 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :203 +129856207638289:129856207641619 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :204 +129856207643379:129856207643380 14696:14696 MARK(name(after HIP LaunchKernel)) +129856207645338:129856209486625 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :206 +129856214367871:129856215199634 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :207 +129856215201421:129856215201422 14696:14696 MARK(name(before HIP LaunchKernel)) +129856215205034:129856215205701 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :209 +129856215207421:129856215208068 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :210 +129856215209926:129856215213001 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :211 +129856215214576:129856215214577 14696:14696 MARK(name(after HIP LaunchKernel)) +129856215216591:129856217062762 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :213 +129856221865656:129856222702390 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :214 +129856222704143:129856222704144 14696:14696 MARK(name(before HIP LaunchKernel)) +129856222707593:129856222708263 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :216 +129856222709907:129856222710533 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :217 +129856222712408:129856222715305 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :218 +129856222716820:129856222716821 14696:14696 MARK(name(after HIP LaunchKernel)) +129856222718703:129856224572291 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :220 +129856229369321:129856230206171 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :221 +129856230207933:129856230207934 14696:14696 MARK(name(before HIP LaunchKernel)) +129856230211408:129856230212070 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :223 +129856230213729:129856230214356 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :224 +129856230216306:129856230219552 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :225 +129856230221084:129856230221085 14696:14696 MARK(name(after HIP LaunchKernel)) +129856230222856:129856232061167 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :227 +129856236820359:129856237552651 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :228 +129856237554349:129856237554350 14696:14696 MARK(name(before HIP LaunchKernel)) +129856237557958:129856237558615 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :230 +129856237560382:129856237561016 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :231 +129856237562876:129856237566063 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :232 +129856237567608:129856237567609 14696:14696 MARK(name(after HIP LaunchKernel)) +129856237569296:129856239419101 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :234 +129856244174381:129856245010977 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :235 +129856245012718:129856245012719 14696:14696 MARK(name(before HIP LaunchKernel)) +129856245025693:129856245026451 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :237 +129856245028210:129856245028855 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :238 +129856245030730:129856245034177 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :239 +129856245035805:129856245035806 14696:14696 MARK(name(after HIP LaunchKernel)) +129856245038122:129856246876538 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :241 +129856251653109:129856252435896 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :242 +129856252437833:129856252437834 14696:14696 MARK(name(before HIP LaunchKernel)) +129856252441362:129856252442017 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :244 +129856252443660:129856252444296 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :245 +129856252446165:129856252449155 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :246 +129856252450809:129856252450810 14696:14696 MARK(name(after HIP LaunchKernel)) +129856252452579:129856254303055 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :248 +129856259101952:129856259882749 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :249 +129856259884515:129856259884516 14696:14696 MARK(name(before HIP LaunchKernel)) +129856259886742:129856259887392 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :251 +129856259889040:129856259889671 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :252 +129856259891415:129856259894919 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :253 +129856259896631:129856259896632 14696:14696 MARK(name(after HIP LaunchKernel)) +129856259898324:129856261743974 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :255 +129856266541050:129856267374498 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :256 +129856267376266:129856267376267 14696:14696 MARK(name(before HIP LaunchKernel)) +129856267379647:129856267380320 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :258 +129856267381929:129856267382540 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :259 +129856267384409:129856267387474 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :260 +129856267389033:129856267389034 14696:14696 MARK(name(after HIP LaunchKernel)) +129856267390764:129856269239563 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :262 +129856274008890:129856274843415 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :263 +129856274845095:129856274845096 14696:14696 MARK(name(before HIP LaunchKernel)) +129856274847806:129856274848470 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :265 +129856274850117:129856274850733 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :266 +129856274852427:129856274855749 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :267 +129856274857358:129856274857359 14696:14696 MARK(name(after HIP LaunchKernel)) +129856274859228:129856276707873 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :269 +129856281498759:129856282330118 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :270 +129856282332044:129856282332045 14696:14696 MARK(name(before HIP LaunchKernel)) +129856282335358:129856282336015 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :272 +129856282338029:129856282338668 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :273 +129856282340644:129856282343485 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :274 +129856282345028:129856282345029 14696:14696 MARK(name(after HIP LaunchKernel)) +129856282347024:129856284203838 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :276 +129856288978096:129856289708673 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :277 +129856289710414:129856289710415 14696:14696 MARK(name(before HIP LaunchKernel)) +129856289714250:129856289714924 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :279 +129856289716689:129856289717305 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :280 +129856289719150:129856289722057 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :281 +129856289723677:129856289723678 14696:14696 MARK(name(after HIP LaunchKernel)) +129856289725380:129856291571314 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :283 +129856296341271:129856297072486 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :284 +129856297074313:129856297074314 14696:14696 MARK(name(before HIP LaunchKernel)) +129856297077733:129856297078380 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :286 +129856297080109:129856297080733 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :287 +129856297082729:129856297085646 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :288 +129856297087184:129856297087185 14696:14696 MARK(name(after HIP LaunchKernel)) +129856297089004:129856298926004 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :290 PASSED! ## Iteration (58) ################# PASSED! ## Iteration (57) ################# PASSED! ## Iteration (56) ################# -3802702004315971:3802702006430907 0:0 CopyHostToDevice:249:1991 -3802702006513343:3802702007718885 0:0 KernelExecution:253:1991 -3802702006490217:3802702009041896 0:0 CopyDeviceToHost:255:1991 -3802702018262184:3802702019943876 0:0 CopyHostToDevice:256:1991 -3802702020050568:3802702021249295 0:0 KernelExecution:260:1991 -3802702020026907:3802702022584386 0:0 CopyDeviceToHost:262:1991 -3802702029541468:3802702031219270 0:0 CopyHostToDevice:263:1991 -3802702031312763:3802702032510305 0:0 KernelExecution:267:1991 -3802702031289161:3802702033843490 0:0 CopyDeviceToHost:269:1991 -3802702040805082:3802702042480244 0:0 CopyHostToDevice:270:1991 -3802702042572785:3802702043776105 0:0 KernelExecution:274:1991 -3802702042549004:3802702045110673 0:0 CopyDeviceToHost:276:1991 -3802702052065204:3802702053741167 0:0 CopyHostToDevice:277:1991 -3802702053835958:3802702055052463 0:0 KernelExecution:281:1991 -3802702053813487:3802702056374447 0:0 CopyDeviceToHost:283:1991 -3802702063333568:3802702065014061 0:0 CopyHostToDevice:284:1991 -3802702065111999:3802702066319615 0:0 KernelExecution:288:1991 -3802702065088771:3802702067654340 0:0 CopyDeviceToHost:290:1991 -3802702074618962:3802702076284625 0:0 CopyHostToDevice:291:1991 -3802702076384443:3802702077569835 0:0 KernelExecution:295:1991 -3802702076360685:3802702078904404 0:0 CopyDeviceToHost:297:1991 -3802702085881125:3802702087555758 0:0 CopyHostToDevice:298:1991 -3802702087649675:3802702088847958 0:0 KernelExecution:302:1991 -3802702087626608:3802702090183277 0:0 CopyDeviceToHost:304:1991 -3802702097151929:3802702098830722 0:0 CopyHostToDevice:305:1991 -3802702098924116:3802702100140473 0:0 KernelExecution:309:1991 -3802702098901192:3802702101472621 0:0 CopyDeviceToHost:311:1991 PASSED! ## Iteration (55) ################# PASSED! @@ -244,35 +521,140 @@ PASSED! ## Iteration (48) ################# PASSED! ## Iteration (47) ################# -3802702108615424:3802702110296796 0:0 CopyHostToDevice:312:1991 -3802702110392443:3802702111600207 0:0 KernelExecution:316:1991 -3802702110368957:3802702112934696 0:0 CopyDeviceToHost:318:1991 -3802702119898217:3802702121579670 0:0 CopyHostToDevice:319:1991 -3802702121673899:3802702122873960 0:0 KernelExecution:323:1991 -3802702121650880:3802702124193909 0:0 CopyDeviceToHost:325:1991 -3802702131156331:3802702132834494 0:0 CopyHostToDevice:326:1991 -3802702132927702:3802702134121984 0:0 KernelExecution:330:1991 -3802702132904324:3802702135456513 0:0 CopyDeviceToHost:332:1991 -3802702142434925:3802702144099207 0:0 CopyHostToDevice:333:1991 -3802702144200141:3802702145401090 0:0 KernelExecution:337:1991 -3802702144175248:3802702146735777 0:0 CopyDeviceToHost:339:1991 -3802702153706898:3802702155385711 0:0 CopyHostToDevice:340:1991 -3802702155488005:3802702156685843 0:0 KernelExecution:344:1991 -3802702155464581:3802702158018890 0:0 CopyDeviceToHost:346:1991 -3802702164987312:3802702166668385 0:0 CopyHostToDevice:347:1991 -3802702166762069:3802702167965537 0:0 KernelExecution:351:1991 -3802702166739105:3802702169298644 0:0 CopyDeviceToHost:353:1991 -3802702176260016:3802702177933188 0:0 CopyHostToDevice:354:1991 -3802702178026430:3802702179223971 0:0 KernelExecution:358:1991 -3802702178002518:3802702180540757 0:0 CopyDeviceToHost:360:1991 -3802702187490789:3802702189167931 0:0 CopyHostToDevice:361:1991 -3802702189262737:3802702190474501 0:0 KernelExecution:365:1991 -3802702189239082:3802702191808141 0:0 CopyDeviceToHost:367:1991 -3802702198761922:3802702200425845 0:0 CopyHostToDevice:368:1991 PASSED! ## Iteration (46) ################# PASSED! ## Iteration (45) ################# +129856303845436:129856304622018 0:0 CopyHostToDevice:291:14696 +129856304714456:129856305941176 0:0 KernelExecution:295:14696 +129856304686879:129856306490313 0:0 CopyDeviceToHost:297:14696 +129856311333818:129856312045157 0:0 CopyHostToDevice:298:14696 +129856312128568:129856313351929 0:0 KernelExecution:302:14696 +129856312100713:129856313892452 0:0 CopyDeviceToHost:304:14696 +129856318773490:129856319480599 0:0 CopyHostToDevice:305:14696 +129856319573103:129856320793904 0:0 KernelExecution:309:14696 +129856319544959:129856321343459 0:0 CopyDeviceToHost:311:14696 +129856326211019:129856326977511 0:0 CopyHostToDevice:312:14696 +129856327061875:129856328282996 0:0 KernelExecution:316:14696 +129856327034134:129856328825473 0:0 CopyDeviceToHost:318:14696 +129856333673698:129856334437330 0:0 CopyHostToDevice:319:14696 +129856334523567:129856335745168 0:0 KernelExecution:323:14696 +129856334495713:129856336293262 0:0 CopyDeviceToHost:325:14696 +129856341101442:129856341984561 0:0 CopyHostToDevice:326:14696 +129856342071670:129856343294870 0:0 KernelExecution:330:14696 +129856342043988:129856343840850 0:0 CopyDeviceToHost:332:14696 +129856348646308:129856349354803 0:0 CopyHostToDevice:333:14696 +129856349441279:129856350662399 0:0 KernelExecution:337:14696 +129856349413003:129856351203503 0:0 CopyDeviceToHost:339:14696 +129856356094471:129856356820623 0:0 CopyHostToDevice:340:14696 +129856356907355:129856358130235 0:0 KernelExecution:344:14696 +129856356879789:129856358671945 0:0 CopyDeviceToHost:346:14696 +129856363528023:129856364288036 0:0 CopyHostToDevice:347:14696 +129856364405580:129856365626380 0:0 KernelExecution:351:14696 +129856364377906:129856366172703 0:0 CopyDeviceToHost:353:14696 +129856371087592:129856371798847 0:0 CopyHostToDevice:354:14696 +129856371883929:129856373108889 0:0 KernelExecution:358:14696 +129856371855593:129856373655534 0:0 CopyDeviceToHost:360:14696 +129856378493711:129856379257336 0:0 CopyHostToDevice:361:14696 +129856379342581:129856380565301 0:0 KernelExecution:365:14696 +129856379314699:129856381113012 0:0 CopyDeviceToHost:367:14696 +129856385977586:129856386744228 0:0 CopyHostToDevice:368:14696 +129856386831442:129856388055123 0:0 KernelExecution:372:14696 +129856386803378:129856388598263 0:0 CopyDeviceToHost:374:14696 +129856393484361:129856394251866 0:0 CopyHostToDevice:375:14696 +129856394339138:129856395561058 0:0 KernelExecution:379:14696 +129856394311639:129856396103600 0:0 CopyDeviceToHost:381:14696 +129856303774990:129856304626161 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :291 +129856304627884:129856304627885 14696:14696 MARK(name(before HIP LaunchKernel)) +129856304631072:129856304631723 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :293 +129856304633373:129856304634007 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :294 +129856304635811:129856304639104 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :295 +129856304640848:129856304640849 14696:14696 MARK(name(after HIP LaunchKernel)) +129856304642651:129856306501959 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :297 +129856311264292:129856312048766 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :298 +129856312050539:129856312050540 14696:14696 MARK(name(before HIP LaunchKernel)) +129856312053498:129856312054174 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :300 +129856312055946:129856312056653 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :301 +129856312058397:129856312061589 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :302 +129856312063201:129856312063202 14696:14696 MARK(name(after HIP LaunchKernel)) +129856312065053:129856313904746 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :304 +129856318704110:129856319483869 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :305 +129856319485543:129856319485544 14696:14696 MARK(name(before HIP LaunchKernel)) +129856319499258:129856319500048 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :307 +129856319501759:129856319502401 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :308 +129856319504307:129856319507787 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :309 +129856319509535:129856319509536 14696:14696 MARK(name(after HIP LaunchKernel)) +129856319511552:129856321356021 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :311 +129856326144210:129856326980680 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :312 +129856326982483:129856326982484 14696:14696 MARK(name(before HIP LaunchKernel)) +129856326986163:129856326986815 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :314 +129856326988581:129856326989210 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :315 +129856326991095:129856326994082 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :316 +129856326995650:129856326995651 14696:14696 MARK(name(after HIP LaunchKernel)) +129856326997461:129856328838450 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :318 +129856333608209:129856334440902 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :319 +129856334442697:129856334442698 14696:14696 MARK(name(before HIP LaunchKernel)) +129856334446427:129856334447095 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :321 +129856334448793:129856334449426 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :322 +129856334451308:129856334454120 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :323 +129856334455718:129856334455719 14696:14696 MARK(name(after HIP LaunchKernel)) +129856334457508:129856336307654 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :325 +129856341084552:129856341987761 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :326 +129856341989501:129856341989502 14696:14696 MARK(name(before HIP LaunchKernel)) +129856341992961:129856341993616 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :328 +129856341995311:129856341995915 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :329 +129856341997784:129856342000844 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :330 +129856342002457:129856342002458 14696:14696 MARK(name(after HIP LaunchKernel)) +129856342004209:129856343852827 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :332 +129856348628207:129856349358297 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :333 +129856349360014:129856349360015 14696:14696 MARK(name(before HIP LaunchKernel)) +129856349363641:129856349364301 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :335 +129856349365955:129856349366590 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :336 +129856349368410:129856349371392 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :337 +129856349373001:129856349373002 14696:14696 MARK(name(after HIP LaunchKernel)) +129856349374736:129856351215163 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :339 +129856356026231:129856356823939 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :340 +129856356825939:129856356825940 14696:14696 MARK(name(before HIP LaunchKernel)) +129856356829316:129856356829967 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :342 +129856356831607:129856356832235 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :343 +129856356834103:129856356837300 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :344 +129856356838880:129856356838881 14696:14696 MARK(name(after HIP LaunchKernel)) +129856356840997:129856358683474 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :346 +129856363457621:129856364292098 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :347 +129856364293909:129856364293910 14696:14696 MARK(name(before HIP LaunchKernel)) +129856364296242:129856364296921 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :349 +129856364298665:129856364299325 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :350 +129856364301137:129856364304805 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :351 +129856364306614:129856364306615 14696:14696 MARK(name(after HIP LaunchKernel)) +129856364308432:129856366185192 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :353 +129856371019019:129856371802348 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :354 +129856371804072:129856371804073 14696:14696 MARK(name(before HIP LaunchKernel)) +129856371807407:129856371808089 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :356 +129856371809769:129856371810408 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :357 +129856371812409:129856371815399 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :358 +129856371816938:129856371816939 14696:14696 MARK(name(after HIP LaunchKernel)) +129856371818730:129856373668223 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :360 +129856378427685:129856379260530 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :361 +129856379262413:129856379262414 14696:14696 MARK(name(before HIP LaunchKernel)) +129856379266028:129856379266680 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :363 +129856379268334:129856379268974 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :364 +129856379270951:129856379274011 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :365 +129856379275576:129856379275577 14696:14696 MARK(name(after HIP LaunchKernel)) +129856379277516:129856381125442 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :367 +129856385912709:129856386747747 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :368 +129856386749617:129856386749618 14696:14696 MARK(name(before HIP LaunchKernel)) +129856386753015:129856386753700 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :370 +129856386755603:129856386756230 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :371 +129856386758107:129856386761145 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :372 +129856386762828:129856386762829 14696:14696 MARK(name(after HIP LaunchKernel)) +129856386764527:129856388613300 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :374 +129856393418103:129856394255127 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :375 +129856394257084:129856394257085 14696:14696 MARK(name(before HIP LaunchKernel)) +129856394260727:129856394261393 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :377 +129856394263117:129856394263752 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :378 +129856394266100:129856394269007 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :379 +129856394270594:129856394270595 14696:14696 MARK(name(after HIP LaunchKernel)) +129856394272528:129856396115719 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :381 PASSED! ## Iteration (44) ################# PASSED! @@ -287,33 +669,6 @@ PASSED! ## Iteration (39) ################# PASSED! ## Iteration (38) ################# -3802702200526879:3802702201738792 0:0 KernelExecution:372:1991 -3802702200502735:3802702203073505 0:0 CopyDeviceToHost:374:1991 -3802702210101096:3802702211781099 0:0 CopyHostToDevice:375:1991 -3802702211874278:3802702213070339 0:0 KernelExecution:379:1991 -3802702211851149:3802702214405528 0:0 CopyDeviceToHost:381:1991 -3802702221371170:3802702223046872 0:0 CopyHostToDevice:382:1991 -3802702223141537:3802702224348264 0:0 KernelExecution:386:1991 -3802702223118273:3802702225680452 0:0 CopyDeviceToHost:388:1991 -3802702232644404:3802702234313936 0:0 CopyHostToDevice:389:1991 -3802702234409358:3802702235607788 0:0 KernelExecution:393:1991 -3802702234385867:3802702236943196 0:0 CopyDeviceToHost:395:1991 -3802702243900787:3802702245580279 0:0 CopyHostToDevice:396:1991 -3802702245674663:3802702246878279 0:0 KernelExecution:400:1991 -3802702245651760:3802702248198969 0:0 CopyDeviceToHost:402:1991 -3802702255168930:3802702256847073 0:0 CopyHostToDevice:403:1991 -3802702256941454:3802702258155589 0:0 KernelExecution:407:1991 -3802702256918733:3802702259489683 0:0 CopyDeviceToHost:409:1991 -3802702266456174:3802702268121957 0:0 CopyHostToDevice:410:1991 -3802702268222984:3802702269419637 0:0 KernelExecution:414:1991 -3802702268198287:3802702270718936 0:0 CopyDeviceToHost:416:1991 -3802702277684438:3802702279355020 0:0 CopyHostToDevice:417:1991 -3802702279449065:3802702280656977 0:0 KernelExecution:421:1991 -3802702279425380:3802702281990519 0:0 CopyDeviceToHost:423:1991 -3802702288963001:3802702290626813 0:0 CopyHostToDevice:424:1991 -3802702290725647:3802702291916077 0:0 KernelExecution:428:1991 -3802702290702274:3802702293249973 0:0 CopyDeviceToHost:430:1991 -3802702300213905:3802702301888607 0:0 CopyHostToDevice:431:1991 PASSED! ## Iteration (37) ################# PASSED! @@ -326,38 +681,152 @@ PASSED! ## Iteration (33) ################# PASSED! ## Iteration (32) ################# +129856400949298:129856401690102 0:0 CopyHostToDevice:382:14696 +129856401774737:129856402998097 0:0 KernelExecution:386:14696 +129856401746598:129856403538591 0:0 CopyDeviceToHost:388:14696 +129856408364229:129856409075649 0:0 CopyHostToDevice:389:14696 +129856409181579:129856410405739 0:0 KernelExecution:393:14696 +129856409154049:129856410946890 0:0 CopyDeviceToHost:395:14696 +129856415833858:129856416545026 0:0 CopyHostToDevice:396:14696 +129856416634688:129856417856288 0:0 KernelExecution:400:14696 +129856416607076:129856418397645 0:0 CopyDeviceToHost:402:14696 +129856423255064:129856423962733 0:0 CopyHostToDevice:403:14696 +129856424049344:129856425272224 0:0 KernelExecution:407:14696 +129856424021555:129856425837337 0:0 CopyDeviceToHost:409:14696 +129856430719717:129856431443207 0:0 CopyHostToDevice:410:14696 +129856431530370:129856432753411 0:0 KernelExecution:414:14696 +129856431502760:129856433290891 0:0 CopyDeviceToHost:416:14696 +129856438127461:129856438893077 0:0 CopyHostToDevice:417:14696 +129856438981153:129856440204834 0:0 KernelExecution:421:14696 +129856438953062:129856440755527 0:0 CopyDeviceToHost:423:14696 +129856445658301:129856446425541 0:0 CopyHostToDevice:424:14696 +129856446512512:129856447734433 0:0 KernelExecution:428:14696 +129856446484748:129856448303143 0:0 CopyDeviceToHost:430:14696 +129856453131279:129856453895371 0:0 CopyHostToDevice:431:14696 +129856453982502:129856455205222 0:0 KernelExecution:435:14696 +129856453954390:129856455747092 0:0 CopyDeviceToHost:437:14696 +129856460549446:129856461267384 0:0 CopyHostToDevice:438:14696 +129856461354488:129856462578648 0:0 KernelExecution:442:14696 +129856461327009:129856463119514 0:0 CopyDeviceToHost:444:14696 +129856467954463:129856468665082 0:0 CopyHostToDevice:445:14696 +129856468756966:129856469978566 0:0 KernelExecution:449:14696 +129856468728958:129856470519550 0:0 CopyDeviceToHost:451:14696 +129856475396016:129856476106990 0:0 CopyHostToDevice:452:14696 +129856476191506:129856477415026 0:0 KernelExecution:456:14696 +129856476164143:129856477979522 0:0 CopyDeviceToHost:458:14696 +129856482841902:129856483550322 0:0 CopyHostToDevice:459:14696 +129856483636804:129856484858245 0:0 KernelExecution:463:14696 +129856483608842:129856485404598 0:0 CopyDeviceToHost:465:14696 +129856490264533:129856491036044 0:0 CopyHostToDevice:466:14696 +129856491121979:129856492348219 0:0 KernelExecution:470:14696 +129856491094217:129856492893929 0:0 CopyDeviceToHost:472:14696 +129856497730065:129856498496809 0:0 CopyHostToDevice:473:14696 +129856498583201:129856499806882 0:0 KernelExecution:477:14696 +129856498555486:129856500349740 0:0 CopyDeviceToHost:479:14696 +129856400931528:129856401693841 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :382 +129856401695697:129856401695698 14696:14696 MARK(name(before HIP LaunchKernel)) +129856401698086:129856401698763 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :384 +129856401700644:129856401701356 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :385 +129856401703387:129856401706670 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :386 +129856401708283:129856401708284 14696:14696 MARK(name(after HIP LaunchKernel)) +129856401710202:129856403550731 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :388 +129856408346178:129856409079144 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :389 +129856409080946:129856409080947 14696:14696 MARK(name(before HIP LaunchKernel)) +129856409119575:129856409120361 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :391 +129856409122350:129856409122982 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :392 +129856409124716:129856409127974 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :393 +129856409129722:129856409129723 14696:14696 MARK(name(after HIP LaunchKernel)) +129856409131595:129856410958682 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :395 +129856415764088:129856416549283 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :396 +129856416551147:129856416551148 14696:14696 MARK(name(before HIP LaunchKernel)) +129856416554753:129856416555457 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :398 +129856416557440:129856416558065 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :399 +129856416560077:129856416563543 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :400 +129856416565220:129856416565221 14696:14696 MARK(name(after HIP LaunchKernel)) +129856416567086:129856418410890 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :402 +129856423185992:129856423965984 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :403 +129856423967686:129856423967687 14696:14696 MARK(name(before HIP LaunchKernel)) +129856423971156:129856423971813 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :405 +129856423973453:129856423974058 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :406 +129856423975959:129856423979023 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :407 +129856423980620:129856423980621 14696:14696 MARK(name(after HIP LaunchKernel)) +129856423982481:129856425851437 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :409 +129856430649566:129856431446819 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :410 +129856431448647:129856431448648 14696:14696 MARK(name(before HIP LaunchKernel)) +129856431451980:129856431452627 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :412 +129856431454467:129856431455103 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :413 +129856431457061:129856431460021 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :414 +129856431461633:129856431461634 14696:14696 MARK(name(after HIP LaunchKernel)) +129856431463427:129856433305223 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :416 +129856438060199:129856438896337 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :417 +129856438898056:129856438898057 14696:14696 MARK(name(before HIP LaunchKernel)) +129856438901614:129856438902293 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :419 +129856438903944:129856438904582 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :420 +129856438906471:129856438909460 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :421 +129856438910995:129856438910996 14696:14696 MARK(name(after HIP LaunchKernel)) +129856438913099:129856440770029 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :423 +129856445589904:129856446428787 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :424 +129856446430525:129856446430526 14696:14696 MARK(name(before HIP LaunchKernel)) +129856446434097:129856446434755 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :426 +129856446436446:129856446437074 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :427 +129856446438958:129856446442103 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :428 +129856446443705:129856446443706 14696:14696 MARK(name(after HIP LaunchKernel)) +129856446445611:129856448319675 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :430 +129856453113306:129856453898651 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :431 +129856453900443:129856453900444 14696:14696 MARK(name(before HIP LaunchKernel)) +129856453903924:129856453904588 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :433 +129856453906239:129856453906854 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :434 +129856453908740:129856453911874 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :435 +129856453913486:129856453913487 14696:14696 MARK(name(after HIP LaunchKernel)) +129856453915356:129856455761272 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :437 +129856460531599:129856461270590 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :438 +129856461272368:129856461272369 14696:14696 MARK(name(before HIP LaunchKernel)) +129856461275845:129856461276515 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :440 +129856461278198:129856461278850 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :441 +129856461280791:129856461283899 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :442 +129856461285595:129856461285596 14696:14696 MARK(name(after HIP LaunchKernel)) +129856461287388:129856463133280 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :444 +129856467884995:129856468668564 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :445 +129856468670291:129856468670292 14696:14696 MARK(name(before HIP LaunchKernel)) +129856468673055:129856468673710 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :447 +129856468675408:129856468676048 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :448 +129856468677942:129856468681455 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :449 +129856468683148:129856468683149 14696:14696 MARK(name(after HIP LaunchKernel)) +129856468685101:129856470532724 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :451 +129856475326269:129856476110399 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :452 +129856476112220:129856476112221 14696:14696 MARK(name(before HIP LaunchKernel)) +129856476115691:129856476116355 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :454 +129856476118083:129856476118692 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :455 +129856476120553:129856476123478 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :456 +129856476125144:129856476125145 14696:14696 MARK(name(after HIP LaunchKernel)) +129856476126929:129856477993159 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :458 +129856482771986:129856483553655 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :459 +129856483555435:129856483555436 14696:14696 MARK(name(before HIP LaunchKernel)) +129856483559048:129856483559715 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :461 +129856483561368:129856483561995 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :462 +129856483563875:129856483567045 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :463 +129856483569037:129856483569038 14696:14696 MARK(name(after HIP LaunchKernel)) +129856483570875:129856485418803 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :465 +129856490199703:129856491039451 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :466 +129856491041225:129856491041226 14696:14696 MARK(name(before HIP LaunchKernel)) +129856491044551:129856491045204 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :468 +129856491046844:129856491047481 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :469 +129856491049291:129856491052245 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :470 +129856491053805:129856491053806 14696:14696 MARK(name(after HIP LaunchKernel)) +129856491055528:129856492907612 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :472 +129856497665310:129856498500405 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :473 +129856498502066:129856498502067 14696:14696 MARK(name(before HIP LaunchKernel)) +129856498505506:129856498506141 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :475 +129856498507858:129856498508491 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :476 +129856498510523:129856498513554 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :477 +129856498515137:129856498515138 14696:14696 MARK(name(after HIP LaunchKernel)) +129856498517011:129856500365762 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :479 PASSED! ## Iteration (31) ################# PASSED! ## Iteration (30) ################# PASSED! ## Iteration (29) ################# -3802702301982442:3802702303186799 0:0 KernelExecution:435:1991 -3802702301959178:3802702304503997 0:0 CopyDeviceToHost:437:1991 -3802702311466108:3802702313146390 0:0 CopyHostToDevice:438:1991 -3802702313238825:3802702314439626 0:0 KernelExecution:442:1991 -3802702313215791:3802702315773720 0:0 CopyDeviceToHost:444:1991 -3802702322736361:3802702324399864 0:0 CopyHostToDevice:445:1991 -3802702324503098:3802702325721085 0:0 KernelExecution:449:1991 -3802702324478794:3802702327055594 0:0 CopyDeviceToHost:451:1991 -3802702334030715:3802702335709388 0:0 CopyHostToDevice:452:1991 -3802702335806620:3802702337014532 0:0 KernelExecution:456:1991 -3802702335783968:3802702338348468 0:0 CopyDeviceToHost:458:1991 -3802702345327399:3802702347004601 0:0 CopyHostToDevice:459:1991 -3802702347117082:3802702348318476 0:0 KernelExecution:463:1991 -3802702347074012:3802702349651691 0:0 CopyDeviceToHost:465:1991 -3802702356616483:3802702358289405 0:0 CopyHostToDevice:466:1991 -3802702358382881:3802702359585164 0:0 KernelExecution:470:1991 -3802702358359406:3802702360920335 0:0 CopyDeviceToHost:472:1991 -3802702367904117:3802702369585909 0:0 CopyHostToDevice:473:1991 -3802702369679903:3802702370875371 0:0 KernelExecution:477:1991 -3802702369656630:3802702372196308 0:0 CopyDeviceToHost:479:1991 -3802702379156600:3802702380837792 0:0 CopyHostToDevice:480:1991 -3802702380930326:3802702382134830 0:0 KernelExecution:484:1991 -3802702380907402:3802702383472292 0:0 CopyDeviceToHost:486:1991 -3802702390441713:3802702392106996 0:0 CopyHostToDevice:487:1991 -3802702392207713:3802702393417847 0:0 KernelExecution:491:1991 -3802702392183556:3802702394752325 0:0 CopyDeviceToHost:493:1991 PASSED! ## Iteration (28) ################# PASSED! @@ -376,37 +845,147 @@ PASSED! ## Iteration (21) ################# PASSED! ## Iteration (20) ################# -3802702401709737:3802702403387670 0:0 CopyHostToDevice:494:1991 -3802702403489293:3802702404695872 0:0 KernelExecution:498:1991 -3802702403465280:3802702406030229 0:0 CopyDeviceToHost:500:1991 -3802702412982171:3802702414646163 0:0 CopyHostToDevice:501:1991 -3802702414739104:3802702415951461 0:0 KernelExecution:505:1991 -3802702414715973:3802702417282642 0:0 CopyDeviceToHost:507:1991 -3802702424250984:3802702425925207 0:0 CopyHostToDevice:508:1991 -3802702426022614:3802702427240009 0:0 KernelExecution:512:1991 -3802702425999277:3802702428556726 0:0 CopyDeviceToHost:514:1991 -3802702435521608:3802702437497583 0:0 CopyHostToDevice:515:1991 -3802702437591756:3802702438798483 0:0 KernelExecution:519:1991 -3802702437567843:3802702440117692 0:0 CopyDeviceToHost:521:1991 -3802702447076184:3802702448752496 0:0 CopyHostToDevice:522:1991 -3802702448844326:3802702450040979 0:0 KernelExecution:526:1991 -3802702448821457:3802702451374905 0:0 CopyDeviceToHost:528:1991 -3802702458338087:3802702460115460 0:0 CopyHostToDevice:529:1991 -3802702460219046:3802702461421625 0:0 KernelExecution:533:1991 -3802702460192041:3802702462758090 0:0 CopyDeviceToHost:535:1991 -3802702469730872:3802702471408304 0:0 CopyHostToDevice:536:1991 -3802702471502923:3802702472699724 0:0 KernelExecution:540:1991 -3802702471478905:3802702474035724 0:0 CopyDeviceToHost:542:1991 -3802702481000815:3802702482659947 0:0 CopyHostToDevice:543:1991 -3802702482757759:3802702483952190 0:0 KernelExecution:547:1991 -3802702482734898:3802702485283566 0:0 CopyDeviceToHost:549:1991 -3802702492244298:3802702493917401 0:0 CopyHostToDevice:550:1991 -3802702494011385:3802702495222705 0:0 KernelExecution:554:1991 -3802702493988441:3802702496538570 0:0 CopyDeviceToHost:556:1991 PASSED! ## Iteration (19) ################# PASSED! ## Iteration (18) ################# +129856505198157:129856505972108 0:0 CopyHostToDevice:480:14696 +129856506058878:129856507279678 0:0 KernelExecution:484:14696 +129856506031181:129856507818608 0:0 CopyDeviceToHost:486:14696 +129856512668452:129856513378344 0:0 CopyHostToDevice:487:14696 +129856513463906:129856514683906 0:0 KernelExecution:491:14696 +129856513435880:129856515225665 0:0 CopyDeviceToHost:493:14696 +129856520057898:129856520789533 0:0 CopyHostToDevice:494:14696 +129856520877018:129856522100858 0:0 KernelExecution:498:14696 +129856520849406:129856522643928 0:0 CopyDeviceToHost:500:14696 +129856527495540:129856528214422 0:0 CopyHostToDevice:501:14696 +129856528300948:129856529522228 0:0 KernelExecution:505:14696 +129856528273469:129856530060374 0:0 CopyDeviceToHost:507:14696 +129856534970413:129856535678341 0:0 CopyHostToDevice:508:14696 +129856535767312:129856536986193 0:0 KernelExecution:512:14696 +129856535739484:129856537527830 0:0 CopyDeviceToHost:514:14696 +129856542452848:129856543222239 0:0 CopyHostToDevice:515:14696 +129856543308707:129856544531907 0:0 KernelExecution:519:14696 +129856543281047:129856545069937 0:0 CopyDeviceToHost:521:14696 +129856549924160:129856550693828 0:0 CopyHostToDevice:522:14696 +129856550779510:129856552004150 0:0 KernelExecution:526:14696 +129856550751409:129856552552270 0:0 CopyDeviceToHost:528:14696 +129856557413139:129856558179223 0:0 CopyHostToDevice:529:14696 +129856558266309:129856559487269 0:0 KernelExecution:533:14696 +129856558237736:129856560027323 0:0 CopyDeviceToHost:535:14696 +129856564827841:129856565542599 0:0 CopyHostToDevice:536:14696 +129856565630041:129856566854841 0:0 KernelExecution:540:14696 +129856565602389:129856567397324 0:0 CopyDeviceToHost:542:14696 +129856572247710:129856572954375 0:0 CopyHostToDevice:543:14696 +129856573041963:129856574264203 0:0 KernelExecution:547:14696 +129856573013452:129856574809983 0:0 CopyDeviceToHost:549:14696 +129856579656436:129856580368439 0:0 CopyHostToDevice:550:14696 +129856580456039:129856581680039 0:0 KernelExecution:554:14696 +129856580428344:129856582226693 0:0 CopyDeviceToHost:556:14696 +129856587092681:129856587802199 0:0 CopyHostToDevice:557:14696 +129856587888587:129856589111627 0:0 KernelExecution:561:14696 +129856587861029:129856589654526 0:0 CopyDeviceToHost:563:14696 +129856594498640:129856595270698 0:0 CopyHostToDevice:564:14696 +129856595356053:129856596579733 0:0 KernelExecution:568:14696 +129856595328424:129856597128257 0:0 CopyDeviceToHost:570:14696 +129856601984341:129856602751266 0:0 CopyHostToDevice:571:14696 +129856505180003:129856505975222 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :480 +129856505976980:129856505976981 14696:14696 MARK(name(before HIP LaunchKernel)) +129856505980587:129856505981234 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :482 +129856505982935:129856505983566 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :483 +129856505985434:129856505988514 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :484 +129856505990096:129856505990097 14696:14696 MARK(name(after HIP LaunchKernel)) +129856505991997:129856507832334 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :486 +129856512649603:129856513382084 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :487 +129856513384599:129856513384600 14696:14696 MARK(name(before HIP LaunchKernel)) +129856513388119:129856513389080 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :489 +129856513391435:129856513392275 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :490 +129856513394697:129856513399367 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :491 +129856513401523:129856513401524 14696:14696 MARK(name(after HIP LaunchKernel)) +129856513404257:129856515239416 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :493 +129856519992571:129856520793180 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :494 +129856520794974:129856520794975 14696:14696 MARK(name(before HIP LaunchKernel)) +129856520798420:129856520799070 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :496 +129856520800911:129856520801530 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :497 +129856520803611:129856520806841 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :498 +129856520808737:129856520808738 14696:14696 MARK(name(after HIP LaunchKernel)) +129856520810545:129856522657358 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :500 +129856527425346:129856528218117 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :501 +129856528219874:129856528219875 14696:14696 MARK(name(before HIP LaunchKernel)) +129856528221975:129856528222627 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :503 +129856528224439:129856528225291 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :504 +129856528227108:129856528230172 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :505 +129856528231752:129856528231753 14696:14696 MARK(name(after HIP LaunchKernel)) +129856528233473:129856530074548 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :507 +129856534899214:129856535681957 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :508 +129856535683676:129856535683677 14696:14696 MARK(name(before HIP LaunchKernel)) +129856535686401:129856535687061 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :510 +129856535688790:129856535689423 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :511 +129856535691153:129856535694294 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :512 +129856535695868:129856535695869 14696:14696 MARK(name(after HIP LaunchKernel)) +129856535697671:129856537541753 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :514 +129856542387175:129856543225418 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :515 +129856543227192:129856543227193 14696:14696 MARK(name(before HIP LaunchKernel)) +129856543230911:129856543231570 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :517 +129856543233243:129856543233871 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :518 +129856543235930:129856543238762 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :519 +129856543240359:129856543240360 14696:14696 MARK(name(after HIP LaunchKernel)) +129856543242179:129856545084137 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :521 +129856549857104:129856550696919 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :522 +129856550698874:129856550698875 14696:14696 MARK(name(before HIP LaunchKernel)) +129856550702196:129856550702852 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :524 +129856550704612:129856550705254 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :525 +129856550707079:129856550709869 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :526 +129856550711442:129856550711443 14696:14696 MARK(name(after HIP LaunchKernel)) +129856550713182:129856552568840 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :528 +129856557336788:129856558182426 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :529 +129856558184195:129856558184196 14696:14696 MARK(name(before HIP LaunchKernel)) +129856558187727:129856558188380 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :531 +129856558190122:129856558190752 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :532 +129856558192774:129856558195554 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :533 +129856558197324:129856558197325 14696:14696 MARK(name(after HIP LaunchKernel)) +129856558199234:129856560041419 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :535 +129856564809360:129856565545640 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :536 +129856565547393:129856565547394 14696:14696 MARK(name(before HIP LaunchKernel)) +129856565549636:129856565550299 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :538 +129856565551969:129856565552581 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :539 +129856565554301:129856565557438 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :540 +129856565559047:129856565559048 14696:14696 MARK(name(after HIP LaunchKernel)) +129856565560847:129856567411065 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :542 +129856572215770:129856572957492 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :543 +129856572959234:129856572959235 14696:14696 MARK(name(before HIP LaunchKernel)) +129856572962526:129856572963184 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :545 +129856572964912:129856572965546 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :546 +129856572967421:129856572970453 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :547 +129856572972097:129856572972098 14696:14696 MARK(name(after HIP LaunchKernel)) +129856572974076:129856574823083 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :549 +129856579588261:129856580372449 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :550 +129856580374262:129856580374263 14696:14696 MARK(name(before HIP LaunchKernel)) +129856580376547:129856580377227 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :552 +129856580378975:129856580379619 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :553 +129856580381546:129856580384467 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :554 +129856580386225:129856580386226 14696:14696 MARK(name(after HIP LaunchKernel)) +129856580388205:129856582240020 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :556 +129856587022783:129856587805709 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :557 +129856587807440:129856587807441 14696:14696 MARK(name(before HIP LaunchKernel)) +129856587811171:129856587811825 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :559 +129856587813530:129856587814170 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :560 +129856587816040:129856587819243 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :561 +129856587820912:129856587820913 14696:14696 MARK(name(after HIP LaunchKernel)) +129856587822927:129856589666874 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :563 +129856594433516:129856595273993 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :564 +129856595275800:129856595275801 14696:14696 MARK(name(before HIP LaunchKernel)) +129856595278990:129856595279652 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :566 +129856595281384:129856595282018 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :567 +129856595283991:129856595287449 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :568 +129856595289101:129856595289102 14696:14696 MARK(name(after HIP LaunchKernel)) +129856595291045:129856597140491 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :570 +129856601919460:129856602754655 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :571 +129856602756445:129856602756446 14696:14696 MARK(name(before HIP LaunchKernel)) +129856602769740:129856602770661 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :573 +129856602772396:129856602773016 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :574 +129856602775079:129856602778192 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :575 +129856602779755:129856602779756 14696:14696 MARK(name(after HIP LaunchKernel)) PASSED! ## Iteration (17) ################# PASSED! @@ -419,33 +998,6 @@ PASSED! ## Iteration (13) ################# PASSED! ## Iteration (12) ################# -3802702503514682:3802702505171794 0:0 CopyHostToDevice:557:1991 -3802702505267652:3802702506468157 0:0 KernelExecution:561:1991 -3802702505243905:3802702507802814 0:0 CopyDeviceToHost:563:1991 -3802702514761386:3802702516425008 0:0 CopyHostToDevice:564:1991 -3802702516524080:3802702517731252 0:0 KernelExecution:568:1991 -3802702516500289:3802702519068477 0:0 CopyDeviceToHost:570:1991 -3802702526022439:3802702527700141 0:0 CopyHostToDevice:571:1991 -3802702527794104:3802702528982164 0:0 KernelExecution:575:1991 -3802702527771042:3802702530315231 0:0 CopyDeviceToHost:577:1991 -3802702537274272:3802702538953635 0:0 CopyHostToDevice:578:1991 -3802702539050334:3802702540254987 0:0 KernelExecution:582:1991 -3802702539025425:3802702541587134 0:0 CopyDeviceToHost:584:1991 -3802702548553016:3802702550225609 0:0 CopyHostToDevice:585:1991 -3802702550319337:3802702551518805 0:0 KernelExecution:589:1991 -3802702550295569:3802702552853758 0:0 CopyDeviceToHost:591:1991 -3802702559816479:3802702561495482 0:0 CopyHostToDevice:592:1991 -3802702561589855:3802702562788137 0:0 KernelExecution:596:1991 -3802702561565542:3802702564108601 0:0 CopyDeviceToHost:598:1991 -3802702571069693:3802702572746995 0:0 CopyHostToDevice:599:1991 -3802702572840650:3802702574041747 0:0 KernelExecution:603:1991 -3802702572817856:3802702575375565 0:0 CopyDeviceToHost:605:1991 -3802702582343137:3802702584028249 0:0 CopyHostToDevice:606:1991 -3802702584131111:3802702585314874 0:0 KernelExecution:610:1991 -3802702584098390:3802702586648988 0:0 CopyDeviceToHost:612:1991 -3802702593620890:3802702595300582 0:0 CopyHostToDevice:613:1991 -3802702595394737:3802702596603391 0:0 KernelExecution:617:1991 -3802702595371233:3802702597936882 0:0 CopyDeviceToHost:619:1991 PASSED! ## Iteration (11) ################# PASSED! @@ -460,37 +1012,143 @@ PASSED! ## Iteration (6) ################# PASSED! ## Iteration (5) ################# +129856602843500:129856604064780 0:0 KernelExecution:575:14696 +129856602815760:129856604621212 0:0 CopyDeviceToHost:577:14696 +129856609545997:129856610317997 0:0 CopyHostToDevice:578:14696 +129856610406851:129856611631491 0:0 KernelExecution:582:14696 +129856610379025:129856612168754 0:0 CopyDeviceToHost:584:14696 +129856616987475:129856617701731 0:0 CopyHostToDevice:585:14696 +129856617790176:129856619014496 0:0 KernelExecution:589:14696 +129856617761809:129856619559063 0:0 CopyDeviceToHost:591:14696 +129856624349579:129856625289209 0:0 CopyHostToDevice:592:14696 +129856625377836:129856626603916 0:0 KernelExecution:596:14696 +129856625350001:129856627147692 0:0 CopyDeviceToHost:598:14696 +129856632033149:129856632742303 0:0 CopyHostToDevice:599:14696 +129856632836527:129856634057647 0:0 KernelExecution:603:14696 +129856632808948:129856634598487 0:0 CopyDeviceToHost:605:14696 +129856639443412:129856640151030 0:0 CopyHostToDevice:606:14696 +129856640260250:129856641484890 0:0 KernelExecution:610:14696 +129856640232509:129856642041965 0:0 CopyDeviceToHost:612:14696 +129856646912100:129856647619752 0:0 CopyHostToDevice:613:14696 +129856647705914:129856648930874 0:0 KernelExecution:617:14696 +129856647678197:129856649476287 0:0 CopyDeviceToHost:619:14696 +129856654338593:129856655101879 0:0 CopyHostToDevice:620:14696 +129856655189659:129856656412699 0:0 KernelExecution:624:14696 +129856655161891:129856656960409 0:0 CopyDeviceToHost:626:14696 +129856661822483:129856662586330 0:0 CopyHostToDevice:627:14696 +129856662679432:129856663900712 0:0 KernelExecution:631:14696 +129856662650940:129856664447428 0:0 CopyDeviceToHost:633:14696 +129856669274444:129856670036595 0:0 CopyHostToDevice:634:14696 +129856670129015:129856671350615 0:0 KernelExecution:638:14696 +129856670101388:129856671895354 0:0 CopyDeviceToHost:640:14696 +129856676687339:129856677401038 0:0 CopyHostToDevice:641:14696 +129856677491350:129856678712950 0:0 KernelExecution:645:14696 +129856677463387:129856679258027 0:0 CopyDeviceToHost:647:14696 +129856684088485:129856684823542 0:0 CopyHostToDevice:648:14696 +129856684910895:129856686132975 0:0 KernelExecution:652:14696 +129856684882539:129856686675228 0:0 CopyDeviceToHost:654:14696 +129856691574066:129856692284982 0:0 CopyHostToDevice:655:14696 +129856692371897:129856693594617 0:0 KernelExecution:659:14696 +129856692344278:129856694142257 0:0 CopyDeviceToHost:661:14696 +129856699000899:129856699713058 0:0 CopyHostToDevice:662:14696 +129856699797526:129856701023446 0:0 KernelExecution:666:14696 +129856699769937:129856701569372 0:0 CopyDeviceToHost:668:14696 +129856602781709:129856604636152 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :577 +129856609479851:129856610321075 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :578 +129856610323078:129856610323079 14696:14696 MARK(name(before HIP LaunchKernel)) +129856610326500:129856610327162 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :580 +129856610328857:129856610329498 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :581 +129856610331492:129856610334664 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :582 +129856610336290:129856610336291 14696:14696 MARK(name(after HIP LaunchKernel)) +129856610338048:129856612222255 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :584 +129856616969217:129856617705105 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :585 +129856617706989:129856617706990 14696:14696 MARK(name(before HIP LaunchKernel)) +129856617710485:129856617711142 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :587 +129856617712846:129856617713491 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :588 +129856617715518:129856617718644 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :589 +129856617720274:129856617720275 14696:14696 MARK(name(after HIP LaunchKernel)) +129856617722118:129856619570993 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :591 +129856624331436:129856625292310 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :592 +129856625294207:129856625294208 14696:14696 MARK(name(before HIP LaunchKernel)) +129856625297113:129856625297761 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :594 +129856625299459:129856625300093 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :595 +129856625301835:129856625305409 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :596 +129856625307116:129856625307117 14696:14696 MARK(name(after HIP LaunchKernel)) +129856625309051:129856627159676 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :598 +129856631962417:129856632745795 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :599 +129856632747622:129856632747623 14696:14696 MARK(name(before HIP LaunchKernel)) +129856632761013:129856632761762 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :601 +129856632763565:129856632764219 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :602 +129856632766094:129856632769110 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :603 +129856632770707:129856632770708 14696:14696 MARK(name(after HIP LaunchKernel)) +129856632772662:129856634610068 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :605 +129856639375744:129856640154106 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :606 +129856640155933:129856640155934 14696:14696 MARK(name(before HIP LaunchKernel)) +129856640159565:129856640160216 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :608 +129856640161841:129856640162476 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :609 +129856640164410:129856640167293 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :610 +129856640168886:129856640168887 14696:14696 MARK(name(after HIP LaunchKernel)) +129856640170703:129856642054780 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :612 +129856646841774:129856647623131 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :613 +129856647624849:129856647624850 14696:14696 MARK(name(before HIP LaunchKernel)) +129856647628076:129856647628742 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :615 +129856647630426:129856647631050 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :616 +129856647632957:129856647636281 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :617 +129856647637872:129856647637873 14696:14696 MARK(name(after HIP LaunchKernel)) +129856647639599:129856649488719 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :619 +129856654273909:129856655105030 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :620 +129856655106878:129856655106879 14696:14696 MARK(name(before HIP LaunchKernel)) +129856655109847:129856655110497 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :622 +129856655112292:129856655112914 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :623 +129856655114757:129856655118162 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :624 +129856655119835:129856655119836 14696:14696 MARK(name(after HIP LaunchKernel)) +129856655121792:129856656973292 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :626 PASSED! ## Iteration (4) ################# +129856661755424:129856662589447 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :627 +129856662591236:129856662591237 14696:14696 MARK(name(before HIP LaunchKernel)) +129856662604066:129856662604831 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :629 +129856662606611:129856662607261 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :630 +129856662608995:129856662611988 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :631 +129856662613644:129856662613645 14696:14696 MARK(name(after HIP LaunchKernel)) +129856662615584:129856664462467 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :633 +129856669256336:129856670039683 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :634 +129856670041634:129856670041635 14696:14696 MARK(name(before HIP LaunchKernel)) +129856670054499:129856670055254 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :636 +129856670056982:129856670057615 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :637 +129856670059351:129856670062513 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :638 +129856670064113:129856670064114 14696:14696 MARK(name(after HIP LaunchKernel)) +129856670066200:129856671906923 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :640 +129856676668791:129856677404223 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :641 +129856677406068:129856677406069 14696:14696 MARK(name(before HIP LaunchKernel)) +129856677408812:129856677409484 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :643 +129856677411095:129856677411722 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :644 +129856677413461:129856677416941 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :645 +129856677418503:129856677418504 14696:14696 MARK(name(after HIP LaunchKernel)) +129856677420242:129856679269939 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :647 +129856684019418:129856684826552 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :648 +129856684828363:129856684828364 14696:14696 MARK(name(before HIP LaunchKernel)) +129856684832034:129856684832695 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :650 +129856684834368:129856684834970 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :651 +129856684836877:129856684839963 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :652 +129856684841560:129856684841561 14696:14696 MARK(name(after HIP LaunchKernel)) +129856684843320:129856686688518 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :654 +129856691504696:129856692288950 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :655 +129856692290798:129856692290799 14696:14696 MARK(name(before HIP LaunchKernel)) +129856692292859:129856692293513 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :657 +129856692295227:129856692295860 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :658 +129856692297819:129856692300821 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :659 +129856692302355:129856692302356 14696:14696 MARK(name(after HIP LaunchKernel)) +129856692304530:129856694153679 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :661 +129856698928289:129856699716162 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :662 +129856699717890:129856699717891 14696:14696 MARK(name(before HIP LaunchKernel)) +129856699720061:129856699720715 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :664 +129856699722330:129856699722941 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :665 +129856699724836:129856699728198 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :666 +129856699729953:129856699729954 14696:14696 MARK(name(after HIP LaunchKernel)) +129856699731887:129856701581422 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :668 PASSED! ## Iteration (3) ################# -3802702605023015:3802702606699537 0:0 CopyHostToDevice:620:1991 -3802702606793386:3802702607994484 0:0 KernelExecution:624:1991 -3802702606770418:3802702609331847 0:0 CopyDeviceToHost:626:1991 -3802702616295619:3802702617971351 0:0 CopyHostToDevice:627:1991 -3802702618064582:3802702619276198 0:0 KernelExecution:631:1991 -3802702618041252:3802702620593170 0:0 CopyDeviceToHost:633:1991 -3802702627572022:3802702629249514 0:0 CopyHostToDevice:634:1991 -3802702629343204:3802702630550228 0:0 KernelExecution:638:1991 -3802702629319715:3802702631886524 0:0 CopyDeviceToHost:640:1991 -3802702638854896:3802702640514568 0:0 CopyHostToDevice:641:1991 -3802702640601153:3802702641794250 0:0 KernelExecution:645:1991 -3802702640583338:3802702643131137 0:0 CopyDeviceToHost:647:1991 -3802702650106259:3802702651784942 0:0 CopyHostToDevice:648:1991 -3802702651876671:3802702653079250 0:0 KernelExecution:652:1991 -3802702651853582:3802702654414351 0:0 CopyDeviceToHost:654:1991 -3802702661383522:3802702663061155 0:0 CopyHostToDevice:655:1991 -3802702663154356:3802702664347453 0:0 KernelExecution:659:1991 -3802702663130645:3802702665680984 0:0 CopyDeviceToHost:661:1991 -3802702672630496:3802702674303238 0:0 CopyHostToDevice:662:1991 -3802702674398093:3802702675599190 0:0 KernelExecution:666:1991 -3802702674374489:3802702676932868 0:0 CopyDeviceToHost:668:1991 -3802702683898880:3802702685606503 0:0 CopyHostToDevice:669:1991 -3802702685701165:3802702686898410 0:0 KernelExecution:673:1991 -3802702685678193:3802702688219002 0:0 CopyDeviceToHost:675:1991 -3802702695162453:3802702696838515 0:0 CopyHostToDevice:676:1991 -3802702696932444:3802702698137097 0:0 KernelExecution:680:1991 -3802702696909796:3802702699473165 0:0 CopyDeviceToHost:682:1991 PASSED! ## Iteration (2) ################# PASSED! @@ -498,12 +1156,55 @@ PASSED! PASSED! ## Iteration (0) ################# PASSED! -3802702706580728:3802702708245350 0:0 CopyHostToDevice:683:1991 -3802702708346791:3802702709549370 0:0 KernelExecution:687:1991 -3802702708322181:3802702710885410 0:0 CopyDeviceToHost:689:1991 -3802702717849822:3802702719525044 0:0 CopyHostToDevice:690:1991 -3802702719618857:3802702720813139 0:0 KernelExecution:694:1991 -3802702719594825:3802702722149644 0:0 CopyDeviceToHost:696:1991 -3802702729111215:3802702730788167 0:0 CopyHostToDevice:697:1991 -3802702730881622:3802702732076497 0:0 KernelExecution:701:1991 -3802702730858498:3802702733412517 0:0 CopyDeviceToHost:703:1991 +129856706468741:129856707235310 0:0 CopyHostToDevice:669:14696 +129856707327230:129856708548510 0:0 KernelExecution:673:14696 +129856707299810:129856709098218 0:0 CopyDeviceToHost:675:14696 +129856713958124:129856714730788 0:0 CopyHostToDevice:676:14696 +129856714818472:129856716040872 0:0 KernelExecution:680:14696 +129856714790211:129856716592662 0:0 CopyDeviceToHost:682:14696 +129856721429109:129856722193080 0:0 CopyHostToDevice:683:14696 +129856722282194:129856723505714 0:0 KernelExecution:687:14696 +129856722254384:129856724056420 0:0 CopyDeviceToHost:689:14696 +129856728891611:129856729607012 0:0 CopyHostToDevice:690:14696 +129856729693911:129856730917431 0:0 KernelExecution:694:14696 +129856729665766:129856731460761 0:0 CopyDeviceToHost:696:14696 +129856736249266:129856736963101 0:0 CopyHostToDevice:697:14696 +129856737053267:129856738276147 0:0 KernelExecution:701:14696 +129856737025461:129856738822547 0:0 CopyDeviceToHost:703:14696 +129856706409352:129856707238410 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :669 +129856707240341:129856707240342 14696:14696 MARK(name(before HIP LaunchKernel)) +129856707253495:129856707254390 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :671 +129856707256214:129856707256878 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :672 +129856707258659:129856707261885 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :673 +129856707263518:129856707263519 14696:14696 MARK(name(after HIP LaunchKernel)) +129856707265698:129856709110388 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :675 +129856713891418:129856714734007 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :676 +129856714735794:129856714735795 14696:14696 MARK(name(before HIP LaunchKernel)) +129856714739058:129856714739715 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :678 +129856714741339:129856714741972 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :679 +129856714743986:129856714747316 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :680 +129856714748993:129856714748994 14696:14696 MARK(name(after HIP LaunchKernel)) +129856714750976:129856716607126 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :682 +129856721364192:129856722196489 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :683 +129856722198322:129856722198323 14696:14696 MARK(name(before HIP LaunchKernel)) +129856722202102:129856722202759 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :685 +129856722204452:129856722205080 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :686 +129856722207098:129856722210100 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :687 +129856722211652:129856722211653 14696:14696 MARK(name(after HIP LaunchKernel)) +129856722213452:129856724068250 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :689 +129856728873958:129856729610520 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :690 +129856729612474:129856729612475 14696:14696 MARK(name(before HIP LaunchKernel)) +129856729615953:129856729616618 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :692 +129856729618275:129856729618880 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :693 +129856729620844:129856729623983 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :694 +129856729625525:129856729625526 14696:14696 MARK(name(after HIP LaunchKernel)) +129856729627363:129856731472859 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :696 +129856736212718:129856736966611 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :697 +129856736968384:129856736968385 14696:14696 MARK(name(before HIP LaunchKernel)) +129856736971498:129856736972186 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :699 +129856736973934:129856736974581 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :700 +129856736976433:129856736979849 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :701 +129856736981559:129856736981560 14696:14696 MARK(name(after HIP LaunchKernel)) +129856736983603:129856738834349 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :703 +129856743571751:129856743607276 14696:14696 hipFree(ptr=0x7fd65ce00000) :704 +129856743609591:129856743621235 14696:14696 hipFree(ptr=0x7fd65c800000) :705 diff --git a/test/golden_traces/tests_trace_cmp_levels.txt b/test/golden_traces/tests_trace_cmp_levels.txt index 5e6dbaa7a4..5311d81333 100644 --- a/test/golden_traces/tests_trace_cmp_levels.txt +++ b/test/golden_traces/tests_trace_cmp_levels.txt @@ -10,3 +10,5 @@ MatrixTranspose_hip_flush_trace --check-order .* MatrixTranspose_kfd_trace --check-events .* ctrl_hsa_trace --check-event .* ctrl_hsa_input_trace --check-event .* +hsa_co_trace --check-none +code_obj_trace --check-none diff --git a/test/run.sh b/test/run.sh index c593106135..577bdd30d7 100755 --- a/test/run.sh +++ b/test/run.sh @@ -151,6 +151,13 @@ echo " From cb3643da05d7ede4e98414d2c0a1986455b70f29 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Tue, 13 Oct 2020 16:43:18 -0500 Subject: [PATCH 431/691] SWDEV-254329 : extending debug trace with timestamps, cmake option '-DCMAKE_DEBUG_TRACE=1' Change-Id: Id16c01a6c00f6384c37fa9b5a9709a5e98e1fb57 --- src/core/roctracer.cpp | 23 ++++++++++++++--------- test/tool/tracer_tool.cpp | 12 ++++++------ 2 files changed, 20 insertions(+), 15 deletions(-) diff --git a/src/core/roctracer.cpp b/src/core/roctracer.cpp index 2754b97173..aa31c3997d 100644 --- a/src/core/roctracer.cpp +++ b/src/core/roctracer.cpp @@ -93,7 +93,6 @@ THE SOFTWARE. #define ONLOAD_TRACE_BEG() ONLOAD_TRACE("begin") #define ONLOAD_TRACE_END() ONLOAD_TRACE("end") - static inline uint32_t GetPid() { return syscall(__NR_getpid); } static inline uint32_t GetTid() { return syscall(__NR_gettid); } @@ -173,6 +172,9 @@ void RestoreHsaApi() { } namespace roctracer { +// timestamp definitino +typedef hsa_rt_utils::Timer::timestamp_t timestamp_t; + decltype(hsa_amd_memory_async_copy)* hsa_amd_memory_async_copy_fn; decltype(hsa_amd_memory_async_copy_rect)* hsa_amd_memory_async_copy_rect_fn; @@ -348,6 +350,8 @@ void* HIP_SyncApiDataCallback( const void* callback_data, void* arg) { + static hsa_rt_utils::Timer timer; + void* ret = NULL; const hip_api_data_t* data = reinterpret_cast(callback_data); hip_api_data_t* data_ptr = const_cast(data); @@ -393,8 +397,8 @@ void* HIP_SyncApiDataCallback( } const char * name = roctracer_op_string(ACTIVITY_DOMAIN_HIP_API, op_id, 0); - DEBUG_TRACE("HIP_SyncApiDataCallback(\"%s\") phase(%d): op(%u) record(%p) data(%p) pool(%p) depth(%d) correlation_id(%lu)\n", - name, phase, op_id, record, data, pool, (int)(record_pair_stack.size()), (data_ptr) ? data_ptr->correlation_id : 0); + DEBUG_TRACE("HIP_SyncApiDataCallback(\"%s\") phase(%d): op(%u) record(%p) data(%p) pool(%p) depth(%d) correlation_id(%lu) time_ns(%lu)\n", + name, phase, op_id, record, data, pool, (int)(record_pair_stack.size()), (data_ptr) ? data_ptr->correlation_id : 0, timer.timestamp_ns()); return ret; } @@ -406,6 +410,7 @@ void* HIP_SyncActivityCallback( void* arg) { static hsa_rt_utils::Timer timer; + const timestamp_t timestamp_ns = timer.timestamp_ns(); void* ret = NULL; const hip_api_data_t* data = reinterpret_cast(callback_data); @@ -436,7 +441,7 @@ void* HIP_SyncActivityCallback( // Filing record info record->domain = ACTIVITY_DOMAIN_HIP_API; record->op = op_id; - record->begin_ns = timer.timestamp_ns(); + record->begin_ns = timestamp_ns; // Correlation ID generating uint64_t correlation_id = data->correlation_id; @@ -461,7 +466,7 @@ void* HIP_SyncActivityCallback( } // Filing record info - record->end_ns = timer.timestamp_ns(); + record->end_ns = timestamp_ns; record->process_id = syscall(__NR_getpid); record->thread_id = syscall(__NR_gettid); @@ -485,8 +490,8 @@ void* HIP_SyncActivityCallback( } const char * name = roctracer_op_string(ACTIVITY_DOMAIN_HIP_API, op_id, 0); - DEBUG_TRACE("HIP_SyncActivityCallback(\"%s\") phase(%d): op(%u) record(%p) data(%p) pool(%p) depth(%d) correlation_id(%lu)\n", - name, phase, op_id, record, data, pool, (int)(record_pair_stack.size()), (data_ptr) ? data_ptr->correlation_id : 0); + DEBUG_TRACE("HIP_SyncActivityCallback(\"%s\") phase(%d): op(%u) record(%p) data(%p) pool(%p) depth(%d) correlation_id(%lu) beg_ns(%lu) end_ns(%lu)\n", + name, phase, op_id, record, data, pool, (int)(record_pair_stack.size()), (data_ptr) ? data_ptr->correlation_id : 0, timestamp_ns); return ret; } @@ -503,8 +508,8 @@ void HCC_AsyncActivityCallback(uint32_t op_id, void* record, void* arg) { pool->Write(*record_ptr); const char * name = roctracer_op_string(ACTIVITY_DOMAIN_HCC_OPS, record_ptr->op, record_ptr->kind); - DEBUG_TRACE("HCC_AsyncActivityCallback(\"%s\"): op(%u) kind(%u) record(%p) pool(%p) correlation_id(%d)\n", - name, record_ptr->op, record_ptr->kind, record, pool, record_ptr->correlation_id); + DEBUG_TRACE("HCC_AsyncActivityCallback(\"%s\"): op(%u) kind(%u) record(%p) pool(%p) correlation_id(%d) beg_ns(%lu) end_ns(%lu)\n", + name, record_ptr->op, record_ptr->kind, record, pool, record_ptr->correlation_id, record_ptr->begin_ns, record_ptr->end_ns); } // Open output file diff --git a/test/tool/tracer_tool.cpp b/test/tool/tracer_tool.cpp index d6be6f4fc0..1aeb75a301 100644 --- a/test/tool/tracer_tool.cpp +++ b/test/tool/tracer_tool.cpp @@ -454,8 +454,8 @@ void hip_api_callback( } const char * name = roctracer_op_string(domain, cid, 0); - DEBUG_TRACE("hip_api_callback(\"%s\") phase(%d): cid(%u) data(%p) entry(%p) name(\"%s\") correlation_id(%lu)\n", - name, data->phase, cid, data, entry, (entry) ? entry->name : NULL, data->correlation_id); + DEBUG_TRACE("hip_api_callback(\"%s\") phase(%d): cid(%u) data(%p) entry(%p) name(\"%s\") correlation_id(%lu) timestamp(%lu)\n", + name, data->phase, cid, data, entry, (entry) ? entry->name : NULL, data->correlation_id, timestamp); } void mark_api_callback( @@ -500,8 +500,8 @@ void hip_api_flush_cb(hip_api_trace_entry_t* entry) { oss << std::dec << rec_ss.str() << " " << str; const char * name = roctracer_op_string(entry->domain, entry->cid, 0); - DEBUG_TRACE("hip_api_flush_cb(\"%s\"): domain(%u) cid(%u) entry(%p) name(\"%s\" correlation_id(%lu))\n", - name, entry->domain, entry->cid, entry, entry->name, correlation_id); + DEBUG_TRACE("hip_api_flush_cb(\"%s\"): domain(%u) cid(%u) entry(%p) name(\"%s\" correlation_id(%lu) beg(%lu) end(%lu))\n", + name, entry->domain, entry->cid, entry, entry->name, correlation_id, begin_timestamp, end_timestamp); if (domain == ACTIVITY_DOMAIN_HIP_API) { #if HIP_PROF_HIP_API_STRING @@ -631,8 +631,8 @@ void pool_activity_callback(const char* begin, const char* end, void* arg) { while (record < end_record) { const char * name = roctracer_op_string(record->domain, record->op, record->kind); - DEBUG_TRACE("pool_activity_callback(\"%s\"): domain(%u) op(%u) kind(%u) record(%p) correlation_id(%lu)\n", - name, record->domain, record->op, record->kind, record, record->correlation_id); + DEBUG_TRACE("pool_activity_callback(\"%s\"): domain(%u) op(%u) kind(%u) record(%p) correlation_id(%lu) beg(%lu) end(%lu)\n", + name, record->domain, record->op, record->kind, record, record->correlation_id, record->begin_ns, record->end_ns); switch(record->domain) { case ACTIVITY_DOMAIN_HCC_OPS: From 6d2bca792b69ac1e869b3ec500bc57ceb7c47448 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Thu, 15 Oct 2020 19:25:09 -0400 Subject: [PATCH 432/691] code obj tests: adding load base Change-Id: I5fdb25b67eaae43b3c01cd8de3824f9343c37794 --- test/app/codeobj_test.cpp | 8 ++++---- test/app/hsaco_test.cpp | 8 ++++++++ 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/test/app/codeobj_test.cpp b/test/app/codeobj_test.cpp index 086bcfb696..124715cdd9 100644 --- a/test/app/codeobj_test.cpp +++ b/test/app/codeobj_test.cpp @@ -44,15 +44,15 @@ void check_status(roctracer_status_t status) { // codeobj callback void codeobj_callback(uint32_t domain, uint32_t cid, const void* data, void* arg) { const hsa_evt_data_t* evt_data = reinterpret_cast(data); - const uint32_t uri_length = evt_data->codeobj.uri_length; const char* uri = evt_data->codeobj.uri; - printf("codeobj_callback domain(%u) cid(%u): load_delta(0x%lx) load_size(0x%lx) uri_length(%u) uri(\"%s\")\n", + printf("codeobj_callback domain(%u) cid(%u): load_base(0x%lx) load_size(0x%lx) load_delta(0x%lx) uri(\"%s\")\n", domain, cid, - evt_data->codeobj.load_delta, + evt_data->codeobj.load_base, evt_data->codeobj.load_size, - uri_length, + evt_data->codeobj.load_delta, uri); + free((void*)uri); fflush(stdout); } diff --git a/test/app/hsaco_test.cpp b/test/app/hsaco_test.cpp index 0f2e42adc5..23200137e8 100644 --- a/test/app/hsaco_test.cpp +++ b/test/app/hsaco_test.cpp @@ -50,11 +50,16 @@ hsa_status_t code_object_callback( { printf("code_object_callback\n"); fflush(stdout); + uint64_t load_base = 0; uint64_t load_size = 0; uint64_t load_delta = 0; uint32_t uri_len = 0; char* uri_str = NULL; + HSA_RT(loader_api_table.hsa_ven_amd_loader_loaded_code_object_get_info( + loaded_code_object, + HSA_VEN_AMD_LOADER_LOADED_CODE_OBJECT_INFO_LOAD_BASE, + &load_base)); HSA_RT(loader_api_table.hsa_ven_amd_loader_loaded_code_object_get_info( loaded_code_object, HSA_VEN_AMD_LOADER_LOADED_CODE_OBJECT_INFO_LOAD_SIZE, @@ -79,11 +84,14 @@ hsa_status_t code_object_callback( HSA_VEN_AMD_LOADER_LOADED_CODE_OBJECT_INFO_URI, uri_str)); + printf("load_base(0x%lx)\n", load_base); fflush(stdout); printf("load_size(0x%lx)\n", load_size); fflush(stdout); printf("load_delta(0x%lx)\n", load_delta); fflush(stdout); printf("uri_len(%u)\n", uri_len); fflush(stdout); printf("uri_str(\"%s\")\n", uri_str); fflush(stdout); + free(uri_str); + return HSA_STATUS_SUCCESS; } From 16ad4e9de702f8eeb2d7eb2cbb0db493d21af1bc Mon Sep 17 00:00:00 2001 From: Cole Nelson Date: Fri, 16 Oct 2020 12:20:40 -0700 Subject: [PATCH 433/691] CMakeList.txt: conformant package names Still needs valid email ID in the form of package_name.support@amd.com. SWDEV-257322 Names complete as built (internal) : roctracer-dev_1.0.0.40000-crdnnv.444_amd64.deb roctracer-dev-1.0.0.40000-crdnnv.444.el7.x86_64.rpm These changes are to satisfy: http://confluence.amd.com/display/GPUCPT/Package+File+Naming Change-Id: I5991326eb87d7dfa1304e3b2c5afb78f5a0c0361 Signed-off-by: Cole Nelson --- CMakeLists.txt | 35 +++++++++++++++++++++++++++++++++-- 1 file changed, 33 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index fe3cecde42..f5c1d73c53 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -177,18 +177,49 @@ install ( TARGETS "kfdwrapper64" LIBRARY DESTINATION ${DEST_NAME}/lib ) ## Packaging directives set ( CPACK_GENERATOR "DEB" "RPM" "TGZ" ) set ( CPACK_PACKAGE_NAME "${ROCTRACER_NAME}-dev" ) -set ( CPACK_PACKAGE_VENDOR "AMD" ) +set ( CPACK_PACKAGE_VENDOR "Advanced Micro Devices, Inc." ) set ( CPACK_PACKAGE_VERSION_MAJOR ${BUILD_VERSION_MAJOR} ) set ( CPACK_PACKAGE_VERSION_MINOR ${BUILD_VERSION_MINOR} ) set ( CPACK_PACKAGE_VERSION_PATCH ${BUILD_VERSION_PATCH} ) -set ( CPACK_PACKAGE_CONTACT "Advanced Micro Devices Inc." ) +set ( CPACK_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}" ) +if ( DEFINED ENV{ROCM_LIBPATCH_VERSION} ) + set ( CPACK_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION}.$ENV{ROCM_LIBPATCH_VERSION}" ) +endif() +message ( "-- CPACK_PACKAGE_VERSION: ${CPACK_PACKAGE_VERSION}" ) +set ( CPACK_PACKAGE_CONTACT "TODO " ) set ( CPACK_PACKAGE_DESCRIPTION_SUMMARY "AMD ROCTRACER library" ) set ( CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE" ) ## Debian package specific variables +if ( DEFINED ENV{CPACK_DEBIAN_PACKAGE_RELEASE} ) + set ( CPACK_DEBIAN_PACKAGE_RELEASE $ENV{CPACK_DEBIAN_PACKAGE_RELEASE} ) +else() + set ( CPACK_DEBIAN_PACKAGE_RELEASE "local" ) +endif() +message ( "Using CPACK_DEBIAN_PACKAGE_RELEASE ${CPACK_DEBIAN_PACKAGE_RELEASE}" ) +set ( CPACK_DEBIAN_FILE_NAME "DEB-DEFAULT" ) set ( CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA "${CMAKE_CURRENT_SOURCE_DIR}/DEBIAN/postinst;${CMAKE_CURRENT_SOURCE_DIR}/DEBIAN/prerm" ) ## RPM package specific variables +if ( DEFINED ENV{CPACK_RPM_PACKAGE_RELEASE} ) + set ( CPACK_RPM_PACKAGE_RELEASE $ENV{CPACK_RPM_PACKAGE_RELEASE} ) +else() + set ( CPACK_RPM_PACKAGE_RELEASE "local" ) +endif() +message ( "Using CPACK_RPM_PACKAGE_RELEASE ${CPACK_RPM_PACKAGE_RELEASE}" ) + +## 'dist' breaks manual builds on debian systems due to empty Provides +execute_process( COMMAND rpm --eval %{?dist} + RESULT_VARIABLE PROC_RESULT + OUTPUT_VARIABLE EVAL_RESULT + OUTPUT_STRIP_TRAILING_WHITESPACE ) +message("RESULT_VARIABLE ${PROC_RESULT} OUTPUT_VARIABLE: ${EVAL_RESULT}") + +if ( PROC_RESULT EQUAL "0" AND NOT EVAL_RESULT STREQUAL "" ) + string ( APPEND CPACK_RPM_PACKAGE_RELEASE "%{?dist}" ) +endif() +set ( CPACK_RPM_FILE_NAME "RPM-DEFAULT" ) +message("CPACK_RPM_PACKAGE_RELEASE: ${CPACK_RPM_PACKAGE_RELEASE}") set ( CPACK_RPM_POST_INSTALL_SCRIPT_FILE "${CMAKE_CURRENT_SOURCE_DIR}/RPM/rpm_post" ) set ( CPACK_RPM_POST_UNINSTALL_SCRIPT_FILE "${CMAKE_CURRENT_SOURCE_DIR}/RPM/rpm_postun" ) From ef36218286e2aaeed0632471c7dfbc0cb6271727 Mon Sep 17 00:00:00 2001 From: Rachida Kebichi Date: Wed, 18 Nov 2020 16:47:45 -0500 Subject: [PATCH 434/691] SWDEV-255938 NEW - added regex and depth support to ostream ops Change-Id: I292255adab3a70fa00a1dd5685b788521687f35b --- inc/roctracer_hip.h | 2 +- inc/roctracer_hsa.h | 17 --- script/gen_ostream_ops.py | 211 ++++++++++++++++---------------------- script/hsaap.py | 5 +- script/kfdap.py | 4 +- src/CMakeLists.txt | 5 +- 6 files changed, 96 insertions(+), 148 deletions(-) diff --git a/inc/roctracer_hip.h b/inc/roctracer_hip.h index 091f3279be..553ec1b869 100644 --- a/inc/roctracer_hip.h +++ b/inc/roctracer_hip.h @@ -37,8 +37,8 @@ inline static std::ostream& operator<<(std::ostream& out, const char& v) { } #endif // __cplusplus -#include #include +#include #include #include diff --git a/inc/roctracer_hsa.h b/inc/roctracer_hsa.h index d9daa5e550..1e50c3ab41 100644 --- a/inc/roctracer_hsa.h +++ b/inc/roctracer_hsa.h @@ -66,23 +66,6 @@ typedef hsa_support::ops_properties_t hsa_ops_properties_t; #include "hsa_ostream_ops.h" -std::ostream& operator<<(std::ostream& out, const hsa_amd_memory_pool_t& v) -{ - roctracer::hsa_support::operator<<(out, v); - return out; -} - -std::ostream& operator<<(std::ostream& out, const hsa_ext_image_t& v) -{ - roctracer::hsa_support::operator<<(out, v); - return out; -} - -std::ostream& operator<<(std::ostream& out, const hsa_ext_sampler_t& v) -{ - roctracer::hsa_support::operator<<(out, v); - return out; -} #else // !__cplusplus typedef void* hsa_amd_queue_intercept_handler; diff --git a/script/gen_ostream_ops.py b/script/gen_ostream_ops.py index c8f23629ab..fcc379a629 100755 --- a/script/gen_ostream_ops.py +++ b/script/gen_ostream_ops.py @@ -1,4 +1,4 @@ -#!/usr/bin/python3 +#!/usr/bin/python import os, sys, re import CppHeaderParser @@ -29,11 +29,6 @@ LICENSE = \ '*/\n' -header = 'template \n' + \ -'struct output_streamer {\n' + \ -' inline static std::ostream& put(std::ostream& out, const T& v) { return out; }\n' + \ -'};\n\n' - header_basic = \ 'template \n' + \ ' inline static std::ostream& operator<<(std::ostream& out, const T& v) {\n' + \ @@ -43,8 +38,10 @@ header_basic = \ ' return out; }\n' structs_analyzed = {} -global_ops_hip = '' +global_ops = '' global_str = '' +output_filename_h = None +apiname = "" # process_struct traverses recursively all structs to extract all fields def process_struct(file_handle, cppHeader_struct, cppHeader, parent_hier_name, apiname): @@ -61,7 +58,6 @@ def process_struct(file_handle, cppHeader_struct, cppHeader, parent_hier_name, a return if cppHeader_struct in structs_analyzed: return - structs_analyzed[cppHeader_struct] = 1 for l in reversed(range(len(cppHeader.classes[cppHeader_struct]["properties"]["public"]))): key = 'name' @@ -90,17 +86,13 @@ def process_struct(file_handle, cppHeader_struct, cppHeader, parent_hier_name, a str = '' if "union" not in mtype: - if apiname.lower() == 'hip' or apiname.lower() == 'hsa': - str += " roctracer::" + apiname.lower() + "_support::operator<<(out, \"" + name + " = \");\n" - str += " roctracer::" + apiname.lower() + "_support::operator<<(out, v."+name+");\n" - str += " roctracer::" + apiname.lower() + "_support::operator<<(out, \", \");\n" - else: - str += " roctracer::" + apiname.lower() + "_support::output_streamer::put(out, \"" + name + " = \");\n" - if array_size == "": - str += " roctracer::" + apiname.lower() + "_support::output_streamer<" + mtype + ">::put(out, v." + name + ");\n" - else: - str += " roctracer::" + apiname.lower() + "_support::output_streamer<" + mtype + "[" + array_size + "]>::put(out, v." + name + ");\n" - str += " roctracer::" + apiname.lower() + "_support::output_streamer::put(out, \", \");\n" + indent = "" + str += " if (regex_match (\"" + cppHeader_struct + "::" + name + "\", std::regex(" + apiname.upper() + "_structs_regex))) {\n" + indent = " " + str += indent + " roctracer::" + apiname.lower() + "_support::operator<<(out, \"" + name + "=\");\n" + str += indent + " roctracer::" + apiname.lower() + "_support::operator<<(out, v." + name + ");\n" + str += indent + " roctracer::" + apiname.lower() + "_support::operator<<(out, \", \");\n" + str += " }\n" if "void" not in mtype: global_str += str else: @@ -113,133 +105,104 @@ def process_struct(file_handle, cppHeader_struct, cppHeader, parent_hier_name, a process_struct(file_handle, next_cppHeader_struct, cppHeader, name, apiname) # Parses API header file and generates ostream ops files ostream_ops.h -def gen_cppheader(infilepath, outfilepath, structs_depth): +def gen_cppheader(infilepath, outfilepath, rank): # infilepath: API Header file to be parsed # outfilepath: Output file where ostream operators are written - global_ops_hip = '' - global_ops_hsa = '' + global global_ops + global output_filename_h + global apiname global global_str try: cppHeader = CppHeaderParser.CppHeader(infilepath) except CppHeaderParser.CppParseError as e: print(e) sys.exit(1) - mpath = os.path.dirname(outfilepath) - if mpath == "": - mpath = os.getcwd() - apiname = outfilepath.replace(mpath+"/","") - apiname = apiname.replace("_ostream_ops.h","") - apiname = apiname.upper() - f = open(outfilepath,"w+") - f.write("// automatically generated\n") - f.write(LICENSE + '\n') - header_s = \ - '#ifndef INC_' + apiname + '_OSTREAM_OPS_H_\n' + \ - '#define INC_' + apiname + '_OSTREAM_OPS_H_\n' + \ - '#ifdef __cplusplus\n' + \ - '#include \n' + \ - '\n' + \ - '#include "roctracer.h"\n' - if apiname.lower() == 'hip': - header_s = header_s + '\n' + \ - '#include "hip/hip_runtime_api.h"\n' + \ - '#include "hip/hcc_detail/hip_vector_types.h"\n\n' + if rank == 0 or rank == 2: + mpath = os.path.dirname(outfilepath) + if mpath == "": + mpath = os.getcwd() + apiname = outfilepath.replace(mpath + "/","") + output_filename_h = open(outfilepath,"w+") + apiname = apiname.replace("_ostream_ops.h","") + apiname = apiname.upper() + output_filename_h.write("// automatically generated\n") + output_filename_h.write(LICENSE + '\n') + header_s = \ + '#ifndef INC_' + apiname + '_OSTREAM_OPS_H_\n' + \ + '#define INC_' + apiname + '_OSTREAM_OPS_H_\n' + \ + '#ifdef __cplusplus\n' + \ + '#include \n' + \ + '\n' + \ + '#include "roctracer.h"\n' + header_s += '#include \n#include \n' - f.write(header_s) - f.write('\n') - f.write('namespace roctracer {\n') - f.write('namespace ' + apiname.lower() + '_support {\n') - if structs_depth != -1: - f.write('static int ' + apiname.upper() + '_depth_max = ' + str(structs_depth) + ';\n') - f.write('// begin ostream ops for '+ apiname + ' \n') - if apiname.lower() == "hip" or apiname.lower() == "hsa": - f.write("// basic ostream ops\n") - f.write(header_basic) - f.write("// End of basic ostream ops\n\n") - else: - f.write(header) + output_filename_h.write(header_s) + output_filename_h.write('\n') + output_filename_h.write('namespace roctracer {\n') + output_filename_h.write('namespace ' + apiname.lower() + '_support {\n') + output_filename_h.write('static int ' + apiname.upper() + '_depth_max = 1;\n') + output_filename_h.write('static int ' + apiname.upper() + '_depth_max_cnt = 0;\n') + output_filename_h.write('static std::string ' + apiname.upper() + '_structs_regex = \".*\";\n') + output_filename_h.write('// begin ostream ops for '+ apiname + ' \n') + output_filename_h.write("// basic ostream ops\n") + output_filename_h.write(header_basic) + output_filename_h.write("// End of basic ostream ops\n\n") for c in cppHeader.classes: if "union" in c: continue - if apiname.lower() == 'hsa': - if c == 'max_align_t' or c == '__fsid_t': #already defined for hip + if c in structs_analyzed: continue - if len(cppHeader.classes[c]["properties"]["public"])!=0: - if apiname.lower() == 'hip' or apiname.lower() == 'hsa': - f.write("inline static std::ostream& operator<<(std::ostream& out, const " + c + "& v)\n") - f.write("{\n") - f.write(" roctracer::" + apiname.lower() + "_support::operator<<(out, '{');\n") - if structs_depth != -1: - f.write(" " + apiname.upper() + "_depth_max++;\n") - f.write(" if (" + apiname.upper() + "_depth_max <= " + str(structs_depth) + ") {\n" ) - process_struct(f, c, cppHeader, "", apiname) - global_str = "\n".join(global_str.split("\n")[0:-2]) - if structs_depth != -1: #reindent - global_str = global_str.split('\n') - global_str = [' ' + line.lstrip() for line in global_str] - global_str = "\n".join(global_str) - f.write(global_str+"\n") - if structs_depth != -1: - f.write(" };\n") - f.write(" " + apiname.upper() + "_depth_max--;\n") - f.write(" roctracer::" + apiname.lower() + "_support::operator<<(out, '}');\n") - f.write(" return out;\n") - f.write("}\n") - global_str = '' - else: - f.write("\ntemplate<>\n") - f.write("struct output_streamer<" + c + "&> {\n") - f.write(" inline static std::ostream& put(std::ostream& out, "+c+"& v)\n") - f.write("{\n") - f.write(" roctracer::" + apiname.lower() + "_support::output_streamer::put(out, '{');\n") - if structs_depth != -1: - f.write(apiname.upper() + "_depth_max++;\n") - f.write(" if (" + apiname.upper() + "_depth_max <= " + str(structs_depth) + ") {\n" ) - process_struct(f, c, cppHeader, "", apiname) - global_str = "\n".join(global_str.split("\n")[0:-2]) - if structs_depth != -1: #reindent - global_str = global_str.split('\n') - global_str = [' ' + line.lstrip() for line in global_str] - global_str = "\n".join(global_str) - f.write(global_str+"\n") - if structs_depth != -1: - f.write(" };\n") - f.write(" " + apiname.upper() + "_depth_max--;\n") - f.write(" roctracer::" + apiname.lower() + "_support::output_streamer::put(out, '}');\n") - f.write(" return out;\n") - f.write("}\n") - f.write("};\n") - global_str = '' - if apiname.lower() == 'hip': - global_ops_hip += "inline static std::ostream& operator<<(std::ostream& out, const " + c + "& v)\n" + "{\n" + " roctracer::hip_support::operator<<(out, v);\n" + " return out;\n" + "}\n\n" - if apiname.lower() == 'hsa': - global_ops_hsa += "inline static std::ostream& operator<<(std::ostream& out, const " + c + "& v)\n" + "{\n" + " roctracer::hsa_support::operator<<(out, v);\n" + " return out;\n" + "}\n\n" + if c == 'max_align_t' or c == '__fsid_t': # Skipping as it is defined in multiple domains + continue + if len(cppHeader.classes[c]["properties"]["public"]) != 0: + output_filename_h.write("inline static std::ostream& operator<<(std::ostream& out, const " + c + "& v)\n") + output_filename_h.write("{\n") + output_filename_h.write(" roctracer::" + apiname.lower() + "_support::operator<<(out, '{');\n") + output_filename_h.write(" " + apiname.upper() + "_depth_max_cnt++;\n") + output_filename_h.write(" if (" + apiname.upper() + "_depth_max == -1 || " + apiname.upper() + "_depth_max_cnt <= " + apiname.upper() + "_depth_max" + ") {\n" ) + process_struct(output_filename_h, c, cppHeader, "", apiname) + global_str = "\n".join(global_str.split("\n")[0:-3]) + if global_str != '': global_str += "\n }\n" + output_filename_h.write(global_str) + output_filename_h.write(" };\n") + output_filename_h.write(" " + apiname.upper() + "_depth_max_cnt--;\n") + output_filename_h.write(" roctracer::" + apiname.lower() + "_support::operator<<(out, '}');\n") + output_filename_h.write(" return out;\n") + output_filename_h.write("}\n") + global_str = '' + global_ops += "inline static std::ostream& operator<<(std::ostream& out, const " + c + "& v)\n" + "{\n" + " roctracer::" + apiname.lower() + "_support::operator<<(out, v);\n" + " return out;\n" + "}\n\n" - footer = \ - '// end ostream ops for '+ apiname + ' \n' - footer += '};};\n\n' - f.write(footer) - f.write(global_ops_hip) - f.write(global_ops_hsa) - footer = '#endif //__cplusplus\n' + \ - '#endif // INC_' + apiname + '_OSTREAM_OPS_H_\n' + \ - ' \n' - f.write(footer) - f.close() - print('File ' + outfilepath + ' generated') + if rank == 1 or rank == 2: + footer = '// end ostream ops for '+ apiname + ' \n' + footer += '};};\n\n' + output_filename_h.write(footer) + output_filename_h.write(global_ops) + footer = '#endif //__cplusplus\n' + \ + '#endif // INC_' + apiname + '_OSTREAM_OPS_H_\n' + \ + ' \n' + output_filename_h.write(footer) + output_filename_h.close() + print('File ' + outfilepath + ' generated') return parser = argparse.ArgumentParser(description='genOstreamOps.py: generates ostream operators for all typedefs in provided input file.') requiredNamed = parser.add_argument_group('Required arguments') -requiredNamed.add_argument('-in', metavar='file', help='Header file to be parsed', required=True) +requiredNamed.add_argument('-in', metavar='fileList', help='Comma separated list of header files to be parsed', required=True) requiredNamed.add_argument('-out', metavar='file', help='Output file with ostream operators', required=True) -requiredNamed.add_argument('-depth', metavar='N', type=int, help='Depth for nested structs', required=False) -structs_depth = 0 args = vars(parser.parse_args()) if __name__ == '__main__': - if args['depth'] != None: structs_depth = args['depth'] - gen_cppheader(args['in'], args['out'], structs_depth) + flist = args['in'].split(',') + if len(flist) == 1: + gen_cppheader(flist[0], args['out'],2) + else: + for i in range(len(flist)): + if i == 0: + gen_cppheader(flist[i], args['out'],0) + elif i == len(flist)-1: + gen_cppheader(flist[i], args['out'],1) + else: + gen_cppheader(flist[i], args['out'],-1) diff --git a/script/hsaap.py b/script/hsaap.py index 84ee9bbfb4..f9458ee9d8 100755 --- a/script/hsaap.py +++ b/script/hsaap.py @@ -456,7 +456,10 @@ class API_DescrParser: for ind in range(len(arg_list)): arg_var = arg_list[ind] arg_val = 'api_data.args.' + call + '.' + arg_var - self.content += ' out << ' + arg_val + if re.search(r'char\* ', struct['astr'][arg_var]): + self.content += ' out << "0x" << std::hex << (uint64_t)' + arg_val + else: + self.content += ' out << ' + arg_val ''' arg_item = struct['tlst'][ind] if re.search(r'\(\* ', arg_item): arg_pref = '' diff --git a/script/kfdap.py b/script/kfdap.py index 9f560a35d7..378ea12620 100755 --- a/script/kfdap.py +++ b/script/kfdap.py @@ -494,8 +494,7 @@ class API_DescrParser: arg_val = 'api_data.args.' + call + '.' + arg_var if re.search(r'MemFlags',arg_var): continue - self.content_h += ' typedef decltype(' + arg_val.replace("[]","") + ') arg_val_type_t' + str(ind) + ';\n' - self.content_h += ' roctracer::kfd_support::output_streamer::put(out, ' + arg_val.replace("[]","") + ')' + self.content_h += ' out << ' + arg_val.replace("[]","") if ind < len(arg_list)-1: self.content_h += ' << ", ";\n' else: self.content_h += ';\n' if struct['ret'] != 'void': @@ -512,7 +511,6 @@ class API_DescrParser: self.content_h += ' return out;\n' self.content_h += '}\n' self.content_h += '#endif\n' - self.content_cpp += 'inline std::ostream& operator<< (std::ostream& out, const HsaMemFlags& v) { out << "HsaMemFlags"; return out; }\n' # generate PUBLIC_API for all API fcts def gen_public_api(self, n, name, call, struct): diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index e9c72f8422..689ed6377f 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -3,14 +3,15 @@ set ( GEN_INC_DIR ${PROJECT_BINARY_DIR}/inc ) set ( GEN_SRC_DIR ${PROJECT_BINARY_DIR}/src ) execute_process ( COMMAND sh -xc "mkdir -p ${GEN_INC_DIR}" ) execute_process ( COMMAND sh -xc "mkdir -p ${GEN_SRC_DIR}" ) +execute_process ( COMMAND sh -xc "${CMAKE_C_COMPILER} -E ${HSA_RUNTIME_INC_PATH}/hsa.h > ${GEN_INC_DIR}/hsa_pp.h" ) +execute_process ( COMMAND sh -xc "${CMAKE_C_COMPILER} -E ${HSA_RUNTIME_INC_PATH}/hsa_ext_amd.h > ${GEN_INC_DIR}/hsa_ext_amd_pp.h" ) +execute_process ( COMMAND sh -xc "${ROOT_DIR}/script/gen_ostream_ops.py -in ${GEN_INC_DIR}/hsa_pp.h,${GEN_INC_DIR}/hsa_ext_amd_pp.h -out ${GEN_INC_DIR}/hsa_ostream_ops.h" ) execute_process ( COMMAND sh -xc "${ROOT_DIR}/script/hsaap.py ${PROJECT_BINARY_DIR} ${HSA_RUNTIME_INC_PATH}" ) execute_process ( COMMAND sh -xc "${ROOT_DIR}/script/kfdap.py ${PROJECT_BINARY_DIR} ${HSA_KMT_INC_PATH}" ) execute_process ( COMMAND sh -xc "${CMAKE_C_COMPILER} -E ${HSA_KMT_INC_PATH}/hsakmttypes.h > ${GEN_INC_DIR}/hsakmttypes_pp.h" ) execute_process ( COMMAND sh -xc "${ROOT_DIR}/script/gen_ostream_ops.py -in ${GEN_INC_DIR}/hsakmttypes_pp.h -out ${GEN_INC_DIR}/kfd_ostream_ops.h" ) execute_process ( COMMAND sh -xc "${CMAKE_C_COMPILER} -E ${HIP_PATH}/include/hip/hip_runtime_api.h ${HIP_DEFINES} -I${HIP_PATH}/include -I${ROCM_ROOT_DIR}/hsa/include > ${GEN_INC_DIR}/hip_runtime_api_pp.h" ) execute_process ( COMMAND sh -xc "${ROOT_DIR}/script/gen_ostream_ops.py -in ${GEN_INC_DIR}/hip_runtime_api_pp.h -out ${GEN_INC_DIR}/hip_ostream_ops.h" ) -execute_process ( COMMAND sh -xc "${CMAKE_C_COMPILER} -E ${HSA_RUNTIME_INC_PATH}/hsa.h > ${GEN_INC_DIR}/hsa_pp.h" ) -execute_process ( COMMAND sh -xc "${ROOT_DIR}/script/gen_ostream_ops.py -in ${GEN_INC_DIR}/hsa_pp.h -out ${GEN_INC_DIR}/hsa_ostream_ops.h" ) execute_process ( COMMAND sh -xc "mkdir ${GEN_INC_DIR}/rocprofiler" ) execute_process ( COMMAND sh -xc "ln -s ${ROOT_DIR}/../rocprofiler/inc/rocprofiler.h ${GEN_INC_DIR}/rocprofiler/rocprofiler.h" ) execute_process ( COMMAND sh -xc "ln -s ${ROOT_DIR}/../rocprofiler/src/core/activity.h ${GEN_INC_DIR}/rocprofiler/activity.h" ) From 6aa28d511f61e99468f8c8eb9719c1e212303092 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Mon, 23 Nov 2020 13:09:46 -0600 Subject: [PATCH 435/691] adding tests dry run to check if platform is in working state Change-Id: Ic430e3f959119983a65929fc70332e293cc3448d --- test/golden_traces/MatrixTranspose_dryrun_trace.txt | 0 test/golden_traces/ctrl_dryrun_trace.txt | 0 test/golden_traces/tests_trace_cmp_levels.txt | 2 ++ test/run.sh | 4 ++++ 4 files changed, 6 insertions(+) create mode 100644 test/golden_traces/MatrixTranspose_dryrun_trace.txt create mode 100644 test/golden_traces/ctrl_dryrun_trace.txt diff --git a/test/golden_traces/MatrixTranspose_dryrun_trace.txt b/test/golden_traces/MatrixTranspose_dryrun_trace.txt new file mode 100644 index 0000000000..e69de29bb2 diff --git a/test/golden_traces/ctrl_dryrun_trace.txt b/test/golden_traces/ctrl_dryrun_trace.txt new file mode 100644 index 0000000000..e69de29bb2 diff --git a/test/golden_traces/tests_trace_cmp_levels.txt b/test/golden_traces/tests_trace_cmp_levels.txt index 5311d81333..ed27e8680f 100644 --- a/test/golden_traces/tests_trace_cmp_levels.txt +++ b/test/golden_traces/tests_trace_cmp_levels.txt @@ -1,4 +1,6 @@ # dummy +MatrixTranspose_dryrun_trace --check-none +ctrl_dryrun_trace --check-none MatrixTranspose_ctest_trace --check-count .* MatrixTranspose_test_trace --check-count .* --ignore-count hsaKmt.* MatrixTranspose_hipaact_test_trace --check-count .* --ignore-count hsaKmt.*|hipMemcpy|__hipPushCallConfiguration|hipLaunchKernel|__hipPopCallConfiguration diff --git a/test/run.sh b/test/run.sh index 577bdd30d7..75a5a68053 100755 --- a/test/run.sh +++ b/test/run.sh @@ -106,6 +106,10 @@ eval_test() { test_number=$((test_number + 1)) } +# Tests dry run +eval_test "MatrixTranspose dry run" ./test/MatrixTranspose MatrixTranspose_dryrun_trace +eval_test "ctrl dry run" ./test/hsa/ctrl ctrl_dryrun_trace + # Standalone test # rocTrecer is used explicitely by test eval_test "standalone C test" "LD_PRELOAD=libkfdwrapper64.so ./test/MatrixTranspose_ctest" MatrixTranspose_ctest_trace From 7d8fd0606d8eaf6be2926f3c9f87bb98f3d4b995 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Tue, 3 Nov 2020 10:39:33 -0600 Subject: [PATCH 436/691] Adding dumping of HSA handles Change-Id: I18e2cfdf2574110bffa09d30c7ac1d3941252939 --- src/util/hsa_rsrc_factory.cpp | 13 +++++++++++++ src/util/hsa_rsrc_factory.h | 2 ++ test/CMakeLists.txt | 2 +- test/tool/tracer_tool.cpp | 5 +++++ 4 files changed, 21 insertions(+), 1 deletion(-) diff --git a/src/util/hsa_rsrc_factory.cpp b/src/util/hsa_rsrc_factory.cpp index e1ef92683e..cf172cae11 100644 --- a/src/util/hsa_rsrc_factory.cpp +++ b/src/util/hsa_rsrc_factory.cpp @@ -742,6 +742,19 @@ hsa_status_t HsaRsrcFactory::hsa_executable_freeze_interceptor(hsa_executable_t return hsa_api_.hsa_executable_freeze(executable, options);; } +void HsaRsrcFactory::DumpHandles(FILE* file) { + auto beg = agent_map_.begin(); + auto end = agent_map_.end(); + for (auto it = beg; it != end; ++it) { + const AgentInfo* agent_info = it->second; + fprintf(file, "0x%lx agent %s\n", agent_info->dev_id.handle, (agent_info->dev_type == HSA_DEVICE_TYPE_CPU) ? "cpu" : "gpu"); + if (agent_info->cpu_pool.handle != 0) fprintf(file, "0x%lx pool cpu\n", agent_info->cpu_pool.handle); + if (agent_info->kern_arg_pool.handle != 0) fprintf(file, "0x%lx pool cpu kernarg\n", agent_info->kern_arg_pool.handle); + if (agent_info->gpu_pool.handle != 0) fprintf(file, "0x%lx pool gpu\n", agent_info->gpu_pool.handle); + } + fflush(file); +} + std::atomic HsaRsrcFactory::instance_{}; HsaRsrcFactory::mutex_t HsaRsrcFactory::mutex_; HsaRsrcFactory::timestamp_t HsaRsrcFactory::timeout_ns_ = HsaTimer::TIMESTAMP_MAX; diff --git a/src/util/hsa_rsrc_factory.h b/src/util/hsa_rsrc_factory.h index 466ccf1f95..3bfeda68c1 100644 --- a/src/util/hsa_rsrc_factory.h +++ b/src/util/hsa_rsrc_factory.h @@ -439,6 +439,8 @@ class HsaRsrcFactory { return HSA_STATUS_SUCCESS; } + void DumpHandles(FILE* output_file); + private: // System agents iterating callback static hsa_status_t GetHsaAgentsCallback(hsa_agent_t agent, void* data); diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 148c60b0b0..a7511789c9 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -44,7 +44,7 @@ endif () ## Path to HSA test set ( HSA_TEST_DIR "${TEST_DIR}/hsa/test" ) -set ( HSA_REV "19b1191" ) +set ( HSA_REV "a4fcdae" ) ## test run script set ( RUN_SCRIPT "${TEST_DIR}/run.sh" ) diff --git a/test/tool/tracer_tool.cpp b/test/tool/tracer_tool.cpp index 1aeb75a301..218652e98a 100644 --- a/test/tool/tracer_tool.cpp +++ b/test/tool/tracer_tool.cpp @@ -1127,6 +1127,11 @@ extern "C" PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, ROCTRACER_CALL(roctracer_enable_op_activity(ACTIVITY_DOMAIN_HSA_OPS, HSA_OP_ID_RESERVED1)); } + // Dumping HSA handles for agents and pools + FILE* handles_file_handle = open_output_file(output_prefix, "hsa_handles.txt"); + HsaRsrcFactory::Instance().DumpHandles(handles_file_handle); + close_output_file(handles_file_handle); + ONLOAD_TRACE_END(); return true; } From b83ffeeab89b3223c00e8126a2b7bf194138b3a8 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Fri, 30 Oct 2020 02:09:09 -0500 Subject: [PATCH 437/691] SWDEV-258731 : cleanup Change-Id: Iabcc81576eb8b6c0484eae820c3e25a896da6c5b --- src/core/roctracer.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/src/core/roctracer.cpp b/src/core/roctracer.cpp index aa31c3997d..891b005e2b 100644 --- a/src/core/roctracer.cpp +++ b/src/core/roctracer.cpp @@ -94,7 +94,6 @@ THE SOFTWARE. #define ONLOAD_TRACE_END() ONLOAD_TRACE("end") static inline uint32_t GetPid() { return syscall(__NR_getpid); } -static inline uint32_t GetTid() { return syscall(__NR_gettid); } /////////////////////////////////////////////////////////////////////////////////////////////////// // Mark callback From 4baffc8e53ece3c7261685fbf933dc6fc0269921 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Wed, 9 Dec 2020 22:16:43 -0500 Subject: [PATCH 438/691] SWDEV-264282 : fixing tracer_tool linking Change-Id: I0fd78c01595bbd506f42cf9dfb45f62b2124f704 --- test/CMakeLists.txt | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index a7511789c9..e07e7d8b91 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -69,6 +69,14 @@ add_custom_target( mytest COMMAND sh -xc "cp ${TEST_DIR}/golden_traces/tests_trace_cmp_levels.txt ${PROJECT_BINARY_DIR}/test/" ) +## Build HSA test +execute_process ( COMMAND sh -xc "if [ ! -e ${TEST_DIR}/hsa ] ; then git clone https://github.com/ROCmSoftwarePlatform/hsa-class.git ${TEST_DIR}/hsa; fi" ) +execute_process ( COMMAND sh -xc "if [ -e ${TEST_DIR}/hsa ] ; then cd ${TEST_DIR}/hsa && git fetch origin && git checkout ${HSA_REV}; fi" ) +set ( TMP ${TEST_DIR} ) +set ( TEST_DIR ${HSA_TEST_DIR} ) +add_subdirectory ( ${HSA_TEST_DIR} ${PROJECT_BINARY_DIR}/test/hsa ) +set ( TEST_DIR ${TMP} ) + ## Util sources file( GLOB UTIL_SRC "${HSA_TEST_DIR}/util/*.cpp" ) @@ -95,12 +103,6 @@ add_library ( ${CO_LIB_NAME} SHARED ${CO_LIB_SRC} ) target_include_directories ( ${CO_LIB_NAME} PRIVATE ${TEST_DIR} ${ROOT_DIR} ${ROOT_DIR}/inc ${GEN_INC_DIR} ${HSA_RUNTIME_INC_PATH} ${ROCM_INC_PATH} ) target_link_libraries ( ${CO_LIB_NAME} ${ROCTRACER_TARGET} c stdc++ ) -## Build HSA test -execute_process ( COMMAND sh -xc "if [ ! -e ${TEST_DIR}/hsa ] ; then git clone https://github.com/ROCmSoftwarePlatform/hsa-class.git ${TEST_DIR}/hsa; fi" ) -execute_process ( COMMAND sh -xc "if [ -e ${TEST_DIR}/hsa ] ; then cd ${TEST_DIR}/hsa && git fetch origin && git checkout ${HSA_REV}; fi" ) -set ( TEST_DIR ${HSA_TEST_DIR} ) -add_subdirectory ( ${TEST_DIR} ${PROJECT_BINARY_DIR}/test/hsa ) - ## copying run script execute_process ( COMMAND sh -xc "cp ${RUN_SCRIPT} ${PROJECT_BINARY_DIR}" ) execute_process ( COMMAND sh -xc "ln -s run.sh ${PROJECT_BINARY_DIR}/run_ci.sh" ) From bb5f2231a1ebd4c827520e8a348fc6315ba43d2a Mon Sep 17 00:00:00 2001 From: Evgeny Date: Wed, 9 Dec 2020 23:07:41 -0500 Subject: [PATCH 439/691] calling python3 explictely Change-Id: I3dda55865bafa41cc6670e414b213f13a2a2a7ac --- script/check_trace.py | 10 ++++------ script/gen_ostream_ops.py | 2 -- script/hsaap.py | 1 - script/kfdap.py | 5 ++--- src/CMakeLists.txt | 10 +++++----- test/run.sh | 4 ++-- 6 files changed, 13 insertions(+), 19 deletions(-) diff --git a/script/check_trace.py b/script/check_trace.py index a4506a12f8..c10eb3c5d5 100644 --- a/script/check_trace.py +++ b/script/check_trace.py @@ -1,5 +1,3 @@ -#!/usr/bin/python - #Copyright (c) 2015-present Advanced Micro Devices, Inc. All rights reserved. # #Permission is hereby granted, free of charge, to any person obtaining a copy @@ -200,10 +198,10 @@ def check_trace_status(tracename, verbose, check_trace_flag): events_order_r[tid] = events_order[tid] cnt = gen_events_info(trace,trace_level,no_events_cnt,events2ignore,events2chkcnt,events2chkord,verbose) if verbose: - print '\n' + rtrace + ':\n' - print cnt_r - print '\n' + trace + ':\n' - print cnt + print ('\n' + rtrace + ':\n') + print (cnt_r) + print ('\n' + trace + ':\n') + print (cnt) diff_strings(cnt_r, cnt, metric) if cnt_r == cnt: diff --git a/script/gen_ostream_ops.py b/script/gen_ostream_ops.py index fcc379a629..ae60be84e7 100755 --- a/script/gen_ostream_ops.py +++ b/script/gen_ostream_ops.py @@ -1,5 +1,3 @@ -#!/usr/bin/python - import os, sys, re import CppHeaderParser import argparse diff --git a/script/hsaap.py b/script/hsaap.py index f9458ee9d8..e1a3d71784 100755 --- a/script/hsaap.py +++ b/script/hsaap.py @@ -1,4 +1,3 @@ -#!/usr/bin/python from __future__ import print_function import os, sys, re diff --git a/script/kfdap.py b/script/kfdap.py index 378ea12620..8de1d19ea0 100755 --- a/script/kfdap.py +++ b/script/kfdap.py @@ -1,4 +1,3 @@ -#!/usr/bin/python from __future__ import print_function import os, sys, re @@ -80,7 +79,7 @@ class API_TableParser: if not os.path.isfile(header): self.fatal("file '" + header + "' not found") - self.inp = open(header, 'r') + self.inp = open(header, 'r', encoding='utf-8') self.beg_pattern = re.compile(name) self.end_pattern = re.compile('.*\)\s*;\s*$'); @@ -146,7 +145,7 @@ class API_DeclParser: if not os.path.isfile(header): self.fatal("file '" + header + "' not found") - self.inp = open(header, 'r') + self.inp = open(header, 'r', encoding='utf-8') self.end_pattern = re.compile('\)\s*;\s*$') self.data = data diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 689ed6377f..556ea16df6 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -5,13 +5,13 @@ execute_process ( COMMAND sh -xc "mkdir -p ${GEN_INC_DIR}" ) execute_process ( COMMAND sh -xc "mkdir -p ${GEN_SRC_DIR}" ) execute_process ( COMMAND sh -xc "${CMAKE_C_COMPILER} -E ${HSA_RUNTIME_INC_PATH}/hsa.h > ${GEN_INC_DIR}/hsa_pp.h" ) execute_process ( COMMAND sh -xc "${CMAKE_C_COMPILER} -E ${HSA_RUNTIME_INC_PATH}/hsa_ext_amd.h > ${GEN_INC_DIR}/hsa_ext_amd_pp.h" ) -execute_process ( COMMAND sh -xc "${ROOT_DIR}/script/gen_ostream_ops.py -in ${GEN_INC_DIR}/hsa_pp.h,${GEN_INC_DIR}/hsa_ext_amd_pp.h -out ${GEN_INC_DIR}/hsa_ostream_ops.h" ) -execute_process ( COMMAND sh -xc "${ROOT_DIR}/script/hsaap.py ${PROJECT_BINARY_DIR} ${HSA_RUNTIME_INC_PATH}" ) -execute_process ( COMMAND sh -xc "${ROOT_DIR}/script/kfdap.py ${PROJECT_BINARY_DIR} ${HSA_KMT_INC_PATH}" ) +execute_process ( COMMAND sh -xc "python3 ${ROOT_DIR}/script/gen_ostream_ops.py -in ${GEN_INC_DIR}/hsa_pp.h,${GEN_INC_DIR}/hsa_ext_amd_pp.h -out ${GEN_INC_DIR}/hsa_ostream_ops.h" ) +execute_process ( COMMAND sh -xc "python3 ${ROOT_DIR}/script/hsaap.py ${PROJECT_BINARY_DIR} ${HSA_RUNTIME_INC_PATH}" ) +execute_process ( COMMAND sh -xc "python3 ${ROOT_DIR}/script/kfdap.py ${PROJECT_BINARY_DIR} ${HSA_KMT_INC_PATH}" ) execute_process ( COMMAND sh -xc "${CMAKE_C_COMPILER} -E ${HSA_KMT_INC_PATH}/hsakmttypes.h > ${GEN_INC_DIR}/hsakmttypes_pp.h" ) -execute_process ( COMMAND sh -xc "${ROOT_DIR}/script/gen_ostream_ops.py -in ${GEN_INC_DIR}/hsakmttypes_pp.h -out ${GEN_INC_DIR}/kfd_ostream_ops.h" ) +execute_process ( COMMAND sh -xc "python3 ${ROOT_DIR}/script/gen_ostream_ops.py -in ${GEN_INC_DIR}/hsakmttypes_pp.h -out ${GEN_INC_DIR}/kfd_ostream_ops.h" ) execute_process ( COMMAND sh -xc "${CMAKE_C_COMPILER} -E ${HIP_PATH}/include/hip/hip_runtime_api.h ${HIP_DEFINES} -I${HIP_PATH}/include -I${ROCM_ROOT_DIR}/hsa/include > ${GEN_INC_DIR}/hip_runtime_api_pp.h" ) -execute_process ( COMMAND sh -xc "${ROOT_DIR}/script/gen_ostream_ops.py -in ${GEN_INC_DIR}/hip_runtime_api_pp.h -out ${GEN_INC_DIR}/hip_ostream_ops.h" ) +execute_process ( COMMAND sh -xc "python3 ${ROOT_DIR}/script/gen_ostream_ops.py -in ${GEN_INC_DIR}/hip_runtime_api_pp.h -out ${GEN_INC_DIR}/hip_ostream_ops.h" ) execute_process ( COMMAND sh -xc "mkdir ${GEN_INC_DIR}/rocprofiler" ) execute_process ( COMMAND sh -xc "ln -s ${ROOT_DIR}/../rocprofiler/inc/rocprofiler.h ${GEN_INC_DIR}/rocprofiler/rocprofiler.h" ) execute_process ( COMMAND sh -xc "ln -s ${ROOT_DIR}/../rocprofiler/src/core/activity.h ${GEN_INC_DIR}/rocprofiler/activity.h" ) diff --git a/test/run.sh b/test/run.sh index 75a5a68053..e8d8909523 100755 --- a/test/run.sh +++ b/test/run.sh @@ -86,11 +86,11 @@ eval_test() { is_failed=0; else if [ $is_failed = 0 ] ; then - python ./test/check_trace.py -in $test_name -ck $check_trace_flag + python3 ./test/check_trace.py -in $test_name -ck $check_trace_flag is_failed=$? if [ $is_failed != 0 ] ; then echo "Trace checker error:" - python ./test/check_trace.py -v -in $test_name -ck $check_trace_flag + python3 ./test/check_trace.py -v -in $test_name -ck $check_trace_flag fi fi fi From 2d31848c4432b518ff5d89348c8c5c63cb4531b6 Mon Sep 17 00:00:00 2001 From: Rachida Kebichi Date: Wed, 18 Nov 2020 10:39:33 -0500 Subject: [PATCH 440/691] SWDEV-259683 HIP API records filtering Change-Id: I43ca5e022d2c055b6a9bc2c09b4276b490a4b986 --- src/core/roctracer.cpp | 14 ++++++++++++++ test/run.sh | 5 +++++ test/tool/tracer_tool.cpp | 16 ++++++++++++++-- 3 files changed, 33 insertions(+), 2 deletions(-) diff --git a/src/core/roctracer.cpp b/src/core/roctracer.cpp index 891b005e2b..8bc5ea295e 100644 --- a/src/core/roctracer.cpp +++ b/src/core/roctracer.cpp @@ -719,11 +719,25 @@ PUBLIC_API roctracer_status_t roctracer_op_code( switch (domain) { case ACTIVITY_DOMAIN_HSA_API: { *op = roctracer::hsa_support::GetApiCode(str); + if (*op == HSA_API_ID_NUMBER) { + EXC_RAISING(ROCTRACER_STATUS_BAD_PARAMETER, "Invalid API name \"" << str << "\", domain ID(" << domain << ")"); + } if (kind != NULL) *kind = 0; break; } case ACTIVITY_DOMAIN_KFD_API: { *op = roctracer::kfd_support::GetApiCode(str); + if (*op == KFD_API_ID_NUMBER) { + EXC_RAISING(ROCTRACER_STATUS_BAD_PARAMETER, "Invalid API name \"" << str << "\", domain ID(" << domain << ")"); + } + if (kind != NULL) *kind = 0; + break; + } + case ACTIVITY_DOMAIN_HIP_API: { + *op = hipApiIdByName(str); + if (*op == HIP_API_ID_NUMBER) { + EXC_RAISING(ROCTRACER_STATUS_BAD_PARAMETER, "Invalid API name \"" << str << "\", domain ID(" << domain << ")"); + } if (kind != NULL) *kind = 0; break; } diff --git a/test/run.sh b/test/run.sh index e8d8909523..9a7ffc7490 100755 --- a/test/run.sh +++ b/test/run.sh @@ -134,6 +134,11 @@ export ROCTRACER_DOMAIN="hip" eval_test "tool period test" "ROCP_CTRL_RATE=10:100000:1000000 ./test/MatrixTranspose" MatrixTranspose_hip_period_trace eval_test "tool flushing test" "ROCP_FLUSH_RATE=100000 ./test/MatrixTranspose" MatrixTranspose_hip_flush_trace +#API records filtering +echo "" > input.xml +export ROCP_INPUT=input.xml +eval_test "tool HIP test input" ./test/MatrixTranspose hip_input_trace + # HSA test export ROCTRACER_DOMAIN="hsa" # test trace diff --git a/test/tool/tracer_tool.cpp b/test/tool/tracer_tool.cpp index 218652e98a..cc5367d1ae 100644 --- a/test/tool/tracer_tool.cpp +++ b/test/tool/tracer_tool.cpp @@ -112,6 +112,7 @@ bool trace_pcs = false; // API trace vector std::vector hsa_api_vec; std::vector kfd_api_vec; +std::vector hip_api_vec; LOADER_INSTANTIATE(); TRACE_BUFFER_INSTANTIATE(); @@ -921,6 +922,7 @@ void tool_load() { found = true; trace_hip_api = true; trace_hip_activity = true; + hip_api_vec = api_vec; } if (name == "KFD") { found = true; @@ -1091,9 +1093,19 @@ extern "C" PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, // Enable tracing if (trace_hip_api) { hip_api_file_handle = open_output_file(output_prefix, "hip_api_trace.txt"); - ROCTRACER_CALL(roctracer_enable_domain_callback(ACTIVITY_DOMAIN_HIP_API, hip_api_callback, NULL)); + if (hip_api_vec.size() != 0) { + for (unsigned i = 0; i < hip_api_vec.size(); ++i) { + uint32_t cid = HIP_API_ID_NUMBER; + const char* api = hip_api_vec[i].c_str(); + ROCTRACER_CALL(roctracer_op_code(ACTIVITY_DOMAIN_HIP_API, api, &cid, NULL)); + ROCTRACER_CALL(roctracer_enable_op_callback(ACTIVITY_DOMAIN_HIP_API, cid, hip_api_callback, NULL)); + printf(" %s", api); + } + } + else { + ROCTRACER_CALL(roctracer_enable_domain_callback(ACTIVITY_DOMAIN_HIP_API, hip_api_callback, NULL)); + } ROCTRACER_CALL(roctracer_disable_op_callback(ACTIVITY_DOMAIN_HIP_API, HIP_API_ID_hipModuleUnload)); - if (is_stats_opt) { const char* path = NULL; FILE* f = open_output_file(output_prefix, "hip_api_stats.csv", &path); From 99eee455465bbfbd40c1005c987d3b2a31752b70 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Tue, 22 Dec 2020 04:42:30 -0500 Subject: [PATCH 441/691] SWDEV-251491 : disabling tracing on exit Change-Id: Ifd5f0fbad70afa1e79da8b4b9aa639d899cbea76 --- test/tool/tracer_tool.cpp | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/test/tool/tracer_tool.cpp b/test/tool/tracer_tool.cpp index cc5367d1ae..e9522f0b54 100644 --- a/test/tool/tracer_tool.cpp +++ b/test/tool/tracer_tool.cpp @@ -1024,10 +1024,18 @@ void tool_load() { ONLOAD_TRACE_END(); } +void exit_handler(int status, void* arg) { + ONLOAD_TRACE("status(" << status << ") arg(" << arg << ")"); + tool_unload(); + ONLOAD_TRACE_END(); +} + // HSA-runtime tool on-load method extern "C" PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, uint64_t failed_tool_count, const char* const* failed_tool_names) { ONLOAD_TRACE_BEG(); + on_exit(exit_handler, NULL); + timer = new hsa_rt_utils::Timer(table->core_->hsa_system_get_info_fn); const char* output_prefix = getenv("ROCP_OUTPUT_DIR"); @@ -1101,11 +1109,10 @@ extern "C" PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, ROCTRACER_CALL(roctracer_enable_op_callback(ACTIVITY_DOMAIN_HIP_API, cid, hip_api_callback, NULL)); printf(" %s", api); } - } - else { + } else { ROCTRACER_CALL(roctracer_enable_domain_callback(ACTIVITY_DOMAIN_HIP_API, hip_api_callback, NULL)); } - ROCTRACER_CALL(roctracer_disable_op_callback(ACTIVITY_DOMAIN_HIP_API, HIP_API_ID_hipModuleUnload)); + if (is_stats_opt) { const char* path = NULL; FILE* f = open_output_file(output_prefix, "hip_api_stats.csv", &path); @@ -1116,6 +1123,7 @@ extern "C" PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, } } } + if (trace_hip_activity) { hcc_activity_file_handle = open_output_file(output_prefix, "hcc_ops_trace.txt"); ROCTRACER_CALL(roctracer_enable_domain_activity(ACTIVITY_DOMAIN_HCC_OPS)); @@ -1166,8 +1174,8 @@ extern "C" CONSTRUCTOR_API void constructor() { } extern "C" DESTRUCTOR_API void destructor() { ONLOAD_TRACE_BEG(); - roctracer_flush_buf(); tool_unload(); + roctracer_flush_buf(); if (hip_api_stats) hip_api_stats->dump(); if (hip_kernel_stats) hip_kernel_stats->dump(); From 912cfd4cf859bb33dc43aecd8576c5eb64bdb53f Mon Sep 17 00:00:00 2001 From: Evgeny Date: Fri, 25 Dec 2020 01:49:44 -0500 Subject: [PATCH 442/691] SWDEV-251491 : fixing tracing on exit Change-Id: I1bf2a6093331e7a08179b9f64394c5c49206ef0e --- src/core/roctracer.cpp | 25 ++++++++++++++----------- test/tool/tracer_tool.cpp | 2 ++ 2 files changed, 16 insertions(+), 11 deletions(-) diff --git a/src/core/roctracer.cpp b/src/core/roctracer.cpp index 8bc5ea295e..272bad26e3 100644 --- a/src/core/roctracer.cpp +++ b/src/core/roctracer.cpp @@ -279,7 +279,8 @@ struct record_pair_t { roctracer_api_data_t data; record_pair_t() {}; }; -static thread_local std::stack record_pair_stack; +typedef std::stack record_pair_stack_t; +static thread_local record_pair_stack_t* record_pair_stack = NULL; // Correlation id storage static thread_local activity_correlation_id_t correlation_id_tls = 0; @@ -350,6 +351,7 @@ void* HIP_SyncApiDataCallback( void* arg) { static hsa_rt_utils::Timer timer; + if (record_pair_stack == NULL) record_pair_stack = new record_pair_stack_t; void* ret = NULL; const hip_api_data_t* data = reinterpret_cast(callback_data); @@ -368,8 +370,8 @@ void* HIP_SyncApiDataCallback( // Allocating a record if NULL passed if (record == NULL) { if (data != NULL) EXC_ABORT(ROCTRACER_STATUS_ERROR, "ActivityCallback enter: record is NULL"); - record_pair_stack.push({}); - auto& top = record_pair_stack.top(); + record_pair_stack->push({}); + auto& top = record_pair_stack->top(); data = &(top.data.hip); data_ptr = const_cast(data); data_ptr->phase = phase; @@ -389,7 +391,7 @@ void* HIP_SyncApiDataCallback( ret = data_ptr; } else { // popping the record entry - if (!record_pair_stack.empty()) record_pair_stack.pop(); + if (!record_pair_stack->empty()) record_pair_stack->pop(); // Clearing correlatin ID correlation_id_tls = 0; @@ -397,7 +399,7 @@ void* HIP_SyncApiDataCallback( const char * name = roctracer_op_string(ACTIVITY_DOMAIN_HIP_API, op_id, 0); DEBUG_TRACE("HIP_SyncApiDataCallback(\"%s\") phase(%d): op(%u) record(%p) data(%p) pool(%p) depth(%d) correlation_id(%lu) time_ns(%lu)\n", - name, phase, op_id, record, data, pool, (int)(record_pair_stack.size()), (data_ptr) ? data_ptr->correlation_id : 0, timer.timestamp_ns()); + name, phase, op_id, record, data, pool, (int)(record_pair_stack->size()), (data_ptr) ? data_ptr->correlation_id : 0, timer.timestamp_ns()); return ret; } @@ -410,6 +412,7 @@ void* HIP_SyncActivityCallback( { static hsa_rt_utils::Timer timer; const timestamp_t timestamp_ns = timer.timestamp_ns(); + if (record_pair_stack == NULL) record_pair_stack = new record_pair_stack_t; void* ret = NULL; const hip_api_data_t* data = reinterpret_cast(callback_data); @@ -428,8 +431,8 @@ void* HIP_SyncActivityCallback( // Allocating a record if NULL passed if (record == NULL) { if (data != NULL) EXC_ABORT(ROCTRACER_STATUS_ERROR, "ActivityCallback enter: record is NULL"); - record_pair_stack.push({}); - auto& top = record_pair_stack.top(); + record_pair_stack->push({}); + auto& top = record_pair_stack->top(); record = &(top.record); data = &(top.data.hip); data_ptr = const_cast(data); @@ -459,8 +462,8 @@ void* HIP_SyncActivityCallback( // Getting record of stacked if (record == NULL) { - if (record_pair_stack.empty()) EXC_ABORT(ROCTRACER_STATUS_ERROR, "ActivityCallback exit: record stack is empty"); - auto& top = record_pair_stack.top(); + if (record_pair_stack->empty()) EXC_ABORT(ROCTRACER_STATUS_ERROR, "ActivityCallback exit: record stack is empty"); + auto& top = record_pair_stack->top(); record = &(top.record); } @@ -482,7 +485,7 @@ void* HIP_SyncActivityCallback( pool->Write(*record); // popping the record entry - if (!record_pair_stack.empty()) record_pair_stack.pop(); + if (!record_pair_stack->empty()) record_pair_stack->pop(); // Clearing correlatin ID correlation_id_tls = 0; @@ -490,7 +493,7 @@ void* HIP_SyncActivityCallback( const char * name = roctracer_op_string(ACTIVITY_DOMAIN_HIP_API, op_id, 0); DEBUG_TRACE("HIP_SyncActivityCallback(\"%s\") phase(%d): op(%u) record(%p) data(%p) pool(%p) depth(%d) correlation_id(%lu) beg_ns(%lu) end_ns(%lu)\n", - name, phase, op_id, record, data, pool, (int)(record_pair_stack.size()), (data_ptr) ? data_ptr->correlation_id : 0, timestamp_ns); + name, phase, op_id, record, data, pool, (int)(record_pair_stack->size()), (data_ptr) ? data_ptr->correlation_id : 0, timestamp_ns); return ret; } diff --git a/test/tool/tracer_tool.cpp b/test/tool/tracer_tool.cpp index e9522f0b54..c7e063ff3d 100644 --- a/test/tool/tracer_tool.cpp +++ b/test/tool/tracer_tool.cpp @@ -1026,8 +1026,10 @@ void tool_load() { void exit_handler(int status, void* arg) { ONLOAD_TRACE("status(" << status << ") arg(" << arg << ")"); +#if 0 tool_unload(); ONLOAD_TRACE_END(); +#endif } // HSA-runtime tool on-load method From 1c77416a6c1efc8f9cfc4f8b839d34d91ad4b669 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Tue, 9 Mar 2021 15:35:05 -0600 Subject: [PATCH 443/691] SWDEV-267198 : adding gpu index to hsa_handles file Change-Id: I6ddba45ab31fff97a1f85f889c56693accf8f5bc --- src/util/hsa_rsrc_factory.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/util/hsa_rsrc_factory.cpp b/src/util/hsa_rsrc_factory.cpp index cf172cae11..498aa25a54 100644 --- a/src/util/hsa_rsrc_factory.cpp +++ b/src/util/hsa_rsrc_factory.cpp @@ -750,7 +750,7 @@ void HsaRsrcFactory::DumpHandles(FILE* file) { fprintf(file, "0x%lx agent %s\n", agent_info->dev_id.handle, (agent_info->dev_type == HSA_DEVICE_TYPE_CPU) ? "cpu" : "gpu"); if (agent_info->cpu_pool.handle != 0) fprintf(file, "0x%lx pool cpu\n", agent_info->cpu_pool.handle); if (agent_info->kern_arg_pool.handle != 0) fprintf(file, "0x%lx pool cpu kernarg\n", agent_info->kern_arg_pool.handle); - if (agent_info->gpu_pool.handle != 0) fprintf(file, "0x%lx pool gpu\n", agent_info->gpu_pool.handle); + if (agent_info->gpu_pool.handle != 0) fprintf(file, "0x%lx pool gpu%u\n", agent_info->gpu_pool.handle, agent_info->dev_index); } fflush(file); } From 16d4a7956238f6a8159a22bcaf03a4ef94d8db0a Mon Sep 17 00:00:00 2001 From: Cole Nelson Date: Wed, 24 Mar 2021 12:53:34 -0700 Subject: [PATCH 444/691] CMakeLists.txt: add ENABLE_LDCONFIG to support multi-version install Depends-On: I58fdf1d0b4e864b5a61ffe8e335d430d424811ab Change-Id: I1eeb778ac58a2c4b588244adc3112ecb1aa15217 Signed-off-by: Cole Nelson --- CMakeLists.txt | 14 +++++++++++--- DEBIAN/postinst | 19 ------------------- DEBIAN/postinst.in | 23 +++++++++++++++++++++++ DEBIAN/prerm | 18 ------------------ DEBIAN/prerm.in | 22 ++++++++++++++++++++++ RPM/post.in | 5 +++++ RPM/postun.in | 5 +++++ RPM/rpm_post | 1 - RPM/rpm_postun | 1 - 9 files changed, 66 insertions(+), 42 deletions(-) delete mode 100644 DEBIAN/postinst create mode 100644 DEBIAN/postinst.in delete mode 100644 DEBIAN/prerm create mode 100644 DEBIAN/prerm.in create mode 100644 RPM/post.in create mode 100644 RPM/postun.in delete mode 100644 RPM/rpm_post delete mode 100644 RPM/rpm_postun diff --git a/CMakeLists.txt b/CMakeLists.txt index f5c1d73c53..f3b99c2b88 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -176,6 +176,7 @@ install ( TARGETS "kfdwrapper64" LIBRARY DESTINATION ${DEST_NAME}/lib ) ## Packaging directives set ( CPACK_GENERATOR "DEB" "RPM" "TGZ" ) +set ( ENABLE_LDCONFIG ON CACHE BOOL "Set library links and caches using ldconfig.") set ( CPACK_PACKAGE_NAME "${ROCTRACER_NAME}-dev" ) set ( CPACK_PACKAGE_VENDOR "Advanced Micro Devices, Inc." ) set ( CPACK_PACKAGE_VERSION_MAJOR ${BUILD_VERSION_MAJOR} ) @@ -198,7 +199,10 @@ else() endif() message ( "Using CPACK_DEBIAN_PACKAGE_RELEASE ${CPACK_DEBIAN_PACKAGE_RELEASE}" ) set ( CPACK_DEBIAN_FILE_NAME "DEB-DEFAULT" ) -set ( CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA "${CMAKE_CURRENT_SOURCE_DIR}/DEBIAN/postinst;${CMAKE_CURRENT_SOURCE_DIR}/DEBIAN/prerm" ) +## Process the Debian install/remove scripts to update the CPACK variables +configure_file ( ${CMAKE_CURRENT_SOURCE_DIR}/DEBIAN/postinst.in DEBIAN/postinst @ONLY ) +configure_file ( ${CMAKE_CURRENT_SOURCE_DIR}/DEBIAN/prerm.in DEBIAN/prerm @ONLY ) +set ( CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA "DEBIAN/postinst;DEBIAN/prerm" ) ## RPM package specific variables if ( DEFINED ENV{CPACK_RPM_PACKAGE_RELEASE} ) @@ -220,8 +224,12 @@ if ( PROC_RESULT EQUAL "0" AND NOT EVAL_RESULT STREQUAL "" ) endif() set ( CPACK_RPM_FILE_NAME "RPM-DEFAULT" ) message("CPACK_RPM_PACKAGE_RELEASE: ${CPACK_RPM_PACKAGE_RELEASE}") -set ( CPACK_RPM_POST_INSTALL_SCRIPT_FILE "${CMAKE_CURRENT_SOURCE_DIR}/RPM/rpm_post" ) -set ( CPACK_RPM_POST_UNINSTALL_SCRIPT_FILE "${CMAKE_CURRENT_SOURCE_DIR}/RPM/rpm_postun" ) +## Process the Rpm install/remove scripts to update the CPACK variables +configure_file ( "${CMAKE_CURRENT_SOURCE_DIR}/RPM/post.in" RPM/post @ONLY ) +configure_file ( "${CMAKE_CURRENT_SOURCE_DIR}/RPM/postun.in" RPM/postun @ONLY ) + +set ( CPACK_RPM_POST_INSTALL_SCRIPT_FILE "${CMAKE_CURRENT_BINARY_DIR}/RPM/post" ) +set ( CPACK_RPM_POST_UNINSTALL_SCRIPT_FILE "${CMAKE_CURRENT_BINARY_DIR}/RPM/postun" ) include ( CPack ) diff --git a/DEBIAN/postinst b/DEBIAN/postinst deleted file mode 100644 index 141a4de6ec..0000000000 --- a/DEBIAN/postinst +++ /dev/null @@ -1,19 +0,0 @@ -#/bin/bash - -set -e - -do_ldconfig() { - echo /opt/rocm/roctracer/lib > /etc/ld.so.conf.d/libroctracer64.conf && ldconfig -} - -case "$1" in - configure) - do_ldconfig - ;; - abort-upgrade|abort-remove|abort-deconfigure) - echo "$1" - ;; - *) - exit 0 - ;; -esac diff --git a/DEBIAN/postinst.in b/DEBIAN/postinst.in new file mode 100644 index 0000000000..21607ffbc1 --- /dev/null +++ b/DEBIAN/postinst.in @@ -0,0 +1,23 @@ +#!/bin/bash + +set -e + +do_ldconfig() { + # left-hand term originates from ENABLE_LDCONFIG = ON/OFF at package build + if [ "@ENABLE_LDCONFIG@" == "ON" ]; then + echo @CPACK_PACKAGING_INSTALL_PREFIX@/roctracer/lib > /etc/ld.so.conf.d/libroctracer64.conf + ldconfig + fi +} + +case "$1" in + ( configure ) + do_ldconfig + ;; + ( abort-upgrade | abort-remove | abort-deconfigure ) + echo "$1" + ;; + ( * ) + exit 0 + ;; +esac diff --git a/DEBIAN/prerm b/DEBIAN/prerm deleted file mode 100644 index 886d3e174a..0000000000 --- a/DEBIAN/prerm +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/bash - -set -e - -rm_ldconfig() { - rm -f /etc/ld.so.conf.d/libroctracer64.conf && ldconfig -} - -case "$1" in - remove) - rm_ldconfig - ;; - purge) - ;; - *) - exit 0 - ;; -esac diff --git a/DEBIAN/prerm.in b/DEBIAN/prerm.in new file mode 100644 index 0000000000..f19ee54882 --- /dev/null +++ b/DEBIAN/prerm.in @@ -0,0 +1,22 @@ +#!/bin/bash + +set -e + +rm_ldconfig() { + # left-hand term originates from ENABLE_LDCONFIG = ON/OFF at package build + if [ "@ENABLE_LDCONFIG@" == "ON" ]; then + rm -f /etc/ld.so.conf.d/libroctracer64.conf + ldconfig + fi +} + +case "$1" in + ( remove ) + rm_ldconfig + ;; + ( purge ) + ;; + ( * ) + exit 0 + ;; +esac diff --git a/RPM/post.in b/RPM/post.in new file mode 100644 index 0000000000..29f3278e90 --- /dev/null +++ b/RPM/post.in @@ -0,0 +1,5 @@ +# left-hand term originates from ENABLE_LDCONFIG = ON/OFF at package build +if [ "@ENABLE_LDCONFIG@" == "ON" ]; then + echo @CPACK_PACKAGING_INSTALL_PREFIX@/roctracer/lib > /etc/ld.so.conf.d/libroctracer64.conf + ldconfig +fi diff --git a/RPM/postun.in b/RPM/postun.in new file mode 100644 index 0000000000..8ee50096a7 --- /dev/null +++ b/RPM/postun.in @@ -0,0 +1,5 @@ +# left-hand term originates from ENABLE_LDCONFIG = ON/OFF at package build +if [ "@ENABLE_LDCONFIG@" == "ON" ]; then + rm -f /etc/ld.so.conf.d/libroctracer64.conf + ldconfig +fi diff --git a/RPM/rpm_post b/RPM/rpm_post deleted file mode 100644 index a19ea861f1..0000000000 --- a/RPM/rpm_post +++ /dev/null @@ -1 +0,0 @@ -echo /opt/rocm/roctracer/lib > /etc/ld.so.conf.d/libroctracer64.conf && ldconfig diff --git a/RPM/rpm_postun b/RPM/rpm_postun deleted file mode 100644 index a737490bb1..0000000000 --- a/RPM/rpm_postun +++ /dev/null @@ -1 +0,0 @@ -rm -f /etc/ld.so.conf.d/libroctracer64.conf && ldconfig From 2287da5e2888ee499edd37d64187f41f62dd7390 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Sun, 28 Mar 2021 08:11:43 +0000 Subject: [PATCH 445/691] fxing gfxip label Change-Id: Ic22d828b38da8afc5a232c2f2eb5de5410844b70 --- src/util/hsa_rsrc_factory.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/util/hsa_rsrc_factory.cpp b/src/util/hsa_rsrc_factory.cpp index 498aa25a54..cf5ccbbaf8 100644 --- a/src/util/hsa_rsrc_factory.cpp +++ b/src/util/hsa_rsrc_factory.cpp @@ -319,8 +319,9 @@ const AgentInfo* HsaRsrcFactory::AddAgentInfo(const hsa_agent_t agent) { agent_info->dev_id = agent; agent_info->dev_type = HSA_DEVICE_TYPE_GPU; hsa_api_.hsa_agent_get_info(agent, HSA_AGENT_INFO_NAME, agent_info->name); - strncpy(agent_info->gfxip, agent_info->name, 4); - agent_info->gfxip[4] = '\0'; + const int gfxip_label_len = strlen(agent_info->name) - 2; + strncpy(agent_info->gfxip, agent_info->name, gfxip_label_len); + agent_info->gfxip[gfxip_label_len] = '\0'; hsa_api_.hsa_agent_get_info(agent, HSA_AGENT_INFO_WAVEFRONT_SIZE, &agent_info->max_wave_size); hsa_api_.hsa_agent_get_info(agent, HSA_AGENT_INFO_QUEUE_MAX_SIZE, &agent_info->max_queue_size); hsa_api_.hsa_agent_get_info(agent, HSA_AGENT_INFO_PROFILE, &agent_info->profile); From ad5b463912cb59b67c5bee9eb025340ec8188d36 Mon Sep 17 00:00:00 2001 From: Rachida Kebichi Date: Thu, 25 Mar 2021 09:32:28 -0400 Subject: [PATCH 446/691] SWDEV-271503 Fixed core dump Change-Id: Ia582a27482581c3b81c42da0add9f6743898da6c --- script/gen_ostream_ops.py | 6 +++--- test/tool/tracer_tool.cpp | 7 ++----- 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/script/gen_ostream_ops.py b/script/gen_ostream_ops.py index ae60be84e7..180103a54e 100755 --- a/script/gen_ostream_ops.py +++ b/script/gen_ostream_ops.py @@ -85,7 +85,7 @@ def process_struct(file_handle, cppHeader_struct, cppHeader, parent_hier_name, a str = '' if "union" not in mtype: indent = "" - str += " if (regex_match (\"" + cppHeader_struct + "::" + name + "\", std::regex(" + apiname.upper() + "_structs_regex))) {\n" + str += " if (std::string(\"" + cppHeader_struct + "::" + name + "\").find(" + apiname.upper() + "_structs_regex" + ")) {\n" indent = " " str += indent + " roctracer::" + apiname.lower() + "_support::operator<<(out, \"" + name + "=\");\n" str += indent + " roctracer::" + apiname.lower() + "_support::operator<<(out, v." + name + ");\n" @@ -132,7 +132,7 @@ def gen_cppheader(infilepath, outfilepath, rank): '#include \n' + \ '\n' + \ '#include "roctracer.h"\n' - header_s += '#include \n#include \n' + header_s += '#include \n' output_filename_h.write(header_s) output_filename_h.write('\n') @@ -140,7 +140,7 @@ def gen_cppheader(infilepath, outfilepath, rank): output_filename_h.write('namespace ' + apiname.lower() + '_support {\n') output_filename_h.write('static int ' + apiname.upper() + '_depth_max = 1;\n') output_filename_h.write('static int ' + apiname.upper() + '_depth_max_cnt = 0;\n') - output_filename_h.write('static std::string ' + apiname.upper() + '_structs_regex = \".*\";\n') + output_filename_h.write('static std::string ' + apiname.upper() + '_structs_regex = \"\";\n') output_filename_h.write('// begin ostream ops for '+ apiname + ' \n') output_filename_h.write("// basic ostream ops\n") output_filename_h.write(header_basic) diff --git a/test/tool/tracer_tool.cpp b/test/tool/tracer_tool.cpp index c7e063ff3d..cf55574766 100644 --- a/test/tool/tracer_tool.cpp +++ b/test/tool/tracer_tool.cpp @@ -823,7 +823,6 @@ void tool_unload() { // Flush tracing pool close_tracing_pool(); roctracer::TraceBufferBase::FlushAll(); - close_file_handles(); ONLOAD_TRACE_END(); } @@ -1026,10 +1025,6 @@ void tool_load() { void exit_handler(int status, void* arg) { ONLOAD_TRACE("status(" << status << ") arg(" << arg << ")"); -#if 0 - tool_unload(); - ONLOAD_TRACE_END(); -#endif } // HSA-runtime tool on-load method @@ -1178,6 +1173,8 @@ extern "C" DESTRUCTOR_API void destructor() { ONLOAD_TRACE_BEG(); tool_unload(); roctracer_flush_buf(); + close_file_handles(); + if (hip_api_stats) hip_api_stats->dump(); if (hip_kernel_stats) hip_kernel_stats->dump(); From 06271806d426b5b07717c71781e30e0169af90cb Mon Sep 17 00:00:00 2001 From: Rachida Kebichi Date: Fri, 5 Mar 2021 14:24:27 -0500 Subject: [PATCH 447/691] SWDEV-255637 support for hsa_amd_memory_async_copy_rect Change-Id: I5db6484c30427712c56b59862e748118a3f079c2 --- script/hsaap.py | 9 ++++++++- test/tool/tracer_tool.cpp | 2 ++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/script/hsaap.py b/script/hsaap.py index e1a3d71784..0acf101570 100755 --- a/script/hsaap.py +++ b/script/hsaap.py @@ -362,11 +362,13 @@ class API_DescrParser: self.content += ' struct {\n' for (var, item) in struct['astr'].items(): self.content += ' ' + item + ';\n' + if call == "hsa_amd_memory_async_copy_rect" and item == "const hsa_dim3_t* range": + self.content += ' hsa_dim3_t range__val;\n' self.content += ' } ' + call + ';\n' else: self.content += ' } args;\n' self.content += '};\n' - + # generate API callbacks def gen_callbacks(self, n, name, call, struct): if n == -1: @@ -384,6 +386,8 @@ class API_DescrParser: self.content += ' api_data.args.' + call + '.' + var + ' = ' + '(' + var + ' != NULL) ? strdup(' + var + ')' + ' : NULL;\n' else: self.content += ' api_data.args.' + call + '.' + var + ' = ' + var + ';\n' + if call == 'hsa_amd_memory_async_copy_rect' and var == 'range': + self.content += ' api_data.args.' + call + '.' + var + '__val = ' + '*(' + var + ');\n' self.content += ' activity_rtapi_callback_t api_callback_fun = NULL;\n' self.content += ' void* api_callback_arg = NULL;\n' self.content += ' cb_table.get(' + call_id + ', &api_callback_fun, &api_callback_arg);\n' @@ -459,6 +463,9 @@ class API_DescrParser: self.content += ' out << "0x" << std::hex << (uint64_t)' + arg_val else: self.content += ' out << ' + arg_val + if call == "hsa_amd_memory_async_copy_rect" and arg_var == "range": + self.content += ' << ", ";\n' + self.content += ' out << ' + arg_val + '__val' ''' arg_item = struct['tlst'][ind] if re.search(r'\(\* ', arg_item): arg_pref = '' diff --git a/test/tool/tracer_tool.cpp b/test/tool/tracer_tool.cpp index cf55574766..0b1721d5b1 100644 --- a/test/tool/tracer_tool.cpp +++ b/test/tool/tracer_tool.cpp @@ -315,6 +315,7 @@ constexpr roctracer::TraceBuffer::flush_prm_t hsa_flush_p roctracer::TraceBuffer* hsa_api_trace_buffer = NULL; // HSA API callback function + void hsa_api_callback( uint32_t domain, uint32_t cid, @@ -326,6 +327,7 @@ void hsa_api_callback( if (data->phase == ACTIVITY_API_PHASE_ENTER) { hsa_begin_timestamp = timer->timestamp_fn_ns(); } else { + const timestamp_t end_timestamp = (cid == HSA_API_ID_hsa_shut_down) ? hsa_begin_timestamp : timer->timestamp_fn_ns(); hsa_api_trace_entry_t* entry = hsa_api_trace_buffer->GetEntry(); entry->cid = cid; From 8c3bd6817e0cc9221ecf0450f3fc8cfe5583334e Mon Sep 17 00:00:00 2001 From: Rachida Kebichi Date: Tue, 6 Apr 2021 09:54:37 -0400 Subject: [PATCH 448/691] SWDEV-272488 append to CMAKE_CXX_FLAGS instead of override Change-Id: Ib5e6856944bf54b2161cba9ac24adda57fdf8a9a --- cmake_modules/env.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake_modules/env.cmake b/cmake_modules/env.cmake index f9fbb436c8..199798bea2 100644 --- a/cmake_modules/env.cmake +++ b/cmake_modules/env.cmake @@ -38,7 +38,7 @@ add_definitions ( -DHSA_DEPRECATED= ) add_definitions ( -D__HIP_PLATFORM_HCC__=1 ) ## Linux Compiler options -set ( CMAKE_CXX_FLAGS "-std=c++11") +set ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") set ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall" ) set ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror" ) set ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror=return-type" ) From 6267df36e4babcae4c00abf6ff1079036cca5372 Mon Sep 17 00:00:00 2001 From: Rachida Kebichi Date: Wed, 14 Apr 2021 11:17:53 -0400 Subject: [PATCH 449/691] SWDEV-281008 replace hcc_detail by amd_detail Change-Id: I180b18f9e1fae40c923d6210901f06cba14e8f13 --- inc/roctracer_hip.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/inc/roctracer_hip.h b/inc/roctracer_hip.h index 553ec1b869..391831bf12 100644 --- a/inc/roctracer_hip.h +++ b/inc/roctracer_hip.h @@ -39,7 +39,7 @@ inline static std::ostream& operator<<(std::ostream& out, const char& v) { #include #include -#include +#include #include From 38009bfba4a36371f4e08fb89f6dd95bf8965926 Mon Sep 17 00:00:00 2001 From: Laurent Morichetti Date: Thu, 15 Apr 2021 18:23:01 -0700 Subject: [PATCH 450/691] Fix a compilation error with gcc-9.3.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit On Ubuntu 20.04, in Release mode, gcc fails with this error: In file included from /usr/include/string.h:495, from /opt/rocm/include/hsa/hsa_api_trace.h:57, from ../roctracer/src/util/hsa_rsrc_factory.h:29, from ../roctracer/src/util/hsa_rsrc_factory.cpp:25: In function ‘char* strncpy(char*, const char*, size_t)’, inlined from ‘const util::AgentInfo* util::HsaRsrcFactory::AddAgentInfo(hsa_agent_t)’ at ../roctracer/src/util/hsa_rsrc_factory.cpp:323:12: /usr/include/x86_64-linux-gnu/bits/string_fortified.h:106:34: error: ‘char* __builtin___strncpy_chk(char*, const char*, long unsigned int, long unsigned int)’ specified bound depends on the length of the source argument [-Werror=stringop-overflow=] 106 | return __builtin___strncpy_chk (__dest, __src, __len, __bos (__dest)); | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../roctracer/src/util/hsa_rsrc_factory.cpp: In member function ‘const util::AgentInfo* util::HsaRsrcFactory::AddAgentInfo(hsa_agent_t)’: ../roctracer/src/util/hsa_rsrc_factory.cpp:322:39: note: length computed here 322 | const int gfxip_label_len = strlen(agent_info->name) - 2; | ~~~~~~^~~~~~~~~~~~~~~~~~ The error is caused by the following 2 lines: const int gfxip_label_len = strlen(agent_info->name) - 2; strncpy(agent_info->gfxip, agent_info->name, gfxip_label_len); The size argument to strncpy should not depend on the input string. Since the terminating character is not considered (the copy is at most len - 2 bytes), using memcpy is preferable. Also, make sure the destination does not overflow by clamping the size. Change-Id: I37c5c45418e7c31a017581b6c16e5d47cd61aec5 --- src/util/hsa_rsrc_factory.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/util/hsa_rsrc_factory.cpp b/src/util/hsa_rsrc_factory.cpp index cf5ccbbaf8..517ee161f7 100644 --- a/src/util/hsa_rsrc_factory.cpp +++ b/src/util/hsa_rsrc_factory.cpp @@ -319,8 +319,8 @@ const AgentInfo* HsaRsrcFactory::AddAgentInfo(const hsa_agent_t agent) { agent_info->dev_id = agent; agent_info->dev_type = HSA_DEVICE_TYPE_GPU; hsa_api_.hsa_agent_get_info(agent, HSA_AGENT_INFO_NAME, agent_info->name); - const int gfxip_label_len = strlen(agent_info->name) - 2; - strncpy(agent_info->gfxip, agent_info->name, gfxip_label_len); + const int gfxip_label_len = std::min (strlen(agent_info->name) - 2, sizeof (agent_info->gfxip) - 1); + memcpy(agent_info->gfxip, agent_info->name, gfxip_label_len); agent_info->gfxip[gfxip_label_len] = '\0'; hsa_api_.hsa_agent_get_info(agent, HSA_AGENT_INFO_WAVEFRONT_SIZE, &agent_info->max_wave_size); hsa_api_.hsa_agent_get_info(agent, HSA_AGENT_INFO_QUEUE_MAX_SIZE, &agent_info->max_queue_size); From 5c9329aec8daa67760f9415900dc46f76a864d6d Mon Sep 17 00:00:00 2001 From: Kent Russell Date: Tue, 27 Apr 2021 12:56:34 -0400 Subject: [PATCH 451/691] roctracer: Support static thunk Add numa lib as this will be required with a static thunk Look for static thunk of shared thunk cannot be found Signed-off-by: Kent Russell Change-Id: I5de63e0a56a8946132ccbb7140a19a82a70b951d --- cmake_modules/env.cmake | 3 +++ test/CMakeLists.txt | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/cmake_modules/env.cmake b/cmake_modules/env.cmake index 199798bea2..ab6c7f8856 100644 --- a/cmake_modules/env.cmake +++ b/cmake_modules/env.cmake @@ -150,6 +150,9 @@ get_filename_component ( HSA_RUNTIME_INC_PATH "${HSA_RUNTIME_INC}" DIRECTORY ) get_filename_component ( HSA_RUNTIME_LIB_PATH "${HSA_RUNTIME_LIB}" DIRECTORY ) find_library ( HSA_KMT_LIB "libhsakmt.so" ) +if ( "${HSA_KMT_LIB_PATH}" STREQUAL "" ) + find_library ( HSA_KMT_LIB "libhsakmt.a" ) +endif() get_filename_component ( HSA_KMT_LIB_PATH "${HSA_KMT_LIB}" DIRECTORY ) set ( HSA_KMT_INC_PATH "${HSA_KMT_LIB_PATH}/../include" ) diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index e07e7d8b91..748ee95a28 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -86,7 +86,7 @@ if ( DEFINED ROCTRACER_TARGET ) set ( TEST_LIB_SRC ${TEST_DIR}/tool/tracer_tool.cpp ${UTIL_SRC} ) add_library ( ${TEST_LIB} SHARED ${TEST_LIB_SRC} ) target_include_directories ( ${TEST_LIB} PRIVATE ${HSA_TEST_DIR} ${ROOT_DIR} ${ROOT_DIR}/inc ${HSA_RUNTIME_INC_PATH} ${HIP_INC_DIR} ${HSA_KMT_INC_PATH} ${GEN_INC_DIR} ) - target_link_libraries ( ${TEST_LIB} ${ROCTRACER_TARGET} ${HSA_RUNTIME_LIB} c stdc++ dl pthread rt ) + target_link_libraries ( ${TEST_LIB} ${ROCTRACER_TARGET} ${HSA_RUNTIME_LIB} c stdc++ dl pthread rt numa ) endif () ## Build hsaco_test.cpp referenc test From 0cff9b7dc990944fcc076dd5be51ccc3cf08283a Mon Sep 17 00:00:00 2001 From: Freddy Paul Date: Fri, 30 Apr 2021 11:30:17 -0700 Subject: [PATCH 452/691] roctracer:Add maintainer email in package. All packages should have a valid email for contact. SWDEV-257322 Change-Id: I04b7d5ccc618b0a0907a75a92f50c9da64c3ff32 --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index f3b99c2b88..405d2c30d0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -187,7 +187,7 @@ if ( DEFINED ENV{ROCM_LIBPATCH_VERSION} ) set ( CPACK_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION}.$ENV{ROCM_LIBPATCH_VERSION}" ) endif() message ( "-- CPACK_PACKAGE_VERSION: ${CPACK_PACKAGE_VERSION}" ) -set ( CPACK_PACKAGE_CONTACT "TODO " ) +set ( CPACK_PACKAGE_CONTACT "ROCm Profiler Support " ) set ( CPACK_PACKAGE_DESCRIPTION_SUMMARY "AMD ROCTRACER library" ) set ( CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE" ) From 7bcac00f35570c8615dec17ed9c0efc7800af6e1 Mon Sep 17 00:00:00 2001 From: Freddy Paul Date: Mon, 3 May 2021 11:45:27 -0700 Subject: [PATCH 453/691] roctracer:update with case-sensitivity email All packages should have a valid email for contact. SWDEV-257322 Change-Id: I3a489bde4283545cba2ee377edc5a8b7adb75116 --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 405d2c30d0..1d688e0a41 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -187,7 +187,7 @@ if ( DEFINED ENV{ROCM_LIBPATCH_VERSION} ) set ( CPACK_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION}.$ENV{ROCM_LIBPATCH_VERSION}" ) endif() message ( "-- CPACK_PACKAGE_VERSION: ${CPACK_PACKAGE_VERSION}" ) -set ( CPACK_PACKAGE_CONTACT "ROCm Profiler Support " ) +set ( CPACK_PACKAGE_CONTACT "ROCm Profiler Support " ) set ( CPACK_PACKAGE_DESCRIPTION_SUMMARY "AMD ROCTRACER library" ) set ( CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE" ) From faada3e569766163c854a4d95ca8630199ddac60 Mon Sep 17 00:00:00 2001 From: Rachida Kebichi Date: Tue, 4 May 2021 11:30:43 -0400 Subject: [PATCH 454/691] SWDEV-283958 Workaround for unnamed structs CppHeaderParser has limited support for unnamed structs. It leaves the name empty so this results in classes (a.k.a structs) having trailing '::' characters, also giving no way to distingush two unnamed structs at the same level of nesting. An example are the inner structs of hipExternalSemaphoreSignalParams. The workaround consists in skipping over these, so they are not generated in the output header file which lists all ostream ops<<. Only the inner unnamed structs are skipped, the rest is processed as it should. Change-Id: I17439c46095469b7adb7aee0b0f0b3d234aabc11 --- script/gen_ostream_ops.py | 1 + 1 file changed, 1 insertion(+) diff --git a/script/gen_ostream_ops.py b/script/gen_ostream_ops.py index 180103a54e..0ffb43ef07 100755 --- a/script/gen_ostream_ops.py +++ b/script/gen_ostream_ops.py @@ -147,6 +147,7 @@ def gen_cppheader(infilepath, outfilepath, rank): output_filename_h.write("// End of basic ostream ops\n\n") for c in cppHeader.classes: + if c[-2] == ':' and c[-1] == ':': continue #ostream operator cannot be overloaded for anonymous struct therefore it is skipped if "union" in c: continue if c in structs_analyzed: From 8fb3cdb30b45b70447613657e7dc80b91b69d571 Mon Sep 17 00:00:00 2001 From: Laurent Morichetti Date: Thu, 15 Apr 2021 19:37:29 -0700 Subject: [PATCH 455/691] Make HIP_VDI the default As this snippet shows, HCC is no longer supported by roctracer: #if HIP_VDI ... #else #error HCC support dropped #endif Removed HIP_VDI from the CMakeLists.txt, and the source code. Change-Id: Ib273da2a5af6d67fa1b021a7eca3ff785c8b9c73 --- cmake_modules/env.cmake | 13 ++----------- defaults.sh | 1 - src/core/loader.h | 10 ---------- test/CMakeLists.txt | 2 +- test/MatrixTranspose_test/Makefile | 2 +- test/tool/tracer_tool.cpp | 8 -------- 6 files changed, 4 insertions(+), 32 deletions(-) diff --git a/cmake_modules/env.cmake b/cmake_modules/env.cmake index ab6c7f8856..4f3fa2af1d 100644 --- a/cmake_modules/env.cmake +++ b/cmake_modules/env.cmake @@ -81,16 +81,8 @@ endif() add_definitions ( -DHIP_PROF_HIP_API_STRING=${HIP_API_STRING} ) ## Enable HIP_VDI mode -if ( NOT DEFINED HIP_VDI ) - set ( HIP_VDI 0 ) -endif() -add_definitions ( -DHIP_VDI=${HIP_VDI} ) -if ( "${HIP_VDI}" STREQUAL "1" ) - add_definitions ( -D__HIP_ROCclr__=1 ) - set ( HIP_DEFINES "-D__HIP_PLATFORM_HCC__=1 -D__HIP_ROCclr__=1" ) -else() - set ( HIP_DEFINES "-D__HIP_PLATFORM_HCC__=1") -endif() +add_definitions ( -D__HIP_ROCclr__=1 ) +set ( HIP_DEFINES "-D__HIP_PLATFORM_HCC__=1 -D__HIP_ROCclr__=1" ) ## Enable HIP local build if ( DEFINED LOCAL_BUILD ) @@ -173,7 +165,6 @@ message ( "-------ROCM_ROOT_DIR: ${ROCM_ROOT_DIR}" ) message ( "-------ROCM_INC_PATH: ${ROCM_INC_PATH}" ) message ( "-------------KFD-Inc: ${HSA_KMT_INC_PATH}" ) message ( "-------------HIP-Inc: ${HIP_INC_DIR}" ) -message ( "-------------HIP-VDI: ${HIP_VDI}" ) message ( "-----CMAKE_CXX_FLAGS: ${CMAKE_CXX_FLAGS}" ) message ( "---CMAKE_PREFIX_PATH: ${CMAKE_PREFIX_PATH}" ) message ( "---------GPU_TARGETS: ${GPU_TARGETS}" ) diff --git a/defaults.sh b/defaults.sh index 93361e72f0..d6d21b9506 100644 --- a/defaults.sh +++ b/defaults.sh @@ -1,3 +1,2 @@ BUILD_DIR=build TO_CLEAN=yes -HIP_VDI=1 diff --git a/src/core/loader.h b/src/core/loader.h index 946521d130..9102dc13da 100644 --- a/src/core/loader.h +++ b/src/core/loader.h @@ -225,15 +225,9 @@ class HccApi { protected: void init(Loader* loader) { -#if HIP_VDI InitActivityCallback = loader->GetFun("hipInitActivityCallback"); EnableActivityCallback = loader->GetFun("hipEnableActivityCallback"); GetOpName = loader->GetFun("hipGetCmdName"); -#else - InitActivityCallback = loader->GetFun("InitActivityCallbackImpl"); - EnableActivityCallback = loader->GetFun("EnableActivityCallbackImpl"); - GetOpName = loader->GetFun("GetCmdNameImpl"); -#endif } }; @@ -313,12 +307,8 @@ typedef HipLoaderShared HipLoader; template<> const char* roctracer::HipLoaderShared::lib_name_ = "libamdhip64.so"; #endif -#if HIP_VDI #define LOADER_INSTANTIATE() \ LOADER_INSTANTIATE_2(); \ LOADER_INSTANTIATE_HIP(); -#else -#error HCC support dropped -#endif #endif // SRC_CORE_LOADER_H_ diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 748ee95a28..c2d6d1f44e 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -52,7 +52,7 @@ set ( RUN_SCRIPT "${TEST_DIR}/run.sh" ) ## build HIP tests set ( GEN_INC_DIR ${PROJECT_BINARY_DIR}/inc ) set ( INC_PATH "${INC_PATH} ${GEN_INC_DIR}" ) -set ( TEST_ENV HIP_VDI=${HIP_VDI} ROCM_PATH=${ROCM_ROOT_DIR} HSA_PATH=${ROCM_ROOT_DIR}/hsa INC_PATH=${INC_PATH} LIB_PATH=${LIB_PATH} HIPCC_VERBOSE=3 ) +set ( TEST_ENV ROCM_PATH=${ROCM_ROOT_DIR} HSA_PATH=${ROCM_ROOT_DIR}/hsa INC_PATH=${INC_PATH} LIB_PATH=${LIB_PATH} HIPCC_VERBOSE=3 ) add_custom_target( mytest COMMAND ${TEST_ENV} make -C "${TEST_DIR}/MatrixTranspose" COMMAND sh -xc "cp ${TEST_DIR}/MatrixTranspose/MatrixTranspose ${PROJECT_BINARY_DIR}/test" diff --git a/test/MatrixTranspose_test/Makefile b/test/MatrixTranspose_test/Makefile index 758f8d9431..8448e71228 100644 --- a/test/MatrixTranspose_test/Makefile +++ b/test/MatrixTranspose_test/Makefile @@ -17,7 +17,7 @@ TARGET=hcc EXECUTABLE=./MatrixTranspose OBJECTS = MatrixTranspose.o -FLAGS =-g $(INC_PATH:%=-I%) -I$(ROCM_PATH)/hsa/include/hsa -I$(ROCM_PATH)/hsa/include -I$(ROCM_PATH)/hip/include -I$(ROCM_PATH)/include -DLOCAL_BUILD=1 -DHIP_VDI=${HIP_VDI} -DITERATIONS=$(ITERATIONS) -DAMD_INTERNAL_BUILD=1 +FLAGS =-g $(INC_PATH:%=-I%) -I$(ROCM_PATH)/hsa/include/hsa -I$(ROCM_PATH)/hsa/include -I$(ROCM_PATH)/hip/include -I$(ROCM_PATH)/include -DLOCAL_BUILD=1 -DITERATIONS=$(ITERATIONS) -DAMD_INTERNAL_BUILD=1 ifeq ($(C_TEST), 1) COMP=${CC} diff --git a/test/tool/tracer_tool.cpp b/test/tool/tracer_tool.cpp index 0b1721d5b1..42cb6ce465 100644 --- a/test/tool/tracer_tool.cpp +++ b/test/tool/tracer_tool.cpp @@ -567,14 +567,6 @@ void hip_api_flush_cb(hip_api_trace_entry_t* entry) { cxx_demangle(entry->name), data->args.hipExtModuleLaunchKernel.hStream); break; -#if !HIP_VDI - case HIP_API_ID_hipHccModuleLaunchKernel: - fprintf(hip_api_file_handle, "%s(kernel(%s) stream(%p))\n", - oss.str().c_str(), - cxx_demangle(entry->name), - data->args.hipHccModuleLaunchKernel.hStream); - break; -#endif default: fprintf(hip_api_file_handle, "%s()\n", oss.str().c_str()); } From 297b613604ef59e09d6a8603a5a46ce3b2f12460 Mon Sep 17 00:00:00 2001 From: Laurent Morichetti Date: Thu, 15 Apr 2021 23:08:00 -0700 Subject: [PATCH 456/691] Fix random bugs discovered while reading the code In HsaTimer::correlated_pair_ns, the time ID should be used to select the clock ID passed to clock_gettime. In MemoryPool::allocator_default, pass the correct value to realloc. Change-Id: I5d10c0994c07fdeadd99c81deba4e71a4f579523 --- src/core/memory_pool.h | 2 +- src/util/hsa_rsrc_factory.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/core/memory_pool.h b/src/core/memory_pool.h index fe2f1a6d3a..5b036d0fd4 100644 --- a/src/core/memory_pool.h +++ b/src/core/memory_pool.h @@ -52,7 +52,7 @@ class MemoryPool { if (*ptr == NULL) { *ptr = reinterpret_cast(malloc(size)); } else if (size != 0) { - *ptr = reinterpret_cast(realloc(ptr, size)); + *ptr = reinterpret_cast(realloc(*ptr, size)); } else { free(*ptr); *ptr = NULL; diff --git a/src/util/hsa_rsrc_factory.h b/src/util/hsa_rsrc_factory.h index 3bfeda68c1..21e25082ab 100644 --- a/src/util/hsa_rsrc_factory.h +++ b/src/util/hsa_rsrc_factory.h @@ -223,7 +223,7 @@ class HsaTimer { void correlated_pair_ns(time_id_t time_id, uint32_t iters, timestamp_t* timestamp_v, timestamp_t* time_v, timestamp_t* error_v) const { clockid_t clock_id = 0; - switch (clock_id) { + switch (time_id) { case TIME_ID_CLOCK_REALTIME: clock_id = CLOCK_REALTIME; break; From e5dd1e9b85aa36e565d1ec26a6d4374d3db93237 Mon Sep 17 00:00:00 2001 From: Rachida Kebichi Date: Tue, 11 May 2021 17:41:06 -0400 Subject: [PATCH 457/691] SWDEV-284863 Fixed several issues preventing memcpy info dump in csv Change-Id: I4c6323311ce8314296e81a9b9b5d8adb485e0aa8 --- script/gen_ostream_ops.py | 2 +- src/util/hsa_rsrc_factory.cpp | 2 ++ src/util/hsa_rsrc_factory.h | 1 + 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/script/gen_ostream_ops.py b/script/gen_ostream_ops.py index 0ffb43ef07..95426b2599 100755 --- a/script/gen_ostream_ops.py +++ b/script/gen_ostream_ops.py @@ -85,7 +85,7 @@ def process_struct(file_handle, cppHeader_struct, cppHeader, parent_hier_name, a str = '' if "union" not in mtype: indent = "" - str += " if (std::string(\"" + cppHeader_struct + "::" + name + "\").find(" + apiname.upper() + "_structs_regex" + ")) {\n" + str += " if (std::string(\"" + cppHeader_struct + "::" + name + "\").find(" + apiname.upper() + "_structs_regex" + ") != std::string::npos) {\n" indent = " " str += indent + " roctracer::" + apiname.lower() + "_support::operator<<(out, \"" + name + "=\");\n" str += indent + " roctracer::" + apiname.lower() + "_support::operator<<(out, v." + name + ");\n" diff --git a/src/util/hsa_rsrc_factory.cpp b/src/util/hsa_rsrc_factory.cpp index 517ee161f7..643ff16cbb 100644 --- a/src/util/hsa_rsrc_factory.cpp +++ b/src/util/hsa_rsrc_factory.cpp @@ -205,6 +205,7 @@ void HsaRsrcFactory::InitHsaApiTable(HsaApiTable* table) { hsa_api_.hsa_amd_memory_pool_allocate = table->amd_ext_->hsa_amd_memory_pool_allocate_fn; hsa_api_.hsa_amd_agents_allow_access = table->amd_ext_->hsa_amd_agents_allow_access_fn; hsa_api_.hsa_amd_memory_async_copy = table->amd_ext_->hsa_amd_memory_async_copy_fn; + hsa_api_.hsa_amd_memory_async_copy_rect = table->amd_ext_->hsa_amd_memory_async_copy_rect_fn; hsa_api_.hsa_amd_signal_async_handler = table->amd_ext_->hsa_amd_signal_async_handler_fn; hsa_api_.hsa_amd_profiling_set_profiler_enabled = table->amd_ext_->hsa_amd_profiling_set_profiler_enabled_fn; @@ -245,6 +246,7 @@ void HsaRsrcFactory::InitHsaApiTable(HsaApiTable* table) { hsa_api_.hsa_amd_memory_pool_allocate = hsa_amd_memory_pool_allocate; hsa_api_.hsa_amd_agents_allow_access = hsa_amd_agents_allow_access; hsa_api_.hsa_amd_memory_async_copy = hsa_amd_memory_async_copy; + hsa_api_.hsa_amd_memory_async_copy_rect = hsa_amd_memory_async_copy_rect; hsa_api_.hsa_amd_signal_async_handler = hsa_amd_signal_async_handler; hsa_api_.hsa_amd_profiling_set_profiler_enabled = hsa_amd_profiling_set_profiler_enabled; diff --git a/src/util/hsa_rsrc_factory.h b/src/util/hsa_rsrc_factory.h index 21e25082ab..cbeafbc671 100644 --- a/src/util/hsa_rsrc_factory.h +++ b/src/util/hsa_rsrc_factory.h @@ -106,6 +106,7 @@ struct hsa_pfn_t { decltype(hsa_amd_memory_pool_allocate)* hsa_amd_memory_pool_allocate; decltype(hsa_amd_agents_allow_access)* hsa_amd_agents_allow_access; decltype(hsa_amd_memory_async_copy)* hsa_amd_memory_async_copy; + decltype(hsa_amd_memory_async_copy_rect)* hsa_amd_memory_async_copy_rect; decltype(hsa_amd_signal_async_handler)* hsa_amd_signal_async_handler; decltype(hsa_amd_profiling_set_profiler_enabled)* hsa_amd_profiling_set_profiler_enabled; From 1cc934204f1169a8a2401ac3f1574ee3750ff5f2 Mon Sep 17 00:00:00 2001 From: Freddy Paul Date: Wed, 26 May 2021 08:57:06 -0700 Subject: [PATCH 458/691] roctracer:All libraries need to be installed with LIBRARY TAG Cmake will do the post processing required for RPATH or any other needed for the libraries only if installed as libraries not as regular files FIX: SWDEV-287893 Change-Id: I9cf478fcd23b9f2e8b3bdd81aa566cad3ec2a5e3 --- CMakeLists.txt | 3 +-- test/CMakeLists.txt | 1 + 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 1d688e0a41..f8bff20c64 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -71,6 +71,7 @@ set ( TARGET_NAME "${ROCTRACER_TARGET}" ) set ( ROOT_DIR "${CMAKE_CURRENT_SOURCE_DIR}" ) set ( LIB_DIR "${ROOT_DIR}/src" ) set ( TEST_DIR "${ROOT_DIR}/test" ) +set ( DEST_NAME ${ROCTRACER_NAME} ) ## Build library include ( ${LIB_DIR}/CMakeLists.txt ) @@ -114,7 +115,6 @@ set ( GEN_HEADERS if ( ${LIBRARY_TYPE} STREQUAL SHARED ) ## Installation and packaging -set ( DEST_NAME ${ROCTRACER_NAME} ) if ( DEFINED CPACK_PACKAGING_INSTALL_PREFIX ) get_filename_component ( DEST_NAME ${CPACK_PACKAGING_INSTALL_PREFIX} NAME ) get_filename_component ( DEST_DIR ${CPACK_PACKAGING_INSTALL_PREFIX} DIRECTORY ) @@ -149,7 +149,6 @@ endforeach () install ( FILES ${PROJECT_BINARY_DIR}/so-link DESTINATION lib RENAME ${ROCTRACER_LIBRARY}.so ) install ( FILES ${PROJECT_BINARY_DIR}/so-major-link DESTINATION lib RENAME ${ROCTRACER_LIBRARY}.so.${LIB_VERSION_MAJOR} ) install ( FILES ${PROJECT_BINARY_DIR}/so-patch-link DESTINATION lib RENAME ${ROCTRACER_LIBRARY}.so.${LIB_VERSION_STRING} ) -install ( FILES ${PROJECT_BINARY_DIR}/test/libtracer_tool.so DESTINATION ${DEST_NAME}/tool ) ## rocTX set ( ROCTX_TARGET "roctx64" ) diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index c2d6d1f44e..99fd335a27 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -87,6 +87,7 @@ if ( DEFINED ROCTRACER_TARGET ) add_library ( ${TEST_LIB} SHARED ${TEST_LIB_SRC} ) target_include_directories ( ${TEST_LIB} PRIVATE ${HSA_TEST_DIR} ${ROOT_DIR} ${ROOT_DIR}/inc ${HSA_RUNTIME_INC_PATH} ${HIP_INC_DIR} ${HSA_KMT_INC_PATH} ${GEN_INC_DIR} ) target_link_libraries ( ${TEST_LIB} ${ROCTRACER_TARGET} ${HSA_RUNTIME_LIB} c stdc++ dl pthread rt numa ) + install ( TARGETS ${TEST_LIB} LIBRARY DESTINATION ${DEST_NAME}/tool ) endif () ## Build hsaco_test.cpp referenc test From b04dfd5fdf636c23163f8a53cdcf4f7fb4b54728 Mon Sep 17 00:00:00 2001 From: Christophe Paquot Date: Mon, 21 Jun 2021 10:20:25 -0700 Subject: [PATCH 459/691] SWDEV-281658 - Preserve the callback IDs enum ordering Use HIP_API_ID_NONE to detect unsupported API instead of HIP_API_ID_NUMBER which can grow with a new version of the API. This HIP_API_ID_NONE enum has a fixed value of 0 so the HIP_API_IDs really start at FIRST. Change-Id: I760aa50ddf6fa6d46bf20555ad7d429335a53f97 --- src/core/roctracer.cpp | 70 ++++++++++++++++++++++++++------------- test/tool/tracer_tool.cpp | 18 +++++----- 2 files changed, 56 insertions(+), 32 deletions(-) diff --git a/src/core/roctracer.cpp b/src/core/roctracer.cpp index 272bad26e3..000ba7e3c9 100644 --- a/src/core/roctracer.cpp +++ b/src/core/roctracer.cpp @@ -738,7 +738,7 @@ PUBLIC_API roctracer_status_t roctracer_op_code( } case ACTIVITY_DOMAIN_HIP_API: { *op = hipApiIdByName(str); - if (*op == HIP_API_ID_NUMBER) { + if (*op == HIP_API_ID_NONE) { EXC_RAISING(ROCTRACER_STATUS_BAD_PARAMETER, "Invalid API name \"" << str << "\", domain ID(" << domain << ")"); } if (kind != NULL) *kind = 0; @@ -750,13 +750,29 @@ PUBLIC_API roctracer_status_t roctracer_op_code( API_METHOD_SUFFIX } -static inline uint32_t get_op_num(const uint32_t& domain) { +static inline uint32_t get_op_begin(uint32_t domain) { + switch (domain) { + case ACTIVITY_DOMAIN_HSA_OPS: return 0; + case ACTIVITY_DOMAIN_HSA_API: return 0; + case ACTIVITY_DOMAIN_HSA_EVT: return 0; + case ACTIVITY_DOMAIN_HCC_OPS: return 0; + case ACTIVITY_DOMAIN_HIP_API: return HIP_API_ID_FIRST; + case ACTIVITY_DOMAIN_KFD_API: return 0; + case ACTIVITY_DOMAIN_EXT_API: return 0; + case ACTIVITY_DOMAIN_ROCTX: return 0; + default: + EXC_RAISING(ROCTRACER_STATUS_BAD_DOMAIN, "invalid domain ID(" << domain << ")"); + } + return 0; +} + +static inline uint32_t get_op_end(uint32_t domain) { switch (domain) { case ACTIVITY_DOMAIN_HSA_OPS: return HSA_OP_ID_NUMBER; case ACTIVITY_DOMAIN_HSA_API: return HSA_API_ID_NUMBER; case ACTIVITY_DOMAIN_HSA_EVT: return HSA_EVT_ID_NUMBER; case ACTIVITY_DOMAIN_HCC_OPS: return HIP_OP_ID_NUMBER; - case ACTIVITY_DOMAIN_HIP_API: return HIP_API_ID_NUMBER; + case ACTIVITY_DOMAIN_HIP_API: return HIP_API_ID_LAST + 1;; case ACTIVITY_DOMAIN_KFD_API: return KFD_API_ID_NUMBER; case ACTIVITY_DOMAIN_EXT_API: return 0; case ACTIVITY_DOMAIN_ROCTX: return ROCTX_API_ID_NUMBER; @@ -850,8 +866,9 @@ PUBLIC_API roctracer_status_t roctracer_enable_domain_callback( void* user_data) { API_METHOD_PREFIX - const uint32_t op_num = get_op_num(domain); - for (uint32_t op = 0; op < op_num; op++) roctracer_enable_callback_impl(domain, op, callback, user_data); + const uint32_t op_end = get_op_end(domain); + for (uint32_t op = get_op_begin(domain); op < op_end; ++op) + roctracer_enable_callback_impl(domain, op, callback, user_data); API_METHOD_SUFFIX } @@ -860,9 +877,10 @@ PUBLIC_API roctracer_status_t roctracer_enable_callback( void* user_data) { API_METHOD_PREFIX - for (uint32_t domain = 0; domain < ACTIVITY_DOMAIN_NUMBER; domain++) { - const uint32_t op_num = get_op_num(domain); - for (uint32_t op = 0; op < op_num; op++) roctracer_enable_callback_impl(domain, op, callback, user_data); + for (uint32_t domain = 0; domain < ACTIVITY_DOMAIN_NUMBER; ++domain) { + const uint32_t op_end = get_op_end(domain); + for (uint32_t op = get_op_begin(domain); op < op_end; ++op) + roctracer_enable_callback_impl(domain, op, callback, user_data); } API_METHOD_SUFFIX } @@ -943,17 +961,19 @@ PUBLIC_API roctracer_status_t roctracer_disable_domain_callback( roctracer_domain_t domain) { API_METHOD_PREFIX - const uint32_t op_num = get_op_num(domain); - for (uint32_t op = 0; op < op_num; op++) roctracer_disable_callback_impl(domain, op); + const uint32_t op_end = get_op_end(domain); + for (uint32_t op = get_op_begin(domain); op < op_end; ++op) + roctracer_disable_callback_impl(domain, op); API_METHOD_SUFFIX } PUBLIC_API roctracer_status_t roctracer_disable_callback() { API_METHOD_PREFIX - for (uint32_t domain = 0; domain < ACTIVITY_DOMAIN_NUMBER; domain++) { - const uint32_t op_num = get_op_num(domain); - for (uint32_t op = 0; op < op_num; op++) roctracer_disable_callback_impl(domain, op); + for (uint32_t domain = 0; domain < ACTIVITY_DOMAIN_NUMBER; ++domain) { + const uint32_t op_end = get_op_end(domain); + for (uint32_t op = get_op_begin(domain); op < op_end; ++op) + roctracer_disable_callback_impl(domain, op); } API_METHOD_SUFFIX } @@ -1082,8 +1102,9 @@ PUBLIC_API roctracer_status_t roctracer_enable_domain_activity_expl( roctracer_pool_t* pool) { API_METHOD_PREFIX - const uint32_t op_num = get_op_num(domain); - for (uint32_t op = 0; op < op_num; op++) roctracer_enable_activity_impl(domain, op, pool); + const uint32_t op_end = get_op_end(domain); + for (uint32_t op = get_op_begin(domain); op < op_end; ++op) + roctracer_enable_activity_impl(domain, op, pool); API_METHOD_SUFFIX } @@ -1091,9 +1112,10 @@ PUBLIC_API roctracer_status_t roctracer_enable_activity_expl( roctracer_pool_t* pool) { API_METHOD_PREFIX - for (uint32_t domain = 0; domain < ACTIVITY_DOMAIN_NUMBER; domain++) { - const uint32_t op_num = get_op_num(domain); - for (uint32_t op = 0; op < op_num; op++) roctracer_enable_activity_impl(domain, op, pool); + for (uint32_t domain = 0; domain < ACTIVITY_DOMAIN_NUMBER; ++domain) { + const uint32_t op_end = get_op_end(domain); + for (uint32_t op = get_op_begin(domain); op < op_end; ++op) + roctracer_enable_activity_impl(domain, op, pool); } API_METHOD_SUFFIX } @@ -1165,17 +1187,19 @@ PUBLIC_API roctracer_status_t roctracer_disable_domain_activity( roctracer_domain_t domain) { API_METHOD_PREFIX - const uint32_t op_num = get_op_num(domain); - for (uint32_t op = 0; op < op_num; op++) roctracer_disable_activity_impl(domain, op); + const uint32_t op_end = get_op_end(domain); + for (uint32_t op = get_op_begin(domain); op < op_end; ++op) + roctracer_disable_activity_impl(domain, op); API_METHOD_SUFFIX } PUBLIC_API roctracer_status_t roctracer_disable_activity() { API_METHOD_PREFIX - for (uint32_t domain = 0; domain < ACTIVITY_DOMAIN_NUMBER; domain++) { - const uint32_t op_num = get_op_num(domain); - for (uint32_t op = 0; op < op_num; op++) roctracer_disable_activity_impl(domain, op); + for (uint32_t domain = 0; domain < ACTIVITY_DOMAIN_NUMBER; ++domain) { + const uint32_t op_end = get_op_end(domain); + for (uint32_t op = get_op_begin(domain); op < op_end; ++op) + roctracer_disable_activity_impl(domain, op); } API_METHOD_SUFFIX } diff --git a/test/tool/tracer_tool.cpp b/test/tool/tracer_tool.cpp index 42cb6ce465..608b40cf84 100644 --- a/test/tool/tracer_tool.cpp +++ b/test/tool/tracer_tool.cpp @@ -1094,7 +1094,7 @@ extern "C" PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, hip_api_file_handle = open_output_file(output_prefix, "hip_api_trace.txt"); if (hip_api_vec.size() != 0) { for (unsigned i = 0; i < hip_api_vec.size(); ++i) { - uint32_t cid = HIP_API_ID_NUMBER; + uint32_t cid = HIP_API_ID_NONE; const char* api = hip_api_vec[i].c_str(); ROCTRACER_CALL(roctracer_op_code(ACTIVITY_DOMAIN_HIP_API, api, &cid, NULL)); ROCTRACER_CALL(roctracer_enable_op_callback(ACTIVITY_DOMAIN_HIP_API, cid, hip_api_callback, NULL)); @@ -1105,13 +1105,13 @@ extern "C" PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, } if (is_stats_opt) { - const char* path = NULL; - FILE* f = open_output_file(output_prefix, "hip_api_stats.csv", &path); + const char* path = NULL; + FILE* f = open_output_file(output_prefix, "hip_api_stats.csv", &path); hip_api_stats = new EvtStats(f, path); - for (uint32_t id = 0; id < HIP_API_ID_NUMBER; id += 1) { + for (uint32_t id = HIP_API_ID_FIRST; id <= HIP_API_ID_LAST; id += 1) { const char* label = roctracer_op_string(ACTIVITY_DOMAIN_HIP_API, id, 0); hip_api_stats->set_label(id, label); - } + } } } @@ -1120,11 +1120,11 @@ extern "C" PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, ROCTRACER_CALL(roctracer_enable_domain_activity(ACTIVITY_DOMAIN_HCC_OPS)); if (is_stats_opt) { - FILE* f = NULL; - const char* path = NULL; - f = open_output_file(output_prefix, "hip_kernel_stats.csv", &path); + FILE* f = NULL; + const char* path = NULL; + f = open_output_file(output_prefix, "hip_kernel_stats.csv", &path); hip_kernel_stats = new EvtStatsA(f, path); - f = open_output_file(output_prefix, "hip_memcpy_stats.csv", &path); + f = open_output_file(output_prefix, "hip_memcpy_stats.csv", &path); hip_memcpy_stats = new EvtStatsA(f, path); } } From e5e1258ef8d0944fbe48fdc6c98e1b26ff801613 Mon Sep 17 00:00:00 2001 From: Christophe Paquot Date: Thu, 22 Jul 2021 10:12:45 -0700 Subject: [PATCH 460/691] SWDEV-295205 - Remove KFD domain from roctracer Change-Id: I2771cf43aa115bb466531bf887f7cc75e187f2ef --- CMakeLists.txt | 6 - inc/roctracer_kfd.h | 34 -- script/gen_ostream_ops.py | 2 +- script/kfdap.py | 560 ------------------ src/CMakeLists.txt | 9 - src/core/loader.h | 20 - src/core/roctracer.cpp | 29 - test/MatrixTranspose_test/Makefile | 2 +- test/MatrixTranspose_test/MatrixTranspose.cpp | 15 +- test/run.sh | 11 +- test/tool/tracer_tool.cpp | 66 --- 11 files changed, 7 insertions(+), 747 deletions(-) delete mode 100644 inc/roctracer_kfd.h delete mode 100755 script/kfdap.py diff --git a/CMakeLists.txt b/CMakeLists.txt index f8bff20c64..f83538d68a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -98,7 +98,6 @@ set ( PUBLIC_HEADERS roctracer_hcc.h roctracer_hip.h roctracer_hsa.h - roctracer_kfd.h roctracer_roctx.h roctracer_cb_table.h ext/prof_protocol.h @@ -108,8 +107,6 @@ set ( GEN_HEADERS hip_ostream_ops.h hsa_prof_str.h hsa_ostream_ops.h - kfd_prof_str.h - kfd_ostream_ops.h ) if ( ${LIBRARY_TYPE} STREQUAL SHARED ) @@ -170,9 +167,6 @@ install ( FILES ${PROJECT_BINARY_DIR}/so-roctx-link DESTINATION lib RENAME ${ROC install ( FILES ${PROJECT_BINARY_DIR}/so-roctx-major-link DESTINATION lib RENAME ${ROCTX_LIBRARY}.so.${LIB_VERSION_MAJOR} ) install ( FILES ${PROJECT_BINARY_DIR}/so-roctx-patch-link DESTINATION lib RENAME ${ROCTX_LIBRARY}.so.${LIB_VERSION_STRING} ) -## KFD wrapper -install ( TARGETS "kfdwrapper64" LIBRARY DESTINATION ${DEST_NAME}/lib ) - ## Packaging directives set ( CPACK_GENERATOR "DEB" "RPM" "TGZ" ) set ( ENABLE_LDCONFIG ON CACHE BOOL "Set library links and caches using ldconfig.") diff --git a/inc/roctracer_kfd.h b/inc/roctracer_kfd.h deleted file mode 100644 index dd407588b2..0000000000 --- a/inc/roctracer_kfd.h +++ /dev/null @@ -1,34 +0,0 @@ -// automatically generated -/* -Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. -*/ -///////////////////////////////////////////////////////////////////////////// -#ifndef INC_ROCTRACER_KFD_H_ -#define INC_ROCTRACER_KFD_H_ -#include -#include -#ifdef __cplusplus -#include -#endif -#include - -#endif // INC_ROCTRACER_KFD_H_ - diff --git a/script/gen_ostream_ops.py b/script/gen_ostream_ops.py index 95426b2599..f10f5a5b9c 100755 --- a/script/gen_ostream_ops.py +++ b/script/gen_ostream_ops.py @@ -47,7 +47,7 @@ def process_struct(file_handle, cppHeader_struct, cppHeader, parent_hier_name, a # cppHeader_struct: cppHeader struct being processed # cppHeader: cppHeader object created by CppHeaderParser.CppHeader(...) # parent_hier_name: parent hierarchical name used for nested structs/enums -# apiname: for example hip, kfd. +# apiname: for example hip. global global_str if cppHeader_struct == 'max_align_t': #function pointers not working in cppheaderparser diff --git a/script/kfdap.py b/script/kfdap.py deleted file mode 100755 index 8de1d19ea0..0000000000 --- a/script/kfdap.py +++ /dev/null @@ -1,560 +0,0 @@ -from __future__ import print_function -import os, sys, re - -OUT_H = 'inc/kfd_prof_str.h' -OUT_CPP = 'src/kfd_wrapper.cpp' -API_HEADERS_H = ( - ('HSAKMTAPI', 'hsakmt.h'), -) - -LICENSE = \ -'/*\n' + \ -'Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved.\n' + \ -'\n' + \ -'Permission is hereby granted, free of charge, to any person obtaining a copy\n' + \ -'of this software and associated documentation files (the "Software"), to deal\n' + \ -'in the Software without restriction, including without limitation the rights\n' + \ -'to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n' + \ -'copies of the Software, and to permit persons to whom the Software is\n' + \ -'furnished to do so, subject to the following conditions:\n' + \ -'\n' + \ -'The above copyright notice and this permission notice shall be included in\n' + \ -'all copies or substantial portions of the Software.\n' + \ -'\n' + \ -'THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n' + \ -'IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n' + \ -'FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n' + \ -'AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n' + \ -'LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n' + \ -'OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n' + \ -'THE SOFTWARE.\n' + \ -'*/\n' - -############################################################# -# Error handler -def fatal(module, msg): - print (module + ' Error: "' + msg + '"', file = sys.stderr) - sys.exit(1) - -# Get next text block -def NextBlock(pos, record): - if len(record) == 0: return pos - - space_pattern = re.compile(r'(\s+)') - word_pattern = re.compile(r'([\w\*]+\[*\]*)') - if record[pos] != '(': - m = space_pattern.match(record, pos) - if not m: - m = word_pattern.match(record, pos) - if m: - return pos + len(m.group(1)) - else: - fatal('NextBlock', "bad record '" + record + "' pos(" + str(pos) + ")") - else: - count = 0 - for index in range(pos, len(record)): - if record[index] == '(': - count = count + 1 - elif record[index] == ')': - count = count-1 - if count == 0: - index = index + 1 - break - if count != 0: - fatal('NextBlock', "count is not zero (" + str(count) + ")") - if record[index-1] != ')': - fatal('NextBlock', "last char is not ')' '" + record[index-1] + "'") - return index - -############################################################# -# API table parser class -class API_TableParser: - def fatal(self, msg): - fatal('API_TableParser', msg) - - def __init__(self, header, name, full_fct): - self.name = name - self.full_fct = full_fct - - if not os.path.isfile(header): - self.fatal("file '" + header + "' not found") - - self.inp = open(header, 'r', encoding='utf-8') - - self.beg_pattern = re.compile(name) - self.end_pattern = re.compile('.*\)\s*;\s*$'); - self.array = [] - self.parse() - - # normalizing a line - def norm_line(self, line): - return re.sub(r'^\s+', r' ', line) - - def fix_comment_line(self, line): - return re.sub(r'\/\/.*', r'', line) - - def remove_ret_line(self, line): - return re.sub(r'\n', r'', line) - - # check for start record - def is_start(self, record): - return self.beg_pattern.match(record) - - # check for end record - def is_end(self, record): - return self.end_pattern.match(record) - - # check for declaration entry record - def is_entry(self, record): - return re.match(r'^\s*HSAKMTAPI\s*(.*)\s*\((.*)\)', record) - - # parse method - def parse(self): - active = 0 - record = ""; - cumulate = 0; - self.full_fct = {} - rettype = "" - prev_line = "" - for line in self.inp.readlines(): - line = self.norm_line(line) - line = self.fix_comment_line(line) - - if cumulate == 1: record += " " + line; - else: record = line; - if self.is_start(line): rettype = prev_line.strip(); cumulate = 1; prev_line = line; continue; - if self.is_end(line): record = self.remove_ret_line(record); cumulate = 0; active = 1; - else: prev_line = line; continue; - if active != 0: - m = self.is_entry(record) - if m: - mycall_full = rettype + " " + m.group(1) + ' (' + m.group(2) + ')' - mycall = m.group(1) - self.full_fct[mycall] = mycall_full - self.array.append(mycall) - rettype = ""; - prev_line = line - -############################################################# -# API declaration parser clas -class API_DeclParser: - def fatal(self, msg): - fatal('API_DeclParser', msg) - - def __init__(self, header, array, data, full_fct): - if not os.path.isfile(header): - self.fatal("file '" + header + "' not found") - - self.inp = open(header, 'r', encoding='utf-8') - - self.end_pattern = re.compile('\)\s*;\s*$') - self.data = data - for call in array: - if call in data: - self.fatal(call + ' is already found') - self.parse(call,full_fct) - - # check for start record - def is_start(self, call, record): - return re.search('\s*' + call + '\s*\(', record) - - # check for API method record - def is_api(self, call, record): - return re.match('\s*' + call + '\s*\(', record) - - - # check for end record - def is_end(self, record): - return self.end_pattern.search(record) - - # parse method args - def get_args(self, record): - struct = {'ret': '', 'args': '', 'astr': {}, 'alst': [], 'tlst': []} - record = re.sub(r'^\s+', r'', record) - record = re.sub(r'\s*(\*+)\s*', r'\1 ', record) - rind = NextBlock(0, record) - struct['ret'] = record[0:rind] - pos = record.find('(') - end = NextBlock(pos, record); - args = record[pos:end] - args = re.sub(r'^\(\s*', r'', args) - args = re.sub(r'\s*\)$', r'', args) - args = re.sub(r'\s*,\s*', r',', args) - struct['args'] = re.sub(r',', r', ', args) - if args == "void": - return struct - - if len(args) == 0: return struct - - pos = 0 - args = args + ',' - while pos < len(args): - ind1 = NextBlock(pos, args) # type - ind2 = NextBlock(ind1, args) # space - if args[ind2] != '(': - while ind2 < len(args): - end = NextBlock(ind2, args) - if args[end] == ',': break - else: ind2 = end - name = args[ind2:end] - else: - ind3 = NextBlock(ind2, args) # field - m = re.match(r'\(\s*\*\s*(\S+)\s*\)', args[ind2:ind3]) - if not m: - self.fatal("bad block3 '" + args + "' : '" + args[ind2:ind3] + "'") - name = m.group(1) - end = NextBlock(ind3, args) # the rest - item = args[pos:end] - struct['astr'][name] = item - struct['alst'].append(name) - struct['tlst'].append(item) - if args[end] != ',': - self.fatal("no comma '" + args + "'") - pos = end + 1 - - return struct - - # parse given api - def parse(self, call, full_fct): - if call in full_fct: - self.data[call] = self.get_args(full_fct[call]) - else: - self.data[call] = self.get_args(call) - -############################################################# -# API description parser class -class API_DescrParser: - def fatal(self, msg): - fatal('API_DescrParser', msg) - - def __init__(self, out_file, kfd_dir, api_headers, license): - out_macro = re.sub(r'[\/\.]', r'_', out_file.upper()) + '_' - - self.content_h = '' - self.content_cpp = '' - - self.api_names = [] - self.api_calls = {} - self.api_rettypes = set() - self.api_id = {} - - api_data = {} - full_fct = {} - api_list = [] - ns_calls = [] - - (name, header) = api_headers[0] - api = API_TableParser(kfd_dir + header, name, full_fct) - full_fct = api.full_fct - api_list = api.array - self.api_names.append(name) - self.api_calls[name] = api_list - - for call in api_list: - if call in api_data: - self.fatal("call '" + call + "' is already found") - - API_DeclParser(kfd_dir + header, api_list, api_data, full_fct) - - for call in api_list: - if not call in api_data: - # Not-supported functions - ns_calls.append(call) - else: - # API ID map - self.api_id[call] = 'KFD_API_ID_' + call - # Return types - self.api_rettypes.add(api_data[call]['ret']) - - self.api_data = api_data - self.ns_calls = ns_calls - - self.content_h += "// automatically generated\n\n" + license + '\n' - - self.content_h += "/////////////////////////////////////////////////////////////////////////////\n" - for call in self.ns_calls: - self.content_h += '// ' + call + ' was not parsed\n' - self.content_h += '\n' - self.content_h += '#ifndef ' + out_macro + '\n' - self.content_h += '#define ' + out_macro + '\n' - - self.content_h += '\n' - - self.content_h += '#include \n' - self.content_h += '#include \n' - self.content_h += '#include \n' - self.content_h += '#include \n' - - self.content_h += '#define PUBLIC_API __attribute__((visibility(\"default\")))\n' - - self.add_section('API ID enumeration', ' ', self.gen_id_enum) - self.add_section('API arg structure', ' ', self.gen_arg_struct) - - self.content_h += '\n' - self.content_h += '#if PROF_API_IMPL\n' - self.content_h += '#include \n' - self.content_h += 'namespace roctracer {\n' - self.content_h += 'namespace kfd_support {\n' - - self.add_section('API get_name function', ' ', self.gen_get_name) - self.add_section('API get_code function', ' ', self.gen_get_code) - - self.add_section('API intercepting code', '', self.gen_intercept_decl) - self.add_section('API intercepting code', '', self.gen_intercept) - self.add_section('API callback functions', '', self.gen_callbacks) - - self.content_h += '\n};};\n' - self.content_h += '#endif // PROF_API_IMPL\n' - - self.content_cpp += "// automatically generated\n\n" + license + '\n' - self.content_cpp += "/////////////////////////////////////////////////////////////////////////////\n\n" - self.content_cpp += '#define PROF_API_IMPL 1\n' - self.content_cpp += '#include \"kfd_prof_str.h\"\n' - - self.add_section('API output stream', ' ', self.gen_out_stream) - self.add_section_cpp('API callback fcts', ' ', self.gen_public_api) - self.content_h += '#endif // ' + out_macro + '_' - self.content_cpp += '}\n' - self.content_cpp += '\n' - - # add code section - def add_section_cpp(self, title, gap, fun): - n = 0 - self.content_cpp += '\n// section: ' + title + '\n\n' - fun(-1, '-', '-', {}) - for index in range(len(self.api_names)): - last = (index == len(self.api_names)-1) - name = self.api_names[index] - - if n != 0: - if gap == '': fun(n, name, '-', {}) - self.content_cpp += '\n' - self.content_cpp += gap + '// block: ' + name + ' API\n' - for call in self.api_calls[name]: - fun(n, name, call, self.api_data[call]) - n += 1 - fun(n, '-', '-', {}) - - def add_section(self, title, gap, fun): - n = 0 - self.content_h += '\n// section: ' + title + '\n\n' - fun(-1, '-', '-', {}) - for index in range(len(self.api_names)): - last = (index == len(self.api_names)-1) - name = self.api_names[index] - - if n != 0: - if gap == '': fun(n, name, '-', {}) - self.content_h += '\n' - self.content_h += gap + '// block: ' + name + ' API\n' - for call in self.api_calls[name]: - fun(n, name, call, self.api_data[call]) - n += 1 - fun(n, '-', '-', {}) - - # check if it's an array decl - def is_arr(self, record): - return re.match(r'\s*(.*)\s+(.*)\[\]\s*', record) - - # generate API ID enumeration - def gen_id_enum(self, n, name, call, data): - if n == -1: - self.content_h += 'enum kfd_api_id_t {\n' - return - if call != '-': - self.content_h += ' ' + self.api_id[call] + ' = ' + str(n) + ',\n' - else: - self.content_h += '\n' - self.content_h += ' KFD_API_ID_NUMBER = ' + str(n) + ',\n' - self.content_h += ' KFD_API_ID_ANY = ' + str(n + 1) + ',\n' - self.content_h += '};\n' - - # generate API args structure - def gen_arg_struct(self, n, name, call, struct): - if n == -1: - self.content_h += 'typedef struct kfd_api_data_s {\n' - self.content_h += ' uint64_t correlation_id;\n' - self.content_h += ' uint32_t phase;\n' - if len(self.api_rettypes) != 0: - self.content_h += ' union {\n' - for ret_type in self.api_rettypes: - if ret_type != 'void': - self.content_h += ' ' + ret_type + ' ' + ret_type + '_retval;\n' - self.content_h += ' };\n' - self.content_h += ' union {\n' - return - if call != '-': - self.content_h += ' struct {\n' - for (var, item) in struct['astr'].items(): - m = self.is_arr(item) - if m: - self.content_h += ' ' + m.group(1) + '* ' + m.group(2) + ';\n' - else: - self.content_h += ' ' + item + ';\n' - self.content_h += ' } ' + call + ';\n' - else: - self.content_h += ' } args;\n' - self.content_h += '} kfd_api_data_t;\n' - - # generate API callbacks - def gen_callbacks(self, n, name, call, struct): - if n == -1: - self.content_h += 'typedef CbTable cb_table_t;\n' - self.content_h += 'cb_table_t cb_table;\n' - self.content_h += '\n' - if call != '-': - call_id = self.api_id[call]; - ret_type = struct['ret'] - self.content_h += ret_type + ' ' + call + '_callback(' + struct['args'] + ') {\n' # 'static ' + - self.content_h += ' if (' + name + '_table == NULL) intercept_KFDApiTable();\n' - self.content_h += ' kfd_api_data_t api_data{};\n' - for var in struct['alst']: - self.content_h += ' api_data.args.' + call + '.' + var.replace("[]","") + ' = ' + var.replace("[]","") + ';\n' - self.content_h += ' activity_rtapi_callback_t api_callback_fun = NULL;\n' - self.content_h += ' void* api_callback_arg = NULL;\n' - self.content_h += ' cb_table.get(' + call_id + ', &api_callback_fun, &api_callback_arg);\n' - self.content_h += ' api_data.phase = 0;\n' - self.content_h += ' if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_KFD_API, ' + call_id + ', &api_data, api_callback_arg);\n' - if ret_type != 'void': - self.content_h += ' ' + ret_type + ' ret = ' - tmp_str = ' ' + name + '_table->' + call + '_fn(' + ', '.join(struct['alst']) + ');\n' - self.content_h += tmp_str.replace("[]","") - if ret_type != 'void': - self.content_h += ' api_data.' + ret_type + '_retval = ret;\n' - self.content_h += ' api_data.phase = 1;\n' - self.content_h += ' if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_KFD_API, ' + call_id + ', &api_data, api_callback_arg);\n' - if ret_type != 'void': - self.content_h += ' return ret;\n' - self.content_h += '}\n' - - # Generates API intercepting table struct definition - def gen_intercept_decl(self, n, name, call, struct): - if n > 0 and call == '-': - self.content_h += '} HSAKMTAPI_table_t;\n' #was HSAKMTAPI_table_t - if n == 0 or (call == '-' and name != '-'): - self.content_h += 'typedef struct {\n' - if call != '-': - self.content_h += ' decltype(' + call + ')* ' + call + '_fn;\n' - - # generate API intercepting code - def gen_intercept(self, n, name, call, struct): - if n > 0 and call == '-': - self.content_h += '};\n' - if n == 0 or (call == '-' and name != '-'): - self.content_h += name + '_table_t* ' + name + '_table = NULL;\n' - self.content_h += 'void intercept_' + 'KFDApiTable' + '(void) {\n' - self.content_h += ' ' + name + '_table = new ' + name + '_table_t{}' + ';\n' - - if call != '-': - self.content_h += ' typedef decltype(' + name + '_table_t::' + call + '_fn) ' + call + '_t;\n' - self.content_h += ' ' + name + '_table->' + call + '_fn = (' + call + '_t)' + 'dlsym(RTLD_NEXT,\"' + call + '\");\n' - - # generate API name function - def gen_get_name(self, n, name, call, struct): - if n == -1: - self.content_h += 'const char* GetApiName(const uint32_t& id) {\n' #static - self.content_h += ' switch (id) {\n' - return - if call != '-': - self.content_h += ' case ' + self.api_id[call] + ': return "' + call + '";\n' - else: - self.content_h += ' }\n' - self.content_h += ' return "unknown";\n' - self.content_h += '}\n' - - # generate API code function - def gen_get_code(self, n, name, call, struct): - if n == -1: - self.content_h += 'uint32_t GetApiCode(const char* str) {\n' # static - return - if call != '-': - self.content_h += ' if (strcmp("' + call + '", str) == 0) return ' + self.api_id[call] + ';\n' - else: - self.content_h += ' return KFD_API_ID_NUMBER;\n' - self.content_h += '}\n' - - # generate stream operator - def gen_out_stream(self, n, name, call, struct): - if n == -1: - self.content_h += '#ifdef __cplusplus\n' - self.content_h += 'typedef std::pair kfd_api_data_pair_t;\n' - self.content_h += 'inline std::ostream& operator<< (std::ostream& out, const kfd_api_data_pair_t& data_pair) {\n' - self.content_h += ' const uint32_t cid = data_pair.first;\n' - self.content_h += ' const kfd_api_data_t& api_data = data_pair.second;\n' - self.content_h += ' switch(cid) {\n' - return - if call != '-': - self.content_h += ' case ' + self.api_id[call] + ': {\n' - self.content_h += ' out << "' + call + '(";\n' - arg_list = struct['alst'] - if len(arg_list) != 0: - for ind in range(len(arg_list)): - arg_var = arg_list[ind] - arg_val = 'api_data.args.' + call + '.' + arg_var - if re.search(r'MemFlags',arg_var): - continue - self.content_h += ' out << ' + arg_val.replace("[]","") - if ind < len(arg_list)-1: self.content_h += ' << ", ";\n' - else: self.content_h += ';\n' - if struct['ret'] != 'void': - self.content_h += ' out << ") = " << api_data.' + struct['ret'] + '_retval;\n' - else: - self.content_h += ' out << ") = void";\n' - self.content_h += ' break;\n' - self.content_h += ' }\n' - else: - self.content_h += ' default:\n' - self.content_h += ' out << "ERROR: unknown API";\n' - self.content_h += ' abort();\n' - self.content_h += ' }\n' - self.content_h += ' return out;\n' - self.content_h += '}\n' - self.content_h += '#endif\n' - - # generate PUBLIC_API for all API fcts - def gen_public_api(self, n, name, call, struct): - if n == -1: - self.content_cpp += 'extern "C" {\n' - self.content_cpp += 'PUBLIC_API bool RegisterApiCallback(uint32_t op, void* callback, void* user_data) {\n'; - self.content_cpp += ' roctracer::kfd_support::cb_table.set(op, reinterpret_cast(callback), user_data);\n'; - self.content_cpp += ' return true;\n'; - self.content_cpp += '}\n'; - self.content_cpp += 'PUBLIC_API bool RemoveApiCallback(uint32_t op) {\n' - self.content_cpp += ' roctracer::kfd_support::cb_table.set(op, NULL, NULL);\n'; - self.content_cpp += ' return true;\n'; - self.content_cpp += '}\n\n'; - - if call != '-' and call != 'hsaKmtCloseKFD' and call != 'hsaKmtOpenKFD': - self.content_cpp += 'PUBLIC_API ' + struct['ret'] + " " + call + '(' + struct['args'] + ') { return roctracer::kfd_support::' + call + '_callback(' - for i in range(0,len(struct['alst'])): - if i == (len(struct['alst'])-1): - self.content_cpp += struct['alst'][i].replace("[]","") - else: - self.content_cpp += struct['alst'][i].replace("[]","") + ', ' - self.content_cpp += ');} \n' - -############################################################# -# main -# Usage -if len(sys.argv) != 3: - print ("Usage:", sys.argv[0], " ", file = sys.stderr) - sys.exit(1) -else: - PREFIX = sys.argv[1] + '/' - KFD_DIR = sys.argv[2] + '/' - -descr = API_DescrParser(OUT_H, KFD_DIR, API_HEADERS_H, LICENSE) - -out_file = PREFIX + OUT_H -print ('Generating "' + out_file + '"') -f = open(out_file, 'w') -f.write(descr.content_h[:-1]) -f.close() - -out_file = PREFIX + OUT_CPP -print ('Generating "' + out_file + '"') -f = open(out_file, 'w') -f.write(descr.content_cpp[:-1]) -f.close() - -############################################################# diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 556ea16df6..5bf02101a7 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -7,9 +7,7 @@ execute_process ( COMMAND sh -xc "${CMAKE_C_COMPILER} -E ${HSA_RUNTIME_INC_PATH} execute_process ( COMMAND sh -xc "${CMAKE_C_COMPILER} -E ${HSA_RUNTIME_INC_PATH}/hsa_ext_amd.h > ${GEN_INC_DIR}/hsa_ext_amd_pp.h" ) execute_process ( COMMAND sh -xc "python3 ${ROOT_DIR}/script/gen_ostream_ops.py -in ${GEN_INC_DIR}/hsa_pp.h,${GEN_INC_DIR}/hsa_ext_amd_pp.h -out ${GEN_INC_DIR}/hsa_ostream_ops.h" ) execute_process ( COMMAND sh -xc "python3 ${ROOT_DIR}/script/hsaap.py ${PROJECT_BINARY_DIR} ${HSA_RUNTIME_INC_PATH}" ) -execute_process ( COMMAND sh -xc "python3 ${ROOT_DIR}/script/kfdap.py ${PROJECT_BINARY_DIR} ${HSA_KMT_INC_PATH}" ) execute_process ( COMMAND sh -xc "${CMAKE_C_COMPILER} -E ${HSA_KMT_INC_PATH}/hsakmttypes.h > ${GEN_INC_DIR}/hsakmttypes_pp.h" ) -execute_process ( COMMAND sh -xc "python3 ${ROOT_DIR}/script/gen_ostream_ops.py -in ${GEN_INC_DIR}/hsakmttypes_pp.h -out ${GEN_INC_DIR}/kfd_ostream_ops.h" ) execute_process ( COMMAND sh -xc "${CMAKE_C_COMPILER} -E ${HIP_PATH}/include/hip/hip_runtime_api.h ${HIP_DEFINES} -I${HIP_PATH}/include -I${ROCM_ROOT_DIR}/hsa/include > ${GEN_INC_DIR}/hip_runtime_api_pp.h" ) execute_process ( COMMAND sh -xc "python3 ${ROOT_DIR}/script/gen_ostream_ops.py -in ${GEN_INC_DIR}/hip_runtime_api_pp.h -out ${GEN_INC_DIR}/hip_ostream_ops.h" ) execute_process ( COMMAND sh -xc "mkdir ${GEN_INC_DIR}/rocprofiler" ) @@ -29,13 +27,6 @@ add_library ( ${TARGET_LIB} ${LIBRARY_TYPE} ${LIB_SRC} ) target_include_directories ( ${TARGET_LIB} PRIVATE ${LIB_DIR} ${ROOT_DIR} ${ROOT_DIR}/inc ${HSA_RUNTIME_INC_PATH} ${HIP_INC_DIR} ${HSA_KMT_INC_PATH} ${ROCM_INC_PATH} ${GEN_INC_DIR} ) target_link_libraries( ${TARGET_LIB} PRIVATE ${HSA_RUNTIME_LIB} c stdc++ ) -# Build KFD/Thunk tracing library -set ( KFD_LIB "kfdwrapper64" ) -set ( KFD_LIB_SRC ${GEN_SRC_DIR}/kfd_wrapper.cpp) -add_library ( ${KFD_LIB} SHARED ${KFD_LIB_SRC} ) -target_include_directories ( ${KFD_LIB} PRIVATE ${LIB_DIR} ${ROOT_DIR} ${ROOT_DIR}/inc ${HSA_RUNTIME_INC_PATH} ${HSA_KMT_INC_PATH} ${GEN_INC_DIR} ) -target_link_libraries( ${KFD_LIB} PRIVATE c stdc++ ) - # Build ROCTX tracing library set ( ROCTX_LIB "roctx64" ) set ( ROCTX_LIB_SRC diff --git a/src/core/loader.h b/src/core/loader.h index 9102dc13da..bd578a5e91 100644 --- a/src/core/loader.h +++ b/src/core/loader.h @@ -231,24 +231,6 @@ class HccApi { } }; -// KFD runtime library loader class -class KfdApi { - public: - typedef BaseLoader Loader; - - typedef bool (RegisterApiCallback_t)(uint32_t op, void* callback, void* arg); - typedef bool (RemoveApiCallback_t)(uint32_t op); - - RegisterApiCallback_t* RegisterApiCallback; - RemoveApiCallback_t* RemoveApiCallback; - - protected: - void init(Loader* loader) { - RegisterApiCallback = loader->GetFun("RegisterApiCallback"); - RemoveApiCallback = loader->GetFun("RemoveApiCallback"); - } -}; - // rocTX runtime library loader class #include "inc/roctracer_roctx.h" class RocTxApi { @@ -273,7 +255,6 @@ class RocTxApi { typedef BaseLoader RocpLoader; typedef BaseLoader HccLoader; -typedef BaseLoader KfdLoader; typedef BaseLoader RocTxLoader; #if STATIC_BUILD @@ -294,7 +275,6 @@ typedef HipLoaderShared HipLoader; template<> const char* roctracer::RocpLoader::lib_name_ = "librocprofiler64.so"; \ template<> bool roctracer::RocpLoader::to_load_ = true; \ template<> const char* roctracer::HccLoader::lib_name_ = "libamdhip64.so"; \ - template<> const char* roctracer::KfdLoader::lib_name_ = "libkfdwrapper64.so"; \ template<> const char* roctracer::RocTxLoader::lib_name_ = "libroctx64.so"; \ template<> bool roctracer::RocTxLoader::to_load_ = true; diff --git a/src/core/roctracer.cpp b/src/core/roctracer.cpp index 000ba7e3c9..2463fd5847 100644 --- a/src/core/roctracer.cpp +++ b/src/core/roctracer.cpp @@ -27,7 +27,6 @@ THE SOFTWARE. #include "inc/roctracer_roctx.h" #define PROF_API_IMPL 1 #include "inc/roctracer_hsa.h" -#include "inc/roctracer_kfd.h" #include #include @@ -701,8 +700,6 @@ PUBLIC_API const char* roctracer_op_string( return roctracer::HccLoader::Instance().GetOpName(kind); case ACTIVITY_DOMAIN_HIP_API: return roctracer::HipLoader::Instance().ApiName(op); - case ACTIVITY_DOMAIN_KFD_API: - return roctracer::kfd_support::GetApiName(op); case ACTIVITY_DOMAIN_EXT_API: return "EXT_API"; default: @@ -728,14 +725,6 @@ PUBLIC_API roctracer_status_t roctracer_op_code( if (kind != NULL) *kind = 0; break; } - case ACTIVITY_DOMAIN_KFD_API: { - *op = roctracer::kfd_support::GetApiCode(str); - if (*op == KFD_API_ID_NUMBER) { - EXC_RAISING(ROCTRACER_STATUS_BAD_PARAMETER, "Invalid API name \"" << str << "\", domain ID(" << domain << ")"); - } - if (kind != NULL) *kind = 0; - break; - } case ACTIVITY_DOMAIN_HIP_API: { *op = hipApiIdByName(str); if (*op == HIP_API_ID_NONE) { @@ -757,7 +746,6 @@ static inline uint32_t get_op_begin(uint32_t domain) { case ACTIVITY_DOMAIN_HSA_EVT: return 0; case ACTIVITY_DOMAIN_HCC_OPS: return 0; case ACTIVITY_DOMAIN_HIP_API: return HIP_API_ID_FIRST; - case ACTIVITY_DOMAIN_KFD_API: return 0; case ACTIVITY_DOMAIN_EXT_API: return 0; case ACTIVITY_DOMAIN_ROCTX: return 0; default: @@ -773,7 +761,6 @@ static inline uint32_t get_op_end(uint32_t domain) { case ACTIVITY_DOMAIN_HSA_EVT: return HSA_EVT_ID_NUMBER; case ACTIVITY_DOMAIN_HCC_OPS: return HIP_OP_ID_NUMBER; case ACTIVITY_DOMAIN_HIP_API: return HIP_API_ID_LAST + 1;; - case ACTIVITY_DOMAIN_KFD_API: return KFD_API_ID_NUMBER; case ACTIVITY_DOMAIN_EXT_API: return 0; case ACTIVITY_DOMAIN_ROCTX: return ROCTX_API_ID_NUMBER; default: @@ -790,11 +777,6 @@ static roctracer_status_t roctracer_enable_callback_fun( void* user_data) { switch (domain) { - case ACTIVITY_DOMAIN_KFD_API: { - const bool succ = roctracer::KfdLoader::Instance().RegisterApiCallback(op, (void*)callback, user_data); - if (succ == false) EXC_RAISING(ROCTRACER_STATUS_ERROR, "KFD RegisterApiCallback error(" << op << ") failed"); - break; - } case ACTIVITY_DOMAIN_HSA_OPS: break; case ACTIVITY_DOMAIN_HSA_API: { #if 0 @@ -891,11 +873,6 @@ static roctracer_status_t roctracer_disable_callback_fun( uint32_t op) { switch (domain) { - case ACTIVITY_DOMAIN_KFD_API: { - const bool succ = roctracer::KfdLoader::Instance().RemoveApiCallback(op); - if (succ == false) EXC_RAISING(ROCTRACER_STATUS_ERROR, "KFD RemoveApiCallback error"); - break; - } case ACTIVITY_DOMAIN_HSA_OPS: break; case ACTIVITY_DOMAIN_HSA_API: { #if 0 @@ -1039,7 +1016,6 @@ static roctracer_status_t roctracer_enable_activity_fun( } case ACTIVITY_DOMAIN_HSA_API: break; case ACTIVITY_DOMAIN_HSA_EVT: break; - case ACTIVITY_DOMAIN_KFD_API: break; case ACTIVITY_DOMAIN_HCC_OPS: { const bool init_phase = (roctracer::HccLoader::GetRef() == NULL); if (roctracer::HccLoader::Instance().Enabled() == false) break; @@ -1138,7 +1114,6 @@ static roctracer_status_t roctracer_disable_activity_fun( } case ACTIVITY_DOMAIN_HSA_API: break; case ACTIVITY_DOMAIN_HSA_EVT: break; - case ACTIVITY_DOMAIN_KFD_API: break; case ACTIVITY_DOMAIN_HCC_OPS: { if (roctracer::HccLoader::Instance().Enabled() == false) break; @@ -1306,10 +1281,6 @@ PUBLIC_API roctracer_status_t roctracer_set_properties( break; } - case ACTIVITY_DOMAIN_KFD_API: { - roctracer::kfd_support::intercept_KFDApiTable(); - break; - } case ACTIVITY_DOMAIN_HSA_EVT: { break; } diff --git a/test/MatrixTranspose_test/Makefile b/test/MatrixTranspose_test/Makefile index 8448e71228..d0eab5a24b 100644 --- a/test/MatrixTranspose_test/Makefile +++ b/test/MatrixTranspose_test/Makefile @@ -46,7 +46,7 @@ $(EXECUTABLE): $(OBJECTS) $(HIPCC) $(OBJECTS) -o $@ $(ROC_LIBS) test: $(EXECUTABLE) - LD_PRELOAD="$(LIB_PATH)/libkfdwrapper64.so librocprofiler64.so" $(EXECUTABLE) + LD_PRELOAD="librocprofiler64.so" $(EXECUTABLE) clean: rm -f $(EXECUTABLE) diff --git a/test/MatrixTranspose_test/MatrixTranspose.cpp b/test/MatrixTranspose_test/MatrixTranspose.cpp index cf91a571dd..51215551b0 100644 --- a/test/MatrixTranspose_test/MatrixTranspose.cpp +++ b/test/MatrixTranspose_test/MatrixTranspose.cpp @@ -234,7 +234,6 @@ int main() { #include #include #include -#include #include #include @@ -268,15 +267,6 @@ void api_callback( fprintf(stdout, "rocTX <\"%s pid(%d) tid(%d)\">\n", data->args.message, GetPid(), GetTid()); return; } - if (domain == ACTIVITY_DOMAIN_KFD_API) { - const kfd_api_data_t* data = (const kfd_api_data_t*)(callback_data); - fprintf(stdout, "<%s id(%u)\tcorrelation_id(%lu) %s pid(%d) tid(%d)>\n", - roctracer_op_string(ACTIVITY_DOMAIN_KFD_API, cid, 0), - cid, - data->correlation_id, - (data->phase == ACTIVITY_API_PHASE_ENTER) ? "on-enter" : "on-exit", GetPid(), GetTid()); - return; - } const hip_api_data_t* data = (const hip_api_data_t*)(callback_data); SPRINT("<%s id(%u)\tcorrelation_id(%lu) %s pid(%d) tid(%d)> ", roctracer_op_string(ACTIVITY_DOMAIN_HIP_API, cid, 0), @@ -334,7 +324,7 @@ void activity_callback(const char* begin, const char* end, void* arg) { record->correlation_id, record->begin_ns, record->end_ns); - if ((record->domain == ACTIVITY_DOMAIN_HIP_API) || (record->domain == ACTIVITY_DOMAIN_KFD_API)) { + if (record->domain == ACTIVITY_DOMAIN_HIP_API) { SPRINT(" process_id(%u) thread_id(%u)", record->process_id, record->thread_id); @@ -381,8 +371,6 @@ void init_tracing() { ROCTRACER_CALL(roctracer_enable_domain_activity(ACTIVITY_DOMAIN_HCC_OPS)); // Enable PC sampling ROCTRACER_CALL(roctracer_enable_op_activity(ACTIVITY_DOMAIN_HSA_OPS, HSA_OP_ID_RESERVED1)); - // Enable KFD API tracing - ROCTRACER_CALL(roctracer_enable_domain_callback(ACTIVITY_DOMAIN_KFD_API, api_callback, NULL)); // Enable rocTX ROCTRACER_CALL(roctracer_enable_domain_callback(ACTIVITY_DOMAIN_ROCTX, api_callback, NULL)); } @@ -403,7 +391,6 @@ void stop_tracing() { #endif ROCTRACER_CALL(roctracer_disable_domain_activity(ACTIVITY_DOMAIN_HCC_OPS)); ROCTRACER_CALL(roctracer_disable_domain_activity(ACTIVITY_DOMAIN_HSA_OPS)); - ROCTRACER_CALL(roctracer_disable_domain_callback(ACTIVITY_DOMAIN_KFD_API)); ROCTRACER_CALL(roctracer_disable_domain_callback(ACTIVITY_DOMAIN_ROCTX)); ROCTRACER_CALL(roctracer_flush_activity()); printf("# STOP #############################\n"); diff --git a/test/run.sh b/test/run.sh index 9a7ffc7490..0a863ffa5f 100755 --- a/test/run.sh +++ b/test/run.sh @@ -112,18 +112,15 @@ eval_test "ctrl dry run" ./test/hsa/ctrl ctrl_dryrun_trace # Standalone test # rocTrecer is used explicitely by test -eval_test "standalone C test" "LD_PRELOAD=libkfdwrapper64.so ./test/MatrixTranspose_ctest" MatrixTranspose_ctest_trace -eval_test "standalone HIP test" "LD_PRELOAD=libkfdwrapper64.so ./test/MatrixTranspose_test" MatrixTranspose_test_trace -eval_test "standalone HIP hipaact test" "LD_PRELOAD=libkfdwrapper64.so ./test/MatrixTranspose_hipaact_test" MatrixTranspose_hipaact_test_trace -eval_test "standalone HIP MGPU test" "LD_PRELOAD=libkfdwrapper64.so ./test/MatrixTranspose_mgpu" MatrixTranspose_mgpu_trace +eval_test "standalone C test" "./test/MatrixTranspose_ctest" MatrixTranspose_ctest_trace +eval_test "standalone HIP test" "./test/MatrixTranspose_test" MatrixTranspose_test_trace +eval_test "standalone HIP hipaact test" "./test/MatrixTranspose_hipaact_test" MatrixTranspose_hipaact_test_trace +eval_test "standalone HIP MGPU test" "./test/MatrixTranspose_mgpu" MatrixTranspose_mgpu_trace # Tool test # rocTracer/tool is loaded by HSA runtime export HSA_TOOLS_LIB="$ROCTRACER_TOOL_PATH/libtracer_tool.so" -# KFD test -export ROCTRACER_DOMAIN="kfd" -eval_test "tool KFD test" "LD_PRELOAD=libkfdwrapper64.so ./test/MatrixTranspose" MatrixTranspose_kfd_trace # SYS test export ROCTRACER_DOMAIN="sys:roctx" eval_test "tool SYS test" ./test/MatrixTranspose MatrixTranspose_sys_trace diff --git a/test/tool/tracer_tool.cpp b/test/tool/tracer_tool.cpp index 608b40cf84..b75fa6d8c1 100644 --- a/test/tool/tracer_tool.cpp +++ b/test/tool/tracer_tool.cpp @@ -38,7 +38,6 @@ THE SOFTWARE. #include #include #include -#include #include #include "src/core/loader.h" @@ -101,17 +100,14 @@ typedef hsa_rt_utils::Timer::timestamp_t timestamp_t; hsa_rt_utils::Timer* timer = NULL; thread_local timestamp_t hsa_begin_timestamp = 0; thread_local timestamp_t hip_begin_timestamp = 0; -thread_local timestamp_t kfd_begin_timestamp = 0; bool trace_roctx = false; bool trace_hsa_api = false; bool trace_hsa_activity = false; bool trace_hip_api = false; bool trace_hip_activity = false; -bool trace_kfd = false; bool trace_pcs = false; // API trace vector std::vector hsa_api_vec; -std::vector kfd_api_vec; std::vector hip_api_vec; LOADER_INSTANTIATE(); @@ -130,7 +126,6 @@ FILE* hsa_api_file_handle = NULL; FILE* hsa_async_copy_file_handle = NULL; FILE* hip_api_file_handle = NULL; FILE* hcc_activity_file_handle = NULL; -FILE* kfd_api_file_handle = NULL; FILE* pc_sample_file_handle = NULL; void close_output_file(FILE* file_handle); @@ -141,7 +136,6 @@ void close_file_handles() { if (hsa_async_copy_file_handle) close_output_file(hsa_async_copy_file_handle); if (hip_api_file_handle) close_output_file(hip_api_file_handle); if (hcc_activity_file_handle) close_output_file(hcc_activity_file_handle); - if (kfd_api_file_handle) close_output_file(kfd_api_file_handle); if (pc_sample_file_handle) close_output_file(pc_sample_file_handle); } @@ -657,32 +651,6 @@ void pool_activity_callback(const char* begin, const char* end, void* arg) { } } -/////////////////////////////////////////////////////////////////////////////////////////////////////// -// KFD API tracing - -// KFD API callback function -static thread_local bool in_kfd_api_callback = false; -void kfd_api_callback( - uint32_t domain, - uint32_t cid, - const void* callback_data, - void* arg) -{ - (void)arg; - if (in_kfd_api_callback) return; - in_kfd_api_callback = true; - const kfd_api_data_t* data = reinterpret_cast(callback_data); - if (data->phase == ACTIVITY_API_PHASE_ENTER) { - kfd_begin_timestamp = timer->timestamp_fn_ns(); - } else { - const timestamp_t end_timestamp = timer->timestamp_fn_ns(); - std::ostringstream os; - os << kfd_begin_timestamp << ":" << end_timestamp << " " << GetPid() << ":" << GetTid() << " " << kfd_api_data_pair_t(cid, *data); - fprintf(kfd_api_file_handle, "%s\n", os.str().c_str()); - } - in_kfd_api_callback = false; -} - /////////////////////////////////////////////////////////////////////////////////////////////////////// // Input parser @@ -810,9 +778,6 @@ void tool_unload() { ROCTRACER_CALL(roctracer_disable_domain_activity(ACTIVITY_DOMAIN_HIP_API)); ROCTRACER_CALL(roctracer_disable_domain_activity(ACTIVITY_DOMAIN_HCC_OPS)); } - if (trace_kfd) { - ROCTRACER_CALL(roctracer_disable_domain_callback(ACTIVITY_DOMAIN_KFD_API)); - } // Flush tracing pool close_tracing_pool(); @@ -863,11 +828,6 @@ void tool_load() { trace_hip_activity = true; } - // KFD domain enabling - if (std::string(trace_domain).find("kfd") != std::string::npos) { - trace_kfd = true; - } - // PC sampling enabling if (std::string(trace_domain).find("pcs") != std::string::npos) { trace_pcs = true; @@ -917,11 +877,6 @@ void tool_load() { trace_hip_activity = true; hip_api_vec = api_vec; } - if (name == "KFD") { - found = true; - trace_kfd = true; - kfd_api_vec = api_vec; - } } if (found) printf("input from \"%s\"", xml_name); @@ -993,27 +948,6 @@ void tool_load() { flush_thread_started = true; } - // Enable KFD API callbacks/activity - if (trace_kfd) { - kfd_api_file_handle = open_output_file(output_prefix, "kfd_api_trace.txt"); - // initialize KFD tracing - roctracer_set_properties(ACTIVITY_DOMAIN_KFD_API, NULL); - - printf(" KFD-trace("); - if (kfd_api_vec.size() != 0) { - for (unsigned i = 0; i < kfd_api_vec.size(); ++i) { - uint32_t cid = KFD_API_ID_NUMBER; - const char* api = kfd_api_vec[i].c_str(); - ROCTRACER_CALL(roctracer_op_code(ACTIVITY_DOMAIN_KFD_API, api, &cid, NULL)); - ROCTRACER_CALL(roctracer_enable_op_callback(ACTIVITY_DOMAIN_KFD_API, cid, kfd_api_callback, NULL)); - printf(" %s", api); - } - } else { - ROCTRACER_CALL(roctracer_enable_domain_callback(ACTIVITY_DOMAIN_KFD_API, kfd_api_callback, NULL)); - } - printf(")\n"); - } - ONLOAD_TRACE_END(); } From 1e3ed06a9a89095d6cee3bd8388ff381c53f6049 Mon Sep 17 00:00:00 2001 From: Ammar ELWazir Date: Sat, 7 Aug 2021 01:30:16 -0400 Subject: [PATCH 461/691] Fixing correlation_id_map Changing correlation_id_map to static instance instead of being a pointer and fixing the corresponding references Change-Id: Id8a481a90b46831f91985a7e0523fd2869991aeb --- src/core/roctracer.cpp | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/src/core/roctracer.cpp b/src/core/roctracer.cpp index 2463fd5847..353ba55459 100644 --- a/src/core/roctracer.cpp +++ b/src/core/roctracer.cpp @@ -285,7 +285,7 @@ static thread_local record_pair_stack_t* record_pair_stack = NULL; static thread_local activity_correlation_id_t correlation_id_tls = 0; typedef std::map correlation_id_map_t; typedef std::mutex correlation_id_mutex_t; -correlation_id_map_t* correlation_id_map = NULL; +static correlation_id_map_t correlation_id_map{}; correlation_id_mutex_t correlation_id_mutex; bool correlation_id_wait = true; @@ -293,17 +293,16 @@ static thread_local std::stack external_id_stack; static inline void CorrelationIdRegistr(const activity_correlation_id_t& correlation_id) { std::lock_guard lck(correlation_id_mutex); - if (correlation_id_map == NULL) correlation_id_map = new correlation_id_map_t; - const auto ret = correlation_id_map->insert({correlation_id, correlation_id_tls}); + const auto ret = correlation_id_map.insert({correlation_id, correlation_id_tls}); if (ret.second == false) EXC_ABORT(ROCTRACER_STATUS_ERROR, "HCC activity id is not unique(" << correlation_id << ")"); DEBUG_TRACE("CorrelationIdRegistr id(%lu) id_tls(%lu)\n", correlation_id, correlation_id_tls); } static inline activity_correlation_id_t CorrelationIdLookup(const activity_correlation_id_t& correlation_id) { - auto it = correlation_id_map->find(correlation_id); - if (correlation_id_wait) while (it == correlation_id_map->end()) it = correlation_id_map->find(correlation_id); - if (it == correlation_id_map->end()) EXC_ABORT(ROCTRACER_STATUS_ERROR, "HCC activity id lookup failed(" << correlation_id << ")"); + auto it = correlation_id_map.find(correlation_id); + if (correlation_id_wait) while (it == correlation_id_map.end()) it = correlation_id_map.find(correlation_id); + if (it == correlation_id_map.end()) EXC_ABORT(ROCTRACER_STATUS_ERROR, "HCC activity id lookup failed(" << correlation_id << ")"); const activity_correlation_id_t ret_val = it->second; DEBUG_TRACE("CorrelationIdLookup id(%lu) ret(%lu)\n", correlation_id, ret_val); From b02586c5873acf9c273f4c995e222e1c59c6f0fc Mon Sep 17 00:00:00 2001 From: Ammar ELWazir Date: Sat, 7 Aug 2021 01:22:50 -0400 Subject: [PATCH 462/691] Cosmetic change Fixing variable names and removing un-needed references Change-Id: I3ed2cee89e7dc599caf1726fe1eab1a913e5a93d --- src/core/hip_act_cb_tracker.h | 28 ++++++---------------------- 1 file changed, 6 insertions(+), 22 deletions(-) diff --git a/src/core/hip_act_cb_tracker.h b/src/core/hip_act_cb_tracker.h index 665f701c1c..57ec5a422f 100644 --- a/src/core/hip_act_cb_tracker.h +++ b/src/core/hip_act_cb_tracker.h @@ -4,32 +4,16 @@ #include namespace roctracer { -enum { - API_CB_MASK = 0x1, - ACT_CB_MASK = 0x2 -}; +enum { API_CB_MASK = 0x1, ACT_CB_MASK = 0x2 }; class hip_act_cb_tracker_t { - struct info_t { - uint32_t mask; - info_t() : mask(0) {} - }; + private: + std::map data; - typedef std::map map_t; - map_t dara; + public: + uint32_t enable_check(uint32_t op, uint32_t mask) { return data[op] |= mask; } - public: - uint32_t enable_check(const uint32_t& op, const uint32_t& mask) { - uint32_t& val = dara[op].mask; - val |= mask; - return val; - } - - uint32_t disable_check(const uint32_t& op, const uint32_t& mask) { - uint32_t& val = dara[op].mask; - val &= ~mask; - return val; - } + uint32_t disable_check(uint32_t op, uint32_t mask) { return data[op] &= ~mask; } }; // hip_act_cb_tracker_t }; // namespace roctracer From 8396836c25daf521e433679efbfcf6de6617b68c Mon Sep 17 00:00:00 2001 From: Ammar ELWazir Date: Mon, 2 Aug 2021 16:59:27 -0400 Subject: [PATCH 463/691] SWDEV-294319 & SWDEV-294321 Added support for missing functions Added Support for launch kernel functions to fill_api_db Change-Id: Ie8749806214d6e283c3d408d8019f178f42018bf --- test/tool/tracer_tool.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/test/tool/tracer_tool.cpp b/test/tool/tracer_tool.cpp index b75fa6d8c1..8656dabf58 100644 --- a/test/tool/tracer_tool.cpp +++ b/test/tool/tracer_tool.cpp @@ -374,6 +374,7 @@ roctracer::TraceBuffer* hip_api_trace_buffer = NULL; static inline bool is_hip_kernel_launch_api(const uint32_t& cid) { bool ret = (cid == HIP_API_ID_hipLaunchKernel) || + (cid == HIP_API_ID_hipExtLaunchKernel) || (cid == HIP_API_ID_hipLaunchCooperativeKernel) || (cid == HIP_API_ID_hipLaunchCooperativeKernelMultiDevice) || (cid == HIP_API_ID_hipExtLaunchMultiKernelMultiDevice) || @@ -439,6 +440,13 @@ void hip_api_callback( if (f != NULL) entry->name = strdup(roctracer::HipLoader::Instance().KernelNameRefByPtr(f, stream)); break; } + case HIP_API_ID_hipExtLaunchKernel: + { + const void* f = data->args.hipExtLaunchKernel.function_address; + hipStream_t stream = data->args.hipExtLaunchKernel.stream; + if (f != NULL) entry->name = strdup(roctracer::HipLoader::Instance().KernelNameRefByPtr(f, stream)); + break; + } default: { const hipFunction_t f = data->args.hipModuleLaunchKernel.f; From 513460bd41e344f3960ecafdcd92cfb073fca438 Mon Sep 17 00:00:00 2001 From: Ammar ELWazir Date: Sat, 7 Aug 2021 01:11:26 -0400 Subject: [PATCH 464/691] SWDEV-294248 (Fixing Race Conditions): Fixing race conditions that happened when enabling trace-period feature on the following code: #include __global__ void kernel () { } int main (int argc, char **argv) { for (size_t i = 0; i < 10000; ++i) { hipLaunchKernelGGL (kernel, 1, 1, 0, 0); hipDeviceSynchronize (); } return 0; } Change-Id: I4eb88a4a71efbad0f6483e7fb6e8e0c6a662860b --- src/core/roctracer.cpp | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/src/core/roctracer.cpp b/src/core/roctracer.cpp index 353ba55459..c9d55da91f 100644 --- a/src/core/roctracer.cpp +++ b/src/core/roctracer.cpp @@ -287,7 +287,6 @@ typedef std::map correlati typedef std::mutex correlation_id_mutex_t; static correlation_id_map_t correlation_id_map{}; correlation_id_mutex_t correlation_id_mutex; -bool correlation_id_wait = true; static thread_local std::stack external_id_stack; @@ -300,10 +299,11 @@ static inline void CorrelationIdRegistr(const activity_correlation_id_t& correla } static inline activity_correlation_id_t CorrelationIdLookup(const activity_correlation_id_t& correlation_id) { + std::lock_guard lck(correlation_id_mutex); auto it = correlation_id_map.find(correlation_id); - if (correlation_id_wait) while (it == correlation_id_map.end()) it = correlation_id_map.find(correlation_id); if (it == correlation_id_map.end()) EXC_ABORT(ROCTRACER_STATUS_ERROR, "HCC activity id lookup failed(" << correlation_id << ")"); const activity_correlation_id_t ret_val = it->second; + correlation_id_map.erase(it); DEBUG_TRACE("CorrelationIdLookup id(%lu) ret(%lu)\n", correlation_id, ret_val); @@ -505,6 +505,7 @@ void HCC_AsyncActivityCallback(uint32_t op_id, void* record, void* arg) { roctracer_record_t* record_ptr = reinterpret_cast(record); record_ptr->domain = ACTIVITY_DOMAIN_HCC_OPS; record_ptr->correlation_id = CorrelationIdLookup(record_ptr->correlation_id); + if (record_ptr->correlation_id == 0) return; pool->Write(*record_ptr); const char * name = roctracer_op_string(ACTIVITY_DOMAIN_HCC_OPS, record_ptr->op, record_ptr->kind); @@ -1020,14 +1021,6 @@ static roctracer_status_t roctracer_enable_activity_fun( if (roctracer::HccLoader::Instance().Enabled() == false) break; if (init_phase == true) { - if (getenv("ROCP_HCC_CORRID_WAIT") != NULL) { - roctracer::correlation_id_wait = true; - fprintf(stdout, "roctracer: HCC correlation ID wait enabled\n"); fflush(stdout); - } - if (getenv("ROCP_HCC_CORRID_NOWAIT") != NULL) { - roctracer::correlation_id_wait = false; - fprintf(stdout, "roctracer: HCC correlation ID wait disabled\n"); fflush(stdout); - } roctracer::HccLoader::Instance().InitActivityCallback((void*)roctracer::HCC_ActivityIdCallback, (void*)roctracer::HCC_AsyncActivityCallback, (void*)pool); @@ -1235,8 +1228,10 @@ PUBLIC_API void roctracer_start() { // Stop API PUBLIC_API void roctracer_stop() { if (roctracer::set_stopped(1)) { - roctracer::cb_journal->foreach(roctracer::cb_dis_functor_t(roctracer_disable_callback_fun)); + // Must disable the activity first as the spawner checks for the activity being NULL + // to indicate that there is no callback. roctracer::act_journal->foreach(roctracer::act_dis_functor_t(roctracer_disable_activity_fun)); + roctracer::cb_journal->foreach(roctracer::cb_dis_functor_t(roctracer_disable_callback_fun)); if (roctracer::ext_support::roctracer_stop_cb) roctracer::ext_support::roctracer_stop_cb(); } } From a7cd80b716a3f7ff0444176c7a21ade4fecb1f2f Mon Sep 17 00:00:00 2001 From: Saurabh Verma Date: Tue, 31 Aug 2021 15:33:37 -0500 Subject: [PATCH 465/691] SWDEV-295878 Fix for seg fault when using --trace-start off Change-Id: Ic76d814b3591f72db18319d78f34596dae1ddfee --- src/roctx/roctx.cpp | 7 +++---- test/tool/tracer_tool.cpp | 9 +++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/roctx/roctx.cpp b/src/roctx/roctx.cpp index e9a0815f16..819cc28773 100644 --- a/src/roctx/roctx.cpp +++ b/src/roctx/roctx.cpp @@ -82,7 +82,7 @@ typedef std::stack message_stack_t; typedef std::map thread_map_t; typedef std::mutex map_mutex_t; map_mutex_t map_mutex; -thread_map_t* thread_map = NULL; +thread_map_t thread_map; static thread_local message_stack_t* message_stack = NULL; roctx_status_t GetExcStatus(const std::exception& e) { @@ -95,8 +95,7 @@ void thread_data_init() { const auto tid = GetTid(); std::lock_guard lck(map_mutex); - if (thread_map == NULL) thread_map = new thread_map_t; - (*thread_map)[tid] = message_stack; + thread_map[tid] = message_stack; } // callbacks table @@ -194,7 +193,7 @@ PUBLIC_API void roctxRangeStop(roctx_range_id_t rangeId) { } PUBLIC_API void RangeStackIterate(roctx_range_iterate_cb_t callback, void* arg) { - for (const auto& entry : *roctx::thread_map) { + for (const auto& entry : roctx::thread_map) { const auto tid = entry.first; for (roctx::message_stack_t stack = *(entry.second); !stack.empty(); stack.pop()){ std::string message = stack.top(); diff --git a/test/tool/tracer_tool.cpp b/test/tool/tracer_tool.cpp index 8656dabf58..e6631174ae 100644 --- a/test/tool/tracer_tool.cpp +++ b/test/tool/tracer_tool.cpp @@ -34,6 +34,7 @@ THE SOFTWARE. #include /* usleep */ #include +#include "src/util/exception.h" #include #include #include @@ -915,11 +916,11 @@ void tool_load() { uint32_t ctrl_len = 0; uint32_t ctrl_rate = 0; - sscanf(ctrl_str, "%d:%d:%d", &ctrl_delay, &ctrl_len, &ctrl_rate); - + if (sscanf(ctrl_str, "%d:%d:%d", &ctrl_delay, &ctrl_len, &ctrl_rate) != 3) { + EXC_RAISING(ROCTRACER_STATUS_ERROR, "Invalid ROCP_CTRL_RATE var(" << ctrl_str << "), expected ctrl_delay:ctrl_len:ctrl_rate"); + } if (ctrl_len > ctrl_rate) { - fprintf(stderr, "ROCTracer: control length value (%u) > rate value (%u)\n", ctrl_len, ctrl_rate); - abort(); + EXC_RAISING(ROCTRACER_STATUS_ERROR, "Control length value " << ctrl_len << " > rate value " << ctrl_rate); } control_dist_us = ctrl_rate - ctrl_len; control_len_us = ctrl_len; From 99e2f37c81d2ad409b597f2678d3bb23d38d4cd6 Mon Sep 17 00:00:00 2001 From: Ammar ELWazir Date: Wed, 22 Sep 2021 15:10:18 -0500 Subject: [PATCH 466/691] SWDEV-298155: Fixing HSA-CLASS REV Adding the latest commit to pull from the hsa-class git repo that includes the fix for SWDEV-298155 "Fixing the typo in evt_stats.h" https://github.com/ROCmSoftwarePlatform/hsa-class/commit/e6456a6d93cc6d8bcc59bd6ea24f27146f86ff4c Change-Id: I9984de8ec9204a6cf47a25ce4ac42852473c56c9 --- test/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 99fd335a27..fd8e48553f 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -44,7 +44,7 @@ endif () ## Path to HSA test set ( HSA_TEST_DIR "${TEST_DIR}/hsa/test" ) -set ( HSA_REV "a4fcdae" ) +set ( HSA_REV "f8b3870" ) ## test run script set ( RUN_SCRIPT "${TEST_DIR}/run.sh" ) From aa41554130193ac5101b254004c73f9db494b8eb Mon Sep 17 00:00:00 2001 From: Ammar ELWazir Date: Fri, 8 Oct 2021 20:25:12 -0500 Subject: [PATCH 467/691] SWDEV-275232: Replaced the use of on_exit() on_exit() registered exit_handler function, but in the case of OpenMP applications the registered exit func exit_handler was called after the dlclose of the library. So we removed exit_handler from roctracer as it is already handled in both rocprofiler and rocprof script. Change-Id: I7c3d42e6ccc282e713b48b4a7faec4935e7a2600 --- test/tool/tracer_tool.cpp | 5 ----- 1 file changed, 5 deletions(-) diff --git a/test/tool/tracer_tool.cpp b/test/tool/tracer_tool.cpp index e6631174ae..d111d60d53 100644 --- a/test/tool/tracer_tool.cpp +++ b/test/tool/tracer_tool.cpp @@ -960,15 +960,10 @@ void tool_load() { ONLOAD_TRACE_END(); } -void exit_handler(int status, void* arg) { - ONLOAD_TRACE("status(" << status << ") arg(" << arg << ")"); -} - // HSA-runtime tool on-load method extern "C" PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, uint64_t failed_tool_count, const char* const* failed_tool_names) { ONLOAD_TRACE_BEG(); - on_exit(exit_handler, NULL); timer = new hsa_rt_utils::Timer(table->core_->hsa_system_get_info_fn); From 8ea268b3f4e01ba5494aaeee3c0c61dc63b0dea2 Mon Sep 17 00:00:00 2001 From: Icarus Sparry Date: Sun, 31 Oct 2021 14:39:37 -0700 Subject: [PATCH 468/691] Forcibly disable parallelism The manually written Makefiles in the test directory are not safe to use by more than one job. For example we see things like all: clean $(EXECUTABLE) which says that the 'all' target depends on the 'clean' and '$(EXECUTABLE)' targets. If make is invoked with -j2 then the clean and '${EXECUTABLE}' can be built in parallel, so the clean can delete things whilst they are being built! Change-Id: I9c56db4c629081b8d812dad45dfd4afde10e481f Signed-off-by: Icarus Sparry --- test/CMakeLists.txt | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index fd8e48553f..55a7edeaba 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -54,15 +54,15 @@ set ( GEN_INC_DIR ${PROJECT_BINARY_DIR}/inc ) set ( INC_PATH "${INC_PATH} ${GEN_INC_DIR}" ) set ( TEST_ENV ROCM_PATH=${ROCM_ROOT_DIR} HSA_PATH=${ROCM_ROOT_DIR}/hsa INC_PATH=${INC_PATH} LIB_PATH=${LIB_PATH} HIPCC_VERBOSE=3 ) add_custom_target( mytest - COMMAND ${TEST_ENV} make -C "${TEST_DIR}/MatrixTranspose" + COMMAND ${TEST_ENV} make -C "${TEST_DIR}/MatrixTranspose" -j1 COMMAND sh -xc "cp ${TEST_DIR}/MatrixTranspose/MatrixTranspose ${PROJECT_BINARY_DIR}/test" - COMMAND ${TEST_ENV} make -C "${TEST_DIR}/MatrixTranspose_test" + COMMAND ${TEST_ENV} make -C "${TEST_DIR}/MatrixTranspose_test" -j1 COMMAND sh -xc "cp ${TEST_DIR}/MatrixTranspose_test/MatrixTranspose ${PROJECT_BINARY_DIR}/test/MatrixTranspose_test" - COMMAND HIP_API_ACTIVITY_ON=1 ${TEST_ENV} make -C "${TEST_DIR}/MatrixTranspose_test" + COMMAND HIP_API_ACTIVITY_ON=1 ${TEST_ENV} make -C "${TEST_DIR}/MatrixTranspose_test" -j1 COMMAND sh -xc "cp ${TEST_DIR}/MatrixTranspose_test/MatrixTranspose ${PROJECT_BINARY_DIR}/test/MatrixTranspose_hipaact_test" - COMMAND MGPU_TEST=1 ${TEST_ENV} make -C "${TEST_DIR}/MatrixTranspose_test" + COMMAND MGPU_TEST=1 ${TEST_ENV} make -C "${TEST_DIR}/MatrixTranspose_test" -j1 COMMAND sh -xc "cp ${TEST_DIR}/MatrixTranspose_test/MatrixTranspose ${PROJECT_BINARY_DIR}/test/MatrixTranspose_mgpu" - COMMAND C_TEST=1 ${TEST_ENV} make -C "${TEST_DIR}/MatrixTranspose_test" + COMMAND C_TEST=1 ${TEST_ENV} make -C "${TEST_DIR}/MatrixTranspose_test" -j1 COMMAND sh -xc "cp ${TEST_DIR}/MatrixTranspose_test/MatrixTranspose ${PROJECT_BINARY_DIR}/test/MatrixTranspose_ctest" # copy traces COMMAND sh -xc "cp ${TEST_DIR}/golden_traces/*_trace.txt ${PROJECT_BINARY_DIR}/test/" From b721e3209ea4288bc4df2821f97bbdec19429a8e Mon Sep 17 00:00:00 2001 From: Ammar ELWazir Date: Fri, 21 Jan 2022 12:10:53 -0600 Subject: [PATCH 469/691] SWDEV-318551: Adding License file for tracer Making the new License file, Adding support in the CMakeLists.txt Change-Id: I43862b8b7f3025ae6200aeb442ea70c7993a7349 --- CMakeLists.txt | 5 +++++ LICENSE | 4 ++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index f83538d68a..5e8faad8ce 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -184,6 +184,9 @@ set ( CPACK_PACKAGE_CONTACT "ROCm Profiler Support Date: Wed, 2 Feb 2022 16:39:08 -0800 Subject: [PATCH 470/691] replace the set of CMAKE_SHARED_LINKER_FLAGS with add_link_options. Change-Id: I2696ccd53b234e700e1464b0b3852aac1e3fc3b3 --- cmake_modules/env.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake_modules/env.cmake b/cmake_modules/env.cmake index 4f3fa2af1d..73b76ccc62 100644 --- a/cmake_modules/env.cmake +++ b/cmake_modules/env.cmake @@ -51,7 +51,7 @@ set ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fms-extensions" ) set ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fmerge-all-constants" ) set ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC" ) -set ( CMAKE_SHARED_LINKER_FLAGS "-Wl,-Bdynamic -Wl,-z,noexecstack" ) +add_link_options("-Bdynamic -z,noexecstck") set ( CMAKE_SKIP_BUILD_RPATH TRUE ) From cec4cb25382976a8a1abfe6c5a518fed944a4670 Mon Sep 17 00:00:00 2001 From: Kiumars Sabeti Date: Fri, 11 Feb 2022 08:30:00 +0000 Subject: [PATCH 471/691] SWDEV-322312: RPM packages are generated while build roctracer for UBUNTU replaced -DCPACK_GENERATOR=DEB Change-Id: I9f6d4d652e7cad510343731948675f0cd4398ef4 --- build.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.sh b/build.sh index a52012755c..081d52c137 100755 --- a/build.sh +++ b/build.sh @@ -37,7 +37,7 @@ cmake \ -DCMAKE_PREFIX_PATH="$PREFIX_PATH" \ -DCMAKE_INSTALL_PREFIX=$PACKAGE_ROOT \ -DCPACK_PACKAGING_INSTALL_PREFIX=$PACKAGE_PREFIX \ - -DCPACK_GENERATOR="DEB;RPM" \ + -DCPACK_GENERATOR="${CPACKGEN:-"DEB;RPM"}" \ -DCMAKE_SHARED_LINKER_FLAGS="$LD_RUNPATH_FLAG" \ -DHIP_VDI="$HIP_VDI" \ -DHIP_API_STRING="$HIP_API_STRING" \ From 554011e7677491b8c9b50effc90cae07332e72d0 Mon Sep 17 00:00:00 2001 From: Kiumars Sabeti Date: Fri, 11 Feb 2022 19:19:56 +0000 Subject: [PATCH 472/691] SWDEV-322312 [ASAN] [roctracer] RPM packages are generated while building roctracer for UBUNTU To fix the issue we modified CMakeLists.txt as described in Sparry Icarus comment Change-Id: Ie9ca16cfcfb7b7a9a858f0fb1f5071923c787313 --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 5e8faad8ce..3ca3570876 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -168,7 +168,7 @@ install ( FILES ${PROJECT_BINARY_DIR}/so-roctx-major-link DESTINATION lib RENAME install ( FILES ${PROJECT_BINARY_DIR}/so-roctx-patch-link DESTINATION lib RENAME ${ROCTX_LIBRARY}.so.${LIB_VERSION_STRING} ) ## Packaging directives -set ( CPACK_GENERATOR "DEB" "RPM" "TGZ" ) +set ( CPACK_GENERATOR "DEB" "RPM" "TGZ" CACHE STRING "CPACK GENERATOR DEB;RPM") set ( ENABLE_LDCONFIG ON CACHE BOOL "Set library links and caches using ldconfig.") set ( CPACK_PACKAGE_NAME "${ROCTRACER_NAME}-dev" ) set ( CPACK_PACKAGE_VENDOR "Advanced Micro Devices, Inc." ) From ebda880c4a11ef986134e46591120b1a695ad254 Mon Sep 17 00:00:00 2001 From: Ranjith Ramakrishnan Date: Mon, 14 Feb 2022 12:40:18 -0800 Subject: [PATCH 473/691] SWDEV-291455: Prefer rocm include path to hip include path Change-Id: I1fa96e72169fac689a3a2ed38e988d7f5d18bf04 --- src/CMakeLists.txt | 2 +- test/CMakeLists.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 5bf02101a7..82250d872d 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -24,7 +24,7 @@ set ( LIB_SRC ${LIB_DIR}/util/hsa_rsrc_factory.cpp ) add_library ( ${TARGET_LIB} ${LIBRARY_TYPE} ${LIB_SRC} ) -target_include_directories ( ${TARGET_LIB} PRIVATE ${LIB_DIR} ${ROOT_DIR} ${ROOT_DIR}/inc ${HSA_RUNTIME_INC_PATH} ${HIP_INC_DIR} ${HSA_KMT_INC_PATH} ${ROCM_INC_PATH} ${GEN_INC_DIR} ) +target_include_directories ( ${TARGET_LIB} PRIVATE ${LIB_DIR} ${ROOT_DIR} ${ROOT_DIR}/inc ${HSA_RUNTIME_INC_PATH} ${ROCM_INC_PATH} ${HIP_INC_DIR} ${HSA_KMT_INC_PATH} ${GEN_INC_DIR} ) target_link_libraries( ${TARGET_LIB} PRIVATE ${HSA_RUNTIME_LIB} c stdc++ ) # Build ROCTX tracing library diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 55a7edeaba..a14ee2ac83 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -85,7 +85,7 @@ if ( DEFINED ROCTRACER_TARGET ) set ( TEST_LIB "tracer_tool" ) set ( TEST_LIB_SRC ${TEST_DIR}/tool/tracer_tool.cpp ${UTIL_SRC} ) add_library ( ${TEST_LIB} SHARED ${TEST_LIB_SRC} ) - target_include_directories ( ${TEST_LIB} PRIVATE ${HSA_TEST_DIR} ${ROOT_DIR} ${ROOT_DIR}/inc ${HSA_RUNTIME_INC_PATH} ${HIP_INC_DIR} ${HSA_KMT_INC_PATH} ${GEN_INC_DIR} ) + target_include_directories ( ${TEST_LIB} PRIVATE ${HSA_TEST_DIR} ${ROOT_DIR} ${ROOT_DIR}/inc ${HSA_RUNTIME_INC_PATH} ${ROCM_INC_PATH} ${HIP_INC_DIR} ${HSA_KMT_INC_PATH} ${GEN_INC_DIR} ) target_link_libraries ( ${TEST_LIB} ${ROCTRACER_TARGET} ${HSA_RUNTIME_LIB} c stdc++ dl pthread rt numa ) install ( TARGETS ${TEST_LIB} LIBRARY DESTINATION ${DEST_NAME}/tool ) endif () From bc19ae71eb6e13d55012d10750f2de3af4dc50b7 Mon Sep 17 00:00:00 2001 From: Ranjith Ramakrishnan Date: Fri, 25 Feb 2022 15:29:30 -0800 Subject: [PATCH 474/691] File reorganization with backward compatibility Package installed /opt/rocm Soft links and wrapper header files installed /opt/rocm/roctracer for backward compatibility tracer_tool library renamed to roctracer_tool and installed in /opt/rocm/lib/roctracer Change-Id: Ica7518c5ef2e591715121cbc942b69dff29233d3 --- CMakeLists.txt | 34 ++------- DEBIAN/postinst.in | 2 +- RPM/post.in | 2 +- roctracer-backward-compat.cmake | 128 ++++++++++++++++++++++++++++++++ test/CMakeLists.txt | 4 +- 5 files changed, 139 insertions(+), 31 deletions(-) create mode 100644 roctracer-backward-compat.cmake diff --git a/CMakeLists.txt b/CMakeLists.txt index 3ca3570876..37f62fc90a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -121,31 +121,21 @@ message ( "-----------Dest-name: ${DEST_NAME}" ) message ( "------Install-prefix: ${CMAKE_INSTALL_PREFIX}" ) message ( "-----------CPACK-dir: ${CPACK_PACKAGING_INSTALL_PREFIX}" ) -#add_custom_target ( inc-link ALL WORKING_DIRECTORY ${PROJECT_BINARY_DIR} -# COMMAND ${CMAKE_COMMAND} -E create_symlink ../${DEST_NAME}/include inc-link ) -add_custom_target ( so-link ALL WORKING_DIRECTORY ${PROJECT_BINARY_DIR} - COMMAND ${CMAKE_COMMAND} -E create_symlink ../${DEST_NAME}/lib/${ROCTRACER_LIBRARY}.so so-link ) -add_custom_target ( so-major-link ALL WORKING_DIRECTORY ${PROJECT_BINARY_DIR} - COMMAND ${CMAKE_COMMAND} -E create_symlink ../${DEST_NAME}/lib/${ROCTRACER_LIBRARY}.so.${LIB_VERSION_MAJOR} so-major-link ) -add_custom_target ( so-patch-link ALL WORKING_DIRECTORY ${PROJECT_BINARY_DIR} - COMMAND ${CMAKE_COMMAND} -E create_symlink ../${DEST_NAME}/lib/${ROCTRACER_LIBRARY}.so.${LIB_VERSION_STRING} so-patch-link ) - ## Install information -install ( TARGETS ${ROCTRACER_TARGET} LIBRARY DESTINATION ${DEST_NAME}/lib ) +install ( TARGETS ${ROCTRACER_TARGET} LIBRARY DESTINATION lib ) foreach ( header ${PUBLIC_HEADERS} ) get_filename_component ( header_subdir ${header} DIRECTORY ) - install ( FILES ${CMAKE_CURRENT_SOURCE_DIR}/inc/${header} DESTINATION ${DEST_NAME}/include/${header_subdir} ) install ( FILES ${CMAKE_CURRENT_SOURCE_DIR}/inc/${header} DESTINATION include/${DEST_NAME}/${header_subdir} ) endforeach () foreach ( header ${GEN_HEADERS} ) get_filename_component ( header_subdir ${header} DIRECTORY ) - install ( FILES ${PROJECT_BINARY_DIR}/inc/${header} DESTINATION ${DEST_NAME}/include/${header_subdir} ) install ( FILES ${PROJECT_BINARY_DIR}/inc/${header} DESTINATION include/${DEST_NAME}/${header_subdir} ) endforeach () -#install ( FILES ${PROJECT_BINARY_DIR}/inc-link DESTINATION include RENAME ${DEST_NAME} ) -install ( FILES ${PROJECT_BINARY_DIR}/so-link DESTINATION lib RENAME ${ROCTRACER_LIBRARY}.so ) -install ( FILES ${PROJECT_BINARY_DIR}/so-major-link DESTINATION lib RENAME ${ROCTRACER_LIBRARY}.so.${LIB_VERSION_MAJOR} ) -install ( FILES ${PROJECT_BINARY_DIR}/so-patch-link DESTINATION lib RENAME ${ROCTRACER_LIBRARY}.so.${LIB_VERSION_STRING} ) + +option(FILE_REORG_BACKWARD_COMPATIBILITY "Enable File Reorg with backward compatibility" ON) +if(FILE_REORG_BACKWARD_COMPATIBILITY) + include(roctracer-backward-compat.cmake) +endif() ## rocTX set ( ROCTX_TARGET "roctx64" ) @@ -155,17 +145,7 @@ set ( ROCTX_LIBRARY "lib${ROCTX_TARGET}" ) set_property ( TARGET ${ROCTX_TARGET} PROPERTY VERSION "${LIB_VERSION_STRING}" ) set_property ( TARGET ${ROCTX_TARGET} PROPERTY SOVERSION "${LIB_VERSION_MAJOR}" ) -add_custom_target ( so-roctx-link ALL WORKING_DIRECTORY ${PROJECT_BINARY_DIR} - COMMAND ${CMAKE_COMMAND} -E create_symlink ../${DEST_NAME}/lib/${ROCTX_LIBRARY}.so so-roctx-link ) -add_custom_target ( so-roctx-major-link ALL WORKING_DIRECTORY ${PROJECT_BINARY_DIR} - COMMAND ${CMAKE_COMMAND} -E create_symlink ../${DEST_NAME}/lib/${ROCTX_LIBRARY}.so.${LIB_VERSION_MAJOR} so-roctx-major-link ) -add_custom_target ( so-roctx-patch-link ALL WORKING_DIRECTORY ${PROJECT_BINARY_DIR} - COMMAND ${CMAKE_COMMAND} -E create_symlink ../${DEST_NAME}/lib/${ROCTX_LIBRARY}.so.${LIB_VERSION_STRING} so-roctx-patch-link ) - -install ( TARGETS "roctx64" LIBRARY DESTINATION ${DEST_NAME}/lib ) -install ( FILES ${PROJECT_BINARY_DIR}/so-roctx-link DESTINATION lib RENAME ${ROCTX_LIBRARY}.so ) -install ( FILES ${PROJECT_BINARY_DIR}/so-roctx-major-link DESTINATION lib RENAME ${ROCTX_LIBRARY}.so.${LIB_VERSION_MAJOR} ) -install ( FILES ${PROJECT_BINARY_DIR}/so-roctx-patch-link DESTINATION lib RENAME ${ROCTX_LIBRARY}.so.${LIB_VERSION_STRING} ) +install ( TARGETS ${ROCTX_TARGET} LIBRARY DESTINATION lib ) ## Packaging directives set ( CPACK_GENERATOR "DEB" "RPM" "TGZ" CACHE STRING "CPACK GENERATOR DEB;RPM") diff --git a/DEBIAN/postinst.in b/DEBIAN/postinst.in index 21607ffbc1..c0d1f6f271 100644 --- a/DEBIAN/postinst.in +++ b/DEBIAN/postinst.in @@ -5,7 +5,7 @@ set -e do_ldconfig() { # left-hand term originates from ENABLE_LDCONFIG = ON/OFF at package build if [ "@ENABLE_LDCONFIG@" == "ON" ]; then - echo @CPACK_PACKAGING_INSTALL_PREFIX@/roctracer/lib > /etc/ld.so.conf.d/libroctracer64.conf + echo @CPACK_PACKAGING_INSTALL_PREFIX@/lib > /etc/ld.so.conf.d/libroctracer64.conf ldconfig fi } diff --git a/RPM/post.in b/RPM/post.in index 29f3278e90..eea513f48a 100644 --- a/RPM/post.in +++ b/RPM/post.in @@ -1,5 +1,5 @@ # left-hand term originates from ENABLE_LDCONFIG = ON/OFF at package build if [ "@ENABLE_LDCONFIG@" == "ON" ]; then - echo @CPACK_PACKAGING_INSTALL_PREFIX@/roctracer/lib > /etc/ld.so.conf.d/libroctracer64.conf + echo @CPACK_PACKAGING_INSTALL_PREFIX@/lib > /etc/ld.so.conf.d/libroctracer64.conf ldconfig fi diff --git a/roctracer-backward-compat.cmake b/roctracer-backward-compat.cmake new file mode 100644 index 0000000000..ccea223e36 --- /dev/null +++ b/roctracer-backward-compat.cmake @@ -0,0 +1,128 @@ +# Copyright (c) 2022 Advanced Micro Devices, Inc. All Rights Reserved. +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +# THE SOFTWARE. + +cmake_minimum_required(VERSION 3.16.8) + +set(ROCT_BUILD_DIR ${CMAKE_CURRENT_BINARY_DIR}) +set(ROCT_WRAPPER_DIR ${ROCT_BUILD_DIR}/wrapper_dir) +set(ROCT_WRAPPER_INC_DIR ${ROCT_WRAPPER_DIR}/include) +set(ROCT_WRAPPER_LIB_DIR ${ROCT_WRAPPER_DIR}/lib) +set(ROCT_WRAPPER_TOOL_DIR ${ROCT_WRAPPER_DIR}/tool) + +#Function to generate header template file +function(create_header_template) + file(WRITE ${ROCT_WRAPPER_DIR}/header.hpp.in "/* + Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the \"Software\"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. + */\n\n#ifndef @include_guard@\n#define @include_guard@ \n\n#pragma message(\"This file is deprecated. Use file from include path /opt/rocm-ver/include/ and prefix with roctracer\")\n@include_statements@ \n\n#endif") +endfunction() + +#use header template file and generate wrapper header files +function(generate_wrapper_header) + file(MAKE_DIRECTORY ${ROCT_WRAPPER_INC_DIR}/ext) + #Get the header files from PUBLIC_HEADERS variable + foreach(header_file ${PUBLIC_HEADERS}) + #set include guard + get_filename_component(INC_GAURD_NAME ${header_file} NAME_WE) + string(TOUPPER ${INC_GAURD_NAME} INC_GAURD_NAME) + set(include_guard "${include_guard}ROCTRACER_WRAPPER_INCLUDE_${INC_GAURD_NAME}_H") + #set include statements + get_filename_component(file_name ${header_file} NAME) + get_filename_component ( header_subdir ${header_file} DIRECTORY ) + if(header_subdir) + set(include_statements "${include_statements}#include \"../../../include/${ROCTRACER_NAME}/${header_subdir}/${file_name}\"\n") + configure_file(${ROCT_WRAPPER_DIR}/header.hpp.in ${ROCT_WRAPPER_INC_DIR}/${header_subdir}/${file_name}) + else() + set(include_statements "${include_statements}#include \"../../include/${ROCTRACER_NAME}/${file_name}\"\n") + configure_file(${ROCT_WRAPPER_DIR}/header.hpp.in ${ROCT_WRAPPER_INC_DIR}/${file_name}) + endif() + unset(include_guard) + unset(include_statements) + endforeach() + + foreach(header_file ${GEN_HEADERS}) + #set include guard + get_filename_component(INC_GAURD_NAME ${header_file} NAME_WE) + string(TOUPPER ${INC_GAURD_NAME} INC_GAURD_NAME) + set(include_guard "${include_guard}ROCTRACER_WRAPPER_INCLUDE_${INC_GAURD_NAME}_H") + #set include statements + get_filename_component(file_name ${header_file} NAME) + set(include_statements "${include_statements}#include \"../../include/${ROCTRACER_NAME}/${file_name}\"\n") + configure_file(${ROCT_WRAPPER_DIR}/header.hpp.in ${ROCT_WRAPPER_INC_DIR}/${file_name}) + + unset(include_guard) + unset(include_statements) + endforeach() + +endfunction() + +#function to create symlink to libraries +function(create_library_symlink) + file(MAKE_DIRECTORY ${ROCT_WRAPPER_LIB_DIR}) + set(LIB_ROCT "${ROCTRACER_LIBRARY}.so") + set(MAJ_VERSION "${LIB_VERSION_MAJOR}") + set(SO_VERSION "${LIB_VERSION_STRING}") + set(library_files "${LIB_ROCT}" "${LIB_ROCT}.${MAJ_VERSION}" "${LIB_ROCT}.${SO_VERSION}") + + set(LIB_ROCTX64 "libroctx64.so") + set(library_files "${library_files}" "${LIB_ROCTX64}" "${LIB_ROCTX64}.${MAJ_VERSION}" "${LIB_ROCTX64}.${SO_VERSION}" ) + + foreach(file_name ${library_files}) + add_custom_target(link_${file_name} ALL + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} + COMMAND ${CMAKE_COMMAND} -E create_symlink + ../../lib/${file_name} ${ROCT_WRAPPER_LIB_DIR}/${file_name}) + endforeach() + #set softlink for roctracer/tool/libtracer_tool.so + #The libray name is changed to libroctracer_tool.so with file reorg changes + file(MAKE_DIRECTORY ${ROCT_WRAPPER_TOOL_DIR}) + set(LIB_TRACERTOOL "libtracer_tool.so") + set(LIB_ROCTRACERTOOL "libroctracer_tool.so") + add_custom_target(link_${LIB_TRACERTOOL} ALL + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} + COMMAND ${CMAKE_COMMAND} -E create_symlink + ../../lib/${ROCTRACER_NAME}/${LIB_ROCTRACERTOOL} ${ROCT_WRAPPER_TOOL_DIR}/${LIB_TRACERTOOL}) +endfunction() + +#Creater a template for header file +create_header_template() +#Use template header file and generater wrapper header files +generate_wrapper_header() +install(DIRECTORY ${ROCT_WRAPPER_INC_DIR} DESTINATION ${ROCTRACER_NAME}) +create_library_symlink() +install(DIRECTORY ${ROCT_WRAPPER_LIB_DIR} DESTINATION ${ROCTRACER_NAME}) +#install soft link to tool +install(DIRECTORY ${ROCT_WRAPPER_TOOL_DIR} DESTINATION ${ROCTRACER_NAME}) diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index a14ee2ac83..27ea1e4290 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -82,12 +82,12 @@ file( GLOB UTIL_SRC "${HSA_TEST_DIR}/util/*.cpp" ) if ( DEFINED ROCTRACER_TARGET ) ## Build test library - set ( TEST_LIB "tracer_tool" ) + set ( TEST_LIB "roctracer_tool" ) set ( TEST_LIB_SRC ${TEST_DIR}/tool/tracer_tool.cpp ${UTIL_SRC} ) add_library ( ${TEST_LIB} SHARED ${TEST_LIB_SRC} ) target_include_directories ( ${TEST_LIB} PRIVATE ${HSA_TEST_DIR} ${ROOT_DIR} ${ROOT_DIR}/inc ${HSA_RUNTIME_INC_PATH} ${ROCM_INC_PATH} ${HIP_INC_DIR} ${HSA_KMT_INC_PATH} ${GEN_INC_DIR} ) target_link_libraries ( ${TEST_LIB} ${ROCTRACER_TARGET} ${HSA_RUNTIME_LIB} c stdc++ dl pthread rt numa ) - install ( TARGETS ${TEST_LIB} LIBRARY DESTINATION ${DEST_NAME}/tool ) + install ( TARGETS ${TEST_LIB} LIBRARY DESTINATION lib/${DEST_NAME}) endif () ## Build hsaco_test.cpp referenc test From 8098ec6acff67d15f3856dccb33a81922c1574a9 Mon Sep 17 00:00:00 2001 From: Ammar ELWazir Date: Wed, 9 Mar 2022 19:16:08 -0600 Subject: [PATCH 475/691] SWDEV-296010: Fixing RPATH & CMAKE files Removing the RPATH skip & Removing the install path that was defined CMakelist Change-Id: Icf374b9548fc7b24e99a1b5ab9720ce6d775abf8 --- CMakeLists.txt | 3 --- cmake_modules/env.cmake | 2 -- 2 files changed, 5 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 37f62fc90a..fa9e9ecb5a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -28,9 +28,6 @@ cmake_minimum_required ( VERSION 3.5.0 ) ## Verbose output. set ( CMAKE_VERBOSE_MAKEFILE TRUE CACHE BOOL "Verbose Output" FORCE ) -# Install prefix -set(CMAKE_INSTALL_PREFIX "/opt/rocm" CACHE PATH "Install path prefix, prepended onto install directories") - ## Set module name and project name. set ( ROCTRACER_NAME "roctracer" ) set ( ROCTRACER_TARGET "${ROCTRACER_NAME}64" ) diff --git a/cmake_modules/env.cmake b/cmake_modules/env.cmake index 73b76ccc62..41c60dc930 100644 --- a/cmake_modules/env.cmake +++ b/cmake_modules/env.cmake @@ -53,8 +53,6 @@ set ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC" ) add_link_options("-Bdynamic -z,noexecstck") -set ( CMAKE_SKIP_BUILD_RPATH TRUE ) - ## CLANG options if ( "$ENV{CXX}" STREQUAL "/usr/bin/clang++" ) set ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -ferror-limit=1000000" ) From aee8102fa6958901c126ce55b3dd9cbba27a77a3 Mon Sep 17 00:00:00 2001 From: Saurabh Verma Date: Wed, 9 Mar 2022 16:25:18 -0600 Subject: [PATCH 476/691] SWDEV-295871 : [MSRCHA-130] Unable to filter API using .txt or .xml - Part-2 of MSRCHA-128. Fixed constructor ordering issue of global variables hip_api_vec and hsa_api_vec by wrapping themin static getter functions Change-Id: I2dae5e196118fcab696b2365b24281f05d9d0f88 --- test/tool/tracer_tool.cpp | 36 +++++++++++++++++++++++++----------- 1 file changed, 25 insertions(+), 11 deletions(-) diff --git a/test/tool/tracer_tool.cpp b/test/tool/tracer_tool.cpp index d111d60d53..c3e5f2ad4b 100644 --- a/test/tool/tracer_tool.cpp +++ b/test/tool/tracer_tool.cpp @@ -107,9 +107,23 @@ bool trace_hsa_activity = false; bool trace_hip_api = false; bool trace_hip_activity = false; bool trace_pcs = false; -// API trace vector -std::vector hsa_api_vec; -std::vector hip_api_vec; + +// The below getter functions have been written intentionally to fix an issue +// with constructor ordering. Previously when hip_api_vec and hsa_api_vec +// were left as simple global variables, whenever the tool_load() function +// was called from "extern "C" CONSTRUCTOR_API void constructor()" of libtracer_tool.so +// the ordering of std::vector constructor becomes undefined. This meant that you could assign +// hip_api_vec and hsa_api_vec with a value in tool_load() and once the function returns, the std::vector +// default constructor would execute later, causing the values to be lost. + +static std::vector &hsa_api_vec() { + static std::vector hsa_api_vec; + return hsa_api_vec; +} +static std::vector &hip_api_vec() { + static std::vector hip_api_vec; + return hip_api_vec; +} LOADER_INSTANTIATE(); TRACE_BUFFER_INSTANTIATE(); @@ -874,7 +888,7 @@ void tool_load() { if (name == "HSA") { found = true; trace_hsa_api = true; - hsa_api_vec = api_vec; + hsa_api_vec() = api_vec; } if (name == "GPU") { found = true; @@ -884,7 +898,7 @@ void tool_load() { found = true; trace_hip_api = true; trace_hip_activity = true; - hip_api_vec = api_vec; + hip_api_vec() = api_vec; } } @@ -982,10 +996,10 @@ extern "C" PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, roctracer_set_properties(ACTIVITY_DOMAIN_HSA_API, (void*)table); fprintf(stdout, " HSA-trace("); fflush(stdout); - if (hsa_api_vec.size() != 0) { - for (unsigned i = 0; i < hsa_api_vec.size(); ++i) { + if (hsa_api_vec().size() != 0) { + for (unsigned i = 0; i < hsa_api_vec().size(); ++i) { uint32_t cid = HSA_API_ID_NUMBER; - const char* api = hsa_api_vec[i].c_str(); + const char* api = hsa_api_vec()[i].c_str(); ROCTRACER_CALL(roctracer_op_code(ACTIVITY_DOMAIN_HSA_API, api, &cid, NULL)); ROCTRACER_CALL(roctracer_enable_op_callback(ACTIVITY_DOMAIN_HSA_API, cid, hsa_api_callback, NULL)); printf(" %s", api); @@ -1030,10 +1044,10 @@ extern "C" PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, // Enable tracing if (trace_hip_api) { hip_api_file_handle = open_output_file(output_prefix, "hip_api_trace.txt"); - if (hip_api_vec.size() != 0) { - for (unsigned i = 0; i < hip_api_vec.size(); ++i) { + if (hip_api_vec().size() != 0) { + for (unsigned i = 0; i < hip_api_vec().size(); ++i) { uint32_t cid = HIP_API_ID_NONE; - const char* api = hip_api_vec[i].c_str(); + const char* api = hip_api_vec()[i].c_str(); ROCTRACER_CALL(roctracer_op_code(ACTIVITY_DOMAIN_HIP_API, api, &cid, NULL)); ROCTRACER_CALL(roctracer_enable_op_callback(ACTIVITY_DOMAIN_HIP_API, cid, hip_api_callback, NULL)); printf(" %s", api); From 37ed31087a4339cbdb2492ea6faba57d20ff9f79 Mon Sep 17 00:00:00 2001 From: Saurabh Verma Date: Thu, 17 Mar 2022 17:13:41 -0500 Subject: [PATCH 477/691] SWDEV-295871: [MSRCHA-130] Unable to filter API using .txt or .xml -Part-2 of MSRCHA-128. Made xml input more robust to accept both spaces and commas in xml array. Change-Id: I3900fdf91cd0b893fadd9dfc958030effc5663db --- test/tool/tracer_tool.cpp | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/test/tool/tracer_tool.cpp b/test/tool/tracer_tool.cpp index c3e5f2ad4b..0b8f4852de 100644 --- a/test/tool/tracer_tool.cpp +++ b/test/tool/tracer_tool.cpp @@ -708,14 +708,19 @@ int get_xml_array(const xml::Xml::level_t* node, const std::string& field, const size_t pos1 = 0; const size_t string_len = array_string.length(); while (pos1 < string_len) { - const size_t pos2 = array_string.find(delim, pos1); + // set pos2 such that it also handles case of multiple delimiter options. + // For example- "hipLaunchKernel, hipExtModuleLaunchKernel, hipMemsetAsync" + // in this example delimiters are ' ' and also ',' + const size_t pos2 = array_string.find_first_of(delim, pos1); const bool found = (pos2 != std::string::npos); const size_t token_len = (pos2 != std::string::npos) ? pos2 - pos1 : string_len - pos1; const std::string token = array_string.substr(pos1, token_len); const std::string norm_str = normalize_token(token, found, "get_xml_array"); if (norm_str.length() != 0) vec->push_back(norm_str); if (!found) break; - pos1 = pos2 + 1; + // update pos2 such that it represents the first non-delimiter character + // in case multiple delimiters are specified in variable 'delim' + pos1 = array_string.find_first_not_of(delim, pos2); ++parse_iter; } } @@ -877,7 +882,7 @@ void tool_load() { std::vector api_vec; for (const auto* node : entry->nodes) { if (node->tag != "parameters") fatal("ROCTracer: trace node is not supported '" + name + ":" + node->tag + "'"); - get_xml_array(node, "api", ",", &api_vec); + get_xml_array(node, "api", ", ", &api_vec); // delimiter options given as both spaces and commas (' ' and ',') break; } From 43a36f8dd55f2f18dca5bf55249cb5877704a730 Mon Sep 17 00:00:00 2001 From: Ammar ELWazir Date: Fri, 18 Mar 2022 01:26:39 +0000 Subject: [PATCH 478/691] SWDEV-328300: supporting centos-9 for roctracer Changing pthread_yield() to sched_yield() as pthread_yield() is deprecated in CentOS 9 Change-Id: I2961b61374e36995d0835f0e65b26c35f5eb8715 --- src/core/memory_pool.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/core/memory_pool.h b/src/core/memory_pool.h index 5b036d0fd4..75b66b3950 100644 --- a/src/core/memory_pool.h +++ b/src/core/memory_pool.h @@ -152,7 +152,7 @@ class MemoryPool { } static void sync_reader(const consumer_arg_t* arg) { - while(arg->valid.load() == true) PTHREAD_CALL(pthread_yield()); + while(arg->valid.load() == true) PTHREAD_CALL(sched_yield()); } static void* reader_fun(void* consumer_arg) { From bfea525ff38aed3448653a5d6bbfaae73353287b Mon Sep 17 00:00:00 2001 From: Saravanan Solaiyappan Date: Mon, 21 Mar 2022 13:37:35 -0400 Subject: [PATCH 479/691] roctracer: Consider apt upgrade operation check in package scripts. Include the upgrade operation check in the prerm script in package. Signed-off-by: Saravanan Solaiyappan Change-Id: I1504ce96a27d21d9c3d9bafc0dea8055398adc99 --- DEBIAN/prerm.in | 2 +- inc/ext/DEBIAN/prerm | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/DEBIAN/prerm.in b/DEBIAN/prerm.in index f19ee54882..9c76ec0e65 100644 --- a/DEBIAN/prerm.in +++ b/DEBIAN/prerm.in @@ -11,7 +11,7 @@ rm_ldconfig() { } case "$1" in - ( remove ) + ( remove | upgrade ) rm_ldconfig ;; ( purge ) diff --git a/inc/ext/DEBIAN/prerm b/inc/ext/DEBIAN/prerm index 3dbce5a8d1..d0b2598c35 100644 --- a/inc/ext/DEBIAN/prerm +++ b/inc/ext/DEBIAN/prerm @@ -7,7 +7,7 @@ rm_pkgconfig() { } case "$1" in - remove) + remove | upgrade ) rm_pkgconfig ;; purge) From 7ee4f87b73c13cf8404ac11c7628661a01ef31e6 Mon Sep 17 00:00:00 2001 From: Ammar ELWazir Date: Tue, 29 Mar 2022 22:27:25 +0000 Subject: [PATCH 480/691] SWDEV-307394: Fixing Download HSA-Class Issue Exchanging the git clone of the hsa-class to a local downloaded version pushed to the roctracer repo Change-Id: Id45a38b2d355102c2e0dee1e4bfde50398369047 --- .gitignore | 1 - test/CMakeLists.txt | 3 - test/hsa/LICENSE | 20 + test/hsa/README.md | 4 + test/hsa/script/build_kernel.sh | 80 ++ test/hsa/src/hsa_rsrc_factory.cpp | 761 ++++++++++++++++++ test/hsa/src/hsa_rsrc_factory.h | 516 ++++++++++++ test/hsa/test/CMakeLists.txt | 64 ++ test/hsa/test/app/test.cpp | 86 ++ test/hsa/test/ctrl/run_kernel.h | 90 +++ test/hsa/test/ctrl/test_aql.h | 77 ++ test/hsa/test/ctrl/test_hsa.cpp | 279 +++++++ test/hsa/test/ctrl/test_hsa.h | 129 +++ test/hsa/test/ctrl/test_kernel.h | 138 ++++ test/hsa/test/dummy_kernel/dummy_kernel.cl | 28 + test/hsa/test/dummy_kernel/dummy_kernel.h | 71 ++ test/hsa/test/run.sh | 45 ++ .../simple_convolution/simple_convolution.cl | 76 ++ .../simple_convolution/simple_convolution.cpp | 388 +++++++++ .../simple_convolution/simple_convolution.h | 94 +++ test/hsa/test/util/evt_stats.h | 98 +++ test/hsa/test/util/helper_funcs.h | 86 ++ test/hsa/test/util/hsa_rsrc_factory.cpp | 1 + test/hsa/test/util/hsa_rsrc_factory.h | 1 + test/hsa/test/util/perf_timer.cpp | 179 ++++ test/hsa/test/util/perf_timer.h | 83 ++ test/hsa/test/util/test_assert.h | 35 + test/hsa/test/util/xml.h | 457 +++++++++++ 28 files changed, 3886 insertions(+), 4 deletions(-) create mode 100644 test/hsa/LICENSE create mode 100644 test/hsa/README.md create mode 100755 test/hsa/script/build_kernel.sh create mode 100644 test/hsa/src/hsa_rsrc_factory.cpp create mode 100644 test/hsa/src/hsa_rsrc_factory.h create mode 100644 test/hsa/test/CMakeLists.txt create mode 100644 test/hsa/test/app/test.cpp create mode 100644 test/hsa/test/ctrl/run_kernel.h create mode 100644 test/hsa/test/ctrl/test_aql.h create mode 100644 test/hsa/test/ctrl/test_hsa.cpp create mode 100644 test/hsa/test/ctrl/test_hsa.h create mode 100644 test/hsa/test/ctrl/test_kernel.h create mode 100644 test/hsa/test/dummy_kernel/dummy_kernel.cl create mode 100644 test/hsa/test/dummy_kernel/dummy_kernel.h create mode 100755 test/hsa/test/run.sh create mode 100644 test/hsa/test/simple_convolution/simple_convolution.cl create mode 100644 test/hsa/test/simple_convolution/simple_convolution.cpp create mode 100644 test/hsa/test/simple_convolution/simple_convolution.h create mode 100644 test/hsa/test/util/evt_stats.h create mode 100644 test/hsa/test/util/helper_funcs.h create mode 120000 test/hsa/test/util/hsa_rsrc_factory.cpp create mode 120000 test/hsa/test/util/hsa_rsrc_factory.h create mode 100644 test/hsa/test/util/perf_timer.cpp create mode 100644 test/hsa/test/util/perf_timer.h create mode 100644 test/hsa/test/util/test_assert.h create mode 100644 test/hsa/test/util/xml.h diff --git a/.gitignore b/.gitignore index 331d63fdd6..ef6bb1deef 100644 --- a/.gitignore +++ b/.gitignore @@ -5,6 +5,5 @@ *.swp *.Po build -test/hsa test/MatrixTranspose/MatrixTranspose test/MatrixTranspose_test/MatrixTranspose diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 27ea1e4290..a6ca93c869 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -44,7 +44,6 @@ endif () ## Path to HSA test set ( HSA_TEST_DIR "${TEST_DIR}/hsa/test" ) -set ( HSA_REV "f8b3870" ) ## test run script set ( RUN_SCRIPT "${TEST_DIR}/run.sh" ) @@ -70,8 +69,6 @@ add_custom_target( mytest ) ## Build HSA test -execute_process ( COMMAND sh -xc "if [ ! -e ${TEST_DIR}/hsa ] ; then git clone https://github.com/ROCmSoftwarePlatform/hsa-class.git ${TEST_DIR}/hsa; fi" ) -execute_process ( COMMAND sh -xc "if [ -e ${TEST_DIR}/hsa ] ; then cd ${TEST_DIR}/hsa && git fetch origin && git checkout ${HSA_REV}; fi" ) set ( TMP ${TEST_DIR} ) set ( TEST_DIR ${HSA_TEST_DIR} ) add_subdirectory ( ${HSA_TEST_DIR} ${PROJECT_BINARY_DIR}/test/hsa ) diff --git a/test/hsa/LICENSE b/test/hsa/LICENSE new file mode 100644 index 0000000000..597d1b16a2 --- /dev/null +++ b/test/hsa/LICENSE @@ -0,0 +1,20 @@ +Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. +[MITx11 license] + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/test/hsa/README.md b/test/hsa/README.md new file mode 100644 index 0000000000..20e0915744 --- /dev/null +++ b/test/hsa/README.md @@ -0,0 +1,4 @@ +# HSA-class +``` +HSA high level C++ API +``` diff --git a/test/hsa/script/build_kernel.sh b/test/hsa/script/build_kernel.sh new file mode 100755 index 0000000000..2007e7abaa --- /dev/null +++ b/test/hsa/script/build_kernel.sh @@ -0,0 +1,80 @@ +#!/bin/sh -x +SO_EXT="hsaco" + +TEST_NAME=$1 +DST_DIR=$2 +ROCM_DIR=$3 +TGT_LIST=$4 + +if [ -z "$TEST_NAME" ] ; then + echo "Usage: $0 " + echo " Will look for .cl and will build .$SO_EXT dynamic code object library" + exit 1 +fi +OBJ_NAME=$(echo "_$(basename $TEST_NAME)" | sed -e 's/_./\U&\E/g' -e 's/_//g') + +if [ -z "$DST_DIR" ] ; then + DST_DIR=$(dirname TEST_NAME) +fi + +if [ -z "$ROCM_DIR" ] ; then + ROCM_DIR=/opt/rocm +fi + +if [ -z "$TGT_LIST" ] ; then + TGT_LIST=`$ROCM_DIR/bin/rocminfo | grep "amdgcn-amd-amdhsa--" | head -n 1 | sed -n "s/^.*amdgcn-amd-amdhsa--\(\w*\).*$/\1/p"` +fi + +if [ -z "$TGT_LIST" ] ; then + echo "Error: GPU targets not found" + exit 1 +fi + +OCL_VER="2.0" + +if [ -e $ROCM_DIR/llvm ] ; then + LLVM_DIR=$ROCM_DIR/llvm + LIB_DIR=$ROCM_DIR/lib +else + LLVM_DIR=$ROCM_DIR/hcc + LIB_DIR=$LLVM_DIR/lib +fi + +# Determine whether using new or old device-libs layout +if [ -e $LIB_DIR/bitcode/opencl.amdgcn.bc ]; then + BC_DIR=$LIB_DIR/bitcode +elif [ -e $LIB_DIR/opencl.amdgcn.bc ]; then + BC_DIR=$LIB_DIR +elif [ -e $ROCM_DIR/amdgcn/bitcode/opencl.bc ]; then + BC_DIR=$ROCM_DIR/amdgcn/bitcode +else + echo "Error: Cannot find amdgcn bitcode directory" + exit 1 +fi + +CLANG_ROOT=$LLVM_DIR/lib/clang +CLANG_DIR=`ls -d $CLANG_ROOT/* | head -n 1` +if [ "$CLANG_DIR" = "" ] ; then + echo "Error: LLVM clang library was not found" + exit 1 +fi + +BIN_DIR=$LLVM_DIR/bin +INC_DIR=$CLANG_DIR/include +if [ -e $BC_DIR/opencl.amdgcn.bc ]; then + BITCODE_OPTS="-nogpulib \ + -Xclang -mlink-bitcode-file -Xclang $BC_DIR/opencl.amdgcn.bc \ + -Xclang -mlink-bitcode-file -Xclang $BC_DIR/ockl.amdgcn.bc \ + -Xclang -mlink-bitcode-file -Xclang $BC_DIR/ocml.amdgcn.bc" +else + BITCODE_OPTS="--hip-device-lib-path=$BC_DIR" +fi + +for GFXIP in $TGT_LIST ; do + OBJ_PREF=$GFXIP + OBJ_FILE="${OBJ_PREF}_${OBJ_NAME}.$SO_EXT" + $BIN_DIR/clang -cl-std=CL$OCL_VER -include $INC_DIR/opencl-c.h $BITCODE_OPTS -target amdgcn-amd-amdhsa -mcpu=$GFXIP $TEST_NAME.cl -o $DST_DIR/$OBJ_FILE + echo "'$OBJ_FILE' generated" +done + +exit 0 diff --git a/test/hsa/src/hsa_rsrc_factory.cpp b/test/hsa/src/hsa_rsrc_factory.cpp new file mode 100644 index 0000000000..d2d8e79e68 --- /dev/null +++ b/test/hsa/src/hsa_rsrc_factory.cpp @@ -0,0 +1,761 @@ +/********************************************************************** +Copyright ©2013 Advanced Micro Devices, Inc. All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted +provided that the following conditions are met: + +<95> Redistributions of source code must retain the above copyright notice, this list of +conditions and the following disclaimer. +<95> Redistributions in binary form must reproduce the above copyright notice, this list of +conditions and the following disclaimer in the documentation and/or + other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR +IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT +SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY + DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS + OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +********************************************************************/ + +#include "util/hsa_rsrc_factory.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include + +// Callback function to get available in the system agents +hsa_status_t HsaRsrcFactory::GetHsaAgentsCallback(hsa_agent_t agent, void* data) { + hsa_status_t status = HSA_STATUS_ERROR; + HsaRsrcFactory* hsa_rsrc = reinterpret_cast(data); + const AgentInfo* agent_info = hsa_rsrc->AddAgentInfo(agent); + if (agent_info != NULL) status = HSA_STATUS_SUCCESS; + return status; +} + +// This function checks to see if the provided +// pool has the HSA_AMD_SEGMENT_GLOBAL property. If the kern_arg flag is true, +// the function adds an additional requirement that the pool have the +// HSA_AMD_MEMORY_POOL_GLOBAL_FLAG_KERNARG_INIT property. If kern_arg is false, +// pools must NOT have this property. +// Upon finding a pool that meets these conditions, HSA_STATUS_INFO_BREAK is +// returned. HSA_STATUS_SUCCESS is returned if no errors were encountered, but +// no pool was found meeting the requirements. If an error is encountered, we +// return that error. +static hsa_status_t FindGlobalPool(hsa_amd_memory_pool_t pool, void* data, bool kern_arg) { + hsa_status_t err; + hsa_amd_segment_t segment; + uint32_t flag; + + if (nullptr == data) { + return HSA_STATUS_ERROR_INVALID_ARGUMENT; + } + + err = HsaRsrcFactory::HsaApi()->hsa_amd_memory_pool_get_info(pool, HSA_AMD_MEMORY_POOL_INFO_SEGMENT, &segment); + CHECK_STATUS("hsa_amd_memory_pool_get_info", err); + if (HSA_AMD_SEGMENT_GLOBAL != segment) { + return HSA_STATUS_SUCCESS; + } + + err = HsaRsrcFactory::HsaApi()->hsa_amd_memory_pool_get_info(pool, HSA_AMD_MEMORY_POOL_INFO_GLOBAL_FLAGS, &flag); + CHECK_STATUS("hsa_amd_memory_pool_get_info", err); + + uint32_t karg_st = flag & HSA_AMD_MEMORY_POOL_GLOBAL_FLAG_KERNARG_INIT; + + if ((karg_st == 0 && kern_arg) || (karg_st != 0 && !kern_arg)) { + return HSA_STATUS_SUCCESS; + } + + *(reinterpret_cast(data)) = pool; + return HSA_STATUS_INFO_BREAK; +} + +// This is the call-back function for hsa_amd_agent_iterate_memory_pools() that +// finds a pool with the properties of HSA_AMD_SEGMENT_GLOBAL and that is NOT +// HSA_AMD_MEMORY_POOL_GLOBAL_FLAG_KERNARG_INIT +hsa_status_t FindStandardPool(hsa_amd_memory_pool_t pool, void* data) { + return FindGlobalPool(pool, data, false); +} + +// This is the call-back function for hsa_amd_agent_iterate_memory_pools() that +// finds a pool with the properties of HSA_AMD_SEGMENT_GLOBAL and that IS +// HSA_AMD_MEMORY_POOL_GLOBAL_FLAG_KERNARG_INIT +hsa_status_t FindKernArgPool(hsa_amd_memory_pool_t pool, void* data) { + return FindGlobalPool(pool, data, true); +} + +// Constructor of the class +HsaRsrcFactory::HsaRsrcFactory(bool initialize_hsa) : initialize_hsa_(initialize_hsa) { + hsa_status_t status; + + cpu_pool_ = NULL; + kern_arg_pool_ = NULL; + + InitHsaApiTable(NULL); + + // Initialize the Hsa Runtime + if (initialize_hsa_) { + status = hsa_api_.hsa_init(); + CHECK_STATUS("Error in hsa_init", status); + } + + // Discover the set of Gpu devices available on the platform + status = hsa_api_.hsa_iterate_agents(GetHsaAgentsCallback, this); + CHECK_STATUS("Error Calling hsa_iterate_agents", status); + if (cpu_pool_ == NULL) CHECK_STATUS("CPU memory pool is not found", HSA_STATUS_ERROR); + if (kern_arg_pool_ == NULL) CHECK_STATUS("Kern-arg memory pool is not found", HSA_STATUS_ERROR); + + // Get AqlProfile API table + aqlprofile_api_ = {0}; +#ifdef ROCP_LD_AQLPROFILE + status = LoadAqlProfileLib(&aqlprofile_api_); +#else + status = hsa_api_.hsa_system_get_major_extension_table(HSA_EXTENSION_AMD_AQLPROFILE, hsa_ven_amd_aqlprofile_VERSION_MAJOR, sizeof(aqlprofile_api_), &aqlprofile_api_); +#endif + CHECK_STATUS("aqlprofile API table load failed", status); + + // Get Loader API table + loader_api_ = {0}; + status = hsa_api_.hsa_system_get_major_extension_table(HSA_EXTENSION_AMD_LOADER, 1, sizeof(loader_api_), &loader_api_); + CHECK_STATUS("loader API table query failed", status); + + // Instantiate HSA timer + timer_ = new HsaTimer(&hsa_api_); + CHECK_STATUS("HSA timer allocation failed", + (timer_ == NULL) ? HSA_STATUS_ERROR : HSA_STATUS_SUCCESS); + + // Time correlation + const uint32_t corr_iters = 1000; + CorrelateTime(HsaTimer::TIME_ID_CLOCK_REALTIME, corr_iters); + CorrelateTime(HsaTimer::TIME_ID_CLOCK_MONOTONIC, corr_iters); + + // System timeout + timeout_ = (timeout_ns_ == HsaTimer::TIMESTAMP_MAX) ? timeout_ns_ : timer_->ns_to_sysclock(timeout_ns_); +} + +// Destructor of the class +HsaRsrcFactory::~HsaRsrcFactory() { + delete timer_; + for (auto p : cpu_list_) delete p; + for (auto p : gpu_list_) delete p; + if (initialize_hsa_) { + hsa_status_t status = hsa_api_.hsa_shut_down(); + CHECK_STATUS("Error in hsa_shut_down", status); + } +} + +void HsaRsrcFactory::InitHsaApiTable(HsaApiTable* table) { + std::lock_guard lck(mutex_); + + if (hsa_api_.hsa_init == NULL) { + if (table != NULL) { + hsa_api_.hsa_init = table->core_->hsa_init_fn; + hsa_api_.hsa_shut_down = table->core_->hsa_shut_down_fn; + hsa_api_.hsa_agent_get_info = table->core_->hsa_agent_get_info_fn; + hsa_api_.hsa_iterate_agents = table->core_->hsa_iterate_agents_fn; + + hsa_api_.hsa_queue_create = table->core_->hsa_queue_create_fn; + hsa_api_.hsa_queue_destroy = table->core_->hsa_queue_destroy_fn; + hsa_api_.hsa_queue_load_write_index_relaxed = table->core_->hsa_queue_load_write_index_relaxed_fn; + hsa_api_.hsa_queue_store_write_index_relaxed = table->core_->hsa_queue_store_write_index_relaxed_fn; + hsa_api_.hsa_queue_load_read_index_relaxed = table->core_->hsa_queue_load_read_index_relaxed_fn; + + hsa_api_.hsa_signal_create = table->core_->hsa_signal_create_fn; + hsa_api_.hsa_signal_destroy = table->core_->hsa_signal_destroy_fn; + hsa_api_.hsa_signal_load_relaxed = table->core_->hsa_signal_load_relaxed_fn; + hsa_api_.hsa_signal_store_relaxed = table->core_->hsa_signal_store_relaxed_fn; + hsa_api_.hsa_signal_wait_scacquire = table->core_->hsa_signal_wait_scacquire_fn; + hsa_api_.hsa_signal_store_screlease = table->core_->hsa_signal_store_screlease_fn; + + hsa_api_.hsa_code_object_reader_create_from_file = table->core_->hsa_code_object_reader_create_from_file_fn; + hsa_api_.hsa_executable_create_alt = table->core_->hsa_executable_create_alt_fn; + hsa_api_.hsa_executable_load_agent_code_object = table->core_->hsa_executable_load_agent_code_object_fn; + hsa_api_.hsa_executable_freeze = table->core_->hsa_executable_freeze_fn; + hsa_api_.hsa_executable_get_symbol = table->core_->hsa_executable_get_symbol_fn; + hsa_api_.hsa_executable_symbol_get_info = table->core_->hsa_executable_symbol_get_info_fn; + hsa_api_.hsa_executable_iterate_symbols = table->core_->hsa_executable_iterate_symbols_fn; + + hsa_api_.hsa_system_get_info = table->core_->hsa_system_get_info_fn; + hsa_api_.hsa_system_get_major_extension_table = table->core_->hsa_system_get_major_extension_table_fn; + + hsa_api_.hsa_amd_agent_iterate_memory_pools = table->amd_ext_->hsa_amd_agent_iterate_memory_pools_fn; + hsa_api_.hsa_amd_memory_pool_get_info = table->amd_ext_->hsa_amd_memory_pool_get_info_fn; + hsa_api_.hsa_amd_memory_pool_allocate = table->amd_ext_->hsa_amd_memory_pool_allocate_fn; + hsa_api_.hsa_amd_agents_allow_access = table->amd_ext_->hsa_amd_agents_allow_access_fn; + hsa_api_.hsa_amd_memory_async_copy = table->amd_ext_->hsa_amd_memory_async_copy_fn; + + hsa_api_.hsa_amd_signal_async_handler = table->amd_ext_->hsa_amd_signal_async_handler_fn; + hsa_api_.hsa_amd_profiling_set_profiler_enabled = table->amd_ext_->hsa_amd_profiling_set_profiler_enabled_fn; + hsa_api_.hsa_amd_profiling_get_async_copy_time = table->amd_ext_->hsa_amd_profiling_get_async_copy_time_fn; + hsa_api_.hsa_amd_profiling_get_dispatch_time = table->amd_ext_->hsa_amd_profiling_get_dispatch_time_fn; + } else { + hsa_api_.hsa_init = hsa_init; + hsa_api_.hsa_shut_down = hsa_shut_down; + hsa_api_.hsa_agent_get_info = hsa_agent_get_info; + hsa_api_.hsa_iterate_agents = hsa_iterate_agents; + + hsa_api_.hsa_queue_create = hsa_queue_create; + hsa_api_.hsa_queue_destroy = hsa_queue_destroy; + hsa_api_.hsa_queue_load_write_index_relaxed = hsa_queue_load_write_index_relaxed; + hsa_api_.hsa_queue_store_write_index_relaxed = hsa_queue_store_write_index_relaxed; + hsa_api_.hsa_queue_load_read_index_relaxed = hsa_queue_load_read_index_relaxed; + + hsa_api_.hsa_signal_create = hsa_signal_create; + hsa_api_.hsa_signal_destroy = hsa_signal_destroy; + hsa_api_.hsa_signal_load_relaxed = hsa_signal_load_relaxed; + hsa_api_.hsa_signal_store_relaxed = hsa_signal_store_relaxed; + hsa_api_.hsa_signal_wait_scacquire = hsa_signal_wait_scacquire; + hsa_api_.hsa_signal_store_screlease = hsa_signal_store_screlease; + + hsa_api_.hsa_code_object_reader_create_from_file = hsa_code_object_reader_create_from_file; + hsa_api_.hsa_executable_create_alt = hsa_executable_create_alt; + hsa_api_.hsa_executable_load_agent_code_object = hsa_executable_load_agent_code_object; + hsa_api_.hsa_executable_freeze = hsa_executable_freeze; + hsa_api_.hsa_executable_get_symbol = hsa_executable_get_symbol; + hsa_api_.hsa_executable_symbol_get_info = hsa_executable_symbol_get_info; + hsa_api_.hsa_executable_iterate_symbols = hsa_executable_iterate_symbols; + + hsa_api_.hsa_system_get_info = hsa_system_get_info; + hsa_api_.hsa_system_get_major_extension_table = hsa_system_get_major_extension_table; + + hsa_api_.hsa_amd_agent_iterate_memory_pools = hsa_amd_agent_iterate_memory_pools; + hsa_api_.hsa_amd_memory_pool_get_info = hsa_amd_memory_pool_get_info; + hsa_api_.hsa_amd_memory_pool_allocate = hsa_amd_memory_pool_allocate; + hsa_api_.hsa_amd_agents_allow_access = hsa_amd_agents_allow_access; + hsa_api_.hsa_amd_memory_async_copy = hsa_amd_memory_async_copy; + + hsa_api_.hsa_amd_signal_async_handler = hsa_amd_signal_async_handler; + hsa_api_.hsa_amd_profiling_set_profiler_enabled = hsa_amd_profiling_set_profiler_enabled; + hsa_api_.hsa_amd_profiling_get_async_copy_time = hsa_amd_profiling_get_async_copy_time; + hsa_api_.hsa_amd_profiling_get_dispatch_time = hsa_amd_profiling_get_dispatch_time; + } + } +} + +hsa_status_t HsaRsrcFactory::LoadAqlProfileLib(aqlprofile_pfn_t* api) { + void* handle = dlopen(kAqlProfileLib, RTLD_NOW); + if (handle == NULL) { + fprintf(stderr, "Loading '%s' failed, %s\n", kAqlProfileLib, dlerror()); + return HSA_STATUS_ERROR; + } + dlerror(); /* Clear any existing error */ + + api->hsa_ven_amd_aqlprofile_error_string = + (decltype(::hsa_ven_amd_aqlprofile_error_string)*)dlsym( + handle, "hsa_ven_amd_aqlprofile_error_string"); + api->hsa_ven_amd_aqlprofile_validate_event = + (decltype(::hsa_ven_amd_aqlprofile_validate_event)*)dlsym( + handle, "hsa_ven_amd_aqlprofile_validate_event"); + api->hsa_ven_amd_aqlprofile_start = + (decltype(::hsa_ven_amd_aqlprofile_start)*)dlsym(handle, "hsa_ven_amd_aqlprofile_start"); + api->hsa_ven_amd_aqlprofile_stop = + (decltype(::hsa_ven_amd_aqlprofile_stop)*)dlsym(handle, "hsa_ven_amd_aqlprofile_stop"); +#ifdef AQLPROF_NEW_API + api->hsa_ven_amd_aqlprofile_read = + (decltype(::hsa_ven_amd_aqlprofile_read)*)dlsym(handle, "hsa_ven_amd_aqlprofile_read"); +#endif + api->hsa_ven_amd_aqlprofile_legacy_get_pm4 = + (decltype(::hsa_ven_amd_aqlprofile_legacy_get_pm4)*)dlsym( + handle, "hsa_ven_amd_aqlprofile_legacy_get_pm4"); + api->hsa_ven_amd_aqlprofile_get_info = (decltype(::hsa_ven_amd_aqlprofile_get_info)*)dlsym( + handle, "hsa_ven_amd_aqlprofile_get_info"); + api->hsa_ven_amd_aqlprofile_iterate_data = + (decltype(::hsa_ven_amd_aqlprofile_iterate_data)*)dlsym( + handle, "hsa_ven_amd_aqlprofile_iterate_data"); + + return HSA_STATUS_SUCCESS; +} + +// Add system agent info +const AgentInfo* HsaRsrcFactory::AddAgentInfo(const hsa_agent_t agent) { + // Determine if device is a Gpu agent + hsa_status_t status; + AgentInfo* agent_info = NULL; + + hsa_device_type_t type; + status = hsa_api_.hsa_agent_get_info(agent, HSA_AGENT_INFO_DEVICE, &type); + CHECK_STATUS("Error Calling hsa_agent_get_info", status); + + if (type == HSA_DEVICE_TYPE_CPU) { + agent_info = new AgentInfo{}; + agent_info->dev_id = agent; + agent_info->dev_type = HSA_DEVICE_TYPE_CPU; + agent_info->dev_index = cpu_list_.size(); + + status = hsa_api_.hsa_amd_agent_iterate_memory_pools(agent, FindStandardPool, &agent_info->cpu_pool); + if ((status == HSA_STATUS_INFO_BREAK) && (cpu_pool_ == NULL)) cpu_pool_ = &agent_info->cpu_pool; + status = hsa_api_.hsa_amd_agent_iterate_memory_pools(agent, FindKernArgPool, &agent_info->kern_arg_pool); + if ((status == HSA_STATUS_INFO_BREAK) && (kern_arg_pool_ == NULL)) kern_arg_pool_ = &agent_info->kern_arg_pool; + agent_info->gpu_pool = {}; + + cpu_list_.push_back(agent_info); + cpu_agents_.push_back(agent); + } + + if (type == HSA_DEVICE_TYPE_GPU) { + agent_info = new AgentInfo{}; + agent_info->dev_id = agent; + agent_info->dev_type = HSA_DEVICE_TYPE_GPU; + hsa_api_.hsa_agent_get_info(agent, HSA_AGENT_INFO_NAME, agent_info->name); + strncpy(agent_info->gfxip, agent_info->name, 4); + agent_info->gfxip[4] = '\0'; + hsa_api_.hsa_agent_get_info(agent, HSA_AGENT_INFO_WAVEFRONT_SIZE, &agent_info->max_wave_size); + hsa_api_.hsa_agent_get_info(agent, HSA_AGENT_INFO_QUEUE_MAX_SIZE, &agent_info->max_queue_size); + hsa_api_.hsa_agent_get_info(agent, HSA_AGENT_INFO_PROFILE, &agent_info->profile); + agent_info->is_apu = (agent_info->profile == HSA_PROFILE_FULL) ? true : false; + hsa_api_.hsa_agent_get_info(agent, static_cast(HSA_AMD_AGENT_INFO_COMPUTE_UNIT_COUNT), + &agent_info->cu_num); + hsa_api_.hsa_agent_get_info(agent, static_cast(HSA_AMD_AGENT_INFO_MAX_WAVES_PER_CU), + &agent_info->waves_per_cu); + hsa_api_.hsa_agent_get_info(agent, static_cast(HSA_AMD_AGENT_INFO_NUM_SIMDS_PER_CU), + &agent_info->simds_per_cu); + hsa_api_.hsa_agent_get_info(agent, static_cast(HSA_AMD_AGENT_INFO_NUM_SHADER_ENGINES), + &agent_info->se_num); + hsa_api_.hsa_agent_get_info(agent, + static_cast(HSA_AMD_AGENT_INFO_NUM_SHADER_ARRAYS_PER_SE), + &agent_info->shader_arrays_per_se); + + agent_info->cpu_pool = {}; + agent_info->kern_arg_pool = {}; + status = hsa_api_.hsa_amd_agent_iterate_memory_pools(agent, FindStandardPool, &agent_info->gpu_pool); + CHECK_ITER_STATUS("hsa_amd_agent_iterate_memory_pools(gpu pool)", status); + + // GFX8 and GFX9 SGPR/VGPR block sizes + agent_info->sgpr_block_dflt = (strcmp(agent_info->gfxip, "gfx8") == 0) ? 1 : 2; + agent_info->sgpr_block_size = 8; + agent_info->vgpr_block_size = 4; + + // Set GPU index + agent_info->dev_index = gpu_list_.size(); + gpu_list_.push_back(agent_info); + gpu_agents_.push_back(agent); + } + + if (agent_info) agent_map_[agent.handle] = agent_info; + + return agent_info; +} + +// Return systen agent info +const AgentInfo* HsaRsrcFactory::GetAgentInfo(const hsa_agent_t agent) { + const AgentInfo* agent_info = NULL; + auto it = agent_map_.find(agent.handle); + if (it != agent_map_.end()) { + agent_info = it->second; + } + return agent_info; +} + +// Get the count of Hsa Gpu Agents available on the platform +// +// @return uint32_t Number of Gpu agents on platform +// +uint32_t HsaRsrcFactory::GetCountOfGpuAgents() { return uint32_t(gpu_list_.size()); } + +// Get the count of Hsa Cpu Agents available on the platform +// +// @return uint32_t Number of Cpu agents on platform +// +uint32_t HsaRsrcFactory::GetCountOfCpuAgents() { return uint32_t(cpu_list_.size()); } + +// Get the AgentInfo handle of a Gpu device +// +// @param idx Gpu Agent at specified index +// +// @param agent_info Output parameter updated with AgentInfo +// +// @return bool true if successful, false otherwise +// +bool HsaRsrcFactory::GetGpuAgentInfo(uint32_t idx, const AgentInfo** agent_info) { + // Determine if request is valid + uint32_t size = uint32_t(gpu_list_.size()); + if (idx >= size) { + return false; + } + + // Copy AgentInfo from specified index + *agent_info = gpu_list_[idx]; + + return true; +} + +// Get the AgentInfo handle of a Cpu device +// +// @param idx Cpu Agent at specified index +// +// @param agent_info Output parameter updated with AgentInfo +// +// @return bool true if successful, false otherwise +// +bool HsaRsrcFactory::GetCpuAgentInfo(uint32_t idx, const AgentInfo** agent_info) { + // Determine if request is valid + uint32_t size = uint32_t(cpu_list_.size()); + if (idx >= size) { + return false; + } + + // Copy AgentInfo from specified index + *agent_info = cpu_list_[idx]; + return true; +} + +// Create a Queue object and return its handle. The queue object is expected +// to support user requested number of Aql dispatch packets. +// +// @param agent_info Gpu Agent on which to create a queue object +// +// @param num_Pkts Number of packets to be held by queue +// +// @param queue Output parameter updated with handle of queue object +// +// @return bool true if successful, false otherwise +// +bool HsaRsrcFactory::CreateQueue(const AgentInfo* agent_info, uint32_t num_pkts, + hsa_queue_t** queue) { + hsa_status_t status; + status = hsa_api_.hsa_queue_create(agent_info->dev_id, num_pkts, HSA_QUEUE_TYPE_MULTI, NULL, NULL, + UINT32_MAX, UINT32_MAX, queue); + return (status == HSA_STATUS_SUCCESS); +} + +// Create a Signal object and return its handle. +// @param value Initial value of signal object +// @param signal Output parameter updated with handle of signal object +// @return bool true if successful, false otherwise +bool HsaRsrcFactory::CreateSignal(uint32_t value, hsa_signal_t* signal) { + hsa_status_t status; + status = hsa_api_.hsa_signal_create(value, 0, NULL, signal); + return (status == HSA_STATUS_SUCCESS); +} + +// Allocate memory for use by a kernel of specified size in specified +// agent's memory region. +// @param agent_info Agent from whose memory region to allocate +// @param size Size of memory in terms of bytes +// @return uint8_t* Pointer to buffer, null if allocation fails. +uint8_t* HsaRsrcFactory::AllocateLocalMemory(const AgentInfo* agent_info, size_t size) { + hsa_status_t status = HSA_STATUS_ERROR; + uint8_t* buffer = NULL; + size = (size + MEM_PAGE_MASK) & ~MEM_PAGE_MASK; + status = hsa_api_.hsa_amd_memory_pool_allocate(agent_info->gpu_pool, size, 0, reinterpret_cast(&buffer)); + uint8_t* ptr = (status == HSA_STATUS_SUCCESS) ? buffer : NULL; + return ptr; +} + +// Allocate memory to pass kernel parameters. +// Memory is alocated accessible for all CPU agents and for GPU given by AgentInfo parameter. +// @param agent_info Agent from whose memory region to allocate +// @param size Size of memory in terms of bytes +// @return uint8_t* Pointer to buffer, null if allocation fails. +uint8_t* HsaRsrcFactory::AllocateKernArgMemory(const AgentInfo* agent_info, size_t size) { + hsa_status_t status = HSA_STATUS_ERROR; + uint8_t* buffer = NULL; + if (!cpu_agents_.empty()) { + size = (size + MEM_PAGE_MASK) & ~MEM_PAGE_MASK; + status = hsa_api_.hsa_amd_memory_pool_allocate(*kern_arg_pool_, size, 0, reinterpret_cast(&buffer)); + // Both the CPU and GPU can access the kernel arguments + if (status == HSA_STATUS_SUCCESS) { + hsa_agent_t ag_list[1] = {agent_info->dev_id}; + status = hsa_api_.hsa_amd_agents_allow_access(1, ag_list, NULL, buffer); + } + } + uint8_t* ptr = (status == HSA_STATUS_SUCCESS) ? buffer : NULL; + return ptr; +} + +// Allocate system memory accessible by both CPU and GPU +// @param agent_info Agent from whose memory region to allocate +// @param size Size of memory in terms of bytes +// @return uint8_t* Pointer to buffer, null if allocation fails. +uint8_t* HsaRsrcFactory::AllocateSysMemory(const AgentInfo* agent_info, size_t size) { + hsa_status_t status = HSA_STATUS_ERROR; + uint8_t* buffer = NULL; + size = (size + MEM_PAGE_MASK) & ~MEM_PAGE_MASK; + if (!cpu_agents_.empty()) { + status = hsa_api_.hsa_amd_memory_pool_allocate(*cpu_pool_, size, 0, reinterpret_cast(&buffer)); + // Both the CPU and GPU can access the memory + if (status == HSA_STATUS_SUCCESS) { + hsa_agent_t ag_list[1] = {agent_info->dev_id}; + status = hsa_api_.hsa_amd_agents_allow_access(1, ag_list, NULL, buffer); + } + } + uint8_t* ptr = (status == HSA_STATUS_SUCCESS) ? buffer : NULL; + return ptr; +} + +// Allocate memory for command buffer. +// @param agent_info Agent from whose memory region to allocate +// @param size Size of memory in terms of bytes +// @return uint8_t* Pointer to buffer, null if allocation fails. +uint8_t* HsaRsrcFactory::AllocateCmdMemory(const AgentInfo* agent_info, size_t size) { + size = (size + MEM_PAGE_MASK) & ~MEM_PAGE_MASK; + uint8_t* ptr = (agent_info->is_apu && CMD_MEMORY_MMAP) + ? reinterpret_cast( + mmap(NULL, size, PROT_READ | PROT_WRITE | PROT_EXEC, MAP_SHARED | MAP_ANONYMOUS, 0, 0)) + : AllocateSysMemory(agent_info, size); + return ptr; +} + +// Wait signal +hsa_signal_value_t HsaRsrcFactory::SignalWait(const hsa_signal_t& signal, const hsa_signal_value_t& signal_value) const { + const hsa_signal_value_t exp_value = signal_value - 1; + hsa_signal_value_t ret_value = signal_value; + while (1) { + ret_value = + hsa_api_.hsa_signal_wait_scacquire(signal, HSA_SIGNAL_CONDITION_LT, signal_value, timeout_, HSA_WAIT_STATE_BLOCKED); + if (ret_value == exp_value) break; + if (ret_value != signal_value) { + std::cerr << "Error: HsaRsrcFactory::SignalWait: signal_value(" << signal_value + << "), ret_value(" << ret_value << ")" << std::endl << std::flush; + abort(); + } + } + return ret_value; +} + +// Wait signal with signal value restore +void HsaRsrcFactory::SignalWaitRestore(const hsa_signal_t& signal, const hsa_signal_value_t& signal_value) const { + SignalWait(signal, signal_value); + hsa_api_.hsa_signal_store_relaxed(const_cast(signal), signal_value); +} + +// Copy data from GPU to host memory +bool HsaRsrcFactory::Memcpy(const hsa_agent_t& agent, void* dst, const void* src, size_t size) { + hsa_status_t status = HSA_STATUS_ERROR; + if (!cpu_agents_.empty()) { + hsa_signal_t s = {}; + status = hsa_api_.hsa_signal_create(1, 0, NULL, &s); + CHECK_STATUS("hsa_signal_create()", status); + status = hsa_api_.hsa_amd_memory_async_copy(dst, cpu_agents_[0], src, agent, size, 0, NULL, s); + CHECK_STATUS("hsa_amd_memory_async_copy()", status); + SignalWait(s, 1); + status = hsa_api_.hsa_signal_destroy(s); + CHECK_STATUS("hsa_signal_destroy()", status); + } + return (status == HSA_STATUS_SUCCESS); +} +bool HsaRsrcFactory::Memcpy(const AgentInfo* agent_info, void* dst, const void* src, size_t size) { + return Memcpy(agent_info->dev_id, dst, src, size); +} + +// Memory free method +bool HsaRsrcFactory::FreeMemory(void* ptr) { + const hsa_status_t status = hsa_memory_free(ptr); + CHECK_STATUS("hsa_memory_free", status); + return (status == HSA_STATUS_SUCCESS); +} + +// Loads an Assembled Brig file and Finalizes it into Device Isa +// @param agent_info Gpu device for which to finalize +// @param brig_path File path of the Assembled Brig file +// @param kernel_name Name of the kernel to finalize +// @param code_desc Handle of finalized Code Descriptor that could +// be used to submit for execution +// @return bool true if successful, false otherwise +bool HsaRsrcFactory::LoadAndFinalize(const AgentInfo* agent_info, const char* brig_path, + const char* kernel_name, hsa_executable_t* executable, + hsa_executable_symbol_t* code_desc) { + hsa_status_t status = HSA_STATUS_ERROR; + + // Build the code object filename + std::string filename(brig_path); + std::clog << "Code object filename: " << filename << std::endl; + + // Open the file containing code object + hsa_file_t file_handle = open(filename.c_str(), O_RDONLY); + if (file_handle == -1) { + std::cerr << "Error: failed to load '" << filename << "'" << std::endl; + assert(false); + return false; + } + + // Create code object reader + hsa_code_object_reader_t code_obj_rdr = {0}; + status = hsa_api_.hsa_code_object_reader_create_from_file(file_handle, &code_obj_rdr); + if (status != HSA_STATUS_SUCCESS) { + std::cerr << "Failed to create code object reader '" << filename << "'" << std::endl; + return false; + } + + // Create executable. + status = hsa_api_.hsa_executable_create_alt(HSA_PROFILE_FULL, HSA_DEFAULT_FLOAT_ROUNDING_MODE_DEFAULT, + NULL, executable); + CHECK_STATUS("Error in creating executable object", status); + + // Load code object. + status = hsa_api_.hsa_executable_load_agent_code_object(*executable, agent_info->dev_id, code_obj_rdr, + NULL, NULL); + CHECK_STATUS("Error in loading executable object", status); + + // Freeze executable. + status = hsa_api_.hsa_executable_freeze(*executable, ""); + CHECK_STATUS("Error in freezing executable object", status); + + // Get symbol handle. + hsa_executable_symbol_t kernelSymbol; + status = hsa_api_.hsa_executable_get_symbol(*executable, NULL, kernel_name, agent_info->dev_id, 0, + &kernelSymbol); + CHECK_STATUS("Error in looking up kernel symbol", status); + + // Update output parameter + *code_desc = kernelSymbol; + return true; +} + +// Print the various fields of Hsa Gpu Agents +bool HsaRsrcFactory::PrintGpuAgents(const std::string& header) { + std::cout << std::flush; + std::clog << header << " :" << std::endl; + + const AgentInfo* agent_info; + int size = uint32_t(gpu_list_.size()); + for (int idx = 0; idx < size; idx++) { + agent_info = gpu_list_[idx]; + + std::clog << "> agent[" << idx << "] :" << std::endl; + std::clog << ">> Name : " << agent_info->name << std::endl; + std::clog << ">> APU : " << agent_info->is_apu << std::endl; + std::clog << ">> HSAIL profile : " << agent_info->profile << std::endl; + std::clog << ">> Max Wave Size : " << agent_info->max_wave_size << std::endl; + std::clog << ">> Max Queue Size : " << agent_info->max_queue_size << std::endl; + std::clog << ">> CU number : " << agent_info->cu_num << std::endl; + std::clog << ">> Waves per CU : " << agent_info->waves_per_cu << std::endl; + std::clog << ">> SIMDs per CU : " << agent_info->simds_per_cu << std::endl; + std::clog << ">> SE number : " << agent_info->se_num << std::endl; + std::clog << ">> Shader Arrays per SE : " << agent_info->shader_arrays_per_se << std::endl; + } + return true; +} + +uint64_t HsaRsrcFactory::Submit(hsa_queue_t* queue, const void* packet) { + const uint32_t slot_size_b = CMD_SLOT_SIZE_B; + + // adevance command queue + const uint64_t write_idx = hsa_api_.hsa_queue_load_write_index_relaxed(queue); + hsa_api_.hsa_queue_store_write_index_relaxed(queue, write_idx + 1); + while ((write_idx - hsa_api_.hsa_queue_load_read_index_relaxed(queue)) >= queue->size) { + sched_yield(); + } + + uint32_t slot_idx = (uint32_t)(write_idx % queue->size); + uint32_t* queue_slot = reinterpret_cast((uintptr_t)(queue->base_address) + (slot_idx * slot_size_b)); + const uint32_t* slot_data = reinterpret_cast(packet); + + // Copy buffered commands into the queue slot. + // Overwrite the AQL invalid header (first dword) last. + // This prevents the slot from being read until it's fully written. + memcpy(&queue_slot[1], &slot_data[1], slot_size_b - sizeof(uint32_t)); + std::atomic* header_atomic_ptr = + reinterpret_cast*>(&queue_slot[0]); + header_atomic_ptr->store(slot_data[0], std::memory_order_release); + + // ringdoor bell + hsa_api_.hsa_signal_store_relaxed(queue->doorbell_signal, write_idx); + + return write_idx; +} + +uint64_t HsaRsrcFactory::Submit(hsa_queue_t* queue, const void* packet, size_t size_bytes) { + const uint32_t slot_size_b = CMD_SLOT_SIZE_B; + if ((size_bytes & (slot_size_b - 1)) != 0) { + fprintf(stderr, "HsaRsrcFactory::Submit: Bad packet size %zx\n", size_bytes); + abort(); + } + + const char* begin = reinterpret_cast(packet); + const char* end = begin + size_bytes; + uint64_t write_idx = 0; + for (const char* ptr = begin; ptr < end; ptr += slot_size_b) { + write_idx = Submit(queue, ptr); + } + + return write_idx; +} + +const char* HsaRsrcFactory::GetKernelName(uint64_t addr) { + std::lock_guard lck(mutex_); + const auto it = symbols_map_->find(addr); + if (it == symbols_map_->end()) { + fprintf(stderr, "HsaRsrcFactory::kernel addr (0x%lx) is not found\n", addr); + abort(); + } + return strdup(it->second); +} + +void HsaRsrcFactory::EnableExecutableTracking(HsaApiTable* table) { + std::lock_guard lck(mutex_); + executable_tracking_on_ = true; + table->core_->hsa_executable_freeze_fn = hsa_executable_freeze_interceptor; +} + +hsa_status_t HsaRsrcFactory::executable_symbols_cb(hsa_executable_t exec, hsa_executable_symbol_t symbol, void *data) { + hsa_symbol_kind_t value = (hsa_symbol_kind_t)0; + hsa_status_t status = hsa_api_.hsa_executable_symbol_get_info(symbol, HSA_EXECUTABLE_SYMBOL_INFO_TYPE, &value); + CHECK_STATUS("Error in getting symbol info", status); + if (value == HSA_SYMBOL_KIND_KERNEL) { + uint64_t addr = 0; + uint32_t len = 0; + status = hsa_api_.hsa_executable_symbol_get_info(symbol, HSA_EXECUTABLE_SYMBOL_INFO_KERNEL_OBJECT, &addr); + CHECK_STATUS("Error in getting kernel object", status); + status = hsa_api_.hsa_executable_symbol_get_info(symbol, HSA_EXECUTABLE_SYMBOL_INFO_NAME_LENGTH, &len); + CHECK_STATUS("Error in getting name len", status); + char *name = new char[len + 1]; + status = hsa_api_.hsa_executable_symbol_get_info(symbol, HSA_EXECUTABLE_SYMBOL_INFO_NAME, name); + CHECK_STATUS("Error in getting kernel name", status); + name[len] = 0; + auto ret = symbols_map_->insert({addr, name}); + if (ret.second == false) { + delete[] ret.first->second; + ret.first->second = name; + } + } + return HSA_STATUS_SUCCESS; +} + +hsa_status_t HsaRsrcFactory::hsa_executable_freeze_interceptor(hsa_executable_t executable, const char *options) { + std::lock_guard lck(mutex_); + if (symbols_map_ == NULL) symbols_map_ = new symbols_map_t; + hsa_status_t status = hsa_api_.hsa_executable_iterate_symbols(executable, executable_symbols_cb, NULL); + CHECK_STATUS("Error in iterating executable symbols", status); + return hsa_api_.hsa_executable_freeze(executable, options);; +} + +void HsaRsrcFactory::DumpHandles(FILE* file) { + auto beg = agent_map_.begin(); + auto end = agent_map_.end(); + for (auto it = beg; it != end; ++it) { + const AgentInfo* agent_info = it->second; + fprintf(file, "0x%lx agent %s\n", agent_info->dev_id.handle, (agent_info->dev_type == HSA_DEVICE_TYPE_CPU) ? "cpu" : "gpu"); + if (agent_info->cpu_pool.handle != 0) fprintf(file, "0x%lx pool cpu\n", agent_info->cpu_pool.handle); + if (agent_info->kern_arg_pool.handle != 0) fprintf(file, "0x%lx pool cpu kernarg\n", agent_info->kern_arg_pool.handle); + if (agent_info->gpu_pool.handle != 0) fprintf(file, "0x%lx pool gpu\n", agent_info->gpu_pool.handle); + } + fflush(file); +} + +std::atomic HsaRsrcFactory::instance_{}; +HsaRsrcFactory::mutex_t HsaRsrcFactory::mutex_; +HsaRsrcFactory::timestamp_t HsaRsrcFactory::timeout_ns_ = HsaTimer::TIMESTAMP_MAX; +hsa_pfn_t HsaRsrcFactory::hsa_api_{}; +bool HsaRsrcFactory::executable_tracking_on_ = false; +HsaRsrcFactory::symbols_map_t* HsaRsrcFactory::symbols_map_ = NULL; diff --git a/test/hsa/src/hsa_rsrc_factory.h b/test/hsa/src/hsa_rsrc_factory.h new file mode 100644 index 0000000000..8383aa6636 --- /dev/null +++ b/test/hsa/src/hsa_rsrc_factory.h @@ -0,0 +1,516 @@ +/********************************************************************** +Copyright ©2013 Advanced Micro Devices, Inc. All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted +provided that the following conditions are met: + +<95> Redistributions of source code must retain the above copyright notice, this list of +conditions and the following disclaimer. +<95> Redistributions in binary form must reproduce the above copyright notice, this list of +conditions and the following disclaimer in the documentation and/or + other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR +IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT +SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY + DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS + OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +********************************************************************/ + +#ifndef _HSA_RSRC_FACTORY_H_ +#define _HSA_RSRC_FACTORY_H_ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include + +#define HSA_ARGUMENT_ALIGN_BYTES 16 +#define HSA_QUEUE_ALIGN_BYTES 64 +#define HSA_PACKET_ALIGN_BYTES 64 + +#define CHECK_STATUS(msg, status) do { \ + if ((status) != HSA_STATUS_SUCCESS) { \ + const char* emsg = 0; \ + hsa_status_string(status, &emsg); \ + printf("%s: %s\n", msg, emsg ? emsg : ""); \ + abort(); \ + } \ +} while (0) + +#define CHECK_ITER_STATUS(msg, status) do { \ + if ((status) != HSA_STATUS_INFO_BREAK) { \ + const char* emsg = 0; \ + hsa_status_string(status, &emsg); \ + printf("%s: %s\n", msg, emsg ? emsg : ""); \ + abort(); \ + } \ +} while (0) + +static const size_t MEM_PAGE_BYTES = 0x1000; +static const size_t MEM_PAGE_MASK = MEM_PAGE_BYTES - 1; +typedef decltype(hsa_agent_t::handle) hsa_agent_handle_t; + +struct hsa_pfn_t { + decltype(hsa_init)* hsa_init; + decltype(hsa_shut_down)* hsa_shut_down; + decltype(hsa_agent_get_info)* hsa_agent_get_info; + decltype(hsa_iterate_agents)* hsa_iterate_agents; + + decltype(hsa_queue_create)* hsa_queue_create; + decltype(hsa_queue_destroy)* hsa_queue_destroy; + decltype(hsa_queue_load_write_index_relaxed)* hsa_queue_load_write_index_relaxed; + decltype(hsa_queue_store_write_index_relaxed)* hsa_queue_store_write_index_relaxed; + decltype(hsa_queue_load_read_index_relaxed)* hsa_queue_load_read_index_relaxed; + + decltype(hsa_signal_create)* hsa_signal_create; + decltype(hsa_signal_destroy)* hsa_signal_destroy; + decltype(hsa_signal_load_relaxed)* hsa_signal_load_relaxed; + decltype(hsa_signal_store_relaxed)* hsa_signal_store_relaxed; + decltype(hsa_signal_wait_scacquire)* hsa_signal_wait_scacquire; + decltype(hsa_signal_store_screlease)* hsa_signal_store_screlease; + + decltype(hsa_code_object_reader_create_from_file)* hsa_code_object_reader_create_from_file; + decltype(hsa_executable_create_alt)* hsa_executable_create_alt; + decltype(hsa_executable_load_agent_code_object)* hsa_executable_load_agent_code_object; + decltype(hsa_executable_freeze)* hsa_executable_freeze; + decltype(hsa_executable_get_symbol)* hsa_executable_get_symbol; + decltype(hsa_executable_symbol_get_info)* hsa_executable_symbol_get_info; + decltype(hsa_executable_iterate_symbols)* hsa_executable_iterate_symbols; + + decltype(hsa_system_get_info)* hsa_system_get_info; + decltype(hsa_system_get_major_extension_table)* hsa_system_get_major_extension_table; + + decltype(hsa_amd_agent_iterate_memory_pools)* hsa_amd_agent_iterate_memory_pools; + decltype(hsa_amd_memory_pool_get_info)* hsa_amd_memory_pool_get_info; + decltype(hsa_amd_memory_pool_allocate)* hsa_amd_memory_pool_allocate; + decltype(hsa_amd_agents_allow_access)* hsa_amd_agents_allow_access; + decltype(hsa_amd_memory_async_copy)* hsa_amd_memory_async_copy; + + decltype(hsa_amd_signal_async_handler)* hsa_amd_signal_async_handler; + decltype(hsa_amd_profiling_set_profiler_enabled)* hsa_amd_profiling_set_profiler_enabled; + decltype(hsa_amd_profiling_get_async_copy_time)* hsa_amd_profiling_get_async_copy_time; + decltype(hsa_amd_profiling_get_dispatch_time)* hsa_amd_profiling_get_dispatch_time; +}; + +// Encapsulates information about a Hsa Agent such as its +// handle, name, max queue size, max wavefront size, etc. +struct AgentInfo { + // Handle of Agent + hsa_agent_t dev_id; + + // Agent type - Cpu = 0, Gpu = 1 or Dsp = 2 + uint32_t dev_type; + + // APU flag + bool is_apu; + + // Agent system index + uint32_t dev_index; + + // GFXIP name + char gfxip[64]; + + // Name of Agent whose length is less than 64 + char name[64]; + + // Max size of Wavefront size + uint32_t max_wave_size; + + // Max size of Queue buffer + uint32_t max_queue_size; + + // Hsail profile supported by agent + hsa_profile_t profile; + + // CPU/GPU/kern-arg memory pools + hsa_amd_memory_pool_t cpu_pool; + hsa_amd_memory_pool_t gpu_pool; + hsa_amd_memory_pool_t kern_arg_pool; + + // The number of compute unit available in the agent. + uint32_t cu_num; + + // Maximum number of waves possible in a Compute Unit. + uint32_t waves_per_cu; + + // Number of SIMD's per compute unit CU + uint32_t simds_per_cu; + + // Number of Shader Engines (SE) in Gpu + uint32_t se_num; + + // Number of Shader Arrays Per Shader Engines in Gpu + uint32_t shader_arrays_per_se; + + // SGPR/VGPR block sizes + uint32_t sgpr_block_dflt; + uint32_t sgpr_block_size; + uint32_t vgpr_block_size; +}; + +// HSA timer class +// Provides current HSA timestampa and system-clock/ns conversion API +class HsaTimer { + public: + typedef uint64_t timestamp_t; + static const timestamp_t TIMESTAMP_MAX = UINT64_MAX; + typedef long double freq_t; + + enum time_id_t { + TIME_ID_CLOCK_REALTIME = 0, + TIME_ID_CLOCK_MONOTONIC = 1, + TIME_ID_NUMBER + }; + + HsaTimer(const hsa_pfn_t* hsa_api) : hsa_api_(hsa_api) { + timestamp_t sysclock_hz = 0; + hsa_status_t status = hsa_api_->hsa_system_get_info(HSA_SYSTEM_INFO_TIMESTAMP_FREQUENCY, &sysclock_hz); + CHECK_STATUS("hsa_system_get_info(HSA_SYSTEM_INFO_TIMESTAMP_FREQUENCY)", status); + sysclock_factor_ = (freq_t)1000000000 / (freq_t)sysclock_hz; + } + + // Methods for system-clock/ns conversion + timestamp_t sysclock_to_ns(const timestamp_t& sysclock) const { + return timestamp_t((freq_t)sysclock * sysclock_factor_); + } + timestamp_t ns_to_sysclock(const timestamp_t& time) const { + return timestamp_t((freq_t)time / sysclock_factor_); + } + + // Method for timespec/ns conversion + static timestamp_t timespec_to_ns(const timespec& time) { + return ((timestamp_t)time.tv_sec * 1000000000) + time.tv_nsec; + } + + // Return timestamp in 'ns' + timestamp_t timestamp_ns() const { + timestamp_t sysclock; + hsa_status_t status = hsa_api_->hsa_system_get_info(HSA_SYSTEM_INFO_TIMESTAMP, &sysclock); + CHECK_STATUS("hsa_system_get_info(HSA_SYSTEM_INFO_TIMESTAMP)", status); + return sysclock_to_ns(sysclock); + } + + // Return time in 'ns' + static timestamp_t clocktime_ns(clockid_t clock_id) { + timespec time; + clock_gettime(clock_id, &time); + return timespec_to_ns(time); + } + + // Return pair of correlated values of profiling timestamp and time with + // correlation error for a given time ID and number of iterations + void correlated_pair_ns(time_id_t time_id, uint32_t iters, + timestamp_t* timestamp_v, timestamp_t* time_v, timestamp_t* error_v) const { + clockid_t clock_id = 0; + switch (clock_id) { + case TIME_ID_CLOCK_REALTIME: + clock_id = CLOCK_REALTIME; + break; + case TIME_ID_CLOCK_MONOTONIC: + clock_id = CLOCK_MONOTONIC; + break; + default: + CHECK_STATUS("internal error: invalid time_id", HSA_STATUS_ERROR); + } + + std::vector ts_vec(iters); + std::vector tm_vec(iters); + const uint32_t steps = iters - 1; + + for (uint32_t i = 0; i < iters; ++i) { + hsa_api_->hsa_system_get_info(HSA_SYSTEM_INFO_TIMESTAMP, &ts_vec[i]); + clock_gettime(clock_id, &tm_vec[i]); + } + + const timestamp_t ts_base = sysclock_to_ns(ts_vec.front()); + const timestamp_t tm_base = timespec_to_ns(tm_vec.front()); + const timestamp_t error = (ts_vec.back() - ts_vec.front()) / (2 * steps); + + timestamp_t ts_accum = 0; + timestamp_t tm_accum = 0; + for (uint32_t i = 0; i < iters; ++i) { + ts_accum += (ts_vec[i] - ts_base); + tm_accum += (timespec_to_ns(tm_vec[i]) - tm_base); + } + + *timestamp_v = (ts_accum / iters) + ts_base + error; + *time_v = (tm_accum / iters) + tm_base; + *error_v = error; + } + + private: + // Timestamp frequency factor + freq_t sysclock_factor_; + // HSA API table + const hsa_pfn_t* const hsa_api_; +}; + +class HsaRsrcFactory { + public: + static const size_t CMD_SLOT_SIZE_B = 0x40; + typedef std::recursive_mutex mutex_t; + typedef HsaTimer::timestamp_t timestamp_t; + + static HsaRsrcFactory* Create(bool initialize_hsa = true) { + std::lock_guard lck(mutex_); + HsaRsrcFactory* obj = instance_.load(std::memory_order_relaxed); + if (obj == NULL) { + obj = new HsaRsrcFactory(initialize_hsa); + instance_.store(obj, std::memory_order_release); + } + return obj; + } + + static HsaRsrcFactory& Instance() { + HsaRsrcFactory* obj = instance_.load(std::memory_order_acquire); + if (obj == NULL) obj = Create(false); + hsa_status_t status = (obj != NULL) ? HSA_STATUS_SUCCESS : HSA_STATUS_ERROR; + CHECK_STATUS("HsaRsrcFactory::Instance() failed", status); + return *obj; + } + + static void Destroy() { + std::lock_guard lck(mutex_); + if (instance_) delete instance_.load(); + instance_ = NULL; + } + + // Return system agent info + const AgentInfo* GetAgentInfo(const hsa_agent_t agent); + + // Get the count of Hsa Gpu Agents available on the platform + // @return uint32_t Number of Gpu agents on platform + uint32_t GetCountOfGpuAgents(); + + // Get the count of Hsa Cpu Agents available on the platform + // @return uint32_t Number of Cpu agents on platform + uint32_t GetCountOfCpuAgents(); + + // Get the AgentInfo handle of a Gpu device + // @param idx Gpu Agent at specified index + // @param agent_info Output parameter updated with AgentInfo + // @return bool true if successful, false otherwise + bool GetGpuAgentInfo(uint32_t idx, const AgentInfo** agent_info); + + // Get the AgentInfo handle of a Cpu device + // @param idx Cpu Agent at specified index + // @param agent_info Output parameter updated with AgentInfo + // @return bool true if successful, false otherwise + bool GetCpuAgentInfo(uint32_t idx, const AgentInfo** agent_info); + + // Create a Queue object and return its handle. The queue object is expected + // to support user requested number of Aql dispatch packets. + // @param agent_info Gpu Agent on which to create a queue object + // @param num_Pkts Number of packets to be held by queue + // @param queue Output parameter updated with handle of queue object + // @return bool true if successful, false otherwise + bool CreateQueue(const AgentInfo* agent_info, uint32_t num_pkts, hsa_queue_t** queue); + + // Create a Signal object and return its handle. + // @param value Initial value of signal object + // @param signal Output parameter updated with handle of signal object + // @return bool true if successful, false otherwise + bool CreateSignal(uint32_t value, hsa_signal_t* signal); + + // Allocate local GPU memory + // @param agent_info Agent from whose memory region to allocate + // @param size Size of memory in terms of bytes + // @return uint8_t* Pointer to buffer, null if allocation fails. + uint8_t* AllocateLocalMemory(const AgentInfo* agent_info, size_t size); + + // Allocate memory tp pass kernel parameters + // Memory is alocated accessible for all CPU agents and for GPU given by AgentInfo parameter. + // @param agent_info Agent from whose memory region to allocate + // @param size Size of memory in terms of bytes + // @return uint8_t* Pointer to buffer, null if allocation fails. + uint8_t* AllocateKernArgMemory(const AgentInfo* agent_info, size_t size); + + // Allocate system memory accessible from both CPU and GPU + // Memory is alocated accessible to all CPU agents and AgentInfo parameter is ignored. + // @param agent_info Agent from whose memory region to allocate + // @param size Size of memory in terms of bytes + // @return uint8_t* Pointer to buffer, null if allocation fails. + uint8_t* AllocateSysMemory(const AgentInfo* agent_info, size_t size); + + // Allocate memory for command buffer. + // @param agent_info Agent from whose memory region to allocate + // @param size Size of memory in terms of bytes + // @return uint8_t* Pointer to buffer, null if allocation fails. + uint8_t* AllocateCmdMemory(const AgentInfo* agent_info, size_t size); + + // Wait signal + hsa_signal_value_t SignalWait(const hsa_signal_t& signal, const hsa_signal_value_t& signal_value) const; + + // Wait signal with signal value restore + void SignalWaitRestore(const hsa_signal_t& signal, const hsa_signal_value_t& signal_value) const; + + // Copy data from GPU to host memory + bool Memcpy(const hsa_agent_t& agent, void* dst, const void* src, size_t size); + bool Memcpy(const AgentInfo* agent_info, void* dst, const void* src, size_t size); + + // Memory free method + static bool FreeMemory(void* ptr); + + // Loads an Assembled Brig file and Finalizes it into Device Isa + // @param agent_info Gpu device for which to finalize + // @param brig_path File path of the Assembled Brig file + // @param kernel_name Name of the kernel to finalize + // @param code_desc Handle of finalized Code Descriptor that could + // be used to submit for execution + // @return true if successful, false otherwise + bool LoadAndFinalize(const AgentInfo* agent_info, const char* brig_path, const char* kernel_name, + hsa_executable_t* hsa_exec, hsa_executable_symbol_t* code_desc); + + // Print the various fields of Hsa Gpu Agents + bool PrintGpuAgents(const std::string& header); + + // Submit AQL packet to given queue + static uint64_t Submit(hsa_queue_t* queue, const void* packet); + static uint64_t Submit(hsa_queue_t* queue, const void* packet, size_t size_bytes); + + // Enable executables loading tracking + static bool IsExecutableTracking() { return executable_tracking_on_; } + static void EnableExecutableTracking(HsaApiTable* table); + static const char* GetKernelName(uint64_t addr); + + // Initialize HSA API table + void static InitHsaApiTable(HsaApiTable* table); + static const hsa_pfn_t* HsaApi() { return &hsa_api_; } + + // Return AqlProfile API table + typedef hsa_ven_amd_aqlprofile_pfn_t aqlprofile_pfn_t; + const aqlprofile_pfn_t* AqlProfileApi() const { return &aqlprofile_api_; } + + // Return Loader API table + const hsa_ven_amd_loader_1_00_pfn_t* LoaderApi() const { return &loader_api_; } + + // Methods for system-clock/ns conversion and timestamp in 'ns' + timestamp_t SysclockToNs(const timestamp_t& sysclock) const { return timer_->sysclock_to_ns(sysclock); } + timestamp_t NsToSysclock(const timestamp_t& time) const { return timer_->ns_to_sysclock(time); } + timestamp_t TimestampNs() const { return timer_->timestamp_ns(); } + + timestamp_t GetSysTimeout() const { return timeout_; } + static timestamp_t GetTimeoutNs() { return timeout_ns_; } + static void SetTimeoutNs(const timestamp_t& time) { + std::lock_guard lck(mutex_); + timeout_ns_ = time; + if (instance_ != NULL) Instance().timeout_ = Instance().timer_->ns_to_sysclock(time); + } + + void CorrelateTime(HsaTimer::time_id_t time_id, uint32_t iters) { + timestamp_t timestamp_v = 0; + timestamp_t time_v = 0; + timestamp_t error_v = 0; + timer_->correlated_pair_ns(time_id, iters, ×tamp_v, &time_v, &error_v); + time_shift_[time_id] = time_v - timestamp_v; + time_error_[time_id] = error_v; + } + + hsa_status_t GetTime(uint32_t time_id, timestamp_t value, uint64_t* time) { + if (time_id >= HsaTimer::TIME_ID_NUMBER) return HSA_STATUS_ERROR; + *time = value + time_shift_[time_id]; + return HSA_STATUS_SUCCESS; + } + + hsa_status_t GetTimestamp(uint32_t time_id, uint64_t value, timestamp_t* timestamp) { + if (time_id >= HsaTimer::TIME_ID_NUMBER) return HSA_STATUS_ERROR; + *timestamp = value - time_shift_[time_id]; + return HSA_STATUS_SUCCESS; + } + + void DumpHandles(FILE* output_file); + + private: + // System agents iterating callback + static hsa_status_t GetHsaAgentsCallback(hsa_agent_t agent, void* data); + + // Callback function to find and bind kernarg region of an agent + static hsa_status_t FindMemRegionsCallback(hsa_region_t region, void* data); + + // Load AQL profile HSA extension library directly + static hsa_status_t LoadAqlProfileLib(aqlprofile_pfn_t* api); + + // Constructor of the class. Will initialize the Hsa Runtime and + // query the system topology to get the list of Cpu and Gpu devices + explicit HsaRsrcFactory(bool initialize_hsa); + + // Destructor of the class + ~HsaRsrcFactory(); + + // Add an instance of AgentInfo representing a Hsa Gpu agent + const AgentInfo* AddAgentInfo(const hsa_agent_t agent); + + // To mmap command buffer memory + static const bool CMD_MEMORY_MMAP = false; + + // HSA was initialized + const bool initialize_hsa_; + + static std::atomic instance_; + static mutex_t mutex_; + + // Used to maintain a list of Hsa Gpu Agent Info + std::vector gpu_list_; + std::vector gpu_agents_; + + // Used to maintain a list of Hsa Cpu Agent Info + std::vector cpu_list_; + std::vector cpu_agents_; + + // System agents map + std::map agent_map_; + + // Executables loading tracking + typedef std::map symbols_map_t; + static symbols_map_t* symbols_map_; + static bool executable_tracking_on_; + static hsa_status_t hsa_executable_freeze_interceptor(hsa_executable_t executable, const char *options); + static hsa_status_t executable_symbols_cb(hsa_executable_t exec, hsa_executable_symbol_t symbol, void *data); + + // HSA runtime API table + static hsa_pfn_t hsa_api_; + + // AqlProfile API table + aqlprofile_pfn_t aqlprofile_api_; + + // Loader API table + hsa_ven_amd_loader_1_00_pfn_t loader_api_; + + // System timeout, ns + static timestamp_t timeout_ns_; + // System timeout, sysclock + timestamp_t timeout_; + + // HSA timer + HsaTimer* timer_; + + // Time shift array to support time conversion + timestamp_t time_shift_[HsaTimer::TIME_ID_NUMBER]; + timestamp_t time_error_[HsaTimer::TIME_ID_NUMBER]; + + // CPU/kern-arg memory pools + hsa_amd_memory_pool_t *cpu_pool_; + hsa_amd_memory_pool_t *kern_arg_pool_; +}; + +#endif // _HSA_RSRC_FACTORY_H_ diff --git a/test/hsa/test/CMakeLists.txt b/test/hsa/test/CMakeLists.txt new file mode 100644 index 0000000000..77727b2386 --- /dev/null +++ b/test/hsa/test/CMakeLists.txt @@ -0,0 +1,64 @@ +################################################################################ +# Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +# THE SOFTWARE. +################################################################################ + +cmake_minimum_required ( VERSION 2.8.12 ) +set ( CMAKE_VERBOSE_MAKEFILE TRUE CACHE BOOL "Verbose Output" FORCE ) + +set ( EXE_NAME "ctrl" ) + +if ( NOT DEFINED TEST_DIR ) + set ( TEST_DIR ${CMAKE_CURRENT_SOURCE_DIR} ) + project ( ${EXE_NAME} ) + ## Set build environment + include ( env ) +endif () + +if ( NOT DEFINED ROCM_ROOT_DIR ) + set ( ROCM_ROOT_DIR "" ) +endif () +if ( NOT DEFINED GPU_TARGETS ) + set ( GPU_TARGETS "" ) +endif () + +## Util sources +file( GLOB UTIL_SRC "${TEST_DIR}/util/*.cpp" ) + +## Test control sources +set ( CTRL_SRC + ${TEST_DIR}/app/test.cpp + ${TEST_DIR}/ctrl/test_hsa.cpp +) + +## Dummy kernel +set ( DUMMY_NAME dummy_kernel ) +execute_process ( COMMAND sh -xc "${TEST_DIR}/../script/build_kernel.sh '${TEST_DIR}/${DUMMY_NAME}/${DUMMY_NAME}' '${PROJECT_BINARY_DIR}' '${ROCM_ROOT_DIR}' '${GPU_TARGETS}'" ) + +## Test kernel +set ( TEST_NAME simple_convolution ) +set ( KERN_SRC ${TEST_DIR}/${TEST_NAME}/${TEST_NAME}.cpp ) +execute_process ( COMMAND sh -xc "${TEST_DIR}/../script/build_kernel.sh '${TEST_DIR}/${TEST_NAME}/${TEST_NAME}' '${PROJECT_BINARY_DIR}' '${ROCM_ROOT_DIR}' '${GPU_TARGETS}'" ) + +## Building ctrl test executable +add_executable ( ${EXE_NAME} ${CTRL_SRC} ${UTIL_SRC} ${KERN_SRC} ) +target_include_directories ( ${EXE_NAME} PRIVATE ${TEST_DIR} ${ROOT_DIR} ${HSA_RUNTIME_INC_PATH} ) +target_link_libraries( ${EXE_NAME} ${HSA_RUNTIME_LIB} ${HSA_KMT_LIB} c stdc++ dl pthread rt ) +execute_process ( COMMAND sh -xc "cp ${TEST_DIR}/run.sh ${PROJECT_BINARY_DIR}" ) diff --git a/test/hsa/test/app/test.cpp b/test/hsa/test/app/test.cpp new file mode 100644 index 0000000000..23d3927374 --- /dev/null +++ b/test/hsa/test/app/test.cpp @@ -0,0 +1,86 @@ +/****************************************************************************** +Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +*******************************************************************************/ + +#include +#include +#include +#include +#include + +#include "ctrl/run_kernel.h" +#include "ctrl/test_aql.h" +#include "dummy_kernel/dummy_kernel.h" +#include "simple_convolution/simple_convolution.h" + +void thread_fun(const int kiter, const int diter, const uint32_t agents_number) { + const AgentInfo* agent_info[agents_number]; + hsa_queue_t* queue[agents_number]; + HsaRsrcFactory* rsrc = &HsaRsrcFactory::Instance(); + + for (uint32_t n = 0; n < agents_number; ++n) { + uint32_t agent_id = n % rsrc->GetCountOfGpuAgents(); + if (rsrc->GetGpuAgentInfo(agent_id, &agent_info[n]) == false) { + fprintf(stderr, "AgentInfo failed\n"); + abort(); + } + if (rsrc->CreateQueue(agent_info[n], 128, &queue[n]) == false) { + fprintf(stderr, "CreateQueue failed\n"); + abort(); + } + } + + for (int i = 0; i < kiter; ++i) { + for (uint32_t n = 0; n < agents_number; ++n) { + RunKernel(0, NULL, agent_info[n], queue[n], diter); + RunKernel(0, NULL, agent_info[n], queue[n], diter); + } + } + + for (uint32_t n = 0; n < agents_number; ++n) { + hsa_queue_destroy(queue[n]); + } +} + +int main(int argc, char** argv) { + const char* kiter_s = getenv("ROCP_KITER"); + const char* diter_s = getenv("ROCP_DITER"); + const char* agents_s = getenv("ROCP_AGENTS"); + const char* thrs_s = getenv("ROCP_THRS"); + + const int kiter = (kiter_s != NULL) ? atol(kiter_s) : 1; + const int diter = (diter_s != NULL) ? atol(diter_s) : 1; + const uint32_t agents_number = (agents_s != NULL) ? (uint32_t)atol(agents_s) : 1; + const int thrs = (thrs_s != NULL) ? atol(thrs_s) : 1; + + TestHsa::HsaInstantiate(); + + std::vector t(thrs); + for (int n = 0; n < thrs; ++n) { + t[n] = std::thread(thread_fun, kiter, diter, agents_number); + } + for (int n = 0; n < thrs; ++n) { + t[n].join(); + } + + TestHsa::HsaShutdown(); + return 0; +} diff --git a/test/hsa/test/ctrl/run_kernel.h b/test/hsa/test/ctrl/run_kernel.h new file mode 100644 index 0000000000..846e0b6825 --- /dev/null +++ b/test/hsa/test/ctrl/run_kernel.h @@ -0,0 +1,90 @@ +/****************************************************************************** +Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +*******************************************************************************/ + +#ifndef TEST_CTRL_RUN_KERNEL_H_ +#define TEST_CTRL_RUN_KERNEL_H_ + +#include "ctrl/test_hsa.h" +#include "util/test_assert.h" + +template bool RunKernel(int argc = 0, char* argv[] = NULL, const AgentInfo* agent_info = NULL, hsa_queue_t* queue = NULL, int count = 1) { + bool ret_val = false; + + if (getenv("ROC_TEST_TRACE") == NULL) std::clog.rdbuf(NULL); + + + // Create test kernel object + Kernel test_kernel; + + TestHsa* test_hsa = new TestHsa(&test_kernel); + test_hsa->SetAgentInfo(agent_info); + test_hsa->SetQueue(queue); + + TestAql* test_aql = new Test(test_hsa); + TEST_ASSERT(test_aql != NULL); + if (test_aql == NULL) return 1; + + // Initialization of Hsa Runtime + ret_val = test_aql->Initialize(argc, argv); + if (ret_val == false) { + std::cerr << "Error in the test initialization" << std::endl; + // TEST_ASSERT(ret_val); + return false; + } + + // Setup Hsa resources needed for execution + ret_val = test_aql->Setup(); + if (ret_val == false) { + std::cerr << "Error in creating hsa resources" << std::endl; + TEST_ASSERT(ret_val); + return false; + } + + // Kernel dspatch iterations + for (int i = 0; i < count; ++i) { + // Run test kernel + ret_val = test_aql->Run(); + if (ret_val == false) { + std::cerr << "Error in running the test kernel" << std::endl; + TEST_ASSERT(ret_val); + return false; + } + + // Verify the results of the execution + ret_val = test_aql->VerifyResults(); + if (ret_val) { + std::clog << "Test : Passed" << std::endl; + } else { + std::clog << "Test : Failed" << std::endl; + } + } + + // Print time taken by sample + test_aql->PrintTime(); + + test_aql->Cleanup(); + delete test_aql; + + return ret_val; +} + +#endif // TEST_CTRL_RUN_KERNEL_H_ diff --git a/test/hsa/test/ctrl/test_aql.h b/test/hsa/test/ctrl/test_aql.h new file mode 100644 index 0000000000..d77363eeca --- /dev/null +++ b/test/hsa/test/ctrl/test_aql.h @@ -0,0 +1,77 @@ +/****************************************************************************** +Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +*******************************************************************************/ + +#ifndef TEST_CTRL_TEST_AQL_H_ +#define TEST_CTRL_TEST_AQL_H_ + +#include +#include + +#include "util/hsa_rsrc_factory.h" + +// Test AQL interface +class TestAql { + public: + explicit TestAql(TestAql* t = 0) : test_(t) {} + virtual ~TestAql() { + if (test_) delete test_; + } + + TestAql* Test() { return test_; } + virtual const AgentInfo* GetAgentInfo() { return (test_) ? test_->GetAgentInfo() : 0; } + virtual hsa_queue_t* GetQueue() { return (test_) ? test_->GetQueue() : 0; } + virtual HsaRsrcFactory* GetRsrcFactory() { return (test_) ? test_->GetRsrcFactory() : 0; } + + // Initialize application environment including setting + // up of various configuration parameters based on + // command line arguments + // @return bool true on success and false on failure + virtual bool Initialize(int argc, char** argv) { + return (test_) ? test_->Initialize(argc, argv) : true; + } + + // Setup application parameters for exectuion + // @return bool true on success and false on failure + virtual bool Setup() { return (test_) ? test_->Setup() : true; } + + // Run the kernel + // @return bool true on success and false on failure + virtual bool Run() { return (test_) ? test_->Run() : true; } + + // Verify results + // @return bool true on success and false on failure + virtual bool VerifyResults() { return (test_) ? test_->VerifyResults() : true; } + + // Print to console the time taken to execute kernel + virtual void PrintTime() { + if (test_) test_->PrintTime(); + } + + // Release resources e.g. memory allocations + // @return bool true on success and false on failure + virtual bool Cleanup() { return (test_) ? test_->Cleanup() : true; } + + private: + TestAql* const test_; +}; + +#endif // TEST_CTRL_TEST_AQL_H_ diff --git a/test/hsa/test/ctrl/test_hsa.cpp b/test/hsa/test/ctrl/test_hsa.cpp new file mode 100644 index 0000000000..638f7b1a4b --- /dev/null +++ b/test/hsa/test/ctrl/test_hsa.cpp @@ -0,0 +1,279 @@ +/****************************************************************************** +Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +*******************************************************************************/ + +#include "ctrl/test_hsa.h" + +#include + +#include "util/test_assert.h" +#include "util/helper_funcs.h" +#include "util/hsa_rsrc_factory.h" + +HsaRsrcFactory* TestHsa::hsa_rsrc_ = NULL; + +HsaRsrcFactory* TestHsa::HsaInstantiate() { + // Instantiate an instance of Hsa Resources Factory + if (hsa_rsrc_ == NULL) { + hsa_rsrc_ = HsaRsrcFactory::Create(); + // Print properties of the agents + hsa_rsrc_->PrintGpuAgents("> GPU agents"); + } + return hsa_rsrc_; +} + +void TestHsa::HsaShutdown() { + if (hsa_rsrc_) hsa_rsrc_->Destroy(); +} + +bool TestHsa::Initialize(int /*arg_cnt*/, char** /*arg_list*/) { + std::clog << "TestHsa::Initialize :" << std::endl; + + // Instantiate a Timer object + setup_timer_idx_ = hsa_timer_.CreateTimer(); + dispatch_timer_idx_ = hsa_timer_.CreateTimer(); + + if (hsa_rsrc_ == NULL) { + TEST_ASSERT(false); + return false; + } + + // Create an instance of Gpu agent + if (agent_info_ == NULL) { + const uint32_t agent_id = 0; + if (!hsa_rsrc_->GetGpuAgentInfo(agent_id, &agent_info_)) { + agent_info_ = NULL; + std::cerr << "> error: agent[" << agent_id << "] is not found" << std::endl; + return false; + } + } + std::clog << "> Using agent[" << agent_info_->dev_index << "] : " << agent_info_->name << std::endl; + + // Create an instance of Aql Queue + if (hsa_queue_ == NULL) { + const uint32_t num_pkts = 128; + if (hsa_rsrc_->CreateQueue(agent_info_, num_pkts, &hsa_queue_) == false) { + hsa_queue_ = NULL; + TEST_ASSERT(false); + } + my_queue_ = true; + } + + // Obtain handle of signal + hsa_rsrc_->CreateSignal(1, &hsa_signal_); + + // Obtain the code object file name + std::string agentName(agent_info_->name); + brig_path_obj_.append(agentName); + brig_path_obj_.append("_" + name_ + ".hsaco"); + + return true; +} + +bool TestHsa::Setup() { + std::clog << "TestHsa::setup :" << std::endl; + + // Start the timer object + hsa_timer_.StartTimer(setup_timer_idx_); + + // Load and Finalize Kernel Code Descriptor + const char* brig_path = brig_path_obj_.c_str(); + bool suc = hsa_rsrc_->LoadAndFinalize(agent_info_, brig_path, symb_.c_str(), &hsa_exec_, + &kernel_code_desc_); + if (suc == false) { + std::cerr << "Error in loading and finalizing Kernel" << std::endl; + return false; + } + + mem_map_t& mem_map = test_->GetMemMap(); + for (mem_it_t it = mem_map.begin(); it != mem_map.end(); ++it) { + mem_descr_t& des = it->second; + if (des.size == 0) continue; + + switch (des.id) { + case TestKernel::LOCAL_DES_ID: + des.ptr = hsa_rsrc_->AllocateLocalMemory(agent_info_, des.size); + break; + case TestKernel::KERNARG_DES_ID: { + // Check the kernel args size + const size_t kernarg_size = des.size; + size_t size_info = 0; + const hsa_status_t status = hsa_executable_symbol_get_info( + kernel_code_desc_, HSA_EXECUTABLE_SYMBOL_INFO_KERNEL_KERNARG_SEGMENT_SIZE, &size_info); + TEST_ASSERT(status == HSA_STATUS_SUCCESS); + size_info = kernarg_size; + const bool kernarg_missmatch = (kernarg_size > size_info); + if (kernarg_missmatch) { + std::cout << "kernarg_size = " << kernarg_size << ", size_info = " << size_info + << std::flush << std::endl; + TEST_ASSERT(!kernarg_missmatch); + break; + } + // ALlocate kernarg memory + des.size = size_info; + des.ptr = hsa_rsrc_->AllocateKernArgMemory(agent_info_, size_info); + if (des.ptr) memset(des.ptr, 0, size_info); + break; + } + case TestKernel::SYS_DES_ID: + des.ptr = hsa_rsrc_->AllocateSysMemory(agent_info_, des.size); + if (des.ptr) memset(des.ptr, 0, des.size); + break; + case TestKernel::NULL_DES_ID: + des.ptr = NULL; + break; + default: + break; + } + TEST_ASSERT(des.ptr != NULL); + if (des.ptr == NULL) return false; + } + test_->Init(); + + // Stop the timer object + hsa_timer_.StopTimer(setup_timer_idx_); + setup_time_taken_ = hsa_timer_.ReadTimer(setup_timer_idx_); + total_time_taken_ = setup_time_taken_; + + return true; +} + +bool TestHsa::Run() { + std::clog << "TestHsa::run :" << std::endl; + + const uint32_t work_group_size = 64; + const uint32_t work_grid_size = test_->GetGridSize(); + uint32_t group_segment_size = 0; + uint32_t private_segment_size = 0; + uint64_t code_handle = 0; + + // Retrieve the amount of group memory needed + hsa_executable_symbol_get_info( + kernel_code_desc_, HSA_EXECUTABLE_SYMBOL_INFO_KERNEL_GROUP_SEGMENT_SIZE, &group_segment_size); + + // Retrieve the amount of private memory needed + hsa_executable_symbol_get_info(kernel_code_desc_, + HSA_EXECUTABLE_SYMBOL_INFO_KERNEL_PRIVATE_SEGMENT_SIZE, + &private_segment_size); + + + // Retrieve handle of the code block + hsa_executable_symbol_get_info(kernel_code_desc_, HSA_EXECUTABLE_SYMBOL_INFO_KERNEL_OBJECT, + &code_handle); + + // Initialize the dispatch packet. + hsa_kernel_dispatch_packet_t aql; + memset(&aql, 0, sizeof(aql)); + // Set the packet's type, barrier bit, acquire and release fences + aql.header = HSA_PACKET_TYPE_KERNEL_DISPATCH; + aql.header |= HSA_FENCE_SCOPE_SYSTEM << HSA_PACKET_HEADER_SCACQUIRE_FENCE_SCOPE; + aql.header |= HSA_FENCE_SCOPE_SYSTEM << HSA_PACKET_HEADER_SCRELEASE_FENCE_SCOPE; + // Populate Aql packet with default values + aql.setup = 1; + aql.grid_size_x = work_grid_size; + aql.grid_size_y = 1; + aql.grid_size_z = 1; + aql.workgroup_size_x = work_group_size; + aql.workgroup_size_y = 1; + aql.workgroup_size_z = 1; + // Bind the kernel code descriptor and arguments + aql.kernel_object = code_handle; + aql.kernarg_address = test_->GetKernargPtr(); + aql.group_segment_size = group_segment_size; + aql.private_segment_size = private_segment_size; + // Initialize Aql packet with handle of signal + hsa_signal_store_relaxed(hsa_signal_, 1); + aql.completion_signal = hsa_signal_; + + std::clog << "> Executing kernel: \"" << name_ << "\"" << std::endl; + + // Start the timer object + hsa_timer_.StartTimer(dispatch_timer_idx_); + + // Submit AQL packet to the queue + const uint64_t que_idx = hsa_rsrc_->Submit(hsa_queue_, &aql); + + std::clog << "> Waiting on kernel dispatch signal, que_idx=" << que_idx << std::endl << std::flush; + + // Wait on the dispatch signal until the kernel is finished. + // Update wait condition to HSA_WAIT_STATE_ACTIVE for Polling + if (hsa_signal_wait_scacquire(hsa_signal_, HSA_SIGNAL_CONDITION_LT, 1, UINT64_MAX, + HSA_WAIT_STATE_BLOCKED) != 0) { + TEST_ASSERT("signal_wait failed"); + } + + std::clog << "> DONE, que_idx=" << que_idx << std::endl; + + // Stop the timer object + hsa_timer_.StopTimer(dispatch_timer_idx_); + dispatch_time_taken_ = hsa_timer_.ReadTimer(dispatch_timer_idx_); + total_time_taken_ += dispatch_time_taken_; + + return true; +} + +bool TestHsa::VerifyResults() { + bool cmp = false; + void* output = NULL; + const uint32_t size = test_->GetOutputSize(); + bool suc = false; + + if (size == 0) return true; + + // Copy local kernel output buffers from local memory into host memory + if (test_->IsOutputLocal()) { + output = hsa_rsrc_->AllocateSysMemory(agent_info_, size); + suc = hsa_rsrc_->Memcpy(agent_info_, output, test_->GetOutputPtr(), size); + if (!suc) std::clog << "> VerifyResults: Memcpy failed" << std::endl << std::flush; + } else { + output = test_->GetOutputPtr(); + suc = true; + } + + if ((output != NULL) && suc) { + // Print the test output + test_->PrintOutput(output); + // Compare the results and see if they match + cmp = (memcmp(output, test_->GetRefOut(), size) == 0); + } + + if (test_->IsOutputLocal() && (output != NULL)) hsa_rsrc_->FreeMemory(output); + + return cmp; +} + +void TestHsa::PrintTime() { + std::clog << "Time taken for Setup by " << this->name_ << " : " << this->setup_time_taken_ + << std::endl; + std::clog << "Time taken for Dispatch by " << this->name_ << " : " << this->dispatch_time_taken_ + << std::endl; + std::clog << "Time taken in Total by " << this->name_ << " : " << this->total_time_taken_ + << std::endl; +} + +bool TestHsa::Cleanup() { + hsa_executable_destroy(hsa_exec_); + hsa_signal_destroy(hsa_signal_); + if (my_queue_) hsa_queue_destroy(hsa_queue_); + hsa_queue_ = NULL; + agent_info_ = NULL; + return true; +} diff --git a/test/hsa/test/ctrl/test_hsa.h b/test/hsa/test/ctrl/test_hsa.h new file mode 100644 index 0000000000..bb54c60011 --- /dev/null +++ b/test/hsa/test/ctrl/test_hsa.h @@ -0,0 +1,129 @@ +/****************************************************************************** +Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +*******************************************************************************/ + +#ifndef TEST_CTRL_TEST_HSA_H_ +#define TEST_CTRL_TEST_HSA_H_ + +#include "ctrl/test_aql.h" +#include "ctrl/test_kernel.h" +#include "util/hsa_rsrc_factory.h" +#include "util/perf_timer.h" + +// Class implements HSA test +class TestHsa : public TestAql { + public: + // Instantiate HSA resources + static HsaRsrcFactory* HsaInstantiate(); + static void HsaShutdown(); + + // Constructor + explicit TestHsa(TestKernel* test) : test_(test), name_(test->Name()), symb_(test->SymbName()) { + total_time_taken_ = 0; + setup_time_taken_ = 0; + dispatch_time_taken_ = 0; + agent_info_ = NULL; + hsa_queue_ = NULL; + my_queue_ = false; + hsa_exec_ = {}; + } + + // Get methods for Agent Info, HAS queue, HSA Resourcse Manager + HsaRsrcFactory* GetRsrcFactory() { return hsa_rsrc_; } + hsa_agent_t HsaAgent() { return agent_info_->dev_id; } + const AgentInfo* GetAgentInfo() { return agent_info_; } + void SetAgentInfo(const AgentInfo* agent_info) { agent_info_ = agent_info; } + hsa_queue_t* GetQueue() { return hsa_queue_; } + void SetQueue(hsa_queue_t* queue) { hsa_queue_ = queue; } + + // Initialize application environment including setting + // up of various configuration parameters based on + // command line arguments + // @return bool true on success and false on failure + bool Initialize(int argc, char** argv); + + // Setup application parameters for exectuion + // @return bool true on success and false on failure + bool Setup(); + + // Run the BinarySearch kernel + // @return bool true on success and false on failure + bool Run(); + + // Verify against reference implementation + // @return bool true on success and false on failure + bool VerifyResults(); + + // Print to console the time taken to execute kernel + void PrintTime(); + + // Release resources e.g. memory allocations + // @return bool true on success and false on failure + bool Cleanup(); + + private: + typedef TestKernel::mem_descr_t mem_descr_t; + typedef TestKernel::mem_map_t mem_map_t; + typedef TestKernel::mem_it_t mem_it_t; + + // Test object + TestKernel* test_; + + // Path of Brig file + std::string brig_path_obj_; + + // Used to track time taken to run the sample + double total_time_taken_; + double setup_time_taken_; + double dispatch_time_taken_; + + // Handle of signal + hsa_signal_t hsa_signal_; + + // Handle of Kernel Code Descriptor + hsa_executable_symbol_t kernel_code_desc_; + + // Instance of timer object + uint32_t setup_timer_idx_; + uint32_t dispatch_timer_idx_; + PerfTimer hsa_timer_; + + // Instance of Hsa Resources Factory + static HsaRsrcFactory* hsa_rsrc_; + + // Handle to an Hsa Gpu Agent + const AgentInfo* agent_info_; + + // Handle to an Hsa Queue + hsa_queue_t* hsa_queue_; + bool my_queue_; + + // Test kernel name + std::string name_; + + // Test kernel name + std::string symb_; + + // Kernel executable + hsa_executable_t hsa_exec_; +}; + +#endif // TEST_CTRL_TEST_HSA_H_ diff --git a/test/hsa/test/ctrl/test_kernel.h b/test/hsa/test/ctrl/test_kernel.h new file mode 100644 index 0000000000..0ca89200ec --- /dev/null +++ b/test/hsa/test/ctrl/test_kernel.h @@ -0,0 +1,138 @@ +/****************************************************************************** +Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +*******************************************************************************/ + +#ifndef TEST_CTRL_TEST_KERNEL_H_ +#define TEST_CTRL_TEST_KERNEL_H_ + +#include +#include +#include +#include + +// Class implements kernel test +class TestKernel { + public: + // Exported buffers IDs + enum buf_id_t { KERNARG_EXP_ID, OUTPUT_EXP_ID, REFOUT_EXP_ID }; + // Memory descriptors IDs + enum des_id_t { NULL_DES_ID, LOCAL_DES_ID, KERNARG_DES_ID, SYS_DES_ID, REFOUT_DES_ID }; + + // Memory descriptors vector declaration + struct mem_descr_t { + des_id_t id; + void* ptr; + uint32_t size; + }; + + // Memory map declaration + typedef std::map mem_map_t; + typedef mem_map_t::iterator mem_it_t; + typedef mem_map_t::const_iterator mem_const_it_t; + + virtual ~TestKernel() {} + + // Initialize method + virtual void Init() = 0; + + // Return kernel memory map + mem_map_t& GetMemMap() { return mem_map_; } + + // Return NULL descriptor + static mem_descr_t NullDescriptor() { return {NULL_DES_ID, NULL, 0}; } + + // Check if decripter is local + bool IsLocal(const mem_descr_t& descr) const { return (descr.id == LOCAL_DES_ID); } + + // Methods to get the kernel attributes + const mem_descr_t& GetKernargDescr() { return *test_map_[KERNARG_EXP_ID]; } + const mem_descr_t& GetOutputDescr() { return *test_map_[OUTPUT_EXP_ID]; } + void* GetKernargPtr() { return GetKernargDescr().ptr; } + uint32_t GetKernargSize() { return GetKernargDescr().size; } + void* GetOutputPtr() { return GetOutputDescr().ptr; } + uint32_t GetOutputSize() { return GetOutputDescr().size; } + bool IsOutputLocal() { return IsLocal(GetOutputDescr()); } + virtual uint32_t GetGridSize() const = 0; + + // Return reference output + void* GetRefOut() { return test_map_[REFOUT_EXP_ID]->ptr; } + + // Print output + virtual void PrintOutput(const void* ptr) const = 0; + + // Return name + virtual std::string Name() const = 0; + + // Return name + virtual std::string SymbName() { return Name() + ".kd"; } + + protected: + // Set buffer descriptor + bool SetInDescr(const uint32_t& buf_id, const des_id_t& des_id, const uint32_t& size) { + bool suc = SetMemDescr(buf_id, des_id, size); + if (des_id == KERNARG_DES_ID) { + test_map_[KERNARG_EXP_ID] = &mem_map_[buf_id]; + } + return suc; + } + + // Set results descriptor + bool SetOutDescr(const uint32_t& buf_id, const des_id_t& des_id, const uint32_t& size) { + bool suc = SetMemDescr(buf_id, des_id, size); + test_map_[OUTPUT_EXP_ID] = &mem_map_[buf_id]; + return suc; + } + + // Set host descriptor + bool SetHostDescr(const uint32_t& buf_id, const des_id_t& des_id, const uint32_t& size) { + bool suc = SetMemDescr(buf_id, des_id, size); + if (suc) { + mem_descr_t& descr = mem_map_[buf_id]; + descr.ptr = malloc(size); + if (des_id == REFOUT_DES_ID) { + test_map_[REFOUT_EXP_ID] = &descr; + } + if (descr.ptr == NULL) suc = false; + } + return suc; + } + + // Get memory descriptor + mem_descr_t GetDescr(const uint32_t& buf_id) const { + mem_const_it_t it = mem_map_.find(buf_id); + return (it != mem_map_.end()) ? it->second : NullDescriptor(); + } + + private: + // Set memory descriptor + bool SetMemDescr(const uint32_t& buf_id, const des_id_t& des_id, const uint32_t& size) { + const mem_descr_t des = {des_id, NULL, size}; + auto ret = mem_map_.insert(mem_map_t::value_type(buf_id, des)); + return ret.second; + } + + // Kernel memory map object + mem_map_t mem_map_; + // Test memory map object + std::map test_map_; +}; + +#endif // TEST_CTRL_TEST_KERNEL_H_ diff --git a/test/hsa/test/dummy_kernel/dummy_kernel.cl b/test/hsa/test/dummy_kernel/dummy_kernel.cl new file mode 100644 index 0000000000..4ab159c865 --- /dev/null +++ b/test/hsa/test/dummy_kernel/dummy_kernel.cl @@ -0,0 +1,28 @@ +/****************************************************************************** +Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +*******************************************************************************/ + +/** + dummy kernel + */ +__kernel void DummyKernel() { + uint tid = get_global_id(0); +} diff --git a/test/hsa/test/dummy_kernel/dummy_kernel.h b/test/hsa/test/dummy_kernel/dummy_kernel.h new file mode 100644 index 0000000000..1b8ce4309a --- /dev/null +++ b/test/hsa/test/dummy_kernel/dummy_kernel.h @@ -0,0 +1,71 @@ +/****************************************************************************** +Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +*******************************************************************************/ + +#ifndef TEST_DUMMY_KERNEL_DUMMY_KERNEL_H_ +#define TEST_DUMMY_KERNEL_DUMMY_KERNEL_H_ + +#include +#include + +#include "ctrl/test_kernel.h" + +// Class implements DummyKernel kernel parameters +class DummyKernel : public TestKernel { + public: + // Kernel buffers IDs + enum { KERNARG_BUF_ID, LOCAL_BUF_ID }; + + // Constructor + DummyKernel() : + width_(64), + height_(64) + { + SetInDescr(KERNARG_BUF_ID, KERNARG_DES_ID, 0); + SetOutDescr(LOCAL_BUF_ID, LOCAL_DES_ID, 0); + } + + // Initialize method + void Init() {} + + // Return compute grid size + uint32_t GetGridSize() const { return width_ * height_; } + + // Print output + void PrintOutput(const void* ptr) const {} + + // Return name + std::string Name() const { return std::string("DummyKernel"); } + + private: + // Reference CPU implementation + bool ReferenceImplementation(uint32_t* output, const uint32_t* input, const float* mask, + const uint32_t width, const uint32_t height, + const uint32_t maskWidth, const uint32_t maskHeight) { return true; } + + // Width of the Input array + const uint32_t width_; + + // Height of the Input array + const uint32_t height_; +}; + +#endif // TEST_DUMMY_KERNEL_DUMMY_KERNEL_H_ diff --git a/test/hsa/test/run.sh b/test/hsa/test/run.sh new file mode 100755 index 0000000000..3284831748 --- /dev/null +++ b/test/hsa/test/run.sh @@ -0,0 +1,45 @@ +#!/bin/sh + +################################################################################ +# Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +# THE SOFTWARE. +################################################################################ + +# test trace +export ROC_TEST_TRACE=1 + +# kernels loading iterations +export ROCP_KITER=50 +# kernels dispatching iterations per kernel load +# dispatching to the same queue +export ROCP_DITER=50 +# GPU agents number +export ROCP_AGENTS=2 +# host threads number +# each thread creates a queue pre GPU agent +export ROCP_THRS=3 + +eval ./test/ctrl + +#valgrind --leak-check=full $tbin +#valgrind --tool=massif $tbin +#ms_print massif.out. + +exit 0 diff --git a/test/hsa/test/simple_convolution/simple_convolution.cl b/test/hsa/test/simple_convolution/simple_convolution.cl new file mode 100644 index 0000000000..3f8115a634 --- /dev/null +++ b/test/hsa/test/simple_convolution/simple_convolution.cl @@ -0,0 +1,76 @@ +/****************************************************************************** +Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +*******************************************************************************/ + +/** + * SimpleConvolution is where each pixel of the output image + * is the weighted sum of the neighborhood pixels of the input image + * The neighborhood is defined by the dimensions of the mask and + * weight of each neighbor is defined by the mask itself. + * @param output Output matrix after performing convolution + * @param input Input matrix on which convolution is to be performed + * @param mask mask matrix using which convolution was to be performed + * @param inputDimensions dimensions of the input matrix + * @param maskDimensions dimensions of the mask matrix + */ +__kernel void SimpleConvolution(__global uint * output, + __global uint * input, + __global float * mask, + const uint2 inputDimensions, + const uint2 maskDimensions) { + + uint tid = get_global_id(0); + + uint width = inputDimensions.x; + uint height = inputDimensions.y; + + uint x = tid%width; + uint y = tid/width; + + uint maskWidth = maskDimensions.x; + uint maskHeight = maskDimensions.y; + + uint vstep = (maskWidth -1)/2; + uint hstep = (maskHeight -1)/2; + + // find the left, right, top and bottom indices such that + // the indices do not go beyond image boundaires + uint left = (x < vstep) ? 0 : (x - vstep); + uint right = ((x + vstep) >= width) ? width - 1 : (x + vstep); + uint top = (y < hstep) ? 0 : (y - hstep); + uint bottom = ((y + hstep) >= height)? height - 1: (y + hstep); + + // initializing wighted sum value + float sumFX = 0; + + for(uint i = left; i <= right; ++i) { + for(uint j = top; j <= bottom; ++j) { + // performing wighted sum within the mask boundaries + uint maskIndex = (j - (y - hstep)) * maskWidth + (i - (x - vstep)); + uint index = j * width + i; + sumFX += ((float)input[index] * mask[maskIndex]); + } + } + + // To round to the nearest integer + sumFX += 0.5f; + output[tid] = (uint)sumFX; +} diff --git a/test/hsa/test/simple_convolution/simple_convolution.cpp b/test/hsa/test/simple_convolution/simple_convolution.cpp new file mode 100644 index 0000000000..546f9a6ab9 --- /dev/null +++ b/test/hsa/test/simple_convolution/simple_convolution.cpp @@ -0,0 +1,388 @@ +/****************************************************************************** +Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +*******************************************************************************/ + +#include "simple_convolution/simple_convolution.h" + +#include +#include +#include + +#include "util/helper_funcs.h" +#include "util/test_assert.h" + +const uint32_t SimpleConvolution::input_data_[]{ + 15, 201, 51, 89, 92, 34, 96, 66, 11, 225, 161, 96, 81, 211, 108, 124, 202, 244, 182, + 90, 215, 92, 98, 20, 44, 225, 55, 247, 202, 0, 45, 218, 202, 97, 51, 39, 131, 147, + 105, 143, 116, 11, 239, 198, 222, 92, 67, 169, 81, 250, 3, 40, 86, 101, 60, 131, 70, + 116, 123, 17, 117, 168, 236, 64, 10, 31, 103, 142, 179, 209, 29, 40, 220, 13, 239, 187, + 105, 50, 100, 186, 44, 104, 227, 131, 205, 32, 6, 20, 149, 130, 38, 10, 43, 18, 75, + 53, 50, 178, 195, 230, 132, 225, 14, 96, 238, 253, 27, 88, 48, 128, 18, 92, 232, 246, + 224, 182, 23, 231, 203, 172, 105, 241, 183, 148, 4, 2, 202, 55, 181, 142, 29, 57, 111, + 43, 153, 93, 41, 181, 181, 89, 54, 200, 182, 31, 190, 150, 213, 213, 126, 160, 130, 232, + 146, 57, 125, 151, 59, 71, 206, 240, 213, 236, 42, 68, 24, 195, 162, 65, 121, 87, 155, + 175, 31, 81, 207, 222, 232, 164, 180, 102, 69, 55, 79, 216, 112, 204, 112, 171, 19, 63, + 156, 233, 43, 198, 46, 67, 138, 208, 132, 4, 39, 32, 180, 71, 113, 131, 38, 90, 40, + 219, 193, 109, 18, 16, 70, 131, 220, 182, 46, 240, 245, 203, 217, 32, 146, 7, 100, 28, + 216, 233, 32, 255, 9, 213, 71, 123, 88, 110, 213, 128, 74, 150, 238, 93, 166, 52, 224, + 131, 234, 15, 115, 224, 218, 76, 1, 108, 84, 101, 137, 44, 79, 170, 44, 88, 127, 116, + 211, 216, 226, 168, 88, 45, 63, 70, 138, 230, 123, 107, 105, 101, 122, 220, 70, 84, 41, + 71, 193, 125, 173, 75, 169, 252, 245, 213, 84, 117, 73, 40, 77, 44, 209, 166, 90, 16, + 237, 229, 246, 104, 80, 95, 206, 202, 60, 20, 31, 101, 92, 225, 226, 9, 44, 140, 5, + 34, 97, 89, 151, 171, 129, 229, 216, 82, 139, 51, 99, 120, 24, 89, 225, 104, 185, 175, + 50, 246, 196, 82, 91, 32, 51, 62, 42, 96, 202, 47, 130, 44, 137, 26, 215, 10, 255, + 176, 93, 138, 227, 193, 3, 251, 27, 229, 100, 212, 149, 151, 202, 89, 233, 38, 122, 29, + 100, 164, 125, 46, 212, 0, 90, 93, 26, 50, 103, 25, 226, 197, 164, 198, 135, 168, 194, + 162, 141, 38, 119, 34, 190, 66, 124, 167, 104, 247, 197, 204, 156, 67, 251, 112, 67, 85, + 205, 93, 135, 53, 119, 106, 251, 28, 49, 130, 196, 243, 36, 82, 26, 155, 117, 216, 221, + 241, 128, 70, 233, 70, 18, 133, 137, 14, 245, 204, 99, 195, 42, 235, 248, 161, 86, 243, + 190, 135, 118, 130, 123, 154, 213, 150, 54, 74, 111, 20, 60, 240, 90, 37, 54, 109, 171, + 191, 123, 161, 140, 222, 100, 182, 202, 93, 88, 32, 80, 23, 168, 198, 153, 36, 97, 111, + 187, 151, 185, 43, 172, 245, 27, 6, 27, 82, 115, 199, 18, 239, 104, 158, 206, 205, 85, + 152, 42, 174, 185, 123, 197, 98, 65, 95, 135, 163, 206, 66, 59, 136, 109, 231, 125, 137, + 237, 153, 219, 97, 96, 237, 81, 201, 140, 31, 150, 226, 183, 192, 144, 113, 59, 86, 212, + 125, 182, 91, 33, 132, 158, 92, 12, 12, 68, 138, 149, 50, 36, 113, 147, 133, 95, 229, + 78, 235, 4, 228, 206, 188, 165, 95, 45, 225, 181, 1, 94, 107, 93, 128, 240, 251, 220, + 252, 7, 32, 135, 156, 83, 171, 14, 230, 48, 109, 203, 126, 89, 208, 99, 39, 140, 9, + 134, 185, 234, 60, 187, 73, 167, 24, 201, 152, 20, 166, 148, 27, 199, 28, 184, 26, 199, + 198, 0, 248, 52, 204, 119, 141, 157, 218, 181, 41, 227, 59, 227, 206, 119, 159, 23, 31, + 184, 224, 183, 204, 134, 76, 231, 77, 105, 160, 103, 48, 103, 104, 41, 155, 53, 160, 41, + 210, 123, 222, 252, 95, 26, 223, 45, 146, 126, 68, 177, 54, 37, 105, 3, 171, 182, 235, + 249, 31, 139, 97, 80, 243, 202, 121, 143, 0, 26, 184, 210, 149, 151, 207, 244, 177, 174, + 34, 67, 45, 102, 245, 100, 140, 95, 104, 55, 21, 83, 49, 53, 223, 147, 134, 210, 93, + 0, 97, 93, 26, 26, 48, 175, 178, 255, 164, 99, 174, 198, 167, 220, 45, 156, 64, 185, + 252, 168, 241, 18, 252, 35, 71, 219, 182, 205, 173, 19, 206, 15, 113, 232, 42, 161, 152, + 220, 160, 60, 64, 79, 3, 231, 43, 49, 132, 108, 235, 128, 21, 220, 146, 17, 255, 218, + 236, 182, 168, 154, 201, 118, 170, 58, 94, 212, 220, 246, 177, 125, 51, 241, 204, 55, 216, + 248, 104, 92, 100, 83, 221, 121, 48, 111, 138, 47, 73, 119, 230, 241, 17, 175, 103, 187, + 234, 198, 144, 199, 188, 65, 68, 240, 51, 17, 39, 11, 9, 143, 104, 109, 227, 70, 231, + 19, 181, 113, 66, 255, 233, 41, 241, 250, 217, 89, 182, 196, 31, 71, 139, 220, 137, 208, + 204, 188, 225, 243, 200, 234, 131, 48, 88, 102, 119, 63, 121, 44, 177, 188, 44, 154, 229, + 29, 149, 190, 118, 76, 130, 150, 147, 14, 114, 28, 222, 62, 217, 191, 50, 161, 170, 181, + 210, 2, 28, 73, 66, 149, 117, 243, 81, 162, 141, 55, 191, 35, 245, 54, 111, 120, 204, + 2, 134, 62, 31, 100, 125, 248, 36, 175, 153, 206, 101, 107, 209, 129, 181, 19, 22, 43, + 7, 104, 205, 149, 159, 140, 184, 149, 195, 39, 14, 143, 42, 148, 205, 73, 249, 74, 66, + 30, 250, 219, 237, 96, 71, 190, 225, 253, 210, 248, 40, 218, 96, 245, 111, 0, 130, 39, + 150, 69, 79, 165, 212, 122, 57, 162, 195, 51, 237, 6, 82, 231, 225, 63, 71, 41, 253, + 41, 38, 208, 33, 78, 170, 130, 68, 26, 131, 198, 66, 26, 12, 145, 191, 224, 11, 249, + 130, 207, 44, 112, 213, 126, 88, 183, 190, 160, 225, 187, 201, 8, 140, 235, 87, 55, 109, + 155, 81, 241, 98, 147, 11, 110, 37, 202, 79, 49, 195, 210, 0, 240, 66, 214, 110, 154, + 142, 44, 58, 111, 232, 4, 119, 117, 239, 207, 172, 93, 106, 254, 78, 205, 145, 89, 59, + 183, 35, 138, 232, 230, 92, 233, 214, 159, 191, 69, 58, 78, 114, 116, 189, 91, 121, 53, + 208, 104, 4, 125, 198, 111, 123, 20, 60, 13, 109, 120, 196, 145, 3, 172, 119, 95, 150, + 78, 255, 85, 147, 57, 163, 6, 174, 97, 97, 39, 151, 50, 144, 155, 175, 86, 11, 43, + 107, 71, 56, 216, 191, 253, 105, 194, 170, 225, 34, 64, 47, 34, 150, 195, 91, 58, 201, + 10, 155, 43, 49, 50, 93, 194, 206, 13, 25, 217, 56, 132, 33, 112, 92, 225, 109, 198, + 164, 23, 167, 199, 88, 215, 234, 238, 155, 69, 40, 100, 80, 196, 144, 129, 246, 237, 68, + 197, 250, 93, 159, 51, 225, 193, 163, 62, 163, 17, 4, 71, 41, 172, 15, 130, 132, 249, + 112, 31, 63, 152, 132, 143, 92, 20, 17, 83, 1, 86, 25, 252, 179, 185, 47, 149, 122, + 211, 211, 29, 229, 216, 101, 15, 133, 117, 145, 9, 111, 1, 40, 175, 154, 173, 62, 247, + 193, 80, 75, 194, 166, 100, 191, 90, 29, 239, 239, 152, 194, 195, 182, 168, 156, 27, 183, + 33, 145, 73, 43, 0, 75, 83, 175, 229, 0, 238, 221, 194, 63, 40, 133, 230, 140, 68, + 64, 170, 51, 48, 66, 246, 243, 248, 159, 144, 20, 87, 177, 165, 160, 220, 166, 235, 48, + 86, 209, 49, 68, 174, 243, 132, 214, 120, 106, 99, 189, 170, 13, 241, 219, 80, 232, 207, + 72, 135, 95, 92, 223, 16, 2, 127, 237, 169, 107, 29, 255, 61, 79, 68, 236, 67, 200, + 194, 188, 50, 38, 121, 221, 52, 107, 184, 132, 84, 136, 204, 219, 231, 41, 186, 248, 44, + 58, 229, 213, 166, 3, 212, 227, 82, 25, 207, 150, 225, 146, 82, 20, 185, 204, 242, 237, + 55, 170, 113, 139, 50, 62, 103, 26, 103, 34, 18, 148, 93, 247, 105, 3, 251, 62, 231, + 77, 87, 182, 227, 57, 73, 54, 77, 2, 2, 63, 239, 57, 234, 97, 197, 29, 159, 44, + 55, 7, 79, 74, 155, 172, 66, 5, 175, 61, 67, 150, 139, 155, 77, 111, 212, 151, 165, + 34, 153, 167, 98, 137, 225, 77, 234, 166, 107, 138, 211, 163, 145, 34, 237, 45, 206, 47, + 50, 126, 108, 117, 21, 248, 17, 98, 103, 230, 249, 12, 9, 147, 179, 107, 29, 149, 185, + 7, 59, 37, 146, 14, 200, 35, 49, 182, 80, 0, 230, 130, 126, 83, 248, 148, 75, 9, + 247, 178, 240, 240, 190, 249, 132, 114, 101, 161, 7, 30, 169, 67, 68, 59, 82, 12, 95, + 131, 195, 176, 131, 169, 51, 2, 252, 44, 150, 72, 54, 141, 250, 38, 126, 185, 31, 3, + 44, 132, 165, 52, 163, 78, 120, 231, 138, 202, 244, 234, 77, 183, 155, 209, 97, 207, 212, + 94, 251, 107, 166, 49, 249, 161, 88, 120, 91, 120, 123, 135, 253, 33, 188, 160, 112, 52, + 136, 250, 254, 125, 229, 76, 53, 128, 30, 150, 79, 243, 244, 75, 95, 155, 125, 88, 60, + 213, 209, 152, 78, 77, 32, 75, 110, 220, 236, 222, 17, 117, 217, 15, 242, 190, 92, 39, + 63, 123, 190, 143, 111, 178, 219, 206, 78, 88, 38, 138, 46, 247, 34, 124, 69, 66, 199, + 179, 31, 179, 145, 48, 41, 106, 64, 27, 41, 157, 67, 105, 24, 1, 249, 135, 179, 212, + 86, 1, 44, 124, 140, 91, 116, 175, 215, 185, 242, 159, 108, 17, 83, 254, 66, 124, 105, + 131, 151, 146, 32, 218, 252, 57, 219, 245, 193, 143, 201, 23, 145, 246, 148, 30, 82, 8, + 206, 41, 194, 192, 201, 47, 210, 28, 46, 20, 152, 151, 151, 48, 42, 184, 11, 38, 241, + 231, 28, 179, 119, 230, 202, 8, 220, 94, 39, 46, 103, 245, 88, 42, 181, 33, 90, 136, + 62, 136, 156, 214, 31, 52, 7, 74, 237, 19, 113, 223, 250, 141, 146, 113, 115, 92, 122, + 80, 187, 161, 126, 35, 150, 215, 78, 76, 249, 168, 212, 55, 48, 113, 14, 80, 166, 21, + 154, 147, 40, 12, 114, 35, 153, 5, 148, 12, 98, 15, 92, 29, 176, 219, 65, 71, 179, + 143, 147, 172, 56, 104, 227, 104, 218, 241, 185, 128, 7, 84, 20, 47, 96, 135, 82, 249, + 140, 231, 6, 238, 246, 99, 12, 167, 63, 77, 238, 242, 221, 130, 158, 21, 235, 129, 126, + 197, 114, 56, 69, 121, 140, 90, 169, 237, 225, 252, 231, 109, 228, 237, 91, 219, 81, 104, + 130, 144, 181, 113, 130, 147, 244, 32, 169, 223, 162, 39, 164, 21, 95, 234, 143, 236, 68, + 57, 217, 37, 53, 192, 147, 25, 174, 239, 245, 0, 87, 119, 144, 13, 232, 19, 160, 220, + 51, 73, 188, 214, 113, 96, 235, 209, 75, 122, 190, 144, 179, 151, 181, 233, 88, 73, 3, + 7, 56, 248, 7, 143, 112, 152, 156, 89, 171, 61, 53, 223, 135, 242, 181, 248, 83, 161, + 202, 158, 28, 136, 46, 208, 32, 228, 186, 121, 45, 189, 128, 102, 182, 136, 246, 38, 32, + 147, 127, 204, 208, 181, 171, 87, 167, 97, 80, 250, 2, 26, 153, 31, 163, 200, 239, 195, + 172, 169, 60, 218, 103, 188, 65, 30, 69, 55, 68, 102, 202, 196, 50, 154, 121, 221, 242, + 33, 63, 67, 28, 66, 93, 181, 97, 0, 126, 81, 196, 43, 251, 0, 5, 98, 189, 70, + 128, 3, 126, 197, 105, 72, 137, 155, 227, 3, 121, 214, 36, 184, 25, 65, 250, 118, 247, + 91, 119, 117, 173, 60, 160, 168, 60, 166, 10, 250, 237, 139, 253, 107, 80, 102, 180, 217, + 2, 151, 221, 123, 109, 1, 52, 134, 66, 46, 253, 57, 138, 117, 175, 55, 178, 79, 223, + 239, 245, 234, 233, 226, 117, 231, 78, 198, 78, 2, 159, 80, 154, 124, 204, 7, 126, 0, + 142, 193, 47, 140, 251, 185, 2, 170, 241, 180, 249, 208, 163, 239, 186, 141, 210, 48, 116, + 32, 246, 195, 34, 150, 19, 188, 19, 224, 196, 146, 224, 83, 83, 15, 224, 78, 201, 226, + 249, 186, 151, 243, 139, 58, 226, 70, 199, 181, 118, 60, 213, 109, 255, 248, 3, 19, 181, + 23, 243, 122, 169, 212, 205, 252, 228, 173, 75, 173, 144, 68, 104, 39, 55, 243, 98, 26, + 57, 41, 207, 175, 102, 165, 29, 102, 158, 32, 121, 83, 56, 109, 205, 225, 66, 155, 222, + 38, 73, 42, 212, 218, 110, 60, 1, 166, 48, 99, 193, 105, 141, 145, 25, 244, 54, 54, + 90, 213, 87, 212, 40, 143, 66, 246, 112, 132, 146, 79, 171, 220, 121, 128, 182, 232, 189, + 184, 143, 237, 27, 80, 86, 169, 226, 112, 158, 25, 166, 248, 238, 253, 204, 23, 141, 15, + 13, 254, 147, 160, 77, 63, 124, 199, 191, 50, 175, 124, 234, 62, 105, 6, 143, 192, 176, + 113, 48, 78, 139, 215, 71, 121, 213, 20, 144, 98, 35, 158, 96, 183, 62, 174, 246, 187, + 117, 182, 237, 37, 50, 216, 99, 156, 223, 243, 93, 143, 101, 142, 222, 240, 101, 37, 106, + 58, 57, 250, 157, 93, 153, 254, 20, 216, 172, 10, 147, 34, 192, 129, 71, 243, 90, 171, + 144, 57, 159, 238, 201, 4, 124, 167, 244, 225, 205, 95, 28, 7, 89, 185, 100, 243, 184, + 121, 203, 100, 131, 95, 135, 68, 224, 207, 56, 58, 122, 201, 115, 25, 183, 61, 30, 51, + 229, 18, 21, 178, 113, 49, 186, 203, 235, 31, 191, 163, 152, 138, 8, 28, 233, 143, 97, + 202, 95, 153, 4, 217, 98, 120, 243, 26, 182, 17, 77, 155, 36, 99, 78, 150, 149, 8, + 98, 128, 39, 33, 36, 192, 172, 45, 220, 149, 189, 61, 96, 28, 215, 100, 246, 58, 221, + 233, 84, 147, 251, 162, 47, 31, 5, 125, 181, 154, 134, 23, 27, 174, 57, 64, 110, 229, + 109, 75, 123, 43, 136, 219, 71, 95, 64, 61, 154, 29, 39, 238, 177, 34, 145, 225, 65, + 150, 94, 247, 49, 229, 15, 77, 147, 72, 141, 2, 45, 251, 77, 169, 38, 213, 132, 110, + 53, 196, 172, 207, 226, 212, 190, 148, 246, 79, 117, 56, 230, 212, 48, 23, 185, 63, 100, + 76, 136, 242, 78, 181, 237, 156, 95, 20, 113, 227, 131, 167, 168, 47, 119, 139, 3, 53, + 31, 250, 133, 149, 50, 107, 105, 99, 130, 34, 162, 231, 111, 42, 217, 190, 224, 199, 90, + 63, 220, 204, 35, 95, 115, 203, 143, 234, 86, 147, 32, 118, 141, 165, 11, 192, 16, 117, + 35, 147, 152, 198, 123, 7, 240, 84, 198, 209, 28, 33, 17, 248, 237, 52, 88, 97, 255, + 231, 76, 86, 122, 109, 204, 8, 18, 216, 201, 35, 77, 237, 183, 229, 179, 50, 237, 164, + 135, 179, 118, 164, 213, 135, 157, 195, 187, 245, 36, 187, 220, 113, 18, 87, 222, 222, 96, + 241, 183, 42, 21, 4, 23, 205, 233, 203, 0, 214, 112, 136, 138, 230, 44, 95, 110, 201, + 34, 41, 191, 71, 229, 155, 185, 247, 243, 151, 214, 84, 137, 141, 126, 159, 146, 149, 108, + 124, 97, 109, 82, 209, 245, 221, 183, 34, 60, 37, 236, 95, 79, 171, 167, 53, 71, 96, + 45, 58, 248, 3, 142, 129, 145, 12, 33, 36, 162, 142, 160, 3, 251, 243, 213, 240, 208, + 141, 19, 13, 178, 255, 109, 2, 170, 20, 55, 241, 116, 101, 44, 108, 105, 186, 238, 251, + 199, 15, 31, 106, 157, 191, 110, 152, 178, 67, 137, 131, 208, 156, 144, 131, 155, 253, 134, + 70, 18, 190, 55, 134, 35, 99, 243, 140, 30, 225, 135, 230, 240, 166, 81, 142, 102, 191, + 39, 25, 3, 177, 156, 211, 77, 45, 87, 233, 43, 221, 48, 61, 155, 103, 195, 191, 203, + 182, 75, 233, 152, 211, 208, 136, 121, 33, 23, 224, 224, 62, 249, 227, 239, 149, 183, 61, + 195, 15, 39, 238, 236, 87, 43, 136, 191, 239, 71, 138, 166, 147, 116, 62, 102, 68, 199, + 224, 101, 223, 193, 70, 29, 186, 42, 13, 80, 225, 75, 19, 241, 115, 1, 221, 202, 45, + 102, 137, 29, 174, 20, 195, 66, 136, 2, 168, 205, 201, 137, 50, 168, 74, 121, 198, 4, + 163, 212, 85, 133, 31, 105, 118, 146, 106, 84, 93, 152, 187, 231, 181, 105, 251, 121, 171, + 132, 123, 84, 81, 69, 221, 132, 238, 40, 253, 181, 45, 161, 137, 130, 39, 169, 235, 158, + 59, 86, 242, 153, 239, 173, 128, 165, 23, 123, 30, 195, 0, 154, 23, 81, 224, 245, 214, + 206, 30, 212, 131, 75, 117, 12, 206, 157, 181, 186, 59, 241, 17, 45, 138, 0, 219, 11, + 165, 243, 135, 196, 182, 135, 95, 205, 217, 63, 195, 175, 14, 225, 131, 145, 45, 249, 158, + 251, 150, 84, 182, 209, 70, 199, 255, 209, 199, 219, 220, 109, 206, 99, 50, 132, 234, 146, + 82, 195, 209, 22, 114, 223, 247, 246, 113, 37, 239, 16, 33, 134, 100, 215, 88, 170, 158, + 87, 123, 102, 50, 88, 211, 1, 187, 6, 134, 165, 152, 216, 105, 106, 239, 220, 74, 231, + 210, 187, 12, 194, 204, 45, 72, 49, 4, 160, 219, 162, 248, 87, 8, 43, 176, 220, 44, + 107, 227, 178, 17, 124, 139, 122, 230, 122, 87, 48, 97, 42, 236, 110, 236, 185, 155, 53, + 234, 159, 214, 198, 66, 206, 30, 75, 249, 206, 40, 38, 57, 11, 217, 74, 136, 100, 197, + 110, 223, 29, 159, 65, 71, 140, 175, 51, 69, 74, 105, 48, 234, 63, 246, 45, 13, 20, + 121, 7, 226, 161, 46, 28, 173, 7, 103, 53, 108, 45, 164, 76, 74, 68, 141, 145, 208, + 61, 197, 22, 136, 46, 70, 115, 110, 60, 161, 124, 81, 26, 132, 51, 188, 178, 79, 106, + 186, 183, 160, 39, 228, 68, 115, 46, 136, 1, 192, 89, 62, 133, 112, 198, 180, 182, 58, + 34, 243, 219, 158, 69, 245, 34, 120, 178, 213, 200, 28, 143, 128, 188, 182, 100, 1, 41, + 146, 137, 43, 82, 227, 105, 216, 83, 48, 140, 10, 106, 175, 254, 70, 77, 67, 59, 112, + 188, 237, 69, 133, 10, 212, 5, 198, 138, 105, 199, 180, 252, 81, 223, 79, 53, 73, 39, + 137, 121, 180, 148, 228, 99, 146, 42, 177, 214, 102, 33, 147, 84, 102, 25, 94, 59, 31, + 37, 197, 137, 237, 122, 133, 63, 90, 213, 116, 163, 253, 253, 29, 177, 145, 2, 21, 36, + 45, 198, 251, 147, 231, 143, 232, 78, 168, 71, 137, 199, 108, 79, 80, 90, 201, 214, 153, + 35, 172, 13, 199, 169, 11, 228, 91, 157, 231, 112, 193, 20, 54, 189, 167, 30, 77, 144, + 108, 245, 215, 246, 189, 68, 69, 14, 158, 14, 228, 55, 50, 145, 69, 249, 58, 80, 222, + 149, 237, 198, 5, 175, 218, 60, 109, 130, 91, 186, 18, 200, 175, 234, 190, 109, 46, 3, + 123, 204, 18, 96, 4, 68, 241, 73, 62, 44, 154, 29, 193, 136, 227, 199, 55, 189, 4, + 164, 64, 95, 95, 82, 39, 15, 60, 230, 124, 107, 233, 248, 55, 251, 89, 60, 63, 75, + 134, 126, 119, 32, 156, 57, 168, 127, 0, 224, 61, 5, 133, 125, 100, 228, 208, 140, 243, + 12, 114, 111, 119, 92, 104, 175, 87, 193, 236, 151, 13, 114, 21, 132, 146, 177, 189, 59, + 49, 190, 27, 110, 195, 160, 236, 40, 132, 188, 181, 120, 201, 40, 232, 65, 132, 80, 241, + 220, 18, 221, 115, 31, 79, 137, 164, 226, 58, 98, 29, 108, 32, 57, 219, 228, 218, 199, + 13, 95, 132, 195, 215, 77, 235, 191, 143, 112, 16, 128, 76, 35, 93, 191, 66, 173, 73, + 231, 143, 132, 73, 173, 240, 106, 231, 203, 78, 193, 147, 92, 33, 23, 31, 248, 100, 11, + 184, 243, 123, 201, 115, 200, 236, 209, 135, 47, 126, 209, 22, 14, 85, 95, 188, 69, 202, + 163, 17, 24, 101, 164, 117, 134, 187, 148, 127, 31, 159, 55, 19, 27, 1, 135, 227, 237, + 89, 107, 28, 216, 60, 51, 230, 145, 147, 163, 215, 93, 70, 232, 118, 172, 140, 235, 50, + 71, 128, 177, 103, 32, 233, 123, 60, 234, 2, 31, 216, 91, 139, 244, 52, 200, 40, 26, + 90, 188, 189, 49, 25, 4, 25, 144, 176, 166, 124, 227, 237, 252, 148, 85, 29, 125, 208, + 89, 104, 210, 121, 64, 46, 4, 53, 99, 204, 93, 125, 38, 25, 59, 88, 51, 64, 113, + 195, 241, 23, 64, 212, 5, 60, 104, 90, 90, 230, 42, 179, 78, 253, 44, 143, 44, 49, + 196, 143, 254, 34, 13, 36, 60, 73, 125, 112, 137, 239, 52, 122, 7, 116, 79, 12, 177, + 183, 103, 11, 158, 146, 190, 237, 143, 235, 124, 188, 28, 65, 76, 26, 100, 89, 63, 160, + 163, 188, 17, 44, 172, 69, 167, 179, 185, 246, 191, 107, 174, 38, 118, 76, 184, 53, 58, + 72, 32, 182, 5, 61, 248, 81, 88, 92, 170, 152, 253, 77, 84, 14, 122, 1, 83, 34, + 180, 13, 25, 115, 120, 199, 154, 238, 20, 83, 36, 79, 155, 68, 5, 160, 130, 254, 242, + 218, 90, 156, 114, 87, 234, 199, 101, 101, 200, 185, 135, 124, 198, 160, 240, 62, 104, 138, + 45, 125, 222, 81, 204, 122, 150, 210, 26, 24, 208, 12, 242, 42, 169, 101, 130, 148, 44, + 232, 249, 245, 161, 128, 113, 103, 33, 98, 166, 137, 236, 212, 7, 202, 38, 211, 69, 188, + 165, 95, 212, 118, 108, 199, 161, 22, 45, 35, 170, 90, 11, 163, 79, 173, 36, 193, 20, + 69, 35, 187, 207, 16, 144, 214, 219, 182, 170, 32, 114, 79, 128, 71, 198, 237, 15, 103, + 4, 60, 139, 175, 150, 151, 82, 230, 68, 119, 168, 89, 188, 204, 20, 140, 220, 165, 98, + 184, 91, 12, 217, 205, 92, 90, 20, 35, 71, 36, 138, 76, 96, 22, 251, 247, 173, 78, + 222, 241, 197, 134, 75, 130, 83, 96, 14, 47, 5, 113, 232, 96, 126, 193, 45, 218, 28, + 66, 253, 99, 103, 136, 176, 200, 158, 171, 191, 76, 249, 158, 62, 190, 37, 137, 65, 120, + 233, 80, 168, 238, 193, 145, 79, 63, 82, 125, 26, 111, 191, 24, 210, 39, 161, 131, 239, + 64, 46, 175, 140, 39, 77, 202, 230, 115, 84, 40, 235, 62, 120, 148, 45, 57, 37, 124, + 121, 120, 249, 148, 231, 185, 172, 186, 224, 77, 61, 207, 141, 107, 126, 26, 147, 204, 229, + 121, 63, 58, 161, 43, 120, 25, 191, 165, 83, 228, 34, 205, 92, 27, 97, 67, 213, 13, + 253, 182, 91, 59, 133, 233, 166, 4, 4, 57, 209, 233, 179, 16, 35, 85, 59, 155, 111, + 250, 65, 194, 223, 99, 144, 59, 127, 241, 127, 85, 255, 125, 11, 90, 184, 145, 68, 95, + 150, 72, 153, 103, 49, 76, 120, 85, 161, 179, 241, 16, 174, 51, 211, 142, 150, 99, 201, + 22, 85, 73, 108, 84, 199, 120, 175, 128, 9, 243, 223, 160, 59, 120, 8, 109, 197, 128, + 194, 103, 52, 180, 119, 227, 231, 75, 113, 126, 175, 59, 148, 4, 132, 1, 89, 75, 121, + 8, 204, 131, 251, 171, 36, 55, 36, 44, 165, 233, 172, 103, 80, 224, 28, 200, 195, 3, + 20, 53, 129, 195, 112, 22, 200, 244, 23, 34, 64, 145, 42, 12, 20, 38, 184, 56, 94, + 220, 101, 3, 198, 17, 107, 22, 242, 135, 222, 182, 138, 243, 235, 11, 182, 91, 34, 127, + 80, 58, 161, 145, 203, 204, 158, 224, 242, 86, 24, 81, 51, 126, 84, 249, 143, 191, 15, + 130, 70, 238, 57, 209, 225, 36, 221, 152, 128, 255, 24, 208, 57, 186, 97, 4, 134, 255, + 229, 121, 86, 254, 202, 137, 124, 31, 130, 12, 222, 146, 142, 37, 129, 199, 247, 98, 236, + 212, 251, 108, 211, 20, 60, 13, 206, 158, 18, 84}; + +SimpleConvolution::SimpleConvolution() { + width_ = 64; + height_ = 64; + mask_width_ = 3; + mask_height_ = mask_width_; + randomize_seed_ = 0; + + if (!IsPowerOf2(width_)) { + width_ = RoundToPowerOf2(width_); + } + + if (!IsPowerOf2(height_)) { + height_ = RoundToPowerOf2(height_); + } + + if (!(mask_width_ % 2)) { + mask_width_++; + } + + if (!(mask_height_ % 2)) { + mask_height_++; + } + + if (width_ * height_ < 256) { + width_ = 64; + height_ = 64; + } + + const uint32_t input_size_bytes = width_ * height_ * sizeof(uint32_t); + const uint32_t mask_size_bytes = mask_width_ * mask_height_ * sizeof(float); + + SetInDescr(KERNARG_BUF_ID, KERNARG_DES_ID, sizeof(kernel_args_t)); + SetInDescr(INPUT_BUF_ID, SYS_DES_ID, input_size_bytes); + SetInDescr(MASK_BUF_ID, SYS_DES_ID, mask_size_bytes); + SetOutDescr(LOCAL_BUF_ID, LOCAL_DES_ID, input_size_bytes); + SetHostDescr(REFOUT_BUF_ID, REFOUT_DES_ID, input_size_bytes); + + if (!randomize_seed_) TEST_ASSERT(sizeof(input_data_) <= input_size_bytes); +} + +void SimpleConvolution::Init() { + std::clog << "SimpleConvolution::init :" << std::endl; + + mem_descr_t kernarg_des = GetDescr(KERNARG_BUF_ID); + mem_descr_t input_des = GetDescr(INPUT_BUF_ID); + mem_descr_t mask_des = GetDescr(MASK_BUF_ID); + mem_descr_t output_des = GetDescr(LOCAL_BUF_ID); +#if 0 + printf("kernarg_des %p 0x%x\n", kernarg_des.ptr, kernarg_des.size); + printf("input_des %p 0x%x\n", input_des.ptr, input_des.size); + printf("mask_des %p 0x%x\n", mask_des.ptr, mask_des.size); + printf("output_des %p 0x%x\n", output_des.ptr, output_des.size); +#endif + uint32_t* input = reinterpret_cast(input_des.ptr); + uint32_t* output_local = reinterpret_cast(output_des.ptr); + float* mask = reinterpret_cast(mask_des.ptr); + kernel_args_t* kernel_args = reinterpret_cast(kernarg_des.ptr); + + if (randomize_seed_) { + // random initialisation of input + FillRandom(input, width_, height_, 0, 255, randomize_seed_); + } else { + // initialization with preset values + memcpy(input, input_data_, width_ * height_ * sizeof(uint32_t)); + } + + // Fill a blurr filter or some other filter of your choice + const float val = 1.0f / (mask_width_ * 2.0f - 1.0f); + for (uint32_t i = 0; i < (mask_width_ * mask_height_); i++) { + mask[i] = 0; + } + for (uint32_t i = 0; i < mask_width_; i++) { + uint32_t y = mask_height_ / 2; + mask[y * mask_width_ + i] = val; + } + for (uint32_t i = 0; i < mask_height_; i++) { + uint32_t x = mask_width_ / 2; + mask[i * mask_width_ + x] = val; + } + + // Print the INPUT array. + std::clog << std::dec; + PrintArray("> Input[0]", input, width_, 1); + PrintArray("> Mask", mask, mask_width_, mask_height_); + + // Fill the kernel args + kernel_args->arg1 = output_local; + kernel_args->arg2 = input; + kernel_args->arg3 = mask; + kernel_args->arg4 = width_; + kernel_args->arg41 = height_; + kernel_args->arg5 = mask_width_; + kernel_args->arg51 = mask_height_; + + // Calculate the reference output + ReferenceImplementation(reinterpret_cast(GetRefOut()), input, mask, width_, height_, + mask_width_, mask_height_); +} + +void SimpleConvolution::PrintOutput(const void* ptr) const { + PrintArray("> Output[0]", reinterpret_cast(ptr), width_, 1); +} + +bool SimpleConvolution::ReferenceImplementation(uint32_t* output, const uint32_t* input, + const float* mask, const uint32_t width, + const uint32_t height, const uint32_t mask_width, + const uint32_t mask_height) { + const uint32_t vstep = (mask_width - 1) / 2; + const uint32_t hstep = (mask_height - 1) / 2; + + // for each pixel in the input + for (uint32_t x = 0; x < width; x++) { + for (uint32_t y = 0; y < height; y++) { + // find the left, right, top and bottom indices such that + // the indices do not go beyond image boundaires + const uint32_t left = (x < vstep) ? 0 : (x - vstep); + const uint32_t right = ((x + vstep) >= width) ? width - 1 : (x + vstep); + const uint32_t top = (y < hstep) ? 0 : (y - hstep); + const uint32_t bottom = ((y + hstep) >= height) ? height - 1 : (y + hstep); + + // initializing wighted sum value + float sum_fx = 0; + for (uint32_t i = left; i <= right; ++i) { + for (uint32_t j = top; j <= bottom; ++j) { + // performing wighted sum within the mask boundaries + uint32_t mask_idx = (j - (y - hstep)) * mask_width + (i - (x - vstep)); + uint32_t index = j * width + i; + + // to round to the nearest integer + sum_fx += ((float)input[index] * mask[mask_idx]); + } + } + sum_fx += 0.5f; + output[y * width + x] = uint32_t(sum_fx); + } + } + + return true; +} diff --git a/test/hsa/test/simple_convolution/simple_convolution.h b/test/hsa/test/simple_convolution/simple_convolution.h new file mode 100644 index 0000000000..550d1320c6 --- /dev/null +++ b/test/hsa/test/simple_convolution/simple_convolution.h @@ -0,0 +1,94 @@ +/****************************************************************************** +Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +*******************************************************************************/ + +#ifndef TEST_SIMPLE_CONVOLUTION_SIMPLE_CONVOLUTION_H_ +#define TEST_SIMPLE_CONVOLUTION_SIMPLE_CONVOLUTION_H_ + +#include +#include + +#include "ctrl/test_kernel.h" + +// Class implements SimpleConvolution kernel parameters +class SimpleConvolution : public TestKernel { + public: + // Kernel buffers IDs + enum { INPUT_BUF_ID, LOCAL_BUF_ID, MASK_BUF_ID, KERNARG_BUF_ID, REFOUT_BUF_ID }; + + // Constructor + SimpleConvolution(); + + // Initialize method + void Init(); + + // Return compute grid size + uint32_t GetGridSize() const { return width_ * height_; } + + // Print output + void PrintOutput(const void* ptr) const; + + // Return name + std::string Name() const { return std::string("SimpleConvolution"); } + + private: + // Local kernel arguments declaration + struct kernel_args_t { + void* arg1; + void* arg2; + void* arg3; + uint32_t arg4; + uint32_t arg41; + uint32_t arg5; + uint32_t arg51; + }; + + // Reference CPU implementation of Simple Convolution + // @param output Output matrix after performing convolution + // @param input Input matrix on which convolution is to be performed + // @param mask mask matrix using which convolution was to be performed + // @param input_dimensions dimensions of the input matrix + // @param mask_dimensions dimensions of the mask matrix + // @return bool true on success and false on failure + bool ReferenceImplementation(uint32_t* output, const uint32_t* input, const float* mask, + const uint32_t width, const uint32_t height, + const uint32_t maskWidth, const uint32_t maskHeight); + + // Width of the Input array + uint32_t width_; + + // Height of the Input array + uint32_t height_; + + // Mask dimensions + uint32_t mask_width_; + + // Mask dimensions + uint32_t mask_height_; + + // Randomize input data + unsigned randomize_seed_; + + // Input data + static const uint32_t input_data_[]; +}; + +#endif // TEST_SIMPLE_CONVOLUTION_SIMPLE_CONVOLUTION_H_ diff --git a/test/hsa/test/util/evt_stats.h b/test/hsa/test/util/evt_stats.h new file mode 100644 index 0000000000..01bc131744 --- /dev/null +++ b/test/hsa/test/util/evt_stats.h @@ -0,0 +1,98 @@ +#ifndef EVT_STATS_H_ +#define EVT_STATS_H_ + +#include + +#include +#include +#include +#include + +template +class EvtStatsT { + public: + typedef std::mutex mutex_t; + typedef uint64_t evt_count_t; + typedef double evt_avr_t; + struct evt_record_t { + uint64_t count; + evt_avr_t avr; + evt_record_t() : count(0), avr(0) {} + }; + typedef typename std::map map_t; + typedef typename std::map labels_t; + + // Comparison function + struct cmpfun { + template bool operator()(const T& a, const T& b) const { + return (a.second.avr != b.second.avr) ? a.second.avr < b.second.avr : a.first < b.first; + } + }; + + inline void add_event(evt_id_t id, evt_weight_t weight) { + std::lock_guard lck(mutex_); + //printf("EvtStats %p ::add_event %u %lu\n", this, id, weight); fflush(stdout); + + evt_record_t& rec = map_[id]; + const evt_count_t prev_count = rec.count; + const evt_count_t new_count = prev_count + 1; + const evt_avr_t prev_avr = rec.avr; + const evt_avr_t new_avr = ((prev_avr * prev_count) + weight) / new_count; + + rec.count = new_count; + rec.avr = new_avr; + } + + void dump() { + std::lock_guard lck(mutex_); + fprintf(stdout, "Dumping %s\n", path_); fflush(stdout); + + typedef typename std::set, cmpfun> set_t; + set_t s_(map_.begin(), map_.end()); + + uint64_t index = 0; + for (auto& e : s_) { + const evt_id_t id = e.first; + const char* label = get_label(id); + std::ostringstream oss; + oss << index << ",\"" << label << "\"," << e.second.count << "," << (uint64_t)(e.second.avr) << "," << (uint64_t)(e.second.count * e.second.avr); + fprintf(fdes_, "%s\n", oss.str().c_str()); + index += 1; + } + + fclose(fdes_); + } + + const char* get_label(const uint32_t& id) { + auto ret = labels_.insert({id, NULL}); + const char* label = ret.first->second; + return label; + } + const char* get_label(const char* id) { + return id; + } + const char* get_label(const std::string& id) { + return id.c_str(); + } + + void set_label(evt_id_t id, const char* label) { + //printf("EvtStats %p ::set_label %u %s\n", this, id, label); fflush(stdout); + labels_[id] = label; + } + + EvtStatsT(FILE* f, const char* path) : fdes_(f), path_(path) { + //printf("EvtStats %p ::EvtStatsT()\n", this); fflush(stdout); + fprintf(fdes_, "Index,Name,Count,Avr,Total\n"); + } + + private: + mutex_t mutex_; + map_t map_; + labels_t labels_; + FILE* fdes_; + const char* path_; +}; + +typedef EvtStatsT EvtStats; + +#endif // EVT_STATS_H_ diff --git a/test/hsa/test/util/helper_funcs.h b/test/hsa/test/util/helper_funcs.h new file mode 100644 index 0000000000..c76854baed --- /dev/null +++ b/test/hsa/test/util/helper_funcs.h @@ -0,0 +1,86 @@ +/****************************************************************************** +Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +*******************************************************************************/ + +#ifndef TEST_UTIL_HELPER_FUNCS_H_ +#define TEST_UTIL_HELPER_FUNCS_H_ + +#include +#include +#include +#include +#include + +static inline void Error(std::string error_msg) { + std::cerr << "Error: " << error_msg << std::endl; +} + +template +void PrintArray(const std::string header, const T* data, const int width, const int height) { + std::clog << header << " :\n"; + for (int i = 0; i < height; i++) { + std::clog << "> "; + for (int j = 0; j < width; j++) { + std::clog << data[i * width + j] << " "; + } + std::clog << "\n"; + } +} + +template +bool FillRandom(T* array_ptr, const int width, const int height, const T range_min, + const T range_max, unsigned int seed = 123) { + if (!array_ptr) { + Error("Cannot fill array. NULL pointer."); + return false; + } + + if (!seed) seed = (unsigned int)time(NULL); + + srand(seed); + double range = double(range_max - range_min) + 1.0; + + /* random initialisation of input */ + for (int i = 0; i < height; i++) + for (int j = 0; j < width; j++) { + int index = i * width + j; + array_ptr[index] = range_min + T(range * rand() / (RAND_MAX + 1.0)); + } + + return true; +} + +template T RoundToPowerOf2(T val) { + int bytes = sizeof(T); + + val--; + for (int i = 0; i < bytes; i++) val |= val >> (1 << i); + val++; + + return val; +} + +template bool IsPowerOf2(T val) { + long long long_val = val; + return (((long_val & (-long_val)) - long_val == 0) && (long_val != 0)); +} + +#endif // TEST_UTIL_HELPER_FUNCS_H_ diff --git a/test/hsa/test/util/hsa_rsrc_factory.cpp b/test/hsa/test/util/hsa_rsrc_factory.cpp new file mode 120000 index 0000000000..f3726ccf79 --- /dev/null +++ b/test/hsa/test/util/hsa_rsrc_factory.cpp @@ -0,0 +1 @@ +../../src/hsa_rsrc_factory.cpp \ No newline at end of file diff --git a/test/hsa/test/util/hsa_rsrc_factory.h b/test/hsa/test/util/hsa_rsrc_factory.h new file mode 120000 index 0000000000..64af96f19b --- /dev/null +++ b/test/hsa/test/util/hsa_rsrc_factory.h @@ -0,0 +1 @@ +../../src/hsa_rsrc_factory.h \ No newline at end of file diff --git a/test/hsa/test/util/perf_timer.cpp b/test/hsa/test/util/perf_timer.cpp new file mode 100644 index 0000000000..85c490b6b1 --- /dev/null +++ b/test/hsa/test/util/perf_timer.cpp @@ -0,0 +1,179 @@ +/****************************************************************************** +Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +*******************************************************************************/ + +#include "util/perf_timer.h" + +PerfTimer::PerfTimer() { freq_in_100mhz_ = MeasureTSCFreqHz(); } + +PerfTimer::~PerfTimer() { + while (!timers_.empty()) { + Timer* temp = timers_.back(); + timers_.pop_back(); + delete temp; + } +} + +// New cretaed timer instantance index will be returned +int PerfTimer::CreateTimer() { + Timer* newTimer = new Timer; + newTimer->start = 0; + newTimer->clocks = 0; + +#ifdef _WIN32 + QueryPerformanceFrequency((LARGE_INTEGER*)&newTimer->freq); +#else + newTimer->freq = (long long)1.0E3; +#endif + + /* Push back the address of new Timer instance created */ + timers_.push_back(newTimer); + return (int)(timers_.size() - 1); +} + +int PerfTimer::StartTimer(int index) { + if (index >= (int)timers_.size()) { + Error("Cannot reset timer. Invalid handle."); + return FAILURE; + } + +#ifdef _WIN32 +// General Windows timing method +#ifndef _AMD + long long tmpStart; + QueryPerformanceCounter((LARGE_INTEGER*)&(tmpStart)); + timers_[index]->start = (double)tmpStart; +#else +// AMD Windows timing method +#endif +#else +// General Linux timing method +#ifndef _AMD + struct timeval s; + gettimeofday(&s, 0); + timers_[index]->start = s.tv_sec * 1.0E3 + ((double)(s.tv_usec / 1.0E3)); +#else + // AMD timing method + unsigned int unused; + timers_[index]->start = __rdtscp(&unused); +#endif +#endif + + return SUCCESS; +} + + +int PerfTimer::StopTimer(int index) { + double n = 0; + if (index >= (int)timers_.size()) { + Error("Cannot reset timer. Invalid handle."); + return FAILURE; + } +#ifdef _WIN32 +#ifndef _AMD + long long n1; + QueryPerformanceCounter((LARGE_INTEGER*)&(n1)); + n = (double)n1; +#else +// AMD Window Timing +#endif + +#else +// General Linux timing method +#ifndef _AMD + struct timeval s; + gettimeofday(&s, 0); + n = s.tv_sec * 1.0E3 + (double)(s.tv_usec / 1.0E3); +#else + // AMD Linux timing + unsigned int unused; + n = __rdtscp(&unused); +#endif +#endif + + n -= timers_[index]->start; + timers_[index]->start = 0; + +#ifndef _AMD + timers_[index]->clocks += n; +#else + // timers_[index]->clocks += 10 * n / freq_in_100mhz_; // unit is ns + timers_[index]->clocks += 1.0E-6 * 10 * n / freq_in_100mhz_; // convert to ms +#endif + + return SUCCESS; +} + +void PerfTimer::Error(std::string str) { std::cout << str << std::endl; } + + +double PerfTimer::ReadTimer(int index) { + if (index >= (int)timers_.size()) { + Error("Cannot read timer. Invalid handle."); + return FAILURE; + } + + double reading = double(timers_[index]->clocks); + + reading = double(reading / timers_[index]->freq); + + return reading; +} + + +uint64_t PerfTimer::CoarseTimestampUs() { +#ifdef _WIN32 + uint64_t freqHz, ticks; + QueryPerformanceFrequency((LARGE_INTEGER*)&freqHz); + QueryPerformanceCounter((LARGE_INTEGER*)&ticks); + + // Scale numerator and divisor until (ticks * 1000000) fits in uint64_t. + while (ticks > (1ULL << 44)) { + ticks /= 16; + freqHz /= 16; + } + + return (ticks * 1000000) / freqHz; +#else + struct timespec ts; + clock_gettime(CLOCK_MONOTONIC_RAW, &ts); + return uint64_t(ts.tv_sec) * 1000000 + ts.tv_nsec / 1000; +#endif +} + +uint64_t PerfTimer::MeasureTSCFreqHz() { + // Make a coarse interval measurement of TSC ticks for 1 gigacycles. + unsigned int unused; + uint64_t tscTicksEnd; + + uint64_t coarseBeginUs = CoarseTimestampUs(); + uint64_t tscTicksBegin = __rdtscp(&unused); + do { + tscTicksEnd = __rdtscp(&unused); + } while (tscTicksEnd - tscTicksBegin < 1000000000); + + uint64_t coarseEndUs = CoarseTimestampUs(); + + // Compute the TSC frequency and round to nearest 100MHz. + uint64_t coarseIntervalNs = (coarseEndUs - coarseBeginUs) * 1000; + uint64_t tscIntervalTicks = tscTicksEnd - tscTicksBegin; + return (tscIntervalTicks * 10 + (coarseIntervalNs / 2)) / coarseIntervalNs; +} diff --git a/test/hsa/test/util/perf_timer.h b/test/hsa/test/util/perf_timer.h new file mode 100644 index 0000000000..bfd553240c --- /dev/null +++ b/test/hsa/test/util/perf_timer.h @@ -0,0 +1,83 @@ +/****************************************************************************** +Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +*******************************************************************************/ + +#ifndef TEST_UTIL_PERF_TIMER_H_ +#define TEST_UTIL_PERF_TIMER_H_ + +// Will use AMD timer or general Linux timer based on compilation flag +// Need to consider platform is Windows or Linux + +#include +#include +#include + +#if defined(_MSC_VER) +#include +#include +#include +#else +#if defined(__GNUC__) +#include +#include +#endif // __GNUC__ +#endif // _MSC_VER + +#include +#include +#include + +class PerfTimer { + public: + enum { SUCCESS = 0, FAILURE = 1 }; + + PerfTimer(); + ~PerfTimer(); + + // General Linux timing method + int CreateTimer(); + int StartTimer(int index); + int StopTimer(int index); + + // retrieve time + double ReadTimer(int index); + // write into a file + double WriteTimer(int index); + + private: + struct Timer { + std::string name; /* name of time object */ + long long freq; /* frequency */ + double clocks; /* number of ticks at end */ + double start; /* start point ticks */ + }; + + std::vector timers_; /* vector to Timer objects */ + double freq_in_100mhz_; + + // AMD timing method + uint64_t CoarseTimestampUs(); + uint64_t MeasureTSCFreqHz(); + + void Error(std::string str); +}; + +#endif // TEST_UTIL_PERF_TIMER_H_ diff --git a/test/hsa/test/util/test_assert.h b/test/hsa/test/util/test_assert.h new file mode 100644 index 0000000000..7803865dfb --- /dev/null +++ b/test/hsa/test/util/test_assert.h @@ -0,0 +1,35 @@ +/****************************************************************************** +Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +*******************************************************************************/ + +#ifndef TEST_UTIL_TEST_ASSERT_H_ +#define TEST_UTIL_TEST_ASSERT_H_ + +#define TEST_ASSERT(cond) \ + { \ + if (!(cond)) { \ + std::cerr << "Assert failed(" << #cond << ") at " << __FILE__ << ", line " << __LINE__ \ + << std::endl; \ + exit(-1); \ + } \ + } + +#endif // TEST_UTIL_TEST_ASSERT_H_ diff --git a/test/hsa/test/util/xml.h b/test/hsa/test/util/xml.h new file mode 100644 index 0000000000..eb2f507410 --- /dev/null +++ b/test/hsa/test/util/xml.h @@ -0,0 +1,457 @@ +/****************************************************************************** +Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +*******************************************************************************/ + +#ifndef TEST_UTIL_XML_H_ +#define TEST_UTIL_XML_H_ + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +namespace xml { + +class Xml { + public: + typedef std::vector token_t; + + struct level_t; + typedef std::vector nodes_t; + typedef std::map opts_t; + struct level_t { + std::string tag; + nodes_t nodes; + opts_t opts; + }; + typedef std::vector nodes_vec_t; + typedef std::map map_t; + + enum { DECL_STATE, BODY_STATE }; + + static Xml* Create(const std::string& file_name, const Xml* obj = NULL) { + Xml* xml = new Xml(file_name, obj); + if (xml != NULL) { + if (xml->Init() == false) { + delete xml; + xml = NULL; + } else { + const std::size_t pos = file_name.rfind('/'); + const std::string path = (pos != std::string::npos) ? file_name.substr(0, pos + 1) : ""; + + xml->PreProcess(); + nodes_t incl_nodes; + for (auto* node : xml->GetNodes("top.include")) { + if (node->opts.find("touch") == node->opts.end()) { + node->opts["touch"] = ""; + incl_nodes.push_back(node); + } + } + for (auto* incl : incl_nodes) { + const std::string& incl_name = path + incl->opts["file"]; + Xml* ixml = Create(incl_name, xml); + if (ixml == NULL) { + delete xml; + xml = NULL; + break; + } else { + delete ixml; + } + } + if (xml) { + xml->Process(); + } + } + } + + return xml; + } + + static void Destroy(Xml* xml) { delete xml; } + + std::string GetName() { return file_name_; } + + void AddExpr(const std::string& full_tag, const std::string& name, const std::string& expr) { + const std::size_t pos = full_tag.rfind('.'); + const std::size_t pos1 = (pos == std::string::npos) ? 0 : pos + 1; + const std::string level_tag = full_tag.substr(pos1); + level_t* level = new level_t; + (*map_)[full_tag].push_back(level); + level->tag = level_tag; + level->opts["name"] = name; + level->opts["expr"] = expr; + } + + void AddConst(const std::string& full_tag, const std::string& name, const uint64_t& val) { + std::ostringstream oss; + oss << val; + AddExpr(full_tag, name, oss.str()); + } + + nodes_t GetNodes(const std::string& global_tag) { return (*map_)[global_tag]; } + + template F ForEach(const F& f_i) { + F f = f_i; + if (map_) { + for (auto& entry : *map_) { + for (auto node : entry.second) { + if (f.fun(entry.first, node) == false) break; + } + } + } + return f; + } + + template F ForEach(const F& f_i) const { + F f = f_i; + if (map_) { + for (auto& entry : *map_) { + for (auto node : entry.second) { + if (f.fun(entry.first, node) == false) break; + } + } + } + return f; + } + + struct print_func { + bool fun(const std::string& global_tag, level_t* node) { + for (auto& opt : node->opts) { + std::cout << global_tag << "." << opt.first << " = " << opt.second << std::endl; + } + return true; + } + }; + + void Print() const { + std::cout << "XML file '" << file_name_ << "':" << std::endl; + ForEach(print_func()); + } + + private: + Xml(const std::string& file_name, const Xml* obj) + : file_name_(file_name), + file_line_(0), + data_size_(0), + index_(0), + state_(BODY_STATE), + comment_(false), + included_(false), + level_(NULL), + map_(NULL) { + if (obj != NULL) { + map_ = obj->map_; + level_ = obj->level_; + included_ = true; + } + } + + struct delete_func { + bool fun(const std::string&, level_t* node) { + delete node; + return true; + } + }; + + ~Xml() { + if (included_ == false) { + ForEach(delete_func()); + delete map_; + } + } + + bool Init() { + fd_ = open(file_name_.c_str(), O_RDONLY); + if (fd_ == -1) { + // perror((std::string("open XML file ") + file_name_).c_str()); + return false; + } + + if (map_ == NULL) { + map_ = new map_t; + if (map_ == NULL) return false; + AddLevel("top"); + } + + return true; + } + + void PreProcess() { + uint32_t ind = 0; + char buf[kBufSize]; + bool error = false; + + while (1) { + const uint32_t pos = lseek(fd_, 0, SEEK_CUR); + uint32_t size = read(fd_, buf, kBufSize); + if (size <= 0) break; + buf[size - 1] = '\0'; + + if (strncmp(buf, "#include \"", 10) == 0) { + for (ind = 0; (ind < size) && (buf[ind] != '\n'); ++ind) {} + if (ind == size) { + fprintf(stderr, "XML PreProcess failed, line size limit %zu\n", kBufSize); + error = true; + break; + } + buf[ind] = '\0'; + size = ind; + lseek(fd_, pos + ind + 1, SEEK_SET); + + for (ind = 10; (ind < size) && (buf[ind] != '"'); ++ind) {} + if (ind == size) { + error = true; + break; + } + buf[ind] = '\0'; + + AddLevel("include"); + AddOption("file", &buf[10]); + UpLevel(); + } + } + + if (error) { + fprintf(stderr, "XML PreProcess failed, line '%s'\n", buf); + exit(1); + } + + lseek(fd_, 0, SEEK_SET); + } + + void Process() { + token_t remainder; + + while (1) { + token_t token = (remainder.size()) ? remainder : NextToken(); + remainder.clear(); + + // token_t token1 = token; + // token1.push_back('\0'); + // std::cout << "> " << &token1[0] << std::endl; + + // End of file + if (token.size() == 0) break; + + switch (state_) { + case BODY_STATE: + if (token[0] == '<') { + bool node_begin = true; + unsigned ind = 1; + if (token[1] == '/') { + node_begin = false; + ++ind; + } + + unsigned i = ind; + while (i < token.size()) { + if (token[i] == '>') break; + ++i; + } + for (unsigned j = i + 1; j < token.size(); ++j) remainder.push_back(token[j]); + + if (i == token.size()) { + if (node_begin) + state_ = DECL_STATE; + else + BadFormat(token); + token.push_back('\0'); + } else { + token[i] = '\0'; + } + + const char* tag = &token[ind]; + if (node_begin) { + AddLevel(tag); + } else { + if (strncmp(CurrentLevel().c_str(), tag, strlen(tag)) != 0) { + token.back() = '>'; + BadFormat(token); + } + UpLevel(); + } + } else { + BadFormat(token); + } + break; + case DECL_STATE: + if (token[0] == '>') { + state_ = BODY_STATE; + for (unsigned j = 1; j < token.size(); ++j) remainder.push_back(token[j]); + continue; + } else { + token.push_back('\0'); + unsigned j = 0; + for (j = 0; j < token.size(); ++j) + if (token[j] == '=') break; + if (j == token.size()) BadFormat(token); + token[j] = '\0'; + const char* key = &token[0]; + const char* value = &token[j + 1]; + AddOption(key, value); + } + break; + default: + std::cout << "XML parser error: wrong state: " << state_ << std::endl; + exit(1); + } + } + } + + bool SpaceCheck() const { + bool cond = ((buffer_[index_] == ' ') || (buffer_[index_] == '\t')); + return cond; + } + + bool LineEndCheck() { + bool found = false; + if (buffer_[index_] == '\n') { + buffer_[index_] = ' '; + ++file_line_; + found = true; + comment_ = false; + } else if (comment_ || (buffer_[index_] == '#')) { + found = true; + comment_ = true; + } + return found; + } + + token_t NextToken() { + token_t token; + bool in_string = false; + bool special_symb = false; + + while (1) { + if (data_size_ == 0) { + data_size_ = read(fd_, buffer_, kBufSize); + if (data_size_ <= 0) break; + } + + if (token.empty()) { + while ((index_ < data_size_) && (SpaceCheck() || LineEndCheck())) { + ++index_; + } + } + while ((index_ < data_size_) && (in_string || !(SpaceCheck() || LineEndCheck()))) { + const char symb = buffer_[index_]; + bool skip_symb = false; + + switch (symb) { + case '\\': + if (special_symb) { + special_symb = false; + } else { + special_symb = true; + skip_symb = true; + } + break; + case '"': + if (special_symb) { + special_symb = false; + } else { + in_string = !in_string; + if (!in_string) { + buffer_[index_] = ' '; + --index_; + } + skip_symb = true; + } + break; + } + + if (!skip_symb) token.push_back(symb); + ++index_; + } + + if (index_ == data_size_) { + index_ = 0; + data_size_ = 0; + } else { + if (special_symb || in_string) BadFormat(token); + break; + } + } + + return token; + } + + void BadFormat(token_t token) { + token.push_back('\0'); + std::cout << "Error: " << file_name_ << ", line " << file_line_ << ", bad XML token '" + << &token[0] << "'" << std::endl; + exit(1); + } + + void AddLevel(const std::string& tag) { + level_t* level = new level_t; + level->tag = tag; + if (level_) { + level_->nodes.push_back(level); + stack_.push_back(level_); + } + level_ = level; + + std::string global_tag; + for (level_t* level : stack_) { + global_tag += level->tag + "."; + } + global_tag += tag; + (*map_)[global_tag].push_back(level_); + } + + void UpLevel() { + level_ = stack_.back(); + stack_.pop_back(); + } + + std::string CurrentLevel() const { return level_->tag; } + + void AddOption(const std::string& key, const std::string& value) { level_->opts[key] = value; } + + const std::string file_name_; + unsigned file_line_; + int fd_; + + static const size_t kBufSize = 256; + char buffer_[kBufSize]; + + unsigned data_size_; + unsigned index_; + unsigned state_; + bool comment_; + std::vector stack_; + bool included_; + level_t* level_; + map_t* map_; +}; + +} // namespace xml + +#endif // TEST_UTIL_XML_H_ From e7327aaac7f8050576979440d3e37058f70f0b1d Mon Sep 17 00:00:00 2001 From: Ammar ELWazir Date: Thu, 7 Apr 2022 00:07:24 +0000 Subject: [PATCH 481/691] SWDEV-295522: Fixing Performance Issue Removing DEBUG_TRACES and the unnecessary use of roctracer_op_string, made the MS app reporting 78 to 81 stable samples per second, depending on the type of the trace, while the main app without rocprof reports 100 to 106. More detailed numbers will be posted in the ticket. Change-Id: Ida25d3bfc72047afaa27326d697be76d97564334 --- src/core/roctracer.cpp | 19 ------------------- test/tool/tracer_tool.cpp | 28 +--------------------------- 2 files changed, 1 insertion(+), 46 deletions(-) diff --git a/src/core/roctracer.cpp b/src/core/roctracer.cpp index c9d55da91f..ffb85106b1 100644 --- a/src/core/roctracer.cpp +++ b/src/core/roctracer.cpp @@ -294,8 +294,6 @@ static inline void CorrelationIdRegistr(const activity_correlation_id_t& correla std::lock_guard lck(correlation_id_mutex); const auto ret = correlation_id_map.insert({correlation_id, correlation_id_tls}); if (ret.second == false) EXC_ABORT(ROCTRACER_STATUS_ERROR, "HCC activity id is not unique(" << correlation_id << ")"); - - DEBUG_TRACE("CorrelationIdRegistr id(%lu) id_tls(%lu)\n", correlation_id, correlation_id_tls); } static inline activity_correlation_id_t CorrelationIdLookup(const activity_correlation_id_t& correlation_id) { @@ -304,9 +302,6 @@ static inline activity_correlation_id_t CorrelationIdLookup(const activity_corre if (it == correlation_id_map.end()) EXC_ABORT(ROCTRACER_STATUS_ERROR, "HCC activity id lookup failed(" << correlation_id << ")"); const activity_correlation_id_t ret_val = it->second; correlation_id_map.erase(it); - - DEBUG_TRACE("CorrelationIdLookup id(%lu) ret(%lu)\n", correlation_id, ret_val); - return ret_val; } @@ -394,11 +389,6 @@ void* HIP_SyncApiDataCallback( // Clearing correlatin ID correlation_id_tls = 0; } - - const char * name = roctracer_op_string(ACTIVITY_DOMAIN_HIP_API, op_id, 0); - DEBUG_TRACE("HIP_SyncApiDataCallback(\"%s\") phase(%d): op(%u) record(%p) data(%p) pool(%p) depth(%d) correlation_id(%lu) time_ns(%lu)\n", - name, phase, op_id, record, data, pool, (int)(record_pair_stack->size()), (data_ptr) ? data_ptr->correlation_id : 0, timer.timestamp_ns()); - return ret; } @@ -488,11 +478,6 @@ void* HIP_SyncActivityCallback( // Clearing correlatin ID correlation_id_tls = 0; } - - const char * name = roctracer_op_string(ACTIVITY_DOMAIN_HIP_API, op_id, 0); - DEBUG_TRACE("HIP_SyncActivityCallback(\"%s\") phase(%d): op(%u) record(%p) data(%p) pool(%p) depth(%d) correlation_id(%lu) beg_ns(%lu) end_ns(%lu)\n", - name, phase, op_id, record, data, pool, (int)(record_pair_stack->size()), (data_ptr) ? data_ptr->correlation_id : 0, timestamp_ns); - return ret; } @@ -507,10 +492,6 @@ void HCC_AsyncActivityCallback(uint32_t op_id, void* record, void* arg) { record_ptr->correlation_id = CorrelationIdLookup(record_ptr->correlation_id); if (record_ptr->correlation_id == 0) return; pool->Write(*record_ptr); - - const char * name = roctracer_op_string(ACTIVITY_DOMAIN_HCC_OPS, record_ptr->op, record_ptr->kind); - DEBUG_TRACE("HCC_AsyncActivityCallback(\"%s\"): op(%u) kind(%u) record(%p) pool(%p) correlation_id(%d) beg_ns(%lu) end_ns(%lu)\n", - name, record_ptr->op, record_ptr->kind, record, pool, record_ptr->correlation_id, record_ptr->begin_ns, record_ptr->end_ns); } // Open output file diff --git a/test/tool/tracer_tool.cpp b/test/tool/tracer_tool.cpp index 0b8f4852de..035a599fdd 100644 --- a/test/tool/tracer_tool.cpp +++ b/test/tool/tracer_tool.cpp @@ -82,21 +82,6 @@ THE SOFTWARE. static inline uint32_t GetPid() { return syscall(__NR_getpid); } static inline uint32_t GetTid() { return syscall(__NR_gettid); } -#if DEBUG_TRACE_ON -inline static void DEBUG_TRACE(const char* fmt, ...) { - constexpr int size = 256; - char buf[size]; - - va_list valist; - va_start(valist, fmt); - vsnprintf(buf, size, fmt, valist); - printf("%u:%u %s", GetPid(), GetTid(), buf); fflush(stdout); - va_end(valist); -} -#else -inline static void DEBUG_TRACE(const char* fmt, ...) {} -#endif - typedef hsa_rt_utils::Timer::timestamp_t timestamp_t; hsa_rt_utils::Timer* timer = NULL; thread_local timestamp_t hsa_begin_timestamp = 0; @@ -472,10 +457,6 @@ void hip_api_callback( entry->valid.store(roctracer::TRACE_ENTRY_COMPL, std::memory_order_release); } - - const char * name = roctracer_op_string(domain, cid, 0); - DEBUG_TRACE("hip_api_callback(\"%s\") phase(%d): cid(%u) data(%p) entry(%p) name(\"%s\") correlation_id(%lu) timestamp(%lu)\n", - name, data->phase, cid, data, entry, (entry) ? entry->name : NULL, data->correlation_id, timestamp); } void mark_api_callback( @@ -518,11 +499,7 @@ void hip_api_flush_cb(hip_api_trace_entry_t* entry) { const char* str = (domain != ACTIVITY_DOMAIN_EXT_API) ? roctracer_op_string(domain, cid, 0) : strdup("MARK"); rec_ss << std::dec << begin_timestamp << ":" << end_timestamp << " " << entry->pid << ":" << entry->tid; oss << std::dec << rec_ss.str() << " " << str; - - const char * name = roctracer_op_string(entry->domain, entry->cid, 0); - DEBUG_TRACE("hip_api_flush_cb(\"%s\"): domain(%u) cid(%u) entry(%p) name(\"%s\" correlation_id(%lu) beg(%lu) end(%lu))\n", - name, entry->domain, entry->cid, entry, entry->name, correlation_id, begin_timestamp, end_timestamp); - + if (domain == ACTIVITY_DOMAIN_HIP_API) { #if HIP_PROF_HIP_API_STRING if (hip_api_stats != NULL) { @@ -643,9 +620,6 @@ void pool_activity_callback(const char* begin, const char* end, void* arg) { while (record < end_record) { const char * name = roctracer_op_string(record->domain, record->op, record->kind); - DEBUG_TRACE("pool_activity_callback(\"%s\"): domain(%u) op(%u) kind(%u) record(%p) correlation_id(%lu) beg(%lu) end(%lu)\n", - name, record->domain, record->op, record->kind, record, record->correlation_id, record->begin_ns, record->end_ns); - switch(record->domain) { case ACTIVITY_DOMAIN_HCC_OPS: if (hip_memcpy_stats != NULL) { From 57add1a6fac6288707c0ab62de605f4329d795e7 Mon Sep 17 00:00:00 2001 From: Ammar Elwazir Date: Thu, 7 Apr 2022 06:55:34 -0400 Subject: [PATCH 482/691] Revert "SWDEV-295522: Fixing Performance Issue" This reverts commit e7327aaac7f8050576979440d3e37058f70f0b1d. Reason for revert: Merged by mistake Change-Id: I8c39c823d92cc20a238ca6120dde4b2fa9121e85 --- src/core/roctracer.cpp | 19 +++++++++++++++++++ test/tool/tracer_tool.cpp | 28 +++++++++++++++++++++++++++- 2 files changed, 46 insertions(+), 1 deletion(-) diff --git a/src/core/roctracer.cpp b/src/core/roctracer.cpp index ffb85106b1..c9d55da91f 100644 --- a/src/core/roctracer.cpp +++ b/src/core/roctracer.cpp @@ -294,6 +294,8 @@ static inline void CorrelationIdRegistr(const activity_correlation_id_t& correla std::lock_guard lck(correlation_id_mutex); const auto ret = correlation_id_map.insert({correlation_id, correlation_id_tls}); if (ret.second == false) EXC_ABORT(ROCTRACER_STATUS_ERROR, "HCC activity id is not unique(" << correlation_id << ")"); + + DEBUG_TRACE("CorrelationIdRegistr id(%lu) id_tls(%lu)\n", correlation_id, correlation_id_tls); } static inline activity_correlation_id_t CorrelationIdLookup(const activity_correlation_id_t& correlation_id) { @@ -302,6 +304,9 @@ static inline activity_correlation_id_t CorrelationIdLookup(const activity_corre if (it == correlation_id_map.end()) EXC_ABORT(ROCTRACER_STATUS_ERROR, "HCC activity id lookup failed(" << correlation_id << ")"); const activity_correlation_id_t ret_val = it->second; correlation_id_map.erase(it); + + DEBUG_TRACE("CorrelationIdLookup id(%lu) ret(%lu)\n", correlation_id, ret_val); + return ret_val; } @@ -389,6 +394,11 @@ void* HIP_SyncApiDataCallback( // Clearing correlatin ID correlation_id_tls = 0; } + + const char * name = roctracer_op_string(ACTIVITY_DOMAIN_HIP_API, op_id, 0); + DEBUG_TRACE("HIP_SyncApiDataCallback(\"%s\") phase(%d): op(%u) record(%p) data(%p) pool(%p) depth(%d) correlation_id(%lu) time_ns(%lu)\n", + name, phase, op_id, record, data, pool, (int)(record_pair_stack->size()), (data_ptr) ? data_ptr->correlation_id : 0, timer.timestamp_ns()); + return ret; } @@ -478,6 +488,11 @@ void* HIP_SyncActivityCallback( // Clearing correlatin ID correlation_id_tls = 0; } + + const char * name = roctracer_op_string(ACTIVITY_DOMAIN_HIP_API, op_id, 0); + DEBUG_TRACE("HIP_SyncActivityCallback(\"%s\") phase(%d): op(%u) record(%p) data(%p) pool(%p) depth(%d) correlation_id(%lu) beg_ns(%lu) end_ns(%lu)\n", + name, phase, op_id, record, data, pool, (int)(record_pair_stack->size()), (data_ptr) ? data_ptr->correlation_id : 0, timestamp_ns); + return ret; } @@ -492,6 +507,10 @@ void HCC_AsyncActivityCallback(uint32_t op_id, void* record, void* arg) { record_ptr->correlation_id = CorrelationIdLookup(record_ptr->correlation_id); if (record_ptr->correlation_id == 0) return; pool->Write(*record_ptr); + + const char * name = roctracer_op_string(ACTIVITY_DOMAIN_HCC_OPS, record_ptr->op, record_ptr->kind); + DEBUG_TRACE("HCC_AsyncActivityCallback(\"%s\"): op(%u) kind(%u) record(%p) pool(%p) correlation_id(%d) beg_ns(%lu) end_ns(%lu)\n", + name, record_ptr->op, record_ptr->kind, record, pool, record_ptr->correlation_id, record_ptr->begin_ns, record_ptr->end_ns); } // Open output file diff --git a/test/tool/tracer_tool.cpp b/test/tool/tracer_tool.cpp index 035a599fdd..0b8f4852de 100644 --- a/test/tool/tracer_tool.cpp +++ b/test/tool/tracer_tool.cpp @@ -82,6 +82,21 @@ THE SOFTWARE. static inline uint32_t GetPid() { return syscall(__NR_getpid); } static inline uint32_t GetTid() { return syscall(__NR_gettid); } +#if DEBUG_TRACE_ON +inline static void DEBUG_TRACE(const char* fmt, ...) { + constexpr int size = 256; + char buf[size]; + + va_list valist; + va_start(valist, fmt); + vsnprintf(buf, size, fmt, valist); + printf("%u:%u %s", GetPid(), GetTid(), buf); fflush(stdout); + va_end(valist); +} +#else +inline static void DEBUG_TRACE(const char* fmt, ...) {} +#endif + typedef hsa_rt_utils::Timer::timestamp_t timestamp_t; hsa_rt_utils::Timer* timer = NULL; thread_local timestamp_t hsa_begin_timestamp = 0; @@ -457,6 +472,10 @@ void hip_api_callback( entry->valid.store(roctracer::TRACE_ENTRY_COMPL, std::memory_order_release); } + + const char * name = roctracer_op_string(domain, cid, 0); + DEBUG_TRACE("hip_api_callback(\"%s\") phase(%d): cid(%u) data(%p) entry(%p) name(\"%s\") correlation_id(%lu) timestamp(%lu)\n", + name, data->phase, cid, data, entry, (entry) ? entry->name : NULL, data->correlation_id, timestamp); } void mark_api_callback( @@ -499,7 +518,11 @@ void hip_api_flush_cb(hip_api_trace_entry_t* entry) { const char* str = (domain != ACTIVITY_DOMAIN_EXT_API) ? roctracer_op_string(domain, cid, 0) : strdup("MARK"); rec_ss << std::dec << begin_timestamp << ":" << end_timestamp << " " << entry->pid << ":" << entry->tid; oss << std::dec << rec_ss.str() << " " << str; - + + const char * name = roctracer_op_string(entry->domain, entry->cid, 0); + DEBUG_TRACE("hip_api_flush_cb(\"%s\"): domain(%u) cid(%u) entry(%p) name(\"%s\" correlation_id(%lu) beg(%lu) end(%lu))\n", + name, entry->domain, entry->cid, entry, entry->name, correlation_id, begin_timestamp, end_timestamp); + if (domain == ACTIVITY_DOMAIN_HIP_API) { #if HIP_PROF_HIP_API_STRING if (hip_api_stats != NULL) { @@ -620,6 +643,9 @@ void pool_activity_callback(const char* begin, const char* end, void* arg) { while (record < end_record) { const char * name = roctracer_op_string(record->domain, record->op, record->kind); + DEBUG_TRACE("pool_activity_callback(\"%s\"): domain(%u) op(%u) kind(%u) record(%p) correlation_id(%lu) beg(%lu) end(%lu)\n", + name, record->domain, record->op, record->kind, record, record->correlation_id, record->begin_ns, record->end_ns); + switch(record->domain) { case ACTIVITY_DOMAIN_HCC_OPS: if (hip_memcpy_stats != NULL) { From b30b5b84e7c5ce38b1e9d7139f09787d1c5a05bf Mon Sep 17 00:00:00 2001 From: Tony Tye Date: Fri, 15 Apr 2022 20:29:31 +0000 Subject: [PATCH 483/691] Update README.md Improve formating and correct build directions. Change-Id: I06b97e206e014c29c0c9f3b34dedd683448728f2 --- README.md | 174 +++++++++++++++++++++++++++++++++++++----------------- 1 file changed, 119 insertions(+), 55 deletions(-) diff --git a/README.md b/README.md index e700ee403a..67f8589ee6 100644 --- a/README.md +++ b/README.md @@ -1,75 +1,139 @@ # ROC-tracer -``` -ROC-tracer library: Runtimes Generic Callback/Activity APIs. -The goal of the implementation is to provide a generic independent from -specific runtime profiler to trace API and asyncronous activity. -The API provides functionality for registering the runtimes API callbacks and -asyncronous activity records pool support. +- **ROC-tracer library: Runtimes Generic Callback/Activity APIs** -ROC-TX librray: code annotation evemts API -Includes basic API: roctxMark, roctxRangePush, roctxRangePop. -``` + The goal of the implementation is to provide a generic independent from specific runtime profiler to trace API and asynchronous activity. + + The API provides functionality for registering the runtimes API callbacks and asynchronous activity records pool support. + +- **ROC-TX library: Code Annotation Events API** + + Includes API for: + + - `roctxMark` + - `roctxRangePush` + - `roctxRangePop` ## Usage -``` -rocTracer API: - To use the rocTracer API you need the API header and to link your application with roctracer .so librray: - - the API header: /opt/rocm/roctracer/include/roctracer.h - - the .so library: /opt/rocm/lib/libroctracer64.so -rocTX API: - To use the rocTX API you need the API header and to link your application with roctx .so librray: - - the API header: /opt/rocm/roctracer/include/roctx.h - - the .so library: /opt/rocm/lib/libroctx64.so -``` +### `rocTracer` API -## The library source tree -``` - - doc - documentation - - inc/roctracer.h - rocTacer library public API header - - inc/roctx.h - rocTX library puiblic API header - - src - Library sources - - core - rocTracer library API sources - - roctx - rocTX library API sources - - util - library utils sources - - test - test suit - - MatrixTranspose - test based on HIP MatrixTranspose sample -``` +To use the rocTracer API you need the API header and to link your application with `roctracer` .so library: + +- `/opt/rocm/roctracer/include/roctracer.h` + + API header. + +- `/opt/rocm/lib/libroctracer64.so` + + .so library. + +### `rocTX` API + +To use the rocTX API you need the API header and to link your application with `roctx` .so library: + +- `/opt/rocm/roctracer/include/roctx.h` + + API header. + +- `/opt/rocm/lib/libroctx64.so` + + .so library. + +## Library source tree + +- `doc` + + Documentation. + +- `inc` + + Include header files. + + - `roctracer.h` + + `rocTacer` library public API header. + + - `roctx.h` + + `rocTX` library public API header. + +- `src` + + Library sources. + + - `core` + + `rocTracer` library API sources. + + - `roctx` + + `rocTX` library API sources. + + - `util` + + Library utils sources. + +- `test` + + Test suit. + + - `MatrixTranspose` + + Test based on HIP MatrixTranspose sample. ## Documentation - - API description: - - ['roctracer' / 'rocTX' profiling C API specification](doc/roctracer_spec.md) - - Code examples: - - [test/MatrixTranspose_test/MatrixTranspose.cpp](test/MatrixTranspose_test/MatrixTranspose.cpp) - - [test/MatrixTranspose/MatrixTranspose.cpp](test/MatrixTranspose/MatrixTranspose.cpp) -## To build and run test -``` - - ROCm is required - - - Python modules requirements: CppHeaderParser, argparse. +- API description: + - ['roctracer' / 'rocTX' profiling C API specification](docroctracer_spec.md) +- Code examples: + - [test/MatrixTranspose_test/MatrixTranspose.cpp](testMatrixTranspose_test/MatrixTranspose.cpp) + - [test/MatrixTranspose/MatrixTranspose.cpp](test/MatrixTranspose/MatrixTranspose.cpp) + +## Build and run tests + +- ROCm is required + +- Python modules requirements: `CppHeaderParser`, `argparse`. + To install: - sudo pip install CppHeaderParser argparse - - CLone development branch of roctracer: + ```sh + pip3 install CppHeaderParser argparse + ``` + +- Clone development branch of `roctracer`: + + ```sh git clone -b amd-master https://github.com/ROCm-Developer-Tools/roctracer + ``` - - Set environment: - export CMAKE_PREFIX_PATH=/opt/rocm - - To use custom HIP version: - export HIP_PATH=/opt/rocm/hip +- To build `roctracer` library: - - To build roctracer library: - export CMAKE_BUILD_TYPE= # release by default - cd /roctracer && mkdir build && cd build && cmake -DCMAKE_INSTALL_PREFIX=/opt/rocm .. && make -j + ```sh + cd /roctracer + mkdir build && cd build + cmake -DCMAKE_PREFIX_PATH=/opt/rocm -DCMAKE_INSTALL_PREFIX=/opt/rocm .. + make + ``` - - To build and run test: +- To build and run test: + + ```sh make mytest run.sh - - - To install: + ``` + +## Installation + +Install by: + + ```sh make install - or + ``` + + or: + + ```sh make package && dpkg -i *.deb -``` + ``` From 31365f30765007f384ea9a863452bfe3c0577ea3 Mon Sep 17 00:00:00 2001 From: Laurent Morichetti Date: Mon, 18 Apr 2022 15:01:14 -0700 Subject: [PATCH 484/691] Switch roctracer to C++17 Change-Id: Ic8dee7dddaac2e7cca6e055f3c5f717f162f1eed --- cmake_modules/env.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake_modules/env.cmake b/cmake_modules/env.cmake index 41c60dc930..1860db6d14 100644 --- a/cmake_modules/env.cmake +++ b/cmake_modules/env.cmake @@ -38,7 +38,7 @@ add_definitions ( -DHSA_DEPRECATED= ) add_definitions ( -D__HIP_PLATFORM_HCC__=1 ) ## Linux Compiler options -set ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") +set ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17") set ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall" ) set ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror" ) set ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror=return-type" ) From 06a3da7c6306d5bca81fa2c4707d10fb197f4553 Mon Sep 17 00:00:00 2001 From: Laurent Morichetti Date: Tue, 19 Apr 2022 07:18:05 -0700 Subject: [PATCH 485/691] Fix copyright headers Change-Id: I380d867fa5fb04e68b5b332e9abf33fbeb1e9418 --- CMakeLists.txt | 29 ++++++------ build.sh | 23 ++++++++++ build_proto.sh | 23 ++++++++++ build_static.sh | 23 ++++++++++ cmake_modules/env.cmake | 38 ++++++++-------- cmake_modules/utils.cmake | 44 +++++-------------- defaults.sh | 22 ++++++++++ inc/ext/CMakeLists.txt | 29 ++++++------ inc/ext/hsa_rt_utils.hpp | 34 +++++++------- inc/ext/prof_protocol.h | 34 +++++++------- inc/roctracer.h | 34 +++++++------- inc/roctracer_cb_table.h | 34 +++++++------- inc/roctracer_ext.h | 34 +++++++------- inc/roctracer_hcc.h | 34 +++++++------- inc/roctracer_hip.h | 34 +++++++------- inc/roctracer_hsa.h | 34 +++++++------- inc/roctracer_roctx.h | 34 +++++++------- inc/roctx.h | 34 +++++++------- run_test.sh | 23 ++++++++++ script/check_trace.py | 34 +++++++------- script/gen_ostream_ops.py | 22 ++++++++++ script/hsaap.py | 22 ++++++++++ src/CMakeLists.txt | 22 ++++++++++ src/core/hip_act_cb_tracker.h | 20 +++++++++ src/core/journal.h | 34 +++++++------- src/core/loader.h | 20 +++++++++ src/core/memory_pool.h | 34 +++++++------- src/core/roctracer.cpp | 34 +++++++------- src/core/trace_buffer.h | 20 +++++++++ src/proxy/hsa_proxy_queue.h | 34 +++++++------- src/proxy/hsa_queue.h | 34 +++++++------- src/proxy/intercept_queue.cpp | 34 +++++++------- src/proxy/intercept_queue.h | 34 +++++++------- src/proxy/proxy_queue.cpp | 34 +++++++------- src/proxy/proxy_queue.h | 34 +++++++------- src/proxy/queue.h | 34 +++++++------- src/proxy/simple_proxy_queue.cpp | 34 +++++++------- src/proxy/simple_proxy_queue.h | 34 +++++++------- src/proxy/tracker.h | 34 +++++++------- src/proxy/types.h | 34 +++++++------- src/roctx/roctx.cpp | 34 +++++++------- src/util/exception.h | 34 +++++++------- src/util/hsa_rsrc_factory.cpp | 36 +++++++-------- src/util/hsa_rsrc_factory.h | 36 +++++++-------- src/util/logger.h | 34 +++++++------- test/CMakeLists.txt | 38 ++++++++-------- test/MatrixTranspose/MatrixTranspose.cpp | 34 +++++++------- test/MatrixTranspose_test/MatrixTranspose.cpp | 34 +++++++------- test/app/codeobj_test.cpp | 34 +++++++------- test/app/hsaco_test.cpp | 34 +++++++------- test/hsa/src/hsa_rsrc_factory.cpp | 36 +++++++-------- test/hsa/src/hsa_rsrc_factory.h | 36 +++++++-------- test/hsa/test/CMakeLists.txt | 38 ++++++++-------- test/hsa/test/app/test.cpp | 34 +++++++------- test/hsa/test/ctrl/run_kernel.h | 34 +++++++------- test/hsa/test/ctrl/test_aql.h | 34 +++++++------- test/hsa/test/ctrl/test_hsa.cpp | 34 +++++++------- test/hsa/test/ctrl/test_hsa.h | 34 +++++++------- test/hsa/test/ctrl/test_kernel.h | 34 +++++++------- test/hsa/test/dummy_kernel/dummy_kernel.cl | 34 +++++++------- test/hsa/test/dummy_kernel/dummy_kernel.h | 34 +++++++------- .../simple_convolution/simple_convolution.cl | 34 +++++++------- .../simple_convolution/simple_convolution.cpp | 34 +++++++------- .../simple_convolution/simple_convolution.h | 34 +++++++------- test/hsa/test/util/evt_stats.h | 20 +++++++++ test/hsa/test/util/helper_funcs.h | 34 +++++++------- test/hsa/test/util/perf_timer.cpp | 34 +++++++------- test/hsa/test/util/perf_timer.h | 34 +++++++------- test/hsa/test/util/test_assert.h | 34 +++++++------- test/hsa/test/util/xml.h | 34 +++++++------- test/tool/tracer_tool.cpp | 34 +++++++------- 71 files changed, 1205 insertions(+), 1081 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index fa9e9ecb5a..5ebde9efe5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,26 +1,23 @@ ################################################################################ +## Copyright (c) 2018-2022 Advanced Micro Devices, Inc. ## -## Copyright (c) 2016 Advanced Micro Devices, Inc. All rights reserved. +## Permission is hereby granted, free of charge, to any person obtaining a copy +## of this software and associated documentation files (the "Software"), to +## deal in the Software without restriction, including without limitation the +## rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +## sell copies of the Software, and to permit persons to whom the Software is +## furnished to do so, subject to the following conditions: ## -## MIT LICENSE: -## Permission is hereby granted, free of charge, to any person obtaining a copy of -## this software and associated documentation files (the "Software"), to deal in -## the Software without restriction, including without limitation the rights to -## use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies -## of the Software, and to permit persons to whom the Software is furnished to do -## so, subject to the following conditions: -## -## The above copyright notice and this permission notice shall be included in all -## copies or substantial portions of the Software. +## The above copyright notice and this permission notice shall be included in +## all copies or substantial portions of the Software. ## ## THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ## IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -## FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +## FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ## AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -## LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -## OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -## SOFTWARE. -## +## LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +## FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +## IN THE SOFTWARE. ################################################################################ cmake_minimum_required ( VERSION 3.5.0 ) diff --git a/build.sh b/build.sh index 081d52c137..27e7332460 100755 --- a/build.sh +++ b/build.sh @@ -1,4 +1,27 @@ #!/bin/bash -e + +################################################################################ +# Copyright (c) 2018-2022 Advanced Micro Devices, Inc. +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +# IN THE SOFTWARE. +################################################################################ + SRC_DIR=`dirname $0` COMPONENT="roctracer" ROCM_PATH="${ROCM_PATH:=/opt/rocm}" diff --git a/build_proto.sh b/build_proto.sh index 046ec297b7..709fe34645 100755 --- a/build_proto.sh +++ b/build_proto.sh @@ -1,4 +1,27 @@ #!/bin/bash -x + +################################################################################ +# Copyright (c) 2018-2022 Advanced Micro Devices, Inc. +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +# IN THE SOFTWARE. +################################################################################ + COMPONENT="roctracer" ROCM_PATH="/opt/rocm" diff --git a/build_static.sh b/build_static.sh index bb6ecf29b6..ffdd22b753 100755 --- a/build_static.sh +++ b/build_static.sh @@ -1,4 +1,27 @@ #!/bin/bash -x + +################################################################################ +# Copyright (c) 2018-2022 Advanced Micro Devices, Inc. +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +# IN THE SOFTWARE. +################################################################################ + SRC_DIR=`dirname $0` COMPONENT="roctracer" ROCM_PATH="${ROCM_PATH:=/opt/rocm}" diff --git a/cmake_modules/env.cmake b/cmake_modules/env.cmake index 1860db6d14..6720d0a58b 100644 --- a/cmake_modules/env.cmake +++ b/cmake_modules/env.cmake @@ -1,23 +1,23 @@ ################################################################################ -# Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in -# all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -# THE SOFTWARE. +## Copyright (c) 2018-2022 Advanced Micro Devices, Inc. +## +## Permission is hereby granted, free of charge, to any person obtaining a copy +## of this software and associated documentation files (the "Software"), to +## deal in the Software without restriction, including without limitation the +## rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +## sell copies of the Software, and to permit persons to whom the Software is +## furnished to do so, subject to the following conditions: +## +## The above copyright notice and this permission notice shall be included in +## all copies or substantial portions of the Software. +## +## THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +## IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +## FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +## AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +## LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +## FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +## IN THE SOFTWARE. ################################################################################ ## Build is not supported on Windows plaform diff --git a/cmake_modules/utils.cmake b/cmake_modules/utils.cmake index 3e4d77357d..1b2f342ea4 100644 --- a/cmake_modules/utils.cmake +++ b/cmake_modules/utils.cmake @@ -1,43 +1,23 @@ ################################################################################ -## -## The University of Illinois/NCSA -## Open Source License (NCSA) -## -## Copyright (c) 2014-2017, Advanced Micro Devices, Inc. All rights reserved. -## -## Developed by: -## -## AMD Research and AMD HSA Software Development -## -## Advanced Micro Devices, Inc. -## -## www.amd.com +## Copyright (c) 2018-2022 Advanced Micro Devices, Inc. ## ## Permission is hereby granted, free of charge, to any person obtaining a copy ## of this software and associated documentation files (the "Software"), to -## deal with the Software without restriction, including without limitation -## the rights to use, copy, modify, merge, publish, distribute, sublicense, -## and#or sell copies of the Software, and to permit persons to whom the -## Software is furnished to do so, subject to the following conditions: +## deal in the Software without restriction, including without limitation the +## rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +## sell copies of the Software, and to permit persons to whom the Software is +## furnished to do so, subject to the following conditions: ## -## - Redistributions of source code must retain the above copyright notice, -## this list of conditions and the following disclaimers. -## - Redistributions in binary form must reproduce the above copyright -## notice, this list of conditions and the following disclaimers in -## the documentation and#or other materials provided with the distribution. -## - Neither the names of Advanced Micro Devices, Inc, -## nor the names of its contributors may be used to endorse or promote -## products derived from this Software without specific prior written -## permission. +## The above copyright notice and this permission notice shall be included in +## all copies or substantial portions of the Software. ## ## THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ## IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -## FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -## THE CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR -## OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, -## ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -## DEALINGS WITH THE SOFTWARE. -## +## FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +## AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +## LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +## FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +## IN THE SOFTWARE. ################################################################################ ## Parses the VERSION_STRING variable and places diff --git a/defaults.sh b/defaults.sh index d6d21b9506..f5ceed74fd 100644 --- a/defaults.sh +++ b/defaults.sh @@ -1,2 +1,24 @@ +################################################################################ +# Copyright (c) 2018-2022 Advanced Micro Devices, Inc. +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +# IN THE SOFTWARE. +################################################################################ + BUILD_DIR=build TO_CLEAN=yes diff --git a/inc/ext/CMakeLists.txt b/inc/ext/CMakeLists.txt index 5882b7867b..e1225ba318 100644 --- a/inc/ext/CMakeLists.txt +++ b/inc/ext/CMakeLists.txt @@ -1,26 +1,23 @@ ################################################################################ +## Copyright (c) 2018-2022 Advanced Micro Devices, Inc. ## -## Copyright (c) 2016 Advanced Micro Devices, Inc. All rights reserved. +## Permission is hereby granted, free of charge, to any person obtaining a copy +## of this software and associated documentation files (the "Software"), to +## deal in the Software without restriction, including without limitation the +## rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +## sell copies of the Software, and to permit persons to whom the Software is +## furnished to do so, subject to the following conditions: ## -## MIT LICENSE: -## Permission is hereby granted, free of charge, to any person obtaining a copy of -## this software and associated documentation files (the "Software"), to deal in -## the Software without restriction, including without limitation the rights to -## use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies -## of the Software, and to permit persons to whom the Software is furnished to do -## so, subject to the following conditions: -## -## The above copyright notice and this permission notice shall be included in all -## copies or substantial portions of the Software. +## The above copyright notice and this permission notice shall be included in +## all copies or substantial portions of the Software. ## ## THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ## IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -## FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +## FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ## AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -## LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -## OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -## SOFTWARE. -## +## LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +## FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +## IN THE SOFTWARE. ################################################################################ cmake_minimum_required ( VERSION 3.5.0 ) diff --git a/inc/ext/hsa_rt_utils.hpp b/inc/ext/hsa_rt_utils.hpp index 5a07a48981..111f5045ce 100644 --- a/inc/ext/hsa_rt_utils.hpp +++ b/inc/ext/hsa_rt_utils.hpp @@ -1,24 +1,22 @@ -/* -Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. +/* Copyright (c) 2018-2022 Advanced Micro Devices, Inc. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. -*/ + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. */ #ifndef INC_ROCTRACER_HSA_RT_UTILS_HPP_ #define INC_ROCTRACER_HSA_RT_UTILS_HPP_ diff --git a/inc/ext/prof_protocol.h b/inc/ext/prof_protocol.h index 1c00e97252..07fa6d09a7 100644 --- a/inc/ext/prof_protocol.h +++ b/inc/ext/prof_protocol.h @@ -1,24 +1,22 @@ -/* -Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. +/* Copyright (c) 2018-2022 Advanced Micro Devices, Inc. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. -*/ + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. */ #ifndef INC_EXT_PROF_PROTOCOL_H_ #define INC_EXT_PROF_PROTOCOL_H_ diff --git a/inc/roctracer.h b/inc/roctracer.h index 7434d2631c..ddb3bfb9aa 100644 --- a/inc/roctracer.h +++ b/inc/roctracer.h @@ -1,24 +1,22 @@ -/* -Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. +/* Copyright (c) 2018-2022 Advanced Micro Devices, Inc. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. -*/ + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. */ //////////////////////////////////////////////////////////////////////////////// // diff --git a/inc/roctracer_cb_table.h b/inc/roctracer_cb_table.h index cda8b90606..0cf65fbfea 100644 --- a/inc/roctracer_cb_table.h +++ b/inc/roctracer_cb_table.h @@ -1,24 +1,22 @@ -/* -Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. +/* Copyright (c) 2018-2022 Advanced Micro Devices, Inc. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. -*/ + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. */ #ifndef CB_TABLE_H_ #define CB_TABLE_H_ diff --git a/inc/roctracer_ext.h b/inc/roctracer_ext.h index 4525e6414e..e41bd09402 100644 --- a/inc/roctracer_ext.h +++ b/inc/roctracer_ext.h @@ -1,24 +1,22 @@ -/* -Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. +/* Copyright (c) 2018-2022 Advanced Micro Devices, Inc. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. -*/ + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. */ //////////////////////////////////////////////////////////////////////////////// // diff --git a/inc/roctracer_hcc.h b/inc/roctracer_hcc.h index 2133617945..566061b6d0 100644 --- a/inc/roctracer_hcc.h +++ b/inc/roctracer_hcc.h @@ -1,24 +1,22 @@ -/* -Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. +/* Copyright (c) 2018-2022 Advanced Micro Devices, Inc. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. -*/ + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. */ #ifndef INC_ROCTRACER_HCC_H_ #define INC_ROCTRACER_HCC_H_ diff --git a/inc/roctracer_hip.h b/inc/roctracer_hip.h index 391831bf12..3a8de0ccb1 100644 --- a/inc/roctracer_hip.h +++ b/inc/roctracer_hip.h @@ -1,24 +1,22 @@ -/* -Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. +/* Copyright (c) 2018-2022 Advanced Micro Devices, Inc. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. -*/ + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. */ #ifndef INC_ROCTRACER_HIP_H_ #define INC_ROCTRACER_HIP_H_ diff --git a/inc/roctracer_hsa.h b/inc/roctracer_hsa.h index 1e50c3ab41..46de976a40 100644 --- a/inc/roctracer_hsa.h +++ b/inc/roctracer_hsa.h @@ -1,24 +1,22 @@ -/* -Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. +/* Copyright (c) 2018-2022 Advanced Micro Devices, Inc. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. -*/ + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. */ #ifndef INC_ROCTRACER_HSA_H_ #define INC_ROCTRACER_HSA_H_ diff --git a/inc/roctracer_roctx.h b/inc/roctracer_roctx.h index c3acec9e92..456e6242dc 100644 --- a/inc/roctracer_roctx.h +++ b/inc/roctracer_roctx.h @@ -1,24 +1,22 @@ -/* -Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. +/* Copyright (c) 2018-2022 Advanced Micro Devices, Inc. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. -*/ + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. */ //////////////////////////////////////////////////////////////////////////////// // diff --git a/inc/roctx.h b/inc/roctx.h index fa390bc92a..76bbd0cf66 100644 --- a/inc/roctx.h +++ b/inc/roctx.h @@ -1,24 +1,22 @@ -/* -Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. +/* Copyright (c) 2018-2022 Advanced Micro Devices, Inc. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. -*/ + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. */ //////////////////////////////////////////////////////////////////////////////// // diff --git a/run_test.sh b/run_test.sh index 61f1b3013b..c13db62c64 100755 --- a/run_test.sh +++ b/run_test.sh @@ -1,4 +1,27 @@ #!/bin/bash + +################################################################################ +# Copyright (c) 2018-2022 Advanced Micro Devices, Inc. +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +# IN THE SOFTWARE. +################################################################################ + ROCM_PATH="/opt/rocm" fatal() { diff --git a/script/check_trace.py b/script/check_trace.py index c10eb3c5d5..e214a17740 100644 --- a/script/check_trace.py +++ b/script/check_trace.py @@ -1,22 +1,24 @@ -#Copyright (c) 2015-present Advanced Micro Devices, Inc. All rights reserved. +################################################################################ +# Copyright (c) 2018-2022 Advanced Micro Devices, Inc. # -#Permission is hereby granted, free of charge, to any person obtaining a copy -#of this software and associated documentation files (the "Software"), to deal -#in the Software without restriction, including without limitation the rights -#to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -#copies of the Software, and to permit persons to whom the Software is -#furnished to do so, subject to the following conditions: +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: # -#The above copyright notice and this permission notice shall be included in -#all copies or substantial portions of the Software. +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. # -#THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -#IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -#FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -#AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -#LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -#OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -#THE SOFTWARE. +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +# IN THE SOFTWARE. +################################################################################ import sys, os, re import filecmp diff --git a/script/gen_ostream_ops.py b/script/gen_ostream_ops.py index f10f5a5b9c..eeec1d2ddf 100755 --- a/script/gen_ostream_ops.py +++ b/script/gen_ostream_ops.py @@ -1,3 +1,25 @@ +################################################################################ +# Copyright (c) 2018-2022 Advanced Micro Devices, Inc. +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +# IN THE SOFTWARE. +################################################################################ + import os, sys, re import CppHeaderParser import argparse diff --git a/script/hsaap.py b/script/hsaap.py index 0acf101570..2e67c75925 100755 --- a/script/hsaap.py +++ b/script/hsaap.py @@ -1,3 +1,25 @@ +################################################################################ +# Copyright (c) 2018-2022 Advanced Micro Devices, Inc. +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +# IN THE SOFTWARE. +################################################################################ + from __future__ import print_function import os, sys, re diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 82250d872d..8fff755303 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,3 +1,25 @@ +################################################################################ +## Copyright (c) 2018-2022 Advanced Micro Devices, Inc. +## +## Permission is hereby granted, free of charge, to any person obtaining a copy +## of this software and associated documentation files (the "Software"), to +## deal in the Software without restriction, including without limitation the +## rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +## sell copies of the Software, and to permit persons to whom the Software is +## furnished to do so, subject to the following conditions: +## +## The above copyright notice and this permission notice shall be included in +## all copies or substantial portions of the Software. +## +## THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +## IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +## FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +## AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +## LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +## FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +## IN THE SOFTWARE. +################################################################################ + # Generating tracing primitives set ( GEN_INC_DIR ${PROJECT_BINARY_DIR}/inc ) set ( GEN_SRC_DIR ${PROJECT_BINARY_DIR}/src ) diff --git a/src/core/hip_act_cb_tracker.h b/src/core/hip_act_cb_tracker.h index 57ec5a422f..f6835fe241 100644 --- a/src/core/hip_act_cb_tracker.h +++ b/src/core/hip_act_cb_tracker.h @@ -1,3 +1,23 @@ +/* Copyright (c) 2018-2022 Advanced Micro Devices, Inc. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. */ + #ifndef CORE_HIP_ACT_CB_TRACKER_H_ #define CORE_HIP_ACT_CB_TRACKER_H_ diff --git a/src/core/journal.h b/src/core/journal.h index 68f1e67709..5a829bc41f 100644 --- a/src/core/journal.h +++ b/src/core/journal.h @@ -1,24 +1,22 @@ -/* -Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. +/* Copyright (c) 2018-2022 Advanced Micro Devices, Inc. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. -*/ + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. */ #ifndef SRC_CORE_JOURNAL_H_ #define SRC_CORE_JOURNAL_H_ diff --git a/src/core/loader.h b/src/core/loader.h index bd578a5e91..4980fbabee 100644 --- a/src/core/loader.h +++ b/src/core/loader.h @@ -1,3 +1,23 @@ +/* Copyright (c) 2018-2022 Advanced Micro Devices, Inc. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. */ + #ifndef SRC_CORE_LOADER_H_ #define SRC_CORE_LOADER_H_ diff --git a/src/core/memory_pool.h b/src/core/memory_pool.h index 75b66b3950..5b10d1f31f 100644 --- a/src/core/memory_pool.h +++ b/src/core/memory_pool.h @@ -1,24 +1,22 @@ -/* -Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. +/* Copyright (c) 2018-2022 Advanced Micro Devices, Inc. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. -*/ + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. */ #ifndef MEMORY_POOL_H_ #define MEMORY_POOL_H_ diff --git a/src/core/roctracer.cpp b/src/core/roctracer.cpp index c9d55da91f..449c672f88 100644 --- a/src/core/roctracer.cpp +++ b/src/core/roctracer.cpp @@ -1,24 +1,22 @@ -/* -Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. +/* Copyright (c) 2018-2022 Advanced Micro Devices, Inc. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. -*/ + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. */ #include "inc/roctracer.h" #include "inc/roctracer_hcc.h" diff --git a/src/core/trace_buffer.h b/src/core/trace_buffer.h index cb6767f2c9..a5c2619921 100644 --- a/src/core/trace_buffer.h +++ b/src/core/trace_buffer.h @@ -1,3 +1,23 @@ +/* Copyright (c) 2018-2022 Advanced Micro Devices, Inc. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. */ + #ifndef SRC_CORE_TRACE_BUFFER_H_ #define SRC_CORE_TRACE_BUFFER_H_ diff --git a/src/proxy/hsa_proxy_queue.h b/src/proxy/hsa_proxy_queue.h index 91daf96815..4093e6807c 100644 --- a/src/proxy/hsa_proxy_queue.h +++ b/src/proxy/hsa_proxy_queue.h @@ -1,24 +1,22 @@ -/****************************************************************************** -Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. +/* Copyright (c) 2018-2022 Advanced Micro Devices, Inc. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. -*******************************************************************************/ + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. */ #ifndef _SRC_CORE_HSA_PROXY_QUEUE_H #define _SRC_CORE_HSA_PROXY_QUEUE_H diff --git a/src/proxy/hsa_queue.h b/src/proxy/hsa_queue.h index 48e3039a60..09b55949db 100644 --- a/src/proxy/hsa_queue.h +++ b/src/proxy/hsa_queue.h @@ -1,24 +1,22 @@ -/****************************************************************************** -Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. +/* Copyright (c) 2018-2022 Advanced Micro Devices, Inc. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. -*******************************************************************************/ + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. */ #ifndef _SRC_CORE_HSA_QUEUE_H #define _SRC_CORE_HSA_QUEUE_H diff --git a/src/proxy/intercept_queue.cpp b/src/proxy/intercept_queue.cpp index 301f4eea68..062b84e2b0 100644 --- a/src/proxy/intercept_queue.cpp +++ b/src/proxy/intercept_queue.cpp @@ -1,24 +1,22 @@ -/****************************************************************************** -Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. +/* Copyright (c) 2018-2022 Advanced Micro Devices, Inc. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. -*******************************************************************************/ + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. */ #include "proxy/intercept_queue.h" diff --git a/src/proxy/intercept_queue.h b/src/proxy/intercept_queue.h index 000c7e8810..cc74bcaf12 100644 --- a/src/proxy/intercept_queue.h +++ b/src/proxy/intercept_queue.h @@ -1,24 +1,22 @@ -/****************************************************************************** -Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. +/* Copyright (c) 2018-2022 Advanced Micro Devices, Inc. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. -*******************************************************************************/ + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. */ #ifndef _SRC_CORE_INTERCEPT_QUEUE_H #define _SRC_CORE_INTERCEPT_QUEUE_H diff --git a/src/proxy/proxy_queue.cpp b/src/proxy/proxy_queue.cpp index e5cca0da2c..6905889343 100644 --- a/src/proxy/proxy_queue.cpp +++ b/src/proxy/proxy_queue.cpp @@ -1,24 +1,22 @@ -/****************************************************************************** -Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. +/* Copyright (c) 2018-2022 Advanced Micro Devices, Inc. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. -*******************************************************************************/ + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. */ #include "proxy/proxy_queue.h" diff --git a/src/proxy/proxy_queue.h b/src/proxy/proxy_queue.h index f876ab6c72..8db8965504 100644 --- a/src/proxy/proxy_queue.h +++ b/src/proxy/proxy_queue.h @@ -1,24 +1,22 @@ -/****************************************************************************** -Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. +/* Copyright (c) 2018-2022 Advanced Micro Devices, Inc. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. -*******************************************************************************/ + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. */ #ifndef _SRC_CORE_PROXY_QUEUE_H #define _SRC_CORE_PROXY_QUEUE_H diff --git a/src/proxy/queue.h b/src/proxy/queue.h index 78214af504..60a7c3581e 100644 --- a/src/proxy/queue.h +++ b/src/proxy/queue.h @@ -1,24 +1,22 @@ -/****************************************************************************** -Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. +/* Copyright (c) 2018-2022 Advanced Micro Devices, Inc. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. -*******************************************************************************/ + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. */ #ifndef _SRC_CORE_QUEUE_H #define _SRC_CORE_QUEUE_H diff --git a/src/proxy/simple_proxy_queue.cpp b/src/proxy/simple_proxy_queue.cpp index 91b2d109eb..a7cee79830 100644 --- a/src/proxy/simple_proxy_queue.cpp +++ b/src/proxy/simple_proxy_queue.cpp @@ -1,24 +1,22 @@ -/****************************************************************************** -Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. +/* Copyright (c) 2018-2022 Advanced Micro Devices, Inc. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. -*******************************************************************************/ + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. */ #include "proxy/simple_proxy_queue.h" diff --git a/src/proxy/simple_proxy_queue.h b/src/proxy/simple_proxy_queue.h index 8215f44c1e..25cb67bab3 100644 --- a/src/proxy/simple_proxy_queue.h +++ b/src/proxy/simple_proxy_queue.h @@ -1,24 +1,22 @@ -/****************************************************************************** -Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. +/* Copyright (c) 2018-2022 Advanced Micro Devices, Inc. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. -*******************************************************************************/ + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. */ #ifndef _SRC_CORE_SIMPLE_PROXY_QUEUE_H #define _SRC_CORE_SIMPLE_PROXY_QUEUE_H diff --git a/src/proxy/tracker.h b/src/proxy/tracker.h index dc0322bd06..b1657707e7 100644 --- a/src/proxy/tracker.h +++ b/src/proxy/tracker.h @@ -1,24 +1,22 @@ -/****************************************************************************** -Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. +/* Copyright (c) 2018-2022 Advanced Micro Devices, Inc. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. -*******************************************************************************/ + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. */ #ifndef SRC_PROXY_TRACKER_H_ #define SRC_PROXY_TRACKER_H_ diff --git a/src/proxy/types.h b/src/proxy/types.h index c72bb34302..af08a83454 100644 --- a/src/proxy/types.h +++ b/src/proxy/types.h @@ -1,24 +1,22 @@ -/****************************************************************************** -Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. +/* Copyright (c) 2018-2022 Advanced Micro Devices, Inc. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. -*******************************************************************************/ + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. */ #ifndef SRC_CORE_TYPES_H_ #define SRC_CORE_TYPES_H_ diff --git a/src/roctx/roctx.cpp b/src/roctx/roctx.cpp index 819cc28773..ff77726f35 100644 --- a/src/roctx/roctx.cpp +++ b/src/roctx/roctx.cpp @@ -1,24 +1,22 @@ -/* -Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. +/* Copyright (c) 2018-2022 Advanced Micro Devices, Inc. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. -*/ + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. */ #include "inc/roctx.h" #include "inc/roctracer_roctx.h" diff --git a/src/util/exception.h b/src/util/exception.h index 33cda9df71..98d931bf7c 100644 --- a/src/util/exception.h +++ b/src/util/exception.h @@ -1,24 +1,22 @@ -/* -Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. +/* Copyright (c) 2018-2022 Advanced Micro Devices, Inc. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. -*/ + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. */ #ifndef SRC_UTIL_EXCEPTION_H_ #define SRC_UTIL_EXCEPTION_H_ diff --git a/src/util/hsa_rsrc_factory.cpp b/src/util/hsa_rsrc_factory.cpp index 643ff16cbb..caea611496 100644 --- a/src/util/hsa_rsrc_factory.cpp +++ b/src/util/hsa_rsrc_factory.cpp @@ -1,26 +1,22 @@ -/********************************************************************** -Copyright ©2013 Advanced Micro Devices, Inc. All rights reserved. +/* Copyright (c) 2018-2022 Advanced Micro Devices, Inc. -Redistribution and use in source and binary forms, with or without modification, are permitted -provided that the following conditions are met: + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: -<95> Redistributions of source code must retain the above copyright notice, this list of -conditions and the following disclaimer. -<95> Redistributions in binary form must reproduce the above copyright notice, this list of -conditions and the following disclaimer in the documentation and/or - other materials provided with the distribution. + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT -SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY - DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -********************************************************************/ + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. */ #include "util/hsa_rsrc_factory.h" diff --git a/src/util/hsa_rsrc_factory.h b/src/util/hsa_rsrc_factory.h index cbeafbc671..9ed0025c59 100644 --- a/src/util/hsa_rsrc_factory.h +++ b/src/util/hsa_rsrc_factory.h @@ -1,26 +1,22 @@ -/********************************************************************** -Copyright ©2013 Advanced Micro Devices, Inc. All rights reserved. +/* Copyright (c) 2018-2022 Advanced Micro Devices, Inc. -Redistribution and use in source and binary forms, with or without modification, are permitted -provided that the following conditions are met: + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: -<95> Redistributions of source code must retain the above copyright notice, this list of -conditions and the following disclaimer. -<95> Redistributions in binary form must reproduce the above copyright notice, this list of -conditions and the following disclaimer in the documentation and/or - other materials provided with the distribution. + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT -SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY - DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -********************************************************************/ + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. */ #ifndef SRC_UTIL_HSA_RSRC_FACTORY_H_ #define SRC_UTIL_HSA_RSRC_FACTORY_H_ diff --git a/src/util/logger.h b/src/util/logger.h index 8e525f68ea..37e1c3ec31 100644 --- a/src/util/logger.h +++ b/src/util/logger.h @@ -1,24 +1,22 @@ -/* -Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. +/* Copyright (c) 2018-2022 Advanced Micro Devices, Inc. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. -*/ + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. */ #ifndef SRC_UTIL_LOGGER_H_ #define SRC_UTIL_LOGGER_H_ diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index a6ca93c869..f1f938b86b 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -1,23 +1,23 @@ ################################################################################ -# Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in -# all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -# THE SOFTWARE. +## Copyright (c) 2018-2022 Advanced Micro Devices, Inc. +## +## Permission is hereby granted, free of charge, to any person obtaining a copy +## of this software and associated documentation files (the "Software"), to +## deal in the Software without restriction, including without limitation the +## rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +## sell copies of the Software, and to permit persons to whom the Software is +## furnished to do so, subject to the following conditions: +## +## The above copyright notice and this permission notice shall be included in +## all copies or substantial portions of the Software. +## +## THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +## IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +## FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +## AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +## LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +## FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +## IN THE SOFTWARE. ################################################################################ cmake_minimum_required ( VERSION 3.5.0 ) diff --git a/test/MatrixTranspose/MatrixTranspose.cpp b/test/MatrixTranspose/MatrixTranspose.cpp index 404e25e505..c50b67d2e2 100644 --- a/test/MatrixTranspose/MatrixTranspose.cpp +++ b/test/MatrixTranspose/MatrixTranspose.cpp @@ -1,24 +1,22 @@ -/* -Copyright (c) 2015-2016 Advanced Micro Devices, Inc. All rights reserved. +/* Copyright (c) 2018-2022 Advanced Micro Devices, Inc. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. -*/ + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. */ #include diff --git a/test/MatrixTranspose_test/MatrixTranspose.cpp b/test/MatrixTranspose_test/MatrixTranspose.cpp index 51215551b0..86f14e2e65 100644 --- a/test/MatrixTranspose_test/MatrixTranspose.cpp +++ b/test/MatrixTranspose_test/MatrixTranspose.cpp @@ -1,24 +1,22 @@ -/* -Copyright (c) 2015-present Advanced Micro Devices, Inc. All rights reserved. +/* Copyright (c) 2018-2022 Advanced Micro Devices, Inc. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. -*/ + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. */ #include #include diff --git a/test/app/codeobj_test.cpp b/test/app/codeobj_test.cpp index 124715cdd9..f6a8416ccd 100644 --- a/test/app/codeobj_test.cpp +++ b/test/app/codeobj_test.cpp @@ -1,24 +1,22 @@ -/****************************************************************************** -Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. +/* Copyright (c) 2018-2022 Advanced Micro Devices, Inc. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. -*******************************************************************************/ + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. */ #include #include diff --git a/test/app/hsaco_test.cpp b/test/app/hsaco_test.cpp index 23200137e8..733e3c799a 100644 --- a/test/app/hsaco_test.cpp +++ b/test/app/hsaco_test.cpp @@ -1,24 +1,22 @@ -/****************************************************************************** -Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. +/* Copyright (c) 2018-2022 Advanced Micro Devices, Inc. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. -*******************************************************************************/ + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. */ #include #include diff --git a/test/hsa/src/hsa_rsrc_factory.cpp b/test/hsa/src/hsa_rsrc_factory.cpp index d2d8e79e68..0c1b094bb6 100644 --- a/test/hsa/src/hsa_rsrc_factory.cpp +++ b/test/hsa/src/hsa_rsrc_factory.cpp @@ -1,26 +1,22 @@ -/********************************************************************** -Copyright ©2013 Advanced Micro Devices, Inc. All rights reserved. +/* Copyright (c) 2018-2022 Advanced Micro Devices, Inc. -Redistribution and use in source and binary forms, with or without modification, are permitted -provided that the following conditions are met: + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: -<95> Redistributions of source code must retain the above copyright notice, this list of -conditions and the following disclaimer. -<95> Redistributions in binary form must reproduce the above copyright notice, this list of -conditions and the following disclaimer in the documentation and/or - other materials provided with the distribution. + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT -SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY - DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -********************************************************************/ + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. */ #include "util/hsa_rsrc_factory.h" diff --git a/test/hsa/src/hsa_rsrc_factory.h b/test/hsa/src/hsa_rsrc_factory.h index 8383aa6636..09be5ca9dd 100644 --- a/test/hsa/src/hsa_rsrc_factory.h +++ b/test/hsa/src/hsa_rsrc_factory.h @@ -1,26 +1,22 @@ -/********************************************************************** -Copyright ©2013 Advanced Micro Devices, Inc. All rights reserved. +/* Copyright (c) 2018-2022 Advanced Micro Devices, Inc. -Redistribution and use in source and binary forms, with or without modification, are permitted -provided that the following conditions are met: + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: -<95> Redistributions of source code must retain the above copyright notice, this list of -conditions and the following disclaimer. -<95> Redistributions in binary form must reproduce the above copyright notice, this list of -conditions and the following disclaimer in the documentation and/or - other materials provided with the distribution. + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT -SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY - DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -********************************************************************/ + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. */ #ifndef _HSA_RSRC_FACTORY_H_ #define _HSA_RSRC_FACTORY_H_ diff --git a/test/hsa/test/CMakeLists.txt b/test/hsa/test/CMakeLists.txt index 77727b2386..4e24e8a422 100644 --- a/test/hsa/test/CMakeLists.txt +++ b/test/hsa/test/CMakeLists.txt @@ -1,23 +1,23 @@ ################################################################################ -# Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in -# all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -# THE SOFTWARE. +## Copyright (c) 2018-2022 Advanced Micro Devices, Inc. +## +## Permission is hereby granted, free of charge, to any person obtaining a copy +## of this software and associated documentation files (the "Software"), to +## deal in the Software without restriction, including without limitation the +## rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +## sell copies of the Software, and to permit persons to whom the Software is +## furnished to do so, subject to the following conditions: +## +## The above copyright notice and this permission notice shall be included in +## all copies or substantial portions of the Software. +## +## THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +## IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +## FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +## AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +## LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +## FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +## IN THE SOFTWARE. ################################################################################ cmake_minimum_required ( VERSION 2.8.12 ) diff --git a/test/hsa/test/app/test.cpp b/test/hsa/test/app/test.cpp index 23d3927374..5ebcbc8151 100644 --- a/test/hsa/test/app/test.cpp +++ b/test/hsa/test/app/test.cpp @@ -1,24 +1,22 @@ -/****************************************************************************** -Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. +/* Copyright (c) 2018-2022 Advanced Micro Devices, Inc. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. -*******************************************************************************/ + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. */ #include #include diff --git a/test/hsa/test/ctrl/run_kernel.h b/test/hsa/test/ctrl/run_kernel.h index 846e0b6825..c1d3af183e 100644 --- a/test/hsa/test/ctrl/run_kernel.h +++ b/test/hsa/test/ctrl/run_kernel.h @@ -1,24 +1,22 @@ -/****************************************************************************** -Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. +/* Copyright (c) 2018-2022 Advanced Micro Devices, Inc. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. -*******************************************************************************/ + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. */ #ifndef TEST_CTRL_RUN_KERNEL_H_ #define TEST_CTRL_RUN_KERNEL_H_ diff --git a/test/hsa/test/ctrl/test_aql.h b/test/hsa/test/ctrl/test_aql.h index d77363eeca..32425e3dcf 100644 --- a/test/hsa/test/ctrl/test_aql.h +++ b/test/hsa/test/ctrl/test_aql.h @@ -1,24 +1,22 @@ -/****************************************************************************** -Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. +/* Copyright (c) 2018-2022 Advanced Micro Devices, Inc. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. -*******************************************************************************/ + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. */ #ifndef TEST_CTRL_TEST_AQL_H_ #define TEST_CTRL_TEST_AQL_H_ diff --git a/test/hsa/test/ctrl/test_hsa.cpp b/test/hsa/test/ctrl/test_hsa.cpp index 638f7b1a4b..0613ea83ac 100644 --- a/test/hsa/test/ctrl/test_hsa.cpp +++ b/test/hsa/test/ctrl/test_hsa.cpp @@ -1,24 +1,22 @@ -/****************************************************************************** -Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. +/* Copyright (c) 2018-2022 Advanced Micro Devices, Inc. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. -*******************************************************************************/ + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. */ #include "ctrl/test_hsa.h" diff --git a/test/hsa/test/ctrl/test_hsa.h b/test/hsa/test/ctrl/test_hsa.h index bb54c60011..599a9de576 100644 --- a/test/hsa/test/ctrl/test_hsa.h +++ b/test/hsa/test/ctrl/test_hsa.h @@ -1,24 +1,22 @@ -/****************************************************************************** -Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. +/* Copyright (c) 2018-2022 Advanced Micro Devices, Inc. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. -*******************************************************************************/ + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. */ #ifndef TEST_CTRL_TEST_HSA_H_ #define TEST_CTRL_TEST_HSA_H_ diff --git a/test/hsa/test/ctrl/test_kernel.h b/test/hsa/test/ctrl/test_kernel.h index 0ca89200ec..d5cfde464b 100644 --- a/test/hsa/test/ctrl/test_kernel.h +++ b/test/hsa/test/ctrl/test_kernel.h @@ -1,24 +1,22 @@ -/****************************************************************************** -Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. +/* Copyright (c) 2018-2022 Advanced Micro Devices, Inc. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. -*******************************************************************************/ + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. */ #ifndef TEST_CTRL_TEST_KERNEL_H_ #define TEST_CTRL_TEST_KERNEL_H_ diff --git a/test/hsa/test/dummy_kernel/dummy_kernel.cl b/test/hsa/test/dummy_kernel/dummy_kernel.cl index 4ab159c865..34dfced8cb 100644 --- a/test/hsa/test/dummy_kernel/dummy_kernel.cl +++ b/test/hsa/test/dummy_kernel/dummy_kernel.cl @@ -1,24 +1,22 @@ -/****************************************************************************** -Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. +/* Copyright (c) 2018-2022 Advanced Micro Devices, Inc. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. -*******************************************************************************/ + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. */ /** dummy kernel diff --git a/test/hsa/test/dummy_kernel/dummy_kernel.h b/test/hsa/test/dummy_kernel/dummy_kernel.h index 1b8ce4309a..dd75aa70cf 100644 --- a/test/hsa/test/dummy_kernel/dummy_kernel.h +++ b/test/hsa/test/dummy_kernel/dummy_kernel.h @@ -1,24 +1,22 @@ -/****************************************************************************** -Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. +/* Copyright (c) 2018-2022 Advanced Micro Devices, Inc. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. -*******************************************************************************/ + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. */ #ifndef TEST_DUMMY_KERNEL_DUMMY_KERNEL_H_ #define TEST_DUMMY_KERNEL_DUMMY_KERNEL_H_ diff --git a/test/hsa/test/simple_convolution/simple_convolution.cl b/test/hsa/test/simple_convolution/simple_convolution.cl index 3f8115a634..e0f5ab3001 100644 --- a/test/hsa/test/simple_convolution/simple_convolution.cl +++ b/test/hsa/test/simple_convolution/simple_convolution.cl @@ -1,24 +1,22 @@ -/****************************************************************************** -Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. +/* Copyright (c) 2018-2022 Advanced Micro Devices, Inc. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. -*******************************************************************************/ + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. */ /** * SimpleConvolution is where each pixel of the output image diff --git a/test/hsa/test/simple_convolution/simple_convolution.cpp b/test/hsa/test/simple_convolution/simple_convolution.cpp index 546f9a6ab9..c7b96ec3bf 100644 --- a/test/hsa/test/simple_convolution/simple_convolution.cpp +++ b/test/hsa/test/simple_convolution/simple_convolution.cpp @@ -1,24 +1,22 @@ -/****************************************************************************** -Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. +/* Copyright (c) 2018-2022 Advanced Micro Devices, Inc. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. -*******************************************************************************/ + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. */ #include "simple_convolution/simple_convolution.h" diff --git a/test/hsa/test/simple_convolution/simple_convolution.h b/test/hsa/test/simple_convolution/simple_convolution.h index 550d1320c6..a3c340fe3c 100644 --- a/test/hsa/test/simple_convolution/simple_convolution.h +++ b/test/hsa/test/simple_convolution/simple_convolution.h @@ -1,24 +1,22 @@ -/****************************************************************************** -Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. +/* Copyright (c) 2018-2022 Advanced Micro Devices, Inc. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. -*******************************************************************************/ + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. */ #ifndef TEST_SIMPLE_CONVOLUTION_SIMPLE_CONVOLUTION_H_ #define TEST_SIMPLE_CONVOLUTION_SIMPLE_CONVOLUTION_H_ diff --git a/test/hsa/test/util/evt_stats.h b/test/hsa/test/util/evt_stats.h index 01bc131744..c494f2b82f 100644 --- a/test/hsa/test/util/evt_stats.h +++ b/test/hsa/test/util/evt_stats.h @@ -1,3 +1,23 @@ +/* Copyright (c) 2018-2022 Advanced Micro Devices, Inc. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. */ + #ifndef EVT_STATS_H_ #define EVT_STATS_H_ diff --git a/test/hsa/test/util/helper_funcs.h b/test/hsa/test/util/helper_funcs.h index c76854baed..de88343bff 100644 --- a/test/hsa/test/util/helper_funcs.h +++ b/test/hsa/test/util/helper_funcs.h @@ -1,24 +1,22 @@ -/****************************************************************************** -Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. +/* Copyright (c) 2018-2022 Advanced Micro Devices, Inc. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. -*******************************************************************************/ + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. */ #ifndef TEST_UTIL_HELPER_FUNCS_H_ #define TEST_UTIL_HELPER_FUNCS_H_ diff --git a/test/hsa/test/util/perf_timer.cpp b/test/hsa/test/util/perf_timer.cpp index 85c490b6b1..a59df3a5ad 100644 --- a/test/hsa/test/util/perf_timer.cpp +++ b/test/hsa/test/util/perf_timer.cpp @@ -1,24 +1,22 @@ -/****************************************************************************** -Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. +/* Copyright (c) 2018-2022 Advanced Micro Devices, Inc. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. -*******************************************************************************/ + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. */ #include "util/perf_timer.h" diff --git a/test/hsa/test/util/perf_timer.h b/test/hsa/test/util/perf_timer.h index bfd553240c..f95fbb98a2 100644 --- a/test/hsa/test/util/perf_timer.h +++ b/test/hsa/test/util/perf_timer.h @@ -1,24 +1,22 @@ -/****************************************************************************** -Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. +/* Copyright (c) 2018-2022 Advanced Micro Devices, Inc. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. -*******************************************************************************/ + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. */ #ifndef TEST_UTIL_PERF_TIMER_H_ #define TEST_UTIL_PERF_TIMER_H_ diff --git a/test/hsa/test/util/test_assert.h b/test/hsa/test/util/test_assert.h index 7803865dfb..586ef35433 100644 --- a/test/hsa/test/util/test_assert.h +++ b/test/hsa/test/util/test_assert.h @@ -1,24 +1,22 @@ -/****************************************************************************** -Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. +/* Copyright (c) 2018-2022 Advanced Micro Devices, Inc. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. -*******************************************************************************/ + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. */ #ifndef TEST_UTIL_TEST_ASSERT_H_ #define TEST_UTIL_TEST_ASSERT_H_ diff --git a/test/hsa/test/util/xml.h b/test/hsa/test/util/xml.h index eb2f507410..8b559b68cb 100644 --- a/test/hsa/test/util/xml.h +++ b/test/hsa/test/util/xml.h @@ -1,24 +1,22 @@ -/****************************************************************************** -Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. +/* Copyright (c) 2018-2022 Advanced Micro Devices, Inc. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. -*******************************************************************************/ + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. */ #ifndef TEST_UTIL_XML_H_ #define TEST_UTIL_XML_H_ diff --git a/test/tool/tracer_tool.cpp b/test/tool/tracer_tool.cpp index 0b8f4852de..70c1865daf 100644 --- a/test/tool/tracer_tool.cpp +++ b/test/tool/tracer_tool.cpp @@ -1,24 +1,22 @@ -/* -Copyright (c) 2015-2016 Advanced Micro Devices, Inc. All rights reserved. +/* Copyright (c) 2018-2022 Advanced Micro Devices, Inc. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. -*/ + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. */ #include #include From 89f68803718a7f43aac4572492bcd5e8b9063a5f Mon Sep 17 00:00:00 2001 From: Laurent Morichetti Date: Mon, 18 Apr 2022 15:02:22 -0700 Subject: [PATCH 486/691] Simplify journal.h Simplify implementation of journal.h. Change-Id: I9e2e93fd3cd3391fdf182249f5c4c5ef3debae03 --- src/core/journal.h | 86 ++++++++++++------------------------------ src/core/roctracer.cpp | 82 +++++++++++++++++++++------------------- 2 files changed, 67 insertions(+), 101 deletions(-) diff --git a/src/core/journal.h b/src/core/journal.h index 5a829bc41f..126b1d5c32 100644 --- a/src/core/journal.h +++ b/src/core/journal.h @@ -21,78 +21,40 @@ #ifndef SRC_CORE_JOURNAL_H_ #define SRC_CORE_JOURNAL_H_ -#include +#include "ext/prof_protocol.h" + #include +#include +#include namespace roctracer { -template -class Journal { - public: - typedef std::mutex mutex_t; - typedef std::map domain_map_t; - typedef std::map journal_map_t; - - struct record_t { - uint32_t domain; - uint32_t op; - Data data; - }; - - Journal() { - domain_mask_ = 0; - map_ = new journal_map_t; +template class Journal { + public: + /* Insert { domain, op } into the journal. Return false if the insertion failed. */ + template , int> = 0> + bool Insert(roctracer_domain_t domain, uint32_t op, T&& data) { + std::lock_guard lock(mutex_); + return map_[domain].emplace(op, std::forward(data)).second; } - ~Journal() { - for (auto& val : *map_) delete val.second; - delete map_; + /* Remove { domain, op } from the journal. Return false if the entry did not exist. */ + bool Remove(roctracer_domain_t domain, uint32_t op) { + std::lock_guard lock(mutex_); + return map_[domain].erase(op) == 1; } - void registr(const record_t& record) { - std::lock_guard lck(mutex_); - auto* map = get_domain_map(record.domain); - map->insert({record.op, record.data}); + template void ForEach(Functor&& func) { + std::lock_guard lock(mutex_); + for (auto&& domain : map_) + for (auto&& operation : domain.second) + if (!func(domain.first /* domain */, operation.first /* op */, operation.second /* data */)) + break; /* FIXME: what are we breaking out of? */ } - void remove(const record_t& record) { - std::lock_guard lck(mutex_); - auto* map = get_domain_map(record.domain); - map->erase(record.op); - } - - template - F foreach(const F& f_i) { - std::lock_guard lck(mutex_); - F f = f_i; - for (uint32_t domain = 0, mask = domain_mask_; mask != 0; ++domain, mask >>= 1) { - if (mask & 1) { - auto map = get_domain_map(domain); - auto begin = map->begin(); - auto end = map->end(); - for (auto it = begin; it != end; ++it) { - if (f.fun({domain, it->first, it->second}) == false) break; - } - } - } - return f; - } - - private: - domain_map_t* get_domain_map(const uint32_t& domain) { - domain_mask_ |= 1u << domain; - auto domain_it = map_->find(domain); - if (domain_it == map_->end()) { - auto* domain_map = new domain_map_t; - auto ret = map_->insert({domain, domain_map}); - domain_it = ret.first; - } - return domain_it->second; - } - - mutex_t mutex_; - journal_map_t* map_; - uint32_t domain_mask_; + private: + std::mutex mutex_; + std::unordered_map> map_; }; } // namespace roctracer diff --git a/src/core/roctracer.cpp b/src/core/roctracer.cpp index 449c672f88..ce8fff3df1 100644 --- a/src/core/roctracer.cpp +++ b/src/core/roctracer.cpp @@ -183,35 +183,39 @@ struct cb_journal_data_t { roctracer_rtapi_callback_t callback; void* user_data; }; -typedef Journal CbJournal; +using CbJournal = Journal; CbJournal* cb_journal; struct act_journal_data_t { roctracer_pool_t* pool; }; -typedef Journal ActJournal; +using ActJournal = Journal; ActJournal* act_journal; -template -struct journal_functor_t { - typedef typename T::record_t record_t; - F f_; - journal_functor_t(F f) : f_(f) {} - bool fun(const record_t& record) { - f_((activity_domain_t)record.domain, record.op); +template struct journal_functor_t { + Functor func_; + journal_functor_t(Functor&& f) : func_(std::forward(f)) {} + template bool operator ()(activity_domain_t domain, uint32_t op, Data&& /* data */) const { + func_(domain, op); return true; } }; -typedef journal_functor_t cb_en_functor_t; -typedef journal_functor_t cb_dis_functor_t; -typedef journal_functor_t act_en_functor_t; -typedef journal_functor_t act_dis_functor_t; -template<> bool cb_en_functor_t::fun(const cb_en_functor_t::record_t& record) { - f_((activity_domain_t)record.domain, record.op, record.data.callback, record.data.user_data); + +using cb_en_functor_t = journal_functor_t; +using cb_dis_functor_t = journal_functor_t; +using act_en_functor_t = journal_functor_t; +using act_dis_functor_t = journal_functor_t; + +template <> +template +bool cb_en_functor_t::operator ()(activity_domain_t domain, uint32_t op, Data&& data) const { + func_(domain, op, data.callback, data.user_data); return true; } -template<> bool act_en_functor_t::fun(const act_en_functor_t::record_t& record) { - f_((activity_domain_t)record.domain, record.op, record.data.pool); +template <> +template +bool act_en_functor_t::operator ()(activity_domain_t domain, uint32_t op, Data&& data) const { + func_(domain, op, data.pool); return true; } @@ -420,7 +424,7 @@ void* HIP_SyncActivityCallback( if (data == NULL) EXC_ABORT(ROCTRACER_STATUS_ERROR, "ActivityCallback: data is NULL"); phase = data->phase; } else if (pool != NULL) { - phase = ACTIVITY_API_PHASE_EXIT; + phase = ACTIVITY_API_PHASE_EXIT; } if (phase == ACTIVITY_API_PHASE_ENTER) { @@ -820,13 +824,13 @@ static roctracer_status_t roctracer_enable_callback_fun( } static void roctracer_enable_callback_impl( - uint32_t domain, + roctracer_domain_t domain, uint32_t op, roctracer_rtapi_callback_t callback, void* user_data) { - roctracer::cb_journal->registr({domain, op, {callback, user_data}}); - roctracer_enable_callback_fun((roctracer_domain_t)domain, op, callback, user_data); + roctracer::cb_journal->Insert(domain, op, {callback, user_data}); + roctracer_enable_callback_fun(domain, op, callback, user_data); } PUBLIC_API roctracer_status_t roctracer_enable_op_callback( @@ -860,7 +864,7 @@ PUBLIC_API roctracer_status_t roctracer_enable_callback( for (uint32_t domain = 0; domain < ACTIVITY_DOMAIN_NUMBER; ++domain) { const uint32_t op_end = get_op_end(domain); for (uint32_t op = get_op_begin(domain); op < op_end; ++op) - roctracer_enable_callback_impl(domain, op, callback, user_data); + roctracer_enable_callback_impl((roctracer_domain_t)domain, op, callback, user_data); } API_METHOD_SUFFIX } @@ -916,11 +920,11 @@ static roctracer_status_t roctracer_disable_callback_fun( } static void roctracer_disable_callback_impl( - uint32_t domain, + roctracer_domain_t domain, uint32_t op) { - roctracer::cb_journal->remove({domain, op, {}}); - roctracer_disable_callback_fun((roctracer_domain_t)domain, op); + roctracer::cb_journal->Remove(domain, op); + roctracer_disable_callback_fun(domain, op); } PUBLIC_API roctracer_status_t roctracer_disable_op_callback( @@ -948,7 +952,7 @@ PUBLIC_API roctracer_status_t roctracer_disable_callback() for (uint32_t domain = 0; domain < ACTIVITY_DOMAIN_NUMBER; ++domain) { const uint32_t op_end = get_op_end(domain); for (uint32_t op = get_op_begin(domain); op < op_end; ++op) - roctracer_disable_callback_impl(domain, op); + roctracer_disable_callback_impl((roctracer_domain_t)domain, op); } API_METHOD_SUFFIX } @@ -1045,12 +1049,12 @@ static roctracer_status_t roctracer_enable_activity_fun( } static void roctracer_enable_activity_impl( - uint32_t domain, + roctracer_domain_t domain, uint32_t op, roctracer_pool_t* pool) { - roctracer::act_journal->registr({domain, op, {pool}}); - roctracer_enable_activity_fun((roctracer_domain_t)domain, op, pool); + roctracer::act_journal->Insert(domain, op, {pool}); + roctracer_enable_activity_fun(domain, op, pool); } PUBLIC_API roctracer_status_t roctracer_enable_op_activity_expl( @@ -1081,7 +1085,7 @@ PUBLIC_API roctracer_status_t roctracer_enable_activity_expl( for (uint32_t domain = 0; domain < ACTIVITY_DOMAIN_NUMBER; ++domain) { const uint32_t op_end = get_op_end(domain); for (uint32_t op = get_op_begin(domain); op < op_end; ++op) - roctracer_enable_activity_impl(domain, op, pool); + roctracer_enable_activity_impl((roctracer_domain_t)domain, op, pool); } API_METHOD_SUFFIX } @@ -1132,11 +1136,11 @@ static roctracer_status_t roctracer_disable_activity_fun( } static void roctracer_disable_activity_impl( - uint32_t domain, + roctracer_domain_t domain, uint32_t op) { - roctracer::act_journal->remove({domain, op, {}}); - roctracer_disable_activity_fun((roctracer_domain_t)domain, op); + roctracer::act_journal->Remove(domain, op); + roctracer_disable_activity_fun(domain, op); } PUBLIC_API roctracer_status_t roctracer_disable_op_activity( @@ -1164,7 +1168,7 @@ PUBLIC_API roctracer_status_t roctracer_disable_activity() for (uint32_t domain = 0; domain < ACTIVITY_DOMAIN_NUMBER; ++domain) { const uint32_t op_end = get_op_end(domain); for (uint32_t op = get_op_begin(domain); op < op_end; ++op) - roctracer_disable_activity_impl(domain, op); + roctracer_disable_activity_impl((roctracer_domain_t)domain, op); } API_METHOD_SUFFIX } @@ -1218,18 +1222,18 @@ PUBLIC_API void roctracer_mark(const char* str) { PUBLIC_API void roctracer_start() { if (roctracer::set_stopped(0)) { if (roctracer::ext_support::roctracer_start_cb) roctracer::ext_support::roctracer_start_cb(); - roctracer::cb_journal->foreach(roctracer::cb_en_functor_t(roctracer_enable_callback_fun)); - roctracer::act_journal->foreach(roctracer::act_en_functor_t(roctracer_enable_activity_fun)); + roctracer::cb_journal->ForEach(roctracer::cb_en_functor_t(roctracer_enable_callback_fun)); + roctracer::act_journal->ForEach(roctracer::act_en_functor_t(roctracer_enable_activity_fun)); } } // Stop API PUBLIC_API void roctracer_stop() { if (roctracer::set_stopped(1)) { - // Must disable the activity first as the spawner checks for the activity being NULL + // Must disable the activity first as the spawner checks for the activity being NULL // to indicate that there is no callback. - roctracer::act_journal->foreach(roctracer::act_dis_functor_t(roctracer_disable_activity_fun)); - roctracer::cb_journal->foreach(roctracer::cb_dis_functor_t(roctracer_disable_callback_fun)); + roctracer::act_journal->ForEach(roctracer::act_dis_functor_t(roctracer_disable_activity_fun)); + roctracer::cb_journal->ForEach(roctracer::cb_dis_functor_t(roctracer_disable_callback_fun)); if (roctracer::ext_support::roctracer_stop_cb) roctracer::ext_support::roctracer_stop_cb(); } } From 15ab5d9cdae575d24a8813bf8c3a930b2adeeaa9 Mon Sep 17 00:00:00 2001 From: Laurent Morichetti Date: Mon, 18 Apr 2022 15:09:58 -0700 Subject: [PATCH 487/691] Run clang-format on all source files Change-Id: Ifb52ca306286b6b2d473821bed9db28e9f616d50 --- inc/ext/prof_protocol.h | 90 ++- inc/roctracer.h | 147 +++-- inc/roctracer_cb_table.h | 7 +- inc/roctracer_ext.h | 3 +- inc/roctracer_hcc.h | 13 +- inc/roctracer_hip.h | 4 +- inc/roctracer_hsa.h | 14 +- inc/roctracer_roctx.h | 4 +- inc/roctx.h | 4 +- src/core/hip_act_cb_tracker.h | 2 +- src/core/loader.h | 136 ++--- src/core/memory_pool.h | 30 +- src/core/roctracer.cpp | 525 +++++++++--------- src/core/trace_buffer.h | 72 +-- src/proxy/hsa_queue.h | 4 +- src/proxy/intercept_queue.cpp | 8 +- src/proxy/intercept_queue.h | 67 +-- src/proxy/proxy_queue.cpp | 4 +- src/proxy/simple_proxy_queue.cpp | 18 +- src/proxy/simple_proxy_queue.h | 12 +- src/proxy/tracker.h | 28 +- src/proxy/types.h | 7 +- src/roctx/roctx.cpp | 34 +- src/roctx/roctx_intercept.cpp | 4 +- src/util/exception.h | 4 +- src/util/hsa_rsrc_factory.cpp | 159 ++++-- src/util/hsa_rsrc_factory.h | 64 ++- src/util/logger.h | 40 +- test/MatrixTranspose/MatrixTranspose.cpp | 100 ++-- test/MatrixTranspose_test/MatrixTranspose.cpp | 153 +++-- test/app/codeobj_test.cpp | 22 +- test/app/hsaco_test.cpp | 101 ++-- test/hsa/src/hsa_rsrc_factory.cpp | 156 ++++-- test/hsa/src/hsa_rsrc_factory.h | 64 ++- test/hsa/test/ctrl/run_kernel.h | 4 +- test/hsa/test/ctrl/test_hsa.cpp | 10 +- test/hsa/test/dummy_kernel/dummy_kernel.h | 9 +- test/hsa/test/util/evt_stats.h | 29 +- test/hsa/test/util/xml.h | 6 +- test/tool/tracer_tool.cpp | 402 +++++++------- 40 files changed, 1332 insertions(+), 1228 deletions(-) diff --git a/inc/ext/prof_protocol.h b/inc/ext/prof_protocol.h index 07fa6d09a7..f75e7c0dc2 100644 --- a/inc/ext/prof_protocol.h +++ b/inc/ext/prof_protocol.h @@ -25,35 +25,30 @@ // Traced API domains typedef enum { - ACTIVITY_DOMAIN_HSA_API = 0, // HSA API domain - ACTIVITY_DOMAIN_HSA_OPS = 1, // HSA async activity domain - ACTIVITY_DOMAIN_HIP_OPS = 2, // HIP async activity domain - ACTIVITY_DOMAIN_HCC_OPS = ACTIVITY_DOMAIN_HIP_OPS, // HCC async activity domain - ACTIVITY_DOMAIN_HIP_VDI = ACTIVITY_DOMAIN_HIP_OPS, // HIP VDI async activity domain - ACTIVITY_DOMAIN_HIP_API = 3, // HIP API domain - ACTIVITY_DOMAIN_KFD_API = 4, // KFD API domain - ACTIVITY_DOMAIN_EXT_API = 5, // External ID domain - ACTIVITY_DOMAIN_ROCTX = 6, // ROCTX domain - ACTIVITY_DOMAIN_HSA_EVT = 7, // HSA events + ACTIVITY_DOMAIN_HSA_API = 0, // HSA API domain + ACTIVITY_DOMAIN_HSA_OPS = 1, // HSA async activity domain + ACTIVITY_DOMAIN_HIP_OPS = 2, // HIP async activity domain + ACTIVITY_DOMAIN_HCC_OPS = ACTIVITY_DOMAIN_HIP_OPS, // HCC async activity domain + ACTIVITY_DOMAIN_HIP_VDI = ACTIVITY_DOMAIN_HIP_OPS, // HIP VDI async activity domain + ACTIVITY_DOMAIN_HIP_API = 3, // HIP API domain + ACTIVITY_DOMAIN_KFD_API = 4, // KFD API domain + ACTIVITY_DOMAIN_EXT_API = 5, // External ID domain + ACTIVITY_DOMAIN_ROCTX = 6, // ROCTX domain + ACTIVITY_DOMAIN_HSA_EVT = 7, // HSA events ACTIVITY_DOMAIN_NUMBER } activity_domain_t; // Extension API opcodes -typedef enum { - ACTIVITY_EXT_OP_MARK = 0, - ACTIVITY_EXT_OP_EXTERN_ID = 1 -} activity_ext_op_t; +typedef enum { ACTIVITY_EXT_OP_MARK = 0, ACTIVITY_EXT_OP_EXTERN_ID = 1 } activity_ext_op_t; // API calback type -typedef void (*activity_rtapi_callback_t)(uint32_t domain, uint32_t cid, const void* data, void* arg); +typedef void (*activity_rtapi_callback_t)(uint32_t domain, uint32_t cid, const void* data, + void* arg); typedef uint32_t activity_kind_t; typedef uint32_t activity_op_t; // API callback phase -typedef enum { - ACTIVITY_API_PHASE_ENTER = 0, - ACTIVITY_API_PHASE_EXIT = 1 -} activity_api_phase_t; +typedef enum { ACTIVITY_API_PHASE_ENTER = 0, ACTIVITY_API_PHASE_EXIT = 1 } activity_api_phase_t; // Trace record types // Correlation id @@ -61,39 +56,40 @@ typedef uint64_t activity_correlation_id_t; // Activity record type typedef struct activity_record_s { - uint32_t domain; // activity domain id - activity_kind_t kind; // activity kind - activity_op_t op; // activity op - union { - struct { - activity_correlation_id_t correlation_id; // activity ID - uint64_t begin_ns; // host begin timestamp - uint64_t end_ns; // host end timestamp - }; - struct { - uint32_t se; // sampled SE - uint64_t cycle; // sample cycle - uint64_t pc; // sample PC - } pc_sample; + uint32_t domain; // activity domain id + activity_kind_t kind; // activity kind + activity_op_t op; // activity op + union { + struct { + activity_correlation_id_t correlation_id; // activity ID + uint64_t begin_ns; // host begin timestamp + uint64_t end_ns; // host end timestamp }; - union { - struct { - int device_id; // device id - uint64_t queue_id; // queue id - }; - struct { - uint32_t process_id; // device id - uint32_t thread_id; // thread id - }; - struct { - activity_correlation_id_t external_id; // external correlatino id - }; + struct { + uint32_t se; // sampled SE + uint64_t cycle; // sample cycle + uint64_t pc; // sample PC + } pc_sample; + }; + union { + struct { + int device_id; // device id + uint64_t queue_id; // queue id }; - size_t bytes; // data size bytes + struct { + uint32_t process_id; // device id + uint32_t thread_id; // thread id + }; + struct { + activity_correlation_id_t external_id; // external correlatino id + }; + }; + size_t bytes; // data size bytes } activity_record_t; // Activity sync calback type -typedef void* (*activity_sync_callback_t)(uint32_t cid, activity_record_t* record, const void* data, void* arg); +typedef void* (*activity_sync_callback_t)(uint32_t cid, activity_record_t* record, const void* data, + void* arg); // Activity async calback type typedef void (*activity_id_callback_t)(activity_correlation_id_t id); typedef void (*activity_async_callback_t)(uint32_t op, void* record, void* arg); diff --git a/inc/roctracer.h b/inc/roctracer.h index ddb3bfb9aa..168bef0cd2 100644 --- a/inc/roctracer.h +++ b/inc/roctracer.h @@ -81,17 +81,15 @@ typedef activity_domain_t roctracer_domain_t; // Return Op string by given domain and Op code // NULL returned on the error and the library errno is set -const char* roctracer_op_string( - uint32_t domain, // tracing domain - uint32_t op, // activity op ID - uint32_t kind); // activity kind +const char* roctracer_op_string(uint32_t domain, // tracing domain + uint32_t op, // activity op ID + uint32_t kind); // activity kind // Return Op code and kind by given string -roctracer_status_t roctracer_op_code( - uint32_t domain, // tracing domain - const char* str, // [in] op string - uint32_t* op, // [out] op code - uint32_t* kind); // [out] op kind code if not NULL +roctracer_status_t roctracer_op_code(uint32_t domain, // tracing domain + const char* str, // [in] op string + uint32_t* op, // [out] op code + uint32_t* kind); // [out] op kind code if not NULL //////////////////////////////////////////////////////////////////////////////// // Callback API @@ -106,24 +104,22 @@ typedef activity_rtapi_callback_t roctracer_rtapi_callback_t; // Enable runtime API callbacks roctracer_status_t roctracer_enable_op_callback( - activity_domain_t domain, // tracing domain - uint32_t op, // API call ID - activity_rtapi_callback_t callback, // callback function pointer - void* arg); // [in/out] callback arg + activity_domain_t domain, // tracing domain + uint32_t op, // API call ID + activity_rtapi_callback_t callback, // callback function pointer + void* arg); // [in/out] callback arg roctracer_status_t roctracer_enable_domain_callback( - activity_domain_t domain, // tracing domain - activity_rtapi_callback_t callback, // callback function pointer - void* arg); // [in/out] callback arg + activity_domain_t domain, // tracing domain + activity_rtapi_callback_t callback, // callback function pointer + void* arg); // [in/out] callback arg roctracer_status_t roctracer_enable_callback( - activity_rtapi_callback_t callback, // callback function pointer - void* arg); // [in/out] callback arg + activity_rtapi_callback_t callback, // callback function pointer + void* arg); // [in/out] callback arg // Disable runtime API callbacks -roctracer_status_t roctracer_disable_op_callback( - activity_domain_t domain, // tracing domain - uint32_t op); // API call ID -roctracer_status_t roctracer_disable_domain_callback( - activity_domain_t domain); // tracing domain +roctracer_status_t roctracer_disable_op_callback(activity_domain_t domain, // tracing domain + uint32_t op); // API call ID +roctracer_status_t roctracer_disable_domain_callback(activity_domain_t domain); // tracing domain roctracer_status_t roctracer_disable_callback(); //////////////////////////////////////////////////////////////////////////////// @@ -140,33 +136,32 @@ typedef activity_record_t roctracer_record_t; // Return next record static inline roctracer_status_t roctracer_next_record( - const activity_record_t* record, // [in] record ptr - const activity_record_t** next) // [out] next record ptr + const activity_record_t* record, // [in] record ptr + const activity_record_t** next) // [out] next record ptr { *next = record + 1; return ROCTRACER_STATUS_SUCCESS; } // Tracer allocator type -typedef void (*roctracer_allocator_t)( - char** ptr, // memory pointer - size_t size, // memory size - void* arg); // allocator arg +typedef void (*roctracer_allocator_t)(char** ptr, // memory pointer + size_t size, // memory size + void* arg); // allocator arg // Pool callback type typedef void (*roctracer_buffer_callback_t)( - const char* begin, // [in] available buffered trace records - const char* end, // [in] end of buffered trace records - void* arg); // [in/out] callback arg + const char* begin, // [in] available buffered trace records + const char* end, // [in] end of buffered trace records + void* arg); // [in/out] callback arg // Tracer properties typedef struct { - uint32_t mode; // roctracer mode - size_t buffer_size; // buffer size - roctracer_allocator_t alloc_fun; // memory alocator function pointer - void* alloc_arg; // memory alocator function pointer - roctracer_buffer_callback_t buffer_callback_fun; // tracer record callback function - void* buffer_callback_arg; // tracer record callback arg + uint32_t mode; // roctracer mode + size_t buffer_size; // buffer size + roctracer_allocator_t alloc_fun; // memory alocator function pointer + void* alloc_arg; // memory alocator function pointer + roctracer_buffer_callback_t buffer_callback_fun; // tracer record callback function + void* buffer_callback_arg; // tracer record callback arg } roctracer_properties_t; // Tracer memory pool type @@ -175,78 +170,69 @@ typedef void roctracer_pool_t; // Create tracer memory pool // The first invocation sets the default pool roctracer_status_t roctracer_open_pool_expl( - const roctracer_properties_t* properties, // tracer pool properties - roctracer_pool_t** pool); // [out] returns tracer pool if not NULL, - // otherwise sets the default one if it is not set yet + const roctracer_properties_t* properties, // tracer pool properties + roctracer_pool_t** pool); // [out] returns tracer pool if not NULL, + // otherwise sets the default one if it is not set yet static inline roctracer_status_t roctracer_open_pool( - const roctracer_properties_t* properties) // tracer pool properties + const roctracer_properties_t* properties) // tracer pool properties { - return roctracer_open_pool_expl(properties, NULL); + return roctracer_open_pool_expl(properties, NULL); } - // otherwise the error is generated +// otherwise the error is generated // Close tracer memory pool roctracer_status_t roctracer_close_pool_expl( - roctracer_pool_t* pool); // [in] memory pool, NULL is a default one -static inline roctracer_status_t roctracer_close_pool() -{ - return roctracer_close_pool_expl(NULL); -} + roctracer_pool_t* pool); // [in] memory pool, NULL is a default one +static inline roctracer_status_t roctracer_close_pool() { return roctracer_close_pool_expl(NULL); } // Return current default pool // Set new default pool if the argument is not NULL roctracer_pool_t* roctracer_default_pool_expl( - roctracer_pool_t* pool); // [in] new default pool if not NULL -static inline roctracer_pool_t* roctracer_default_pool() -{ - return roctracer_default_pool_expl(NULL); + roctracer_pool_t* pool); // [in] new default pool if not NULL +static inline roctracer_pool_t* roctracer_default_pool() { + return roctracer_default_pool_expl(NULL); } // Enable activity records logging roctracer_status_t roctracer_enable_op_activity_expl( - activity_domain_t domain, // tracing domain - uint32_t op, // activity op ID - roctracer_pool_t* pool); // memory pool, NULL is a default one + activity_domain_t domain, // tracing domain + uint32_t op, // activity op ID + roctracer_pool_t* pool); // memory pool, NULL is a default one static inline roctracer_status_t roctracer_enable_op_activity( - activity_domain_t domain, // tracing domain - uint32_t op) // activity op ID + activity_domain_t domain, // tracing domain + uint32_t op) // activity op ID { - return roctracer_enable_op_activity_expl(domain, op, NULL); + return roctracer_enable_op_activity_expl(domain, op, NULL); } roctracer_status_t roctracer_enable_domain_activity_expl( - activity_domain_t domain, // tracing domain - roctracer_pool_t* pool); // memory pool, NULL is a default one + activity_domain_t domain, // tracing domain + roctracer_pool_t* pool); // memory pool, NULL is a default one static inline roctracer_status_t roctracer_enable_domain_activity( - activity_domain_t domain) // tracing domain + activity_domain_t domain) // tracing domain { - return roctracer_enable_domain_activity_expl(domain, NULL); + return roctracer_enable_domain_activity_expl(domain, NULL); } roctracer_status_t roctracer_enable_activity_expl( - roctracer_pool_t* pool); // memory pool, NULL is a default one -static inline roctracer_status_t roctracer_enable_activity() -{ - return roctracer_enable_activity_expl(NULL); + roctracer_pool_t* pool); // memory pool, NULL is a default one +static inline roctracer_status_t roctracer_enable_activity() { + return roctracer_enable_activity_expl(NULL); } // Disable activity records logging -roctracer_status_t roctracer_disable_op_activity( - activity_domain_t domain, // tracing domain - uint32_t op); // activity op ID -roctracer_status_t roctracer_disable_domain_activity( - activity_domain_t domain); // tracing domain +roctracer_status_t roctracer_disable_op_activity(activity_domain_t domain, // tracing domain + uint32_t op); // activity op ID +roctracer_status_t roctracer_disable_domain_activity(activity_domain_t domain); // tracing domain roctracer_status_t roctracer_disable_activity(); // Flush available activity records roctracer_status_t roctracer_flush_activity_expl( - roctracer_pool_t* pool); // memory pool, NULL is a default one -static inline roctracer_status_t roctracer_flush_activity() -{ - return roctracer_flush_activity_expl(NULL); + roctracer_pool_t* pool); // memory pool, NULL is a default one +static inline roctracer_status_t roctracer_flush_activity() { + return roctracer_flush_activity_expl(NULL); } // Get system timestamp -roctracer_status_t roctracer_get_timestamp( - uint64_t* timestamp); // [out] return timestamp +roctracer_status_t roctracer_get_timestamp(uint64_t* timestamp); // [out] return timestamp // Load/Unload methods bool roctracer_load(); @@ -254,9 +240,8 @@ void roctracer_unload(); void roctracer_flush_buf(); // Set properties -roctracer_status_t roctracer_set_properties( - roctracer_domain_t domain, // tracing domain - void* propertes); // tracing properties +roctracer_status_t roctracer_set_properties(roctracer_domain_t domain, // tracing domain + void* propertes); // tracing properties #ifdef __cplusplus } // extern "C" block diff --git a/inc/roctracer_cb_table.h b/inc/roctracer_cb_table.h index 0cf65fbfea..def96b3488 100644 --- a/inc/roctracer_cb_table.h +++ b/inc/roctracer_cb_table.h @@ -28,9 +28,8 @@ namespace roctracer { // Generic callbacks table -template -class CbTable { - public: +template class CbTable { + public: typedef std::mutex mutex_t; CbTable() { @@ -63,7 +62,7 @@ class CbTable { return ret; } - private: + private: activity_rtapi_callback_t callback_[N]; void* arg_[N]; mutex_t mutex_; diff --git a/inc/roctracer_ext.h b/inc/roctracer_ext.h index e41bd09402..ccd56617a3 100644 --- a/inc/roctracer_ext.h +++ b/inc/roctracer_ext.h @@ -62,7 +62,8 @@ roctracer_status_t roctracer_activity_push_external_correlation_id(activity_corr // Notifies that the calling thread is leaving an external API region. // Pop an external correlation id for the calling thread. // 'lastId' returns the last external correlation if not NULL -roctracer_status_t roctracer_activity_pop_external_correlation_id(activity_correlation_id_t* last_id); +roctracer_status_t roctracer_activity_pop_external_correlation_id( + activity_correlation_id_t* last_id); #ifdef __cplusplus } // extern "C" block diff --git a/inc/roctracer_hcc.h b/inc/roctracer_hcc.h index 566061b6d0..16800bd11c 100644 --- a/inc/roctracer_hcc.h +++ b/inc/roctracer_hcc.h @@ -21,19 +21,14 @@ #ifndef INC_ROCTRACER_HCC_H_ #define INC_ROCTRACER_HCC_H_ -enum { - HIP_OP_ID_DISPATCH = 0, - HIP_OP_ID_COPY = 1, - HIP_OP_ID_BARRIER = 2, - HIP_OP_ID_NUMBER = 3 -}; +enum { HIP_OP_ID_DISPATCH = 0, HIP_OP_ID_COPY = 1, HIP_OP_ID_BARRIER = 2, HIP_OP_ID_NUMBER = 3 }; #ifdef __cplusplus extern "C" { #endif -typedef void (hipInitAsyncActivityCallback_t)(void* id_callback, void* op_callback, void* arg); -typedef bool (hipEnableAsyncActivityCallback_t)(unsigned op, bool enable); -typedef const char* (hipGetOpName_t)(unsigned op); +typedef void(hipInitAsyncActivityCallback_t)(void* id_callback, void* op_callback, void* arg); +typedef bool(hipEnableAsyncActivityCallback_t)(unsigned op, bool enable); +typedef const char*(hipGetOpName_t)(unsigned op); #ifdef __cplusplus } #endif diff --git a/inc/roctracer_hip.h b/inc/roctracer_hip.h index 3a8de0ccb1..fc12e6770b 100644 --- a/inc/roctracer_hip.h +++ b/inc/roctracer_hip.h @@ -25,12 +25,12 @@ #include inline static std::ostream& operator<<(std::ostream& out, const unsigned char& v) { - out << (unsigned int)v; + out << (unsigned int)v; return out; } inline static std::ostream& operator<<(std::ostream& out, const char& v) { - out << (unsigned char)v; + out << (unsigned char)v; return out; } #endif // __cplusplus diff --git a/inc/roctracer_hsa.h b/inc/roctracer_hsa.h index 46de976a40..1166e7a889 100644 --- a/inc/roctracer_hsa.h +++ b/inc/roctracer_hsa.h @@ -42,9 +42,7 @@ enum hsa_op_id_t { namespace roctracer { namespace hsa_support { -enum { - HSA_OP_ID_async_copy = 0 -}; +enum { HSA_OP_ID_async_copy = 0 }; extern CoreApiTable CoreApiTable_saved; extern AmdExtTable AmdExtTable_saved; @@ -57,18 +55,18 @@ struct ops_properties_t { const char* output_prefix; }; -}; // namespace hsa_support +}; // namespace hsa_support typedef hsa_support::ops_properties_t hsa_ops_properties_t; -}; // namespace roctracer +}; // namespace roctracer #include "hsa_ostream_ops.h" -#else // !__cplusplus +#else // !__cplusplus typedef void* hsa_amd_queue_intercept_handler; typedef void* hsa_amd_runtime_queue_notifier; -#endif //! __cplusplus +#endif //! __cplusplus #include -#endif // INC_ROCTRACER_HSA_H_ +#endif // INC_ROCTRACER_HSA_H_ diff --git a/inc/roctracer_roctx.h b/inc/roctracer_roctx.h index 456e6242dc..0c08dafc21 100644 --- a/inc/roctracer_roctx.h +++ b/inc/roctracer_roctx.h @@ -47,8 +47,8 @@ enum roctx_api_id_t { typedef struct roctx_api_data_s { union { struct { - const char* message; - roctx_range_id_t id; + const char* message; + roctx_range_id_t id; }; struct { const char* message; diff --git a/inc/roctx.h b/inc/roctx.h index 76bbd0cf66..1f7f6f74b4 100644 --- a/inc/roctx.h +++ b/inc/roctx.h @@ -59,8 +59,8 @@ void roctxMarkA(const char* message); //////////////////////////////////////////////////////////////////////////////// // Ranges annotating API -// Returns the 0 based level of a nested range being started by given message associated to this range. -// A negative value is returned on the error. +// Returns the 0 based level of a nested range being started by given message associated to this +// range. A negative value is returned on the error. int roctxRangePushA(const char* message); #define roctxRangePush(message) roctxRangePushA(message) diff --git a/src/core/hip_act_cb_tracker.h b/src/core/hip_act_cb_tracker.h index f6835fe241..a3ed2c6f13 100644 --- a/src/core/hip_act_cb_tracker.h +++ b/src/core/hip_act_cb_tracker.h @@ -27,7 +27,7 @@ namespace roctracer { enum { API_CB_MASK = 0x1, ACT_CB_MASK = 0x2 }; class hip_act_cb_tracker_t { - private: + private: std::map data; public: diff --git a/src/core/loader.h b/src/core/loader.h index 4980fbabee..68906ff1e1 100644 --- a/src/core/loader.h +++ b/src/core/loader.h @@ -25,29 +25,29 @@ #include #include -#define ONLD_TRACE(str) \ - if (getenv("ROCP_ONLOAD_TRACE")) do { \ - std::cout << "PID(" << GetPid() << "): TRACER_LOADER::" << __FUNCTION__ << " " << str << std::endl << std::flush; \ - } while(0); +#define ONLD_TRACE(str) \ + if (getenv("ROCP_ONLOAD_TRACE")) do { \ + std::cout << "PID(" << GetPid() << "): TRACER_LOADER::" << __FUNCTION__ << " " << str \ + << std::endl \ + << std::flush; \ + } while (0); namespace roctracer { // Base runtime loader class -template -class BaseLoader : public T { +template class BaseLoader : public T { static uint32_t GetPid() { return syscall(__NR_getpid); } - public: + public: typedef std::mutex mutex_t; typedef BaseLoader loader_t; bool Enabled() const { return (handle_ != NULL); } - template - fun_t* GetFun(const char* fun_name) { + template fun_t* GetFun(const char* fun_name) { if (handle_ == NULL) return NULL; - fun_t *f = (fun_t*) dlsym(handle_, fun_name); + fun_t* f = (fun_t*)dlsym(handle_, fun_name); if ((to_check_symb_ == true) && (f == NULL)) { fprintf(stderr, "roctracer: symbol lookup '%s' failed: \"%s\"\n", fun_name, dlerror()); abort(); @@ -68,11 +68,11 @@ class BaseLoader : public T { } static loader_t* GetRef() { return instance_; } - static void SetLibName(const char *name) { lib_name_ = name; } + static void SetLibName(const char* name) { lib_name_ = name; } - private: + private: BaseLoader() { - const int flags = (to_load_ == true) ? RTLD_LAZY : RTLD_LAZY|RTLD_NOLOAD; + const int flags = (to_load_ == true) ? RTLD_LAZY : RTLD_LAZY | RTLD_NOLOAD; handle_ = dlopen(lib_name_, flags); ONLD_TRACE("(" << lib_name_ << " = " << handle_ << ")"); if ((to_check_open_ == true) && (handle_ == NULL)) { @@ -99,14 +99,14 @@ class BaseLoader : public T { // 'rocprofiler' library loader class class RocpApi { - public: + public: typedef BaseLoader Loader; - typedef bool (RegisterCallback_t)(uint32_t op, void* callback, void* arg); - typedef bool (OperateCallback_t)(uint32_t op); - typedef bool (InitCallback_t)(void* callback, void* arg); - typedef bool (EnableCallback_t)(uint32_t op, bool enable); - typedef const char* (NameCallback_t)(uint32_t op); + typedef bool(RegisterCallback_t)(uint32_t op, void* callback, void* arg); + typedef bool(OperateCallback_t)(uint32_t op); + typedef bool(InitCallback_t)(void* callback, void* arg); + typedef bool(EnableCallback_t)(uint32_t op, bool enable); + typedef const char*(NameCallback_t)(uint32_t op); RegisterCallback_t* RegisterApiCallback; OperateCallback_t* RemoveApiCallback; @@ -118,7 +118,7 @@ class RocpApi { OperateCallback_t* RemoveEvtCallback; NameCallback_t* GetEvtName; - protected: + protected: void init(Loader* loader) { RegisterApiCallback = loader->GetFun("RegisterApiCallback"); RemoveApiCallback = loader->GetFun("RemoveApiCallback"); @@ -134,29 +134,36 @@ class RocpApi { // HIP runtime library loader class #if STATIC_BUILD -__attribute__((weak)) hipError_t hipRegisterApiCallback(uint32_t id, void* fun, void* arg) { return hipErrorUnknown; } +__attribute__((weak)) hipError_t hipRegisterApiCallback(uint32_t id, void* fun, void* arg) { + return hipErrorUnknown; +} __attribute__((weak)) hipError_t hipRemoveApiCallback(uint32_t id) { return hipErrorUnknown; } -__attribute__((weak)) hipError_t hipRegisterActivityCallback(uint32_t id, void* fun, void* arg) { return hipErrorUnknown; } +__attribute__((weak)) hipError_t hipRegisterActivityCallback(uint32_t id, void* fun, void* arg) { + return hipErrorUnknown; +} __attribute__((weak)) hipError_t hipRemoveActivityCallback(uint32_t id) { return hipErrorUnknown; } __attribute__((weak)) const char* hipKernelNameRef(const hipFunction_t f) { return NULL; } -__attribute__((weak)) const char* hipKernelNameRefByPtr(const void* hostFunction, hipStream_t stream) { return NULL; } +__attribute__((weak)) const char* hipKernelNameRefByPtr(const void* hostFunction, + hipStream_t stream) { + return NULL; +} __attribute__((weak)) int hipGetStreamDeviceId(hipStream_t stream) { return 0; } __attribute__((weak)) const char* hipApiName(uint32_t id) { return NULL; } class HipLoaderStatic { - public: + public: typedef std::mutex mutex_t; typedef HipLoaderStatic loader_t; typedef std::atomic instance_t; - typedef hipError_t (RegisterApiCallback_t)(uint32_t id, void* fun, void* arg); - typedef hipError_t (RemoveApiCallback_t)(uint32_t id); - typedef hipError_t (RegisterActivityCallback_t)(uint32_t id, void* fun, void* arg); - typedef hipError_t (RemoveActivityCallback_t)(uint32_t id); - typedef const char* (KernelNameRef_t)(const hipFunction_t f); - typedef const char* (KernelNameRefByPtr_t)(const void* hostFunction, hipStream_t stream); - typedef int (GetStreamDeviceId_t)(hipStream_t stream); - typedef const char* (ApiName_t)(uint32_t id); + typedef hipError_t(RegisterApiCallback_t)(uint32_t id, void* fun, void* arg); + typedef hipError_t(RemoveApiCallback_t)(uint32_t id); + typedef hipError_t(RegisterActivityCallback_t)(uint32_t id, void* fun, void* arg); + typedef hipError_t(RemoveActivityCallback_t)(uint32_t id); + typedef const char*(KernelNameRef_t)(const hipFunction_t f); + typedef const char*(KernelNameRefByPtr_t)(const void* hostFunction, hipStream_t stream); + typedef int(GetStreamDeviceId_t)(hipStream_t stream); + typedef const char*(ApiName_t)(uint32_t id); RegisterApiCallback_t* RegisterApiCallback; RemoveApiCallback_t* RemoveApiCallback; @@ -181,7 +188,7 @@ class HipLoaderStatic { bool Enabled() const { return true; } - private: + private: HipLoaderStatic() { RegisterApiCallback = hipRegisterApiCallback; RemoveApiCallback = hipRemoveApiCallback; @@ -189,7 +196,7 @@ class HipLoaderStatic { RemoveActivityCallback = hipRemoveActivityCallback; KernelNameRef = hipKernelNameRef; KernelNameRefByPtr = hipKernelNameRefByPtr; - GetStreamDeviceId = hipGetStreamDeviceId; + GetStreamDeviceId = hipGetStreamDeviceId; ApiName = hipApiName; } @@ -198,7 +205,7 @@ class HipLoaderStatic { }; #else class HipApi { - public: + public: typedef BaseLoader Loader; typedef decltype(hipRegisterApiCallback) RegisterApiCallback_t; @@ -219,15 +226,16 @@ class HipApi { GetStreamDeviceId_t* GetStreamDeviceId; ApiName_t* ApiName; - protected: + protected: void init(Loader* loader) { RegisterApiCallback = loader->GetFun("hipRegisterApiCallback"); RemoveApiCallback = loader->GetFun("hipRemoveApiCallback"); - RegisterActivityCallback = loader->GetFun("hipRegisterActivityCallback"); + RegisterActivityCallback = + loader->GetFun("hipRegisterActivityCallback"); RemoveActivityCallback = loader->GetFun("hipRemoveActivityCallback"); KernelNameRef = loader->GetFun("hipKernelNameRef"); KernelNameRefByPtr = loader->GetFun("hipKernelNameRefByPtr"); - GetStreamDeviceId = loader->GetFun("hipGetStreamDeviceId"); + GetStreamDeviceId = loader->GetFun("hipGetStreamDeviceId"); ApiName = loader->GetFun("hipApiName"); } }; @@ -236,17 +244,19 @@ class HipApi { // HCC runtime library loader class #include "inc/roctracer_hcc.h" class HccApi { - public: + public: typedef BaseLoader Loader; hipInitAsyncActivityCallback_t* InitActivityCallback; hipEnableAsyncActivityCallback_t* EnableActivityCallback; hipGetOpName_t* GetOpName; - protected: + protected: void init(Loader* loader) { - InitActivityCallback = loader->GetFun("hipInitActivityCallback"); - EnableActivityCallback = loader->GetFun("hipEnableActivityCallback"); + InitActivityCallback = + loader->GetFun("hipInitActivityCallback"); + EnableActivityCallback = + loader->GetFun("hipEnableActivityCallback"); GetOpName = loader->GetFun("hipGetCmdName"); } }; @@ -254,7 +264,7 @@ class HccApi { // rocTX runtime library loader class #include "inc/roctracer_roctx.h" class RocTxApi { - public: + public: typedef BaseLoader Loader; typedef decltype(RegisterApiCallback) RegisterApiCallback_t; @@ -265,7 +275,7 @@ class RocTxApi { RemoveApiCallback_t* RemoveApiCallback; RangeStackIterate_t* RangeStackIterate; - protected: + protected: void init(Loader* loader) { RegisterApiCallback = loader->GetFun("RegisterApiCallback"); RemoveApiCallback = loader->GetFun("RemoveApiCallback"); @@ -284,31 +294,31 @@ typedef BaseLoader HipLoaderShared; typedef HipLoaderShared HipLoader; #endif -} // namespace roctracer +} // namespace roctracer -#define LOADER_INSTANTIATE_2() \ - template typename roctracer::BaseLoader::mutex_t roctracer::BaseLoader::mutex_; \ - template std::atomic*> roctracer::BaseLoader::instance_{}; \ - template bool roctracer::BaseLoader::to_load_ = false; \ - template bool roctracer::BaseLoader::to_check_open_ = true; \ - template bool roctracer::BaseLoader::to_check_symb_ = true; \ - template<> const char* roctracer::RocpLoader::lib_name_ = "librocprofiler64.so"; \ - template<> bool roctracer::RocpLoader::to_load_ = true; \ - template<> const char* roctracer::HccLoader::lib_name_ = "libamdhip64.so"; \ - template<> const char* roctracer::RocTxLoader::lib_name_ = "libroctx64.so"; \ - template<> bool roctracer::RocTxLoader::to_load_ = true; +#define LOADER_INSTANTIATE_2() \ + template typename roctracer::BaseLoader::mutex_t roctracer::BaseLoader::mutex_; \ + template std::atomic*> roctracer::BaseLoader::instance_{}; \ + template bool roctracer::BaseLoader::to_load_ = false; \ + template bool roctracer::BaseLoader::to_check_open_ = true; \ + template bool roctracer::BaseLoader::to_check_symb_ = true; \ + template <> const char* roctracer::RocpLoader::lib_name_ = "librocprofiler64.so"; \ + template <> bool roctracer::RocpLoader::to_load_ = true; \ + template <> const char* roctracer::HccLoader::lib_name_ = "libamdhip64.so"; \ + template <> const char* roctracer::RocTxLoader::lib_name_ = "libroctx64.so"; \ + template <> bool roctracer::RocTxLoader::to_load_ = true; #if STATIC_BUILD -#define LOADER_INSTANTIATE_HIP() \ - roctracer::HipLoaderStatic::mutex_t roctracer::HipLoaderStatic::mutex_; \ +#define LOADER_INSTANTIATE_HIP() \ + roctracer::HipLoaderStatic::mutex_t roctracer::HipLoaderStatic::mutex_; \ roctracer::HipLoaderStatic::instance_t roctracer::HipLoaderStatic::instance_{}; #else -#define LOADER_INSTANTIATE_HIP() \ - template<> const char* roctracer::HipLoaderShared::lib_name_ = "libamdhip64.so"; +#define LOADER_INSTANTIATE_HIP() \ + template <> const char* roctracer::HipLoaderShared::lib_name_ = "libamdhip64.so"; #endif -#define LOADER_INSTANTIATE() \ - LOADER_INSTANTIATE_2(); \ +#define LOADER_INSTANTIATE() \ + LOADER_INSTANTIATE_2(); \ LOADER_INSTANTIATE_HIP(); -#endif // SRC_CORE_LOADER_H_ +#endif // SRC_CORE_LOADER_H_ diff --git a/src/core/memory_pool.h b/src/core/memory_pool.h index 5b10d1f31f..784565cec5 100644 --- a/src/core/memory_pool.h +++ b/src/core/memory_pool.h @@ -42,7 +42,7 @@ namespace roctracer { class MemoryPool { - public: + public: typedef std::mutex mutex_t; static void allocator_default(char** ptr, size_t size, void* arg) { @@ -52,12 +52,12 @@ class MemoryPool { } else if (size != 0) { *ptr = reinterpret_cast(realloc(*ptr, size)); } else { - free(*ptr); + free(*ptr); *ptr = NULL; } } - MemoryPool(const roctracer_properties_t& properties) { + MemoryPool(const roctracer_properties_t& properties) { // Assigning pool allocator alloc_fun_ = allocator_default; alloc_arg_ = NULL; @@ -89,14 +89,14 @@ class MemoryPool { ~MemoryPool() { Flush(); PTHREAD_CALL(pthread_cancel(consumer_thread_)); - void *res; + void* res; PTHREAD_CALL(pthread_join(consumer_thread_, &res)); - if (res != PTHREAD_CANCELED) EXC_ABORT(ROCTRACER_STATUS_ERROR, "consumer thread wasn't stopped correctly"); + if (res != PTHREAD_CANCELED) + EXC_ABORT(ROCTRACER_STATUS_ERROR, "consumer thread wasn't stopped correctly"); allocator_default(&pool_begin_, 0, alloc_arg_); } - template - void Write(const Record& record) { + template void Write(const Record& record) { std::lock_guard lock(write_mutex_); getRecord(record); } @@ -112,7 +112,7 @@ class MemoryPool { } } - private: + private: struct consumer_arg_t { MemoryPool* obj; const char* begin; @@ -126,11 +126,13 @@ class MemoryPool { } }; - template - Record* getRecord(const Record& init) { + template Record* getRecord(const Record& init) { char* next = write_ptr_ + sizeof(Record); if (next > buffer_end_) { - if (write_ptr_ == buffer_begin_) EXC_ABORT(ROCTRACER_STATUS_ERROR, "buffer size(" << buffer_size_ << ") is less then the record(" << sizeof(Record) << ")"); + if (write_ptr_ == buffer_begin_) + EXC_ABORT(ROCTRACER_STATUS_ERROR, + "buffer size(" << buffer_size_ << ") is less then the record(" << sizeof(Record) + << ")"); spawn_reader(buffer_begin_, write_ptr_); buffer_begin_ = (buffer_end_ == pool_end_) ? pool_begin_ : buffer_end_; buffer_end_ = buffer_begin_ + buffer_size_; @@ -145,12 +147,10 @@ class MemoryPool { return ptr; } - static void reset_reader(consumer_arg_t* arg) { - arg->valid.store(false); - } + static void reset_reader(consumer_arg_t* arg) { arg->valid.store(false); } static void sync_reader(const consumer_arg_t* arg) { - while(arg->valid.load() == true) PTHREAD_CALL(sched_yield()); + while (arg->valid.load() == true) PTHREAD_CALL(sched_yield()); } static void* reader_fun(void* consumer_arg) { diff --git a/src/core/roctracer.cpp b/src/core/roctracer.cpp index ce8fff3df1..4464b1404e 100644 --- a/src/core/roctracer.cpp +++ b/src/core/roctracer.cpp @@ -66,7 +66,6 @@ #define API_METHOD_PREFIX \ roctracer_status_t err = ROCTRACER_STATUS_SUCCESS; \ try { - #define API_METHOD_SUFFIX \ } \ catch (std::exception & e) { \ @@ -83,10 +82,12 @@ (void)err; \ return X; -#define ONLOAD_TRACE(str) \ - if (getenv("ROCP_ONLOAD_TRACE")) do { \ - std::cout << "PID(" << GetPid() << "): TRACER_LIB::" << __FUNCTION__ << " " << str << std::endl << std::flush; \ - } while(0); +#define ONLOAD_TRACE(str) \ + if (getenv("ROCP_ONLOAD_TRACE")) do { \ + std::cout << "PID(" << GetPid() << "): TRACER_LIB::" << __FUNCTION__ << " " << str \ + << std::endl \ + << std::flush; \ + } while (0); #define ONLOAD_TRACE_BEG() ONLOAD_TRACE("begin") #define ONLOAD_TRACE_END() ONLOAD_TRACE("end") @@ -95,7 +96,8 @@ static inline uint32_t GetPid() { return syscall(__NR_getpid); } /////////////////////////////////////////////////////////////////////////////////////////////////// // Mark callback // -typedef void (mark_api_callback_t)(uint32_t domain, uint32_t cid, const void* callback_data, void* arg); +typedef void(mark_api_callback_t)(uint32_t domain, uint32_t cid, const void* callback_data, + void* arg); mark_api_callback_t* mark_api_callback_ptr = NULL; /////////////////////////////////////////////////////////////////////////////////////////////////// @@ -195,7 +197,8 @@ ActJournal* act_journal; template struct journal_functor_t { Functor func_; journal_functor_t(Functor&& f) : func_(std::forward(f)) {} - template bool operator ()(activity_domain_t domain, uint32_t op, Data&& /* data */) const { + template + bool operator()(activity_domain_t domain, uint32_t op, Data&& /* data */) const { func_(domain, op); return true; } @@ -208,13 +211,13 @@ using act_dis_functor_t = journal_functor_t; template <> template -bool cb_en_functor_t::operator ()(activity_domain_t domain, uint32_t op, Data&& data) const { +bool cb_en_functor_t::operator()(activity_domain_t domain, uint32_t op, Data&& data) const { func_(domain, op, data.callback, data.user_data); return true; } template <> template -bool act_en_functor_t::operator ()(activity_domain_t domain, uint32_t op, Data&& data) const { +bool act_en_functor_t::operator()(activity_domain_t domain, uint32_t op, Data&& data) const { func_(domain, op, data.pool); return true; } @@ -222,9 +225,7 @@ bool act_en_functor_t::operator ()(activity_domain_t domain, uint32_t op, Data&& void hsa_async_copy_handler(::proxy::Tracker::entry_t* entry); void hsa_kernel_handler(::proxy::Tracker::entry_t* entry); constexpr TraceBuffer::flush_prm_t trace_buffer_prm[] = { - {COPY_ENTRY_TYPE, hsa_async_copy_handler}, - {KERNEL_ENTRY_TYPE, hsa_kernel_handler} -}; + {COPY_ENTRY_TYPE, hsa_async_copy_handler}, {KERNEL_ENTRY_TYPE, hsa_kernel_handler}}; TraceBuffer* trace_buffer = NULL; namespace hsa_support { @@ -250,18 +251,19 @@ roctracer_stop_cb_t roctracer_stop_cb = NULL; roctracer_status_t GetExcStatus(const std::exception& e) { const util::exception* roctracer_exc_ptr = dynamic_cast(&e); - return (roctracer_exc_ptr) ? static_cast(roctracer_exc_ptr->status()) : ROCTRACER_STATUS_ERROR; + return (roctracer_exc_ptr) ? static_cast(roctracer_exc_ptr->status()) + : ROCTRACER_STATUS_ERROR; } class GlobalCounter { - public: + public: typedef std::mutex mutex_t; typedef uint64_t counter_t; typedef std::atomic atomic_counter_t; static counter_t Increment() { return counter_.fetch_add(1, std::memory_order_relaxed); } - private: + private: static mutex_t mutex_; static atomic_counter_t counter_; }; @@ -273,12 +275,12 @@ struct roctracer_api_data_t { union { hip_api_data_t hip; }; - roctracer_api_data_t() {}; + roctracer_api_data_t(){}; }; struct record_pair_t { roctracer_record_t record; roctracer_api_data_t data; - record_pair_t() {}; + record_pair_t(){}; }; typedef std::stack record_pair_stack_t; static thread_local record_pair_stack_t* record_pair_stack = NULL; @@ -295,15 +297,18 @@ static thread_local std::stack external_id_stack; static inline void CorrelationIdRegistr(const activity_correlation_id_t& correlation_id) { std::lock_guard lck(correlation_id_mutex); const auto ret = correlation_id_map.insert({correlation_id, correlation_id_tls}); - if (ret.second == false) EXC_ABORT(ROCTRACER_STATUS_ERROR, "HCC activity id is not unique(" << correlation_id << ")"); + if (ret.second == false) + EXC_ABORT(ROCTRACER_STATUS_ERROR, "HCC activity id is not unique(" << correlation_id << ")"); DEBUG_TRACE("CorrelationIdRegistr id(%lu) id_tls(%lu)\n", correlation_id, correlation_id_tls); } -static inline activity_correlation_id_t CorrelationIdLookup(const activity_correlation_id_t& correlation_id) { +static inline activity_correlation_id_t CorrelationIdLookup( + const activity_correlation_id_t& correlation_id) { std::lock_guard lck(correlation_id_mutex); auto it = correlation_id_map.find(correlation_id); - if (it == correlation_id_map.end()) EXC_ABORT(ROCTRACER_STATUS_ERROR, "HCC activity id lookup failed(" << correlation_id << ")"); + if (it == correlation_id_map.end()) + EXC_ABORT(ROCTRACER_STATUS_ERROR, "HCC activity id lookup failed(" << correlation_id << ")"); const activity_correlation_id_t ret_val = it->second; correlation_id_map.erase(it); @@ -320,14 +325,14 @@ hip_act_cb_tracker_t* hip_act_cb_tracker = NULL; inline uint32_t HipApiActivityEnableCheck(uint32_t op) { if (hip_act_cb_tracker == NULL) EXC_ABORT(ROCTRACER_STATUS_ERROR, "hip_act_cb_tracker is NULL"); const uint32_t mask = hip_act_cb_tracker->enable_check(op, API_CB_MASK); - const uint32_t ret = (mask & ACT_CB_MASK); + const uint32_t ret = (mask & ACT_CB_MASK); return ret; } inline uint32_t HipApiActivityDisableCheck(uint32_t op) { if (hip_act_cb_tracker == NULL) EXC_ABORT(ROCTRACER_STATUS_ERROR, "hip_act_cb_tracker is NULL"); const uint32_t mask = hip_act_cb_tracker->disable_check(op, API_CB_MASK); - const uint32_t ret = (mask & ACT_CB_MASK); + const uint32_t ret = (mask & ACT_CB_MASK); return ret; } @@ -340,16 +345,12 @@ inline uint32_t HipActActivityEnableCheck(uint32_t op) { inline uint32_t HipActActivityDisableCheck(uint32_t op) { if (hip_act_cb_tracker == NULL) EXC_ABORT(ROCTRACER_STATUS_ERROR, "hip_act_cb_tracker is NULL"); const uint32_t mask = hip_act_cb_tracker->disable_check(op, ACT_CB_MASK); - const uint32_t ret = (mask & API_CB_MASK); + const uint32_t ret = (mask & API_CB_MASK); return ret; } -void* HIP_SyncApiDataCallback( - uint32_t op_id, - roctracer_record_t* record, - const void* callback_data, - void* arg) -{ +void* HIP_SyncApiDataCallback(uint32_t op_id, roctracer_record_t* record, const void* callback_data, + void* arg) { static hsa_rt_utils::Timer timer; if (record_pair_stack == NULL) record_pair_stack = new record_pair_stack_t; @@ -397,19 +398,18 @@ void* HIP_SyncApiDataCallback( correlation_id_tls = 0; } - const char * name = roctracer_op_string(ACTIVITY_DOMAIN_HIP_API, op_id, 0); - DEBUG_TRACE("HIP_SyncApiDataCallback(\"%s\") phase(%d): op(%u) record(%p) data(%p) pool(%p) depth(%d) correlation_id(%lu) time_ns(%lu)\n", - name, phase, op_id, record, data, pool, (int)(record_pair_stack->size()), (data_ptr) ? data_ptr->correlation_id : 0, timer.timestamp_ns()); + const char* name = roctracer_op_string(ACTIVITY_DOMAIN_HIP_API, op_id, 0); + DEBUG_TRACE( + "HIP_SyncApiDataCallback(\"%s\") phase(%d): op(%u) record(%p) data(%p) pool(%p) depth(%d) " + "correlation_id(%lu) time_ns(%lu)\n", + name, phase, op_id, record, data, pool, (int)(record_pair_stack->size()), + (data_ptr) ? data_ptr->correlation_id : 0, timer.timestamp_ns()); return ret; } -void* HIP_SyncActivityCallback( - uint32_t op_id, - roctracer_record_t* record, - const void* callback_data, - void* arg) -{ +void* HIP_SyncActivityCallback(uint32_t op_id, roctracer_record_t* record, + const void* callback_data, void* arg) { static hsa_rt_utils::Timer timer; const timestamp_t timestamp_ns = timer.timestamp_ns(); if (record_pair_stack == NULL) record_pair_stack = new record_pair_stack_t; @@ -462,8 +462,9 @@ void* HIP_SyncActivityCallback( // Getting record of stacked if (record == NULL) { - if (record_pair_stack->empty()) EXC_ABORT(ROCTRACER_STATUS_ERROR, "ActivityCallback exit: record stack is empty"); - auto& top = record_pair_stack->top(); + if (record_pair_stack->empty()) + EXC_ABORT(ROCTRACER_STATUS_ERROR, "ActivityCallback exit: record stack is empty"); + auto& top = record_pair_stack->top(); record = &(top.record); } @@ -491,9 +492,12 @@ void* HIP_SyncActivityCallback( correlation_id_tls = 0; } - const char * name = roctracer_op_string(ACTIVITY_DOMAIN_HIP_API, op_id, 0); - DEBUG_TRACE("HIP_SyncActivityCallback(\"%s\") phase(%d): op(%u) record(%p) data(%p) pool(%p) depth(%d) correlation_id(%lu) beg_ns(%lu) end_ns(%lu)\n", - name, phase, op_id, record, data, pool, (int)(record_pair_stack->size()), (data_ptr) ? data_ptr->correlation_id : 0, timestamp_ns); + const char* name = roctracer_op_string(ACTIVITY_DOMAIN_HIP_API, op_id, 0); + DEBUG_TRACE( + "HIP_SyncActivityCallback(\"%s\") phase(%d): op(%u) record(%p) data(%p) pool(%p) depth(%d) " + "correlation_id(%lu) beg_ns(%lu) end_ns(%lu)\n", + name, phase, op_id, record, data, pool, (int)(record_pair_stack->size()), + (data_ptr) ? data_ptr->correlation_id : 0, timestamp_ns); return ret; } @@ -510,9 +514,12 @@ void HCC_AsyncActivityCallback(uint32_t op_id, void* record, void* arg) { if (record_ptr->correlation_id == 0) return; pool->Write(*record_ptr); - const char * name = roctracer_op_string(ACTIVITY_DOMAIN_HCC_OPS, record_ptr->op, record_ptr->kind); - DEBUG_TRACE("HCC_AsyncActivityCallback(\"%s\"): op(%u) kind(%u) record(%p) pool(%p) correlation_id(%d) beg_ns(%lu) end_ns(%lu)\n", - name, record_ptr->op, record_ptr->kind, record, pool, record_ptr->correlation_id, record_ptr->begin_ns, record_ptr->end_ns); + const char* name = roctracer_op_string(ACTIVITY_DOMAIN_HCC_OPS, record_ptr->op, record_ptr->kind); + DEBUG_TRACE( + "HCC_AsyncActivityCallback(\"%s\"): op(%u) kind(%u) record(%p) pool(%p) correlation_id(%d) " + "beg_ns(%lu) end_ns(%lu)\n", + name, record_ptr->op, record_ptr->kind, record, pool, record_ptr->correlation_id, + record_ptr->begin_ns, record_ptr->end_ns); } // Open output file @@ -528,7 +535,8 @@ FILE* open_output_file(const char* prefix, const char* name) { perror(errmsg.str().c_str()); abort(); } - } else file_handle = stdout; + } else + file_handle = stdout; return file_handle; } @@ -542,16 +550,11 @@ void hsa_kernel_handler(::proxy::Tracker::entry_t* entry) { if (index == 0) { kernel_file_handle = open_output_file(hsa_support::output_prefix, "results.txt"); } - fprintf(kernel_file_handle, "dispatch[%lu], gpu-id(%u), tid(%u), kernel-name(\"%s\"), time(%lu,%lu,%lu,%lu)\n", - index, - //::util::HsaRsrcFactory::Instance().GetAgentInfo(entry->agent)->dev_index, - entry->dev_index, - entry->kernel.tid, - entry->kernel.name, - entry->dispatch, - entry->begin, - entry->end, - entry->complete); + fprintf(kernel_file_handle, + "dispatch[%lu], gpu-id(%u), tid(%u), kernel-name(\"%s\"), time(%lu,%lu,%lu,%lu)\n", index, + //::util::HsaRsrcFactory::Instance().GetAgentInfo(entry->agent)->dev_index, + entry->dev_index, entry->kernel.tid, entry->kernel.name, entry->dispatch, entry->begin, + entry->end, entry->complete); #if 0 fprintf(file_handle, "dispatch[%u], gpu-id(%u), queue-id(%u), queue-index(%lu), tid(%lu), grd(%u), wgr(%u), lds(%u), scr(%u), vgpr(%u), sgpr(%u), fbar(%u), sig(0x%lx), kernel-name(\"%s\")", index, @@ -581,32 +584,29 @@ void hsa_kernel_handler(::proxy::Tracker::entry_t* entry) { void hsa_async_copy_handler(::proxy::Tracker::entry_t* entry) { activity_record_t record{}; - record.domain = ACTIVITY_DOMAIN_HSA_OPS; // activity domain id - record.begin_ns = entry->begin; // host begin timestamp - record.end_ns = entry->end; // host end timestamp - record.device_id = 0; // device id + record.domain = ACTIVITY_DOMAIN_HSA_OPS; // activity domain id + record.begin_ns = entry->begin; // host begin timestamp + record.end_ns = entry->end; // host end timestamp + record.device_id = 0; // device id - hsa_support::async_copy_callback_fun(hsa_support::HSA_OP_ID_async_copy, &record, hsa_support::async_copy_callback_arg); + hsa_support::async_copy_callback_fun(hsa_support::HSA_OP_ID_async_copy, &record, + hsa_support::async_copy_callback_arg); } -hsa_status_t hsa_amd_memory_async_copy_interceptor( - void* dst, hsa_agent_t dst_agent, const void* src, - hsa_agent_t src_agent, size_t size, uint32_t num_dep_signals, - const hsa_signal_t* dep_signals, hsa_signal_t completion_signal) -{ +hsa_status_t hsa_amd_memory_async_copy_interceptor(void* dst, hsa_agent_t dst_agent, + const void* src, hsa_agent_t src_agent, + size_t size, uint32_t num_dep_signals, + const hsa_signal_t* dep_signals, + hsa_signal_t completion_signal) { hsa_status_t status = HSA_STATUS_SUCCESS; if (hsa_support::async_copy_callback_enabled) { trace_entry_t* entry = trace_buffer->GetEntry(); ::proxy::Tracker::Enable(COPY_ENTRY_TYPE, hsa_agent_t{}, completion_signal, entry); - status = hsa_amd_memory_async_copy_fn(dst, dst_agent, src, - src_agent, size, num_dep_signals, + status = hsa_amd_memory_async_copy_fn(dst, dst_agent, src, src_agent, size, num_dep_signals, dep_signals, entry->signal); if (status != HSA_STATUS_SUCCESS) ::proxy::Tracker::Disable(entry); - } - else - { - status = hsa_amd_memory_async_copy_fn(dst, dst_agent, src, - src_agent, size, num_dep_signals, + } else { + status = hsa_amd_memory_async_copy_fn(dst, dst_agent, src, src_agent, size, num_dep_signals, dep_signals, completion_signal); } return status; @@ -616,24 +616,18 @@ hsa_status_t hsa_amd_memory_async_copy_rect_interceptor( const hsa_pitched_ptr_t* dst, const hsa_dim3_t* dst_offset, const hsa_pitched_ptr_t* src, const hsa_dim3_t* src_offset, const hsa_dim3_t* range, hsa_agent_t copy_agent, hsa_amd_copy_direction_t dir, uint32_t num_dep_signals, const hsa_signal_t* dep_signals, - hsa_signal_t completion_signal) -{ + hsa_signal_t completion_signal) { hsa_status_t status = HSA_STATUS_SUCCESS; if (hsa_support::async_copy_callback_enabled) { trace_entry_t* entry = trace_buffer->GetEntry(); ::proxy::Tracker::Enable(COPY_ENTRY_TYPE, hsa_agent_t{}, completion_signal, entry); - status = hsa_amd_memory_async_copy_rect_fn(dst, dst_offset, src, - src_offset, range, copy_agent, - dir, num_dep_signals, dep_signals, - entry->signal); + status = hsa_amd_memory_async_copy_rect_fn(dst, dst_offset, src, src_offset, range, copy_agent, + dir, num_dep_signals, dep_signals, entry->signal); if (status != HSA_STATUS_SUCCESS) ::proxy::Tracker::Disable(entry); - } - else - { - status = hsa_amd_memory_async_copy_rect_fn(dst, dst_offset, src, - src_offset, range, copy_agent, - dir, num_dep_signals, dep_signals, - completion_signal); + } else { + status = + hsa_amd_memory_async_copy_rect_fn(dst, dst_offset, src, src_offset, range, copy_agent, dir, + num_dep_signals, dep_signals, completion_signal); } return status; } @@ -685,11 +679,7 @@ PUBLIC_API const char* roctracer_error_string() { // Return Op string by given domain and activity/API codes // NULL returned on the error and the library errno is set -PUBLIC_API const char* roctracer_op_string( - uint32_t domain, - uint32_t op, - uint32_t kind) -{ +PUBLIC_API const char* roctracer_op_string(uint32_t domain, uint32_t op, uint32_t kind) { API_METHOD_PREFIX switch (domain) { case ACTIVITY_DOMAIN_HSA_API: @@ -711,18 +701,15 @@ PUBLIC_API const char* roctracer_op_string( } // Return Op code and kind by given string -PUBLIC_API roctracer_status_t roctracer_op_code( - uint32_t domain, - const char* str, - uint32_t* op, - uint32_t* kind) -{ +PUBLIC_API roctracer_status_t roctracer_op_code(uint32_t domain, const char* str, uint32_t* op, + uint32_t* kind) { API_METHOD_PREFIX switch (domain) { case ACTIVITY_DOMAIN_HSA_API: { *op = roctracer::hsa_support::GetApiCode(str); if (*op == HSA_API_ID_NUMBER) { - EXC_RAISING(ROCTRACER_STATUS_BAD_PARAMETER, "Invalid API name \"" << str << "\", domain ID(" << domain << ")"); + EXC_RAISING(ROCTRACER_STATUS_BAD_PARAMETER, + "Invalid API name \"" << str << "\", domain ID(" << domain << ")"); } if (kind != NULL) *kind = 0; break; @@ -730,7 +717,8 @@ PUBLIC_API roctracer_status_t roctracer_op_code( case ACTIVITY_DOMAIN_HIP_API: { *op = hipApiIdByName(str); if (*op == HIP_API_ID_NONE) { - EXC_RAISING(ROCTRACER_STATUS_BAD_PARAMETER, "Invalid API name \"" << str << "\", domain ID(" << domain << ")"); + EXC_RAISING(ROCTRACER_STATUS_BAD_PARAMETER, + "Invalid API name \"" << str << "\", domain ID(" << domain << ")"); } if (kind != NULL) *kind = 0; break; @@ -743,13 +731,20 @@ PUBLIC_API roctracer_status_t roctracer_op_code( static inline uint32_t get_op_begin(uint32_t domain) { switch (domain) { - case ACTIVITY_DOMAIN_HSA_OPS: return 0; - case ACTIVITY_DOMAIN_HSA_API: return 0; - case ACTIVITY_DOMAIN_HSA_EVT: return 0; - case ACTIVITY_DOMAIN_HCC_OPS: return 0; - case ACTIVITY_DOMAIN_HIP_API: return HIP_API_ID_FIRST; - case ACTIVITY_DOMAIN_EXT_API: return 0; - case ACTIVITY_DOMAIN_ROCTX: return 0; + case ACTIVITY_DOMAIN_HSA_OPS: + return 0; + case ACTIVITY_DOMAIN_HSA_API: + return 0; + case ACTIVITY_DOMAIN_HSA_EVT: + return 0; + case ACTIVITY_DOMAIN_HCC_OPS: + return 0; + case ACTIVITY_DOMAIN_HIP_API: + return HIP_API_ID_FIRST; + case ACTIVITY_DOMAIN_EXT_API: + return 0; + case ACTIVITY_DOMAIN_ROCTX: + return 0; default: EXC_RAISING(ROCTRACER_STATUS_BAD_DOMAIN, "invalid domain ID(" << domain << ")"); } @@ -758,13 +753,21 @@ static inline uint32_t get_op_begin(uint32_t domain) { static inline uint32_t get_op_end(uint32_t domain) { switch (domain) { - case ACTIVITY_DOMAIN_HSA_OPS: return HSA_OP_ID_NUMBER; - case ACTIVITY_DOMAIN_HSA_API: return HSA_API_ID_NUMBER; - case ACTIVITY_DOMAIN_HSA_EVT: return HSA_EVT_ID_NUMBER; - case ACTIVITY_DOMAIN_HCC_OPS: return HIP_OP_ID_NUMBER; - case ACTIVITY_DOMAIN_HIP_API: return HIP_API_ID_LAST + 1;; - case ACTIVITY_DOMAIN_EXT_API: return 0; - case ACTIVITY_DOMAIN_ROCTX: return ROCTX_API_ID_NUMBER; + case ACTIVITY_DOMAIN_HSA_OPS: + return HSA_OP_ID_NUMBER; + case ACTIVITY_DOMAIN_HSA_API: + return HSA_API_ID_NUMBER; + case ACTIVITY_DOMAIN_HSA_EVT: + return HSA_EVT_ID_NUMBER; + case ACTIVITY_DOMAIN_HCC_OPS: + return HIP_OP_ID_NUMBER; + case ACTIVITY_DOMAIN_HIP_API: + return HIP_API_ID_LAST + 1; + ; + case ACTIVITY_DOMAIN_EXT_API: + return 0; + case ACTIVITY_DOMAIN_ROCTX: + return ROCTX_API_ID_NUMBER; default: EXC_RAISING(ROCTRACER_STATUS_BAD_DOMAIN, "invalid domain ID(" << domain << ")"); } @@ -772,14 +775,12 @@ static inline uint32_t get_op_end(uint32_t domain) { } // Enable runtime API callbacks -static roctracer_status_t roctracer_enable_callback_fun( - roctracer_domain_t domain, - uint32_t op, - roctracer_rtapi_callback_t callback, - void* user_data) -{ +static roctracer_status_t roctracer_enable_callback_fun(roctracer_domain_t domain, uint32_t op, + roctracer_rtapi_callback_t callback, + void* user_data) { switch (domain) { - case ACTIVITY_DOMAIN_HSA_OPS: break; + case ACTIVITY_DOMAIN_HSA_OPS: + break; case ACTIVITY_DOMAIN_HSA_API: { #if 0 if (op == HSA_API_ID_DISPATCH) { @@ -792,28 +793,42 @@ static roctracer_status_t roctracer_enable_callback_fun( break; } case ACTIVITY_DOMAIN_HSA_EVT: { - const bool succ = roctracer::RocpLoader::Instance().RegisterEvtCallback(op, (void*)callback, user_data); - if (succ == false) HCC_EXC_RAISING(ROCTRACER_STATUS_HSA_ERR, "HSA::RegisterEvtCallback error(" << op << ") failed"); + const bool succ = + roctracer::RocpLoader::Instance().RegisterEvtCallback(op, (void*)callback, user_data); + if (succ == false) + HCC_EXC_RAISING(ROCTRACER_STATUS_HSA_ERR, + "HSA::RegisterEvtCallback error(" << op << ") failed"); break; } - case ACTIVITY_DOMAIN_HCC_OPS: break; + case ACTIVITY_DOMAIN_HCC_OPS: + break; case ACTIVITY_DOMAIN_HIP_API: { if (roctracer::HipLoader::Instance().Enabled() == false) break; std::lock_guard lock(roctracer::hip_activity_mutex); - hipError_t hip_err = roctracer::HipLoader::Instance().RegisterApiCallback(op, (void*)callback, user_data); - if (hip_err != hipSuccess) HIP_EXC_RAISING(ROCTRACER_STATUS_HIP_API_ERR, "HIP::RegisterApiCallback(" << op << ") error(" << hip_err << ")"); + hipError_t hip_err = + roctracer::HipLoader::Instance().RegisterApiCallback(op, (void*)callback, user_data); + if (hip_err != hipSuccess) + HIP_EXC_RAISING(ROCTRACER_STATUS_HIP_API_ERR, + "HIP::RegisterApiCallback(" << op << ") error(" << hip_err << ")"); if (roctracer::HipApiActivityEnableCheck(op) == 0) { - hip_err = roctracer::HipLoader::Instance().RegisterActivityCallback(op, (void*)roctracer::HIP_SyncApiDataCallback, (void*)1); - if (hip_err != hipSuccess) HIP_EXC_RAISING(ROCTRACER_STATUS_HIP_API_ERR, "HIPAPI: HIP::RegisterActivityCallback(" << op << ") error(" << hip_err << ")"); + hip_err = roctracer::HipLoader::Instance().RegisterActivityCallback( + op, (void*)roctracer::HIP_SyncApiDataCallback, (void*)1); + if (hip_err != hipSuccess) + HIP_EXC_RAISING( + ROCTRACER_STATUS_HIP_API_ERR, + "HIPAPI: HIP::RegisterActivityCallback(" << op << ") error(" << hip_err << ")"); } break; } case ACTIVITY_DOMAIN_ROCTX: { if (roctracer::RocTxLoader::Instance().Enabled()) { - const bool suc = roctracer::RocTxLoader::Instance().RegisterApiCallback(op, (void*)callback, user_data); - if (suc == false) EXC_RAISING(ROCTRACER_STATUS_ROCTX_ERR, "ROCTX::RegisterApiCallback(" << op << ") failed"); + const bool suc = + roctracer::RocTxLoader::Instance().RegisterApiCallback(op, (void*)callback, user_data); + if (suc == false) + EXC_RAISING(ROCTRACER_STATUS_ROCTX_ERR, + "ROCTX::RegisterApiCallback(" << op << ") failed"); } break; } @@ -823,32 +838,23 @@ static roctracer_status_t roctracer_enable_callback_fun( return ROCTRACER_STATUS_SUCCESS; } -static void roctracer_enable_callback_impl( - roctracer_domain_t domain, - uint32_t op, - roctracer_rtapi_callback_t callback, - void* user_data) -{ +static void roctracer_enable_callback_impl(roctracer_domain_t domain, uint32_t op, + roctracer_rtapi_callback_t callback, void* user_data) { roctracer::cb_journal->Insert(domain, op, {callback, user_data}); roctracer_enable_callback_fun(domain, op, callback, user_data); } -PUBLIC_API roctracer_status_t roctracer_enable_op_callback( - roctracer_domain_t domain, - uint32_t op, - roctracer_rtapi_callback_t callback, - void* user_data) -{ +PUBLIC_API roctracer_status_t roctracer_enable_op_callback(roctracer_domain_t domain, uint32_t op, + roctracer_rtapi_callback_t callback, + void* user_data) { API_METHOD_PREFIX roctracer_enable_callback_impl(domain, op, callback, user_data); API_METHOD_SUFFIX } -PUBLIC_API roctracer_status_t roctracer_enable_domain_callback( - roctracer_domain_t domain, - roctracer_rtapi_callback_t callback, - void* user_data) -{ +PUBLIC_API roctracer_status_t roctracer_enable_domain_callback(roctracer_domain_t domain, + roctracer_rtapi_callback_t callback, + void* user_data) { API_METHOD_PREFIX const uint32_t op_end = get_op_end(domain); for (uint32_t op = get_op_begin(domain); op < op_end; ++op) @@ -856,10 +862,8 @@ PUBLIC_API roctracer_status_t roctracer_enable_domain_callback( API_METHOD_SUFFIX } -PUBLIC_API roctracer_status_t roctracer_enable_callback( - roctracer_rtapi_callback_t callback, - void* user_data) -{ +PUBLIC_API roctracer_status_t roctracer_enable_callback(roctracer_rtapi_callback_t callback, + void* user_data) { API_METHOD_PREFIX for (uint32_t domain = 0; domain < ACTIVITY_DOMAIN_NUMBER; ++domain) { const uint32_t op_end = get_op_end(domain); @@ -870,12 +874,10 @@ PUBLIC_API roctracer_status_t roctracer_enable_callback( } // Disable runtime API callbacks -static roctracer_status_t roctracer_disable_callback_fun( - roctracer_domain_t domain, - uint32_t op) -{ +static roctracer_status_t roctracer_disable_callback_fun(roctracer_domain_t domain, uint32_t op) { switch (domain) { - case ACTIVITY_DOMAIN_HSA_OPS: break; + case ACTIVITY_DOMAIN_HSA_OPS: + break; case ACTIVITY_DOMAIN_HSA_API: { #if 0 if (op == HSA_API_ID_DISPATCH) { @@ -887,29 +889,38 @@ static roctracer_status_t roctracer_disable_callback_fun( roctracer::hsa_support::cb_table.set(op, NULL, NULL); break; } - case ACTIVITY_DOMAIN_HCC_OPS: break; + case ACTIVITY_DOMAIN_HCC_OPS: + break; case ACTIVITY_DOMAIN_HIP_API: { if (roctracer::HipLoader::Instance().Enabled() == false) break; std::lock_guard lock(roctracer::hip_activity_mutex); const hipError_t hip_err = roctracer::HipLoader::Instance().RemoveApiCallback(op); - if (hip_err != hipSuccess) HIP_EXC_RAISING(ROCTRACER_STATUS_HIP_API_ERR, "HIP::RemoveApiCallback(" << op << "), error(" << hip_err << ")"); + if (hip_err != hipSuccess) + HIP_EXC_RAISING(ROCTRACER_STATUS_HIP_API_ERR, + "HIP::RemoveApiCallback(" << op << "), error(" << hip_err << ")"); if (roctracer::HipApiActivityDisableCheck(op) == 0) { const hipError_t hip_err = roctracer::HipLoader::Instance().RemoveActivityCallback(op); - if (hip_err != hipSuccess) HIP_EXC_RAISING(ROCTRACER_STATUS_HIP_API_ERR, "HIPAPI: HIP::RemoveActivityCallback op(" << op << "), error(" << hip_err << ")"); + if (hip_err != hipSuccess) + HIP_EXC_RAISING( + ROCTRACER_STATUS_HIP_API_ERR, + "HIPAPI: HIP::RemoveActivityCallback op(" << op << "), error(" << hip_err << ")"); } break; } case ACTIVITY_DOMAIN_HSA_EVT: { const bool succ = roctracer::RocpLoader::Instance().RemoveEvtCallback(op); - if (succ == false) HCC_EXC_RAISING(ROCTRACER_STATUS_HSA_ERR, "HSA::RemoveEvtCallback error(" << op << ") failed"); + if (succ == false) + HCC_EXC_RAISING(ROCTRACER_STATUS_HSA_ERR, + "HSA::RemoveEvtCallback error(" << op << ") failed"); break; } case ACTIVITY_DOMAIN_ROCTX: { if (roctracer::RocTxLoader::Instance().Enabled()) { const bool suc = roctracer::RocTxLoader::Instance().RemoveApiCallback(op); - if (suc == false) EXC_RAISING(ROCTRACER_STATUS_ROCTX_ERR, "ROCTX::RemoveApiCallback(" << op << ") failed"); + if (suc == false) + EXC_RAISING(ROCTRACER_STATUS_ROCTX_ERR, "ROCTX::RemoveApiCallback(" << op << ") failed"); } break; } @@ -919,26 +930,19 @@ static roctracer_status_t roctracer_disable_callback_fun( return ROCTRACER_STATUS_SUCCESS; } -static void roctracer_disable_callback_impl( - roctracer_domain_t domain, - uint32_t op) -{ - roctracer::cb_journal->Remove(domain, op); - roctracer_disable_callback_fun(domain, op); +static void roctracer_disable_callback_impl(roctracer_domain_t domain, uint32_t op) { + roctracer::cb_journal->Remove(domain, op); + roctracer_disable_callback_fun(domain, op); } -PUBLIC_API roctracer_status_t roctracer_disable_op_callback( - roctracer_domain_t domain, - uint32_t op) -{ +PUBLIC_API roctracer_status_t roctracer_disable_op_callback(roctracer_domain_t domain, + uint32_t op) { API_METHOD_PREFIX roctracer_disable_callback_impl(domain, op); API_METHOD_SUFFIX } -PUBLIC_API roctracer_status_t roctracer_disable_domain_callback( - roctracer_domain_t domain) -{ +PUBLIC_API roctracer_status_t roctracer_disable_domain_callback(roctracer_domain_t domain) { API_METHOD_PREFIX const uint32_t op_end = get_op_end(domain); for (uint32_t op = get_op_begin(domain); op < op_end; ++op) @@ -946,8 +950,7 @@ PUBLIC_API roctracer_status_t roctracer_disable_domain_callback( API_METHOD_SUFFIX } -PUBLIC_API roctracer_status_t roctracer_disable_callback() -{ +PUBLIC_API roctracer_status_t roctracer_disable_callback() { API_METHOD_PREFIX for (uint32_t domain = 0; domain < ACTIVITY_DOMAIN_NUMBER; ++domain) { const uint32_t op_end = get_op_end(domain); @@ -966,10 +969,8 @@ PUBLIC_API roctracer_pool_t* roctracer_default_pool_expl(roctracer_pool_t* pool) } // Open memory pool -PUBLIC_API roctracer_status_t roctracer_open_pool_expl( - const roctracer_properties_t* properties, - roctracer_pool_t** pool) -{ +PUBLIC_API roctracer_status_t roctracer_open_pool_expl(const roctracer_properties_t* properties, + roctracer_pool_t** pool) { API_METHOD_PREFIX std::lock_guard lock(roctracer::memory_pool_mutex); if ((pool == NULL) && (roctracer::memory_pool != NULL)) { @@ -977,8 +978,10 @@ PUBLIC_API roctracer_status_t roctracer_open_pool_expl( } roctracer::MemoryPool* p = new roctracer::MemoryPool(*properties); if (p == NULL) EXC_RAISING(ROCTRACER_STATUS_ERROR, "MemoryPool() error"); - if (pool != NULL) *pool = p; - else roctracer::memory_pool = p; + if (pool != NULL) + *pool = p; + else + roctracer::memory_pool = p; API_METHOD_SUFFIX } @@ -988,17 +991,14 @@ PUBLIC_API roctracer_status_t roctracer_close_pool_expl(roctracer_pool_t* pool) std::lock_guard lock(roctracer::memory_pool_mutex); roctracer_pool_t* ptr = (pool == NULL) ? roctracer_default_pool() : pool; roctracer::MemoryPool* memory_pool = reinterpret_cast(ptr); - delete(memory_pool); + delete (memory_pool); if (pool == NULL) roctracer::memory_pool = NULL; API_METHOD_SUFFIX } // Enable activity records logging -static roctracer_status_t roctracer_enable_activity_fun( - roctracer_domain_t domain, - uint32_t op, - roctracer_pool_t* pool) -{ +static roctracer_status_t roctracer_enable_activity_fun(roctracer_domain_t domain, uint32_t op, + roctracer_pool_t* pool) { if (pool == NULL) pool = roctracer_default_pool(); switch (domain) { case ACTIVITY_DOMAIN_HSA_OPS: { @@ -1008,27 +1008,31 @@ static roctracer_status_t roctracer_enable_activity_fun( const bool init_phase = (roctracer::RocpLoader::GetRef() == NULL); if (roctracer::RocpLoader::GetRef() == NULL) break; if (init_phase == true) { - roctracer::RocpLoader::Instance().InitActivityCallback((void*)roctracer::HSA_AsyncActivityCallback, - (void*)pool); + roctracer::RocpLoader::Instance().InitActivityCallback( + (void*)roctracer::HSA_AsyncActivityCallback, (void*)pool); } const bool succ = roctracer::RocpLoader::Instance().EnableActivityCallback(op, true); - if (succ == false) HCC_EXC_RAISING(ROCTRACER_STATUS_HSA_ERR, "HSA::EnableActivityCallback error"); + if (succ == false) + HCC_EXC_RAISING(ROCTRACER_STATUS_HSA_ERR, "HSA::EnableActivityCallback error"); } break; } - case ACTIVITY_DOMAIN_HSA_API: break; - case ACTIVITY_DOMAIN_HSA_EVT: break; + case ACTIVITY_DOMAIN_HSA_API: + break; + case ACTIVITY_DOMAIN_HSA_EVT: + break; case ACTIVITY_DOMAIN_HCC_OPS: { const bool init_phase = (roctracer::HccLoader::GetRef() == NULL); if (roctracer::HccLoader::Instance().Enabled() == false) break; if (init_phase == true) { - roctracer::HccLoader::Instance().InitActivityCallback((void*)roctracer::HCC_ActivityIdCallback, - (void*)roctracer::HCC_AsyncActivityCallback, - (void*)pool); + roctracer::HccLoader::Instance().InitActivityCallback( + (void*)roctracer::HCC_ActivityIdCallback, (void*)roctracer::HCC_AsyncActivityCallback, + (void*)pool); } const bool succ = roctracer::HccLoader::Instance().EnableActivityCallback(op, true); - if (succ == false) HCC_EXC_RAISING(ROCTRACER_STATUS_HCC_OPS_ERR, "HCC::EnableActivityCallback error"); + if (succ == false) + HCC_EXC_RAISING(ROCTRACER_STATUS_HCC_OPS_ERR, "HCC::EnableActivityCallback error"); break; } case ACTIVITY_DOMAIN_HIP_API: { @@ -1036,41 +1040,38 @@ static roctracer_status_t roctracer_enable_activity_fun( std::lock_guard lock(roctracer::hip_activity_mutex); if (roctracer::HipActActivityEnableCheck(op) == 0) { - const hipError_t hip_err = roctracer::HipLoader::Instance().RegisterActivityCallback(op, (void*)roctracer::HIP_SyncActivityCallback, (void*)pool); - if (hip_err != hipSuccess) HIP_EXC_RAISING(ROCTRACER_STATUS_HIP_API_ERR, "HIP::RegisterActivityCallback(" << op << " error(" << hip_err << ")"); + const hipError_t hip_err = roctracer::HipLoader::Instance().RegisterActivityCallback( + op, (void*)roctracer::HIP_SyncActivityCallback, (void*)pool); + if (hip_err != hipSuccess) + HIP_EXC_RAISING(ROCTRACER_STATUS_HIP_API_ERR, + "HIP::RegisterActivityCallback(" << op << " error(" << hip_err << ")"); } break; } - case ACTIVITY_DOMAIN_ROCTX: break; + case ACTIVITY_DOMAIN_ROCTX: + break; default: EXC_RAISING(ROCTRACER_STATUS_BAD_DOMAIN, "invalid domain ID(" << domain << ")"); } return ROCTRACER_STATUS_SUCCESS; } -static void roctracer_enable_activity_impl( - roctracer_domain_t domain, - uint32_t op, - roctracer_pool_t* pool) -{ - roctracer::act_journal->Insert(domain, op, {pool}); - roctracer_enable_activity_fun(domain, op, pool); +static void roctracer_enable_activity_impl(roctracer_domain_t domain, uint32_t op, + roctracer_pool_t* pool) { + roctracer::act_journal->Insert(domain, op, {pool}); + roctracer_enable_activity_fun(domain, op, pool); } -PUBLIC_API roctracer_status_t roctracer_enable_op_activity_expl( - roctracer_domain_t domain, - uint32_t op, - roctracer_pool_t* pool) -{ +PUBLIC_API roctracer_status_t roctracer_enable_op_activity_expl(roctracer_domain_t domain, + uint32_t op, + roctracer_pool_t* pool) { API_METHOD_PREFIX roctracer_enable_activity_impl(domain, op, pool); API_METHOD_SUFFIX } -PUBLIC_API roctracer_status_t roctracer_enable_domain_activity_expl( - roctracer_domain_t domain, - roctracer_pool_t* pool) -{ +PUBLIC_API roctracer_status_t roctracer_enable_domain_activity_expl(roctracer_domain_t domain, + roctracer_pool_t* pool) { API_METHOD_PREFIX const uint32_t op_end = get_op_end(domain); for (uint32_t op = get_op_begin(domain); op < op_end; ++op) @@ -1078,9 +1079,7 @@ PUBLIC_API roctracer_status_t roctracer_enable_domain_activity_expl( API_METHOD_SUFFIX } -PUBLIC_API roctracer_status_t roctracer_enable_activity_expl( - roctracer_pool_t* pool) -{ +PUBLIC_API roctracer_status_t roctracer_enable_activity_expl(roctracer_pool_t* pool) { API_METHOD_PREFIX for (uint32_t domain = 0; domain < ACTIVITY_DOMAIN_NUMBER; ++domain) { const uint32_t op_end = get_op_end(domain); @@ -1091,10 +1090,7 @@ PUBLIC_API roctracer_status_t roctracer_enable_activity_expl( } // Disable activity records logging -static roctracer_status_t roctracer_disable_activity_fun( - roctracer_domain_t domain, - uint32_t op) -{ +static roctracer_status_t roctracer_disable_activity_fun(roctracer_domain_t domain, uint32_t op) { switch (domain) { case ACTIVITY_DOMAIN_HSA_OPS: { if (op == HSA_OP_ID_COPY) { @@ -1102,17 +1098,23 @@ static roctracer_status_t roctracer_disable_activity_fun( } else { if (roctracer::RocpLoader::GetRef() == NULL) break; const bool succ = roctracer::RocpLoader::Instance().EnableActivityCallback(op, false); - if (succ == false) HCC_EXC_RAISING(ROCTRACER_STATUS_HSA_ERR, "HSA::EnableActivityCallback(false) error, op(" << op << ")"); + if (succ == false) + HCC_EXC_RAISING(ROCTRACER_STATUS_HSA_ERR, + "HSA::EnableActivityCallback(false) error, op(" << op << ")"); } break; } - case ACTIVITY_DOMAIN_HSA_API: break; - case ACTIVITY_DOMAIN_HSA_EVT: break; + case ACTIVITY_DOMAIN_HSA_API: + break; + case ACTIVITY_DOMAIN_HSA_EVT: + break; case ACTIVITY_DOMAIN_HCC_OPS: { if (roctracer::HccLoader::Instance().Enabled() == false) break; const bool succ = roctracer::HccLoader::Instance().EnableActivityCallback(op, false); - if (succ == false) HCC_EXC_RAISING(ROCTRACER_STATUS_HCC_OPS_ERR, "HCC::EnableActivityCallback(NULL) error, op(" << op << ")"); + if (succ == false) + HCC_EXC_RAISING(ROCTRACER_STATUS_HCC_OPS_ERR, + "HCC::EnableActivityCallback(NULL) error, op(" << op << ")"); break; } case ACTIVITY_DOMAIN_HIP_API: { @@ -1121,40 +1123,40 @@ static roctracer_status_t roctracer_disable_activity_fun( if (roctracer::HipActActivityDisableCheck(op) == 0) { const hipError_t hip_err = roctracer::HipLoader::Instance().RemoveActivityCallback(op); - if (hip_err != hipSuccess) HIP_EXC_RAISING(ROCTRACER_STATUS_HIP_API_ERR, "HIP::RemoveActivityCallback op(" << op << "), error(" << hip_err << ")"); + if (hip_err != hipSuccess) + HIP_EXC_RAISING(ROCTRACER_STATUS_HIP_API_ERR, + "HIP::RemoveActivityCallback op(" << op << "), error(" << hip_err << ")"); } else { - const hipError_t hip_err = roctracer::HipLoader::Instance().RegisterActivityCallback(op, (void*)roctracer::HIP_SyncApiDataCallback, (void*)1); - if (hip_err != hipSuccess) HIP_EXC_RAISING(ROCTRACER_STATUS_HIP_API_ERR, "HIPACT: HIP::RegisterActivityCallback(" << op << ") error(" << hip_err << ")"); + const hipError_t hip_err = roctracer::HipLoader::Instance().RegisterActivityCallback( + op, (void*)roctracer::HIP_SyncApiDataCallback, (void*)1); + if (hip_err != hipSuccess) + HIP_EXC_RAISING( + ROCTRACER_STATUS_HIP_API_ERR, + "HIPACT: HIP::RegisterActivityCallback(" << op << ") error(" << hip_err << ")"); } break; } - case ACTIVITY_DOMAIN_ROCTX: break; + case ACTIVITY_DOMAIN_ROCTX: + break; default: EXC_RAISING(ROCTRACER_STATUS_BAD_DOMAIN, "invalid domain ID(" << domain << ")"); } return ROCTRACER_STATUS_SUCCESS; } -static void roctracer_disable_activity_impl( - roctracer_domain_t domain, - uint32_t op) -{ +static void roctracer_disable_activity_impl(roctracer_domain_t domain, uint32_t op) { roctracer::act_journal->Remove(domain, op); roctracer_disable_activity_fun(domain, op); } -PUBLIC_API roctracer_status_t roctracer_disable_op_activity( - roctracer_domain_t domain, - uint32_t op) -{ +PUBLIC_API roctracer_status_t roctracer_disable_op_activity(roctracer_domain_t domain, + uint32_t op) { API_METHOD_PREFIX roctracer_disable_activity_impl(domain, op); API_METHOD_SUFFIX } -PUBLIC_API roctracer_status_t roctracer_disable_domain_activity( - roctracer_domain_t domain) -{ +PUBLIC_API roctracer_status_t roctracer_disable_domain_activity(roctracer_domain_t domain) { API_METHOD_PREFIX const uint32_t op_end = get_op_end(domain); for (uint32_t op = get_op_begin(domain); op < op_end; ++op) @@ -1162,8 +1164,7 @@ PUBLIC_API roctracer_status_t roctracer_disable_domain_activity( API_METHOD_SUFFIX } -PUBLIC_API roctracer_status_t roctracer_disable_activity() -{ +PUBLIC_API roctracer_status_t roctracer_disable_activity() { API_METHOD_PREFIX for (uint32_t domain = 0; domain < ACTIVITY_DOMAIN_NUMBER; ++domain) { const uint32_t op_end = get_op_end(domain); @@ -1185,7 +1186,8 @@ PUBLIC_API roctracer_status_t roctracer_flush_activity_expl(roctracer_pool_t* po // Notifies that the calling thread is entering an external API region. // Push an external correlation id for the calling thread. -PUBLIC_API roctracer_status_t roctracer_activity_push_external_correlation_id(activity_correlation_id_t id) { +PUBLIC_API roctracer_status_t +roctracer_activity_push_external_correlation_id(activity_correlation_id_t id) { API_METHOD_PREFIX roctracer::external_id_stack.push(id); API_METHOD_SUFFIX @@ -1194,7 +1196,8 @@ PUBLIC_API roctracer_status_t roctracer_activity_push_external_correlation_id(ac // Notifies that the calling thread is leaving an external API region. // Pop an external correlation id for the calling thread. // 'lastId' returns the last external correlation -PUBLIC_API roctracer_status_t roctracer_activity_pop_external_correlation_id(activity_correlation_id_t* last_id) { +PUBLIC_API roctracer_status_t +roctracer_activity_pop_external_correlation_id(activity_correlation_id_t* last_id) { API_METHOD_PREFIX if (last_id != NULL) *last_id = 0; @@ -1214,7 +1217,8 @@ PUBLIC_API roctracer_status_t roctracer_activity_pop_external_correlation_id(act PUBLIC_API void roctracer_mark(const char* str) { if (mark_api_callback_ptr) { mark_api_callback_ptr(ACTIVITY_DOMAIN_EXT_API, ACTIVITY_EXT_OP_MARK, str, NULL); - roctracer::GlobalCounter::Increment(); // account for user-defined markers when tracking correlation id + roctracer::GlobalCounter::Increment(); // account for user-defined markers when tracking + // correlation id } } @@ -1245,15 +1249,14 @@ PUBLIC_API roctracer_status_t roctracer_get_timestamp(uint64_t* timestamp) { } // Set properties -PUBLIC_API roctracer_status_t roctracer_set_properties( - roctracer_domain_t domain, - void* properties) -{ +PUBLIC_API roctracer_status_t roctracer_set_properties(roctracer_domain_t domain, + void* properties) { API_METHOD_PREFIX switch (domain) { case ACTIVITY_DOMAIN_HSA_OPS: { // HSA OPS properties - roctracer::hsa_ops_properties_t* ops_properties = reinterpret_cast(properties); + roctracer::hsa_ops_properties_t* ops_properties = + reinterpret_cast(properties); HsaApiTable* table = reinterpret_cast(ops_properties->table); roctracer::hsa_support::async_copy_callback_fun = ops_properties->async_copy_callback_fun; roctracer::hsa_support::async_copy_callback_arg = ops_properties->async_copy_callback_arg; @@ -1271,9 +1274,12 @@ PUBLIC_API roctracer_status_t roctracer_set_properties( hsa_status_t status = hsa_amd_profiling_async_copy_enable(true); if (status != HSA_STATUS_SUCCESS) EXC_ABORT(status, "hsa_amd_profiling_async_copy_enable"); roctracer::hsa_amd_memory_async_copy_fn = table->amd_ext_->hsa_amd_memory_async_copy_fn; - roctracer::hsa_amd_memory_async_copy_rect_fn = table->amd_ext_->hsa_amd_memory_async_copy_rect_fn; - table->amd_ext_->hsa_amd_memory_async_copy_fn = roctracer::hsa_amd_memory_async_copy_interceptor; - table->amd_ext_->hsa_amd_memory_async_copy_rect_fn = roctracer::hsa_amd_memory_async_copy_rect_interceptor; + roctracer::hsa_amd_memory_async_copy_rect_fn = + table->amd_ext_->hsa_amd_memory_async_copy_rect_fn; + table->amd_ext_->hsa_amd_memory_async_copy_fn = + roctracer::hsa_amd_memory_async_copy_interceptor; + table->amd_ext_->hsa_amd_memory_async_copy_rect_fn = + roctracer::hsa_amd_memory_async_copy_rect_interceptor; break; } @@ -1291,11 +1297,13 @@ PUBLIC_API roctracer_status_t roctracer_set_properties( case ACTIVITY_DOMAIN_HCC_OPS: case ACTIVITY_DOMAIN_HIP_API: { mark_api_callback_ptr = reinterpret_cast(properties); - if (roctracer::hip_act_cb_tracker == NULL) roctracer::hip_act_cb_tracker = new roctracer::hip_act_cb_tracker_t; + if (roctracer::hip_act_cb_tracker == NULL) + roctracer::hip_act_cb_tracker = new roctracer::hip_act_cb_tracker_t; break; } case ACTIVITY_DOMAIN_EXT_API: { - roctracer_ext_properties_t* ops_properties = reinterpret_cast(properties); + roctracer_ext_properties_t* ops_properties = + reinterpret_cast(properties); roctracer::ext_support::roctracer_start_cb = ops_properties->start_cb; roctracer::ext_support::roctracer_stop_cb = ops_properties->stop_cb; break; @@ -1349,7 +1357,8 @@ PUBLIC_API void roctracer_flush_buf() { CONSTRUCTOR_API void constructor() { ONLOAD_TRACE_BEG(); roctracer::util::Logger::Create(); - roctracer::trace_buffer = new roctracer::TraceBuffer("HSA GPU", 0x200000, roctracer::trace_buffer_prm, 2); + roctracer::trace_buffer = new roctracer::TraceBuffer( + "HSA GPU", 0x200000, roctracer::trace_buffer_prm, 2); roctracer_load(); ONLOAD_TRACE_END(); } diff --git a/src/core/trace_buffer.h b/src/core/trace_buffer.h index a5c2619921..d6061970ae 100644 --- a/src/core/trace_buffer.h +++ b/src/core/trace_buffer.h @@ -50,11 +50,7 @@ } while (0) namespace roctracer { -enum { - TRACE_ENTRY_INV = 0, - TRACE_ENTRY_INIT = 1, - TRACE_ENTRY_COMPL = 2 -}; +enum { TRACE_ENTRY_INV = 0, TRACE_ENTRY_INIT = 1, TRACE_ENTRY_COMPL = 2 }; enum entry_type_t { DFLT_ENTRY_TYPE = 0, @@ -68,8 +64,8 @@ struct trace_entry_t { std::atomic valid; entry_type_t type; uint64_t dispatch; - uint64_t begin; // kernel begin timestamp, ns - uint64_t end; // kernel end timestamp, ns + uint64_t begin; // kernel begin timestamp, ns + uint64_t end; // kernel end timestamp, ns uint64_t complete; hsa_agent_t agent; uint32_t dev_index; @@ -86,8 +82,7 @@ struct trace_entry_t { }; }; -template -struct push_element_fun { +template struct push_element_fun { T* const elem_; T** prev_; bool fun(T* node) { @@ -105,10 +100,12 @@ struct push_element_fun { push_element_fun(T* elem, T** prev) : elem_(elem), prev_(prev) {} }; -template -struct call_element_fun { +template struct call_element_fun { void (T::*fptr_)(); - bool fun(T* node) const { (node->*fptr_)(); return false; } + bool fun(T* node) const { + (node->*fptr_)(); + return false; + } call_element_fun(void (T::*f)()) : fptr_(f) {} }; @@ -118,18 +115,26 @@ struct TraceBufferBase { virtual void StartWorkerThread() = 0; virtual void Flush() = 0; - static void StartWorkerThreadAll() { foreach(call_element_fun(&TraceBufferBase::StartWorkerThread)); } - static void FlushAll() { foreach(call_element_fun(&TraceBufferBase::Flush)); } + static void StartWorkerThreadAll() { + foreach (call_element_fun(&TraceBufferBase::StartWorkerThread)) + ; + } + static void FlushAll() { + foreach (call_element_fun(&TraceBufferBase::Flush)) + ; + } static void Push(TraceBufferBase* elem) { - if (head_elem_ == NULL) head_elem_ = elem; - else foreach(push_element_fun(elem, &head_elem_)); + if (head_elem_ == NULL) + head_elem_ = elem; + else + foreach (push_element_fun(elem, &head_elem_)) + ; } TraceBufferBase(const uint32_t& prior) : priority_(prior), next_elem_(NULL) {} - template - static void foreach(const F& f_in) { + template static void foreach (const F& f_in) { std::lock_guard lck(mutex_); F f = f_in; TraceBufferBase* p = head_elem_; @@ -146,9 +151,8 @@ struct TraceBufferBase { static mutex_t mutex_; }; -template -class TraceBuffer : protected TraceBufferBase { - public: +template class TraceBuffer : protected TraceBufferBase { + public: typedef void (*callback_t)(Entry*); typedef TraceBuffer Obj; typedef uint64_t pointer_t; @@ -161,11 +165,9 @@ class TraceBuffer : protected TraceBufferBase { callback_t fun; }; - TraceBuffer(const char* name, uint32_t size, const flush_prm_t* flush_prm_arr, uint32_t flush_prm_count, uint32_t prior = 0) : - TraceBufferBase(prior), - size_(size), - work_thread_started_(false) - { + TraceBuffer(const char* name, uint32_t size, const flush_prm_t* flush_prm_arr, + uint32_t flush_prm_count, uint32_t prior = 0) + : TraceBufferBase(prior), size_(size), work_thread_started_(false) { name_ = strdup(name); data_ = allocate_fun(); next_ = allocate_fun(); @@ -204,7 +206,7 @@ class TraceBuffer : protected TraceBufferBase { std::lock_guard lck(mutex_); if (work_thread_started_ == true) { PTHREAD_CALL(pthread_cancel(work_thread_)); - void *res; + void* res; PTHREAD_CALL(pthread_join(work_thread_, &res)); if (res != PTHREAD_CANCELED) FATAL("consumer thread wasn't stopped correctly"); work_thread_started_ = false; @@ -223,7 +225,7 @@ class TraceBuffer : protected TraceBufferBase { void Flush() { flush_buf(); } - private: + private: void flush_buf() { std::lock_guard lck(mutex_); @@ -231,7 +233,7 @@ class TraceBuffer : protected TraceBufferBase { pointer_t curr_pointer = write_pointer_.load(std::memory_order_relaxed); buf_list_it_t it = buf_list_.begin(); buf_list_it_t end_it = buf_list_.end(); - while(it != end_it) { + while (it != end_it) { Entry* buf = *it; Entry* ptr = buf + (pointer % size_); Entry* end_ptr = buf + size_; @@ -261,15 +263,13 @@ class TraceBuffer : protected TraceBufferBase { } inline Entry* allocate_fun() { - Entry* ptr = (Entry*) malloc(size_ * sizeof(Entry)); + Entry* ptr = (Entry*)malloc(size_ * sizeof(Entry)); if (ptr == NULL) FATAL("malloc failed"); - //memset(ptr, 0, size_ * sizeof(Entry)); + // memset(ptr, 0, size_ * sizeof(Entry)); return ptr; } - inline void free_fun(void* ptr) { - free(ptr); - } + inline void free_fun(void* ptr) { free(ptr); } static void* allocate_worker(void* arg) { Obj* obj = (Obj*)arg; @@ -321,8 +321,8 @@ class TraceBuffer : protected TraceBufferBase { }; } // namespace roctracer -#define TRACE_BUFFER_INSTANTIATE() \ - roctracer::TraceBufferBase* roctracer::TraceBufferBase::head_elem_ = NULL; \ +#define TRACE_BUFFER_INSTANTIATE() \ + roctracer::TraceBufferBase* roctracer::TraceBufferBase::head_elem_ = NULL; \ roctracer::TraceBufferBase::mutex_t roctracer::TraceBufferBase::mutex_; #endif // SRC_CORE_TRACE_BUFFER_H_ diff --git a/src/proxy/hsa_queue.h b/src/proxy/hsa_queue.h index 09b55949db..d8086615e6 100644 --- a/src/proxy/hsa_queue.h +++ b/src/proxy/hsa_queue.h @@ -31,9 +31,7 @@ class HsaQueue : public Queue { public: HsaQueue(const util::AgentInfo* agent_info, hsa_queue_t* queue) : queue_(queue) {} - void Submit(const packet_t* packet) { - util::HsaRsrcFactory::Instance().Submit(queue_, packet); - } + void Submit(const packet_t* packet) { util::HsaRsrcFactory::Instance().Submit(queue_, packet); } private: hsa_queue_t* queue_; diff --git a/src/proxy/intercept_queue.cpp b/src/proxy/intercept_queue.cpp index 062b84e2b0..f67dfc5ea0 100644 --- a/src/proxy/intercept_queue.cpp +++ b/src/proxy/intercept_queue.cpp @@ -27,10 +27,10 @@ void InterceptQueue::HsaIntercept(HsaApiTable* table) { } InterceptQueue::mutex_t InterceptQueue::mutex_; -//rocprofiler_callback_t InterceptQueue::dispatch_callback_ = NULL; -//InterceptQueue::queue_callback_t InterceptQueue::create_callback_ = NULL; -//InterceptQueue::queue_callback_t InterceptQueue::destroy_callback_ = NULL; -//void* InterceptQueue::callback_data_ = NULL; +// rocprofiler_callback_t InterceptQueue::dispatch_callback_ = NULL; +// InterceptQueue::queue_callback_t InterceptQueue::create_callback_ = NULL; +// InterceptQueue::queue_callback_t InterceptQueue::destroy_callback_ = NULL; +// void* InterceptQueue::callback_data_ = NULL; InterceptQueue::obj_map_t* InterceptQueue::obj_map_ = NULL; const char* InterceptQueue::kernel_none_ = ""; bool InterceptQueue::in_create_call_ = false; diff --git a/src/proxy/intercept_queue.h b/src/proxy/intercept_queue.h index cc74bcaf12..0cc49de1e2 100644 --- a/src/proxy/intercept_queue.h +++ b/src/proxy/intercept_queue.h @@ -37,7 +37,9 @@ #include "util/hsa_rsrc_factory.h" #include "util/exception.h" -namespace roctracer { extern TraceBuffer* trace_buffer; } +namespace roctracer { +extern TraceBuffer* trace_buffer; +} namespace rocprofiler { extern decltype(hsa_queue_create)* hsa_queue_create_fn; @@ -48,25 +50,25 @@ class InterceptQueue { typedef std::recursive_mutex mutex_t; typedef std::map obj_map_t; typedef hsa_status_t (*queue_callback_t)(hsa_queue_t*, void* data); - typedef void (*queue_event_callback_t)(hsa_status_t status, hsa_queue_t *queue, void *arg); + typedef void (*queue_event_callback_t)(hsa_status_t status, hsa_queue_t* queue, void* arg); typedef uint32_t queue_id_t; static void HsaIntercept(HsaApiTable* table); - static hsa_status_t InterceptQueueCreate(hsa_agent_t agent, uint32_t size, hsa_queue_type32_t type, - void (*callback)(hsa_status_t status, hsa_queue_t* source, - void* data), - void* data, uint32_t private_segment_size, - uint32_t group_segment_size, hsa_queue_t** queue, - const bool& tracker_on) { + static hsa_status_t InterceptQueueCreate( + hsa_agent_t agent, uint32_t size, hsa_queue_type32_t type, + void (*callback)(hsa_status_t status, hsa_queue_t* source, void* data), void* data, + uint32_t private_segment_size, uint32_t group_segment_size, hsa_queue_t** queue, + const bool& tracker_on) { std::lock_guard lck(mutex_); hsa_status_t status = HSA_STATUS_ERROR; if (in_create_call_) EXC_ABORT(status, "recursive InterceptQueueCreate()"); in_create_call_ = true; - ProxyQueue* proxy = ProxyQueue::Create(agent, size, type, queue_event_callback, data, private_segment_size, - group_segment_size, queue, &status); + ProxyQueue* proxy = + ProxyQueue::Create(agent, size, type, queue_event_callback, data, private_segment_size, + group_segment_size, queue, &status); if (status != HSA_STATUS_SUCCESS) EXC_ABORT(status, "ProxyQueue::Create()"); status = util::HsaRsrcFactory::HsaApi()->hsa_amd_profiling_set_profiler_enabled(*queue, true); @@ -78,7 +80,8 @@ class InterceptQueue { obj->queue_id = current_queue_id; (*obj_map_)[(uint64_t)(*queue)] = obj; - status = (is_enabled) ? proxy->SetInterceptCB(OnSubmitCB, obj) : proxy->SetInterceptCB(OnSubmitCB_dummy, obj); + status = (is_enabled) ? proxy->SetInterceptCB(OnSubmitCB, obj) + : proxy->SetInterceptCB(OnSubmitCB_dummy, obj); #if 0 if (create_callback_ != NULL) { @@ -96,15 +99,17 @@ class InterceptQueue { void* data), void* data, uint32_t private_segment_size, uint32_t group_segment_size, hsa_queue_t** queue) { - return InterceptQueueCreate(agent, size, type, callback, data, private_segment_size, group_segment_size, queue, false); + return InterceptQueueCreate(agent, size, type, callback, data, private_segment_size, + group_segment_size, queue, false); } static hsa_status_t QueueCreateTracked(hsa_agent_t agent, uint32_t size, hsa_queue_type32_t type, - void (*callback)(hsa_status_t status, hsa_queue_t* source, - void* data), - void* data, uint32_t private_segment_size, - uint32_t group_segment_size, hsa_queue_t** queue) { - return InterceptQueueCreate(agent, size, type, callback, data, private_segment_size, group_segment_size, queue, true); + void (*callback)(hsa_status_t status, hsa_queue_t* source, + void* data), + void* data, uint32_t private_segment_size, + uint32_t group_segment_size, hsa_queue_t** queue) { + return InterceptQueueCreate(agent, size, type, callback, data, private_segment_size, + group_segment_size, queue, true); } static hsa_status_t QueueDestroy(hsa_queue_t* queue) { @@ -122,8 +127,8 @@ class InterceptQueue { return status; } - static void OnSubmitCB_dummy(const void* in_packets, uint64_t count, uint64_t user_que_idx, void* data, - hsa_amd_queue_intercept_packet_writer writer) { + static void OnSubmitCB_dummy(const void* in_packets, uint64_t count, uint64_t user_que_idx, + void* data, hsa_amd_queue_intercept_packet_writer writer) { const packet_t* packets_arr = reinterpret_cast(in_packets); // Submitting the original packets if profiling was not enabled @@ -161,8 +166,10 @@ class InterceptQueue { ::proxy::Tracker::entry_t* entry = roctracer::trace_buffer->GetEntry(); entry->kernel.tid = syscall(__NR_gettid); entry->kernel.name = kernel_name; - ::proxy::Tracker::Enable(roctracer::KERNEL_ENTRY_TYPE, obj->agent_info_->dev_id, completion_signal, entry); - const_cast(dispatch_packet)->completion_signal = entry->signal; + ::proxy::Tracker::Enable(roctracer::KERNEL_ENTRY_TYPE, obj->agent_info_->dev_id, + completion_signal, entry); + const_cast(dispatch_packet)->completion_signal = + entry->signal; } } @@ -190,7 +197,7 @@ class InterceptQueue { static void Enable(bool val) { is_enabled = val; } private: - static void queue_event_callback(hsa_status_t status, hsa_queue_t *queue, void *arg) { + static void queue_event_callback(hsa_status_t status, hsa_queue_t* queue, void* arg) { if (status != HSA_STATUS_SUCCESS) EXC_ABORT(status, "queue error handling is not supported"); InterceptQueue* obj = GetObj(queue); if (obj->queue_event_callback_) obj->queue_event_callback_(status, obj->queue_, arg); @@ -201,7 +208,8 @@ class InterceptQueue { return static_cast((*header >> HSA_PACKET_HEADER_TYPE) & header_type_mask); } - static const amd_kernel_code_t* GetKernelCode(const hsa_kernel_dispatch_packet_t* dispatch_packet) { + static const amd_kernel_code_t* GetKernelCode( + const hsa_kernel_dispatch_packet_t* dispatch_packet) { const amd_kernel_code_t* kernel_code = NULL; hsa_status_t status = util::HsaRsrcFactory::Instance().LoaderApi()->hsa_ven_amd_loader_query_host_address( @@ -256,22 +264,19 @@ class InterceptQueue { assert(queue == obj->queue_); delete obj; obj_map_->erase(it); - status = HSA_STATUS_SUCCESS;; + status = HSA_STATUS_SUCCESS; + ; } return status; } - InterceptQueue(const hsa_agent_t& agent, hsa_queue_t* const queue, ProxyQueue* proxy) : - queue_(queue), - proxy_(proxy) - { + InterceptQueue(const hsa_agent_t& agent, hsa_queue_t* const queue, ProxyQueue* proxy) + : queue_(queue), proxy_(proxy) { agent_info_ = util::HsaRsrcFactory::Instance().GetAgentInfo(agent); queue_event_callback_ = NULL; } - ~InterceptQueue() { - ProxyQueue::Destroy(proxy_); - } + ~InterceptQueue() { ProxyQueue::Destroy(proxy_); } static bool is_enabled; diff --git a/src/proxy/proxy_queue.cpp b/src/proxy/proxy_queue.cpp index 6905889343..3c14b530fa 100644 --- a/src/proxy/proxy_queue.cpp +++ b/src/proxy/proxy_queue.cpp @@ -36,10 +36,10 @@ ProxyQueue* ProxyQueue::Create(hsa_agent_t agent, uint32_t size, hsa_queue_type3 hsa_status_t* status) { hsa_status_t suc = HSA_STATUS_ERROR; ProxyQueue* instance = - (rocp_type_) ? (ProxyQueue*) new SimpleProxyQueue() : (ProxyQueue*) new HsaProxyQueue(); + (rocp_type_) ? (ProxyQueue*)new SimpleProxyQueue() : (ProxyQueue*)new HsaProxyQueue(); if (instance != NULL) { suc = instance->Init(agent, size, type, callback, data, private_segment_size, - group_segment_size, queue); + group_segment_size, queue); if (suc != HSA_STATUS_SUCCESS) { delete instance; instance = NULL; diff --git a/src/proxy/simple_proxy_queue.cpp b/src/proxy/simple_proxy_queue.cpp index a7cee79830..a24259eca9 100644 --- a/src/proxy/simple_proxy_queue.cpp +++ b/src/proxy/simple_proxy_queue.cpp @@ -25,13 +25,19 @@ void SimpleProxyQueue::HsaIntercept(HsaApiTable* table) { table->core_->hsa_signal_store_relaxed_fn = rocprofiler::SimpleProxyQueue::SignalStore; table->core_->hsa_signal_store_screlease_fn = rocprofiler::SimpleProxyQueue::SignalStore; - table->core_->hsa_queue_load_write_index_relaxed_fn = rocprofiler::SimpleProxyQueue::GetQueueIndex; - table->core_->hsa_queue_store_write_index_relaxed_fn = rocprofiler::SimpleProxyQueue::SetQueueIndex; - table->core_->hsa_queue_load_read_index_relaxed_fn = rocprofiler::SimpleProxyQueue::GetSubmitIndex; + table->core_->hsa_queue_load_write_index_relaxed_fn = + rocprofiler::SimpleProxyQueue::GetQueueIndex; + table->core_->hsa_queue_store_write_index_relaxed_fn = + rocprofiler::SimpleProxyQueue::SetQueueIndex; + table->core_->hsa_queue_load_read_index_relaxed_fn = + rocprofiler::SimpleProxyQueue::GetSubmitIndex; - table->core_->hsa_queue_load_write_index_scacquire_fn = rocprofiler::SimpleProxyQueue::GetQueueIndex; - table->core_->hsa_queue_store_write_index_screlease_fn = rocprofiler::SimpleProxyQueue::SetQueueIndex; - table->core_->hsa_queue_load_read_index_scacquire_fn = rocprofiler::SimpleProxyQueue::GetSubmitIndex; + table->core_->hsa_queue_load_write_index_scacquire_fn = + rocprofiler::SimpleProxyQueue::GetQueueIndex; + table->core_->hsa_queue_store_write_index_screlease_fn = + rocprofiler::SimpleProxyQueue::SetQueueIndex; + table->core_->hsa_queue_load_read_index_scacquire_fn = + rocprofiler::SimpleProxyQueue::GetSubmitIndex; } SimpleProxyQueue::queue_map_t* SimpleProxyQueue::queue_map_ = NULL; diff --git a/src/proxy/simple_proxy_queue.h b/src/proxy/simple_proxy_queue.h index 25cb67bab3..3b76c4bf30 100644 --- a/src/proxy/simple_proxy_queue.h +++ b/src/proxy/simple_proxy_queue.h @@ -30,7 +30,7 @@ #include "util/hsa_rsrc_factory.h" #ifndef ROCP_PROXY_LOCK -# define ROCP_PROXY_LOCK 1 +#define ROCP_PROXY_LOCK 1 #endif namespace rocprofiler { @@ -125,7 +125,8 @@ class SimpleProxyQueue : public ProxyQueue { const uint64_t que_idx = hsa_queue_load_write_index_relaxed_fn(queue_); // Waiting untill there is a free space in the queue - while (que_idx >= (hsa_queue_load_read_index_relaxed_fn(queue_) + size_)); + while (que_idx >= (hsa_queue_load_read_index_relaxed_fn(queue_) + size_)) + ; // Increment the write index hsa_queue_store_write_index_relaxed_fn(queue_, que_idx + 1); @@ -160,8 +161,7 @@ class SimpleProxyQueue : public ProxyQueue { queue_mask_(0), submit_index_(0), on_submit_cb_(NULL), - on_submit_cb_data_(NULL) - { + on_submit_cb_data_(NULL) { printf("ROCProfiler: SimpleProxyQueue is enabled\n"); fflush(stdout); } @@ -200,8 +200,8 @@ class SimpleProxyQueue : public ProxyQueue { if (queue_map_ == NULL) queue_map_ = new queue_map_t; (*queue_map_)[queue_->doorbell_signal.handle] = this; - } - else abort(); + } else + abort(); } } if (status != HSA_STATUS_SUCCESS) abort(); diff --git a/src/proxy/tracker.h b/src/proxy/tracker.h index b1657707e7..1bf98ce32c 100644 --- a/src/proxy/tracker.h +++ b/src/proxy/tracker.h @@ -35,20 +35,21 @@ namespace proxy { class Tracker { - public: + public: typedef util::HsaRsrcFactory::timestamp_t timestamp_t; typedef roctracer::trace_entry_t entry_t; typedef roctracer::entry_type_t entry_type_t; // Add tracker entry - inline static void Enable(entry_type_t type, const hsa_agent_t& agent, const hsa_signal_t& signal, entry_t* entry) { + inline static void Enable(entry_type_t type, const hsa_agent_t& agent, const hsa_signal_t& signal, + entry_t* entry) { hsa_status_t status = HSA_STATUS_ERROR; util::HsaRsrcFactory* hsa_rsrc = &(util::HsaRsrcFactory::Instance()); // Creating a new tracker entry entry->type = type; entry->agent = agent; - entry->dev_index = 0; //hsa_rsrc->GetAgentInfo(agent)->dev_index; + entry->dev_index = 0; // hsa_rsrc->GetAgentInfo(agent)->dev_index; entry->orig = signal; entry->dispatch = hsa_rsrc->TimestampNs(); entry->valid.store(roctracer::TRACE_ENTRY_INIT, std::memory_order_release); @@ -56,7 +57,8 @@ class Tracker { // Creating a proxy signal status = hsa_signal_create(1, 0, NULL, &(entry->signal)); if (status != HSA_STATUS_SUCCESS) EXC_RAISING(status, "hsa_signal_create"); - status = hsa_amd_signal_async_handler(entry->signal, HSA_SIGNAL_CONDITION_LT, 1, Handler, entry); + status = + hsa_amd_signal_async_handler(entry->signal, HSA_SIGNAL_CONDITION_LT, 1, Handler, entry); if (status != HSA_STATUS_SUCCESS) EXC_RAISING(status, "hsa_amd_signal_async_handler"); } @@ -66,7 +68,7 @@ class Tracker { entry->valid.store(roctracer::TRACE_ENTRY_INV, std::memory_order_release); } - private: + private: // Entry completion inline static void Complete(hsa_signal_value_t signal_value, entry_t* entry) { // Query begin/end and complete timestamps @@ -74,12 +76,14 @@ class Tracker { if (entry->type == roctracer::COPY_ENTRY_TYPE) { hsa_amd_profiling_async_copy_time_t async_copy_time{}; hsa_status_t status = hsa_amd_profiling_get_async_copy_time(entry->signal, &async_copy_time); - if (status != HSA_STATUS_SUCCESS) EXC_RAISING(status, "hsa_amd_profiling_get_async_copy_time"); + if (status != HSA_STATUS_SUCCESS) + EXC_RAISING(status, "hsa_amd_profiling_get_async_copy_time"); entry->begin = hsa_rsrc->SysclockToNs(async_copy_time.start); entry->end = hsa_rsrc->SysclockToNs(async_copy_time.end); } else { hsa_amd_profiling_dispatch_time_t dispatch_time{}; - hsa_status_t status = hsa_amd_profiling_get_dispatch_time(entry->agent, entry->signal, &dispatch_time); + hsa_status_t status = + hsa_amd_profiling_get_dispatch_time(entry->agent, entry->signal, &dispatch_time); if (status != HSA_STATUS_SUCCESS) EXC_RAISING(status, "hsa_amd_profiling_get_dispatch_time"); entry->begin = hsa_rsrc->SysclockToNs(dispatch_time.start); entry->end = hsa_rsrc->SysclockToNs(dispatch_time.end); @@ -101,7 +105,8 @@ class Tracker { orig_signal_ptr->end_ts = prof_signal_ptr->end_ts; const hsa_signal_value_t new_value = hsa_signal_load_relaxed(orig) - 1; - if (signal_value != new_value) EXC_ABORT(HSA_STATUS_ERROR, "Tracker::Complete bad signal value"); + if (signal_value != new_value) + EXC_ABORT(HSA_STATUS_ERROR, "Tracker::Complete bad signal value"); hsa_signal_store_screlease(orig, signal_value); } hsa_signal_destroy(signal); @@ -111,7 +116,8 @@ class Tracker { static bool Handler(hsa_signal_value_t signal_value, void* arg) { // Acquire entry entry_t* entry = reinterpret_cast(arg); - while (entry->valid.load(std::memory_order_acquire) != roctracer::TRACE_ENTRY_INIT) sched_yield(); + while (entry->valid.load(std::memory_order_acquire) != roctracer::TRACE_ENTRY_INIT) + sched_yield(); // Complete entry Tracker::Complete(signal_value, entry); @@ -119,6 +125,6 @@ class Tracker { } }; -} // namespace rocprofiler +} // namespace proxy -#endif // SRC_PROXY_TRACKER_H_ +#endif // SRC_PROXY_TRACKER_H_ diff --git a/src/proxy/types.h b/src/proxy/types.h index af08a83454..50231a55f3 100644 --- a/src/proxy/types.h +++ b/src/proxy/types.h @@ -34,11 +34,12 @@ typedef hsa_ext_amd_aql_pm4_packet_t packet_t; typedef uint32_t packet_word_t; typedef uint64_t timestamp_t; -inline std::ostream& operator<< (std::ostream& out, const event_t& event) { - out << "[block_name(" << event.block_name << "). block_index(" << event.block_index << "). counter_id(" << event.counter_id << ")]"; +inline std::ostream& operator<<(std::ostream& out, const event_t& event) { + out << "[block_name(" << event.block_name << "). block_index(" << event.block_index + << "). counter_id(" << event.counter_id << ")]"; return out; } -inline std::ostream& operator<< (std::ostream& out, const parameter_t& parameter) { +inline std::ostream& operator<<(std::ostream& out, const parameter_t& parameter) { out << "[parameter_name(" << parameter.parameter_name << "). value(" << parameter.value << ")]"; return out; } diff --git a/src/roctx/roctx.cpp b/src/roctx/roctx.cpp index ff77726f35..486e97b7b4 100644 --- a/src/roctx/roctx.cpp +++ b/src/roctx/roctx.cpp @@ -37,7 +37,6 @@ #define API_METHOD_PREFIX \ roctx_status_t err = ROCTX_STATUS_SUCCESS; \ try { - #define API_METHOD_SUFFIX \ } \ catch (std::exception & e) { \ @@ -52,7 +51,7 @@ ERR_LOGGING(__FUNCTION__ << "(), " << e.what()); \ err = roctx::GetExcStatus(e); \ } \ - (void)err; \ + (void)err; #define API_METHOD_CATCH(X) \ } \ @@ -84,8 +83,10 @@ thread_map_t thread_map; static thread_local message_stack_t* message_stack = NULL; roctx_status_t GetExcStatus(const std::exception& e) { - const roctracer::util::exception* roctx_exc_ptr = dynamic_cast(&e); - return (roctx_exc_ptr) ? static_cast(roctx_exc_ptr->status()) : ROCTX_STATUS_ERROR; + const roctracer::util::exception* roctx_exc_ptr = + dynamic_cast(&e); + return (roctx_exc_ptr) ? static_cast(roctx_exc_ptr->status()) + : ROCTX_STATUS_ERROR; } void thread_data_init() { @@ -124,7 +125,8 @@ PUBLIC_API void roctxMarkA(const char* message) { activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; roctx::cb_table.get(ROCTX_API_ID_roctxMarkA, &api_callback_fun, &api_callback_arg); - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_ROCTX, ROCTX_API_ID_roctxMarkA, &api_data, api_callback_arg); + if (api_callback_fun) + api_callback_fun(ACTIVITY_DOMAIN_ROCTX, ROCTX_API_ID_roctxMarkA, &api_data, api_callback_arg); API_METHOD_SUFFIX_NRET } @@ -137,7 +139,9 @@ PUBLIC_API int roctxRangePushA(const char* message) { activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; roctx::cb_table.get(ROCTX_API_ID_roctxRangePushA, &api_callback_fun, &api_callback_arg); - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_ROCTX, ROCTX_API_ID_roctxRangePushA, &api_data, api_callback_arg); + if (api_callback_fun) + api_callback_fun(ACTIVITY_DOMAIN_ROCTX, ROCTX_API_ID_roctxRangePushA, &api_data, + api_callback_arg); roctx::message_stack->push(strdup(message)); return roctx::message_stack->size() - 1; @@ -152,11 +156,13 @@ PUBLIC_API int roctxRangePop() { activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; roctx::cb_table.get(ROCTX_API_ID_roctxRangePop, &api_callback_fun, &api_callback_arg); - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_ROCTX, ROCTX_API_ID_roctxRangePop, &api_data, api_callback_arg); + if (api_callback_fun) + api_callback_fun(ACTIVITY_DOMAIN_ROCTX, ROCTX_API_ID_roctxRangePop, &api_data, + api_callback_arg); if (roctx::message_stack->empty()) { - EXC_ABORT(ROCTX_STATUS_ERROR, "Pop from empty stack!"); + EXC_ABORT(ROCTX_STATUS_ERROR, "Pop from empty stack!"); } else { - roctx::message_stack->pop(); + roctx::message_stack->pop(); } return roctx::message_stack->size(); @@ -173,7 +179,9 @@ PUBLIC_API roctx_range_id_t roctxRangeStartA(const char* message) { activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; roctx::cb_table.get(ROCTX_API_ID_roctxRangeStartA, &api_callback_fun, &api_callback_arg); - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_ROCTX, ROCTX_API_ID_roctxRangeStartA, &api_data, api_callback_arg); + if (api_callback_fun) + api_callback_fun(ACTIVITY_DOMAIN_ROCTX, ROCTX_API_ID_roctxRangeStartA, &api_data, + api_callback_arg); return roctx_range_counter; API_METHOD_CATCH(-1); @@ -186,14 +194,16 @@ PUBLIC_API void roctxRangeStop(roctx_range_id_t rangeId) { activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; roctx::cb_table.get(ROCTX_API_ID_roctxRangeStop, &api_callback_fun, &api_callback_arg); - if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_ROCTX, ROCTX_API_ID_roctxRangeStop, &api_data, api_callback_arg); + if (api_callback_fun) + api_callback_fun(ACTIVITY_DOMAIN_ROCTX, ROCTX_API_ID_roctxRangeStop, &api_data, + api_callback_arg); API_METHOD_SUFFIX_NRET } PUBLIC_API void RangeStackIterate(roctx_range_iterate_cb_t callback, void* arg) { for (const auto& entry : roctx::thread_map) { const auto tid = entry.first; - for (roctx::message_stack_t stack = *(entry.second); !stack.empty(); stack.pop()){ + for (roctx::message_stack_t stack = *(entry.second); !stack.empty(); stack.pop()) { std::string message = stack.top(); roctx_range_data_t data{}; data.message = message.c_str(); diff --git a/src/roctx/roctx_intercept.cpp b/src/roctx/roctx_intercept.cpp index f5cfdf7669..11de368da5 100644 --- a/src/roctx/roctx_intercept.cpp +++ b/src/roctx/roctx_intercept.cpp @@ -45,8 +45,6 @@ PUBLIC_API bool RegisterApiCallback(uint32_t op, void* callback, void* arg) { return roctx::cb_table.set(op, reinterpret_cast(callback), arg); } -PUBLIC_API bool RemoveApiCallback(uint32_t op) { - return roctx::cb_table.set(op, NULL, NULL); -} +PUBLIC_API bool RemoveApiCallback(uint32_t op) { return roctx::cb_table.set(op, NULL, NULL); } } // extern "C" diff --git a/src/util/exception.h b/src/util/exception.h index 98d931bf7c..1d4ba3e4d5 100644 --- a/src/util/exception.h +++ b/src/util/exception.h @@ -43,12 +43,12 @@ #define HCC_EXC_RAISING(error, stream) \ do { \ EXC_RAISING(error, "HCC error: " << stream); \ - } while(0) + } while (0) #define HIP_EXC_RAISING(error, stream) \ do { \ EXC_RAISING(error, "HIP error: " << stream); \ - } while(0) + } while (0) namespace roctracer { namespace util { diff --git a/src/util/hsa_rsrc_factory.cpp b/src/util/hsa_rsrc_factory.cpp index caea611496..0a70b07fc3 100644 --- a/src/util/hsa_rsrc_factory.cpp +++ b/src/util/hsa_rsrc_factory.cpp @@ -69,13 +69,15 @@ static hsa_status_t FindGlobalPool(hsa_amd_memory_pool_t pool, void* data, bool return HSA_STATUS_ERROR_INVALID_ARGUMENT; } - err = HsaRsrcFactory::HsaApi()->hsa_amd_memory_pool_get_info(pool, HSA_AMD_MEMORY_POOL_INFO_SEGMENT, &segment); + err = HsaRsrcFactory::HsaApi()->hsa_amd_memory_pool_get_info( + pool, HSA_AMD_MEMORY_POOL_INFO_SEGMENT, &segment); CHECK_STATUS("hsa_amd_memory_pool_get_info", err); if (HSA_AMD_SEGMENT_GLOBAL != segment) { return HSA_STATUS_SUCCESS; } - err = HsaRsrcFactory::HsaApi()->hsa_amd_memory_pool_get_info(pool, HSA_AMD_MEMORY_POOL_INFO_GLOBAL_FLAGS, &flag); + err = HsaRsrcFactory::HsaApi()->hsa_amd_memory_pool_get_info( + pool, HSA_AMD_MEMORY_POOL_INFO_GLOBAL_FLAGS, &flag); CHECK_STATUS("hsa_amd_memory_pool_get_info", err); uint32_t karg_st = flag & HSA_AMD_MEMORY_POOL_GLOBAL_FLAG_KERNARG_INIT; @@ -128,19 +130,22 @@ HsaRsrcFactory::HsaRsrcFactory(bool initialize_hsa) : initialize_hsa_(initialize #ifdef ROCP_LD_AQLPROFILE status = LoadAqlProfileLib(&aqlprofile_api_); #else - status = hsa_api_.hsa_system_get_major_extension_table(HSA_EXTENSION_AMD_AQLPROFILE, hsa_ven_amd_aqlprofile_VERSION_MAJOR, sizeof(aqlprofile_api_), &aqlprofile_api_); + status = hsa_api_.hsa_system_get_major_extension_table(HSA_EXTENSION_AMD_AQLPROFILE, + hsa_ven_amd_aqlprofile_VERSION_MAJOR, + sizeof(aqlprofile_api_), &aqlprofile_api_); #endif CHECK_STATUS("aqlprofile API table load failed", status); // Get Loader API table loader_api_ = {0}; - status = hsa_api_.hsa_system_get_major_extension_table(HSA_EXTENSION_AMD_LOADER, 1, sizeof(loader_api_), &loader_api_); + status = hsa_api_.hsa_system_get_major_extension_table(HSA_EXTENSION_AMD_LOADER, 1, + sizeof(loader_api_), &loader_api_); CHECK_STATUS("loader API table query failed", status); // Instantiate HSA timer timer_ = new HsaTimer(&hsa_api_); CHECK_STATUS("HSA timer allocation failed", - (timer_ == NULL) ? HSA_STATUS_ERROR : HSA_STATUS_SUCCESS); + (timer_ == NULL) ? HSA_STATUS_ERROR : HSA_STATUS_SUCCESS); // Time correlation const uint32_t corr_iters = 1000; @@ -148,7 +153,8 @@ HsaRsrcFactory::HsaRsrcFactory(bool initialize_hsa) : initialize_hsa_(initialize CorrelateTime(HsaTimer::TIME_ID_CLOCK_MONOTONIC, corr_iters); // System timeout - timeout_ = (timeout_ns_ == HsaTimer::TIMESTAMP_MAX) ? timeout_ns_ : timer_->ns_to_sysclock(timeout_ns_); + timeout_ = + (timeout_ns_ == HsaTimer::TIMESTAMP_MAX) ? timeout_ns_ : timer_->ns_to_sysclock(timeout_ns_); } // Destructor of the class @@ -174,9 +180,12 @@ void HsaRsrcFactory::InitHsaApiTable(HsaApiTable* table) { hsa_api_.hsa_queue_create = table->core_->hsa_queue_create_fn; hsa_api_.hsa_queue_destroy = table->core_->hsa_queue_destroy_fn; - hsa_api_.hsa_queue_load_write_index_relaxed = table->core_->hsa_queue_load_write_index_relaxed_fn; - hsa_api_.hsa_queue_store_write_index_relaxed = table->core_->hsa_queue_store_write_index_relaxed_fn; - hsa_api_.hsa_queue_load_read_index_relaxed = table->core_->hsa_queue_load_read_index_relaxed_fn; + hsa_api_.hsa_queue_load_write_index_relaxed = + table->core_->hsa_queue_load_write_index_relaxed_fn; + hsa_api_.hsa_queue_store_write_index_relaxed = + table->core_->hsa_queue_store_write_index_relaxed_fn; + hsa_api_.hsa_queue_load_read_index_relaxed = + table->core_->hsa_queue_load_read_index_relaxed_fn; hsa_api_.hsa_signal_create = table->core_->hsa_signal_create_fn; hsa_api_.hsa_signal_destroy = table->core_->hsa_signal_destroy_fn; @@ -185,18 +194,22 @@ void HsaRsrcFactory::InitHsaApiTable(HsaApiTable* table) { hsa_api_.hsa_signal_wait_scacquire = table->core_->hsa_signal_wait_scacquire_fn; hsa_api_.hsa_signal_store_screlease = table->core_->hsa_signal_store_screlease_fn; - hsa_api_.hsa_code_object_reader_create_from_file = table->core_->hsa_code_object_reader_create_from_file_fn; + hsa_api_.hsa_code_object_reader_create_from_file = + table->core_->hsa_code_object_reader_create_from_file_fn; hsa_api_.hsa_executable_create_alt = table->core_->hsa_executable_create_alt_fn; - hsa_api_.hsa_executable_load_agent_code_object = table->core_->hsa_executable_load_agent_code_object_fn; + hsa_api_.hsa_executable_load_agent_code_object = + table->core_->hsa_executable_load_agent_code_object_fn; hsa_api_.hsa_executable_freeze = table->core_->hsa_executable_freeze_fn; hsa_api_.hsa_executable_get_symbol = table->core_->hsa_executable_get_symbol_fn; hsa_api_.hsa_executable_symbol_get_info = table->core_->hsa_executable_symbol_get_info_fn; hsa_api_.hsa_executable_iterate_symbols = table->core_->hsa_executable_iterate_symbols_fn; hsa_api_.hsa_system_get_info = table->core_->hsa_system_get_info_fn; - hsa_api_.hsa_system_get_major_extension_table = table->core_->hsa_system_get_major_extension_table_fn; + hsa_api_.hsa_system_get_major_extension_table = + table->core_->hsa_system_get_major_extension_table_fn; - hsa_api_.hsa_amd_agent_iterate_memory_pools = table->amd_ext_->hsa_amd_agent_iterate_memory_pools_fn; + hsa_api_.hsa_amd_agent_iterate_memory_pools = + table->amd_ext_->hsa_amd_agent_iterate_memory_pools_fn; hsa_api_.hsa_amd_memory_pool_get_info = table->amd_ext_->hsa_amd_memory_pool_get_info_fn; hsa_api_.hsa_amd_memory_pool_allocate = table->amd_ext_->hsa_amd_memory_pool_allocate_fn; hsa_api_.hsa_amd_agents_allow_access = table->amd_ext_->hsa_amd_agents_allow_access_fn; @@ -204,9 +217,12 @@ void HsaRsrcFactory::InitHsaApiTable(HsaApiTable* table) { hsa_api_.hsa_amd_memory_async_copy_rect = table->amd_ext_->hsa_amd_memory_async_copy_rect_fn; hsa_api_.hsa_amd_signal_async_handler = table->amd_ext_->hsa_amd_signal_async_handler_fn; - hsa_api_.hsa_amd_profiling_set_profiler_enabled = table->amd_ext_->hsa_amd_profiling_set_profiler_enabled_fn; - hsa_api_.hsa_amd_profiling_get_async_copy_time = table->amd_ext_->hsa_amd_profiling_get_async_copy_time_fn; - hsa_api_.hsa_amd_profiling_get_dispatch_time = table->amd_ext_->hsa_amd_profiling_get_dispatch_time_fn; + hsa_api_.hsa_amd_profiling_set_profiler_enabled = + table->amd_ext_->hsa_amd_profiling_set_profiler_enabled_fn; + hsa_api_.hsa_amd_profiling_get_async_copy_time = + table->amd_ext_->hsa_amd_profiling_get_async_copy_time_fn; + hsa_api_.hsa_amd_profiling_get_dispatch_time = + table->amd_ext_->hsa_amd_profiling_get_dispatch_time_fn; } else { hsa_api_.hsa_init = hsa_init; hsa_api_.hsa_shut_down = hsa_shut_down; @@ -302,10 +318,13 @@ const AgentInfo* HsaRsrcFactory::AddAgentInfo(const hsa_agent_t agent) { agent_info->dev_type = HSA_DEVICE_TYPE_CPU; agent_info->dev_index = cpu_list_.size(); - status = hsa_api_.hsa_amd_agent_iterate_memory_pools(agent, FindStandardPool, &agent_info->cpu_pool); + status = + hsa_api_.hsa_amd_agent_iterate_memory_pools(agent, FindStandardPool, &agent_info->cpu_pool); if ((status == HSA_STATUS_INFO_BREAK) && (cpu_pool_ == NULL)) cpu_pool_ = &agent_info->cpu_pool; - status = hsa_api_.hsa_amd_agent_iterate_memory_pools(agent, FindKernArgPool, &agent_info->kern_arg_pool); - if ((status == HSA_STATUS_INFO_BREAK) && (kern_arg_pool_ == NULL)) kern_arg_pool_ = &agent_info->kern_arg_pool; + status = hsa_api_.hsa_amd_agent_iterate_memory_pools(agent, FindKernArgPool, + &agent_info->kern_arg_pool); + if ((status == HSA_STATUS_INFO_BREAK) && (kern_arg_pool_ == NULL)) + kern_arg_pool_ = &agent_info->kern_arg_pool; agent_info->gpu_pool = {}; cpu_list_.push_back(agent_info); @@ -317,28 +336,34 @@ const AgentInfo* HsaRsrcFactory::AddAgentInfo(const hsa_agent_t agent) { agent_info->dev_id = agent; agent_info->dev_type = HSA_DEVICE_TYPE_GPU; hsa_api_.hsa_agent_get_info(agent, HSA_AGENT_INFO_NAME, agent_info->name); - const int gfxip_label_len = std::min (strlen(agent_info->name) - 2, sizeof (agent_info->gfxip) - 1); + const int gfxip_label_len = + std::min(strlen(agent_info->name) - 2, sizeof(agent_info->gfxip) - 1); memcpy(agent_info->gfxip, agent_info->name, gfxip_label_len); agent_info->gfxip[gfxip_label_len] = '\0'; hsa_api_.hsa_agent_get_info(agent, HSA_AGENT_INFO_WAVEFRONT_SIZE, &agent_info->max_wave_size); hsa_api_.hsa_agent_get_info(agent, HSA_AGENT_INFO_QUEUE_MAX_SIZE, &agent_info->max_queue_size); hsa_api_.hsa_agent_get_info(agent, HSA_AGENT_INFO_PROFILE, &agent_info->profile); agent_info->is_apu = (agent_info->profile == HSA_PROFILE_FULL) ? true : false; - hsa_api_.hsa_agent_get_info(agent, static_cast(HSA_AMD_AGENT_INFO_COMPUTE_UNIT_COUNT), - &agent_info->cu_num); - hsa_api_.hsa_agent_get_info(agent, static_cast(HSA_AMD_AGENT_INFO_MAX_WAVES_PER_CU), - &agent_info->waves_per_cu); - hsa_api_.hsa_agent_get_info(agent, static_cast(HSA_AMD_AGENT_INFO_NUM_SIMDS_PER_CU), - &agent_info->simds_per_cu); - hsa_api_.hsa_agent_get_info(agent, static_cast(HSA_AMD_AGENT_INFO_NUM_SHADER_ENGINES), - &agent_info->se_num); + hsa_api_.hsa_agent_get_info( + agent, static_cast(HSA_AMD_AGENT_INFO_COMPUTE_UNIT_COUNT), + &agent_info->cu_num); hsa_api_.hsa_agent_get_info(agent, - static_cast(HSA_AMD_AGENT_INFO_NUM_SHADER_ARRAYS_PER_SE), - &agent_info->shader_arrays_per_se); + static_cast(HSA_AMD_AGENT_INFO_MAX_WAVES_PER_CU), + &agent_info->waves_per_cu); + hsa_api_.hsa_agent_get_info(agent, + static_cast(HSA_AMD_AGENT_INFO_NUM_SIMDS_PER_CU), + &agent_info->simds_per_cu); + hsa_api_.hsa_agent_get_info( + agent, static_cast(HSA_AMD_AGENT_INFO_NUM_SHADER_ENGINES), + &agent_info->se_num); + hsa_api_.hsa_agent_get_info( + agent, static_cast(HSA_AMD_AGENT_INFO_NUM_SHADER_ARRAYS_PER_SE), + &agent_info->shader_arrays_per_se); agent_info->cpu_pool = {}; agent_info->kern_arg_pool = {}; - status = hsa_api_.hsa_amd_agent_iterate_memory_pools(agent, FindStandardPool, &agent_info->gpu_pool); + status = + hsa_api_.hsa_amd_agent_iterate_memory_pools(agent, FindStandardPool, &agent_info->gpu_pool); CHECK_ITER_STATUS("hsa_amd_agent_iterate_memory_pools(gpu pool)", status); // GFX8 and GFX9 SGPR/VGPR block sizes @@ -435,7 +460,7 @@ bool HsaRsrcFactory::CreateQueue(const AgentInfo* agent_info, uint32_t num_pkts, hsa_queue_t** queue) { hsa_status_t status; status = hsa_api_.hsa_queue_create(agent_info->dev_id, num_pkts, HSA_QUEUE_TYPE_MULTI, NULL, NULL, - UINT32_MAX, UINT32_MAX, queue); + UINT32_MAX, UINT32_MAX, queue); return (status == HSA_STATUS_SUCCESS); } @@ -458,7 +483,8 @@ uint8_t* HsaRsrcFactory::AllocateLocalMemory(const AgentInfo* agent_info, size_t hsa_status_t status = HSA_STATUS_ERROR; uint8_t* buffer = NULL; size = (size + MEM_PAGE_MASK) & ~MEM_PAGE_MASK; - status = hsa_api_.hsa_amd_memory_pool_allocate(agent_info->gpu_pool, size, 0, reinterpret_cast(&buffer)); + status = hsa_api_.hsa_amd_memory_pool_allocate(agent_info->gpu_pool, size, 0, + reinterpret_cast(&buffer)); uint8_t* ptr = (status == HSA_STATUS_SUCCESS) ? buffer : NULL; return ptr; } @@ -473,7 +499,8 @@ uint8_t* HsaRsrcFactory::AllocateKernArgMemory(const AgentInfo* agent_info, size uint8_t* buffer = NULL; if (!cpu_agents_.empty()) { size = (size + MEM_PAGE_MASK) & ~MEM_PAGE_MASK; - status = hsa_api_.hsa_amd_memory_pool_allocate(*kern_arg_pool_, size, 0, reinterpret_cast(&buffer)); + status = hsa_api_.hsa_amd_memory_pool_allocate(*kern_arg_pool_, size, 0, + reinterpret_cast(&buffer)); // Both the CPU and GPU can access the kernel arguments if (status == HSA_STATUS_SUCCESS) { hsa_agent_t ag_list[1] = {agent_info->dev_id}; @@ -493,7 +520,8 @@ uint8_t* HsaRsrcFactory::AllocateSysMemory(const AgentInfo* agent_info, size_t s uint8_t* buffer = NULL; size = (size + MEM_PAGE_MASK) & ~MEM_PAGE_MASK; if (!cpu_agents_.empty()) { - status = hsa_api_.hsa_amd_memory_pool_allocate(*cpu_pool_, size, 0, reinterpret_cast(&buffer)); + status = hsa_api_.hsa_amd_memory_pool_allocate(*cpu_pool_, size, 0, + reinterpret_cast(&buffer)); // Both the CPU and GPU can access the memory if (status == HSA_STATUS_SUCCESS) { hsa_agent_t ag_list[1] = {agent_info->dev_id}; @@ -518,16 +546,18 @@ uint8_t* HsaRsrcFactory::AllocateCmdMemory(const AgentInfo* agent_info, size_t s } // Wait signal -hsa_signal_value_t HsaRsrcFactory::SignalWait(const hsa_signal_t& signal, const hsa_signal_value_t& signal_value) const { +hsa_signal_value_t HsaRsrcFactory::SignalWait(const hsa_signal_t& signal, + const hsa_signal_value_t& signal_value) const { const hsa_signal_value_t exp_value = signal_value - 1; hsa_signal_value_t ret_value = signal_value; while (1) { - ret_value = - hsa_api_.hsa_signal_wait_scacquire(signal, HSA_SIGNAL_CONDITION_LT, signal_value, timeout_, HSA_WAIT_STATE_BLOCKED); + ret_value = hsa_api_.hsa_signal_wait_scacquire(signal, HSA_SIGNAL_CONDITION_LT, signal_value, + timeout_, HSA_WAIT_STATE_BLOCKED); if (ret_value == exp_value) break; if (ret_value != signal_value) { std::cerr << "Error: HsaRsrcFactory::SignalWait: signal_value(" << signal_value - << "), ret_value(" << ret_value << ")" << std::endl << std::flush; + << "), ret_value(" << ret_value << ")" << std::endl + << std::flush; abort(); } } @@ -535,7 +565,8 @@ hsa_signal_value_t HsaRsrcFactory::SignalWait(const hsa_signal_t& signal, const } // Wait signal with signal value restore -void HsaRsrcFactory::SignalWaitRestore(const hsa_signal_t& signal, const hsa_signal_value_t& signal_value) const { +void HsaRsrcFactory::SignalWaitRestore(const hsa_signal_t& signal, + const hsa_signal_value_t& signal_value) const { SignalWait(signal, signal_value); hsa_api_.hsa_signal_store_relaxed(const_cast(signal), signal_value); } @@ -599,13 +630,13 @@ bool HsaRsrcFactory::LoadAndFinalize(const AgentInfo* agent_info, const char* br } // Create executable. - status = hsa_api_.hsa_executable_create_alt(HSA_PROFILE_FULL, HSA_DEFAULT_FLOAT_ROUNDING_MODE_DEFAULT, - NULL, executable); + status = hsa_api_.hsa_executable_create_alt( + HSA_PROFILE_FULL, HSA_DEFAULT_FLOAT_ROUNDING_MODE_DEFAULT, NULL, executable); CHECK_STATUS("Error in creating executable object", status); // Load code object. - status = hsa_api_.hsa_executable_load_agent_code_object(*executable, agent_info->dev_id, code_obj_rdr, - NULL, NULL); + status = hsa_api_.hsa_executable_load_agent_code_object(*executable, agent_info->dev_id, + code_obj_rdr, NULL, NULL); CHECK_STATUS("Error in loading executable object", status); // Freeze executable. @@ -615,7 +646,7 @@ bool HsaRsrcFactory::LoadAndFinalize(const AgentInfo* agent_info, const char* br // Get symbol handle. hsa_executable_symbol_t kernelSymbol; status = hsa_api_.hsa_executable_get_symbol(*executable, NULL, kernel_name, agent_info->dev_id, 0, - &kernelSymbol); + &kernelSymbol); CHECK_STATUS("Error in looking up kernel symbol", status); // Update output parameter @@ -659,7 +690,8 @@ uint64_t HsaRsrcFactory::Submit(hsa_queue_t* queue, const void* packet) { } uint32_t slot_idx = (uint32_t)(write_idx % queue->size); - uint32_t* queue_slot = reinterpret_cast((uintptr_t)(queue->base_address) + (slot_idx * slot_size_b)); + uint32_t* queue_slot = + reinterpret_cast((uintptr_t)(queue->base_address) + (slot_idx * slot_size_b)); const uint32_t* slot_data = reinterpret_cast(packet); // Copy buffered commands into the queue slot. @@ -709,18 +741,22 @@ void HsaRsrcFactory::EnableExecutableTracking(HsaApiTable* table) { table->core_->hsa_executable_freeze_fn = hsa_executable_freeze_interceptor; } -hsa_status_t HsaRsrcFactory::executable_symbols_cb(hsa_executable_t exec, hsa_executable_symbol_t symbol, void *data) { +hsa_status_t HsaRsrcFactory::executable_symbols_cb(hsa_executable_t exec, + hsa_executable_symbol_t symbol, void* data) { hsa_symbol_kind_t value = (hsa_symbol_kind_t)0; - hsa_status_t status = hsa_api_.hsa_executable_symbol_get_info(symbol, HSA_EXECUTABLE_SYMBOL_INFO_TYPE, &value); + hsa_status_t status = + hsa_api_.hsa_executable_symbol_get_info(symbol, HSA_EXECUTABLE_SYMBOL_INFO_TYPE, &value); CHECK_STATUS("Error in getting symbol info", status); if (value == HSA_SYMBOL_KIND_KERNEL) { uint64_t addr = 0; uint32_t len = 0; - status = hsa_api_.hsa_executable_symbol_get_info(symbol, HSA_EXECUTABLE_SYMBOL_INFO_KERNEL_OBJECT, &addr); + status = hsa_api_.hsa_executable_symbol_get_info( + symbol, HSA_EXECUTABLE_SYMBOL_INFO_KERNEL_OBJECT, &addr); CHECK_STATUS("Error in getting kernel object", status); - status = hsa_api_.hsa_executable_symbol_get_info(symbol, HSA_EXECUTABLE_SYMBOL_INFO_NAME_LENGTH, &len); + status = hsa_api_.hsa_executable_symbol_get_info(symbol, HSA_EXECUTABLE_SYMBOL_INFO_NAME_LENGTH, + &len); CHECK_STATUS("Error in getting name len", status); - char *name = new char[len + 1]; + char* name = new char[len + 1]; status = hsa_api_.hsa_executable_symbol_get_info(symbol, HSA_EXECUTABLE_SYMBOL_INFO_NAME, name); CHECK_STATUS("Error in getting kernel name", status); name[len] = 0; @@ -733,12 +769,15 @@ hsa_status_t HsaRsrcFactory::executable_symbols_cb(hsa_executable_t exec, hsa_ex return HSA_STATUS_SUCCESS; } -hsa_status_t HsaRsrcFactory::hsa_executable_freeze_interceptor(hsa_executable_t executable, const char *options) { +hsa_status_t HsaRsrcFactory::hsa_executable_freeze_interceptor(hsa_executable_t executable, + const char* options) { std::lock_guard lck(mutex_); if (symbols_map_ == NULL) symbols_map_ = new symbols_map_t; - hsa_status_t status = hsa_api_.hsa_executable_iterate_symbols(executable, executable_symbols_cb, NULL); + hsa_status_t status = + hsa_api_.hsa_executable_iterate_symbols(executable, executable_symbols_cb, NULL); CHECK_STATUS("Error in iterating executable symbols", status); - return hsa_api_.hsa_executable_freeze(executable, options);; + return hsa_api_.hsa_executable_freeze(executable, options); + ; } void HsaRsrcFactory::DumpHandles(FILE* file) { @@ -746,10 +785,14 @@ void HsaRsrcFactory::DumpHandles(FILE* file) { auto end = agent_map_.end(); for (auto it = beg; it != end; ++it) { const AgentInfo* agent_info = it->second; - fprintf(file, "0x%lx agent %s\n", agent_info->dev_id.handle, (agent_info->dev_type == HSA_DEVICE_TYPE_CPU) ? "cpu" : "gpu"); - if (agent_info->cpu_pool.handle != 0) fprintf(file, "0x%lx pool cpu\n", agent_info->cpu_pool.handle); - if (agent_info->kern_arg_pool.handle != 0) fprintf(file, "0x%lx pool cpu kernarg\n", agent_info->kern_arg_pool.handle); - if (agent_info->gpu_pool.handle != 0) fprintf(file, "0x%lx pool gpu%u\n", agent_info->gpu_pool.handle, agent_info->dev_index); + fprintf(file, "0x%lx agent %s\n", agent_info->dev_id.handle, + (agent_info->dev_type == HSA_DEVICE_TYPE_CPU) ? "cpu" : "gpu"); + if (agent_info->cpu_pool.handle != 0) + fprintf(file, "0x%lx pool cpu\n", agent_info->cpu_pool.handle); + if (agent_info->kern_arg_pool.handle != 0) + fprintf(file, "0x%lx pool cpu kernarg\n", agent_info->kern_arg_pool.handle); + if (agent_info->gpu_pool.handle != 0) + fprintf(file, "0x%lx pool gpu%u\n", agent_info->gpu_pool.handle, agent_info->dev_index); } fflush(file); } diff --git a/src/util/hsa_rsrc_factory.h b/src/util/hsa_rsrc_factory.h index 9ed0025c59..325a3c9042 100644 --- a/src/util/hsa_rsrc_factory.h +++ b/src/util/hsa_rsrc_factory.h @@ -44,23 +44,25 @@ #define HSA_QUEUE_ALIGN_BYTES 64 #define HSA_PACKET_ALIGN_BYTES 64 -#define CHECK_STATUS(msg, status) do { \ - if ((status) != HSA_STATUS_SUCCESS) { \ - const char* emsg = 0; \ - hsa_status_string(status, &emsg); \ - printf("%s: %s\n", msg, emsg ? emsg : ""); \ - abort(); \ - } \ -} while (0) +#define CHECK_STATUS(msg, status) \ + do { \ + if ((status) != HSA_STATUS_SUCCESS) { \ + const char* emsg = 0; \ + hsa_status_string(status, &emsg); \ + printf("%s: %s\n", msg, emsg ? emsg : ""); \ + abort(); \ + } \ + } while (0) -#define CHECK_ITER_STATUS(msg, status) do { \ - if ((status) != HSA_STATUS_INFO_BREAK) { \ - const char* emsg = 0; \ - hsa_status_string(status, &emsg); \ - printf("%s: %s\n", msg, emsg ? emsg : ""); \ - abort(); \ - } \ -} while (0) +#define CHECK_ITER_STATUS(msg, status) \ + do { \ + if ((status) != HSA_STATUS_INFO_BREAK) { \ + const char* emsg = 0; \ + hsa_status_string(status, &emsg); \ + printf("%s: %s\n", msg, emsg ? emsg : ""); \ + abort(); \ + } \ + } while (0) namespace util { static const size_t MEM_PAGE_BYTES = 0x1000; @@ -174,15 +176,12 @@ class HsaTimer { static const timestamp_t TIMESTAMP_MAX = UINT64_MAX; typedef long double freq_t; - enum time_id_t { - TIME_ID_CLOCK_REALTIME = 0, - TIME_ID_CLOCK_MONOTONIC = 1, - TIME_ID_NUMBER - }; + enum time_id_t { TIME_ID_CLOCK_REALTIME = 0, TIME_ID_CLOCK_MONOTONIC = 1, TIME_ID_NUMBER }; HsaTimer(const hsa_pfn_t* hsa_api) : hsa_api_(hsa_api) { timestamp_t sysclock_hz = 0; - hsa_status_t status = hsa_api_->hsa_system_get_info(HSA_SYSTEM_INFO_TIMESTAMP_FREQUENCY, &sysclock_hz); + hsa_status_t status = + hsa_api_->hsa_system_get_info(HSA_SYSTEM_INFO_TIMESTAMP_FREQUENCY, &sysclock_hz); CHECK_STATUS("hsa_system_get_info(HSA_SYSTEM_INFO_TIMESTAMP_FREQUENCY)", status); sysclock_factor_ = (freq_t)1000000000 / (freq_t)sysclock_hz; } @@ -217,8 +216,8 @@ class HsaTimer { // Return pair of correlated values of profiling timestamp and time with // correlation error for a given time ID and number of iterations - void correlated_pair_ns(time_id_t time_id, uint32_t iters, - timestamp_t* timestamp_v, timestamp_t* time_v, timestamp_t* error_v) const { + void correlated_pair_ns(time_id_t time_id, uint32_t iters, timestamp_t* timestamp_v, + timestamp_t* time_v, timestamp_t* error_v) const { clockid_t clock_id = 0; switch (time_id) { case TIME_ID_CLOCK_REALTIME: @@ -357,7 +356,8 @@ class HsaRsrcFactory { uint8_t* AllocateCmdMemory(const AgentInfo* agent_info, size_t size); // Wait signal - hsa_signal_value_t SignalWait(const hsa_signal_t& signal, const hsa_signal_value_t& signal_value) const; + hsa_signal_value_t SignalWait(const hsa_signal_t& signal, + const hsa_signal_value_t& signal_value) const; // Wait signal with signal value restore void SignalWaitRestore(const hsa_signal_t& signal, const hsa_signal_value_t& signal_value) const; @@ -403,7 +403,9 @@ class HsaRsrcFactory { const hsa_ven_amd_loader_1_00_pfn_t* LoaderApi() const { return &loader_api_; } // Methods for system-clock/ns conversion and timestamp in 'ns' - timestamp_t SysclockToNs(const timestamp_t& sysclock) const { return timer_->sysclock_to_ns(sysclock); } + timestamp_t SysclockToNs(const timestamp_t& sysclock) const { + return timer_->sysclock_to_ns(sysclock); + } timestamp_t NsToSysclock(const timestamp_t& time) const { return timer_->ns_to_sysclock(time); } timestamp_t TimestampNs() const { return timer_->timestamp_ns(); } @@ -482,8 +484,10 @@ class HsaRsrcFactory { typedef std::map symbols_map_t; static symbols_map_t* symbols_map_; static bool executable_tracking_on_; - static hsa_status_t hsa_executable_freeze_interceptor(hsa_executable_t executable, const char *options); - static hsa_status_t executable_symbols_cb(hsa_executable_t exec, hsa_executable_symbol_t symbol, void *data); + static hsa_status_t hsa_executable_freeze_interceptor(hsa_executable_t executable, + const char* options); + static hsa_status_t executable_symbols_cb(hsa_executable_t exec, hsa_executable_symbol_t symbol, + void* data); // HSA runtime API table static hsa_pfn_t hsa_api_; @@ -507,8 +511,8 @@ class HsaRsrcFactory { timestamp_t time_error_[HsaTimer::TIME_ID_NUMBER]; // CPU/kern-arg memory pools - hsa_amd_memory_pool_t *cpu_pool_; - hsa_amd_memory_pool_t *kern_arg_pool_; + hsa_amd_memory_pool_t* cpu_pool_; + hsa_amd_memory_pool_t* kern_arg_pool_; }; } // namespace util diff --git a/src/util/logger.h b/src/util/logger.h index 37e1c3ec31..e4927df2f0 100644 --- a/src/util/logger.h +++ b/src/util/logger.h @@ -168,32 +168,32 @@ class Logger { } // namespace roctracer #define ERR_LOGGING(stream) \ - do { \ - roctracer::util::Logger::Instance() << "error: " << roctracer::util::Logger::begm \ - << stream << roctracer::util::Logger::endl; \ - } while(0) + do { \ + roctracer::util::Logger::Instance() \ + << "error: " << roctracer::util::Logger::begm << stream << roctracer::util::Logger::endl; \ + } while (0) #define INFO_LOGGING(stream) \ - do { \ - roctracer::util::Logger::Instance() << "info: " << roctracer::util::Logger::begm << stream \ - << roctracer::util::Logger::endl; \ - } while(0) + do { \ + roctracer::util::Logger::Instance() \ + << "info: " << roctracer::util::Logger::begm << stream << roctracer::util::Logger::endl; \ + } while (0) #define WARN_LOGGING(stream) \ - do { \ - std::cerr << "ROCProfiler: " << stream << std::endl; \ - roctracer::util::Logger::Instance() << "warning: " << roctracer::util::Logger::begm << stream \ - << roctracer::util::Logger::endl; \ - } while(0) + do { \ + std::cerr << "ROCProfiler: " << stream << std::endl; \ + roctracer::util::Logger::Instance() << "warning: " << roctracer::util::Logger::begm << stream \ + << roctracer::util::Logger::endl; \ + } while (0) #ifdef DEBUG #define DBG_LOGGING(stream) \ - do { \ - roctracer::util::Logger::Instance() << roctracer::util::Logger::begm << "debug: \"" \ - << stream << "\"" < < < < \ + do { \ + roctracer::util::Logger::Instance() \ + << roctracer::util::Logger::begm << "debug: \"" << stream << "\"" < < < < \ " in " << __FUNCTION__ << " at " << __FILE__ << " line " << __LINE__ \ - << roctracer::util::Logger::endl; \ - } while(0) + << roctracer::util::Logger::endl; \ + } while (0) #endif #if DEBUG_TRACE_ON @@ -204,8 +204,8 @@ inline static void DEBUG_TRACE(const char* fmt, ...) { va_list valist; va_start(valist, fmt); vsnprintf(buf, size, fmt, valist); - printf("%u:%u %s", - roctracer::util::Logger::GetPid(), roctracer::util::Logger::GetTid(), buf); fflush(stdout); + printf("%u:%u %s", roctracer::util::Logger::GetPid(), roctracer::util::Logger::GetTid(), buf); + fflush(stdout); va_end(valist); } #else diff --git a/test/MatrixTranspose/MatrixTranspose.cpp b/test/MatrixTranspose/MatrixTranspose.cpp index c50b67d2e2..95d699f341 100644 --- a/test/MatrixTranspose/MatrixTranspose.cpp +++ b/test/MatrixTranspose/MatrixTranspose.cpp @@ -37,57 +37,56 @@ #define THREADS_PER_BLOCK_Z 1 // Mark API -extern "C" -void roctracer_mark(const char* str); +extern "C" void roctracer_mark(const char* str); // Device (Kernel) function, it must be void __global__ void matrixTranspose(float* out, float* in, const int width) { - int x = hipBlockDim_x * hipBlockIdx_x + hipThreadIdx_x; - int y = hipBlockDim_y * hipBlockIdx_y + hipThreadIdx_y; + int x = hipBlockDim_x * hipBlockIdx_x + hipThreadIdx_x; + int y = hipBlockDim_y * hipBlockIdx_y + hipThreadIdx_y; - out[y * width + x] = in[x * width + y]; + out[y * width + x] = in[x * width + y]; } // CPU implementation of matrix transpose void matrixTransposeCPUReference(float* output, float* input, const unsigned int width) { - for (unsigned int j = 0; j < width; j++) { - for (unsigned int i = 0; i < width; i++) { - output[i * width + j] = input[j * width + i]; - } + for (unsigned int j = 0; j < width; j++) { + for (unsigned int i = 0; i < width; i++) { + output[i * width + j] = input[j * width + i]; } + } } int main() { - float* Matrix; - float* TransposeMatrix; - float* cpuTransposeMatrix; + float* Matrix; + float* TransposeMatrix; + float* cpuTransposeMatrix; - float* gpuMatrix; - float* gpuTransposeMatrix; + float* gpuMatrix; + float* gpuTransposeMatrix; - hipDeviceProp_t devProp; - hipGetDeviceProperties(&devProp, 0); + hipDeviceProp_t devProp; + hipGetDeviceProperties(&devProp, 0); - std::cout << "Device name " << devProp.name << std::endl; + std::cout << "Device name " << devProp.name << std::endl; - int i; - int errors; + int i; + int errors; - Matrix = (float*)malloc(NUM * sizeof(float)); - TransposeMatrix = (float*)malloc(NUM * sizeof(float)); - cpuTransposeMatrix = (float*)malloc(NUM * sizeof(float)); + Matrix = (float*)malloc(NUM * sizeof(float)); + TransposeMatrix = (float*)malloc(NUM * sizeof(float)); + cpuTransposeMatrix = (float*)malloc(NUM * sizeof(float)); - // initialize the input data - for (i = 0; i < NUM; i++) { - Matrix[i] = (float)i * 10.0f; - } + // initialize the input data + for (i = 0; i < NUM; i++) { + Matrix[i] = (float)i * 10.0f; + } - // allocate the memory on the device side - hipMalloc((void**)&gpuMatrix, NUM * sizeof(float)); - hipMalloc((void**)&gpuTransposeMatrix, NUM * sizeof(float)); + // allocate the memory on the device side + hipMalloc((void**)&gpuMatrix, NUM * sizeof(float)); + hipMalloc((void**)&gpuTransposeMatrix, NUM * sizeof(float)); - uint32_t iterations = 100; - while (iterations-- > 0) { + uint32_t iterations = 100; + while (iterations-- > 0) { std::cout << "## Iteration (" << iterations << ") #################" << std::endl; // Memory transfer from host to device @@ -98,9 +97,9 @@ int main() { int rangeId = roctxRangeStart("hipLaunchKernel range"); roctxRangePush("hipLaunchKernel"); // Lauching kernel from host - hipLaunchKernelGGL(matrixTranspose, dim3(WIDTH / THREADS_PER_BLOCK_X, WIDTH / THREADS_PER_BLOCK_Y), - dim3(THREADS_PER_BLOCK_X, THREADS_PER_BLOCK_Y), 0, 0, gpuTransposeMatrix, - gpuMatrix, WIDTH); + hipLaunchKernelGGL( + matrixTranspose, dim3(WIDTH / THREADS_PER_BLOCK_X, WIDTH / THREADS_PER_BLOCK_Y), + dim3(THREADS_PER_BLOCK_X, THREADS_PER_BLOCK_Y), 0, 0, gpuTransposeMatrix, gpuMatrix, WIDTH); roctracer_mark("after HIP LaunchKernel"); roctxMark("after hipLaunchKernel"); @@ -109,8 +108,8 @@ int main() { hipMemcpy(TransposeMatrix, gpuTransposeMatrix, NUM * sizeof(float), hipMemcpyDeviceToHost); - roctxRangePop(); // for "hipMemcpy" - roctxRangePop(); // for "hipLaunchKernel" + roctxRangePop(); // for "hipMemcpy" + roctxRangePop(); // for "hipLaunchKernel" roctxRangeStop(rangeId); // CPU MatrixTranspose computation @@ -120,26 +119,25 @@ int main() { errors = 0; double eps = 1.0E-6; for (i = 0; i < NUM; i++) { - if (std::abs(TransposeMatrix[i] - cpuTransposeMatrix[i]) > eps) { - errors++; - } + if (std::abs(TransposeMatrix[i] - cpuTransposeMatrix[i]) > eps) { + errors++; + } } if (errors != 0) { - printf("FAILED: %d errors\n", errors); + printf("FAILED: %d errors\n", errors); } else { - printf("PASSED!\n"); + printf("PASSED!\n"); } + } - } + // free the resources on device side + hipFree(gpuMatrix); + hipFree(gpuTransposeMatrix); - // free the resources on device side - hipFree(gpuMatrix); - hipFree(gpuTransposeMatrix); + // free the resources on host side + free(Matrix); + free(TransposeMatrix); + free(cpuTransposeMatrix); - // free the resources on host side - free(Matrix); - free(TransposeMatrix); - free(cpuTransposeMatrix); - - return errors; + return errors; } diff --git a/test/MatrixTranspose_test/MatrixTranspose.cpp b/test/MatrixTranspose_test/MatrixTranspose.cpp index 86f14e2e65..b3a607a32c 100644 --- a/test/MatrixTranspose_test/MatrixTranspose.cpp +++ b/test/MatrixTranspose_test/MatrixTranspose.cpp @@ -45,7 +45,7 @@ static char* message = NULL; #endif void SPRINT(const char* fmt, ...) { if (msg_buf == NULL) { - msg_buf = (char*) calloc(msg_size, 1); + msg_buf = (char*)calloc(msg_size, 1); message = msg_buf; } @@ -66,13 +66,18 @@ void SFLUSH() { // hip header file #include // Macro to call HIP API -#define HIP_CALL(call) do { call; } while(0) +#define HIP_CALL(call) \ + do { \ + call; \ + } while (0) #else -#define HIP_CALL(call) do {} while(0) +#define HIP_CALL(call) \ + do { \ + } while (0) #endif #ifndef ITERATIONS -# define ITERATIONS 101 +#define ITERATIONS 101 #endif #define WIDTH 1024 #define NUM (WIDTH * WIDTH) @@ -83,20 +88,20 @@ void SFLUSH() { #if HIP_TEST // Device (Kernel) function, it must be void __global__ void matrixTranspose(float* out, float* in, const int width) { - int x = hipBlockDim_x * hipBlockIdx_x + hipThreadIdx_x; - int y = hipBlockDim_y * hipBlockIdx_y + hipThreadIdx_y; + int x = hipBlockDim_x * hipBlockIdx_x + hipThreadIdx_x; + int y = hipBlockDim_y * hipBlockIdx_y + hipThreadIdx_y; - out[y * width + x] = in[x * width + y]; + out[y * width + x] = in[x * width + y]; } #endif // CPU implementation of matrix transpose void matrixTransposeCPUReference(float* output, float* input, const unsigned int width) { - for (unsigned int j = 0; j < width; j++) { - for (unsigned int i = 0; i < width; i++) { - output[i * width + j] = input[j * width + i]; - } + for (unsigned int j = 0; j < width; j++) { + for (unsigned int i = 0; i < width; i++) { + output[i * width + j] = input[j * width + i]; } + } } int iterations = ITERATIONS; @@ -105,28 +110,28 @@ void start_tracing(); void stop_tracing(); int main() { - float* Matrix; - float* TransposeMatrix; - float* cpuTransposeMatrix; + float* Matrix; + float* TransposeMatrix; + float* cpuTransposeMatrix; - float* gpuMatrix; - float* gpuTransposeMatrix; + float* gpuMatrix; + float* gpuTransposeMatrix; - int i; - int errors; + int i; + int errors; - init_tracing(); + init_tracing(); #if HIP_TEST - int gpuCount = 1; + int gpuCount = 1; #if MGPU_TEST - hipGetDeviceCount(&gpuCount); - printf("Number of GPUs: %d\n", gpuCount); + hipGetDeviceCount(&gpuCount); + printf("Number of GPUs: %d\n", gpuCount); #endif - iterations *= gpuCount; + iterations *= gpuCount; #endif - while (iterations-- > 0) { + while (iterations-- > 0) { start_tracing(); #if HIP_TEST @@ -145,7 +150,7 @@ int main() { // initialize the input data for (i = 0; i < NUM; i++) { - Matrix[i] = (float)i * 10.0f; + Matrix[i] = (float)i * 10.0f; } // allocate the memory on the device side @@ -167,9 +172,10 @@ int main() { roctxRangePush("hipLaunchKernel"); // Lauching kernel from host - HIP_CALL(hipLaunchKernelGGL(matrixTranspose, dim3(WIDTH / THREADS_PER_BLOCK_X, WIDTH / THREADS_PER_BLOCK_Y), - dim3(THREADS_PER_BLOCK_X, THREADS_PER_BLOCK_Y), 0, 0, gpuTransposeMatrix, - gpuMatrix, WIDTH)); + HIP_CALL(hipLaunchKernelGGL(matrixTranspose, + dim3(WIDTH / THREADS_PER_BLOCK_X, WIDTH / THREADS_PER_BLOCK_Y), + dim3(THREADS_PER_BLOCK_X, THREADS_PER_BLOCK_Y), 0, 0, + gpuTransposeMatrix, gpuMatrix, WIDTH)); roctxMark("after hipLaunchKernel"); @@ -179,10 +185,11 @@ int main() { // Memory transfer from device to host roctxRangePush("hipMemcpy"); - HIP_CALL(hipMemcpy(TransposeMatrix, gpuTransposeMatrix, NUM * sizeof(float), hipMemcpyDeviceToHost)); + HIP_CALL( + hipMemcpy(TransposeMatrix, gpuTransposeMatrix, NUM * sizeof(float), hipMemcpyDeviceToHost)); - roctxRangePop(); // for "hipMemcpy" - roctxRangePop(); // for "hipLaunchKernel" + roctxRangePop(); // for "hipMemcpy" + roctxRangePop(); // for "hipLaunchKernel" // correlation reagion end roctracer_activity_pop_external_correlation_id(NULL); @@ -194,15 +201,15 @@ int main() { errors = 0; double eps = 1.0E-6; for (i = 0; i < NUM; i++) { - if (abs(TransposeMatrix[i] - cpuTransposeMatrix[i]) > eps) { - errors++; - } + if (abs(TransposeMatrix[i] - cpuTransposeMatrix[i]) > eps) { + errors++; + } } if ((HIP_TEST != 0) && (errors != 0)) { - printf("FAILED: %d errors\n", errors); + printf("FAILED: %d errors\n", errors); } else { - errors = 0; - printf("PASSED!\n"); + errors = 0; + printf("PASSED!\n"); } // free the resources on device side @@ -218,11 +225,11 @@ int main() { free(Matrix); free(TransposeMatrix); free(cpuTransposeMatrix); - } + } - stop_tracing(); + stop_tracing(); - return errors; + return errors; } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// @@ -234,15 +241,15 @@ int main() { #include #include -#include -#include /* For SYS_xxx definitions */ +#include +#include /* For SYS_xxx definitions */ // Macro to check ROC-tracer calls status #define ROCTRACER_CALL(call) \ do { \ int err = call; \ if (err != 0) { \ - fprintf(stderr, "%s\n", roctracer_error_string()); \ + fprintf(stderr, "%s\n", roctracer_error_string()); \ abort(); \ } \ } while (0) @@ -252,12 +259,7 @@ static inline uint32_t GetPid() { return syscall(__NR_getpid); } // Runtime API callback function -void api_callback( - uint32_t domain, - uint32_t cid, - const void* callback_data, - void* arg) -{ +void api_callback(uint32_t domain, uint32_t cid, const void* callback_data, void* arg) { (void)arg; if (domain == ACTIVITY_DOMAIN_ROCTX) { @@ -267,31 +269,25 @@ void api_callback( } const hip_api_data_t* data = (const hip_api_data_t*)(callback_data); SPRINT("<%s id(%u)\tcorrelation_id(%lu) %s pid(%d) tid(%d)> ", - roctracer_op_string(ACTIVITY_DOMAIN_HIP_API, cid, 0), - cid, - data->correlation_id, - (data->phase == ACTIVITY_API_PHASE_ENTER) ? "on-enter" : "on-exit", GetPid(), GetTid()); + roctracer_op_string(ACTIVITY_DOMAIN_HIP_API, cid, 0), cid, data->correlation_id, + (data->phase == ACTIVITY_API_PHASE_ENTER) ? "on-enter" : "on-exit", GetPid(), GetTid()); if (data->phase == ACTIVITY_API_PHASE_ENTER) { switch (cid) { case HIP_API_ID_hipMemcpy: - SPRINT("dst(%p) src(%p) size(0x%x) kind(%u)", - data->args.hipMemcpy.dst, - data->args.hipMemcpy.src, - (uint32_t)(data->args.hipMemcpy.sizeBytes), - (uint32_t)(data->args.hipMemcpy.kind)); + SPRINT("dst(%p) src(%p) size(0x%x) kind(%u)", data->args.hipMemcpy.dst, + data->args.hipMemcpy.src, (uint32_t)(data->args.hipMemcpy.sizeBytes), + (uint32_t)(data->args.hipMemcpy.kind)); break; case HIP_API_ID_hipMalloc: - SPRINT("ptr(%p) size(0x%x)", - data->args.hipMalloc.ptr, - (uint32_t)(data->args.hipMalloc.size)); + SPRINT("ptr(%p) size(0x%x)", data->args.hipMalloc.ptr, + (uint32_t)(data->args.hipMalloc.size)); break; case HIP_API_ID_hipFree: SPRINT("ptr(%p)", data->args.hipFree.ptr); break; case HIP_API_ID_hipModuleLaunchKernel: - SPRINT("kernel(\"%s\") stream(%p)", - hipKernelNameRef(data->args.hipModuleLaunchKernel.f), - data->args.hipModuleLaunchKernel.stream); + SPRINT("kernel(\"%s\") stream(%p)", hipKernelNameRef(data->args.hipModuleLaunchKernel.f), + data->args.hipModuleLaunchKernel.stream); break; default: break; @@ -316,26 +312,17 @@ void activity_callback(const char* begin, const char* end, void* arg) { SPRINT("\tActivity records:\n"); while (record < end_record) { - const char * name = roctracer_op_string(record->domain, record->op, record->kind); - SPRINT("\t%s\tcorrelation_id(%lu) time_ns(%lu:%lu)", - name, - record->correlation_id, - record->begin_ns, - record->end_ns); + const char* name = roctracer_op_string(record->domain, record->op, record->kind); + SPRINT("\t%s\tcorrelation_id(%lu) time_ns(%lu:%lu)", name, record->correlation_id, + record->begin_ns, record->end_ns); if (record->domain == ACTIVITY_DOMAIN_HIP_API) { - SPRINT(" process_id(%u) thread_id(%u)", - record->process_id, - record->thread_id); + SPRINT(" process_id(%u) thread_id(%u)", record->process_id, record->thread_id); } else if (record->domain == ACTIVITY_DOMAIN_HCC_OPS) { - SPRINT(" device_id(%d) queue_id(%lu)", - record->device_id, - record->queue_id); + SPRINT(" device_id(%d) queue_id(%lu)", record->device_id, record->queue_id); if (record->op == HIP_OP_ID_COPY) SPRINT(" bytes(0x%zx)", record->bytes); } else if (record->domain == ACTIVITY_DOMAIN_HSA_OPS) { - SPRINT(" se(%u) cycle(%lu) pc(%lx)", - record->pc_sample.se, - record->pc_sample.cycle, - record->pc_sample.pc); + SPRINT(" se(%u) cycle(%lu) pc(%lx)", record->pc_sample.se, record->pc_sample.cycle, + record->pc_sample.pc); } else if (record->domain == ACTIVITY_DOMAIN_EXT_API) { SPRINT(" external_id(%lu)", record->external_id); } else { @@ -377,8 +364,10 @@ void init_tracing() { void start_tracing() { printf("# START (%d) #############################\n", iterations); // Start - if ((iterations & 1) == 1) roctracer_start(); - else roctracer_stop(); + if ((iterations & 1) == 1) + roctracer_start(); + else + roctracer_stop(); } // Stop tracing routine diff --git a/test/app/codeobj_test.cpp b/test/app/codeobj_test.cpp index f6a8416ccd..4593a8f4e9 100644 --- a/test/app/codeobj_test.cpp +++ b/test/app/codeobj_test.cpp @@ -43,19 +43,18 @@ void check_status(roctracer_status_t status) { void codeobj_callback(uint32_t domain, uint32_t cid, const void* data, void* arg) { const hsa_evt_data_t* evt_data = reinterpret_cast(data); const char* uri = evt_data->codeobj.uri; - printf("codeobj_callback domain(%u) cid(%u): load_base(0x%lx) load_size(0x%lx) load_delta(0x%lx) uri(\"%s\")\n", - domain, - cid, - evt_data->codeobj.load_base, - evt_data->codeobj.load_size, - evt_data->codeobj.load_delta, - uri); + printf( + "codeobj_callback domain(%u) cid(%u): load_base(0x%lx) load_size(0x%lx) load_delta(0x%lx) " + "uri(\"%s\")\n", + domain, cid, evt_data->codeobj.load_base, evt_data->codeobj.load_size, + evt_data->codeobj.load_delta, uri); free((void*)uri); fflush(stdout); } void initialize() { - roctracer_status_t status = roctracer_enable_op_callback(ACTIVITY_DOMAIN_HSA_EVT, HSA_EVT_ID_CODEOBJ, codeobj_callback, NULL); + roctracer_status_t status = roctracer_enable_op_callback( + ACTIVITY_DOMAIN_HSA_EVT, HSA_EVT_ID_CODEOBJ, codeobj_callback, NULL); check_status(status); } @@ -79,9 +78,8 @@ extern "C" PUBLIC_API void OnUnloadTool() { } extern "C" CONSTRUCTOR_API void constructor() { - printf("constructor\n"); fflush(stdout); + printf("constructor\n"); + fflush(stdout); } -extern "C" DESTRUCTOR_API void destructor() { - OnUnloadTool(); -} +extern "C" DESTRUCTOR_API void destructor() { OnUnloadTool(); } diff --git a/test/app/hsaco_test.cpp b/test/app/hsaco_test.cpp index 733e3c799a..2cc7c1e2cc 100644 --- a/test/app/hsaco_test.cpp +++ b/test/app/hsaco_test.cpp @@ -28,25 +28,24 @@ #define CONSTRUCTOR_API __attribute__((constructor)) #define DESTRUCTOR_API __attribute__((destructor)) -#define HSA_RT(call) \ - do { \ - const hsa_status_t status = call; \ - if (status != HSA_STATUS_SUCCESS) { \ - printf("error \"%s\"\n", #call); fflush(stdout); \ - abort(); \ - } \ - } while(0) +#define HSA_RT(call) \ + do { \ + const hsa_status_t status = call; \ + if (status != HSA_STATUS_SUCCESS) { \ + printf("error \"%s\"\n", #call); \ + fflush(stdout); \ + abort(); \ + } \ + } while (0) // HSA API intercepting primitives decltype(hsa_executable_freeze)* hsa_executable_freeze_fn; hsa_ven_amd_loader_1_01_pfn_t loader_api_table{}; -hsa_status_t code_object_callback( - hsa_executable_t executable, - hsa_loaded_code_object_t loaded_code_object, - void* arg) -{ - printf("code_object_callback\n"); fflush(stdout); +hsa_status_t code_object_callback(hsa_executable_t executable, + hsa_loaded_code_object_t loaded_code_object, void* arg) { + printf("code_object_callback\n"); + fflush(stdout); uint64_t load_base = 0; uint64_t load_size = 0; @@ -55,21 +54,13 @@ hsa_status_t code_object_callback( char* uri_str = NULL; HSA_RT(loader_api_table.hsa_ven_amd_loader_loaded_code_object_get_info( - loaded_code_object, - HSA_VEN_AMD_LOADER_LOADED_CODE_OBJECT_INFO_LOAD_BASE, - &load_base)); + loaded_code_object, HSA_VEN_AMD_LOADER_LOADED_CODE_OBJECT_INFO_LOAD_BASE, &load_base)); HSA_RT(loader_api_table.hsa_ven_amd_loader_loaded_code_object_get_info( - loaded_code_object, - HSA_VEN_AMD_LOADER_LOADED_CODE_OBJECT_INFO_LOAD_SIZE, - &load_size)); + loaded_code_object, HSA_VEN_AMD_LOADER_LOADED_CODE_OBJECT_INFO_LOAD_SIZE, &load_size)); HSA_RT(loader_api_table.hsa_ven_amd_loader_loaded_code_object_get_info( - loaded_code_object, - HSA_VEN_AMD_LOADER_LOADED_CODE_OBJECT_INFO_LOAD_DELTA, - &load_delta)); + loaded_code_object, HSA_VEN_AMD_LOADER_LOADED_CODE_OBJECT_INFO_LOAD_DELTA, &load_delta)); HSA_RT(loader_api_table.hsa_ven_amd_loader_loaded_code_object_get_info( - loaded_code_object, - HSA_VEN_AMD_LOADER_LOADED_CODE_OBJECT_INFO_URI_LENGTH, - &uri_len)); + loaded_code_object, HSA_VEN_AMD_LOADER_LOADED_CODE_OBJECT_INFO_URI_LENGTH, &uri_len)); uri_str = (char*)calloc(uri_len + 1, sizeof(char)); if (!uri_str) { @@ -78,63 +69,59 @@ hsa_status_t code_object_callback( } HSA_RT(loader_api_table.hsa_ven_amd_loader_loaded_code_object_get_info( - loaded_code_object, - HSA_VEN_AMD_LOADER_LOADED_CODE_OBJECT_INFO_URI, - uri_str)); + loaded_code_object, HSA_VEN_AMD_LOADER_LOADED_CODE_OBJECT_INFO_URI, uri_str)); - printf("load_base(0x%lx)\n", load_base); fflush(stdout); - printf("load_size(0x%lx)\n", load_size); fflush(stdout); - printf("load_delta(0x%lx)\n", load_delta); fflush(stdout); - printf("uri_len(%u)\n", uri_len); fflush(stdout); - printf("uri_str(\"%s\")\n", uri_str); fflush(stdout); + printf("load_base(0x%lx)\n", load_base); + fflush(stdout); + printf("load_size(0x%lx)\n", load_size); + fflush(stdout); + printf("load_delta(0x%lx)\n", load_delta); + fflush(stdout); + printf("uri_len(%u)\n", uri_len); + fflush(stdout); + printf("uri_str(\"%s\")\n", uri_str); + fflush(stdout); free(uri_str); return HSA_STATUS_SUCCESS; } -hsa_status_t hsa_executable_freeze_interceptor( - hsa_executable_t executable, - const char *options) -{ +hsa_status_t hsa_executable_freeze_interceptor(hsa_executable_t executable, const char* options) { HSA_RT(loader_api_table.hsa_ven_amd_loader_executable_iterate_loaded_code_objects( - executable, - code_object_callback, - NULL)); - HSA_RT(hsa_executable_freeze_fn( - executable, - options)); + executable, code_object_callback, NULL)); + HSA_RT(hsa_executable_freeze_fn(executable, options)); return HSA_STATUS_SUCCESS; } // HSA-runtime tool on-load method -extern "C" PUBLIC_API bool OnLoad(HsaApiTable* table, - uint64_t runtime_version, +extern "C" PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, uint64_t failed_tool_count, - const char* const* failed_tool_names) -{ - printf("OnLoad: begin\n"); fflush(stdout); + const char* const* failed_tool_names) { + printf("OnLoad: begin\n"); + fflush(stdout); // intercepting hsa_executable_freeze API hsa_executable_freeze_fn = table->core_->hsa_executable_freeze_fn; table->core_->hsa_executable_freeze_fn = hsa_executable_freeze_interceptor; // Fetching AMD Loader HSA extension API HSA_RT(hsa_system_get_major_extension_table( - HSA_EXTENSION_AMD_LOADER, - 1, - sizeof(hsa_ven_amd_loader_1_01_pfn_t), - &loader_api_table)); - printf("OnLoad: end\n"); fflush(stdout); + HSA_EXTENSION_AMD_LOADER, 1, sizeof(hsa_ven_amd_loader_1_01_pfn_t), &loader_api_table)); + printf("OnLoad: end\n"); + fflush(stdout); return true; } extern "C" PUBLIC_API void OnUnload() { - printf("OnUnload\n"); fflush(stdout); + printf("OnUnload\n"); + fflush(stdout); } extern "C" CONSTRUCTOR_API void constructor() { - printf("constructor\n"); fflush(stdout); + printf("constructor\n"); + fflush(stdout); } extern "C" DESTRUCTOR_API void destructor() { - printf("destructor\n"); fflush(stdout); + printf("destructor\n"); + fflush(stdout); } diff --git a/test/hsa/src/hsa_rsrc_factory.cpp b/test/hsa/src/hsa_rsrc_factory.cpp index 0c1b094bb6..66510fbaf0 100644 --- a/test/hsa/src/hsa_rsrc_factory.cpp +++ b/test/hsa/src/hsa_rsrc_factory.cpp @@ -67,13 +67,15 @@ static hsa_status_t FindGlobalPool(hsa_amd_memory_pool_t pool, void* data, bool return HSA_STATUS_ERROR_INVALID_ARGUMENT; } - err = HsaRsrcFactory::HsaApi()->hsa_amd_memory_pool_get_info(pool, HSA_AMD_MEMORY_POOL_INFO_SEGMENT, &segment); + err = HsaRsrcFactory::HsaApi()->hsa_amd_memory_pool_get_info( + pool, HSA_AMD_MEMORY_POOL_INFO_SEGMENT, &segment); CHECK_STATUS("hsa_amd_memory_pool_get_info", err); if (HSA_AMD_SEGMENT_GLOBAL != segment) { return HSA_STATUS_SUCCESS; } - err = HsaRsrcFactory::HsaApi()->hsa_amd_memory_pool_get_info(pool, HSA_AMD_MEMORY_POOL_INFO_GLOBAL_FLAGS, &flag); + err = HsaRsrcFactory::HsaApi()->hsa_amd_memory_pool_get_info( + pool, HSA_AMD_MEMORY_POOL_INFO_GLOBAL_FLAGS, &flag); CHECK_STATUS("hsa_amd_memory_pool_get_info", err); uint32_t karg_st = flag & HSA_AMD_MEMORY_POOL_GLOBAL_FLAG_KERNARG_INIT; @@ -126,19 +128,22 @@ HsaRsrcFactory::HsaRsrcFactory(bool initialize_hsa) : initialize_hsa_(initialize #ifdef ROCP_LD_AQLPROFILE status = LoadAqlProfileLib(&aqlprofile_api_); #else - status = hsa_api_.hsa_system_get_major_extension_table(HSA_EXTENSION_AMD_AQLPROFILE, hsa_ven_amd_aqlprofile_VERSION_MAJOR, sizeof(aqlprofile_api_), &aqlprofile_api_); + status = hsa_api_.hsa_system_get_major_extension_table(HSA_EXTENSION_AMD_AQLPROFILE, + hsa_ven_amd_aqlprofile_VERSION_MAJOR, + sizeof(aqlprofile_api_), &aqlprofile_api_); #endif CHECK_STATUS("aqlprofile API table load failed", status); // Get Loader API table loader_api_ = {0}; - status = hsa_api_.hsa_system_get_major_extension_table(HSA_EXTENSION_AMD_LOADER, 1, sizeof(loader_api_), &loader_api_); + status = hsa_api_.hsa_system_get_major_extension_table(HSA_EXTENSION_AMD_LOADER, 1, + sizeof(loader_api_), &loader_api_); CHECK_STATUS("loader API table query failed", status); // Instantiate HSA timer timer_ = new HsaTimer(&hsa_api_); CHECK_STATUS("HSA timer allocation failed", - (timer_ == NULL) ? HSA_STATUS_ERROR : HSA_STATUS_SUCCESS); + (timer_ == NULL) ? HSA_STATUS_ERROR : HSA_STATUS_SUCCESS); // Time correlation const uint32_t corr_iters = 1000; @@ -146,7 +151,8 @@ HsaRsrcFactory::HsaRsrcFactory(bool initialize_hsa) : initialize_hsa_(initialize CorrelateTime(HsaTimer::TIME_ID_CLOCK_MONOTONIC, corr_iters); // System timeout - timeout_ = (timeout_ns_ == HsaTimer::TIMESTAMP_MAX) ? timeout_ns_ : timer_->ns_to_sysclock(timeout_ns_); + timeout_ = + (timeout_ns_ == HsaTimer::TIMESTAMP_MAX) ? timeout_ns_ : timer_->ns_to_sysclock(timeout_ns_); } // Destructor of the class @@ -172,9 +178,12 @@ void HsaRsrcFactory::InitHsaApiTable(HsaApiTable* table) { hsa_api_.hsa_queue_create = table->core_->hsa_queue_create_fn; hsa_api_.hsa_queue_destroy = table->core_->hsa_queue_destroy_fn; - hsa_api_.hsa_queue_load_write_index_relaxed = table->core_->hsa_queue_load_write_index_relaxed_fn; - hsa_api_.hsa_queue_store_write_index_relaxed = table->core_->hsa_queue_store_write_index_relaxed_fn; - hsa_api_.hsa_queue_load_read_index_relaxed = table->core_->hsa_queue_load_read_index_relaxed_fn; + hsa_api_.hsa_queue_load_write_index_relaxed = + table->core_->hsa_queue_load_write_index_relaxed_fn; + hsa_api_.hsa_queue_store_write_index_relaxed = + table->core_->hsa_queue_store_write_index_relaxed_fn; + hsa_api_.hsa_queue_load_read_index_relaxed = + table->core_->hsa_queue_load_read_index_relaxed_fn; hsa_api_.hsa_signal_create = table->core_->hsa_signal_create_fn; hsa_api_.hsa_signal_destroy = table->core_->hsa_signal_destroy_fn; @@ -183,27 +192,34 @@ void HsaRsrcFactory::InitHsaApiTable(HsaApiTable* table) { hsa_api_.hsa_signal_wait_scacquire = table->core_->hsa_signal_wait_scacquire_fn; hsa_api_.hsa_signal_store_screlease = table->core_->hsa_signal_store_screlease_fn; - hsa_api_.hsa_code_object_reader_create_from_file = table->core_->hsa_code_object_reader_create_from_file_fn; + hsa_api_.hsa_code_object_reader_create_from_file = + table->core_->hsa_code_object_reader_create_from_file_fn; hsa_api_.hsa_executable_create_alt = table->core_->hsa_executable_create_alt_fn; - hsa_api_.hsa_executable_load_agent_code_object = table->core_->hsa_executable_load_agent_code_object_fn; + hsa_api_.hsa_executable_load_agent_code_object = + table->core_->hsa_executable_load_agent_code_object_fn; hsa_api_.hsa_executable_freeze = table->core_->hsa_executable_freeze_fn; hsa_api_.hsa_executable_get_symbol = table->core_->hsa_executable_get_symbol_fn; hsa_api_.hsa_executable_symbol_get_info = table->core_->hsa_executable_symbol_get_info_fn; hsa_api_.hsa_executable_iterate_symbols = table->core_->hsa_executable_iterate_symbols_fn; hsa_api_.hsa_system_get_info = table->core_->hsa_system_get_info_fn; - hsa_api_.hsa_system_get_major_extension_table = table->core_->hsa_system_get_major_extension_table_fn; + hsa_api_.hsa_system_get_major_extension_table = + table->core_->hsa_system_get_major_extension_table_fn; - hsa_api_.hsa_amd_agent_iterate_memory_pools = table->amd_ext_->hsa_amd_agent_iterate_memory_pools_fn; + hsa_api_.hsa_amd_agent_iterate_memory_pools = + table->amd_ext_->hsa_amd_agent_iterate_memory_pools_fn; hsa_api_.hsa_amd_memory_pool_get_info = table->amd_ext_->hsa_amd_memory_pool_get_info_fn; hsa_api_.hsa_amd_memory_pool_allocate = table->amd_ext_->hsa_amd_memory_pool_allocate_fn; hsa_api_.hsa_amd_agents_allow_access = table->amd_ext_->hsa_amd_agents_allow_access_fn; hsa_api_.hsa_amd_memory_async_copy = table->amd_ext_->hsa_amd_memory_async_copy_fn; hsa_api_.hsa_amd_signal_async_handler = table->amd_ext_->hsa_amd_signal_async_handler_fn; - hsa_api_.hsa_amd_profiling_set_profiler_enabled = table->amd_ext_->hsa_amd_profiling_set_profiler_enabled_fn; - hsa_api_.hsa_amd_profiling_get_async_copy_time = table->amd_ext_->hsa_amd_profiling_get_async_copy_time_fn; - hsa_api_.hsa_amd_profiling_get_dispatch_time = table->amd_ext_->hsa_amd_profiling_get_dispatch_time_fn; + hsa_api_.hsa_amd_profiling_set_profiler_enabled = + table->amd_ext_->hsa_amd_profiling_set_profiler_enabled_fn; + hsa_api_.hsa_amd_profiling_get_async_copy_time = + table->amd_ext_->hsa_amd_profiling_get_async_copy_time_fn; + hsa_api_.hsa_amd_profiling_get_dispatch_time = + table->amd_ext_->hsa_amd_profiling_get_dispatch_time_fn; } else { hsa_api_.hsa_init = hsa_init; hsa_api_.hsa_shut_down = hsa_shut_down; @@ -298,10 +314,13 @@ const AgentInfo* HsaRsrcFactory::AddAgentInfo(const hsa_agent_t agent) { agent_info->dev_type = HSA_DEVICE_TYPE_CPU; agent_info->dev_index = cpu_list_.size(); - status = hsa_api_.hsa_amd_agent_iterate_memory_pools(agent, FindStandardPool, &agent_info->cpu_pool); + status = + hsa_api_.hsa_amd_agent_iterate_memory_pools(agent, FindStandardPool, &agent_info->cpu_pool); if ((status == HSA_STATUS_INFO_BREAK) && (cpu_pool_ == NULL)) cpu_pool_ = &agent_info->cpu_pool; - status = hsa_api_.hsa_amd_agent_iterate_memory_pools(agent, FindKernArgPool, &agent_info->kern_arg_pool); - if ((status == HSA_STATUS_INFO_BREAK) && (kern_arg_pool_ == NULL)) kern_arg_pool_ = &agent_info->kern_arg_pool; + status = hsa_api_.hsa_amd_agent_iterate_memory_pools(agent, FindKernArgPool, + &agent_info->kern_arg_pool); + if ((status == HSA_STATUS_INFO_BREAK) && (kern_arg_pool_ == NULL)) + kern_arg_pool_ = &agent_info->kern_arg_pool; agent_info->gpu_pool = {}; cpu_list_.push_back(agent_info); @@ -319,21 +338,26 @@ const AgentInfo* HsaRsrcFactory::AddAgentInfo(const hsa_agent_t agent) { hsa_api_.hsa_agent_get_info(agent, HSA_AGENT_INFO_QUEUE_MAX_SIZE, &agent_info->max_queue_size); hsa_api_.hsa_agent_get_info(agent, HSA_AGENT_INFO_PROFILE, &agent_info->profile); agent_info->is_apu = (agent_info->profile == HSA_PROFILE_FULL) ? true : false; - hsa_api_.hsa_agent_get_info(agent, static_cast(HSA_AMD_AGENT_INFO_COMPUTE_UNIT_COUNT), - &agent_info->cu_num); - hsa_api_.hsa_agent_get_info(agent, static_cast(HSA_AMD_AGENT_INFO_MAX_WAVES_PER_CU), - &agent_info->waves_per_cu); - hsa_api_.hsa_agent_get_info(agent, static_cast(HSA_AMD_AGENT_INFO_NUM_SIMDS_PER_CU), - &agent_info->simds_per_cu); - hsa_api_.hsa_agent_get_info(agent, static_cast(HSA_AMD_AGENT_INFO_NUM_SHADER_ENGINES), - &agent_info->se_num); + hsa_api_.hsa_agent_get_info( + agent, static_cast(HSA_AMD_AGENT_INFO_COMPUTE_UNIT_COUNT), + &agent_info->cu_num); hsa_api_.hsa_agent_get_info(agent, - static_cast(HSA_AMD_AGENT_INFO_NUM_SHADER_ARRAYS_PER_SE), - &agent_info->shader_arrays_per_se); + static_cast(HSA_AMD_AGENT_INFO_MAX_WAVES_PER_CU), + &agent_info->waves_per_cu); + hsa_api_.hsa_agent_get_info(agent, + static_cast(HSA_AMD_AGENT_INFO_NUM_SIMDS_PER_CU), + &agent_info->simds_per_cu); + hsa_api_.hsa_agent_get_info( + agent, static_cast(HSA_AMD_AGENT_INFO_NUM_SHADER_ENGINES), + &agent_info->se_num); + hsa_api_.hsa_agent_get_info( + agent, static_cast(HSA_AMD_AGENT_INFO_NUM_SHADER_ARRAYS_PER_SE), + &agent_info->shader_arrays_per_se); agent_info->cpu_pool = {}; agent_info->kern_arg_pool = {}; - status = hsa_api_.hsa_amd_agent_iterate_memory_pools(agent, FindStandardPool, &agent_info->gpu_pool); + status = + hsa_api_.hsa_amd_agent_iterate_memory_pools(agent, FindStandardPool, &agent_info->gpu_pool); CHECK_ITER_STATUS("hsa_amd_agent_iterate_memory_pools(gpu pool)", status); // GFX8 and GFX9 SGPR/VGPR block sizes @@ -430,7 +454,7 @@ bool HsaRsrcFactory::CreateQueue(const AgentInfo* agent_info, uint32_t num_pkts, hsa_queue_t** queue) { hsa_status_t status; status = hsa_api_.hsa_queue_create(agent_info->dev_id, num_pkts, HSA_QUEUE_TYPE_MULTI, NULL, NULL, - UINT32_MAX, UINT32_MAX, queue); + UINT32_MAX, UINT32_MAX, queue); return (status == HSA_STATUS_SUCCESS); } @@ -453,7 +477,8 @@ uint8_t* HsaRsrcFactory::AllocateLocalMemory(const AgentInfo* agent_info, size_t hsa_status_t status = HSA_STATUS_ERROR; uint8_t* buffer = NULL; size = (size + MEM_PAGE_MASK) & ~MEM_PAGE_MASK; - status = hsa_api_.hsa_amd_memory_pool_allocate(agent_info->gpu_pool, size, 0, reinterpret_cast(&buffer)); + status = hsa_api_.hsa_amd_memory_pool_allocate(agent_info->gpu_pool, size, 0, + reinterpret_cast(&buffer)); uint8_t* ptr = (status == HSA_STATUS_SUCCESS) ? buffer : NULL; return ptr; } @@ -468,7 +493,8 @@ uint8_t* HsaRsrcFactory::AllocateKernArgMemory(const AgentInfo* agent_info, size uint8_t* buffer = NULL; if (!cpu_agents_.empty()) { size = (size + MEM_PAGE_MASK) & ~MEM_PAGE_MASK; - status = hsa_api_.hsa_amd_memory_pool_allocate(*kern_arg_pool_, size, 0, reinterpret_cast(&buffer)); + status = hsa_api_.hsa_amd_memory_pool_allocate(*kern_arg_pool_, size, 0, + reinterpret_cast(&buffer)); // Both the CPU and GPU can access the kernel arguments if (status == HSA_STATUS_SUCCESS) { hsa_agent_t ag_list[1] = {agent_info->dev_id}; @@ -488,7 +514,8 @@ uint8_t* HsaRsrcFactory::AllocateSysMemory(const AgentInfo* agent_info, size_t s uint8_t* buffer = NULL; size = (size + MEM_PAGE_MASK) & ~MEM_PAGE_MASK; if (!cpu_agents_.empty()) { - status = hsa_api_.hsa_amd_memory_pool_allocate(*cpu_pool_, size, 0, reinterpret_cast(&buffer)); + status = hsa_api_.hsa_amd_memory_pool_allocate(*cpu_pool_, size, 0, + reinterpret_cast(&buffer)); // Both the CPU and GPU can access the memory if (status == HSA_STATUS_SUCCESS) { hsa_agent_t ag_list[1] = {agent_info->dev_id}; @@ -513,16 +540,18 @@ uint8_t* HsaRsrcFactory::AllocateCmdMemory(const AgentInfo* agent_info, size_t s } // Wait signal -hsa_signal_value_t HsaRsrcFactory::SignalWait(const hsa_signal_t& signal, const hsa_signal_value_t& signal_value) const { +hsa_signal_value_t HsaRsrcFactory::SignalWait(const hsa_signal_t& signal, + const hsa_signal_value_t& signal_value) const { const hsa_signal_value_t exp_value = signal_value - 1; hsa_signal_value_t ret_value = signal_value; while (1) { - ret_value = - hsa_api_.hsa_signal_wait_scacquire(signal, HSA_SIGNAL_CONDITION_LT, signal_value, timeout_, HSA_WAIT_STATE_BLOCKED); + ret_value = hsa_api_.hsa_signal_wait_scacquire(signal, HSA_SIGNAL_CONDITION_LT, signal_value, + timeout_, HSA_WAIT_STATE_BLOCKED); if (ret_value == exp_value) break; if (ret_value != signal_value) { std::cerr << "Error: HsaRsrcFactory::SignalWait: signal_value(" << signal_value - << "), ret_value(" << ret_value << ")" << std::endl << std::flush; + << "), ret_value(" << ret_value << ")" << std::endl + << std::flush; abort(); } } @@ -530,7 +559,8 @@ hsa_signal_value_t HsaRsrcFactory::SignalWait(const hsa_signal_t& signal, const } // Wait signal with signal value restore -void HsaRsrcFactory::SignalWaitRestore(const hsa_signal_t& signal, const hsa_signal_value_t& signal_value) const { +void HsaRsrcFactory::SignalWaitRestore(const hsa_signal_t& signal, + const hsa_signal_value_t& signal_value) const { SignalWait(signal, signal_value); hsa_api_.hsa_signal_store_relaxed(const_cast(signal), signal_value); } @@ -594,13 +624,13 @@ bool HsaRsrcFactory::LoadAndFinalize(const AgentInfo* agent_info, const char* br } // Create executable. - status = hsa_api_.hsa_executable_create_alt(HSA_PROFILE_FULL, HSA_DEFAULT_FLOAT_ROUNDING_MODE_DEFAULT, - NULL, executable); + status = hsa_api_.hsa_executable_create_alt( + HSA_PROFILE_FULL, HSA_DEFAULT_FLOAT_ROUNDING_MODE_DEFAULT, NULL, executable); CHECK_STATUS("Error in creating executable object", status); // Load code object. - status = hsa_api_.hsa_executable_load_agent_code_object(*executable, agent_info->dev_id, code_obj_rdr, - NULL, NULL); + status = hsa_api_.hsa_executable_load_agent_code_object(*executable, agent_info->dev_id, + code_obj_rdr, NULL, NULL); CHECK_STATUS("Error in loading executable object", status); // Freeze executable. @@ -610,7 +640,7 @@ bool HsaRsrcFactory::LoadAndFinalize(const AgentInfo* agent_info, const char* br // Get symbol handle. hsa_executable_symbol_t kernelSymbol; status = hsa_api_.hsa_executable_get_symbol(*executable, NULL, kernel_name, agent_info->dev_id, 0, - &kernelSymbol); + &kernelSymbol); CHECK_STATUS("Error in looking up kernel symbol", status); // Update output parameter @@ -654,7 +684,8 @@ uint64_t HsaRsrcFactory::Submit(hsa_queue_t* queue, const void* packet) { } uint32_t slot_idx = (uint32_t)(write_idx % queue->size); - uint32_t* queue_slot = reinterpret_cast((uintptr_t)(queue->base_address) + (slot_idx * slot_size_b)); + uint32_t* queue_slot = + reinterpret_cast((uintptr_t)(queue->base_address) + (slot_idx * slot_size_b)); const uint32_t* slot_data = reinterpret_cast(packet); // Copy buffered commands into the queue slot. @@ -704,18 +735,22 @@ void HsaRsrcFactory::EnableExecutableTracking(HsaApiTable* table) { table->core_->hsa_executable_freeze_fn = hsa_executable_freeze_interceptor; } -hsa_status_t HsaRsrcFactory::executable_symbols_cb(hsa_executable_t exec, hsa_executable_symbol_t symbol, void *data) { +hsa_status_t HsaRsrcFactory::executable_symbols_cb(hsa_executable_t exec, + hsa_executable_symbol_t symbol, void* data) { hsa_symbol_kind_t value = (hsa_symbol_kind_t)0; - hsa_status_t status = hsa_api_.hsa_executable_symbol_get_info(symbol, HSA_EXECUTABLE_SYMBOL_INFO_TYPE, &value); + hsa_status_t status = + hsa_api_.hsa_executable_symbol_get_info(symbol, HSA_EXECUTABLE_SYMBOL_INFO_TYPE, &value); CHECK_STATUS("Error in getting symbol info", status); if (value == HSA_SYMBOL_KIND_KERNEL) { uint64_t addr = 0; uint32_t len = 0; - status = hsa_api_.hsa_executable_symbol_get_info(symbol, HSA_EXECUTABLE_SYMBOL_INFO_KERNEL_OBJECT, &addr); + status = hsa_api_.hsa_executable_symbol_get_info( + symbol, HSA_EXECUTABLE_SYMBOL_INFO_KERNEL_OBJECT, &addr); CHECK_STATUS("Error in getting kernel object", status); - status = hsa_api_.hsa_executable_symbol_get_info(symbol, HSA_EXECUTABLE_SYMBOL_INFO_NAME_LENGTH, &len); + status = hsa_api_.hsa_executable_symbol_get_info(symbol, HSA_EXECUTABLE_SYMBOL_INFO_NAME_LENGTH, + &len); CHECK_STATUS("Error in getting name len", status); - char *name = new char[len + 1]; + char* name = new char[len + 1]; status = hsa_api_.hsa_executable_symbol_get_info(symbol, HSA_EXECUTABLE_SYMBOL_INFO_NAME, name); CHECK_STATUS("Error in getting kernel name", status); name[len] = 0; @@ -728,12 +763,15 @@ hsa_status_t HsaRsrcFactory::executable_symbols_cb(hsa_executable_t exec, hsa_ex return HSA_STATUS_SUCCESS; } -hsa_status_t HsaRsrcFactory::hsa_executable_freeze_interceptor(hsa_executable_t executable, const char *options) { +hsa_status_t HsaRsrcFactory::hsa_executable_freeze_interceptor(hsa_executable_t executable, + const char* options) { std::lock_guard lck(mutex_); if (symbols_map_ == NULL) symbols_map_ = new symbols_map_t; - hsa_status_t status = hsa_api_.hsa_executable_iterate_symbols(executable, executable_symbols_cb, NULL); + hsa_status_t status = + hsa_api_.hsa_executable_iterate_symbols(executable, executable_symbols_cb, NULL); CHECK_STATUS("Error in iterating executable symbols", status); - return hsa_api_.hsa_executable_freeze(executable, options);; + return hsa_api_.hsa_executable_freeze(executable, options); + ; } void HsaRsrcFactory::DumpHandles(FILE* file) { @@ -741,10 +779,14 @@ void HsaRsrcFactory::DumpHandles(FILE* file) { auto end = agent_map_.end(); for (auto it = beg; it != end; ++it) { const AgentInfo* agent_info = it->second; - fprintf(file, "0x%lx agent %s\n", agent_info->dev_id.handle, (agent_info->dev_type == HSA_DEVICE_TYPE_CPU) ? "cpu" : "gpu"); - if (agent_info->cpu_pool.handle != 0) fprintf(file, "0x%lx pool cpu\n", agent_info->cpu_pool.handle); - if (agent_info->kern_arg_pool.handle != 0) fprintf(file, "0x%lx pool cpu kernarg\n", agent_info->kern_arg_pool.handle); - if (agent_info->gpu_pool.handle != 0) fprintf(file, "0x%lx pool gpu\n", agent_info->gpu_pool.handle); + fprintf(file, "0x%lx agent %s\n", agent_info->dev_id.handle, + (agent_info->dev_type == HSA_DEVICE_TYPE_CPU) ? "cpu" : "gpu"); + if (agent_info->cpu_pool.handle != 0) + fprintf(file, "0x%lx pool cpu\n", agent_info->cpu_pool.handle); + if (agent_info->kern_arg_pool.handle != 0) + fprintf(file, "0x%lx pool cpu kernarg\n", agent_info->kern_arg_pool.handle); + if (agent_info->gpu_pool.handle != 0) + fprintf(file, "0x%lx pool gpu\n", agent_info->gpu_pool.handle); } fflush(file); } diff --git a/test/hsa/src/hsa_rsrc_factory.h b/test/hsa/src/hsa_rsrc_factory.h index 09be5ca9dd..1142abd943 100644 --- a/test/hsa/src/hsa_rsrc_factory.h +++ b/test/hsa/src/hsa_rsrc_factory.h @@ -44,23 +44,25 @@ #define HSA_QUEUE_ALIGN_BYTES 64 #define HSA_PACKET_ALIGN_BYTES 64 -#define CHECK_STATUS(msg, status) do { \ - if ((status) != HSA_STATUS_SUCCESS) { \ - const char* emsg = 0; \ - hsa_status_string(status, &emsg); \ - printf("%s: %s\n", msg, emsg ? emsg : ""); \ - abort(); \ - } \ -} while (0) +#define CHECK_STATUS(msg, status) \ + do { \ + if ((status) != HSA_STATUS_SUCCESS) { \ + const char* emsg = 0; \ + hsa_status_string(status, &emsg); \ + printf("%s: %s\n", msg, emsg ? emsg : ""); \ + abort(); \ + } \ + } while (0) -#define CHECK_ITER_STATUS(msg, status) do { \ - if ((status) != HSA_STATUS_INFO_BREAK) { \ - const char* emsg = 0; \ - hsa_status_string(status, &emsg); \ - printf("%s: %s\n", msg, emsg ? emsg : ""); \ - abort(); \ - } \ -} while (0) +#define CHECK_ITER_STATUS(msg, status) \ + do { \ + if ((status) != HSA_STATUS_INFO_BREAK) { \ + const char* emsg = 0; \ + hsa_status_string(status, &emsg); \ + printf("%s: %s\n", msg, emsg ? emsg : ""); \ + abort(); \ + } \ + } while (0) static const size_t MEM_PAGE_BYTES = 0x1000; static const size_t MEM_PAGE_MASK = MEM_PAGE_BYTES - 1; @@ -172,15 +174,12 @@ class HsaTimer { static const timestamp_t TIMESTAMP_MAX = UINT64_MAX; typedef long double freq_t; - enum time_id_t { - TIME_ID_CLOCK_REALTIME = 0, - TIME_ID_CLOCK_MONOTONIC = 1, - TIME_ID_NUMBER - }; + enum time_id_t { TIME_ID_CLOCK_REALTIME = 0, TIME_ID_CLOCK_MONOTONIC = 1, TIME_ID_NUMBER }; HsaTimer(const hsa_pfn_t* hsa_api) : hsa_api_(hsa_api) { timestamp_t sysclock_hz = 0; - hsa_status_t status = hsa_api_->hsa_system_get_info(HSA_SYSTEM_INFO_TIMESTAMP_FREQUENCY, &sysclock_hz); + hsa_status_t status = + hsa_api_->hsa_system_get_info(HSA_SYSTEM_INFO_TIMESTAMP_FREQUENCY, &sysclock_hz); CHECK_STATUS("hsa_system_get_info(HSA_SYSTEM_INFO_TIMESTAMP_FREQUENCY)", status); sysclock_factor_ = (freq_t)1000000000 / (freq_t)sysclock_hz; } @@ -215,8 +214,8 @@ class HsaTimer { // Return pair of correlated values of profiling timestamp and time with // correlation error for a given time ID and number of iterations - void correlated_pair_ns(time_id_t time_id, uint32_t iters, - timestamp_t* timestamp_v, timestamp_t* time_v, timestamp_t* error_v) const { + void correlated_pair_ns(time_id_t time_id, uint32_t iters, timestamp_t* timestamp_v, + timestamp_t* time_v, timestamp_t* error_v) const { clockid_t clock_id = 0; switch (clock_id) { case TIME_ID_CLOCK_REALTIME: @@ -355,7 +354,8 @@ class HsaRsrcFactory { uint8_t* AllocateCmdMemory(const AgentInfo* agent_info, size_t size); // Wait signal - hsa_signal_value_t SignalWait(const hsa_signal_t& signal, const hsa_signal_value_t& signal_value) const; + hsa_signal_value_t SignalWait(const hsa_signal_t& signal, + const hsa_signal_value_t& signal_value) const; // Wait signal with signal value restore void SignalWaitRestore(const hsa_signal_t& signal, const hsa_signal_value_t& signal_value) const; @@ -401,7 +401,9 @@ class HsaRsrcFactory { const hsa_ven_amd_loader_1_00_pfn_t* LoaderApi() const { return &loader_api_; } // Methods for system-clock/ns conversion and timestamp in 'ns' - timestamp_t SysclockToNs(const timestamp_t& sysclock) const { return timer_->sysclock_to_ns(sysclock); } + timestamp_t SysclockToNs(const timestamp_t& sysclock) const { + return timer_->sysclock_to_ns(sysclock); + } timestamp_t NsToSysclock(const timestamp_t& time) const { return timer_->ns_to_sysclock(time); } timestamp_t TimestampNs() const { return timer_->timestamp_ns(); } @@ -480,8 +482,10 @@ class HsaRsrcFactory { typedef std::map symbols_map_t; static symbols_map_t* symbols_map_; static bool executable_tracking_on_; - static hsa_status_t hsa_executable_freeze_interceptor(hsa_executable_t executable, const char *options); - static hsa_status_t executable_symbols_cb(hsa_executable_t exec, hsa_executable_symbol_t symbol, void *data); + static hsa_status_t hsa_executable_freeze_interceptor(hsa_executable_t executable, + const char* options); + static hsa_status_t executable_symbols_cb(hsa_executable_t exec, hsa_executable_symbol_t symbol, + void* data); // HSA runtime API table static hsa_pfn_t hsa_api_; @@ -505,8 +509,8 @@ class HsaRsrcFactory { timestamp_t time_error_[HsaTimer::TIME_ID_NUMBER]; // CPU/kern-arg memory pools - hsa_amd_memory_pool_t *cpu_pool_; - hsa_amd_memory_pool_t *kern_arg_pool_; + hsa_amd_memory_pool_t* cpu_pool_; + hsa_amd_memory_pool_t* kern_arg_pool_; }; #endif // _HSA_RSRC_FACTORY_H_ diff --git a/test/hsa/test/ctrl/run_kernel.h b/test/hsa/test/ctrl/run_kernel.h index c1d3af183e..fd01e46d1f 100644 --- a/test/hsa/test/ctrl/run_kernel.h +++ b/test/hsa/test/ctrl/run_kernel.h @@ -24,7 +24,9 @@ #include "ctrl/test_hsa.h" #include "util/test_assert.h" -template bool RunKernel(int argc = 0, char* argv[] = NULL, const AgentInfo* agent_info = NULL, hsa_queue_t* queue = NULL, int count = 1) { +template +bool RunKernel(int argc = 0, char* argv[] = NULL, const AgentInfo* agent_info = NULL, + hsa_queue_t* queue = NULL, int count = 1) { bool ret_val = false; if (getenv("ROC_TEST_TRACE") == NULL) std::clog.rdbuf(NULL); diff --git a/test/hsa/test/ctrl/test_hsa.cpp b/test/hsa/test/ctrl/test_hsa.cpp index 0613ea83ac..24083c8ecf 100644 --- a/test/hsa/test/ctrl/test_hsa.cpp +++ b/test/hsa/test/ctrl/test_hsa.cpp @@ -63,7 +63,8 @@ bool TestHsa::Initialize(int /*arg_cnt*/, char** /*arg_list*/) { return false; } } - std::clog << "> Using agent[" << agent_info_->dev_index << "] : " << agent_info_->name << std::endl; + std::clog << "> Using agent[" << agent_info_->dev_index << "] : " << agent_info_->name + << std::endl; // Create an instance of Aql Queue if (hsa_queue_ == NULL) { @@ -116,8 +117,8 @@ bool TestHsa::Setup() { size_t size_info = 0; const hsa_status_t status = hsa_executable_symbol_get_info( kernel_code_desc_, HSA_EXECUTABLE_SYMBOL_INFO_KERNEL_KERNARG_SEGMENT_SIZE, &size_info); - TEST_ASSERT(status == HSA_STATUS_SUCCESS); - size_info = kernarg_size; + TEST_ASSERT(status == HSA_STATUS_SUCCESS); + size_info = kernarg_size; const bool kernarg_missmatch = (kernarg_size > size_info); if (kernarg_missmatch) { std::cout << "kernarg_size = " << kernarg_size << ", size_info = " << size_info @@ -209,7 +210,8 @@ bool TestHsa::Run() { // Submit AQL packet to the queue const uint64_t que_idx = hsa_rsrc_->Submit(hsa_queue_, &aql); - std::clog << "> Waiting on kernel dispatch signal, que_idx=" << que_idx << std::endl << std::flush; + std::clog << "> Waiting on kernel dispatch signal, que_idx=" << que_idx << std::endl + << std::flush; // Wait on the dispatch signal until the kernel is finished. // Update wait condition to HSA_WAIT_STATE_ACTIVE for Polling diff --git a/test/hsa/test/dummy_kernel/dummy_kernel.h b/test/hsa/test/dummy_kernel/dummy_kernel.h index dd75aa70cf..15ed51d205 100644 --- a/test/hsa/test/dummy_kernel/dummy_kernel.h +++ b/test/hsa/test/dummy_kernel/dummy_kernel.h @@ -33,10 +33,7 @@ class DummyKernel : public TestKernel { enum { KERNARG_BUF_ID, LOCAL_BUF_ID }; // Constructor - DummyKernel() : - width_(64), - height_(64) - { + DummyKernel() : width_(64), height_(64) { SetInDescr(KERNARG_BUF_ID, KERNARG_DES_ID, 0); SetOutDescr(LOCAL_BUF_ID, LOCAL_DES_ID, 0); } @@ -57,7 +54,9 @@ class DummyKernel : public TestKernel { // Reference CPU implementation bool ReferenceImplementation(uint32_t* output, const uint32_t* input, const float* mask, const uint32_t width, const uint32_t height, - const uint32_t maskWidth, const uint32_t maskHeight) { return true; } + const uint32_t maskWidth, const uint32_t maskHeight) { + return true; + } // Width of the Input array const uint32_t width_; diff --git a/test/hsa/test/util/evt_stats.h b/test/hsa/test/util/evt_stats.h index c494f2b82f..4731cd1bc4 100644 --- a/test/hsa/test/util/evt_stats.h +++ b/test/hsa/test/util/evt_stats.h @@ -28,9 +28,8 @@ #include #include -template -class EvtStatsT { - public: +template class EvtStatsT { + public: typedef std::mutex mutex_t; typedef uint64_t evt_count_t; typedef double evt_avr_t; @@ -51,7 +50,7 @@ class EvtStatsT { inline void add_event(evt_id_t id, evt_weight_t weight) { std::lock_guard lck(mutex_); - //printf("EvtStats %p ::add_event %u %lu\n", this, id, weight); fflush(stdout); + // printf("EvtStats %p ::add_event %u %lu\n", this, id, weight); fflush(stdout); evt_record_t& rec = map_[id]; const evt_count_t prev_count = rec.count; @@ -65,7 +64,8 @@ class EvtStatsT { void dump() { std::lock_guard lck(mutex_); - fprintf(stdout, "Dumping %s\n", path_); fflush(stdout); + fprintf(stdout, "Dumping %s\n", path_); + fflush(stdout); typedef typename std::set, cmpfun> set_t; set_t s_(map_.begin(), map_.end()); @@ -75,7 +75,8 @@ class EvtStatsT { const evt_id_t id = e.first; const char* label = get_label(id); std::ostringstream oss; - oss << index << ",\"" << label << "\"," << e.second.count << "," << (uint64_t)(e.second.avr) << "," << (uint64_t)(e.second.count * e.second.avr); + oss << index << ",\"" << label << "\"," << e.second.count << "," << (uint64_t)(e.second.avr) + << "," << (uint64_t)(e.second.count * e.second.avr); fprintf(fdes_, "%s\n", oss.str().c_str()); index += 1; } @@ -88,24 +89,20 @@ class EvtStatsT { const char* label = ret.first->second; return label; } - const char* get_label(const char* id) { - return id; - } - const char* get_label(const std::string& id) { - return id.c_str(); - } + const char* get_label(const char* id) { return id; } + const char* get_label(const std::string& id) { return id.c_str(); } void set_label(evt_id_t id, const char* label) { - //printf("EvtStats %p ::set_label %u %s\n", this, id, label); fflush(stdout); + // printf("EvtStats %p ::set_label %u %s\n", this, id, label); fflush(stdout); labels_[id] = label; } EvtStatsT(FILE* f, const char* path) : fdes_(f), path_(path) { - //printf("EvtStats %p ::EvtStatsT()\n", this); fflush(stdout); + // printf("EvtStats %p ::EvtStatsT()\n", this); fflush(stdout); fprintf(fdes_, "Index,Name,Count,Avr,Total\n"); } - private: + private: mutex_t mutex_; map_t map_; labels_t labels_; @@ -115,4 +112,4 @@ class EvtStatsT { typedef EvtStatsT EvtStats; -#endif // EVT_STATS_H_ +#endif // EVT_STATS_H_ diff --git a/test/hsa/test/util/xml.h b/test/hsa/test/util/xml.h index 8b559b68cb..12aa5817b6 100644 --- a/test/hsa/test/util/xml.h +++ b/test/hsa/test/util/xml.h @@ -212,7 +212,8 @@ class Xml { buf[size - 1] = '\0'; if (strncmp(buf, "#include \"", 10) == 0) { - for (ind = 0; (ind < size) && (buf[ind] != '\n'); ++ind) {} + for (ind = 0; (ind < size) && (buf[ind] != '\n'); ++ind) { + } if (ind == size) { fprintf(stderr, "XML PreProcess failed, line size limit %zu\n", kBufSize); error = true; @@ -222,7 +223,8 @@ class Xml { size = ind; lseek(fd_, pos + ind + 1, SEEK_SET); - for (ind = 10; (ind < size) && (buf[ind] != '"'); ++ind) {} + for (ind = 10; (ind < size) && (buf[ind] != '"'); ++ind) { + } if (ind == size) { error = true; break; diff --git a/test/tool/tracer_tool.cpp b/test/tool/tracer_tool.cpp index 70c1865daf..65c93e706b 100644 --- a/test/tool/tracer_tool.cpp +++ b/test/tool/tracer_tool.cpp @@ -21,15 +21,15 @@ #include #include -#include /* names denangle */ +#include /* names denangle */ #include #include #include #include #include -#include /* SYS_xxx definitions */ +#include /* SYS_xxx definitions */ #include -#include /* usleep */ +#include /* usleep */ #include #include "src/util/exception.h" @@ -70,10 +70,12 @@ } \ } while (0) -#define ONLOAD_TRACE(str) \ - if (getenv("ROCP_ONLOAD_TRACE")) do { \ - std::cout << "PID(" << GetPid() << "): TRACER_TOOL::" << __FUNCTION__ << " " << str << std::endl << std::flush; \ - } while(0); +#define ONLOAD_TRACE(str) \ + if (getenv("ROCP_ONLOAD_TRACE")) do { \ + std::cout << "PID(" << GetPid() << "): TRACER_TOOL::" << __FUNCTION__ << " " << str \ + << std::endl \ + << std::flush; \ + } while (0); #define ONLOAD_TRACE_BEG() ONLOAD_TRACE("begin") #define ONLOAD_TRACE_END() ONLOAD_TRACE("end") @@ -88,7 +90,8 @@ inline static void DEBUG_TRACE(const char* fmt, ...) { va_list valist; va_start(valist, fmt); vsnprintf(buf, size, fmt, valist); - printf("%u:%u %s", GetPid(), GetTid(), buf); fflush(stdout); + printf("%u:%u %s", GetPid(), GetTid(), buf); + fflush(stdout); va_end(valist); } #else @@ -107,18 +110,18 @@ bool trace_hip_activity = false; bool trace_pcs = false; // The below getter functions have been written intentionally to fix an issue -// with constructor ordering. Previously when hip_api_vec and hsa_api_vec +// with constructor ordering. Previously when hip_api_vec and hsa_api_vec // were left as simple global variables, whenever the tool_load() function // was called from "extern "C" CONSTRUCTOR_API void constructor()" of libtracer_tool.so // the ordering of std::vector constructor becomes undefined. This meant that you could assign -// hip_api_vec and hsa_api_vec with a value in tool_load() and once the function returns, the std::vector -// default constructor would execute later, causing the values to be lost. +// hip_api_vec and hsa_api_vec with a value in tool_load() and once the function returns, the +// std::vector default constructor would execute later, causing the values to be lost. -static std::vector &hsa_api_vec() { +static std::vector& hsa_api_vec() { static std::vector hsa_api_vec; return hsa_api_vec; } -static std::vector &hip_api_vec() { +static std::vector& hip_api_vec() { static std::vector hip_api_vec; return hip_api_vec; } @@ -167,7 +170,8 @@ void fatal(const std::string msg) { static inline const char* cxx_demangle(const char* symbol) { size_t funcnamesize; int status; - const char* ret = (symbol != NULL) ? abi::__cxa_demangle(symbol, NULL, &funcnamesize, &status) : symbol; + const char* ret = + (symbol != NULL) ? abi::__cxa_demangle(symbol, NULL, &funcnamesize, &status) : symbol; return (ret != NULL) ? ret : strdup(symbol); } @@ -208,7 +212,8 @@ void* control_thr_fun(void*) { uint32_t control_flush_us = 0; pthread_t flush_thread; bool flush_thread_started = false; -std::mutex flush_thread_mutex;; +std::mutex flush_thread_mutex; +; void* flush_thr_fun(void*) { const uint32_t dist_sec = control_flush_us / 1000000; @@ -218,7 +223,8 @@ void* flush_thr_fun(void*) { sleep(dist_sec); usleep(dist_us); std::lock_guard lock(flush_thread_mutex); - if (!flush_thread_started) while(1) sleep(1); + if (!flush_thread_started) + while (1) sleep(1); ROCTRACER_CALL(roctracer_flush_activity()); roctracer::TraceBufferBase::FlushAll(); } @@ -241,17 +247,13 @@ struct roctx_trace_entry_t { }; void roctx_flush_cb(roctx_trace_entry_t* entry); -constexpr roctracer::TraceBuffer::flush_prm_t roctx_flush_prm = {roctracer::DFLT_ENTRY_TYPE, roctx_flush_cb}; +constexpr roctracer::TraceBuffer::flush_prm_t roctx_flush_prm = { + roctracer::DFLT_ENTRY_TYPE, roctx_flush_cb}; roctracer::TraceBuffer* roctx_trace_buffer = NULL; // rocTX callback function -static inline void roctx_callback_fun( - uint32_t domain, - uint32_t cid, - uint32_t tid, - roctx_range_id_t rid, - const char* message) -{ +static inline void roctx_callback_fun(uint32_t domain, uint32_t cid, uint32_t tid, + roctx_range_id_t rid, const char* message) { #if ROCTX_CLOCK_TIME const timestamp_t time = HsaTimer::clocktime_ns(HsaTimer::TIME_ID_CLOCK_MONOTONIC); #else @@ -267,12 +269,7 @@ static inline void roctx_callback_fun( entry->valid.store(roctracer::TRACE_ENTRY_COMPL, std::memory_order_release); } -void roctx_api_callback( - uint32_t domain, - uint32_t cid, - const void* callback_data, - void* arg) -{ +void roctx_api_callback(uint32_t domain, uint32_t cid, const void* callback_data, void* arg) { (void)arg; const roctx_api_data_t* data = reinterpret_cast(callback_data); roctx_callback_fun(domain, cid, GetTid(), data->args.id, data->args.message); @@ -280,27 +277,37 @@ void roctx_api_callback( // rocTX Start/Stop callbacks void roctx_range_start_callback(const roctx_range_data_t* data, void* arg) { - roctx_callback_fun(ACTIVITY_DOMAIN_ROCTX, ROCTX_API_ID_roctxRangePushA, data->tid, 0, data->message); + roctx_callback_fun(ACTIVITY_DOMAIN_ROCTX, ROCTX_API_ID_roctxRangePushA, data->tid, 0, + data->message); } void roctx_range_stop_callback(const roctx_range_data_t* data, void* arg) { roctx_callback_fun(ACTIVITY_DOMAIN_ROCTX, ROCTX_API_ID_roctxRangePop, data->tid, 0, NULL); } -void start_callback() { roctracer::RocTxLoader::Instance().RangeStackIterate(roctx_range_start_callback, NULL); } -void stop_callback() { roctracer::RocTxLoader::Instance().RangeStackIterate(roctx_range_stop_callback, NULL); } +void start_callback() { + roctracer::RocTxLoader::Instance().RangeStackIterate(roctx_range_start_callback, NULL); +} +void stop_callback() { + roctracer::RocTxLoader::Instance().RangeStackIterate(roctx_range_stop_callback, NULL); +} // rocTX buffer flush function void roctx_flush_cb(roctx_trace_entry_t* entry) { #if ROCTX_CLOCK_TIME timestamp_t timestamp = 0; - HsaRsrcFactory::Instance().GetTimestamp(HsaTimer::TIME_ID_CLOCK_MONOTONIC, entry->time, ×tamp); + HsaRsrcFactory::Instance().GetTimestamp(HsaTimer::TIME_ID_CLOCK_MONOTONIC, entry->time, + ×tamp); #else const timestamp_t timestamp = entry->time; #endif std::ostringstream os; - os << timestamp << " " << entry->pid << ":" << entry->tid << " " << entry->cid << ":" << entry->rid; - if (entry->message != NULL) os << ":\"" << entry->message << "\""; - else os << ":\"\""; - fprintf(roctx_file_handle, "%s\n", os.str().c_str()); fflush(roctx_file_handle); + os << timestamp << " " << entry->pid << ":" << entry->tid << " " << entry->cid << ":" + << entry->rid; + if (entry->message != NULL) + os << ":\"" << entry->message << "\""; + else + os << ":\"\""; + fprintf(roctx_file_handle, "%s\n", os.str().c_str()); + fflush(roctx_file_handle); } /////////////////////////////////////////////////////////////////////////////////////////////////////// @@ -318,24 +325,20 @@ struct hsa_api_trace_entry_t { }; void hsa_api_flush_cb(hsa_api_trace_entry_t* entry); -constexpr roctracer::TraceBuffer::flush_prm_t hsa_flush_prm = {roctracer::DFLT_ENTRY_TYPE, hsa_api_flush_cb}; +constexpr roctracer::TraceBuffer::flush_prm_t hsa_flush_prm = { + roctracer::DFLT_ENTRY_TYPE, hsa_api_flush_cb}; roctracer::TraceBuffer* hsa_api_trace_buffer = NULL; // HSA API callback function -void hsa_api_callback( - uint32_t domain, - uint32_t cid, - const void* callback_data, - void* arg) -{ +void hsa_api_callback(uint32_t domain, uint32_t cid, const void* callback_data, void* arg) { (void)arg; const hsa_api_data_t* data = reinterpret_cast(callback_data); if (data->phase == ACTIVITY_API_PHASE_ENTER) { hsa_begin_timestamp = timer->timestamp_fn_ns(); } else { - - const timestamp_t end_timestamp = (cid == HSA_API_ID_hsa_shut_down) ? hsa_begin_timestamp : timer->timestamp_fn_ns(); + const timestamp_t end_timestamp = + (cid == HSA_API_ID_hsa_shut_down) ? hsa_begin_timestamp : timer->timestamp_fn_ns(); hsa_api_trace_entry_t* entry = hsa_api_trace_buffer->GetEntry(); entry->cid = cid; entry->begin = hsa_begin_timestamp; @@ -349,17 +352,17 @@ void hsa_api_callback( void hsa_api_flush_cb(hsa_api_trace_entry_t* entry) { std::ostringstream os; - os << entry->begin << ":" << entry->end << " " << entry->pid << ":" << entry->tid << " " << hsa_api_data_pair_t(entry->cid, entry->data); - fprintf(hsa_api_file_handle, "%s\n", os.str().c_str()); fflush(hsa_api_file_handle); + os << entry->begin << ":" << entry->end << " " << entry->pid << ":" << entry->tid << " " + << hsa_api_data_pair_t(entry->cid, entry->data); + fprintf(hsa_api_file_handle, "%s\n", os.str().c_str()); + fflush(hsa_api_file_handle); } -void hsa_activity_callback( - uint32_t op, - activity_record_t* record, - void* arg) -{ +void hsa_activity_callback(uint32_t op, activity_record_t* record, void* arg) { static uint64_t index = 0; - fprintf(hsa_async_copy_file_handle, "%lu:%lu async-copy:%lu:%u\n", record->begin_ns, record->end_ns, index, my_pid); fflush(hsa_async_copy_file_handle); + fprintf(hsa_async_copy_file_handle, "%lu:%lu async-copy:%lu:%u\n", record->begin_ns, + record->end_ns, index, my_pid); + fflush(hsa_async_copy_file_handle); index++; } @@ -381,28 +384,21 @@ struct hip_api_trace_entry_t { }; void hip_api_flush_cb(hip_api_trace_entry_t* entry); -constexpr roctracer::TraceBuffer::flush_prm_t hip_api_flush_prm = {roctracer::DFLT_ENTRY_TYPE, hip_api_flush_cb}; +constexpr roctracer::TraceBuffer::flush_prm_t hip_api_flush_prm = { + roctracer::DFLT_ENTRY_TYPE, hip_api_flush_cb}; roctracer::TraceBuffer* hip_api_trace_buffer = NULL; static inline bool is_hip_kernel_launch_api(const uint32_t& cid) { - bool ret = - (cid == HIP_API_ID_hipLaunchKernel) || - (cid == HIP_API_ID_hipExtLaunchKernel) || - (cid == HIP_API_ID_hipLaunchCooperativeKernel) || - (cid == HIP_API_ID_hipLaunchCooperativeKernelMultiDevice) || - (cid == HIP_API_ID_hipExtLaunchMultiKernelMultiDevice) || - (cid == HIP_API_ID_hipModuleLaunchKernel) || - (cid == HIP_API_ID_hipExtModuleLaunchKernel) || - (cid == HIP_API_ID_hipHccModuleLaunchKernel); + bool ret = (cid == HIP_API_ID_hipLaunchKernel) || (cid == HIP_API_ID_hipExtLaunchKernel) || + (cid == HIP_API_ID_hipLaunchCooperativeKernel) || + (cid == HIP_API_ID_hipLaunchCooperativeKernelMultiDevice) || + (cid == HIP_API_ID_hipExtLaunchMultiKernelMultiDevice) || + (cid == HIP_API_ID_hipModuleLaunchKernel) || (cid == HIP_API_ID_hipExtModuleLaunchKernel) || + (cid == HIP_API_ID_hipHccModuleLaunchKernel); return ret; } -void hip_api_callback( - uint32_t domain, - uint32_t cid, - const void* callback_data, - void* arg) -{ +void hip_api_callback(uint32_t domain, uint32_t cid, const void* callback_data, void* arg) { (void)arg; const hip_api_data_t* data = reinterpret_cast(callback_data); const timestamp_t timestamp = timer->timestamp_fn_ns(); @@ -428,16 +424,17 @@ void hip_api_callback( if (cid == HIP_API_ID_hipMalloc) { entry->ptr = *(data->args.hipMalloc.ptr); } else if (is_hip_kernel_launch_api(cid)) { - switch(cid) { + switch (cid) { case HIP_API_ID_hipExtLaunchMultiKernelMultiDevice: - case HIP_API_ID_hipLaunchCooperativeKernelMultiDevice: - { - const hipLaunchParams* listKernels = data->args.hipLaunchCooperativeKernelMultiDevice.launchParamsList; + case HIP_API_ID_hipLaunchCooperativeKernelMultiDevice: { + const hipLaunchParams* listKernels = + data->args.hipLaunchCooperativeKernelMultiDevice.launchParamsList; std::string name_str = ""; for (int i = 0; i < data->args.hipLaunchCooperativeKernelMultiDevice.numDevices; ++i) { const hipLaunchParams& lp = listKernels[i]; if (lp.func != NULL) { - const char* kernel_name = roctracer::HipLoader::Instance().KernelNameRefByPtr(lp.func, lp.stream); + const char* kernel_name = + roctracer::HipLoader::Instance().KernelNameRefByPtr(lp.func, lp.stream); const int device_id = roctracer::HipLoader::Instance().GetStreamDeviceId(lp.stream); name_str += std::string(kernel_name) + ":" + std::to_string(device_id) + ";"; } @@ -446,22 +443,21 @@ void hip_api_callback( break; } case HIP_API_ID_hipLaunchKernel: - case HIP_API_ID_hipLaunchCooperativeKernel: - { + case HIP_API_ID_hipLaunchCooperativeKernel: { const void* f = data->args.hipLaunchKernel.function_address; hipStream_t stream = data->args.hipLaunchKernel.stream; - if (f != NULL) entry->name = strdup(roctracer::HipLoader::Instance().KernelNameRefByPtr(f, stream)); + if (f != NULL) + entry->name = strdup(roctracer::HipLoader::Instance().KernelNameRefByPtr(f, stream)); break; } - case HIP_API_ID_hipExtLaunchKernel: - { + case HIP_API_ID_hipExtLaunchKernel: { const void* f = data->args.hipExtLaunchKernel.function_address; hipStream_t stream = data->args.hipExtLaunchKernel.stream; - if (f != NULL) entry->name = strdup(roctracer::HipLoader::Instance().KernelNameRefByPtr(f, stream)); + if (f != NULL) + entry->name = strdup(roctracer::HipLoader::Instance().KernelNameRefByPtr(f, stream)); break; } - default: - { + default: { const hipFunction_t f = data->args.hipModuleLaunchKernel.f; if (f != NULL) entry->name = strdup(roctracer::HipLoader::Instance().KernelNameRef(f)); } @@ -471,17 +467,15 @@ void hip_api_callback( entry->valid.store(roctracer::TRACE_ENTRY_COMPL, std::memory_order_release); } - const char * name = roctracer_op_string(domain, cid, 0); - DEBUG_TRACE("hip_api_callback(\"%s\") phase(%d): cid(%u) data(%p) entry(%p) name(\"%s\") correlation_id(%lu) timestamp(%lu)\n", - name, data->phase, cid, data, entry, (entry) ? entry->name : NULL, data->correlation_id, timestamp); + const char* name = roctracer_op_string(domain, cid, 0); + DEBUG_TRACE( + "hip_api_callback(\"%s\") phase(%d): cid(%u) data(%p) entry(%p) name(\"%s\") " + "correlation_id(%lu) timestamp(%lu)\n", + name, data->phase, cid, data, entry, (entry) ? entry->name : NULL, data->correlation_id, + timestamp); } -void mark_api_callback( - uint32_t domain, - uint32_t cid, - const void* callback_data, - void* arg) -{ +void mark_api_callback(uint32_t domain, uint32_t cid, const void* callback_data, void* arg) { (void)arg; const char* name = reinterpret_cast(callback_data); @@ -513,22 +507,27 @@ void hip_api_flush_cb(hip_api_trace_entry_t* entry) { std::ostringstream rec_ss; std::ostringstream oss; - const char* str = (domain != ACTIVITY_DOMAIN_EXT_API) ? roctracer_op_string(domain, cid, 0) : strdup("MARK"); - rec_ss << std::dec << begin_timestamp << ":" << end_timestamp << " " << entry->pid << ":" << entry->tid; + const char* str = + (domain != ACTIVITY_DOMAIN_EXT_API) ? roctracer_op_string(domain, cid, 0) : strdup("MARK"); + rec_ss << std::dec << begin_timestamp << ":" << end_timestamp << " " << entry->pid << ":" + << entry->tid; oss << std::dec << rec_ss.str() << " " << str; - const char * name = roctracer_op_string(entry->domain, entry->cid, 0); - DEBUG_TRACE("hip_api_flush_cb(\"%s\"): domain(%u) cid(%u) entry(%p) name(\"%s\" correlation_id(%lu) beg(%lu) end(%lu))\n", - name, entry->domain, entry->cid, entry, entry->name, correlation_id, begin_timestamp, end_timestamp); + const char* name = roctracer_op_string(entry->domain, entry->cid, 0); + DEBUG_TRACE( + "hip_api_flush_cb(\"%s\"): domain(%u) cid(%u) entry(%p) name(\"%s\" correlation_id(%lu) " + "beg(%lu) end(%lu))\n", + name, entry->domain, entry->cid, entry, entry->name, correlation_id, begin_timestamp, + end_timestamp); if (domain == ACTIVITY_DOMAIN_HIP_API) { #if HIP_PROF_HIP_API_STRING if (hip_api_stats != NULL) { hip_api_stats->add_event(cid, end_timestamp - begin_timestamp); if (is_hip_kernel_launch_api(cid)) { - hip_kernel_mutex.lock(); + hip_kernel_mutex.lock(); (*hip_kernel_map)[correlation_id] = entry->name; - hip_kernel_mutex.unlock(); + hip_kernel_mutex.unlock(); } } else { const char* str = hipApiString((hip_api_id_t)cid, data); @@ -537,50 +536,36 @@ void hip_api_flush_cb(hip_api_trace_entry_t* entry) { const char* kernel_name = cxx_demangle(entry->name); rec_ss << " kernel=" << kernel_name; } - rec_ss<< " :" << correlation_id; + rec_ss << " :" << correlation_id; fprintf(hip_api_file_handle, "%s\n", rec_ss.str().c_str()); } -#else // !HIP_PROF_HIP_API_STRING +#else // !HIP_PROF_HIP_API_STRING switch (cid) { case HIP_API_ID_hipMemcpy: - fprintf(hip_api_file_handle, "%s(dst(%p) src(%p) size(0x%x) kind(%u))\n", - oss.str().c_str(), - data->args.hipMemcpy.dst, - data->args.hipMemcpy.src, - (uint32_t)(data->args.hipMemcpy.sizeBytes), - (uint32_t)(data->args.hipMemcpy.kind)); + fprintf(hip_api_file_handle, "%s(dst(%p) src(%p) size(0x%x) kind(%u))\n", oss.str().c_str(), + data->args.hipMemcpy.dst, data->args.hipMemcpy.src, + (uint32_t)(data->args.hipMemcpy.sizeBytes), (uint32_t)(data->args.hipMemcpy.kind)); break; case HIP_API_ID_hipMemcpyAsync: fprintf(hip_api_file_handle, "%s(dst(%p) src(%p) size(0x%x) kind(%u) stream(%p))\n", - oss.str().c_str(), - data->args.hipMemcpyAsync.dst, - data->args.hipMemcpyAsync.src, - (uint32_t)(data->args.hipMemcpyAsync.sizeBytes), - (uint32_t)(data->args.hipMemcpyAsync.kind), - data->args.hipMemcpyAsync.stream); + oss.str().c_str(), data->args.hipMemcpyAsync.dst, data->args.hipMemcpyAsync.src, + (uint32_t)(data->args.hipMemcpyAsync.sizeBytes), + (uint32_t)(data->args.hipMemcpyAsync.kind), data->args.hipMemcpyAsync.stream); break; case HIP_API_ID_hipMalloc: - fprintf(hip_api_file_handle, "%s(ptr(%p) size(0x%x))\n", - oss.str().c_str(), - entry->ptr, - (uint32_t)(data->args.hipMalloc.size)); + fprintf(hip_api_file_handle, "%s(ptr(%p) size(0x%x))\n", oss.str().c_str(), entry->ptr, + (uint32_t)(data->args.hipMalloc.size)); break; case HIP_API_ID_hipFree: - fprintf(hip_api_file_handle, "%s(ptr(%p))\n", - oss.str().c_str(), - data->args.hipFree.ptr); + fprintf(hip_api_file_handle, "%s(ptr(%p))\n", oss.str().c_str(), data->args.hipFree.ptr); break; case HIP_API_ID_hipModuleLaunchKernel: - fprintf(hip_api_file_handle, "%s(kernel(%s) stream(%p))\n", - oss.str().c_str(), - cxx_demangle(entry->name), - data->args.hipModuleLaunchKernel.stream); + fprintf(hip_api_file_handle, "%s(kernel(%s) stream(%p))\n", oss.str().c_str(), + cxx_demangle(entry->name), data->args.hipModuleLaunchKernel.stream); break; case HIP_API_ID_hipExtModuleLaunchKernel: - fprintf(hip_api_file_handle, "%s(kernel(%s) stream(%p))\n", - oss.str().c_str(), - cxx_demangle(entry->name), - data->args.hipExtModuleLaunchKernel.hStream); + fprintf(hip_api_file_handle, "%s(kernel(%s) stream(%p))\n", oss.str().c_str(), + cxx_demangle(entry->name), data->args.hipExtModuleLaunchKernel.hStream); break; default: fprintf(hip_api_file_handle, "%s()\n", oss.str().c_str()); @@ -605,23 +590,26 @@ struct hip_act_trace_entry_t { }; void hip_act_flush_cb(hip_act_trace_entry_t* entry); -constexpr roctracer::TraceBuffer::flush_prm_t hip_act_flush_prm = {roctracer::DFLT_ENTRY_TYPE, hip_act_flush_cb}; +constexpr roctracer::TraceBuffer::flush_prm_t hip_act_flush_prm = { + roctracer::DFLT_ENTRY_TYPE, hip_act_flush_cb}; roctracer::TraceBuffer* hip_act_trace_buffer = NULL; // HIP ACT trace buffer flush callback void hip_act_flush_cb(hip_act_trace_entry_t* entry) { const uint32_t domain = ACTIVITY_DOMAIN_HCC_OPS; const uint32_t op = 0; - const char * name = roctracer_op_string(domain, op, entry->kind); + const char* name = roctracer_op_string(domain, op, entry->kind); if (name == NULL) { - printf("hip_act_flush_cb name is NULL\n"); fflush(stdout); + printf("hip_act_flush_cb name is NULL\n"); + fflush(stdout); abort(); } if (strncmp("Kernel", name, 6) == 0) { hip_kernel_mutex.lock(); if (hip_kernel_stats == NULL) { - printf("hip_act_flush_cb hip_kernel_stats is NULL\n"); fflush(stdout); + printf("hip_act_flush_cb hip_kernel_stats is NULL\n"); + fflush(stdout); abort(); } name = (*hip_kernel_map)[entry->correlation_id]; @@ -640,11 +628,14 @@ void pool_activity_callback(const char* begin, const char* end, void* arg) { const roctracer_record_t* end_record = reinterpret_cast(end); while (record < end_record) { - const char * name = roctracer_op_string(record->domain, record->op, record->kind); - DEBUG_TRACE("pool_activity_callback(\"%s\"): domain(%u) op(%u) kind(%u) record(%p) correlation_id(%lu) beg(%lu) end(%lu)\n", - name, record->domain, record->op, record->kind, record, record->correlation_id, record->begin_ns, record->end_ns); + const char* name = roctracer_op_string(record->domain, record->op, record->kind); + DEBUG_TRACE( + "pool_activity_callback(\"%s\"): domain(%u) op(%u) kind(%u) record(%p) correlation_id(%lu) " + "beg(%lu) end(%lu)\n", + name, record->domain, record->op, record->kind, record, record->correlation_id, + record->begin_ns, record->end_ns); - switch(record->domain) { + switch (record->domain) { case ACTIVITY_DOMAIN_HCC_OPS: if (hip_memcpy_stats != NULL) { hip_act_trace_entry_t* entry = hip_act_trace_buffer->GetEntry(); @@ -653,17 +644,16 @@ void pool_activity_callback(const char* begin, const char* end, void* arg) { entry->correlation_id = record->correlation_id; entry->valid.store(roctracer::TRACE_ENTRY_COMPL, std::memory_order_release); } else { - fprintf(hcc_activity_file_handle, "%lu:%lu %d:%lu %s:%lu:%u\n", - record->begin_ns, record->end_ns, - record->device_id, record->queue_id, - name, record->correlation_id, my_pid); + fprintf(hcc_activity_file_handle, "%lu:%lu %d:%lu %s:%lu:%u\n", record->begin_ns, + record->end_ns, record->device_id, record->queue_id, name, record->correlation_id, + my_pid); fflush(hcc_activity_file_handle); } break; case ACTIVITY_DOMAIN_HSA_OPS: if (record->op == HSA_OP_ID_RESERVED1) { - fprintf(pc_sample_file_handle, "%u %lu 0x%lx %s\n", - record->pc_sample.se, record->pc_sample.cycle, record->pc_sample.pc, name); + fprintf(pc_sample_file_handle, "%u %lu 0x%lx %s\n", record->pc_sample.se, + record->pc_sample.cycle, record->pc_sample.pc, name); fflush(pc_sample_file_handle); } break; @@ -682,11 +672,14 @@ std::string normalize_token(const std::string& token, bool not_empty, const std: std::string error_str = "none"; if (first_pos != std::string::npos) { const size_t last_pos = token.find_last_not_of(space_chars_set); - if (last_pos == std::string::npos) error_str = "token string error: \"" + token + "\""; + if (last_pos == std::string::npos) + error_str = "token string error: \"" + token + "\""; else { const size_t end_pos = last_pos + 1; - if (end_pos <= first_pos) error_str = "token string error: \"" + token + "\""; - else norm_len = end_pos - first_pos; + if (end_pos <= first_pos) + error_str = "token string error: \"" + token + "\""; + else + norm_len = end_pos - first_pos; } } if (((first_pos != std::string::npos) && (norm_len == 0)) || @@ -696,7 +689,8 @@ std::string normalize_token(const std::string& token, bool not_empty, const std: return (norm_len != 0) ? token.substr(first_pos, norm_len) : std::string(""); } -int get_xml_array(const xml::Xml::level_t* node, const std::string& field, const std::string& delim, std::vector* vec, const char* label = NULL) { +int get_xml_array(const xml::Xml::level_t* node, const std::string& field, const std::string& delim, + std::vector* vec, const char* label = NULL) { int parse_iter = 0; const auto& opts = node->opts; auto it = opts.find(field); @@ -706,7 +700,7 @@ int get_xml_array(const xml::Xml::level_t* node, const std::string& field, const size_t pos1 = 0; const size_t string_len = array_string.length(); while (pos1 < string_len) { - // set pos2 such that it also handles case of multiple delimiter options. + // set pos2 such that it also handles case of multiple delimiter options. // For example- "hipLaunchKernel, hipExtModuleLaunchKernel, hipMemsetAsync" // in this example delimiters are ' ' and also ',' const size_t pos2 = array_string.find_first_of(delim, pos1); @@ -716,9 +710,9 @@ int get_xml_array(const xml::Xml::level_t* node, const std::string& field, const const std::string norm_str = normalize_token(token, found, "get_xml_array"); if (norm_str.length() != 0) vec->push_back(norm_str); if (!found) break; - // update pos2 such that it represents the first non-delimiter character - // in case multiple delimiters are specified in variable 'delim' - pos1 = array_string.find_first_not_of(delim, pos2); + // update pos2 such that it represents the first non-delimiter character + // in case multiple delimiters are specified in variable 'delim' + pos1 = array_string.find_first_not_of(delim, pos2); ++parse_iter; } } @@ -742,7 +736,8 @@ FILE* open_output_file(const char* prefix, const char* name, const char** path = } if (path != NULL) *path = strdup(oss.str().c_str()); - } else file_handle = stdout; + } else + file_handle = stdout; return file_handle; } @@ -785,7 +780,7 @@ void tool_unload() { flush_thread_started = false; flush_thread_mutex.unlock(); PTHREAD_CALL(pthread_cancel(flush_thread)); - void *res; + void* res; PTHREAD_CALL(pthread_join(flush_thread, &res)); if (res != PTHREAD_CANCELED) FATAL("flush thread wasn't stopped correctly"); } @@ -860,7 +855,8 @@ void tool_load() { } } - printf("ROCTracer (pid=%d): ", (int)GetPid()); fflush(stdout); + printf("ROCTracer (pid=%d): ", (int)GetPid()); + fflush(stdout); // XML input const char* xml_name = getenv("ROCP_INPUT"); @@ -879,8 +875,10 @@ void tool_load() { std::vector api_vec; for (const auto* node : entry->nodes) { - if (node->tag != "parameters") fatal("ROCTracer: trace node is not supported '" + name + ":" + node->tag + "'"); - get_xml_array(node, "api", ", ", &api_vec); // delimiter options given as both spaces and commas (' ' and ',') + if (node->tag != "parameters") + fatal("ROCTracer: trace node is not supported '" + name + ":" + node->tag + "'"); + get_xml_array(node, "api", ", ", + &api_vec); // delimiter options given as both spaces and commas (' ' and ',') break; } @@ -917,14 +915,13 @@ void tool_load() { roctx_file_handle = open_output_file(output_prefix, "roctx_trace.txt"); // initialize HSA tracing - roctracer_ext_properties_t properties { - start_callback, - stop_callback - }; + roctracer_ext_properties_t properties{start_callback, stop_callback}; roctracer_set_properties(ACTIVITY_DOMAIN_EXT_API, &properties); - fprintf(stdout, " rocTX-trace()\n"); fflush(stdout); - ROCTRACER_CALL(roctracer_enable_domain_callback(ACTIVITY_DOMAIN_ROCTX, roctx_api_callback, NULL)); + fprintf(stdout, " rocTX-trace()\n"); + fflush(stdout); + ROCTRACER_CALL( + roctracer_enable_domain_callback(ACTIVITY_DOMAIN_ROCTX, roctx_api_callback, NULL)); } const char* ctrl_str = getenv("ROCP_CTRL_RATE"); @@ -934,10 +931,13 @@ void tool_load() { uint32_t ctrl_rate = 0; if (sscanf(ctrl_str, "%d:%d:%d", &ctrl_delay, &ctrl_len, &ctrl_rate) != 3) { - EXC_RAISING(ROCTRACER_STATUS_ERROR, "Invalid ROCP_CTRL_RATE var(" << ctrl_str << "), expected ctrl_delay:ctrl_len:ctrl_rate"); + EXC_RAISING( + ROCTRACER_STATUS_ERROR, + "Invalid ROCP_CTRL_RATE var(" << ctrl_str << "), expected ctrl_delay:ctrl_len:ctrl_rate"); } if (ctrl_len > ctrl_rate) { - EXC_RAISING(ROCTRACER_STATUS_ERROR, "Control length value " << ctrl_len << " > rate value " << ctrl_rate); + EXC_RAISING(ROCTRACER_STATUS_ERROR, + "Control length value " << ctrl_len << " > rate value " << ctrl_rate); } control_dist_us = ctrl_rate - ctrl_len; control_len_us = ctrl_len; @@ -946,14 +946,21 @@ void tool_load() { roctracer_stop(); if (ctrl_delay != UINT32_MAX) { - fprintf(stdout, "ROCTracer: trace control: delay(%uus), length(%uus), rate(%uus)\n", ctrl_delay, ctrl_len, ctrl_rate); fflush(stdout); + fprintf(stdout, "ROCTracer: trace control: delay(%uus), length(%uus), rate(%uus)\n", + ctrl_delay, ctrl_len, ctrl_rate); + fflush(stdout); pthread_t thread; pthread_attr_t attr; int err = pthread_attr_init(&attr); - if (err) { errno = err; perror("pthread_attr_init"); abort(); } + if (err) { + errno = err; + perror("pthread_attr_init"); + abort(); + } err = pthread_create(&thread, &attr, control_thr_fun, NULL); } else { - fprintf(stdout, "ROCTracer: trace start disabled\n"); fflush(stdout); + fprintf(stdout, "ROCTracer: trace start disabled\n"); + fflush(stdout); } } @@ -965,10 +972,15 @@ void tool_load() { abort(); } - fprintf(stdout, "ROCTracer: trace control flush rate(%uus)\n", control_flush_us); fflush(stdout); + fprintf(stdout, "ROCTracer: trace control flush rate(%uus)\n", control_flush_us); + fflush(stdout); pthread_attr_t attr; int err = pthread_attr_init(&attr); - if (err) { errno = err; perror("pthread_attr_init"); abort(); } + if (err) { + errno = err; + perror("pthread_attr_init"); + abort(); + } std::lock_guard lock(flush_thread_mutex); PTHREAD_CALL(pthread_create(&flush_thread, &attr, flush_thr_fun, NULL)); flush_thread_started = true; @@ -978,7 +990,8 @@ void tool_load() { } // HSA-runtime tool on-load method -extern "C" PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, uint64_t failed_tool_count, +extern "C" PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, + uint64_t failed_tool_count, const char* const* failed_tool_names) { ONLOAD_TRACE_BEG(); @@ -998,17 +1011,20 @@ extern "C" PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, // initialize HSA tracing roctracer_set_properties(ACTIVITY_DOMAIN_HSA_API, (void*)table); - fprintf(stdout, " HSA-trace("); fflush(stdout); + fprintf(stdout, " HSA-trace("); + fflush(stdout); if (hsa_api_vec().size() != 0) { for (unsigned i = 0; i < hsa_api_vec().size(); ++i) { uint32_t cid = HSA_API_ID_NUMBER; const char* api = hsa_api_vec()[i].c_str(); ROCTRACER_CALL(roctracer_op_code(ACTIVITY_DOMAIN_HSA_API, api, &cid, NULL)); - ROCTRACER_CALL(roctracer_enable_op_callback(ACTIVITY_DOMAIN_HSA_API, cid, hsa_api_callback, NULL)); + ROCTRACER_CALL( + roctracer_enable_op_callback(ACTIVITY_DOMAIN_HSA_API, cid, hsa_api_callback, NULL)); printf(" %s", api); } } else { - ROCTRACER_CALL(roctracer_enable_domain_callback(ACTIVITY_DOMAIN_HSA_API, hsa_api_callback, NULL)); + ROCTRACER_CALL( + roctracer_enable_domain_callback(ACTIVITY_DOMAIN_HSA_API, hsa_api_callback, NULL)); } printf(")\n"); } @@ -1018,21 +1034,20 @@ extern "C" PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, hsa_async_copy_file_handle = open_output_file(output_prefix, "async_copy_trace.txt"); // initialize HSA tracing - roctracer::hsa_ops_properties_t ops_properties { - table, - reinterpret_cast(hsa_activity_callback), - NULL, - output_prefix - }; + roctracer::hsa_ops_properties_t ops_properties{ + table, reinterpret_cast(hsa_activity_callback), NULL, + output_prefix}; roctracer_set_properties(ACTIVITY_DOMAIN_HSA_OPS, &ops_properties); - fprintf(stdout, " HSA-activity-trace()\n"); fflush(stdout); + fprintf(stdout, " HSA-activity-trace()\n"); + fflush(stdout); ROCTRACER_CALL(roctracer_enable_op_activity(ACTIVITY_DOMAIN_HSA_OPS, HSA_OP_ID_COPY)); } // Enable HIP API callbacks/activity if (trace_hip_api || trace_hip_activity) { - fprintf(stdout, " HIP-trace()\n"); fflush(stdout); + fprintf(stdout, " HIP-trace()\n"); + fflush(stdout); // roctracer properties roctracer_set_properties(ACTIVITY_DOMAIN_HIP_API, (void*)mark_api_callback); // Allocating tracing pool @@ -1052,11 +1067,13 @@ extern "C" PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, uint32_t cid = HIP_API_ID_NONE; const char* api = hip_api_vec()[i].c_str(); ROCTRACER_CALL(roctracer_op_code(ACTIVITY_DOMAIN_HIP_API, api, &cid, NULL)); - ROCTRACER_CALL(roctracer_enable_op_callback(ACTIVITY_DOMAIN_HIP_API, cid, hip_api_callback, NULL)); + ROCTRACER_CALL( + roctracer_enable_op_callback(ACTIVITY_DOMAIN_HIP_API, cid, hip_api_callback, NULL)); printf(" %s", api); } } else { - ROCTRACER_CALL(roctracer_enable_domain_callback(ACTIVITY_DOMAIN_HIP_API, hip_api_callback, NULL)); + ROCTRACER_CALL( + roctracer_enable_domain_callback(ACTIVITY_DOMAIN_HIP_API, hip_api_callback, NULL)); } if (is_stats_opt) { @@ -1087,7 +1104,8 @@ extern "C" PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, // Enable PC sampling if (trace_pcs) { - fprintf(stdout, " PCS-trace()\n"); fflush(stdout); + fprintf(stdout, " PCS-trace()\n"); + fflush(stdout); open_tracing_pool(); pc_sample_file_handle = open_output_file(output_prefix, "pcs_trace.txt"); ROCTRACER_CALL(roctracer_enable_op_activity(ACTIVITY_DOMAIN_HSA_OPS, HSA_OP_ID_RESERVED1)); @@ -1103,17 +1121,19 @@ extern "C" PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, } // HSA-runtime on-unload method -extern "C" PUBLIC_API void OnUnload() { - ONLOAD_TRACE(""); -} +extern "C" PUBLIC_API void OnUnload() { ONLOAD_TRACE(""); } extern "C" CONSTRUCTOR_API void constructor() { ONLOAD_TRACE_BEG(); roctracer::hip_support::HIP_depth_max = 0; - roctx_trace_buffer = new roctracer::TraceBuffer("rocTX API", 0x200000, &roctx_flush_prm, 1); - hip_api_trace_buffer = new roctracer::TraceBuffer("HIP API", 0x200000, &hip_api_flush_prm, 1); - hip_act_trace_buffer = new roctracer::TraceBuffer("HIP ACT", 0x200000, &hip_act_flush_prm, 1, 1); - hsa_api_trace_buffer = new roctracer::TraceBuffer("HSA API", 0x200000, &hsa_flush_prm, 1); + roctx_trace_buffer = + new roctracer::TraceBuffer("rocTX API", 0x200000, &roctx_flush_prm, 1); + hip_api_trace_buffer = + new roctracer::TraceBuffer("HIP API", 0x200000, &hip_api_flush_prm, 1); + hip_act_trace_buffer = new roctracer::TraceBuffer( + "HIP ACT", 0x200000, &hip_act_flush_prm, 1, 1); + hsa_api_trace_buffer = + new roctracer::TraceBuffer("HSA API", 0x200000, &hsa_flush_prm, 1); roctracer_load(); tool_load(); ONLOAD_TRACE_END(); From dc22139977e11870cca6f73a580e79790d6f837c Mon Sep 17 00:00:00 2001 From: Laurent Morichetti Date: Tue, 19 Apr 2022 14:09:20 -0700 Subject: [PATCH 488/691] Address review comments from previous commit Change-Id: I6629dd911de0d7fd08d7a863c172ec73f35fa3d1 --- src/core/roctracer.cpp | 1 - src/proxy/simple_proxy_queue.h | 2 +- src/util/logger.h | 6 +++--- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/src/core/roctracer.cpp b/src/core/roctracer.cpp index 4464b1404e..70b6679603 100644 --- a/src/core/roctracer.cpp +++ b/src/core/roctracer.cpp @@ -763,7 +763,6 @@ static inline uint32_t get_op_end(uint32_t domain) { return HIP_OP_ID_NUMBER; case ACTIVITY_DOMAIN_HIP_API: return HIP_API_ID_LAST + 1; - ; case ACTIVITY_DOMAIN_EXT_API: return 0; case ACTIVITY_DOMAIN_ROCTX: diff --git a/src/proxy/simple_proxy_queue.h b/src/proxy/simple_proxy_queue.h index 3b76c4bf30..4c588b22db 100644 --- a/src/proxy/simple_proxy_queue.h +++ b/src/proxy/simple_proxy_queue.h @@ -124,7 +124,7 @@ class SimpleProxyQueue : public ProxyQueue { // Compute the write index of queue const uint64_t que_idx = hsa_queue_load_write_index_relaxed_fn(queue_); - // Waiting untill there is a free space in the queue + // Waiting until there is a free space in the queue while (que_idx >= (hsa_queue_load_read_index_relaxed_fn(queue_) + size_)) ; diff --git a/src/util/logger.h b/src/util/logger.h index e4927df2f0..ed3709af88 100644 --- a/src/util/logger.h +++ b/src/util/logger.h @@ -190,9 +190,9 @@ class Logger { #define DBG_LOGGING(stream) \ do { \ roctracer::util::Logger::Instance() \ - << roctracer::util::Logger::begm << "debug: \"" << stream << "\"" < < < < \ - " in " << __FUNCTION__ << " at " << __FILE__ << " line " << __LINE__ \ - << roctracer::util::Logger::endl; \ + << roctracer::util::Logger::begm << "debug: \"" << stream << "\"" \ + << " in " << __FUNCTION__ << " at " << __FILE__ << " line " << __LINE__ \ + << roctracer::util::Logger::endl; \ } while (0) #endif From cd62d841fa89f8dfea8dd84a34fe0db36d73cc9d Mon Sep 17 00:00:00 2001 From: Laurent Morichetti Date: Mon, 18 Apr 2022 16:13:08 -0700 Subject: [PATCH 489/691] Make roctracer_cb_table.h a private header Move roctracer_cb_table.h to the src/core directory, as it should not be exposed as a public header, and rename it callback_table.h Change-Id: Ib448cbd32a275df0268d53bd8d1da0bdc9201470 --- CMakeLists.txt | 1 - inc/roctracer_roctx.h | 16 ++---- script/hsaap.py | 5 +- src/CMakeLists.txt | 1 - .../core/callback_table.h | 54 +++++++------------ src/core/roctracer.cpp | 6 ++- src/roctx/roctx.cpp | 31 +++++++++-- src/roctx/roctx_intercept.cpp | 50 ----------------- 8 files changed, 57 insertions(+), 107 deletions(-) rename inc/roctracer_cb_table.h => src/core/callback_table.h (60%) delete mode 100644 src/roctx/roctx_intercept.cpp diff --git a/CMakeLists.txt b/CMakeLists.txt index 5ebde9efe5..b30adb3b16 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -93,7 +93,6 @@ set ( PUBLIC_HEADERS roctracer_hip.h roctracer_hsa.h roctracer_roctx.h - roctracer_cb_table.h ext/prof_protocol.h ext/hsa_rt_utils.hpp ) diff --git a/inc/roctracer_roctx.h b/inc/roctracer_roctx.h index 0c08dafc21..3beee3060b 100644 --- a/inc/roctracer_roctx.h +++ b/inc/roctracer_roctx.h @@ -32,6 +32,10 @@ #define INC_ROCTRACER_ROCTX_H_ #include +#ifdef __cplusplus +extern "C" { +#endif // __cplusplus + // ROC-TX API ID enumeration enum roctx_api_id_t { ROCTX_API_ID_roctxMarkA = 0, @@ -70,18 +74,6 @@ typedef struct roctx_api_data_s { } args; } roctx_api_data_t; -#ifdef __cplusplus -#include -namespace roctx { -// ROCTX callbacks table type -typedef roctracer::CbTable cb_table_t; -} // namespace roctx -#endif - -#ifdef __cplusplus -extern "C" { -#endif // __cplusplus - // Regiter ROCTX callback for given opertaion id bool RegisterApiCallback(uint32_t op, void* callback, void* arg); diff --git a/script/hsaap.py b/script/hsaap.py index 2e67c75925..dd2ce504bf 100755 --- a/script/hsaap.py +++ b/script/hsaap.py @@ -324,6 +324,7 @@ class API_DescrParser: self.content += '\n' self.content += '#if PROF_API_IMPL\n' + self.content += '#include \"core/callback_table.h\"\n'; self.content += 'namespace roctracer {\n' self.content += 'namespace hsa_support {\n' self.add_section('API callback functions', '', self.gen_callbacks) @@ -394,7 +395,7 @@ class API_DescrParser: # generate API callbacks def gen_callbacks(self, n, name, call, struct): if n == -1: - self.content += 'typedef CbTable cb_table_t;\n' + self.content += 'typedef CallbackTable cb_table_t;\n' self.content += 'extern cb_table_t cb_table;\n' self.content += '\n' if call != '-': @@ -412,7 +413,7 @@ class API_DescrParser: self.content += ' api_data.args.' + call + '.' + var + '__val = ' + '*(' + var + ');\n' self.content += ' activity_rtapi_callback_t api_callback_fun = NULL;\n' self.content += ' void* api_callback_arg = NULL;\n' - self.content += ' cb_table.get(' + call_id + ', &api_callback_fun, &api_callback_arg);\n' + self.content += ' cb_table.Get(' + call_id + ', &api_callback_fun, &api_callback_arg);\n' self.content += ' api_data.phase = 0;\n' self.content += ' if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, ' + call_id + ', &api_data, api_callback_arg);\n' if ret_type != 'void': diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 8fff755303..f2068d65a4 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -53,7 +53,6 @@ target_link_libraries( ${TARGET_LIB} PRIVATE ${HSA_RUNTIME_LIB} c stdc++ ) set ( ROCTX_LIB "roctx64" ) set ( ROCTX_LIB_SRC ${LIB_DIR}/roctx/roctx.cpp - ${LIB_DIR}/roctx/roctx_intercept.cpp ) add_library ( ${ROCTX_LIB} SHARED ${ROCTX_LIB_SRC} ) target_include_directories ( ${ROCTX_LIB} PRIVATE ${LIB_DIR} ${ROOT_DIR} ${ROOT_DIR}/inc ${HSA_RUNTIME_INC_PATH} ${GEN_INC_DIR} ) diff --git a/inc/roctracer_cb_table.h b/src/core/callback_table.h similarity index 60% rename from inc/roctracer_cb_table.h rename to src/core/callback_table.h index def96b3488..52c4fccdb8 100644 --- a/inc/roctracer_cb_table.h +++ b/src/core/callback_table.h @@ -18,56 +18,42 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -#ifndef CB_TABLE_H_ -#define CB_TABLE_H_ +#ifndef CALLBACK_TABLE_H_ +#define CALLBACK_TABLE_H_ #include +#include #include +#include namespace roctracer { // Generic callbacks table -template class CbTable { +template class CallbackTable { public: - typedef std::mutex mutex_t; + CallbackTable() + // Zero initialize the callbacks array as the function pointer is used to determine if the + // callback is enabled. + : callbacks_() {} - CbTable() { - std::lock_guard lck(mutex_); - for (int i = 0; i < N; i++) { - callback_[i] = NULL; - arg_[i] = NULL; - } + void Set(uint32_t id, activity_rtapi_callback_t callback, void* arg) { + assert(id < N && "id is out of range"); + std::lock_guard lock(mutex_); + callbacks_[id] = {callback, arg}; } - bool set(uint32_t id, activity_rtapi_callback_t callback, void* arg) { - std::lock_guard lck(mutex_); - bool ret = false; - if (id < N) { - callback_[id] = callback; - arg_[id] = arg; - ret = true; - } - return ret; - } - - bool get(uint32_t id, activity_rtapi_callback_t* callback, void** arg) { - std::lock_guard lck(mutex_); - bool ret = false; - if (id < N) { - *callback = callback_[id]; - *arg = arg_[id]; - ret = true; - } - return ret; + void Get(uint32_t id, activity_rtapi_callback_t* callback, void** arg) const { + assert(id < N && "id is out of range"); + std::lock_guard lock(mutex_); + std::tie(*callback, *arg) = callbacks_[id]; } private: - activity_rtapi_callback_t callback_[N]; - void* arg_[N]; - mutex_t mutex_; + std::array, N> callbacks_; + mutable std::mutex mutex_; }; } // namespace roctracer -#endif // CB_TALE_H_ +#endif // CALLBACK_TABLE_H_ diff --git a/src/core/roctracer.cpp b/src/core/roctracer.cpp index 70b6679603..92bcf7631c 100644 --- a/src/core/roctracer.cpp +++ b/src/core/roctracer.cpp @@ -788,7 +788,8 @@ static roctracer_status_t roctracer_enable_callback_fun(roctracer_domain_t domai break; } #endif - roctracer::hsa_support::cb_table.set(op, callback, user_data); + if (op >= HSA_API_ID_NUMBER) return ROCTRACER_STATUS_BAD_PARAMETER; + roctracer::hsa_support::cb_table.Set(op, callback, user_data); break; } case ACTIVITY_DOMAIN_HSA_EVT: { @@ -885,7 +886,8 @@ static roctracer_status_t roctracer_disable_callback_fun(roctracer_domain_t doma break; } #endif - roctracer::hsa_support::cb_table.set(op, NULL, NULL); + if (op >= HSA_API_ID_NUMBER) return ROCTRACER_STATUS_BAD_PARAMETER; + roctracer::hsa_support::cb_table.Set(op, NULL, NULL); break; } case ACTIVITY_DOMAIN_HCC_OPS: diff --git a/src/roctx/roctx.cpp b/src/roctx/roctx.cpp index 486e97b7b4..bbdf670541 100644 --- a/src/roctx/roctx.cpp +++ b/src/roctx/roctx.cpp @@ -27,6 +27,7 @@ #include #include "inc/ext/prof_protocol.h" +#include "core/callback_table.h" #include "util/exception.h" #include "util/logger.h" @@ -75,6 +76,14 @@ typedef enum { // Library implementation // namespace roctx { + +// ROCTX callbacks table type +typedef roctracer::CallbackTable cb_table_t; + +// callbacks table +cb_table_t cb_table; + + typedef std::stack message_stack_t; typedef std::map thread_map_t; typedef std::mutex map_mutex_t; @@ -124,7 +133,7 @@ PUBLIC_API void roctxMarkA(const char* message) { api_data.args.roctxMarkA.message = strdup(message); activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; - roctx::cb_table.get(ROCTX_API_ID_roctxMarkA, &api_callback_fun, &api_callback_arg); + roctx::cb_table.Get(ROCTX_API_ID_roctxMarkA, &api_callback_fun, &api_callback_arg); if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_ROCTX, ROCTX_API_ID_roctxMarkA, &api_data, api_callback_arg); API_METHOD_SUFFIX_NRET @@ -138,7 +147,7 @@ PUBLIC_API int roctxRangePushA(const char* message) { api_data.args.roctxRangePushA.message = strdup(message); activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; - roctx::cb_table.get(ROCTX_API_ID_roctxRangePushA, &api_callback_fun, &api_callback_arg); + roctx::cb_table.Get(ROCTX_API_ID_roctxRangePushA, &api_callback_fun, &api_callback_arg); if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_ROCTX, ROCTX_API_ID_roctxRangePushA, &api_data, api_callback_arg); @@ -155,7 +164,7 @@ PUBLIC_API int roctxRangePop() { roctx_api_data_t api_data{}; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; - roctx::cb_table.get(ROCTX_API_ID_roctxRangePop, &api_callback_fun, &api_callback_arg); + roctx::cb_table.Get(ROCTX_API_ID_roctxRangePop, &api_callback_fun, &api_callback_arg); if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_ROCTX, ROCTX_API_ID_roctxRangePop, &api_data, api_callback_arg); @@ -178,7 +187,7 @@ PUBLIC_API roctx_range_id_t roctxRangeStartA(const char* message) { api_data.args.roctxRangeStartA.id = roctx_range_counter; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; - roctx::cb_table.get(ROCTX_API_ID_roctxRangeStartA, &api_callback_fun, &api_callback_arg); + roctx::cb_table.Get(ROCTX_API_ID_roctxRangeStartA, &api_callback_fun, &api_callback_arg); if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_ROCTX, ROCTX_API_ID_roctxRangeStartA, &api_data, api_callback_arg); @@ -193,7 +202,7 @@ PUBLIC_API void roctxRangeStop(roctx_range_id_t rangeId) { api_data.args.roctxRangeStop.id = rangeId; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; - roctx::cb_table.get(ROCTX_API_ID_roctxRangeStop, &api_callback_fun, &api_callback_arg); + roctx::cb_table.Get(ROCTX_API_ID_roctxRangeStop, &api_callback_fun, &api_callback_arg); if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_ROCTX, ROCTX_API_ID_roctxRangeStop, &api_data, api_callback_arg); @@ -213,4 +222,16 @@ PUBLIC_API void RangeStackIterate(roctx_range_iterate_cb_t callback, void* arg) } } +PUBLIC_API bool RegisterApiCallback(uint32_t op, void* callback, void* arg) { + if (op >= ROCTX_API_ID_NUMBER) return false; + roctx::cb_table.Set(op, reinterpret_cast(callback), arg); + return true; +} + +PUBLIC_API bool RemoveApiCallback(uint32_t op) { + if (op >= ROCTX_API_ID_NUMBER) return false; + roctx::cb_table.Get(op, NULL, NULL); + return true; +} + } // extern "C" diff --git a/src/roctx/roctx_intercept.cpp b/src/roctx/roctx_intercept.cpp deleted file mode 100644 index 11de368da5..0000000000 --- a/src/roctx/roctx_intercept.cpp +++ /dev/null @@ -1,50 +0,0 @@ -/* -Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. -*/ - -#include "inc/roctx.h" -#include "inc/roctracer_roctx.h" -#include "util/logger.h" - -#define PUBLIC_API __attribute__((visibility("default"))) - -/////////////////////////////////////////////////////////////////////////////////////////////////// -// Library implementation -// -namespace roctx { - -// callbacks table -cb_table_t cb_table; - -} // namespace roctx - -/////////////////////////////////////////////////////////////////////////////////////////////////// -// Public library methods -// -extern "C" { - -PUBLIC_API bool RegisterApiCallback(uint32_t op, void* callback, void* arg) { - return roctx::cb_table.set(op, reinterpret_cast(callback), arg); -} - -PUBLIC_API bool RemoveApiCallback(uint32_t op) { return roctx::cb_table.set(op, NULL, NULL); } - -} // extern "C" From 9d728f74a14cbce6aaa4fa8d74d6be1ab0cd9c84 Mon Sep 17 00:00:00 2001 From: Laurent Morichetti Date: Mon, 18 Apr 2022 18:58:33 -0700 Subject: [PATCH 490/691] Simplify memory_pool.h Use the standard concurrent support library (std::thread, std::mutex, st::condition_variable) instead of pthread. Fix a mismatched memory allocation/deallocation when a custom allocator is provided. The MemoryPool destructor was always using the default allocator (using malloc/realloc/free) even if the pool memory was allocated with the custom allocator. Fix various thread safety issues and inefficiencies (spin loops). Change-Id: I97592caa947f63463041bf43e00af9ebb5ff5886 --- src/core/memory_pool.h | 300 ++++++++++++++++++++--------------------- 1 file changed, 143 insertions(+), 157 deletions(-) diff --git a/src/core/memory_pool.h b/src/core/memory_pool.h index 784565cec5..6d84305eae 100644 --- a/src/core/memory_pool.h +++ b/src/core/memory_pool.h @@ -21,186 +21,172 @@ #ifndef MEMORY_POOL_H_ #define MEMORY_POOL_H_ -#include -#include - -#include -#include - #include "util/exception.h" -#define PTHREAD_CALL(call) \ - do { \ - int err = call; \ - if (err != 0) { \ - errno = err; \ - perror(#call); \ - abort(); \ - } \ - } while (0) +#include +#include +#include +#include +#include namespace roctracer { class MemoryPool { public: - typedef std::mutex mutex_t; + MemoryPool(const roctracer_properties_t& properties) : properties_(properties) { + // Pool definition: The memory pool is split in 2 buffers of equal size. When first initialized, + // the write pointer points to the first element of the first buffer. When a buffer is full, or + // when Flush() is called, the write pointer moves to the other buffer. + const size_t allocation_size = 2 * properties_.buffer_size; + pool_begin_ = nullptr; + AllocateMemory(&pool_begin_, allocation_size); + if (pool_begin_ == nullptr) EXC_ABORT(ROCTRACER_STATUS_ERROR, "pool allocator failed"); - static void allocator_default(char** ptr, size_t size, void* arg) { - (void)arg; - if (*ptr == NULL) { + pool_end_ = pool_begin_ + allocation_size; + buffer_begin_ = pool_begin_; + buffer_end_ = buffer_begin_ + properties_.buffer_size; + write_ptr_ = buffer_begin_; + + // Create a consumer thread and wait for it to be ready to accept work. + std::promise ready; + std::future future = ready.get_future(); + consumer_thread_ = std::thread(ConsumerThreadLoop, this, std::move(ready)); + future.wait(); + } + + ~MemoryPool() { + Flush(); + + // Wait for the previous flush to complete, then send the exit signal. + NotifyConsumerThread(nullptr, nullptr); + consumer_thread_.join(); + + // Free the pool's buffer memory. + AllocateMemory(&pool_begin_, 0); + } + + MemoryPool(const MemoryPool&) = delete; + MemoryPool& operator=(const MemoryPool&) = delete; + + template void Write(Record&& record) { + std::lock_guard producer_lock(producer_mutex_); + char* next = write_ptr_ + sizeof(record); + if (next > buffer_end_) { + NotifyConsumerThread(buffer_begin_, write_ptr_); + + // Switch buffers + buffer_begin_ = (buffer_end_ == pool_end_) ? pool_begin_ : buffer_end_; + buffer_end_ = buffer_begin_ + properties_.buffer_size; + write_ptr_ = buffer_begin_; + + next = write_ptr_ + sizeof(record); + if (next > buffer_end_) + EXC_ABORT(ROCTRACER_STATUS_ERROR, + "buffer size(" << properties_.buffer_size << ") is less then the record(" + << sizeof(record) << ")"); + } + + // Store the record into the buffer, and increment the write pointer. + ::memcpy(write_ptr_, &record, sizeof(record)); + write_ptr_ = next; + } + + // Flush the records and block until they are all made visible to the client. + void Flush() { + std::lock_guard producer_lock(producer_mutex_); + if (write_ptr_ == buffer_begin_) return; + + NotifyConsumerThread(buffer_begin_, write_ptr_); + + // Switch buffers + buffer_begin_ = (buffer_end_ == pool_end_) ? pool_begin_ : buffer_end_; + buffer_end_ = buffer_begin_ + properties_.buffer_size; + write_ptr_ = buffer_begin_; + + // Wait for the current operation to complete. + std::unique_lock consumer_lock(consumer_mutex_); + consumer_cond_.wait(consumer_lock, [this]() { return !consumer_arg_.valid; }); + } + + private: + void ConsumerThreadLoop(std::promise ready) { + std::unique_lock consumer_lock(consumer_mutex_); + + // This consumer is now ready to accept work. + ready.set_value(); + + while (true) { + consumer_cond_.wait(consumer_lock, [this]() { return consumer_arg_.valid; }); + + // begin == end == nullptr means the thread needs to exit. + if (consumer_arg_.begin == nullptr && consumer_arg_.end == nullptr) break; + + properties_.buffer_callback_fun(consumer_arg_.begin, consumer_arg_.end, + properties_.buffer_callback_arg); + + // Mark this operation as complete (valid=false) and notify a producer, if any, that may be + // waiting to start a new operation. See comment below in NotifyConsumerThread(). + consumer_arg_.valid = false; + consumer_cond_.notify_one(); + } + } + + void NotifyConsumerThread(const char* data_begin, const char* data_end) { + std::unique_lock consumer_lock(consumer_mutex_); + + // If consumer_arg_ is still in use (valid=true), then wait for the consumer thread to finish + // processing the current operation. Multiple producers may wait here, one will be allowed to + // continue once the consumer thread is idle and valid=false. This prevents a race condition + // where operations would be lost if multiple producers could enter this critical section + // (sequentially) before the consumer thread could re-acquire the consumer_mutex_ lock. + consumer_cond_.wait(consumer_lock, [this]() { return !consumer_arg_.valid; }); + + consumer_arg_.begin = data_begin; + consumer_arg_.end = data_end; + + consumer_arg_.valid = true; + consumer_cond_.notify_all(); + } + + void AllocateMemory(char** ptr, size_t size) const { + if (properties_.alloc_fun != nullptr) { + // Use the custom allocator provided in the properties. + properties_.alloc_fun(ptr, size, properties_.alloc_arg); + return; + } + + // No custom allocator was provided so use the default malloc/realloc/free allocator. + if (*ptr == nullptr) { *ptr = reinterpret_cast(malloc(size)); } else if (size != 0) { *ptr = reinterpret_cast(realloc(*ptr, size)); } else { free(*ptr); - *ptr = NULL; + *ptr = nullptr; } } - MemoryPool(const roctracer_properties_t& properties) { - // Assigning pool allocator - alloc_fun_ = allocator_default; - alloc_arg_ = NULL; - if (properties.alloc_fun != NULL) { - alloc_fun_ = properties.alloc_fun; - alloc_arg_ = properties.alloc_arg; - } - - // Pool definition - buffer_size_ = properties.buffer_size; - const size_t pool_size = 2 * buffer_size_; - pool_begin_ = NULL; - alloc_fun_(&pool_begin_, pool_size, alloc_arg_); - if (pool_begin_ == NULL) EXC_ABORT(ROCTRACER_STATUS_ERROR, "pool allocator failed"); - pool_end_ = pool_begin_ + pool_size; - buffer_begin_ = pool_begin_; - buffer_end_ = buffer_begin_ + buffer_size_; - write_ptr_ = buffer_begin_; - - // Consuming read thread - read_callback_fun_ = properties.buffer_callback_fun; - read_callback_arg_ = properties.buffer_callback_arg; - consumer_arg_.set(this, NULL, NULL, true); - PTHREAD_CALL(pthread_mutex_init(&read_mutex_, NULL)); - PTHREAD_CALL(pthread_cond_init(&read_cond_, NULL)); - PTHREAD_CALL(pthread_create(&consumer_thread_, NULL, reader_fun, &consumer_arg_)); - } - - ~MemoryPool() { - Flush(); - PTHREAD_CALL(pthread_cancel(consumer_thread_)); - void* res; - PTHREAD_CALL(pthread_join(consumer_thread_, &res)); - if (res != PTHREAD_CANCELED) - EXC_ABORT(ROCTRACER_STATUS_ERROR, "consumer thread wasn't stopped correctly"); - allocator_default(&pool_begin_, 0, alloc_arg_); - } - - template void Write(const Record& record) { - std::lock_guard lock(write_mutex_); - getRecord(record); - } - - void Flush() { - std::lock_guard lock(write_mutex_); - if (write_ptr_ > buffer_begin_) { - spawn_reader(buffer_begin_, write_ptr_); - sync_reader(&consumer_arg_); - buffer_begin_ = (buffer_end_ == pool_end_) ? pool_begin_ : buffer_end_; - buffer_end_ = buffer_begin_ + buffer_size_; - write_ptr_ = buffer_begin_; - } - } - - private: - struct consumer_arg_t { - MemoryPool* obj; - const char* begin; - const char* end; - volatile std::atomic valid; - void set(MemoryPool* obj_p, const char* begin_p, const char* end_p, bool valid_p) { - obj = obj_p; - begin = begin_p; - end = end_p; - valid.store(valid_p); - } - }; - - template Record* getRecord(const Record& init) { - char* next = write_ptr_ + sizeof(Record); - if (next > buffer_end_) { - if (write_ptr_ == buffer_begin_) - EXC_ABORT(ROCTRACER_STATUS_ERROR, - "buffer size(" << buffer_size_ << ") is less then the record(" << sizeof(Record) - << ")"); - spawn_reader(buffer_begin_, write_ptr_); - buffer_begin_ = (buffer_end_ == pool_end_) ? pool_begin_ : buffer_end_; - buffer_end_ = buffer_begin_ + buffer_size_; - write_ptr_ = buffer_begin_; - next = write_ptr_ + sizeof(Record); - } - - Record* ptr = reinterpret_cast(write_ptr_); - write_ptr_ = next; - - *ptr = init; - return ptr; - } - - static void reset_reader(consumer_arg_t* arg) { arg->valid.store(false); } - - static void sync_reader(const consumer_arg_t* arg) { - while (arg->valid.load() == true) PTHREAD_CALL(sched_yield()); - } - - static void* reader_fun(void* consumer_arg) { - consumer_arg_t* arg = reinterpret_cast(consumer_arg); - roctracer::MemoryPool* obj = arg->obj; - - reset_reader(arg); - - while (1) { - PTHREAD_CALL(pthread_mutex_lock(&(obj->read_mutex_))); - while (arg->valid.load() == false) { - PTHREAD_CALL(pthread_cond_wait(&(obj->read_cond_), &(obj->read_mutex_))); - } - - obj->read_callback_fun_(arg->begin, arg->end, obj->read_callback_arg_); - reset_reader(arg); - PTHREAD_CALL(pthread_mutex_unlock(&(obj->read_mutex_))); - } - - return NULL; - } - - void spawn_reader(const char* data_begin, const char* data_end) { - sync_reader(&consumer_arg_); - PTHREAD_CALL(pthread_mutex_lock(&read_mutex_)); - consumer_arg_.set(this, data_begin, data_end, true); - PTHREAD_CALL(pthread_cond_signal(&read_cond_)); - PTHREAD_CALL(pthread_mutex_unlock(&read_mutex_)); - } - - // pool allocator - roctracer_allocator_t alloc_fun_; - void* alloc_arg_; + // Properties used to create the memory pool. + const roctracer_properties_t properties_; // Pool definition - size_t buffer_size_; - char* pool_begin_; + char* pool_begin_; // FIXME: shouldn't these be void*? char* pool_end_; char* buffer_begin_; char* buffer_end_; char* write_ptr_; - mutex_t write_mutex_; + std::mutex producer_mutex_; - // Consuming read thread - roctracer_buffer_callback_t read_callback_fun_; - void* read_callback_arg_; - consumer_arg_t consumer_arg_; - pthread_t consumer_thread_; - pthread_mutex_t read_mutex_; - pthread_cond_t read_cond_; + // Consumer thread + std::thread consumer_thread_; + struct { + const char* begin; + const char* end; + bool valid = false; + } consumer_arg_; + + std::mutex consumer_mutex_; + std::condition_variable consumer_cond_; }; } // namespace roctracer From a0fd1e7c4b1cc7e1d00f4f0dee7b5096a09960a5 Mon Sep 17 00:00:00 2001 From: Laurent Morichetti Date: Wed, 20 Apr 2022 16:05:28 -0700 Subject: [PATCH 491/691] Close the default pool on exit Change-Id: I388ea4d4f06c1818312a72185ef55b615c730509 --- test/tool/tracer_tool.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/test/tool/tracer_tool.cpp b/test/tool/tracer_tool.cpp index 65c93e706b..d622a968a2 100644 --- a/test/tool/tracer_tool.cpp +++ b/test/tool/tracer_tool.cpp @@ -760,8 +760,9 @@ void open_tracing_pool() { // Flush tracing pool void close_tracing_pool() { - if (roctracer_default_pool() != NULL) { - ROCTRACER_CALL(roctracer_flush_activity()); + if (roctracer_pool_t* pool = roctracer_default_pool(); pool != nullptr) { + ROCTRACER_CALL(roctracer_flush_activity_expl(pool)); + ROCTRACER_CALL(roctracer_close_pool_expl(pool)); } } From c009df3327fef6f10375a2af067cc88465810ea0 Mon Sep 17 00:00:00 2001 From: Laurent Morichetti Date: Wed, 20 Apr 2022 19:41:41 -0700 Subject: [PATCH 492/691] Remove hip_act_cb_tracker.h It only defines one class (hip_act_cb_tracker_t) that is only used by roctracer.cpp. Change-Id: I375a25bd363770d70a7b3b713223484a498cc3d1 --- src/core/hip_act_cb_tracker.h | 40 ----------------------------------- src/core/roctracer.cpp | 13 +++++++++++- 2 files changed, 12 insertions(+), 41 deletions(-) delete mode 100644 src/core/hip_act_cb_tracker.h diff --git a/src/core/hip_act_cb_tracker.h b/src/core/hip_act_cb_tracker.h deleted file mode 100644 index a3ed2c6f13..0000000000 --- a/src/core/hip_act_cb_tracker.h +++ /dev/null @@ -1,40 +0,0 @@ -/* Copyright (c) 2018-2022 Advanced Micro Devices, Inc. - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - THE SOFTWARE. */ - -#ifndef CORE_HIP_ACT_CB_TRACKER_H_ -#define CORE_HIP_ACT_CB_TRACKER_H_ - -#include - -namespace roctracer { -enum { API_CB_MASK = 0x1, ACT_CB_MASK = 0x2 }; - -class hip_act_cb_tracker_t { - private: - std::map data; - - public: - uint32_t enable_check(uint32_t op, uint32_t mask) { return data[op] |= mask; } - - uint32_t disable_check(uint32_t op, uint32_t mask) { return data[op] &= ~mask; } -}; // hip_act_cb_tracker_t -}; // namespace roctracer - -#endif // CORE_HIP_ACT_CB_TRACKER_H_ diff --git a/src/core/roctracer.cpp b/src/core/roctracer.cpp index 92bcf7631c..c9e4103a67 100644 --- a/src/core/roctracer.cpp +++ b/src/core/roctracer.cpp @@ -35,8 +35,8 @@ #include #include #include +#include -#include "core/hip_act_cb_tracker.h" #include "core/journal.h" #include "core/loader.h" #include "core/memory_pool.h" @@ -222,6 +222,17 @@ bool act_en_functor_t::operator()(activity_domain_t domain, uint32_t op, Data&& return true; } +enum { API_CB_MASK = 0x1, ACT_CB_MASK = 0x2 }; + +class hip_act_cb_tracker_t { + public: + uint32_t enable_check(uint32_t op, uint32_t mask) { return data_[op] |= mask; } + uint32_t disable_check(uint32_t op, uint32_t mask) { return data_[op] &= ~mask; } + + private: + std::unordered_map data_; +}; + void hsa_async_copy_handler(::proxy::Tracker::entry_t* entry); void hsa_kernel_handler(::proxy::Tracker::entry_t* entry); constexpr TraceBuffer::flush_prm_t trace_buffer_prm[] = { From d3b166cf019587938218b55b85e35625886aeb43 Mon Sep 17 00:00:00 2001 From: Laurent Morichetti Date: Wed, 20 Apr 2022 20:25:27 -0700 Subject: [PATCH 493/691] Remove roctracer_hcc.h roctracer_hip.h now contains the definitions for the HCC_OPS domain. Change-Id: I132c993110254050aaa68828f3ca80f368ad24bc --- CMakeLists.txt | 1 - doc/roctracer_spec.md | 2 - inc/roctracer_hcc.h | 38 ------------------- inc/roctracer_hip.h | 6 +++ src/core/loader.h | 2 +- src/core/roctracer.cpp | 1 - test/MatrixTranspose_test/MatrixTranspose.cpp | 1 - test/tool/tracer_tool.cpp | 1 - 8 files changed, 7 insertions(+), 45 deletions(-) delete mode 100644 inc/roctracer_hcc.h diff --git a/CMakeLists.txt b/CMakeLists.txt index b30adb3b16..e77573c7fe 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -89,7 +89,6 @@ set ( PUBLIC_HEADERS roctx.h roctracer.h roctracer_ext.h - roctracer_hcc.h roctracer_hip.h roctracer_hsa.h roctracer_roctx.h diff --git a/doc/roctracer_spec.md b/doc/roctracer_spec.md index 33666bd97d..88629e9af9 100644 --- a/doc/roctracer_spec.md +++ b/doc/roctracer_spec.md @@ -390,7 +390,6 @@ void roctracer_stop(); ### 4.1. HIP API and HCC ops, GPU Activity Tracing ``` #include -#include // HIP API callback function void hip_api_callback( @@ -611,7 +610,6 @@ int main() { // HIP/HCC Callbacks/Activity tracing ///////////////////////////////////////////////////////////////////////////// #include -#include // Macro to check ROC-tracer calls status #define ROCTRACER_CALL(call) \ diff --git a/inc/roctracer_hcc.h b/inc/roctracer_hcc.h deleted file mode 100644 index 16800bd11c..0000000000 --- a/inc/roctracer_hcc.h +++ /dev/null @@ -1,38 +0,0 @@ -/* Copyright (c) 2018-2022 Advanced Micro Devices, Inc. - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - THE SOFTWARE. */ - -#ifndef INC_ROCTRACER_HCC_H_ -#define INC_ROCTRACER_HCC_H_ - -enum { HIP_OP_ID_DISPATCH = 0, HIP_OP_ID_COPY = 1, HIP_OP_ID_BARRIER = 2, HIP_OP_ID_NUMBER = 3 }; - -#ifdef __cplusplus -extern "C" { -#endif -typedef void(hipInitAsyncActivityCallback_t)(void* id_callback, void* op_callback, void* arg); -typedef bool(hipEnableAsyncActivityCallback_t)(unsigned op, bool enable); -typedef const char*(hipGetOpName_t)(unsigned op); -#ifdef __cplusplus -} -#endif - -#include - -#endif // INC_ROCTRACER_HCC_H_ diff --git a/inc/roctracer_hip.h b/inc/roctracer_hip.h index fc12e6770b..427e01e8d4 100644 --- a/inc/roctracer_hip.h +++ b/inc/roctracer_hip.h @@ -41,6 +41,8 @@ inline static std::ostream& operator<<(std::ostream& out, const char& v) { #include +enum { HIP_OP_ID_DISPATCH = 0, HIP_OP_ID_COPY = 1, HIP_OP_ID_BARRIER = 2, HIP_OP_ID_NUMBER = 3 }; + #ifdef __cplusplus extern "C" { #endif // __cplusplus @@ -48,6 +50,10 @@ extern "C" { // Traced calls ID enumeration typedef enum hip_api_id_t roctracer_hip_api_cid_t; +typedef void(hipInitAsyncActivityCallback_t)(void* id_callback, void* op_callback, void* arg); +typedef bool(hipEnableAsyncActivityCallback_t)(unsigned op, bool enable); +typedef const char*(hipGetOpName_t)(unsigned op); + #ifdef __cplusplus } // extern "C" block #endif // __cplusplus diff --git a/src/core/loader.h b/src/core/loader.h index 68906ff1e1..246f0150e5 100644 --- a/src/core/loader.h +++ b/src/core/loader.h @@ -242,7 +242,7 @@ class HipApi { #endif // HCC runtime library loader class -#include "inc/roctracer_hcc.h" +#include "inc/roctracer_hip.h" class HccApi { public: typedef BaseLoader Loader; diff --git a/src/core/roctracer.cpp b/src/core/roctracer.cpp index c9e4103a67..9fb92ade3c 100644 --- a/src/core/roctracer.cpp +++ b/src/core/roctracer.cpp @@ -19,7 +19,6 @@ THE SOFTWARE. */ #include "inc/roctracer.h" -#include "inc/roctracer_hcc.h" #include "inc/roctracer_hip.h" #include "inc/roctracer_ext.h" #include "inc/roctracer_roctx.h" diff --git a/test/MatrixTranspose_test/MatrixTranspose.cpp b/test/MatrixTranspose_test/MatrixTranspose.cpp index b3a607a32c..35abedff85 100644 --- a/test/MatrixTranspose_test/MatrixTranspose.cpp +++ b/test/MatrixTranspose_test/MatrixTranspose.cpp @@ -237,7 +237,6 @@ int main() { // #if 1 #include -#include #include #include diff --git a/test/tool/tracer_tool.cpp b/test/tool/tracer_tool.cpp index d622a968a2..209efe9895 100644 --- a/test/tool/tracer_tool.cpp +++ b/test/tool/tracer_tool.cpp @@ -36,7 +36,6 @@ #include #include #include -#include #include #include "src/core/loader.h" From abf1b900171c4542f16358d83141341c8501e3a5 Mon Sep 17 00:00:00 2001 From: Laurent Morichetti Date: Wed, 20 Apr 2022 20:38:21 -0700 Subject: [PATCH 494/691] Use ACTIVITY_DOMAIN_HIP_OPS instead of ACTIVITY_DOMAIN_HCC_OPS Change-Id: I43fbac3d02011f74bf7b597519148ed0bd68ff98 --- doc/roctracer_spec.md | 6 +++--- src/core/roctracer.cpp | 20 +++++++++---------- test/MatrixTranspose_test/MatrixTranspose.cpp | 6 +++--- test/tool/tracer_tool.cpp | 8 ++++---- 4 files changed, 20 insertions(+), 20 deletions(-) diff --git a/doc/roctracer_spec.md b/doc/roctracer_spec.md index 88629e9af9..3bf9894334 100644 --- a/doc/roctracer_spec.md +++ b/doc/roctracer_spec.md @@ -445,11 +445,11 @@ int main() { ROCTRACER_CALL(roctracer_enable_op_callback(ACTIVITY_DOMAIN_HIP_API, HIP_API_ID_hipModuleLaunchKernel, hip_api_callback, NULL)); - ROCTRACER_CALL(roctracer_enable_op_acticity(ACTIVITY_DOMAIN_HIP_API, + ROCTRACER_CALL(roctracer_enable_op_activity(ACTIVITY_DOMAIN_HIP_API, HIP_API_ID_hipModuleLaunchKernel)); // Enable HIP kernel dispatch activity tracing - ROCTRACER_CALL(roctracer_enable_op_activity(ACTIVITY_DOMAIN_HCC_OPS, - hc::HSA_OP_ID_DISPATCH)); + ROCTRACER_CALL(roctracer_enable_op_activity(ACTIVITY_DOMAIN_HIP_OPS, + HIP_OP_ID_DISPATCH)); diff --git a/src/core/roctracer.cpp b/src/core/roctracer.cpp index 9fb92ade3c..02c99dee17 100644 --- a/src/core/roctracer.cpp +++ b/src/core/roctracer.cpp @@ -519,12 +519,12 @@ void HCC_ActivityIdCallback(activity_correlation_id_t correlation_id) { void HCC_AsyncActivityCallback(uint32_t op_id, void* record, void* arg) { MemoryPool* pool = reinterpret_cast(arg); roctracer_record_t* record_ptr = reinterpret_cast(record); - record_ptr->domain = ACTIVITY_DOMAIN_HCC_OPS; + record_ptr->domain = ACTIVITY_DOMAIN_HIP_OPS; record_ptr->correlation_id = CorrelationIdLookup(record_ptr->correlation_id); if (record_ptr->correlation_id == 0) return; pool->Write(*record_ptr); - const char* name = roctracer_op_string(ACTIVITY_DOMAIN_HCC_OPS, record_ptr->op, record_ptr->kind); + const char* name = roctracer_op_string(ACTIVITY_DOMAIN_HIP_OPS, record_ptr->op, record_ptr->kind); DEBUG_TRACE( "HCC_AsyncActivityCallback(\"%s\"): op(%u) kind(%u) record(%p) pool(%p) correlation_id(%d) " "beg_ns(%lu) end_ns(%lu)\n", @@ -698,7 +698,7 @@ PUBLIC_API const char* roctracer_op_string(uint32_t domain, uint32_t op, uint32_ return roctracer::RocpLoader::Instance().GetEvtName(op); case ACTIVITY_DOMAIN_HSA_OPS: return roctracer::RocpLoader::Instance().GetOpName(op); - case ACTIVITY_DOMAIN_HCC_OPS: + case ACTIVITY_DOMAIN_HIP_OPS: return roctracer::HccLoader::Instance().GetOpName(kind); case ACTIVITY_DOMAIN_HIP_API: return roctracer::HipLoader::Instance().ApiName(op); @@ -747,7 +747,7 @@ static inline uint32_t get_op_begin(uint32_t domain) { return 0; case ACTIVITY_DOMAIN_HSA_EVT: return 0; - case ACTIVITY_DOMAIN_HCC_OPS: + case ACTIVITY_DOMAIN_HIP_OPS: return 0; case ACTIVITY_DOMAIN_HIP_API: return HIP_API_ID_FIRST; @@ -769,7 +769,7 @@ static inline uint32_t get_op_end(uint32_t domain) { return HSA_API_ID_NUMBER; case ACTIVITY_DOMAIN_HSA_EVT: return HSA_EVT_ID_NUMBER; - case ACTIVITY_DOMAIN_HCC_OPS: + case ACTIVITY_DOMAIN_HIP_OPS: return HIP_OP_ID_NUMBER; case ACTIVITY_DOMAIN_HIP_API: return HIP_API_ID_LAST + 1; @@ -810,7 +810,7 @@ static roctracer_status_t roctracer_enable_callback_fun(roctracer_domain_t domai "HSA::RegisterEvtCallback error(" << op << ") failed"); break; } - case ACTIVITY_DOMAIN_HCC_OPS: + case ACTIVITY_DOMAIN_HIP_OPS: break; case ACTIVITY_DOMAIN_HIP_API: { if (roctracer::HipLoader::Instance().Enabled() == false) break; @@ -900,7 +900,7 @@ static roctracer_status_t roctracer_disable_callback_fun(roctracer_domain_t doma roctracer::hsa_support::cb_table.Set(op, NULL, NULL); break; } - case ACTIVITY_DOMAIN_HCC_OPS: + case ACTIVITY_DOMAIN_HIP_OPS: break; case ACTIVITY_DOMAIN_HIP_API: { if (roctracer::HipLoader::Instance().Enabled() == false) break; @@ -1032,7 +1032,7 @@ static roctracer_status_t roctracer_enable_activity_fun(roctracer_domain_t domai break; case ACTIVITY_DOMAIN_HSA_EVT: break; - case ACTIVITY_DOMAIN_HCC_OPS: { + case ACTIVITY_DOMAIN_HIP_OPS: { const bool init_phase = (roctracer::HccLoader::GetRef() == NULL); if (roctracer::HccLoader::Instance().Enabled() == false) break; @@ -1119,7 +1119,7 @@ static roctracer_status_t roctracer_disable_activity_fun(roctracer_domain_t doma break; case ACTIVITY_DOMAIN_HSA_EVT: break; - case ACTIVITY_DOMAIN_HCC_OPS: { + case ACTIVITY_DOMAIN_HIP_OPS: { if (roctracer::HccLoader::Instance().Enabled() == false) break; const bool succ = roctracer::HccLoader::Instance().EnableActivityCallback(op, false); @@ -1305,7 +1305,7 @@ PUBLIC_API roctracer_status_t roctracer_set_properties(roctracer_domain_t domain roctracer::hsa_support::intercept_ImageExtTable(table->image_ext_); break; } - case ACTIVITY_DOMAIN_HCC_OPS: + case ACTIVITY_DOMAIN_HIP_OPS: case ACTIVITY_DOMAIN_HIP_API: { mark_api_callback_ptr = reinterpret_cast(properties); if (roctracer::hip_act_cb_tracker == NULL) diff --git a/test/MatrixTranspose_test/MatrixTranspose.cpp b/test/MatrixTranspose_test/MatrixTranspose.cpp index 35abedff85..87c4167dce 100644 --- a/test/MatrixTranspose_test/MatrixTranspose.cpp +++ b/test/MatrixTranspose_test/MatrixTranspose.cpp @@ -316,7 +316,7 @@ void activity_callback(const char* begin, const char* end, void* arg) { record->begin_ns, record->end_ns); if (record->domain == ACTIVITY_DOMAIN_HIP_API) { SPRINT(" process_id(%u) thread_id(%u)", record->process_id, record->thread_id); - } else if (record->domain == ACTIVITY_DOMAIN_HCC_OPS) { + } else if (record->domain == ACTIVITY_DOMAIN_HIP_OPS) { SPRINT(" device_id(%d) queue_id(%lu)", record->device_id, record->queue_id); if (record->op == HIP_OP_ID_COPY) SPRINT(" bytes(0x%zx)", record->bytes); } else if (record->domain == ACTIVITY_DOMAIN_HSA_OPS) { @@ -352,7 +352,7 @@ void init_tracing() { #if HIP_API_ACTIVITY_ON ROCTRACER_CALL(roctracer_enable_domain_activity(ACTIVITY_DOMAIN_HIP_API)); #endif - ROCTRACER_CALL(roctracer_enable_domain_activity(ACTIVITY_DOMAIN_HCC_OPS)); + ROCTRACER_CALL(roctracer_enable_domain_activity(ACTIVITY_DOMAIN_HIP_OPS)); // Enable PC sampling ROCTRACER_CALL(roctracer_enable_op_activity(ACTIVITY_DOMAIN_HSA_OPS, HSA_OP_ID_RESERVED1)); // Enable rocTX @@ -375,7 +375,7 @@ void stop_tracing() { #if HIP_API_ACTIVITY_ON ROCTRACER_CALL(roctracer_disable_domain_activity(ACTIVITY_DOMAIN_HIP_API)); #endif - ROCTRACER_CALL(roctracer_disable_domain_activity(ACTIVITY_DOMAIN_HCC_OPS)); + ROCTRACER_CALL(roctracer_disable_domain_activity(ACTIVITY_DOMAIN_HIP_OPS)); ROCTRACER_CALL(roctracer_disable_domain_activity(ACTIVITY_DOMAIN_HSA_OPS)); ROCTRACER_CALL(roctracer_disable_domain_callback(ACTIVITY_DOMAIN_ROCTX)); ROCTRACER_CALL(roctracer_flush_activity()); diff --git a/test/tool/tracer_tool.cpp b/test/tool/tracer_tool.cpp index 209efe9895..3a720f35c7 100644 --- a/test/tool/tracer_tool.cpp +++ b/test/tool/tracer_tool.cpp @@ -595,7 +595,7 @@ roctracer::TraceBuffer* hip_act_trace_buffer = NULL; // HIP ACT trace buffer flush callback void hip_act_flush_cb(hip_act_trace_entry_t* entry) { - const uint32_t domain = ACTIVITY_DOMAIN_HCC_OPS; + const uint32_t domain = ACTIVITY_DOMAIN_HIP_OPS; const uint32_t op = 0; const char* name = roctracer_op_string(domain, op, entry->kind); if (name == NULL) { @@ -635,7 +635,7 @@ void pool_activity_callback(const char* begin, const char* end, void* arg) { record->begin_ns, record->end_ns); switch (record->domain) { - case ACTIVITY_DOMAIN_HCC_OPS: + case ACTIVITY_DOMAIN_HIP_OPS: if (hip_memcpy_stats != NULL) { hip_act_trace_entry_t* entry = hip_act_trace_buffer->GetEntry(); entry->kind = record->kind; @@ -797,7 +797,7 @@ void tool_unload() { if (trace_hip_api || trace_hip_activity) { ROCTRACER_CALL(roctracer_disable_domain_callback(ACTIVITY_DOMAIN_HIP_API)); ROCTRACER_CALL(roctracer_disable_domain_activity(ACTIVITY_DOMAIN_HIP_API)); - ROCTRACER_CALL(roctracer_disable_domain_activity(ACTIVITY_DOMAIN_HCC_OPS)); + ROCTRACER_CALL(roctracer_disable_domain_activity(ACTIVITY_DOMAIN_HIP_OPS)); } // Flush tracing pool @@ -1089,7 +1089,7 @@ extern "C" PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, if (trace_hip_activity) { hcc_activity_file_handle = open_output_file(output_prefix, "hcc_ops_trace.txt"); - ROCTRACER_CALL(roctracer_enable_domain_activity(ACTIVITY_DOMAIN_HCC_OPS)); + ROCTRACER_CALL(roctracer_enable_domain_activity(ACTIVITY_DOMAIN_HIP_OPS)); if (is_stats_opt) { FILE* f = NULL; From 85552ea3a0a87db0627b0c92ef586d7173b8939b Mon Sep 17 00:00:00 2001 From: Laurent Morichetti Date: Wed, 20 Apr 2022 21:58:52 -0700 Subject: [PATCH 495/691] Move the HccLoader activities into the HipLoader The HCC runtime is no longer used, so move all the remaining activities in the HipApi loader and remove the HccLoader. Change-Id: I845c04ca275a474526840315bae0ad1a4ce02257 --- inc/roctracer.h | 3 ++- src/core/loader.h | 38 +++++++++++++++++++--------------- src/core/roctracer.cpp | 47 +++++++++++++++++++++--------------------- 3 files changed, 47 insertions(+), 41 deletions(-) diff --git a/inc/roctracer.h b/inc/roctracer.h index 168bef0cd2..0c3c1b241c 100644 --- a/inc/roctracer.h +++ b/inc/roctracer.h @@ -64,7 +64,8 @@ typedef enum { ROCTRACER_STATUS_BAD_DOMAIN = 4, ROCTRACER_STATUS_BAD_PARAMETER = 5, ROCTRACER_STATUS_HIP_API_ERR = 6, - ROCTRACER_STATUS_HCC_OPS_ERR = 7, + ROCTRACER_STATUS_HIP_OPS_ERR = 7, + ROCTRACER_STATUS_HCC_OPS_ERR = ROCTRACER_STATUS_HIP_OPS_ERR, ROCTRACER_STATUS_HSA_ERR = 7, ROCTRACER_STATUS_ROCTX_ERR = 8, } roctracer_status_t; diff --git a/src/core/loader.h b/src/core/loader.h index 246f0150e5..7d849f6748 100644 --- a/src/core/loader.h +++ b/src/core/loader.h @@ -133,6 +133,7 @@ class RocpApi { }; // HIP runtime library loader class +#include "inc/roctracer_hip.h" #if STATIC_BUILD __attribute__((weak)) hipError_t hipRegisterApiCallback(uint32_t id, void* fun, void* arg) { return hipErrorUnknown; @@ -174,6 +175,10 @@ class HipLoaderStatic { GetStreamDeviceId_t* GetStreamDeviceId; ApiName_t* ApiName; + hipInitAsyncActivityCallback_t* InitActivityCallback; + hipEnableAsyncActivityCallback_t* EnableActivityCallback; + hipGetOpName_t* GetOpName; + static inline loader_t& Instance() { loader_t* obj = instance_.load(std::memory_order_acquire); if (obj == NULL) { @@ -187,6 +192,7 @@ class HipLoaderStatic { } bool Enabled() const { return true; } + bool& InitActivityDone() { return init_activity_done_; } private: HipLoaderStatic() { @@ -198,10 +204,15 @@ class HipLoaderStatic { KernelNameRefByPtr = hipKernelNameRefByPtr; GetStreamDeviceId = hipGetStreamDeviceId; ApiName = hipApiName; + + InitActivityCallback = hipInitActivityCallback; + EnableActivityCallback = hipEnableActivityCallback; + GetOpName = hipGetCmdName; } static mutex_t mutex_; static instance_t instance_; + bool init_activity_done_ = false; }; #else class HipApi { @@ -226,6 +237,12 @@ class HipApi { GetStreamDeviceId_t* GetStreamDeviceId; ApiName_t* ApiName; + hipInitAsyncActivityCallback_t* InitActivityCallback; + hipEnableAsyncActivityCallback_t* EnableActivityCallback; + hipGetOpName_t* GetOpName; + + bool& InitActivityDone() { return init_activity_done_; } + protected: void init(Loader* loader) { RegisterApiCallback = loader->GetFun("hipRegisterApiCallback"); @@ -237,29 +254,18 @@ class HipApi { KernelNameRefByPtr = loader->GetFun("hipKernelNameRefByPtr"); GetStreamDeviceId = loader->GetFun("hipGetStreamDeviceId"); ApiName = loader->GetFun("hipApiName"); - } -}; -#endif -// HCC runtime library loader class -#include "inc/roctracer_hip.h" -class HccApi { - public: - typedef BaseLoader Loader; - - hipInitAsyncActivityCallback_t* InitActivityCallback; - hipEnableAsyncActivityCallback_t* EnableActivityCallback; - hipGetOpName_t* GetOpName; - - protected: - void init(Loader* loader) { InitActivityCallback = loader->GetFun("hipInitActivityCallback"); EnableActivityCallback = loader->GetFun("hipEnableActivityCallback"); GetOpName = loader->GetFun("hipGetCmdName"); } + + private: + bool init_activity_done_ = false; }; +#endif // rocTX runtime library loader class #include "inc/roctracer_roctx.h" @@ -284,7 +290,6 @@ class RocTxApi { }; typedef BaseLoader RocpLoader; -typedef BaseLoader HccLoader; typedef BaseLoader RocTxLoader; #if STATIC_BUILD @@ -304,7 +309,6 @@ typedef HipLoaderShared HipLoader; template bool roctracer::BaseLoader::to_check_symb_ = true; \ template <> const char* roctracer::RocpLoader::lib_name_ = "librocprofiler64.so"; \ template <> bool roctracer::RocpLoader::to_load_ = true; \ - template <> const char* roctracer::HccLoader::lib_name_ = "libamdhip64.so"; \ template <> const char* roctracer::RocTxLoader::lib_name_ = "libroctx64.so"; \ template <> bool roctracer::RocTxLoader::to_load_ = true; diff --git a/src/core/roctracer.cpp b/src/core/roctracer.cpp index 02c99dee17..84d4605d3f 100644 --- a/src/core/roctracer.cpp +++ b/src/core/roctracer.cpp @@ -308,7 +308,7 @@ static inline void CorrelationIdRegistr(const activity_correlation_id_t& correla std::lock_guard lck(correlation_id_mutex); const auto ret = correlation_id_map.insert({correlation_id, correlation_id_tls}); if (ret.second == false) - EXC_ABORT(ROCTRACER_STATUS_ERROR, "HCC activity id is not unique(" << correlation_id << ")"); + EXC_ABORT(ROCTRACER_STATUS_ERROR, "HIP activity id is not unique(" << correlation_id << ")"); DEBUG_TRACE("CorrelationIdRegistr id(%lu) id_tls(%lu)\n", correlation_id, correlation_id_tls); } @@ -318,7 +318,7 @@ static inline activity_correlation_id_t CorrelationIdLookup( std::lock_guard lck(correlation_id_mutex); auto it = correlation_id_map.find(correlation_id); if (it == correlation_id_map.end()) - EXC_ABORT(ROCTRACER_STATUS_ERROR, "HCC activity id lookup failed(" << correlation_id << ")"); + EXC_ABORT(ROCTRACER_STATUS_ERROR, "HIP activity id lookup failed(" << correlation_id << ")"); const activity_correlation_id_t ret_val = it->second; correlation_id_map.erase(it); @@ -512,11 +512,11 @@ void* HIP_SyncActivityCallback(uint32_t op_id, roctracer_record_t* record, return ret; } -void HCC_ActivityIdCallback(activity_correlation_id_t correlation_id) { +void HIP_ActivityIdCallback(activity_correlation_id_t correlation_id) { CorrelationIdRegistr(correlation_id); } -void HCC_AsyncActivityCallback(uint32_t op_id, void* record, void* arg) { +void HIP_AsyncActivityCallback(uint32_t op_id, void* record, void* arg) { MemoryPool* pool = reinterpret_cast(arg); roctracer_record_t* record_ptr = reinterpret_cast(record); record_ptr->domain = ACTIVITY_DOMAIN_HIP_OPS; @@ -526,7 +526,7 @@ void HCC_AsyncActivityCallback(uint32_t op_id, void* record, void* arg) { const char* name = roctracer_op_string(ACTIVITY_DOMAIN_HIP_OPS, record_ptr->op, record_ptr->kind); DEBUG_TRACE( - "HCC_AsyncActivityCallback(\"%s\"): op(%u) kind(%u) record(%p) pool(%p) correlation_id(%d) " + "HIP_AsyncActivityCallback(\"%s\"): op(%u) kind(%u) record(%p) pool(%p) correlation_id(%d) " "beg_ns(%lu) end_ns(%lu)\n", name, record_ptr->op, record_ptr->kind, record, pool, record_ptr->correlation_id, record_ptr->begin_ns, record_ptr->end_ns); @@ -699,7 +699,7 @@ PUBLIC_API const char* roctracer_op_string(uint32_t domain, uint32_t op, uint32_ case ACTIVITY_DOMAIN_HSA_OPS: return roctracer::RocpLoader::Instance().GetOpName(op); case ACTIVITY_DOMAIN_HIP_OPS: - return roctracer::HccLoader::Instance().GetOpName(kind); + return roctracer::HipLoader::Instance().GetOpName(kind); case ACTIVITY_DOMAIN_HIP_API: return roctracer::HipLoader::Instance().ApiName(op); case ACTIVITY_DOMAIN_EXT_API: @@ -794,7 +794,7 @@ static roctracer_status_t roctracer_enable_callback_fun(roctracer_domain_t domai #if 0 if (op == HSA_API_ID_DISPATCH) { const bool succ = roctracer::RocpLoader::Instance().RegisterApiCallback(op, (void*)callback, user_data); - if (succ == false) HCC_EXC_RAISING(ROCTRACER_STATUS_HSA_ERR, "HSA::RegisterApiCallback error(" << op << ") failed"); + if (succ == false) HIP_EXC_RAISING(ROCTRACER_STATUS_HSA_ERR, "HSA::RegisterApiCallback error(" << op << ") failed"); break; } #endif @@ -806,7 +806,7 @@ static roctracer_status_t roctracer_enable_callback_fun(roctracer_domain_t domai const bool succ = roctracer::RocpLoader::Instance().RegisterEvtCallback(op, (void*)callback, user_data); if (succ == false) - HCC_EXC_RAISING(ROCTRACER_STATUS_HSA_ERR, + HIP_EXC_RAISING(ROCTRACER_STATUS_HSA_ERR, "HSA::RegisterEvtCallback error(" << op << ") failed"); break; } @@ -892,7 +892,7 @@ static roctracer_status_t roctracer_disable_callback_fun(roctracer_domain_t doma #if 0 if (op == HSA_API_ID_DISPATCH) { const bool succ = roctracer::RocpLoader::Instance().RemoveApiCallback(op); - if (succ == false) HCC_EXC_RAISING(ROCTRACER_STATUS_HSA_ERR, "HSA::RemoveActivityCallback error(" << op << ") failed"); + if (succ == false) HIP_EXC_RAISING(ROCTRACER_STATUS_HSA_ERR, "HSA::RemoveActivityCallback error(" << op << ") failed"); break; } #endif @@ -923,7 +923,7 @@ static roctracer_status_t roctracer_disable_callback_fun(roctracer_domain_t doma case ACTIVITY_DOMAIN_HSA_EVT: { const bool succ = roctracer::RocpLoader::Instance().RemoveEvtCallback(op); if (succ == false) - HCC_EXC_RAISING(ROCTRACER_STATUS_HSA_ERR, + HIP_EXC_RAISING(ROCTRACER_STATUS_HSA_ERR, "HSA::RemoveEvtCallback error(" << op << ") failed"); break; } @@ -1024,7 +1024,7 @@ static roctracer_status_t roctracer_enable_activity_fun(roctracer_domain_t domai } const bool succ = roctracer::RocpLoader::Instance().EnableActivityCallback(op, true); if (succ == false) - HCC_EXC_RAISING(ROCTRACER_STATUS_HSA_ERR, "HSA::EnableActivityCallback error"); + HIP_EXC_RAISING(ROCTRACER_STATUS_HSA_ERR, "HSA::EnableActivityCallback error"); } break; } @@ -1033,17 +1033,18 @@ static roctracer_status_t roctracer_enable_activity_fun(roctracer_domain_t domai case ACTIVITY_DOMAIN_HSA_EVT: break; case ACTIVITY_DOMAIN_HIP_OPS: { - const bool init_phase = (roctracer::HccLoader::GetRef() == NULL); - if (roctracer::HccLoader::Instance().Enabled() == false) break; + if (roctracer::HipLoader::Instance().Enabled() == false) break; + std::lock_guard lock(roctracer::hip_activity_mutex); - if (init_phase == true) { - roctracer::HccLoader::Instance().InitActivityCallback( - (void*)roctracer::HCC_ActivityIdCallback, (void*)roctracer::HCC_AsyncActivityCallback, + if (!roctracer::HipLoader::Instance().InitActivityDone()) { + roctracer::HipLoader::Instance().InitActivityCallback( + (void*)roctracer::HIP_ActivityIdCallback, (void*)roctracer::HIP_AsyncActivityCallback, (void*)pool); + roctracer::HipLoader::Instance().InitActivityDone() = true; } - const bool succ = roctracer::HccLoader::Instance().EnableActivityCallback(op, true); + const bool succ = roctracer::HipLoader::Instance().EnableActivityCallback(op, true); if (succ == false) - HCC_EXC_RAISING(ROCTRACER_STATUS_HCC_OPS_ERR, "HCC::EnableActivityCallback error"); + HIP_EXC_RAISING(ROCTRACER_STATUS_HIP_OPS_ERR, "HIP::EnableActivityCallback error"); break; } case ACTIVITY_DOMAIN_HIP_API: { @@ -1110,7 +1111,7 @@ static roctracer_status_t roctracer_disable_activity_fun(roctracer_domain_t doma if (roctracer::RocpLoader::GetRef() == NULL) break; const bool succ = roctracer::RocpLoader::Instance().EnableActivityCallback(op, false); if (succ == false) - HCC_EXC_RAISING(ROCTRACER_STATUS_HSA_ERR, + HIP_EXC_RAISING(ROCTRACER_STATUS_HSA_ERR, "HSA::EnableActivityCallback(false) error, op(" << op << ")"); } break; @@ -1120,12 +1121,12 @@ static roctracer_status_t roctracer_disable_activity_fun(roctracer_domain_t doma case ACTIVITY_DOMAIN_HSA_EVT: break; case ACTIVITY_DOMAIN_HIP_OPS: { - if (roctracer::HccLoader::Instance().Enabled() == false) break; + if (roctracer::HipLoader::Instance().Enabled() == false) break; - const bool succ = roctracer::HccLoader::Instance().EnableActivityCallback(op, false); + const bool succ = roctracer::HipLoader::Instance().EnableActivityCallback(op, false); if (succ == false) - HCC_EXC_RAISING(ROCTRACER_STATUS_HCC_OPS_ERR, - "HCC::EnableActivityCallback(NULL) error, op(" << op << ")"); + HIP_EXC_RAISING(ROCTRACER_STATUS_HIP_OPS_ERR, + "HIP::EnableActivityCallback(NULL) error, op(" << op << ")"); break; } case ACTIVITY_DOMAIN_HIP_API: { From 121a84b449922b5277c2bc431bea7facf6f80c32 Mon Sep 17 00:00:00 2001 From: Laurent Morichetti Date: Thu, 21 Apr 2022 09:55:31 -0700 Subject: [PATCH 496/691] Remove HCC_EXC_RAISING and HIP_EXC_RAISING HCC_EXC_RAISING and HIP_EXC_RAISING don't add much value, so to simplify, only keep EXC_RAISING and EXC_ABORT. Change-Id: Ifdc54981bb682fe68b418cdc95ecebe668e3dcf6 --- src/core/roctracer.cpp | 50 +++++++++++++++++++++--------------------- src/util/exception.h | 10 --------- 2 files changed, 25 insertions(+), 35 deletions(-) diff --git a/src/core/roctracer.cpp b/src/core/roctracer.cpp index 84d4605d3f..61c1711c48 100644 --- a/src/core/roctracer.cpp +++ b/src/core/roctracer.cpp @@ -58,8 +58,9 @@ #define HIPAPI_CALL(call) \ do { \ hipError_t err = call; \ - if (err != hipSuccess) \ - HIP_EXC_RAISING(ROCTRACER_STATUS_HIP_API_ERR, #call " error(" << err << ")"); \ + if (err != hipSuccess) { \ + EXC_RAISING(ROCTRACER_STATUS_HIP_API_ERR, "HIP error: " #call " error(" << err << ")"); \ + } \ } while (0) #define API_METHOD_PREFIX \ @@ -794,7 +795,7 @@ static roctracer_status_t roctracer_enable_callback_fun(roctracer_domain_t domai #if 0 if (op == HSA_API_ID_DISPATCH) { const bool succ = roctracer::RocpLoader::Instance().RegisterApiCallback(op, (void*)callback, user_data); - if (succ == false) HIP_EXC_RAISING(ROCTRACER_STATUS_HSA_ERR, "HSA::RegisterApiCallback error(" << op << ") failed"); + if (succ == false) EXC_RAISING(ROCTRACER_STATUS_HSA_ERR, "HSA::RegisterApiCallback error(" << op << ") failed"); break; } #endif @@ -806,8 +807,8 @@ static roctracer_status_t roctracer_enable_callback_fun(roctracer_domain_t domai const bool succ = roctracer::RocpLoader::Instance().RegisterEvtCallback(op, (void*)callback, user_data); if (succ == false) - HIP_EXC_RAISING(ROCTRACER_STATUS_HSA_ERR, - "HSA::RegisterEvtCallback error(" << op << ") failed"); + EXC_RAISING(ROCTRACER_STATUS_HSA_ERR, + "HSA::RegisterEvtCallback error(" << op << ") failed"); break; } case ACTIVITY_DOMAIN_HIP_OPS: @@ -819,14 +820,14 @@ static roctracer_status_t roctracer_enable_callback_fun(roctracer_domain_t domai hipError_t hip_err = roctracer::HipLoader::Instance().RegisterApiCallback(op, (void*)callback, user_data); if (hip_err != hipSuccess) - HIP_EXC_RAISING(ROCTRACER_STATUS_HIP_API_ERR, - "HIP::RegisterApiCallback(" << op << ") error(" << hip_err << ")"); + EXC_RAISING(ROCTRACER_STATUS_HIP_API_ERR, + "HIP::RegisterApiCallback(" << op << ") error(" << hip_err << ")"); if (roctracer::HipApiActivityEnableCheck(op) == 0) { hip_err = roctracer::HipLoader::Instance().RegisterActivityCallback( op, (void*)roctracer::HIP_SyncApiDataCallback, (void*)1); if (hip_err != hipSuccess) - HIP_EXC_RAISING( + EXC_RAISING( ROCTRACER_STATUS_HIP_API_ERR, "HIPAPI: HIP::RegisterActivityCallback(" << op << ") error(" << hip_err << ")"); } @@ -892,7 +893,7 @@ static roctracer_status_t roctracer_disable_callback_fun(roctracer_domain_t doma #if 0 if (op == HSA_API_ID_DISPATCH) { const bool succ = roctracer::RocpLoader::Instance().RemoveApiCallback(op); - if (succ == false) HIP_EXC_RAISING(ROCTRACER_STATUS_HSA_ERR, "HSA::RemoveActivityCallback error(" << op << ") failed"); + if (succ == false) EXC_RAISING(ROCTRACER_STATUS_HSA_ERR, "HSA::RemoveActivityCallback error(" << op << ") failed"); break; } #endif @@ -908,13 +909,13 @@ static roctracer_status_t roctracer_disable_callback_fun(roctracer_domain_t doma const hipError_t hip_err = roctracer::HipLoader::Instance().RemoveApiCallback(op); if (hip_err != hipSuccess) - HIP_EXC_RAISING(ROCTRACER_STATUS_HIP_API_ERR, - "HIP::RemoveApiCallback(" << op << "), error(" << hip_err << ")"); + EXC_RAISING(ROCTRACER_STATUS_HIP_API_ERR, + "HIP::RemoveApiCallback(" << op << "), error(" << hip_err << ")"); if (roctracer::HipApiActivityDisableCheck(op) == 0) { const hipError_t hip_err = roctracer::HipLoader::Instance().RemoveActivityCallback(op); if (hip_err != hipSuccess) - HIP_EXC_RAISING( + EXC_RAISING( ROCTRACER_STATUS_HIP_API_ERR, "HIPAPI: HIP::RemoveActivityCallback op(" << op << "), error(" << hip_err << ")"); } @@ -923,8 +924,7 @@ static roctracer_status_t roctracer_disable_callback_fun(roctracer_domain_t doma case ACTIVITY_DOMAIN_HSA_EVT: { const bool succ = roctracer::RocpLoader::Instance().RemoveEvtCallback(op); if (succ == false) - HIP_EXC_RAISING(ROCTRACER_STATUS_HSA_ERR, - "HSA::RemoveEvtCallback error(" << op << ") failed"); + EXC_RAISING(ROCTRACER_STATUS_HSA_ERR, "HSA::RemoveEvtCallback error(" << op << ") failed"); break; } case ACTIVITY_DOMAIN_ROCTX: { @@ -1024,7 +1024,7 @@ static roctracer_status_t roctracer_enable_activity_fun(roctracer_domain_t domai } const bool succ = roctracer::RocpLoader::Instance().EnableActivityCallback(op, true); if (succ == false) - HIP_EXC_RAISING(ROCTRACER_STATUS_HSA_ERR, "HSA::EnableActivityCallback error"); + EXC_RAISING(ROCTRACER_STATUS_HSA_ERR, "HSA::EnableActivityCallback error"); } break; } @@ -1044,7 +1044,7 @@ static roctracer_status_t roctracer_enable_activity_fun(roctracer_domain_t domai } const bool succ = roctracer::HipLoader::Instance().EnableActivityCallback(op, true); if (succ == false) - HIP_EXC_RAISING(ROCTRACER_STATUS_HIP_OPS_ERR, "HIP::EnableActivityCallback error"); + EXC_RAISING(ROCTRACER_STATUS_HIP_OPS_ERR, "HIP::EnableActivityCallback error"); break; } case ACTIVITY_DOMAIN_HIP_API: { @@ -1055,8 +1055,8 @@ static roctracer_status_t roctracer_enable_activity_fun(roctracer_domain_t domai const hipError_t hip_err = roctracer::HipLoader::Instance().RegisterActivityCallback( op, (void*)roctracer::HIP_SyncActivityCallback, (void*)pool); if (hip_err != hipSuccess) - HIP_EXC_RAISING(ROCTRACER_STATUS_HIP_API_ERR, - "HIP::RegisterActivityCallback(" << op << " error(" << hip_err << ")"); + EXC_RAISING(ROCTRACER_STATUS_HIP_API_ERR, + "HIP::RegisterActivityCallback(" << op << " error(" << hip_err << ")"); } break; } @@ -1111,8 +1111,8 @@ static roctracer_status_t roctracer_disable_activity_fun(roctracer_domain_t doma if (roctracer::RocpLoader::GetRef() == NULL) break; const bool succ = roctracer::RocpLoader::Instance().EnableActivityCallback(op, false); if (succ == false) - HIP_EXC_RAISING(ROCTRACER_STATUS_HSA_ERR, - "HSA::EnableActivityCallback(false) error, op(" << op << ")"); + EXC_RAISING(ROCTRACER_STATUS_HSA_ERR, + "HSA::EnableActivityCallback(false) error, op(" << op << ")"); } break; } @@ -1125,8 +1125,8 @@ static roctracer_status_t roctracer_disable_activity_fun(roctracer_domain_t doma const bool succ = roctracer::HipLoader::Instance().EnableActivityCallback(op, false); if (succ == false) - HIP_EXC_RAISING(ROCTRACER_STATUS_HIP_OPS_ERR, - "HIP::EnableActivityCallback(NULL) error, op(" << op << ")"); + EXC_RAISING(ROCTRACER_STATUS_HIP_OPS_ERR, + "HIP::EnableActivityCallback(NULL) error, op(" << op << ")"); break; } case ACTIVITY_DOMAIN_HIP_API: { @@ -1136,13 +1136,13 @@ static roctracer_status_t roctracer_disable_activity_fun(roctracer_domain_t doma if (roctracer::HipActActivityDisableCheck(op) == 0) { const hipError_t hip_err = roctracer::HipLoader::Instance().RemoveActivityCallback(op); if (hip_err != hipSuccess) - HIP_EXC_RAISING(ROCTRACER_STATUS_HIP_API_ERR, - "HIP::RemoveActivityCallback op(" << op << "), error(" << hip_err << ")"); + EXC_RAISING(ROCTRACER_STATUS_HIP_API_ERR, + "HIP::RemoveActivityCallback op(" << op << "), error(" << hip_err << ")"); } else { const hipError_t hip_err = roctracer::HipLoader::Instance().RegisterActivityCallback( op, (void*)roctracer::HIP_SyncApiDataCallback, (void*)1); if (hip_err != hipSuccess) - HIP_EXC_RAISING( + EXC_RAISING( ROCTRACER_STATUS_HIP_API_ERR, "HIPACT: HIP::RegisterActivityCallback(" << op << ") error(" << hip_err << ")"); } diff --git a/src/util/exception.h b/src/util/exception.h index 1d4ba3e4d5..4887b19bcd 100644 --- a/src/util/exception.h +++ b/src/util/exception.h @@ -40,16 +40,6 @@ throw roctracer::util::exception(error, oss.str()); \ } while (0) -#define HCC_EXC_RAISING(error, stream) \ - do { \ - EXC_RAISING(error, "HCC error: " << stream); \ - } while (0) - -#define HIP_EXC_RAISING(error, stream) \ - do { \ - EXC_RAISING(error, "HIP error: " << stream); \ - } while (0) - namespace roctracer { namespace util { From dc8717a6b5ce55bd541780b25a9c48d53a64d03b Mon Sep 17 00:00:00 2001 From: Laurent Morichetti Date: Thu, 21 Apr 2022 18:12:30 -0700 Subject: [PATCH 497/691] Allow MemoryPool::Write while Flushing Before this change, when a producer was blocked by a flush operation, no other producer could write to the memory pool. This change allows other producer threads to continue to write by releasing the producer lock before waiting on the consumer condition variable. Change-Id: Idc1c07173d2edb18fbe1a61961f10c02e7ca8c20 --- src/core/memory_pool.h | 32 ++++++++++++++++++-------------- 1 file changed, 18 insertions(+), 14 deletions(-) diff --git a/src/core/memory_pool.h b/src/core/memory_pool.h index 6d84305eae..27eae906e1 100644 --- a/src/core/memory_pool.h +++ b/src/core/memory_pool.h @@ -93,19 +93,22 @@ class MemoryPool { // Flush the records and block until they are all made visible to the client. void Flush() { - std::lock_guard producer_lock(producer_mutex_); - if (write_ptr_ == buffer_begin_) return; + { + std::lock_guard producer_lock(producer_mutex_); + if (write_ptr_ == buffer_begin_) return; - NotifyConsumerThread(buffer_begin_, write_ptr_); + NotifyConsumerThread(buffer_begin_, write_ptr_); - // Switch buffers - buffer_begin_ = (buffer_end_ == pool_end_) ? pool_begin_ : buffer_end_; - buffer_end_ = buffer_begin_ + properties_.buffer_size; - write_ptr_ = buffer_begin_; - - // Wait for the current operation to complete. - std::unique_lock consumer_lock(consumer_mutex_); - consumer_cond_.wait(consumer_lock, [this]() { return !consumer_arg_.valid; }); + // Switch buffers + buffer_begin_ = (buffer_end_ == pool_end_) ? pool_begin_ : buffer_end_; + buffer_end_ = buffer_begin_ + properties_.buffer_size; + write_ptr_ = buffer_begin_; + } + { + // Wait for the current operation to complete. + std::unique_lock consumer_lock(consumer_mutex_); + consumer_cond_.wait(consumer_lock, [this]() { return !consumer_arg_.valid; }); + } } private: @@ -124,10 +127,11 @@ class MemoryPool { properties_.buffer_callback_fun(consumer_arg_.begin, consumer_arg_.end, properties_.buffer_callback_arg); - // Mark this operation as complete (valid=false) and notify a producer, if any, that may be - // waiting to start a new operation. See comment below in NotifyConsumerThread(). + // Mark this operation as complete (valid=false) and notify all producers that may be + // waiting for this operation to finish, or to start a new operation. See comment below in + // NotifyConsumerThread(). consumer_arg_.valid = false; - consumer_cond_.notify_one(); + consumer_cond_.notify_all(); } } From e4569c41feb1e55f473bf26eb3989c619562fda7 Mon Sep 17 00:00:00 2001 From: Ammar ELWazir Date: Thu, 7 Apr 2022 15:12:47 +0000 Subject: [PATCH 498/691] SWDEV-295522: Fixing Performance Issue Removing DEBUG_TRACES and the unnecessary use of roctracer_op_string, made the MS app reporting 78 to 81 stable samples per second, depending on the type of the trace, while the main app without rocprof reports 100 to 106. More detailed numbers will be posted in the ticket. Change-Id: Ifbc529278cea54dd23e6086aa9b9ea2df952d5dd --- src/core/roctracer.cpp | 15 +++++++-------- src/util/logger.h | 2 +- test/tool/tracer_tool.cpp | 12 +++++------- 3 files changed, 13 insertions(+), 16 deletions(-) diff --git a/src/core/roctracer.cpp b/src/core/roctracer.cpp index 61c1711c48..186a318b47 100644 --- a/src/core/roctracer.cpp +++ b/src/core/roctracer.cpp @@ -409,12 +409,12 @@ void* HIP_SyncApiDataCallback(uint32_t op_id, roctracer_record_t* record, const correlation_id_tls = 0; } - const char* name = roctracer_op_string(ACTIVITY_DOMAIN_HIP_API, op_id, 0); DEBUG_TRACE( "HIP_SyncApiDataCallback(\"%s\") phase(%d): op(%u) record(%p) data(%p) pool(%p) depth(%d) " "correlation_id(%lu) time_ns(%lu)\n", - name, phase, op_id, record, data, pool, (int)(record_pair_stack->size()), - (data_ptr) ? data_ptr->correlation_id : 0, timer.timestamp_ns()); + roctracer_op_string(ACTIVITY_DOMAIN_HIP_API, op_id, 0), phase, op_id, record, data, pool, + (int)(record_pair_stack->size()), (data_ptr) ? data_ptr->correlation_id : 0, + timer.timestamp_ns()); return ret; } @@ -503,12 +503,11 @@ void* HIP_SyncActivityCallback(uint32_t op_id, roctracer_record_t* record, correlation_id_tls = 0; } - const char* name = roctracer_op_string(ACTIVITY_DOMAIN_HIP_API, op_id, 0); DEBUG_TRACE( "HIP_SyncActivityCallback(\"%s\") phase(%d): op(%u) record(%p) data(%p) pool(%p) depth(%d) " "correlation_id(%lu) beg_ns(%lu) end_ns(%lu)\n", - name, phase, op_id, record, data, pool, (int)(record_pair_stack->size()), - (data_ptr) ? data_ptr->correlation_id : 0, timestamp_ns); + roctracer_op_string(ACTIVITY_DOMAIN_HIP_API, op_id, 0), phase, op_id, record, data, pool, + (int)(record_pair_stack->size()), (data_ptr) ? data_ptr->correlation_id : 0, timestamp_ns); return ret; } @@ -525,11 +524,11 @@ void HIP_AsyncActivityCallback(uint32_t op_id, void* record, void* arg) { if (record_ptr->correlation_id == 0) return; pool->Write(*record_ptr); - const char* name = roctracer_op_string(ACTIVITY_DOMAIN_HIP_OPS, record_ptr->op, record_ptr->kind); DEBUG_TRACE( "HIP_AsyncActivityCallback(\"%s\"): op(%u) kind(%u) record(%p) pool(%p) correlation_id(%d) " "beg_ns(%lu) end_ns(%lu)\n", - name, record_ptr->op, record_ptr->kind, record, pool, record_ptr->correlation_id, + roctracer_op_string(ACTIVITY_DOMAIN_HIP_OPS, record_ptr->op, record_ptr->kind), + record_ptr->op, record_ptr->kind, record, pool, record_ptr->correlation_id, record_ptr->begin_ns, record_ptr->end_ns); } diff --git a/src/util/logger.h b/src/util/logger.h index ed3709af88..4617709a45 100644 --- a/src/util/logger.h +++ b/src/util/logger.h @@ -209,7 +209,7 @@ inline static void DEBUG_TRACE(const char* fmt, ...) { va_end(valist); } #else -inline static void DEBUG_TRACE(const char* fmt, ...) {} +#define DEBUG_TRACE(...) #endif #endif // SRC_UTIL_LOGGER_H_ diff --git a/test/tool/tracer_tool.cpp b/test/tool/tracer_tool.cpp index 3a720f35c7..5dc147de1e 100644 --- a/test/tool/tracer_tool.cpp +++ b/test/tool/tracer_tool.cpp @@ -94,7 +94,7 @@ inline static void DEBUG_TRACE(const char* fmt, ...) { va_end(valist); } #else -inline static void DEBUG_TRACE(const char* fmt, ...) {} +#define DEBUG_TRACE(...) #endif typedef hsa_rt_utils::Timer::timestamp_t timestamp_t; @@ -466,12 +466,11 @@ void hip_api_callback(uint32_t domain, uint32_t cid, const void* callback_data, entry->valid.store(roctracer::TRACE_ENTRY_COMPL, std::memory_order_release); } - const char* name = roctracer_op_string(domain, cid, 0); DEBUG_TRACE( "hip_api_callback(\"%s\") phase(%d): cid(%u) data(%p) entry(%p) name(\"%s\") " "correlation_id(%lu) timestamp(%lu)\n", - name, data->phase, cid, data, entry, (entry) ? entry->name : NULL, data->correlation_id, - timestamp); + roctracer_op_string(domain, cid, 0), data->phase, cid, data, entry, + (entry) ? entry->name : NULL, data->correlation_id, timestamp); } void mark_api_callback(uint32_t domain, uint32_t cid, const void* callback_data, void* arg) { @@ -512,12 +511,11 @@ void hip_api_flush_cb(hip_api_trace_entry_t* entry) { << entry->tid; oss << std::dec << rec_ss.str() << " " << str; - const char* name = roctracer_op_string(entry->domain, entry->cid, 0); DEBUG_TRACE( "hip_api_flush_cb(\"%s\"): domain(%u) cid(%u) entry(%p) name(\"%s\" correlation_id(%lu) " "beg(%lu) end(%lu))\n", - name, entry->domain, entry->cid, entry, entry->name, correlation_id, begin_timestamp, - end_timestamp); + roctracer_op_string(entry->domain, entry->cid, 0), entry->domain, entry->cid, entry, + entry->name, correlation_id, begin_timestamp, end_timestamp); if (domain == ACTIVITY_DOMAIN_HIP_API) { #if HIP_PROF_HIP_API_STRING From 8ca752ce2cb13ca7859ea57b6508d0eb2f291c2c Mon Sep 17 00:00:00 2001 From: Ranjith Ramakrishnan Date: Tue, 26 Apr 2022 03:03:02 -0700 Subject: [PATCH 499/691] Populate roctracer.h wrapper file with orginal file contents as dead code Backward comaptibility for components that search for contents in roctracer.h Improvements: Removed redundant code for setting and unsetting variables Added header template file in source code instead of generating it on build time Change-Id: I96aeb7f2a6d53d45eb5aeb5300024cd22dad1324 --- header_template.hpp.in | 31 +++++++++++++++++ roctracer-backward-compat.cmake | 60 +++++++++++++-------------------- 2 files changed, 55 insertions(+), 36 deletions(-) create mode 100644 header_template.hpp.in diff --git a/header_template.hpp.in b/header_template.hpp.in new file mode 100644 index 0000000000..391788987b --- /dev/null +++ b/header_template.hpp.in @@ -0,0 +1,31 @@ +/* + Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. + */ + +#ifndef @include_guard@ +#define @include_guard@ + +#pragma message("This file is deprecated. Use file from include path /opt/rocm-ver/include/ and prefix with roctracer") +@include_statements@ + +#endif + +@original_contents@ diff --git a/roctracer-backward-compat.cmake b/roctracer-backward-compat.cmake index ccea223e36..d0f927c218 100644 --- a/roctracer-backward-compat.cmake +++ b/roctracer-backward-compat.cmake @@ -25,29 +25,19 @@ set(ROCT_WRAPPER_INC_DIR ${ROCT_WRAPPER_DIR}/include) set(ROCT_WRAPPER_LIB_DIR ${ROCT_WRAPPER_DIR}/lib) set(ROCT_WRAPPER_TOOL_DIR ${ROCT_WRAPPER_DIR}/tool) -#Function to generate header template file -function(create_header_template) - file(WRITE ${ROCT_WRAPPER_DIR}/header.hpp.in "/* - Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved. +#Function to set actual file contents in wrapper files +#Some components grep for the contents in the file +function(set_file_contents input_file) + set(hashzero_check "#if 0 //Area for original file dump\n +/* The following is a copy of the original file for the benefit of build systems which grep for values + * in this file rather than preprocess it. This is just for backward compatibility */") - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the \"Software\"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - THE SOFTWARE. - */\n\n#ifndef @include_guard@\n#define @include_guard@ \n\n#pragma message(\"This file is deprecated. Use file from include path /opt/rocm-ver/include/ and prefix with roctracer\")\n@include_statements@ \n\n#endif") + file(READ ${input_file} file_contents) + set(original_contents "${hashzero_check}\n +${file_contents} +#endif") + get_filename_component(file_name ${input_file} NAME) + configure_file(${CMAKE_CURRENT_SOURCE_DIR}/header_template.hpp.in ${ROCT_WRAPPER_INC_DIR}/${file_name}) endfunction() #use header template file and generate wrapper header files @@ -58,33 +48,33 @@ function(generate_wrapper_header) #set include guard get_filename_component(INC_GAURD_NAME ${header_file} NAME_WE) string(TOUPPER ${INC_GAURD_NAME} INC_GAURD_NAME) - set(include_guard "${include_guard}ROCTRACER_WRAPPER_INCLUDE_${INC_GAURD_NAME}_H") + set(include_guard "ROCTRACER_WRAPPER_INCLUDE_${INC_GAURD_NAME}_H") #set include statements get_filename_component(file_name ${header_file} NAME) get_filename_component ( header_subdir ${header_file} DIRECTORY ) if(header_subdir) - set(include_statements "${include_statements}#include \"../../../include/${ROCTRACER_NAME}/${header_subdir}/${file_name}\"\n") - configure_file(${ROCT_WRAPPER_DIR}/header.hpp.in ${ROCT_WRAPPER_INC_DIR}/${header_subdir}/${file_name}) + set(include_statements "#include \"../../../include/${ROCTRACER_NAME}/${header_subdir}/${file_name}\"\n") + configure_file(${CMAKE_CURRENT_SOURCE_DIR}/header_template.hpp.in ${ROCT_WRAPPER_INC_DIR}/${header_subdir}/${file_name}) else() - set(include_statements "${include_statements}#include \"../../include/${ROCTRACER_NAME}/${file_name}\"\n") - configure_file(${ROCT_WRAPPER_DIR}/header.hpp.in ${ROCT_WRAPPER_INC_DIR}/${file_name}) + set(include_statements "#include \"../../include/${ROCTRACER_NAME}/${file_name}\"\n") + if(${file_name} STREQUAL "roctracer.h") + set_file_contents(${CMAKE_CURRENT_SOURCE_DIR}/inc/${file_name}) + else() + configure_file(${CMAKE_CURRENT_SOURCE_DIR}/header_template.hpp.in ${ROCT_WRAPPER_INC_DIR}/${file_name}) + endif() endif() - unset(include_guard) - unset(include_statements) endforeach() foreach(header_file ${GEN_HEADERS}) #set include guard get_filename_component(INC_GAURD_NAME ${header_file} NAME_WE) string(TOUPPER ${INC_GAURD_NAME} INC_GAURD_NAME) - set(include_guard "${include_guard}ROCTRACER_WRAPPER_INCLUDE_${INC_GAURD_NAME}_H") + set(include_guard "ROCTRACER_WRAPPER_INCLUDE_${INC_GAURD_NAME}_H") #set include statements get_filename_component(file_name ${header_file} NAME) - set(include_statements "${include_statements}#include \"../../include/${ROCTRACER_NAME}/${file_name}\"\n") - configure_file(${ROCT_WRAPPER_DIR}/header.hpp.in ${ROCT_WRAPPER_INC_DIR}/${file_name}) + set(include_statements "#include \"../../include/${ROCTRACER_NAME}/${file_name}\"\n") + configure_file(${CMAKE_CURRENT_SOURCE_DIR}/header_template.hpp.in ${ROCT_WRAPPER_INC_DIR}/${file_name}) - unset(include_guard) - unset(include_statements) endforeach() endfunction() @@ -117,8 +107,6 @@ function(create_library_symlink) ../../lib/${ROCTRACER_NAME}/${LIB_ROCTRACERTOOL} ${ROCT_WRAPPER_TOOL_DIR}/${LIB_TRACERTOOL}) endfunction() -#Creater a template for header file -create_header_template() #Use template header file and generater wrapper header files generate_wrapper_header() install(DIRECTORY ${ROCT_WRAPPER_INC_DIR} DESTINATION ${ROCTRACER_NAME}) From b352eedac6dde4524e1057608a1835615a7209a0 Mon Sep 17 00:00:00 2001 From: Laurent Morichetti Date: Fri, 22 Apr 2022 19:00:39 -0700 Subject: [PATCH 500/691] Fix the static library build Building with -DLIBRARY_TYPE=STATIC fails with 3 undefined symbols. Add weak symbols to satisfy the linker (mirror what is done for the other Loader symbols). Change-Id: I8a2878def21d5f500b0764ceacb4e5255e1111c5 --- src/core/loader.h | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/core/loader.h b/src/core/loader.h index 7d849f6748..17b0d1ae58 100644 --- a/src/core/loader.h +++ b/src/core/loader.h @@ -151,6 +151,11 @@ __attribute__((weak)) const char* hipKernelNameRefByPtr(const void* hostFunction __attribute__((weak)) int hipGetStreamDeviceId(hipStream_t stream) { return 0; } __attribute__((weak)) const char* hipApiName(uint32_t id) { return NULL; } +__attribute__((weak)) void hipInitActivityCallback(void* id_callback, void* op_callback, + void* arg) {} +__attribute__((weak)) bool hipEnableActivityCallback(unsigned op, bool enable) { return false; } +__attribute__((weak)) const char* hipGetCmdName(unsigned op) { return NULL; } + class HipLoaderStatic { public: typedef std::mutex mutex_t; From 6b063225784cf1c51c131996a5caa5e40cf9494b Mon Sep 17 00:00:00 2001 From: Laurent Morichetti Date: Fri, 22 Apr 2022 13:22:30 -0700 Subject: [PATCH 501/691] Remove unused proxy utilities The proxy queue implements packet interception to enable timestamps collection. As it is, the roctracer is not intercepting packets, and instead relies on the rocprofiler tool to collect the timestamps for kernel dispatches. This is an issue as the roctracer API does not implement HSA_OPS activities for kernel dispatches. This will be addressed in a future commit. Change-Id: Ib6a778a513410bec4579f223a9d9e9fd9b6054df --- src/CMakeLists.txt | 3 - src/core/roctracer.cpp | 61 +------ src/{proxy => core}/tracker.h | 16 +- src/proxy/hsa_proxy_queue.h | 65 ------- src/proxy/hsa_queue.h | 42 ----- src/proxy/intercept_queue.cpp | 40 ---- src/proxy/intercept_queue.h | 304 ------------------------------- src/proxy/proxy_queue.cpp | 61 ------- src/proxy/proxy_queue.h | 75 -------- src/proxy/queue.h | 40 ---- src/proxy/simple_proxy_queue.cpp | 44 ----- src/proxy/simple_proxy_queue.h | 259 -------------------------- src/proxy/types.h | 49 ----- 13 files changed, 16 insertions(+), 1043 deletions(-) rename src/{proxy => core}/tracker.h (93%) delete mode 100644 src/proxy/hsa_proxy_queue.h delete mode 100644 src/proxy/hsa_queue.h delete mode 100644 src/proxy/intercept_queue.cpp delete mode 100644 src/proxy/intercept_queue.h delete mode 100644 src/proxy/proxy_queue.cpp delete mode 100644 src/proxy/proxy_queue.h delete mode 100644 src/proxy/queue.h delete mode 100644 src/proxy/simple_proxy_queue.cpp delete mode 100644 src/proxy/simple_proxy_queue.h delete mode 100644 src/proxy/types.h diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index f2068d65a4..6f596085f5 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -40,9 +40,6 @@ execute_process ( COMMAND sh -xc "ln -s ${ROOT_DIR}/../rocprofiler/src/core/acti set ( TARGET_LIB ${TARGET_NAME} ) set ( LIB_SRC ${LIB_DIR}/core/roctracer.cpp - ${LIB_DIR}/proxy/proxy_queue.cpp - ${LIB_DIR}/proxy/simple_proxy_queue.cpp - ${LIB_DIR}/proxy/intercept_queue.cpp ${LIB_DIR}/util/hsa_rsrc_factory.cpp ) add_library ( ${TARGET_LIB} ${LIBRARY_TYPE} ${LIB_SRC} ) diff --git a/src/core/roctracer.cpp b/src/core/roctracer.cpp index 186a318b47..57c679c95d 100644 --- a/src/core/roctracer.cpp +++ b/src/core/roctracer.cpp @@ -40,17 +40,12 @@ #include "core/loader.h" #include "core/memory_pool.h" #include "core/trace_buffer.h" -#include "proxy/tracker.h" +#include "core/tracker.h" #include "ext/hsa_rt_utils.hpp" #include "util/exception.h" #include "util/hsa_rsrc_factory.h" #include "util/logger.h" -#include "proxy/hsa_queue.h" -#include "proxy/intercept_queue.h" -#include "proxy/proxy_queue.h" -#include "proxy/simple_proxy_queue.h" - #define PUBLIC_API __attribute__((visibility("default"))) #define CONSTRUCTOR_API __attribute__((constructor)) #define DESTRUCTOR_API __attribute__((destructor)) @@ -233,10 +228,9 @@ class hip_act_cb_tracker_t { std::unordered_map data_; }; -void hsa_async_copy_handler(::proxy::Tracker::entry_t* entry); -void hsa_kernel_handler(::proxy::Tracker::entry_t* entry); +void hsa_async_copy_handler(Tracker::entry_t* entry); constexpr TraceBuffer::flush_prm_t trace_buffer_prm[] = { - {COPY_ENTRY_TYPE, hsa_async_copy_handler}, {KERNEL_ENTRY_TYPE, hsa_kernel_handler}}; + {COPY_ENTRY_TYPE, hsa_async_copy_handler}}; TraceBuffer* trace_buffer = NULL; namespace hsa_support { @@ -554,45 +548,7 @@ void close_output_file(FILE* file_handle) { if ((file_handle != NULL) && (file_handle != stdout)) fclose(file_handle); } -FILE* kernel_file_handle = NULL; -void hsa_kernel_handler(::proxy::Tracker::entry_t* entry) { - static uint64_t index = 0; - if (index == 0) { - kernel_file_handle = open_output_file(hsa_support::output_prefix, "results.txt"); - } - fprintf(kernel_file_handle, - "dispatch[%lu], gpu-id(%u), tid(%u), kernel-name(\"%s\"), time(%lu,%lu,%lu,%lu)\n", index, - //::util::HsaRsrcFactory::Instance().GetAgentInfo(entry->agent)->dev_index, - entry->dev_index, entry->kernel.tid, entry->kernel.name, entry->dispatch, entry->begin, - entry->end, entry->complete); -#if 0 - fprintf(file_handle, "dispatch[%u], gpu-id(%u), queue-id(%u), queue-index(%lu), tid(%lu), grd(%u), wgr(%u), lds(%u), scr(%u), vgpr(%u), sgpr(%u), fbar(%u), sig(0x%lx), kernel-name(\"%s\")", - index, - HsaRsrcFactory::Instance().GetAgentInfo(entry->agent)->dev_index, - entry->data.queue_id, - entry->data.queue_index, - entry->data.thread_id, - entry->kernel_properties.grid_size, - entry->kernel_properties.workgroup_size, - entry->kernel_properties.lds_size, - entry->kernel_properties.scratch_size, - entry->kernel_properties.vgpr_count, - entry->kernel_properties.sgpr_count, - entry->kernel_properties.fbarrier_count, - entry->kernel_properties.signal.handle, - nik_name.c_str()); - if (record) fprintf(file_handle, ", time(%lu,%lu,%lu,%lu)", - record->dispatch, - record->begin, - record->end, - record->complete); - fprintf(file_handle, "\n"); - fflush(file_handle); -#endif - index++; -} - -void hsa_async_copy_handler(::proxy::Tracker::entry_t* entry) { +void hsa_async_copy_handler(Tracker::entry_t* entry) { activity_record_t record{}; record.domain = ACTIVITY_DOMAIN_HSA_OPS; // activity domain id record.begin_ns = entry->begin; // host begin timestamp @@ -611,10 +567,10 @@ hsa_status_t hsa_amd_memory_async_copy_interceptor(void* dst, hsa_agent_t dst_ag hsa_status_t status = HSA_STATUS_SUCCESS; if (hsa_support::async_copy_callback_enabled) { trace_entry_t* entry = trace_buffer->GetEntry(); - ::proxy::Tracker::Enable(COPY_ENTRY_TYPE, hsa_agent_t{}, completion_signal, entry); + Tracker::Enable(COPY_ENTRY_TYPE, hsa_agent_t{}, completion_signal, entry); status = hsa_amd_memory_async_copy_fn(dst, dst_agent, src, src_agent, size, num_dep_signals, dep_signals, entry->signal); - if (status != HSA_STATUS_SUCCESS) ::proxy::Tracker::Disable(entry); + if (status != HSA_STATUS_SUCCESS) Tracker::Disable(entry); } else { status = hsa_amd_memory_async_copy_fn(dst, dst_agent, src, src_agent, size, num_dep_signals, dep_signals, completion_signal); @@ -630,10 +586,10 @@ hsa_status_t hsa_amd_memory_async_copy_rect_interceptor( hsa_status_t status = HSA_STATUS_SUCCESS; if (hsa_support::async_copy_callback_enabled) { trace_entry_t* entry = trace_buffer->GetEntry(); - ::proxy::Tracker::Enable(COPY_ENTRY_TYPE, hsa_agent_t{}, completion_signal, entry); + Tracker::Enable(COPY_ENTRY_TYPE, hsa_agent_t{}, completion_signal, entry); status = hsa_amd_memory_async_copy_rect_fn(dst, dst_offset, src, src_offset, range, copy_agent, dir, num_dep_signals, dep_signals, entry->signal); - if (status != HSA_STATUS_SUCCESS) ::proxy::Tracker::Disable(entry); + if (status != HSA_STATUS_SUCCESS) Tracker::Disable(entry); } else { status = hsa_amd_memory_async_copy_rect_fn(dst, dst_offset, src, src_offset, range, copy_agent, dir, @@ -1355,7 +1311,6 @@ PUBLIC_API void roctracer_unload() { roctracer::act_journal = NULL; } - roctracer::close_output_file(roctracer::kernel_file_handle); ONLOAD_TRACE_END(); } diff --git a/src/proxy/tracker.h b/src/core/tracker.h similarity index 93% rename from src/proxy/tracker.h rename to src/core/tracker.h index 1bf98ce32c..a005f213d8 100644 --- a/src/proxy/tracker.h +++ b/src/core/tracker.h @@ -18,8 +18,8 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -#ifndef SRC_PROXY_TRACKER_H_ -#define SRC_PROXY_TRACKER_H_ +#ifndef SRC_CORE_TRACKER_H_ +#define SRC_CORE_TRACKER_H_ #include #include @@ -33,10 +33,10 @@ #include "util/logger.h" #include "core/trace_buffer.h" -namespace proxy { +namespace roctracer { class Tracker { public: - typedef util::HsaRsrcFactory::timestamp_t timestamp_t; + typedef ::util::HsaRsrcFactory::timestamp_t timestamp_t; typedef roctracer::trace_entry_t entry_t; typedef roctracer::entry_type_t entry_type_t; @@ -44,7 +44,7 @@ class Tracker { inline static void Enable(entry_type_t type, const hsa_agent_t& agent, const hsa_signal_t& signal, entry_t* entry) { hsa_status_t status = HSA_STATUS_ERROR; - util::HsaRsrcFactory* hsa_rsrc = &(util::HsaRsrcFactory::Instance()); + ::util::HsaRsrcFactory* hsa_rsrc = &(::util::HsaRsrcFactory::Instance()); // Creating a new tracker entry entry->type = type; @@ -72,7 +72,7 @@ class Tracker { // Entry completion inline static void Complete(hsa_signal_value_t signal_value, entry_t* entry) { // Query begin/end and complete timestamps - util::HsaRsrcFactory* hsa_rsrc = &(util::HsaRsrcFactory::Instance()); + ::util::HsaRsrcFactory* hsa_rsrc = &(::util::HsaRsrcFactory::Instance()); if (entry->type == roctracer::COPY_ENTRY_TYPE) { hsa_amd_profiling_async_copy_time_t async_copy_time{}; hsa_status_t status = hsa_amd_profiling_get_async_copy_time(entry->signal, &async_copy_time); @@ -125,6 +125,6 @@ class Tracker { } }; -} // namespace proxy +} // namespace roctracer -#endif // SRC_PROXY_TRACKER_H_ +#endif // SRC_CORE_TRACKER_H_ diff --git a/src/proxy/hsa_proxy_queue.h b/src/proxy/hsa_proxy_queue.h deleted file mode 100644 index 4093e6807c..0000000000 --- a/src/proxy/hsa_proxy_queue.h +++ /dev/null @@ -1,65 +0,0 @@ -/* Copyright (c) 2018-2022 Advanced Micro Devices, Inc. - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - THE SOFTWARE. */ - -#ifndef _SRC_CORE_HSA_PROXY_QUEUE_H -#define _SRC_CORE_HSA_PROXY_QUEUE_H - -#include -#include -#include -#include - -#include "proxy/proxy_queue.h" -#include "util/exception.h" - -namespace rocprofiler { -extern decltype(hsa_queue_destroy)* hsa_queue_destroy_fn; -extern decltype(hsa_amd_queue_intercept_create)* hsa_amd_queue_intercept_create_fn; -extern decltype(hsa_amd_queue_intercept_register)* hsa_amd_queue_intercept_register_fn; - -class HsaProxyQueue : public ProxyQueue { - public: - hsa_status_t SetInterceptCB(on_submit_cb_t on_submit_cb, void* data) { - return hsa_amd_queue_intercept_register_fn(queue_, on_submit_cb, data); - } - - void Submit(const packet_t* packet) { - EXC_RAISING(HSA_STATUS_ERROR, "HsaProxyQueue::Submit() is not supported"); - } - - private: - hsa_status_t Init(hsa_agent_t agent, uint32_t size, hsa_queue_type32_t type, - void (*callback)(hsa_status_t status, hsa_queue_t* source, void* data), - void* data, uint32_t private_segment_size, uint32_t group_segment_size, - hsa_queue_t** queue) { - const auto status = hsa_amd_queue_intercept_create_fn( - agent, size, type, callback, data, private_segment_size, group_segment_size, &queue_); - *queue = queue_; - return status; - } - - hsa_status_t Cleanup() const { return hsa_queue_destroy_fn(queue_); } - - hsa_queue_t* queue_; -}; - -} // namespace rocprofiler - -#endif // _SRC_CORE_HSA_PROXY_QUEUE_H diff --git a/src/proxy/hsa_queue.h b/src/proxy/hsa_queue.h deleted file mode 100644 index d8086615e6..0000000000 --- a/src/proxy/hsa_queue.h +++ /dev/null @@ -1,42 +0,0 @@ -/* Copyright (c) 2018-2022 Advanced Micro Devices, Inc. - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - THE SOFTWARE. */ - -#ifndef _SRC_CORE_HSA_QUEUE_H -#define _SRC_CORE_HSA_QUEUE_H - -#include - -#include "proxy/queue.h" - -namespace rocprofiler { - -class HsaQueue : public Queue { - public: - HsaQueue(const util::AgentInfo* agent_info, hsa_queue_t* queue) : queue_(queue) {} - - void Submit(const packet_t* packet) { util::HsaRsrcFactory::Instance().Submit(queue_, packet); } - - private: - hsa_queue_t* queue_; -}; - -} // namespace rocprofiler - -#endif // _SRC_CORE_HSA_QUEUE_H diff --git a/src/proxy/intercept_queue.cpp b/src/proxy/intercept_queue.cpp deleted file mode 100644 index f67dfc5ea0..0000000000 --- a/src/proxy/intercept_queue.cpp +++ /dev/null @@ -1,40 +0,0 @@ -/* Copyright (c) 2018-2022 Advanced Micro Devices, Inc. - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - THE SOFTWARE. */ - -#include "proxy/intercept_queue.h" - -namespace rocprofiler { -void InterceptQueue::HsaIntercept(HsaApiTable* table) { - table->core_->hsa_queue_create_fn = rocprofiler::InterceptQueue::QueueCreate; - table->core_->hsa_queue_destroy_fn = rocprofiler::InterceptQueue::QueueDestroy; -} - -InterceptQueue::mutex_t InterceptQueue::mutex_; -// rocprofiler_callback_t InterceptQueue::dispatch_callback_ = NULL; -// InterceptQueue::queue_callback_t InterceptQueue::create_callback_ = NULL; -// InterceptQueue::queue_callback_t InterceptQueue::destroy_callback_ = NULL; -// void* InterceptQueue::callback_data_ = NULL; -InterceptQueue::obj_map_t* InterceptQueue::obj_map_ = NULL; -const char* InterceptQueue::kernel_none_ = ""; -bool InterceptQueue::in_create_call_ = false; -InterceptQueue::queue_id_t InterceptQueue::current_queue_id = 0; -bool InterceptQueue::is_enabled = false; - -} // namespace rocprofiler diff --git a/src/proxy/intercept_queue.h b/src/proxy/intercept_queue.h deleted file mode 100644 index 0cc49de1e2..0000000000 --- a/src/proxy/intercept_queue.h +++ /dev/null @@ -1,304 +0,0 @@ -/* Copyright (c) 2018-2022 Advanced Micro Devices, Inc. - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - THE SOFTWARE. */ - -#ifndef _SRC_CORE_INTERCEPT_QUEUE_H -#define _SRC_CORE_INTERCEPT_QUEUE_H - -#include -#include -#include -#include - -#include -#include -#include -#include - -#include "core/trace_buffer.h" -#include "proxy/tracker.h" -#include "proxy/proxy_queue.h" -#include "util/hsa_rsrc_factory.h" -#include "util/exception.h" - -namespace roctracer { -extern TraceBuffer* trace_buffer; -} - -namespace rocprofiler { -extern decltype(hsa_queue_create)* hsa_queue_create_fn; -extern decltype(hsa_queue_destroy)* hsa_queue_destroy_fn; - -class InterceptQueue { - public: - typedef std::recursive_mutex mutex_t; - typedef std::map obj_map_t; - typedef hsa_status_t (*queue_callback_t)(hsa_queue_t*, void* data); - typedef void (*queue_event_callback_t)(hsa_status_t status, hsa_queue_t* queue, void* arg); - typedef uint32_t queue_id_t; - - static void HsaIntercept(HsaApiTable* table); - - static hsa_status_t InterceptQueueCreate( - hsa_agent_t agent, uint32_t size, hsa_queue_type32_t type, - void (*callback)(hsa_status_t status, hsa_queue_t* source, void* data), void* data, - uint32_t private_segment_size, uint32_t group_segment_size, hsa_queue_t** queue, - const bool& tracker_on) { - std::lock_guard lck(mutex_); - hsa_status_t status = HSA_STATUS_ERROR; - - if (in_create_call_) EXC_ABORT(status, "recursive InterceptQueueCreate()"); - in_create_call_ = true; - - ProxyQueue* proxy = - ProxyQueue::Create(agent, size, type, queue_event_callback, data, private_segment_size, - group_segment_size, queue, &status); - if (status != HSA_STATUS_SUCCESS) EXC_ABORT(status, "ProxyQueue::Create()"); - - status = util::HsaRsrcFactory::HsaApi()->hsa_amd_profiling_set_profiler_enabled(*queue, true); - if (status != HSA_STATUS_SUCCESS) EXC_ABORT(status, "hsa_amd_profiling_set_profiler_enabled()"); - - if (!obj_map_) obj_map_ = new obj_map_t; - InterceptQueue* obj = new InterceptQueue(agent, *queue, proxy); - obj->queue_event_callback_ = callback; - obj->queue_id = current_queue_id; - (*obj_map_)[(uint64_t)(*queue)] = obj; - - status = (is_enabled) ? proxy->SetInterceptCB(OnSubmitCB, obj) - : proxy->SetInterceptCB(OnSubmitCB_dummy, obj); - -#if 0 - if (create_callback_ != NULL) { - status = create_callback_(*queue, callback_data_); - } -#endif - - ++current_queue_id; - in_create_call_ = false; - return status; - } - - static hsa_status_t QueueCreate(hsa_agent_t agent, uint32_t size, hsa_queue_type32_t type, - void (*callback)(hsa_status_t status, hsa_queue_t* source, - void* data), - void* data, uint32_t private_segment_size, - uint32_t group_segment_size, hsa_queue_t** queue) { - return InterceptQueueCreate(agent, size, type, callback, data, private_segment_size, - group_segment_size, queue, false); - } - - static hsa_status_t QueueCreateTracked(hsa_agent_t agent, uint32_t size, hsa_queue_type32_t type, - void (*callback)(hsa_status_t status, hsa_queue_t* source, - void* data), - void* data, uint32_t private_segment_size, - uint32_t group_segment_size, hsa_queue_t** queue) { - return InterceptQueueCreate(agent, size, type, callback, data, private_segment_size, - group_segment_size, queue, true); - } - - static hsa_status_t QueueDestroy(hsa_queue_t* queue) { - std::lock_guard lck(mutex_); - hsa_status_t status = HSA_STATUS_SUCCESS; -#if 0 - if (destroy_callback_ != NULL) { - status = destroy_callback_(queue, callback_data_); - } -#endif - if (status == HSA_STATUS_SUCCESS) { - status = DelObj(queue); - } - - return status; - } - - static void OnSubmitCB_dummy(const void* in_packets, uint64_t count, uint64_t user_que_idx, - void* data, hsa_amd_queue_intercept_packet_writer writer) { - const packet_t* packets_arr = reinterpret_cast(in_packets); - - // Submitting the original packets if profiling was not enabled - if (writer != NULL) { - writer(packets_arr, count); - } else { - InterceptQueue* obj = reinterpret_cast(data); - Queue* proxy = obj->proxy_; - proxy->Submit(packets_arr, count); - } - } - - static void OnSubmitCB(const void* in_packets, uint64_t count, uint64_t user_que_idx, void* data, - hsa_amd_queue_intercept_packet_writer writer) { - const packet_t* packets_arr = reinterpret_cast(in_packets); - InterceptQueue* obj = reinterpret_cast(data); - Queue* proxy = obj->proxy_; - - // Travers input packets - for (uint64_t j = 0; j < count; ++j) { - const packet_t* packet = &packets_arr[j]; - - // Checking for dispatch packet type - if (GetHeaderType(packet) == HSA_PACKET_TYPE_KERNEL_DISPATCH) { - const hsa_kernel_dispatch_packet_t* dispatch_packet = - reinterpret_cast(packet); - - // Prepareing dispatch callback data - const hsa_signal_t completion_signal = dispatch_packet->completion_signal; - const amd_kernel_code_t* kernel_code = GetKernelCode(dispatch_packet); - const uint64_t kernel_symbol = kernel_code->runtime_loader_kernel_symbol; - const char* kernel_name = GetKernelName(kernel_symbol); - - // Adding kernel timing tracker - ::proxy::Tracker::entry_t* entry = roctracer::trace_buffer->GetEntry(); - entry->kernel.tid = syscall(__NR_gettid); - entry->kernel.name = kernel_name; - ::proxy::Tracker::Enable(roctracer::KERNEL_ENTRY_TYPE, obj->agent_info_->dev_id, - completion_signal, entry); - const_cast(dispatch_packet)->completion_signal = - entry->signal; - } - } - - // Submitting the original packets if profiling was not enabled - if (writer != NULL) { - writer(packets_arr, count); - } else { - proxy->Submit(packets_arr, count); - } - } -#if 0 - static void SetCallbacks(rocprofiler_callback_t dispatch_callback, - queue_callback_t create_callback, - queue_callback_t destroy_callback, - void* data) - { - std::lock_guard lck(mutex_); - callback_data_ = data; - dispatch_callback_ = dispatch_callback; - create_callback_ = create_callback; - destroy_callback_ = destroy_callback; - } -#endif - - static void Enable(bool val) { is_enabled = val; } - - private: - static void queue_event_callback(hsa_status_t status, hsa_queue_t* queue, void* arg) { - if (status != HSA_STATUS_SUCCESS) EXC_ABORT(status, "queue error handling is not supported"); - InterceptQueue* obj = GetObj(queue); - if (obj->queue_event_callback_) obj->queue_event_callback_(status, obj->queue_, arg); - } - - static hsa_packet_type_t GetHeaderType(const packet_t* packet) { - const packet_word_t* header = reinterpret_cast(packet); - return static_cast((*header >> HSA_PACKET_HEADER_TYPE) & header_type_mask); - } - - static const amd_kernel_code_t* GetKernelCode( - const hsa_kernel_dispatch_packet_t* dispatch_packet) { - const amd_kernel_code_t* kernel_code = NULL; - hsa_status_t status = - util::HsaRsrcFactory::Instance().LoaderApi()->hsa_ven_amd_loader_query_host_address( - reinterpret_cast(dispatch_packet->kernel_object), - reinterpret_cast(&kernel_code)); - if (HSA_STATUS_SUCCESS != status) { - kernel_code = reinterpret_cast(dispatch_packet->kernel_object); - } - return kernel_code; - } - - static const char* GetKernelName(const uint64_t kernel_symbol) { - amd_runtime_loader_debug_info_t* dbg_info = - reinterpret_cast(kernel_symbol); - const char* kernel_name = (dbg_info != NULL) ? dbg_info->kernel_name : NULL; - return (kernel_name != NULL) ? strdup(kernel_name) : strdup(kernel_none_); -#if 0 - // Kernel name is mangled name - // apply __cxa_demangle() to demangle it - const char* funcname = NULL; - if (kernel_name != NULL) { - size_t funcnamesize = 0; - int status; - const char* ret = abi::__cxa_demangle(kernel_name, NULL, &funcnamesize, &status); - funcname = (ret != 0) ? ret : strdup(kernel_name); - } - if (funcname == NULL) funcname = strdup(kernel_none_); - - return funcname; -#endif - } - - // method to get an intercept queue object - static InterceptQueue* GetObj(const hsa_queue_t* queue) { - std::lock_guard lck(mutex_); - InterceptQueue* obj = NULL; - obj_map_t::const_iterator it = obj_map_->find((uint64_t)queue); - if (it != obj_map_->end()) { - obj = it->second; - assert(queue == obj->queue_); - } - return obj; - } - - // method to delete an intercept queue object - static hsa_status_t DelObj(const hsa_queue_t* queue) { - std::lock_guard lck(mutex_); - hsa_status_t status = HSA_STATUS_ERROR; - obj_map_t::const_iterator it = obj_map_->find((uint64_t)queue); - if (it != obj_map_->end()) { - const InterceptQueue* obj = it->second; - assert(queue == obj->queue_); - delete obj; - obj_map_->erase(it); - status = HSA_STATUS_SUCCESS; - ; - } - return status; - } - - InterceptQueue(const hsa_agent_t& agent, hsa_queue_t* const queue, ProxyQueue* proxy) - : queue_(queue), proxy_(proxy) { - agent_info_ = util::HsaRsrcFactory::Instance().GetAgentInfo(agent); - queue_event_callback_ = NULL; - } - - ~InterceptQueue() { ProxyQueue::Destroy(proxy_); } - - static bool is_enabled; - - static mutex_t mutex_; - static const packet_word_t header_type_mask = (1ul << HSA_PACKET_HEADER_WIDTH_TYPE) - 1; -#if 0 - static queue_callback_t create_callback_; - static queue_callback_t destroy_callback_; - static void* callback_data_; -#endif - static obj_map_t* obj_map_; - static const char* kernel_none_; - static bool in_create_call_; - static queue_id_t current_queue_id; - - hsa_queue_t* const queue_; - ProxyQueue* const proxy_; - const util::AgentInfo* agent_info_; - queue_event_callback_t queue_event_callback_; - queue_id_t queue_id; -}; - -} // namespace rocprofiler - -#endif // _SRC_CORE_INTERCEPT_QUEUE_H diff --git a/src/proxy/proxy_queue.cpp b/src/proxy/proxy_queue.cpp deleted file mode 100644 index 3c14b530fa..0000000000 --- a/src/proxy/proxy_queue.cpp +++ /dev/null @@ -1,61 +0,0 @@ -/* Copyright (c) 2018-2022 Advanced Micro Devices, Inc. - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - THE SOFTWARE. */ - -#include "proxy/proxy_queue.h" - -#include "proxy/hsa_proxy_queue.h" -#include "proxy/simple_proxy_queue.h" - -namespace rocprofiler { -void ProxyQueue::HsaIntercept(HsaApiTable* table) { - if (rocp_type_) SimpleProxyQueue::HsaIntercept(table); -} - -ProxyQueue* ProxyQueue::Create(hsa_agent_t agent, uint32_t size, hsa_queue_type32_t type, - void (*callback)(hsa_status_t status, hsa_queue_t* source, - void* data), - void* data, uint32_t private_segment_size, - uint32_t group_segment_size, hsa_queue_t** queue, - hsa_status_t* status) { - hsa_status_t suc = HSA_STATUS_ERROR; - ProxyQueue* instance = - (rocp_type_) ? (ProxyQueue*)new SimpleProxyQueue() : (ProxyQueue*)new HsaProxyQueue(); - if (instance != NULL) { - suc = instance->Init(agent, size, type, callback, data, private_segment_size, - group_segment_size, queue); - if (suc != HSA_STATUS_SUCCESS) { - delete instance; - instance = NULL; - } - } - *status = suc; - assert(*status == HSA_STATUS_SUCCESS); - return instance; -} - -hsa_status_t ProxyQueue::Destroy(const ProxyQueue* obj) { - assert(obj != NULL); - auto suc = obj->Cleanup(); - delete obj; - return suc; -} - -bool ProxyQueue::rocp_type_ = false; -} // namespace rocprofiler diff --git a/src/proxy/proxy_queue.h b/src/proxy/proxy_queue.h deleted file mode 100644 index 8db8965504..0000000000 --- a/src/proxy/proxy_queue.h +++ /dev/null @@ -1,75 +0,0 @@ -/* Copyright (c) 2018-2022 Advanced Micro Devices, Inc. - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - THE SOFTWARE. */ - -#ifndef _SRC_CORE_PROXY_QUEUE_H -#define _SRC_CORE_PROXY_QUEUE_H - -#include -#include -#include -#include -#include - -#include "proxy/queue.h" -#include "proxy/types.h" - -struct HsaApiTable; - -namespace rocprofiler { -typedef void (*hsa_amd_queue_intercept_packet_writer)(const void* packets, uint64_t count); -typedef void (*on_submit_cb_t)(const void* packet, uint64_t count, uint64_t que_idx, void* data, - hsa_amd_queue_intercept_packet_writer writer); - -class ProxyQueue : public Queue { - public: - static void InitFactory() { - const char* type = getenv("ROCP_PROXY_QUEUE"); - if (type != NULL) { - if (strncmp(type, "rocp", 4) == 0) rocp_type_ = true; - } - } - - static void HsaIntercept(HsaApiTable* table); - - static ProxyQueue* Create(hsa_agent_t agent, uint32_t size, hsa_queue_type32_t type, - void (*callback)(hsa_status_t status, hsa_queue_t* source, void* data), - void* data, uint32_t private_segment_size, uint32_t group_segment_size, - hsa_queue_t** queue, hsa_status_t* status); - - static hsa_status_t Destroy(const ProxyQueue* obj); - - virtual hsa_status_t Init(hsa_agent_t agent, uint32_t size, hsa_queue_type32_t type, - void (*callback)(hsa_status_t status, hsa_queue_t* source, void* data), - void* data, uint32_t private_segment_size, uint32_t group_segment_size, - hsa_queue_t** queue) = 0; - virtual hsa_status_t Cleanup() const = 0; - virtual hsa_status_t SetInterceptCB(on_submit_cb_t on_submit_cb, void* data) = 0; - virtual void Submit(const packet_t* packet) = 0; - - protected: - virtual ~ProxyQueue(){}; - - private: - static bool rocp_type_; -}; - -} // namespace rocprofiler - -#endif // _SRC_CORE_PROXY_QUEUE_H diff --git a/src/proxy/queue.h b/src/proxy/queue.h deleted file mode 100644 index 60a7c3581e..0000000000 --- a/src/proxy/queue.h +++ /dev/null @@ -1,40 +0,0 @@ -/* Copyright (c) 2018-2022 Advanced Micro Devices, Inc. - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - THE SOFTWARE. */ - -#ifndef _SRC_CORE_QUEUE_H -#define _SRC_CORE_QUEUE_H - -#include "proxy/types.h" - -namespace rocprofiler { - -class Queue { - public: - Queue() {} - virtual ~Queue() {} - virtual void Submit(const packet_t* packet) = 0; - virtual void Submit(const packet_t* packet, const size_t& count) { - for (const packet_t* p = packet; p < packet + count; ++p) Submit(p); - } -}; - -} // namespace rocprofiler - -#endif // _SRC_CORE_QUEUE_H diff --git a/src/proxy/simple_proxy_queue.cpp b/src/proxy/simple_proxy_queue.cpp deleted file mode 100644 index a24259eca9..0000000000 --- a/src/proxy/simple_proxy_queue.cpp +++ /dev/null @@ -1,44 +0,0 @@ -/* Copyright (c) 2018-2022 Advanced Micro Devices, Inc. - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - THE SOFTWARE. */ - -#include "proxy/simple_proxy_queue.h" - -namespace rocprofiler { -void SimpleProxyQueue::HsaIntercept(HsaApiTable* table) { - table->core_->hsa_signal_store_relaxed_fn = rocprofiler::SimpleProxyQueue::SignalStore; - table->core_->hsa_signal_store_screlease_fn = rocprofiler::SimpleProxyQueue::SignalStore; - - table->core_->hsa_queue_load_write_index_relaxed_fn = - rocprofiler::SimpleProxyQueue::GetQueueIndex; - table->core_->hsa_queue_store_write_index_relaxed_fn = - rocprofiler::SimpleProxyQueue::SetQueueIndex; - table->core_->hsa_queue_load_read_index_relaxed_fn = - rocprofiler::SimpleProxyQueue::GetSubmitIndex; - - table->core_->hsa_queue_load_write_index_scacquire_fn = - rocprofiler::SimpleProxyQueue::GetQueueIndex; - table->core_->hsa_queue_store_write_index_screlease_fn = - rocprofiler::SimpleProxyQueue::SetQueueIndex; - table->core_->hsa_queue_load_read_index_scacquire_fn = - rocprofiler::SimpleProxyQueue::GetSubmitIndex; -} - -SimpleProxyQueue::queue_map_t* SimpleProxyQueue::queue_map_ = NULL; -} // namespace rocprofiler diff --git a/src/proxy/simple_proxy_queue.h b/src/proxy/simple_proxy_queue.h deleted file mode 100644 index 4c588b22db..0000000000 --- a/src/proxy/simple_proxy_queue.h +++ /dev/null @@ -1,259 +0,0 @@ -/* Copyright (c) 2018-2022 Advanced Micro Devices, Inc. - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - THE SOFTWARE. */ - -#ifndef _SRC_CORE_SIMPLE_PROXY_QUEUE_H -#define _SRC_CORE_SIMPLE_PROXY_QUEUE_H - -#include -#include -#include -#include - -#include "proxy/proxy_queue.h" -#include "util/hsa_rsrc_factory.h" - -#ifndef ROCP_PROXY_LOCK -#define ROCP_PROXY_LOCK 1 -#endif - -namespace rocprofiler { -extern decltype(hsa_queue_create)* hsa_queue_create_fn; -extern decltype(hsa_queue_destroy)* hsa_queue_destroy_fn; - -extern decltype(hsa_signal_store_relaxed)* hsa_signal_store_relaxed_fn; -extern decltype(hsa_signal_store_relaxed)* hsa_signal_store_screlease_fn; - -extern decltype(hsa_queue_load_write_index_relaxed)* hsa_queue_load_write_index_relaxed_fn; -extern decltype(hsa_queue_store_write_index_relaxed)* hsa_queue_store_write_index_relaxed_fn; -extern decltype(hsa_queue_load_read_index_relaxed)* hsa_queue_load_read_index_relaxed_fn; - -extern decltype(hsa_queue_load_write_index_scacquire)* hsa_queue_load_write_index_scacquire_fn; -extern decltype(hsa_queue_store_write_index_screlease)* hsa_queue_store_write_index_screlease_fn; -extern decltype(hsa_queue_load_read_index_scacquire)* hsa_queue_load_read_index_scacquire_fn; - -typedef decltype(hsa_signal_t::handle) signal_handle_t; - - -class SimpleProxyQueue : public ProxyQueue { - public: - static void HsaIntercept(HsaApiTable* table); - - static void SignalStore(hsa_signal_t signal, hsa_signal_value_t que_idx) { - auto it = queue_map_->find(signal.handle); - if (it != queue_map_->end()) { - SimpleProxyQueue* instance = it->second; - instance->mutex_lock(); - const uint64_t begin = instance->submit_index_; - const uint64_t end = que_idx + 1; - instance->submit_index_ = end; - instance->mutex_unlock(); - for (uint64_t j = begin; j < end; ++j) { - // Submited packet - const uint32_t idx = j & instance->queue_mask_; - packet_t* packet = reinterpret_cast(instance->queue_->base_address) + idx; - if (instance->on_submit_cb_ != NULL) - instance->on_submit_cb_(packet, 1, j, instance->on_submit_cb_data_, NULL); - else - instance->Submit(packet); - } - } else { - hsa_signal_store_relaxed_fn(signal, que_idx); - } - } - - static uint64_t GetSubmitIndex(const hsa_queue_t* queue) { - uint64_t index = 0; - auto it = queue_map_->find(queue->doorbell_signal.handle); - if (it != queue_map_->end()) { - SimpleProxyQueue* instance = it->second; - index = instance->submit_index_; - } else { - index = hsa_queue_load_read_index_relaxed_fn(queue); - } - return index; - } - - static uint64_t GetQueueIndex(const hsa_queue_t* queue) { - uint64_t index = 0; - auto it = queue_map_->find(queue->doorbell_signal.handle); - if (it != queue_map_->end()) { - SimpleProxyQueue* instance = it->second; - instance->mutex_lock(); - index = instance->queue_index_; - } else { - index = hsa_queue_load_write_index_relaxed_fn(queue); - } - return index; - } - - static void SetQueueIndex(const hsa_queue_t* queue, uint64_t value) { - auto it = queue_map_->find(queue->doorbell_signal.handle); - if (it != queue_map_->end()) { - SimpleProxyQueue* instance = it->second; - instance->queue_index_ = value; - instance->mutex_unlock(); - } else { - hsa_queue_store_write_index_relaxed_fn(queue, value); - } - } - - hsa_status_t SetInterceptCB(on_submit_cb_t on_submit_cb, void* data) { - on_submit_cb_ = on_submit_cb; - on_submit_cb_data_ = data; - return HSA_STATUS_SUCCESS; - } - - void Submit(const packet_t* packet) { - // Compute the write index of queue - const uint64_t que_idx = hsa_queue_load_write_index_relaxed_fn(queue_); - - // Waiting until there is a free space in the queue - while (que_idx >= (hsa_queue_load_read_index_relaxed_fn(queue_) + size_)) - ; - - // Increment the write index - hsa_queue_store_write_index_relaxed_fn(queue_, que_idx + 1); - - const uint32_t mask = queue_->size - 1; - const uint32_t idx = que_idx & mask; - - // Copy packet to the queue - const packet_word_t* src = reinterpret_cast(packet); - packet_word_t* dst = reinterpret_cast(base_address_ + idx); - for (unsigned i = 1; i < sizeof(packet_t) / sizeof(packet_word_t); ++i) { - dst[i] = src[i]; - } - - // To maintain global order to ensure the prior copy of the packet contents is made visible - // before the header is updated. - // With in-order CP it will wait until the first packet in the blob will be valid. - std::atomic* header_atomic_ptr = - reinterpret_cast*>(&dst[0]); - header_atomic_ptr->store(src[0], std::memory_order_release); - - // Doorbell signaling to submit the packet - hsa_signal_store_relaxed_fn(doorbell_signal_, que_idx); - } - - SimpleProxyQueue() - : agent_info_(NULL), - queue_(NULL), - base_address_(NULL), - doorbell_signal_({}), - queue_index_(0), - queue_mask_(0), - submit_index_(0), - on_submit_cb_(NULL), - on_submit_cb_data_(NULL) { - printf("ROCProfiler: SimpleProxyQueue is enabled\n"); - fflush(stdout); - } - - ~SimpleProxyQueue() {} - - private: - typedef std::map queue_map_t; - - hsa_status_t Init(hsa_agent_t agent, uint32_t size, hsa_queue_type32_t type, - void (*callback)(hsa_status_t status, hsa_queue_t* source, void* data), - void* data, uint32_t private_segment_size, uint32_t group_segment_size, - hsa_queue_t** queue) { - size_ = size; - auto status = Init(agent, size); - *queue = queue_; - return status; - } - - hsa_status_t Init(hsa_agent_t agent, uint32_t size) { - hsa_status_t status = HSA_STATUS_ERROR; - agent_info_ = util::HsaRsrcFactory::Instance().GetAgentInfo(agent); - if (agent_info_ != NULL) { - if (agent_info_->dev_type == HSA_DEVICE_TYPE_GPU) { - status = hsa_queue_create_fn(agent, size, HSA_QUEUE_TYPE_MULTI, NULL, NULL, UINT32_MAX, - UINT32_MAX, &queue_); - if (status == HSA_STATUS_SUCCESS) { - base_address_ = reinterpret_cast(queue_->base_address); - doorbell_signal_ = queue_->doorbell_signal; - data_array_ = calloc(size + 1, sizeof(packet_t)); - uintptr_t addr = (uintptr_t)data_array_; - queue_->base_address = (void*)((addr + align_mask_) & ~align_mask_); - status = hsa_signal_create(1, 0, NULL, &(queue_->doorbell_signal)); - if (status != HSA_STATUS_SUCCESS) abort(); - queue_mask_ = size - 1; - - if (queue_map_ == NULL) queue_map_ = new queue_map_t; - (*queue_map_)[queue_->doorbell_signal.handle] = this; - } else - abort(); - } - } - if (status != HSA_STATUS_SUCCESS) abort(); - return status; - } - - hsa_status_t Cleanup() const { - hsa_status_t status = HSA_STATUS_ERROR; - hsa_signal_t queue_signal = queue_->doorbell_signal; - - // Destroy original HSA queue - queue_->base_address = base_address_; - queue_->doorbell_signal = doorbell_signal_; - status = hsa_queue_destroy_fn(queue_); - if (status != HSA_STATUS_SUCCESS) abort(); - - // Destroy overloaded virtual queue data and signal - free(data_array_); - status = hsa_signal_destroy(queue_signal); - if (status != HSA_STATUS_SUCCESS) abort(); - - return status; - } - - void mutex_lock() { -#if ROCP_PROXY_LOCK - mutex_.lock(); -#endif - } - - void mutex_unlock() { -#if ROCP_PROXY_LOCK - mutex_.unlock(); -#endif - } - - uint32_t size_; - static queue_map_t* queue_map_; - const util::AgentInfo* agent_info_; - hsa_queue_t* queue_; - static const uintptr_t align_mask_ = sizeof(packet_t) - 1; - packet_t* base_address_; - hsa_signal_t doorbell_signal_; - uint64_t queue_index_; - uint64_t queue_mask_; - uint64_t submit_index_; - std::mutex mutex_; - on_submit_cb_t on_submit_cb_; - void* on_submit_cb_data_; - void* data_array_; -}; - -} // namespace rocprofiler - -#endif // _SRC_CORE_SIMPLE_PROXY_QUEUE_H diff --git a/src/proxy/types.h b/src/proxy/types.h deleted file mode 100644 index 50231a55f3..0000000000 --- a/src/proxy/types.h +++ /dev/null @@ -1,49 +0,0 @@ -/* Copyright (c) 2018-2022 Advanced Micro Devices, Inc. - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - THE SOFTWARE. */ - -#ifndef SRC_CORE_TYPES_H_ -#define SRC_CORE_TYPES_H_ - -#include - -#include - -namespace rocprofiler { -typedef hsa_ven_amd_aqlprofile_pfn_t pfn_t; -typedef hsa_ven_amd_aqlprofile_event_t event_t; -typedef hsa_ven_amd_aqlprofile_parameter_t parameter_t; -typedef hsa_ven_amd_aqlprofile_profile_t profile_t; -typedef hsa_ext_amd_aql_pm4_packet_t packet_t; -typedef uint32_t packet_word_t; -typedef uint64_t timestamp_t; - -inline std::ostream& operator<<(std::ostream& out, const event_t& event) { - out << "[block_name(" << event.block_name << "). block_index(" << event.block_index - << "). counter_id(" << event.counter_id << ")]"; - return out; -} -inline std::ostream& operator<<(std::ostream& out, const parameter_t& parameter) { - out << "[parameter_name(" << parameter.parameter_name << "). value(" << parameter.value << ")]"; - return out; -} - -} // namespace rocprofiler - -#endif // SRC_CORE_TYPES_H_ From 18f60efe05ee82aeebb53c989485013740a738d6 Mon Sep 17 00:00:00 2001 From: Laurent Morichetti Date: Tue, 26 Apr 2022 12:39:09 -0700 Subject: [PATCH 502/691] Fix typos/spelling errors Change-Id: Idec1cb8fab91c30f99563bc7dd4db1faeb2db954 --- inc/roctracer.h | 12 ++++++------ inc/roctracer_roctx.h | 4 ++-- src/core/roctracer.cpp | 16 ++++++++-------- src/roctx/roctx.cpp | 2 +- 4 files changed, 17 insertions(+), 17 deletions(-) diff --git a/inc/roctracer.h b/inc/roctracer.h index 0c3c1b241c..3d549dbd1d 100644 --- a/inc/roctracer.h +++ b/inc/roctracer.h @@ -24,10 +24,10 @@ // // ROC-tracer library, Runtimes Generic Callback/Activity APIs. // The goal of the implementation is to provide a generic independent from -// specific runtime profiler to trace API and asyncronous activity. +// specific runtime profiler to trace API and asynchronous activity. // // The API provides functionality for registering the runtimes API callbacks and -// asyncronous activity records pool support. +// asynchronous activity records pool support. // //////////////////////////////////////////////////////////////////////////////// @@ -55,7 +55,7 @@ uint32_t roctracer_version_major(); uint32_t roctracer_version_minor(); //////////////////////////////////////////////////////////////////////////////// -// Library errors enumaration +// Library errors enumeration typedef enum { ROCTRACER_STATUS_SUCCESS = 0, ROCTRACER_STATUS_ERROR = 1, @@ -159,8 +159,8 @@ typedef void (*roctracer_buffer_callback_t)( typedef struct { uint32_t mode; // roctracer mode size_t buffer_size; // buffer size - roctracer_allocator_t alloc_fun; // memory alocator function pointer - void* alloc_arg; // memory alocator function pointer + roctracer_allocator_t alloc_fun; // memory allocator function pointer + void* alloc_arg; // memory allocator function pointer roctracer_buffer_callback_t buffer_callback_fun; // tracer record callback function void* buffer_callback_arg; // tracer record callback arg } roctracer_properties_t; @@ -242,7 +242,7 @@ void roctracer_flush_buf(); // Set properties roctracer_status_t roctracer_set_properties(roctracer_domain_t domain, // tracing domain - void* propertes); // tracing properties + void* properties); // tracing properties #ifdef __cplusplus } // extern "C" block diff --git a/inc/roctracer_roctx.h b/inc/roctracer_roctx.h index 3beee3060b..59936c2732 100644 --- a/inc/roctracer_roctx.h +++ b/inc/roctracer_roctx.h @@ -74,10 +74,10 @@ typedef struct roctx_api_data_s { } args; } roctx_api_data_t; -// Regiter ROCTX callback for given opertaion id +// Regiter ROCTX callback for given operation id bool RegisterApiCallback(uint32_t op, void* callback, void* arg); -// Remove ROCTX callback for given opertaion id +// Remove ROCTX callback for given operation id bool RemoveApiCallback(uint32_t op); // Iterate range stack to support tracing start/stop diff --git a/src/core/roctracer.cpp b/src/core/roctracer.cpp index 57c679c95d..da23084f63 100644 --- a/src/core/roctracer.cpp +++ b/src/core/roctracer.cpp @@ -236,7 +236,7 @@ TraceBuffer* trace_buffer = NULL; namespace hsa_support { // callbacks table cb_table_t cb_table; -// asyc copy activity callback +// async copy activity callback bool async_copy_callback_enabled = false; activity_async_callback_t async_copy_callback_fun = NULL; void* async_copy_callback_arg = NULL; @@ -252,7 +252,7 @@ ImageExtTable ImageExtTable_saved{}; namespace ext_support { roctracer_start_cb_t roctracer_start_cb = NULL; roctracer_stop_cb_t roctracer_stop_cb = NULL; -} // namespace ext_suppoprt +} // namespace ext_support roctracer_status_t GetExcStatus(const std::exception& e) { const util::exception* roctracer_exc_ptr = dynamic_cast(&e); @@ -391,7 +391,7 @@ void* HIP_SyncApiDataCallback(uint32_t op_id, roctracer_record_t* record, const data_ptr->correlation_id = correlation_id; } - // Passing correlatin ID + // Passing correlation ID correlation_id_tls = correlation_id; ret = data_ptr; @@ -399,7 +399,7 @@ void* HIP_SyncApiDataCallback(uint32_t op_id, roctracer_record_t* record, const // popping the record entry if (!record_pair_stack->empty()) record_pair_stack->pop(); - // Clearing correlatin ID + // Clearing correlation ID correlation_id_tls = 0; } @@ -458,7 +458,7 @@ void* HIP_SyncActivityCallback(uint32_t op_id, roctracer_record_t* record, } record->correlation_id = correlation_id; - // Passing correlatin ID + // Passing correlation ID correlation_id_tls = correlation_id; ret = data_ptr; @@ -493,7 +493,7 @@ void* HIP_SyncActivityCallback(uint32_t op_id, roctracer_record_t* record, // popping the record entry if (!record_pair_stack->empty()) record_pair_stack->pop(); - // Clearing correlatin ID + // Clearing correlation ID correlation_id_tls = 0; } @@ -614,7 +614,7 @@ MemoryPool* memory_pool = NULL; typedef std::recursive_mutex memory_pool_mutex_t; memory_pool_mutex_t memory_pool_mutex; -// Stop sttaus routines and primitives +// Stop status routines and primitives unsigned stop_status_value = 0; typedef std::mutex stop_status_mutex_t; stop_status_mutex_t stop_status_mutex; @@ -634,7 +634,7 @@ TRACE_BUFFER_INSTANTIATE(); // extern "C" { -// Returns library vesrion +// Returns library version PUBLIC_API uint32_t roctracer_version_major() { return ROCTRACER_VERSION_MAJOR; } PUBLIC_API uint32_t roctracer_version_minor() { return ROCTRACER_VERSION_MINOR; } diff --git a/src/roctx/roctx.cpp b/src/roctx/roctx.cpp index bbdf670541..5bb959a354 100644 --- a/src/roctx/roctx.cpp +++ b/src/roctx/roctx.cpp @@ -66,7 +66,7 @@ inline uint32_t GetPid() { return syscall(__NR_getpid); } inline uint32_t GetTid() { return syscall(__NR_gettid); } //////////////////////////////////////////////////////////////////////////////// -// Library errors enumaration +// Library errors enumeration typedef enum { ROCTX_STATUS_SUCCESS = 0, ROCTX_STATUS_ERROR = 1, From 0d7d56eea57817b6a24a114bff96d6bc078ea7ff Mon Sep 17 00:00:00 2001 From: Laurent Morichetti Date: Wed, 27 Apr 2022 08:36:54 -0700 Subject: [PATCH 503/691] Fix a SEGV when running --roctx-trace There's a typo in RegisterApiCallback, roctx::cb_table.Get should be roctx::cb_table.Set. Change-Id: I47ec8ac666f783ff4e03f35d13e375e645899900 --- src/core/callback_table.h | 1 + src/roctx/roctx.cpp | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/core/callback_table.h b/src/core/callback_table.h index 52c4fccdb8..608154ce0d 100644 --- a/src/core/callback_table.h +++ b/src/core/callback_table.h @@ -45,6 +45,7 @@ template class CallbackTable { void Get(uint32_t id, activity_rtapi_callback_t* callback, void** arg) const { assert(id < N && "id is out of range"); + assert(callback != nullptr && arg != nullptr && "invalid arguments"); std::lock_guard lock(mutex_); std::tie(*callback, *arg) = callbacks_[id]; } diff --git a/src/roctx/roctx.cpp b/src/roctx/roctx.cpp index 5bb959a354..c2a71bebe3 100644 --- a/src/roctx/roctx.cpp +++ b/src/roctx/roctx.cpp @@ -230,7 +230,7 @@ PUBLIC_API bool RegisterApiCallback(uint32_t op, void* callback, void* arg) { PUBLIC_API bool RemoveApiCallback(uint32_t op) { if (op >= ROCTX_API_ID_NUMBER) return false; - roctx::cb_table.Get(op, NULL, NULL); + roctx::cb_table.Set(op, nullptr, nullptr); return true; } From 5963363484a7966bab73588c830e11b5a71277e2 Mon Sep 17 00:00:00 2001 From: Laurent Morichetti Date: Mon, 25 Apr 2022 13:28:21 -0700 Subject: [PATCH 504/691] Fix assertions Replace EXC_ABORT() checks with assertions. Rewrite the exception class to use std::runtime_error (as it already handles the std::string/char* message argument). Change-Id: I48e31924f3aea1328e6562ab6bb06ec373fd5d5e --- src/core/memory_pool.h | 8 +++----- src/core/roctracer.cpp | 36 +++++++++++++++++------------------- src/core/tracker.h | 14 ++++++++------ src/roctx/roctx.cpp | 12 +++++------- src/util/exception.h | 32 +++++++++++--------------------- 5 files changed, 44 insertions(+), 58 deletions(-) diff --git a/src/core/memory_pool.h b/src/core/memory_pool.h index 27eae906e1..7e5837b486 100644 --- a/src/core/memory_pool.h +++ b/src/core/memory_pool.h @@ -23,6 +23,7 @@ #include "util/exception.h" +#include #include #include #include @@ -40,7 +41,7 @@ class MemoryPool { const size_t allocation_size = 2 * properties_.buffer_size; pool_begin_ = nullptr; AllocateMemory(&pool_begin_, allocation_size); - if (pool_begin_ == nullptr) EXC_ABORT(ROCTRACER_STATUS_ERROR, "pool allocator failed"); + assert(pool_begin_ != nullptr && "pool allocator failed"); pool_end_ = pool_begin_ + allocation_size; buffer_begin_ = pool_begin_; @@ -80,10 +81,7 @@ class MemoryPool { write_ptr_ = buffer_begin_; next = write_ptr_ + sizeof(record); - if (next > buffer_end_) - EXC_ABORT(ROCTRACER_STATUS_ERROR, - "buffer size(" << properties_.buffer_size << ") is less then the record(" - << sizeof(record) << ")"); + assert(next <= buffer_end_ && "buffer size is less then the record size"); } // Store the record into the buffer, and increment the write pointer. diff --git a/src/core/roctracer.cpp b/src/core/roctracer.cpp index da23084f63..7e9161244f 100644 --- a/src/core/roctracer.cpp +++ b/src/core/roctracer.cpp @@ -25,6 +25,7 @@ #define PROF_API_IMPL 1 #include "inc/roctracer_hsa.h" +#include #include #include #include @@ -255,9 +256,9 @@ roctracer_stop_cb_t roctracer_stop_cb = NULL; } // namespace ext_support roctracer_status_t GetExcStatus(const std::exception& e) { - const util::exception* roctracer_exc_ptr = dynamic_cast(&e); - return (roctracer_exc_ptr) ? static_cast(roctracer_exc_ptr->status()) - : ROCTRACER_STATUS_ERROR; + const util::exception* roctracer_exc_ptr = + dynamic_cast*>(&e); + return (roctracer_exc_ptr) ? roctracer_exc_ptr->status() : ROCTRACER_STATUS_ERROR; } class GlobalCounter { @@ -302,8 +303,7 @@ static thread_local std::stack external_id_stack; static inline void CorrelationIdRegistr(const activity_correlation_id_t& correlation_id) { std::lock_guard lck(correlation_id_mutex); const auto ret = correlation_id_map.insert({correlation_id, correlation_id_tls}); - if (ret.second == false) - EXC_ABORT(ROCTRACER_STATUS_ERROR, "HIP activity id is not unique(" << correlation_id << ")"); + assert(ret.second && "HIP activity id is not unique"); DEBUG_TRACE("CorrelationIdRegistr id(%lu) id_tls(%lu)\n", correlation_id, correlation_id_tls); } @@ -312,8 +312,7 @@ static inline activity_correlation_id_t CorrelationIdLookup( const activity_correlation_id_t& correlation_id) { std::lock_guard lck(correlation_id_mutex); auto it = correlation_id_map.find(correlation_id); - if (it == correlation_id_map.end()) - EXC_ABORT(ROCTRACER_STATUS_ERROR, "HIP activity id lookup failed(" << correlation_id << ")"); + assert(it != correlation_id_map.end() && "HIP activity id lookup failed"); const activity_correlation_id_t ret_val = it->second; correlation_id_map.erase(it); @@ -328,27 +327,27 @@ hip_activity_mutex_t hip_activity_mutex; hip_act_cb_tracker_t* hip_act_cb_tracker = NULL; inline uint32_t HipApiActivityEnableCheck(uint32_t op) { - if (hip_act_cb_tracker == NULL) EXC_ABORT(ROCTRACER_STATUS_ERROR, "hip_act_cb_tracker is NULL"); + assert(hip_act_cb_tracker != nullptr && "hip_act_cb_tracker is NULL"); const uint32_t mask = hip_act_cb_tracker->enable_check(op, API_CB_MASK); const uint32_t ret = (mask & ACT_CB_MASK); return ret; } inline uint32_t HipApiActivityDisableCheck(uint32_t op) { - if (hip_act_cb_tracker == NULL) EXC_ABORT(ROCTRACER_STATUS_ERROR, "hip_act_cb_tracker is NULL"); + assert(hip_act_cb_tracker != nullptr && "hip_act_cb_tracker is NULL"); const uint32_t mask = hip_act_cb_tracker->disable_check(op, API_CB_MASK); const uint32_t ret = (mask & ACT_CB_MASK); return ret; } inline uint32_t HipActActivityEnableCheck(uint32_t op) { - if (hip_act_cb_tracker == NULL) EXC_ABORT(ROCTRACER_STATUS_ERROR, "hip_act_cb_tracker is NULL"); + assert(hip_act_cb_tracker != nullptr && "hip_act_cb_tracker is NULL"); hip_act_cb_tracker->enable_check(op, ACT_CB_MASK); return 0; } inline uint32_t HipActActivityDisableCheck(uint32_t op) { - if (hip_act_cb_tracker == NULL) EXC_ABORT(ROCTRACER_STATUS_ERROR, "hip_act_cb_tracker is NULL"); + assert(hip_act_cb_tracker != nullptr && "hip_act_cb_tracker is NULL"); const uint32_t mask = hip_act_cb_tracker->disable_check(op, ACT_CB_MASK); const uint32_t ret = (mask & API_CB_MASK); return ret; @@ -366,7 +365,7 @@ void* HIP_SyncApiDataCallback(uint32_t op_id, roctracer_record_t* record, const int phase = ACTIVITY_API_PHASE_ENTER; if (record != NULL) { - if (data == NULL) EXC_ABORT(ROCTRACER_STATUS_ERROR, "ActivityCallback: data is NULL"); + assert(data != nullptr && "ActivityCallback: data is NULL"); phase = data->phase; } else if (pool != NULL) { phase = ACTIVITY_API_PHASE_EXIT; @@ -375,7 +374,7 @@ void* HIP_SyncApiDataCallback(uint32_t op_id, roctracer_record_t* record, const if (phase == ACTIVITY_API_PHASE_ENTER) { // Allocating a record if NULL passed if (record == NULL) { - if (data != NULL) EXC_ABORT(ROCTRACER_STATUS_ERROR, "ActivityCallback enter: record is NULL"); + assert(data == nullptr && "ActivityCallback enter: record is NULL"); record_pair_stack->push({}); auto& top = record_pair_stack->top(); data = &(top.data.hip); @@ -426,7 +425,7 @@ void* HIP_SyncActivityCallback(uint32_t op_id, roctracer_record_t* record, int phase = ACTIVITY_API_PHASE_ENTER; if (record != NULL) { - if (data == NULL) EXC_ABORT(ROCTRACER_STATUS_ERROR, "ActivityCallback: data is NULL"); + assert(data != NULL && "ActivityCallback: data is NULL"); phase = data->phase; } else if (pool != NULL) { phase = ACTIVITY_API_PHASE_EXIT; @@ -435,7 +434,7 @@ void* HIP_SyncActivityCallback(uint32_t op_id, roctracer_record_t* record, if (phase == ACTIVITY_API_PHASE_ENTER) { // Allocating a record if NULL passed if (record == NULL) { - if (data != NULL) EXC_ABORT(ROCTRACER_STATUS_ERROR, "ActivityCallback enter: record is NULL"); + assert(data == nullptr && "ActivityCallback enter: record is NULL"); record_pair_stack->push({}); auto& top = record_pair_stack->top(); record = &(top.record); @@ -463,12 +462,11 @@ void* HIP_SyncActivityCallback(uint32_t op_id, roctracer_record_t* record, ret = data_ptr; } else { - if (pool == NULL) EXC_ABORT(ROCTRACER_STATUS_ERROR, "ActivityCallback exit: pool is NULL"); + assert(pool != nullptr && "ActivityCallback exit: pool is NULL"); // Getting record of stacked if (record == NULL) { - if (record_pair_stack->empty()) - EXC_ABORT(ROCTRACER_STATUS_ERROR, "ActivityCallback exit: record stack is empty"); + assert(!record_pair_stack->empty() && "ActivityCallback exit: record stack is empty"); auto& top = record_pair_stack->top(); record = &(top.record); } @@ -1239,7 +1237,7 @@ PUBLIC_API roctracer_status_t roctracer_set_properties(roctracer_domain_t domain // HSA async-copy tracing hsa_status_t status = hsa_amd_profiling_async_copy_enable(true); - if (status != HSA_STATUS_SUCCESS) EXC_ABORT(status, "hsa_amd_profiling_async_copy_enable"); + assert(status == HSA_STATUS_SUCCESS && "hsa_amd_profiling_async_copy_enable failed"); roctracer::hsa_amd_memory_async_copy_fn = table->amd_ext_->hsa_amd_memory_async_copy_fn; roctracer::hsa_amd_memory_async_copy_rect_fn = table->amd_ext_->hsa_amd_memory_async_copy_rect_fn; diff --git a/src/core/tracker.h b/src/core/tracker.h index a005f213d8..76ca7d8f66 100644 --- a/src/core/tracker.h +++ b/src/core/tracker.h @@ -56,10 +56,12 @@ class Tracker { // Creating a proxy signal status = hsa_signal_create(1, 0, NULL, &(entry->signal)); - if (status != HSA_STATUS_SUCCESS) EXC_RAISING(status, "hsa_signal_create"); + if (status != HSA_STATUS_SUCCESS) + EXC_RAISING(ROCTRACER_STATUS_ERROR, "hsa_signal_create failed"); status = hsa_amd_signal_async_handler(entry->signal, HSA_SIGNAL_CONDITION_LT, 1, Handler, entry); - if (status != HSA_STATUS_SUCCESS) EXC_RAISING(status, "hsa_amd_signal_async_handler"); + if (status != HSA_STATUS_SUCCESS) + EXC_RAISING(ROCTRACER_STATUS_ERROR, "hsa_amd_signal_async_handler failed"); } // Delete tracker entry @@ -77,14 +79,15 @@ class Tracker { hsa_amd_profiling_async_copy_time_t async_copy_time{}; hsa_status_t status = hsa_amd_profiling_get_async_copy_time(entry->signal, &async_copy_time); if (status != HSA_STATUS_SUCCESS) - EXC_RAISING(status, "hsa_amd_profiling_get_async_copy_time"); + EXC_RAISING(ROCTRACER_STATUS_ERROR, "hsa_amd_profiling_get_async_copy_time failed"); entry->begin = hsa_rsrc->SysclockToNs(async_copy_time.start); entry->end = hsa_rsrc->SysclockToNs(async_copy_time.end); } else { hsa_amd_profiling_dispatch_time_t dispatch_time{}; hsa_status_t status = hsa_amd_profiling_get_dispatch_time(entry->agent, entry->signal, &dispatch_time); - if (status != HSA_STATUS_SUCCESS) EXC_RAISING(status, "hsa_amd_profiling_get_dispatch_time"); + if (status != HSA_STATUS_SUCCESS) + EXC_RAISING(ROCTRACER_STATUS_ERROR, "hsa_amd_profiling_get_dispatch_time failed"); entry->begin = hsa_rsrc->SysclockToNs(dispatch_time.start); entry->end = hsa_rsrc->SysclockToNs(dispatch_time.end); entry->dev_index = (hsa_rsrc->GetAgentInfo(entry->agent))->dev_index; @@ -105,8 +108,7 @@ class Tracker { orig_signal_ptr->end_ts = prof_signal_ptr->end_ts; const hsa_signal_value_t new_value = hsa_signal_load_relaxed(orig) - 1; - if (signal_value != new_value) - EXC_ABORT(HSA_STATUS_ERROR, "Tracker::Complete bad signal value"); + assert(signal_value == new_value && "Tracker::Complete bad signal value"); hsa_signal_store_screlease(orig, signal_value); } hsa_signal_destroy(signal); diff --git a/src/roctx/roctx.cpp b/src/roctx/roctx.cpp index c2a71bebe3..780975135d 100644 --- a/src/roctx/roctx.cpp +++ b/src/roctx/roctx.cpp @@ -92,10 +92,9 @@ thread_map_t thread_map; static thread_local message_stack_t* message_stack = NULL; roctx_status_t GetExcStatus(const std::exception& e) { - const roctracer::util::exception* roctx_exc_ptr = - dynamic_cast(&e); - return (roctx_exc_ptr) ? static_cast(roctx_exc_ptr->status()) - : ROCTX_STATUS_ERROR; + const roctracer::util::exception* roctx_exc_ptr = + dynamic_cast*>(&e); + return (roctx_exc_ptr) ? roctx_exc_ptr->status() : ROCTX_STATUS_ERROR; } void thread_data_init() { @@ -169,11 +168,10 @@ PUBLIC_API int roctxRangePop() { api_callback_fun(ACTIVITY_DOMAIN_ROCTX, ROCTX_API_ID_roctxRangePop, &api_data, api_callback_arg); if (roctx::message_stack->empty()) { - EXC_ABORT(ROCTX_STATUS_ERROR, "Pop from empty stack!"); - } else { - roctx::message_stack->pop(); + EXC_RAISING(ROCTX_STATUS_ERROR, "Pop from empty stack!"); } + roctx::message_stack->pop(); return roctx::message_stack->size(); API_METHOD_CATCH(-1) } diff --git a/src/util/exception.h b/src/util/exception.h index 4887b19bcd..2a791a184d 100644 --- a/src/util/exception.h +++ b/src/util/exception.h @@ -21,40 +21,30 @@ #ifndef SRC_UTIL_EXCEPTION_H_ #define SRC_UTIL_EXCEPTION_H_ -#include #include +#include #include -#define EXC_ABORT(error, stream) \ - do { \ - std::ostringstream oss; \ - oss << __FUNCTION__ << "(), " << stream; \ - std::cout << oss.str() << std::endl; \ - abort(); \ - } while (0) - #define EXC_RAISING(error, stream) \ do { \ std::ostringstream oss; \ oss << __FUNCTION__ << "(), " << stream; \ throw roctracer::util::exception(error, oss.str()); \ - } while (0) + } while (false) -namespace roctracer { -namespace util { +namespace roctracer::util { -class exception : public std::exception { +template class exception : public std::runtime_error { public: - explicit exception(const uint32_t& status, const std::string& msg) : status_(status), str_(msg) {} - const char* what() const throw() { return str_.c_str(); } - uint32_t status() const throw() { return status_; } + explicit exception(Status status, const std::string& what_arg) + : std::runtime_error(what_arg), status_(status) {} - protected: - const uint32_t status_; - const std::string str_; + Status status() const noexcept { return status_; } + + private: + const Status status_; }; -} // namespace util -} // namespace roctracer +} // namespace roctracer::util #endif // SRC_UTIL_EXCEPTION_H_ From 200e27f12d9e840893920b24578419ff88009693 Mon Sep 17 00:00:00 2001 From: Laurent Morichetti Date: Fri, 29 Apr 2022 08:48:16 -0700 Subject: [PATCH 505/691] Add a trace_buffer directed test This test stresses the concurrent writing of trace buffer records while frequently allocating new storage to hold the records. Due to race conditions, this test fails with the current trace buffer implementation. Change-Id: I0b77c64005e776319bf21f1ee1e6d7c99ddccfff --- test/directed/trace_buffer.cpp | 79 ++++++++++++++++++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 test/directed/trace_buffer.cpp diff --git a/test/directed/trace_buffer.cpp b/test/directed/trace_buffer.cpp new file mode 100644 index 0000000000..4adbdb72f5 --- /dev/null +++ b/test/directed/trace_buffer.cpp @@ -0,0 +1,79 @@ +/* Copyright (c) 2022 Advanced Micro Devices, Inc. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. */ + +#include "trace_buffer.h" + +#include +#include +#include +#include +#include +#include +#include +#include + + +struct TraceEntry { + std::atomic valid; +}; + +TRACE_BUFFER_INSTANTIATE(); + +namespace { + +std::ifstream cpuinfo("/proc/cpuinfo"); +const std::size_t num_cpu_cores = + std::count(std::istream_iterator(cpuinfo), std::istream_iterator(), + std::string("processor")); + +constexpr std::size_t num_iterations = 1000; +constexpr std::size_t min_num_threads = 10; +constexpr std::size_t max_num_threads = 50; + +} // namespace + +int main() { + const std::size_t num_threads = std::clamp(num_cpu_cores, min_num_threads, max_num_threads); + std::vector threads(num_threads); + + std::atomic flush_count(0); // Count the number of times the flush callback is called. + roctracer::TraceBuffer trace_buffer("Test", 10, + [&flush_count](auto* entry) { ++flush_count; }); + + // Start the worker threads. Each thread will request 'num_iterations' entries from the + // 'trace_buffer', then exit. + for (auto&& thread : threads) { + thread = std::thread([&trace_buffer]() { + for (std::size_t j = 0; j < num_iterations; ++j) { + auto* entry = trace_buffer.GetEntry(); + entry->valid.store(roctracer::TRACE_ENTRY_COMPLETE, std::memory_order_release); + } + }); + } + + // Wait for all the threads to complete, then flush the trace buffer. + for (auto&& thread : threads) thread.join(); + trace_buffer.Flush(); + + std::cout << "number of records flushed = " << flush_count << std::endl; + if (flush_count != num_iterations * threads.size()) abort(); + + return EXIT_SUCCESS; +} \ No newline at end of file From 1f630a92912848d8d70abd89e428a8bcb995395b Mon Sep 17 00:00:00 2001 From: Tony Tye Date: Fri, 29 Apr 2022 19:13:30 +0000 Subject: [PATCH 506/691] Add doxygen to roctracer.h Change-Id: Ie542399e990e02482ed740d99c6afe4b95b1f6f4 --- CMakeLists.txt | 35 +- doc/Doxyfile.in | 2447 +++++++++++++++++++++++++++++++++++++++++++++++ inc/roctracer.h | 710 +++++++++++--- 3 files changed, 3082 insertions(+), 110 deletions(-) create mode 100644 doc/Doxyfile.in diff --git a/CMakeLists.txt b/CMakeLists.txt index e77573c7fe..259bbd2025 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -29,7 +29,7 @@ set ( CMAKE_VERBOSE_MAKEFILE TRUE CACHE BOOL "Verbose Output" FORCE ) set ( ROCTRACER_NAME "roctracer" ) set ( ROCTRACER_TARGET "${ROCTRACER_NAME}64" ) set ( ROCTRACER_LIBRARY "lib${ROCTRACER_TARGET}" ) -project ( ${ROCTRACER_TARGET} ) +project ( ${ROCTRACER_TARGET} VERSION 4.0.0) ## Adding default path cmake modules list ( APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake_modules" ) @@ -204,3 +204,36 @@ set ( CPACK_RPM_POST_UNINSTALL_SCRIPT_FILE "${CMAKE_CURRENT_BINARY_DIR}/RPM/post include ( CPack ) endif() + +find_package(Doxygen) +if(DOXYGEN_FOUND) + # set input and output files + set(DOXYGEN_IN ${CMAKE_CURRENT_SOURCE_DIR}/doc/Doxyfile.in) + set(DOXYGEN_OUT ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile) + + # request to configure the file + configure_file(${DOXYGEN_IN} ${DOXYGEN_OUT} @ONLY) + + add_custom_command( + OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/doc/html/index.html ${CMAKE_CURRENT_BINARY_DIR}/doc/latex/refman.pdf + COMMAND ${DOXYGEN_EXECUTABLE} ${DOXYGEN_OUT} + COMMAND make -C ${CMAKE_CURRENT_BINARY_DIR}/doc/latex pdf + MAIN_DEPENDENCY ${DOXYGEN_OUT} ${DOXYGEN_IN} + DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/inc/roctracer.h + COMMENT "Generating documentation") + + add_custom_target(doc DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/doc/html/index.html + ${CMAKE_CURRENT_BINARY_DIR}/doc/latex/refman.pdf) + + install(FILES + "${CMAKE_CURRENT_BINARY_DIR}/doc/latex/refman.pdf" + DESTINATION share/doc/roctracer + RENAME "roctracer.pdf" + OPTIONAL) + + install(DIRECTORY + "${CMAKE_CURRENT_BINARY_DIR}/doc/html/" + DESTINATION share/html/roctracer + OPTIONAL) + +endif() diff --git a/doc/Doxyfile.in b/doc/Doxyfile.in new file mode 100644 index 0000000000..46b8e55638 --- /dev/null +++ b/doc/Doxyfile.in @@ -0,0 +1,2447 @@ +## Copyright (c) 2018-2022 Advanced Micro Devices, Inc. +## +## Permission is hereby granted, free of charge, to any person obtaining a copy +## of this software and associated documentation files (the "Software"), to +## deal in the Software without restriction, including without limitation the +## rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +## sell copies of the Software, and to permit persons to whom the Software is +## furnished to do so, subject to the following conditions: +## +## The above copyright notice and this permission notice shall be included in +## all copies or substantial portions of the Software. +## +## THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +## IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +## FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +## AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +## LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +## FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +## IN THE SOFTWARE. + +# Doxyfile 1.8.11 + +# This file describes the settings to be used by the documentation system +# doxygen (www.doxygen.org) for a project. +# +# All text after a double hash (##) is considered a comment and is placed in +# front of the TAG it is preceding. +# +# All text after a single hash (#) is considered a comment and will be ignored. +# The format is: +# TAG = value [value, ...] +# For lists, items can also be appended using: +# TAG += value [value, ...] +# Values that contain spaces should be placed between quotes (\" \"). + +#--------------------------------------------------------------------------- +# Project related configuration options +#--------------------------------------------------------------------------- + +# This tag specifies the encoding used for all characters in the config file +# that follow. The default is UTF-8 which is also the encoding used for all text +# before the first occurrence of this tag. Doxygen uses libiconv (or the iconv +# built into libc) for the transcoding. See http://www.gnu.org/software/libiconv +# for the list of possible encodings. +# The default value is: UTF-8. + +DOXYFILE_ENCODING = UTF-8 + +# The PROJECT_NAME tag is a single word (or a sequence of words surrounded by +# double-quotes, unless you are using Doxywizard) that should identify the +# project for which the documentation is generated. This name is used in the +# title of most generated pages and in a few other places. +# The default value is: My Project. + +PROJECT_NAME = "@ROCTRACER_NAME@" + +# The PROJECT_NUMBER tag can be used to enter a project or revision number. This +# could be handy for archiving the generated documentation or if some version +# control system is used. + +PROJECT_NUMBER = @roctracer64_VERSION_MAJOR@.@roctracer64_VERSION_MINOR@.@roctracer64_VERSION_PATCH@ + +# Using the PROJECT_BRIEF tag one can provide an optional one line description +# for a project that appears at the top of each page and should give viewer a +# quick idea about the purpose of the project. Keep the description short. + +PROJECT_BRIEF = + +# With the PROJECT_LOGO tag one can specify a logo or an icon that is included +# in the documentation. The maximum height of the logo should not exceed 55 +# pixels and the maximum width should not exceed 200 pixels. Doxygen will copy +# the logo to the output directory. + +PROJECT_LOGO = + +# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) path +# into which the generated documentation will be written. If a relative path is +# entered, it will be relative to the location where doxygen was started. If +# left blank the current directory will be used. + +OUTPUT_DIRECTORY = @CMAKE_CURRENT_BINARY_DIR@/doc/ + +# If the CREATE_SUBDIRS tag is set to YES then doxygen will create 4096 sub- +# directories (in 2 levels) under the output directory of each output format and +# will distribute the generated files over these directories. Enabling this +# option can be useful when feeding doxygen a huge amount of source files, where +# putting all generated files in the same directory would otherwise causes +# performance problems for the file system. +# The default value is: NO. + +CREATE_SUBDIRS = NO + +# If the ALLOW_UNICODE_NAMES tag is set to YES, doxygen will allow non-ASCII +# characters to appear in the names of generated files. If set to NO, non-ASCII +# characters will be escaped, for example _xE3_x81_x84 will be used for Unicode +# U+3044. +# The default value is: NO. + +ALLOW_UNICODE_NAMES = NO + +# The OUTPUT_LANGUAGE tag is used to specify the language in which all +# documentation generated by doxygen is written. Doxygen will use this +# information to generate all constant output in the proper language. +# Possible values are: Afrikaans, Arabic, Armenian, Brazilian, Catalan, Chinese, +# Chinese-Traditional, Croatian, Czech, Danish, Dutch, English (United States), +# Esperanto, Farsi (Persian), Finnish, French, German, Greek, Hungarian, +# Indonesian, Italian, Japanese, Japanese-en (Japanese with English messages), +# Korean, Korean-en (Korean with English messages), Latvian, Lithuanian, +# Macedonian, Norwegian, Persian (Farsi), Polish, Portuguese, Romanian, Russian, +# Serbian, Serbian-Cyrillic, Slovak, Slovene, Spanish, Swedish, Turkish, +# Ukrainian and Vietnamese. +# The default value is: English. + +OUTPUT_LANGUAGE = English + +# If the BRIEF_MEMBER_DESC tag is set to YES, doxygen will include brief member +# descriptions after the members that are listed in the file and class +# documentation (similar to Javadoc). Set to NO to disable this. +# The default value is: YES. + +BRIEF_MEMBER_DESC = YES + +# If the REPEAT_BRIEF tag is set to YES, doxygen will prepend the brief +# description of a member or function before the detailed description +# +# Note: If both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the +# brief descriptions will be completely suppressed. +# The default value is: YES. + +REPEAT_BRIEF = YES + +# This tag implements a quasi-intelligent brief description abbreviator that is +# used to form the text in various listings. Each string in this list, if found +# as the leading text of the brief description, will be stripped from the text +# and the result, after processing the whole list, is used as the annotated +# text. Otherwise, the brief description is used as-is. If left blank, the +# following values are used ($name is automatically replaced with the name of +# the entity):The $name class, The $name widget, The $name file, is, provides, +# specifies, contains, represents, a, an and the. + +ABBREVIATE_BRIEF = + +# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then +# doxygen will generate a detailed section even if there is only a brief +# description. +# The default value is: NO. + +ALWAYS_DETAILED_SEC = NO + +# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all +# inherited members of a class in the documentation of that class as if those +# members were ordinary class members. Constructors, destructors and assignment +# operators of the base classes will not be shown. +# The default value is: NO. + +INLINE_INHERITED_MEMB = NO + +# If the FULL_PATH_NAMES tag is set to YES, doxygen will prepend the full path +# before files name in the file list and in the header files. If set to NO the +# shortest path that makes the file name unique will be used +# The default value is: YES. + +FULL_PATH_NAMES = YES + +# The STRIP_FROM_PATH tag can be used to strip a user-defined part of the path. +# Stripping is only done if one of the specified strings matches the left-hand +# part of the path. The tag can be used to show relative paths in the file list. +# If left blank the directory from which doxygen is run is used as the path to +# strip. +# +# Note that you can specify absolute paths here, but also relative paths, which +# will be relative from the directory where doxygen is started. +# This tag requires that the tag FULL_PATH_NAMES is set to YES. + +STRIP_FROM_PATH = + +# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of the +# path mentioned in the documentation of a class, which tells the reader which +# header file to include in order to use a class. If left blank only the name of +# the header file containing the class definition is used. Otherwise one should +# specify the list of include paths that are normally passed to the compiler +# using the -I flag. + +STRIP_FROM_INC_PATH = + +# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter (but +# less readable) file names. This can be useful is your file systems doesn't +# support long names like on DOS, Mac, or CD-ROM. +# The default value is: NO. + +SHORT_NAMES = NO + +# If the JAVADOC_AUTOBRIEF tag is set to YES then doxygen will interpret the +# first line (until the first dot) of a Javadoc-style comment as the brief +# description. If set to NO, the Javadoc-style will behave just like regular Qt- +# style comments (thus requiring an explicit @brief command for a brief +# description.) +# The default value is: NO. + +JAVADOC_AUTOBRIEF = YES + +# If the QT_AUTOBRIEF tag is set to YES then doxygen will interpret the first +# line (until the first dot) of a Qt-style comment as the brief description. If +# set to NO, the Qt-style will behave just like regular Qt-style comments (thus +# requiring an explicit \brief command for a brief description.) +# The default value is: NO. + +QT_AUTOBRIEF = NO + +# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make doxygen treat a +# multi-line C++ special comment block (i.e. a block of //! or /// comments) as +# a brief description. This used to be the default behavior. The new default is +# to treat a multi-line C++ comment block as a detailed description. Set this +# tag to YES if you prefer the old behavior instead. +# +# Note that setting this tag to YES also means that rational rose comments are +# not recognized any more. +# The default value is: NO. + +MULTILINE_CPP_IS_BRIEF = NO + +# If the INHERIT_DOCS tag is set to YES then an undocumented member inherits the +# documentation from any documented member that it re-implements. +# The default value is: YES. + +INHERIT_DOCS = YES + +# If the SEPARATE_MEMBER_PAGES tag is set to YES then doxygen will produce a new +# page for each member. If set to NO, the documentation of a member will be part +# of the file/class/namespace that contains it. +# The default value is: NO. + +SEPARATE_MEMBER_PAGES = NO + +# The TAB_SIZE tag can be used to set the number of spaces in a tab. Doxygen +# uses this value to replace tabs by spaces in code fragments. +# Minimum value: 1, maximum value: 16, default value: 4. + +TAB_SIZE = 4 + +# This tag can be used to specify a number of aliases that act as commands in +# the documentation. An alias has the form: +# name=value +# For example adding +# "sideeffect=@par Side Effects:\n" +# will allow you to put the command \sideeffect (or @sideeffect) in the +# documentation, which will result in a user-defined paragraph with heading +# "Side Effects:". You can put \n's in the value part of an alias to insert +# newlines. + +ALIASES = + +# This tag can be used to specify a number of word-keyword mappings (TCL only). +# A mapping has the form "name=value". For example adding "class=itcl::class" +# will allow you to use the command class in the itcl::class meaning. + +TCL_SUBST = + +# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources +# only. Doxygen will then generate output that is more tailored for C. For +# instance, some of the names that are used will be different. The list of all +# members will be omitted, etc. +# The default value is: NO. + +OPTIMIZE_OUTPUT_FOR_C = YES + +# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java or +# Python sources only. Doxygen will then generate output that is more tailored +# for that language. For instance, namespaces will be presented as packages, +# qualified scopes will look different, etc. +# The default value is: NO. + +OPTIMIZE_OUTPUT_JAVA = NO + +# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran +# sources. Doxygen will then generate output that is tailored for Fortran. +# The default value is: NO. + +OPTIMIZE_FOR_FORTRAN = NO + +# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL +# sources. Doxygen will then generate output that is tailored for VHDL. +# The default value is: NO. + +OPTIMIZE_OUTPUT_VHDL = NO + +# Doxygen selects the parser to use depending on the extension of the files it +# parses. With this tag you can assign which parser to use for a given +# extension. Doxygen has a built-in mapping, but you can override or extend it +# using this tag. The format is ext=language, where ext is a file extension, and +# language is one of the parsers supported by doxygen: IDL, Java, Javascript, +# C#, C, C++, D, PHP, Objective-C, Python, Fortran (fixed format Fortran: +# FortranFixed, free formatted Fortran: FortranFree, unknown formatted Fortran: +# Fortran. In the later case the parser tries to guess whether the code is fixed +# or free formatted code, this is the default for Fortran type files), VHDL. For +# instance to make doxygen treat .inc files as Fortran files (default is PHP), +# and .f files as C (default is Fortran), use: inc=Fortran f=C. +# +# Note: For files without extension you can use no_extension as a placeholder. +# +# Note that for custom extensions you also need to set FILE_PATTERNS otherwise +# the files are not read by doxygen. + +EXTENSION_MAPPING = + +# If the MARKDOWN_SUPPORT tag is enabled then doxygen pre-processes all comments +# according to the Markdown format, which allows for more readable +# documentation. See http://daringfireball.net/projects/markdown/ for details. +# The output of markdown processing is further processed by doxygen, so you can +# mix doxygen, HTML, and XML commands with Markdown formatting. Disable only in +# case of backward compatibilities issues. +# The default value is: YES. + +MARKDOWN_SUPPORT = YES + +# When enabled doxygen tries to link words that correspond to documented +# classes, or namespaces to their corresponding documentation. Such a link can +# be prevented in individual cases by putting a % sign in front of the word or +# globally by setting AUTOLINK_SUPPORT to NO. +# The default value is: YES. + +AUTOLINK_SUPPORT = YES + +# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want +# to include (a tag file for) the STL sources as input, then you should set this +# tag to YES in order to let doxygen match functions declarations and +# definitions whose arguments contain STL classes (e.g. func(std::string); +# versus func(std::string) {}). This also make the inheritance and collaboration +# diagrams that involve STL classes more complete and accurate. +# The default value is: NO. + +BUILTIN_STL_SUPPORT = NO + +# If you use Microsoft's C++/CLI language, you should set this option to YES to +# enable parsing support. +# The default value is: NO. + +CPP_CLI_SUPPORT = NO + +# Set the SIP_SUPPORT tag to YES if your project consists of sip (see: +# http://www.riverbankcomputing.co.uk/software/sip/intro) sources only. Doxygen +# will parse them like normal C++ but will assume all classes use public instead +# of private inheritance when no explicit protection keyword is present. +# The default value is: NO. + +SIP_SUPPORT = NO + +# For Microsoft's IDL there are propget and propput attributes to indicate +# getter and setter methods for a property. Setting this option to YES will make +# doxygen to replace the get and set methods by a property in the documentation. +# This will only work if the methods are indeed getting or setting a simple +# type. If this is not the case, or you want to show the methods anyway, you +# should set this option to NO. +# The default value is: YES. + +IDL_PROPERTY_SUPPORT = YES + +# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC +# tag is set to YES then doxygen will reuse the documentation of the first +# member in the group (if any) for the other members of the group. By default +# all members of a group must be documented explicitly. +# The default value is: NO. + +DISTRIBUTE_GROUP_DOC = NO + +# If one adds a struct or class to a group and this option is enabled, then also +# any nested class or struct is added to the same group. By default this option +# is disabled and one has to add nested compounds explicitly via \ingroup. +# The default value is: NO. + +GROUP_NESTED_COMPOUNDS = NO + +# Set the SUBGROUPING tag to YES to allow class member groups of the same type +# (for instance a group of public functions) to be put as a subgroup of that +# type (e.g. under the Public Functions section). Set it to NO to prevent +# subgrouping. Alternatively, this can be done per class using the +# \nosubgrouping command. +# The default value is: YES. + +SUBGROUPING = YES + +# When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and unions +# are shown inside the group in which they are included (e.g. using \ingroup) +# instead of on a separate page (for HTML and Man pages) or section (for LaTeX +# and RTF). +# +# Note that this feature does not work in combination with +# SEPARATE_MEMBER_PAGES. +# The default value is: NO. + +INLINE_GROUPED_CLASSES = NO + +# When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and unions +# with only public data fields or simple typedef fields will be shown inline in +# the documentation of the scope in which they are defined (i.e. file, +# namespace, or group documentation), provided this scope is documented. If set +# to NO, structs, classes, and unions are shown on a separate page (for HTML and +# Man pages) or section (for LaTeX and RTF). +# The default value is: NO. + +INLINE_SIMPLE_STRUCTS = NO + +# When TYPEDEF_HIDES_STRUCT tag is enabled, a typedef of a struct, union, or +# enum is documented as struct, union, or enum with the name of the typedef. So +# typedef struct TypeS {} TypeT, will appear in the documentation as a struct +# with name TypeT. When disabled the typedef will appear as a member of a file, +# namespace, or class. And the struct will be named TypeS. This can typically be +# useful for C code in case the coding convention dictates that all compound +# types are typedef'ed and only the typedef is referenced, never the tag name. +# The default value is: NO. + +TYPEDEF_HIDES_STRUCT = NO + +# The size of the symbol lookup cache can be set using LOOKUP_CACHE_SIZE. This +# cache is used to resolve symbols given their name and scope. Since this can be +# an expensive process and often the same symbol appears multiple times in the +# code, doxygen keeps a cache of pre-resolved symbols. If the cache is too small +# doxygen will become slower. If the cache is too large, memory is wasted. The +# cache size is given by this formula: 2^(16+LOOKUP_CACHE_SIZE). The valid range +# is 0..9, the default is 0, corresponding to a cache size of 2^16=65536 +# symbols. At the end of a run doxygen will report the cache usage and suggest +# the optimal cache size from a speed point of view. +# Minimum value: 0, maximum value: 9, default value: 0. + +LOOKUP_CACHE_SIZE = 0 + +#--------------------------------------------------------------------------- +# Build related configuration options +#--------------------------------------------------------------------------- + +# If the EXTRACT_ALL tag is set to YES, doxygen will assume all entities in +# documentation are documented, even if no documentation was available. Private +# class members and static file members will be hidden unless the +# EXTRACT_PRIVATE respectively EXTRACT_STATIC tags are set to YES. +# Note: This will also disable the warnings about undocumented members that are +# normally produced when WARNINGS is set to YES. +# The default value is: NO. + +EXTRACT_ALL = YES + +# If the EXTRACT_PRIVATE tag is set to YES, all private members of a class will +# be included in the documentation. +# The default value is: NO. + +EXTRACT_PRIVATE = NO + +# If the EXTRACT_PACKAGE tag is set to YES, all members with package or internal +# scope will be included in the documentation. +# The default value is: NO. + +EXTRACT_PACKAGE = NO + +# If the EXTRACT_STATIC tag is set to YES, all static members of a file will be +# included in the documentation. +# The default value is: NO. + +EXTRACT_STATIC = NO + +# If the EXTRACT_LOCAL_CLASSES tag is set to YES, classes (and structs) defined +# locally in source files will be included in the documentation. If set to NO, +# only classes defined in header files are included. Does not have any effect +# for Java sources. +# The default value is: YES. + +EXTRACT_LOCAL_CLASSES = YES + +# This flag is only useful for Objective-C code. If set to YES, local methods, +# which are defined in the implementation section but not in the interface are +# included in the documentation. If set to NO, only methods in the interface are +# included. +# The default value is: NO. + +EXTRACT_LOCAL_METHODS = NO + +# If this flag is set to YES, the members of anonymous namespaces will be +# extracted and appear in the documentation as a namespace called +# 'anonymous_namespace{file}', where file will be replaced with the base name of +# the file that contains the anonymous namespace. By default anonymous namespace +# are hidden. +# The default value is: NO. + +EXTRACT_ANON_NSPACES = NO + +# If the HIDE_UNDOC_MEMBERS tag is set to YES, doxygen will hide all +# undocumented members inside documented classes or files. If set to NO these +# members will be included in the various overviews, but no documentation +# section is generated. This option has no effect if EXTRACT_ALL is enabled. +# The default value is: NO. + +HIDE_UNDOC_MEMBERS = NO + +# If the HIDE_UNDOC_CLASSES tag is set to YES, doxygen will hide all +# undocumented classes that are normally visible in the class hierarchy. If set +# to NO, these classes will be included in the various overviews. This option +# has no effect if EXTRACT_ALL is enabled. +# The default value is: NO. + +HIDE_UNDOC_CLASSES = NO + +# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, doxygen will hide all friend +# (class|struct|union) declarations. If set to NO, these declarations will be +# included in the documentation. +# The default value is: NO. + +HIDE_FRIEND_COMPOUNDS = NO + +# If the HIDE_IN_BODY_DOCS tag is set to YES, doxygen will hide any +# documentation blocks found inside the body of a function. If set to NO, these +# blocks will be appended to the function's detailed documentation block. +# The default value is: NO. + +HIDE_IN_BODY_DOCS = NO + +# The INTERNAL_DOCS tag determines if documentation that is typed after a +# \internal command is included. If the tag is set to NO then the documentation +# will be excluded. Set it to YES to include the internal documentation. +# The default value is: NO. + +INTERNAL_DOCS = NO + +# If the CASE_SENSE_NAMES tag is set to NO then doxygen will only generate file +# names in lower-case letters. If set to YES, upper-case letters are also +# allowed. This is useful if you have classes or files whose names only differ +# in case and if your file system supports case sensitive file names. Windows +# and Mac users are advised to set this option to NO. +# The default value is: system dependent. + +CASE_SENSE_NAMES = YES + +# If the HIDE_SCOPE_NAMES tag is set to NO then doxygen will show members with +# their full class and namespace scopes in the documentation. If set to YES, the +# scope will be hidden. +# The default value is: NO. + +HIDE_SCOPE_NAMES = NO + +# If the HIDE_COMPOUND_REFERENCE tag is set to NO (default) then doxygen will +# append additional text to a page's title, such as Class Reference. If set to +# YES the compound reference will be hidden. +# The default value is: NO. + +HIDE_COMPOUND_REFERENCE= NO + +# If the SHOW_INCLUDE_FILES tag is set to YES then doxygen will put a list of +# the files that are included by a file in the documentation of that file. +# The default value is: YES. + +SHOW_INCLUDE_FILES = YES + +# If the SHOW_GROUPED_MEMB_INC tag is set to YES then Doxygen will add for each +# grouped member an include statement to the documentation, telling the reader +# which file to include in order to use the member. +# The default value is: NO. + +SHOW_GROUPED_MEMB_INC = NO + +# If the FORCE_LOCAL_INCLUDES tag is set to YES then doxygen will list include +# files with double quotes in the documentation rather than with sharp brackets. +# The default value is: NO. + +FORCE_LOCAL_INCLUDES = NO + +# If the INLINE_INFO tag is set to YES then a tag [inline] is inserted in the +# documentation for inline members. +# The default value is: YES. + +INLINE_INFO = YES + +# If the SORT_MEMBER_DOCS tag is set to YES then doxygen will sort the +# (detailed) documentation of file and class members alphabetically by member +# name. If set to NO, the members will appear in declaration order. +# The default value is: YES. + +SORT_MEMBER_DOCS = YES + +# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the brief +# descriptions of file, namespace and class members alphabetically by member +# name. If set to NO, the members will appear in declaration order. Note that +# this will also influence the order of the classes in the class list. +# The default value is: NO. + +SORT_BRIEF_DOCS = NO + +# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen will sort the +# (brief and detailed) documentation of class members so that constructors and +# destructors are listed first. If set to NO the constructors will appear in the +# respective orders defined by SORT_BRIEF_DOCS and SORT_MEMBER_DOCS. +# Note: If SORT_BRIEF_DOCS is set to NO this option is ignored for sorting brief +# member documentation. +# Note: If SORT_MEMBER_DOCS is set to NO this option is ignored for sorting +# detailed member documentation. +# The default value is: NO. + +SORT_MEMBERS_CTORS_1ST = NO + +# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the hierarchy +# of group names into alphabetical order. If set to NO the group names will +# appear in their defined order. +# The default value is: NO. + +SORT_GROUP_NAMES = NO + +# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be sorted by +# fully-qualified names, including namespaces. If set to NO, the class list will +# be sorted only by class name, not including the namespace part. +# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. +# Note: This option applies only to the class list, not to the alphabetical +# list. +# The default value is: NO. + +SORT_BY_SCOPE_NAME = NO + +# If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to do proper +# type resolution of all parameters of a function it will reject a match between +# the prototype and the implementation of a member function even if there is +# only one candidate or it is obvious which candidate to choose by doing a +# simple string match. By disabling STRICT_PROTO_MATCHING doxygen will still +# accept a match between prototype and implementation in such cases. +# The default value is: NO. + +STRICT_PROTO_MATCHING = NO + +# The GENERATE_TODOLIST tag can be used to enable (YES) or disable (NO) the todo +# list. This list is created by putting \todo commands in the documentation. +# The default value is: YES. + +GENERATE_TODOLIST = YES + +# The GENERATE_TESTLIST tag can be used to enable (YES) or disable (NO) the test +# list. This list is created by putting \test commands in the documentation. +# The default value is: YES. + +GENERATE_TESTLIST = YES + +# The GENERATE_BUGLIST tag can be used to enable (YES) or disable (NO) the bug +# list. This list is created by putting \bug commands in the documentation. +# The default value is: YES. + +GENERATE_BUGLIST = YES + +# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or disable (NO) +# the deprecated list. This list is created by putting \deprecated commands in +# the documentation. +# The default value is: YES. + +GENERATE_DEPRECATEDLIST= YES + +# The ENABLED_SECTIONS tag can be used to enable conditional documentation +# sections, marked by \if ... \endif and \cond +# ... \endcond blocks. + +ENABLED_SECTIONS = + +# The MAX_INITIALIZER_LINES tag determines the maximum number of lines that the +# initial value of a variable or macro / define can have for it to appear in the +# documentation. If the initializer consists of more lines than specified here +# it will be hidden. Use a value of 0 to hide initializers completely. The +# appearance of the value of individual variables and macros / defines can be +# controlled using \showinitializer or \hideinitializer command in the +# documentation regardless of this setting. +# Minimum value: 0, maximum value: 10000, default value: 30. + +MAX_INITIALIZER_LINES = 30 + +# Set the SHOW_USED_FILES tag to NO to disable the list of files generated at +# the bottom of the documentation of classes and structs. If set to YES, the +# list will mention the files that were used to generate the documentation. +# The default value is: YES. + +SHOW_USED_FILES = YES + +# Set the SHOW_FILES tag to NO to disable the generation of the Files page. This +# will remove the Files entry from the Quick Index and from the Folder Tree View +# (if specified). +# The default value is: YES. + +SHOW_FILES = YES + +# Set the SHOW_NAMESPACES tag to NO to disable the generation of the Namespaces +# page. This will remove the Namespaces entry from the Quick Index and from the +# Folder Tree View (if specified). +# The default value is: YES. + +SHOW_NAMESPACES = YES + +# The FILE_VERSION_FILTER tag can be used to specify a program or script that +# doxygen should invoke to get the current version for each file (typically from +# the version control system). Doxygen will invoke the program by executing (via +# popen()) the command command input-file, where command is the value of the +# FILE_VERSION_FILTER tag, and input-file is the name of an input file provided +# by doxygen. Whatever the program writes to standard output is used as the file +# version. For an example see the documentation. + +FILE_VERSION_FILTER = + +# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed +# by doxygen. The layout file controls the global structure of the generated +# output files in an output format independent way. To create the layout file +# that represents doxygen's defaults, run doxygen with the -l option. You can +# optionally specify a file name after the option, if omitted DoxygenLayout.xml +# will be used as the name of the layout file. +# +# Note that if you run doxygen from a directory containing a file called +# DoxygenLayout.xml, doxygen will parse it automatically even if the LAYOUT_FILE +# tag is left empty. + +LAYOUT_FILE = + +# The CITE_BIB_FILES tag can be used to specify one or more bib files containing +# the reference definitions. This must be a list of .bib files. The .bib +# extension is automatically appended if omitted. This requires the bibtex tool +# to be installed. See also http://en.wikipedia.org/wiki/BibTeX for more info. +# For LaTeX the style of the bibliography can be controlled using +# LATEX_BIB_STYLE. To use this feature you need bibtex and perl available in the +# search path. See also \cite for info how to create references. + +CITE_BIB_FILES = + +#--------------------------------------------------------------------------- +# Configuration options related to warning and progress messages +#--------------------------------------------------------------------------- + +# The QUIET tag can be used to turn on/off the messages that are generated to +# standard output by doxygen. If QUIET is set to YES this implies that the +# messages are off. +# The default value is: NO. + +QUIET = NO + +# The WARNINGS tag can be used to turn on/off the warning messages that are +# generated to standard error (stderr) by doxygen. If WARNINGS is set to YES +# this implies that the warnings are on. +# +# Tip: Turn warnings on while writing the documentation. +# The default value is: YES. + +WARNINGS = YES + +# If the WARN_IF_UNDOCUMENTED tag is set to YES then doxygen will generate +# warnings for undocumented members. If EXTRACT_ALL is set to YES then this flag +# will automatically be disabled. +# The default value is: YES. + +WARN_IF_UNDOCUMENTED = YES + +# If the WARN_IF_DOC_ERROR tag is set to YES, doxygen will generate warnings for +# potential errors in the documentation, such as not documenting some parameters +# in a documented function, or documenting parameters that don't exist or using +# markup commands wrongly. +# The default value is: YES. + +WARN_IF_DOC_ERROR = YES + +# This WARN_NO_PARAMDOC option can be enabled to get warnings for functions that +# are documented, but have no documentation for their parameters or return +# value. If set to NO, doxygen will only warn about wrong or incomplete +# parameter documentation, but not about the absence of documentation. +# The default value is: NO. + +WARN_NO_PARAMDOC = YES + +# If the WARN_AS_ERROR tag is set to YES then doxygen will immediately stop when +# a warning is encountered. +# The default value is: NO. + +WARN_AS_ERROR = NO + +# The WARN_FORMAT tag determines the format of the warning messages that doxygen +# can produce. The string should contain the $file, $line, and $text tags, which +# will be replaced by the file and line number from which the warning originated +# and the warning text. Optionally the format may contain $version, which will +# be replaced by the version of the file (if it could be obtained via +# FILE_VERSION_FILTER) +# The default value is: $file:$line: $text. + +WARN_FORMAT = "$file:$line: $text" + +# The WARN_LOGFILE tag can be used to specify a file to which warning and error +# messages should be written. If left blank the output is written to standard +# error (stderr). + +WARN_LOGFILE = + +#--------------------------------------------------------------------------- +# Configuration options related to the input files +#--------------------------------------------------------------------------- + +# The INPUT tag is used to specify the files and/or directories that contain +# documented source files. You may enter file names like myfile.cpp or +# directories like /usr/src/myproject. Separate the files or directories with +# spaces. See also FILE_PATTERNS and EXTENSION_MAPPING +# Note: If this tag is empty the current directory is searched. + +INPUT = @CMAKE_CURRENT_SOURCE_DIR@/inc/roctracer.h + +# This tag can be used to specify the character encoding of the source files +# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses +# libiconv (or the iconv built into libc) for the transcoding. See the libiconv +# documentation (see: http://www.gnu.org/software/libiconv) for the list of +# possible encodings. +# The default value is: UTF-8. + +INPUT_ENCODING = UTF-8 + +# If the value of the INPUT tag contains directories, you can use the +# FILE_PATTERNS tag to specify one or more wildcard patterns (like *.cpp and +# *.h) to filter out the source-files in the directories. +# +# Note that for custom extensions or not directly supported extensions you also +# need to set EXTENSION_MAPPING for the extension otherwise the files are not +# read by doxygen. +# +# If left blank the following patterns are tested:*.c, *.cc, *.cxx, *.cpp, +# *.c++, *.java, *.ii, *.ixx, *.ipp, *.i++, *.inl, *.idl, *.ddl, *.odl, *.h, +# *.hh, *.hxx, *.hpp, *.h++, *.cs, *.d, *.php, *.php4, *.php5, *.phtml, *.inc, +# *.m, *.markdown, *.md, *.mm, *.dox, *.py, *.pyw, *.f90, *.f, *.for, *.tcl, +# *.vhd, *.vhdl, *.ucf, *.qsf, *.as and *.js. + +FILE_PATTERNS = + +# The RECURSIVE tag can be used to specify whether or not subdirectories should +# be searched for input files as well. +# The default value is: NO. + +RECURSIVE = YES + +# The EXCLUDE tag can be used to specify files and/or directories that should be +# excluded from the INPUT source files. This way you can easily exclude a +# subdirectory from a directory tree whose root is specified with the INPUT tag. +# +# Note that relative paths are relative to the directory from which doxygen is +# run. + +EXCLUDE = + +# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or +# directories that are symbolic links (a Unix file system feature) are excluded +# from the input. +# The default value is: NO. + +EXCLUDE_SYMLINKS = NO + +# If the value of the INPUT tag contains directories, you can use the +# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude +# certain files from those directories. +# +# Note that the wildcards are matched against the file with absolute path, so to +# exclude all test directories for example use the pattern */test/* + +EXCLUDE_PATTERNS = + +# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names +# (namespaces, classes, functions, etc.) that should be excluded from the +# output. The symbol name can be a fully qualified name, a word, or if the +# wildcard * is used, a substring. Examples: ANamespace, AClass, +# AClass::ANamespace, ANamespace::*Test +# +# Note that the wildcards are matched against the file with absolute path, so to +# exclude all test directories use the pattern */test/* + +EXCLUDE_SYMBOLS = + +# The EXAMPLE_PATH tag can be used to specify one or more files or directories +# that contain example code fragments that are included (see the \include +# command). + +EXAMPLE_PATH = + +# If the value of the EXAMPLE_PATH tag contains directories, you can use the +# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp and +# *.h) to filter out the source-files in the directories. If left blank all +# files are included. + +EXAMPLE_PATTERNS = + +# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be +# searched for input files to be used with the \include or \dontinclude commands +# irrespective of the value of the RECURSIVE tag. +# The default value is: NO. + +EXAMPLE_RECURSIVE = NO + +# The IMAGE_PATH tag can be used to specify one or more files or directories +# that contain images that are to be included in the documentation (see the +# \image command). + +IMAGE_PATH = + +# The INPUT_FILTER tag can be used to specify a program that doxygen should +# invoke to filter for each input file. Doxygen will invoke the filter program +# by executing (via popen()) the command: +# +# +# +# where is the value of the INPUT_FILTER tag, and is the +# name of an input file. Doxygen will then use the output that the filter +# program writes to standard output. If FILTER_PATTERNS is specified, this tag +# will be ignored. +# +# Note that the filter must not add or remove lines; it is applied before the +# code is scanned, but not when the output code is generated. If lines are added +# or removed, the anchors will not be placed correctly. +# +# Note that for custom extensions or not directly supported extensions you also +# need to set EXTENSION_MAPPING for the extension otherwise the files are not +# properly processed by doxygen. + +INPUT_FILTER = + +# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern +# basis. Doxygen will compare the file name with each pattern and apply the +# filter if there is a match. The filters are a list of the form: pattern=filter +# (like *.cpp=my_cpp_filter). See INPUT_FILTER for further information on how +# filters are used. If the FILTER_PATTERNS tag is empty or if none of the +# patterns match the file name, INPUT_FILTER is applied. +# +# Note that for custom extensions or not directly supported extensions you also +# need to set EXTENSION_MAPPING for the extension otherwise the files are not +# properly processed by doxygen. + +FILTER_PATTERNS = + +# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using +# INPUT_FILTER) will also be used to filter the input files that are used for +# producing the source files to browse (i.e. when SOURCE_BROWSER is set to YES). +# The default value is: NO. + +FILTER_SOURCE_FILES = NO + +# The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file +# pattern. A pattern will override the setting for FILTER_PATTERN (if any) and +# it is also possible to disable source filtering for a specific pattern using +# *.ext= (so without naming a filter). +# This tag requires that the tag FILTER_SOURCE_FILES is set to YES. + +FILTER_SOURCE_PATTERNS = + +# If the USE_MDFILE_AS_MAINPAGE tag refers to the name of a markdown file that +# is part of the input, its contents will be placed on the main page +# (index.html). This can be useful if you have a project on for instance GitHub +# and want to reuse the introduction page also for the doxygen output. + +USE_MDFILE_AS_MAINPAGE = + +#--------------------------------------------------------------------------- +# Configuration options related to source browsing +#--------------------------------------------------------------------------- + +# If the SOURCE_BROWSER tag is set to YES then a list of source files will be +# generated. Documented entities will be cross-referenced with these sources. +# +# Note: To get rid of all source code in the generated output, make sure that +# also VERBATIM_HEADERS is set to NO. +# The default value is: NO. + +SOURCE_BROWSER = NO + +# Setting the INLINE_SOURCES tag to YES will include the body of functions, +# classes and enums directly into the documentation. +# The default value is: NO. + +INLINE_SOURCES = NO + +# Setting the STRIP_CODE_COMMENTS tag to YES will instruct doxygen to hide any +# special comment blocks from generated source code fragments. Normal C, C++ and +# Fortran comments will always remain visible. +# The default value is: YES. + +STRIP_CODE_COMMENTS = YES + +# If the REFERENCED_BY_RELATION tag is set to YES then for each documented +# function all documented functions referencing it will be listed. +# The default value is: NO. + +REFERENCED_BY_RELATION = NO + +# If the REFERENCES_RELATION tag is set to YES then for each documented function +# all documented entities called/used by that function will be listed. +# The default value is: NO. + +REFERENCES_RELATION = NO + +# If the REFERENCES_LINK_SOURCE tag is set to YES and SOURCE_BROWSER tag is set +# to YES then the hyperlinks from functions in REFERENCES_RELATION and +# REFERENCED_BY_RELATION lists will link to the source code. Otherwise they will +# link to the documentation. +# The default value is: YES. + +REFERENCES_LINK_SOURCE = YES + +# If SOURCE_TOOLTIPS is enabled (the default) then hovering a hyperlink in the +# source code will show a tooltip with additional information such as prototype, +# brief description and links to the definition and documentation. Since this +# will make the HTML file larger and loading of large files a bit slower, you +# can opt to disable this feature. +# The default value is: YES. +# This tag requires that the tag SOURCE_BROWSER is set to YES. + +SOURCE_TOOLTIPS = YES + +# If the USE_HTAGS tag is set to YES then the references to source code will +# point to the HTML generated by the htags(1) tool instead of doxygen built-in +# source browser. The htags tool is part of GNU's global source tagging system +# (see http://www.gnu.org/software/global/global.html). You will need version +# 4.8.6 or higher. +# +# To use it do the following: +# - Install the latest version of global +# - Enable SOURCE_BROWSER and USE_HTAGS in the config file +# - Make sure the INPUT points to the root of the source tree +# - Run doxygen as normal +# +# Doxygen will invoke htags (and that will in turn invoke gtags), so these +# tools must be available from the command line (i.e. in the search path). +# +# The result: instead of the source browser generated by doxygen, the links to +# source code will now point to the output of htags. +# The default value is: NO. +# This tag requires that the tag SOURCE_BROWSER is set to YES. + +USE_HTAGS = NO + +# If the VERBATIM_HEADERS tag is set the YES then doxygen will generate a +# verbatim copy of the header file for each class for which an include is +# specified. Set to NO to disable this. +# See also: Section \class. +# The default value is: YES. + +VERBATIM_HEADERS = YES + +# If the CLANG_ASSISTED_PARSING tag is set to YES then doxygen will use the +# clang parser (see: http://clang.llvm.org/) for more accurate parsing at the +# cost of reduced performance. This can be particularly helpful with template +# rich C++ code for which doxygen's built-in parser lacks the necessary type +# information. +# Note: The availability of this option depends on whether or not doxygen was +# generated with the -Duse-libclang=ON option for CMake. +# The default value is: NO. + +CLANG_ASSISTED_PARSING = NO + +# If clang assisted parsing is enabled you can provide the compiler with command +# line options that you would normally use when invoking the compiler. Note that +# the include paths will already be set by doxygen for the files and directories +# specified with INPUT and INCLUDE_PATH. +# This tag requires that the tag CLANG_ASSISTED_PARSING is set to YES. + +CLANG_OPTIONS = + +#--------------------------------------------------------------------------- +# Configuration options related to the alphabetical class index +#--------------------------------------------------------------------------- + +# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index of all +# compounds will be generated. Enable this if the project contains a lot of +# classes, structs, unions or interfaces. +# The default value is: YES. + +ALPHABETICAL_INDEX = YES + +# The COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns in +# which the alphabetical index list will be split. +# Minimum value: 1, maximum value: 20, default value: 5. +# This tag requires that the tag ALPHABETICAL_INDEX is set to YES. + +COLS_IN_ALPHA_INDEX = 5 + +# In case all classes in a project start with a common prefix, all classes will +# be put under the same header in the alphabetical index. The IGNORE_PREFIX tag +# can be used to specify a prefix (or a list of prefixes) that should be ignored +# while generating the index headers. +# This tag requires that the tag ALPHABETICAL_INDEX is set to YES. + +IGNORE_PREFIX = + +#--------------------------------------------------------------------------- +# Configuration options related to the HTML output +#--------------------------------------------------------------------------- + +# If the GENERATE_HTML tag is set to YES, doxygen will generate HTML output +# The default value is: YES. + +GENERATE_HTML = YES + +# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. If a +# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of +# it. +# The default directory is: html. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_OUTPUT = html + +# The HTML_FILE_EXTENSION tag can be used to specify the file extension for each +# generated HTML page (for example: .htm, .php, .asp). +# The default value is: .html. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_FILE_EXTENSION = .html + +# The HTML_HEADER tag can be used to specify a user-defined HTML header file for +# each generated HTML page. If the tag is left blank doxygen will generate a +# standard header. +# +# To get valid HTML the header file that includes any scripts and style sheets +# that doxygen needs, which is dependent on the configuration options used (e.g. +# the setting GENERATE_TREEVIEW). It is highly recommended to start with a +# default header using +# doxygen -w html new_header.html new_footer.html new_stylesheet.css +# YourConfigFile +# and then modify the file new_header.html. See also section "Doxygen usage" +# for information on how to generate the default header that doxygen normally +# uses. +# Note: The header is subject to change so you typically have to regenerate the +# default header when upgrading to a newer version of doxygen. For a description +# of the possible markers and block names see the documentation. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_HEADER = + +# The HTML_FOOTER tag can be used to specify a user-defined HTML footer for each +# generated HTML page. If the tag is left blank doxygen will generate a standard +# footer. See HTML_HEADER for more information on how to generate a default +# footer and what special commands can be used inside the footer. See also +# section "Doxygen usage" for information on how to generate the default footer +# that doxygen normally uses. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_FOOTER = + +# The HTML_STYLESHEET tag can be used to specify a user-defined cascading style +# sheet that is used by each HTML page. It can be used to fine-tune the look of +# the HTML output. If left blank doxygen will generate a default style sheet. +# See also section "Doxygen usage" for information on how to generate the style +# sheet that doxygen normally uses. +# Note: It is recommended to use HTML_EXTRA_STYLESHEET instead of this tag, as +# it is more robust and this tag (HTML_STYLESHEET) will in the future become +# obsolete. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_STYLESHEET = + +# The HTML_EXTRA_STYLESHEET tag can be used to specify additional user-defined +# cascading style sheets that are included after the standard style sheets +# created by doxygen. Using this option one can overrule certain style aspects. +# This is preferred over using HTML_STYLESHEET since it does not replace the +# standard style sheet and is therefore more robust against future updates. +# Doxygen will copy the style sheet files to the output directory. +# Note: The order of the extra style sheet files is of importance (e.g. the last +# style sheet in the list overrules the setting of the previous ones in the +# list). For an example see the documentation. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_EXTRA_STYLESHEET = + +# The HTML_EXTRA_FILES tag can be used to specify one or more extra images or +# other source files which should be copied to the HTML output directory. Note +# that these files will be copied to the base HTML output directory. Use the +# $relpath^ marker in the HTML_HEADER and/or HTML_FOOTER files to load these +# files. In the HTML_STYLESHEET file, use the file name only. Also note that the +# files will be copied as-is; there are no commands or markers available. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_EXTRA_FILES = + +# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. Doxygen +# will adjust the colors in the style sheet and background images according to +# this color. Hue is specified as an angle on a colorwheel, see +# http://en.wikipedia.org/wiki/Hue for more information. For instance the value +# 0 represents red, 60 is yellow, 120 is green, 180 is cyan, 240 is blue, 300 +# purple, and 360 is red again. +# Minimum value: 0, maximum value: 359, default value: 220. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_COLORSTYLE_HUE = 220 + +# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of the colors +# in the HTML output. For a value of 0 the output will use grayscales only. A +# value of 255 will produce the most vivid colors. +# Minimum value: 0, maximum value: 255, default value: 100. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_COLORSTYLE_SAT = 100 + +# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to the +# luminance component of the colors in the HTML output. Values below 100 +# gradually make the output lighter, whereas values above 100 make the output +# darker. The value divided by 100 is the actual gamma applied, so 80 represents +# a gamma of 0.8, The value 220 represents a gamma of 2.2, and 100 does not +# change the gamma. +# Minimum value: 40, maximum value: 240, default value: 80. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_COLORSTYLE_GAMMA = 80 + +# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML +# page will contain the date and time when the page was generated. Setting this +# to YES can help to show when doxygen was last run and thus if the +# documentation is up to date. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_TIMESTAMP = NO + +# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML +# documentation will contain sections that can be hidden and shown after the +# page has loaded. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_DYNAMIC_SECTIONS = NO + +# With HTML_INDEX_NUM_ENTRIES one can control the preferred number of entries +# shown in the various tree structured indices initially; the user can expand +# and collapse entries dynamically later on. Doxygen will expand the tree to +# such a level that at most the specified number of entries are visible (unless +# a fully collapsed tree already exceeds this amount). So setting the number of +# entries 1 will produce a full collapsed tree by default. 0 is a special value +# representing an infinite number of entries and will result in a full expanded +# tree by default. +# Minimum value: 0, maximum value: 9999, default value: 100. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_INDEX_NUM_ENTRIES = 100 + +# If the GENERATE_DOCSET tag is set to YES, additional index files will be +# generated that can be used as input for Apple's Xcode 3 integrated development +# environment (see: http://developer.apple.com/tools/xcode/), introduced with +# OSX 10.5 (Leopard). To create a documentation set, doxygen will generate a +# Makefile in the HTML output directory. Running make will produce the docset in +# that directory and running make install will install the docset in +# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find it at +# startup. See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html +# for more information. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +GENERATE_DOCSET = NO + +# This tag determines the name of the docset feed. A documentation feed provides +# an umbrella under which multiple documentation sets from a single provider +# (such as a company or product suite) can be grouped. +# The default value is: Doxygen generated docs. +# This tag requires that the tag GENERATE_DOCSET is set to YES. + +DOCSET_FEEDNAME = "Doxygen generated docs" + +# This tag specifies a string that should uniquely identify the documentation +# set bundle. This should be a reverse domain-name style string, e.g. +# com.mycompany.MyDocSet. Doxygen will append .docset to the name. +# The default value is: org.doxygen.Project. +# This tag requires that the tag GENERATE_DOCSET is set to YES. + +DOCSET_BUNDLE_ID = org.doxygen.Project + +# The DOCSET_PUBLISHER_ID tag specifies a string that should uniquely identify +# the documentation publisher. This should be a reverse domain-name style +# string, e.g. com.mycompany.MyDocSet.documentation. +# The default value is: org.doxygen.Publisher. +# This tag requires that the tag GENERATE_DOCSET is set to YES. + +DOCSET_PUBLISHER_ID = org.doxygen.Publisher + +# The DOCSET_PUBLISHER_NAME tag identifies the documentation publisher. +# The default value is: Publisher. +# This tag requires that the tag GENERATE_DOCSET is set to YES. + +DOCSET_PUBLISHER_NAME = Publisher + +# If the GENERATE_HTMLHELP tag is set to YES then doxygen generates three +# additional HTML index files: index.hhp, index.hhc, and index.hhk. The +# index.hhp is a project file that can be read by Microsoft's HTML Help Workshop +# (see: http://www.microsoft.com/en-us/download/details.aspx?id=21138) on +# Windows. +# +# The HTML Help Workshop contains a compiler that can convert all HTML output +# generated by doxygen into a single compiled HTML file (.chm). Compiled HTML +# files are now used as the Windows 98 help format, and will replace the old +# Windows help format (.hlp) on all Windows platforms in the future. Compressed +# HTML files also contain an index, a table of contents, and you can search for +# words in the documentation. The HTML workshop also contains a viewer for +# compressed HTML files. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +GENERATE_HTMLHELP = NO + +# The CHM_FILE tag can be used to specify the file name of the resulting .chm +# file. You can add a path in front of the file if the result should not be +# written to the html output directory. +# This tag requires that the tag GENERATE_HTMLHELP is set to YES. + +CHM_FILE = + +# The HHC_LOCATION tag can be used to specify the location (absolute path +# including file name) of the HTML help compiler (hhc.exe). If non-empty, +# doxygen will try to run the HTML help compiler on the generated index.hhp. +# The file has to be specified with full path. +# This tag requires that the tag GENERATE_HTMLHELP is set to YES. + +HHC_LOCATION = + +# The GENERATE_CHI flag controls if a separate .chi index file is generated +# (YES) or that it should be included in the master .chm file (NO). +# The default value is: NO. +# This tag requires that the tag GENERATE_HTMLHELP is set to YES. + +GENERATE_CHI = NO + +# The CHM_INDEX_ENCODING is used to encode HtmlHelp index (hhk), content (hhc) +# and project file content. +# This tag requires that the tag GENERATE_HTMLHELP is set to YES. + +CHM_INDEX_ENCODING = + +# The BINARY_TOC flag controls whether a binary table of contents is generated +# (YES) or a normal table of contents (NO) in the .chm file. Furthermore it +# enables the Previous and Next buttons. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTMLHELP is set to YES. + +BINARY_TOC = NO + +# The TOC_EXPAND flag can be set to YES to add extra items for group members to +# the table of contents of the HTML help documentation and to the tree view. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTMLHELP is set to YES. + +TOC_EXPAND = NO + +# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and +# QHP_VIRTUAL_FOLDER are set, an additional index file will be generated that +# can be used as input for Qt's qhelpgenerator to generate a Qt Compressed Help +# (.qch) of the generated HTML documentation. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +GENERATE_QHP = NO + +# If the QHG_LOCATION tag is specified, the QCH_FILE tag can be used to specify +# the file name of the resulting .qch file. The path specified is relative to +# the HTML output folder. +# This tag requires that the tag GENERATE_QHP is set to YES. + +QCH_FILE = + +# The QHP_NAMESPACE tag specifies the namespace to use when generating Qt Help +# Project output. For more information please see Qt Help Project / Namespace +# (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#namespace). +# The default value is: org.doxygen.Project. +# This tag requires that the tag GENERATE_QHP is set to YES. + +QHP_NAMESPACE = org.doxygen.Project + +# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating Qt +# Help Project output. For more information please see Qt Help Project / Virtual +# Folders (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#virtual- +# folders). +# The default value is: doc. +# This tag requires that the tag GENERATE_QHP is set to YES. + +QHP_VIRTUAL_FOLDER = doc + +# If the QHP_CUST_FILTER_NAME tag is set, it specifies the name of a custom +# filter to add. For more information please see Qt Help Project / Custom +# Filters (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#custom- +# filters). +# This tag requires that the tag GENERATE_QHP is set to YES. + +QHP_CUST_FILTER_NAME = + +# The QHP_CUST_FILTER_ATTRS tag specifies the list of the attributes of the +# custom filter to add. For more information please see Qt Help Project / Custom +# Filters (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#custom- +# filters). +# This tag requires that the tag GENERATE_QHP is set to YES. + +QHP_CUST_FILTER_ATTRS = + +# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this +# project's filter section matches. Qt Help Project / Filter Attributes (see: +# http://qt-project.org/doc/qt-4.8/qthelpproject.html#filter-attributes). +# This tag requires that the tag GENERATE_QHP is set to YES. + +QHP_SECT_FILTER_ATTRS = + +# The QHG_LOCATION tag can be used to specify the location of Qt's +# qhelpgenerator. If non-empty doxygen will try to run qhelpgenerator on the +# generated .qhp file. +# This tag requires that the tag GENERATE_QHP is set to YES. + +QHG_LOCATION = + +# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files will be +# generated, together with the HTML files, they form an Eclipse help plugin. To +# install this plugin and make it available under the help contents menu in +# Eclipse, the contents of the directory containing the HTML and XML files needs +# to be copied into the plugins directory of eclipse. The name of the directory +# within the plugins directory should be the same as the ECLIPSE_DOC_ID value. +# After copying Eclipse needs to be restarted before the help appears. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +GENERATE_ECLIPSEHELP = NO + +# A unique identifier for the Eclipse help plugin. When installing the plugin +# the directory name containing the HTML and XML files should also have this +# name. Each documentation set should have its own identifier. +# The default value is: org.doxygen.Project. +# This tag requires that the tag GENERATE_ECLIPSEHELP is set to YES. + +ECLIPSE_DOC_ID = org.doxygen.Project + +# If you want full control over the layout of the generated HTML pages it might +# be necessary to disable the index and replace it with your own. The +# DISABLE_INDEX tag can be used to turn on/off the condensed index (tabs) at top +# of each HTML page. A value of NO enables the index and the value YES disables +# it. Since the tabs in the index contain the same information as the navigation +# tree, you can set this option to YES if you also set GENERATE_TREEVIEW to YES. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +DISABLE_INDEX = NO + +# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index +# structure should be generated to display hierarchical information. If the tag +# value is set to YES, a side panel will be generated containing a tree-like +# index structure (just like the one that is generated for HTML Help). For this +# to work a browser that supports JavaScript, DHTML, CSS and frames is required +# (i.e. any modern browser). Windows users are probably better off using the +# HTML help feature. Via custom style sheets (see HTML_EXTRA_STYLESHEET) one can +# further fine-tune the look of the index. As an example, the default style +# sheet generated by doxygen has an example that shows how to put an image at +# the root of the tree instead of the PROJECT_NAME. Since the tree basically has +# the same information as the tab index, you could consider setting +# DISABLE_INDEX to YES when enabling this option. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +GENERATE_TREEVIEW = NO + +# The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values that +# doxygen will group on one line in the generated HTML documentation. +# +# Note that a value of 0 will completely suppress the enum values from appearing +# in the overview section. +# Minimum value: 0, maximum value: 20, default value: 4. +# This tag requires that the tag GENERATE_HTML is set to YES. + +ENUM_VALUES_PER_LINE = 4 + +# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be used +# to set the initial width (in pixels) of the frame in which the tree is shown. +# Minimum value: 0, maximum value: 1500, default value: 250. +# This tag requires that the tag GENERATE_HTML is set to YES. + +TREEVIEW_WIDTH = 250 + +# If the EXT_LINKS_IN_WINDOW option is set to YES, doxygen will open links to +# external symbols imported via tag files in a separate window. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +EXT_LINKS_IN_WINDOW = NO + +# Use this tag to change the font size of LaTeX formulas included as images in +# the HTML documentation. When you change the font size after a successful +# doxygen run you need to manually remove any form_*.png images from the HTML +# output directory to force them to be regenerated. +# Minimum value: 8, maximum value: 50, default value: 10. +# This tag requires that the tag GENERATE_HTML is set to YES. + +FORMULA_FONTSIZE = 10 + +# Use the FORMULA_TRANPARENT tag to determine whether or not the images +# generated for formulas are transparent PNGs. Transparent PNGs are not +# supported properly for IE 6.0, but are supported on all modern browsers. +# +# Note that when changing this option you need to delete any form_*.png files in +# the HTML output directory before the changes have effect. +# The default value is: YES. +# This tag requires that the tag GENERATE_HTML is set to YES. + +FORMULA_TRANSPARENT = YES + +# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax (see +# http://www.mathjax.org) which uses client side Javascript for the rendering +# instead of using pre-rendered bitmaps. Use this if you do not have LaTeX +# installed or if you want to formulas look prettier in the HTML output. When +# enabled you may also need to install MathJax separately and configure the path +# to it using the MATHJAX_RELPATH option. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +USE_MATHJAX = NO + +# When MathJax is enabled you can set the default output format to be used for +# the MathJax output. See the MathJax site (see: +# http://docs.mathjax.org/en/latest/output.html) for more details. +# Possible values are: HTML-CSS (which is slower, but has the best +# compatibility), NativeMML (i.e. MathML) and SVG. +# The default value is: HTML-CSS. +# This tag requires that the tag USE_MATHJAX is set to YES. + +MATHJAX_FORMAT = HTML-CSS + +# When MathJax is enabled you need to specify the location relative to the HTML +# output directory using the MATHJAX_RELPATH option. The destination directory +# should contain the MathJax.js script. For instance, if the mathjax directory +# is located at the same level as the HTML output directory, then +# MATHJAX_RELPATH should be ../mathjax. The default value points to the MathJax +# Content Delivery Network so you can quickly see the result without installing +# MathJax. However, it is strongly recommended to install a local copy of +# MathJax from http://www.mathjax.org before deployment. +# The default value is: http://cdn.mathjax.org/mathjax/latest. +# This tag requires that the tag USE_MATHJAX is set to YES. + +MATHJAX_RELPATH = http://cdn.mathjax.org/mathjax/latest + +# The MATHJAX_EXTENSIONS tag can be used to specify one or more MathJax +# extension names that should be enabled during MathJax rendering. For example +# MATHJAX_EXTENSIONS = TeX/AMSmath TeX/AMSsymbols +# This tag requires that the tag USE_MATHJAX is set to YES. + +MATHJAX_EXTENSIONS = + +# The MATHJAX_CODEFILE tag can be used to specify a file with javascript pieces +# of code that will be used on startup of the MathJax code. See the MathJax site +# (see: http://docs.mathjax.org/en/latest/output.html) for more details. For an +# example see the documentation. +# This tag requires that the tag USE_MATHJAX is set to YES. + +MATHJAX_CODEFILE = + +# When the SEARCHENGINE tag is enabled doxygen will generate a search box for +# the HTML output. The underlying search engine uses javascript and DHTML and +# should work on any modern browser. Note that when using HTML help +# (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets (GENERATE_DOCSET) +# there is already a search function so this one should typically be disabled. +# For large projects the javascript based search engine can be slow, then +# enabling SERVER_BASED_SEARCH may provide a better solution. It is possible to +# search using the keyboard; to jump to the search box use + S +# (what the is depends on the OS and browser, but it is typically +# , /

      so that the header files are found when the application #includes with -I /opt/rocm/include. Change-Id: I24feac9a5030d3600aee98084340e246c3990db5 --- inc/.clang-format | 1 + inc/ext/prof_protocol.h | 34 ++++++++++++------------ inc/roctracer.h | 55 +++++++++++++++++++-------------------- inc/roctracer_ext.h | 14 +++++++--- inc/roctracer_hcc.h | 5 ++-- inc/roctracer_hip.h | 35 ++++--------------------- inc/roctracer_hsa.h | 38 +++++++++++++++------------ inc/roctracer_plugin.h | 15 +++++------ inc/roctracer_roctx.h | 2 +- inc/roctx.h | 3 ++- script/gen_ostream_ops.py | 17 +++++++++--- test/app/codeobj_test.cpp | 6 ++--- 12 files changed, 111 insertions(+), 114 deletions(-) diff --git a/inc/.clang-format b/inc/.clang-format index f41702bc79..e128ee2fd1 100644 --- a/inc/.clang-format +++ b/inc/.clang-format @@ -1,3 +1,4 @@ --- +BasedOnStyle: InheritParentConfig ColumnLimit: 79 ... diff --git a/inc/ext/prof_protocol.h b/inc/ext/prof_protocol.h index 1f9333abce..69a2b0b347 100644 --- a/inc/ext/prof_protocol.h +++ b/inc/ext/prof_protocol.h @@ -26,30 +26,32 @@ /* Traced API domains */ typedef enum { - ACTIVITY_DOMAIN_HSA_API = 0, /* HSA API domain */ - ACTIVITY_DOMAIN_HSA_OPS = 1, /* HSA async activity domain */ - ACTIVITY_DOMAIN_HIP_OPS = 2, /* HIP async activity domain */ - ACTIVITY_DOMAIN_HCC_OPS = ACTIVITY_DOMAIN_HIP_OPS, /* HCC async activity domain */ - ACTIVITY_DOMAIN_HIP_VDI = ACTIVITY_DOMAIN_HIP_OPS, /* HIP VDI async activity domain */ - ACTIVITY_DOMAIN_HIP_API = 3, /* HIP API domain */ - ACTIVITY_DOMAIN_KFD_API = 4, /* KFD API domain */ - ACTIVITY_DOMAIN_EXT_API = 5, /* External ID domain */ - ACTIVITY_DOMAIN_ROCTX = 6, /* ROCTX domain */ - ACTIVITY_DOMAIN_HSA_EVT = 7, /* HSA events */ + ACTIVITY_DOMAIN_HSA_API = 0, /* HSA API domain */ + ACTIVITY_DOMAIN_HSA_OPS = 1, /* HSA async activity domain */ + ACTIVITY_DOMAIN_HIP_OPS = 2, /* HIP async activity domain */ + ACTIVITY_DOMAIN_HCC_OPS = + ACTIVITY_DOMAIN_HIP_OPS, /* HCC async activity domain */ + ACTIVITY_DOMAIN_HIP_VDI = + ACTIVITY_DOMAIN_HIP_OPS, /* HIP VDI async activity domain */ + ACTIVITY_DOMAIN_HIP_API = 3, /* HIP API domain */ + ACTIVITY_DOMAIN_KFD_API = 4, /* KFD API domain */ + ACTIVITY_DOMAIN_EXT_API = 5, /* External ID domain */ + ACTIVITY_DOMAIN_ROCTX = 6, /* ROCTX domain */ + ACTIVITY_DOMAIN_HSA_EVT = 7, /* HSA events */ ACTIVITY_DOMAIN_NUMBER } activity_domain_t; -/* Extension API opcodes */ -typedef enum { ACTIVITY_EXT_OP_MARK = 0, ACTIVITY_EXT_OP_EXTERN_ID = 1 } activity_ext_op_t; - /* API callback type */ -typedef void (*activity_rtapi_callback_t)(uint32_t domain, uint32_t cid, const void* data, - void* arg); +typedef void (*activity_rtapi_callback_t)(uint32_t domain, uint32_t cid, + const void* data, void* arg); typedef uint32_t activity_kind_t; typedef uint32_t activity_op_t; /* API callback phase */ -typedef enum { ACTIVITY_API_PHASE_ENTER = 0, ACTIVITY_API_PHASE_EXIT = 1 } activity_api_phase_t; +typedef enum { + ACTIVITY_API_PHASE_ENTER = 0, + ACTIVITY_API_PHASE_EXIT = 1 +} activity_api_phase_t; /* Trace record types */ diff --git a/inc/roctracer.h b/inc/roctracer.h index 211e5c0c69..cb9b13facc 100644 --- a/inc/roctracer.h +++ b/inc/roctracer.h @@ -82,7 +82,7 @@ #include #include -#include +#include "ext/prof_protocol.h" #ifdef __cplusplus extern "C" { @@ -254,7 +254,7 @@ typedef enum { * \return Return the error string. The caller owns the returned string and * should use \p free() to deallocate it. */ -ROCTRACER_API const char *roctracer_error_string() ROCTRACER_VERSION_4_1; +ROCTRACER_API const char* roctracer_error_string() ROCTRACER_VERSION_4_1; /** @} */ @@ -284,9 +284,8 @@ typedef activity_domain_t roctracer_domain_t; * the domain or operation are invalid. The string is owned by the ROC Tracer * library. */ -ROCTRACER_API const char * -roctracer_op_string(uint32_t domain, uint32_t op, - uint32_t kind) ROCTRACER_VERSION_4_1; +ROCTRACER_API const char* roctracer_op_string( + uint32_t domain, uint32_t op, uint32_t kind) ROCTRACER_VERSION_4_1; /** * Query the operation code given a domain and the name of an operation. @@ -309,8 +308,8 @@ roctracer_op_string(uint32_t domain, uint32_t op, * not supported. */ ROCTRACER_API roctracer_status_t -roctracer_op_code(uint32_t domain, const char *str, uint32_t *op, - uint32_t *kind) ROCTRACER_VERSION_4_1; +roctracer_op_code(uint32_t domain, const char* str, uint32_t* op, + uint32_t* kind) ROCTRACER_VERSION_4_1; /** * Set the properties of a domain. @@ -325,7 +324,7 @@ roctracer_op_code(uint32_t domain, const char *str, uint32_t *op, * successfully. */ ROCTRACER_API roctracer_status_t roctracer_set_properties( - roctracer_domain_t domain, void *properties) ROCTRACER_VERSION_4_1; + roctracer_domain_t domain, void* properties) ROCTRACER_VERSION_4_1; /** @} */ @@ -368,7 +367,7 @@ typedef activity_rtapi_callback_t roctracer_rtapi_callback_t; */ ROCTRACER_API roctracer_status_t roctracer_enable_op_callback( activity_domain_t domain, uint32_t op, activity_rtapi_callback_t callback, - void *arg) ROCTRACER_VERSION_4_1; + void* arg) ROCTRACER_VERSION_4_1; /** * Enable runtime API callback for all operations of a domain. @@ -387,7 +386,7 @@ ROCTRACER_API roctracer_status_t roctracer_enable_op_callback( */ ROCTRACER_API roctracer_status_t roctracer_enable_domain_callback( activity_domain_t domain, activity_rtapi_callback_t callback, - void *arg) ROCTRACER_VERSION_4_1; + void* arg) ROCTRACER_VERSION_4_1; /** * Disable runtime API callback for a specific operation of a domain. @@ -454,8 +453,8 @@ typedef activity_record_t roctracer_record_t; * successfully. */ ROCTRACER_API roctracer_status_t -roctracer_next_record(const activity_record_t *record, - const activity_record_t **next) ROCTRACER_VERSION_4_1; +roctracer_next_record(const activity_record_t* record, + const activity_record_t** next) ROCTRACER_VERSION_4_1; /** * Memory pool allocator callback. @@ -476,7 +475,7 @@ roctracer_next_record(const activity_record_t *record, * \p arg Argument provided in the ::roctracer_properties_t passed to the * ::roctracer_open_pool function. */ -typedef void (*roctracer_allocator_t)(char **ptr, size_t size, void *arg); +typedef void (*roctracer_allocator_t)(char** ptr, size_t size, void* arg); /** * Memory pool buffer callback. @@ -490,8 +489,8 @@ typedef void (*roctracer_allocator_t)(char **ptr, size_t size, void *arg); * * \p arg the argument specified when the callback was defined. */ -typedef void (*roctracer_buffer_callback_t)(const char *begin, const char *end, - void *arg); +typedef void (*roctracer_buffer_callback_t)(const char* begin, const char* end, + void* arg); /** * Memory pool properties. @@ -518,7 +517,7 @@ typedef struct { /** * The argument to pass when invoking the \p alloc_fun allocator. */ - void *alloc_arg; + void* alloc_arg; /** * The function to call when a buffer becomes full or is flushed. @@ -528,7 +527,7 @@ typedef struct { /** * The argument to pass when invoking the \p buffer_callback_fun callback. */ - void *buffer_callback_arg; + void* buffer_callback_arg; } roctracer_properties_t; /** @@ -559,8 +558,8 @@ typedef void roctracer_pool_t; * for the \p pool. Unable to create the pool. */ ROCTRACER_API roctracer_status_t -roctracer_open_pool_expl(const roctracer_properties_t *properties, - roctracer_pool_t **pool) ROCTRACER_VERSION_4_1; +roctracer_open_pool_expl(const roctracer_properties_t* properties, + roctracer_pool_t** pool) ROCTRACER_VERSION_4_1; /** * Create tracer memory pool. @@ -580,7 +579,7 @@ roctracer_open_pool_expl(const roctracer_properties_t *properties, * for the \p pool. Unable to create the pool. */ ROCTRACER_API roctracer_status_t roctracer_open_pool( - const roctracer_properties_t *properties) ROCTRACER_VERSION_4_1; + const roctracer_properties_t* properties) ROCTRACER_VERSION_4_1; /** * Close tracer memory pool. @@ -596,7 +595,7 @@ ROCTRACER_API roctracer_status_t roctracer_open_pool( * successfully or pool was NULL and there is no default pool. */ ROCTRACER_API roctracer_status_t -roctracer_close_pool_expl(roctracer_pool_t *pool) ROCTRACER_VERSION_4_1; +roctracer_close_pool_expl(roctracer_pool_t* pool) ROCTRACER_VERSION_4_1; /** * Close default tracer memory pool, if defined, and set to undefined. @@ -619,15 +618,15 @@ ROCTRACER_API roctracer_status_t roctracer_close_pool() ROCTRACER_VERSION_4_1; * @return Return the current default memory pool before any change, or NULL if * none is defined. */ -ROCTRACER_API roctracer_pool_t * -roctracer_default_pool_expl(roctracer_pool_t *pool) ROCTRACER_VERSION_4_1; +ROCTRACER_API roctracer_pool_t* roctracer_default_pool_expl( + roctracer_pool_t* pool) ROCTRACER_VERSION_4_1; /** * Query the current default memory pool. * * @return Return the current default memory pool, or NULL is none is defined. */ -ROCTRACER_API roctracer_pool_t *roctracer_default_pool() ROCTRACER_VERSION_4_1; +ROCTRACER_API roctracer_pool_t* roctracer_default_pool() ROCTRACER_VERSION_4_1; /** * Enable activity record logging for a specified operation of a domain @@ -648,7 +647,7 @@ ROCTRACER_API roctracer_pool_t *roctracer_default_pool() ROCTRACER_VERSION_4_1; */ ROCTRACER_API roctracer_status_t roctracer_enable_op_activity_expl( activity_domain_t domain, uint32_t op, - roctracer_pool_t *pool) ROCTRACER_VERSION_4_1; + roctracer_pool_t* pool) ROCTRACER_VERSION_4_1; /** * Enable activity record logging for a specified operation of a domain using @@ -682,7 +681,7 @@ ROCTRACER_API roctracer_status_t roctracer_enable_op_activity( * defined. */ ROCTRACER_API roctracer_status_t roctracer_enable_domain_activity_expl( - activity_domain_t domain, roctracer_pool_t *pool) ROCTRACER_VERSION_4_1; + activity_domain_t domain, roctracer_pool_t* pool) ROCTRACER_VERSION_4_1; /** * Enable activity record logging for all operations of a domain using the @@ -736,7 +735,7 @@ ROCTRACER_API roctracer_status_t roctracer_disable_domain_activity( * successfully. */ ROCTRACER_API roctracer_status_t -roctracer_flush_activity_expl(roctracer_pool_t *pool) ROCTRACER_VERSION_4_1; +roctracer_flush_activity_expl(roctracer_pool_t* pool) ROCTRACER_VERSION_4_1; /** * Flush available activity records for the default memory pool. @@ -769,7 +768,7 @@ ROCTRACER_API roctracer_status_t roctracer_flush_activity() * successfully. */ ROCTRACER_API roctracer_status_t roctracer_get_timestamp( - roctracer_timestamp_t *timestamp) ROCTRACER_VERSION_4_1; + roctracer_timestamp_t* timestamp) ROCTRACER_VERSION_4_1; /** @} */ diff --git a/inc/roctracer_ext.h b/inc/roctracer_ext.h index 30c30136ea..9fc4f6a67d 100644 --- a/inc/roctracer_ext.h +++ b/inc/roctracer_ext.h @@ -30,7 +30,13 @@ #ifndef ROCTRACER_EXT_H_ #define ROCTRACER_EXT_H_ -#include +#include "roctracer.h" + +/* Extension API opcodes */ +typedef enum { + ACTIVITY_EXT_OP_MARK = 0, + ACTIVITY_EXT_OP_EXTERN_ID = 1 +} activity_ext_op_t; typedef void (*roctracer_start_cb_t)(); typedef void (*roctracer_stop_cb_t)(); @@ -58,12 +64,14 @@ void ROCTRACER_API roctracer_stop() ROCTRACER_VERSION_4_1; // Notifies that the calling thread is entering an external API region. // Push an external correlation id for the calling thread. roctracer_status_t ROCTRACER_API -roctracer_activity_push_external_correlation_id(activity_correlation_id_t id) ROCTRACER_VERSION_4_1; +roctracer_activity_push_external_correlation_id(activity_correlation_id_t id) + ROCTRACER_VERSION_4_1; // Notifies that the calling thread is leaving an external API region. // Pop an external correlation id for the calling thread. // 'lastId' returns the last external correlation if not NULL -roctracer_status_t ROCTRACER_API roctracer_activity_pop_external_correlation_id( +roctracer_status_t ROCTRACER_API +roctracer_activity_pop_external_correlation_id( activity_correlation_id_t* last_id) ROCTRACER_VERSION_4_1; #ifdef __cplusplus diff --git a/inc/roctracer_hcc.h b/inc/roctracer_hcc.h index 5da6dab0bc..969282b7fc 100644 --- a/inc/roctracer_hcc.h +++ b/inc/roctracer_hcc.h @@ -18,6 +18,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -#pragma message("This file has been deprecated and marked for removal. Please use roctracer_hip.h instead.") +#pragma message( \ + "This file has been deprecated and marked for removal. Please use roctracer_hip.h instead.") -#include \ No newline at end of file +#include "roctracer_hip.h" \ No newline at end of file diff --git a/inc/roctracer_hip.h b/inc/roctracer_hip.h index 8b0434944c..5bfab84b23 100644 --- a/inc/roctracer_hip.h +++ b/inc/roctracer_hip.h @@ -18,29 +18,15 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -#ifndef INC_ROCTRACER_HIP_H_ -#define INC_ROCTRACER_HIP_H_ +#ifndef ROCTRACER_HIP_H_ +#define ROCTRACER_HIP_H_ -#ifdef __cplusplus -#include - -inline static std::ostream& operator<<(std::ostream& out, const unsigned char& v) { - out << (unsigned int)v; - return out; -} - -inline static std::ostream& operator<<(std::ostream& out, const char& v) { - out << (unsigned char)v; - return out; -} -#endif // __cplusplus +#include "roctracer.h" #include -#include +#include "hip_ostream_ops.h" #include -#include - typedef enum { HIP_OP_ID_DISPATCH = 0, HIP_OP_ID_COPY = 1, @@ -48,15 +34,4 @@ typedef enum { HIP_OP_ID_NUMBER = 3 } hip_op_id_t; -#ifdef __cplusplus -extern "C" { -#endif // __cplusplus - -// Traced calls ID enumeration -typedef enum hip_api_id_t roctracer_hip_api_cid_t; - -#ifdef __cplusplus -} // extern "C" block -#endif // __cplusplus - -#endif // INC_ROCTRACER_HIP_H_ +#endif // ROCTRACER_HIP_H_ diff --git a/inc/roctracer_hsa.h b/inc/roctracer_hsa.h index 5f86c5a21e..4af350016e 100644 --- a/inc/roctracer_hsa.h +++ b/inc/roctracer_hsa.h @@ -18,14 +18,15 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -#ifndef INC_ROCTRACER_HSA_H_ -#define INC_ROCTRACER_HSA_H_ +#ifndef ROCTRACER_HSA_H_ +#define ROCTRACER_HSA_H_ -#include +#include "roctracer.h" #include #include -#include +#include "hsa_ostream_ops.h" +#include "hsa_prof_str.h" // HSA OP ID enumeration enum hsa_op_id_t { @@ -55,11 +56,12 @@ struct hsa_ops_properties_t { typedef struct { union { struct { - const void* ptr; // allocated area ptr - size_t size; // allocated area size, zero size means 'free' callback + const void* ptr; // allocated area ptr + size_t size; // allocated area size, zero size means 'free' callback hsa_amd_segment_t segment; // allocated area's memory segment type - hsa_amd_memory_pool_global_flag_t global_flag; // allocated area's memory global flag - int is_code; // equal to 1 if code is allocated + hsa_amd_memory_pool_global_flag_t + global_flag; // allocated area's memory global flag + int is_code; // equal to 1 if code is allocated } allocate; struct { @@ -76,11 +78,12 @@ typedef struct { } memcopy; struct { - const void* packet; // submitted to GPU packet - const char* kernel_name; // kernel name, NULL if not a kernel dispatch packet - hsa_queue_t* queue; // HSA queue the packet was submitted to - uint32_t device_type; // type of device the packet is submitted to - uint32_t device_id; // id of device the packet is submitted to + const void* packet; // submitted to GPU packet + const char* + kernel_name; // kernel name, NULL if not a kernel dispatch packet + hsa_queue_t* queue; // HSA queue the packet was submitted to + uint32_t device_type; // type of device the packet is submitted to + uint32_t device_id; // id of device the packet is submitted to } submit; struct { @@ -98,11 +101,12 @@ typedef struct { uint64_t load_base; // code object load base uint64_t load_size; // code object load size uint64_t load_delta; // code object load size - uint32_t uri_length; // URI string length (not including the terminating NUL character) - const char* uri; // URI string - int unload; // unload flag + uint32_t uri_length; // URI string length (not including the terminating + // NUL character) + const char* uri; // URI string + int unload; // unload flag } codeobj; }; } hsa_evt_data_t; -#endif // INC_ROCTRACER_HSA_H_ +#endif // ROCTRACER_HSA_H_ diff --git a/inc/roctracer_plugin.h b/inc/roctracer_plugin.h index b4a47d56b3..da8a6d725e 100644 --- a/inc/roctracer_plugin.h +++ b/inc/roctracer_plugin.h @@ -77,9 +77,8 @@ extern "C" { * * @return Returns 0 on success and -1 on error. */ -ROCTRACER_EXPORT int -roctracer_plugin_initialize(uint32_t roctracer_major_version, - uint32_t roctracer_minor_version); +ROCTRACER_EXPORT int roctracer_plugin_initialize( + uint32_t roctracer_major_version, uint32_t roctracer_minor_version); /** * Finalize plugin. @@ -109,9 +108,8 @@ ROCTRACER_EXPORT void roctracer_plugin_finalize(); * * @return Returns 0 on success and -1 on error. */ -ROCTRACER_EXPORT int -roctracer_plugin_write_callback_record(const roctracer_record_t *record, - const void *callback_data); +ROCTRACER_EXPORT int roctracer_plugin_write_callback_record( + const roctracer_record_t* record, const void* callback_data); /** * Report a range of activity trace data. @@ -127,9 +125,8 @@ roctracer_plugin_write_callback_record(const roctracer_record_t *record, * * @return Returns 0 on success and -1 on error. */ -ROCTRACER_EXPORT int -roctracer_plugin_write_activity_records(const roctracer_record_t *begin, - const roctracer_record_t *end); +ROCTRACER_EXPORT int roctracer_plugin_write_activity_records( + const roctracer_record_t* begin, const roctracer_record_t* end); /** @} */ diff --git a/inc/roctracer_roctx.h b/inc/roctracer_roctx.h index b333571364..8ff3190f63 100644 --- a/inc/roctracer_roctx.h +++ b/inc/roctracer_roctx.h @@ -21,7 +21,7 @@ #ifndef ROCTRACER_ROCTX_H_ #define ROCTRACER_ROCTX_H_ -#include +#include "roctx.h" /** * ROCTX API ID enumeration diff --git a/inc/roctx.h b/inc/roctx.h index cec83dc897..ccec5a185b 100644 --- a/inc/roctx.h +++ b/inc/roctx.h @@ -211,7 +211,8 @@ typedef uint64_t roctx_range_id_t; * * \return Returns the ID of the new range. */ -ROCTX_API roctx_range_id_t roctxRangeStartA(const char* message) ROCTX_VERSION_4_1; +ROCTX_API roctx_range_id_t roctxRangeStartA(const char* message) + ROCTX_VERSION_4_1; #define roctxRangeStart(message) roctxRangeStartA(message) /** diff --git a/script/gen_ostream_ops.py b/script/gen_ostream_ops.py index f40c9ced6f..aacbd7ce37 100755 --- a/script/gen_ostream_ops.py +++ b/script/gen_ostream_ops.py @@ -58,7 +58,15 @@ header_basic = \ ' using std::operator<<;\n' + \ ' static bool recursion = false;\n' + \ ' if (recursion == false) { recursion = true; out << v; recursion = false; }\n' + \ -' return out; }\n' +' return out;\n }\n' + \ +'\n' + \ +' inline static std::ostream &operator<<(std::ostream &out, const unsigned char &v) {\n' + \ +' out << (unsigned int)v;\n' + \ +' return out;\n }\n' + \ +'\n' + \ +' inline static std::ostream &operator<<(std::ostream &out, const char &v) {\n' + \ +' out << (unsigned char)v;\n' + \ +' return out;\n }\n' structs_analyzed = {} global_ops = '' @@ -153,11 +161,12 @@ def gen_cppheader(infilepath, outfilepath, rank): header_s = \ '#ifndef INC_' + apiname + '_OSTREAM_OPS_H_\n' + \ '#define INC_' + apiname + '_OSTREAM_OPS_H_\n' + \ + '\n' + \ + '#include "roctracer.h"\n' + \ + '\n' + \ '#ifdef __cplusplus\n' + \ '#include \n' + \ - '\n' + \ - '#include "roctracer.h"\n' - header_s += '#include \n' + '#include \n' output_filename_h.write(header_s) output_filename_h.write('\n') diff --git a/test/app/codeobj_test.cpp b/test/app/codeobj_test.cpp index 16a8a72e92..0737d49a97 100644 --- a/test/app/codeobj_test.cpp +++ b/test/app/codeobj_test.cpp @@ -22,8 +22,8 @@ #include #include -#include "inc/roctracer.h" -#include "inc/roctracer_hsa.h" +#include "roctracer.h" +#include "roctracer_hsa.h" namespace { // Check returned HSA API status @@ -66,4 +66,4 @@ ROCTRACER_EXPORT void OnUnload() { CHECK(roctracer_disable_domain_callback(ACTIVITY_DOMAIN_HSA_EVT)); } -} // extern "C" \ No newline at end of file +} // extern "C" From 67ce5fae13c28f7a6f904482c101e9f6584f6cfe Mon Sep 17 00:00:00 2001 From: Laurent Morichetti Date: Thu, 15 Sep 2022 10:33:38 -0700 Subject: [PATCH 622/691] Fix an array subscript out-of-bounds error Starting with gcc-11 (verified with gcc-12 as well), an array out-of-bounds subscript error is reported for accessing the registration table element at the operation ID index. Validating the index in the function calling Register/Unregister does not quiet the warning/error in release builds, so, for gcc-11 and gcc-12, we disable that warning just for the RegistrationTable class. Change-Id: I6bc4a02aa072cfa8905ecde5e3960aebf32fc912 --- src/roctracer/registration_table.h | 16 ++++++++++++++++ src/roctracer/roctracer.cpp | 12 ++++++++++++ 2 files changed, 28 insertions(+) diff --git a/src/roctracer/registration_table.h b/src/roctracer/registration_table.h index aa25779bd6..f9f6efd478 100644 --- a/src/roctracer/registration_table.h +++ b/src/roctracer/registration_table.h @@ -32,6 +32,19 @@ namespace roctracer::util { +#if __GNUC__ == 11 || __GNUCC__ == 12 +// Starting with gcc-11 (verified with gcc-12 as well), an array out-of-bounds subscript error is +// reported for accessing the registration table element at the operation ID index. Validating the +// index in the function calling Register/Unregister does not quiet the warning/error in release +// builds, so, for gcc-11 and gcc-12, we disable that warning just for this class. +#define IGNORE_GCC_ARRAY_BOUNDS_ERROR 1 +#endif // __GNUC__ == 11 || __GNUCC__ == 12 + +#if IGNORE_GCC_ARRAY_BOUNDS_ERROR +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Warray-bounds" +#endif // IGNORE_GCC_ARRAY_BOUNDS_ERROR + namespace detail { struct False { constexpr bool operator()() { return false; } @@ -78,6 +91,9 @@ template class Regi } table_[N]{}; }; +#if IGNORE_GCC_ARRAY_BOUNDS_ERROR +#pragma GCC diagnostic pop +#endif // IGNORE_GCC_ARRAY_BOUNDS_ERROR } // namespace roctracer::util diff --git a/src/roctracer/roctracer.cpp b/src/roctracer/roctracer.cpp index 1e0c401e77..3be42de65d 100644 --- a/src/roctracer/roctracer.cpp +++ b/src/roctracer/roctracer.cpp @@ -489,6 +489,9 @@ static void roctracer_enable_callback_impl(roctracer_domain_t domain, uint32_t o roctracer_rtapi_callback_t callback, void* user_data) { std::lock_guard lock(registration_mutex); + if (operation_id >= get_op_end(domain) || callback == nullptr) + throw ApiError(ROCTRACER_STATUS_ERROR_INVALID_ARGUMENT, "invalid argument"); + switch (domain) { case ACTIVITY_DOMAIN_HSA_EVT: HSA_registration_group.Register(hsa_evt_callback_table, operation_id, callback, user_data); @@ -538,6 +541,9 @@ ROCTRACER_API roctracer_status_t roctracer_enable_domain_callback( static void roctracer_disable_callback_impl(roctracer_domain_t domain, uint32_t operation_id) { std::lock_guard lock(registration_mutex); + if (operation_id >= get_op_end(domain)) + throw ApiError(ROCTRACER_STATUS_ERROR_INVALID_ARGUMENT, "invalid argument"); + switch (domain) { case ACTIVITY_DOMAIN_HSA_EVT: HSA_registration_group.Unregister(hsa_evt_callback_table, operation_id); @@ -635,6 +641,9 @@ static void roctracer_enable_activity_impl(roctracer_domain_t domain, uint32_t o if (memory_pool == nullptr) EXC_RAISING(ROCTRACER_STATUS_ERROR_DEFAULT_POOL_UNDEFINED, "no default pool"); + if (op >= get_op_end(domain)) + throw ApiError(ROCTRACER_STATUS_ERROR_INVALID_ARGUMENT, "invalid argument"); + switch (domain) { case ACTIVITY_DOMAIN_HSA_EVT: break; @@ -701,6 +710,9 @@ ROCTRACER_API roctracer_status_t roctracer_enable_domain_activity(activity_domai static void roctracer_disable_activity_impl(roctracer_domain_t domain, uint32_t op) { std::lock_guard lock(registration_mutex); + if (op >= get_op_end(domain)) + throw ApiError(ROCTRACER_STATUS_ERROR_INVALID_ARGUMENT, "invalid argument"); + switch (domain) { case ACTIVITY_DOMAIN_HSA_EVT: break; From bb98bc7d856d54bc5dd2b64d95d4752ee396526c Mon Sep 17 00:00:00 2001 From: Laurent Morichetti Date: Mon, 12 Sep 2022 13:03:48 -0700 Subject: [PATCH 623/691] Clean up logger.h Change-Id: Ibcb58d2236b012d00c3fc421a425c03093de5d50 --- src/roctracer/roctracer.cpp | 13 +---- src/util/logger.h | 95 ++++++++----------------------------- 2 files changed, 22 insertions(+), 86 deletions(-) diff --git a/src/roctracer/roctracer.cpp b/src/roctracer/roctracer.cpp index 3be42de65d..0ccb01d53e 100644 --- a/src/roctracer/roctracer.cpp +++ b/src/roctracer/roctracer.cpp @@ -99,14 +99,6 @@ MemoryPool* default_memory_pool = nullptr; } // namespace -namespace roctracer { - -// Logger routines and primitives -util::Logger::mutex_t util::Logger::mutex_; -std::atomic util::Logger::instance_{}; - -} // namespace roctracer - /////////////////////////////////////////////////////////////////////////////////////////////////// // Public library methods // @@ -117,7 +109,7 @@ ROCTRACER_API uint32_t roctracer_version_minor() { return ROCTRACER_VERSION_MINO // Returns the last error ROCTRACER_API const char* roctracer_error_string() { - return strdup(util::Logger::LastMessage().c_str()); + return strdup(util::Logger::Instance().LastMessage().c_str()); } // Return Op string by given domain and activity/API codes @@ -881,9 +873,6 @@ ROCTRACER_API roctracer_status_t roctracer_set_properties(roctracer_domain_t dom API_METHOD_SUFFIX } -__attribute__((constructor)) void constructor() { util::Logger::Create(); } -__attribute__((destructor)) void destructor() { util::Logger::Destroy(); } - extern "C" { // The HSA_AMD_TOOL_PRIORITY variable must be a constant value type initialized by the loader diff --git a/src/util/logger.h b/src/util/logger.h index daf07a6a7b..0bbdbe799f 100644 --- a/src/util/logger.h +++ b/src/util/logger.h @@ -43,11 +43,9 @@ namespace roctracer::util { class Logger { public: - typedef std::recursive_mutex mutex_t; - - template Logger& operator<<(const T& m) { + template Logger& operator<<(T&& m) { std::ostringstream oss; - oss << m; + oss << std::forward(m); if (!streaming_) Log(oss.str()); else @@ -56,7 +54,7 @@ class Logger { return *this; } - typedef void (*manip_t)(); + using manip_t = void (*)(); Logger& operator<<(manip_t f) { f(); return *this; @@ -65,59 +63,35 @@ class Logger { static void begm() { Instance().ResetStreaming(true); } static void endl() { Instance().ResetStreaming(false); } - static const std::string& LastMessage() { - Logger& logger = Instance(); - std::lock_guard lck(mutex_); - return logger.message_[GetTid()]; - } - - static Logger* Create() { - std::lock_guard lck(mutex_); - Logger* obj = instance_.load(std::memory_order_relaxed); - if (obj == NULL) { - obj = new Logger(); - if (obj == NULL) { - std::cerr << "ROCTracer: log object creation failed" << std::endl << std::flush; - abort(); - } - instance_.store(obj, std::memory_order_release); - } - return obj; - } - - static void Destroy() { - std::lock_guard lck(mutex_); - if (instance_ != NULL) delete instance_.load(); - instance_ = NULL; + const std::string& LastMessage() { + std::lock_guard lock(mutex_); + return message_[GetTid()]; } static Logger& Instance() { - Logger* obj = instance_.load(std::memory_order_acquire); - if (obj == NULL) obj = Create(); - return *obj; + static Logger instance; + return instance; } static uint32_t GetPid() { return syscall(__NR_getpid); } static uint32_t GetTid() { return syscall(__NR_gettid); } private: - Logger() : file_(NULL), dirty_(false), streaming_(false), messaging_(false) { - const char* path = getenv("ROCTRACER_LOG"); - if (path != NULL) { - file_ = fopen("/tmp/roctracer_log.txt", "a"); - } + Logger() : file_(nullptr), dirty_(false), streaming_(false), messaging_(false) { + const char* var = getenv("ROCTRACER_LOG"); + if (var != nullptr) file_ = fopen("/tmp/roctracer_log.txt", "a"); ResetStreaming(false); } ~Logger() { - if (file_ != NULL) { + if (file_ != nullptr) { if (dirty_) Put("\n"); fclose(file_); } } void ResetStreaming(const bool messaging) { - std::lock_guard lck(mutex_); + std::lock_guard lock(mutex_); if (messaging) { message_[GetTid()] = ""; } else if (streaming_) { @@ -129,11 +103,11 @@ class Logger { } void Put(const std::string& m) { - std::lock_guard lck(mutex_); + std::lock_guard lock(mutex_); if (messaging_) { message_[GetTid()] += m; } - if (file_ != NULL) { + if (file_ != nullptr) { dirty_ = true; flock(fileno(file_), LOCK_EX); fprintf(file_, "%s", m.c_str()); @@ -143,7 +117,7 @@ class Logger { } void Log(const std::string& m) { - const time_t rawtime = time(NULL); + const time_t rawtime = time(nullptr); tm tm_info; localtime_r(&rawtime, &tm_info); char tm_str[26]; @@ -158,8 +132,7 @@ class Logger { bool streaming_; bool messaging_; - static mutex_t mutex_; - static std::atomic instance_; + std::recursive_mutex mutex_; std::map message_; }; @@ -170,51 +143,25 @@ class Logger { roctracer::util::Logger::Instance() \ << "fatal: " << roctracer::util::Logger::begm << stream << roctracer::util::Logger::endl; \ abort(); \ - } while (0) + } while (false) #define ERR_LOGGING(stream) \ do { \ roctracer::util::Logger::Instance() \ << "error: " << roctracer::util::Logger::begm << stream << roctracer::util::Logger::endl; \ - } while (0) + } while (false) #define INFO_LOGGING(stream) \ do { \ roctracer::util::Logger::Instance() \ << "info: " << roctracer::util::Logger::begm << stream << roctracer::util::Logger::endl; \ - } while (0) + } while (false) #define WARN_LOGGING(stream) \ do { \ std::cerr << "ROCProfiler: " << stream << std::endl; \ roctracer::util::Logger::Instance() << "warning: " << roctracer::util::Logger::begm << stream \ << roctracer::util::Logger::endl; \ - } while (0) - -#ifdef DEBUG -#define DBG_LOGGING(stream) \ - do { \ - roctracer::util::Logger::Instance() \ - << roctracer::util::Logger::begm << "debug: \"" << stream << "\"" \ - << " in " << __FUNCTION__ << " at " << __FILE__ << " line " << __LINE__ \ - << roctracer::util::Logger::endl; \ - } while (0) -#endif - -#if DEBUG_TRACE_ON -inline static void DEBUG_TRACE(const char* fmt, ...) { - constexpr int size = 256; - char buf[size]; - - va_list valist; - va_start(valist, fmt); - vsnprintf(buf, size, fmt, valist); - printf("%u:%u %s", roctracer::util::Logger::GetPid(), roctracer::util::Logger::GetTid(), buf); - fflush(stdout); - va_end(valist); -} -#else -#define DEBUG_TRACE(...) -#endif + } while (false) #endif // SRC_UTIL_LOGGER_H_ From a287f20961d73e7b647ede0b18dc22294971ee07 Mon Sep 17 00:00:00 2001 From: Laurent Morichetti Date: Mon, 26 Sep 2022 09:27:07 -0700 Subject: [PATCH 624/691] Fix a typo in HipLoader rocprof errors out with the following message: symbol lookup 'KernelNameRef' failed: libamdhip64.so.5: undefined \ symbol: KernelNameRef The HipLoader is incorrectly looking for a KernelNameRef symbol instead of hipKernelNameRef. Fixed the typo: KernelNameRef -> hipKernelNameRef. Change-Id: Ia4860e1669707b0c83d67e71b78d362b07a6aaa7 --- src/roctracer/loader.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/roctracer/loader.h b/src/roctracer/loader.h index 5642018a8a..656f2c1c37 100644 --- a/src/roctracer/loader.h +++ b/src/roctracer/loader.h @@ -142,7 +142,7 @@ class HipLoader : public BaseLoader { } const char* KernelNameRef(const hipFunction_t f) const { - static auto function = GetFun("KernelNameRef"); + static auto function = GetFun("hipKernelNameRef"); return function(f); } From b664937ebd6e0b89e775bc2393c370ac4b3259df Mon Sep 17 00:00:00 2001 From: Laurent Morichetti Date: Mon, 26 Sep 2022 09:35:03 -0700 Subject: [PATCH 625/691] Use the "safe" Stack for begin_timestamp The tracer tool needs to remember the begin timestamps for API callbacks, and uses a thread_local std::stack for that purpose. The issue with thread_local objects is that they are destructed before anything else when the main thread exits. To work around that issue, we use a "safe" stack in the roctracer API. Use the same "safe" stack in the tracer tool. Change-Id: I0d69d4eb44f0205f4102d0d5ef9803a1ec1800a5 --- src/roctracer/correlation_id.cpp | 2 +- src/tracer_tool/tracer_tool.cpp | 54 ++++++++++++++++++++++++++------ 2 files changed, 45 insertions(+), 11 deletions(-) diff --git a/src/roctracer/correlation_id.cpp b/src/roctracer/correlation_id.cpp index 50c9e10908..a76cce1f5e 100644 --- a/src/roctracer/correlation_id.cpp +++ b/src/roctracer/correlation_id.cpp @@ -39,7 +39,7 @@ template class Stack : std::stack> { template auto& emplace(Args&&... args) { return is_valid() ? parent_type::emplace(std::forward(args)...) - : *new (&dummy_element_) T(std::forward(args)...); + : dummy_element_ = T(std::forward(args)...); } void push(const T& v) { if (is_valid()) parent_type::push(v); diff --git a/src/tracer_tool/tracer_tool.cpp b/src/tracer_tool/tracer_tool.cpp index db21e2cbc9..f942fef946 100644 --- a/src/tracer_tool/tracer_tool.cpp +++ b/src/tracer_tool/tracer_tool.cpp @@ -67,8 +67,42 @@ TRACE_BUFFER_INSTANTIATE(); namespace { -thread_local std::stack> - hsa_begin_timestamp, hip_begin_timestamp; +// A stack that can be used for TLS variables. TLS destructors are invoked before global destructors +// which is a problem if operations invoked by global destructors use TLS variables. If the TLS +// stack is destructed, it still has well defined behavior by always returning a dummy element. +template class Stack : std::stack> { + using parent_type = typename std::stack>; + + public: + Stack() { valid_.store(true, std::memory_order_relaxed); } + ~Stack() { valid_.store(false, std::memory_order_relaxed); } + + template auto& emplace(Args&&... args) { + return is_valid() ? parent_type::emplace(std::forward(args)...) + : dummy_element_ = T(std::forward(args)...); + } + void push(const T& v) { + if (is_valid()) parent_type::push(v); + } + void push(T&& v) { + if (is_valid()) parent_type::push(std::move(v)); + } + void pop() { + if (is_valid()) parent_type::pop(); + } + const auto& top() const { return is_valid() ? parent_type::top() : dummy_element_; } + auto& top() { return is_valid() ? parent_type::top() : (dummy_element_ = {}); } + + bool is_valid() const { return valid_.load(std::memory_order_relaxed); } + size_t size() const { return is_valid() ? parent_type::size() : 0; } + bool empty() const { return size() == 0; } + + private: + std::atomic valid_{false}; + T dummy_element_; // Dummy element used when the stack is not valid. +}; + +thread_local Stack begin_timestamp_stack; inline roctracer_timestamp_t timestamp_ns() { roctracer_timestamp_t timestamp; @@ -270,14 +304,14 @@ void hsa_api_callback(uint32_t domain, uint32_t cid, const void* callback_data, (void)arg; const hsa_api_data_t* data = reinterpret_cast(callback_data); if (data->phase == ACTIVITY_API_PHASE_ENTER) { - hsa_begin_timestamp.push(timestamp_ns()); + begin_timestamp_stack.push(timestamp_ns()); } else { const roctracer_timestamp_t end_timestamp = - (cid == HSA_API_ID_hsa_shut_down) ? hsa_begin_timestamp.top() : timestamp_ns(); + (cid == HSA_API_ID_hsa_shut_down) ? begin_timestamp_stack.top() : timestamp_ns(); hsa_api_trace_entry_t& entry = hsa_api_trace_buffer.Emplace( - cid, hsa_begin_timestamp.top(), end_timestamp, GetPid(), GetTid(), *data); + cid, begin_timestamp_stack.top(), end_timestamp, GetPid(), GetTid(), *data); entry.valid.store(roctracer::TRACE_ENTRY_COMPLETE, std::memory_order_release); - hsa_begin_timestamp.pop(); + begin_timestamp_stack.pop(); } } @@ -408,16 +442,16 @@ void hip_api_callback(uint32_t domain, uint32_t cid, const void* callback_data, std::optional kernel_name; if (data->phase == ACTIVITY_API_PHASE_ENTER) { - hip_begin_timestamp.push(timestamp); + begin_timestamp_stack.push(timestamp); } else { // Post init of HIP APU args hipApiArgsInit((hip_api_id_t)cid, const_cast(data)); kernel_name = getKernelName(cid, data); hip_api_trace_entry_t& entry = - hip_api_trace_buffer.Emplace(cid, hip_begin_timestamp.top(), timestamp, GetPid(), GetTid(), - *data, kernel_name ? kernel_name->c_str() : nullptr); + hip_api_trace_buffer.Emplace(cid, begin_timestamp_stack.top(), timestamp, GetPid(), + GetTid(), *data, kernel_name ? kernel_name->c_str() : nullptr); entry.valid.store(roctracer::TRACE_ENTRY_COMPLETE, std::memory_order_release); - hip_begin_timestamp.pop(); + begin_timestamp_stack.pop(); } } From 329c0467cbe441da87339f9ab1e4302e41fb7efd Mon Sep 17 00:00:00 2001 From: Laurent Morichetti Date: Wed, 28 Sep 2022 15:41:05 -0700 Subject: [PATCH 626/691] Fix an issue with aync copy timestamps The timestamps coming from the HIP runtime for asynchronus memory copies are corrupted (begin > end) because the HSA setting to record timestamps is turned off by the tracer's HSA intercept. The solution is to intercept hsa_amd_profiling_async_copy_enable and remember the application/runtime's request so that it can be ORed with IsEnabled(ACTIVITY_DOMAIN_HSA_OPS, HSA_OP_ID_COPY). Change-Id: Ib687cbf36711563e86c2bb8bc934c7c51572bfde --- src/roctracer/hsa_support.cpp | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/src/roctracer/hsa_support.cpp b/src/roctracer/hsa_support.cpp index e0e6bd1a17..d6bfa7b4a0 100644 --- a/src/roctracer/hsa_support.cpp +++ b/src/roctracer/hsa_support.cpp @@ -415,6 +415,14 @@ hsa_status_t ExecutableDestroyIntercept(hsa_executable_t executable) { return saved_core_api.hsa_executable_destroy_fn(executable); } +bool profiling_async_copy_enable = false; + +hsa_status_t ProfilingAsyncCopyEnableIntercept(bool enable) { + hsa_status_t status = saved_amd_ext_api.hsa_amd_profiling_async_copy_enable_fn(enable); + if (status == HSA_STATUS_SUCCESS) profiling_async_copy_enable = enable; + return status; +} + void MemoryASyncCopyHandler(const Tracker::entry_t* entry) { activity_record_t record{}; record.domain = ACTIVITY_DOMAIN_HSA_OPS; @@ -433,8 +441,8 @@ hsa_status_t MemoryASyncCopyIntercept(void* dst, hsa_agent_t dst_agent, const vo bool is_enabled = IsEnabled(ACTIVITY_DOMAIN_HSA_OPS, HSA_OP_ID_COPY); // FIXME: what happens if the state changes before returning? - [[maybe_unused]] hsa_status_t status = - saved_amd_ext_api.hsa_amd_profiling_async_copy_enable_fn(is_enabled); + [[maybe_unused]] hsa_status_t status = saved_amd_ext_api.hsa_amd_profiling_async_copy_enable_fn( + profiling_async_copy_enable | is_enabled); assert(status == HSA_STATUS_SUCCESS && "hsa_amd_profiling_async_copy_enable failed"); if (!is_enabled) { @@ -464,8 +472,8 @@ hsa_status_t MemoryASyncCopyRectIntercept(const hsa_pitched_ptr_t* dst, bool is_enabled = IsEnabled(ACTIVITY_DOMAIN_HSA_OPS, HSA_OP_ID_COPY); // FIXME: what happens if the state changes before returning? - [[maybe_unused]] hsa_status_t status = - saved_amd_ext_api.hsa_amd_profiling_async_copy_enable_fn(is_enabled); + [[maybe_unused]] hsa_status_t status = saved_amd_ext_api.hsa_amd_profiling_async_copy_enable_fn( + profiling_async_copy_enable | is_enabled); assert(status == HSA_STATUS_SUCCESS && "hsa_amd_profiling_async_copy_enable failed"); if (!is_enabled) { @@ -557,6 +565,7 @@ void Initialize(HsaApiTable* table) { // Install the HSA_OPS intercept table->amd_ext_->hsa_amd_memory_async_copy_fn = MemoryASyncCopyIntercept; table->amd_ext_->hsa_amd_memory_async_copy_rect_fn = MemoryASyncCopyRectIntercept; + table->amd_ext_->hsa_amd_profiling_async_copy_enable_fn = ProfilingAsyncCopyEnableIntercept; // Install the HSA_EVT intercept table->core_->hsa_memory_allocate_fn = MemoryAllocateIntercept; @@ -575,7 +584,8 @@ void Initialize(HsaApiTable* table) { } void Finalize() { - if (hsa_status_t status = saved_amd_ext_api.hsa_amd_profiling_async_copy_enable_fn(false); + if (hsa_status_t status = + saved_amd_ext_api.hsa_amd_profiling_async_copy_enable_fn(profiling_async_copy_enable); status != HSA_STATUS_SUCCESS) assert(!"hsa_amd_profiling_async_copy_enable failed"); From 6416434d3b3a31c04b6c4feeb2fba013b3beb4e7 Mon Sep 17 00:00:00 2001 From: Laurent Morichetti Date: Fri, 30 Sep 2022 11:02:27 -0700 Subject: [PATCH 627/691] Fix a profiling data corrupted error Using rocprof with ROCP_MCOPY_DATA=1 while tracing HSA produces the following error: tblextr.py: Memcpy args "(0x7feb16a00000, 123handle=28593376125, 0x7feb12a00010, 123handle=27558560125, 4194304, 0, 0, 123handle=140661639440000125) = 1" cannot be identified Profiling data corrupted: ' ./out/rpl_data_220930_143009_1826700/input_results_220930_143009/results.txt' There are two issues: 1) The hsa_agent_t handle argument is misprinted: "123handle=...125" Instead of printing '{' and '}', it prints '123' and '125'. The wrong operator<<(unsigned char) is used and an integer value is printed instead of a char. Use std::operator<< instead of hsa_support::detail::operator<< to print '{' and '}' 2) The result value is unitialized and in some cases printed as a negative integer value. The leading '-' is not matched by the mem_manager regular expresion for HSA api calls. Correctly capture the HSA function's return value. Change-Id: If13a1e62eeb4e598447c4b90d53d1b2e3b408696 --- script/gen_ostream_ops.py | 4 ++-- script/hsaap.py | 6 ++---- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/script/gen_ostream_ops.py b/script/gen_ostream_ops.py index aacbd7ce37..b9a52a302b 100755 --- a/script/gen_ostream_ops.py +++ b/script/gen_ostream_ops.py @@ -191,7 +191,7 @@ def gen_cppheader(infilepath, outfilepath, rank): if len(cppHeader.classes[c]["properties"]["public"]) != 0: output_filename_h.write("inline static std::ostream& operator<<(std::ostream& out, const " + c + "& v)\n") output_filename_h.write("{\n") - output_filename_h.write(" roctracer::" + apiname.lower() + "_support::detail::operator<<(out, '{');\n") + output_filename_h.write(" std::operator<<(out, '{');\n") output_filename_h.write(" " + apiname.upper() + "_depth_max_cnt++;\n") output_filename_h.write(" if (" + apiname.upper() + "_depth_max == -1 || " + apiname.upper() + "_depth_max_cnt <= " + apiname.upper() + "_depth_max" + ") {\n" ) process_struct(output_filename_h, c, cppHeader, "", apiname) @@ -200,7 +200,7 @@ def gen_cppheader(infilepath, outfilepath, rank): output_filename_h.write(global_str) output_filename_h.write(" };\n") output_filename_h.write(" " + apiname.upper() + "_depth_max_cnt--;\n") - output_filename_h.write(" roctracer::" + apiname.lower() + "_support::detail::operator<<(out, '}');\n") + output_filename_h.write(" std::operator<<(out, '}');\n") output_filename_h.write(" return out;\n") output_filename_h.write("}\n") global_str = '' diff --git a/script/hsaap.py b/script/hsaap.py index 2aa0742c8f..7d5813c7f0 100755 --- a/script/hsaap.py +++ b/script/hsaap.py @@ -441,8 +441,7 @@ class API_DescrParser: content += '\n' if ret_type != 'void': - # FIXME: we should capture the return value and store it in the api_data - content += ' ' + ret_type + ' ret =' + content += ' trace_data.api_data.' + ret_type + '_retval = ' content += ' ' + name + '_saved_before_cb.' + call + '_fn(' + ', '.join(struct['alst']) + ');\n' content += '\n' @@ -450,8 +449,7 @@ class API_DescrParser: content += ' trace_data.phase_exit(' + call_id + ', &trace_data);\n' if ret_type != 'void': - content += '\n' - content += ' return ret;\n' + content += ' return trace_data.api_data.' + ret_type + '_retval;\n' content += '}\n' return content From 8a575d8d6ec5b5cd7f5996494fd3ac9676ee4712 Mon Sep 17 00:00:00 2001 From: Laurent Morichetti Date: Fri, 30 Sep 2022 13:24:23 -0700 Subject: [PATCH 628/691] Remove the thread local begin_timestamp stack Using a thread_local object is problematic as the thread local destructors are called first before any global destructor, making the object invalid while tearing down the process. rocblas uses a global destructor to clean up the loaded HIP modules and ends up calling hip_executable_destroy after the timestamp stack is destructed. As a result the begin timestamp for that API function is 0. The solution is to store the phase_enter timestamp in the phase_data. Change-Id: If143f4d123dfb111c72fb20365431d07e73fc570 --- script/hsaap.py | 1 + src/roctracer/roctracer.cpp | 1 + src/tracer_tool/tracer_tool.cpp | 54 +++++---------------------------- 3 files changed, 10 insertions(+), 46 deletions(-) diff --git a/script/hsaap.py b/script/hsaap.py index 7d5813c7f0..ad65ff82c0 100755 --- a/script/hsaap.py +++ b/script/hsaap.py @@ -401,6 +401,7 @@ class API_DescrParser: content += ' } ' + call + ';\n' else: content += ' } args;\n' + content += ' uint64_t *phase_data;\n' content += '};\n' return content diff --git a/src/roctracer/roctracer.cpp b/src/roctracer/roctracer.cpp index 0ccb01d53e..66554f8258 100644 --- a/src/roctracer/roctracer.cpp +++ b/src/roctracer/roctracer.cpp @@ -325,6 +325,7 @@ template struct ApiTracer { if (auto user_callback = callback_table.Get(operation_id)) { assert(trace_data != nullptr); trace_data->api_data.phase = ACTIVITY_API_PHASE_ENTER; + trace_data->api_data.phase_data = &trace_data->phase_data; user_callback->first(domain, operation_id, &trace_data->api_data, user_callback->second); trace_data->phase_exit = Exit_UserCallback; } else { diff --git a/src/tracer_tool/tracer_tool.cpp b/src/tracer_tool/tracer_tool.cpp index f942fef946..f28c771831 100644 --- a/src/tracer_tool/tracer_tool.cpp +++ b/src/tracer_tool/tracer_tool.cpp @@ -67,43 +67,6 @@ TRACE_BUFFER_INSTANTIATE(); namespace { -// A stack that can be used for TLS variables. TLS destructors are invoked before global destructors -// which is a problem if operations invoked by global destructors use TLS variables. If the TLS -// stack is destructed, it still has well defined behavior by always returning a dummy element. -template class Stack : std::stack> { - using parent_type = typename std::stack>; - - public: - Stack() { valid_.store(true, std::memory_order_relaxed); } - ~Stack() { valid_.store(false, std::memory_order_relaxed); } - - template auto& emplace(Args&&... args) { - return is_valid() ? parent_type::emplace(std::forward(args)...) - : dummy_element_ = T(std::forward(args)...); - } - void push(const T& v) { - if (is_valid()) parent_type::push(v); - } - void push(T&& v) { - if (is_valid()) parent_type::push(std::move(v)); - } - void pop() { - if (is_valid()) parent_type::pop(); - } - const auto& top() const { return is_valid() ? parent_type::top() : dummy_element_; } - auto& top() { return is_valid() ? parent_type::top() : (dummy_element_ = {}); } - - bool is_valid() const { return valid_.load(std::memory_order_relaxed); } - size_t size() const { return is_valid() ? parent_type::size() : 0; } - bool empty() const { return size() == 0; } - - private: - std::atomic valid_{false}; - T dummy_element_; // Dummy element used when the stack is not valid. -}; - -thread_local Stack begin_timestamp_stack; - inline roctracer_timestamp_t timestamp_ns() { roctracer_timestamp_t timestamp; CHECK_ROCTRACER(roctracer_get_timestamp(×tamp)); @@ -304,14 +267,14 @@ void hsa_api_callback(uint32_t domain, uint32_t cid, const void* callback_data, (void)arg; const hsa_api_data_t* data = reinterpret_cast(callback_data); if (data->phase == ACTIVITY_API_PHASE_ENTER) { - begin_timestamp_stack.push(timestamp_ns()); + *data->phase_data = timestamp_ns(); } else { + const roctracer_timestamp_t begin_timestamp = *data->phase_data; const roctracer_timestamp_t end_timestamp = - (cid == HSA_API_ID_hsa_shut_down) ? begin_timestamp_stack.top() : timestamp_ns(); - hsa_api_trace_entry_t& entry = hsa_api_trace_buffer.Emplace( - cid, begin_timestamp_stack.top(), end_timestamp, GetPid(), GetTid(), *data); + (cid == HSA_API_ID_hsa_shut_down) ? begin_timestamp : timestamp_ns(); + hsa_api_trace_entry_t& entry = hsa_api_trace_buffer.Emplace(cid, begin_timestamp, end_timestamp, + GetPid(), GetTid(), *data); entry.valid.store(roctracer::TRACE_ENTRY_COMPLETE, std::memory_order_release); - begin_timestamp_stack.pop(); } } @@ -442,16 +405,15 @@ void hip_api_callback(uint32_t domain, uint32_t cid, const void* callback_data, std::optional kernel_name; if (data->phase == ACTIVITY_API_PHASE_ENTER) { - begin_timestamp_stack.push(timestamp); + *data->phase_data = timestamp; } else { // Post init of HIP APU args hipApiArgsInit((hip_api_id_t)cid, const_cast(data)); kernel_name = getKernelName(cid, data); hip_api_trace_entry_t& entry = - hip_api_trace_buffer.Emplace(cid, begin_timestamp_stack.top(), timestamp, GetPid(), - GetTid(), *data, kernel_name ? kernel_name->c_str() : nullptr); + hip_api_trace_buffer.Emplace(cid, *data->phase_data, timestamp, GetPid(), GetTid(), *data, + kernel_name ? kernel_name->c_str() : nullptr); entry.valid.store(roctracer::TRACE_ENTRY_COMPLETE, std::memory_order_release); - begin_timestamp_stack.pop(); } } From b556f8681e30e942c79ed34516ef1d4d918e08e4 Mon Sep 17 00:00:00 2001 From: Laurent Morichetti Date: Fri, 14 Oct 2022 09:52:18 -0700 Subject: [PATCH 629/691] SWDEV-362165 - Escape strings in the API function's arguments Strings ([const] char *, [const] char[]) passed as arguments to API functions may not always contain printable characters. All string arguments should be quoted and escaped in the trace logs. Change-Id: Ie39058f2190048b1a0090df16d9ac6bc6507e28a --- plugin/file/file.cpp | 6 +++--- script/gen_ostream_ops.py | 32 ++++++++++++++++++++++++++++---- 2 files changed, 31 insertions(+), 7 deletions(-) diff --git a/plugin/file/file.cpp b/plugin/file/file.cpp index c0d78b1377..fc68a6e7cd 100644 --- a/plugin/file/file.cpp +++ b/plugin/file/file.cpp @@ -243,8 +243,8 @@ class file_plugin_t { << ((record->op == HSA_API_ID_hsa_shut_down) ? record->begin_ns : record->end_ns) << " " << record->process_id << ":" << record->thread_id << " " - << hsa_api_data_pair_t(record->op, *data) << " :" << data->correlation_id - << std::endl; + << hsa_api_data_pair_t(record->op, *data) << " :" << std::dec + << data->correlation_id << std::endl; break; } case ACTIVITY_DOMAIN_HIP_API: { @@ -265,7 +265,7 @@ class file_plugin_t { *output_file << std::dec << record->begin_ns << ":" << record->end_ns << " " << record->process_id << ":" << record->thread_id << " " << hipApiString((hip_api_id_t)record->op, data) << kernel_name << " :" - << data->correlation_id << std::endl; + << std::dec << data->correlation_id << std::endl; break; } default: diff --git a/script/gen_ostream_ops.py b/script/gen_ostream_ops.py index b9a52a302b..ec762c4e22 100755 --- a/script/gen_ostream_ops.py +++ b/script/gen_ostream_ops.py @@ -53,7 +53,20 @@ LICENSE = \ header_basic = \ 'namespace detail {\n' + \ -'template \n' + \ +' inline static void print_escaped_string(std::ostream& out, const char *v, size_t len) {\n' + \ +' out << \'"\'; \n' + \ +' for (size_t i = 0; i < len && v[i]; ++i) {\n' + \ +' if (std::isprint((unsigned char)v[i])) std::operator<<(out, v[i]);\n' + \ +' else {\n' + \ +' std::ios_base::fmtflags flags(out.flags());\n' + \ +' out << "\\\\x" << std::setfill(\'0\') << std::setw(2) << std::hex << (unsigned int)(unsigned char)v[i];\n' + \ +' out.flags(flags);\n' + \ +' }\n' + \ +' }\n' + \ +' out << \'"\'; \n' + \ +' }\n' + \ +'\n' + \ +' template \n' + \ ' inline static std::ostream& operator<<(std::ostream& out, const T& v) {\n' + \ ' using std::operator<<;\n' + \ ' static bool recursion = false;\n' + \ @@ -66,6 +79,15 @@ header_basic = \ '\n' + \ ' inline static std::ostream &operator<<(std::ostream &out, const char &v) {\n' + \ ' out << (unsigned char)v;\n' + \ +' return out;\n }\n' + \ +'\n' + \ +' template \n' + \ +' inline static std::ostream &operator<<(std::ostream &out, const char (&v)[N]) {\n' + \ +' print_escaped_string(out, v, N);\n' + \ +' return out;\n }\n' + \ +'\n' + \ +' inline static std::ostream &operator<<(std::ostream &out, const char *v) {\n' + \ +' print_escaped_string(out, v, strlen(v));\n' + \ ' return out;\n }\n' structs_analyzed = {} @@ -120,9 +142,9 @@ def process_struct(file_handle, cppHeader_struct, cppHeader, parent_hier_name, a indent = "" str += " if (std::string(\"" + cppHeader_struct + "::" + name + "\").find(" + apiname.upper() + "_structs_regex" + ") != std::string::npos) {\n" indent = " " - str += indent + " roctracer::" + apiname.lower() + "_support::detail::operator<<(out, \"" + name + "=\");\n" + str += indent + " std::operator<<(out, \"" + name + "=\");\n" str += indent + " roctracer::" + apiname.lower() + "_support::detail::operator<<(out, v." + name + ");\n" - str += indent + " roctracer::" + apiname.lower() + "_support::detail::operator<<(out, \", \");\n" + str += indent + " std::operator<<(out, \", \");\n" str += " }\n" if "void" not in mtype: global_str += str @@ -166,7 +188,9 @@ def gen_cppheader(infilepath, outfilepath, rank): '\n' + \ '#ifdef __cplusplus\n' + \ '#include \n' + \ - '#include \n' + '#include \n' + \ + '#include \n' + \ + '#include \n' output_filename_h.write(header_s) output_filename_h.write('\n') From c95d5dd96fa50a567b7b203029652bb036ecd3f4 Mon Sep 17 00:00:00 2001 From: Laurent Morichetti Date: Tue, 18 Oct 2022 18:19:07 -0700 Subject: [PATCH 630/691] Fix a build error when compiling with clang Fix the following error: roctx.cpp:91:25: error: reinterpret_cast from 'const void *' to 'decltype(report_activity.load())' (aka 'int (*)(activity_domain_t, unsigned int, void *)') casts away qualifiers report_activity.store(reinterpret_cast(function), ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ by replacing the 'const void *function' argument with the correct type. Change-Id: I912239daf6f4a3f00fc753306b84833e5c75f74b --- src/roctx/roctx.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/roctx/roctx.cpp b/src/roctx/roctx.cpp index c7baf57a32..b039e9ee5c 100644 --- a/src/roctx/roctx.cpp +++ b/src/roctx/roctx.cpp @@ -87,7 +87,8 @@ ROCTX_API void roctxRangeStop(roctx_range_id_t range_id) { ReportActivity(ROCTX_API_ID_roctxRangeStop, nullptr, range_id); } -extern "C" ROCTX_EXPORT void roctxRegisterTracerCallback(const void* function) { - report_activity.store(reinterpret_cast(function), - std::memory_order_relaxed); +extern "C" ROCTX_EXPORT void roctxRegisterTracerCallback(int (*function)(activity_domain_t domain, + uint32_t operation_id, + void* data)) { + report_activity.store(function, std::memory_order_relaxed); } From 799f0323cdaf5d020c9e8f8b24b2cd7e5571539f Mon Sep 17 00:00:00 2001 From: Laurent Morichetti Date: Tue, 18 Oct 2022 20:06:44 -0700 Subject: [PATCH 631/691] Report HSA_OPS activities using the ROCr driver_node_id instead of the device's index When multiple ranks are used, each rank's first logical device always has GPU ID 0, regardless of which physical device is selected with CUDA_VISIBLE_DEVICES. Because of this, when merging trace files from multiple ranks, GPU IDs from different processes may overlap. The long term solution is to use the KFD's gpu_id which is stable across APIs and processes. Unfortunately the gpu_id is not yet exposed by the ROCr, so for now use the driver's node id. Change-Id: I2f5af8d2a7e8a89efeb5e0a1b86bdfa547b25fc8 --- src/roctracer/hsa_support.cpp | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/roctracer/hsa_support.cpp b/src/roctracer/hsa_support.cpp index d6bfa7b4a0..31153987d3 100644 --- a/src/roctracer/hsa_support.cpp +++ b/src/roctracer/hsa_support.cpp @@ -61,7 +61,7 @@ AmdExtTable saved_amd_ext_api{}; hsa_ven_amd_loader_1_01_pfn_t hsa_loader_api{}; struct AgentInfo { - int index; + uint32_t id; hsa_device_type_t type; }; std::unordered_map agent_info_map; @@ -275,7 +275,7 @@ hsa_status_t MemoryPoolAllocateIntercept(hsa_amd_memory_pool_t pool, size_t size hsa_evt_data_t data{}; data.device.type = it->second.type; - data.device.id = it->second.index; + data.device.id = it->second.id; data.device.agent = agent; data.device.ptr = ptr; @@ -314,7 +314,7 @@ hsa_status_t AgentsAllowAccessIntercept(uint32_t num_agents, const hsa_agent_t* hsa_evt_data_t data{}; data.device.type = it->second.type; - data.device.id = it->second.index; + data.device.id = it->second.id; data.device.agent = agent; data.device.ptr = ptr; @@ -540,15 +540,20 @@ void Initialize(HsaApiTable* table) { switch (agent_info.type) { case HSA_DEVICE_TYPE_CPU: static int cpu_agent_count = 0; - agent_info.index = cpu_agent_count++; - break; - case HSA_DEVICE_TYPE_GPU: - static int gpu_agent_count = 0; - agent_info.index = gpu_agent_count++; + agent_info.id = cpu_agent_count++; break; + case HSA_DEVICE_TYPE_GPU: { + uint32_t driver_node_id; + if (hsa_support::saved_core_api.hsa_agent_get_info_fn( + agent, static_cast(HSA_AMD_AGENT_INFO_DRIVER_NODE_ID), + &driver_node_id) != HSA_STATUS_SUCCESS) + fatal("hsa_agent_get_info failed"); + + agent_info.id = driver_node_id; + } break; default: static int other_agent_count = 0; - agent_info.index = other_agent_count++; + agent_info.id = other_agent_count++; break; } hsa_support::agent_info_map.emplace(agent.handle, agent_info); From 0d6e5b1ceabb0b53b9f31e62a69c5f310bce9fc9 Mon Sep 17 00:00:00 2001 From: Laurent Morichetti Date: Thu, 3 Nov 2022 13:49:50 -0700 Subject: [PATCH 632/691] SWDEV-362165 - Escape strings in the API function's arguments Also escape '\', '"', '\b', '\f', '\n', '\r' and '\t'. Change-Id: I02cb1a0a511156661ff40700a81b0989a450aacc --- script/gen_ostream_ops.py | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/script/gen_ostream_ops.py b/script/gen_ostream_ops.py index ec762c4e22..2e4e662083 100755 --- a/script/gen_ostream_ops.py +++ b/script/gen_ostream_ops.py @@ -56,11 +56,22 @@ header_basic = \ ' inline static void print_escaped_string(std::ostream& out, const char *v, size_t len) {\n' + \ ' out << \'"\'; \n' + \ ' for (size_t i = 0; i < len && v[i]; ++i) {\n' + \ -' if (std::isprint((unsigned char)v[i])) std::operator<<(out, v[i]);\n' + \ -' else {\n' + \ -' std::ios_base::fmtflags flags(out.flags());\n' + \ -' out << "\\\\x" << std::setfill(\'0\') << std::setw(2) << std::hex << (unsigned int)(unsigned char)v[i];\n' + \ -' out.flags(flags);\n' + \ +' switch (v[i]) {\n' + \ +' case \'\\"\': out << "\\\\\\""; break;\n' + \ +' case \'\\\\\': out << "\\\\\\\\"; break;\n' + \ +' case \'\\b\': out << "\\\\\\b"; break;\n' + \ +' case \'\\f\': out << "\\\\\\f"; break;\n' + \ +' case \'\\n\': out << "\\\\\\n"; break;\n' + \ +' case \'\\r\': out << "\\\\\\r"; break;\n' + \ +' case \'\\t\': out << "\\\\\\t"; break;\n' + \ +' default:\n' + \ +' if (std::isprint((unsigned char)v[i])) std::operator<<(out, v[i]);\n' + \ +' else {\n' + \ +' std::ios_base::fmtflags flags(out.flags());\n' + \ +' out << "\\\\x" << std::setfill(\'0\') << std::setw(2) << std::hex << (unsigned int)(unsigned char)v[i];\n' + \ +' out.flags(flags);\n' + \ +' }\n' + \ +' break;\n' + \ ' }\n' + \ ' }\n' + \ ' out << \'"\'; \n' + \ From d835435b0d1dab4b555cb577baaa54241981d3e7 Mon Sep 17 00:00:00 2001 From: Ammar ELWazir Date: Wed, 16 Nov 2022 00:39:07 -0600 Subject: [PATCH 633/691] Fixing Readme.txt API Spec Documentation link fixed Change-Id: I0d0ef52eaa0e66b161cb042704c083e29b0db06f --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 0f0b5467ec..0698d18b5f 100644 --- a/README.md +++ b/README.md @@ -85,7 +85,7 @@ To use the rocTX API you need the API header and to link your application with ` ## Documentation - API description: - - ['roctracer' / 'rocTX' profiling C API specification](docroctracer_spec.md) + - ['roctracer' / 'rocTX' profiling C API specification](doc/roctracer_spec.md) - Code examples: - [test/MatrixTranspose_test/MatrixTranspose.cpp](testMatrixTranspose_test/MatrixTranspose.cpp) - [test/MatrixTranspose/MatrixTranspose.cpp](test/MatrixTranspose/MatrixTranspose.cpp) From b1585c983da6b0816afa36f74b7156d52fc159f9 Mon Sep 17 00:00:00 2001 From: Ranjith Ramakrishnan Date: Mon, 21 Nov 2022 16:34:55 -0800 Subject: [PATCH 634/691] SWDEV-369226 - Correct the usage of include file In the generated header file hsa_prof_str.h , the header file hsa_ostream_ops.h was included using angle brackets This results in compilation with include path /opt/rocm-ver/include. Corrected the usage by using double quotes Change-Id: Ie9f1fff78d16a6953a2c99056b2acef42e577204 --- script/hsaap.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/script/hsaap.py b/script/hsaap.py index ad65ff82c0..ffc5e5f636 100755 --- a/script/hsaap.py +++ b/script/hsaap.py @@ -503,7 +503,7 @@ class API_DescrParser: content = '' if n == -1: content += '#ifdef __cplusplus\n' - content += '#include \n' + content += '#include "hsa_ostream_ops.h"\n' content += 'typedef std::pair hsa_api_data_pair_t;\n' content += 'inline std::ostream& operator<< (std::ostream& out, const hsa_api_data_pair_t& data_pair) {\n' content += ' const uint32_t cid = data_pair.first;\n' From ca1726f80da34e6ccdfbc15f5c415bc574607a43 Mon Sep 17 00:00:00 2001 From: Ranjith Ramakrishnan Date: Tue, 15 Nov 2022 18:22:21 -0800 Subject: [PATCH 635/691] SWDEV-366823 - Change pragma message to warning File reorganization feature was implemented with backward compatibility The backward compatibility support will be deprecated in future release. Changed the #pragma message to #warning for a smooth transition Change-Id: I85e14470cce0f3d7c14ecb40e0e9e8b29c977c9f --- header_template.hpp.in | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/header_template.hpp.in b/header_template.hpp.in index 391788987b..2cd01969c6 100644 --- a/header_template.hpp.in +++ b/header_template.hpp.in @@ -23,7 +23,12 @@ #ifndef @include_guard@ #define @include_guard@ +#if defined(__GNUC__) +#warning "This file is deprecated. Use file from include path /opt/rocm-ver/include/ and prefix with roctracer" +#else #pragma message("This file is deprecated. Use file from include path /opt/rocm-ver/include/ and prefix with roctracer") +#endif + @include_statements@ #endif From 91b449d0d52beab1fdd409755d31958b08172c6e Mon Sep 17 00:00:00 2001 From: Laurent Morichetti Date: Mon, 5 Dec 2022 20:32:10 -0800 Subject: [PATCH 636/691] SWDEV-361912 - Fix kernel demangling Older GNU C++ runtimes cannot demangle symbol names generated by recent versions of LLVM. To work around this issue, use the LLVM demangler to process kernel names. Change-Id: I595f900d06360bb5acce542955cf1f5aed81f00e --- plugin/file/CMakeLists.txt | 10 +++++++++- plugin/file/file.cpp | 34 +++++++++++++++++++++++++++------- 2 files changed, 36 insertions(+), 8 deletions(-) diff --git a/plugin/file/CMakeLists.txt b/plugin/file/CMakeLists.txt index f0888aeee2..9770893e89 100644 --- a/plugin/file/CMakeLists.txt +++ b/plugin/file/CMakeLists.txt @@ -20,6 +20,14 @@ ## IN THE SOFTWARE. ################################################################################ +find_package(amd_comgr REQUIRED CONFIG + PATHS + /opt/rocm/ + PATH_SUFFIXES + lib/cmake/amd_comgr +) +MESSAGE(STATUS "Code Object Manager found at ${amd_comgr_DIR}.") + file(GLOB FILE_SOURCES "*.cpp") add_library(file_plugin ${LIBRARY_TYPE} ${FILE_SOURCES}) @@ -35,7 +43,7 @@ target_include_directories(file_plugin PRIVATE ${PROJECT_SOURCE_DIR}/inc) target_link_options(file_plugin PRIVATE -Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/../exportmap -Wl,--no-undefined) -target_link_libraries(file_plugin PRIVATE util roctracer hsa-runtime64::hsa-runtime64 stdc++fs) +target_link_libraries(file_plugin PRIVATE util roctracer amd_comgr hsa-runtime64::hsa-runtime64 stdc++fs amd_comgr) install(TARGETS file_plugin LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}/${PROJECT_NAME} diff --git a/plugin/file/file.cpp b/plugin/file/file.cpp index fc68a6e7cd..57bd65f3bf 100644 --- a/plugin/file/file.cpp +++ b/plugin/file/file.cpp @@ -36,7 +36,7 @@ #include #include -#include +#include #include #include #include @@ -103,14 +103,34 @@ std::string truncate_name(const std::string& name) { return name.substr(rend - rit, rit - rbeg); } +#define amd_comgr_(call) \ + do { \ + if (amd_comgr_status_t status = amd_comgr_##call; status != AMD_COMGR_STATUS_SUCCESS) { \ + const char* reason = ""; \ + amd_comgr_status_string(status, &reason); \ + fatal(#call " failed: %s", reason); \ + } \ + } while (false) + // C++ symbol demangle std::string cxx_demangle(const std::string& symbol) { - int status; - char* demangled = abi::__cxa_demangle(symbol.c_str(), nullptr, nullptr, &status); - if (status != 0) return symbol; - std::string ret(demangled); - free(demangled); - return ret; + amd_comgr_data_t mangled_data; + amd_comgr_(create_data(AMD_COMGR_DATA_KIND_BYTES, &mangled_data)); + amd_comgr_(set_data(mangled_data, symbol.size(), symbol.data())); + + amd_comgr_data_t demangled_data; + amd_comgr_(demangle_symbol_name(mangled_data, &demangled_data)); + + size_t demangled_size = 0; + amd_comgr_(get_data(demangled_data, &demangled_size, nullptr)); + + std::string demangled_str; + demangled_str.resize(demangled_size); + amd_comgr_(get_data(demangled_data, &demangled_size, demangled_str.data())); + + amd_comgr_(release_data(mangled_data)); + amd_comgr_(release_data(demangled_data)); + return demangled_str; } class file_plugin_t { From 9acba8b4a19d16f1993d8353c3d690d4d1465adc Mon Sep 17 00:00:00 2001 From: Ranjith Ramakrishnan Date: Tue, 17 Jan 2023 14:01:03 -0800 Subject: [PATCH 637/691] Split roctracer to runtime and dev/devel package SWDEV-356024 - Development package name will have suffix dev or devel based on OS Devel package contents - Header files, name link of public library files, html files and roctracer manual file Runtime package contents - Versioned public library files, private library files and license file Change-Id: I8ced3eab5d8824a66be39b9e777368506516b155 --- CMakeLists.txt | 26 +++++++++++++++++++------- roctracer-backward-compat.cmake | 4 ++-- src/CMakeLists.txt | 16 ++++++++++++---- 3 files changed, 33 insertions(+), 13 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 89125632d8..27437652d2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -76,7 +76,7 @@ message("-----------CPACK-dir: ${CPACK_PACKAGING_INSTALL_PREFIX}") ## Packaging directives set(CPACK_GENERATOR "DEB" "RPM" "TGZ" CACHE STRING "CPACK GENERATOR DEB;RPM") set(ENABLE_LDCONFIG ON CACHE BOOL "Set library links and caches using ldconfig.") -set(CPACK_PACKAGE_NAME "${PROJECT_NAME}-dev") +set(CPACK_PACKAGE_NAME "${PROJECT_NAME}") set(CPACK_PACKAGE_VENDOR "Advanced Micro Devices, Inc.") set(CPACK_PACKAGE_VERSION_MAJOR ${PROJECT_VERSION_MAJOR}) set(CPACK_PACKAGE_VERSION_MINOR ${PROJECT_VERSION_MINOR}) @@ -105,8 +105,10 @@ endif() message("Using CPACK_DEBIAN_PACKAGE_RELEASE ${CPACK_DEBIAN_PACKAGE_RELEASE}") set(CPACK_DEB_COMPONENT_INSTALL ON) set(CPACK_DEBIAN_FILE_NAME "DEB-DEFAULT") -set(CPACK_DEBIAN_RUNTIME_PACKAGE_NAME "${PROJECT_NAME}-dev") +set(CPACK_DEBIAN_RUNTIME_PACKAGE_NAME "${PROJECT_NAME}") set(CPACK_DEBIAN_RUNTIME_PACKAGE_DEPENDS "rocm-core") +set(CPACK_DEBIAN_DEV_PACKAGE_NAME "${PROJECT_NAME}-dev") +set(CPACK_DEBIAN_DEV_PACKAGE_DEPENDS "${PROJECT_NAME}, rocm-core") set(CPACK_DEBIAN_TESTS_PACKAGE_NAME "${PROJECT_NAME}-tests") set(CPACK_DEBIAN_TESTS_PACKAGE_DEPENDS "${PROJECT_NAME}-dev") @@ -132,18 +134,24 @@ if(PROC_RESULT EQUAL "0" AND NOT EVAL_RESULT STREQUAL "") endif() set(CPACK_RPM_COMPONENT_INSTALL ON) set(CPACK_RPM_FILE_NAME "RPM-DEFAULT") -set(CPACK_RPM_RUNTIME_PACKAGE_NAME "${PROJECT_NAME}-dev") +set(CPACK_RPM_RUNTIME_PACKAGE_NAME "${PROJECT_NAME}") set(CPACK_RPM_RUNTIME_PACKAGE_REQUIRES "rocm-core") +set(CPACK_RPM_DEV_PACKAGE_NAME "${PROJECT_NAME}-devel") +set(CPACK_RPM_DEV_PACKAGE_REQUIRES "${PROJECT_NAME}, rocm-core") +set(CPACK_RPM_DEV_PACKAGE_PROVIDES "${PROJECT_NAME}-dev") +set(CPACK_RPM_DEV_PACKAGE_OBSOLETES "${PROJECT_NAME}-dev") set(CPACK_RPM_TESTS_PACKAGE_NAME "${PROJECT_NAME}-tests") -set(CPACK_RPM_TESTS_PACKAGE_REQUIRES "${PROJECT_NAME}-dev") +set(CPACK_RPM_TESTS_PACKAGE_REQUIRES "${PROJECT_NAME}-devel") message("CPACK_RPM_PACKAGE_RELEASE: ${CPACK_RPM_PACKAGE_RELEASE}") if(NOT ROCM_DEP_ROCMCORE) string(REGEX REPLACE ",? ?rocm-core" "" CPACK_RPM_RUNTIME_PACKAGE_REQUIRES ${CPACK_RPM_RUNTIME_PACKAGE_REQUIRES}) + string(REGEX REPLACE ",? ?rocm-core" "" CPACK_RPM_DEV_PACKAGE_REQUIRES ${CPACK_RPM_DEV_PACKAGE_REQUIRES}) string(REGEX REPLACE ",? ?rocm-core" "" CPACK_DEBIAN_RUNTIME_PACKAGE_DEPENDS ${CPACK_DEBIAN_RUNTIME_PACKAGE_DEPENDS}) + string(REGEX REPLACE ",? ?rocm-core" "" CPACK_DEBIAN_DEV_PACKAGE_DEPENDS ${CPACK_DEBIAN_DEV_PACKAGE_DEPENDS}) endif() -set(CPACK_COMPONENTS_ALL runtime) +set(CPACK_COMPONENTS_ALL runtime dev) include(CPack) @@ -151,6 +159,10 @@ cpack_add_component(runtime DISPLAY_NAME "Runtime" DESCRIPTION "Dynamic libraries for the ROCtracer") +cpack_add_component(dev + DISPLAY_NAME "Devel" + DESCRIPTION "Header files and documentation for ROCtracer") + cpack_add_component(tests DISPLAY_NAME "Tests" DESCRIPTION "Tests for the ROCtracer" @@ -183,11 +195,11 @@ if(DOXYGEN_FOUND) DESTINATION ${CMAKE_INSTALL_DOCDIR} RENAME "roctracer.pdf" OPTIONAL - COMPONENT runtime) + COMPONENT dev) install(DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/doc/html/" DESTINATION ${CMAKE_INSTALL_DATADIR}/html/${PROJECT_NAME} OPTIONAL - COMPONENT runtime) + COMPONENT dev) endif() diff --git a/roctracer-backward-compat.cmake b/roctracer-backward-compat.cmake index dd7a612ae6..36b49ea7b9 100644 --- a/roctracer-backward-compat.cmake +++ b/roctracer-backward-compat.cmake @@ -109,8 +109,8 @@ endfunction() #Use template header file and generater wrapper header files generate_wrapper_header() -install(DIRECTORY ${ROCT_WRAPPER_INC_DIR} DESTINATION ${PROJECT_NAME} COMPONENT runtime) +install(DIRECTORY ${ROCT_WRAPPER_INC_DIR} DESTINATION ${PROJECT_NAME} COMPONENT dev) create_library_symlink() -install(DIRECTORY ${ROCT_WRAPPER_LIB_DIR} DESTINATION ${PROJECT_NAME} COMPONENT runtime) +install(DIRECTORY ${ROCT_WRAPPER_LIB_DIR} DESTINATION ${PROJECT_NAME} COMPONENT dev) #install soft link to tool #install(DIRECTORY ${ROCT_WRAPPER_TOOL_DIR} DESTINATION ${PROJECT_NAME}) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 90bd2e9045..3505cf062b 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -107,7 +107,7 @@ foreach(header ${PUBLIC_HEADERS}) get_filename_component(header_subdir ${header} DIRECTORY) install(FILES ${PROJECT_SOURCE_DIR}/inc/${header} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${PROJECT_NAME}/${header_subdir} - COMPONENT runtime) + COMPONENT dev) endforeach() set(GENERATED_HEADERS @@ -118,7 +118,7 @@ set(GENERATED_HEADERS foreach(header ${GENERATED_HEADERS}) install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${header} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${PROJECT_NAME} - COMPONENT runtime) + COMPONENT dev) endforeach() ## Build the util library @@ -170,7 +170,11 @@ target_link_libraries(roctracer PRIVATE util hsa-runtime64::hsa-runtime64 stdc++ install(TARGETS roctracer LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} - COMPONENT runtime) + COMPONENT runtime NAMELINK_SKIP) +## Install name link library in dev component +install(TARGETS roctracer LIBRARY + DESTINATION ${CMAKE_INSTALL_LIBDIR} + COMPONENT dev NAMELINK_ONLY) ## Build the ROCTX library file(GLOB ROCTX_SOURCES "roctx/*.cpp") @@ -192,7 +196,11 @@ target_link_options(roctx PRIVATE -Wl,--version-script=${CMAKE_CURRENT_SOURCE_DI install(TARGETS roctx LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} - COMPONENT runtime) + COMPONENT runtime NAMELINK_SKIP) +## Install name link library in dev component +install(TARGETS roctx LIBRARY + DESTINATION ${CMAKE_INSTALL_LIBDIR} + COMPONENT dev NAMELINK_ONLY) ## Build the tracer_tool library if (${LIBRARY_TYPE} STREQUAL SHARED) From 397b3b10af05a8cfc3dbfa6949cf32e8e9e07f14 Mon Sep 17 00:00:00 2001 From: Kiumars Sabeti Date: Tue, 24 Jan 2023 18:27:58 -0500 Subject: [PATCH 638/691] SWDEV-360818: Reserved fields of hip structures are undefined. Because of that, reserved fields may contain special characters that are not readable by postprocessing Python script. To patch this issue, here we modify script that generates hip_ostream_ops.h to set reserved fields of hip structures to 0. Change-Id: I0cda5cedfa30b140f121803dd8c066107ae0756e --- script/gen_ostream_ops.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/script/gen_ostream_ops.py b/script/gen_ostream_ops.py index 2e4e662083..8239f5860b 100755 --- a/script/gen_ostream_ops.py +++ b/script/gen_ostream_ops.py @@ -154,7 +154,10 @@ def process_struct(file_handle, cppHeader_struct, cppHeader, parent_hier_name, a str += " if (std::string(\"" + cppHeader_struct + "::" + name + "\").find(" + apiname.upper() + "_structs_regex" + ") != std::string::npos) {\n" indent = " " str += indent + " std::operator<<(out, \"" + name + "=\");\n" - str += indent + " roctracer::" + apiname.lower() + "_support::detail::operator<<(out, v." + name + ");\n" + if (name == 'reserved' and apiname.upper() == 'HIP'): + str += indent + " roctracer::" + apiname.lower() + "_support::detail::operator<<(out, 0);\n" + else: + str += indent + " roctracer::" + apiname.lower() + "_support::detail::operator<<(out, v." + name + ");\n" str += indent + " std::operator<<(out, \", \");\n" str += " }\n" if "void" not in mtype: From ee3321f2dc7290a5b4d0cdcd5f53609f640240f4 Mon Sep 17 00:00:00 2001 From: Ranjith Ramakrishnan Date: Wed, 8 Feb 2023 17:25:28 -0800 Subject: [PATCH 639/691] SWDEV-366831 - File reorg backward compatibility message changed to #error Change-Id: I403c34722e6516c60c217ed1b883066e248c598b --- header_template.hpp.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/header_template.hpp.in b/header_template.hpp.in index 2cd01969c6..e676774b28 100644 --- a/header_template.hpp.in +++ b/header_template.hpp.in @@ -24,7 +24,7 @@ #define @include_guard@ #if defined(__GNUC__) -#warning "This file is deprecated. Use file from include path /opt/rocm-ver/include/ and prefix with roctracer" +#error "This file is deprecated. Use file from include path /opt/rocm-ver/include/ and prefix with roctracer" #else #pragma message("This file is deprecated. Use file from include path /opt/rocm-ver/include/ and prefix with roctracer") #endif From 4edc9727bdf227e5bdbed0e132d541c3d00027df Mon Sep 17 00:00:00 2001 From: AravindanC Date: Fri, 2 Dec 2022 14:19:14 -0800 Subject: [PATCH 640/691] SWDEV-351540 - ASAN packaging for roctracer Change-Id: If23c92e785fbbeb27034a8958568dd86b847beed --- CMakeLists.txt | 23 ++++++++++++++++++++++- plugin/file/CMakeLists.txt | 6 +++++- src/CMakeLists.txt | 15 ++++++++++++++- 3 files changed, 41 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 27437652d2..0258262ff2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -96,6 +96,10 @@ install(FILES ${CPACK_RESOURCE_FILE_LICENSE} DESTINATION ${CMAKE_INSTALL_DOCDIR} COMPONENT runtime) +install(FILES ${CPACK_RESOURCE_FILE_LICENSE} + DESTINATION ${CMAKE_INSTALL_DOCDIR}-asan + COMPONENT asan) + ## Debian package specific variables if(DEFINED ENV{CPACK_DEBIAN_PACKAGE_RELEASE}) set(CPACK_DEBIAN_PACKAGE_RELEASE $ENV{CPACK_DEBIAN_PACKAGE_RELEASE}) @@ -111,6 +115,9 @@ set(CPACK_DEBIAN_DEV_PACKAGE_NAME "${PROJECT_NAME}-dev") set(CPACK_DEBIAN_DEV_PACKAGE_DEPENDS "${PROJECT_NAME}, rocm-core") set(CPACK_DEBIAN_TESTS_PACKAGE_NAME "${PROJECT_NAME}-tests") set(CPACK_DEBIAN_TESTS_PACKAGE_DEPENDS "${PROJECT_NAME}-dev") +# Debian package specific variable for ASAN +set(CPACK_DEBIAN_ASAN_PACKAGE_NAME "${PROJECT_NAME}-asan" ) +set(CPACK_DEBIAN_ASAN_PACKAGE_DEPENDS "rocm-core-asan" ) ## RPM package specific variables if(DEFINED ENV{CPACK_RPM_PACKAGE_RELEASE}) @@ -143,15 +150,25 @@ set(CPACK_RPM_DEV_PACKAGE_OBSOLETES "${PROJECT_NAME}-dev") set(CPACK_RPM_TESTS_PACKAGE_NAME "${PROJECT_NAME}-tests") set(CPACK_RPM_TESTS_PACKAGE_REQUIRES "${PROJECT_NAME}-devel") message("CPACK_RPM_PACKAGE_RELEASE: ${CPACK_RPM_PACKAGE_RELEASE}") +# RPM package specific variable for ASAN +set(CPACK_RPM_ASAN_PACKAGE_NAME "${PROJECT_NAME}-asan" ) +set(CPACK_RPM_ASAN_PACKAGE_REQUIRES "rocm-core-asan" ) if(NOT ROCM_DEP_ROCMCORE) string(REGEX REPLACE ",? ?rocm-core" "" CPACK_RPM_RUNTIME_PACKAGE_REQUIRES ${CPACK_RPM_RUNTIME_PACKAGE_REQUIRES}) string(REGEX REPLACE ",? ?rocm-core" "" CPACK_RPM_DEV_PACKAGE_REQUIRES ${CPACK_RPM_DEV_PACKAGE_REQUIRES}) + string(REGEX REPLACE ",? ?rocm-core-asan" "" CPACK_RPM_ASAN_PACKAGE_REQUIRES ${CPACK_RPM_ASAN_PACKAGE_REQUIRES}) string(REGEX REPLACE ",? ?rocm-core" "" CPACK_DEBIAN_RUNTIME_PACKAGE_DEPENDS ${CPACK_DEBIAN_RUNTIME_PACKAGE_DEPENDS}) string(REGEX REPLACE ",? ?rocm-core" "" CPACK_DEBIAN_DEV_PACKAGE_DEPENDS ${CPACK_DEBIAN_DEV_PACKAGE_DEPENDS}) + string(REGEX REPLACE ",? ?rocm-core-asan" "" CPACK_DEBIAN_ASAN_PACKAGE_DEPENDS ${CPACK_DEBIAN_ASAN_PACKAGE_DEPENDS}) endif() -set(CPACK_COMPONENTS_ALL runtime dev) +if(ENABLE_ASAN_PACKAGING) + # ASAN Package requires asan component with only libraries and license file + set(CPACK_COMPONENTS_ALL asan) +else() + set(CPACK_COMPONENTS_ALL runtime dev) +endif() include(CPack) @@ -168,6 +185,10 @@ cpack_add_component(tests DESCRIPTION "Tests for the ROCtracer" DEPENDS runtime) +cpack_add_component(asan + DISPLAY_NAME "ASAN" + DESCRIPTION "ASAN libraries for the ROCtracer") + endif() find_package(Doxygen) diff --git a/plugin/file/CMakeLists.txt b/plugin/file/CMakeLists.txt index 9770893e89..bf031f4083 100644 --- a/plugin/file/CMakeLists.txt +++ b/plugin/file/CMakeLists.txt @@ -47,4 +47,8 @@ target_link_libraries(file_plugin PRIVATE util roctracer amd_comgr hsa-runtime6 install(TARGETS file_plugin LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}/${PROJECT_NAME} - COMPONENT runtime) \ No newline at end of file + COMPONENT runtime) + +install(TARGETS file_plugin LIBRARY + DESTINATION ${CMAKE_INSTALL_LIBDIR}/${PROJECT_NAME} + COMPONENT asan) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 3505cf062b..e1366e6bca 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -176,6 +176,10 @@ install(TARGETS roctracer LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT dev NAMELINK_ONLY) +install(TARGETS roctracer LIBRARY + DESTINATION ${CMAKE_INSTALL_LIBDIR} + COMPONENT asan) + ## Build the ROCTX library file(GLOB ROCTX_SOURCES "roctx/*.cpp") add_library(roctx ${LIBRARY_TYPE} ${ROCTX_SOURCES}) @@ -202,6 +206,10 @@ install(TARGETS roctx LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT dev NAMELINK_ONLY) +install(TARGETS roctx LIBRARY + DESTINATION ${CMAKE_INSTALL_LIBDIR} + COMPONENT asan) + ## Build the tracer_tool library if (${LIBRARY_TYPE} STREQUAL SHARED) @@ -224,15 +232,20 @@ target_link_libraries(roctracer_tool util roctracer hsa-runtime64::hsa-runtime64 target_link_options(roctracer_tool PRIVATE -Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/tracer_tool/exportmap -Wl,--no-undefined) install(TARGETS roctracer_tool LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}/${PROJECT_NAME} COMPONENT runtime) +install(TARGETS roctracer_tool LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}/${PROJECT_NAME} COMPONENT asan) add_library(hip_stats SHARED hip_stats/hip_stats.cpp) target_compile_definitions(hip_stats PRIVATE __HIP_PLATFORM_AMD__) target_link_libraries(hip_stats roctracer stdc++fs) install(TARGETS hip_stats LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}/${PROJECT_NAME} COMPONENT runtime) +install(TARGETS hip_stats LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}/${PROJECT_NAME} COMPONENT asan) endif() -option(FILE_REORG_BACKWARD_COMPATIBILITY "Enable File Reorg with backward compatibility" ON) +if(NOT ENABLE_ASAN_PACKAGING) + option(FILE_REORG_BACKWARD_COMPATIBILITY "Enable File Reorg with backward compatibility" ON) +endif() + if(FILE_REORG_BACKWARD_COMPATIBILITY) include(${PROJECT_SOURCE_DIR}/roctracer-backward-compat.cmake) endif() From ea061be2d19b081d1d67d195290a10462a6392d1 Mon Sep 17 00:00:00 2001 From: Ranjith Ramakrishnan Date: Fri, 10 Mar 2023 09:11:52 -0800 Subject: [PATCH 641/691] SWDEV-366831 - Compile time flag to switch between #warning and #error message Using backward compatibility paths will provide an #error message. Compile time option added to enable/disable the #error message. Disabling the same will provide a #warning message Change-Id: I6abc236e810ccc38d3636074e0e8f5a9657c2e9a --- header_template.hpp.in | 9 ++++++++- src/CMakeLists.txt | 14 ++++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/header_template.hpp.in b/header_template.hpp.in index e676774b28..627fefd040 100644 --- a/header_template.hpp.in +++ b/header_template.hpp.in @@ -23,11 +23,18 @@ #ifndef @include_guard@ #define @include_guard@ -#if defined(__GNUC__) +#ifndef ROCM_HEADER_WRAPPER_WERROR +#define ROCM_HEADER_WRAPPER_WERROR @deprecated_error@ +#endif +#if ROCM_HEADER_WRAPPER_WERROR /* ROCM_HEADER_WRAPPER_WERROR 1 */ #error "This file is deprecated. Use file from include path /opt/rocm-ver/include/ and prefix with roctracer" +#else /* ROCM_HEADER_WRAPPER_WERROR 0 */ +#if defined(__GNUC__) +#warning "This file is deprecated. Use file from include path /opt/rocm-ver/include/ and prefix with roctracer" #else #pragma message("This file is deprecated. Use file from include path /opt/rocm-ver/include/ and prefix with roctracer") #endif +#endif /* ROCM_HEADER_WRAPPER_WERROR */ @include_statements@ diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index e1366e6bca..80598d24d3 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -247,5 +247,19 @@ if(NOT ENABLE_ASAN_PACKAGING) endif() if(FILE_REORG_BACKWARD_COMPATIBILITY) +## To enable/disable #error in wrapper header files + if(NOT DEFINED ROCM_HEADER_WRAPPER_WERROR) + if(DEFINED ENV{ROCM_HEADER_WRAPPER_WERROR}) + set(ROCM_HEADER_WRAPPER_WERROR "$ENV{ROCM_HEADER_WRAPPER_WERROR}" + CACHE STRING "Header wrapper warnings as errors.") + else() + set(ROCM_HEADER_WRAPPER_WERROR "ON" CACHE STRING "Header wrapper warnings as errors.") + endif() + endif() + if(ROCM_HEADER_WRAPPER_WERROR) + set(deprecated_error 1) + else() + set(deprecated_error 0) + endif() include(${PROJECT_SOURCE_DIR}/roctracer-backward-compat.cmake) endif() From 245eafea4cea5cbde97bf8e3d39fb1dc8aa429b5 Mon Sep 17 00:00:00 2001 From: Ranjith Ramakrishnan Date: Mon, 8 May 2023 16:16:36 -0700 Subject: [PATCH 642/691] SWDEV-383221 - Set the default value of ROCM_HEADER_WRAPPER_WERROR to OFF Using wrapper header files will result in #warning message by default Change-Id: Ib8a05d11f2391dfcdac8601da26e1096821cd555 --- src/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 80598d24d3..1bf88004c4 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -253,7 +253,7 @@ if(FILE_REORG_BACKWARD_COMPATIBILITY) set(ROCM_HEADER_WRAPPER_WERROR "$ENV{ROCM_HEADER_WRAPPER_WERROR}" CACHE STRING "Header wrapper warnings as errors.") else() - set(ROCM_HEADER_WRAPPER_WERROR "ON" CACHE STRING "Header wrapper warnings as errors.") + set(ROCM_HEADER_WRAPPER_WERROR "OFF" CACHE STRING "Header wrapper warnings as errors.") endif() endif() if(ROCM_HEADER_WRAPPER_WERROR) From ee713682a11fbebaf61c1cc7fced2cb5aac8e32a Mon Sep 17 00:00:00 2001 From: gobhardw Date: Fri, 12 May 2023 20:29:22 +0530 Subject: [PATCH 643/691] SWDEV-398161, SWDEV-398764 Fixed hsa-trace failures for profiling data corrupted Change-Id: I3d8dbb2a40d948cd06cb1278acc50dc5be4ca0ef --- src/roctracer/hsa_support.cpp | 44 +++++++++++++++++++++++++++++++---- 1 file changed, 39 insertions(+), 5 deletions(-) diff --git a/src/roctracer/hsa_support.cpp b/src/roctracer/hsa_support.cpp index 31153987d3..c5ca4640d1 100644 --- a/src/roctracer/hsa_support.cpp +++ b/src/roctracer/hsa_support.cpp @@ -27,6 +27,7 @@ #include "roctracer.h" #include "roctracer_hsa.h" +#include #include #include #include @@ -415,11 +416,13 @@ hsa_status_t ExecutableDestroyIntercept(hsa_executable_t executable) { return saved_core_api.hsa_executable_destroy_fn(executable); } -bool profiling_async_copy_enable = false; +std::atomic profiling_async_copy_enable{false}; hsa_status_t ProfilingAsyncCopyEnableIntercept(bool enable) { hsa_status_t status = saved_amd_ext_api.hsa_amd_profiling_async_copy_enable_fn(enable); - if (status == HSA_STATUS_SUCCESS) profiling_async_copy_enable = enable; + if (status == HSA_STATUS_SUCCESS) { + profiling_async_copy_enable.exchange(enable, std::memory_order_release); + } return status; } @@ -434,6 +437,36 @@ void MemoryASyncCopyHandler(const Tracker::entry_t* entry) { ReportActivity(ACTIVITY_DOMAIN_HSA_OPS, HSA_OP_ID_COPY, &record); } +hsa_status_t MemoryASyncCopyOnEngineIntercept( + void* dst, hsa_agent_t dst_agent, const void* src, hsa_agent_t src_agent, size_t size, + uint32_t num_dep_signals, const hsa_signal_t* dep_signals, hsa_signal_t completion_signal, + hsa_amd_sdma_engine_id_t engine_id, bool force_copy_on_sdma) { + bool is_enabled = IsEnabled(ACTIVITY_DOMAIN_HSA_OPS, HSA_OP_ID_COPY); + + // FIXME: what happens if the state changes before returning? + [[maybe_unused]] hsa_status_t status = saved_amd_ext_api.hsa_amd_profiling_async_copy_enable_fn( + profiling_async_copy_enable.load(std::memory_order_relaxed) || is_enabled); + assert(status == HSA_STATUS_SUCCESS && "hsa_amd_profiling_async_copy_enable failed"); + + if (!is_enabled) { + return saved_amd_ext_api.hsa_amd_memory_async_copy_on_engine_fn( + dst, dst_agent, src, src_agent, size, num_dep_signals, dep_signals, completion_signal, + engine_id, force_copy_on_sdma); + } + + Tracker::entry_t* entry = new Tracker::entry_t(); + entry->handler = MemoryASyncCopyHandler; + entry->correlation_id = CorrelationId(); + Tracker::Enable(Tracker::COPY_ENTRY_TYPE, hsa_agent_t{}, completion_signal, entry); + + status = saved_amd_ext_api.hsa_amd_memory_async_copy_on_engine_fn( + dst, dst_agent, src, src_agent, size, num_dep_signals, dep_signals, entry->signal, engine_id, + force_copy_on_sdma); + if (status != HSA_STATUS_SUCCESS) Tracker::Disable(entry); + + return status; +} + hsa_status_t MemoryASyncCopyIntercept(void* dst, hsa_agent_t dst_agent, const void* src, hsa_agent_t src_agent, size_t size, uint32_t num_dep_signals, const hsa_signal_t* dep_signals, @@ -442,7 +475,7 @@ hsa_status_t MemoryASyncCopyIntercept(void* dst, hsa_agent_t dst_agent, const vo // FIXME: what happens if the state changes before returning? [[maybe_unused]] hsa_status_t status = saved_amd_ext_api.hsa_amd_profiling_async_copy_enable_fn( - profiling_async_copy_enable | is_enabled); + profiling_async_copy_enable.load(std::memory_order_relaxed) || is_enabled); assert(status == HSA_STATUS_SUCCESS && "hsa_amd_profiling_async_copy_enable failed"); if (!is_enabled) { @@ -473,7 +506,7 @@ hsa_status_t MemoryASyncCopyRectIntercept(const hsa_pitched_ptr_t* dst, // FIXME: what happens if the state changes before returning? [[maybe_unused]] hsa_status_t status = saved_amd_ext_api.hsa_amd_profiling_async_copy_enable_fn( - profiling_async_copy_enable | is_enabled); + profiling_async_copy_enable.load(std::memory_order_relaxed) || is_enabled); assert(status == HSA_STATUS_SUCCESS && "hsa_amd_profiling_async_copy_enable failed"); if (!is_enabled) { @@ -570,6 +603,7 @@ void Initialize(HsaApiTable* table) { // Install the HSA_OPS intercept table->amd_ext_->hsa_amd_memory_async_copy_fn = MemoryASyncCopyIntercept; table->amd_ext_->hsa_amd_memory_async_copy_rect_fn = MemoryASyncCopyRectIntercept; + table->amd_ext_->hsa_amd_memory_async_copy_on_engine_fn = MemoryASyncCopyOnEngineIntercept; table->amd_ext_->hsa_amd_profiling_async_copy_enable_fn = ProfilingAsyncCopyEnableIntercept; // Install the HSA_EVT intercept @@ -590,7 +624,7 @@ void Initialize(HsaApiTable* table) { void Finalize() { if (hsa_status_t status = - saved_amd_ext_api.hsa_amd_profiling_async_copy_enable_fn(profiling_async_copy_enable); + saved_amd_ext_api.hsa_amd_profiling_async_copy_enable_fn(profiling_async_copy_enable.load(std::memory_order_relaxed)); status != HSA_STATUS_SUCCESS) assert(!"hsa_amd_profiling_async_copy_enable failed"); From 2a9595bc8f00a171c955a55b7d2ae9ff7a6efbd9 Mon Sep 17 00:00:00 2001 From: Ammar ELWazir Date: Tue, 2 May 2023 18:12:00 +0000 Subject: [PATCH 644/691] SWDEV-340925 & ROCMOPS-4997: Fixing Tests package for roctracer Change-Id: I9913e1df86398ef79a5afcf4b89b5a132d61422c --- CMakeLists.txt | 2 +- script/check_trace.py | 2 +- test/CMakeLists.txt | 23 ++++++++++++++++++----- test/run.sh | 22 ++++++++++++++++------ 4 files changed, 36 insertions(+), 13 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 0258262ff2..d6aebaef94 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -167,7 +167,7 @@ if(ENABLE_ASAN_PACKAGING) # ASAN Package requires asan component with only libraries and license file set(CPACK_COMPONENTS_ALL asan) else() - set(CPACK_COMPONENTS_ALL runtime dev) + set(CPACK_COMPONENTS_ALL runtime dev tests) endif() include(CPack) diff --git a/script/check_trace.py b/script/check_trace.py index 062279a403..dca922d8f0 100755 --- a/script/check_trace.py +++ b/script/check_trace.py @@ -154,7 +154,7 @@ def check_trace_status(tracename, verbose, check_trace_flag): return 0 trace = 'test/golden_traces/' + tracename + '.txt' - rtrace = 'test/out/' + tracename + '.out' + rtrace = '/tmp/test/out/' + tracename + '.out' if os.path.basename(tracename) in trace2info.keys(): (trace_level, no_events_cnt, events2ignore, events2chkcnt, events2chkord, events2ch) = trace2info[os.path.basename(tracename)] trace_level = trace_level.rstrip('\n') diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index c7c5903b88..f8c5e8238d 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -43,6 +43,8 @@ add_custom_target(check COMMAND ${PROJECT_BINARY_DIR}/run.sh DEPENDS mytest) ## Build MatrixTranspose set_source_files_properties(hip/MatrixTranspose.cpp PROPERTIES HIP_SOURCE_PROPERTY_FORMAT 1) hip_add_executable(MatrixTranspose hip/MatrixTranspose.cpp) +## Adding generated build-id as hip_add_executable doesn't generate automatically +target_link_options(MatrixTranspose PRIVATE "-Wl,--build-id=md5") target_include_directories(MatrixTranspose PRIVATE ${PROJECT_SOURCE_DIR}/inc) target_link_libraries(MatrixTranspose PRIVATE roctracer roctx) add_dependencies(mytest MatrixTranspose) @@ -51,6 +53,8 @@ add_dependencies(mytest MatrixTranspose) set_source_files_properties(app/MatrixTranspose_test.cpp PROPERTIES HIP_SOURCE_PROPERTY_FORMAT 1) function(build_matrix_transpose_test OUTPUT_FILE DEFINITIONS) hip_add_executable(${OUTPUT_FILE} app/MatrixTranspose_test.cpp) + ## Adding generated build-id as hip_add_executable doesn't generate automatically + target_link_options(${OUTPUT_FILE} PRIVATE "-Wl,--build-id=md5") target_compile_definitions(${OUTPUT_FILE} PRIVATE ITERATIONS=100 HIP_TEST=1 ${DEFINITIONS}) target_include_directories(${OUTPUT_FILE} PRIVATE ${PROJECT_SOURCE_DIR}/inc) target_link_libraries(${OUTPUT_FILE} PRIVATE roctracer roctx) @@ -65,6 +69,8 @@ build_matrix_transpose_test(MatrixTranspose_mgpu MGPU_TEST=1) add_custom_command(OUTPUT MatrixTranspose.c COMMAND ${CMAKE_COMMAND} -E create_symlink ${CMAKE_CURRENT_SOURCE_DIR}/app/MatrixTranspose_test.cpp MatrixTranspose.c) hip_add_executable(MatrixTranspose_ctest MatrixTranspose.c) +## Adding generated build-id as hip_add_executable doesn't generate automatically +target_link_options(MatrixTranspose_ctest PRIVATE "-Wl,--build-id=md5") target_compile_definitions(MatrixTranspose_ctest PRIVATE HIP_TEST=0 __HIP_PLATFORM_HCC__) target_include_directories(MatrixTranspose_ctest PRIVATE ${PROJECT_SOURCE_DIR}/inc) target_link_libraries(MatrixTranspose_ctest PRIVATE roctracer roctx) @@ -75,6 +81,7 @@ add_library(codeobj_test SHARED app/codeobj_test.cpp) target_include_directories(codeobj_test PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} ${PROJECT_SOURCE_DIR} ${PROJECT_SOURCE_DIR}/inc) target_link_libraries(codeobj_test roctracer) add_dependencies(mytest codeobj_test) +install(TARGETS codeobj_test DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/${PROJECT_NAME}/test COMPONENT tests) ## Build the hsa (standalone) copy test function(generate_hsaco TARGET_ID INPUT_FILE OUTPUT_FILE) @@ -87,7 +94,7 @@ function(generate_hsaco TARGET_ID INPUT_FILE OUTPUT_FILE) DEPENDS ${INPUT_FILE} clang COMMENT "Building ${OUTPUT_FILE}..." VERBATIM) - install(FILES ${PROJECT_BINARY_DIR}/${OUTPUT_FILE} DESTINATION test/${PROJECT_NAME} COMPONENT tests) + install(FILES ${PROJECT_BINARY_DIR}/${OUTPUT_FILE} DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/${PROJECT_NAME} COMPONENT tests) set(HSACO_TARGET_LIST ${HSACO_TARGET_LIST} ${PROJECT_BINARY_DIR}/${OUTPUT_FILE} PARENT_SCOPE) endfunction(generate_hsaco) @@ -105,6 +112,8 @@ add_dependencies(mytest copy) ## Build the ROCTX test set_source_files_properties(app/roctx_test.cpp PROPERTIES HIP_SOURCE_PROPERTY_FORMAT 1) hip_add_executable(roctx_test app/roctx_test.cpp) +## Adding generated build-id as hip_add_executable doesn't generate automatically +target_link_options(roctx_test PRIVATE "-Wl,--build-id=md5") target_link_libraries(roctx_test Threads::Threads roctx) add_dependencies(mytest roctx_test) @@ -132,12 +141,16 @@ add_dependencies(mytest memory_pool) ## Build the activity_and_callback test set_source_files_properties(directed/activity_and_callback.cpp PROPERTIES HIP_SOURCE_PROPERTY_FORMAT 1) hip_add_executable(activity_and_callback directed/activity_and_callback.cpp) +## Adding generated build-id as hip_add_executable doesn't generate automatically +target_link_options(activity_and_callback PRIVATE "-Wl,--build-id=md5") target_link_libraries(activity_and_callback roctracer) add_dependencies(mytest activity_and_callback) ## Build the multi_pool_activities test set_source_files_properties(directed/multi_pool_activities.cpp PROPERTIES HIP_SOURCE_PROPERTY_FORMAT 1) hip_add_executable(multi_pool_activities directed/multi_pool_activities.cpp) +## Adding generated build-id as hip_add_executable doesn't generate automatically +target_link_options(multi_pool_activities PRIVATE "-Wl,--build-id=md5") target_link_libraries(multi_pool_activities roctracer) add_dependencies(mytest multi_pool_activities) @@ -150,16 +163,16 @@ add_dependencies(mytest dlopen) ## Copy the golden traces and test scripts configure_file(run.sh ${PROJECT_BINARY_DIR} COPYONLY) execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink run.sh ${PROJECT_BINARY_DIR}/run_ci.sh) -install(PROGRAMS ${PROJECT_BINARY_DIR}/run.sh DESTINATION test/${PROJECT_NAME} COMPONENT tests) +install(PROGRAMS ${PROJECT_BINARY_DIR}/run.sh RENAME "run_tests.sh" DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/${PROJECT_NAME} COMPONENT tests) configure_file(${PROJECT_SOURCE_DIR}/script/check_trace.py ${PROJECT_BINARY_DIR}/test/check_trace.py COPYONLY) -install(PROGRAMS ${PROJECT_BINARY_DIR}/test/check_trace.py DESTINATION test/${PROJECT_NAME}/test COMPONENT tests) +install(PROGRAMS ${PROJECT_BINARY_DIR}/test/check_trace.py DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/${PROJECT_NAME}/test COMPONENT tests) file(GLOB files RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "golden_traces/tests_trace_cmp_levels.txt" "golden_traces/*_trace.txt") foreach(file ${files}) configure_file(${file} ${PROJECT_BINARY_DIR}/test/${file} COPYONLY) endforeach() -install(DIRECTORY ${PROJECT_BINARY_DIR}/test/golden_traces DESTINATION test/${PROJECT_NAME}/test COMPONENT tests) +install(DIRECTORY ${PROJECT_BINARY_DIR}/test/golden_traces DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/${PROJECT_NAME}/test COMPONENT tests) # install all executables set(all_executables) @@ -170,4 +183,4 @@ foreach(target IN LISTS all_targets) list(APPEND all_executables ${target}) endif() endforeach() -install(TARGETS ${all_executables} DESTINATION test/${PROJECT_NAME}/test COMPONENT tests) +install(TARGETS ${all_executables} DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/${PROJECT_NAME}/test COMPONENT tests) diff --git a/test/run.sh b/test/run.sh index 7cd1cbd5d2..9cb5bb5158 100755 --- a/test/run.sh +++ b/test/run.sh @@ -27,6 +27,12 @@ BIN_NAME=`basename $0` BIN_DIR=`dirname $0` cd $BIN_DIR +if [ -z "$ROCTRACER_LIB_PATH" ] ; then + if test -f "${BIN_DIR}/../../lib/libroctracer64.so" ; then + ROCTRACER_LIB_PATH="${BIN_DIR}/../../lib" + fi +fi + # enable tools load failure reporting export HSA_TOOLS_REPORT_LOAD_FAILURE=1 # paths to ROC profiler and other libraries @@ -38,7 +44,11 @@ if [ -z "$ROCTRACER_LIB_PATH" ] ; then ROCTRACER_LIB_PATH="." fi if [ -z "$ROCTRACER_TOOL_PATH" ] ; then - ROCTRACER_TOOL_PATH="." + if test -f "${BIN_DIR}/../../lib/roctracer/libroctracer_tool.so" ; then + ROCTRACER_TOOL_PATH="${BIN_DIR}/../../lib/roctracer" + else + ROCTRACER_TOOL_PATH="." + fi fi # test filter input @@ -79,15 +89,15 @@ eval_test() { if [ $test_filter = -1 -o $test_filter = $test_number ] ; then echo "test $test_number: $test_name \"$label\"" echo "CMD: \"$cmdline\"" - mkdir -p test/out + mkdir -p /tmp/test/out test_runnum=$((test_runnum + 1)) - eval "$cmdline" 1>test/out/$test_name.out 2>test/out/$test_name.err + eval "$cmdline" 1>/tmp/test/out/$test_name.out 2>/tmp/test/out/$test_name.err is_failed=$? if [ $is_failed != 0 ] ; then echo "--- stdout ---" - cat test/out/$test_name.out + cat /tmp/test/out/$test_name.out echo "--- stderr ---" - cat test/out/$test_name.err + cat /tmp/test/out/$test_name.err fi if [ $is_failed = 0 ] ; then python3 ./test/check_trace.py -in $test_name -ck $check_trace_flag @@ -169,7 +179,7 @@ unset ROCP_INPUT # Check that the tracer tool can be unloaded and then reloaded. eval_test "Load/Unload/Reload the tracer tool" ./test/load_unload_reload_test load_unload_reload_trace -export LD_PRELOAD=./test/libcodeobj_test.so +export LD_PRELOAD=${BIN_DIR}/test/libcodeobj_test.so eval_test "tool tracer codeobj" ./test/MatrixTranspose code_obj_trace unset LD_PRELOAD From 04d0bd48740895e0cb6e420dbeb4b1f18f71d5a0 Mon Sep 17 00:00:00 2001 From: Ammar ELWazir Date: Tue, 20 Jun 2023 21:59:19 +0000 Subject: [PATCH 645/691] SWDEV-288134: Workaround to enable roctracer early Change-Id: Iae21dbfd9f50dcf2e317130c6dc8328f17eba553 --- src/tracer_tool/tracer_tool.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/tracer_tool/tracer_tool.cpp b/src/tracer_tool/tracer_tool.cpp index f28c771831..fb74c70edc 100644 --- a/src/tracer_tool/tracer_tool.cpp +++ b/src/tracer_tool/tracer_tool.cpp @@ -53,6 +53,8 @@ #include "trace_buffer.h" #include "xml.h" +void initialize() __attribute__((constructor(101))); + namespace fs = std::experimental::filesystem; // Macro to check ROC-tracer calls status @@ -322,7 +324,9 @@ static std::string getKernelNameMultiKernelMultiDevice(hipLaunchParams* launchPa return name_str.str(); } -template struct Overloaded : Ts... { using Ts::operator()...; }; +template struct Overloaded : Ts... { + using Ts::operator()...; +}; template Overloaded(Ts...) -> Overloaded; @@ -777,3 +781,7 @@ ROCTRACER_EXPORT bool OnLoad(HsaApiTable* table, uint64_t runtime_version, ROCTRACER_EXPORT void OnUnload() { tool_unload(); } } // extern "C" + +void initialize() { + tool_load(); +} From 23695fbd79d84d39dd804ad00a733a082d657cf3 Mon Sep 17 00:00:00 2001 From: gobhardw Date: Fri, 30 Jun 2023 13:15:37 +0530 Subject: [PATCH 646/691] Fixing RPM build errors for roctracer Change-Id: I55e67c5c31e266fe187bb28712a0c616ebe68107 --- CMakeLists.txt | 7 +++++++ build.sh | 8 +++++++- test/CMakeLists.txt | 11 ++++++++++- 3 files changed, 24 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index d6aebaef94..0b8cdc7bf0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -154,6 +154,13 @@ message("CPACK_RPM_PACKAGE_RELEASE: ${CPACK_RPM_PACKAGE_RELEASE}") set(CPACK_RPM_ASAN_PACKAGE_NAME "${PROJECT_NAME}-asan" ) set(CPACK_RPM_ASAN_PACKAGE_REQUIRES "rocm-core-asan" ) +#Disable build id for rocprofiler as its creating transaction error +set ( CPACK_RPM_SPEC_MORE_DEFINE "%define _build_id_links none + %global __strip ${CPACK_STRIP_EXECUTABLE} + %global __objdump ${CPACK_OBJDUMP_EXECUTABLE} + %global __objcopy ${CPACK_OBJCOPY_EXECUTABLE} + %global __readelf ${CPACK_READELF_EXECUTABLE}") + if(NOT ROCM_DEP_ROCMCORE) string(REGEX REPLACE ",? ?rocm-core" "" CPACK_RPM_RUNTIME_PACKAGE_REQUIRES ${CPACK_RPM_RUNTIME_PACKAGE_REQUIRES}) string(REGEX REPLACE ",? ?rocm-core" "" CPACK_RPM_DEV_PACKAGE_REQUIRES ${CPACK_RPM_DEV_PACKAGE_REQUIRES}) diff --git a/build.sh b/build.sh index 8013f5adfb..81ac862933 100755 --- a/build.sh +++ b/build.sh @@ -45,6 +45,7 @@ if [ -z "$PACKAGE_PREFIX" ] ; then PACKAGE_PREFIX="$ROCM_PATH/$COMPONENT"; fi if [ -z "$PREFIX_PATH" ] ; then PREFIX_PATH=$PACKAGE_ROOT; fi if [ -z "$HIP_VDI" ] ; then HIP_VDI=0; fi if [ -n "$ROCM_RPATH" ] ; then LD_RUNPATH_FLAG=" -Wl,--enable-new-dtags -Wl,--rpath,${ROCM_RPATH}"; fi +if [ -z "$GPU_LIST" ] ; then GPU_LIST="gfx900 gfx906 gfx908 gfx90a gfx940 gfx1030 gfx1100 gfx1101 gfx1102"; fi ROCTRACER_ROOT=$(cd $ROCTRACER_ROOT && echo $PWD) @@ -60,7 +61,12 @@ cmake \ -DCPACK_PACKAGING_INSTALL_PREFIX=$PACKAGE_PREFIX \ -DCPACK_GENERATOR="${CPACKGEN:-"DEB;RPM"}" \ -DCMAKE_SHARED_LINKER_FLAGS="$LD_RUNPATH_FLAG" \ - $ROCTRACER_ROOT + -DGPU_TARGETS="$GPU_LIST" \ + -DCPACK_OBJCOPY_EXECUTABLE="${PACKAGE_ROOT}/llvm/bin/llvm-objcopy" \ + -DCPACK_READELF_EXECUTABLE="${PACKAGE_ROOT}/llvm/bin/llvm-readelf" \ + -DCPACK_STRIP_EXECUTABLE="${PACKAGE_ROOT}/llvm/bin/llvm-strip" \ + -DCPACK_OBJDUMP_EXECUTABLE="${PACKAGE_ROOT}/llvm/bin/llvm-objdump" \ + $ROCTRACER_ROOT make make mytest diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index f8c5e8238d..b0a4cf0a54 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -98,7 +98,16 @@ function(generate_hsaco TARGET_ID INPUT_FILE OUTPUT_FILE) set(HSACO_TARGET_LIST ${HSACO_TARGET_LIST} ${PROJECT_BINARY_DIR}/${OUTPUT_FILE} PARENT_SCOPE) endfunction(generate_hsaco) -foreach(target_id ${GPU_TARGETS}) +separate_arguments(GPU_TARGETS) +list(LENGTH GPU_TARGETS list_count) +if (${list_count} LESS_EQUAL 1) + string(REPLACE " " ";" GPU_LIST "${GPU_TARGETS}") + string(REPLACE "," ";" GPU_LIST "${GPU_TARGETS}") +else() + set(GPU_LIST ${GPU_TARGETS}) +endif() + +foreach(target_id ${GPU_LIST}) ## generate kernel bitcodes generate_hsaco(${target_id} ${CMAKE_CURRENT_SOURCE_DIR}/hsa/copy.cl ${target_id}_copy.hsaco) endforeach(target_id) From 9bda77f171ec0275d74bd14a067549cbb869fca6 Mon Sep 17 00:00:00 2001 From: gobhardw Date: Wed, 12 Jul 2023 14:10:28 +0530 Subject: [PATCH 647/691] SWDEV-406619: enabling symbol lookup in .dynsym of code object Change-Id: I35e6d85d59cbe1350db4734dcee33a71f0d4f87f --- test/run.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/test/run.sh b/test/run.sh index 9cb5bb5158..0e99c1fa97 100755 --- a/test/run.sh +++ b/test/run.sh @@ -25,6 +25,10 @@ # cd to build directory BIN_NAME=`basename $0` BIN_DIR=`dirname $0` + +#To enable symbol lookup in .dynsyn section after llvm-strip +export LOADER_USE_DYNSYM=1 + cd $BIN_DIR if [ -z "$ROCTRACER_LIB_PATH" ] ; then From 6fbf7673aa7f133fe24c70ab1986f32347e0f0b0 Mon Sep 17 00:00:00 2001 From: Ranjith Ramakrishnan Date: Sat, 8 Jul 2023 00:04:19 -0700 Subject: [PATCH 648/691] SWDEV-409575 - Append additional RPATH to libraries installed in /opt/rocm-ver/lib/roctracer RPATH in libraries installed in /opt/rocm-ver/lib/roctracer should be: $ORIGIN:$ORIGIN/.. cmake shared linker flags will provide the rpath $ORIGIN The patch will append the rpath $ORIGIN/.. to the component specific libraries Change-Id: Ied2bcb57bf0dd38ee3d1a946a5afc1bb182ff619 --- CMakeLists.txt | 4 +++- plugin/file/CMakeLists.txt | 3 ++- src/CMakeLists.txt | 4 +++- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 0b8cdc7bf0..14efcbbc19 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -38,7 +38,9 @@ endif() set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) add_compile_options(-Wall -Werror) - +# To set addition RUNPATH in libraries +# installed in /opt/rocm-ver/lib/roctracer +set(ROCM_APPEND_PRIVLIB_RPATH "$ORIGIN/..") set(THREADS_PREFER_PTHREAD_FLAG ON) find_package(Threads REQUIRED) diff --git a/plugin/file/CMakeLists.txt b/plugin/file/CMakeLists.txt index bf031f4083..21ef330684 100644 --- a/plugin/file/CMakeLists.txt +++ b/plugin/file/CMakeLists.txt @@ -34,7 +34,8 @@ add_library(file_plugin ${LIBRARY_TYPE} ${FILE_SOURCES}) set_target_properties(file_plugin PROPERTIES CXX_VISIBILITY_PRESET hidden LINK_DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/../exportmap - LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}) + LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR} + INSTALL_RPATH "${ROCM_APPEND_PRIVLIB_RPATH}") target_compile_definitions(file_plugin PRIVATE HIP_PROF_HIP_API_STRING=1 __HIP_PLATFORM_HCC__=1) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 1bf88004c4..8714e11759 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -218,7 +218,8 @@ add_library(roctracer_tool SHARED ${TRACER_TOOL_SOURCES}) set_target_properties(roctracer_tool PROPERTIES CXX_VISIBILITY_PRESET hidden - LINK_DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/tracer_tool/exportmap) + LINK_DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/tracer_tool/exportmap + INSTALL_RPATH "${ROCM_APPEND_PRIVLIB_RPATH}") target_compile_definitions(roctracer_tool PRIVATE HIP_PROF_HIP_API_STRING=1 __HIP_PLATFORM_HCC__=1) @@ -235,6 +236,7 @@ install(TARGETS roctracer_tool LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}/${PRO install(TARGETS roctracer_tool LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}/${PROJECT_NAME} COMPONENT asan) add_library(hip_stats SHARED hip_stats/hip_stats.cpp) +set_target_properties(hip_stats PROPERTIES INSTALL_RPATH "${ROCM_APPEND_PRIVLIB_RPATH}") target_compile_definitions(hip_stats PRIVATE __HIP_PLATFORM_AMD__) target_link_libraries(hip_stats roctracer stdc++fs) install(TARGETS hip_stats LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}/${PROJECT_NAME} COMPONENT runtime) From 6ab944c00953aad1277ae50541bb5bbd5e0f9b08 Mon Sep 17 00:00:00 2001 From: Ranjith Ramakrishnan Date: Mon, 7 Aug 2023 11:00:24 -0700 Subject: [PATCH 649/691] SWDEV-366827 - Disable file reorg backward compatibility support by default Change-Id: Ibf3c409c1741211ea86d52a90227c64ef47ee54b --- src/CMakeLists.txt | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 8714e11759..f314329df2 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -244,9 +244,7 @@ install(TARGETS hip_stats LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}/${PROJECT_ endif() -if(NOT ENABLE_ASAN_PACKAGING) - option(FILE_REORG_BACKWARD_COMPATIBILITY "Enable File Reorg with backward compatibility" ON) -endif() +option(FILE_REORG_BACKWARD_COMPATIBILITY "Enable File Reorg with backward compatibility" OFF) if(FILE_REORG_BACKWARD_COMPATIBILITY) ## To enable/disable #error in wrapper header files From 67b3717da938699517867b1b0f7eb97831d91a5d Mon Sep 17 00:00:00 2001 From: Ammar ELWazir Date: Wed, 9 Aug 2023 13:06:57 +0000 Subject: [PATCH 650/691] SWDEV-415259: Replacing HCC with AMD __HIP_PLATFORM_HCC__ with __HIP_PLATFORM_AMD__ Change-Id: I2e79cff5a0216125b4ce2aa90104d4a1696bad08 --- doc/roctracer_spec.md | 80 +++++++++++++++++++------------------- plugin/file/CMakeLists.txt | 2 +- src/CMakeLists.txt | 4 +- test/CMakeLists.txt | 2 +- 4 files changed, 44 insertions(+), 44 deletions(-) diff --git a/doc/roctracer_spec.md b/doc/roctracer_spec.md index 3bf9894334..4c80b6478e 100644 --- a/doc/roctracer_spec.md +++ b/doc/roctracer_spec.md @@ -145,7 +145,7 @@ Tracing control API: ### 3.2. Tracing Domains ``` Various tracing domains are supported. Each domain is assigned with -a domain ID. The domains include HSA, HIP, and HCC runtime levels. +a domain ID. The domains include HSA, HIP runtime levels. Traced API domains: typedef enum { @@ -277,11 +277,11 @@ typedef struct { uint32_t mode; // roctracer mode size_t buffer_size; // buffer size // power of 2 - roctracer_allocator_t alloc_fun; // memory allocator + roctracer_allocator_t alloc_fun; // memory allocator // function pointer void* alloc_arg; // memory allocator // function pointer - roctracer_buffer_callback_t buffer_callback_fun; // tracer record + roctracer_buffer_callback_t buffer_callback_fun; // tracer record // callback function void* buffer_callback_arg; // tracer record // callback arg @@ -296,12 +296,12 @@ roctracer_status_t roctracer_open_pool( roctracer_status_t roctracer_open_pool_expl( const roctracer_properties_t* properties, // tracer pool properties - roctracer_pool_t** pool); // [out] returns tracer pool if + roctracer_pool_t** pool); // [out] returns tracer pool if // not NULL, otherwise sets the // default one if it is not set - // yet; otherwise the error is + // yet; otherwise the error is // generated - + Close tracer memory pool: roctracer_status_t roctracer_close_pool(); @@ -374,7 +374,7 @@ roctracer_status_t roctracer_activity_push_external_correlation_id( Notifies that the calling thread is leaving an external API region. Pop an external correlation id for the calling thread. -roctracer_status_t roctracer_activity_pop_external_correlation_id( +roctracer_status_t roctracer_activity_pop_external_correlation_id( activity_correlation_id_t* last_id); // returns the last external correlation id // if not NULL ``` @@ -387,7 +387,7 @@ Tracing stop: void roctracer_stop(); ``` ## 4. rocTracer Usage Code Examples -### 4.1. HIP API and HCC ops, GPU Activity Tracing +### 4.1. HIP API ops, GPU Activity Tracing ``` #include @@ -399,7 +399,7 @@ void hip_api_callback( void* arg) { (void)arg; - const hip_api_data_t* data = reinterpret_cast + const hip_api_data_t* data = reinterpret_cast (callback_data); fprintf(stdout, "<%s id(%u)\tcorrelation_id(%lu) %s> ", roctracer_id_string(ACTIVITY_DOMAIN_HIP_API, cid), @@ -411,15 +411,15 @@ void hip_api_callback( // Activity tracing callback void activity_callback(const char* begin, const char* end, void* arg) { - const roctracer_record_t* record = reinterpret_cast(begin); - const roctracer_record_t* end_record = reinterpret_cast(end); fprintf(stdout, "\tActivity records:\n"); while (record < end_record) { - const char * name = roctracer_op_string(record->domain, + const char * name = roctracer_op_string(record->domain, record->activity_id, 0); - fprintf(stdout, "\t%s\tcorrelation_id(%lu) time_ns(%lu:%lu) + fprintf(stdout, "\t%s\tcorrelation_id(%lu) time_ns(%lu:%lu) device_id(%d) stream_id(%lu)\n", name, record->correlation_id, @@ -439,8 +439,8 @@ int main() { properties.buffer_size = 12; properties.buffer_callback_fun = activity_callback; ROCTRACER_CALL(roctracer_open_pool(&properties)); - - // Enable HIP API callbacks. HIP_API_ID_ANY can be used to trace all HIP + + // Enable HIP API callbacks. HIP_API_ID_ANY can be used to trace all HIP // API calls. ROCTRACER_CALL(roctracer_enable_op_callback(ACTIVITY_DOMAIN_HIP_API, HIP_API_ID_hipModuleLaunchKernel, @@ -505,7 +505,7 @@ THE SOFTWARE. // Device (Kernel) function, it must be void // hipLaunchParm provides the execution configuration -__global__ void matrixTranspose(hipLaunchParm lp, float* out, float* in, +__global__ void matrixTranspose(hipLaunchParm lp, float* out, float* in, const int width) { int x = hipBlockDim_x * hipBlockIdx_x + hipThreadIdx_x; int y = hipBlockDim_y * hipBlockIdx_y + hipThreadIdx_y; @@ -514,7 +514,7 @@ __global__ void matrixTranspose(hipLaunchParm lp, float* out, float* in, } // CPU implementation of matrix transpose -void matrixTransposeCPUReference(float* output, float* input, const unsigned +void matrixTransposeCPUReference(float* output, float* input, const unsigned int width) { for (unsigned int j = 0; j < width; j++) { for (unsigned int i = 0; i < width; i++) { @@ -549,34 +549,34 @@ int main() { Matrix = (float*)malloc(NUM * sizeof(float)); TransposeMatrix = (float*)malloc(NUM * sizeof(float)); cpuTransposeMatrix = (float*)malloc(NUM * sizeof(float)); - + // initialize the input data for (i = 0; i < NUM; i++) { Matrix[i] = (float)i * 10.0f; } - + // allocate the memory on the device side hipMalloc((void**)&gpuMatrix, NUM * sizeof(float)); hipMalloc((void**)&gpuTransposeMatrix, NUM * sizeof(float)); - + // Memory transfer from host to device - hipMemcpy(gpuMatrix, Matrix, NUM * sizeof(float), + hipMemcpy(gpuMatrix, Matrix, NUM * sizeof(float), hipMemcpyHostToDevice); - + // Lauching kernel from host - hipLaunchKernel(matrixTranspose, - dim3(WIDTH / THREADS_PER_BLOCK_X, WIDTH / + hipLaunchKernel(matrixTranspose, + dim3(WIDTH / THREADS_PER_BLOCK_X, WIDTH / THREADS_PER_BLOCK_Y), - dim3(THREADS_PER_BLOCK_X, THREADS_PER_BLOCK_Y), 0, 0, + dim3(THREADS_PER_BLOCK_X, THREADS_PER_BLOCK_Y), 0, 0, gpuTransposeMatrix, gpuMatrix, WIDTH); - + // Memory transfer from device to host - hipMemcpy(TransposeMatrix, gpuTransposeMatrix, NUM * sizeof(float), + hipMemcpy(TransposeMatrix, gpuTransposeMatrix, NUM * sizeof(float), hipMemcpyDeviceToHost); - + // CPU MatrixTranspose computation matrixTransposeCPUReference(cpuTransposeMatrix, Matrix, WIDTH); - + // verify the results errors = 0; double eps = 1.0E-6; @@ -590,11 +590,11 @@ int main() { } else { printf("PASSED!\n"); } - + // free the resources on device side hipFree(gpuMatrix); hipFree(gpuTransposeMatrix); - + // free the resources on host side free(Matrix); free(TransposeMatrix); @@ -607,7 +607,7 @@ int main() { } ///////////////////////////////////////////////////////////////////////////// -// HIP/HCC Callbacks/Activity tracing +// HIP Callbacks/Activity tracing ///////////////////////////////////////////////////////////////////////////// #include @@ -629,7 +629,7 @@ void hip_api_callback( void* arg) { (void)arg; - const hip_api_data_t* data = reinterpret_cast + const hip_api_data_t* data = reinterpret_cast (callback_data); fprintf(stdout, "<%s id(%u)\tcorrelation_id(%lu) %s> ", roctracer_op_string(ACTIVITY_DOMAIN_HIP_API, cid, 0), @@ -651,7 +651,7 @@ void hip_api_callback( (uint32_t)(data->args.hipMalloc.size)); break; case HIP_API_ID_hipFree: - fprintf(stdout, "ptr(%p), + fprintf(stdout, "ptr(%p), data->args.hipFree.ptr); break; case HIP_API_ID_hipModuleLaunchKernel: @@ -676,18 +676,18 @@ void hip_api_callback( } // Activity tracing callback -// hipMalloc id(3) correlation_id(1): +// hipMalloc id(3) correlation_id(1): // begin_ns(1525888652762640464) end_ns(1525888652762877067) void activity_callback(const char* begin, const char* end, void* arg) { - const roctracer_record_t* record = reinterpret_cast + const roctracer_record_t* record = reinterpret_cast (begin); const roctracer_record_t* end_record = reinterpret_cast (end); fprintf(stdout, "\tActivity records:\n"); fflush(stdout); while (record < end_record) { - const char * name = roctracer_op_string(record->domain, + const char * name = roctracer_op_string(record->domain, record->activity_id, 0); - fprintf(stdout, "\t%s\tcorrelation_id(%lu) time_ns(%lu:%lu) \ + fprintf(stdout, "\t%s\tcorrelation_id(%lu) time_ns(%lu:%lu) \ device_id(%d) stream_id(%lu)", name, record->correlation_id, @@ -696,7 +696,7 @@ void activity_callback(const char* begin, const char* end, void* arg) { record->device_id, record->stream_id ); - if (record->kind == hc::HSA_OP_ID_COPY) + if (record->kind == hc::HSA_OP_ID_COPY) fprintf(stdout, " bytes(0x%zx)", record->bytes); fprintf(stdout, "\n"); fflush(stdout); @@ -724,7 +724,7 @@ void stop_tracing() { ROCTRACER_CALL(roctracer_disable_api_callback()); ROCTRACER_CALL(roctracer_disable_api_activity()); ROCTRACER_CALL(roctracer_close_pool()); - std::cout << "# STOP #############################" << std::endl + std::cout << "# STOP #############################" << std::endl << std::flush; } ///////////////////////////////////////////////////////////////////////////// diff --git a/plugin/file/CMakeLists.txt b/plugin/file/CMakeLists.txt index 21ef330684..5fd3878ce1 100644 --- a/plugin/file/CMakeLists.txt +++ b/plugin/file/CMakeLists.txt @@ -38,7 +38,7 @@ set_target_properties(file_plugin PROPERTIES INSTALL_RPATH "${ROCM_APPEND_PRIVLIB_RPATH}") target_compile_definitions(file_plugin - PRIVATE HIP_PROF_HIP_API_STRING=1 __HIP_PLATFORM_HCC__=1) + PRIVATE HIP_PROF_HIP_API_STRING=1 __HIP_PLATFORM_AMD__=1) target_include_directories(file_plugin PRIVATE ${PROJECT_SOURCE_DIR}/inc) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index f314329df2..26cfc4bef7 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -84,7 +84,7 @@ find_file(HIP_RUNTIME_API_H hip_runtime_api.h add_custom_command( OUTPUT hip_ostream_ops.h COMMAND ${CMAKE_C_COMPILER} "$<$:-I$-I>>" - -E "${HIP_RUNTIME_API_H}" -D__HIP_PLATFORM_HCC__=1 -D__HIP_ROCclr__=1 -o hip_runtime_api.h.i + -E "${HIP_RUNTIME_API_H}" -D__HIP_PLATFORM_AMD__=1 -D__HIP_ROCclr__=1 -o hip_runtime_api.h.i BYPRODUCTS hip_runtime_api.h.i COMMAND ${Python3_EXECUTABLE} ${PROJECT_SOURCE_DIR}/script/gen_ostream_ops.py -in hip_runtime_api.h.i -out hip_ostream_ops.h > /dev/null @@ -222,7 +222,7 @@ set_target_properties(roctracer_tool PROPERTIES INSTALL_RPATH "${ROCM_APPEND_PRIVLIB_RPATH}") target_compile_definitions(roctracer_tool - PRIVATE HIP_PROF_HIP_API_STRING=1 __HIP_PLATFORM_HCC__=1) + PRIVATE HIP_PROF_HIP_API_STRING=1 __HIP_PLATFORM_AMD__=1) target_include_directories(roctracer_tool PRIVATE diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index b0a4cf0a54..93f75fbed3 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -71,7 +71,7 @@ add_custom_command(OUTPUT MatrixTranspose.c hip_add_executable(MatrixTranspose_ctest MatrixTranspose.c) ## Adding generated build-id as hip_add_executable doesn't generate automatically target_link_options(MatrixTranspose_ctest PRIVATE "-Wl,--build-id=md5") -target_compile_definitions(MatrixTranspose_ctest PRIVATE HIP_TEST=0 __HIP_PLATFORM_HCC__) +target_compile_definitions(MatrixTranspose_ctest PRIVATE HIP_TEST=0 __HIP_PLATFORM_AMD__) target_include_directories(MatrixTranspose_ctest PRIVATE ${PROJECT_SOURCE_DIR}/inc) target_link_libraries(MatrixTranspose_ctest PRIVATE roctracer roctx) add_dependencies(mytest MatrixTranspose_ctest) From 421febd4bffaaee2c6c8fcd985e09819eeaeea78 Mon Sep 17 00:00:00 2001 From: Ammar ELWazir Date: Thu, 17 Aug 2023 18:02:59 +0000 Subject: [PATCH 651/691] SWDEV-407953: Adding Patch Version from ROCm Standard Option ROCm Packaging uses ROCM_PATCH_VERSION as a standard option to add the patch version which determines the rocm release for different libraries versions Change-Id: I1edce84d2963d495c55c83cc0697761d7f696c92 --- CMakeLists.txt | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 14efcbbc19..afa1e3be57 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -24,6 +24,11 @@ cmake_minimum_required(VERSION 3.18.0) project(roctracer VERSION 4.1.0) +if(${ROCM_PATCH_VERSION}) + set(PROJECT_VERSION_PATCH ${ROCM_PATCH_VERSION}) + set(PROJECT_VERSION "${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}") +endif() + include(GNUInstallDirs) # set default ROCM_PATH if(NOT DEFINED ROCM_PATH) From b2671813eb187ca10cd0090bb6e0d804e6c8fd92 Mon Sep 17 00:00:00 2001 From: Jatin Chaudhary Date: Tue, 26 Sep 2023 14:52:16 +0100 Subject: [PATCH 652/691] SWDEV-412457 - header needs to be included Change-Id: Ia291e5e4cc28050e05e6d7e5d7904698db56dce5 --- test/app/roctx_test.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/test/app/roctx_test.cpp b/test/app/roctx_test.cpp index 42e194c8e2..3baec11e7b 100644 --- a/test/app/roctx_test.cpp +++ b/test/app/roctx_test.cpp @@ -22,6 +22,8 @@ #include "roctx.h" +#include + #define HIP_CALL(call) \ do { \ hipError_t err = call; \ From 4ff80750b3a2afe740cd05a395d63d02521e1635 Mon Sep 17 00:00:00 2001 From: Jatin Chaudhary Date: Wed, 27 Sep 2023 14:29:17 +0100 Subject: [PATCH 653/691] SWDEV-412457 - Add header in file that uses assert Change-Id: I2f9401d3890cc3c5116dba21ee959f1bf4f0b48e --- plugin/file/file.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/plugin/file/file.cpp b/plugin/file/file.cpp index 57bd65f3bf..ce4d8dd228 100644 --- a/plugin/file/file.cpp +++ b/plugin/file/file.cpp @@ -43,6 +43,7 @@ #include #include #include +#include // Macro to check ROCtracer calls status #define CHECK_ROCTRACER(call) \ From 38ba63030d0e751a1c14cff66367bd663606d64c Mon Sep 17 00:00:00 2001 From: Benjamin Welton Date: Wed, 18 Oct 2023 05:00:56 +0000 Subject: [PATCH 654/691] Added ROCTRACER_BUFFER_SIZE to set buffer size [SWDEV-418917] reported that timing skew was being introduced by roctracer. Most of the cause of this problem seems to stem from outrunning the double buffering scheme that we use in memory_pool (part of the reason for this outrun is due to File writing being slow). A semi-quick fix that may be able to last until RocProf v2 is complete is to allow adjustment of the buffer size. ROCTRACER_BUFFER_SIZE env variable was introduced here which allows setting the buffer size of tracer tool. By increasing the buffer size, an ~8% reduction in execution time when timing on the program side. This should also reduce the frequency of large delays when we outrun the buffer. Note: increasing this size dramatically can cause slow startups (i.e. above 50MB). Change-Id: I98c4316cfe93a043623ae2669cfe1a5abb55c990 --- src/tracer_tool/tracer_tool.cpp | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/tracer_tool/tracer_tool.cpp b/src/tracer_tool/tracer_tool.cpp index fb74c70edc..83bc4ae4ee 100644 --- a/src/tracer_tool/tracer_tool.cpp +++ b/src/tracer_tool/tracer_tool.cpp @@ -94,6 +94,13 @@ uint32_t GetTid() { return tid; } +size_t GetBufferSize() { + auto bufSize = getenv("ROCTRACER_BUFFER_SIZE"); + // Default size if not set + if (!bufSize) return 0x200000; + return std::stoll({bufSize}); +} + // Tracing control thread uint32_t control_delay_us = 0; uint32_t control_len_us = 0; @@ -217,7 +224,7 @@ struct roctx_trace_entry_t { }; roctracer::TraceBuffer roctx_trace_buffer( - "rocTX API", 0x200000, [](roctx_trace_entry_t* entry) { + "rocTX API", GetBufferSize(), [](roctx_trace_entry_t* entry) { assert(plugin && "plugin is not initialized"); plugin->write_callback_record(&entry->record, &entry->data); }); @@ -258,7 +265,7 @@ struct hsa_api_trace_entry_t { }; roctracer::TraceBuffer hsa_api_trace_buffer( - "HSA API", 0x200000, [](hsa_api_trace_entry_t* entry) { + "HSA API", GetBufferSize(), [](hsa_api_trace_entry_t* entry) { assert(plugin && "plugin is not initialized"); plugin->write_callback_record(&entry->record, &entry->data); }); @@ -397,7 +404,7 @@ static std::optional getKernelName(uint32_t cid, const hip_api_data } roctracer::TraceBuffer hip_api_trace_buffer( - "HIP API", 0x200000, [](hip_api_trace_entry_t* entry) { + "HIP API", GetBufferSize(), [](hip_api_trace_entry_t* entry) { assert(plugin && "plugin is not initialized"); plugin->write_callback_record(&entry->record, &entry->data); }); @@ -481,7 +488,7 @@ int get_xml_array(const xml::Xml::level_t* node, const std::string& field, const void open_tracing_pool() { if (roctracer_default_pool() == nullptr) { roctracer_properties_t properties{}; - properties.buffer_size = 0x80000; + properties.buffer_size = GetBufferSize(); properties.buffer_callback_fun = [](const char* begin, const char* end, void* /* arg */) { assert(plugin && "plugin is not initialized"); plugin->write_activity_records(reinterpret_cast(begin), From 54777ece26e4ab94ec47dba1789b669301b33b15 Mon Sep 17 00:00:00 2001 From: Benjamin Welton Date: Thu, 19 Oct 2023 15:26:15 +0000 Subject: [PATCH 655/691] Replace direct file out with stringstream Change-Id: Id0a00d918df88d0031f9c8f847e65b416c09bf77 --- plugin/file/file.cpp | 52 ++++++++++++++++++++++++-------------------- 1 file changed, 29 insertions(+), 23 deletions(-) diff --git a/plugin/file/file.cpp b/plugin/file/file.cpp index ce4d8dd228..3b0353d0df 100644 --- a/plugin/file/file.cpp +++ b/plugin/file/file.cpp @@ -222,7 +222,7 @@ class file_plugin_t { return HSA_STATUS_ERROR; *file << std::hex << std::showbase << agent.handle << " agent " - << ((type == HSA_DEVICE_TYPE_CPU) ? "cpu" : "gpu") << std::endl; + << ((type == HSA_DEVICE_TYPE_CPU) ? "cpu" : "gpu") << "\n"; return HSA_STATUS_SUCCESS; }, &hsa_handles); @@ -237,7 +237,7 @@ class file_plugin_t { roctracer_timestamp_t app_begin_timestamp; CHECK_ROCTRACER(roctracer_get_timestamp(&app_begin_timestamp)); - begin_ts << std::dec << app_begin_timestamp << std::endl; + begin_ts << std::dec << app_begin_timestamp << "\n"; if (begin_ts.fail()) { warning("Cannot write to '%s'", begin_ts.name().c_str()); return; @@ -247,25 +247,28 @@ class file_plugin_t { } int write_callback_record(const roctracer_record_t* record, const void* callback_data) { + std::stringstream ss; output_file_t* output_file{nullptr}; switch (record->domain) { case ACTIVITY_DOMAIN_ROCTX: { const roctx_api_data_t* data = reinterpret_cast(callback_data); output_file = get_output_file(ACTIVITY_DOMAIN_ROCTX); - *output_file << std::dec << record->begin_ns << " " << record->process_id << ":" - << record->thread_id << " " << record->op << ":" << data->args.id << ":\"" - << (data->args.message ? data->args.message : "") << "\"" << std::endl; + ss << std::dec << record->begin_ns << " " << record->process_id << ":" << record->thread_id + << " " << record->op << ":" << data->args.id << ":\"" + << (data->args.message ? data->args.message : "") << "\"" + << "\n"; + *output_file << ss.str(); break; } case ACTIVITY_DOMAIN_HSA_API: { const hsa_api_data_t* data = reinterpret_cast(callback_data); output_file = get_output_file(ACTIVITY_DOMAIN_HSA_API); - *output_file << std::dec << record->begin_ns << ":" - << ((record->op == HSA_API_ID_hsa_shut_down) ? record->begin_ns - : record->end_ns) - << " " << record->process_id << ":" << record->thread_id << " " - << hsa_api_data_pair_t(record->op, *data) << " :" << std::dec - << data->correlation_id << std::endl; + ss << std::dec << record->begin_ns << ":" + << ((record->op == HSA_API_ID_hsa_shut_down) ? record->begin_ns : record->end_ns) << " " + << record->process_id << ":" << record->thread_id << " " + << hsa_api_data_pair_t(record->op, *data) << " :" << std::dec << data->correlation_id + << "\n"; + *output_file << ss.str(); break; } case ACTIVITY_DOMAIN_HIP_API: { @@ -283,10 +286,10 @@ class file_plugin_t { } output_file = get_output_file(ACTIVITY_DOMAIN_HIP_API); - *output_file << std::dec << record->begin_ns << ":" << record->end_ns << " " - << record->process_id << ":" << record->thread_id << " " - << hipApiString((hip_api_id_t)record->op, data) << kernel_name << " :" - << std::dec << data->correlation_id << std::endl; + ss << std::dec << record->begin_ns << ":" << record->end_ns << " " << record->process_id + << ":" << record->thread_id << " " << hipApiString((hip_api_id_t)record->op, data) + << kernel_name << " :" << std::dec << data->correlation_id << "\n"; + *output_file << ss.str(); break; } default: @@ -299,6 +302,7 @@ class file_plugin_t { int write_activity_records(const roctracer_record_t* begin, const roctracer_record_t* end) { while (begin != end) { + std::stringstream ss; output_file_t* output_file{nullptr}; const char* name = roctracer_op_string(begin->domain, begin->op, begin->kind); @@ -311,21 +315,23 @@ class file_plugin_t { if (begin->correlation_id == 0) break; output_file = get_output_file(ACTIVITY_DOMAIN_HIP_OPS); - *output_file << std::dec << begin->begin_ns << ":" << begin->end_ns << " " - << begin->device_id << ":" << begin->queue_id << " " << name << ":" - << begin->correlation_id << ":" << GetPid() << std::endl; + ss << std::dec << begin->begin_ns << ":" << begin->end_ns << " " << begin->device_id + << ":" << begin->queue_id << " " << name << ":" << begin->correlation_id << ":" + << GetPid() << "\n"; + *output_file << ss.str(); break; } case ACTIVITY_DOMAIN_HSA_OPS: output_file = get_output_file(ACTIVITY_DOMAIN_HSA_OPS, begin->op); if (begin->op == HSA_OP_ID_COPY) { - *output_file << std::dec << begin->begin_ns << ":" << begin->end_ns - << " async-copy:" << begin->correlation_id << ":" << GetPid() << std::endl; + ss << std::dec << begin->begin_ns << ":" << begin->end_ns + << " async-copy:" << begin->correlation_id << ":" << GetPid() << "\n"; + *output_file << ss.str(); break; } else if (begin->op == HSA_OP_ID_RESERVED1) { - *output_file << std::dec << begin->pc_sample.se << " " << begin->pc_sample.cycle << " " - << std::hex << std::showbase << begin->pc_sample.pc << " " << name - << std::endl; + ss << std::dec << begin->pc_sample.se << " " << begin->pc_sample.cycle << " " + << std::hex << std::showbase << begin->pc_sample.pc << " " << name << "\n"; + *output_file << ss.str(); break; } [[fallthrough]]; From d4c2546336c12f61feecafa05887f89af686e368 Mon Sep 17 00:00:00 2001 From: gobhardw Date: Wed, 25 Oct 2023 20:02:27 +0530 Subject: [PATCH 656/691] SWDEV-408936 solving rocprof hang due to early initialization Change-Id: Ia9c52f3b4c7ff191054cef40208f26b28f021378 --- src/tracer_tool/tracer_tool.cpp | 6 ------ 1 file changed, 6 deletions(-) diff --git a/src/tracer_tool/tracer_tool.cpp b/src/tracer_tool/tracer_tool.cpp index 83bc4ae4ee..7898120f24 100644 --- a/src/tracer_tool/tracer_tool.cpp +++ b/src/tracer_tool/tracer_tool.cpp @@ -53,8 +53,6 @@ #include "trace_buffer.h" #include "xml.h" -void initialize() __attribute__((constructor(101))); - namespace fs = std::experimental::filesystem; // Macro to check ROC-tracer calls status @@ -788,7 +786,3 @@ ROCTRACER_EXPORT bool OnLoad(HsaApiTable* table, uint64_t runtime_version, ROCTRACER_EXPORT void OnUnload() { tool_unload(); } } // extern "C" - -void initialize() { - tool_load(); -} From 7e8348b017e7912bf1b1bcc8fb676c7f9f0789d9 Mon Sep 17 00:00:00 2001 From: Ammar ELWazir Date: Wed, 25 Oct 2023 13:51:58 +0000 Subject: [PATCH 657/691] Adding Kernel Names instead Kernel Execution Change-Id: I102a8e741eeee18d240a62ff33e9b94e8f57d5ff --- plugin/file/file.cpp | 7 +++++-- test/CMakeLists.txt | 3 +++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/plugin/file/file.cpp b/plugin/file/file.cpp index 3b0353d0df..5c6860ee32 100644 --- a/plugin/file/file.cpp +++ b/plugin/file/file.cpp @@ -316,8 +316,11 @@ class file_plugin_t { output_file = get_output_file(ACTIVITY_DOMAIN_HIP_OPS); ss << std::dec << begin->begin_ns << ":" << begin->end_ns << " " << begin->device_id - << ":" << begin->queue_id << " " << name << ":" << begin->correlation_id << ":" - << GetPid() << "\n"; + << ":" << begin->queue_id << " " + << ((begin->op == HIP_OP_ID_DISPATCH && begin->kernel_name != nullptr) + ? cxx_demangle(begin->kernel_name) + : name) + << ":" << begin->correlation_id << ":" << GetPid() << "\n"; *output_file << ss.str(); break; } diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 93f75fbed3..95563d5b9f 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -29,6 +29,9 @@ set(CMAKE_EXECUTABLE_RPATH_LINK_HIP_FLAG ${CMAKE_SHARED_LIBRARY_RPATH_LINK_CXX_F set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${ROCM_PATH}/lib/cmake/hip") set(CMAKE_HIP_ARCHITECTURES OFF) +if(DEFINED ROCM_PATH) + set(HIP_ROOT_DIR "${ROCM_PATH}/bin") +endif() find_package(HIP REQUIRED MODULE) find_package(Clang REQUIRED CONFIG From c46a118cfb0b48a023eaef728a171c56f8c32c51 Mon Sep 17 00:00:00 2001 From: Ammar ELWazir Date: Fri, 27 Oct 2023 00:51:55 +0000 Subject: [PATCH 658/691] Updating Golden Traces Change-Id: I1234bcbe7eff8e53855e23e246d821102672006d --- .../MatrixTranspose_hip_flush_trace.txt | 1825 +-- .../MatrixTranspose_hip_period_trace.txt | 11 +- .../MatrixTranspose_hipaact_test_trace.txt | 1400 +- .../MatrixTranspose_mgpu_trace.txt | 1454 +- .../MatrixTranspose_sys_trace.txt | 13119 +++++++++------- .../MatrixTranspose_test_trace.txt | 1400 +- .../multi_pool_activities_trace.txt | 10 - 7 files changed, 10694 insertions(+), 8525 deletions(-) diff --git a/test/golden_traces/MatrixTranspose_hip_flush_trace.txt b/test/golden_traces/MatrixTranspose_hip_flush_trace.txt index 051d58b27b..630dc0ea25 100644 --- a/test/golden_traces/MatrixTranspose_hip_flush_trace.txt +++ b/test/golden_traces/MatrixTranspose_hip_flush_trace.txt @@ -1,1010 +1,815 @@ -ROCTracer (pid=14696): -ROCTracer: trace control flush rate(100000us) -129855595266140 - HIP-trace() -Device name Device 738c -## Iteration (99) ################# -129855603476896:129855603483734 14696:14696 hipGetDeviceProperties(props={}, device=0) :1 -129855604686134:129855605152950 14696:14696 hipMalloc(ptr=0x7fd65ce00000, size=4194304) :2 -129855605160451:129855605528247 14696:14696 hipMalloc(ptr=0x7fd65c800000, size=4194304) :3 -PASSED! -## Iteration (98) ################# -PASSED! -## Iteration (97) ################# -PASSED! -## Iteration (96) ################# -129855955913848:129855957428192 0:0 CopyHostToDevice:4:14696 -129855958763342:129855959991823 0:0 KernelExecution:8:14696 -129855958734601:129855961705377 0:0 CopyDeviceToHost:10:14696 -129855971471522:129855972254607 0:0 CopyHostToDevice:11:14696 -129855972381516:129855973633356 0:0 KernelExecution:15:14696 -129855972673800:129855974135421 0:0 CopyDeviceToHost:17:14696 -129855980290261:129855981019714 0:0 CopyHostToDevice:18:14696 -129855981112002:129855982336482 0:0 KernelExecution:22:14696 -129855981076333:129855982783351 0:0 CopyDeviceToHost:24:14696 -129855988849671:129855989612220 0:0 CopyHostToDevice:25:14696 -129855989696159:129855990920319 0:0 KernelExecution:29:14696 -129855989668256:129855991384209 0:0 CopyDeviceToHost:31:14696 -129855605540988:129855957443403 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :4 -129855957507034:129855957514510 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :6 -129855957521000:129855957523014 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :7 -129855957529950:129855958671150 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :8 -129855958708321:129855961719221 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :10 -129855971408776:129855972257972 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :11 -129855972266736:129855972268234 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :13 -129855972271629:129855972272780 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :14 -129855972276181:129855972282118 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :15 -129855972666015:129855974143463 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :17 -129855980222888:129855981023250 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :18 -129855981028834:129855981029831 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :20 -129855981032043:129855981032913 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :21 -129855981035237:129855981038997 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :22 -129855981043695:129855982796928 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :24 -129855988764565:129855989615901 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :25 -129855989621096:129855989622129 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :27 -129855989624243:129855989625087 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :28 -129855989627271:129855989630934 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :29 -129855989635351:129855991396402 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :31 -PASSED! -## Iteration (95) ################# -PASSED! -## Iteration (94) ################# -PASSED! -## Iteration (93) ################# -PASSED! -## Iteration (92) ################# -PASSED! -## Iteration (91) ################# -PASSED! -## Iteration (90) ################# -PASSED! -## Iteration (89) ################# -PASSED! -## Iteration (88) ################# -PASSED! -## Iteration (87) ################# -PASSED! -## Iteration (86) ################# -PASSED! -## Iteration (85) ################# -PASSED! -## Iteration (84) ################# -129855997366746:129855998130772 0:0 CopyHostToDevice:32:14696 -129855998225065:129855999449385 0:0 KernelExecution:36:14696 -129855998197249:129855999925825 0:0 CopyDeviceToHost:38:14696 -129856005895171:129856006661973 0:0 CopyHostToDevice:39:14696 -129856006745770:129856007968491 0:0 KernelExecution:43:14696 -129856006717709:129856008455141 0:0 CopyDeviceToHost:45:14696 -129856014425283:129856015187951 0:0 CopyHostToDevice:46:14696 -129856015270363:129856016493884 0:0 KernelExecution:50:14696 -129856015242633:129856016989490 0:0 CopyDeviceToHost:52:14696 -129856022971470:129856023730704 0:0 CopyHostToDevice:53:14696 -129856023813883:129856025033244 0:0 KernelExecution:57:14696 -129856023785712:129856025544334 0:0 CopyDeviceToHost:59:14696 -129856031596064:129856032498907 0:0 CopyHostToDevice:60:14696 -129856032586758:129856033809639 0:0 KernelExecution:64:14696 -129856032558443:129856034354036 0:0 CopyDeviceToHost:66:14696 -129856040416553:129856041127473 0:0 CopyHostToDevice:67:14696 -129856041212287:129856042435488 0:0 KernelExecution:71:14696 -129856041184491:129856042941958 0:0 CopyDeviceToHost:73:14696 -129856049061163:129856049826011 0:0 CopyHostToDevice:74:14696 -129856049910719:129856051134400 0:0 KernelExecution:78:14696 -129856049882831:129856051651620 0:0 CopyDeviceToHost:80:14696 -129856057864499:129856058629610 0:0 CopyHostToDevice:81:14696 -129856058712855:129856059935896 0:0 KernelExecution:85:14696 -129856058684894:129856060452569 0:0 CopyDeviceToHost:87:14696 -129856066769721:129856067537899 0:0 CopyHostToDevice:88:14696 -129856067621801:129856068845321 0:0 KernelExecution:92:14696 -129856067594217:129856069423348 0:0 CopyDeviceToHost:94:14696 -129856075784739:129856076568384 0:0 CopyHostToDevice:95:14696 -129856076658166:129856077880567 0:0 KernelExecution:99:14696 -129856076630540:129856078394130 0:0 CopyDeviceToHost:101:14696 -129856084835135:129856085603333 0:0 CopyHostToDevice:102:14696 -129856085689351:129856086911912 0:0 KernelExecution:106:14696 -129856085661614:129856087438495 0:0 CopyDeviceToHost:108:14696 -129856093911070:129856094682948 0:0 CopyHostToDevice:109:14696 -129856094767987:129856095991348 0:0 KernelExecution:113:14696 -129856094739044:129856096520182 0:0 CopyDeviceToHost:115:14696 -129855997303698:129855998134058 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :32 -129855998138933:129855998139817 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :34 -129855998141918:129855998142773 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :35 -129855998144935:129855998149221 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :36 -129855998153828:129855999937506 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :38 -129856005829520:129856006665192 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :39 -129856006670307:129856006671160 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :41 -129856006673376:129856006674209 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :42 -129856006676323:129856006679651 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :43 -129856006683967:129856008469471 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :45 -129856014360174:129856015191285 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :46 -129856015196342:129856015197217 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :48 -129856015199400:129856015200221 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :49 -129856015202314:129856015205930 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :50 -129856015210764:129856017001555 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :52 -129856022908053:129856023733985 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :53 -129856023739178:129856023740063 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :55 -129856023742240:129856023743090 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :56 -129856023745309:129856023748845 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :57 -129856023753396:129856025556257 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :59 -129856031530409:129856032503170 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :60 -129856032508345:129856032509226 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :62 -129856032511486:129856032512316 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :63 -129856032514599:129856032518036 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :64 -129856032522410:129856034373111 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :66 -129856040397979:129856041130687 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :67 -129856041136399:129856041137389 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :69 -129856041139653:129856041140500 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :70 -129856041142893:129856041146663 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :71 -129856041151128:129856042953843 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :73 -129856048994841:129856049829566 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :74 -129856049834527:129856049835413 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :76 -129856049837759:129856049838585 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :77 -129856049840796:129856049844487 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :78 -129856049848934:129856051663797 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :80 -129856057798518:129856058633464 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :81 -129856058638530:129856058639560 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :83 -129856058641994:129856058642826 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :84 -129856058645125:129856058648721 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :85 -129856058653478:129856060466863 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :87 -129856066704603:129856067541502 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :88 -129856067546791:129856067547681 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :90 -129856067550027:129856067550854 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :91 -129856067553125:129856067556952 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :92 -129856067561903:129856069442958 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :94 -129856075719215:129856076572398 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :95 -129856076578071:129856076578997 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :97 -129856076581286:129856076582119 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :98 -129856076584498:129856076588395 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :99 -129856076592857:129856078406672 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :101 -129856084768530:129856085607081 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :102 -129856085612528:129856085613498 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :104 -129856085615751:129856085616602 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :105 -129856085618831:129856085623039 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :106 -129856085627731:129856087451206 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :108 -129856093846767:129856094686797 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :109 -129856094692497:129856094693485 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :111 -129856094695727:129856094696598 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :112 -129856094698884:129856094702856 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :113 -129856094707931:129856096534639 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :115 -PASSED! -## Iteration (83) ################# -PASSED! -## Iteration (82) ################# -PASSED! -## Iteration (81) ################# -PASSED! -## Iteration (80) ################# -PASSED! -## Iteration (79) ################# -PASSED! -## Iteration (78) ################# -PASSED! -## Iteration (77) ################# -PASSED! -## Iteration (76) ################# -PASSED! -## Iteration (75) ################# -PASSED! -## Iteration (74) ################# -PASSED! -## Iteration (73) ################# -129856103067958:129856103841032 0:0 CopyHostToDevice:116:14696 -129856103927769:129856105150970 0:0 KernelExecution:120:14696 -129856103899316:129856105721054 0:0 CopyDeviceToHost:122:14696 -129856112245852:129856113015798 0:0 CopyHostToDevice:123:14696 -129856113100485:129856114323526 0:0 KernelExecution:127:14696 -129856113072690:129856114900649 0:0 CopyDeviceToHost:129:14696 -129856121600998:129856122374148 0:0 CopyHostToDevice:130:14696 -129856122460856:129856123685017 0:0 KernelExecution:134:14696 -129856122432406:129856124221503 0:0 CopyDeviceToHost:136:14696 -129856130996154:129856131718339 0:0 CopyHostToDevice:137:14696 -129856131803770:129856133026171 0:0 KernelExecution:141:14696 -129856131775718:129856133613724 0:0 CopyDeviceToHost:143:14696 -129856140505813:129856141285491 0:0 CopyHostToDevice:144:14696 -129856141371337:129856142594218 0:0 KernelExecution:148:14696 -129856141343575:129856143188801 0:0 CopyDeviceToHost:150:14696 -129856150234971:129856151016053 0:0 CopyHostToDevice:151:14696 -129856151102892:129856152327053 0:0 KernelExecution:155:14696 -129856151074919:129856152872907 0:0 CopyDeviceToHost:157:14696 -129856159481376:129856160253347 0:0 CopyHostToDevice:158:14696 -129856160343525:129856161566086 0:0 KernelExecution:162:14696 -129856160315355:129856162137295 0:0 CopyDeviceToHost:164:14696 -129856168059715:129856168791250 0:0 CopyHostToDevice:165:14696 -129856168876828:129856170099709 0:0 KernelExecution:169:14696 -129856168849139:129856170629902 0:0 CopyDeviceToHost:171:14696 -129856176005269:129856176724156 0:0 CopyHostToDevice:172:14696 -129856176811979:129856178033100 0:0 KernelExecution:176:14696 -129856176783784:129856178564862 0:0 CopyDeviceToHost:178:14696 -129856183804454:129856184516916 0:0 CopyHostToDevice:179:14696 -129856184609470:129856185832511 0:0 KernelExecution:183:14696 -129856184581802:129856186368858 0:0 CopyDeviceToHost:185:14696 -129856191541921:129856192254454 0:0 CopyHostToDevice:186:14696 -129856192345329:129856193569809 0:0 KernelExecution:190:14696 -129856192317767:129856194105080 0:0 CopyDeviceToHost:192:14696 -129856103003811:129856103844379 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :116 -129856103849922:129856103850838 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :118 -129856103853240:129856103854136 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :119 -129856103856444:129856103860149 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :120 -129856103864691:129856105741098 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :122 -129856112200226:129856113019342 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :123 -129856113024595:129856113025504 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :125 -129856113027902:129856113028756 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :126 -129856113031010:129856113034968 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :127 -129856113039452:129856114918382 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :129 -129856121536590:129856122377686 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :130 -129856122383242:129856122384157 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :132 -129856122386562:129856122387438 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :133 -129856122389743:129856122393887 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :134 -129856122398705:129856124236553 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :136 -129856130930250:129856131721919 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :137 -129856131727544:129856131728453 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :139 -129856131730840:129856131731718 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :140 -129856131734248:129856131738338 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :141 -129856131742956:129856133633762 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :143 -129856140484642:129856141289559 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :144 -129856141295360:129856141296366 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :146 -129856141298705:129856141299584 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :147 -129856141301885:129856141305904 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :148 -129856141310745:129856143207185 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :150 -129856150167842:129856151019519 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :151 -129856151025430:129856151026339 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :153 -129856151028846:129856151029731 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :154 -129856151032070:129856151036399 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :155 -129856151041204:129856152887054 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :157 -129856159416500:129856160257922 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :158 -129856160263327:129856160264253 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :160 -129856160266588:129856160267551 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :161 -129856160269815:129856160273583 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :162 -129856160277873:129856162154856 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :164 -129856167989129:129856168794954 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :165 -129856168799680:129856168800356 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :167 -129856168802336:129856168803043 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :168 -129856168804923:129856168808196 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :169 -129856168811889:129856170642148 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :171 -129856175935119:129856176727698 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :172 -129856176732312:129856176733001 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :174 -129856176734764:129856176735517 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :175 -129856176737306:129856176740961 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :176 -129856176744384:129856178576608 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :178 -129856183733862:129856184521359 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :179 -PASSED! -## Iteration (72) ################# -129856184526239:129856184526918 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :181 -129856184528695:129856184529339 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :182 -129856184531203:129856184534819 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :183 -129856184538159:129856186381152 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :185 -129856191471466:129856192258965 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :186 -129856192264565:129856192265231 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :188 -129856192266936:129856192267582 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :189 -129856192269493:129856192272647 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :190 -129856192276014:129856194117333 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :192 -PASSED! -## Iteration (71) ################# -PASSED! -## Iteration (70) ################# -PASSED! -## Iteration (69) ################# -PASSED! -## Iteration (68) ################# -PASSED! -## Iteration (67) ################# -PASSED! -## Iteration (66) ################# -PASSED! -## Iteration (65) ################# -PASSED! -## Iteration (64) ################# -PASSED! -## Iteration (63) ################# -PASSED! -## Iteration (62) ################# -PASSED! -## Iteration (61) ################# -PASSED! -## Iteration (60) ################# -PASSED! -## Iteration (59) ################# -129856199280943:129856199989681 0:0 CopyHostToDevice:193:14696 -129856200075190:129856201299831 0:0 KernelExecution:197:14696 -129856200047538:129856201850341 0:0 CopyDeviceToHost:199:14696 -129856206897412:129856207614253 0:0 CopyHostToDevice:200:14696 -129856207705498:129856208928859 0:0 KernelExecution:204:14696 -129856207676917:129856209473592 0:0 CopyDeviceToHost:206:14696 -129856214432984:129856215196409 0:0 CopyHostToDevice:207:14696 -129856215281304:129856216504825 0:0 KernelExecution:211:14696 -129856215253529:129856217050195 0:0 CopyDeviceToHost:213:14696 -129856221931666:129856222699124 0:0 CopyHostToDevice:214:14696 -129856222785050:129856224007611 0:0 KernelExecution:218:14696 -129856222756874:129856224558196 0:0 CopyDeviceToHost:220:14696 -129856229435728:129856230202586 0:0 CopyHostToDevice:221:14696 -129856230289822:129856231510942 0:0 KernelExecution:225:14696 -129856230262176:129856232049379 0:0 CopyDeviceToHost:227:14696 -129856236838217:129856237549415 0:0 CopyHostToDevice:228:14696 -129856237635376:129856238857136 0:0 KernelExecution:232:14696 -129856237607782:129856239407224 0:0 CopyDeviceToHost:234:14696 -129856244299394:129856245007567 0:0 CopyHostToDevice:235:14696 -129856245099279:129856246322159 0:0 KernelExecution:239:14696 -129856245071193:129856246864706 0:0 CopyDeviceToHost:241:14696 -129856251723187:129856252431603 0:0 CopyHostToDevice:242:14696 -129856252521404:129856253744124 0:0 KernelExecution:246:14696 -129856252493576:129856254289474 0:0 CopyDeviceToHost:248:14696 -129856259171693:129856259879626 0:0 CopyHostToDevice:249:14696 -129856259964936:129856261188937 0:0 KernelExecution:253:14696 -129856259937195:129856261731637 0:0 CopyDeviceToHost:255:14696 -129856266605795:129856267371070 0:0 CopyHostToDevice:256:14696 -129856267455912:129856268680233 0:0 KernelExecution:260:14696 -129856267428297:129856269227260 0:0 CopyDeviceToHost:262:14696 -129856274075448:129856274840296 0:0 CopyHostToDevice:263:14696 -129856274927804:129856276150525 0:0 KernelExecution:267:14696 -129856274899679:129856276695018 0:0 CopyDeviceToHost:269:14696 -129856281565009:129856282326831 0:0 CopyHostToDevice:270:14696 -129856282411157:129856283637077 0:0 KernelExecution:274:14696 -129856282383503:129856284175523 0:0 CopyDeviceToHost:276:14696 -129856288995752:129856289705630 0:0 CopyHostToDevice:277:14696 -129856289793308:129856291014269 0:0 KernelExecution:281:14696 -129856289765547:129856291559219 0:0 CopyDeviceToHost:283:14696 -129856296360197:129856297069117 0:0 CopyHostToDevice:284:14696 -129856297157310:129856298378111 0:0 KernelExecution:288:14696 -129856297129589:129856298914568 0:0 CopyDeviceToHost:290:14696 -129856199220209:129856199993256 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :193 -129856199998331:129856199999016 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :195 -129856200000971:129856200001630 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :196 -129856200003348:129856200006409 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :197 -129856200009781:129856201864796 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :199 -129856206828954:129856207617612 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :200 -129856207633427:129856207634203 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :202 -129856207635929:129856207636565 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :203 -129856207638289:129856207641619 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :204 -129856207645338:129856209486625 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :206 -129856214367871:129856215199634 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :207 -129856215205034:129856215205701 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :209 -129856215207421:129856215208068 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :210 -129856215209926:129856215213001 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :211 -129856215216591:129856217062762 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :213 -129856221865656:129856222702390 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :214 -129856222707593:129856222708263 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :216 -129856222709907:129856222710533 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :217 -129856222712408:129856222715305 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :218 -129856222718703:129856224572291 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :220 -129856229369321:129856230206171 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :221 -129856230211408:129856230212070 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :223 -129856230213729:129856230214356 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :224 -129856230216306:129856230219552 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :225 -129856230222856:129856232061167 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :227 -129856236820359:129856237552651 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :228 -129856237557958:129856237558615 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :230 -129856237560382:129856237561016 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :231 -129856237562876:129856237566063 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :232 -129856237569296:129856239419101 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :234 -129856244174381:129856245010977 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :235 -129856245025693:129856245026451 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :237 -129856245028210:129856245028855 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :238 -129856245030730:129856245034177 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :239 -129856245038122:129856246876538 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :241 -129856251653109:129856252435896 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :242 -129856252441362:129856252442017 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :244 -129856252443660:129856252444296 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :245 -129856252446165:129856252449155 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :246 -129856252452579:129856254303055 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :248 -129856259101952:129856259882749 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :249 -129856259886742:129856259887392 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :251 -129856259889040:129856259889671 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :252 -129856259891415:129856259894919 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :253 -129856259898324:129856261743974 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :255 -129856266541050:129856267374498 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :256 -129856267379647:129856267380320 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :258 -129856267381929:129856267382540 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :259 -129856267384409:129856267387474 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :260 -129856267390764:129856269239563 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :262 -129856274008890:129856274843415 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :263 -129856274847806:129856274848470 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :265 -129856274850117:129856274850733 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :266 -129856274852427:129856274855749 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :267 -129856274859228:129856276707873 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :269 -129856281498759:129856282330118 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :270 -129856282335358:129856282336015 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :272 -129856282338029:129856282338668 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :273 -129856282340644:129856282343485 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :274 -129856282347024:129856284203838 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :276 -129856288978096:129856289708673 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :277 -129856289714250:129856289714924 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :279 -129856289716689:129856289717305 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :280 -129856289719150:129856289722057 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :281 -129856289725380:129856291571314 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :283 -129856296341271:129856297072486 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :284 -129856297077733:129856297078380 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :286 -129856297080109:129856297080733 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :287 -129856297082729:129856297085646 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :288 -129856297089004:129856298926004 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :290 -PASSED! -## Iteration (58) ################# -PASSED! -## Iteration (57) ################# -PASSED! -## Iteration (56) ################# -PASSED! -## Iteration (55) ################# -PASSED! -## Iteration (54) ################# -PASSED! -## Iteration (53) ################# -PASSED! -## Iteration (52) ################# -PASSED! -## Iteration (51) ################# -PASSED! -## Iteration (50) ################# -PASSED! -## Iteration (49) ################# -PASSED! -## Iteration (48) ################# -PASSED! -## Iteration (47) ################# -PASSED! -## Iteration (46) ################# -PASSED! -## Iteration (45) ################# -129856303845436:129856304622018 0:0 CopyHostToDevice:291:14696 -129856304714456:129856305941176 0:0 KernelExecution:295:14696 -129856304686879:129856306490313 0:0 CopyDeviceToHost:297:14696 -129856311333818:129856312045157 0:0 CopyHostToDevice:298:14696 -129856312128568:129856313351929 0:0 KernelExecution:302:14696 -129856312100713:129856313892452 0:0 CopyDeviceToHost:304:14696 -129856318773490:129856319480599 0:0 CopyHostToDevice:305:14696 -129856319573103:129856320793904 0:0 KernelExecution:309:14696 -129856319544959:129856321343459 0:0 CopyDeviceToHost:311:14696 -129856326211019:129856326977511 0:0 CopyHostToDevice:312:14696 -129856327061875:129856328282996 0:0 KernelExecution:316:14696 -129856327034134:129856328825473 0:0 CopyDeviceToHost:318:14696 -129856333673698:129856334437330 0:0 CopyHostToDevice:319:14696 -129856334523567:129856335745168 0:0 KernelExecution:323:14696 -129856334495713:129856336293262 0:0 CopyDeviceToHost:325:14696 -129856341101442:129856341984561 0:0 CopyHostToDevice:326:14696 -129856342071670:129856343294870 0:0 KernelExecution:330:14696 -129856342043988:129856343840850 0:0 CopyDeviceToHost:332:14696 -129856348646308:129856349354803 0:0 CopyHostToDevice:333:14696 -129856349441279:129856350662399 0:0 KernelExecution:337:14696 -129856349413003:129856351203503 0:0 CopyDeviceToHost:339:14696 -129856356094471:129856356820623 0:0 CopyHostToDevice:340:14696 -129856356907355:129856358130235 0:0 KernelExecution:344:14696 -129856356879789:129856358671945 0:0 CopyDeviceToHost:346:14696 -129856363528023:129856364288036 0:0 CopyHostToDevice:347:14696 -129856364405580:129856365626380 0:0 KernelExecution:351:14696 -129856364377906:129856366172703 0:0 CopyDeviceToHost:353:14696 -129856371087592:129856371798847 0:0 CopyHostToDevice:354:14696 -129856371883929:129856373108889 0:0 KernelExecution:358:14696 -129856371855593:129856373655534 0:0 CopyDeviceToHost:360:14696 -129856378493711:129856379257336 0:0 CopyHostToDevice:361:14696 -129856379342581:129856380565301 0:0 KernelExecution:365:14696 -129856379314699:129856381113012 0:0 CopyDeviceToHost:367:14696 -129856385977586:129856386744228 0:0 CopyHostToDevice:368:14696 -129856386831442:129856388055123 0:0 KernelExecution:372:14696 -129856386803378:129856388598263 0:0 CopyDeviceToHost:374:14696 -129856393484361:129856394251866 0:0 CopyHostToDevice:375:14696 -129856394339138:129856395561058 0:0 KernelExecution:379:14696 -129856394311639:129856396103600 0:0 CopyDeviceToHost:381:14696 -129856303774990:129856304626161 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :291 -129856304631072:129856304631723 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :293 -129856304633373:129856304634007 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :294 -129856304635811:129856304639104 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :295 -129856304642651:129856306501959 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :297 -129856311264292:129856312048766 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :298 -129856312053498:129856312054174 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :300 -129856312055946:129856312056653 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :301 -129856312058397:129856312061589 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :302 -129856312065053:129856313904746 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :304 -129856318704110:129856319483869 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :305 -129856319499258:129856319500048 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :307 -129856319501759:129856319502401 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :308 -129856319504307:129856319507787 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :309 -129856319511552:129856321356021 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :311 -129856326144210:129856326980680 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :312 -129856326986163:129856326986815 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :314 -129856326988581:129856326989210 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :315 -129856326991095:129856326994082 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :316 -129856326997461:129856328838450 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :318 -129856333608209:129856334440902 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :319 -129856334446427:129856334447095 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :321 -129856334448793:129856334449426 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :322 -129856334451308:129856334454120 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :323 -129856334457508:129856336307654 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :325 -129856341084552:129856341987761 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :326 -129856341992961:129856341993616 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :328 -129856341995311:129856341995915 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :329 -129856341997784:129856342000844 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :330 -129856342004209:129856343852827 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :332 -129856348628207:129856349358297 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :333 -129856349363641:129856349364301 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :335 -129856349365955:129856349366590 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :336 -129856349368410:129856349371392 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :337 -129856349374736:129856351215163 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :339 -129856356026231:129856356823939 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :340 -129856356829316:129856356829967 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :342 -129856356831607:129856356832235 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :343 -129856356834103:129856356837300 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :344 -129856356840997:129856358683474 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :346 -129856363457621:129856364292098 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :347 -129856364296242:129856364296921 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :349 -129856364298665:129856364299325 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :350 -129856364301137:129856364304805 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :351 -129856364308432:129856366185192 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :353 -129856371019019:129856371802348 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :354 -129856371807407:129856371808089 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :356 -129856371809769:129856371810408 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :357 -129856371812409:129856371815399 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :358 -129856371818730:129856373668223 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :360 -129856378427685:129856379260530 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :361 -129856379266028:129856379266680 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :363 -129856379268334:129856379268974 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :364 -129856379270951:129856379274011 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :365 -129856379277516:129856381125442 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :367 -129856385912709:129856386747747 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :368 -129856386753015:129856386753700 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :370 -129856386755603:129856386756230 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :371 -129856386758107:129856386761145 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :372 -129856386764527:129856388613300 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :374 -129856393418103:129856394255127 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :375 -129856394260727:129856394261393 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :377 -129856394263117:129856394263752 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :378 -129856394266100:129856394269007 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :379 -129856394272528:129856396115719 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :381 -PASSED! -## Iteration (44) ################# -PASSED! -## Iteration (43) ################# -PASSED! -## Iteration (42) ################# -PASSED! -## Iteration (41) ################# -PASSED! -## Iteration (40) ################# -PASSED! -## Iteration (39) ################# -PASSED! -## Iteration (38) ################# -PASSED! -## Iteration (37) ################# -PASSED! -## Iteration (36) ################# -PASSED! -## Iteration (35) ################# -PASSED! -## Iteration (34) ################# -PASSED! -## Iteration (33) ################# -PASSED! -## Iteration (32) ################# -129856400949298:129856401690102 0:0 CopyHostToDevice:382:14696 -129856401774737:129856402998097 0:0 KernelExecution:386:14696 -129856401746598:129856403538591 0:0 CopyDeviceToHost:388:14696 -129856408364229:129856409075649 0:0 CopyHostToDevice:389:14696 -129856409181579:129856410405739 0:0 KernelExecution:393:14696 -129856409154049:129856410946890 0:0 CopyDeviceToHost:395:14696 -129856415833858:129856416545026 0:0 CopyHostToDevice:396:14696 -129856416634688:129856417856288 0:0 KernelExecution:400:14696 -129856416607076:129856418397645 0:0 CopyDeviceToHost:402:14696 -129856423255064:129856423962733 0:0 CopyHostToDevice:403:14696 -129856424049344:129856425272224 0:0 KernelExecution:407:14696 -129856424021555:129856425837337 0:0 CopyDeviceToHost:409:14696 -129856430719717:129856431443207 0:0 CopyHostToDevice:410:14696 -129856431530370:129856432753411 0:0 KernelExecution:414:14696 -129856431502760:129856433290891 0:0 CopyDeviceToHost:416:14696 -129856438127461:129856438893077 0:0 CopyHostToDevice:417:14696 -129856438981153:129856440204834 0:0 KernelExecution:421:14696 -129856438953062:129856440755527 0:0 CopyDeviceToHost:423:14696 -129856445658301:129856446425541 0:0 CopyHostToDevice:424:14696 -129856446512512:129856447734433 0:0 KernelExecution:428:14696 -129856446484748:129856448303143 0:0 CopyDeviceToHost:430:14696 -129856453131279:129856453895371 0:0 CopyHostToDevice:431:14696 -129856453982502:129856455205222 0:0 KernelExecution:435:14696 -129856453954390:129856455747092 0:0 CopyDeviceToHost:437:14696 -129856460549446:129856461267384 0:0 CopyHostToDevice:438:14696 -129856461354488:129856462578648 0:0 KernelExecution:442:14696 -129856461327009:129856463119514 0:0 CopyDeviceToHost:444:14696 -129856467954463:129856468665082 0:0 CopyHostToDevice:445:14696 -129856468756966:129856469978566 0:0 KernelExecution:449:14696 -129856468728958:129856470519550 0:0 CopyDeviceToHost:451:14696 -129856475396016:129856476106990 0:0 CopyHostToDevice:452:14696 -129856476191506:129856477415026 0:0 KernelExecution:456:14696 -129856476164143:129856477979522 0:0 CopyDeviceToHost:458:14696 -129856482841902:129856483550322 0:0 CopyHostToDevice:459:14696 -129856483636804:129856484858245 0:0 KernelExecution:463:14696 -129856483608842:129856485404598 0:0 CopyDeviceToHost:465:14696 -129856490264533:129856491036044 0:0 CopyHostToDevice:466:14696 -129856491121979:129856492348219 0:0 KernelExecution:470:14696 -129856491094217:129856492893929 0:0 CopyDeviceToHost:472:14696 -129856497730065:129856498496809 0:0 CopyHostToDevice:473:14696 -129856498583201:129856499806882 0:0 KernelExecution:477:14696 -129856498555486:129856500349740 0:0 CopyDeviceToHost:479:14696 -129856400931528:129856401693841 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :382 -129856401698086:129856401698763 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :384 -129856401700644:129856401701356 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :385 -129856401703387:129856401706670 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :386 -129856401710202:129856403550731 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :388 -129856408346178:129856409079144 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :389 -129856409119575:129856409120361 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :391 -129856409122350:129856409122982 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :392 -129856409124716:129856409127974 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :393 -129856409131595:129856410958682 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :395 -129856415764088:129856416549283 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :396 -129856416554753:129856416555457 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :398 -129856416557440:129856416558065 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :399 -129856416560077:129856416563543 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :400 -129856416567086:129856418410890 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :402 -129856423185992:129856423965984 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :403 -129856423971156:129856423971813 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :405 -129856423973453:129856423974058 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :406 -129856423975959:129856423979023 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :407 -129856423982481:129856425851437 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :409 -129856430649566:129856431446819 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :410 -129856431451980:129856431452627 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :412 -129856431454467:129856431455103 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :413 -129856431457061:129856431460021 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :414 -129856431463427:129856433305223 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :416 -129856438060199:129856438896337 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :417 -129856438901614:129856438902293 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :419 -129856438903944:129856438904582 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :420 -129856438906471:129856438909460 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :421 -129856438913099:129856440770029 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :423 -129856445589904:129856446428787 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :424 -129856446434097:129856446434755 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :426 -129856446436446:129856446437074 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :427 -129856446438958:129856446442103 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :428 -129856446445611:129856448319675 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :430 -129856453113306:129856453898651 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :431 -129856453903924:129856453904588 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :433 -129856453906239:129856453906854 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :434 -129856453908740:129856453911874 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :435 -129856453915356:129856455761272 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :437 -129856460531599:129856461270590 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :438 -129856461275845:129856461276515 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :440 -129856461278198:129856461278850 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :441 -129856461280791:129856461283899 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :442 -129856461287388:129856463133280 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :444 -129856467884995:129856468668564 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :445 -129856468673055:129856468673710 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :447 -129856468675408:129856468676048 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :448 -129856468677942:129856468681455 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :449 -129856468685101:129856470532724 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :451 -129856475326269:129856476110399 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :452 -129856476115691:129856476116355 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :454 -129856476118083:129856476118692 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :455 -129856476120553:129856476123478 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :456 -129856476126929:129856477993159 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :458 -129856482771986:129856483553655 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :459 -129856483559048:129856483559715 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :461 -129856483561368:129856483561995 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :462 -129856483563875:129856483567045 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :463 -129856483570875:129856485418803 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :465 -129856490199703:129856491039451 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :466 -129856491044551:129856491045204 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :468 -129856491046844:129856491047481 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :469 -129856491049291:129856491052245 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :470 -129856491055528:129856492907612 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :472 -129856497665310:129856498500405 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :473 -129856498505506:129856498506141 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :475 -129856498507858:129856498508491 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :476 -129856498510523:129856498513554 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :477 -129856498517011:129856500365762 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :479 -PASSED! -## Iteration (31) ################# -PASSED! -## Iteration (30) ################# -PASSED! -## Iteration (29) ################# -PASSED! -## Iteration (28) ################# -PASSED! -## Iteration (27) ################# -PASSED! -## Iteration (26) ################# -PASSED! -## Iteration (25) ################# -PASSED! -## Iteration (24) ################# -PASSED! -## Iteration (23) ################# -PASSED! -## Iteration (22) ################# -PASSED! -## Iteration (21) ################# -PASSED! -## Iteration (20) ################# -PASSED! -## Iteration (19) ################# -PASSED! -## Iteration (18) ################# -129856505198157:129856505972108 0:0 CopyHostToDevice:480:14696 -129856506058878:129856507279678 0:0 KernelExecution:484:14696 -129856506031181:129856507818608 0:0 CopyDeviceToHost:486:14696 -129856512668452:129856513378344 0:0 CopyHostToDevice:487:14696 -129856513463906:129856514683906 0:0 KernelExecution:491:14696 -129856513435880:129856515225665 0:0 CopyDeviceToHost:493:14696 -129856520057898:129856520789533 0:0 CopyHostToDevice:494:14696 -129856520877018:129856522100858 0:0 KernelExecution:498:14696 -129856520849406:129856522643928 0:0 CopyDeviceToHost:500:14696 -129856527495540:129856528214422 0:0 CopyHostToDevice:501:14696 -129856528300948:129856529522228 0:0 KernelExecution:505:14696 -129856528273469:129856530060374 0:0 CopyDeviceToHost:507:14696 -129856534970413:129856535678341 0:0 CopyHostToDevice:508:14696 -129856535767312:129856536986193 0:0 KernelExecution:512:14696 -129856535739484:129856537527830 0:0 CopyDeviceToHost:514:14696 -129856542452848:129856543222239 0:0 CopyHostToDevice:515:14696 -129856543308707:129856544531907 0:0 KernelExecution:519:14696 -129856543281047:129856545069937 0:0 CopyDeviceToHost:521:14696 -129856549924160:129856550693828 0:0 CopyHostToDevice:522:14696 -129856550779510:129856552004150 0:0 KernelExecution:526:14696 -129856550751409:129856552552270 0:0 CopyDeviceToHost:528:14696 -129856557413139:129856558179223 0:0 CopyHostToDevice:529:14696 -129856558266309:129856559487269 0:0 KernelExecution:533:14696 -129856558237736:129856560027323 0:0 CopyDeviceToHost:535:14696 -129856564827841:129856565542599 0:0 CopyHostToDevice:536:14696 -129856565630041:129856566854841 0:0 KernelExecution:540:14696 -129856565602389:129856567397324 0:0 CopyDeviceToHost:542:14696 -129856572247710:129856572954375 0:0 CopyHostToDevice:543:14696 -129856573041963:129856574264203 0:0 KernelExecution:547:14696 -129856573013452:129856574809983 0:0 CopyDeviceToHost:549:14696 -129856579656436:129856580368439 0:0 CopyHostToDevice:550:14696 -129856580456039:129856581680039 0:0 KernelExecution:554:14696 -129856580428344:129856582226693 0:0 CopyDeviceToHost:556:14696 -129856587092681:129856587802199 0:0 CopyHostToDevice:557:14696 -129856587888587:129856589111627 0:0 KernelExecution:561:14696 -129856587861029:129856589654526 0:0 CopyDeviceToHost:563:14696 -129856594498640:129856595270698 0:0 CopyHostToDevice:564:14696 -129856595356053:129856596579733 0:0 KernelExecution:568:14696 -129856595328424:129856597128257 0:0 CopyDeviceToHost:570:14696 -129856601984341:129856602751266 0:0 CopyHostToDevice:571:14696 -129856505180003:129856505975222 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :480 -129856505980587:129856505981234 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :482 -129856505982935:129856505983566 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :483 -129856505985434:129856505988514 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :484 -129856505991997:129856507832334 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :486 -129856512649603:129856513382084 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :487 -129856513388119:129856513389080 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :489 -129856513391435:129856513392275 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :490 -129856513394697:129856513399367 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :491 -129856513404257:129856515239416 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :493 -129856519992571:129856520793180 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :494 -129856520798420:129856520799070 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :496 -129856520800911:129856520801530 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :497 -129856520803611:129856520806841 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :498 -129856520810545:129856522657358 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :500 -129856527425346:129856528218117 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :501 -129856528221975:129856528222627 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :503 -129856528224439:129856528225291 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :504 -129856528227108:129856528230172 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :505 -129856528233473:129856530074548 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :507 -129856534899214:129856535681957 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :508 -129856535686401:129856535687061 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :510 -129856535688790:129856535689423 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :511 -129856535691153:129856535694294 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :512 -129856535697671:129856537541753 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :514 -129856542387175:129856543225418 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :515 -129856543230911:129856543231570 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :517 -129856543233243:129856543233871 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :518 -129856543235930:129856543238762 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :519 -129856543242179:129856545084137 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :521 -129856549857104:129856550696919 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :522 -129856550702196:129856550702852 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :524 -129856550704612:129856550705254 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :525 -129856550707079:129856550709869 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :526 -129856550713182:129856552568840 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :528 -129856557336788:129856558182426 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :529 -129856558187727:129856558188380 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :531 -129856558190122:129856558190752 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :532 -129856558192774:129856558195554 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :533 -129856558199234:129856560041419 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :535 -129856564809360:129856565545640 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :536 -129856565549636:129856565550299 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :538 -129856565551969:129856565552581 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :539 -129856565554301:129856565557438 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :540 -129856565560847:129856567411065 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :542 -129856572215770:129856572957492 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :543 -129856572962526:129856572963184 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :545 -129856572964912:129856572965546 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :546 -129856572967421:129856572970453 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :547 -129856572974076:129856574823083 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :549 -129856579588261:129856580372449 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :550 -129856580376547:129856580377227 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :552 -129856580378975:129856580379619 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :553 -129856580381546:129856580384467 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :554 -129856580388205:129856582240020 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :556 -129856587022783:129856587805709 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :557 -129856587811171:129856587811825 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :559 -129856587813530:129856587814170 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :560 -129856587816040:129856587819243 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :561 -129856587822927:129856589666874 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :563 -129856594433516:129856595273993 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :564 -129856595278990:129856595279652 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :566 -129856595281384:129856595282018 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :567 -129856595283991:129856595287449 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :568 -129856595291045:129856597140491 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :570 -129856601919460:129856602754655 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :571 -129856602769740:129856602770661 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :573 -129856602772396:129856602773016 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :574 -129856602775079:129856602778192 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :575 -PASSED! -## Iteration (17) ################# -PASSED! -## Iteration (16) ################# -PASSED! -## Iteration (15) ################# -PASSED! -## Iteration (14) ################# -PASSED! -## Iteration (13) ################# -PASSED! -## Iteration (12) ################# -PASSED! -## Iteration (11) ################# -PASSED! -## Iteration (10) ################# -PASSED! -## Iteration (9) ################# -PASSED! -## Iteration (8) ################# -PASSED! -## Iteration (7) ################# -PASSED! -## Iteration (6) ################# -PASSED! -## Iteration (5) ################# -129856602843500:129856604064780 0:0 KernelExecution:575:14696 -129856602815760:129856604621212 0:0 CopyDeviceToHost:577:14696 -129856609545997:129856610317997 0:0 CopyHostToDevice:578:14696 -129856610406851:129856611631491 0:0 KernelExecution:582:14696 -129856610379025:129856612168754 0:0 CopyDeviceToHost:584:14696 -129856616987475:129856617701731 0:0 CopyHostToDevice:585:14696 -129856617790176:129856619014496 0:0 KernelExecution:589:14696 -129856617761809:129856619559063 0:0 CopyDeviceToHost:591:14696 -129856624349579:129856625289209 0:0 CopyHostToDevice:592:14696 -129856625377836:129856626603916 0:0 KernelExecution:596:14696 -129856625350001:129856627147692 0:0 CopyDeviceToHost:598:14696 -129856632033149:129856632742303 0:0 CopyHostToDevice:599:14696 -129856632836527:129856634057647 0:0 KernelExecution:603:14696 -129856632808948:129856634598487 0:0 CopyDeviceToHost:605:14696 -129856639443412:129856640151030 0:0 CopyHostToDevice:606:14696 -129856640260250:129856641484890 0:0 KernelExecution:610:14696 -129856640232509:129856642041965 0:0 CopyDeviceToHost:612:14696 -129856646912100:129856647619752 0:0 CopyHostToDevice:613:14696 -129856647705914:129856648930874 0:0 KernelExecution:617:14696 -129856647678197:129856649476287 0:0 CopyDeviceToHost:619:14696 -129856654338593:129856655101879 0:0 CopyHostToDevice:620:14696 -129856655189659:129856656412699 0:0 KernelExecution:624:14696 -129856655161891:129856656960409 0:0 CopyDeviceToHost:626:14696 -129856661822483:129856662586330 0:0 CopyHostToDevice:627:14696 -129856662679432:129856663900712 0:0 KernelExecution:631:14696 -129856662650940:129856664447428 0:0 CopyDeviceToHost:633:14696 -129856669274444:129856670036595 0:0 CopyHostToDevice:634:14696 -129856670129015:129856671350615 0:0 KernelExecution:638:14696 -129856670101388:129856671895354 0:0 CopyDeviceToHost:640:14696 -129856676687339:129856677401038 0:0 CopyHostToDevice:641:14696 -129856677491350:129856678712950 0:0 KernelExecution:645:14696 -129856677463387:129856679258027 0:0 CopyDeviceToHost:647:14696 -129856684088485:129856684823542 0:0 CopyHostToDevice:648:14696 -129856684910895:129856686132975 0:0 KernelExecution:652:14696 -129856684882539:129856686675228 0:0 CopyDeviceToHost:654:14696 -129856691574066:129856692284982 0:0 CopyHostToDevice:655:14696 -129856692371897:129856693594617 0:0 KernelExecution:659:14696 -129856692344278:129856694142257 0:0 CopyDeviceToHost:661:14696 -129856699000899:129856699713058 0:0 CopyHostToDevice:662:14696 -129856699797526:129856701023446 0:0 KernelExecution:666:14696 -129856699769937:129856701569372 0:0 CopyDeviceToHost:668:14696 -129856602781709:129856604636152 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :577 -129856609479851:129856610321075 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :578 -129856610326500:129856610327162 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :580 -129856610328857:129856610329498 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :581 -129856610331492:129856610334664 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :582 -129856610338048:129856612222255 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :584 -129856616969217:129856617705105 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :585 -129856617710485:129856617711142 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :587 -129856617712846:129856617713491 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :588 -129856617715518:129856617718644 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :589 -129856617722118:129856619570993 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :591 -129856624331436:129856625292310 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :592 -129856625297113:129856625297761 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :594 -129856625299459:129856625300093 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :595 -129856625301835:129856625305409 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :596 -129856625309051:129856627159676 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :598 -129856631962417:129856632745795 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :599 -129856632761013:129856632761762 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :601 -129856632763565:129856632764219 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :602 -129856632766094:129856632769110 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :603 -129856632772662:129856634610068 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :605 -129856639375744:129856640154106 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :606 -129856640159565:129856640160216 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :608 -129856640161841:129856640162476 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :609 -129856640164410:129856640167293 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :610 -129856640170703:129856642054780 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :612 -129856646841774:129856647623131 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :613 -129856647628076:129856647628742 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :615 -129856647630426:129856647631050 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :616 -129856647632957:129856647636281 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :617 -129856647639599:129856649488719 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :619 -129856654273909:129856655105030 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :620 -129856655109847:129856655110497 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :622 -129856655112292:129856655112914 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :623 -129856655114757:129856655118162 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :624 -129856655121792:129856656973292 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :626 -PASSED! -## Iteration (4) ################# -129856661755424:129856662589447 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :627 -129856662604066:129856662604831 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :629 -129856662606611:129856662607261 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :630 -129856662608995:129856662611988 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :631 -129856662615584:129856664462467 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :633 -129856669256336:129856670039683 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :634 -129856670054499:129856670055254 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :636 -129856670056982:129856670057615 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :637 -129856670059351:129856670062513 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :638 -129856670066200:129856671906923 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :640 -129856676668791:129856677404223 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :641 -129856677408812:129856677409484 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :643 -129856677411095:129856677411722 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :644 -129856677413461:129856677416941 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :645 -129856677420242:129856679269939 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :647 -129856684019418:129856684826552 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :648 -129856684832034:129856684832695 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :650 -129856684834368:129856684834970 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :651 -129856684836877:129856684839963 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :652 -129856684843320:129856686688518 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :654 -129856691504696:129856692288950 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :655 -129856692292859:129856692293513 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :657 -129856692295227:129856692295860 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :658 -129856692297819:129856692300821 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :659 -129856692304530:129856694153679 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :661 -129856698928289:129856699716162 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :662 -129856699720061:129856699720715 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :664 -129856699722330:129856699722941 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :665 -129856699724836:129856699728198 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :666 -129856699731887:129856701581422 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :668 -PASSED! -## Iteration (3) ################# -PASSED! -## Iteration (2) ################# -PASSED! -## Iteration (1) ################# -PASSED! -## Iteration (0) ################# -PASSED! -129856706468741:129856707235310 0:0 CopyHostToDevice:669:14696 -129856707327230:129856708548510 0:0 KernelExecution:673:14696 -129856707299810:129856709098218 0:0 CopyDeviceToHost:675:14696 -129856713958124:129856714730788 0:0 CopyHostToDevice:676:14696 -129856714818472:129856716040872 0:0 KernelExecution:680:14696 -129856714790211:129856716592662 0:0 CopyDeviceToHost:682:14696 -129856721429109:129856722193080 0:0 CopyHostToDevice:683:14696 -129856722282194:129856723505714 0:0 KernelExecution:687:14696 -129856722254384:129856724056420 0:0 CopyDeviceToHost:689:14696 -129856728891611:129856729607012 0:0 CopyHostToDevice:690:14696 -129856729693911:129856730917431 0:0 KernelExecution:694:14696 -129856729665766:129856731460761 0:0 CopyDeviceToHost:696:14696 -129856736249266:129856736963101 0:0 CopyHostToDevice:697:14696 -129856737053267:129856738276147 0:0 KernelExecution:701:14696 -129856737025461:129856738822547 0:0 CopyDeviceToHost:703:14696 -129856706409352:129856707238410 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :669 -129856707253495:129856707254390 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :671 -129856707256214:129856707256878 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :672 -129856707258659:129856707261885 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :673 -129856707265698:129856709110388 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :675 -129856713891418:129856714734007 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :676 -129856714739058:129856714739715 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :678 -129856714741339:129856714741972 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :679 -129856714743986:129856714747316 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :680 -129856714750976:129856716607126 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :682 -129856721364192:129856722196489 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :683 -129856722202102:129856722202759 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :685 -129856722204452:129856722205080 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :686 -129856722207098:129856722210100 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :687 -129856722213452:129856724068250 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :689 -129856728873958:129856729610520 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :690 -129856729615953:129856729616618 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :692 -129856729618275:129856729618880 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :693 -129856729620844:129856729623983 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :694 -129856729627363:129856731472859 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :696 -129856736212718:129856736966611 14696:14696 hipMemcpy(dst=0x7fd65ce00000, src=0x7fd7781ff010, sizeBytes=4194304, kind=1) :697 -129856736971498:129856736972186 14696:14696 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :699 -129856736973934:129856736974581 14696:14696 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :700 -129856736976433:129856736979849 14696:14696 hipLaunchKernel(function_address=0x4010c0, numBlocks={}, dimBlocks={}, args=0x7ffe6d9cea08, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :701 -129856736983603:129856738834349 14696:14696 hipMemcpy(dst=0x7fd65d707010, src=0x7fd65c800000, sizeBytes=4194304, kind=2) :703 -129856743571751:129856743607276 14696:14696 hipFree(ptr=0x7fd65ce00000) :704 -129856743609591:129856743621235 14696:14696 hipFree(ptr=0x7fd65c800000) :705 +0x21fde60 agent cpu +0x21ff890 agent cpu +0x2239bd0 agent gpu +0x223ddf0 agent gpu +0x2242290 agent gpu +0x2246740 agent gpu +6503209724059324 +ROCtracer (35331): +ROCtracer: trace control flush rate(100000us) + HIP-trace(*) +6503209734529563:6503209734531917 35331:35331 hipGetDeviceProperties(props={pageableMemoryAccessUsesHostPageTables=0, pageableMemoryAccess=0, concurrentManagedAccess=1, directManagedMemAccessFromHost=0, managedMemory=1, asicRevision=1, isLargeBar=1, cooperativeMultiDeviceUnmatchedSharedMem=1, cooperativeMultiDeviceUnmatchedBlockDim=1, cooperativeMultiDeviceUnmatchedGridDim=1, cooperativeMultiDeviceUnmatchedFunc=1, tccDriver=0, ECCEnabled=0, kernelExecTimeoutEnabled=0, texturePitchAlignment=256, textureAlignment=256, memPitch=2147483647, hdpRegFlushCntl=0x7f1f3948c004, hdpMemFlushCntl=0x7f1f3948c000, maxTexture3D=0x7f1e76c31318, maxTexture2D=0x7f1e76c31310, maxTexture1D=16384, maxTexture1DLinear=2147483647, cooperativeMultiDeviceLaunch=1, cooperativeLaunch=1, integrated=0, gcnArchName="gfx90a:sramecc+:xnack-", gcnArch=910, canMapHostMemory=1, isMultiGpuBoard=0, maxSharedMemoryPerMultiProcessor=65536, pciDeviceID=0, pciBusID=74, pciDomainID=0, concurrentKernels=1, arch={}, clockInstructionRate=1000000, computeMode=0, maxThreadsPerMultiProcessor=2048, l2CacheSize=8388608, multiProcessorCount=104, minor=0, major=9, totalConstMem=2147483647, memoryBusWidth=4096, memoryClockRate=1600000, clockRate=1700000, maxGridSize=0x7f1e76c31198, maxThreadsDim=0x7f1e76c3118c, maxThreadsPerBlock=1024, warpSize=64, regsPerBlock=65536, sharedMemPerBlock=65536, totalGlobalMem=68702699520, name="AMD Instinct MI210"}, device=0) :1 +6503209735378958:6503209735406670 35331:35331 hipMalloc(ptr=0x7f19f7a00000, size=4194304) :2 +6503209735407101:6503209735423080 35331:35331 hipMalloc(ptr=0x7f19f7400000, size=4194304) :3 +6503209978814181:6503209979619458 2:0 CopyHostToDevice:4:35331 +6503209980083977:6503209980169097 2:0 matrixTranspose(float*, float*, int):7:35331 +6503209981680453:6503209984909684 2:0 CopyDeviceToHost:8:35331 +6503209994109180:6503209995685815 2:0 CopyHostToDevice:9:35331 +6503209995761855:6503209995862975 2:0 matrixTranspose(float*, float*, int):12:35331 +6503209995867135:6503209997327251 2:0 CopyDeviceToHost:13:35331 +6503210005717148:6503210007365784 2:0 CopyHostToDevice:14:35331 +6503210007436384:6503210007539904 2:0 matrixTranspose(float*, float*, int):17:35331 +6503210007543584:6503210008994420 2:0 CopyDeviceToHost:18:35331 +6503210017396637:6503210019047993 2:0 CopyHostToDevice:19:35331 +6503210019116193:6503210019222752 2:0 matrixTranspose(float*, float*, int):22:35331 +6503210019226432:6503210020670388 2:0 CopyDeviceToHost:23:35331 +6503209735433059:6503209979689030 35331:35331 hipMemcpy(dst=0x7f19f7a00000, src=0x7f19fc9ff010, sizeBytes=4194304, kind=1) :4 +6503209979696614:6503209979697045 35331:35331 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :5 +6503209979701393:6503209979701654 35331:35331 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :6 +6503209979703096:6503209980073714 35331:35331 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffc8155e688, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :7 +6503209980087790:6503209985036979 35331:35331 hipMemcpy(dst=0x7f19fc5fe010, src=0x7f19f7400000, sizeBytes=4194304, kind=2) :8 +6503209994087224:6503209995737275 35331:35331 hipMemcpy(dst=0x7f19f7a00000, src=0x7f19fc9ff010, sizeBytes=4194304, kind=1) :9 +6503209995740781:6503209995741012 35331:35331 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :10 +6503209995741503:6503209995741663 35331:35331 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :11 +6503209995741943:6503209995748686 35331:35331 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffc8155e688, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :12 +6503209995750359:6503209997440904 35331:35331 hipMemcpy(dst=0x7f19fc5fe010, src=0x7f19f7400000, sizeBytes=4194304, kind=2) :13 +6503210005702036:6503210007416737 35331:35331 hipMemcpy(dst=0x7f19f7a00000, src=0x7f19fc9ff010, sizeBytes=4194304, kind=1) :14 +6503210007419652:6503210007419802 35331:35331 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :15 +6503210007420093:6503210007420233 35331:35331 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :16 +6503210007420464:6503210007424171 35331:35331 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffc8155e688, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :17 +6503210007424591:6503210009107362 35331:35331 hipMemcpy(dst=0x7f19fc5fe010, src=0x7f19f7400000, sizeBytes=4194304, kind=2) :18 +6503210017382250:6503210019098583 35331:35331 hipMemcpy(dst=0x7f19f7a00000, src=0x7f19fc9ff010, sizeBytes=4194304, kind=1) :19 +6503210019099114:6503210019099254 35331:35331 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :20 +6503210019099474:6503210019099595 35331:35331 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :21 +6503210019099845:6503210019104073 35331:35331 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffc8155e688, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :22 +6503210019104454:6503210020779761 35331:35331 hipMemcpy(dst=0x7f19fc5fe010, src=0x7f19f7400000, sizeBytes=4194304, kind=2) :23 +6503210029076606:6503210030728121 2:0 CopyHostToDevice:24:35331 +6503210030793281:6503210030895521 2:0 matrixTranspose(float*, float*, int):27:35331 +6503210030899201:6503210032343317 2:0 CopyDeviceToHost:28:35331 +6503210040715328:6503210042368282 2:0 CopyHostToDevice:29:35331 +6503210042440800:6503210042542880 2:0 matrixTranspose(float*, float*, int):32:35331 +6503210042546560:6503210043989715 2:0 CopyDeviceToHost:33:35331 +6503210052371125:6503210054023439 2:0 CopyHostToDevice:34:35331 +6503210054093079:6503210054195158 2:0 matrixTranspose(float*, float*, int):37:35331 +6503210054198838:6503210055644233 2:0 CopyDeviceToHost:38:35331 +6503210064560521:6503210066213955 2:0 CopyHostToDevice:39:35331 +6503210066279755:6503210066381835 2:0 matrixTranspose(float*, float*, int):42:35331 +6503210066385515:6503210067829149 2:0 CopyDeviceToHost:43:35331 +6503210076195679:6503210077863833 2:0 CopyHostToDevice:44:35331 +6503210077934113:6503210078036193 2:0 matrixTranspose(float*, float*, int):47:35331 +6503210078040033:6503210079483188 2:0 CopyDeviceToHost:48:35331 +6503210088352916:6503210090004750 2:0 CopyHostToDevice:49:35331 +6503210090070070:6503210090172149 2:0 matrixTranspose(float*, float*, int):52:35331 +6503210090175669:6503210091618984 2:0 CopyDeviceToHost:53:35331 +6503210100501672:6503210102156066 2:0 CopyHostToDevice:54:35331 +6503210102222026:6503210102324106 2:0 matrixTranspose(float*, float*, int):57:35331 +6503210102327946:6503210103774141 2:0 CopyDeviceToHost:58:35331 +6503210112110867:6503210113766700 2:0 CopyHostToDevice:59:35331 +6503210113844338:6503210113947698 2:0 matrixTranspose(float*, float*, int):62:35331 +6503210113951378:6503210115396771 2:0 CopyDeviceToHost:63:35331 +6503210029060790:6503210030776071 35331:35331 hipMemcpy(dst=0x7f19f7a00000, src=0x7f19fc9ff010, sizeBytes=4194304, kind=1) :24 +6503210030776722:6503210030776813 35331:35331 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :25 +6503210030777083:6503210030777213 35331:35331 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :26 +6503210030777534:6503210030780930 35331:35331 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffc8155e688, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :27 +6503210030783495:6503210032454133 35331:35331 hipMemcpy(dst=0x7f19fc5fe010, src=0x7f19f7400000, sizeBytes=4194304, kind=2) :28 +6503210040700588:6503210042424295 35331:35331 hipMemcpy(dst=0x7f19f7a00000, src=0x7f19fc9ff010, sizeBytes=4194304, kind=1) :29 +6503210042424756:6503210042424896 35331:35331 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :30 +6503210042425107:6503210042425237 35331:35331 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :31 +6503210042425457:6503210042428863 35331:35331 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffc8155e688, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :32 +6503210042432991:6503210044098270 35331:35331 hipMemcpy(dst=0x7f19fc5fe010, src=0x7f19f7400000, sizeBytes=4194304, kind=2) :33 +6503210052357328:6503210054074643 35331:35331 hipMemcpy(dst=0x7f19f7a00000, src=0x7f19fc9ff010, sizeBytes=4194304, kind=1) :34 +6503210054075114:6503210054075204 35331:35331 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :35 +6503210054075394:6503210054075505 35331:35331 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :36 +6503210054077799:6503210054081145 35331:35331 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffc8155e688, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :37 +6503210054081536:6503210055752064 35331:35331 hipMemcpy(dst=0x7f19fc5fe010, src=0x7f19f7400000, sizeBytes=4194304, kind=2) :38 +6503210064546646:6503210066261336 35331:35331 hipMemcpy(dst=0x7f19f7a00000, src=0x7f19fc9ff010, sizeBytes=4194304, kind=1) :39 +6503210066261796:6503210066261907 35331:35331 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :40 +6503210066262137:6503210066262227 35331:35331 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :41 +6503210066264632:6503210066267798 35331:35331 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffc8155e688, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :42 +6503210066268178:6503210067936813 35331:35331 hipMemcpy(dst=0x7f19fc5fe010, src=0x7f19f7400000, sizeBytes=4194304, kind=2) :43 +6503210076181475:6503210077915942 35331:35331 hipMemcpy(dst=0x7f19f7a00000, src=0x7f19fc9ff010, sizeBytes=4194304, kind=1) :44 +6503210077916312:6503210077916473 35331:35331 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :45 +6503210077918687:6503210077918827 35331:35331 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :46 +6503210077919047:6503210077922233 35331:35331 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffc8155e688, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :47 +6503210077922664:6503210079590527 35331:35331 hipMemcpy(dst=0x7f19fc5fe010, src=0x7f19f7400000, sizeBytes=4194304, kind=2) :48 +6503210088339324:6503210090051840 35331:35331 hipMemcpy(dst=0x7f19f7a00000, src=0x7f19fc9ff010, sizeBytes=4194304, kind=1) :49 +6503210090052241:6503210090052371 35331:35331 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :50 +6503210090054485:6503210090054625 35331:35331 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :51 +6503210090054855:6503210090058121 35331:35331 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffc8155e688, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :52 +6503210090058462:6503210091724542 35331:35331 hipMemcpy(dst=0x7f19fc5fe010, src=0x7f19f7400000, sizeBytes=4194304, kind=2) :53 +6503210100488016:6503210102203548 35331:35331 hipMemcpy(dst=0x7f19f7a00000, src=0x7f19fc9ff010, sizeBytes=4194304, kind=1) :54 +6503210102205732:6503210102205872 35331:35331 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :55 +6503210102206082:6503210102206213 35331:35331 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :56 +6503210102206463:6503210102210010 35331:35331 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffc8155e688, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :57 +6503210102210380:6503210103881750 35331:35331 hipMemcpy(dst=0x7f19fc5fe010, src=0x7f19f7400000, sizeBytes=4194304, kind=2) :58 +6503210112098009:6503210113825333 35331:35331 hipMemcpy(dst=0x7f19f7a00000, src=0x7f19fc9ff010, sizeBytes=4194304, kind=1) :59 +6503210113828058:6503210113828198 35331:35331 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :60 +6503210113828388:6503210113828519 35331:35331 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :61 +6503210113828889:6503210113832867 35331:35331 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffc8155e688, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :62 +6503210113833307:6503210115506611 35331:35331 hipMemcpy(dst=0x7f19fc5fe010, src=0x7f19f7400000, sizeBytes=4194304, kind=2) :63 +6503210123754974:6503210125414806 2:0 CopyHostToDevice:64:35331 +6503210125480606:6503210125582365 2:0 matrixTranspose(float*, float*, int):67:35331 +6503210125585885:6503210127028879 2:0 CopyDeviceToHost:68:35331 +6503210135409161:6503210137061633 2:0 CopyHostToDevice:69:35331 +6503210137127913:6503210137231913 2:0 matrixTranspose(float*, float*, int):72:35331 +6503210137235753:6503210138677786 2:0 CopyDeviceToHost:73:35331 +6503210147599026:6503210149250218 2:0 CopyHostToDevice:74:35331 +6503210149317778:6503210149419538 2:0 matrixTranspose(float*, float*, int):77:35331 +6503210149423378:6503210150866211 2:0 CopyDeviceToHost:78:35331 +6503210159229213:6503210160882006 2:0 CopyHostToDevice:79:35331 +6503210160948285:6503210161050205 2:0 matrixTranspose(float*, float*, int):82:35331 +6503210161053885:6503210162499918 2:0 CopyDeviceToHost:83:35331 +6503210170875401:6503210172542113 2:0 CopyHostToDevice:84:35331 +6503210172609833:6503210172712232 2:0 matrixTranspose(float*, float*, int):87:35331 +6503210172715912:6503210174186746 2:0 CopyDeviceToHost:88:35331 +6503210182557576:6503210184208611 2:0 CopyHostToDevice:89:35331 +6503210184280809:6503210184383369 2:0 matrixTranspose(float*, float*, int):92:35331 +6503210184387049:6503210185831324 2:0 CopyDeviceToHost:93:35331 +6503210194685533:6503210196337527 2:0 CopyHostToDevice:94:35331 +6503210196406687:6503210196508767 2:0 matrixTranspose(float*, float*, int):97:35331 +6503210196512607:6503210197956242 2:0 CopyDeviceToHost:98:35331 +6503210206316372:6503210207967406 2:0 CopyHostToDevice:99:35331 +6503210208037686:6503210208139766 2:0 matrixTranspose(float*, float*, int):102:35331 +6503210208143446:6503210209588201 2:0 CopyDeviceToHost:103:35331 +6503210217934252:6503210219584806 2:0 CopyHostToDevice:104:35331 +6503210219650605:6503210219752205 2:0 matrixTranspose(float*, float*, int):107:35331 +6503210219755885:6503210221203520 2:0 CopyDeviceToHost:108:35331 +6503210123741484:6503210125463969 35331:35331 hipMemcpy(dst=0x7f19f7a00000, src=0x7f19fc9ff010, sizeBytes=4194304, kind=1) :64 +6503210125464811:6503210125464901 35331:35331 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :65 +6503210125465201:6503210125465321 35331:35331 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :66 +6503210125465632:6503210125469068 35331:35331 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffc8155e688, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :67 +6503210125469589:6503210127137302 35331:35331 hipMemcpy(dst=0x7f19fc5fe010, src=0x7f19f7400000, sizeBytes=4194304, kind=2) :68 +6503210135395218:6503210137111722 35331:35331 hipMemcpy(dst=0x7f19f7a00000, src=0x7f19fc9ff010, sizeBytes=4194304, kind=1) :69 +6503210137112112:6503210137112263 35331:35331 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :70 +6503210137112493:6503210137112623 35331:35331 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :71 +6503210137112844:6503210137116330 35331:35331 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffc8155e688, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :72 +6503210137118444:6503210138787510 35331:35331 hipMemcpy(dst=0x7f19fc5fe010, src=0x7f19f7400000, sizeBytes=4194304, kind=2) :73 +6503210147585037:6503210149301811 35331:35331 hipMemcpy(dst=0x7f19f7a00000, src=0x7f19fc9ff010, sizeBytes=4194304, kind=1) :74 +6503210149302232:6503210149302372 35331:35331 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :75 +6503210149302582:6503210149302702 35331:35331 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :76 +6503210149302913:6503210149306179 35331:35331 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffc8155e688, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :77 +6503210149308704:6503210150974684 35331:35331 hipMemcpy(dst=0x7f19fc5fe010, src=0x7f19f7400000, sizeBytes=4194304, kind=2) :78 +6503210159216530:6503210160930018 35331:35331 hipMemcpy(dst=0x7f19f7a00000, src=0x7f19fc9ff010, sizeBytes=4194304, kind=1) :79 +6503210160930449:6503210160930579 35331:35331 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :80 +6503210160930759:6503210160930869 35331:35331 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :81 +6503210160933294:6503210160936600 35331:35331 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffc8155e688, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :82 +6503210160936991:6503210162608491 35331:35331 hipMemcpy(dst=0x7f19fc5fe010, src=0x7f19f7400000, sizeBytes=4194304, kind=2) :83 +6503210170862119:6503210172590714 35331:35331 hipMemcpy(dst=0x7f19f7a00000, src=0x7f19fc9ff010, sizeBytes=4194304, kind=1) :84 +6503210172591115:6503210172591235 35331:35331 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :85 +6503210172591436:6503210172591566 35331:35331 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :86 +6503210172595143:6503210172598329 35331:35331 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffc8155e688, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :87 +6503210172598689:6503210174298051 35331:35331 hipMemcpy(dst=0x7f19fc5fe010, src=0x7f19f7400000, sizeBytes=4194304, kind=2) :88 +6503210182544005:6503210184262582 35331:35331 hipMemcpy(dst=0x7f19f7a00000, src=0x7f19fc9ff010, sizeBytes=4194304, kind=1) :89 +6503210184263033:6503210184263133 35331:35331 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :90 +6503210184265157:6503210184265297 35331:35331 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :91 +6503210184265538:6503210184268804 35331:35331 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffc8155e688, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :92 +6503210184269185:6503210185939693 35331:35331 hipMemcpy(dst=0x7f19fc5fe010, src=0x7f19f7400000, sizeBytes=4194304, kind=2) :93 +6503210194672109:6503210196385186 35331:35331 hipMemcpy(dst=0x7f19f7a00000, src=0x7f19fc9ff010, sizeBytes=4194304, kind=1) :94 +6503210196385617:6503210196385727 35331:35331 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :95 +6503210196390917:6503210196391047 35331:35331 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :96 +6503210196391288:6503210196394534 35331:35331 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffc8155e688, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :97 +6503210196395065:6503210198065643 35331:35331 hipMemcpy(dst=0x7f19fc5fe010, src=0x7f19f7400000, sizeBytes=4194304, kind=2) :98 +6503210206302971:6503210208019605 35331:35331 hipMemcpy(dst=0x7f19f7a00000, src=0x7f19fc9ff010, sizeBytes=4194304, kind=1) :99 +6503210208021769:6503210208021919 35331:35331 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :100 +6503210208022109:6503210208022230 35331:35331 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :101 +6503210208022480:6503210208025616 35331:35331 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffc8155e688, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :102 +6503210208026027:6503210209696425 35331:35331 hipMemcpy(dst=0x7f19fc5fe010, src=0x7f19f7400000, sizeBytes=4194304, kind=2) :103 +6503210217920678:6503210219631912 35331:35331 hipMemcpy(dst=0x7f19f7a00000, src=0x7f19fc9ff010, sizeBytes=4194304, kind=1) :104 +6503210219634487:6503210219634607 35331:35331 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :105 +6503210219634857:6503210219634977 35331:35331 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :106 +6503210219635208:6503210219638524 35331:35331 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffc8155e688, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :107 +6503210219639005:6503210221311988 35331:35331 hipMemcpy(dst=0x7f19fc5fe010, src=0x7f19f7400000, sizeBytes=4194304, kind=2) :108 +6503210229575811:6503210231227325 2:0 CopyHostToDevice:109:35331 +6503210231294245:6503210231396004 2:0 matrixTranspose(float*, float*, int):112:35331 +6503210231399684:6503210232882999 2:0 CopyDeviceToHost:113:35331 +6503210241818168:6503210243474482 2:0 CopyHostToDevice:114:35331 +6503210243540762:6503210243642681 2:0 matrixTranspose(float*, float*, int):117:35331 +6503210243646361:6503210245111276 2:0 CopyDeviceToHost:118:35331 +6503210253536692:6503210255190285 2:0 CopyHostToDevice:119:35331 +6503210255263123:6503210255364883 2:0 matrixTranspose(float*, float*, int):122:35331 +6503210255368723:6503210256818757 2:0 CopyDeviceToHost:123:35331 +6503210265732641:6503210267385274 2:0 CopyHostToDevice:124:35331 +6503210267455393:6503210267557793 2:0 matrixTranspose(float*, float*, int):127:35331 +6503210267561473:6503210269015667 2:0 CopyDeviceToHost:128:35331 +6503210277598192:6503210279249545 2:0 CopyHostToDevice:129:35331 +6503210279319185:6503210279421104 2:0 matrixTranspose(float*, float*, int):132:35331 +6503210279424784:6503210280874338 2:0 CopyDeviceToHost:133:35331 +6503210289260224:6503210290912697 2:0 CopyHostToDevice:134:35331 +6503210290983137:6503210291085217 2:0 matrixTranspose(float*, float*, int):137:35331 +6503210291089057:6503210292533171 2:0 CopyDeviceToHost:138:35331 +6503210300907376:6503210302558730 2:0 CopyHostToDevice:139:35331 +6503210302628049:6503210302730129 2:0 matrixTranspose(float*, float*, int):142:35331 +6503210302733809:6503210304178563 2:0 CopyDeviceToHost:143:35331 +6503210312547809:6503210314201242 2:0 CopyHostToDevice:144:35331 +6503210314267522:6503210314369601 2:0 matrixTranspose(float*, float*, int):147:35331 +6503210314373121:6503210315816595 2:0 CopyDeviceToHost:148:35331 +6503210229562500:6503210231277591 35331:35331 hipMemcpy(dst=0x7f19f7a00000, src=0x7f19fc9ff010, sizeBytes=4194304, kind=1) :109 +6503210231278423:6503210231278513 35331:35331 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :110 +6503210231278803:6503210231278924 35331:35331 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :111 +6503210231279164:6503210231282240 35331:35331 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffc8155e688, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :112 +6503210231282681:6503210233000296 35331:35331 hipMemcpy(dst=0x7f19fc5fe010, src=0x7f19f7400000, sizeBytes=4194304, kind=2) :113 +6503210241804135:6503210243524255 35331:35331 hipMemcpy(dst=0x7f19f7a00000, src=0x7f19fc9ff010, sizeBytes=4194304, kind=1) :114 +6503210243524656:6503210243524756 35331:35331 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :115 +6503210243524926:6503210243525046 35331:35331 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :116 +6503210243525277:6503210243528703 35331:35331 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffc8155e688, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :117 +6503210243530877:6503210245227574 35331:35331 hipMemcpy(dst=0x7f19fc5fe010, src=0x7f19f7400000, sizeBytes=4194304, kind=2) :118 +6503210253522920:6503210255246977 35331:35331 hipMemcpy(dst=0x7f19f7a00000, src=0x7f19fc9ff010, sizeBytes=4194304, kind=1) :119 +6503210255247438:6503210255247558 35331:35331 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :120 +6503210255247789:6503210255247909 35331:35331 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :121 +6503210255248169:6503210255251365 35331:35331 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffc8155e688, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :122 +6503210255253920:6503210256939426 35331:35331 hipMemcpy(dst=0x7f19fc5fe010, src=0x7f19f7400000, sizeBytes=4194304, kind=2) :123 +6503210265719601:6503210267437236 35331:35331 hipMemcpy(dst=0x7f19f7a00000, src=0x7f19fc9ff010, sizeBytes=4194304, kind=1) :124 +6503210267437627:6503210267437747 35331:35331 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :125 +6503210267437968:6503210267438078 35331:35331 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :126 +6503210267440492:6503210267443688 35331:35331 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffc8155e688, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :127 +6503210267444109:6503210269129916 35331:35331 hipMemcpy(dst=0x7f19fc5fe010, src=0x7f19f7400000, sizeBytes=4194304, kind=2) :128 +6503210277584437:6503210279300810 35331:35331 hipMemcpy(dst=0x7f19f7a00000, src=0x7f19fc9ff010, sizeBytes=4194304, kind=1) :129 +6503210279301261:6503210279301401 35331:35331 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :130 +6503210279301671:6503210279301792 35331:35331 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :131 +6503210279304346:6503210279307522 35331:35331 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffc8155e688, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :132 +6503210279307933:6503210280988640 35331:35331 hipMemcpy(dst=0x7f19fc5fe010, src=0x7f19f7400000, sizeBytes=4194304, kind=2) :133 +6503210289246847:6503210290965093 35331:35331 hipMemcpy(dst=0x7f19f7a00000, src=0x7f19fc9ff010, sizeBytes=4194304, kind=1) :134 +6503210290965514:6503210290965645 35331:35331 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :135 +6503210290967768:6503210290967889 35331:35331 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :136 +6503210290968169:6503210290971425 35331:35331 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffc8155e688, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :137 +6503210290971806:6503210292641222 35331:35331 hipMemcpy(dst=0x7f19fc5fe010, src=0x7f19f7400000, sizeBytes=4194304, kind=2) :138 +6503210300894099:6503210302609931 35331:35331 hipMemcpy(dst=0x7f19f7a00000, src=0x7f19fc9ff010, sizeBytes=4194304, kind=1) :139 +6503210302610392:6503210302610492 35331:35331 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :140 +6503210302612446:6503210302612586 35331:35331 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :141 +6503210302612857:6503210302616123 35331:35331 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffc8155e688, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :142 +6503210302616584:6503210304286501 35331:35331 hipMemcpy(dst=0x7f19fc5fe010, src=0x7f19f7400000, sizeBytes=4194304, kind=2) :143 +6503210312534909:6503210314249539 35331:35331 hipMemcpy(dst=0x7f19f7a00000, src=0x7f19fc9ff010, sizeBytes=4194304, kind=1) :144 +6503210314251813:6503210314251934 35331:35331 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :145 +6503210314252204:6503210314252324 35331:35331 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :146 +6503210314252585:6503210314255711 35331:35331 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffc8155e688, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :147 +6503210314256091:6503210315925297 35331:35331 hipMemcpy(dst=0x7f19fc5fe010, src=0x7f19f7400000, sizeBytes=4194304, kind=2) :148 +6503210324183531:6503210325837284 2:0 CopyHostToDevice:149:35331 +6503210325912842:6503210326015722 2:0 matrixTranspose(float*, float*, int):152:35331 +6503210326019402:6503210327465916 2:0 CopyDeviceToHost:153:35331 +6503210335831961:6503210337492434 2:0 CopyHostToDevice:154:35331 +6503210337580473:6503210337682233 2:0 matrixTranspose(float*, float*, int):157:35331 +6503210337686073:6503210339132907 2:0 CopyDeviceToHost:158:35331 +6503210348021029:6503210349674942 2:0 CopyHostToDevice:159:35331 +6503210349740262:6503210349846021 2:0 matrixTranspose(float*, float*, int):162:35331 +6503210349849701:6503210351297815 2:0 CopyDeviceToHost:163:35331 +6503210359647380:6503210361302893 2:0 CopyHostToDevice:164:35331 +6503210361389813:6503210361491572 2:0 matrixTranspose(float*, float*, int):167:35331 +6503210361495412:6503210362940006 2:0 CopyDeviceToHost:168:35331 +6503210371314691:6503210372968284 2:0 CopyHostToDevice:169:35331 +6503210373048644:6503210373150563 2:0 matrixTranspose(float*, float*, int):172:35331 +6503210373154243:6503210374617877 2:0 CopyDeviceToHost:173:35331 +6503210383017682:6503210384692714 2:0 CopyHostToDevice:174:35331 +6503210384765234:6503210384867634 2:0 matrixTranspose(float*, float*, int):177:35331 +6503210384871474:6503210386314948 2:0 CopyDeviceToHost:178:35331 +6503210394700772:6503210396409404 2:0 CopyHostToDevice:179:35331 +6503210396484162:6503210396586242 2:0 matrixTranspose(float*, float*, int):182:35331 +6503210396589922:6503210398071155 2:0 CopyDeviceToHost:183:35331 +6503210407004395:6503210408654947 2:0 CopyHostToDevice:184:35331 +6503210408726827:6503210408829226 2:0 matrixTranspose(float*, float*, int):187:35331 +6503210408832906:6503210410293660 2:0 CopyDeviceToHost:188:35331 +6503210419220499:6503210420887211 2:0 CopyHostToDevice:189:35331 +6503210420952691:6503210421054931 2:0 matrixTranspose(float*, float*, int):192:35331 +6503210421058611:6503210422501444 2:0 CopyDeviceToHost:193:35331 +6503210324170330:6503210325893976 35331:35331 hipMemcpy(dst=0x7f19f7a00000, src=0x7f19fc9ff010, sizeBytes=4194304, kind=1) :149 +6503210325896952:6503210325897082 35331:35331 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :150 +6503210325897282:6503210325897403 35331:35331 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :151 +6503210325897673:6503210325900849 35331:35331 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffc8155e688, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :152 +6503210325901390:6503210327573671 35331:35331 hipMemcpy(dst=0x7f19fc5fe010, src=0x7f19f7400000, sizeBytes=4194304, kind=2) :153 +6503210335818373:6503210337564121 35331:35331 hipMemcpy(dst=0x7f19f7a00000, src=0x7f19fc9ff010, sizeBytes=4194304, kind=1) :154 +6503210337564561:6503210337564702 35331:35331 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :155 +6503210337564932:6503210337565042 35331:35331 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :156 +6503210337565293:6503210337568729 35331:35331 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffc8155e688, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :157 +6503210337569150:6503210339241812 35331:35331 hipMemcpy(dst=0x7f19fc5fe010, src=0x7f19f7400000, sizeBytes=4194304, kind=2) :158 +6503210348008101:6503210349724094 35331:35331 hipMemcpy(dst=0x7f19f7a00000, src=0x7f19fc9ff010, sizeBytes=4194304, kind=1) :159 +6503210349724505:6503210349724635 35331:35331 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :160 +6503210349724845:6503210349724975 35331:35331 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :161 +6503210349725196:6503210349728512 35331:35331 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffc8155e688, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :162 +6503210349731698:6503210351407356 35331:35331 hipMemcpy(dst=0x7f19fc5fe010, src=0x7f19f7400000, sizeBytes=4194304, kind=2) :163 +6503210359634144:6503210361373791 35331:35331 hipMemcpy(dst=0x7f19f7a00000, src=0x7f19fc9ff010, sizeBytes=4194304, kind=1) :164 +6503210361374241:6503210361374362 35331:35331 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :165 +6503210361374602:6503210361374712 35331:35331 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :166 +6503210361374983:6503210361378219 35331:35331 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffc8155e688, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :167 +6503210361380343:6503210363048967 35331:35331 hipMemcpy(dst=0x7f19fc5fe010, src=0x7f19f7400000, sizeBytes=4194304, kind=2) :168 +6503210371301383:6503210373030941 35331:35331 hipMemcpy(dst=0x7f19f7a00000, src=0x7f19fc9ff010, sizeBytes=4194304, kind=1) :169 +6503210373031292:6503210373031402 35331:35331 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :170 +6503210373031572:6503210373031683 35331:35331 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :171 +6503210373033807:6503210373037013 35331:35331 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffc8155e688, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :172 +6503210373037403:6503210374734290 35331:35331 hipMemcpy(dst=0x7f19fc5fe010, src=0x7f19f7400000, sizeBytes=4194304, kind=2) :173 +6503210383004048:6503210384746339 35331:35331 hipMemcpy(dst=0x7f19f7a00000, src=0x7f19fc9ff010, sizeBytes=4194304, kind=1) :174 +6503210384746710:6503210384746850 35331:35331 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :175 +6503210384747081:6503210384747211 35331:35331 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :176 +6503210384749806:6503210384752962 35331:35331 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffc8155e688, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :177 +6503210384753332:6503210386424672 35331:35331 hipMemcpy(dst=0x7f19fc5fe010, src=0x7f19f7400000, sizeBytes=4194304, kind=2) :178 +6503210394688249:6503210396465866 35331:35331 hipMemcpy(dst=0x7f19f7a00000, src=0x7f19fc9ff010, sizeBytes=4194304, kind=1) :179 +6503210396466266:6503210396466407 35331:35331 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :180 +6503210396468781:6503210396468941 35331:35331 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :181 +6503210396469212:6503210396472748 35331:35331 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffc8155e688, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :182 +6503210396473209:6503210398185786 35331:35331 hipMemcpy(dst=0x7f19fc5fe010, src=0x7f19f7400000, sizeBytes=4194304, kind=2) :183 +6503210406990927:6503210408706859 35331:35331 hipMemcpy(dst=0x7f19f7a00000, src=0x7f19fc9ff010, sizeBytes=4194304, kind=1) :184 +6503210408707260:6503210408707390 35331:35331 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :185 +6503210408711929:6503210408712049 35331:35331 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :186 +6503210408712299:6503210408715385 35331:35331 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffc8155e688, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :187 +6503210408715756:6503210410404919 35331:35331 hipMemcpy(dst=0x7f19fc5fe010, src=0x7f19f7400000, sizeBytes=4194304, kind=2) :188 +6503210419207635:6503210420934348 35331:35331 hipMemcpy(dst=0x7f19f7a00000, src=0x7f19fc9ff010, sizeBytes=4194304, kind=1) :189 +6503210420937233:6503210420937413 35331:35331 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :190 +6503210420937654:6503210420937764 35331:35331 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :191 +6503210420937995:6503210420941241 35331:35331 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffc8155e688, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :192 +6503210420941741:6503210422609735 35331:35331 hipMemcpy(dst=0x7f19fc5fe010, src=0x7f19f7400000, sizeBytes=4194304, kind=2) :193 +6503210430876446:6503210432536598 2:0 CopyHostToDevice:194:35331 +6503210432603198:6503210432705278 2:0 matrixTranspose(float*, float*, int):197:35331 +6503210432708958:6503210434158351 2:0 CopyDeviceToHost:198:35331 +6503210443064391:6503210444714783 2:0 CopyHostToDevice:199:35331 +6503210444781223:6503210444882982 2:0 matrixTranspose(float*, float*, int):202:35331 +6503210444886662:6503210446330776 2:0 CopyDeviceToHost:203:35331 +6503210455262895:6503210456915368 2:0 CopyHostToDevice:204:35331 +6503210456979727:6503210457081807 2:0 matrixTranspose(float*, float*, int):207:35331 +6503210457085487:6503210458529120 2:0 CopyDeviceToHost:208:35331 +6503210466903764:6503210468580717 2:0 CopyHostToDevice:209:35331 +6503210468651475:6503210468753555 2:0 matrixTranspose(float*, float*, int):212:35331 +6503210468757235:6503210470211269 2:0 CopyDeviceToHost:213:35331 +6503210479096990:6503210480748022 2:0 CopyHostToDevice:214:35331 +6503210480817982:6503210480923262 2:0 matrixTranspose(float*, float*, int):217:35331 +6503210480926942:6503210482369935 2:0 CopyDeviceToHost:218:35331 +6503210491251336:6503210492903009 2:0 CopyHostToDevice:219:35331 +6503210492969289:6503210493071368 2:0 matrixTranspose(float*, float*, int):222:35331 +6503210493075048:6503210494517402 2:0 CopyDeviceToHost:223:35331 +6503210502850325:6503210504500558 2:0 CopyHostToDevice:224:35331 +6503210504566518:6503210504668597 2:0 matrixTranspose(float*, float*, int):227:35331 +6503210504672117:6503210506125191 2:0 CopyDeviceToHost:228:35331 +6503210514485314:6503210516095067 2:0 CopyHostToDevice:229:35331 +6503210516162147:6503210516264547 2:0 matrixTranspose(float*, float*, int):232:35331 +6503210516268067:6503210517714100 2:0 CopyDeviceToHost:233:35331 +6503210430863463:6503210432584675 35331:35331 hipMemcpy(dst=0x7f19f7a00000, src=0x7f19fc9ff010, sizeBytes=4194304, kind=1) :194 +6503210432587661:6503210432587821 35331:35331 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :195 +6503210432588061:6503210432588162 35331:35331 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :196 +6503210432588392:6503210432591738 35331:35331 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffc8155e688, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :197 +6503210432592079:6503210434267126 35331:35331 hipMemcpy(dst=0x7f19fc5fe010, src=0x7f19f7400000, sizeBytes=4194304, kind=2) :198 +6503210443050897:6503210444765146 35331:35331 hipMemcpy(dst=0x7f19f7a00000, src=0x7f19fc9ff010, sizeBytes=4194304, kind=1) :199 +6503210444765547:6503210444765677 35331:35331 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :200 +6503210444765888:6503210444765988 35331:35331 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :201 +6503210444766228:6503210444769665 35331:35331 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffc8155e688, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :202 +6503210444770025:6503210446438640 35331:35331 hipMemcpy(dst=0x7f19fc5fe010, src=0x7f19f7400000, sizeBytes=4194304, kind=2) :203 +6503210455249722:6503210456963611 35331:35331 hipMemcpy(dst=0x7f19f7a00000, src=0x7f19fc9ff010, sizeBytes=4194304, kind=1) :204 +6503210456964182:6503210456964292 35331:35331 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :205 +6503210456964533:6503210456964643 35331:35331 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :206 +6503210456964873:6503210456968250 35331:35331 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffc8155e688, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :207 +6503210456970354:6503210458636714 35331:35331 hipMemcpy(dst=0x7f19fc5fe010, src=0x7f19f7400000, sizeBytes=4194304, kind=2) :208 +6503210466890212:6503210468635499 35331:35331 hipMemcpy(dst=0x7f19f7a00000, src=0x7f19fc9ff010, sizeBytes=4194304, kind=1) :209 +6503210468635910:6503210468636070 35331:35331 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :210 +6503210468636301:6503210468636401 35331:35331 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :211 +6503210468636741:6503210468639717 35331:35331 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffc8155e688, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :212 +6503210468642282:6503210470320454 35331:35331 hipMemcpy(dst=0x7f19fc5fe010, src=0x7f19f7400000, sizeBytes=4194304, kind=2) :213 +6503210479083366:6503210480800040 35331:35331 hipMemcpy(dst=0x7f19f7a00000, src=0x7f19fc9ff010, sizeBytes=4194304, kind=1) :214 +6503210480800641:6503210480800772 35331:35331 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :215 +6503210480800962:6503210480801072 35331:35331 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :216 +6503210480803306:6503210480806332 35331:35331 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffc8155e688, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :217 +6503210480806773:6503210482476800 35331:35331 hipMemcpy(dst=0x7f19fc5fe010, src=0x7f19f7400000, sizeBytes=4194304, kind=2) :218 +6503210491237789:6503210492951458 35331:35331 hipMemcpy(dst=0x7f19f7a00000, src=0x7f19fc9ff010, sizeBytes=4194304, kind=1) :219 +6503210492951989:6503210492952129 35331:35331 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :220 +6503210492952319:6503210492952429 35331:35331 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :221 +6503210492954613:6503210492957589 35331:35331 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffc8155e688, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :222 +6503210492958020:6503210494624851 35331:35331 hipMemcpy(dst=0x7f19fc5fe010, src=0x7f19f7400000, sizeBytes=4194304, kind=2) :223 +6503210502837203:6503210504548326 35331:35331 hipMemcpy(dst=0x7f19f7a00000, src=0x7f19fc9ff010, sizeBytes=4194304, kind=1) :224 +6503210504548847:6503210504549008 35331:35331 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :225 +6503210504551382:6503210504551502 35331:35331 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :226 +6503210504551753:6503210504554989 35331:35331 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffc8155e688, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :227 +6503210504555339:6503210506236838 35331:35331 hipMemcpy(dst=0x7f19fc5fe010, src=0x7f19f7400000, sizeBytes=4194304, kind=2) :228 +6503210514472503:6503210516142770 35331:35331 hipMemcpy(dst=0x7f19f7a00000, src=0x7f19fc9ff010, sizeBytes=4194304, kind=1) :229 +6503210516143201:6503210516143371 35331:35331 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :230 +6503210516147078:6503210516147228 35331:35331 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :231 +6503210516147439:6503210516150625 35331:35331 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffc8155e688, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :232 +6503210516151046:6503210517823568 35331:35331 hipMemcpy(dst=0x7f19fc5fe010, src=0x7f19f7400000, sizeBytes=4194304, kind=2) :233 +6503210526084144:6503210527734376 2:0 CopyHostToDevice:234:35331 +6503210527801776:6503210527908976 2:0 matrixTranspose(float*, float*, int):237:35331 +6503210527912656:6503210529356609 2:0 CopyDeviceToHost:238:35331 +6503210537712303:6503210539363018 2:0 CopyHostToDevice:239:35331 +6503210539438256:6503210539540016 2:0 matrixTranspose(float*, float*, int):242:35331 +6503210539543696:6503210540989091 2:0 CopyDeviceToHost:243:35331 +6503210549357383:6503210551008578 2:0 CopyHostToDevice:244:35331 +6503210551075178:6503210551177417 2:0 matrixTranspose(float*, float*, int):247:35331 +6503210551181257:6503210552624572 2:0 CopyDeviceToHost:248:35331 +6503210560964704:6503210562615579 2:0 CopyHostToDevice:249:35331 +6503210562680419:6503210562782498 2:0 matrixTranspose(float*, float*, int):252:35331 +6503210562786178:6503210564229654 2:0 CopyDeviceToHost:253:35331 +6503210572594266:6503210574246260 2:0 CopyHostToDevice:254:35331 +6503210574317340:6503210574419259 2:0 matrixTranspose(float*, float*, int):257:35331 +6503210574423099:6503210575865295 2:0 CopyDeviceToHost:258:35331 +6503210584215347:6503210585868301 2:0 CopyHostToDevice:259:35331 +6503210585935061:6503210586038421 2:0 matrixTranspose(float*, float*, int):262:35331 +6503210586042101:6503210587484936 2:0 CopyDeviceToHost:263:35331 +6503210596359946:6503210598009861 2:0 CopyHostToDevice:264:35331 +6503210598075660:6503210598177740 2:0 matrixTranspose(float*, float*, int):267:35331 +6503210598181260:6503210599623615 2:0 CopyDeviceToHost:268:35331 +6503210608497171:6503210610150604 2:0 CopyHostToDevice:269:35331 +6503210610222482:6503210610324562 2:0 matrixTranspose(float*, float*, int):272:35331 +6503210610328242:6503210611771396 2:0 CopyDeviceToHost:273:35331 +6503210620107038:6503210621757751 2:0 CopyHostToDevice:274:35331 +6503210621824831:6503210621928830 2:0 matrixTranspose(float*, float*, int):277:35331 +6503210621932670:6503210623375664 2:0 CopyDeviceToHost:278:35331 +6503210526069862:6503210527781697 35331:35331 hipMemcpy(dst=0x7f19f7a00000, src=0x7f19fc9ff010, sizeBytes=4194304, kind=1) :234 +6503210527785755:6503210527785895 35331:35331 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :235 +6503210527786145:6503210527786256 35331:35331 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :236 +6503210527786516:6503210527790173 35331:35331 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffc8155e688, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :237 +6503210527790564:6503210529465250 35331:35331 hipMemcpy(dst=0x7f19fc5fe010, src=0x7f19f7400000, sizeBytes=4194304, kind=2) :238 +6503210537697307:6503210539418851 35331:35331 hipMemcpy(dst=0x7f19f7a00000, src=0x7f19fc9ff010, sizeBytes=4194304, kind=1) :239 +6503210539421175:6503210539421345 35331:35331 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :240 +6503210539421556:6503210539421666 35331:35331 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :241 +6503210539421916:6503210539425713 35331:35331 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffc8155e688, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :242 +6503210539426124:6503210541097394 35331:35331 hipMemcpy(dst=0x7f19fc5fe010, src=0x7f19f7400000, sizeBytes=4194304, kind=2) :243 +6503210549342877:6503210551058419 35331:35331 hipMemcpy(dst=0x7f19f7a00000, src=0x7f19fc9ff010, sizeBytes=4194304, kind=1) :244 +6503210551058990:6503210551059160 35331:35331 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :245 +6503210551059340:6503210551059450 35331:35331 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :246 +6503210551059671:6503210551062797 35331:35331 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffc8155e688, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :247 +6503210551063137:6503210552732353 35331:35331 hipMemcpy(dst=0x7f19fc5fe010, src=0x7f19f7400000, sizeBytes=4194304, kind=2) :248 +6503210560950676:6503210562663613 35331:35331 hipMemcpy(dst=0x7f19f7a00000, src=0x7f19fc9ff010, sizeBytes=4194304, kind=1) :249 +6503210562664013:6503210562664154 35331:35331 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :250 +6503210562664334:6503210562664444 35331:35331 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :251 +6503210562664664:6503210562667860 35331:35331 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffc8155e688, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :252 +6503210562669824:6503210564336495 35331:35331 hipMemcpy(dst=0x7f19fc5fe010, src=0x7f19f7400000, sizeBytes=4194304, kind=2) :253 +6503210572580205:6503210574298452 35331:35331 hipMemcpy(dst=0x7f19f7a00000, src=0x7f19fc9ff010, sizeBytes=4194304, kind=1) :254 +6503210574298953:6503210574299083 35331:35331 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :255 +6503210574299384:6503210574299464 35331:35331 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :256 +6503210574301558:6503210574304834 35331:35331 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffc8155e688, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :257 +6503210574305515:6503210575972046 35331:35331 hipMemcpy(dst=0x7f19fc5fe010, src=0x7f19f7400000, sizeBytes=4194304, kind=2) :258 +6503210584201108:6503210585916069 35331:35331 hipMemcpy(dst=0x7f19f7a00000, src=0x7f19fc9ff010, sizeBytes=4194304, kind=1) :259 +6503210585916470:6503210585916620 35331:35331 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :260 +6503210585916820:6503210585916920 35331:35331 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :261 +6503210585919225:6503210585922541 35331:35331 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffc8155e688, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :262 +6503210585922962:6503210587592057 35331:35331 hipMemcpy(dst=0x7f19fc5fe010, src=0x7f19f7400000, sizeBytes=4194304, kind=2) :263 +6503210596345753:6503210598056696 35331:35331 hipMemcpy(dst=0x7f19f7a00000, src=0x7f19fc9ff010, sizeBytes=4194304, kind=1) :264 +6503210598057127:6503210598057227 35331:35331 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :265 +6503210598059521:6503210598059652 35331:35331 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :266 +6503210598059892:6503210598063068 35331:35331 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffc8155e688, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :267 +6503210598063459:6503210599729980 35331:35331 hipMemcpy(dst=0x7f19fc5fe010, src=0x7f19f7400000, sizeBytes=4194304, kind=2) :268 +6503210608484356:6503210610204246 35331:35331 hipMemcpy(dst=0x7f19f7a00000, src=0x7f19fc9ff010, sizeBytes=4194304, kind=1) :269 +6503210610204707:6503210610204847 35331:35331 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :270 +6503210610207372:6503210610207492 35331:35331 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :271 +6503210610207743:6503210610210929 35331:35331 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffc8155e688, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :272 +6503210610211239:6503210611879683 35331:35331 hipMemcpy(dst=0x7f19fc5fe010, src=0x7f19f7400000, sizeBytes=4194304, kind=2) :273 +6503210620094470:6503210621806725 35331:35331 hipMemcpy(dst=0x7f19f7a00000, src=0x7f19fc9ff010, sizeBytes=4194304, kind=1) :274 +6503210621809471:6503210621809591 35331:35331 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :275 +6503210621809811:6503210621809921 35331:35331 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :276 +6503210621810162:6503210621813348 35331:35331 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffc8155e688, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :277 +6503210621813749:6503210623483445 35331:35331 hipMemcpy(dst=0x7f19fc5fe010, src=0x7f19f7400000, sizeBytes=4194304, kind=2) :278 +6503210631751947:6503210633402499 2:0 CopyHostToDevice:279:35331 +6503210633468619:6503210633571339 2:0 matrixTranspose(float*, float*, int):282:35331 +6503210633575179:6503210635028572 2:0 CopyDeviceToHost:283:35331 +6503210643384375:6503210645036048 2:0 CopyHostToDevice:284:35331 +6503210645100887:6503210645202967 2:0 matrixTranspose(float*, float*, int):287:35331 +6503210645206807:6503210646653001 2:0 CopyDeviceToHost:288:35331 +6503210655533601:6503210657184314 2:0 CopyHostToDevice:289:35331 +6503210657249793:6503210657351073 2:0 matrixTranspose(float*, float*, int):292:35331 +6503210657354753:6503210658798867 2:0 CopyDeviceToHost:293:35331 +6503210667164749:6503210668815462 2:0 CopyHostToDevice:294:35331 +6503210668883822:6503210668995821 2:0 matrixTranspose(float*, float*, int):297:35331 +6503210668999501:6503210670442655 2:0 CopyDeviceToHost:298:35331 +6503210678783507:6503210680434380 2:0 CopyHostToDevice:299:35331 +6503210680506738:6503210680608978 2:0 matrixTranspose(float*, float*, int):302:35331 +6503210680612658:6503210682055652 2:0 CopyDeviceToHost:303:35331 +6503210690383137:6503210692034010 2:0 CopyHostToDevice:304:35331 +6503210692101890:6503210692204129 2:0 matrixTranspose(float*, float*, int):307:35331 +6503210692207809:6503210693651923 2:0 CopyDeviceToHost:308:35331 +6503210701982929:6503210703634282 2:0 CopyHostToDevice:309:35331 +6503210703703121:6503210703804881 2:0 matrixTranspose(float*, float*, int):312:35331 +6503210703808561:6503210705252995 2:0 CopyDeviceToHost:313:35331 +6503210713597280:6503210715247353 2:0 CopyHostToDevice:314:35331 +6503210715314433:6503210715415872 2:0 matrixTranspose(float*, float*, int):317:35331 +6503210715419552:6503210716863506 2:0 CopyDeviceToHost:318:35331 +6503210631738005:6503210633449850 35331:35331 hipMemcpy(dst=0x7f19f7a00000, src=0x7f19fc9ff010, sizeBytes=4194304, kind=1) :279 +6503210633452975:6503210633453126 35331:35331 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :280 +6503210633453326:6503210633453436 35331:35331 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :281 +6503210633453677:6503210633457203 35331:35331 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffc8155e688, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :282 +6503210633457704:6503210635138311 35331:35331 hipMemcpy(dst=0x7f19fc5fe010, src=0x7f19f7400000, sizeBytes=4194304, kind=2) :283 +6503210643371151:6503210645085070 35331:35331 hipMemcpy(dst=0x7f19f7a00000, src=0x7f19fc9ff010, sizeBytes=4194304, kind=1) :284 +6503210645085581:6503210645085691 35331:35331 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :285 +6503210645085921:6503210645086021 35331:35331 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :286 +6503210645086262:6503210645089438 35331:35331 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffc8155e688, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :287 +6503210645089768:6503210646760868 35331:35331 hipMemcpy(dst=0x7f19fc5fe010, src=0x7f19f7400000, sizeBytes=4194304, kind=2) :288 +6503210655519883:6503210657233431 35331:35331 hipMemcpy(dst=0x7f19f7a00000, src=0x7f19fc9ff010, sizeBytes=4194304, kind=1) :289 +6503210657233942:6503210657234082 35331:35331 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :290 +6503210657234293:6503210657234403 35331:35331 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :291 +6503210657234644:6503210657237799 35331:35331 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffc8155e688, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :292 +6503210657240424:6503210658906494 35331:35331 hipMemcpy(dst=0x7f19fc5fe010, src=0x7f19f7400000, sizeBytes=4194304, kind=2) :293 +6503210667151617:6503210668867469 35331:35331 hipMemcpy(dst=0x7f19f7a00000, src=0x7f19fc9ff010, sizeBytes=4194304, kind=1) :294 +6503210668868070:6503210668868200 35331:35331 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :295 +6503210668868421:6503210668868521 35331:35331 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :296 +6503210668868752:6503210668872318 35331:35331 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffc8155e688, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :297 +6503210668875023:6503210670550541 35331:35331 hipMemcpy(dst=0x7f19fc5fe010, src=0x7f19f7400000, sizeBytes=4194304, kind=2) :298 +6503210678770185:6503210680488482 35331:35331 hipMemcpy(dst=0x7f19f7a00000, src=0x7f19fc9ff010, sizeBytes=4194304, kind=1) :299 +6503210680489033:6503210680489163 35331:35331 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :300 +6503210680489344:6503210680489454 35331:35331 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :301 +6503210680491758:6503210680494954 35331:35331 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffc8155e688, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :302 +6503210680495325:6503210682164791 35331:35331 hipMemcpy(dst=0x7f19fc5fe010, src=0x7f19f7400000, sizeBytes=4194304, kind=2) :303 +6503210690369849:6503210692083578 35331:35331 hipMemcpy(dst=0x7f19f7a00000, src=0x7f19fc9ff010, sizeBytes=4194304, kind=1) :304 +6503210692084099:6503210692084229 35331:35331 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :305 +6503210692084459:6503210692084570 35331:35331 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :306 +6503210692087074:6503210692089970 35331:35331 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffc8155e688, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :307 +6503210692090330:6503210693760588 35331:35331 hipMemcpy(dst=0x7f19fc5fe010, src=0x7f19f7400000, sizeBytes=4194304, kind=2) :308 +6503210701969663:6503210703684755 35331:35331 hipMemcpy(dst=0x7f19f7a00000, src=0x7f19fc9ff010, sizeBytes=4194304, kind=1) :309 +6503210703685275:6503210703685386 35331:35331 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :310 +6503210703687610:6503210703687740 35331:35331 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :311 +6503210703687950:6503210703691447 35331:35331 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffc8155e688, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :312 +6503210703691798:6503210705361635 35331:35331 hipMemcpy(dst=0x7f19fc5fe010, src=0x7f19f7400000, sizeBytes=4194304, kind=2) :313 +6503210713583945:6503210715295008 35331:35331 hipMemcpy(dst=0x7f19f7a00000, src=0x7f19fc9ff010, sizeBytes=4194304, kind=1) :314 +6503210715295750:6503210715296010 35331:35331 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :315 +6503210715298414:6503210715298545 35331:35331 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :316 +6503210715298785:6503210715302362 35331:35331 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffc8155e688, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :317 +6503210715302783:6503210716972550 35331:35331 hipMemcpy(dst=0x7f19fc5fe010, src=0x7f19f7400000, sizeBytes=4194304, kind=2) :318 +6503210725761229:6503210727411622 2:0 CopyHostToDevice:319:35331 +6503210727481582:6503210727583821 2:0 matrixTranspose(float*, float*, int):322:35331 +6503210727587501:6503210729031295 2:0 CopyDeviceToHost:323:35331 +6503210737379900:6503210739031893 2:0 CopyHostToDevice:324:35331 +6503210739103133:6503210739205213 2:0 matrixTranspose(float*, float*, int):327:35331 +6503210739208893:6503210740651887 2:0 CopyDeviceToHost:328:35331 +6503210749014368:6503210750667322 2:0 CopyHostToDevice:329:35331 +6503210750738080:6503210750841440 2:0 matrixTranspose(float*, float*, int):332:35331 +6503210750845120:6503210752288594 2:0 CopyDeviceToHost:333:35331 +6503210760655122:6503210762323595 2:0 CopyHostToDevice:334:35331 +6503210762391475:6503210762493234 2:0 matrixTranspose(float*, float*, int):337:35331 +6503210762497074:6503210763941669 2:0 CopyDeviceToHost:338:35331 +6503210772825794:6503210774477627 2:0 CopyHostToDevice:339:35331 +6503210774541987:6503210774644067 2:0 matrixTranspose(float*, float*, int):342:35331 +6503210774647747:6503210776090901 2:0 CopyDeviceToHost:343:35331 +6503210784455188:6503210786106382 2:0 CopyHostToDevice:344:35331 +6503210786174582:6503210786276981 2:0 matrixTranspose(float*, float*, int):347:35331 +6503210786280661:6503210787727176 2:0 CopyDeviceToHost:348:35331 +6503210796076583:6503210797745696 2:0 CopyHostToDevice:349:35331 +6503210797815176:6503210797922536 2:0 matrixTranspose(float*, float*, int):352:35331 +6503210797926216:6503210799369530 2:0 CopyDeviceToHost:353:35331 +6503210807752537:6503210809406451 2:0 CopyHostToDevice:354:35331 +6503210809473370:6503210809575610 2:0 matrixTranspose(float*, float*, int):357:35331 +6503210809579290:6503210811021324 2:0 CopyDeviceToHost:358:35331 +6503210819961955:6503210821613308 2:0 CopyHostToDevice:359:35331 +6503210821687586:6503210821789666 2:0 matrixTranspose(float*, float*, int):362:35331 +6503210821793506:6503210823265459 2:0 CopyDeviceToHost:363:35331 +6503210725746452:6503210727461493 35331:35331 hipMemcpy(dst=0x7f19f7a00000, src=0x7f19fc9ff010, sizeBytes=4194304, kind=1) :319 +6503210727464579:6503210727464719 35331:35331 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :320 +6503210727464919:6503210727465020 35331:35331 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :321 +6503210727465260:6503210727469738 35331:35331 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffc8155e688, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :322 +6503210727470340:6503210729141118 35331:35331 hipMemcpy(dst=0x7f19fc5fe010, src=0x7f19f7400000, sizeBytes=4194304, kind=2) :323 +6503210737366233:6503210739084721 35331:35331 hipMemcpy(dst=0x7f19f7a00000, src=0x7f19fc9ff010, sizeBytes=4194304, kind=1) :324 +6503210739087175:6503210739087315 35331:35331 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :325 +6503210739087516:6503210739087626 35331:35331 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :326 +6503210739087866:6503210739091373 35331:35331 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffc8155e688, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :327 +6503210739091714:6503210740761150 35331:35331 hipMemcpy(dst=0x7f19fc5fe010, src=0x7f19f7400000, sizeBytes=4194304, kind=2) :328 +6503210749000702:6503210750721674 35331:35331 hipMemcpy(dst=0x7f19f7a00000, src=0x7f19fc9ff010, sizeBytes=4194304, kind=1) :329 +6503210750722245:6503210750722365 35331:35331 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :330 +6503210750722596:6503210750722696 35331:35331 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :331 +6503210750722976:6503210750726162 35331:35331 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffc8155e688, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :332 +6503210750726533:6503210752396500 35331:35331 hipMemcpy(dst=0x7f19fc5fe010, src=0x7f19f7400000, sizeBytes=4194304, kind=2) :333 +6503210760641773:6503210762374967 35331:35331 hipMemcpy(dst=0x7f19f7a00000, src=0x7f19fc9ff010, sizeBytes=4194304, kind=1) :334 +6503210762375528:6503210762375649 35331:35331 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :335 +6503210762375839:6503210762375929 35331:35331 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :336 +6503210762376180:6503210762379365 35331:35331 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffc8155e688, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :337 +6503210762381499:6503210764049994 35331:35331 hipMemcpy(dst=0x7f19fc5fe010, src=0x7f19f7400000, sizeBytes=4194304, kind=2) :338 +6503210772812756:6503210774525202 35331:35331 hipMemcpy(dst=0x7f19f7a00000, src=0x7f19fc9ff010, sizeBytes=4194304, kind=1) :339 +6503210774526044:6503210774526184 35331:35331 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :340 +6503210774526364:6503210774526475 35331:35331 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :341 +6503210774526715:6503210774529871 35331:35331 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffc8155e688, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :342 +6503210774532075:6503210776198065 35331:35331 hipMemcpy(dst=0x7f19fc5fe010, src=0x7f19f7400000, sizeBytes=4194304, kind=2) :343 +6503210784440993:6503210786156064 35331:35331 hipMemcpy(dst=0x7f19f7a00000, src=0x7f19fc9ff010, sizeBytes=4194304, kind=1) :344 +6503210786156565:6503210786156725 35331:35331 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :345 +6503210786156925:6503210786157026 35331:35331 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :346 +6503210786159190:6503210786162536 35331:35331 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffc8155e688, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :347 +6503210786162957:6503210787834447 35331:35331 hipMemcpy(dst=0x7f19fc5fe010, src=0x7f19f7400000, sizeBytes=4194304, kind=2) :348 +6503210796063088:6503210797796694 35331:35331 hipMemcpy(dst=0x7f19f7a00000, src=0x7f19fc9ff010, sizeBytes=4194304, kind=1) :349 +6503210797797265:6503210797797415 35331:35331 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :350 +6503210797797605:6503210797797726 35331:35331 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :351 +6503210797799920:6503210797803066 35331:35331 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffc8155e688, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :352 +6503210797803526:6503210799476900 35331:35331 hipMemcpy(dst=0x7f19fc5fe010, src=0x7f19f7400000, sizeBytes=4194304, kind=2) :353 +6503210807737842:6503210809452582 35331:35331 hipMemcpy(dst=0x7f19f7a00000, src=0x7f19fc9ff010, sizeBytes=4194304, kind=1) :354 +6503210809453163:6503210809453333 35331:35331 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :355 +6503210809457191:6503210809457301 35331:35331 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :356 +6503210809457541:6503210809461328 35331:35331 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffc8155e688, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :357 +6503210809461769:6503210811128370 35331:35331 hipMemcpy(dst=0x7f19fc5fe010, src=0x7f19f7400000, sizeBytes=4194304, kind=2) :358 +6503210819949250:6503210821668940 35331:35331 hipMemcpy(dst=0x7f19f7a00000, src=0x7f19fc9ff010, sizeBytes=4194304, kind=1) :359 +6503210821669381:6503210821669501 35331:35331 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :360 +6503210821671805:6503210821671925 35331:35331 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :361 +6503210821672176:6503210821675782 35331:35331 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffc8155e688, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :362 +6503210821676213:6503210823374924 35331:35331 hipMemcpy(dst=0x7f19fc5fe010, src=0x7f19f7400000, sizeBytes=4194304, kind=2) :363 +6503210831639182:6503210833290854 2:0 CopyHostToDevice:364:35331 +6503210833359214:6503210833460974 2:0 matrixTranspose(float*, float*, int):367:35331 +6503210833464654:6503210834907167 2:0 CopyDeviceToHost:368:35331 +6503210843838007:6503210845490000 2:0 CopyHostToDevice:369:35331 +6503210845559320:6503210845661239 2:0 matrixTranspose(float*, float*, int):372:35331 +6503210845664759:6503210847140072 2:0 CopyDeviceToHost:373:35331 +6503210856092192:6503210857746265 2:0 CopyHostToDevice:374:35331 +6503210857815585:6503210857922944 2:0 matrixTranspose(float*, float*, int):377:35331 +6503210857926624:6503210859369458 2:0 CopyDeviceToHost:378:35331 +6503210867730540:6503210869382533 2:0 CopyHostToDevice:379:35331 +6503210869445933:6503210869548332 2:0 matrixTranspose(float*, float*, int):382:35331 +6503210869552012:6503210870995166 2:0 CopyDeviceToHost:383:35331 +6503210879894966:6503210881556878 2:0 CopyHostToDevice:384:35331 +6503210881622998:6503210881724918 2:0 matrixTranspose(float*, float*, int):387:35331 +6503210881728438:6503210883172871 2:0 CopyDeviceToHost:388:35331 +6503210892050211:6503210893700764 2:0 CopyHostToDevice:389:35331 +6503210893772642:6503210893874562 2:0 matrixTranspose(float*, float*, int):392:35331 +6503210893878402:6503210895320596 2:0 CopyDeviceToHost:393:35331 +6503210903654322:6503210905304715 2:0 CopyHostToDevice:394:35331 +6503210905371635:6503210905473394 2:0 matrixTranspose(float*, float*, int):397:35331 +6503210905477234:6503210906920228 2:0 CopyDeviceToHost:398:35331 +6503210915260834:6503210916913307 2:0 CopyHostToDevice:399:35331 +6503210916982627:6503210917084546 2:0 matrixTranspose(float*, float*, int):402:35331 +6503210917088226:6503210918532980 2:0 CopyDeviceToHost:403:35331 +6503210831626428:6503210833341068 35331:35331 hipMemcpy(dst=0x7f19f7a00000, src=0x7f19fc9ff010, sizeBytes=4194304, kind=1) :364 +6503210833343813:6503210833343983 35331:35331 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :365 +6503210833344173:6503210833344274 35331:35331 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :366 +6503210833344524:6503210833347790 35331:35331 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffc8155e688, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :367 +6503210833348171:6503210835016245 35331:35331 hipMemcpy(dst=0x7f19fc5fe010, src=0x7f19f7400000, sizeBytes=4194304, kind=2) :368 +6503210843824752:6503210845541526 35331:35331 hipMemcpy(dst=0x7f19f7a00000, src=0x7f19fc9ff010, sizeBytes=4194304, kind=1) :369 +6503210845543991:6503210845544131 35331:35331 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :370 +6503210845544331:6503210845544431 35331:35331 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :371 +6503210845544662:6503210845547748 35331:35331 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffc8155e688, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :372 +6503210845548128:6503210847251848 35331:35331 hipMemcpy(dst=0x7f19fc5fe010, src=0x7f19f7400000, sizeBytes=4194304, kind=2) :373 +6503210856079371:6503210857799601 35331:35331 hipMemcpy(dst=0x7f19f7a00000, src=0x7f19fc9ff010, sizeBytes=4194304, kind=1) :374 +6503210857800082:6503210857800212 35331:35331 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :375 +6503210857800463:6503210857800563 35331:35331 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :376 +6503210857800803:6503210857804099 35331:35331 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffc8155e688, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :377 +6503210857804530:6503210859477092 35331:35331 hipMemcpy(dst=0x7f19fc5fe010, src=0x7f19f7400000, sizeBytes=4194304, kind=2) :378 +6503210867717666:6503210869429962 35331:35331 hipMemcpy(dst=0x7f19f7a00000, src=0x7f19fc9ff010, sizeBytes=4194304, kind=1) :379 +6503210869430403:6503210869430503 35331:35331 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :380 +6503210869430704:6503210869430804 35331:35331 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :381 +6503210869431044:6503210869434511 35331:35331 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffc8155e688, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :382 +6503210869436925:6503210871103376 35331:35331 hipMemcpy(dst=0x7f19fc5fe010, src=0x7f19f7400000, sizeBytes=4194304, kind=2) :383 +6503210879881967:6503210881607237 35331:35331 hipMemcpy(dst=0x7f19f7a00000, src=0x7f19fc9ff010, sizeBytes=4194304, kind=1) :384 +6503210881607648:6503210881607798 35331:35331 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :385 +6503210881607988:6503210881608089 35331:35331 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :386 +6503210881608389:6503210881611625 35331:35331 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffc8155e688, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :387 +6503210881613889:6503210883281583 35331:35331 hipMemcpy(dst=0x7f19fc5fe010, src=0x7f19f7400000, sizeBytes=4194304, kind=2) :388 +6503210892036641:6503210893754166 35331:35331 hipMemcpy(dst=0x7f19f7a00000, src=0x7f19fc9ff010, sizeBytes=4194304, kind=1) :389 +6503210893754617:6503210893754757 35331:35331 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :390 +6503210893755058:6503210893755168 35331:35331 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :391 +6503210893757572:6503210893760788 35331:35331 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffc8155e688, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :392 +6503210893761279:6503210895428351 35331:35331 hipMemcpy(dst=0x7f19fc5fe010, src=0x7f19f7400000, sizeBytes=4194304, kind=2) :393 +6503210903641534:6503210905353099 35331:35331 hipMemcpy(dst=0x7f19f7a00000, src=0x7f19fc9ff010, sizeBytes=4194304, kind=1) :394 +6503210905353479:6503210905353590 35331:35331 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :395 +6503210905353810:6503210905353920 35331:35331 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :396 +6503210905356325:6503210905359491 35331:35331 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffc8155e688, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :397 +6503210905359951:6503210907027193 35331:35331 hipMemcpy(dst=0x7f19fc5fe010, src=0x7f19f7400000, sizeBytes=4194304, kind=2) :398 +6503210915247620:6503210916964555 35331:35331 hipMemcpy(dst=0x7f19f7a00000, src=0x7f19fc9ff010, sizeBytes=4194304, kind=1) :399 +6503210916964975:6503210916965096 35331:35331 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :400 +6503210916967220:6503210916967330 35331:35331 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :401 +6503210916967570:6503210916970786 35331:35331 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffc8155e688, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :402 +6503210916971327:6503210918641334 35331:35331 hipMemcpy(dst=0x7f19fc5fe010, src=0x7f19f7400000, sizeBytes=4194304, kind=2) :403 +6503210926882706:6503210928535339 2:0 CopyHostToDevice:404:35331 +6503210928604339:6503210928706579 2:0 matrixTranspose(float*, float*, int):407:35331 +6503210928710258:6503210930183332 2:0 CopyDeviceToHost:408:35331 +6503210939076416:6503210940698649 2:0 CopyHostToDevice:409:35331 +6503210940766209:6503210940869888 2:0 matrixTranspose(float*, float*, int):412:35331 +6503210940873568:6503210942322002 2:0 CopyDeviceToHost:413:35331 +6503210950657488:6503210952308681 2:0 CopyHostToDevice:414:35331 +6503210952378001:6503210952479761 2:0 matrixTranspose(float*, float*, int):417:35331 +6503210952483441:6503210953926915 2:0 CopyDeviceToHost:418:35331 +6503210962245221:6503210963897215 2:0 CopyHostToDevice:419:35331 +6503210963971653:6503210964073733 2:0 matrixTranspose(float*, float*, int):422:35331 +6503210964077413:6503210965523607 2:0 CopyDeviceToHost:423:35331 +6503210973867413:6503210975517967 2:0 CopyHostToDevice:424:35331 +6503210975583127:6503210975684726 2:0 matrixTranspose(float*, float*, int):427:35331 +6503210975688406:6503210977155560 2:0 CopyDeviceToHost:428:35331 +6503210985723206:6503210987374559 2:0 CopyHostToDevice:429:35331 +6503210987439079:6503210987540998 2:0 matrixTranspose(float*, float*, int):432:35331 +6503210987544678:6503210988989112 2:0 CopyDeviceToHost:433:35331 +6503210997346359:6503210998996752 2:0 CopyHostToDevice:434:35331 +6503210999065112:6503210999167191 2:0 matrixTranspose(float*, float*, int):437:35331 +6503210999170871:6503211000613385 2:0 CopyDeviceToHost:438:35331 +6503211008987272:6503211010637665 2:0 CopyHostToDevice:439:35331 +6503211010703145:6503211010805384 2:0 matrixTranspose(float*, float*, int):442:35331 +6503211010809064:6503211012253658 2:0 CopyDeviceToHost:443:35331 +6503211021150582:6503211022801776 2:0 CopyHostToDevice:444:35331 +6503211022868536:6503211022971415 2:0 matrixTranspose(float*, float*, int):447:35331 +6503211022975255:6503211024420329 2:0 CopyDeviceToHost:448:35331 +6503210926869886:6503210928584566 35331:35331 hipMemcpy(dst=0x7f19f7a00000, src=0x7f19fc9ff010, sizeBytes=4194304, kind=1) :404 +6503210928585858:6503210928586099 35331:35331 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :405 +6503210928588794:6503210928588924 35331:35331 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :406 +6503210928589204:6503210928592420 35331:35331 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffc8155e688, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :407 +6503210928593132:6503210930294828 35331:35331 hipMemcpy(dst=0x7f19fc5fe010, src=0x7f19f7400000, sizeBytes=4194304, kind=2) :408 +6503210939062670:6503210940748146 35331:35331 hipMemcpy(dst=0x7f19f7a00000, src=0x7f19fc9ff010, sizeBytes=4194304, kind=1) :409 +6503210940750480:6503210940750600 35331:35331 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :410 +6503210940750791:6503210940750901 35331:35331 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :411 +6503210940751151:6503210940754367 35331:35331 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffc8155e688, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :412 +6503210940754788:6503210942430186 35331:35331 hipMemcpy(dst=0x7f19fc5fe010, src=0x7f19f7400000, sizeBytes=4194304, kind=2) :413 +6503210950644370:6503210952359491 35331:35331 hipMemcpy(dst=0x7f19f7a00000, src=0x7f19fc9ff010, sizeBytes=4194304, kind=1) :414 +6503210952361846:6503210952361956 35331:35331 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :415 +6503210952362156:6503210952362267 35331:35331 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :416 +6503210952362487:6503210952365613 35331:35331 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffc8155e688, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :417 +6503210952366003:6503210954036371 35331:35331 hipMemcpy(dst=0x7f19fc5fe010, src=0x7f19f7400000, sizeBytes=4194304, kind=2) :418 +6503210962230730:6503210963954958 35331:35331 hipMemcpy(dst=0x7f19f7a00000, src=0x7f19fc9ff010, sizeBytes=4194304, kind=1) :419 +6503210963955459:6503210963955629 35331:35331 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :420 +6503210963955879:6503210963955990 35331:35331 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :421 +6503210963956240:6503210963959747 35331:35331 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffc8155e688, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :422 +6503210963960197:6503210965633361 35331:35331 hipMemcpy(dst=0x7f19fc5fe010, src=0x7f19f7400000, sizeBytes=4194304, kind=2) :423 +6503210973853176:6503210975566133 35331:35331 hipMemcpy(dst=0x7f19f7a00000, src=0x7f19fc9ff010, sizeBytes=4194304, kind=1) :424 +6503210975566644:6503210975566804 35331:35331 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :425 +6503210975567064:6503210975567175 35331:35331 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :426 +6503210975567415:6503210975571122 35331:35331 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffc8155e688, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :427 +6503210975573707:6503210977264983 35331:35331 hipMemcpy(dst=0x7f19fc5fe010, src=0x7f19f7400000, sizeBytes=4194304, kind=2) :428 +6503210985709475:6503210987422643 35331:35331 hipMemcpy(dst=0x7f19f7a00000, src=0x7f19fc9ff010, sizeBytes=4194304, kind=1) :429 +6503210987423164:6503210987423284 35331:35331 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :430 +6503210987423575:6503210987423685 35331:35331 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :431 +6503210987424015:6503210987427141 35331:35331 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffc8155e688, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :432 +6503210987429796:6503210989097720 35331:35331 hipMemcpy(dst=0x7f19fc5fe010, src=0x7f19f7400000, sizeBytes=4194304, kind=2) :433 +6503210997332883:6503210999046261 35331:35331 hipMemcpy(dst=0x7f19f7a00000, src=0x7f19fc9ff010, sizeBytes=4194304, kind=1) :434 +6503210999047083:6503210999047243 35331:35331 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :435 +6503210999047453:6503210999047564 35331:35331 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :436 +6503210999050189:6503210999053144 35331:35331 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffc8155e688, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :437 +6503210999053505:6503211000719795 35331:35331 hipMemcpy(dst=0x7f19fc5fe010, src=0x7f19f7400000, sizeBytes=4194304, kind=2) :438 +6503211008973273:6503211010685108 35331:35331 hipMemcpy(dst=0x7f19f7a00000, src=0x7f19fc9ff010, sizeBytes=4194304, kind=1) :439 +6503211010685529:6503211010685669 35331:35331 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :440 +6503211010685929:6503211010686040 35331:35331 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :441 +6503211010688204:6503211010691119 35331:35331 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffc8155e688, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :442 +6503211010691510:6503211012360636 35331:35331 hipMemcpy(dst=0x7f19fc5fe010, src=0x7f19f7400000, sizeBytes=4194304, kind=2) :443 +6503211021136903:6503211022849770 35331:35331 hipMemcpy(dst=0x7f19f7a00000, src=0x7f19fc9ff010, sizeBytes=4194304, kind=1) :444 +6503211022850160:6503211022850291 35331:35331 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :445 +6503211022853206:6503211022853326 35331:35331 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :446 +6503211022853537:6503211022856632 35331:35331 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffc8155e688, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :447 +6503211022857003:6503211024527271 35331:35331 hipMemcpy(dst=0x7f19fc5fe010, src=0x7f19f7400000, sizeBytes=4194304, kind=2) :448 +6503211033332820:6503211034986574 2:0 CopyHostToDevice:449:35331 +6503211035063412:6503211035165812 2:0 matrixTranspose(float*, float*, int):452:35331 +6503211035169492:6503211036612966 2:0 CopyDeviceToHost:453:35331 +6503211044941734:6503211046592928 2:0 CopyHostToDevice:454:35331 +6503211046660167:6503211046762407 2:0 matrixTranspose(float*, float*, int):457:35331 +6503211046766087:6503211048208921 2:0 CopyDeviceToHost:458:35331 +6503211056554489:6503211058224883 2:0 CopyHostToDevice:459:35331 +6503211058295322:6503211058397242 2:0 matrixTranspose(float*, float*, int):462:35331 +6503211058400922:6503211059843116 2:0 CopyDeviceToHost:463:35331 +6503211068187244:6503211069838117 2:0 CopyHostToDevice:464:35331 +6503211069901357:6503211070004077 2:0 matrixTranspose(float*, float*, int):467:35331 +6503211070007757:6503211071451071 2:0 CopyDeviceToHost:468:35331 +6503211080319837:6503211081970710 2:0 CopyHostToDevice:469:35331 +6503211082034430:6503211082136510 2:0 matrixTranspose(float*, float*, int):472:35331 +6503211082140190:6503211083587344 2:0 CopyDeviceToHost:473:35331 +6503211091935152:6503211093586025 2:0 CopyHostToDevice:474:35331 +6503211093654705:6503211093756625 2:0 matrixTranspose(float*, float*, int):477:35331 +6503211093760465:6503211095204419 2:0 CopyDeviceToHost:478:35331 +6503211103543170:6503211105195483 2:0 CopyHostToDevice:479:35331 +6503211105267041:6503211105368961 2:0 matrixTranspose(float*, float*, int):482:35331 +6503211105372641:6503211106818035 2:0 CopyDeviceToHost:483:35331 +6503211115179760:6503211116830793 2:0 CopyHostToDevice:484:35331 +6503211116900433:6503211117012272 2:0 matrixTranspose(float*, float*, int):487:35331 +6503211117015952:6503211118458626 2:0 CopyDeviceToHost:488:35331 +6503211033319297:6503211035044196 35331:35331 hipMemcpy(dst=0x7f19f7a00000, src=0x7f19fc9ff010, sizeBytes=4194304, kind=1) :449 +6503211035045098:6503211035045208 35331:35331 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :450 +6503211035047342:6503211035047473 35331:35331 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :451 +6503211035047693:6503211035050849 35331:35331 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffc8155e688, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :452 +6503211035051240:6503211036720235 35331:35331 hipMemcpy(dst=0x7f19fc5fe010, src=0x7f19f7400000, sizeBytes=4194304, kind=2) :453 +6503211044928008:6503211046641827 35331:35331 hipMemcpy(dst=0x7f19f7a00000, src=0x7f19fc9ff010, sizeBytes=4194304, kind=1) :454 +6503211046644271:6503211046644401 35331:35331 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :455 +6503211046644592:6503211046644692 35331:35331 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :456 +6503211046644922:6503211046648078 35331:35331 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffc8155e688, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :457 +6503211046648519:6503211048315691 35331:35331 hipMemcpy(dst=0x7f19fc5fe010, src=0x7f19f7400000, sizeBytes=4194304, kind=2) :458 +6503211056541107:6503211058274482 35331:35331 hipMemcpy(dst=0x7f19f7a00000, src=0x7f19fc9ff010, sizeBytes=4194304, kind=1) :459 +6503211058279040:6503211058279171 35331:35331 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :460 +6503211058279361:6503211058279471 35331:35331 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :461 +6503211058279672:6503211058282968 35331:35331 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffc8155e688, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :462 +6503211058283699:6503211059949549 35331:35331 hipMemcpy(dst=0x7f19fc5fe010, src=0x7f19f7400000, sizeBytes=4194304, kind=2) :463 +6503211068173462:6503211069884565 35331:35331 hipMemcpy(dst=0x7f19f7a00000, src=0x7f19fc9ff010, sizeBytes=4194304, kind=1) :464 +6503211069885096:6503211069885226 35331:35331 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :465 +6503211069885487:6503211069885607 35331:35331 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :466 +6503211069885817:6503211069889134 35331:35331 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffc8155e688, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :467 +6503211069889584:6503211071557778 35331:35331 hipMemcpy(dst=0x7f19fc5fe010, src=0x7f19f7400000, sizeBytes=4194304, kind=2) :468 +6503211080305903:6503211082017999 35331:35331 hipMemcpy(dst=0x7f19f7a00000, src=0x7f19fc9ff010, sizeBytes=4194304, kind=1) :469 +6503211082018409:6503211082018550 35331:35331 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :470 +6503211082018750:6503211082018860 35331:35331 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :471 +6503211082019111:6503211082022247 35331:35331 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffc8155e688, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :472 +6503211082024421:6503211083694618 35331:35331 hipMemcpy(dst=0x7f19fc5fe010, src=0x7f19f7400000, sizeBytes=4194304, kind=2) :473 +6503211091920876:6503211093637910 35331:35331 hipMemcpy(dst=0x7f19f7a00000, src=0x7f19fc9ff010, sizeBytes=4194304, kind=1) :474 +6503211093638371:6503211093638501 35331:35331 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :475 +6503211093638752:6503211093638852 35331:35331 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :476 +6503211093639072:6503211093642469 35331:35331 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffc8155e688, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :477 +6503211093644693:6503211095310793 35331:35331 hipMemcpy(dst=0x7f19fc5fe010, src=0x7f19f7400000, sizeBytes=4194304, kind=2) :478 +6503211103529326:6503211105248805 35331:35331 hipMemcpy(dst=0x7f19f7a00000, src=0x7f19fc9ff010, sizeBytes=4194304, kind=1) :479 +6503211105249226:6503211105249376 35331:35331 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :480 +6503211105249607:6503211105249717 35331:35331 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :481 +6503211105251971:6503211105255207 35331:35331 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffc8155e688, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :482 +6503211105255578:6503211106925876 35331:35331 hipMemcpy(dst=0x7f19fc5fe010, src=0x7f19f7400000, sizeBytes=4194304, kind=2) :483 +6503211115166119:6503211116881490 35331:35331 hipMemcpy(dst=0x7f19f7a00000, src=0x7f19fc9ff010, sizeBytes=4194304, kind=1) :484 +6503211116881941:6503211116882061 35331:35331 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :485 +6503211116882262:6503211116882372 35331:35331 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :486 +6503211116885498:6503211116888724 35331:35331 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffc8155e688, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :487 +6503211116889145:6503211118565954 35331:35331 hipMemcpy(dst=0x7f19fc5fe010, src=0x7f19f7400000, sizeBytes=4194304, kind=2) :488 +6503211127375709:6503211129029622 2:0 CopyHostToDevice:489:35331 +6503211129101662:6503211129204061 2:0 matrixTranspose(float*, float*, int):492:35331 +6503211129207741:6503211130650415 2:0 CopyDeviceToHost:493:35331 +6503211139021580:6503211140676133 2:0 CopyHostToDevice:494:35331 +6503211140742573:6503211140844653 2:0 matrixTranspose(float*, float*, int):497:35331 +6503211140848333:6503211142290686 2:0 CopyDeviceToHost:498:35331 +6503211150658811:6503211152310805 2:0 CopyHostToDevice:499:35331 +6503211152381564:6503211152483644 2:0 matrixTranspose(float*, float*, int):502:35331 +6503211152487164:6503211153938958 2:0 CopyDeviceToHost:503:35331 +6503211127362319:6503211129082529 35331:35331 hipMemcpy(dst=0x7f19f7a00000, src=0x7f19fc9ff010, sizeBytes=4194304, kind=1) :489 +6503211129083321:6503211129083441 35331:35331 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :490 +6503211129086256:6503211129086386 35331:35331 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :491 +6503211129086627:6503211129089923 35331:35331 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffc8155e688, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :492 +6503211129090444:6503211130757556 35331:35331 hipMemcpy(dst=0x7f19fc5fe010, src=0x7f19f7400000, sizeBytes=4194304, kind=2) :493 +6503211139008319:6503211140724522 35331:35331 hipMemcpy(dst=0x7f19f7a00000, src=0x7f19fc9ff010, sizeBytes=4194304, kind=1) :494 +6503211140725013:6503211140725163 35331:35331 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :495 +6503211140727227:6503211140727357 35331:35331 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :496 +6503211140727628:6503211140730843 35331:35331 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffc8155e688, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :497 +6503211140731445:6503211142398517 35331:35331 hipMemcpy(dst=0x7f19fc5fe010, src=0x7f19f7400000, sizeBytes=4194304, kind=2) :498 +6503211150645472:6503211152362817 35331:35331 hipMemcpy(dst=0x7f19f7a00000, src=0x7f19fc9ff010, sizeBytes=4194304, kind=1) :499 +6503211152365633:6503211152365803 35331:35331 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :500 +6503211152366043:6503211152366144 35331:35331 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :501 +6503211152366384:6503211152369500 35331:35331 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffc8155e688, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :502 +6503211152369901:6503211154050868 35331:35331 hipMemcpy(dst=0x7f19fc5fe010, src=0x7f19f7400000, sizeBytes=4194304, kind=2) :503 +6503211162290811:6503211162359739 35331:35331 hipFree(ptr=0x7f19f7a00000) :504 +6503211162362394:6503211162387610 35331:35331 hipFree(ptr=0x7f19f7400000) :505 diff --git a/test/golden_traces/MatrixTranspose_hip_period_trace.txt b/test/golden_traces/MatrixTranspose_hip_period_trace.txt index 249eceda88..b0b5689567 100644 --- a/test/golden_traces/MatrixTranspose_hip_period_trace.txt +++ b/test/golden_traces/MatrixTranspose_hip_period_trace.txt @@ -1,5 +1,5 @@ + ROCP_CTRL_RATE=10:100000:1000000 ./test/MatrixTranspose -ROCTracer (pid=1983): +ROCTracer (pid=1983): ROCTracer: trace control: delay(10us), length(100000us), rate(1000000us) 3802699747119708 HIP-trace() @@ -255,29 +255,20 @@ PASSED! 3802701025431374:3802701028050563 1983:1983 hipMemcpy(dst=0x7f6c11dfe010, src=0x7f6c10e00000, sizeBytes=4194304, kind=2) 3802700025923715:3802700027953920 0:0 CopyHostToDevice:4:1983 3802700932468645:3802700934131397 0:0 CopyHostToDevice:159:1983 -3802700934227596:3802700935424394 0:0 KernelExecution:163:1983 3802700934202858:3802700936764597 0:0 CopyDeviceToHost:165:1983 3802700943841248:3802700945497221 0:0 CopyHostToDevice:166:1983 -3802700945593801:3802700946786154 0:0 KernelExecution:170:1983 3802700945569841:3802700948120440 0:0 CopyDeviceToHost:172:1983 3802700955175473:3802700956835555 0:0 CopyHostToDevice:173:1983 -3802700956931540:3802700958130412 0:0 KernelExecution:177:1983 3802700956907066:3802700959467615 0:0 CopyDeviceToHost:179:1983 3802700966543517:3802700968200020 0:0 CopyHostToDevice:180:1983 -3802700968296336:3802700969501283 0:0 KernelExecution:184:1983 3802700968270720:3802700970841439 0:0 CopyDeviceToHost:186:1983 3802700977897221:3802700979556403 0:0 CopyHostToDevice:187:1983 -3802700979653155:3802700980864472 0:0 KernelExecution:191:1983 3802700979628944:3802700982210583 0:0 CopyDeviceToHost:193:1983 3802700989276246:3802700990941188 0:0 CopyHostToDevice:194:1983 -3802700991037310:3802700992234553 0:0 KernelExecution:198:1983 3802700991012848:3802700993682128 0:0 CopyDeviceToHost:200:1983 3802701000959152:3802701002622075 0:0 CopyHostToDevice:201:1983 -3802701002717521:3802701003911060 0:0 KernelExecution:205:1983 3802701002693645:3802701005254464 0:0 CopyDeviceToHost:207:1983 3802701012346926:3802701014005359 0:0 CopyHostToDevice:208:1983 -3802701014102693:3802701015297862 0:0 KernelExecution:212:1983 3802701014077439:3802701016629358 0:0 CopyDeviceToHost:214:1983 3802701023726221:3802701025394963 0:0 CopyHostToDevice:215:1983 -3802701025491525:3802701026698101 0:0 KernelExecution:219:1983 3802701025467214:3802701028039843 0:0 CopyDeviceToHost:221:1983 diff --git a/test/golden_traces/MatrixTranspose_hipaact_test_trace.txt b/test/golden_traces/MatrixTranspose_hipaact_test_trace.txt index b6768bff17..267b12c639 100644 --- a/test/golden_traces/MatrixTranspose_hipaact_test_trace.txt +++ b/test/golden_traces/MatrixTranspose_hipaact_test_trace.txt @@ -1,111 +1,111 @@ # INIT ############################# # START (99) ############################# - - - - + + + + Device 0 name: AMD Radeon VII ptr(0x7ffcb1cb2190) size(0x400000) *ptr(0x0x7fc7e1c00000) ptr(0x7ffcb1cb2188) size(0x400000) *ptr(0x0x7fc7e1400000) dst(0x7fc7e1c00000) src(0x7fc7e29ff010) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(877926) tid(877926)"> rocTX <"hipLaunchKernel pid(877926) tid(877926)"> -<__hipPushCallConfiguration id(2) correlation_id(6) on-enter pid(877926) tid(877926)> -<__hipPushCallConfiguration id(2) correlation_id(6) on-exit pid(877926) tid(877926)> -<__hipPopCallConfiguration id(1) correlation_id(7) on-enter pid(877926) tid(877926)> -<__hipPopCallConfiguration id(1) correlation_id(7) on-exit pid(877926) tid(877926)> - - +<__hipPushCallConfiguration id(2) correlation_id(6) on-enter pid(877926) tid(877926)> +<__hipPushCallConfiguration id(2) correlation_id(6) on-exit pid(877926) tid(877926)> +<__hipPopCallConfiguration id(1) correlation_id(7) on-enter pid(877926) tid(877926)> +<__hipPopCallConfiguration id(1) correlation_id(7) on-exit pid(877926) tid(877926)> + + rocTX <"after hipLaunchKernel pid(877926) tid(877926)"> rocTX <"hipMemcpy pid(877926) tid(877926)"> dst(0x7fc7e25fe010) src(0x7fc7e1400000) size(0x400000) kind(2) - + rocTX <"(null) pid(877926) tid(877926)"> rocTX <"(null) pid(877926) tid(877926)"> PASSED! ptr(0x7fc7e1c00000) - + ptr(0x7fc7e1400000) - + # START (98) ############################# Device 0 name: AMD Radeon VII PASSED! # START (97) ############################# - - - - + + + + Device 0 name: AMD Radeon VII ptr(0x7ffcb1cb2190) size(0x400000) *ptr(0x0x7fc7e2800000) ptr(0x7ffcb1cb2188) size(0x400000) *ptr(0x0x7fc7e0c00000) dst(0x7fc7e2800000) src(0x1bdfbf0) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(877926) tid(877926)"> rocTX <"hipLaunchKernel pid(877926) tid(877926)"> -<__hipPushCallConfiguration id(2) correlation_id(17) on-enter pid(877926) tid(877926)> -<__hipPushCallConfiguration id(2) correlation_id(17) on-exit pid(877926) tid(877926)> -<__hipPopCallConfiguration id(1) correlation_id(18) on-enter pid(877926) tid(877926)> -<__hipPopCallConfiguration id(1) correlation_id(18) on-exit pid(877926) tid(877926)> - - +<__hipPushCallConfiguration id(2) correlation_id(17) on-enter pid(877926) tid(877926)> +<__hipPushCallConfiguration id(2) correlation_id(17) on-exit pid(877926) tid(877926)> +<__hipPopCallConfiguration id(1) correlation_id(18) on-enter pid(877926) tid(877926)> +<__hipPopCallConfiguration id(1) correlation_id(18) on-exit pid(877926) tid(877926)> + + rocTX <"after hipLaunchKernel pid(877926) tid(877926)"> rocTX <"hipMemcpy pid(877926) tid(877926)"> dst(0x1fdfc00) src(0x7fc7e0c00000) size(0x400000) kind(2) - + rocTX <"(null) pid(877926) tid(877926)"> rocTX <"(null) pid(877926) tid(877926)"> PASSED! ptr(0x7fc7e2800000) - + ptr(0x7fc7e0c00000) - + # START (96) ############################# Device 0 name: AMD Radeon VII PASSED! # START (95) ############################# - - - - + + + + Device 0 name: AMD Radeon VII ptr(0x7ffcb1cb2190) size(0x400000) *ptr(0x0x7fc7e2800000) ptr(0x7ffcb1cb2188) size(0x400000) *ptr(0x0x7fc7e0c00000) dst(0x7fc7e2800000) src(0x1bdfbf0) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(877926) tid(877926)"> rocTX <"hipLaunchKernel pid(877926) tid(877926)"> -<__hipPushCallConfiguration id(2) correlation_id(28) on-enter pid(877926) tid(877926)> -<__hipPushCallConfiguration id(2) correlation_id(28) on-exit pid(877926) tid(877926)> -<__hipPopCallConfiguration id(1) correlation_id(29) on-enter pid(877926) tid(877926)> -<__hipPopCallConfiguration id(1) correlation_id(29) on-exit pid(877926) tid(877926)> - - +<__hipPushCallConfiguration id(2) correlation_id(28) on-enter pid(877926) tid(877926)> +<__hipPushCallConfiguration id(2) correlation_id(28) on-exit pid(877926) tid(877926)> +<__hipPopCallConfiguration id(1) correlation_id(29) on-enter pid(877926) tid(877926)> +<__hipPopCallConfiguration id(1) correlation_id(29) on-exit pid(877926) tid(877926)> + + rocTX <"after hipLaunchKernel pid(877926) tid(877926)"> rocTX <"hipMemcpy pid(877926) tid(877926)"> dst(0x1fdfc00) src(0x7fc7e0c00000) size(0x400000) kind(2) - + rocTX <"(null) pid(877926) tid(877926)"> rocTX <"(null) pid(877926) tid(877926)"> PASSED! ptr(0x7fc7e2800000) - + ptr(0x7fc7e0c00000) - + # START (94) ############################# Device 0 name: AMD Radeon VII PASSED! # START (93) ############################# - - - - + + + + Device 0 name: AMD Radeon VII Activity records: hipSetDevice correlation_id(1) time_ns(4494964957948720:4494964958022520) process_id(877926) thread_id(877926) @@ -177,102 +177,102 @@ Device 0 name: AMD Radeon VII ptr(0x7ffcb1cb2188) size(0x400000) *ptr(0x0x7fc7e0c00000) dst(0x7fc7e2800000) src(0x1bdfbf0) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(877926) tid(877926)"> rocTX <"hipLaunchKernel pid(877926) tid(877926)"> -<__hipPushCallConfiguration id(2) correlation_id(39) on-enter pid(877926) tid(877926)> -<__hipPushCallConfiguration id(2) correlation_id(39) on-exit pid(877926) tid(877926)> -<__hipPopCallConfiguration id(1) correlation_id(40) on-enter pid(877926) tid(877926)> -<__hipPopCallConfiguration id(1) correlation_id(40) on-exit pid(877926) tid(877926)> - - +<__hipPushCallConfiguration id(2) correlation_id(39) on-enter pid(877926) tid(877926)> +<__hipPushCallConfiguration id(2) correlation_id(39) on-exit pid(877926) tid(877926)> +<__hipPopCallConfiguration id(1) correlation_id(40) on-enter pid(877926) tid(877926)> +<__hipPopCallConfiguration id(1) correlation_id(40) on-exit pid(877926) tid(877926)> + + rocTX <"after hipLaunchKernel pid(877926) tid(877926)"> rocTX <"hipMemcpy pid(877926) tid(877926)"> dst(0x1fdfc00) src(0x7fc7e0c00000) size(0x400000) kind(2) - + rocTX <"(null) pid(877926) tid(877926)"> rocTX <"(null) pid(877926) tid(877926)"> PASSED! ptr(0x7fc7e2800000) - + ptr(0x7fc7e0c00000) - + # START (92) ############################# Device 0 name: AMD Radeon VII PASSED! # START (91) ############################# - - - - + + + + Device 0 name: AMD Radeon VII ptr(0x7ffcb1cb2190) size(0x400000) *ptr(0x0x7fc7e2800000) ptr(0x7ffcb1cb2188) size(0x400000) *ptr(0x0x7fc7e0c00000) dst(0x7fc7e2800000) src(0x1bdfbf0) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(877926) tid(877926)"> rocTX <"hipLaunchKernel pid(877926) tid(877926)"> -<__hipPushCallConfiguration id(2) correlation_id(50) on-enter pid(877926) tid(877926)> -<__hipPushCallConfiguration id(2) correlation_id(50) on-exit pid(877926) tid(877926)> -<__hipPopCallConfiguration id(1) correlation_id(51) on-enter pid(877926) tid(877926)> -<__hipPopCallConfiguration id(1) correlation_id(51) on-exit pid(877926) tid(877926)> - - +<__hipPushCallConfiguration id(2) correlation_id(50) on-enter pid(877926) tid(877926)> +<__hipPushCallConfiguration id(2) correlation_id(50) on-exit pid(877926) tid(877926)> +<__hipPopCallConfiguration id(1) correlation_id(51) on-enter pid(877926) tid(877926)> +<__hipPopCallConfiguration id(1) correlation_id(51) on-exit pid(877926) tid(877926)> + + rocTX <"after hipLaunchKernel pid(877926) tid(877926)"> rocTX <"hipMemcpy pid(877926) tid(877926)"> dst(0x1fdfc00) src(0x7fc7e0c00000) size(0x400000) kind(2) - + rocTX <"(null) pid(877926) tid(877926)"> rocTX <"(null) pid(877926) tid(877926)"> PASSED! ptr(0x7fc7e2800000) - + ptr(0x7fc7e0c00000) - + # START (90) ############################# Device 0 name: AMD Radeon VII PASSED! # START (89) ############################# - - - - + + + + Device 0 name: AMD Radeon VII ptr(0x7ffcb1cb2190) size(0x400000) *ptr(0x0x7fc7e2800000) ptr(0x7ffcb1cb2188) size(0x400000) *ptr(0x0x7fc7e0c00000) dst(0x7fc7e2800000) src(0x1bdfbf0) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(877926) tid(877926)"> rocTX <"hipLaunchKernel pid(877926) tid(877926)"> -<__hipPushCallConfiguration id(2) correlation_id(61) on-enter pid(877926) tid(877926)> -<__hipPushCallConfiguration id(2) correlation_id(61) on-exit pid(877926) tid(877926)> -<__hipPopCallConfiguration id(1) correlation_id(62) on-enter pid(877926) tid(877926)> -<__hipPopCallConfiguration id(1) correlation_id(62) on-exit pid(877926) tid(877926)> - - +<__hipPushCallConfiguration id(2) correlation_id(61) on-enter pid(877926) tid(877926)> +<__hipPushCallConfiguration id(2) correlation_id(61) on-exit pid(877926) tid(877926)> +<__hipPopCallConfiguration id(1) correlation_id(62) on-enter pid(877926) tid(877926)> +<__hipPopCallConfiguration id(1) correlation_id(62) on-exit pid(877926) tid(877926)> + + rocTX <"after hipLaunchKernel pid(877926) tid(877926)"> rocTX <"hipMemcpy pid(877926) tid(877926)"> dst(0x1fdfc00) src(0x7fc7e0c00000) size(0x400000) kind(2) - + rocTX <"(null) pid(877926) tid(877926)"> rocTX <"(null) pid(877926) tid(877926)"> PASSED! ptr(0x7fc7e2800000) - + ptr(0x7fc7e0c00000) - + # START (88) ############################# Device 0 name: AMD Radeon VII PASSED! # START (87) ############################# - - - - + + + + Device 0 name: AMD Radeon VII ptr(0x7ffcb1cb2190) size(0x400000) *ptr(0x0x7fc7e2800000) @@ -344,102 +344,102 @@ Device 0 name: AMD Radeon VII hipGetDeviceProperties correlation_id(68) time_ns(4494965344100838:4494965344105797) process_id(877926) thread_id(877926) *ptr(0x0x7fc7e0c00000) dst(0x7fc7e2800000) src(0x1bdfbf0) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(877926) tid(877926)"> rocTX <"hipLaunchKernel pid(877926) tid(877926)"> -<__hipPushCallConfiguration id(2) correlation_id(72) on-enter pid(877926) tid(877926)> -<__hipPushCallConfiguration id(2) correlation_id(72) on-exit pid(877926) tid(877926)> -<__hipPopCallConfiguration id(1) correlation_id(73) on-enter pid(877926) tid(877926)> -<__hipPopCallConfiguration id(1) correlation_id(73) on-exit pid(877926) tid(877926)> - - +<__hipPushCallConfiguration id(2) correlation_id(72) on-enter pid(877926) tid(877926)> +<__hipPushCallConfiguration id(2) correlation_id(72) on-exit pid(877926) tid(877926)> +<__hipPopCallConfiguration id(1) correlation_id(73) on-enter pid(877926) tid(877926)> +<__hipPopCallConfiguration id(1) correlation_id(73) on-exit pid(877926) tid(877926)> + + rocTX <"after hipLaunchKernel pid(877926) tid(877926)"> rocTX <"hipMemcpy pid(877926) tid(877926)"> dst(0x1fdfc00) src(0x7fc7e0c00000) size(0x400000) kind(2) - + rocTX <"(null) pid(877926) tid(877926)"> rocTX <"(null) pid(877926) tid(877926)"> PASSED! ptr(0x7fc7e2800000) - + ptr(0x7fc7e0c00000) - + # START (86) ############################# Device 0 name: AMD Radeon VII PASSED! # START (85) ############################# - - - - + + + + Device 0 name: AMD Radeon VII ptr(0x7ffcb1cb2190) size(0x400000) *ptr(0x0x7fc7e2800000) ptr(0x7ffcb1cb2188) size(0x400000) *ptr(0x0x7fc7e0c00000) dst(0x7fc7e2800000) src(0x1bdfbf0) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(877926) tid(877926)"> rocTX <"hipLaunchKernel pid(877926) tid(877926)"> -<__hipPushCallConfiguration id(2) correlation_id(83) on-enter pid(877926) tid(877926)> -<__hipPushCallConfiguration id(2) correlation_id(83) on-exit pid(877926) tid(877926)> -<__hipPopCallConfiguration id(1) correlation_id(84) on-enter pid(877926) tid(877926)> -<__hipPopCallConfiguration id(1) correlation_id(84) on-exit pid(877926) tid(877926)> - - +<__hipPushCallConfiguration id(2) correlation_id(83) on-enter pid(877926) tid(877926)> +<__hipPushCallConfiguration id(2) correlation_id(83) on-exit pid(877926) tid(877926)> +<__hipPopCallConfiguration id(1) correlation_id(84) on-enter pid(877926) tid(877926)> +<__hipPopCallConfiguration id(1) correlation_id(84) on-exit pid(877926) tid(877926)> + + rocTX <"after hipLaunchKernel pid(877926) tid(877926)"> rocTX <"hipMemcpy pid(877926) tid(877926)"> dst(0x1fdfc00) src(0x7fc7e0c00000) size(0x400000) kind(2) - + rocTX <"(null) pid(877926) tid(877926)"> rocTX <"(null) pid(877926) tid(877926)"> PASSED! ptr(0x7fc7e2800000) - + ptr(0x7fc7e0c00000) - + # START (84) ############################# Device 0 name: AMD Radeon VII PASSED! # START (83) ############################# - - - - + + + + Device 0 name: AMD Radeon VII ptr(0x7ffcb1cb2190) size(0x400000) *ptr(0x0x7fc7e2800000) ptr(0x7ffcb1cb2188) size(0x400000) *ptr(0x0x7fc7e0c00000) dst(0x7fc7e2800000) src(0x1bdfbf0) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(877926) tid(877926)"> rocTX <"hipLaunchKernel pid(877926) tid(877926)"> -<__hipPushCallConfiguration id(2) correlation_id(94) on-enter pid(877926) tid(877926)> -<__hipPushCallConfiguration id(2) correlation_id(94) on-exit pid(877926) tid(877926)> -<__hipPopCallConfiguration id(1) correlation_id(95) on-enter pid(877926) tid(877926)> -<__hipPopCallConfiguration id(1) correlation_id(95) on-exit pid(877926) tid(877926)> - - +<__hipPushCallConfiguration id(2) correlation_id(94) on-enter pid(877926) tid(877926)> +<__hipPushCallConfiguration id(2) correlation_id(94) on-exit pid(877926) tid(877926)> +<__hipPopCallConfiguration id(1) correlation_id(95) on-enter pid(877926) tid(877926)> +<__hipPopCallConfiguration id(1) correlation_id(95) on-exit pid(877926) tid(877926)> + + rocTX <"after hipLaunchKernel pid(877926) tid(877926)"> rocTX <"hipMemcpy pid(877926) tid(877926)"> dst(0x1fdfc00) src(0x7fc7e0c00000) size(0x400000) kind(2) - + rocTX <"(null) pid(877926) tid(877926)"> rocTX <"(null) pid(877926) tid(877926)"> PASSED! ptr(0x7fc7e2800000) - + ptr(0x7fc7e0c00000) - + # START (82) ############################# Device 0 name: AMD Radeon VII PASSED! # START (81) ############################# - - - - + + + + Device 0 name: AMD Radeon VII ptr(0x7ffcb1cb2190) size(0x400000) *ptr(0x0x7fc7e2800000) @@ -511,117 +511,117 @@ Device 0 name: AMD Radeon VII hipSetDevice correlation_id(100) time_ns(4494965428104369:4494965428129506) process_id(877926) thread_id(877926) hipGetDeviceProperties correlation_id(101) time_ns(4494965428131289:4494965428136139) process_id(877926) thread_id(877926) hipMalloc correlation_id(102) time_ns(4494965428755336:4494965428982905) process_id(877926) thread_id(877926) - + rocTX <"before hipLaunchKernel pid(877926) tid(877926)"> rocTX <"hipLaunchKernel pid(877926) tid(877926)"> -<__hipPushCallConfiguration id(2) correlation_id(105) on-enter pid(877926) tid(877926)> -<__hipPushCallConfiguration id(2) correlation_id(105) on-exit pid(877926) tid(877926)> -<__hipPopCallConfiguration id(1) correlation_id(106) on-enter pid(877926) tid(877926)> -<__hipPopCallConfiguration id(1) correlation_id(106) on-exit pid(877926) tid(877926)> - - +<__hipPushCallConfiguration id(2) correlation_id(105) on-enter pid(877926) tid(877926)> +<__hipPushCallConfiguration id(2) correlation_id(105) on-exit pid(877926) tid(877926)> +<__hipPopCallConfiguration id(1) correlation_id(106) on-enter pid(877926) tid(877926)> +<__hipPopCallConfiguration id(1) correlation_id(106) on-exit pid(877926) tid(877926)> + + rocTX <"after hipLaunchKernel pid(877926) tid(877926)"> rocTX <"hipMemcpy pid(877926) tid(877926)"> dst(0x1fdfc00) src(0x7fc7e0c00000) size(0x400000) kind(2) - + rocTX <"(null) pid(877926) tid(877926)"> rocTX <"(null) pid(877926) tid(877926)"> PASSED! ptr(0x7fc7e2800000) - + ptr(0x7fc7e0c00000) - + # START (80) ############################# Device 0 name: AMD Radeon VII PASSED! # START (79) ############################# - - - - + + + + Device 0 name: AMD Radeon VII ptr(0x7ffcb1cb2190) size(0x400000) *ptr(0x0x7fc7e2800000) ptr(0x7ffcb1cb2188) size(0x400000) *ptr(0x0x7fc7e0c00000) dst(0x7fc7e2800000) src(0x1bdfbf0) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(877926) tid(877926)"> rocTX <"hipLaunchKernel pid(877926) tid(877926)"> -<__hipPushCallConfiguration id(2) correlation_id(116) on-enter pid(877926) tid(877926)> -<__hipPushCallConfiguration id(2) correlation_id(116) on-exit pid(877926) tid(877926)> -<__hipPopCallConfiguration id(1) correlation_id(117) on-enter pid(877926) tid(877926)> -<__hipPopCallConfiguration id(1) correlation_id(117) on-exit pid(877926) tid(877926)> - - +<__hipPushCallConfiguration id(2) correlation_id(116) on-enter pid(877926) tid(877926)> +<__hipPushCallConfiguration id(2) correlation_id(116) on-exit pid(877926) tid(877926)> +<__hipPopCallConfiguration id(1) correlation_id(117) on-enter pid(877926) tid(877926)> +<__hipPopCallConfiguration id(1) correlation_id(117) on-exit pid(877926) tid(877926)> + + rocTX <"after hipLaunchKernel pid(877926) tid(877926)"> rocTX <"hipMemcpy pid(877926) tid(877926)"> dst(0x1fdfc00) src(0x7fc7e0c00000) size(0x400000) kind(2) - + rocTX <"(null) pid(877926) tid(877926)"> rocTX <"(null) pid(877926) tid(877926)"> PASSED! ptr(0x7fc7e2800000) - + ptr(0x7fc7e0c00000) - + # START (78) ############################# Device 0 name: AMD Radeon VII PASSED! # START (77) ############################# - - - - + + + + Device 0 name: AMD Radeon VII ptr(0x7ffcb1cb2190) size(0x400000) *ptr(0x0x7fc7e2800000) ptr(0x7ffcb1cb2188) size(0x400000) *ptr(0x0x7fc7e0c00000) dst(0x7fc7e2800000) src(0x1bdfbf0) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(877926) tid(877926)"> rocTX <"hipLaunchKernel pid(877926) tid(877926)"> -<__hipPushCallConfiguration id(2) correlation_id(127) on-enter pid(877926) tid(877926)> -<__hipPushCallConfiguration id(2) correlation_id(127) on-exit pid(877926) tid(877926)> -<__hipPopCallConfiguration id(1) correlation_id(128) on-enter pid(877926) tid(877926)> -<__hipPopCallConfiguration id(1) correlation_id(128) on-exit pid(877926) tid(877926)> - - +<__hipPushCallConfiguration id(2) correlation_id(127) on-enter pid(877926) tid(877926)> +<__hipPushCallConfiguration id(2) correlation_id(127) on-exit pid(877926) tid(877926)> +<__hipPopCallConfiguration id(1) correlation_id(128) on-enter pid(877926) tid(877926)> +<__hipPopCallConfiguration id(1) correlation_id(128) on-exit pid(877926) tid(877926)> + + rocTX <"after hipLaunchKernel pid(877926) tid(877926)"> rocTX <"hipMemcpy pid(877926) tid(877926)"> dst(0x1fdfc00) src(0x7fc7e0c00000) size(0x400000) kind(2) - + rocTX <"(null) pid(877926) tid(877926)"> rocTX <"(null) pid(877926) tid(877926)"> PASSED! ptr(0x7fc7e2800000) - + ptr(0x7fc7e0c00000) - + # START (76) ############################# Device 0 name: AMD Radeon VII PASSED! # START (75) ############################# - - - - + + + + Device 0 name: AMD Radeon VII ptr(0x7ffcb1cb2190) size(0x400000) *ptr(0x0x7fc7e2800000) ptr(0x7ffcb1cb2188) size(0x400000) *ptr(0x0x7fc7e0c00000) dst(0x7fc7e2800000) src(0x1bdfbf0) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(877926) tid(877926)"> rocTX <"hipLaunchKernel pid(877926) tid(877926)"> -<__hipPushCallConfiguration id(2) correlation_id(138) on-enter pid(877926) tid(877926)> -<__hipPushCallConfiguration id(2) correlation_id(138) on-exit pid(877926) tid(877926)> -<__hipPopCallConfiguration id(1) correlation_id(139) on-enter pid(877926) tid(877926)> -<__hipPopCallConfiguration id(1) correlation_id(139) on-exit pid(877926) tid(877926)> - - +<__hipPushCallConfiguration id(2) correlation_id(138) on-enter pid(877926) tid(877926)> +<__hipPushCallConfiguration id(2) correlation_id(138) on-exit pid(877926) tid(877926)> +<__hipPopCallConfiguration id(1) correlation_id(139) on-enter pid(877926) tid(877926)> +<__hipPopCallConfiguration id(1) correlation_id(139) on-exit pid(877926) tid(877926)> + + rocTX <"after hipLaunchKernel pid(877926) tid(877926)"> rocTX <"hipMemcpy pid(877926) tid(877926)"> Activity records: @@ -690,105 +690,105 @@ rocTX <"hipMemcpy pid(877926) tid(877926)"> hipGetDeviceProperties correlation_id(134) time_ns(4494965512137185:4494965512141994) process_id(877926) thread_id(877926) hipMalloc correlation_id(135) time_ns(4494965512750121:4494965512993950) process_id(877926) thread_id(877926) hipMalloc correlation_id(136) time_ns(4494965512994862:4494965513104138) process_id(877926) thread_id(877926) - + rocTX <"(null) pid(877926) tid(877926)"> rocTX <"(null) pid(877926) tid(877926)"> PASSED! ptr(0x7fc7e2800000) - + ptr(0x7fc7e0c00000) - + # START (74) ############################# Device 0 name: AMD Radeon VII PASSED! # START (73) ############################# - - - - + + + + Device 0 name: AMD Radeon VII ptr(0x7ffcb1cb2190) size(0x400000) *ptr(0x0x7fc7e2800000) ptr(0x7ffcb1cb2188) size(0x400000) *ptr(0x0x7fc7e0c00000) dst(0x7fc7e2800000) src(0x1bdfbf0) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(877926) tid(877926)"> rocTX <"hipLaunchKernel pid(877926) tid(877926)"> -<__hipPushCallConfiguration id(2) correlation_id(149) on-enter pid(877926) tid(877926)> -<__hipPushCallConfiguration id(2) correlation_id(149) on-exit pid(877926) tid(877926)> -<__hipPopCallConfiguration id(1) correlation_id(150) on-enter pid(877926) tid(877926)> -<__hipPopCallConfiguration id(1) correlation_id(150) on-exit pid(877926) tid(877926)> - - +<__hipPushCallConfiguration id(2) correlation_id(149) on-enter pid(877926) tid(877926)> +<__hipPushCallConfiguration id(2) correlation_id(149) on-exit pid(877926) tid(877926)> +<__hipPopCallConfiguration id(1) correlation_id(150) on-enter pid(877926) tid(877926)> +<__hipPopCallConfiguration id(1) correlation_id(150) on-exit pid(877926) tid(877926)> + + rocTX <"after hipLaunchKernel pid(877926) tid(877926)"> rocTX <"hipMemcpy pid(877926) tid(877926)"> dst(0x1fdfc00) src(0x7fc7e0c00000) size(0x400000) kind(2) - + rocTX <"(null) pid(877926) tid(877926)"> rocTX <"(null) pid(877926) tid(877926)"> PASSED! ptr(0x7fc7e2800000) - + ptr(0x7fc7e0c00000) - + # START (72) ############################# Device 0 name: AMD Radeon VII PASSED! # START (71) ############################# - - - - + + + + Device 0 name: AMD Radeon VII ptr(0x7ffcb1cb2190) size(0x400000) *ptr(0x0x7fc7e2800000) ptr(0x7ffcb1cb2188) size(0x400000) *ptr(0x0x7fc7e0c00000) dst(0x7fc7e2800000) src(0x1bdfbf0) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(877926) tid(877926)"> rocTX <"hipLaunchKernel pid(877926) tid(877926)"> -<__hipPushCallConfiguration id(2) correlation_id(160) on-enter pid(877926) tid(877926)> -<__hipPushCallConfiguration id(2) correlation_id(160) on-exit pid(877926) tid(877926)> -<__hipPopCallConfiguration id(1) correlation_id(161) on-enter pid(877926) tid(877926)> -<__hipPopCallConfiguration id(1) correlation_id(161) on-exit pid(877926) tid(877926)> - - +<__hipPushCallConfiguration id(2) correlation_id(160) on-enter pid(877926) tid(877926)> +<__hipPushCallConfiguration id(2) correlation_id(160) on-exit pid(877926) tid(877926)> +<__hipPopCallConfiguration id(1) correlation_id(161) on-enter pid(877926) tid(877926)> +<__hipPopCallConfiguration id(1) correlation_id(161) on-exit pid(877926) tid(877926)> + + rocTX <"after hipLaunchKernel pid(877926) tid(877926)"> rocTX <"hipMemcpy pid(877926) tid(877926)"> dst(0x1fdfc00) src(0x7fc7e0c00000) size(0x400000) kind(2) - + rocTX <"(null) pid(877926) tid(877926)"> rocTX <"(null) pid(877926) tid(877926)"> PASSED! ptr(0x7fc7e2800000) - + ptr(0x7fc7e0c00000) - + # START (70) ############################# Device 0 name: AMD Radeon VII PASSED! # START (69) ############################# - - - - + + + + Device 0 name: AMD Radeon VII ptr(0x7ffcb1cb2190) size(0x400000) *ptr(0x0x7fc7e2800000) ptr(0x7ffcb1cb2188) size(0x400000) *ptr(0x0x7fc7e0c00000) dst(0x7fc7e2800000) src(0x1bdfbf0) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(877926) tid(877926)"> rocTX <"hipLaunchKernel pid(877926) tid(877926)"> -<__hipPushCallConfiguration id(2) correlation_id(171) on-enter pid(877926) tid(877926)> -<__hipPushCallConfiguration id(2) correlation_id(171) on-exit pid(877926) tid(877926)> -<__hipPopCallConfiguration id(1) correlation_id(172) on-enter pid(877926) tid(877926)> -<__hipPopCallConfiguration id(1) correlation_id(172) on-exit pid(877926) tid(877926)> - - +<__hipPushCallConfiguration id(2) correlation_id(171) on-enter pid(877926) tid(877926)> +<__hipPushCallConfiguration id(2) correlation_id(171) on-exit pid(877926) tid(877926)> +<__hipPopCallConfiguration id(1) correlation_id(172) on-enter pid(877926) tid(877926)> +<__hipPopCallConfiguration id(1) correlation_id(172) on-exit pid(877926) tid(877926)> + + rocTX <"after hipLaunchKernel pid(877926) tid(877926)"> rocTX <"hipMemcpy pid(877926) tid(877926)"> dst(0x1fdfc00) src(0x7fc7e0c00000) size(0x400000) kind(2) @@ -857,105 +857,105 @@ rocTX <"hipMemcpy pid(877926) tid(877926)"> hipMalloc correlation_id(168) time_ns(4494965596785953:4494965597015626) process_id(877926) thread_id(877926) hipMalloc correlation_id(169) time_ns(4494965597016688:4494965597135452) process_id(877926) thread_id(877926) CopyHostToDevice correlation_id(170) time_ns(4494965598321624:4494965598622904) device_id(0) queue_id(0) bytes(0x0) - + rocTX <"(null) pid(877926) tid(877926)"> rocTX <"(null) pid(877926) tid(877926)"> PASSED! ptr(0x7fc7e2800000) - + ptr(0x7fc7e0c00000) - + # START (68) ############################# Device 0 name: AMD Radeon VII PASSED! # START (67) ############################# - - - - + + + + Device 0 name: AMD Radeon VII ptr(0x7ffcb1cb2190) size(0x400000) *ptr(0x0x7fc7e2800000) ptr(0x7ffcb1cb2188) size(0x400000) *ptr(0x0x7fc7e0c00000) dst(0x7fc7e2800000) src(0x1bdfbf0) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(877926) tid(877926)"> rocTX <"hipLaunchKernel pid(877926) tid(877926)"> -<__hipPushCallConfiguration id(2) correlation_id(182) on-enter pid(877926) tid(877926)> -<__hipPushCallConfiguration id(2) correlation_id(182) on-exit pid(877926) tid(877926)> -<__hipPopCallConfiguration id(1) correlation_id(183) on-enter pid(877926) tid(877926)> -<__hipPopCallConfiguration id(1) correlation_id(183) on-exit pid(877926) tid(877926)> - - +<__hipPushCallConfiguration id(2) correlation_id(182) on-enter pid(877926) tid(877926)> +<__hipPushCallConfiguration id(2) correlation_id(182) on-exit pid(877926) tid(877926)> +<__hipPopCallConfiguration id(1) correlation_id(183) on-enter pid(877926) tid(877926)> +<__hipPopCallConfiguration id(1) correlation_id(183) on-exit pid(877926) tid(877926)> + + rocTX <"after hipLaunchKernel pid(877926) tid(877926)"> rocTX <"hipMemcpy pid(877926) tid(877926)"> dst(0x1fdfc00) src(0x7fc7e0c00000) size(0x400000) kind(2) - + rocTX <"(null) pid(877926) tid(877926)"> rocTX <"(null) pid(877926) tid(877926)"> PASSED! ptr(0x7fc7e2800000) - + ptr(0x7fc7e0c00000) - + # START (66) ############################# Device 0 name: AMD Radeon VII PASSED! # START (65) ############################# - - - - + + + + Device 0 name: AMD Radeon VII ptr(0x7ffcb1cb2190) size(0x400000) *ptr(0x0x7fc7e2800000) ptr(0x7ffcb1cb2188) size(0x400000) *ptr(0x0x7fc7e0c00000) dst(0x7fc7e2800000) src(0x1bdfbf0) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(877926) tid(877926)"> rocTX <"hipLaunchKernel pid(877926) tid(877926)"> -<__hipPushCallConfiguration id(2) correlation_id(193) on-enter pid(877926) tid(877926)> -<__hipPushCallConfiguration id(2) correlation_id(193) on-exit pid(877926) tid(877926)> -<__hipPopCallConfiguration id(1) correlation_id(194) on-enter pid(877926) tid(877926)> -<__hipPopCallConfiguration id(1) correlation_id(194) on-exit pid(877926) tid(877926)> - - +<__hipPushCallConfiguration id(2) correlation_id(193) on-enter pid(877926) tid(877926)> +<__hipPushCallConfiguration id(2) correlation_id(193) on-exit pid(877926) tid(877926)> +<__hipPopCallConfiguration id(1) correlation_id(194) on-enter pid(877926) tid(877926)> +<__hipPopCallConfiguration id(1) correlation_id(194) on-exit pid(877926) tid(877926)> + + rocTX <"after hipLaunchKernel pid(877926) tid(877926)"> rocTX <"hipMemcpy pid(877926) tid(877926)"> dst(0x1fdfc00) src(0x7fc7e0c00000) size(0x400000) kind(2) - + rocTX <"(null) pid(877926) tid(877926)"> rocTX <"(null) pid(877926) tid(877926)"> PASSED! ptr(0x7fc7e2800000) - + ptr(0x7fc7e0c00000) - + # START (64) ############################# Device 0 name: AMD Radeon VII PASSED! # START (63) ############################# - - - - + + + + Device 0 name: AMD Radeon VII ptr(0x7ffcb1cb2190) size(0x400000) *ptr(0x0x7fc7e2800000) ptr(0x7ffcb1cb2188) size(0x400000) *ptr(0x0x7fc7e0c00000) dst(0x7fc7e2800000) src(0x1bdfbf0) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(877926) tid(877926)"> rocTX <"hipLaunchKernel pid(877926) tid(877926)"> -<__hipPushCallConfiguration id(2) correlation_id(204) on-enter pid(877926) tid(877926)> -<__hipPushCallConfiguration id(2) correlation_id(204) on-exit pid(877926) tid(877926)> -<__hipPopCallConfiguration id(1) correlation_id(205) on-enter pid(877926) tid(877926)> -<__hipPopCallConfiguration id(1) correlation_id(205) on-exit pid(877926) tid(877926)> - - +<__hipPushCallConfiguration id(2) correlation_id(204) on-enter pid(877926) tid(877926)> +<__hipPushCallConfiguration id(2) correlation_id(204) on-exit pid(877926) tid(877926)> +<__hipPopCallConfiguration id(1) correlation_id(205) on-enter pid(877926) tid(877926)> +<__hipPopCallConfiguration id(1) correlation_id(205) on-exit pid(877926) tid(877926)> + + rocTX <"after hipLaunchKernel pid(877926) tid(877926)"> rocTX <"hipMemcpy pid(877926) tid(877926)"> dst(0x1fdfc00) src(0x7fc7e0c00000) size(0x400000) kind(2) @@ -1024,105 +1024,105 @@ rocTX <"hipMemcpy pid(877926) tid(877926)"> hipMalloc correlation_id(202) time_ns(4494965678966737:4494965679073468) process_id(877926) thread_id(877926) CopyHostToDevice correlation_id(203) time_ns(4494965680329683:4494965680630802) device_id(0) queue_id(0) bytes(0x0) EXT_API correlation_id(203) time_ns(0:0) external_id(32) - + rocTX <"(null) pid(877926) tid(877926)"> rocTX <"(null) pid(877926) tid(877926)"> PASSED! ptr(0x7fc7e2800000) - + ptr(0x7fc7e0c00000) - + # START (62) ############################# Device 0 name: AMD Radeon VII PASSED! # START (61) ############################# - - - - + + + + Device 0 name: AMD Radeon VII ptr(0x7ffcb1cb2190) size(0x400000) *ptr(0x0x7fc7e2800000) ptr(0x7ffcb1cb2188) size(0x400000) *ptr(0x0x7fc7e0c00000) dst(0x7fc7e2800000) src(0x1bdfbf0) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(877926) tid(877926)"> rocTX <"hipLaunchKernel pid(877926) tid(877926)"> -<__hipPushCallConfiguration id(2) correlation_id(215) on-enter pid(877926) tid(877926)> -<__hipPushCallConfiguration id(2) correlation_id(215) on-exit pid(877926) tid(877926)> -<__hipPopCallConfiguration id(1) correlation_id(216) on-enter pid(877926) tid(877926)> -<__hipPopCallConfiguration id(1) correlation_id(216) on-exit pid(877926) tid(877926)> - - +<__hipPushCallConfiguration id(2) correlation_id(215) on-enter pid(877926) tid(877926)> +<__hipPushCallConfiguration id(2) correlation_id(215) on-exit pid(877926) tid(877926)> +<__hipPopCallConfiguration id(1) correlation_id(216) on-enter pid(877926) tid(877926)> +<__hipPopCallConfiguration id(1) correlation_id(216) on-exit pid(877926) tid(877926)> + + rocTX <"after hipLaunchKernel pid(877926) tid(877926)"> rocTX <"hipMemcpy pid(877926) tid(877926)"> dst(0x1fdfc00) src(0x7fc7e0c00000) size(0x400000) kind(2) - + rocTX <"(null) pid(877926) tid(877926)"> rocTX <"(null) pid(877926) tid(877926)"> PASSED! ptr(0x7fc7e2800000) - + ptr(0x7fc7e0c00000) - + # START (60) ############################# Device 0 name: AMD Radeon VII PASSED! # START (59) ############################# - - - - + + + + Device 0 name: AMD Radeon VII ptr(0x7ffcb1cb2190) size(0x400000) *ptr(0x0x7fc7e2800000) ptr(0x7ffcb1cb2188) size(0x400000) *ptr(0x0x7fc7e0c00000) dst(0x7fc7e2800000) src(0x1bdfbf0) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(877926) tid(877926)"> rocTX <"hipLaunchKernel pid(877926) tid(877926)"> -<__hipPushCallConfiguration id(2) correlation_id(226) on-enter pid(877926) tid(877926)> -<__hipPushCallConfiguration id(2) correlation_id(226) on-exit pid(877926) tid(877926)> -<__hipPopCallConfiguration id(1) correlation_id(227) on-enter pid(877926) tid(877926)> -<__hipPopCallConfiguration id(1) correlation_id(227) on-exit pid(877926) tid(877926)> - - +<__hipPushCallConfiguration id(2) correlation_id(226) on-enter pid(877926) tid(877926)> +<__hipPushCallConfiguration id(2) correlation_id(226) on-exit pid(877926) tid(877926)> +<__hipPopCallConfiguration id(1) correlation_id(227) on-enter pid(877926) tid(877926)> +<__hipPopCallConfiguration id(1) correlation_id(227) on-exit pid(877926) tid(877926)> + + rocTX <"after hipLaunchKernel pid(877926) tid(877926)"> rocTX <"hipMemcpy pid(877926) tid(877926)"> dst(0x1fdfc00) src(0x7fc7e0c00000) size(0x400000) kind(2) - + rocTX <"(null) pid(877926) tid(877926)"> rocTX <"(null) pid(877926) tid(877926)"> PASSED! ptr(0x7fc7e2800000) - + ptr(0x7fc7e0c00000) - + # START (58) ############################# Device 0 name: AMD Radeon VII PASSED! # START (57) ############################# - - - - + + + + Device 0 name: AMD Radeon VII ptr(0x7ffcb1cb2190) size(0x400000) *ptr(0x0x7fc7e2800000) ptr(0x7ffcb1cb2188) size(0x400000) *ptr(0x0x7fc7e0c00000) dst(0x7fc7e2800000) src(0x1bdfbf0) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(877926) tid(877926)"> rocTX <"hipLaunchKernel pid(877926) tid(877926)"> -<__hipPushCallConfiguration id(2) correlation_id(237) on-enter pid(877926) tid(877926)> -<__hipPushCallConfiguration id(2) correlation_id(237) on-exit pid(877926) tid(877926)> -<__hipPopCallConfiguration id(1) correlation_id(238) on-enter pid(877926) tid(877926)> -<__hipPopCallConfiguration id(1) correlation_id(238) on-exit pid(877926) tid(877926)> - - +<__hipPushCallConfiguration id(2) correlation_id(237) on-enter pid(877926) tid(877926)> +<__hipPushCallConfiguration id(2) correlation_id(237) on-exit pid(877926) tid(877926)> +<__hipPopCallConfiguration id(1) correlation_id(238) on-enter pid(877926) tid(877926)> +<__hipPopCallConfiguration id(1) correlation_id(238) on-exit pid(877926) tid(877926)> + + rocTX <"after hipLaunchKernel pid(877926) tid(877926)"> rocTX <"hipMemcpy pid(877926) tid(877926)"> dst(0x1fdfc00) src(0x7fc7e0c00000) size(0x400000) kind(2) @@ -1191,105 +1191,105 @@ rocTX <"hipMemcpy pid(877926) tid(877926)"> CopyHostToDevice correlation_id(236) time_ns(4494965763322041:4494965763623640) device_id(0) queue_id(0) bytes(0x0) EXT_API correlation_id(236) time_ns(0:0) external_id(32) hipMemcpy correlation_id(236) time_ns(4494965762256241:4494965763725341) process_id(877926) thread_id(877926) - + rocTX <"(null) pid(877926) tid(877926)"> rocTX <"(null) pid(877926) tid(877926)"> PASSED! ptr(0x7fc7e2800000) - + ptr(0x7fc7e0c00000) - + # START (56) ############################# Device 0 name: AMD Radeon VII PASSED! # START (55) ############################# - - - - + + + + Device 0 name: AMD Radeon VII ptr(0x7ffcb1cb2190) size(0x400000) *ptr(0x0x7fc7e2800000) ptr(0x7ffcb1cb2188) size(0x400000) *ptr(0x0x7fc7e0c00000) dst(0x7fc7e2800000) src(0x1bdfbf0) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(877926) tid(877926)"> rocTX <"hipLaunchKernel pid(877926) tid(877926)"> -<__hipPushCallConfiguration id(2) correlation_id(248) on-enter pid(877926) tid(877926)> -<__hipPushCallConfiguration id(2) correlation_id(248) on-exit pid(877926) tid(877926)> -<__hipPopCallConfiguration id(1) correlation_id(249) on-enter pid(877926) tid(877926)> -<__hipPopCallConfiguration id(1) correlation_id(249) on-exit pid(877926) tid(877926)> - - +<__hipPushCallConfiguration id(2) correlation_id(248) on-enter pid(877926) tid(877926)> +<__hipPushCallConfiguration id(2) correlation_id(248) on-exit pid(877926) tid(877926)> +<__hipPopCallConfiguration id(1) correlation_id(249) on-enter pid(877926) tid(877926)> +<__hipPopCallConfiguration id(1) correlation_id(249) on-exit pid(877926) tid(877926)> + + rocTX <"after hipLaunchKernel pid(877926) tid(877926)"> rocTX <"hipMemcpy pid(877926) tid(877926)"> dst(0x1fdfc00) src(0x7fc7e0c00000) size(0x400000) kind(2) - + rocTX <"(null) pid(877926) tid(877926)"> rocTX <"(null) pid(877926) tid(877926)"> PASSED! ptr(0x7fc7e2800000) - + ptr(0x7fc7e0c00000) - + # START (54) ############################# Device 0 name: AMD Radeon VII PASSED! # START (53) ############################# - - - - + + + + Device 0 name: AMD Radeon VII ptr(0x7ffcb1cb2190) size(0x400000) *ptr(0x0x7fc7e2800000) ptr(0x7ffcb1cb2188) size(0x400000) *ptr(0x0x7fc7e0c00000) dst(0x7fc7e2800000) src(0x1bdfbf0) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(877926) tid(877926)"> rocTX <"hipLaunchKernel pid(877926) tid(877926)"> -<__hipPushCallConfiguration id(2) correlation_id(259) on-enter pid(877926) tid(877926)> -<__hipPushCallConfiguration id(2) correlation_id(259) on-exit pid(877926) tid(877926)> -<__hipPopCallConfiguration id(1) correlation_id(260) on-enter pid(877926) tid(877926)> -<__hipPopCallConfiguration id(1) correlation_id(260) on-exit pid(877926) tid(877926)> - - +<__hipPushCallConfiguration id(2) correlation_id(259) on-enter pid(877926) tid(877926)> +<__hipPushCallConfiguration id(2) correlation_id(259) on-exit pid(877926) tid(877926)> +<__hipPopCallConfiguration id(1) correlation_id(260) on-enter pid(877926) tid(877926)> +<__hipPopCallConfiguration id(1) correlation_id(260) on-exit pid(877926) tid(877926)> + + rocTX <"after hipLaunchKernel pid(877926) tid(877926)"> rocTX <"hipMemcpy pid(877926) tid(877926)"> dst(0x1fdfc00) src(0x7fc7e0c00000) size(0x400000) kind(2) - + rocTX <"(null) pid(877926) tid(877926)"> rocTX <"(null) pid(877926) tid(877926)"> PASSED! ptr(0x7fc7e2800000) - + ptr(0x7fc7e0c00000) - + # START (52) ############################# Device 0 name: AMD Radeon VII PASSED! # START (51) ############################# - - - - + + + + Device 0 name: AMD Radeon VII ptr(0x7ffcb1cb2190) size(0x400000) *ptr(0x0x7fc7e2800000) ptr(0x7ffcb1cb2188) size(0x400000) *ptr(0x0x7fc7e0c00000) dst(0x7fc7e2800000) src(0x1bdfbf0) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(877926) tid(877926)"> rocTX <"hipLaunchKernel pid(877926) tid(877926)"> -<__hipPushCallConfiguration id(2) correlation_id(270) on-enter pid(877926) tid(877926)> -<__hipPushCallConfiguration id(2) correlation_id(270) on-exit pid(877926) tid(877926)> -<__hipPopCallConfiguration id(1) correlation_id(271) on-enter pid(877926) tid(877926)> -<__hipPopCallConfiguration id(1) correlation_id(271) on-exit pid(877926) tid(877926)> - - +<__hipPushCallConfiguration id(2) correlation_id(270) on-enter pid(877926) tid(877926)> +<__hipPushCallConfiguration id(2) correlation_id(270) on-exit pid(877926) tid(877926)> +<__hipPopCallConfiguration id(1) correlation_id(271) on-enter pid(877926) tid(877926)> +<__hipPopCallConfiguration id(1) correlation_id(271) on-exit pid(877926) tid(877926)> + + rocTX <"after hipLaunchKernel pid(877926) tid(877926)"> rocTX <"hipMemcpy pid(877926) tid(877926)"> dst(0x1fdfc00) src(0x7fc7e0c00000) size(0x400000) kind(2) @@ -1358,105 +1358,105 @@ rocTX <"hipMemcpy pid(877926) tid(877926)"> EXT_API correlation_id(269) time_ns(0:0) external_id(32) hipMemcpy correlation_id(269) time_ns(4494965845260207:4494965846726763) process_id(877926) thread_id(877926) EXT_API correlation_id(270) time_ns(0:0) external_id(33) - + rocTX <"(null) pid(877926) tid(877926)"> rocTX <"(null) pid(877926) tid(877926)"> PASSED! ptr(0x7fc7e2800000) - + ptr(0x7fc7e0c00000) - + # START (50) ############################# Device 0 name: AMD Radeon VII PASSED! # START (49) ############################# - - - - + + + + Device 0 name: AMD Radeon VII ptr(0x7ffcb1cb2190) size(0x400000) *ptr(0x0x7fc7e2800000) ptr(0x7ffcb1cb2188) size(0x400000) *ptr(0x0x7fc7e0c00000) dst(0x7fc7e2800000) src(0x1bdfbf0) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(877926) tid(877926)"> rocTX <"hipLaunchKernel pid(877926) tid(877926)"> -<__hipPushCallConfiguration id(2) correlation_id(281) on-enter pid(877926) tid(877926)> -<__hipPushCallConfiguration id(2) correlation_id(281) on-exit pid(877926) tid(877926)> -<__hipPopCallConfiguration id(1) correlation_id(282) on-enter pid(877926) tid(877926)> -<__hipPopCallConfiguration id(1) correlation_id(282) on-exit pid(877926) tid(877926)> - - +<__hipPushCallConfiguration id(2) correlation_id(281) on-enter pid(877926) tid(877926)> +<__hipPushCallConfiguration id(2) correlation_id(281) on-exit pid(877926) tid(877926)> +<__hipPopCallConfiguration id(1) correlation_id(282) on-enter pid(877926) tid(877926)> +<__hipPopCallConfiguration id(1) correlation_id(282) on-exit pid(877926) tid(877926)> + + rocTX <"after hipLaunchKernel pid(877926) tid(877926)"> rocTX <"hipMemcpy pid(877926) tid(877926)"> dst(0x1fdfc00) src(0x7fc7e0c00000) size(0x400000) kind(2) - + rocTX <"(null) pid(877926) tid(877926)"> rocTX <"(null) pid(877926) tid(877926)"> PASSED! ptr(0x7fc7e2800000) - + ptr(0x7fc7e0c00000) - + # START (48) ############################# Device 0 name: AMD Radeon VII PASSED! # START (47) ############################# - - - - + + + + Device 0 name: AMD Radeon VII ptr(0x7ffcb1cb2190) size(0x400000) *ptr(0x0x7fc7e2800000) ptr(0x7ffcb1cb2188) size(0x400000) *ptr(0x0x7fc7e0c00000) dst(0x7fc7e2800000) src(0x1bdfbf0) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(877926) tid(877926)"> rocTX <"hipLaunchKernel pid(877926) tid(877926)"> -<__hipPushCallConfiguration id(2) correlation_id(292) on-enter pid(877926) tid(877926)> -<__hipPushCallConfiguration id(2) correlation_id(292) on-exit pid(877926) tid(877926)> -<__hipPopCallConfiguration id(1) correlation_id(293) on-enter pid(877926) tid(877926)> -<__hipPopCallConfiguration id(1) correlation_id(293) on-exit pid(877926) tid(877926)> - - +<__hipPushCallConfiguration id(2) correlation_id(292) on-enter pid(877926) tid(877926)> +<__hipPushCallConfiguration id(2) correlation_id(292) on-exit pid(877926) tid(877926)> +<__hipPopCallConfiguration id(1) correlation_id(293) on-enter pid(877926) tid(877926)> +<__hipPopCallConfiguration id(1) correlation_id(293) on-exit pid(877926) tid(877926)> + + rocTX <"after hipLaunchKernel pid(877926) tid(877926)"> rocTX <"hipMemcpy pid(877926) tid(877926)"> dst(0x1fdfc00) src(0x7fc7e0c00000) size(0x400000) kind(2) - + rocTX <"(null) pid(877926) tid(877926)"> rocTX <"(null) pid(877926) tid(877926)"> PASSED! ptr(0x7fc7e2800000) - + ptr(0x7fc7e0c00000) - + # START (46) ############################# Device 0 name: AMD Radeon VII PASSED! # START (45) ############################# - - - - + + + + Device 0 name: AMD Radeon VII ptr(0x7ffcb1cb2190) size(0x400000) *ptr(0x0x7fc7e2800000) ptr(0x7ffcb1cb2188) size(0x400000) *ptr(0x0x7fc7e0c00000) dst(0x7fc7e2800000) src(0x1bdfbf0) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(877926) tid(877926)"> rocTX <"hipLaunchKernel pid(877926) tid(877926)"> -<__hipPushCallConfiguration id(2) correlation_id(303) on-enter pid(877926) tid(877926)> -<__hipPushCallConfiguration id(2) correlation_id(303) on-exit pid(877926) tid(877926)> -<__hipPopCallConfiguration id(1) correlation_id(304) on-enter pid(877926) tid(877926)> -<__hipPopCallConfiguration id(1) correlation_id(304) on-exit pid(877926) tid(877926)> - - +<__hipPushCallConfiguration id(2) correlation_id(303) on-enter pid(877926) tid(877926)> +<__hipPushCallConfiguration id(2) correlation_id(303) on-exit pid(877926) tid(877926)> +<__hipPopCallConfiguration id(1) correlation_id(304) on-enter pid(877926) tid(877926)> +<__hipPopCallConfiguration id(1) correlation_id(304) on-exit pid(877926) tid(877926)> + + rocTX <"after hipLaunchKernel pid(877926) tid(877926)"> rocTX <"hipMemcpy pid(877926) tid(877926)"> dst(0x1fdfc00) src(0x7fc7e0c00000) size(0x400000) kind(2) @@ -1525,105 +1525,105 @@ rocTX <"hipMemcpy pid(877926) tid(877926)"> hipMemcpy correlation_id(302) time_ns(4494965926292295:4494965927728453) process_id(877926) thread_id(877926) EXT_API correlation_id(303) time_ns(0:0) external_id(33) __hipPushCallConfiguration correlation_id(303) time_ns(4494965927732481:4494965927737250) process_id(877926) thread_id(877926) - + rocTX <"(null) pid(877926) tid(877926)"> rocTX <"(null) pid(877926) tid(877926)"> PASSED! ptr(0x7fc7e2800000) - + ptr(0x7fc7e0c00000) - + # START (44) ############################# Device 0 name: AMD Radeon VII PASSED! # START (43) ############################# - - - - + + + + Device 0 name: AMD Radeon VII ptr(0x7ffcb1cb2190) size(0x400000) *ptr(0x0x7fc7e2800000) ptr(0x7ffcb1cb2188) size(0x400000) *ptr(0x0x7fc7e0c00000) dst(0x7fc7e2800000) src(0x1bdfbf0) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(877926) tid(877926)"> rocTX <"hipLaunchKernel pid(877926) tid(877926)"> -<__hipPushCallConfiguration id(2) correlation_id(314) on-enter pid(877926) tid(877926)> -<__hipPushCallConfiguration id(2) correlation_id(314) on-exit pid(877926) tid(877926)> -<__hipPopCallConfiguration id(1) correlation_id(315) on-enter pid(877926) tid(877926)> -<__hipPopCallConfiguration id(1) correlation_id(315) on-exit pid(877926) tid(877926)> - - +<__hipPushCallConfiguration id(2) correlation_id(314) on-enter pid(877926) tid(877926)> +<__hipPushCallConfiguration id(2) correlation_id(314) on-exit pid(877926) tid(877926)> +<__hipPopCallConfiguration id(1) correlation_id(315) on-enter pid(877926) tid(877926)> +<__hipPopCallConfiguration id(1) correlation_id(315) on-exit pid(877926) tid(877926)> + + rocTX <"after hipLaunchKernel pid(877926) tid(877926)"> rocTX <"hipMemcpy pid(877926) tid(877926)"> dst(0x1fdfc00) src(0x7fc7e0c00000) size(0x400000) kind(2) - + rocTX <"(null) pid(877926) tid(877926)"> rocTX <"(null) pid(877926) tid(877926)"> PASSED! ptr(0x7fc7e2800000) - + ptr(0x7fc7e0c00000) - + # START (42) ############################# Device 0 name: AMD Radeon VII PASSED! # START (41) ############################# - - - - + + + + Device 0 name: AMD Radeon VII ptr(0x7ffcb1cb2190) size(0x400000) *ptr(0x0x7fc7e2800000) ptr(0x7ffcb1cb2188) size(0x400000) *ptr(0x0x7fc7e0c00000) dst(0x7fc7e2800000) src(0x1bdfbf0) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(877926) tid(877926)"> rocTX <"hipLaunchKernel pid(877926) tid(877926)"> -<__hipPushCallConfiguration id(2) correlation_id(325) on-enter pid(877926) tid(877926)> -<__hipPushCallConfiguration id(2) correlation_id(325) on-exit pid(877926) tid(877926)> -<__hipPopCallConfiguration id(1) correlation_id(326) on-enter pid(877926) tid(877926)> -<__hipPopCallConfiguration id(1) correlation_id(326) on-exit pid(877926) tid(877926)> - - +<__hipPushCallConfiguration id(2) correlation_id(325) on-enter pid(877926) tid(877926)> +<__hipPushCallConfiguration id(2) correlation_id(325) on-exit pid(877926) tid(877926)> +<__hipPopCallConfiguration id(1) correlation_id(326) on-enter pid(877926) tid(877926)> +<__hipPopCallConfiguration id(1) correlation_id(326) on-exit pid(877926) tid(877926)> + + rocTX <"after hipLaunchKernel pid(877926) tid(877926)"> rocTX <"hipMemcpy pid(877926) tid(877926)"> dst(0x1fdfc00) src(0x7fc7e0c00000) size(0x400000) kind(2) - + rocTX <"(null) pid(877926) tid(877926)"> rocTX <"(null) pid(877926) tid(877926)"> PASSED! ptr(0x7fc7e2800000) - + ptr(0x7fc7e0c00000) - + # START (40) ############################# Device 0 name: AMD Radeon VII PASSED! # START (39) ############################# - - - - + + + + Device 0 name: AMD Radeon VII ptr(0x7ffcb1cb2190) size(0x400000) *ptr(0x0x7fc7e2800000) ptr(0x7ffcb1cb2188) size(0x400000) *ptr(0x0x7fc7e0c00000) dst(0x7fc7e2800000) src(0x1bdfbf0) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(877926) tid(877926)"> rocTX <"hipLaunchKernel pid(877926) tid(877926)"> -<__hipPushCallConfiguration id(2) correlation_id(336) on-enter pid(877926) tid(877926)> -<__hipPushCallConfiguration id(2) correlation_id(336) on-exit pid(877926) tid(877926)> -<__hipPopCallConfiguration id(1) correlation_id(337) on-enter pid(877926) tid(877926)> -<__hipPopCallConfiguration id(1) correlation_id(337) on-exit pid(877926) tid(877926)> - - +<__hipPushCallConfiguration id(2) correlation_id(336) on-enter pid(877926) tid(877926)> +<__hipPushCallConfiguration id(2) correlation_id(336) on-exit pid(877926) tid(877926)> +<__hipPopCallConfiguration id(1) correlation_id(337) on-enter pid(877926) tid(877926)> +<__hipPopCallConfiguration id(1) correlation_id(337) on-exit pid(877926) tid(877926)> + + rocTX <"after hipLaunchKernel pid(877926) tid(877926)"> rocTX <"hipMemcpy pid(877926) tid(877926)"> dst(0x1fdfc00) src(0x7fc7e0c00000) size(0x400000) kind(2) @@ -1692,105 +1692,105 @@ rocTX <"hipMemcpy pid(877926) tid(877926)"> EXT_API correlation_id(336) time_ns(0:0) external_id(33) __hipPushCallConfiguration correlation_id(336) time_ns(4494966010730466:4494966010735385) process_id(877926) thread_id(877926) EXT_API correlation_id(337) time_ns(0:0) external_id(33) - + rocTX <"(null) pid(877926) tid(877926)"> rocTX <"(null) pid(877926) tid(877926)"> PASSED! ptr(0x7fc7e2800000) - + ptr(0x7fc7e0c00000) - + # START (38) ############################# Device 0 name: AMD Radeon VII PASSED! # START (37) ############################# - - - - + + + + Device 0 name: AMD Radeon VII ptr(0x7ffcb1cb2190) size(0x400000) *ptr(0x0x7fc7e2800000) ptr(0x7ffcb1cb2188) size(0x400000) *ptr(0x0x7fc7e0c00000) dst(0x7fc7e2800000) src(0x1bdfbf0) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(877926) tid(877926)"> rocTX <"hipLaunchKernel pid(877926) tid(877926)"> -<__hipPushCallConfiguration id(2) correlation_id(347) on-enter pid(877926) tid(877926)> -<__hipPushCallConfiguration id(2) correlation_id(347) on-exit pid(877926) tid(877926)> -<__hipPopCallConfiguration id(1) correlation_id(348) on-enter pid(877926) tid(877926)> -<__hipPopCallConfiguration id(1) correlation_id(348) on-exit pid(877926) tid(877926)> - - +<__hipPushCallConfiguration id(2) correlation_id(347) on-enter pid(877926) tid(877926)> +<__hipPushCallConfiguration id(2) correlation_id(347) on-exit pid(877926) tid(877926)> +<__hipPopCallConfiguration id(1) correlation_id(348) on-enter pid(877926) tid(877926)> +<__hipPopCallConfiguration id(1) correlation_id(348) on-exit pid(877926) tid(877926)> + + rocTX <"after hipLaunchKernel pid(877926) tid(877926)"> rocTX <"hipMemcpy pid(877926) tid(877926)"> dst(0x1fdfc00) src(0x7fc7e0c00000) size(0x400000) kind(2) - + rocTX <"(null) pid(877926) tid(877926)"> rocTX <"(null) pid(877926) tid(877926)"> PASSED! ptr(0x7fc7e2800000) - + ptr(0x7fc7e0c00000) - + # START (36) ############################# Device 0 name: AMD Radeon VII PASSED! # START (35) ############################# - - - - + + + + Device 0 name: AMD Radeon VII ptr(0x7ffcb1cb2190) size(0x400000) *ptr(0x0x7fc7e2800000) ptr(0x7ffcb1cb2188) size(0x400000) *ptr(0x0x7fc7e0c00000) dst(0x7fc7e2800000) src(0x1bdfbf0) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(877926) tid(877926)"> rocTX <"hipLaunchKernel pid(877926) tid(877926)"> -<__hipPushCallConfiguration id(2) correlation_id(358) on-enter pid(877926) tid(877926)> -<__hipPushCallConfiguration id(2) correlation_id(358) on-exit pid(877926) tid(877926)> -<__hipPopCallConfiguration id(1) correlation_id(359) on-enter pid(877926) tid(877926)> -<__hipPopCallConfiguration id(1) correlation_id(359) on-exit pid(877926) tid(877926)> - - +<__hipPushCallConfiguration id(2) correlation_id(358) on-enter pid(877926) tid(877926)> +<__hipPushCallConfiguration id(2) correlation_id(358) on-exit pid(877926) tid(877926)> +<__hipPopCallConfiguration id(1) correlation_id(359) on-enter pid(877926) tid(877926)> +<__hipPopCallConfiguration id(1) correlation_id(359) on-exit pid(877926) tid(877926)> + + rocTX <"after hipLaunchKernel pid(877926) tid(877926)"> rocTX <"hipMemcpy pid(877926) tid(877926)"> dst(0x1fdfc00) src(0x7fc7e0c00000) size(0x400000) kind(2) - + rocTX <"(null) pid(877926) tid(877926)"> rocTX <"(null) pid(877926) tid(877926)"> PASSED! ptr(0x7fc7e2800000) - + ptr(0x7fc7e0c00000) - + # START (34) ############################# Device 0 name: AMD Radeon VII PASSED! # START (33) ############################# - - - - + + + + Device 0 name: AMD Radeon VII ptr(0x7ffcb1cb2190) size(0x400000) *ptr(0x0x7fc7e2800000) ptr(0x7ffcb1cb2188) size(0x400000) *ptr(0x0x7fc7e0c00000) dst(0x7fc7e2800000) src(0x1bdfbf0) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(877926) tid(877926)"> rocTX <"hipLaunchKernel pid(877926) tid(877926)"> -<__hipPushCallConfiguration id(2) correlation_id(369) on-enter pid(877926) tid(877926)> -<__hipPushCallConfiguration id(2) correlation_id(369) on-exit pid(877926) tid(877926)> -<__hipPopCallConfiguration id(1) correlation_id(370) on-enter pid(877926) tid(877926)> -<__hipPopCallConfiguration id(1) correlation_id(370) on-exit pid(877926) tid(877926)> - - +<__hipPushCallConfiguration id(2) correlation_id(369) on-enter pid(877926) tid(877926)> +<__hipPushCallConfiguration id(2) correlation_id(369) on-exit pid(877926) tid(877926)> +<__hipPopCallConfiguration id(1) correlation_id(370) on-enter pid(877926) tid(877926)> +<__hipPopCallConfiguration id(1) correlation_id(370) on-exit pid(877926) tid(877926)> + + rocTX <"after hipLaunchKernel pid(877926) tid(877926)"> rocTX <"hipMemcpy pid(877926) tid(877926)"> dst(0x1fdfc00) src(0x7fc7e0c00000) size(0x400000) kind(2) @@ -1859,105 +1859,105 @@ rocTX <"hipMemcpy pid(877926) tid(877926)"> __hipPushCallConfiguration correlation_id(369) time_ns(4494966092737462:4494966092742491) process_id(877926) thread_id(877926) EXT_API correlation_id(370) time_ns(0:0) external_id(33) __hipPopCallConfiguration correlation_id(370) time_ns(4494966092743393:4494966092746689) process_id(877926) thread_id(877926) - + rocTX <"(null) pid(877926) tid(877926)"> rocTX <"(null) pid(877926) tid(877926)"> PASSED! ptr(0x7fc7e2800000) - + ptr(0x7fc7e0c00000) - + # START (32) ############################# Device 0 name: AMD Radeon VII PASSED! # START (31) ############################# - - - - + + + + Device 0 name: AMD Radeon VII ptr(0x7ffcb1cb2190) size(0x400000) *ptr(0x0x7fc7e2800000) ptr(0x7ffcb1cb2188) size(0x400000) *ptr(0x0x7fc7e0c00000) dst(0x7fc7e2800000) src(0x1bdfbf0) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(877926) tid(877926)"> rocTX <"hipLaunchKernel pid(877926) tid(877926)"> -<__hipPushCallConfiguration id(2) correlation_id(380) on-enter pid(877926) tid(877926)> -<__hipPushCallConfiguration id(2) correlation_id(380) on-exit pid(877926) tid(877926)> -<__hipPopCallConfiguration id(1) correlation_id(381) on-enter pid(877926) tid(877926)> -<__hipPopCallConfiguration id(1) correlation_id(381) on-exit pid(877926) tid(877926)> - - +<__hipPushCallConfiguration id(2) correlation_id(380) on-enter pid(877926) tid(877926)> +<__hipPushCallConfiguration id(2) correlation_id(380) on-exit pid(877926) tid(877926)> +<__hipPopCallConfiguration id(1) correlation_id(381) on-enter pid(877926) tid(877926)> +<__hipPopCallConfiguration id(1) correlation_id(381) on-exit pid(877926) tid(877926)> + + rocTX <"after hipLaunchKernel pid(877926) tid(877926)"> rocTX <"hipMemcpy pid(877926) tid(877926)"> dst(0x1fdfc00) src(0x7fc7e0c00000) size(0x400000) kind(2) - + rocTX <"(null) pid(877926) tid(877926)"> rocTX <"(null) pid(877926) tid(877926)"> PASSED! ptr(0x7fc7e2800000) - + ptr(0x7fc7e0c00000) - + # START (30) ############################# Device 0 name: AMD Radeon VII PASSED! # START (29) ############################# - - - - + + + + Device 0 name: AMD Radeon VII ptr(0x7ffcb1cb2190) size(0x400000) *ptr(0x0x7fc7e2800000) ptr(0x7ffcb1cb2188) size(0x400000) *ptr(0x0x7fc7e0c00000) dst(0x7fc7e2800000) src(0x1bdfbf0) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(877926) tid(877926)"> rocTX <"hipLaunchKernel pid(877926) tid(877926)"> -<__hipPushCallConfiguration id(2) correlation_id(391) on-enter pid(877926) tid(877926)> -<__hipPushCallConfiguration id(2) correlation_id(391) on-exit pid(877926) tid(877926)> -<__hipPopCallConfiguration id(1) correlation_id(392) on-enter pid(877926) tid(877926)> -<__hipPopCallConfiguration id(1) correlation_id(392) on-exit pid(877926) tid(877926)> - - +<__hipPushCallConfiguration id(2) correlation_id(391) on-enter pid(877926) tid(877926)> +<__hipPushCallConfiguration id(2) correlation_id(391) on-exit pid(877926) tid(877926)> +<__hipPopCallConfiguration id(1) correlation_id(392) on-enter pid(877926) tid(877926)> +<__hipPopCallConfiguration id(1) correlation_id(392) on-exit pid(877926) tid(877926)> + + rocTX <"after hipLaunchKernel pid(877926) tid(877926)"> rocTX <"hipMemcpy pid(877926) tid(877926)"> dst(0x1fdfc00) src(0x7fc7e0c00000) size(0x400000) kind(2) - + rocTX <"(null) pid(877926) tid(877926)"> rocTX <"(null) pid(877926) tid(877926)"> PASSED! ptr(0x7fc7e2800000) - + ptr(0x7fc7e0c00000) - + # START (28) ############################# Device 0 name: AMD Radeon VII PASSED! # START (27) ############################# - - - - + + + + Device 0 name: AMD Radeon VII ptr(0x7ffcb1cb2190) size(0x400000) *ptr(0x0x7fc7e2800000) ptr(0x7ffcb1cb2188) size(0x400000) *ptr(0x0x7fc7e0c00000) dst(0x7fc7e2800000) src(0x1bdfbf0) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(877926) tid(877926)"> rocTX <"hipLaunchKernel pid(877926) tid(877926)"> -<__hipPushCallConfiguration id(2) correlation_id(402) on-enter pid(877926) tid(877926)> -<__hipPushCallConfiguration id(2) correlation_id(402) on-exit pid(877926) tid(877926)> -<__hipPopCallConfiguration id(1) correlation_id(403) on-enter pid(877926) tid(877926)> -<__hipPopCallConfiguration id(1) correlation_id(403) on-exit pid(877926) tid(877926)> - - +<__hipPushCallConfiguration id(2) correlation_id(402) on-enter pid(877926) tid(877926)> +<__hipPushCallConfiguration id(2) correlation_id(402) on-exit pid(877926) tid(877926)> +<__hipPopCallConfiguration id(1) correlation_id(403) on-enter pid(877926) tid(877926)> +<__hipPopCallConfiguration id(1) correlation_id(403) on-exit pid(877926) tid(877926)> + + rocTX <"after hipLaunchKernel pid(877926) tid(877926)"> rocTX <"hipMemcpy pid(877926) tid(877926)"> dst(0x1fdfc00) src(0x7fc7e0c00000) size(0x400000) kind(2) @@ -2026,109 +2026,109 @@ rocTX <"hipMemcpy pid(877926) tid(877926)"> EXT_API correlation_id(403) time_ns(0:0) external_id(33) __hipPopCallConfiguration correlation_id(403) time_ns(4494966176744249:4494966176747695) process_id(877926) thread_id(877926) EXT_API correlation_id(404) time_ns(0:0) external_id(33) - + rocTX <"(null) pid(877926) tid(877926)"> rocTX <"(null) pid(877926) tid(877926)"> PASSED! ptr(0x7fc7e2800000) - + ptr(0x7fc7e0c00000) - + # START (26) ############################# Device 0 name: AMD Radeon VII PASSED! # START (25) ############################# - - - - + + + + Device 0 name: AMD Radeon VII ptr(0x7ffcb1cb2190) size(0x400000) *ptr(0x0x7fc7e2800000) ptr(0x7ffcb1cb2188) size(0x400000) *ptr(0x0x7fc7e0c00000) dst(0x7fc7e2800000) src(0x1bdfbf0) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(877926) tid(877926)"> rocTX <"hipLaunchKernel pid(877926) tid(877926)"> -<__hipPushCallConfiguration id(2) correlation_id(413) on-enter pid(877926) tid(877926)> -<__hipPushCallConfiguration id(2) correlation_id(413) on-exit pid(877926) tid(877926)> -<__hipPopCallConfiguration id(1) correlation_id(414) on-enter pid(877926) tid(877926)> -<__hipPopCallConfiguration id(1) correlation_id(414) on-exit pid(877926) tid(877926)> - - +<__hipPushCallConfiguration id(2) correlation_id(413) on-enter pid(877926) tid(877926)> +<__hipPushCallConfiguration id(2) correlation_id(413) on-exit pid(877926) tid(877926)> +<__hipPopCallConfiguration id(1) correlation_id(414) on-enter pid(877926) tid(877926)> +<__hipPopCallConfiguration id(1) correlation_id(414) on-exit pid(877926) tid(877926)> + + rocTX <"after hipLaunchKernel pid(877926) tid(877926)"> rocTX <"hipMemcpy pid(877926) tid(877926)"> dst(0x1fdfc00) src(0x7fc7e0c00000) size(0x400000) kind(2) - + rocTX <"(null) pid(877926) tid(877926)"> rocTX <"(null) pid(877926) tid(877926)"> PASSED! ptr(0x7fc7e2800000) - + ptr(0x7fc7e0c00000) - + # START (24) ############################# Device 0 name: AMD Radeon VII PASSED! # START (23) ############################# - - - - + + + + Device 0 name: AMD Radeon VII ptr(0x7ffcb1cb2190) size(0x400000) *ptr(0x0x7fc7e2800000) ptr(0x7ffcb1cb2188) size(0x400000) *ptr(0x0x7fc7e0c00000) dst(0x7fc7e2800000) src(0x1bdfbf0) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(877926) tid(877926)"> rocTX <"hipLaunchKernel pid(877926) tid(877926)"> -<__hipPushCallConfiguration id(2) correlation_id(424) on-enter pid(877926) tid(877926)> -<__hipPushCallConfiguration id(2) correlation_id(424) on-exit pid(877926) tid(877926)> -<__hipPopCallConfiguration id(1) correlation_id(425) on-enter pid(877926) tid(877926)> -<__hipPopCallConfiguration id(1) correlation_id(425) on-exit pid(877926) tid(877926)> - - +<__hipPushCallConfiguration id(2) correlation_id(424) on-enter pid(877926) tid(877926)> +<__hipPushCallConfiguration id(2) correlation_id(424) on-exit pid(877926) tid(877926)> +<__hipPopCallConfiguration id(1) correlation_id(425) on-enter pid(877926) tid(877926)> +<__hipPopCallConfiguration id(1) correlation_id(425) on-exit pid(877926) tid(877926)> + + rocTX <"after hipLaunchKernel pid(877926) tid(877926)"> rocTX <"hipMemcpy pid(877926) tid(877926)"> dst(0x1fdfc00) src(0x7fc7e0c00000) size(0x400000) kind(2) - + rocTX <"(null) pid(877926) tid(877926)"> rocTX <"(null) pid(877926) tid(877926)"> PASSED! ptr(0x7fc7e2800000) - + ptr(0x7fc7e0c00000) - + # START (22) ############################# Device 0 name: AMD Radeon VII PASSED! # START (21) ############################# - - - - + + + + Device 0 name: AMD Radeon VII ptr(0x7ffcb1cb2190) size(0x400000) *ptr(0x0x7fc7e2800000) ptr(0x7ffcb1cb2188) size(0x400000) *ptr(0x0x7fc7e0c00000) dst(0x7fc7e2800000) src(0x1bdfbf0) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(877926) tid(877926)"> rocTX <"hipLaunchKernel pid(877926) tid(877926)"> -<__hipPushCallConfiguration id(2) correlation_id(435) on-enter pid(877926) tid(877926)> -<__hipPushCallConfiguration id(2) correlation_id(435) on-exit pid(877926) tid(877926)> -<__hipPopCallConfiguration id(1) correlation_id(436) on-enter pid(877926) tid(877926)> -<__hipPopCallConfiguration id(1) correlation_id(436) on-exit pid(877926) tid(877926)> - - +<__hipPushCallConfiguration id(2) correlation_id(435) on-enter pid(877926) tid(877926)> +<__hipPushCallConfiguration id(2) correlation_id(435) on-exit pid(877926) tid(877926)> +<__hipPopCallConfiguration id(1) correlation_id(436) on-enter pid(877926) tid(877926)> +<__hipPopCallConfiguration id(1) correlation_id(436) on-exit pid(877926) tid(877926)> + + rocTX <"after hipLaunchKernel pid(877926) tid(877926)"> rocTX <"hipMemcpy pid(877926) tid(877926)"> dst(0x1fdfc00) src(0x7fc7e0c00000) size(0x400000) kind(2) - + rocTX <"(null) pid(877926) tid(877926)"> rocTX <"(null) pid(877926) tid(877926)"> Activity records: @@ -2198,104 +2198,104 @@ rocTX <"(null) pid(877926) tid(877926)"> hipLaunchKernel correlation_id(437) time_ns(4494966258740996:4494966258754712) process_id(877926) thread_id(877926) PASSED! ptr(0x7fc7e2800000) - + ptr(0x7fc7e0c00000) - + # START (20) ############################# Device 0 name: AMD Radeon VII PASSED! # START (19) ############################# - - - - + + + + Device 0 name: AMD Radeon VII ptr(0x7ffcb1cb2190) size(0x400000) *ptr(0x0x7fc7e2800000) ptr(0x7ffcb1cb2188) size(0x400000) *ptr(0x0x7fc7e0c00000) dst(0x7fc7e2800000) src(0x1bdfbf0) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(877926) tid(877926)"> rocTX <"hipLaunchKernel pid(877926) tid(877926)"> -<__hipPushCallConfiguration id(2) correlation_id(446) on-enter pid(877926) tid(877926)> -<__hipPushCallConfiguration id(2) correlation_id(446) on-exit pid(877926) tid(877926)> -<__hipPopCallConfiguration id(1) correlation_id(447) on-enter pid(877926) tid(877926)> -<__hipPopCallConfiguration id(1) correlation_id(447) on-exit pid(877926) tid(877926)> - - +<__hipPushCallConfiguration id(2) correlation_id(446) on-enter pid(877926) tid(877926)> +<__hipPushCallConfiguration id(2) correlation_id(446) on-exit pid(877926) tid(877926)> +<__hipPopCallConfiguration id(1) correlation_id(447) on-enter pid(877926) tid(877926)> +<__hipPopCallConfiguration id(1) correlation_id(447) on-exit pid(877926) tid(877926)> + + rocTX <"after hipLaunchKernel pid(877926) tid(877926)"> rocTX <"hipMemcpy pid(877926) tid(877926)"> dst(0x1fdfc00) src(0x7fc7e0c00000) size(0x400000) kind(2) - + rocTX <"(null) pid(877926) tid(877926)"> rocTX <"(null) pid(877926) tid(877926)"> PASSED! ptr(0x7fc7e2800000) - + ptr(0x7fc7e0c00000) - + # START (18) ############################# Device 0 name: AMD Radeon VII PASSED! # START (17) ############################# - - - - + + + + Device 0 name: AMD Radeon VII ptr(0x7ffcb1cb2190) size(0x400000) *ptr(0x0x7fc7e2800000) ptr(0x7ffcb1cb2188) size(0x400000) *ptr(0x0x7fc7e0c00000) dst(0x7fc7e2800000) src(0x1bdfbf0) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(877926) tid(877926)"> rocTX <"hipLaunchKernel pid(877926) tid(877926)"> -<__hipPushCallConfiguration id(2) correlation_id(457) on-enter pid(877926) tid(877926)> -<__hipPushCallConfiguration id(2) correlation_id(457) on-exit pid(877926) tid(877926)> -<__hipPopCallConfiguration id(1) correlation_id(458) on-enter pid(877926) tid(877926)> -<__hipPopCallConfiguration id(1) correlation_id(458) on-exit pid(877926) tid(877926)> - - +<__hipPushCallConfiguration id(2) correlation_id(457) on-enter pid(877926) tid(877926)> +<__hipPushCallConfiguration id(2) correlation_id(457) on-exit pid(877926) tid(877926)> +<__hipPopCallConfiguration id(1) correlation_id(458) on-enter pid(877926) tid(877926)> +<__hipPopCallConfiguration id(1) correlation_id(458) on-exit pid(877926) tid(877926)> + + rocTX <"after hipLaunchKernel pid(877926) tid(877926)"> rocTX <"hipMemcpy pid(877926) tid(877926)"> dst(0x1fdfc00) src(0x7fc7e0c00000) size(0x400000) kind(2) - + rocTX <"(null) pid(877926) tid(877926)"> rocTX <"(null) pid(877926) tid(877926)"> PASSED! ptr(0x7fc7e2800000) - + ptr(0x7fc7e0c00000) - + # START (16) ############################# Device 0 name: AMD Radeon VII PASSED! # START (15) ############################# - - - - + + + + Device 0 name: AMD Radeon VII ptr(0x7ffcb1cb2190) size(0x400000) *ptr(0x0x7fc7e2800000) ptr(0x7ffcb1cb2188) size(0x400000) *ptr(0x0x7fc7e0c00000) dst(0x7fc7e2800000) src(0x1bdfbf0) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(877926) tid(877926)"> rocTX <"hipLaunchKernel pid(877926) tid(877926)"> -<__hipPushCallConfiguration id(2) correlation_id(468) on-enter pid(877926) tid(877926)> -<__hipPushCallConfiguration id(2) correlation_id(468) on-exit pid(877926) tid(877926)> -<__hipPopCallConfiguration id(1) correlation_id(469) on-enter pid(877926) tid(877926)> -<__hipPopCallConfiguration id(1) correlation_id(469) on-exit pid(877926) tid(877926)> - - +<__hipPushCallConfiguration id(2) correlation_id(468) on-enter pid(877926) tid(877926)> +<__hipPushCallConfiguration id(2) correlation_id(468) on-exit pid(877926) tid(877926)> +<__hipPopCallConfiguration id(1) correlation_id(469) on-enter pid(877926) tid(877926)> +<__hipPopCallConfiguration id(1) correlation_id(469) on-exit pid(877926) tid(877926)> + + rocTX <"after hipLaunchKernel pid(877926) tid(877926)"> rocTX <"hipMemcpy pid(877926) tid(877926)"> dst(0x1fdfc00) src(0x7fc7e0c00000) size(0x400000) kind(2) - + rocTX <"(null) pid(877926) tid(877926)"> rocTX <"(null) pid(877926) tid(877926)"> Activity records: @@ -2365,104 +2365,104 @@ rocTX <"(null) pid(877926) tid(877926)"> KernelExecution correlation_id(470) time_ns(4494966340794336:4494966340982176) device_id(0) queue_id(0) PASSED! ptr(0x7fc7e2800000) - + ptr(0x7fc7e0c00000) - + # START (14) ############################# Device 0 name: AMD Radeon VII PASSED! # START (13) ############################# - - - - + + + + Device 0 name: AMD Radeon VII ptr(0x7ffcb1cb2190) size(0x400000) *ptr(0x0x7fc7e2800000) ptr(0x7ffcb1cb2188) size(0x400000) *ptr(0x0x7fc7e0c00000) dst(0x7fc7e2800000) src(0x1bdfbf0) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(877926) tid(877926)"> rocTX <"hipLaunchKernel pid(877926) tid(877926)"> -<__hipPushCallConfiguration id(2) correlation_id(479) on-enter pid(877926) tid(877926)> -<__hipPushCallConfiguration id(2) correlation_id(479) on-exit pid(877926) tid(877926)> -<__hipPopCallConfiguration id(1) correlation_id(480) on-enter pid(877926) tid(877926)> -<__hipPopCallConfiguration id(1) correlation_id(480) on-exit pid(877926) tid(877926)> - - +<__hipPushCallConfiguration id(2) correlation_id(479) on-enter pid(877926) tid(877926)> +<__hipPushCallConfiguration id(2) correlation_id(479) on-exit pid(877926) tid(877926)> +<__hipPopCallConfiguration id(1) correlation_id(480) on-enter pid(877926) tid(877926)> +<__hipPopCallConfiguration id(1) correlation_id(480) on-exit pid(877926) tid(877926)> + + rocTX <"after hipLaunchKernel pid(877926) tid(877926)"> rocTX <"hipMemcpy pid(877926) tid(877926)"> dst(0x1fdfc00) src(0x7fc7e0c00000) size(0x400000) kind(2) - + rocTX <"(null) pid(877926) tid(877926)"> rocTX <"(null) pid(877926) tid(877926)"> PASSED! ptr(0x7fc7e2800000) - + ptr(0x7fc7e0c00000) - + # START (12) ############################# Device 0 name: AMD Radeon VII PASSED! # START (11) ############################# - - - - + + + + Device 0 name: AMD Radeon VII ptr(0x7ffcb1cb2190) size(0x400000) *ptr(0x0x7fc7e2800000) ptr(0x7ffcb1cb2188) size(0x400000) *ptr(0x0x7fc7e0c00000) dst(0x7fc7e2800000) src(0x1bdfbf0) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(877926) tid(877926)"> rocTX <"hipLaunchKernel pid(877926) tid(877926)"> -<__hipPushCallConfiguration id(2) correlation_id(490) on-enter pid(877926) tid(877926)> -<__hipPushCallConfiguration id(2) correlation_id(490) on-exit pid(877926) tid(877926)> -<__hipPopCallConfiguration id(1) correlation_id(491) on-enter pid(877926) tid(877926)> -<__hipPopCallConfiguration id(1) correlation_id(491) on-exit pid(877926) tid(877926)> - - +<__hipPushCallConfiguration id(2) correlation_id(490) on-enter pid(877926) tid(877926)> +<__hipPushCallConfiguration id(2) correlation_id(490) on-exit pid(877926) tid(877926)> +<__hipPopCallConfiguration id(1) correlation_id(491) on-enter pid(877926) tid(877926)> +<__hipPopCallConfiguration id(1) correlation_id(491) on-exit pid(877926) tid(877926)> + + rocTX <"after hipLaunchKernel pid(877926) tid(877926)"> rocTX <"hipMemcpy pid(877926) tid(877926)"> dst(0x1fdfc00) src(0x7fc7e0c00000) size(0x400000) kind(2) - + rocTX <"(null) pid(877926) tid(877926)"> rocTX <"(null) pid(877926) tid(877926)"> PASSED! ptr(0x7fc7e2800000) - + ptr(0x7fc7e0c00000) - + # START (10) ############################# Device 0 name: AMD Radeon VII PASSED! # START (9) ############################# - - - - + + + + Device 0 name: AMD Radeon VII ptr(0x7ffcb1cb2190) size(0x400000) *ptr(0x0x7fc7e2800000) ptr(0x7ffcb1cb2188) size(0x400000) *ptr(0x0x7fc7e0c00000) dst(0x7fc7e2800000) src(0x1bdfbf0) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(877926) tid(877926)"> rocTX <"hipLaunchKernel pid(877926) tid(877926)"> -<__hipPushCallConfiguration id(2) correlation_id(501) on-enter pid(877926) tid(877926)> -<__hipPushCallConfiguration id(2) correlation_id(501) on-exit pid(877926) tid(877926)> -<__hipPopCallConfiguration id(1) correlation_id(502) on-enter pid(877926) tid(877926)> -<__hipPopCallConfiguration id(1) correlation_id(502) on-exit pid(877926) tid(877926)> - - +<__hipPushCallConfiguration id(2) correlation_id(501) on-enter pid(877926) tid(877926)> +<__hipPushCallConfiguration id(2) correlation_id(501) on-exit pid(877926) tid(877926)> +<__hipPopCallConfiguration id(1) correlation_id(502) on-enter pid(877926) tid(877926)> +<__hipPopCallConfiguration id(1) correlation_id(502) on-exit pid(877926) tid(877926)> + + rocTX <"after hipLaunchKernel pid(877926) tid(877926)"> rocTX <"hipMemcpy pid(877926) tid(877926)"> dst(0x1fdfc00) src(0x7fc7e0c00000) size(0x400000) kind(2) - + rocTX <"(null) pid(877926) tid(877926)"> rocTX <"(null) pid(877926) tid(877926)"> Activity records: @@ -2532,104 +2532,104 @@ rocTX <"(null) pid(877926) tid(877926)"> CopyDeviceToHost correlation_id(504) time_ns(4494966423680362:4494966424018882) device_id(0) queue_id(0) bytes(0x0) PASSED! ptr(0x7fc7e2800000) - + ptr(0x7fc7e0c00000) - + # START (8) ############################# Device 0 name: AMD Radeon VII PASSED! # START (7) ############################# - - - - + + + + Device 0 name: AMD Radeon VII ptr(0x7ffcb1cb2190) size(0x400000) *ptr(0x0x7fc7e2800000) ptr(0x7ffcb1cb2188) size(0x400000) *ptr(0x0x7fc7e0c00000) dst(0x7fc7e2800000) src(0x1bdfbf0) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(877926) tid(877926)"> rocTX <"hipLaunchKernel pid(877926) tid(877926)"> -<__hipPushCallConfiguration id(2) correlation_id(512) on-enter pid(877926) tid(877926)> -<__hipPushCallConfiguration id(2) correlation_id(512) on-exit pid(877926) tid(877926)> -<__hipPopCallConfiguration id(1) correlation_id(513) on-enter pid(877926) tid(877926)> -<__hipPopCallConfiguration id(1) correlation_id(513) on-exit pid(877926) tid(877926)> - - +<__hipPushCallConfiguration id(2) correlation_id(512) on-enter pid(877926) tid(877926)> +<__hipPushCallConfiguration id(2) correlation_id(512) on-exit pid(877926) tid(877926)> +<__hipPopCallConfiguration id(1) correlation_id(513) on-enter pid(877926) tid(877926)> +<__hipPopCallConfiguration id(1) correlation_id(513) on-exit pid(877926) tid(877926)> + + rocTX <"after hipLaunchKernel pid(877926) tid(877926)"> rocTX <"hipMemcpy pid(877926) tid(877926)"> dst(0x1fdfc00) src(0x7fc7e0c00000) size(0x400000) kind(2) - + rocTX <"(null) pid(877926) tid(877926)"> rocTX <"(null) pid(877926) tid(877926)"> PASSED! ptr(0x7fc7e2800000) - + ptr(0x7fc7e0c00000) - + # START (6) ############################# Device 0 name: AMD Radeon VII PASSED! # START (5) ############################# - - - - + + + + Device 0 name: AMD Radeon VII ptr(0x7ffcb1cb2190) size(0x400000) *ptr(0x0x7fc7e2800000) ptr(0x7ffcb1cb2188) size(0x400000) *ptr(0x0x7fc7e0c00000) dst(0x7fc7e2800000) src(0x1bdfbf0) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(877926) tid(877926)"> rocTX <"hipLaunchKernel pid(877926) tid(877926)"> -<__hipPushCallConfiguration id(2) correlation_id(523) on-enter pid(877926) tid(877926)> -<__hipPushCallConfiguration id(2) correlation_id(523) on-exit pid(877926) tid(877926)> -<__hipPopCallConfiguration id(1) correlation_id(524) on-enter pid(877926) tid(877926)> -<__hipPopCallConfiguration id(1) correlation_id(524) on-exit pid(877926) tid(877926)> - - +<__hipPushCallConfiguration id(2) correlation_id(523) on-enter pid(877926) tid(877926)> +<__hipPushCallConfiguration id(2) correlation_id(523) on-exit pid(877926) tid(877926)> +<__hipPopCallConfiguration id(1) correlation_id(524) on-enter pid(877926) tid(877926)> +<__hipPopCallConfiguration id(1) correlation_id(524) on-exit pid(877926) tid(877926)> + + rocTX <"after hipLaunchKernel pid(877926) tid(877926)"> rocTX <"hipMemcpy pid(877926) tid(877926)"> dst(0x1fdfc00) src(0x7fc7e0c00000) size(0x400000) kind(2) - + rocTX <"(null) pid(877926) tid(877926)"> rocTX <"(null) pid(877926) tid(877926)"> PASSED! ptr(0x7fc7e2800000) - + ptr(0x7fc7e0c00000) - + # START (4) ############################# Device 0 name: AMD Radeon VII PASSED! # START (3) ############################# - - - - + + + + Device 0 name: AMD Radeon VII ptr(0x7ffcb1cb2190) size(0x400000) *ptr(0x0x7fc7e2800000) ptr(0x7ffcb1cb2188) size(0x400000) *ptr(0x0x7fc7e0c00000) dst(0x7fc7e2800000) src(0x1bdfbf0) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(877926) tid(877926)"> rocTX <"hipLaunchKernel pid(877926) tid(877926)"> -<__hipPushCallConfiguration id(2) correlation_id(534) on-enter pid(877926) tid(877926)> -<__hipPushCallConfiguration id(2) correlation_id(534) on-exit pid(877926) tid(877926)> -<__hipPopCallConfiguration id(1) correlation_id(535) on-enter pid(877926) tid(877926)> -<__hipPopCallConfiguration id(1) correlation_id(535) on-exit pid(877926) tid(877926)> - - +<__hipPushCallConfiguration id(2) correlation_id(534) on-enter pid(877926) tid(877926)> +<__hipPushCallConfiguration id(2) correlation_id(534) on-exit pid(877926) tid(877926)> +<__hipPopCallConfiguration id(1) correlation_id(535) on-enter pid(877926) tid(877926)> +<__hipPopCallConfiguration id(1) correlation_id(535) on-exit pid(877926) tid(877926)> + + rocTX <"after hipLaunchKernel pid(877926) tid(877926)"> rocTX <"hipMemcpy pid(877926) tid(877926)"> dst(0x1fdfc00) src(0x7fc7e0c00000) size(0x400000) kind(2) - + rocTX <"(null) pid(877926) tid(877926)"> rocTX <"(null) pid(877926) tid(877926)"> Activity records: @@ -2699,43 +2699,43 @@ rocTX <"(null) pid(877926) tid(877926)"> EXT_API correlation_id(537) time_ns(0:0) external_id(32) PASSED! ptr(0x7fc7e2800000) - + ptr(0x7fc7e0c00000) - + # START (2) ############################# Device 0 name: AMD Radeon VII PASSED! # START (1) ############################# - - - - + + + + Device 0 name: AMD Radeon VII ptr(0x7ffcb1cb2190) size(0x400000) *ptr(0x0x7fc7e2800000) ptr(0x7ffcb1cb2188) size(0x400000) *ptr(0x0x7fc7e0c00000) dst(0x7fc7e2800000) src(0x1bdfbf0) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(877926) tid(877926)"> rocTX <"hipLaunchKernel pid(877926) tid(877926)"> -<__hipPushCallConfiguration id(2) correlation_id(545) on-enter pid(877926) tid(877926)> -<__hipPushCallConfiguration id(2) correlation_id(545) on-exit pid(877926) tid(877926)> -<__hipPopCallConfiguration id(1) correlation_id(546) on-enter pid(877926) tid(877926)> -<__hipPopCallConfiguration id(1) correlation_id(546) on-exit pid(877926) tid(877926)> - - +<__hipPushCallConfiguration id(2) correlation_id(545) on-enter pid(877926) tid(877926)> +<__hipPushCallConfiguration id(2) correlation_id(545) on-exit pid(877926) tid(877926)> +<__hipPopCallConfiguration id(1) correlation_id(546) on-enter pid(877926) tid(877926)> +<__hipPopCallConfiguration id(1) correlation_id(546) on-exit pid(877926) tid(877926)> + + rocTX <"after hipLaunchKernel pid(877926) tid(877926)"> rocTX <"hipMemcpy pid(877926) tid(877926)"> dst(0x1fdfc00) src(0x7fc7e0c00000) size(0x400000) kind(2) - + rocTX <"(null) pid(877926) tid(877926)"> rocTX <"(null) pid(877926) tid(877926)"> PASSED! ptr(0x7fc7e2800000) - + ptr(0x7fc7e0c00000) - + # START (0) ############################# Device 0 name: AMD Radeon VII PASSED! diff --git a/test/golden_traces/MatrixTranspose_mgpu_trace.txt b/test/golden_traces/MatrixTranspose_mgpu_trace.txt index 62eb8a4653..ece4aa1439 100644 --- a/test/golden_traces/MatrixTranspose_mgpu_trace.txt +++ b/test/golden_traces/MatrixTranspose_mgpu_trace.txt @@ -1,1859 +1,1809 @@ + LD_PRELOAD=libkfdwrapper64.so ./test/MatrixTranspose_mgpu # INIT ############################# - - + + Number of GPUs: 1 # START (99) ############################# - - - - + + + + Device 0 name: Device 687f ptr(0x7ffd4c5a7160) size(0x400000) *ptr(0x0x7f2290800000) ptr(0x7ffd4c5a7158) size(0x400000) *ptr(0x0x7f2290200000) dst(0x7f2290800000) src(0x7f22915ff010) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(1956) tid(1956)"> rocTX <"hipLaunchKernel pid(1956) tid(1956)"> -<__hipPushCallConfiguration id(46) correlation_id(7) on-enter pid(1956) tid(1956)> -<__hipPushCallConfiguration id(46) correlation_id(7) on-exit pid(1956) tid(1956)> -<__hipPopCallConfiguration id(171) correlation_id(8) on-enter pid(1956) tid(1956)> -<__hipPopCallConfiguration id(171) correlation_id(8) on-exit pid(1956) tid(1956)> - - +<__hipPushCallConfiguration id(46) correlation_id(7) on-enter pid(1956) tid(1956)> +<__hipPushCallConfiguration id(46) correlation_id(7) on-exit pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(8) on-enter pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(8) on-exit pid(1956) tid(1956)> + + rocTX <"after hipLaunchKernel pid(1956) tid(1956)"> rocTX <"hipMemcpy pid(1956) tid(1956)"> dst(0x7f22911fe010) src(0x7f2290200000) size(0x400000) kind(2) - + rocTX <"(null) pid(1956) tid(1956)"> rocTX <"(null) pid(1956) tid(1956)"> PASSED! ptr(0x7f2290800000) - + ptr(0x7f2290200000) - + # START (98) ############################# Device 0 name: Device 687f PASSED! # START (97) ############################# - - - - + + + + Device 0 name: Device 687f ptr(0x7ffd4c5a7160) size(0x400000) *ptr(0x0x7f2291400000) ptr(0x7ffd4c5a7158) size(0x400000) *ptr(0x0x7f2290e00000) dst(0x7f2291400000) src(0x1cba050) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(1956) tid(1956)"> rocTX <"hipLaunchKernel pid(1956) tid(1956)"> -<__hipPushCallConfiguration id(46) correlation_id(18) on-enter pid(1956) tid(1956)> -<__hipPushCallConfiguration id(46) correlation_id(18) on-exit pid(1956) tid(1956)> -<__hipPopCallConfiguration id(171) correlation_id(19) on-enter pid(1956) tid(1956)> -<__hipPopCallConfiguration id(171) correlation_id(19) on-exit pid(1956) tid(1956)> - - +<__hipPushCallConfiguration id(46) correlation_id(18) on-enter pid(1956) tid(1956)> +<__hipPushCallConfiguration id(46) correlation_id(18) on-exit pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(19) on-enter pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(19) on-exit pid(1956) tid(1956)> + + rocTX <"after hipLaunchKernel pid(1956) tid(1956)"> rocTX <"hipMemcpy pid(1956) tid(1956)"> dst(0x20ba060) src(0x7f2290e00000) size(0x400000) kind(2) - + rocTX <"(null) pid(1956) tid(1956)"> rocTX <"(null) pid(1956) tid(1956)"> PASSED! ptr(0x7f2291400000) - + ptr(0x7f2290e00000) - + # START (96) ############################# Device 0 name: Device 687f PASSED! # START (95) ############################# - - - - + + + + Device 0 name: Device 687f ptr(0x7ffd4c5a7160) size(0x400000) *ptr(0x0x7f2291400000) ptr(0x7ffd4c5a7158) size(0x400000) *ptr(0x0x7f2290e00000) dst(0x7f2291400000) src(0x1cba050) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(1956) tid(1956)"> rocTX <"hipLaunchKernel pid(1956) tid(1956)"> -<__hipPushCallConfiguration id(46) correlation_id(29) on-enter pid(1956) tid(1956)> -<__hipPushCallConfiguration id(46) correlation_id(29) on-exit pid(1956) tid(1956)> -<__hipPopCallConfiguration id(171) correlation_id(30) on-enter pid(1956) tid(1956)> -<__hipPopCallConfiguration id(171) correlation_id(30) on-exit pid(1956) tid(1956)> - - +<__hipPushCallConfiguration id(46) correlation_id(29) on-enter pid(1956) tid(1956)> +<__hipPushCallConfiguration id(46) correlation_id(29) on-exit pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(30) on-enter pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(30) on-exit pid(1956) tid(1956)> + + rocTX <"after hipLaunchKernel pid(1956) tid(1956)"> rocTX <"hipMemcpy pid(1956) tid(1956)"> dst(0x20ba060) src(0x7f2290e00000) size(0x400000) kind(2) - + rocTX <"(null) pid(1956) tid(1956)"> rocTX <"(null) pid(1956) tid(1956)"> PASSED! ptr(0x7f2291400000) - + ptr(0x7f2290e00000) - + # START (94) ############################# Device 0 name: Device 687f PASSED! # START (93) ############################# - - - - + + + + Device 0 name: Device 687f ptr(0x7ffd4c5a7160) size(0x400000) *ptr(0x0x7f2291400000) ptr(0x7ffd4c5a7158) size(0x400000) *ptr(0x0x7f2290e00000) dst(0x7f2291400000) src(0x1cba050) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(1956) tid(1956)"> rocTX <"hipLaunchKernel pid(1956) tid(1956)"> -<__hipPushCallConfiguration id(46) correlation_id(40) on-enter pid(1956) tid(1956)> -<__hipPushCallConfiguration id(46) correlation_id(40) on-exit pid(1956) tid(1956)> -<__hipPopCallConfiguration id(171) correlation_id(41) on-enter pid(1956) tid(1956)> -<__hipPopCallConfiguration id(171) correlation_id(41) on-exit pid(1956) tid(1956)> - - +<__hipPushCallConfiguration id(46) correlation_id(40) on-enter pid(1956) tid(1956)> +<__hipPushCallConfiguration id(46) correlation_id(40) on-exit pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(41) on-enter pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(41) on-exit pid(1956) tid(1956)> + + rocTX <"after hipLaunchKernel pid(1956) tid(1956)"> rocTX <"hipMemcpy pid(1956) tid(1956)"> dst(0x20ba060) src(0x7f2290e00000) size(0x400000) kind(2) - + rocTX <"(null) pid(1956) tid(1956)"> rocTX <"(null) pid(1956) tid(1956)"> PASSED! ptr(0x7f2291400000) - + ptr(0x7f2290e00000) - + # START (92) ############################# Device 0 name: Device 687f PASSED! # START (91) ############################# - - - - + + + + Device 0 name: Device 687f ptr(0x7ffd4c5a7160) size(0x400000) *ptr(0x0x7f2291400000) ptr(0x7ffd4c5a7158) size(0x400000) *ptr(0x0x7f2290e00000) dst(0x7f2291400000) src(0x1cba050) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(1956) tid(1956)"> rocTX <"hipLaunchKernel pid(1956) tid(1956)"> -<__hipPushCallConfiguration id(46) correlation_id(51) on-enter pid(1956) tid(1956)> -<__hipPushCallConfiguration id(46) correlation_id(51) on-exit pid(1956) tid(1956)> -<__hipPopCallConfiguration id(171) correlation_id(52) on-enter pid(1956) tid(1956)> -<__hipPopCallConfiguration id(171) correlation_id(52) on-exit pid(1956) tid(1956)> - - +<__hipPushCallConfiguration id(46) correlation_id(51) on-enter pid(1956) tid(1956)> +<__hipPushCallConfiguration id(46) correlation_id(51) on-exit pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(52) on-enter pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(52) on-exit pid(1956) tid(1956)> + + rocTX <"after hipLaunchKernel pid(1956) tid(1956)"> rocTX <"hipMemcpy pid(1956) tid(1956)"> dst(0x20ba060) src(0x7f2290e00000) size(0x400000) kind(2) - + rocTX <"(null) pid(1956) tid(1956)"> rocTX <"(null) pid(1956) tid(1956)"> PASSED! ptr(0x7f2291400000) - + ptr(0x7f2290e00000) - + # START (90) ############################# Device 0 name: Device 687f PASSED! # START (89) ############################# - - - - + + + + Device 0 name: Device 687f ptr(0x7ffd4c5a7160) size(0x400000) *ptr(0x0x7f2291400000) ptr(0x7ffd4c5a7158) size(0x400000) *ptr(0x0x7f2290e00000) dst(0x7f2291400000) src(0x1cba050) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(1956) tid(1956)"> rocTX <"hipLaunchKernel pid(1956) tid(1956)"> -<__hipPushCallConfiguration id(46) correlation_id(62) on-enter pid(1956) tid(1956)> -<__hipPushCallConfiguration id(46) correlation_id(62) on-exit pid(1956) tid(1956)> -<__hipPopCallConfiguration id(171) correlation_id(63) on-enter pid(1956) tid(1956)> -<__hipPopCallConfiguration id(171) correlation_id(63) on-exit pid(1956) tid(1956)> - - +<__hipPushCallConfiguration id(46) correlation_id(62) on-enter pid(1956) tid(1956)> +<__hipPushCallConfiguration id(46) correlation_id(62) on-exit pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(63) on-enter pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(63) on-exit pid(1956) tid(1956)> + + rocTX <"after hipLaunchKernel pid(1956) tid(1956)"> rocTX <"hipMemcpy pid(1956) tid(1956)"> dst(0x20ba060) src(0x7f2290e00000) size(0x400000) kind(2) - + rocTX <"(null) pid(1956) tid(1956)"> rocTX <"(null) pid(1956) tid(1956)"> PASSED! ptr(0x7f2291400000) - + ptr(0x7f2290e00000) - + # START (88) ############################# Device 0 name: Device 687f PASSED! # START (87) ############################# - - - - + + + + Device 0 name: Device 687f ptr(0x7ffd4c5a7160) size(0x400000) *ptr(0x0x7f2291400000) ptr(0x7ffd4c5a7158) size(0x400000) *ptr(0x0x7f2290e00000) dst(0x7f2291400000) src(0x1cba050) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(1956) tid(1956)"> rocTX <"hipLaunchKernel pid(1956) tid(1956)"> -<__hipPushCallConfiguration id(46) correlation_id(73) on-enter pid(1956) tid(1956)> -<__hipPushCallConfiguration id(46) correlation_id(73) on-exit pid(1956) tid(1956)> -<__hipPopCallConfiguration id(171) correlation_id(74) on-enter pid(1956) tid(1956)> -<__hipPopCallConfiguration id(171) correlation_id(74) on-exit pid(1956) tid(1956)> - - +<__hipPushCallConfiguration id(46) correlation_id(73) on-enter pid(1956) tid(1956)> +<__hipPushCallConfiguration id(46) correlation_id(73) on-exit pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(74) on-enter pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(74) on-exit pid(1956) tid(1956)> + + rocTX <"after hipLaunchKernel pid(1956) tid(1956)"> rocTX <"hipMemcpy pid(1956) tid(1956)"> dst(0x20ba060) src(0x7f2290e00000) size(0x400000) kind(2) - + rocTX <"(null) pid(1956) tid(1956)"> rocTX <"(null) pid(1956) tid(1956)"> PASSED! ptr(0x7f2291400000) - + ptr(0x7f2290e00000) - + # START (86) ############################# Device 0 name: Device 687f PASSED! # START (85) ############################# - - - - + + + + Device 0 name: Device 687f ptr(0x7ffd4c5a7160) size(0x400000) *ptr(0x0x7f2291400000) ptr(0x7ffd4c5a7158) size(0x400000) *ptr(0x0x7f2290e00000) dst(0x7f2291400000) src(0x1cba050) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(1956) tid(1956)"> rocTX <"hipLaunchKernel pid(1956) tid(1956)"> -<__hipPushCallConfiguration id(46) correlation_id(84) on-enter pid(1956) tid(1956)> -<__hipPushCallConfiguration id(46) correlation_id(84) on-exit pid(1956) tid(1956)> -<__hipPopCallConfiguration id(171) correlation_id(85) on-enter pid(1956) tid(1956)> -<__hipPopCallConfiguration id(171) correlation_id(85) on-exit pid(1956) tid(1956)> - - +<__hipPushCallConfiguration id(46) correlation_id(84) on-enter pid(1956) tid(1956)> +<__hipPushCallConfiguration id(46) correlation_id(84) on-exit pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(85) on-enter pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(85) on-exit pid(1956) tid(1956)> + + rocTX <"after hipLaunchKernel pid(1956) tid(1956)"> rocTX <"hipMemcpy pid(1956) tid(1956)"> dst(0x20ba060) src(0x7f2290e00000) size(0x400000) kind(2) - + rocTX <"(null) pid(1956) tid(1956)"> rocTX <"(null) pid(1956) tid(1956)"> PASSED! ptr(0x7f2291400000) - + ptr(0x7f2290e00000) - + # START (84) ############################# Device 0 name: Device 687f PASSED! # START (83) ############################# - - - - + + + + Device 0 name: Device 687f ptr(0x7ffd4c5a7160) size(0x400000) *ptr(0x0x7f2291400000) ptr(0x7ffd4c5a7158) size(0x400000) *ptr(0x0x7f2290e00000) dst(0x7f2291400000) src(0x1cba050) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(1956) tid(1956)"> rocTX <"hipLaunchKernel pid(1956) tid(1956)"> -<__hipPushCallConfiguration id(46) correlation_id(95) on-enter pid(1956) tid(1956)> -<__hipPushCallConfiguration id(46) correlation_id(95) on-exit pid(1956) tid(1956)> -<__hipPopCallConfiguration id(171) correlation_id(96) on-enter pid(1956) tid(1956)> -<__hipPopCallConfiguration id(171) correlation_id(96) on-exit pid(1956) tid(1956)> - - +<__hipPushCallConfiguration id(46) correlation_id(95) on-enter pid(1956) tid(1956)> +<__hipPushCallConfiguration id(46) correlation_id(95) on-exit pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(96) on-enter pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(96) on-exit pid(1956) tid(1956)> + + rocTX <"after hipLaunchKernel pid(1956) tid(1956)"> rocTX <"hipMemcpy pid(1956) tid(1956)"> dst(0x20ba060) src(0x7f2290e00000) size(0x400000) kind(2) - + rocTX <"(null) pid(1956) tid(1956)"> rocTX <"(null) pid(1956) tid(1956)"> PASSED! ptr(0x7f2291400000) - + ptr(0x7f2290e00000) - + # START (82) ############################# Device 0 name: Device 687f PASSED! # START (81) ############################# - - - - + + + + Device 0 name: Device 687f ptr(0x7ffd4c5a7160) size(0x400000) *ptr(0x0x7f2291400000) ptr(0x7ffd4c5a7158) size(0x400000) *ptr(0x0x7f2290e00000) dst(0x7f2291400000) src(0x1cba050) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(1956) tid(1956)"> rocTX <"hipLaunchKernel pid(1956) tid(1956)"> -<__hipPushCallConfiguration id(46) correlation_id(106) on-enter pid(1956) tid(1956)> -<__hipPushCallConfiguration id(46) correlation_id(106) on-exit pid(1956) tid(1956)> -<__hipPopCallConfiguration id(171) correlation_id(107) on-enter pid(1956) tid(1956)> -<__hipPopCallConfiguration id(171) correlation_id(107) on-exit pid(1956) tid(1956)> - - +<__hipPushCallConfiguration id(46) correlation_id(106) on-enter pid(1956) tid(1956)> +<__hipPushCallConfiguration id(46) correlation_id(106) on-exit pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(107) on-enter pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(107) on-exit pid(1956) tid(1956)> + + rocTX <"after hipLaunchKernel pid(1956) tid(1956)"> rocTX <"hipMemcpy pid(1956) tid(1956)"> dst(0x20ba060) src(0x7f2290e00000) size(0x400000) kind(2) - + rocTX <"(null) pid(1956) tid(1956)"> rocTX <"(null) pid(1956) tid(1956)"> PASSED! ptr(0x7f2291400000) - + ptr(0x7f2290e00000) - + # START (80) ############################# Device 0 name: Device 687f PASSED! # START (79) ############################# - - - - + + + + Device 0 name: Device 687f ptr(0x7ffd4c5a7160) size(0x400000) *ptr(0x0x7f2291400000) ptr(0x7ffd4c5a7158) size(0x400000) *ptr(0x0x7f2290e00000) dst(0x7f2291400000) src(0x1cba050) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(1956) tid(1956)"> rocTX <"hipLaunchKernel pid(1956) tid(1956)"> -<__hipPushCallConfiguration id(46) correlation_id(117) on-enter pid(1956) tid(1956)> -<__hipPushCallConfiguration id(46) correlation_id(117) on-exit pid(1956) tid(1956)> -<__hipPopCallConfiguration id(171) correlation_id(118) on-enter pid(1956) tid(1956)> -<__hipPopCallConfiguration id(171) correlation_id(118) on-exit pid(1956) tid(1956)> - - +<__hipPushCallConfiguration id(46) correlation_id(117) on-enter pid(1956) tid(1956)> +<__hipPushCallConfiguration id(46) correlation_id(117) on-exit pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(118) on-enter pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(118) on-exit pid(1956) tid(1956)> + + rocTX <"after hipLaunchKernel pid(1956) tid(1956)"> rocTX <"hipMemcpy pid(1956) tid(1956)"> dst(0x20ba060) src(0x7f2290e00000) size(0x400000) kind(2) - + rocTX <"(null) pid(1956) tid(1956)"> rocTX <"(null) pid(1956) tid(1956)"> PASSED! ptr(0x7f2291400000) - + ptr(0x7f2290e00000) - + # START (78) ############################# Device 0 name: Device 687f PASSED! # START (77) ############################# - - - - + + + + Device 0 name: Device 687f ptr(0x7ffd4c5a7160) size(0x400000) *ptr(0x0x7f2291400000) ptr(0x7ffd4c5a7158) size(0x400000) *ptr(0x0x7f2290e00000) dst(0x7f2291400000) src(0x1cba050) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(1956) tid(1956)"> rocTX <"hipLaunchKernel pid(1956) tid(1956)"> -<__hipPushCallConfiguration id(46) correlation_id(128) on-enter pid(1956) tid(1956)> -<__hipPushCallConfiguration id(46) correlation_id(128) on-exit pid(1956) tid(1956)> -<__hipPopCallConfiguration id(171) correlation_id(129) on-enter pid(1956) tid(1956)> -<__hipPopCallConfiguration id(171) correlation_id(129) on-exit pid(1956) tid(1956)> - - +<__hipPushCallConfiguration id(46) correlation_id(128) on-enter pid(1956) tid(1956)> +<__hipPushCallConfiguration id(46) correlation_id(128) on-exit pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(129) on-enter pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(129) on-exit pid(1956) tid(1956)> + + rocTX <"after hipLaunchKernel pid(1956) tid(1956)"> rocTX <"hipMemcpy pid(1956) tid(1956)"> dst(0x20ba060) src(0x7f2290e00000) size(0x400000) kind(2) - + rocTX <"(null) pid(1956) tid(1956)"> rocTX <"(null) pid(1956) tid(1956)"> PASSED! ptr(0x7f2291400000) - + ptr(0x7f2290e00000) - + # START (76) ############################# Device 0 name: Device 687f PASSED! # START (75) ############################# - - - - + + + + Device 0 name: Device 687f ptr(0x7ffd4c5a7160) size(0x400000) *ptr(0x0x7f2291400000) ptr(0x7ffd4c5a7158) size(0x400000) *ptr(0x0x7f2290e00000) dst(0x7f2291400000) src(0x1cba050) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(1956) tid(1956)"> rocTX <"hipLaunchKernel pid(1956) tid(1956)"> -<__hipPushCallConfiguration id(46) correlation_id(139) on-enter pid(1956) tid(1956)> -<__hipPushCallConfiguration id(46) correlation_id(139) on-exit pid(1956) tid(1956)> -<__hipPopCallConfiguration id(171) correlation_id(140) on-enter pid(1956) tid(1956)> -<__hipPopCallConfiguration id(171) correlation_id(140) on-exit pid(1956) tid(1956)> - - +<__hipPushCallConfiguration id(46) correlation_id(139) on-enter pid(1956) tid(1956)> +<__hipPushCallConfiguration id(46) correlation_id(139) on-exit pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(140) on-enter pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(140) on-exit pid(1956) tid(1956)> + + rocTX <"after hipLaunchKernel pid(1956) tid(1956)"> rocTX <"hipMemcpy pid(1956) tid(1956)"> dst(0x20ba060) src(0x7f2290e00000) size(0x400000) kind(2) - + rocTX <"(null) pid(1956) tid(1956)"> rocTX <"(null) pid(1956) tid(1956)"> PASSED! ptr(0x7f2291400000) - + ptr(0x7f2290e00000) - + # START (74) ############################# Device 0 name: Device 687f PASSED! # START (73) ############################# - - - - + + + + Device 0 name: Device 687f ptr(0x7ffd4c5a7160) size(0x400000) *ptr(0x0x7f2291400000) ptr(0x7ffd4c5a7158) size(0x400000) *ptr(0x0x7f2290e00000) dst(0x7f2291400000) src(0x1cba050) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(1956) tid(1956)"> rocTX <"hipLaunchKernel pid(1956) tid(1956)"> -<__hipPushCallConfiguration id(46) correlation_id(150) on-enter pid(1956) tid(1956)> -<__hipPushCallConfiguration id(46) correlation_id(150) on-exit pid(1956) tid(1956)> -<__hipPopCallConfiguration id(171) correlation_id(151) on-enter pid(1956) tid(1956)> -<__hipPopCallConfiguration id(171) correlation_id(151) on-exit pid(1956) tid(1956)> - - +<__hipPushCallConfiguration id(46) correlation_id(150) on-enter pid(1956) tid(1956)> +<__hipPushCallConfiguration id(46) correlation_id(150) on-exit pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(151) on-enter pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(151) on-exit pid(1956) tid(1956)> + + rocTX <"after hipLaunchKernel pid(1956) tid(1956)"> rocTX <"hipMemcpy pid(1956) tid(1956)"> dst(0x20ba060) src(0x7f2290e00000) size(0x400000) kind(2) - + rocTX <"(null) pid(1956) tid(1956)"> rocTX <"(null) pid(1956) tid(1956)"> PASSED! ptr(0x7f2291400000) - + ptr(0x7f2290e00000) - + # START (72) ############################# Device 0 name: Device 687f PASSED! # START (71) ############################# - - - - + + + + Device 0 name: Device 687f ptr(0x7ffd4c5a7160) size(0x400000) *ptr(0x0x7f2291400000) ptr(0x7ffd4c5a7158) size(0x400000) *ptr(0x0x7f2290e00000) dst(0x7f2291400000) src(0x1cba050) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(1956) tid(1956)"> rocTX <"hipLaunchKernel pid(1956) tid(1956)"> -<__hipPushCallConfiguration id(46) correlation_id(161) on-enter pid(1956) tid(1956)> -<__hipPushCallConfiguration id(46) correlation_id(161) on-exit pid(1956) tid(1956)> -<__hipPopCallConfiguration id(171) correlation_id(162) on-enter pid(1956) tid(1956)> -<__hipPopCallConfiguration id(171) correlation_id(162) on-exit pid(1956) tid(1956)> - - +<__hipPushCallConfiguration id(46) correlation_id(161) on-enter pid(1956) tid(1956)> +<__hipPushCallConfiguration id(46) correlation_id(161) on-exit pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(162) on-enter pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(162) on-exit pid(1956) tid(1956)> + + rocTX <"after hipLaunchKernel pid(1956) tid(1956)"> rocTX <"hipMemcpy pid(1956) tid(1956)"> dst(0x20ba060) src(0x7f2290e00000) size(0x400000) kind(2) - + rocTX <"(null) pid(1956) tid(1956)"> rocTX <"(null) pid(1956) tid(1956)"> PASSED! ptr(0x7f2291400000) - + ptr(0x7f2290e00000) - + # START (70) ############################# Device 0 name: Device 687f PASSED! # START (69) ############################# - - - - + + + + Device 0 name: Device 687f ptr(0x7ffd4c5a7160) size(0x400000) *ptr(0x0x7f2291400000) ptr(0x7ffd4c5a7158) size(0x400000) *ptr(0x0x7f2290e00000) dst(0x7f2291400000) src(0x1cba050) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(1956) tid(1956)"> rocTX <"hipLaunchKernel pid(1956) tid(1956)"> -<__hipPushCallConfiguration id(46) correlation_id(172) on-enter pid(1956) tid(1956)> -<__hipPushCallConfiguration id(46) correlation_id(172) on-exit pid(1956) tid(1956)> -<__hipPopCallConfiguration id(171) correlation_id(173) on-enter pid(1956) tid(1956)> -<__hipPopCallConfiguration id(171) correlation_id(173) on-exit pid(1956) tid(1956)> - - +<__hipPushCallConfiguration id(46) correlation_id(172) on-enter pid(1956) tid(1956)> +<__hipPushCallConfiguration id(46) correlation_id(172) on-exit pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(173) on-enter pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(173) on-exit pid(1956) tid(1956)> + + rocTX <"after hipLaunchKernel pid(1956) tid(1956)"> rocTX <"hipMemcpy pid(1956) tid(1956)"> dst(0x20ba060) src(0x7f2290e00000) size(0x400000) kind(2) - + rocTX <"(null) pid(1956) tid(1956)"> rocTX <"(null) pid(1956) tid(1956)"> PASSED! ptr(0x7f2291400000) - + ptr(0x7f2290e00000) - + # START (68) ############################# Device 0 name: Device 687f PASSED! # START (67) ############################# - - - - + + + + Device 0 name: Device 687f ptr(0x7ffd4c5a7160) size(0x400000) *ptr(0x0x7f2291400000) ptr(0x7ffd4c5a7158) size(0x400000) *ptr(0x0x7f2290e00000) dst(0x7f2291400000) src(0x1cba050) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(1956) tid(1956)"> rocTX <"hipLaunchKernel pid(1956) tid(1956)"> -<__hipPushCallConfiguration id(46) correlation_id(183) on-enter pid(1956) tid(1956)> -<__hipPushCallConfiguration id(46) correlation_id(183) on-exit pid(1956) tid(1956)> -<__hipPopCallConfiguration id(171) correlation_id(184) on-enter pid(1956) tid(1956)> -<__hipPopCallConfiguration id(171) correlation_id(184) on-exit pid(1956) tid(1956)> - - +<__hipPushCallConfiguration id(46) correlation_id(183) on-enter pid(1956) tid(1956)> +<__hipPushCallConfiguration id(46) correlation_id(183) on-exit pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(184) on-enter pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(184) on-exit pid(1956) tid(1956)> + + rocTX <"after hipLaunchKernel pid(1956) tid(1956)"> rocTX <"hipMemcpy pid(1956) tid(1956)"> dst(0x20ba060) src(0x7f2290e00000) size(0x400000) kind(2) - + rocTX <"(null) pid(1956) tid(1956)"> rocTX <"(null) pid(1956) tid(1956)"> PASSED! ptr(0x7f2291400000) - + ptr(0x7f2290e00000) - + # START (66) ############################# Device 0 name: Device 687f PASSED! # START (65) ############################# - - - - + + + + Device 0 name: Device 687f ptr(0x7ffd4c5a7160) size(0x400000) *ptr(0x0x7f2291400000) ptr(0x7ffd4c5a7158) size(0x400000) *ptr(0x0x7f2290e00000) dst(0x7f2291400000) src(0x1cba050) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(1956) tid(1956)"> rocTX <"hipLaunchKernel pid(1956) tid(1956)"> -<__hipPushCallConfiguration id(46) correlation_id(194) on-enter pid(1956) tid(1956)> -<__hipPushCallConfiguration id(46) correlation_id(194) on-exit pid(1956) tid(1956)> -<__hipPopCallConfiguration id(171) correlation_id(195) on-enter pid(1956) tid(1956)> -<__hipPopCallConfiguration id(171) correlation_id(195) on-exit pid(1956) tid(1956)> - - +<__hipPushCallConfiguration id(46) correlation_id(194) on-enter pid(1956) tid(1956)> +<__hipPushCallConfiguration id(46) correlation_id(194) on-exit pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(195) on-enter pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(195) on-exit pid(1956) tid(1956)> + + rocTX <"after hipLaunchKernel pid(1956) tid(1956)"> rocTX <"hipMemcpy pid(1956) tid(1956)"> dst(0x20ba060) src(0x7f2290e00000) size(0x400000) kind(2) - + rocTX <"(null) pid(1956) tid(1956)"> rocTX <"(null) pid(1956) tid(1956)"> PASSED! ptr(0x7f2291400000) - + ptr(0x7f2290e00000) - + # START (64) ############################# Device 0 name: Device 687f PASSED! # START (63) ############################# - - - - + + + + Device 0 name: Device 687f ptr(0x7ffd4c5a7160) size(0x400000) *ptr(0x0x7f2291400000) ptr(0x7ffd4c5a7158) size(0x400000) *ptr(0x0x7f2290e00000) dst(0x7f2291400000) src(0x1cba050) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(1956) tid(1956)"> rocTX <"hipLaunchKernel pid(1956) tid(1956)"> -<__hipPushCallConfiguration id(46) correlation_id(205) on-enter pid(1956) tid(1956)> -<__hipPushCallConfiguration id(46) correlation_id(205) on-exit pid(1956) tid(1956)> -<__hipPopCallConfiguration id(171) correlation_id(206) on-enter pid(1956) tid(1956)> -<__hipPopCallConfiguration id(171) correlation_id(206) on-exit pid(1956) tid(1956)> - - +<__hipPushCallConfiguration id(46) correlation_id(205) on-enter pid(1956) tid(1956)> +<__hipPushCallConfiguration id(46) correlation_id(205) on-exit pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(206) on-enter pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(206) on-exit pid(1956) tid(1956)> + + rocTX <"after hipLaunchKernel pid(1956) tid(1956)"> rocTX <"hipMemcpy pid(1956) tid(1956)"> dst(0x20ba060) src(0x7f2290e00000) size(0x400000) kind(2) - + rocTX <"(null) pid(1956) tid(1956)"> rocTX <"(null) pid(1956) tid(1956)"> PASSED! ptr(0x7f2291400000) - + ptr(0x7f2290e00000) - + # START (62) ############################# Device 0 name: Device 687f PASSED! # START (61) ############################# - - - - + + + + Device 0 name: Device 687f ptr(0x7ffd4c5a7160) size(0x400000) *ptr(0x0x7f2291400000) ptr(0x7ffd4c5a7158) size(0x400000) *ptr(0x0x7f2290e00000) dst(0x7f2291400000) src(0x1cba050) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(1956) tid(1956)"> rocTX <"hipLaunchKernel pid(1956) tid(1956)"> -<__hipPushCallConfiguration id(46) correlation_id(216) on-enter pid(1956) tid(1956)> -<__hipPushCallConfiguration id(46) correlation_id(216) on-exit pid(1956) tid(1956)> -<__hipPopCallConfiguration id(171) correlation_id(217) on-enter pid(1956) tid(1956)> -<__hipPopCallConfiguration id(171) correlation_id(217) on-exit pid(1956) tid(1956)> - - +<__hipPushCallConfiguration id(46) correlation_id(216) on-enter pid(1956) tid(1956)> +<__hipPushCallConfiguration id(46) correlation_id(216) on-exit pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(217) on-enter pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(217) on-exit pid(1956) tid(1956)> + + rocTX <"after hipLaunchKernel pid(1956) tid(1956)"> rocTX <"hipMemcpy pid(1956) tid(1956)"> dst(0x20ba060) src(0x7f2290e00000) size(0x400000) kind(2) - + rocTX <"(null) pid(1956) tid(1956)"> rocTX <"(null) pid(1956) tid(1956)"> PASSED! ptr(0x7f2291400000) - + ptr(0x7f2290e00000) - + # START (60) ############################# Device 0 name: Device 687f PASSED! # START (59) ############################# - - - - + + + + Device 0 name: Device 687f ptr(0x7ffd4c5a7160) size(0x400000) *ptr(0x0x7f2291400000) ptr(0x7ffd4c5a7158) size(0x400000) *ptr(0x0x7f2290e00000) dst(0x7f2291400000) src(0x1cba050) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(1956) tid(1956)"> rocTX <"hipLaunchKernel pid(1956) tid(1956)"> -<__hipPushCallConfiguration id(46) correlation_id(227) on-enter pid(1956) tid(1956)> -<__hipPushCallConfiguration id(46) correlation_id(227) on-exit pid(1956) tid(1956)> -<__hipPopCallConfiguration id(171) correlation_id(228) on-enter pid(1956) tid(1956)> -<__hipPopCallConfiguration id(171) correlation_id(228) on-exit pid(1956) tid(1956)> - - +<__hipPushCallConfiguration id(46) correlation_id(227) on-enter pid(1956) tid(1956)> +<__hipPushCallConfiguration id(46) correlation_id(227) on-exit pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(228) on-enter pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(228) on-exit pid(1956) tid(1956)> + + rocTX <"after hipLaunchKernel pid(1956) tid(1956)"> rocTX <"hipMemcpy pid(1956) tid(1956)"> dst(0x20ba060) src(0x7f2290e00000) size(0x400000) kind(2) - + rocTX <"(null) pid(1956) tid(1956)"> rocTX <"(null) pid(1956) tid(1956)"> PASSED! ptr(0x7f2291400000) - + ptr(0x7f2290e00000) - + # START (58) ############################# Device 0 name: Device 687f PASSED! # START (57) ############################# - - - - + + + + Device 0 name: Device 687f ptr(0x7ffd4c5a7160) size(0x400000) *ptr(0x0x7f2291400000) ptr(0x7ffd4c5a7158) size(0x400000) *ptr(0x0x7f2290e00000) dst(0x7f2291400000) src(0x1cba050) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(1956) tid(1956)"> rocTX <"hipLaunchKernel pid(1956) tid(1956)"> -<__hipPushCallConfiguration id(46) correlation_id(238) on-enter pid(1956) tid(1956)> -<__hipPushCallConfiguration id(46) correlation_id(238) on-exit pid(1956) tid(1956)> -<__hipPopCallConfiguration id(171) correlation_id(239) on-enter pid(1956) tid(1956)> -<__hipPopCallConfiguration id(171) correlation_id(239) on-exit pid(1956) tid(1956)> - - +<__hipPushCallConfiguration id(46) correlation_id(238) on-enter pid(1956) tid(1956)> +<__hipPushCallConfiguration id(46) correlation_id(238) on-exit pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(239) on-enter pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(239) on-exit pid(1956) tid(1956)> + + rocTX <"after hipLaunchKernel pid(1956) tid(1956)"> rocTX <"hipMemcpy pid(1956) tid(1956)"> dst(0x20ba060) src(0x7f2290e00000) size(0x400000) kind(2) - + rocTX <"(null) pid(1956) tid(1956)"> rocTX <"(null) pid(1956) tid(1956)"> Activity records: CopyHostToDevice correlation_id(6) time_ns(3802693158326260:3802693160391985) device_id(0) queue_id(0) bytes(0x0) - KernelExecution correlation_id(9) time_ns(3802693161048371:3802693162256582) device_id(0) queue_id(0) CopyDeviceToHost correlation_id(10) time_ns(3802693161030340:3802693164301504) device_id(0) queue_id(0) bytes(0x0) CopyHostToDevice correlation_id(17) time_ns(3802693189030657:3802693190819790) device_id(0) queue_id(0) bytes(0x0) - KernelExecution correlation_id(20) time_ns(3802693190942495:3802693192138260) device_id(0) queue_id(0) CopyDeviceToHost correlation_id(21) time_ns(3802693190919751:3802693193555520) device_id(0) queue_id(0) bytes(0x0) CopyHostToDevice correlation_id(28) time_ns(3802693217699329:3802693219481423) device_id(0) queue_id(0) bytes(0x0) - KernelExecution correlation_id(31) time_ns(3802693219594551:3802693220782909) device_id(0) queue_id(0) CopyDeviceToHost correlation_id(32) time_ns(3802693219571603:3802693222333964) device_id(0) queue_id(0) bytes(0x0) CopyHostToDevice correlation_id(39) time_ns(3802693246475403:3802693248318136) device_id(0) queue_id(0) bytes(0x0) - KernelExecution correlation_id(42) time_ns(3802693248437502:3802693249626747) device_id(0) queue_id(0) CopyDeviceToHost correlation_id(43) time_ns(3802693248413937:3802693250928706) device_id(0) queue_id(0) bytes(0x0) CopyHostToDevice correlation_id(50) time_ns(3802693275061624:3802693276990348) device_id(0) queue_id(0) bytes(0x0) - KernelExecution correlation_id(53) time_ns(3802693277116931:3802693278306474) device_id(0) queue_id(0) CopyDeviceToHost correlation_id(54) time_ns(3802693277094469:3802693279611427) device_id(0) queue_id(0) bytes(0x0) CopyHostToDevice correlation_id(61) time_ns(3802693303647725:3802693305425959) device_id(0) queue_id(0) bytes(0x0) - KernelExecution correlation_id(64) time_ns(3802693305534665:3802693306738726) device_id(0) queue_id(0) CopyDeviceToHost correlation_id(65) time_ns(3802693305512139:3802693308041418) device_id(0) queue_id(0) bytes(0x0) CopyHostToDevice correlation_id(72) time_ns(3802693332077196:3802693333992130) device_id(0) queue_id(0) bytes(0x0) - KernelExecution correlation_id(75) time_ns(3802693334125246:3802693335327381) device_id(0) queue_id(0) CopyDeviceToHost correlation_id(76) time_ns(3802693334102781:3802693336622820) device_id(0) queue_id(0) bytes(0x0) CopyHostToDevice correlation_id(83) time_ns(3802693360847169:3802693362459511) device_id(0) queue_id(0) bytes(0x0) - KernelExecution correlation_id(86) time_ns(3802693362549802:3802693363752381) device_id(0) queue_id(0) CopyDeviceToHost correlation_id(87) time_ns(3802693362527182:3802693365060671) device_id(0) queue_id(0) bytes(0x0) CopyHostToDevice correlation_id(94) time_ns(3802693389007728:3802693390615380) device_id(0) queue_id(0) bytes(0x0) - KernelExecution correlation_id(97) time_ns(3802693390708976:3802693391898518) device_id(0) queue_id(0) CopyDeviceToHost correlation_id(98) time_ns(3802693390686550:3802693393205669) device_id(0) queue_id(0) bytes(0x0) CopyHostToDevice correlation_id(105) time_ns(3802693416920965:3802693418529277) device_id(0) queue_id(0) bytes(0x0) - KernelExecution correlation_id(108) time_ns(3802693418631014:3802693419820704) device_id(0) queue_id(0) CopyDeviceToHost correlation_id(109) time_ns(3802693418608207:3802693421128926) device_id(0) queue_id(0) bytes(0x0) CopyHostToDevice correlation_id(116) time_ns(3802693444838931:3802693446448383) device_id(0) queue_id(0) bytes(0x0) - KernelExecution correlation_id(119) time_ns(3802693446543172:3802693447741899) device_id(0) queue_id(0) CopyDeviceToHost correlation_id(120) time_ns(3802693446520144:3802693449049392) device_id(0) queue_id(0) bytes(0x0) CopyHostToDevice correlation_id(127) time_ns(3802693472737827:3802693474345459) device_id(0) queue_id(0) bytes(0x0) - KernelExecution correlation_id(130) time_ns(3802693474448826:3802693475642813) device_id(0) queue_id(0) CopyDeviceToHost correlation_id(131) time_ns(3802693474426350:3802693476951189) device_id(0) queue_id(0) bytes(0x0) CopyHostToDevice correlation_id(138) time_ns(3802693504561853:3802693506162115) device_id(0) queue_id(0) bytes(0x0) - KernelExecution correlation_id(141) time_ns(3802693506255741:3802693507466469) device_id(0) queue_id(0) CopyDeviceToHost correlation_id(142) time_ns(3802693506232416:3802693508774235) device_id(0) queue_id(0) bytes(0x0) CopyHostToDevice correlation_id(149) time_ns(3802693536380419:3802693537984301) device_id(0) queue_id(0) bytes(0x0) - KernelExecution correlation_id(152) time_ns(3802693538080636:3802693539287660) device_id(0) queue_id(0) CopyDeviceToHost correlation_id(153) time_ns(3802693538058642:3802693540595131) device_id(0) queue_id(0) bytes(0x0) CopyHostToDevice correlation_id(160) time_ns(3802693568325455:3802693569928777) device_id(0) queue_id(0) bytes(0x0) - KernelExecution correlation_id(163) time_ns(3802693570018375:3802693571222732) device_id(0) queue_id(0) CopyDeviceToHost correlation_id(164) time_ns(3802693569996558:3802693572553427) device_id(0) queue_id(0) bytes(0x0) CopyHostToDevice correlation_id(171) time_ns(3802693600749546:3802693602534749) device_id(0) queue_id(0) bytes(0x0) - KernelExecution correlation_id(174) time_ns(3802693602648735:3802693603850277) device_id(0) queue_id(0) CopyDeviceToHost correlation_id(175) time_ns(3802693602627560:3802693605319020) device_id(0) queue_id(0) bytes(0x0) CopyHostToDevice correlation_id(182) time_ns(3802693633454628:3802693635319622) device_id(0) queue_id(0) bytes(0x0) - KernelExecution correlation_id(185) time_ns(3802693635444369:3802693636652430) device_id(0) queue_id(0) CopyDeviceToHost correlation_id(186) time_ns(3802693635419783:3802693637956321) device_id(0) queue_id(0) bytes(0x0) CopyHostToDevice correlation_id(193) time_ns(3802693670536072:3802693672352026) device_id(0) queue_id(0) bytes(0x0) - KernelExecution correlation_id(196) time_ns(3802693672479060:3802693673674232) device_id(0) queue_id(0) CopyDeviceToHost correlation_id(197) time_ns(3802693672456057:3802693674965065) device_id(0) queue_id(0) bytes(0x0) CopyHostToDevice correlation_id(204) time_ns(3802693702641510:3802693704280223) device_id(0) queue_id(0) bytes(0x0) - KernelExecution correlation_id(207) time_ns(3802693704403420:3802693705594443) device_id(0) queue_id(0) CopyDeviceToHost correlation_id(208) time_ns(3802693704379473:3802693706896192) device_id(0) queue_id(0) bytes(0x0) CopyHostToDevice correlation_id(215) time_ns(3802693731697045:3802693733490048) device_id(0) queue_id(0) bytes(0x0) - KernelExecution correlation_id(218) time_ns(3802693733606909:3802693734806525) device_id(0) queue_id(0) CopyDeviceToHost correlation_id(219) time_ns(3802693733583869:3802693736105068) device_id(0) queue_id(0) bytes(0x0) CopyHostToDevice correlation_id(226) time_ns(3802693760759770:3802693762538223) device_id(0) queue_id(0) bytes(0x0) - KernelExecution correlation_id(229) time_ns(3802693762654383:3802693763857554) device_id(0) queue_id(0) CopyDeviceToHost correlation_id(230) time_ns(3802693762631754:3802693765358974) device_id(0) queue_id(0) bytes(0x0) CopyHostToDevice correlation_id(237) time_ns(3802693789692155:3802693791479928) device_id(0) queue_id(0) bytes(0x0) PASSED! ptr(0x7f2291400000) - + ptr(0x7f2290e00000) - + # START (56) ############################# Device 0 name: Device 687f PASSED! # START (55) ############################# - - - - + + + + Device 0 name: Device 687f ptr(0x7ffd4c5a7160) size(0x400000) *ptr(0x0x7f2291400000) ptr(0x7ffd4c5a7158) size(0x400000) *ptr(0x0x7f2290e00000) dst(0x7f2291400000) src(0x1cba050) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(1956) tid(1956)"> rocTX <"hipLaunchKernel pid(1956) tid(1956)"> -<__hipPushCallConfiguration id(46) correlation_id(249) on-enter pid(1956) tid(1956)> -<__hipPushCallConfiguration id(46) correlation_id(249) on-exit pid(1956) tid(1956)> -<__hipPopCallConfiguration id(171) correlation_id(250) on-enter pid(1956) tid(1956)> -<__hipPopCallConfiguration id(171) correlation_id(250) on-exit pid(1956) tid(1956)> - - +<__hipPushCallConfiguration id(46) correlation_id(249) on-enter pid(1956) tid(1956)> +<__hipPushCallConfiguration id(46) correlation_id(249) on-exit pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(250) on-enter pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(250) on-exit pid(1956) tid(1956)> + + rocTX <"after hipLaunchKernel pid(1956) tid(1956)"> rocTX <"hipMemcpy pid(1956) tid(1956)"> dst(0x20ba060) src(0x7f2290e00000) size(0x400000) kind(2) - + rocTX <"(null) pid(1956) tid(1956)"> rocTX <"(null) pid(1956) tid(1956)"> PASSED! ptr(0x7f2291400000) - + ptr(0x7f2290e00000) - + # START (54) ############################# Device 0 name: Device 687f PASSED! # START (53) ############################# - - - - + + + + Device 0 name: Device 687f ptr(0x7ffd4c5a7160) size(0x400000) *ptr(0x0x7f2291400000) ptr(0x7ffd4c5a7158) size(0x400000) *ptr(0x0x7f2290e00000) dst(0x7f2291400000) src(0x1cba050) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(1956) tid(1956)"> rocTX <"hipLaunchKernel pid(1956) tid(1956)"> -<__hipPushCallConfiguration id(46) correlation_id(260) on-enter pid(1956) tid(1956)> -<__hipPushCallConfiguration id(46) correlation_id(260) on-exit pid(1956) tid(1956)> -<__hipPopCallConfiguration id(171) correlation_id(261) on-enter pid(1956) tid(1956)> -<__hipPopCallConfiguration id(171) correlation_id(261) on-exit pid(1956) tid(1956)> - - +<__hipPushCallConfiguration id(46) correlation_id(260) on-enter pid(1956) tid(1956)> +<__hipPushCallConfiguration id(46) correlation_id(260) on-exit pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(261) on-enter pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(261) on-exit pid(1956) tid(1956)> + + rocTX <"after hipLaunchKernel pid(1956) tid(1956)"> rocTX <"hipMemcpy pid(1956) tid(1956)"> dst(0x20ba060) src(0x7f2290e00000) size(0x400000) kind(2) - + rocTX <"(null) pid(1956) tid(1956)"> rocTX <"(null) pid(1956) tid(1956)"> PASSED! ptr(0x7f2291400000) - + ptr(0x7f2290e00000) - + # START (52) ############################# Device 0 name: Device 687f PASSED! # START (51) ############################# - - - - + + + + Device 0 name: Device 687f ptr(0x7ffd4c5a7160) size(0x400000) *ptr(0x0x7f2291400000) ptr(0x7ffd4c5a7158) size(0x400000) *ptr(0x0x7f2290e00000) dst(0x7f2291400000) src(0x1cba050) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(1956) tid(1956)"> rocTX <"hipLaunchKernel pid(1956) tid(1956)"> -<__hipPushCallConfiguration id(46) correlation_id(271) on-enter pid(1956) tid(1956)> -<__hipPushCallConfiguration id(46) correlation_id(271) on-exit pid(1956) tid(1956)> -<__hipPopCallConfiguration id(171) correlation_id(272) on-enter pid(1956) tid(1956)> -<__hipPopCallConfiguration id(171) correlation_id(272) on-exit pid(1956) tid(1956)> - - +<__hipPushCallConfiguration id(46) correlation_id(271) on-enter pid(1956) tid(1956)> +<__hipPushCallConfiguration id(46) correlation_id(271) on-exit pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(272) on-enter pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(272) on-exit pid(1956) tid(1956)> + + rocTX <"after hipLaunchKernel pid(1956) tid(1956)"> rocTX <"hipMemcpy pid(1956) tid(1956)"> dst(0x20ba060) src(0x7f2290e00000) size(0x400000) kind(2) - + rocTX <"(null) pid(1956) tid(1956)"> rocTX <"(null) pid(1956) tid(1956)"> PASSED! ptr(0x7f2291400000) - + ptr(0x7f2290e00000) - + # START (50) ############################# Device 0 name: Device 687f PASSED! # START (49) ############################# - - - - + + + + Device 0 name: Device 687f ptr(0x7ffd4c5a7160) size(0x400000) *ptr(0x0x7f2291400000) ptr(0x7ffd4c5a7158) size(0x400000) *ptr(0x0x7f2290e00000) dst(0x7f2291400000) src(0x1cba050) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(1956) tid(1956)"> rocTX <"hipLaunchKernel pid(1956) tid(1956)"> -<__hipPushCallConfiguration id(46) correlation_id(282) on-enter pid(1956) tid(1956)> -<__hipPushCallConfiguration id(46) correlation_id(282) on-exit pid(1956) tid(1956)> -<__hipPopCallConfiguration id(171) correlation_id(283) on-enter pid(1956) tid(1956)> -<__hipPopCallConfiguration id(171) correlation_id(283) on-exit pid(1956) tid(1956)> - - +<__hipPushCallConfiguration id(46) correlation_id(282) on-enter pid(1956) tid(1956)> +<__hipPushCallConfiguration id(46) correlation_id(282) on-exit pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(283) on-enter pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(283) on-exit pid(1956) tid(1956)> + + rocTX <"after hipLaunchKernel pid(1956) tid(1956)"> rocTX <"hipMemcpy pid(1956) tid(1956)"> dst(0x20ba060) src(0x7f2290e00000) size(0x400000) kind(2) - + rocTX <"(null) pid(1956) tid(1956)"> rocTX <"(null) pid(1956) tid(1956)"> PASSED! ptr(0x7f2291400000) - + ptr(0x7f2290e00000) - + # START (48) ############################# Device 0 name: Device 687f PASSED! # START (47) ############################# - - - - + + + + Device 0 name: Device 687f ptr(0x7ffd4c5a7160) size(0x400000) *ptr(0x0x7f2291400000) ptr(0x7ffd4c5a7158) size(0x400000) *ptr(0x0x7f2290e00000) dst(0x7f2291400000) src(0x1cba050) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(1956) tid(1956)"> rocTX <"hipLaunchKernel pid(1956) tid(1956)"> -<__hipPushCallConfiguration id(46) correlation_id(293) on-enter pid(1956) tid(1956)> -<__hipPushCallConfiguration id(46) correlation_id(293) on-exit pid(1956) tid(1956)> -<__hipPopCallConfiguration id(171) correlation_id(294) on-enter pid(1956) tid(1956)> -<__hipPopCallConfiguration id(171) correlation_id(294) on-exit pid(1956) tid(1956)> - - +<__hipPushCallConfiguration id(46) correlation_id(293) on-enter pid(1956) tid(1956)> +<__hipPushCallConfiguration id(46) correlation_id(293) on-exit pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(294) on-enter pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(294) on-exit pid(1956) tid(1956)> + + rocTX <"after hipLaunchKernel pid(1956) tid(1956)"> rocTX <"hipMemcpy pid(1956) tid(1956)"> dst(0x20ba060) src(0x7f2290e00000) size(0x400000) kind(2) - + rocTX <"(null) pid(1956) tid(1956)"> rocTX <"(null) pid(1956) tid(1956)"> PASSED! ptr(0x7f2291400000) - + ptr(0x7f2290e00000) - + # START (46) ############################# Device 0 name: Device 687f PASSED! # START (45) ############################# - - - - + + + + Device 0 name: Device 687f ptr(0x7ffd4c5a7160) size(0x400000) *ptr(0x0x7f2291400000) ptr(0x7ffd4c5a7158) size(0x400000) *ptr(0x0x7f2290e00000) dst(0x7f2291400000) src(0x1cba050) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(1956) tid(1956)"> rocTX <"hipLaunchKernel pid(1956) tid(1956)"> -<__hipPushCallConfiguration id(46) correlation_id(304) on-enter pid(1956) tid(1956)> -<__hipPushCallConfiguration id(46) correlation_id(304) on-exit pid(1956) tid(1956)> -<__hipPopCallConfiguration id(171) correlation_id(305) on-enter pid(1956) tid(1956)> -<__hipPopCallConfiguration id(171) correlation_id(305) on-exit pid(1956) tid(1956)> - - +<__hipPushCallConfiguration id(46) correlation_id(304) on-enter pid(1956) tid(1956)> +<__hipPushCallConfiguration id(46) correlation_id(304) on-exit pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(305) on-enter pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(305) on-exit pid(1956) tid(1956)> + + rocTX <"after hipLaunchKernel pid(1956) tid(1956)"> rocTX <"hipMemcpy pid(1956) tid(1956)"> dst(0x20ba060) src(0x7f2290e00000) size(0x400000) kind(2) - + rocTX <"(null) pid(1956) tid(1956)"> rocTX <"(null) pid(1956) tid(1956)"> PASSED! ptr(0x7f2291400000) - + ptr(0x7f2290e00000) - + # START (44) ############################# Device 0 name: Device 687f PASSED! # START (43) ############################# - - - - + + + + Device 0 name: Device 687f ptr(0x7ffd4c5a7160) size(0x400000) *ptr(0x0x7f2291400000) ptr(0x7ffd4c5a7158) size(0x400000) *ptr(0x0x7f2290e00000) dst(0x7f2291400000) src(0x1cba050) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(1956) tid(1956)"> rocTX <"hipLaunchKernel pid(1956) tid(1956)"> -<__hipPushCallConfiguration id(46) correlation_id(315) on-enter pid(1956) tid(1956)> -<__hipPushCallConfiguration id(46) correlation_id(315) on-exit pid(1956) tid(1956)> -<__hipPopCallConfiguration id(171) correlation_id(316) on-enter pid(1956) tid(1956)> -<__hipPopCallConfiguration id(171) correlation_id(316) on-exit pid(1956) tid(1956)> - - +<__hipPushCallConfiguration id(46) correlation_id(315) on-enter pid(1956) tid(1956)> +<__hipPushCallConfiguration id(46) correlation_id(315) on-exit pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(316) on-enter pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(316) on-exit pid(1956) tid(1956)> + + rocTX <"after hipLaunchKernel pid(1956) tid(1956)"> rocTX <"hipMemcpy pid(1956) tid(1956)"> dst(0x20ba060) src(0x7f2290e00000) size(0x400000) kind(2) - + rocTX <"(null) pid(1956) tid(1956)"> rocTX <"(null) pid(1956) tid(1956)"> PASSED! ptr(0x7f2291400000) - + ptr(0x7f2290e00000) - + # START (42) ############################# Device 0 name: Device 687f PASSED! # START (41) ############################# - - - - + + + + Device 0 name: Device 687f ptr(0x7ffd4c5a7160) size(0x400000) *ptr(0x0x7f2291400000) ptr(0x7ffd4c5a7158) size(0x400000) *ptr(0x0x7f2290e00000) dst(0x7f2291400000) src(0x1cba050) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(1956) tid(1956)"> rocTX <"hipLaunchKernel pid(1956) tid(1956)"> -<__hipPushCallConfiguration id(46) correlation_id(326) on-enter pid(1956) tid(1956)> -<__hipPushCallConfiguration id(46) correlation_id(326) on-exit pid(1956) tid(1956)> -<__hipPopCallConfiguration id(171) correlation_id(327) on-enter pid(1956) tid(1956)> -<__hipPopCallConfiguration id(171) correlation_id(327) on-exit pid(1956) tid(1956)> - - +<__hipPushCallConfiguration id(46) correlation_id(326) on-enter pid(1956) tid(1956)> +<__hipPushCallConfiguration id(46) correlation_id(326) on-exit pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(327) on-enter pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(327) on-exit pid(1956) tid(1956)> + + rocTX <"after hipLaunchKernel pid(1956) tid(1956)"> rocTX <"hipMemcpy pid(1956) tid(1956)"> dst(0x20ba060) src(0x7f2290e00000) size(0x400000) kind(2) - + rocTX <"(null) pid(1956) tid(1956)"> rocTX <"(null) pid(1956) tid(1956)"> PASSED! ptr(0x7f2291400000) - + ptr(0x7f2290e00000) - + # START (40) ############################# Device 0 name: Device 687f PASSED! # START (39) ############################# - - - - + + + + Device 0 name: Device 687f ptr(0x7ffd4c5a7160) size(0x400000) *ptr(0x0x7f2291400000) ptr(0x7ffd4c5a7158) size(0x400000) *ptr(0x0x7f2290e00000) dst(0x7f2291400000) src(0x1cba050) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(1956) tid(1956)"> rocTX <"hipLaunchKernel pid(1956) tid(1956)"> -<__hipPushCallConfiguration id(46) correlation_id(337) on-enter pid(1956) tid(1956)> -<__hipPushCallConfiguration id(46) correlation_id(337) on-exit pid(1956) tid(1956)> -<__hipPopCallConfiguration id(171) correlation_id(338) on-enter pid(1956) tid(1956)> -<__hipPopCallConfiguration id(171) correlation_id(338) on-exit pid(1956) tid(1956)> - - +<__hipPushCallConfiguration id(46) correlation_id(337) on-enter pid(1956) tid(1956)> +<__hipPushCallConfiguration id(46) correlation_id(337) on-exit pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(338) on-enter pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(338) on-exit pid(1956) tid(1956)> + + rocTX <"after hipLaunchKernel pid(1956) tid(1956)"> rocTX <"hipMemcpy pid(1956) tid(1956)"> dst(0x20ba060) src(0x7f2290e00000) size(0x400000) kind(2) - + rocTX <"(null) pid(1956) tid(1956)"> rocTX <"(null) pid(1956) tid(1956)"> PASSED! ptr(0x7f2291400000) - + ptr(0x7f2290e00000) - + # START (38) ############################# Device 0 name: Device 687f PASSED! # START (37) ############################# - - - - + + + + Device 0 name: Device 687f ptr(0x7ffd4c5a7160) size(0x400000) *ptr(0x0x7f2291400000) ptr(0x7ffd4c5a7158) size(0x400000) *ptr(0x0x7f2290e00000) dst(0x7f2291400000) src(0x1cba050) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(1956) tid(1956)"> rocTX <"hipLaunchKernel pid(1956) tid(1956)"> -<__hipPushCallConfiguration id(46) correlation_id(348) on-enter pid(1956) tid(1956)> -<__hipPushCallConfiguration id(46) correlation_id(348) on-exit pid(1956) tid(1956)> -<__hipPopCallConfiguration id(171) correlation_id(349) on-enter pid(1956) tid(1956)> -<__hipPopCallConfiguration id(171) correlation_id(349) on-exit pid(1956) tid(1956)> - - +<__hipPushCallConfiguration id(46) correlation_id(348) on-enter pid(1956) tid(1956)> +<__hipPushCallConfiguration id(46) correlation_id(348) on-exit pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(349) on-enter pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(349) on-exit pid(1956) tid(1956)> + + rocTX <"after hipLaunchKernel pid(1956) tid(1956)"> rocTX <"hipMemcpy pid(1956) tid(1956)"> dst(0x20ba060) src(0x7f2290e00000) size(0x400000) kind(2) - + rocTX <"(null) pid(1956) tid(1956)"> rocTX <"(null) pid(1956) tid(1956)"> PASSED! ptr(0x7f2291400000) - + ptr(0x7f2290e00000) - + # START (36) ############################# Device 0 name: Device 687f PASSED! # START (35) ############################# - - - - + + + + Device 0 name: Device 687f ptr(0x7ffd4c5a7160) size(0x400000) *ptr(0x0x7f2291400000) ptr(0x7ffd4c5a7158) size(0x400000) *ptr(0x0x7f2290e00000) dst(0x7f2291400000) src(0x1cba050) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(1956) tid(1956)"> rocTX <"hipLaunchKernel pid(1956) tid(1956)"> -<__hipPushCallConfiguration id(46) correlation_id(359) on-enter pid(1956) tid(1956)> -<__hipPushCallConfiguration id(46) correlation_id(359) on-exit pid(1956) tid(1956)> -<__hipPopCallConfiguration id(171) correlation_id(360) on-enter pid(1956) tid(1956)> -<__hipPopCallConfiguration id(171) correlation_id(360) on-exit pid(1956) tid(1956)> - - +<__hipPushCallConfiguration id(46) correlation_id(359) on-enter pid(1956) tid(1956)> +<__hipPushCallConfiguration id(46) correlation_id(359) on-exit pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(360) on-enter pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(360) on-exit pid(1956) tid(1956)> + + rocTX <"after hipLaunchKernel pid(1956) tid(1956)"> rocTX <"hipMemcpy pid(1956) tid(1956)"> dst(0x20ba060) src(0x7f2290e00000) size(0x400000) kind(2) - + rocTX <"(null) pid(1956) tid(1956)"> rocTX <"(null) pid(1956) tid(1956)"> PASSED! ptr(0x7f2291400000) - + ptr(0x7f2290e00000) - + # START (34) ############################# Device 0 name: Device 687f PASSED! # START (33) ############################# - - - - + + + + Device 0 name: Device 687f ptr(0x7ffd4c5a7160) size(0x400000) *ptr(0x0x7f2291400000) ptr(0x7ffd4c5a7158) size(0x400000) *ptr(0x0x7f2290e00000) dst(0x7f2291400000) src(0x1cba050) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(1956) tid(1956)"> rocTX <"hipLaunchKernel pid(1956) tid(1956)"> -<__hipPushCallConfiguration id(46) correlation_id(370) on-enter pid(1956) tid(1956)> -<__hipPushCallConfiguration id(46) correlation_id(370) on-exit pid(1956) tid(1956)> -<__hipPopCallConfiguration id(171) correlation_id(371) on-enter pid(1956) tid(1956)> -<__hipPopCallConfiguration id(171) correlation_id(371) on-exit pid(1956) tid(1956)> - - +<__hipPushCallConfiguration id(46) correlation_id(370) on-enter pid(1956) tid(1956)> +<__hipPushCallConfiguration id(46) correlation_id(370) on-exit pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(371) on-enter pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(371) on-exit pid(1956) tid(1956)> + + rocTX <"after hipLaunchKernel pid(1956) tid(1956)"> rocTX <"hipMemcpy pid(1956) tid(1956)"> dst(0x20ba060) src(0x7f2290e00000) size(0x400000) kind(2) - + rocTX <"(null) pid(1956) tid(1956)"> rocTX <"(null) pid(1956) tid(1956)"> PASSED! ptr(0x7f2291400000) - + ptr(0x7f2290e00000) - + # START (32) ############################# Device 0 name: Device 687f PASSED! # START (31) ############################# - - - - + + + + Device 0 name: Device 687f ptr(0x7ffd4c5a7160) size(0x400000) *ptr(0x0x7f2291400000) ptr(0x7ffd4c5a7158) size(0x400000) *ptr(0x0x7f2290e00000) dst(0x7f2291400000) src(0x1cba050) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(1956) tid(1956)"> rocTX <"hipLaunchKernel pid(1956) tid(1956)"> -<__hipPushCallConfiguration id(46) correlation_id(381) on-enter pid(1956) tid(1956)> -<__hipPushCallConfiguration id(46) correlation_id(381) on-exit pid(1956) tid(1956)> -<__hipPopCallConfiguration id(171) correlation_id(382) on-enter pid(1956) tid(1956)> -<__hipPopCallConfiguration id(171) correlation_id(382) on-exit pid(1956) tid(1956)> - - +<__hipPushCallConfiguration id(46) correlation_id(381) on-enter pid(1956) tid(1956)> +<__hipPushCallConfiguration id(46) correlation_id(381) on-exit pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(382) on-enter pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(382) on-exit pid(1956) tid(1956)> + + rocTX <"after hipLaunchKernel pid(1956) tid(1956)"> rocTX <"hipMemcpy pid(1956) tid(1956)"> dst(0x20ba060) src(0x7f2290e00000) size(0x400000) kind(2) - + rocTX <"(null) pid(1956) tid(1956)"> rocTX <"(null) pid(1956) tid(1956)"> PASSED! ptr(0x7f2291400000) - + ptr(0x7f2290e00000) - + # START (30) ############################# Device 0 name: Device 687f PASSED! # START (29) ############################# - - - - + + + + Device 0 name: Device 687f ptr(0x7ffd4c5a7160) size(0x400000) *ptr(0x0x7f2291400000) ptr(0x7ffd4c5a7158) size(0x400000) *ptr(0x0x7f2290e00000) dst(0x7f2291400000) src(0x1cba050) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(1956) tid(1956)"> rocTX <"hipLaunchKernel pid(1956) tid(1956)"> -<__hipPushCallConfiguration id(46) correlation_id(392) on-enter pid(1956) tid(1956)> -<__hipPushCallConfiguration id(46) correlation_id(392) on-exit pid(1956) tid(1956)> -<__hipPopCallConfiguration id(171) correlation_id(393) on-enter pid(1956) tid(1956)> -<__hipPopCallConfiguration id(171) correlation_id(393) on-exit pid(1956) tid(1956)> - - +<__hipPushCallConfiguration id(46) correlation_id(392) on-enter pid(1956) tid(1956)> +<__hipPushCallConfiguration id(46) correlation_id(392) on-exit pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(393) on-enter pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(393) on-exit pid(1956) tid(1956)> + + rocTX <"after hipLaunchKernel pid(1956) tid(1956)"> rocTX <"hipMemcpy pid(1956) tid(1956)"> dst(0x20ba060) src(0x7f2290e00000) size(0x400000) kind(2) - + rocTX <"(null) pid(1956) tid(1956)"> rocTX <"(null) pid(1956) tid(1956)"> PASSED! ptr(0x7f2291400000) - + ptr(0x7f2290e00000) - + # START (28) ############################# Device 0 name: Device 687f PASSED! # START (27) ############################# - - - - + + + + Device 0 name: Device 687f ptr(0x7ffd4c5a7160) size(0x400000) *ptr(0x0x7f2291400000) ptr(0x7ffd4c5a7158) size(0x400000) *ptr(0x0x7f2290e00000) dst(0x7f2291400000) src(0x1cba050) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(1956) tid(1956)"> rocTX <"hipLaunchKernel pid(1956) tid(1956)"> -<__hipPushCallConfiguration id(46) correlation_id(403) on-enter pid(1956) tid(1956)> -<__hipPushCallConfiguration id(46) correlation_id(403) on-exit pid(1956) tid(1956)> -<__hipPopCallConfiguration id(171) correlation_id(404) on-enter pid(1956) tid(1956)> -<__hipPopCallConfiguration id(171) correlation_id(404) on-exit pid(1956) tid(1956)> - - +<__hipPushCallConfiguration id(46) correlation_id(403) on-enter pid(1956) tid(1956)> +<__hipPushCallConfiguration id(46) correlation_id(403) on-exit pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(404) on-enter pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(404) on-exit pid(1956) tid(1956)> + + rocTX <"after hipLaunchKernel pid(1956) tid(1956)"> rocTX <"hipMemcpy pid(1956) tid(1956)"> dst(0x20ba060) src(0x7f2290e00000) size(0x400000) kind(2) - + rocTX <"(null) pid(1956) tid(1956)"> rocTX <"(null) pid(1956) tid(1956)"> PASSED! ptr(0x7f2291400000) - + ptr(0x7f2290e00000) - + # START (26) ############################# Device 0 name: Device 687f PASSED! # START (25) ############################# - - - - + + + + Device 0 name: Device 687f ptr(0x7ffd4c5a7160) size(0x400000) *ptr(0x0x7f2291400000) ptr(0x7ffd4c5a7158) size(0x400000) *ptr(0x0x7f2290e00000) dst(0x7f2291400000) src(0x1cba050) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(1956) tid(1956)"> rocTX <"hipLaunchKernel pid(1956) tid(1956)"> -<__hipPushCallConfiguration id(46) correlation_id(414) on-enter pid(1956) tid(1956)> -<__hipPushCallConfiguration id(46) correlation_id(414) on-exit pid(1956) tid(1956)> -<__hipPopCallConfiguration id(171) correlation_id(415) on-enter pid(1956) tid(1956)> -<__hipPopCallConfiguration id(171) correlation_id(415) on-exit pid(1956) tid(1956)> - - +<__hipPushCallConfiguration id(46) correlation_id(414) on-enter pid(1956) tid(1956)> +<__hipPushCallConfiguration id(46) correlation_id(414) on-exit pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(415) on-enter pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(415) on-exit pid(1956) tid(1956)> + + rocTX <"after hipLaunchKernel pid(1956) tid(1956)"> rocTX <"hipMemcpy pid(1956) tid(1956)"> dst(0x20ba060) src(0x7f2290e00000) size(0x400000) kind(2) - + rocTX <"(null) pid(1956) tid(1956)"> rocTX <"(null) pid(1956) tid(1956)"> PASSED! ptr(0x7f2291400000) - + ptr(0x7f2290e00000) - + # START (24) ############################# Device 0 name: Device 687f PASSED! # START (23) ############################# - - - - + + + + Device 0 name: Device 687f ptr(0x7ffd4c5a7160) size(0x400000) *ptr(0x0x7f2291400000) ptr(0x7ffd4c5a7158) size(0x400000) *ptr(0x0x7f2290e00000) dst(0x7f2291400000) src(0x1cba050) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(1956) tid(1956)"> rocTX <"hipLaunchKernel pid(1956) tid(1956)"> -<__hipPushCallConfiguration id(46) correlation_id(425) on-enter pid(1956) tid(1956)> -<__hipPushCallConfiguration id(46) correlation_id(425) on-exit pid(1956) tid(1956)> -<__hipPopCallConfiguration id(171) correlation_id(426) on-enter pid(1956) tid(1956)> -<__hipPopCallConfiguration id(171) correlation_id(426) on-exit pid(1956) tid(1956)> - - +<__hipPushCallConfiguration id(46) correlation_id(425) on-enter pid(1956) tid(1956)> +<__hipPushCallConfiguration id(46) correlation_id(425) on-exit pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(426) on-enter pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(426) on-exit pid(1956) tid(1956)> + + rocTX <"after hipLaunchKernel pid(1956) tid(1956)"> rocTX <"hipMemcpy pid(1956) tid(1956)"> dst(0x20ba060) src(0x7f2290e00000) size(0x400000) kind(2) - + rocTX <"(null) pid(1956) tid(1956)"> rocTX <"(null) pid(1956) tid(1956)"> PASSED! ptr(0x7f2291400000) - + ptr(0x7f2290e00000) - + # START (22) ############################# Device 0 name: Device 687f PASSED! # START (21) ############################# - - - - + + + + Device 0 name: Device 687f ptr(0x7ffd4c5a7160) size(0x400000) *ptr(0x0x7f2291400000) ptr(0x7ffd4c5a7158) size(0x400000) *ptr(0x0x7f2290e00000) dst(0x7f2291400000) src(0x1cba050) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(1956) tid(1956)"> rocTX <"hipLaunchKernel pid(1956) tid(1956)"> -<__hipPushCallConfiguration id(46) correlation_id(436) on-enter pid(1956) tid(1956)> -<__hipPushCallConfiguration id(46) correlation_id(436) on-exit pid(1956) tid(1956)> -<__hipPopCallConfiguration id(171) correlation_id(437) on-enter pid(1956) tid(1956)> -<__hipPopCallConfiguration id(171) correlation_id(437) on-exit pid(1956) tid(1956)> - - +<__hipPushCallConfiguration id(46) correlation_id(436) on-enter pid(1956) tid(1956)> +<__hipPushCallConfiguration id(46) correlation_id(436) on-exit pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(437) on-enter pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(437) on-exit pid(1956) tid(1956)> + + rocTX <"after hipLaunchKernel pid(1956) tid(1956)"> rocTX <"hipMemcpy pid(1956) tid(1956)"> dst(0x20ba060) src(0x7f2290e00000) size(0x400000) kind(2) - + rocTX <"(null) pid(1956) tid(1956)"> rocTX <"(null) pid(1956) tid(1956)"> PASSED! ptr(0x7f2291400000) - + ptr(0x7f2290e00000) - + # START (20) ############################# Device 0 name: Device 687f PASSED! # START (19) ############################# - - - - + + + + Device 0 name: Device 687f ptr(0x7ffd4c5a7160) size(0x400000) *ptr(0x0x7f2291400000) ptr(0x7ffd4c5a7158) size(0x400000) *ptr(0x0x7f2290e00000) dst(0x7f2291400000) src(0x1cba050) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(1956) tid(1956)"> rocTX <"hipLaunchKernel pid(1956) tid(1956)"> -<__hipPushCallConfiguration id(46) correlation_id(447) on-enter pid(1956) tid(1956)> -<__hipPushCallConfiguration id(46) correlation_id(447) on-exit pid(1956) tid(1956)> -<__hipPopCallConfiguration id(171) correlation_id(448) on-enter pid(1956) tid(1956)> -<__hipPopCallConfiguration id(171) correlation_id(448) on-exit pid(1956) tid(1956)> - - +<__hipPushCallConfiguration id(46) correlation_id(447) on-enter pid(1956) tid(1956)> +<__hipPushCallConfiguration id(46) correlation_id(447) on-exit pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(448) on-enter pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(448) on-exit pid(1956) tid(1956)> + + rocTX <"after hipLaunchKernel pid(1956) tid(1956)"> rocTX <"hipMemcpy pid(1956) tid(1956)"> dst(0x20ba060) src(0x7f2290e00000) size(0x400000) kind(2) - + rocTX <"(null) pid(1956) tid(1956)"> rocTX <"(null) pid(1956) tid(1956)"> PASSED! ptr(0x7f2291400000) - + ptr(0x7f2290e00000) - + # START (18) ############################# Device 0 name: Device 687f PASSED! # START (17) ############################# - - - - + + + + Device 0 name: Device 687f ptr(0x7ffd4c5a7160) size(0x400000) *ptr(0x0x7f2291400000) ptr(0x7ffd4c5a7158) size(0x400000) *ptr(0x0x7f2290e00000) dst(0x7f2291400000) src(0x1cba050) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(1956) tid(1956)"> rocTX <"hipLaunchKernel pid(1956) tid(1956)"> -<__hipPushCallConfiguration id(46) correlation_id(458) on-enter pid(1956) tid(1956)> -<__hipPushCallConfiguration id(46) correlation_id(458) on-exit pid(1956) tid(1956)> -<__hipPopCallConfiguration id(171) correlation_id(459) on-enter pid(1956) tid(1956)> -<__hipPopCallConfiguration id(171) correlation_id(459) on-exit pid(1956) tid(1956)> - - +<__hipPushCallConfiguration id(46) correlation_id(458) on-enter pid(1956) tid(1956)> +<__hipPushCallConfiguration id(46) correlation_id(458) on-exit pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(459) on-enter pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(459) on-exit pid(1956) tid(1956)> + + rocTX <"after hipLaunchKernel pid(1956) tid(1956)"> rocTX <"hipMemcpy pid(1956) tid(1956)"> dst(0x20ba060) src(0x7f2290e00000) size(0x400000) kind(2) - + rocTX <"(null) pid(1956) tid(1956)"> rocTX <"(null) pid(1956) tid(1956)"> PASSED! ptr(0x7f2291400000) - + ptr(0x7f2290e00000) - + # START (16) ############################# Device 0 name: Device 687f PASSED! # START (15) ############################# - - - - + + + + Device 0 name: Device 687f ptr(0x7ffd4c5a7160) size(0x400000) *ptr(0x0x7f2291400000) ptr(0x7ffd4c5a7158) size(0x400000) *ptr(0x0x7f2290e00000) dst(0x7f2291400000) src(0x1cba050) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(1956) tid(1956)"> rocTX <"hipLaunchKernel pid(1956) tid(1956)"> -<__hipPushCallConfiguration id(46) correlation_id(469) on-enter pid(1956) tid(1956)> -<__hipPushCallConfiguration id(46) correlation_id(469) on-exit pid(1956) tid(1956)> -<__hipPopCallConfiguration id(171) correlation_id(470) on-enter pid(1956) tid(1956)> -<__hipPopCallConfiguration id(171) correlation_id(470) on-exit pid(1956) tid(1956)> - - +<__hipPushCallConfiguration id(46) correlation_id(469) on-enter pid(1956) tid(1956)> +<__hipPushCallConfiguration id(46) correlation_id(469) on-exit pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(470) on-enter pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(470) on-exit pid(1956) tid(1956)> + + rocTX <"after hipLaunchKernel pid(1956) tid(1956)"> rocTX <"hipMemcpy pid(1956) tid(1956)"> dst(0x20ba060) src(0x7f2290e00000) size(0x400000) kind(2) - + rocTX <"(null) pid(1956) tid(1956)"> rocTX <"(null) pid(1956) tid(1956)"> Activity records: - KernelExecution correlation_id(240) time_ns(3802693791610665:3802693792805392) device_id(0) queue_id(0) CopyDeviceToHost correlation_id(241) time_ns(3802693791587589:3802693794378239) device_id(0) queue_id(0) bytes(0x0) CopyHostToDevice correlation_id(248) time_ns(3802693818754050:3802693820496293) device_id(0) queue_id(0) bytes(0x0) - KernelExecution correlation_id(251) time_ns(3802693820617038:3802693821813839) device_id(0) queue_id(0) CopyDeviceToHost correlation_id(252) time_ns(3802693820594454:3802693823374534) device_id(0) queue_id(0) bytes(0x0) CopyHostToDevice correlation_id(259) time_ns(3802693847965976:3802693849762919) device_id(0) queue_id(0) bytes(0x0) - KernelExecution correlation_id(262) time_ns(3802693849884106:3802693851089501) device_id(0) queue_id(0) CopyDeviceToHost correlation_id(263) time_ns(3802693849863300:3802693852666011) device_id(0) queue_id(0) bytes(0x0) CopyHostToDevice correlation_id(270) time_ns(3802693888341765:3802693890100368) device_id(0) queue_id(0) bytes(0x0) - KernelExecution correlation_id(273) time_ns(3802693890246312:3802693891433483) device_id(0) queue_id(0) CopyDeviceToHost correlation_id(274) time_ns(3802693890225969:3802693893028570) device_id(0) queue_id(0) bytes(0x0) CopyHostToDevice correlation_id(281) time_ns(3802693917553302:3802693919266464) device_id(0) queue_id(0) bytes(0x0) - KernelExecution correlation_id(284) time_ns(3802693919380042:3802693920599659) device_id(0) queue_id(0) CopyDeviceToHost correlation_id(285) time_ns(3802693919348455:3802693921967184) device_id(0) queue_id(0) bytes(0x0) CopyHostToDevice correlation_id(292) time_ns(3802693946464325:3802693948150588) device_id(0) queue_id(0) bytes(0x0) - KernelExecution correlation_id(295) time_ns(3802693948254281:3802693949464713) device_id(0) queue_id(0) CopyDeviceToHost correlation_id(296) time_ns(3802693948233218:3802693950837018) device_id(0) queue_id(0) bytes(0x0) CopyHostToDevice correlation_id(303) time_ns(3802693974281311:3802693975902943) device_id(0) queue_id(0) bytes(0x0) - KernelExecution correlation_id(306) time_ns(3802693976005641:3802693977200368) device_id(0) queue_id(0) CopyDeviceToHost correlation_id(307) time_ns(3802693975984964:3802693978551343) device_id(0) queue_id(0) bytes(0x0) CopyHostToDevice correlation_id(314) time_ns(3802693999546128:3802694001206821) device_id(0) queue_id(0) bytes(0x0) - KernelExecution correlation_id(317) time_ns(3802694001314472:3802694002520755) device_id(0) queue_id(0) CopyDeviceToHost correlation_id(318) time_ns(3802694001291671:3802694003865120) device_id(0) queue_id(0) bytes(0x0) CopyHostToDevice correlation_id(325) time_ns(3802694024927036:3802694026589689) device_id(0) queue_id(0) bytes(0x0) - KernelExecution correlation_id(328) time_ns(3802694026722430:3802694027926491) device_id(0) queue_id(0) CopyDeviceToHost correlation_id(329) time_ns(3802694026699400:3802694029288579) device_id(0) queue_id(0) bytes(0x0) CopyHostToDevice correlation_id(336) time_ns(3802694049782200:3802694051450473) device_id(0) queue_id(0) bytes(0x0) - KernelExecution correlation_id(339) time_ns(3802694051556271:3802694052752925) device_id(0) queue_id(0) CopyDeviceToHost correlation_id(340) time_ns(3802694051533683:3802694054103553) device_id(0) queue_id(0) bytes(0x0) CopyHostToDevice correlation_id(347) time_ns(3802694074632374:3802694076275167) device_id(0) queue_id(0) bytes(0x0) - KernelExecution correlation_id(350) time_ns(3802694076406757:3802694077602521) device_id(0) queue_id(0) CopyDeviceToHost correlation_id(351) time_ns(3802694076384177:3802694078952507) device_id(0) queue_id(0) bytes(0x0) CopyHostToDevice correlation_id(358) time_ns(3802694099907052:3802694101586164) device_id(0) queue_id(0) bytes(0x0) - KernelExecution correlation_id(361) time_ns(3802694101693995:3802694102892574) device_id(0) queue_id(0) CopyDeviceToHost correlation_id(362) time_ns(3802694101670945:3802694104216184) device_id(0) queue_id(0) bytes(0x0) CopyHostToDevice correlation_id(369) time_ns(3802694124672565:3802694126331037) device_id(0) queue_id(0) bytes(0x0) - KernelExecution correlation_id(372) time_ns(3802694126459942:3802694127663262) device_id(0) queue_id(0) CopyDeviceToHost correlation_id(373) time_ns(3802694126436278:3802694129010837) device_id(0) queue_id(0) bytes(0x0) CopyHostToDevice correlation_id(380) time_ns(3802694158521436:3802694160162478) device_id(0) queue_id(0) bytes(0x0) - KernelExecution correlation_id(383) time_ns(3802694160286444:3802694161475393) device_id(0) queue_id(0) CopyDeviceToHost correlation_id(384) time_ns(3802694160263979:3802694162823037) device_id(0) queue_id(0) bytes(0x0) CopyHostToDevice correlation_id(391) time_ns(3802694183389400:3802694185065222) device_id(0) queue_id(0) bytes(0x0) - KernelExecution correlation_id(394) time_ns(3802694185180154:3802694186376807) device_id(0) queue_id(0) CopyDeviceToHost correlation_id(395) time_ns(3802694185157783:3802694187726042) device_id(0) queue_id(0) bytes(0x0) CopyHostToDevice correlation_id(402) time_ns(3802694208749508:3802694210426110) device_id(0) queue_id(0) bytes(0x0) - KernelExecution correlation_id(405) time_ns(3802694210539909:3802694211730191) device_id(0) queue_id(0) CopyDeviceToHost correlation_id(406) time_ns(3802694210517841:3802694213081459) device_id(0) queue_id(0) bytes(0x0) CopyHostToDevice correlation_id(413) time_ns(3802694233937754:3802694235596566) device_id(0) queue_id(0) bytes(0x0) - KernelExecution correlation_id(416) time_ns(3802694235703382:3802694236893665) device_id(0) queue_id(0) CopyDeviceToHost correlation_id(417) time_ns(3802694235680717:3802694238243216) device_id(0) queue_id(0) bytes(0x0) CopyHostToDevice correlation_id(424) time_ns(3802694258730508:3802694260388830) device_id(0) queue_id(0) bytes(0x0) - KernelExecution correlation_id(427) time_ns(3802694260519941:3802694261726669) device_id(0) queue_id(0) CopyDeviceToHost correlation_id(428) time_ns(3802694260495751:3802694263076450) device_id(0) queue_id(0) bytes(0x0) CopyHostToDevice correlation_id(435) time_ns(3802694283586372:3802694285264574) device_id(0) queue_id(0) bytes(0x0) - KernelExecution correlation_id(438) time_ns(3802694285378010:3802694286572588) device_id(0) queue_id(0) CopyDeviceToHost correlation_id(439) time_ns(3802694285355875:3802694287922574) device_id(0) queue_id(0) bytes(0x0) CopyHostToDevice correlation_id(446) time_ns(3802694308835309:3802694310508791) device_id(0) queue_id(0) bytes(0x0) - KernelExecution correlation_id(449) time_ns(3802694310637184:3802694311832948) device_id(0) queue_id(0) CopyDeviceToHost correlation_id(450) time_ns(3802694310614162:3802694313192141) device_id(0) queue_id(0) bytes(0x0) CopyHostToDevice correlation_id(457) time_ns(3802694333660292:3802694335333805) device_id(0) queue_id(0) bytes(0x0) - KernelExecution correlation_id(460) time_ns(3802694335442121:3802694336637737) device_id(0) queue_id(0) CopyDeviceToHost correlation_id(461) time_ns(3802694335419335:3802694337990065) device_id(0) queue_id(0) bytes(0x0) CopyHostToDevice correlation_id(468) time_ns(3802694358486506:3802694360142399) device_id(0) queue_id(0) bytes(0x0) - KernelExecution correlation_id(471) time_ns(3802694360274612:3802694361475413) device_id(0) queue_id(0) PASSED! ptr(0x7f2291400000) - + ptr(0x7f2290e00000) - + # START (14) ############################# Device 0 name: Device 687f PASSED! # START (13) ############################# - - - - + + + + Device 0 name: Device 687f ptr(0x7ffd4c5a7160) size(0x400000) *ptr(0x0x7f2291400000) ptr(0x7ffd4c5a7158) size(0x400000) *ptr(0x0x7f2290e00000) dst(0x7f2291400000) src(0x1cba050) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(1956) tid(1956)"> rocTX <"hipLaunchKernel pid(1956) tid(1956)"> -<__hipPushCallConfiguration id(46) correlation_id(480) on-enter pid(1956) tid(1956)> -<__hipPushCallConfiguration id(46) correlation_id(480) on-exit pid(1956) tid(1956)> -<__hipPopCallConfiguration id(171) correlation_id(481) on-enter pid(1956) tid(1956)> -<__hipPopCallConfiguration id(171) correlation_id(481) on-exit pid(1956) tid(1956)> - - +<__hipPushCallConfiguration id(46) correlation_id(480) on-enter pid(1956) tid(1956)> +<__hipPushCallConfiguration id(46) correlation_id(480) on-exit pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(481) on-enter pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(481) on-exit pid(1956) tid(1956)> + + rocTX <"after hipLaunchKernel pid(1956) tid(1956)"> rocTX <"hipMemcpy pid(1956) tid(1956)"> dst(0x20ba060) src(0x7f2290e00000) size(0x400000) kind(2) - + rocTX <"(null) pid(1956) tid(1956)"> rocTX <"(null) pid(1956) tid(1956)"> PASSED! ptr(0x7f2291400000) - + ptr(0x7f2290e00000) - + # START (12) ############################# Device 0 name: Device 687f PASSED! # START (11) ############################# - - - - + + + + Device 0 name: Device 687f ptr(0x7ffd4c5a7160) size(0x400000) *ptr(0x0x7f2291400000) ptr(0x7ffd4c5a7158) size(0x400000) *ptr(0x0x7f2290e00000) dst(0x7f2291400000) src(0x1cba050) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(1956) tid(1956)"> rocTX <"hipLaunchKernel pid(1956) tid(1956)"> -<__hipPushCallConfiguration id(46) correlation_id(491) on-enter pid(1956) tid(1956)> -<__hipPushCallConfiguration id(46) correlation_id(491) on-exit pid(1956) tid(1956)> -<__hipPopCallConfiguration id(171) correlation_id(492) on-enter pid(1956) tid(1956)> -<__hipPopCallConfiguration id(171) correlation_id(492) on-exit pid(1956) tid(1956)> - - +<__hipPushCallConfiguration id(46) correlation_id(491) on-enter pid(1956) tid(1956)> +<__hipPushCallConfiguration id(46) correlation_id(491) on-exit pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(492) on-enter pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(492) on-exit pid(1956) tid(1956)> + + rocTX <"after hipLaunchKernel pid(1956) tid(1956)"> rocTX <"hipMemcpy pid(1956) tid(1956)"> dst(0x20ba060) src(0x7f2290e00000) size(0x400000) kind(2) - + rocTX <"(null) pid(1956) tid(1956)"> rocTX <"(null) pid(1956) tid(1956)"> PASSED! ptr(0x7f2291400000) - + ptr(0x7f2290e00000) - + # START (10) ############################# Device 0 name: Device 687f PASSED! # START (9) ############################# - - - - + + + + Device 0 name: Device 687f ptr(0x7ffd4c5a7160) size(0x400000) *ptr(0x0x7f2291400000) ptr(0x7ffd4c5a7158) size(0x400000) *ptr(0x0x7f2290e00000) dst(0x7f2291400000) src(0x1cba050) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(1956) tid(1956)"> rocTX <"hipLaunchKernel pid(1956) tid(1956)"> -<__hipPushCallConfiguration id(46) correlation_id(502) on-enter pid(1956) tid(1956)> -<__hipPushCallConfiguration id(46) correlation_id(502) on-exit pid(1956) tid(1956)> -<__hipPopCallConfiguration id(171) correlation_id(503) on-enter pid(1956) tid(1956)> -<__hipPopCallConfiguration id(171) correlation_id(503) on-exit pid(1956) tid(1956)> - - +<__hipPushCallConfiguration id(46) correlation_id(502) on-enter pid(1956) tid(1956)> +<__hipPushCallConfiguration id(46) correlation_id(502) on-exit pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(503) on-enter pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(503) on-exit pid(1956) tid(1956)> + + rocTX <"after hipLaunchKernel pid(1956) tid(1956)"> rocTX <"hipMemcpy pid(1956) tid(1956)"> dst(0x20ba060) src(0x7f2290e00000) size(0x400000) kind(2) - + rocTX <"(null) pid(1956) tid(1956)"> rocTX <"(null) pid(1956) tid(1956)"> PASSED! ptr(0x7f2291400000) - + ptr(0x7f2290e00000) - + # START (8) ############################# Device 0 name: Device 687f PASSED! # START (7) ############################# - - - - + + + + Device 0 name: Device 687f ptr(0x7ffd4c5a7160) size(0x400000) *ptr(0x0x7f2291400000) ptr(0x7ffd4c5a7158) size(0x400000) *ptr(0x0x7f2290e00000) dst(0x7f2291400000) src(0x1cba050) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(1956) tid(1956)"> rocTX <"hipLaunchKernel pid(1956) tid(1956)"> -<__hipPushCallConfiguration id(46) correlation_id(513) on-enter pid(1956) tid(1956)> -<__hipPushCallConfiguration id(46) correlation_id(513) on-exit pid(1956) tid(1956)> -<__hipPopCallConfiguration id(171) correlation_id(514) on-enter pid(1956) tid(1956)> -<__hipPopCallConfiguration id(171) correlation_id(514) on-exit pid(1956) tid(1956)> - - +<__hipPushCallConfiguration id(46) correlation_id(513) on-enter pid(1956) tid(1956)> +<__hipPushCallConfiguration id(46) correlation_id(513) on-exit pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(514) on-enter pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(514) on-exit pid(1956) tid(1956)> + + rocTX <"after hipLaunchKernel pid(1956) tid(1956)"> rocTX <"hipMemcpy pid(1956) tid(1956)"> dst(0x20ba060) src(0x7f2290e00000) size(0x400000) kind(2) - + rocTX <"(null) pid(1956) tid(1956)"> rocTX <"(null) pid(1956) tid(1956)"> PASSED! ptr(0x7f2291400000) - + ptr(0x7f2290e00000) - + # START (6) ############################# Device 0 name: Device 687f PASSED! # START (5) ############################# - - - - + + + + Device 0 name: Device 687f ptr(0x7ffd4c5a7160) size(0x400000) *ptr(0x0x7f2291400000) ptr(0x7ffd4c5a7158) size(0x400000) *ptr(0x0x7f2290e00000) dst(0x7f2291400000) src(0x1cba050) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(1956) tid(1956)"> rocTX <"hipLaunchKernel pid(1956) tid(1956)"> -<__hipPushCallConfiguration id(46) correlation_id(524) on-enter pid(1956) tid(1956)> -<__hipPushCallConfiguration id(46) correlation_id(524) on-exit pid(1956) tid(1956)> -<__hipPopCallConfiguration id(171) correlation_id(525) on-enter pid(1956) tid(1956)> -<__hipPopCallConfiguration id(171) correlation_id(525) on-exit pid(1956) tid(1956)> - - +<__hipPushCallConfiguration id(46) correlation_id(524) on-enter pid(1956) tid(1956)> +<__hipPushCallConfiguration id(46) correlation_id(524) on-exit pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(525) on-enter pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(525) on-exit pid(1956) tid(1956)> + + rocTX <"after hipLaunchKernel pid(1956) tid(1956)"> rocTX <"hipMemcpy pid(1956) tid(1956)"> dst(0x20ba060) src(0x7f2290e00000) size(0x400000) kind(2) - + rocTX <"(null) pid(1956) tid(1956)"> rocTX <"(null) pid(1956) tid(1956)"> PASSED! ptr(0x7f2291400000) - + ptr(0x7f2290e00000) - + # START (4) ############################# Device 0 name: Device 687f PASSED! # START (3) ############################# - - - - + + + + Device 0 name: Device 687f ptr(0x7ffd4c5a7160) size(0x400000) *ptr(0x0x7f2291400000) ptr(0x7ffd4c5a7158) size(0x400000) *ptr(0x0x7f2290e00000) dst(0x7f2291400000) src(0x1cba050) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(1956) tid(1956)"> rocTX <"hipLaunchKernel pid(1956) tid(1956)"> -<__hipPushCallConfiguration id(46) correlation_id(535) on-enter pid(1956) tid(1956)> -<__hipPushCallConfiguration id(46) correlation_id(535) on-exit pid(1956) tid(1956)> -<__hipPopCallConfiguration id(171) correlation_id(536) on-enter pid(1956) tid(1956)> -<__hipPopCallConfiguration id(171) correlation_id(536) on-exit pid(1956) tid(1956)> - - +<__hipPushCallConfiguration id(46) correlation_id(535) on-enter pid(1956) tid(1956)> +<__hipPushCallConfiguration id(46) correlation_id(535) on-exit pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(536) on-enter pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(536) on-exit pid(1956) tid(1956)> + + rocTX <"after hipLaunchKernel pid(1956) tid(1956)"> rocTX <"hipMemcpy pid(1956) tid(1956)"> dst(0x20ba060) src(0x7f2290e00000) size(0x400000) kind(2) - + rocTX <"(null) pid(1956) tid(1956)"> rocTX <"(null) pid(1956) tid(1956)"> PASSED! ptr(0x7f2291400000) - + ptr(0x7f2290e00000) - + # START (2) ############################# Device 0 name: Device 687f PASSED! # START (1) ############################# - - - - + + + + Device 0 name: Device 687f ptr(0x7ffd4c5a7160) size(0x400000) *ptr(0x0x7f2291400000) ptr(0x7ffd4c5a7158) size(0x400000) *ptr(0x0x7f2290e00000) dst(0x7f2291400000) src(0x1cba050) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(1956) tid(1956)"> rocTX <"hipLaunchKernel pid(1956) tid(1956)"> -<__hipPushCallConfiguration id(46) correlation_id(546) on-enter pid(1956) tid(1956)> -<__hipPushCallConfiguration id(46) correlation_id(546) on-exit pid(1956) tid(1956)> -<__hipPopCallConfiguration id(171) correlation_id(547) on-enter pid(1956) tid(1956)> -<__hipPopCallConfiguration id(171) correlation_id(547) on-exit pid(1956) tid(1956)> - - +<__hipPushCallConfiguration id(46) correlation_id(546) on-enter pid(1956) tid(1956)> +<__hipPushCallConfiguration id(46) correlation_id(546) on-exit pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(547) on-enter pid(1956) tid(1956)> +<__hipPopCallConfiguration id(171) correlation_id(547) on-exit pid(1956) tid(1956)> + + rocTX <"after hipLaunchKernel pid(1956) tid(1956)"> rocTX <"hipMemcpy pid(1956) tid(1956)"> dst(0x20ba060) src(0x7f2290e00000) size(0x400000) kind(2) - + rocTX <"(null) pid(1956) tid(1956)"> rocTX <"(null) pid(1956) tid(1956)"> PASSED! ptr(0x7f2291400000) - + ptr(0x7f2290e00000) - + # START (0) ############################# Device 0 name: Device 687f PASSED! Activity records: CopyDeviceToHost correlation_id(472) time_ns(3802694360252549:3802694362823848) device_id(0) queue_id(0) bytes(0x0) CopyHostToDevice correlation_id(479) time_ns(3802694383880734:3802694385507676) device_id(0) queue_id(0) bytes(0x0) - KernelExecution correlation_id(482) time_ns(3802694385620548:3802694386830091) device_id(0) queue_id(0) CopyDeviceToHost correlation_id(483) time_ns(3802694385597477:3802694388162566) device_id(0) queue_id(0) bytes(0x0) CopyHostToDevice correlation_id(490) time_ns(3802694409057291:3802694410674023) device_id(0) queue_id(0) bytes(0x0) - KernelExecution correlation_id(493) time_ns(3802694410771169:3802694411968562) device_id(0) queue_id(0) CopyDeviceToHost correlation_id(494) time_ns(3802694410748213:3802694413291992) device_id(0) queue_id(0) bytes(0x0) CopyHostToDevice correlation_id(501) time_ns(3802694434283138:3802694435891110) device_id(0) queue_id(0) bytes(0x0) - KernelExecution correlation_id(504) time_ns(3802694436006555:3802694437203060) device_id(0) queue_id(0) CopyDeviceToHost correlation_id(505) time_ns(3802694435984110:3802694438540429) device_id(0) queue_id(0) bytes(0x0) CopyHostToDevice correlation_id(512) time_ns(3802694459797587:3802694461410709) device_id(0) queue_id(0) bytes(0x0) - KernelExecution correlation_id(515) time_ns(3802694461515349:3802694462730077) device_id(0) queue_id(0) CopyDeviceToHost correlation_id(516) time_ns(3802694461488809:3802694464062258) device_id(0) queue_id(0) bytes(0x0) CopyHostToDevice correlation_id(523) time_ns(3802694484895972:3802694486515175) device_id(0) queue_id(0) bytes(0x0) - KernelExecution correlation_id(526) time_ns(3802694486608382:3802694487799554) device_id(0) queue_id(0) CopyDeviceToHost correlation_id(527) time_ns(3802694486586295:3802694489139934) device_id(0) queue_id(0) bytes(0x0) CopyHostToDevice correlation_id(534) time_ns(3802694510456642:3802694512069384) device_id(0) queue_id(0) bytes(0x0) - KernelExecution correlation_id(537) time_ns(3802694512167477:3802694513369760) device_id(0) queue_id(0) CopyDeviceToHost correlation_id(538) time_ns(3802694512145114:3802694514705493) device_id(0) queue_id(0) bytes(0x0) CopyHostToDevice correlation_id(545) time_ns(3802694535769459:3802694537388901) device_id(0) queue_id(0) bytes(0x0) - KernelExecution correlation_id(548) time_ns(3802694537483664:3802694538676316) device_id(0) queue_id(0) CopyDeviceToHost correlation_id(549) time_ns(3802694537459972:3802694540017631) device_id(0) queue_id(0) bytes(0x0) # STOP ############################# diff --git a/test/golden_traces/MatrixTranspose_sys_trace.txt b/test/golden_traces/MatrixTranspose_sys_trace.txt index b9f5aa67f4..7bd3f66967 100644 --- a/test/golden_traces/MatrixTranspose_sys_trace.txt +++ b/test/golden_traces/MatrixTranspose_sys_trace.txt @@ -1,5344 +1,7777 @@ -ROCTracer (pid=158125): +0x5932e0 agent cpu +0x52e990 agent cpu +0x568bd0 agent gpu +0x56ce50 agent gpu +0x5712c0 agent gpu +0x575770 agent gpu +6503198498753541 +ROCtracer (35231): rocTX-trace() -0x1f55480 agent cpu -0x1f8d510 agent gpu -0x1f8fe70 agent gpu -337764694360089 - HSA-trace() - HIP-trace() -337764922124942:337764922429262 0:0 CopyHostToDevice:4:158125 -337764923039220:337764923227219 0:0 KernelExecution:8:158125 -337764924266098:337764925464456 0:0 CopyDeviceToHost:10:158125 -337764940790511:337764941094350 0:0 CopyHostToDevice:11:158125 -337764941226070:337764941414550 0:0 KernelExecution:15:158125 -337764941912629:337764942255788 0:0 CopyDeviceToHost:17:158125 -337764952686012:337764952988891 0:0 CopyHostToDevice:18:158125 -337764953087651:337764953273731 0:0 KernelExecution:22:158125 -337764953774690:337764954117049 0:0 CopyDeviceToHost:24:158125 -337764964592232:337764964894472 0:0 CopyHostToDevice:25:158125 -337764965007952:337764965195151 0:0 KernelExecution:29:158125 -337764965696751:337764966040230 0:0 CopyDeviceToHost:31:158125 -337764976879572:337764977182292 0:0 CopyHostToDevice:32:158125 -337764977295612:337764977481211 0:0 KernelExecution:36:158125 -337764977983451:337764978325490 0:0 CopyDeviceToHost:38:158125 -337764988744308:337764989046708 0:0 CopyHostToDevice:39:158125 -337764989163066:337764989349306 0:0 KernelExecution:43:158125 -337764989844025:337764990182545 0:0 CopyDeviceToHost:45:158125 -337765000840129:337765001142369 0:0 CopyHostToDevice:46:158125 -337765001256328:337765001442248 0:0 KernelExecution:50:158125 -337765001946407:337765002288127 0:0 CopyDeviceToHost:52:158125 -337765012772911:337765013074991 0:0 CopyHostToDevice:53:158125 -337765013190871:337765013377430 0:0 KernelExecution:57:158125 -337765013869750:337765014212749 0:0 CopyDeviceToHost:59:158125 -337765024703613:337765025006333 0:0 CopyHostToDevice:60:158125 -337765025117253:337765025303973 0:0 KernelExecution:64:158125 -337765025805732:337765026148251 0:0 CopyDeviceToHost:66:158125 -337765036522156:337765036824715 0:0 CopyHostToDevice:67:158125 -337765036937875:337765037124115 0:0 KernelExecution:71:158125 -337765037612914:337765037957994 0:0 CopyDeviceToHost:73:158125 -337765048380698:337765048683258 0:0 CopyHostToDevice:74:158125 -337765048796578:337765048983777 0:0 KernelExecution:78:158125 -337765049491937:337765049835576 0:0 CopyDeviceToHost:80:158125 -337765060182052:337765060484132 0:0 CopyHostToDevice:81:158125 -337765060604970:337765060791850 0:0 KernelExecution:85:158125 -337765061292009:337765061660449 0:0 CopyDeviceToHost:87:158125 -337765071973393:337765072275632 0:0 CopyHostToDevice:88:158125 -337765072390712:337765072576792 0:0 KernelExecution:92:158125 -337765073076631:337765073418190 0:0 CopyDeviceToHost:94:158125 -337765083770974:337765084073214 0:0 CopyHostToDevice:95:158125 -337765084191014:337765084378213 0:0 KernelExecution:99:158125 -337765084873892:337765085215612 0:0 CopyDeviceToHost:101:158125 -337765095632716:337765095934955 0:0 CopyHostToDevice:102:158125 -337765096054835:337765096240755 0:0 KernelExecution:106:158125 -337765096934354:337765097273513 0:0 CopyDeviceToHost:108:158125 -337765107693977:337765107996056 0:0 CopyHostToDevice:109:158125 -337765108114656:337765108301536 0:0 KernelExecution:113:158125 -337765108798815:337765109141655 0:0 CopyDeviceToHost:115:158125 -337765119777478:337765120080517 0:0 CopyHostToDevice:116:158125 -337765120200237:337765120387597 0:0 KernelExecution:120:158125 -337765120885036:337765121226916 0:0 CopyDeviceToHost:122:158125 -337765131591343:337765131894063 0:0 CopyHostToDevice:123:158125 -337765132008821:337765132194581 0:0 KernelExecution:127:158125 -337765132700980:337765133044940 0:0 CopyDeviceToHost:129:158125 -337765143482205:337765143784604 0:0 CopyHostToDevice:130:158125 -337765143898244:337765144085604 0:0 KernelExecution:134:158125 -337765144580803:337765144920763 0:0 CopyDeviceToHost:136:158125 -337765155418668:337765155720907 0:0 CopyHostToDevice:137:158125 -337765155832147:337765156019187 0:0 KernelExecution:141:158125 -337765156516626:337765156859626 0:0 CopyDeviceToHost:143:158125 -337765167314650:337765167616890 0:0 CopyHostToDevice:144:158125 -337765167729410:337765167915970 0:0 KernelExecution:148:158125 -337765168419009:337765168762968 0:0 CopyDeviceToHost:150:158125 -337765179117993:337765179420073 0:0 CopyHostToDevice:151:158125 -337765179532273:337765179719633 0:0 KernelExecution:155:158125 -337765180211152:337765180552711 0:0 CopyDeviceToHost:157:158125 -337765190940376:337765191242456 0:0 CopyHostToDevice:158:158125 -337765191352416:337765191538816 0:0 KernelExecution:162:158125 -337765192035935:337765192379094 0:0 CopyDeviceToHost:164:158125 -337765202823795:337765203125875 0:0 CopyHostToDevice:165:158125 -337765203239673:337765203426713 0:0 KernelExecution:169:158125 -337765203925272:337765204267472 0:0 CopyDeviceToHost:171:158125 -337765214658818:337765214961697 0:0 CopyHostToDevice:172:158125 -337765215073257:337765215259177 0:0 KernelExecution:176:158125 -337765215764296:337765216107776 0:0 CopyDeviceToHost:178:158125 -337765226579121:337765226881841 0:0 CopyHostToDevice:179:158125 -337765226991641:337765227179481 0:0 KernelExecution:183:158125 -337765227673720:337765228017039 0:0 CopyDeviceToHost:185:158125 -337765238476705:337765238779265 0:0 CopyHostToDevice:186:158125 -337765238888904:337765239074824 0:0 KernelExecution:190:158125 -337765239573704:337765239917343 0:0 CopyDeviceToHost:192:158125 -337765250411409:337765250713808 0:0 CopyHostToDevice:193:158125 -337765250824568:337765251011608 0:0 KernelExecution:197:158125 -337765251504407:337765251844047 0:0 CopyDeviceToHost:199:158125 -337765262209472:337765262511712 0:0 CopyHostToDevice:200:158125 -337765262624072:337765262810632 0:0 KernelExecution:204:158125 -337765263306791:337765263662270 0:0 CopyDeviceToHost:206:158125 -337765274064985:337765274367385 0:0 CopyHostToDevice:207:158125 -337765274486623:337765274673023 0:0 KernelExecution:211:158125 -337765275169983:337765275511382 0:0 CopyDeviceToHost:213:158125 -337765285887849:337765286189929 0:0 CopyHostToDevice:214:158125 -337765286303089:337765286489009 0:0 KernelExecution:218:158125 -337765286991568:337765287333608 0:0 CopyDeviceToHost:220:158125 -337765297788955:337765298090874 0:0 CopyHostToDevice:221:158125 -337765298203874:337765298390434 0:0 KernelExecution:225:158125 -337765298889473:337765299227993 0:0 CopyDeviceToHost:227:158125 -337765309631020:337765309933420 0:0 CopyHostToDevice:228:158125 -337765310045780:337765310232340 0:0 KernelExecution:232:158125 -337765310729779:337765311072778 0:0 CopyDeviceToHost:234:158125 -337765321532766:337765321835485 0:0 CopyHostToDevice:235:158125 -337765321947845:337765322134565 0:0 KernelExecution:239:158125 -337765322623684:337765322966844 0:0 CopyDeviceToHost:241:158125 -337765333416431:337765333718991 0:0 CopyHostToDevice:242:158125 -337765333828791:337765334016310 0:0 KernelExecution:246:158125 -337765334510870:337765334854189 0:0 CopyDeviceToHost:248:158125 -337765345344306:337765345646386 0:0 CopyHostToDevice:249:158125 -337765345761304:337765345947064 0:0 KernelExecution:253:158125 -337765346448824:337765346792143 0:0 CopyDeviceToHost:255:158125 -337765357157571:337765357459651 0:0 CopyHostToDevice:256:158125 -337765357571690:337765357758410 0:0 KernelExecution:260:158125 -337765358274250:337765358616609 0:0 CopyDeviceToHost:262:158125 -337765368998357:337765369300116 0:0 CopyHostToDevice:263:158125 -337765369417596:337765369604636 0:0 KernelExecution:267:158125 -337765370088476:337765370429715 0:0 CopyDeviceToHost:269:158125 -337765380864263:337765381166502 0:0 CopyHostToDevice:270:158125 -337765381279342:337765381465102 0:0 KernelExecution:274:158125 -337765381964141:337765382305701 0:0 CopyDeviceToHost:276:158125 -337765392720409:337765393022488 0:0 CopyHostToDevice:277:158125 -337765393132128:337765393319008 0:0 KernelExecution:281:158125 -337765393818847:337765394161207 0:0 CopyDeviceToHost:283:158125 -337765404632234:337765404935114 0:0 CopyHostToDevice:284:158125 -337765405048754:337765405234514 0:0 KernelExecution:288:158125 -337765405731953:337765406071753 0:0 CopyDeviceToHost:290:158125 -337765416579434:337765416882314 0:0 CopyHostToDevice:291:158125 -337765416998032:337765417184912 0:0 KernelExecution:295:158125 -337765417682192:337765418025991 0:0 CopyDeviceToHost:297:158125 -337765428540699:337765428843418 0:0 CopyHostToDevice:298:158125 -337765428958338:337765429145378 0:0 KernelExecution:302:158125 -337765429633538:337765429977017 0:0 CopyDeviceToHost:304:158125 -337765440880684:337765441182924 0:0 CopyHostToDevice:305:158125 -337765441296244:337765441483604 0:0 KernelExecution:309:158125 -337765441989683:337765442331403 0:0 CopyDeviceToHost:311:158125 -337765452781310:337765453083550 0:0 CopyHostToDevice:312:158125 -337765453196390:337765453383110 0:0 KernelExecution:316:158125 -337765453873509:337765454212029 0:0 CopyDeviceToHost:318:158125 -337765464882256:337765465184656 0:0 CopyHostToDevice:319:158125 -337765465298935:337765465484855 0:0 KernelExecution:323:158125 -337765465980695:337765466322574 0:0 CopyDeviceToHost:325:158125 -337765476737922:337765477040162 0:0 CopyHostToDevice:326:158125 -337765477153001:337765477338441 0:0 KernelExecution:330:158125 -337765477840681:337765478181760 0:0 CopyDeviceToHost:332:158125 -337765488643395:337765488945635 0:0 CopyHostToDevice:333:158125 -337765489060713:337765489248073 0:0 KernelExecution:337:158125 -337765489740873:337765490085152 0:0 CopyDeviceToHost:339:158125 -337765500527220:337765500829780 0:0 CopyHostToDevice:340:158125 -337765500942620:337765501129180 0:0 KernelExecution:344:158125 -337765501627259:337765501970739 0:0 CopyDeviceToHost:346:158125 -337765512417767:337765512720166 0:0 CopyHostToDevice:347:158125 -337765512830446:337765513017646 0:0 KernelExecution:351:158125 -337765513512525:337765513855685 0:0 CopyDeviceToHost:353:158125 -337765524183673:337765524486553 0:0 CopyHostToDevice:354:158125 -337765524602913:337765524788832 0:0 KernelExecution:358:158125 -337765525296352:337765525665271 0:0 CopyDeviceToHost:360:158125 -337765536107180:337765536409579 0:0 CopyHostToDevice:361:158125 -337765536527059:337765536712979 0:0 KernelExecution:365:158125 -337765537208498:337765537552778 0:0 CopyDeviceToHost:367:158125 -337765547920286:337765548222526 0:0 CopyHostToDevice:368:158125 -337765548336966:337765548523525 0:0 KernelExecution:372:158125 -337765549020645:337765549362684 0:0 CopyDeviceToHost:374:158125 -337765559759444:337765560061844 0:0 CopyHostToDevice:375:158125 -337765560178042:337765560366362 0:0 KernelExecution:379:158125 -337765560865562:337765561203441 0:0 CopyDeviceToHost:381:158125 -337765571635269:337765571937509 0:0 CopyHostToDevice:382:158125 -337765572058669:337765572244428 0:0 KernelExecution:386:158125 -337765572750508:337765573093347 0:0 CopyDeviceToHost:388:158125 -337765583592375:337765583894935 0:0 CopyHostToDevice:389:158125 -337765584008575:337765584194654 0:0 KernelExecution:393:158125 -337765584696894:337765585040693 0:0 CopyDeviceToHost:395:158125 -337765595467081:337765595769481 0:0 CopyHostToDevice:396:158125 -337765595879281:337765596066961 0:0 KernelExecution:400:158125 -337765596564400:337765596907880 0:0 CopyDeviceToHost:402:158125 -337765607630427:337765607933307 0:0 CopyHostToDevice:403:158125 -337765608059107:337765608244866 0:0 KernelExecution:407:158125 -337765608742786:337765609087225 0:0 CopyDeviceToHost:409:158125 -337765619536173:337765619839213 0:0 CopyHostToDevice:410:158125 -337765619948373:337765620135733 0:0 KernelExecution:414:158125 -337765620648052:337765620991532 0:0 CopyDeviceToHost:416:158125 -337765631476146:337765631778386 0:0 CopyHostToDevice:417:158125 -337765631892824:337765632079064 0:0 KernelExecution:421:158125 -337765632566744:337765632909903 0:0 CopyDeviceToHost:423:158125 -337765643377572:337765643679652 0:0 CopyHostToDevice:424:158125 -337765643791372:337765643978092 0:0 KernelExecution:428:158125 -337765644477451:337765644820611 0:0 CopyDeviceToHost:430:158125 -337765655175000:337765655477399 0:0 CopyHostToDevice:431:158125 -337765655588639:337765655777599 0:0 KernelExecution:435:158125 -337765656276158:337765656618678 0:0 CopyDeviceToHost:437:158125 -337765667030347:337765667332907 0:0 CopyHostToDevice:438:158125 -337765667444946:337765667631346 0:0 KernelExecution:442:158125 -337765668124466:337765668465705 0:0 CopyDeviceToHost:444:158125 -337765678837694:337765679139934 0:0 CopyHostToDevice:445:158125 -337765679253094:337765679439334 0:0 KernelExecution:449:158125 -337765679929573:337765680272253 0:0 CopyDeviceToHost:451:158125 -337765690659762:337765690962321 0:0 CopyHostToDevice:452:158125 -337765691072921:337765691260281 0:0 KernelExecution:456:158125 -337765691756440:337765692099600 0:0 CopyDeviceToHost:458:158125 -337765702578843:337765702881083 0:0 CopyHostToDevice:459:158125 -337765702994721:337765703183041 0:0 KernelExecution:463:158125 -337765703677121:337765704020120 0:0 CopyDeviceToHost:465:158125 -337765714465710:337765714768269 0:0 CopyHostToDevice:466:158125 -337765714877749:337765715065109 0:0 KernelExecution:470:158125 -337765715563188:337765715903628 0:0 CopyDeviceToHost:472:158125 -337765726366817:337765726669217 0:0 CopyHostToDevice:473:158125 -337765726780937:337765726967337 0:0 KernelExecution:477:158125 -337765727465896:337765727809056 0:0 CopyDeviceToHost:479:158125 -337765738183605:337765738485685 0:0 CopyHostToDevice:480:158125 -337765738598845:337765738785404 0:0 KernelExecution:484:158125 -337765739283004:337765739625523 0:0 CopyDeviceToHost:486:158125 -337765750108233:337765750410632 0:0 CopyHostToDevice:487:158125 -337765750521552:337765750707952 0:0 KernelExecution:491:158125 -337765751206031:337765751551751 0:0 CopyDeviceToHost:493:158125 -337765761956860:337765762258940 0:0 CopyHostToDevice:494:158125 -337765762370500:337765762557860 0:0 KernelExecution:498:158125 -337765763057699:337765763400699 0:0 CopyDeviceToHost:500:158125 -337765773768224:337765774070144 0:0 CopyHostToDevice:501:158125 -337765774186502:337765774371142 0:0 KernelExecution:505:158125 -337765774877062:337765775219421 0:0 CopyDeviceToHost:507:158125 -337765785645171:337765785947730 0:0 CopyHostToDevice:508:158125 -337765786060570:337765786246970 0:0 KernelExecution:512:158125 -337765786747930:337765787090769 0:0 CopyDeviceToHost:514:158125 -337765797579878:337765797882438 0:0 CopyHostToDevice:515:158125 -337765797994158:337765798180398 0:0 KernelExecution:519:158125 -337765798677677:337765799021637 0:0 CopyDeviceToHost:521:158125 -337765809489146:337765809791706 0:0 CopyHostToDevice:522:158125 -337765809903746:337765810091906 0:0 KernelExecution:526:158125 -337765810591265:337765810934585 0:0 CopyDeviceToHost:528:158125 -337765821370574:337765821673134 0:0 CopyHostToDevice:529:158125 -337765821784694:337765821971253 0:0 KernelExecution:533:158125 -337765822473973:337765822816492 0:0 CopyDeviceToHost:535:158125 -337765833308322:337765833610561 0:0 CopyHostToDevice:536:158125 -337765833723881:337765833909321 0:0 KernelExecution:540:158125 -337765834413161:337765834772000 0:0 CopyDeviceToHost:542:158125 -337765845149257:337765845451337 0:0 CopyHostToDevice:543:158125 -337765845566255:337765845753455 0:0 KernelExecution:547:158125 -337765846240815:337765846582694 0:0 CopyDeviceToHost:549:158125 -337765856967164:337765857269403 0:0 CopyHostToDevice:550:158125 -337765857376163:337765857563043 0:0 KernelExecution:554:158125 -337765858073442:337765858415162 0:0 CopyDeviceToHost:556:158125 -337765868778671:337765869081071 0:0 CopyHostToDevice:557:158125 -337765869194871:337765869382711 0:0 KernelExecution:561:158125 -337765869875830:337765870214990 0:0 CopyDeviceToHost:563:158125 -337765880646179:337765880948739 0:0 CopyHostToDevice:564:158125 -337765881057099:337765881244298 0:0 KernelExecution:568:158125 -337765881745738:337765882089378 0:0 CopyDeviceToHost:570:158125 -337765892529207:337765892831926 0:0 CopyHostToDevice:571:158125 -337765892943806:337765893130846 0:0 KernelExecution:575:158125 -337765893617566:337765893960725 0:0 CopyDeviceToHost:577:158125 -337765904385995:337765904688234 0:0 CopyHostToDevice:578:158125 -337765904800914:337765904987314 0:0 KernelExecution:582:158125 -337765905983313:337765906325993 0:0 CopyDeviceToHost:584:158125 -337765916766487:337765917069047 0:0 CopyHostToDevice:585:158125 -337765917185405:337765917372125 0:0 KernelExecution:589:158125 -337765917872765:337765918216404 0:0 CopyDeviceToHost:591:158125 -337765928858314:337765929160713 0:0 CopyHostToDevice:592:158125 -337765929274673:337765929460753 0:0 KernelExecution:596:158125 -337765929963952:337765930306152 0:0 CopyDeviceToHost:598:158125 -337765940708541:337765941010621 0:0 CopyHostToDevice:599:158125 -337765941123621:337765941310661 0:0 KernelExecution:603:158125 -337765941811780:337765942154140 0:0 CopyDeviceToHost:605:158125 -337765952642609:337765952944849 0:0 CopyHostToDevice:606:158125 -337765953055769:337765953242489 0:0 KernelExecution:610:158125 -337765953742008:337765954085168 0:0 CopyDeviceToHost:612:158125 -337765964536677:337765964838917 0:0 CopyHostToDevice:613:158125 -337765964950957:337765965138156 0:0 KernelExecution:617:158125 -337765965629516:337765965973316 0:0 CopyDeviceToHost:619:158125 -337765976368345:337765976670745 0:0 CopyHostToDevice:620:158125 -337765976783585:337765976970784 0:0 KernelExecution:624:158125 -337765977471424:337765977815383 0:0 CopyDeviceToHost:626:158125 -337765988184465:337765988487345 0:0 CopyHostToDevice:627:158125 -337765988607543:337765988792983 0:0 KernelExecution:631:158125 -337765989283703:337765989627182 0:0 CopyDeviceToHost:633:158125 -337766000105892:337766000408292 0:0 CopyHostToDevice:634:158125 -337766000520812:337766000707852 0:0 KernelExecution:638:158125 -337766001205611:337766001552131 0:0 CopyDeviceToHost:640:158125 -337766012004921:337766012307481 0:0 CopyHostToDevice:641:158125 -337766012421601:337766012608161 0:0 KernelExecution:645:158125 -337766013103840:337766013445400 0:0 CopyDeviceToHost:647:158125 -337766023836910:337766024138830 0:0 CopyHostToDevice:648:158125 -337766024254070:337766024439669 0:0 KernelExecution:652:158125 -337766024942069:337766025280269 0:0 CopyDeviceToHost:654:158125 -337766035695939:337766035998018 0:0 CopyHostToDevice:655:158125 -337766036587978:337766036775338 0:0 KernelExecution:659:158125 -337766037278537:337766037622337 0:0 CopyDeviceToHost:661:158125 -337766047998807:337766048301047 0:0 CopyHostToDevice:662:158125 -337766048418046:337766048604286 0:0 KernelExecution:666:158125 -337766049095646:337766049437526 0:0 CopyDeviceToHost:668:158125 -337766060062474:337766060364554 0:0 CopyHostToDevice:669:158125 -337766060484432:337766060670352 0:0 KernelExecution:673:158125 -337766061173712:337766061516071 0:0 CopyDeviceToHost:675:158125 -337766071885182:337766072187741 0:0 CopyHostToDevice:676:158125 -337766072305221:337766072491301 0:0 KernelExecution:680:158125 -337766072985381:337766073328700 0:0 CopyDeviceToHost:682:158125 -337766083761170:337766084063890 0:0 CopyHostToDevice:683:158125 -337766084178490:337766084365370 0:0 KernelExecution:687:158125 -337766084861049:337766085202929 0:0 CopyDeviceToHost:689:158125 -337766095636839:337766095939559 0:0 CopyHostToDevice:690:158125 -337766096055919:337766096243278 0:0 KernelExecution:694:158125 -337766096742958:337766097086118 0:0 CopyDeviceToHost:696:158125 -337766107545468:337766107847707 0:0 CopyHostToDevice:697:158125 -337766107957827:337766108144227 0:0 KernelExecution:701:158125 -337766108641827:337766108985306 0:0 CopyDeviceToHost:703:158125 -337764694905998:337764694908443 158125:158125 hsa_system_get_major_extension_table(513, 1, 24, 0x7f95cc1ee080) = 0 -337764694920045:337764694920346 158125:158125 hsa_agent_get_info({handle=32855168}, 17, 0x7ffea16f335c) = 0 -337764694928040:337764694929252 158125:158125 hsa_amd_memory_pool_get_info({handle=32856064}, 0, 0x7ffea16f31d0) = 0 -337764694929954:337764694930204 158125:158125 hsa_amd_memory_pool_get_info({handle=32856064}, 1, 0x7ffea16f31d4) = 0 -337764694930825:337764694931146 158125:158125 hsa_amd_memory_pool_get_info({handle=32856368}, 0, 0x7ffea16f31d0) = 0 -337764694931727:337764694931967 158125:158125 hsa_amd_memory_pool_get_info({handle=32856368}, 1, 0x7ffea16f31d4) = 0 -337764694932569:337764694932899 158125:158125 hsa_amd_memory_pool_get_info({handle=32849952}, 0, 0x7ffea16f31d0) = 0 -337764694933470:337764694933711 158125:158125 hsa_amd_memory_pool_get_info({handle=32849952}, 1, 0x7ffea16f31d4) = 0 -337764694933470:337764694934282 158125:158125 hsa_amd_agent_iterate_memory_pools({handle=32855168}, 1, 0x7ffea16f3360) = 0 -337764694935534:337764694935825 158125:158125 hsa_agent_get_info({handle=33084688}, 17, 0x7ffea16f335c) = 0 -337764694936526:337764694936767 158125:158125 hsa_agent_get_info({handle=33095280}, 17, 0x7ffea16f335c) = 0 -337764694936526:337764694938820 158125:158125 hsa_iterate_agents(1, 0) = 0 -337764694943880:337764694945733 158125:158125 hsa_agent_get_info({handle=33084688}, 0, 0x7ffea16f3460) = 0 -337764694946345:337764694946695 158125:158125 hsa_agent_get_info({handle=33084688}, 40960, 0x20021e8) = 0 -337764694948398:337764694949130 158125:158125 hsa_agent_iterate_isas({handle=33084688}, 1, 0x7ffea16f3390) = 0 -337764694951274:337764694968857 158125:158125 hsa_isa_get_info_alt({handle=32193432}, 0, 0x7ffea16f3378) = 0 -337764694969859:337764694972233 158125:158125 hsa_isa_get_info_alt({handle=32193432}, 1, 0x1ff3420) = 0 -337764694977163:337764694977513 158125:158125 hsa_agent_get_info({handle=33084688}, 4, 0x20021f8) = 0 -337764694978024:337764694978365 158125:158125 hsa_agent_get_info({handle=33084688}, 40976, 0x7ffea16f337c) = 0 -337764699337717:337764699339170 158125:158125 hsa_agent_get_info({handle=33084688}, 40966, 0x7ffea16f3380) = 0 -337764699342176:337764699342446 158125:158125 hsa_agent_get_info({handle=33084688}, 40975, 0x7ffea16f3384) = 0 -337764699343158:337764699343408 158125:158125 hsa_agent_get_info({handle=33084688}, 40974, 0x7ffea16f33a0) = 0 -337764699344300:337764699344590 158125:158125 hsa_agent_get_info({handle=33084688}, 40969, 0x7ffea16f3250) = 0 -337764699345131:337764699365109 158125:158125 hsa_agent_get_info({handle=33084688}, 40977, 0x7ffea16f3230) = 0 -337764699365720:337764699366001 158125:158125 hsa_agent_get_info({handle=33084688}, 40980, 0x2001c14) = 0 -337764699366572:337764699366812 158125:158125 hsa_agent_get_info({handle=33084688}, 40962, 0x2001c18) = 0 -337764699367303:337764699368425 158125:158125 hsa_agent_get_info({handle=33084688}, 40961, 0x2001d24) = 0 -337764699368926:337764699369287 158125:158125 hsa_agent_get_info({handle=33084688}, 18, 0x7ffea16f3050) = 0 -337764699378144:337764699378434 158125:158125 hsa_agent_get_info({handle=33084688}, 40963, 0x2001c88) = 0 -337764699380117:337764699380388 158125:158125 hsa_agent_get_info({handle=33084688}, 40968, 0x2001c8c) = 0 -337764699380879:337764699381139 158125:158125 hsa_agent_get_info({handle=33084688}, 40967, 0x2001f60) = 0 -337764699384235:337764699385027 158125:158125 hsa_amd_agent_memory_pool_get_info({handle=33084688}, {handle=32856064}, 1, 0x7ffea16f2f44) = 0 -337764699385648:337764699385918 158125:158125 hsa_amd_agent_memory_pool_get_info({handle=33084688}, {handle=32856064}, 2, 0x20324e0) = 0 -337764699387621:337764699388453 158125:158125 hsa_amd_memory_pool_get_info({handle=33086496}, 0, 0x7ffea16f2e8c) = 0 -337764699388974:337764699389224 158125:158125 hsa_amd_memory_pool_get_info({handle=33086496}, 1, 0x7ffea16f2e90) = 0 -337764699389725:337764699390076 158125:158125 hsa_amd_agent_memory_pool_get_info({handle=32855168}, {handle=33086496}, 0, 0x7ffea16f2e94) = 0 -337764699390677:337764699390938 158125:158125 hsa_amd_memory_pool_get_info({handle=33087456}, 0, 0x7ffea16f2e8c) = 0 -337764699390677:337764699391519 158125:158125 hsa_amd_agent_iterate_memory_pools({handle=33084688}, 1, 0x2001bc0) = 0 -337764699392020:337764699392290 158125:158125 hsa_amd_agent_memory_pool_get_info({handle=33095280}, {handle=33086496}, 0, 0x7ffea16f3038) = 0 -337764699392821:337764699393082 158125:158125 hsa_amd_memory_pool_get_info({handle=33087456}, 2, 0x7ffea16f3038) = 0 -337764699393683:337764699393933 158125:158125 hsa_amd_memory_pool_get_info({handle=33086496}, 2, 0x7ffea16f3040) = 0 -337764699394424:337764699394675 158125:158125 hsa_amd_memory_pool_get_info({handle=33086496}, 6, 0x2002240) = 0 -337764699402089:337764699402359 158125:158125 hsa_agent_get_info({handle=33084688}, 8, 0x7ffea16f3030) = 0 -337764699402870:337764699403131 158125:158125 hsa_agent_get_info({handle=33084688}, 7, 0x7ffea16f304a) = 0 -337764699403892:337764699404173 158125:158125 hsa_agent_get_info({handle=33084688}, 21, 0x7ffea16f302c) = 0 -337764699404664:337764699404914 158125:158125 hsa_agent_get_info({handle=33084688}, 22, 0x7ffea16f302e) = 0 -337764699411557:337764699530160 158125:158125 hsa_agent_get_info({handle=33084688}, 20, 0x7ffea16f3290) = 0 -337764699531383:337764699531693 158125:158125 hsa_agent_get_info({handle=33084688}, 12299, 0x2001cf8) = 0 -337764699532194:337764699532465 158125:158125 hsa_agent_get_info({handle=33084688}, 12297, 0x2001ca0) = 0 -337764699532966:337764699533216 158125:158125 hsa_agent_get_info({handle=33084688}, 12298, 0x2001ca8) = 0 -337764699537554:337764699538626 158125:158125 hsa_amd_agent_iterate_memory_pools({handle=32855168}, 1, 0x1ff2e90) = 1 -337764699537554:337764699602296 158125:158125 hsa_agent_get_info({handle=33084688}, 12291, 0x7ffea16f3080) = 0 -337764699602978:337764699603348 158125:158125 hsa_agent_get_info({handle=33084688}, 12295, 0x7ffea16f3080) = 0 -337764699603849:337764699604180 158125:158125 hsa_agent_get_info({handle=33084688}, 12296, 0x7ffea16f3034) = 0 -337764699604681:337764699604991 158125:158125 hsa_agent_get_info({handle=33084688}, 12288, 0x7ffea16f3040) = 0 -337764699605492:337764699605793 158125:158125 hsa_agent_get_info({handle=33084688}, 12290, 0x7ffea16f3080) = 0 -337764699606434:337764699606715 158125:158125 hsa_agent_get_info({handle=33084688}, 6, 0x2001f50) = 0 -337764699608047:337764699608318 158125:158125 hsa_agent_get_info({handle=33084688}, 40967, 0x2001c90) = 0 -337764699608829:337764699609099 158125:158125 hsa_agent_get_info({handle=33084688}, 40971, 0x2001f40) = 0 -337764699609590:337764699609851 158125:158125 hsa_agent_get_info({handle=33084688}, 40970, 0x7ffea16f3034) = 0 -337764699610352:337764699610842 158125:158125 hsa_agent_get_info({handle=33084688}, 18, 0x7ffea16f3080) = 0 -337764699611343:337764699611604 158125:158125 hsa_agent_get_info({handle=33084688}, 40978, 0x7ffea16f3040) = 0 -337764699649215:337764699649535 158125:158125 hsa_system_get_info(513, 0x20020cc) = 0 -337764699650107:337764699650437 158125:158125 hsa_system_get_info(514, 0x20020d0) = 0 -337764699650948:337764699651239 158125:158125 hsa_agent_get_info({handle=33084688}, 40979, 0x20020d4) = 0 -337764699656699:337764699830617 158125:158125 hsa_amd_memory_pool_allocate({handle=32849952}, 1052672, 0, 0x7ffea16f3270) = 0 -337764699832621:337764701137191 158125:158125 hsa_amd_agents_allow_access(2, 0x1ffcea0, 0, 0x7f95c9700000) = 0 -337764701139476:337764701287625 158125:158125 hsa_amd_memory_pool_allocate({handle=32849952}, 1052672, 0, 0x7ffea16f3270) = 0 -337764701288467:337764701658535 158125:158125 hsa_amd_agents_allow_access(2, 0x1ffcea0, 0, 0x7f95c9500000) = 0 -337764701660599:337764701664857 158125:158125 hsa_signal_create(1, 0, 0, 0x2002230) = 0 -337764701667722:337764701668353 158125:158125 hsa_agent_get_info({handle=33095280}, 0, 0x7ffea16f3460) = 0 -337764701668914:337764701669185 158125:158125 hsa_agent_get_info({handle=33095280}, 40960, 0x2044178) = 0 -337764701669856:337764701670357 158125:158125 hsa_agent_iterate_isas({handle=33095280}, 1, 0x7ffea16f3390) = 0 -337764701671028:337764701681638 158125:158125 hsa_isa_get_info_alt({handle=32193432}, 0, 0x7ffea16f3378) = 0 -337764701682360:337764701684544 158125:158125 hsa_isa_get_info_alt({handle=32193432}, 1, 0x1ff3420) = 0 -337764701685776:337764701686047 158125:158125 hsa_agent_get_info({handle=33095280}, 4, 0x2044188) = 0 -337764701686548:337764701686808 158125:158125 hsa_agent_get_info({handle=33095280}, 40976, 0x7ffea16f337c) = 0 -337764701688712:337764701688992 158125:158125 hsa_agent_get_info({handle=33095280}, 40966, 0x7ffea16f3380) = 0 -337764701689493:337764701689744 158125:158125 hsa_agent_get_info({handle=33095280}, 40975, 0x7ffea16f3384) = 0 -337764701690235:337764701690485 158125:158125 hsa_agent_get_info({handle=33095280}, 40974, 0x7ffea16f33a0) = 0 -337764701691016:337764701691317 158125:158125 hsa_agent_get_info({handle=33095280}, 40969, 0x7ffea16f3250) = 0 -337764701691858:337764701694442 158125:158125 hsa_agent_get_info({handle=33095280}, 40977, 0x7ffea16f3230) = 0 -337764701695044:337764701695314 158125:158125 hsa_agent_get_info({handle=33095280}, 40980, 0x2043ba4) = 0 -337764701695795:337764701696045 158125:158125 hsa_agent_get_info({handle=33095280}, 40962, 0x2043ba8) = 0 -337764701696536:337764701697659 158125:158125 hsa_agent_get_info({handle=33095280}, 40961, 0x2043cb4) = 0 -337764701698139:337764701698490 158125:158125 hsa_agent_get_info({handle=33095280}, 18, 0x7ffea16f3050) = 0 -337764701701285:337764701701576 158125:158125 hsa_agent_get_info({handle=33095280}, 40963, 0x2043c18) = 0 -337764701702087:337764701702337 158125:158125 hsa_agent_get_info({handle=33095280}, 40968, 0x2043c1c) = 0 -337764701702808:337764701703069 158125:158125 hsa_agent_get_info({handle=33095280}, 40967, 0x2043ef0) = 0 -337764701703730:337764701704091 158125:158125 hsa_amd_agent_memory_pool_get_info({handle=33095280}, {handle=32856064}, 1, 0x7ffea16f2f44) = 0 -337764701704612:337764701704872 158125:158125 hsa_amd_agent_memory_pool_get_info({handle=33095280}, {handle=32856064}, 2, 0x2043730) = 0 -337764701706104:337764701706545 158125:158125 hsa_amd_memory_pool_get_info({handle=33097008}, 0, 0x7ffea16f2e8c) = 0 -337764701707036:337764701707297 158125:158125 hsa_amd_memory_pool_get_info({handle=33097008}, 1, 0x7ffea16f2e90) = 0 -337764701707778:337764701708048 158125:158125 hsa_amd_agent_memory_pool_get_info({handle=32855168}, {handle=33097008}, 0, 0x7ffea16f2e94) = 0 -337764701708659:337764701708990 158125:158125 hsa_amd_memory_pool_get_info({handle=33373920}, 0, 0x7ffea16f2e8c) = 0 -337764701708659:337764701709551 158125:158125 hsa_amd_agent_iterate_memory_pools({handle=33095280}, 1, 0x2043b50) = 0 -337764701710052:337764701710312 158125:158125 hsa_amd_agent_memory_pool_get_info({handle=33084688}, {handle=33097008}, 0, 0x7ffea16f3038) = 0 -337764701710843:337764701711104 158125:158125 hsa_amd_memory_pool_get_info({handle=33373920}, 2, 0x7ffea16f3038) = 0 -337764701711595:337764701711835 158125:158125 hsa_amd_memory_pool_get_info({handle=33097008}, 2, 0x7ffea16f3040) = 0 -337764701712316:337764701712567 158125:158125 hsa_amd_memory_pool_get_info({handle=33097008}, 6, 0x20441d0) = 0 -337764701713759:337764701714019 158125:158125 hsa_agent_get_info({handle=33095280}, 8, 0x7ffea16f3030) = 0 -337764701714500:337764701714761 158125:158125 hsa_agent_get_info({handle=33095280}, 7, 0x7ffea16f304a) = 0 -337764701715312:337764701715582 158125:158125 hsa_agent_get_info({handle=33095280}, 21, 0x7ffea16f302c) = 0 -337764701716073:337764701716324 158125:158125 hsa_agent_get_info({handle=33095280}, 22, 0x7ffea16f302e) = 0 -337764701717776:337764701780745 158125:158125 hsa_agent_get_info({handle=33095280}, 20, 0x7ffea16f3290) = 0 -337764701781817:337764701782128 158125:158125 hsa_agent_get_info({handle=33095280}, 12299, 0x2043c88) = 0 -337764701782609:337764701782879 158125:158125 hsa_agent_get_info({handle=33095280}, 12297, 0x2043c30) = 0 -337764701783360:337764701783611 158125:158125 hsa_agent_get_info({handle=33095280}, 12298, 0x2043c38) = 0 -337764701784102:337764701784723 158125:158125 hsa_agent_get_info({handle=33095280}, 12291, 0x7ffea16f3080) = 0 -337764701785234:337764701785554 158125:158125 hsa_agent_get_info({handle=33095280}, 12295, 0x7ffea16f3080) = 0 -337764701786055:337764701786386 158125:158125 hsa_agent_get_info({handle=33095280}, 12296, 0x7ffea16f3034) = 0 -337764701786977:337764701787288 158125:158125 hsa_agent_get_info({handle=33095280}, 12288, 0x7ffea16f3040) = 0 -337764701787799:337764701788089 158125:158125 hsa_agent_get_info({handle=33095280}, 12290, 0x7ffea16f3080) = 0 -337764701788630:337764701788901 158125:158125 hsa_agent_get_info({handle=33095280}, 6, 0x2043ee0) = 0 -337764701790253:337764701790524 158125:158125 hsa_agent_get_info({handle=33095280}, 40967, 0x2043c20) = 0 -337764701791015:337764701791285 158125:158125 hsa_agent_get_info({handle=33095280}, 40971, 0x2043ed0) = 0 -337764701791776:337764701792047 158125:158125 hsa_agent_get_info({handle=33095280}, 40970, 0x7ffea16f3034) = 0 -337764701792537:337764701792998 158125:158125 hsa_agent_get_info({handle=33095280}, 18, 0x7ffea16f3080) = 0 -337764701793489:337764701793750 158125:158125 hsa_agent_get_info({handle=33095280}, 40978, 0x7ffea16f3040) = 0 -337764701804089:337764701804390 158125:158125 hsa_system_get_info(513, 0x204405c) = 0 -337764701804921:337764701805241 158125:158125 hsa_system_get_info(514, 0x2044060) = 0 -337764701805732:337764701806023 158125:158125 hsa_agent_get_info({handle=33095280}, 40979, 0x2044064) = 0 -337764701815671:337764701827664 158125:158125 hsa_amd_memory_pool_allocate({handle=32856064}, 80, 0, 0x7ffea16f30e0) = 0 -337764701828375:337764702354067 158125:158125 hsa_amd_agents_allow_access(2, 0x1ffcea0, 0, 0x7f95cc3f6000) = 0 -337764702356281:337764702503358 158125:158125 hsa_amd_memory_pool_allocate({handle=32849952}, 1052672, 0, 0x7ffea16f3270) = 0 -337764702504090:337764702905166 158125:158125 hsa_amd_agents_allow_access(2, 0x1ffcea0, 0, 0x7f95c8f00000) = 0 -337764702906168:337764703051222 158125:158125 hsa_amd_memory_pool_allocate({handle=32849952}, 1052672, 0, 0x7ffea16f3270) = 0 -337764703051963:337764703582624 158125:158125 hsa_amd_agents_allow_access(2, 0x1ffcea0, 0, 0x7f95c8d00000) = 0 -337764703583485:337764703584698 158125:158125 hsa_signal_create(1, 0, 0, 0x20441c0) = 0 -337764704446854:337764704577510 158125:158125 hsa_amd_memory_pool_allocate({handle=33086496}, 4194304, 0, 0x7ffea16f3470) = 0 -337764704582820:337764704736640 158125:158125 hsa_amd_memory_pool_allocate({handle=33086496}, 4194304, 0, 0x7ffea16f3470) = 0 -337764704757520:337764704757871 158125:158125 hsa_agent_get_info({handle=33084688}, 14, 0x7ffea16f3364) = 0 -337764704759734:337764717314704 158125:158125 hsa_queue_create({handle=33084688}, 4096, 0, 1, 0x2001bc0, 4294967295, 4294967295, 0x7ffea16f3368) = 0 -337764717327559:337764717328230 158125:158125 hsa_amd_profiling_set_profiler_enabled(0x7f95ca198000, 1) = 0 -337764717331005:337764717412038 158125:158125 hsa_amd_memory_pool_allocate({handle=32849952}, 524288, 0, 0x7ffea16f3530) = 0 -337764717413811:337764717817192 158125:158125 hsa_amd_agents_allow_access(2, 0x1ffcea0, 0, 0x7f95c0f00000) = 0 -337764717818234:337764717820468 158125:158125 hsa_signal_create(0, 1, 0x7ffea16f3570, 0x2048ee0) = 0 -337764717821019:337764717821540 158125:158125 hsa_signal_create(0, 1, 0x7ffea16f3570, 0x2048ee8) = 0 -337764717822041:337764717822562 158125:158125 hsa_signal_create(0, 1, 0x7ffea16f3570, 0x2048ef0) = 0 -337764717823143:337764717823664 158125:158125 hsa_signal_create(0, 1, 0x7ffea16f3570, 0x2048ef8) = 0 -337764717824205:337764717824716 158125:158125 hsa_signal_create(0, 1, 0x7ffea16f3570, 0x2048f00) = 0 -337764717825227:337764717825738 158125:158125 hsa_signal_create(0, 1, 0x7ffea16f3570, 0x2048f08) = 0 -337764717826229:337764717826740 158125:158125 hsa_signal_create(0, 1, 0x7ffea16f3570, 0x2048f10) = 0 -337764717830297:337764717830828 158125:158125 hsa_signal_create(0, 1, 0x7ffea16f3570, 0x2048f18) = 0 -337764916905616:337764916917017 158125:158125 hsa_executable_create_alt(1, 0, 0x0, 0x204b8a0) = 0 -337764916923339:337764916938307 158125:158125 hsa_code_object_reader_create_from_memory(0x228e770, 31312, 0x204b8a8) = 0 -337764916939570:337764917510927 158125:158125 hsa_executable_load_agent_code_object({handle=36727712}, {handle=33084688}, {handle=45488480}, 0x0, 0) = 0 -337764917513542:337764918119125 158125:158125 hsa_executable_freeze({handle=36727712}, 0x0) = 0 -337764918136567:337764918137860 158125:158125 hsa_executable_get_symbol_by_name({handle=36727712}, 0x2591860, 0x7ffea16f31f8, 0x7ffea16f31f0) = 0 -337764918139824:337764918140355 158125:158125 hsa_executable_symbol_get_info({handle=45406320}, 22, 0x21399f8) = 0 -337764918141336:337764918141727 158125:158125 hsa_agent_get_info({handle=33084688}, 6, 0x7ffea16f3208) = 0 -337764918149522:337764918149973 158125:158125 hsa_executable_get_symbol_by_name({handle=36727712}, 0x20fd090, 0x7ffea16f31f8, 0x7ffea16f31f0) = 0 -337764918150534:337764918150784 158125:158125 hsa_executable_symbol_get_info({handle=39392704}, 22, 0x2578cd8) = 0 -337764918151365:337764918151616 158125:158125 hsa_agent_get_info({handle=33084688}, 6, 0x7ffea16f3208) = 0 -337764918157687:337764918158118 158125:158125 hsa_executable_get_symbol_by_name({handle=36727712}, 0x25bbef0, 0x7ffea16f31f8, 0x7ffea16f31f0) = 0 -337764918158639:337764918158880 158125:158125 hsa_executable_symbol_get_info({handle=34514992}, 22, 0x251dd28) = 0 -337764918159461:337764918159701 158125:158125 hsa_agent_get_info({handle=33084688}, 6, 0x7ffea16f3208) = 0 -337764918165512:337764918165953 158125:158125 hsa_executable_get_symbol_by_name({handle=36727712}, 0x25bbf20, 0x7ffea16f31f8, 0x7ffea16f31f0) = 0 -337764918166484:337764918166734 158125:158125 hsa_executable_symbol_get_info({handle=45405888}, 22, 0x275ec48) = 0 -337764918167305:337764918167556 158125:158125 hsa_agent_get_info({handle=33084688}, 6, 0x7ffea16f3208) = 0 -337764918173217:337764918173677 158125:158125 hsa_executable_get_symbol_by_name({handle=36727712}, 0x25bbec0, 0x7ffea16f31f8, 0x7ffea16f31f0) = 0 -337764918174208:337764918174459 158125:158125 hsa_executable_symbol_get_info({handle=34515856}, 22, 0x2b43a68) = 0 -337764918174940:337764918175180 158125:158125 hsa_agent_get_info({handle=33084688}, 6, 0x7ffea16f3208) = 0 -337764918180781:337764918181212 158125:158125 hsa_executable_get_symbol_by_name({handle=36727712}, 0x25bbe90, 0x7ffea16f31f8, 0x7ffea16f31f0) = 0 -337764918181733:337764918181983 158125:158125 hsa_executable_symbol_get_info({handle=33931920}, 22, 0x2158858) = 0 -337764918182464:337764918182705 158125:158125 hsa_agent_get_info({handle=33084688}, 6, 0x7ffea16f3208) = 0 -337764918188395:337764918188816 158125:158125 hsa_executable_get_symbol_by_name({handle=36727712}, 0x20f6940, 0x7ffea16f31f8, 0x7ffea16f31f0) = 0 -337764918189337:337764918189577 158125:158125 hsa_executable_symbol_get_info({handle=34515424}, 22, 0x249f778) = 0 -337764918190068:337764918190309 158125:158125 hsa_agent_get_info({handle=33084688}, 6, 0x7ffea16f3208) = 0 -337764918195879:337764918196320 158125:158125 hsa_executable_get_symbol_by_name({handle=36727712}, 0x2062140, 0x7ffea16f31f8, 0x7ffea16f31f0) = 0 -337764918196851:337764918197092 158125:158125 hsa_executable_symbol_get_info({handle=39392304}, 22, 0x2b61738) = 0 -337764918198895:337764918199146 158125:158125 hsa_agent_get_info({handle=33084688}, 6, 0x7ffea16f3208) = 0 -337764918204736:337764918205147 158125:158125 hsa_executable_get_symbol_by_name({handle=36727712}, 0x2062170, 0x7ffea16f31f8, 0x7ffea16f31f0) = 0 -337764918205678:337764918205918 158125:158125 hsa_executable_symbol_get_info({handle=36785328}, 22, 0x2140818) = 0 -337764918206399:337764918206640 158125:158125 hsa_agent_get_info({handle=33084688}, 6, 0x7ffea16f3208) = 0 -337764918212210:337764918212621 158125:158125 hsa_executable_get_symbol_by_name({handle=36727712}, 0x20621a0, 0x7ffea16f31f8, 0x7ffea16f31f0) = 0 -337764918213152:337764918213402 158125:158125 hsa_executable_symbol_get_info({handle=38918640}, 22, 0x20a6bb8) = 0 -337764918213873:337764918214124 158125:158125 hsa_agent_get_info({handle=33084688}, 6, 0x7ffea16f3208) = 0 -337764918219644:337764918220045 158125:158125 hsa_executable_get_symbol_by_name({handle=36727712}, 0x275eda0, 0x7ffea16f31f8, 0x7ffea16f31f0) = 0 -337764918220576:337764918220826 158125:158125 hsa_executable_symbol_get_info({handle=38920048}, 22, 0x2157a98) = 0 -337764918221297:337764918221558 158125:158125 hsa_agent_get_info({handle=33084688}, 6, 0x7ffea16f3208) = 0 -337764918227098:337764918227489 158125:158125 hsa_executable_get_symbol_by_name({handle=36727712}, 0x20f6850, 0x7ffea16f31f8, 0x7ffea16f31f0) = 0 -337764918228020:337764918228260 158125:158125 hsa_executable_symbol_get_info({handle=45405456}, 22, 0x2514c48) = 0 -337764918228731:337764918228982 158125:158125 hsa_agent_get_info({handle=33084688}, 6, 0x7ffea16f3208) = 0 -337764918234502:337764918234893 158125:158125 hsa_executable_get_symbol_by_name({handle=36727712}, 0x20f6880, 0x7ffea16f31f8, 0x7ffea16f31f0) = 0 -337764918235414:337764918235664 158125:158125 hsa_executable_symbol_get_info({handle=39366112}, 22, 0x21fcef8) = 0 -337764918236145:337764918236376 158125:158125 hsa_agent_get_info({handle=33084688}, 6, 0x7ffea16f3208) = 0 -337764918250372:337764918545749 158125:158125 hsa_amd_memory_lock_to_pool(0x2493000, 4096, 0, 0, {handle=32849952}, 0, 0x2506788) = 0 -337764918547342:337764918547603 158125:158125 hsa_system_get_info(3, 0x7ffea16f35a0) = 0 -337764918549136:337764918550889 158125:158125 hsa_signal_create(0, 0, 0, 0x25b4c60) = 0 -337764918551540:337764918552442 158125:158125 hsa_signal_create(0, 0, 0, 0x20c2250) = 0 -337764918553153:337764918554185 158125:158125 hsa_signal_create(0, 0, 0, 0x2279f60) = 0 -337764918554866:337764918555838 158125:158125 hsa_signal_create(0, 0, 0, 0x2302460) = 0 -337764918556500:337764918557471 158125:158125 hsa_signal_create(0, 0, 0, 0x207b580) = 0 -337764918558273:337764918559245 158125:158125 hsa_signal_create(0, 0, 0, 0x25bbf90) = 0 -337764918559946:337764918560908 158125:158125 hsa_signal_create(0, 0, 0, 0x25bc080) = 0 -337764918561609:337764918562831 158125:158125 hsa_signal_create(0, 0, 0, 0x25bc1b0) = 0 -337764918563573:337764918564234 158125:158125 hsa_signal_create(0, 0, 0, 0x20621e0) = 0 -337764918564795:337764918565466 158125:158125 hsa_signal_create(0, 0, 0, 0x20622d0) = 0 -337764918566017:337764918566779 158125:158125 hsa_signal_create(0, 0, 0, 0x2062400) = 0 -337764918568552:337764918569454 158125:158125 hsa_signal_create(0, 0, 0, 0x20f64a0) = 0 -337764918570035:337764918570827 158125:158125 hsa_signal_create(0, 0, 0, 0x20f65d0) = 0 -337764918571508:337764919246220 158125:158125 hsa_signal_create(0, 0, 0, 0x20f6700) = 0 -337764919246982:337764919247633 158125:158125 hsa_signal_create(0, 0, 0, 0x20fd270) = 0 -337764919248214:337764919248946 158125:158125 hsa_signal_create(0, 0, 0, 0x20fd3a0) = 0 -337764919249597:337764919250278 158125:158125 hsa_signal_create(0, 0, 0, 0x2492b40) = 0 -337764919250849:337764919251611 158125:158125 hsa_signal_create(0, 0, 0, 0x2492c70) = 0 -337764919252162:337764919252923 158125:158125 hsa_signal_create(0, 0, 0, 0x2492da0) = 0 -337764919253474:337764919254155 158125:158125 hsa_signal_create(0, 0, 0, 0x2492ed0) = 0 -337764919254767:337764919255528 158125:158125 hsa_signal_create(0, 0, 0, 0x20d1190) = 0 -337764919256099:337764919256730 158125:158125 hsa_signal_create(0, 0, 0, 0x20d12c0) = 0 -337764919257281:337764919257902 158125:158125 hsa_signal_create(0, 0, 0, 0x20d13f0) = 0 -337764919258454:337764919259185 158125:158125 hsa_signal_create(0, 0, 0, 0x20d1520) = 0 -337764919259796:337764919260427 158125:158125 hsa_signal_create(0, 0, 0, 0x257b900) = 0 -337764919260978:337764919261720 158125:158125 hsa_signal_create(0, 0, 0, 0x257ba30) = 0 -337764919262281:337764919262902 158125:158125 hsa_signal_create(0, 0, 0, 0x257bb60) = 0 -337764919263443:337764919264064 158125:158125 hsa_signal_create(0, 0, 0, 0x257bc90) = 0 -337764919264655:337764919265276 158125:158125 hsa_signal_create(0, 0, 0, 0x2510310) = 0 -337764919265827:337764919266449 158125:158125 hsa_signal_create(0, 0, 0, 0x2510440) = 0 -337764919267000:337764919267621 158125:158125 hsa_signal_create(0, 0, 0, 0x2510570) = 0 -337764919268172:337764919268903 158125:158125 hsa_signal_create(0, 0, 0, 0x25106a0) = 0 -337764919288741:337764921245882 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c88ff000, 4198400, 0, 0, {handle=32849952}, 0, 0x20605a8) = 0 -337764921250250:337764921250671 158125:158125 hsa_signal_load_relaxed({handle=140281353623040}) = 0 -337764921251813:337764921252124 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353622912}, 1) = void -337764921253757:337764921254498 158125:158125 hsa_amd_profiling_async_copy_enable(1) = 0 -337764921256943:337764922077911 158125:158125 hsa_amd_memory_async_copy(0x7f95c0800000, {handle=33084688}, 0x7f9482800010, {handle=32855168}, 4194304, 0, 0, {handle=140281353622912}) = 0 -337764922079765:337764922080035 158125:158125 hsa_signal_load_relaxed({handle=140281353622912}) = 1 -337764922082210:337764922182569 158125:158125 hsa_signal_wait_scacquire({handle=140281353622912}, 2, 1, 100000, 1) = 1 -337764922184352:337764922480190 158125:158125 hsa_signal_wait_scacquire({handle=140281353622912}, 2, 1, 18446744073709551615, 0) = 0 -337764922481553:337764922486412 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281353622912}, 0x7ffea16f3490) = 0 -337764922488816:337764922522770 158125:158125 hsa_amd_memory_unlock(0x7f95c88ff000) = 0 -337764922659238:337764922660150 158125:158125 hsa_executable_create_alt(1, 0, 0x0, 0x207b8a0) = 0 -337764922660921:337764922672934 158125:158125 hsa_code_object_reader_create_from_memory(0x202000, 9552, 0x207b8a8) = 0 -337764922673585:337764922952822 158125:158125 hsa_executable_load_agent_code_object({handle=38929856}, {handle=33084688}, {handle=32098624}, 0x0, 0) = 0 -337764922953994:337764922996133 158125:158125 hsa_executable_freeze({handle=38929856}, 0x0) = 0 -337764923007405:337764923007966 158125:158125 hsa_executable_get_symbol_by_name({handle=38929856}, 0x2150560, 0x7ffea16f3428, 0x7ffea16f3420) = 0 -337764923008547:337764923008847 158125:158125 hsa_executable_symbol_get_info({handle=33948768}, 22, 0x205b668) = 0 -337764923009398:337764923009699 158125:158125 hsa_agent_get_info({handle=33084688}, 6, 0x7ffea16f3438) = 0 -337764923020439:337764923020790 158125:158125 hsa_signal_load_relaxed({handle=140281353622912}) = 0 -337764923023024:337764923023495 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 0 -337764923024657:337764923025088 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 0 -337764923025719:337764923025970 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353622784}, 1) = void -337764923027563:337764923027953 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 0 -337764923029306:337764923030017 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 0) = void -337764923051347:337764924251992 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c84fe000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337764924253585:337764924253906 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 1 -337764924254467:337764924254727 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 1 -337764924255248:337764924255559 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353622656}, 1) = void -337764924256230:337764924256511 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 1 -337764924257282:337764924257883 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 1) = void -337764924258444:337764924258725 158125:158125 hsa_signal_load_relaxed({handle=140281353622656}) = 1 -337764924259216:337764924259456 158125:158125 hsa_signal_load_relaxed({handle=140281353622656}) = 1 -337764924259987:337764924270317 158125:158125 hsa_signal_wait_scacquire({handle=140281353622656}, 2, 1, 10000, 1) = 1 -337764924271078:337764924271329 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353622528}, 1) = void -337764924272170:337764925111934 158125:158125 hsa_amd_memory_async_copy(0x7f9482800010, {handle=32855168}, 0x7f9484c00000, {handle=33084688}, 4194304, 1, 0x2712eb0, {handle=140281353622528}) = 0 -337764925113858:337764925114278 158125:158125 hsa_signal_load_relaxed({handle=140281353622656}) = 0 -337764925118276:337764925118997 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281353622656}, 0x7ffea16f3480) = 0 -337764925119899:337764925120260 158125:158125 hsa_signal_load_relaxed({handle=140281353622528}) = 1 -337764925121041:337764925221551 158125:158125 hsa_signal_wait_scacquire({handle=140281353622528}, 2, 1, 100000, 1) = 1 -337764925222322:337764925515756 158125:158125 hsa_signal_wait_scacquire({handle=140281353622528}, 2, 1, 18446744073709551615, 0) = 0 -337764925516738:337764925517279 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281353622528}, 0x7ffea16f3490) = 0 -337764925518982:337764925564508 158125:158125 hsa_amd_memory_unlock(0x7f95c84fe000) = 0 -337764925568165:337764925568605 158125:158125 hsa_signal_load_relaxed({handle=140281353622784}) = 0 -337764925569497:337764925569998 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281353622784}, 0x7ffea16f3570) = 0 -337764938694923:337764940750460 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c88ff000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337764940753386:337764940754057 158125:158125 hsa_signal_load_relaxed({handle=140281353622528}) = 0 -337764940754979:337764940755760 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353622400}, 1) = void -337764940756702:337764940758365 158125:158125 hsa_amd_memory_async_copy(0x7f95c0800000, {handle=33084688}, 0x7f9482800010, {handle=32855168}, 4194304, 0, 0, {handle=140281353622400}) = 0 -337764940759027:337764940759257 158125:158125 hsa_signal_load_relaxed({handle=140281353622400}) = 1 -337764940759848:337764940860278 158125:158125 hsa_signal_wait_scacquire({handle=140281353622400}, 2, 1, 100000, 1) = 1 -337764940860869:337764941144794 158125:158125 hsa_signal_wait_scacquire({handle=140281353622400}, 2, 1, 18446744073709551615, 0) = 0 -337764941145506:337764941146798 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281353622400}, 0x7ffea16f3490) = 0 -337764941148191:337764941177065 158125:158125 hsa_amd_memory_unlock(0x7f95c88ff000) = 0 -337764941202914:337764941203214 158125:158125 hsa_signal_load_relaxed({handle=140281353622400}) = 0 -337764941204146:337764941204537 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 2 -337764941205539:337764941205809 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 2 -337764941206350:337764941206571 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353622272}, 1) = void -337764941207523:337764941207793 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 2 -337764941208534:337764941209146 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 2) = void -337764941216630:337764941899498 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c84fe000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337764941900880:337764941901171 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 3 -337764941901682:337764941901912 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 3 -337764941902513:337764941902764 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353622144}, 1) = void -337764941903495:337764941903746 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 3 -337764941904227:337764941904808 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 3) = void -337764941906832:337764941907122 158125:158125 hsa_signal_load_relaxed({handle=140281353622144}) = 1 -337764941907613:337764941907843 158125:158125 hsa_signal_load_relaxed({handle=140281353622144}) = 1 -337764941908354:337764941918654 158125:158125 hsa_signal_wait_scacquire({handle=140281353622144}, 2, 1, 10000, 1) = 1 -337764941919215:337764941919445 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353622016}, 1) = void -337764941920447:337764941921589 158125:158125 hsa_amd_memory_async_copy(0x7f9482800010, {handle=32855168}, 0x7f9484c00000, {handle=33084688}, 4194304, 1, 0x24b6b30, {handle=140281353622016}) = 0 -337764941922211:337764941922561 158125:158125 hsa_signal_load_relaxed({handle=140281353622144}) = 0 -337764941923102:337764941923683 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281353622144}, 0x7ffea16f3480) = 0 -337764941924204:337764941924435 158125:158125 hsa_signal_load_relaxed({handle=140281353622016}) = 1 -337764941924916:337764942025195 158125:158125 hsa_signal_wait_scacquire({handle=140281353622016}, 2, 1, 100000, 1) = 1 -337764942025666:337764942305383 158125:158125 hsa_signal_wait_scacquire({handle=140281353622016}, 2, 1, 18446744073709551615, 0) = 0 -337764942305964:337764942306255 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281353622016}, 0x7ffea16f3490) = 0 -337764942307127:337764942332975 158125:158125 hsa_amd_memory_unlock(0x7f95c84fe000) = 0 -337764942335370:337764942335610 158125:158125 hsa_signal_load_relaxed({handle=140281353622272}) = 0 -337764942336151:337764942336432 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281353622272}, 0x7ffea16f3570) = 0 -337764950628322:337764952648392 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c88ff000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337764952650245:337764952651037 158125:158125 hsa_signal_load_relaxed({handle=140281353622016}) = 0 -337764952651738:337764952652008 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353621888}, 1) = void -337764952652760:337764952653962 158125:158125 hsa_amd_memory_async_copy(0x7f95c0800000, {handle=33084688}, 0x7f9482800010, {handle=32855168}, 4194304, 0, 0, {handle=140281353621888}) = 0 -337764952654603:337764952654834 158125:158125 hsa_signal_load_relaxed({handle=140281353621888}) = 1 -337764952655455:337764952755764 158125:158125 hsa_signal_wait_scacquire({handle=140281353621888}, 2, 1, 100000, 1) = 1 -337764952756285:337764953022517 158125:158125 hsa_signal_wait_scacquire({handle=140281353621888}, 2, 1, 18446744073709551615, 0) = 0 -337764953023128:337764953023479 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281353621888}, 0x7ffea16f3490) = 0 -337764953024321:337764953052604 158125:158125 hsa_amd_memory_unlock(0x7f95c88ff000) = 0 -337764953071890:337764953072191 158125:158125 hsa_signal_load_relaxed({handle=140281353621888}) = 0 -337764953072832:337764953073233 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 4 -337764953073854:337764953074275 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 4 -337764953074876:337764953075117 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353621760}, 1) = void -337764953075788:337764953076048 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 4 -337764953077591:337764953078232 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 4) = void -337764953085887:337764953762373 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c84fe000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337764953763675:337764953763966 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 5 -337764953764467:337764953764797 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 5 -337764953765318:337764953765569 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353621632}, 1) = void -337764953766120:337764953766370 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 5 -337764953766861:337764953767442 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 5) = void -337764953767993:337764953768244 158125:158125 hsa_signal_load_relaxed({handle=140281353621632}) = 1 -337764953768725:337764953768955 158125:158125 hsa_signal_load_relaxed({handle=140281353621632}) = 1 -337764953769466:337764953779766 158125:158125 hsa_signal_wait_scacquire({handle=140281353621632}, 2, 1, 10000, 1) = 1 -337764953780427:337764953780998 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353621504}, 1) = void -337764953781639:337764953782701 158125:158125 hsa_amd_memory_async_copy(0x7f9482800010, {handle=32855168}, 0x7f9484c00000, {handle=33084688}, 4194304, 1, 0x20a1520, {handle=140281353621504}) = 0 -337764953783302:337764953784144 158125:158125 hsa_signal_load_relaxed({handle=140281353621632}) = 0 -337764953784685:337764953785146 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281353621632}, 0x7ffea16f3480) = 0 -337764953785677:337764953785907 158125:158125 hsa_signal_load_relaxed({handle=140281353621504}) = 1 -337764953786378:337764953886657 158125:158125 hsa_signal_wait_scacquire({handle=140281353621504}, 2, 1, 100000, 1) = 1 -337764953887148:337764954148792 158125:158125 hsa_signal_wait_scacquire({handle=140281353621504}, 2, 1, 18446744073709551615, 0) = 0 -337764954149433:337764954149723 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281353621504}, 0x7ffea16f3490) = 0 -337764954150485:337764954175201 158125:158125 hsa_amd_memory_unlock(0x7f95c84fe000) = 0 -337764954177035:337764954177285 158125:158125 hsa_signal_load_relaxed({handle=140281353621760}) = 0 -337764954177816:337764954178087 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281353621760}, 0x7ffea16f3570) = 0 -337764962428118:337764964548236 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c88ff000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337764964550290:337764964550761 158125:158125 hsa_signal_load_relaxed({handle=140281353621504}) = 0 -337764964551563:337764964551873 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307479936}, 1) = void -337764964552655:337764964554318 158125:158125 hsa_amd_memory_async_copy(0x7f95c0800000, {handle=33084688}, 0x7f9482800010, {handle=32855168}, 4194304, 0, 0, {handle=140281307479936}) = 0 -337764964554939:337764964555170 158125:158125 hsa_signal_load_relaxed({handle=140281307479936}) = 1 -337764964555751:337764964656080 158125:158125 hsa_signal_wait_scacquire({handle=140281307479936}, 2, 1, 100000, 1) = 1 -337764964656581:337764964944995 158125:158125 hsa_signal_wait_scacquire({handle=140281307479936}, 2, 1, 18446744073709551615, 0) = 0 -337764964945756:337764964946117 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281307479936}, 0x7ffea16f3490) = 0 -337764964949293:337764964976464 158125:158125 hsa_amd_memory_unlock(0x7f95c88ff000) = 0 -337764964993436:337764964993727 158125:158125 hsa_signal_load_relaxed({handle=140281307479936}) = 0 -337764964994368:337764964994769 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 6 -337764964995300:337764964995710 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 6 -337764964996231:337764964996462 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307479808}, 1) = void -337764964997083:337764964997344 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 6 -337764964997885:337764964998506 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 6) = void -337764965005589:337764965683929 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c84fe000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337764965685241:337764965685502 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 7 -337764965686012:337764965686263 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 7 -337764965687315:337764965687615 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307479680}, 1) = void -337764965688197:337764965688447 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 7 -337764965688968:337764965689539 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 7) = void -337764965690110:337764965690361 158125:158125 hsa_signal_load_relaxed({handle=140281307479680}) = 1 -337764965690842:337764965691072 158125:158125 hsa_signal_load_relaxed({handle=140281307479680}) = 1 -337764965691553:337764965701862 158125:158125 hsa_signal_wait_scacquire({handle=140281307479680}, 2, 1, 10000, 1) = 1 -337764965702844:337764965703085 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307479552}, 1) = void -337764965703846:337764965704868 158125:158125 hsa_amd_memory_async_copy(0x7f9482800010, {handle=32855168}, 0x7f9484c00000, {handle=33084688}, 4194304, 1, 0x20a1800, {handle=140281307479552}) = 0 -337764965705479:337764965705800 158125:158125 hsa_signal_load_relaxed({handle=140281307479680}) = 0 -337764965706331:337764965706812 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307479680}, 0x7ffea16f3480) = 0 -337764965707333:337764965707573 158125:158125 hsa_signal_load_relaxed({handle=140281307479552}) = 1 -337764965708044:337764965808313 158125:158125 hsa_signal_wait_scacquire({handle=140281307479552}, 2, 1, 100000, 1) = 1 -337764965808894:337764966090455 158125:158125 hsa_signal_wait_scacquire({handle=140281307479552}, 2, 1, 18446744073709551615, 0) = 0 -337764966091066:337764966091367 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281307479552}, 0x7ffea16f3490) = 0 -337764966092239:337764966118017 158125:158125 hsa_amd_memory_unlock(0x7f95c84fe000) = 0 -337764966119891:337764966120151 158125:158125 hsa_signal_load_relaxed({handle=140281307479808}) = 0 -337764966120682:337764966120983 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307479808}, 0x7ffea16f3570) = 0 -337764974368588:337764976839237 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c88ff000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337764976844197:337764976844607 158125:158125 hsa_signal_load_relaxed({handle=140281307479552}) = 0 -337764976845379:337764976845649 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307479424}, 1) = void -337764976846381:337764976847523 158125:158125 hsa_amd_memory_async_copy(0x7f95c0800000, {handle=33084688}, 0x7f9482800010, {handle=32855168}, 4194304, 0, 0, {handle=140281307479424}) = 0 -337764976848134:337764976848364 158125:158125 hsa_signal_load_relaxed({handle=140281307479424}) = 1 -337764976848875:337764976949205 158125:158125 hsa_signal_wait_scacquire({handle=140281307479424}, 2, 1, 100000, 1) = 1 -337764976949706:337764977233471 158125:158125 hsa_signal_wait_scacquire({handle=140281307479424}, 2, 1, 18446744073709551615, 0) = 0 -337764977234062:337764977234653 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281307479424}, 0x7ffea16f3490) = 0 -337764977235424:337764977262886 158125:158125 hsa_amd_memory_unlock(0x7f95c88ff000) = 0 -337764977280770:337764977281041 158125:158125 hsa_signal_load_relaxed({handle=140281307479424}) = 0 -337764977281762:337764977282143 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 8 -337764977282854:337764977283285 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 8 -337764977283816:337764977284036 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307479296}, 1) = void -337764977284697:337764977284968 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 8 -337764977285479:337764977286220 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 8) = void -337764977294576:337764977971072 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c84fe000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337764977972374:337764977972635 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 9 -337764977973146:337764977973406 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 9 -337764977974038:337764977974358 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307479168}, 1) = void -337764977974959:337764977975210 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 9 -337764977975711:337764977976292 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 9) = void -337764977976843:337764977977103 158125:158125 hsa_signal_load_relaxed({handle=140281307479168}) = 1 -337764977977594:337764977977825 158125:158125 hsa_signal_load_relaxed({handle=140281307479168}) = 1 -337764977978326:337764977988635 158125:158125 hsa_signal_wait_scacquire({handle=140281307479168}, 2, 1, 10000, 1) = 1 -337764977989296:337764977989617 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307479040}, 1) = void -337764977990288:337764977991330 158125:158125 hsa_amd_memory_async_copy(0x7f9482800010, {handle=32855168}, 0x7f9484c00000, {handle=33084688}, 4194304, 1, 0x205bd70, {handle=140281307479040}) = 0 -337764977991971:337764977992292 158125:158125 hsa_signal_load_relaxed({handle=140281307479168}) = 0 -337764977992843:337764977993324 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307479168}, 0x7ffea16f3480) = 0 -337764977993855:337764977994085 158125:158125 hsa_signal_load_relaxed({handle=140281307479040}) = 1 -337764977994576:337764978094845 158125:158125 hsa_signal_wait_scacquire({handle=140281307479040}, 2, 1, 100000, 1) = 1 -337764978097480:337764978375765 158125:158125 hsa_signal_wait_scacquire({handle=140281307479040}, 2, 1, 18446744073709551615, 0) = 0 -337764978376326:337764978376637 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281307479040}, 0x7ffea16f3490) = 0 -337764978377438:337764978401704 158125:158125 hsa_amd_memory_unlock(0x7f95c84fe000) = 0 -337764978403608:337764978403868 158125:158125 hsa_signal_load_relaxed({handle=140281307479296}) = 0 -337764978404399:337764978404710 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307479296}, 0x7ffea16f3570) = 0 -337764986658207:337764988706511 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c88ff000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337764988708554:337764988709085 158125:158125 hsa_signal_load_relaxed({handle=140281307479040}) = 0 -337764988709867:337764988710127 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307478912}, 1) = void -337764988710919:337764988712191 158125:158125 hsa_amd_memory_async_copy(0x7f95c0800000, {handle=33084688}, 0x7f9482800010, {handle=32855168}, 4194304, 0, 0, {handle=140281307478912}) = 0 -337764988712812:337764988713043 158125:158125 hsa_signal_load_relaxed({handle=140281307478912}) = 1 -337764988713724:337764988814033 158125:158125 hsa_signal_wait_scacquire({handle=140281307478912}, 2, 1, 100000, 1) = 1 -337764988814534:337764989097648 158125:158125 hsa_signal_wait_scacquire({handle=140281307478912}, 2, 1, 18446744073709551615, 0) = 0 -337764989098340:337764989102407 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281307478912}, 0x7ffea16f3490) = 0 -337764989103389:337764989129629 158125:158125 hsa_amd_memory_unlock(0x7f95c88ff000) = 0 -337764989148184:337764989148444 158125:158125 hsa_signal_load_relaxed({handle=140281307478912}) = 0 -337764989149055:337764989149436 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 10 -337764989149957:337764989150378 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 10 -337764989150929:337764989151159 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307478784}, 1) = void -337764989151800:337764989152071 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 10 -337764989152602:337764989153353 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 10) = void -337764989160597:337764989831352 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c84fe000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337764989832685:337764989832975 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 11 -337764989833496:337764989833727 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 11 -337764989834418:337764989834719 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307478656}, 1) = void -337764989835330:337764989835580 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 11 -337764989836081:337764989836662 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 11) = void -337764989837223:337764989837464 158125:158125 hsa_signal_load_relaxed({handle=140281307478656}) = 1 -337764989837935:337764989838165 158125:158125 hsa_signal_load_relaxed({handle=140281307478656}) = 1 -337764989840139:337764989850338 158125:158125 hsa_signal_wait_scacquire({handle=140281307478656}, 2, 1, 10000, 1) = 0 -337764989850949:337764989851190 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307478528}, 1) = void -337764989851831:337764989853253 158125:158125 hsa_amd_memory_async_copy(0x7f9482800010, {handle=32855168}, 0x7f9484c00000, {handle=33084688}, 4194304, 0, 0, {handle=140281307478528}) = 0 -337764989853885:337764989854115 158125:158125 hsa_signal_load_relaxed({handle=140281307478656}) = 0 -337764989854656:337764989855127 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307478656}, 0x7ffea16f3480) = 0 -337764989855638:337764989855868 158125:158125 hsa_signal_load_relaxed({handle=140281307478528}) = 1 -337764989856369:337764989956638 158125:158125 hsa_signal_wait_scacquire({handle=140281307478528}, 2, 1, 100000, 1) = 1 -337764989957129:337764990233130 158125:158125 hsa_signal_wait_scacquire({handle=140281307478528}, 2, 1, 18446744073709551615, 0) = 0 -337764990233711:337764990234002 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281307478528}, 0x7ffea16f3490) = 0 -337764990234753:337764990259880 158125:158125 hsa_amd_memory_unlock(0x7f95c84fe000) = 0 -337764990261664:337764990261994 158125:158125 hsa_signal_load_relaxed({handle=140281307478784}) = 0 -337764990262535:337764990262826 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307478784}, 0x7ffea16f3570) = 0 -337764998790971:337765000802706 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c88ff000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765000804479:337765000804910 158125:158125 hsa_signal_load_relaxed({handle=140281307478528}) = 0 -337765000805691:337765000805962 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307478400}, 1) = void -337765000806763:337765000807946 158125:158125 hsa_amd_memory_async_copy(0x7f95c0800000, {handle=33084688}, 0x7f9482800010, {handle=32855168}, 4194304, 0, 0, {handle=140281307478400}) = 0 -337765000808557:337765000808787 158125:158125 hsa_signal_load_relaxed({handle=140281307478400}) = 1 -337765000809308:337765000909617 158125:158125 hsa_signal_wait_scacquire({handle=140281307478400}, 2, 1, 100000, 1) = 1 -337765000910108:337765001193022 158125:158125 hsa_signal_wait_scacquire({handle=140281307478400}, 2, 1, 18446744073709551615, 0) = 0 -337765001193603:337765001193954 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281307478400}, 0x7ffea16f3490) = 0 -337765001194855:337765001223028 158125:158125 hsa_amd_memory_unlock(0x7f95c88ff000) = 0 -337765001241684:337765001241964 158125:158125 hsa_signal_load_relaxed({handle=140281307478400}) = 0 -337765001242595:337765001242996 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 12 -337765001243607:337765001244038 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 12 -337765001244569:337765001244790 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307478272}, 1) = void -337765001245441:337765001245721 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 12 -337765001246252:337765001246853 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 12) = void -337765001255790:337765001931645 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c84fe000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765001932867:337765001933138 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 13 -337765001935913:337765001936174 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 13 -337765001936865:337765001937155 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307478144}, 1) = void -337765001937727:337765001937987 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 13 -337765001938488:337765001939069 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 13) = void -337765001939640:337765001939891 158125:158125 hsa_signal_load_relaxed({handle=140281307478144}) = 1 -337765001940382:337765001940622 158125:158125 hsa_signal_load_relaxed({handle=140281307478144}) = 1 -337765001941133:337765001951422 158125:158125 hsa_signal_wait_scacquire({handle=140281307478144}, 2, 1, 10000, 1) = 1 -337765001952074:337765001952404 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307478016}, 1) = void -337765001953045:337765001954258 158125:158125 hsa_amd_memory_async_copy(0x7f9482800010, {handle=32855168}, 0x7f9484c00000, {handle=33084688}, 4194304, 1, 0x204b9d0, {handle=140281307478016}) = 0 -337765001954919:337765001955240 158125:158125 hsa_signal_load_relaxed({handle=140281307478144}) = 0 -337765001955781:337765001956271 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307478144}, 0x7ffea16f3480) = 0 -337765001956792:337765001957033 158125:158125 hsa_signal_load_relaxed({handle=140281307478016}) = 1 -337765001957524:337765002057813 158125:158125 hsa_signal_wait_scacquire({handle=140281307478016}, 2, 1, 100000, 1) = 1 -337765002058304:337765002338352 158125:158125 hsa_signal_wait_scacquire({handle=140281307478016}, 2, 1, 18446744073709551615, 0) = 0 -337765002338943:337765002339244 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281307478016}, 0x7ffea16f3490) = 0 -337765002340136:337765002365694 158125:158125 hsa_amd_memory_unlock(0x7f95c84fe000) = 0 -337765002367387:337765002367637 158125:158125 hsa_signal_load_relaxed({handle=140281307478272}) = 0 -337765002368168:337765002368439 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307478272}, 0x7ffea16f3570) = 0 -337765010709571:337765012733860 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c88ff000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765012736695:337765012737226 158125:158125 hsa_signal_load_relaxed({handle=140281307478016}) = 0 -337765012738148:337765012738488 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307477888}, 1) = void -337765012739470:337765012740712 158125:158125 hsa_amd_memory_async_copy(0x7f95c0800000, {handle=33084688}, 0x7f9482800010, {handle=32855168}, 4194304, 0, 0, {handle=140281307477888}) = 0 -337765012741414:337765012741644 158125:158125 hsa_signal_load_relaxed({handle=140281307477888}) = 1 -337765012742195:337765012842514 158125:158125 hsa_signal_wait_scacquire({handle=140281307477888}, 2, 1, 100000, 1) = 1 -337765012843116:337765013125789 158125:158125 hsa_signal_wait_scacquire({handle=140281307477888}, 2, 1, 18446744073709551615, 0) = 0 -337765013126370:337765013127292 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281307477888}, 0x7ffea16f3490) = 0 -337765013128143:337765013156136 158125:158125 hsa_amd_memory_unlock(0x7f95c88ff000) = 0 -337765013174952:337765013175222 158125:158125 hsa_signal_load_relaxed({handle=140281307477888}) = 0 -337765013176925:337765013177246 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 14 -337765013177887:337765013178298 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 14 -337765013178809:337765013179049 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307477760}, 1) = void -337765013179801:337765013180061 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 14 -337765013180622:337765013181354 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 14) = void -337765013188026:337765013857248 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c84fe000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765013858491:337765013858771 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 15 -337765013859282:337765013859523 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 15 -337765013860214:337765013860515 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307477632}, 1) = void -337765013861086:337765013861356 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 15 -337765013861847:337765013862428 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 15) = void -337765013862979:337765013863240 158125:158125 hsa_signal_load_relaxed({handle=140281307477632}) = 1 -337765013863751:337765013863981 158125:158125 hsa_signal_load_relaxed({handle=140281307477632}) = 1 -337765013864492:337765013874802 158125:158125 hsa_signal_wait_scacquire({handle=140281307477632}, 2, 1, 10000, 1) = 1 -337765013875563:337765013875813 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353623040}, 1) = void -337765013876475:337765013878168 158125:158125 hsa_amd_memory_async_copy(0x7f9482800010, {handle=32855168}, 0x7f9484c00000, {handle=33084688}, 4194304, 1, 0x204bc90, {handle=140281353623040}) = 0 -337765013878799:337765013879120 158125:158125 hsa_signal_load_relaxed({handle=140281307477632}) = 0 -337765013879651:337765013880142 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307477632}, 0x7ffea16f3480) = 0 -337765013880763:337765013881003 158125:158125 hsa_signal_load_relaxed({handle=140281353623040}) = 1 -337765013881474:337765013981743 158125:158125 hsa_signal_wait_scacquire({handle=140281353623040}, 2, 1, 100000, 1) = 1 -337765013982234:337765014262252 158125:158125 hsa_signal_wait_scacquire({handle=140281353623040}, 2, 1, 18446744073709551615, 0) = 0 -337765014262833:337765014263224 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281353623040}, 0x7ffea16f3490) = 0 -337765014263956:337765014290175 158125:158125 hsa_amd_memory_unlock(0x7f95c84fe000) = 0 -337765014291758:337765014292028 158125:158125 hsa_signal_load_relaxed({handle=140281307477760}) = 0 -337765014292549:337765014292850 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307477760}, 0x7ffea16f3570) = 0 -337765022621529:337765024662158 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c88ff000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765024664643:337765024665204 158125:158125 hsa_signal_load_relaxed({handle=140281353623040}) = 0 -337765024666416:337765024666707 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353622912}, 1) = void -337765024670043:337765024671255 158125:158125 hsa_amd_memory_async_copy(0x7f95c0800000, {handle=33084688}, 0x7f9482800010, {handle=32855168}, 4194304, 0, 0, {handle=140281353622912}) = 0 -337765024671886:337765024672117 158125:158125 hsa_signal_load_relaxed({handle=140281353622912}) = 1 -337765024672618:337765024772987 158125:158125 hsa_signal_wait_scacquire({handle=140281353622912}, 2, 1, 100000, 1) = 1 -337765024773598:337765025056612 158125:158125 hsa_signal_wait_scacquire({handle=140281353622912}, 2, 1, 18446744073709551615, 0) = 0 -337765025057193:337765025057544 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281353622912}, 0x7ffea16f3490) = 0 -337765025058295:337765025085046 158125:158125 hsa_amd_memory_unlock(0x7f95c88ff000) = 0 -337765025102238:337765025102489 158125:158125 hsa_signal_load_relaxed({handle=140281353622912}) = 0 -337765025103090:337765025103480 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 16 -337765025104192:337765025104603 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 16 -337765025105494:337765025105845 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353622784}, 1) = void -337765025106426:337765025106696 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 16 -337765025107237:337765025107839 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 16) = void -337765025115233:337765025792851 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c84fe000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765025794213:337765025794484 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 17 -337765025795015:337765025795245 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 17 -337765025796157:337765025796538 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353622656}, 1) = void -337765025797119:337765025797369 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 17 -337765025797890:337765025798471 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 17) = void -337765025799042:337765025799283 158125:158125 hsa_signal_load_relaxed({handle=140281353622656}) = 1 -337765025799774:337765025800004 158125:158125 hsa_signal_load_relaxed({handle=140281353622656}) = 1 -337765025800515:337765025810805 158125:158125 hsa_signal_wait_scacquire({handle=140281353622656}, 2, 1, 10000, 1) = 1 -337765025811776:337765025812027 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353622528}, 1) = void -337765025812638:337765025813950 158125:158125 hsa_amd_memory_async_copy(0x7f9482800010, {handle=32855168}, 0x7f9484c00000, {handle=33084688}, 4194304, 1, 0x204be40, {handle=140281353622528}) = 0 -337765025814652:337765025815002 158125:158125 hsa_signal_load_relaxed({handle=140281353622656}) = 0 -337765025815533:337765025816004 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281353622656}, 0x7ffea16f3480) = 0 -337765025816515:337765025816746 158125:158125 hsa_signal_load_relaxed({handle=140281353622528}) = 1 -337765025817217:337765025917486 158125:158125 hsa_signal_wait_scacquire({handle=140281353622528}, 2, 1, 100000, 1) = 1 -337765025917947:337765026197564 158125:158125 hsa_signal_wait_scacquire({handle=140281353622528}, 2, 1, 18446744073709551615, 0) = 0 -337765026198145:337765026198556 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281353622528}, 0x7ffea16f3490) = 0 -337765026200660:337765026227260 158125:158125 hsa_amd_memory_unlock(0x7f95c84fe000) = 0 -337765026229013:337765026229284 158125:158125 hsa_signal_load_relaxed({handle=140281353622784}) = 0 -337765026229825:337765026230105 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281353622784}, 0x7ffea16f3570) = 0 -337765034461471:337765036481481 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c88ff000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765036483405:337765036483926 158125:158125 hsa_signal_load_relaxed({handle=140281353622528}) = 0 -337765036485068:337765036485438 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353622400}, 1) = void -337765036486140:337765036487372 158125:158125 hsa_amd_memory_async_copy(0x7f95c0800000, {handle=33084688}, 0x7f9482800010, {handle=32855168}, 4194304, 0, 0, {handle=140281353622400}) = 0 -337765036487983:337765036488214 158125:158125 hsa_signal_load_relaxed({handle=140281353622400}) = 1 -337765036488815:337765036589144 158125:158125 hsa_signal_wait_scacquire({handle=140281353622400}, 2, 1, 100000, 1) = 1 -337765036589625:337765036874953 158125:158125 hsa_signal_wait_scacquire({handle=140281353622400}, 2, 1, 18446744073709551615, 0) = 0 -337765036875544:337765036875915 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281353622400}, 0x7ffea16f3490) = 0 -337765036876766:337765036904689 158125:158125 hsa_amd_memory_unlock(0x7f95c88ff000) = 0 -337765036922924:337765036923194 158125:158125 hsa_signal_load_relaxed({handle=140281353622400}) = 0 -337765036923835:337765036924136 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 18 -337765036924667:337765036925438 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 18 -337765036926250:337765036926480 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353622272}, 1) = void -337765036927061:337765036927332 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 18 -337765036927853:337765036928454 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 18) = void -337765036935257:337765037600562 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c84fe000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765037601874:337765037602135 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 19 -337765037602656:337765037602896 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 19 -337765037603487:337765037603748 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353622144}, 1) = void -337765037604299:337765037604559 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 19 -337765037605050:337765037605631 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 19) = void -337765037606182:337765037606453 158125:158125 hsa_signal_load_relaxed({handle=140281353622144}) = 1 -337765037606934:337765037607174 158125:158125 hsa_signal_load_relaxed({handle=140281353622144}) = 1 -337765037607665:337765037617995 158125:158125 hsa_signal_wait_scacquire({handle=140281353622144}, 2, 1, 10000, 1) = 1 -337765037618566:337765037618806 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353622016}, 1) = void -337765037620960:337765037622002 158125:158125 hsa_amd_memory_async_copy(0x7f9482800010, {handle=32855168}, 0x7f9484c00000, {handle=33084688}, 4194304, 1, 0x204bf20, {handle=140281353622016}) = 0 -337765037622633:337765037622874 158125:158125 hsa_signal_load_relaxed({handle=140281353622144}) = 0 -337765037623405:337765037623956 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281353622144}, 0x7ffea16f3480) = 0 -337765037624477:337765037624717 158125:158125 hsa_signal_load_relaxed({handle=140281353622016}) = 1 -337765037625198:337765037725477 158125:158125 hsa_signal_wait_scacquire({handle=140281353622016}, 2, 1, 100000, 1) = 1 -337765037725948:337765038007870 158125:158125 hsa_signal_wait_scacquire({handle=140281353622016}, 2, 1, 18446744073709551615, 0) = 0 -337765038008441:337765038008742 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281353622016}, 0x7ffea16f3490) = 0 -337765038009513:337765038034640 158125:158125 hsa_amd_memory_unlock(0x7f95c84fe000) = 0 -337765038036434:337765038036694 158125:158125 hsa_signal_load_relaxed({handle=140281353622272}) = 0 -337765038037225:337765038037536 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281353622272}, 0x7ffea16f3570) = 0 -337765046319045:337765048340878 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c88ff000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765048342661:337765048343072 158125:158125 hsa_signal_load_relaxed({handle=140281353622016}) = 0 -337765048344224:337765048344504 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353621888}, 1) = void -337765048345226:337765048346418 158125:158125 hsa_amd_memory_async_copy(0x7f95c0800000, {handle=33084688}, 0x7f9482800010, {handle=32855168}, 4194304, 0, 0, {handle=140281353621888}) = 0 -337765048347019:337765048347260 158125:158125 hsa_signal_load_relaxed({handle=140281353621888}) = 1 -337765048347781:337765048448100 158125:158125 hsa_signal_wait_scacquire({handle=140281353621888}, 2, 1, 100000, 1) = 1 -337765048448591:337765048733839 158125:158125 hsa_signal_wait_scacquire({handle=140281353621888}, 2, 1, 18446744073709551615, 0) = 0 -337765048734410:337765048734901 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281353621888}, 0x7ffea16f3490) = 0 -337765048735742:337765048763625 158125:158125 hsa_amd_memory_unlock(0x7f95c88ff000) = 0 -337765048781859:337765048782170 158125:158125 hsa_signal_load_relaxed({handle=140281353621888}) = 0 -337765048782791:337765048783182 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 20 -337765048783903:337765048784314 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 20 -337765048785025:337765048785256 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353621760}, 1) = void -337765048785847:337765048786117 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 20 -337765048786628:337765048787230 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 20) = void -337765048795215:337765049477862 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c84fe000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765049479024:337765049479315 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 21 -337765049479836:337765049480066 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 21 -337765049480667:337765049481128 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353621632}, 1) = void -337765049483242:337765049483523 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 21 -337765049484114:337765049484695 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 21) = void -337765049485286:337765049485537 158125:158125 hsa_signal_load_relaxed({handle=140281353621632}) = 1 -337765049486018:337765049486248 158125:158125 hsa_signal_load_relaxed({handle=140281353621632}) = 1 -337765049486749:337765049497048 158125:158125 hsa_signal_wait_scacquire({handle=140281353621632}, 2, 1, 10000, 1) = 1 -337765049498050:337765049498381 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353621504}, 1) = void -337765049499042:337765049500064 158125:158125 hsa_amd_memory_async_copy(0x7f9482800010, {handle=32855168}, 0x7f9484c00000, {handle=33084688}, 4194304, 1, 0x24a22e0, {handle=140281353621504}) = 0 -337765049500715:337765049501066 158125:158125 hsa_signal_load_relaxed({handle=140281353621632}) = 0 -337765049501597:337765049502178 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281353621632}, 0x7ffea16f3480) = 0 -337765049502689:337765049502919 158125:158125 hsa_signal_load_relaxed({handle=140281353621504}) = 1 -337765049503390:337765049603659 158125:158125 hsa_signal_wait_scacquire({handle=140281353621504}, 2, 1, 100000, 1) = 1 -337765049604130:337765049884720 158125:158125 hsa_signal_wait_scacquire({handle=140281353621504}, 2, 1, 18446744073709551615, 0) = 0 -337765049885291:337765049885591 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281353621504}, 0x7ffea16f3490) = 0 -337765049886353:337765049910839 158125:158125 hsa_amd_memory_unlock(0x7f95c84fe000) = 0 -337765049912532:337765049912792 158125:158125 hsa_signal_load_relaxed({handle=140281353621760}) = 0 -337765049913323:337765049913634 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281353621760}, 0x7ffea16f3570) = 0 -337765058190726:337765060143770 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c88ff000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765060146144:337765060146655 158125:158125 hsa_signal_load_relaxed({handle=140281353621504}) = 0 -337765060147627:337765060147917 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307479936}, 1) = void -337765060148629:337765060149801 158125:158125 hsa_amd_memory_async_copy(0x7f95c0800000, {handle=33084688}, 0x7f9482800010, {handle=32855168}, 4194304, 0, 0, {handle=140281307479936}) = 0 -337765060150392:337765060150622 158125:158125 hsa_signal_load_relaxed({handle=140281307479936}) = 1 -337765060151113:337765060251413 158125:158125 hsa_signal_wait_scacquire({handle=140281307479936}, 2, 1, 100000, 1) = 1 -337765060251914:337765060537823 158125:158125 hsa_signal_wait_scacquire({handle=140281307479936}, 2, 1, 18446744073709551615, 0) = 0 -337765060538494:337765060542391 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281307479936}, 0x7ffea16f3490) = 0 -337765060543173:337765060570855 158125:158125 hsa_amd_memory_unlock(0x7f95c88ff000) = 0 -337765060588288:337765060588558 158125:158125 hsa_signal_load_relaxed({handle=140281307479936}) = 0 -337765060589270:337765060589651 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 22 -337765060590682:337765060591083 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 22 -337765060592766:337765060593097 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307479808}, 1) = void -337765060593698:337765060593969 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 22 -337765060594500:337765060595121 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 22) = void -337765060601884:337765061279442 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c84fe000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765061280594:337765061280854 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 23 -337765061281375:337765061281616 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 23 -337765061282217:337765061282517 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307479680}, 1) = void -337765061283098:337765061283369 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 23 -337765061283860:337765061284441 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 23) = void -337765061285082:337765061285323 158125:158125 hsa_signal_load_relaxed({handle=140281307479680}) = 1 -337765061285804:337765061286034 158125:158125 hsa_signal_load_relaxed({handle=140281307479680}) = 1 -337765061286525:337765061296834 158125:158125 hsa_signal_wait_scacquire({handle=140281307479680}, 2, 1, 10000, 1) = 1 -337765061297466:337765061297696 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307479552}, 1) = void -337765061298357:337765061299570 158125:158125 hsa_amd_memory_async_copy(0x7f9482800010, {handle=32855168}, 0x7f9484c00000, {handle=33084688}, 4194304, 1, 0x24a23c0, {handle=140281307479552}) = 0 -337765061300231:337765061300551 158125:158125 hsa_signal_load_relaxed({handle=140281307479680}) = 0 -337765061301082:337765061301974 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307479680}, 0x7ffea16f3480) = 0 -337765061302495:337765061302736 158125:158125 hsa_signal_load_relaxed({handle=140281307479552}) = 1 -337765061303206:337765061403486 158125:158125 hsa_signal_wait_scacquire({handle=140281307479552}, 2, 1, 100000, 1) = 1 -337765061403966:337765061709262 158125:158125 hsa_signal_wait_scacquire({handle=140281307479552}, 2, 1, 18446744073709551615, 0) = 0 -337765061709853:337765061710154 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281307479552}, 0x7ffea16f3490) = 0 -337765061710935:337765061735782 158125:158125 hsa_amd_memory_unlock(0x7f95c84fe000) = 0 -337765061737455:337765061737796 158125:158125 hsa_signal_load_relaxed({handle=140281307479808}) = 0 -337765061738307:337765061738588 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307479808}, 0x7ffea16f3570) = 0 -337765069955305:337765071935390 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c88ff000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765071937344:337765071937735 158125:158125 hsa_signal_load_relaxed({handle=140281307479552}) = 0 -337765071939087:337765071939348 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307479424}, 1) = void -337765071940049:337765071941341 158125:158125 hsa_amd_memory_async_copy(0x7f95c0800000, {handle=33084688}, 0x7f9482800010, {handle=32855168}, 4194304, 0, 0, {handle=140281307479424}) = 0 -337765071941923:337765071942163 158125:158125 hsa_signal_load_relaxed({handle=140281307479424}) = 1 -337765071942654:337765072043174 158125:158125 hsa_signal_wait_scacquire({handle=140281307479424}, 2, 1, 100000, 1) = 1 -337765072046199:337765072329844 158125:158125 hsa_signal_wait_scacquire({handle=140281307479424}, 2, 1, 18446744073709551615, 0) = 0 -337765072330455:337765072330936 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281307479424}, 0x7ffea16f3490) = 0 -337765072331878:337765072358799 158125:158125 hsa_amd_memory_unlock(0x7f95c88ff000) = 0 -337765072375621:337765072375941 158125:158125 hsa_signal_load_relaxed({handle=140281307479424}) = 0 -337765072376532:337765072376893 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 24 -337765072377514:337765072377915 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 24 -337765072378606:337765072378847 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307479296}, 1) = void -337765072379428:337765072379688 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 24 -337765072380209:337765072380951 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 24) = void -337765072388695:337765073064229 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c84fe000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765073065522:337765073065792 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 25 -337765073066303:337765073066554 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 25 -337765073067185:337765073067596 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307479168}, 1) = void -337765073068167:337765073068437 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 25 -337765073068938:337765073069519 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 25) = void -337765073070070:337765073070301 158125:158125 hsa_signal_load_relaxed({handle=140281307479168}) = 1 -337765073070772:337765073071002 158125:158125 hsa_signal_load_relaxed({handle=140281307479168}) = 1 -337765073071493:337765073081792 158125:158125 hsa_signal_wait_scacquire({handle=140281307479168}, 2, 1, 10000, 1) = 1 -337765073082434:337765073082754 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307479040}, 1) = void -337765073083396:337765073084488 158125:158125 hsa_amd_memory_async_copy(0x7f9482800010, {handle=32855168}, 0x7f9484c00000, {handle=33084688}, 4194304, 1, 0x24a24a0, {handle=140281307479040}) = 0 -337765073085129:337765073085439 158125:158125 hsa_signal_load_relaxed({handle=140281307479168}) = 0 -337765073085970:337765073086541 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307479168}, 0x7ffea16f3480) = 0 -337765073087052:337765073087293 158125:158125 hsa_signal_load_relaxed({handle=140281307479040}) = 1 -337765073087764:337765073188033 158125:158125 hsa_signal_wait_scacquire({handle=140281307479040}, 2, 1, 100000, 1) = 1 -337765073188494:337765073468111 158125:158125 hsa_signal_wait_scacquire({handle=140281307479040}, 2, 1, 18446744073709551615, 0) = 0 -337765073468732:337765073469043 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281307479040}, 0x7ffea16f3490) = 0 -337765073469894:337765073494461 158125:158125 hsa_amd_memory_unlock(0x7f95c84fe000) = 0 -337765073496274:337765073496525 158125:158125 hsa_signal_load_relaxed({handle=140281307479296}) = 0 -337765073498589:337765073498889 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307479296}, 0x7ffea16f3570) = 0 -337765081735735:337765083733714 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c88ff000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765083735457:337765083735888 158125:158125 hsa_signal_load_relaxed({handle=140281307479040}) = 0 -337765083736729:337765083737010 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307478912}, 1) = void -337765083737751:337765083738853 158125:158125 hsa_amd_memory_async_copy(0x7f95c0800000, {handle=33084688}, 0x7f9482800010, {handle=32855168}, 4194304, 0, 0, {handle=140281307478912}) = 0 -337765083739474:337765083739715 158125:158125 hsa_signal_load_relaxed({handle=140281307478912}) = 1 -337765083740236:337765083840555 158125:158125 hsa_signal_wait_scacquire({handle=140281307478912}, 2, 1, 100000, 1) = 1 -337765083841046:337765084127226 158125:158125 hsa_signal_wait_scacquire({handle=140281307478912}, 2, 1, 18446744073709551615, 0) = 0 -337765084127837:337765084128328 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281307478912}, 0x7ffea16f3490) = 0 -337765084129089:337765084156421 158125:158125 hsa_amd_memory_unlock(0x7f95c88ff000) = 0 -337765084175807:337765084176088 158125:158125 hsa_signal_load_relaxed({handle=140281307478912}) = 0 -337765084176719:337765084177130 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 26 -337765084178082:337765084178502 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 26 -337765084179224:337765084179464 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307478784}, 1) = void -337765084180055:337765084180316 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 26 -337765084180847:337765084181578 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 26) = void -337765084188241:337765084861811 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c84fe000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765084863014:337765084863274 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 27 -337765084863765:337765084864015 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 27 -337765084864617:337765084864907 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307478656}, 1) = void -337765084865478:337765084865739 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 27 -337765084866240:337765084866831 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 27) = void -337765084867382:337765084867642 158125:158125 hsa_signal_load_relaxed({handle=140281307478656}) = 1 -337765084868133:337765084868354 158125:158125 hsa_signal_load_relaxed({handle=140281307478656}) = 1 -337765084868855:337765084879144 158125:158125 hsa_signal_wait_scacquire({handle=140281307478656}, 2, 1, 10000, 1) = 1 -337765084879765:337765084879996 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307478528}, 1) = void -337765084880647:337765084881839 158125:158125 hsa_amd_memory_async_copy(0x7f9482800010, {handle=32855168}, 0x7f9484c00000, {handle=33084688}, 4194304, 1, 0x24a25b0, {handle=140281307478528}) = 0 -337765084882480:337765084882791 158125:158125 hsa_signal_load_relaxed({handle=140281307478656}) = 0 -337765084883342:337765084883893 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307478656}, 0x7ffea16f3480) = 0 -337765084886107:337765084886348 158125:158125 hsa_signal_load_relaxed({handle=140281307478528}) = 1 -337765084886838:337765084987118 158125:158125 hsa_signal_wait_scacquire({handle=140281307478528}, 2, 1, 100000, 1) = 1 -337765084987609:337765085266064 158125:158125 hsa_signal_wait_scacquire({handle=140281307478528}, 2, 1, 18446744073709551615, 0) = 0 -337765085266645:337765085266945 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281307478528}, 0x7ffea16f3490) = 0 -337765085267677:337765085292724 158125:158125 hsa_amd_memory_unlock(0x7f95c84fe000) = 0 -337765085294537:337765085294798 158125:158125 hsa_signal_load_relaxed({handle=140281307478784}) = 0 -337765085295319:337765085295630 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307478784}, 0x7ffea16f3570) = 0 -337765093542053:337765095594705 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c88ff000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765095596949:337765095597280 158125:158125 hsa_signal_load_relaxed({handle=140281307478528}) = 0 -337765095598202:337765095598562 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307478400}, 1) = void -337765095599314:337765095600376 158125:158125 hsa_amd_memory_async_copy(0x7f95c0800000, {handle=33084688}, 0x7f9482800010, {handle=32855168}, 4194304, 0, 0, {handle=140281307478400}) = 0 -337765095600967:337765095601197 158125:158125 hsa_signal_load_relaxed({handle=140281307478400}) = 1 -337765095601688:337765095702007 158125:158125 hsa_signal_wait_scacquire({handle=140281307478400}, 2, 1, 100000, 1) = 1 -337765095702498:337765095985803 158125:158125 hsa_signal_wait_scacquire({handle=140281307478400}, 2, 1, 18446744073709551615, 0) = 0 -337765095986494:337765095987135 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281307478400}, 0x7ffea16f3490) = 0 -337765095987867:337765096021971 158125:158125 hsa_amd_memory_unlock(0x7f95c88ff000) = 0 -337765096040045:337765096040356 158125:158125 hsa_signal_load_relaxed({handle=140281307478400}) = 0 -337765096040967:337765096041287 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 28 -337765096041989:337765096042419 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 28 -337765096043201:337765096043441 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307478272}, 1) = void -337765096044123:337765096044383 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 28 -337765096044894:337765096045515 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 28) = void -337765096052629:337765096921608 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c84fe000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765096922730:337765096923030 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 29 -337765096923531:337765096923782 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 29 -337765096924934:337765096925255 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307478144}, 1) = void -337765096925846:337765096926096 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 29 -337765096926597:337765096927188 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 29) = void -337765096929493:337765096929763 158125:158125 hsa_signal_load_relaxed({handle=140281307478144}) = 1 -337765096930244:337765096930484 158125:158125 hsa_signal_load_relaxed({handle=140281307478144}) = 1 -337765096930975:337765096940644 158125:158125 hsa_signal_wait_scacquire({handle=140281307478144}, 2, 1, 10000, 1) = 0 -337765096941255:337765096941585 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307478016}, 1) = void -337765096942267:337765096943269 158125:158125 hsa_amd_memory_async_copy(0x7f9482800010, {handle=32855168}, 0x7f9484c00000, {handle=33084688}, 4194304, 0, 0, {handle=140281307478016}) = 0 -337765096943890:337765096944120 158125:158125 hsa_signal_load_relaxed({handle=140281307478144}) = 0 -337765096944641:337765096945222 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307478144}, 0x7ffea16f3480) = 0 -337765096945743:337765096945974 158125:158125 hsa_signal_load_relaxed({handle=140281307478016}) = 1 -337765096946445:337765097046714 158125:158125 hsa_signal_wait_scacquire({handle=140281307478016}, 2, 1, 100000, 1) = 1 -337765097047205:337765097323516 158125:158125 hsa_signal_wait_scacquire({handle=140281307478016}, 2, 1, 18446744073709551615, 0) = 0 -337765097324097:337765097324397 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281307478016}, 0x7ffea16f3490) = 0 -337765097325169:337765097351078 158125:158125 hsa_amd_memory_unlock(0x7f95c84fe000) = 0 -337765097352681:337765097352941 158125:158125 hsa_signal_load_relaxed({handle=140281307478272}) = 0 -337765097353452:337765097353733 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307478272}, 0x7ffea16f3570) = 0 -337765105653628:337765107656766 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c88ff000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765107658569:337765107658890 158125:158125 hsa_signal_load_relaxed({handle=140281307478016}) = 0 -337765107659842:337765107660112 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307477888}, 1) = void -337765107660864:337765107662016 158125:158125 hsa_amd_memory_async_copy(0x7f95c0800000, {handle=33084688}, 0x7f9482800010, {handle=32855168}, 4194304, 0, 0, {handle=140281307477888}) = 0 -337765107662617:337765107662857 158125:158125 hsa_signal_load_relaxed({handle=140281307477888}) = 1 -337765107663458:337765107763778 158125:158125 hsa_signal_wait_scacquire({handle=140281307477888}, 2, 1, 100000, 1) = 1 -337765107764359:337765108049947 158125:158125 hsa_signal_wait_scacquire({handle=140281307477888}, 2, 1, 18446744073709551615, 0) = 0 -337765108050609:337765108050949 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281307477888}, 0x7ffea16f3490) = 0 -337765108051811:337765108077229 158125:158125 hsa_amd_memory_unlock(0x7f95c88ff000) = 0 -337765108098459:337765108098719 158125:158125 hsa_signal_load_relaxed({handle=140281307477888}) = 0 -337765108099351:337765108099731 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 30 -337765108100463:337765108101114 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 30 -337765108101865:337765108102106 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307477760}, 1) = void -337765108102697:337765108102967 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 30 -337765108104480:337765108105232 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 30) = void -337765108112195:337765108786737 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c84fe000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765108787939:337765108788210 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 31 -337765108788721:337765108788951 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 31 -337765108789562:337765108789833 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307477632}, 1) = void -337765108790394:337765108790654 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 31 -337765108791125:337765108791706 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 31) = void -337765108792247:337765108792508 158125:158125 hsa_signal_load_relaxed({handle=140281307477632}) = 1 -337765108792999:337765108793229 158125:158125 hsa_signal_load_relaxed({handle=140281307477632}) = 1 -337765108793720:337765108804010 158125:158125 hsa_signal_wait_scacquire({handle=140281307477632}, 2, 1, 10000, 1) = 1 -337765108804771:337765108805022 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353623040}, 1) = void -337765108805643:337765108806955 158125:158125 hsa_amd_memory_async_copy(0x7f9482800010, {handle=32855168}, 0x7f9484c00000, {handle=33084688}, 4194304, 1, 0x24a27d0, {handle=140281353623040}) = 0 -337765108807586:337765108807907 158125:158125 hsa_signal_load_relaxed({handle=140281307477632}) = 0 -337765108808448:337765108809019 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307477632}, 0x7ffea16f3480) = 0 -337765108809590:337765108809821 158125:158125 hsa_signal_load_relaxed({handle=140281353623040}) = 1 -337765108810291:337765108910571 158125:158125 hsa_signal_wait_scacquire({handle=140281353623040}, 2, 1, 100000, 1) = 1 -337765108911042:337765109191150 158125:158125 hsa_signal_wait_scacquire({handle=140281353623040}, 2, 1, 18446744073709551615, 0) = 0 -337765109191721:337765109192142 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281353623040}, 0x7ffea16f3490) = 0 -337765109192903:337765109219243 158125:158125 hsa_amd_memory_unlock(0x7f95c84fe000) = 0 -337765109220806:337765109221076 158125:158125 hsa_signal_load_relaxed({handle=140281307477760}) = 0 -337765109221597:337765109221898 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307477760}, 0x7ffea16f3570) = 0 -337765117731658:337765119739886 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c88ff000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765119741539:337765119742090 158125:158125 hsa_signal_load_relaxed({handle=140281353623040}) = 0 -337765119743152:337765119743523 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353622912}, 1) = void -337765119744164:337765119745507 158125:158125 hsa_amd_memory_async_copy(0x7f95c0800000, {handle=33084688}, 0x7f9482800010, {handle=32855168}, 4194304, 0, 0, {handle=140281353622912}) = 0 -337765119746108:337765119746338 158125:158125 hsa_signal_load_relaxed({handle=140281353622912}) = 1 -337765119746829:337765119847159 158125:158125 hsa_signal_wait_scacquire({handle=140281353622912}, 2, 1, 100000, 1) = 1 -337765119848010:337765120134380 158125:158125 hsa_signal_wait_scacquire({handle=140281353622912}, 2, 1, 18446744073709551615, 0) = 0 -337765120135142:337765120135643 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281353622912}, 0x7ffea16f3490) = 0 -337765120140081:337765120167082 158125:158125 hsa_amd_memory_unlock(0x7f95c88ff000) = 0 -337765120185036:337765120185356 158125:158125 hsa_signal_load_relaxed({handle=140281353622912}) = 0 -337765120186188:337765120186489 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 32 -337765120187180:337765120187591 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 32 -337765120188562:337765120188933 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353622784}, 1) = void -337765120189524:337765120189785 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 32 -337765120190296:337765120190897 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 32) = void -337765120198922:337765120872432 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c84fe000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765120873785:337765120874075 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 33 -337765120874576:337765120874827 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 33 -337765120875398:337765120875758 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353622656}, 1) = void -337765120876349:337765120876600 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 33 -337765120877091:337765120877672 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 33) = void -337765120878223:337765120878473 158125:158125 hsa_signal_load_relaxed({handle=140281353622656}) = 1 -337765120878934:337765120879175 158125:158125 hsa_signal_load_relaxed({handle=140281353622656}) = 1 -337765120879656:337765120889985 158125:158125 hsa_signal_wait_scacquire({handle=140281353622656}, 2, 1, 10000, 1) = 1 -337765120890626:337765120890957 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353622528}, 1) = void -337765120891638:337765120892861 158125:158125 hsa_amd_memory_async_copy(0x7f9482800010, {handle=32855168}, 0x7f9484c00000, {handle=33084688}, 4194304, 1, 0x24a28e0, {handle=140281353622528}) = 0 -337765120893532:337765120893882 158125:158125 hsa_signal_load_relaxed({handle=140281353622656}) = 0 -337765120894504:337765120895175 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281353622656}, 0x7ffea16f3480) = 0 -337765120895706:337765120895936 158125:158125 hsa_signal_load_relaxed({handle=140281353622528}) = 1 -337765120896407:337765120996676 158125:158125 hsa_signal_wait_scacquire({handle=140281353622528}, 2, 1, 100000, 1) = 1 -337765120997157:337765121276424 158125:158125 hsa_signal_wait_scacquire({handle=140281353622528}, 2, 1, 18446744073709551615, 0) = 0 -337765121277005:337765121277295 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281353622528}, 0x7ffea16f3490) = 0 -337765121278087:337765121302242 158125:158125 hsa_amd_memory_unlock(0x7f95c84fe000) = 0 -337765121303896:337765121304156 158125:158125 hsa_signal_load_relaxed({handle=140281353622784}) = 0 -337765121304677:337765121304948 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281353622784}, 0x7ffea16f3570) = 0 -337765129541261:337765131551363 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c88ff000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765131555911:337765131556342 158125:158125 hsa_signal_load_relaxed({handle=140281353622528}) = 0 -337765131557404:337765131557775 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353622400}, 1) = void -337765131558496:337765131559738 158125:158125 hsa_amd_memory_async_copy(0x7f95c0800000, {handle=33084688}, 0x7f9482800010, {handle=32855168}, 4194304, 0, 0, {handle=140281353622400}) = 0 -337765131560360:337765131560590 158125:158125 hsa_signal_load_relaxed({handle=140281353622400}) = 1 -337765131561101:337765131661420 158125:158125 hsa_signal_wait_scacquire({handle=140281353622400}, 2, 1, 100000, 1) = 1 -337765131661911:337765131944224 158125:158125 hsa_signal_wait_scacquire({handle=140281353622400}, 2, 1, 18446744073709551615, 0) = 0 -337765131944805:337765131949123 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281353622400}, 0x7ffea16f3490) = 0 -337765131949934:337765131977156 158125:158125 hsa_amd_memory_unlock(0x7f95c88ff000) = 0 -337765131993436:337765131993697 158125:158125 hsa_signal_load_relaxed({handle=140281353622400}) = 0 -337765131994298:337765131994699 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 34 -337765131995390:337765131995811 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 34 -337765131996622:337765131996873 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353622272}, 1) = void -337765131997634:337765131997895 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 34 -337765131998396:337765131998997 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 34) = void -337765132013715:337765132688537 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c84fe000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765132689800:337765132690070 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 35 -337765132690621:337765132690872 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 35 -337765132691483:337765132691884 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353622144}, 1) = void -337765132692475:337765132692725 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 35 -337765132693216:337765132693817 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 35) = void -337765132694378:337765132694639 158125:158125 hsa_signal_load_relaxed({handle=140281353622144}) = 1 -337765132695140:337765132695370 158125:158125 hsa_signal_load_relaxed({handle=140281353622144}) = 1 -337765132695871:337765132706181 158125:158125 hsa_signal_wait_scacquire({handle=140281353622144}, 2, 1, 10000, 1) = 1 -337765132706812:337765132707052 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353622016}, 1) = void -337765132708235:337765132709357 158125:158125 hsa_amd_memory_async_copy(0x7f9482800010, {handle=32855168}, 0x7f9484c00000, {handle=33084688}, 4194304, 1, 0x24a29f0, {handle=140281353622016}) = 0 -337765132709988:337765132710349 158125:158125 hsa_signal_load_relaxed({handle=140281353622144}) = 0 -337765132710880:337765132711381 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281353622144}, 0x7ffea16f3480) = 0 -337765132711901:337765132712142 158125:158125 hsa_signal_load_relaxed({handle=140281353622016}) = 1 -337765132712623:337765132812892 158125:158125 hsa_signal_wait_scacquire({handle=140281353622016}, 2, 1, 100000, 1) = 1 -337765132814886:337765133095064 158125:158125 hsa_signal_wait_scacquire({handle=140281353622016}, 2, 1, 18446744073709551615, 0) = 0 -337765133095675:337765133095976 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281353622016}, 0x7ffea16f3490) = 0 -337765133096747:337765133121805 158125:158125 hsa_amd_memory_unlock(0x7f95c84fe000) = 0 -337765133123578:337765133123838 158125:158125 hsa_signal_load_relaxed({handle=140281353622272}) = 0 -337765133124359:337765133124670 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281353622272}, 0x7ffea16f3570) = 0 -337765141408234:337765143442120 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c88ff000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765143444094:337765143444374 158125:158125 hsa_signal_load_relaxed({handle=140281353622016}) = 0 -337765143445467:337765143445737 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353621888}, 1) = void -337765143446559:337765143447811 158125:158125 hsa_amd_memory_async_copy(0x7f95c0800000, {handle=33084688}, 0x7f9482800010, {handle=32855168}, 4194304, 0, 0, {handle=140281353621888}) = 0 -337765143448412:337765143448643 158125:158125 hsa_signal_load_relaxed({handle=140281353621888}) = 1 -337765143449254:337765143549573 158125:158125 hsa_signal_wait_scacquire({handle=140281353621888}, 2, 1, 100000, 1) = 1 -337765143550154:337765143835252 158125:158125 hsa_signal_wait_scacquire({handle=140281353621888}, 2, 1, 18446744073709551615, 0) = 0 -337765143836093:337765143836574 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281353621888}, 0x7ffea16f3490) = 0 -337765143837416:337765143864497 158125:158125 hsa_amd_memory_unlock(0x7f95c88ff000) = 0 -337765143882190:337765143882471 158125:158125 hsa_signal_load_relaxed({handle=140281353621888}) = 0 -337765143883382:337765143883783 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 36 -337765143884575:337765143885006 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 36 -337765143885967:337765143886218 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353621760}, 1) = void -337765143886979:337765143887260 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 36 -337765143888302:337765143888893 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 36) = void -337765143897720:337765144568565 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c84fe000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765144569897:337765144570198 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 37 -337765144570729:337765144570979 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 37 -337765144571490:337765144571751 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353621632}, 1) = void -337765144572342:337765144572602 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 37 -337765144573123:337765144573695 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 37) = void -337765144574276:337765144574526 158125:158125 hsa_signal_load_relaxed({handle=140281353621632}) = 1 -337765144575017:337765144575247 158125:158125 hsa_signal_load_relaxed({handle=140281353621632}) = 1 -337765144577371:337765144587430 158125:158125 hsa_signal_wait_scacquire({handle=140281353621632}, 2, 1, 10000, 1) = 0 -337765144588072:337765144588312 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353621504}, 1) = void -337765144588913:337765144589885 158125:158125 hsa_amd_memory_async_copy(0x7f9482800010, {handle=32855168}, 0x7f9484c00000, {handle=33084688}, 4194304, 0, 0, {handle=140281353621504}) = 0 -337765144590496:337765144590737 158125:158125 hsa_signal_load_relaxed({handle=140281353621632}) = 0 -337765144591278:337765144591999 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281353621632}, 0x7ffea16f3480) = 0 -337765144592520:337765144592750 158125:158125 hsa_signal_load_relaxed({handle=140281353621504}) = 1 -337765144593221:337765144693500 158125:158125 hsa_signal_wait_scacquire({handle=140281353621504}, 2, 1, 100000, 1) = 1 -337765144693981:337765144970633 158125:158125 hsa_signal_wait_scacquire({handle=140281353621504}, 2, 1, 18446744073709551615, 0) = 0 -337765144971224:337765144971525 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281353621504}, 0x7ffea16f3490) = 0 -337765144972296:337765144998095 158125:158125 hsa_amd_memory_unlock(0x7f95c84fe000) = 0 -337765144999828:337765145000089 158125:158125 hsa_signal_load_relaxed({handle=140281353621760}) = 0 -337765145000610:337765145000890 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281353621760}, 0x7ffea16f3570) = 0 -337765153334649:337765155379035 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c88ff000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765155380939:337765155381500 158125:158125 hsa_signal_load_relaxed({handle=140281353621504}) = 0 -337765155382441:337765155382712 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307479936}, 1) = void -337765155383433:337765155384525 158125:158125 hsa_amd_memory_async_copy(0x7f95c0800000, {handle=33084688}, 0x7f9482800010, {handle=32855168}, 4194304, 0, 0, {handle=140281307479936}) = 0 -337765155385126:337765155385357 158125:158125 hsa_signal_load_relaxed({handle=140281307479936}) = 1 -337765155386038:337765155486357 158125:158125 hsa_signal_wait_scacquire({handle=140281307479936}, 2, 1, 100000, 1) = 1 -337765155486958:337765155771675 158125:158125 hsa_signal_wait_scacquire({handle=140281307479936}, 2, 1, 18446744073709551615, 0) = 0 -337765155772277:337765155772758 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281307479936}, 0x7ffea16f3490) = 0 -337765155773599:337765155799518 158125:158125 hsa_amd_memory_unlock(0x7f95c88ff000) = 0 -337765155817161:337765155817422 158125:158125 hsa_signal_load_relaxed({handle=140281307479936}) = 0 -337765155818113:337765155818514 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 38 -337765155819325:337765155819736 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 38 -337765155820638:337765155820878 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307479808}, 1) = void -337765155821449:337765155821720 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 38 -337765155822231:337765155822832 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 38) = void -337765155829184:337765156502424 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c84fe000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765156503907:337765156504217 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 39 -337765156506311:337765156506572 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 39 -337765156507193:337765156507523 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307479680}, 1) = void -337765156508165:337765156508425 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 39 -337765156508906:337765156509497 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 39) = void -337765156510068:337765156510349 158125:158125 hsa_signal_load_relaxed({handle=140281307479680}) = 1 -337765156510830:337765156511060 158125:158125 hsa_signal_load_relaxed({handle=140281307479680}) = 1 -337765156511551:337765156521880 158125:158125 hsa_signal_wait_scacquire({handle=140281307479680}, 2, 1, 10000, 1) = 1 -337765156522572:337765156522802 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307479552}, 1) = void -337765156523463:337765156524576 158125:158125 hsa_amd_memory_async_copy(0x7f9482800010, {handle=32855168}, 0x7f9484c00000, {handle=33084688}, 4194304, 1, 0x20f29b0, {handle=140281307479552}) = 0 -337765156525197:337765156525828 158125:158125 hsa_signal_load_relaxed({handle=140281307479680}) = 0 -337765156526379:337765156526960 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307479680}, 0x7ffea16f3480) = 0 -337765156527481:337765156527711 158125:158125 hsa_signal_load_relaxed({handle=140281307479552}) = 1 -337765156528202:337765156628472 158125:158125 hsa_signal_wait_scacquire({handle=140281307479552}, 2, 1, 100000, 1) = 1 -337765156628952:337765156909662 158125:158125 hsa_signal_wait_scacquire({handle=140281307479552}, 2, 1, 18446744073709551615, 0) = 0 -337765156910243:337765156910544 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281307479552}, 0x7ffea16f3490) = 0 -337765156911315:337765156938246 158125:158125 hsa_amd_memory_unlock(0x7f95c84fe000) = 0 -337765156940570:337765156940821 158125:158125 hsa_signal_load_relaxed({handle=140281307479808}) = 0 -337765156941342:337765156941612 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307479808}, 0x7ffea16f3570) = 0 -337765165230035:337765167276215 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c88ff000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765167278198:337765167278519 158125:158125 hsa_signal_load_relaxed({handle=140281307479552}) = 0 -337765167279982:337765167280252 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307479424}, 1) = void -337765167280974:337765167282116 158125:158125 hsa_amd_memory_async_copy(0x7f95c0800000, {handle=33084688}, 0x7f9482800010, {handle=32855168}, 4194304, 0, 0, {handle=140281307479424}) = 0 -337765167282737:337765167282967 158125:158125 hsa_signal_load_relaxed({handle=140281307479424}) = 1 -337765167283649:337765167383988 158125:158125 hsa_signal_wait_scacquire({handle=140281307479424}, 2, 1, 100000, 1) = 1 -337765167384639:337765167667813 158125:158125 hsa_signal_wait_scacquire({handle=140281307479424}, 2, 1, 18446744073709551615, 0) = 0 -337765167668414:337765167668895 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281307479424}, 0x7ffea16f3490) = 0 -337765167669647:337765167696888 158125:158125 hsa_amd_memory_unlock(0x7f95c88ff000) = 0 -337765167712498:337765167712768 158125:158125 hsa_signal_load_relaxed({handle=140281307479424}) = 0 -337765167715493:337765167715794 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 40 -337765167716435:337765167716856 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 40 -337765167717747:337765167717998 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307479296}, 1) = void -337765167718589:337765167718860 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 40 -337765167719381:337765167719982 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 40) = void -337765167728067:337765168406016 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c84fe000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765168407418:337765168407729 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 41 -337765168408260:337765168408500 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 41 -337765168409091:337765168409342 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307479168}, 1) = void -337765168409933:337765168410194 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 41 -337765168410684:337765168411266 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 41) = void -337765168411847:337765168412127 158125:158125 hsa_signal_load_relaxed({handle=140281307479168}) = 1 -337765168412618:337765168412849 158125:158125 hsa_signal_load_relaxed({handle=140281307479168}) = 1 -337765168413349:337765168423679 158125:158125 hsa_signal_wait_scacquire({handle=140281307479168}, 2, 1, 10000, 1) = 1 -337765168424310:337765168424551 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307479040}, 1) = void -337765168425222:337765168426344 158125:158125 hsa_amd_memory_async_copy(0x7f9482800010, {handle=32855168}, 0x7f9484c00000, {handle=33084688}, 4194304, 1, 0x20f2ac0, {handle=140281307479040}) = 0 -337765168426975:337765168427296 158125:158125 hsa_signal_load_relaxed({handle=140281307479168}) = 0 -337765168427847:337765168428919 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307479168}, 0x7ffea16f3480) = 0 -337765168429460:337765168429690 158125:158125 hsa_signal_load_relaxed({handle=140281307479040}) = 1 -337765168430171:337765168530440 158125:158125 hsa_signal_wait_scacquire({handle=140281307479040}, 2, 1, 100000, 1) = 1 -337765168530931:337765168813414 158125:158125 hsa_signal_wait_scacquire({handle=140281307479040}, 2, 1, 18446744073709551615, 0) = 0 -337765168813995:337765168814286 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281307479040}, 0x7ffea16f3490) = 0 -337765168815027:337765168840355 158125:158125 hsa_amd_memory_unlock(0x7f95c84fe000) = 0 -337765168841978:337765168842228 158125:158125 hsa_signal_load_relaxed({handle=140281307479296}) = 0 -337765168842749:337765168843020 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307479296}, 0x7ffea16f3570) = 0 -337765177115723:337765179080639 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c88ff000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765179082623:337765179082924 158125:158125 hsa_signal_load_relaxed({handle=140281307479040}) = 0 -337765179083805:337765179084066 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307478912}, 1) = void -337765179084667:337765179085899 158125:158125 hsa_amd_memory_async_copy(0x7f95c0800000, {handle=33084688}, 0x7f9482800010, {handle=32855168}, 4194304, 0, 0, {handle=140281307478912}) = 0 -337765179088745:337765179088985 158125:158125 hsa_signal_load_relaxed({handle=140281307478912}) = 1 -337765179089596:337765179189926 158125:158125 hsa_signal_wait_scacquire({handle=140281307478912}, 2, 1, 100000, 1) = 1 -337765179190417:337765179470715 158125:158125 hsa_signal_wait_scacquire({handle=140281307478912}, 2, 1, 18446744073709551615, 0) = 0 -337765179471296:337765179471647 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281307478912}, 0x7ffea16f3490) = 0 -337765179472619:337765179500101 158125:158125 hsa_amd_memory_unlock(0x7f95c88ff000) = 0 -337765179517343:337765179517644 158125:158125 hsa_signal_load_relaxed({handle=140281307478912}) = 0 -337765179518275:337765179519026 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 42 -337765179519648:337765179519968 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 42 -337765179520599:337765179520850 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307478784}, 1) = void -337765179521411:337765179521681 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 42 -337765179522182:337765179522934 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 42) = void -337765179530077:337765180198869 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c84fe000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765180200141:337765180200442 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 43 -337765180200953:337765180201193 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 43 -337765180201804:337765180202105 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307478656}, 1) = void -337765180202676:337765180202936 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 43 -337765180203427:337765180204018 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 43) = void -337765180204599:337765180204840 158125:158125 hsa_signal_load_relaxed({handle=140281307478656}) = 1 -337765180205321:337765180205551 158125:158125 hsa_signal_load_relaxed({handle=140281307478656}) = 1 -337765180206072:337765180216382 158125:158125 hsa_signal_wait_scacquire({handle=140281307478656}, 2, 1, 10000, 1) = 1 -337765180217003:337765180217233 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307478528}, 1) = void -337765180217915:337765180219237 158125:158125 hsa_amd_memory_async_copy(0x7f9482800010, {handle=32855168}, 0x7f9484c00000, {handle=33084688}, 4194304, 1, 0x20f2bd0, {handle=140281307478528}) = 0 -337765180219888:337765180220199 158125:158125 hsa_signal_load_relaxed({handle=140281307478656}) = 0 -337765180220730:337765180221201 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307478656}, 0x7ffea16f3480) = 0 -337765180221732:337765180221972 158125:158125 hsa_signal_load_relaxed({handle=140281307478528}) = 1 -337765180222453:337765180322742 158125:158125 hsa_signal_wait_scacquire({handle=140281307478528}, 2, 1, 100000, 1) = 1 -337765180323233:337765180602961 158125:158125 hsa_signal_wait_scacquire({handle=140281307478528}, 2, 1, 18446744073709551615, 0) = 0 -337765180603542:337765180603832 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281307478528}, 0x7ffea16f3490) = 0 -337765180606728:337765180633919 158125:158125 hsa_amd_memory_unlock(0x7f95c84fe000) = 0 -337765180635863:337765180636133 158125:158125 hsa_signal_load_relaxed({handle=140281307478784}) = 0 -337765180636664:337765180636975 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307478784}, 0x7ffea16f3570) = 0 -337765188918786:337765190902657 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c88ff000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765190904511:337765190904812 158125:158125 hsa_signal_load_relaxed({handle=140281307478528}) = 0 -337765190905773:337765190906284 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307478400}, 1) = void -337765190907106:337765190908278 158125:158125 hsa_amd_memory_async_copy(0x7f95c0800000, {handle=33084688}, 0x7f9482800010, {handle=32855168}, 4194304, 0, 0, {handle=140281307478400}) = 0 -337765190908899:337765190909140 158125:158125 hsa_signal_load_relaxed({handle=140281307478400}) = 1 -337765190909741:337765191010050 158125:158125 hsa_signal_wait_scacquire({handle=140281307478400}, 2, 1, 100000, 1) = 1 -337765191010551:337765191293485 158125:158125 hsa_signal_wait_scacquire({handle=140281307478400}, 2, 1, 18446744073709551615, 0) = 0 -337765191294076:337765191294537 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281307478400}, 0x7ffea16f3490) = 0 -337765191295448:337765191322459 158125:158125 hsa_amd_memory_unlock(0x7f95c88ff000) = 0 -337765191337688:337765191337969 158125:158125 hsa_signal_load_relaxed({handle=140281307478400}) = 0 -337765191338590:337765191338890 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 44 -337765191339421:337765191339832 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 44 -337765191340593:337765191340824 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307478272}, 1) = void -337765191341505:337765191341776 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 44 -337765191342317:337765191342938 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 44) = void -337765191352135:337765192023381 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c84fe000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765192024694:337765192024994 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 45 -337765192025515:337765192025766 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 45 -337765192026287:337765192026587 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307478144}, 1) = void -337765192027189:337765192027439 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 45 -337765192027920:337765192028501 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 45) = void -337765192029072:337765192029343 158125:158125 hsa_signal_load_relaxed({handle=140281307478144}) = 1 -337765192029844:337765192030074 158125:158125 hsa_signal_load_relaxed({handle=140281307478144}) = 1 -337765192030575:337765192040884 158125:158125 hsa_signal_wait_scacquire({handle=140281307478144}, 2, 1, 10000, 1) = 1 -337765192041516:337765192041846 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307478016}, 1) = void -337765192044161:337765192045303 158125:158125 hsa_amd_memory_async_copy(0x7f9482800010, {handle=32855168}, 0x7f9484c00000, {handle=33084688}, 4194304, 1, 0x20f2ce0, {handle=140281307478016}) = 0 -337765192045944:337765192046184 158125:158125 hsa_signal_load_relaxed({handle=140281307478144}) = 0 -337765192046735:337765192047347 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307478144}, 0x7ffea16f3480) = 0 -337765192047888:337765192048118 158125:158125 hsa_signal_load_relaxed({handle=140281307478016}) = 1 -337765192048609:337765192149018 158125:158125 hsa_signal_wait_scacquire({handle=140281307478016}, 2, 1, 100000, 1) = 1 -337765192149519:337765192429207 158125:158125 hsa_signal_wait_scacquire({handle=140281307478016}, 2, 1, 18446744073709551615, 0) = 0 -337765192429798:337765192430078 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281307478016}, 0x7ffea16f3490) = 0 -337765192430840:337765192458081 158125:158125 hsa_amd_memory_unlock(0x7f95c84fe000) = 0 -337765192459975:337765192460305 158125:158125 hsa_signal_load_relaxed({handle=140281307478272}) = 0 -337765192460846:337765192461127 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307478272}, 0x7ffea16f3570) = 0 -337765200796677:337765202786420 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c88ff000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765202788234:337765202788574 158125:158125 hsa_signal_load_relaxed({handle=140281307478016}) = 0 -337765202789626:337765202789887 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307477888}, 1) = void -337765202790598:337765202791720 158125:158125 hsa_amd_memory_async_copy(0x7f95c0800000, {handle=33084688}, 0x7f9482800010, {handle=32855168}, 4194304, 0, 0, {handle=140281307477888}) = 0 -337765202792401:337765202792642 158125:158125 hsa_signal_load_relaxed({handle=140281307477888}) = 1 -337765202793153:337765202893472 158125:158125 hsa_signal_wait_scacquire({handle=140281307477888}, 2, 1, 100000, 1) = 1 -337765202893983:337765203176837 158125:158125 hsa_signal_wait_scacquire({handle=140281307477888}, 2, 1, 18446744073709551615, 0) = 0 -337765203177398:337765203181205 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281307477888}, 0x7ffea16f3490) = 0 -337765203182006:337765203208246 158125:158125 hsa_amd_memory_unlock(0x7f95c88ff000) = 0 -337765203225118:337765203225388 158125:158125 hsa_signal_load_relaxed({handle=140281307477888}) = 0 -337765203226089:337765203226390 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 46 -337765203226931:337765203227262 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 46 -337765203227953:337765203228193 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307477760}, 1) = void -337765203228754:337765203229025 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 46 -337765203229536:337765203230277 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 46) = void -337765203236770:337765203911663 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c84fe000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765203912855:337765203913125 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 47 -337765203913626:337765203913867 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 47 -337765203914448:337765203914738 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307477632}, 1) = void -337765203916812:337765203917083 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 47 -337765203917584:337765203918165 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 47) = void -337765203918736:337765203918996 158125:158125 hsa_signal_load_relaxed({handle=140281307477632}) = 1 -337765203919477:337765203919708 158125:158125 hsa_signal_load_relaxed({handle=140281307477632}) = 1 -337765203920219:337765203930518 158125:158125 hsa_signal_wait_scacquire({handle=140281307477632}, 2, 1, 10000, 1) = 1 -337765203931099:337765203931340 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353623040}, 1) = void -337765203931981:337765203932933 158125:158125 hsa_amd_memory_async_copy(0x7f9482800010, {handle=32855168}, 0x7f9484c00000, {handle=33084688}, 4194304, 1, 0x20f2df0, {handle=140281353623040}) = 0 -337765203933564:337765203933884 158125:158125 hsa_signal_load_relaxed({handle=140281307477632}) = 0 -337765203934425:337765203934906 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307477632}, 0x7ffea16f3480) = 0 -337765203935427:337765203935658 158125:158125 hsa_signal_load_relaxed({handle=140281353623040}) = 1 -337765203936139:337765204036508 158125:158125 hsa_signal_wait_scacquire({handle=140281353623040}, 2, 1, 100000, 1) = 1 -337765204037049:337765204320524 158125:158125 hsa_signal_wait_scacquire({handle=140281353623040}, 2, 1, 18446744073709551615, 0) = 0 -337765204321105:337765204321395 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281353623040}, 0x7ffea16f3490) = 0 -337765204322177:337765204347224 158125:158125 hsa_amd_memory_unlock(0x7f95c84fe000) = 0 -337765204349448:337765204349709 158125:158125 hsa_signal_load_relaxed({handle=140281307477760}) = 0 -337765204350230:337765204350530 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307477760}, 0x7ffea16f3570) = 0 -337765212607434:337765214620160 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c88ff000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765214622114:337765214622675 158125:158125 hsa_signal_load_relaxed({handle=140281353623040}) = 0 -337765214623807:337765214624178 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353622912}, 1) = void -337765214624919:337765214626652 158125:158125 hsa_amd_memory_async_copy(0x7f95c0800000, {handle=33084688}, 0x7f9482800010, {handle=32855168}, 4194304, 0, 0, {handle=140281353622912}) = 0 -337765214627264:337765214627494 158125:158125 hsa_signal_load_relaxed({handle=140281353622912}) = 1 -337765214627995:337765214728314 158125:158125 hsa_signal_wait_scacquire({handle=140281353622912}, 2, 1, 100000, 1) = 1 -337765214728815:337765215012560 158125:158125 hsa_signal_wait_scacquire({handle=140281353622912}, 2, 1, 18446744073709551615, 0) = 0 -337765215013151:337765215013632 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281353622912}, 0x7ffea16f3490) = 0 -337765215014464:337765215042126 158125:158125 hsa_amd_memory_unlock(0x7f95c88ff000) = 0 -337765215056433:337765215056704 158125:158125 hsa_signal_load_relaxed({handle=140281353622912}) = 0 -337765215057325:337765215057625 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 48 -337765215058166:337765215058507 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 48 -337765215061453:337765215061813 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353622784}, 1) = void -337765215062515:337765215062785 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 48 -337765215063316:337765215063927 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 48) = void -337765215072173:337765215752155 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c84fe000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765215753298:337765215753588 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 49 -337765215754109:337765215754339 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 49 -337765215754830:337765215755201 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353622656}, 1) = void -337765215755772:337765215756043 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 49 -337765215756544:337765215757125 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 49) = void -337765215757666:337765215757936 158125:158125 hsa_signal_load_relaxed({handle=140281353622656}) = 1 -337765215758407:337765215758638 158125:158125 hsa_signal_load_relaxed({handle=140281353622656}) = 1 -337765215759118:337765215769438 158125:158125 hsa_signal_wait_scacquire({handle=140281353622656}, 2, 1, 10000, 1) = 1 -337765215770009:337765215770340 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353622528}, 1) = void -337765215770961:337765215772303 158125:158125 hsa_amd_memory_async_copy(0x7f9482800010, {handle=32855168}, 0x7f9484c00000, {handle=33084688}, 4194304, 1, 0x20f2f00, {handle=140281353622528}) = 0 -337765215772975:337765215773335 158125:158125 hsa_signal_load_relaxed({handle=140281353622656}) = 0 -337765215773866:337765215774337 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281353622656}, 0x7ffea16f3480) = 0 -337765215774858:337765215775099 158125:158125 hsa_signal_load_relaxed({handle=140281353622528}) = 1 -337765215775570:337765215875859 158125:158125 hsa_signal_wait_scacquire({handle=140281353622528}, 2, 1, 100000, 1) = 1 -337765215876340:337765216158412 158125:158125 hsa_signal_wait_scacquire({handle=140281353622528}, 2, 1, 18446744073709551615, 0) = 0 -337765216159013:337765216159313 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281353622528}, 0x7ffea16f3490) = 0 -337765216160145:337765216184952 158125:158125 hsa_amd_memory_unlock(0x7f95c84fe000) = 0 -337765216187126:337765216187446 158125:158125 hsa_signal_load_relaxed({handle=140281353622784}) = 0 -337765216188098:337765216188438 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281353622784}, 0x7ffea16f3570) = 0 -337765224486379:337765226507381 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c88ff000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765226509335:337765226509896 158125:158125 hsa_signal_load_relaxed({handle=140281353622528}) = 0 -337765226510838:337765226511198 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353622400}, 1) = void -337765226511940:337765226513162 158125:158125 hsa_amd_memory_async_copy(0x7f95c0800000, {handle=33084688}, 0x7f9482800010, {handle=32855168}, 4194304, 0, 0, {handle=140281353622400}) = 0 -337765226513773:337765226514014 158125:158125 hsa_signal_load_relaxed({handle=140281353622400}) = 1 -337765226514595:337765226614924 158125:158125 hsa_signal_wait_scacquire({handle=140281353622400}, 2, 1, 100000, 1) = 1 -337765226617960:337765226932623 158125:158125 hsa_signal_wait_scacquire({handle=140281353622400}, 2, 1, 18446744073709551615, 0) = 0 -337765226933174:337765226933515 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281353622400}, 0x7ffea16f3490) = 0 -337765226934276:337765226960576 158125:158125 hsa_amd_memory_unlock(0x7f95c88ff000) = 0 -337765226976907:337765226977177 158125:158125 hsa_signal_load_relaxed({handle=140281353622400}) = 0 -337765226977879:337765226978279 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 50 -337765226978911:337765226979241 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 50 -337765226979973:337765226980213 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353622272}, 1) = void -337765226980794:337765226981055 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 50 -337765226981666:337765226982257 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 50) = void -337765226991094:337765227661418 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c84fe000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765227662700:337765227662991 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 51 -337765227663502:337765227663742 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 51 -337765227664343:337765227664644 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353622144}, 1) = void -337765227665225:337765227665476 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 51 -337765227665977:337765227666558 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 51) = void -337765227667139:337765227667399 158125:158125 hsa_signal_load_relaxed({handle=140281353622144}) = 1 -337765227667880:337765227668121 158125:158125 hsa_signal_load_relaxed({handle=140281353622144}) = 1 -337765227668632:337765227678941 158125:158125 hsa_signal_wait_scacquire({handle=140281353622144}, 2, 1, 10000, 1) = 1 -337765227679512:337765227679752 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353622016}, 1) = void -337765227680384:337765227681356 158125:158125 hsa_amd_memory_async_copy(0x7f9482800010, {handle=32855168}, 0x7f9484c00000, {handle=33084688}, 4194304, 1, 0x251fea0, {handle=140281353622016}) = 0 -337765227682007:337765227682357 158125:158125 hsa_signal_load_relaxed({handle=140281353622144}) = 0 -337765227682888:337765227683399 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281353622144}, 0x7ffea16f3480) = 0 -337765227683930:337765227684171 158125:158125 hsa_signal_load_relaxed({handle=140281353622016}) = 1 -337765227684642:337765227784931 158125:158125 hsa_signal_wait_scacquire({handle=140281353622016}, 2, 1, 100000, 1) = 1 -337765227785412:337765228067965 158125:158125 hsa_signal_wait_scacquire({handle=140281353622016}, 2, 1, 18446744073709551615, 0) = 0 -337765228068556:337765228068856 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281353622016}, 0x7ffea16f3490) = 0 -337765228069638:337765228094956 158125:158125 hsa_amd_memory_unlock(0x7f95c84fe000) = 0 -337765228096599:337765228096859 158125:158125 hsa_signal_load_relaxed({handle=140281353622272}) = 0 -337765228098823:337765228099133 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281353622272}, 0x7ffea16f3570) = 0 -337765236383299:337765238428266 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c88ff000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765238430280:337765238430690 158125:158125 hsa_signal_load_relaxed({handle=140281353622016}) = 0 -337765238432263:337765238432554 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353621888}, 1) = void -337765238433285:337765238434517 158125:158125 hsa_amd_memory_async_copy(0x7f95c0800000, {handle=33084688}, 0x7f9482800010, {handle=32855168}, 4194304, 0, 0, {handle=140281353621888}) = 0 -337765238435129:337765238435359 158125:158125 hsa_signal_load_relaxed({handle=140281353621888}) = 1 -337765238435870:337765238536289 158125:158125 hsa_signal_wait_scacquire({handle=140281353621888}, 2, 1, 100000, 1) = 1 -337765238536891:337765238830084 158125:158125 hsa_signal_wait_scacquire({handle=140281353621888}, 2, 1, 18446744073709551615, 0) = 0 -337765238830795:337765238831176 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281353621888}, 0x7ffea16f3490) = 0 -337765238832017:337765238858487 158125:158125 hsa_amd_memory_unlock(0x7f95c88ff000) = 0 -337765238873255:337765238873526 158125:158125 hsa_signal_load_relaxed({handle=140281353621888}) = 0 -337765238874157:337765238874467 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 52 -337765238875088:337765238875419 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 52 -337765238876431:337765238876661 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353621760}, 1) = void -337765238877754:337765238878024 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 52 -337765238878635:337765238879226 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 52) = void -337765238888223:337765239561473 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c84fe000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765239562665:337765239562946 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 53 -337765239563467:337765239563707 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 53 -337765239564288:337765239564589 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353621632}, 1) = void -337765239565210:337765239565471 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 53 -337765239566052:337765239566633 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 53) = void -337765239567304:337765239567575 158125:158125 hsa_signal_load_relaxed({handle=140281353621632}) = 1 -337765239568156:337765239568396 158125:158125 hsa_signal_load_relaxed({handle=140281353621632}) = 1 -337765239568887:337765239579197 158125:158125 hsa_signal_wait_scacquire({handle=140281353621632}, 2, 1, 10000, 1) = 1 -337765239579768:337765239580008 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353621504}, 1) = void -337765239580649:337765239581791 158125:158125 hsa_amd_memory_async_copy(0x7f9482800010, {handle=32855168}, 0x7f9484c00000, {handle=33084688}, 4194304, 1, 0x251ffb0, {handle=140281353621504}) = 0 -337765239582413:337765239582773 158125:158125 hsa_signal_load_relaxed({handle=140281353621632}) = 0 -337765239583304:337765239583795 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281353621632}, 0x7ffea16f3480) = 0 -337765239586430:337765239586681 158125:158125 hsa_signal_load_relaxed({handle=140281353621504}) = 1 -337765239587172:337765239687441 158125:158125 hsa_signal_wait_scacquire({handle=140281353621504}, 2, 1, 100000, 1) = 1 -337765239687932:337765239966878 158125:158125 hsa_signal_wait_scacquire({handle=140281353621504}, 2, 1, 18446744073709551615, 0) = 0 -337765239967459:337765239967749 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281353621504}, 0x7ffea16f3490) = 0 -337765239968531:337765239993768 158125:158125 hsa_amd_memory_unlock(0x7f95c84fe000) = 0 -337765239995462:337765239995722 158125:158125 hsa_signal_load_relaxed({handle=140281353621760}) = 0 -337765239996253:337765239996564 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281353621760}, 0x7ffea16f3570) = 0 -337765248327717:337765250370961 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c88ff000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765250372975:337765250373606 158125:158125 hsa_signal_load_relaxed({handle=140281353621504}) = 0 -337765250374738:337765250375019 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307479936}, 1) = void -337765250375760:337765250377093 158125:158125 hsa_amd_memory_async_copy(0x7f95c0800000, {handle=33084688}, 0x7f9482800010, {handle=32855168}, 4194304, 0, 0, {handle=140281307479936}) = 0 -337765250377714:337765250377944 158125:158125 hsa_signal_load_relaxed({handle=140281307479936}) = 1 -337765250378616:337765250478925 158125:158125 hsa_signal_wait_scacquire({handle=140281307479936}, 2, 1, 100000, 1) = 1 -337765250479526:337765250764233 158125:158125 hsa_signal_wait_scacquire({handle=140281307479936}, 2, 1, 18446744073709551615, 0) = 0 -337765250765045:337765250765435 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281307479936}, 0x7ffea16f3490) = 0 -337765250766177:337765250792326 158125:158125 hsa_amd_memory_unlock(0x7f95c88ff000) = 0 -337765250809278:337765250809539 158125:158125 hsa_signal_load_relaxed({handle=140281307479936}) = 0 -337765250810160:337765250810460 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 54 -337765250811172:337765250811883 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 54 -337765250812895:337765250813125 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307479808}, 1) = void -337765250813756:337765250814027 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 54 -337765250814648:337765250815259 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 54) = void -337765250821722:337765251492356 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c84fe000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765251493519:337765251493789 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 55 -337765251494290:337765251494541 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 55 -337765251495142:337765251495412 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307479680}, 1) = void -337765251495983:337765251496254 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 55 -337765251496735:337765251497316 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 55) = void -337765251499320:337765251499590 158125:158125 hsa_signal_load_relaxed({handle=140281307479680}) = 1 -337765251500071:337765251500311 158125:158125 hsa_signal_load_relaxed({handle=140281307479680}) = 1 -337765251500812:337765251510901 158125:158125 hsa_signal_wait_scacquire({handle=140281307479680}, 2, 1, 10000, 1) = 0 -337765251511482:337765251511723 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307479552}, 1) = void -337765251512344:337765251513466 158125:158125 hsa_amd_memory_async_copy(0x7f9482800010, {handle=32855168}, 0x7f9484c00000, {handle=33084688}, 4194304, 0, 0, {handle=140281307479552}) = 0 -337765251514087:337765251514318 158125:158125 hsa_signal_load_relaxed({handle=140281307479680}) = 0 -337765251514869:337765251515540 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307479680}, 0x7ffea16f3480) = 0 -337765251516071:337765251516302 158125:158125 hsa_signal_load_relaxed({handle=140281307479552}) = 1 -337765251516772:337765251617042 158125:158125 hsa_signal_wait_scacquire({handle=140281307479552}, 2, 1, 100000, 1) = 1 -337765251617512:337765251894254 158125:158125 hsa_signal_wait_scacquire({handle=140281307479552}, 2, 1, 18446744073709551615, 0) = 0 -337765251894846:337765251895146 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281307479552}, 0x7ffea16f3490) = 0 -337765251895998:337765251922528 158125:158125 hsa_amd_memory_unlock(0x7f95c84fe000) = 0 -337765251924321:337765251924572 158125:158125 hsa_signal_load_relaxed({handle=140281307479808}) = 0 -337765251925103:337765251925373 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307479808}, 0x7ffea16f3570) = 0 -337765260177388:337765262170948 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c88ff000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765262172801:337765262173222 158125:158125 hsa_signal_load_relaxed({handle=140281307479552}) = 0 -337765262174284:337765262174555 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307479424}, 1) = void -337765262175977:337765262177280 158125:158125 hsa_amd_memory_async_copy(0x7f95c0800000, {handle=33084688}, 0x7f9482800010, {handle=32855168}, 4194304, 0, 0, {handle=140281307479424}) = 0 -337765262177901:337765262178141 158125:158125 hsa_signal_load_relaxed({handle=140281307479424}) = 1 -337765262178742:337765262279122 158125:158125 hsa_signal_wait_scacquire({handle=140281307479424}, 2, 1, 100000, 1) = 1 -337765262279863:337765262562767 158125:158125 hsa_signal_wait_scacquire({handle=140281307479424}, 2, 1, 18446744073709551615, 0) = 0 -337765262563508:337765262564049 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281307479424}, 0x7ffea16f3490) = 0 -337765262564991:337765262591761 158125:158125 hsa_amd_memory_unlock(0x7f95c88ff000) = 0 -337765262609054:337765262609325 158125:158125 hsa_signal_load_relaxed({handle=140281307479424}) = 0 -337765262610146:337765262610537 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 56 -337765262611148:337765262611569 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 56 -337765262612300:337765262612541 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307479296}, 1) = void -337765262613092:337765262613372 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 56 -337765262613973:337765262614705 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 56) = void -337765262621978:337765263294206 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c84fe000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765263295409:337765263295689 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 57 -337765263296210:337765263296441 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 57 -337765263297082:337765263297392 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307479168}, 1) = void -337765263297994:337765263298274 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 57 -337765263298785:337765263299366 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 57) = void -337765263299927:337765263300168 158125:158125 hsa_signal_load_relaxed({handle=140281307479168}) = 1 -337765263300659:337765263300889 158125:158125 hsa_signal_load_relaxed({handle=140281307479168}) = 1 -337765263301390:337765263311699 158125:158125 hsa_signal_wait_scacquire({handle=140281307479168}, 2, 1, 10000, 1) = 1 -337765263312341:337765263312581 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307479040}, 1) = void -337765263313242:337765263314204 158125:158125 hsa_amd_memory_async_copy(0x7f9482800010, {handle=32855168}, 0x7f9484c00000, {handle=33084688}, 4194304, 1, 0x25201d0, {handle=140281307479040}) = 0 -337765263314835:337765263315146 158125:158125 hsa_signal_load_relaxed({handle=140281307479168}) = 0 -337765263315697:337765263316168 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307479168}, 0x7ffea16f3480) = 0 -337765263316799:337765263317039 158125:158125 hsa_signal_load_relaxed({handle=140281307479040}) = 1 -337765263317530:337765263417810 158125:158125 hsa_signal_wait_scacquire({handle=140281307479040}, 2, 1, 100000, 1) = 1 -337765263418290:337765263693710 158125:158125 hsa_signal_wait_scacquire({handle=140281307479040}, 2, 1, 18446744073709551615, 0) = 0 -337765263694301:337765263694592 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281307479040}, 0x7ffea16f3490) = 0 -337765263695373:337765263720811 158125:158125 hsa_amd_memory_unlock(0x7f95c84fe000) = 0 -337765263722434:337765263722695 158125:158125 hsa_signal_load_relaxed({handle=140281307479296}) = 0 -337765263723216:337765263723496 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307479296}, 0x7ffea16f3570) = 0 -337765272035903:337765274026748 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c88ff000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765274028631:337765274028972 158125:158125 hsa_signal_load_relaxed({handle=140281307479040}) = 0 -337765274029974:337765274030264 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307478912}, 1) = void -337765274030996:337765274032739 158125:158125 hsa_amd_memory_async_copy(0x7f95c0800000, {handle=33084688}, 0x7f9482800010, {handle=32855168}, 4194304, 0, 0, {handle=140281307478912}) = 0 -337765274033350:337765274033591 158125:158125 hsa_signal_load_relaxed({handle=140281307478912}) = 1 -337765274034102:337765274134421 158125:158125 hsa_signal_wait_scacquire({handle=140281307478912}, 2, 1, 100000, 1) = 1 -337765274135002:337765274418286 158125:158125 hsa_signal_wait_scacquire({handle=140281307478912}, 2, 1, 18446744073709551615, 0) = 0 -337765274418907:337765274422845 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281307478912}, 0x7ffea16f3490) = 0 -337765274425870:337765274453913 158125:158125 hsa_amd_memory_unlock(0x7f95c88ff000) = 0 -337765274471537:337765274471847 158125:158125 hsa_signal_load_relaxed({handle=140281307478912}) = 0 -337765274472559:337765274472859 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 58 -337765274473651:337765274474061 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 58 -337765274474813:337765274475043 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307478784}, 1) = void -337765274475735:337765274476015 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 58 -337765274476556:337765274477157 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 58) = void -337765274483970:337765275157671 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c84fe000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765275158903:337765275159174 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 59 -337765275159685:337765275159925 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 59 -337765275160526:337765275160827 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307478656}, 1) = void -337765275161398:337765275161648 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 59 -337765275162149:337765275162730 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 59) = void -337765275163281:337765275163532 158125:158125 hsa_signal_load_relaxed({handle=140281307478656}) = 1 -337765275164013:337765275164253 158125:158125 hsa_signal_load_relaxed({handle=140281307478656}) = 1 -337765275164744:337765275175033 158125:158125 hsa_signal_wait_scacquire({handle=140281307478656}, 2, 1, 10000, 1) = 1 -337765275175655:337765275175895 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307478528}, 1) = void -337765275176536:337765275177528 158125:158125 hsa_amd_memory_async_copy(0x7f9482800010, {handle=32855168}, 0x7f9484c00000, {handle=33084688}, 4194304, 1, 0x25202e0, {handle=140281307478528}) = 0 -337765275178139:337765275178460 158125:158125 hsa_signal_load_relaxed({handle=140281307478656}) = 0 -337765275179001:337765275179502 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307478656}, 0x7ffea16f3480) = 0 -337765275180023:337765275180263 158125:158125 hsa_signal_load_relaxed({handle=140281307478528}) = 1 -337765275180744:337765275281033 158125:158125 hsa_signal_wait_scacquire({handle=140281307478528}, 2, 1, 100000, 1) = 1 -337765275281504:337765275561172 158125:158125 hsa_signal_wait_scacquire({handle=140281307478528}, 2, 1, 18446744073709551615, 0) = 0 -337765275561753:337765275562043 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281307478528}, 0x7ffea16f3490) = 0 -337765275562815:337765275587982 158125:158125 hsa_amd_memory_unlock(0x7f95c84fe000) = 0 -337765275589856:337765275590116 158125:158125 hsa_signal_load_relaxed({handle=140281307478784}) = 0 -337765275590647:337765275590978 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307478784}, 0x7ffea16f3570) = 0 -337765283875694:337765285847824 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c88ff000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765285852132:337765285852573 158125:158125 hsa_signal_load_relaxed({handle=140281307478528}) = 0 -337765285853485:337765285853765 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307478400}, 1) = void -337765285854496:337765285855709 158125:158125 hsa_amd_memory_async_copy(0x7f95c0800000, {handle=33084688}, 0x7f9482800010, {handle=32855168}, 4194304, 0, 0, {handle=140281307478400}) = 0 -337765285856320:337765285856560 158125:158125 hsa_signal_load_relaxed({handle=140281307478400}) = 1 -337765285857061:337765285957391 158125:158125 hsa_signal_wait_scacquire({handle=140281307478400}, 2, 1, 100000, 1) = 1 -337765285957891:337765286240845 158125:158125 hsa_signal_wait_scacquire({handle=140281307478400}, 2, 1, 18446744073709551615, 0) = 0 -337765286241456:337765286241927 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281307478400}, 0x7ffea16f3490) = 0 -337765286242699:337765286270952 158125:158125 hsa_amd_memory_unlock(0x7f95c88ff000) = 0 -337765286287954:337765286288225 158125:158125 hsa_signal_load_relaxed({handle=140281307478400}) = 0 -337765286288926:337765286289317 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 60 -337765286289958:337765286290389 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 60 -337765286291200:337765286291441 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307478272}, 1) = void -337765286292062:337765286292332 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 60 -337765286292853:337765286293585 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 60) = void -337765286300237:337765286979378 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c84fe000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765286980570:337765286980851 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 61 -337765286981372:337765286981612 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 61 -337765286982203:337765286982464 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307478144}, 1) = void -337765286983025:337765286983276 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 61 -337765286983796:337765286984378 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 61) = void -337765286984949:337765286985209 158125:158125 hsa_signal_load_relaxed({handle=140281307478144}) = 1 -337765286985690:337765286985931 158125:158125 hsa_signal_load_relaxed({handle=140281307478144}) = 1 -337765286986421:337765286996741 158125:158125 hsa_signal_wait_scacquire({handle=140281307478144}, 2, 1, 10000, 1) = 1 -337765286997673:337765286998013 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307478016}, 1) = void -337765286998634:337765286999696 158125:158125 hsa_amd_memory_async_copy(0x7f9482800010, {handle=32855168}, 0x7f9484c00000, {handle=33084688}, 4194304, 1, 0x25203f0, {handle=140281307478016}) = 0 -337765287000318:337765287000638 158125:158125 hsa_signal_load_relaxed({handle=140281307478144}) = 0 -337765287001239:337765287001730 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307478144}, 0x7ffea16f3480) = 0 -337765287002261:337765287002492 158125:158125 hsa_signal_load_relaxed({handle=140281307478016}) = 1 -337765287002973:337765287103242 158125:158125 hsa_signal_wait_scacquire({handle=140281307478016}, 2, 1, 100000, 1) = 1 -337765287105286:337765287383440 158125:158125 hsa_signal_wait_scacquire({handle=140281307478016}, 2, 1, 18446744073709551615, 0) = 0 -337765287384021:337765287384302 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281307478016}, 0x7ffea16f3490) = 0 -337765287385053:337765287410511 158125:158125 hsa_amd_memory_unlock(0x7f95c84fe000) = 0 -337765287412455:337765287412715 158125:158125 hsa_signal_load_relaxed({handle=140281307478272}) = 0 -337765287413246:337765287413547 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307478272}, 0x7ffea16f3570) = 0 -337765295733961:337765297750885 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c88ff000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765297753119:337765297753560 158125:158125 hsa_signal_load_relaxed({handle=140281307478016}) = 0 -337765297754492:337765297754752 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307477888}, 1) = void -337765297755473:337765297756746 158125:158125 hsa_amd_memory_async_copy(0x7f95c0800000, {handle=33084688}, 0x7f9482800010, {handle=32855168}, 4194304, 0, 0, {handle=140281307477888}) = 0 -337765297757367:337765297757597 158125:158125 hsa_signal_load_relaxed({handle=140281307477888}) = 1 -337765297758289:337765297858598 158125:158125 hsa_signal_wait_scacquire({handle=140281307477888}, 2, 1, 100000, 1) = 1 -337765297859189:337765298141582 158125:158125 hsa_signal_wait_scacquire({handle=140281307477888}, 2, 1, 18446744073709551615, 0) = 0 -337765298142724:337765298143064 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281307477888}, 0x7ffea16f3490) = 0 -337765298143786:337765298170065 158125:158125 hsa_amd_memory_unlock(0x7f95c88ff000) = 0 -337765298188079:337765298188360 158125:158125 hsa_signal_load_relaxed({handle=140281307477888}) = 0 -337765298189512:337765298189903 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 62 -337765298190534:337765298190945 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 62 -337765298191816:337765298192057 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307477760}, 1) = void -337765298192718:337765298192989 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 62 -337765298193590:337765298194341 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 62) = void -337765298201334:337765298876969 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c84fe000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765298878201:337765298878492 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 63 -337765298878993:337765298879233 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 63 -337765298879824:337765298880135 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307477632}, 1) = void -337765298880706:337765298880956 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 63 -337765298881447:337765298882018 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 63) = void -337765298882579:337765298882820 158125:158125 hsa_signal_load_relaxed({handle=140281307477632}) = 1 -337765298883291:337765298883521 158125:158125 hsa_signal_load_relaxed({handle=140281307477632}) = 1 -337765298886096:337765298895634 158125:158125 hsa_signal_wait_scacquire({handle=140281307477632}, 2, 1, 10000, 1) = 0 -337765298896305:337765298896546 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353623040}, 1) = void -337765298897187:337765298898189 158125:158125 hsa_amd_memory_async_copy(0x7f9482800010, {handle=32855168}, 0x7f9484c00000, {handle=33084688}, 4194304, 0, 0, {handle=140281353623040}) = 0 -337765298898800:337765298899040 158125:158125 hsa_signal_load_relaxed({handle=140281307477632}) = 0 -337765298899561:337765298900042 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307477632}, 0x7ffea16f3480) = 0 -337765298900573:337765298900814 158125:158125 hsa_signal_load_relaxed({handle=140281353623040}) = 1 -337765298901285:337765299001574 158125:158125 hsa_signal_wait_scacquire({handle=140281353623040}, 2, 1, 100000, 1) = 1 -337765299002045:337765299277715 158125:158125 hsa_signal_wait_scacquire({handle=140281353623040}, 2, 1, 18446744073709551615, 0) = 0 -337765299278296:337765299278586 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281353623040}, 0x7ffea16f3490) = 0 -337765299279348:337765299305687 158125:158125 hsa_amd_memory_unlock(0x7f95c84fe000) = 0 -337765299307641:337765299307912 158125:158125 hsa_signal_load_relaxed({handle=140281307477760}) = 0 -337765299308433:337765299308723 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307477760}, 0x7ffea16f3570) = 0 -337765307580465:337765309592850 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c88ff000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765309594824:337765309595475 158125:158125 hsa_signal_load_relaxed({handle=140281353623040}) = 0 -337765309596567:337765309596938 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353622912}, 1) = void -337765309597669:337765309598782 158125:158125 hsa_amd_memory_async_copy(0x7f95c0800000, {handle=33084688}, 0x7f9482800010, {handle=32855168}, 4194304, 0, 0, {handle=140281353622912}) = 0 -337765309599383:337765309599613 158125:158125 hsa_signal_load_relaxed({handle=140281353622912}) = 1 -337765309600224:337765309700554 158125:158125 hsa_signal_wait_scacquire({handle=140281353622912}, 2, 1, 100000, 1) = 1 -337765309701135:337765309984449 158125:158125 hsa_signal_wait_scacquire({handle=140281353622912}, 2, 1, 18446744073709551615, 0) = 0 -337765309985110:337765309985641 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281353622912}, 0x7ffea16f3490) = 0 -337765309986423:337765310012362 158125:158125 hsa_amd_memory_unlock(0x7f95c88ff000) = 0 -337765310030366:337765310030636 158125:158125 hsa_signal_load_relaxed({handle=140281353622912}) = 0 -337765310031538:337765310031848 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 64 -337765310032590:337765310033001 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 64 -337765310033992:337765310034353 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353622784}, 1) = void -337765310034954:337765310035225 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 64 -337765310035816:337765310036427 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 64) = void -337765310043791:337765310715468 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c84fe000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765310716730:337765310716991 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 65 -337765310719305:337765310719555 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 65 -337765310720157:337765310720507 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353622656}, 1) = void -337765310721088:337765310721349 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 65 -337765310721850:337765310722451 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 65) = void -337765310723022:337765310723283 158125:158125 hsa_signal_load_relaxed({handle=140281353622656}) = 1 -337765310723773:337765310724014 158125:158125 hsa_signal_load_relaxed({handle=140281353622656}) = 1 -337765310724505:337765310734814 158125:158125 hsa_signal_wait_scacquire({handle=140281353622656}, 2, 1, 10000, 1) = 1 -337765310735385:337765310735716 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353622528}, 1) = void -337765310736367:337765310737539 158125:158125 hsa_amd_memory_async_copy(0x7f9482800010, {handle=32855168}, 0x7f9484c00000, {handle=33084688}, 4194304, 1, 0x2495a90, {handle=140281353622528}) = 0 -337765310738221:337765310738571 158125:158125 hsa_signal_load_relaxed({handle=140281353622656}) = 0 -337765310739203:337765310739683 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281353622656}, 0x7ffea16f3480) = 0 -337765310740204:337765310740445 158125:158125 hsa_signal_load_relaxed({handle=140281353622528}) = 1 -337765310740936:337765310841215 158125:158125 hsa_signal_wait_scacquire({handle=140281353622528}, 2, 1, 100000, 1) = 1 -337765310841686:337765311122305 158125:158125 hsa_signal_wait_scacquire({handle=140281353622528}, 2, 1, 18446744073709551615, 0) = 0 -337765311122876:337765311123177 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281353622528}, 0x7ffea16f3490) = 0 -337765311123948:337765311148745 158125:158125 hsa_amd_memory_unlock(0x7f95c84fe000) = 0 -337765311150538:337765311150799 158125:158125 hsa_signal_load_relaxed({handle=140281353622784}) = 0 -337765311151310:337765311151600 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281353622784}, 0x7ffea16f3570) = 0 -337765319466463:337765321491773 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c88ff000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765321493757:337765321494278 158125:158125 hsa_signal_load_relaxed({handle=140281353622528}) = 0 -337765321495731:337765321496092 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353622400}, 1) = void -337765321496793:337765321498085 158125:158125 hsa_amd_memory_async_copy(0x7f95c0800000, {handle=33084688}, 0x7f9482800010, {handle=32855168}, 4194304, 0, 0, {handle=140281353622400}) = 0 -337765321498807:337765321499047 158125:158125 hsa_signal_load_relaxed({handle=140281353622400}) = 1 -337765321499638:337765321599967 158125:158125 hsa_signal_wait_scacquire({handle=140281353622400}, 2, 1, 100000, 1) = 1 -337765321600458:337765321886147 158125:158125 hsa_signal_wait_scacquire({handle=140281353622400}, 2, 1, 18446744073709551615, 0) = 0 -337765321886829:337765321887239 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281353622400}, 0x7ffea16f3490) = 0 -337765321887991:337765321914120 158125:158125 hsa_amd_memory_unlock(0x7f95c88ff000) = 0 -337765321931793:337765321932054 158125:158125 hsa_signal_load_relaxed({handle=140281353622400}) = 0 -337765321933957:337765321934258 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 66 -337765321934819:337765321935230 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 66 -337765321936162:337765321936392 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353622272}, 1) = void -337765321936983:337765321937254 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 66 -337765321937845:337765321938456 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 66) = void -337765321946281:337765322611195 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c84fe000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765322612447:337765322612738 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 67 -337765322613259:337765322613579 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 67 -337765322614210:337765322614471 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353622144}, 1) = void -337765322615062:337765322615313 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 67 -337765322615803:337765322616405 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 67) = void -337765322616976:337765322617216 158125:158125 hsa_signal_load_relaxed({handle=140281353622144}) = 1 -337765322617697:337765322617928 158125:158125 hsa_signal_load_relaxed({handle=140281353622144}) = 1 -337765322618448:337765322628748 158125:158125 hsa_signal_wait_scacquire({handle=140281353622144}, 2, 1, 10000, 1) = 1 -337765322629349:337765322629590 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353622016}, 1) = void -337765322630211:337765322631273 158125:158125 hsa_amd_memory_async_copy(0x7f9482800010, {handle=32855168}, 0x7f9484c00000, {handle=33084688}, 4194304, 1, 0x2495ba0, {handle=140281353622016}) = 0 -337765322631934:337765322632295 158125:158125 hsa_signal_load_relaxed({handle=140281353622144}) = 0 -337765322632816:337765322633296 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281353622144}, 0x7ffea16f3480) = 0 -337765322633817:337765322634048 158125:158125 hsa_signal_load_relaxed({handle=140281353622016}) = 1 -337765322634539:337765322734828 158125:158125 hsa_signal_wait_scacquire({handle=140281353622016}, 2, 1, 100000, 1) = 1 -337765322735289:337765323016399 158125:158125 hsa_signal_wait_scacquire({handle=140281353622016}, 2, 1, 18446744073709551615, 0) = 0 -337765323016980:337765323017281 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281353622016}, 0x7ffea16f3490) = 0 -337765323018052:337765323042158 158125:158125 hsa_amd_memory_unlock(0x7f95c84fe000) = 0 -337765323043951:337765323044212 158125:158125 hsa_signal_load_relaxed({handle=140281353622272}) = 0 -337765323044733:337765323045013 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281353622272}, 0x7ffea16f3570) = 0 -337765331338446:337765333376049 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c88ff000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765333377792:337765333378353 158125:158125 hsa_signal_load_relaxed({handle=140281353622016}) = 0 -337765333379505:337765333379786 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353621888}, 1) = void -337765333380417:337765333381840 158125:158125 hsa_amd_memory_async_copy(0x7f95c0800000, {handle=33084688}, 0x7f9482800010, {handle=32855168}, 4194304, 0, 0, {handle=140281353621888}) = 0 -337765333384996:337765333385236 158125:158125 hsa_signal_load_relaxed({handle=140281353621888}) = 1 -337765333385777:337765333486106 158125:158125 hsa_signal_wait_scacquire({handle=140281353621888}, 2, 1, 100000, 1) = 1 -337765333486607:337765333769601 158125:158125 hsa_signal_wait_scacquire({handle=140281353621888}, 2, 1, 18446744073709551615, 0) = 0 -337765333770272:337765333770623 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281353621888}, 0x7ffea16f3490) = 0 -337765333771405:337765333797454 158125:158125 hsa_amd_memory_unlock(0x7f95c88ff000) = 0 -337765333814005:337765333814265 158125:158125 hsa_signal_load_relaxed({handle=140281353621888}) = 0 -337765333814917:337765333815277 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 68 -337765333815788:337765333816129 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 68 -337765333817071:337765333817321 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353621760}, 1) = void -337765333817992:337765333818263 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 68 -337765333818784:337765333819395 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 68) = void -337765333826549:337765334498596 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c84fe000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765334499919:337765334500199 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 69 -337765334500730:337765334500971 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 69 -337765334501502:337765334501762 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353621632}, 1) = void -337765334502343:337765334502594 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 69 -337765334503065:337765334503646 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 69) = void -337765334504217:337765334504487 158125:158125 hsa_signal_load_relaxed({handle=140281353621632}) = 1 -337765334504988:337765334505229 158125:158125 hsa_signal_load_relaxed({handle=140281353621632}) = 1 -337765334505730:337765334516039 158125:158125 hsa_signal_wait_scacquire({handle=140281353621632}, 2, 1, 10000, 1) = 1 -337765334516680:337765334516921 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353621504}, 1) = void -337765334517592:337765334518724 158125:158125 hsa_amd_memory_async_copy(0x7f9482800010, {handle=32855168}, 0x7f9484c00000, {handle=33084688}, 4194304, 1, 0x2495cb0, {handle=140281353621504}) = 0 -337765334519335:337765334519576 158125:158125 hsa_signal_load_relaxed({handle=140281353621632}) = 0 -337765334520127:337765334520618 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281353621632}, 0x7ffea16f3480) = 0 -337765334521139:337765334521379 158125:158125 hsa_signal_load_relaxed({handle=140281353621504}) = 1 -337765334521870:337765334622149 158125:158125 hsa_signal_wait_scacquire({handle=140281353621504}, 2, 1, 100000, 1) = 1 -337765334622620:337765334903740 158125:158125 hsa_signal_wait_scacquire({handle=140281353621504}, 2, 1, 18446744073709551615, 0) = 0 -337765334904331:337765334904642 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281353621504}, 0x7ffea16f3490) = 0 -337765334907307:337765334932464 158125:158125 hsa_amd_memory_unlock(0x7f95c84fe000) = 0 -337765334934198:337765334934468 158125:158125 hsa_signal_load_relaxed({handle=140281353621760}) = 0 -337765334934989:337765334935300 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281353621760}, 0x7ffea16f3570) = 0 -337765343252475:337765345303624 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c88ff000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765345305488:337765345306049 158125:158125 hsa_signal_load_relaxed({handle=140281353621504}) = 0 -337765345307221:337765345307602 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307479936}, 1) = void -337765345308393:337765345309766 158125:158125 hsa_amd_memory_async_copy(0x7f95c0800000, {handle=33084688}, 0x7f9482800010, {handle=32855168}, 4194304, 0, 0, {handle=140281307479936}) = 0 -337765345310427:337765345310667 158125:158125 hsa_signal_load_relaxed({handle=140281307479936}) = 1 -337765345311359:337765345411678 158125:158125 hsa_signal_wait_scacquire({handle=140281307479936}, 2, 1, 100000, 1) = 1 -337765345412259:337765345697317 158125:158125 hsa_signal_wait_scacquire({handle=140281307479936}, 2, 1, 18446744073709551615, 0) = 0 -337765345697908:337765345701765 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281307479936}, 0x7ffea16f3490) = 0 -337765345702637:337765345728726 158125:158125 hsa_amd_memory_unlock(0x7f95c88ff000) = 0 -337765345746049:337765345746349 158125:158125 hsa_signal_load_relaxed({handle=140281307479936}) = 0 -337765345747091:337765345747481 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 70 -337765345748102:337765345748523 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 70 -337765345749445:337765345749706 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307479808}, 1) = void -337765345750377:337765345750657 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 70 -337765345751268:337765345751880 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 70) = void -337765345760957:337765346436381 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c84fe000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765346437593:337765346437853 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 71 -337765346438374:337765346438615 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 71 -337765346439206:337765346439497 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307479680}, 1) = void -337765346440088:337765346440338 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 71 -337765346440919:337765346441500 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 71) = void -337765346442392:337765346442652 158125:158125 hsa_signal_load_relaxed({handle=140281307479680}) = 1 -337765346443143:337765346443374 158125:158125 hsa_signal_load_relaxed({handle=140281307479680}) = 1 -337765346443885:337765346454184 158125:158125 hsa_signal_wait_scacquire({handle=140281307479680}, 2, 1, 10000, 1) = 1 -337765346454805:337765346455036 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307479552}, 1) = void -337765346455687:337765346456869 158125:158125 hsa_amd_memory_async_copy(0x7f9482800010, {handle=32855168}, 0x7f9484c00000, {handle=33084688}, 4194304, 1, 0x2495dc0, {handle=140281307479552}) = 0 -337765346459364:337765346459604 158125:158125 hsa_signal_load_relaxed({handle=140281307479680}) = 0 -337765346460145:337765346460626 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307479680}, 0x7ffea16f3480) = 0 -337765346461157:337765346461398 158125:158125 hsa_signal_load_relaxed({handle=140281307479552}) = 1 -337765346461869:337765346562148 158125:158125 hsa_signal_wait_scacquire({handle=140281307479552}, 2, 1, 100000, 1) = 1 -337765346562619:337765346841916 158125:158125 hsa_signal_wait_scacquire({handle=140281307479552}, 2, 1, 18446744073709551615, 0) = 0 -337765346842487:337765346842797 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281307479552}, 0x7ffea16f3490) = 0 -337765346843589:337765346867293 158125:158125 hsa_amd_memory_unlock(0x7f95c84fe000) = 0 -337765346869037:337765346869297 158125:158125 hsa_signal_load_relaxed({handle=140281307479808}) = 0 -337765346869828:337765346870109 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307479808}, 0x7ffea16f3570) = 0 -337765355161868:337765357119591 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c88ff000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765357121434:337765357121775 158125:158125 hsa_signal_load_relaxed({handle=140281307479552}) = 0 -337765357123037:337765357123388 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307479424}, 1) = void -337765357124229:337765357125382 158125:158125 hsa_amd_memory_async_copy(0x7f95c0800000, {handle=33084688}, 0x7f9482800010, {handle=32855168}, 4194304, 0, 0, {handle=140281307479424}) = 0 -337765357125993:337765357126233 158125:158125 hsa_signal_load_relaxed({handle=140281307479424}) = 1 -337765357126734:337765357227063 158125:158125 hsa_signal_wait_scacquire({handle=140281307479424}, 2, 1, 100000, 1) = 1 -337765357227564:337765357510588 158125:158125 hsa_signal_wait_scacquire({handle=140281307479424}, 2, 1, 18446744073709551615, 0) = 0 -337765357511179:337765357511660 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281307479424}, 0x7ffea16f3490) = 0 -337765357512392:337765357538972 158125:158125 hsa_amd_memory_unlock(0x7f95c88ff000) = 0 -337765357556425:337765357556725 158125:158125 hsa_signal_load_relaxed({handle=140281307479424}) = 0 -337765357557366:337765357557637 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 72 -337765357558268:337765357558679 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 72 -337765357559320:337765357559551 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307479296}, 1) = void -337765357560312:337765357560572 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 72 -337765357561174:337765357561915 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 72) = void -337765357569109:337765358260422 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c84fe000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765358261755:337765358262026 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 73 -337765358262557:337765358262807 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 73 -337765358263388:337765358263659 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307479168}, 1) = void -337765358265722:337765358265973 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 73 -337765358266484:337765358267055 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 73) = void -337765358267606:337765358267877 158125:158125 hsa_signal_load_relaxed({handle=140281307479168}) = 1 -337765358268357:337765358268588 158125:158125 hsa_signal_load_relaxed({handle=140281307479168}) = 1 -337765358269079:337765358279398 158125:158125 hsa_signal_wait_scacquire({handle=140281307479168}, 2, 1, 10000, 1) = 1 -337765358280070:337765358280400 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307479040}, 1) = void -337765358281061:337765358282103 158125:158125 hsa_amd_memory_async_copy(0x7f9482800010, {handle=32855168}, 0x7f9484c00000, {handle=33084688}, 4194304, 1, 0x2495ed0, {handle=140281307479040}) = 0 -337765358282735:337765358283045 158125:158125 hsa_signal_load_relaxed({handle=140281307479168}) = 0 -337765358283576:337765358284077 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307479168}, 0x7ffea16f3480) = 0 -337765358284608:337765358284839 158125:158125 hsa_signal_load_relaxed({handle=140281307479040}) = 1 -337765358285329:337765358385649 158125:158125 hsa_signal_wait_scacquire({handle=140281307479040}, 2, 1, 100000, 1) = 1 -337765358386250:337765358666378 158125:158125 hsa_signal_wait_scacquire({handle=140281307479040}, 2, 1, 18446744073709551615, 0) = 0 -337765358666949:337765358667250 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281307479040}, 0x7ffea16f3490) = 0 -337765358668021:337765358698659 158125:158125 hsa_amd_memory_unlock(0x7f95c84fe000) = 0 -337765358700472:337765358700723 158125:158125 hsa_signal_load_relaxed({handle=140281307479296}) = 0 -337765358701264:337765358701545 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307479296}, 0x7ffea16f3570) = 0 -337765366972044:337765368960364 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c88ff000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765368962468:337765368962819 158125:158125 hsa_signal_load_relaxed({handle=140281307479040}) = 0 -337765368963911:337765368964201 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307478912}, 1) = void -337765368964913:337765368966245 158125:158125 hsa_amd_memory_async_copy(0x7f95c0800000, {handle=33084688}, 0x7f9482800010, {handle=32855168}, 4194304, 0, 0, {handle=140281307478912}) = 0 -337765368966906:337765368967147 158125:158125 hsa_signal_load_relaxed({handle=140281307478912}) = 1 -337765368967658:337765369067987 158125:158125 hsa_signal_wait_scacquire({handle=140281307478912}, 2, 1, 100000, 1) = 1 -337765369068478:337765369351081 158125:158125 hsa_signal_wait_scacquire({handle=140281307478912}, 2, 1, 18446744073709551615, 0) = 0 -337765369351652:337765369352013 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281307478912}, 0x7ffea16f3490) = 0 -337765369352864:337765369384023 158125:158125 hsa_amd_memory_unlock(0x7f95c88ff000) = 0 -337765369401256:337765369401556 158125:158125 hsa_signal_load_relaxed({handle=140281307478912}) = 0 -337765369402248:337765369402628 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 74 -337765369403249:337765369404211 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 74 -337765369405744:337765369406015 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307478784}, 1) = void -337765369406726:337765369406997 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 74 -337765369407528:337765369408269 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 74) = void -337765369416194:337765370075818 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c84fe000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765370077080:337765370077331 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 75 -337765370077842:337765370078152 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 75 -337765370078744:337765370079004 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307478656}, 1) = void -337765370079565:337765370079816 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 75 -337765370080296:337765370080888 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 75) = void -337765370081459:337765370081729 158125:158125 hsa_signal_load_relaxed({handle=140281307478656}) = 1 -337765370082220:337765370082451 158125:158125 hsa_signal_load_relaxed({handle=140281307478656}) = 1 -337765370082941:337765370093231 158125:158125 hsa_signal_wait_scacquire({handle=140281307478656}, 2, 1, 10000, 1) = 1 -337765370093872:337765370094123 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307478528}, 1) = void -337765370094764:337765370095746 158125:158125 hsa_amd_memory_async_copy(0x7f9482800010, {handle=32855168}, 0x7f9484c00000, {handle=33084688}, 4194304, 1, 0x2495fe0, {handle=140281307478528}) = 0 -337765370096377:337765370096687 158125:158125 hsa_signal_load_relaxed({handle=140281307478656}) = 0 -337765370097238:337765370097739 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307478656}, 0x7ffea16f3480) = 0 -337765370098260:337765370098501 158125:158125 hsa_signal_load_relaxed({handle=140281307478528}) = 1 -337765370098992:337765370199271 158125:158125 hsa_signal_wait_scacquire({handle=140281307478528}, 2, 1, 100000, 1) = 1 -337765370199762:337765370480271 158125:158125 hsa_signal_wait_scacquire({handle=140281307478528}, 2, 1, 18446744073709551615, 0) = 0 -337765370480842:337765370481153 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281307478528}, 0x7ffea16f3490) = 0 -337765370481884:337765370509616 158125:158125 hsa_amd_memory_unlock(0x7f95c84fe000) = 0 -337765370511289:337765370511560 158125:158125 hsa_signal_load_relaxed({handle=140281307478784}) = 0 -337765370512091:337765370512381 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307478784}, 0x7ffea16f3570) = 0 -337765378817135:337765380826475 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c88ff000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765380828359:337765380828760 158125:158125 hsa_signal_load_relaxed({handle=140281307478528}) = 0 -337765380829741:337765380830012 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307478400}, 1) = void -337765380830723:337765380831905 158125:158125 hsa_amd_memory_async_copy(0x7f95c0800000, {handle=33084688}, 0x7f9482800010, {handle=32855168}, 4194304, 0, 0, {handle=140281307478400}) = 0 -337765380832467:337765380832697 158125:158125 hsa_signal_load_relaxed({handle=140281307478400}) = 1 -337765380833208:337765380933527 158125:158125 hsa_signal_wait_scacquire({handle=140281307478400}, 2, 1, 100000, 1) = 1 -337765380936914:337765381217543 158125:158125 hsa_signal_wait_scacquire({handle=140281307478400}, 2, 1, 18446744073709551615, 0) = 0 -337765381218234:337765381218575 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281307478400}, 0x7ffea16f3490) = 0 -337765381219346:337765381246177 158125:158125 hsa_amd_memory_unlock(0x7f95c88ff000) = 0 -337765381263700:337765381263970 158125:158125 hsa_signal_load_relaxed({handle=140281307478400}) = 0 -337765381264662:337765381265022 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 76 -337765381265814:337765381266175 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 76 -337765381266986:337765381267277 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307478272}, 1) = void -337765381268168:337765381268519 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 76 -337765381269050:337765381269781 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 76) = void -337765381276384:337765381951798 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c84fe000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765381953000:337765381953261 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 77 -337765381953782:337765381954022 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 77 -337765381954613:337765381954914 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307478144}, 1) = void -337765381955475:337765381955725 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 77 -337765381956236:337765381956817 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 77) = void -337765381957388:337765381957629 158125:158125 hsa_signal_load_relaxed({handle=140281307478144}) = 1 -337765381958120:337765381958350 158125:158125 hsa_signal_load_relaxed({handle=140281307478144}) = 1 -337765381958841:337765381969150 158125:158125 hsa_signal_wait_scacquire({handle=140281307478144}, 2, 1, 10000, 1) = 1 -337765381969792:337765381970022 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307478016}, 1) = void -337765381970673:337765381971936 158125:158125 hsa_amd_memory_async_copy(0x7f9482800010, {handle=32855168}, 0x7f9484c00000, {handle=33084688}, 4194304, 1, 0x24960f0, {handle=140281307478016}) = 0 -337765381972527:337765381972847 158125:158125 hsa_signal_load_relaxed({handle=140281307478144}) = 0 -337765381973348:337765381973839 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307478144}, 0x7ffea16f3480) = 0 -337765381974370:337765381974601 158125:158125 hsa_signal_load_relaxed({handle=140281307478016}) = 1 -337765381975082:337765382075361 158125:158125 hsa_signal_wait_scacquire({handle=140281307478016}, 2, 1, 100000, 1) = 1 -337765382075842:337765382355339 158125:158125 hsa_signal_wait_scacquire({handle=140281307478016}, 2, 1, 18446744073709551615, 0) = 0 -337765382355910:337765382356201 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281307478016}, 0x7ffea16f3490) = 0 -337765382357042:337765382382330 158125:158125 hsa_amd_memory_unlock(0x7f95c84fe000) = 0 -337765382384123:337765382384454 158125:158125 hsa_signal_load_relaxed({handle=140281307478272}) = 0 -337765382386468:337765382386788 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307478272}, 0x7ffea16f3570) = 0 -337765390679509:337765392682137 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c88ff000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765392684110:337765392684461 158125:158125 hsa_signal_load_relaxed({handle=140281307478016}) = 0 -337765392685553:337765392685834 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307477888}, 1) = void -337765392686595:337765392687747 158125:158125 hsa_amd_memory_async_copy(0x7f95c0800000, {handle=33084688}, 0x7f9482800010, {handle=32855168}, 4194304, 0, 0, {handle=140281307477888}) = 0 -337765392688358:337765392688589 158125:158125 hsa_signal_load_relaxed({handle=140281307477888}) = 1 -337765392689120:337765392789439 158125:158125 hsa_signal_wait_scacquire({handle=140281307477888}, 2, 1, 100000, 1) = 1 -337765392789940:337765393073274 158125:158125 hsa_signal_wait_scacquire({handle=140281307477888}, 2, 1, 18446744073709551615, 0) = 0 -337765393073866:337765393074256 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281307477888}, 0x7ffea16f3490) = 0 -337765393075008:337765393100396 158125:158125 hsa_amd_memory_unlock(0x7f95c88ff000) = 0 -337765393117107:337765393117368 158125:158125 hsa_signal_load_relaxed({handle=140281307477888}) = 0 -337765393117969:337765393118349 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 78 -337765393118971:337765393119311 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 78 -337765393120103:337765393120343 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307477760}, 1) = void -337765393120934:337765393121205 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 78 -337765393121896:337765393122628 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 78) = void -337765393130242:337765393806437 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c84fe000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765393807680:337765393807960 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 79 -337765393808491:337765393808732 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 79 -337765393809333:337765393809643 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307477632}, 1) = void -337765393810224:337765393810495 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 79 -337765393811006:337765393811587 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 79) = void -337765393812158:337765393812409 158125:158125 hsa_signal_load_relaxed({handle=140281307477632}) = 1 -337765393812910:337765393813140 158125:158125 hsa_signal_load_relaxed({handle=140281307477632}) = 1 -337765393813641:337765393823940 158125:158125 hsa_signal_wait_scacquire({handle=140281307477632}, 2, 1, 10000, 1) = 1 -337765393824802:337765393825052 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353623040}, 1) = void -337765393825714:337765393826766 158125:158125 hsa_amd_memory_async_copy(0x7f9482800010, {handle=32855168}, 0x7f9484c00000, {handle=33084688}, 4194304, 1, 0x20db440, {handle=140281353623040}) = 0 -337765393827397:337765393827717 158125:158125 hsa_signal_load_relaxed({handle=140281307477632}) = 0 -337765393828248:337765393828739 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307477632}, 0x7ffea16f3480) = 0 -337765393830733:337765393830974 158125:158125 hsa_signal_load_relaxed({handle=140281353623040}) = 1 -337765393831454:337765393931744 158125:158125 hsa_signal_wait_scacquire({handle=140281353623040}, 2, 1, 100000, 1) = 1 -337765393932225:337765394210610 158125:158125 hsa_signal_wait_scacquire({handle=140281353623040}, 2, 1, 18446744073709551615, 0) = 0 -337765394211191:337765394211632 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281353623040}, 0x7ffea16f3490) = 0 -337765394212373:337765394237480 158125:158125 hsa_amd_memory_unlock(0x7f95c84fe000) = 0 -337765394239334:337765394239584 158125:158125 hsa_signal_load_relaxed({handle=140281307477760}) = 0 -337765394240115:337765394240386 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307477760}, 0x7ffea16f3570) = 0 -337765402546202:337765404593463 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c88ff000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765404595497:337765404596068 158125:158125 hsa_signal_load_relaxed({handle=140281353623040}) = 0 -337765404597631:337765404598012 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353622912}, 1) = void -337765404598653:337765404599775 158125:158125 hsa_amd_memory_async_copy(0x7f95c0800000, {handle=33084688}, 0x7f9482800010, {handle=32855168}, 4194304, 0, 0, {handle=140281353622912}) = 0 -337765404600386:337765404600627 158125:158125 hsa_signal_load_relaxed({handle=140281353622912}) = 1 -337765404601138:337765404701467 158125:158125 hsa_signal_wait_scacquire({handle=140281353622912}, 2, 1, 100000, 1) = 1 -337765404701968:337765404986494 158125:158125 hsa_signal_wait_scacquire({handle=140281353622912}, 2, 1, 18446744073709551615, 0) = 0 -337765404987256:337765404987627 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281353622912}, 0x7ffea16f3490) = 0 -337765404988428:337765405015369 158125:158125 hsa_amd_memory_unlock(0x7f95c88ff000) = 0 -337765405033483:337765405033744 158125:158125 hsa_signal_load_relaxed({handle=140281353622912}) = 0 -337765405034405:337765405035176 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 80 -337765405035707:337765405036128 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 80 -337765405036960:337765405037310 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353622784}, 1) = void -337765405037881:337765405038152 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 80 -337765405038773:337765405039404 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 80) = void -337765405045917:337765405719387 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c84fe000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765405720649:337765405720940 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 81 -337765405721451:337765405721711 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 81 -337765405722212:337765405722773 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353622656}, 1) = void -337765405723344:337765405723595 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 81 -337765405724086:337765405724667 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 81) = void -337765405726651:337765405726911 158125:158125 hsa_signal_load_relaxed({handle=140281353622656}) = 1 -337765405727412:337765405727642 158125:158125 hsa_signal_load_relaxed({handle=140281353622656}) = 1 -337765405728153:337765405738483 158125:158125 hsa_signal_wait_scacquire({handle=140281353622656}, 2, 1, 10000, 1) = 0 -337765405739014:337765405739324 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353622528}, 1) = void -337765405739946:337765405741098 158125:158125 hsa_amd_memory_async_copy(0x7f9482800010, {handle=32855168}, 0x7f9484c00000, {handle=33084688}, 4194304, 0, 0, {handle=140281353622528}) = 0 -337765405741759:337765405741989 158125:158125 hsa_signal_load_relaxed({handle=140281353622656}) = 0 -337765405742510:337765405743001 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281353622656}, 0x7ffea16f3480) = 0 -337765405743512:337765405743743 158125:158125 hsa_signal_load_relaxed({handle=140281353622528}) = 1 -337765405744214:337765405844503 158125:158125 hsa_signal_wait_scacquire({handle=140281353622528}, 2, 1, 100000, 1) = 1 -337765405844984:337765406121946 158125:158125 hsa_signal_wait_scacquire({handle=140281353622528}, 2, 1, 18446744073709551615, 0) = 0 -337765406122527:337765406122818 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281353622528}, 0x7ffea16f3490) = 0 -337765406123619:337765406148687 158125:158125 hsa_amd_memory_unlock(0x7f95c84fe000) = 0 -337765406150460:337765406150831 158125:158125 hsa_signal_load_relaxed({handle=140281353622784}) = 0 -337765406151352:337765406151632 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281353622784}, 0x7ffea16f3570) = 0 -337765414443010:337765416501672 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c88ff000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765416503485:337765416504046 158125:158125 hsa_signal_load_relaxed({handle=140281353622528}) = 0 -337765416505128:337765416505479 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353622400}, 1) = void -337765416506210:337765416507262 158125:158125 hsa_amd_memory_async_copy(0x7f95c0800000, {handle=33084688}, 0x7f9482800010, {handle=32855168}, 4194304, 0, 0, {handle=140281353622400}) = 0 -337765416508395:337765416508685 158125:158125 hsa_signal_load_relaxed({handle=140281353622400}) = 1 -337765416509266:337765416609585 158125:158125 hsa_signal_wait_scacquire({handle=140281353622400}, 2, 1, 100000, 1) = 1 -337765416610076:337765416932655 158125:158125 hsa_signal_wait_scacquire({handle=140281353622400}, 2, 1, 18446744073709551615, 0) = 0 -337765416933366:337765416937043 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281353622400}, 0x7ffea16f3490) = 0 -337765416937805:337765416965577 158125:158125 hsa_amd_memory_unlock(0x7f95c88ff000) = 0 -337765416982910:337765416983230 158125:158125 hsa_signal_load_relaxed({handle=140281353622400}) = 0 -337765416983932:337765416984312 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 82 -337765416985144:337765416985555 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 82 -337765416986286:337765416986516 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353622272}, 1) = void -337765416987108:337765416987378 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 82 -337765416987959:337765416988560 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 82) = void -337765416997026:337765417669194 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c84fe000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765417670557:337765417670837 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 83 -337765417671338:337765417671569 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 83 -337765417672681:337765417673001 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353622144}, 1) = void -337765417673592:337765417673863 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 83 -337765417674344:337765417674925 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 83) = void -337765417675486:337765417675776 158125:158125 hsa_signal_load_relaxed({handle=140281353622144}) = 1 -337765417676287:337765417676518 158125:158125 hsa_signal_load_relaxed({handle=140281353622144}) = 1 -337765417677029:337765417687368 158125:158125 hsa_signal_wait_scacquire({handle=140281353622144}, 2, 1, 10000, 1) = 1 -337765417688340:337765417688591 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353622016}, 1) = void -337765417689222:337765417690224 158125:158125 hsa_amd_memory_async_copy(0x7f9482800010, {handle=32855168}, 0x7f9484c00000, {handle=33084688}, 4194304, 1, 0x20db610, {handle=140281353622016}) = 0 -337765417690835:337765417691196 158125:158125 hsa_signal_load_relaxed({handle=140281353622144}) = 0 -337765417691747:337765417692227 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281353622144}, 0x7ffea16f3480) = 0 -337765417692748:337765417692989 158125:158125 hsa_signal_load_relaxed({handle=140281353622016}) = 1 -337765417693480:337765417793759 158125:158125 hsa_signal_wait_scacquire({handle=140281353622016}, 2, 1, 100000, 1) = 1 -337765417794230:337765418075951 158125:158125 hsa_signal_wait_scacquire({handle=140281353622016}, 2, 1, 18446744073709551615, 0) = 0 -337765418076532:337765418076833 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281353622016}, 0x7ffea16f3490) = 0 -337765418077584:337765418102291 158125:158125 hsa_amd_memory_unlock(0x7f95c84fe000) = 0 -337765418103864:337765418104124 158125:158125 hsa_signal_load_relaxed({handle=140281353622272}) = 0 -337765418104655:337765418104936 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281353622272}, 0x7ffea16f3570) = 0 -337765426448202:337765428499892 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c88ff000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765428501826:337765428502377 158125:158125 hsa_signal_load_relaxed({handle=140281353622016}) = 0 -337765428503649:337765428504020 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353621888}, 1) = void -337765428504952:337765428506044 158125:158125 hsa_amd_memory_async_copy(0x7f95c0800000, {handle=33084688}, 0x7f9482800010, {handle=32855168}, 4194304, 0, 0, {handle=140281353621888}) = 0 -337765428506715:337765428507016 158125:158125 hsa_signal_load_relaxed({handle=140281353621888}) = 1 -337765428507797:337765428608146 158125:158125 hsa_signal_wait_scacquire({handle=140281353621888}, 2, 1, 100000, 1) = 1 -337765428608647:337765428893505 158125:158125 hsa_signal_wait_scacquire({handle=140281353621888}, 2, 1, 18446744073709551615, 0) = 0 -337765428894166:337765428894577 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281353621888}, 0x7ffea16f3490) = 0 -337765428898564:337765428926898 158125:158125 hsa_amd_memory_unlock(0x7f95c88ff000) = 0 -337765428943168:337765428943419 158125:158125 hsa_signal_load_relaxed({handle=140281353621888}) = 0 -337765428944010:337765428944381 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 84 -337765428944992:337765428945403 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 84 -337765428946294:337765428946545 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353621760}, 1) = void -337765428947116:337765428947396 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 84 -337765428947997:337765428948589 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 84) = void -337765428955662:337765429621077 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c84fe000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765429622279:337765429622550 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 85 -337765429623051:337765429623291 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 85 -337765429623932:337765429624333 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353621632}, 1) = void -337765429624914:337765429625175 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 85 -337765429625676:337765429626257 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 85) = void -337765429626808:337765429627078 158125:158125 hsa_signal_load_relaxed({handle=140281353621632}) = 1 -337765429627569:337765429627800 158125:158125 hsa_signal_load_relaxed({handle=140281353621632}) = 1 -337765429628291:337765429638600 158125:158125 hsa_signal_wait_scacquire({handle=140281353621632}, 2, 1, 10000, 1) = 1 -337765429639231:337765429639562 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353621504}, 1) = void -337765429640223:337765429641505 158125:158125 hsa_amd_memory_async_copy(0x7f9482800010, {handle=32855168}, 0x7f9484c00000, {handle=33084688}, 4194304, 1, 0x20db720, {handle=140281353621504}) = 0 -337765429642127:337765429642367 158125:158125 hsa_signal_load_relaxed({handle=140281353621632}) = 0 -337765429642888:337765429643359 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281353621632}, 0x7ffea16f3480) = 0 -337765429643890:337765429644130 158125:158125 hsa_signal_load_relaxed({handle=140281353621504}) = 1 -337765429644621:337765429744890 158125:158125 hsa_signal_wait_scacquire({handle=140281353621504}, 2, 1, 100000, 1) = 1 -337765429745371:337765430026742 158125:158125 hsa_signal_wait_scacquire({handle=140281353621504}, 2, 1, 18446744073709551615, 0) = 0 -337765430027293:337765430027594 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281353621504}, 0x7ffea16f3490) = 0 -337765430028365:337765430053633 158125:158125 hsa_amd_memory_unlock(0x7f95c84fe000) = 0 -337765430055226:337765430055476 158125:158125 hsa_signal_load_relaxed({handle=140281353621760}) = 0 -337765430056007:337765430056288 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281353621760}, 0x7ffea16f3570) = 0 -337765438342717:337765440840007 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c88ff000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765440842312:337765440842713 158125:158125 hsa_signal_load_relaxed({handle=140281353621504}) = 0 -337765440846379:337765440846770 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307479936}, 1) = void -337765440847522:337765440848614 158125:158125 hsa_amd_memory_async_copy(0x7f95c0800000, {handle=33084688}, 0x7f9482800010, {handle=32855168}, 4194304, 0, 0, {handle=140281307479936}) = 0 -337765440849225:337765440849455 158125:158125 hsa_signal_load_relaxed({handle=140281307479936}) = 1 -337765440849956:337765440950275 158125:158125 hsa_signal_wait_scacquire({handle=140281307479936}, 2, 1, 100000, 1) = 1 -337765440950786:337765441233460 158125:158125 hsa_signal_wait_scacquire({handle=140281307479936}, 2, 1, 18446744073709551615, 0) = 0 -337765441234231:337765441234582 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281307479936}, 0x7ffea16f3490) = 0 -337765441235453:337765441264177 158125:158125 hsa_amd_memory_unlock(0x7f95c88ff000) = 0 -337765441281360:337765441281630 158125:158125 hsa_signal_load_relaxed({handle=140281307479936}) = 0 -337765441282452:337765441282743 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 86 -337765441283484:337765441283905 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 86 -337765441284726:337765441284967 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307479808}, 1) = void -337765441285528:337765441285798 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 86 -337765441286389:337765441287001 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 86) = void -337765441294465:337765441977303 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c84fe000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765441978555:337765441978835 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 87 -337765441979366:337765441979607 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 87 -337765441980208:337765441980609 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307479680}, 1) = void -337765441981180:337765441981450 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 87 -337765441981921:337765441982512 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 87) = void -337765441983114:337765441983364 158125:158125 hsa_signal_load_relaxed({handle=140281307479680}) = 1 -337765441983855:337765441984085 158125:158125 hsa_signal_load_relaxed({handle=140281307479680}) = 1 -337765441984576:337765441994886 158125:158125 hsa_signal_wait_scacquire({handle=140281307479680}, 2, 1, 10000, 1) = 1 -337765441995507:337765441995827 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307479552}, 1) = void -337765441996479:337765441997581 158125:158125 hsa_amd_memory_async_copy(0x7f9482800010, {handle=32855168}, 0x7f9484c00000, {handle=33084688}, 4194304, 1, 0x20db830, {handle=140281307479552}) = 0 -337765441998202:337765441998523 158125:158125 hsa_signal_load_relaxed({handle=140281307479680}) = 0 -337765441999344:337765441999845 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307479680}, 0x7ffea16f3480) = 0 -337765442000366:337765442000607 158125:158125 hsa_signal_load_relaxed({handle=140281307479552}) = 1 -337765442001077:337765442101357 158125:158125 hsa_signal_wait_scacquire({handle=140281307479552}, 2, 1, 100000, 1) = 1 -337765442103240:337765442381164 158125:158125 hsa_signal_wait_scacquire({handle=140281307479552}, 2, 1, 18446744073709551615, 0) = 0 -337765442381725:337765442382016 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281307479552}, 0x7ffea16f3490) = 0 -337765442382787:337765442407123 158125:158125 hsa_amd_memory_unlock(0x7f95c84fe000) = 0 -337765442409267:337765442409598 158125:158125 hsa_signal_load_relaxed({handle=140281307479808}) = 0 -337765442410119:337765442410389 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307479808}, 0x7ffea16f3570) = 0 -337765450712899:337765452742808 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c88ff000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765452744882:337765452745303 158125:158125 hsa_signal_load_relaxed({handle=140281307479552}) = 0 -337765452746585:337765452746855 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307479424}, 1) = void -337765452747627:337765452749180 158125:158125 hsa_amd_memory_async_copy(0x7f95c0800000, {handle=33084688}, 0x7f9482800010, {handle=32855168}, 4194304, 0, 0, {handle=140281307479424}) = 0 -337765452749791:337765452750021 158125:158125 hsa_signal_load_relaxed({handle=140281307479424}) = 1 -337765452750512:337765452850832 158125:158125 hsa_signal_wait_scacquire({handle=140281307479424}, 2, 1, 100000, 1) = 1 -337765452851333:337765453134797 158125:158125 hsa_signal_wait_scacquire({handle=140281307479424}, 2, 1, 18446744073709551615, 0) = 0 -337765453135488:337765453136040 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281307479424}, 0x7ffea16f3490) = 0 -337765453136901:337765453164022 158125:158125 hsa_amd_memory_unlock(0x7f95c88ff000) = 0 -337765453181495:337765453181816 158125:158125 hsa_signal_load_relaxed({handle=140281307479424}) = 0 -337765453182517:337765453182818 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 88 -337765453183349:337765453183780 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 88 -337765453184641:337765453184882 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307479296}, 1) = void -337765453185493:337765453185763 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 88 -337765453186284:337765453186915 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 88) = void -337765453193648:337765453861227 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c84fe000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765453862530:337765453862800 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 89 -337765453863281:337765453863522 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 89 -337765453864123:337765453864383 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307479168}, 1) = void -337765453864924:337765453865175 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 89 -337765453865666:337765453866247 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 89) = void -337765453866798:337765453867048 158125:158125 hsa_signal_load_relaxed({handle=140281307479168}) = 1 -337765453867519:337765453867760 158125:158125 hsa_signal_load_relaxed({handle=140281307479168}) = 1 -337765453870014:337765453879632 158125:158125 hsa_signal_wait_scacquire({handle=140281307479168}, 2, 1, 10000, 1) = 0 -337765453880273:337765453880504 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307479040}, 1) = void -337765453881165:337765453882668 158125:158125 hsa_amd_memory_async_copy(0x7f9482800010, {handle=32855168}, 0x7f9484c00000, {handle=33084688}, 4194304, 0, 0, {handle=140281307479040}) = 0 -337765453883289:337765453883519 158125:158125 hsa_signal_load_relaxed({handle=140281307479168}) = 0 -337765453884050:337765453884541 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307479168}, 0x7ffea16f3480) = 0 -337765453885052:337765453885283 158125:158125 hsa_signal_load_relaxed({handle=140281307479040}) = 1 -337765453885744:337765453986023 158125:158125 hsa_signal_wait_scacquire({handle=140281307479040}, 2, 1, 100000, 1) = 1 -337765453986504:337765454262434 158125:158125 hsa_signal_wait_scacquire({handle=140281307479040}, 2, 1, 18446744073709551615, 0) = 0 -337765454263005:337765454263296 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281307479040}, 0x7ffea16f3490) = 0 -337765454264057:337765454295997 158125:158125 hsa_amd_memory_unlock(0x7f95c84fe000) = 0 -337765454297851:337765454298101 158125:158125 hsa_signal_load_relaxed({handle=140281307479296}) = 0 -337765454298632:337765454298913 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307479296}, 0x7ffea16f3570) = 0 -337765462852877:337765464844263 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c88ff000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765464846096:337765464846978 158125:158125 hsa_signal_load_relaxed({handle=140281307479040}) = 0 -337765464848110:337765464848371 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307478912}, 1) = void -337765464849082:337765464850154 158125:158125 hsa_amd_memory_async_copy(0x7f95c0800000, {handle=33084688}, 0x7f9482800010, {handle=32855168}, 4194304, 0, 0, {handle=140281307478912}) = 0 -337765464850745:337765464850986 158125:158125 hsa_signal_load_relaxed({handle=140281307478912}) = 1 -337765464851497:337765464951816 158125:158125 hsa_signal_wait_scacquire({handle=140281307478912}, 2, 1, 100000, 1) = 1 -337765464952307:337765465235671 158125:158125 hsa_signal_wait_scacquire({handle=140281307478912}, 2, 1, 18446744073709551615, 0) = 0 -337765465236362:337765465236853 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281307478912}, 0x7ffea16f3490) = 0 -337765465238026:337765465265547 158125:158125 hsa_amd_memory_unlock(0x7f95c88ff000) = 0 -337765465283742:337765465283992 158125:158125 hsa_signal_load_relaxed({handle=140281307478912}) = 0 -337765465284704:337765465285014 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 90 -337765465285605:337765465286036 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 90 -337765465286868:337765465287118 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307478784}, 1) = void -337765465287779:337765465288040 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 90 -337765465288641:337765465289272 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 90) = void -337765465297207:337765465966840 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c84fe000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765465968183:337765465968483 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 91 -337765465970387:337765465970637 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 91 -337765465971228:337765465971539 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307478656}, 1) = void -337765465972110:337765465972361 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 91 -337765465972842:337765465973423 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 91) = void -337765465973994:337765465974244 158125:158125 hsa_signal_load_relaxed({handle=140281307478656}) = 1 -337765465974735:337765465974976 158125:158125 hsa_signal_load_relaxed({handle=140281307478656}) = 1 -337765465975466:337765465985766 158125:158125 hsa_signal_wait_scacquire({handle=140281307478656}, 2, 1, 10000, 1) = 1 -337765465986387:337765465986618 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307478528}, 1) = void -337765465987299:337765465988661 158125:158125 hsa_amd_memory_async_copy(0x7f9482800010, {handle=32855168}, 0x7f9484c00000, {handle=33084688}, 4194304, 1, 0x20dba50, {handle=140281307478528}) = 0 -337765465989293:337765465989613 158125:158125 hsa_signal_load_relaxed({handle=140281307478656}) = 0 -337765465990144:337765465990635 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307478656}, 0x7ffea16f3480) = 0 -337765465991166:337765465991397 158125:158125 hsa_signal_load_relaxed({handle=140281307478528}) = 1 -337765465991877:337765466092167 158125:158125 hsa_signal_wait_scacquire({handle=140281307478528}, 2, 1, 100000, 1) = 1 -337765466092637:337765466372505 158125:158125 hsa_signal_wait_scacquire({handle=140281307478528}, 2, 1, 18446744073709551615, 0) = 0 -337765466373076:337765466373357 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281307478528}, 0x7ffea16f3490) = 0 -337765466374189:337765466401199 158125:158125 hsa_amd_memory_unlock(0x7f95c84fe000) = 0 -337765466403534:337765466403774 158125:158125 hsa_signal_load_relaxed({handle=140281307478784}) = 0 -337765466404305:337765466404586 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307478784}, 0x7ffea16f3570) = 0 -337765474690264:337765476700195 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c88ff000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765476701738:337765476702078 158125:158125 hsa_signal_load_relaxed({handle=140281307478528}) = 0 -337765476703531:337765476703792 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307478400}, 1) = void -337765476704513:337765476705625 158125:158125 hsa_amd_memory_async_copy(0x7f95c0800000, {handle=33084688}, 0x7f9482800010, {handle=32855168}, 4194304, 0, 0, {handle=140281307478400}) = 0 -337765476706216:337765476706457 158125:158125 hsa_signal_load_relaxed({handle=140281307478400}) = 1 -337765476706978:337765476807307 158125:158125 hsa_signal_wait_scacquire({handle=140281307478400}, 2, 1, 100000, 1) = 1 -337765476807798:337765477090671 158125:158125 hsa_signal_wait_scacquire({handle=140281307478400}, 2, 1, 18446744073709551615, 0) = 0 -337765477091242:337765477091583 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281307478400}, 0x7ffea16f3490) = 0 -337765477092415:337765477119015 158125:158125 hsa_amd_memory_unlock(0x7f95c88ff000) = 0 -337765477136548:337765477136808 158125:158125 hsa_signal_load_relaxed({handle=140281307478400}) = 0 -337765477138552:337765477138852 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 92 -337765477139493:337765477139834 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 92 -337765477141137:337765477141407 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307478272}, 1) = void -337765477141988:337765477142349 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 92 -337765477142950:337765477143691 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 92) = void -337765477150464:337765477827581 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c84fe000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765477829214:337765477829495 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 93 -337765477829976:337765477830216 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 93 -337765477830737:337765477831018 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307478144}, 1) = void -337765477831589:337765477831849 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 93 -337765477832340:337765477832911 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 93) = void -337765477833462:337765477833723 158125:158125 hsa_signal_load_relaxed({handle=140281307478144}) = 1 -337765477834204:337765477834434 158125:158125 hsa_signal_load_relaxed({handle=140281307478144}) = 1 -337765477834915:337765477845225 158125:158125 hsa_signal_wait_scacquire({handle=140281307478144}, 2, 1, 10000, 1) = 1 -337765477845856:337765477846086 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307478016}, 1) = void -337765477846727:337765477847880 158125:158125 hsa_amd_memory_async_copy(0x7f9482800010, {handle=32855168}, 0x7f9484c00000, {handle=33084688}, 4194304, 1, 0x20dbb60, {handle=140281307478016}) = 0 -337765477848491:337765477848811 158125:158125 hsa_signal_load_relaxed({handle=140281307478144}) = 0 -337765477849332:337765477849803 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307478144}, 0x7ffea16f3480) = 0 -337765477850314:337765477850555 158125:158125 hsa_signal_load_relaxed({handle=140281307478016}) = 1 -337765477851025:337765477951305 158125:158125 hsa_signal_wait_scacquire({handle=140281307478016}, 2, 1, 100000, 1) = 1 -337765477951775:337765478231934 158125:158125 hsa_signal_wait_scacquire({handle=140281307478016}, 2, 1, 18446744073709551615, 0) = 0 -337765478232485:337765478232786 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281307478016}, 0x7ffea16f3490) = 0 -337765478233537:337765478260157 158125:158125 hsa_amd_memory_unlock(0x7f95c84fe000) = 0 -337765478261961:337765478262301 158125:158125 hsa_signal_load_relaxed({handle=140281307478272}) = 0 -337765478262822:337765478263123 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307478272}, 0x7ffea16f3570) = 0 -337765486546425:337765488605508 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c88ff000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765488607612:337765488608023 158125:158125 hsa_signal_load_relaxed({handle=140281307478016}) = 0 -337765488609135:337765488609395 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307477888}, 1) = void -337765488610217:337765488611289 158125:158125 hsa_amd_memory_async_copy(0x7f95c0800000, {handle=33084688}, 0x7f9482800010, {handle=32855168}, 4194304, 0, 0, {handle=140281307477888}) = 0 -337765488614936:337765488615166 158125:158125 hsa_signal_load_relaxed({handle=140281307477888}) = 1 -337765488615767:337765488716087 158125:158125 hsa_signal_wait_scacquire({handle=140281307477888}, 2, 1, 100000, 1) = 1 -337765488716578:337765488997037 158125:158125 hsa_signal_wait_scacquire({handle=140281307477888}, 2, 1, 18446744073709551615, 0) = 0 -337765488997648:337765489001335 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281307477888}, 0x7ffea16f3490) = 0 -337765489002056:337765489029618 158125:158125 hsa_amd_memory_unlock(0x7f95c88ff000) = 0 -337765489045879:337765489046139 158125:158125 hsa_signal_load_relaxed({handle=140281307477888}) = 0 -337765489046760:337765489047121 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 94 -337765489047672:337765489048093 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 94 -337765489048884:337765489049125 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307477760}, 1) = void -337765489049696:337765489049966 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 94 -337765489050477:337765489051219 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 94) = void -337765489058933:337765489728436 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c84fe000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765489729709:337765489729999 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 95 -337765489730520:337765489730781 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 95 -337765489731502:337765489731782 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307477632}, 1) = void -337765489732374:337765489732644 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 95 -337765489733145:337765489733726 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 95) = void -337765489734367:337765489734628 158125:158125 hsa_signal_load_relaxed({handle=140281307477632}) = 1 -337765489735129:337765489735369 158125:158125 hsa_signal_load_relaxed({handle=140281307477632}) = 1 -337765489735860:337765489746180 158125:158125 hsa_signal_wait_scacquire({handle=140281307477632}, 2, 1, 10000, 1) = 1 -337765489747192:337765489747522 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353623040}, 1) = void -337765489748163:337765489749356 158125:158125 hsa_amd_memory_async_copy(0x7f9482800010, {handle=32855168}, 0x7f9484c00000, {handle=33084688}, 4194304, 1, 0x2229da0, {handle=140281353623040}) = 0 -337765489749987:337765489750307 158125:158125 hsa_signal_load_relaxed({handle=140281307477632}) = 0 -337765489750838:337765489751329 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307477632}, 0x7ffea16f3480) = 0 -337765489751920:337765489752161 158125:158125 hsa_signal_load_relaxed({handle=140281353623040}) = 1 -337765489752652:337765489852931 158125:158125 hsa_signal_wait_scacquire({handle=140281353623040}, 2, 1, 100000, 1) = 1 -337765489853392:337765490135073 158125:158125 hsa_signal_wait_scacquire({handle=140281353623040}, 2, 1, 18446744073709551615, 0) = 0 -337765490135644:337765490135935 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281353623040}, 0x7ffea16f3490) = 0 -337765490138419:337765490163968 158125:158125 hsa_amd_memory_unlock(0x7f95c84fe000) = 0 -337765490165701:337765490165961 158125:158125 hsa_signal_load_relaxed({handle=140281307477760}) = 0 -337765490166482:337765490166793 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307477760}, 0x7ffea16f3570) = 0 -337765498466347:337765500485736 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c88ff000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765500488000:337765500488561 158125:158125 hsa_signal_load_relaxed({handle=140281353623040}) = 0 -337765500489503:337765500489874 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353622912}, 1) = void -337765500490755:337765500491878 158125:158125 hsa_amd_memory_async_copy(0x7f95c0800000, {handle=33084688}, 0x7f9482800010, {handle=32855168}, 4194304, 0, 0, {handle=140281353622912}) = 0 -337765500492479:337765500492709 158125:158125 hsa_signal_load_relaxed({handle=140281353622912}) = 1 -337765500493220:337765500593549 158125:158125 hsa_signal_wait_scacquire({handle=140281353622912}, 2, 1, 100000, 1) = 1 -337765500594050:337765500880370 158125:158125 hsa_signal_wait_scacquire({handle=140281353622912}, 2, 1, 18446744073709551615, 0) = 0 -337765500881052:337765500881432 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281353622912}, 0x7ffea16f3490) = 0 -337765500882184:337765500909235 158125:158125 hsa_amd_memory_unlock(0x7f95c88ff000) = 0 -337765500926948:337765500927229 158125:158125 hsa_signal_load_relaxed({handle=140281353622912}) = 0 -337765500928130:337765500928491 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 96 -337765500929222:337765500929643 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 96 -337765500930545:337765500931056 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353622784}, 1) = void -337765500931707:337765500931978 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 96 -337765500932629:337765500933230 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 96) = void -337765500939883:337765501614996 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c84fe000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765501616138:337765501616429 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 97 -337765501616919:337765501617160 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 97 -337765501617691:337765501618032 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353622656}, 1) = void -337765501618573:337765501618833 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 97 -337765501619434:337765501620035 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 97) = void -337765501620677:337765501620927 158125:158125 hsa_signal_load_relaxed({handle=140281353622656}) = 1 -337765501621398:337765501621628 158125:158125 hsa_signal_load_relaxed({handle=140281353622656}) = 1 -337765501622119:337765501632419 158125:158125 hsa_signal_wait_scacquire({handle=140281353622656}, 2, 1, 10000, 1) = 1 -337765501633030:337765501633361 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353622528}, 1) = void -337765501633992:337765501635014 158125:158125 hsa_amd_memory_async_copy(0x7f9482800010, {handle=32855168}, 0x7f9484c00000, {handle=33084688}, 4194304, 1, 0x2229eb0, {handle=140281353622528}) = 0 -337765501637258:337765501637619 158125:158125 hsa_signal_load_relaxed({handle=140281353622656}) = 0 -337765501638160:337765501638630 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281353622656}, 0x7ffea16f3480) = 0 -337765501639151:337765501639382 158125:158125 hsa_signal_load_relaxed({handle=140281353622528}) = 1 -337765501639853:337765501740132 158125:158125 hsa_signal_wait_scacquire({handle=140281353622528}, 2, 1, 100000, 1) = 1 -337765501740603:337765502020100 158125:158125 hsa_signal_wait_scacquire({handle=140281353622528}, 2, 1, 18446744073709551615, 0) = 0 -337765502020661:337765502020962 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281353622528}, 0x7ffea16f3490) = 0 -337765502021713:337765502046590 158125:158125 hsa_amd_memory_unlock(0x7f95c84fe000) = 0 -337765502048273:337765502048564 158125:158125 hsa_signal_load_relaxed({handle=140281353622784}) = 0 -337765502049085:337765502049355 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281353622784}, 0x7ffea16f3570) = 0 -337765510342116:337765512377716 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c88ff000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765512379720:337765512380211 158125:158125 hsa_signal_load_relaxed({handle=140281353622528}) = 0 -337765512381243:337765512381563 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353622400}, 1) = void -337765512382284:337765512383487 158125:158125 hsa_amd_memory_async_copy(0x7f95c0800000, {handle=33084688}, 0x7f9482800010, {handle=32855168}, 4194304, 0, 0, {handle=140281353622400}) = 0 -337765512384088:337765512384318 158125:158125 hsa_signal_load_relaxed({handle=140281353622400}) = 1 -337765512384919:337765512485249 158125:158125 hsa_signal_wait_scacquire({handle=140281353622400}, 2, 1, 100000, 1) = 1 -337765512485840:337765512770637 158125:158125 hsa_signal_wait_scacquire({handle=140281353622400}, 2, 1, 18446744073709551615, 0) = 0 -337765512771759:337765512772270 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281353622400}, 0x7ffea16f3490) = 0 -337765512773021:337765512800303 158125:158125 hsa_amd_memory_unlock(0x7f95c88ff000) = 0 -337765512815141:337765512815411 158125:158125 hsa_signal_load_relaxed({handle=140281353622400}) = 0 -337765512816003:337765512816283 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 98 -337765512817024:337765512817365 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 98 -337765512818708:337765512818938 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353622272}, 1) = void -337765512819619:337765512819880 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 98 -337765512820391:337765512821002 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 98) = void -337765512831131:337765513498790 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c84fe000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765513500073:337765513500343 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 99 -337765513500874:337765513501105 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 99 -337765513501696:337765513501986 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353622144}, 1) = void -337765513503910:337765513504181 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 99 -337765513504692:337765513505273 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 99) = void -337765513505844:337765513506114 158125:158125 hsa_signal_load_relaxed({handle=140281353622144}) = 1 -337765513506595:337765513506836 158125:158125 hsa_signal_load_relaxed({handle=140281353622144}) = 1 -337765513507337:337765513517646 158125:158125 hsa_signal_wait_scacquire({handle=140281353622144}, 2, 1, 10000, 1) = 1 -337765513518237:337765513518478 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353622016}, 1) = void -337765513519109:337765513520091 158125:158125 hsa_amd_memory_async_copy(0x7f9482800010, {handle=32855168}, 0x7f9484c00000, {handle=33084688}, 4194304, 1, 0x2229fc0, {handle=140281353622016}) = 0 -337765513520732:337765513521082 158125:158125 hsa_signal_load_relaxed({handle=140281353622144}) = 0 -337765513521633:337765513522124 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281353622144}, 0x7ffea16f3480) = 0 -337765513522645:337765513522876 158125:158125 hsa_signal_load_relaxed({handle=140281353622016}) = 1 -337765513523347:337765513623626 158125:158125 hsa_signal_wait_scacquire({handle=140281353622016}, 2, 1, 100000, 1) = 1 -337765513624107:337765513905147 158125:158125 hsa_signal_wait_scacquire({handle=140281353622016}, 2, 1, 18446744073709551615, 0) = 0 -337765513905688:337765513905988 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281353622016}, 0x7ffea16f3490) = 0 -337765513906760:337765513931126 158125:158125 hsa_amd_memory_unlock(0x7f95c84fe000) = 0 -337765513932749:337765513933009 158125:158125 hsa_signal_load_relaxed({handle=140281353622272}) = 0 -337765513933550:337765513933831 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281353622272}, 0x7ffea16f3570) = 0 -337765522206494:337765524145862 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c88ff000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765524147766:337765524148337 158125:158125 hsa_signal_load_relaxed({handle=140281353622016}) = 0 -337765524149289:337765524149559 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353621888}, 1) = void -337765524150391:337765524151653 158125:158125 hsa_amd_memory_async_copy(0x7f95c0800000, {handle=33084688}, 0x7f9482800010, {handle=32855168}, 4194304, 0, 0, {handle=140281353621888}) = 0 -337765524152254:337765524152495 158125:158125 hsa_signal_load_relaxed({handle=140281353621888}) = 1 -337765524153066:337765524253395 158125:158125 hsa_signal_wait_scacquire({handle=140281353621888}, 2, 1, 100000, 1) = 1 -337765524253986:337765524539765 158125:158125 hsa_signal_wait_scacquire({handle=140281353621888}, 2, 1, 18446744073709551615, 0) = 0 -337765524540436:337765524540817 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281353621888}, 0x7ffea16f3490) = 0 -337765524541579:337765524568519 158125:158125 hsa_amd_memory_unlock(0x7f95c88ff000) = 0 -337765524586954:337765524587245 158125:158125 hsa_signal_load_relaxed({handle=140281353621888}) = 0 -337765524587896:337765524588207 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 100 -337765524588928:337765524589259 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 100 -337765524590110:337765524590351 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353621760}, 1) = void -337765524592064:337765524592344 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 100 -337765524592956:337765524593567 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 100) = void -337765524600570:337765525283398 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c84fe000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765525284680:337765525284951 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 101 -337765525285452:337765525285682 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 101 -337765525286263:337765525286634 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353621632}, 1) = void -337765525287205:337765525287455 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 101 -337765525287946:337765525288527 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 101) = void -337765525289109:337765525289359 158125:158125 hsa_signal_load_relaxed({handle=140281353621632}) = 1 -337765525289840:337765525290070 158125:158125 hsa_signal_load_relaxed({handle=140281353621632}) = 1 -337765525290581:337765525300981 158125:158125 hsa_signal_wait_scacquire({handle=140281353621632}, 2, 1, 10000, 1) = 1 -337765525301632:337765525301953 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353621504}, 1) = void -337765525302594:337765525303806 158125:158125 hsa_amd_memory_async_copy(0x7f9482800010, {handle=32855168}, 0x7f9484c00000, {handle=33084688}, 4194304, 1, 0x222a0d0, {handle=140281353621504}) = 0 -337765525304438:337765525304788 158125:158125 hsa_signal_load_relaxed({handle=140281353621632}) = 0 -337765525305309:337765525305780 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281353621632}, 0x7ffea16f3480) = 0 -337765525306291:337765525306531 158125:158125 hsa_signal_load_relaxed({handle=140281353621504}) = 1 -337765525307002:337765525407271 158125:158125 hsa_signal_wait_scacquire({handle=140281353621504}, 2, 1, 100000, 1) = 1 -337765525407732:337765525715433 158125:158125 hsa_signal_wait_scacquire({handle=140281353621504}, 2, 1, 18446744073709551615, 0) = 0 -337765525716014:337765525716324 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281353621504}, 0x7ffea16f3490) = 0 -337765525717106:337765525743415 158125:158125 hsa_amd_memory_unlock(0x7f95c84fe000) = 0 -337765525745079:337765525745329 158125:158125 hsa_signal_load_relaxed({handle=140281353621760}) = 0 -337765525745860:337765525746141 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281353621760}, 0x7ffea16f3570) = 0 -337765534076573:337765536068390 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c88ff000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765536071015:337765536071466 158125:158125 hsa_signal_load_relaxed({handle=140281353621504}) = 0 -337765536072818:337765536073229 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307479936}, 1) = void -337765536073940:337765536075133 158125:158125 hsa_amd_memory_async_copy(0x7f95c0800000, {handle=33084688}, 0x7f9482800010, {handle=32855168}, 4194304, 0, 0, {handle=140281307479936}) = 0 -337765536075754:337765536075994 158125:158125 hsa_signal_load_relaxed({handle=140281307479936}) = 1 -337765536076485:337765536176814 158125:158125 hsa_signal_wait_scacquire({handle=140281307479936}, 2, 1, 100000, 1) = 1 -337765536179900:337765536462964 158125:158125 hsa_signal_wait_scacquire({handle=140281307479936}, 2, 1, 18446744073709551615, 0) = 0 -337765536463635:337765536464176 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281307479936}, 0x7ffea16f3490) = 0 -337765536464978:337765536494383 158125:158125 hsa_amd_memory_unlock(0x7f95c88ff000) = 0 -337765536511846:337765536512127 158125:158125 hsa_signal_load_relaxed({handle=140281307479936}) = 0 -337765536512738:337765536513149 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 102 -337765536513790:337765536514121 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 102 -337765536515163:337765536515413 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307479808}, 1) = void -337765536516004:337765536516275 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 102 -337765536516796:337765536517397 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 102) = void -337765536525482:337765537196047 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c84fe000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765537197289:337765537197560 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 103 -337765537198071:337765537198321 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 103 -337765537198902:337765537199213 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307479680}, 1) = void -337765537199794:337765537200054 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 103 -337765537200535:337765537201116 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 103) = void -337765537201687:337765537201958 158125:158125 hsa_signal_load_relaxed({handle=140281307479680}) = 1 -337765537202439:337765537202679 158125:158125 hsa_signal_load_relaxed({handle=140281307479680}) = 1 -337765537203160:337765537213480 158125:158125 hsa_signal_wait_scacquire({handle=140281307479680}, 2, 1, 10000, 1) = 1 -337765537214101:337765537214331 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307479552}, 1) = void -337765537214982:337765537216085 158125:158125 hsa_amd_memory_async_copy(0x7f9482800010, {handle=32855168}, 0x7f9484c00000, {handle=33084688}, 4194304, 1, 0x222a1e0, {handle=140281307479552}) = 0 -337765537216696:337765537217006 158125:158125 hsa_signal_load_relaxed({handle=140281307479680}) = 0 -337765537217547:337765537218499 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307479680}, 0x7ffea16f3480) = 0 -337765537219010:337765537219241 158125:158125 hsa_signal_load_relaxed({handle=140281307479552}) = 1 -337765537219711:337765537319991 158125:158125 hsa_signal_wait_scacquire({handle=140281307479552}, 2, 1, 100000, 1) = 1 -337765537320461:337765537602483 158125:158125 hsa_signal_wait_scacquire({handle=140281307479552}, 2, 1, 18446744073709551615, 0) = 0 -337765537603034:337765537603335 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281307479552}, 0x7ffea16f3490) = 0 -337765537604106:337765537630576 158125:158125 hsa_amd_memory_unlock(0x7f95c84fe000) = 0 -337765537632189:337765537632450 158125:158125 hsa_signal_load_relaxed({handle=140281307479808}) = 0 -337765537634374:337765537634694 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307479808}, 0x7ffea16f3570) = 0 -337765545907127:337765547882272 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c88ff000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765547884136:337765547884537 158125:158125 hsa_signal_load_relaxed({handle=140281307479552}) = 0 -337765547885629:337765547885889 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307479424}, 1) = void -337765547886821:337765547888023 158125:158125 hsa_amd_memory_async_copy(0x7f95c0800000, {handle=33084688}, 0x7f9482800010, {handle=32855168}, 4194304, 0, 0, {handle=140281307479424}) = 0 -337765547888634:337765547888865 158125:158125 hsa_signal_load_relaxed({handle=140281307479424}) = 1 -337765547889456:337765547989785 158125:158125 hsa_signal_wait_scacquire({handle=140281307479424}, 2, 1, 100000, 1) = 1 -337765547990376:337765548276095 158125:158125 hsa_signal_wait_scacquire({handle=140281307479424}, 2, 1, 18446744073709551615, 0) = 0 -337765548276757:337765548277117 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281307479424}, 0x7ffea16f3490) = 0 -337765548277889:337765548304088 158125:158125 hsa_amd_memory_unlock(0x7f95c88ff000) = 0 -337765548321481:337765548321751 158125:158125 hsa_signal_load_relaxed({handle=140281307479424}) = 0 -337765548322553:337765548322924 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 104 -337765548323645:337765548324266 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 104 -337765548325068:337765548325308 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307479296}, 1) = void -337765548325989:337765548326260 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 104 -337765548326881:337765548327612 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 104) = void -337765548334505:337765549008226 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c84fe000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765549009469:337765549009729 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 105 -337765549010220:337765549010470 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 105 -337765549011052:337765549011352 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307479168}, 1) = void -337765549012194:337765549012454 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 105 -337765549012935:337765549013516 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 105) = void -337765549014077:337765549014338 158125:158125 hsa_signal_load_relaxed({handle=140281307479168}) = 1 -337765549014839:337765549015069 158125:158125 hsa_signal_load_relaxed({handle=140281307479168}) = 1 -337765549015580:337765549025890 158125:158125 hsa_signal_wait_scacquire({handle=140281307479168}, 2, 1, 10000, 1) = 1 -337765549026621:337765549026952 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307479040}, 1) = void -337765549027593:337765549028745 158125:158125 hsa_amd_memory_async_copy(0x7f9482800010, {handle=32855168}, 0x7f9484c00000, {handle=33084688}, 4194304, 1, 0x222a2f0, {handle=140281307479040}) = 0 -337765549029366:337765549029597 158125:158125 hsa_signal_load_relaxed({handle=140281307479168}) = 0 -337765549030258:337765549030729 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307479168}, 0x7ffea16f3480) = 0 -337765549032983:337765549033233 158125:158125 hsa_signal_load_relaxed({handle=140281307479040}) = 1 -337765549033734:337765549134023 158125:158125 hsa_signal_wait_scacquire({handle=140281307479040}, 2, 1, 100000, 1) = 1 -337765549134494:337765549411357 158125:158125 hsa_signal_wait_scacquire({handle=140281307479040}, 2, 1, 18446744073709551615, 0) = 0 -337765549411908:337765549412208 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281307479040}, 0x7ffea16f3490) = 0 -337765549412980:337765549438438 158125:158125 hsa_amd_memory_unlock(0x7f95c84fe000) = 0 -337765549440111:337765549440361 158125:158125 hsa_signal_load_relaxed({handle=140281307479296}) = 0 -337765549440892:337765549441173 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307479296}, 0x7ffea16f3570) = 0 -337765557724225:337765559721672 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c88ff000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765559723455:337765559723806 158125:158125 hsa_signal_load_relaxed({handle=140281307479040}) = 0 -337765559725068:337765559725339 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307478912}, 1) = void -337765559726340:337765559727533 158125:158125 hsa_amd_memory_async_copy(0x7f95c0800000, {handle=33084688}, 0x7f9482800010, {handle=32855168}, 4194304, 0, 0, {handle=140281307478912}) = 0 -337765559728154:337765559728394 158125:158125 hsa_signal_load_relaxed({handle=140281307478912}) = 1 -337765559728985:337765559829305 158125:158125 hsa_signal_wait_scacquire({handle=140281307478912}, 2, 1, 100000, 1) = 1 -337765559829886:337765560115795 158125:158125 hsa_signal_wait_scacquire({handle=140281307478912}, 2, 1, 18446744073709551615, 0) = 0 -337765560116386:337765560120404 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281307478912}, 0x7ffea16f3490) = 0 -337765560121165:337765560147695 158125:158125 hsa_amd_memory_unlock(0x7f95c88ff000) = 0 -337765560162603:337765560162874 158125:158125 hsa_signal_load_relaxed({handle=140281307478912}) = 0 -337765560163675:337765560164036 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 106 -337765560165028:337765560165438 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 106 -337765560166260:337765560166490 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307478784}, 1) = void -337765560167082:337765560167352 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 106 -337765560167983:337765560168715 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 106) = void -337765560177782:337765560853015 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c84fe000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765560854298:337765560854578 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 107 -337765560855079:337765560855330 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 107 -337765560855921:337765560856231 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307478656}, 1) = void -337765560856823:337765560857093 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 107 -337765560857584:337765560858165 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 107) = void -337765560860179:337765560860449 158125:158125 hsa_signal_load_relaxed({handle=140281307478656}) = 1 -337765560860950:337765560861181 158125:158125 hsa_signal_load_relaxed({handle=140281307478656}) = 1 -337765560861672:337765560871791 158125:158125 hsa_signal_wait_scacquire({handle=140281307478656}, 2, 1, 10000, 1) = 0 -337765560872382:337765560872622 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307478528}, 1) = void -337765560873244:337765560874356 158125:158125 hsa_amd_memory_async_copy(0x7f9482800010, {handle=32855168}, 0x7f9484c00000, {handle=33084688}, 4194304, 0, 0, {handle=140281307478528}) = 0 -337765560874937:337765560875177 158125:158125 hsa_signal_load_relaxed({handle=140281307478656}) = 0 -337765560875708:337765560876269 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307478656}, 0x7ffea16f3480) = 0 -337765560876780:337765560877011 158125:158125 hsa_signal_load_relaxed({handle=140281307478528}) = 1 -337765560877481:337765560977761 158125:158125 hsa_signal_wait_scacquire({handle=140281307478528}, 2, 1, 100000, 1) = 1 -337765560978232:337765561253711 158125:158125 hsa_signal_wait_scacquire({handle=140281307478528}, 2, 1, 18446744073709551615, 0) = 0 -337765561254272:337765561254583 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281307478528}, 0x7ffea16f3490) = 0 -337765561255394:337765561280872 158125:158125 hsa_amd_memory_unlock(0x7f95c84fe000) = 0 -337765561282796:337765561283066 158125:158125 hsa_signal_load_relaxed({handle=140281307478784}) = 0 -337765561283597:337765561283898 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307478784}, 0x7ffea16f3570) = 0 -337765569557113:337765571596309 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c88ff000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765571598292:337765571598974 158125:158125 hsa_signal_load_relaxed({handle=140281307478528}) = 0 -337765571600366:337765571600647 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307478400}, 1) = void -337765571601378:337765571602721 158125:158125 hsa_amd_memory_async_copy(0x7f95c0800000, {handle=33084688}, 0x7f9482800010, {handle=32855168}, 4194304, 0, 0, {handle=140281307478400}) = 0 -337765571603352:337765571603582 158125:158125 hsa_signal_load_relaxed({handle=140281307478400}) = 1 -337765571604103:337765571704433 158125:158125 hsa_signal_wait_scacquire({handle=140281307478400}, 2, 1, 100000, 1) = 1 -337765571704914:337765571988168 158125:158125 hsa_signal_wait_scacquire({handle=140281307478400}, 2, 1, 18446744073709551615, 0) = 0 -337765571988749:337765571989510 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281307478400}, 0x7ffea16f3490) = 0 -337765571990382:337765572024356 158125:158125 hsa_amd_memory_unlock(0x7f95c88ff000) = 0 -337765572043442:337765572043713 158125:158125 hsa_signal_load_relaxed({handle=140281307478400}) = 0 -337765572044534:337765572044905 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 108 -337765572045546:337765572045957 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 108 -337765572046838:337765572047089 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307478272}, 1) = void -337765572047670:337765572047931 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 108 -337765572048522:337765572049283 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 108) = void -337765572057659:337765572738293 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c84fe000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765572739525:337765572739806 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 109 -337765572740296:337765572740647 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 109 -337765572741288:337765572741569 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307478144}, 1) = void -337765572742120:337765572742380 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 109 -337765572742851:337765572743442 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 109) = void -337765572744023:337765572744294 158125:158125 hsa_signal_load_relaxed({handle=140281307478144}) = 1 -337765572744785:337765572745015 158125:158125 hsa_signal_load_relaxed({handle=140281307478144}) = 1 -337765572745516:337765572755856 158125:158125 hsa_signal_wait_scacquire({handle=140281307478144}, 2, 1, 10000, 1) = 1 -337765572756507:337765572756848 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307478016}, 1) = void -337765572757519:337765572758601 158125:158125 hsa_amd_memory_async_copy(0x7f9482800010, {handle=32855168}, 0x7f9484c00000, {handle=33084688}, 4194304, 1, 0x20f38f0, {handle=140281307478016}) = 0 -337765572759202:337765572759513 158125:158125 hsa_signal_load_relaxed({handle=140281307478144}) = 0 -337765572760044:337765572760545 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307478144}, 0x7ffea16f3480) = 0 -337765572761076:337765572761306 158125:158125 hsa_signal_load_relaxed({handle=140281307478016}) = 1 -337765572761787:337765572862056 158125:158125 hsa_signal_wait_scacquire({handle=140281307478016}, 2, 1, 100000, 1) = 1 -337765572862547:337765573143567 158125:158125 hsa_signal_wait_scacquire({handle=140281307478016}, 2, 1, 18446744073709551615, 0) = 0 -337765573144148:337765573144449 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281307478016}, 0x7ffea16f3490) = 0 -337765573145230:337765573171370 158125:158125 hsa_amd_memory_unlock(0x7f95c84fe000) = 0 -337765573173093:337765573173353 158125:158125 hsa_signal_load_relaxed({handle=140281307478272}) = 0 -337765573173884:337765573174165 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307478272}, 0x7ffea16f3570) = 0 -337765581531578:337765583554854 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c88ff000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765583557179:337765583557619 158125:158125 hsa_signal_load_relaxed({handle=140281307478016}) = 0 -337765583558531:337765583558812 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307477888}, 1) = void -337765583559533:337765583560785 158125:158125 hsa_amd_memory_async_copy(0x7f95c0800000, {handle=33084688}, 0x7f9482800010, {handle=32855168}, 4194304, 0, 0, {handle=140281307477888}) = 0 -337765583561387:337765583561627 158125:158125 hsa_signal_load_relaxed({handle=140281307477888}) = 1 -337765583562198:337765583662517 158125:158125 hsa_signal_wait_scacquire({handle=140281307477888}, 2, 1, 100000, 1) = 1 -337765583663108:337765583945601 158125:158125 hsa_signal_wait_scacquire({handle=140281307477888}, 2, 1, 18446744073709551615, 0) = 0 -337765583946393:337765583947204 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281307477888}, 0x7ffea16f3490) = 0 -337765583950030:337765583978383 158125:158125 hsa_amd_memory_unlock(0x7f95c88ff000) = 0 -337765583993742:337765583994063 158125:158125 hsa_signal_load_relaxed({handle=140281307477888}) = 0 -337765583994784:337765583995165 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 110 -337765583995716:337765583996147 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 110 -337765583996948:337765583997189 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307477760}, 1) = void -337765583997800:337765583998080 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 110 -337765583998611:337765583999353 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 110) = void -337765584013539:337765584684685 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c84fe000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765584685877:337765584686158 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 111 -337765584686689:337765584686939 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 111 -337765584687531:337765584687791 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307477632}, 1) = void -337765584688392:337765584688653 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 111 -337765584689164:337765584689745 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 111) = void -337765584690286:337765584690566 158125:158125 hsa_signal_load_relaxed({handle=140281307477632}) = 1 -337765584691047:337765584691288 158125:158125 hsa_signal_load_relaxed({handle=140281307477632}) = 1 -337765584691809:337765584702128 158125:158125 hsa_signal_wait_scacquire({handle=140281307477632}, 2, 1, 10000, 1) = 1 -337765584702799:337765584703050 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353623040}, 1) = void -337765584703681:337765584704733 158125:158125 hsa_amd_memory_async_copy(0x7f9482800010, {handle=32855168}, 0x7f9484c00000, {handle=33084688}, 4194304, 1, 0x20f3a00, {handle=140281353623040}) = 0 -337765584705354:337765584705665 158125:158125 hsa_signal_load_relaxed({handle=140281307477632}) = 0 -337765584706306:337765584706907 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307477632}, 0x7ffea16f3480) = 0 -337765584707508:337765584707749 158125:158125 hsa_signal_load_relaxed({handle=140281353623040}) = 1 -337765584708240:337765584808509 158125:158125 hsa_signal_wait_scacquire({handle=140281353623040}, 2, 1, 100000, 1) = 1 -337765584809010:337765585090230 158125:158125 hsa_signal_wait_scacquire({handle=140281353623040}, 2, 1, 18446744073709551615, 0) = 0 -337765585090821:337765585091122 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281353623040}, 0x7ffea16f3490) = 0 -337765585091893:337765585119145 158125:158125 hsa_amd_memory_unlock(0x7f95c84fe000) = 0 -337765585120848:337765585121098 158125:158125 hsa_signal_load_relaxed({handle=140281307477760}) = 0 -337765585121629:337765585121900 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307477760}, 0x7ffea16f3570) = 0 -337765593397619:337765595418781 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c88ff000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765595421015:337765595421567 158125:158125 hsa_signal_load_relaxed({handle=140281353623040}) = 0 -337765595424572:337765595424943 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353622912}, 1) = void -337765595425674:337765595426907 158125:158125 hsa_amd_memory_async_copy(0x7f95c0800000, {handle=33084688}, 0x7f9482800010, {handle=32855168}, 4194304, 0, 0, {handle=140281353622912}) = 0 -337765595427518:337765595427758 158125:158125 hsa_signal_load_relaxed({handle=140281353622912}) = 1 -337765595428259:337765595528578 158125:158125 hsa_signal_wait_scacquire({handle=140281353622912}, 2, 1, 100000, 1) = 1 -337765595529079:337765595820028 158125:158125 hsa_signal_wait_scacquire({handle=140281353622912}, 2, 1, 18446744073709551615, 0) = 0 -337765595820639:337765595820990 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281353622912}, 0x7ffea16f3490) = 0 -337765595821761:337765595848081 158125:158125 hsa_amd_memory_unlock(0x7f95c88ff000) = 0 -337765595864442:337765595864742 158125:158125 hsa_signal_load_relaxed({handle=140281353622912}) = 0 -337765595865364:337765595865844 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 112 -337765595866396:337765595866816 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 112 -337765595867708:337765595868059 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353622784}, 1) = void -337765595868620:337765595868890 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 112 -337765595869431:337765595870032 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 112) = void -337765595876815:337765596552189 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c84fe000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765596553401:337765596553702 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 113 -337765596554223:337765596554453 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 113 -337765596554984:337765596555345 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353622656}, 1) = void -337765596555926:337765596556187 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 113 -337765596556688:337765596557269 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 113) = void -337765596557850:337765596558120 158125:158125 hsa_signal_load_relaxed({handle=140281353622656}) = 1 -337765596558601:337765596558832 158125:158125 hsa_signal_load_relaxed({handle=140281353622656}) = 1 -337765596559322:337765596569622 158125:158125 hsa_signal_wait_scacquire({handle=140281353622656}, 2, 1, 10000, 1) = 1 -337765596570293:337765596570624 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353622528}, 1) = void -337765596571275:337765596572397 158125:158125 hsa_amd_memory_async_copy(0x7f9482800010, {handle=32855168}, 0x7f9484c00000, {handle=33084688}, 4194304, 1, 0x20f3b10, {handle=140281353622528}) = 0 -337765596573108:337765596573469 158125:158125 hsa_signal_load_relaxed({handle=140281353622656}) = 0 -337765596573990:337765596574581 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281353622656}, 0x7ffea16f3480) = 0 -337765596575102:337765596575343 158125:158125 hsa_signal_load_relaxed({handle=140281353622528}) = 1 -337765596575824:337765596676113 158125:158125 hsa_signal_wait_scacquire({handle=140281353622528}, 2, 1, 100000, 1) = 1 -337765596678187:337765596957684 158125:158125 hsa_signal_wait_scacquire({handle=140281353622528}, 2, 1, 18446744073709551615, 0) = 0 -337765596958265:337765596958556 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281353622528}, 0x7ffea16f3490) = 0 -337765596959427:337765596984444 158125:158125 hsa_amd_memory_unlock(0x7f95c84fe000) = 0 -337765596986228:337765596986498 158125:158125 hsa_signal_load_relaxed({handle=140281353622784}) = 0 -337765596987029:337765596987310 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281353622784}, 0x7ffea16f3570) = 0 -337765605554088:337765607591521 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c88ff000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765607593404:337765607593835 158125:158125 hsa_signal_load_relaxed({handle=140281353622528}) = 0 -337765607594877:337765607595238 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353622400}, 1) = void -337765607595999:337765607598023 158125:158125 hsa_amd_memory_async_copy(0x7f95c0800000, {handle=33084688}, 0x7f9482800010, {handle=32855168}, 4194304, 0, 0, {handle=140281353622400}) = 0 -337765607598654:337765607598885 158125:158125 hsa_signal_load_relaxed({handle=140281353622400}) = 1 -337765607599406:337765607699735 158125:158125 hsa_signal_wait_scacquire({handle=140281353622400}, 2, 1, 100000, 1) = 1 -337765607700236:337765607983841 158125:158125 hsa_signal_wait_scacquire({handle=140281353622400}, 2, 1, 18446744073709551615, 0) = 0 -337765607984492:337765607984863 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281353622400}, 0x7ffea16f3490) = 0 -337765607985614:337765608023465 158125:158125 hsa_amd_memory_unlock(0x7f95c88ff000) = 0 -337765608044144:337765608044465 158125:158125 hsa_signal_load_relaxed({handle=140281353622400}) = 0 -337765608045176:337765608045477 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 114 -337765608046108:337765608046519 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 114 -337765608047431:337765608047661 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353622272}, 1) = void -337765608048312:337765608048573 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 114 -337765608049094:337765608049705 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 114) = void -337765608056668:337765608730589 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c84fe000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765608731832:337765608732122 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 115 -337765608732633:337765608732884 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 115 -337765608733505:337765608733795 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353622144}, 1) = void -337765608734366:337765608734617 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 115 -337765608735078:337765608735659 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 115) = void -337765608736200:337765608736470 158125:158125 hsa_signal_load_relaxed({handle=140281353622144}) = 1 -337765608736951:337765608737182 158125:158125 hsa_signal_load_relaxed({handle=140281353622144}) = 1 -337765608737673:337765608747972 158125:158125 hsa_signal_wait_scacquire({handle=140281353622144}, 2, 1, 10000, 1) = 1 -337765608750086:337765608750336 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353622016}, 1) = void -337765608751038:337765608752110 158125:158125 hsa_amd_memory_async_copy(0x7f9482800010, {handle=32855168}, 0x7f9484c00000, {handle=33084688}, 4194304, 1, 0x20f3c20, {handle=140281353622016}) = 0 -337765608752711:337765608753553 158125:158125 hsa_signal_load_relaxed({handle=140281353622144}) = 0 -337765608754184:337765608754655 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281353622144}, 0x7ffea16f3480) = 0 -337765608755186:337765608755416 158125:158125 hsa_signal_load_relaxed({handle=140281353622016}) = 1 -337765608755897:337765608856166 158125:158125 hsa_signal_wait_scacquire({handle=140281353622016}, 2, 1, 100000, 1) = 1 -337765608856657:337765609136815 158125:158125 hsa_signal_wait_scacquire({handle=140281353622016}, 2, 1, 18446744073709551615, 0) = 0 -337765609137417:337765609137707 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281353622016}, 0x7ffea16f3490) = 0 -337765609138559:337765609164237 158125:158125 hsa_amd_memory_unlock(0x7f95c84fe000) = 0 -337765609166131:337765609166381 158125:158125 hsa_signal_load_relaxed({handle=140281353622272}) = 0 -337765609166912:337765609167233 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281353622272}, 0x7ffea16f3570) = 0 -337765617472197:337765619496135 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c88ff000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765619497908:337765619498459 158125:158125 hsa_signal_load_relaxed({handle=140281353622016}) = 0 -337765619499321:337765619499581 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353621888}, 1) = void -337765619500312:337765619501405 158125:158125 hsa_amd_memory_async_copy(0x7f95c0800000, {handle=33084688}, 0x7f9482800010, {handle=32855168}, 4194304, 0, 0, {handle=140281353621888}) = 0 -337765619501996:337765619502226 158125:158125 hsa_signal_load_relaxed({handle=140281353621888}) = 1 -337765619502717:337765619603026 158125:158125 hsa_signal_wait_scacquire({handle=140281353621888}, 2, 1, 100000, 1) = 1 -337765619603537:337765619889597 158125:158125 hsa_signal_wait_scacquire({handle=140281353621888}, 2, 1, 18446744073709551615, 0) = 0 -337765619890178:337765619890679 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281353621888}, 0x7ffea16f3490) = 0 -337765619891410:337765619917149 158125:158125 hsa_amd_memory_unlock(0x7f95c88ff000) = 0 -337765619933720:337765619933990 158125:158125 hsa_signal_load_relaxed({handle=140281353621888}) = 0 -337765619934612:337765619934902 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 116 -337765619935533:337765619935944 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 116 -337765619936786:337765619937016 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353621760}, 1) = void -337765619937607:337765619937868 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 116 -337765619938479:337765619939090 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 116) = void -337765619946123:337765620633550 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c84fe000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765620634902:337765620635233 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 117 -337765620637608:337765620637868 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 117 -337765620638479:337765620638970 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353621632}, 1) = void -337765620639571:337765620639842 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 117 -337765620640303:337765620640884 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 117) = void -337765620641465:337765620641735 158125:158125 hsa_signal_load_relaxed({handle=140281353621632}) = 1 -337765620642216:337765620642447 158125:158125 hsa_signal_load_relaxed({handle=140281353621632}) = 1 -337765620642948:337765620653257 158125:158125 hsa_signal_wait_scacquire({handle=140281353621632}, 2, 1, 10000, 1) = 1 -337765620653898:337765620654229 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353621504}, 1) = void -337765620654880:337765620656032 158125:158125 hsa_amd_memory_async_copy(0x7f9482800010, {handle=32855168}, 0x7f9484c00000, {handle=33084688}, 4194304, 1, 0x20f3d30, {handle=140281353621504}) = 0 -337765620656674:337765620657024 158125:158125 hsa_signal_load_relaxed({handle=140281353621632}) = 0 -337765620657555:337765620658056 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281353621632}, 0x7ffea16f3480) = 0 -337765620658577:337765620658808 158125:158125 hsa_signal_load_relaxed({handle=140281353621504}) = 1 -337765620659298:337765620759568 158125:158125 hsa_signal_wait_scacquire({handle=140281353621504}, 2, 1, 100000, 1) = 1 -337765620760059:337765621041539 158125:158125 hsa_signal_wait_scacquire({handle=140281353621504}, 2, 1, 18446744073709551615, 0) = 0 -337765621042110:337765621042411 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281353621504}, 0x7ffea16f3490) = 0 -337765621043253:337765621068711 158125:158125 hsa_amd_memory_unlock(0x7f95c84fe000) = 0 -337765621070394:337765621070644 158125:158125 hsa_signal_load_relaxed({handle=140281353621760}) = 0 -337765621071165:337765621071456 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281353621760}, 0x7ffea16f3570) = 0 -337765629369507:337765631436576 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c88ff000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765631438429:337765631438820 158125:158125 hsa_signal_load_relaxed({handle=140281353621504}) = 0 -337765631439682:337765631439962 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307479936}, 1) = void -337765631440664:337765631441786 158125:158125 hsa_amd_memory_async_copy(0x7f95c0800000, {handle=33084688}, 0x7f9482800010, {handle=32855168}, 4194304, 0, 0, {handle=140281307479936}) = 0 -337765631442397:337765631442637 158125:158125 hsa_signal_load_relaxed({handle=140281307479936}) = 1 -337765631443228:337765631543538 158125:158125 hsa_signal_wait_scacquire({handle=140281307479936}, 2, 1, 100000, 1) = 1 -337765631544139:337765631829196 158125:158125 hsa_signal_wait_scacquire({handle=140281307479936}, 2, 1, 18446744073709551615, 0) = 0 -337765631829798:337765631833725 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281307479936}, 0x7ffea16f3490) = 0 -337765631834567:337765631860616 158125:158125 hsa_amd_memory_unlock(0x7f95c88ff000) = 0 -337765631877147:337765631877457 158125:158125 hsa_signal_load_relaxed({handle=140281307479936}) = 0 -337765631879081:337765631879391 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 118 -337765631879952:337765631880303 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 118 -337765631881104:337765631881335 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307479808}, 1) = void -337765631881926:337765631882196 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 118 -337765631882717:337765631883349 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 118) = void -337765631889701:337765632554304 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c84fe000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765632555546:337765632555847 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 119 -337765632556408:337765632556748 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 119 -337765632557360:337765632557670 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307479680}, 1) = void -337765632558251:337765632558522 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 119 -337765632558993:337765632559574 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 119) = void -337765632560145:337765632560415 158125:158125 hsa_signal_load_relaxed({handle=140281307479680}) = 1 -337765632560916:337765632561157 158125:158125 hsa_signal_load_relaxed({handle=140281307479680}) = 1 -337765632561678:337765632571987 158125:158125 hsa_signal_wait_scacquire({handle=140281307479680}, 2, 1, 10000, 1) = 1 -337765632572628:337765632572869 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307479552}, 1) = void -337765632573540:337765632574582 158125:158125 hsa_amd_memory_async_copy(0x7f9482800010, {handle=32855168}, 0x7f9484c00000, {handle=33084688}, 4194304, 1, 0x20f3e40, {handle=140281307479552}) = 0 -337765632575223:337765632575544 158125:158125 hsa_signal_load_relaxed({handle=140281307479680}) = 0 -337765632576085:337765632576576 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307479680}, 0x7ffea16f3480) = 0 -337765632577097:337765632577327 158125:158125 hsa_signal_load_relaxed({handle=140281307479552}) = 1 -337765632577818:337765632678087 158125:158125 hsa_signal_wait_scacquire({handle=140281307479552}, 2, 1, 100000, 1) = 1 -337765632678588:337765632959748 158125:158125 hsa_signal_wait_scacquire({handle=140281307479552}, 2, 1, 18446744073709551615, 0) = 0 -337765632960319:337765632960610 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281307479552}, 0x7ffea16f3490) = 0 -337765632961482:337765632988653 158125:158125 hsa_amd_memory_unlock(0x7f95c84fe000) = 0 -337765632990386:337765632990727 158125:158125 hsa_signal_load_relaxed({handle=140281307479808}) = 0 -337765632991268:337765632991568 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307479808}, 0x7ffea16f3570) = 0 -337765641294207:337765643338052 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c88ff000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765643339835:337765643340176 158125:158125 hsa_signal_load_relaxed({handle=140281307479552}) = 0 -337765643341298:337765643341679 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307479424}, 1) = void -337765643342400:337765643343512 158125:158125 hsa_amd_memory_async_copy(0x7f95c0800000, {handle=33084688}, 0x7f9482800010, {handle=32855168}, 4194304, 0, 0, {handle=140281307479424}) = 0 -337765643347299:337765643347540 158125:158125 hsa_signal_load_relaxed({handle=140281307479424}) = 1 -337765643348151:337765643448480 158125:158125 hsa_signal_wait_scacquire({handle=140281307479424}, 2, 1, 100000, 1) = 1 -337765643448981:337765643730442 158125:158125 hsa_signal_wait_scacquire({handle=140281307479424}, 2, 1, 18446744073709551615, 0) = 0 -337765643731113:337765643731464 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281307479424}, 0x7ffea16f3490) = 0 -337765643732195:337765643760419 158125:158125 hsa_amd_memory_unlock(0x7f95c88ff000) = 0 -337765643776529:337765643776820 158125:158125 hsa_signal_load_relaxed({handle=140281307479424}) = 0 -337765643777511:337765643777892 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 120 -337765643778453:337765643778883 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 120 -337765643779575:337765643779805 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307479296}, 1) = void -337765643780406:337765643780667 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 120 -337765643781188:337765643781929 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 120) = void -337765643789924:337765644464927 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c84fe000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765644466260:337765644466540 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 121 -337765644467071:337765644467322 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 121 -337765644467933:337765644468204 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307479168}, 1) = void -337765644468805:337765644469075 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 121 -337765644469566:337765644470147 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 121) = void -337765644470718:337765644470979 158125:158125 hsa_signal_load_relaxed({handle=140281307479168}) = 1 -337765644471470:337765644471710 158125:158125 hsa_signal_load_relaxed({handle=140281307479168}) = 1 -337765644472201:337765644482521 158125:158125 hsa_signal_wait_scacquire({handle=140281307479168}, 2, 1, 10000, 1) = 1 -337765644483172:337765644483492 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307479040}, 1) = void -337765644484174:337765644485286 158125:158125 hsa_amd_memory_async_copy(0x7f9482800010, {handle=32855168}, 0x7f9484c00000, {handle=33084688}, 4194304, 1, 0x20f3f50, {handle=140281307479040}) = 0 -337765644485937:337765644486258 158125:158125 hsa_signal_load_relaxed({handle=140281307479168}) = 0 -337765644486809:337765644487280 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307479168}, 0x7ffea16f3480) = 0 -337765644487821:337765644488051 158125:158125 hsa_signal_load_relaxed({handle=140281307479040}) = 1 -337765644488532:337765644588801 158125:158125 hsa_signal_wait_scacquire({handle=140281307479040}, 2, 1, 100000, 1) = 1 -337765644589282:337765644870522 158125:158125 hsa_signal_wait_scacquire({handle=140281307479040}, 2, 1, 18446744073709551615, 0) = 0 -337765644871114:337765644871414 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281307479040}, 0x7ffea16f3490) = 0 -337765644873929:337765644899998 158125:158125 hsa_amd_memory_unlock(0x7f95c84fe000) = 0 -337765644901701:337765644901962 158125:158125 hsa_signal_load_relaxed({handle=140281307479296}) = 0 -337765644902483:337765644902783 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307479296}, 0x7ffea16f3570) = 0 -337765653186648:337765655136836 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c88ff000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765655139070:337765655139381 158125:158125 hsa_signal_load_relaxed({handle=140281307479040}) = 0 -337765655140413:337765655140693 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307478912}, 1) = void -337765655141625:337765655142847 158125:158125 hsa_amd_memory_async_copy(0x7f95c0800000, {handle=33084688}, 0x7f9482800010, {handle=32855168}, 4194304, 0, 0, {handle=140281307478912}) = 0 -337765655143459:337765655143699 158125:158125 hsa_signal_load_relaxed({handle=140281307478912}) = 1 -337765655144210:337765655244539 158125:158125 hsa_signal_wait_scacquire({handle=140281307478912}, 2, 1, 100000, 1) = 1 -337765655245050:337765655528154 158125:158125 hsa_signal_wait_scacquire({handle=140281307478912}, 2, 1, 18446744073709551615, 0) = 0 -337765655529316:337765655529837 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281307478912}, 0x7ffea16f3490) = 0 -337765655530639:337765655556418 158125:158125 hsa_amd_memory_unlock(0x7f95c88ff000) = 0 -337765655573500:337765655573750 158125:158125 hsa_signal_load_relaxed({handle=140281307478912}) = 0 -337765655574401:337765655574692 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 122 -337765655575323:337765655576155 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 122 -337765655576906:337765655577127 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307478784}, 1) = void -337765655577798:337765655578048 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 122 -337765655578690:337765655579271 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 122) = void -337765655586264:337765656263040 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c84fe000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765656264884:337765656265194 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 123 -337765656265725:337765656265976 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 123 -337765656266567:337765656266827 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307478656}, 1) = void -337765656267439:337765656267699 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 123 -337765656268170:337765656268751 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 123) = void -337765656269362:337765656269633 158125:158125 hsa_signal_load_relaxed({handle=140281307478656}) = 1 -337765656270104:337765656270334 158125:158125 hsa_signal_load_relaxed({handle=140281307478656}) = 1 -337765656270835:337765656281165 158125:158125 hsa_signal_wait_scacquire({handle=140281307478656}, 2, 1, 10000, 1) = 1 -337765656281876:337765656282116 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307478528}, 1) = void -337765656282737:337765656283900 158125:158125 hsa_amd_memory_async_copy(0x7f9482800010, {handle=32855168}, 0x7f9484c00000, {handle=33084688}, 4194304, 1, 0x2059b80, {handle=140281307478528}) = 0 -337765656286294:337765656286615 158125:158125 hsa_signal_load_relaxed({handle=140281307478656}) = 0 -337765656287176:337765656287677 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307478656}, 0x7ffea16f3480) = 0 -337765656288208:337765656288448 158125:158125 hsa_signal_load_relaxed({handle=140281307478528}) = 1 -337765656288929:337765656389208 158125:158125 hsa_signal_wait_scacquire({handle=140281307478528}, 2, 1, 100000, 1) = 1 -337765656389699:337765656668786 158125:158125 hsa_signal_wait_scacquire({handle=140281307478528}, 2, 1, 18446744073709551615, 0) = 0 -337765656669367:337765656669647 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281307478528}, 0x7ffea16f3490) = 0 -337765656670449:337765656696157 158125:158125 hsa_amd_memory_unlock(0x7f95c84fe000) = 0 -337765656697860:337765656698131 158125:158125 hsa_signal_load_relaxed({handle=140281307478784}) = 0 -337765656698672:337765656698983 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307478784}, 0x7ffea16f3570) = 0 -337765665023424:337765666991596 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c88ff000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765666993600:337765666994010 158125:158125 hsa_signal_load_relaxed({handle=140281307478528}) = 0 -337765666995493:337765666995914 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307478400}, 1) = void -337765666996866:337765666998268 158125:158125 hsa_amd_memory_async_copy(0x7f95c0800000, {handle=33084688}, 0x7f9482800010, {handle=32855168}, 4194304, 0, 0, {handle=140281307478400}) = 0 -337765666999020:337765666999280 158125:158125 hsa_signal_load_relaxed({handle=140281307478400}) = 1 -337765666999791:337765667100141 158125:158125 hsa_signal_wait_scacquire({handle=140281307478400}, 2, 1, 100000, 1) = 1 -337765667100642:337765667383946 158125:158125 hsa_signal_wait_scacquire({handle=140281307478400}, 2, 1, 18446744073709551615, 0) = 0 -337765667384637:337765667385489 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281307478400}, 0x7ffea16f3490) = 0 -337765667386270:337765667413011 158125:158125 hsa_amd_memory_unlock(0x7f95c88ff000) = 0 -337765667429943:337765667430223 158125:158125 hsa_signal_load_relaxed({handle=140281307478400}) = 0 -337765667430844:337765667431145 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 124 -337765667431756:337765667432367 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 124 -337765667433149:337765667433379 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307478272}, 1) = void -337765667433950:337765667434211 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 124 -337765667434732:337765667435353 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 124) = void -337765667442376:337765668109995 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c84fe000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765668111218:337765668111508 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 125 -337765668112039:337765668112300 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 125 -337765668112911:337765668113211 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307478144}, 1) = void -337765668115255:337765668115536 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 125 -337765668116047:337765668116638 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 125) = void -337765668117219:337765668117490 158125:158125 hsa_signal_load_relaxed({handle=140281307478144}) = 1 -337765668117970:337765668118201 158125:158125 hsa_signal_load_relaxed({handle=140281307478144}) = 1 -337765668118702:337765668129011 158125:158125 hsa_signal_wait_scacquire({handle=140281307478144}, 2, 1, 10000, 1) = 1 -337765668129652:337765668129883 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307478016}, 1) = void -337765668130554:337765668131726 158125:158125 hsa_amd_memory_async_copy(0x7f9482800010, {handle=32855168}, 0x7f9484c00000, {handle=33084688}, 4194304, 1, 0x2059c90, {handle=140281307478016}) = 0 -337765668132368:337765668132688 158125:158125 hsa_signal_load_relaxed({handle=140281307478144}) = 0 -337765668133229:337765668133820 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307478144}, 0x7ffea16f3480) = 0 -337765668134351:337765668134582 158125:158125 hsa_signal_load_relaxed({handle=140281307478016}) = 1 -337765668135053:337765668235332 158125:158125 hsa_signal_wait_scacquire({handle=140281307478016}, 2, 1, 100000, 1) = 1 -337765668235833:337765668515891 158125:158125 hsa_signal_wait_scacquire({handle=140281307478016}, 2, 1, 18446744073709551615, 0) = 0 -337765668516482:337765668516783 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281307478016}, 0x7ffea16f3490) = 0 -337765668517564:337765668543092 158125:158125 hsa_amd_memory_unlock(0x7f95c84fe000) = 0 -337765668544846:337765668545096 158125:158125 hsa_signal_load_relaxed({handle=140281307478272}) = 0 -337765668545627:337765668545908 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307478272}, 0x7ffea16f3570) = 0 -337765676817028:337765678799718 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c88ff000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765678801481:337765678801812 158125:158125 hsa_signal_load_relaxed({handle=140281307478016}) = 0 -337765678802964:337765678803234 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307477888}, 1) = void -337765678803976:337765678805248 158125:158125 hsa_amd_memory_async_copy(0x7f95c0800000, {handle=33084688}, 0x7f9482800010, {handle=32855168}, 4194304, 0, 0, {handle=140281307477888}) = 0 -337765678805849:337765678806090 158125:158125 hsa_signal_load_relaxed({handle=140281307477888}) = 1 -337765678806601:337765678906920 158125:158125 hsa_signal_wait_scacquire({handle=140281307477888}, 2, 1, 100000, 1) = 1 -337765678907431:337765679190755 158125:158125 hsa_signal_wait_scacquire({handle=140281307477888}, 2, 1, 18446744073709551615, 0) = 0 -337765679191356:337765679191917 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281307477888}, 0x7ffea16f3490) = 0 -337765679192689:337765679219089 158125:158125 hsa_amd_memory_unlock(0x7f95c88ff000) = 0 -337765679236892:337765679237183 158125:158125 hsa_signal_load_relaxed({handle=140281307477888}) = 0 -337765679237804:337765679238115 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 126 -337765679238696:337765679239016 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 126 -337765679239838:337765679240078 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307477760}, 1) = void -337765679242132:337765679242413 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 126 -337765679242934:337765679243685 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 126) = void -337765679250257:337765679917386 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c84fe000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765679918688:337765679918959 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 127 -337765679919460:337765679919710 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 127 -337765679920321:337765679920612 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307477632}, 1) = void -337765679921163:337765679921413 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 127 -337765679921884:337765679922455 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 127) = void -337765679923026:337765679923277 158125:158125 hsa_signal_load_relaxed({handle=140281307477632}) = 1 -337765679923758:337765679923988 158125:158125 hsa_signal_load_relaxed({handle=140281307477632}) = 1 -337765679924479:337765679934789 158125:158125 hsa_signal_wait_scacquire({handle=140281307477632}, 2, 1, 10000, 1) = 1 -337765679935460:337765679935710 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353623040}, 1) = void -337765679936342:337765679937774 158125:158125 hsa_amd_memory_async_copy(0x7f9482800010, {handle=32855168}, 0x7f9484c00000, {handle=33084688}, 4194304, 1, 0x2059da0, {handle=140281353623040}) = 0 -337765679938405:337765679938716 158125:158125 hsa_signal_load_relaxed({handle=140281307477632}) = 0 -337765679939257:337765679939728 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307477632}, 0x7ffea16f3480) = 0 -337765679940269:337765679940499 158125:158125 hsa_signal_load_relaxed({handle=140281353623040}) = 1 -337765679940970:337765680041490 158125:158125 hsa_signal_wait_scacquire({handle=140281353623040}, 2, 1, 100000, 1) = 1 -337765680042061:337765680322560 158125:158125 hsa_signal_wait_scacquire({handle=140281353623040}, 2, 1, 18446744073709551615, 0) = 0 -337765680323141:337765680323442 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281353623040}, 0x7ffea16f3490) = 0 -337765680324223:337765680349912 158125:158125 hsa_amd_memory_unlock(0x7f95c84fe000) = 0 -337765680351905:337765680352156 158125:158125 hsa_signal_load_relaxed({handle=140281307477760}) = 0 -337765680352687:337765680352987 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307477760}, 0x7ffea16f3570) = 0 -337765688610442:337765690621756 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c88ff000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765690623749:337765690624381 158125:158125 hsa_signal_load_relaxed({handle=140281353623040}) = 0 -337765690625363:337765690625733 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353622912}, 1) = void -337765690626475:337765690627577 158125:158125 hsa_amd_memory_async_copy(0x7f95c0800000, {handle=33084688}, 0x7f9482800010, {handle=32855168}, 4194304, 0, 0, {handle=140281353622912}) = 0 -337765690628158:337765690628398 158125:158125 hsa_signal_load_relaxed({handle=140281353622912}) = 1 -337765690628999:337765690729329 158125:158125 hsa_signal_wait_scacquire({handle=140281353622912}, 2, 1, 100000, 1) = 1 -337765690732525:337765691012934 158125:158125 hsa_signal_wait_scacquire({handle=140281353622912}, 2, 1, 18446744073709551615, 0) = 0 -337765691013605:337765691014086 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281353622912}, 0x7ffea16f3490) = 0 -337765691014867:337765691041107 158125:158125 hsa_amd_memory_unlock(0x7f95c88ff000) = 0 -337765691057858:337765691058129 158125:158125 hsa_signal_load_relaxed({handle=140281353622912}) = 0 -337765691058780:337765691059061 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 128 -337765691059792:337765691060113 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 128 -337765691061004:337765691061375 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353622784}, 1) = void -337765691061956:337765691062307 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 128 -337765691062918:337765691063509 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 128) = void -337765691070903:337765691744103 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c84fe000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765691745355:337765691745626 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 129 -337765691746167:337765691746407 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 129 -337765691746918:337765691747289 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353622656}, 1) = void -337765691747880:337765691748140 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 129 -337765691748621:337765691749202 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 129) = void -337765691749773:337765691750034 158125:158125 hsa_signal_load_relaxed({handle=140281353622656}) = 1 -337765691750525:337765691750755 158125:158125 hsa_signal_load_relaxed({handle=140281353622656}) = 1 -337765691751256:337765691761556 158125:158125 hsa_signal_wait_scacquire({handle=140281353622656}, 2, 1, 10000, 1) = 1 -337765691762157:337765691762487 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353622528}, 1) = void -337765691763149:337765691764140 158125:158125 hsa_amd_memory_async_copy(0x7f9482800010, {handle=32855168}, 0x7f9484c00000, {handle=33084688}, 4194304, 1, 0x2059eb0, {handle=140281353622528}) = 0 -337765691764832:337765691765192 158125:158125 hsa_signal_load_relaxed({handle=140281353622656}) = 0 -337765691765824:337765691766395 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281353622656}, 0x7ffea16f3480) = 0 -337765691766926:337765691767166 158125:158125 hsa_signal_load_relaxed({handle=140281353622528}) = 1 -337765691767657:337765691867926 158125:158125 hsa_signal_wait_scacquire({handle=140281353622528}, 2, 1, 100000, 1) = 1 -337765691868407:337765692150399 158125:158125 hsa_signal_wait_scacquire({handle=140281353622528}, 2, 1, 18446744073709551615, 0) = 0 -337765692151010:337765692151321 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281353622528}, 0x7ffea16f3490) = 0 -337765692152052:337765692177721 158125:158125 hsa_amd_memory_unlock(0x7f95c84fe000) = 0 -337765692179514:337765692179774 158125:158125 hsa_signal_load_relaxed({handle=140281353622784}) = 0 -337765692180305:337765692180606 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281353622784}, 0x7ffea16f3570) = 0 -337765700500358:337765702520819 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c88ff000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765702522683:337765702523835 158125:158125 hsa_signal_load_relaxed({handle=140281353622528}) = 0 -337765702524907:337765702525298 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353622400}, 1) = void -337765702526019:337765702527191 158125:158125 hsa_amd_memory_async_copy(0x7f95c0800000, {handle=33084688}, 0x7f9482800010, {handle=32855168}, 4194304, 0, 0, {handle=140281353622400}) = 0 -337765702527802:337765702528033 158125:158125 hsa_signal_load_relaxed({handle=140281353622400}) = 1 -337765702528534:337765702628833 158125:158125 hsa_signal_wait_scacquire({handle=140281353622400}, 2, 1, 100000, 1) = 1 -337765702629334:337765702931824 158125:158125 hsa_signal_wait_scacquire({handle=140281353622400}, 2, 1, 18446744073709551615, 0) = 0 -337765702932556:337765702936122 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281353622400}, 0x7ffea16f3490) = 0 -337765702936964:337765702962352 158125:158125 hsa_amd_memory_unlock(0x7f95c88ff000) = 0 -337765702979494:337765702979775 158125:158125 hsa_signal_load_relaxed({handle=140281353622400}) = 0 -337765702980496:337765702980797 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 130 -337765702981518:337765702981959 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 130 -337765702982861:337765702983091 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353622272}, 1) = void -337765702983762:337765702984023 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 130 -337765702984544:337765702985145 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 130) = void -337765702991587:337765703664166 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c84fe000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765703665678:337765703665979 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 131 -337765703666500:337765703666740 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 131 -337765703667322:337765703667622 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353622144}, 1) = void -337765703668213:337765703668464 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 131 -337765703668935:337765703669506 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 131) = void -337765703670067:337765703670327 158125:158125 hsa_signal_load_relaxed({handle=140281353622144}) = 1 -337765703670818:337765703671049 158125:158125 hsa_signal_load_relaxed({handle=140281353622144}) = 1 -337765703671539:337765703681859 158125:158125 hsa_signal_wait_scacquire({handle=140281353622144}, 2, 1, 10000, 1) = 1 -337765703682490:337765703682721 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353622016}, 1) = void -337765703683372:337765703684424 158125:158125 hsa_amd_memory_async_copy(0x7f9482800010, {handle=32855168}, 0x7f9484c00000, {handle=33084688}, 4194304, 1, 0x2059fc0, {handle=140281353622016}) = 0 -337765703685055:337765703685416 158125:158125 hsa_signal_load_relaxed({handle=140281353622144}) = 0 -337765703685937:337765703686528 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281353622144}, 0x7ffea16f3480) = 0 -337765703688722:337765703688952 158125:158125 hsa_signal_load_relaxed({handle=140281353622016}) = 1 -337765703689433:337765703789712 158125:158125 hsa_signal_wait_scacquire({handle=140281353622016}, 2, 1, 100000, 1) = 1 -337765703790193:337765704070492 158125:158125 hsa_signal_wait_scacquire({handle=140281353622016}, 2, 1, 18446744073709551615, 0) = 0 -337765704071093:337765704071404 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281353622016}, 0x7ffea16f3490) = 0 -337765704072235:337765704096651 158125:158125 hsa_amd_memory_unlock(0x7f95c84fe000) = 0 -337765704098385:337765704098655 158125:158125 hsa_signal_load_relaxed({handle=140281353622272}) = 0 -337765704099176:337765704099457 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281353622272}, 0x7ffea16f3570) = 0 -337765712374382:337765714401887 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c88ff000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765714403971:337765714404361 158125:158125 hsa_signal_load_relaxed({handle=140281353622016}) = 0 -337765714405313:337765714405584 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353621888}, 1) = void -337765714406325:337765714407497 158125:158125 hsa_amd_memory_async_copy(0x7f95c0800000, {handle=33084688}, 0x7f9482800010, {handle=32855168}, 4194304, 0, 0, {handle=140281353621888}) = 0 -337765714408108:337765714408339 158125:158125 hsa_signal_load_relaxed({handle=140281353621888}) = 1 -337765714408950:337765714509269 158125:158125 hsa_signal_wait_scacquire({handle=140281353621888}, 2, 1, 100000, 1) = 1 -337765714509780:337765714818563 158125:158125 hsa_signal_wait_scacquire({handle=140281353621888}, 2, 1, 18446744073709551615, 0) = 0 -337765714819234:337765714819685 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281353621888}, 0x7ffea16f3490) = 0 -337765714820446:337765714846044 158125:158125 hsa_amd_memory_unlock(0x7f95c88ff000) = 0 -337765714862906:337765714863227 158125:158125 hsa_signal_load_relaxed({handle=140281353621888}) = 0 -337765714863838:337765714864149 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 132 -337765714864800:337765714865221 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 132 -337765714866112:337765714866353 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353621760}, 1) = void -337765714866914:337765714867174 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 132 -337765714867695:337765714868306 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 132) = void -337765714875580:337765715550904 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c84fe000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765715552096:337765715552357 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 133 -337765715552888:337765715553128 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 133 -337765715553719:337765715554090 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353621632}, 1) = void -337765715554631:337765715554871 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 133 -337765715555352:337765715555923 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 133) = void -337765715557917:337765715558168 158125:158125 hsa_signal_load_relaxed({handle=140281353621632}) = 1 -337765715558648:337765715558879 158125:158125 hsa_signal_load_relaxed({handle=140281353621632}) = 1 -337765715559390:337765715569749 158125:158125 hsa_signal_wait_scacquire({handle=140281353621632}, 2, 1, 10000, 1) = 0 -337765715570361:337765715570591 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353621504}, 1) = void -337765715571212:337765715572374 158125:158125 hsa_amd_memory_async_copy(0x7f9482800010, {handle=32855168}, 0x7f9484c00000, {handle=33084688}, 4194304, 0, 0, {handle=140281353621504}) = 0 -337765715572965:337765715573206 158125:158125 hsa_signal_load_relaxed({handle=140281353621632}) = 0 -337765715573737:337765715574308 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281353621632}, 0x7ffea16f3480) = 0 -337765715574829:337765715575059 158125:158125 hsa_signal_load_relaxed({handle=140281353621504}) = 1 -337765715575540:337765715675819 158125:158125 hsa_signal_wait_scacquire({handle=140281353621504}, 2, 1, 100000, 1) = 1 -337765715676310:337765715952812 158125:158125 hsa_signal_wait_scacquire({handle=140281353621504}, 2, 1, 18446744073709551615, 0) = 0 -337765715953383:337765715953684 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281353621504}, 0x7ffea16f3490) = 0 -337765715954385:337765715979983 158125:158125 hsa_amd_memory_unlock(0x7f95c84fe000) = 0 -337765715981666:337765715981927 158125:158125 hsa_signal_load_relaxed({handle=140281353621760}) = 0 -337765715982448:337765715982748 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281353621760}, 0x7ffea16f3570) = 0 -337765724261874:337765726326067 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c88ff000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765726327951:337765726328652 158125:158125 hsa_signal_load_relaxed({handle=140281353621504}) = 0 -337765726330075:337765726330566 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307479936}, 1) = void -337765726331327:337765726332540 158125:158125 hsa_amd_memory_async_copy(0x7f95c0800000, {handle=33084688}, 0x7f9482800010, {handle=32855168}, 4194304, 0, 0, {handle=140281307479936}) = 0 -337765726333201:337765726333441 158125:158125 hsa_signal_load_relaxed({handle=140281307479936}) = 1 -337765726333962:337765726434271 158125:158125 hsa_signal_wait_scacquire({handle=140281307479936}, 2, 1, 100000, 1) = 1 -337765726434772:337765726720682 158125:158125 hsa_signal_wait_scacquire({handle=140281307479936}, 2, 1, 18446744073709551615, 0) = 0 -337765726721253:337765726721714 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281307479936}, 0x7ffea16f3490) = 0 -337765726722435:337765726749376 158125:158125 hsa_amd_memory_unlock(0x7f95c88ff000) = 0 -337765726766328:337765726766598 158125:158125 hsa_signal_load_relaxed({handle=140281307479936}) = 0 -337765726767209:337765726767510 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 134 -337765726768051:337765726768462 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 134 -337765726769273:337765726769504 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307479808}, 1) = void -337765726770075:337765726770335 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 134 -337765726770876:337765726771487 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 134) = void -337765726779322:337765727453644 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c84fe000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765727454886:337765727455177 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 135 -337765727455698:337765727455948 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 135 -337765727456530:337765727456830 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307479680}, 1) = void -337765727457411:337765727457662 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 135 -337765727458163:337765727458734 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 135) = void -337765727459295:337765727459555 158125:158125 hsa_signal_load_relaxed({handle=140281307479680}) = 1 -337765727460056:337765727460287 158125:158125 hsa_signal_load_relaxed({handle=140281307479680}) = 1 -337765727460788:337765727471117 158125:158125 hsa_signal_wait_scacquire({handle=140281307479680}, 2, 1, 10000, 1) = 1 -337765727471758:337765727471999 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307479552}, 1) = void -337765727472650:337765727473722 158125:158125 hsa_amd_memory_async_copy(0x7f9482800010, {handle=32855168}, 0x7f9484c00000, {handle=33084688}, 4194304, 1, 0x205a1e0, {handle=140281307479552}) = 0 -337765727474333:337765727474644 158125:158125 hsa_signal_load_relaxed({handle=140281307479680}) = 0 -337765727475185:337765727475766 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307479680}, 0x7ffea16f3480) = 0 -337765727476277:337765727476517 158125:158125 hsa_signal_load_relaxed({handle=140281307479552}) = 1 -337765727476988:337765727577257 158125:158125 hsa_signal_wait_scacquire({handle=140281307479552}, 2, 1, 100000, 1) = 1 -337765727577738:337765727858908 158125:158125 hsa_signal_wait_scacquire({handle=140281307479552}, 2, 1, 18446744073709551615, 0) = 0 -337765727859500:337765727859800 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281307479552}, 0x7ffea16f3490) = 0 -337765727860562:337765727886140 158125:158125 hsa_amd_memory_unlock(0x7f95c84fe000) = 0 -337765727887803:337765727888053 158125:158125 hsa_signal_load_relaxed({handle=140281307479808}) = 0 -337765727888584:337765727888855 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307479808}, 0x7ffea16f3570) = 0 -337765736180654:337765738145911 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c88ff000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765738148065:337765738148386 158125:158125 hsa_signal_load_relaxed({handle=140281307479552}) = 0 -337765738149368:337765738149628 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307479424}, 1) = void -337765738150360:337765738151512 158125:158125 hsa_amd_memory_async_copy(0x7f95c0800000, {handle=33084688}, 0x7f9482800010, {handle=32855168}, 4194304, 0, 0, {handle=140281307479424}) = 0 -337765738152103:337765738152343 158125:158125 hsa_signal_load_relaxed({handle=140281307479424}) = 1 -337765738152844:337765738253174 158125:158125 hsa_signal_wait_scacquire({handle=140281307479424}, 2, 1, 100000, 1) = 1 -337765738253664:337765738536558 158125:158125 hsa_signal_wait_scacquire({handle=140281307479424}, 2, 1, 18446744073709551615, 0) = 0 -337765738537149:337765738537710 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281307479424}, 0x7ffea16f3490) = 0 -337765738540896:337765738567787 158125:158125 hsa_amd_memory_unlock(0x7f95c88ff000) = 0 -337765738584018:337765738584328 158125:158125 hsa_signal_load_relaxed({handle=140281307479424}) = 0 -337765738584959:337765738585270 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 136 -337765738585801:337765738586212 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 136 -337765738586933:337765738587163 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307479296}, 1) = void -337765738587765:337765738588035 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 136 -337765738588636:337765738589378 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 136) = void -337765738596992:337765739270753 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c84fe000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765739271915:337765739272196 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 137 -337765739272696:337765739272937 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 137 -337765739273548:337765739273849 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307479168}, 1) = void -337765739274450:337765739274730 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 137 -337765739275221:337765739275812 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 137) = void -337765739276363:337765739276624 158125:158125 hsa_signal_load_relaxed({handle=140281307479168}) = 1 -337765739277095:337765739277335 158125:158125 hsa_signal_load_relaxed({handle=140281307479168}) = 1 -337765739277826:337765739288116 158125:158125 hsa_signal_wait_scacquire({handle=140281307479168}, 2, 1, 10000, 1) = 1 -337765739288847:337765739289178 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307479040}, 1) = void -337765739289779:337765739291031 158125:158125 hsa_amd_memory_async_copy(0x7f9482800010, {handle=32855168}, 0x7f9484c00000, {handle=33084688}, 4194304, 1, 0x24b56f0, {handle=140281307479040}) = 0 -337765739291632:337765739291953 158125:158125 hsa_signal_load_relaxed({handle=140281307479168}) = 0 -337765739292584:337765739293155 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307479168}, 0x7ffea16f3480) = 0 -337765739293666:337765739293906 158125:158125 hsa_signal_load_relaxed({handle=140281307479040}) = 1 -337765739294367:337765739394647 158125:158125 hsa_signal_wait_scacquire({handle=140281307479040}, 2, 1, 100000, 1) = 1 -337765739395137:337765739676067 158125:158125 hsa_signal_wait_scacquire({handle=140281307479040}, 2, 1, 18446744073709551615, 0) = 0 -337765739676648:337765739676919 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281307479040}, 0x7ffea16f3490) = 0 -337765739677670:337765739702998 158125:158125 hsa_amd_memory_unlock(0x7f95c84fe000) = 0 -337765739704791:337765739705052 158125:158125 hsa_signal_load_relaxed({handle=140281307479296}) = 0 -337765739705573:337765739705874 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307479296}, 0x7ffea16f3570) = 0 -337765748074668:337765750067788 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c88ff000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765750069511:337765750069952 158125:158125 hsa_signal_load_relaxed({handle=140281307479040}) = 0 -337765750073799:337765750074079 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307478912}, 1) = void -337765750074831:337765750076073 158125:158125 hsa_amd_memory_async_copy(0x7f95c0800000, {handle=33084688}, 0x7f9482800010, {handle=32855168}, 4194304, 0, 0, {handle=140281307478912}) = 0 -337765750076694:337765750076925 158125:158125 hsa_signal_load_relaxed({handle=140281307478912}) = 1 -337765750077406:337765750177725 158125:158125 hsa_signal_wait_scacquire({handle=140281307478912}, 2, 1, 100000, 1) = 1 -337765750178226:337765750462041 158125:158125 hsa_signal_wait_scacquire({handle=140281307478912}, 2, 1, 18446744073709551615, 0) = 0 -337765750462722:337765750463073 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281307478912}, 0x7ffea16f3490) = 0 -337765750463804:337765750490084 158125:158125 hsa_amd_memory_unlock(0x7f95c88ff000) = 0 -337765750506204:337765750506495 158125:158125 hsa_signal_load_relaxed({handle=140281307478912}) = 0 -337765750507126:337765750507517 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 138 -337765750508158:337765750508579 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 138 -337765750509300:337765750509541 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307478784}, 1) = void -337765750510232:337765750510503 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 138 -337765750511174:337765750511915 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 138) = void -337765750519209:337765751193821 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c84fe000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765751195044:337765751195344 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 139 -337765751195835:337765751196076 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 139 -337765751196687:337765751196947 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307478656}, 1) = void -337765751197518:337765751197779 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 139 -337765751198280:337765751198861 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 139) = void -337765751199392:337765751199652 158125:158125 hsa_signal_load_relaxed({handle=140281307478656}) = 1 -337765751200133:337765751200354 158125:158125 hsa_signal_load_relaxed({handle=140281307478656}) = 1 -337765751200845:337765751211134 158125:158125 hsa_signal_wait_scacquire({handle=140281307478656}, 2, 1, 10000, 1) = 1 -337765751211755:337765751211986 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307478528}, 1) = void -337765751212627:337765751213659 158125:158125 hsa_amd_memory_async_copy(0x7f9482800010, {handle=32855168}, 0x7f9484c00000, {handle=33084688}, 4194304, 1, 0x24b57b0, {handle=140281307478528}) = 0 -337765751214270:337765751214591 158125:158125 hsa_signal_load_relaxed({handle=140281307478656}) = 0 -337765751215112:337765751215693 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307478656}, 0x7ffea16f3480) = 0 -337765751216204:337765751216434 158125:158125 hsa_signal_load_relaxed({handle=140281307478528}) = 1 -337765751216915:337765751317184 158125:158125 hsa_signal_wait_scacquire({handle=140281307478528}, 2, 1, 100000, 1) = 1 -337765751319318:337765751601540 158125:158125 hsa_signal_wait_scacquire({handle=140281307478528}, 2, 1, 18446744073709551615, 0) = 0 -337765751602252:337765751602552 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281307478528}, 0x7ffea16f3490) = 0 -337765751603314:337765751629022 158125:158125 hsa_amd_memory_unlock(0x7f95c84fe000) = 0 -337765751630685:337765751630956 158125:158125 hsa_signal_load_relaxed({handle=140281307478784}) = 0 -337765751631477:337765751631747 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307478784}, 0x7ffea16f3570) = 0 -337765759937443:337765761919041 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c88ff000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765761920894:337765761921616 158125:158125 hsa_signal_load_relaxed({handle=140281307478528}) = 0 -337765761922567:337765761922888 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307478400}, 1) = void -337765761923659:337765761924852 158125:158125 hsa_amd_memory_async_copy(0x7f95c0800000, {handle=33084688}, 0x7f9482800010, {handle=32855168}, 4194304, 0, 0, {handle=140281307478400}) = 0 -337765761925443:337765761925683 158125:158125 hsa_signal_load_relaxed({handle=140281307478400}) = 1 -337765761926375:337765762026714 158125:158125 hsa_signal_wait_scacquire({handle=140281307478400}, 2, 1, 100000, 1) = 1 -337765762027305:337765762310219 158125:158125 hsa_signal_wait_scacquire({handle=140281307478400}, 2, 1, 18446744073709551615, 0) = 0 -337765762310860:337765762311491 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281307478400}, 0x7ffea16f3490) = 0 -337765762312262:337765762338101 158125:158125 hsa_amd_memory_unlock(0x7f95c88ff000) = 0 -337765762355464:337765762355734 158125:158125 hsa_signal_load_relaxed({handle=140281307478400}) = 0 -337765762356536:337765762356826 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 140 -337765762357448:337765762357868 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 140 -337765762358730:337765762358980 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307478272}, 1) = void -337765762359562:337765762359832 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 140 -337765762360433:337765762361185 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 140) = void -337765762368629:337765763045465 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c84fe000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765763046748:337765763047008 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 141 -337765763047519:337765763047780 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 141 -337765763048281:337765763048581 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307478144}, 1) = void -337765763049172:337765763049433 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 141 -337765763049934:337765763050515 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 141) = void -337765763051056:337765763051306 158125:158125 hsa_signal_load_relaxed({handle=140281307478144}) = 1 -337765763051787:337765763052018 158125:158125 hsa_signal_load_relaxed({handle=140281307478144}) = 1 -337765763052519:337765763062808 158125:158125 hsa_signal_wait_scacquire({handle=140281307478144}, 2, 1, 10000, 1) = 1 -337765763064922:337765763065162 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307478016}, 1) = void -337765763065824:337765763067006 158125:158125 hsa_amd_memory_async_copy(0x7f9482800010, {handle=32855168}, 0x7f9484c00000, {handle=33084688}, 4194304, 1, 0x24b58c0, {handle=140281307478016}) = 0 -337765763067607:337765763067928 158125:158125 hsa_signal_load_relaxed({handle=140281307478144}) = 0 -337765763068459:337765763069030 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307478144}, 0x7ffea16f3480) = 0 -337765763069541:337765763069771 158125:158125 hsa_signal_load_relaxed({handle=140281307478016}) = 1 -337765763070272:337765763170541 158125:158125 hsa_signal_wait_scacquire({handle=140281307478016}, 2, 1, 100000, 1) = 1 -337765763171132:337765763450820 158125:158125 hsa_signal_wait_scacquire({handle=140281307478016}, 2, 1, 18446744073709551615, 0) = 0 -337765763451381:337765763451691 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281307478016}, 0x7ffea16f3490) = 0 -337765763452453:337765763479093 158125:158125 hsa_amd_memory_unlock(0x7f95c84fe000) = 0 -337765763480846:337765763481097 158125:158125 hsa_signal_load_relaxed({handle=140281307478272}) = 0 -337765763481628:337765763481908 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307478272}, 0x7ffea16f3570) = 0 -337765771740225:337765773729948 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c88ff000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765773732222:337765773732573 158125:158125 hsa_signal_load_relaxed({handle=140281307478016}) = 0 -337765773733735:337765773733995 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307477888}, 1) = void -337765773734827:337765773735959 158125:158125 hsa_amd_memory_async_copy(0x7f95c0800000, {handle=33084688}, 0x7f9482800010, {handle=32855168}, 4194304, 0, 0, {handle=140281307477888}) = 0 -337765773736580:337765773736811 158125:158125 hsa_signal_load_relaxed({handle=140281307477888}) = 1 -337765773737312:337765773837651 158125:158125 hsa_signal_wait_scacquire({handle=140281307477888}, 2, 1, 100000, 1) = 1 -337765773838152:337765774120905 158125:158125 hsa_signal_wait_scacquire({handle=140281307477888}, 2, 1, 18446744073709551615, 0) = 0 -337765774121697:337765774125213 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281307477888}, 0x7ffea16f3490) = 0 -337765774125975:337765774153406 158125:158125 hsa_amd_memory_unlock(0x7f95c88ff000) = 0 -337765774171020:337765774171340 158125:158125 hsa_signal_load_relaxed({handle=140281307477888}) = 0 -337765774172062:337765774172412 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 142 -337765774173043:337765774173474 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 142 -337765774174206:337765774174446 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307477760}, 1) = void -337765774175027:337765774175288 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 142 -337765774176290:337765774177031 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 142) = void -337765774183894:337765774862404 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c84fe000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765774863556:337765774863856 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 143 -337765774866692:337765774866942 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 143 -337765774867573:337765774867874 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307477632}, 1) = void -337765774868455:337765774868726 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 143 -337765774869186:337765774869768 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 143) = void -337765774870319:337765774870559 158125:158125 hsa_signal_load_relaxed({handle=140281307477632}) = 1 -337765774871040:337765774871270 158125:158125 hsa_signal_load_relaxed({handle=140281307477632}) = 1 -337765774871771:337765774882061 158125:158125 hsa_signal_wait_scacquire({handle=140281307477632}, 2, 1, 10000, 1) = 1 -337765774882842:337765774883083 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353623040}, 1) = void -337765774883744:337765774884956 158125:158125 hsa_amd_memory_async_copy(0x7f9482800010, {handle=32855168}, 0x7f9484c00000, {handle=33084688}, 4194304, 1, 0x24b59d0, {handle=140281353623040}) = 0 -337765774885557:337765774885868 158125:158125 hsa_signal_load_relaxed({handle=140281307477632}) = 0 -337765774886409:337765774886920 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307477632}, 0x7ffea16f3480) = 0 -337765774887551:337765774887792 158125:158125 hsa_signal_load_relaxed({handle=140281353623040}) = 1 -337765774888252:337765774988532 158125:158125 hsa_signal_wait_scacquire({handle=140281353623040}, 2, 1, 100000, 1) = 1 -337765774989013:337765775269592 158125:158125 hsa_signal_wait_scacquire({handle=140281353623040}, 2, 1, 18446744073709551615, 0) = 0 -337765775270584:337765775270884 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281353623040}, 0x7ffea16f3490) = 0 -337765775271656:337765775296953 158125:158125 hsa_amd_memory_unlock(0x7f95c84fe000) = 0 -337765775298687:337765775298947 158125:158125 hsa_signal_load_relaxed({handle=140281307477760}) = 0 -337765775299478:337765775299759 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307477760}, 0x7ffea16f3570) = 0 -337765783582539:337765785606877 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c88ff000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765785608941:337765785609502 158125:158125 hsa_signal_load_relaxed({handle=140281353623040}) = 0 -337765785610695:337765785611065 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353622912}, 1) = void -337765785611817:337765785612999 158125:158125 hsa_amd_memory_async_copy(0x7f95c0800000, {handle=33084688}, 0x7f9482800010, {handle=32855168}, 4194304, 0, 0, {handle=140281353622912}) = 0 -337765785613600:337765785613841 158125:158125 hsa_signal_load_relaxed({handle=140281353622912}) = 1 -337765785614362:337765785714671 158125:158125 hsa_signal_wait_scacquire({handle=140281353622912}, 2, 1, 100000, 1) = 1 -337765785715172:337765785998015 158125:158125 hsa_signal_wait_scacquire({handle=140281353622912}, 2, 1, 18446744073709551615, 0) = 0 -337765785998586:337765785998967 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281353622912}, 0x7ffea16f3490) = 0 -337765785999809:337765786026489 158125:158125 hsa_amd_memory_unlock(0x7f95c88ff000) = 0 -337765786043842:337765786044112 158125:158125 hsa_signal_load_relaxed({handle=140281353622912}) = 0 -337765786044814:337765786045204 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 144 -337765786047218:337765786047969 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 144 -337765786048851:337765786049212 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353622784}, 1) = void -337765786049813:337765786050073 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 144 -337765786050604:337765786051216 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 144) = void -337765786059070:337765786735116 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c84fe000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765786736308:337765786736588 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 145 -337765786737119:337765786737370 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 145 -337765786737881:337765786738251 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353622656}, 1) = void -337765786738843:337765786739093 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 145 -337765786739594:337765786740175 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 145) = void -337765786740716:337765786740957 158125:158125 hsa_signal_load_relaxed({handle=140281353622656}) = 1 -337765786741447:337765786741678 158125:158125 hsa_signal_load_relaxed({handle=140281353622656}) = 1 -337765786742169:337765786752478 158125:158125 hsa_signal_wait_scacquire({handle=140281353622656}, 2, 1, 10000, 1) = 1 -337765786753039:337765786753370 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353622528}, 1) = void -337765786754031:337765786755264 158125:158125 hsa_amd_memory_async_copy(0x7f9482800010, {handle=32855168}, 0x7f9484c00000, {handle=33084688}, 4194304, 1, 0x24b5ae0, {handle=140281353622528}) = 0 -337765786755925:337765786756285 158125:158125 hsa_signal_load_relaxed({handle=140281353622656}) = 0 -337765786756826:337765786757408 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281353622656}, 0x7ffea16f3480) = 0 -337765786757929:337765786758169 158125:158125 hsa_signal_load_relaxed({handle=140281353622528}) = 1 -337765786758640:337765786858909 158125:158125 hsa_signal_wait_scacquire({handle=140281353622528}, 2, 1, 100000, 1) = 1 -337765786859390:337765787140400 158125:158125 hsa_signal_wait_scacquire({handle=140281353622528}, 2, 1, 18446744073709551615, 0) = 0 -337765787140991:337765787141272 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281353622528}, 0x7ffea16f3490) = 0 -337765787142023:337765787167371 158125:158125 hsa_amd_memory_unlock(0x7f95c84fe000) = 0 -337765787168954:337765787169214 158125:158125 hsa_signal_load_relaxed({handle=140281353622784}) = 0 -337765787169735:337765787170006 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281353622784}, 0x7ffea16f3570) = 0 -337765795494116:337765797510600 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c88ff000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765797512563:337765797513465 158125:158125 hsa_signal_load_relaxed({handle=140281353622528}) = 0 -337765797514367:337765797514717 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353622400}, 1) = void -337765797515539:337765797516781 158125:158125 hsa_amd_memory_async_copy(0x7f95c0800000, {handle=33084688}, 0x7f9482800010, {handle=32855168}, 4194304, 0, 0, {handle=140281353622400}) = 0 -337765797519697:337765797519937 158125:158125 hsa_signal_load_relaxed({handle=140281353622400}) = 1 -337765797520468:337765797620787 158125:158125 hsa_signal_wait_scacquire({handle=140281353622400}, 2, 1, 100000, 1) = 1 -337765797621288:337765797933337 158125:158125 hsa_signal_wait_scacquire({handle=140281353622400}, 2, 1, 18446744073709551615, 0) = 0 -337765797934018:337765797934399 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281353622400}, 0x7ffea16f3490) = 0 -337765797935581:337765797962502 158125:158125 hsa_amd_memory_unlock(0x7f95c88ff000) = 0 -337765797978933:337765797979203 158125:158125 hsa_signal_load_relaxed({handle=140281353622400}) = 0 -337765797979915:337765797980225 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 146 -337765797980766:337765797981087 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 146 -337765797982520:337765797982760 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353622272}, 1) = void -337765797983361:337765797983632 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 146 -337765797984143:337765797984744 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 146) = void -337765797991166:337765798665458 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c84fe000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765798666660:337765798666941 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 147 -337765798667452:337765798667682 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 147 -337765798668293:337765798668614 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353622144}, 1) = void -337765798669225:337765798669465 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 147 -337765798669946:337765798670517 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 147) = void -337765798671078:337765798671349 158125:158125 hsa_signal_load_relaxed({handle=140281353622144}) = 1 -337765798671850:337765798672080 158125:158125 hsa_signal_load_relaxed({handle=140281353622144}) = 1 -337765798672581:337765798682881 158125:158125 hsa_signal_wait_scacquire({handle=140281353622144}, 2, 1, 10000, 1) = 1 -337765798683522:337765798683762 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353622016}, 1) = void -337765798684434:337765798686047 158125:158125 hsa_amd_memory_async_copy(0x7f9482800010, {handle=32855168}, 0x7f9484c00000, {handle=33084688}, 4194304, 1, 0x24b5bf0, {handle=140281353622016}) = 0 -337765798686648:337765798686998 158125:158125 hsa_signal_load_relaxed({handle=140281353622144}) = 0 -337765798687549:337765798688151 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281353622144}, 0x7ffea16f3480) = 0 -337765798688672:337765798688902 158125:158125 hsa_signal_load_relaxed({handle=140281353622016}) = 1 -337765798689393:337765798789672 158125:158125 hsa_signal_wait_scacquire({handle=140281353622016}, 2, 1, 100000, 1) = 1 -337765798790153:337765799070923 158125:158125 hsa_signal_wait_scacquire({handle=140281353622016}, 2, 1, 18446744073709551615, 0) = 0 -337765799071494:337765799071804 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281353622016}, 0x7ffea16f3490) = 0 -337765799073978:337765799100118 158125:158125 hsa_amd_memory_unlock(0x7f95c84fe000) = 0 -337765799101931:337765799102192 158125:158125 hsa_signal_load_relaxed({handle=140281353622272}) = 0 -337765799102713:337765799103023 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281353622272}, 0x7ffea16f3570) = 0 -337765807421463:337765809449268 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c88ff000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765809451221:337765809451772 158125:158125 hsa_signal_load_relaxed({handle=140281353622016}) = 0 -337765809452674:337765809452965 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353621888}, 1) = void -337765809453686:337765809455008 158125:158125 hsa_amd_memory_async_copy(0x7f95c0800000, {handle=33084688}, 0x7f9482800010, {handle=32855168}, 4194304, 0, 0, {handle=140281353621888}) = 0 -337765809455620:337765809455850 158125:158125 hsa_signal_load_relaxed({handle=140281353621888}) = 1 -337765809456431:337765809556750 158125:158125 hsa_signal_wait_scacquire({handle=140281353621888}, 2, 1, 100000, 1) = 1 -337765809557241:337765809842269 158125:158125 hsa_signal_wait_scacquire({handle=140281353621888}, 2, 1, 18446744073709551615, 0) = 0 -337765809842880:337765809843231 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281353621888}, 0x7ffea16f3490) = 0 -337765809844042:337765809871033 158125:158125 hsa_amd_memory_unlock(0x7f95c88ff000) = 0 -337765809888556:337765809888837 158125:158125 hsa_signal_load_relaxed({handle=140281353621888}) = 0 -337765809889588:337765809889889 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 148 -337765809890600:337765809890921 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 148 -337765809891732:337765809891963 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353621760}, 1) = void -337765809893145:337765809893415 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 148 -337765809893926:337765809894547 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 148) = void -337765809901981:337765810578668 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c84fe000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765810579930:337765810580211 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 149 -337765810580892:337765810581142 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 149 -337765810581714:337765810582084 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353621632}, 1) = void -337765810582655:337765810582926 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 149 -337765810583407:337765810583998 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 149) = void -337765810584559:337765810584819 158125:158125 hsa_signal_load_relaxed({handle=140281353621632}) = 1 -337765810585290:337765810585531 158125:158125 hsa_signal_load_relaxed({handle=140281353621632}) = 1 -337765810586012:337765810596321 158125:158125 hsa_signal_wait_scacquire({handle=140281353621632}, 2, 1, 10000, 1) = 1 -337765810596952:337765810597273 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353621504}, 1) = void -337765810597924:337765810599106 158125:158125 hsa_amd_memory_async_copy(0x7f9482800010, {handle=32855168}, 0x7f9484c00000, {handle=33084688}, 4194304, 1, 0x24b5d00, {handle=140281353621504}) = 0 -337765810601090:337765810601451 158125:158125 hsa_signal_load_relaxed({handle=140281353621632}) = 0 -337765810602002:337765810602583 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281353621632}, 0x7ffea16f3480) = 0 -337765810603104:337765810603344 158125:158125 hsa_signal_load_relaxed({handle=140281353621504}) = 1 -337765810603805:337765810704084 158125:158125 hsa_signal_wait_scacquire({handle=140281353621504}, 2, 1, 100000, 1) = 1 -337765810704575:337765810984573 158125:158125 hsa_signal_wait_scacquire({handle=140281353621504}, 2, 1, 18446744073709551615, 0) = 0 -337765810985134:337765810985425 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281353621504}, 0x7ffea16f3490) = 0 -337765810986287:337765811011304 158125:158125 hsa_amd_memory_unlock(0x7f95c84fe000) = 0 -337765811013077:337765811013338 158125:158125 hsa_signal_load_relaxed({handle=140281353621760}) = 0 -337765811013859:337765811014139 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281353621760}, 0x7ffea16f3570) = 0 -337765819291932:337765821330848 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c88ff000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765821332952:337765821333393 158125:158125 hsa_signal_load_relaxed({handle=140281353621504}) = 0 -337765821334445:337765821335036 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307479936}, 1) = void -337765821335777:337765821336849 158125:158125 hsa_amd_memory_async_copy(0x7f95c0800000, {handle=33084688}, 0x7f9482800010, {handle=32855168}, 4194304, 0, 0, {handle=140281307479936}) = 0 -337765821337460:337765821337701 158125:158125 hsa_signal_load_relaxed({handle=140281307479936}) = 1 -337765821338202:337765821438531 158125:158125 hsa_signal_wait_scacquire({handle=140281307479936}, 2, 1, 100000, 1) = 1 -337765821439032:337765821724110 158125:158125 hsa_signal_wait_scacquire({handle=140281307479936}, 2, 1, 18446744073709551615, 0) = 0 -337765821724721:337765821725192 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281307479936}, 0x7ffea16f3490) = 0 -337765821726093:337765821752714 158125:158125 hsa_amd_memory_unlock(0x7f95c88ff000) = 0 -337765821769445:337765821769716 158125:158125 hsa_signal_load_relaxed({handle=140281307479936}) = 0 -337765821770427:337765821770728 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 150 -337765821771279:337765821771619 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 150 -337765821773012:337765821773252 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307479808}, 1) = void -337765821773934:337765821774204 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 150 -337765821774745:337765821775366 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 150) = void -337765821782460:337765822459156 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c84fe000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765822460839:337765822461140 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 151 -337765822461661:337765822461901 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 151 -337765822462482:337765822462793 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307479680}, 1) = void -337765822464897:337765822465177 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 151 -337765822465678:337765822466270 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 151) = void -337765822466821:337765822467101 158125:158125 hsa_signal_load_relaxed({handle=140281307479680}) = 1 -337765822467572:337765822467802 158125:158125 hsa_signal_load_relaxed({handle=140281307479680}) = 1 -337765822468293:337765822478583 158125:158125 hsa_signal_wait_scacquire({handle=140281307479680}, 2, 1, 10000, 1) = 1 -337765822479284:337765822479515 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307479552}, 1) = void -337765822480156:337765822481218 158125:158125 hsa_amd_memory_async_copy(0x7f9482800010, {handle=32855168}, 0x7f9484c00000, {handle=33084688}, 4194304, 1, 0x2b62610, {handle=140281307479552}) = 0 -337765822481839:337765822482159 158125:158125 hsa_signal_load_relaxed({handle=140281307479680}) = 0 -337765822482690:337765822483282 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307479680}, 0x7ffea16f3480) = 0 -337765822483803:337765822484033 158125:158125 hsa_signal_load_relaxed({handle=140281307479552}) = 1 -337765822484494:337765822584763 158125:158125 hsa_signal_wait_scacquire({handle=140281307479552}, 2, 1, 100000, 1) = 1 -337765822585244:337765822866134 158125:158125 hsa_signal_wait_scacquire({handle=140281307479552}, 2, 1, 18446744073709551615, 0) = 0 -337765822866695:337765822866975 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281307479552}, 0x7ffea16f3490) = 0 -337765822867737:337765822893145 158125:158125 hsa_amd_memory_unlock(0x7f95c84fe000) = 0 -337765822894808:337765822895068 158125:158125 hsa_signal_load_relaxed({handle=140281307479808}) = 0 -337765822895609:337765822895880 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307479808}, 0x7ffea16f3570) = 0 -337765831209691:337765833269656 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c88ff000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765833271680:337765833272081 158125:158125 hsa_signal_load_relaxed({handle=140281307479552}) = 0 -337765833273153:337765833273413 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307479424}, 1) = void -337765833274135:337765833275257 158125:158125 hsa_amd_memory_async_copy(0x7f95c0800000, {handle=33084688}, 0x7f9482800010, {handle=32855168}, 4194304, 0, 0, {handle=140281307479424}) = 0 -337765833275848:337765833276088 158125:158125 hsa_signal_load_relaxed({handle=140281307479424}) = 1 -337765833277190:337765833377520 158125:158125 hsa_signal_wait_scacquire({handle=140281307479424}, 2, 1, 100000, 1) = 1 -337765833378151:337765833661445 158125:158125 hsa_signal_wait_scacquire({handle=140281307479424}, 2, 1, 18446744073709551615, 0) = 0 -337765833662106:337765833662587 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281307479424}, 0x7ffea16f3490) = 0 -337765833663299:337765833691151 158125:158125 hsa_amd_memory_unlock(0x7f95c88ff000) = 0 -337765833708093:337765833708414 158125:158125 hsa_signal_load_relaxed({handle=140281307479424}) = 0 -337765833709125:337765833709436 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 152 -337765833709957:337765833710378 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 152 -337765833711049:337765833711279 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307479296}, 1) = void -337765833712852:337765833713143 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 152 -337765833713904:337765833714525 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 152) = void -337765833721929:337765834400890 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c84fe000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765834402172:337765834402463 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 153 -337765834402964:337765834403204 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 153 -337765834403765:337765834404056 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307479168}, 1) = void -337765834404607:337765834404877 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 153 -337765834405358:337765834405929 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 153) = void -337765834406480:337765834406731 158125:158125 hsa_signal_load_relaxed({handle=140281307479168}) = 1 -337765834407222:337765834407452 158125:158125 hsa_signal_load_relaxed({handle=140281307479168}) = 1 -337765834407943:337765834418253 158125:158125 hsa_signal_wait_scacquire({handle=140281307479168}, 2, 1, 10000, 1) = 1 -337765834418874:337765834419204 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307479040}, 1) = void -337765834419836:337765834421028 158125:158125 hsa_amd_memory_async_copy(0x7f9482800010, {handle=32855168}, 0x7f9484c00000, {handle=33084688}, 4194304, 1, 0x2b626d0, {handle=140281307479040}) = 0 -337765834421699:337765834422020 158125:158125 hsa_signal_load_relaxed({handle=140281307479168}) = 0 -337765834422551:337765834423112 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307479168}, 0x7ffea16f3480) = 0 -337765834423633:337765834423873 158125:158125 hsa_signal_load_relaxed({handle=140281307479040}) = 1 -337765834424344:337765834524623 158125:158125 hsa_signal_wait_scacquire({handle=140281307479040}, 2, 1, 100000, 1) = 1 -337765834525094:337765834822014 158125:158125 hsa_signal_wait_scacquire({handle=140281307479040}, 2, 1, 18446744073709551615, 0) = 0 -337765834822585:337765834822876 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281307479040}, 0x7ffea16f3490) = 0 -337765834823647:337765834848264 158125:158125 hsa_amd_memory_unlock(0x7f95c84fe000) = 0 -337765834849947:337765834850278 158125:158125 hsa_signal_load_relaxed({handle=140281307479296}) = 0 -337765834850778:337765834851079 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307479296}, 0x7ffea16f3570) = 0 -337765843160852:337765845111712 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c88ff000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765845113455:337765845113806 158125:158125 hsa_signal_load_relaxed({handle=140281307479040}) = 0 -337765845114958:337765845115229 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307478912}, 1) = void -337765845115860:337765845117032 158125:158125 hsa_amd_memory_async_copy(0x7f95c0800000, {handle=33084688}, 0x7f9482800010, {handle=32855168}, 4194304, 0, 0, {handle=140281307478912}) = 0 -337765845117643:337765845117874 158125:158125 hsa_signal_load_relaxed({handle=140281307478912}) = 1 -337765845118445:337765845218764 158125:158125 hsa_signal_wait_scacquire({handle=140281307478912}, 2, 1, 100000, 1) = 1 -337765845221289:337765845502028 158125:158125 hsa_signal_wait_scacquire({handle=140281307478912}, 2, 1, 18446744073709551615, 0) = 0 -337765845502619:337765845506376 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281307478912}, 0x7ffea16f3490) = 0 -337765845507208:337765845535632 158125:158125 hsa_amd_memory_unlock(0x7f95c88ff000) = 0 -337765845551471:337765845551742 158125:158125 hsa_signal_load_relaxed({handle=140281307478912}) = 0 -337765845552383:337765845552784 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 154 -337765845553425:337765845553846 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 154 -337765845554487:337765845554728 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307478784}, 1) = void -337765845555339:337765845555609 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 154 -337765845556210:337765845556842 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 154) = void -337765845563815:337765846227967 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c84fe000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765846229320:337765846229611 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 155 -337765846230132:337765846230382 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 155 -337765846230983:337765846231234 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307478656}, 1) = void -337765846231775:337765846232025 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 155 -337765846232516:337765846233127 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 155) = void -337765846233678:337765846233919 158125:158125 hsa_signal_load_relaxed({handle=140281307478656}) = 1 -337765846234390:337765846234620 158125:158125 hsa_signal_load_relaxed({handle=140281307478656}) = 1 -337765846235131:337765846245430 158125:158125 hsa_signal_wait_scacquire({handle=140281307478656}, 2, 1, 10000, 1) = 1 -337765846246052:337765846246282 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307478528}, 1) = void -337765846246943:337765846248075 158125:158125 hsa_amd_memory_async_copy(0x7f9482800010, {handle=32855168}, 0x7f9484c00000, {handle=33084688}, 4194304, 1, 0x2b627e0, {handle=140281307478528}) = 0 -337765846248687:337765846249007 158125:158125 hsa_signal_load_relaxed({handle=140281307478656}) = 0 -337765846249538:337765846250109 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307478656}, 0x7ffea16f3480) = 0 -337765846250640:337765846250871 158125:158125 hsa_signal_load_relaxed({handle=140281307478528}) = 1 -337765846251352:337765846351631 158125:158125 hsa_signal_wait_scacquire({handle=140281307478528}, 2, 1, 100000, 1) = 1 -337765846352102:337765846632781 158125:158125 hsa_signal_wait_scacquire({handle=140281307478528}, 2, 1, 18446744073709551615, 0) = 0 -337765846633332:337765846633623 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281307478528}, 0x7ffea16f3490) = 0 -337765846634394:337765846658740 158125:158125 hsa_amd_memory_unlock(0x7f95c84fe000) = 0 -337765846660293:337765846660543 158125:158125 hsa_signal_load_relaxed({handle=140281307478784}) = 0 -337765846661074:337765846661345 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307478784}, 0x7ffea16f3570) = 0 -337765854955878:337765856929681 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c88ff000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765856931474:337765856931805 158125:158125 hsa_signal_load_relaxed({handle=140281307478528}) = 0 -337765856932857:337765856933217 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307478400}, 1) = void -337765856933959:337765856935071 158125:158125 hsa_amd_memory_async_copy(0x7f95c0800000, {handle=33084688}, 0x7f9482800010, {handle=32855168}, 4194304, 0, 0, {handle=140281307478400}) = 0 -337765856935652:337765856935882 158125:158125 hsa_signal_load_relaxed({handle=140281307478400}) = 1 -337765856936483:337765857036803 158125:158125 hsa_signal_wait_scacquire({handle=140281307478400}, 2, 1, 100000, 1) = 1 -337765857037304:337765857319947 158125:158125 hsa_signal_wait_scacquire({handle=140281307478400}, 2, 1, 18446744073709551615, 0) = 0 -337765857320548:337765857321029 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281307478400}, 0x7ffea16f3490) = 0 -337765857321740:337765857346607 158125:158125 hsa_amd_memory_unlock(0x7f95c88ff000) = 0 -337765857361295:337765857361555 158125:158125 hsa_signal_load_relaxed({handle=140281307478400}) = 0 -337765857362186:337765857362487 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 156 -337765857363008:337765857363429 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 156 -337765857364551:337765857364781 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307478272}, 1) = void -337765857365493:337765857365763 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 156 -337765857366294:337765857366935 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 156) = void -337765857375532:337765858060233 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c84fe000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765858061475:337765858061786 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 157 -337765858062397:337765858062648 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 157 -337765858063389:337765858063659 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307478144}, 1) = void -337765858064331:337765858064571 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 157 -337765858065162:337765858065743 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 157) = void -337765858066405:337765858066685 158125:158125 hsa_signal_load_relaxed({handle=140281307478144}) = 1 -337765858067817:337765858068048 158125:158125 hsa_signal_load_relaxed({handle=140281307478144}) = 1 -337765858068549:337765858078858 158125:158125 hsa_signal_wait_scacquire({handle=140281307478144}, 2, 1, 10000, 1) = 1 -337765858079469:337765858079700 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307478016}, 1) = void -337765858080321:337765858081413 158125:158125 hsa_amd_memory_async_copy(0x7f9482800010, {handle=32855168}, 0x7f9484c00000, {handle=33084688}, 4194304, 1, 0x2b628f0, {handle=140281307478016}) = 0 -337765858082054:337765858082375 158125:158125 hsa_signal_load_relaxed({handle=140281307478144}) = 0 -337765858082916:337765858083577 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307478144}, 0x7ffea16f3480) = 0 -337765858085561:337765858085801 158125:158125 hsa_signal_load_relaxed({handle=140281307478016}) = 1 -337765858086292:337765858186571 158125:158125 hsa_signal_wait_scacquire({handle=140281307478016}, 2, 1, 100000, 1) = 1 -337765858187052:337765858465147 158125:158125 hsa_signal_wait_scacquire({handle=140281307478016}, 2, 1, 18446744073709551615, 0) = 0 -337765858465738:337765858466018 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281307478016}, 0x7ffea16f3490) = 0 -337765858466720:337765858491506 158125:158125 hsa_amd_memory_unlock(0x7f95c84fe000) = 0 -337765858493260:337765858493520 158125:158125 hsa_signal_load_relaxed({handle=140281307478272}) = 0 -337765858494041:337765858494322 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307478272}, 0x7ffea16f3570) = 0 -337765866779018:337765868741059 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c88ff000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765868742972:337765868743333 158125:158125 hsa_signal_load_relaxed({handle=140281307478016}) = 0 -337765868744485:337765868744766 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307477888}, 1) = void -337765868745497:337765868746569 158125:158125 hsa_amd_memory_async_copy(0x7f95c0800000, {handle=33084688}, 0x7f9482800010, {handle=32855168}, 4194304, 0, 0, {handle=140281307477888}) = 0 -337765868747190:337765868747421 158125:158125 hsa_signal_load_relaxed({handle=140281307477888}) = 1 -337765868747992:337765868848311 158125:158125 hsa_signal_wait_scacquire({handle=140281307477888}, 2, 1, 100000, 1) = 1 -337765868848902:337765869132226 158125:158125 hsa_signal_wait_scacquire({handle=140281307477888}, 2, 1, 18446744073709551615, 0) = 0 -337765869132807:337765869133268 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281307477888}, 0x7ffea16f3490) = 0 -337765869134030:337765869160409 158125:158125 hsa_amd_memory_unlock(0x7f95c88ff000) = 0 -337765869179776:337765869180047 158125:158125 hsa_signal_load_relaxed({handle=140281307477888}) = 0 -337765869180668:337765869181399 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 158 -337765869181930:337765869182351 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 158 -337765869183152:337765869183403 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307477760}, 1) = void -337765869184054:337765869184315 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 158 -337765869184846:337765869185587 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 158) = void -337765869192590:337765869863496 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c84fe000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765869864888:337765869865189 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 159 -337765869865680:337765869865910 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 159 -337765869866501:337765869866752 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307477632}, 1) = void -337765869867383:337765869867633 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 159 -337765869868104:337765869868685 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 159) = void -337765869869216:337765869869457 158125:158125 hsa_signal_load_relaxed({handle=140281307477632}) = 1 -337765869871511:337765869871741 158125:158125 hsa_signal_load_relaxed({handle=140281307477632}) = 1 -337765869872282:337765869882311 158125:158125 hsa_signal_wait_scacquire({handle=140281307477632}, 2, 1, 10000, 1) = 0 -337765869883062:337765869883383 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353623040}, 1) = void -337765869884024:337765869885357 158125:158125 hsa_amd_memory_async_copy(0x7f9482800010, {handle=32855168}, 0x7f9484c00000, {handle=33084688}, 4194304, 0, 0, {handle=140281353623040}) = 0 -337765869885948:337765869886168 158125:158125 hsa_signal_load_relaxed({handle=140281307477632}) = 0 -337765869886689:337765869887160 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307477632}, 0x7ffea16f3480) = 0 -337765869887681:337765869887912 158125:158125 hsa_signal_load_relaxed({handle=140281353623040}) = 1 -337765869888373:337765869988642 158125:158125 hsa_signal_wait_scacquire({handle=140281353623040}, 2, 1, 100000, 1) = 1 -337765869989113:337765870264732 158125:158125 hsa_signal_wait_scacquire({handle=140281353623040}, 2, 1, 18446744073709551615, 0) = 0 -337765870265313:337765870265604 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281353623040}, 0x7ffea16f3490) = 0 -337765870266375:337765870291643 158125:158125 hsa_amd_memory_unlock(0x7f95c84fe000) = 0 -337765870293306:337765870293567 158125:158125 hsa_signal_load_relaxed({handle=140281307477760}) = 0 -337765870294078:337765870294378 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307477760}, 0x7ffea16f3570) = 0 -337765878588933:337765880608131 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c88ff000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765880610015:337765880610596 158125:158125 hsa_signal_load_relaxed({handle=140281353623040}) = 0 -337765880611488:337765880611788 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353622912}, 1) = void -337765880612520:337765880613812 158125:158125 hsa_amd_memory_async_copy(0x7f95c0800000, {handle=33084688}, 0x7f9482800010, {handle=32855168}, 4194304, 0, 0, {handle=140281353622912}) = 0 -337765880614413:337765880614654 158125:158125 hsa_signal_load_relaxed({handle=140281353622912}) = 1 -337765880615155:337765880715474 158125:158125 hsa_signal_wait_scacquire({handle=140281353622912}, 2, 1, 100000, 1) = 1 -337765880715975:337765880998728 158125:158125 hsa_signal_wait_scacquire({handle=140281353622912}, 2, 1, 18446744073709551615, 0) = 0 -337765880999369:337765880999760 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281353622912}, 0x7ffea16f3490) = 0 -337765881000522:337765881026410 158125:158125 hsa_amd_memory_unlock(0x7f95c88ff000) = 0 -337765881042080:337765881042401 158125:158125 hsa_signal_load_relaxed({handle=140281353622912}) = 0 -337765881043012:337765881043302 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 160 -337765881043853:337765881044264 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 160 -337765881045446:337765881045787 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353622784}, 1) = void -337765881046388:337765881046649 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 160 -337765881047180:337765881047781 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 160) = void -337765881057910:337765881733554 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c84fe000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765881734766:337765881735037 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 161 -337765881735558:337765881735798 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 161 -337765881736309:337765881736650 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353622656}, 1) = void -337765881737221:337765881737482 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 161 -337765881737973:337765881738564 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 161) = void -337765881739105:337765881739365 158125:158125 hsa_signal_load_relaxed({handle=140281353622656}) = 1 -337765881739856:337765881740087 158125:158125 hsa_signal_load_relaxed({handle=140281353622656}) = 1 -337765881740577:337765881750877 158125:158125 hsa_signal_wait_scacquire({handle=140281353622656}, 2, 1, 10000, 1) = 1 -337765881751528:337765881751859 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353622528}, 1) = void -337765881752490:337765881753622 158125:158125 hsa_amd_memory_async_copy(0x7f9482800010, {handle=32855168}, 0x7f9484c00000, {handle=33084688}, 4194304, 1, 0x2b62b10, {handle=140281353622528}) = 0 -337765881754283:337765881754644 158125:158125 hsa_signal_load_relaxed({handle=140281353622656}) = 0 -337765881755155:337765881755626 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281353622656}, 0x7ffea16f3480) = 0 -337765881756137:337765881756377 158125:158125 hsa_signal_load_relaxed({handle=140281353622528}) = 1 -337765881756848:337765881857127 158125:158125 hsa_signal_wait_scacquire({handle=140281353622528}, 2, 1, 100000, 1) = 1 -337765881857608:337765882139510 158125:158125 hsa_signal_wait_scacquire({handle=140281353622528}, 2, 1, 18446744073709551615, 0) = 0 -337765882140101:337765882140392 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281353622528}, 0x7ffea16f3490) = 0 -337765882141153:337765882169597 158125:158125 hsa_amd_memory_unlock(0x7f95c84fe000) = 0 -337765882171991:337765882172272 158125:158125 hsa_signal_load_relaxed({handle=140281353622784}) = 0 -337765882172803:337765882173113 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281353622784}, 0x7ffea16f3570) = 0 -337765890463921:337765892488409 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c88ff000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765892490393:337765892490904 158125:158125 hsa_signal_load_relaxed({handle=140281353622528}) = 0 -337765892492126:337765892492497 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353622400}, 1) = void -337765892493168:337765892494501 158125:158125 hsa_amd_memory_async_copy(0x7f95c0800000, {handle=33084688}, 0x7f9482800010, {handle=32855168}, 4194304, 0, 0, {handle=140281353622400}) = 0 -337765892495302:337765892495533 158125:158125 hsa_signal_load_relaxed({handle=140281353622400}) = 1 -337765892496034:337765892596363 158125:158125 hsa_signal_wait_scacquire({handle=140281353622400}, 2, 1, 100000, 1) = 1 -337765892596934:337765892882713 158125:158125 hsa_signal_wait_scacquire({handle=140281353622400}, 2, 1, 18446744073709551615, 0) = 0 -337765892883314:337765892883665 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281353622400}, 0x7ffea16f3490) = 0 -337765892887031:337765892912579 158125:158125 hsa_amd_memory_unlock(0x7f95c88ff000) = 0 -337765892929171:337765892929441 158125:158125 hsa_signal_load_relaxed({handle=140281353622400}) = 0 -337765892930052:337765892930363 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 162 -337765892930984:337765892931405 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 162 -337765892932206:337765892932447 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353622272}, 1) = void -337765892933028:337765892933309 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 162 -337765892933819:337765892934421 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 162) = void -337765892941264:337765893605386 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c84fe000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765893606568:337765893606849 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 163 -337765893607380:337765893607620 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 163 -337765893608221:337765893608542 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353622144}, 1) = void -337765893609163:337765893609424 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 163 -337765893609895:337765893610466 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 163) = void -337765893611017:337765893611267 158125:158125 hsa_signal_load_relaxed({handle=140281353622144}) = 1 -337765893611748:337765893611969 158125:158125 hsa_signal_load_relaxed({handle=140281353622144}) = 1 -337765893612480:337765893622799 158125:158125 hsa_signal_wait_scacquire({handle=140281353622144}, 2, 1, 10000, 1) = 1 -337765893623390:337765893623631 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353622016}, 1) = void -337765893624262:337765893625274 158125:158125 hsa_amd_memory_async_copy(0x7f9482800010, {handle=32855168}, 0x7f9484c00000, {handle=33084688}, 4194304, 1, 0x2b62c20, {handle=140281353622016}) = 0 -337765893625895:337765893626245 158125:158125 hsa_signal_load_relaxed({handle=140281353622144}) = 0 -337765893626776:337765893627257 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281353622144}, 0x7ffea16f3480) = 0 -337765893627778:337765893628009 158125:158125 hsa_signal_load_relaxed({handle=140281353622016}) = 1 -337765893628510:337765893728779 158125:158125 hsa_signal_wait_scacquire({handle=140281353622016}, 2, 1, 100000, 1) = 1 -337765893729260:337765894010240 158125:158125 hsa_signal_wait_scacquire({handle=140281353622016}, 2, 1, 18446744073709551615, 0) = 0 -337765894010821:337765894011111 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281353622016}, 0x7ffea16f3490) = 0 -337765894011873:337765894035578 158125:158125 hsa_amd_memory_unlock(0x7f95c84fe000) = 0 -337765894037201:337765894037451 158125:158125 hsa_signal_load_relaxed({handle=140281353622272}) = 0 -337765894037972:337765894038253 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281353622272}, 0x7ffea16f3570) = 0 -337765902325293:337765904344682 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c88ff000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765904346475:337765904346896 158125:158125 hsa_signal_load_relaxed({handle=140281353622016}) = 0 -337765904349832:337765904350102 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353621888}, 1) = void -337765904351114:337765904352246 158125:158125 hsa_amd_memory_async_copy(0x7f95c0800000, {handle=33084688}, 0x7f9482800010, {handle=32855168}, 4194304, 0, 0, {handle=140281353621888}) = 0 -337765904352867:337765904353098 158125:158125 hsa_signal_load_relaxed({handle=140281353621888}) = 1 -337765904353609:337765904453988 158125:158125 hsa_signal_wait_scacquire({handle=140281353621888}, 2, 1, 100000, 1) = 1 -337765904454599:337765904739186 158125:158125 hsa_signal_wait_scacquire({handle=140281353621888}, 2, 1, 18446744073709551615, 0) = 0 -337765904739837:337765904740308 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281353621888}, 0x7ffea16f3490) = 0 -337765904741140:337765904771206 158125:158125 hsa_amd_memory_unlock(0x7f95c88ff000) = 0 -337765904785824:337765904786155 158125:158125 hsa_signal_load_relaxed({handle=140281353621888}) = 0 -337765904786796:337765904787167 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 164 -337765904787708:337765904788128 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 164 -337765904789010:337765904789240 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353621760}, 1) = void -337765904789992:337765904790262 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 164 -337765904790783:337765904791485 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 164) = void -337765904799760:337765905970889 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c84fe000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765905972202:337765905972502 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 165 -337765905973033:337765905973274 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 165 -337765905973765:337765905974336 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353621632}, 1) = void -337765905974897:337765905975147 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 165 -337765905975638:337765905976229 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 165) = void -337765905976790:337765905977061 158125:158125 hsa_signal_load_relaxed({handle=140281353621632}) = 1 -337765905977532:337765905977762 158125:158125 hsa_signal_load_relaxed({handle=140281353621632}) = 1 -337765905978243:337765905988553 158125:158125 hsa_signal_wait_scacquire({handle=140281353621632}, 2, 1, 10000, 1) = 1 -337765905989184:337765905989514 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353621504}, 1) = void -337765905990156:337765905991278 158125:158125 hsa_amd_memory_async_copy(0x7f9482800010, {handle=32855168}, 0x7f9484c00000, {handle=33084688}, 4194304, 1, 0x2b62d30, {handle=140281353621504}) = 0 -337765905991879:337765905992300 158125:158125 hsa_signal_load_relaxed({handle=140281353621632}) = 0 -337765905992841:337765905993472 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281353621632}, 0x7ffea16f3480) = 0 -337765905993983:337765905994213 158125:158125 hsa_signal_load_relaxed({handle=140281353621504}) = 1 -337765905994684:337765906094973 158125:158125 hsa_signal_wait_scacquire({handle=140281353621504}, 2, 1, 100000, 1) = 1 -337765906097658:337765906375843 158125:158125 hsa_signal_wait_scacquire({handle=140281353621504}, 2, 1, 18446744073709551615, 0) = 0 -337765906376424:337765906376735 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281353621504}, 0x7ffea16f3490) = 0 -337765906377506:337765906402393 158125:158125 hsa_amd_memory_unlock(0x7f95c84fe000) = 0 -337765906404126:337765906404387 158125:158125 hsa_signal_load_relaxed({handle=140281353621760}) = 0 -337765906404908:337765906405208 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281353621760}, 0x7ffea16f3570) = 0 -337765914714822:337765916728159 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c88ff000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765916730073:337765916731064 158125:158125 hsa_signal_load_relaxed({handle=140281353621504}) = 0 -337765916732056:337765916732427 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307479936}, 1) = void -337765916733178:337765916734260 158125:158125 hsa_amd_memory_async_copy(0x7f95c0800000, {handle=33084688}, 0x7f9482800010, {handle=32855168}, 4194304, 0, 0, {handle=140281307479936}) = 0 -337765916734862:337765916735092 158125:158125 hsa_signal_load_relaxed({handle=140281307479936}) = 1 -337765916735703:337765916836032 158125:158125 hsa_signal_wait_scacquire({handle=140281307479936}, 2, 1, 100000, 1) = 1 -337765916836634:337765917120098 158125:158125 hsa_signal_wait_scacquire({handle=140281307479936}, 2, 1, 18446744073709551615, 0) = 0 -337765917120769:337765917124727 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281307479936}, 0x7ffea16f3490) = 0 -337765917125498:337765917150876 158125:158125 hsa_amd_memory_unlock(0x7f95c88ff000) = 0 -337765917170253:337765917170533 158125:158125 hsa_signal_load_relaxed({handle=140281307479936}) = 0 -337765917171345:337765917171746 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 166 -337765917172377:337765917172788 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 166 -337765917173679:337765917173920 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307479808}, 1) = void -337765917174581:337765917174851 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 166 -337765917175393:337765917176004 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 166) = void -337765917183698:337765917860264 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c84fe000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765917861547:337765917861837 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 167 -337765917862328:337765917862569 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 167 -337765917863150:337765917863450 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307479680}, 1) = void -337765917864232:337765917864492 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 167 -337765917864983:337765917865574 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 167) = void -337765917866095:337765917866356 158125:158125 hsa_signal_load_relaxed({handle=140281307479680}) = 1 -337765917866837:337765917867067 158125:158125 hsa_signal_load_relaxed({handle=140281307479680}) = 1 -337765917867558:337765917877857 158125:158125 hsa_signal_wait_scacquire({handle=140281307479680}, 2, 1, 10000, 1) = 1 -337765917880162:337765917880422 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307479552}, 1) = void -337765917881074:337765917882166 158125:158125 hsa_amd_memory_async_copy(0x7f9482800010, {handle=32855168}, 0x7f9484c00000, {handle=33084688}, 4194304, 1, 0x24ae090, {handle=140281307479552}) = 0 -337765917882807:337765917883037 158125:158125 hsa_signal_load_relaxed({handle=140281307479680}) = 0 -337765917883598:337765917884089 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307479680}, 0x7ffea16f3480) = 0 -337765917884620:337765917884851 158125:158125 hsa_signal_load_relaxed({handle=140281307479552}) = 1 -337765917885322:337765917985591 158125:158125 hsa_signal_wait_scacquire({handle=140281307479552}, 2, 1, 100000, 1) = 1 -337765917986082:337765918266000 158125:158125 hsa_signal_wait_scacquire({handle=140281307479552}, 2, 1, 18446744073709551615, 0) = 0 -337765918266591:337765918266891 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281307479552}, 0x7ffea16f3490) = 0 -337765918267663:337765918293221 158125:158125 hsa_amd_memory_unlock(0x7f95c84fe000) = 0 -337765918295004:337765918295265 158125:158125 hsa_signal_load_relaxed({handle=140281307479808}) = 0 -337765918295796:337765918296066 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307479808}, 0x7ffea16f3570) = 0 -337765926834640:337765928820204 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c88ff000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765928822459:337765928822910 158125:158125 hsa_signal_load_relaxed({handle=140281307479552}) = 0 -337765928824052:337765928824412 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307479424}, 1) = void -337765928825134:337765928826286 158125:158125 hsa_amd_memory_async_copy(0x7f95c0800000, {handle=33084688}, 0x7f9482800010, {handle=32855168}, 4194304, 0, 0, {handle=140281307479424}) = 0 -337765928826947:337765928827178 158125:158125 hsa_signal_load_relaxed({handle=140281307479424}) = 1 -337765928827879:337765928928208 158125:158125 hsa_signal_wait_scacquire({handle=140281307479424}, 2, 1, 100000, 1) = 1 -337765928928809:337765929212224 158125:158125 hsa_signal_wait_scacquire({handle=140281307479424}, 2, 1, 18446744073709551615, 0) = 0 -337765929212915:337765929213486 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281307479424}, 0x7ffea16f3490) = 0 -337765929214328:337765929242030 158125:158125 hsa_amd_memory_unlock(0x7f95c88ff000) = 0 -337765929259233:337765929259533 158125:158125 hsa_signal_load_relaxed({handle=140281307479424}) = 0 -337765929260425:337765929260795 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 168 -337765929261597:337765929262018 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 168 -337765929262879:337765929263120 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307479296}, 1) = void -337765929263811:337765929264072 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 168 -337765929264673:337765929265304 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 168) = void -337765929274481:337765929949715 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c84fe000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765929951007:337765929951288 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 169 -337765929953352:337765929953602 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 169 -337765929954654:337765929954945 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307479168}, 1) = void -337765929955516:337765929955776 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 169 -337765929956267:337765929956848 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 169) = void -337765929957429:337765929957680 158125:158125 hsa_signal_load_relaxed({handle=140281307479168}) = 1 -337765929958161:337765929958391 158125:158125 hsa_signal_load_relaxed({handle=140281307479168}) = 1 -337765929958902:337765929969192 158125:158125 hsa_signal_wait_scacquire({handle=140281307479168}, 2, 1, 10000, 1) = 1 -337765929970304:337765929970544 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307479040}, 1) = void -337765929971195:337765929972448 158125:158125 hsa_amd_memory_async_copy(0x7f9482800010, {handle=32855168}, 0x7f9484c00000, {handle=33084688}, 4194304, 1, 0x24ae1a0, {handle=140281307479040}) = 0 -337765929973069:337765929973299 158125:158125 hsa_signal_load_relaxed({handle=140281307479168}) = 0 -337765929973850:337765929974331 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307479168}, 0x7ffea16f3480) = 0 -337765929974862:337765929975103 158125:158125 hsa_signal_load_relaxed({handle=140281307479040}) = 1 -337765929975574:337765930075853 158125:158125 hsa_signal_wait_scacquire({handle=140281307479040}, 2, 1, 100000, 1) = 1 -337765930076334:337765930356402 158125:158125 hsa_signal_wait_scacquire({handle=140281307479040}, 2, 1, 18446744073709551615, 0) = 0 -337765930356983:337765930357274 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281307479040}, 0x7ffea16f3490) = 0 -337765930358035:337765930383152 158125:158125 hsa_amd_memory_unlock(0x7f95c84fe000) = 0 -337765930384906:337765930385166 158125:158125 hsa_signal_load_relaxed({handle=140281307479296}) = 0 -337765930385707:337765930385978 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307479296}, 0x7ffea16f3570) = 0 -337765938676886:337765940670265 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c88ff000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765940672650:337765940673081 158125:158125 hsa_signal_load_relaxed({handle=140281307479040}) = 0 -337765940673942:337765940674213 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307478912}, 1) = void -337765940674974:337765940676397 158125:158125 hsa_amd_memory_async_copy(0x7f95c0800000, {handle=33084688}, 0x7f9482800010, {handle=32855168}, 4194304, 0, 0, {handle=140281307478912}) = 0 -337765940676998:337765940677239 158125:158125 hsa_signal_load_relaxed({handle=140281307478912}) = 1 -337765940677840:337765940778169 158125:158125 hsa_signal_wait_scacquire({handle=140281307478912}, 2, 1, 100000, 1) = 1 -337765940779161:337765941061704 158125:158125 hsa_signal_wait_scacquire({handle=140281307478912}, 2, 1, 18446744073709551615, 0) = 0 -337765941062375:337765941062746 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281307478912}, 0x7ffea16f3490) = 0 -337765941063497:337765941090147 158125:158125 hsa_amd_memory_unlock(0x7f95c88ff000) = 0 -337765941108011:337765941108292 158125:158125 hsa_signal_load_relaxed({handle=140281307478912}) = 0 -337765941109003:337765941109364 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 170 -337765941110997:337765941111337 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 170 -337765941112059:337765941112299 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307478784}, 1) = void -337765941112890:337765941113151 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 170 -337765941113682:337765941114303 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 170) = void -337765941121276:337765941799235 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c84fe000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765941800507:337765941800798 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 171 -337765941801349:337765941801689 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 171 -337765941802281:337765941802551 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307478656}, 1) = void -337765941803122:337765941803393 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 171 -337765941803904:337765941804515 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 171) = void -337765941805086:337765941805346 158125:158125 hsa_signal_load_relaxed({handle=140281307478656}) = 1 -337765941805837:337765941806068 158125:158125 hsa_signal_load_relaxed({handle=140281307478656}) = 1 -337765941806569:337765941816848 158125:158125 hsa_signal_wait_scacquire({handle=140281307478656}, 2, 1, 10000, 1) = 1 -337765941817479:337765941817720 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307478528}, 1) = void -337765941818351:337765941819433 158125:158125 hsa_amd_memory_async_copy(0x7f9482800010, {handle=32855168}, 0x7f9484c00000, {handle=33084688}, 4194304, 1, 0x24ae2b0, {handle=140281307478528}) = 0 -337765941820074:337765941820395 158125:158125 hsa_signal_load_relaxed({handle=140281307478656}) = 0 -337765941820936:337765941821437 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307478656}, 0x7ffea16f3480) = 0 -337765941821968:337765941822198 158125:158125 hsa_signal_load_relaxed({handle=140281307478528}) = 1 -337765941822689:337765941922978 158125:158125 hsa_signal_wait_scacquire({handle=140281307478528}, 2, 1, 100000, 1) = 1 -337765941923469:337765942204319 158125:158125 hsa_signal_wait_scacquire({handle=140281307478528}, 2, 1, 18446744073709551615, 0) = 0 -337765942204900:337765942205200 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281307478528}, 0x7ffea16f3490) = 0 -337765942205972:337765942230969 158125:158125 hsa_amd_memory_unlock(0x7f95c84fe000) = 0 -337765942233173:337765942233424 158125:158125 hsa_signal_load_relaxed({handle=140281307478784}) = 0 -337765942233945:337765942234225 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307478784}, 0x7ffea16f3570) = 0 -337765950587681:337765952604956 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c88ff000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765952606769:337765952607080 158125:158125 hsa_signal_load_relaxed({handle=140281307478528}) = 0 -337765952608212:337765952608523 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307478400}, 1) = void -337765952609254:337765952610326 158125:158125 hsa_amd_memory_async_copy(0x7f95c0800000, {handle=33084688}, 0x7f9482800010, {handle=32855168}, 4194304, 0, 0, {handle=140281307478400}) = 0 -337765952613272:337765952613512 158125:158125 hsa_signal_load_relaxed({handle=140281307478400}) = 1 -337765952614033:337765952714362 158125:158125 hsa_signal_wait_scacquire({handle=140281307478400}, 2, 1, 100000, 1) = 1 -337765952714873:337765952995563 158125:158125 hsa_signal_wait_scacquire({handle=140281307478400}, 2, 1, 18446744073709551615, 0) = 0 -337765952996244:337765952996725 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281307478400}, 0x7ffea16f3490) = 0 -337765952997556:337765953024577 158125:158125 hsa_amd_memory_unlock(0x7f95c88ff000) = 0 -337765953041139:337765953041419 158125:158125 hsa_signal_load_relaxed({handle=140281307478400}) = 0 -337765953042060:337765953042431 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 172 -337765953042972:337765953043323 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 172 -337765953044114:337765953044355 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307478272}, 1) = void -337765953044946:337765953045226 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 172 -337765953045847:337765953046469 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 172) = void -337765953053091:337765953729808 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c84fe000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765953731020:337765953731300 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 173 -337765953731821:337765953732072 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 173 -337765953732593:337765953732873 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307478144}, 1) = void -337765953733464:337765953733735 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 173 -337765953734256:337765953734847 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 173) = void -337765953735418:337765953735659 158125:158125 hsa_signal_load_relaxed({handle=140281307478144}) = 1 -337765953736139:337765953736370 158125:158125 hsa_signal_load_relaxed({handle=140281307478144}) = 1 -337765953736861:337765953747170 158125:158125 hsa_signal_wait_scacquire({handle=140281307478144}, 2, 1, 10000, 1) = 1 -337765953747801:337765953748132 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307478016}, 1) = void -337765953748783:337765953749915 158125:158125 hsa_amd_memory_async_copy(0x7f9482800010, {handle=32855168}, 0x7f9484c00000, {handle=33084688}, 4194304, 1, 0x24ae3c0, {handle=140281307478016}) = 0 -337765953750557:337765953750867 158125:158125 hsa_signal_load_relaxed({handle=140281307478144}) = 0 -337765953751418:337765953751889 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307478144}, 0x7ffea16f3480) = 0 -337765953752410:337765953752651 158125:158125 hsa_signal_load_relaxed({handle=140281307478016}) = 1 -337765953753131:337765953853421 158125:158125 hsa_signal_wait_scacquire({handle=140281307478016}, 2, 1, 100000, 1) = 1 -337765953853902:337765954134721 158125:158125 hsa_signal_wait_scacquire({handle=140281307478016}, 2, 1, 18446744073709551615, 0) = 0 -337765954135312:337765954135623 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281307478016}, 0x7ffea16f3490) = 0 -337765954136394:337765954161512 158125:158125 hsa_amd_memory_unlock(0x7f95c84fe000) = 0 -337765954164648:337765954164908 158125:158125 hsa_signal_load_relaxed({handle=140281307478272}) = 0 -337765954165439:337765954165720 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307478272}, 0x7ffea16f3570) = 0 -337765962484670:337765964495794 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c88ff000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765964497787:337765964498138 158125:158125 hsa_signal_load_relaxed({handle=140281307478016}) = 0 -337765964499541:337765964499811 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307477888}, 1) = void -337765964500563:337765964501815 158125:158125 hsa_amd_memory_async_copy(0x7f95c0800000, {handle=33084688}, 0x7f9482800010, {handle=32855168}, 4194304, 0, 0, {handle=140281307477888}) = 0 -337765964502426:337765964502657 158125:158125 hsa_signal_load_relaxed({handle=140281307477888}) = 1 -337765964503158:337765964603467 158125:158125 hsa_signal_wait_scacquire({handle=140281307477888}, 2, 1, 100000, 1) = 1 -337765964603958:337765964890178 158125:158125 hsa_signal_wait_scacquire({handle=140281307477888}, 2, 1, 18446744073709551615, 0) = 0 -337765964890789:337765964891159 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281307477888}, 0x7ffea16f3490) = 0 -337765964891911:337765964918361 158125:158125 hsa_amd_memory_unlock(0x7f95c88ff000) = 0 -337765964935333:337765964935663 158125:158125 hsa_signal_load_relaxed({handle=140281307477888}) = 0 -337765964936795:337765964937176 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 174 -337765964937817:337765964938238 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 174 -337765964939030:337765964939270 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307477760}, 1) = void -337765964940042:337765964940312 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 174 -337765964941003:337765964941625 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 174) = void -337765964947947:337765965617339 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c84fe000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765965618551:337765965618842 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 175 -337765965619363:337765965619603 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 175 -337765965620194:337765965620495 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307477632}, 1) = void -337765965621066:337765965621327 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 175 -337765965621797:337765965622379 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 175) = void -337765965623010:337765965623250 158125:158125 hsa_signal_load_relaxed({handle=140281307477632}) = 1 -337765965623721:337765965623952 158125:158125 hsa_signal_load_relaxed({handle=140281307477632}) = 1 -337765965624442:337765965634732 158125:158125 hsa_signal_wait_scacquire({handle=140281307477632}, 2, 1, 10000, 1) = 1 -337765965635493:337765965635814 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353623040}, 1) = void -337765965636465:337765965637637 158125:158125 hsa_amd_memory_async_copy(0x7f9482800010, {handle=32855168}, 0x7f9484c00000, {handle=33084688}, 4194304, 1, 0x24ae4d0, {handle=140281353623040}) = 0 -337765965639791:337765965640142 158125:158125 hsa_signal_load_relaxed({handle=140281307477632}) = 0 -337765965640693:337765965641164 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307477632}, 0x7ffea16f3480) = 0 -337765965641695:337765965641925 158125:158125 hsa_signal_load_relaxed({handle=140281353623040}) = 1 -337765965642396:337765965742675 158125:158125 hsa_signal_wait_scacquire({handle=140281353623040}, 2, 1, 100000, 1) = 1 -337765965743136:337765966023595 158125:158125 hsa_signal_wait_scacquire({handle=140281353623040}, 2, 1, 18446744073709551615, 0) = 0 -337765966024146:337765966024457 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281353623040}, 0x7ffea16f3490) = 0 -337765966025228:337765966050386 158125:158125 hsa_amd_memory_unlock(0x7f95c84fe000) = 0 -337765966052129:337765966052460 158125:158125 hsa_signal_load_relaxed({handle=140281307477760}) = 0 -337765966052981:337765966053251 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307477760}, 0x7ffea16f3570) = 0 -337765974291299:337765976328412 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c88ff000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765976330215:337765976330706 158125:158125 hsa_signal_load_relaxed({handle=140281353623040}) = 0 -337765976332289:337765976332660 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353622912}, 1) = void -337765976333421:337765976334523 158125:158125 hsa_amd_memory_async_copy(0x7f95c0800000, {handle=33084688}, 0x7f9482800010, {handle=32855168}, 4194304, 0, 0, {handle=140281353622912}) = 0 -337765976335134:337765976335365 158125:158125 hsa_signal_load_relaxed({handle=140281353622912}) = 1 -337765976336046:337765976436385 158125:158125 hsa_signal_wait_scacquire({handle=140281353622912}, 2, 1, 100000, 1) = 1 -337765976436876:337765976721343 158125:158125 hsa_signal_wait_scacquire({handle=140281353622912}, 2, 1, 18446744073709551615, 0) = 0 -337765976721914:337765976722605 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281353622912}, 0x7ffea16f3490) = 0 -337765976723347:337765976750438 158125:158125 hsa_amd_memory_unlock(0x7f95c88ff000) = 0 -337765976768001:337765976768311 158125:158125 hsa_signal_load_relaxed({handle=140281353622912}) = 0 -337765976769063:337765976769454 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 176 -337765976770005:337765976770415 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 176 -337765976771297:337765976771638 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353622784}, 1) = void -337765976772319:337765976772569 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 176 -337765976773271:337765976773882 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 176) = void -337765976780755:337765977457682 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c84fe000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765977458914:337765977459205 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 177 -337765977459705:337765977460036 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 177 -337765977460627:337765977461038 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353622656}, 1) = void -337765977463052:337765977463332 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 177 -337765977463833:337765977464404 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 177) = void -337765977464955:337765977465206 158125:158125 hsa_signal_load_relaxed({handle=140281353622656}) = 1 -337765977465697:337765977465927 158125:158125 hsa_signal_load_relaxed({handle=140281353622656}) = 1 -337765977466428:337765977476728 158125:158125 hsa_signal_wait_scacquire({handle=140281353622656}, 2, 1, 10000, 1) = 1 -337765977477349:337765977477679 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353622528}, 1) = void -337765977478321:337765977479483 158125:158125 hsa_amd_memory_async_copy(0x7f9482800010, {handle=32855168}, 0x7f9484c00000, {handle=33084688}, 4194304, 1, 0x24ae5e0, {handle=140281353622528}) = 0 -337765977480675:337765977481036 158125:158125 hsa_signal_load_relaxed({handle=140281353622656}) = 0 -337765977481577:337765977482068 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281353622656}, 0x7ffea16f3480) = 0 -337765977482579:337765977482819 158125:158125 hsa_signal_load_relaxed({handle=140281353622528}) = 1 -337765977483290:337765977583569 158125:158125 hsa_signal_wait_scacquire({handle=140281353622528}, 2, 1, 100000, 1) = 1 -337765977584040:337765977864950 158125:158125 hsa_signal_wait_scacquire({handle=140281353622528}, 2, 1, 18446744073709551615, 0) = 0 -337765977865521:337765977865811 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281353622528}, 0x7ffea16f3490) = 0 -337765977866573:337765977891800 158125:158125 hsa_amd_memory_unlock(0x7f95c84fe000) = 0 -337765977893403:337765977893664 158125:158125 hsa_signal_load_relaxed({handle=140281353622784}) = 0 -337765977894195:337765977894475 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281353622784}, 0x7ffea16f3570) = 0 -337765986172569:337765988146653 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c88ff000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765988148907:337765988149318 158125:158125 hsa_signal_load_relaxed({handle=140281353622528}) = 0 -337765988150289:337765988150650 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353622400}, 1) = void -337765988151281:337765988152373 158125:158125 hsa_amd_memory_async_copy(0x7f95c0800000, {handle=33084688}, 0x7f9482800010, {handle=32855168}, 4194304, 0, 0, {handle=140281353622400}) = 0 -337765988153105:337765988153345 158125:158125 hsa_signal_load_relaxed({handle=140281353622400}) = 1 -337765988154046:337765988254366 158125:158125 hsa_signal_wait_scacquire({handle=140281353622400}, 2, 1, 100000, 1) = 1 -337765988254967:337765988540786 158125:158125 hsa_signal_wait_scacquire({handle=140281353622400}, 2, 1, 18446744073709551615, 0) = 0 -337765988541447:337765988545284 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281353622400}, 0x7ffea16f3490) = 0 -337765988546056:337765988574039 158125:158125 hsa_amd_memory_unlock(0x7f95c88ff000) = 0 -337765988591351:337765988591622 158125:158125 hsa_signal_load_relaxed({handle=140281353622400}) = 0 -337765988592303:337765988592604 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 178 -337765988593145:337765988593485 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 178 -337765988594738:337765988594968 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353622272}, 1) = void -337765988596471:337765988596751 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 178 -337765988597383:337765988597994 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 178) = void -337765988606530:337765989271154 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c84fe000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337765989272336:337765989272606 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 179 -337765989273117:337765989273368 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 179 -337765989274259:337765989274520 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353622144}, 1) = void -337765989275111:337765989275371 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 179 -337765989275862:337765989276443 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 179) = void -337765989277015:337765989277285 158125:158125 hsa_signal_load_relaxed({handle=140281353622144}) = 1 -337765989277776:337765989278006 158125:158125 hsa_signal_load_relaxed({handle=140281353622144}) = 1 -337765989278497:337765989288807 158125:158125 hsa_signal_wait_scacquire({handle=140281353622144}, 2, 1, 10000, 1) = 1 -337765989289879:337765989290119 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353622016}, 1) = void -337765989290730:337765989291863 158125:158125 hsa_amd_memory_async_copy(0x7f9482800010, {handle=32855168}, 0x7f9484c00000, {handle=33084688}, 4194304, 1, 0x24ae6f0, {handle=140281353622016}) = 0 -337765989292474:337765989292834 158125:158125 hsa_signal_load_relaxed({handle=140281353622144}) = 0 -337765989293355:337765989293926 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281353622144}, 0x7ffea16f3480) = 0 -337765989294447:337765989294678 158125:158125 hsa_signal_load_relaxed({handle=140281353622016}) = 1 -337765989295159:337765989395428 158125:158125 hsa_signal_wait_scacquire({handle=140281353622016}, 2, 1, 100000, 1) = 1 -337765989395909:337765989676789 158125:158125 hsa_signal_wait_scacquire({handle=140281353622016}, 2, 1, 18446744073709551615, 0) = 0 -337765989677380:337765989677670 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281353622016}, 0x7ffea16f3490) = 0 -337765989678432:337765989703850 158125:158125 hsa_amd_memory_unlock(0x7f95c84fe000) = 0 -337765989705613:337765989705873 158125:158125 hsa_signal_load_relaxed({handle=140281353622272}) = 0 -337765989706404:337765989706675 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281353622272}, 0x7ffea16f3570) = 0 -337765998097330:337766000068176 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c88ff000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337766000070030:337766000070431 158125:158125 hsa_signal_load_relaxed({handle=140281353622016}) = 0 -337766000071503:337766000071783 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353621888}, 1) = void -337766000072525:337766000073707 158125:158125 hsa_amd_memory_async_copy(0x7f95c0800000, {handle=33084688}, 0x7f9482800010, {handle=32855168}, 4194304, 0, 0, {handle=140281353621888}) = 0 -337766000074388:337766000074629 158125:158125 hsa_signal_load_relaxed({handle=140281353621888}) = 1 -337766000075440:337766000175769 158125:158125 hsa_signal_wait_scacquire({handle=140281353621888}, 2, 1, 100000, 1) = 1 -337766000179296:337766000461138 158125:158125 hsa_signal_wait_scacquire({handle=140281353621888}, 2, 1, 18446744073709551615, 0) = 0 -337766000461739:337766000462079 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281353621888}, 0x7ffea16f3490) = 0 -337766000462971:337766000489281 158125:158125 hsa_amd_memory_unlock(0x7f95c88ff000) = 0 -337766000505762:337766000506042 158125:158125 hsa_signal_load_relaxed({handle=140281353621888}) = 0 -337766000506673:337766000506984 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 180 -337766000507535:337766000507866 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 180 -337766000508757:337766000509018 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353621760}, 1) = void -337766000509619:337766000509890 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 180 -337766000510491:337766000511112 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 180) = void -337766000518025:337766001193138 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c84fe000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337766001194421:337766001194721 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 181 -337766001195232:337766001195463 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 181 -337766001196074:337766001196575 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353621632}, 1) = void -337766001197116:337766001197376 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 181 -337766001197847:337766001198418 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 181) = void -337766001198969:337766001199240 158125:158125 hsa_signal_load_relaxed({handle=140281353621632}) = 1 -337766001199711:337766001199941 158125:158125 hsa_signal_load_relaxed({handle=140281353621632}) = 1 -337766001200432:337766001210711 158125:158125 hsa_signal_wait_scacquire({handle=140281353621632}, 2, 1, 10000, 1) = 1 -337766001211373:337766001211703 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353621504}, 1) = void -337766001212334:337766001213296 158125:158125 hsa_amd_memory_async_copy(0x7f9482800010, {handle=32855168}, 0x7f9484c00000, {handle=33084688}, 4194304, 1, 0x20a61d0, {handle=140281353621504}) = 0 -337766001213897:337766001214258 158125:158125 hsa_signal_load_relaxed({handle=140281353621632}) = 0 -337766001214799:337766001215390 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281353621632}, 0x7ffea16f3480) = 0 -337766001215911:337766001216142 158125:158125 hsa_signal_load_relaxed({handle=140281353621504}) = 1 -337766001216603:337766001316882 158125:158125 hsa_signal_wait_scacquire({handle=140281353621504}, 2, 1, 100000, 1) = 1 -337766001317363:337766001602110 158125:158125 hsa_signal_wait_scacquire({handle=140281353621504}, 2, 1, 18446744073709551615, 0) = 0 -337766001602701:337766001602991 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281353621504}, 0x7ffea16f3490) = 0 -337766001603763:337766001632747 158125:158125 hsa_amd_memory_unlock(0x7f95c84fe000) = 0 -337766001635012:337766001635332 158125:158125 hsa_signal_load_relaxed({handle=140281353621760}) = 0 -337766001635994:337766001636314 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281353621760}, 0x7ffea16f3570) = 0 -337766009960445:337766011966629 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c88ff000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337766011968422:337766011968943 158125:158125 hsa_signal_load_relaxed({handle=140281353621504}) = 0 -337766011970586:337766011970867 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307479936}, 1) = void -337766011971598:337766011972770 158125:158125 hsa_amd_memory_async_copy(0x7f95c0800000, {handle=33084688}, 0x7f9482800010, {handle=32855168}, 4194304, 0, 0, {handle=140281307479936}) = 0 -337766011973361:337766011973592 158125:158125 hsa_signal_load_relaxed({handle=140281307479936}) = 1 -337766011974163:337766012074652 158125:158125 hsa_signal_wait_scacquire({handle=140281307479936}, 2, 1, 100000, 1) = 1 -337766012075223:337766012361353 158125:158125 hsa_signal_wait_scacquire({handle=140281307479936}, 2, 1, 18446744073709551615, 0) = 0 -337766012362024:337766012362405 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281307479936}, 0x7ffea16f3490) = 0 -337766012363247:337766012389436 158125:158125 hsa_amd_memory_unlock(0x7f95c88ff000) = 0 -337766012406348:337766012406618 158125:158125 hsa_signal_load_relaxed({handle=140281307479936}) = 0 -337766012407280:337766012408081 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 182 -337766012408632:337766012408963 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 182 -337766012409774:337766012410015 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307479808}, 1) = void -337766012410606:337766012410876 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 182 -337766012411488:337766012412099 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 182) = void -337766012420214:337766013091620 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c84fe000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337766013092863:337766013093123 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 183 -337766013093634:337766013093875 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 183 -337766013094486:337766013094756 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307479680}, 1) = void -337766013095307:337766013095558 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 183 -337766013096049:337766013096620 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 183) = void -337766013097191:337766013097461 158125:158125 hsa_signal_load_relaxed({handle=140281307479680}) = 1 -337766013097942:337766013098173 158125:158125 hsa_signal_load_relaxed({handle=140281307479680}) = 1 -337766013098674:337766013108963 158125:158125 hsa_signal_wait_scacquire({handle=140281307479680}, 2, 1, 10000, 1) = 1 -337766013109594:337766013109825 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307479552}, 1) = void -337766013110436:337766013111468 158125:158125 hsa_amd_memory_async_copy(0x7f9482800010, {handle=32855168}, 0x7f9484c00000, {handle=33084688}, 4194304, 1, 0x20a6290, {handle=140281307479552}) = 0 -337766013112099:337766013112410 158125:158125 hsa_signal_load_relaxed({handle=140281307479680}) = 0 -337766013112941:337766013113522 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307479680}, 0x7ffea16f3480) = 0 -337766013115556:337766013115796 158125:158125 hsa_signal_load_relaxed({handle=140281307479552}) = 1 -337766013116287:337766013216566 158125:158125 hsa_signal_wait_scacquire({handle=140281307479552}, 2, 1, 100000, 1) = 1 -337766013217047:337766013495342 158125:158125 hsa_signal_wait_scacquire({handle=140281307479552}, 2, 1, 18446744073709551615, 0) = 0 -337766013495923:337766013496214 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281307479552}, 0x7ffea16f3490) = 0 -337766013496915:337766013523966 158125:158125 hsa_amd_memory_unlock(0x7f95c84fe000) = 0 -337766013526290:337766013526541 158125:158125 hsa_signal_load_relaxed({handle=140281307479808}) = 0 -337766013527072:337766013527352 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307479808}, 0x7ffea16f3570) = 0 -337766021800396:337766023798415 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c88ff000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337766023800339:337766023800679 158125:158125 hsa_signal_load_relaxed({handle=140281307479552}) = 0 -337766023801761:337766023802132 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307479424}, 1) = void -337766023803084:337766023804356 158125:158125 hsa_amd_memory_async_copy(0x7f95c0800000, {handle=33084688}, 0x7f9482800010, {handle=32855168}, 4194304, 0, 0, {handle=140281307479424}) = 0 -337766023804967:337766023805208 158125:158125 hsa_signal_load_relaxed({handle=140281307479424}) = 1 -337766023805889:337766023906218 158125:158125 hsa_signal_wait_scacquire({handle=140281307479424}, 2, 1, 100000, 1) = 1 -337766023906880:337766024192478 158125:158125 hsa_signal_wait_scacquire({handle=140281307479424}, 2, 1, 18446744073709551615, 0) = 0 -337766024193140:337766024193510 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281307479424}, 0x7ffea16f3490) = 0 -337766024194282:337766024220231 158125:158125 hsa_amd_memory_unlock(0x7f95c88ff000) = 0 -337766024238064:337766024238325 158125:158125 hsa_signal_load_relaxed({handle=140281307479424}) = 0 -337766024239136:337766024239527 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 184 -337766024240789:337766024241120 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 184 -337766024241922:337766024242192 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307479296}, 1) = void -337766024242953:337766024243224 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 184 -337766024243835:337766024244577 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 184) = void -337766024251039:337766024929739 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c84fe000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337766024930941:337766024931212 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 185 -337766024931723:337766024931983 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 185 -337766024932554:337766024932845 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307479168}, 1) = void -337766024933426:337766024933686 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 185 -337766024934157:337766024934738 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 185) = void -337766024935279:337766024935550 158125:158125 hsa_signal_load_relaxed({handle=140281307479168}) = 1 -337766024937814:337766024938065 158125:158125 hsa_signal_load_relaxed({handle=140281307479168}) = 1 -337766024938606:337766024948464 158125:158125 hsa_signal_wait_scacquire({handle=140281307479168}, 2, 1, 10000, 1) = 0 -337766024949085:337766024949326 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307479040}, 1) = void -337766024949947:337766024951029 158125:158125 hsa_amd_memory_async_copy(0x7f9482800010, {handle=32855168}, 0x7f9484c00000, {handle=33084688}, 4194304, 0, 0, {handle=140281307479040}) = 0 -337766024951620:337766024951851 158125:158125 hsa_signal_load_relaxed({handle=140281307479168}) = 0 -337766024952392:337766024952862 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307479168}, 0x7ffea16f3480) = 0 -337766024953393:337766024953624 158125:158125 hsa_signal_load_relaxed({handle=140281307479040}) = 1 -337766024954095:337766025054384 158125:158125 hsa_signal_wait_scacquire({handle=140281307479040}, 2, 1, 100000, 1) = 1 -337766025054865:337766025328781 158125:158125 hsa_signal_wait_scacquire({handle=140281307479040}, 2, 1, 18446744073709551615, 0) = 0 -337766025329373:337766025329653 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281307479040}, 0x7ffea16f3490) = 0 -337766025330475:337766025355662 158125:158125 hsa_amd_memory_unlock(0x7f95c84fe000) = 0 -337766025357365:337766025357696 158125:158125 hsa_signal_load_relaxed({handle=140281307479296}) = 0 -337766025358227:337766025358528 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307479296}, 0x7ffea16f3570) = 0 -337766033654786:337766035658164 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c88ff000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337766035660218:337766035660559 158125:158125 hsa_signal_load_relaxed({handle=140281307479040}) = 0 -337766035661571:337766035661851 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307478912}, 1) = void -337766035662572:337766035663755 158125:158125 hsa_amd_memory_async_copy(0x7f95c0800000, {handle=33084688}, 0x7f9482800010, {handle=32855168}, 4194304, 0, 0, {handle=140281307478912}) = 0 -337766035664346:337766035664576 158125:158125 hsa_signal_load_relaxed({handle=140281307478912}) = 1 -337766035665097:337766035765406 158125:158125 hsa_signal_wait_scacquire({handle=140281307478912}, 2, 1, 100000, 1) = 1 -337766035765897:337766036052067 158125:158125 hsa_signal_wait_scacquire({handle=140281307478912}, 2, 1, 18446744073709551615, 0) = 0 -337766036052778:337766036053259 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281307478912}, 0x7ffea16f3490) = 0 -337766036054031:337766036553874 158125:158125 hsa_amd_memory_unlock(0x7f95c88ff000) = 0 -337766036571928:337766036572248 158125:158125 hsa_signal_load_relaxed({handle=140281307478912}) = 0 -337766036572950:337766036573581 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 186 -337766036574482:337766036574733 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 186 -337766036575464:337766036575705 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307478784}, 1) = void -337766036576376:337766036576637 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 186 -337766036577238:337766036577979 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 186) = void -337766036587768:337766037266017 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c84fe000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337766037267229:337766037267510 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 187 -337766037268031:337766037268271 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 187 -337766037269173:337766037269473 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307478656}, 1) = void -337766037270064:337766037270315 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 187 -337766037270796:337766037271397 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 187) = void -337766037271978:337766037272239 158125:158125 hsa_signal_load_relaxed({handle=140281307478656}) = 1 -337766037272729:337766037272960 158125:158125 hsa_signal_load_relaxed({handle=140281307478656}) = 1 -337766037273461:337766037283770 158125:158125 hsa_signal_wait_scacquire({handle=140281307478656}, 2, 1, 10000, 1) = 1 -337766037284812:337766037285053 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307478528}, 1) = void -337766037285694:337766037286956 158125:158125 hsa_amd_memory_async_copy(0x7f9482800010, {handle=32855168}, 0x7f9484c00000, {handle=33084688}, 4194304, 1, 0x20a64b0, {handle=140281307478528}) = 0 -337766037287608:337766037287928 158125:158125 hsa_signal_load_relaxed({handle=140281307478656}) = 0 -337766037288469:337766037289040 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307478656}, 0x7ffea16f3480) = 0 -337766037289571:337766037289802 158125:158125 hsa_signal_load_relaxed({handle=140281307478528}) = 1 -337766037290303:337766037390572 158125:158125 hsa_signal_wait_scacquire({handle=140281307478528}, 2, 1, 100000, 1) = 1 -337766037391053:337766037672834 158125:158125 hsa_signal_wait_scacquire({handle=140281307478528}, 2, 1, 18446744073709551615, 0) = 0 -337766037673405:337766037673706 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281307478528}, 0x7ffea16f3490) = 0 -337766037674467:337766037702931 158125:158125 hsa_amd_memory_unlock(0x7f95c84fe000) = 0 -337766037705015:337766037705335 158125:158125 hsa_signal_load_relaxed({handle=140281307478784}) = 0 -337766037705876:337766037706157 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307478784}, 0x7ffea16f3570) = 0 -337766045990242:337766047961009 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c88ff000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337766047962983:337766047963273 158125:158125 hsa_signal_load_relaxed({handle=140281307478528}) = 0 -337766047964305:337766047964666 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307478400}, 1) = void -337766047965397:337766047966680 158125:158125 hsa_amd_memory_async_copy(0x7f95c0800000, {handle=33084688}, 0x7f9482800010, {handle=32855168}, 4194304, 0, 0, {handle=140281307478400}) = 0 -337766047967411:337766047967642 158125:158125 hsa_signal_load_relaxed({handle=140281307478400}) = 1 -337766047968653:337766048069133 158125:158125 hsa_signal_wait_scacquire({handle=140281307478400}, 2, 1, 100000, 1) = 1 -337766048069674:337766048354161 158125:158125 hsa_signal_wait_scacquire({handle=140281307478400}, 2, 1, 18446744073709551615, 0) = 0 -337766048354822:337766048355173 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281307478400}, 0x7ffea16f3490) = 0 -337766048355934:337766048383336 158125:158125 hsa_amd_memory_unlock(0x7f95c88ff000) = 0 -337766048402632:337766048402933 158125:158125 hsa_signal_load_relaxed({handle=140281307478400}) = 0 -337766048403654:337766048404065 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 188 -337766048404776:337766048405107 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 188 -337766048406449:337766048406690 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307478272}, 1) = void -337766048407281:337766048407551 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 188 -337766048408072:337766048408683 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 188) = void -337766048415767:337766049083116 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c84fe000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337766049084348:337766049084648 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 189 -337766049085159:337766049085410 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 189 -337766049086211:337766049086502 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307478144}, 1) = void -337766049087083:337766049087343 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 189 -337766049087824:337766049088426 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 189) = void -337766049088977:337766049089257 158125:158125 hsa_signal_load_relaxed({handle=140281307478144}) = 1 -337766049089738:337766049089968 158125:158125 hsa_signal_load_relaxed({handle=140281307478144}) = 1 -337766049090469:337766049100759 158125:158125 hsa_signal_wait_scacquire({handle=140281307478144}, 2, 1, 10000, 1) = 1 -337766049101831:337766049102071 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307478016}, 1) = void -337766049102712:337766049103754 158125:158125 hsa_amd_memory_async_copy(0x7f9482800010, {handle=32855168}, 0x7f9484c00000, {handle=33084688}, 4194304, 1, 0x20a65c0, {handle=140281307478016}) = 0 -337766049104366:337766049104676 158125:158125 hsa_signal_load_relaxed({handle=140281307478144}) = 0 -337766049105237:337766049105838 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307478144}, 0x7ffea16f3480) = 0 -337766049106339:337766049106580 158125:158125 hsa_signal_load_relaxed({handle=140281307478016}) = 1 -337766049107051:337766049207330 158125:158125 hsa_signal_wait_scacquire({handle=140281307478016}, 2, 1, 100000, 1) = 1 -337766049207791:337766049487188 158125:158125 hsa_signal_wait_scacquire({handle=140281307478016}, 2, 1, 18446744073709551615, 0) = 0 -337766049487759:337766049488059 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281307478016}, 0x7ffea16f3490) = 0 -337766049488821:337766049513417 158125:158125 hsa_amd_memory_unlock(0x7f95c84fe000) = 0 -337766049515221:337766049515471 158125:158125 hsa_signal_load_relaxed({handle=140281307478272}) = 0 -337766049515992:337766049516263 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307478272}, 0x7ffea16f3570) = 0 -337766058042715:337766060021757 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c88ff000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337766060023691:337766060024042 158125:158125 hsa_signal_load_relaxed({handle=140281307478016}) = 0 -337766060028009:337766060028400 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307477888}, 1) = void -337766060029171:337766060030404 158125:158125 hsa_amd_memory_async_copy(0x7f95c0800000, {handle=33084688}, 0x7f9482800010, {handle=32855168}, 4194304, 0, 0, {handle=140281307477888}) = 0 -337766060031025:337766060031265 158125:158125 hsa_signal_load_relaxed({handle=140281307477888}) = 1 -337766060031766:337766060132095 158125:158125 hsa_signal_wait_scacquire({handle=140281307477888}, 2, 1, 100000, 1) = 1 -337766060132596:337766060418095 158125:158125 hsa_signal_wait_scacquire({handle=140281307477888}, 2, 1, 18446744073709551615, 0) = 0 -337766060418866:337766060422804 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281307477888}, 0x7ffea16f3490) = 0 -337766060423675:337766060451097 158125:158125 hsa_amd_memory_unlock(0x7f95c88ff000) = 0 -337766060469051:337766060469352 158125:158125 hsa_signal_load_relaxed({handle=140281307477888}) = 0 -337766060470043:337766060470363 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 190 -337766060471075:337766060471496 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 190 -337766060472377:337766060472608 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307477760}, 1) = void -337766060473409:337766060473690 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 190 -337766060474281:337766060475022 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 190) = void -337766060482336:337766061161517 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c84fe000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337766061162669:337766061162950 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 191 -337766061163461:337766061163701 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 191 -337766061164302:337766061164593 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307477632}, 1) = void -337766061165164:337766061165445 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 191 -337766061165935:337766061166517 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 191) = void -337766061167078:337766061167318 158125:158125 hsa_signal_load_relaxed({handle=140281307477632}) = 1 -337766061167789:337766061168019 158125:158125 hsa_signal_load_relaxed({handle=140281307477632}) = 1 -337766061168510:337766061178800 158125:158125 hsa_signal_wait_scacquire({handle=140281307477632}, 2, 1, 10000, 1) = 1 -337766061179451:337766061179772 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353623040}, 1) = void -337766061180413:337766061181505 158125:158125 hsa_amd_memory_async_copy(0x7f9482800010, {handle=32855168}, 0x7f9484c00000, {handle=33084688}, 4194304, 1, 0x20a66d0, {handle=140281353623040}) = 0 -337766061182136:337766061182457 158125:158125 hsa_signal_load_relaxed({handle=140281307477632}) = 0 -337766061182988:337766061183549 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307477632}, 0x7ffea16f3480) = 0 -337766061184601:337766061184841 158125:158125 hsa_signal_load_relaxed({handle=140281353623040}) = 1 -337766061185322:337766061285601 158125:158125 hsa_signal_wait_scacquire({handle=140281353623040}, 2, 1, 100000, 1) = 1 -337766061287475:337766061564738 158125:158125 hsa_signal_wait_scacquire({handle=140281353623040}, 2, 1, 18446744073709551615, 0) = 0 -337766061565319:337766061565609 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281353623040}, 0x7ffea16f3490) = 0 -337766061566341:337766061593602 158125:158125 hsa_amd_memory_unlock(0x7f95c84fe000) = 0 -337766061595345:337766061595606 158125:158125 hsa_signal_load_relaxed({handle=140281307477760}) = 0 -337766061596147:337766061596457 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307477760}, 0x7ffea16f3570) = 0 -337766069889398:337766071846970 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c88ff000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337766071848763:337766071849334 158125:158125 hsa_signal_load_relaxed({handle=140281353623040}) = 0 -337766071850426:337766071850787 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353622912}, 1) = void -337766071851638:337766071853141 158125:158125 hsa_amd_memory_async_copy(0x7f95c0800000, {handle=33084688}, 0x7f9482800010, {handle=32855168}, 4194304, 0, 0, {handle=140281353622912}) = 0 -337766071853803:337766071854043 158125:158125 hsa_signal_load_relaxed({handle=140281353622912}) = 1 -337766071854544:337766071954873 158125:158125 hsa_signal_wait_scacquire({handle=140281353622912}, 2, 1, 100000, 1) = 1 -337766071955454:337766072240943 158125:158125 hsa_signal_wait_scacquire({handle=140281353622912}, 2, 1, 18446744073709551615, 0) = 0 -337766072241574:337766072242035 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281353622912}, 0x7ffea16f3490) = 0 -337766072243467:337766072271570 158125:158125 hsa_amd_memory_unlock(0x7f95c88ff000) = 0 -337766072289114:337766072289384 158125:158125 hsa_signal_load_relaxed({handle=140281353622912}) = 0 -337766072290747:337766072291067 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 192 -337766072291688:337766072292109 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 192 -337766072293141:337766072293482 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353622784}, 1) = void -337766072294343:337766072294604 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 192 -337766072295205:337766072295816 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 192) = void -337766072303110:337766072973114 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c84fe000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337766072974316:337766072974606 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 193 -337766072975117:337766072975368 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 193 -337766072975909:337766072976300 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353622656}, 1) = void -337766072976881:337766072977141 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 193 -337766072977642:337766072978223 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 193) = void -337766072978774:337766072979045 158125:158125 hsa_signal_load_relaxed({handle=140281353622656}) = 1 -337766072979516:337766072979756 158125:158125 hsa_signal_load_relaxed({handle=140281353622656}) = 1 -337766072980247:337766072990557 158125:158125 hsa_signal_wait_scacquire({handle=140281353622656}, 2, 1, 10000, 1) = 1 -337766072992560:337766072992901 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353622528}, 1) = void -337766072993572:337766072994634 158125:158125 hsa_amd_memory_async_copy(0x7f9482800010, {handle=32855168}, 0x7f9484c00000, {handle=33084688}, 4194304, 1, 0x20a67e0, {handle=140281353622528}) = 0 -337766072995316:337766072995556 158125:158125 hsa_signal_load_relaxed({handle=140281353622656}) = 0 -337766072996107:337766072996598 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281353622656}, 0x7ffea16f3480) = 0 -337766072997129:337766072997359 158125:158125 hsa_signal_load_relaxed({handle=140281353622528}) = 1 -337766072997850:337766073098129 158125:158125 hsa_signal_wait_scacquire({handle=140281353622528}, 2, 1, 100000, 1) = 1 -337766073098610:337766073378418 158125:158125 hsa_signal_wait_scacquire({handle=140281353622528}, 2, 1, 18446744073709551615, 0) = 0 -337766073378999:337766073379300 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281353622528}, 0x7ffea16f3490) = 0 -337766073380131:337766073405820 158125:158125 hsa_amd_memory_unlock(0x7f95c84fe000) = 0 -337766073407613:337766073407884 158125:158125 hsa_signal_load_relaxed({handle=140281353622784}) = 0 -337766073408405:337766073408685 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281353622784}, 0x7ffea16f3570) = 0 -337766081685276:337766083722919 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c88ff000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337766083725073:337766083725624 158125:158125 hsa_signal_load_relaxed({handle=140281353622528}) = 0 -337766083726636:337766083726997 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353622400}, 1) = void -337766083727648:337766083728820 158125:158125 hsa_amd_memory_async_copy(0x7f95c0800000, {handle=33084688}, 0x7f9482800010, {handle=32855168}, 4194304, 0, 0, {handle=140281353622400}) = 0 -337766083729602:337766083729832 158125:158125 hsa_signal_load_relaxed({handle=140281353622400}) = 1 -337766083730443:337766083830773 158125:158125 hsa_signal_wait_scacquire({handle=140281353622400}, 2, 1, 100000, 1) = 1 -337766083831344:337766084117333 158125:158125 hsa_signal_wait_scacquire({handle=140281353622400}, 2, 1, 18446744073709551615, 0) = 0 -337766084117924:337766084118415 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281353622400}, 0x7ffea16f3490) = 0 -337766084119177:337766084146168 158125:158125 hsa_amd_memory_unlock(0x7f95c88ff000) = 0 -337766084163651:337766084163931 158125:158125 hsa_signal_load_relaxed({handle=140281353622400}) = 0 -337766084164632:337766084164943 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 194 -337766084165584:337766084166005 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 194 -337766084166907:337766084167147 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353622272}, 1) = void -337766084167738:337766084167999 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 194 -337766084168590:337766084169181 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 194) = void -337766084176725:337766084846989 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c84fe000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337766084848182:337766084848452 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 195 -337766084850797:337766084851067 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 195 -337766084851668:337766084851959 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353622144}, 1) = void -337766084852540:337766084852800 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 195 -337766084853271:337766084853852 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 195) = void -337766084854403:337766084854684 158125:158125 hsa_signal_load_relaxed({handle=140281353622144}) = 1 -337766084855155:337766084855385 158125:158125 hsa_signal_load_relaxed({handle=140281353622144}) = 1 -337766084855876:337766084866186 158125:158125 hsa_signal_wait_scacquire({handle=140281353622144}, 2, 1, 10000, 1) = 1 -337766084866787:337766084867027 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353622016}, 1) = void -337766084867729:337766084868710 158125:158125 hsa_amd_memory_async_copy(0x7f9482800010, {handle=32855168}, 0x7f9484c00000, {handle=33084688}, 4194304, 1, 0x20a68f0, {handle=140281353622016}) = 0 -337766084869322:337766084869672 158125:158125 hsa_signal_load_relaxed({handle=140281353622144}) = 0 -337766084870193:337766084870684 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281353622144}, 0x7ffea16f3480) = 0 -337766084871205:337766084871436 158125:158125 hsa_signal_load_relaxed({handle=140281353622016}) = 1 -337766084871906:337766084972196 158125:158125 hsa_signal_wait_scacquire({handle=140281353622016}, 2, 1, 100000, 1) = 1 -337766084972656:337766085252274 158125:158125 hsa_signal_wait_scacquire({handle=140281353622016}, 2, 1, 18446744073709551615, 0) = 0 -337766085252985:337766085253276 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281353622016}, 0x7ffea16f3490) = 0 -337766085254037:337766085279004 158125:158125 hsa_amd_memory_unlock(0x7f95c84fe000) = 0 -337766085280728:337766085280988 158125:158125 hsa_signal_load_relaxed({handle=140281353622272}) = 0 -337766085281519:337766085281800 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281353622272}, 0x7ffea16f3570) = 0 -337766093584169:337766095598198 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c88ff000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337766095600071:337766095600632 158125:158125 hsa_signal_load_relaxed({handle=140281353622016}) = 0 -337766095601694:337766095601985 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353621888}, 1) = void -337766095602716:337766095604359 158125:158125 hsa_amd_memory_async_copy(0x7f95c0800000, {handle=33084688}, 0x7f9482800010, {handle=32855168}, 4194304, 0, 0, {handle=140281353621888}) = 0 -337766095605051:337766095605291 158125:158125 hsa_signal_load_relaxed({handle=140281353621888}) = 1 -337766095605972:337766095706302 158125:158125 hsa_signal_wait_scacquire({handle=140281353621888}, 2, 1, 100000, 1) = 1 -337766095706783:337766095990047 158125:158125 hsa_signal_wait_scacquire({handle=140281353621888}, 2, 1, 18446744073709551615, 0) = 0 -337766095990608:337766095991169 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281353621888}, 0x7ffea16f3490) = 0 -337766095991930:337766096021727 158125:158125 hsa_amd_memory_unlock(0x7f95c88ff000) = 0 -337766096039741:337766096040061 158125:158125 hsa_signal_load_relaxed({handle=140281353621888}) = 0 -337766096040712:337766096041123 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 196 -337766096042776:337766096043207 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 196 -337766096044199:337766096044449 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353621760}, 1) = void -337766096045141:337766096045411 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 196 -337766096045962:337766096046573 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 196) = void -337766096054038:337766096730503 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c84fe000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337766096731796:337766096732096 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 197 -337766096732587:337766096732828 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 197 -337766096733409:337766096733870 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353621632}, 1) = void -337766096734431:337766096734701 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 197 -337766096735202:337766096735773 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 197) = void -337766096736324:337766096736585 158125:158125 hsa_signal_load_relaxed({handle=140281353621632}) = 1 -337766096737076:337766096737306 158125:158125 hsa_signal_load_relaxed({handle=140281353621632}) = 1 -337766096737797:337766096748097 158125:158125 hsa_signal_wait_scacquire({handle=140281353621632}, 2, 1, 10000, 1) = 1 -337766096748738:337766096749078 158125:158125 hsa_signal_silent_store_relaxed({handle=140281353621504}, 1) = void -337766096749740:337766096750972 158125:158125 hsa_amd_memory_async_copy(0x7f9482800010, {handle=32855168}, 0x7f9484c00000, {handle=33084688}, 4194304, 1, 0x24a4cd0, {handle=140281353621504}) = 0 -337766096751583:337766096751944 158125:158125 hsa_signal_load_relaxed({handle=140281353621632}) = 0 -337766096752465:337766096752946 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281353621632}, 0x7ffea16f3480) = 0 -337766096753467:337766096753697 158125:158125 hsa_signal_load_relaxed({handle=140281353621504}) = 1 -337766096754178:337766096854467 158125:158125 hsa_signal_wait_scacquire({handle=140281353621504}, 2, 1, 100000, 1) = 1 -337766096855038:337766097135878 158125:158125 hsa_signal_wait_scacquire({handle=140281353621504}, 2, 1, 18446744073709551615, 0) = 0 -337766097136579:337766097136880 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281353621504}, 0x7ffea16f3490) = 0 -337766097137591:337766097163159 158125:158125 hsa_amd_memory_unlock(0x7f95c84fe000) = 0 -337766097165033:337766097165283 158125:158125 hsa_signal_load_relaxed({handle=140281353621760}) = 0 -337766097165825:337766097166095 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281353621760}, 0x7ffea16f3570) = 0 -337766105481289:337766107504425 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c88ff000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337766107506198:337766107506979 158125:158125 hsa_signal_load_relaxed({handle=140281353621504}) = 0 -337766107508412:337766107508783 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307479936}, 1) = void -337766107509554:337766107510656 158125:158125 hsa_amd_memory_async_copy(0x7f95c0800000, {handle=33084688}, 0x7f9482800010, {handle=32855168}, 4194304, 0, 0, {handle=140281307479936}) = 0 -337766107514163:337766107514403 158125:158125 hsa_signal_load_relaxed({handle=140281307479936}) = 1 -337766107514914:337766107615244 158125:158125 hsa_signal_wait_scacquire({handle=140281307479936}, 2, 1, 100000, 1) = 1 -337766107615735:337766107898718 158125:158125 hsa_signal_wait_scacquire({handle=140281307479936}, 2, 1, 18446744073709551615, 0) = 0 -337766107899369:337766107899900 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281307479936}, 0x7ffea16f3490) = 0 -337766107900732:337766107926871 158125:158125 hsa_amd_memory_unlock(0x7f95c88ff000) = 0 -337766107943072:337766107943342 158125:158125 hsa_signal_load_relaxed({handle=140281307479936}) = 0 -337766107943954:337766107944264 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 198 -337766107944925:337766107945336 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 198 -337766107946148:337766107946398 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307479808}, 1) = void -337766107946989:337766107947260 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 198 -337766107947851:337766107948462 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 198) = void -337766107955966:337766108629176 158125:158125 hsa_amd_memory_lock_to_pool(0x7f95c84fe000, 4198400, 0, 0, {handle=32849952}, 0, 0x27132a8) = 0 -337766108630499:337766108630799 158125:158125 hsa_queue_add_write_index_screlease(0x7f95ca198000, 1) = 199 -337766108631340:337766108631591 158125:158125 hsa_queue_load_read_index_relaxed(0x7f95ca198000) = 199 -337766108632412:337766108632723 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307479680}, 1) = void -337766108633314:337766108633574 158125:158125 hsa_queue_load_read_index_scacquire(0x7f95ca198000) = 199 -337766108634055:337766108634666 158125:158125 hsa_signal_store_screlease({handle=140281353624576}, 199) = void -337766108635237:337766108635498 158125:158125 hsa_signal_load_relaxed({handle=140281307479680}) = 1 -337766108635979:337766108636219 158125:158125 hsa_signal_load_relaxed({handle=140281307479680}) = 1 -337766108636720:337766108647030 158125:158125 hsa_signal_wait_scacquire({handle=140281307479680}, 2, 1, 10000, 1) = 1 -337766108648062:337766108648292 158125:158125 hsa_signal_silent_store_relaxed({handle=140281307479552}, 1) = void -337766108648953:337766108650045 158125:158125 hsa_amd_memory_async_copy(0x7f9482800010, {handle=32855168}, 0x7f9484c00000, {handle=33084688}, 4194304, 1, 0x24a4de0, {handle=140281307479552}) = 0 -337766108650687:337766108651007 158125:158125 hsa_signal_load_relaxed({handle=140281307479680}) = 0 -337766108651538:337766108652119 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307479680}, 0x7ffea16f3480) = 0 -337766108652650:337766108652881 158125:158125 hsa_signal_load_relaxed({handle=140281307479552}) = 1 -337766108653372:337766108753661 158125:158125 hsa_signal_wait_scacquire({handle=140281307479552}, 2, 1, 100000, 1) = 1 -337766108754132:337766109034991 158125:158125 hsa_signal_wait_scacquire({handle=140281307479552}, 2, 1, 18446744073709551615, 0) = 0 -337766109035583:337766109035873 158125:158125 hsa_amd_profiling_get_async_copy_time({handle=140281307479552}, 0x7ffea16f3490) = 0 -337766109036715:337766109062062 158125:158125 hsa_amd_memory_unlock(0x7f95c84fe000) = 0 -337766109065329:337766109065599 158125:158125 hsa_signal_load_relaxed({handle=140281307479808}) = 0 -337766109066130:337766109066411 158125:158125 hsa_amd_profiling_get_dispatch_time({handle=33084688}, {handle=140281307479808}, 0x7ffea16f3570) = 0 -337766117340296:337766117363280 158125:158125 hsa_amd_memory_pool_free(0x7f95c0800000) = 0 -337766117367007:337766117378609 158125:158125 hsa_amd_memory_pool_free(0x7f9484c00000) = 0 -337764703613051:337764703615786 158125:158125 hipGetDeviceProperties(props={}, device=0) :1 -337764704442075:337764704580366 158125:158125 hipMalloc(ptr=0x7f95c0800000, size=4194304) :2 -337764704581889:337764704737823 158125:158125 hipMalloc(ptr=0x7f9484c00000, size=4194304) :3 -337764704752891:337764922533350 158125:158125 hipMemcpy(dst=0x7f95c0800000, src=0x7f95c88ff010, sizeBytes=4194304, kind=1) :4 -337764922562495:337764922564128 158125:158125 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :6 -337764922566293:337764922566894 158125:158125 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :7 -337764922569459:337764923031149 158125:158125 hipLaunchKernel(function_address=0x200ee0, numBlocks={}, dimBlocks={}, args=0x7ffea16f38c8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :8 -337764923047921:337764925574527 158125:158125 hipMemcpy(dst=0x7f95c84fe010, src=0x7f9484c00000, sizeBytes=4194304, kind=2) :10 -337764938684604:337764941181393 158125:158125 hipMemcpy(dst=0x7f95c0800000, src=0x7f95c88ff010, sizeBytes=4194304, kind=1) :11 -337764941188697:337764941189108 158125:158125 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :13 -337764941190230:337764941190701 158125:158125 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :14 -337764941194668:337764941210328 158125:158125 hipLaunchKernel(function_address=0x200ee0, numBlocks={}, dimBlocks={}, args=0x7ffea16f38c8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :15 -337764941214015:337764942339087 158125:158125 hipMemcpy(dst=0x7f95c84fe010, src=0x7f9484c00000, sizeBytes=4194304, kind=2) :17 -337764950623693:337764953056311 158125:158125 hipMemcpy(dst=0x7f95c0800000, src=0x7f95c88ff010, sizeBytes=4194304, kind=1) :18 -337764953063685:337764953064206 158125:158125 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :20 -337764953065609:337764953066049 158125:158125 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :21 -337764953067041:337764953079134 158125:158125 hipLaunchKernel(function_address=0x200ee0, numBlocks={}, dimBlocks={}, args=0x7ffea16f38c8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :22 -337764953083192:337764954180501 158125:158125 hipMemcpy(dst=0x7f95c84fe010, src=0x7f9484c00000, sizeBytes=4194304, kind=2) :24 -337764962423108:337764964979740 158125:158125 hipMemcpy(dst=0x7f95c0800000, src=0x7f95c88ff010, sizeBytes=4194304, kind=1) :25 -337764964984519:337764964985050 158125:158125 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :27 -337764964986002:337764964986443 158125:158125 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :28 -337764964988627:337764964999588 158125:158125 hipLaunchKernel(function_address=0x200ee0, numBlocks={}, dimBlocks={}, args=0x7ffea16f38c8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :29 -337764965002904:337764966123257 158125:158125 hipMemcpy(dst=0x7f95c84fe010, src=0x7f9484c00000, sizeBytes=4194304, kind=2) :31 -337764974365011:337764977266363 158125:158125 hipMemcpy(dst=0x7f95c0800000, src=0x7f95c88ff010, sizeBytes=4194304, kind=1) :32 -337764977273266:337764977273797 158125:158125 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :34 -337764977274759:337764977275220 158125:158125 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :35 -337764977276171:337764977287002 158125:158125 hipLaunchKernel(function_address=0x200ee0, numBlocks={}, dimBlocks={}, args=0x7ffea16f38c8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :36 -337764977291550:337764978407134 158125:158125 hipMemcpy(dst=0x7f95c84fe010, src=0x7f9484c00000, sizeBytes=4194304, kind=2) :38 -337764986653789:337764989132825 158125:158125 hipMemcpy(dst=0x7f95c0800000, src=0x7f95c88ff010, sizeBytes=4194304, kind=1) :39 -337764989138095:337764989138666 158125:158125 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :41 -337764989139617:337764989140068 158125:158125 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :42 -337764989143615:337764989154375 158125:158125 hipLaunchKernel(function_address=0x200ee0, numBlocks={}, dimBlocks={}, args=0x7ffea16f38c8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :43 -337764989158022:337764990265090 158125:158125 hipMemcpy(dst=0x7f95c84fe010, src=0x7f9484c00000, sizeBytes=4194304, kind=2) :45 -337764998786773:337765001226896 158125:158125 hipMemcpy(dst=0x7f95c0800000, src=0x7f95c88ff010, sizeBytes=4194304, kind=1) :46 -337765001234560:337765001235011 158125:158125 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :48 -337765001235843:337765001236294 158125:158125 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :49 -337765001237235:337765001247825 158125:158125 hipLaunchKernel(function_address=0x200ee0, numBlocks={}, dimBlocks={}, args=0x7ffea16f38c8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :50 -337765001252113:337765002370653 158125:158125 hipMemcpy(dst=0x7f95c84fe010, src=0x7f9484c00000, sizeBytes=4194304, kind=2) :52 -337765010705494:337765013159863 158125:158125 hipMemcpy(dst=0x7f95c0800000, src=0x7f95c88ff010, sizeBytes=4194304, kind=1) :53 -337765013164893:337765013165353 158125:158125 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :55 -337765013166506:337765013166976 158125:158125 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :56 -337765013170443:337765013182155 158125:158125 hipLaunchKernel(function_address=0x200ee0, numBlocks={}, dimBlocks={}, args=0x7ffea16f38c8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :57 -337765013185662:337765014295144 158125:158125 hipMemcpy(dst=0x7f95c84fe010, src=0x7f9484c00000, sizeBytes=4194304, kind=2) :59 -337765022617712:337765025088462 158125:158125 hipMemcpy(dst=0x7f95c0800000, src=0x7f95c88ff010, sizeBytes=4194304, kind=1) :60 -337765025095195:337765025095586 158125:158125 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :62 -337765025096567:337765025097018 158125:158125 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :63 -337765025097990:337765025108670 158125:158125 hipLaunchKernel(function_address=0x200ee0, numBlocks={}, dimBlocks={}, args=0x7ffea16f38c8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :64 -337765025112798:337765026232400 158125:158125 hipMemcpy(dst=0x7f95c84fe010, src=0x7f9484c00000, sizeBytes=4194304, kind=2) :66 -337765034457684:337765036908086 158125:158125 hipMemcpy(dst=0x7f95c0800000, src=0x7f95c88ff010, sizeBytes=4194304, kind=1) :67 -337765036913035:337765036913426 158125:158125 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :69 -337765036914247:337765036914708 158125:158125 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :70 -337765036918836:337765036929165 158125:158125 hipLaunchKernel(function_address=0x200ee0, numBlocks={}, dimBlocks={}, args=0x7ffea16f38c8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :71 -337765036932752:337765038039760 158125:158125 hipMemcpy(dst=0x7f95c84fe010, src=0x7f9484c00000, sizeBytes=4194304, kind=2) :73 -337765046315278:337765048767192 158125:158125 hipMemcpy(dst=0x7f95c0800000, src=0x7f95c88ff010, sizeBytes=4194304, kind=1) :74 -337765048774425:337765048774806 158125:158125 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :76 -337765048775738:337765048776078 158125:158125 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :77 -337765048777030:337765048788001 158125:158125 hipLaunchKernel(function_address=0x200ee0, numBlocks={}, dimBlocks={}, args=0x7ffea16f38c8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :78 -337765048793040:337765049915989 158125:158125 hipMemcpy(dst=0x7f95c84fe010, src=0x7f9484c00000, sizeBytes=4194304, kind=2) :80 -337765058187129:337765060574001 158125:158125 hipMemcpy(dst=0x7f95c0800000, src=0x7f95c88ff010, sizeBytes=4194304, kind=1) :81 -337765060578850:337765060579231 158125:158125 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :83 -337765060580163:337765060580503 158125:158125 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :84 -337765060584280:337765060595902 158125:158125 hipLaunchKernel(function_address=0x200ee0, numBlocks={}, dimBlocks={}, args=0x7ffea16f38c8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :85 -337765060599449:337765061740842 158125:158125 hipMemcpy(dst=0x7f95c84fe010, src=0x7f9484c00000, sizeBytes=4194304, kind=2) :87 -337765069951218:337765072362576 158125:158125 hipMemcpy(dst=0x7f95c0800000, src=0x7f95c88ff010, sizeBytes=4194304, kind=1) :88 -337765072369058:337765072369489 158125:158125 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :90 -337765072370421:337765072370821 158125:158125 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :91 -337765072371773:337765072381732 158125:158125 hipLaunchKernel(function_address=0x200ee0, numBlocks={}, dimBlocks={}, args=0x7ffea16f38c8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :92 -337765072386431:337765073501153 158125:158125 hipMemcpy(dst=0x7f95c84fe010, src=0x7f9484c00000, sizeBytes=4194304, kind=2) :94 -337765081732048:337765084159937 158125:158125 hipMemcpy(dst=0x7f95c0800000, src=0x7f95c88ff010, sizeBytes=4194304, kind=1) :95 -337765084165328:337765084165688 158125:158125 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :97 -337765084170227:337765084170567 158125:158125 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :98 -337765084171619:337765084182320 158125:158125 hipLaunchKernel(function_address=0x200ee0, numBlocks={}, dimBlocks={}, args=0x7ffea16f38c8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :99 -337765084185656:337765085297784 158125:158125 hipMemcpy(dst=0x7f95c84fe010, src=0x7f9484c00000, sizeBytes=4194304, kind=2) :101 -337765093537775:337765096025317 158125:158125 hipMemcpy(dst=0x7f95c0800000, src=0x7f95c88ff010, sizeBytes=4194304, kind=1) :102 -337765096032892:337765096033272 158125:158125 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :104 -337765096034655:337765096034985 158125:158125 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :105 -337765096035937:337765096046277 158125:158125 hipLaunchKernel(function_address=0x200ee0, numBlocks={}, dimBlocks={}, args=0x7ffea16f38c8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :106 -337765096050314:337765097356057 158125:158125 hipMemcpy(dst=0x7f95c84fe010, src=0x7f9484c00000, sizeBytes=4194304, kind=2) :108 -337765105649560:337765108080996 158125:158125 hipMemcpy(dst=0x7f95c0800000, src=0x7f95c88ff010, sizeBytes=4194304, kind=1) :109 -337765108086076:337765108086627 158125:158125 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :111 -337765108091215:337765108091636 158125:158125 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :112 -337765108092828:337765108106043 158125:158125 hipLaunchKernel(function_address=0x200ee0, numBlocks={}, dimBlocks={}, args=0x7ffea16f38c8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :113 -337765108109790:337765109224292 158125:158125 hipMemcpy(dst=0x7f95c84fe010, src=0x7f9484c00000, sizeBytes=4194304, kind=2) :115 -337765117727170:337765120171099 158125:158125 hipMemcpy(dst=0x7f95c0800000, src=0x7f95c88ff010, sizeBytes=4194304, kind=1) :116 -337765120177231:337765120177742 158125:158125 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :118 -337765120178804:337765120179125 158125:158125 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :119 -337765120180006:337765120191999 158125:158125 hipLaunchKernel(function_address=0x200ee0, numBlocks={}, dimBlocks={}, args=0x7ffea16f38c8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :120 -337765120196457:337765121307212 158125:158125 hipMemcpy(dst=0x7f95c84fe010, src=0x7f9484c00000, sizeBytes=4194304, kind=2) :122 -337765129537163:337765131980392 158125:158125 hipMemcpy(dst=0x7f95c0800000, src=0x7f95c88ff010, sizeBytes=4194304, kind=1) :123 -337765131984740:337765131985341 158125:158125 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :125 -337765131987676:337765131988016 158125:158125 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :126 -337765131989018:337765131999758 158125:158125 hipLaunchKernel(function_address=0x200ee0, numBlocks={}, dimBlocks={}, args=0x7ffea16f38c8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :127 -337765132011340:337765133127245 158125:158125 hipMemcpy(dst=0x7f95c84fe010, src=0x7f9484c00000, sizeBytes=4194304, kind=2) :129 -337765141404317:337765143867803 158125:158125 hipMemcpy(dst=0x7f95c0800000, src=0x7f95c88ff010, sizeBytes=4194304, kind=1) :130 -337765143875017:337765143875528 158125:158125 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :132 -337765143876369:337765143876690 158125:158125 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :133 -337765143877562:337765143889744 158125:158125 hipLaunchKernel(function_address=0x200ee0, numBlocks={}, dimBlocks={}, args=0x7ffea16f38c8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :134 -337765143894754:337765145003225 158125:158125 hipMemcpy(dst=0x7f95c84fe010, src=0x7f9484c00000, sizeBytes=4194304, kind=2) :136 -337765153330852:337765155802584 158125:158125 hipMemcpy(dst=0x7f95c0800000, src=0x7f95c88ff010, sizeBytes=4194304, kind=1) :137 -337765155807283:337765155807814 158125:158125 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :139 -337765155811080:337765155811430 158125:158125 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :140 -337765155812422:337765155823523 158125:158125 hipLaunchKernel(function_address=0x200ee0, numBlocks={}, dimBlocks={}, args=0x7ffea16f38c8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :141 -337765155826960:337765156943876 158125:158125 hipMemcpy(dst=0x7f95c84fe010, src=0x7f9484c00000, sizeBytes=4194304, kind=2) :143 -337765165226198:337765167700264 158125:158125 hipMemcpy(dst=0x7f95c0800000, src=0x7f95c88ff010, sizeBytes=4194304, kind=1) :144 -337765167705424:337765167705855 158125:158125 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :146 -337765167706757:337765167707087 158125:158125 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :147 -337765167708179:337765167720783 158125:158125 hipLaunchKernel(function_address=0x200ee0, numBlocks={}, dimBlocks={}, args=0x7ffea16f38c8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :148 -337765167725672:337765168845485 158125:158125 hipMemcpy(dst=0x7f95c84fe010, src=0x7f9484c00000, sizeBytes=4194304, kind=2) :150 -337765177111916:337765179504549 158125:158125 hipMemcpy(dst=0x7f95c0800000, src=0x7f95c88ff010, sizeBytes=4194304, kind=1) :151 -337765179509078:337765179509548 158125:158125 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :153 -337765179512033:337765179512364 158125:158125 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :154 -337765179513296:337765179523705 158125:158125 hipLaunchKernel(function_address=0x200ee0, numBlocks={}, dimBlocks={}, args=0x7ffea16f38c8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :155 -337765179527733:337765180639169 158125:158125 hipMemcpy(dst=0x7f95c84fe010, src=0x7f9484c00000, sizeBytes=4194304, kind=2) :157 -337765188914788:337765191325545 158125:158125 hipMemcpy(dst=0x7f95c0800000, src=0x7f95c88ff010, sizeBytes=4194304, kind=1) :158 -337765191330795:337765191331176 158125:158125 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :160 -337765191332067:337765191332398 158125:158125 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :161 -337765191333390:337765191344000 158125:158125 hipLaunchKernel(function_address=0x200ee0, numBlocks={}, dimBlocks={}, args=0x7ffea16f38c8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :162 -337765191349470:337765192463481 158125:158125 hipMemcpy(dst=0x7f95c84fe010, src=0x7f9484c00000, sizeBytes=4194304, kind=2) :164 -337765200792860:337765203211492 158125:158125 hipMemcpy(dst=0x7f95c0800000, src=0x7f95c88ff010, sizeBytes=4194304, kind=1) :165 -337765203215940:337765203216341 158125:158125 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :167 -337765203219537:337765203219968 158125:158125 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :168 -337765203220870:337765203231429 158125:158125 hipLaunchKernel(function_address=0x200ee0, numBlocks={}, dimBlocks={}, args=0x7ffea16f38c8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :169 -337765203234595:337765204352734 158125:158125 hipMemcpy(dst=0x7f95c84fe010, src=0x7f9484c00000, sizeBytes=4194304, kind=2) :171 -337765212603176:337765215045302 158125:158125 hipMemcpy(dst=0x7f95c0800000, src=0x7f95c88ff010, sizeBytes=4194304, kind=1) :172 -337765215049851:337765215050272 158125:158125 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :174 -337765215051123:337765215051534 158125:158125 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :175 -337765215052546:337765215064719 158125:158125 hipLaunchKernel(function_address=0x200ee0, numBlocks={}, dimBlocks={}, args=0x7ffea16f38c8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :176 -337765215069267:337765216191183 158125:158125 hipMemcpy(dst=0x7f95c84fe010, src=0x7f9484c00000, sizeBytes=4194304, kind=2) :178 -337765224482622:337765226963902 158125:158125 hipMemcpy(dst=0x7f95c0800000, src=0x7f95c88ff010, sizeBytes=4194304, kind=1) :179 -337765226970044:337765226970405 158125:158125 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :181 -337765226971416:337765226971747 158125:158125 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :182 -337765226972659:337765226982998 158125:158125 hipLaunchKernel(function_address=0x200ee0, numBlocks={}, dimBlocks={}, args=0x7ffea16f38c8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :183 -337765226988078:337765228101498 158125:158125 hipMemcpy(dst=0x7f95c84fe010, src=0x7f9484c00000, sizeBytes=4194304, kind=2) :185 -337765236379211:337765238861964 158125:158125 hipMemcpy(dst=0x7f95c0800000, src=0x7f95c88ff010, sizeBytes=4194304, kind=1) :186 -337765238866653:337765238867003 158125:158125 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :188 -337765238867865:337765238868195 158125:158125 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :189 -337765238869147:337765238880008 158125:158125 hipLaunchKernel(function_address=0x200ee0, numBlocks={}, dimBlocks={}, args=0x7ffea16f38c8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :190 -337765238885749:337765239998748 158125:158125 hipMemcpy(dst=0x7f95c84fe010, src=0x7f9484c00000, sizeBytes=4194304, kind=2) :192 -337765248323740:337765250795292 158125:158125 hipMemcpy(dst=0x7f95c0800000, src=0x7f95c88ff010, sizeBytes=4194304, kind=1) :193 -337765250802485:337765250802916 158125:158125 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :195 -337765250804259:337765250804589 158125:158125 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :196 -337765250805441:337765250816071 158125:158125 hipLaunchKernel(function_address=0x200ee0, numBlocks={}, dimBlocks={}, args=0x7ffea16f38c8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :197 -337765250819517:337765251927607 158125:158125 hipMemcpy(dst=0x7f95c84fe010, src=0x7f9484c00000, sizeBytes=4194304, kind=2) :199 -337765260173130:337765262594897 158125:158125 hipMemcpy(dst=0x7f95c0800000, src=0x7f95c88ff010, sizeBytes=4194304, kind=1) :200 -337765262600167:337765262600618 158125:158125 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :202 -337765262601500:337765262601851 158125:158125 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :203 -337765262604976:337765262616528 158125:158125 hipLaunchKernel(function_address=0x200ee0, numBlocks={}, dimBlocks={}, args=0x7ffea16f38c8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :204 -337765262619774:337765263725670 158125:158125 hipMemcpy(dst=0x7f95c84fe010, src=0x7f9484c00000, sizeBytes=4194304, kind=2) :206 -337765272031895:337765274457500 158125:158125 hipMemcpy(dst=0x7f95c0800000, src=0x7f95c88ff010, sizeBytes=4194304, kind=1) :207 -337765274464183:337765274464634 158125:158125 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :209 -337765274465525:337765274465986 158125:158125 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :210 -337765274466978:337765274477879 158125:158125 hipLaunchKernel(function_address=0x200ee0, numBlocks={}, dimBlocks={}, args=0x7ffea16f38c8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :211 -337765274481415:337765275593242 158125:158125 hipMemcpy(dst=0x7f95c84fe010, src=0x7f9484c00000, sizeBytes=4194304, kind=2) :213 -337765283871867:337765286274118 158125:158125 hipMemcpy(dst=0x7f95c0800000, src=0x7f95c88ff010, sizeBytes=4194304, kind=1) :214 -337765286279107:337765286279578 158125:158125 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :216 -337765286280470:337765286280811 158125:158125 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :217 -337765286283075:337765286294416 158125:158125 hipLaunchKernel(function_address=0x200ee0, numBlocks={}, dimBlocks={}, args=0x7ffea16f38c8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :218 -337765286297883:337765287415781 158125:158125 hipMemcpy(dst=0x7f95c84fe010, src=0x7f9484c00000, sizeBytes=4194304, kind=2) :220 -337765295729662:337765298174083 158125:158125 hipMemcpy(dst=0x7f95c0800000, src=0x7f95c88ff010, sizeBytes=4194304, kind=1) :221 -337765298180806:337765298181657 158125:158125 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :223 -337765298182549:337765298182890 158125:158125 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :224 -337765298183851:337765298195233 158125:158125 hipLaunchKernel(function_address=0x200ee0, numBlocks={}, dimBlocks={}, args=0x7ffea16f38c8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :225 -337765298198950:337765299310807 158125:158125 hipMemcpy(dst=0x7f95c84fe010, src=0x7f9484c00000, sizeBytes=4194304, kind=2) :227 -337765307576858:337765310015998 158125:158125 hipMemcpy(dst=0x7f95c0800000, src=0x7f95c88ff010, sizeBytes=4194304, kind=1) :228 -337765310020557:337765310021088 158125:158125 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :230 -337765310022240:337765310022601 158125:158125 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :231 -337765310025797:337765310037178 158125:158125 hipLaunchKernel(function_address=0x200ee0, numBlocks={}, dimBlocks={}, args=0x7ffea16f38c8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :232 -337765310041296:337765311153774 158125:158125 hipMemcpy(dst=0x7f95c84fe010, src=0x7f9484c00000, sizeBytes=4194304, kind=2) :234 -337765319462296:337765321917687 158125:158125 hipMemcpy(dst=0x7f95c0800000, src=0x7f95c88ff010, sizeBytes=4194304, kind=1) :235 -337765321924690:337765321925111 158125:158125 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :237 -337765321926043:337765321926383 158125:158125 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :238 -337765321927325:337765321939187 158125:158125 hipLaunchKernel(function_address=0x200ee0, numBlocks={}, dimBlocks={}, args=0x7ffea16f38c8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :239 -337765321943836:337765323047217 158125:158125 hipMemcpy(dst=0x7f95c84fe010, src=0x7f9484c00000, sizeBytes=4194304, kind=2) :241 -337765331334799:337765333800680 158125:158125 hipMemcpy(dst=0x7f95c0800000, src=0x7f95c88ff010, sizeBytes=4194304, kind=1) :242 -337765333805689:337765333806020 158125:158125 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :244 -337765333806881:337765333807292 158125:158125 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :245 -337765333809647:337765333820417 158125:158125 hipLaunchKernel(function_address=0x200ee0, numBlocks={}, dimBlocks={}, args=0x7ffea16f38c8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :246 -337765333823934:337765334937344 158125:158125 hipMemcpy(dst=0x7f95c84fe010, src=0x7f9484c00000, sizeBytes=4194304, kind=2) :248 -337765343248378:337765345732022 158125:158125 hipMemcpy(dst=0x7f95c0800000, src=0x7f95c88ff010, sizeBytes=4194304, kind=1) :249 -337765345739366:337765345739777 158125:158125 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :251 -337765345740558:337765345740879 158125:158125 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :252 -337765345741750:337765345752751 158125:158125 hipLaunchKernel(function_address=0x200ee0, numBlocks={}, dimBlocks={}, args=0x7ffea16f38c8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :253 -337765345758552:337765346872854 158125:158125 hipMemcpy(dst=0x7f95c84fe010, src=0x7f9484c00000, sizeBytes=4194304, kind=2) :255 -337765355158251:337765357542558 158125:158125 hipMemcpy(dst=0x7f95c0800000, src=0x7f95c88ff010, sizeBytes=4194304, kind=1) :256 -337765357547237:337765357548089 158125:158125 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :258 -337765357548880:337765357549201 158125:158125 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :259 -337765357552347:337765357562656 158125:158125 hipLaunchKernel(function_address=0x200ee0, numBlocks={}, dimBlocks={}, args=0x7ffea16f38c8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :260 -337765357566714:337765358703679 158125:158125 hipMemcpy(dst=0x7f95c84fe010, src=0x7f9484c00000, sizeBytes=4194304, kind=2) :262 -337765366968407:337765369387249 158125:158125 hipMemcpy(dst=0x7f95c0800000, src=0x7f95c88ff010, sizeBytes=4194304, kind=1) :263 -337765369394683:337765369395074 158125:158125 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :265 -337765369395886:337765369396226 158125:158125 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :266 -337765369397238:337765369409070 158125:158125 hipLaunchKernel(function_address=0x200ee0, numBlocks={}, dimBlocks={}, args=0x7ffea16f38c8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :267 -337765369413920:337765370514896 158125:158125 hipMemcpy(dst=0x7f95c84fe010, src=0x7f9484c00000, sizeBytes=4194304, kind=2) :269 -337765378813919:337765381249433 158125:158125 hipMemcpy(dst=0x7f95c0800000, src=0x7f95c88ff010, sizeBytes=4194304, kind=1) :270 -337765381255795:337765381256146 158125:158125 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :272 -337765381257067:337765381257398 158125:158125 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :273 -337765381259262:337765381270573 158125:158125 hipLaunchKernel(function_address=0x200ee0, numBlocks={}, dimBlocks={}, args=0x7ffea16f38c8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :274 -337765381273999:337765382389143 158125:158125 hipMemcpy(dst=0x7f95c84fe010, src=0x7f9484c00000, sizeBytes=4194304, kind=2) :276 -337765390675582:337765393103622 158125:158125 hipMemcpy(dst=0x7f95c0800000, src=0x7f95c88ff010, sizeBytes=4194304, kind=1) :277 -337765393110024:337765393110414 158125:158125 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :279 -337765393111286:337765393111627 158125:158125 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :280 -337765393112599:337765393123419 158125:158125 hipLaunchKernel(function_address=0x200ee0, numBlocks={}, dimBlocks={}, args=0x7ffea16f38c8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :281 -337765393127787:337765394243081 158125:158125 hipMemcpy(dst=0x7f95c84fe010, src=0x7f9484c00000, sizeBytes=4194304, kind=2) :283 -337765402542775:337765405018485 158125:158125 hipMemcpy(dst=0x7f95c0800000, src=0x7f95c88ff010, sizeBytes=4194304, kind=1) :284 -337765405023564:337765405024035 158125:158125 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :286 -337765405027412:337765405027862 158125:158125 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :287 -337765405028914:337765405040186 158125:158125 hipLaunchKernel(function_address=0x200ee0, numBlocks={}, dimBlocks={}, args=0x7ffea16f38c8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :288 -337765405043412:337765406153906 158125:158125 hipMemcpy(dst=0x7f95c84fe010, src=0x7f9484c00000, sizeBytes=4194304, kind=2) :290 -337765414439543:337765416968903 158125:158125 hipMemcpy(dst=0x7f95c0800000, src=0x7f95c88ff010, sizeBytes=4194304, kind=1) :291 -337765416975906:337765416976508 158125:158125 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :293 -337765416977560:337765416977880 158125:158125 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :294 -337765416978852:337765416990364 158125:158125 hipLaunchKernel(function_address=0x200ee0, numBlocks={}, dimBlocks={}, args=0x7ffea16f38c8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :295 -337765416994742:337765418107140 158125:158125 hipMemcpy(dst=0x7f95c84fe010, src=0x7f9484c00000, sizeBytes=4194304, kind=2) :297 -337765426444636:337765428930194 158125:158125 hipMemcpy(dst=0x7f95c0800000, src=0x7f95c88ff010, sizeBytes=4194304, kind=1) :298 -337765428935253:337765428935804 158125:158125 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :300 -337765428937708:337765428938029 158125:158125 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :301 -337765428938940:337765428949350 158125:158125 hipLaunchKernel(function_address=0x200ee0, numBlocks={}, dimBlocks={}, args=0x7ffea16f38c8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :302 -337765428953277:337765430060145 158125:158125 hipMemcpy(dst=0x7f95c84fe010, src=0x7f9484c00000, sizeBytes=4194304, kind=2) :304 -337765438339150:337765441268235 158125:158125 hipMemcpy(dst=0x7f95c0800000, src=0x7f95c88ff010, sizeBytes=4194304, kind=1) :305 -337765441274216:337765441274747 158125:158125 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :307 -337765441275729:337765441276060 158125:158125 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :308 -337765441276962:337765441287842 158125:158125 hipLaunchKernel(function_address=0x200ee0, numBlocks={}, dimBlocks={}, args=0x7ffea16f38c8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :309 -337765441292160:337765442412533 158125:158125 hipMemcpy(dst=0x7f95c84fe010, src=0x7f9484c00000, sizeBytes=4194304, kind=2) :311 -337765450709312:337765453167268 158125:158125 hipMemcpy(dst=0x7f95c0800000, src=0x7f95c88ff010, sizeBytes=4194304, kind=1) :312 -337765453171837:337765453172288 158125:158125 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :314 -337765453175113:337765453175684 158125:158125 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :315 -337765453176656:337765453187697 158125:158125 hipLaunchKernel(function_address=0x200ee0, numBlocks={}, dimBlocks={}, args=0x7ffea16f38c8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :316 -337765453191354:337765454301107 158125:158125 hipMemcpy(dst=0x7f95c84fe010, src=0x7f9484c00000, sizeBytes=4194304, kind=2) :318 -337765462848969:337765465268904 158125:158125 hipMemcpy(dst=0x7f95c0800000, src=0x7f95c88ff010, sizeBytes=4194304, kind=1) :319 -337765465276338:337765465276859 158125:158125 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :321 -337765465277761:337765465278171 158125:158125 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :322 -337765465279123:337765465290104 158125:158125 hipLaunchKernel(function_address=0x200ee0, numBlocks={}, dimBlocks={}, args=0x7ffea16f38c8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :323 -337765465294733:337765466406910 158125:158125 hipMemcpy(dst=0x7f95c84fe010, src=0x7f9484c00000, sizeBytes=4194304, kind=2) :325 -337765474686697:337765477122020 158125:158125 hipMemcpy(dst=0x7f95c0800000, src=0x7f95c88ff010, sizeBytes=4194304, kind=1) :326 -337765477126609:337765477126970 158125:158125 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :328 -337765477130416:337765477130767 158125:158125 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :329 -337765477131749:337765477144473 158125:158125 hipLaunchKernel(function_address=0x200ee0, numBlocks={}, dimBlocks={}, args=0x7ffea16f38c8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :330 -337765477147809:337765478265337 158125:158125 hipMemcpy(dst=0x7f95c84fe010, src=0x7f9484c00000, sizeBytes=4194304, kind=2) :332 -337765486542638:337765489033045 158125:158125 hipMemcpy(dst=0x7f95c0800000, src=0x7f95c88ff010, sizeBytes=4194304, kind=1) :333 -337765489038946:337765489039336 158125:158125 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :335 -337765489040108:337765489040549 158125:158125 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :336 -337765489041490:337765489052010 158125:158125 hipLaunchKernel(function_address=0x200ee0, numBlocks={}, dimBlocks={}, args=0x7ffea16f38c8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :337 -337765489056579:337765490169488 158125:158125 hipMemcpy(dst=0x7f95c84fe010, src=0x7f9484c00000, sizeBytes=4194304, kind=2) :339 -337765498462309:337765500912371 158125:158125 hipMemcpy(dst=0x7f95c0800000, src=0x7f95c88ff010, sizeBytes=4194304, kind=1) :340 -337765500917410:337765500917801 158125:158125 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :342 -337765500920967:337765500921307 158125:158125 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :343 -337765500922309:337765500934001 158125:158125 hipLaunchKernel(function_address=0x200ee0, numBlocks={}, dimBlocks={}, args=0x7ffea16f38c8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :344 -337765500937468:337765502051439 158125:158125 hipMemcpy(dst=0x7f95c84fe010, src=0x7f9484c00000, sizeBytes=4194304, kind=2) :346 -337765510338339:337765512803419 158125:158125 hipMemcpy(dst=0x7f95c0800000, src=0x7f95c88ff010, sizeBytes=4194304, kind=1) :347 -337765512808448:337765512808879 158125:158125 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :349 -337765512809771:337765512810091 158125:158125 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :350 -337765512811123:337765512821753 158125:158125 hipLaunchKernel(function_address=0x200ee0, numBlocks={}, dimBlocks={}, args=0x7ffea16f38c8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :351 -337765512828546:337765513936426 158125:158125 hipMemcpy(dst=0x7f95c84fe010, src=0x7f9484c00000, sizeBytes=4194304, kind=2) :353 -337765522202487:337765524571746 158125:158125 hipMemcpy(dst=0x7f95c0800000, src=0x7f95c88ff010, sizeBytes=4194304, kind=1) :354 -337765524577146:337765524577546 158125:158125 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :356 -337765524581193:337765524581524 158125:158125 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :357 -337765524582496:337765524594358 158125:158125 hipLaunchKernel(function_address=0x200ee0, numBlocks={}, dimBlocks={}, args=0x7ffea16f38c8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :358 -337765524598015:337765525748215 158125:158125 hipMemcpy(dst=0x7f95c84fe010, src=0x7f9484c00000, sizeBytes=4194304, kind=2) :360 -337765534071724:337765536497660 158125:158125 hipMemcpy(dst=0x7f95c0800000, src=0x7f95c88ff010, sizeBytes=4194304, kind=1) :361 -337765536504743:337765536505134 158125:158125 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :363 -337765536505985:337765536506326 158125:158125 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :364 -337765536507728:337765536518278 158125:158125 hipLaunchKernel(function_address=0x200ee0, numBlocks={}, dimBlocks={}, args=0x7ffea16f38c8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :365 -337765536523027:337765537637159 158125:158125 hipMemcpy(dst=0x7f95c84fe010, src=0x7f9484c00000, sizeBytes=4194304, kind=2) :367 -337765545903460:337765548307234 158125:158125 hipMemcpy(dst=0x7f95c0800000, src=0x7f95c88ff010, sizeBytes=4194304, kind=1) :368 -337765548314498:337765548314909 158125:158125 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :370 -337765548315930:337765548316411 158125:158125 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :371 -337765548317443:337765548328604 158125:158125 hipLaunchKernel(function_address=0x200ee0, numBlocks={}, dimBlocks={}, args=0x7ffea16f38c8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :372 -337765548332271:337765549443808 158125:158125 hipMemcpy(dst=0x7f95c84fe010, src=0x7f9484c00000, sizeBytes=4194304, kind=2) :374 -337765557720648:337765560151162 158125:158125 hipMemcpy(dst=0x7f95c0800000, src=0x7f95c88ff010, sizeBytes=4194304, kind=1) :375 -337765560156001:337765560156351 158125:158125 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :377 -337765560157363:337765560157684 158125:158125 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :378 -337765560158596:337765560169526 158125:158125 hipLaunchKernel(function_address=0x200ee0, numBlocks={}, dimBlocks={}, args=0x7ffea16f38c8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :379 -337765560175588:337765561286232 158125:158125 hipMemcpy(dst=0x7f95c84fe010, src=0x7f9484c00000, sizeBytes=4194304, kind=2) :381 -337765569553195:337765572027742 158125:158125 hipMemcpy(dst=0x7f95c0800000, src=0x7f95c88ff010, sizeBytes=4194304, kind=1) :382 -337765572036198:337765572036739 158125:158125 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :384 -337765572037741:337765572038072 158125:158125 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :385 -337765572039034:337765572051167 158125:158125 hipLaunchKernel(function_address=0x200ee0, numBlocks={}, dimBlocks={}, args=0x7ffea16f38c8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :386 -337765572055224:337765573176419 158125:158125 hipMemcpy(dst=0x7f95c84fe010, src=0x7f9484c00000, sizeBytes=4194304, kind=2) :388 -337765581527320:337765583981769 158125:158125 hipMemcpy(dst=0x7f95c0800000, src=0x7f95c88ff010, sizeBytes=4194304, kind=1) :389 -337765583986849:337765583987270 158125:158125 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :391 -337765583988041:337765583988372 158125:158125 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :392 -337765583989234:337765584005755 158125:158125 hipLaunchKernel(function_address=0x200ee0, numBlocks={}, dimBlocks={}, args=0x7ffea16f38c8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :393 -337765584010904:337765585124174 158125:158125 hipMemcpy(dst=0x7f95c84fe010, src=0x7f9484c00000, sizeBytes=4194304, kind=2) :395 -337765593393521:337765595851157 158125:158125 hipMemcpy(dst=0x7f95c0800000, src=0x7f95c88ff010, sizeBytes=4194304, kind=1) :396 -337765595857308:337765595858080 158125:158125 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :398 -337765595858982:337765595859312 158125:158125 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :399 -337765595860174:337765595870794 158125:158125 hipLaunchKernel(function_address=0x200ee0, numBlocks={}, dimBlocks={}, args=0x7ffea16f38c8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :400 -337765595874491:337765596989704 158125:158125 hipMemcpy(dst=0x7f95c84fe010, src=0x7f9484c00000, sizeBytes=4194304, kind=2) :402 -337765605549108:337765608027193 158125:158125 hipMemcpy(dst=0x7f95c0800000, src=0x7f95c88ff010, sizeBytes=4194304, kind=1) :403 -337765608032172:337765608032733 158125:158125 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :405 -337765608033524:337765608033965 158125:158125 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :406 -337765608039165:337765608050527 158125:158125 hipLaunchKernel(function_address=0x200ee0, numBlocks={}, dimBlocks={}, args=0x7ffea16f38c8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :407 -337765608054193:337765609169507 158125:158125 hipMemcpy(dst=0x7f95c84fe010, src=0x7f9484c00000, sizeBytes=4194304, kind=2) :409 -337765617468711:337765619920355 158125:158125 hipMemcpy(dst=0x7f95c0800000, src=0x7f95c88ff010, sizeBytes=4194304, kind=1) :410 -337765619927148:337765619927679 158125:158125 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :412 -337765619928660:337765619929001 158125:158125 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :413 -337765619929913:337765619939821 158125:158125 hipLaunchKernel(function_address=0x200ee0, numBlocks={}, dimBlocks={}, args=0x7ffea16f38c8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :414 -337765619943298:337765621073860 158125:158125 hipMemcpy(dst=0x7f95c84fe010, src=0x7f9484c00000, sizeBytes=4194304, kind=2) :416 -337765629366101:337765631863661 158125:158125 hipMemcpy(dst=0x7f95c0800000, src=0x7f95c88ff010, sizeBytes=4194304, kind=1) :417 -337765631868260:337765631868631 158125:158125 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :419 -337765631869402:337765631869823 158125:158125 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :420 -337765631873550:337765631884220 158125:158125 hipLaunchKernel(function_address=0x200ee0, numBlocks={}, dimBlocks={}, args=0x7ffea16f38c8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :421 -337765631887536:337765632994073 158125:158125 hipMemcpy(dst=0x7f95c84fe010, src=0x7f9484c00000, sizeBytes=4194304, kind=2) :423 -337765641290129:337765643763524 158125:158125 hipMemcpy(dst=0x7f95c0800000, src=0x7f95c88ff010, sizeBytes=4194304, kind=1) :424 -337765643769886:337765643770227 158125:158125 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :426 -337765643771119:337765643771439 158125:158125 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :427 -337765643772311:337765643782781 158125:158125 hipLaunchKernel(function_address=0x200ee0, numBlocks={}, dimBlocks={}, args=0x7ffea16f38c8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :428 -337765643787810:337765644905058 158125:158125 hipMemcpy(dst=0x7f95c84fe010, src=0x7f9484c00000, sizeBytes=4194304, kind=2) :430 -337765653182400:337765655559503 158125:158125 hipMemcpy(dst=0x7f95c0800000, src=0x7f95c88ff010, sizeBytes=4194304, kind=1) :431 -337765655564733:337765655565074 158125:158125 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :433 -337765655565925:337765655566336 158125:158125 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :434 -337765655569733:337765655579972 158125:158125 hipLaunchKernel(function_address=0x200ee0, numBlocks={}, dimBlocks={}, args=0x7ffea16f38c8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :435 -337765655583769:337765656701417 158125:158125 hipMemcpy(dst=0x7f95c84fe010, src=0x7f9484c00000, sizeBytes=4194304, kind=2) :437 -337765665019797:337765667416377 158125:158125 hipMemcpy(dst=0x7f95c0800000, src=0x7f95c88ff010, sizeBytes=4194304, kind=1) :438 -337765667423450:337765667423791 158125:158125 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :440 -337765667424873:337765667425294 158125:158125 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :441 -337765667426136:337765667436074 158125:158125 hipLaunchKernel(function_address=0x200ee0, numBlocks={}, dimBlocks={}, args=0x7ffea16f38c8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :442 -337765667440122:337765668548412 158125:158125 hipMemcpy(dst=0x7f95c84fe010, src=0x7f9484c00000, sizeBytes=4194304, kind=2) :444 -337765676812980:337765679222275 158125:158125 hipMemcpy(dst=0x7f95c0800000, src=0x7f95c88ff010, sizeBytes=4194304, kind=1) :445 -337765679227645:337765679227995 158125:158125 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :447 -337765679228957:337765679229378 158125:158125 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :448 -337765679232354:337765679244447 158125:158125 hipLaunchKernel(function_address=0x200ee0, numBlocks={}, dimBlocks={}, args=0x7ffea16f38c8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :449 -337765679247953:337765680356955 158125:158125 hipMemcpy(dst=0x7f95c84fe010, src=0x7f9484c00000, sizeBytes=4194304, kind=2) :451 -337765688606675:337765691044864 158125:158125 hipMemcpy(dst=0x7f95c0800000, src=0x7f95c88ff010, sizeBytes=4194304, kind=1) :452 -337765691051106:337765691051466 158125:158125 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :454 -337765691052448:337765691052869 158125:158125 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :455 -337765691053670:337765691064300 158125:158125 hipLaunchKernel(function_address=0x200ee0, numBlocks={}, dimBlocks={}, args=0x7ffea16f38c8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :456 -337765691068518:337765692184794 158125:158125 hipMemcpy(dst=0x7f95c84fe010, src=0x7f9484c00000, sizeBytes=4194304, kind=2) :458 -337765700496681:337765702965147 158125:158125 hipMemcpy(dst=0x7f95c0800000, src=0x7f95c88ff010, sizeBytes=4194304, kind=1) :459 -337765702970397:337765702970738 158125:158125 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :461 -337765702971629:337765702971960 158125:158125 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :462 -337765702975026:337765702985896 158125:158125 hipLaunchKernel(function_address=0x200ee0, numBlocks={}, dimBlocks={}, args=0x7ffea16f38c8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :463 -337765702989493:337765704101801 158125:158125 hipMemcpy(dst=0x7f95c84fe010, src=0x7f9484c00000, sizeBytes=4194304, kind=2) :465 -337765712370696:337765714849511 158125:158125 hipMemcpy(dst=0x7f95c0800000, src=0x7f95c88ff010, sizeBytes=4194304, kind=1) :466 -337765714856404:337765714856865 158125:158125 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :468 -337765714857817:337765714858157 158125:158125 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :469 -337765714859129:337765714869088 158125:158125 hipLaunchKernel(function_address=0x200ee0, numBlocks={}, dimBlocks={}, args=0x7ffea16f38c8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :470 -337765714873206:337765715984822 158125:158125 hipMemcpy(dst=0x7f95c84fe010, src=0x7f9484c00000, sizeBytes=4194304, kind=2) :472 -337765724257526:337765726752442 158125:158125 hipMemcpy(dst=0x7f95c0800000, src=0x7f95c88ff010, sizeBytes=4194304, kind=1) :473 -337765726757381:337765726757902 158125:158125 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :475 -337765726758763:337765726759094 158125:158125 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :476 -337765726762511:337765726773591 158125:158125 hipLaunchKernel(function_address=0x200ee0, numBlocks={}, dimBlocks={}, args=0x7ffea16f38c8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :477 -337765726777028:337765727891159 158125:158125 hipMemcpy(dst=0x7f95c84fe010, src=0x7f9484c00000, sizeBytes=4194304, kind=2) :479 -337765736175495:337765738571424 158125:158125 hipMemcpy(dst=0x7f95c0800000, src=0x7f95c88ff010, sizeBytes=4194304, kind=1) :480 -337765738577195:337765738577716 158125:158125 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :482 -337765738578677:337765738578998 158125:158125 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :483 -337765738580090:337765738590129 158125:158125 hipLaunchKernel(function_address=0x200ee0, numBlocks={}, dimBlocks={}, args=0x7ffea16f38c8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :484 -337765738594668:337765739707977 158125:158125 hipMemcpy(dst=0x7f95c84fe010, src=0x7f9484c00000, sizeBytes=4194304, kind=2) :486 -337765748070500:337765750493230 158125:158125 hipMemcpy(dst=0x7f95c0800000, src=0x7f95c88ff010, sizeBytes=4194304, kind=1) :487 -337765750497859:337765750498270 158125:158125 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :489 -337765750500444:337765750500804 158125:158125 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :490 -337765750501846:337765750512667 158125:158125 hipLaunchKernel(function_address=0x200ee0, numBlocks={}, dimBlocks={}, args=0x7ffea16f38c8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :491 -337765750516434:337765751633932 158125:158125 hipMemcpy(dst=0x7f95c84fe010, src=0x7f9484c00000, sizeBytes=4194304, kind=2) :493 -337765759933566:337765762341477 158125:158125 hipMemcpy(dst=0x7f95c0800000, src=0x7f95c88ff010, sizeBytes=4194304, kind=1) :494 -337765762348350:337765762348841 158125:158125 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :496 -337765762349723:337765762350174 158125:158125 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :497 -337765762351566:337765762361946 158125:158125 hipLaunchKernel(function_address=0x200ee0, numBlocks={}, dimBlocks={}, args=0x7ffea16f38c8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :498 -337765762366384:337765763484233 158125:158125 hipMemcpy(dst=0x7f95c84fe010, src=0x7f9484c00000, sizeBytes=4194304, kind=2) :500 -337765771735786:337765774156773 158125:158125 hipMemcpy(dst=0x7f95c0800000, src=0x7f95c88ff010, sizeBytes=4194304, kind=1) :501 -337765774161492:337765774162063 158125:158125 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :503 -337765774165299:337765774165640 158125:158125 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :504 -337765774166712:337765774177812 158125:158125 hipLaunchKernel(function_address=0x200ee0, numBlocks={}, dimBlocks={}, args=0x7ffea16f38c8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :505 -337765774181369:337765775302103 158125:158125 hipMemcpy(dst=0x7f95c84fe010, src=0x7f9484c00000, sizeBytes=4194304, kind=2) :507 -337765783578812:337765786029635 158125:158125 hipMemcpy(dst=0x7f95c0800000, src=0x7f95c88ff010, sizeBytes=4194304, kind=1) :508 -337765786036808:337765786037349 158125:158125 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :510 -337765786038131:337765786038582 158125:158125 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :511 -337765786039473:337765786052037 158125:158125 hipLaunchKernel(function_address=0x200ee0, numBlocks={}, dimBlocks={}, args=0x7ffea16f38c8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :512 -337765786056656:337765787172160 158125:158125 hipMemcpy(dst=0x7f95c84fe010, src=0x7f9484c00000, sizeBytes=4194304, kind=2) :514 -337765795490429:337765797965808 158125:158125 hipMemcpy(dst=0x7f95c0800000, src=0x7f95c88ff010, sizeBytes=4194304, kind=1) :515 -337765797970798:337765797971409 158125:158125 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :517 -337765797973573:337765797973923 158125:158125 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :518 -337765797974775:337765797985515 158125:158125 hipLaunchKernel(function_address=0x200ee0, numBlocks={}, dimBlocks={}, args=0x7ffea16f38c8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :519 -337765797988832:337765799105267 158125:158125 hipMemcpy(dst=0x7f95c84fe010, src=0x7f9484c00000, sizeBytes=4194304, kind=2) :521 -337765807418016:337765809874289 158125:158125 hipMemcpy(dst=0x7f95c0800000, src=0x7f95c88ff010, sizeBytes=4194304, kind=1) :522 -337765809881653:337765809882114 158125:158125 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :524 -337765809883016:337765809883427 158125:158125 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :525 -337765809884378:337765809895339 158125:158125 hipLaunchKernel(function_address=0x200ee0, numBlocks={}, dimBlocks={}, args=0x7ffea16f38c8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :526 -337765809899497:337765811016343 158125:158125 hipMemcpy(dst=0x7f95c84fe010, src=0x7f9484c00000, sizeBytes=4194304, kind=2) :528 -337765819288546:337765821755830 158125:158125 hipMemcpy(dst=0x7f95c0800000, src=0x7f95c88ff010, sizeBytes=4194304, kind=1) :529 -337765821760979:337765821761450 158125:158125 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :531 -337765821764346:337765821764816 158125:158125 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :532 -337765821765718:337765821776088 158125:158125 hipLaunchKernel(function_address=0x200ee0, numBlocks={}, dimBlocks={}, args=0x7ffea16f38c8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :533 -337765821779594:337765822898395 158125:158125 hipMemcpy(dst=0x7f95c84fe010, src=0x7f9484c00000, sizeBytes=4194304, kind=2) :535 -337765831205783:337765833694167 158125:158125 hipMemcpy(dst=0x7f95c0800000, src=0x7f95c88ff010, sizeBytes=4194304, kind=1) :536 -337765833701471:337765833701831 158125:158125 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :538 -337765833702623:337765833702953 158125:158125 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :539 -337765833703825:337765833715307 158125:158125 hipLaunchKernel(function_address=0x200ee0, numBlocks={}, dimBlocks={}, args=0x7ffea16f38c8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :540 -337765833719785:337765834853393 158125:158125 hipMemcpy(dst=0x7f95c84fe010, src=0x7f9484c00000, sizeBytes=4194304, kind=2) :542 -337765843156995:337765845538948 158125:158125 hipMemcpy(dst=0x7f95c0800000, src=0x7f95c88ff010, sizeBytes=4194304, kind=1) :543 -337765845544178:337765845544508 158125:158125 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :545 -337765845546542:337765845546883 158125:158125 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :546 -337765845547704:337765845557583 158125:158125 hipLaunchKernel(function_address=0x200ee0, numBlocks={}, dimBlocks={}, args=0x7ffea16f38c8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :547 -337765845561130:337765846664872 158125:158125 hipMemcpy(dst=0x7f95c84fe010, src=0x7f9484c00000, sizeBytes=4194304, kind=2) :549 -337765854951950:337765857350254 158125:158125 hipMemcpy(dst=0x7f95c0800000, src=0x7f95c88ff010, sizeBytes=4194304, kind=1) :550 -337765857354933:337765857355293 158125:158125 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :552 -337765857356055:337765857356546 158125:158125 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :553 -337765857357508:337765857367727 158125:158125 hipLaunchKernel(function_address=0x200ee0, numBlocks={}, dimBlocks={}, args=0x7ffea16f38c8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :554 -337765857373287:337765858496676 158125:158125 hipMemcpy(dst=0x7f95c84fe010, src=0x7f9484c00000, sizeBytes=4194304, kind=2) :556 -337765866775191:337765869163646 158125:158125 hipMemcpy(dst=0x7f95c0800000, src=0x7f95c88ff010, sizeBytes=4194304, kind=1) :557 -337765869168926:337765869169316 158125:158125 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :559 -337765869174366:337765869174827 158125:158125 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :560 -337765869175788:337765869186388 158125:158125 hipLaunchKernel(function_address=0x200ee0, numBlocks={}, dimBlocks={}, args=0x7ffea16f38c8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :561 -337765869190156:337765870296673 158125:158125 hipMemcpy(dst=0x7f95c84fe010, src=0x7f9484c00000, sizeBytes=4194304, kind=2) :563 -337765878585186:337765881030107 158125:158125 hipMemcpy(dst=0x7f95c0800000, src=0x7f95c88ff010, sizeBytes=4194304, kind=1) :564 -337765881034957:337765881035347 158125:158125 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :566 -337765881036219:337765881036550 158125:158125 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :567 -337765881037982:337765881050857 158125:158125 hipLaunchKernel(function_address=0x200ee0, numBlocks={}, dimBlocks={}, args=0x7ffea16f38c8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :568 -337765881055616:337765882175217 158125:158125 hipMemcpy(dst=0x7f95c84fe010, src=0x7f9484c00000, sizeBytes=4194304, kind=2) :570 -337765890460034:337765892915986 158125:158125 hipMemcpy(dst=0x7f95c0800000, src=0x7f95c88ff010, sizeBytes=4194304, kind=1) :571 -337765892922147:337765892922558 158125:158125 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :573 -337765892923320:337765892923650 158125:158125 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :574 -337765892925103:337765892935142 158125:158125 hipLaunchKernel(function_address=0x200ee0, numBlocks={}, dimBlocks={}, args=0x7ffea16f38c8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :575 -337765892938639:337765894040557 158125:158125 hipMemcpy(dst=0x7f95c84fe010, src=0x7f9484c00000, sizeBytes=4194304, kind=2) :577 -337765902321336:337765904774573 158125:158125 hipMemcpy(dst=0x7f95c0800000, src=0x7f95c88ff010, sizeBytes=4194304, kind=1) :578 -337765904779151:337765904779552 158125:158125 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :580 -337765904780414:337765904780754 158125:158125 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :581 -337765904781706:337765904792316 158125:158125 hipLaunchKernel(function_address=0x200ee0, numBlocks={}, dimBlocks={}, args=0x7ffea16f38c8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :582 -337765904797416:337765906407563 158125:158125 hipMemcpy(dst=0x7f95c84fe010, src=0x7f9484c00000, sizeBytes=4194304, kind=2) :584 -337765914710163:337765917154774 158125:158125 hipMemcpy(dst=0x7f95c0800000, src=0x7f95c88ff010, sizeBytes=4194304, kind=1) :585 -337765917162037:337765917162428 158125:158125 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :587 -337765917163400:337765917163841 158125:158125 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :588 -337765917164873:337765917176795 158125:158125 hipLaunchKernel(function_address=0x200ee0, numBlocks={}, dimBlocks={}, args=0x7ffea16f38c8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :589 -337765917181103:337765918298240 158125:158125 hipMemcpy(dst=0x7f95c84fe010, src=0x7f9484c00000, sizeBytes=4194304, kind=2) :591 -337765926830502:337765929245907 158125:158125 hipMemcpy(dst=0x7f95c0800000, src=0x7f95c88ff010, sizeBytes=4194304, kind=1) :592 -337765929250937:337765929251328 158125:158125 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :594 -337765929252269:337765929252720 158125:158125 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :595 -337765929253702:337765929266025 158125:158125 hipLaunchKernel(function_address=0x200ee0, numBlocks={}, dimBlocks={}, args=0x7ffea16f38c8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :596 -337765929272007:337765930388232 158125:158125 hipMemcpy(dst=0x7f95c84fe010, src=0x7f9484c00000, sizeBytes=4194304, kind=2) :598 -337765938673068:337765941095628 158125:158125 hipMemcpy(dst=0x7f95c0800000, src=0x7f95c88ff010, sizeBytes=4194304, kind=1) :599 -337765941101008:337765941101419 158125:158125 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :601 -337765941102370:337765941102821 158125:158125 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :602 -337765941103783:337765941115335 158125:158125 hipLaunchKernel(function_address=0x200ee0, numBlocks={}, dimBlocks={}, args=0x7ffea16f38c8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :603 -337765941118952:337765942236489 158125:158125 hipMemcpy(dst=0x7f95c84fe010, src=0x7f9484c00000, sizeBytes=4194304, kind=2) :605 -337765950583563:337765953028034 158125:158125 hipMemcpy(dst=0x7f95c0800000, src=0x7f95c88ff010, sizeBytes=4194304, kind=1) :606 -337765953032813:337765953033184 158125:158125 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :608 -337765953034396:337765953034847 158125:158125 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :609 -337765953037271:337765953047330 158125:158125 hipLaunchKernel(function_address=0x200ee0, numBlocks={}, dimBlocks={}, args=0x7ffea16f38c8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :610 -337765953050847:337765954167944 158125:158125 hipMemcpy(dst=0x7f95c84fe010, src=0x7f9484c00000, sizeBytes=4194304, kind=2) :612 -337765962480472:337765964922048 158125:158125 hipMemcpy(dst=0x7f95c0800000, src=0x7f95c88ff010, sizeBytes=4194304, kind=1) :613 -337765964928680:337765964929111 158125:158125 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :615 -337765964930153:337765964930594 158125:158125 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :616 -337765964931365:337765964942516 158125:158125 hipLaunchKernel(function_address=0x200ee0, numBlocks={}, dimBlocks={}, args=0x7ffea16f38c8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :617 -337765964945752:337765966055586 158125:158125 hipMemcpy(dst=0x7f95c84fe010, src=0x7f9484c00000, sizeBytes=4194304, kind=2) :619 -337765974287412:337765976754355 158125:158125 hipMemcpy(dst=0x7f95c0800000, src=0x7f95c88ff010, sizeBytes=4194304, kind=1) :620 -337765976759224:337765976759605 158125:158125 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :622 -337765976760457:337765976760897 158125:158125 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :623 -337765976763903:337765976774673 158125:158125 hipLaunchKernel(function_address=0x200ee0, numBlocks={}, dimBlocks={}, args=0x7ffea16f38c8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :624 -337765976778220:337765977896830 158125:158125 hipMemcpy(dst=0x7f95c84fe010, src=0x7f9484c00000, sizeBytes=4194304, kind=2) :626 -337765986168812:337765988577395 158125:158125 hipMemcpy(dst=0x7f95c0800000, src=0x7f95c88ff010, sizeBytes=4194304, kind=1) :627 -337765988584569:337765988584999 158125:158125 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :629 -337765988585891:337765988586482 158125:158125 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :630 -337765988587334:337765988598775 158125:158125 hipLaunchKernel(function_address=0x200ee0, numBlocks={}, dimBlocks={}, args=0x7ffea16f38c8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :631 -337765988604055:337765989709069 158125:158125 hipMemcpy(dst=0x7f95c84fe010, src=0x7f9484c00000, sizeBytes=4194304, kind=2) :633 -337765998093663:337766000492497 158125:158125 hipMemcpy(dst=0x7f95c0800000, src=0x7f95c88ff010, sizeBytes=4194304, kind=1) :634 -337766000497646:337766000498087 158125:158125 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :636 -337766000498999:337766000499330 158125:158125 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :637 -337766000501814:337766000511843 158125:158125 hipLaunchKernel(function_address=0x200ee0, numBlocks={}, dimBlocks={}, args=0x7ffea16f38c8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :638 -337766000515690:337766001640322 158125:158125 hipMemcpy(dst=0x7f95c84fe010, src=0x7f9484c00000, sizeBytes=4194304, kind=2) :640 -337766009956637:337766012392983 158125:158125 hipMemcpy(dst=0x7f95c0800000, src=0x7f95c88ff010, sizeBytes=4194304, kind=1) :641 -337766012399555:337766012400226 158125:158125 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :643 -337766012401198:337766012401659 158125:158125 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :644 -337766012402521:337766012412960 158125:158125 hipLaunchKernel(function_address=0x200ee0, numBlocks={}, dimBlocks={}, args=0x7ffea16f38c8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :645 -337766012417790:337766013529516 158125:158125 hipMemcpy(dst=0x7f95c84fe010, src=0x7f9484c00000, sizeBytes=4194304, kind=2) :647 -337766021796369:337766024223527 158125:158125 hipMemcpy(dst=0x7f95c0800000, src=0x7f95c88ff010, sizeBytes=4194304, kind=1) :648 -337766024228837:337766024229218 158125:158125 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :650 -337766024229979:337766024230440 158125:158125 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :651 -337766024234097:337766024245328 158125:158125 hipLaunchKernel(function_address=0x200ee0, numBlocks={}, dimBlocks={}, args=0x7ffea16f38c8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :652 -337766024248784:337766025360712 158125:158125 hipMemcpy(dst=0x7f95c84fe010, src=0x7f9484c00000, sizeBytes=4194304, kind=2) :654 -337766033651129:337766036557400 158125:158125 hipMemcpy(dst=0x7f95c0800000, src=0x7f95c88ff010, sizeBytes=4194304, kind=1) :655 -337766036564965:337766036565345 158125:158125 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :657 -337766036566287:337766036566758 158125:158125 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :658 -337766036567640:337766036580564 158125:158125 hipLaunchKernel(function_address=0x200ee0, numBlocks={}, dimBlocks={}, args=0x7ffea16f38c8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :659 -337766036585143:337766037708642 158125:158125 hipMemcpy(dst=0x7f95c84fe010, src=0x7f9484c00000, sizeBytes=4194304, kind=2) :661 -337766045986585:337766048388886 158125:158125 hipMemcpy(dst=0x7f95c0800000, src=0x7f95c88ff010, sizeBytes=4194304, kind=1) :662 -337766048393825:337766048394376 158125:158125 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :664 -337766048395278:337766048395819 158125:158125 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :665 -337766048397773:337766048409445 158125:158125 hipLaunchKernel(function_address=0x200ee0, numBlocks={}, dimBlocks={}, args=0x7ffea16f38c8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :666 -337766048413082:337766049518447 158125:158125 hipMemcpy(dst=0x7f95c84fe010, src=0x7f9484c00000, sizeBytes=4194304, kind=2) :668 -337766058038627:337766060454343 158125:158125 hipMemcpy(dst=0x7f95c0800000, src=0x7f95c88ff010, sizeBytes=4194304, kind=1) :669 -337766060461226:337766060461647 158125:158125 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :671 -337766060462509:337766060462950 158125:158125 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :672 -337766060463811:337766060475754 158125:158125 hipLaunchKernel(function_address=0x200ee0, numBlocks={}, dimBlocks={}, args=0x7ffea16f38c8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :673 -337766060479932:337766061599133 158125:158125 hipMemcpy(dst=0x7f95c84fe010, src=0x7f9484c00000, sizeBytes=4194304, kind=2) :675 -337766069885611:337766072274686 158125:158125 hipMemcpy(dst=0x7f95c0800000, src=0x7f95c88ff010, sizeBytes=4194304, kind=1) :676 -337766072279706:337766072280117 158125:158125 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :678 -337766072280978:337766072281419 158125:158125 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :679 -337766072284986:337766072296648 158125:158125 hipLaunchKernel(function_address=0x200ee0, numBlocks={}, dimBlocks={}, args=0x7ffea16f38c8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :680 -337766072300575:337766073410839 158125:158125 hipMemcpy(dst=0x7f95c84fe010, src=0x7f9484c00000, sizeBytes=4194304, kind=2) :682 -337766081680868:337766084149093 158125:158125 hipMemcpy(dst=0x7f95c0800000, src=0x7f95c88ff010, sizeBytes=4194304, kind=1) :683 -337766084156237:337766084156647 158125:158125 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :685 -337766084157629:337766084157970 158125:158125 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :686 -337766084158992:337766084170043 158125:158125 hipLaunchKernel(function_address=0x200ee0, numBlocks={}, dimBlocks={}, args=0x7ffea16f38c8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :687 -337766084174451:337766085284064 158125:158125 hipMemcpy(dst=0x7f95c84fe010, src=0x7f9484c00000, sizeBytes=4194304, kind=2) :689 -337766093580402:337766096024893 158125:158125 hipMemcpy(dst=0x7f95c0800000, src=0x7f95c88ff010, sizeBytes=4194304, kind=1) :690 -337766096030032:337766096030433 158125:158125 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :692 -337766096034350:337766096034831 158125:158125 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :693 -337766096035793:337766096047385 158125:158125 hipLaunchKernel(function_address=0x200ee0, numBlocks={}, dimBlocks={}, args=0x7ffea16f38c8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :694 -337766096051563:337766097168119 158125:158125 hipMemcpy(dst=0x7f95c84fe010, src=0x7f9484c00000, sizeBytes=4194304, kind=2) :696 -337766105477451:337766107930458 158125:158125 hipMemcpy(dst=0x7f95c0800000, src=0x7f95c88ff010, sizeBytes=4194304, kind=1) :697 -337766107936439:337766107936860 158125:158125 __hipPushCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :699 -337766107937852:337766107938193 158125:158125 __hipPopCallConfiguration(gridDim={}, blockDim={}, sharedMem=0, stream=0) :700 -337766107939084:337766107949224 158125:158125 hipLaunchKernel(function_address=0x200ee0, numBlocks={}, dimBlocks={}, args=0x7ffea16f38c8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :701 -337766107953562:337766109068685 158125:158125 hipMemcpy(dst=0x7f95c84fe010, src=0x7f9484c00000, sizeBytes=4194304, kind=2) :703 -337766117332762:337766117364702 158125:158125 hipFree(ptr=0x7f95c0800000) :704 -337766117365825:337766117379931 158125:158125 hipFree(ptr=0x7f9484c00000) :705 -337764922554140 158125:158125 0:0:"before hipLaunchKernel" -337764922555803 158125:158125 3:0:"hipLaunchKernel range" -337764922557486 158125:158125 1:0:"hipLaunchKernel" -337764923045667 158125:158125 0:0:"after hipLaunchKernel" -337764923046408 158125:158125 1:0:"hipMemcpy" -337764925579726 158125:158125 2:0:"" -337764925580768 158125:158125 2:0:"" -337764925582151 158125:158125 4:1:"" -337764941185691 158125:158125 0:0:"before hipLaunchKernel" -337764941186463 158125:158125 3:0:"hipLaunchKernel range" -337764941187164 158125:158125 1:0:"hipLaunchKernel" -337764941212732 158125:158125 0:0:"after hipLaunchKernel" -337764941213283 158125:158125 1:0:"hipMemcpy" -337764942340530 158125:158125 2:0:"" -337764942341131 158125:158125 2:0:"" -337764942341672 158125:158125 4:2:"" -337764953061020 158125:158125 0:0:"before hipLaunchKernel" -337764953061731 158125:158125 3:0:"hipLaunchKernel range" -337764953062433 158125:158125 1:0:"hipLaunchKernel" -337764953081719 158125:158125 0:0:"after hipLaunchKernel" -337764953082400 158125:158125 1:0:"hipMemcpy" -337764954183707 158125:158125 2:0:"" -337764954184319 158125:158125 2:0:"" -337764954184840 158125:158125 4:3:"" -337764964982095 158125:158125 0:0:"before hipLaunchKernel" -337764964982786 158125:158125 3:0:"hipLaunchKernel range" -337764964983397 158125:158125 1:0:"hipLaunchKernel" -337764965001561 158125:158125 0:0:"after hipLaunchKernel" -337764965002133 158125:158125 1:0:"hipMemcpy" -337764966124690 158125:158125 2:0:"" -337764966125271 158125:158125 2:0:"" -337764966125802 158125:158125 4:4:"" -337764977270801 158125:158125 0:0:"before hipLaunchKernel" -337764977271482 158125:158125 3:0:"hipLaunchKernel range" -337764977272104 158125:158125 1:0:"hipLaunchKernel" -337764977290158 158125:158125 0:0:"after hipLaunchKernel" -337764977290749 158125:158125 1:0:"hipMemcpy" -337764978408517 158125:158125 2:0:"" -337764978409238 158125:158125 2:0:"" -337764978409779 158125:158125 4:5:"" -337764989135810 158125:158125 0:0:"before hipLaunchKernel" -337764989136391 158125:158125 3:0:"hipLaunchKernel range" -337764989136993 158125:158125 1:0:"hipLaunchKernel" -337764989156589 158125:158125 0:0:"after hipLaunchKernel" -337764989157241 158125:158125 1:0:"hipMemcpy" -337764990266483 158125:158125 2:0:"" -337764990267084 158125:158125 2:0:"" -337764990267645 158125:158125 4:6:"" -337765001232126 158125:158125 0:0:"before hipLaunchKernel" -337765001232847 158125:158125 3:0:"hipLaunchKernel range" -337765001233458 158125:158125 1:0:"hipLaunchKernel" -337765001250841 158125:158125 0:0:"after hipLaunchKernel" -337765001251422 158125:158125 1:0:"hipMemcpy" -337765002372046 158125:158125 2:0:"" -337765002372637 158125:158125 2:0:"" -337765002373178 158125:158125 4:7:"" -337765013162418 158125:158125 0:0:"before hipLaunchKernel" -337765013163229 158125:158125 3:0:"hipLaunchKernel range" -337765013163841 158125:158125 1:0:"hipLaunchKernel" -337765013184279 158125:158125 0:0:"after hipLaunchKernel" -337765013184990 158125:158125 1:0:"hipMemcpy" -337765014296557 158125:158125 2:0:"" -337765014297148 158125:158125 2:0:"" -337765014297709 158125:158125 4:8:"" -337765025092700 158125:158125 0:0:"before hipLaunchKernel" -337765025093502 158125:158125 3:0:"hipLaunchKernel range" -337765025094103 158125:158125 1:0:"hipLaunchKernel" -337765025111415 158125:158125 0:0:"after hipLaunchKernel" -337765025112047 158125:158125 1:0:"hipMemcpy" -337765026233782 158125:158125 2:0:"" -337765026234373 158125:158125 2:0:"" -337765026234904 158125:158125 4:9:"" -337765036910510 158125:158125 0:0:"before hipLaunchKernel" -337765036911131 158125:158125 3:0:"hipLaunchKernel range" -337765036911752 158125:158125 1:0:"hipLaunchKernel" -337765036931179 158125:158125 0:0:"after hipLaunchKernel" -337765036931890 158125:158125 1:0:"hipMemcpy" -337765038041083 158125:158125 2:0:"" -337765038041674 158125:158125 2:0:"" -337765038042205 158125:158125 4:10:"" -337765048771941 158125:158125 0:0:"before hipLaunchKernel" -337765048772622 158125:158125 3:0:"hipLaunchKernel range" -337765048773213 158125:158125 1:0:"hipLaunchKernel" -337765048791528 158125:158125 0:0:"after hipLaunchKernel" -337765048792249 158125:158125 1:0:"hipMemcpy" -337765049917321 158125:158125 2:0:"" -337765049917962 158125:158125 2:0:"" -337765049918513 158125:158125 4:11:"" -337765060576586 158125:158125 0:0:"before hipLaunchKernel" -337765060577297 158125:158125 3:0:"hipLaunchKernel range" -337765060577898 158125:158125 1:0:"hipLaunchKernel" -337765060597886 158125:158125 0:0:"after hipLaunchKernel" -337765060598658 158125:158125 1:0:"hipMemcpy" -337765061742204 158125:158125 2:0:"" -337765061742826 158125:158125 2:0:"" -337765061743347 158125:158125 4:12:"" -337765072366173 158125:158125 0:0:"before hipLaunchKernel" -337765072366784 158125:158125 3:0:"hipLaunchKernel range" -337765072367465 158125:158125 1:0:"hipLaunchKernel" -337765072384988 158125:158125 0:0:"after hipLaunchKernel" -337765072385720 158125:158125 1:0:"hipMemcpy" -337765073502596 158125:158125 2:0:"" -337765073505472 158125:158125 2:0:"" -337765073506043 158125:158125 4:13:"" -337765084162963 158125:158125 0:0:"before hipLaunchKernel" -337765084163574 158125:158125 3:0:"hipLaunchKernel range" -337765084164175 158125:158125 1:0:"hipLaunchKernel" -337765084184343 158125:158125 0:0:"after hipLaunchKernel" -337765084184975 158125:158125 1:0:"hipMemcpy" -337765085299266 158125:158125 2:0:"" -337765085299847 158125:158125 2:0:"" -337765085300378 158125:158125 4:14:"" -337765096030497 158125:158125 0:0:"before hipLaunchKernel" -337765096031108 158125:158125 3:0:"hipLaunchKernel range" -337765096031719 158125:158125 1:0:"hipLaunchKernel" -337765096048972 158125:158125 0:0:"after hipLaunchKernel" -337765096049623 158125:158125 1:0:"hipMemcpy" -337765097357410 158125:158125 2:0:"" -337765097358001 158125:158125 2:0:"" -337765097358542 158125:158125 4:15:"" -337765108083731 158125:158125 0:0:"before hipLaunchKernel" -337765108084332 158125:158125 3:0:"hipLaunchKernel range" -337765108084933 158125:158125 1:0:"hipLaunchKernel" -337765108108127 158125:158125 0:0:"after hipLaunchKernel" -337765108109019 158125:158125 1:0:"hipMemcpy" -337765109225725 158125:158125 2:0:"" -337765109226326 158125:158125 2:0:"" -337765109226867 158125:158125 4:16:"" -337765120174857 158125:158125 0:0:"before hipLaunchKernel" -337765120175458 158125:158125 3:0:"hipLaunchKernel range" -337765120176069 158125:158125 1:0:"hipLaunchKernel" -337765120194784 158125:158125 0:0:"after hipLaunchKernel" -337765120195696 158125:158125 1:0:"hipMemcpy" -337765121308625 158125:158125 2:0:"" -337765121309216 158125:158125 2:0:"" -337765121309747 158125:158125 4:17:"" -337765131982666 158125:158125 0:0:"before hipLaunchKernel" -337765131983297 158125:158125 3:0:"hipLaunchKernel range" -337765131983898 158125:158125 1:0:"hipLaunchKernel" -337765132009897 158125:158125 0:0:"after hipLaunchKernel" -337765132010639 158125:158125 1:0:"hipMemcpy" -337765133128678 158125:158125 2:0:"" -337765133129269 158125:158125 2:0:"" -337765133129880 158125:158125 4:18:"" -337765143872722 158125:158125 0:0:"before hipLaunchKernel" -337765143873324 158125:158125 3:0:"hipLaunchKernel range" -337765143873935 158125:158125 1:0:"hipLaunchKernel" -337765143892760 158125:158125 0:0:"after hipLaunchKernel" -337765143893972 158125:158125 1:0:"hipMemcpy" -337765145004948 158125:158125 2:0:"" -337765145005709 158125:158125 2:0:"" -337765145006371 158125:158125 4:19:"" -337765155804718 158125:158125 0:0:"before hipLaunchKernel" -337765155805309 158125:158125 3:0:"hipLaunchKernel range" -337765155805970 158125:158125 1:0:"hipLaunchKernel" -337765155825597 158125:158125 0:0:"after hipLaunchKernel" -337765155826299 158125:158125 1:0:"hipMemcpy" -337765156946682 158125:158125 2:0:"" -337765156947383 158125:158125 2:0:"" -337765156947904 158125:158125 4:20:"" -337765167703090 158125:158125 0:0:"before hipLaunchKernel" -337765167703781 158125:158125 3:0:"hipLaunchKernel range" -337765167704392 158125:158125 1:0:"hipLaunchKernel" -337765167723749 158125:158125 0:0:"after hipLaunchKernel" -337765167724480 158125:158125 1:0:"hipMemcpy" -337765168846927 158125:158125 2:0:"" -337765168847649 158125:158125 2:0:"" -337765168848180 158125:158125 4:21:"" -337765179506703 158125:158125 0:0:"before hipLaunchKernel" -337765179507404 158125:158125 3:0:"hipLaunchKernel range" -337765179507996 158125:158125 1:0:"hipLaunchKernel" -337765179525719 158125:158125 0:0:"after hipLaunchKernel" -337765179526971 158125:158125 1:0:"hipMemcpy" -337765180641644 158125:158125 2:0:"" -337765180642345 158125:158125 2:0:"" -337765180642886 158125:158125 4:22:"" -337765191328411 158125:158125 0:0:"before hipLaunchKernel" -337765191329122 158125:158125 3:0:"hipLaunchKernel range" -337765191329743 158125:158125 1:0:"hipLaunchKernel" -337765191348018 158125:158125 0:0:"after hipLaunchKernel" -337765191348789 158125:158125 1:0:"hipMemcpy" -337765192464924 158125:158125 2:0:"" -337765192465525 158125:158125 2:0:"" -337765192466066 158125:158125 4:23:"" -337765203213816 158125:158125 0:0:"before hipLaunchKernel" -337765203214427 158125:158125 3:0:"hipLaunchKernel range" -337765203215019 158125:158125 1:0:"hipLaunchKernel" -337765203233233 158125:158125 0:0:"after hipLaunchKernel" -337765203233924 158125:158125 1:0:"hipMemcpy" -337765204355570 158125:158125 2:0:"" -337765204356181 158125:158125 2:0:"" -337765204356732 158125:158125 4:24:"" -337765215047606 158125:158125 0:0:"before hipLaunchKernel" -337765215048228 158125:158125 3:0:"hipLaunchKernel range" -337765215048839 158125:158125 1:0:"hipLaunchKernel" -337765215067795 158125:158125 0:0:"after hipLaunchKernel" -337765215068566 158125:158125 1:0:"hipMemcpy" -337765216192967 158125:158125 2:0:"" -337765216193848 158125:158125 2:0:"" -337765216194530 158125:158125 4:25:"" -337765226967639 158125:158125 0:0:"before hipLaunchKernel" -337765226968341 158125:158125 3:0:"hipLaunchKernel range" -337765226968962 158125:158125 1:0:"hipLaunchKernel" -337765226985413 158125:158125 0:0:"after hipLaunchKernel" -337765226986274 158125:158125 1:0:"hipMemcpy" -337765228104163 158125:158125 2:0:"" -337765228104844 158125:158125 2:0:"" -337765228105385 158125:158125 4:26:"" -337765238864328 158125:158125 0:0:"before hipLaunchKernel" -337765238864899 158125:158125 3:0:"hipLaunchKernel range" -337765238865500 158125:158125 1:0:"hipLaunchKernel" -337765238884186 158125:158125 0:0:"after hipLaunchKernel" -337765238885057 158125:158125 1:0:"hipMemcpy" -337765240006442 158125:158125 2:0:"" -337765240007234 158125:158125 2:0:"" -337765240007775 158125:158125 4:27:"" -337765250800051 158125:158125 0:0:"before hipLaunchKernel" -337765250800732 158125:158125 3:0:"hipLaunchKernel range" -337765250801343 158125:158125 1:0:"hipLaunchKernel" -337765250818005 158125:158125 0:0:"after hipLaunchKernel" -337765250818856 158125:158125 1:0:"hipMemcpy" -337765251930703 158125:158125 2:0:"" -337765251931374 158125:158125 2:0:"" -337765251931926 158125:158125 4:28:"" -337765262597783 158125:158125 0:0:"before hipLaunchKernel" -337765262598474 158125:158125 3:0:"hipLaunchKernel range" -337765262599095 158125:158125 1:0:"hipLaunchKernel" -337765262618332 158125:158125 0:0:"after hipLaunchKernel" -337765262618963 158125:158125 1:0:"hipMemcpy" -337765263727043 158125:158125 2:0:"" -337765263727664 158125:158125 2:0:"" -337765263728195 158125:158125 4:29:"" -337765274461688 158125:158125 0:0:"before hipLaunchKernel" -337765274462409 158125:158125 3:0:"hipLaunchKernel range" -337765274463011 158125:158125 1:0:"hipLaunchKernel" -337765274479912 158125:158125 0:0:"after hipLaunchKernel" -337765274480664 158125:158125 1:0:"hipMemcpy" -337765275596198 158125:158125 2:0:"" -337765275596809 158125:158125 2:0:"" -337765275597340 158125:158125 4:30:"" -337765286276733 158125:158125 0:0:"before hipLaunchKernel" -337765286277454 158125:158125 3:0:"hipLaunchKernel range" -337765286278055 158125:158125 1:0:"hipLaunchKernel" -337765286296470 158125:158125 0:0:"after hipLaunchKernel" -337765286297222 158125:158125 1:0:"hipMemcpy" -337765287417174 158125:158125 2:0:"" -337765287417885 158125:158125 2:0:"" -337765287418426 158125:158125 4:31:"" -337765298178511 158125:158125 0:0:"before hipLaunchKernel" -337765298179223 158125:158125 3:0:"hipLaunchKernel range" -337765298179844 158125:158125 1:0:"hipLaunchKernel" -337765298197287 158125:158125 0:0:"after hipLaunchKernel" -337765298198078 158125:158125 1:0:"hipMemcpy" -337765299313402 158125:158125 2:0:"" -337765299314003 158125:158125 2:0:"" -337765299314554 158125:158125 4:32:"" -337765310018313 158125:158125 0:0:"before hipLaunchKernel" -337765310019044 158125:158125 3:0:"hipLaunchKernel range" -337765310019645 158125:158125 1:0:"hipLaunchKernel" -337765310039182 158125:158125 0:0:"after hipLaunchKernel" -337765310039924 158125:158125 1:0:"hipMemcpy" -337765311155227 158125:158125 2:0:"" -337765311155919 158125:158125 2:0:"" -337765311156450 158125:158125 4:33:"" -337765321922195 158125:158125 0:0:"before hipLaunchKernel" -337765321922897 158125:158125 3:0:"hipLaunchKernel range" -337765321923518 158125:158125 1:0:"hipLaunchKernel" -337765321942273 158125:158125 0:0:"after hipLaunchKernel" -337765321943045 158125:158125 1:0:"hipMemcpy" -337765323048450 158125:158125 2:0:"" -337765323049051 158125:158125 2:0:"" -337765323049582 158125:158125 4:34:"" -337765333803325 158125:158125 0:0:"before hipLaunchKernel" -337765333804026 158125:158125 3:0:"hipLaunchKernel range" -337765333804637 158125:158125 1:0:"hipLaunchKernel" -337765333822441 158125:158125 0:0:"after hipLaunchKernel" -337765333823152 158125:158125 1:0:"hipMemcpy" -337765334938756 158125:158125 2:0:"" -337765334939458 158125:158125 2:0:"" -337765334939979 158125:158125 4:35:"" -337765345736631 158125:158125 0:0:"before hipLaunchKernel" -337765345737302 158125:158125 3:0:"hipLaunchKernel range" -337765345737913 158125:158125 1:0:"hipLaunchKernel" -337765345757160 158125:158125 0:0:"after hipLaunchKernel" -337765345757841 158125:158125 1:0:"hipMemcpy" -337765346874267 158125:158125 2:0:"" -337765346874878 158125:158125 2:0:"" -337765346875409 158125:158125 4:36:"" -337765357544953 158125:158125 0:0:"before hipLaunchKernel" -337765357545574 158125:158125 3:0:"hipLaunchKernel range" -337765357546195 158125:158125 1:0:"hipLaunchKernel" -337765357565201 158125:158125 0:0:"after hipLaunchKernel" -337765357565953 158125:158125 1:0:"hipMemcpy" -337765358705422 158125:158125 2:0:"" -337765358706123 158125:158125 2:0:"" -337765358706664 158125:158125 4:37:"" -337765369392299 158125:158125 0:0:"before hipLaunchKernel" -337765369393040 158125:158125 3:0:"hipLaunchKernel range" -337765369393641 158125:158125 1:0:"hipLaunchKernel" -337765369412487 158125:158125 0:0:"after hipLaunchKernel" -337765369413218 158125:158125 1:0:"hipMemcpy" -337765370516329 158125:158125 2:0:"" -337765370516950 158125:158125 2:0:"" -337765370517481 158125:158125 4:38:"" -337765381251948 158125:158125 0:0:"before hipLaunchKernel" -337765381252659 158125:158125 3:0:"hipLaunchKernel range" -337765381253260 158125:158125 1:0:"hipLaunchKernel" -337765381272577 158125:158125 0:0:"after hipLaunchKernel" -337765381273308 158125:158125 1:0:"hipMemcpy" -337765382390535 158125:158125 2:0:"" -337765382391237 158125:158125 2:0:"" -337765382391778 158125:158125 4:39:"" -337765393107669 158125:158125 0:0:"before hipLaunchKernel" -337765393108280 158125:158125 3:0:"hipLaunchKernel range" -337765393108972 158125:158125 1:0:"hipLaunchKernel" -337765393126314 158125:158125 0:0:"after hipLaunchKernel" -337765393126996 158125:158125 1:0:"hipMemcpy" -337765394244433 158125:158125 2:0:"" -337765394245155 158125:158125 2:0:"" -337765394245696 158125:158125 4:40:"" -337765405021240 158125:158125 0:0:"before hipLaunchKernel" -337765405021931 158125:158125 3:0:"hipLaunchKernel range" -337765405022542 158125:158125 1:0:"hipLaunchKernel" -337765405042089 158125:158125 0:0:"after hipLaunchKernel" -337765405042731 158125:158125 1:0:"hipMemcpy" -337765406155309 158125:158125 2:0:"" -337765406155900 158125:158125 2:0:"" -337765406156431 158125:158125 4:41:"" -337765416973301 158125:158125 0:0:"before hipLaunchKernel" -337765416974013 158125:158125 3:0:"hipLaunchKernel range" -337765416974624 158125:158125 1:0:"hipLaunchKernel" -337765416993319 158125:158125 0:0:"after hipLaunchKernel" -337765416994071 158125:158125 1:0:"hipMemcpy" -337765418108583 158125:158125 2:0:"" -337765418109184 158125:158125 2:0:"" -337765418109735 158125:158125 4:42:"" -337765428932458 158125:158125 0:0:"before hipLaunchKernel" -337765428933069 158125:158125 3:0:"hipLaunchKernel range" -337765428933680 158125:158125 1:0:"hipLaunchKernel" -337765428951694 158125:158125 0:0:"after hipLaunchKernel" -337765428952596 158125:158125 1:0:"hipMemcpy" -337765430061528 158125:158125 2:0:"" -337765430062249 158125:158125 2:0:"" -337765430062790 158125:158125 4:43:"" -337765441271842 158125:158125 0:0:"before hipLaunchKernel" -337765441272453 158125:158125 3:0:"hipLaunchKernel range" -337765441273044 158125:158125 1:0:"hipLaunchKernel" -337765441290677 158125:158125 0:0:"after hipLaunchKernel" -337765441291369 158125:158125 1:0:"hipMemcpy" -337765442413896 158125:158125 2:0:"" -337765442414547 158125:158125 2:0:"" -337765442415078 158125:158125 4:44:"" -337765453169653 158125:158125 0:0:"before hipLaunchKernel" -337765453170274 158125:158125 3:0:"hipLaunchKernel range" -337765453170885 158125:158125 1:0:"hipLaunchKernel" -337765453189791 158125:158125 0:0:"after hipLaunchKernel" -337765453190582 158125:158125 1:0:"hipMemcpy" -337765454302460 158125:158125 2:0:"" -337765454303041 158125:158125 2:0:"" -337765454303572 158125:158125 4:45:"" -337765465273903 158125:158125 0:0:"before hipLaunchKernel" -337765465274595 158125:158125 3:0:"hipLaunchKernel range" -337765465275206 158125:158125 1:0:"hipLaunchKernel" -337765465293310 158125:158125 0:0:"after hipLaunchKernel" -337765465294051 158125:158125 1:0:"hipMemcpy" -337765466408293 158125:158125 2:0:"" -337765466409004 158125:158125 2:0:"" -337765466409535 158125:158125 4:46:"" -337765477124325 158125:158125 0:0:"before hipLaunchKernel" -337765477124956 158125:158125 3:0:"hipLaunchKernel range" -337765477125557 158125:158125 1:0:"hipLaunchKernel" -337765477146477 158125:158125 0:0:"after hipLaunchKernel" -337765477147098 158125:158125 1:0:"hipMemcpy" -337765478266890 158125:158125 2:0:"" -337765478267511 158125:158125 2:0:"" -337765478268052 158125:158125 4:47:"" -337765489036561 158125:158125 0:0:"before hipLaunchKernel" -337765489037192 158125:158125 3:0:"hipLaunchKernel range" -337765489037804 158125:158125 1:0:"hipLaunchKernel" -337765489054926 158125:158125 0:0:"after hipLaunchKernel" -337765489055687 158125:158125 1:0:"hipMemcpy" -337765490170831 158125:158125 2:0:"" -337765490171432 158125:158125 2:0:"" -337765490171973 158125:158125 4:48:"" -337765500914765 158125:158125 0:0:"before hipLaunchKernel" -337765500915657 158125:158125 3:0:"hipLaunchKernel range" -337765500916268 158125:158125 1:0:"hipLaunchKernel" -337765500936005 158125:158125 0:0:"after hipLaunchKernel" -337765500936717 158125:158125 1:0:"hipMemcpy" -337765502053964 158125:158125 2:0:"" -337765502054675 158125:158125 2:0:"" -337765502055306 158125:158125 4:49:"" -337765512806044 158125:158125 0:0:"before hipLaunchKernel" -337765512806685 158125:158125 3:0:"hipLaunchKernel range" -337765512807306 158125:158125 1:0:"hipLaunchKernel" -337765512827154 158125:158125 0:0:"after hipLaunchKernel" -337765512827865 158125:158125 1:0:"hipMemcpy" -337765513937788 158125:158125 2:0:"" -337765513938390 158125:158125 2:0:"" -337765513938921 158125:158125 4:50:"" -337765524574831 158125:158125 0:0:"before hipLaunchKernel" -337765524575543 158125:158125 3:0:"hipLaunchKernel range" -337765524576134 158125:158125 1:0:"hipLaunchKernel" -337765524596482 158125:158125 0:0:"after hipLaunchKernel" -337765524597224 158125:158125 1:0:"hipMemcpy" -337765525751300 158125:158125 2:0:"" -337765525751932 158125:158125 2:0:"" -337765525752483 158125:158125 4:51:"" -337765536500966 158125:158125 0:0:"before hipLaunchKernel" -337765536501697 158125:158125 3:0:"hipLaunchKernel range" -337765536503581 158125:158125 1:0:"hipLaunchKernel" -337765536521685 158125:158125 0:0:"after hipLaunchKernel" -337765536522336 158125:158125 1:0:"hipMemcpy" -337765537638591 158125:158125 2:0:"" -337765537639233 158125:158125 2:0:"" -337765537639764 158125:158125 4:52:"" -337765548312203 158125:158125 0:0:"before hipLaunchKernel" -337765548312815 158125:158125 3:0:"hipLaunchKernel range" -337765548313436 158125:158125 1:0:"hipLaunchKernel" -337765548330478 158125:158125 0:0:"after hipLaunchKernel" -337765548331259 158125:158125 1:0:"hipMemcpy" -337765549446323 158125:158125 2:0:"" -337765549447024 158125:158125 2:0:"" -337765549447555 158125:158125 4:53:"" -337765560153606 158125:158125 0:0:"before hipLaunchKernel" -337765560154307 158125:158125 3:0:"hipLaunchKernel range" -337765560154919 158125:158125 1:0:"hipLaunchKernel" -337765560174085 158125:158125 0:0:"after hipLaunchKernel" -337765560174816 158125:158125 1:0:"hipMemcpy" -337765561287635 158125:158125 2:0:"" -337765561288226 158125:158125 2:0:"" -337765561288767 158125:158125 4:54:"" -337765572033604 158125:158125 0:0:"before hipLaunchKernel" -337765572034325 158125:158125 3:0:"hipLaunchKernel range" -337765572034966 158125:158125 1:0:"hipLaunchKernel" -337765572053271 158125:158125 0:0:"after hipLaunchKernel" -337765572054333 158125:158125 1:0:"hipMemcpy" -337765573179835 158125:158125 2:0:"" -337765573180517 158125:158125 2:0:"" -337765573181048 158125:158125 4:55:"" -337765583984344 158125:158125 0:0:"before hipLaunchKernel" -337765583985016 158125:158125 3:0:"hipLaunchKernel range" -337765583985627 158125:158125 1:0:"hipLaunchKernel" -337765584009402 158125:158125 0:0:"after hipLaunchKernel" -337765584010153 158125:158125 1:0:"hipMemcpy" -337765585125597 158125:158125 2:0:"" -337765585126208 158125:158125 2:0:"" -337765585126749 158125:158125 4:56:"" -337765595854964 158125:158125 0:0:"before hipLaunchKernel" -337765595855685 158125:158125 3:0:"hipLaunchKernel range" -337765595856296 158125:158125 1:0:"hipLaunchKernel" -337765595872758 158125:158125 0:0:"after hipLaunchKernel" -337765595873820 158125:158125 1:0:"hipMemcpy" -337765596992399 158125:158125 2:0:"" -337765596993031 158125:158125 2:0:"" -337765596993562 158125:158125 4:57:"" -337765608029848 158125:158125 0:0:"before hipLaunchKernel" -337765608030469 158125:158125 3:0:"hipLaunchKernel range" -337765608031080 158125:158125 1:0:"hipLaunchKernel" -337765608052661 158125:158125 0:0:"after hipLaunchKernel" -337765608053392 158125:158125 1:0:"hipMemcpy" -337765609170890 158125:158125 2:0:"" -337765609171511 158125:158125 2:0:"" -337765609172062 158125:158125 4:58:"" -337765619924713 158125:158125 0:0:"before hipLaunchKernel" -337765619925414 158125:158125 3:0:"hipLaunchKernel range" -337765619926015 158125:158125 1:0:"hipLaunchKernel" -337765619941755 158125:158125 0:0:"after hipLaunchKernel" -337765619942527 158125:158125 1:0:"hipMemcpy" -337765621076425 158125:158125 2:0:"" -337765621077106 158125:158125 2:0:"" -337765621077648 158125:158125 4:59:"" -337765631865966 158125:158125 0:0:"before hipLaunchKernel" -337765631866657 158125:158125 3:0:"hipLaunchKernel range" -337765631867248 158125:158125 1:0:"hipLaunchKernel" -337765631886104 158125:158125 0:0:"after hipLaunchKernel" -337765631886875 158125:158125 1:0:"hipMemcpy" -337765632995496 158125:158125 2:0:"" -337765632996107 158125:158125 2:0:"" -337765632996648 158125:158125 4:60:"" -337765643767482 158125:158125 0:0:"before hipLaunchKernel" -337765643768213 158125:158125 3:0:"hipLaunchKernel range" -337765643768814 158125:158125 1:0:"hipLaunchKernel" -337765643786307 158125:158125 0:0:"after hipLaunchKernel" -337765643787069 158125:158125 1:0:"hipMemcpy" -337765644906510 158125:158125 2:0:"" -337765644907212 158125:158125 2:0:"" -337765644907753 158125:158125 4:61:"" -337765655562239 158125:158125 0:0:"before hipLaunchKernel" -337765655562930 158125:158125 3:0:"hipLaunchKernel range" -337765655563591 158125:158125 1:0:"hipLaunchKernel" -337765655582096 158125:158125 0:0:"after hipLaunchKernel" -337765655582737 158125:158125 1:0:"hipMemcpy" -337765656702840 158125:158125 2:0:"" -337765656703451 158125:158125 2:0:"" -337765656704002 158125:158125 4:62:"" -337765667421126 158125:158125 0:0:"before hipLaunchKernel" -337765667421807 158125:158125 3:0:"hipLaunchKernel range" -337765667422419 158125:158125 1:0:"hipLaunchKernel" -337765667438779 158125:158125 0:0:"after hipLaunchKernel" -337765667439441 158125:158125 1:0:"hipMemcpy" -337765668549855 158125:158125 2:0:"" -337765668550546 158125:158125 2:0:"" -337765668551077 158125:158125 4:63:"" -337765679224789 158125:158125 0:0:"before hipLaunchKernel" -337765679225992 158125:158125 3:0:"hipLaunchKernel range" -337765679226603 158125:158125 1:0:"hipLaunchKernel" -337765679246460 158125:158125 0:0:"after hipLaunchKernel" -337765679247182 158125:158125 1:0:"hipMemcpy" -337765680358448 158125:158125 2:0:"" -337765680359059 158125:158125 2:0:"" -337765680359600 158125:158125 4:64:"" -337765691048420 158125:158125 0:0:"before hipLaunchKernel" -337765691049032 158125:158125 3:0:"hipLaunchKernel range" -337765691049653 158125:158125 1:0:"hipLaunchKernel" -337765691066996 158125:158125 0:0:"after hipLaunchKernel" -337765691067757 158125:158125 1:0:"hipMemcpy" -337765692186247 158125:158125 2:0:"" -337765692186858 158125:158125 2:0:"" -337765692187409 158125:158125 4:65:"" -337765702967772 158125:158125 0:0:"before hipLaunchKernel" -337765702968373 158125:158125 3:0:"hipLaunchKernel range" -337765702969445 158125:158125 1:0:"hipLaunchKernel" -337765702987880 158125:158125 0:0:"after hipLaunchKernel" -337765702988651 158125:158125 1:0:"hipMemcpy" -337765704103394 158125:158125 2:0:"" -337765704104015 158125:158125 2:0:"" -337765704104546 158125:158125 4:66:"" -337765714853949 158125:158125 0:0:"before hipLaunchKernel" -337765714854661 158125:158125 3:0:"hipLaunchKernel range" -337765714855322 158125:158125 1:0:"hipLaunchKernel" -337765714871723 158125:158125 0:0:"after hipLaunchKernel" -337765714872474 158125:158125 1:0:"hipMemcpy" -337765715986185 158125:158125 2:0:"" -337765715986786 158125:158125 2:0:"" -337765715987317 158125:158125 4:67:"" -337765726754896 158125:158125 0:0:"before hipLaunchKernel" -337765726755587 158125:158125 3:0:"hipLaunchKernel range" -337765726756209 158125:158125 1:0:"hipLaunchKernel" -337765726775635 158125:158125 0:0:"after hipLaunchKernel" -337765726776256 158125:158125 1:0:"hipMemcpy" -337765727892522 158125:158125 2:0:"" -337765727893203 158125:158125 2:0:"" -337765727893734 158125:158125 4:68:"" -337765738574680 158125:158125 0:0:"before hipLaunchKernel" -337765738575411 158125:158125 3:0:"hipLaunchKernel range" -337765738576012 158125:158125 1:0:"hipLaunchKernel" -337765738593145 158125:158125 0:0:"after hipLaunchKernel" -337765738593906 158125:158125 1:0:"hipMemcpy" -337765739709390 158125:158125 2:0:"" -337765739710302 158125:158125 2:0:"" -337765739710843 158125:158125 4:69:"" -337765750495574 158125:158125 0:0:"before hipLaunchKernel" -337765750496196 158125:158125 3:0:"hipLaunchKernel range" -337765750496787 158125:158125 1:0:"hipLaunchKernel" -337765750514821 158125:158125 0:0:"after hipLaunchKernel" -337765750515672 158125:158125 1:0:"hipMemcpy" -337765751635344 158125:158125 2:0:"" -337765751636587 158125:158125 2:0:"" -337765751637128 158125:158125 4:70:"" -337765762346046 158125:158125 0:0:"before hipLaunchKernel" -337765762346657 158125:158125 3:0:"hipLaunchKernel range" -337765762347278 158125:158125 1:0:"hipLaunchKernel" -337765762364912 158125:158125 0:0:"after hipLaunchKernel" -337765762365623 158125:158125 1:0:"hipMemcpy" -337765763485636 158125:158125 2:0:"" -337765763486237 158125:158125 2:0:"" -337765763486778 158125:158125 4:71:"" -337765774159207 158125:158125 0:0:"before hipLaunchKernel" -337765774159809 158125:158125 3:0:"hipLaunchKernel range" -337765774160430 158125:158125 1:0:"hipLaunchKernel" -337765774179936 158125:158125 0:0:"after hipLaunchKernel" -337765774180668 158125:158125 1:0:"hipMemcpy" -337765775303466 158125:158125 2:0:"" -337765775304067 158125:158125 2:0:"" -337765775304608 158125:158125 4:72:"" -337765786034474 158125:158125 0:0:"before hipLaunchKernel" -337765786035075 158125:158125 3:0:"hipLaunchKernel range" -337765786035696 158125:158125 1:0:"hipLaunchKernel" -337765786054762 158125:158125 0:0:"after hipLaunchKernel" -337765786055995 158125:158125 1:0:"hipMemcpy" -337765787173603 158125:158125 2:0:"" -337765787174204 158125:158125 2:0:"" -337765787174745 158125:158125 4:73:"" -337765797968433 158125:158125 0:0:"before hipLaunchKernel" -337765797969144 158125:158125 3:0:"hipLaunchKernel range" -337765797969836 158125:158125 1:0:"hipLaunchKernel" -337765797987409 158125:158125 0:0:"after hipLaunchKernel" -337765797988150 158125:158125 1:0:"hipMemcpy" -337765799106880 158125:158125 2:0:"" -337765799107492 158125:158125 2:0:"" -337765799108033 158125:158125 4:74:"" -337765809879349 158125:158125 0:0:"before hipLaunchKernel" -337765809879970 158125:158125 3:0:"hipLaunchKernel range" -337765809880581 158125:158125 1:0:"hipLaunchKernel" -337765809898014 158125:158125 0:0:"after hipLaunchKernel" -337765809898755 158125:158125 1:0:"hipMemcpy" -337765811017776 158125:158125 2:0:"" -337765811018387 158125:158125 2:0:"" -337765811018918 158125:158125 4:75:"" -337765821758655 158125:158125 0:0:"before hipLaunchKernel" -337765821759276 158125:158125 3:0:"hipLaunchKernel range" -337765821759887 158125:158125 1:0:"hipLaunchKernel" -337765821778102 158125:158125 0:0:"after hipLaunchKernel" -337765821778883 158125:158125 1:0:"hipMemcpy" -337765822899777 158125:158125 2:0:"" -337765822900378 158125:158125 2:0:"" -337765822900989 158125:158125 4:76:"" -337765833699166 158125:158125 0:0:"before hipLaunchKernel" -337765833699788 158125:158125 3:0:"hipLaunchKernel range" -337765833700399 158125:158125 1:0:"hipLaunchKernel" -337765833718282 158125:158125 0:0:"after hipLaunchKernel" -337765833719014 158125:158125 1:0:"hipMemcpy" -337765834854806 158125:158125 2:0:"" -337765834856950 158125:158125 2:0:"" -337765834857531 158125:158125 4:77:"" -337765845541753 158125:158125 0:0:"before hipLaunchKernel" -337765845542464 158125:158125 3:0:"hipLaunchKernel range" -337765845543156 158125:158125 1:0:"hipLaunchKernel" -337765845559667 158125:158125 0:0:"after hipLaunchKernel" -337765845560448 158125:158125 1:0:"hipMemcpy" -337765846667096 158125:158125 2:0:"" -337765846667697 158125:158125 2:0:"" -337765846668238 158125:158125 4:78:"" -337765857352739 158125:158125 0:0:"before hipLaunchKernel" -337765857353330 158125:158125 3:0:"hipLaunchKernel range" -337765857353931 158125:158125 1:0:"hipLaunchKernel" -337765857371885 158125:158125 0:0:"after hipLaunchKernel" -337765857372606 158125:158125 1:0:"hipMemcpy" -337765858498349 158125:158125 2:0:"" -337765858498950 158125:158125 2:0:"" -337765858499481 158125:158125 4:79:"" -337765869166741 158125:158125 0:0:"before hipLaunchKernel" -337765869167353 158125:158125 3:0:"hipLaunchKernel range" -337765869167964 158125:158125 1:0:"hipLaunchKernel" -337765869188543 158125:158125 0:0:"after hipLaunchKernel" -337765869189404 158125:158125 1:0:"hipMemcpy" -337765870299197 158125:158125 2:0:"" -337765870299799 158125:158125 2:0:"" -337765870300330 158125:158125 4:80:"" -337765881032642 158125:158125 0:0:"before hipLaunchKernel" -337765881033243 158125:158125 3:0:"hipLaunchKernel range" -337765881033915 158125:158125 1:0:"hipLaunchKernel" -337765881054193 158125:158125 0:0:"after hipLaunchKernel" -337765881054914 158125:158125 1:0:"hipMemcpy" -337765882176690 158125:158125 2:0:"" -337765882177301 158125:158125 2:0:"" -337765882177832 158125:158125 4:81:"" -337765892919713 158125:158125 0:0:"before hipLaunchKernel" -337765892920324 158125:158125 3:0:"hipLaunchKernel range" -337765892920995 158125:158125 1:0:"hipLaunchKernel" -337765892937116 158125:158125 0:0:"after hipLaunchKernel" -337765892937877 158125:158125 1:0:"hipMemcpy" -337765894043823 158125:158125 2:0:"" -337765894044434 158125:158125 2:0:"" -337765894044975 158125:158125 4:82:"" -337765904776897 158125:158125 0:0:"before hipLaunchKernel" -337765904777508 158125:158125 3:0:"hipLaunchKernel range" -337765904778109 158125:158125 1:0:"hipLaunchKernel" -337765904795582 158125:158125 0:0:"after hipLaunchKernel" -337765904796715 158125:158125 1:0:"hipMemcpy" -337765906408935 158125:158125 2:0:"" -337765906409527 158125:158125 2:0:"" -337765906410058 158125:158125 4:83:"" -337765917159503 158125:158125 0:0:"before hipLaunchKernel" -337765917160204 158125:158125 3:0:"hipLaunchKernel range" -337765917160915 158125:158125 1:0:"hipLaunchKernel" -337765917178899 158125:158125 0:0:"after hipLaunchKernel" -337765917180121 158125:158125 1:0:"hipMemcpy" -337765918300855 158125:158125 2:0:"" -337765918301947 158125:158125 2:0:"" -337765918302478 158125:158125 4:84:"" -337765929248492 158125:158125 0:0:"before hipLaunchKernel" -337765929249204 158125:158125 3:0:"hipLaunchKernel range" -337765929249815 158125:158125 1:0:"hipLaunchKernel" -337765929270424 158125:158125 0:0:"after hipLaunchKernel" -337765929271325 158125:158125 1:0:"hipMemcpy" -337765930389595 158125:158125 2:0:"" -337765930390306 158125:158125 2:0:"" -337765930390857 158125:158125 4:85:"" -337765941098734 158125:158125 0:0:"before hipLaunchKernel" -337765941099355 158125:158125 3:0:"hipLaunchKernel range" -337765941100036 158125:158125 1:0:"hipLaunchKernel" -337765941117409 158125:158125 0:0:"after hipLaunchKernel" -337765941118170 158125:158125 1:0:"hipMemcpy" -337765942239455 158125:158125 2:0:"" -337765942240056 158125:158125 2:0:"" -337765942240597 158125:158125 4:86:"" -337765953030478 158125:158125 0:0:"before hipLaunchKernel" -337765953031190 158125:158125 3:0:"hipLaunchKernel range" -337765953031791 158125:158125 1:0:"hipLaunchKernel" -337765953049424 158125:158125 0:0:"after hipLaunchKernel" -337765953050075 158125:158125 1:0:"hipMemcpy" -337765954169337 158125:158125 2:0:"" -337765954170048 158125:158125 2:0:"" -337765954170589 158125:158125 4:87:"" -337765964926416 158125:158125 0:0:"before hipLaunchKernel" -337765964927107 158125:158125 3:0:"hipLaunchKernel range" -337765964927718 158125:158125 1:0:"hipLaunchKernel" -337765964944330 158125:158125 0:0:"after hipLaunchKernel" -337765964945071 158125:158125 1:0:"hipMemcpy" -337765966057940 158125:158125 2:0:"" -337765966058611 158125:158125 2:0:"" -337765966059142 158125:158125 4:88:"" -337765976756910 158125:158125 0:0:"before hipLaunchKernel" -337765976757531 158125:158125 3:0:"hipLaunchKernel range" -337765976758162 158125:158125 1:0:"hipLaunchKernel" -337765976776687 158125:158125 0:0:"after hipLaunchKernel" -337765976777479 158125:158125 1:0:"hipMemcpy" -337765977898213 158125:158125 2:0:"" -337765977898824 158125:158125 2:0:"" -337765977899355 158125:158125 4:89:"" -337765988582294 158125:158125 0:0:"before hipLaunchKernel" -337765988582905 158125:158125 3:0:"hipLaunchKernel range" -337765988583527 158125:158125 1:0:"hipLaunchKernel" -337765988601721 158125:158125 0:0:"after hipLaunchKernel" -337765988602502 158125:158125 1:0:"hipMemcpy" -337765989710462 158125:158125 2:0:"" -337765989711063 158125:158125 2:0:"" -337765989711594 158125:158125 4:90:"" -337766000495022 158125:158125 0:0:"before hipLaunchKernel" -337766000495753 158125:158125 3:0:"hipLaunchKernel range" -337766000496364 158125:158125 1:0:"hipLaunchKernel" -337766000514258 158125:158125 0:0:"after hipLaunchKernel" -337766000514989 158125:158125 1:0:"hipMemcpy" -337766001641734 158125:158125 2:0:"" -337766001642325 158125:158125 2:0:"" -337766001642856 158125:158125 4:91:"" -337766012397101 158125:158125 0:0:"before hipLaunchKernel" -337766012397822 158125:158125 3:0:"hipLaunchKernel range" -337766012398483 158125:158125 1:0:"hipLaunchKernel" -337766012416237 158125:158125 0:0:"after hipLaunchKernel" -337766012417018 158125:158125 1:0:"hipMemcpy" -337766013530919 158125:158125 2:0:"" -337766013531530 158125:158125 2:0:"" -337766013532071 158125:158125 4:92:"" -337766024226452 158125:158125 0:0:"before hipLaunchKernel" -337766024227074 158125:158125 3:0:"hipLaunchKernel range" -337766024227765 158125:158125 1:0:"hipLaunchKernel" -337766024247211 158125:158125 0:0:"after hipLaunchKernel" -337766024247933 158125:158125 1:0:"hipMemcpy" -337766025362064 158125:158125 2:0:"" -337766025362665 158125:158125 2:0:"" -337766025363216 158125:158125 4:93:"" -337766036562500 158125:158125 0:0:"before hipLaunchKernel" -337766036563111 158125:158125 3:0:"hipLaunchKernel range" -337766036563772 158125:158125 1:0:"hipLaunchKernel" -337766036583630 158125:158125 0:0:"after hipLaunchKernel" -337766036584341 158125:158125 1:0:"hipMemcpy" -337766037709994 158125:158125 2:0:"" -337766037710605 158125:158125 2:0:"" -337766037711146 158125:158125 4:94:"" -337766048391481 158125:158125 0:0:"before hipLaunchKernel" -337766048392202 158125:158125 3:0:"hipLaunchKernel range" -337766048392803 158125:158125 1:0:"hipLaunchKernel" -337766048411449 158125:158125 0:0:"after hipLaunchKernel" -337766048412170 158125:158125 1:0:"hipMemcpy" -337766049519799 158125:158125 2:0:"" -337766049520400 158125:158125 2:0:"" -337766049520931 158125:158125 4:95:"" -337766060458842 158125:158125 0:0:"before hipLaunchKernel" -337766060459553 158125:158125 3:0:"hipLaunchKernel range" -337766060460144 158125:158125 1:0:"hipLaunchKernel" -337766060478389 158125:158125 0:0:"after hipLaunchKernel" -337766060479170 158125:158125 1:0:"hipMemcpy" -337766061600525 158125:158125 2:0:"" -337766061601126 158125:158125 2:0:"" -337766061601667 158125:158125 4:96:"" -337766072277241 158125:158125 0:0:"before hipLaunchKernel" -337766072277942 158125:158125 3:0:"hipLaunchKernel range" -337766072278624 158125:158125 1:0:"hipLaunchKernel" -337766072299152 158125:158125 0:0:"after hipLaunchKernel" -337766072299874 158125:158125 1:0:"hipMemcpy" -337766073412242 158125:158125 2:0:"" -337766073412953 158125:158125 2:0:"" -337766073413494 158125:158125 4:97:"" -337766084153662 158125:158125 0:0:"before hipLaunchKernel" -337766084154513 158125:158125 3:0:"hipLaunchKernel range" -337766084155114 158125:158125 1:0:"hipLaunchKernel" -337766084173018 158125:158125 0:0:"after hipLaunchKernel" -337766084173750 158125:158125 1:0:"hipMemcpy" -337766085285497 158125:158125 2:0:"" -337766085286078 158125:158125 2:0:"" -337766085286609 158125:158125 4:98:"" -337766096027848 158125:158125 0:0:"before hipLaunchKernel" -337766096028469 158125:158125 3:0:"hipLaunchKernel range" -337766096029060 158125:158125 1:0:"hipLaunchKernel" -337766096049489 158125:158125 0:0:"after hipLaunchKernel" -337766096050761 158125:158125 1:0:"hipMemcpy" -337766097169511 158125:158125 2:0:"" -337766097170103 158125:158125 2:0:"" -337766097170644 158125:158125 4:99:"" -337766107934155 158125:158125 0:0:"before hipLaunchKernel" -337766107934766 158125:158125 3:0:"hipLaunchKernel range" -337766107935357 158125:158125 1:0:"hipLaunchKernel" -337766107952149 158125:158125 0:0:"after hipLaunchKernel" -337766107952880 158125:158125 1:0:"hipMemcpy" -337766109070128 158125:158125 2:0:"" -337766109070849 158125:158125 2:0:"" -337766109071390 158125:158125 4:100:"" + HSA-trace(*) + HIP-trace(*) +6503198758262763:6503198759025641 2:0 CopyHostToDevice:311:35231 +6503198759488560:6503198759572399 2:0 matrixTranspose(float*, float*, int):680:35231 +6503198762218152:6503198764905625 2:0 CopyDeviceToHost:703:35231 +6503198774375360:6503198775974556 2:0 CopyHostToDevice:734:35231 +6503198776053156:6503198776155396 2:0 matrixTranspose(float*, float*, int):753:35231 +6503198776159556:6503198777607032 2:0 CopyDeviceToHost:763:35231 +6503198786341729:6503198787993244 2:0 CopyHostToDevice:795:35231 +6503198788062884:6503198788164964 2:0 matrixTranspose(float*, float*, int):814:35231 +6503198788168644:6503198789615960 2:0 CopyDeviceToHost:824:35231 +6503198798533377:6503198800186172 2:0 CopyHostToDevice:857:35231 +6503198800270532:6503198800372612 2:0 matrixTranspose(float*, float*, int):876:35231 +6503198800376292:6503198801834648 2:0 CopyDeviceToHost:886:35231 +6503198810583905:6503198812248221 2:0 CopyHostToDevice:919:35231 +6503198812320260:6503198812422180 2:0 matrixTranspose(float*, float*, int):938:35231 +6503198812425860:6503198813870776 2:0 CopyDeviceToHost:948:35231 +6503198822583545:6503198824236500 2:0 CopyHostToDevice:980:35231 +6503198824312378:6503198824415578 2:0 matrixTranspose(float*, float*, int):999:35231 +6503198824419258:6503198825874094 2:0 CopyDeviceToHost:1009:35231 +6503198834594386:6503198836247981 2:0 CopyHostToDevice:1042:35231 +6503198836318581:6503198836420820 2:0 matrixTranspose(float*, float*, int):1061:35231 +6503198836424500:6503198837871016 2:0 CopyDeviceToHost:1071:35231 +6503198846613388:6503198848267303 2:0 CopyHostToDevice:1103:35231 +6503198848338383:6503198848440942 2:0 matrixTranspose(float*, float*, int):1122:35231 +6503198848444622:6503198849892578 2:0 CopyDeviceToHost:1132:35231 +6503198858621510:6503198860273505 2:0 CopyHostToDevice:1165:35231 +6503198860342825:6503198860444904 2:0 matrixTranspose(float*, float*, int):1183:35231 +6503198860448744:6503198861892220 2:0 CopyDeviceToHost:1192:35231 +6503198870572832:6503198872223707 2:0 CopyHostToDevice:1225:35231 +6503198872292547:6503198872394787 2:0 matrixTranspose(float*, float*, int):1243:35231 +6503198872398467:6503198873840982 2:0 CopyDeviceToHost:1252:35231 +6503198882540155:6503198884191030 2:0 CopyHostToDevice:1285:35231 +6503198884261469:6503198884363549 2:0 matrixTranspose(float*, float*, int):1303:35231 +6503198884367229:6503198885810704 2:0 CopyDeviceToHost:1312:35231 +6503198894494520:6503198896146832 2:0 CopyHostToDevice:1345:35231 +6503198896220150:6503198896322550 2:0 matrixTranspose(float*, float*, int):1363:35231 +6503198896326230:6503198897774983 2:0 CopyDeviceToHost:1372:35231 +6503198906484542:6503198908137494 2:0 CopyHostToDevice:1405:35231 +6503198908208413:6503198908310653 2:0 matrixTranspose(float*, float*, int):1423:35231 +6503198908314173:6503198909857965 2:0 CopyDeviceToHost:1432:35231 +6503198918647204:6503198920424475 2:0 CopyHostToDevice:1465:35231 +6503198920493155:6503198920596034 2:0 matrixTranspose(float*, float*, int):1483:35231 +6503198920599554:6503198922163347 2:0 CopyDeviceToHost:1492:35231 +6503198930957385:6503198932743456 2:0 CopyHostToDevice:1524:35231 +6503198932814376:6503198932916296 2:0 matrixTranspose(float*, float*, int):1542:35231 +6503198932919976:6503198934441208 2:0 CopyDeviceToHost:1551:35231 +6503198943220367:6503198945018118 2:0 CopyHostToDevice:1583:35231 +6503198945089998:6503198945191917 2:0 matrixTranspose(float*, float*, int):1601:35231 +6503198945195597:6503198946720830 2:0 CopyDeviceToHost:1610:35231 +6503198955958706:6503198957717098 2:0 CopyHostToDevice:1643:35231 +6503198957792630:6503198957894549 2:0 matrixTranspose(float*, float*, int):1661:35231 +6503198957898417:6503198959372742 2:0 CopyDeviceToHost:1670:35231 +6503198968173019:6503198969829811 2:0 CopyHostToDevice:1703:35231 +6503198969901850:6503198970004250 2:0 matrixTranspose(float*, float*, int):1721:35231 +6503198970007930:6503198971483403 2:0 CopyDeviceToHost:1730:35231 +6503198980293440:6503198981951192 2:0 CopyHostToDevice:1763:35231 +6503198982027072:6503198982128991 2:0 matrixTranspose(float*, float*, int):1781:35231 +6503198982132671:6503198983575984 2:0 CopyDeviceToHost:1790:35231 +6503198992327622:6503198993982174 2:0 CopyHostToDevice:1823:35231 +6503198994049894:6503198994151813 2:0 matrixTranspose(float*, float*, int):1841:35231 +6503198994155493:6503198995599286 2:0 CopyDeviceToHost:1850:35231 +6503199004347404:6503199006001316 2:0 CopyHostToDevice:1883:35231 +6503199006070476:6503199006172235 2:0 matrixTranspose(float*, float*, int):1901:35231 +6503199006175915:6503199007619228 2:0 CopyDeviceToHost:1910:35231 +6503199016361266:6503199018020938 2:0 CopyHostToDevice:1943:35231 +6503199018092978:6503199018195217 2:0 matrixTranspose(float*, float*, int):1961:35231 +6503199018198737:6503199019641250 2:0 CopyDeviceToHost:1970:35231 +6503199028387375:6503199030042569 2:0 CopyHostToDevice:2003:35231 +6503199030114447:6503199030216687 2:0 matrixTranspose(float*, float*, int):2021:35231 +6503199030220367:6503199031663042 2:0 CopyDeviceToHost:2030:35231 +6503199040399969:6503199042060763 2:0 CopyHostToDevice:2062:35231 +6503199042130562:6503199042232642 2:0 matrixTranspose(float*, float*, int):2080:35231 +6503199042236482:6503199043680436 2:0 CopyDeviceToHost:2089:35231 +6503199052414324:6503199054076877 2:0 CopyHostToDevice:2121:35231 +6503199054146837:6503199054248597 2:0 matrixTranspose(float*, float*, int):2139:35231 +6503199054252277:6503199055695591 2:0 CopyDeviceToHost:2148:35231 +6503199064428358:6503199066109312 2:0 CopyHostToDevice:2181:35231 +6503199066182472:6503199066284711 2:0 matrixTranspose(float*, float*, int):2199:35231 +6503199066288391:6503199067731386 2:0 CopyDeviceToHost:2208:35231 +6503199076457753:6503199078115667 2:0 CopyHostToDevice:2241:35231 +6503199078184347:6503199078286266 2:0 matrixTranspose(float*, float*, int):2259:35231 +6503199078289946:6503199079735181 2:0 CopyDeviceToHost:2268:35231 +6503199088477068:6503199090114662 2:0 CopyHostToDevice:2301:35231 +6503199090184462:6503199090286381 2:0 matrixTranspose(float*, float*, int):2319:35231 +6503199090290061:6503199091736096 2:0 CopyDeviceToHost:2328:35231 +6503199100479237:6503199102134111 2:0 CopyHostToDevice:2361:35231 +6503199102208389:6503199102310469 2:0 matrixTranspose(float*, float*, int):2379:35231 +6503199102314149:6503199103757463 2:0 CopyDeviceToHost:2388:35231 +6503199112511028:6503199114167181 2:0 CopyHostToDevice:2420:35231 +6503199114240020:6503199114341940 2:0 matrixTranspose(float*, float*, int):2438:35231 +6503199114345620:6503199115789254 2:0 CopyDeviceToHost:2447:35231 +6503199124518339:6503199126169372 2:0 CopyHostToDevice:2480:35231 +6503199126239172:6503199126341411 2:0 matrixTranspose(float*, float*, int):2498:35231 +6503199126345091:6503199127787925 2:0 CopyDeviceToHost:2507:35231 +6503199136515890:6503199138167563 2:0 CopyHostToDevice:2540:35231 +6503199138234003:6503199138335922 2:0 matrixTranspose(float*, float*, int):2558:35231 +6503199138339762:6503199139782917 2:0 CopyDeviceToHost:2567:35231 +6503199148501281:6503199150156314 2:0 CopyHostToDevice:2599:35231 +6503199150229954:6503199150332194 2:0 matrixTranspose(float*, float*, int):2617:35231 +6503199150335874:6503199151779028 2:0 CopyDeviceToHost:2626:35231 +6503199160505712:6503199162158666 2:0 CopyHostToDevice:2658:35231 +6503199162228305:6503199162330705 2:0 matrixTranspose(float*, float*, int):2676:35231 +6503199162334225:6503199163777699 2:0 CopyDeviceToHost:2685:35231 +6503199172495626:6503199174246499 2:0 CopyHostToDevice:2718:35231 +6503199174323497:6503199174427337 2:0 matrixTranspose(float*, float*, int):2736:35231 +6503199174431017:6503199175874331 2:0 CopyDeviceToHost:2745:35231 +6503199183492379:6503199185150771 2:0 CopyHostToDevice:2778:35231 +6503199185219611:6503199185321371 2:0 matrixTranspose(float*, float*, int):2796:35231 +6503199185325051:6503199186767885 2:0 CopyDeviceToHost:2805:35231 +6503199195461768:6503199197115201 2:0 CopyHostToDevice:2838:35231 +6503199197183240:6503199197285000 2:0 matrixTranspose(float*, float*, int):2856:35231 +6503199197288840:6503199198732474 2:0 CopyDeviceToHost:2865:35231 +6503199207437717:6503199209066990 2:0 CopyHostToDevice:2898:35231 +6503199209136470:6503199209238069 2:0 matrixTranspose(float*, float*, int):2916:35231 +6503199209241749:6503199210686343 2:0 CopyDeviceToHost:2925:35231 +6503199219387426:6503199221040699 2:0 CopyHostToDevice:2957:35231 +6503199221109699:6503199221211298 2:0 matrixTranspose(float*, float*, int):2975:35231 +6503199221214978:6503199222659252 2:0 CopyDeviceToHost:2984:35231 +6503199231363375:6503199233039208 2:0 CopyHostToDevice:3017:35231 +6503199233111888:6503199233213808 2:0 matrixTranspose(float*, float*, int):3035:35231 +6503199233217648:6503199234660801 2:0 CopyDeviceToHost:3044:35231 +6503199243390704:6503199245065899 2:0 CopyHostToDevice:3077:35231 +6503199245140977:6503199245242737 2:0 matrixTranspose(float*, float*, int):3095:35231 +6503199245246417:6503199246688612 2:0 CopyDeviceToHost:3104:35231 +6503199255444263:6503199257096257 2:0 CopyHostToDevice:3136:35231 +6503199257165257:6503199257266857 2:0 matrixTranspose(float*, float*, int):3154:35231 +6503199257270537:6503199258715772 2:0 CopyDeviceToHost:3163:35231 +6503199267424223:6503199269076857 2:0 CopyHostToDevice:3195:35231 +6503199269149057:6503199269250496 2:0 matrixTranspose(float*, float*, int):3213:35231 +6503199269254176:6503199270697012 2:0 CopyDeviceToHost:3222:35231 +6503199279403702:6503199281055057 2:0 CopyHostToDevice:3255:35231 +6503199281124057:6503199281226296 2:0 matrixTranspose(float*, float*, int):3273:35231 +6503199281229976:6503199282672331 2:0 CopyDeviceToHost:3282:35231 +6503199291380942:6503199293033737 2:0 CopyHostToDevice:3315:35231 +6503199293107056:6503199293208976 2:0 matrixTranspose(float*, float*, int):3333:35231 +6503199293212496:6503199294656931 2:0 CopyDeviceToHost:3342:35231 +6503199303373542:6503199305029216 2:0 CopyHostToDevice:3374:35231 +6503199305100616:6503199305202376 2:0 matrixTranspose(float*, float*, int):3392:35231 +6503199305206056:6503199306649051 2:0 CopyDeviceToHost:3401:35231 +6503199315342281:6503199317001155 2:0 CopyHostToDevice:3434:35231 +6503199317080073:6503199317181993 2:0 matrixTranspose(float*, float*, int):3452:35231 +6503199317185673:6503199318628988 2:0 CopyDeviceToHost:3461:35231 +6503199327308157:6503199328973751 2:0 CopyHostToDevice:3493:35231 +6503199329043551:6503199329148990 2:0 matrixTranspose(float*, float*, int):3511:35231 +6503199329152670:6503199330599665 2:0 CopyDeviceToHost:3520:35231 +6503199339820592:6503199341472106 2:0 CopyHostToDevice:3553:35231 +6503199341538226:6503199341640625 2:0 matrixTranspose(float*, float*, int):3571:35231 +6503199341644465:6503199343089860 2:0 CopyDeviceToHost:3580:35231 +6503199351782469:6503199353439263 2:0 CopyHostToDevice:3613:35231 +6503199353511783:6503199353614503 2:0 matrixTranspose(float*, float*, int):3631:35231 +6503199353618183:6503199355060697 2:0 CopyDeviceToHost:3640:35231 +6503199363758586:6503199365410260 2:0 CopyHostToDevice:3673:35231 +6503199365483260:6503199365586300 2:0 matrixTranspose(float*, float*, int):3691:35231 +6503199365589980:6503199367032654 2:0 CopyDeviceToHost:3700:35231 +6503199375744943:6503199377404777 2:0 CopyHostToDevice:3733:35231 +6503199377474897:6503199377585297 2:0 matrixTranspose(float*, float*, int):3751:35231 +6503199377588977:6503199379031331 2:0 CopyDeviceToHost:3760:35231 +6503199387720870:6503199389373663 2:0 CopyHostToDevice:3793:35231 +6503199389448901:6503199389551781 2:0 matrixTranspose(float*, float*, int):3811:35231 +6503199389555461:6503199390997654 2:0 CopyDeviceToHost:3820:35231 +6503199399697615:6503199401348168 2:0 CopyHostToDevice:3853:35231 +6503199401417967:6503199401525327 2:0 matrixTranspose(float*, float*, int):3871:35231 +6503199401529007:6503199402971040 2:0 CopyDeviceToHost:3880:35231 +6503199411672761:6503199413324114 2:0 CopyHostToDevice:3913:35231 +6503199413391993:6503199413494073 2:0 matrixTranspose(float*, float*, int):3931:35231 +6503199413497753:6503199414940426 2:0 CopyDeviceToHost:3940:35231 +6503199423671587:6503199425322299 2:0 CopyHostToDevice:3973:35231 +6503199425389859:6503199425491619 2:0 matrixTranspose(float*, float*, int):3991:35231 +6503199425495459:6503199426940372 2:0 CopyDeviceToHost:4000:35231 +6503199435642093:6503199437308645 2:0 CopyHostToDevice:4033:35231 +6503199437377165:6503199437479245 2:0 matrixTranspose(float*, float*, int):4051:35231 +6503199437483085:6503199438926398 2:0 CopyDeviceToHost:4060:35231 +6503199447645559:6503199449298831 2:0 CopyHostToDevice:4093:35231 +6503199449367831:6503199449468950 2:0 matrixTranspose(float*, float*, int):4111:35231 +6503199449472630:6503199450921384 2:0 CopyDeviceToHost:4120:35231 +6503199459650770:6503199461303243 2:0 CopyHostToDevice:4152:35231 +6503199461378481:6503199461482001 2:0 matrixTranspose(float*, float*, int):4170:35231 +6503199461485681:6503199462928514 2:0 CopyDeviceToHost:4179:35231 +6503199471616795:6503199473269588 2:0 CopyHostToDevice:4212:35231 +6503199473337947:6503199473440027 2:0 matrixTranspose(float*, float*, int):4230:35231 +6503199473443547:6503199474886540 2:0 CopyDeviceToHost:4239:35231 +6503199484129218:6503199485779771 2:0 CopyHostToDevice:4272:35231 +6503199485848451:6503199485950530 2:0 matrixTranspose(float*, float*, int):4290:35231 +6503199485954210:6503199487398004 2:0 CopyDeviceToHost:4299:35231 +6503199496094604:6503199497745477 2:0 CopyHostToDevice:4331:35231 +6503199497814956:6503199497917036 2:0 matrixTranspose(float*, float*, int):4349:35231 +6503199497920716:6503199499364029 2:0 CopyDeviceToHost:4358:35231 +6503199508078390:6503199509729102 2:0 CopyHostToDevice:4391:35231 +6503199509800982:6503199509903062 2:0 matrixTranspose(float*, float*, int):4409:35231 +6503199509906742:6503199511349575 2:0 CopyDeviceToHost:4418:35231 +6503199520053856:6503199521723288 2:0 CopyHostToDevice:4451:35231 +6503199521795648:6503199521897727 2:0 matrixTranspose(float*, float*, int):4469:35231 +6503199521901407:6503199523345681 2:0 CopyDeviceToHost:4478:35231 +6503199532033666:6503199533660379 2:0 CopyHostToDevice:4511:35231 +6503199533737057:6503199533839137 2:0 matrixTranspose(float*, float*, int):4529:35231 +6503199533842657:6503199535285650 2:0 CopyDeviceToHost:4538:35231 +6503199543969291:6503199545621444 2:0 CopyHostToDevice:4571:35231 +6503199545688364:6503199545790603 2:0 matrixTranspose(float*, float*, int):4589:35231 +6503199545794283:6503199547236477 2:0 CopyDeviceToHost:4598:35231 +6503199555904437:6503199557562350 2:0 CopyHostToDevice:4631:35231 +6503199557635350:6503199557737269 2:0 matrixTranspose(float*, float*, int):4649:35231 +6503199557740949:6503199559187943 2:0 CopyDeviceToHost:4658:35231 +6503199567901343:6503199569556376 2:0 CopyHostToDevice:4691:35231 +6503199569626496:6503199569728895 2:0 matrixTranspose(float*, float*, int):4709:35231 +6503199569732575:6503199571175889 2:0 CopyDeviceToHost:4718:35231 +6503199579887209:6503199581538242 2:0 CopyHostToDevice:4751:35231 +6503199581607242:6503199581709321 2:0 matrixTranspose(float*, float*, int):4769:35231 +6503199581713001:6503199583158555 2:0 CopyDeviceToHost:4778:35231 +6503199591869555:6503199593519948 2:0 CopyHostToDevice:4811:35231 +6503199593591188:6503199593693107 2:0 matrixTranspose(float*, float*, int):4829:35231 +6503199593696627:6503199595139301 2:0 CopyDeviceToHost:4838:35231 +6503199603865396:6503199605515949 2:0 CopyHostToDevice:4871:35231 +6503199605588307:6503199605690547 2:0 matrixTranspose(float*, float*, int):4889:35231 +6503199605694227:6503199607137701 2:0 CopyDeviceToHost:4898:35231 +6503199616400861:6503199618051414 2:0 CopyHostToDevice:4931:35231 +6503199618119933:6503199618222173 2:0 matrixTranspose(float*, float*, int):4949:35231 +6503199618225853:6503199619670927 2:0 CopyDeviceToHost:4958:35231 +6503199628368009:6503199630019522 2:0 CopyHostToDevice:4991:35231 +6503199630088842:6503199630190761 2:0 matrixTranspose(float*, float*, int):5009:35231 +6503199630194441:6503199631637755 2:0 CopyDeviceToHost:5018:35231 +6503199640327318:6503199641979150 2:0 CopyHostToDevice:5050:35231 +6503199642048630:6503199642150710 2:0 matrixTranspose(float*, float*, int):5068:35231 +6503199642154390:6503199643597223 2:0 CopyDeviceToHost:5077:35231 +6503199652300866:6503199653953659 2:0 CopyHostToDevice:5110:35231 +6503199654026338:6503199654128578 2:0 matrixTranspose(float*, float*, int):5128:35231 +6503199654132258:6503199655575412 2:0 CopyDeviceToHost:5137:35231 +6503199664285454:6503199665937767 2:0 CopyHostToDevice:5170:35231 +6503199666003567:6503199666105806 2:0 matrixTranspose(float*, float*, int):5188:35231 +6503199666109646:6503199667553440 2:0 CopyDeviceToHost:5197:35231 +6503199676238384:6503199677889417 2:0 CopyHostToDevice:5229:35231 +6503199677960975:6503199678062895 2:0 matrixTranspose(float*, float*, int):5247:35231 +6503199678066575:6503199679508929 2:0 CopyDeviceToHost:5256:35231 +6503199688228251:6503199689881844 2:0 CopyHostToDevice:5288:35231 +6503199689951484:6503199690053723 2:0 matrixTranspose(float*, float*, int):5306:35231 +6503199690057243:6503199691500557 2:0 CopyDeviceToHost:5315:35231 +6503199700203080:6503199701832033 2:0 CopyHostToDevice:5348:35231 +6503199701902633:6503199702004552 2:0 matrixTranspose(float*, float*, int):5366:35231 +6503199702008392:6503199703452666 2:0 CopyDeviceToHost:5375:35231 +6503199712179188:6503199713840141 2:0 CopyHostToDevice:5408:35231 +6503199713911381:6503199714013300 2:0 matrixTranspose(float*, float*, int):5426:35231 +6503199714016980:6503199715463814 2:0 CopyDeviceToHost:5435:35231 +6503199724158017:6503199725817530 2:0 CopyHostToDevice:5468:35231 +6503199725891329:6503199725993569 2:0 matrixTranspose(float*, float*, int):5486:35231 +6503199725997249:6503199727440883 2:0 CopyDeviceToHost:5495:35231 +6503199736140685:6503199737791878 2:0 CopyHostToDevice:5527:35231 +6503199737859918:6503199737961678 2:0 matrixTranspose(float*, float*, int):5545:35231 +6503199737965358:6503199739408511 2:0 CopyDeviceToHost:5554:35231 +6503199748116849:6503199749768683 2:0 CopyHostToDevice:5586:35231 +6503199749846801:6503199749948721 2:0 matrixTranspose(float*, float*, int):5604:35231 +6503199749952401:6503199751394755 2:0 CopyDeviceToHost:5613:35231 +6503199760625118:6503199762277112 2:0 CopyHostToDevice:5646:35231 +6503199762345151:6503199762448831 2:0 matrixTranspose(float*, float*, int):5664:35231 +6503199762452511:6503199763895505 2:0 CopyDeviceToHost:5673:35231 +6503199772607150:6503199774257704 2:0 CopyHostToDevice:5706:35231 +6503199774323824:6503199774425903 2:0 matrixTranspose(float*, float*, int):5724:35231 +6503199774429423:6503199775876737 2:0 CopyDeviceToHost:5733:35231 +6503199784599422:6503199786254616 2:0 CopyHostToDevice:5765:35231 +6503199786323776:6503199786425855 2:0 matrixTranspose(float*, float*, int):5783:35231 +6503199786429535:6503199787879889 2:0 CopyDeviceToHost:5792:35231 +6503199796624814:6503199798362727 2:0 CopyHostToDevice:5825:35231 +6503199798432847:6503199798540527 2:0 matrixTranspose(float*, float*, int):5843:35231 +6503199798544207:6503199800005761 2:0 CopyDeviceToHost:5852:35231 +6503199808763966:6503199810418679 2:0 CopyHostToDevice:5885:35231 +6503199810491359:6503199810594239 2:0 matrixTranspose(float*, float*, int):5903:35231 +6503199810598078:6503199812048433 2:0 CopyDeviceToHost:5912:35231 +6503199820779245:6503199822444519 2:0 CopyHostToDevice:5945:35231 +6503199822519757:6503199822622637 2:0 matrixTranspose(float*, float*, int):5963:35231 +6503199822626317:6503199824071872 2:0 CopyDeviceToHost:5972:35231 +6503199832806239:6503199834466392 2:0 CopyHostToDevice:6005:35231 +6503199834533792:6503199834636512 2:0 matrixTranspose(float*, float*, int):6023:35231 +6503199834640192:6503199836098546 2:0 CopyDeviceToHost:6032:35231 +6503199844873073:6503199846524427 2:0 CopyHostToDevice:6065:35231 +6503199846593106:6503199846695346 2:0 matrixTranspose(float*, float*, int):6083:35231 +6503199846699026:6503199848145380 2:0 CopyDeviceToHost:6092:35231 +6503199856888067:6503199858539261 2:0 CopyHostToDevice:6125:35231 +6503199858610341:6503199858712581 2:0 matrixTranspose(float*, float*, int):6143:35231 +6503199858716261:6503199860161815 2:0 CopyDeviceToHost:6152:35231 +6503199868906902:6503199870557296 2:0 CopyHostToDevice:6185:35231 +6503199870622775:6503199870725015 2:0 matrixTranspose(float*, float*, int):6203:35231 +6503199870728695:6503199872171690 2:0 CopyDeviceToHost:6212:35231 +6503199880887177:6503199882537890 2:0 CopyHostToDevice:6245:35231 +6503199882602570:6503199882704650 2:0 matrixTranspose(float*, float*, int):6263:35231 +6503199882708330:6503199884151164 2:0 CopyDeviceToHost:6272:35231 +6503199892868353:6503199894519546 2:0 CopyHostToDevice:6305:35231 +6503199894604064:6503199894706304 2:0 matrixTranspose(float*, float*, int):6323:35231 +6503199894709984:6503199896153778 2:0 CopyDeviceToHost:6332:35231 +6503199904877100:6503199906501093 2:0 CopyHostToDevice:6364:35231 +6503199906567533:6503199906669613 2:0 matrixTranspose(float*, float*, int):6382:35231 +6503199906673293:6503199908117406 2:0 CopyDeviceToHost:6391:35231 +6503199916810169:6503199918470002 2:0 CopyHostToDevice:6424:35231 +6503199918540762:6503199918643641 2:0 matrixTranspose(float*, float*, int):6442:35231 +6503199918647321:6503199920089515 2:0 CopyDeviceToHost:6451:35231 +6503199928789958:6503199930451071 2:0 CopyHostToDevice:6483:35231 +6503199930519111:6503199930621830 2:0 matrixTranspose(float*, float*, int):6501:35231 +6503199930625510:6503199932068504 2:0 CopyDeviceToHost:6510:35231 +6503199940770547:6503199942422060 2:0 CopyHostToDevice:6543:35231 +6503199942489939:6503199942592979 2:0 matrixTranspose(float*, float*, int):6561:35231 +6503199942596659:6503199944040613 2:0 CopyDeviceToHost:6570:35231 +6503199952730655:6503199954384568 2:0 CopyHostToDevice:6603:35231 +6503199954456768:6503199954562528 2:0 matrixTranspose(float*, float*, int):6621:35231 +6503199954566208:6503199956009521 2:0 CopyDeviceToHost:6630:35231 +6503198510085789:6503198510087523 35231:35231 hipGetDeviceProperties(props={pageableMemoryAccessUsesHostPageTables=0, pageableMemoryAccess=0, concurrentManagedAccess=1, directManagedMemAccessFromHost=0, managedMemory=1, asicRevision=1, isLargeBar=1, cooperativeMultiDeviceUnmatchedSharedMem=1, cooperativeMultiDeviceUnmatchedBlockDim=1, cooperativeMultiDeviceUnmatchedGridDim=1, cooperativeMultiDeviceUnmatchedFunc=1, tccDriver=0, ECCEnabled=0, kernelExecTimeoutEnabled=0, texturePitchAlignment=256, textureAlignment=256, memPitch=2147483647, hdpRegFlushCntl=0x7fe666b6b004, hdpMemFlushCntl=0x7fe666b6b000, maxTexture3D=0x7fe5a4310318, maxTexture2D=0x7fe5a4310310, maxTexture1D=16384, maxTexture1DLinear=2147483647, cooperativeMultiDeviceLaunch=1, cooperativeLaunch=1, integrated=0, gcnArchName="gfx90a:sramecc+:xnack-", gcnArch=910, canMapHostMemory=1, isMultiGpuBoard=0, maxSharedMemoryPerMultiProcessor=65536, pciDeviceID=0, pciBusID=74, pciDomainID=0, concurrentKernels=1, arch={}, clockInstructionRate=1000000, computeMode=0, maxThreadsPerMultiProcessor=2048, l2CacheSize=8388608, multiProcessorCount=104, minor=0, major=9, totalConstMem=2147483647, memoryBusWidth=4096, memoryClockRate=1600000, clockRate=1700000, maxGridSize=0x7fe5a4310198, maxThreadsDim=0x7fe5a431018c, maxThreadsPerBlock=1024, warpSize=64, regsPerBlock=65536, sharedMemPerBlock=65536, totalGlobalMem=68702699520, name="AMD Instinct MI210"}, device=0) :306 +6503198510945363:6503198510974227 35231:35231 hipMalloc(ptr=0x7fe129a00000, size=4194304) :307 +6503198510974728:6503198510987111 35231:35231 hipMalloc(ptr=0x7fe129400000, size=4194304) :309 +6503198510997400:6503198759089756 35231:35231 hipMemcpy(dst=0x7fe129a00000, src=0x7fe12a7ff010, sizeBytes=4194304, kind=1) :311 +6503198759097811:6503198759098522 35231:35231 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :678 +6503198759102820:6503198759103081 35231:35231 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :679 +6503198759104293:6503198759478627 35231:35231 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffd04fafbe8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :680 +6503198759491752:6503198765024754 35231:35231 hipMemcpy(dst=0x7fe12a3fe010, src=0x7fe129400000, sizeBytes=4194304, kind=2) :703 +6503198774351723:6503198776024836 35231:35231 hipMemcpy(dst=0x7fe129a00000, src=0x7fe12a7ff010, sizeBytes=4194304, kind=1) :734 +6503198776031799:6503198776031989 35231:35231 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :751 +6503198776032410:6503198776032570 35231:35231 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :752 +6503198776032831:6503198776041577 35231:35231 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffd04fafbe8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :753 +6503198776042819:6503198777722164 35231:35231 hipMemcpy(dst=0x7fe12a3fe010, src=0x7fe129400000, sizeBytes=4194304, kind=2) :763 +6503198786319319:6503198788042144 35231:35231 hipMemcpy(dst=0x7fe129a00000, src=0x7fe12a7ff010, sizeBytes=4194304, kind=1) :795 +6503198788044188:6503198788044308 35231:35231 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :812 +6503198788044588:6503198788044719 35231:35231 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :813 +6503198788044949:6503198788050780 35231:35231 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffd04fafbe8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :814 +6503198788051451:6503198789727941 35231:35231 hipMemcpy(dst=0x7fe12a3fe010, src=0x7fe129400000, sizeBytes=4194304, kind=2) :824 +6503198798516962:6503198800251559 35231:35231 hipMemcpy(dst=0x7fe129a00000, src=0x7fe12a7ff010, sizeBytes=4194304, kind=1) :857 +6503198800252180:6503198800252270 35231:35231 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :874 +6503198800252461:6503198800252561 35231:35231 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :875 +6503198800252771:6503198800258522 35231:35231 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffd04fafbe8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :876 +6503198800259193:6503198801952363 35231:35231 hipMemcpy(dst=0x7fe12a3fe010, src=0x7fe129400000, sizeBytes=4194304, kind=2) :886 +6503198810566440:6503198812300376 35231:35231 hipMemcpy(dst=0x7fe129a00000, src=0x7fe12a7ff010, sizeBytes=4194304, kind=1) :919 +6503198812300987:6503198812301107 35231:35231 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :936 +6503198812301328:6503198812301418 35231:35231 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :937 +6503198812301628:6503198812307960 35231:35231 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffd04fafbe8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :938 +6503198812309703:6503198813982345 35231:35231 hipMemcpy(dst=0x7fe12a3fe010, src=0x7fe129400000, sizeBytes=4194304, kind=2) :948 +6503198822566707:6503198824294741 35231:35231 hipMemcpy(dst=0x7fe129a00000, src=0x7fe12a7ff010, sizeBytes=4194304, kind=1) :980 +6503198824295373:6503198824295463 35231:35231 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :997 +6503198824295673:6503198824295753 35231:35231 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :998 +6503198824295964:6503198824300512 35231:35231 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffd04fafbe8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :999 +6503198824302356:6503198825983814 35231:35231 hipMemcpy(dst=0x7fe12a3fe010, src=0x7fe129400000, sizeBytes=4194304, kind=2) :1009 +6503198834579136:6503198836299847 35231:35231 hipMemcpy(dst=0x7fe129a00000, src=0x7fe12a7ff010, sizeBytes=4194304, kind=1) :1042 +6503198836300559:6503198836300669 35231:35231 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :1059 +6503198836300899:6503198836300980 35231:35231 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :1060 +6503198836302102:6503198836306600 35231:35231 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffd04fafbe8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :1061 +6503198836307191:6503198837980905 35231:35231 hipMemcpy(dst=0x7fe12a3fe010, src=0x7fe129400000, sizeBytes=4194304, kind=2) :1071 +6503198846595603:6503198848318388 35231:35231 hipMemcpy(dst=0x7fe129a00000, src=0x7fe12a7ff010, sizeBytes=4194304, kind=1) :1103 +6503198848319040:6503198848319150 35231:35231 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :1120 +6503198848319390:6503198848319500 35231:35231 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :1121 +6503198848320773:6503198848326313 35231:35231 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffd04fafbe8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :1122 +6503198848326984:6503198850003083 35231:35231 hipMemcpy(dst=0x7fe12a3fe010, src=0x7fe129400000, sizeBytes=4194304, kind=2) :1132 +6503198858605859:6503198860324075 35231:35231 hipMemcpy(dst=0x7fe129a00000, src=0x7fe12a7ff010, sizeBytes=4194304, kind=1) :1165 +6503198860324757:6503198860324857 35231:35231 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :1181 +6503198860326109:6503198860326209 35231:35231 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :1182 +6503198860326460:6503198860330948 35231:35231 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffd04fafbe8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :1183 +6503198860331619:6503198862003250 35231:35231 hipMemcpy(dst=0x7fe12a3fe010, src=0x7fe129400000, sizeBytes=4194304, kind=2) :1192 +6503198870557285:6503198872272125 35231:35231 hipMemcpy(dst=0x7fe129a00000, src=0x7fe12a7ff010, sizeBytes=4194304, kind=1) :1225 +6503198872272776:6503198872272876 35231:35231 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :1241 +6503198872274730:6503198872274850 35231:35231 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :1242 +6503198872275081:6503198872280691 35231:35231 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffd04fafbe8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :1243 +6503198872281372:6503198873951670 35231:35231 hipMemcpy(dst=0x7fe12a3fe010, src=0x7fe129400000, sizeBytes=4194304, kind=2) :1252 +6503198882523478:6503198884242717 35231:35231 hipMemcpy(dst=0x7fe129a00000, src=0x7fe12a7ff010, sizeBytes=4194304, kind=1) :1285 +6503198884244490:6503198884244590 35231:35231 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :1301 +6503198884244841:6503198884244931 35231:35231 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :1302 +6503198884245131:6503198884249449 35231:35231 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffd04fafbe8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :1303 +6503198884250141:6503198885919327 35231:35231 hipMemcpy(dst=0x7fe12a3fe010, src=0x7fe129400000, sizeBytes=4194304, kind=2) :1312 +6503198894480074:6503198896199804 35231:35231 hipMemcpy(dst=0x7fe129a00000, src=0x7fe12a7ff010, sizeBytes=4194304, kind=1) :1345 +6503198896202469:6503198896202569 35231:35231 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :1361 +6503198896202769:6503198896202860 35231:35231 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :1362 +6503198896203070:6503198896208751 35231:35231 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffd04fafbe8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :1363 +6503198896210203:6503198897887173 35231:35231 hipMemcpy(dst=0x7fe12a3fe010, src=0x7fe129400000, sizeBytes=4194304, kind=2) :1372 +6503198906468830:6503198908191444 35231:35231 hipMemcpy(dst=0x7fe129a00000, src=0x7fe12a7ff010, sizeBytes=4194304, kind=1) :1405 +6503198908192086:6503198908192186 35231:35231 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :1421 +6503198908192376:6503198908192456 35231:35231 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :1422 +6503198908192677:6503198908197065 35231:35231 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffd04fafbe8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :1423 +6503198908197726:6503198909972057 35231:35231 hipMemcpy(dst=0x7fe12a3fe010, src=0x7fe129400000, sizeBytes=4194304, kind=2) :1432 +6503198918632359:6503198920476209 35231:35231 hipMemcpy(dst=0x7fe129a00000, src=0x7fe12a7ff010, sizeBytes=4194304, kind=1) :1465 +6503198920476840:6503198920476940 35231:35231 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :1481 +6503198920477121:6503198920477211 35231:35231 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :1482 +6503198920477421:6503198920481840 35231:35231 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffd04fafbe8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :1483 +6503198920483533:6503198922279754 35231:35231 hipMemcpy(dst=0x7fe12a3fe010, src=0x7fe129400000, sizeBytes=4194304, kind=2) :1492 +6503198930940798:6503198932796219 35231:35231 hipMemcpy(dst=0x7fe129a00000, src=0x7fe12a7ff010, sizeBytes=4194304, kind=1) :1524 +6503198932796820:6503198932796900 35231:35231 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :1540 +6503198932797121:6503198932797211 35231:35231 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :1541 +6503198932797401:6503198932803002 35231:35231 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffd04fafbe8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :1542 +6503198932806709:6503198934556564 35231:35231 hipMemcpy(dst=0x7fe12a3fe010, src=0x7fe129400000, sizeBytes=4194304, kind=2) :1551 +6503198943206236:6503198945071496 35231:35231 hipMemcpy(dst=0x7fe129a00000, src=0x7fe12a7ff010, sizeBytes=4194304, kind=1) :1583 +6503198945072077:6503198945072177 35231:35231 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :1599 +6503198945072397:6503198945072488 35231:35231 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :1600 +6503198945074231:6503198945078659 35231:35231 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffd04fafbe8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :1601 +6503198945079440:6503198946835097 35231:35231 hipMemcpy(dst=0x7fe12a3fe010, src=0x7fe129400000, sizeBytes=4194304, kind=2) :1610 +6503198955942729:6503198957771651 35231:35231 hipMemcpy(dst=0x7fe129a00000, src=0x7fe12a7ff010, sizeBytes=4194304, kind=1) :1643 +6503198957772322:6503198957772422 35231:35231 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :1659 +6503198957772613:6503198957772713 35231:35231 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :1660 +6503198957775067:6503198957781249 35231:35231 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffd04fafbe8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :1661 +6503198957782060:6503198959488696 35231:35231 hipMemcpy(dst=0x7fe12a3fe010, src=0x7fe129400000, sizeBytes=4194304, kind=2) :1670 +6503198968156271:6503198969883655 35231:35231 hipMemcpy(dst=0x7fe129a00000, src=0x7fe12a7ff010, sizeBytes=4194304, kind=1) :1703 +6503198969884366:6503198969884487 35231:35231 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :1719 +6503198969885809:6503198969885899 35231:35231 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :1720 +6503198969886140:6503198969890558 35231:35231 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffd04fafbe8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :1721 +6503198969892141:6503198971593666 35231:35231 hipMemcpy(dst=0x7fe12a3fe010, src=0x7fe129400000, sizeBytes=4194304, kind=2) :1730 +6503198980278645:6503198982006069 35231:35231 hipMemcpy(dst=0x7fe129a00000, src=0x7fe12a7ff010, sizeBytes=4194304, kind=1) :1763 +6503198982006690:6503198982006790 35231:35231 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :1779 +6503198982008894:6503198982008984 35231:35231 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :1780 +6503198982009224:6503198982015616 35231:35231 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffd04fafbe8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :1781 +6503198982016227:6503198983684702 35231:35231 hipMemcpy(dst=0x7fe12a3fe010, src=0x7fe129400000, sizeBytes=4194304, kind=2) :1790 +6503198992310059:6503198994031732 35231:35231 hipMemcpy(dst=0x7fe129a00000, src=0x7fe12a7ff010, sizeBytes=4194304, kind=1) :1823 +6503198994033556:6503198994033646 35231:35231 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :1839 +6503198994033846:6503198994033936 35231:35231 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :1840 +6503198994034147:6503198994038515 35231:35231 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffd04fafbe8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :1841 +6503198994039116:6503198995707380 35231:35231 hipMemcpy(dst=0x7fe12a3fe010, src=0x7fe129400000, sizeBytes=4194304, kind=2) :1850 +6503199004332457:6503199006051866 35231:35231 hipMemcpy(dst=0x7fe129a00000, src=0x7fe12a7ff010, sizeBytes=4194304, kind=1) :1883 +6503199006053439:6503199006053549 35231:35231 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :1899 +6503199006053749:6503199006053840 35231:35231 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :1900 +6503199006054050:6503199006058689 35231:35231 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffd04fafbe8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :1901 +6503199006059370:6503199007728315 35231:35231 hipMemcpy(dst=0x7fe12a3fe010, src=0x7fe129400000, sizeBytes=4194304, kind=2) :1910 +6503199016344967:6503199018074605 35231:35231 hipMemcpy(dst=0x7fe129a00000, src=0x7fe12a7ff010, sizeBytes=4194304, kind=1) :1943 +6503199018075276:6503199018075366 35231:35231 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :1959 +6503199018075546:6503199018075637 35231:35231 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :1960 +6503199018075837:6503199018081678 35231:35231 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffd04fafbe8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :1961 +6503199018082359:6503199019749942 35231:35231 hipMemcpy(dst=0x7fe12a3fe010, src=0x7fe129400000, sizeBytes=4194304, kind=2) :1970 +6503199028372484:6503199030096391 35231:35231 hipMemcpy(dst=0x7fe129a00000, src=0x7fe12a7ff010, sizeBytes=4194304, kind=1) :2003 +6503199030097012:6503199030097113 35231:35231 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :2019 +6503199030097323:6503199030097403 35231:35231 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :2020 +6503199030097583:6503199030102573 35231:35231 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffd04fafbe8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :2021 +6503199030104586:6503199031771368 35231:35231 hipMemcpy(dst=0x7fe12a3fe010, src=0x7fe129400000, sizeBytes=4194304, kind=2) :2030 +6503199040385024:6503199042108691 35231:35231 hipMemcpy(dst=0x7fe129a00000, src=0x7fe12a7ff010, sizeBytes=4194304, kind=1) :2062 +6503199042112428:6503199042112558 35231:35231 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :2078 +6503199042112748:6503199042112838 35231:35231 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :2079 +6503199042113039:6503199042118689 35231:35231 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffd04fafbe8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :2080 +6503199042120272:6503199043789218 35231:35231 hipMemcpy(dst=0x7fe12a3fe010, src=0x7fe129400000, sizeBytes=4194304, kind=2) :2089 +6503199052397734:6503199054127572 35231:35231 hipMemcpy(dst=0x7fe129a00000, src=0x7fe12a7ff010, sizeBytes=4194304, kind=1) :2121 +6503199054128173:6503199054128283 35231:35231 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :2137 +6503199054128494:6503199054128584 35231:35231 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :2138 +6503199054129956:6503199054134725 35231:35231 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffd04fafbe8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :2139 +6503199054135417:6503199055805494 35231:35231 hipMemcpy(dst=0x7fe12a3fe010, src=0x7fe129400000, sizeBytes=4194304, kind=2) :2148 +6503199064412848:6503199066161872 35231:35231 hipMemcpy(dst=0x7fe129a00000, src=0x7fe12a7ff010, sizeBytes=4194304, kind=1) :2181 +6503199066162563:6503199066162683 35231:35231 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :2197 +6503199066162924:6503199066163034 35231:35231 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :2198 +6503199066165308:6503199066170618 35231:35231 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffd04fafbe8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :2199 +6503199066171329:6503199067839714 35231:35231 hipMemcpy(dst=0x7fe12a3fe010, src=0x7fe129400000, sizeBytes=4194304, kind=2) :2208 +6503199076440045:6503199078164884 35231:35231 hipMemcpy(dst=0x7fe129a00000, src=0x7fe12a7ff010, sizeBytes=4194304, kind=1) :2241 +6503199078165555:6503199078165675 35231:35231 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :2257 +6503199078167328:6503199078167429 35231:35231 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :2258 +6503199078167669:6503199078172488 35231:35231 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffd04fafbe8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :2259 +6503199078173139:6503199079843698 35231:35231 hipMemcpy(dst=0x7fe12a3fe010, src=0x7fe129400000, sizeBytes=4194304, kind=2) :2268 +6503199088462262:6503199090165341 35231:35231 hipMemcpy(dst=0x7fe129a00000, src=0x7fe12a7ff010, sizeBytes=4194304, kind=1) :2301 +6503199090166022:6503199090166123 35231:35231 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :2317 +6503199090167235:6503199090167335 35231:35231 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :2318 +6503199090167565:6503199090172504 35231:35231 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffd04fafbe8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :2319 +6503199090173126:6503199091844816 35231:35231 hipMemcpy(dst=0x7fe12a3fe010, src=0x7fe129400000, sizeBytes=4194304, kind=2) :2328 +6503199100463311:6503199102189833 35231:35231 hipMemcpy(dst=0x7fe129a00000, src=0x7fe12a7ff010, sizeBytes=4194304, kind=1) :2361 +6503199102191636:6503199102191767 35231:35231 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :2377 +6503199102191967:6503199102192057 35231:35231 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :2378 +6503199102192268:6503199102197447 35231:35231 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffd04fafbe8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :2379 +6503199102198199:6503199103865481 35231:35231 hipMemcpy(dst=0x7fe12a3fe010, src=0x7fe129400000, sizeBytes=4194304, kind=2) :2388 +6503199112495717:6503199114219895 35231:35231 hipMemcpy(dst=0x7fe129a00000, src=0x7fe12a7ff010, sizeBytes=4194304, kind=1) :2420 +6503199114222750:6503199114222880 35231:35231 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :2436 +6503199114223121:6503199114223221 35231:35231 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :2437 +6503199114223452:6503199114228291 35231:35231 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffd04fafbe8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :2438 +6503199114229022:6503199115902746 35231:35231 hipMemcpy(dst=0x7fe12a3fe010, src=0x7fe129400000, sizeBytes=4194304, kind=2) :2447 +6503199124503628:6503199126219150 35231:35231 hipMemcpy(dst=0x7fe129a00000, src=0x7fe12a7ff010, sizeBytes=4194304, kind=1) :2480 +6503199126219781:6503199126219881 35231:35231 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :2496 +6503199126220082:6503199126220162 35231:35231 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :2497 +6503199126220402:6503199126227345 35231:35231 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffd04fafbe8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :2498 +6503199126227966:6503199127896330 35231:35231 hipMemcpy(dst=0x7fe12a3fe010, src=0x7fe129400000, sizeBytes=4194304, kind=2) :2507 +6503199136500269:6503199138216021 35231:35231 hipMemcpy(dst=0x7fe129a00000, src=0x7fe12a7ff010, sizeBytes=4194304, kind=1) :2540 +6503199138216652:6503199138216762 35231:35231 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :2556 +6503199138216952:6503199138217043 35231:35231 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :2557 +6503199138217283:6503199138222112 35231:35231 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffd04fafbe8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :2558 +6503199138225488:6503199139891548 35231:35231 hipMemcpy(dst=0x7fe12a3fe010, src=0x7fe129400000, sizeBytes=4194304, kind=2) :2567 +6503199148486208:6503199150210647 35231:35231 hipMemcpy(dst=0x7fe129a00000, src=0x7fe12a7ff010, sizeBytes=4194304, kind=1) :2599 +6503199150211258:6503199150211368 35231:35231 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :2615 +6503199150211599:6503199150211689 35231:35231 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :2616 +6503199150211889:6503199150218301 35231:35231 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffd04fafbe8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :2617 +6503199150219854:6503199151887637 35231:35231 hipMemcpy(dst=0x7fe12a3fe010, src=0x7fe129400000, sizeBytes=4194304, kind=2) :2626 +6503199160489631:6503199162210162 35231:35231 hipMemcpy(dst=0x7fe129a00000, src=0x7fe12a7ff010, sizeBytes=4194304, kind=1) :2658 +6503199162210764:6503199162210854 35231:35231 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :2674 +6503199162211044:6503199162211134 35231:35231 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :2675 +6503199162212367:6503199162216795 35231:35231 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffd04fafbe8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :2676 +6503199162217496:6503199163885640 35231:35231 hipMemcpy(dst=0x7fe12a3fe010, src=0x7fe129400000, sizeBytes=4194304, kind=2) :2685 +6503199172480892:6503199174303201 35231:35231 hipMemcpy(dst=0x7fe129a00000, src=0x7fe12a7ff010, sizeBytes=4194304, kind=1) :2718 +6503199174303873:6503199174303983 35231:35231 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :2734 +6503199174304203:6503199174304293 35231:35231 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :2735 +6503199174306397:6503199174312048 35231:35231 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffd04fafbe8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :2736 +6503199174312809:6503199175981935 35231:35231 hipMemcpy(dst=0x7fe12a3fe010, src=0x7fe129400000, sizeBytes=4194304, kind=2) :2745 +6503199183475974:6503199185200092 35231:35231 hipMemcpy(dst=0x7fe129a00000, src=0x7fe12a7ff010, sizeBytes=4194304, kind=1) :2778 +6503199185200833:6503199185200933 35231:35231 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :2794 +6503199185202787:6503199185202877 35231:35231 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :2795 +6503199185203127:6503199185208066 35231:35231 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffd04fafbe8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :2796 +6503199185208758:6503199186876170 35231:35231 hipMemcpy(dst=0x7fe12a3fe010, src=0x7fe129400000, sizeBytes=4194304, kind=2) :2805 +6503199195447077:6503199197165033 35231:35231 hipMemcpy(dst=0x7fe129a00000, src=0x7fe12a7ff010, sizeBytes=4194304, kind=1) :2838 +6503199197165634:6503199197165734 35231:35231 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :2854 +6503199197166826:6503199197166947 35231:35231 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :2855 +6503199197167217:6503199197171575 35231:35231 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffd04fafbe8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :2856 +6503199197172196:6503199198840521 35231:35231 hipMemcpy(dst=0x7fe12a3fe010, src=0x7fe129400000, sizeBytes=4194304, kind=2) :2865 +6503199207421696:6503199209117221 35231:35231 hipMemcpy(dst=0x7fe129a00000, src=0x7fe12a7ff010, sizeBytes=4194304, kind=1) :2898 +6503199209119024:6503199209119114 35231:35231 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :2914 +6503199209119325:6503199209119405 35231:35231 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :2915 +6503199209119615:6503199209124504 35231:35231 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffd04fafbe8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :2916 +6503199209125136:6503199210794331 35231:35231 hipMemcpy(dst=0x7fe12a3fe010, src=0x7fe129400000, sizeBytes=4194304, kind=2) :2925 +6503199219372721:6503199221091419 35231:35231 hipMemcpy(dst=0x7fe129a00000, src=0x7fe12a7ff010, sizeBytes=4194304, kind=1) :2957 +6503199221093012:6503199221093112 35231:35231 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :2973 +6503199221093323:6503199221093393 35231:35231 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :2974 +6503199221093603:6503199221097961 35231:35231 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffd04fafbe8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :2975 +6503199221098662:6503199222768780 35231:35231 hipMemcpy(dst=0x7fe12a3fe010, src=0x7fe129400000, sizeBytes=4194304, kind=2) :2984 +6503199231348994:6503199233092678 35231:35231 hipMemcpy(dst=0x7fe129a00000, src=0x7fe12a7ff010, sizeBytes=4194304, kind=1) :3017 +6503199233093289:6503199233093369 35231:35231 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :3033 +6503199233093580:6503199233093670 35231:35231 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :3034 +6503199233093910:6503199233100302 35231:35231 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffd04fafbe8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :3035 +6503199233101284:6503199234769498 35231:35231 hipMemcpy(dst=0x7fe12a3fe010, src=0x7fe129400000, sizeBytes=4194304, kind=2) :3044 +6503199243373446:6503199245123121 35231:35231 hipMemcpy(dst=0x7fe129a00000, src=0x7fe12a7ff010, sizeBytes=4194304, kind=1) :3077 +6503199245123762:6503199245123842 35231:35231 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :3093 +6503199245124073:6503199245124153 35231:35231 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :3094 +6503199245124383:6503199245128681 35231:35231 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffd04fafbe8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :3095 +6503199245130414:6503199246797676 35231:35231 hipMemcpy(dst=0x7fe12a3fe010, src=0x7fe129400000, sizeBytes=4194304, kind=2) :3104 +6503199255428745:6503199257145850 35231:35231 hipMemcpy(dst=0x7fe129a00000, src=0x7fe12a7ff010, sizeBytes=4194304, kind=1) :3136 +6503199257146491:6503199257146601 35231:35231 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :3152 +6503199257146781:6503199257146861 35231:35231 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :3153 +6503199257147082:6503199257152662 35231:35231 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffd04fafbe8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :3154 +6503199257155467:6503199258823621 35231:35231 hipMemcpy(dst=0x7fe12a3fe010, src=0x7fe129400000, sizeBytes=4194304, kind=2) :3163 +6503199267405899:6503199269129175 35231:35231 hipMemcpy(dst=0x7fe129a00000, src=0x7fe12a7ff010, sizeBytes=4194304, kind=1) :3195 +6503199269129826:6503199269129936 35231:35231 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :3211 +6503199269130136:6503199269130227 35231:35231 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :3212 +6503199269131599:6503199269136518 35231:35231 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffd04fafbe8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :3213 +6503199269137189:6503199270805554 35231:35231 hipMemcpy(dst=0x7fe12a3fe010, src=0x7fe129400000, sizeBytes=4194304, kind=2) :3222 +6503199279387491:6503199281105076 35231:35231 hipMemcpy(dst=0x7fe129a00000, src=0x7fe12a7ff010, sizeBytes=4194304, kind=1) :3255 +6503199281105768:6503199281105878 35231:35231 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :3271 +6503199281106068:6503199281106148 35231:35231 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :3272 +6503199281107090:6503199281111649 35231:35231 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffd04fafbe8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :3273 +6503199281112360:6503199282780594 35231:35231 hipMemcpy(dst=0x7fe12a3fe010, src=0x7fe129400000, sizeBytes=4194304, kind=2) :3282 +6503199291363122:6503199293085797 35231:35231 hipMemcpy(dst=0x7fe129a00000, src=0x7fe12a7ff010, sizeBytes=4194304, kind=1) :3315 +6503199293086408:6503199293086599 35231:35231 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :3331 +6503199293088081:6503199293088262 35231:35231 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :3332 +6503199293088462:6503199293094904 35231:35231 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffd04fafbe8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :3333 +6503199293095545:6503199294765422 35231:35231 hipMemcpy(dst=0x7fe12a3fe010, src=0x7fe129400000, sizeBytes=4194304, kind=2) :3342 +6503199303358169:6503199305080303 35231:35231 hipMemcpy(dst=0x7fe129a00000, src=0x7fe12a7ff010, sizeBytes=4194304, kind=1) :3374 +6503199305080914:6503199305081024 35231:35231 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :3390 +6503199305083289:6503199305083379 35231:35231 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :3391 +6503199305083579:6503199305088298 35231:35231 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffd04fafbe8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :3392 +6503199305088929:6503199306757945 35231:35231 hipMemcpy(dst=0x7fe12a3fe010, src=0x7fe129400000, sizeBytes=4194304, kind=2) :3401 +6503199315327308:6503199317057367 35231:35231 hipMemcpy(dst=0x7fe129a00000, src=0x7fe12a7ff010, sizeBytes=4194304, kind=1) :3434 +6503199317062066:6503199317062166 35231:35231 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :3450 +6503199317062346:6503199317062426 35231:35231 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :3451 +6503199317062637:6503199317068007 35231:35231 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffd04fafbe8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :3452 +6503199317069399:6503199318736151 35231:35231 hipMemcpy(dst=0x7fe12a3fe010, src=0x7fe129400000, sizeBytes=4194304, kind=2) :3461 +6503199327293191:6503199329024673 35231:35231 hipMemcpy(dst=0x7fe129a00000, src=0x7fe12a7ff010, sizeBytes=4194304, kind=1) :3493 +6503199329026426:6503199329026536 35231:35231 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :3509 +6503199329026747:6503199329026837 35231:35231 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :3510 +6503199329027057:6503199329031375 35231:35231 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffd04fafbe8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :3511 +6503199329032057:6503199330710820 35231:35231 hipMemcpy(dst=0x7fe12a3fe010, src=0x7fe129400000, sizeBytes=4194304, kind=2) :3520 +6503199339805828:6503199341518805 35231:35231 hipMemcpy(dst=0x7fe129a00000, src=0x7fe12a7ff010, sizeBytes=4194304, kind=1) :3553 +6503199341519366:6503199341519477 35231:35231 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :3569 +6503199341519687:6503199341519767 35231:35231 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :3570 +6503199341519968:6503199341526139 35231:35231 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffd04fafbe8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :3571 +6503199341526710:6503199343198651 35231:35231 hipMemcpy(dst=0x7fe12a3fe010, src=0x7fe129400000, sizeBytes=4194304, kind=2) :3580 +6503199351763687:6503199353493986 35231:35231 hipMemcpy(dst=0x7fe129a00000, src=0x7fe12a7ff010, sizeBytes=4194304, kind=1) :3613 +6503199353494597:6503199353494707 35231:35231 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :3629 +6503199353494908:6503199353494998 35231:35231 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :3630 +6503199353495198:6503199353499586 35231:35231 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffd04fafbe8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :3631 +6503199353501319:6503199355169323 35231:35231 hipMemcpy(dst=0x7fe12a3fe010, src=0x7fe129400000, sizeBytes=4194304, kind=2) :3640 +6503199363743846:6503199365462835 35231:35231 hipMemcpy(dst=0x7fe129a00000, src=0x7fe12a7ff010, sizeBytes=4194304, kind=1) :3673 +6503199365463456:6503199365463566 35231:35231 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :3689 +6503199365463786:6503199365463866 35231:35231 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :3690 +6503199365465469:6503199365471080 35231:35231 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffd04fafbe8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :3691 +6503199365471711:6503199367140115 35231:35231 hipMemcpy(dst=0x7fe12a3fe010, src=0x7fe129400000, sizeBytes=4194304, kind=2) :3700 +6503199375727723:6503199377456099 35231:35231 hipMemcpy(dst=0x7fe129a00000, src=0x7fe12a7ff010, sizeBytes=4194304, kind=1) :3733 +6503199377456670:6503199377456780 35231:35231 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :3749 +6503199377456960:6503199377457040 35231:35231 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :3750 +6503199377458403:6503199377462701 35231:35231 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffd04fafbe8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :3751 +6503199377463312:6503199379139521 35231:35231 hipMemcpy(dst=0x7fe12a3fe010, src=0x7fe129400000, sizeBytes=4194304, kind=2) :3760 +6503199387706790:6503199389429515 35231:35231 hipMemcpy(dst=0x7fe129a00000, src=0x7fe12a7ff010, sizeBytes=4194304, kind=1) :3793 +6503199389431168:6503199389431289 35231:35231 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :3809 +6503199389432421:6503199389432521 35231:35231 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :3810 +6503199389432761:6503199389437460 35231:35231 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffd04fafbe8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :3811 +6503199389438191:6503199391108329 35231:35231 hipMemcpy(dst=0x7fe12a3fe010, src=0x7fe129400000, sizeBytes=4194304, kind=2) :3820 +6503199399682922:6503199401398334 35231:35231 hipMemcpy(dst=0x7fe129a00000, src=0x7fe12a7ff010, sizeBytes=4194304, kind=1) :3853 +6503199401398935:6503199401399035 35231:35231 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :3869 +6503199401400859:6503199401400949 35231:35231 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :3870 +6503199401401139:6503199401406639 35231:35231 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffd04fafbe8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :3871 +6503199401407231:6503199403079222 35231:35231 hipMemcpy(dst=0x7fe12a3fe010, src=0x7fe129400000, sizeBytes=4194304, kind=2) :3880 +6503199411657251:6503199413373715 35231:35231 hipMemcpy(dst=0x7fe129a00000, src=0x7fe12a7ff010, sizeBytes=4194304, kind=1) :3913 +6503199413375658:6503199413375789 35231:35231 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :3929 +6503199413375969:6503199413376059 35231:35231 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :3930 +6503199413376240:6503199413380537 35231:35231 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffd04fafbe8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :3931 +6503199413381199:6503199415049433 35231:35231 hipMemcpy(dst=0x7fe12a3fe010, src=0x7fe129400000, sizeBytes=4194304, kind=2) :3940 +6503199423656376:6503199425370465 35231:35231 hipMemcpy(dst=0x7fe129a00000, src=0x7fe12a7ff010, sizeBytes=4194304, kind=1) :3973 +6503199425372559:6503199425372659 35231:35231 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :3989 +6503199425372869:6503199425372959 35231:35231 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :3990 +6503199425373180:6503199425378490 35231:35231 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffd04fafbe8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :3991 +6503199425379261:6503199427050832 35231:35231 hipMemcpy(dst=0x7fe12a3fe010, src=0x7fe129400000, sizeBytes=4194304, kind=2) :4000 +6503199435625074:6503199437360052 35231:35231 hipMemcpy(dst=0x7fe129a00000, src=0x7fe12a7ff010, sizeBytes=4194304, kind=1) :4033 +6503199437360693:6503199437360813 35231:35231 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :4049 +6503199437361014:6503199437361104 35231:35231 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :4050 +6503199437361334:6503199437365783 35231:35231 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffd04fafbe8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :4051 +6503199437366474:6503199439036031 35231:35231 hipMemcpy(dst=0x7fe12a3fe010, src=0x7fe129400000, sizeBytes=4194304, kind=2) :4060 +6503199447630641:6503199449350681 35231:35231 hipMemcpy(dst=0x7fe129a00000, src=0x7fe12a7ff010, sizeBytes=4194304, kind=1) :4093 +6503199449351302:6503199449351423 35231:35231 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :4109 +6503199449351613:6503199449351703 35231:35231 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :4110 +6503199449351893:6503199449356432 35231:35231 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffd04fafbe8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :4111 +6503199449358025:6503199451030266 35231:35231 hipMemcpy(dst=0x7fe12a3fe010, src=0x7fe129400000, sizeBytes=4194304, kind=2) :4120 +6503199459634845:6503199461360375 35231:35231 hipMemcpy(dst=0x7fe129a00000, src=0x7fe12a7ff010, sizeBytes=4194304, kind=1) :4152 +6503199461362178:6503199461362299 35231:35231 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :4168 +6503199461362509:6503199461362589 35231:35231 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :4169 +6503199461362770:6503199461367118 35231:35231 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffd04fafbe8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :4170 +6503199461368791:6503199463036825 35231:35231 hipMemcpy(dst=0x7fe12a3fe010, src=0x7fe129400000, sizeBytes=4194304, kind=2) :4179 +6503199471601700:6503199473320337 35231:35231 hipMemcpy(dst=0x7fe129a00000, src=0x7fe12a7ff010, sizeBytes=4194304, kind=1) :4212 +6503199473320888:6503199473320979 35231:35231 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :4228 +6503199473321169:6503199473321259 35231:35231 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :4229 +6503199473322341:6503199473326619 35231:35231 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffd04fafbe8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :4230 +6503199473327220:6503199474997178 35231:35231 hipMemcpy(dst=0x7fe12a3fe010, src=0x7fe129400000, sizeBytes=4194304, kind=2) :4239 +6503199484114568:6503199485829208 35231:35231 hipMemcpy(dst=0x7fe129a00000, src=0x7fe12a7ff010, sizeBytes=4194304, kind=1) :4272 +6503199485829779:6503199485829869 35231:35231 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :4288 +6503199485830049:6503199485830129 35231:35231 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :4289 +6503199485831682:6503199485837152 35231:35231 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffd04fafbe8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :4290 +6503199485837774:6503199487505466 35231:35231 hipMemcpy(dst=0x7fe12a3fe010, src=0x7fe129400000, sizeBytes=4194304, kind=2) :4299 +6503199496080170:6503199497796934 35231:35231 hipMemcpy(dst=0x7fe129a00000, src=0x7fe12a7ff010, sizeBytes=4194304, kind=1) :4331 +6503199497797566:6503199497797676 35231:35231 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :4347 +6503199497798908:6503199497798998 35231:35231 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :4348 +6503199497799199:6503199497803487 35231:35231 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffd04fafbe8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :4349 +6503199497804068:6503199499473303 35231:35231 hipMemcpy(dst=0x7fe12a3fe010, src=0x7fe129400000, sizeBytes=4194304, kind=2) :4358 +6503199508064117:6503199509779268 35231:35231 hipMemcpy(dst=0x7fe129a00000, src=0x7fe12a7ff010, sizeBytes=4194304, kind=1) :4391 +6503199509779919:6503199509780009 35231:35231 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :4407 +6503199509781632:6503199509781722 35231:35231 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :4408 +6503199509781943:6503199509789657 35231:35231 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffd04fafbe8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :4409 +6503199509790328:6503199511458813 35231:35231 hipMemcpy(dst=0x7fe12a3fe010, src=0x7fe129400000, sizeBytes=4194304, kind=2) :4418 +6503199520037093:6503199521776269 35231:35231 hipMemcpy(dst=0x7fe129a00000, src=0x7fe12a7ff010, sizeBytes=4194304, kind=1) :4451 +6503199521778343:6503199521778443 35231:35231 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :4467 +6503199521778633:6503199521778723 35231:35231 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :4468 +6503199521778944:6503199521784284 35231:35231 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffd04fafbe8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :4469 +6503199521784995:6503199523454832 35231:35231 hipMemcpy(dst=0x7fe12a3fe010, src=0x7fe129400000, sizeBytes=4194304, kind=2) :4478 +6503199532019837:6503199533714841 35231:35231 hipMemcpy(dst=0x7fe129a00000, src=0x7fe12a7ff010, sizeBytes=4194304, kind=1) :4511 +6503199533717997:6503199533718087 35231:35231 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :4527 +6503199533718308:6503199533718398 35231:35231 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :4528 +6503199533718608:6503199533725781 35231:35231 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffd04fafbe8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :4529 +6503199533726403:6503199535394937 35231:35231 hipMemcpy(dst=0x7fe12a3fe010, src=0x7fe129400000, sizeBytes=4194304, kind=2) :4538 +6503199543953480:6503199545671086 35231:35231 hipMemcpy(dst=0x7fe129a00000, src=0x7fe12a7ff010, sizeBytes=4194304, kind=1) :4571 +6503199545671717:6503199545671797 35231:35231 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :4587 +6503199545672008:6503199545672088 35231:35231 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :4588 +6503199545672288:6503199545677037 35231:35231 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffd04fafbe8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :4589 +6503199545677658:6503199547343588 35231:35231 hipMemcpy(dst=0x7fe12a3fe010, src=0x7fe129400000, sizeBytes=4194304, kind=2) :4598 +6503199555890009:6503199557617984 35231:35231 hipMemcpy(dst=0x7fe129a00000, src=0x7fe12a7ff010, sizeBytes=4194304, kind=1) :4631 +6503199557618575:6503199557618685 35231:35231 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :4647 +6503199557618876:6503199557618966 35231:35231 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :4648 +6503199557619176:6503199557623885 35231:35231 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffd04fafbe8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :4649 +6503199557625528:6503199559297149 35231:35231 hipMemcpy(dst=0x7fe12a3fe010, src=0x7fe129400000, sizeBytes=4194304, kind=2) :4658 +6503199567887070:6503199569607080 35231:35231 hipMemcpy(dst=0x7fe129a00000, src=0x7fe12a7ff010, sizeBytes=4194304, kind=1) :4691 +6503199569607742:6503199569607832 35231:35231 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :4707 +6503199569608012:6503199569608092 35231:35231 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :4708 +6503199569608303:6503199569615125 35231:35231 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffd04fafbe8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :4709 +6503199569616658:6503199571284922 35231:35231 hipMemcpy(dst=0x7fe12a3fe010, src=0x7fe129400000, sizeBytes=4194304, kind=2) :4718 +6503199579870295:6503199581587260 35231:35231 hipMemcpy(dst=0x7fe129a00000, src=0x7fe12a7ff010, sizeBytes=4194304, kind=1) :4751 +6503199581587891:6503199581587981 35231:35231 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :4767 +6503199581588181:6503199581588271 35231:35231 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :4768 +6503199581591017:6503199581595906 35231:35231 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffd04fafbe8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :4769 +6503199581596607:6503199583268778 35231:35231 hipMemcpy(dst=0x7fe12a3fe010, src=0x7fe129400000, sizeBytes=4194304, kind=2) :4778 +6503199591854913:6503199593571938 35231:35231 hipMemcpy(dst=0x7fe129a00000, src=0x7fe12a7ff010, sizeBytes=4194304, kind=1) :4811 +6503199593572519:6503199593572609 35231:35231 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :4827 +6503199593572809:6503199593572890 35231:35231 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :4828 +6503199593574482:6503199593579802 35231:35231 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffd04fafbe8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :4829 +6503199593580434:6503199595247616 35231:35231 hipMemcpy(dst=0x7fe12a3fe010, src=0x7fe129400000, sizeBytes=4194304, kind=2) :4838 +6503199603849269:6503199605570081 35231:35231 hipMemcpy(dst=0x7fe129a00000, src=0x7fe12a7ff010, sizeBytes=4194304, kind=1) :4871 +6503199605570682:6503199605570792 35231:35231 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :4887 +6503199605572074:6503199605572165 35231:35231 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :4888 +6503199605572385:6503199605576663 35231:35231 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffd04fafbe8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :4889 +6503199605577274:6503199607246059 35231:35231 hipMemcpy(dst=0x7fe12a3fe010, src=0x7fe129400000, sizeBytes=4194304, kind=2) :4898 +6503199616386552:6503199618101603 35231:35231 hipMemcpy(dst=0x7fe129a00000, src=0x7fe12a7ff010, sizeBytes=4194304, kind=1) :4931 +6503199618102214:6503199618102314 35231:35231 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :4947 +6503199618103436:6503199618103527 35231:35231 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :4948 +6503199618103767:6503199618108336 35231:35231 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffd04fafbe8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :4949 +6503199618108937:6503199619780517 35231:35231 hipMemcpy(dst=0x7fe12a3fe010, src=0x7fe129400000, sizeBytes=4194304, kind=2) :4958 +6503199628351834:6503199630068828 35231:35231 hipMemcpy(dst=0x7fe129a00000, src=0x7fe12a7ff010, sizeBytes=4194304, kind=1) :4991 +6503199630071944:6503199630072064 35231:35231 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :5007 +6503199630072305:6503199630072385 35231:35231 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :5008 +6503199630072605:6503199630077264 35231:35231 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffd04fafbe8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :5009 +6503199630077885:6503199631745578 35231:35231 hipMemcpy(dst=0x7fe12a3fe010, src=0x7fe129400000, sizeBytes=4194304, kind=2) :5018 +6503199640313199:6503199642030544 35231:35231 hipMemcpy(dst=0x7fe129a00000, src=0x7fe12a7ff010, sizeBytes=4194304, kind=1) :5050 +6503199642032307:6503199642032417 35231:35231 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :5066 +6503199642032628:6503199642032718 35231:35231 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :5067 +6503199642032938:6503199642036986 35231:35231 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffd04fafbe8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :5068 +6503199642037577:6503199643707013 35231:35231 hipMemcpy(dst=0x7fe12a3fe010, src=0x7fe129400000, sizeBytes=4194304, kind=2) :5077 +6503199652286466:6503199654007357 35231:35231 hipMemcpy(dst=0x7fe129a00000, src=0x7fe12a7ff010, sizeBytes=4194304, kind=1) :5110 +6503199654008019:6503199654008119 35231:35231 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :5126 +6503199654008329:6503199654008409 35231:35231 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :5127 +6503199654008660:6503199654014781 35231:35231 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffd04fafbe8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :5128 +6503199654015492:6503199655683937 35231:35231 hipMemcpy(dst=0x7fe12a3fe010, src=0x7fe129400000, sizeBytes=4194304, kind=2) :5137 +6503199664269440:6503199665986164 35231:35231 hipMemcpy(dst=0x7fe129a00000, src=0x7fe12a7ff010, sizeBytes=4194304, kind=1) :5170 +6503199665986815:6503199665986905 35231:35231 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :5186 +6503199665987136:6503199665987216 35231:35231 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :5187 +6503199665987436:6503199665991955 35231:35231 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffd04fafbe8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :5188 +6503199665994460:6503199667663545 35231:35231 hipMemcpy(dst=0x7fe12a3fe010, src=0x7fe129400000, sizeBytes=4194304, kind=2) :5197 +6503199676223221:6503199677941949 35231:35231 hipMemcpy(dst=0x7fe129a00000, src=0x7fe12a7ff010, sizeBytes=4194304, kind=1) :5229 +6503199677942540:6503199677942630 35231:35231 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :5245 +6503199677942830:6503199677942910 35231:35231 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :5246 +6503199677943121:6503199677949413 35231:35231 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffd04fafbe8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :5247 +6503199677950965:6503199679617146 35231:35231 hipMemcpy(dst=0x7fe12a3fe010, src=0x7fe129400000, sizeBytes=4194304, kind=2) :5256 +6503199688212107:6503199689932928 35231:35231 hipMemcpy(dst=0x7fe129a00000, src=0x7fe12a7ff010, sizeBytes=4194304, kind=1) :5288 +6503199689933559:6503199689933660 35231:35231 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :5304 +6503199689933840:6503199689933920 35231:35231 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :5305 +6503199689935473:6503199689939941 35231:35231 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffd04fafbe8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :5306 +6503199689940603:6503199691609367 35231:35231 hipMemcpy(dst=0x7fe12a3fe010, src=0x7fe129400000, sizeBytes=4194304, kind=2) :5315 +6503199700188399:6503199701880978 35231:35231 hipMemcpy(dst=0x7fe129a00000, src=0x7fe12a7ff010, sizeBytes=4194304, kind=1) :5348 +6503199701881609:6503199701881709 35231:35231 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :5364 +6503199701881950:6503199701882040 35231:35231 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :5365 +6503199701883703:6503199701891127 35231:35231 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffd04fafbe8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :5366 +6503199701891818:6503199703560934 35231:35231 hipMemcpy(dst=0x7fe12a3fe010, src=0x7fe129400000, sizeBytes=4194304, kind=2) :5375 +6503199712163038:6503199713892706 35231:35231 hipMemcpy(dst=0x7fe129a00000, src=0x7fe12a7ff010, sizeBytes=4194304, kind=1) :5408 +6503199713893328:6503199713893428 35231:35231 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :5424 +6503199713895131:6503199713895211 35231:35231 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :5425 +6503199713895451:6503199713899810 35231:35231 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffd04fafbe8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :5426 +6503199713900561:6503199715572993 35231:35231 hipMemcpy(dst=0x7fe12a3fe010, src=0x7fe129400000, sizeBytes=4194304, kind=2) :5435 +6503199724143008:6503199725873066 35231:35231 hipMemcpy(dst=0x7fe129a00000, src=0x7fe12a7ff010, sizeBytes=4194304, kind=1) :5468 +6503199725873697:6503199725873808 35231:35231 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :5484 +6503199725875040:6503199725875130 35231:35231 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :5485 +6503199725875351:6503199725879789 35231:35231 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffd04fafbe8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :5486 +6503199725880420:6503199727549245 35231:35231 hipMemcpy(dst=0x7fe12a3fe010, src=0x7fe129400000, sizeBytes=4194304, kind=2) :5495 +6503199736123929:6503199737841114 35231:35231 hipMemcpy(dst=0x7fe129a00000, src=0x7fe12a7ff010, sizeBytes=4194304, kind=1) :5527 +6503199737842957:6503199737843047 35231:35231 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :5543 +6503199737843248:6503199737843328 35231:35231 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :5544 +6503199737843548:6503199737847956 35231:35231 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffd04fafbe8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :5545 +6503199737849900:6503199739516561 35231:35231 hipMemcpy(dst=0x7fe12a3fe010, src=0x7fe129400000, sizeBytes=4194304, kind=2) :5554 +6503199748101924:6503199749827755 35231:35231 hipMemcpy(dst=0x7fe129a00000, src=0x7fe12a7ff010, sizeBytes=4194304, kind=1) :5586 +6503199749829588:6503199749829678 35231:35231 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :5602 +6503199749829879:6503199749829969 35231:35231 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :5603 +6503199749830169:6503199749834758 35231:35231 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffd04fafbe8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :5604 +6503199749835469:6503199751503213 35231:35231 hipMemcpy(dst=0x7fe12a3fe010, src=0x7fe129400000, sizeBytes=4194304, kind=2) :5613 +6503199760609452:6503199762325975 35231:35231 hipMemcpy(dst=0x7fe129a00000, src=0x7fe12a7ff010, sizeBytes=4194304, kind=1) :5646 +6503199762326566:6503199762326667 35231:35231 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :5662 +6503199762326847:6503199762326927 35231:35231 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :5663 +6503199762327117:6503199762333229 35231:35231 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffd04fafbe8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :5664 +6503199762334050:6503199764003256 35231:35231 hipMemcpy(dst=0x7fe12a3fe010, src=0x7fe129400000, sizeBytes=4194304, kind=2) :5673 +6503199772590403:6503199774306526 35231:35231 hipMemcpy(dst=0x7fe129a00000, src=0x7fe12a7ff010, sizeBytes=4194304, kind=1) :5706 +6503199774307127:6503199774307227 35231:35231 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :5722 +6503199774307407:6503199774307488 35231:35231 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :5723 +6503199774307668:6503199774311896 35231:35231 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffd04fafbe8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :5724 +6503199774313709:6503199775985981 35231:35231 hipMemcpy(dst=0x7fe12a3fe010, src=0x7fe129400000, sizeBytes=4194304, kind=2) :5733 +6503199784584658:6503199786305460 35231:35231 hipMemcpy(dst=0x7fe129a00000, src=0x7fe12a7ff010, sizeBytes=4194304, kind=1) :5765 +6503199786306061:6503199786306161 35231:35231 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :5781 +6503199786306342:6503199786306422 35231:35231 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :5782 +6503199786306612:6503199786311862 35231:35231 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffd04fafbe8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :5783 +6503199786313435:6503199787987640 35231:35231 hipMemcpy(dst=0x7fe12a3fe010, src=0x7fe129400000, sizeBytes=4194304, kind=2) :5792 +6503199796607918:6503199798413046 35231:35231 hipMemcpy(dst=0x7fe129a00000, src=0x7fe12a7ff010, sizeBytes=4194304, kind=1) :5825 +6503199798413727:6503199798413838 35231:35231 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :5841 +6503199798414078:6503199798414168 35231:35231 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :5842 +6503199798415851:6503199798420460 35231:35231 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffd04fafbe8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :5843 +6503199798421061:6503199800114001 35231:35231 hipMemcpy(dst=0x7fe12a3fe010, src=0x7fe129400000, sizeBytes=4194304, kind=2) :5852 +6503199808748916:6503199810468816 35231:35231 hipMemcpy(dst=0x7fe129a00000, src=0x7fe12a7ff010, sizeBytes=4194304, kind=1) :5885 +6503199810471481:6503199810471571 35231:35231 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :5901 +6503199810471771:6503199810471861 35231:35231 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :5902 +6503199810472903:6503199810479375 35231:35231 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffd04fafbe8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :5903 +6503199810479997:6503199812155995 35231:35231 hipMemcpy(dst=0x7fe12a3fe010, src=0x7fe129400000, sizeBytes=4194304, kind=2) :5912 +6503199820762086:6503199822500561 35231:35231 hipMemcpy(dst=0x7fe129a00000, src=0x7fe12a7ff010, sizeBytes=4194304, kind=1) :5945 +6503199822501132:6503199822501232 35231:35231 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :5961 +6503199822503045:6503199822503146 35231:35231 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :5962 +6503199822503376:6503199822507594 35231:35231 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffd04fafbe8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :5963 +6503199822508245:6503199824179956 35231:35231 hipMemcpy(dst=0x7fe12a3fe010, src=0x7fe129400000, sizeBytes=4194304, kind=2) :5972 +6503199832790436:6503199834514614 35231:35231 hipMemcpy(dst=0x7fe129a00000, src=0x7fe12a7ff010, sizeBytes=4194304, kind=1) :6005 +6503199834515165:6503199834515265 35231:35231 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :6021 +6503199834516838:6503199834516928 35231:35231 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :6022 +6503199834517198:6503199834521526 35231:35231 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffd04fafbe8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :6023 +6503199834522218:6503199836215859 35231:35231 hipMemcpy(dst=0x7fe12a3fe010, src=0x7fe129400000, sizeBytes=4194304, kind=2) :6032 +6503199844857657:6503199846572728 35231:35231 hipMemcpy(dst=0x7fe129a00000, src=0x7fe12a7ff010, sizeBytes=4194304, kind=1) :6065 +6503199846575002:6503199846575102 35231:35231 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :6081 +6503199846575292:6503199846575372 35231:35231 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :6082 +6503199846575553:6503199846580803 35231:35231 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffd04fafbe8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :6083 +6503199846581434:6503199848257823 35231:35231 hipMemcpy(dst=0x7fe12a3fe010, src=0x7fe129400000, sizeBytes=4194304, kind=2) :6092 +6503199856871249:6503199858591499 35231:35231 hipMemcpy(dst=0x7fe129a00000, src=0x7fe12a7ff010, sizeBytes=4194304, kind=1) :6125 +6503199858593072:6503199858593152 35231:35231 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :6141 +6503199858593342:6503199858593423 35231:35231 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :6142 +6503199858593613:6503199858597941 35231:35231 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffd04fafbe8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :6143 +6503199858598552:6503199860269481 35231:35231 hipMemcpy(dst=0x7fe12a3fe010, src=0x7fe129400000, sizeBytes=4194304, kind=2) :6152 +6503199868891121:6503199870603407 35231:35231 hipMemcpy(dst=0x7fe129a00000, src=0x7fe12a7ff010, sizeBytes=4194304, kind=1) :6185 +6503199870604058:6503199870604159 35231:35231 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :6201 +6503199870604379:6503199870604459 35231:35231 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :6202 +6503199870604650:6503199870610601 35231:35231 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffd04fafbe8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :6203 +6503199870611262:6503199872277773 35231:35231 hipMemcpy(dst=0x7fe12a3fe010, src=0x7fe129400000, sizeBytes=4194304, kind=2) :6212 +6503199880870249:6503199882583727 35231:35231 hipMemcpy(dst=0x7fe129a00000, src=0x7fe12a7ff010, sizeBytes=4194304, kind=1) :6245 +6503199882585350:6503199882585440 35231:35231 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :6261 +6503199882585661:6503199882585751 35231:35231 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :6262 +6503199882585961:6503199882590289 35231:35231 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffd04fafbe8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :6263 +6503199882591772:6503199884257772 35231:35231 hipMemcpy(dst=0x7fe12a3fe010, src=0x7fe129400000, sizeBytes=4194304, kind=2) :6272 +6503199892853585:6503199894587100 35231:35231 hipMemcpy(dst=0x7fe129a00000, src=0x7fe12a7ff010, sizeBytes=4194304, kind=1) :6305 +6503199894587741:6503199894587841 35231:35231 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :6321 +6503199894588042:6503199894588142 35231:35231 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :6322 +6503199894588342:6503199894592340 35231:35231 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffd04fafbe8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :6323 +6503199894593832:6503199896260133 35231:35231 hipMemcpy(dst=0x7fe12a3fe010, src=0x7fe129400000, sizeBytes=4194304, kind=2) :6332 +6503199904858911:6503199906548885 35231:35231 hipMemcpy(dst=0x7fe129a00000, src=0x7fe12a7ff010, sizeBytes=4194304, kind=1) :6364 +6503199906549586:6503199906549677 35231:35231 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :6380 +6503199906549867:6503199906549957 35231:35231 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :6381 +6503199906551450:6503199906555858 35231:35231 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffd04fafbe8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :6382 +6503199906556469:6503199908224974 35231:35231 hipMemcpy(dst=0x7fe12a3fe010, src=0x7fe129400000, sizeBytes=4194304, kind=2) :6391 +6503199916794608:6503199918521962 35231:35231 hipMemcpy(dst=0x7fe129a00000, src=0x7fe12a7ff010, sizeBytes=4194304, kind=1) :6424 +6503199918522613:6503199918522703 35231:35231 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :6440 +6503199918522924:6503199918523004 35231:35231 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :6441 +6503199918524607:6503199918529305 35231:35231 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffd04fafbe8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :6442 +6503199918529937:6503199920196498 35231:35231 hipMemcpy(dst=0x7fe12a3fe010, src=0x7fe129400000, sizeBytes=4194304, kind=2) :6451 +6503199928773245:6503199930499727 35231:35231 hipMemcpy(dst=0x7fe129a00000, src=0x7fe12a7ff010, sizeBytes=4194304, kind=1) :6483 +6503199930500348:6503199930500438 35231:35231 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :6499 +6503199930501801:6503199930501881 35231:35231 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :6500 +6503199930502111:6503199930507672 35231:35231 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffd04fafbe8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :6501 +6503199930508263:6503199932175976 35231:35231 hipMemcpy(dst=0x7fe12a3fe010, src=0x7fe129400000, sizeBytes=4194304, kind=2) :6510 +6503199940755808:6503199942471330 35231:35231 hipMemcpy(dst=0x7fe129a00000, src=0x7fe12a7ff010, sizeBytes=4194304, kind=1) :6543 +6503199942471911:6503199942472012 35231:35231 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :6559 +6503199942473925:6503199942474015 35231:35231 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :6560 +6503199942474206:6503199942478464 35231:35231 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffd04fafbe8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :6561 +6503199942479055:6503199944148090 35231:35231 hipMemcpy(dst=0x7fe12a3fe010, src=0x7fe129400000, sizeBytes=4194304, kind=2) :6570 +6503199952716001:6503199954435911 35231:35231 hipMemcpy(dst=0x7fe129a00000, src=0x7fe12a7ff010, sizeBytes=4194304, kind=1) :6603 +6503199954438596:6503199954438696 35231:35231 __hipPushCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :6619 +6503199954438907:6503199954438987 35231:35231 __hipPopCallConfiguration(gridDim={z=1, y=256, x=256}, blockDim={z=1, y=4, x=4}, sharedMem=0, stream=0) :6620 +6503199954439197:6503199954444858 35231:35231 hipLaunchKernel(function_address=0x201010, numBlocks={z=1, y=256, x=256}, dimBlocks={z=1, y=4, x=4}, args=0x7ffd04fafbe8, sharedMemBytes=0, stream=0) kernel=matrixTranspose(float*, float*, int) :6621 +6503199954445469:6503199956116759 35231:35231 hipMemcpy(dst=0x7fe12a3fe010, src=0x7fe129400000, sizeBytes=4194304, kind=2) :6630 +6503199964688346:6503199964775248 35231:35231 hipFree(ptr=0x7fe129a00000) :6663 +6503199964778504:6503199964803620 35231:35231 hipFree(ptr=0x7fe129400000) :6665 +6503198499100064:6503198499100455 35231:35231 hsa_system_get_major_extension_table(513, 1, 24, 0x7fe6685c54c0) = 0 :1 +6503198499107117:6503198499107288 35231:35231 hsa_agent_get_info({handle=5845728}, 17, 0x7ffd04faf2fc) = 0 :3 +6503198499121264:6503198499122285 35231:35231 hsa_amd_memory_pool_get_info({handle=4345824}, 0, 0x7ffd04faf180) = 0 :5 +6503198499122406:6503198499122466 35231:35231 hsa_amd_memory_pool_get_info({handle=4345824}, 1, 0x7ffd04faf184) = 0 :6 +6503198499122646:6503198499122696 35231:35231 hsa_amd_memory_pool_get_info({handle=4344080}, 0, 0x7ffd04faf180) = 0 :7 +6503198499122897:6503198499122957 35231:35231 hsa_amd_memory_pool_get_info({handle=4344080}, 1, 0x7ffd04faf184) = 0 :8 +6503198499123057:6503198499123107 35231:35231 hsa_amd_memory_pool_get_info({handle=5846928}, 0, 0x7ffd04faf180) = 0 :9 +6503198499123197:6503198499123377 35231:35231 hsa_amd_memory_pool_get_info({handle=5846928}, 1, 0x7ffd04faf184) = 0 :10 +6503198499119280:6503198499123478 35231:35231 hsa_amd_agent_iterate_memory_pools({handle=5845728}, 1, 0x7ffd04faf300) = 0 :4 +6503198499123878:6503198499123948 35231:35231 hsa_agent_get_info({handle=5433744}, 17, 0x7ffd04faf2fc) = 0 :11 +6503198499124169:6503198499124229 35231:35231 hsa_amd_memory_pool_get_info({handle=5434240}, 0, 0x7ffd04faf180) = 0 :13 +6503198499124319:6503198499124369 35231:35231 hsa_amd_memory_pool_get_info({handle=5434240}, 1, 0x7ffd04faf184) = 0 :14 +6503198499124489:6503198499124540 35231:35231 hsa_amd_memory_pool_get_info({handle=5435200}, 0, 0x7ffd04faf180) = 0 :15 +6503198499124650:6503198499124700 35231:35231 hsa_amd_memory_pool_get_info({handle=5435200}, 1, 0x7ffd04faf184) = 0 :16 +6503198499124810:6503198499124860 35231:35231 hsa_amd_memory_pool_get_info({handle=5436208}, 0, 0x7ffd04faf180) = 0 :17 +6503198499124950:6503198499125000 35231:35231 hsa_amd_memory_pool_get_info({handle=5436208}, 1, 0x7ffd04faf184) = 0 :18 +6503198499124059:6503198499125091 35231:35231 hsa_amd_agent_iterate_memory_pools({handle=5433744}, 1, 0x7ffd04faf300) = 0 :12 +6503198499126002:6503198499126133 35231:35231 hsa_agent_get_info({handle=5671888}, 17, 0x7ffd04faf2fc) = 0 :19 +6503198499126393:6503198499126443 35231:35231 hsa_agent_get_info({handle=5688912}, 17, 0x7ffd04faf2fc) = 0 :20 +6503198499126623:6503198499126674 35231:35231 hsa_agent_get_info({handle=5706432}, 17, 0x7ffd04faf2fc) = 0 :21 +6503198499126784:6503198499126844 35231:35231 hsa_agent_get_info({handle=5724016}, 17, 0x7ffd04faf2fc) = 0 :22 +6503198499104833:6503198499126984 35231:35231 hsa_iterate_agents(1, 0) = 0 :2 +6503198499131462:6503198499131993 35231:35231 hsa_agent_get_info({handle=5671888}, 0, 0x7ffd04faf400) = 0 :23 +6503198499132104:6503198499132164 35231:35231 hsa_agent_get_info({handle=5671888}, 40960, 0x5e8f20) = 0 :24 +6503198499133476:6503198499133857 35231:35231 hsa_agent_iterate_isas({handle=5671888}, 1, 0x7ffd04faf330) = 0 :25 +6503198499134979:6503198499149847 35231:35231 hsa_isa_get_info_alt({handle=4689672}, 0, 0x7ffd04faf318) = 0 :26 +6503198499150037:6503198499152131 35231:35231 hsa_isa_get_info_alt({handle=4689672}, 1, 0x5e84e0) = 0 :27 +6503198499154766:6503198499154876 35231:35231 hsa_agent_get_info({handle=5671888}, 4, 0x5e8f30) = 0 :28 +6503198499154986:6503198499155146 35231:35231 hsa_agent_get_info({handle=5671888}, 40976, 0x7ffd04faf31c) = 0 :29 +6503198499180093:6503198499180203 35231:35231 hsa_agent_get_info({handle=5671888}, 40966, 0x7ffd04faf320) = 0 :30 +6503198499180303:6503198499180373 35231:35231 hsa_agent_get_info({handle=5671888}, 40975, 0x7ffd04faf324) = 0 :31 +6503198499180473:6503198499180523 35231:35231 hsa_agent_get_info({handle=5671888}, 40974, 0x7ffd04faf340) = 0 :32 +6503198499180794:6503198499180914 35231:35231 hsa_agent_get_info({handle=5671888}, 40969, 0x7ffd04faf1e0) = 0 :33 +6503198499181054:6503198499186314 35231:35231 hsa_agent_get_info({handle=5671888}, 40977, 0x7ffd04faf1c0) = 0 :34 +6503198499186414:6503198499186535 35231:35231 hsa_agent_get_info({handle=5671888}, 40980, 0x5e8914) = 0 :35 +6503198499186645:6503198499186695 35231:35231 hsa_agent_get_info({handle=5671888}, 40962, 0x5e8918) = 0 :36 +6503198499186795:6503198499186855 35231:35231 hsa_agent_get_info({handle=5671888}, 40961, 0x5e8a24) = 0 :37 +6503198499186945:6503198499187907 35231:35231 hsa_agent_get_info({handle=5671888}, 18, 0x7ffd04faefe0) = 0 :38 +6503198499193518:6503198499193588 35231:35231 hsa_agent_get_info({handle=5671888}, 40963, 0x5e8988) = 0 :39 +6503198499193718:6503198499193788 35231:35231 hsa_agent_get_info({handle=5671888}, 40968, 0x5e898c) = 0 :40 +6503198499193878:6503198499193948 35231:35231 hsa_agent_get_info({handle=5671888}, 40982, 0x7ffd04faefc0) = 0 :41 +6503198499194049:6503198499194119 35231:35231 hsa_agent_get_info({handle=5671888}, 40967, 0x5e8c60) = 0 :42 +6503198499194209:6503198499194259 35231:35231 hsa_agent_get_info({handle=5671888}, 40964, 0x5e8e00) = 0 :43 +6503198499195942:6503198499196032 35231:35231 hsa_agent_get_info({handle=5671888}, 41226, 0x5e8e10) = 0 :44 +6503198499198607:6503198499198898 35231:35231 hsa_amd_agent_memory_pool_get_info({handle=5671888}, {handle=4345824}, 1, 0x7ffd04faeeb4) = 0 :45 +6503198499199038:6503198499199108 35231:35231 hsa_amd_agent_memory_pool_get_info({handle=5671888}, {handle=4345824}, 2, 0x5e9360) = 0 :46 +6503198499199338:6503198499199418 35231:35231 hsa_amd_agent_memory_pool_get_info({handle=5671888}, {handle=5434240}, 1, 0x7ffd04faeeb4) = 0 :47 +6503198499199539:6503198499199599 35231:35231 hsa_amd_agent_memory_pool_get_info({handle=5671888}, {handle=5434240}, 2, 0x5e9360) = 0 :48 +6503198499199779:6503198499199839 35231:35231 hsa_amd_agent_memory_pool_get_info({handle=5671888}, {handle=4345824}, 1, 0x7ffd04faeeb4) = 0 :49 +6503198499199939:6503198499200000 35231:35231 hsa_amd_agent_memory_pool_get_info({handle=5671888}, {handle=4345824}, 2, 0x5e9360) = 0 :50 +6503198499200190:6503198499200240 35231:35231 hsa_amd_agent_memory_pool_get_info({handle=5671888}, {handle=4345824}, 1, 0x7ffd04faeef4) = 0 :51 +6503198499200360:6503198499200410 35231:35231 hsa_amd_agent_memory_pool_get_info({handle=5671888}, {handle=4345824}, 2, 0x5e9360) = 0 :52 +6503198499200811:6503198499200861 35231:35231 hsa_amd_memory_pool_get_info({handle=5673216}, 0, 0x7ffd04faee1c) = 0 :54 +6503198499200971:6503198499201021 35231:35231 hsa_amd_memory_pool_get_info({handle=5673216}, 1, 0x7ffd04faee20) = 0 :55 +6503198499201132:6503198499201212 35231:35231 hsa_amd_agent_memory_pool_get_info({handle=5845728}, {handle=5673216}, 0, 0x7ffd04faee24) = 0 :56 +6503198499201342:6503198499201392 35231:35231 hsa_amd_memory_pool_get_info({handle=5674192}, 0, 0x7ffd04faee1c) = 0 :57 +6503198499201502:6503198499201562 35231:35231 hsa_amd_memory_pool_get_info({handle=5674192}, 1, 0x7ffd04faee20) = 0 :58 +6503198499201663:6503198499201713 35231:35231 hsa_amd_memory_pool_get_info({handle=5675200}, 0, 0x7ffd04faee1c) = 0 :59 +6503198499200601:6503198499201803 35231:35231 hsa_amd_agent_iterate_memory_pools({handle=5671888}, 1, 0x5e88c0) = 0 :53 +6503198499201923:6503198499201983 35231:35231 hsa_amd_agent_memory_pool_get_info({handle=5688912}, {handle=5673216}, 0, 0x7ffd04faefc8) = 0 :60 +6503198499202244:6503198499202314 35231:35231 hsa_amd_agent_memory_pool_get_info({handle=5706432}, {handle=5673216}, 0, 0x7ffd04faefc8) = 0 :61 +6503198499202474:6503198499202544 35231:35231 hsa_amd_agent_memory_pool_get_info({handle=5724016}, {handle=5673216}, 0, 0x7ffd04faefc8) = 0 :62 +6503198499202705:6503198499202755 35231:35231 hsa_amd_memory_pool_get_info({handle=5675200}, 2, 0x7ffd04faefc8) = 0 :63 +6503198499202855:6503198499202905 35231:35231 hsa_amd_memory_pool_get_info({handle=5673216}, 2, 0x7ffd04faefd0) = 0 :64 +6503198499203857:6503198499203917 35231:35231 hsa_amd_memory_pool_get_info({handle=5673216}, 6, 0x5e8f88) = 0 :65 +6503198499211892:6503198499212002 35231:35231 hsa_agent_get_info({handle=5671888}, 8, 0x7ffd04faefb8) = 0 :66 +6503198499212102:6503198499212162 35231:35231 hsa_agent_get_info({handle=5671888}, 7, 0x7ffd04faefda) = 0 :67 +6503198499212433:6503198499212503 35231:35231 hsa_agent_get_info({handle=5671888}, 21, 0x7ffd04faefb4) = 0 :68 +6503198499212603:6503198499212653 35231:35231 hsa_agent_get_info({handle=5671888}, 22, 0x7ffd04faefb6) = 0 :69 +6503198499218394:6503198499357722 35231:35231 hsa_agent_get_info({handle=5671888}, 20, 0x7ffd04faf220) = 0 :70 +6503198499358253:6503198499358363 35231:35231 hsa_agent_get_info({handle=5671888}, 12299, 0x5e89f8) = 0 :71 +6503198499358463:6503198499358524 35231:35231 hsa_agent_get_info({handle=5671888}, 12297, 0x5e89a4) = 0 :72 +6503198499358624:6503198499358684 35231:35231 hsa_agent_get_info({handle=5671888}, 12298, 0x5e89ac) = 0 :73 +6503198499361800:6503198499362200 35231:35231 hsa_amd_agent_iterate_memory_pools({handle=5845728}, 1, 0x5e9580) = 1 :75 +6503198499358774:6503198499467305 35231:35231 hsa_agent_get_info({handle=5671888}, 12291, 0x7ffd04faf010) = 0 :74 +6503198499467496:6503198499467666 35231:35231 hsa_agent_get_info({handle=5671888}, 12295, 0x7ffd04faf010) = 0 :76 +6503198499467766:6503198499467866 35231:35231 hsa_agent_get_info({handle=5671888}, 12296, 0x7ffd04faefbc) = 0 :77 +6503198499467967:6503198499468057 35231:35231 hsa_agent_get_info({handle=5671888}, 12288, 0x7ffd04faefd0) = 0 :78 +6503198499468157:6503198499468237 35231:35231 hsa_agent_get_info({handle=5671888}, 12290, 0x7ffd04faf010) = 0 :79 +6503198499468407:6503198499468498 35231:35231 hsa_agent_get_info({handle=5671888}, 6, 0x5e8c50) = 0 :80 +6503198499468588:6503198499468648 35231:35231 hsa_agent_get_info({handle=5671888}, 40967, 0x5e8994) = 0 :81 +6503198499468748:6503198499468828 35231:35231 hsa_agent_get_info({handle=5671888}, 40971, 0x5e8c40) = 0 :82 +6503198499468918:6503198499468978 35231:35231 hsa_agent_get_info({handle=5671888}, 40970, 0x7ffd04faefbc) = 0 :83 +6503198499469089:6503198499469960 35231:35231 hsa_agent_get_info({handle=5671888}, 18, 0x7ffd04faf010) = 0 :84 +6503198499470060:6503198499470121 35231:35231 hsa_agent_get_info({handle=5671888}, 40978, 0x7ffd04faefd0) = 0 :85 +6503198499509213:6503198499509333 35231:35231 hsa_system_get_info(513, 0x5e8dcc) = 0 :86 +6503198499510485:6503198499510666 35231:35231 hsa_system_get_info(514, 0x5e8dd0) = 0 :87 +6503198499510786:6503198499510886 35231:35231 hsa_agent_get_info({handle=5671888}, 40979, 0x5e8dd4) = 0 :88 +6503198499515104:6503198500101832 35231:35231 hsa_amd_memory_pool_allocate({handle=5846928}, 1052672, 0, 0x7ffd04faf200) = 0 :89 +6503198500105499:6503198500273010 35231:35231 hsa_amd_agents_allow_access(4, 0x5e8830, 0, 0x7fe430200000) = 0 :90 +6503198500274753:6503198501035855 35231:35231 hsa_amd_memory_pool_allocate({handle=5846928}, 1052672, 0, 0x7ffd04faf200) = 0 :91 +6503198501036907:6503198502236151 35231:35231 hsa_amd_agents_allow_access(4, 0x5e8830, 0, 0x7fe12b800000) = 0 :92 +6503198502240659:6503198502243174 35231:35231 hsa_signal_create(1, 0, 0, 0x5e8f70) = 0 :93 +6503198502246450:6503198502247061 35231:35231 hsa_agent_get_info({handle=5688912}, 0, 0x7ffd04faf400) = 0 :94 +6503198502247261:6503198502247331 35231:35231 hsa_agent_get_info({handle=5688912}, 40960, 0x6050f0) = 0 :95 +6503198502247542:6503198502247702 35231:35231 hsa_agent_iterate_isas({handle=5688912}, 1, 0x7ffd04faf330) = 0 :96 +6503198502247953:6503198502258682 35231:35231 hsa_isa_get_info_alt({handle=4689672}, 0, 0x7ffd04faf318) = 0 :97 +6503198502258873:6503198502260756 35231:35231 hsa_isa_get_info_alt({handle=4689672}, 1, 0x5e84e0) = 0 :98 +6503198502261708:6503198502261818 35231:35231 hsa_agent_get_info({handle=5688912}, 4, 0x605100) = 0 :99 +6503198502261928:6503198502262019 35231:35231 hsa_agent_get_info({handle=5688912}, 40976, 0x7ffd04faf31c) = 0 :100 +6503198502263231:6503198502263301 35231:35231 hsa_agent_get_info({handle=5688912}, 40966, 0x7ffd04faf320) = 0 :101 +6503198502263411:6503198502263471 35231:35231 hsa_agent_get_info({handle=5688912}, 40975, 0x7ffd04faf324) = 0 :102 +6503198502263582:6503198502263642 35231:35231 hsa_agent_get_info({handle=5688912}, 40974, 0x7ffd04faf340) = 0 :103 +6503198502263822:6503198502263912 35231:35231 hsa_agent_get_info({handle=5688912}, 40969, 0x7ffd04faf1e0) = 0 :104 +6503198502264052:6503198502269212 35231:35231 hsa_agent_get_info({handle=5688912}, 40977, 0x7ffd04faf1c0) = 0 :105 +6503198502269332:6503198502269462 35231:35231 hsa_agent_get_info({handle=5688912}, 40980, 0x604ae4) = 0 :106 +6503198502269563:6503198502269613 35231:35231 hsa_agent_get_info({handle=5688912}, 40962, 0x604ae8) = 0 :107 +6503198502271697:6503198502271767 35231:35231 hsa_agent_get_info({handle=5688912}, 40961, 0x604bf4) = 0 :108 +6503198502271897:6503198502273270 35231:35231 hsa_agent_get_info({handle=5688912}, 18, 0x7ffd04faefe0) = 0 :109 +6503198502275403:6503198502275474 35231:35231 hsa_agent_get_info({handle=5688912}, 40963, 0x604b58) = 0 :110 +6503198502275614:6503198502275674 35231:35231 hsa_agent_get_info({handle=5688912}, 40968, 0x604b5c) = 0 :111 +6503198502275774:6503198502275844 35231:35231 hsa_agent_get_info({handle=5688912}, 40982, 0x7ffd04faefc0) = 0 :112 +6503198502275954:6503198502276005 35231:35231 hsa_agent_get_info({handle=5688912}, 40967, 0x604e30) = 0 :113 +6503198502276115:6503198502276175 35231:35231 hsa_agent_get_info({handle=5688912}, 40964, 0x604fd0) = 0 :114 +6503198502276265:6503198502276335 35231:35231 hsa_agent_get_info({handle=5688912}, 41226, 0x604fe0) = 0 :115 +6503198502277377:6503198502277537 35231:35231 hsa_amd_agent_memory_pool_get_info({handle=5688912}, {handle=4345824}, 1, 0x7ffd04faeeb4) = 0 :116 +6503198502277668:6503198502277738 35231:35231 hsa_amd_agent_memory_pool_get_info({handle=5688912}, {handle=4345824}, 2, 0x604650) = 0 :117 +6503198502277918:6503198502277998 35231:35231 hsa_amd_agent_memory_pool_get_info({handle=5688912}, {handle=5434240}, 1, 0x7ffd04faeeb4) = 0 :118 +6503198502278119:6503198502278179 35231:35231 hsa_amd_agent_memory_pool_get_info({handle=5688912}, {handle=5434240}, 2, 0x604650) = 0 :119 +6503198502278349:6503198502278409 35231:35231 hsa_amd_agent_memory_pool_get_info({handle=5688912}, {handle=4345824}, 1, 0x7ffd04faeeb4) = 0 :120 +6503198502278509:6503198502278569 35231:35231 hsa_amd_agent_memory_pool_get_info({handle=5688912}, {handle=4345824}, 2, 0x604650) = 0 :121 +6503198502278750:6503198502278800 35231:35231 hsa_amd_agent_memory_pool_get_info({handle=5688912}, {handle=4345824}, 1, 0x7ffd04faeef4) = 0 :122 +6503198502278930:6503198502278990 35231:35231 hsa_amd_agent_memory_pool_get_info({handle=5688912}, {handle=4345824}, 2, 0x604650) = 0 :123 +6503198502279571:6503198502279782 35231:35231 hsa_amd_memory_pool_get_info({handle=5690672}, 0, 0x7ffd04faee1c) = 0 :125 +6503198502279902:6503198502279962 35231:35231 hsa_amd_memory_pool_get_info({handle=5690672}, 1, 0x7ffd04faee20) = 0 :126 +6503198502280082:6503198502280152 35231:35231 hsa_amd_agent_memory_pool_get_info({handle=5845728}, {handle=5690672}, 0, 0x7ffd04faee24) = 0 :127 +6503198502280293:6503198502280353 35231:35231 hsa_amd_memory_pool_get_info({handle=5691680}, 0, 0x7ffd04faee1c) = 0 :128 +6503198502280443:6503198502280503 35231:35231 hsa_amd_memory_pool_get_info({handle=5691680}, 1, 0x7ffd04faee20) = 0 :129 +6503198502282767:6503198502282837 35231:35231 hsa_amd_memory_pool_get_info({handle=5692688}, 0, 0x7ffd04faee1c) = 0 :130 +6503198502279311:6503198502282957 35231:35231 hsa_amd_agent_iterate_memory_pools({handle=5688912}, 1, 0x604a90) = 0 :124 +6503198502283098:6503198502283188 35231:35231 hsa_amd_agent_memory_pool_get_info({handle=5671888}, {handle=5690672}, 0, 0x7ffd04faefc8) = 0 :131 +6503198502283418:6503198502283498 35231:35231 hsa_amd_agent_memory_pool_get_info({handle=5706432}, {handle=5690672}, 0, 0x7ffd04faefc8) = 0 :132 +6503198502283719:6503198502283789 35231:35231 hsa_amd_agent_memory_pool_get_info({handle=5724016}, {handle=5690672}, 0, 0x7ffd04faefc8) = 0 :133 +6503198502283989:6503198502284039 35231:35231 hsa_amd_memory_pool_get_info({handle=5692688}, 2, 0x7ffd04faefc8) = 0 :134 +6503198502284180:6503198502284220 35231:35231 hsa_amd_memory_pool_get_info({handle=5690672}, 2, 0x7ffd04faefd0) = 0 :135 +6503198502284320:6503198502284380 35231:35231 hsa_amd_memory_pool_get_info({handle=5690672}, 6, 0x605158) = 0 :136 +6503198502289900:6503198502289991 35231:35231 hsa_agent_get_info({handle=5688912}, 8, 0x7ffd04faefb8) = 0 :137 +6503198502290101:6503198502290161 35231:35231 hsa_agent_get_info({handle=5688912}, 7, 0x7ffd04faefda) = 0 :138 +6503198502290361:6503198502290431 35231:35231 hsa_agent_get_info({handle=5688912}, 21, 0x7ffd04faefb4) = 0 :139 +6503198502290542:6503198502290592 35231:35231 hsa_agent_get_info({handle=5688912}, 22, 0x7ffd04faefb6) = 0 :140 +6503198502291884:6503198502412558 35231:35231 hsa_agent_get_info({handle=5688912}, 20, 0x7ffd04faf220) = 0 :141 +6503198502413149:6503198502413199 35231:35231 hsa_agent_get_info({handle=5688912}, 12299, 0x604bc8) = 0 :142 +6503198502413299:6503198502413359 35231:35231 hsa_agent_get_info({handle=5688912}, 12297, 0x604b74) = 0 :143 +6503198502413470:6503198502413530 35231:35231 hsa_agent_get_info({handle=5688912}, 12298, 0x604b7c) = 0 :144 +6503198502413630:6503198502414692 35231:35231 hsa_agent_get_info({handle=5688912}, 12291, 0x7ffd04faf010) = 0 :145 +6503198502414782:6503198502414912 35231:35231 hsa_agent_get_info({handle=5688912}, 12295, 0x7ffd04faf010) = 0 :146 +6503198502415052:6503198502415173 35231:35231 hsa_agent_get_info({handle=5688912}, 12296, 0x7ffd04faefbc) = 0 :147 +6503198502415273:6503198502415363 35231:35231 hsa_agent_get_info({handle=5688912}, 12288, 0x7ffd04faefd0) = 0 :148 +6503198502415463:6503198502415543 35231:35231 hsa_agent_get_info({handle=5688912}, 12290, 0x7ffd04faf010) = 0 :149 +6503198502415804:6503198502415884 35231:35231 hsa_agent_get_info({handle=5688912}, 6, 0x604e20) = 0 :150 +6503198502417096:6503198502417186 35231:35231 hsa_agent_get_info({handle=5688912}, 40967, 0x604b64) = 0 :151 +6503198502417277:6503198502417347 35231:35231 hsa_agent_get_info({handle=5688912}, 40971, 0x604e10) = 0 :152 +6503198502417457:6503198502417517 35231:35231 hsa_agent_get_info({handle=5688912}, 40970, 0x7ffd04faefbc) = 0 :153 +6503198502417627:6503198502418389 35231:35231 hsa_agent_get_info({handle=5688912}, 18, 0x7ffd04faf010) = 0 :154 +6503198502418509:6503198502418569 35231:35231 hsa_agent_get_info({handle=5688912}, 40978, 0x7ffd04faefd0) = 0 :155 +6503198502433457:6503198502433597 35231:35231 hsa_system_get_info(513, 0x604f9c) = 0 :156 +6503198502433727:6503198502433887 35231:35231 hsa_system_get_info(514, 0x604fa0) = 0 :157 +6503198502434008:6503198502434078 35231:35231 hsa_agent_get_info({handle=5688912}, 40979, 0x604fa4) = 0 :158 +6503198502435691:6503198503053837 35231:35231 hsa_amd_memory_pool_allocate({handle=5846928}, 1052672, 0, 0x7ffd04faf200) = 0 :159 +6503198503054909:6503198503229122 35231:35231 hsa_amd_agents_allow_access(4, 0x5e8830, 0, 0x7fe12b600000) = 0 :160 +6503198503229834:6503198504356393 35231:35231 hsa_amd_memory_pool_allocate({handle=5846928}, 1052672, 0, 0x7ffd04faf200) = 0 :161 +6503198504356633:6503198504668933 35231:35231 hsa_amd_agents_allow_access(4, 0x5e8830, 0, 0x7fe12b400000) = 0 :162 +6503198504669433:6503198504671117 35231:35231 hsa_signal_create(1, 0, 0, 0x605140) = 0 :163 +6503198504674162:6503198504674683 35231:35231 hsa_agent_get_info({handle=5706432}, 0, 0x7ffd04faf400) = 0 :164 +6503198504674864:6503198504674924 35231:35231 hsa_agent_get_info({handle=5706432}, 40960, 0x607610) = 0 :165 +6503198504675124:6503198504675284 35231:35231 hsa_agent_iterate_isas({handle=5706432}, 1, 0x7ffd04faf330) = 0 :166 +6503198504675435:6503198504682768 35231:35231 hsa_isa_get_info_alt({handle=4689672}, 0, 0x7ffd04faf318) = 0 :167 +6503198504682928:6503198504684752 35231:35231 hsa_isa_get_info_alt({handle=4689672}, 1, 0x5e84e0) = 0 :168 +6503198504685573:6503198504685623 35231:35231 hsa_agent_get_info({handle=5706432}, 4, 0x607620) = 0 :169 +6503198504685734:6503198504685834 35231:35231 hsa_agent_get_info({handle=5706432}, 40976, 0x7ffd04faf31c) = 0 :170 +6503198504686876:6503198504686936 35231:35231 hsa_agent_get_info({handle=5706432}, 40966, 0x7ffd04faf320) = 0 :171 +6503198504688559:6503198504688629 35231:35231 hsa_agent_get_info({handle=5706432}, 40975, 0x7ffd04faf324) = 0 :172 +6503198504688739:6503198504688799 35231:35231 hsa_agent_get_info({handle=5706432}, 40974, 0x7ffd04faf340) = 0 :173 +6503198504688980:6503198504689080 35231:35231 hsa_agent_get_info({handle=5706432}, 40969, 0x7ffd04faf1e0) = 0 :174 +6503198504689230:6503198504692015 35231:35231 hsa_agent_get_info({handle=5706432}, 40977, 0x7ffd04faf1c0) = 0 :175 +6503198504692126:6503198504692216 35231:35231 hsa_agent_get_info({handle=5706432}, 40980, 0x607004) = 0 :176 +6503198504692326:6503198504692376 35231:35231 hsa_agent_get_info({handle=5706432}, 40962, 0x607008) = 0 :177 +6503198504692476:6503198504692536 35231:35231 hsa_agent_get_info({handle=5706432}, 40961, 0x607114) = 0 :178 +6503198504692626:6503198504693167 35231:35231 hsa_agent_get_info({handle=5706432}, 18, 0x7ffd04faefe0) = 0 :179 +6503198504695011:6503198504695101 35231:35231 hsa_agent_get_info({handle=5706432}, 40963, 0x607078) = 0 :180 +6503198504695221:6503198504695281 35231:35231 hsa_agent_get_info({handle=5706432}, 40968, 0x60707c) = 0 :181 +6503198504695402:6503198504695452 35231:35231 hsa_agent_get_info({handle=5706432}, 40982, 0x7ffd04faefc0) = 0 :182 +6503198504695562:6503198504695622 35231:35231 hsa_agent_get_info({handle=5706432}, 40967, 0x607350) = 0 :183 +6503198504695712:6503198504695762 35231:35231 hsa_agent_get_info({handle=5706432}, 40964, 0x6074f0) = 0 :184 +6503198504695862:6503198504695933 35231:35231 hsa_agent_get_info({handle=5706432}, 41226, 0x607500) = 0 :185 +6503198504696854:6503198504697015 35231:35231 hsa_amd_agent_memory_pool_get_info({handle=5706432}, {handle=4345824}, 1, 0x7ffd04faeeb4) = 0 :186 +6503198504697125:6503198504697195 35231:35231 hsa_amd_agent_memory_pool_get_info({handle=5706432}, {handle=4345824}, 2, 0x606b70) = 0 :187 +6503198504697385:6503198504697496 35231:35231 hsa_amd_agent_memory_pool_get_info({handle=5706432}, {handle=5434240}, 1, 0x7ffd04faeeb4) = 0 :188 +6503198504697606:6503198504697666 35231:35231 hsa_amd_agent_memory_pool_get_info({handle=5706432}, {handle=5434240}, 2, 0x606b70) = 0 :189 +6503198504697836:6503198504697886 35231:35231 hsa_amd_agent_memory_pool_get_info({handle=5706432}, {handle=4345824}, 1, 0x7ffd04faeeb4) = 0 :190 +6503198504697986:6503198504698047 35231:35231 hsa_amd_agent_memory_pool_get_info({handle=5706432}, {handle=4345824}, 2, 0x606b70) = 0 :191 +6503198504698257:6503198504698317 35231:35231 hsa_amd_agent_memory_pool_get_info({handle=5706432}, {handle=4345824}, 1, 0x7ffd04faeef4) = 0 :192 +6503198504699329:6503198504699389 35231:35231 hsa_amd_agent_memory_pool_get_info({handle=5706432}, {handle=4345824}, 2, 0x606b70) = 0 :193 +6503198504699880:6503198504700030 35231:35231 hsa_amd_memory_pool_get_info({handle=5708240}, 0, 0x7ffd04faee1c) = 0 :195 +6503198504700140:6503198504700281 35231:35231 hsa_amd_memory_pool_get_info({handle=5708240}, 1, 0x7ffd04faee20) = 0 :196 +6503198504700411:6503198504700471 35231:35231 hsa_amd_agent_memory_pool_get_info({handle=5845728}, {handle=5708240}, 0, 0x7ffd04faee24) = 0 :197 +6503198504700591:6503198504700641 35231:35231 hsa_amd_memory_pool_get_info({handle=5709216}, 0, 0x7ffd04faee1c) = 0 :198 +6503198504700742:6503198504700802 35231:35231 hsa_amd_memory_pool_get_info({handle=5709216}, 1, 0x7ffd04faee20) = 0 :199 +6503198504700912:6503198504700962 35231:35231 hsa_amd_memory_pool_get_info({handle=5710224}, 0, 0x7ffd04faee1c) = 0 :200 +6503198504699629:6503198504701072 35231:35231 hsa_amd_agent_iterate_memory_pools({handle=5706432}, 1, 0x606fb0) = 0 :194 +6503198504701192:6503198504701252 35231:35231 hsa_amd_agent_memory_pool_get_info({handle=5671888}, {handle=5708240}, 0, 0x7ffd04faefc8) = 0 :201 +6503198504701483:6503198504701553 35231:35231 hsa_amd_agent_memory_pool_get_info({handle=5688912}, {handle=5708240}, 0, 0x7ffd04faefc8) = 0 :202 +6503198504701733:6503198504701803 35231:35231 hsa_amd_agent_memory_pool_get_info({handle=5724016}, {handle=5708240}, 0, 0x7ffd04faefc8) = 0 :203 +6503198504701984:6503198504702034 35231:35231 hsa_amd_memory_pool_get_info({handle=5710224}, 2, 0x7ffd04faefc8) = 0 :204 +6503198504702154:6503198504702204 35231:35231 hsa_amd_memory_pool_get_info({handle=5708240}, 2, 0x7ffd04faefd0) = 0 :205 +6503198504702294:6503198504702355 35231:35231 hsa_amd_memory_pool_get_info({handle=5708240}, 6, 0x607678) = 0 :206 +6503198504706142:6503198504706222 35231:35231 hsa_agent_get_info({handle=5706432}, 8, 0x7ffd04faefb8) = 0 :207 +6503198504706332:6503198504706402 35231:35231 hsa_agent_get_info({handle=5706432}, 7, 0x7ffd04faefda) = 0 :208 +6503198504706572:6503198504706642 35231:35231 hsa_agent_get_info({handle=5706432}, 21, 0x7ffd04faefb4) = 0 :209 +6503198504706733:6503198504706793 35231:35231 hsa_agent_get_info({handle=5706432}, 22, 0x7ffd04faefb6) = 0 :210 +6503198504707995:6503198504815484 35231:35231 hsa_agent_get_info({handle=5706432}, 20, 0x7ffd04faf220) = 0 :211 +6503198504815965:6503198504816065 35231:35231 hsa_agent_get_info({handle=5706432}, 12299, 0x6070e8) = 0 :212 +6503198504816166:6503198504816236 35231:35231 hsa_agent_get_info({handle=5706432}, 12297, 0x607094) = 0 :213 +6503198504816336:6503198504816396 35231:35231 hsa_agent_get_info({handle=5706432}, 12298, 0x60709c) = 0 :214 +6503198504817508:6503198504818059 35231:35231 hsa_agent_get_info({handle=5706432}, 12291, 0x7ffd04faf010) = 0 :215 +6503198504818179:6503198504818300 35231:35231 hsa_agent_get_info({handle=5706432}, 12295, 0x7ffd04faf010) = 0 :216 +6503198504818400:6503198504818490 35231:35231 hsa_agent_get_info({handle=5706432}, 12296, 0x7ffd04faefbc) = 0 :217 +6503198504818590:6503198504818680 35231:35231 hsa_agent_get_info({handle=5706432}, 12288, 0x7ffd04faefd0) = 0 :218 +6503198504818790:6503198504818881 35231:35231 hsa_agent_get_info({handle=5706432}, 12290, 0x7ffd04faf010) = 0 :219 +6503198504819031:6503198504819101 35231:35231 hsa_agent_get_info({handle=5706432}, 6, 0x607340) = 0 :220 +6503198504819201:6503198504819281 35231:35231 hsa_agent_get_info({handle=5706432}, 40967, 0x607084) = 0 :221 +6503198504819382:6503198504819442 35231:35231 hsa_agent_get_info({handle=5706432}, 40971, 0x607330) = 0 :222 +6503198504819542:6503198504819592 35231:35231 hsa_agent_get_info({handle=5706432}, 40970, 0x7ffd04faefbc) = 0 :223 +6503198504819702:6503198504820153 35231:35231 hsa_agent_get_info({handle=5706432}, 18, 0x7ffd04faf010) = 0 :224 +6503198504820273:6503198504820333 35231:35231 hsa_agent_get_info({handle=5706432}, 40978, 0x7ffd04faefd0) = 0 :225 +6503198504829851:6503198504829971 35231:35231 hsa_system_get_info(513, 0x6074bc) = 0 :226 +6503198504830071:6503198504830242 35231:35231 hsa_system_get_info(514, 0x6074c0) = 0 :227 +6503198504830352:6503198504830422 35231:35231 hsa_agent_get_info({handle=5706432}, 40979, 0x6074c4) = 0 :228 +6503198504832867:6503198505669689 35231:35231 hsa_amd_memory_pool_allocate({handle=5846928}, 1052672, 0, 0x7ffd04faf200) = 0 :229 +6503198505670530:6503198505947464 35231:35231 hsa_amd_agents_allow_access(4, 0x5e8830, 0, 0x7fe12b200000) = 0 :230 +6503198505948185:6503198506751986 35231:35231 hsa_amd_memory_pool_allocate({handle=5846928}, 1052672, 0, 0x7ffd04faf200) = 0 :231 +6503198506752267:6503198507322925 35231:35231 hsa_amd_agents_allow_access(4, 0x5e8830, 0, 0x7fe12b000000) = 0 :232 +6503198507323356:6503198507324899 35231:35231 hsa_signal_create(1, 0, 0, 0x607660) = 0 :233 +6503198507325901:6503198507326462 35231:35231 hsa_agent_get_info({handle=5724016}, 0, 0x7ffd04faf400) = 0 :234 +6503198507326572:6503198507326642 35231:35231 hsa_agent_get_info({handle=5724016}, 40960, 0x609cd0) = 0 :235 +6503198507329287:6503198507329477 35231:35231 hsa_agent_iterate_isas({handle=5724016}, 1, 0x7ffd04faf330) = 0 :236 +6503198507329648:6503198507336210 35231:35231 hsa_isa_get_info_alt({handle=4689672}, 0, 0x7ffd04faf318) = 0 :237 +6503198507336400:6503198507338243 35231:35231 hsa_isa_get_info_alt({handle=4689672}, 1, 0x5e84e0) = 0 :238 +6503198507338835:6503198507338905 35231:35231 hsa_agent_get_info({handle=5724016}, 4, 0x609ce0) = 0 :239 +6503198507339015:6503198507339105 35231:35231 hsa_agent_get_info({handle=5724016}, 40976, 0x7ffd04faf31c) = 0 :240 +6503198507341109:6503198507341209 35231:35231 hsa_agent_get_info({handle=5724016}, 40966, 0x7ffd04faf320) = 0 :241 +6503198507341329:6503198507341399 35231:35231 hsa_agent_get_info({handle=5724016}, 40975, 0x7ffd04faf324) = 0 :242 +6503198507341499:6503198507341560 35231:35231 hsa_agent_get_info({handle=5724016}, 40974, 0x7ffd04faf340) = 0 :243 +6503198507341720:6503198507341800 35231:35231 hsa_agent_get_info({handle=5724016}, 40969, 0x7ffd04faf1e0) = 0 :244 +6503198507341940:6503198507344766 35231:35231 hsa_agent_get_info({handle=5724016}, 40977, 0x7ffd04faf1c0) = 0 :245 +6503198507344876:6503198507344986 35231:35231 hsa_agent_get_info({handle=5724016}, 40980, 0x6096c4) = 0 :246 +6503198507345086:6503198507345136 35231:35231 hsa_agent_get_info({handle=5724016}, 40962, 0x6096c8) = 0 :247 +6503198507345256:6503198507345317 35231:35231 hsa_agent_get_info({handle=5724016}, 40961, 0x6097d4) = 0 :248 +6503198507345417:6503198507346018 35231:35231 hsa_agent_get_info({handle=5724016}, 18, 0x7ffd04faefe0) = 0 :249 +6503198507347300:6503198507347360 35231:35231 hsa_agent_get_info({handle=5724016}, 40963, 0x609738) = 0 :250 +6503198507347491:6503198507347561 35231:35231 hsa_agent_get_info({handle=5724016}, 40968, 0x60973c) = 0 :251 +6503198507347671:6503198507347751 35231:35231 hsa_agent_get_info({handle=5724016}, 40982, 0x7ffd04faefc0) = 0 :252 +6503198507347861:6503198507347911 35231:35231 hsa_agent_get_info({handle=5724016}, 40967, 0x609a10) = 0 :253 +6503198507348022:6503198507348082 35231:35231 hsa_agent_get_info({handle=5724016}, 40964, 0x609bb0) = 0 :254 +6503198507348172:6503198507348242 35231:35231 hsa_agent_get_info({handle=5724016}, 41226, 0x609bc0) = 0 :255 +6503198507348833:6503198507349124 35231:35231 hsa_amd_agent_memory_pool_get_info({handle=5724016}, {handle=4345824}, 1, 0x7ffd04faeeb4) = 0 :256 +6503198507350326:6503198507350406 35231:35231 hsa_amd_agent_memory_pool_get_info({handle=5724016}, {handle=4345824}, 2, 0x609280) = 0 :257 +6503198507350636:6503198507350787 35231:35231 hsa_amd_agent_memory_pool_get_info({handle=5724016}, {handle=5434240}, 1, 0x7ffd04faeeb4) = 0 :258 +6503198507350897:6503198507350957 35231:35231 hsa_amd_agent_memory_pool_get_info({handle=5724016}, {handle=5434240}, 2, 0x609280) = 0 :259 +6503198507351147:6503198507351197 35231:35231 hsa_amd_agent_memory_pool_get_info({handle=5724016}, {handle=4345824}, 1, 0x7ffd04faeeb4) = 0 :260 +6503198507351328:6503198507351388 35231:35231 hsa_amd_agent_memory_pool_get_info({handle=5724016}, {handle=4345824}, 2, 0x609280) = 0 :261 +6503198507351568:6503198507351618 35231:35231 hsa_amd_agent_memory_pool_get_info({handle=5724016}, {handle=4345824}, 1, 0x7ffd04faeef4) = 0 :262 +6503198507351728:6503198507351779 35231:35231 hsa_amd_agent_memory_pool_get_info({handle=5724016}, {handle=4345824}, 2, 0x609280) = 0 :263 +6503198507352279:6503198507352440 35231:35231 hsa_amd_memory_pool_get_info({handle=5725824}, 0, 0x7ffd04faee1c) = 0 :265 +6503198507352540:6503198507352610 35231:35231 hsa_amd_memory_pool_get_info({handle=5725824}, 1, 0x7ffd04faee20) = 0 :266 +6503198507352720:6503198507352790 35231:35231 hsa_amd_agent_memory_pool_get_info({handle=5845728}, {handle=5725824}, 0, 0x7ffd04faee24) = 0 :267 +6503198507352921:6503198507352971 35231:35231 hsa_amd_memory_pool_get_info({handle=5726800}, 0, 0x7ffd04faee1c) = 0 :268 +6503198507353071:6503198507353121 35231:35231 hsa_amd_memory_pool_get_info({handle=5726800}, 1, 0x7ffd04faee20) = 0 :269 +6503198507353241:6503198507353301 35231:35231 hsa_amd_memory_pool_get_info({handle=5727776}, 0, 0x7ffd04faee1c) = 0 :270 +6503198507352019:6503198507353402 35231:35231 hsa_amd_agent_iterate_memory_pools({handle=5724016}, 1, 0x609670) = 0 :264 +6503198507353512:6503198507353682 35231:35231 hsa_amd_agent_memory_pool_get_info({handle=5671888}, {handle=5725824}, 0, 0x7ffd04faefc8) = 0 :271 +6503198507353882:6503198507354023 35231:35231 hsa_amd_agent_memory_pool_get_info({handle=5688912}, {handle=5725824}, 0, 0x7ffd04faefc8) = 0 :272 +6503198507354213:6503198507354363 35231:35231 hsa_amd_agent_memory_pool_get_info({handle=5706432}, {handle=5725824}, 0, 0x7ffd04faefc8) = 0 :273 +6503198507354514:6503198507354564 35231:35231 hsa_amd_memory_pool_get_info({handle=5727776}, 2, 0x7ffd04faefc8) = 0 :274 +6503198507354674:6503198507354724 35231:35231 hsa_amd_memory_pool_get_info({handle=5725824}, 2, 0x7ffd04faefd0) = 0 :275 +6503198507354824:6503198507354884 35231:35231 hsa_amd_memory_pool_get_info({handle=5725824}, 6, 0x609d38) = 0 :276 +6503198507356898:6503198507356978 35231:35231 hsa_agent_get_info({handle=5724016}, 8, 0x7ffd04faefb8) = 0 :277 +6503198507357078:6503198507357149 35231:35231 hsa_agent_get_info({handle=5724016}, 7, 0x7ffd04faefda) = 0 :278 +6503198507358381:6503198507358451 35231:35231 hsa_agent_get_info({handle=5724016}, 21, 0x7ffd04faefb4) = 0 :279 +6503198507358561:6503198507358611 35231:35231 hsa_agent_get_info({handle=5724016}, 22, 0x7ffd04faefb6) = 0 :280 +6503198507359593:6503198507444851 35231:35231 hsa_agent_get_info({handle=5724016}, 20, 0x7ffd04faf220) = 0 :281 +6503198507445272:6503198507445382 35231:35231 hsa_agent_get_info({handle=5724016}, 12299, 0x6097a8) = 0 :282 +6503198507445472:6503198507445532 35231:35231 hsa_agent_get_info({handle=5724016}, 12297, 0x609754) = 0 :283 +6503198507445633:6503198507445693 35231:35231 hsa_agent_get_info({handle=5724016}, 12298, 0x60975c) = 0 :284 +6503198507445783:6503198507446384 35231:35231 hsa_agent_get_info({handle=5724016}, 12291, 0x7ffd04faf010) = 0 :285 +6503198507446474:6503198507446604 35231:35231 hsa_agent_get_info({handle=5724016}, 12295, 0x7ffd04faf010) = 0 :286 +6503198507446705:6503198507446795 35231:35231 hsa_agent_get_info({handle=5724016}, 12296, 0x7ffd04faefbc) = 0 :287 +6503198507446905:6503198507446985 35231:35231 hsa_agent_get_info({handle=5724016}, 12288, 0x7ffd04faefd0) = 0 :288 +6503198507447085:6503198507447165 35231:35231 hsa_agent_get_info({handle=5724016}, 12290, 0x7ffd04faf010) = 0 :289 +6503198507447316:6503198507447396 35231:35231 hsa_agent_get_info({handle=5724016}, 6, 0x609a00) = 0 :290 +6503198507447496:6503198507447566 35231:35231 hsa_agent_get_info({handle=5724016}, 40967, 0x609744) = 0 :291 +6503198507447666:6503198507447747 35231:35231 hsa_agent_get_info({handle=5724016}, 40971, 0x6099f0) = 0 :292 +6503198507447847:6503198507447907 35231:35231 hsa_agent_get_info({handle=5724016}, 40970, 0x7ffd04faefbc) = 0 :293 +6503198507448007:6503198507448498 35231:35231 hsa_agent_get_info({handle=5724016}, 18, 0x7ffd04faf010) = 0 :294 +6503198507448598:6503198507448658 35231:35231 hsa_agent_get_info({handle=5724016}, 40978, 0x7ffd04faefd0) = 0 :295 +6503198507459078:6503198507459208 35231:35231 hsa_system_get_info(513, 0x609b7c) = 0 :296 +6503198507459348:6503198507459468 35231:35231 hsa_system_get_info(514, 0x609b80) = 0 :297 +6503198507459578:6503198507459639 35231:35231 hsa_agent_get_info({handle=5724016}, 40979, 0x609b84) = 0 :298 +6503198507467513:6503198507485957 35231:35231 hsa_amd_memory_pool_allocate({handle=4345824}, 224, 0, 0x7ffd04faf080) = 0 :299 +6503198507486949:6503198507535119 35231:35231 hsa_amd_agents_allow_access(4, 0x5e8830, 0, 0x7fe532183000) = 0 :300 +6503198507536551:6503198508103403 35231:35231 hsa_amd_memory_pool_allocate({handle=5846928}, 1052672, 0, 0x7ffd04faf200) = 0 :301 +6503198508103894:6503198508761313 35231:35231 hsa_amd_agents_allow_access(4, 0x5e8830, 0, 0x7fe12ae00000) = 0 :302 +6503198508763998:6503198509603835 35231:35231 hsa_amd_memory_pool_allocate({handle=5846928}, 1052672, 0, 0x7ffd04faf200) = 0 :303 +6503198509604477:6503198509972499 35231:35231 hsa_amd_agents_allow_access(4, 0x5e8830, 0, 0x7fe12ac00000) = 0 :304 +6503198509973180:6503198509974643 35231:35231 hsa_signal_create(1, 0, 0, 0x609d20) = 0 :305 +6503198510949010:6503198510972664 35231:35231 hsa_amd_memory_pool_allocate({handle=5673216}, 4194304, 0, 0x7ffd04faf490) = 0 :308 +6503198510975309:6503198510986470 35231:35231 hsa_amd_memory_pool_allocate({handle=5673216}, 4194304, 0, 0x7ffd04faf490) = 0 :310 +6503198511003241:6503198511003461 35231:35231 hsa_agent_get_info({handle=5671888}, 14, 0x7ffd04faf314) = 0 :312 +6503198511004623:6503198521111669 35231:35231 hsa_queue_create({handle=5671888}, 16384, 0, 1, 0x5e88c0, 4294967295, 4294967295, 0x7ffd04faf318) = 0 :313 +6503198521113893:6503198521114595 35231:35231 hsa_amd_profiling_set_profiler_enabled(0x7fe5318f8000, 1) = 0 :314 +6503198521115346:6503198521741858 35231:35231 hsa_amd_memory_pool_allocate({handle=5846928}, 1048576, 0, 0x7ffd04faf500) = 0 :315 +6503198521742800:6503198522347882 35231:35231 hsa_amd_agents_allow_access(4, 0x5e8830, 0, 0x7fe129000000) = 0 :316 +6503198522348283:6503198522349114 35231:35231 hsa_signal_create(0, 1, 0x7ffd04faf540, 0x60f8f0) = 0 :317 +6503198522349254:6503198522349715 35231:35231 hsa_signal_create(0, 1, 0x7ffd04faf540, 0x60f8f8) = 0 :318 +6503198522349816:6503198522350236 35231:35231 hsa_signal_create(0, 1, 0x7ffd04faf540, 0x60f900) = 0 :319 +6503198522350357:6503198522350767 35231:35231 hsa_signal_create(0, 1, 0x7ffd04faf540, 0x60f908) = 0 :320 +6503198752290105:6503198752300775 35231:35231 hsa_executable_create_alt(1, 0, 0x0, 0x612380) = 0 :321 +6503198752303770:6503198752327484 35231:35231 hsa_code_object_reader_create_from_memory(0xd77610, 36968, 0x612388) = 0 :322 +6503198752328616:6503198752816541 35231:35231 hsa_executable_load_agent_code_object({handle=7096608}, {handle=5671888}, {handle=17960000}, 0x0, 0) = 0 :323 +6503198753153626:6503198753154959 35231:35231 hsa_signal_create(1, 0, 0, 0x7ffd04faef28) = 0 :325 +6503198753159537:6503198753167252 35231:35231 hsa_signal_wait_scacquire({handle=140627542423296}, 2, 1, 18446744073709551615, 1) = 0 :326 +6503198753168093:6503198753168865 35231:35231 hsa_signal_destroy({handle=140627542423296}) = 0 :327 +6503198752818605:6503198753169666 35231:35231 hsa_executable_freeze({handle=7096608}, 0x0) = 0 :324 +6503198753186016:6503198753186688 35231:35231 hsa_executable_get_symbol_by_name({handle=7096608}, 0x713470, 0x7ffd04faf1b8, 0x7ffd04faf1b0) = 0 :328 +6503198753188180:6503198753188962 35231:35231 hsa_executable_symbol_get_info({handle=13190896}, 22, 0x72b408) = 0 :329 +6503198753189072:6503198753189142 35231:35231 hsa_executable_symbol_get_info({handle=13190896}, 15, 0x72b420) = 0 :330 +6503198753190044:6503198753190264 35231:35231 hsa_agent_get_info({handle=5671888}, 6, 0x7ffd04faf1c0) = 0 :331 +6503198753191567:6503198753191647 35231:35231 hsa_executable_symbol_get_info({handle=10979312}, 10, 0x7ffd04faf033) = 4097 :333 +6503198753191767:6503198753191837 35231:35231 hsa_executable_symbol_get_info({handle=6369472}, 10, 0x7ffd04faf033) = 4097 :334 +6503198753191927:6503198753191997 35231:35231 hsa_executable_symbol_get_info({handle=13190896}, 10, 0x7ffd04faf033) = 4097 :335 +6503198753192108:6503198753192168 35231:35231 hsa_executable_symbol_get_info({handle=6619392}, 10, 0x7ffd04faf033) = 4097 :336 +6503198753192268:6503198753192318 35231:35231 hsa_executable_symbol_get_info({handle=7262352}, 10, 0x7ffd04faf033) = 4097 :337 +6503198753192438:6503198753192488 35231:35231 hsa_executable_symbol_get_info({handle=6504384}, 10, 0x7ffd04faf033) = 4097 :338 +6503198753192599:6503198753192649 35231:35231 hsa_executable_symbol_get_info({handle=18015952}, 10, 0x7ffd04faf033) = 4097 :339 +6503198753192759:6503198753192809 35231:35231 hsa_executable_symbol_get_info({handle=6527936}, 10, 0x7ffd04faf033) = 4097 :340 +6503198753192919:6503198753192969 35231:35231 hsa_executable_symbol_get_info({handle=6528368}, 10, 0x7ffd04faf033) = 4097 :341 +6503198753193079:6503198753193130 35231:35231 hsa_executable_symbol_get_info({handle=6368608}, 10, 0x7ffd04faf033) = 4097 :342 +6503198753193230:6503198753193280 35231:35231 hsa_executable_symbol_get_info({handle=6503088}, 10, 0x7ffd04faf033) = 4097 :343 +6503198753193410:6503198753193460 35231:35231 hsa_executable_symbol_get_info({handle=6503520}, 10, 0x7ffd04faf033) = 4097 :344 +6503198753193580:6503198753193631 35231:35231 hsa_executable_symbol_get_info({handle=6503952}, 10, 0x7ffd04faf033) = 4097 :345 +6503198753193741:6503198753193801 35231:35231 hsa_executable_symbol_get_info({handle=10987664}, 10, 0x7ffd04faf033) = 4097 :346 +6503198753193901:6503198753193961 35231:35231 hsa_executable_symbol_get_info({handle=6369040}, 10, 0x7ffd04faf033) = 4097 :347 +6503198753191386:6503198753194963 35231:35231 hsa_executable_iterate_symbols({handle=7096608}, 1, 0x7ffd04faf1c8) = 0 :332 +6503198753201956:6503198753202166 35231:35231 hsa_executable_get_symbol_by_name({handle=7096608}, 0x713410, 0x7ffd04faf1b8, 0x7ffd04faf1b0) = 0 :348 +6503198753202267:6503198753202347 35231:35231 hsa_executable_symbol_get_info({handle=18015952}, 22, 0xc340c8) = 0 :349 +6503198753202447:6503198753202517 35231:35231 hsa_executable_symbol_get_info({handle=18015952}, 15, 0xc340e0) = 0 :350 +6503198753202647:6503198753202707 35231:35231 hsa_agent_get_info({handle=5671888}, 6, 0x7ffd04faf1c0) = 0 :351 +6503198753202918:6503198753202978 35231:35231 hsa_executable_symbol_get_info({handle=10979312}, 10, 0x7ffd04faf033) = 4097 :353 +6503198753203118:6503198753203168 35231:35231 hsa_executable_symbol_get_info({handle=6369472}, 10, 0x7ffd04faf033) = 4097 :354 +6503198753203268:6503198753203318 35231:35231 hsa_executable_symbol_get_info({handle=13190896}, 10, 0x7ffd04faf033) = 4097 :355 +6503198753203419:6503198753203479 35231:35231 hsa_executable_symbol_get_info({handle=6619392}, 10, 0x7ffd04faf033) = 4097 :356 +6503198753203569:6503198753203619 35231:35231 hsa_executable_symbol_get_info({handle=7262352}, 10, 0x7ffd04faf033) = 4097 :357 +6503198753203719:6503198753203769 35231:35231 hsa_executable_symbol_get_info({handle=6504384}, 10, 0x7ffd04faf033) = 4097 :358 +6503198753203859:6503198753203910 35231:35231 hsa_executable_symbol_get_info({handle=18015952}, 10, 0x7ffd04faf033) = 4097 :359 +6503198753204020:6503198753204070 35231:35231 hsa_executable_symbol_get_info({handle=6527936}, 10, 0x7ffd04faf033) = 4097 :360 +6503198753204160:6503198753204210 35231:35231 hsa_executable_symbol_get_info({handle=6528368}, 10, 0x7ffd04faf033) = 4097 :361 +6503198753204310:6503198753204360 35231:35231 hsa_executable_symbol_get_info({handle=6368608}, 10, 0x7ffd04faf033) = 4097 :362 +6503198753204451:6503198753204501 35231:35231 hsa_executable_symbol_get_info({handle=6503088}, 10, 0x7ffd04faf033) = 4097 :363 +6503198753204601:6503198753204651 35231:35231 hsa_executable_symbol_get_info({handle=6503520}, 10, 0x7ffd04faf033) = 4097 :364 +6503198753204761:6503198753204811 35231:35231 hsa_executable_symbol_get_info({handle=6503952}, 10, 0x7ffd04faf033) = 4097 :365 +6503198753204911:6503198753204962 35231:35231 hsa_executable_symbol_get_info({handle=10987664}, 10, 0x7ffd04faf033) = 4097 :366 +6503198753205052:6503198753205102 35231:35231 hsa_executable_symbol_get_info({handle=6369040}, 10, 0x7ffd04faf033) = 4097 :367 +6503198753202828:6503198753205192 35231:35231 hsa_executable_iterate_symbols({handle=7096608}, 1, 0x7ffd04faf1c8) = 0 :352 +6503198753211424:6503198753211644 35231:35231 hsa_executable_get_symbol_by_name({handle=7096608}, 0x713440, 0x7ffd04faf1b8, 0x7ffd04faf1b0) = 0 :368 +6503198753211774:6503198753211834 35231:35231 hsa_executable_symbol_get_info({handle=6503952}, 22, 0x6e1e58) = 0 :369 +6503198753211934:6503198753212005 35231:35231 hsa_executable_symbol_get_info({handle=6503952}, 15, 0x6e1e70) = 0 :370 +6503198753212105:6503198753212175 35231:35231 hsa_agent_get_info({handle=5671888}, 6, 0x7ffd04faf1c0) = 0 :371 +6503198753212355:6503198753212405 35231:35231 hsa_executable_symbol_get_info({handle=10979312}, 10, 0x7ffd04faf033) = 4097 :373 +6503198753212516:6503198753212566 35231:35231 hsa_executable_symbol_get_info({handle=6369472}, 10, 0x7ffd04faf033) = 4097 :374 +6503198753212696:6503198753212746 35231:35231 hsa_executable_symbol_get_info({handle=13190896}, 10, 0x7ffd04faf033) = 4097 :375 +6503198753212856:6503198753212906 35231:35231 hsa_executable_symbol_get_info({handle=6619392}, 10, 0x7ffd04faf033) = 4097 :376 +6503198753213006:6503198753213057 35231:35231 hsa_executable_symbol_get_info({handle=7262352}, 10, 0x7ffd04faf033) = 4097 :377 +6503198753213177:6503198753213227 35231:35231 hsa_executable_symbol_get_info({handle=6504384}, 10, 0x7ffd04faf033) = 4097 :378 +6503198753213317:6503198753213367 35231:35231 hsa_executable_symbol_get_info({handle=18015952}, 10, 0x7ffd04faf033) = 4097 :379 +6503198753213457:6503198753213507 35231:35231 hsa_executable_symbol_get_info({handle=6527936}, 10, 0x7ffd04faf033) = 4097 :380 +6503198753213608:6503198753213658 35231:35231 hsa_executable_symbol_get_info({handle=6528368}, 10, 0x7ffd04faf033) = 4097 :381 +6503198753213748:6503198753213798 35231:35231 hsa_executable_symbol_get_info({handle=6368608}, 10, 0x7ffd04faf033) = 4097 :382 +6503198753213898:6503198753213948 35231:35231 hsa_executable_symbol_get_info({handle=6503088}, 10, 0x7ffd04faf033) = 4097 :383 +6503198753214038:6503198753214088 35231:35231 hsa_executable_symbol_get_info({handle=6503520}, 10, 0x7ffd04faf033) = 4097 :384 +6503198753214189:6503198753214239 35231:35231 hsa_executable_symbol_get_info({handle=6503952}, 10, 0x7ffd04faf033) = 4097 :385 +6503198753214329:6503198753214379 35231:35231 hsa_executable_symbol_get_info({handle=10987664}, 10, 0x7ffd04faf033) = 4097 :386 +6503198753214479:6503198753214529 35231:35231 hsa_executable_symbol_get_info({handle=6369040}, 10, 0x7ffd04faf033) = 4097 :387 +6503198753212265:6503198753214609 35231:35231 hsa_executable_iterate_symbols({handle=7096608}, 1, 0x7ffd04faf1c8) = 0 :372 +6503198753219298:6503198753219458 35231:35231 hsa_executable_get_symbol_by_name({handle=7096608}, 0x7133e0, 0x7ffd04faf1b8, 0x7ffd04faf1b0) = 0 :388 +6503198753220310:6503198753220380 35231:35231 hsa_executable_symbol_get_info({handle=6368608}, 22, 0x8e9b28) = 0 :389 +6503198753220480:6503198753220550 35231:35231 hsa_executable_symbol_get_info({handle=6368608}, 15, 0x8e9b40) = 0 :390 +6503198753220651:6503198753220701 35231:35231 hsa_agent_get_info({handle=5671888}, 6, 0x7ffd04faf1c0) = 0 :391 +6503198753220881:6503198753220931 35231:35231 hsa_executable_symbol_get_info({handle=10979312}, 10, 0x7ffd04faf033) = 4097 :393 +6503198753221031:6503198753221081 35231:35231 hsa_executable_symbol_get_info({handle=6369472}, 10, 0x7ffd04faf033) = 4097 :394 +6503198753221192:6503198753221242 35231:35231 hsa_executable_symbol_get_info({handle=13190896}, 10, 0x7ffd04faf033) = 4097 :395 +6503198753221342:6503198753221392 35231:35231 hsa_executable_symbol_get_info({handle=6619392}, 10, 0x7ffd04faf033) = 4097 :396 +6503198753221492:6503198753221542 35231:35231 hsa_executable_symbol_get_info({handle=7262352}, 10, 0x7ffd04faf033) = 4097 :397 +6503198753221642:6503198753221693 35231:35231 hsa_executable_symbol_get_info({handle=6504384}, 10, 0x7ffd04faf033) = 4097 :398 +6503198753221783:6503198753221833 35231:35231 hsa_executable_symbol_get_info({handle=18015952}, 10, 0x7ffd04faf033) = 4097 :399 +6503198753221933:6503198753221983 35231:35231 hsa_executable_symbol_get_info({handle=6527936}, 10, 0x7ffd04faf033) = 4097 :400 +6503198753222073:6503198753222123 35231:35231 hsa_executable_symbol_get_info({handle=6528368}, 10, 0x7ffd04faf033) = 4097 :401 +6503198753222224:6503198753222274 35231:35231 hsa_executable_symbol_get_info({handle=6368608}, 10, 0x7ffd04faf033) = 4097 :402 +6503198753222374:6503198753222424 35231:35231 hsa_executable_symbol_get_info({handle=6503088}, 10, 0x7ffd04faf033) = 4097 :403 +6503198753222514:6503198753222564 35231:35231 hsa_executable_symbol_get_info({handle=6503520}, 10, 0x7ffd04faf033) = 4097 :404 +6503198753222664:6503198753222714 35231:35231 hsa_executable_symbol_get_info({handle=6503952}, 10, 0x7ffd04faf033) = 4097 :405 +6503198753222815:6503198753222865 35231:35231 hsa_executable_symbol_get_info({handle=10987664}, 10, 0x7ffd04faf033) = 4097 :406 +6503198753222965:6503198753223015 35231:35231 hsa_executable_symbol_get_info({handle=6369040}, 10, 0x7ffd04faf033) = 4097 :407 +6503198753220791:6503198753223095 35231:35231 hsa_executable_iterate_symbols({handle=7096608}, 1, 0x7ffd04faf1c8) = 0 :392 +6503198753227664:6503198753227864 35231:35231 hsa_executable_get_symbol_by_name({handle=7096608}, 0x7133b0, 0x7ffd04faf1b8, 0x7ffd04faf1b0) = 0 :408 +6503198753227954:6503198753228024 35231:35231 hsa_executable_symbol_get_info({handle=6369040}, 22, 0x8bd5d8) = 0 :409 +6503198753228124:6503198753228175 35231:35231 hsa_executable_symbol_get_info({handle=6369040}, 15, 0x8bd5f0) = 0 :410 +6503198753228936:6503198753228986 35231:35231 hsa_agent_get_info({handle=5671888}, 6, 0x7ffd04faf1c0) = 0 :411 +6503198753229186:6503198753229247 35231:35231 hsa_executable_symbol_get_info({handle=10979312}, 10, 0x7ffd04faf033) = 4097 :413 +6503198753229357:6503198753229407 35231:35231 hsa_executable_symbol_get_info({handle=6369472}, 10, 0x7ffd04faf033) = 4097 :414 +6503198753229507:6503198753229567 35231:35231 hsa_executable_symbol_get_info({handle=13190896}, 10, 0x7ffd04faf033) = 4097 :415 +6503198753229657:6503198753229717 35231:35231 hsa_executable_symbol_get_info({handle=6619392}, 10, 0x7ffd04faf033) = 4097 :416 +6503198753229818:6503198753229868 35231:35231 hsa_executable_symbol_get_info({handle=7262352}, 10, 0x7ffd04faf033) = 4097 :417 +6503198753229968:6503198753230018 35231:35231 hsa_executable_symbol_get_info({handle=6504384}, 10, 0x7ffd04faf033) = 4097 :418 +6503198753230108:6503198753230158 35231:35231 hsa_executable_symbol_get_info({handle=18015952}, 10, 0x7ffd04faf033) = 4097 :419 +6503198753230258:6503198753230309 35231:35231 hsa_executable_symbol_get_info({handle=6527936}, 10, 0x7ffd04faf033) = 4097 :420 +6503198753230399:6503198753230449 35231:35231 hsa_executable_symbol_get_info({handle=6528368}, 10, 0x7ffd04faf033) = 4097 :421 +6503198753230549:6503198753230599 35231:35231 hsa_executable_symbol_get_info({handle=6368608}, 10, 0x7ffd04faf033) = 4097 :422 +6503198753230689:6503198753230739 35231:35231 hsa_executable_symbol_get_info({handle=6503088}, 10, 0x7ffd04faf033) = 4097 :423 +6503198753230840:6503198753230890 35231:35231 hsa_executable_symbol_get_info({handle=6503520}, 10, 0x7ffd04faf033) = 4097 :424 +6503198753230990:6503198753231040 35231:35231 hsa_executable_symbol_get_info({handle=6503952}, 10, 0x7ffd04faf033) = 4097 :425 +6503198753231150:6503198753231200 35231:35231 hsa_executable_symbol_get_info({handle=10987664}, 10, 0x7ffd04faf033) = 4097 :426 +6503198753231300:6503198753231350 35231:35231 hsa_executable_symbol_get_info({handle=6369040}, 10, 0x7ffd04faf033) = 4097 :427 +6503198753229096:6503198753231431 35231:35231 hsa_executable_iterate_symbols({handle=7096608}, 1, 0x7ffd04faf1c8) = 0 :412 +6503198753236129:6503198753236310 35231:35231 hsa_executable_get_symbol_by_name({handle=7096608}, 0x62b020, 0x7ffd04faf1b8, 0x7ffd04faf1b0) = 0 :428 +6503198753236430:6503198753236500 35231:35231 hsa_executable_symbol_get_info({handle=6503088}, 22, 0x6edf38) = 0 :429 +6503198753236600:6503198753236650 35231:35231 hsa_executable_symbol_get_info({handle=6503088}, 15, 0x6edf50) = 0 :430 +6503198753236750:6503198753236801 35231:35231 hsa_agent_get_info({handle=5671888}, 6, 0x7ffd04faf1c0) = 0 :431 +6503198753237702:6503198753237752 35231:35231 hsa_executable_symbol_get_info({handle=10979312}, 10, 0x7ffd04faf033) = 4097 :433 +6503198753237873:6503198753237923 35231:35231 hsa_executable_symbol_get_info({handle=6369472}, 10, 0x7ffd04faf033) = 4097 :434 +6503198753238023:6503198753238073 35231:35231 hsa_executable_symbol_get_info({handle=13190896}, 10, 0x7ffd04faf033) = 4097 :435 +6503198753238173:6503198753238223 35231:35231 hsa_executable_symbol_get_info({handle=6619392}, 10, 0x7ffd04faf033) = 4097 :436 +6503198753238333:6503198753238384 35231:35231 hsa_executable_symbol_get_info({handle=7262352}, 10, 0x7ffd04faf033) = 4097 :437 +6503198753238474:6503198753238524 35231:35231 hsa_executable_symbol_get_info({handle=6504384}, 10, 0x7ffd04faf033) = 4097 :438 +6503198753238624:6503198753238674 35231:35231 hsa_executable_symbol_get_info({handle=18015952}, 10, 0x7ffd04faf033) = 4097 :439 +6503198753238764:6503198753238814 35231:35231 hsa_executable_symbol_get_info({handle=6527936}, 10, 0x7ffd04faf033) = 4097 :440 +6503198753238914:6503198753238965 35231:35231 hsa_executable_symbol_get_info({handle=6528368}, 10, 0x7ffd04faf033) = 4097 :441 +6503198753239055:6503198753239105 35231:35231 hsa_executable_symbol_get_info({handle=6368608}, 10, 0x7ffd04faf033) = 4097 :442 +6503198753239205:6503198753239255 35231:35231 hsa_executable_symbol_get_info({handle=6503088}, 10, 0x7ffd04faf033) = 4097 :443 +6503198753239345:6503198753239395 35231:35231 hsa_executable_symbol_get_info({handle=6503520}, 10, 0x7ffd04faf033) = 4097 :444 +6503198753239496:6503198753239546 35231:35231 hsa_executable_symbol_get_info({handle=6503952}, 10, 0x7ffd04faf033) = 4097 :445 +6503198753239646:6503198753239696 35231:35231 hsa_executable_symbol_get_info({handle=10987664}, 10, 0x7ffd04faf033) = 4097 :446 +6503198753239786:6503198753239836 35231:35231 hsa_executable_symbol_get_info({handle=6369040}, 10, 0x7ffd04faf033) = 4097 :447 +6503198753237592:6503198753239926 35231:35231 hsa_executable_iterate_symbols({handle=7096608}, 1, 0x7ffd04faf1c8) = 0 :432 +6503198753244425:6503198753244625 35231:35231 hsa_executable_get_symbol_by_name({handle=7096608}, 0x69fd10, 0x7ffd04faf1b8, 0x7ffd04faf1b0) = 0 :448 +6503198753244725:6503198753244795 35231:35231 hsa_executable_symbol_get_info({handle=6527936}, 22, 0x6ee668) = 0 :449 +6503198753244886:6503198753244936 35231:35231 hsa_executable_symbol_get_info({handle=6527936}, 15, 0x6ee680) = 0 :450 +6503198753245036:6503198753245086 35231:35231 hsa_agent_get_info({handle=5671888}, 6, 0x7ffd04faf1c0) = 0 :451 +6503198753245276:6503198753245326 35231:35231 hsa_executable_symbol_get_info({handle=10979312}, 10, 0x7ffd04faf033) = 4097 :453 +6503198753246088:6503198753246138 35231:35231 hsa_executable_symbol_get_info({handle=6369472}, 10, 0x7ffd04faf033) = 4097 :454 +6503198753246248:6503198753246298 35231:35231 hsa_executable_symbol_get_info({handle=13190896}, 10, 0x7ffd04faf033) = 4097 :455 +6503198753246398:6503198753246448 35231:35231 hsa_executable_symbol_get_info({handle=6619392}, 10, 0x7ffd04faf033) = 4097 :456 +6503198753246549:6503198753246599 35231:35231 hsa_executable_symbol_get_info({handle=7262352}, 10, 0x7ffd04faf033) = 4097 :457 +6503198753246689:6503198753246739 35231:35231 hsa_executable_symbol_get_info({handle=6504384}, 10, 0x7ffd04faf033) = 4097 :458 +6503198753246839:6503198753246889 35231:35231 hsa_executable_symbol_get_info({handle=18015952}, 10, 0x7ffd04faf033) = 4097 :459 +6503198753246999:6503198753247050 35231:35231 hsa_executable_symbol_get_info({handle=6527936}, 10, 0x7ffd04faf033) = 4097 :460 +6503198753247150:6503198753247190 35231:35231 hsa_executable_symbol_get_info({handle=6528368}, 10, 0x7ffd04faf033) = 4097 :461 +6503198753247290:6503198753247340 35231:35231 hsa_executable_symbol_get_info({handle=6368608}, 10, 0x7ffd04faf033) = 4097 :462 +6503198753247440:6503198753247490 35231:35231 hsa_executable_symbol_get_info({handle=6503088}, 10, 0x7ffd04faf033) = 4097 :463 +6503198753247591:6503198753247641 35231:35231 hsa_executable_symbol_get_info({handle=6503520}, 10, 0x7ffd04faf033) = 4097 :464 +6503198753247731:6503198753247781 35231:35231 hsa_executable_symbol_get_info({handle=6503952}, 10, 0x7ffd04faf033) = 4097 :465 +6503198753247881:6503198753247931 35231:35231 hsa_executable_symbol_get_info({handle=10987664}, 10, 0x7ffd04faf033) = 4097 :466 +6503198753248021:6503198753248071 35231:35231 hsa_executable_symbol_get_info({handle=6369040}, 10, 0x7ffd04faf033) = 4097 :467 +6503198753245186:6503198753248162 35231:35231 hsa_executable_iterate_symbols({handle=7096608}, 1, 0x7ffd04faf1c8) = 0 :452 +6503198753252680:6503198753252860 35231:35231 hsa_executable_get_symbol_by_name({handle=7096608}, 0x69fd40, 0x7ffd04faf1b8, 0x7ffd04faf1b0) = 0 :468 +6503198753252981:6503198753253031 35231:35231 hsa_executable_symbol_get_info({handle=6528368}, 22, 0x8fa8c8) = 0 :469 +6503198753253121:6503198753253171 35231:35231 hsa_executable_symbol_get_info({handle=6528368}, 15, 0x8fa8e0) = 0 :470 +6503198753253271:6503198753253321 35231:35231 hsa_agent_get_info({handle=5671888}, 6, 0x7ffd04faf1c0) = 0 :471 +6503198753253512:6503198753253562 35231:35231 hsa_executable_symbol_get_info({handle=10979312}, 10, 0x7ffd04faf033) = 4097 :473 +6503198753253652:6503198753253712 35231:35231 hsa_executable_symbol_get_info({handle=6369472}, 10, 0x7ffd04faf033) = 4097 :474 +6503198753253812:6503198753253862 35231:35231 hsa_executable_symbol_get_info({handle=13190896}, 10, 0x7ffd04faf033) = 4097 :475 +6503198753255004:6503198753255054 35231:35231 hsa_executable_symbol_get_info({handle=6619392}, 10, 0x7ffd04faf033) = 4097 :476 +6503198753255155:6503198753255215 35231:35231 hsa_executable_symbol_get_info({handle=7262352}, 10, 0x7ffd04faf033) = 4097 :477 +6503198753255325:6503198753255375 35231:35231 hsa_executable_symbol_get_info({handle=6504384}, 10, 0x7ffd04faf033) = 4097 :478 +6503198753255475:6503198753255525 35231:35231 hsa_executable_symbol_get_info({handle=18015952}, 10, 0x7ffd04faf033) = 4097 :479 +6503198753255625:6503198753255676 35231:35231 hsa_executable_symbol_get_info({handle=6527936}, 10, 0x7ffd04faf033) = 4097 :480 +6503198753255776:6503198753255826 35231:35231 hsa_executable_symbol_get_info({handle=6528368}, 10, 0x7ffd04faf033) = 4097 :481 +6503198753255916:6503198753255966 35231:35231 hsa_executable_symbol_get_info({handle=6368608}, 10, 0x7ffd04faf033) = 4097 :482 +6503198753256066:6503198753256116 35231:35231 hsa_executable_symbol_get_info({handle=6503088}, 10, 0x7ffd04faf033) = 4097 :483 +6503198753256217:6503198753256267 35231:35231 hsa_executable_symbol_get_info({handle=6503520}, 10, 0x7ffd04faf033) = 4097 :484 +6503198753256367:6503198753256417 35231:35231 hsa_executable_symbol_get_info({handle=6503952}, 10, 0x7ffd04faf033) = 4097 :485 +6503198753256507:6503198753256557 35231:35231 hsa_executable_symbol_get_info({handle=10987664}, 10, 0x7ffd04faf033) = 4097 :486 +6503198753256657:6503198753256707 35231:35231 hsa_executable_symbol_get_info({handle=6369040}, 10, 0x7ffd04faf033) = 4097 :487 +6503198753253411:6503198753256798 35231:35231 hsa_executable_iterate_symbols({handle=7096608}, 1, 0x7ffd04faf1c8) = 0 :472 +6503198753261276:6503198753261456 35231:35231 hsa_executable_get_symbol_by_name({handle=7096608}, 0x69fd70, 0x7ffd04faf1b8, 0x7ffd04faf1b0) = 0 :488 +6503198753261556:6503198753261607 35231:35231 hsa_executable_symbol_get_info({handle=10979312}, 22, 0x623e18) = 0 :489 +6503198753261697:6503198753261747 35231:35231 hsa_executable_symbol_get_info({handle=10979312}, 15, 0x623e30) = 0 :490 +6503198753261847:6503198753261907 35231:35231 hsa_agent_get_info({handle=5671888}, 6, 0x7ffd04faf1c0) = 0 :491 +6503198753262087:6503198753262148 35231:35231 hsa_executable_symbol_get_info({handle=10979312}, 10, 0x7ffd04faf033) = 4097 :493 +6503198753262238:6503198753262288 35231:35231 hsa_executable_symbol_get_info({handle=6369472}, 10, 0x7ffd04faf033) = 4097 :494 +6503198753262388:6503198753262438 35231:35231 hsa_executable_symbol_get_info({handle=13190896}, 10, 0x7ffd04faf033) = 4097 :495 +6503198753262538:6503198753262588 35231:35231 hsa_executable_symbol_get_info({handle=6619392}, 10, 0x7ffd04faf033) = 4097 :496 +6503198753263450:6503198753263500 35231:35231 hsa_executable_symbol_get_info({handle=7262352}, 10, 0x7ffd04faf033) = 4097 :497 +6503198753263610:6503198753263660 35231:35231 hsa_executable_symbol_get_info({handle=6504384}, 10, 0x7ffd04faf033) = 4097 :498 +6503198753263761:6503198753263811 35231:35231 hsa_executable_symbol_get_info({handle=18015952}, 10, 0x7ffd04faf033) = 4097 :499 +6503198753263911:6503198753263961 35231:35231 hsa_executable_symbol_get_info({handle=6527936}, 10, 0x7ffd04faf033) = 4097 :500 +6503198753264061:6503198753264111 35231:35231 hsa_executable_symbol_get_info({handle=6528368}, 10, 0x7ffd04faf033) = 4097 :501 +6503198753264211:6503198753264262 35231:35231 hsa_executable_symbol_get_info({handle=6368608}, 10, 0x7ffd04faf033) = 4097 :502 +6503198753264352:6503198753264402 35231:35231 hsa_executable_symbol_get_info({handle=6503088}, 10, 0x7ffd04faf033) = 4097 :503 +6503198753264502:6503198753264552 35231:35231 hsa_executable_symbol_get_info({handle=6503520}, 10, 0x7ffd04faf033) = 4097 :504 +6503198753264652:6503198753264702 35231:35231 hsa_executable_symbol_get_info({handle=6503952}, 10, 0x7ffd04faf033) = 4097 :505 +6503198753264803:6503198753264853 35231:35231 hsa_executable_symbol_get_info({handle=10987664}, 10, 0x7ffd04faf033) = 4097 :506 +6503198753264943:6503198753264993 35231:35231 hsa_executable_symbol_get_info({handle=6369040}, 10, 0x7ffd04faf033) = 4097 :507 +6503198753261997:6503198753265083 35231:35231 hsa_executable_iterate_symbols({handle=7096608}, 1, 0x7ffd04faf1c8) = 0 :492 +6503198753269581:6503198753269802 35231:35231 hsa_executable_get_symbol_by_name({handle=7096608}, 0x69fda0, 0x7ffd04faf1b8, 0x7ffd04faf1b0) = 0 :508 +6503198753269922:6503198753269972 35231:35231 hsa_executable_symbol_get_info({handle=6619392}, 22, 0x6b3458) = 0 :509 +6503198753270072:6503198753270122 35231:35231 hsa_executable_symbol_get_info({handle=6619392}, 15, 0x6b3470) = 0 :510 +6503198753270223:6503198753270273 35231:35231 hsa_agent_get_info({handle=5671888}, 6, 0x7ffd04faf1c0) = 0 :511 +6503198753270473:6503198753270533 35231:35231 hsa_executable_symbol_get_info({handle=10979312}, 10, 0x7ffd04faf033) = 4097 :513 +6503198753270643:6503198753270693 35231:35231 hsa_executable_symbol_get_info({handle=6369472}, 10, 0x7ffd04faf033) = 4097 :514 +6503198753270794:6503198753270844 35231:35231 hsa_executable_symbol_get_info({handle=13190896}, 10, 0x7ffd04faf033) = 4097 :515 +6503198753270944:6503198753270994 35231:35231 hsa_executable_symbol_get_info({handle=6619392}, 10, 0x7ffd04faf033) = 4097 :516 +6503198753271084:6503198753271134 35231:35231 hsa_executable_symbol_get_info({handle=7262352}, 10, 0x7ffd04faf033) = 4097 :517 +6503198753271896:6503198753271946 35231:35231 hsa_executable_symbol_get_info({handle=6504384}, 10, 0x7ffd04faf033) = 4097 :518 +6503198753272066:6503198753272116 35231:35231 hsa_executable_symbol_get_info({handle=18015952}, 10, 0x7ffd04faf033) = 4097 :519 +6503198753272216:6503198753272266 35231:35231 hsa_executable_symbol_get_info({handle=6527936}, 10, 0x7ffd04faf033) = 4097 :520 +6503198753272387:6503198753272437 35231:35231 hsa_executable_symbol_get_info({handle=6528368}, 10, 0x7ffd04faf033) = 4097 :521 +6503198753272527:6503198753272577 35231:35231 hsa_executable_symbol_get_info({handle=6368608}, 10, 0x7ffd04faf033) = 4097 :522 +6503198753272677:6503198753272727 35231:35231 hsa_executable_symbol_get_info({handle=6503088}, 10, 0x7ffd04faf033) = 4097 :523 +6503198753272827:6503198753272877 35231:35231 hsa_executable_symbol_get_info({handle=6503520}, 10, 0x7ffd04faf033) = 4097 :524 +6503198753272978:6503198753273028 35231:35231 hsa_executable_symbol_get_info({handle=6503952}, 10, 0x7ffd04faf033) = 4097 :525 +6503198753273118:6503198753273168 35231:35231 hsa_executable_symbol_get_info({handle=10987664}, 10, 0x7ffd04faf033) = 4097 :526 +6503198753273268:6503198753273318 35231:35231 hsa_executable_symbol_get_info({handle=6369040}, 10, 0x7ffd04faf033) = 4097 :527 +6503198753270373:6503198753273408 35231:35231 hsa_executable_iterate_symbols({handle=7096608}, 1, 0x7ffd04faf1c8) = 0 :512 +6503198753277997:6503198753278177 35231:35231 hsa_executable_get_symbol_by_name({handle=7096608}, 0x62af30, 0x7ffd04faf1b8, 0x7ffd04faf1b0) = 0 :528 +6503198753278278:6503198753278328 35231:35231 hsa_executable_symbol_get_info({handle=6503520}, 22, 0x94e288) = 0 :529 +6503198753278428:6503198753278478 35231:35231 hsa_executable_symbol_get_info({handle=6503520}, 15, 0x94e2a0) = 0 :530 +6503198753278588:6503198753278638 35231:35231 hsa_agent_get_info({handle=5671888}, 6, 0x7ffd04faf1c0) = 0 :531 +6503198753278829:6503198753278879 35231:35231 hsa_executable_symbol_get_info({handle=10979312}, 10, 0x7ffd04faf033) = 4097 :533 +6503198753278979:6503198753279029 35231:35231 hsa_executable_symbol_get_info({handle=6369472}, 10, 0x7ffd04faf033) = 4097 :534 +6503198753279129:6503198753279179 35231:35231 hsa_executable_symbol_get_info({handle=13190896}, 10, 0x7ffd04faf033) = 4097 :535 +6503198753279279:6503198753279329 35231:35231 hsa_executable_symbol_get_info({handle=6619392}, 10, 0x7ffd04faf033) = 4097 :536 +6503198753279420:6503198753279470 35231:35231 hsa_executable_symbol_get_info({handle=7262352}, 10, 0x7ffd04faf033) = 4097 :537 +6503198753279570:6503198753279620 35231:35231 hsa_executable_symbol_get_info({handle=6504384}, 10, 0x7ffd04faf033) = 4097 :538 +6503198753279710:6503198753279760 35231:35231 hsa_executable_symbol_get_info({handle=18015952}, 10, 0x7ffd04faf033) = 4097 :539 +6503198753280482:6503198753280532 35231:35231 hsa_executable_symbol_get_info({handle=6527936}, 10, 0x7ffd04faf033) = 4097 :540 +6503198753280632:6503198753280682 35231:35231 hsa_executable_symbol_get_info({handle=6528368}, 10, 0x7ffd04faf033) = 4097 :541 +6503198753280782:6503198753280832 35231:35231 hsa_executable_symbol_get_info({handle=6368608}, 10, 0x7ffd04faf033) = 4097 :542 +6503198753280942:6503198753280993 35231:35231 hsa_executable_symbol_get_info({handle=6503088}, 10, 0x7ffd04faf033) = 4097 :543 +6503198753281083:6503198753281133 35231:35231 hsa_executable_symbol_get_info({handle=6503520}, 10, 0x7ffd04faf033) = 4097 :544 +6503198753281233:6503198753281283 35231:35231 hsa_executable_symbol_get_info({handle=6503952}, 10, 0x7ffd04faf033) = 4097 :545 +6503198753281383:6503198753281433 35231:35231 hsa_executable_symbol_get_info({handle=10987664}, 10, 0x7ffd04faf033) = 4097 :546 +6503198753281524:6503198753281574 35231:35231 hsa_executable_symbol_get_info({handle=6369040}, 10, 0x7ffd04faf033) = 4097 :547 +6503198753278738:6503198753281664 35231:35231 hsa_executable_iterate_symbols({handle=7096608}, 1, 0x7ffd04faf1c8) = 0 :532 +6503198753286182:6503198753286352 35231:35231 hsa_executable_get_symbol_by_name({handle=7096608}, 0x62af60, 0x7ffd04faf1b8, 0x7ffd04faf1b0) = 0 :548 +6503198753286473:6503198753286523 35231:35231 hsa_executable_symbol_get_info({handle=10987664}, 22, 0x7132e8) = 0 :549 +6503198753286623:6503198753286673 35231:35231 hsa_executable_symbol_get_info({handle=10987664}, 15, 0x713300) = 0 :550 +6503198753286773:6503198753286823 35231:35231 hsa_agent_get_info({handle=5671888}, 6, 0x7ffd04faf1c0) = 0 :551 +6503198753287034:6503198753287084 35231:35231 hsa_executable_symbol_get_info({handle=10979312}, 10, 0x7ffd04faf033) = 4097 :553 +6503198753287184:6503198753287234 35231:35231 hsa_executable_symbol_get_info({handle=6369472}, 10, 0x7ffd04faf033) = 4097 :554 +6503198753287334:6503198753287384 35231:35231 hsa_executable_symbol_get_info({handle=13190896}, 10, 0x7ffd04faf033) = 4097 :555 +6503198753287485:6503198753287535 35231:35231 hsa_executable_symbol_get_info({handle=6619392}, 10, 0x7ffd04faf033) = 4097 :556 +6503198753287635:6503198753287685 35231:35231 hsa_executable_symbol_get_info({handle=7262352}, 10, 0x7ffd04faf033) = 4097 :557 +6503198753287785:6503198753287835 35231:35231 hsa_executable_symbol_get_info({handle=6504384}, 10, 0x7ffd04faf033) = 4097 :558 +6503198753287925:6503198753287975 35231:35231 hsa_executable_symbol_get_info({handle=18015952}, 10, 0x7ffd04faf033) = 4097 :559 +6503198753288066:6503198753288116 35231:35231 hsa_executable_symbol_get_info({handle=6527936}, 10, 0x7ffd04faf033) = 4097 :560 +6503198753288937:6503198753288987 35231:35231 hsa_executable_symbol_get_info({handle=6528368}, 10, 0x7ffd04faf033) = 4097 :561 +6503198753289088:6503198753289138 35231:35231 hsa_executable_symbol_get_info({handle=6368608}, 10, 0x7ffd04faf033) = 4097 :562 +6503198753289238:6503198753289288 35231:35231 hsa_executable_symbol_get_info({handle=6503088}, 10, 0x7ffd04faf033) = 4097 :563 +6503198753289398:6503198753289448 35231:35231 hsa_executable_symbol_get_info({handle=6503520}, 10, 0x7ffd04faf033) = 4097 :564 +6503198753289548:6503198753289598 35231:35231 hsa_executable_symbol_get_info({handle=6503952}, 10, 0x7ffd04faf033) = 4097 :565 +6503198753289689:6503198753289739 35231:35231 hsa_executable_symbol_get_info({handle=10987664}, 10, 0x7ffd04faf033) = 4097 :566 +6503198753289839:6503198753289889 35231:35231 hsa_executable_symbol_get_info({handle=6369040}, 10, 0x7ffd04faf033) = 4097 :567 +6503198753286934:6503198753289979 35231:35231 hsa_executable_iterate_symbols({handle=7096608}, 1, 0x7ffd04faf1c8) = 0 :552 +6503198753294508:6503198753294718 35231:35231 hsa_executable_get_symbol_by_name({handle=7096608}, 0x62af90, 0x7ffd04faf1b8, 0x7ffd04faf1b0) = 0 :568 +6503198753294828:6503198753294878 35231:35231 hsa_executable_symbol_get_info({handle=6369472}, 22, 0xc00588) = 0 :569 +6503198753294988:6503198753295039 35231:35231 hsa_executable_symbol_get_info({handle=6369472}, 15, 0xc005a0) = 0 :570 +6503198753295149:6503198753295199 35231:35231 hsa_agent_get_info({handle=5671888}, 6, 0x7ffd04faf1c0) = 0 :571 +6503198753295389:6503198753295439 35231:35231 hsa_executable_symbol_get_info({handle=10979312}, 10, 0x7ffd04faf033) = 4097 :573 +6503198753295530:6503198753295580 35231:35231 hsa_executable_symbol_get_info({handle=6369472}, 10, 0x7ffd04faf033) = 4097 :574 +6503198753295680:6503198753295730 35231:35231 hsa_executable_symbol_get_info({handle=13190896}, 10, 0x7ffd04faf033) = 4097 :575 +6503198753295830:6503198753295880 35231:35231 hsa_executable_symbol_get_info({handle=6619392}, 10, 0x7ffd04faf033) = 4097 :576 +6503198753295990:6503198753296040 35231:35231 hsa_executable_symbol_get_info({handle=7262352}, 10, 0x7ffd04faf033) = 4097 :577 +6503198753296151:6503198753296201 35231:35231 hsa_executable_symbol_get_info({handle=6504384}, 10, 0x7ffd04faf033) = 4097 :578 +6503198753296291:6503198753296341 35231:35231 hsa_executable_symbol_get_info({handle=18015952}, 10, 0x7ffd04faf033) = 4097 :579 +6503198753296441:6503198753296491 35231:35231 hsa_executable_symbol_get_info({handle=6527936}, 10, 0x7ffd04faf033) = 4097 :580 +6503198753296591:6503198753296642 35231:35231 hsa_executable_symbol_get_info({handle=6528368}, 10, 0x7ffd04faf033) = 4097 :581 +6503198753297443:6503198753297493 35231:35231 hsa_executable_symbol_get_info({handle=6368608}, 10, 0x7ffd04faf033) = 4097 :582 +6503198753297593:6503198753297643 35231:35231 hsa_executable_symbol_get_info({handle=6503088}, 10, 0x7ffd04faf033) = 4097 :583 +6503198753297744:6503198753297804 35231:35231 hsa_executable_symbol_get_info({handle=6503520}, 10, 0x7ffd04faf033) = 4097 :584 +6503198753297904:6503198753297954 35231:35231 hsa_executable_symbol_get_info({handle=6503952}, 10, 0x7ffd04faf033) = 4097 :585 +6503198753298054:6503198753298104 35231:35231 hsa_executable_symbol_get_info({handle=10987664}, 10, 0x7ffd04faf033) = 4097 :586 +6503198753298194:6503198753298245 35231:35231 hsa_executable_symbol_get_info({handle=6369040}, 10, 0x7ffd04faf033) = 4097 :587 +6503198753295289:6503198753298335 35231:35231 hsa_executable_iterate_symbols({handle=7096608}, 1, 0x7ffd04faf1c8) = 0 :572 +6503198753302823:6503198753302993 35231:35231 hsa_executable_get_symbol_by_name({handle=7096608}, 0x62afc0, 0x7ffd04faf1b8, 0x7ffd04faf1b0) = 0 :588 +6503198753303114:6503198753303174 35231:35231 hsa_executable_symbol_get_info({handle=6504384}, 22, 0xc93fd8) = 0 :589 +6503198753303264:6503198753303314 35231:35231 hsa_executable_symbol_get_info({handle=6504384}, 15, 0xc93ff0) = 0 :590 +6503198753303414:6503198753303464 35231:35231 hsa_agent_get_info({handle=5671888}, 6, 0x7ffd04faf1c0) = 0 :591 +6503198753303665:6503198753303725 35231:35231 hsa_executable_symbol_get_info({handle=10979312}, 10, 0x7ffd04faf033) = 4097 :593 +6503198753303815:6503198753303865 35231:35231 hsa_executable_symbol_get_info({handle=6369472}, 10, 0x7ffd04faf033) = 4097 :594 +6503198753303965:6503198753304015 35231:35231 hsa_executable_symbol_get_info({handle=13190896}, 10, 0x7ffd04faf033) = 4097 :595 +6503198753304115:6503198753304166 35231:35231 hsa_executable_symbol_get_info({handle=6619392}, 10, 0x7ffd04faf033) = 4097 :596 +6503198753304256:6503198753304306 35231:35231 hsa_executable_symbol_get_info({handle=7262352}, 10, 0x7ffd04faf033) = 4097 :597 +6503198753304406:6503198753304456 35231:35231 hsa_executable_symbol_get_info({handle=6504384}, 10, 0x7ffd04faf033) = 4097 :598 +6503198753304546:6503198753304596 35231:35231 hsa_executable_symbol_get_info({handle=18015952}, 10, 0x7ffd04faf033) = 4097 :599 +6503198753304697:6503198753304747 35231:35231 hsa_executable_symbol_get_info({handle=6527936}, 10, 0x7ffd04faf033) = 4097 :600 +6503198753304837:6503198753304887 35231:35231 hsa_executable_symbol_get_info({handle=6528368}, 10, 0x7ffd04faf033) = 4097 :601 +6503198753304987:6503198753305037 35231:35231 hsa_executable_symbol_get_info({handle=6368608}, 10, 0x7ffd04faf033) = 4097 :602 +6503198753305137:6503198753305187 35231:35231 hsa_executable_symbol_get_info({handle=6503088}, 10, 0x7ffd04faf033) = 4097 :603 +6503198753307351:6503198753307402 35231:35231 hsa_executable_symbol_get_info({handle=6503520}, 10, 0x7ffd04faf033) = 4097 :604 +6503198753307512:6503198753307562 35231:35231 hsa_executable_symbol_get_info({handle=6503952}, 10, 0x7ffd04faf033) = 4097 :605 +6503198753307662:6503198753307712 35231:35231 hsa_executable_symbol_get_info({handle=10987664}, 10, 0x7ffd04faf033) = 4097 :606 +6503198753307812:6503198753307862 35231:35231 hsa_executable_symbol_get_info({handle=6369040}, 10, 0x7ffd04faf033) = 4097 :607 +6503198753303574:6503198753307943 35231:35231 hsa_executable_iterate_symbols({handle=7096608}, 1, 0x7ffd04faf1c8) = 0 :592 +6503198753312451:6503198753312651 35231:35231 hsa_executable_get_symbol_by_name({handle=7096608}, 0x69d1d0, 0x7ffd04faf1b8, 0x7ffd04faf1b0) = 0 :608 +6503198753312771:6503198753312822 35231:35231 hsa_executable_symbol_get_info({handle=7262352}, 22, 0x69cde8) = 0 :609 +6503198753312912:6503198753312962 35231:35231 hsa_executable_symbol_get_info({handle=7262352}, 15, 0x69ce00) = 0 :610 +6503198753313062:6503198753313112 35231:35231 hsa_agent_get_info({handle=5671888}, 6, 0x7ffd04faf1c0) = 0 :611 +6503198753313302:6503198753313363 35231:35231 hsa_executable_symbol_get_info({handle=10979312}, 10, 0x7ffd04faf033) = 4097 :613 +6503198753313453:6503198753313503 35231:35231 hsa_executable_symbol_get_info({handle=6369472}, 10, 0x7ffd04faf033) = 4097 :614 +6503198753313603:6503198753313653 35231:35231 hsa_executable_symbol_get_info({handle=13190896}, 10, 0x7ffd04faf033) = 4097 :615 +6503198753313753:6503198753313803 35231:35231 hsa_executable_symbol_get_info({handle=6619392}, 10, 0x7ffd04faf033) = 4097 :616 +6503198753313904:6503198753313954 35231:35231 hsa_executable_symbol_get_info({handle=7262352}, 10, 0x7ffd04faf033) = 4097 :617 +6503198753314054:6503198753314104 35231:35231 hsa_executable_symbol_get_info({handle=6504384}, 10, 0x7ffd04faf033) = 4097 :618 +6503198753314194:6503198753314244 35231:35231 hsa_executable_symbol_get_info({handle=18015952}, 10, 0x7ffd04faf033) = 4097 :619 +6503198753314334:6503198753314384 35231:35231 hsa_executable_symbol_get_info({handle=6527936}, 10, 0x7ffd04faf033) = 4097 :620 +6503198753314485:6503198753314535 35231:35231 hsa_executable_symbol_get_info({handle=6528368}, 10, 0x7ffd04faf033) = 4097 :621 +6503198753314635:6503198753314685 35231:35231 hsa_executable_symbol_get_info({handle=6368608}, 10, 0x7ffd04faf033) = 4097 :622 +6503198753314775:6503198753314825 35231:35231 hsa_executable_symbol_get_info({handle=6503088}, 10, 0x7ffd04faf033) = 4097 :623 +6503198753314915:6503198753314966 35231:35231 hsa_executable_symbol_get_info({handle=6503520}, 10, 0x7ffd04faf033) = 4097 :624 +6503198753315797:6503198753315847 35231:35231 hsa_executable_symbol_get_info({handle=6503952}, 10, 0x7ffd04faf033) = 4097 :625 +6503198753315947:6503198753315997 35231:35231 hsa_executable_symbol_get_info({handle=10987664}, 10, 0x7ffd04faf033) = 4097 :626 +6503198753316098:6503198753316148 35231:35231 hsa_executable_symbol_get_info({handle=6369040}, 10, 0x7ffd04faf033) = 4097 :627 +6503198753313212:6503198753316248 35231:35231 hsa_executable_iterate_symbols({handle=7096608}, 1, 0x7ffd04faf1c8) = 0 :612 +6503198753323521:6503198753323592 35231:35231 hsa_system_get_info(3, 0x7ffd04faf570) = 0 :628 +6503198753324523:6503198753324704 35231:35231 hsa_signal_create(0, 0, 0, 0xd0a1c0) = 0 :629 +6503198753324864:6503198753328300 35231:35231 hsa_signal_create(0, 0, 0, 0xbc5450) = 0 :630 +6503198753328451:6503198753329673 35231:35231 hsa_signal_create(0, 0, 0, 0xd980c0) = 0 :631 +6503198753329803:6503198753330635 35231:35231 hsa_signal_create(0, 0, 0, 0xd182e0) = 0 :632 +6503198753330755:6503198753331466 35231:35231 hsa_signal_create(0, 0, 0, 0xd3dbf0) = 0 :633 +6503198753331576:6503198753332037 35231:35231 hsa_signal_create(0, 0, 0, 0xd98160) = 0 :634 +6503198753332198:6503198753332799 35231:35231 hsa_signal_create(0, 0, 0, 0x6d7d00) = 0 :635 +6503198753332919:6503198753333390 35231:35231 hsa_signal_create(0, 0, 0, 0x6d7e30) = 0 :636 +6503198753333520:6503198753334492 35231:35231 hsa_signal_create(0, 0, 0, 0x6d7f60) = 0 :637 +6503198753334682:6503198753335173 35231:35231 hsa_signal_create(0, 0, 0, 0xae90c0) = 0 :638 +6503198753335313:6503198753335774 35231:35231 hsa_signal_create(0, 0, 0, 0xae91a0) = 0 :639 +6503198753335914:6503198753336375 35231:35231 hsa_signal_create(0, 0, 0, 0xae92d0) = 0 :640 +6503198753336506:6503198753337047 35231:35231 hsa_signal_create(0, 0, 0, 0xae9400) = 0 :641 +6503198753337187:6503198753337608 35231:35231 hsa_signal_create(0, 0, 0, 0xae9530) = 0 :642 +6503198753337778:6503198753338299 35231:35231 hsa_signal_create(0, 0, 0, 0xae9660) = 0 :643 +6503198753338439:6503198753405323 35231:35231 hsa_signal_create(0, 0, 0, 0xb3ef90) = 0 :644 +6503198753406746:6503198753407397 35231:35231 hsa_signal_create(0, 0, 0, 0xb3f1c0) = 0 :645 +6503198753407527:6503198753407978 35231:35231 hsa_signal_create(0, 0, 0, 0xb3f2f0) = 0 :646 +6503198753408108:6503198753408629 35231:35231 hsa_signal_create(0, 0, 0, 0xb3f420) = 0 :647 +6503198753408850:6503198753409321 35231:35231 hsa_signal_create(0, 0, 0, 0x1124d20) = 0 :648 +6503198753409461:6503198753410132 35231:35231 hsa_signal_create(0, 0, 0, 0x1124e50) = 0 :649 +6503198753410262:6503198753410934 35231:35231 hsa_signal_create(0, 0, 0, 0x1124f80) = 0 :650 +6503198753411054:6503198753411525 35231:35231 hsa_signal_create(0, 0, 0, 0x11250b0) = 0 :651 +6503198753411645:6503198753412096 35231:35231 hsa_signal_create(0, 0, 0, 0x11251e0) = 0 :652 +6503198753412306:6503198753412777 35231:35231 hsa_signal_create(0, 0, 0, 0x735930) = 0 :653 +6503198753412897:6503198753413378 35231:35231 hsa_signal_create(0, 0, 0, 0x735a60) = 0 :654 +6503198753413518:6503198753413989 35231:35231 hsa_signal_create(0, 0, 0, 0x735b90) = 0 :655 +6503198753414109:6503198753414520 35231:35231 hsa_signal_create(0, 0, 0, 0x735cc0) = 0 :656 +6503198753414640:6503198753415292 35231:35231 hsa_signal_create(0, 0, 0, 0x735df0) = 0 :657 +6503198753415492:6503198753415973 35231:35231 hsa_signal_create(0, 0, 0, 0x6eb1f0) = 0 :658 +6503198753416103:6503198753416524 35231:35231 hsa_signal_create(0, 0, 0, 0x6eb320) = 0 :659 +6503198753416654:6503198753417125 35231:35231 hsa_signal_create(0, 0, 0, 0x6eb450) = 0 :660 +6503198753426933:6503198753428075 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :661 +6503198753428336:6503198753428576 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf590, 0, 0, 0) = 0 :662 +6503198753428737:6503198753428857 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf630, 0, 0, 0) = 0 :663 +6503198753429097:6503198753429197 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf570, 0, 0, 0) = 0 :664 +6503198753434678:6503198753461658 35231:35231 hsa_amd_profiling_async_copy_enable(1) = 0 :665 +6503198753466837:6503198755602929 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a7ff000, 4198400, 0, 0, {handle=5846928}, 0, 0x6eb6b8) = 0 :666 +6503198755608249:6503198755608459 35231:35231 hsa_signal_load_relaxed({handle=140627542423296}) = 0 :667 +6503198755608660:6503198755609341 35231:35231 hsa_signal_load_relaxed({handle=140627542423040}) = 0 :668 +6503198755609501:6503198755609551 35231:35231 hsa_signal_load_relaxed({handle=140627542423168}) = 0 :669 +6503198755609662:6503198755609712 35231:35231 hsa_signal_load_relaxed({handle=140627542423040}) = 0 :670 +6503198755610694:6503198755610884 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542423168}, 1) = void :671 +6503198755612687:6503198758242495 35231:35231 hsa_amd_memory_async_copy(0x7fe129a00000, {handle=5671888}, 0x7fe12a7ff010, {handle=5845728}, 4194304, 0, 0, {handle=140627542423168}) = 0 :672 +6503198758243306:6503198758243396 35231:35231 hsa_signal_load_relaxed({handle=140627542423168}) = 1 :673 +6503198758244919:6503198758345075 35231:35231 hsa_signal_wait_scacquire({handle=140627542423168}, 2, 1, 100000, 1) = 1 :674 +6503198758345195:6503198759079707 35231:35231 hsa_signal_wait_scacquire({handle=140627542423168}, 2, 1, 18446744073709551615, 0) = 0 :675 +6503198759081501:6503198759082302 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140627542423168}, 0x7ffd04faf410) = 0 :676 +6503198759086881:6503198759086941 35231:35231 hsa_signal_load_relaxed({handle=140627542423168}) = 0 :677 +6503198759227622:6503198759228624 35231:35231 hsa_executable_create_alt(1, 0, 0x0, 0x70ca50) = 0 :681 +6503198759228944:6503198759246336 35231:35231 hsa_code_object_reader_create_from_memory(0x203000, 4880, 0x70ca58) = 0 :682 +6503198759246587:6503198759376478 35231:35231 hsa_executable_load_agent_code_object({handle=6495456}, {handle=5671888}, {handle=6946320}, 0x0, 0) = 0 :683 +6503198759430017:6503198759432261 35231:35231 hsa_signal_create(1, 0, 0, 0x7ffd04faf138) = 0 :685 +6503198759433243:6503198759442330 35231:35231 hsa_signal_wait_scacquire({handle=140622355551744}, 2, 1, 18446744073709551615, 1) = 0 :686 +6503198759442480:6503198759442761 35231:35231 hsa_signal_destroy({handle=140622355551744}) = 0 :687 +6503198759377009:6503198759443131 35231:35231 hsa_executable_freeze({handle=6495456}, 0x0) = 0 :684 +6503198759454503:6503198759454973 35231:35231 hsa_executable_get_symbol_by_name({handle=6495456}, 0x6d1610, 0x7ffd04faf3c8, 0x7ffd04faf3c0) = 0 :688 +6503198759455314:6503198759455715 35231:35231 hsa_executable_symbol_get_info({handle=7255408}, 22, 0x6c58e8) = 0 :689 +6503198759455825:6503198759455905 35231:35231 hsa_executable_symbol_get_info({handle=7255408}, 15, 0x6c5900) = 0 :690 +6503198759458209:6503198759458320 35231:35231 hsa_agent_get_info({handle=5671888}, 6, 0x7ffd04faf3d0) = 0 :691 +6503198759458780:6503198759458861 35231:35231 hsa_executable_symbol_get_info({handle=7255408}, 10, 0x7ffd04faf243) = 4097 :693 +6503198759458590:6503198759458971 35231:35231 hsa_executable_iterate_symbols({handle=6495456}, 1, 0x7ffd04faf3d8) = 0 :692 +6503198759468078:6503198759468228 35231:35231 hsa_signal_load_relaxed({handle=140627542423168}) = 0 :694 +6503198759470142:6503198759470713 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 0 :695 +6503198759471935:6503198759472396 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 0 :696 +6503198759472546:6503198759472636 35231:35231 hsa_signal_load_relaxed({handle=140627542422912}) = 0 :697 +6503198759472776:6503198759473127 35231:35231 hsa_signal_load_relaxed({handle=140627542423040}) = 0 :698 +6503198759473227:6503198759473277 35231:35231 hsa_signal_load_relaxed({handle=140627542422912}) = 0 :699 +6503198759473578:6503198759473638 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542423040}, 1) = void :700 +6503198759474810:6503198759475001 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 0 :701 +6503198759476704:6503198759478116 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 0) = void :702 +6503198759492493:6503198759493294 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :704 +6503198759493515:6503198759493715 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf590, 0, 0, 0) = 0 :705 +6503198759493866:6503198759493986 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf630, 0, 0, 0) = 0 :706 +6503198759494136:6503198759494246 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf570, 0, 0, 0) = 0 :707 +6503198759497172:6503198762202619 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a3fe000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :708 +6503198762203641:6503198762203742 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 1 :709 +6503198762203892:6503198762204212 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 1 :710 +6503198762204383:6503198762205214 35231:35231 hsa_signal_load_relaxed({handle=140627542422784}) = 0 :711 +6503198762205344:6503198762205415 35231:35231 hsa_signal_load_relaxed({handle=140627542422912}) = 0 :712 +6503198762207669:6503198762207719 35231:35231 hsa_signal_load_relaxed({handle=140627542422784}) = 0 :713 +6503198762207889:6503198762207939 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542422912}, 1) = void :714 +6503198762208180:6503198762208250 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 1 :715 +6503198762208701:6503198762209222 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 1) = void :716 +6503198762209422:6503198762209472 35231:35231 hsa_signal_load_relaxed({handle=140627542422912}) = 1 :717 +6503198762209602:6503198762209652 35231:35231 hsa_signal_load_relaxed({handle=140627542422912}) = 1 :718 +6503198762209843:6503198762219982 35231:35231 hsa_signal_wait_scacquire({handle=140627542422912}, 2, 1, 10000, 1) = 1 :719 +6503198762220523:6503198762220873 35231:35231 hsa_signal_load_relaxed({handle=140627542422656}) = 0 :720 +6503198762220983:6503198762221034 35231:35231 hsa_signal_load_relaxed({handle=140627542422784}) = 0 :721 +6503198762221144:6503198762221184 35231:35231 hsa_signal_load_relaxed({handle=140627542422656}) = 0 :722 +6503198762221304:6503198762221354 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542422784}, 1) = void :723 +6503198762221635:6503198763439724 35231:35231 hsa_amd_memory_async_copy(0x7fe12a3fe010, {handle=5845728}, 0x7fe129400000, {handle=5671888}, 4194304, 1, 0x1136180, {handle=140627542422784}) = 0 :724 +6503198763440375:6503198763440736 35231:35231 hsa_signal_load_relaxed({handle=140627542422912}) = 0 :725 +6503198763442189:6503198763442599 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140627542422912}, 0x7ffd04faf400) = 0 :726 +6503198763442790:6503198763442840 35231:35231 hsa_signal_load_relaxed({handle=140627542422784}) = 1 :727 +6503198763442970:6503198763543106 35231:35231 hsa_signal_wait_scacquire({handle=140627542422784}, 2, 1, 100000, 1) = 1 :728 +6503198763543216:6503198765015146 35231:35231 hsa_signal_wait_scacquire({handle=140627542422784}, 2, 1, 18446744073709551615, 0) = 0 :729 +6503198765015537:6503198765015747 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140627542422784}, 0x7ffd04faf410) = 0 :730 +6503198765017831:6503198765017901 35231:35231 hsa_signal_load_relaxed({handle=140627542422784}) = 0 :731 +6503198765018152:6503198765018232 35231:35231 hsa_signal_load_relaxed({handle=140627542423040}) = 0 :732 +6503198765018372:6503198765018472 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140627542423040}, 0x7ffd04faf540) = 0 :733 +6503198774352754:6503198774353496 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :735 +6503198774355419:6503198774355610 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf590, 0, 0, 0) = 0 :736 +6503198774355810:6503198774355910 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf630, 0, 0, 0) = 0 :737 +6503198774356051:6503198774356151 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf570, 0, 0, 0) = 0 :738 +6503198774359607:6503198774364586 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a7ff000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :739 +6503198774365157:6503198774365258 35231:35231 hsa_signal_load_relaxed({handle=140627542422784}) = 0 :740 +6503198774365438:6503198774365508 35231:35231 hsa_signal_load_relaxed({handle=140627542422528}) = 0 :741 +6503198774365628:6503198774365678 35231:35231 hsa_signal_load_relaxed({handle=140627542422656}) = 0 :742 +6503198774365789:6503198774365839 35231:35231 hsa_signal_load_relaxed({handle=140627542422528}) = 0 :743 +6503198774366019:6503198774366129 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542422656}, 1) = void :744 +6503198774366370:6503198774368093 35231:35231 hsa_amd_memory_async_copy(0x7fe129a00000, {handle=5671888}, 0x7fe12a7ff010, {handle=5845728}, 4194304, 0, 0, {handle=140627542422656}) = 0 :745 +6503198774368283:6503198774368333 35231:35231 hsa_signal_load_relaxed({handle=140627542422656}) = 1 :746 +6503198774368494:6503198774468559 35231:35231 hsa_signal_wait_scacquire({handle=140627542422656}, 2, 1, 100000, 1) = 1 :747 +6503198774468669:6503198776022341 35231:35231 hsa_signal_wait_scacquire({handle=140627542422656}, 2, 1, 18446744073709551615, 0) = 0 :748 +6503198776022612:6503198776023022 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140627542422656}, 0x7ffd04faf410) = 0 :749 +6503198776023994:6503198776024054 35231:35231 hsa_signal_load_relaxed({handle=140627542422656}) = 0 :750 +6503198776037269:6503198776037329 35231:35231 hsa_signal_load_relaxed({handle=140627542422656}) = 0 :754 +6503198776037629:6503198776037750 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 2 :755 +6503198776037930:6503198776038311 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 2 :756 +6503198776038451:6503198776038521 35231:35231 hsa_signal_load_relaxed({handle=140627542422400}) = 0 :757 +6503198776038641:6503198776038691 35231:35231 hsa_signal_load_relaxed({handle=140627542422528}) = 0 :758 +6503198776038792:6503198776038842 35231:35231 hsa_signal_load_relaxed({handle=140627542422400}) = 0 :759 +6503198776039934:6503198776040014 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542422528}, 1) = void :760 +6503198776040204:6503198776040304 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 2 :761 +6503198776040715:6503198776041206 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 2) = void :762 +6503198776043070:6503198776043310 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :764 +6503198776043470:6503198776043571 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf590, 0, 0, 0) = 0 :765 +6503198776043711:6503198776043801 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf630, 0, 0, 0) = 0 :766 +6503198776043941:6503198776044061 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf570, 0, 0, 0) = 0 :767 +6503198776045304:6503198776048500 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a3fe000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :768 +6503198776048930:6503198776049011 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 3 :769 +6503198776049121:6503198776049171 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 2 :770 +6503198776049301:6503198776049371 35231:35231 hsa_signal_load_relaxed({handle=140627542422272}) = 0 :771 +6503198776049471:6503198776049522 35231:35231 hsa_signal_load_relaxed({handle=140627542422400}) = 0 :772 +6503198776049622:6503198776049672 35231:35231 hsa_signal_load_relaxed({handle=140627542422272}) = 0 :773 +6503198776049782:6503198776049832 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542422400}, 1) = void :774 +6503198776049952:6503198776050022 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 2 :775 +6503198776050143:6503198776050584 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 3) = void :776 +6503198776050744:6503198776050794 35231:35231 hsa_signal_load_relaxed({handle=140627542422400}) = 1 :777 +6503198776050904:6503198776050954 35231:35231 hsa_signal_load_relaxed({handle=140627542422400}) = 1 :778 +6503198776051094:6503198776061193 35231:35231 hsa_signal_wait_scacquire({handle=140627542422400}, 2, 1, 10000, 1) = 1 :779 +6503198776061404:6503198776061554 35231:35231 hsa_signal_load_relaxed({handle=140627542422144}) = 0 :780 +6503198776061654:6503198776061704 35231:35231 hsa_signal_load_relaxed({handle=140627542422272}) = 0 :781 +6503198776062846:6503198776062906 35231:35231 hsa_signal_load_relaxed({handle=140627542422144}) = 0 :782 +6503198776063027:6503198776063077 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542422272}, 1) = void :783 +6503198776063317:6503198776064519 35231:35231 hsa_amd_memory_async_copy(0x7fe12a3fe010, {handle=5845728}, 0x7fe129400000, {handle=5671888}, 4194304, 1, 0x11360e0, {handle=140627542422272}) = 0 :784 +6503198776064680:6503198776064730 35231:35231 hsa_signal_load_relaxed({handle=140627542422400}) = 1 :785 +6503198776064850:6503198776164415 35231:35231 hsa_signal_wait_scacquire({handle=140627542422400}, 2, 1, 100000, 1) = 0 :786 +6503198776164585:6503198776164665 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140627542422400}, 0x7ffd04faf400) = 0 :787 +6503198776164775:6503198776164825 35231:35231 hsa_signal_load_relaxed({handle=140627542422272}) = 1 :788 +6503198776164946:6503198776265021 35231:35231 hsa_signal_wait_scacquire({handle=140627542422272}, 2, 1, 100000, 1) = 1 :789 +6503198776265131:6503198777719128 35231:35231 hsa_signal_wait_scacquire({handle=140627542422272}, 2, 1, 18446744073709551615, 0) = 0 :790 +6503198777719399:6503198777719489 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140627542422272}, 0x7ffd04faf410) = 0 :791 +6503198777720190:6503198777720250 35231:35231 hsa_signal_load_relaxed({handle=140627542422272}) = 0 :792 +6503198777720461:6503198777720791 35231:35231 hsa_signal_load_relaxed({handle=140627542422528}) = 0 :793 +6503198777720891:6503198777720972 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140627542422528}, 0x7ffd04faf540) = 0 :794 +6503198786319840:6503198786320170 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :796 +6503198786320381:6503198786320491 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf590, 0, 0, 0) = 0 :797 +6503198786320621:6503198786320711 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf630, 0, 0, 0) = 0 :798 +6503198786320852:6503198786320942 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf570, 0, 0, 0) = 0 :799 +6503198786322435:6503198786326292 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a7ff000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :800 +6503198786326733:6503198786326823 35231:35231 hsa_signal_load_relaxed({handle=140627542422272}) = 0 :801 +6503198786326993:6503198786327063 35231:35231 hsa_signal_load_relaxed({handle=140627542422016}) = 0 :802 +6503198786327173:6503198786327243 35231:35231 hsa_signal_load_relaxed({handle=140627542422144}) = 0 :803 +6503198786327344:6503198786327384 35231:35231 hsa_signal_load_relaxed({handle=140627542422016}) = 0 :804 +6503198786333365:6503198786333445 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542422144}, 1) = void :805 +6503198786333645:6503198786334767 35231:35231 hsa_amd_memory_async_copy(0x7fe129a00000, {handle=5671888}, 0x7fe12a7ff010, {handle=5845728}, 4194304, 0, 0, {handle=140627542422144}) = 0 :806 +6503198786334938:6503198786335018 35231:35231 hsa_signal_load_relaxed({handle=140627542422144}) = 1 :807 +6503198786335188:6503198786435294 35231:35231 hsa_signal_wait_scacquire({handle=140627542422144}, 2, 1, 100000, 1) = 1 :808 +6503198786435404:6503198788040240 35231:35231 hsa_signal_wait_scacquire({handle=140627542422144}, 2, 1, 18446744073709551615, 0) = 0 :809 +6503198788040531:6503198788040611 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140627542422144}, 0x7ffd04faf410) = 0 :810 +6503198788041533:6503198788041583 35231:35231 hsa_signal_load_relaxed({handle=140627542422144}) = 0 :811 +6503198788047774:6503198788047865 35231:35231 hsa_signal_load_relaxed({handle=140627542422144}) = 0 :815 +6503198788048095:6503198788048165 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 4 :816 +6503198788048335:6503198788048716 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 4 :817 +6503198788048826:6503198788048957 35231:35231 hsa_signal_load_relaxed({handle=140627542421888}) = 0 :818 +6503198788049067:6503198788049117 35231:35231 hsa_signal_load_relaxed({handle=140627542422016}) = 0 :819 +6503198788049217:6503198788049267 35231:35231 hsa_signal_load_relaxed({handle=140627542421888}) = 0 :820 +6503198788049377:6503198788049427 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542422016}, 1) = void :821 +6503198788049608:6503198788049668 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 4 :822 +6503198788050069:6503198788050529 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 4) = void :823 +6503198788051712:6503198788051942 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :825 +6503198788052102:6503198788052203 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf590, 0, 0, 0) = 0 :826 +6503198788052343:6503198788052443 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf630, 0, 0, 0) = 0 :827 +6503198788052573:6503198788052673 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf570, 0, 0, 0) = 0 :828 +6503198788053625:6503198788056521 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a3fe000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :829 +6503198788058114:6503198788058194 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 5 :830 +6503198788058324:6503198788058374 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 4 :831 +6503198788058494:6503198788058635 35231:35231 hsa_signal_load_relaxed({handle=140627542421760}) = 0 :832 +6503198788058735:6503198788058785 35231:35231 hsa_signal_load_relaxed({handle=140627542421888}) = 0 :833 +6503198788058905:6503198788058955 35231:35231 hsa_signal_load_relaxed({handle=140627542421760}) = 0 :834 +6503198788059055:6503198788059105 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542421888}, 1) = void :835 +6503198788059226:6503198788059286 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 4 :836 +6503198788059386:6503198788059817 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 5) = void :837 +6503198788059977:6503198788060027 35231:35231 hsa_signal_load_relaxed({handle=140627542421888}) = 1 :838 +6503198788060117:6503198788060167 35231:35231 hsa_signal_load_relaxed({handle=140627542421888}) = 1 :839 +6503198788060298:6503198788070396 35231:35231 hsa_signal_wait_scacquire({handle=140627542421888}, 2, 1, 10000, 1) = 1 :840 +6503198788070687:6503198788070737 35231:35231 hsa_signal_load_relaxed({handle=140627542421632}) = 0 :841 +6503198788070837:6503198788070887 35231:35231 hsa_signal_load_relaxed({handle=140627542421760}) = 0 :842 +6503198788070987:6503198788071038 35231:35231 hsa_signal_load_relaxed({handle=140627542421632}) = 0 :843 +6503198788071138:6503198788071188 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542421760}, 1) = void :844 +6503198788071448:6503198788072530 35231:35231 hsa_amd_memory_async_copy(0x7fe12a3fe010, {handle=5845728}, 0x7fe129400000, {handle=5671888}, 4194304, 1, 0x1136160, {handle=140627542421760}) = 0 :845 +6503198788072701:6503198788072751 35231:35231 hsa_signal_load_relaxed({handle=140627542421888}) = 1 :846 +6503198788072841:6503198788172926 35231:35231 hsa_signal_wait_scacquire({handle=140627542421888}, 2, 1, 100000, 1) = 1 :847 +6503198788173017:6503198788173397 35231:35231 hsa_signal_wait_scacquire({handle=140627542421888}, 2, 1, 18446744073709551615, 0) = 0 :848 +6503198788173538:6503198788173638 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140627542421888}, 0x7ffd04faf400) = 0 :849 +6503198788173748:6503198788173798 35231:35231 hsa_signal_load_relaxed({handle=140627542421760}) = 1 :850 +6503198788174660:6503198788274745 35231:35231 hsa_signal_wait_scacquire({handle=140627542421760}, 2, 1, 100000, 1) = 1 :851 +6503198788274845:6503198789725356 35231:35231 hsa_signal_wait_scacquire({handle=140627542421760}, 2, 1, 18446744073709551615, 0) = 0 :852 +6503198789725636:6503198789725757 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140627542421760}, 0x7ffd04faf410) = 0 :853 +6503198789726398:6503198789726448 35231:35231 hsa_signal_load_relaxed({handle=140627542421760}) = 0 :854 +6503198789726628:6503198789726959 35231:35231 hsa_signal_load_relaxed({handle=140627542422016}) = 0 :855 +6503198789727079:6503198789727169 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140627542422016}, 0x7ffd04faf540) = 0 :856 +6503198798517343:6503198798517643 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :858 +6503198798517864:6503198798517964 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf590, 0, 0, 0) = 0 :859 +6503198798518114:6503198798518204 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf630, 0, 0, 0) = 0 :860 +6503198798518344:6503198798518435 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf570, 0, 0, 0) = 0 :861 +6503198798519977:6503198798523724 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a7ff000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :862 +6503198798524175:6503198798524245 35231:35231 hsa_signal_load_relaxed({handle=140627542421760}) = 0 :863 +6503198798524386:6503198798524476 35231:35231 hsa_signal_load_relaxed({handle=140627542421504}) = 0 :864 +6503198798524586:6503198798524646 35231:35231 hsa_signal_load_relaxed({handle=140627542421632}) = 0 :865 +6503198798524746:6503198798524796 35231:35231 hsa_signal_load_relaxed({handle=140627542421504}) = 0 :866 +6503198798524917:6503198798524987 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542421632}, 1) = void :867 +6503198798525167:6503198798526289 35231:35231 hsa_amd_memory_async_copy(0x7fe129a00000, {handle=5671888}, 0x7fe12a7ff010, {handle=5845728}, 4194304, 0, 0, {handle=140627542421632}) = 0 :868 +6503198798526429:6503198798526480 35231:35231 hsa_signal_load_relaxed({handle=140627542421632}) = 1 :869 +6503198798526590:6503198798626685 35231:35231 hsa_signal_wait_scacquire({handle=140627542421632}, 2, 1, 100000, 1) = 1 :870 +6503198798626786:6503198800246039 35231:35231 hsa_signal_wait_scacquire({handle=140627542421632}, 2, 1, 18446744073709551615, 0) = 0 :871 +6503198800246299:6503198800246389 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140627542421632}, 0x7ffd04faf410) = 0 :872 +6503198800247191:6503198800247241 35231:35231 hsa_signal_load_relaxed({handle=140627542421632}) = 0 :873 +6503198800255156:6503198800255206 35231:35231 hsa_signal_load_relaxed({handle=140627542421632}) = 0 :877 +6503198800255436:6503198800255536 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 6 :878 +6503198800255687:6503198800256077 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 6 :879 +6503198800256207:6503198800256558 35231:35231 hsa_signal_load_relaxed({handle=140622355554176}) = 0 :880 +6503198800256678:6503198800256738 35231:35231 hsa_signal_load_relaxed({handle=140627542421504}) = 0 :881 +6503198800256839:6503198800256889 35231:35231 hsa_signal_load_relaxed({handle=140622355554176}) = 0 :882 +6503198800257009:6503198800257059 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542421504}, 1) = void :883 +6503198800257340:6503198800257410 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 6 :884 +6503198800257780:6503198800258241 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 6) = void :885 +6503198800259443:6503198800259684 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :887 +6503198800259864:6503198800259974 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf590, 0, 0, 0) = 0 :888 +6503198800260115:6503198800260205 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf630, 0, 0, 0) = 0 :889 +6503198800260355:6503198800260455 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf570, 0, 0, 0) = 0 :890 +6503198800261427:6503198800264072 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a3fe000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :891 +6503198800264493:6503198800264553 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 7 :892 +6503198800264643:6503198800264693 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 6 :893 +6503198800264813:6503198800264884 35231:35231 hsa_signal_load_relaxed({handle=140622355554048}) = 0 :894 +6503198800264984:6503198800265034 35231:35231 hsa_signal_load_relaxed({handle=140622355554176}) = 0 :895 +6503198800265144:6503198800265194 35231:35231 hsa_signal_load_relaxed({handle=140622355554048}) = 0 :896 +6503198800265294:6503198800265344 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355554176}, 1) = void :897 +6503198800265485:6503198800265535 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 6 :898 +6503198800266667:6503198800267118 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 7) = void :899 +6503198800267248:6503198800267298 35231:35231 hsa_signal_load_relaxed({handle=140622355554176}) = 1 :900 +6503198800267398:6503198800267448 35231:35231 hsa_signal_load_relaxed({handle=140622355554176}) = 1 :901 +6503198800267579:6503198800277677 35231:35231 hsa_signal_wait_scacquire({handle=140622355554176}, 2, 1, 10000, 1) = 1 :902 +6503198800277858:6503198800277928 35231:35231 hsa_signal_load_relaxed({handle=140622355553920}) = 0 :903 +6503198800278028:6503198800278078 35231:35231 hsa_signal_load_relaxed({handle=140622355554048}) = 0 :904 +6503198800278168:6503198800278218 35231:35231 hsa_signal_load_relaxed({handle=140622355553920}) = 0 :905 +6503198800278329:6503198800278379 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355554048}, 1) = void :906 +6503198800278559:6503198800279561 35231:35231 hsa_amd_memory_async_copy(0x7fe12a3fe010, {handle=5845728}, 0x7fe129400000, {handle=5671888}, 4194304, 1, 0x6d1750, {handle=140622355554048}) = 0 :907 +6503198800279721:6503198800279771 35231:35231 hsa_signal_load_relaxed({handle=140622355554176}) = 1 :908 +6503198800279881:6503198800379957 35231:35231 hsa_signal_wait_scacquire({handle=140622355554176}, 2, 1, 100000, 1) = 1 :909 +6503198800380057:6503198800380879 35231:35231 hsa_signal_wait_scacquire({handle=140622355554176}, 2, 1, 18446744073709551615, 0) = 0 :910 +6503198800381049:6503198800381169 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140622355554176}, 0x7ffd04faf400) = 0 :911 +6503198800381289:6503198800381340 35231:35231 hsa_signal_load_relaxed({handle=140622355554048}) = 1 :912 +6503198800381440:6503198800481515 35231:35231 hsa_signal_wait_scacquire({handle=140622355554048}, 2, 1, 100000, 1) = 1 :913 +6503198800481606:6503198801949839 35231:35231 hsa_signal_wait_scacquire({handle=140622355554048}, 2, 1, 18446744073709551615, 0) = 0 :914 +6503198801950069:6503198801950199 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140622355554048}, 0x7ffd04faf410) = 0 :915 +6503198801950841:6503198801950891 35231:35231 hsa_signal_load_relaxed({handle=140622355554048}) = 0 :916 +6503198801951051:6503198801951412 35231:35231 hsa_signal_load_relaxed({handle=140627542421504}) = 0 :917 +6503198801951522:6503198801951612 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140627542421504}, 0x7ffd04faf540) = 0 :918 +6503198810566811:6503198810567121 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :920 +6503198810569235:6503198810569345 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf590, 0, 0, 0) = 0 :921 +6503198810569475:6503198810569576 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf630, 0, 0, 0) = 0 :922 +6503198810569716:6503198810569816 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf570, 0, 0, 0) = 0 :923 +6503198810571088:6503198810574445 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a7ff000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :924 +6503198810574885:6503198810574996 35231:35231 hsa_signal_load_relaxed({handle=140622355554048}) = 0 :925 +6503198810575136:6503198810575206 35231:35231 hsa_signal_load_relaxed({handle=140622355553792}) = 0 :926 +6503198810575336:6503198810575396 35231:35231 hsa_signal_load_relaxed({handle=140622355553920}) = 0 :927 +6503198810575497:6503198810575547 35231:35231 hsa_signal_load_relaxed({handle=140622355553792}) = 0 :928 +6503198810575677:6503198810575737 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355553920}, 1) = void :929 +6503198810575917:6503198810576909 35231:35231 hsa_amd_memory_async_copy(0x7fe129a00000, {handle=5671888}, 0x7fe12a7ff010, {handle=5845728}, 4194304, 0, 0, {handle=140622355553920}) = 0 :930 +6503198810577029:6503198810577080 35231:35231 hsa_signal_load_relaxed({handle=140622355553920}) = 1 :931 +6503198810577220:6503198810677305 35231:35231 hsa_signal_wait_scacquire({handle=140622355553920}, 2, 1, 100000, 1) = 1 :932 +6503198810677406:6503198812298252 35231:35231 hsa_signal_wait_scacquire({handle=140622355553920}, 2, 1, 18446744073709551615, 0) = 0 :933 +6503198812298502:6503198812298903 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140622355553920}, 0x7ffd04faf410) = 0 :934 +6503198812299665:6503198812299715 35231:35231 hsa_signal_load_relaxed({handle=140622355553920}) = 0 :935 +6503198812303942:6503198812303993 35231:35231 hsa_signal_load_relaxed({handle=140622355553920}) = 0 :939 +6503198812304193:6503198812304273 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 8 :940 +6503198812304403:6503198812304473 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 8 :941 +6503198812304614:6503198812304694 35231:35231 hsa_signal_load_relaxed({handle=140622355553664}) = 0 :942 +6503198812304794:6503198812304854 35231:35231 hsa_signal_load_relaxed({handle=140622355553792}) = 0 :943 +6503198812304954:6503198812305004 35231:35231 hsa_signal_load_relaxed({handle=140622355553664}) = 0 :944 +6503198812305115:6503198812305165 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355553792}, 1) = void :945 +6503198812306738:6503198812306828 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 8 :946 +6503198812307239:6503198812307709 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 8) = void :947 +6503198812309964:6503198812310174 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :949 +6503198812310344:6503198812310475 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf590, 0, 0, 0) = 0 :950 +6503198812310625:6503198812310715 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf630, 0, 0, 0) = 0 :951 +6503198812310855:6503198812310955 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf570, 0, 0, 0) = 0 :952 +6503198812311777:6503198812314933 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a3fe000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :953 +6503198812315324:6503198812315374 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 9 :954 +6503198812315464:6503198812315524 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 8 :955 +6503198812315654:6503198812315704 35231:35231 hsa_signal_load_relaxed({handle=140622355553536}) = 0 :956 +6503198812315814:6503198812315855 35231:35231 hsa_signal_load_relaxed({handle=140622355553664}) = 0 :957 +6503198812315965:6503198812316005 35231:35231 hsa_signal_load_relaxed({handle=140622355553536}) = 0 :958 +6503198812316105:6503198812316155 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355553664}, 1) = void :959 +6503198812316295:6503198812316356 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 8 :960 +6503198812316726:6503198812317167 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 9) = void :961 +6503198812317297:6503198812317347 35231:35231 hsa_signal_load_relaxed({handle=140622355553664}) = 1 :962 +6503198812317448:6503198812317488 35231:35231 hsa_signal_load_relaxed({handle=140622355553664}) = 1 :963 +6503198812317618:6503198812327717 35231:35231 hsa_signal_wait_scacquire({handle=140622355553664}, 2, 1, 10000, 1) = 1 :964 +6503198812327957:6503198812328017 35231:35231 hsa_signal_load_relaxed({handle=140622355553408}) = 0 :965 +6503198812328117:6503198812328167 35231:35231 hsa_signal_load_relaxed({handle=140622355553536}) = 0 :966 +6503198812328268:6503198812328318 35231:35231 hsa_signal_load_relaxed({handle=140622355553408}) = 0 :967 +6503198812329189:6503198812329269 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355553536}, 1) = void :968 +6503198812329530:6503198812330532 35231:35231 hsa_amd_memory_async_copy(0x7fe12a3fe010, {handle=5845728}, 0x7fe129400000, {handle=5671888}, 4194304, 1, 0x1136790, {handle=140622355553536}) = 0 :969 +6503198812330702:6503198812330752 35231:35231 hsa_signal_load_relaxed({handle=140622355553664}) = 1 :970 +6503198812330842:6503198812430177 35231:35231 hsa_signal_wait_scacquire({handle=140622355553664}, 2, 1, 100000, 1) = 0 :971 +6503198812430367:6503198812430467 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140622355553664}, 0x7ffd04faf400) = 0 :972 +6503198812430577:6503198812430627 35231:35231 hsa_signal_load_relaxed({handle=140622355553536}) = 1 :973 +6503198812430738:6503198812530823 35231:35231 hsa_signal_wait_scacquire({handle=140622355553536}, 2, 1, 100000, 1) = 1 :974 +6503198812530923:6503198813979921 35231:35231 hsa_signal_wait_scacquire({handle=140622355553536}, 2, 1, 18446744073709551615, 0) = 0 :975 +6503198813980191:6503198813980302 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140622355553536}, 0x7ffd04faf410) = 0 :976 +6503198813980883:6503198813980933 35231:35231 hsa_signal_load_relaxed({handle=140622355553536}) = 0 :977 +6503198813981093:6503198813981414 35231:35231 hsa_signal_load_relaxed({handle=140622355553792}) = 0 :978 +6503198813981524:6503198813981604 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140622355553792}, 0x7ffd04faf540) = 0 :979 +6503198822567097:6503198822567468 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :981 +6503198822567668:6503198822567769 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf590, 0, 0, 0) = 0 :982 +6503198822567899:6503198822567989 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf630, 0, 0, 0) = 0 :983 +6503198822568129:6503198822568229 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf570, 0, 0, 0) = 0 :984 +6503198822569512:6503198822572197 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a7ff000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :985 +6503198822572638:6503198822572738 35231:35231 hsa_signal_load_relaxed({handle=140622355553536}) = 0 :986 +6503198822572878:6503198822573028 35231:35231 hsa_signal_load_relaxed({handle=140622355553280}) = 0 :987 +6503198822573149:6503198822573199 35231:35231 hsa_signal_load_relaxed({handle=140622355553408}) = 0 :988 +6503198822573299:6503198822573349 35231:35231 hsa_signal_load_relaxed({handle=140622355553280}) = 0 :989 +6503198822575493:6503198822575573 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355553408}, 1) = void :990 +6503198822575763:6503198822576735 35231:35231 hsa_amd_memory_async_copy(0x7fe129a00000, {handle=5671888}, 0x7fe12a7ff010, {handle=5845728}, 4194304, 0, 0, {handle=140622355553408}) = 0 :991 +6503198822576885:6503198822576936 35231:35231 hsa_signal_load_relaxed({handle=140622355553408}) = 1 :992 +6503198822577056:6503198822677151 35231:35231 hsa_signal_wait_scacquire({handle=140622355553408}, 2, 1, 100000, 1) = 1 :993 +6503198822677252:6503198824284803 35231:35231 hsa_signal_wait_scacquire({handle=140622355553408}, 2, 1, 18446744073709551615, 0) = 0 :994 +6503198824285073:6503198824293379 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140622355553408}, 0x7ffd04faf410) = 0 :995 +6503198824294130:6503198824294180 35231:35231 hsa_signal_load_relaxed({handle=140622355553408}) = 0 :996 +6503198824298128:6503198824298198 35231:35231 hsa_signal_load_relaxed({handle=140622355553408}) = 0 :1000 +6503198824298428:6503198824298498 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 10 :1001 +6503198824298629:6503198824298679 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 10 :1002 +6503198824298809:6503198824298869 35231:35231 hsa_signal_load_relaxed({handle=140622355553152}) = 0 :1003 +6503198824298969:6503198824299019 35231:35231 hsa_signal_load_relaxed({handle=140622355553280}) = 0 :1004 +6503198824299120:6503198824299170 35231:35231 hsa_signal_load_relaxed({handle=140622355553152}) = 0 :1005 +6503198824299310:6503198824299350 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355553280}, 1) = void :1006 +6503198824299570:6503198824299641 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 10 :1007 +6503198824299841:6503198824300292 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 10) = void :1008 +6503198824302666:6503198824302897 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :1010 +6503198824303047:6503198824303157 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf590, 0, 0, 0) = 0 :1011 +6503198824303287:6503198824303387 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf630, 0, 0, 0) = 0 :1012 +6503198824303518:6503198824303618 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf570, 0, 0, 0) = 0 :1013 +6503198824304540:6503198824306854 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a3fe000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :1014 +6503198824307235:6503198824307295 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 11 :1015 +6503198824308126:6503198824308176 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 10 :1016 +6503198824308337:6503198824308497 35231:35231 hsa_signal_load_relaxed({handle=140622355553024}) = 0 :1017 +6503198824308607:6503198824308647 35231:35231 hsa_signal_load_relaxed({handle=140622355553152}) = 0 :1018 +6503198824308757:6503198824308797 35231:35231 hsa_signal_load_relaxed({handle=140622355553024}) = 0 :1019 +6503198824308908:6503198824308958 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355553152}, 1) = void :1020 +6503198824309078:6503198824309128 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 10 :1021 +6503198824309238:6503198824309679 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 11) = void :1022 +6503198824309819:6503198824309869 35231:35231 hsa_signal_load_relaxed({handle=140622355553152}) = 1 :1023 +6503198824309970:6503198824310020 35231:35231 hsa_signal_load_relaxed({handle=140622355553152}) = 1 :1024 +6503198824310140:6503198824320239 35231:35231 hsa_signal_wait_scacquire({handle=140622355553152}, 2, 1, 10000, 1) = 1 :1025 +6503198824320409:6503198824320469 35231:35231 hsa_signal_load_relaxed({handle=140622355552896}) = 0 :1026 +6503198824320569:6503198824320609 35231:35231 hsa_signal_load_relaxed({handle=140622355553024}) = 0 :1027 +6503198824320710:6503198824320760 35231:35231 hsa_signal_load_relaxed({handle=140622355552896}) = 0 :1028 +6503198824320860:6503198824320910 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355553024}, 1) = void :1029 +6503198824321130:6503198824322042 35231:35231 hsa_amd_memory_async_copy(0x7fe12a3fe010, {handle=5845728}, 0x7fe129400000, {handle=5671888}, 4194304, 1, 0xb90020, {handle=140622355553024}) = 0 :1030 +6503198824322192:6503198824322242 35231:35231 hsa_signal_load_relaxed({handle=140622355553152}) = 1 :1031 +6503198824322363:6503198824422468 35231:35231 hsa_signal_wait_scacquire({handle=140622355553152}, 2, 1, 100000, 1) = 1 :1032 +6503198824422558:6503198824423861 35231:35231 hsa_signal_wait_scacquire({handle=140622355553152}, 2, 1, 18446744073709551615, 0) = 0 :1033 +6503198824424011:6503198824424141 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140622355553152}, 0x7ffd04faf400) = 0 :1034 +6503198824424272:6503198824424322 35231:35231 hsa_signal_load_relaxed({handle=140622355553024}) = 1 :1035 +6503198824424432:6503198824524518 35231:35231 hsa_signal_wait_scacquire({handle=140622355553024}, 2, 1, 100000, 1) = 1 :1036 +6503198824525349:6503198825981209 35231:35231 hsa_signal_wait_scacquire({handle=140622355553024}, 2, 1, 18446744073709551615, 0) = 0 :1037 +6503198825981470:6503198825981570 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140622355553024}, 0x7ffd04faf410) = 0 :1038 +6503198825982281:6503198825982331 35231:35231 hsa_signal_load_relaxed({handle=140622355553024}) = 0 :1039 +6503198825982572:6503198825982882 35231:35231 hsa_signal_load_relaxed({handle=140622355553280}) = 0 :1040 +6503198825982993:6503198825983073 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140622355553280}, 0x7ffd04faf540) = 0 :1041 +6503198834579567:6503198834579878 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :1043 +6503198834580078:6503198834580178 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf590, 0, 0, 0) = 0 :1044 +6503198834580308:6503198834580399 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf630, 0, 0, 0) = 0 :1045 +6503198834580539:6503198834580639 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf570, 0, 0, 0) = 0 :1046 +6503198834581991:6503198834584817 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a7ff000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :1047 +6503198834585298:6503198834585398 35231:35231 hsa_signal_load_relaxed({handle=140622355553024}) = 0 :1048 +6503198834585538:6503198834585718 35231:35231 hsa_signal_load_relaxed({handle=140622355552768}) = 0 :1049 +6503198834585829:6503198834585889 35231:35231 hsa_signal_load_relaxed({handle=140622355552896}) = 0 :1050 +6503198834585989:6503198834586039 35231:35231 hsa_signal_load_relaxed({handle=140622355552768}) = 0 :1051 +6503198834586159:6503198834586229 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355552896}, 1) = void :1052 +6503198834586420:6503198834587452 35231:35231 hsa_amd_memory_async_copy(0x7fe129a00000, {handle=5671888}, 0x7fe12a7ff010, {handle=5845728}, 4194304, 0, 0, {handle=140622355552896}) = 0 :1053 +6503198834587572:6503198834587622 35231:35231 hsa_signal_load_relaxed({handle=140622355552896}) = 1 :1054 +6503198834587762:6503198834687868 35231:35231 hsa_signal_wait_scacquire({handle=140622355552896}, 2, 1, 100000, 1) = 1 :1055 +6503198834687968:6503198836296662 35231:35231 hsa_signal_wait_scacquire({handle=140622355552896}, 2, 1, 18446744073709551615, 0) = 0 :1056 +6503198836296932:6503198836297022 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140622355552896}, 0x7ffd04faf410) = 0 :1057 +6503198836297693:6503198836297744 35231:35231 hsa_signal_load_relaxed({handle=140622355552896}) = 0 :1058 +6503198836304155:6503198836304246 35231:35231 hsa_signal_load_relaxed({handle=140622355552896}) = 0 :1062 +6503198836304496:6503198836304566 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 12 :1063 +6503198836304686:6503198836304747 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 12 :1064 +6503198836304857:6503198836304907 35231:35231 hsa_signal_load_relaxed({handle=140622355552640}) = 0 :1065 +6503198836305017:6503198836305067 35231:35231 hsa_signal_load_relaxed({handle=140622355552768}) = 0 :1066 +6503198836305167:6503198836305217 35231:35231 hsa_signal_load_relaxed({handle=140622355552640}) = 0 :1067 +6503198836305338:6503198836305378 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355552768}, 1) = void :1068 +6503198836305608:6503198836305678 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 12 :1069 +6503198836305889:6503198836306360 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 12) = void :1070 +6503198836307452:6503198836307672 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :1072 +6503198836307812:6503198836307922 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf590, 0, 0, 0) = 0 :1073 +6503198836308053:6503198836308143 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf630, 0, 0, 0) = 0 :1074 +6503198836308283:6503198836308383 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf570, 0, 0, 0) = 0 :1075 +6503198836309175:6503198836311820 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a3fe000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :1076 +6503198836312190:6503198836312250 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 13 :1077 +6503198836312341:6503198836312391 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 12 :1078 +6503198836312611:6503198836312671 35231:35231 hsa_signal_load_relaxed({handle=140622355552512}) = 0 :1079 +6503198836312771:6503198836312822 35231:35231 hsa_signal_load_relaxed({handle=140622355552640}) = 0 :1080 +6503198836312922:6503198836312962 35231:35231 hsa_signal_load_relaxed({handle=140622355552512}) = 0 :1081 +6503198836313082:6503198836313132 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355552640}, 1) = void :1082 +6503198836313272:6503198836313332 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 12 :1083 +6503198836313453:6503198836313893 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 13) = void :1084 +6503198836319364:6503198836319434 35231:35231 hsa_signal_load_relaxed({handle=140622355552640}) = 1 :1085 +6503198836319554:6503198836319604 35231:35231 hsa_signal_load_relaxed({handle=140622355552640}) = 1 :1086 +6503198836319764:6503198836329873 35231:35231 hsa_signal_wait_scacquire({handle=140622355552640}, 2, 1, 10000, 1) = 1 :1087 +6503198836330114:6503198836330244 35231:35231 hsa_signal_load_relaxed({handle=140622355552384}) = 0 :1088 +6503198836330364:6503198836330414 35231:35231 hsa_signal_load_relaxed({handle=140622355552512}) = 0 :1089 +6503198836330514:6503198836330564 35231:35231 hsa_signal_load_relaxed({handle=140622355552384}) = 0 :1090 +6503198836330675:6503198836330725 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355552512}, 1) = void :1091 +6503198836330915:6503198836331927 35231:35231 hsa_amd_memory_async_copy(0x7fe12a3fe010, {handle=5845728}, 0x7fe129400000, {handle=5671888}, 4194304, 1, 0xb902d0, {handle=140622355552512}) = 0 :1092 +6503198836332077:6503198836332127 35231:35231 hsa_signal_load_relaxed({handle=140622355552640}) = 1 :1093 +6503198836332228:6503198836429227 35231:35231 hsa_signal_wait_scacquire({handle=140622355552640}, 2, 1, 100000, 1) = 0 :1094 +6503198836429398:6503198836429488 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140622355552640}, 0x7ffd04faf400) = 0 :1095 +6503198836429598:6503198836429648 35231:35231 hsa_signal_load_relaxed({handle=140622355552512}) = 1 :1096 +6503198836429738:6503198836529824 35231:35231 hsa_signal_wait_scacquire({handle=140622355552512}, 2, 1, 100000, 1) = 1 :1097 +6503198836529914:6503198837978531 35231:35231 hsa_signal_wait_scacquire({handle=140622355552512}, 2, 1, 18446744073709551615, 0) = 0 :1098 +6503198837978781:6503198837978862 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140622355552512}, 0x7ffd04faf410) = 0 :1099 +6503198837979523:6503198837979573 35231:35231 hsa_signal_load_relaxed({handle=140622355552512}) = 0 :1100 +6503198837979723:6503198837980034 35231:35231 hsa_signal_load_relaxed({handle=140622355552768}) = 0 :1101 +6503198837980154:6503198837980234 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140622355552768}, 0x7ffd04faf540) = 0 :1102 +6503198846595904:6503198846596204 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :1104 +6503198846596404:6503198846596505 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf590, 0, 0, 0) = 0 :1105 +6503198846596645:6503198846596735 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf630, 0, 0, 0) = 0 :1106 +6503198846599009:6503198846599129 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf570, 0, 0, 0) = 0 :1107 +6503198846600452:6503198846603628 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a7ff000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :1108 +6503198846604089:6503198846604199 35231:35231 hsa_signal_load_relaxed({handle=140622355552512}) = 0 :1109 +6503198846604439:6503198846604590 35231:35231 hsa_signal_load_relaxed({handle=140622355552256}) = 0 :1110 +6503198846604710:6503198846604770 35231:35231 hsa_signal_load_relaxed({handle=140622355552384}) = 0 :1111 +6503198846604870:6503198846604920 35231:35231 hsa_signal_load_relaxed({handle=140622355552256}) = 0 :1112 +6503198846605121:6503198846605181 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355552384}, 1) = void :1113 +6503198846605371:6503198846606433 35231:35231 hsa_amd_memory_async_copy(0x7fe129a00000, {handle=5671888}, 0x7fe12a7ff010, {handle=5845728}, 4194304, 0, 0, {handle=140622355552384}) = 0 :1114 +6503198846606563:6503198846606613 35231:35231 hsa_signal_load_relaxed({handle=140622355552384}) = 1 :1115 +6503198846606784:6503198846706869 35231:35231 hsa_signal_wait_scacquire({handle=140622355552384}, 2, 1, 100000, 1) = 1 :1116 +6503198846706970:6503198848316755 35231:35231 hsa_signal_wait_scacquire({handle=140622355552384}, 2, 1, 18446744073709551615, 0) = 0 :1117 +6503198848317016:6503198848317116 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140622355552384}, 0x7ffd04faf410) = 0 :1118 +6503198848317777:6503198848317827 35231:35231 hsa_signal_load_relaxed({handle=140622355552384}) = 0 :1119 +6503198848322847:6503198848322897 35231:35231 hsa_signal_load_relaxed({handle=140622355552384}) = 0 :1123 +6503198848323157:6503198848323237 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 14 :1124 +6503198848323398:6503198848323448 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 14 :1125 +6503198848323558:6503198848323608 35231:35231 hsa_signal_load_relaxed({handle=140622355552128}) = 0 :1126 +6503198848323728:6503198848323778 35231:35231 hsa_signal_load_relaxed({handle=140622355552256}) = 0 :1127 +6503198848323878:6503198848323929 35231:35231 hsa_signal_load_relaxed({handle=140622355552128}) = 0 :1128 +6503198848324039:6503198848324089 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355552256}, 1) = void :1129 +6503198848324279:6503198848324339 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 14 :1130 +6503198848325542:6503198848326002 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 14) = void :1131 +6503198848327265:6503198848327485 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :1133 +6503198848327676:6503198848327776 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf590, 0, 0, 0) = 0 :1134 +6503198848327946:6503198848328036 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf630, 0, 0, 0) = 0 :1135 +6503198848328176:6503198848328267 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf570, 0, 0, 0) = 0 :1136 +6503198848329248:6503198848331863 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a3fe000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :1137 +6503198848332224:6503198848332274 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 15 :1138 +6503198848332374:6503198848332414 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 14 :1139 +6503198848332645:6503198848332735 35231:35231 hsa_signal_load_relaxed({handle=140627542423296}) = 0 :1140 +6503198848332865:6503198848332915 35231:35231 hsa_signal_load_relaxed({handle=140622355552128}) = 0 :1141 +6503198848333015:6503198848333066 35231:35231 hsa_signal_load_relaxed({handle=140627542423296}) = 0 :1142 +6503198848333166:6503198848333216 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355552128}, 1) = void :1143 +6503198848333416:6503198848333476 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 14 :1144 +6503198848333586:6503198848334027 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 15) = void :1145 +6503198848334148:6503198848334198 35231:35231 hsa_signal_load_relaxed({handle=140622355552128}) = 1 :1146 +6503198848334308:6503198848334358 35231:35231 hsa_signal_load_relaxed({handle=140622355552128}) = 1 :1147 +6503198848334478:6503198848344567 35231:35231 hsa_signal_wait_scacquire({handle=140622355552128}, 2, 1, 10000, 1) = 1 :1148 +6503198848344817:6503198848344877 35231:35231 hsa_signal_load_relaxed({handle=140627542423168}) = 0 :1149 +6503198848344978:6503198848345028 35231:35231 hsa_signal_load_relaxed({handle=140627542423296}) = 0 :1150 +6503198848345128:6503198848345178 35231:35231 hsa_signal_load_relaxed({handle=140627542423168}) = 0 :1151 +6503198848345278:6503198848345328 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542423296}, 1) = void :1152 +6503198848345569:6503198848346591 35231:35231 hsa_amd_memory_async_copy(0x7fe12a3fe010, {handle=5845728}, 0x7fe129400000, {handle=5671888}, 4194304, 1, 0x71cfb0, {handle=140627542423296}) = 0 :1153 +6503198848348123:6503198848348194 35231:35231 hsa_signal_load_relaxed({handle=140622355552128}) = 1 :1154 +6503198848348314:6503198848448399 35231:35231 hsa_signal_wait_scacquire({handle=140622355552128}, 2, 1, 100000, 1) = 1 :1155 +6503198848448510:6503198848449381 35231:35231 hsa_signal_wait_scacquire({handle=140622355552128}, 2, 1, 18446744073709551615, 0) = 0 :1156 +6503198848449532:6503198848449632 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140622355552128}, 0x7ffd04faf400) = 0 :1157 +6503198848449742:6503198848449792 35231:35231 hsa_signal_load_relaxed({handle=140627542423296}) = 1 :1158 +6503198848449892:6503198848549958 35231:35231 hsa_signal_wait_scacquire({handle=140627542423296}, 2, 1, 100000, 1) = 1 :1159 +6503198848550068:6503198850000528 35231:35231 hsa_signal_wait_scacquire({handle=140627542423296}, 2, 1, 18446744073709551615, 0) = 0 :1160 +6503198850000819:6503198850000899 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140627542423296}, 0x7ffd04faf410) = 0 :1161 +6503198850001600:6503198850001650 35231:35231 hsa_signal_load_relaxed({handle=140627542423296}) = 0 :1162 +6503198850001810:6503198850002151 35231:35231 hsa_signal_load_relaxed({handle=140622355552256}) = 0 :1163 +6503198850002271:6503198850002361 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140622355552256}, 0x7ffd04faf540) = 0 :1164 +6503198858606319:6503198858606640 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :1166 +6503198858606840:6503198858606951 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf590, 0, 0, 0) = 0 :1167 +6503198858607091:6503198858607181 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf630, 0, 0, 0) = 0 :1168 +6503198858607321:6503198858607411 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf570, 0, 0, 0) = 0 :1169 +6503198858608904:6503198858611870 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a7ff000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :1170 +6503198858612331:6503198858612411 35231:35231 hsa_signal_load_relaxed({handle=140627542423296}) = 0 :1171 +6503198858612581:6503198858612731 35231:35231 hsa_signal_load_relaxed({handle=140627542423040}) = 0 :1172 +6503198858612862:6503198858612922 35231:35231 hsa_signal_load_relaxed({handle=140627542423168}) = 0 :1173 +6503198858613252:6503198858613322 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542423168}, 1) = void :1174 +6503198858613523:6503198858614535 35231:35231 hsa_amd_memory_async_copy(0x7fe129a00000, {handle=5671888}, 0x7fe12a7ff010, {handle=5845728}, 4194304, 0, 0, {handle=140627542423168}) = 0 :1175 +6503198858616608:6503198858616659 35231:35231 hsa_signal_load_relaxed({handle=140627542423168}) = 1 :1176 +6503198858616799:6503198858716894 35231:35231 hsa_signal_wait_scacquire({handle=140627542423168}, 2, 1, 100000, 1) = 1 :1177 +6503198858716995:6503198860322352 35231:35231 hsa_signal_wait_scacquire({handle=140627542423168}, 2, 1, 18446744073709551615, 0) = 0 :1178 +6503198860322613:6503198860322753 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140627542423168}, 0x7ffd04faf410) = 0 :1179 +6503198860323454:6503198860323504 35231:35231 hsa_signal_load_relaxed({handle=140627542423168}) = 0 :1180 +6503198860328564:6503198860328614 35231:35231 hsa_signal_load_relaxed({handle=140627542423168}) = 0 :1184 +6503198860328854:6503198860328924 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 16 :1185 +6503198860329075:6503198860329125 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 16 :1186 +6503198860329245:6503198860329325 35231:35231 hsa_signal_load_relaxed({handle=140627542422912}) = 0 :1187 +6503198860329475:6503198860329536 35231:35231 hsa_signal_load_relaxed({handle=140627542423040}) = 0 :1188 +6503198860329736:6503198860329786 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542423040}, 1) = void :1189 +6503198860329956:6503198860330016 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 16 :1190 +6503198860330197:6503198860330678 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 16) = void :1191 +6503198860331890:6503198860332090 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :1193 +6503198860332241:6503198860332341 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf590, 0, 0, 0) = 0 :1194 +6503198860332481:6503198860332581 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf630, 0, 0, 0) = 0 :1195 +6503198860332721:6503198860332822 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf570, 0, 0, 0) = 0 :1196 +6503198860333643:6503198860336258 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a3fe000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :1197 +6503198860336639:6503198860336719 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 17 :1198 +6503198860336819:6503198860336859 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 16 :1199 +6503198860336989:6503198860337070 35231:35231 hsa_signal_load_relaxed({handle=140627542422784}) = 0 :1200 +6503198860337961:6503198860338031 35231:35231 hsa_signal_load_relaxed({handle=140627542422912}) = 0 :1201 +6503198860338152:6503198860338202 35231:35231 hsa_signal_load_relaxed({handle=140627542422784}) = 0 :1202 +6503198860338302:6503198860338352 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542422912}, 1) = void :1203 +6503198860338502:6503198860338562 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 16 :1204 +6503198860338682:6503198860339123 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 17) = void :1205 +6503198860339254:6503198860339304 35231:35231 hsa_signal_load_relaxed({handle=140627542422912}) = 1 :1206 +6503198860339424:6503198860339474 35231:35231 hsa_signal_load_relaxed({handle=140627542422912}) = 1 :1207 +6503198860339594:6503198860349723 35231:35231 hsa_signal_wait_scacquire({handle=140627542422912}, 2, 1, 10000, 1) = 1 :1208 +6503198860349863:6503198860349983 35231:35231 hsa_signal_load_relaxed({handle=140627542422656}) = 0 :1209 +6503198860350084:6503198860350134 35231:35231 hsa_signal_load_relaxed({handle=140627542422784}) = 0 :1210 +6503198860350244:6503198860350294 35231:35231 hsa_signal_load_relaxed({handle=140627542422656}) = 0 :1211 +6503198860350414:6503198860350464 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542422784}, 1) = void :1212 +6503198860350675:6503198860351687 35231:35231 hsa_amd_memory_async_copy(0x7fe12a3fe010, {handle=5845728}, 0x7fe129400000, {handle=5671888}, 4194304, 1, 0xc038a0, {handle=140627542422784}) = 0 :1213 +6503198860351867:6503198860351907 35231:35231 hsa_signal_load_relaxed({handle=140627542422912}) = 1 :1214 +6503198860352007:6503198860452093 35231:35231 hsa_signal_wait_scacquire({handle=140627542422912}, 2, 1, 100000, 1) = 1 :1215 +6503198860452183:6503198860453616 35231:35231 hsa_signal_wait_scacquire({handle=140627542422912}, 2, 1, 18446744073709551615, 0) = 0 :1216 +6503198860453776:6503198860453896 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140627542422912}, 0x7ffd04faf400) = 0 :1217 +6503198860454036:6503198860454087 35231:35231 hsa_signal_load_relaxed({handle=140627542422784}) = 1 :1218 +6503198860454177:6503198860554252 35231:35231 hsa_signal_wait_scacquire({handle=140627542422784}, 2, 1, 100000, 1) = 1 :1219 +6503198860554353:6503198861999713 35231:35231 hsa_signal_wait_scacquire({handle=140627542422784}, 2, 1, 18446744073709551615, 0) = 0 :1220 +6503198861999954:6503198862000044 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140627542422784}, 0x7ffd04faf410) = 0 :1221 +6503198862000755:6503198862000805 35231:35231 hsa_signal_load_relaxed({handle=140627542422784}) = 0 :1222 +6503198862001887:6503198862002238 35231:35231 hsa_signal_load_relaxed({handle=140627542423040}) = 0 :1223 +6503198862002368:6503198862002448 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140627542423040}, 0x7ffd04faf540) = 0 :1224 +6503198870557645:6503198870557966 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :1226 +6503198870558166:6503198870558267 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf590, 0, 0, 0) = 0 :1227 +6503198870558417:6503198870558507 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf630, 0, 0, 0) = 0 :1228 +6503198870558647:6503198870558737 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf570, 0, 0, 0) = 0 :1229 +6503198870559960:6503198870562725 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a7ff000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :1230 +6503198870563166:6503198870563266 35231:35231 hsa_signal_load_relaxed({handle=140627542422784}) = 0 :1231 +6503198870563396:6503198870563476 35231:35231 hsa_signal_load_relaxed({handle=140627542422528}) = 0 :1232 +6503198870563586:6503198870563647 35231:35231 hsa_signal_load_relaxed({handle=140627542422656}) = 0 :1233 +6503198870563917:6503198870563987 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542422656}, 1) = void :1234 +6503198870564177:6503198870565219 35231:35231 hsa_amd_memory_async_copy(0x7fe129a00000, {handle=5671888}, 0x7fe12a7ff010, {handle=5845728}, 4194304, 0, 0, {handle=140627542422656}) = 0 :1235 +6503198870565370:6503198870565420 35231:35231 hsa_signal_load_relaxed({handle=140627542422656}) = 1 :1236 +6503198870565560:6503198870665666 35231:35231 hsa_signal_wait_scacquire({handle=140627542422656}, 2, 1, 100000, 1) = 1 :1237 +6503198870665766:6503198872270492 35231:35231 hsa_signal_wait_scacquire({handle=140627542422656}, 2, 1, 18446744073709551615, 0) = 0 :1238 +6503198872270753:6503198872270873 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140627542422656}, 0x7ffd04faf410) = 0 :1239 +6503198872271514:6503198872271564 35231:35231 hsa_signal_load_relaxed({handle=140627542422656}) = 0 :1240 +6503198872277315:6503198872277405 35231:35231 hsa_signal_load_relaxed({handle=140627542422656}) = 0 :1244 +6503198872277635:6503198872277705 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 18 :1245 +6503198872277886:6503198872277936 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 18 :1246 +6503198872278126:6503198872278276 35231:35231 hsa_signal_load_relaxed({handle=140627542422400}) = 0 :1247 +6503198872279138:6503198872279188 35231:35231 hsa_signal_load_relaxed({handle=140627542422528}) = 0 :1248 +6503198872279419:6503198872279469 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542422528}, 1) = void :1249 +6503198872279659:6503198872279739 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 18 :1250 +6503198872279930:6503198872280400 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 18) = void :1251 +6503198872281633:6503198872281843 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :1253 +6503198872282013:6503198872282124 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf590, 0, 0, 0) = 0 :1254 +6503198872282254:6503198872282354 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf630, 0, 0, 0) = 0 :1255 +6503198872282484:6503198872282605 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf570, 0, 0, 0) = 0 :1256 +6503198872283376:6503198872285750 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a3fe000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :1257 +6503198872286091:6503198872286171 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 19 :1258 +6503198872286271:6503198872286321 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 18 :1259 +6503198872286442:6503198872286512 35231:35231 hsa_signal_load_relaxed({handle=140627542422272}) = 0 :1260 +6503198872286612:6503198872286662 35231:35231 hsa_signal_load_relaxed({handle=140627542422400}) = 0 :1261 +6503198872286772:6503198872286822 35231:35231 hsa_signal_load_relaxed({handle=140627542422272}) = 0 :1262 +6503198872286923:6503198872286973 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542422400}, 1) = void :1263 +6503198872287103:6503198872287163 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 18 :1264 +6503198872287273:6503198872287704 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 19) = void :1265 +6503198872287834:6503198872287884 35231:35231 hsa_signal_load_relaxed({handle=140627542422400}) = 1 :1266 +6503198872287984:6503198872288025 35231:35231 hsa_signal_load_relaxed({handle=140627542422400}) = 1 :1267 +6503198872288165:6503198872298244 35231:35231 hsa_signal_wait_scacquire({handle=140627542422400}, 2, 1, 10000, 1) = 1 :1268 +6503198872298434:6503198872298594 35231:35231 hsa_signal_load_relaxed({handle=140627542422144}) = 0 :1269 +6503198872299416:6503198872299466 35231:35231 hsa_signal_load_relaxed({handle=140627542422272}) = 0 :1270 +6503198872299596:6503198872299646 35231:35231 hsa_signal_load_relaxed({handle=140627542422144}) = 0 :1271 +6503198872299776:6503198872299887 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542422272}, 1) = void :1272 +6503198872300107:6503198872301119 35231:35231 hsa_amd_memory_async_copy(0x7fe12a3fe010, {handle=5845728}, 0x7fe129400000, {handle=5671888}, 4194304, 1, 0xc03940, {handle=140627542422272}) = 0 :1273 +6503198872301259:6503198872301309 35231:35231 hsa_signal_load_relaxed({handle=140627542422400}) = 1 :1274 +6503198872301429:6503198872401515 35231:35231 hsa_signal_wait_scacquire({handle=140627542422400}, 2, 1, 100000, 1) = 1 :1275 +6503198872401625:6503198872403409 35231:35231 hsa_signal_wait_scacquire({handle=140627542422400}, 2, 1, 18446744073709551615, 0) = 0 :1276 +6503198872403549:6503198872403639 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140627542422400}, 0x7ffd04faf400) = 0 :1277 +6503198872403749:6503198872403799 35231:35231 hsa_signal_load_relaxed({handle=140627542422272}) = 1 :1278 +6503198872403889:6503198872503975 35231:35231 hsa_signal_wait_scacquire({handle=140627542422272}, 2, 1, 100000, 1) = 1 :1279 +6503198872504075:6503198873949145 35231:35231 hsa_signal_wait_scacquire({handle=140627542422272}, 2, 1, 18446744073709551615, 0) = 0 :1280 +6503198873949426:6503198873949526 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140627542422272}, 0x7ffd04faf410) = 0 :1281 +6503198873950157:6503198873950237 35231:35231 hsa_signal_load_relaxed({handle=140627542422272}) = 0 :1282 +6503198873950398:6503198873950738 35231:35231 hsa_signal_load_relaxed({handle=140627542422528}) = 0 :1283 +6503198873950859:6503198873950929 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140627542422528}, 0x7ffd04faf540) = 0 :1284 +6503198882523999:6503198882524320 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :1286 +6503198882524510:6503198882524630 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf590, 0, 0, 0) = 0 :1287 +6503198882524761:6503198882524861 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf630, 0, 0, 0) = 0 :1288 +6503198882525001:6503198882525101 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf570, 0, 0, 0) = 0 :1289 +6503198882526233:6503198882528818 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a7ff000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :1290 +6503198882529269:6503198882529359 35231:35231 hsa_signal_load_relaxed({handle=140627542422272}) = 0 :1291 +6503198882529499:6503198882529570 35231:35231 hsa_signal_load_relaxed({handle=140627542422016}) = 0 :1292 +6503198882531162:6503198882531253 35231:35231 hsa_signal_load_relaxed({handle=140627542422144}) = 0 :1293 +6503198882531523:6503198882531583 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542422144}, 1) = void :1294 +6503198882531784:6503198882533016 35231:35231 hsa_amd_memory_async_copy(0x7fe129a00000, {handle=5671888}, 0x7fe12a7ff010, {handle=5845728}, 4194304, 0, 0, {handle=140627542422144}) = 0 :1295 +6503198882533166:6503198882533216 35231:35231 hsa_signal_load_relaxed({handle=140627542422144}) = 1 :1296 +6503198882533326:6503198882633422 35231:35231 hsa_signal_wait_scacquire({handle=140627542422144}, 2, 1, 100000, 1) = 1 :1297 +6503198882633532:6503198884240974 35231:35231 hsa_signal_wait_scacquire({handle=140627542422144}, 2, 1, 18446744073709551615, 0) = 0 :1298 +6503198884241264:6503198884241364 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140627542422144}, 0x7ffd04faf410) = 0 :1299 +6503198884242076:6503198884242116 35231:35231 hsa_signal_load_relaxed({handle=140627542422144}) = 0 :1300 +6503198884247235:6503198884247285 35231:35231 hsa_signal_load_relaxed({handle=140627542422144}) = 0 :1304 +6503198884247496:6503198884247566 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 20 :1305 +6503198884247716:6503198884247796 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 20 :1306 +6503198884247907:6503198884247977 35231:35231 hsa_signal_load_relaxed({handle=140627542421888}) = 0 :1307 +6503198884248087:6503198884248137 35231:35231 hsa_signal_load_relaxed({handle=140627542422016}) = 0 :1308 +6503198884248327:6503198884248377 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542422016}, 1) = void :1309 +6503198884248518:6503198884248578 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 20 :1310 +6503198884248768:6503198884249229 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 20) = void :1311 +6503198884250341:6503198884250542 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :1313 +6503198884250692:6503198884250802 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf590, 0, 0, 0) = 0 :1314 +6503198884250932:6503198884251042 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf630, 0, 0, 0) = 0 :1315 +6503198884251173:6503198884251293 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf570, 0, 0, 0) = 0 :1316 +6503198884252074:6503198884254519 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a3fe000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :1317 +6503198884255931:6503198884256012 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 21 :1318 +6503198884256132:6503198884256182 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 20 :1319 +6503198884256302:6503198884256362 35231:35231 hsa_signal_load_relaxed({handle=140627542421760}) = 0 :1320 +6503198884256462:6503198884256503 35231:35231 hsa_signal_load_relaxed({handle=140627542421888}) = 0 :1321 +6503198884256603:6503198884256653 35231:35231 hsa_signal_load_relaxed({handle=140627542421760}) = 0 :1322 +6503198884256773:6503198884256823 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542421888}, 1) = void :1323 +6503198884256973:6503198884257034 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 20 :1324 +6503198884257134:6503198884257585 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 21) = void :1325 +6503198884257725:6503198884257775 35231:35231 hsa_signal_load_relaxed({handle=140627542421888}) = 1 :1326 +6503198884257875:6503198884257925 35231:35231 hsa_signal_load_relaxed({handle=140627542421888}) = 1 :1327 +6503198884258045:6503198884268154 35231:35231 hsa_signal_wait_scacquire({handle=140627542421888}, 2, 1, 10000, 1) = 1 :1328 +6503198884268314:6503198884268385 35231:35231 hsa_signal_load_relaxed({handle=140627542421632}) = 0 :1329 +6503198884268505:6503198884268545 35231:35231 hsa_signal_load_relaxed({handle=140627542421760}) = 0 :1330 +6503198884268655:6503198884268705 35231:35231 hsa_signal_load_relaxed({handle=140627542421632}) = 0 :1331 +6503198884268805:6503198884268855 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542421760}, 1) = void :1332 +6503198884269046:6503198884270068 35231:35231 hsa_amd_memory_async_copy(0x7fe12a3fe010, {handle=5845728}, 0x7fe129400000, {handle=5671888}, 4194304, 1, 0xc03a10, {handle=140627542421760}) = 0 :1333 +6503198884270208:6503198884270258 35231:35231 hsa_signal_load_relaxed({handle=140627542421888}) = 1 :1334 +6503198884270348:6503198884370444 35231:35231 hsa_signal_wait_scacquire({handle=140627542421888}, 2, 1, 100000, 1) = 1 :1335 +6503198884370534:6503198884372087 35231:35231 hsa_signal_wait_scacquire({handle=140627542421888}, 2, 1, 18446744073709551615, 0) = 0 :1336 +6503198884372237:6503198884372347 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140627542421888}, 0x7ffd04faf400) = 0 :1337 +6503198884372478:6503198884372528 35231:35231 hsa_signal_load_relaxed({handle=140627542421760}) = 1 :1338 +6503198884374572:6503198884474958 35231:35231 hsa_signal_wait_scacquire({handle=140627542421760}, 2, 1, 100000, 1) = 1 :1339 +6503198884475058:6503198885917063 35231:35231 hsa_signal_wait_scacquire({handle=140627542421760}, 2, 1, 18446744073709551615, 0) = 0 :1340 +6503198885917313:6503198885917403 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140627542421760}, 0x7ffd04faf410) = 0 :1341 +6503198885917984:6503198885918034 35231:35231 hsa_signal_load_relaxed({handle=140627542421760}) = 0 :1342 +6503198885918185:6503198885918535 35231:35231 hsa_signal_load_relaxed({handle=140627542422016}) = 0 :1343 +6503198885918655:6503198885918746 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140627542422016}, 0x7ffd04faf540) = 0 :1344 +6503198894480475:6503198894480856 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :1346 +6503198894481056:6503198894481156 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf590, 0, 0, 0) = 0 :1347 +6503198894481297:6503198894481397 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf630, 0, 0, 0) = 0 :1348 +6503198894481537:6503198894481637 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf570, 0, 0, 0) = 0 :1349 +6503198894482920:6503198894485574 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a7ff000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :1350 +6503198894485995:6503198894486075 35231:35231 hsa_signal_load_relaxed({handle=140627542421760}) = 0 :1351 +6503198894486196:6503198894486286 35231:35231 hsa_signal_load_relaxed({handle=140627542421504}) = 0 :1352 +6503198894486396:6503198894486456 35231:35231 hsa_signal_load_relaxed({handle=140627542421632}) = 0 :1353 +6503198894486707:6503198894486777 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542421632}, 1) = void :1354 +6503198894486957:6503198894487959 35231:35231 hsa_amd_memory_async_copy(0x7fe129a00000, {handle=5671888}, 0x7fe12a7ff010, {handle=5845728}, 4194304, 0, 0, {handle=140627542421632}) = 0 :1355 +6503198894488099:6503198894488149 35231:35231 hsa_signal_load_relaxed({handle=140627542421632}) = 1 :1356 +6503198894488300:6503198894588395 35231:35231 hsa_signal_wait_scacquire({handle=140627542421632}, 2, 1, 100000, 1) = 1 :1357 +6503198894588505:6503198896193252 35231:35231 hsa_signal_wait_scacquire({handle=140627542421632}, 2, 1, 18446744073709551615, 0) = 0 :1358 +6503198896193492:6503198896198421 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140627542421632}, 0x7ffd04faf410) = 0 :1359 +6503198896199113:6503198896199183 35231:35231 hsa_signal_load_relaxed({handle=140627542421632}) = 0 :1360 +6503198896205294:6503198896205374 35231:35231 hsa_signal_load_relaxed({handle=140627542421632}) = 0 :1364 +6503198896206647:6503198896206727 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 22 :1365 +6503198896206897:6503198896206977 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 22 :1366 +6503198896207128:6503198896207208 35231:35231 hsa_signal_load_relaxed({handle=140622355554176}) = 0 :1367 +6503198896207308:6503198896207368 35231:35231 hsa_signal_load_relaxed({handle=140627542421504}) = 0 :1368 +6503198896207558:6503198896207608 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542421504}, 1) = void :1369 +6503198896207749:6503198896207809 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 22 :1370 +6503198896207979:6503198896208440 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 22) = void :1371 +6503198896210464:6503198896210714 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :1373 +6503198896210864:6503198896210965 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf590, 0, 0, 0) = 0 :1374 +6503198896211105:6503198896211205 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf630, 0, 0, 0) = 0 :1375 +6503198896211335:6503198896211446 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf570, 0, 0, 0) = 0 :1376 +6503198896212307:6503198896215032 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a3fe000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :1377 +6503198896215373:6503198896215433 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 23 :1378 +6503198896215523:6503198896215573 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 22 :1379 +6503198896215693:6503198896215754 35231:35231 hsa_signal_load_relaxed({handle=140622355554048}) = 0 :1380 +6503198896215854:6503198896215904 35231:35231 hsa_signal_load_relaxed({handle=140622355554176}) = 0 :1381 +6503198896216004:6503198896216044 35231:35231 hsa_signal_load_relaxed({handle=140622355554048}) = 0 :1382 +6503198896216164:6503198896216214 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355554176}, 1) = void :1383 +6503198896216355:6503198896216415 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 22 :1384 +6503198896216525:6503198896216956 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 23) = void :1385 +6503198896217086:6503198896217136 35231:35231 hsa_signal_load_relaxed({handle=140622355554176}) = 1 :1386 +6503198896217958:6503198896218008 35231:35231 hsa_signal_load_relaxed({handle=140622355554176}) = 1 :1387 +6503198896218148:6503198896228247 35231:35231 hsa_signal_wait_scacquire({handle=140622355554176}, 2, 1, 10000, 1) = 1 :1388 +6503198896228407:6503198896228487 35231:35231 hsa_signal_load_relaxed({handle=140622355553920}) = 0 :1389 +6503198896228587:6503198896228637 35231:35231 hsa_signal_load_relaxed({handle=140622355554048}) = 0 :1390 +6503198896228748:6503198896228798 35231:35231 hsa_signal_load_relaxed({handle=140622355553920}) = 0 :1391 +6503198896228928:6503198896228978 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355554048}, 1) = void :1392 +6503198896229198:6503198896230180 35231:35231 hsa_amd_memory_async_copy(0x7fe12a3fe010, {handle=5845728}, 0x7fe129400000, {handle=5671888}, 4194304, 1, 0xc03ae0, {handle=140622355554048}) = 0 :1393 +6503198896230351:6503198896230401 35231:35231 hsa_signal_load_relaxed({handle=140622355554176}) = 1 :1394 +6503198896230501:6503198896330566 35231:35231 hsa_signal_wait_scacquire({handle=140622355554176}, 2, 1, 100000, 1) = 1 :1395 +6503198896330667:6503198896331428 35231:35231 hsa_signal_wait_scacquire({handle=140622355554176}, 2, 1, 18446744073709551615, 0) = 0 :1396 +6503198896331548:6503198896331659 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140622355554176}, 0x7ffd04faf400) = 0 :1397 +6503198896331799:6503198896331849 35231:35231 hsa_signal_load_relaxed({handle=140622355554048}) = 1 :1398 +6503198896331969:6503198896432045 35231:35231 hsa_signal_wait_scacquire({handle=140622355554048}, 2, 1, 100000, 1) = 1 :1399 +6503198896432145:6503198897884268 35231:35231 hsa_signal_wait_scacquire({handle=140622355554048}, 2, 1, 18446744073709551615, 0) = 0 :1400 +6503198897884519:6503198897884649 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140622355554048}, 0x7ffd04faf410) = 0 :1401 +6503198897885340:6503198897885390 35231:35231 hsa_signal_load_relaxed({handle=140622355554048}) = 0 :1402 +6503198897885540:6503198897885891 35231:35231 hsa_signal_load_relaxed({handle=140627542421504}) = 0 :1403 +6503198897886021:6503198897886101 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140627542421504}, 0x7ffd04faf540) = 0 :1404 +6503198906469301:6503198906469601 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :1406 +6503198906469812:6503198906469912 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf590, 0, 0, 0) = 0 :1407 +6503198906470062:6503198906470152 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf630, 0, 0, 0) = 0 :1408 +6503198906471455:6503198906471595 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf570, 0, 0, 0) = 0 :1409 +6503198906472837:6503198906475873 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a7ff000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :1410 +6503198906476243:6503198906476344 35231:35231 hsa_signal_load_relaxed({handle=140622355554048}) = 0 :1411 +6503198906476484:6503198906476564 35231:35231 hsa_signal_load_relaxed({handle=140622355553792}) = 0 :1412 +6503198906476684:6503198906476744 35231:35231 hsa_signal_load_relaxed({handle=140622355553920}) = 0 :1413 +6503198906477045:6503198906477105 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355553920}, 1) = void :1414 +6503198906477285:6503198906478297 35231:35231 hsa_amd_memory_async_copy(0x7fe129a00000, {handle=5671888}, 0x7fe12a7ff010, {handle=5845728}, 4194304, 0, 0, {handle=140622355553920}) = 0 :1415 +6503198906478417:6503198906478468 35231:35231 hsa_signal_load_relaxed({handle=140622355553920}) = 1 :1416 +6503198906478628:6503198906578744 35231:35231 hsa_signal_wait_scacquire({handle=140622355553920}, 2, 1, 100000, 1) = 1 :1417 +6503198906578844:6503198908189691 35231:35231 hsa_signal_wait_scacquire({handle=140622355553920}, 2, 1, 18446744073709551615, 0) = 0 :1418 +6503198908189952:6503198908190062 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140622355553920}, 0x7ffd04faf410) = 0 :1419 +6503198908190763:6503198908190813 35231:35231 hsa_signal_load_relaxed({handle=140622355553920}) = 0 :1420 +6503198908194751:6503198908194831 35231:35231 hsa_signal_load_relaxed({handle=140622355553920}) = 0 :1424 +6503198908195071:6503198908195171 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 24 :1425 +6503198908195312:6503198908195392 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 24 :1426 +6503198908195532:6503198908195612 35231:35231 hsa_signal_load_relaxed({handle=140622355553664}) = 0 :1427 +6503198908195712:6503198908195773 35231:35231 hsa_signal_load_relaxed({handle=140622355553792}) = 0 :1428 +6503198908195953:6503198908196003 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355553792}, 1) = void :1429 +6503198908196143:6503198908196213 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 24 :1430 +6503198908196374:6503198908196824 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 24) = void :1431 +6503198908197947:6503198908198177 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :1433 +6503198908198347:6503198908198467 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf590, 0, 0, 0) = 0 :1434 +6503198908200561:6503198908200672 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf630, 0, 0, 0) = 0 :1435 +6503198908200822:6503198908200922 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf570, 0, 0, 0) = 0 :1436 +6503198908201704:6503198908204358 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a3fe000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :1437 +6503198908204759:6503198908204819 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 25 :1438 +6503198908204929:6503198908204980 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 24 :1439 +6503198908205100:6503198908205160 35231:35231 hsa_signal_load_relaxed({handle=140622355553536}) = 0 :1440 +6503198908205260:6503198908205310 35231:35231 hsa_signal_load_relaxed({handle=140622355553664}) = 0 :1441 +6503198908205430:6503198908205481 35231:35231 hsa_signal_load_relaxed({handle=140622355553536}) = 0 :1442 +6503198908205591:6503198908205641 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355553664}, 1) = void :1443 +6503198908205761:6503198908205821 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 24 :1444 +6503198908205941:6503198908206392 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 25) = void :1445 +6503198908206532:6503198908206583 35231:35231 hsa_signal_load_relaxed({handle=140622355553664}) = 1 :1446 +6503198908206693:6503198908206743 35231:35231 hsa_signal_load_relaxed({handle=140622355553664}) = 1 :1447 +6503198908206883:6503198908216992 35231:35231 hsa_signal_wait_scacquire({handle=140622355553664}, 2, 1, 10000, 1) = 1 :1448 +6503198908217162:6503198908217222 35231:35231 hsa_signal_load_relaxed({handle=140622355553408}) = 0 :1449 +6503198908217322:6503198908217373 35231:35231 hsa_signal_load_relaxed({handle=140622355553536}) = 0 :1450 +6503198908217483:6503198908217533 35231:35231 hsa_signal_load_relaxed({handle=140622355553408}) = 0 :1451 +6503198908217633:6503198908217683 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355553536}, 1) = void :1452 +6503198908217863:6503198908218855 35231:35231 hsa_amd_memory_async_copy(0x7fe12a3fe010, {handle=5845728}, 0x7fe129400000, {handle=5671888}, 4194304, 1, 0xc03bb0, {handle=140622355553536}) = 0 :1453 +6503198908218996:6503198908219046 35231:35231 hsa_signal_load_relaxed({handle=140622355553664}) = 1 :1454 +6503198908219166:6503198908319252 35231:35231 hsa_signal_wait_scacquire({handle=140622355553664}, 2, 1, 100000, 1) = 1 :1455 +6503198908320263:6503198908320754 35231:35231 hsa_signal_wait_scacquire({handle=140622355553664}, 2, 1, 18446744073709551615, 0) = 0 :1456 +6503198908320925:6503198908321035 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140622355553664}, 0x7ffd04faf400) = 0 :1457 +6503198908321145:6503198908321195 35231:35231 hsa_signal_load_relaxed({handle=140622355553536}) = 1 :1458 +6503198908321305:6503198908421391 35231:35231 hsa_signal_wait_scacquire({handle=140622355553536}, 2, 1, 100000, 1) = 1 :1459 +6503198908421491:6503198909969362 35231:35231 hsa_signal_wait_scacquire({handle=140622355553536}, 2, 1, 18446744073709551615, 0) = 0 :1460 +6503198909969632:6503198909969723 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140622355553536}, 0x7ffd04faf410) = 0 :1461 +6503198909970474:6503198909970524 35231:35231 hsa_signal_load_relaxed({handle=140622355553536}) = 0 :1462 +6503198909970755:6503198909971075 35231:35231 hsa_signal_load_relaxed({handle=140622355553792}) = 0 :1463 +6503198909971256:6503198909971336 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140622355553792}, 0x7ffd04faf540) = 0 :1464 +6503198918632920:6503198918633261 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :1466 +6503198918633451:6503198918633561 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf590, 0, 0, 0) = 0 :1467 +6503198918633722:6503198918633822 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf630, 0, 0, 0) = 0 :1468 +6503198918633962:6503198918634062 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf570, 0, 0, 0) = 0 :1469 +6503198918635285:6503198918638030 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a7ff000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :1470 +6503198918638440:6503198918638551 35231:35231 hsa_signal_load_relaxed({handle=140622355553536}) = 0 :1471 +6503198918638701:6503198918638771 35231:35231 hsa_signal_load_relaxed({handle=140622355553280}) = 0 :1472 +6503198918638881:6503198918638941 35231:35231 hsa_signal_load_relaxed({handle=140622355553408}) = 0 :1473 +6503198918639162:6503198918639232 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355553408}, 1) = void :1474 +6503198918639412:6503198918640434 35231:35231 hsa_amd_memory_async_copy(0x7fe129a00000, {handle=5671888}, 0x7fe12a7ff010, {handle=5845728}, 4194304, 0, 0, {handle=140622355553408}) = 0 :1475 +6503198918640584:6503198918640635 35231:35231 hsa_signal_load_relaxed({handle=140622355553408}) = 1 :1476 +6503198918640745:6503198918740850 35231:35231 hsa_signal_wait_scacquire({handle=140622355553408}, 2, 1, 100000, 1) = 1 :1477 +6503198918742984:6503198920474456 35231:35231 hsa_signal_wait_scacquire({handle=140622355553408}, 2, 1, 18446744073709551615, 0) = 0 :1478 +6503198920474726:6503198920474817 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140622355553408}, 0x7ffd04faf410) = 0 :1479 +6503198920475598:6503198920475648 35231:35231 hsa_signal_load_relaxed({handle=140622355553408}) = 0 :1480 +6503198920479535:6503198920479595 35231:35231 hsa_signal_load_relaxed({handle=140622355553408}) = 0 :1484 +6503198920479816:6503198920479896 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 26 :1485 +6503198920480066:6503198920480146 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 26 :1486 +6503198920480257:6503198920480337 35231:35231 hsa_signal_load_relaxed({handle=140622355553152}) = 0 :1487 +6503198920480437:6503198920480497 35231:35231 hsa_signal_load_relaxed({handle=140622355553280}) = 0 :1488 +6503198920480677:6503198920480727 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355553280}, 1) = void :1489 +6503198920480888:6503198920480948 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 26 :1490 +6503198920481128:6503198920481589 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 26) = void :1491 +6503198920483793:6503198920483994 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :1493 +6503198920484134:6503198920484234 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf590, 0, 0, 0) = 0 :1494 +6503198920484394:6503198920484494 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf630, 0, 0, 0) = 0 :1495 +6503198920484635:6503198920484745 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf570, 0, 0, 0) = 0 :1496 +6503198920485536:6503198920488051 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a3fe000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :1497 +6503198920488472:6503198920488522 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 27 :1498 +6503198920488622:6503198920488672 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 26 :1499 +6503198920488812:6503198920488873 35231:35231 hsa_signal_load_relaxed({handle=140622355553024}) = 0 :1500 +6503198920488983:6503198920489033 35231:35231 hsa_signal_load_relaxed({handle=140622355553152}) = 0 :1501 +6503198920489133:6503198920489183 35231:35231 hsa_signal_load_relaxed({handle=140622355553024}) = 0 :1502 +6503198920489293:6503198920489343 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355553152}, 1) = void :1503 +6503198920493451:6503198920493511 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 26 :1504 +6503198920493912:6503198920494343 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 27) = void :1505 +6503198920494483:6503198920494533 35231:35231 hsa_signal_load_relaxed({handle=140622355553152}) = 1 :1506 +6503198920494623:6503198920494673 35231:35231 hsa_signal_load_relaxed({handle=140622355553152}) = 1 :1507 +6503198920494804:6503198920504902 35231:35231 hsa_signal_wait_scacquire({handle=140622355553152}, 2, 1, 10000, 1) = 1 :1508 +6503198920505043:6503198920505113 35231:35231 hsa_signal_load_relaxed({handle=140622355552896}) = 0 :1509 +6503198920505233:6503198920505283 35231:35231 hsa_signal_load_relaxed({handle=140622355553024}) = 0 :1510 +6503198920505403:6503198920505453 35231:35231 hsa_signal_load_relaxed({handle=140622355552896}) = 0 :1511 +6503198920505554:6503198920505604 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355553024}, 1) = void :1512 +6503198920505814:6503198920506846 35231:35231 hsa_amd_memory_async_copy(0x7fe12a3fe010, {handle=5845728}, 0x7fe129400000, {handle=5671888}, 4194304, 1, 0xc03c80, {handle=140622355553024}) = 0 :1513 +6503198920507016:6503198920507066 35231:35231 hsa_signal_load_relaxed({handle=140622355553152}) = 1 :1514 +6503198920507156:6503198920604657 35231:35231 hsa_signal_wait_scacquire({handle=140622355553152}, 2, 1, 100000, 1) = 0 :1515 +6503198920604828:6503198920604918 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140622355553152}, 0x7ffd04faf400) = 0 :1516 +6503198920605038:6503198920605088 35231:35231 hsa_signal_load_relaxed({handle=140622355553024}) = 1 :1517 +6503198920605188:6503198920705264 35231:35231 hsa_signal_wait_scacquire({handle=140622355553024}, 2, 1, 100000, 1) = 1 :1518 +6503198920705364:6503198922276989 35231:35231 hsa_signal_wait_scacquire({handle=140622355553024}, 2, 1, 18446744073709551615, 0) = 0 :1519 +6503198922277520:6503198922277640 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140622355553024}, 0x7ffd04faf410) = 0 :1520 +6503198922278322:6503198922278382 35231:35231 hsa_signal_load_relaxed({handle=140622355553024}) = 0 :1521 +6503198922278542:6503198922278863 35231:35231 hsa_signal_load_relaxed({handle=140622355553280}) = 0 :1522 +6503198922278973:6503198922279053 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140622355553280}, 0x7ffd04faf540) = 0 :1523 +6503198930941279:6503198930941559 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :1525 +6503198930943803:6503198930943924 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf590, 0, 0, 0) = 0 :1526 +6503198930944054:6503198930944164 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf630, 0, 0, 0) = 0 :1527 +6503198930944304:6503198930944415 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf570, 0, 0, 0) = 0 :1528 +6503198930945577:6503198930948602 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a7ff000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :1529 +6503198930949013:6503198930949143 35231:35231 hsa_signal_load_relaxed({handle=140622355553024}) = 0 :1530 +6503198930949264:6503198930949344 35231:35231 hsa_signal_load_relaxed({handle=140622355552768}) = 0 :1531 +6503198930949454:6503198930949514 35231:35231 hsa_signal_load_relaxed({handle=140622355552896}) = 0 :1532 +6503198930949714:6503198930949784 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355552896}, 1) = void :1533 +6503198930949965:6503198930950987 35231:35231 hsa_amd_memory_async_copy(0x7fe129a00000, {handle=5671888}, 0x7fe12a7ff010, {handle=5845728}, 4194304, 0, 0, {handle=140622355552896}) = 0 :1534 +6503198930951107:6503198930951157 35231:35231 hsa_signal_load_relaxed({handle=140622355552896}) = 1 :1535 +6503198930951307:6503198931051413 35231:35231 hsa_signal_wait_scacquire({handle=140622355552896}, 2, 1, 100000, 1) = 1 :1536 +6503198931051513:6503198932794626 35231:35231 hsa_signal_wait_scacquire({handle=140622355552896}, 2, 1, 18446744073709551615, 0) = 0 :1537 +6503198932794857:6503198932794957 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140622355552896}, 0x7ffd04faf410) = 0 :1538 +6503198932795588:6503198932795668 35231:35231 hsa_signal_load_relaxed({handle=140622355552896}) = 0 :1539 +6503198932799475:6503198932799565 35231:35231 hsa_signal_load_relaxed({handle=140622355552896}) = 0 :1543 +6503198932799766:6503198932799846 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 28 :1544 +6503198932800006:6503198932800056 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 28 :1545 +6503198932800167:6503198932800227 35231:35231 hsa_signal_load_relaxed({handle=140622355552640}) = 0 :1546 +6503198932800327:6503198932800377 35231:35231 hsa_signal_load_relaxed({handle=140622355552768}) = 0 :1547 +6503198932800547:6503198932800597 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355552768}, 1) = void :1548 +6503198932800728:6503198932800788 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 28 :1549 +6503198932802290:6503198932802761 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 28) = void :1550 +6503198932806959:6503198932807149 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :1552 +6503198932807320:6503198932807420 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf590, 0, 0, 0) = 0 :1553 +6503198932807570:6503198932807680 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf630, 0, 0, 0) = 0 :1554 +6503198932807821:6503198932807911 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf570, 0, 0, 0) = 0 :1555 +6503198932808732:6503198932811097 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a3fe000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :1556 +6503198932811518:6503198932811568 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 29 :1557 +6503198932811668:6503198932811708 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 28 :1558 +6503198932811858:6503198932811918 35231:35231 hsa_signal_load_relaxed({handle=140622355552512}) = 0 :1559 +6503198932812029:6503198932812079 35231:35231 hsa_signal_load_relaxed({handle=140622355552640}) = 0 :1560 +6503198932812179:6503198932812229 35231:35231 hsa_signal_load_relaxed({handle=140622355552512}) = 0 :1561 +6503198932812329:6503198932812379 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355552640}, 1) = void :1562 +6503198932812529:6503198932812580 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 28 :1563 +6503198932812710:6503198932813151 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 29) = void :1564 +6503198932813291:6503198932813341 35231:35231 hsa_signal_load_relaxed({handle=140622355552640}) = 1 :1565 +6503198932813441:6503198932813491 35231:35231 hsa_signal_load_relaxed({handle=140622355552640}) = 1 :1566 +6503198932813611:6503198932823720 35231:35231 hsa_signal_wait_scacquire({handle=140622355552640}, 2, 1, 10000, 1) = 1 :1567 +6503198932823891:6503198932823951 35231:35231 hsa_signal_load_relaxed({handle=140622355552384}) = 0 :1568 +6503198932824061:6503198932824101 35231:35231 hsa_signal_load_relaxed({handle=140622355552512}) = 0 :1569 +6503198932824201:6503198932824251 35231:35231 hsa_signal_load_relaxed({handle=140622355552384}) = 0 :1570 +6503198932824361:6503198932824411 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355552512}, 1) = void :1571 +6503198932824602:6503198932825574 35231:35231 hsa_amd_memory_async_copy(0x7fe12a3fe010, {handle=5845728}, 0x7fe129400000, {handle=5671888}, 4194304, 1, 0xc03d50, {handle=140622355552512}) = 0 :1572 +6503198932826616:6503198932826666 35231:35231 hsa_signal_load_relaxed({handle=140622355552640}) = 1 :1573 +6503198932826776:6503198932925539 35231:35231 hsa_signal_wait_scacquire({handle=140622355552640}, 2, 1, 100000, 1) = 0 :1574 +6503198932925980:6503198932926070 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140622355552640}, 0x7ffd04faf400) = 0 :1575 +6503198932926180:6503198932926230 35231:35231 hsa_signal_load_relaxed({handle=140622355552512}) = 1 :1576 +6503198932926331:6503198933026406 35231:35231 hsa_signal_wait_scacquire({handle=140622355552512}, 2, 1, 100000, 1) = 1 :1577 +6503198933026516:6503198934554190 35231:35231 hsa_signal_wait_scacquire({handle=140622355552512}, 2, 1, 18446744073709551615, 0) = 0 :1578 +6503198934554440:6503198934554520 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140622355552512}, 0x7ffd04faf410) = 0 :1579 +6503198934555121:6503198934555171 35231:35231 hsa_signal_load_relaxed({handle=140622355552512}) = 0 :1580 +6503198934555372:6503198934555712 35231:35231 hsa_signal_load_relaxed({handle=140622355552768}) = 0 :1581 +6503198934555813:6503198934555903 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140622355552768}, 0x7ffd04faf540) = 0 :1582 +6503198943206677:6503198943206948 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :1584 +6503198943207138:6503198943207238 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf590, 0, 0, 0) = 0 :1585 +6503198943207388:6503198943207479 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf630, 0, 0, 0) = 0 :1586 +6503198943207619:6503198943207709 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf570, 0, 0, 0) = 0 :1587 +6503198943208911:6503198943211817 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a7ff000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :1588 +6503198943212268:6503198943212398 35231:35231 hsa_signal_load_relaxed({handle=140622355552512}) = 0 :1589 +6503198943212518:6503198943212598 35231:35231 hsa_signal_load_relaxed({handle=140622355552256}) = 0 :1590 +6503198943212708:6503198943212758 35231:35231 hsa_signal_load_relaxed({handle=140622355552384}) = 0 :1591 +6503198943212949:6503198943213019 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355552384}, 1) = void :1592 +6503198943213169:6503198943214171 35231:35231 hsa_amd_memory_async_copy(0x7fe129a00000, {handle=5671888}, 0x7fe12a7ff010, {handle=5845728}, 4194304, 0, 0, {handle=140622355552384}) = 0 :1593 +6503198943214301:6503198943214351 35231:35231 hsa_signal_load_relaxed({handle=140622355552384}) = 1 :1594 +6503198943217998:6503198943318104 35231:35231 hsa_signal_wait_scacquire({handle=140622355552384}, 2, 1, 100000, 1) = 1 :1595 +6503198943318214:6503198945069492 35231:35231 hsa_signal_wait_scacquire({handle=140622355552384}, 2, 1, 18446744073709551615, 0) = 0 :1596 +6503198945070023:6503198945070113 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140622355552384}, 0x7ffd04faf410) = 0 :1597 +6503198945070915:6503198945070965 35231:35231 hsa_signal_load_relaxed({handle=140622355552384}) = 0 :1598 +6503198945076435:6503198945076485 35231:35231 hsa_signal_load_relaxed({handle=140622355552384}) = 0 :1602 +6503198945076705:6503198945076775 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 30 :1603 +6503198945076936:6503198945076986 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 30 :1604 +6503198945077106:6503198945077156 35231:35231 hsa_signal_load_relaxed({handle=140622355552128}) = 0 :1605 +6503198945077256:6503198945077306 35231:35231 hsa_signal_load_relaxed({handle=140622355552256}) = 0 :1606 +6503198945077557:6503198945077607 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355552256}, 1) = void :1607 +6503198945077747:6503198945077807 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 30 :1608 +6503198945077998:6503198945078459 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 30) = void :1609 +6503198945079681:6503198945079911 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :1611 +6503198945080052:6503198945080152 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf590, 0, 0, 0) = 0 :1612 +6503198945080292:6503198945080392 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf630, 0, 0, 0) = 0 :1613 +6503198945080532:6503198945080653 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf570, 0, 0, 0) = 0 :1614 +6503198945081514:6503198945084350 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a3fe000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :1615 +6503198945084720:6503198945084770 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 31 :1616 +6503198945084871:6503198945084921 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 30 :1617 +6503198945085071:6503198945085131 35231:35231 hsa_signal_load_relaxed({handle=140627542423296}) = 0 :1618 +6503198945085231:6503198945085281 35231:35231 hsa_signal_load_relaxed({handle=140622355552128}) = 0 :1619 +6503198945086313:6503198945086363 35231:35231 hsa_signal_load_relaxed({handle=140627542423296}) = 0 :1620 +6503198945086473:6503198945086524 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355552128}, 1) = void :1621 +6503198945086654:6503198945086714 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 30 :1622 +6503198945087095:6503198945087555 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 31) = void :1623 +6503198945087696:6503198945087746 35231:35231 hsa_signal_load_relaxed({handle=140622355552128}) = 1 :1624 +6503198945087856:6503198945087896 35231:35231 hsa_signal_load_relaxed({handle=140622355552128}) = 1 :1625 +6503198945088046:6503198945098155 35231:35231 hsa_signal_wait_scacquire({handle=140622355552128}, 2, 1, 10000, 1) = 1 :1626 +6503198945098376:6503198945098426 35231:35231 hsa_signal_load_relaxed({handle=140627542423168}) = 0 :1627 +6503198945098526:6503198945098576 35231:35231 hsa_signal_load_relaxed({handle=140627542423296}) = 0 :1628 +6503198945098696:6503198945098746 35231:35231 hsa_signal_load_relaxed({handle=140627542423168}) = 0 :1629 +6503198945098866:6503198945098917 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542423296}, 1) = void :1630 +6503198945099137:6503198945100189 35231:35231 hsa_amd_memory_async_copy(0x7fe12a3fe010, {handle=5845728}, 0x7fe129400000, {handle=5671888}, 4194304, 1, 0x1147f80, {handle=140627542423296}) = 0 :1631 +6503198945100379:6503198945100429 35231:35231 hsa_signal_load_relaxed({handle=140622355552128}) = 1 :1632 +6503198945100540:6503198945200615 35231:35231 hsa_signal_wait_scacquire({handle=140622355552128}, 2, 1, 100000, 1) = 1 :1633 +6503198945200725:6503198945201086 35231:35231 hsa_signal_wait_scacquire({handle=140622355552128}, 2, 1, 18446744073709551615, 0) = 0 :1634 +6503198945201276:6503198945201357 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140622355552128}, 0x7ffd04faf400) = 0 :1635 +6503198945201487:6503198945201537 35231:35231 hsa_signal_load_relaxed({handle=140627542423296}) = 1 :1636 +6503198945201637:6503198945301773 35231:35231 hsa_signal_wait_scacquire({handle=140627542423296}, 2, 1, 100000, 1) = 1 :1637 +6503198945301963:6503198946831440 35231:35231 hsa_signal_wait_scacquire({handle=140627542423296}, 2, 1, 18446744073709551615, 0) = 0 :1638 +6503198946831720:6503198946831821 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140627542423296}, 0x7ffd04faf410) = 0 :1639 +6503198946832432:6503198946832482 35231:35231 hsa_signal_load_relaxed({handle=140627542423296}) = 0 :1640 +6503198946832662:6503198946833053 35231:35231 hsa_signal_load_relaxed({handle=140622355552256}) = 0 :1641 +6503198946834155:6503198946834245 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140622355552256}, 0x7ffd04faf540) = 0 :1642 +6503198955943140:6503198955943510 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :1644 +6503198955943711:6503198955943821 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf590, 0, 0, 0) = 0 :1645 +6503198955943951:6503198955944061 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf630, 0, 0, 0) = 0 :1646 +6503198955944202:6503198955944302 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf570, 0, 0, 0) = 0 :1647 +6503198955945885:6503198955949622 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a7ff000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :1648 +6503198955950072:6503198955950213 35231:35231 hsa_signal_load_relaxed({handle=140627542423296}) = 0 :1649 +6503198955950343:6503198955950423 35231:35231 hsa_signal_load_relaxed({handle=140627542423040}) = 0 :1650 +6503198955950573:6503198955950623 35231:35231 hsa_signal_load_relaxed({handle=140627542423168}) = 0 :1651 +6503198955950974:6503198955951034 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542423168}, 1) = void :1652 +6503198955951215:6503198955952337 35231:35231 hsa_amd_memory_async_copy(0x7fe129a00000, {handle=5671888}, 0x7fe12a7ff010, {handle=5845728}, 4194304, 0, 0, {handle=140627542423168}) = 0 :1653 +6503198955952537:6503198955952587 35231:35231 hsa_signal_load_relaxed({handle=140627542423168}) = 1 :1654 +6503198955952727:6503198956052863 35231:35231 hsa_signal_wait_scacquire({handle=140627542423168}, 2, 1, 100000, 1) = 1 :1655 +6503198956052953:6503198957769647 35231:35231 hsa_signal_wait_scacquire({handle=140627542423168}, 2, 1, 18446744073709551615, 0) = 0 :1656 +6503198957769928:6503198957770088 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140627542423168}, 0x7ffd04faf410) = 0 :1657 +6503198957770970:6503198957771020 35231:35231 hsa_signal_load_relaxed({handle=140627542423168}) = 0 :1658 +6503198957777381:6503198957777452 35231:35231 hsa_signal_load_relaxed({handle=140627542423168}) = 0 :1662 +6503198957777722:6503198957777802 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 32 :1663 +6503198957777963:6503198957778083 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 32 :1664 +6503198957778203:6503198957778283 35231:35231 hsa_signal_load_relaxed({handle=140627542422912}) = 0 :1665 +6503198957778403:6503198957778464 35231:35231 hsa_signal_load_relaxed({handle=140627542423040}) = 0 :1666 +6503198957779926:6503198957779996 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542423040}, 1) = void :1667 +6503198957780167:6503198957780247 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 32 :1668 +6503198957780437:6503198957780938 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 32) = void :1669 +6503198957782341:6503198957782561 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :1671 +6503198957782731:6503198957782832 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf590, 0, 0, 0) = 0 :1672 +6503198957782972:6503198957783072 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf630, 0, 0, 0) = 0 :1673 +6503198957783212:6503198957783312 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf570, 0, 0, 0) = 0 :1674 +6503198957784224:6503198957787029 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a3fe000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :1675 +6503198957787430:6503198957787490 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 33 :1676 +6503198957787580:6503198957787641 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 32 :1677 +6503198957787761:6503198957787831 35231:35231 hsa_signal_load_relaxed({handle=140627542422784}) = 0 :1678 +6503198957787951:6503198957788001 35231:35231 hsa_signal_load_relaxed({handle=140627542422912}) = 0 :1679 +6503198957788131:6503198957788182 35231:35231 hsa_signal_load_relaxed({handle=140627542422784}) = 0 :1680 +6503198957788282:6503198957788332 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542422912}, 1) = void :1681 +6503198957788472:6503198957788532 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 32 :1682 +6503198957788632:6503198957789073 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 33) = void :1683 +6503198957789213:6503198957789264 35231:35231 hsa_signal_load_relaxed({handle=140627542422912}) = 1 :1684 +6503198957789364:6503198957789414 35231:35231 hsa_signal_load_relaxed({handle=140627542422912}) = 1 :1685 +6503198957789554:6503198957799653 35231:35231 hsa_signal_wait_scacquire({handle=140627542422912}, 2, 1, 10000, 1) = 1 :1686 +6503198957799923:6503198957799983 35231:35231 hsa_signal_load_relaxed({handle=140627542422656}) = 0 :1687 +6503198957800084:6503198957800134 35231:35231 hsa_signal_load_relaxed({handle=140627542422784}) = 0 :1688 +6503198957801316:6503198957801366 35231:35231 hsa_signal_load_relaxed({handle=140627542422656}) = 0 :1689 +6503198957801486:6503198957801546 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542422784}, 1) = void :1690 +6503198957801837:6503198957802829 35231:35231 hsa_amd_memory_async_copy(0x7fe12a3fe010, {handle=5845728}, 0x7fe129400000, {handle=5671888}, 4194304, 1, 0xc071d0, {handle=140627542422784}) = 0 :1691 +6503198957802979:6503198957803029 35231:35231 hsa_signal_load_relaxed({handle=140627542422912}) = 1 :1692 +6503198957803149:6503198957903235 35231:35231 hsa_signal_wait_scacquire({handle=140627542422912}, 2, 1, 100000, 1) = 1 :1693 +6503198957903335:6503198957903836 35231:35231 hsa_signal_wait_scacquire({handle=140627542422912}, 2, 1, 18446744073709551615, 0) = 0 :1694 +6503198957904016:6503198957904097 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140627542422912}, 0x7ffd04faf400) = 0 :1695 +6503198957904237:6503198957904287 35231:35231 hsa_signal_load_relaxed({handle=140627542422784}) = 1 :1696 +6503198957904377:6503198958004463 35231:35231 hsa_signal_wait_scacquire({handle=140627542422784}, 2, 1, 100000, 1) = 1 :1697 +6503198958004553:6503198959481232 35231:35231 hsa_signal_wait_scacquire({handle=140627542422784}, 2, 1, 18446744073709551615, 0) = 0 :1698 +6503198959481492:6503198959486562 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140627542422784}, 0x7ffd04faf410) = 0 :1699 +6503198959487253:6503198959487333 35231:35231 hsa_signal_load_relaxed({handle=140627542422784}) = 0 :1700 +6503198959487503:6503198959487844 35231:35231 hsa_signal_load_relaxed({handle=140627542423040}) = 0 :1701 +6503198959487954:6503198959488044 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140627542423040}, 0x7ffd04faf540) = 0 :1702 +6503198968156632:6503198968156983 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :1704 +6503198968157193:6503198968157293 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf590, 0, 0, 0) = 0 :1705 +6503198968157443:6503198968157534 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf630, 0, 0, 0) = 0 :1706 +6503198968157684:6503198968157774 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf570, 0, 0, 0) = 0 :1707 +6503198968159086:6503198968162493 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a7ff000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :1708 +6503198968162884:6503198968162964 35231:35231 hsa_signal_load_relaxed({handle=140627542422784}) = 0 :1709 +6503198968163114:6503198968163194 35231:35231 hsa_signal_load_relaxed({handle=140627542422528}) = 0 :1710 +6503198968163304:6503198968163364 35231:35231 hsa_signal_load_relaxed({handle=140627542422656}) = 0 :1711 +6503198968165218:6503198968165288 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542422656}, 1) = void :1712 +6503198968165468:6503198968166470 35231:35231 hsa_amd_memory_async_copy(0x7fe129a00000, {handle=5671888}, 0x7fe12a7ff010, {handle=5845728}, 4194304, 0, 0, {handle=140627542422656}) = 0 :1713 +6503198968166610:6503198968166661 35231:35231 hsa_signal_load_relaxed({handle=140627542422656}) = 1 :1714 +6503198968166801:6503198968266896 35231:35231 hsa_signal_wait_scacquire({handle=140627542422656}, 2, 1, 100000, 1) = 1 :1715 +6503198968266997:6503198969881902 35231:35231 hsa_signal_wait_scacquire({handle=140627542422656}, 2, 1, 18446744073709551615, 0) = 0 :1716 +6503198969882142:6503198969882242 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140627542422656}, 0x7ffd04faf410) = 0 :1717 +6503198969882964:6503198969883014 35231:35231 hsa_signal_load_relaxed({handle=140627542422656}) = 0 :1718 +6503198969888294:6503198969888354 35231:35231 hsa_signal_load_relaxed({handle=140627542422656}) = 0 :1722 +6503198969888584:6503198969888654 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 34 :1723 +6503198969888815:6503198969888905 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 34 :1724 +6503198969889025:6503198969889095 35231:35231 hsa_signal_load_relaxed({handle=140627542422400}) = 0 :1725 +6503198969889195:6503198969889245 35231:35231 hsa_signal_load_relaxed({handle=140627542422528}) = 0 :1726 +6503198969889436:6503198969889486 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542422528}, 1) = void :1727 +6503198969889626:6503198969889686 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 34 :1728 +6503198969889857:6503198969890307 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 34) = void :1729 +6503198969892401:6503198969892622 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :1731 +6503198969892792:6503198969892892 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf590, 0, 0, 0) = 0 :1732 +6503198969893032:6503198969893133 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf630, 0, 0, 0) = 0 :1733 +6503198969893283:6503198969893373 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf570, 0, 0, 0) = 0 :1734 +6503198969894325:6503198969896839 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a3fe000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :1735 +6503198969897240:6503198969897310 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 35 :1736 +6503198969898272:6503198969898322 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 34 :1737 +6503198969898462:6503198969898543 35231:35231 hsa_signal_load_relaxed({handle=140627542422272}) = 0 :1738 +6503198969898653:6503198969898703 35231:35231 hsa_signal_load_relaxed({handle=140627542422400}) = 0 :1739 +6503198969898813:6503198969898863 35231:35231 hsa_signal_load_relaxed({handle=140627542422272}) = 0 :1740 +6503198969898983:6503198969899034 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542422400}, 1) = void :1741 +6503198969899164:6503198969899224 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 34 :1742 +6503198969899324:6503198969899775 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 35) = void :1743 +6503198969899915:6503198969899965 35231:35231 hsa_signal_load_relaxed({handle=140627542422400}) = 1 :1744 +6503198969900065:6503198969900116 35231:35231 hsa_signal_load_relaxed({handle=140627542422400}) = 1 :1745 +6503198969900236:6503198969910324 35231:35231 hsa_signal_wait_scacquire({handle=140627542422400}, 2, 1, 10000, 1) = 1 :1746 +6503198969910525:6503198969910615 35231:35231 hsa_signal_load_relaxed({handle=140627542422144}) = 0 :1747 +6503198969910715:6503198969910765 35231:35231 hsa_signal_load_relaxed({handle=140627542422272}) = 0 :1748 +6503198969910875:6503198969910926 35231:35231 hsa_signal_load_relaxed({handle=140627542422144}) = 0 :1749 +6503198969911016:6503198969911066 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542422272}, 1) = void :1750 +6503198969911326:6503198969912278 35231:35231 hsa_amd_memory_async_copy(0x7fe12a3fe010, {handle=5845728}, 0x7fe129400000, {handle=5671888}, 4194304, 1, 0xc06f60, {handle=140627542422272}) = 0 :1751 +6503198969912509:6503198969912569 35231:35231 hsa_signal_load_relaxed({handle=140627542422400}) = 1 :1752 +6503198969912669:6503198970012754 35231:35231 hsa_signal_wait_scacquire({handle=140627542422400}, 2, 1, 100000, 1) = 1 :1753 +6503198970012855:6503198970013205 35231:35231 hsa_signal_wait_scacquire({handle=140627542422400}, 2, 1, 18446744073709551615, 0) = 0 :1754 +6503198970013346:6503198970013426 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140627542422400}, 0x7ffd04faf400) = 0 :1755 +6503198970013546:6503198970013596 35231:35231 hsa_signal_load_relaxed({handle=140627542422272}) = 1 :1756 +6503198970013696:6503198970113772 35231:35231 hsa_signal_wait_scacquire({handle=140627542422272}, 2, 1, 100000, 1) = 1 :1757 +6503198970114653:6503198971591472 35231:35231 hsa_signal_wait_scacquire({handle=140627542422272}, 2, 1, 18446744073709551615, 0) = 0 :1758 +6503198971591703:6503198971591833 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140627542422272}, 0x7ffd04faf410) = 0 :1759 +6503198971592474:6503198971592524 35231:35231 hsa_signal_load_relaxed({handle=140627542422272}) = 0 :1760 +6503198971592725:6503198971592815 35231:35231 hsa_signal_load_relaxed({handle=140627542422528}) = 0 :1761 +6503198971592915:6503198971592995 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140627542422528}, 0x7ffd04faf540) = 0 :1762 +6503198980278975:6503198980279326 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :1764 +6503198980279567:6503198980279677 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf590, 0, 0, 0) = 0 :1765 +6503198980279827:6503198980279917 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf630, 0, 0, 0) = 0 :1766 +6503198980280057:6503198980280158 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf570, 0, 0, 0) = 0 :1767 +6503198980281620:6503198980284636 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a7ff000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :1768 +6503198980285057:6503198980285157 35231:35231 hsa_signal_load_relaxed({handle=140627542422272}) = 0 :1769 +6503198980285297:6503198980285367 35231:35231 hsa_signal_load_relaxed({handle=140627542422016}) = 0 :1770 +6503198980285477:6503198980285548 35231:35231 hsa_signal_load_relaxed({handle=140627542422144}) = 0 :1771 +6503198980285768:6503198980285828 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542422144}, 1) = void :1772 +6503198980285998:6503198980286980 35231:35231 hsa_amd_memory_async_copy(0x7fe129a00000, {handle=5671888}, 0x7fe12a7ff010, {handle=5845728}, 4194304, 0, 0, {handle=140627542422144}) = 0 :1773 +6503198980287110:6503198980287161 35231:35231 hsa_signal_load_relaxed({handle=140627542422144}) = 1 :1774 +6503198980287311:6503198980387417 35231:35231 hsa_signal_wait_scacquire({handle=140627542422144}, 2, 1, 100000, 1) = 1 :1775 +6503198980387507:6503198982004476 35231:35231 hsa_signal_wait_scacquire({handle=140627542422144}, 2, 1, 18446744073709551615, 0) = 0 :1776 +6503198982004716:6503198982004856 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140627542422144}, 0x7ffd04faf410) = 0 :1777 +6503198982005488:6503198982005538 35231:35231 hsa_signal_load_relaxed({handle=140627542422144}) = 0 :1778 +6503198982011268:6503198982011328 35231:35231 hsa_signal_load_relaxed({handle=140627542422144}) = 0 :1782 +6503198982011569:6503198982011639 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 36 :1783 +6503198982013873:6503198982013923 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 36 :1784 +6503198982014033:6503198982014113 35231:35231 hsa_signal_load_relaxed({handle=140627542421888}) = 0 :1785 +6503198982014234:6503198982014284 35231:35231 hsa_signal_load_relaxed({handle=140627542422016}) = 0 :1786 +6503198982014464:6503198982014514 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542422016}, 1) = void :1787 +6503198982014655:6503198982014725 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 36 :1788 +6503198982014905:6503198982015376 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 36) = void :1789 +6503198982016458:6503198982016698 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :1791 +6503198982016839:6503198982016939 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf590, 0, 0, 0) = 0 :1792 +6503198982017079:6503198982017179 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf630, 0, 0, 0) = 0 :1793 +6503198982017309:6503198982017410 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf570, 0, 0, 0) = 0 :1794 +6503198982018301:6503198982020816 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a3fe000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :1795 +6503198982021197:6503198982021247 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 37 :1796 +6503198982021347:6503198982021397 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 36 :1797 +6503198982021527:6503198982021577 35231:35231 hsa_signal_load_relaxed({handle=140627542421760}) = 0 :1798 +6503198982021678:6503198982021728 35231:35231 hsa_signal_load_relaxed({handle=140627542421888}) = 0 :1799 +6503198982021868:6503198982021918 35231:35231 hsa_signal_load_relaxed({handle=140627542421760}) = 0 :1800 +6503198982022018:6503198982022068 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542421888}, 1) = void :1801 +6503198982022198:6503198982022249 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 36 :1802 +6503198982022379:6503198982022830 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 37) = void :1803 +6503198982022940:6503198982022990 35231:35231 hsa_signal_load_relaxed({handle=140627542421888}) = 1 :1804 +6503198982023090:6503198982023140 35231:35231 hsa_signal_load_relaxed({handle=140627542421888}) = 1 :1805 +6503198982024282:6503198982034371 35231:35231 hsa_signal_wait_scacquire({handle=140627542421888}, 2, 1, 10000, 1) = 1 :1806 +6503198982034531:6503198982034601 35231:35231 hsa_signal_load_relaxed({handle=140627542421632}) = 0 :1807 +6503198982034712:6503198982034762 35231:35231 hsa_signal_load_relaxed({handle=140627542421760}) = 0 :1808 +6503198982034862:6503198982034912 35231:35231 hsa_signal_load_relaxed({handle=140627542421632}) = 0 :1809 +6503198982035012:6503198982035062 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542421760}, 1) = void :1810 +6503198982035293:6503198982036315 35231:35231 hsa_amd_memory_async_copy(0x7fe12a3fe010, {handle=5845728}, 0x7fe129400000, {handle=5671888}, 4194304, 1, 0xb90480, {handle=140627542421760}) = 0 :1811 +6503198982036455:6503198982036505 35231:35231 hsa_signal_load_relaxed({handle=140627542421888}) = 1 :1812 +6503198982036615:6503198982136691 35231:35231 hsa_signal_wait_scacquire({handle=140627542421888}, 2, 1, 100000, 1) = 1 :1813 +6503198982136791:6503198982137883 35231:35231 hsa_signal_wait_scacquire({handle=140627542421888}, 2, 1, 18446744073709551615, 0) = 0 :1814 +6503198982138043:6503198982138123 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140627542421888}, 0x7ffd04faf400) = 0 :1815 +6503198982138244:6503198982138314 35231:35231 hsa_signal_load_relaxed({handle=140627542421760}) = 1 :1816 +6503198982138404:6503198982238480 35231:35231 hsa_signal_wait_scacquire({handle=140627542421760}, 2, 1, 100000, 1) = 1 :1817 +6503198982238580:6503198983682357 35231:35231 hsa_signal_wait_scacquire({handle=140627542421760}, 2, 1, 18446744073709551615, 0) = 0 :1818 +6503198983682608:6503198983682688 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140627542421760}, 0x7ffd04faf410) = 0 :1819 +6503198983683279:6503198983683329 35231:35231 hsa_signal_load_relaxed({handle=140627542421760}) = 0 :1820 +6503198983683470:6503198983683800 35231:35231 hsa_signal_load_relaxed({handle=140627542422016}) = 0 :1821 +6503198983683910:6503198983683990 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140627542422016}, 0x7ffd04faf540) = 0 :1822 +6503198992310810:6503198992311121 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :1824 +6503198992311311:6503198992311422 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf590, 0, 0, 0) = 0 :1825 +6503198992311552:6503198992311642 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf630, 0, 0, 0) = 0 :1826 +6503198992311782:6503198992311882 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf570, 0, 0, 0) = 0 :1827 +6503198992315820:6503198992318926 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a7ff000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :1828 +6503198992319376:6503198992319457 35231:35231 hsa_signal_load_relaxed({handle=140627542421760}) = 0 :1829 +6503198992319577:6503198992319667 35231:35231 hsa_signal_load_relaxed({handle=140627542421504}) = 0 :1830 +6503198992319777:6503198992319837 35231:35231 hsa_signal_load_relaxed({handle=140627542421632}) = 0 :1831 +6503198992320038:6503198992320108 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542421632}, 1) = void :1832 +6503198992320298:6503198992321250 35231:35231 hsa_amd_memory_async_copy(0x7fe129a00000, {handle=5671888}, 0x7fe12a7ff010, {handle=5845728}, 4194304, 0, 0, {handle=140627542421632}) = 0 :1833 +6503198992321380:6503198992321430 35231:35231 hsa_signal_load_relaxed({handle=140627542421632}) = 1 :1834 +6503198992321570:6503198992421656 35231:35231 hsa_signal_wait_scacquire({handle=140627542421632}, 2, 1, 100000, 1) = 1 :1835 +6503198992421756:6503198994029919 35231:35231 hsa_signal_wait_scacquire({handle=140627542421632}, 2, 1, 18446744073709551615, 0) = 0 :1836 +6503198994030189:6503198994030330 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140627542421632}, 0x7ffd04faf410) = 0 :1837 +6503198994031081:6503198994031131 35231:35231 hsa_signal_load_relaxed({handle=140627542421632}) = 0 :1838 +6503198994036221:6503198994036281 35231:35231 hsa_signal_load_relaxed({handle=140627542421632}) = 0 :1842 +6503198994036511:6503198994036581 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 38 :1843 +6503198994036762:6503198994036812 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 38 :1844 +6503198994036952:6503198994037042 35231:35231 hsa_signal_load_relaxed({handle=140622355554176}) = 0 :1845 +6503198994037142:6503198994037192 35231:35231 hsa_signal_load_relaxed({handle=140627542421504}) = 0 :1846 +6503198994037393:6503198994037443 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542421504}, 1) = void :1847 +6503198994037603:6503198994037663 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 38 :1848 +6503198994037844:6503198994038304 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 38) = void :1849 +6503198994039326:6503198994039527 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :1851 +6503198994039667:6503198994039767 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf590, 0, 0, 0) = 0 :1852 +6503198994039917:6503198994040018 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf630, 0, 0, 0) = 0 :1853 +6503198994040919:6503198994041030 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf570, 0, 0, 0) = 0 :1854 +6503198994041871:6503198994044606 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a3fe000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :1855 +6503198994044987:6503198994045067 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 39 :1856 +6503198994045157:6503198994045207 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 38 :1857 +6503198994045338:6503198994045388 35231:35231 hsa_signal_load_relaxed({handle=140622355554048}) = 0 :1858 +6503198994045488:6503198994045538 35231:35231 hsa_signal_load_relaxed({handle=140622355554176}) = 0 :1859 +6503198994045658:6503198994045708 35231:35231 hsa_signal_load_relaxed({handle=140622355554048}) = 0 :1860 +6503198994045808:6503198994045858 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355554176}, 1) = void :1861 +6503198994045979:6503198994046039 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 38 :1862 +6503198994046139:6503198994046580 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 39) = void :1863 +6503198994046720:6503198994046760 35231:35231 hsa_signal_load_relaxed({handle=140622355554176}) = 1 :1864 +6503198994046860:6503198994046910 35231:35231 hsa_signal_load_relaxed({handle=140622355554176}) = 1 :1865 +6503198994047021:6503198994057119 35231:35231 hsa_signal_wait_scacquire({handle=140622355554176}, 2, 1, 10000, 1) = 1 :1866 +6503198994057300:6503198994057380 35231:35231 hsa_signal_load_relaxed({handle=140622355553920}) = 0 :1867 +6503198994057480:6503198994057530 35231:35231 hsa_signal_load_relaxed({handle=140622355554048}) = 0 :1868 +6503198994057630:6503198994057680 35231:35231 hsa_signal_load_relaxed({handle=140622355553920}) = 0 :1869 +6503198994057791:6503198994057841 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355554048}, 1) = void :1870 +6503198994058061:6503198994059113 35231:35231 hsa_amd_memory_async_copy(0x7fe12a3fe010, {handle=5845728}, 0x7fe129400000, {handle=5671888}, 4194304, 1, 0x612550, {handle=140622355554048}) = 0 :1871 +6503198994059263:6503198994059313 35231:35231 hsa_signal_load_relaxed({handle=140622355554176}) = 1 :1872 +6503198994059424:6503198994159509 35231:35231 hsa_signal_wait_scacquire({handle=140622355554176}, 2, 1, 100000, 1) = 1 :1873 +6503198994159609:6503198994160561 35231:35231 hsa_signal_wait_scacquire({handle=140622355554176}, 2, 1, 18446744073709551615, 0) = 0 :1874 +6503198994161784:6503198994161904 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140622355554176}, 0x7ffd04faf400) = 0 :1875 +6503198994162064:6503198994162114 35231:35231 hsa_signal_load_relaxed({handle=140622355554048}) = 1 :1876 +6503198994162214:6503198994262290 35231:35231 hsa_signal_wait_scacquire({handle=140622355554048}, 2, 1, 100000, 1) = 1 :1877 +6503198994262390:6503198995705116 35231:35231 hsa_signal_wait_scacquire({handle=140622355554048}, 2, 1, 18446744073709551615, 0) = 0 :1878 +6503198995705346:6503198995705427 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140622355554048}, 0x7ffd04faf410) = 0 :1879 +6503198995706038:6503198995706088 35231:35231 hsa_signal_load_relaxed({handle=140622355554048}) = 0 :1880 +6503198995706248:6503198995706589 35231:35231 hsa_signal_load_relaxed({handle=140627542421504}) = 0 :1881 +6503198995706689:6503198995706769 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140627542421504}, 0x7ffd04faf540) = 0 :1882 +6503199004332838:6503199004333208 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :1884 +6503199004333409:6503199004333509 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf590, 0, 0, 0) = 0 :1885 +6503199004333649:6503199004333749 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf630, 0, 0, 0) = 0 :1886 +6503199004333890:6503199004333980 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf570, 0, 0, 0) = 0 :1887 +6503199004335082:6503199004338067 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a7ff000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :1888 +6503199004338488:6503199004338598 35231:35231 hsa_signal_load_relaxed({handle=140622355554048}) = 0 :1889 +6503199004338739:6503199004338809 35231:35231 hsa_signal_load_relaxed({handle=140622355553792}) = 0 :1890 +6503199004338929:6503199004338989 35231:35231 hsa_signal_load_relaxed({handle=140622355553920}) = 0 :1891 +6503199004339280:6503199004339350 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355553920}, 1) = void :1892 +6503199004339550:6503199004340562 35231:35231 hsa_amd_memory_async_copy(0x7fe129a00000, {handle=5671888}, 0x7fe12a7ff010, {handle=5845728}, 4194304, 0, 0, {handle=140622355553920}) = 0 :1893 +6503199004340692:6503199004340742 35231:35231 hsa_signal_load_relaxed({handle=140622355553920}) = 1 :1894 +6503199004340903:6503199004441008 35231:35231 hsa_signal_wait_scacquire({handle=140622355553920}, 2, 1, 100000, 1) = 1 :1895 +6503199004441109:6503199006048370 35231:35231 hsa_signal_wait_scacquire({handle=140622355553920}, 2, 1, 18446744073709551615, 0) = 0 :1896 +6503199006050313:6503199006050483 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140622355553920}, 0x7ffd04faf410) = 0 :1897 +6503199006051245:6503199006051315 35231:35231 hsa_signal_load_relaxed({handle=140622355553920}) = 0 :1898 +6503199006056184:6503199006056254 35231:35231 hsa_signal_load_relaxed({handle=140622355553920}) = 0 :1902 +6503199006056475:6503199006056555 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 40 :1903 +6503199006056675:6503199006057006 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 40 :1904 +6503199006057146:6503199006057226 35231:35231 hsa_signal_load_relaxed({handle=140622355553664}) = 0 :1905 +6503199006057326:6503199006057386 35231:35231 hsa_signal_load_relaxed({handle=140622355553792}) = 0 :1906 +6503199006057567:6503199006057617 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355553792}, 1) = void :1907 +6503199006057767:6503199006057837 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 40 :1908 +6503199006058007:6503199006058488 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 40) = void :1909 +6503199006059610:6503199006059841 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :1911 +6503199006060001:6503199006060101 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf590, 0, 0, 0) = 0 :1912 +6503199006060282:6503199006060372 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf630, 0, 0, 0) = 0 :1913 +6503199006060512:6503199006060612 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf570, 0, 0, 0) = 0 :1914 +6503199006061494:6503199006064219 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a3fe000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :1915 +6503199006064590:6503199006064640 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 41 :1916 +6503199006064740:6503199006064790 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 40 :1917 +6503199006064900:6503199006064970 35231:35231 hsa_signal_load_relaxed({handle=140622355553536}) = 0 :1918 +6503199006065091:6503199006065141 35231:35231 hsa_signal_load_relaxed({handle=140622355553664}) = 0 :1919 +6503199006065241:6503199006065291 35231:35231 hsa_signal_load_relaxed({handle=140622355553536}) = 0 :1920 +6503199006065381:6503199006065431 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355553664}, 1) = void :1921 +6503199006065591:6503199006065652 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 40 :1922 +6503199006066613:6503199006067064 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 41) = void :1923 +6503199006067204:6503199006067255 35231:35231 hsa_signal_load_relaxed({handle=140622355553664}) = 1 :1924 +6503199006067375:6503199006067425 35231:35231 hsa_signal_load_relaxed({handle=140622355553664}) = 1 :1925 +6503199006067555:6503199006077654 35231:35231 hsa_signal_wait_scacquire({handle=140622355553664}, 2, 1, 10000, 1) = 1 :1926 +6503199006077814:6503199006077864 35231:35231 hsa_signal_load_relaxed({handle=140622355553408}) = 0 :1927 +6503199006077964:6503199006078014 35231:35231 hsa_signal_load_relaxed({handle=140622355553536}) = 0 :1928 +6503199006078115:6503199006078165 35231:35231 hsa_signal_load_relaxed({handle=140622355553408}) = 0 :1929 +6503199006078285:6503199006078325 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355553536}, 1) = void :1930 +6503199006078566:6503199006079587 35231:35231 hsa_amd_memory_async_copy(0x7fe12a3fe010, {handle=5845728}, 0x7fe129400000, {handle=5671888}, 4194304, 1, 0x612620, {handle=140622355553536}) = 0 :1931 +6503199006079768:6503199006079818 35231:35231 hsa_signal_load_relaxed({handle=140622355553664}) = 1 :1932 +6503199006079918:6503199006179994 35231:35231 hsa_signal_wait_scacquire({handle=140622355553664}, 2, 1, 100000, 1) = 1 :1933 +6503199006180094:6503199006181036 35231:35231 hsa_signal_wait_scacquire({handle=140622355553664}, 2, 1, 18446744073709551615, 0) = 0 :1934 +6503199006181166:6503199006181246 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140622355553664}, 0x7ffd04faf400) = 0 :1935 +6503199006181366:6503199006181416 35231:35231 hsa_signal_load_relaxed({handle=140622355553536}) = 1 :1936 +6503199006181526:6503199006281612 35231:35231 hsa_signal_wait_scacquire({handle=140622355553536}, 2, 1, 100000, 1) = 1 :1937 +6503199006281702:6503199007726001 35231:35231 hsa_signal_wait_scacquire({handle=140622355553536}, 2, 1, 18446744073709551615, 0) = 0 :1938 +6503199007726241:6503199007726341 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140622355553536}, 0x7ffd04faf410) = 0 :1939 +6503199007726923:6503199007726973 35231:35231 hsa_signal_load_relaxed({handle=140622355553536}) = 0 :1940 +6503199007727113:6503199007727434 35231:35231 hsa_signal_load_relaxed({handle=140622355553792}) = 0 :1941 +6503199007727534:6503199007727614 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140622355553792}, 0x7ffd04faf540) = 0 :1942 +6503199016345418:6503199016345668 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :1944 +6503199016347171:6503199016347281 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf590, 0, 0, 0) = 0 :1945 +6503199016347421:6503199016347522 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf630, 0, 0, 0) = 0 :1946 +6503199016347662:6503199016347762 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf570, 0, 0, 0) = 0 :1947 +6503199016348914:6503199016352110 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a7ff000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :1948 +6503199016352541:6503199016352651 35231:35231 hsa_signal_load_relaxed({handle=140622355553536}) = 0 :1949 +6503199016352771:6503199016352841 35231:35231 hsa_signal_load_relaxed({handle=140622355553280}) = 0 :1950 +6503199016352972:6503199016353032 35231:35231 hsa_signal_load_relaxed({handle=140622355553408}) = 0 :1951 +6503199016353242:6503199016353302 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355553408}, 1) = void :1952 +6503199016353473:6503199016354454 35231:35231 hsa_amd_memory_async_copy(0x7fe129a00000, {handle=5671888}, 0x7fe12a7ff010, {handle=5845728}, 4194304, 0, 0, {handle=140622355553408}) = 0 :1953 +6503199016354575:6503199016354625 35231:35231 hsa_signal_load_relaxed({handle=140622355553408}) = 1 :1954 +6503199016354765:6503199016454851 35231:35231 hsa_signal_wait_scacquire({handle=140622355553408}, 2, 1, 100000, 1) = 1 :1955 +6503199016454941:6503199018071529 35231:35231 hsa_signal_wait_scacquire({handle=140622355553408}, 2, 1, 18446744073709551615, 0) = 0 :1956 +6503199018071800:6503199018071890 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140622355553408}, 0x7ffd04faf410) = 0 :1957 +6503199018072761:6503199018072811 35231:35231 hsa_signal_load_relaxed({handle=140622355553408}) = 0 :1958 +6503199018078031:6503199018078081 35231:35231 hsa_signal_load_relaxed({handle=140622355553408}) = 0 :1962 +6503199018078292:6503199018078392 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 42 :1963 +6503199018078522:6503199018078843 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 42 :1964 +6503199018078983:6503199018079053 35231:35231 hsa_signal_load_relaxed({handle=140622355553152}) = 0 :1965 +6503199018079203:6503199018079253 35231:35231 hsa_signal_load_relaxed({handle=140622355553280}) = 0 :1966 +6503199018079484:6503199018079534 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355553280}, 1) = void :1967 +6503199018079674:6503199018079764 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 42 :1968 +6503199018080967:6503199018081427 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 42) = void :1969 +6503199018082630:6503199018082860 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :1971 +6503199018083020:6503199018083121 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf590, 0, 0, 0) = 0 :1972 +6503199018083261:6503199018083361 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf630, 0, 0, 0) = 0 :1973 +6503199018083501:6503199018083601 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf570, 0, 0, 0) = 0 :1974 +6503199018084413:6503199018087198 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a3fe000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :1975 +6503199018087579:6503199018087639 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 43 :1976 +6503199018087729:6503199018087789 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 42 :1977 +6503199018087939:6503199018088000 35231:35231 hsa_signal_load_relaxed({handle=140622355553024}) = 0 :1978 +6503199018088100:6503199018088150 35231:35231 hsa_signal_load_relaxed({handle=140622355553152}) = 0 :1979 +6503199018088280:6503199018088330 35231:35231 hsa_signal_load_relaxed({handle=140622355553024}) = 0 :1980 +6503199018088450:6503199018088500 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355553152}, 1) = void :1981 +6503199018088631:6503199018088681 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 42 :1982 +6503199018088791:6503199018089232 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 43) = void :1983 +6503199018089382:6503199018089432 35231:35231 hsa_signal_load_relaxed({handle=140622355553152}) = 1 :1984 +6503199018089532:6503199018089583 35231:35231 hsa_signal_load_relaxed({handle=140622355553152}) = 1 :1985 +6503199018089713:6503199018099791 35231:35231 hsa_signal_wait_scacquire({handle=140622355553152}, 2, 1, 10000, 1) = 1 :1986 +6503199018099962:6503199018100022 35231:35231 hsa_signal_load_relaxed({handle=140622355552896}) = 0 :1987 +6503199018100112:6503199018100162 35231:35231 hsa_signal_load_relaxed({handle=140622355553024}) = 0 :1988 +6503199018100262:6503199018100312 35231:35231 hsa_signal_load_relaxed({handle=140622355552896}) = 0 :1989 +6503199018100403:6503199018100453 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355553024}, 1) = void :1990 +6503199018100643:6503199018101665 35231:35231 hsa_amd_memory_async_copy(0x7fe12a3fe010, {handle=5845728}, 0x7fe129400000, {handle=5671888}, 4194304, 1, 0x6126f0, {handle=140622355553024}) = 0 :1991 +6503199018102627:6503199018102677 35231:35231 hsa_signal_load_relaxed({handle=140622355553152}) = 1 :1992 +6503199018102827:6503199018202903 35231:35231 hsa_signal_wait_scacquire({handle=140622355553152}, 2, 1, 100000, 1) = 1 :1993 +6503199018203013:6503199018203935 35231:35231 hsa_signal_wait_scacquire({handle=140622355553152}, 2, 1, 18446744073709551615, 0) = 0 :1994 +6503199018204115:6503199018204195 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140622355553152}, 0x7ffd04faf400) = 0 :1995 +6503199018204305:6503199018204375 35231:35231 hsa_signal_load_relaxed({handle=140622355553024}) = 1 :1996 +6503199018204476:6503199018304551 35231:35231 hsa_signal_wait_scacquire({handle=140622355553024}, 2, 1, 100000, 1) = 1 :1997 +6503199018304651:6503199019747577 35231:35231 hsa_signal_wait_scacquire({handle=140622355553024}, 2, 1, 18446744073709551615, 0) = 0 :1998 +6503199019747828:6503199019747928 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140622355553024}, 0x7ffd04faf410) = 0 :1999 +6503199019748529:6503199019748579 35231:35231 hsa_signal_load_relaxed({handle=140622355553024}) = 0 :2000 +6503199019748770:6503199019749080 35231:35231 hsa_signal_load_relaxed({handle=140622355553280}) = 0 :2001 +6503199019749210:6503199019749291 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140622355553280}, 0x7ffd04faf540) = 0 :2002 +6503199028372915:6503199028373225 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :2004 +6503199028373426:6503199028373526 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf590, 0, 0, 0) = 0 :2005 +6503199028373666:6503199028373756 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf630, 0, 0, 0) = 0 :2006 +6503199028373897:6503199028373997 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf570, 0, 0, 0) = 0 :2007 +6503199028375319:6503199028378064 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a7ff000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :2008 +6503199028378475:6503199028378585 35231:35231 hsa_signal_load_relaxed({handle=140622355553024}) = 0 :2009 +6503199028378735:6503199028378816 35231:35231 hsa_signal_load_relaxed({handle=140622355552768}) = 0 :2010 +6503199028378936:6503199028378986 35231:35231 hsa_signal_load_relaxed({handle=140622355552896}) = 0 :2011 +6503199028379206:6503199028379287 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355552896}, 1) = void :2012 +6503199028379447:6503199028380789 35231:35231 hsa_amd_memory_async_copy(0x7fe129a00000, {handle=5671888}, 0x7fe12a7ff010, {handle=5845728}, 4194304, 0, 0, {handle=140622355552896}) = 0 :2013 +6503199028383695:6503199028383745 35231:35231 hsa_signal_load_relaxed({handle=140622355552896}) = 1 :2014 +6503199028383885:6503199028483991 35231:35231 hsa_signal_wait_scacquire({handle=140622355552896}, 2, 1, 100000, 1) = 1 :2015 +6503199028484111:6503199030088927 35231:35231 hsa_signal_wait_scacquire({handle=140622355552896}, 2, 1, 18446744073709551615, 0) = 0 :2016 +6503199030089468:6503199030094949 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140622355552896}, 0x7ffd04faf410) = 0 :2017 +6503199030095730:6503199030095780 35231:35231 hsa_signal_load_relaxed({handle=140622355552896}) = 0 :2018 +6503199030099858:6503199030099908 35231:35231 hsa_signal_load_relaxed({handle=140622355552896}) = 0 :2022 +6503199030100138:6503199030100208 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 44 :2023 +6503199030100359:6503199030100709 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 44 :2024 +6503199030100840:6503199030100900 35231:35231 hsa_signal_load_relaxed({handle=140622355552640}) = 0 :2025 +6503199030101000:6503199030101050 35231:35231 hsa_signal_load_relaxed({handle=140622355552768}) = 0 :2026 +6503199030101240:6503199030101310 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355552768}, 1) = void :2027 +6503199030101471:6503199030101541 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 44 :2028 +6503199030101922:6503199030102382 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 44) = void :2029 +6503199030104877:6503199030105107 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :2031 +6503199030105268:6503199030105378 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf590, 0, 0, 0) = 0 :2032 +6503199030105518:6503199030105618 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf630, 0, 0, 0) = 0 :2033 +6503199030105749:6503199030105849 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf570, 0, 0, 0) = 0 :2034 +6503199030106720:6503199030109476 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a3fe000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :2035 +6503199030109856:6503199030109916 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 45 :2036 +6503199030110007:6503199030110057 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 44 :2037 +6503199030110177:6503199030110237 35231:35231 hsa_signal_load_relaxed({handle=140622355552512}) = 0 :2038 +6503199030111389:6503199030111439 35231:35231 hsa_signal_load_relaxed({handle=140622355552640}) = 0 :2039 +6503199030111559:6503199030111609 35231:35231 hsa_signal_load_relaxed({handle=140622355552512}) = 0 :2040 +6503199030111720:6503199030111770 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355552640}, 1) = void :2041 +6503199030111920:6503199030111970 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 44 :2042 +6503199030112080:6503199030112511 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 45) = void :2043 +6503199030112661:6503199030112712 35231:35231 hsa_signal_load_relaxed({handle=140622355552640}) = 1 :2044 +6503199030112812:6503199030112862 35231:35231 hsa_signal_load_relaxed({handle=140622355552640}) = 1 :2045 +6503199030113012:6503199030123101 35231:35231 hsa_signal_wait_scacquire({handle=140622355552640}, 2, 1, 10000, 1) = 1 :2046 +6503199030123261:6503199030123321 35231:35231 hsa_signal_load_relaxed({handle=140622355552384}) = 0 :2047 +6503199030123421:6503199030123471 35231:35231 hsa_signal_load_relaxed({handle=140622355552512}) = 0 :2048 +6503199030123582:6503199030123632 35231:35231 hsa_signal_load_relaxed({handle=140622355552384}) = 0 :2049 +6503199030123742:6503199030123792 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355552512}, 1) = void :2050 +6503199030124043:6503199030125054 35231:35231 hsa_amd_memory_async_copy(0x7fe12a3fe010, {handle=5845728}, 0x7fe129400000, {handle=5671888}, 4194304, 1, 0x6127c0, {handle=140622355552512}) = 0 :2051 +6503199030125255:6503199030125305 35231:35231 hsa_signal_load_relaxed({handle=140622355552640}) = 1 :2052 +6503199030125415:6503199030225110 35231:35231 hsa_signal_wait_scacquire({handle=140622355552640}, 2, 1, 100000, 1) = 0 :2053 +6503199030225240:6503199030225320 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140622355552640}, 0x7ffd04faf400) = 0 :2054 +6503199030225431:6503199030225481 35231:35231 hsa_signal_load_relaxed({handle=140622355552512}) = 1 :2055 +6503199030225581:6503199030325667 35231:35231 hsa_signal_wait_scacquire({handle=140622355552512}, 2, 1, 100000, 1) = 1 :2056 +6503199030325767:6503199031768292 35231:35231 hsa_signal_wait_scacquire({handle=140622355552512}, 2, 1, 18446744073709551615, 0) = 0 :2057 +6503199031768513:6503199031768623 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140622355552512}, 0x7ffd04faf410) = 0 :2058 +6503199031769174:6503199031769254 35231:35231 hsa_signal_load_relaxed({handle=140622355552512}) = 0 :2059 +6503199031769394:6503199031769715 35231:35231 hsa_signal_load_relaxed({handle=140622355552768}) = 0 :2060 +6503199031770597:6503199031770707 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140622355552768}, 0x7ffd04faf540) = 0 :2061 +6503199040385424:6503199040385715 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :2063 +6503199040385925:6503199040386025 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf590, 0, 0, 0) = 0 :2064 +6503199040386176:6503199040386266 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf630, 0, 0, 0) = 0 :2065 +6503199040386406:6503199040386496 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf570, 0, 0, 0) = 0 :2066 +6503199040387648:6503199040390704 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a7ff000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :2067 +6503199040391095:6503199040391205 35231:35231 hsa_signal_load_relaxed({handle=140622355552512}) = 0 :2068 +6503199040391375:6503199040391446 35231:35231 hsa_signal_load_relaxed({handle=140622355552256}) = 0 :2069 +6503199040391556:6503199040391606 35231:35231 hsa_signal_load_relaxed({handle=140622355552384}) = 0 :2070 +6503199040391806:6503199040391866 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355552384}, 1) = void :2071 +6503199040392027:6503199040393038 35231:35231 hsa_amd_memory_async_copy(0x7fe129a00000, {handle=5671888}, 0x7fe12a7ff010, {handle=5845728}, 4194304, 0, 0, {handle=140622355552384}) = 0 :2072 +6503199040393179:6503199040393219 35231:35231 hsa_signal_load_relaxed({handle=140622355552384}) = 1 :2073 +6503199040393339:6503199040493445 35231:35231 hsa_signal_wait_scacquire({handle=140622355552384}, 2, 1, 100000, 1) = 1 :2074 +6503199040493535:6503199042106687 35231:35231 hsa_signal_wait_scacquire({handle=140622355552384}, 2, 1, 18446744073709551615, 0) = 0 :2075 +6503199042107228:6503199042107318 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140622355552384}, 0x7ffd04faf410) = 0 :2076 +6503199042108069:6503199042108120 35231:35231 hsa_signal_load_relaxed({handle=140622355552384}) = 0 :2077 +6503199042115153:6503199042115203 35231:35231 hsa_signal_load_relaxed({handle=140622355552384}) = 0 :2081 +6503199042115413:6503199042115483 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 46 :2082 +6503199042115633:6503199042115954 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 46 :2083 +6503199042116084:6503199042116134 35231:35231 hsa_signal_load_relaxed({handle=140622355552128}) = 0 :2084 +6503199042116235:6503199042116285 35231:35231 hsa_signal_load_relaxed({handle=140622355552256}) = 0 :2085 +6503199042117246:6503199042117297 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355552256}, 1) = void :2086 +6503199042117467:6503199042117547 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 46 :2087 +6503199042117938:6503199042118399 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 46) = void :2088 +6503199042120563:6503199042120793 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :2090 +6503199042120933:6503199042121034 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf590, 0, 0, 0) = 0 :2091 +6503199042121174:6503199042121264 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf630, 0, 0, 0) = 0 :2092 +6503199042121404:6503199042121494 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf570, 0, 0, 0) = 0 :2093 +6503199042122336:6503199042125101 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a3fe000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :2094 +6503199042125512:6503199042125582 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 47 :2095 +6503199042125682:6503199042125732 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 46 :2096 +6503199042125893:6503199042125983 35231:35231 hsa_signal_load_relaxed({handle=140627542423296}) = 0 :2097 +6503199042126083:6503199042126133 35231:35231 hsa_signal_load_relaxed({handle=140622355552128}) = 0 :2098 +6503199042126233:6503199042126283 35231:35231 hsa_signal_load_relaxed({handle=140627542423296}) = 0 :2099 +6503199042126383:6503199042126434 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355552128}, 1) = void :2100 +6503199042126574:6503199042126634 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 46 :2101 +6503199042126754:6503199042127195 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 47) = void :2102 +6503199042127335:6503199042127385 35231:35231 hsa_signal_load_relaxed({handle=140622355552128}) = 1 :2103 +6503199042127485:6503199042127536 35231:35231 hsa_signal_load_relaxed({handle=140622355552128}) = 1 :2104 +6503199042127666:6503199042137745 35231:35231 hsa_signal_wait_scacquire({handle=140622355552128}, 2, 1, 10000, 1) = 1 :2105 +6503199042137915:6503199042137975 35231:35231 hsa_signal_load_relaxed({handle=140627542423168}) = 0 :2106 +6503199042138075:6503199042138125 35231:35231 hsa_signal_load_relaxed({handle=140627542423296}) = 0 :2107 +6503199042139027:6503199042139077 35231:35231 hsa_signal_load_relaxed({handle=140627542423168}) = 0 :2108 +6503199042139207:6503199042139257 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542423296}, 1) = void :2109 +6503199042139478:6503199042140520 35231:35231 hsa_amd_memory_async_copy(0x7fe12a3fe010, {handle=5845728}, 0x7fe129400000, {handle=5671888}, 4194304, 1, 0x612890, {handle=140627542423296}) = 0 :2110 +6503199042140700:6503199042140750 35231:35231 hsa_signal_load_relaxed({handle=140622355552128}) = 1 :2111 +6503199042140850:6503199042241076 35231:35231 hsa_signal_wait_scacquire({handle=140622355552128}, 2, 1, 100000, 1) = 0 :2112 +6503199042241236:6503199042241337 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140622355552128}, 0x7ffd04faf400) = 0 :2113 +6503199042241467:6503199042241517 35231:35231 hsa_signal_load_relaxed({handle=140627542423296}) = 1 :2114 +6503199042241607:6503199042341693 35231:35231 hsa_signal_wait_scacquire({handle=140627542423296}, 2, 1, 100000, 1) = 1 :2115 +6503199042341793:6503199043786953 35231:35231 hsa_signal_wait_scacquire({handle=140627542423296}, 2, 1, 18446744073709551615, 0) = 0 :2116 +6503199043787194:6503199043787274 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140627542423296}, 0x7ffd04faf410) = 0 :2117 +6503199043787835:6503199043787905 35231:35231 hsa_signal_load_relaxed({handle=140627542423296}) = 0 :2118 +6503199043788075:6503199043788406 35231:35231 hsa_signal_load_relaxed({handle=140622355552256}) = 0 :2119 +6503199043788506:6503199043788596 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140622355552256}, 0x7ffd04faf540) = 0 :2120 +6503199052398185:6503199052398505 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :2122 +6503199052398696:6503199052398796 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf590, 0, 0, 0) = 0 :2123 +6503199052398946:6503199052399036 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf630, 0, 0, 0) = 0 :2124 +6503199052399176:6503199052399267 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf570, 0, 0, 0) = 0 :2125 +6503199052400539:6503199052403494 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a7ff000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :2126 +6503199052403915:6503199052404015 35231:35231 hsa_signal_load_relaxed({handle=140627542423296}) = 0 :2127 +6503199052404136:6503199052404206 35231:35231 hsa_signal_load_relaxed({handle=140627542423040}) = 0 :2128 +6503199052404336:6503199052404386 35231:35231 hsa_signal_load_relaxed({handle=140627542423168}) = 0 :2129 +6503199052404586:6503199052404647 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542423168}, 1) = void :2130 +6503199052406179:6503199052407201 35231:35231 hsa_amd_memory_async_copy(0x7fe129a00000, {handle=5671888}, 0x7fe12a7ff010, {handle=5845728}, 4194304, 0, 0, {handle=140627542423168}) = 0 :2131 +6503199052407342:6503199052407402 35231:35231 hsa_signal_load_relaxed({handle=140627542423168}) = 1 :2132 +6503199052407512:6503199052507608 35231:35231 hsa_signal_wait_scacquire({handle=140627542423168}, 2, 1, 100000, 1) = 1 :2133 +6503199052507728:6503199054125839 35231:35231 hsa_signal_wait_scacquire({handle=140627542423168}, 2, 1, 18446744073709551615, 0) = 0 :2134 +6503199054126069:6503199054126179 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140627542423168}, 0x7ffd04faf410) = 0 :2135 +6503199054126931:6503199054126981 35231:35231 hsa_signal_load_relaxed({handle=140627542423168}) = 0 :2136 +6503199054132140:6503199054132211 35231:35231 hsa_signal_load_relaxed({handle=140627542423168}) = 0 :2140 +6503199054132421:6503199054132491 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 48 :2141 +6503199054132661:6503199054132712 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 48 :2142 +6503199054132862:6503199054132932 35231:35231 hsa_signal_load_relaxed({handle=140627542422912}) = 0 :2143 +6503199054133052:6503199054133112 35231:35231 hsa_signal_load_relaxed({handle=140627542423040}) = 0 :2144 +6503199054133333:6503199054133383 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542423040}, 1) = void :2145 +6503199054133553:6503199054133623 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 48 :2146 +6503199054134054:6503199054134505 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 48) = void :2147 +6503199054135667:6503199054135897 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :2149 +6503199054136038:6503199054136148 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf590, 0, 0, 0) = 0 :2150 +6503199054136278:6503199054136378 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf630, 0, 0, 0) = 0 :2151 +6503199054136519:6503199054136629 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf570, 0, 0, 0) = 0 :2152 +6503199054137430:6503199054140005 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a3fe000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :2153 +6503199054140376:6503199054140436 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 49 :2154 +6503199054140536:6503199054140586 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 48 :2155 +6503199054141468:6503199054141538 35231:35231 hsa_signal_load_relaxed({handle=140627542422784}) = 0 :2156 +6503199054141638:6503199054141688 35231:35231 hsa_signal_load_relaxed({handle=140627542422912}) = 0 :2157 +6503199054141788:6503199054141838 35231:35231 hsa_signal_load_relaxed({handle=140627542422784}) = 0 :2158 +6503199054141939:6503199054141989 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542422912}, 1) = void :2159 +6503199054142139:6503199054142199 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 48 :2160 +6503199054142590:6503199054143031 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 49) = void :2161 +6503199054143161:6503199054143211 35231:35231 hsa_signal_load_relaxed({handle=140627542422912}) = 1 :2162 +6503199054143321:6503199054143371 35231:35231 hsa_signal_load_relaxed({handle=140627542422912}) = 1 :2163 +6503199054143492:6503199054153600 35231:35231 hsa_signal_wait_scacquire({handle=140627542422912}, 2, 1, 10000, 1) = 1 :2164 +6503199054153761:6503199054153831 35231:35231 hsa_signal_load_relaxed({handle=140627542422656}) = 0 :2165 +6503199054153931:6503199054153981 35231:35231 hsa_signal_load_relaxed({handle=140627542422784}) = 0 :2166 +6503199054154081:6503199054154131 35231:35231 hsa_signal_load_relaxed({handle=140627542422656}) = 0 :2167 +6503199054154221:6503199054154272 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542422784}, 1) = void :2168 +6503199054154482:6503199054155524 35231:35231 hsa_amd_memory_async_copy(0x7fe12a3fe010, {handle=5845728}, 0x7fe129400000, {handle=5671888}, 4194304, 1, 0x612960, {handle=140627542422784}) = 0 :2169 +6503199054155694:6503199054155744 35231:35231 hsa_signal_load_relaxed({handle=140627542422912}) = 1 :2170 +6503199054155834:6503199054255920 35231:35231 hsa_signal_wait_scacquire({handle=140627542422912}, 2, 1, 100000, 1) = 1 :2171 +6503199054256010:6503199054256952 35231:35231 hsa_signal_wait_scacquire({handle=140627542422912}, 2, 1, 18446744073709551615, 0) = 0 :2172 +6503199054257082:6503199054257162 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140627542422912}, 0x7ffd04faf400) = 0 :2173 +6503199054257273:6503199054257323 35231:35231 hsa_signal_load_relaxed({handle=140627542422784}) = 1 :2174 +6503199054257423:6503199054357508 35231:35231 hsa_signal_wait_scacquire({handle=140627542422784}, 2, 1, 100000, 1) = 1 :2175 +6503199054357599:6503199055801737 35231:35231 hsa_signal_wait_scacquire({handle=140627542422784}, 2, 1, 18446744073709551615, 0) = 0 :2176 +6503199055803500:6503199055803590 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140627542422784}, 0x7ffd04faf410) = 0 :2177 +6503199055804161:6503199055804201 35231:35231 hsa_signal_load_relaxed({handle=140627542422784}) = 0 :2178 +6503199055804352:6503199055804702 35231:35231 hsa_signal_load_relaxed({handle=140627542423040}) = 0 :2179 +6503199055804803:6503199055804873 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140627542423040}, 0x7ffd04faf540) = 0 :2180 +6503199064413239:6503199064413529 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :2182 +6503199064413719:6503199064413820 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf590, 0, 0, 0) = 0 :2183 +6503199064413970:6503199064414060 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf630, 0, 0, 0) = 0 :2184 +6503199064414200:6503199064414290 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf570, 0, 0, 0) = 0 :2185 +6503199064415483:6503199064418518 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a7ff000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :2186 +6503199064418939:6503199064419059 35231:35231 hsa_signal_load_relaxed({handle=140627542422784}) = 0 :2187 +6503199064419210:6503199064419280 35231:35231 hsa_signal_load_relaxed({handle=140627542422528}) = 0 :2188 +6503199064419410:6503199064419470 35231:35231 hsa_signal_load_relaxed({handle=140627542422656}) = 0 :2189 +6503199064419700:6503199064419771 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542422656}, 1) = void :2190 +6503199064419931:6503199064421173 35231:35231 hsa_amd_memory_async_copy(0x7fe129a00000, {handle=5671888}, 0x7fe12a7ff010, {handle=5845728}, 4194304, 0, 0, {handle=140627542422656}) = 0 :2191 +6503199064421313:6503199064421364 35231:35231 hsa_signal_load_relaxed({handle=140627542422656}) = 1 :2192 +6503199064421514:6503199064521579 35231:35231 hsa_signal_wait_scacquire({handle=140627542422656}, 2, 1, 100000, 1) = 1 :2193 +6503199064521700:6503199066160108 35231:35231 hsa_signal_wait_scacquire({handle=140627542422656}, 2, 1, 18446744073709551615, 0) = 0 :2194 +6503199066160399:6503199066160489 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140627542422656}, 0x7ffd04faf410) = 0 :2195 +6503199066161291:6503199066161341 35231:35231 hsa_signal_load_relaxed({handle=140627542422656}) = 0 :2196 +6503199066167652:6503199066167713 35231:35231 hsa_signal_load_relaxed({handle=140627542422656}) = 0 :2200 +6503199066167933:6503199066168013 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 50 :2201 +6503199066168143:6503199066168193 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 50 :2202 +6503199066169065:6503199066169125 35231:35231 hsa_signal_load_relaxed({handle=140627542422400}) = 0 :2203 +6503199066169225:6503199066169275 35231:35231 hsa_signal_load_relaxed({handle=140627542422528}) = 0 :2204 +6503199066169466:6503199066169516 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542422528}, 1) = void :2205 +6503199066169666:6503199066169736 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 50 :2206 +6503199066169897:6503199066170367 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 50) = void :2207 +6503199066171590:6503199066171820 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :2209 +6503199066171980:6503199066172101 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf590, 0, 0, 0) = 0 :2210 +6503199066172241:6503199066172341 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf630, 0, 0, 0) = 0 :2211 +6503199066172481:6503199066172582 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf570, 0, 0, 0) = 0 :2212 +6503199066173413:6503199066175988 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a3fe000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :2213 +6503199066176309:6503199066176369 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 51 :2214 +6503199066176469:6503199066176519 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 50 :2215 +6503199066176639:6503199066176709 35231:35231 hsa_signal_load_relaxed({handle=140627542422272}) = 0 :2216 +6503199066176809:6503199066176860 35231:35231 hsa_signal_load_relaxed({handle=140627542422400}) = 0 :2217 +6503199066176970:6503199066177020 35231:35231 hsa_signal_load_relaxed({handle=140627542422272}) = 0 :2218 +6503199066177130:6503199066177180 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542422400}, 1) = void :2219 +6503199066177310:6503199066177370 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 50 :2220 +6503199066177471:6503199066177922 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 51) = void :2221 +6503199066178042:6503199066178092 35231:35231 hsa_signal_load_relaxed({handle=140627542422400}) = 1 :2222 +6503199066178202:6503199066178252 35231:35231 hsa_signal_load_relaxed({handle=140627542422400}) = 1 :2223 +6503199066178392:6503199066188501 35231:35231 hsa_signal_wait_scacquire({handle=140627542422400}, 2, 1, 10000, 1) = 1 :2224 +6503199066189393:6503199066189483 35231:35231 hsa_signal_load_relaxed({handle=140627542422144}) = 0 :2225 +6503199066189603:6503199066189643 35231:35231 hsa_signal_load_relaxed({handle=140627542422272}) = 0 :2226 +6503199066189753:6503199066189804 35231:35231 hsa_signal_load_relaxed({handle=140627542422144}) = 0 :2227 +6503199066189914:6503199066189964 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542422272}, 1) = void :2228 +6503199066190194:6503199066191236 35231:35231 hsa_amd_memory_async_copy(0x7fe12a3fe010, {handle=5845728}, 0x7fe129400000, {handle=5671888}, 4194304, 1, 0x612a30, {handle=140627542422272}) = 0 :2229 +6503199066191386:6503199066191437 35231:35231 hsa_signal_load_relaxed({handle=140627542422400}) = 1 :2230 +6503199066191567:6503199066291662 35231:35231 hsa_signal_wait_scacquire({handle=140627542422400}, 2, 1, 100000, 1) = 1 :2231 +6503199066291763:6503199066293025 35231:35231 hsa_signal_wait_scacquire({handle=140627542422400}, 2, 1, 18446744073709551615, 0) = 0 :2232 +6503199066293175:6503199066293275 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140627542422400}, 0x7ffd04faf400) = 0 :2233 +6503199066293406:6503199066293456 35231:35231 hsa_signal_load_relaxed({handle=140627542422272}) = 1 :2234 +6503199066293566:6503199066393642 35231:35231 hsa_signal_wait_scacquire({handle=140627542422272}, 2, 1, 100000, 1) = 1 :2235 +6503199066393742:6503199067837279 35231:35231 hsa_signal_wait_scacquire({handle=140627542422272}, 2, 1, 18446744073709551615, 0) = 0 :2236 +6503199067837540:6503199067837660 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140627542422272}, 0x7ffd04faf410) = 0 :2237 +6503199067838261:6503199067838311 35231:35231 hsa_signal_load_relaxed({handle=140627542422272}) = 0 :2238 +6503199067838471:6503199067838892 35231:35231 hsa_signal_load_relaxed({handle=140627542422528}) = 0 :2239 +6503199067839002:6503199067839083 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140627542422528}, 0x7ffd04faf540) = 0 :2240 +6503199076440496:6503199076440816 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :2242 +6503199076441007:6503199076441107 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf590, 0, 0, 0) = 0 :2243 +6503199076441247:6503199076441337 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf630, 0, 0, 0) = 0 :2244 +6503199076441477:6503199076441568 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf570, 0, 0, 0) = 0 :2245 +6503199076442770:6503199076445485 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a7ff000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :2246 +6503199076448360:6503199076448440 35231:35231 hsa_signal_load_relaxed({handle=140627542422272}) = 0 :2247 +6503199076448601:6503199076448671 35231:35231 hsa_signal_load_relaxed({handle=140627542422016}) = 0 :2248 +6503199076448781:6503199076448861 35231:35231 hsa_signal_load_relaxed({handle=140627542422144}) = 0 :2249 +6503199076449182:6503199076449242 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542422144}, 1) = void :2250 +6503199076449422:6503199076450664 35231:35231 hsa_amd_memory_async_copy(0x7fe129a00000, {handle=5671888}, 0x7fe12a7ff010, {handle=5845728}, 4194304, 0, 0, {handle=140627542422144}) = 0 :2251 +6503199076450805:6503199076450855 35231:35231 hsa_signal_load_relaxed({handle=140627542422144}) = 1 :2252 +6503199076450985:6503199076551101 35231:35231 hsa_signal_wait_scacquire({handle=140627542422144}, 2, 1, 100000, 1) = 1 :2253 +6503199076551201:6503199078163161 35231:35231 hsa_signal_wait_scacquire({handle=140627542422144}, 2, 1, 18446744073709551615, 0) = 0 :2254 +6503199078163421:6503199078163511 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140627542422144}, 0x7ffd04faf410) = 0 :2255 +6503199078164293:6503199078164343 35231:35231 hsa_signal_load_relaxed({handle=140627542422144}) = 0 :2256 +6503199078169923:6503199078169983 35231:35231 hsa_signal_load_relaxed({handle=140627542422144}) = 0 :2260 +6503199078170204:6503199078170304 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 52 :2261 +6503199078170454:6503199078170805 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 52 :2262 +6503199078170935:6503199078171005 35231:35231 hsa_signal_load_relaxed({handle=140627542421888}) = 0 :2263 +6503199078171115:6503199078171176 35231:35231 hsa_signal_load_relaxed({handle=140627542422016}) = 0 :2264 +6503199078171376:6503199078171426 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542422016}, 1) = void :2265 +6503199078171566:6503199078171636 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 52 :2266 +6503199078171807:6503199078172268 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 52) = void :2267 +6503199078173380:6503199078173650 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :2269 +6503199078173810:6503199078173911 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf590, 0, 0, 0) = 0 :2270 +6503199078174041:6503199078174141 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf630, 0, 0, 0) = 0 :2271 +6503199078174281:6503199078174381 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf570, 0, 0, 0) = 0 :2272 +6503199078176355:6503199078179180 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a3fe000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :2273 +6503199078179571:6503199078179621 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 53 :2274 +6503199078179721:6503199078179771 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 52 :2275 +6503199078179892:6503199078179962 35231:35231 hsa_signal_load_relaxed({handle=140627542421760}) = 0 :2276 +6503199078180062:6503199078180112 35231:35231 hsa_signal_load_relaxed({handle=140627542421888}) = 0 :2277 +6503199078180222:6503199078180272 35231:35231 hsa_signal_load_relaxed({handle=140627542421760}) = 0 :2278 +6503199078180383:6503199078180433 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542421888}, 1) = void :2279 +6503199078180553:6503199078180613 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 52 :2280 +6503199078180723:6503199078181144 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 53) = void :2281 +6503199078181284:6503199078181334 35231:35231 hsa_signal_load_relaxed({handle=140627542421888}) = 1 :2282 +6503199078181435:6503199078181485 35231:35231 hsa_signal_load_relaxed({handle=140627542421888}) = 1 :2283 +6503199078181605:6503199078191714 35231:35231 hsa_signal_wait_scacquire({handle=140627542421888}, 2, 1, 10000, 1) = 1 :2284 +6503199078191894:6503199078191964 35231:35231 hsa_signal_load_relaxed({handle=140627542421632}) = 0 :2285 +6503199078192054:6503199078192104 35231:35231 hsa_signal_load_relaxed({handle=140627542421760}) = 0 :2286 +6503199078192205:6503199078192255 35231:35231 hsa_signal_load_relaxed({handle=140627542421632}) = 0 :2287 +6503199078192355:6503199078192405 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542421760}, 1) = void :2288 +6503199078192595:6503199078193637 35231:35231 hsa_amd_memory_async_copy(0x7fe12a3fe010, {handle=5845728}, 0x7fe129400000, {handle=5671888}, 4194304, 1, 0x612b00, {handle=140627542421760}) = 0 :2289 +6503199078193787:6503199078193838 35231:35231 hsa_signal_load_relaxed({handle=140627542421888}) = 1 :2290 +6503199078193928:6503199078294013 35231:35231 hsa_signal_wait_scacquire({handle=140627542421888}, 2, 1, 100000, 1) = 1 :2291 +6503199078294114:6503199078294685 35231:35231 hsa_signal_wait_scacquire({handle=140627542421888}, 2, 1, 18446744073709551615, 0) = 0 :2292 +6503199078294815:6503199078294915 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140627542421888}, 0x7ffd04faf400) = 0 :2293 +6503199078295877:6503199078295927 35231:35231 hsa_signal_load_relaxed({handle=140627542421760}) = 1 :2294 +6503199078296027:6503199078396093 35231:35231 hsa_signal_wait_scacquire({handle=140627542421760}, 2, 1, 100000, 1) = 1 :2295 +6503199078396193:6503199079841614 35231:35231 hsa_signal_wait_scacquire({handle=140627542421760}, 2, 1, 18446744073709551615, 0) = 0 :2296 +6503199079841854:6503199079841964 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140627542421760}, 0x7ffd04faf410) = 0 :2297 +6503199079842566:6503199079842616 35231:35231 hsa_signal_load_relaxed({handle=140627542421760}) = 0 :2298 +6503199079842766:6503199079842816 35231:35231 hsa_signal_load_relaxed({handle=140627542422016}) = 0 :2299 +6503199079842926:6503199079843016 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140627542422016}, 0x7ffd04faf540) = 0 :2300 +6503199088462643:6503199088462934 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :2302 +6503199088463124:6503199088463224 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf590, 0, 0, 0) = 0 :2303 +6503199088463375:6503199088463465 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf630, 0, 0, 0) = 0 :2304 +6503199088463605:6503199088463695 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf570, 0, 0, 0) = 0 :2305 +6503199088464967:6503199088467642 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a7ff000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :2306 +6503199088468083:6503199088468163 35231:35231 hsa_signal_load_relaxed({handle=140627542421760}) = 0 :2307 +6503199088468304:6503199088468394 35231:35231 hsa_signal_load_relaxed({handle=140627542421504}) = 0 :2308 +6503199088468514:6503199088468574 35231:35231 hsa_signal_load_relaxed({handle=140627542421632}) = 0 :2309 +6503199088468825:6503199088468885 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542421632}, 1) = void :2310 +6503199088469065:6503199088470067 35231:35231 hsa_amd_memory_async_copy(0x7fe129a00000, {handle=5671888}, 0x7fe12a7ff010, {handle=5845728}, 4194304, 0, 0, {handle=140627542421632}) = 0 :2311 +6503199088470187:6503199088470237 35231:35231 hsa_signal_load_relaxed({handle=140627542421632}) = 1 :2312 +6503199088470337:6503199088570443 35231:35231 hsa_signal_wait_scacquire({handle=140627542421632}, 2, 1, 100000, 1) = 1 :2313 +6503199088570543:6503199090161724 35231:35231 hsa_signal_wait_scacquire({handle=140627542421632}, 2, 1, 18446744073709551615, 0) = 0 :2314 +6503199090162225:6503199090162325 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140627542421632}, 0x7ffd04faf410) = 0 :2315 +6503199090164640:6503199090164700 35231:35231 hsa_signal_load_relaxed({handle=140627542421632}) = 0 :2316 +6503199090169659:6503199090169719 35231:35231 hsa_signal_load_relaxed({handle=140627542421632}) = 0 :2320 +6503199090169970:6503199090170070 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 54 :2321 +6503199090170200:6503199090170561 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 54 :2322 +6503199090170681:6503199090170761 35231:35231 hsa_signal_load_relaxed({handle=140622355554176}) = 0 :2323 +6503199090170881:6503199090170941 35231:35231 hsa_signal_load_relaxed({handle=140627542421504}) = 0 :2324 +6503199090171142:6503199090171202 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542421504}, 1) = void :2325 +6503199090171332:6503199090171402 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 54 :2326 +6503199090171793:6503199090172264 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 54) = void :2327 +6503199090173376:6503199090173596 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :2329 +6503199090173747:6503199090173847 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf590, 0, 0, 0) = 0 :2330 +6503199090173977:6503199090174077 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf630, 0, 0, 0) = 0 :2331 +6503199090174218:6503199090174318 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf570, 0, 0, 0) = 0 :2332 +6503199090175149:6503199090177714 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a3fe000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :2333 +6503199090178105:6503199090178155 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 55 :2334 +6503199090178275:6503199090178325 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 54 :2335 +6503199090178445:6503199090178505 35231:35231 hsa_signal_load_relaxed({handle=140622355554048}) = 0 :2336 +6503199090178606:6503199090178656 35231:35231 hsa_signal_load_relaxed({handle=140622355554176}) = 0 :2337 +6503199090178776:6503199090178826 35231:35231 hsa_signal_load_relaxed({handle=140622355554048}) = 0 :2338 +6503199090178926:6503199090178976 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355554176}, 1) = void :2339 +6503199090179117:6503199090179167 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 54 :2340 +6503199090179577:6503199090180008 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 55) = void :2341 +6503199090180960:6503199090181010 35231:35231 hsa_signal_load_relaxed({handle=140622355554176}) = 1 :2342 +6503199090181110:6503199090181160 35231:35231 hsa_signal_load_relaxed({handle=140622355554176}) = 1 :2343 +6503199090181271:6503199090191369 35231:35231 hsa_signal_wait_scacquire({handle=140622355554176}, 2, 1, 10000, 1) = 1 :2344 +6503199090191540:6503199090191590 35231:35231 hsa_signal_load_relaxed({handle=140622355553920}) = 0 :2345 +6503199090191690:6503199090191740 35231:35231 hsa_signal_load_relaxed({handle=140622355554048}) = 0 :2346 +6503199090191870:6503199090191920 35231:35231 hsa_signal_load_relaxed({handle=140622355553920}) = 0 :2347 +6503199090192031:6503199090192081 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355554048}, 1) = void :2348 +6503199090192301:6503199090193323 35231:35231 hsa_amd_memory_async_copy(0x7fe12a3fe010, {handle=5845728}, 0x7fe129400000, {handle=5671888}, 4194304, 1, 0x612bd0, {handle=140622355554048}) = 0 :2349 +6503199090193483:6503199090193533 35231:35231 hsa_signal_load_relaxed({handle=140622355554176}) = 1 :2350 +6503199090193644:6503199090293719 35231:35231 hsa_signal_wait_scacquire({handle=140622355554176}, 2, 1, 100000, 1) = 1 :2351 +6503199090293819:6503199090294681 35231:35231 hsa_signal_wait_scacquire({handle=140622355554176}, 2, 1, 18446744073709551615, 0) = 0 :2352 +6503199090294841:6503199090294951 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140622355554176}, 0x7ffd04faf400) = 0 :2353 +6503199090295062:6503199090295112 35231:35231 hsa_signal_load_relaxed({handle=140622355554048}) = 1 :2354 +6503199090295202:6503199090395288 35231:35231 hsa_signal_wait_scacquire({handle=140622355554048}, 2, 1, 100000, 1) = 1 :2355 +6503199090395378:6503199091842542 35231:35231 hsa_signal_wait_scacquire({handle=140622355554048}, 2, 1, 18446744073709551615, 0) = 0 :2356 +6503199091842792:6503199091842882 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140622355554048}, 0x7ffd04faf410) = 0 :2357 +6503199091843473:6503199091843523 35231:35231 hsa_signal_load_relaxed({handle=140622355554048}) = 0 :2358 +6503199091843674:6503199091843994 35231:35231 hsa_signal_load_relaxed({handle=140627542421504}) = 0 :2359 +6503199091844115:6503199091844195 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140627542421504}, 0x7ffd04faf540) = 0 :2360 +6503199100463622:6503199100463942 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :2362 +6503199100464143:6503199100464243 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf590, 0, 0, 0) = 0 :2363 +6503199100465846:6503199100465956 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf630, 0, 0, 0) = 0 :2364 +6503199100466096:6503199100466186 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf570, 0, 0, 0) = 0 :2365 +6503199100467389:6503199100470254 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a7ff000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :2366 +6503199100470685:6503199100470785 35231:35231 hsa_signal_load_relaxed({handle=140622355554048}) = 0 :2367 +6503199100470925:6503199100470995 35231:35231 hsa_signal_load_relaxed({handle=140622355553792}) = 0 :2368 +6503199100471115:6503199100471176 35231:35231 hsa_signal_load_relaxed({handle=140622355553920}) = 0 :2369 +6503199100471386:6503199100471446 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355553920}, 1) = void :2370 +6503199100471606:6503199100472558 35231:35231 hsa_amd_memory_async_copy(0x7fe129a00000, {handle=5671888}, 0x7fe12a7ff010, {handle=5845728}, 4194304, 0, 0, {handle=140622355553920}) = 0 :2371 +6503199100472688:6503199100472738 35231:35231 hsa_signal_load_relaxed({handle=140622355553920}) = 1 :2372 +6503199100472899:6503199100572984 35231:35231 hsa_signal_wait_scacquire({handle=140622355553920}, 2, 1, 100000, 1) = 1 :2373 +6503199100573085:6503199102182780 35231:35231 hsa_signal_wait_scacquire({handle=140622355553920}, 2, 1, 18446744073709551615, 0) = 0 :2374 +6503199102183050:6503199102188390 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140622355553920}, 0x7ffd04faf410) = 0 :2375 +6503199102189162:6503199102189212 35231:35231 hsa_signal_load_relaxed({handle=140622355553920}) = 0 :2376 +6503199102194472:6503199102194542 35231:35231 hsa_signal_load_relaxed({handle=140622355553920}) = 0 :2380 +6503199102194762:6503199102194842 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 56 :2381 +6503199102194983:6503199102195063 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 56 :2382 +6503199102195213:6503199102195293 35231:35231 hsa_signal_load_relaxed({handle=140622355553664}) = 0 :2383 +6503199102195393:6503199102195463 35231:35231 hsa_signal_load_relaxed({handle=140622355553792}) = 0 :2384 +6503199102195644:6503199102195694 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355553792}, 1) = void :2385 +6503199102195834:6503199102195894 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 56 :2386 +6503199102196065:6503199102196525 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 56) = void :2387 +6503199102198479:6503199102198730 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :2389 +6503199102198880:6503199102198980 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf590, 0, 0, 0) = 0 :2390 +6503199102199120:6503199102199220 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf630, 0, 0, 0) = 0 :2391 +6503199102199351:6503199102199451 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf570, 0, 0, 0) = 0 :2392 +6503199102200292:6503199102203268 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a3fe000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :2393 +6503199102203629:6503199102203709 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 57 :2394 +6503199102203799:6503199102203859 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 56 :2395 +6503199102203969:6503199102204029 35231:35231 hsa_signal_load_relaxed({handle=140622355553536}) = 0 :2396 +6503199102204150:6503199102204200 35231:35231 hsa_signal_load_relaxed({handle=140622355553664}) = 0 :2397 +6503199102204310:6503199102204360 35231:35231 hsa_signal_load_relaxed({handle=140622355553536}) = 0 :2398 +6503199102204480:6503199102204530 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355553664}, 1) = void :2399 +6503199102204671:6503199102204721 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 56 :2400 +6503199102205121:6503199102205562 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 57) = void :2401 +6503199102205692:6503199102205743 35231:35231 hsa_signal_load_relaxed({handle=140622355553664}) = 1 :2402 +6503199102205843:6503199102205893 35231:35231 hsa_signal_load_relaxed({handle=140622355553664}) = 1 :2403 +6503199102206013:6503199102216102 35231:35231 hsa_signal_wait_scacquire({handle=140622355553664}, 2, 1, 10000, 1) = 1 :2404 +6503199102216332:6503199102216402 35231:35231 hsa_signal_load_relaxed({handle=140622355553408}) = 0 :2405 +6503199102216503:6503199102216563 35231:35231 hsa_signal_load_relaxed({handle=140622355553536}) = 0 :2406 +6503199102216663:6503199102216713 35231:35231 hsa_signal_load_relaxed({handle=140622355553408}) = 0 :2407 +6503199102216813:6503199102216863 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355553536}, 1) = void :2408 +6503199102217054:6503199102218095 35231:35231 hsa_amd_memory_async_copy(0x7fe12a3fe010, {handle=5845728}, 0x7fe129400000, {handle=5671888}, 4194304, 1, 0x6bd050, {handle=140622355553536}) = 0 :2409 +6503199102218236:6503199102218286 35231:35231 hsa_signal_load_relaxed({handle=140622355553664}) = 1 :2410 +6503199102219208:6503199102319003 35231:35231 hsa_signal_wait_scacquire({handle=140622355553664}, 2, 1, 100000, 1) = 0 :2411 +6503199102319143:6503199102319233 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140622355553664}, 0x7ffd04faf400) = 0 :2412 +6503199102319383:6503199102319433 35231:35231 hsa_signal_load_relaxed({handle=140622355553536}) = 1 :2413 +6503199102319524:6503199102419609 35231:35231 hsa_signal_wait_scacquire({handle=140622355553536}, 2, 1, 100000, 1) = 1 :2414 +6503199102419709:6503199103863156 35231:35231 hsa_signal_wait_scacquire({handle=140622355553536}, 2, 1, 18446744073709551615, 0) = 0 :2415 +6503199103863407:6503199103863507 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140622355553536}, 0x7ffd04faf410) = 0 :2416 +6503199103864098:6503199103864148 35231:35231 hsa_signal_load_relaxed({handle=140622355553536}) = 0 :2417 +6503199103864299:6503199103864649 35231:35231 hsa_signal_load_relaxed({handle=140622355553792}) = 0 :2418 +6503199103864739:6503199103864819 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140622355553792}, 0x7ffd04faf540) = 0 :2419 +6503199112496098:6503199112496408 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :2421 +6503199112496609:6503199112496709 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf590, 0, 0, 0) = 0 :2422 +6503199112496849:6503199112496939 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf630, 0, 0, 0) = 0 :2423 +6503199112497090:6503199112497180 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf570, 0, 0, 0) = 0 :2424 +6503199112498602:6503199112501598 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a7ff000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :2425 +6503199112502099:6503199112502209 35231:35231 hsa_signal_load_relaxed({handle=140622355553536}) = 0 :2426 +6503199112502349:6503199112502409 35231:35231 hsa_signal_load_relaxed({handle=140622355553280}) = 0 :2427 +6503199112502520:6503199112502580 35231:35231 hsa_signal_load_relaxed({handle=140622355553408}) = 0 :2428 +6503199112502870:6503199112502971 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355553408}, 1) = void :2429 +6503199112503161:6503199112504203 35231:35231 hsa_amd_memory_async_copy(0x7fe129a00000, {handle=5671888}, 0x7fe12a7ff010, {handle=5845728}, 4194304, 0, 0, {handle=140622355553408}) = 0 :2430 +6503199112504333:6503199112504383 35231:35231 hsa_signal_load_relaxed({handle=140622355553408}) = 1 :2431 +6503199112504523:6503199112604649 35231:35231 hsa_signal_wait_scacquire({handle=140622355553408}, 2, 1, 100000, 1) = 1 :2432 +6503199112607344:6503199114217921 35231:35231 hsa_signal_wait_scacquire({handle=140622355553408}, 2, 1, 18446744073709551615, 0) = 0 :2433 +6503199114218212:6503199114218342 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140622355553408}, 0x7ffd04faf410) = 0 :2434 +6503199114219194:6503199114219244 35231:35231 hsa_signal_load_relaxed({handle=140622355553408}) = 0 :2435 +6503199114225696:6503199114225746 35231:35231 hsa_signal_load_relaxed({handle=140622355553408}) = 0 :2439 +6503199114225996:6503199114226066 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 58 :2440 +6503199114226217:6503199114226587 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 58 :2441 +6503199114226718:6503199114226788 35231:35231 hsa_signal_load_relaxed({handle=140622355553152}) = 0 :2442 +6503199114226888:6503199114226938 35231:35231 hsa_signal_load_relaxed({handle=140622355553280}) = 0 :2443 +6503199114227128:6503199114227178 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355553280}, 1) = void :2444 +6503199114227329:6503199114227399 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 58 :2445 +6503199114227569:6503199114228040 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 58) = void :2446 +6503199114229292:6503199114229543 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :2448 +6503199114229703:6503199114229803 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf590, 0, 0, 0) = 0 :2449 +6503199114229944:6503199114230034 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf630, 0, 0, 0) = 0 :2450 +6503199114230174:6503199114230274 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf570, 0, 0, 0) = 0 :2451 +6503199114231146:6503199114233941 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a3fe000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :2452 +6503199114234312:6503199114234382 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 59 :2453 +6503199114234482:6503199114234532 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 58 :2454 +6503199114234662:6503199114234722 35231:35231 hsa_signal_load_relaxed({handle=140622355553024}) = 0 :2455 +6503199114234853:6503199114234903 35231:35231 hsa_signal_load_relaxed({handle=140622355553152}) = 0 :2456 +6503199114235003:6503199114235053 35231:35231 hsa_signal_load_relaxed({handle=140622355553024}) = 0 :2457 +6503199114235995:6503199114236055 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355553152}, 1) = void :2458 +6503199114236205:6503199114236265 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 58 :2459 +6503199114236376:6503199114236826 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 59) = void :2460 +6503199114237007:6503199114237047 35231:35231 hsa_signal_load_relaxed({handle=140622355553152}) = 1 :2461 +6503199114237147:6503199114237197 35231:35231 hsa_signal_load_relaxed({handle=140622355553152}) = 1 :2462 +6503199114237377:6503199114247466 35231:35231 hsa_signal_wait_scacquire({handle=140622355553152}, 2, 1, 10000, 1) = 1 :2463 +6503199114247636:6503199114247707 35231:35231 hsa_signal_load_relaxed({handle=140622355552896}) = 0 :2464 +6503199114247807:6503199114247857 35231:35231 hsa_signal_load_relaxed({handle=140622355553024}) = 0 :2465 +6503199114247957:6503199114248007 35231:35231 hsa_signal_load_relaxed({handle=140622355552896}) = 0 :2466 +6503199114248097:6503199114248147 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355553024}, 1) = void :2467 +6503199114248338:6503199114249410 35231:35231 hsa_amd_memory_async_copy(0x7fe12a3fe010, {handle=5845728}, 0x7fe129400000, {handle=5671888}, 4194304, 1, 0x6bd0f0, {handle=140622355553024}) = 0 :2468 +6503199114249570:6503199114249620 35231:35231 hsa_signal_load_relaxed({handle=140622355553152}) = 1 :2469 +6503199114249710:6503199114349786 35231:35231 hsa_signal_wait_scacquire({handle=140622355553152}, 2, 1, 100000, 1) = 1 :2470 +6503199114349886:6503199114350397 35231:35231 hsa_signal_wait_scacquire({handle=140622355553152}, 2, 1, 18446744073709551615, 0) = 0 :2471 +6503199114350557:6503199114350667 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140622355553152}, 0x7ffd04faf400) = 0 :2472 +6503199114350788:6503199114350838 35231:35231 hsa_signal_load_relaxed({handle=140622355553024}) = 1 :2473 +6503199114350958:6503199114451034 35231:35231 hsa_signal_wait_scacquire({handle=140622355553024}, 2, 1, 100000, 1) = 1 :2474 +6503199114451124:6503199115895603 35231:35231 hsa_signal_wait_scacquire({handle=140622355553024}, 2, 1, 18446744073709551615, 0) = 0 :2475 +6503199115895853:6503199115895944 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140622355553024}, 0x7ffd04faf410) = 0 :2476 +6503199115896575:6503199115896625 35231:35231 hsa_signal_load_relaxed({handle=140622355553024}) = 0 :2477 +6503199115896785:6503199115897106 35231:35231 hsa_signal_load_relaxed({handle=140622355553280}) = 0 :2478 +6503199115897226:6503199115897316 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140622355553280}, 0x7ffd04faf540) = 0 :2479 +6503199124503999:6503199124504259 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :2481 +6503199124504480:6503199124504590 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf590, 0, 0, 0) = 0 :2482 +6503199124504730:6503199124504830 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf630, 0, 0, 0) = 0 :2483 +6503199124504961:6503199124505051 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf570, 0, 0, 0) = 0 :2484 +6503199124506323:6503199124509409 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a7ff000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :2485 +6503199124509860:6503199124509970 35231:35231 hsa_signal_load_relaxed({handle=140622355553024}) = 0 :2486 +6503199124510090:6503199124510160 35231:35231 hsa_signal_load_relaxed({handle=140622355552768}) = 0 :2487 +6503199124510271:6503199124510321 35231:35231 hsa_signal_load_relaxed({handle=140622355552896}) = 0 :2488 +6503199124510621:6503199124510691 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355552896}, 1) = void :2489 +6503199124510862:6503199124511853 35231:35231 hsa_amd_memory_async_copy(0x7fe129a00000, {handle=5671888}, 0x7fe12a7ff010, {handle=5845728}, 4194304, 0, 0, {handle=140622355552896}) = 0 :2490 +6503199124511964:6503199124512014 35231:35231 hsa_signal_load_relaxed({handle=140622355552896}) = 1 :2491 +6503199124512144:6503199124612240 35231:35231 hsa_signal_wait_scacquire({handle=140622355552896}, 2, 1, 100000, 1) = 1 :2492 +6503199124612340:6503199126217377 35231:35231 hsa_signal_wait_scacquire({handle=140622355552896}, 2, 1, 18446744073709551615, 0) = 0 :2493 +6503199126217637:6503199126217777 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140622355552896}, 0x7ffd04faf410) = 0 :2494 +6503199126218559:6503199126218649 35231:35231 hsa_signal_load_relaxed({handle=140622355552896}) = 0 :2495 +6503199126222626:6503199126222676 35231:35231 hsa_signal_load_relaxed({handle=140622355552896}) = 0 :2499 +6503199126222877:6503199126222977 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 60 :2500 +6503199126223157:6503199126223528 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 60 :2501 +6503199126223658:6503199126223708 35231:35231 hsa_signal_load_relaxed({handle=140622355552640}) = 0 :2502 +6503199126223809:6503199126223859 35231:35231 hsa_signal_load_relaxed({handle=140622355552768}) = 0 :2503 +6503199126224059:6503199126224109 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355552768}, 1) = void :2504 +6503199126226183:6503199126226263 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 60 :2505 +6503199126226674:6503199126227135 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 60) = void :2506 +6503199126228177:6503199126228397 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :2508 +6503199126228547:6503199126228648 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf590, 0, 0, 0) = 0 :2509 +6503199126228798:6503199126228898 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf630, 0, 0, 0) = 0 :2510 +6503199126229028:6503199126229138 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf570, 0, 0, 0) = 0 :2511 +6503199126230000:6503199126232455 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a3fe000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :2512 +6503199126232825:6503199126232885 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 61 :2513 +6503199126232986:6503199126233036 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 60 :2514 +6503199126233156:6503199126233216 35231:35231 hsa_signal_load_relaxed({handle=140622355552512}) = 0 :2515 +6503199126233316:6503199126233366 35231:35231 hsa_signal_load_relaxed({handle=140622355552640}) = 0 :2516 +6503199126233476:6503199126233527 35231:35231 hsa_signal_load_relaxed({handle=140622355552512}) = 0 :2517 +6503199126233637:6503199126233687 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355552640}, 1) = void :2518 +6503199126233817:6503199126233867 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 60 :2519 +6503199126233997:6503199126234428 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 61) = void :2520 +6503199126234548:6503199126234599 35231:35231 hsa_signal_load_relaxed({handle=140622355552640}) = 1 :2521 +6503199126234699:6503199126234749 35231:35231 hsa_signal_load_relaxed({handle=140622355552640}) = 1 :2522 +6503199126234889:6503199126245018 35231:35231 hsa_signal_wait_scacquire({handle=140622355552640}, 2, 1, 10000, 1) = 1 :2523 +6503199126245188:6503199126245268 35231:35231 hsa_signal_load_relaxed({handle=140622355552384}) = 0 :2524 +6503199126245369:6503199126245409 35231:35231 hsa_signal_load_relaxed({handle=140622355552512}) = 0 :2525 +6503199126245509:6503199126245559 35231:35231 hsa_signal_load_relaxed({handle=140622355552384}) = 0 :2526 +6503199126246471:6503199126246521 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355552512}, 1) = void :2527 +6503199126246751:6503199126247833 35231:35231 hsa_amd_memory_async_copy(0x7fe12a3fe010, {handle=5845728}, 0x7fe129400000, {handle=5671888}, 4194304, 1, 0x6bd1c0, {handle=140622355552512}) = 0 :2528 +6503199126247963:6503199126248013 35231:35231 hsa_signal_load_relaxed({handle=140622355552640}) = 1 :2529 +6503199126248134:6503199126348209 35231:35231 hsa_signal_wait_scacquire({handle=140622355552640}, 2, 1, 100000, 1) = 1 :2530 +6503199126348319:6503199126349902 35231:35231 hsa_signal_wait_scacquire({handle=140622355552640}, 2, 1, 18446744073709551615, 0) = 0 :2531 +6503199126350053:6503199126350173 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140622355552640}, 0x7ffd04faf400) = 0 :2532 +6503199126350313:6503199126350363 35231:35231 hsa_signal_load_relaxed({handle=140622355552512}) = 1 :2533 +6503199126350463:6503199126450539 35231:35231 hsa_signal_wait_scacquire({handle=140622355552512}, 2, 1, 100000, 1) = 1 :2534 +6503199126450629:6503199127894297 35231:35231 hsa_signal_wait_scacquire({handle=140622355552512}, 2, 1, 18446744073709551615, 0) = 0 :2535 +6503199127894557:6503199127894657 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140622355552512}, 0x7ffd04faf410) = 0 :2536 +6503199127895248:6503199127895299 35231:35231 hsa_signal_load_relaxed({handle=140622355552512}) = 0 :2537 +6503199127895459:6503199127895509 35231:35231 hsa_signal_load_relaxed({handle=140622355552768}) = 0 :2538 +6503199127895619:6503199127895709 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140622355552768}, 0x7ffd04faf540) = 0 :2539 +6503199136500679:6503199136500970 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :2541 +6503199136501170:6503199136501270 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf590, 0, 0, 0) = 0 :2542 +6503199136501401:6503199136501491 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf630, 0, 0, 0) = 0 :2543 +6503199136501641:6503199136501741 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf570, 0, 0, 0) = 0 :2544 +6503199136502964:6503199136505568 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a7ff000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :2545 +6503199136505979:6503199136506079 35231:35231 hsa_signal_load_relaxed({handle=140622355552512}) = 0 :2546 +6503199136506240:6503199136506310 35231:35231 hsa_signal_load_relaxed({handle=140622355552256}) = 0 :2547 +6503199136506440:6503199136506490 35231:35231 hsa_signal_load_relaxed({handle=140622355552384}) = 0 :2548 +6503199136506700:6503199136506761 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355552384}, 1) = void :2549 +6503199136508193:6503199136509215 35231:35231 hsa_amd_memory_async_copy(0x7fe129a00000, {handle=5671888}, 0x7fe12a7ff010, {handle=5845728}, 4194304, 0, 0, {handle=140622355552384}) = 0 :2550 +6503199136509345:6503199136509395 35231:35231 hsa_signal_load_relaxed({handle=140622355552384}) = 1 :2551 +6503199136509506:6503199136609601 35231:35231 hsa_signal_wait_scacquire({handle=140622355552384}, 2, 1, 100000, 1) = 1 :2552 +6503199136609712:6503199138214267 35231:35231 hsa_signal_wait_scacquire({handle=140622355552384}, 2, 1, 18446744073709551615, 0) = 0 :2553 +6503199138214538:6503199138214628 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140622355552384}, 0x7ffd04faf410) = 0 :2554 +6503199138215379:6503199138215430 35231:35231 hsa_signal_load_relaxed({handle=140622355552384}) = 0 :2555 +6503199138219357:6503199138219417 35231:35231 hsa_signal_load_relaxed({handle=140622355552384}) = 0 :2559 +6503199138219627:6503199138219697 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 62 :2560 +6503199138219868:6503199138220228 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 62 :2561 +6503199138220379:6503199138220449 35231:35231 hsa_signal_load_relaxed({handle=140622355552128}) = 0 :2562 +6503199138220559:6503199138220609 35231:35231 hsa_signal_load_relaxed({handle=140622355552256}) = 0 :2563 +6503199138220800:6503199138220850 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355552256}, 1) = void :2564 +6503199138220980:6503199138221050 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 62 :2565 +6503199138221461:6503199138221922 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 62) = void :2566 +6503199138225769:6503199138225989 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :2568 +6503199138226169:6503199138226280 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf590, 0, 0, 0) = 0 :2569 +6503199138226410:6503199138226510 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf630, 0, 0, 0) = 0 :2570 +6503199138226650:6503199138226751 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf570, 0, 0, 0) = 0 :2571 +6503199138227642:6503199138230397 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a3fe000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :2572 +6503199138230778:6503199138230838 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 63 :2573 +6503199138230928:6503199138230978 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 62 :2574 +6503199138231920:6503199138232000 35231:35231 hsa_signal_load_relaxed({handle=140627542423296}) = 0 :2575 +6503199138232131:6503199138232181 35231:35231 hsa_signal_load_relaxed({handle=140622355552128}) = 0 :2576 +6503199138232291:6503199138232341 35231:35231 hsa_signal_load_relaxed({handle=140627542423296}) = 0 :2577 +6503199138232461:6503199138232511 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355552128}, 1) = void :2578 +6503199138232651:6503199138232702 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 62 :2579 +6503199138233082:6503199138233523 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 63) = void :2580 +6503199138233643:6503199138233683 35231:35231 hsa_signal_load_relaxed({handle=140622355552128}) = 1 :2581 +6503199138233784:6503199138233834 35231:35231 hsa_signal_load_relaxed({handle=140622355552128}) = 1 :2582 +6503199138233944:6503199138244033 35231:35231 hsa_signal_wait_scacquire({handle=140622355552128}, 2, 1, 10000, 1) = 1 :2583 +6503199138244213:6503199138244263 35231:35231 hsa_signal_load_relaxed({handle=140627542423168}) = 0 :2584 +6503199138244363:6503199138244413 35231:35231 hsa_signal_load_relaxed({handle=140627542423296}) = 0 :2585 +6503199138244513:6503199138244554 35231:35231 hsa_signal_load_relaxed({handle=140627542423168}) = 0 :2586 +6503199138244664:6503199138244714 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542423296}, 1) = void :2587 +6503199138244914:6503199138246046 35231:35231 hsa_amd_memory_async_copy(0x7fe12a3fe010, {handle=5845728}, 0x7fe129400000, {handle=5671888}, 4194304, 1, 0x6bd290, {handle=140627542423296}) = 0 :2588 +6503199138246207:6503199138246257 35231:35231 hsa_signal_load_relaxed({handle=140622355552128}) = 1 :2589 +6503199138246357:6503199138344419 35231:35231 hsa_signal_wait_scacquire({handle=140622355552128}, 2, 1, 100000, 1) = 0 :2590 +6503199138344579:6503199138344689 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140622355552128}, 0x7ffd04faf400) = 0 :2591 +6503199138344799:6503199138344850 35231:35231 hsa_signal_load_relaxed({handle=140627542423296}) = 1 :2592 +6503199138344960:6503199138445035 35231:35231 hsa_signal_wait_scacquire({handle=140627542423296}, 2, 1, 100000, 1) = 1 :2593 +6503199138445136:6503199139888342 35231:35231 hsa_signal_wait_scacquire({handle=140627542423296}, 2, 1, 18446744073709551615, 0) = 0 :2594 +6503199139888583:6503199139888683 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140627542423296}, 0x7ffd04faf410) = 0 :2595 +6503199139890135:6503199139890186 35231:35231 hsa_signal_load_relaxed({handle=140627542423296}) = 0 :2596 +6503199139890406:6503199139890737 35231:35231 hsa_signal_load_relaxed({handle=140622355552256}) = 0 :2597 +6503199139890837:6503199139890917 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140622355552256}, 0x7ffd04faf540) = 0 :2598 +6503199148486619:6503199148486950 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :2600 +6503199148487150:6503199148487260 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf590, 0, 0, 0) = 0 :2601 +6503199148487391:6503199148487481 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf630, 0, 0, 0) = 0 :2602 +6503199148487621:6503199148487711 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf570, 0, 0, 0) = 0 :2603 +6503199148488823:6503199148491839 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a7ff000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :2604 +6503199148492270:6503199148492360 35231:35231 hsa_signal_load_relaxed({handle=140627542423296}) = 0 :2605 +6503199148492500:6503199148492570 35231:35231 hsa_signal_load_relaxed({handle=140627542423040}) = 0 :2606 +6503199148492721:6503199148492771 35231:35231 hsa_signal_load_relaxed({handle=140627542423168}) = 0 :2607 +6503199148492971:6503199148493031 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542423168}, 1) = void :2608 +6503199148493221:6503199148494424 35231:35231 hsa_amd_memory_async_copy(0x7fe129a00000, {handle=5671888}, 0x7fe12a7ff010, {handle=5845728}, 4194304, 0, 0, {handle=140627542423168}) = 0 :2609 +6503199148494544:6503199148494594 35231:35231 hsa_signal_load_relaxed({handle=140627542423168}) = 1 :2610 +6503199148494734:6503199148594820 35231:35231 hsa_signal_wait_scacquire({handle=140627542423168}, 2, 1, 100000, 1) = 1 :2611 +6503199148594920:6503199150208703 35231:35231 hsa_signal_wait_scacquire({handle=140627542423168}, 2, 1, 18446744073709551615, 0) = 0 :2612 +6503199150209224:6503199150209324 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140627542423168}, 0x7ffd04faf410) = 0 :2613 +6503199150210026:6503199150210076 35231:35231 hsa_signal_load_relaxed({handle=140627542423168}) = 0 :2614 +6503199150213943:6503199150214013 35231:35231 hsa_signal_load_relaxed({handle=140627542423168}) = 0 :2618 +6503199150214243:6503199150214314 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 64 :2619 +6503199150214454:6503199150214805 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 64 :2620 +6503199150214935:6503199150215005 35231:35231 hsa_signal_load_relaxed({handle=140627542422912}) = 0 :2621 +6503199150216658:6503199150216728 35231:35231 hsa_signal_load_relaxed({handle=140627542423040}) = 0 :2622 +6503199150216938:6503199150216989 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542423040}, 1) = void :2623 +6503199150217139:6503199150217209 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 64 :2624 +6503199150217610:6503199150218081 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 64) = void :2625 +6503199150220094:6503199150220305 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :2627 +6503199150220465:6503199150220565 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf590, 0, 0, 0) = 0 :2628 +6503199150220705:6503199150220806 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf630, 0, 0, 0) = 0 :2629 +6503199150220946:6503199150221046 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf570, 0, 0, 0) = 0 :2630 +6503199150221888:6503199150224533 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a3fe000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :2631 +6503199150224893:6503199150224953 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 65 :2632 +6503199150225044:6503199150225094 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 64 :2633 +6503199150225234:6503199150225304 35231:35231 hsa_signal_load_relaxed({handle=140627542422784}) = 0 :2634 +6503199150225414:6503199150225454 35231:35231 hsa_signal_load_relaxed({handle=140627542422912}) = 0 :2635 +6503199150225554:6503199150225605 35231:35231 hsa_signal_load_relaxed({handle=140627542422784}) = 0 :2636 +6503199150225705:6503199150225755 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542422912}, 1) = void :2637 +6503199150225895:6503199150225955 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 64 :2638 +6503199150226346:6503199150226777 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 65) = void :2639 +6503199150226907:6503199150226957 35231:35231 hsa_signal_load_relaxed({handle=140627542422912}) = 1 :2640 +6503199150227057:6503199150227107 35231:35231 hsa_signal_load_relaxed({handle=140627542422912}) = 1 :2641 +6503199150227208:6503199150237296 35231:35231 hsa_signal_wait_scacquire({handle=140627542422912}, 2, 1, 10000, 1) = 1 :2642 +6503199150237457:6503199150237527 35231:35231 hsa_signal_load_relaxed({handle=140627542422656}) = 0 :2643 +6503199150238398:6503199150238448 35231:35231 hsa_signal_load_relaxed({handle=140627542422784}) = 0 :2644 +6503199150238569:6503199150238619 35231:35231 hsa_signal_load_relaxed({handle=140627542422656}) = 0 :2645 +6503199150238739:6503199150238789 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542422784}, 1) = void :2646 +6503199150238999:6503199150240081 35231:35231 hsa_amd_memory_async_copy(0x7fe12a3fe010, {handle=5845728}, 0x7fe129400000, {handle=5671888}, 4194304, 1, 0x6bd360, {handle=140627542422784}) = 0 :2647 +6503199150240212:6503199150240262 35231:35231 hsa_signal_load_relaxed({handle=140627542422912}) = 1 :2648 +6503199150240362:6503199150340648 35231:35231 hsa_signal_wait_scacquire({handle=140627542422912}, 2, 1, 100000, 1) = 0 :2649 +6503199150340808:6503199150340908 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140627542422912}, 0x7ffd04faf400) = 0 :2650 +6503199150341049:6503199150341099 35231:35231 hsa_signal_load_relaxed({handle=140627542422784}) = 1 :2651 +6503199150341189:6503199150441275 35231:35231 hsa_signal_wait_scacquire({handle=140627542422784}, 2, 1, 100000, 1) = 1 :2652 +6503199150441365:6503199151885293 35231:35231 hsa_signal_wait_scacquire({handle=140627542422784}, 2, 1, 18446744073709551615, 0) = 0 :2653 +6503199151885543:6503199151885654 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140627542422784}, 0x7ffd04faf410) = 0 :2654 +6503199151886265:6503199151886315 35231:35231 hsa_signal_load_relaxed({handle=140627542422784}) = 0 :2655 +6503199151886465:6503199151886806 35231:35231 hsa_signal_load_relaxed({handle=140627542423040}) = 0 :2656 +6503199151886916:6503199151886996 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140627542423040}, 0x7ffd04faf540) = 0 :2657 +6503199160490042:6503199160490313 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :2659 +6503199160490493:6503199160490613 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf590, 0, 0, 0) = 0 :2660 +6503199160490753:6503199160490844 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf630, 0, 0, 0) = 0 :2661 +6503199160490984:6503199160491074 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf570, 0, 0, 0) = 0 :2662 +6503199160492216:6503199160495172 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a7ff000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :2663 +6503199160495552:6503199160495632 35231:35231 hsa_signal_load_relaxed({handle=140627542422784}) = 0 :2664 +6503199160495763:6503199160495833 35231:35231 hsa_signal_load_relaxed({handle=140627542422528}) = 0 :2665 +6503199160497115:6503199160497185 35231:35231 hsa_signal_load_relaxed({handle=140627542422656}) = 0 :2666 +6503199160497406:6503199160497476 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542422656}, 1) = void :2667 +6503199160497656:6503199160498898 35231:35231 hsa_amd_memory_async_copy(0x7fe129a00000, {handle=5671888}, 0x7fe12a7ff010, {handle=5845728}, 4194304, 0, 0, {handle=140627542422656}) = 0 :2668 +6503199160499049:6503199160499099 35231:35231 hsa_signal_load_relaxed({handle=140627542422656}) = 1 :2669 +6503199160499239:6503199160599335 35231:35231 hsa_signal_wait_scacquire({handle=140627542422656}, 2, 1, 100000, 1) = 1 :2670 +6503199160599435:6503199162208389 35231:35231 hsa_signal_wait_scacquire({handle=140627542422656}, 2, 1, 18446744073709551615, 0) = 0 :2671 +6503199162208670:6503199162208780 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140627542422656}, 0x7ffd04faf410) = 0 :2672 +6503199162209531:6503199162209591 35231:35231 hsa_signal_load_relaxed({handle=140627542422656}) = 0 :2673 +6503199162214511:6503199162214581 35231:35231 hsa_signal_load_relaxed({handle=140627542422656}) = 0 :2677 +6503199162214771:6503199162214871 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 66 :2678 +6503199162215011:6503199162215102 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 66 :2679 +6503199162215222:6503199162215292 35231:35231 hsa_signal_load_relaxed({handle=140627542422400}) = 0 :2680 +6503199162215392:6503199162215452 35231:35231 hsa_signal_load_relaxed({handle=140627542422528}) = 0 :2681 +6503199162215633:6503199162215683 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542422528}, 1) = void :2682 +6503199162215833:6503199162215903 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 66 :2683 +6503199162216083:6503199162216544 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 66) = void :2684 +6503199162217757:6503199162217977 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :2686 +6503199162218117:6503199162218227 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf590, 0, 0, 0) = 0 :2687 +6503199162218368:6503199162218458 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf630, 0, 0, 0) = 0 :2688 +6503199162218598:6503199162218698 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf570, 0, 0, 0) = 0 :2689 +6503199162219540:6503199162222265 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a3fe000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :2690 +6503199162222646:6503199162222696 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 67 :2691 +6503199162223587:6503199162223637 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 66 :2692 +6503199162223788:6503199162223858 35231:35231 hsa_signal_load_relaxed({handle=140627542422272}) = 0 :2693 +6503199162223958:6503199162224008 35231:35231 hsa_signal_load_relaxed({handle=140627542422400}) = 0 :2694 +6503199162224108:6503199162224158 35231:35231 hsa_signal_load_relaxed({handle=140627542422272}) = 0 :2695 +6503199162224279:6503199162224329 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542422400}, 1) = void :2696 +6503199162224469:6503199162224529 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 66 :2697 +6503199162224639:6503199162225080 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 67) = void :2698 +6503199162225230:6503199162225281 35231:35231 hsa_signal_load_relaxed({handle=140627542422400}) = 1 :2699 +6503199162225381:6503199162225431 35231:35231 hsa_signal_load_relaxed({handle=140627542422400}) = 1 :2700 +6503199162225571:6503199162235660 35231:35231 hsa_signal_wait_scacquire({handle=140627542422400}, 2, 1, 10000, 1) = 1 :2701 +6503199162235850:6503199162235940 35231:35231 hsa_signal_load_relaxed({handle=140627542422144}) = 0 :2702 +6503199162236050:6503199162236101 35231:35231 hsa_signal_load_relaxed({handle=140627542422272}) = 0 :2703 +6503199162236201:6503199162236251 35231:35231 hsa_signal_load_relaxed({handle=140627542422144}) = 0 :2704 +6503199162236371:6503199162236421 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542422272}, 1) = void :2705 +6503199162236622:6503199162237754 35231:35231 hsa_amd_memory_async_copy(0x7fe12a3fe010, {handle=5845728}, 0x7fe129400000, {handle=5671888}, 4194304, 1, 0x6bd430, {handle=140627542422272}) = 0 :2706 +6503199162237924:6503199162237974 35231:35231 hsa_signal_load_relaxed({handle=140627542422400}) = 1 :2707 +6503199162238084:6503199162338170 35231:35231 hsa_signal_wait_scacquire({handle=140627542422400}, 2, 1, 100000, 1) = 1 :2708 +6503199162338270:6503199162339021 35231:35231 hsa_signal_wait_scacquire({handle=140627542422400}, 2, 1, 18446744073709551615, 0) = 0 :2709 +6503199162339192:6503199162339302 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140627542422400}, 0x7ffd04faf400) = 0 :2710 +6503199162339412:6503199162339462 35231:35231 hsa_signal_load_relaxed({handle=140627542422272}) = 1 :2711 +6503199162339562:6503199162439638 35231:35231 hsa_signal_wait_scacquire({handle=140627542422272}, 2, 1, 100000, 1) = 1 :2712 +6503199162442163:6503199163883616 35231:35231 hsa_signal_wait_scacquire({handle=140627542422272}, 2, 1, 18446744073709551615, 0) = 0 :2713 +6503199163883887:6503199163883967 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140627542422272}, 0x7ffd04faf410) = 0 :2714 +6503199163884568:6503199163884618 35231:35231 hsa_signal_load_relaxed({handle=140627542422272}) = 0 :2715 +6503199163884778:6503199163884829 35231:35231 hsa_signal_load_relaxed({handle=140627542422528}) = 0 :2716 +6503199163884939:6503199163885019 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140627542422528}, 0x7ffd04faf540) = 0 :2717 +6503199172481332:6503199172481603 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :2719 +6503199172481803:6503199172481904 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf590, 0, 0, 0) = 0 :2720 +6503199172482054:6503199172482144 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf630, 0, 0, 0) = 0 :2721 +6503199172482294:6503199172482384 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf570, 0, 0, 0) = 0 :2722 +6503199172483667:6503199172486682 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a7ff000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :2723 +6503199172487083:6503199172487163 35231:35231 hsa_signal_load_relaxed({handle=140627542422272}) = 0 :2724 +6503199172487324:6503199172487404 35231:35231 hsa_signal_load_relaxed({handle=140627542422016}) = 0 :2725 +6503199172487514:6503199172487584 35231:35231 hsa_signal_load_relaxed({handle=140627542422144}) = 0 :2726 +6503199172487875:6503199172487945 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542422144}, 1) = void :2727 +6503199172488145:6503199172489097 35231:35231 hsa_amd_memory_async_copy(0x7fe129a00000, {handle=5671888}, 0x7fe12a7ff010, {handle=5845728}, 4194304, 0, 0, {handle=140627542422144}) = 0 :2728 +6503199172489237:6503199172489287 35231:35231 hsa_signal_load_relaxed({handle=140627542422144}) = 1 :2729 +6503199172489427:6503199172589503 35231:35231 hsa_signal_wait_scacquire({handle=140627542422144}, 2, 1, 100000, 1) = 1 :2730 +6503199172589593:6503199174295527 35231:35231 hsa_signal_wait_scacquire({handle=140627542422144}, 2, 1, 18446744073709551615, 0) = 0 :2731 +6503199174295788:6503199174301759 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140627542422144}, 0x7ffd04faf410) = 0 :2732 +6503199174302530:6503199174302580 35231:35231 hsa_signal_load_relaxed({handle=140627542422144}) = 0 :2733 +6503199174308682:6503199174308732 35231:35231 hsa_signal_load_relaxed({handle=140627542422144}) = 0 :2737 +6503199174309944:6503199174310034 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 68 :2738 +6503199174310224:6503199174310285 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 68 :2739 +6503199174310415:6503199174310475 35231:35231 hsa_signal_load_relaxed({handle=140627542421888}) = 0 :2740 +6503199174310595:6503199174310645 35231:35231 hsa_signal_load_relaxed({handle=140627542422016}) = 0 :2741 +6503199174310856:6503199174310906 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542422016}, 1) = void :2742 +6503199174311076:6503199174311136 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 68 :2743 +6503199174311306:6503199174311777 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 68) = void :2744 +6503199174313050:6503199174313310 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :2746 +6503199174313470:6503199174313581 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf590, 0, 0, 0) = 0 :2747 +6503199174313711:6503199174313821 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf630, 0, 0, 0) = 0 :2748 +6503199174313961:6503199174314062 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf570, 0, 0, 0) = 0 :2749 +6503199174314993:6503199174317448 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a3fe000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :2750 +6503199174317839:6503199174317919 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 69 :2751 +6503199174318019:6503199174318069 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 68 :2752 +6503199174318209:6503199174318269 35231:35231 hsa_signal_load_relaxed({handle=140627542421760}) = 0 :2753 +6503199174318369:6503199174318420 35231:35231 hsa_signal_load_relaxed({handle=140627542421888}) = 0 :2754 +6503199174318540:6503199174318580 35231:35231 hsa_signal_load_relaxed({handle=140627542421760}) = 0 :2755 +6503199174318680:6503199174318730 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542421888}, 1) = void :2756 +6503199174318850:6503199174318911 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 68 :2757 +6503199174319281:6503199174319722 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 69) = void :2758 +6503199174319842:6503199174319892 35231:35231 hsa_signal_load_relaxed({handle=140627542421888}) = 1 :2759 +6503199174319993:6503199174320043 35231:35231 hsa_signal_load_relaxed({handle=140627542421888}) = 1 :2760 +6503199174320904:6503199174331033 35231:35231 hsa_signal_wait_scacquire({handle=140627542421888}, 2, 1, 10000, 1) = 1 :2761 +6503199174331213:6503199174331263 35231:35231 hsa_signal_load_relaxed({handle=140627542421632}) = 0 :2762 +6503199174331364:6503199174331414 35231:35231 hsa_signal_load_relaxed({handle=140627542421760}) = 0 :2763 +6503199174331514:6503199174331564 35231:35231 hsa_signal_load_relaxed({handle=140627542421632}) = 0 :2764 +6503199174331664:6503199174331714 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542421760}, 1) = void :2765 +6503199174331955:6503199174333037 35231:35231 hsa_amd_memory_async_copy(0x7fe12a3fe010, {handle=5845728}, 0x7fe129400000, {handle=5671888}, 4194304, 1, 0x6bd500, {handle=140627542421760}) = 0 :2766 +6503199174333187:6503199174333237 35231:35231 hsa_signal_load_relaxed({handle=140627542421888}) = 1 :2767 +6503199174333337:6503199174433733 35231:35231 hsa_signal_wait_scacquire({handle=140627542421888}, 2, 1, 100000, 1) = 1 :2768 +6503199174433844:6503199174436118 35231:35231 hsa_signal_wait_scacquire({handle=140627542421888}, 2, 1, 18446744073709551615, 0) = 0 :2769 +6503199174436258:6503199174436378 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140627542421888}, 0x7ffd04faf400) = 0 :2770 +6503199174436489:6503199174436539 35231:35231 hsa_signal_load_relaxed({handle=140627542421760}) = 1 :2771 +6503199174436629:6503199174536714 35231:35231 hsa_signal_wait_scacquire({handle=140627542421760}, 2, 1, 100000, 1) = 1 :2772 +6503199174536805:6503199175979600 35231:35231 hsa_signal_wait_scacquire({handle=140627542421760}, 2, 1, 18446744073709551615, 0) = 0 :2773 +6503199175979861:6503199175979991 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140627542421760}, 0x7ffd04faf410) = 0 :2774 +6503199175980572:6503199175980622 35231:35231 hsa_signal_load_relaxed({handle=140627542421760}) = 0 :2775 +6503199175980793:6503199175981123 35231:35231 hsa_signal_load_relaxed({handle=140627542422016}) = 0 :2776 +6503199175981233:6503199175981314 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140627542422016}, 0x7ffd04faf540) = 0 :2777 +6503199183476585:6503199183476866 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :2779 +6503199183477036:6503199183477136 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf590, 0, 0, 0) = 0 :2780 +6503199183477286:6503199183477376 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf630, 0, 0, 0) = 0 :2781 +6503199183477517:6503199183477617 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf570, 0, 0, 0) = 0 :2782 +6503199183480082:6503199183483297 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a7ff000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :2783 +6503199183483849:6503199183483929 35231:35231 hsa_signal_load_relaxed({handle=140627542421760}) = 0 :2784 +6503199183484069:6503199183484159 35231:35231 hsa_signal_load_relaxed({handle=140627542421504}) = 0 :2785 +6503199183484269:6503199183484329 35231:35231 hsa_signal_load_relaxed({handle=140627542421632}) = 0 :2786 +6503199183484620:6503199183484690 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542421632}, 1) = void :2787 +6503199183484910:6503199183486002 35231:35231 hsa_amd_memory_async_copy(0x7fe129a00000, {handle=5671888}, 0x7fe12a7ff010, {handle=5845728}, 4194304, 0, 0, {handle=140627542421632}) = 0 :2788 +6503199183486143:6503199183486193 35231:35231 hsa_signal_load_relaxed({handle=140627542421632}) = 1 :2789 +6503199183486403:6503199183586509 35231:35231 hsa_signal_wait_scacquire({handle=140627542421632}, 2, 1, 100000, 1) = 1 :2790 +6503199183586599:6503199185198198 35231:35231 hsa_signal_wait_scacquire({handle=140627542421632}, 2, 1, 18446744073709551615, 0) = 0 :2791 +6503199185198539:6503199185198669 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140627542421632}, 0x7ffd04faf410) = 0 :2792 +6503199185199360:6503199185199410 35231:35231 hsa_signal_load_relaxed({handle=140627542421632}) = 0 :2793 +6503199185205441:6503199185205492 35231:35231 hsa_signal_load_relaxed({handle=140627542421632}) = 0 :2797 +6503199185205802:6503199185205872 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 70 :2798 +6503199185206073:6503199185206123 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 70 :2799 +6503199185206243:6503199185206313 35231:35231 hsa_signal_load_relaxed({handle=140622355554176}) = 0 :2800 +6503199185206423:6503199185206483 35231:35231 hsa_signal_load_relaxed({handle=140627542421504}) = 0 :2801 +6503199185206674:6503199185206724 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542421504}, 1) = void :2802 +6503199185206954:6503199185207024 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 70 :2803 +6503199185207405:6503199185207876 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 70) = void :2804 +6503199185208988:6503199185209218 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :2806 +6503199185209369:6503199185209469 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf590, 0, 0, 0) = 0 :2807 +6503199185210421:6503199185210531 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf630, 0, 0, 0) = 0 :2808 +6503199185210681:6503199185210781 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf570, 0, 0, 0) = 0 :2809 +6503199185211643:6503199185214308 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a3fe000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :2810 +6503199185214709:6503199185214759 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 71 :2811 +6503199185214859:6503199185214909 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 70 :2812 +6503199185215029:6503199185215089 35231:35231 hsa_signal_load_relaxed({handle=140622355554048}) = 0 :2813 +6503199185215210:6503199185215260 35231:35231 hsa_signal_load_relaxed({handle=140622355554176}) = 0 :2814 +6503199185215370:6503199185215420 35231:35231 hsa_signal_load_relaxed({handle=140622355554048}) = 0 :2815 +6503199185215520:6503199185215570 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355554176}, 1) = void :2816 +6503199185215710:6503199185215761 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 70 :2817 +6503199185215891:6503199185216342 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 71) = void :2818 +6503199185216492:6503199185216542 35231:35231 hsa_signal_load_relaxed({handle=140622355554176}) = 1 :2819 +6503199185216632:6503199185216692 35231:35231 hsa_signal_load_relaxed({handle=140622355554176}) = 1 :2820 +6503199185216813:6503199185226911 35231:35231 hsa_signal_wait_scacquire({handle=140622355554176}, 2, 1, 10000, 1) = 1 :2821 +6503199185227062:6503199185227132 35231:35231 hsa_signal_load_relaxed({handle=140622355553920}) = 0 :2822 +6503199185227232:6503199185227282 35231:35231 hsa_signal_load_relaxed({handle=140622355554048}) = 0 :2823 +6503199185227392:6503199185227442 35231:35231 hsa_signal_load_relaxed({handle=140622355553920}) = 0 :2824 +6503199185227552:6503199185227603 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355554048}, 1) = void :2825 +6503199185227803:6503199185228765 35231:35231 hsa_amd_memory_async_copy(0x7fe12a3fe010, {handle=5845728}, 0x7fe129400000, {handle=5671888}, 4194304, 1, 0x6bd5d0, {handle=140622355554048}) = 0 :2826 +6503199185228915:6503199185228965 35231:35231 hsa_signal_load_relaxed({handle=140622355554176}) = 1 :2827 +6503199185229055:6503199185329141 35231:35231 hsa_signal_wait_scacquire({handle=140622355554176}, 2, 1, 100000, 1) = 1 :2828 +6503199185329241:6503199185330033 35231:35231 hsa_signal_wait_scacquire({handle=140622355554176}, 2, 1, 18446744073709551615, 0) = 0 :2829 +6503199185330974:6503199185331054 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140622355554176}, 0x7ffd04faf400) = 0 :2830 +6503199185331185:6503199185331235 35231:35231 hsa_signal_load_relaxed({handle=140622355554048}) = 1 :2831 +6503199185331335:6503199185431421 35231:35231 hsa_signal_wait_scacquire({handle=140622355554048}, 2, 1, 100000, 1) = 1 :2832 +6503199185431521:6503199186873786 35231:35231 hsa_signal_wait_scacquire({handle=140622355554048}, 2, 1, 18446744073709551615, 0) = 0 :2833 +6503199186874046:6503199186874126 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140622355554048}, 0x7ffd04faf410) = 0 :2834 +6503199186874728:6503199186874778 35231:35231 hsa_signal_load_relaxed({handle=140622355554048}) = 0 :2835 +6503199186874978:6503199186875309 35231:35231 hsa_signal_load_relaxed({handle=140627542421504}) = 0 :2836 +6503199186875419:6503199186875509 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140627542421504}, 0x7ffd04faf540) = 0 :2837 +6503199195447498:6503199195447808 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :2839 +6503199195447999:6503199195448099 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf590, 0, 0, 0) = 0 :2840 +6503199195448249:6503199195448339 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf630, 0, 0, 0) = 0 :2841 +6503199195448479:6503199195448570 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf570, 0, 0, 0) = 0 :2842 +6503199195449762:6503199195452737 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a7ff000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :2843 +6503199195453158:6503199195453268 35231:35231 hsa_signal_load_relaxed({handle=140622355554048}) = 0 :2844 +6503199195453389:6503199195453459 35231:35231 hsa_signal_load_relaxed({handle=140622355553792}) = 0 :2845 +6503199195453569:6503199195453629 35231:35231 hsa_signal_load_relaxed({handle=140622355553920}) = 0 :2846 +6503199195453819:6503199195453889 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355553920}, 1) = void :2847 +6503199195454070:6503199195455072 35231:35231 hsa_amd_memory_async_copy(0x7fe129a00000, {handle=5671888}, 0x7fe12a7ff010, {handle=5845728}, 4194304, 0, 0, {handle=140622355553920}) = 0 :2848 +6503199195455222:6503199195455262 35231:35231 hsa_signal_load_relaxed({handle=140622355553920}) = 1 :2849 +6503199195455412:6503199195555518 35231:35231 hsa_signal_wait_scacquire({handle=140622355553920}, 2, 1, 100000, 1) = 1 :2850 +6503199195555618:6503199197162037 35231:35231 hsa_signal_wait_scacquire({handle=140622355553920}, 2, 1, 18446744073709551615, 0) = 0 :2851 +6503199197163490:6503199197163650 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140622355553920}, 0x7ffd04faf410) = 0 :2852 +6503199197164392:6503199197164442 35231:35231 hsa_signal_load_relaxed({handle=140622355553920}) = 0 :2853 +6503199197169271:6503199197169321 35231:35231 hsa_signal_load_relaxed({handle=140622355553920}) = 0 :2857 +6503199197169571:6503199197169662 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 72 :2858 +6503199197169802:6503199197169872 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 72 :2859 +6503199197170022:6503199197170102 35231:35231 hsa_signal_load_relaxed({handle=140622355553664}) = 0 :2860 +6503199197170203:6503199197170253 35231:35231 hsa_signal_load_relaxed({handle=140622355553792}) = 0 :2861 +6503199197170433:6503199197170483 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355553792}, 1) = void :2862 +6503199197170674:6503199197170734 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 72 :2863 +6503199197170904:6503199197171375 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 72) = void :2864 +6503199197172407:6503199197172647 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :2866 +6503199197172807:6503199197172898 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf590, 0, 0, 0) = 0 :2867 +6503199197173048:6503199197173138 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf630, 0, 0, 0) = 0 :2868 +6503199197173278:6503199197173379 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf570, 0, 0, 0) = 0 :2869 +6503199197174150:6503199197176424 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a3fe000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :2870 +6503199197176795:6503199197176865 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 73 :2871 +6503199197176955:6503199197177005 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 72 :2872 +6503199197177115:6503199197177176 35231:35231 hsa_signal_load_relaxed({handle=140622355553536}) = 0 :2873 +6503199197177276:6503199197177326 35231:35231 hsa_signal_load_relaxed({handle=140622355553664}) = 0 :2874 +6503199197177426:6503199197177476 35231:35231 hsa_signal_load_relaxed({handle=140622355553536}) = 0 :2875 +6503199197177586:6503199197177636 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355553664}, 1) = void :2876 +6503199197178588:6503199197178668 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 72 :2877 +6503199197178779:6503199197179229 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 73) = void :2878 +6503199197179350:6503199197179400 35231:35231 hsa_signal_load_relaxed({handle=140622355553664}) = 1 :2879 +6503199197179500:6503199197179540 35231:35231 hsa_signal_load_relaxed({handle=140622355553664}) = 1 :2880 +6503199197179670:6503199197189779 35231:35231 hsa_signal_wait_scacquire({handle=140622355553664}, 2, 1, 10000, 1) = 1 :2881 +6503199197189939:6503199197189999 35231:35231 hsa_signal_load_relaxed({handle=140622355553408}) = 0 :2882 +6503199197190100:6503199197190150 35231:35231 hsa_signal_load_relaxed({handle=140622355553536}) = 0 :2883 +6503199197190250:6503199197190300 35231:35231 hsa_signal_load_relaxed({handle=140622355553408}) = 0 :2884 +6503199197190420:6503199197190470 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355553536}, 1) = void :2885 +6503199197190671:6503199197191672 35231:35231 hsa_amd_memory_async_copy(0x7fe12a3fe010, {handle=5845728}, 0x7fe129400000, {handle=5671888}, 4194304, 1, 0x6bd6a0, {handle=140622355553536}) = 0 :2886 +6503199197191853:6503199197191903 35231:35231 hsa_signal_load_relaxed({handle=140622355553664}) = 1 :2887 +6503199197191993:6503199197292079 35231:35231 hsa_signal_wait_scacquire({handle=140622355553664}, 2, 1, 100000, 1) = 1 :2888 +6503199197292169:6503199197293622 35231:35231 hsa_signal_wait_scacquire({handle=140622355553664}, 2, 1, 18446744073709551615, 0) = 0 :2889 +6503199197293762:6503199197293892 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140622355553664}, 0x7ffd04faf400) = 0 :2890 +6503199197294002:6503199197294052 35231:35231 hsa_signal_load_relaxed({handle=140622355553536}) = 1 :2891 +6503199197294153:6503199197394228 35231:35231 hsa_signal_wait_scacquire({handle=140622355553536}, 2, 1, 100000, 1) = 1 :2892 +6503199197394318:6503199198838246 35231:35231 hsa_signal_wait_scacquire({handle=140622355553536}, 2, 1, 18446744073709551615, 0) = 0 :2893 +6503199198838487:6503199198838567 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140622355553536}, 0x7ffd04faf410) = 0 :2894 +6503199198839198:6503199198839258 35231:35231 hsa_signal_load_relaxed({handle=140622355553536}) = 0 :2895 +6503199198839399:6503199198839709 35231:35231 hsa_signal_load_relaxed({handle=140622355553792}) = 0 :2896 +6503199198839819:6503199198839910 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140622355553792}, 0x7ffd04faf540) = 0 :2897 +6503199207422107:6503199207422417 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :2899 +6503199207424081:6503199207424191 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf590, 0, 0, 0) = 0 :2900 +6503199207424331:6503199207424431 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf630, 0, 0, 0) = 0 :2901 +6503199207424571:6503199207424672 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf570, 0, 0, 0) = 0 :2902 +6503199207425814:6503199207428920 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a7ff000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :2903 +6503199207429350:6503199207429461 35231:35231 hsa_signal_load_relaxed({handle=140622355553536}) = 0 :2904 +6503199207429591:6503199207429661 35231:35231 hsa_signal_load_relaxed({handle=140622355553280}) = 0 :2905 +6503199207429781:6503199207429841 35231:35231 hsa_signal_load_relaxed({handle=140622355553408}) = 0 :2906 +6503199207430022:6503199207430082 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355553408}, 1) = void :2907 +6503199207430242:6503199207431234 35231:35231 hsa_amd_memory_async_copy(0x7fe129a00000, {handle=5671888}, 0x7fe12a7ff010, {handle=5845728}, 4194304, 0, 0, {handle=140622355553408}) = 0 :2908 +6503199207431404:6503199207431454 35231:35231 hsa_signal_load_relaxed({handle=140622355553408}) = 1 :2909 +6503199207431594:6503199207531690 35231:35231 hsa_signal_wait_scacquire({handle=140622355553408}, 2, 1, 100000, 1) = 1 :2910 +6503199207531780:6503199209115558 35231:35231 hsa_signal_wait_scacquire({handle=140622355553408}, 2, 1, 18446744073709551615, 0) = 0 :2911 +6503199209115828:6503199209115949 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140622355553408}, 0x7ffd04faf410) = 0 :2912 +6503199209116650:6503199209116700 35231:35231 hsa_signal_load_relaxed({handle=140622355553408}) = 0 :2913 +6503199209121569:6503199209121619 35231:35231 hsa_signal_load_relaxed({handle=140622355553408}) = 0 :2917 +6503199209121839:6503199209121910 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 74 :2918 +6503199209122050:6503199209122110 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 74 :2919 +6503199209122230:6503199209122290 35231:35231 hsa_signal_load_relaxed({handle=140622355553152}) = 0 :2920 +6503199209122390:6503199209122441 35231:35231 hsa_signal_load_relaxed({handle=140622355553280}) = 0 :2921 +6503199209122611:6503199209122691 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355553280}, 1) = void :2922 +6503199209122851:6503199209122911 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 74 :2923 +6503199209123813:6503199209124284 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 74) = void :2924 +6503199209125366:6503199209125586 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :2926 +6503199209125737:6503199209125837 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf590, 0, 0, 0) = 0 :2927 +6503199209125967:6503199209126067 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf630, 0, 0, 0) = 0 :2928 +6503199209126208:6503199209126298 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf570, 0, 0, 0) = 0 :2929 +6503199209127139:6503199209130065 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a3fe000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :2930 +6503199209130425:6503199209130475 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 75 :2931 +6503199209130576:6503199209130626 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 74 :2932 +6503199209130766:6503199209130826 35231:35231 hsa_signal_load_relaxed({handle=140622355553024}) = 0 :2933 +6503199209130936:6503199209130976 35231:35231 hsa_signal_load_relaxed({handle=140622355553152}) = 0 :2934 +6503199209131077:6503199209131127 35231:35231 hsa_signal_load_relaxed({handle=140622355553024}) = 0 :2935 +6503199209131247:6503199209131297 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355553152}, 1) = void :2936 +6503199209131447:6503199209131497 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 74 :2937 +6503199209131628:6503199209132078 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 75) = void :2938 +6503199209132199:6503199209132249 35231:35231 hsa_signal_load_relaxed({handle=140622355553152}) = 1 :2939 +6503199209132349:6503199209132399 35231:35231 hsa_signal_load_relaxed({handle=140622355553152}) = 1 :2940 +6503199209132509:6503199209142618 35231:35231 hsa_signal_wait_scacquire({handle=140622355553152}, 2, 1, 10000, 1) = 1 :2941 +6503199209142828:6503199209142878 35231:35231 hsa_signal_load_relaxed({handle=140622355552896}) = 0 :2942 +6503199209142989:6503199209143039 35231:35231 hsa_signal_load_relaxed({handle=140622355553024}) = 0 :2943 +6503199209143139:6503199209143189 35231:35231 hsa_signal_load_relaxed({handle=140622355552896}) = 0 :2944 +6503199209143309:6503199209143359 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355553024}, 1) = void :2945 +6503199209145824:6503199209146816 35231:35231 hsa_amd_memory_async_copy(0x7fe12a3fe010, {handle=5845728}, 0x7fe129400000, {handle=5671888}, 4194304, 1, 0x6268f0, {handle=140622355553024}) = 0 :2946 +6503199209146976:6503199209147026 35231:35231 hsa_signal_load_relaxed({handle=140622355553152}) = 1 :2947 +6503199209147116:6503199209246581 35231:35231 hsa_signal_wait_scacquire({handle=140622355553152}, 2, 1, 100000, 1) = 0 :2948 +6503199209246761:6503199209246861 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140622355553152}, 0x7ffd04faf400) = 0 :2949 +6503199209246992:6503199209247042 35231:35231 hsa_signal_load_relaxed({handle=140622355553024}) = 1 :2950 +6503199209247152:6503199209347237 35231:35231 hsa_signal_wait_scacquire({handle=140622355553024}, 2, 1, 100000, 1) = 1 :2951 +6503199209347338:6503199210792267 35231:35231 hsa_signal_wait_scacquire({handle=140622355553024}, 2, 1, 18446744073709551615, 0) = 0 :2952 +6503199210792528:6503199210792608 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140622355553024}, 0x7ffd04faf410) = 0 :2953 +6503199210793279:6503199210793319 35231:35231 hsa_signal_load_relaxed({handle=140622355553024}) = 0 :2954 +6503199210793490:6503199210793540 35231:35231 hsa_signal_load_relaxed({handle=140622355553280}) = 0 :2955 +6503199210793640:6503199210793720 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140622355553280}, 0x7ffd04faf540) = 0 :2956 +6503199219373122:6503199219373413 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :2958 +6503199219373603:6503199219373703 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf590, 0, 0, 0) = 0 :2959 +6503199219373854:6503199219373944 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf630, 0, 0, 0) = 0 :2960 +6503199219374084:6503199219374174 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf570, 0, 0, 0) = 0 :2961 +6503199219375376:6503199219378392 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a7ff000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :2962 +6503199219378813:6503199219378923 35231:35231 hsa_signal_load_relaxed({handle=140622355553024}) = 0 :2963 +6503199219379043:6503199219379123 35231:35231 hsa_signal_load_relaxed({handle=140622355552768}) = 0 :2964 +6503199219379234:6503199219379294 35231:35231 hsa_signal_load_relaxed({handle=140622355552896}) = 0 :2965 +6503199219379484:6503199219379554 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355552896}, 1) = void :2966 +6503199219379734:6503199219380917 35231:35231 hsa_amd_memory_async_copy(0x7fe129a00000, {handle=5671888}, 0x7fe12a7ff010, {handle=5845728}, 4194304, 0, 0, {handle=140622355552896}) = 0 :2967 +6503199219381047:6503199219381097 35231:35231 hsa_signal_load_relaxed({handle=140622355552896}) = 1 :2968 +6503199219382510:6503199219482635 35231:35231 hsa_signal_wait_scacquire({handle=140622355552896}, 2, 1, 100000, 1) = 1 :2969 +6503199219482735:6503199221089405 35231:35231 hsa_signal_wait_scacquire({handle=140622355552896}, 2, 1, 18446744073709551615, 0) = 0 :2970 +6503199221089936:6503199221090077 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140622355552896}, 0x7ffd04faf410) = 0 :2971 +6503199221090778:6503199221090838 35231:35231 hsa_signal_load_relaxed({handle=140622355552896}) = 0 :2972 +6503199221095847:6503199221095897 35231:35231 hsa_signal_load_relaxed({handle=140622355552896}) = 0 :2976 +6503199221096108:6503199221096178 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 76 :2977 +6503199221096338:6503199221096388 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 76 :2978 +6503199221096498:6503199221096559 35231:35231 hsa_signal_load_relaxed({handle=140622355552640}) = 0 :2979 +6503199221096679:6503199221096729 35231:35231 hsa_signal_load_relaxed({handle=140622355552768}) = 0 :2980 +6503199221096879:6503199221096929 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355552768}, 1) = void :2981 +6503199221097059:6503199221097130 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 76 :2982 +6503199221097320:6503199221097781 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 76) = void :2983 +6503199221098923:6503199221099143 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :2985 +6503199221099294:6503199221099394 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf590, 0, 0, 0) = 0 :2986 +6503199221099524:6503199221099624 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf630, 0, 0, 0) = 0 :2987 +6503199221099764:6503199221099875 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf570, 0, 0, 0) = 0 :2988 +6503199221100666:6503199221103391 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a3fe000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :2989 +6503199221103762:6503199221103822 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 77 :2990 +6503199221103912:6503199221103962 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 76 :2991 +6503199221104082:6503199221104163 35231:35231 hsa_signal_load_relaxed({handle=140622355552512}) = 0 :2992 +6503199221104263:6503199221104313 35231:35231 hsa_signal_load_relaxed({handle=140622355552640}) = 0 :2993 +6503199221105255:6503199221105305 35231:35231 hsa_signal_load_relaxed({handle=140622355552512}) = 0 :2994 +6503199221105425:6503199221105475 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355552640}, 1) = void :2995 +6503199221105605:6503199221105665 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 76 :2996 +6503199221106026:6503199221106477 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 77) = void :2997 +6503199221106607:6503199221106657 35231:35231 hsa_signal_load_relaxed({handle=140622355552640}) = 1 :2998 +6503199221106747:6503199221106798 35231:35231 hsa_signal_load_relaxed({handle=140622355552640}) = 1 :2999 +6503199221106948:6503199221117057 35231:35231 hsa_signal_wait_scacquire({handle=140622355552640}, 2, 1, 10000, 1) = 1 :3000 +6503199221117237:6503199221117297 35231:35231 hsa_signal_load_relaxed({handle=140622355552384}) = 0 :3001 +6503199221117397:6503199221117447 35231:35231 hsa_signal_load_relaxed({handle=140622355552512}) = 0 :3002 +6503199221117547:6503199221117598 35231:35231 hsa_signal_load_relaxed({handle=140622355552384}) = 0 :3003 +6503199221117718:6503199221117758 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355552512}, 1) = void :3004 +6503199221117968:6503199221118940 35231:35231 hsa_amd_memory_async_copy(0x7fe12a3fe010, {handle=5845728}, 0x7fe129400000, {handle=5671888}, 4194304, 1, 0x626990, {handle=140622355552512}) = 0 :3005 +6503199221119140:6503199221119191 35231:35231 hsa_signal_load_relaxed({handle=140622355552640}) = 1 :3006 +6503199221119301:6503199221219386 35231:35231 hsa_signal_wait_scacquire({handle=140622355552640}, 2, 1, 100000, 1) = 1 :3007 +6503199221219487:6503199221219997 35231:35231 hsa_signal_wait_scacquire({handle=140622355552640}, 2, 1, 18446744073709551615, 0) = 0 :3008 +6503199221220158:6503199221220238 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140622355552640}, 0x7ffd04faf400) = 0 :3009 +6503199221220348:6503199221220398 35231:35231 hsa_signal_load_relaxed({handle=140622355552512}) = 1 :3010 +6503199221220508:6503199221320574 35231:35231 hsa_signal_wait_scacquire({handle=140622355552512}, 2, 1, 100000, 1) = 1 :3011 +6503199221320674:6503199222765765 35231:35231 hsa_signal_wait_scacquire({handle=140622355552512}, 2, 1, 18446744073709551615, 0) = 0 :3012 +6503199222766035:6503199222766125 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140622355552512}, 0x7ffd04faf410) = 0 :3013 +6503199222766746:6503199222766796 35231:35231 hsa_signal_load_relaxed({handle=140622355552512}) = 0 :3014 +6503199222767758:6503199222767798 35231:35231 hsa_signal_load_relaxed({handle=140622355552768}) = 0 :3015 +6503199222767919:6503199222767999 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140622355552768}, 0x7ffd04faf540) = 0 :3016 +6503199231349455:6503199231349765 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :3018 +6503199231349956:6503199231350056 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf590, 0, 0, 0) = 0 :3019 +6503199231350196:6503199231350286 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf630, 0, 0, 0) = 0 :3020 +6503199231350427:6503199231350527 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf570, 0, 0, 0) = 0 :3021 +6503199231351679:6503199231354584 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a7ff000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :3022 +6503199231355005:6503199231355115 35231:35231 hsa_signal_load_relaxed({handle=140622355552512}) = 0 :3023 +6503199231355246:6503199231355316 35231:35231 hsa_signal_load_relaxed({handle=140622355552256}) = 0 :3024 +6503199231355426:6503199231355486 35231:35231 hsa_signal_load_relaxed({handle=140622355552384}) = 0 :3025 +6503199231355666:6503199231355736 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355552384}, 1) = void :3026 +6503199231355917:6503199231356899 35231:35231 hsa_amd_memory_async_copy(0x7fe129a00000, {handle=5671888}, 0x7fe12a7ff010, {handle=5845728}, 4194304, 0, 0, {handle=140622355552384}) = 0 :3027 +6503199231357039:6503199231357089 35231:35231 hsa_signal_load_relaxed({handle=140622355552384}) = 1 :3028 +6503199231357229:6503199231457325 35231:35231 hsa_signal_wait_scacquire({handle=140622355552384}, 2, 1, 100000, 1) = 1 :3029 +6503199231457425:6503199233090975 35231:35231 hsa_signal_wait_scacquire({handle=140622355552384}, 2, 1, 18446744073709551615, 0) = 0 :3030 +6503199233091235:6503199233091365 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140622355552384}, 0x7ffd04faf410) = 0 :3031 +6503199233092117:6503199233092167 35231:35231 hsa_signal_load_relaxed({handle=140622355552384}) = 0 :3032 +6503199233096034:6503199233096084 35231:35231 hsa_signal_load_relaxed({handle=140622355552384}) = 0 :3036 +6503199233096555:6503199233096916 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 78 :3037 +6503199233097046:6503199233097126 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 78 :3038 +6503199233097246:6503199233097316 35231:35231 hsa_signal_load_relaxed({handle=140622355552128}) = 0 :3039 +6503199233097417:6503199233097487 35231:35231 hsa_signal_load_relaxed({handle=140622355552256}) = 0 :3040 +6503199233099130:6503199233099180 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355552256}, 1) = void :3041 +6503199233099390:6503199233099450 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 78 :3042 +6503199233099621:6503199233100082 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 78) = void :3043 +6503199233101494:6503199233101695 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :3045 +6503199233101865:6503199233101975 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf590, 0, 0, 0) = 0 :3046 +6503199233102105:6503199233102196 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf630, 0, 0, 0) = 0 :3047 +6503199233102336:6503199233102436 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf570, 0, 0, 0) = 0 :3048 +6503199233103207:6503199233105582 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a3fe000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :3049 +6503199233106013:6503199233106063 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 79 :3050 +6503199233106163:6503199233106213 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 78 :3051 +6503199233106353:6503199233106433 35231:35231 hsa_signal_load_relaxed({handle=140627542423296}) = 0 :3052 +6503199233106534:6503199233106584 35231:35231 hsa_signal_load_relaxed({handle=140622355552128}) = 0 :3053 +6503199233106684:6503199233106724 35231:35231 hsa_signal_load_relaxed({handle=140627542423296}) = 0 :3054 +6503199233106824:6503199233106874 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355552128}, 1) = void :3055 +6503199233107014:6503199233107065 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 78 :3056 +6503199233107175:6503199233107616 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 79) = void :3057 +6503199233107766:6503199233107816 35231:35231 hsa_signal_load_relaxed({handle=140622355552128}) = 1 :3058 +6503199233107916:6503199233107966 35231:35231 hsa_signal_load_relaxed({handle=140622355552128}) = 1 :3059 +6503199233108096:6503199233118195 35231:35231 hsa_signal_wait_scacquire({handle=140622355552128}, 2, 1, 10000, 1) = 1 :3060 +6503199233118376:6503199233118436 35231:35231 hsa_signal_load_relaxed({handle=140627542423168}) = 0 :3061 +6503199233118536:6503199233118586 35231:35231 hsa_signal_load_relaxed({handle=140627542423296}) = 0 :3062 +6503199233119488:6503199233119548 35231:35231 hsa_signal_load_relaxed({handle=140627542423168}) = 0 :3063 +6503199233119678:6503199233119728 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542423296}, 1) = void :3064 +6503199233119948:6503199233120920 35231:35231 hsa_amd_memory_async_copy(0x7fe12a3fe010, {handle=5845728}, 0x7fe129400000, {handle=5671888}, 4194304, 1, 0x626a60, {handle=140627542423296}) = 0 :3065 +6503199233121091:6503199233121141 35231:35231 hsa_signal_load_relaxed({handle=140622355552128}) = 1 :3066 +6503199233121241:6503199233221326 35231:35231 hsa_signal_wait_scacquire({handle=140622355552128}, 2, 1, 100000, 1) = 1 :3067 +6503199233221427:6503199233222579 35231:35231 hsa_signal_wait_scacquire({handle=140622355552128}, 2, 1, 18446744073709551615, 0) = 0 :3068 +6503199233222759:6503199233222849 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140622355552128}, 0x7ffd04faf400) = 0 :3069 +6503199233222960:6503199233223010 35231:35231 hsa_signal_load_relaxed({handle=140627542423296}) = 1 :3070 +6503199233223120:6503199233323205 35231:35231 hsa_signal_wait_scacquire({handle=140627542423296}, 2, 1, 100000, 1) = 1 :3071 +6503199233323306:6503199234767204 35231:35231 hsa_signal_wait_scacquire({handle=140627542423296}, 2, 1, 18446744073709551615, 0) = 0 :3072 +6503199234767484:6503199234767574 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140627542423296}, 0x7ffd04faf410) = 0 :3073 +6503199234768145:6503199234768206 35231:35231 hsa_signal_load_relaxed({handle=140627542423296}) = 0 :3074 +6503199234768376:6503199234768707 35231:35231 hsa_signal_load_relaxed({handle=140622355552256}) = 0 :3075 +6503199234768827:6503199234768907 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140622355552256}, 0x7ffd04faf540) = 0 :3076 +6503199243373927:6503199243374217 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :3078 +6503199243374427:6503199243374538 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf590, 0, 0, 0) = 0 :3079 +6503199243374708:6503199243374798 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf630, 0, 0, 0) = 0 :3080 +6503199243374938:6503199243375039 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf570, 0, 0, 0) = 0 :3081 +6503199243376351:6503199243379427 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a7ff000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :3082 +6503199243379878:6503199243379958 35231:35231 hsa_signal_load_relaxed({handle=140627542423296}) = 0 :3083 +6503199243380068:6503199243380148 35231:35231 hsa_signal_load_relaxed({handle=140627542423040}) = 0 :3084 +6503199243381681:6503199243381741 35231:35231 hsa_signal_load_relaxed({handle=140627542423168}) = 0 :3085 +6503199243382002:6503199243382072 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542423168}, 1) = void :3086 +6503199243382262:6503199243383464 35231:35231 hsa_amd_memory_async_copy(0x7fe129a00000, {handle=5671888}, 0x7fe12a7ff010, {handle=5845728}, 4194304, 0, 0, {handle=140627542423168}) = 0 :3087 +6503199243383604:6503199243383675 35231:35231 hsa_signal_load_relaxed({handle=140627542423168}) = 1 :3088 +6503199243383815:6503199243483901 35231:35231 hsa_signal_wait_scacquire({handle=140627542423168}, 2, 1, 100000, 1) = 1 :3089 +6503199243484011:6503199245115577 35231:35231 hsa_signal_wait_scacquire({handle=140627542423168}, 2, 1, 18446744073709551615, 0) = 0 :3090 +6503199245115857:6503199245121638 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140627542423168}, 0x7ffd04faf410) = 0 :3091 +6503199245122430:6503199245122490 35231:35231 hsa_signal_load_relaxed({handle=140627542423168}) = 0 :3092 +6503199245126467:6503199245126527 35231:35231 hsa_signal_load_relaxed({handle=140627542423168}) = 0 :3096 +6503199245126738:6503199245126818 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 80 :3097 +6503199245126948:6503199245127028 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 80 :3098 +6503199245127168:6503199245127238 35231:35231 hsa_signal_load_relaxed({handle=140627542422912}) = 0 :3099 +6503199245127339:6503199245127409 35231:35231 hsa_signal_load_relaxed({handle=140627542423040}) = 0 :3100 +6503199245127579:6503199245127629 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542423040}, 1) = void :3101 +6503199245127759:6503199245127830 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 80 :3102 +6503199245128000:6503199245128461 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 80) = void :3103 +6503199245130695:6503199245130925 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :3105 +6503199245131076:6503199245131186 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf590, 0, 0, 0) = 0 :3106 +6503199245131326:6503199245131426 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf630, 0, 0, 0) = 0 :3107 +6503199245131556:6503199245131657 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf570, 0, 0, 0) = 0 :3108 +6503199245132548:6503199245134953 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a3fe000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :3109 +6503199245135364:6503199245135414 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 81 :3110 +6503199245136476:6503199245136546 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 80 :3111 +6503199245136666:6503199245136746 35231:35231 hsa_signal_load_relaxed({handle=140627542422784}) = 0 :3112 +6503199245136856:6503199245136906 35231:35231 hsa_signal_load_relaxed({handle=140627542422912}) = 0 :3113 +6503199245137027:6503199245137067 35231:35231 hsa_signal_load_relaxed({handle=140627542422784}) = 0 :3114 +6503199245137207:6503199245137257 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542422912}, 1) = void :3115 +6503199245137387:6503199245137437 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 80 :3116 +6503199245137808:6503199245138249 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 81) = void :3117 +6503199245138369:6503199245138419 35231:35231 hsa_signal_load_relaxed({handle=140627542422912}) = 1 :3118 +6503199245138529:6503199245138580 35231:35231 hsa_signal_load_relaxed({handle=140627542422912}) = 1 :3119 +6503199245138680:6503199245148768 35231:35231 hsa_signal_wait_scacquire({handle=140627542422912}, 2, 1, 10000, 1) = 1 :3120 +6503199245148909:6503199245148969 35231:35231 hsa_signal_load_relaxed({handle=140627542422656}) = 0 :3121 +6503199245149079:6503199245149129 35231:35231 hsa_signal_load_relaxed({handle=140627542422784}) = 0 :3122 +6503199245149229:6503199245149279 35231:35231 hsa_signal_load_relaxed({handle=140627542422656}) = 0 :3123 +6503199245149390:6503199245149440 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542422784}, 1) = void :3124 +6503199245149670:6503199245150702 35231:35231 hsa_amd_memory_async_copy(0x7fe12a3fe010, {handle=5845728}, 0x7fe129400000, {handle=5671888}, 4194304, 1, 0x626b30, {handle=140627542422784}) = 0 :3125 +6503199245150862:6503199245150912 35231:35231 hsa_signal_load_relaxed({handle=140627542422912}) = 1 :3126 +6503199245151013:6503199245251098 35231:35231 hsa_signal_wait_scacquire({handle=140627542422912}, 2, 1, 100000, 1) = 0 :3127 +6503199245251228:6503199245251309 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140627542422912}, 0x7ffd04faf400) = 0 :3128 +6503199245251419:6503199245251469 35231:35231 hsa_signal_load_relaxed({handle=140627542422784}) = 1 :3129 +6503199245251569:6503199245351645 35231:35231 hsa_signal_wait_scacquire({handle=140627542422784}, 2, 1, 100000, 1) = 1 :3130 +6503199245351745:6503199246794210 35231:35231 hsa_signal_wait_scacquire({handle=140627542422784}, 2, 1, 18446744073709551615, 0) = 0 :3131 +6503199246795292:6503199246795613 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140627542422784}, 0x7ffd04faf410) = 0 :3132 +6503199246796194:6503199246796254 35231:35231 hsa_signal_load_relaxed({handle=140627542422784}) = 0 :3133 +6503199246796424:6503199246796775 35231:35231 hsa_signal_load_relaxed({handle=140627542423040}) = 0 :3134 +6503199246796875:6503199246796955 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140627542423040}, 0x7ffd04faf540) = 0 :3135 +6503199255429176:6503199255429516 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :3137 +6503199255429717:6503199255429817 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf590, 0, 0, 0) = 0 :3138 +6503199255429977:6503199255430077 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf630, 0, 0, 0) = 0 :3139 +6503199255430218:6503199255430318 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf570, 0, 0, 0) = 0 :3140 +6503199255431560:6503199255434596 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a7ff000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :3141 +6503199255434976:6503199255435056 35231:35231 hsa_signal_load_relaxed({handle=140627542422784}) = 0 :3142 +6503199255435197:6503199255435267 35231:35231 hsa_signal_load_relaxed({handle=140627542422528}) = 0 :3143 +6503199255435387:6503199255435447 35231:35231 hsa_signal_load_relaxed({handle=140627542422656}) = 0 :3144 +6503199255435658:6503199255435718 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542422656}, 1) = void :3145 +6503199255435918:6503199255437110 35231:35231 hsa_amd_memory_async_copy(0x7fe129a00000, {handle=5671888}, 0x7fe12a7ff010, {handle=5845728}, 4194304, 0, 0, {handle=140627542422656}) = 0 :3146 +6503199255437241:6503199255437291 35231:35231 hsa_signal_load_relaxed({handle=140627542422656}) = 1 :3147 +6503199255437431:6503199255537527 35231:35231 hsa_signal_wait_scacquire({handle=140627542422656}, 2, 1, 100000, 1) = 1 :3148 +6503199255537627:6503199257144126 35231:35231 hsa_signal_wait_scacquire({handle=140627542422656}, 2, 1, 18446744073709551615, 0) = 0 :3149 +6503199257144387:6503199257144517 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140627542422656}, 0x7ffd04faf410) = 0 :3150 +6503199257145268:6503199257145319 35231:35231 hsa_signal_load_relaxed({handle=140627542422656}) = 0 :3151 +6503199257149196:6503199257149246 35231:35231 hsa_signal_load_relaxed({handle=140627542422656}) = 0 :3155 +6503199257149476:6503199257149546 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 82 :3156 +6503199257150929:6503199257151009 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 82 :3157 +6503199257151149:6503199257151199 35231:35231 hsa_signal_load_relaxed({handle=140627542422400}) = 0 :3158 +6503199257151310:6503199257151360 35231:35231 hsa_signal_load_relaxed({handle=140627542422528}) = 0 :3159 +6503199257151540:6503199257151590 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542422528}, 1) = void :3160 +6503199257151740:6503199257151801 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 82 :3161 +6503199257151981:6503199257152432 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 82) = void :3162 +6503199257155718:6503199257155938 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :3164 +6503199257156099:6503199257156209 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf590, 0, 0, 0) = 0 :3165 +6503199257156359:6503199257156449 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf630, 0, 0, 0) = 0 :3166 +6503199257156589:6503199257156700 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf570, 0, 0, 0) = 0 :3167 +6503199257157571:6503199257160226 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a3fe000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :3168 +6503199257160607:6503199257160657 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 83 :3169 +6503199257160757:6503199257160807 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 82 :3170 +6503199257160928:6503199257161018 35231:35231 hsa_signal_load_relaxed({handle=140627542422272}) = 0 :3171 +6503199257161118:6503199257161168 35231:35231 hsa_signal_load_relaxed({handle=140627542422400}) = 0 :3172 +6503199257161278:6503199257161328 35231:35231 hsa_signal_load_relaxed({handle=140627542422272}) = 0 :3173 +6503199257161418:6503199257161469 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542422400}, 1) = void :3174 +6503199257161609:6503199257161669 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 82 :3175 +6503199257161779:6503199257162220 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 83) = void :3176 +6503199257162370:6503199257162440 35231:35231 hsa_signal_load_relaxed({handle=140627542422400}) = 1 :3177 +6503199257162541:6503199257162591 35231:35231 hsa_signal_load_relaxed({handle=140627542422400}) = 1 :3178 +6503199257162731:6503199257172830 35231:35231 hsa_signal_wait_scacquire({handle=140627542422400}, 2, 1, 10000, 1) = 1 :3179 +6503199257173781:6503199257173862 35231:35231 hsa_signal_load_relaxed({handle=140627542422144}) = 0 :3180 +6503199257173982:6503199257174032 35231:35231 hsa_signal_load_relaxed({handle=140627542422272}) = 0 :3181 +6503199257174142:6503199257174182 35231:35231 hsa_signal_load_relaxed({handle=140627542422144}) = 0 :3182 +6503199257174282:6503199257174332 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542422272}, 1) = void :3183 +6503199257174573:6503199257175665 35231:35231 hsa_amd_memory_async_copy(0x7fe12a3fe010, {handle=5845728}, 0x7fe129400000, {handle=5671888}, 4194304, 1, 0x626c00, {handle=140627542422272}) = 0 :3184 +6503199257175825:6503199257175875 35231:35231 hsa_signal_load_relaxed({handle=140627542422400}) = 1 :3185 +6503199257175975:6503199257274819 35231:35231 hsa_signal_wait_scacquire({handle=140627542422400}, 2, 1, 100000, 1) = 0 :3186 +6503199257274969:6503199257275049 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140627542422400}, 0x7ffd04faf400) = 0 :3187 +6503199257275149:6503199257275199 35231:35231 hsa_signal_load_relaxed({handle=140627542422272}) = 1 :3188 +6503199257275300:6503199257375435 35231:35231 hsa_signal_wait_scacquire({handle=140627542422272}, 2, 1, 100000, 1) = 1 :3189 +6503199257375556:6503199258820976 35231:35231 hsa_signal_wait_scacquire({handle=140627542422272}, 2, 1, 18446744073709551615, 0) = 0 :3190 +6503199258821237:6503199258821357 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140627542422272}, 0x7ffd04faf410) = 0 :3191 +6503199258822138:6503199258822189 35231:35231 hsa_signal_load_relaxed({handle=140627542422272}) = 0 :3192 +6503199258822389:6503199258822719 35231:35231 hsa_signal_load_relaxed({handle=140627542422528}) = 0 :3193 +6503199258822830:6503199258822910 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140627542422528}, 0x7ffd04faf540) = 0 :3194 +6503199267406540:6503199267407011 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :3196 +6503199267407241:6503199267407361 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf590, 0, 0, 0) = 0 :3197 +6503199267407502:6503199267407592 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf630, 0, 0, 0) = 0 :3198 +6503199267407742:6503199267407842 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf570, 0, 0, 0) = 0 :3199 +6503199267409295:6503199267412481 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a7ff000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :3200 +6503199267412952:6503199267413032 35231:35231 hsa_signal_load_relaxed({handle=140627542422272}) = 0 :3201 +6503199267415206:6503199267415286 35231:35231 hsa_signal_load_relaxed({handle=140627542422016}) = 0 :3202 +6503199267415396:6503199267415466 35231:35231 hsa_signal_load_relaxed({handle=140627542422144}) = 0 :3203 +6503199267415717:6503199267415817 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542422144}, 1) = void :3204 +6503199267416037:6503199267417109 35231:35231 hsa_amd_memory_async_copy(0x7fe129a00000, {handle=5671888}, 0x7fe12a7ff010, {handle=5845728}, 4194304, 0, 0, {handle=140627542422144}) = 0 :3205 +6503199267417270:6503199267417320 35231:35231 hsa_signal_load_relaxed({handle=140627542422144}) = 1 :3206 +6503199267417470:6503199267517596 35231:35231 hsa_signal_wait_scacquire({handle=140627542422144}, 2, 1, 100000, 1) = 1 :3207 +6503199267517696:6503199269127051 35231:35231 hsa_signal_wait_scacquire({handle=140627542422144}, 2, 1, 18446744073709551615, 0) = 0 :3208 +6503199269127341:6503199269127752 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140627542422144}, 0x7ffd04faf410) = 0 :3209 +6503199269128563:6503199269128614 35231:35231 hsa_signal_load_relaxed({handle=140627542422144}) = 0 :3210 +6503199269134214:6503199269134274 35231:35231 hsa_signal_load_relaxed({handle=140627542422144}) = 0 :3214 +6503199269134504:6503199269134575 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 84 :3215 +6503199269134735:6503199269134815 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 84 :3216 +6503199269134935:6503199269135005 35231:35231 hsa_signal_load_relaxed({handle=140627542421888}) = 0 :3217 +6503199269135116:6503199269135176 35231:35231 hsa_signal_load_relaxed({handle=140627542422016}) = 0 :3218 +6503199269135346:6503199269135406 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542422016}, 1) = void :3219 +6503199269135566:6503199269135627 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 84 :3220 +6503199269135817:6503199269136328 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 84) = void :3221 +6503199269137430:6503199269137680 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :3223 +6503199269137831:6503199269137941 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf590, 0, 0, 0) = 0 :3224 +6503199269138071:6503199269138171 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf630, 0, 0, 0) = 0 :3225 +6503199269138312:6503199269138422 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf570, 0, 0, 0) = 0 :3226 +6503199269139985:6503199269142499 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a3fe000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :3227 +6503199269142880:6503199269142930 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 85 :3228 +6503199269143030:6503199269143080 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 84 :3229 +6503199269143191:6503199269143251 35231:35231 hsa_signal_load_relaxed({handle=140627542421760}) = 0 :3230 +6503199269143361:6503199269143411 35231:35231 hsa_signal_load_relaxed({handle=140627542421888}) = 0 :3231 +6503199269143551:6503199269143591 35231:35231 hsa_signal_load_relaxed({handle=140627542421760}) = 0 :3232 +6503199269143692:6503199269143752 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542421888}, 1) = void :3233 +6503199269143872:6503199269143922 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 84 :3234 +6503199269144052:6503199269144483 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 85) = void :3235 +6503199269144613:6503199269144663 35231:35231 hsa_signal_load_relaxed({handle=140627542421888}) = 1 :3236 +6503199269144754:6503199269144804 35231:35231 hsa_signal_load_relaxed({handle=140627542421888}) = 1 :3237 +6503199269144914:6503199269155003 35231:35231 hsa_signal_wait_scacquire({handle=140627542421888}, 2, 1, 10000, 1) = 1 :3238 +6503199269155123:6503199269155193 35231:35231 hsa_signal_load_relaxed({handle=140627542421632}) = 0 :3239 +6503199269155303:6503199269155353 35231:35231 hsa_signal_load_relaxed({handle=140627542421760}) = 0 :3240 +6503199269155463:6503199269155513 35231:35231 hsa_signal_load_relaxed({handle=140627542421632}) = 0 :3241 +6503199269155614:6503199269155664 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542421760}, 1) = void :3242 +6503199269155854:6503199269156896 35231:35231 hsa_amd_memory_async_copy(0x7fe12a3fe010, {handle=5845728}, 0x7fe129400000, {handle=5671888}, 4194304, 1, 0x626cd0, {handle=140627542421760}) = 0 :3243 +6503199269157046:6503199269157096 35231:35231 hsa_signal_load_relaxed({handle=140627542421888}) = 1 :3244 +6503199269157207:6503199269257292 35231:35231 hsa_signal_wait_scacquire({handle=140627542421888}, 2, 1, 100000, 1) = 1 :3245 +6503199269257392:6503199269258615 35231:35231 hsa_signal_wait_scacquire({handle=140627542421888}, 2, 1, 18446744073709551615, 0) = 0 :3246 +6503199269258795:6503199269258905 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140627542421888}, 0x7ffd04faf400) = 0 :3247 +6503199269259025:6503199269259076 35231:35231 hsa_signal_load_relaxed({handle=140627542421760}) = 1 :3248 +6503199269259977:6503199269360053 35231:35231 hsa_signal_wait_scacquire({handle=140627542421760}, 2, 1, 100000, 1) = 1 :3249 +6503199269360163:6503199270802348 35231:35231 hsa_signal_wait_scacquire({handle=140627542421760}, 2, 1, 18446744073709551615, 0) = 0 :3250 +6503199270802608:6503199270802709 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140627542421760}, 0x7ffd04faf410) = 0 :3251 +6503199270803330:6503199270803380 35231:35231 hsa_signal_load_relaxed({handle=140627542421760}) = 0 :3252 +6503199270803540:6503199270803871 35231:35231 hsa_signal_load_relaxed({handle=140627542422016}) = 0 :3253 +6503199270803991:6503199270804081 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140627542422016}, 0x7ffd04faf540) = 0 :3254 +6503199279388122:6503199279388443 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :3256 +6503199279388633:6503199279388733 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf590, 0, 0, 0) = 0 :3257 +6503199279388873:6503199279388963 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf630, 0, 0, 0) = 0 :3258 +6503199279389184:6503199279389274 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf570, 0, 0, 0) = 0 :3259 +6503199279390536:6503199279393572 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a7ff000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :3260 +6503199279394073:6503199279394143 35231:35231 hsa_signal_load_relaxed({handle=140627542421760}) = 0 :3261 +6503199279394263:6503199279394353 35231:35231 hsa_signal_load_relaxed({handle=140627542421504}) = 0 :3262 +6503199279394464:6503199279394524 35231:35231 hsa_signal_load_relaxed({handle=140627542421632}) = 0 :3263 +6503199279394754:6503199279394814 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542421632}, 1) = void :3264 +6503199279394995:6503199279395976 35231:35231 hsa_amd_memory_async_copy(0x7fe129a00000, {handle=5671888}, 0x7fe12a7ff010, {handle=5845728}, 4194304, 0, 0, {handle=140627542421632}) = 0 :3265 +6503199279396127:6503199279396177 35231:35231 hsa_signal_load_relaxed({handle=140627542421632}) = 1 :3266 +6503199279396317:6503199279496433 35231:35231 hsa_signal_wait_scacquire({handle=140627542421632}, 2, 1, 100000, 1) = 1 :3267 +6503199279496523:6503199281101650 35231:35231 hsa_signal_wait_scacquire({handle=140627542421632}, 2, 1, 18446744073709551615, 0) = 0 :3268 +6503199281101911:6503199281102021 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140627542421632}, 0x7ffd04faf410) = 0 :3269 +6503199281102722:6503199281102772 35231:35231 hsa_signal_load_relaxed({handle=140627542421632}) = 0 :3270 +6503199281109164:6503199281109214 35231:35231 hsa_signal_load_relaxed({handle=140627542421632}) = 0 :3274 +6503199281109445:6503199281109515 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 86 :3275 +6503199281109645:6503199281109976 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 86 :3276 +6503199281110106:6503199281110196 35231:35231 hsa_signal_load_relaxed({handle=140622355554176}) = 0 :3277 +6503199281110306:6503199281110376 35231:35231 hsa_signal_load_relaxed({handle=140627542421504}) = 0 :3278 +6503199281110537:6503199281110587 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542421504}, 1) = void :3279 +6503199281110737:6503199281110807 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 86 :3280 +6503199281110977:6503199281111438 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 86) = void :3281 +6503199281112570:6503199281112771 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :3283 +6503199281112911:6503199281113011 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf590, 0, 0, 0) = 0 :3284 +6503199281113141:6503199281113242 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf630, 0, 0, 0) = 0 :3285 +6503199281113382:6503199281113482 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf570, 0, 0, 0) = 0 :3286 +6503199281114334:6503199281116768 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a3fe000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :3287 +6503199281117149:6503199281117199 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 87 :3288 +6503199281117299:6503199281117349 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 86 :3289 +6503199281117469:6503199281117540 35231:35231 hsa_signal_load_relaxed({handle=140622355554048}) = 0 :3290 +6503199281117660:6503199281117710 35231:35231 hsa_signal_load_relaxed({handle=140622355554176}) = 0 :3291 +6503199281117820:6503199281117870 35231:35231 hsa_signal_load_relaxed({handle=140622355554048}) = 0 :3292 +6503199281117990:6503199281118041 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355554176}, 1) = void :3293 +6503199281118171:6503199281118231 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 86 :3294 +6503199281118351:6503199281118792 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 87) = void :3295 +6503199281119734:6503199281119784 35231:35231 hsa_signal_load_relaxed({handle=140622355554176}) = 1 :3296 +6503199281119904:6503199281119954 35231:35231 hsa_signal_load_relaxed({handle=140622355554176}) = 1 :3297 +6503199281120054:6503199281130153 35231:35231 hsa_signal_wait_scacquire({handle=140622355554176}, 2, 1, 10000, 1) = 1 :3298 +6503199281130293:6503199281130363 35231:35231 hsa_signal_load_relaxed({handle=140622355553920}) = 0 :3299 +6503199281130464:6503199281130514 35231:35231 hsa_signal_load_relaxed({handle=140622355554048}) = 0 :3300 +6503199281130614:6503199281130664 35231:35231 hsa_signal_load_relaxed({handle=140622355553920}) = 0 :3301 +6503199281130774:6503199281130814 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355554048}, 1) = void :3302 +6503199281131025:6503199281132046 35231:35231 hsa_amd_memory_async_copy(0x7fe12a3fe010, {handle=5845728}, 0x7fe129400000, {handle=5671888}, 4194304, 1, 0x626da0, {handle=140622355554048}) = 0 :3303 +6503199281132207:6503199281132257 35231:35231 hsa_signal_load_relaxed({handle=140622355554176}) = 1 :3304 +6503199281132367:6503199281232453 35231:35231 hsa_signal_wait_scacquire({handle=140622355554176}, 2, 1, 100000, 1) = 1 :3305 +6503199281232553:6503199281234186 35231:35231 hsa_signal_wait_scacquire({handle=140622355554176}, 2, 1, 18446744073709551615, 0) = 0 :3306 +6503199281234356:6503199281234466 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140622355554176}, 0x7ffd04faf400) = 0 :3307 +6503199281234587:6503199281234637 35231:35231 hsa_signal_load_relaxed({handle=140622355554048}) = 1 :3308 +6503199281234747:6503199281334833 35231:35231 hsa_signal_wait_scacquire({handle=140622355554048}, 2, 1, 100000, 1) = 1 :3309 +6503199281334943:6503199282778170 35231:35231 hsa_signal_wait_scacquire({handle=140622355554048}, 2, 1, 18446744073709551615, 0) = 0 :3310 +6503199282778420:6503199282778510 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140622355554048}, 0x7ffd04faf410) = 0 :3311 +6503199282779192:6503199282779242 35231:35231 hsa_signal_load_relaxed({handle=140622355554048}) = 0 :3312 +6503199282779402:6503199282779743 35231:35231 hsa_signal_load_relaxed({handle=140627542421504}) = 0 :3313 +6503199282779863:6503199282779943 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140627542421504}, 0x7ffd04faf540) = 0 :3314 +6503199291363783:6503199291364074 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :3316 +6503199291364274:6503199291364374 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf590, 0, 0, 0) = 0 :3317 +6503199291364525:6503199291364615 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf630, 0, 0, 0) = 0 :3318 +6503199291366258:6503199291366378 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf570, 0, 0, 0) = 0 :3319 +6503199291368582:6503199291371167 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a7ff000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :3320 +6503199291371628:6503199291371728 35231:35231 hsa_signal_load_relaxed({handle=140622355554048}) = 0 :3321 +6503199291371868:6503199291371948 35231:35231 hsa_signal_load_relaxed({handle=140622355553792}) = 0 :3322 +6503199291372059:6503199291372119 35231:35231 hsa_signal_load_relaxed({handle=140622355553920}) = 0 :3323 +6503199291372359:6503199291372419 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355553920}, 1) = void :3324 +6503199291372600:6503199291373852 35231:35231 hsa_amd_memory_async_copy(0x7fe129a00000, {handle=5671888}, 0x7fe12a7ff010, {handle=5845728}, 4194304, 0, 0, {handle=140622355553920}) = 0 :3325 +6503199291373992:6503199291374042 35231:35231 hsa_signal_load_relaxed({handle=140622355553920}) = 1 :3326 +6503199291374183:6503199291474288 35231:35231 hsa_signal_wait_scacquire({handle=140622355553920}, 2, 1, 100000, 1) = 1 :3327 +6503199291474388:6503199293083092 35231:35231 hsa_signal_wait_scacquire({handle=140622355553920}, 2, 1, 18446744073709551615, 0) = 0 :3328 +6503199293083693:6503199293083824 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140622355553920}, 0x7ffd04faf410) = 0 :3329 +6503199293085016:6503199293085066 35231:35231 hsa_signal_load_relaxed({handle=140622355553920}) = 0 :3330 +6503199293091818:6503199293091868 35231:35231 hsa_signal_load_relaxed({handle=140622355553920}) = 0 :3334 +6503199293092109:6503199293092179 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 88 :3335 +6503199293092309:6503199293092620 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 88 :3336 +6503199293092780:6503199293092830 35231:35231 hsa_signal_load_relaxed({handle=140622355553664}) = 0 :3337 +6503199293092940:6503199293093011 35231:35231 hsa_signal_load_relaxed({handle=140622355553792}) = 0 :3338 +6503199293093161:6503199293093211 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355553792}, 1) = void :3339 +6503199293093351:6503199293093411 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 88 :3340 +6503199293094113:6503199293094573 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 88) = void :3341 +6503199293095846:6503199293096076 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :3343 +6503199293096998:6503199293097098 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf590, 0, 0, 0) = 0 :3344 +6503199293097258:6503199293097369 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf630, 0, 0, 0) = 0 :3345 +6503199293097509:6503199293097609 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf570, 0, 0, 0) = 0 :3346 +6503199293098771:6503199293101426 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a3fe000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :3347 +6503199293102007:6503199293102057 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 89 :3348 +6503199293102158:6503199293102208 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 88 :3349 +6503199293102328:6503199293102378 35231:35231 hsa_signal_load_relaxed({handle=140622355553536}) = 0 :3350 +6503199293102478:6503199293102528 35231:35231 hsa_signal_load_relaxed({handle=140622355553664}) = 0 :3351 +6503199293102628:6503199293102679 35231:35231 hsa_signal_load_relaxed({handle=140622355553536}) = 0 :3352 +6503199293102779:6503199293102829 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355553664}, 1) = void :3353 +6503199293102959:6503199293103009 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 88 :3354 +6503199293103119:6503199293103560 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 89) = void :3355 +6503199293103771:6503199293103821 35231:35231 hsa_signal_load_relaxed({handle=140622355553664}) = 1 :3356 +6503199293103921:6503199293103961 35231:35231 hsa_signal_load_relaxed({handle=140622355553664}) = 1 :3357 +6503199293104071:6503199293114180 35231:35231 hsa_signal_wait_scacquire({handle=140622355553664}, 2, 1, 10000, 1) = 1 :3358 +6503199293114330:6503199293114390 35231:35231 hsa_signal_load_relaxed({handle=140622355553408}) = 0 :3359 +6503199293114480:6503199293114531 35231:35231 hsa_signal_load_relaxed({handle=140622355553536}) = 0 :3360 +6503199293114641:6503199293114681 35231:35231 hsa_signal_load_relaxed({handle=140622355553408}) = 0 :3361 +6503199293114791:6503199293114841 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355553536}, 1) = void :3362 +6503199293115051:6503199293115993 35231:35231 hsa_amd_memory_async_copy(0x7fe12a3fe010, {handle=5845728}, 0x7fe129400000, {handle=5671888}, 4194304, 1, 0x626e70, {handle=140622355553536}) = 0 :3363 +6503199293116143:6503199293116194 35231:35231 hsa_signal_load_relaxed({handle=140622355553664}) = 1 :3364 +6503199293117105:6503199293216720 35231:35231 hsa_signal_wait_scacquire({handle=140622355553664}, 2, 1, 100000, 1) = 0 :3365 +6503199293216880:6503199293216960 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140622355553664}, 0x7ffd04faf400) = 0 :3366 +6503199293217071:6503199293217121 35231:35231 hsa_signal_load_relaxed({handle=140622355553536}) = 1 :3367 +6503199293217231:6503199293317317 35231:35231 hsa_signal_wait_scacquire({handle=140622355553536}, 2, 1, 100000, 1) = 1 :3368 +6503199293317407:6503199294762637 35231:35231 hsa_signal_wait_scacquire({handle=140622355553536}, 2, 1, 18446744073709551615, 0) = 0 :3369 +6503199294762898:6503199294762978 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140622355553536}, 0x7ffd04faf410) = 0 :3370 +6503199294763689:6503199294763739 35231:35231 hsa_signal_load_relaxed({handle=140622355553536}) = 0 :3371 +6503199294763929:6503199294764571 35231:35231 hsa_signal_load_relaxed({handle=140622355553792}) = 0 :3372 +6503199294764681:6503199294764761 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140622355553792}, 0x7ffd04faf540) = 0 :3373 +6503199303358540:6503199303358890 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :3375 +6503199303359091:6503199303359201 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf590, 0, 0, 0) = 0 :3376 +6503199303359341:6503199303359431 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf630, 0, 0, 0) = 0 :3377 +6503199303359582:6503199303359682 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf570, 0, 0, 0) = 0 :3378 +6503199303361004:6503199303363870 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a7ff000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :3379 +6503199303364310:6503199303364421 35231:35231 hsa_signal_load_relaxed({handle=140622355553536}) = 0 :3380 +6503199303364551:6503199303364611 35231:35231 hsa_signal_load_relaxed({handle=140622355553280}) = 0 :3381 +6503199303364731:6503199303364781 35231:35231 hsa_signal_load_relaxed({handle=140622355553408}) = 0 :3382 +6503199303365012:6503199303365082 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355553408}, 1) = void :3383 +6503199303365242:6503199303366224 35231:35231 hsa_amd_memory_async_copy(0x7fe129a00000, {handle=5671888}, 0x7fe12a7ff010, {handle=5845728}, 4194304, 0, 0, {handle=140622355553408}) = 0 :3384 +6503199303366384:6503199303366434 35231:35231 hsa_signal_load_relaxed({handle=140622355553408}) = 1 :3385 +6503199303366555:6503199303466660 35231:35231 hsa_signal_wait_scacquire({handle=140622355553408}, 2, 1, 100000, 1) = 1 :3386 +6503199303466750:6503199305076967 35231:35231 hsa_signal_wait_scacquire({handle=140622355553408}, 2, 1, 18446744073709551615, 0) = 0 :3387 +6503199305078700:6503199305078830 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140622355553408}, 0x7ffd04faf410) = 0 :3388 +6503199305079612:6503199305079682 35231:35231 hsa_signal_load_relaxed({handle=140622355553408}) = 0 :3389 +6503199305085923:6503199305085974 35231:35231 hsa_signal_load_relaxed({handle=140622355553408}) = 0 :3393 +6503199305086194:6503199305086264 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 90 :3394 +6503199305086414:6503199305086474 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 90 :3395 +6503199305086585:6503199305086645 35231:35231 hsa_signal_load_relaxed({handle=140622355553152}) = 0 :3396 +6503199305086745:6503199305086795 35231:35231 hsa_signal_load_relaxed({handle=140622355553280}) = 0 :3397 +6503199305086975:6503199305087025 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355553280}, 1) = void :3398 +6503199305087176:6503199305087246 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 90 :3399 +6503199305087627:6503199305088097 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 90) = void :3400 +6503199305089159:6503199305089390 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :3402 +6503199305089530:6503199305089650 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf590, 0, 0, 0) = 0 :3403 +6503199305089801:6503199305089901 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf630, 0, 0, 0) = 0 :3404 +6503199305090041:6503199305090131 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf570, 0, 0, 0) = 0 :3405 +6503199305090943:6503199305093297 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a3fe000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :3406 +6503199305093708:6503199305093778 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 91 :3407 +6503199305093878:6503199305093928 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 90 :3408 +6503199305094089:6503199305094149 35231:35231 hsa_signal_load_relaxed({handle=140622355553024}) = 0 :3409 +6503199305094249:6503199305094299 35231:35231 hsa_signal_load_relaxed({handle=140622355553152}) = 0 :3410 +6503199305094399:6503199305094449 35231:35231 hsa_signal_load_relaxed({handle=140622355553024}) = 0 :3411 +6503199305094559:6503199305094610 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355553152}, 1) = void :3412 +6503199305095812:6503199305095862 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 90 :3413 +6503199305096253:6503199305096693 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 91) = void :3414 +6503199305096824:6503199305096874 35231:35231 hsa_signal_load_relaxed({handle=140622355553152}) = 1 :3415 +6503199305096984:6503199305097034 35231:35231 hsa_signal_load_relaxed({handle=140622355553152}) = 1 :3416 +6503199305097144:6503199305107233 35231:35231 hsa_signal_wait_scacquire({handle=140622355553152}, 2, 1, 10000, 1) = 1 :3417 +6503199305107363:6503199305107433 35231:35231 hsa_signal_load_relaxed({handle=140622355552896}) = 0 :3418 +6503199305107534:6503199305107584 35231:35231 hsa_signal_load_relaxed({handle=140622355553024}) = 0 :3419 +6503199305107684:6503199305107724 35231:35231 hsa_signal_load_relaxed({handle=140622355552896}) = 0 :3420 +6503199305107824:6503199305107874 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355553024}, 1) = void :3421 +6503199305108064:6503199305109046 35231:35231 hsa_amd_memory_async_copy(0x7fe12a3fe010, {handle=5845728}, 0x7fe129400000, {handle=5671888}, 4194304, 1, 0x626f40, {handle=140622355553024}) = 0 :3422 +6503199305109227:6503199305109277 35231:35231 hsa_signal_load_relaxed({handle=140622355553152}) = 1 :3423 +6503199305109367:6503199305209443 35231:35231 hsa_signal_wait_scacquire({handle=140622355553152}, 2, 1, 100000, 1) = 1 :3424 +6503199305209543:6503199305210204 35231:35231 hsa_signal_wait_scacquire({handle=140622355553152}, 2, 1, 18446744073709551615, 0) = 0 :3425 +6503199305210334:6503199305210414 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140622355553152}, 0x7ffd04faf400) = 0 :3426 +6503199305210545:6503199305210595 35231:35231 hsa_signal_load_relaxed({handle=140622355553024}) = 1 :3427 +6503199305210685:6503199305310770 35231:35231 hsa_signal_wait_scacquire({handle=140622355553024}, 2, 1, 100000, 1) = 1 :3428 +6503199305310871:6503199306754568 35231:35231 hsa_signal_wait_scacquire({handle=140622355553024}, 2, 1, 18446744073709551615, 0) = 0 :3429 +6503199306754819:6503199306754899 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140622355553024}, 0x7ffd04faf410) = 0 :3430 +6503199306755510:6503199306755560 35231:35231 hsa_signal_load_relaxed({handle=140622355553024}) = 0 :3431 +6503199306755720:6503199306756041 35231:35231 hsa_signal_load_relaxed({handle=140622355553280}) = 0 :3432 +6503199306756161:6503199306756241 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140622355553280}, 0x7ffd04faf540) = 0 :3433 +6503199315327679:6503199315328000 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :3435 +6503199315328190:6503199315328300 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf590, 0, 0, 0) = 0 :3436 +6503199315328440:6503199315328531 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf630, 0, 0, 0) = 0 :3437 +6503199315328671:6503199315328761 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf570, 0, 0, 0) = 0 :3438 +6503199315330114:6503199315332738 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a7ff000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :3439 +6503199315333159:6503199315333269 35231:35231 hsa_signal_load_relaxed({handle=140622355553024}) = 0 :3440 +6503199315333390:6503199315333460 35231:35231 hsa_signal_load_relaxed({handle=140622355552768}) = 0 :3441 +6503199315333570:6503199315333630 35231:35231 hsa_signal_load_relaxed({handle=140622355552896}) = 0 :3442 +6503199315333871:6503199315333941 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355552896}, 1) = void :3443 +6503199315334121:6503199315335143 35231:35231 hsa_amd_memory_async_copy(0x7fe129a00000, {handle=5671888}, 0x7fe12a7ff010, {handle=5845728}, 4194304, 0, 0, {handle=140622355552896}) = 0 :3444 +6503199315335273:6503199315335313 35231:35231 hsa_signal_load_relaxed({handle=140622355552896}) = 1 :3445 +6503199315335453:6503199315435549 35231:35231 hsa_signal_wait_scacquire({handle=140622355552896}, 2, 1, 100000, 1) = 1 :3446 +6503199315435649:6503199317049262 35231:35231 hsa_signal_wait_scacquire({handle=140622355552896}, 2, 1, 18446744073709551615, 0) = 0 :3447 +6503199317049813:6503199317056095 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140622355552896}, 0x7ffd04faf410) = 0 :3448 +6503199317056776:6503199317056826 35231:35231 hsa_signal_load_relaxed({handle=140622355552896}) = 0 :3449 +6503199317064781:6503199317064831 35231:35231 hsa_signal_load_relaxed({handle=140622355552896}) = 0 :3453 +6503199317065041:6503199317065121 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 92 :3454 +6503199317065242:6503199317065292 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 92 :3455 +6503199317065422:6503199317065482 35231:35231 hsa_signal_load_relaxed({handle=140622355552640}) = 0 :3456 +6503199317065582:6503199317065632 35231:35231 hsa_signal_load_relaxed({handle=140622355552768}) = 0 :3457 +6503199317065783:6503199317065833 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355552768}, 1) = void :3458 +6503199317065983:6503199317066053 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 92 :3459 +6503199317067235:6503199317067696 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 92) = void :3460 +6503199317069650:6503199317069860 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :3462 +6503199317070000:6503199317070101 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf590, 0, 0, 0) = 0 :3463 +6503199317070251:6503199317070351 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf630, 0, 0, 0) = 0 :3464 +6503199317070491:6503199317070582 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf570, 0, 0, 0) = 0 :3465 +6503199317071433:6503199317074318 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a3fe000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :3466 +6503199317074699:6503199317074749 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 93 :3467 +6503199317074849:6503199317074900 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 92 :3468 +6503199317075020:6503199317075090 35231:35231 hsa_signal_load_relaxed({handle=140622355552512}) = 0 :3469 +6503199317075190:6503199317075240 35231:35231 hsa_signal_load_relaxed({handle=140622355552640}) = 0 :3470 +6503199317075340:6503199317075390 35231:35231 hsa_signal_load_relaxed({handle=140622355552512}) = 0 :3471 +6503199317075491:6503199317075541 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355552640}, 1) = void :3472 +6503199317075681:6503199317075731 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 92 :3473 +6503199317076112:6503199317076563 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 93) = void :3474 +6503199317076693:6503199317076743 35231:35231 hsa_signal_load_relaxed({handle=140622355552640}) = 1 :3475 +6503199317076833:6503199317076883 35231:35231 hsa_signal_load_relaxed({handle=140622355552640}) = 1 :3476 +6503199317076993:6503199317087092 35231:35231 hsa_signal_wait_scacquire({handle=140622355552640}, 2, 1, 10000, 1) = 1 :3477 +6503199317087232:6503199317087313 35231:35231 hsa_signal_load_relaxed({handle=140622355552384}) = 0 :3478 +6503199317087413:6503199317087463 35231:35231 hsa_signal_load_relaxed({handle=140622355552512}) = 0 :3479 +6503199317087563:6503199317087613 35231:35231 hsa_signal_load_relaxed({handle=140622355552384}) = 0 :3480 +6503199317087733:6503199317087783 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355552512}, 1) = void :3481 +6503199317088785:6503199317089837 35231:35231 hsa_amd_memory_async_copy(0x7fe12a3fe010, {handle=5845728}, 0x7fe129400000, {handle=5671888}, 4194304, 1, 0x626fe0, {handle=140622355552512}) = 0 :3482 +6503199317089988:6503199317090038 35231:35231 hsa_signal_load_relaxed({handle=140622355552640}) = 1 :3483 +6503199317090148:6503199317189983 35231:35231 hsa_signal_wait_scacquire({handle=140622355552640}, 2, 1, 100000, 1) = 0 :3484 +6503199317190143:6503199317190253 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140622355552640}, 0x7ffd04faf400) = 0 :3485 +6503199317190384:6503199317190424 35231:35231 hsa_signal_load_relaxed({handle=140622355552512}) = 1 :3486 +6503199317190524:6503199317290610 35231:35231 hsa_signal_wait_scacquire({handle=140622355552512}, 2, 1, 100000, 1) = 1 :3487 +6503199317290710:6503199318733776 35231:35231 hsa_signal_wait_scacquire({handle=140622355552512}, 2, 1, 18446744073709551615, 0) = 0 :3488 +6503199318734037:6503199318734147 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140622355552512}, 0x7ffd04faf410) = 0 :3489 +6503199318734788:6503199318734838 35231:35231 hsa_signal_load_relaxed({handle=140622355552512}) = 0 :3490 +6503199318734999:6503199318735319 35231:35231 hsa_signal_load_relaxed({handle=140622355552768}) = 0 :3491 +6503199318735429:6503199318735520 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140622355552768}, 0x7ffd04faf540) = 0 :3492 +6503199327293582:6503199327293903 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :3494 +6503199327294113:6503199327294213 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf590, 0, 0, 0) = 0 :3495 +6503199327294364:6503199327294464 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf630, 0, 0, 0) = 0 :3496 +6503199327294614:6503199327294704 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf570, 0, 0, 0) = 0 :3497 +6503199327295997:6503199327298862 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a7ff000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :3498 +6503199327299333:6503199327299443 35231:35231 hsa_signal_load_relaxed({handle=140622355552512}) = 0 :3499 +6503199327299573:6503199327299643 35231:35231 hsa_signal_load_relaxed({handle=140622355552256}) = 0 :3500 +6503199327299764:6503199327299804 35231:35231 hsa_signal_load_relaxed({handle=140622355552384}) = 0 :3501 +6503199327300034:6503199327300094 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355552384}, 1) = void :3502 +6503199327300265:6503199327301226 35231:35231 hsa_amd_memory_async_copy(0x7fe129a00000, {handle=5671888}, 0x7fe12a7ff010, {handle=5845728}, 4194304, 0, 0, {handle=140622355552384}) = 0 :3503 +6503199327302829:6503199327302879 35231:35231 hsa_signal_load_relaxed({handle=140622355552384}) = 1 :3504 +6503199327303000:6503199327403095 35231:35231 hsa_signal_wait_scacquire({handle=140622355552384}, 2, 1, 100000, 1) = 1 :3505 +6503199327403185:6503199329022880 35231:35231 hsa_signal_wait_scacquire({handle=140622355552384}, 2, 1, 18446744073709551615, 0) = 0 :3506 +6503199329023150:6503199329023240 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140622355552384}, 0x7ffd04faf410) = 0 :3507 +6503199329024002:6503199329024052 35231:35231 hsa_signal_load_relaxed({handle=140622355552384}) = 0 :3508 +6503199329029131:6503199329029181 35231:35231 hsa_signal_load_relaxed({handle=140622355552384}) = 0 :3512 +6503199329029402:6503199329029472 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 94 :3513 +6503199329029632:6503199329029682 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 94 :3514 +6503199329029802:6503199329029873 35231:35231 hsa_signal_load_relaxed({handle=140622355552128}) = 0 :3515 +6503199329029983:6503199329030033 35231:35231 hsa_signal_load_relaxed({handle=140622355552256}) = 0 :3516 +6503199329030213:6503199329030263 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355552256}, 1) = void :3517 +6503199329030434:6503199329030504 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 94 :3518 +6503199329030694:6503199329031155 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 94) = void :3519 +6503199329032357:6503199329032588 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :3521 +6503199329032758:6503199329032868 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf590, 0, 0, 0) = 0 :3522 +6503199329032998:6503199329033099 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf630, 0, 0, 0) = 0 :3523 +6503199329033239:6503199329033349 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf570, 0, 0, 0) = 0 :3524 +6503199329034130:6503199329036906 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a3fe000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :3525 +6503199329037296:6503199329037366 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 95 :3526 +6503199329037467:6503199329037517 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 94 :3527 +6503199329037657:6503199329037717 35231:35231 hsa_signal_load_relaxed({handle=140627542423296}) = 0 :3528 +6503199329037827:6503199329037877 35231:35231 hsa_signal_load_relaxed({handle=140622355552128}) = 0 :3529 +6503199329038809:6503199329038859 35231:35231 hsa_signal_load_relaxed({handle=140627542423296}) = 0 :3530 +6503199329038969:6503199329039019 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355552128}, 1) = void :3531 +6503199329039140:6503199329039200 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 94 :3532 +6503199329039591:6503199329040041 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 95) = void :3533 +6503199329040212:6503199329040262 35231:35231 hsa_signal_load_relaxed({handle=140622355552128}) = 1 :3534 +6503199329040362:6503199329040412 35231:35231 hsa_signal_load_relaxed({handle=140622355552128}) = 1 :3535 +6503199329040552:6503199329050651 35231:35231 hsa_signal_wait_scacquire({handle=140622355552128}, 2, 1, 10000, 1) = 1 :3536 +6503199329050821:6503199329050892 35231:35231 hsa_signal_load_relaxed({handle=140627542423168}) = 0 :3537 +6503199329050992:6503199329051042 35231:35231 hsa_signal_load_relaxed({handle=140627542423296}) = 0 :3538 +6503199329051142:6503199329051192 35231:35231 hsa_signal_load_relaxed({handle=140627542423168}) = 0 :3539 +6503199329051302:6503199329051352 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542423296}, 1) = void :3540 +6503199329051563:6503199329052595 35231:35231 hsa_amd_memory_async_copy(0x7fe12a3fe010, {handle=5845728}, 0x7fe129400000, {handle=5671888}, 4194304, 1, 0x638e10, {handle=140627542423296}) = 0 :3541 +6503199329052775:6503199329052825 35231:35231 hsa_signal_load_relaxed({handle=140622355552128}) = 1 :3542 +6503199329052925:6503199329153001 35231:35231 hsa_signal_wait_scacquire({handle=140622355552128}, 2, 1, 100000, 1) = 1 :3543 +6503199329153091:6503199329157028 35231:35231 hsa_signal_wait_scacquire({handle=140622355552128}, 2, 1, 18446744073709551615, 0) = 0 :3544 +6503199329157199:6503199329157279 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140622355552128}, 0x7ffd04faf400) = 0 :3545 +6503199329157399:6503199329157449 35231:35231 hsa_signal_load_relaxed({handle=140627542423296}) = 1 :3546 +6503199329157539:6503199329257625 35231:35231 hsa_signal_wait_scacquire({handle=140627542423296}, 2, 1, 100000, 1) = 1 :3547 +6503199329257715:6503199330706081 35231:35231 hsa_signal_wait_scacquire({handle=140627542423296}, 2, 1, 18446744073709551615, 0) = 0 :3548 +6503199330706332:6503199330706442 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140627542423296}, 0x7ffd04faf410) = 0 :3549 +6503199330706993:6503199330707073 35231:35231 hsa_signal_load_relaxed({handle=140627542423296}) = 0 :3550 +6503199330709558:6503199330709888 35231:35231 hsa_signal_load_relaxed({handle=140622355552256}) = 0 :3551 +6503199330709999:6503199330710089 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140622355552256}, 0x7ffd04faf540) = 0 :3552 +6503199339806169:6503199339806500 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :3554 +6503199339806700:6503199339806810 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf590, 0, 0, 0) = 0 :3555 +6503199339806970:6503199339807071 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf630, 0, 0, 0) = 0 :3556 +6503199339807231:6503199339807331 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf570, 0, 0, 0) = 0 :3557 +6503199339808533:6503199339811228 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a7ff000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :3558 +6503199339811679:6503199339811769 35231:35231 hsa_signal_load_relaxed({handle=140627542423296}) = 0 :3559 +6503199339811910:6503199339812000 35231:35231 hsa_signal_load_relaxed({handle=140627542423040}) = 0 :3560 +6503199339812130:6503199339812180 35231:35231 hsa_signal_load_relaxed({handle=140627542423168}) = 0 :3561 +6503199339812411:6503199339812481 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542423168}, 1) = void :3562 +6503199339812671:6503199339813623 35231:35231 hsa_amd_memory_async_copy(0x7fe129a00000, {handle=5671888}, 0x7fe12a7ff010, {handle=5845728}, 4194304, 0, 0, {handle=140627542423168}) = 0 :3563 +6503199339813743:6503199339813793 35231:35231 hsa_signal_load_relaxed({handle=140627542423168}) = 1 :3564 +6503199339813913:6503199339914019 35231:35231 hsa_signal_wait_scacquire({handle=140627542423168}, 2, 1, 100000, 1) = 1 :3565 +6503199339914109:6503199341517042 35231:35231 hsa_signal_wait_scacquire({handle=140627542423168}, 2, 1, 18446744073709551615, 0) = 0 :3566 +6503199341517313:6503199341517413 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140627542423168}, 0x7ffd04faf410) = 0 :3567 +6503199341518154:6503199341518204 35231:35231 hsa_signal_load_relaxed({handle=140627542423168}) = 0 :3568 +6503199341522011:6503199341522071 35231:35231 hsa_signal_load_relaxed({handle=140627542423168}) = 0 :3572 +6503199341522342:6503199341522422 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 96 :3573 +6503199341522542:6503199341522592 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 96 :3574 +6503199341522733:6503199341522813 35231:35231 hsa_signal_load_relaxed({handle=140627542422912}) = 0 :3575 +6503199341524696:6503199341524776 35231:35231 hsa_signal_load_relaxed({handle=140627542423040}) = 0 :3576 +6503199341524987:6503199341525037 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542423040}, 1) = void :3577 +6503199341525197:6503199341525277 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 96 :3578 +6503199341525448:6503199341525899 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 96) = void :3579 +6503199341526960:6503199341527211 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :3581 +6503199341527361:6503199341527461 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf590, 0, 0, 0) = 0 :3582 +6503199341527602:6503199341527692 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf630, 0, 0, 0) = 0 :3583 +6503199341527832:6503199341527932 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf570, 0, 0, 0) = 0 :3584 +6503199341528784:6503199341531509 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a3fe000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :3585 +6503199341531910:6503199341531960 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 97 :3586 +6503199341532060:6503199341532110 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 96 :3587 +6503199341532260:6503199341532320 35231:35231 hsa_signal_load_relaxed({handle=140627542422784}) = 0 :3588 +6503199341532421:6503199341532471 35231:35231 hsa_signal_load_relaxed({handle=140627542422912}) = 0 :3589 +6503199341532571:6503199341532621 35231:35231 hsa_signal_load_relaxed({handle=140627542422784}) = 0 :3590 +6503199341532731:6503199341532781 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542422912}, 1) = void :3591 +6503199341532912:6503199341532972 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 96 :3592 +6503199341533072:6503199341533523 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 97) = void :3593 +6503199341533643:6503199341533693 35231:35231 hsa_signal_load_relaxed({handle=140627542422912}) = 1 :3594 +6503199341533793:6503199341533833 35231:35231 hsa_signal_load_relaxed({handle=140627542422912}) = 1 :3595 +6503199341533943:6503199341544042 35231:35231 hsa_signal_wait_scacquire({handle=140627542422912}, 2, 1, 10000, 1) = 1 :3596 +6503199341544182:6503199341544253 35231:35231 hsa_signal_load_relaxed({handle=140627542422656}) = 0 :3597 +6503199341544363:6503199341544413 35231:35231 hsa_signal_load_relaxed({handle=140627542422784}) = 0 :3598 +6503199341545575:6503199341545625 35231:35231 hsa_signal_load_relaxed({handle=140627542422656}) = 0 :3599 +6503199341545725:6503199341545775 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542422784}, 1) = void :3600 +6503199341546006:6503199341547028 35231:35231 hsa_amd_memory_async_copy(0x7fe12a3fe010, {handle=5845728}, 0x7fe129400000, {handle=5671888}, 4194304, 1, 0x638ee0, {handle=140627542422784}) = 0 :3601 +6503199341547188:6503199341547238 35231:35231 hsa_signal_load_relaxed({handle=140627542422912}) = 1 :3602 +6503199341547338:6503199341647414 35231:35231 hsa_signal_wait_scacquire({handle=140627542422912}, 2, 1, 100000, 1) = 1 :3603 +6503199341647514:6503199341649117 35231:35231 hsa_signal_wait_scacquire({handle=140627542422912}, 2, 1, 18446744073709551615, 0) = 0 :3604 +6503199341649277:6503199341649357 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140627542422912}, 0x7ffd04faf400) = 0 :3605 +6503199341649468:6503199341649518 35231:35231 hsa_signal_load_relaxed({handle=140627542422784}) = 1 :3606 +6503199341649608:6503199341749694 35231:35231 hsa_signal_wait_scacquire({handle=140627542422784}, 2, 1, 100000, 1) = 1 :3607 +6503199341749794:6503199343196357 35231:35231 hsa_signal_wait_scacquire({handle=140627542422784}, 2, 1, 18446744073709551615, 0) = 0 :3608 +6503199343196597:6503199343196677 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140627542422784}, 0x7ffd04faf410) = 0 :3609 +6503199343197279:6503199343197359 35231:35231 hsa_signal_load_relaxed({handle=140627542422784}) = 0 :3610 +6503199343197499:6503199343197840 35231:35231 hsa_signal_load_relaxed({handle=140627542423040}) = 0 :3611 +6503199343197940:6503199343198020 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140627542423040}, 0x7ffd04faf540) = 0 :3612 +6503199351764158:6503199351764458 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :3614 +6503199351764659:6503199351764769 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf590, 0, 0, 0) = 0 :3615 +6503199351764919:6503199351765019 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf630, 0, 0, 0) = 0 :3616 +6503199351765169:6503199351765270 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf570, 0, 0, 0) = 0 :3617 +6503199351766612:6503199351769548 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a7ff000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :3618 +6503199351769978:6503199351770079 35231:35231 hsa_signal_load_relaxed({handle=140627542422784}) = 0 :3619 +6503199351770199:6503199351770269 35231:35231 hsa_signal_load_relaxed({handle=140627542422528}) = 0 :3620 +6503199351773505:6503199351773565 35231:35231 hsa_signal_load_relaxed({handle=140627542422656}) = 0 :3621 +6503199351773846:6503199351773906 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542422656}, 1) = void :3622 +6503199351774096:6503199351775148 35231:35231 hsa_amd_memory_async_copy(0x7fe129a00000, {handle=5671888}, 0x7fe12a7ff010, {handle=5845728}, 4194304, 0, 0, {handle=140627542422656}) = 0 :3623 +6503199351775308:6503199351775358 35231:35231 hsa_signal_load_relaxed({handle=140627542422656}) = 1 :3624 +6503199351775509:6503199351875614 35231:35231 hsa_signal_wait_scacquire({handle=140627542422656}, 2, 1, 100000, 1) = 1 :3625 +6503199351875715:6503199353492132 35231:35231 hsa_signal_wait_scacquire({handle=140627542422656}, 2, 1, 18446744073709551615, 0) = 0 :3626 +6503199353492423:6503199353492553 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140627542422656}, 0x7ffd04faf410) = 0 :3627 +6503199353493325:6503199353493375 35231:35231 hsa_signal_load_relaxed({handle=140627542422656}) = 0 :3628 +6503199353497412:6503199353497472 35231:35231 hsa_signal_load_relaxed({handle=140627542422656}) = 0 :3632 +6503199353497653:6503199353497753 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 98 :3633 +6503199353497903:6503199353497953 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 98 :3634 +6503199353498073:6503199353498144 35231:35231 hsa_signal_load_relaxed({handle=140627542422400}) = 0 :3635 +6503199353498244:6503199353498294 35231:35231 hsa_signal_load_relaxed({handle=140627542422528}) = 0 :3636 +6503199353498484:6503199353498534 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542422528}, 1) = void :3637 +6503199353498685:6503199353498745 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 98 :3638 +6503199353498925:6503199353499376 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 98) = void :3639 +6503199353501600:6503199353501830 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :3641 +6503199353501971:6503199353502071 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf590, 0, 0, 0) = 0 :3642 +6503199353502211:6503199353502311 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf630, 0, 0, 0) = 0 :3643 +6503199353502452:6503199353502542 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf570, 0, 0, 0) = 0 :3644 +6503199353503403:6503199353506078 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a3fe000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :3645 +6503199353507271:6503199353507321 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 99 :3646 +6503199353507431:6503199353507481 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 98 :3647 +6503199353507601:6503199353507661 35231:35231 hsa_signal_load_relaxed({handle=140627542422272}) = 0 :3648 +6503199353507761:6503199353507812 35231:35231 hsa_signal_load_relaxed({handle=140627542422400}) = 0 :3649 +6503199353507922:6503199353507972 35231:35231 hsa_signal_load_relaxed({handle=140627542422272}) = 0 :3650 +6503199353508102:6503199353508152 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542422400}, 1) = void :3651 +6503199353508282:6503199353508332 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 98 :3652 +6503199353508453:6503199353508894 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 99) = void :3653 +6503199353509034:6503199353509084 35231:35231 hsa_signal_load_relaxed({handle=140627542422400}) = 1 :3654 +6503199353509184:6503199353509234 35231:35231 hsa_signal_load_relaxed({handle=140627542422400}) = 1 :3655 +6503199353509354:6503199353519453 35231:35231 hsa_signal_wait_scacquire({handle=140627542422400}, 2, 1, 10000, 1) = 1 :3656 +6503199353519613:6503199353519694 35231:35231 hsa_signal_load_relaxed({handle=140627542422144}) = 0 :3657 +6503199353519794:6503199353519844 35231:35231 hsa_signal_load_relaxed({handle=140627542422272}) = 0 :3658 +6503199353519954:6503199353520004 35231:35231 hsa_signal_load_relaxed({handle=140627542422144}) = 0 :3659 +6503199353520124:6503199353520174 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542422272}, 1) = void :3660 +6503199353520365:6503199353521317 35231:35231 hsa_amd_memory_async_copy(0x7fe12a3fe010, {handle=5845728}, 0x7fe129400000, {handle=5671888}, 4194304, 1, 0x638fb0, {handle=140627542422272}) = 0 :3661 +6503199353521457:6503199353521507 35231:35231 hsa_signal_load_relaxed({handle=140627542422400}) = 1 :3662 +6503199353521607:6503199353621683 35231:35231 hsa_signal_wait_scacquire({handle=140627542422400}, 2, 1, 100000, 1) = 1 :3663 +6503199353621783:6503199353622564 35231:35231 hsa_signal_wait_scacquire({handle=140627542422400}, 2, 1, 18446744073709551615, 0) = 0 :3664 +6503199353622725:6503199353622815 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140627542422400}, 0x7ffd04faf400) = 0 :3665 +6503199353622925:6503199353622975 35231:35231 hsa_signal_load_relaxed({handle=140627542422272}) = 1 :3666 +6503199353623065:6503199353723151 35231:35231 hsa_signal_wait_scacquire({handle=140627542422272}, 2, 1, 100000, 1) = 1 :3667 +6503199353724333:6503199355166889 35231:35231 hsa_signal_wait_scacquire({handle=140627542422272}, 2, 1, 18446744073709551615, 0) = 0 :3668 +6503199355167159:6503199355167239 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140627542422272}, 0x7ffd04faf410) = 0 :3669 +6503199355167861:6503199355167901 35231:35231 hsa_signal_load_relaxed({handle=140627542422272}) = 0 :3670 +6503199355168091:6503199355168422 35231:35231 hsa_signal_load_relaxed({handle=140627542422528}) = 0 :3671 +6503199355168512:6503199355168602 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140627542422528}, 0x7ffd04faf540) = 0 :3672 +6503199363744287:6503199363744578 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :3674 +6503199363744778:6503199363744878 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf590, 0, 0, 0) = 0 :3675 +6503199363745018:6503199363745119 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf630, 0, 0, 0) = 0 :3676 +6503199363745259:6503199363745349 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf570, 0, 0, 0) = 0 :3677 +6503199363746471:6503199363749126 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a7ff000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :3678 +6503199363749527:6503199363749607 35231:35231 hsa_signal_load_relaxed({handle=140627542422272}) = 0 :3679 +6503199363749747:6503199363749817 35231:35231 hsa_signal_load_relaxed({handle=140627542422016}) = 0 :3680 +6503199363749948:6503199363750008 35231:35231 hsa_signal_load_relaxed({handle=140627542422144}) = 0 :3681 +6503199363750238:6503199363750298 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542422144}, 1) = void :3682 +6503199363750479:6503199363751490 35231:35231 hsa_amd_memory_async_copy(0x7fe129a00000, {handle=5671888}, 0x7fe12a7ff010, {handle=5845728}, 4194304, 0, 0, {handle=140627542422144}) = 0 :3683 +6503199363751641:6503199363751691 35231:35231 hsa_signal_load_relaxed({handle=140627542422144}) = 1 :3684 +6503199363751841:6503199363851927 35231:35231 hsa_signal_wait_scacquire({handle=140627542422144}, 2, 1, 100000, 1) = 1 :3685 +6503199363852027:6503199365460971 35231:35231 hsa_signal_wait_scacquire({handle=140627542422144}, 2, 1, 18446744073709551615, 0) = 0 :3686 +6503199365461502:6503199365461642 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140627542422144}, 0x7ffd04faf410) = 0 :3687 +6503199365462253:6503199365462304 35231:35231 hsa_signal_load_relaxed({handle=140627542422144}) = 0 :3688 +6503199365467493:6503199365467553 35231:35231 hsa_signal_load_relaxed({handle=140627542422144}) = 0 :3692 +6503199365468886:6503199365468956 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 100 :3693 +6503199365469116:6503199365469246 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 100 :3694 +6503199365469377:6503199365469447 35231:35231 hsa_signal_load_relaxed({handle=140627542421888}) = 0 :3695 +6503199365469567:6503199365469617 35231:35231 hsa_signal_load_relaxed({handle=140627542422016}) = 0 :3696 +6503199365469858:6503199365469908 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542422016}, 1) = void :3697 +6503199365470048:6503199365470198 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 100 :3698 +6503199365470348:6503199365470809 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 100) = void :3699 +6503199365471951:6503199365472172 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :3701 +6503199365472312:6503199365472412 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf590, 0, 0, 0) = 0 :3702 +6503199365472553:6503199365472643 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf630, 0, 0, 0) = 0 :3703 +6503199365472783:6503199365472883 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf570, 0, 0, 0) = 0 :3704 +6503199365473665:6503199365476129 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a3fe000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :3705 +6503199365476490:6503199365476540 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 101 :3706 +6503199365476640:6503199365476690 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 100 :3707 +6503199365476810:6503199365476871 35231:35231 hsa_signal_load_relaxed({handle=140627542421760}) = 0 :3708 +6503199365476971:6503199365477021 35231:35231 hsa_signal_load_relaxed({handle=140627542421888}) = 0 :3709 +6503199365477121:6503199365477171 35231:35231 hsa_signal_load_relaxed({handle=140627542421760}) = 0 :3710 +6503199365477271:6503199365477321 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542421888}, 1) = void :3711 +6503199365477462:6503199365477512 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 100 :3712 +6503199365477632:6503199365478073 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 101) = void :3713 +6503199365478193:6503199365478243 35231:35231 hsa_signal_load_relaxed({handle=140627542421888}) = 1 :3714 +6503199365479105:6503199365479155 35231:35231 hsa_signal_load_relaxed({handle=140627542421888}) = 1 :3715 +6503199365479295:6503199365489404 35231:35231 hsa_signal_wait_scacquire({handle=140627542421888}, 2, 1, 10000, 1) = 1 :3716 +6503199365489564:6503199365489624 35231:35231 hsa_signal_load_relaxed({handle=140627542421632}) = 0 :3717 +6503199365489724:6503199365489775 35231:35231 hsa_signal_load_relaxed({handle=140627542421760}) = 0 :3718 +6503199365489875:6503199365489925 35231:35231 hsa_signal_load_relaxed({handle=140627542421632}) = 0 :3719 +6503199365490025:6503199365490075 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542421760}, 1) = void :3720 +6503199365490275:6503199365491508 35231:35231 hsa_amd_memory_async_copy(0x7fe12a3fe010, {handle=5845728}, 0x7fe129400000, {handle=5671888}, 4194304, 1, 0x639080, {handle=140627542421760}) = 0 :3721 +6503199365491648:6503199365491698 35231:35231 hsa_signal_load_relaxed({handle=140627542421888}) = 1 :3722 +6503199365491798:6503199365591994 35231:35231 hsa_signal_wait_scacquire({handle=140627542421888}, 2, 1, 100000, 1) = 1 :3723 +6503199365592084:6503199365594328 35231:35231 hsa_signal_wait_scacquire({handle=140627542421888}, 2, 1, 18446744073709551615, 0) = 0 :3724 +6503199365594489:6503199365594589 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140627542421888}, 0x7ffd04faf400) = 0 :3725 +6503199365594709:6503199365594759 35231:35231 hsa_signal_load_relaxed({handle=140627542421760}) = 1 :3726 +6503199365594849:6503199365694935 35231:35231 hsa_signal_wait_scacquire({handle=140627542421760}, 2, 1, 100000, 1) = 1 :3727 +6503199365695025:6503199367138122 35231:35231 hsa_signal_wait_scacquire({handle=140627542421760}, 2, 1, 18446744073709551615, 0) = 0 :3728 +6503199367138352:6503199367138452 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140627542421760}, 0x7ffd04faf410) = 0 :3729 +6503199367139043:6503199367139093 35231:35231 hsa_signal_load_relaxed({handle=140627542421760}) = 0 :3730 +6503199367139234:6503199367139284 35231:35231 hsa_signal_load_relaxed({handle=140627542422016}) = 0 :3731 +6503199367139404:6503199367139484 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140627542422016}, 0x7ffd04faf540) = 0 :3732 +6503199375728074:6503199375728374 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :3734 +6503199375728575:6503199375728675 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf590, 0, 0, 0) = 0 :3735 +6503199375728825:6503199375728915 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf630, 0, 0, 0) = 0 :3736 +6503199375729055:6503199375729146 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf570, 0, 0, 0) = 0 :3737 +6503199375732742:6503199375735457 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a7ff000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :3738 +6503199375735908:6503199375735988 35231:35231 hsa_signal_load_relaxed({handle=140627542421760}) = 0 :3739 +6503199375736109:6503199375736199 35231:35231 hsa_signal_load_relaxed({handle=140627542421504}) = 0 :3740 +6503199375736329:6503199375736389 35231:35231 hsa_signal_load_relaxed({handle=140627542421632}) = 0 :3741 +6503199375736609:6503199375736670 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542421632}, 1) = void :3742 +6503199375736870:6503199375737882 35231:35231 hsa_amd_memory_async_copy(0x7fe129a00000, {handle=5671888}, 0x7fe12a7ff010, {handle=5845728}, 4194304, 0, 0, {handle=140627542421632}) = 0 :3743 +6503199375738012:6503199375738062 35231:35231 hsa_signal_load_relaxed({handle=140627542421632}) = 1 :3744 +6503199375738202:6503199375838298 35231:35231 hsa_signal_wait_scacquire({handle=140627542421632}, 2, 1, 100000, 1) = 1 :3745 +6503199375838388:6503199377454516 35231:35231 hsa_signal_wait_scacquire({handle=140627542421632}, 2, 1, 18446744073709551615, 0) = 0 :3746 +6503199377454786:6503199377454876 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140627542421632}, 0x7ffd04faf410) = 0 :3747 +6503199377455538:6503199377455588 35231:35231 hsa_signal_load_relaxed({handle=140627542421632}) = 0 :3748 +6503199377460417:6503199377460467 35231:35231 hsa_signal_load_relaxed({handle=140627542421632}) = 0 :3752 +6503199377460667:6503199377460737 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 102 :3753 +6503199377460897:6503199377460948 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 102 :3754 +6503199377461088:6503199377461168 35231:35231 hsa_signal_load_relaxed({handle=140622355554176}) = 0 :3755 +6503199377461278:6503199377461338 35231:35231 hsa_signal_load_relaxed({handle=140627542421504}) = 0 :3756 +6503199377461529:6503199377461579 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542421504}, 1) = void :3757 +6503199377461759:6503199377461819 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 102 :3758 +6503199377462020:6503199377462470 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 102) = void :3759 +6503199377463532:6503199377463743 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :3761 +6503199377463893:6503199377463993 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf590, 0, 0, 0) = 0 :3762 +6503199377464945:6503199377465055 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf630, 0, 0, 0) = 0 :3763 +6503199377465216:6503199377465326 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf570, 0, 0, 0) = 0 :3764 +6503199377466077:6503199377468762 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a3fe000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :3765 +6503199377469153:6503199377469203 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 103 :3766 +6503199377469303:6503199377469353 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 102 :3767 +6503199377469473:6503199377469534 35231:35231 hsa_signal_load_relaxed({handle=140622355554048}) = 0 :3768 +6503199377469644:6503199377469694 35231:35231 hsa_signal_load_relaxed({handle=140622355554176}) = 0 :3769 +6503199377469784:6503199377469834 35231:35231 hsa_signal_load_relaxed({handle=140622355554048}) = 0 :3770 +6503199377469954:6503199377470004 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355554176}, 1) = void :3771 +6503199377470145:6503199377470195 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 102 :3772 +6503199377470305:6503199377470746 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 103) = void :3773 +6503199377470856:6503199377470906 35231:35231 hsa_signal_load_relaxed({handle=140622355554176}) = 1 :3774 +6503199377471006:6503199377471056 35231:35231 hsa_signal_load_relaxed({handle=140622355554176}) = 1 :3775 +6503199377471157:6503199377481245 35231:35231 hsa_signal_wait_scacquire({handle=140622355554176}, 2, 1, 10000, 1) = 1 :3776 +6503199377481396:6503199377481466 35231:35231 hsa_signal_load_relaxed({handle=140622355553920}) = 0 :3777 +6503199377481566:6503199377481616 35231:35231 hsa_signal_load_relaxed({handle=140622355554048}) = 0 :3778 +6503199377481716:6503199377481766 35231:35231 hsa_signal_load_relaxed({handle=140622355553920}) = 0 :3779 +6503199377481876:6503199377481916 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355554048}, 1) = void :3780 +6503199377482107:6503199377483059 35231:35231 hsa_amd_memory_async_copy(0x7fe12a3fe010, {handle=5845728}, 0x7fe129400000, {handle=5671888}, 4194304, 1, 0x639150, {handle=140622355554048}) = 0 :3781 +6503199377483209:6503199377483259 35231:35231 hsa_signal_load_relaxed({handle=140622355554176}) = 1 :3782 +6503199377483359:6503199377583425 35231:35231 hsa_signal_wait_scacquire({handle=140622355554176}, 2, 1, 100000, 1) = 1 :3783 +6503199377584286:6503199377593313 35231:35231 hsa_signal_wait_scacquire({handle=140622355554176}, 2, 1, 18446744073709551615, 0) = 0 :3784 +6503199377593483:6503199377593584 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140622355554176}, 0x7ffd04faf400) = 0 :3785 +6503199377593694:6503199377593744 35231:35231 hsa_signal_load_relaxed({handle=140622355554048}) = 1 :3786 +6503199377593844:6503199377693920 35231:35231 hsa_signal_wait_scacquire({handle=140622355554048}, 2, 1, 100000, 1) = 1 :3787 +6503199377694010:6503199379137106 35231:35231 hsa_signal_wait_scacquire({handle=140622355554048}, 2, 1, 18446744073709551615, 0) = 0 :3788 +6503199379137347:6503199379137457 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140622355554048}, 0x7ffd04faf410) = 0 :3789 +6503199379138138:6503199379138188 35231:35231 hsa_signal_load_relaxed({handle=140622355554048}) = 0 :3790 +6503199379138338:6503199379138659 35231:35231 hsa_signal_load_relaxed({handle=140627542421504}) = 0 :3791 +6503199379138799:6503199379138879 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140627542421504}, 0x7ffd04faf540) = 0 :3792 +6503199387707191:6503199387707492 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :3794 +6503199387707702:6503199387707802 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf590, 0, 0, 0) = 0 :3795 +6503199387707942:6503199387708033 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf630, 0, 0, 0) = 0 :3796 +6503199387708193:6503199387708293 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf570, 0, 0, 0) = 0 :3797 +6503199387709455:6503199387711980 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a7ff000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :3798 +6503199387712401:6503199387712511 35231:35231 hsa_signal_load_relaxed({handle=140622355554048}) = 0 :3799 +6503199387712631:6503199387712701 35231:35231 hsa_signal_load_relaxed({handle=140622355553792}) = 0 :3800 +6503199387712821:6503199387712882 35231:35231 hsa_signal_load_relaxed({handle=140622355553920}) = 0 :3801 +6503199387713092:6503199387713152 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355553920}, 1) = void :3802 +6503199387713332:6503199387714324 35231:35231 hsa_amd_memory_async_copy(0x7fe129a00000, {handle=5671888}, 0x7fe12a7ff010, {handle=5845728}, 4194304, 0, 0, {handle=140622355553920}) = 0 :3803 +6503199387714454:6503199387714505 35231:35231 hsa_signal_load_relaxed({handle=140622355553920}) = 1 :3804 +6503199387714635:6503199387814740 35231:35231 hsa_signal_wait_scacquire({handle=140622355553920}, 2, 1, 100000, 1) = 1 :3805 +6503199387814831:6503199389420929 35231:35231 hsa_signal_wait_scacquire({handle=140622355553920}, 2, 1, 18446744073709551615, 0) = 0 :3806 +6503199389422773:6503199389427972 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140622355553920}, 0x7ffd04faf410) = 0 :3807 +6503199389428784:6503199389428844 35231:35231 hsa_signal_load_relaxed({handle=140622355553920}) = 0 :3808 +6503199389435106:6503199389435186 35231:35231 hsa_signal_load_relaxed({handle=140622355553920}) = 0 :3812 +6503199389435436:6503199389435536 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 104 :3813 +6503199389435657:6503199389435707 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 104 :3814 +6503199389435857:6503199389435937 35231:35231 hsa_signal_load_relaxed({handle=140622355553664}) = 0 :3815 +6503199389436037:6503199389436108 35231:35231 hsa_signal_load_relaxed({handle=140622355553792}) = 0 :3816 +6503199389436308:6503199389436358 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355553792}, 1) = void :3817 +6503199389436538:6503199389436598 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 104 :3818 +6503199389436769:6503199389437260 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 104) = void :3819 +6503199389438492:6503199389438833 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :3821 +6503199389438983:6503199389439093 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf590, 0, 0, 0) = 0 :3822 +6503199389439243:6503199389439344 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf630, 0, 0, 0) = 0 :3823 +6503199389439474:6503199389439574 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf570, 0, 0, 0) = 0 :3824 +6503199389440365:6503199389442860 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a3fe000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :3825 +6503199389443281:6503199389443331 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 105 :3826 +6503199389443431:6503199389443481 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 104 :3827 +6503199389443601:6503199389443682 35231:35231 hsa_signal_load_relaxed({handle=140622355553536}) = 0 :3828 +6503199389443802:6503199389443852 35231:35231 hsa_signal_load_relaxed({handle=140622355553664}) = 0 :3829 +6503199389443962:6503199389444012 35231:35231 hsa_signal_load_relaxed({handle=140622355553536}) = 0 :3830 +6503199389444112:6503199389444162 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355553664}, 1) = void :3831 +6503199389445365:6503199389445435 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 104 :3832 +6503199389445565:6503199389445996 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 105) = void :3833 +6503199389446136:6503199389446186 35231:35231 hsa_signal_load_relaxed({handle=140622355553664}) = 1 :3834 +6503199389446296:6503199389446347 35231:35231 hsa_signal_load_relaxed({handle=140622355553664}) = 1 :3835 +6503199389446487:6503199389456596 35231:35231 hsa_signal_wait_scacquire({handle=140622355553664}, 2, 1, 10000, 1) = 1 :3836 +6503199389456756:6503199389456806 35231:35231 hsa_signal_load_relaxed({handle=140622355553408}) = 0 :3837 +6503199389456906:6503199389456956 35231:35231 hsa_signal_load_relaxed({handle=140622355553536}) = 0 :3838 +6503199389457056:6503199389457106 35231:35231 hsa_signal_load_relaxed({handle=140622355553408}) = 0 :3839 +6503199389457207:6503199389457257 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355553536}, 1) = void :3840 +6503199389457467:6503199389458619 35231:35231 hsa_amd_memory_async_copy(0x7fe12a3fe010, {handle=5845728}, 0x7fe129400000, {handle=5671888}, 4194304, 1, 0x639220, {handle=140622355553536}) = 0 :3841 +6503199389458820:6503199389458870 35231:35231 hsa_signal_load_relaxed({handle=140622355553664}) = 1 :3842 +6503199389458980:6503199389559066 35231:35231 hsa_signal_wait_scacquire({handle=140622355553664}, 2, 1, 100000, 1) = 1 :3843 +6503199389559176:6503199389560558 35231:35231 hsa_signal_wait_scacquire({handle=140622355553664}, 2, 1, 18446744073709551615, 0) = 0 :3844 +6503199389560719:6503199389560819 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140622355553664}, 0x7ffd04faf400) = 0 :3845 +6503199389560939:6503199389560989 35231:35231 hsa_signal_load_relaxed({handle=140622355553536}) = 1 :3846 +6503199389561099:6503199389661185 35231:35231 hsa_signal_wait_scacquire({handle=140622355553536}, 2, 1, 100000, 1) = 1 :3847 +6503199389661275:6503199391103871 35231:35231 hsa_signal_wait_scacquire({handle=140622355553536}, 2, 1, 18446744073709551615, 0) = 0 :3848 +6503199391104111:6503199391104211 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140622355553536}, 0x7ffd04faf410) = 0 :3849 +6503199391104823:6503199391104873 35231:35231 hsa_signal_load_relaxed({handle=140622355553536}) = 0 :3850 +6503199391105063:6503199391105384 35231:35231 hsa_signal_load_relaxed({handle=140622355553792}) = 0 :3851 +6503199391105484:6503199391105564 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140622355553792}, 0x7ffd04faf540) = 0 :3852 +6503199399683223:6503199399683523 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :3854 +6503199399683734:6503199399683834 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf590, 0, 0, 0) = 0 :3855 +6503199399683974:6503199399684064 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf630, 0, 0, 0) = 0 :3856 +6503199399684205:6503199399684295 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf570, 0, 0, 0) = 0 :3857 +6503199399685377:6503199399688653 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a7ff000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :3858 +6503199399689074:6503199399689164 35231:35231 hsa_signal_load_relaxed({handle=140622355553536}) = 0 :3859 +6503199399689304:6503199399689374 35231:35231 hsa_signal_load_relaxed({handle=140622355553280}) = 0 :3860 +6503199399689485:6503199399689545 35231:35231 hsa_signal_load_relaxed({handle=140622355553408}) = 0 :3861 +6503199399689805:6503199399689865 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355553408}, 1) = void :3862 +6503199399690116:6503199399691098 35231:35231 hsa_amd_memory_async_copy(0x7fe129a00000, {handle=5671888}, 0x7fe12a7ff010, {handle=5845728}, 4194304, 0, 0, {handle=140622355553408}) = 0 :3863 +6503199399691228:6503199399691278 35231:35231 hsa_signal_load_relaxed({handle=140622355553408}) = 1 :3864 +6503199399691418:6503199399791514 35231:35231 hsa_signal_wait_scacquire({handle=140622355553408}, 2, 1, 100000, 1) = 1 :3865 +6503199399791614:6503199401396641 35231:35231 hsa_signal_wait_scacquire({handle=140622355553408}, 2, 1, 18446744073709551615, 0) = 0 :3866 +6503199401396911:6503199401397012 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140622355553408}, 0x7ffd04faf410) = 0 :3867 +6503199401397763:6503199401397813 35231:35231 hsa_signal_load_relaxed({handle=140622355553408}) = 0 :3868 +6503199401403253:6503199401403323 35231:35231 hsa_signal_load_relaxed({handle=140622355553408}) = 0 :3872 +6503199401403534:6503199401403614 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 106 :3873 +6503199401403794:6503199401403844 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 106 :3874 +6503199401403985:6503199401404055 35231:35231 hsa_signal_load_relaxed({handle=140622355553152}) = 0 :3875 +6503199401404155:6503199401404205 35231:35231 hsa_signal_load_relaxed({handle=140622355553280}) = 0 :3876 +6503199401404425:6503199401404475 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355553280}, 1) = void :3877 +6503199401404636:6503199401404696 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 106 :3878 +6503199401405908:6503199401406359 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 106) = void :3879 +6503199401407511:6503199401407762 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :3881 +6503199401407912:6503199401408012 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf590, 0, 0, 0) = 0 :3882 +6503199401408152:6503199401408252 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf630, 0, 0, 0) = 0 :3883 +6503199401408383:6503199401408483 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf570, 0, 0, 0) = 0 :3884 +6503199401409234:6503199401412080 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a3fe000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :3885 +6503199401412440:6503199401412490 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 107 :3886 +6503199401412590:6503199401412641 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 106 :3887 +6503199401412781:6503199401412841 35231:35231 hsa_signal_load_relaxed({handle=140622355553024}) = 0 :3888 +6503199401412941:6503199401412991 35231:35231 hsa_signal_load_relaxed({handle=140622355553152}) = 0 :3889 +6503199401413091:6503199401413142 35231:35231 hsa_signal_load_relaxed({handle=140622355553024}) = 0 :3890 +6503199401413242:6503199401413292 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355553152}, 1) = void :3891 +6503199401413432:6503199401413482 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 106 :3892 +6503199401413592:6503199401414033 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 107) = void :3893 +6503199401414153:6503199401414193 35231:35231 hsa_signal_load_relaxed({handle=140622355553152}) = 1 :3894 +6503199401414294:6503199401414344 35231:35231 hsa_signal_load_relaxed({handle=140622355553152}) = 1 :3895 +6503199401414474:6503199401424593 35231:35231 hsa_signal_wait_scacquire({handle=140622355553152}, 2, 1, 10000, 1) = 1 :3896 +6503199401424773:6503199401424823 35231:35231 hsa_signal_load_relaxed({handle=140622355552896}) = 0 :3897 +6503199401424923:6503199401424973 35231:35231 hsa_signal_load_relaxed({handle=140622355553024}) = 0 :3898 +6503199401425074:6503199401425124 35231:35231 hsa_signal_load_relaxed({handle=140622355552896}) = 0 :3899 +6503199401425224:6503199401425274 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355553024}, 1) = void :3900 +6503199401426236:6503199401427278 35231:35231 hsa_amd_memory_async_copy(0x7fe12a3fe010, {handle=5845728}, 0x7fe129400000, {handle=5671888}, 4194304, 1, 0x6392f0, {handle=140622355553024}) = 0 :3901 +6503199401427428:6503199401427478 35231:35231 hsa_signal_load_relaxed({handle=140622355553152}) = 1 :3902 +6503199401427578:6503199401527674 35231:35231 hsa_signal_wait_scacquire({handle=140622355553152}, 2, 1, 100000, 1) = 1 :3903 +6503199401527784:6503199401534066 35231:35231 hsa_signal_wait_scacquire({handle=140622355553152}, 2, 1, 18446744073709551615, 0) = 0 :3904 +6503199401534216:6503199401534316 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140622355553152}, 0x7ffd04faf400) = 0 :3905 +6503199401534436:6503199401534477 35231:35231 hsa_signal_load_relaxed({handle=140622355553024}) = 1 :3906 +6503199401534577:6503199401634662 35231:35231 hsa_signal_wait_scacquire({handle=140622355553024}, 2, 1, 100000, 1) = 1 :3907 +6503199401634753:6503199403076937 35231:35231 hsa_signal_wait_scacquire({handle=140622355553024}, 2, 1, 18446744073709551615, 0) = 0 :3908 +6503199403077228:6503199403077308 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140622355553024}, 0x7ffd04faf410) = 0 :3909 +6503199403077879:6503199403077929 35231:35231 hsa_signal_load_relaxed({handle=140622355553024}) = 0 :3910 +6503199403078070:6503199403078390 35231:35231 hsa_signal_load_relaxed({handle=140622355553280}) = 0 :3911 +6503199403078500:6503199403078591 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140622355553280}, 0x7ffd04faf540) = 0 :3912 +6503199411657662:6503199411657953 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :3914 +6503199411658143:6503199411658243 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf590, 0, 0, 0) = 0 :3915 +6503199411658393:6503199411658484 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf630, 0, 0, 0) = 0 :3916 +6503199411658624:6503199411658714 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf570, 0, 0, 0) = 0 :3917 +6503199411659766:6503199411662701 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a7ff000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :3918 +6503199411663122:6503199411663222 35231:35231 hsa_signal_load_relaxed({handle=140622355553024}) = 0 :3919 +6503199411663343:6503199411663413 35231:35231 hsa_signal_load_relaxed({handle=140622355552768}) = 0 :3920 +6503199411663533:6503199411663593 35231:35231 hsa_signal_load_relaxed({handle=140622355552896}) = 0 :3921 +6503199411663813:6503199411663884 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355552896}, 1) = void :3922 +6503199411665577:6503199411666569 35231:35231 hsa_amd_memory_async_copy(0x7fe129a00000, {handle=5671888}, 0x7fe12a7ff010, {handle=5845728}, 4194304, 0, 0, {handle=140622355552896}) = 0 :3923 +6503199411666699:6503199411666779 35231:35231 hsa_signal_load_relaxed({handle=140622355552896}) = 1 :3924 +6503199411666889:6503199411766985 35231:35231 hsa_signal_wait_scacquire({handle=140622355552896}, 2, 1, 100000, 1) = 1 :3925 +6503199411767095:6503199413371631 35231:35231 hsa_signal_wait_scacquire({handle=140622355552896}, 2, 1, 18446744073709551615, 0) = 0 :3926 +6503199413372162:6503199413372292 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140622355552896}, 0x7ffd04faf410) = 0 :3927 +6503199413373134:6503199413373184 35231:35231 hsa_signal_load_relaxed({handle=140622355552896}) = 0 :3928 +6503199413378373:6503199413378424 35231:35231 hsa_signal_load_relaxed({handle=140622355552896}) = 0 :3932 +6503199413378644:6503199413378714 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 108 :3933 +6503199413378844:6503199413378894 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 108 :3934 +6503199413379015:6503199413379065 35231:35231 hsa_signal_load_relaxed({handle=140622355552640}) = 0 :3935 +6503199413379175:6503199413379225 35231:35231 hsa_signal_load_relaxed({handle=140622355552768}) = 0 :3936 +6503199413379445:6503199413379496 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355552768}, 1) = void :3937 +6503199413379636:6503199413379696 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 108 :3938 +6503199413379866:6503199413380327 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 108) = void :3939 +6503199413381429:6503199413381680 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :3941 +6503199413381820:6503199413381920 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf590, 0, 0, 0) = 0 :3942 +6503199413382070:6503199413382171 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf630, 0, 0, 0) = 0 :3943 +6503199413382301:6503199413382411 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf570, 0, 0, 0) = 0 :3944 +6503199413383293:6503199413385988 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a3fe000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :3945 +6503199413386348:6503199413386408 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 109 :3946 +6503199413386499:6503199413386549 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 108 :3947 +6503199413386669:6503199413386739 35231:35231 hsa_signal_load_relaxed({handle=140622355552512}) = 0 :3948 +6503199413387631:6503199413387681 35231:35231 hsa_signal_load_relaxed({handle=140622355552640}) = 0 :3949 +6503199413387791:6503199413387841 35231:35231 hsa_signal_load_relaxed({handle=140622355552512}) = 0 :3950 +6503199413387951:6503199413388001 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355552640}, 1) = void :3951 +6503199413388162:6503199413388222 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 108 :3952 +6503199413388592:6503199413389033 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 109) = void :3953 +6503199413389184:6503199413389234 35231:35231 hsa_signal_load_relaxed({handle=140622355552640}) = 1 :3954 +6503199413389324:6503199413389374 35231:35231 hsa_signal_load_relaxed({handle=140622355552640}) = 1 :3955 +6503199413389504:6503199413399623 35231:35231 hsa_signal_wait_scacquire({handle=140622355552640}, 2, 1, 10000, 1) = 1 :3956 +6503199413399783:6503199413399843 35231:35231 hsa_signal_load_relaxed({handle=140622355552384}) = 0 :3957 +6503199413399943:6503199413399994 35231:35231 hsa_signal_load_relaxed({handle=140622355552512}) = 0 :3958 +6503199413400124:6503199413400174 35231:35231 hsa_signal_load_relaxed({handle=140622355552384}) = 0 :3959 +6503199413400274:6503199413400324 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355552512}, 1) = void :3960 +6503199413400515:6503199413401476 35231:35231 hsa_amd_memory_async_copy(0x7fe12a3fe010, {handle=5845728}, 0x7fe129400000, {handle=5671888}, 4194304, 1, 0x6393c0, {handle=140622355552512}) = 0 :3961 +6503199413401647:6503199413401697 35231:35231 hsa_signal_load_relaxed({handle=140622355552640}) = 1 :3962 +6503199413401807:6503199413501893 35231:35231 hsa_signal_wait_scacquire({handle=140622355552640}, 2, 1, 100000, 1) = 1 :3963 +6503199413501993:6503199413502784 35231:35231 hsa_signal_wait_scacquire({handle=140622355552640}, 2, 1, 18446744073709551615, 0) = 0 :3964 +6503199413502934:6503199413503035 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140622355552640}, 0x7ffd04faf400) = 0 :3965 +6503199413503145:6503199413503195 35231:35231 hsa_signal_load_relaxed({handle=140622355552512}) = 1 :3966 +6503199413503285:6503199413603371 35231:35231 hsa_signal_wait_scacquire({handle=140622355552512}, 2, 1, 100000, 1) = 1 :3967 +6503199413603461:6503199415046437 35231:35231 hsa_signal_wait_scacquire({handle=140622355552512}, 2, 1, 18446744073709551615, 0) = 0 :3968 +6503199415046688:6503199415046778 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140622355552512}, 0x7ffd04faf410) = 0 :3969 +6503199415048070:6503199415048120 35231:35231 hsa_signal_load_relaxed({handle=140622355552512}) = 0 :3970 +6503199415048291:6503199415048601 35231:35231 hsa_signal_load_relaxed({handle=140622355552768}) = 0 :3971 +6503199415048701:6503199415048781 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140622355552768}, 0x7ffd04faf540) = 0 :3972 +6503199423656777:6503199423657087 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :3974 +6503199423657287:6503199423657398 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf590, 0, 0, 0) = 0 :3975 +6503199423657588:6503199423657698 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf630, 0, 0, 0) = 0 :3976 +6503199423657869:6503199423657979 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf570, 0, 0, 0) = 0 :3977 +6503199423659281:6503199423662547 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a7ff000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :3978 +6503199423663078:6503199423663168 35231:35231 hsa_signal_load_relaxed({handle=140622355552512}) = 0 :3979 +6503199423663349:6503199423663409 35231:35231 hsa_signal_load_relaxed({handle=140622355552256}) = 0 :3980 +6503199423663529:6503199423663579 35231:35231 hsa_signal_load_relaxed({handle=140622355552384}) = 0 :3981 +6503199423663860:6503199423663920 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355552384}, 1) = void :3982 +6503199423664080:6503199423665272 35231:35231 hsa_amd_memory_async_copy(0x7fe129a00000, {handle=5671888}, 0x7fe12a7ff010, {handle=5845728}, 4194304, 0, 0, {handle=140622355552384}) = 0 :3983 +6503199423665403:6503199423665483 35231:35231 hsa_signal_load_relaxed({handle=140622355552384}) = 1 :3984 +6503199423665653:6503199423765769 35231:35231 hsa_signal_wait_scacquire({handle=140622355552384}, 2, 1, 100000, 1) = 1 :3985 +6503199423765879:6503199425368261 35231:35231 hsa_signal_wait_scacquire({handle=140622355552384}, 2, 1, 18446744073709551615, 0) = 0 :3986 +6503199425368792:6503199425369042 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140622355552384}, 0x7ffd04faf410) = 0 :3987 +6503199425369824:6503199425369874 35231:35231 hsa_signal_load_relaxed({handle=140622355552384}) = 0 :3988 +6503199425375384:6503199425375434 35231:35231 hsa_signal_load_relaxed({handle=140622355552384}) = 0 :3992 +6503199425375685:6503199425375785 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 110 :3993 +6503199425375905:6503199425375955 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 110 :3994 +6503199425376847:6503199425376897 35231:35231 hsa_signal_load_relaxed({handle=140622355552128}) = 0 :3995 +6503199425377007:6503199425377057 35231:35231 hsa_signal_load_relaxed({handle=140622355552256}) = 0 :3996 +6503199425377257:6503199425377308 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355552256}, 1) = void :3997 +6503199425377498:6503199425377568 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 110 :3998 +6503199425377738:6503199425378229 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 110) = void :3999 +6503199425379492:6503199425379722 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :4001 +6503199425379892:6503199425379993 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf590, 0, 0, 0) = 0 :4002 +6503199425380153:6503199425380253 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf630, 0, 0, 0) = 0 :4003 +6503199425380383:6503199425380483 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf570, 0, 0, 0) = 0 :4004 +6503199425381435:6503199425384331 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a3fe000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :4005 +6503199425384711:6503199425384761 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 111 :4006 +6503199425384862:6503199425384912 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 110 :4007 +6503199425385052:6503199425385132 35231:35231 hsa_signal_load_relaxed({handle=140627542423296}) = 0 :4008 +6503199425385232:6503199425385282 35231:35231 hsa_signal_load_relaxed({handle=140622355552128}) = 0 :4009 +6503199425385393:6503199425385443 35231:35231 hsa_signal_load_relaxed({handle=140627542423296}) = 0 :4010 +6503199425385583:6503199425385633 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355552128}, 1) = void :4011 +6503199425385763:6503199425385813 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 110 :4012 +6503199425385924:6503199425386354 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 111) = void :4013 +6503199425386485:6503199425386535 35231:35231 hsa_signal_load_relaxed({handle=140622355552128}) = 1 :4014 +6503199425386625:6503199425386675 35231:35231 hsa_signal_load_relaxed({handle=140622355552128}) = 1 :4015 +6503199425386845:6503199425396944 35231:35231 hsa_signal_wait_scacquire({handle=140622355552128}, 2, 1, 10000, 1) = 1 :4016 +6503199425397124:6503199425397194 35231:35231 hsa_signal_load_relaxed({handle=140627542423168}) = 0 :4017 +6503199425398046:6503199425398096 35231:35231 hsa_signal_load_relaxed({handle=140627542423296}) = 0 :4018 +6503199425398216:6503199425398266 35231:35231 hsa_signal_load_relaxed({handle=140627542423168}) = 0 :4019 +6503199425398387:6503199425398437 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542423296}, 1) = void :4020 +6503199425398707:6503199425399799 35231:35231 hsa_amd_memory_async_copy(0x7fe12a3fe010, {handle=5845728}, 0x7fe129400000, {handle=5671888}, 4194304, 1, 0x7273b0, {handle=140627542423296}) = 0 :4021 +6503199425399950:6503199425400000 35231:35231 hsa_signal_load_relaxed({handle=140622355552128}) = 1 :4022 +6503199425400090:6503199425500175 35231:35231 hsa_signal_wait_scacquire({handle=140622355552128}, 2, 1, 100000, 1) = 1 :4023 +6503199425500266:6503199425500646 35231:35231 hsa_signal_wait_scacquire({handle=140622355552128}, 2, 1, 18446744073709551615, 0) = 0 :4024 +6503199425500807:6503199425500897 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140622355552128}, 0x7ffd04faf400) = 0 :4025 +6503199425501007:6503199425501057 35231:35231 hsa_signal_load_relaxed({handle=140627542423296}) = 1 :4026 +6503199425501157:6503199425601233 35231:35231 hsa_signal_wait_scacquire({handle=140627542423296}, 2, 1, 100000, 1) = 1 :4027 +6503199425601343:6503199427048497 35231:35231 hsa_signal_wait_scacquire({handle=140627542423296}, 2, 1, 18446744073709551615, 0) = 0 :4028 +6503199427048748:6503199427048828 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140627542423296}, 0x7ffd04faf410) = 0 :4029 +6503199427049449:6503199427049499 35231:35231 hsa_signal_load_relaxed({handle=140627542423296}) = 0 :4030 +6503199427049659:6503199427049990 35231:35231 hsa_signal_load_relaxed({handle=140622355552256}) = 0 :4031 +6503199427050110:6503199427050200 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140622355552256}, 0x7ffd04faf540) = 0 :4032 +6503199435625425:6503199435625715 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :4034 +6503199435625916:6503199435626016 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf590, 0, 0, 0) = 0 :4035 +6503199435626156:6503199435626246 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf630, 0, 0, 0) = 0 :4036 +6503199435626377:6503199435626467 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf570, 0, 0, 0) = 0 :4037 +6503199435627699:6503199435631336 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a7ff000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :4038 +6503199435631797:6503199435631867 35231:35231 hsa_signal_load_relaxed({handle=140627542423296}) = 0 :4039 +6503199435634241:6503199435634341 35231:35231 hsa_signal_load_relaxed({handle=140627542423040}) = 0 :4040 +6503199435634492:6503199435634552 35231:35231 hsa_signal_load_relaxed({handle=140627542423168}) = 0 :4041 +6503199435634812:6503199435634872 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542423168}, 1) = void :4042 +6503199435635043:6503199435636014 35231:35231 hsa_amd_memory_async_copy(0x7fe129a00000, {handle=5671888}, 0x7fe12a7ff010, {handle=5845728}, 4194304, 0, 0, {handle=140627542423168}) = 0 :4043 +6503199435636225:6503199435636275 35231:35231 hsa_signal_load_relaxed({handle=140627542423168}) = 1 :4044 +6503199435636395:6503199435736491 35231:35231 hsa_signal_wait_scacquire({handle=140627542423168}, 2, 1, 100000, 1) = 1 :4045 +6503199435736591:6503199437358128 35231:35231 hsa_signal_wait_scacquire({handle=140627542423168}, 2, 1, 18446744073709551615, 0) = 0 :4046 +6503199437358419:6503199437358579 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140627542423168}, 0x7ffd04faf410) = 0 :4047 +6503199437359411:6503199437359461 35231:35231 hsa_signal_load_relaxed({handle=140627542423168}) = 0 :4048 +6503199437363498:6503199437363569 35231:35231 hsa_signal_load_relaxed({handle=140627542423168}) = 0 :4052 +6503199437363799:6503199437363879 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 112 :4053 +6503199437364009:6503199437364059 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 112 :4054 +6503199437364200:6503199437364280 35231:35231 hsa_signal_load_relaxed({handle=140627542422912}) = 0 :4055 +6503199437364380:6503199437364450 35231:35231 hsa_signal_load_relaxed({handle=140627542423040}) = 0 :4056 +6503199437364601:6503199437364651 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542423040}, 1) = void :4057 +6503199437364821:6503199437364881 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 112 :4058 +6503199437365061:6503199437365532 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 112) = void :4059 +6503199437366704:6503199437366975 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :4061 +6503199437367125:6503199437367225 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf590, 0, 0, 0) = 0 :4062 +6503199437367366:6503199437367456 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf630, 0, 0, 0) = 0 :4063 +6503199437367596:6503199437367706 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf570, 0, 0, 0) = 0 :4064 +6503199437369830:6503199437372786 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a3fe000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :4065 +6503199437373216:6503199437373297 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 113 :4066 +6503199437373397:6503199437373447 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 112 :4067 +6503199437373567:6503199437373637 35231:35231 hsa_signal_load_relaxed({handle=140627542422784}) = 0 :4068 +6503199437373737:6503199437373788 35231:35231 hsa_signal_load_relaxed({handle=140627542422912}) = 0 :4069 +6503199437373898:6503199437373948 35231:35231 hsa_signal_load_relaxed({handle=140627542422784}) = 0 :4070 +6503199437374068:6503199437374118 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542422912}, 1) = void :4071 +6503199437374258:6503199437374319 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 112 :4072 +6503199437374699:6503199437375140 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 113) = void :4073 +6503199437375270:6503199437375320 35231:35231 hsa_signal_load_relaxed({handle=140627542422912}) = 1 :4074 +6503199437375421:6503199437375471 35231:35231 hsa_signal_load_relaxed({handle=140627542422912}) = 1 :4075 +6503199437375581:6503199437385680 35231:35231 hsa_signal_wait_scacquire({handle=140627542422912}, 2, 1, 10000, 1) = 1 :4076 +6503199437385820:6503199437385890 35231:35231 hsa_signal_load_relaxed({handle=140627542422656}) = 0 :4077 +6503199437385990:6503199437386040 35231:35231 hsa_signal_load_relaxed({handle=140627542422784}) = 0 :4078 +6503199437386150:6503199437386201 35231:35231 hsa_signal_load_relaxed({handle=140627542422656}) = 0 :4079 +6503199437386301:6503199437386351 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542422784}, 1) = void :4080 +6503199437386561:6503199437387693 35231:35231 hsa_amd_memory_async_copy(0x7fe12a3fe010, {handle=5845728}, 0x7fe129400000, {handle=5671888}, 4194304, 1, 0x7274b0, {handle=140627542422784}) = 0 :4081 +6503199437387834:6503199437387904 35231:35231 hsa_signal_load_relaxed({handle=140627542422912}) = 1 :4082 +6503199437387994:6503199437488080 35231:35231 hsa_signal_wait_scacquire({handle=140627542422912}, 2, 1, 100000, 1) = 1 :4083 +6503199437488180:6503199437488711 35231:35231 hsa_signal_wait_scacquire({handle=140627542422912}, 2, 1, 18446744073709551615, 0) = 0 :4084 +6503199437488881:6503199437488971 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140627542422912}, 0x7ffd04faf400) = 0 :4085 +6503199437489081:6503199437489121 35231:35231 hsa_signal_load_relaxed({handle=140627542422784}) = 1 :4086 +6503199437490063:6503199437590149 35231:35231 hsa_signal_wait_scacquire({handle=140627542422784}, 2, 1, 100000, 1) = 1 :4087 +6503199437590259:6503199439033646 35231:35231 hsa_signal_wait_scacquire({handle=140627542422784}, 2, 1, 18446744073709551615, 0) = 0 :4088 +6503199439033897:6503199439033977 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140627542422784}, 0x7ffd04faf410) = 0 :4089 +6503199439034638:6503199439034688 35231:35231 hsa_signal_load_relaxed({handle=140627542422784}) = 0 :4090 +6503199439034848:6503199439035199 35231:35231 hsa_signal_load_relaxed({handle=140627542423040}) = 0 :4091 +6503199439035299:6503199439035379 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140627542423040}, 0x7ffd04faf540) = 0 :4092 +6503199447631092:6503199447631473 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :4094 +6503199447631673:6503199447631773 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf590, 0, 0, 0) = 0 :4095 +6503199447631903:6503199447631993 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf630, 0, 0, 0) = 0 :4096 +6503199447632154:6503199447632254 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf570, 0, 0, 0) = 0 :4097 +6503199447633586:6503199447636652 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a7ff000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :4098 +6503199447637073:6503199447637183 35231:35231 hsa_signal_load_relaxed({handle=140627542422784}) = 0 :4099 +6503199447637343:6503199447637414 35231:35231 hsa_signal_load_relaxed({handle=140627542422528}) = 0 :4100 +6503199447637524:6503199447637584 35231:35231 hsa_signal_load_relaxed({handle=140627542422656}) = 0 :4101 +6503199447637824:6503199447637894 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542422656}, 1) = void :4102 +6503199447638055:6503199447639087 35231:35231 hsa_amd_memory_async_copy(0x7fe129a00000, {handle=5671888}, 0x7fe12a7ff010, {handle=5845728}, 4194304, 0, 0, {handle=140627542422656}) = 0 :4103 +6503199447639227:6503199447639277 35231:35231 hsa_signal_load_relaxed({handle=140627542422656}) = 1 :4104 +6503199447639427:6503199447739533 35231:35231 hsa_signal_wait_scacquire({handle=140627542422656}, 2, 1, 100000, 1) = 1 :4105 +6503199447739633:6503199449347255 35231:35231 hsa_signal_wait_scacquire({handle=140627542422656}, 2, 1, 18446744073709551615, 0) = 0 :4106 +6503199449347515:6503199449347646 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140627542422656}, 0x7ffd04faf410) = 0 :4107 +6503199449348397:6503199449348447 35231:35231 hsa_signal_load_relaxed({handle=140627542422656}) = 0 :4108 +6503199449354138:6503199449354198 35231:35231 hsa_signal_load_relaxed({handle=140627542422656}) = 0 :4112 +6503199449354528:6503199449354628 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 114 :4113 +6503199449354769:6503199449354819 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 114 :4114 +6503199449354949:6503199449355019 35231:35231 hsa_signal_load_relaxed({handle=140627542422400}) = 0 :4115 +6503199449355119:6503199449355169 35231:35231 hsa_signal_load_relaxed({handle=140627542422528}) = 0 :4116 +6503199449355330:6503199449355380 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542422528}, 1) = void :4117 +6503199449355530:6503199449355600 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 114 :4118 +6503199449355771:6503199449356251 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 114) = void :4119 +6503199449358285:6503199449358536 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :4121 +6503199449358676:6503199449358776 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf590, 0, 0, 0) = 0 :4122 +6503199449358916:6503199449359017 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf630, 0, 0, 0) = 0 :4123 +6503199449359157:6503199449359267 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf570, 0, 0, 0) = 0 :4124 +6503199449360089:6503199449362804 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a3fe000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :4125 +6503199449363194:6503199449363244 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 115 :4126 +6503199449363345:6503199449363395 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 114 :4127 +6503199449363515:6503199449363585 35231:35231 hsa_signal_load_relaxed({handle=140627542422272}) = 0 :4128 +6503199449363705:6503199449363755 35231:35231 hsa_signal_load_relaxed({handle=140627542422400}) = 0 :4129 +6503199449363856:6503199449363906 35231:35231 hsa_signal_load_relaxed({handle=140627542422272}) = 0 :4130 +6503199449364006:6503199449364056 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542422400}, 1) = void :4131 +6503199449364186:6503199449364246 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 114 :4132 +6503199449364607:6503199449365038 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 115) = void :4133 +6503199449365879:6503199449365929 35231:35231 hsa_signal_load_relaxed({handle=140627542422400}) = 1 :4134 +6503199449366030:6503199449366080 35231:35231 hsa_signal_load_relaxed({handle=140627542422400}) = 1 :4135 +6503199449366190:6503199449376289 35231:35231 hsa_signal_wait_scacquire({handle=140627542422400}, 2, 1, 10000, 1) = 1 :4136 +6503199449376459:6503199449376539 35231:35231 hsa_signal_load_relaxed({handle=140627542422144}) = 0 :4137 +6503199449376639:6503199449376689 35231:35231 hsa_signal_load_relaxed({handle=140627542422272}) = 0 :4138 +6503199449376800:6503199449376850 35231:35231 hsa_signal_load_relaxed({handle=140627542422144}) = 0 :4139 +6503199449376940:6503199449377000 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542422272}, 1) = void :4140 +6503199449377190:6503199449378262 35231:35231 hsa_amd_memory_async_copy(0x7fe12a3fe010, {handle=5845728}, 0x7fe129400000, {handle=5671888}, 4194304, 1, 0x727580, {handle=140627542422272}) = 0 :4141 +6503199449378413:6503199449378463 35231:35231 hsa_signal_load_relaxed({handle=140627542422400}) = 1 :4142 +6503199449378573:6503199449477807 35231:35231 hsa_signal_wait_scacquire({handle=140627542422400}, 2, 1, 100000, 1) = 0 :4143 +6503199449477997:6503199449478097 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140627542422400}, 0x7ffd04faf400) = 0 :4144 +6503199449478248:6503199449478298 35231:35231 hsa_signal_load_relaxed({handle=140627542422272}) = 1 :4145 +6503199449478388:6503199449578474 35231:35231 hsa_signal_wait_scacquire({handle=140627542422272}, 2, 1, 100000, 1) = 1 :4146 +6503199449578574:6503199451028192 35231:35231 hsa_signal_wait_scacquire({handle=140627542422272}, 2, 1, 18446744073709551615, 0) = 0 :4147 +6503199451028443:6503199451028533 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140627542422272}, 0x7ffd04faf410) = 0 :4148 +6503199451029144:6503199451029194 35231:35231 hsa_signal_load_relaxed({handle=140627542422272}) = 0 :4149 +6503199451029344:6503199451029475 35231:35231 hsa_signal_load_relaxed({handle=140627542422528}) = 0 :4150 +6503199451029575:6503199451029655 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140627542422528}, 0x7ffd04faf540) = 0 :4151 +6503199459635246:6503199459635546 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :4153 +6503199459635747:6503199459635857 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf590, 0, 0, 0) = 0 :4154 +6503199459636007:6503199459636107 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf630, 0, 0, 0) = 0 :4155 +6503199459636237:6503199459636338 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf570, 0, 0, 0) = 0 :4156 +6503199459639013:6503199459641928 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a7ff000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :4157 +6503199459642389:6503199459642469 35231:35231 hsa_signal_load_relaxed({handle=140627542422272}) = 0 :4158 +6503199459642619:6503199459642699 35231:35231 hsa_signal_load_relaxed({handle=140627542422016}) = 0 :4159 +6503199459642800:6503199459642870 35231:35231 hsa_signal_load_relaxed({handle=140627542422144}) = 0 :4160 +6503199459643060:6503199459643130 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542422144}, 1) = void :4161 +6503199459643301:6503199459644292 35231:35231 hsa_amd_memory_async_copy(0x7fe129a00000, {handle=5671888}, 0x7fe12a7ff010, {handle=5845728}, 4194304, 0, 0, {handle=140627542422144}) = 0 :4162 +6503199459644433:6503199459644483 35231:35231 hsa_signal_load_relaxed({handle=140627542422144}) = 1 :4163 +6503199459644623:6503199459744729 35231:35231 hsa_signal_wait_scacquire({handle=140627542422144}, 2, 1, 100000, 1) = 1 :4164 +6503199459744829:6503199461353813 35231:35231 hsa_signal_wait_scacquire({handle=140627542422144}, 2, 1, 18446744073709551615, 0) = 0 :4165 +6503199461354104:6503199461358983 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140627542422144}, 0x7ffd04faf410) = 0 :4166 +6503199461359764:6503199461359814 35231:35231 hsa_signal_load_relaxed({handle=140627542422144}) = 0 :4167 +6503199461364904:6503199461364984 35231:35231 hsa_signal_load_relaxed({handle=140627542422144}) = 0 :4171 +6503199461365194:6503199461365274 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 116 :4172 +6503199461365404:6503199461365455 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 116 :4173 +6503199461365585:6503199461365645 35231:35231 hsa_signal_load_relaxed({handle=140627542421888}) = 0 :4174 +6503199461365755:6503199461365815 35231:35231 hsa_signal_load_relaxed({handle=140627542422016}) = 0 :4175 +6503199461365996:6503199461366046 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542422016}, 1) = void :4176 +6503199461366196:6503199461366266 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 116 :4177 +6503199461366446:6503199461366907 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 116) = void :4178 +6503199461369081:6503199461369332 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :4180 +6503199461369462:6503199461369572 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf590, 0, 0, 0) = 0 :4181 +6503199461370714:6503199461370815 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf630, 0, 0, 0) = 0 :4182 +6503199461370955:6503199461371065 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf570, 0, 0, 0) = 0 :4183 +6503199461371957:6503199461374712 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a3fe000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :4184 +6503199461375153:6503199461375213 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 117 :4185 +6503199461375303:6503199461375353 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 116 :4186 +6503199461375473:6503199461375543 35231:35231 hsa_signal_load_relaxed({handle=140627542421760}) = 0 :4187 +6503199461375643:6503199461375694 35231:35231 hsa_signal_load_relaxed({handle=140627542421888}) = 0 :4188 +6503199461375804:6503199461375854 35231:35231 hsa_signal_load_relaxed({handle=140627542421760}) = 0 :4189 +6503199461375944:6503199461375994 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542421888}, 1) = void :4190 +6503199461376154:6503199461376215 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 116 :4191 +6503199461376335:6503199461376776 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 117) = void :4192 +6503199461376896:6503199461376946 35231:35231 hsa_signal_load_relaxed({handle=140627542421888}) = 1 :4193 +6503199461377046:6503199461377086 35231:35231 hsa_signal_load_relaxed({handle=140627542421888}) = 1 :4194 +6503199461377216:6503199461387405 35231:35231 hsa_signal_wait_scacquire({handle=140627542421888}, 2, 1, 10000, 1) = 1 :4195 +6503199461387586:6503199461387646 35231:35231 hsa_signal_load_relaxed({handle=140627542421632}) = 0 :4196 +6503199461387776:6503199461387826 35231:35231 hsa_signal_load_relaxed({handle=140627542421760}) = 0 :4197 +6503199461387926:6503199461387976 35231:35231 hsa_signal_load_relaxed({handle=140627542421632}) = 0 :4198 +6503199461388087:6503199461388137 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542421760}, 1) = void :4199 +6503199461388347:6503199461389459 35231:35231 hsa_amd_memory_async_copy(0x7fe12a3fe010, {handle=5845728}, 0x7fe129400000, {handle=5671888}, 4194304, 1, 0x727650, {handle=140627542421760}) = 0 :4200 +6503199461389599:6503199461389649 35231:35231 hsa_signal_load_relaxed({handle=140627542421888}) = 1 :4201 +6503199461389760:6503199461489845 35231:35231 hsa_signal_wait_scacquire({handle=140627542421888}, 2, 1, 100000, 1) = 1 :4202 +6503199461490727:6503199461491108 35231:35231 hsa_signal_wait_scacquire({handle=140627542421888}, 2, 1, 18446744073709551615, 0) = 0 :4203 +6503199461491298:6503199461491388 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140627542421888}, 0x7ffd04faf400) = 0 :4204 +6503199461491498:6503199461491548 35231:35231 hsa_signal_load_relaxed({handle=140627542421760}) = 1 :4205 +6503199461491639:6503199461591724 35231:35231 hsa_signal_wait_scacquire({handle=140627542421760}, 2, 1, 100000, 1) = 1 :4206 +6503199461591814:6503199463034490 35231:35231 hsa_signal_wait_scacquire({handle=140627542421760}, 2, 1, 18446744073709551615, 0) = 0 :4207 +6503199463034761:6503199463034861 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140627542421760}, 0x7ffd04faf410) = 0 :4208 +6503199463035442:6503199463035492 35231:35231 hsa_signal_load_relaxed({handle=140627542421760}) = 0 :4209 +6503199463035662:6503199463036003 35231:35231 hsa_signal_load_relaxed({handle=140627542422016}) = 0 :4210 +6503199463036133:6503199463036213 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140627542422016}, 0x7ffd04faf540) = 0 :4211 +6503199471602131:6503199471602411 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :4213 +6503199471602602:6503199471602702 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf590, 0, 0, 0) = 0 :4214 +6503199471602872:6503199471602962 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf630, 0, 0, 0) = 0 :4215 +6503199471603103:6503199471603203 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf570, 0, 0, 0) = 0 :4216 +6503199471604515:6503199471607701 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a7ff000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :4217 +6503199471608162:6503199471608232 35231:35231 hsa_signal_load_relaxed({handle=140627542421760}) = 0 :4218 +6503199471608372:6503199471608463 35231:35231 hsa_signal_load_relaxed({handle=140627542421504}) = 0 :4219 +6503199471608573:6503199471608633 35231:35231 hsa_signal_load_relaxed({handle=140627542421632}) = 0 :4220 +6503199471608843:6503199471608913 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542421632}, 1) = void :4221 +6503199471609074:6503199471610286 35231:35231 hsa_amd_memory_async_copy(0x7fe129a00000, {handle=5671888}, 0x7fe12a7ff010, {handle=5845728}, 4194304, 0, 0, {handle=140627542421632}) = 0 :4222 +6503199471610426:6503199471610466 35231:35231 hsa_signal_load_relaxed({handle=140627542421632}) = 1 :4223 +6503199471610586:6503199471710682 35231:35231 hsa_signal_wait_scacquire({handle=140627542421632}, 2, 1, 100000, 1) = 1 :4224 +6503199471710772:6503199473317262 35231:35231 hsa_signal_wait_scacquire({handle=140627542421632}, 2, 1, 18446744073709551615, 0) = 0 :4225 +6503199473318855:6503199473318985 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140627542421632}, 0x7ffd04faf410) = 0 :4226 +6503199473319746:6503199473319796 35231:35231 hsa_signal_load_relaxed({handle=140627542421632}) = 0 :4227 +6503199473324385:6503199473324445 35231:35231 hsa_signal_load_relaxed({handle=140627542421632}) = 0 :4231 +6503199473324675:6503199473324746 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 118 :4232 +6503199473324876:6503199473324936 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 118 :4233 +6503199473325076:6503199473325166 35231:35231 hsa_signal_load_relaxed({handle=140622355554176}) = 0 :4234 +6503199473325277:6503199473325347 35231:35231 hsa_signal_load_relaxed({handle=140627542421504}) = 0 :4235 +6503199473325507:6503199473325557 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542421504}, 1) = void :4236 +6503199473325707:6503199473325778 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 118 :4237 +6503199473325958:6503199473326429 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 118) = void :4238 +6503199473327451:6503199473327701 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :4240 +6503199473327861:6503199473327962 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf590, 0, 0, 0) = 0 :4241 +6503199473328112:6503199473328212 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf630, 0, 0, 0) = 0 :4242 +6503199473328342:6503199473328442 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf570, 0, 0, 0) = 0 :4243 +6503199473329274:6503199473331668 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a3fe000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :4244 +6503199473332049:6503199473332099 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 119 :4245 +6503199473332199:6503199473332250 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 118 :4246 +6503199473332370:6503199473332430 35231:35231 hsa_signal_load_relaxed({handle=140622355554048}) = 0 :4247 +6503199473332550:6503199473332600 35231:35231 hsa_signal_load_relaxed({handle=140622355554176}) = 0 :4248 +6503199473332700:6503199473332750 35231:35231 hsa_signal_load_relaxed({handle=140622355554048}) = 0 :4249 +6503199473332861:6503199473332911 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355554176}, 1) = void :4250 +6503199473333913:6503199473333973 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 118 :4251 +6503199473334073:6503199473334514 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 119) = void :4252 +6503199473334654:6503199473334704 35231:35231 hsa_signal_load_relaxed({handle=140622355554176}) = 1 :4253 +6503199473334794:6503199473334844 35231:35231 hsa_signal_load_relaxed({handle=140622355554176}) = 1 :4254 +6503199473334965:6503199473345063 35231:35231 hsa_signal_wait_scacquire({handle=140622355554176}, 2, 1, 10000, 1) = 1 :4255 +6503199473345224:6503199473345304 35231:35231 hsa_signal_load_relaxed({handle=140622355553920}) = 0 :4256 +6503199473345404:6503199473345454 35231:35231 hsa_signal_load_relaxed({handle=140622355554048}) = 0 :4257 +6503199473345554:6503199473345604 35231:35231 hsa_signal_load_relaxed({handle=140622355553920}) = 0 :4258 +6503199473345715:6503199473345765 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355554048}, 1) = void :4259 +6503199473345965:6503199473347047 35231:35231 hsa_amd_memory_async_copy(0x7fe12a3fe010, {handle=5845728}, 0x7fe129400000, {handle=5671888}, 4194304, 1, 0x727720, {handle=140622355554048}) = 0 :4260 +6503199473347227:6503199473347307 35231:35231 hsa_signal_load_relaxed({handle=140622355554176}) = 1 :4261 +6503199473347398:6503199473447483 35231:35231 hsa_signal_wait_scacquire({handle=140622355554176}, 2, 1, 100000, 1) = 1 :4262 +6503199473447583:6503199473448706 35231:35231 hsa_signal_wait_scacquire({handle=140622355554176}, 2, 1, 18446744073709551615, 0) = 0 :4263 +6503199473448876:6503199473448986 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140622355554176}, 0x7ffd04faf400) = 0 :4264 +6503199473449126:6503199473449166 35231:35231 hsa_signal_load_relaxed({handle=140622355554048}) = 1 :4265 +6503199473449267:6503199473549352 35231:35231 hsa_signal_wait_scacquire({handle=140622355554048}, 2, 1, 100000, 1) = 1 :4266 +6503199473549442:6503199474993791 35231:35231 hsa_signal_wait_scacquire({handle=140622355554048}, 2, 1, 18446744073709551615, 0) = 0 :4267 +6503199474994042:6503199474994122 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140622355554048}, 0x7ffd04faf410) = 0 :4268 +6503199474994713:6503199474994783 35231:35231 hsa_signal_load_relaxed({handle=140622355554048}) = 0 :4269 +6503199474994933:6503199474995284 35231:35231 hsa_signal_load_relaxed({handle=140627542421504}) = 0 :4270 +6503199474995404:6503199474995484 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140627542421504}, 0x7ffd04faf540) = 0 :4271 +6503199484114908:6503199484115209 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :4273 +6503199484115429:6503199484115529 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf590, 0, 0, 0) = 0 :4274 +6503199484115680:6503199484115780 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf630, 0, 0, 0) = 0 :4275 +6503199484115930:6503199484116030 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf570, 0, 0, 0) = 0 :4276 +6503199484117333:6503199484120278 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a7ff000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :4277 +6503199484120689:6503199484120799 35231:35231 hsa_signal_load_relaxed({handle=140622355554048}) = 0 :4278 +6503199484120919:6503199484120989 35231:35231 hsa_signal_load_relaxed({handle=140622355553792}) = 0 :4279 +6503199484121090:6503199484121150 35231:35231 hsa_signal_load_relaxed({handle=140622355553920}) = 0 :4280 +6503199484121360:6503199484121430 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355553920}, 1) = void :4281 +6503199484121601:6503199484122612 35231:35231 hsa_amd_memory_async_copy(0x7fe129a00000, {handle=5671888}, 0x7fe12a7ff010, {handle=5845728}, 4194304, 0, 0, {handle=140622355553920}) = 0 :4282 +6503199484122743:6503199484122803 35231:35231 hsa_signal_load_relaxed({handle=140622355553920}) = 1 :4283 +6503199484122943:6503199484223039 35231:35231 hsa_signal_wait_scacquire({handle=140622355553920}, 2, 1, 100000, 1) = 1 :4284 +6503199484223139:6503199485827605 35231:35231 hsa_signal_wait_scacquire({handle=140622355553920}, 2, 1, 18446744073709551615, 0) = 0 :4285 +6503199485827885:6503199485828005 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140622355553920}, 0x7ffd04faf410) = 0 :4286 +6503199485828627:6503199485828677 35231:35231 hsa_signal_load_relaxed({handle=140622355553920}) = 0 :4287 +6503199485833726:6503199485833776 35231:35231 hsa_signal_load_relaxed({handle=140622355553920}) = 0 :4291 +6503199485834007:6503199485834087 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 120 :4292 +6503199485834217:6503199485834267 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 120 :4293 +6503199485834407:6503199485834487 35231:35231 hsa_signal_load_relaxed({handle=140622355553664}) = 0 :4294 +6503199485834578:6503199485834648 35231:35231 hsa_signal_load_relaxed({handle=140622355553792}) = 0 :4295 +6503199485834848:6503199485834898 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355553792}, 1) = void :4296 +6503199485835038:6503199485835109 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 120 :4297 +6503199485836411:6503199485836882 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 120) = void :4298 +6503199485838044:6503199485838244 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :4300 +6503199485838405:6503199485838505 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf590, 0, 0, 0) = 0 :4301 +6503199485838645:6503199485838745 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf630, 0, 0, 0) = 0 :4302 +6503199485838876:6503199485838976 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf570, 0, 0, 0) = 0 :4303 +6503199485839747:6503199485842452 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a3fe000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :4304 +6503199485842823:6503199485842903 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 121 :4305 +6503199485843003:6503199485843043 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 120 :4306 +6503199485843164:6503199485843234 35231:35231 hsa_signal_load_relaxed({handle=140622355553536}) = 0 :4307 +6503199485843334:6503199485843384 35231:35231 hsa_signal_load_relaxed({handle=140622355553664}) = 0 :4308 +6503199485843484:6503199485843524 35231:35231 hsa_signal_load_relaxed({handle=140622355553536}) = 0 :4309 +6503199485843624:6503199485843675 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355553664}, 1) = void :4310 +6503199485843845:6503199485843905 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 120 :4311 +6503199485844005:6503199485844456 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 121) = void :4312 +6503199485844566:6503199485844606 35231:35231 hsa_signal_load_relaxed({handle=140622355553664}) = 1 :4313 +6503199485844706:6503199485844757 35231:35231 hsa_signal_load_relaxed({handle=140622355553664}) = 1 :4314 +6503199485844877:6503199485854965 35231:35231 hsa_signal_wait_scacquire({handle=140622355553664}, 2, 1, 10000, 1) = 1 :4315 +6503199485855126:6503199485855206 35231:35231 hsa_signal_load_relaxed({handle=140622355553408}) = 0 :4316 +6503199485855306:6503199485855356 35231:35231 hsa_signal_load_relaxed({handle=140622355553536}) = 0 :4317 +6503199485855456:6503199485855506 35231:35231 hsa_signal_load_relaxed({handle=140622355553408}) = 0 :4318 +6503199485855607:6503199485855657 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355553536}, 1) = void :4319 +6503199485858041:6503199485859063 35231:35231 hsa_amd_memory_async_copy(0x7fe12a3fe010, {handle=5845728}, 0x7fe129400000, {handle=5671888}, 4194304, 1, 0x7277f0, {handle=140622355553536}) = 0 :4320 +6503199485859213:6503199485859263 35231:35231 hsa_signal_load_relaxed({handle=140622355553664}) = 1 :4321 +6503199485859364:6503199485959680 35231:35231 hsa_signal_wait_scacquire({handle=140622355553664}, 2, 1, 100000, 1) = 0 :4322 +6503199485959820:6503199485959920 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140622355553664}, 0x7ffd04faf400) = 0 :4323 +6503199485960070:6503199485960120 35231:35231 hsa_signal_load_relaxed({handle=140622355553536}) = 1 :4324 +6503199485960211:6503199486060296 35231:35231 hsa_signal_wait_scacquire({handle=140622355553536}, 2, 1, 100000, 1) = 1 :4325 +6503199486060386:6503199487503142 35231:35231 hsa_signal_wait_scacquire({handle=140622355553536}, 2, 1, 18446744073709551615, 0) = 0 :4326 +6503199487503383:6503199487503483 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140622355553536}, 0x7ffd04faf410) = 0 :4327 +6503199487504134:6503199487504184 35231:35231 hsa_signal_load_relaxed({handle=140622355553536}) = 0 :4328 +6503199487504334:6503199487504655 35231:35231 hsa_signal_load_relaxed({handle=140622355553792}) = 0 :4329 +6503199487504745:6503199487504825 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140622355553792}, 0x7ffd04faf540) = 0 :4330 +6503199496080631:6503199496080952 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :4332 +6503199496081152:6503199496081252 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf590, 0, 0, 0) = 0 :4333 +6503199496081383:6503199496081483 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf630, 0, 0, 0) = 0 :4334 +6503199496081623:6503199496081713 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf570, 0, 0, 0) = 0 :4335 +6503199496082925:6503199496085851 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a7ff000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :4336 +6503199496086322:6503199496086422 35231:35231 hsa_signal_load_relaxed({handle=140622355553536}) = 0 :4337 +6503199496086552:6503199496086622 35231:35231 hsa_signal_load_relaxed({handle=140622355553280}) = 0 :4338 +6503199496086743:6503199496086803 35231:35231 hsa_signal_load_relaxed({handle=140622355553408}) = 0 :4339 +6503199496087003:6503199496087063 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355553408}, 1) = void :4340 +6503199496087223:6503199496088225 35231:35231 hsa_amd_memory_async_copy(0x7fe129a00000, {handle=5671888}, 0x7fe12a7ff010, {handle=5845728}, 4194304, 0, 0, {handle=140622355553408}) = 0 :4341 +6503199496090019:6503199496090089 35231:35231 hsa_signal_load_relaxed({handle=140622355553408}) = 1 :4342 +6503199496090239:6503199496190335 35231:35231 hsa_signal_wait_scacquire({handle=140622355553408}, 2, 1, 100000, 1) = 1 :4343 +6503199496190425:6503199497795371 35231:35231 hsa_signal_wait_scacquire({handle=140622355553408}, 2, 1, 18446744073709551615, 0) = 0 :4344 +6503199497795632:6503199497795722 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140622355553408}, 0x7ffd04faf410) = 0 :4345 +6503199497796363:6503199497796413 35231:35231 hsa_signal_load_relaxed({handle=140622355553408}) = 0 :4346 +6503199497801292:6503199497801343 35231:35231 hsa_signal_load_relaxed({handle=140622355553408}) = 0 :4350 +6503199497801543:6503199497801613 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 122 :4351 +6503199497801773:6503199497801823 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 122 :4352 +6503199497801934:6503199497801994 35231:35231 hsa_signal_load_relaxed({handle=140622355553152}) = 0 :4353 +6503199497802094:6503199497802164 35231:35231 hsa_signal_load_relaxed({handle=140622355553280}) = 0 :4354 +6503199497802374:6503199497802425 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355553280}, 1) = void :4355 +6503199497802575:6503199497802635 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 122 :4356 +6503199497802805:6503199497803276 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 122) = void :4357 +6503199497804278:6503199497804518 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :4359 +6503199497804669:6503199497804769 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf590, 0, 0, 0) = 0 :4360 +6503199497804899:6503199497804989 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf630, 0, 0, 0) = 0 :4361 +6503199497805130:6503199497805230 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf570, 0, 0, 0) = 0 :4362 +6503199497806071:6503199497808386 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a3fe000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :4363 +6503199497808736:6503199497808786 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 123 :4364 +6503199497808907:6503199497808957 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 122 :4365 +6503199497809097:6503199497809157 35231:35231 hsa_signal_load_relaxed({handle=140622355553024}) = 0 :4366 +6503199497809257:6503199497809307 35231:35231 hsa_signal_load_relaxed({handle=140622355553152}) = 0 :4367 +6503199497810199:6503199497810249 35231:35231 hsa_signal_load_relaxed({handle=140622355553024}) = 0 :4368 +6503199497810369:6503199497810419 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355553152}, 1) = void :4369 +6503199497810570:6503199497810630 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 122 :4370 +6503199497810740:6503199497811191 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 123) = void :4371 +6503199497811321:6503199497811371 35231:35231 hsa_signal_load_relaxed({handle=140622355553152}) = 1 :4372 +6503199497811471:6503199497811521 35231:35231 hsa_signal_load_relaxed({handle=140622355553152}) = 1 :4373 +6503199497811642:6503199497821740 35231:35231 hsa_signal_wait_scacquire({handle=140622355553152}, 2, 1, 10000, 1) = 1 :4374 +6503199497821891:6503199497821941 35231:35231 hsa_signal_load_relaxed({handle=140622355552896}) = 0 :4375 +6503199497822031:6503199497822081 35231:35231 hsa_signal_load_relaxed({handle=140622355553024}) = 0 :4376 +6503199497822181:6503199497822231 35231:35231 hsa_signal_load_relaxed({handle=140622355552896}) = 0 :4377 +6503199497822321:6503199497822372 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355553024}, 1) = void :4378 +6503199497822582:6503199497823544 35231:35231 hsa_amd_memory_async_copy(0x7fe12a3fe010, {handle=5845728}, 0x7fe129400000, {handle=5671888}, 4194304, 1, 0x7278c0, {handle=140622355553024}) = 0 :4379 +6503199497823734:6503199497823784 35231:35231 hsa_signal_load_relaxed({handle=140622355553152}) = 1 :4380 +6503199497823874:6503199497923990 35231:35231 hsa_signal_wait_scacquire({handle=140622355553152}, 2, 1, 100000, 1) = 1 :4381 +6503199497924080:6503199497926134 35231:35231 hsa_signal_wait_scacquire({handle=140622355553152}, 2, 1, 18446744073709551615, 0) = 0 :4382 +6503199497926294:6503199497926404 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140622355553152}, 0x7ffd04faf400) = 0 :4383 +6503199497926515:6503199497926565 35231:35231 hsa_signal_load_relaxed({handle=140622355553024}) = 1 :4384 +6503199497926675:6503199498026761 35231:35231 hsa_signal_wait_scacquire({handle=140622355553024}, 2, 1, 100000, 1) = 1 :4385 +6503199498026851:6503199499470148 35231:35231 hsa_signal_wait_scacquire({handle=140622355553024}, 2, 1, 18446744073709551615, 0) = 0 :4386 +6503199499470388:6503199499470488 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140622355553024}, 0x7ffd04faf410) = 0 :4387 +6503199499471089:6503199499471129 35231:35231 hsa_signal_load_relaxed({handle=140622355553024}) = 0 :4388 +6503199499472071:6503199499472392 35231:35231 hsa_signal_load_relaxed({handle=140622355553280}) = 0 :4389 +6503199499472512:6503199499472592 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140622355553280}, 0x7ffd04faf540) = 0 :4390 +6503199508064557:6503199508064848 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :4392 +6503199508065048:6503199508065149 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf590, 0, 0, 0) = 0 :4393 +6503199508065299:6503199508065399 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf630, 0, 0, 0) = 0 :4394 +6503199508065539:6503199508065639 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf570, 0, 0, 0) = 0 :4395 +6503199508066802:6503199508069607 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a7ff000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :4396 +6503199508070068:6503199508070178 35231:35231 hsa_signal_load_relaxed({handle=140622355553024}) = 0 :4397 +6503199508070298:6503199508070368 35231:35231 hsa_signal_load_relaxed({handle=140622355552768}) = 0 :4398 +6503199508070488:6503199508070539 35231:35231 hsa_signal_load_relaxed({handle=140622355552896}) = 0 :4399 +6503199508070699:6503199508070779 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355552896}, 1) = void :4400 +6503199508070949:6503199508071951 35231:35231 hsa_amd_memory_async_copy(0x7fe129a00000, {handle=5671888}, 0x7fe12a7ff010, {handle=5845728}, 4194304, 0, 0, {handle=140622355552896}) = 0 :4401 +6503199508072081:6503199508072131 35231:35231 hsa_signal_load_relaxed({handle=140622355552896}) = 1 :4402 +6503199508072252:6503199508172347 35231:35231 hsa_signal_wait_scacquire({handle=140622355552896}, 2, 1, 100000, 1) = 1 :4403 +6503199508172437:6503199509777294 35231:35231 hsa_signal_wait_scacquire({handle=140622355552896}, 2, 1, 18446744073709551615, 0) = 0 :4404 +6503199509777845:6503199509777945 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140622355552896}, 0x7ffd04faf410) = 0 :4405 +6503199509778707:6503199509778757 35231:35231 hsa_signal_load_relaxed({handle=140622355552896}) = 0 :4406 +6503199509784167:6503199509784217 35231:35231 hsa_signal_load_relaxed({handle=140622355552896}) = 0 :4410 +6503199509784437:6503199509784517 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 124 :4411 +6503199509784648:6503199509784698 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 124 :4412 +6503199509784808:6503199509784858 35231:35231 hsa_signal_load_relaxed({handle=140622355552640}) = 0 :4413 +6503199509788174:6503199509788234 35231:35231 hsa_signal_load_relaxed({handle=140622355552768}) = 0 :4414 +6503199509788455:6503199509788505 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355552768}, 1) = void :4415 +6503199509788665:6503199509788745 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 124 :4416 +6503199509788916:6503199509789406 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 124) = void :4417 +6503199509790559:6503199509790769 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :4419 +6503199509790949:6503199509791060 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf590, 0, 0, 0) = 0 :4420 +6503199509791200:6503199509791290 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf630, 0, 0, 0) = 0 :4421 +6503199509791430:6503199509791540 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf570, 0, 0, 0) = 0 :4422 +6503199509792392:6503199509795107 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a3fe000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :4423 +6503199509795508:6503199509795558 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 125 :4424 +6503199509795648:6503199509795708 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 124 :4425 +6503199509795828:6503199509795889 35231:35231 hsa_signal_load_relaxed({handle=140622355552512}) = 0 :4426 +6503199509795989:6503199509796039 35231:35231 hsa_signal_load_relaxed({handle=140622355552640}) = 0 :4427 +6503199509796139:6503199509796189 35231:35231 hsa_signal_load_relaxed({handle=140622355552512}) = 0 :4428 +6503199509796299:6503199509796339 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355552640}, 1) = void :4429 +6503199509796480:6503199509796540 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 124 :4430 +6503199509796640:6503199509797081 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 125) = void :4431 +6503199509797211:6503199509797261 35231:35231 hsa_signal_load_relaxed({handle=140622355552640}) = 1 :4432 +6503199509797361:6503199509797411 35231:35231 hsa_signal_load_relaxed({handle=140622355552640}) = 1 :4433 +6503199509797512:6503199509807600 35231:35231 hsa_signal_wait_scacquire({handle=140622355552640}, 2, 1, 10000, 1) = 1 :4434 +6503199509807761:6503199509807811 35231:35231 hsa_signal_load_relaxed({handle=140622355552384}) = 0 :4435 +6503199509807911:6503199509807961 35231:35231 hsa_signal_load_relaxed({handle=140622355552512}) = 0 :4436 +6503199509808853:6503199509808923 35231:35231 hsa_signal_load_relaxed({handle=140622355552384}) = 0 :4437 +6503199509809033:6503199509809083 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355552512}, 1) = void :4438 +6503199509809313:6503199509810385 35231:35231 hsa_amd_memory_async_copy(0x7fe12a3fe010, {handle=5845728}, 0x7fe129400000, {handle=5671888}, 4194304, 1, 0x727990, {handle=140622355552512}) = 0 :4439 +6503199509810546:6503199509810596 35231:35231 hsa_signal_load_relaxed({handle=140622355552640}) = 1 :4440 +6503199509810696:6503199509910772 35231:35231 hsa_signal_wait_scacquire({handle=140622355552640}, 2, 1, 100000, 1) = 1 :4441 +6503199509910882:6503199509911884 35231:35231 hsa_signal_wait_scacquire({handle=140622355552640}, 2, 1, 18446744073709551615, 0) = 0 :4442 +6503199509912054:6503199509912144 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140622355552640}, 0x7ffd04faf400) = 0 :4443 +6503199509912264:6503199509912314 35231:35231 hsa_signal_load_relaxed({handle=140622355552512}) = 1 :4444 +6503199509912435:6503199510012510 35231:35231 hsa_signal_wait_scacquire({handle=140622355552512}, 2, 1, 100000, 1) = 1 :4445 +6503199510012600:6503199511456398 35231:35231 hsa_signal_wait_scacquire({handle=140622355552512}, 2, 1, 18446744073709551615, 0) = 0 :4446 +6503199511456639:6503199511456749 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140622355552512}, 0x7ffd04faf410) = 0 :4447 +6503199511457350:6503199511457390 35231:35231 hsa_signal_load_relaxed({handle=140622355552512}) = 0 :4448 +6503199511457561:6503199511457881 35231:35231 hsa_signal_load_relaxed({handle=140622355552768}) = 0 :4449 +6503199511458001:6503199511458081 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140622355552768}, 0x7ffd04faf540) = 0 :4450 +6503199520037393:6503199520037704 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :4452 +6503199520037934:6503199520038035 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf590, 0, 0, 0) = 0 :4453 +6503199520038185:6503199520038275 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf630, 0, 0, 0) = 0 :4454 +6503199520038415:6503199520038506 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf570, 0, 0, 0) = 0 :4455 +6503199520039808:6503199520042773 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a7ff000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :4456 +6503199520043224:6503199520043355 35231:35231 hsa_signal_load_relaxed({handle=140622355552512}) = 0 :4457 +6503199520043495:6503199520043565 35231:35231 hsa_signal_load_relaxed({handle=140622355552256}) = 0 :4458 +6503199520045328:6503199520045388 35231:35231 hsa_signal_load_relaxed({handle=140622355552384}) = 0 :4459 +6503199520045619:6503199520045679 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355552384}, 1) = void :4460 +6503199520045869:6503199520046951 35231:35231 hsa_amd_memory_async_copy(0x7fe129a00000, {handle=5671888}, 0x7fe12a7ff010, {handle=5845728}, 4194304, 0, 0, {handle=140622355552384}) = 0 :4461 +6503199520047081:6503199520047132 35231:35231 hsa_signal_load_relaxed({handle=140622355552384}) = 1 :4462 +6503199520047252:6503199520147498 35231:35231 hsa_signal_wait_scacquire({handle=140622355552384}, 2, 1, 100000, 1) = 1 :4463 +6503199520147598:6503199521774255 35231:35231 hsa_signal_wait_scacquire({handle=140622355552384}, 2, 1, 18446744073709551615, 0) = 0 :4464 +6503199521774796:6503199521774886 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140622355552384}, 0x7ffd04faf410) = 0 :4465 +6503199521775698:6503199521775748 35231:35231 hsa_signal_load_relaxed({handle=140622355552384}) = 0 :4466 +6503199521781098:6503199521781148 35231:35231 hsa_signal_load_relaxed({handle=140622355552384}) = 0 :4470 +6503199521781388:6503199521781478 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 126 :4471 +6503199521781599:6503199521781649 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 126 :4472 +6503199521781769:6503199521782380 35231:35231 hsa_signal_load_relaxed({handle=140622355552128}) = 0 :4473 +6503199521782480:6503199521782821 35231:35231 hsa_signal_load_relaxed({handle=140622355552256}) = 0 :4474 +6503199521783151:6503199521783202 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355552256}, 1) = void :4475 +6503199521783352:6503199521783412 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 126 :4476 +6503199521783592:6503199521784053 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 126) = void :4477 +6503199521785235:6503199521785496 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :4479 +6503199521785666:6503199521785756 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf590, 0, 0, 0) = 0 :4480 +6503199521785897:6503199521785987 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf630, 0, 0, 0) = 0 :4481 +6503199521786127:6503199521786227 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf570, 0, 0, 0) = 0 :4482 +6503199521787019:6503199521789704 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a3fe000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :4483 +6503199521790816:6503199521790876 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 127 :4484 +6503199521791006:6503199521791056 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 126 :4485 +6503199521791206:6503199521791287 35231:35231 hsa_signal_load_relaxed({handle=140627542423296}) = 0 :4486 +6503199521791387:6503199521791437 35231:35231 hsa_signal_load_relaxed({handle=140622355552128}) = 0 :4487 +6503199521791537:6503199521791587 35231:35231 hsa_signal_load_relaxed({handle=140627542423296}) = 0 :4488 +6503199521791677:6503199521791727 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355552128}, 1) = void :4489 +6503199521791868:6503199521791918 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 126 :4490 +6503199521792028:6503199521792459 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 127) = void :4491 +6503199521792589:6503199521792639 35231:35231 hsa_signal_load_relaxed({handle=140622355552128}) = 1 :4492 +6503199521792729:6503199521792779 35231:35231 hsa_signal_load_relaxed({handle=140622355552128}) = 1 :4493 +6503199521792930:6503199521803028 35231:35231 hsa_signal_wait_scacquire({handle=140622355552128}, 2, 1, 10000, 1) = 1 :4494 +6503199521803219:6503199521803279 35231:35231 hsa_signal_load_relaxed({handle=140627542423168}) = 0 :4495 +6503199521803379:6503199521803429 35231:35231 hsa_signal_load_relaxed({handle=140627542423296}) = 0 :4496 +6503199521803529:6503199521803579 35231:35231 hsa_signal_load_relaxed({handle=140627542423168}) = 0 :4497 +6503199521803700:6503199521803750 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542423296}, 1) = void :4498 +6503199521803960:6503199521804972 35231:35231 hsa_amd_memory_async_copy(0x7fe12a3fe010, {handle=5845728}, 0x7fe129400000, {handle=5671888}, 4194304, 1, 0x727a60, {handle=140627542423296}) = 0 :4499 +6503199521805112:6503199521805162 35231:35231 hsa_signal_load_relaxed({handle=140622355552128}) = 1 :4500 +6503199521805262:6503199521905338 35231:35231 hsa_signal_wait_scacquire({handle=140622355552128}, 2, 1, 100000, 1) = 1 :4501 +6503199521905438:6503199521906610 35231:35231 hsa_signal_wait_scacquire({handle=140622355552128}, 2, 1, 18446744073709551615, 0) = 0 :4502 +6503199521906761:6503199521906841 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140622355552128}, 0x7ffd04faf400) = 0 :4503 +6503199521906951:6503199521907001 35231:35231 hsa_signal_load_relaxed({handle=140627542423296}) = 1 :4504 +6503199521907121:6503199522007187 35231:35231 hsa_signal_wait_scacquire({handle=140627542423296}, 2, 1, 100000, 1) = 1 :4505 +6503199522008029:6503199523451686 35231:35231 hsa_signal_wait_scacquire({handle=140627542423296}, 2, 1, 18446744073709551615, 0) = 0 :4506 +6503199523451947:6503199523452027 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140627542423296}, 0x7ffd04faf410) = 0 :4507 +6503199523452598:6503199523452648 35231:35231 hsa_signal_load_relaxed({handle=140627542423296}) = 0 :4508 +6503199523452808:6503199523453129 35231:35231 hsa_signal_load_relaxed({handle=140622355552256}) = 0 :4509 +6503199523453229:6503199523453309 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140622355552256}, 0x7ffd04faf540) = 0 :4510 +6503199532020128:6503199532020439 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :4512 +6503199532020649:6503199532020749 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf590, 0, 0, 0) = 0 :4513 +6503199532020879:6503199532020980 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf630, 0, 0, 0) = 0 :4514 +6503199532021130:6503199532021220 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf570, 0, 0, 0) = 0 :4515 +6503199532022382:6503199532025278 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a7ff000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :4516 +6503199532025718:6503199532025788 35231:35231 hsa_signal_load_relaxed({handle=140627542423296}) = 0 :4517 +6503199532025909:6503199532026009 35231:35231 hsa_signal_load_relaxed({handle=140627542423040}) = 0 :4518 +6503199532026129:6503199532026189 35231:35231 hsa_signal_load_relaxed({handle=140627542423168}) = 0 :4519 +6503199532026390:6503199532026450 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542423168}, 1) = void :4520 +6503199532026650:6503199532027632 35231:35231 hsa_amd_memory_async_copy(0x7fe129a00000, {handle=5671888}, 0x7fe12a7ff010, {handle=5845728}, 4194304, 0, 0, {handle=140627542423168}) = 0 :4521 +6503199532027762:6503199532027812 35231:35231 hsa_signal_load_relaxed({handle=140627542423168}) = 1 :4522 +6503199532027953:6503199532128048 35231:35231 hsa_signal_wait_scacquire({handle=140627542423168}, 2, 1, 100000, 1) = 1 :4523 +6503199532128148:6503199533708249 35231:35231 hsa_signal_wait_scacquire({handle=140627542423168}, 2, 1, 18446744073709551615, 0) = 0 :4524 +6503199533708539:6503199533713388 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140627542423168}, 0x7ffd04faf410) = 0 :4525 +6503199533714220:6503199533714260 35231:35231 hsa_signal_load_relaxed({handle=140627542423168}) = 0 :4526 +6503199533720672:6503199533720732 35231:35231 hsa_signal_load_relaxed({handle=140627542423168}) = 0 :4530 +6503199533723407:6503199533723517 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 128 :4531 +6503199533723647:6503199533723968 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 128 :4532 +6503199533724108:6503199533724188 35231:35231 hsa_signal_load_relaxed({handle=140627542422912}) = 0 :4533 +6503199533724299:6503199533724359 35231:35231 hsa_signal_load_relaxed({handle=140627542423040}) = 0 :4534 +6503199533724599:6503199533724649 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542423040}, 1) = void :4535 +6503199533724780:6503199533724850 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 128 :4536 +6503199533725020:6503199533725471 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 128) = void :4537 +6503199533726673:6503199533726934 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :4539 +6503199533727084:6503199533727194 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf590, 0, 0, 0) = 0 :4540 +6503199533727354:6503199533727455 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf630, 0, 0, 0) = 0 :4541 +6503199533727615:6503199533727725 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf570, 0, 0, 0) = 0 :4542 +6503199533728567:6503199533731542 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a3fe000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :4543 +6503199533731953:6503199533732003 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 129 :4544 +6503199533732103:6503199533732153 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 128 :4545 +6503199533732273:6503199533732344 35231:35231 hsa_signal_load_relaxed({handle=140627542422784}) = 0 :4546 +6503199533732444:6503199533732504 35231:35231 hsa_signal_load_relaxed({handle=140627542422912}) = 0 :4547 +6503199533732604:6503199533732654 35231:35231 hsa_signal_load_relaxed({handle=140627542422784}) = 0 :4548 +6503199533732774:6503199533732825 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542422912}, 1) = void :4549 +6503199533732965:6503199533733025 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 128 :4550 +6503199533733125:6503199533733566 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 129) = void :4551 +6503199533733676:6503199533733726 35231:35231 hsa_signal_load_relaxed({handle=140627542422912}) = 1 :4552 +6503199533734598:6503199533734648 35231:35231 hsa_signal_load_relaxed({handle=140627542422912}) = 1 :4553 +6503199533734758:6503199533744837 35231:35231 hsa_signal_wait_scacquire({handle=140627542422912}, 2, 1, 10000, 1) = 1 :4554 +6503199533744987:6503199533745047 35231:35231 hsa_signal_load_relaxed({handle=140627542422656}) = 0 :4555 +6503199533745147:6503199533745197 35231:35231 hsa_signal_load_relaxed({handle=140627542422784}) = 0 :4556 +6503199533745298:6503199533745348 35231:35231 hsa_signal_load_relaxed({handle=140627542422656}) = 0 :4557 +6503199533745468:6503199533745508 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542422784}, 1) = void :4558 +6503199533745748:6503199533746840 35231:35231 hsa_amd_memory_async_copy(0x7fe12a3fe010, {handle=5845728}, 0x7fe129400000, {handle=5671888}, 4194304, 1, 0xafa0f0, {handle=140627542422784}) = 0 :4559 +6503199533746981:6503199533747031 35231:35231 hsa_signal_load_relaxed({handle=140627542422912}) = 1 :4560 +6503199533747131:6503199533847207 35231:35231 hsa_signal_wait_scacquire({handle=140627542422912}, 2, 1, 100000, 1) = 1 :4561 +6503199533847307:6503199533847948 35231:35231 hsa_signal_wait_scacquire({handle=140627542422912}, 2, 1, 18446744073709551615, 0) = 0 :4562 +6503199533848108:6503199533848208 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140627542422912}, 0x7ffd04faf400) = 0 :4563 +6503199533848319:6503199533848369 35231:35231 hsa_signal_load_relaxed({handle=140627542422784}) = 1 :4564 +6503199533848459:6503199533948545 35231:35231 hsa_signal_wait_scacquire({handle=140627542422784}, 2, 1, 100000, 1) = 1 :4565 +6503199533948635:6503199535392432 35231:35231 hsa_signal_wait_scacquire({handle=140627542422784}, 2, 1, 18446744073709551615, 0) = 0 :4566 +6503199535392663:6503199535392773 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140627542422784}, 0x7ffd04faf410) = 0 :4567 +6503199535393384:6503199535393434 35231:35231 hsa_signal_load_relaxed({handle=140627542422784}) = 0 :4568 +6503199535393615:6503199535394065 35231:35231 hsa_signal_load_relaxed({handle=140627542423040}) = 0 :4569 +6503199535394176:6503199535394256 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140627542423040}, 0x7ffd04faf540) = 0 :4570 +6503199543953941:6503199543954242 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :4572 +6503199543954432:6503199543954532 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf590, 0, 0, 0) = 0 :4573 +6503199543954683:6503199543954783 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf630, 0, 0, 0) = 0 :4574 +6503199543954933:6503199543955033 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf570, 0, 0, 0) = 0 :4575 +6503199543957328:6503199543960293 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a7ff000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :4576 +6503199543960704:6503199543960804 35231:35231 hsa_signal_load_relaxed({handle=140627542422784}) = 0 :4577 +6503199543960944:6503199543961014 35231:35231 hsa_signal_load_relaxed({handle=140627542422528}) = 0 :4578 +6503199543961125:6503199543961185 35231:35231 hsa_signal_load_relaxed({handle=140627542422656}) = 0 :4579 +6503199543961365:6503199543961435 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542422656}, 1) = void :4580 +6503199543961606:6503199543962627 35231:35231 hsa_amd_memory_async_copy(0x7fe129a00000, {handle=5671888}, 0x7fe12a7ff010, {handle=5845728}, 4194304, 0, 0, {handle=140627542422656}) = 0 :4581 +6503199543962768:6503199543962818 35231:35231 hsa_signal_load_relaxed({handle=140627542422656}) = 1 :4582 +6503199543962958:6503199544063054 35231:35231 hsa_signal_wait_scacquire({handle=140627542422656}, 2, 1, 100000, 1) = 1 :4583 +6503199544063154:6503199545669353 35231:35231 hsa_signal_wait_scacquire({handle=140627542422656}, 2, 1, 18446744073709551615, 0) = 0 :4584 +6503199545669623:6503199545669714 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140627542422656}, 0x7ffd04faf410) = 0 :4585 +6503199545670465:6503199545670515 35231:35231 hsa_signal_load_relaxed({handle=140627542422656}) = 0 :4586 +6503199545674372:6503199545674422 35231:35231 hsa_signal_load_relaxed({handle=140627542422656}) = 0 :4590 +6503199545674623:6503199545674703 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 130 :4591 +6503199545674843:6503199545675154 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 130 :4592 +6503199545675274:6503199545675354 35231:35231 hsa_signal_load_relaxed({handle=140627542422400}) = 0 :4593 +6503199545675454:6503199545675504 35231:35231 hsa_signal_load_relaxed({handle=140627542422528}) = 0 :4594 +6503199545675755:6503199545675805 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542422528}, 1) = void :4595 +6503199545675945:6503199545676015 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 130 :4596 +6503199545676376:6503199545676837 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 130) = void :4597 +6503199545677889:6503199545678089 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :4599 +6503199545678239:6503199545678350 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf590, 0, 0, 0) = 0 :4600 +6503199545679602:6503199545679712 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf630, 0, 0, 0) = 0 :4601 +6503199545679862:6503199545679963 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf570, 0, 0, 0) = 0 :4602 +6503199545680754:6503199545683449 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a3fe000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :4603 +6503199545683820:6503199545683870 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 131 :4604 +6503199545683970:6503199545684020 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 130 :4605 +6503199545684140:6503199545684210 35231:35231 hsa_signal_load_relaxed({handle=140627542422272}) = 0 :4606 +6503199545684331:6503199545684381 35231:35231 hsa_signal_load_relaxed({handle=140627542422400}) = 0 :4607 +6503199545684491:6503199545684541 35231:35231 hsa_signal_load_relaxed({handle=140627542422272}) = 0 :4608 +6503199545684641:6503199545684691 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542422400}, 1) = void :4609 +6503199545684822:6503199545684882 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 130 :4610 +6503199545684992:6503199545685433 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 131) = void :4611 +6503199545685583:6503199545685623 35231:35231 hsa_signal_load_relaxed({handle=140627542422400}) = 1 :4612 +6503199545685723:6503199545685773 35231:35231 hsa_signal_load_relaxed({handle=140627542422400}) = 1 :4613 +6503199545685914:6503199545696022 35231:35231 hsa_signal_wait_scacquire({handle=140627542422400}, 2, 1, 10000, 1) = 1 :4614 +6503199545696203:6503199545696283 35231:35231 hsa_signal_load_relaxed({handle=140627542422144}) = 0 :4615 +6503199545696383:6503199545696433 35231:35231 hsa_signal_load_relaxed({handle=140627542422272}) = 0 :4616 +6503199545696533:6503199545696583 35231:35231 hsa_signal_load_relaxed({handle=140627542422144}) = 0 :4617 +6503199545696694:6503199545696744 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542422272}, 1) = void :4618 +6503199545696924:6503199545697946 35231:35231 hsa_amd_memory_async_copy(0x7fe12a3fe010, {handle=5845728}, 0x7fe129400000, {handle=5671888}, 4194304, 1, 0xafa1c0, {handle=140627542422272}) = 0 :4619 +6503199545698086:6503199545698136 35231:35231 hsa_signal_load_relaxed({handle=140627542422400}) = 1 :4620 +6503199545698236:6503199545798312 35231:35231 hsa_signal_wait_scacquire({handle=140627542422400}, 2, 1, 100000, 1) = 1 :4621 +6503199545799184:6503199545799795 35231:35231 hsa_signal_wait_scacquire({handle=140627542422400}, 2, 1, 18446744073709551615, 0) = 0 :4622 +6503199545799955:6503199545800055 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140627542422400}, 0x7ffd04faf400) = 0 :4623 +6503199545800175:6503199545800226 35231:35231 hsa_signal_load_relaxed({handle=140627542422272}) = 1 :4624 +6503199545800336:6503199545900411 35231:35231 hsa_signal_wait_scacquire({handle=140627542422272}, 2, 1, 100000, 1) = 1 :4625 +6503199545900552:6503199547341554 35231:35231 hsa_signal_wait_scacquire({handle=140627542422272}, 2, 1, 18446744073709551615, 0) = 0 :4626 +6503199547341795:6503199547341895 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140627542422272}, 0x7ffd04faf410) = 0 :4627 +6503199547342486:6503199547342536 35231:35231 hsa_signal_load_relaxed({handle=140627542422272}) = 0 :4628 +6503199547342747:6503199547342797 35231:35231 hsa_signal_load_relaxed({handle=140627542422528}) = 0 :4629 +6503199547342907:6503199547342997 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140627542422528}, 0x7ffd04faf540) = 0 :4630 +6503199555890450:6503199555890781 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :4632 +6503199555890981:6503199555891091 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf590, 0, 0, 0) = 0 :4633 +6503199555891241:6503199555891342 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf630, 0, 0, 0) = 0 :4634 +6503199555891502:6503199555891602 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf570, 0, 0, 0) = 0 :4635 +6503199555892764:6503199555895760 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a7ff000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :4636 +6503199555896181:6503199555896271 35231:35231 hsa_signal_load_relaxed({handle=140627542422272}) = 0 :4637 +6503199555896411:6503199555896481 35231:35231 hsa_signal_load_relaxed({handle=140627542422016}) = 0 :4638 +6503199555896591:6503199555896661 35231:35231 hsa_signal_load_relaxed({handle=140627542422144}) = 0 :4639 +6503199555896842:6503199555896932 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542422144}, 1) = void :4640 +6503199555897092:6503199555898094 35231:35231 hsa_amd_memory_async_copy(0x7fe129a00000, {handle=5671888}, 0x7fe12a7ff010, {handle=5845728}, 4194304, 0, 0, {handle=140627542422144}) = 0 :4641 +6503199555898244:6503199555898295 35231:35231 hsa_signal_load_relaxed({handle=140627542422144}) = 1 :4642 +6503199555898435:6503199555998530 35231:35231 hsa_signal_wait_scacquire({handle=140627542422144}, 2, 1, 100000, 1) = 1 :4643 +6503199555998631:6503199557614808 35231:35231 hsa_signal_wait_scacquire({handle=140627542422144}, 2, 1, 18446744073709551615, 0) = 0 :4644 +6503199557616371:6503199557616481 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140627542422144}, 0x7ffd04faf410) = 0 :4645 +6503199557617283:6503199557617353 35231:35231 hsa_signal_load_relaxed({handle=140627542422144}) = 0 :4646 +6503199557621230:6503199557621290 35231:35231 hsa_signal_load_relaxed({handle=140627542422144}) = 0 :4650 +6503199557621491:6503199557621561 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 132 :4651 +6503199557621701:6503199557622022 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 132 :4652 +6503199557622132:6503199557622212 35231:35231 hsa_signal_load_relaxed({handle=140627542421888}) = 0 :4653 +6503199557622322:6503199557622372 35231:35231 hsa_signal_load_relaxed({handle=140627542422016}) = 0 :4654 +6503199557622583:6503199557622643 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542422016}, 1) = void :4655 +6503199557622773:6503199557622843 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 132 :4656 +6503199557623224:6503199557623685 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 132) = void :4657 +6503199557625759:6503199557625979 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :4659 +6503199557626129:6503199557626229 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf590, 0, 0, 0) = 0 :4660 +6503199557626360:6503199557626460 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf630, 0, 0, 0) = 0 :4661 +6503199557626620:6503199557626720 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf570, 0, 0, 0) = 0 :4662 +6503199557627562:6503199557629996 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a3fe000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :4663 +6503199557630387:6503199557630437 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 133 :4664 +6503199557630537:6503199557630588 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 132 :4665 +6503199557630738:6503199557630798 35231:35231 hsa_signal_load_relaxed({handle=140627542421760}) = 0 :4666 +6503199557630898:6503199557630948 35231:35231 hsa_signal_load_relaxed({handle=140627542421888}) = 0 :4667 +6503199557631058:6503199557631098 35231:35231 hsa_signal_load_relaxed({handle=140627542421760}) = 0 :4668 +6503199557631219:6503199557631269 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542421888}, 1) = void :4669 +6503199557632130:6503199557632190 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 132 :4670 +6503199557632321:6503199557632762 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 133) = void :4671 +6503199557632902:6503199557632952 35231:35231 hsa_signal_load_relaxed({handle=140627542421888}) = 1 :4672 +6503199557633042:6503199557633092 35231:35231 hsa_signal_load_relaxed({handle=140627542421888}) = 1 :4673 +6503199557633232:6503199557643351 35231:35231 hsa_signal_wait_scacquire({handle=140627542421888}, 2, 1, 10000, 1) = 1 :4674 +6503199557643511:6503199557643582 35231:35231 hsa_signal_load_relaxed({handle=140627542421632}) = 0 :4675 +6503199557643682:6503199557643732 35231:35231 hsa_signal_load_relaxed({handle=140627542421760}) = 0 :4676 +6503199557643832:6503199557643882 35231:35231 hsa_signal_load_relaxed({handle=140627542421632}) = 0 :4677 +6503199557643982:6503199557644032 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542421760}, 1) = void :4678 +6503199557644243:6503199557645245 35231:35231 hsa_amd_memory_async_copy(0x7fe12a3fe010, {handle=5845728}, 0x7fe129400000, {handle=5671888}, 4194304, 1, 0xafa290, {handle=140627542421760}) = 0 :4679 +6503199557645415:6503199557645465 35231:35231 hsa_signal_load_relaxed({handle=140627542421888}) = 1 :4680 +6503199557645575:6503199557745661 35231:35231 hsa_signal_wait_scacquire({handle=140627542421888}, 2, 1, 100000, 1) = 1 :4681 +6503199557745761:6503199557746242 35231:35231 hsa_signal_wait_scacquire({handle=140627542421888}, 2, 1, 18446744073709551615, 0) = 0 :4682 +6503199557746392:6503199557746492 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140627542421888}, 0x7ffd04faf400) = 0 :4683 +6503199557746603:6503199557746653 35231:35231 hsa_signal_load_relaxed({handle=140627542421760}) = 1 :4684 +6503199557746753:6503199557846829 35231:35231 hsa_signal_wait_scacquire({handle=140627542421760}, 2, 1, 100000, 1) = 1 :4685 +6503199557846929:6503199559293983 35231:35231 hsa_signal_wait_scacquire({handle=140627542421760}, 2, 1, 18446744073709551615, 0) = 0 :4686 +6503199559294223:6503199559294323 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140627542421760}, 0x7ffd04faf410) = 0 :4687 +6503199559294985:6503199559295035 35231:35231 hsa_signal_load_relaxed({handle=140627542421760}) = 0 :4688 +6503199559295175:6503199559295516 35231:35231 hsa_signal_load_relaxed({handle=140627542422016}) = 0 :4689 +6503199559295616:6503199559295696 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140627542422016}, 0x7ffd04faf540) = 0 :4690 +6503199567887671:6503199567887952 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :4692 +6503199567888122:6503199567888222 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf590, 0, 0, 0) = 0 :4693 +6503199567888373:6503199567888463 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf630, 0, 0, 0) = 0 :4694 +6503199567888613:6503199567888703 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf570, 0, 0, 0) = 0 :4695 +6503199567889946:6503199567892621 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a7ff000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :4696 +6503199567893081:6503199567893162 35231:35231 hsa_signal_load_relaxed({handle=140627542421760}) = 0 :4697 +6503199567893292:6503199567893382 35231:35231 hsa_signal_load_relaxed({handle=140627542421504}) = 0 :4698 +6503199567893492:6503199567893552 35231:35231 hsa_signal_load_relaxed({handle=140627542421632}) = 0 :4699 +6503199567893773:6503199567893833 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542421632}, 1) = void :4700 +6503199567894003:6503199567895215 35231:35231 hsa_amd_memory_async_copy(0x7fe129a00000, {handle=5671888}, 0x7fe12a7ff010, {handle=5845728}, 4194304, 0, 0, {handle=140627542421632}) = 0 :4701 +6503199567895346:6503199567895396 35231:35231 hsa_signal_load_relaxed({handle=140627542421632}) = 1 :4702 +6503199567895536:6503199567995642 35231:35231 hsa_signal_wait_scacquire({handle=140627542421632}, 2, 1, 100000, 1) = 1 :4703 +6503199567995732:6503199569605377 35231:35231 hsa_signal_wait_scacquire({handle=140627542421632}, 2, 1, 18446744073709551615, 0) = 0 :4704 +6503199569605648:6503199569605758 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140627542421632}, 0x7ffd04faf410) = 0 :4705 +6503199569606479:6503199569606529 35231:35231 hsa_signal_load_relaxed({handle=140627542421632}) = 0 :4706 +6503199569610326:6503199569610396 35231:35231 hsa_signal_load_relaxed({handle=140627542421632}) = 0 :4710 +6503199569610607:6503199569610677 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 134 :4711 +6503199569610807:6503199569610857 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 134 :4712 +6503199569610988:6503199569611599 35231:35231 hsa_signal_load_relaxed({handle=140622355554176}) = 0 :4713 +6503199569611709:6503199569611769 35231:35231 hsa_signal_load_relaxed({handle=140627542421504}) = 0 :4714 +6503199569612230:6503199569612290 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542421504}, 1) = void :4715 +6503199569612430:6503199569612500 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 134 :4716 +6503199569614434:6503199569614905 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 134) = void :4717 +6503199569616889:6503199569617099 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :4719 +6503199569617239:6503199569617339 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf590, 0, 0, 0) = 0 :4720 +6503199569617480:6503199569617570 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf630, 0, 0, 0) = 0 :4721 +6503199569617710:6503199569617810 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf570, 0, 0, 0) = 0 :4722 +6503199569618652:6503199569621297 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a3fe000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :4723 +6503199569621707:6503199569621758 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 135 :4724 +6503199569621858:6503199569621908 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 134 :4725 +6503199569622028:6503199569622369 35231:35231 hsa_signal_load_relaxed({handle=140622355554048}) = 0 :4726 +6503199569622469:6503199569622519 35231:35231 hsa_signal_load_relaxed({handle=140622355554176}) = 0 :4727 +6503199569622619:6503199569622669 35231:35231 hsa_signal_load_relaxed({handle=140622355554048}) = 0 :4728 +6503199569622789:6503199569622840 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355554176}, 1) = void :4729 +6503199569622970:6503199569623020 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 134 :4730 +6503199569623130:6503199569623561 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 135) = void :4731 +6503199569623681:6503199569623721 35231:35231 hsa_signal_load_relaxed({handle=140622355554176}) = 1 :4732 +6503199569623821:6503199569623871 35231:35231 hsa_signal_load_relaxed({handle=140622355554176}) = 1 :4733 +6503199569624002:6503199569634100 35231:35231 hsa_signal_wait_scacquire({handle=140622355554176}, 2, 1, 10000, 1) = 1 :4734 +6503199569634251:6503199569634872 35231:35231 hsa_signal_load_relaxed({handle=140622355553920}) = 0 :4735 +6503199569634972:6503199569635012 35231:35231 hsa_signal_load_relaxed({handle=140622355554048}) = 0 :4736 +6503199569635122:6503199569635162 35231:35231 hsa_signal_load_relaxed({handle=140622355553920}) = 0 :4737 +6503199569635273:6503199569635323 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355554048}, 1) = void :4738 +6503199569636274:6503199569637256 35231:35231 hsa_amd_memory_async_copy(0x7fe12a3fe010, {handle=5845728}, 0x7fe129400000, {handle=5671888}, 4194304, 1, 0xafa360, {handle=140622355554048}) = 0 :4739 +6503199569637407:6503199569637457 35231:35231 hsa_signal_load_relaxed({handle=140622355554176}) = 1 :4740 +6503199569637557:6503199569737642 35231:35231 hsa_signal_wait_scacquire({handle=140622355554176}, 2, 1, 100000, 1) = 1 :4741 +6503199569737743:6503199569738083 35231:35231 hsa_signal_wait_scacquire({handle=140622355554176}, 2, 1, 18446744073709551615, 0) = 0 :4742 +6503199569738234:6503199569738314 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140622355554176}, 0x7ffd04faf400) = 0 :4743 +6503199569738424:6503199569738474 35231:35231 hsa_signal_load_relaxed({handle=140622355554048}) = 1 :4744 +6503199569738564:6503199569838640 35231:35231 hsa_signal_wait_scacquire({handle=140622355554048}, 2, 1, 100000, 1) = 1 :4745 +6503199569838740:6503199571282407 35231:35231 hsa_signal_wait_scacquire({handle=140622355554048}, 2, 1, 18446744073709551615, 0) = 0 :4746 +6503199571282648:6503199571282758 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140622355554048}, 0x7ffd04faf410) = 0 :4747 +6503199571283389:6503199571283439 35231:35231 hsa_signal_load_relaxed({handle=140622355554048}) = 0 :4748 +6503199571283590:6503199571283930 35231:35231 hsa_signal_load_relaxed({handle=140627542421504}) = 0 :4749 +6503199571284050:6503199571284131 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140627542421504}, 0x7ffd04faf540) = 0 :4750 +6503199579870876:6503199579871187 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :4752 +6503199579871387:6503199579871487 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf590, 0, 0, 0) = 0 :4753 +6503199579871648:6503199579871748 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf630, 0, 0, 0) = 0 :4754 +6503199579871888:6503199579871988 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf570, 0, 0, 0) = 0 :4755 +6503199579873301:6503199579876286 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a7ff000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :4756 +6503199579876717:6503199579876827 35231:35231 hsa_signal_load_relaxed({handle=140622355554048}) = 0 :4757 +6503199579876948:6503199579877569 35231:35231 hsa_signal_load_relaxed({handle=140622355553792}) = 0 :4758 +6503199579877679:6503199579877739 35231:35231 hsa_signal_load_relaxed({handle=140622355553920}) = 0 :4759 +6503199579877979:6503199579878040 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355553920}, 1) = void :4760 +6503199579879723:6503199579880775 35231:35231 hsa_amd_memory_async_copy(0x7fe129a00000, {handle=5671888}, 0x7fe12a7ff010, {handle=5845728}, 4194304, 0, 0, {handle=140622355553920}) = 0 :4761 +6503199579880905:6503199579880975 35231:35231 hsa_signal_load_relaxed({handle=140622355553920}) = 1 :4762 +6503199579881115:6503199579981221 35231:35231 hsa_signal_wait_scacquire({handle=140622355553920}, 2, 1, 100000, 1) = 1 :4763 +6503199579981321:6503199581585436 35231:35231 hsa_signal_wait_scacquire({handle=140622355553920}, 2, 1, 18446744073709551615, 0) = 0 :4764 +6503199581585727:6503199581585817 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140622355553920}, 0x7ffd04faf410) = 0 :4765 +6503199581586628:6503199581586679 35231:35231 hsa_signal_load_relaxed({handle=140622355553920}) = 0 :4766 +6503199581593131:6503199581593181 35231:35231 hsa_signal_load_relaxed({handle=140622355553920}) = 0 :4770 +6503199581593411:6503199581593491 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 136 :4771 +6503199581593641:6503199581593692 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 136 :4772 +6503199581593842:6503199581594463 35231:35231 hsa_signal_load_relaxed({handle=140622355553664}) = 0 :4773 +6503199581594563:6503199581594623 35231:35231 hsa_signal_load_relaxed({handle=140622355553792}) = 0 :4774 +6503199581594794:6503199581594844 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355553792}, 1) = void :4775 +6503199581595004:6503199581595064 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 136 :4776 +6503199581595234:6503199581595695 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 136) = void :4777 +6503199581596847:6503199581597098 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :4779 +6503199581597278:6503199581597378 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf590, 0, 0, 0) = 0 :4780 +6503199581597519:6503199581597619 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf630, 0, 0, 0) = 0 :4781 +6503199581597759:6503199581597859 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf570, 0, 0, 0) = 0 :4782 +6503199581598721:6503199581601256 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a3fe000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :4783 +6503199581601646:6503199581601706 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 137 :4784 +6503199581601797:6503199581601857 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 136 :4785 +6503199581601997:6503199581602338 35231:35231 hsa_signal_load_relaxed({handle=140622355553536}) = 0 :4786 +6503199581603269:6503199581603319 35231:35231 hsa_signal_load_relaxed({handle=140622355553664}) = 0 :4787 +6503199581603430:6503199581603480 35231:35231 hsa_signal_load_relaxed({handle=140622355553536}) = 0 :4788 +6503199581603580:6503199581603640 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355553664}, 1) = void :4789 +6503199581603790:6503199581603840 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 136 :4790 +6503199581603951:6503199581604391 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 137) = void :4791 +6503199581604522:6503199581604572 35231:35231 hsa_signal_load_relaxed({handle=140622355553664}) = 1 :4792 +6503199581604672:6503199581604722 35231:35231 hsa_signal_load_relaxed({handle=140622355553664}) = 1 :4793 +6503199581604872:6503199581614961 35231:35231 hsa_signal_wait_scacquire({handle=140622355553664}, 2, 1, 10000, 1) = 1 :4794 +6503199581615141:6503199581615482 35231:35231 hsa_signal_load_relaxed({handle=140622355553408}) = 0 :4795 +6503199581615582:6503199581615632 35231:35231 hsa_signal_load_relaxed({handle=140622355553536}) = 0 :4796 +6503199581615732:6503199581615783 35231:35231 hsa_signal_load_relaxed({handle=140622355553408}) = 0 :4797 +6503199581615873:6503199581615923 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355553536}, 1) = void :4798 +6503199581616153:6503199581617145 35231:35231 hsa_amd_memory_async_copy(0x7fe12a3fe010, {handle=5845728}, 0x7fe129400000, {handle=5671888}, 4194304, 1, 0xafa430, {handle=140622355553536}) = 0 :4799 +6503199581617315:6503199581617365 35231:35231 hsa_signal_load_relaxed({handle=140622355553664}) = 1 :4800 +6503199581617466:6503199581717541 35231:35231 hsa_signal_wait_scacquire({handle=140622355553664}, 2, 1, 100000, 1) = 1 :4801 +6503199581717651:6503199581718082 35231:35231 hsa_signal_wait_scacquire({handle=140622355553664}, 2, 1, 18446744073709551615, 0) = 0 :4802 +6503199581718223:6503199581718313 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140622355553664}, 0x7ffd04faf400) = 0 :4803 +6503199581718433:6503199581718483 35231:35231 hsa_signal_load_relaxed({handle=140622355553536}) = 1 :4804 +6503199581718603:6503199581818689 35231:35231 hsa_signal_wait_scacquire({handle=140622355553536}, 2, 1, 100000, 1) = 1 :4805 +6503199581818779:6503199583265092 35231:35231 hsa_signal_wait_scacquire({handle=140622355553536}, 2, 1, 18446744073709551615, 0) = 0 :4806 +6503199583265352:6503199583265452 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140622355553536}, 0x7ffd04faf410) = 0 :4807 +6503199583267436:6503199583267486 35231:35231 hsa_signal_load_relaxed({handle=140622355553536}) = 0 :4808 +6503199583267646:6503199583267967 35231:35231 hsa_signal_load_relaxed({handle=140622355553792}) = 0 :4809 +6503199583268067:6503199583268147 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140622355553792}, 0x7ffd04faf540) = 0 :4810 +6503199591855354:6503199591855635 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :4812 +6503199591855815:6503199591855925 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf590, 0, 0, 0) = 0 :4813 +6503199591856065:6503199591856156 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf630, 0, 0, 0) = 0 :4814 +6503199591856306:6503199591856406 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf570, 0, 0, 0) = 0 :4815 +6503199591857578:6503199591860233 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a7ff000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :4816 +6503199591860664:6503199591860774 35231:35231 hsa_signal_load_relaxed({handle=140622355553536}) = 0 :4817 +6503199591860904:6503199591861515 35231:35231 hsa_signal_load_relaxed({handle=140622355553280}) = 0 :4818 +6503199591861646:6503199591861706 35231:35231 hsa_signal_load_relaxed({handle=140622355553408}) = 0 :4819 +6503199591861886:6503199591861956 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355553408}, 1) = void :4820 +6503199591862117:6503199591863269 35231:35231 hsa_amd_memory_async_copy(0x7fe129a00000, {handle=5671888}, 0x7fe12a7ff010, {handle=5845728}, 4194304, 0, 0, {handle=140622355553408}) = 0 :4821 +6503199591863399:6503199591863459 35231:35231 hsa_signal_load_relaxed({handle=140622355553408}) = 1 :4822 +6503199591863599:6503199591963695 35231:35231 hsa_signal_wait_scacquire({handle=140622355553408}, 2, 1, 100000, 1) = 1 :4823 +6503199591963795:6503199593570285 35231:35231 hsa_signal_wait_scacquire({handle=140622355553408}, 2, 1, 18446744073709551615, 0) = 0 :4824 +6503199593570565:6503199593570655 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140622355553408}, 0x7ffd04faf410) = 0 :4825 +6503199593571327:6503199593571397 35231:35231 hsa_signal_load_relaxed({handle=140622355553408}) = 0 :4826 +6503199593576606:6503199593576657 35231:35231 hsa_signal_load_relaxed({handle=140622355553408}) = 0 :4830 +6503199593576867:6503199593576937 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 138 :4831 +6503199593577067:6503199593577117 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 138 :4832 +6503199593577939:6503199593578280 35231:35231 hsa_signal_load_relaxed({handle=140622355553152}) = 0 :4833 +6503199593578380:6503199593578430 35231:35231 hsa_signal_load_relaxed({handle=140622355553280}) = 0 :4834 +6503199593578630:6503199593578680 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355553280}, 1) = void :4835 +6503199593578831:6503199593578911 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 138 :4836 +6503199593579081:6503199593579542 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 138) = void :4837 +6503199593580654:6503199593580884 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :4839 +6503199593581035:6503199593581145 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf590, 0, 0, 0) = 0 :4840 +6503199593581285:6503199593581385 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf630, 0, 0, 0) = 0 :4841 +6503199593581526:6503199593581626 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf570, 0, 0, 0) = 0 :4842 +6503199593582397:6503199593585072 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a3fe000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :4843 +6503199593585433:6503199593585483 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 139 :4844 +6503199593585583:6503199593585633 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 138 :4845 +6503199593585773:6503199593586114 35231:35231 hsa_signal_load_relaxed({handle=140622355553024}) = 0 :4846 +6503199593586224:6503199593586274 35231:35231 hsa_signal_load_relaxed({handle=140622355553152}) = 0 :4847 +6503199593586375:6503199593586425 35231:35231 hsa_signal_load_relaxed({handle=140622355553024}) = 0 :4848 +6503199593586525:6503199593586575 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355553152}, 1) = void :4849 +6503199593586705:6503199593586755 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 138 :4850 +6503199593586885:6503199593587326 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 139) = void :4851 +6503199593587447:6503199593587497 35231:35231 hsa_signal_load_relaxed({handle=140622355553152}) = 1 :4852 +6503199593587597:6503199593587647 35231:35231 hsa_signal_load_relaxed({handle=140622355553152}) = 1 :4853 +6503199593587757:6503199593597866 35231:35231 hsa_signal_wait_scacquire({handle=140622355553152}, 2, 1, 10000, 1) = 1 :4854 +6503199593598016:6503199593598086 35231:35231 hsa_signal_load_relaxed({handle=140622355552896}) = 0 :4855 +6503199593598958:6503199593599008 35231:35231 hsa_signal_load_relaxed({handle=140622355553024}) = 0 :4856 +6503199593599108:6503199593599158 35231:35231 hsa_signal_load_relaxed({handle=140622355552896}) = 0 :4857 +6503199593599278:6503199593599329 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355553024}, 1) = void :4858 +6503199593599539:6503199593600531 35231:35231 hsa_amd_memory_async_copy(0x7fe12a3fe010, {handle=5845728}, 0x7fe129400000, {handle=5671888}, 4194304, 1, 0xafa500, {handle=140622355553024}) = 0 :4859 +6503199593600721:6503199593600771 35231:35231 hsa_signal_load_relaxed({handle=140622355553152}) = 1 :4860 +6503199593600891:6503199593700967 35231:35231 hsa_signal_wait_scacquire({handle=140622355553152}, 2, 1, 100000, 1) = 1 :4861 +6503199593701057:6503199593701779 35231:35231 hsa_signal_wait_scacquire({handle=140622355553152}, 2, 1, 18446744073709551615, 0) = 0 :4862 +6503199593701939:6503199593702019 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140622355553152}, 0x7ffd04faf400) = 0 :4863 +6503199593702149:6503199593702189 35231:35231 hsa_signal_load_relaxed({handle=140622355553024}) = 1 :4864 +6503199593702310:6503199593802395 35231:35231 hsa_signal_wait_scacquire({handle=140622355553024}, 2, 1, 100000, 1) = 1 :4865 +6503199593802485:6503199595245281 35231:35231 hsa_signal_wait_scacquire({handle=140622355553024}, 2, 1, 18446744073709551615, 0) = 0 :4866 +6503199595245542:6503199595245642 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140622355553024}, 0x7ffd04faf410) = 0 :4867 +6503199595246273:6503199595246323 35231:35231 hsa_signal_load_relaxed({handle=140622355553024}) = 0 :4868 +6503199595246464:6503199595246774 35231:35231 hsa_signal_load_relaxed({handle=140622355553280}) = 0 :4869 +6503199595246874:6503199595246955 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140622355553280}, 0x7ffd04faf540) = 0 :4870 +6503199603849700:6503199603850001 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :4872 +6503199603850201:6503199603850301 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf590, 0, 0, 0) = 0 :4873 +6503199603850441:6503199603850542 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf630, 0, 0, 0) = 0 :4874 +6503199603850692:6503199603850792 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf570, 0, 0, 0) = 0 :4875 +6503199603851874:6503199603854809 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a7ff000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :4876 +6503199603855230:6503199603855340 35231:35231 hsa_signal_load_relaxed({handle=140622355553024}) = 0 :4877 +6503199603857114:6503199603857174 35231:35231 hsa_signal_load_relaxed({handle=140622355552768}) = 0 :4878 +6503199603857284:6503199603857334 35231:35231 hsa_signal_load_relaxed({handle=140622355552896}) = 0 :4879 +6503199603857524:6503199603857605 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355552896}, 1) = void :4880 +6503199603857785:6503199603858967 35231:35231 hsa_amd_memory_async_copy(0x7fe129a00000, {handle=5671888}, 0x7fe12a7ff010, {handle=5845728}, 4194304, 0, 0, {handle=140622355552896}) = 0 :4881 +6503199603859087:6503199603859137 35231:35231 hsa_signal_load_relaxed({handle=140622355552896}) = 1 :4882 +6503199603859288:6503199603959383 35231:35231 hsa_signal_wait_scacquire({handle=140622355552896}, 2, 1, 100000, 1) = 1 :4883 +6503199603959484:6503199605563078 35231:35231 hsa_signal_wait_scacquire({handle=140622355552896}, 2, 1, 18446744073709551615, 0) = 0 :4884 +6503199605563348:6503199605568658 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140622355552896}, 0x7ffd04faf410) = 0 :4885 +6503199605569420:6503199605569490 35231:35231 hsa_signal_load_relaxed({handle=140622355552896}) = 0 :4886 +6503199605574419:6503199605574479 35231:35231 hsa_signal_load_relaxed({handle=140622355552896}) = 0 :4890 +6503199605574689:6503199605574769 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 140 :4891 +6503199605574950:6503199605575000 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 140 :4892 +6503199605575110:6503199605575170 35231:35231 hsa_signal_load_relaxed({handle=140622355552640}) = 0 :4893 +6503199605575280:6503199605575341 35231:35231 hsa_signal_load_relaxed({handle=140622355552768}) = 0 :4894 +6503199605575551:6503199605575601 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355552768}, 1) = void :4895 +6503199605575741:6503199605575811 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 140 :4896 +6503199605575992:6503199605576453 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 140) = void :4897 +6503199605577484:6503199605577695 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :4899 +6503199605577855:6503199605577955 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf590, 0, 0, 0) = 0 :4900 +6503199605578096:6503199605578186 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf630, 0, 0, 0) = 0 :4901 +6503199605578336:6503199605578436 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf570, 0, 0, 0) = 0 :4902 +6503199605580019:6503199605582273 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a3fe000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :4903 +6503199605582684:6503199605582734 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 141 :4904 +6503199605582854:6503199605582905 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 140 :4905 +6503199605583035:6503199605583095 35231:35231 hsa_signal_load_relaxed({handle=140622355552512}) = 0 :4906 +6503199605583195:6503199605583245 35231:35231 hsa_signal_load_relaxed({handle=140622355552640}) = 0 :4907 +6503199605583345:6503199605583395 35231:35231 hsa_signal_load_relaxed({handle=140622355552512}) = 0 :4908 +6503199605583496:6503199605583546 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355552640}, 1) = void :4909 +6503199605583686:6503199605583736 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 140 :4910 +6503199605584127:6503199605584578 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 141) = void :4911 +6503199605584698:6503199605584748 35231:35231 hsa_signal_load_relaxed({handle=140622355552640}) = 1 :4912 +6503199605584858:6503199605584908 35231:35231 hsa_signal_load_relaxed({handle=140622355552640}) = 1 :4913 +6503199605585018:6503199605595127 35231:35231 hsa_signal_wait_scacquire({handle=140622355552640}, 2, 1, 10000, 1) = 1 :4914 +6503199605595287:6503199605595348 35231:35231 hsa_signal_load_relaxed({handle=140622355552384}) = 0 :4915 +6503199605595448:6503199605595498 35231:35231 hsa_signal_load_relaxed({handle=140622355552512}) = 0 :4916 +6503199605595598:6503199605595648 35231:35231 hsa_signal_load_relaxed({handle=140622355552384}) = 0 :4917 +6503199605595748:6503199605595798 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355552512}, 1) = void :4918 +6503199605595999:6503199605596991 35231:35231 hsa_amd_memory_async_copy(0x7fe12a3fe010, {handle=5845728}, 0x7fe129400000, {handle=5671888}, 4194304, 1, 0xafa5d0, {handle=140622355552512}) = 0 :4919 +6503199605597141:6503199605597191 35231:35231 hsa_signal_load_relaxed({handle=140622355552640}) = 1 :4920 +6503199605597281:6503199605697367 35231:35231 hsa_signal_wait_scacquire({handle=140622355552640}, 2, 1, 100000, 1) = 1 :4921 +6503199605697467:6503199605699340 35231:35231 hsa_signal_wait_scacquire({handle=140622355552640}, 2, 1, 18446744073709551615, 0) = 0 :4922 +6503199605699511:6503199605699591 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140622355552640}, 0x7ffd04faf400) = 0 :4923 +6503199605699721:6503199605699771 35231:35231 hsa_signal_load_relaxed({handle=140622355552512}) = 1 :4924 +6503199605700593:6503199605800678 35231:35231 hsa_signal_wait_scacquire({handle=140622355552512}, 2, 1, 100000, 1) = 1 :4925 +6503199605800769:6503199607243755 35231:35231 hsa_signal_wait_scacquire({handle=140622355552512}, 2, 1, 18446744073709551615, 0) = 0 :4926 +6503199607243995:6503199607244095 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140622355552512}, 0x7ffd04faf410) = 0 :4927 +6503199607244727:6503199607244797 35231:35231 hsa_signal_load_relaxed({handle=140622355552512}) = 0 :4928 +6503199607244987:6503199607245298 35231:35231 hsa_signal_load_relaxed({handle=140622355552768}) = 0 :4929 +6503199607245408:6503199607245488 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140622355552768}, 0x7ffd04faf540) = 0 :4930 +6503199616387023:6503199616387294 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :4932 +6503199616387494:6503199616387594 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf590, 0, 0, 0) = 0 :4933 +6503199616387744:6503199616387835 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf630, 0, 0, 0) = 0 :4934 +6503199616387995:6503199616388095 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf570, 0, 0, 0) = 0 :4935 +6503199616389227:6503199616392032 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a7ff000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :4936 +6503199616392513:6503199616392603 35231:35231 hsa_signal_load_relaxed({handle=140622355552512}) = 0 :4937 +6503199616392734:6503199616392814 35231:35231 hsa_signal_load_relaxed({handle=140622355552256}) = 0 :4938 +6503199616392914:6503199616392964 35231:35231 hsa_signal_load_relaxed({handle=140622355552384}) = 0 :4939 +6503199616393165:6503199616393225 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355552384}, 1) = void :4940 +6503199616393395:6503199616394387 35231:35231 hsa_amd_memory_async_copy(0x7fe129a00000, {handle=5671888}, 0x7fe12a7ff010, {handle=5845728}, 4194304, 0, 0, {handle=140622355552384}) = 0 :4941 +6503199616394537:6503199616394587 35231:35231 hsa_signal_load_relaxed({handle=140622355552384}) = 1 :4942 +6503199616394737:6503199616494833 35231:35231 hsa_signal_wait_scacquire({handle=140622355552384}, 2, 1, 100000, 1) = 1 :4943 +6503199616494933:6503199618098718 35231:35231 hsa_signal_wait_scacquire({handle=140622355552384}, 2, 1, 18446744073709551615, 0) = 0 :4944 +6503199618098978:6503199618099068 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140622355552384}, 0x7ffd04faf410) = 0 :4945 +6503199618099730:6503199618099780 35231:35231 hsa_signal_load_relaxed({handle=140622355552384}) = 0 :4946 +6503199618105821:6503199618105871 35231:35231 hsa_signal_load_relaxed({handle=140622355552384}) = 0 :4950 +6503199618106091:6503199618106162 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 142 :4951 +6503199618106322:6503199618106672 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 142 :4952 +6503199618106803:6503199618106873 35231:35231 hsa_signal_load_relaxed({handle=140622355552128}) = 0 :4953 +6503199618106973:6503199618107023 35231:35231 hsa_signal_load_relaxed({handle=140622355552256}) = 0 :4954 +6503199618107193:6503199618107244 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355552256}, 1) = void :4955 +6503199618107394:6503199618107454 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 142 :4956 +6503199618107624:6503199618108115 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 142) = void :4957 +6503199618109157:6503199618109367 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :4959 +6503199618109518:6503199618109628 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf590, 0, 0, 0) = 0 :4960 +6503199618109758:6503199618109858 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf630, 0, 0, 0) = 0 :4961 +6503199618109989:6503199618110089 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf570, 0, 0, 0) = 0 :4962 +6503199618110850:6503199618113144 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a3fe000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :4963 +6503199618113545:6503199618113605 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 143 :4964 +6503199618113726:6503199618113776 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 142 :4965 +6503199618113946:6503199618114026 35231:35231 hsa_signal_load_relaxed({handle=140627542423296}) = 0 :4966 +6503199618114146:6503199618114196 35231:35231 hsa_signal_load_relaxed({handle=140622355552128}) = 0 :4967 +6503199618114297:6503199618114347 35231:35231 hsa_signal_load_relaxed({handle=140627542423296}) = 0 :4968 +6503199618114447:6503199618114497 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355552128}, 1) = void :4969 +6503199618114627:6503199618114677 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 142 :4970 +6503199618114788:6503199618115329 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 143) = void :4971 +6503199618116511:6503199618116561 35231:35231 hsa_signal_load_relaxed({handle=140622355552128}) = 1 :4972 +6503199618116661:6503199618116711 35231:35231 hsa_signal_load_relaxed({handle=140622355552128}) = 1 :4973 +6503199618116841:6503199618126930 35231:35231 hsa_signal_wait_scacquire({handle=140622355552128}, 2, 1, 10000, 1) = 1 :4974 +6503199618127120:6503199618127170 35231:35231 hsa_signal_load_relaxed({handle=140627542423168}) = 0 :4975 +6503199618127271:6503199618127321 35231:35231 hsa_signal_load_relaxed({handle=140627542423296}) = 0 :4976 +6503199618127421:6503199618127471 35231:35231 hsa_signal_load_relaxed({handle=140627542423168}) = 0 :4977 +6503199618127571:6503199618127621 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542423296}, 1) = void :4978 +6503199618127852:6503199618128824 35231:35231 hsa_amd_memory_async_copy(0x7fe12a3fe010, {handle=5845728}, 0x7fe129400000, {handle=5671888}, 4194304, 1, 0xafa6a0, {handle=140627542423296}) = 0 :4979 +6503199618128984:6503199618129034 35231:35231 hsa_signal_load_relaxed({handle=140622355552128}) = 1 :4980 +6503199618129124:6503199618229220 35231:35231 hsa_signal_wait_scacquire({handle=140622355552128}, 2, 1, 100000, 1) = 1 :4981 +6503199618229310:6503199618230723 35231:35231 hsa_signal_wait_scacquire({handle=140622355552128}, 2, 1, 18446744073709551615, 0) = 0 :4982 +6503199618230893:6503199618230993 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140622355552128}, 0x7ffd04faf400) = 0 :4983 +6503199618231113:6503199618231163 35231:35231 hsa_signal_load_relaxed({handle=140627542423296}) = 1 :4984 +6503199618231274:6503199618331359 35231:35231 hsa_signal_wait_scacquire({handle=140627542423296}, 2, 1, 100000, 1) = 1 :4985 +6503199618331459:6503199619777882 35231:35231 hsa_signal_wait_scacquire({handle=140627542423296}, 2, 1, 18446744073709551615, 0) = 0 :4986 +6503199619778132:6503199619778213 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140627542423296}, 0x7ffd04faf410) = 0 :4987 +6503199619778824:6503199619778874 35231:35231 hsa_signal_load_relaxed({handle=140627542423296}) = 0 :4988 +6503199619779104:6503199619779785 35231:35231 hsa_signal_load_relaxed({handle=140622355552256}) = 0 :4989 +6503199619779896:6503199619779976 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140622355552256}, 0x7ffd04faf540) = 0 :4990 +6503199628352335:6503199628352625 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :4992 +6503199628352846:6503199628352936 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf590, 0, 0, 0) = 0 :4993 +6503199628353086:6503199628353176 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf630, 0, 0, 0) = 0 :4994 +6503199628354920:6503199628355040 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf570, 0, 0, 0) = 0 :4995 +6503199628356272:6503199628358947 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a7ff000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :4996 +6503199628359388:6503199628359478 35231:35231 hsa_signal_load_relaxed({handle=140627542423296}) = 0 :4997 +6503199628359618:6503199628359708 35231:35231 hsa_signal_load_relaxed({handle=140627542423040}) = 0 :4998 +6503199628359839:6503199628359899 35231:35231 hsa_signal_load_relaxed({handle=140627542423168}) = 0 :4999 +6503199628360159:6503199628360219 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542423168}, 1) = void :5000 +6503199628360410:6503199628361392 35231:35231 hsa_amd_memory_async_copy(0x7fe129a00000, {handle=5671888}, 0x7fe12a7ff010, {handle=5845728}, 4194304, 0, 0, {handle=140627542423168}) = 0 :5001 +6503199628361532:6503199628361582 35231:35231 hsa_signal_load_relaxed({handle=140627542423168}) = 1 :5002 +6503199628361712:6503199628461808 35231:35231 hsa_signal_wait_scacquire({handle=140627542423168}, 2, 1, 100000, 1) = 1 :5003 +6503199628461898:6503199630066875 35231:35231 hsa_signal_wait_scacquire({handle=140627542423168}, 2, 1, 18446744073709551615, 0) = 0 :5004 +6503199630067426:6503199630067526 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140627542423168}, 0x7ffd04faf410) = 0 :5005 +6503199630068227:6503199630068277 35231:35231 hsa_signal_load_relaxed({handle=140627542423168}) = 0 :5006 +6503199630074880:6503199630074950 35231:35231 hsa_signal_load_relaxed({handle=140627542423168}) = 0 :5010 +6503199630075190:6503199630075260 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 144 :5011 +6503199630075431:6503199630075491 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 144 :5012 +6503199630075621:6503199630075691 35231:35231 hsa_signal_load_relaxed({handle=140627542422912}) = 0 :5013 +6503199630075811:6503199630075871 35231:35231 hsa_signal_load_relaxed({handle=140627542423040}) = 0 :5014 +6503199630076092:6503199630076142 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542423040}, 1) = void :5015 +6503199630076322:6503199630076382 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 144 :5016 +6503199630076593:6503199630077074 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 144) = void :5017 +6503199630078096:6503199630078396 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :5019 +6503199630080480:6503199630080590 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf590, 0, 0, 0) = 0 :5020 +6503199630080751:6503199630080841 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf630, 0, 0, 0) = 0 :5021 +6503199630080981:6503199630081081 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf570, 0, 0, 0) = 0 :5022 +6503199630081953:6503199630084718 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a3fe000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :5023 +6503199630085099:6503199630085179 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 145 :5024 +6503199630085279:6503199630085329 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 144 :5025 +6503199630085459:6503199630085519 35231:35231 hsa_signal_load_relaxed({handle=140627542422784}) = 0 :5026 +6503199630085630:6503199630085680 35231:35231 hsa_signal_load_relaxed({handle=140627542422912}) = 0 :5027 +6503199630085790:6503199630085840 35231:35231 hsa_signal_load_relaxed({handle=140627542422784}) = 0 :5028 +6503199630085970:6503199630086020 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542422912}, 1) = void :5029 +6503199630086141:6503199630086201 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 144 :5030 +6503199630086551:6503199630086982 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 145) = void :5031 +6503199630087112:6503199630087162 35231:35231 hsa_signal_load_relaxed({handle=140627542422912}) = 1 :5032 +6503199630087263:6503199630087303 35231:35231 hsa_signal_load_relaxed({handle=140627542422912}) = 1 :5033 +6503199630087423:6503199630097542 35231:35231 hsa_signal_wait_scacquire({handle=140627542422912}, 2, 1, 10000, 1) = 1 :5034 +6503199630097672:6503199630097742 35231:35231 hsa_signal_load_relaxed({handle=140627542422656}) = 0 :5035 +6503199630097842:6503199630097892 35231:35231 hsa_signal_load_relaxed({handle=140627542422784}) = 0 :5036 +6503199630097992:6503199630098043 35231:35231 hsa_signal_load_relaxed({handle=140627542422656}) = 0 :5037 +6503199630098153:6503199630098203 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542422784}, 1) = void :5038 +6503199630098393:6503199630099435 35231:35231 hsa_amd_memory_async_copy(0x7fe12a3fe010, {handle=5845728}, 0x7fe129400000, {handle=5671888}, 4194304, 1, 0xafa770, {handle=140627542422784}) = 0 :5039 +6503199630099585:6503199630099636 35231:35231 hsa_signal_load_relaxed({handle=140627542422912}) = 1 :5040 +6503199630100547:6503199630199871 35231:35231 hsa_signal_wait_scacquire({handle=140627542422912}, 2, 1, 100000, 1) = 0 :5041 +6503199630200022:6503199630200122 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140627542422912}, 0x7ffd04faf400) = 0 :5042 +6503199630200232:6503199630200282 35231:35231 hsa_signal_load_relaxed({handle=140627542422784}) = 1 :5043 +6503199630200392:6503199630300478 35231:35231 hsa_signal_wait_scacquire({handle=140627542422784}, 2, 1, 100000, 1) = 1 :5044 +6503199630300588:6503199631743264 35231:35231 hsa_signal_wait_scacquire({handle=140627542422784}, 2, 1, 18446744073709551615, 0) = 0 :5045 +6503199631743525:6503199631743635 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140627542422784}, 0x7ffd04faf410) = 0 :5046 +6503199631744256:6503199631744306 35231:35231 hsa_signal_load_relaxed({handle=140627542422784}) = 0 :5047 +6503199631744466:6503199631744807 35231:35231 hsa_signal_load_relaxed({handle=140627542423040}) = 0 :5048 +6503199631744917:6503199631744997 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140627542423040}, 0x7ffd04faf540) = 0 :5049 +6503199640313529:6503199640313840 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :5051 +6503199640314050:6503199640314150 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf590, 0, 0, 0) = 0 :5052 +6503199640314301:6503199640314401 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf630, 0, 0, 0) = 0 :5053 +6503199640314561:6503199640314661 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf570, 0, 0, 0) = 0 :5054 +6503199640315844:6503199640318458 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a7ff000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :5055 +6503199640318899:6503199640318999 35231:35231 hsa_signal_load_relaxed({handle=140627542422784}) = 0 :5056 +6503199640319150:6503199640319220 35231:35231 hsa_signal_load_relaxed({handle=140627542422528}) = 0 :5057 +6503199640319340:6503199640319390 35231:35231 hsa_signal_load_relaxed({handle=140627542422656}) = 0 :5058 +6503199640319611:6503199640319711 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542422656}, 1) = void :5059 +6503199640319871:6503199640320823 35231:35231 hsa_amd_memory_async_copy(0x7fe129a00000, {handle=5671888}, 0x7fe12a7ff010, {handle=5845728}, 4194304, 0, 0, {handle=140627542422656}) = 0 :5060 +6503199640320983:6503199640321033 35231:35231 hsa_signal_load_relaxed({handle=140627542422656}) = 1 :5061 +6503199640321163:6503199640421269 35231:35231 hsa_signal_wait_scacquire({handle=140627542422656}, 2, 1, 100000, 1) = 1 :5062 +6503199640421359:6503199642027268 35231:35231 hsa_signal_wait_scacquire({handle=140627542422656}, 2, 1, 18446744073709551615, 0) = 0 :5063 +6503199642028971:6503199642029071 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140627542422656}, 0x7ffd04faf410) = 0 :5064 +6503199642029813:6503199642029883 35231:35231 hsa_signal_load_relaxed({handle=140627542422656}) = 0 :5065 +6503199642034832:6503199642034892 35231:35231 hsa_signal_load_relaxed({handle=140627542422656}) = 0 :5069 +6503199642035102:6503199642035173 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 146 :5070 +6503199642035303:6503199642035353 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 146 :5071 +6503199642035483:6503199642035553 35231:35231 hsa_signal_load_relaxed({handle=140627542422400}) = 0 :5072 +6503199642035663:6503199642035714 35231:35231 hsa_signal_load_relaxed({handle=140627542422528}) = 0 :5073 +6503199642035894:6503199642035944 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542422528}, 1) = void :5074 +6503199642036094:6503199642036164 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 146 :5075 +6503199642036325:6503199642036796 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 146) = void :5076 +6503199642037797:6503199642038018 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :5078 +6503199642038168:6503199642038268 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf590, 0, 0, 0) = 0 :5079 +6503199642038409:6503199642038499 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf630, 0, 0, 0) = 0 :5080 +6503199642038639:6503199642038739 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf570, 0, 0, 0) = 0 :5081 +6503199642039491:6503199642042286 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a3fe000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :5082 +6503199642042676:6503199642042737 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 147 :5083 +6503199642042837:6503199642042887 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 146 :5084 +6503199642042997:6503199642043057 35231:35231 hsa_signal_load_relaxed({handle=140627542422272}) = 0 :5085 +6503199642043167:6503199642043207 35231:35231 hsa_signal_load_relaxed({handle=140627542422400}) = 0 :5086 +6503199642043318:6503199642043368 35231:35231 hsa_signal_load_relaxed({handle=140627542422272}) = 0 :5087 +6503199642043468:6503199642043518 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542422400}, 1) = void :5088 +6503199642044470:6503199642044520 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 146 :5089 +6503199642044630:6503199642045081 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 147) = void :5090 +6503199642045221:6503199642045271 35231:35231 hsa_signal_load_relaxed({handle=140627542422400}) = 1 :5091 +6503199642045402:6503199642045452 35231:35231 hsa_signal_load_relaxed({handle=140627542422400}) = 1 :5092 +6503199642045602:6503199642055711 35231:35231 hsa_signal_wait_scacquire({handle=140627542422400}, 2, 1, 10000, 1) = 1 :5093 +6503199642056081:6503199642056131 35231:35231 hsa_signal_load_relaxed({handle=140627542422144}) = 0 :5094 +6503199642056232:6503199642056282 35231:35231 hsa_signal_load_relaxed({handle=140627542422272}) = 0 :5095 +6503199642056392:6503199642056442 35231:35231 hsa_signal_load_relaxed({handle=140627542422144}) = 0 :5096 +6503199642056532:6503199642056582 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542422272}, 1) = void :5097 +6503199642056793:6503199642057815 35231:35231 hsa_amd_memory_async_copy(0x7fe12a3fe010, {handle=5845728}, 0x7fe129400000, {handle=5671888}, 4194304, 1, 0x710100, {handle=140627542422272}) = 0 :5098 +6503199642057995:6503199642058055 35231:35231 hsa_signal_load_relaxed({handle=140627542422400}) = 1 :5099 +6503199642058145:6503199642158221 35231:35231 hsa_signal_wait_scacquire({handle=140627542422400}, 2, 1, 100000, 1) = 1 :5100 +6503199642158321:6503199642159493 35231:35231 hsa_signal_wait_scacquire({handle=140627542422400}, 2, 1, 18446744073709551615, 0) = 0 :5101 +6503199642159653:6503199642159754 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140627542422400}, 0x7ffd04faf400) = 0 :5102 +6503199642159894:6503199642159944 35231:35231 hsa_signal_load_relaxed({handle=140627542422272}) = 1 :5103 +6503199642160054:6503199642260140 35231:35231 hsa_signal_wait_scacquire({handle=140627542422272}, 2, 1, 100000, 1) = 1 :5104 +6503199642260230:6503199643703938 35231:35231 hsa_signal_wait_scacquire({handle=140627542422272}, 2, 1, 18446744073709551615, 0) = 0 :5105 +6503199643704178:6503199643704288 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140627542422272}, 0x7ffd04faf410) = 0 :5106 +6503199643704819:6503199643704869 35231:35231 hsa_signal_load_relaxed({handle=140627542422272}) = 0 :5107 +6503199643705050:6503199643705370 35231:35231 hsa_signal_load_relaxed({handle=140627542422528}) = 0 :5108 +6503199643705491:6503199643705581 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140627542422528}, 0x7ffd04faf540) = 0 :5109 +6503199652286856:6503199652287157 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :5111 +6503199652287347:6503199652287447 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf590, 0, 0, 0) = 0 :5112 +6503199652287598:6503199652287688 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf630, 0, 0, 0) = 0 :5113 +6503199652287828:6503199652287918 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf570, 0, 0, 0) = 0 :5114 +6503199652289171:6503199652291856 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a7ff000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :5115 +6503199652292286:6503199652292367 35231:35231 hsa_signal_load_relaxed({handle=140627542422272}) = 0 :5116 +6503199652292507:6503199652292577 35231:35231 hsa_signal_load_relaxed({handle=140627542422016}) = 0 :5117 +6503199652292687:6503199652292747 35231:35231 hsa_signal_load_relaxed({handle=140627542422144}) = 0 :5118 +6503199652292948:6503199652293018 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542422144}, 1) = void :5119 +6503199652293168:6503199652294120 35231:35231 hsa_amd_memory_async_copy(0x7fe129a00000, {handle=5671888}, 0x7fe12a7ff010, {handle=5845728}, 4194304, 0, 0, {handle=140627542422144}) = 0 :5120 +6503199652294250:6503199652294300 35231:35231 hsa_signal_load_relaxed({handle=140627542422144}) = 1 :5121 +6503199652294450:6503199652394556 35231:35231 hsa_signal_wait_scacquire({handle=140627542422144}, 2, 1, 100000, 1) = 1 :5122 +6503199652394646:6503199654005544 35231:35231 hsa_signal_wait_scacquire({handle=140627542422144}, 2, 1, 18446744073709551615, 0) = 0 :5123 +6503199654005814:6503199654005905 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140627542422144}, 0x7ffd04faf410) = 0 :5124 +6503199654006696:6503199654006746 35231:35231 hsa_signal_load_relaxed({handle=140627542422144}) = 0 :5125 +6503199654010744:6503199654010794 35231:35231 hsa_signal_load_relaxed({handle=140627542422144}) = 0 :5129 +6503199654010994:6503199654011074 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 148 :5130 +6503199654011194:6503199654011255 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 148 :5131 +6503199654011365:6503199654011435 35231:35231 hsa_signal_load_relaxed({handle=140627542421888}) = 0 :5132 +6503199654011535:6503199654011585 35231:35231 hsa_signal_load_relaxed({handle=140627542422016}) = 0 :5133 +6503199654011735:6503199654011786 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542422016}, 1) = void :5134 +6503199654011966:6503199654012036 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 148 :5135 +6503199654014110:6503199654014581 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 148) = void :5136 +6503199654015713:6503199654015933 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :5138 +6503199654016104:6503199654016204 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf590, 0, 0, 0) = 0 :5139 +6503199654016344:6503199654016434 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf630, 0, 0, 0) = 0 :5140 +6503199654016574:6503199654016685 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf570, 0, 0, 0) = 0 :5141 +6503199654017496:6503199654020231 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a3fe000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :5142 +6503199654020632:6503199654020682 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 149 :5143 +6503199654020782:6503199654020832 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 148 :5144 +6503199654020973:6503199654021033 35231:35231 hsa_signal_load_relaxed({handle=140627542421760}) = 0 :5145 +6503199654021133:6503199654021183 35231:35231 hsa_signal_load_relaxed({handle=140627542421888}) = 0 :5146 +6503199654021283:6503199654021333 35231:35231 hsa_signal_load_relaxed({handle=140627542421760}) = 0 :5147 +6503199654021453:6503199654021504 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542421888}, 1) = void :5148 +6503199654021644:6503199654021704 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 148 :5149 +6503199654022085:6503199654022535 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 149) = void :5150 +6503199654022656:6503199654022706 35231:35231 hsa_signal_load_relaxed({handle=140627542421888}) = 1 :5151 +6503199654022806:6503199654022846 35231:35231 hsa_signal_load_relaxed({handle=140627542421888}) = 1 :5152 +6503199654022966:6503199654033065 35231:35231 hsa_signal_wait_scacquire({handle=140627542421888}, 2, 1, 10000, 1) = 1 :5153 +6503199654033265:6503199654033335 35231:35231 hsa_signal_load_relaxed({handle=140627542421632}) = 0 :5154 +6503199654033446:6503199654033496 35231:35231 hsa_signal_load_relaxed({handle=140627542421760}) = 0 :5155 +6503199654033596:6503199654033646 35231:35231 hsa_signal_load_relaxed({handle=140627542421632}) = 0 :5156 +6503199654033766:6503199654033816 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542421760}, 1) = void :5157 +6503199654034888:6503199654035900 35231:35231 hsa_amd_memory_async_copy(0x7fe12a3fe010, {handle=5845728}, 0x7fe129400000, {handle=5671888}, 4194304, 1, 0x7101a0, {handle=140627542421760}) = 0 :5158 +6503199654036041:6503199654036091 35231:35231 hsa_signal_load_relaxed({handle=140627542421888}) = 1 :5159 +6503199654036201:6503199654136276 35231:35231 hsa_signal_wait_scacquire({handle=140627542421888}, 2, 1, 100000, 1) = 1 :5160 +6503199654136377:6503199654137278 35231:35231 hsa_signal_wait_scacquire({handle=140627542421888}, 2, 1, 18446744073709551615, 0) = 0 :5161 +6503199654137419:6503199654137519 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140627542421888}, 0x7ffd04faf400) = 0 :5162 +6503199654137649:6503199654137699 35231:35231 hsa_signal_load_relaxed({handle=140627542421760}) = 1 :5163 +6503199654137809:6503199654237895 35231:35231 hsa_signal_wait_scacquire({handle=140627542421760}, 2, 1, 100000, 1) = 1 :5164 +6503199654237995:6503199655681893 35231:35231 hsa_signal_wait_scacquire({handle=140627542421760}, 2, 1, 18446744073709551615, 0) = 0 :5165 +6503199655682133:6503199655682214 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140627542421760}, 0x7ffd04faf410) = 0 :5166 +6503199655682805:6503199655682855 35231:35231 hsa_signal_load_relaxed({handle=140627542421760}) = 0 :5167 +6503199655682985:6503199655683145 35231:35231 hsa_signal_load_relaxed({handle=140627542422016}) = 0 :5168 +6503199655683255:6503199655683346 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140627542422016}, 0x7ffd04faf540) = 0 :5169 +6503199664269841:6503199664270141 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :5171 +6503199664270332:6503199664270432 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf590, 0, 0, 0) = 0 :5172 +6503199664270582:6503199664270672 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf630, 0, 0, 0) = 0 :5173 +6503199664270823:6503199664270923 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf570, 0, 0, 0) = 0 :5174 +6503199664272115:6503199664275071 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a7ff000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :5175 +6503199664275521:6503199664275612 35231:35231 hsa_signal_load_relaxed({handle=140627542421760}) = 0 :5176 +6503199664275732:6503199664275822 35231:35231 hsa_signal_load_relaxed({handle=140627542421504}) = 0 :5177 +6503199664275932:6503199664275982 35231:35231 hsa_signal_load_relaxed({handle=140627542421632}) = 0 :5178 +6503199664276223:6503199664276283 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542421632}, 1) = void :5179 +6503199664277796:6503199664278827 35231:35231 hsa_amd_memory_async_copy(0x7fe129a00000, {handle=5671888}, 0x7fe12a7ff010, {handle=5845728}, 4194304, 0, 0, {handle=140627542421632}) = 0 :5180 +6503199664278958:6503199664279008 35231:35231 hsa_signal_load_relaxed({handle=140627542421632}) = 1 :5181 +6503199664279158:6503199664379254 35231:35231 hsa_signal_wait_scacquire({handle=140627542421632}, 2, 1, 100000, 1) = 1 :5182 +6503199664379354:6503199665984391 35231:35231 hsa_signal_wait_scacquire({handle=140627542421632}, 2, 1, 18446744073709551615, 0) = 0 :5183 +6503199665984661:6503199665984751 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140627542421632}, 0x7ffd04faf410) = 0 :5184 +6503199665985533:6503199665985583 35231:35231 hsa_signal_load_relaxed({handle=140627542421632}) = 0 :5185 +6503199665989751:6503199665989801 35231:35231 hsa_signal_load_relaxed({handle=140627542421632}) = 0 :5189 +6503199665990041:6503199665990111 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 150 :5190 +6503199665990252:6503199665990302 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 150 :5191 +6503199665990422:6503199665990502 35231:35231 hsa_signal_load_relaxed({handle=140622355554176}) = 0 :5192 +6503199665990612:6503199665990672 35231:35231 hsa_signal_load_relaxed({handle=140627542421504}) = 0 :5193 +6503199665990883:6503199665990933 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542421504}, 1) = void :5194 +6503199665991093:6503199665991153 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 150 :5195 +6503199665991334:6503199665991795 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 150) = void :5196 +6503199665994690:6503199665994910 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :5198 +6503199665995071:6503199665995181 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf590, 0, 0, 0) = 0 :5199 +6503199665995321:6503199665995421 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf630, 0, 0, 0) = 0 :5200 +6503199665995562:6503199665995662 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf570, 0, 0, 0) = 0 :5201 +6503199665996453:6503199665998988 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a3fe000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :5202 +6503199665999359:6503199665999409 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 151 :5203 +6503199665999509:6503199665999559 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 150 :5204 +6503199665999679:6503199665999739 35231:35231 hsa_signal_load_relaxed({handle=140622355554048}) = 0 :5205 +6503199666000691:6503199666000761 35231:35231 hsa_signal_load_relaxed({handle=140622355554176}) = 0 :5206 +6503199666000901:6503199666000952 35231:35231 hsa_signal_load_relaxed({handle=140622355554048}) = 0 :5207 +6503199666001072:6503199666001122 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355554176}, 1) = void :5208 +6503199666001262:6503199666001322 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 150 :5209 +6503199666001693:6503199666002124 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 151) = void :5210 +6503199666002254:6503199666002304 35231:35231 hsa_signal_load_relaxed({handle=140622355554176}) = 1 :5211 +6503199666002444:6503199666002494 35231:35231 hsa_signal_load_relaxed({handle=140622355554176}) = 1 :5212 +6503199666002625:6503199666012713 35231:35231 hsa_signal_wait_scacquire({handle=140622355554176}, 2, 1, 10000, 1) = 1 :5213 +6503199666012884:6503199666012934 35231:35231 hsa_signal_load_relaxed({handle=140622355553920}) = 0 :5214 +6503199666013034:6503199666013084 35231:35231 hsa_signal_load_relaxed({handle=140622355554048}) = 0 :5215 +6503199666013194:6503199666013244 35231:35231 hsa_signal_load_relaxed({handle=140622355553920}) = 0 :5216 +6503199666013355:6503199666013405 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355554048}, 1) = void :5217 +6503199666013615:6503199666014667 35231:35231 hsa_amd_memory_async_copy(0x7fe12a3fe010, {handle=5845728}, 0x7fe129400000, {handle=5671888}, 4194304, 1, 0x710270, {handle=140622355554048}) = 0 :5218 +6503199666014847:6503199666014897 35231:35231 hsa_signal_load_relaxed({handle=140622355554176}) = 1 :5219 +6503199666014998:6503199666114562 35231:35231 hsa_signal_wait_scacquire({handle=140622355554176}, 2, 1, 100000, 1) = 0 :5220 +6503199666114693:6503199666114773 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140622355554176}, 0x7ffd04faf400) = 0 :5221 +6503199666114893:6503199666114943 35231:35231 hsa_signal_load_relaxed({handle=140622355554048}) = 1 :5222 +6503199666115063:6503199666215129 35231:35231 hsa_signal_wait_scacquire({handle=140622355554048}, 2, 1, 100000, 1) = 1 :5223 +6503199666215239:6503199667658796 35231:35231 hsa_signal_wait_scacquire({handle=140622355554048}, 2, 1, 18446744073709551615, 0) = 0 :5224 +6503199667659037:6503199667659147 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140622355554048}, 0x7ffd04faf410) = 0 :5225 +6503199667659738:6503199667659788 35231:35231 hsa_signal_load_relaxed({handle=140622355554048}) = 0 :5226 +6503199667662293:6503199667662614 35231:35231 hsa_signal_load_relaxed({handle=140627542421504}) = 0 :5227 +6503199667662734:6503199667662814 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140627542421504}, 0x7ffd04faf540) = 0 :5228 +6503199676223692:6503199676224002 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :5230 +6503199676224203:6503199676224303 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf590, 0, 0, 0) = 0 :5231 +6503199676224443:6503199676224543 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf630, 0, 0, 0) = 0 :5232 +6503199676224694:6503199676224804 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf570, 0, 0, 0) = 0 :5233 +6503199676225986:6503199676228941 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a7ff000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :5234 +6503199676229402:6503199676229502 35231:35231 hsa_signal_load_relaxed({handle=140622355554048}) = 0 :5235 +6503199676229643:6503199676229713 35231:35231 hsa_signal_load_relaxed({handle=140622355553792}) = 0 :5236 +6503199676229823:6503199676229883 35231:35231 hsa_signal_load_relaxed({handle=140622355553920}) = 0 :5237 +6503199676230094:6503199676230154 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355553920}, 1) = void :5238 +6503199676230314:6503199676231566 35231:35231 hsa_amd_memory_async_copy(0x7fe129a00000, {handle=5671888}, 0x7fe12a7ff010, {handle=5845728}, 4194304, 0, 0, {handle=140622355553920}) = 0 :5239 +6503199676231697:6503199676231747 35231:35231 hsa_signal_load_relaxed({handle=140622355553920}) = 1 :5240 +6503199676231857:6503199676331963 35231:35231 hsa_signal_wait_scacquire({handle=140622355553920}, 2, 1, 100000, 1) = 1 :5241 +6503199676332053:6503199677935136 35231:35231 hsa_signal_wait_scacquire({handle=140622355553920}, 2, 1, 18446744073709551615, 0) = 0 :5242 +6503199677935407:6503199677940526 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140622355553920}, 0x7ffd04faf410) = 0 :5243 +6503199677941317:6503199677941368 35231:35231 hsa_signal_load_relaxed({handle=140622355553920}) = 0 :5244 +6503199677945165:6503199677945215 35231:35231 hsa_signal_load_relaxed({handle=140622355553920}) = 0 :5248 +6503199677945455:6503199677945525 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 152 :5249 +6503199677945676:6503199677945736 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 152 :5250 +6503199677945876:6503199677945956 35231:35231 hsa_signal_load_relaxed({handle=140622355553664}) = 0 :5251 +6503199677947990:6503199677948070 35231:35231 hsa_signal_load_relaxed({handle=140622355553792}) = 0 :5252 +6503199677948280:6503199677948341 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355553792}, 1) = void :5253 +6503199677948481:6503199677948561 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 152 :5254 +6503199677948741:6503199677949202 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 152) = void :5255 +6503199677951206:6503199677951426 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :5257 +6503199677951577:6503199677951677 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf590, 0, 0, 0) = 0 :5258 +6503199677951817:6503199677951917 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf630, 0, 0, 0) = 0 :5259 +6503199677952057:6503199677952158 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf570, 0, 0, 0) = 0 :5260 +6503199677953059:6503199677955724 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a3fe000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :5261 +6503199677956125:6503199677956205 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 153 :5262 +6503199677956315:6503199677956365 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 152 :5263 +6503199677956506:6503199677956556 35231:35231 hsa_signal_load_relaxed({handle=140622355553536}) = 0 :5264 +6503199677956656:6503199677956706 35231:35231 hsa_signal_load_relaxed({handle=140622355553664}) = 0 :5265 +6503199677956816:6503199677956866 35231:35231 hsa_signal_load_relaxed({handle=140622355553536}) = 0 :5266 +6503199677956967:6503199677957017 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355553664}, 1) = void :5267 +6503199677957147:6503199677957197 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 152 :5268 +6503199677957307:6503199677957748 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 153) = void :5269 +6503199677957858:6503199677957908 35231:35231 hsa_signal_load_relaxed({handle=140622355553664}) = 1 :5270 +6503199677958008:6503199677958059 35231:35231 hsa_signal_load_relaxed({handle=140622355553664}) = 1 :5271 +6503199677958189:6503199677968277 35231:35231 hsa_signal_wait_scacquire({handle=140622355553664}, 2, 1, 10000, 1) = 1 :5272 +6503199677968408:6503199677968488 35231:35231 hsa_signal_load_relaxed({handle=140622355553408}) = 0 :5273 +6503199677968598:6503199677968648 35231:35231 hsa_signal_load_relaxed({handle=140622355553536}) = 0 :5274 +6503199677969570:6503199677969620 35231:35231 hsa_signal_load_relaxed({handle=140622355553408}) = 0 :5275 +6503199677969750:6503199677969800 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355553536}, 1) = void :5276 +6503199677970031:6503199677971313 35231:35231 hsa_amd_memory_async_copy(0x7fe12a3fe010, {handle=5845728}, 0x7fe129400000, {handle=5671888}, 4194304, 1, 0x710340, {handle=140622355553536}) = 0 :5277 +6503199677971463:6503199677971513 35231:35231 hsa_signal_load_relaxed({handle=140622355553664}) = 1 :5278 +6503199677971634:6503199678071759 35231:35231 hsa_signal_wait_scacquire({handle=140622355553664}, 2, 1, 100000, 1) = 0 :5279 +6503199678071930:6503199678072010 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140622355553664}, 0x7ffd04faf400) = 0 :5280 +6503199678072140:6503199678072190 35231:35231 hsa_signal_load_relaxed({handle=140622355553536}) = 1 :5281 +6503199678072280:6503199678172366 35231:35231 hsa_signal_wait_scacquire({handle=140622355553536}, 2, 1, 100000, 1) = 1 :5282 +6503199678172466:6503199679614781 35231:35231 hsa_signal_wait_scacquire({handle=140622355553536}, 2, 1, 18446744073709551615, 0) = 0 :5283 +6503199679615042:6503199679615162 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140622355553536}, 0x7ffd04faf410) = 0 :5284 +6503199679615763:6503199679615813 35231:35231 hsa_signal_load_relaxed({handle=140622355553536}) = 0 :5285 +6503199679616014:6503199679616324 35231:35231 hsa_signal_load_relaxed({handle=140622355553792}) = 0 :5286 +6503199679616444:6503199679616535 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140622355553792}, 0x7ffd04faf540) = 0 :5287 +6503199688212588:6503199688212928 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :5289 +6503199688213139:6503199688213239 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf590, 0, 0, 0) = 0 :5290 +6503199688213389:6503199688213479 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf630, 0, 0, 0) = 0 :5291 +6503199688213620:6503199688213710 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf570, 0, 0, 0) = 0 :5292 +6503199688214902:6503199688217908 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a7ff000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :5293 +6503199688218348:6503199688218449 35231:35231 hsa_signal_load_relaxed({handle=140622355553536}) = 0 :5294 +6503199688218579:6503199688218649 35231:35231 hsa_signal_load_relaxed({handle=140622355553280}) = 0 :5295 +6503199688218759:6503199688218819 35231:35231 hsa_signal_load_relaxed({handle=140622355553408}) = 0 :5296 +6503199688220382:6503199688220482 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355553408}, 1) = void :5297 +6503199688220663:6503199688221875 35231:35231 hsa_amd_memory_async_copy(0x7fe129a00000, {handle=5671888}, 0x7fe12a7ff010, {handle=5845728}, 4194304, 0, 0, {handle=140622355553408}) = 0 :5298 +6503199688222015:6503199688222065 35231:35231 hsa_signal_load_relaxed({handle=140622355553408}) = 1 :5299 +6503199688222175:6503199688322311 35231:35231 hsa_signal_wait_scacquire({handle=140622355553408}, 2, 1, 100000, 1) = 1 :5300 +6503199688322411:6503199689931095 35231:35231 hsa_signal_wait_scacquire({handle=140622355553408}, 2, 1, 18446744073709551615, 0) = 0 :5301 +6503199689931365:6503199689931506 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140622355553408}, 0x7ffd04faf410) = 0 :5302 +6503199689932277:6503199689932327 35231:35231 hsa_signal_load_relaxed({handle=140622355553408}) = 0 :5303 +6503199689937687:6503199689937737 35231:35231 hsa_signal_load_relaxed({handle=140622355553408}) = 0 :5307 +6503199689937978:6503199689938078 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 154 :5308 +6503199689938198:6503199689938248 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 154 :5309 +6503199689938388:6503199689938439 35231:35231 hsa_signal_load_relaxed({handle=140622355553152}) = 0 :5310 +6503199689938539:6503199689938589 35231:35231 hsa_signal_load_relaxed({handle=140622355553280}) = 0 :5311 +6503199689938769:6503199689938819 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355553280}, 1) = void :5312 +6503199689938990:6503199689939050 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 154 :5313 +6503199689939250:6503199689939711 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 154) = void :5314 +6503199689940823:6503199689941033 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :5316 +6503199689941184:6503199689941284 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf590, 0, 0, 0) = 0 :5317 +6503199689941434:6503199689941524 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf630, 0, 0, 0) = 0 :5318 +6503199689941665:6503199689941765 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf570, 0, 0, 0) = 0 :5319 +6503199689942666:6503199689945381 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a3fe000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :5320 +6503199689945742:6503199689945792 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 155 :5321 +6503199689947055:6503199689947135 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 154 :5322 +6503199689947275:6503199689947355 35231:35231 hsa_signal_load_relaxed({handle=140622355553024}) = 0 :5323 +6503199689947455:6503199689947505 35231:35231 hsa_signal_load_relaxed({handle=140622355553152}) = 0 :5324 +6503199689947616:6503199689947666 35231:35231 hsa_signal_load_relaxed({handle=140622355553024}) = 0 :5325 +6503199689947766:6503199689947816 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355553152}, 1) = void :5326 +6503199689947956:6503199689948016 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 154 :5327 +6503199689948137:6503199689948577 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 155) = void :5328 +6503199689948718:6503199689948768 35231:35231 hsa_signal_load_relaxed({handle=140622355553152}) = 1 :5329 +6503199689948868:6503199689948918 35231:35231 hsa_signal_load_relaxed({handle=140622355553152}) = 1 :5330 +6503199689949028:6503199689959127 35231:35231 hsa_signal_wait_scacquire({handle=140622355553152}, 2, 1, 10000, 1) = 1 :5331 +6503199689959307:6503199689959377 35231:35231 hsa_signal_load_relaxed({handle=140622355552896}) = 0 :5332 +6503199689959478:6503199689959528 35231:35231 hsa_signal_load_relaxed({handle=140622355553024}) = 0 :5333 +6503199689959628:6503199689959678 35231:35231 hsa_signal_load_relaxed({handle=140622355552896}) = 0 :5334 +6503199689959778:6503199689959828 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355553024}, 1) = void :5335 +6503199689960029:6503199689961050 35231:35231 hsa_amd_memory_async_copy(0x7fe12a3fe010, {handle=5845728}, 0x7fe129400000, {handle=5671888}, 4194304, 1, 0x710410, {handle=140622355553024}) = 0 :5336 +6503199689961221:6503199689961271 35231:35231 hsa_signal_load_relaxed({handle=140622355553152}) = 1 :5337 +6503199689961381:6503199690061497 35231:35231 hsa_signal_wait_scacquire({handle=140622355553152}, 2, 1, 100000, 1) = 1 :5338 +6503199690061597:6503199690062208 35231:35231 hsa_signal_wait_scacquire({handle=140622355553152}, 2, 1, 18446744073709551615, 0) = 0 :5339 +6503199690062368:6503199690062449 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140622355553152}, 0x7ffd04faf400) = 0 :5340 +6503199690062559:6503199690062609 35231:35231 hsa_signal_load_relaxed({handle=140622355553024}) = 1 :5341 +6503199690062719:6503199690162795 35231:35231 hsa_signal_wait_scacquire({handle=140622355553024}, 2, 1, 100000, 1) = 1 :5342 +6503199690162895:6503199691606222 35231:35231 hsa_signal_wait_scacquire({handle=140622355553024}, 2, 1, 18446744073709551615, 0) = 0 :5343 +6503199691607193:6503199691607294 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140622355553024}, 0x7ffd04faf410) = 0 :5344 +6503199691607885:6503199691607935 35231:35231 hsa_signal_load_relaxed({handle=140622355553024}) = 0 :5345 +6503199691608075:6503199691608536 35231:35231 hsa_signal_load_relaxed({handle=140622355553280}) = 0 :5346 +6503199691608636:6503199691608716 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140622355553280}, 0x7ffd04faf540) = 0 :5347 +6503199700188830:6503199700189120 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :5349 +6503199700189311:6503199700189401 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf590, 0, 0, 0) = 0 :5350 +6503199700189551:6503199700189651 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf630, 0, 0, 0) = 0 :5351 +6503199700189791:6503199700189892 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf570, 0, 0, 0) = 0 :5352 +6503199700190994:6503199700193929 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a7ff000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :5353 +6503199700194400:6503199700194510 35231:35231 hsa_signal_load_relaxed({handle=140622355553024}) = 0 :5354 +6503199700194630:6503199700194701 35231:35231 hsa_signal_load_relaxed({handle=140622355552768}) = 0 :5355 +6503199700194811:6503199700194871 35231:35231 hsa_signal_load_relaxed({handle=140622355552896}) = 0 :5356 +6503199700195071:6503199700195141 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355552896}, 1) = void :5357 +6503199700195352:6503199700196514 35231:35231 hsa_amd_memory_async_copy(0x7fe129a00000, {handle=5671888}, 0x7fe12a7ff010, {handle=5845728}, 4194304, 0, 0, {handle=140622355552896}) = 0 :5358 +6503199700196654:6503199700196704 35231:35231 hsa_signal_load_relaxed({handle=140622355552896}) = 1 :5359 +6503199700196865:6503199700296960 35231:35231 hsa_signal_wait_scacquire({handle=140622355552896}, 2, 1, 100000, 1) = 1 :5360 +6503199700297060:6503199701879024 35231:35231 hsa_signal_wait_scacquire({handle=140622355552896}, 2, 1, 18446744073709551615, 0) = 0 :5361 +6503199701879545:6503199701879646 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140622355552896}, 0x7ffd04faf410) = 0 :5362 +6503199701880377:6503199701880427 35231:35231 hsa_signal_load_relaxed({handle=140622355552896}) = 0 :5363 +6503199701885997:6503199701886067 35231:35231 hsa_signal_load_relaxed({handle=140622355552896}) = 0 :5367 +6503199701886268:6503199701886348 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 156 :5368 +6503199701889364:6503199701889424 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 156 :5369 +6503199701889554:6503199701889604 35231:35231 hsa_signal_load_relaxed({handle=140622355552640}) = 0 :5370 +6503199701889704:6503199701889754 35231:35231 hsa_signal_load_relaxed({handle=140622355552768}) = 0 :5371 +6503199701889975:6503199701890025 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355552768}, 1) = void :5372 +6503199701890165:6503199701890225 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 156 :5373 +6503199701890396:6503199701890856 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 156) = void :5374 +6503199701892139:6503199701892379 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :5376 +6503199701892529:6503199701892630 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf590, 0, 0, 0) = 0 :5377 +6503199701892780:6503199701892870 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf630, 0, 0, 0) = 0 :5378 +6503199701893010:6503199701893121 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf570, 0, 0, 0) = 0 :5379 +6503199701893922:6503199701896547 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a3fe000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :5380 +6503199701896928:6503199701896988 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 157 :5381 +6503199701897078:6503199701897128 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 156 :5382 +6503199701897248:6503199701897328 35231:35231 hsa_signal_load_relaxed({handle=140622355552512}) = 0 :5383 +6503199701897429:6503199701897479 35231:35231 hsa_signal_load_relaxed({handle=140622355552640}) = 0 :5384 +6503199701897599:6503199701897649 35231:35231 hsa_signal_load_relaxed({handle=140622355552512}) = 0 :5385 +6503199701897749:6503199701897799 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355552640}, 1) = void :5386 +6503199701897919:6503199701897980 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 156 :5387 +6503199701898080:6503199701898541 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 157) = void :5388 +6503199701898701:6503199701898751 35231:35231 hsa_signal_load_relaxed({handle=140622355552640}) = 1 :5389 +6503199701898871:6503199701898911 35231:35231 hsa_signal_load_relaxed({handle=140622355552640}) = 1 :5390 +6503199701899753:6503199701909852 35231:35231 hsa_signal_wait_scacquire({handle=140622355552640}, 2, 1, 10000, 1) = 1 :5391 +6503199701910012:6503199701910082 35231:35231 hsa_signal_load_relaxed({handle=140622355552384}) = 0 :5392 +6503199701910182:6503199701910232 35231:35231 hsa_signal_load_relaxed({handle=140622355552512}) = 0 :5393 +6503199701910333:6503199701910383 35231:35231 hsa_signal_load_relaxed({handle=140622355552384}) = 0 :5394 +6503199701910473:6503199701910523 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355552512}, 1) = void :5395 +6503199701910753:6503199701912026 35231:35231 hsa_amd_memory_async_copy(0x7fe12a3fe010, {handle=5845728}, 0x7fe129400000, {handle=5671888}, 4194304, 1, 0x7104e0, {handle=140622355552512}) = 0 :5396 +6503199701912216:6503199701912266 35231:35231 hsa_signal_load_relaxed({handle=140622355552640}) = 1 :5397 +6503199701912356:6503199702012442 35231:35231 hsa_signal_wait_scacquire({handle=140622355552640}, 2, 1, 100000, 1) = 1 :5398 +6503199702012552:6503199702013283 35231:35231 hsa_signal_wait_scacquire({handle=140622355552640}, 2, 1, 18446744073709551615, 0) = 0 :5399 +6503199702013414:6503199702013524 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140622355552640}, 0x7ffd04faf400) = 0 :5400 +6503199702013634:6503199702013684 35231:35231 hsa_signal_load_relaxed({handle=140622355552512}) = 1 :5401 +6503199702013794:6503199702113870 35231:35231 hsa_signal_wait_scacquire({handle=140622355552512}, 2, 1, 100000, 1) = 1 :5402 +6503199702113960:6503199703558650 35231:35231 hsa_signal_wait_scacquire({handle=140622355552512}, 2, 1, 18446744073709551615, 0) = 0 :5403 +6503199703558900:6503199703559030 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140622355552512}, 0x7ffd04faf410) = 0 :5404 +6503199703559612:6503199703559662 35231:35231 hsa_signal_load_relaxed({handle=140622355552512}) = 0 :5405 +6503199703559822:6503199703560143 35231:35231 hsa_signal_load_relaxed({handle=140622355552768}) = 0 :5406 +6503199703560253:6503199703560333 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140622355552768}, 0x7ffd04faf540) = 0 :5407 +6503199712163479:6503199712163780 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :5409 +6503199712163970:6503199712164070 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf590, 0, 0, 0) = 0 :5410 +6503199712164211:6503199712164311 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf630, 0, 0, 0) = 0 :5411 +6503199712164451:6503199712164551 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf570, 0, 0, 0) = 0 :5412 +6503199712165824:6503199712168639 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a7ff000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :5413 +6503199712170492:6503199712170602 35231:35231 hsa_signal_load_relaxed({handle=140622355552512}) = 0 :5414 +6503199712170753:6503199712170823 35231:35231 hsa_signal_load_relaxed({handle=140622355552256}) = 0 :5415 +6503199712170943:6503199712170993 35231:35231 hsa_signal_load_relaxed({handle=140622355552384}) = 0 :5416 +6503199712171234:6503199712171294 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355552384}, 1) = void :5417 +6503199712171484:6503199712172426 35231:35231 hsa_amd_memory_async_copy(0x7fe129a00000, {handle=5671888}, 0x7fe12a7ff010, {handle=5845728}, 4194304, 0, 0, {handle=140622355552384}) = 0 :5418 +6503199712172566:6503199712172616 35231:35231 hsa_signal_load_relaxed({handle=140622355552384}) = 1 :5419 +6503199712172746:6503199712272842 35231:35231 hsa_signal_wait_scacquire({handle=140622355552384}, 2, 1, 100000, 1) = 1 :5420 +6503199712272942:6503199713891033 35231:35231 hsa_signal_wait_scacquire({handle=140622355552384}, 2, 1, 18446744073709551615, 0) = 0 :5421 +6503199713891274:6503199713891364 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140622355552384}, 0x7ffd04faf410) = 0 :5422 +6503199713892105:6503199713892155 35231:35231 hsa_signal_load_relaxed({handle=140622355552384}) = 0 :5423 +6503199713897585:6503199713897646 35231:35231 hsa_signal_load_relaxed({handle=140622355552384}) = 0 :5427 +6503199713897876:6503199713897946 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 158 :5428 +6503199713898096:6503199713898187 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 158 :5429 +6503199713898297:6503199713898347 35231:35231 hsa_signal_load_relaxed({handle=140622355552128}) = 0 :5430 +6503199713898457:6503199713898507 35231:35231 hsa_signal_load_relaxed({handle=140622355552256}) = 0 :5431 +6503199713898697:6503199713898748 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355552256}, 1) = void :5432 +6503199713898888:6503199713898948 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 158 :5433 +6503199713899118:6503199713899599 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 158) = void :5434 +6503199713900761:6503199713900942 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :5436 +6503199713901102:6503199713901202 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf590, 0, 0, 0) = 0 :5437 +6503199713901352:6503199713901453 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf630, 0, 0, 0) = 0 :5438 +6503199713902454:6503199713902585 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf570, 0, 0, 0) = 0 :5439 +6503199713903416:6503199713905851 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a3fe000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :5440 +6503199713906211:6503199713906262 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 159 :5441 +6503199713906362:6503199713906412 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 158 :5442 +6503199713906572:6503199713906662 35231:35231 hsa_signal_load_relaxed({handle=140627542423296}) = 0 :5443 +6503199713906772:6503199713906823 35231:35231 hsa_signal_load_relaxed({handle=140622355552128}) = 0 :5444 +6503199713906933:6503199713906983 35231:35231 hsa_signal_load_relaxed({handle=140627542423296}) = 0 :5445 +6503199713907083:6503199713907133 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355552128}, 1) = void :5446 +6503199713907273:6503199713907323 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 158 :5447 +6503199713907474:6503199713907915 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 159) = void :5448 +6503199713908035:6503199713908085 35231:35231 hsa_signal_load_relaxed({handle=140622355552128}) = 1 :5449 +6503199713908185:6503199713908235 35231:35231 hsa_signal_load_relaxed({handle=140622355552128}) = 1 :5450 +6503199713908365:6503199713918454 35231:35231 hsa_signal_wait_scacquire({handle=140622355552128}, 2, 1, 10000, 1) = 1 :5451 +6503199713918634:6503199713918695 35231:35231 hsa_signal_load_relaxed({handle=140627542423168}) = 0 :5452 +6503199713918815:6503199713918865 35231:35231 hsa_signal_load_relaxed({handle=140627542423296}) = 0 :5453 +6503199713918975:6503199713919025 35231:35231 hsa_signal_load_relaxed({handle=140627542423168}) = 0 :5454 +6503199713919135:6503199713919185 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542423296}, 1) = void :5455 +6503199713919396:6503199713920358 35231:35231 hsa_amd_memory_async_copy(0x7fe12a3fe010, {handle=5845728}, 0x7fe129400000, {handle=5671888}, 4194304, 1, 0x7105b0, {handle=140627542423296}) = 0 :5456 +6503199713920528:6503199713920578 35231:35231 hsa_signal_load_relaxed({handle=140622355552128}) = 1 :5457 +6503199713920678:6503199714020764 35231:35231 hsa_signal_wait_scacquire({handle=140622355552128}, 2, 1, 100000, 1) = 1 :5458 +6503199714020864:6503199714021986 35231:35231 hsa_signal_wait_scacquire({handle=140622355552128}, 2, 1, 18446744073709551615, 0) = 0 :5459 +6503199714022938:6503199714023028 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140622355552128}, 0x7ffd04faf400) = 0 :5460 +6503199714023158:6503199714023228 35231:35231 hsa_signal_load_relaxed({handle=140627542423296}) = 1 :5461 +6503199714023329:6503199714123404 35231:35231 hsa_signal_wait_scacquire({handle=140627542423296}, 2, 1, 100000, 1) = 1 :5462 +6503199714123494:6503199715570709 35231:35231 hsa_signal_wait_scacquire({handle=140627542423296}, 2, 1, 18446744073709551615, 0) = 0 :5463 +6503199715570949:6503199715571039 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140627542423296}, 0x7ffd04faf410) = 0 :5464 +6503199715571680:6503199715571721 35231:35231 hsa_signal_load_relaxed({handle=140627542423296}) = 0 :5465 +6503199715571901:6503199715572221 35231:35231 hsa_signal_load_relaxed({handle=140622355552256}) = 0 :5466 +6503199715572322:6503199715572402 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140622355552256}, 0x7ffd04faf540) = 0 :5467 +6503199724143448:6503199724143729 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :5469 +6503199724143919:6503199724144020 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf590, 0, 0, 0) = 0 :5470 +6503199724144200:6503199724144300 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf630, 0, 0, 0) = 0 :5471 +6503199724144440:6503199724144540 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf570, 0, 0, 0) = 0 :5472 +6503199724145713:6503199724148548 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a7ff000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :5473 +6503199724148989:6503199724149069 35231:35231 hsa_signal_load_relaxed({handle=140627542423296}) = 0 :5474 +6503199724149189:6503199724149279 35231:35231 hsa_signal_load_relaxed({handle=140627542423040}) = 0 :5475 +6503199724149410:6503199724149460 35231:35231 hsa_signal_load_relaxed({handle=140627542423168}) = 0 :5476 +6503199724149640:6503199724149710 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542423168}, 1) = void :5477 +6503199724149870:6503199724151033 35231:35231 hsa_amd_memory_async_copy(0x7fe129a00000, {handle=5671888}, 0x7fe12a7ff010, {handle=5845728}, 4194304, 0, 0, {handle=140627542423168}) = 0 :5478 +6503199724151193:6503199724151243 35231:35231 hsa_signal_load_relaxed({handle=140627542423168}) = 1 :5479 +6503199724151373:6503199724251469 35231:35231 hsa_signal_wait_scacquire({handle=140627542423168}, 2, 1, 100000, 1) = 1 :5480 +6503199724251569:6503199725866404 35231:35231 hsa_signal_wait_scacquire({handle=140627542423168}, 2, 1, 18446744073709551615, 0) = 0 :5481 +6503199725866674:6503199725866765 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140627542423168}, 0x7ffd04faf410) = 0 :5482 +6503199725872395:6503199725872445 35231:35231 hsa_signal_load_relaxed({handle=140627542423168}) = 0 :5483 +6503199725877535:6503199725877595 35231:35231 hsa_signal_load_relaxed({handle=140627542423168}) = 0 :5487 +6503199725877805:6503199725877875 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 160 :5488 +6503199725878026:6503199725878096 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 160 :5489 +6503199725878226:6503199725878306 35231:35231 hsa_signal_load_relaxed({handle=140627542422912}) = 0 :5490 +6503199725878416:6503199725878476 35231:35231 hsa_signal_load_relaxed({handle=140627542423040}) = 0 :5491 +6503199725878667:6503199725878717 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542423040}, 1) = void :5492 +6503199725878847:6503199725878907 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 160 :5493 +6503199725879098:6503199725879558 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 160) = void :5494 +6503199725880630:6503199725880881 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :5496 +6503199725881031:6503199725881131 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf590, 0, 0, 0) = 0 :5497 +6503199725881272:6503199725881362 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf630, 0, 0, 0) = 0 :5498 +6503199725881502:6503199725881602 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf570, 0, 0, 0) = 0 :5499 +6503199725882404:6503199725884838 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a3fe000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :5500 +6503199725885249:6503199725885309 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 161 :5501 +6503199725885409:6503199725885459 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 160 :5502 +6503199725885580:6503199725885640 35231:35231 hsa_signal_load_relaxed({handle=140627542422784}) = 0 :5503 +6503199725885770:6503199725885820 35231:35231 hsa_signal_load_relaxed({handle=140627542422912}) = 0 :5504 +6503199725885930:6503199725885980 35231:35231 hsa_signal_load_relaxed({handle=140627542422784}) = 0 :5505 +6503199725886070:6503199725886131 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542422912}, 1) = void :5506 +6503199725886251:6503199725886311 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 160 :5507 +6503199725888836:6503199725889276 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 161) = void :5508 +6503199725889427:6503199725889477 35231:35231 hsa_signal_load_relaxed({handle=140627542422912}) = 1 :5509 +6503199725889567:6503199725889617 35231:35231 hsa_signal_load_relaxed({handle=140627542422912}) = 1 :5510 +6503199725889757:6503199725899866 35231:35231 hsa_signal_wait_scacquire({handle=140627542422912}, 2, 1, 10000, 1) = 1 :5511 +6503199725900016:6503199725900076 35231:35231 hsa_signal_load_relaxed({handle=140627542422656}) = 0 :5512 +6503199725900177:6503199725900227 35231:35231 hsa_signal_load_relaxed({handle=140627542422784}) = 0 :5513 +6503199725900327:6503199725900377 35231:35231 hsa_signal_load_relaxed({handle=140627542422656}) = 0 :5514 +6503199725900477:6503199725900527 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542422784}, 1) = void :5515 +6503199725900738:6503199725901920 35231:35231 hsa_amd_memory_async_copy(0x7fe12a3fe010, {handle=5845728}, 0x7fe129400000, {handle=5671888}, 4194304, 1, 0x710680, {handle=140627542422784}) = 0 :5516 +6503199725902090:6503199725902140 35231:35231 hsa_signal_load_relaxed({handle=140627542422912}) = 1 :5517 +6503199725902240:6503199726002316 35231:35231 hsa_signal_wait_scacquire({handle=140627542422912}, 2, 1, 100000, 1) = 0 :5518 +6503199726002476:6503199726002577 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140627542422912}, 0x7ffd04faf400) = 0 :5519 +6503199726002687:6503199726002737 35231:35231 hsa_signal_load_relaxed({handle=140627542422784}) = 1 :5520 +6503199726002827:6503199726102913 35231:35231 hsa_signal_wait_scacquire({handle=140627542422784}, 2, 1, 100000, 1) = 1 :5521 +6503199726103003:6503199727546871 35231:35231 hsa_signal_wait_scacquire({handle=140627542422784}, 2, 1, 18446744073709551615, 0) = 0 :5522 +6503199727547191:6503199727547271 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140627542422784}, 0x7ffd04faf410) = 0 :5523 +6503199727547913:6503199727547963 35231:35231 hsa_signal_load_relaxed({handle=140627542422784}) = 0 :5524 +6503199727548123:6503199727548464 35231:35231 hsa_signal_load_relaxed({handle=140627542423040}) = 0 :5525 +6503199727548584:6503199727548664 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140627542423040}, 0x7ffd04faf540) = 0 :5526 +6503199736124370:6503199736124650 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :5528 +6503199736124911:6503199736125011 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf590, 0, 0, 0) = 0 :5529 +6503199736126884:6503199736126994 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf630, 0, 0, 0) = 0 :5530 +6503199736127135:6503199736127235 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf570, 0, 0, 0) = 0 :5531 +6503199736128878:6503199736131823 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a7ff000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :5532 +6503199736132224:6503199736132324 35231:35231 hsa_signal_load_relaxed({handle=140627542422784}) = 0 :5533 +6503199736132445:6503199736132515 35231:35231 hsa_signal_load_relaxed({handle=140627542422528}) = 0 :5534 +6503199736132635:6503199736132685 35231:35231 hsa_signal_load_relaxed({handle=140627542422656}) = 0 :5535 +6503199736132865:6503199736132925 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542422656}, 1) = void :5536 +6503199736133106:6503199736134328 35231:35231 hsa_amd_memory_async_copy(0x7fe129a00000, {handle=5671888}, 0x7fe12a7ff010, {handle=5845728}, 4194304, 0, 0, {handle=140627542422656}) = 0 :5537 +6503199736134448:6503199736134498 35231:35231 hsa_signal_load_relaxed({handle=140627542422656}) = 1 :5538 +6503199736134629:6503199736234734 35231:35231 hsa_signal_wait_scacquire({handle=140627542422656}, 2, 1, 100000, 1) = 1 :5539 +6503199736234824:6503199737839400 35231:35231 hsa_signal_wait_scacquire({handle=140627542422656}, 2, 1, 18446744073709551615, 0) = 0 :5540 +6503199737839681:6503199737839781 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140627542422656}, 0x7ffd04faf410) = 0 :5541 +6503199737840512:6503199737840593 35231:35231 hsa_signal_load_relaxed({handle=140627542422656}) = 0 :5542 +6503199737845712:6503199737845772 35231:35231 hsa_signal_load_relaxed({handle=140627542422656}) = 0 :5546 +6503199737846003:6503199737846073 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 162 :5547 +6503199737846243:6503199737846323 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 162 :5548 +6503199737846443:6503199737846524 35231:35231 hsa_signal_load_relaxed({handle=140627542422400}) = 0 :5549 +6503199737846624:6503199737846674 35231:35231 hsa_signal_load_relaxed({handle=140627542422528}) = 0 :5550 +6503199737846824:6503199737846874 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542422528}, 1) = void :5551 +6503199737847015:6503199737847075 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 162 :5552 +6503199737847265:6503199737847726 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 162) = void :5553 +6503199737850140:6503199737850341 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :5555 +6503199737851252:6503199737851363 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf590, 0, 0, 0) = 0 :5556 +6503199737851503:6503199737851603 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf630, 0, 0, 0) = 0 :5557 +6503199737851743:6503199737851833 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf570, 0, 0, 0) = 0 :5558 +6503199737852665:6503199737855039 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a3fe000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :5559 +6503199737855410:6503199737855470 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 163 :5560 +6503199737855560:6503199737855610 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 162 :5561 +6503199737855731:6503199737855801 35231:35231 hsa_signal_load_relaxed({handle=140627542422272}) = 0 :5562 +6503199737855891:6503199737855941 35231:35231 hsa_signal_load_relaxed({handle=140627542422400}) = 0 :5563 +6503199737856041:6503199737856091 35231:35231 hsa_signal_load_relaxed({handle=140627542422272}) = 0 :5564 +6503199737856182:6503199737856232 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542422400}, 1) = void :5565 +6503199737856372:6503199737856432 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 162 :5566 +6503199737856532:6503199737856973 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 163) = void :5567 +6503199737857093:6503199737857133 35231:35231 hsa_signal_load_relaxed({handle=140627542422400}) = 1 :5568 +6503199737857234:6503199737857284 35231:35231 hsa_signal_load_relaxed({handle=140627542422400}) = 1 :5569 +6503199737857414:6503199737867513 35231:35231 hsa_signal_wait_scacquire({handle=140627542422400}, 2, 1, 10000, 1) = 1 :5570 +6503199737867693:6503199737867763 35231:35231 hsa_signal_load_relaxed({handle=140627542422144}) = 0 :5571 +6503199737867863:6503199737867913 35231:35231 hsa_signal_load_relaxed({handle=140627542422272}) = 0 :5572 +6503199737868014:6503199737868064 35231:35231 hsa_signal_load_relaxed({handle=140627542422144}) = 0 :5573 +6503199737868154:6503199737868204 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542422272}, 1) = void :5574 +6503199737868424:6503199737869626 35231:35231 hsa_amd_memory_async_copy(0x7fe12a3fe010, {handle=5845728}, 0x7fe129400000, {handle=5671888}, 4194304, 1, 0x710750, {handle=140627542422272}) = 0 :5575 +6503199737869807:6503199737869857 35231:35231 hsa_signal_load_relaxed({handle=140627542422400}) = 1 :5576 +6503199737871290:6503199737970534 35231:35231 hsa_signal_wait_scacquire({handle=140627542422400}, 2, 1, 100000, 1) = 0 :5577 +6503199737970694:6503199737970774 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140627542422400}, 0x7ffd04faf400) = 0 :5578 +6503199737970884:6503199737970934 35231:35231 hsa_signal_load_relaxed({handle=140627542422272}) = 1 :5579 +6503199737971035:6503199738071110 35231:35231 hsa_signal_wait_scacquire({handle=140627542422272}, 2, 1, 100000, 1) = 1 :5580 +6503199738071210:6503199739514537 35231:35231 hsa_signal_wait_scacquire({handle=140627542422272}, 2, 1, 18446744073709551615, 0) = 0 :5581 +6503199739514788:6503199739514868 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140627542422272}, 0x7ffd04faf410) = 0 :5582 +6503199739515509:6503199739515559 35231:35231 hsa_signal_load_relaxed({handle=140627542422272}) = 0 :5583 +6503199739515749:6503199739515800 35231:35231 hsa_signal_load_relaxed({handle=140627542422528}) = 0 :5584 +6503199739515900:6503199739515980 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140627542422528}, 0x7ffd04faf540) = 0 :5585 +6503199748102375:6503199748102665 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :5587 +6503199748102876:6503199748102976 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf590, 0, 0, 0) = 0 :5588 +6503199748103116:6503199748103216 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf630, 0, 0, 0) = 0 :5589 +6503199748103357:6503199748103457 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf570, 0, 0, 0) = 0 :5590 +6503199748104669:6503199748107544 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a7ff000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :5591 +6503199748107935:6503199748108015 35231:35231 hsa_signal_load_relaxed({handle=140627542422272}) = 0 :5592 +6503199748108136:6503199748108216 35231:35231 hsa_signal_load_relaxed({handle=140627542422016}) = 0 :5593 +6503199748108316:6503199748108386 35231:35231 hsa_signal_load_relaxed({handle=140627542422144}) = 0 :5594 +6503199748108546:6503199748108616 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542422144}, 1) = void :5595 +6503199748108787:6503199748110079 35231:35231 hsa_amd_memory_async_copy(0x7fe129a00000, {handle=5671888}, 0x7fe12a7ff010, {handle=5845728}, 4194304, 0, 0, {handle=140627542422144}) = 0 :5596 +6503199748110229:6503199748110280 35231:35231 hsa_signal_load_relaxed({handle=140627542422144}) = 1 :5597 +6503199748110420:6503199748210525 35231:35231 hsa_signal_wait_scacquire({handle=140627542422144}, 2, 1, 100000, 1) = 1 :5598 +6503199748212689:6503199749820071 35231:35231 hsa_signal_wait_scacquire({handle=140627542422144}, 2, 1, 18446744073709551615, 0) = 0 :5599 +6503199749820331:6503199749826342 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140627542422144}, 0x7ffd04faf410) = 0 :5600 +6503199749827124:6503199749827174 35231:35231 hsa_signal_load_relaxed({handle=140627542422144}) = 0 :5601 +6503199749832343:6503199749832424 35231:35231 hsa_signal_load_relaxed({handle=140627542422144}) = 0 :5605 +6503199749832654:6503199749832724 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 164 :5606 +6503199749832874:6503199749833135 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 164 :5607 +6503199749833255:6503199749833305 35231:35231 hsa_signal_load_relaxed({handle=140627542421888}) = 0 :5608 +6503199749833425:6503199749833466 35231:35231 hsa_signal_load_relaxed({handle=140627542422016}) = 0 :5609 +6503199749833636:6503199749833686 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542422016}, 1) = void :5610 +6503199749833826:6503199749833886 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 164 :5611 +6503199749834077:6503199749834538 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 164) = void :5612 +6503199749835700:6503199749835920 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :5614 +6503199749836060:6503199749836161 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf590, 0, 0, 0) = 0 :5615 +6503199749836301:6503199749836391 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf630, 0, 0, 0) = 0 :5616 +6503199749836531:6503199749836631 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf570, 0, 0, 0) = 0 :5617 +6503199749837413:6503199749840088 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a3fe000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :5618 +6503199749840479:6503199749840529 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 165 :5619 +6503199749840619:6503199749840669 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 164 :5620 +6503199749840789:6503199749840849 35231:35231 hsa_signal_load_relaxed({handle=140627542421760}) = 0 :5621 +6503199749840949:6503199749840999 35231:35231 hsa_signal_load_relaxed({handle=140627542421888}) = 0 :5622 +6503199749841120:6503199749841170 35231:35231 hsa_signal_load_relaxed({handle=140627542421760}) = 0 :5623 +6503199749841280:6503199749841330 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542421888}, 1) = void :5624 +6503199749842292:6503199749842362 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 164 :5625 +6503199749842492:6503199749842933 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 165) = void :5626 +6503199749843073:6503199749843123 35231:35231 hsa_signal_load_relaxed({handle=140627542421888}) = 1 :5627 +6503199749843224:6503199749843274 35231:35231 hsa_signal_load_relaxed({handle=140627542421888}) = 1 :5628 +6503199749843374:6503199749853473 35231:35231 hsa_signal_wait_scacquire({handle=140627542421888}, 2, 1, 10000, 1) = 1 :5629 +6503199749853623:6503199749853683 35231:35231 hsa_signal_load_relaxed({handle=140627542421632}) = 0 :5630 +6503199749853783:6503199749853833 35231:35231 hsa_signal_load_relaxed({handle=140627542421760}) = 0 :5631 +6503199749853933:6503199749853984 35231:35231 hsa_signal_load_relaxed({handle=140627542421632}) = 0 :5632 +6503199749854074:6503199749854124 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542421760}, 1) = void :5633 +6503199749854354:6503199749855627 35231:35231 hsa_amd_memory_async_copy(0x7fe12a3fe010, {handle=5845728}, 0x7fe129400000, {handle=5671888}, 4194304, 1, 0x710820, {handle=140627542421760}) = 0 :5634 +6503199749855807:6503199749855857 35231:35231 hsa_signal_load_relaxed({handle=140627542421888}) = 1 :5635 +6503199749855957:6503199749956033 35231:35231 hsa_signal_wait_scacquire({handle=140627542421888}, 2, 1, 100000, 1) = 1 :5636 +6503199749956133:6503199749957025 35231:35231 hsa_signal_wait_scacquire({handle=140627542421888}, 2, 1, 18446744073709551615, 0) = 0 :5637 +6503199749957185:6503199749957265 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140627542421888}, 0x7ffd04faf400) = 0 :5638 +6503199749957375:6503199749957415 35231:35231 hsa_signal_load_relaxed({handle=140627542421760}) = 1 :5639 +6503199749957536:6503199750057611 35231:35231 hsa_signal_wait_scacquire({handle=140627542421760}, 2, 1, 100000, 1) = 1 :5640 +6503199750057701:6503199751500077 35231:35231 hsa_signal_wait_scacquire({handle=140627542421760}, 2, 1, 18446744073709551615, 0) = 0 :5641 +6503199751500327:6503199751500407 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140627542421760}, 0x7ffd04faf410) = 0 :5642 +6503199751501008:6503199751501059 35231:35231 hsa_signal_load_relaxed({handle=140627542421760}) = 0 :5643 +6503199751501209:6503199751501539 35231:35231 hsa_signal_load_relaxed({handle=140627542422016}) = 0 :5644 +6503199751501640:6503199751501720 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140627542422016}, 0x7ffd04faf540) = 0 :5645 +6503199760609883:6503199760610203 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :5647 +6503199760610394:6503199760610494 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf590, 0, 0, 0) = 0 :5648 +6503199760610634:6503199760610734 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf630, 0, 0, 0) = 0 :5649 +6503199760610874:6503199760610975 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf570, 0, 0, 0) = 0 :5650 +6503199760612277:6503199760615473 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a7ff000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :5651 +6503199760615904:6503199760615994 35231:35231 hsa_signal_load_relaxed({handle=140627542421760}) = 0 :5652 +6503199760616114:6503199760616204 35231:35231 hsa_signal_load_relaxed({handle=140627542421504}) = 0 :5653 +6503199760616325:6503199760616385 35231:35231 hsa_signal_load_relaxed({handle=140627542421632}) = 0 :5654 +6503199760616595:6503199760616655 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542421632}, 1) = void :5655 +6503199760616836:6503199760617998 35231:35231 hsa_amd_memory_async_copy(0x7fe129a00000, {handle=5671888}, 0x7fe12a7ff010, {handle=5845728}, 4194304, 0, 0, {handle=140627542421632}) = 0 :5656 +6503199760618118:6503199760618168 35231:35231 hsa_signal_load_relaxed({handle=140627542421632}) = 1 :5657 +6503199760618318:6503199760718404 35231:35231 hsa_signal_wait_scacquire({handle=140627542421632}, 2, 1, 100000, 1) = 1 :5658 +6503199760718504:6503199762323962 35231:35231 hsa_signal_wait_scacquire({handle=140627542421632}, 2, 1, 18446744073709551615, 0) = 0 :5659 +6503199762324523:6503199762324633 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140627542421632}, 0x7ffd04faf410) = 0 :5660 +6503199762325354:6503199762325404 35231:35231 hsa_signal_load_relaxed({handle=140627542421632}) = 0 :5661 +6503199762329241:6503199762329291 35231:35231 hsa_signal_load_relaxed({handle=140627542421632}) = 0 :5665 +6503199762329502:6503199762329582 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 166 :5666 +6503199762329702:6503199762329792 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 166 :5667 +6503199762329923:6503199762330013 35231:35231 hsa_signal_load_relaxed({handle=140622355554176}) = 0 :5668 +6503199762330123:6503199762330183 35231:35231 hsa_signal_load_relaxed({handle=140627542421504}) = 0 :5669 +6503199762330394:6503199762330474 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542421504}, 1) = void :5670 +6503199762332337:6503199762332397 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 166 :5671 +6503199762332578:6503199762333058 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 166) = void :5672 +6503199762334311:6503199762334541 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :5674 +6503199762334722:6503199762334822 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf590, 0, 0, 0) = 0 :5675 +6503199762334962:6503199762335052 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf630, 0, 0, 0) = 0 :5676 +6503199762335192:6503199762335293 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf570, 0, 0, 0) = 0 :5677 +6503199762336254:6503199762338759 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a3fe000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :5678 +6503199762339150:6503199762339200 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 167 :5679 +6503199762339290:6503199762339340 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 166 :5680 +6503199762339480:6503199762339540 35231:35231 hsa_signal_load_relaxed({handle=140622355554048}) = 0 :5681 +6503199762339641:6503199762339681 35231:35231 hsa_signal_load_relaxed({handle=140622355554176}) = 0 :5682 +6503199762339791:6503199762339831 35231:35231 hsa_signal_load_relaxed({handle=140622355554048}) = 0 :5683 +6503199762339931:6503199762339981 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355554176}, 1) = void :5684 +6503199762340112:6503199762340162 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 166 :5685 +6503199762340272:6503199762340713 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 167) = void :5686 +6503199762340823:6503199762340873 35231:35231 hsa_signal_load_relaxed({handle=140622355554176}) = 1 :5687 +6503199762340963:6503199762341013 35231:35231 hsa_signal_load_relaxed({handle=140622355554176}) = 1 :5688 +6503199762341113:6503199762351202 35231:35231 hsa_signal_wait_scacquire({handle=140622355554176}, 2, 1, 10000, 1) = 1 :5689 +6503199762351372:6503199762351443 35231:35231 hsa_signal_load_relaxed({handle=140622355553920}) = 0 :5690 +6503199762351533:6503199762351583 35231:35231 hsa_signal_load_relaxed({handle=140622355554048}) = 0 :5691 +6503199762351683:6503199762351733 35231:35231 hsa_signal_load_relaxed({handle=140622355553920}) = 0 :5692 +6503199762351843:6503199762351893 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355554048}, 1) = void :5693 +6503199762352935:6503199762354228 35231:35231 hsa_amd_memory_async_copy(0x7fe12a3fe010, {handle=5845728}, 0x7fe129400000, {handle=5671888}, 4194304, 1, 0x722900, {handle=140622355554048}) = 0 :5694 +6503199762354378:6503199762354428 35231:35231 hsa_signal_load_relaxed({handle=140622355554176}) = 1 :5695 +6503199762354538:6503199762454914 35231:35231 hsa_signal_wait_scacquire({handle=140622355554176}, 2, 1, 100000, 1) = 1 :5696 +6503199762455005:6503199762457219 35231:35231 hsa_signal_wait_scacquire({handle=140622355554176}, 2, 1, 18446744073709551615, 0) = 0 :5697 +6503199762457359:6503199762457439 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140622355554176}, 0x7ffd04faf400) = 0 :5698 +6503199762457549:6503199762457599 35231:35231 hsa_signal_load_relaxed({handle=140622355554048}) = 1 :5699 +6503199762457710:6503199762557795 35231:35231 hsa_signal_wait_scacquire({handle=140622355554048}, 2, 1, 100000, 1) = 1 :5700 +6503199762557885:6503199764001002 35231:35231 hsa_signal_wait_scacquire({handle=140622355554048}, 2, 1, 18446744073709551615, 0) = 0 :5701 +6503199764001232:6503199764001322 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140622355554048}, 0x7ffd04faf410) = 0 :5702 +6503199764001944:6503199764001994 35231:35231 hsa_signal_load_relaxed({handle=140622355554048}) = 0 :5703 +6503199764002144:6503199764002475 35231:35231 hsa_signal_load_relaxed({handle=140627542421504}) = 0 :5704 +6503199764002595:6503199764002675 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140627542421504}, 0x7ffd04faf540) = 0 :5705 +6503199772590724:6503199772591004 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :5707 +6503199772591235:6503199772591335 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf590, 0, 0, 0) = 0 :5708 +6503199772591485:6503199772591575 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf630, 0, 0, 0) = 0 :5709 +6503199772591715:6503199772591806 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf570, 0, 0, 0) = 0 :5710 +6503199772592938:6503199772595873 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a7ff000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :5711 +6503199772596274:6503199772596384 35231:35231 hsa_signal_load_relaxed({handle=140622355554048}) = 0 :5712 +6503199772596504:6503199772596574 35231:35231 hsa_signal_load_relaxed({handle=140622355553792}) = 0 :5713 +6503199772596685:6503199772596745 35231:35231 hsa_signal_load_relaxed({handle=140622355553920}) = 0 :5714 +6503199772596935:6503199772597005 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355553920}, 1) = void :5715 +6503199772598849:6503199772600011 35231:35231 hsa_amd_memory_async_copy(0x7fe129a00000, {handle=5671888}, 0x7fe12a7ff010, {handle=5845728}, 4194304, 0, 0, {handle=140622355553920}) = 0 :5716 +6503199772600191:6503199772600241 35231:35231 hsa_signal_load_relaxed({handle=140622355553920}) = 1 :5717 +6503199772600382:6503199772700497 35231:35231 hsa_signal_wait_scacquire({handle=140622355553920}, 2, 1, 100000, 1) = 1 :5718 +6503199772700587:6503199774304622 35231:35231 hsa_signal_wait_scacquire({handle=140622355553920}, 2, 1, 18446744073709551615, 0) = 0 :5719 +6503199774305143:6503199774305233 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140622355553920}, 0x7ffd04faf410) = 0 :5720 +6503199774305935:6503199774305985 35231:35231 hsa_signal_load_relaxed({handle=140622355553920}) = 0 :5721 +6503199774309692:6503199774309762 35231:35231 hsa_signal_load_relaxed({handle=140622355553920}) = 0 :5725 +6503199774309972:6503199774310042 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 168 :5726 +6503199774310173:6503199774310223 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 168 :5727 +6503199774310363:6503199774310423 35231:35231 hsa_signal_load_relaxed({handle=140622355553664}) = 0 :5728 +6503199774310523:6503199774310593 35231:35231 hsa_signal_load_relaxed({handle=140622355553792}) = 0 :5729 +6503199774310764:6503199774310814 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355553792}, 1) = void :5730 +6503199774310964:6503199774311024 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 168 :5731 +6503199774311194:6503199774311665 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 168) = void :5732 +6503199774313930:6503199774314170 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :5734 +6503199774314320:6503199774314420 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf590, 0, 0, 0) = 0 :5735 +6503199774314561:6503199774314661 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf630, 0, 0, 0) = 0 :5736 +6503199774314791:6503199774314901 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf570, 0, 0, 0) = 0 :5737 +6503199774315713:6503199774318418 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a3fe000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :5738 +6503199774318779:6503199774318829 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 169 :5739 +6503199774318929:6503199774318979 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 168 :5740 +6503199774320061:6503199774320121 35231:35231 hsa_signal_load_relaxed({handle=140622355553536}) = 0 :5741 +6503199774320241:6503199774320291 35231:35231 hsa_signal_load_relaxed({handle=140622355553664}) = 0 :5742 +6503199774320422:6503199774320472 35231:35231 hsa_signal_load_relaxed({handle=140622355553536}) = 0 :5743 +6503199774320572:6503199774320622 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355553664}, 1) = void :5744 +6503199774320752:6503199774320812 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 168 :5745 +6503199774320933:6503199774321383 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 169) = void :5746 +6503199774321584:6503199774321634 35231:35231 hsa_signal_load_relaxed({handle=140622355553664}) = 1 :5747 +6503199774321734:6503199774321784 35231:35231 hsa_signal_load_relaxed({handle=140622355553664}) = 1 :5748 +6503199774321934:6503199774332033 35231:35231 hsa_signal_wait_scacquire({handle=140622355553664}, 2, 1, 10000, 1) = 1 :5749 +6503199774332173:6503199774332244 35231:35231 hsa_signal_load_relaxed({handle=140622355553408}) = 0 :5750 +6503199774332334:6503199774332384 35231:35231 hsa_signal_load_relaxed({handle=140622355553536}) = 0 :5751 +6503199774332484:6503199774332534 35231:35231 hsa_signal_load_relaxed({handle=140622355553408}) = 0 :5752 +6503199774332644:6503199774332694 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355553536}, 1) = void :5753 +6503199774332895:6503199774334167 35231:35231 hsa_amd_memory_async_copy(0x7fe12a3fe010, {handle=5845728}, 0x7fe129400000, {handle=5671888}, 4194304, 1, 0x7229d0, {handle=140622355553536}) = 0 :5754 +6503199774334347:6503199774334397 35231:35231 hsa_signal_load_relaxed({handle=140622355553664}) = 1 :5755 +6503199774334508:6503199774433992 35231:35231 hsa_signal_wait_scacquire({handle=140622355553664}, 2, 1, 100000, 1) = 0 :5756 +6503199774434153:6503199774434233 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140622355553664}, 0x7ffd04faf400) = 0 :5757 +6503199774434343:6503199774434393 35231:35231 hsa_signal_load_relaxed({handle=140622355553536}) = 1 :5758 +6503199774434513:6503199774534579 35231:35231 hsa_signal_wait_scacquire({handle=140622355553536}, 2, 1, 100000, 1) = 1 :5759 +6503199774534679:6503199775982795 35231:35231 hsa_signal_wait_scacquire({handle=140622355553536}, 2, 1, 18446744073709551615, 0) = 0 :5760 +6503199775983045:6503199775983145 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140622355553536}, 0x7ffd04faf410) = 0 :5761 +6503199775983766:6503199775983817 35231:35231 hsa_signal_load_relaxed({handle=140622355553536}) = 0 :5762 +6503199775984758:6503199775985079 35231:35231 hsa_signal_load_relaxed({handle=140622355553792}) = 0 :5763 +6503199775985189:6503199775985269 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140622355553792}, 0x7ffd04faf540) = 0 :5764 +6503199784585069:6503199784585360 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :5766 +6503199784585540:6503199784585640 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf590, 0, 0, 0) = 0 :5767 +6503199784585790:6503199784585881 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf630, 0, 0, 0) = 0 :5768 +6503199784586041:6503199784586141 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf570, 0, 0, 0) = 0 :5769 +6503199784587283:6503199784590179 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a7ff000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :5770 +6503199784590589:6503199784590700 35231:35231 hsa_signal_load_relaxed({handle=140622355553536}) = 0 :5771 +6503199784590830:6503199784590900 35231:35231 hsa_signal_load_relaxed({handle=140622355553280}) = 0 :5772 +6503199784591020:6503199784591080 35231:35231 hsa_signal_load_relaxed({handle=140622355553408}) = 0 :5773 +6503199784591271:6503199784591331 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355553408}, 1) = void :5774 +6503199784591541:6503199784592693 35231:35231 hsa_amd_memory_async_copy(0x7fe129a00000, {handle=5671888}, 0x7fe12a7ff010, {handle=5845728}, 4194304, 0, 0, {handle=140622355553408}) = 0 :5775 +6503199784592813:6503199784592864 35231:35231 hsa_signal_load_relaxed({handle=140622355553408}) = 1 :5776 +6503199784592984:6503199784693079 35231:35231 hsa_signal_wait_scacquire({handle=140622355553408}, 2, 1, 100000, 1) = 1 :5777 +6503199784693180:6503199786302174 35231:35231 hsa_signal_wait_scacquire({handle=140622355553408}, 2, 1, 18446744073709551615, 0) = 0 :5778 +6503199786302705:6503199786302815 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140622355553408}, 0x7ffd04faf410) = 0 :5779 +6503199786303506:6503199786303556 35231:35231 hsa_signal_load_relaxed({handle=140622355553408}) = 0 :5780 +6503199786308686:6503199786308736 35231:35231 hsa_signal_load_relaxed({handle=140622355553408}) = 0 :5784 +6503199786308936:6503199786309007 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 170 :5785 +6503199786309157:6503199786309207 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 170 :5786 +6503199786309327:6503199786309397 35231:35231 hsa_signal_load_relaxed({handle=140622355553152}) = 0 :5787 +6503199786310379:6503199786310439 35231:35231 hsa_signal_load_relaxed({handle=140622355553280}) = 0 :5788 +6503199786310690:6503199786310740 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355553280}, 1) = void :5789 +6503199786310910:6503199786310970 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 170 :5790 +6503199786311151:6503199786311611 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 170) = void :5791 +6503199786313695:6503199786313886 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :5793 +6503199786314036:6503199786314146 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf590, 0, 0, 0) = 0 :5794 +6503199786314286:6503199786314387 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf630, 0, 0, 0) = 0 :5795 +6503199786314517:6503199786314627 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf570, 0, 0, 0) = 0 :5796 +6503199786315438:6503199786318103 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a3fe000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :5797 +6503199786318474:6503199786318524 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 171 :5798 +6503199786318624:6503199786318664 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 170 :5799 +6503199786318825:6503199786318895 35231:35231 hsa_signal_load_relaxed({handle=140622355553024}) = 0 :5800 +6503199786318995:6503199786319045 35231:35231 hsa_signal_load_relaxed({handle=140622355553152}) = 0 :5801 +6503199786319145:6503199786319195 35231:35231 hsa_signal_load_relaxed({handle=140622355553024}) = 0 :5802 +6503199786319296:6503199786319346 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355553152}, 1) = void :5803 +6503199786319466:6503199786319526 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 170 :5804 +6503199786319626:6503199786320067 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 171) = void :5805 +6503199786320197:6503199786320237 35231:35231 hsa_signal_load_relaxed({handle=140622355553152}) = 1 :5806 +6503199786320338:6503199786320388 35231:35231 hsa_signal_load_relaxed({handle=140622355553152}) = 1 :5807 +6503199786320528:6503199786330627 35231:35231 hsa_signal_wait_scacquire({handle=140622355553152}, 2, 1, 10000, 1) = 1 :5808 +6503199786330767:6503199786330817 35231:35231 hsa_signal_load_relaxed({handle=140622355552896}) = 0 :5809 +6503199786331759:6503199786331809 35231:35231 hsa_signal_load_relaxed({handle=140622355553024}) = 0 :5810 +6503199786331919:6503199786331969 35231:35231 hsa_signal_load_relaxed({handle=140622355552896}) = 0 :5811 +6503199786332079:6503199786332129 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355553024}, 1) = void :5812 +6503199786332350:6503199786333562 35231:35231 hsa_amd_memory_async_copy(0x7fe12a3fe010, {handle=5845728}, 0x7fe129400000, {handle=5671888}, 4194304, 1, 0x722aa0, {handle=140622355553024}) = 0 :5813 +6503199786333692:6503199786333742 35231:35231 hsa_signal_load_relaxed({handle=140622355553152}) = 1 :5814 +6503199786333843:6503199786433928 35231:35231 hsa_signal_wait_scacquire({handle=140622355553152}, 2, 1, 100000, 1) = 1 :5815 +6503199786434018:6503199786434369 35231:35231 hsa_signal_wait_scacquire({handle=140622355553152}, 2, 1, 18446744073709551615, 0) = 0 :5816 +6503199786434539:6503199786434620 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140622355553152}, 0x7ffd04faf400) = 0 :5817 +6503199786434730:6503199786434780 35231:35231 hsa_signal_load_relaxed({handle=140622355553024}) = 1 :5818 +6503199786434900:6503199786534986 35231:35231 hsa_signal_wait_scacquire({handle=140622355553024}, 2, 1, 100000, 1) = 1 :5819 +6503199786535086:6503199787985356 35231:35231 hsa_signal_wait_scacquire({handle=140622355553024}, 2, 1, 18446744073709551615, 0) = 0 :5820 +6503199787985606:6503199787985686 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140622355553024}, 0x7ffd04faf410) = 0 :5821 +6503199787986288:6503199787986338 35231:35231 hsa_signal_load_relaxed({handle=140622355553024}) = 0 :5822 +6503199787986498:6503199787986808 35231:35231 hsa_signal_load_relaxed({handle=140622355553280}) = 0 :5823 +6503199787986939:6503199787987019 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140622355553280}, 0x7ffd04faf540) = 0 :5824 +6503199796608499:6503199796608770 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :5826 +6503199796608970:6503199796609070 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf590, 0, 0, 0) = 0 :5827 +6503199796609220:6503199796609311 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf630, 0, 0, 0) = 0 :5828 +6503199796609451:6503199796609551 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf570, 0, 0, 0) = 0 :5829 +6503199796610693:6503199796613558 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a7ff000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :5830 +6503199796614009:6503199796614120 35231:35231 hsa_signal_load_relaxed({handle=140622355553024}) = 0 :5831 +6503199796614240:6503199796614310 35231:35231 hsa_signal_load_relaxed({handle=140622355552768}) = 0 :5832 +6503199796616113:6503199796616173 35231:35231 hsa_signal_load_relaxed({handle=140622355552896}) = 0 :5833 +6503199796616394:6503199796616474 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355552896}, 1) = void :5834 +6503199796616664:6503199796617836 35231:35231 hsa_amd_memory_async_copy(0x7fe129a00000, {handle=5671888}, 0x7fe12a7ff010, {handle=5845728}, 4194304, 0, 0, {handle=140622355552896}) = 0 :5835 +6503199796617957:6503199796618007 35231:35231 hsa_signal_load_relaxed({handle=140622355552896}) = 1 :5836 +6503199796618127:6503199796718233 35231:35231 hsa_signal_wait_scacquire({handle=140622355552896}, 2, 1, 100000, 1) = 1 :5837 +6503199796718333:6503199798411032 35231:35231 hsa_signal_wait_scacquire({handle=140622355552896}, 2, 1, 18446744073709551615, 0) = 0 :5838 +6503199798411323:6503199798411463 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140622355552896}, 0x7ffd04faf410) = 0 :5839 +6503199798412345:6503199798412405 35231:35231 hsa_signal_load_relaxed({handle=140622355552896}) = 0 :5840 +6503199798418146:6503199798418226 35231:35231 hsa_signal_load_relaxed({handle=140622355552896}) = 0 :5844 +6503199798418476:6503199798418546 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 172 :5845 +6503199798418687:6503199798418737 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 172 :5846 +6503199798418857:6503199798418917 35231:35231 hsa_signal_load_relaxed({handle=140622355552640}) = 0 :5847 +6503199798419027:6503199798419087 35231:35231 hsa_signal_load_relaxed({handle=140622355552768}) = 0 :5848 +6503199798419288:6503199798419338 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355552768}, 1) = void :5849 +6503199798419488:6503199798419558 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 172 :5850 +6503199798419728:6503199798420209 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 172) = void :5851 +6503199798421351:6503199798421582 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :5853 +6503199798421742:6503199798421842 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf590, 0, 0, 0) = 0 :5854 +6503199798421983:6503199798422073 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf630, 0, 0, 0) = 0 :5855 +6503199798422213:6503199798422303 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf570, 0, 0, 0) = 0 :5856 +6503199798423235:6503199798425990 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a3fe000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :5857 +6503199798427172:6503199798427222 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 173 :5858 +6503199798427323:6503199798427373 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 172 :5859 +6503199798427523:6503199798427583 35231:35231 hsa_signal_load_relaxed({handle=140622355552512}) = 0 :5860 +6503199798427683:6503199798427733 35231:35231 hsa_signal_load_relaxed({handle=140622355552640}) = 0 :5861 +6503199798427834:6503199798427884 35231:35231 hsa_signal_load_relaxed({handle=140622355552512}) = 0 :5862 +6503199798427994:6503199798428044 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355552640}, 1) = void :5863 +6503199798428174:6503199798428234 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 172 :5864 +6503199798428334:6503199798428785 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 173) = void :5865 +6503199798428926:6503199798428976 35231:35231 hsa_signal_load_relaxed({handle=140622355552640}) = 1 :5866 +6503199798429076:6503199798429116 35231:35231 hsa_signal_load_relaxed({handle=140622355552640}) = 1 :5867 +6503199798429236:6503199798439345 35231:35231 hsa_signal_wait_scacquire({handle=140622355552640}, 2, 1, 10000, 1) = 1 :5868 +6503199798439525:6503199798439595 35231:35231 hsa_signal_load_relaxed({handle=140622355552384}) = 0 :5869 +6503199798439696:6503199798439746 35231:35231 hsa_signal_load_relaxed({handle=140622355552512}) = 0 :5870 +6503199798439846:6503199798439896 35231:35231 hsa_signal_load_relaxed({handle=140622355552384}) = 0 :5871 +6503199798439996:6503199798440046 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355552512}, 1) = void :5872 +6503199798440267:6503199798441619 35231:35231 hsa_amd_memory_async_copy(0x7fe12a3fe010, {handle=5845728}, 0x7fe129400000, {handle=5671888}, 4194304, 1, 0x722b70, {handle=140622355552512}) = 0 :5873 +6503199798441759:6503199798441809 35231:35231 hsa_signal_load_relaxed({handle=140622355552640}) = 1 :5874 +6503199798441910:6503199798541985 35231:35231 hsa_signal_wait_scacquire({handle=140622355552640}, 2, 1, 100000, 1) = 1 :5875 +6503199798542085:6503199798548738 35231:35231 hsa_signal_wait_scacquire({handle=140622355552640}, 2, 1, 18446744073709551615, 0) = 0 :5876 +6503199798548918:6503199798548998 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140622355552640}, 0x7ffd04faf400) = 0 :5877 +6503199798549108:6503199798549159 35231:35231 hsa_signal_load_relaxed({handle=140622355552512}) = 1 :5878 +6503199798550010:6503199798650096 35231:35231 hsa_signal_wait_scacquire({handle=140622355552512}, 2, 1, 100000, 1) = 1 :5879 +6503199798650186:6503199800111617 35231:35231 hsa_signal_wait_scacquire({handle=140622355552512}, 2, 1, 18446744073709551615, 0) = 0 :5880 +6503199800111887:6503199800111967 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140622355552512}, 0x7ffd04faf410) = 0 :5881 +6503199800112608:6503199800112658 35231:35231 hsa_signal_load_relaxed({handle=140622355552512}) = 0 :5882 +6503199800112859:6503199800113169 35231:35231 hsa_signal_load_relaxed({handle=140622355552768}) = 0 :5883 +6503199800113290:6503199800113370 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140622355552768}, 0x7ffd04faf540) = 0 :5884 +6503199808749307:6503199808749587 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :5886 +6503199808749788:6503199808749888 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf590, 0, 0, 0) = 0 :5887 +6503199808750038:6503199808750128 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf630, 0, 0, 0) = 0 :5888 +6503199808750269:6503199808750359 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf570, 0, 0, 0) = 0 :5889 +6503199808751541:6503199808754547 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a7ff000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :5890 +6503199808754947:6503199808755067 35231:35231 hsa_signal_load_relaxed({handle=140622355552512}) = 0 :5891 +6503199808755198:6503199808755268 35231:35231 hsa_signal_load_relaxed({handle=140622355552256}) = 0 :5892 +6503199808755378:6503199808755438 35231:35231 hsa_signal_load_relaxed({handle=140622355552384}) = 0 :5893 +6503199808755649:6503199808755709 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355552384}, 1) = void :5894 +6503199808755889:6503199808757041 35231:35231 hsa_amd_memory_async_copy(0x7fe129a00000, {handle=5671888}, 0x7fe12a7ff010, {handle=5845728}, 4194304, 0, 0, {handle=140622355552384}) = 0 :5895 +6503199808757221:6503199808757262 35231:35231 hsa_signal_load_relaxed({handle=140622355552384}) = 1 :5896 +6503199808757412:6503199808857908 35231:35231 hsa_signal_wait_scacquire({handle=140622355552384}, 2, 1, 100000, 1) = 1 :5897 +6503199808858359:6503199810467173 35231:35231 hsa_signal_wait_scacquire({handle=140622355552384}, 2, 1, 18446744073709551615, 0) = 0 :5898 +6503199810467453:6503199810467543 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140622355552384}, 0x7ffd04faf410) = 0 :5899 +6503199810468225:6503199810468275 35231:35231 hsa_signal_load_relaxed({handle=140622355552384}) = 0 :5900 +6503199810474997:6503199810475047 35231:35231 hsa_signal_load_relaxed({handle=140622355552384}) = 0 :5904 +6503199810477402:6503199810477492 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 174 :5905 +6503199810477622:6503199810477672 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 174 :5906 +6503199810477823:6503199810477903 35231:35231 hsa_signal_load_relaxed({handle=140622355552128}) = 0 :5907 +6503199810478003:6503199810478053 35231:35231 hsa_signal_load_relaxed({handle=140622355552256}) = 0 :5908 +6503199810478243:6503199810478293 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355552256}, 1) = void :5909 +6503199810478424:6503199810478494 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 174 :5910 +6503199810478644:6503199810479115 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 174) = void :5911 +6503199810480247:6503199810480457 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :5913 +6503199810480598:6503199810480698 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf590, 0, 0, 0) = 0 :5914 +6503199810480838:6503199810480938 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf630, 0, 0, 0) = 0 :5915 +6503199810481079:6503199810481169 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf570, 0, 0, 0) = 0 :5916 +6503199810481940:6503199810484715 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a3fe000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :5917 +6503199810485076:6503199810485136 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 175 :5918 +6503199810485226:6503199810485276 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 174 :5919 +6503199810485427:6503199810485507 35231:35231 hsa_signal_load_relaxed({handle=140627542423296}) = 0 :5920 +6503199810485607:6503199810485657 35231:35231 hsa_signal_load_relaxed({handle=140622355552128}) = 0 :5921 +6503199810485767:6503199810485817 35231:35231 hsa_signal_load_relaxed({handle=140627542423296}) = 0 :5922 +6503199810485908:6503199810485958 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355552128}, 1) = void :5923 +6503199810486088:6503199810486138 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 174 :5924 +6503199810486238:6503199810486679 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 175) = void :5925 +6503199810486799:6503199810486839 35231:35231 hsa_signal_load_relaxed({handle=140622355552128}) = 1 :5926 +6503199810487721:6503199810487771 35231:35231 hsa_signal_load_relaxed({handle=140622355552128}) = 1 :5927 +6503199810487911:6503199810498010 35231:35231 hsa_signal_wait_scacquire({handle=140622355552128}, 2, 1, 10000, 1) = 1 :5928 +6503199810498180:6503199810498250 35231:35231 hsa_signal_load_relaxed({handle=140627542423168}) = 0 :5929 +6503199810498371:6503199810498421 35231:35231 hsa_signal_load_relaxed({handle=140627542423296}) = 0 :5930 +6503199810498521:6503199810498571 35231:35231 hsa_signal_load_relaxed({handle=140627542423168}) = 0 :5931 +6503199810498681:6503199810498731 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542423296}, 1) = void :5932 +6503199810498972:6503199810500284 35231:35231 hsa_amd_memory_async_copy(0x7fe12a3fe010, {handle=5845728}, 0x7fe129400000, {handle=5671888}, 4194304, 1, 0x722c40, {handle=140627542423296}) = 0 :5933 +6503199810500455:6503199810500505 35231:35231 hsa_signal_load_relaxed({handle=140622355552128}) = 1 :5934 +6503199810500595:6503199810600680 35231:35231 hsa_signal_wait_scacquire({handle=140622355552128}, 2, 1, 100000, 1) = 1 :5935 +6503199810600771:6503199810602784 35231:35231 hsa_signal_wait_scacquire({handle=140622355552128}, 2, 1, 18446744073709551615, 0) = 0 :5936 +6503199810602945:6503199810603025 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140622355552128}, 0x7ffd04faf400) = 0 :5937 +6503199810603135:6503199810603185 35231:35231 hsa_signal_load_relaxed({handle=140627542423296}) = 1 :5938 +6503199810603285:6503199810703361 35231:35231 hsa_signal_wait_scacquire({handle=140627542423296}, 2, 1, 100000, 1) = 1 :5939 +6503199810703461:6503199812153620 35231:35231 hsa_signal_wait_scacquire({handle=140627542423296}, 2, 1, 18446744073709551615, 0) = 0 :5940 +6503199812153871:6503199812153961 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140627542423296}, 0x7ffd04faf410) = 0 :5941 +6503199812154572:6503199812154622 35231:35231 hsa_signal_load_relaxed({handle=140627542423296}) = 0 :5942 +6503199812154783:6503199812155123 35231:35231 hsa_signal_load_relaxed({handle=140622355552256}) = 0 :5943 +6503199812155233:6503199812155324 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140622355552256}, 0x7ffd04faf540) = 0 :5944 +6503199820762497:6503199820762758 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :5946 +6503199820762948:6503199820763058 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf590, 0, 0, 0) = 0 :5947 +6503199820763199:6503199820763289 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf630, 0, 0, 0) = 0 :5948 +6503199820764942:6503199820765092 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf570, 0, 0, 0) = 0 :5949 +6503199820766284:6503199820769340 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a7ff000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :5950 +6503199820769771:6503199820769851 35231:35231 hsa_signal_load_relaxed({handle=140627542423296}) = 0 :5951 +6503199820769971:6503199820770061 35231:35231 hsa_signal_load_relaxed({handle=140627542423040}) = 0 :5952 +6503199820770201:6503199820770272 35231:35231 hsa_signal_load_relaxed({handle=140627542423168}) = 0 :5953 +6503199820770452:6503199820770512 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542423168}, 1) = void :5954 +6503199820770692:6503199820771945 35231:35231 hsa_amd_memory_async_copy(0x7fe129a00000, {handle=5671888}, 0x7fe12a7ff010, {handle=5845728}, 4194304, 0, 0, {handle=140627542423168}) = 0 :5955 +6503199820772115:6503199820772165 35231:35231 hsa_signal_load_relaxed({handle=140627542423168}) = 1 :5956 +6503199820772335:6503199820872762 35231:35231 hsa_signal_wait_scacquire({handle=140627542423168}, 2, 1, 100000, 1) = 1 :5957 +6503199820873223:6503199822493307 35231:35231 hsa_signal_wait_scacquire({handle=140627542423168}, 2, 1, 18446744073709551615, 0) = 0 :5958 +6503199822493558:6503199822499289 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140627542423168}, 0x7ffd04faf410) = 0 :5959 +6503199822499990:6503199822500040 35231:35231 hsa_signal_load_relaxed({handle=140627542423168}) = 0 :5960 +6503199822505400:6503199822505460 35231:35231 hsa_signal_load_relaxed({handle=140627542423168}) = 0 :5964 +6503199822505670:6503199822505740 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 176 :5965 +6503199822505871:6503199822505941 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 176 :5966 +6503199822506081:6503199822506151 35231:35231 hsa_signal_load_relaxed({handle=140627542422912}) = 0 :5967 +6503199822506261:6503199822506322 35231:35231 hsa_signal_load_relaxed({handle=140627542423040}) = 0 :5968 +6503199822506472:6503199822506522 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542423040}, 1) = void :5969 +6503199822506682:6503199822506752 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 176 :5970 +6503199822506913:6503199822507384 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 176) = void :5971 +6503199822508496:6503199822508686 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :5973 +6503199822508826:6503199822508936 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf590, 0, 0, 0) = 0 :5974 +6503199822511501:6503199822511611 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf630, 0, 0, 0) = 0 :5975 +6503199822511772:6503199822511882 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf570, 0, 0, 0) = 0 :5976 +6503199822512693:6503199822515338 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a3fe000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :5977 +6503199822515729:6503199822515789 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 177 :5978 +6503199822515889:6503199822515939 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 176 :5979 +6503199822516090:6503199822516160 35231:35231 hsa_signal_load_relaxed({handle=140627542422784}) = 0 :5980 +6503199822516280:6503199822516330 35231:35231 hsa_signal_load_relaxed({handle=140627542422912}) = 0 :5981 +6503199822516430:6503199822516480 35231:35231 hsa_signal_load_relaxed({handle=140627542422784}) = 0 :5982 +6503199822516581:6503199822516631 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542422912}, 1) = void :5983 +6503199822516771:6503199822516821 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 176 :5984 +6503199822516921:6503199822517372 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 177) = void :5985 +6503199822517512:6503199822517562 35231:35231 hsa_signal_load_relaxed({handle=140627542422912}) = 1 :5986 +6503199822517653:6503199822517703 35231:35231 hsa_signal_load_relaxed({handle=140627542422912}) = 1 :5987 +6503199822517823:6503199822527912 35231:35231 hsa_signal_wait_scacquire({handle=140627542422912}, 2, 1, 10000, 1) = 1 :5988 +6503199822528042:6503199822528112 35231:35231 hsa_signal_load_relaxed({handle=140627542422656}) = 0 :5989 +6503199822528212:6503199822528262 35231:35231 hsa_signal_load_relaxed({handle=140627542422784}) = 0 :5990 +6503199822528362:6503199822528413 35231:35231 hsa_signal_load_relaxed({handle=140627542422656}) = 0 :5991 +6503199822528503:6503199822528553 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542422784}, 1) = void :5992 +6503199822528773:6503199822529955 35231:35231 hsa_amd_memory_async_copy(0x7fe12a3fe010, {handle=5845728}, 0x7fe129400000, {handle=5671888}, 4194304, 1, 0x722d10, {handle=140627542422784}) = 0 :5993 +6503199822530106:6503199822530156 35231:35231 hsa_signal_load_relaxed({handle=140627542422912}) = 1 :5994 +6503199822530246:6503199822630322 35231:35231 hsa_signal_wait_scacquire({handle=140627542422912}, 2, 1, 100000, 1) = 1 :5995 +6503199822631233:6503199822631594 35231:35231 hsa_signal_wait_scacquire({handle=140627542422912}, 2, 1, 18446744073709551615, 0) = 0 :5996 +6503199822631724:6503199822631804 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140627542422912}, 0x7ffd04faf400) = 0 :5997 +6503199822631925:6503199822631975 35231:35231 hsa_signal_load_relaxed({handle=140627542422784}) = 1 :5998 +6503199822632075:6503199822732150 35231:35231 hsa_signal_wait_scacquire({handle=140627542422784}, 2, 1, 100000, 1) = 1 :5999 +6503199822732241:6503199824177541 35231:35231 hsa_signal_wait_scacquire({handle=140627542422784}, 2, 1, 18446744073709551615, 0) = 0 :6000 +6503199824177782:6503199824177862 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140627542422784}, 0x7ffd04faf410) = 0 :6001 +6503199824178493:6503199824178543 35231:35231 hsa_signal_load_relaxed({handle=140627542422784}) = 0 :6002 +6503199824178723:6503199824179064 35231:35231 hsa_signal_load_relaxed({handle=140627542423040}) = 0 :6003 +6503199824179184:6503199824179275 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140627542423040}, 0x7ffd04faf540) = 0 :6004 +6503199832790836:6503199832791117 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :6006 +6503199832791317:6503199832791417 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf590, 0, 0, 0) = 0 :6007 +6503199832791578:6503199832791668 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf630, 0, 0, 0) = 0 :6008 +6503199832791818:6503199832791908 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf570, 0, 0, 0) = 0 :6009 +6503199832793060:6503199832796056 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a7ff000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :6010 +6503199832796477:6503199832796577 35231:35231 hsa_signal_load_relaxed({handle=140627542422784}) = 0 :6011 +6503199832796707:6503199832796777 35231:35231 hsa_signal_load_relaxed({handle=140627542422528}) = 0 :6012 +6503199832796898:6503199832796948 35231:35231 hsa_signal_load_relaxed({handle=140627542422656}) = 0 :6013 +6503199832797138:6503199832797198 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542422656}, 1) = void :6014 +6503199832797388:6503199832798531 35231:35231 hsa_amd_memory_async_copy(0x7fe129a00000, {handle=5671888}, 0x7fe12a7ff010, {handle=5845728}, 4194304, 0, 0, {handle=140627542422656}) = 0 :6015 +6503199832798661:6503199832798711 35231:35231 hsa_signal_load_relaxed({handle=140627542422656}) = 1 :6016 +6503199832798851:6503199832899418 35231:35231 hsa_signal_wait_scacquire({handle=140627542422656}, 2, 1, 100000, 1) = 1 :6017 +6503199832901502:6503199834512890 35231:35231 hsa_signal_wait_scacquire({handle=140627542422656}, 2, 1, 18446744073709551615, 0) = 0 :6018 +6503199834513161:6503199834513251 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140627542422656}, 0x7ffd04faf410) = 0 :6019 +6503199834513992:6503199834514042 35231:35231 hsa_signal_load_relaxed({handle=140627542422656}) = 0 :6020 +6503199834519372:6503199834519422 35231:35231 hsa_signal_load_relaxed({handle=140627542422656}) = 0 :6024 +6503199834519663:6503199834519733 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 178 :6025 +6503199834519863:6503199834519913 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 178 :6026 +6503199834520044:6503199834520114 35231:35231 hsa_signal_load_relaxed({handle=140627542422400}) = 0 :6027 +6503199834520214:6503199834520264 35231:35231 hsa_signal_load_relaxed({handle=140627542422528}) = 0 :6028 +6503199834520424:6503199834520474 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542422528}, 1) = void :6029 +6503199834520635:6503199834520695 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 178 :6030 +6503199834520895:6503199834521346 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 178) = void :6031 +6503199834522428:6503199834522648 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :6033 +6503199834522819:6503199834522929 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf590, 0, 0, 0) = 0 :6034 +6503199834523059:6503199834523159 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf630, 0, 0, 0) = 0 :6035 +6503199834523300:6503199834523400 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf570, 0, 0, 0) = 0 :6036 +6503199834524211:6503199834526786 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a3fe000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :6037 +6503199834527147:6503199834527207 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 179 :6038 +6503199834527297:6503199834527347 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 178 :6039 +6503199834527467:6503199834527537 35231:35231 hsa_signal_load_relaxed({handle=140627542422272}) = 0 :6040 +6503199834527638:6503199834527688 35231:35231 hsa_signal_load_relaxed({handle=140627542422400}) = 0 :6041 +6503199834527788:6503199834527838 35231:35231 hsa_signal_load_relaxed({handle=140627542422272}) = 0 :6042 +6503199834527958:6503199834528008 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542422400}, 1) = void :6043 +6503199834529191:6503199834529271 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 178 :6044 +6503199834529641:6503199834530092 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 179) = void :6045 +6503199834530263:6503199834530313 35231:35231 hsa_signal_load_relaxed({handle=140627542422400}) = 1 :6046 +6503199834530413:6503199834530463 35231:35231 hsa_signal_load_relaxed({handle=140627542422400}) = 1 :6047 +6503199834530563:6503199834540652 35231:35231 hsa_signal_wait_scacquire({handle=140627542422400}, 2, 1, 10000, 1) = 1 :6048 +6503199834540832:6503199834540892 35231:35231 hsa_signal_load_relaxed({handle=140627542422144}) = 0 :6049 +6503199834540992:6503199834541043 35231:35231 hsa_signal_load_relaxed({handle=140627542422272}) = 0 :6050 +6503199834541153:6503199834541203 35231:35231 hsa_signal_load_relaxed({handle=140627542422144}) = 0 :6051 +6503199834541293:6503199834541343 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542422272}, 1) = void :6052 +6503199834541553:6503199834542816 35231:35231 hsa_amd_memory_async_copy(0x7fe12a3fe010, {handle=5845728}, 0x7fe129400000, {handle=5671888}, 4194304, 1, 0x722de0, {handle=140627542422272}) = 0 :6053 +6503199834542996:6503199834543046 35231:35231 hsa_signal_load_relaxed({handle=140627542422400}) = 1 :6054 +6503199834543146:6503199834643232 35231:35231 hsa_signal_wait_scacquire({handle=140627542422400}, 2, 1, 100000, 1) = 1 :6055 +6503199834643322:6503199834644745 35231:35231 hsa_signal_wait_scacquire({handle=140627542422400}, 2, 1, 18446744073709551615, 0) = 0 :6056 +6503199834644905:6503199834644985 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140627542422400}, 0x7ffd04faf400) = 0 :6057 +6503199834645096:6503199834645146 35231:35231 hsa_signal_load_relaxed({handle=140627542422272}) = 1 :6058 +6503199834645246:6503199834745311 35231:35231 hsa_signal_wait_scacquire({handle=140627542422272}, 2, 1, 100000, 1) = 1 :6059 +6503199834745412:6503199836211060 35231:35231 hsa_signal_wait_scacquire({handle=140627542422272}, 2, 1, 18446744073709551615, 0) = 0 :6060 +6503199836211310:6503199836211401 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140627542422272}, 0x7ffd04faf410) = 0 :6061 +6503199836211992:6503199836212062 35231:35231 hsa_signal_load_relaxed({handle=140627542422272}) = 0 :6062 +6503199836212222:6503199836212553 35231:35231 hsa_signal_load_relaxed({handle=140627542422528}) = 0 :6063 +6503199836212653:6503199836212733 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140627542422528}, 0x7ffd04faf540) = 0 :6064 +6503199844858108:6503199844858388 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :6066 +6503199844858589:6503199844858689 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf590, 0, 0, 0) = 0 :6067 +6503199844858839:6503199844858929 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf630, 0, 0, 0) = 0 :6068 +6503199844859069:6503199844859170 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf570, 0, 0, 0) = 0 :6069 +6503199844860342:6503199844863267 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a7ff000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :6070 +6503199844863718:6503199844863818 35231:35231 hsa_signal_load_relaxed({handle=140627542422272}) = 0 :6071 +6503199844863938:6503199844864019 35231:35231 hsa_signal_load_relaxed({handle=140627542422016}) = 0 :6072 +6503199844864119:6503199844864179 35231:35231 hsa_signal_load_relaxed({handle=140627542422144}) = 0 :6073 +6503199844864389:6503199844864449 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542422144}, 1) = void :6074 +6503199844864620:6503199844865822 35231:35231 hsa_amd_memory_async_copy(0x7fe129a00000, {handle=5671888}, 0x7fe12a7ff010, {handle=5845728}, 4194304, 0, 0, {handle=140627542422144}) = 0 :6075 +6503199844865952:6503199844866002 35231:35231 hsa_signal_load_relaxed({handle=140627542422144}) = 1 :6076 +6503199844866133:6503199844966228 35231:35231 hsa_signal_wait_scacquire({handle=140627542422144}, 2, 1, 100000, 1) = 1 :6077 +6503199844966328:6503199846571185 35231:35231 hsa_signal_wait_scacquire({handle=140627542422144}, 2, 1, 18446744073709551615, 0) = 0 :6078 +6503199846571445:6503199846571535 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140627542422144}, 0x7ffd04faf410) = 0 :6079 +6503199846572177:6503199846572227 35231:35231 hsa_signal_load_relaxed({handle=140627542422144}) = 0 :6080 +6503199846577747:6503199846577807 35231:35231 hsa_signal_load_relaxed({handle=140627542422144}) = 0 :6084 +6503199846578017:6503199846578098 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 180 :6085 +6503199846578228:6503199846578288 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 180 :6086 +6503199846578398:6503199846578468 35231:35231 hsa_signal_load_relaxed({handle=140627542421888}) = 0 :6087 +6503199846578568:6503199846578618 35231:35231 hsa_signal_load_relaxed({handle=140627542422016}) = 0 :6088 +6503199846578789:6503199846578839 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542422016}, 1) = void :6089 +6503199846579831:6503199846579901 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 180 :6090 +6503199846580081:6503199846580542 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 180) = void :6091 +6503199846581644:6503199846581834 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :6093 +6503199846581985:6503199846582085 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf590, 0, 0, 0) = 0 :6094 +6503199846582225:6503199846582325 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf630, 0, 0, 0) = 0 :6095 +6503199846582466:6503199846582566 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf570, 0, 0, 0) = 0 :6096 +6503199846583327:6503199846585902 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a3fe000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :6097 +6503199846586263:6503199846586323 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 181 :6098 +6503199846586413:6503199846586463 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 180 :6099 +6503199846586613:6503199846586673 35231:35231 hsa_signal_load_relaxed({handle=140627542421760}) = 0 :6100 +6503199846586774:6503199846586824 35231:35231 hsa_signal_load_relaxed({handle=140627542421888}) = 0 :6101 +6503199846586924:6503199846586974 35231:35231 hsa_signal_load_relaxed({handle=140627542421760}) = 0 :6102 +6503199846587084:6503199846587134 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542421888}, 1) = void :6103 +6503199846587275:6503199846587325 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 180 :6104 +6503199846587455:6503199846587886 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 181) = void :6105 +6503199846588006:6503199846588056 35231:35231 hsa_signal_load_relaxed({handle=140627542421888}) = 1 :6106 +6503199846588146:6503199846588196 35231:35231 hsa_signal_load_relaxed({handle=140627542421888}) = 1 :6107 +6503199846588306:6503199846598415 35231:35231 hsa_signal_wait_scacquire({handle=140627542421888}, 2, 1, 10000, 1) = 1 :6108 +6503199846598586:6503199846598656 35231:35231 hsa_signal_load_relaxed({handle=140627542421632}) = 0 :6109 +6503199846598766:6503199846598816 35231:35231 hsa_signal_load_relaxed({handle=140627542421760}) = 0 :6110 +6503199846598916:6503199846598966 35231:35231 hsa_signal_load_relaxed({handle=140627542421632}) = 0 :6111 +6503199846599066:6503199846599117 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542421760}, 1) = void :6112 +6503199846600339:6503199846601601 35231:35231 hsa_amd_memory_async_copy(0x7fe12a3fe010, {handle=5845728}, 0x7fe129400000, {handle=5671888}, 4194304, 1, 0x722eb0, {handle=140627542421760}) = 0 :6113 +6503199846601751:6503199846601801 35231:35231 hsa_signal_load_relaxed({handle=140627542421888}) = 1 :6114 +6503199846601902:6503199846701977 35231:35231 hsa_signal_wait_scacquire({handle=140627542421888}, 2, 1, 100000, 1) = 1 :6115 +6503199846702067:6503199846703270 35231:35231 hsa_signal_wait_scacquire({handle=140627542421888}, 2, 1, 18446744073709551615, 0) = 0 :6116 +6503199846703460:6503199846703570 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140627542421888}, 0x7ffd04faf400) = 0 :6117 +6503199846703700:6503199846703771 35231:35231 hsa_signal_load_relaxed({handle=140627542421760}) = 1 :6118 +6503199846703871:6503199846803946 35231:35231 hsa_signal_wait_scacquire({handle=140627542421760}, 2, 1, 100000, 1) = 1 :6119 +6503199846804047:6503199848255549 35231:35231 hsa_signal_wait_scacquire({handle=140627542421760}, 2, 1, 18446744073709551615, 0) = 0 :6120 +6503199848255809:6503199848255889 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140627542421760}, 0x7ffd04faf410) = 0 :6121 +6503199848256450:6503199848256490 35231:35231 hsa_signal_load_relaxed({handle=140627542421760}) = 0 :6122 +6503199848256651:6503199848256991 35231:35231 hsa_signal_load_relaxed({handle=140627542422016}) = 0 :6123 +6503199848257091:6503199848257172 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140627542422016}, 0x7ffd04faf540) = 0 :6124 +6503199856871649:6503199856871910 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :6126 +6503199856872100:6503199856872200 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf590, 0, 0, 0) = 0 :6127 +6503199856872351:6503199856872441 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf630, 0, 0, 0) = 0 :6128 +6503199856872591:6503199856872681 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf570, 0, 0, 0) = 0 :6129 +6503199856873893:6503199856876709 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a7ff000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :6130 +6503199856877129:6503199856877210 35231:35231 hsa_signal_load_relaxed({handle=140627542421760}) = 0 :6131 +6503199856877330:6503199856877420 35231:35231 hsa_signal_load_relaxed({handle=140627542421504}) = 0 :6132 +6503199856877520:6503199856877580 35231:35231 hsa_signal_load_relaxed({handle=140627542421632}) = 0 :6133 +6503199856877761:6503199856877821 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542421632}, 1) = void :6134 +6503199856879364:6503199856880556 35231:35231 hsa_amd_memory_async_copy(0x7fe129a00000, {handle=5671888}, 0x7fe12a7ff010, {handle=5845728}, 4194304, 0, 0, {handle=140627542421632}) = 0 :6135 +6503199856880676:6503199856880726 35231:35231 hsa_signal_load_relaxed({handle=140627542421632}) = 1 :6136 +6503199856880866:6503199856980962 35231:35231 hsa_signal_wait_scacquire({handle=140627542421632}, 2, 1, 100000, 1) = 1 :6137 +6503199856981052:6503199858589836 35231:35231 hsa_signal_wait_scacquire({handle=140627542421632}, 2, 1, 18446744073709551615, 0) = 0 :6138 +6503199858590096:6503199858590207 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140627542421632}, 0x7ffd04faf410) = 0 :6139 +6503199858590898:6503199858590948 35231:35231 hsa_signal_load_relaxed({handle=140627542421632}) = 0 :6140 +6503199858595787:6503199858595837 35231:35231 hsa_signal_load_relaxed({handle=140627542421632}) = 0 :6144 +6503199858596047:6503199858596118 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 182 :6145 +6503199858596238:6503199858596298 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 182 :6146 +6503199858596418:6503199858596508 35231:35231 hsa_signal_load_relaxed({handle=140622355554176}) = 0 :6147 +6503199858596628:6503199858596699 35231:35231 hsa_signal_load_relaxed({handle=140627542421504}) = 0 :6148 +6503199858596849:6503199858596909 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542421504}, 1) = void :6149 +6503199858597059:6503199858597119 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 182 :6150 +6503199858597280:6503199858597741 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 182) = void :6151 +6503199858598772:6503199858598963 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :6153 +6503199858599113:6503199858599213 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf590, 0, 0, 0) = 0 :6154 +6503199858599374:6503199858599464 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf630, 0, 0, 0) = 0 :6155 +6503199858599604:6503199858599714 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf570, 0, 0, 0) = 0 :6156 +6503199858600506:6503199858603120 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a3fe000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :6157 +6503199858603511:6503199858603561 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 183 :6158 +6503199858603661:6503199858603712 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 182 :6159 +6503199858605745:6503199858605815 35231:35231 hsa_signal_load_relaxed({handle=140622355554048}) = 0 :6160 +6503199858605916:6503199858605966 35231:35231 hsa_signal_load_relaxed({handle=140622355554176}) = 0 :6161 +6503199858606076:6503199858606136 35231:35231 hsa_signal_load_relaxed({handle=140622355554048}) = 0 :6162 +6503199858606246:6503199858606296 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355554176}, 1) = void :6163 +6503199858606437:6503199858606487 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 182 :6164 +6503199858606597:6503199858607028 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 183) = void :6165 +6503199858607168:6503199858607218 35231:35231 hsa_signal_load_relaxed({handle=140622355554176}) = 1 :6166 +6503199858607318:6503199858607368 35231:35231 hsa_signal_load_relaxed({handle=140622355554176}) = 1 :6167 +6503199858607509:6503199858617607 35231:35231 hsa_signal_wait_scacquire({handle=140622355554176}, 2, 1, 10000, 1) = 1 :6168 +6503199858617788:6503199858617858 35231:35231 hsa_signal_load_relaxed({handle=140622355553920}) = 0 :6169 +6503199858617948:6503199858617998 35231:35231 hsa_signal_load_relaxed({handle=140622355554048}) = 0 :6170 +6503199858618128:6503199858618178 35231:35231 hsa_signal_load_relaxed({handle=140622355553920}) = 0 :6171 +6503199858618289:6503199858618339 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355554048}, 1) = void :6172 +6503199858618549:6503199858619651 35231:35231 hsa_amd_memory_async_copy(0x7fe12a3fe010, {handle=5845728}, 0x7fe129400000, {handle=5671888}, 4194304, 1, 0x722f80, {handle=140622355554048}) = 0 :6173 +6503199858619821:6503199858619872 35231:35231 hsa_signal_load_relaxed({handle=140622355554176}) = 1 :6174 +6503199858619972:6503199858720047 35231:35231 hsa_signal_wait_scacquire({handle=140622355554176}, 2, 1, 100000, 1) = 1 :6175 +6503199858720148:6503199858720628 35231:35231 hsa_signal_wait_scacquire({handle=140622355554176}, 2, 1, 18446744073709551615, 0) = 0 :6176 +6503199858720789:6503199858720889 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140622355554176}, 0x7ffd04faf400) = 0 :6177 +6503199858721019:6503199858721069 35231:35231 hsa_signal_load_relaxed({handle=140622355554048}) = 1 :6178 +6503199858721179:6503199858821265 35231:35231 hsa_signal_wait_scacquire({handle=140622355554048}, 2, 1, 100000, 1) = 1 :6179 +6503199858821365:6503199860265884 35231:35231 hsa_signal_wait_scacquire({handle=140622355554048}, 2, 1, 18446744073709551615, 0) = 0 :6180 +6503199860266135:6503199860266225 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140622355554048}, 0x7ffd04faf410) = 0 :6181 +6503199860268189:6503199860268239 35231:35231 hsa_signal_load_relaxed({handle=140622355554048}) = 0 :6182 +6503199860268399:6503199860268730 35231:35231 hsa_signal_load_relaxed({handle=140627542421504}) = 0 :6183 +6503199860268850:6503199860268930 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140627542421504}, 0x7ffd04faf540) = 0 :6184 +6503199868891502:6503199868891793 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :6186 +6503199868892013:6503199868892123 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf590, 0, 0, 0) = 0 :6187 +6503199868892253:6503199868892344 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf630, 0, 0, 0) = 0 :6188 +6503199868892494:6503199868892594 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf570, 0, 0, 0) = 0 :6189 +6503199868893866:6503199868896962 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a7ff000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :6190 +6503199868897413:6503199868897523 35231:35231 hsa_signal_load_relaxed({handle=140622355554048}) = 0 :6191 +6503199868897643:6503199868897714 35231:35231 hsa_signal_load_relaxed({handle=140622355553792}) = 0 :6192 +6503199868897824:6503199868897884 35231:35231 hsa_signal_load_relaxed({handle=140622355553920}) = 0 :6193 +6503199868898134:6503199868898204 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355553920}, 1) = void :6194 +6503199868898365:6503199868899597 35231:35231 hsa_amd_memory_async_copy(0x7fe129a00000, {handle=5671888}, 0x7fe12a7ff010, {handle=5845728}, 4194304, 0, 0, {handle=140622355553920}) = 0 :6195 +6503199868899727:6503199868899777 35231:35231 hsa_signal_load_relaxed({handle=140622355553920}) = 1 :6196 +6503199868899918:6503199869000013 35231:35231 hsa_signal_wait_scacquire({handle=140622355553920}, 2, 1, 100000, 1) = 1 :6197 +6503199869000113:6503199870601744 35231:35231 hsa_signal_wait_scacquire({handle=140622355553920}, 2, 1, 18446744073709551615, 0) = 0 :6198 +6503199870602015:6503199870602125 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140622355553920}, 0x7ffd04faf410) = 0 :6199 +6503199870602856:6503199870602916 35231:35231 hsa_signal_load_relaxed({handle=140622355553920}) = 0 :6200 +6503199870606884:6503199870606934 35231:35231 hsa_signal_load_relaxed({handle=140622355553920}) = 0 :6204 +6503199870607154:6503199870607264 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 184 :6205 +6503199870607415:6503199870607465 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 184 :6206 +6503199870608897:6503199870608988 35231:35231 hsa_signal_load_relaxed({handle=140622355553664}) = 0 :6207 +6503199870609098:6503199870609148 35231:35231 hsa_signal_load_relaxed({handle=140622355553792}) = 0 :6208 +6503199870609338:6503199870609388 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355553792}, 1) = void :6209 +6503199870609599:6503199870609659 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 184 :6210 +6503199870609899:6503199870610360 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 184) = void :6211 +6503199870611502:6503199870611733 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :6213 +6503199870611873:6503199870611973 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf590, 0, 0, 0) = 0 :6214 +6503199870612113:6503199870612214 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf630, 0, 0, 0) = 0 :6215 +6503199870612344:6503199870612444 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf570, 0, 0, 0) = 0 :6216 +6503199870613225:6503199870615810 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a3fe000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :6217 +6503199870616171:6503199870616231 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 185 :6218 +6503199870616331:6503199870616371 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 184 :6219 +6503199870616512:6503199870616572 35231:35231 hsa_signal_load_relaxed({handle=140622355553536}) = 0 :6220 +6503199870616682:6503199870616722 35231:35231 hsa_signal_load_relaxed({handle=140622355553664}) = 0 :6221 +6503199870616832:6503199870616882 35231:35231 hsa_signal_load_relaxed({handle=140622355553536}) = 0 :6222 +6503199870616982:6503199870617033 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355553664}, 1) = void :6223 +6503199870617173:6503199870617233 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 184 :6224 +6503199870617614:6503199870618054 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 185) = void :6225 +6503199870618165:6503199870618215 35231:35231 hsa_signal_load_relaxed({handle=140622355553664}) = 1 :6226 +6503199870618305:6503199870618355 35231:35231 hsa_signal_load_relaxed({handle=140622355553664}) = 1 :6227 +6503199870618475:6503199870628574 35231:35231 hsa_signal_wait_scacquire({handle=140622355553664}, 2, 1, 10000, 1) = 1 :6228 +6503199870629766:6503199870629826 35231:35231 hsa_signal_load_relaxed({handle=140622355553408}) = 0 :6229 +6503199870629946:6503199870629997 35231:35231 hsa_signal_load_relaxed({handle=140622355553536}) = 0 :6230 +6503199870630127:6503199870630177 35231:35231 hsa_signal_load_relaxed({handle=140622355553408}) = 0 :6231 +6503199870630287:6503199870630337 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355553536}, 1) = void :6232 +6503199870630528:6503199870631920 35231:35231 hsa_amd_memory_async_copy(0x7fe12a3fe010, {handle=5845728}, 0x7fe129400000, {handle=5671888}, 4194304, 1, 0x632fa0, {handle=140622355553536}) = 0 :6233 +6503199870632080:6503199870632131 35231:35231 hsa_signal_load_relaxed({handle=140622355553664}) = 1 :6234 +6503199870632251:6503199870732326 35231:35231 hsa_signal_wait_scacquire({handle=140622355553664}, 2, 1, 100000, 1) = 1 :6235 +6503199870732427:6503199870732907 35231:35231 hsa_signal_wait_scacquire({handle=140622355553664}, 2, 1, 18446744073709551615, 0) = 0 :6236 +6503199870733068:6503199870733168 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140622355553664}, 0x7ffd04faf400) = 0 :6237 +6503199870733278:6503199870733328 35231:35231 hsa_signal_load_relaxed({handle=140622355553536}) = 1 :6238 +6503199870733428:6503199870833494 35231:35231 hsa_signal_wait_scacquire({handle=140622355553536}, 2, 1, 100000, 1) = 1 :6239 +6503199870833594:6503199872275489 35231:35231 hsa_signal_wait_scacquire({handle=140622355553536}, 2, 1, 18446744073709551615, 0) = 0 :6240 +6503199872275739:6503199872275819 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140622355553536}, 0x7ffd04faf410) = 0 :6241 +6503199872276410:6503199872276460 35231:35231 hsa_signal_load_relaxed({handle=140622355553536}) = 0 :6242 +6503199872276621:6503199872276961 35231:35231 hsa_signal_load_relaxed({handle=140622355553792}) = 0 :6243 +6503199872277071:6503199872277152 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140622355553792}, 0x7ffd04faf540) = 0 :6244 +6503199880870690:6503199880870960 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :6246 +6503199880871151:6503199880871251 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf590, 0, 0, 0) = 0 :6247 +6503199880871401:6503199880871491 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf630, 0, 0, 0) = 0 :6248 +6503199880871632:6503199880871722 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf570, 0, 0, 0) = 0 :6249 +6503199880872854:6503199880875789 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a7ff000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :6250 +6503199880876250:6503199880876350 35231:35231 hsa_signal_load_relaxed({handle=140622355553536}) = 0 :6251 +6503199880877953:6503199880878014 35231:35231 hsa_signal_load_relaxed({handle=140622355553280}) = 0 :6252 +6503199880878154:6503199880878204 35231:35231 hsa_signal_load_relaxed({handle=140622355553408}) = 0 :6253 +6503199880878444:6503199880878504 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355553408}, 1) = void :6254 +6503199880878675:6503199880879857 35231:35231 hsa_amd_memory_async_copy(0x7fe129a00000, {handle=5671888}, 0x7fe12a7ff010, {handle=5845728}, 4194304, 0, 0, {handle=140622355553408}) = 0 :6255 +6503199880879997:6503199880880047 35231:35231 hsa_signal_load_relaxed({handle=140622355553408}) = 1 :6256 +6503199880880188:6503199880980283 35231:35231 hsa_signal_wait_scacquire({handle=140622355553408}, 2, 1, 100000, 1) = 1 :6257 +6503199880980383:6503199882582184 35231:35231 hsa_signal_wait_scacquire({handle=140622355553408}, 2, 1, 18446744073709551615, 0) = 0 :6258 +6503199882582445:6503199882582535 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140622355553408}, 0x7ffd04faf410) = 0 :6259 +6503199882583176:6503199882583226 35231:35231 hsa_signal_load_relaxed({handle=140622355553408}) = 0 :6260 +6503199882588145:6503199882588205 35231:35231 hsa_signal_load_relaxed({handle=140622355553408}) = 0 :6264 +6503199882588416:6503199882588516 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 186 :6265 +6503199882588636:6503199882588686 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 186 :6266 +6503199882588806:6503199882588877 35231:35231 hsa_signal_load_relaxed({handle=140622355553152}) = 0 :6267 +6503199882588977:6503199882589037 35231:35231 hsa_signal_load_relaxed({handle=140622355553280}) = 0 :6268 +6503199882589197:6503199882589247 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355553280}, 1) = void :6269 +6503199882589408:6503199882589468 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 186 :6270 +6503199882589648:6503199882590109 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 186) = void :6271 +6503199882592022:6503199882592253 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :6273 +6503199882592393:6503199882592493 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf590, 0, 0, 0) = 0 :6274 +6503199882592634:6503199882592724 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf630, 0, 0, 0) = 0 :6275 +6503199882592864:6503199882592964 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf570, 0, 0, 0) = 0 :6276 +6503199882594527:6503199882597122 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a3fe000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :6277 +6503199882597503:6503199882597553 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 187 :6278 +6503199882597663:6503199882597713 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 186 :6279 +6503199882597873:6503199882597943 35231:35231 hsa_signal_load_relaxed({handle=140622355553024}) = 0 :6280 +6503199882598064:6503199882598114 35231:35231 hsa_signal_load_relaxed({handle=140622355553152}) = 0 :6281 +6503199882598234:6503199882598284 35231:35231 hsa_signal_load_relaxed({handle=140622355553024}) = 0 :6282 +6503199882598404:6503199882598454 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355553152}, 1) = void :6283 +6503199882598585:6503199882598635 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 186 :6284 +6503199882598735:6503199882599176 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 187) = void :6285 +6503199882599296:6503199882599346 35231:35231 hsa_signal_load_relaxed({handle=140622355553152}) = 1 :6286 +6503199882599446:6503199882599496 35231:35231 hsa_signal_load_relaxed({handle=140622355553152}) = 1 :6287 +6503199882599606:6503199882609705 35231:35231 hsa_signal_wait_scacquire({handle=140622355553152}, 2, 1, 10000, 1) = 1 :6288 +6503199882609865:6503199882609936 35231:35231 hsa_signal_load_relaxed({handle=140622355552896}) = 0 :6289 +6503199882610036:6503199882610086 35231:35231 hsa_signal_load_relaxed({handle=140622355553024}) = 0 :6290 +6503199882610186:6503199882610236 35231:35231 hsa_signal_load_relaxed({handle=140622355552896}) = 0 :6291 +6503199882610336:6503199882610386 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355553024}, 1) = void :6292 +6503199882610577:6503199882611779 35231:35231 hsa_amd_memory_async_copy(0x7fe12a3fe010, {handle=5845728}, 0x7fe129400000, {handle=5671888}, 4194304, 1, 0x633040, {handle=140622355553024}) = 0 :6293 +6503199882611919:6503199882611969 35231:35231 hsa_signal_load_relaxed({handle=140622355553152}) = 1 :6294 +6503199882612070:6503199882712175 35231:35231 hsa_signal_wait_scacquire({handle=140622355553152}, 2, 1, 100000, 1) = 1 :6295 +6503199882712275:6503199882712626 35231:35231 hsa_signal_wait_scacquire({handle=140622355553152}, 2, 1, 18446744073709551615, 0) = 0 :6296 +6503199882712786:6503199882712867 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140622355553152}, 0x7ffd04faf400) = 0 :6297 +6503199882713718:6503199882713768 35231:35231 hsa_signal_load_relaxed({handle=140622355553024}) = 1 :6298 +6503199882713888:6503199882813964 35231:35231 hsa_signal_wait_scacquire({handle=140622355553024}, 2, 1, 100000, 1) = 1 :6299 +6503199882814054:6503199884255367 35231:35231 hsa_signal_wait_scacquire({handle=140622355553024}, 2, 1, 18446744073709551615, 0) = 0 :6300 +6503199884255618:6503199884255698 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140622355553024}, 0x7ffd04faf410) = 0 :6301 +6503199884256429:6503199884256479 35231:35231 hsa_signal_load_relaxed({handle=140622355553024}) = 0 :6302 +6503199884256640:6503199884256950 35231:35231 hsa_signal_load_relaxed({handle=140622355553280}) = 0 :6303 +6503199884257090:6503199884257171 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140622355553280}, 0x7ffd04faf540) = 0 :6304 +6503199892853996:6503199892854266 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :6306 +6503199892854466:6503199892854567 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf590, 0, 0, 0) = 0 :6307 +6503199892854717:6503199892854807 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf630, 0, 0, 0) = 0 :6308 +6503199892854947:6503199892855038 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf570, 0, 0, 0) = 0 :6309 +6503199892856220:6503199892859175 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a7ff000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :6310 +6503199892859626:6503199892859736 35231:35231 hsa_signal_load_relaxed({handle=140622355553024}) = 0 :6311 +6503199892859856:6503199892859927 35231:35231 hsa_signal_load_relaxed({handle=140622355552768}) = 0 :6312 +6503199892860037:6503199892860097 35231:35231 hsa_signal_load_relaxed({handle=140622355552896}) = 0 :6313 +6503199892860357:6503199892860428 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355552896}, 1) = void :6314 +6503199892860598:6503199892861750 35231:35231 hsa_amd_memory_async_copy(0x7fe129a00000, {handle=5671888}, 0x7fe12a7ff010, {handle=5845728}, 4194304, 0, 0, {handle=140622355552896}) = 0 :6315 +6503199892861880:6503199892861930 35231:35231 hsa_signal_load_relaxed({handle=140622355552896}) = 1 :6316 +6503199892862071:6503199892962166 35231:35231 hsa_signal_wait_scacquire({handle=140622355552896}, 2, 1, 100000, 1) = 1 :6317 +6503199892962266:6503199894568395 35231:35231 hsa_signal_wait_scacquire({handle=140622355552896}, 2, 1, 18446744073709551615, 0) = 0 :6318 +6503199894568666:6503199894573855 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140622355552896}, 0x7ffd04faf410) = 0 :6319 +6503199894574486:6503199894574537 35231:35231 hsa_signal_load_relaxed({handle=140622355552896}) = 0 :6320 +6503199894590236:6503199894590286 35231:35231 hsa_signal_load_relaxed({handle=140622355552896}) = 0 :6324 +6503199894590496:6503199894590576 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 188 :6325 +6503199894590707:6503199894590757 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 188 :6326 +6503199894590877:6503199894590927 35231:35231 hsa_signal_load_relaxed({handle=140622355552640}) = 0 :6327 +6503199894591027:6503199894591087 35231:35231 hsa_signal_load_relaxed({handle=140622355552768}) = 0 :6328 +6503199894591258:6503199894591308 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355552768}, 1) = void :6329 +6503199894591438:6503199894591508 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 188 :6330 +6503199894591678:6503199894592129 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 188) = void :6331 +6503199894594103:6503199894594333 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :6333 +6503199894594473:6503199894594584 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf590, 0, 0, 0) = 0 :6334 +6503199894594724:6503199894594824 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf630, 0, 0, 0) = 0 :6335 +6503199894594954:6503199894595055 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf570, 0, 0, 0) = 0 :6336 +6503199894595776:6503199894598401 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a3fe000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :6337 +6503199894598761:6503199894598832 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 189 :6338 +6503199894598922:6503199894598972 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 188 :6339 +6503199894599092:6503199894599152 35231:35231 hsa_signal_load_relaxed({handle=140622355552512}) = 0 :6340 +6503199894599272:6503199894599322 35231:35231 hsa_signal_load_relaxed({handle=140622355552640}) = 0 :6341 +6503199894599423:6503199894599463 35231:35231 hsa_signal_load_relaxed({handle=140622355552512}) = 0 :6342 +6503199894599583:6503199894599633 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355552640}, 1) = void :6343 +6503199894599753:6503199894599813 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 188 :6344 +6503199894600445:6503199894600885 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 189) = void :6345 +6503199894602589:6503199894602659 35231:35231 hsa_signal_load_relaxed({handle=140622355552640}) = 1 :6346 +6503199894602769:6503199894602809 35231:35231 hsa_signal_load_relaxed({handle=140622355552640}) = 1 :6347 +6503199894602969:6503199894613068 35231:35231 hsa_signal_wait_scacquire({handle=140622355552640}, 2, 1, 10000, 1) = 1 :6348 +6503199894613248:6503199894613308 35231:35231 hsa_signal_load_relaxed({handle=140622355552384}) = 0 :6349 +6503199894613409:6503199894613459 35231:35231 hsa_signal_load_relaxed({handle=140622355552512}) = 0 :6350 +6503199894613559:6503199894613599 35231:35231 hsa_signal_load_relaxed({handle=140622355552384}) = 0 :6351 +6503199894613699:6503199894613749 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355552512}, 1) = void :6352 +6503199894613970:6503199894615132 35231:35231 hsa_amd_memory_async_copy(0x7fe12a3fe010, {handle=5845728}, 0x7fe129400000, {handle=5671888}, 4194304, 1, 0x633110, {handle=140622355552512}) = 0 :6353 +6503199894615292:6503199894615342 35231:35231 hsa_signal_load_relaxed({handle=140622355552640}) = 1 :6354 +6503199894615432:6503199894715037 35231:35231 hsa_signal_wait_scacquire({handle=140622355552640}, 2, 1, 100000, 1) = 0 :6355 +6503199894715197:6503199894715278 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140622355552640}, 0x7ffd04faf400) = 0 :6356 +6503199894715388:6503199894715438 35231:35231 hsa_signal_load_relaxed({handle=140622355552512}) = 1 :6357 +6503199894715538:6503199894815614 35231:35231 hsa_signal_wait_scacquire({handle=140622355552512}, 2, 1, 100000, 1) = 1 :6358 +6503199894815704:6503199896257919 35231:35231 hsa_signal_wait_scacquire({handle=140622355552512}, 2, 1, 18446744073709551615, 0) = 0 :6359 +6503199896258169:6503199896258269 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140622355552512}, 0x7ffd04faf410) = 0 :6360 +6503199896258850:6503199896258900 35231:35231 hsa_signal_load_relaxed({handle=140622355552512}) = 0 :6361 +6503199896259041:6503199896259361 35231:35231 hsa_signal_load_relaxed({handle=140622355552768}) = 0 :6362 +6503199896259491:6503199896259572 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140622355552768}, 0x7ffd04faf540) = 0 :6363 +6503199904859321:6503199904859602 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :6365 +6503199904859802:6503199904859902 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf590, 0, 0, 0) = 0 :6366 +6503199904860033:6503199904860123 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf630, 0, 0, 0) = 0 :6367 +6503199904863529:6503199904863649 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf570, 0, 0, 0) = 0 :6368 +6503199904864962:6503199904867737 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a7ff000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :6369 +6503199904868218:6503199904868328 35231:35231 hsa_signal_load_relaxed({handle=140622355552512}) = 0 :6370 +6503199904868498:6503199904868579 35231:35231 hsa_signal_load_relaxed({handle=140622355552256}) = 0 :6371 +6503199904868689:6503199904868739 35231:35231 hsa_signal_load_relaxed({handle=140622355552384}) = 0 :6372 +6503199904869009:6503199904869079 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355552384}, 1) = void :6373 +6503199904869290:6503199904870402 35231:35231 hsa_amd_memory_async_copy(0x7fe129a00000, {handle=5671888}, 0x7fe12a7ff010, {handle=5845728}, 4194304, 0, 0, {handle=140622355552384}) = 0 :6374 +6503199904870532:6503199904870582 35231:35231 hsa_signal_load_relaxed({handle=140622355552384}) = 1 :6375 +6503199904870713:6503199904970808 35231:35231 hsa_signal_wait_scacquire({handle=140622355552384}, 2, 1, 100000, 1) = 1 :6376 +6503199904970908:6503199906547292 35231:35231 hsa_signal_wait_scacquire({handle=140622355552384}, 2, 1, 18446744073709551615, 0) = 0 :6377 +6503199906547573:6503199906547663 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140622355552384}, 0x7ffd04faf410) = 0 :6378 +6503199906548324:6503199906548374 35231:35231 hsa_signal_load_relaxed({handle=140622355552384}) = 0 :6379 +6503199906553604:6503199906553664 35231:35231 hsa_signal_load_relaxed({handle=140622355552384}) = 0 :6383 +6503199906553884:6503199906554025 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 190 :6384 +6503199906554175:6503199906554225 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 190 :6385 +6503199906554345:6503199906554415 35231:35231 hsa_signal_load_relaxed({handle=140622355552128}) = 0 :6386 +6503199906554516:6503199906554566 35231:35231 hsa_signal_load_relaxed({handle=140622355552256}) = 0 :6387 +6503199906554726:6503199906554776 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355552256}, 1) = void :6388 +6503199906554916:6503199906554976 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 190 :6389 +6503199906555157:6503199906555628 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 190) = void :6390 +6503199906556710:6503199906556890 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :6392 +6503199906557030:6503199906557140 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf590, 0, 0, 0) = 0 :6393 +6503199906558623:6503199906558753 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf630, 0, 0, 0) = 0 :6394 +6503199906558894:6503199906558994 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf570, 0, 0, 0) = 0 :6395 +6503199906559775:6503199906562360 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a3fe000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :6396 +6503199906562741:6503199906562791 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 191 :6397 +6503199906562891:6503199906562941 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 190 :6398 +6503199906563091:6503199906563242 35231:35231 hsa_signal_load_relaxed({handle=140627542423296}) = 0 :6399 +6503199906563352:6503199906563402 35231:35231 hsa_signal_load_relaxed({handle=140622355552128}) = 0 :6400 +6503199906563502:6503199906563552 35231:35231 hsa_signal_load_relaxed({handle=140627542423296}) = 0 :6401 +6503199906563653:6503199906563703 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355552128}, 1) = void :6402 +6503199906563823:6503199906563883 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 190 :6403 +6503199906563983:6503199906564414 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 191) = void :6404 +6503199906564544:6503199906564594 35231:35231 hsa_signal_load_relaxed({handle=140622355552128}) = 1 :6405 +6503199906564694:6503199906564745 35231:35231 hsa_signal_load_relaxed({handle=140622355552128}) = 1 :6406 +6503199906564885:6503199906575004 35231:35231 hsa_signal_wait_scacquire({handle=140622355552128}, 2, 1, 10000, 1) = 1 :6407 +6503199906575174:6503199906575234 35231:35231 hsa_signal_load_relaxed({handle=140627542423168}) = 0 :6408 +6503199906575334:6503199906575384 35231:35231 hsa_signal_load_relaxed({handle=140627542423296}) = 0 :6409 +6503199906575484:6503199906575535 35231:35231 hsa_signal_load_relaxed({handle=140627542423168}) = 0 :6410 +6503199906575645:6503199906575695 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542423296}, 1) = void :6411 +6503199906575895:6503199906577077 35231:35231 hsa_amd_memory_async_copy(0x7fe12a3fe010, {handle=5845728}, 0x7fe129400000, {handle=5671888}, 4194304, 1, 0x6331e0, {handle=140627542423296}) = 0 :6412 +6503199906577228:6503199906577278 35231:35231 hsa_signal_load_relaxed({handle=140622355552128}) = 1 :6413 +6503199906577398:6503199906677474 35231:35231 hsa_signal_wait_scacquire({handle=140622355552128}, 2, 1, 100000, 1) = 1 :6414 +6503199906678946:6503199906679297 35231:35231 hsa_signal_wait_scacquire({handle=140622355552128}, 2, 1, 18446744073709551615, 0) = 0 :6415 +6503199906679507:6503199906679608 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140622355552128}, 0x7ffd04faf400) = 0 :6416 +6503199906679728:6503199906679778 35231:35231 hsa_signal_load_relaxed({handle=140627542423296}) = 1 :6417 +6503199906679878:6503199906779964 35231:35231 hsa_signal_wait_scacquire({handle=140627542423296}, 2, 1, 100000, 1) = 1 :6418 +6503199906780074:6503199908222770 35231:35231 hsa_signal_wait_scacquire({handle=140627542423296}, 2, 1, 18446744073709551615, 0) = 0 :6419 +6503199908223020:6503199908223100 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140627542423296}, 0x7ffd04faf410) = 0 :6420 +6503199908223621:6503199908223671 35231:35231 hsa_signal_load_relaxed({handle=140627542423296}) = 0 :6421 +6503199908223832:6503199908224152 35231:35231 hsa_signal_load_relaxed({handle=140622355552256}) = 0 :6422 +6503199908224253:6503199908224333 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140622355552256}, 0x7ffd04faf540) = 0 :6423 +6503199916795049:6503199916795369 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :6425 +6503199916795570:6503199916795680 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf590, 0, 0, 0) = 0 :6426 +6503199916795850:6503199916795960 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf630, 0, 0, 0) = 0 :6427 +6503199916796141:6503199916796241 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf570, 0, 0, 0) = 0 :6428 +6503199916797443:6503199916800649 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a7ff000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :6429 +6503199916801130:6503199916801230 35231:35231 hsa_signal_load_relaxed({handle=140627542423296}) = 0 :6430 +6503199916801481:6503199916801581 35231:35231 hsa_signal_load_relaxed({handle=140627542423040}) = 0 :6431 +6503199916801701:6503199916801771 35231:35231 hsa_signal_load_relaxed({handle=140627542423168}) = 0 :6432 +6503199916801952:6503199916802012 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542423168}, 1) = void :6433 +6503199916802172:6503199916803605 35231:35231 hsa_amd_memory_async_copy(0x7fe129a00000, {handle=5671888}, 0x7fe12a7ff010, {handle=5845728}, 4194304, 0, 0, {handle=140627542423168}) = 0 :6434 +6503199916803725:6503199916803775 35231:35231 hsa_signal_load_relaxed({handle=140627542423168}) = 1 :6435 +6503199916803905:6503199916904372 35231:35231 hsa_signal_wait_scacquire({handle=140627542423168}, 2, 1, 100000, 1) = 1 :6436 +6503199916907257:6503199918520198 35231:35231 hsa_signal_wait_scacquire({handle=140627542423168}, 2, 1, 18446744073709551615, 0) = 0 :6437 +6503199918520469:6503199918520609 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140627542423168}, 0x7ffd04faf410) = 0 :6438 +6503199918521381:6503199918521431 35231:35231 hsa_signal_load_relaxed({handle=140627542423168}) = 0 :6439 +6503199918526921:6503199918526981 35231:35231 hsa_signal_load_relaxed({handle=140627542423168}) = 0 :6443 +6503199918527201:6503199918527272 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 192 :6444 +6503199918527422:6503199918527512 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 192 :6445 +6503199918527652:6503199918527722 35231:35231 hsa_signal_load_relaxed({handle=140627542422912}) = 0 :6446 +6503199918527833:6503199918527893 35231:35231 hsa_signal_load_relaxed({handle=140627542423040}) = 0 :6447 +6503199918528143:6503199918528193 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542423040}, 1) = void :6448 +6503199918528364:6503199918528434 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 192 :6449 +6503199918528614:6503199918529065 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 192) = void :6450 +6503199918530177:6503199918530367 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :6452 +6503199918530508:6503199918530608 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf590, 0, 0, 0) = 0 :6453 +6503199918530738:6503199918530838 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf630, 0, 0, 0) = 0 :6454 +6503199918530968:6503199918531069 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf570, 0, 0, 0) = 0 :6455 +6503199918531920:6503199918534705 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a3fe000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :6456 +6503199918535096:6503199918535146 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 193 :6457 +6503199918535236:6503199918535286 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 192 :6458 +6503199918535407:6503199918535487 35231:35231 hsa_signal_load_relaxed({handle=140627542422784}) = 0 :6459 +6503199918535617:6503199918535667 35231:35231 hsa_signal_load_relaxed({handle=140627542422912}) = 0 :6460 +6503199918535767:6503199918535807 35231:35231 hsa_signal_load_relaxed({handle=140627542422784}) = 0 :6461 +6503199918535908:6503199918535948 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542422912}, 1) = void :6462 +6503199918538923:6503199918538973 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 192 :6463 +6503199918539364:6503199918539815 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 193) = void :6464 +6503199918539965:6503199918540015 35231:35231 hsa_signal_load_relaxed({handle=140627542422912}) = 1 :6465 +6503199918540125:6503199918540176 35231:35231 hsa_signal_load_relaxed({handle=140627542422912}) = 1 :6466 +6503199918540296:6503199918550405 35231:35231 hsa_signal_wait_scacquire({handle=140627542422912}, 2, 1, 10000, 1) = 1 :6467 +6503199918550545:6503199918550615 35231:35231 hsa_signal_load_relaxed({handle=140627542422656}) = 0 :6468 +6503199918550715:6503199918550765 35231:35231 hsa_signal_load_relaxed({handle=140627542422784}) = 0 :6469 +6503199918550865:6503199918550915 35231:35231 hsa_signal_load_relaxed({handle=140627542422656}) = 0 :6470 +6503199918551016:6503199918551066 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542422784}, 1) = void :6471 +6503199918551286:6503199918552518 35231:35231 hsa_amd_memory_async_copy(0x7fe12a3fe010, {handle=5845728}, 0x7fe129400000, {handle=5671888}, 4194304, 1, 0x6332b0, {handle=140627542422784}) = 0 :6472 +6503199918552699:6503199918552749 35231:35231 hsa_signal_load_relaxed({handle=140627542422912}) = 1 :6473 +6503199918552839:6503199918652564 35231:35231 hsa_signal_wait_scacquire({handle=140627542422912}, 2, 1, 100000, 1) = 0 :6474 +6503199918652724:6503199918652824 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140627542422912}, 0x7ffd04faf400) = 0 :6475 +6503199918652945:6503199918652985 35231:35231 hsa_signal_load_relaxed({handle=140627542422784}) = 1 :6476 +6503199918653105:6503199918753181 35231:35231 hsa_signal_wait_scacquire({handle=140627542422784}, 2, 1, 100000, 1) = 1 :6477 +6503199918753281:6503199920194223 35231:35231 hsa_signal_wait_scacquire({handle=140627542422784}, 2, 1, 18446744073709551615, 0) = 0 :6478 +6503199920194474:6503199920194554 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140627542422784}, 0x7ffd04faf410) = 0 :6479 +6503199920195165:6503199920195215 35231:35231 hsa_signal_load_relaxed({handle=140627542422784}) = 0 :6480 +6503199920195356:6503199920195716 35231:35231 hsa_signal_load_relaxed({handle=140627542423040}) = 0 :6481 +6503199920195836:6503199920195917 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140627542423040}, 0x7ffd04faf540) = 0 :6482 +6503199928773535:6503199928773846 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :6484 +6503199928776100:6503199928776250 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf590, 0, 0, 0) = 0 :6485 +6503199928776391:6503199928776481 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf630, 0, 0, 0) = 0 :6486 +6503199928776621:6503199928776721 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf570, 0, 0, 0) = 0 :6487 +6503199928777773:6503199928780859 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a7ff000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :6488 +6503199928781270:6503199928781390 35231:35231 hsa_signal_load_relaxed({handle=140627542422784}) = 0 :6489 +6503199928781510:6503199928781590 35231:35231 hsa_signal_load_relaxed({handle=140627542422528}) = 0 :6490 +6503199928781701:6503199928781751 35231:35231 hsa_signal_load_relaxed({handle=140627542422656}) = 0 :6491 +6503199928782011:6503199928782071 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542422656}, 1) = void :6492 +6503199928782252:6503199928783203 35231:35231 hsa_amd_memory_async_copy(0x7fe129a00000, {handle=5671888}, 0x7fe12a7ff010, {handle=5845728}, 4194304, 0, 0, {handle=140627542422656}) = 0 :6493 +6503199928783434:6503199928783484 35231:35231 hsa_signal_load_relaxed({handle=140627542422656}) = 1 :6494 +6503199928783624:6503199928884090 35231:35231 hsa_signal_wait_scacquire({handle=140627542422656}, 2, 1, 100000, 1) = 1 :6495 +6503199928884561:6503199930498134 35231:35231 hsa_signal_wait_scacquire({handle=140627542422656}, 2, 1, 18446744073709551615, 0) = 0 :6496 +6503199930498404:6503199930498485 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140627542422656}, 0x7ffd04faf410) = 0 :6497 +6503199930499176:6503199930499216 35231:35231 hsa_signal_load_relaxed({handle=140627542422656}) = 0 :6498 +6503199930504105:6503199930504165 35231:35231 hsa_signal_load_relaxed({handle=140627542422656}) = 0 :6502 +6503199930504405:6503199930504476 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 194 :6503 +6503199930504606:6503199930504656 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 194 :6504 +6503199930504766:6503199930504836 35231:35231 hsa_signal_load_relaxed({handle=140627542422400}) = 0 :6505 +6503199930504946:6503199930504997 35231:35231 hsa_signal_load_relaxed({handle=140627542422528}) = 0 :6506 +6503199930505167:6503199930505217 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542422528}, 1) = void :6507 +6503199930505387:6503199930505447 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 194 :6508 +6503199930506900:6503199930507381 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 194) = void :6509 +6503199930508523:6503199930508734 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :6511 +6503199930508874:6503199930508974 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf590, 0, 0, 0) = 0 :6512 +6503199930509114:6503199930509214 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf630, 0, 0, 0) = 0 :6513 +6503199930509345:6503199930509445 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf570, 0, 0, 0) = 0 :6514 +6503199930510296:6503199930513011 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a3fe000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :6515 +6503199930513392:6503199930513442 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 195 :6516 +6503199930513542:6503199930513593 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 194 :6517 +6503199930513713:6503199930513763 35231:35231 hsa_signal_load_relaxed({handle=140627542422272}) = 0 :6518 +6503199930513863:6503199930513913 35231:35231 hsa_signal_load_relaxed({handle=140627542422400}) = 0 :6519 +6503199930514023:6503199930514073 35231:35231 hsa_signal_load_relaxed({handle=140627542422272}) = 0 :6520 +6503199930514174:6503199930514224 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542422400}, 1) = void :6521 +6503199930514344:6503199930514414 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 194 :6522 +6503199930514514:6503199930514955 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 195) = void :6523 +6503199930515085:6503199930515135 35231:35231 hsa_signal_load_relaxed({handle=140627542422400}) = 1 :6524 +6503199930515236:6503199930515286 35231:35231 hsa_signal_load_relaxed({handle=140627542422400}) = 1 :6525 +6503199930515396:6503199930525495 35231:35231 hsa_signal_wait_scacquire({handle=140627542422400}, 2, 1, 10000, 1) = 1 :6526 +6503199930525645:6503199930525715 35231:35231 hsa_signal_load_relaxed({handle=140627542422144}) = 0 :6527 +6503199930525825:6503199930525875 35231:35231 hsa_signal_load_relaxed({handle=140627542422272}) = 0 :6528 +6503199930525965:6503199930526016 35231:35231 hsa_signal_load_relaxed({handle=140627542422144}) = 0 :6529 +6503199930526116:6503199930526156 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542422272}, 1) = void :6530 +6503199930526396:6503199930527619 35231:35231 hsa_amd_memory_async_copy(0x7fe12a3fe010, {handle=5845728}, 0x7fe129400000, {handle=5671888}, 4194304, 1, 0x633380, {handle=140627542422272}) = 0 :6531 +6503199930529051:6503199930529101 35231:35231 hsa_signal_load_relaxed({handle=140627542422400}) = 1 :6532 +6503199930529211:6503199930629297 35231:35231 hsa_signal_wait_scacquire({handle=140627542422400}, 2, 1, 100000, 1) = 1 :6533 +6503199930629397:6503199930630610 35231:35231 hsa_signal_wait_scacquire({handle=140627542422400}, 2, 1, 18446744073709551615, 0) = 0 :6534 +6503199930630780:6503199930630880 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140627542422400}, 0x7ffd04faf400) = 0 :6535 +6503199930631020:6503199930631070 35231:35231 hsa_signal_load_relaxed({handle=140627542422272}) = 1 :6536 +6503199930631161:6503199930731246 35231:35231 hsa_signal_wait_scacquire({handle=140627542422272}, 2, 1, 100000, 1) = 1 :6537 +6503199930731346:6503199932173952 35231:35231 hsa_signal_wait_scacquire({handle=140627542422272}, 2, 1, 18446744073709551615, 0) = 0 :6538 +6503199932174182:6503199932174262 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140627542422272}, 0x7ffd04faf410) = 0 :6539 +6503199932174884:6503199932174934 35231:35231 hsa_signal_load_relaxed({handle=140627542422272}) = 0 :6540 +6503199932175084:6503199932175134 35231:35231 hsa_signal_load_relaxed({handle=140627542422528}) = 0 :6541 +6503199932175234:6503199932175314 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140627542422528}, 0x7ffd04faf540) = 0 :6542 +6503199940756249:6503199940756580 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :6544 +6503199940756820:6503199940756921 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf590, 0, 0, 0) = 0 :6545 +6503199940757061:6503199940757151 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf630, 0, 0, 0) = 0 :6546 +6503199940757291:6503199940757391 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf570, 0, 0, 0) = 0 :6547 +6503199940758624:6503199940761389 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a7ff000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :6548 +6503199940761860:6503199940761950 35231:35231 hsa_signal_load_relaxed({handle=140627542422272}) = 0 :6549 +6503199940762100:6503199940762170 35231:35231 hsa_signal_load_relaxed({handle=140627542422016}) = 0 :6550 +6503199940762280:6503199940762351 35231:35231 hsa_signal_load_relaxed({handle=140627542422144}) = 0 :6551 +6503199940762561:6503199940762621 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542422144}, 1) = void :6552 +6503199940762791:6503199940764044 35231:35231 hsa_amd_memory_async_copy(0x7fe129a00000, {handle=5671888}, 0x7fe12a7ff010, {handle=5845728}, 4194304, 0, 0, {handle=140627542422144}) = 0 :6553 +6503199940765647:6503199940765697 35231:35231 hsa_signal_load_relaxed({handle=140627542422144}) = 1 :6554 +6503199940765837:6503199940866303 35231:35231 hsa_signal_wait_scacquire({handle=140627542422144}, 2, 1, 100000, 1) = 1 :6555 +6503199940866464:6503199942469687 35231:35231 hsa_signal_wait_scacquire({handle=140627542422144}, 2, 1, 18446744073709551615, 0) = 0 :6556 +6503199942469948:6503199942470038 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140627542422144}, 0x7ffd04faf410) = 0 :6557 +6503199942470749:6503199942470799 35231:35231 hsa_signal_load_relaxed({handle=140627542422144}) = 0 :6558 +6503199942476239:6503199942476290 35231:35231 hsa_signal_load_relaxed({handle=140627542422144}) = 0 :6562 +6503199942476500:6503199942476570 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 196 :6563 +6503199942476710:6503199942476770 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 196 :6564 +6503199942476881:6503199942476951 35231:35231 hsa_signal_load_relaxed({handle=140627542421888}) = 0 :6565 +6503199942477071:6503199942477121 35231:35231 hsa_signal_load_relaxed({handle=140627542422016}) = 0 :6566 +6503199942477372:6503199942477422 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542422016}, 1) = void :6567 +6503199942477572:6503199942477632 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 196 :6568 +6503199942477802:6503199942478253 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 196) = void :6569 +6503199942479275:6503199942479495 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :6571 +6503199942479636:6503199942479746 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf590, 0, 0, 0) = 0 :6572 +6503199942479876:6503199942479966 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf630, 0, 0, 0) = 0 :6573 +6503199942480107:6503199942480197 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf570, 0, 0, 0) = 0 :6574 +6503199942480968:6503199942483643 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a3fe000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :6575 +6503199942484004:6503199942484054 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 197 :6576 +6503199942484164:6503199942484214 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 196 :6577 +6503199942484344:6503199942484405 35231:35231 hsa_signal_load_relaxed({handle=140627542421760}) = 0 :6578 +6503199942485557:6503199942485607 35231:35231 hsa_signal_load_relaxed({handle=140627542421888}) = 0 :6579 +6503199942485717:6503199942485767 35231:35231 hsa_signal_load_relaxed({handle=140627542421760}) = 0 :6580 +6503199942485897:6503199942485947 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542421888}, 1) = void :6581 +6503199942486088:6503199942486148 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 196 :6582 +6503199942486248:6503199942486689 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 197) = void :6583 +6503199942486829:6503199942486879 35231:35231 hsa_signal_load_relaxed({handle=140627542421888}) = 1 :6584 +6503199942486979:6503199942487029 35231:35231 hsa_signal_load_relaxed({handle=140627542421888}) = 1 :6585 +6503199942487140:6503199942497238 35231:35231 hsa_signal_wait_scacquire({handle=140627542421888}, 2, 1, 10000, 1) = 1 :6586 +6503199942497399:6503199942497469 35231:35231 hsa_signal_load_relaxed({handle=140627542421632}) = 0 :6587 +6503199942497569:6503199942497619 35231:35231 hsa_signal_load_relaxed({handle=140627542421760}) = 0 :6588 +6503199942497719:6503199942497759 35231:35231 hsa_signal_load_relaxed({handle=140627542421632}) = 0 :6589 +6503199942497860:6503199942497910 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542421760}, 1) = void :6590 +6503199942498110:6503199942499332 35231:35231 hsa_amd_memory_async_copy(0x7fe12a3fe010, {handle=5845728}, 0x7fe129400000, {handle=5671888}, 4194304, 1, 0x633450, {handle=140627542421760}) = 0 :6591 +6503199942499503:6503199942499553 35231:35231 hsa_signal_load_relaxed({handle=140627542421888}) = 1 :6592 +6503199942499663:6503199942599738 35231:35231 hsa_signal_wait_scacquire({handle=140627542421888}, 2, 1, 100000, 1) = 1 :6593 +6503199942599839:6503199942601923 35231:35231 hsa_signal_wait_scacquire({handle=140627542421888}, 2, 1, 18446744073709551615, 0) = 0 :6594 +6503199942602053:6503199942602133 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140627542421888}, 0x7ffd04faf400) = 0 :6595 +6503199942602253:6503199942602303 35231:35231 hsa_signal_load_relaxed({handle=140627542421760}) = 1 :6596 +6503199942602423:6503199942702499 35231:35231 hsa_signal_wait_scacquire({handle=140627542421760}, 2, 1, 100000, 1) = 1 :6597 +6503199942702599:6503199944144975 35231:35231 hsa_signal_wait_scacquire({handle=140627542421760}, 2, 1, 18446744073709551615, 0) = 0 :6598 +6503199944145215:6503199944145305 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140627542421760}, 0x7ffd04faf410) = 0 :6599 +6503199944145876:6503199944145936 35231:35231 hsa_signal_load_relaxed({handle=140627542421760}) = 0 :6600 +6503199944146928:6503199944147279 35231:35231 hsa_signal_load_relaxed({handle=140627542422016}) = 0 :6601 +6503199944147389:6503199944147469 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140627542422016}, 0x7ffd04faf540) = 0 :6602 +6503199952716312:6503199952716612 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :6604 +6503199952716843:6503199952716943 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf590, 0, 0, 0) = 0 :6605 +6503199952717103:6503199952717203 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf630, 0, 0, 0) = 0 :6606 +6503199952717354:6503199952717454 35231:35231 hsa_amd_pointer_info(0x7fe12a7ff010, 0x7ffd04faf570, 0, 0, 0) = 0 :6607 +6503199952718676:6503199952721812 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a7ff000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :6608 +6503199952722223:6503199952722313 35231:35231 hsa_signal_load_relaxed({handle=140627542421760}) = 0 :6609 +6503199952722443:6503199952722523 35231:35231 hsa_signal_load_relaxed({handle=140627542421504}) = 0 :6610 +6503199952722623:6503199952722674 35231:35231 hsa_signal_load_relaxed({handle=140627542421632}) = 0 :6611 +6503199952722914:6503199952722974 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542421632}, 1) = void :6612 +6503199952723154:6503199952724246 35231:35231 hsa_amd_memory_async_copy(0x7fe129a00000, {handle=5671888}, 0x7fe12a7ff010, {handle=5845728}, 4194304, 0, 0, {handle=140627542421632}) = 0 :6613 +6503199952724387:6503199952724437 35231:35231 hsa_signal_load_relaxed({handle=140627542421632}) = 1 :6614 +6503199952724547:6503199952824653 35231:35231 hsa_signal_wait_scacquire({handle=140627542421632}, 2, 1, 100000, 1) = 1 :6615 +6503199952824743:6503199954433958 35231:35231 hsa_signal_wait_scacquire({handle=140627542421632}, 2, 1, 18446744073709551615, 0) = 0 :6616 +6503199954434519:6503199954434619 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140627542421632}, 0x7ffd04faf410) = 0 :6617 +6503199954435330:6503199954435380 35231:35231 hsa_signal_load_relaxed({handle=140627542421632}) = 0 :6618 +6503199954441492:6503199954441542 35231:35231 hsa_signal_load_relaxed({handle=140627542421632}) = 0 :6622 +6503199954441772:6503199954441852 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 198 :6623 +6503199954441992:6503199954442053 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 198 :6624 +6503199954442183:6503199954442263 35231:35231 hsa_signal_load_relaxed({handle=140622355554176}) = 0 :6625 +6503199954443455:6503199954443515 35231:35231 hsa_signal_load_relaxed({handle=140627542421504}) = 0 :6626 +6503199954443676:6503199954443736 35231:35231 hsa_signal_silent_store_relaxed({handle=140627542421504}, 1) = void :6627 +6503199954443866:6503199954443946 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 198 :6628 +6503199954444126:6503199954444587 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 198) = void :6629 +6503199954445709:6503199954445920 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf5e0, 0, 0, 0) = 0 :6631 +6503199954446070:6503199954446180 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf590, 0, 0, 0) = 0 :6632 +6503199954446310:6503199954446411 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf630, 0, 0, 0) = 0 :6633 +6503199954446551:6503199954446641 35231:35231 hsa_amd_pointer_info(0x7fe12a3fe010, 0x7ffd04faf570, 0, 0, 0) = 0 :6634 +6503199954447413:6503199954449987 35231:35231 hsa_amd_memory_lock_to_pool(0x7fe12a3fe000, 4198400, 0, 0, {handle=5846928}, 0, 0x11363d8) = 0 :6635 +6503199954450348:6503199954450408 35231:35231 hsa_queue_add_write_index_screlease(0x7fe5318f8000, 1) = 199 :6636 +6503199954450498:6503199954450548 35231:35231 hsa_queue_load_read_index_relaxed(0x7fe5318f8000) = 198 :6637 +6503199954450669:6503199954450729 35231:35231 hsa_signal_load_relaxed({handle=140622355554048}) = 0 :6638 +6503199954450849:6503199954450899 35231:35231 hsa_signal_load_relaxed({handle=140622355554176}) = 0 :6639 +6503199954450999:6503199954451049 35231:35231 hsa_signal_load_relaxed({handle=140622355554048}) = 0 :6640 +6503199954451149:6503199954451200 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355554176}, 1) = void :6641 +6503199954451320:6503199954451370 35231:35231 hsa_queue_load_read_index_scacquire(0x7fe5318f8000) = 198 :6642 +6503199954451470:6503199954451931 35231:35231 hsa_signal_store_screlease({handle=140627542424320}, 199) = void :6643 +6503199954452051:6503199954452101 35231:35231 hsa_signal_load_relaxed({handle=140622355554176}) = 1 :6644 +6503199954452191:6503199954452241 35231:35231 hsa_signal_load_relaxed({handle=140622355554176}) = 1 :6645 +6503199954452372:6503199954462470 35231:35231 hsa_signal_wait_scacquire({handle=140622355554176}, 2, 1, 10000, 1) = 1 :6646 +6503199954462621:6503199954462691 35231:35231 hsa_signal_load_relaxed({handle=140622355553920}) = 0 :6647 +6503199954463663:6503199954463713 35231:35231 hsa_signal_load_relaxed({handle=140622355554048}) = 0 :6648 +6503199954463853:6503199954463903 35231:35231 hsa_signal_load_relaxed({handle=140622355553920}) = 0 :6649 +6503199954464013:6503199954464063 35231:35231 hsa_signal_silent_store_relaxed({handle=140622355554048}, 1) = void :6650 +6503199954464274:6503199954465316 35231:35231 hsa_amd_memory_async_copy(0x7fe12a3fe010, {handle=5845728}, 0x7fe129400000, {handle=5671888}, 4194304, 1, 0x633520, {handle=140622355554048}) = 0 :6651 +6503199954465456:6503199954465506 35231:35231 hsa_signal_load_relaxed({handle=140622355554176}) = 1 :6652 +6503199954465616:6503199954565702 35231:35231 hsa_signal_wait_scacquire({handle=140622355554176}, 2, 1, 100000, 1) = 1 :6653 +6503199954565792:6503199954571352 35231:35231 hsa_signal_wait_scacquire({handle=140622355554176}, 2, 1, 18446744073709551615, 0) = 0 :6654 +6503199954571513:6503199954571613 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140622355554176}, 0x7ffd04faf400) = 0 :6655 +6503199954571743:6503199954571793 35231:35231 hsa_signal_load_relaxed({handle=140622355554048}) = 1 :6656 +6503199954571883:6503199954671969 35231:35231 hsa_signal_wait_scacquire({handle=140622355554048}, 2, 1, 100000, 1) = 1 :6657 +6503199954672059:6503199956114535 35231:35231 hsa_signal_wait_scacquire({handle=140622355554048}, 2, 1, 18446744073709551615, 0) = 0 :6658 +6503199956114775:6503199956114875 35231:35231 hsa_amd_profiling_get_async_copy_time({handle=140622355554048}, 0x7ffd04faf410) = 0 :6659 +6503199956115476:6503199956115526 35231:35231 hsa_signal_load_relaxed({handle=140622355554048}) = 0 :6660 +6503199956115667:6503199956116017 35231:35231 hsa_signal_load_relaxed({handle=140627542421504}) = 0 :6661 +6503199956116128:6503199956116208 35231:35231 hsa_amd_profiling_get_dispatch_time({handle=5671888}, {handle=140627542421504}, 0x7ffd04faf540) = 0 :6662 +6503199964695470:6503199964774336 35231:35231 hsa_amd_memory_pool_free(0x7fe129a00000) = 0 :6664 +6503199964779505:6503199964803119 35231:35231 hsa_amd_memory_pool_free(0x7fe129400000) = 0 :6666 +6503198759092531 35231:35231 0:0:"before hipLaunchKernel" +6503198759094605 35231:35231 3:1:"hipLaunchKernel range" +6503198759095056 35231:35231 1:0:"hipLaunchKernel" +6503198759491070 35231:35231 0:0:"after hipLaunchKernel" +6503198759491201 35231:35231 1:0:"hipMemcpy" +6503198765026317 35231:35231 2:0:"" +6503198765026477 35231:35231 2:0:"" +6503198765026828 35231:35231 4:1:"" +6503198776031107 35231:35231 0:0:"before hipLaunchKernel" +6503198776031378 35231:35231 3:2:"hipLaunchKernel range" +6503198776031468 35231:35231 1:0:"hipLaunchKernel" +6503198776042559 35231:35231 0:0:"after hipLaunchKernel" +6503198776042649 35231:35231 1:0:"hipMemcpy" +6503198777722394 35231:35231 2:0:"" +6503198777722484 35231:35231 2:0:"" +6503198777722565 35231:35231 4:2:"" +6503198788043767 35231:35231 0:0:"before hipLaunchKernel" +6503198788043887 35231:35231 3:3:"hipLaunchKernel range" +6503198788043987 35231:35231 1:0:"hipLaunchKernel" +6503198788051211 35231:35231 0:0:"after hipLaunchKernel" +6503198788051301 35231:35231 1:0:"hipMemcpy" +6503198789733110 35231:35231 2:0:"" +6503198789733190 35231:35231 2:0:"" +6503198789733260 35231:35231 4:3:"" +6503198800251799 35231:35231 0:0:"before hipLaunchKernel" +6503198800251899 35231:35231 3:4:"hipLaunchKernel range" +6503198800251980 35231:35231 1:0:"hipLaunchKernel" +6503198800258872 35231:35231 0:0:"after hipLaunchKernel" +6503198800259033 35231:35231 1:0:"hipMemcpy" +6503198801953696 35231:35231 2:0:"" +6503198801953816 35231:35231 2:0:"" +6503198801953886 35231:35231 4:4:"" +6503198812300626 35231:35231 0:0:"before hipLaunchKernel" +6503198812300737 35231:35231 3:5:"hipLaunchKernel range" +6503198812300807 35231:35231 1:0:"hipLaunchKernel" +6503198812309403 35231:35231 0:0:"after hipLaunchKernel" +6503198812309533 35231:35231 1:0:"hipMemcpy" +6503198813982486 35231:35231 2:0:"" +6503198813982576 35231:35231 2:0:"" +6503198813982636 35231:35231 4:5:"" +6503198824294992 35231:35231 0:0:"before hipLaunchKernel" +6503198824295132 35231:35231 3:6:"hipLaunchKernel range" +6503198824295202 35231:35231 1:0:"hipLaunchKernel" +6503198824302005 35231:35231 0:0:"after hipLaunchKernel" +6503198824302165 35231:35231 1:0:"hipMemcpy" +6503198825984025 35231:35231 2:0:"" +6503198825984105 35231:35231 2:0:"" +6503198825985497 35231:35231 4:6:"" +6503198836300178 35231:35231 0:0:"before hipLaunchKernel" +6503198836300298 35231:35231 3:7:"hipLaunchKernel range" +6503198836300378 35231:35231 1:0:"hipLaunchKernel" +6503198836306901 35231:35231 0:0:"after hipLaunchKernel" +6503198836307031 35231:35231 1:0:"hipMemcpy" +6503198837981116 35231:35231 2:0:"" +6503198837981206 35231:35231 2:0:"" +6503198837981276 35231:35231 4:7:"" +6503198848318649 35231:35231 0:0:"before hipLaunchKernel" +6503198848318789 35231:35231 3:8:"hipLaunchKernel range" +6503198848318879 35231:35231 1:0:"hipLaunchKernel" +6503198848326714 35231:35231 0:0:"after hipLaunchKernel" +6503198848326824 35231:35231 1:0:"hipMemcpy" +6503198850003313 35231:35231 2:0:"" +6503198850003393 35231:35231 2:0:"" +6503198850003464 35231:35231 4:8:"" +6503198860324326 35231:35231 0:0:"before hipLaunchKernel" +6503198860324486 35231:35231 3:9:"hipLaunchKernel range" +6503198860324576 35231:35231 1:0:"hipLaunchKernel" +6503198860331309 35231:35231 0:0:"after hipLaunchKernel" +6503198860331429 35231:35231 1:0:"hipMemcpy" +6503198862003480 35231:35231 2:0:"" +6503198862003560 35231:35231 2:0:"" +6503198862003630 35231:35231 4:9:"" +6503198872272396 35231:35231 0:0:"before hipLaunchKernel" +6503198872272526 35231:35231 3:10:"hipLaunchKernel range" +6503198872272586 35231:35231 1:0:"hipLaunchKernel" +6503198872281082 35231:35231 0:0:"after hipLaunchKernel" +6503198872281172 35231:35231 1:0:"hipMemcpy" +6503198873951901 35231:35231 2:0:"" +6503198873951971 35231:35231 2:0:"" +6503198873952041 35231:35231 4:10:"" +6503198884244110 35231:35231 0:0:"before hipLaunchKernel" +6503198884244220 35231:35231 3:11:"hipLaunchKernel range" +6503198884244300 35231:35231 1:0:"hipLaunchKernel" +6503198884249880 35231:35231 0:0:"after hipLaunchKernel" +6503198884249950 35231:35231 1:0:"hipMemcpy" +6503198885919527 35231:35231 2:0:"" +6503198885919617 35231:35231 2:0:"" +6503198885919677 35231:35231 4:11:"" +6503198896202108 35231:35231 0:0:"before hipLaunchKernel" +6503198896202218 35231:35231 3:12:"hipLaunchKernel range" +6503198896202289 35231:35231 1:0:"hipLaunchKernel" +6503198896209121 35231:35231 0:0:"after hipLaunchKernel" +6503198896209191 35231:35231 1:0:"hipMemcpy" +6503198897888616 35231:35231 2:0:"" +6503198897888696 35231:35231 2:0:"" +6503198897888766 35231:35231 4:12:"" +6503198908191715 35231:35231 0:0:"before hipLaunchKernel" +6503198908191835 35231:35231 3:13:"hipLaunchKernel range" +6503198908191905 35231:35231 1:0:"hipLaunchKernel" +6503198908197385 35231:35231 0:0:"after hipLaunchKernel" +6503198908197476 35231:35231 1:0:"hipMemcpy" +6503198909973660 35231:35231 2:0:"" +6503198909973750 35231:35231 2:0:"" +6503198909973830 35231:35231 4:13:"" +6503198920476450 35231:35231 0:0:"before hipLaunchKernel" +6503198920476560 35231:35231 3:14:"hipLaunchKernel range" +6503198920476630 35231:35231 1:0:"hipLaunchKernel" +6503198920483192 35231:35231 0:0:"after hipLaunchKernel" +6503198920483282 35231:35231 1:0:"hipMemcpy" +6503198922279965 35231:35231 2:0:"" +6503198922280035 35231:35231 2:0:"" +6503198922280095 35231:35231 4:14:"" +6503198932796440 35231:35231 0:0:"before hipLaunchKernel" +6503198932796560 35231:35231 3:15:"hipLaunchKernel range" +6503198932796640 35231:35231 1:0:"hipLaunchKernel" +6503198932806428 35231:35231 0:0:"after hipLaunchKernel" +6503198932806508 35231:35231 1:0:"hipMemcpy" +6503198934556734 35231:35231 2:0:"" +6503198934556824 35231:35231 2:0:"" +6503198934556895 35231:35231 4:15:"" +6503198945071696 35231:35231 0:0:"before hipLaunchKernel" +6503198945071826 35231:35231 3:16:"hipLaunchKernel range" +6503198945071896 35231:35231 1:0:"hipLaunchKernel" +6503198945079020 35231:35231 0:0:"after hipLaunchKernel" +6503198945079110 35231:35231 1:0:"hipMemcpy" +6503198946835297 35231:35231 2:0:"" +6503198946835407 35231:35231 2:0:"" +6503198946835467 35231:35231 4:16:"" +6503198957771901 35231:35231 0:0:"before hipLaunchKernel" +6503198957772052 35231:35231 3:17:"hipLaunchKernel range" +6503198957772132 35231:35231 1:0:"hipLaunchKernel" +6503198957781679 35231:35231 0:0:"after hipLaunchKernel" +6503198957781780 35231:35231 1:0:"hipMemcpy" +6503198959488876 35231:35231 2:0:"" +6503198959488946 35231:35231 2:0:"" +6503198959489016 35231:35231 4:17:"" +6503198969883936 35231:35231 0:0:"before hipLaunchKernel" +6503198969884106 35231:35231 3:18:"hipLaunchKernel range" +6503198969884186 35231:35231 1:0:"hipLaunchKernel" +6503198969890908 35231:35231 0:0:"after hipLaunchKernel" +6503198969891900 35231:35231 1:0:"hipMemcpy" +6503198971593877 35231:35231 2:0:"" +6503198971593967 35231:35231 2:0:"" +6503198971594067 35231:35231 4:18:"" +6503198982006319 35231:35231 0:0:"before hipLaunchKernel" +6503198982006439 35231:35231 3:19:"hipLaunchKernel range" +6503198982006509 35231:35231 1:0:"hipLaunchKernel" +6503198982015927 35231:35231 0:0:"after hipLaunchKernel" +6503198982016017 35231:35231 1:0:"hipMemcpy" +6503198983684902 35231:35231 2:0:"" +6503198983685002 35231:35231 2:0:"" +6503198983685062 35231:35231 4:19:"" +6503198994033195 35231:35231 0:0:"before hipLaunchKernel" +6503198994033285 35231:35231 3:20:"hipLaunchKernel range" +6503198994033355 35231:35231 1:0:"hipLaunchKernel" +6503198994038835 35231:35231 0:0:"after hipLaunchKernel" +6503198994038896 35231:35231 1:0:"hipMemcpy" +6503198995707520 35231:35231 2:0:"" +6503198995707611 35231:35231 2:0:"" +6503198995707671 35231:35231 4:20:"" +6503199006053068 35231:35231 0:0:"before hipLaunchKernel" +6503199006053198 35231:35231 3:21:"hipLaunchKernel range" +6503199006053259 35231:35231 1:0:"hipLaunchKernel" +6503199006059029 35231:35231 0:0:"after hipLaunchKernel" +6503199006059129 35231:35231 1:0:"hipMemcpy" +6503199007729788 35231:35231 2:0:"" +6503199007729888 35231:35231 2:0:"" +6503199007729968 35231:35231 4:21:"" +6503199018074895 35231:35231 0:0:"before hipLaunchKernel" +6503199018075005 35231:35231 3:22:"hipLaunchKernel range" +6503199018075076 35231:35231 1:0:"hipLaunchKernel" +6503199018082008 35231:35231 0:0:"after hipLaunchKernel" +6503199018082099 35231:35231 1:0:"hipMemcpy" +6503199019751214 35231:35231 2:0:"" +6503199019751314 35231:35231 2:0:"" +6503199019751374 35231:35231 4:22:"" +6503199030096622 35231:35231 0:0:"before hipLaunchKernel" +6503199030096742 35231:35231 3:23:"hipLaunchKernel range" +6503199030096822 35231:35231 1:0:"hipLaunchKernel" +6503199030104236 35231:35231 0:0:"after hipLaunchKernel" +6503199030104326 35231:35231 1:0:"hipMemcpy" +6503199031771538 35231:35231 2:0:"" +6503199031771638 35231:35231 2:0:"" +6503199031771699 35231:35231 4:23:"" +6503199042108911 35231:35231 0:0:"before hipLaunchKernel" +6503199042109051 35231:35231 3:24:"hipLaunchKernel range" +6503199042109121 35231:35231 1:0:"hipLaunchKernel" +6503199042119962 35231:35231 0:0:"after hipLaunchKernel" +6503199042120062 35231:35231 1:0:"hipMemcpy" +6503199043789368 35231:35231 2:0:"" +6503199043789458 35231:35231 2:0:"" +6503199043789518 35231:35231 4:24:"" +6503199054127812 35231:35231 0:0:"before hipLaunchKernel" +6503199054127933 35231:35231 3:25:"hipLaunchKernel range" +6503199054128003 35231:35231 1:0:"hipLaunchKernel" +6503199054135056 35231:35231 0:0:"after hipLaunchKernel" +6503199054135146 35231:35231 1:0:"hipMemcpy" +6503199055805644 35231:35231 2:0:"" +6503199055805714 35231:35231 2:0:"" +6503199055805774 35231:35231 4:25:"" +6503199066162162 35231:35231 0:0:"before hipLaunchKernel" +6503199066162303 35231:35231 3:26:"hipLaunchKernel range" +6503199066162373 35231:35231 1:0:"hipLaunchKernel" +6503199066170969 35231:35231 0:0:"after hipLaunchKernel" +6503199066171059 35231:35231 1:0:"hipMemcpy" +6503199067839884 35231:35231 2:0:"" +6503199067839964 35231:35231 2:0:"" +6503199067840044 35231:35231 4:26:"" +6503199078165114 35231:35231 0:0:"before hipLaunchKernel" +6503199078165285 35231:35231 3:27:"hipLaunchKernel range" +6503199078165365 35231:35231 1:0:"hipLaunchKernel" +6503199078172829 35231:35231 0:0:"after hipLaunchKernel" +6503199078172919 35231:35231 1:0:"hipMemcpy" +6503199079843928 35231:35231 2:0:"" +6503199079844018 35231:35231 2:0:"" +6503199079844088 35231:35231 4:27:"" +6503199090165642 35231:35231 0:0:"before hipLaunchKernel" +6503199090165762 35231:35231 3:28:"hipLaunchKernel range" +6503199090165832 35231:35231 1:0:"hipLaunchKernel" +6503199090172865 35231:35231 0:0:"after hipLaunchKernel" +6503199090172935 35231:35231 1:0:"hipMemcpy" +6503199091845006 35231:35231 2:0:"" +6503199091845096 35231:35231 2:0:"" +6503199091845166 35231:35231 4:28:"" +6503199102191256 35231:35231 0:0:"before hipLaunchKernel" +6503199102191366 35231:35231 3:29:"hipLaunchKernel range" +6503199102191436 35231:35231 1:0:"hipLaunchKernel" +6503199102197828 35231:35231 0:0:"after hipLaunchKernel" +6503199102197928 35231:35231 1:0:"hipMemcpy" +6503199103865701 35231:35231 2:0:"" +6503199103865781 35231:35231 2:0:"" +6503199103865841 35231:35231 4:29:"" +6503199114221207 35231:35231 0:0:"before hipLaunchKernel" +6503199114222460 35231:35231 3:30:"hipLaunchKernel range" +6503199114222530 35231:35231 1:0:"hipLaunchKernel" +6503199114228661 35231:35231 0:0:"after hipLaunchKernel" +6503199114228761 35231:35231 1:0:"hipMemcpy" +6503199115903878 35231:35231 2:0:"" +6503199115903979 35231:35231 2:0:"" +6503199115904049 35231:35231 4:30:"" +6503199126219400 35231:35231 0:0:"before hipLaunchKernel" +6503199126219531 35231:35231 3:31:"hipLaunchKernel range" +6503199126219601 35231:35231 1:0:"hipLaunchKernel" +6503199126227656 35231:35231 0:0:"after hipLaunchKernel" +6503199126227756 35231:35231 1:0:"hipMemcpy" +6503199127897753 35231:35231 2:0:"" +6503199127897833 35231:35231 2:0:"" +6503199127897903 35231:35231 4:31:"" +6503199138216281 35231:35231 0:0:"before hipLaunchKernel" +6503199138216421 35231:35231 3:32:"hipLaunchKernel range" +6503199138216492 35231:35231 1:0:"hipLaunchKernel" +6503199138225178 35231:35231 0:0:"after hipLaunchKernel" +6503199138225268 35231:35231 1:0:"hipMemcpy" +6503199139891738 35231:35231 2:0:"" +6503199139891809 35231:35231 2:0:"" +6503199139891869 35231:35231 4:32:"" +6503199150210857 35231:35231 0:0:"before hipLaunchKernel" +6503199150210987 35231:35231 3:33:"hipLaunchKernel range" +6503199150211068 35231:35231 1:0:"hipLaunchKernel" +6503199150219503 35231:35231 0:0:"after hipLaunchKernel" +6503199150219593 35231:35231 1:0:"hipMemcpy" +6503199151887808 35231:35231 2:0:"" +6503199151887878 35231:35231 2:0:"" +6503199151887938 35231:35231 4:33:"" +6503199162210353 35231:35231 0:0:"before hipLaunchKernel" +6503199162210493 35231:35231 3:34:"hipLaunchKernel range" +6503199162210563 35231:35231 1:0:"hipLaunchKernel" +6503199162217135 35231:35231 0:0:"after hipLaunchKernel" +6503199162217206 35231:35231 1:0:"hipMemcpy" +6503199163885861 35231:35231 2:0:"" +6503199163885931 35231:35231 2:0:"" +6503199163886001 35231:35231 4:34:"" +6503199174303472 35231:35231 0:0:"before hipLaunchKernel" +6503199174303602 35231:35231 3:35:"hipLaunchKernel range" +6503199174303692 35231:35231 1:0:"hipLaunchKernel" +6503199174312499 35231:35231 0:0:"after hipLaunchKernel" +6503199174312589 35231:35231 1:0:"hipMemcpy" +6503199175982205 35231:35231 2:0:"" +6503199175982285 35231:35231 2:0:"" +6503199175982356 35231:35231 4:35:"" +6503199185200312 35231:35231 0:0:"before hipLaunchKernel" +6503199185200492 35231:35231 3:36:"hipLaunchKernel range" +6503199185200562 35231:35231 1:0:"hipLaunchKernel" +6503199185208467 35231:35231 0:0:"after hipLaunchKernel" +6503199185208577 35231:35231 1:0:"hipMemcpy" +6503199186876351 35231:35231 2:0:"" +6503199186876431 35231:35231 2:0:"" +6503199186876501 35231:35231 4:36:"" +6503199197165263 35231:35231 0:0:"before hipLaunchKernel" +6503199197165384 35231:35231 3:37:"hipLaunchKernel range" +6503199197165454 35231:35231 1:0:"hipLaunchKernel" +6503199197171896 35231:35231 0:0:"after hipLaunchKernel" +6503199197171986 35231:35231 1:0:"hipMemcpy" +6503199198840721 35231:35231 2:0:"" +6503199198840801 35231:35231 2:0:"" +6503199198840861 35231:35231 4:37:"" +6503199209118623 35231:35231 0:0:"before hipLaunchKernel" +6503199209118774 35231:35231 3:38:"hipLaunchKernel range" +6503199209118854 35231:35231 1:0:"hipLaunchKernel" +6503199209124825 35231:35231 0:0:"after hipLaunchKernel" +6503199209124915 35231:35231 1:0:"hipMemcpy" +6503199210794522 35231:35231 2:0:"" +6503199210794602 35231:35231 2:0:"" +6503199210794662 35231:35231 4:38:"" +6503199221092631 35231:35231 0:0:"before hipLaunchKernel" +6503199221092761 35231:35231 3:39:"hipLaunchKernel range" +6503199221092822 35231:35231 1:0:"hipLaunchKernel" +6503199221098352 35231:35231 0:0:"after hipLaunchKernel" +6503199221098422 35231:35231 1:0:"hipMemcpy" +6503199222769832 35231:35231 2:0:"" +6503199222769912 35231:35231 2:0:"" +6503199222770002 35231:35231 4:39:"" +6503199233092898 35231:35231 0:0:"before hipLaunchKernel" +6503199233093039 35231:35231 3:40:"hipLaunchKernel range" +6503199233093109 35231:35231 1:0:"hipLaunchKernel" +6503199233100993 35231:35231 0:0:"after hipLaunchKernel" +6503199233101083 35231:35231 1:0:"hipMemcpy" +6503199234773055 35231:35231 2:0:"" +6503199234773155 35231:35231 2:0:"" +6503199234773225 35231:35231 4:40:"" +6503199245123411 35231:35231 0:0:"before hipLaunchKernel" +6503199245123522 35231:35231 3:41:"hipLaunchKernel range" +6503199245123592 35231:35231 1:0:"hipLaunchKernel" +6503199245130094 35231:35231 0:0:"after hipLaunchKernel" +6503199245130164 35231:35231 1:0:"hipMemcpy" +6503199246797967 35231:35231 2:0:"" +6503199246798909 35231:35231 2:0:"" +6503199246798999 35231:35231 4:41:"" +6503199257146080 35231:35231 0:0:"before hipLaunchKernel" +6503199257146240 35231:35231 3:42:"hipLaunchKernel range" +6503199257146320 35231:35231 1:0:"hipLaunchKernel" +6503199257155177 35231:35231 0:0:"after hipLaunchKernel" +6503199257155257 35231:35231 1:0:"hipMemcpy" +6503199258823812 35231:35231 2:0:"" +6503199258823892 35231:35231 2:0:"" +6503199258823952 35231:35231 4:42:"" +6503199269129425 35231:35231 0:0:"before hipLaunchKernel" +6503199269129575 35231:35231 3:43:"hipLaunchKernel range" +6503199269129655 35231:35231 1:0:"hipLaunchKernel" +6503199269136899 35231:35231 0:0:"after hipLaunchKernel" +6503199269136969 35231:35231 1:0:"hipMemcpy" +6503199270805744 35231:35231 2:0:"" +6503199270805814 35231:35231 2:0:"" +6503199270805885 35231:35231 4:43:"" +6503199281105377 35231:35231 0:0:"before hipLaunchKernel" +6503199281105507 35231:35231 3:44:"hipLaunchKernel range" +6503199281105577 35231:35231 1:0:"hipLaunchKernel" +6503199281112039 35231:35231 0:0:"after hipLaunchKernel" +6503199281112130 35231:35231 1:0:"hipMemcpy" +6503199282780774 35231:35231 2:0:"" +6503199282780855 35231:35231 2:0:"" +6503199282780915 35231:35231 4:44:"" +6503199293086018 35231:35231 0:0:"before hipLaunchKernel" +6503199293086158 35231:35231 3:45:"hipLaunchKernel range" +6503199293086228 35231:35231 1:0:"hipLaunchKernel" +6503199293095245 35231:35231 0:0:"after hipLaunchKernel" +6503199293095345 35231:35231 1:0:"hipMemcpy" +6503199294765663 35231:35231 2:0:"" +6503199294765743 35231:35231 2:0:"" +6503199294765803 35231:35231 4:45:"" +6503199305080553 35231:35231 0:0:"before hipLaunchKernel" +6503199305080674 35231:35231 3:46:"hipLaunchKernel range" +6503199305080744 35231:35231 1:0:"hipLaunchKernel" +6503199305088618 35231:35231 0:0:"after hipLaunchKernel" +6503199305088709 35231:35231 1:0:"hipMemcpy" +6503199306758165 35231:35231 2:0:"" +6503199306758245 35231:35231 2:0:"" +6503199306758305 35231:35231 4:46:"" +6503199317061675 35231:35231 0:0:"before hipLaunchKernel" +6503199317061795 35231:35231 3:47:"hipLaunchKernel range" +6503199317061875 35231:35231 1:0:"hipLaunchKernel" +6503199317068387 35231:35231 0:0:"after hipLaunchKernel" +6503199317068478 35231:35231 1:0:"hipMemcpy" +6503199318736421 35231:35231 2:0:"" +6503199318736501 35231:35231 2:0:"" +6503199318736551 35231:35231 4:47:"" +6503199329026035 35231:35231 0:0:"before hipLaunchKernel" +6503199329026186 35231:35231 3:48:"hipLaunchKernel range" +6503199329026246 35231:35231 1:0:"hipLaunchKernel" +6503199329031746 35231:35231 0:0:"after hipLaunchKernel" +6503199329031826 35231:35231 1:0:"hipMemcpy" +6503199330711992 35231:35231 2:0:"" +6503199330712082 35231:35231 2:0:"" +6503199330712163 35231:35231 4:48:"" +6503199341518996 35231:35231 0:0:"before hipLaunchKernel" +6503199341519126 35231:35231 3:49:"hipLaunchKernel range" +6503199341519196 35231:35231 1:0:"hipLaunchKernel" +6503199341526409 35231:35231 0:0:"after hipLaunchKernel" +6503199341526480 35231:35231 1:0:"hipMemcpy" +6503199343199773 35231:35231 2:0:"" +6503199343199863 35231:35231 2:0:"" +6503199343199923 35231:35231 4:49:"" +6503199353494186 35231:35231 0:0:"before hipLaunchKernel" +6503199353494326 35231:35231 3:50:"hipLaunchKernel range" +6503199353494407 35231:35231 1:0:"hipLaunchKernel" +6503199353501089 35231:35231 0:0:"after hipLaunchKernel" +6503199353501149 35231:35231 1:0:"hipMemcpy" +6503199355169494 35231:35231 2:0:"" +6503199355169574 35231:35231 2:0:"" +6503199355169634 35231:35231 4:50:"" +6503199365463095 35231:35231 0:0:"before hipLaunchKernel" +6503199365463225 35231:35231 3:51:"hipLaunchKernel range" +6503199365463285 35231:35231 1:0:"hipLaunchKernel" +6503199365471430 35231:35231 0:0:"after hipLaunchKernel" +6503199365471511 35231:35231 1:0:"hipMemcpy" +6503199367140396 35231:35231 2:0:"" +6503199367140466 35231:35231 2:0:"" +6503199367140526 35231:35231 4:51:"" +6503199377456289 35231:35231 0:0:"before hipLaunchKernel" +6503199377456439 35231:35231 3:52:"hipLaunchKernel range" +6503199377456509 35231:35231 1:0:"hipLaunchKernel" +6503199377463001 35231:35231 0:0:"after hipLaunchKernel" +6503199377463082 35231:35231 1:0:"hipMemcpy" +6503199379139731 35231:35231 2:0:"" +6503199379139821 35231:35231 2:0:"" +6503199379139881 35231:35231 4:52:"" +6503199389429716 35231:35231 0:0:"before hipLaunchKernel" +6503199389429866 35231:35231 3:53:"hipLaunchKernel range" +6503199389429936 35231:35231 1:0:"hipLaunchKernel" +6503199389437881 35231:35231 0:0:"after hipLaunchKernel" +6503199389437981 35231:35231 1:0:"hipMemcpy" +6503199391108540 35231:35231 2:0:"" +6503199391108610 35231:35231 2:0:"" +6503199391108670 35231:35231 4:53:"" +6503199401398554 35231:35231 0:0:"before hipLaunchKernel" +6503199401398685 35231:35231 3:54:"hipLaunchKernel range" +6503199401398755 35231:35231 1:0:"hipLaunchKernel" +6503199401406940 35231:35231 0:0:"after hipLaunchKernel" +6503199401407030 35231:35231 1:0:"hipMemcpy" +6503199403079392 35231:35231 2:0:"" +6503199403079472 35231:35231 2:0:"" +6503199403079532 35231:35231 4:54:"" +6503199413375278 35231:35231 0:0:"before hipLaunchKernel" +6503199413375388 35231:35231 3:55:"hipLaunchKernel range" +6503199413375468 35231:35231 1:0:"hipLaunchKernel" +6503199413380878 35231:35231 0:0:"after hipLaunchKernel" +6503199413380958 35231:35231 1:0:"hipMemcpy" +6503199415049613 35231:35231 2:0:"" +6503199415049703 35231:35231 2:0:"" +6503199415049763 35231:35231 4:55:"" +6503199425372158 35231:35231 0:0:"before hipLaunchKernel" +6503199425372288 35231:35231 3:56:"hipLaunchKernel range" +6503199425372358 35231:35231 1:0:"hipLaunchKernel" +6503199425378981 35231:35231 0:0:"after hipLaunchKernel" +6503199425379051 35231:35231 1:0:"hipMemcpy" +6503199427051964 35231:35231 2:0:"" +6503199427052054 35231:35231 2:0:"" +6503199427052104 35231:35231 4:56:"" +6503199437360313 35231:35231 0:0:"before hipLaunchKernel" +6503199437360423 35231:35231 3:57:"hipLaunchKernel range" +6503199437360483 35231:35231 1:0:"hipLaunchKernel" +6503199437366163 35231:35231 0:0:"after hipLaunchKernel" +6503199437366234 35231:35231 1:0:"hipMemcpy" +6503199439039918 35231:35231 2:0:"" +6503199439040008 35231:35231 2:0:"" +6503199439040068 35231:35231 4:57:"" +6503199449350912 35231:35231 0:0:"before hipLaunchKernel" +6503199449351022 35231:35231 3:58:"hipLaunchKernel range" +6503199449351102 35231:35231 1:0:"hipLaunchKernel" +6503199449357764 35231:35231 0:0:"after hipLaunchKernel" +6503199449357834 35231:35231 1:0:"hipMemcpy" +6503199451030436 35231:35231 2:0:"" +6503199451030517 35231:35231 2:0:"" +6503199451030577 35231:35231 4:58:"" +6503199461360586 35231:35231 0:0:"before hipLaunchKernel" +6503199461360686 35231:35231 3:59:"hipLaunchKernel range" +6503199461361988 35231:35231 1:0:"hipLaunchKernel" +6503199461368490 35231:35231 0:0:"after hipLaunchKernel" +6503199461368560 35231:35231 1:0:"hipMemcpy" +6503199463037085 35231:35231 2:0:"" +6503199463037175 35231:35231 2:0:"" +6503199463037255 35231:35231 4:59:"" +6503199473320508 35231:35231 0:0:"before hipLaunchKernel" +6503199473320618 35231:35231 3:60:"hipLaunchKernel range" +6503199473320678 35231:35231 1:0:"hipLaunchKernel" +6503199473326930 35231:35231 0:0:"after hipLaunchKernel" +6503199473327000 35231:35231 1:0:"hipMemcpy" +6503199474997358 35231:35231 2:0:"" +6503199474997428 35231:35231 2:0:"" +6503199474997488 35231:35231 4:60:"" +6503199485829438 35231:35231 0:0:"before hipLaunchKernel" +6503199485829528 35231:35231 3:61:"hipLaunchKernel range" +6503199485829598 35231:35231 1:0:"hipLaunchKernel" +6503199485837483 35231:35231 0:0:"after hipLaunchKernel" +6503199485837563 35231:35231 1:0:"hipMemcpy" +6503199487505677 35231:35231 2:0:"" +6503199487505757 35231:35231 2:0:"" +6503199487505817 35231:35231 4:61:"" +6503199497797175 35231:35231 0:0:"before hipLaunchKernel" +6503199497797315 35231:35231 3:62:"hipLaunchKernel range" +6503199497797385 35231:35231 1:0:"hipLaunchKernel" +6503199497803777 35231:35231 0:0:"after hipLaunchKernel" +6503199497803857 35231:35231 1:0:"hipMemcpy" +6503199499473494 35231:35231 2:0:"" +6503199499473574 35231:35231 2:0:"" +6503199499473634 35231:35231 4:62:"" +6503199509779528 35231:35231 0:0:"before hipLaunchKernel" +6503199509779648 35231:35231 3:63:"hipLaunchKernel range" +6503199509779729 35231:35231 1:0:"hipLaunchKernel" +6503199509789998 35231:35231 0:0:"after hipLaunchKernel" +6503199509790068 35231:35231 1:0:"hipMemcpy" +6503199511458973 35231:35231 2:0:"" +6503199511459083 35231:35231 2:0:"" +6503199511459143 35231:35231 4:63:"" +6503199521777952 35231:35231 0:0:"before hipLaunchKernel" +6503199521778062 35231:35231 3:64:"hipLaunchKernel range" +6503199521778142 35231:35231 1:0:"hipLaunchKernel" +6503199521784684 35231:35231 0:0:"after hipLaunchKernel" +6503199521784784 35231:35231 1:0:"hipMemcpy" +6503199523455012 35231:35231 2:0:"" +6503199523455092 35231:35231 2:0:"" +6503199523455153 35231:35231 4:64:"" +6503199533717566 35231:35231 0:0:"before hipLaunchKernel" +6503199533717706 35231:35231 3:65:"hipLaunchKernel range" +6503199533717767 35231:35231 1:0:"hipLaunchKernel" +6503199533726082 35231:35231 0:0:"after hipLaunchKernel" +6503199533726182 35231:35231 1:0:"hipMemcpy" +6503199535396400 35231:35231 2:0:"" +6503199535396480 35231:35231 2:0:"" +6503199535396540 35231:35231 4:65:"" +6503199545671306 35231:35231 0:0:"before hipLaunchKernel" +6503199545671457 35231:35231 3:66:"hipLaunchKernel range" +6503199545671527 35231:35231 1:0:"hipLaunchKernel" +6503199545677358 35231:35231 0:0:"after hipLaunchKernel" +6503199545677448 35231:35231 1:0:"hipMemcpy" +6503199547344780 35231:35231 2:0:"" +6503199547344871 35231:35231 2:0:"" +6503199547344931 35231:35231 4:66:"" +6503199557618215 35231:35231 0:0:"before hipLaunchKernel" +6503199557618335 35231:35231 3:67:"hipLaunchKernel range" +6503199557618405 35231:35231 1:0:"hipLaunchKernel" +6503199557625228 35231:35231 0:0:"after hipLaunchKernel" +6503199557625298 35231:35231 1:0:"hipMemcpy" +6503199559297319 35231:35231 2:0:"" +6503199559297399 35231:35231 2:0:"" +6503199559297459 35231:35231 4:67:"" +6503199569607311 35231:35231 0:0:"before hipLaunchKernel" +6503199569607441 35231:35231 3:68:"hipLaunchKernel range" +6503199569607511 35231:35231 1:0:"hipLaunchKernel" +6503199569616368 35231:35231 0:0:"after hipLaunchKernel" +6503199569616448 35231:35231 1:0:"hipMemcpy" +6503199571285102 35231:35231 2:0:"" +6503199571285193 35231:35231 2:0:"" +6503199571285263 35231:35231 4:68:"" +6503199581587470 35231:35231 0:0:"before hipLaunchKernel" +6503199581587610 35231:35231 3:69:"hipLaunchKernel range" +6503199581587690 35231:35231 1:0:"hipLaunchKernel" +6503199581596306 35231:35231 0:0:"after hipLaunchKernel" +6503199581596397 35231:35231 1:0:"hipMemcpy" +6503199583268989 35231:35231 2:0:"" +6503199583269069 35231:35231 2:0:"" +6503199583269129 35231:35231 4:69:"" +6503199593572178 35231:35231 0:0:"before hipLaunchKernel" +6503199593572288 35231:35231 3:70:"hipLaunchKernel range" +6503199593572359 35231:35231 1:0:"hipLaunchKernel" +6503199593580153 35231:35231 0:0:"after hipLaunchKernel" +6503199593580233 35231:35231 1:0:"hipMemcpy" +6503199595247876 35231:35231 2:0:"" +6503199595247966 35231:35231 2:0:"" +6503199595248878 35231:35231 4:70:"" +6503199605570291 35231:35231 0:0:"before hipLaunchKernel" +6503199605570441 35231:35231 3:71:"hipLaunchKernel range" +6503199605570512 35231:35231 1:0:"hipLaunchKernel" +6503199605576984 35231:35231 0:0:"after hipLaunchKernel" +6503199605577054 35231:35231 1:0:"hipMemcpy" +6503199607246299 35231:35231 2:0:"" +6503199607246380 35231:35231 2:0:"" +6503199607246440 35231:35231 4:71:"" +6503199618101833 35231:35231 0:0:"before hipLaunchKernel" +6503199618101954 35231:35231 3:72:"hipLaunchKernel range" +6503199618102034 35231:35231 1:0:"hipLaunchKernel" +6503199618108646 35231:35231 0:0:"after hipLaunchKernel" +6503199618108726 35231:35231 1:0:"hipMemcpy" +6503199619780747 35231:35231 2:0:"" +6503199619780817 35231:35231 2:0:"" +6503199619780877 35231:35231 4:72:"" +6503199630071584 35231:35231 0:0:"before hipLaunchKernel" +6503199630071704 35231:35231 3:73:"hipLaunchKernel range" +6503199630071764 35231:35231 1:0:"hipLaunchKernel" +6503199630077565 35231:35231 0:0:"after hipLaunchKernel" +6503199630077665 35231:35231 1:0:"hipMemcpy" +6503199631745769 35231:35231 2:0:"" +6503199631745859 35231:35231 2:0:"" +6503199631745919 35231:35231 4:73:"" +6503199642031927 35231:35231 0:0:"before hipLaunchKernel" +6503199642032067 35231:35231 3:74:"hipLaunchKernel range" +6503199642032127 35231:35231 1:0:"hipLaunchKernel" +6503199642037327 35231:35231 0:0:"after hipLaunchKernel" +6503199642037387 35231:35231 1:0:"hipMemcpy" +6503199643708226 35231:35231 2:0:"" +6503199643708326 35231:35231 2:0:"" +6503199643708396 35231:35231 4:74:"" +6503199654007578 35231:35231 0:0:"before hipLaunchKernel" +6503199654007718 35231:35231 3:75:"hipLaunchKernel range" +6503199654007808 35231:35231 1:0:"hipLaunchKernel" +6503199654015192 35231:35231 0:0:"after hipLaunchKernel" +6503199654015262 35231:35231 1:0:"hipMemcpy" +6503199655685129 35231:35231 2:0:"" +6503199655685199 35231:35231 2:0:"" +6503199655685269 35231:35231 4:75:"" +6503199665986435 35231:35231 0:0:"before hipLaunchKernel" +6503199665986555 35231:35231 3:76:"hipLaunchKernel range" +6503199665986625 35231:35231 1:0:"hipLaunchKernel" +6503199665993418 35231:35231 0:0:"after hipLaunchKernel" +6503199665993508 35231:35231 1:0:"hipMemcpy" +6503199667663716 35231:35231 2:0:"" +6503199667663806 35231:35231 2:0:"" +6503199667663856 35231:35231 4:76:"" +6503199677942169 35231:35231 0:0:"before hipLaunchKernel" +6503199677942289 35231:35231 3:77:"hipLaunchKernel range" +6503199677942379 35231:35231 1:0:"hipLaunchKernel" +6503199677950655 35231:35231 0:0:"after hipLaunchKernel" +6503199677950725 35231:35231 1:0:"hipMemcpy" +6503199679617296 35231:35231 2:0:"" +6503199679617376 35231:35231 2:0:"" +6503199679617436 35231:35231 4:77:"" +6503199689933159 35231:35231 0:0:"before hipLaunchKernel" +6503199689933279 35231:35231 3:78:"hipLaunchKernel range" +6503199689933359 35231:35231 1:0:"hipLaunchKernel" +6503199689940292 35231:35231 0:0:"after hipLaunchKernel" +6503199689940382 35231:35231 1:0:"hipMemcpy" +6503199691609588 35231:35231 2:0:"" +6503199691609658 35231:35231 2:0:"" +6503199691609718 35231:35231 4:78:"" +6503199701881239 35231:35231 0:0:"before hipLaunchKernel" +6503199701881369 35231:35231 3:79:"hipLaunchKernel range" +6503199701881449 35231:35231 1:0:"hipLaunchKernel" +6503199701891508 35231:35231 0:0:"after hipLaunchKernel" +6503199701891598 35231:35231 1:0:"hipMemcpy" +6503199703561104 35231:35231 2:0:"" +6503199703561204 35231:35231 2:0:"" +6503199703561265 35231:35231 4:79:"" +6503199713892927 35231:35231 0:0:"before hipLaunchKernel" +6503199713893077 35231:35231 3:80:"hipLaunchKernel range" +6503199713893157 35231:35231 1:0:"hipLaunchKernel" +6503199713900250 35231:35231 0:0:"after hipLaunchKernel" +6503199713900341 35231:35231 1:0:"hipMemcpy" +6503199715573253 35231:35231 2:0:"" +6503199715573334 35231:35231 2:0:"" +6503199715573394 35231:35231 4:80:"" +6503199725873297 35231:35231 0:0:"before hipLaunchKernel" +6503199725873427 35231:35231 3:81:"hipLaunchKernel range" +6503199725873497 35231:35231 1:0:"hipLaunchKernel" +6503199725880099 35231:35231 0:0:"after hipLaunchKernel" +6503199725880190 35231:35231 1:0:"hipMemcpy" +6503199727549415 35231:35231 2:0:"" +6503199727549505 35231:35231 2:0:"" +6503199727549566 35231:35231 4:81:"" +6503199737842576 35231:35231 0:0:"before hipLaunchKernel" +6503199737842707 35231:35231 3:82:"hipLaunchKernel range" +6503199737842787 35231:35231 1:0:"hipLaunchKernel" +6503199737848277 35231:35231 0:0:"after hipLaunchKernel" +6503199737849679 35231:35231 1:0:"hipMemcpy" +6503199739516851 35231:35231 2:0:"" +6503199739516932 35231:35231 2:0:"" +6503199739516992 35231:35231 4:82:"" +6503199749829198 35231:35231 0:0:"before hipLaunchKernel" +6503199749829318 35231:35231 3:83:"hipLaunchKernel range" +6503199749829378 35231:35231 1:0:"hipLaunchKernel" +6503199749835159 35231:35231 0:0:"after hipLaunchKernel" +6503199749835259 35231:35231 1:0:"hipMemcpy" +6503199751504295 35231:35231 2:0:"" +6503199751504405 35231:35231 2:0:"" +6503199751504465 35231:35231 4:83:"" +6503199762326186 35231:35231 0:0:"before hipLaunchKernel" +6503199762326306 35231:35231 3:84:"hipLaunchKernel range" +6503199762326386 35231:35231 1:0:"hipLaunchKernel" +6503199762333640 35231:35231 0:0:"after hipLaunchKernel" +6503199762333730 35231:35231 1:0:"hipMemcpy" +6503199764005981 35231:35231 2:0:"" +6503199764006071 35231:35231 2:0:"" +6503199764006151 35231:35231 4:84:"" +6503199774306756 35231:35231 0:0:"before hipLaunchKernel" +6503199774306866 35231:35231 3:85:"hipLaunchKernel range" +6503199774306937 35231:35231 1:0:"hipLaunchKernel" +6503199774313389 35231:35231 0:0:"after hipLaunchKernel" +6503199774313469 35231:35231 1:0:"hipMemcpy" +6503199775986121 35231:35231 2:0:"" +6503199775986201 35231:35231 2:0:"" +6503199775986261 35231:35231 4:85:"" +6503199786305690 35231:35231 0:0:"before hipLaunchKernel" +6503199786305821 35231:35231 3:86:"hipLaunchKernel range" +6503199786305891 35231:35231 1:0:"hipLaunchKernel" +6503199786313134 35231:35231 0:0:"after hipLaunchKernel" +6503199786313224 35231:35231 1:0:"hipMemcpy" +6503199787987790 35231:35231 2:0:"" +6503199787987860 35231:35231 2:0:"" +6503199787987921 35231:35231 4:86:"" +6503199798413317 35231:35231 0:0:"before hipLaunchKernel" +6503199798413447 35231:35231 3:87:"hipLaunchKernel range" +6503199798413527 35231:35231 1:0:"hipLaunchKernel" +6503199798420760 35231:35231 0:0:"after hipLaunchKernel" +6503199798420831 35231:35231 1:0:"hipMemcpy" +6503199800114171 35231:35231 2:0:"" +6503199800114261 35231:35231 2:0:"" +6503199800114332 35231:35231 4:87:"" +6503199810469046 35231:35231 0:0:"before hipLaunchKernel" +6503199810469187 35231:35231 3:88:"hipLaunchKernel range" +6503199810469267 35231:35231 1:0:"hipLaunchKernel" +6503199810479726 35231:35231 0:0:"after hipLaunchKernel" +6503199810479806 35231:35231 1:0:"hipMemcpy" +6503199812156205 35231:35231 2:0:"" +6503199812156285 35231:35231 2:0:"" +6503199812156346 35231:35231 4:88:"" +6503199822500781 35231:35231 0:0:"before hipLaunchKernel" +6503199822500902 35231:35231 3:89:"hipLaunchKernel range" +6503199822500972 35231:35231 1:0:"hipLaunchKernel" +6503199822507915 35231:35231 0:0:"after hipLaunchKernel" +6503199822508005 35231:35231 1:0:"hipMemcpy" +6503199824180106 35231:35231 2:0:"" +6503199824180186 35231:35231 2:0:"" +6503199824180256 35231:35231 4:89:"" +6503199834514804 35231:35231 0:0:"before hipLaunchKernel" +6503199834514934 35231:35231 3:90:"hipLaunchKernel range" +6503199834514994 35231:35231 1:0:"hipLaunchKernel" +6503199834521927 35231:35231 0:0:"after hipLaunchKernel" +6503199834522017 35231:35231 1:0:"hipMemcpy" +6503199836216079 35231:35231 2:0:"" +6503199836216159 35231:35231 2:0:"" +6503199836216220 35231:35231 4:90:"" +6503199846574631 35231:35231 0:0:"before hipLaunchKernel" +6503199846574761 35231:35231 3:91:"hipLaunchKernel range" +6503199846574821 35231:35231 1:0:"hipLaunchKernel" +6503199846581133 35231:35231 0:0:"after hipLaunchKernel" +6503199846581233 35231:35231 1:0:"hipMemcpy" +6503199848258073 35231:35231 2:0:"" +6503199848258153 35231:35231 2:0:"" +6503199848258224 35231:35231 4:91:"" +6503199858592731 35231:35231 0:0:"before hipLaunchKernel" +6503199858592841 35231:35231 3:92:"hipLaunchKernel range" +6503199858592902 35231:35231 1:0:"hipLaunchKernel" +6503199858598271 35231:35231 0:0:"after hipLaunchKernel" +6503199858598362 35231:35231 1:0:"hipMemcpy" +6503199860270733 35231:35231 2:0:"" +6503199860270813 35231:35231 2:0:"" +6503199860270864 35231:35231 4:92:"" +6503199870603648 35231:35231 0:0:"before hipLaunchKernel" +6503199870603798 35231:35231 3:93:"hipLaunchKernel range" +6503199870603878 35231:35231 1:0:"hipLaunchKernel" +6503199870610901 35231:35231 0:0:"after hipLaunchKernel" +6503199870611001 35231:35231 1:0:"hipMemcpy" +6503199872278885 35231:35231 2:0:"" +6503199872278975 35231:35231 2:0:"" +6503199872279035 35231:35231 4:93:"" +6503199882583987 35231:35231 0:0:"before hipLaunchKernel" +6503199882585049 35231:35231 3:94:"hipLaunchKernel range" +6503199882585160 35231:35231 1:0:"hipLaunchKernel" +6503199882591491 35231:35231 0:0:"after hipLaunchKernel" +6503199882591582 35231:35231 1:0:"hipMemcpy" +6503199884257902 35231:35231 2:0:"" +6503199884257992 35231:35231 2:0:"" +6503199884258052 35231:35231 4:94:"" +6503199894587350 35231:35231 0:0:"before hipLaunchKernel" +6503199894587491 35231:35231 3:95:"hipLaunchKernel range" +6503199894587571 35231:35231 1:0:"hipLaunchKernel" +6503199894593532 35231:35231 0:0:"after hipLaunchKernel" +6503199894593592 35231:35231 1:0:"hipMemcpy" +6503199896260383 35231:35231 2:0:"" +6503199896260473 35231:35231 2:0:"" +6503199896260533 35231:35231 4:95:"" +6503199906549186 35231:35231 0:0:"before hipLaunchKernel" +6503199906549316 35231:35231 3:96:"hipLaunchKernel range" +6503199906549396 35231:35231 1:0:"hipLaunchKernel" +6503199906556169 35231:35231 0:0:"after hipLaunchKernel" +6503199906556259 35231:35231 1:0:"hipMemcpy" +6503199908225134 35231:35231 2:0:"" +6503199908225214 35231:35231 2:0:"" +6503199908225274 35231:35231 4:96:"" +6503199918522252 35231:35231 0:0:"before hipLaunchKernel" +6503199918522373 35231:35231 3:97:"hipLaunchKernel range" +6503199918522443 35231:35231 1:0:"hipLaunchKernel" +6503199918529626 35231:35231 0:0:"after hipLaunchKernel" +6503199918529716 35231:35231 1:0:"hipMemcpy" +6503199920196708 35231:35231 2:0:"" +6503199920196778 35231:35231 2:0:"" +6503199920196848 35231:35231 4:97:"" +6503199930499967 35231:35231 0:0:"before hipLaunchKernel" +6503199930500097 35231:35231 3:98:"hipLaunchKernel range" +6503199930500188 35231:35231 1:0:"hipLaunchKernel" +6503199930507982 35231:35231 0:0:"after hipLaunchKernel" +6503199930508062 35231:35231 1:0:"hipMemcpy" +6503199932176126 35231:35231 2:0:"" +6503199932176226 35231:35231 2:0:"" +6503199932176286 35231:35231 4:98:"" +6503199942471541 35231:35231 0:0:"before hipLaunchKernel" +6503199942471661 35231:35231 3:99:"hipLaunchKernel range" +6503199942471741 35231:35231 1:0:"hipLaunchKernel" +6503199942478774 35231:35231 0:0:"after hipLaunchKernel" +6503199942478864 35231:35231 1:0:"hipMemcpy" +6503199944148261 35231:35231 2:0:"" +6503199944148351 35231:35231 2:0:"" +6503199944148411 35231:35231 4:99:"" +6503199954438225 35231:35231 0:0:"before hipLaunchKernel" +6503199954438366 35231:35231 3:100:"hipLaunchKernel range" +6503199954438426 35231:35231 1:0:"hipLaunchKernel" +6503199954445168 35231:35231 0:0:"after hipLaunchKernel" +6503199954445269 35231:35231 1:0:"hipMemcpy" +6503199956116899 35231:35231 2:0:"" +6503199956116969 35231:35231 2:0:"" +6503199956117029 35231:35231 4:100:"" diff --git a/test/golden_traces/MatrixTranspose_test_trace.txt b/test/golden_traces/MatrixTranspose_test_trace.txt index 555c554279..27cdaa67c7 100644 --- a/test/golden_traces/MatrixTranspose_test_trace.txt +++ b/test/golden_traces/MatrixTranspose_test_trace.txt @@ -1,743 +1,743 @@ + LD_PRELOAD=libkfdwrapper64.so ./test/MatrixTranspose_test # INIT ############################# # START (99) ############################# - - - - + + + + Device 0 name: Device 687f ptr(0x7fff13900c60) size(0x400000) *ptr(0x0x7f0594a00000) ptr(0x7fff13900c58) size(0x400000) *ptr(0x0x7f0594400000) dst(0x7f0594a00000) src(0x7f05957ff010) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(1942) tid(1942)"> rocTX <"hipLaunchKernel pid(1942) tid(1942)"> -<__hipPushCallConfiguration id(46) correlation_id(6) on-enter pid(1942) tid(1942)> -<__hipPushCallConfiguration id(46) correlation_id(6) on-exit pid(1942) tid(1942)> -<__hipPopCallConfiguration id(171) correlation_id(7) on-enter pid(1942) tid(1942)> -<__hipPopCallConfiguration id(171) correlation_id(7) on-exit pid(1942) tid(1942)> - - +<__hipPushCallConfiguration id(46) correlation_id(6) on-enter pid(1942) tid(1942)> +<__hipPushCallConfiguration id(46) correlation_id(6) on-exit pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(7) on-enter pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(7) on-exit pid(1942) tid(1942)> + + rocTX <"after hipLaunchKernel pid(1942) tid(1942)"> rocTX <"hipMemcpy pid(1942) tid(1942)"> dst(0x7f05953fe010) src(0x7f0594400000) size(0x400000) kind(2) - + rocTX <"(null) pid(1942) tid(1942)"> rocTX <"(null) pid(1942) tid(1942)"> PASSED! ptr(0x7f0594a00000) - + ptr(0x7f0594400000) - + # START (98) ############################# Device 0 name: Device 687f PASSED! # START (97) ############################# - - - - + + + + Device 0 name: Device 687f ptr(0x7fff13900c60) size(0x400000) *ptr(0x0x7f0595600000) ptr(0x7fff13900c58) size(0x400000) *ptr(0x0x7f0595000000) dst(0x7f0595600000) src(0x1ec5050) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(1942) tid(1942)"> rocTX <"hipLaunchKernel pid(1942) tid(1942)"> -<__hipPushCallConfiguration id(46) correlation_id(17) on-enter pid(1942) tid(1942)> -<__hipPushCallConfiguration id(46) correlation_id(17) on-exit pid(1942) tid(1942)> -<__hipPopCallConfiguration id(171) correlation_id(18) on-enter pid(1942) tid(1942)> -<__hipPopCallConfiguration id(171) correlation_id(18) on-exit pid(1942) tid(1942)> - - +<__hipPushCallConfiguration id(46) correlation_id(17) on-enter pid(1942) tid(1942)> +<__hipPushCallConfiguration id(46) correlation_id(17) on-exit pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(18) on-enter pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(18) on-exit pid(1942) tid(1942)> + + rocTX <"after hipLaunchKernel pid(1942) tid(1942)"> rocTX <"hipMemcpy pid(1942) tid(1942)"> dst(0x22c5060) src(0x7f0595000000) size(0x400000) kind(2) - + rocTX <"(null) pid(1942) tid(1942)"> rocTX <"(null) pid(1942) tid(1942)"> PASSED! ptr(0x7f0595600000) - + ptr(0x7f0595000000) - + # START (96) ############################# Device 0 name: Device 687f PASSED! # START (95) ############################# - - - - + + + + Device 0 name: Device 687f ptr(0x7fff13900c60) size(0x400000) *ptr(0x0x7f0595600000) ptr(0x7fff13900c58) size(0x400000) *ptr(0x0x7f0595000000) dst(0x7f0595600000) src(0x1ec5050) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(1942) tid(1942)"> rocTX <"hipLaunchKernel pid(1942) tid(1942)"> -<__hipPushCallConfiguration id(46) correlation_id(28) on-enter pid(1942) tid(1942)> -<__hipPushCallConfiguration id(46) correlation_id(28) on-exit pid(1942) tid(1942)> -<__hipPopCallConfiguration id(171) correlation_id(29) on-enter pid(1942) tid(1942)> -<__hipPopCallConfiguration id(171) correlation_id(29) on-exit pid(1942) tid(1942)> - - +<__hipPushCallConfiguration id(46) correlation_id(28) on-enter pid(1942) tid(1942)> +<__hipPushCallConfiguration id(46) correlation_id(28) on-exit pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(29) on-enter pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(29) on-exit pid(1942) tid(1942)> + + rocTX <"after hipLaunchKernel pid(1942) tid(1942)"> rocTX <"hipMemcpy pid(1942) tid(1942)"> dst(0x22c5060) src(0x7f0595000000) size(0x400000) kind(2) - + rocTX <"(null) pid(1942) tid(1942)"> rocTX <"(null) pid(1942) tid(1942)"> PASSED! ptr(0x7f0595600000) - + ptr(0x7f0595000000) - + # START (94) ############################# Device 0 name: Device 687f PASSED! # START (93) ############################# - - - - + + + + Device 0 name: Device 687f ptr(0x7fff13900c60) size(0x400000) *ptr(0x0x7f0595600000) ptr(0x7fff13900c58) size(0x400000) *ptr(0x0x7f0595000000) dst(0x7f0595600000) src(0x1ec5050) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(1942) tid(1942)"> rocTX <"hipLaunchKernel pid(1942) tid(1942)"> -<__hipPushCallConfiguration id(46) correlation_id(39) on-enter pid(1942) tid(1942)> -<__hipPushCallConfiguration id(46) correlation_id(39) on-exit pid(1942) tid(1942)> -<__hipPopCallConfiguration id(171) correlation_id(40) on-enter pid(1942) tid(1942)> -<__hipPopCallConfiguration id(171) correlation_id(40) on-exit pid(1942) tid(1942)> - - +<__hipPushCallConfiguration id(46) correlation_id(39) on-enter pid(1942) tid(1942)> +<__hipPushCallConfiguration id(46) correlation_id(39) on-exit pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(40) on-enter pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(40) on-exit pid(1942) tid(1942)> + + rocTX <"after hipLaunchKernel pid(1942) tid(1942)"> rocTX <"hipMemcpy pid(1942) tid(1942)"> dst(0x22c5060) src(0x7f0595000000) size(0x400000) kind(2) - + rocTX <"(null) pid(1942) tid(1942)"> rocTX <"(null) pid(1942) tid(1942)"> PASSED! ptr(0x7f0595600000) - + ptr(0x7f0595000000) - + # START (92) ############################# Device 0 name: Device 687f PASSED! # START (91) ############################# - - - - + + + + Device 0 name: Device 687f ptr(0x7fff13900c60) size(0x400000) *ptr(0x0x7f0595600000) ptr(0x7fff13900c58) size(0x400000) *ptr(0x0x7f0595000000) dst(0x7f0595600000) src(0x1ec5050) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(1942) tid(1942)"> rocTX <"hipLaunchKernel pid(1942) tid(1942)"> -<__hipPushCallConfiguration id(46) correlation_id(50) on-enter pid(1942) tid(1942)> -<__hipPushCallConfiguration id(46) correlation_id(50) on-exit pid(1942) tid(1942)> -<__hipPopCallConfiguration id(171) correlation_id(51) on-enter pid(1942) tid(1942)> -<__hipPopCallConfiguration id(171) correlation_id(51) on-exit pid(1942) tid(1942)> - - +<__hipPushCallConfiguration id(46) correlation_id(50) on-enter pid(1942) tid(1942)> +<__hipPushCallConfiguration id(46) correlation_id(50) on-exit pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(51) on-enter pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(51) on-exit pid(1942) tid(1942)> + + rocTX <"after hipLaunchKernel pid(1942) tid(1942)"> rocTX <"hipMemcpy pid(1942) tid(1942)"> dst(0x22c5060) src(0x7f0595000000) size(0x400000) kind(2) - + rocTX <"(null) pid(1942) tid(1942)"> rocTX <"(null) pid(1942) tid(1942)"> PASSED! ptr(0x7f0595600000) - + ptr(0x7f0595000000) - + # START (90) ############################# Device 0 name: Device 687f PASSED! # START (89) ############################# - - - - + + + + Device 0 name: Device 687f ptr(0x7fff13900c60) size(0x400000) *ptr(0x0x7f0595600000) ptr(0x7fff13900c58) size(0x400000) *ptr(0x0x7f0595000000) dst(0x7f0595600000) src(0x1ec5050) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(1942) tid(1942)"> rocTX <"hipLaunchKernel pid(1942) tid(1942)"> -<__hipPushCallConfiguration id(46) correlation_id(61) on-enter pid(1942) tid(1942)> -<__hipPushCallConfiguration id(46) correlation_id(61) on-exit pid(1942) tid(1942)> -<__hipPopCallConfiguration id(171) correlation_id(62) on-enter pid(1942) tid(1942)> -<__hipPopCallConfiguration id(171) correlation_id(62) on-exit pid(1942) tid(1942)> - - +<__hipPushCallConfiguration id(46) correlation_id(61) on-enter pid(1942) tid(1942)> +<__hipPushCallConfiguration id(46) correlation_id(61) on-exit pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(62) on-enter pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(62) on-exit pid(1942) tid(1942)> + + rocTX <"after hipLaunchKernel pid(1942) tid(1942)"> rocTX <"hipMemcpy pid(1942) tid(1942)"> dst(0x22c5060) src(0x7f0595000000) size(0x400000) kind(2) - + rocTX <"(null) pid(1942) tid(1942)"> rocTX <"(null) pid(1942) tid(1942)"> PASSED! ptr(0x7f0595600000) - + ptr(0x7f0595000000) - + # START (88) ############################# Device 0 name: Device 687f PASSED! # START (87) ############################# - - - - + + + + Device 0 name: Device 687f ptr(0x7fff13900c60) size(0x400000) *ptr(0x0x7f0595600000) ptr(0x7fff13900c58) size(0x400000) *ptr(0x0x7f0595000000) dst(0x7f0595600000) src(0x1ec5050) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(1942) tid(1942)"> rocTX <"hipLaunchKernel pid(1942) tid(1942)"> -<__hipPushCallConfiguration id(46) correlation_id(72) on-enter pid(1942) tid(1942)> -<__hipPushCallConfiguration id(46) correlation_id(72) on-exit pid(1942) tid(1942)> -<__hipPopCallConfiguration id(171) correlation_id(73) on-enter pid(1942) tid(1942)> -<__hipPopCallConfiguration id(171) correlation_id(73) on-exit pid(1942) tid(1942)> - - +<__hipPushCallConfiguration id(46) correlation_id(72) on-enter pid(1942) tid(1942)> +<__hipPushCallConfiguration id(46) correlation_id(72) on-exit pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(73) on-enter pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(73) on-exit pid(1942) tid(1942)> + + rocTX <"after hipLaunchKernel pid(1942) tid(1942)"> rocTX <"hipMemcpy pid(1942) tid(1942)"> dst(0x22c5060) src(0x7f0595000000) size(0x400000) kind(2) - + rocTX <"(null) pid(1942) tid(1942)"> rocTX <"(null) pid(1942) tid(1942)"> PASSED! ptr(0x7f0595600000) - + ptr(0x7f0595000000) - + # START (86) ############################# Device 0 name: Device 687f PASSED! # START (85) ############################# - - - - + + + + Device 0 name: Device 687f ptr(0x7fff13900c60) size(0x400000) *ptr(0x0x7f0595600000) ptr(0x7fff13900c58) size(0x400000) *ptr(0x0x7f0595000000) dst(0x7f0595600000) src(0x1ec5050) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(1942) tid(1942)"> rocTX <"hipLaunchKernel pid(1942) tid(1942)"> -<__hipPushCallConfiguration id(46) correlation_id(83) on-enter pid(1942) tid(1942)> -<__hipPushCallConfiguration id(46) correlation_id(83) on-exit pid(1942) tid(1942)> -<__hipPopCallConfiguration id(171) correlation_id(84) on-enter pid(1942) tid(1942)> -<__hipPopCallConfiguration id(171) correlation_id(84) on-exit pid(1942) tid(1942)> - - +<__hipPushCallConfiguration id(46) correlation_id(83) on-enter pid(1942) tid(1942)> +<__hipPushCallConfiguration id(46) correlation_id(83) on-exit pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(84) on-enter pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(84) on-exit pid(1942) tid(1942)> + + rocTX <"after hipLaunchKernel pid(1942) tid(1942)"> rocTX <"hipMemcpy pid(1942) tid(1942)"> dst(0x22c5060) src(0x7f0595000000) size(0x400000) kind(2) - + rocTX <"(null) pid(1942) tid(1942)"> rocTX <"(null) pid(1942) tid(1942)"> PASSED! ptr(0x7f0595600000) - + ptr(0x7f0595000000) - + # START (84) ############################# Device 0 name: Device 687f PASSED! # START (83) ############################# - - - - + + + + Device 0 name: Device 687f ptr(0x7fff13900c60) size(0x400000) *ptr(0x0x7f0595600000) ptr(0x7fff13900c58) size(0x400000) *ptr(0x0x7f0595000000) dst(0x7f0595600000) src(0x1ec5050) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(1942) tid(1942)"> rocTX <"hipLaunchKernel pid(1942) tid(1942)"> -<__hipPushCallConfiguration id(46) correlation_id(94) on-enter pid(1942) tid(1942)> -<__hipPushCallConfiguration id(46) correlation_id(94) on-exit pid(1942) tid(1942)> -<__hipPopCallConfiguration id(171) correlation_id(95) on-enter pid(1942) tid(1942)> -<__hipPopCallConfiguration id(171) correlation_id(95) on-exit pid(1942) tid(1942)> - - +<__hipPushCallConfiguration id(46) correlation_id(94) on-enter pid(1942) tid(1942)> +<__hipPushCallConfiguration id(46) correlation_id(94) on-exit pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(95) on-enter pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(95) on-exit pid(1942) tid(1942)> + + rocTX <"after hipLaunchKernel pid(1942) tid(1942)"> rocTX <"hipMemcpy pid(1942) tid(1942)"> dst(0x22c5060) src(0x7f0595000000) size(0x400000) kind(2) - + rocTX <"(null) pid(1942) tid(1942)"> rocTX <"(null) pid(1942) tid(1942)"> PASSED! ptr(0x7f0595600000) - + ptr(0x7f0595000000) - + # START (82) ############################# Device 0 name: Device 687f PASSED! # START (81) ############################# - - - - + + + + Device 0 name: Device 687f ptr(0x7fff13900c60) size(0x400000) *ptr(0x0x7f0595600000) ptr(0x7fff13900c58) size(0x400000) *ptr(0x0x7f0595000000) dst(0x7f0595600000) src(0x1ec5050) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(1942) tid(1942)"> rocTX <"hipLaunchKernel pid(1942) tid(1942)"> -<__hipPushCallConfiguration id(46) correlation_id(105) on-enter pid(1942) tid(1942)> -<__hipPushCallConfiguration id(46) correlation_id(105) on-exit pid(1942) tid(1942)> -<__hipPopCallConfiguration id(171) correlation_id(106) on-enter pid(1942) tid(1942)> -<__hipPopCallConfiguration id(171) correlation_id(106) on-exit pid(1942) tid(1942)> - - +<__hipPushCallConfiguration id(46) correlation_id(105) on-enter pid(1942) tid(1942)> +<__hipPushCallConfiguration id(46) correlation_id(105) on-exit pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(106) on-enter pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(106) on-exit pid(1942) tid(1942)> + + rocTX <"after hipLaunchKernel pid(1942) tid(1942)"> rocTX <"hipMemcpy pid(1942) tid(1942)"> dst(0x22c5060) src(0x7f0595000000) size(0x400000) kind(2) - + rocTX <"(null) pid(1942) tid(1942)"> rocTX <"(null) pid(1942) tid(1942)"> PASSED! ptr(0x7f0595600000) - + ptr(0x7f0595000000) - + # START (80) ############################# Device 0 name: Device 687f PASSED! # START (79) ############################# - - - - + + + + Device 0 name: Device 687f ptr(0x7fff13900c60) size(0x400000) *ptr(0x0x7f0595600000) ptr(0x7fff13900c58) size(0x400000) *ptr(0x0x7f0595000000) dst(0x7f0595600000) src(0x1ec5050) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(1942) tid(1942)"> rocTX <"hipLaunchKernel pid(1942) tid(1942)"> -<__hipPushCallConfiguration id(46) correlation_id(116) on-enter pid(1942) tid(1942)> -<__hipPushCallConfiguration id(46) correlation_id(116) on-exit pid(1942) tid(1942)> -<__hipPopCallConfiguration id(171) correlation_id(117) on-enter pid(1942) tid(1942)> -<__hipPopCallConfiguration id(171) correlation_id(117) on-exit pid(1942) tid(1942)> - - +<__hipPushCallConfiguration id(46) correlation_id(116) on-enter pid(1942) tid(1942)> +<__hipPushCallConfiguration id(46) correlation_id(116) on-exit pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(117) on-enter pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(117) on-exit pid(1942) tid(1942)> + + rocTX <"after hipLaunchKernel pid(1942) tid(1942)"> rocTX <"hipMemcpy pid(1942) tid(1942)"> dst(0x22c5060) src(0x7f0595000000) size(0x400000) kind(2) - + rocTX <"(null) pid(1942) tid(1942)"> rocTX <"(null) pid(1942) tid(1942)"> PASSED! ptr(0x7f0595600000) - + ptr(0x7f0595000000) - + # START (78) ############################# Device 0 name: Device 687f PASSED! # START (77) ############################# - - - - + + + + Device 0 name: Device 687f ptr(0x7fff13900c60) size(0x400000) *ptr(0x0x7f0595600000) ptr(0x7fff13900c58) size(0x400000) *ptr(0x0x7f0595000000) dst(0x7f0595600000) src(0x1ec5050) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(1942) tid(1942)"> rocTX <"hipLaunchKernel pid(1942) tid(1942)"> -<__hipPushCallConfiguration id(46) correlation_id(127) on-enter pid(1942) tid(1942)> -<__hipPushCallConfiguration id(46) correlation_id(127) on-exit pid(1942) tid(1942)> -<__hipPopCallConfiguration id(171) correlation_id(128) on-enter pid(1942) tid(1942)> -<__hipPopCallConfiguration id(171) correlation_id(128) on-exit pid(1942) tid(1942)> - - +<__hipPushCallConfiguration id(46) correlation_id(127) on-enter pid(1942) tid(1942)> +<__hipPushCallConfiguration id(46) correlation_id(127) on-exit pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(128) on-enter pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(128) on-exit pid(1942) tid(1942)> + + rocTX <"after hipLaunchKernel pid(1942) tid(1942)"> rocTX <"hipMemcpy pid(1942) tid(1942)"> dst(0x22c5060) src(0x7f0595000000) size(0x400000) kind(2) - + rocTX <"(null) pid(1942) tid(1942)"> rocTX <"(null) pid(1942) tid(1942)"> PASSED! ptr(0x7f0595600000) - + ptr(0x7f0595000000) - + # START (76) ############################# Device 0 name: Device 687f PASSED! # START (75) ############################# - - - - + + + + Device 0 name: Device 687f ptr(0x7fff13900c60) size(0x400000) *ptr(0x0x7f0595600000) ptr(0x7fff13900c58) size(0x400000) *ptr(0x0x7f0595000000) dst(0x7f0595600000) src(0x1ec5050) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(1942) tid(1942)"> rocTX <"hipLaunchKernel pid(1942) tid(1942)"> -<__hipPushCallConfiguration id(46) correlation_id(138) on-enter pid(1942) tid(1942)> -<__hipPushCallConfiguration id(46) correlation_id(138) on-exit pid(1942) tid(1942)> -<__hipPopCallConfiguration id(171) correlation_id(139) on-enter pid(1942) tid(1942)> -<__hipPopCallConfiguration id(171) correlation_id(139) on-exit pid(1942) tid(1942)> - - +<__hipPushCallConfiguration id(46) correlation_id(138) on-enter pid(1942) tid(1942)> +<__hipPushCallConfiguration id(46) correlation_id(138) on-exit pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(139) on-enter pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(139) on-exit pid(1942) tid(1942)> + + rocTX <"after hipLaunchKernel pid(1942) tid(1942)"> rocTX <"hipMemcpy pid(1942) tid(1942)"> dst(0x22c5060) src(0x7f0595000000) size(0x400000) kind(2) - + rocTX <"(null) pid(1942) tid(1942)"> rocTX <"(null) pid(1942) tid(1942)"> PASSED! ptr(0x7f0595600000) - + ptr(0x7f0595000000) - + # START (74) ############################# Device 0 name: Device 687f PASSED! # START (73) ############################# - - - - + + + + Device 0 name: Device 687f ptr(0x7fff13900c60) size(0x400000) *ptr(0x0x7f0595600000) ptr(0x7fff13900c58) size(0x400000) *ptr(0x0x7f0595000000) dst(0x7f0595600000) src(0x1ec5050) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(1942) tid(1942)"> rocTX <"hipLaunchKernel pid(1942) tid(1942)"> -<__hipPushCallConfiguration id(46) correlation_id(149) on-enter pid(1942) tid(1942)> -<__hipPushCallConfiguration id(46) correlation_id(149) on-exit pid(1942) tid(1942)> -<__hipPopCallConfiguration id(171) correlation_id(150) on-enter pid(1942) tid(1942)> -<__hipPopCallConfiguration id(171) correlation_id(150) on-exit pid(1942) tid(1942)> - - +<__hipPushCallConfiguration id(46) correlation_id(149) on-enter pid(1942) tid(1942)> +<__hipPushCallConfiguration id(46) correlation_id(149) on-exit pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(150) on-enter pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(150) on-exit pid(1942) tid(1942)> + + rocTX <"after hipLaunchKernel pid(1942) tid(1942)"> rocTX <"hipMemcpy pid(1942) tid(1942)"> dst(0x22c5060) src(0x7f0595000000) size(0x400000) kind(2) - + rocTX <"(null) pid(1942) tid(1942)"> rocTX <"(null) pid(1942) tid(1942)"> PASSED! ptr(0x7f0595600000) - + ptr(0x7f0595000000) - + # START (72) ############################# Device 0 name: Device 687f PASSED! # START (71) ############################# - - - - + + + + Device 0 name: Device 687f ptr(0x7fff13900c60) size(0x400000) *ptr(0x0x7f0595600000) ptr(0x7fff13900c58) size(0x400000) *ptr(0x0x7f0595000000) dst(0x7f0595600000) src(0x1ec5050) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(1942) tid(1942)"> rocTX <"hipLaunchKernel pid(1942) tid(1942)"> -<__hipPushCallConfiguration id(46) correlation_id(160) on-enter pid(1942) tid(1942)> -<__hipPushCallConfiguration id(46) correlation_id(160) on-exit pid(1942) tid(1942)> -<__hipPopCallConfiguration id(171) correlation_id(161) on-enter pid(1942) tid(1942)> -<__hipPopCallConfiguration id(171) correlation_id(161) on-exit pid(1942) tid(1942)> - - +<__hipPushCallConfiguration id(46) correlation_id(160) on-enter pid(1942) tid(1942)> +<__hipPushCallConfiguration id(46) correlation_id(160) on-exit pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(161) on-enter pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(161) on-exit pid(1942) tid(1942)> + + rocTX <"after hipLaunchKernel pid(1942) tid(1942)"> rocTX <"hipMemcpy pid(1942) tid(1942)"> dst(0x22c5060) src(0x7f0595000000) size(0x400000) kind(2) - + rocTX <"(null) pid(1942) tid(1942)"> rocTX <"(null) pid(1942) tid(1942)"> PASSED! ptr(0x7f0595600000) - + ptr(0x7f0595000000) - + # START (70) ############################# Device 0 name: Device 687f PASSED! # START (69) ############################# - - - - + + + + Device 0 name: Device 687f ptr(0x7fff13900c60) size(0x400000) *ptr(0x0x7f0595600000) ptr(0x7fff13900c58) size(0x400000) *ptr(0x0x7f0595000000) dst(0x7f0595600000) src(0x1ec5050) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(1942) tid(1942)"> rocTX <"hipLaunchKernel pid(1942) tid(1942)"> -<__hipPushCallConfiguration id(46) correlation_id(171) on-enter pid(1942) tid(1942)> -<__hipPushCallConfiguration id(46) correlation_id(171) on-exit pid(1942) tid(1942)> -<__hipPopCallConfiguration id(171) correlation_id(172) on-enter pid(1942) tid(1942)> -<__hipPopCallConfiguration id(171) correlation_id(172) on-exit pid(1942) tid(1942)> - - +<__hipPushCallConfiguration id(46) correlation_id(171) on-enter pid(1942) tid(1942)> +<__hipPushCallConfiguration id(46) correlation_id(171) on-exit pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(172) on-enter pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(172) on-exit pid(1942) tid(1942)> + + rocTX <"after hipLaunchKernel pid(1942) tid(1942)"> rocTX <"hipMemcpy pid(1942) tid(1942)"> dst(0x22c5060) src(0x7f0595000000) size(0x400000) kind(2) - + rocTX <"(null) pid(1942) tid(1942)"> rocTX <"(null) pid(1942) tid(1942)"> PASSED! ptr(0x7f0595600000) - + ptr(0x7f0595000000) - + # START (68) ############################# Device 0 name: Device 687f PASSED! # START (67) ############################# - - - - + + + + Device 0 name: Device 687f ptr(0x7fff13900c60) size(0x400000) *ptr(0x0x7f0595600000) ptr(0x7fff13900c58) size(0x400000) *ptr(0x0x7f0595000000) dst(0x7f0595600000) src(0x1ec5050) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(1942) tid(1942)"> rocTX <"hipLaunchKernel pid(1942) tid(1942)"> -<__hipPushCallConfiguration id(46) correlation_id(182) on-enter pid(1942) tid(1942)> -<__hipPushCallConfiguration id(46) correlation_id(182) on-exit pid(1942) tid(1942)> -<__hipPopCallConfiguration id(171) correlation_id(183) on-enter pid(1942) tid(1942)> -<__hipPopCallConfiguration id(171) correlation_id(183) on-exit pid(1942) tid(1942)> - - +<__hipPushCallConfiguration id(46) correlation_id(182) on-enter pid(1942) tid(1942)> +<__hipPushCallConfiguration id(46) correlation_id(182) on-exit pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(183) on-enter pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(183) on-exit pid(1942) tid(1942)> + + rocTX <"after hipLaunchKernel pid(1942) tid(1942)"> rocTX <"hipMemcpy pid(1942) tid(1942)"> dst(0x22c5060) src(0x7f0595000000) size(0x400000) kind(2) - + rocTX <"(null) pid(1942) tid(1942)"> rocTX <"(null) pid(1942) tid(1942)"> PASSED! ptr(0x7f0595600000) - + ptr(0x7f0595000000) - + # START (66) ############################# Device 0 name: Device 687f PASSED! # START (65) ############################# - - - - + + + + Device 0 name: Device 687f ptr(0x7fff13900c60) size(0x400000) *ptr(0x0x7f0595600000) ptr(0x7fff13900c58) size(0x400000) *ptr(0x0x7f0595000000) dst(0x7f0595600000) src(0x1ec5050) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(1942) tid(1942)"> rocTX <"hipLaunchKernel pid(1942) tid(1942)"> -<__hipPushCallConfiguration id(46) correlation_id(193) on-enter pid(1942) tid(1942)> -<__hipPushCallConfiguration id(46) correlation_id(193) on-exit pid(1942) tid(1942)> -<__hipPopCallConfiguration id(171) correlation_id(194) on-enter pid(1942) tid(1942)> -<__hipPopCallConfiguration id(171) correlation_id(194) on-exit pid(1942) tid(1942)> - - +<__hipPushCallConfiguration id(46) correlation_id(193) on-enter pid(1942) tid(1942)> +<__hipPushCallConfiguration id(46) correlation_id(193) on-exit pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(194) on-enter pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(194) on-exit pid(1942) tid(1942)> + + rocTX <"after hipLaunchKernel pid(1942) tid(1942)"> rocTX <"hipMemcpy pid(1942) tid(1942)"> dst(0x22c5060) src(0x7f0595000000) size(0x400000) kind(2) - + rocTX <"(null) pid(1942) tid(1942)"> rocTX <"(null) pid(1942) tid(1942)"> PASSED! ptr(0x7f0595600000) - + ptr(0x7f0595000000) - + # START (64) ############################# Device 0 name: Device 687f PASSED! # START (63) ############################# - - - - + + + + Device 0 name: Device 687f ptr(0x7fff13900c60) size(0x400000) *ptr(0x0x7f0595600000) ptr(0x7fff13900c58) size(0x400000) *ptr(0x0x7f0595000000) dst(0x7f0595600000) src(0x1ec5050) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(1942) tid(1942)"> rocTX <"hipLaunchKernel pid(1942) tid(1942)"> -<__hipPushCallConfiguration id(46) correlation_id(204) on-enter pid(1942) tid(1942)> -<__hipPushCallConfiguration id(46) correlation_id(204) on-exit pid(1942) tid(1942)> -<__hipPopCallConfiguration id(171) correlation_id(205) on-enter pid(1942) tid(1942)> -<__hipPopCallConfiguration id(171) correlation_id(205) on-exit pid(1942) tid(1942)> - - +<__hipPushCallConfiguration id(46) correlation_id(204) on-enter pid(1942) tid(1942)> +<__hipPushCallConfiguration id(46) correlation_id(204) on-exit pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(205) on-enter pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(205) on-exit pid(1942) tid(1942)> + + rocTX <"after hipLaunchKernel pid(1942) tid(1942)"> rocTX <"hipMemcpy pid(1942) tid(1942)"> dst(0x22c5060) src(0x7f0595000000) size(0x400000) kind(2) - + rocTX <"(null) pid(1942) tid(1942)"> rocTX <"(null) pid(1942) tid(1942)"> PASSED! ptr(0x7f0595600000) - + ptr(0x7f0595000000) - + # START (62) ############################# Device 0 name: Device 687f PASSED! # START (61) ############################# - - - - + + + + Device 0 name: Device 687f ptr(0x7fff13900c60) size(0x400000) *ptr(0x0x7f0595600000) ptr(0x7fff13900c58) size(0x400000) *ptr(0x0x7f0595000000) dst(0x7f0595600000) src(0x1ec5050) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(1942) tid(1942)"> rocTX <"hipLaunchKernel pid(1942) tid(1942)"> -<__hipPushCallConfiguration id(46) correlation_id(215) on-enter pid(1942) tid(1942)> -<__hipPushCallConfiguration id(46) correlation_id(215) on-exit pid(1942) tid(1942)> -<__hipPopCallConfiguration id(171) correlation_id(216) on-enter pid(1942) tid(1942)> -<__hipPopCallConfiguration id(171) correlation_id(216) on-exit pid(1942) tid(1942)> - - +<__hipPushCallConfiguration id(46) correlation_id(215) on-enter pid(1942) tid(1942)> +<__hipPushCallConfiguration id(46) correlation_id(215) on-exit pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(216) on-enter pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(216) on-exit pid(1942) tid(1942)> + + rocTX <"after hipLaunchKernel pid(1942) tid(1942)"> rocTX <"hipMemcpy pid(1942) tid(1942)"> dst(0x22c5060) src(0x7f0595000000) size(0x400000) kind(2) - + rocTX <"(null) pid(1942) tid(1942)"> rocTX <"(null) pid(1942) tid(1942)"> PASSED! ptr(0x7f0595600000) - + ptr(0x7f0595000000) - + # START (60) ############################# Device 0 name: Device 687f PASSED! # START (59) ############################# - - - - + + + + Device 0 name: Device 687f ptr(0x7fff13900c60) size(0x400000) *ptr(0x0x7f0595600000) ptr(0x7fff13900c58) size(0x400000) *ptr(0x0x7f0595000000) dst(0x7f0595600000) src(0x1ec5050) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(1942) tid(1942)"> rocTX <"hipLaunchKernel pid(1942) tid(1942)"> -<__hipPushCallConfiguration id(46) correlation_id(226) on-enter pid(1942) tid(1942)> -<__hipPushCallConfiguration id(46) correlation_id(226) on-exit pid(1942) tid(1942)> -<__hipPopCallConfiguration id(171) correlation_id(227) on-enter pid(1942) tid(1942)> -<__hipPopCallConfiguration id(171) correlation_id(227) on-exit pid(1942) tid(1942)> - - +<__hipPushCallConfiguration id(46) correlation_id(226) on-enter pid(1942) tid(1942)> +<__hipPushCallConfiguration id(46) correlation_id(226) on-exit pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(227) on-enter pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(227) on-exit pid(1942) tid(1942)> + + rocTX <"after hipLaunchKernel pid(1942) tid(1942)"> rocTX <"hipMemcpy pid(1942) tid(1942)"> dst(0x22c5060) src(0x7f0595000000) size(0x400000) kind(2) - + rocTX <"(null) pid(1942) tid(1942)"> rocTX <"(null) pid(1942) tid(1942)"> PASSED! ptr(0x7f0595600000) - + ptr(0x7f0595000000) - + # START (58) ############################# Device 0 name: Device 687f PASSED! # START (57) ############################# - - - - + + + + Device 0 name: Device 687f ptr(0x7fff13900c60) size(0x400000) *ptr(0x0x7f0595600000) ptr(0x7fff13900c58) size(0x400000) *ptr(0x0x7f0595000000) dst(0x7f0595600000) src(0x1ec5050) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(1942) tid(1942)"> rocTX <"hipLaunchKernel pid(1942) tid(1942)"> -<__hipPushCallConfiguration id(46) correlation_id(237) on-enter pid(1942) tid(1942)> -<__hipPushCallConfiguration id(46) correlation_id(237) on-exit pid(1942) tid(1942)> -<__hipPopCallConfiguration id(171) correlation_id(238) on-enter pid(1942) tid(1942)> -<__hipPopCallConfiguration id(171) correlation_id(238) on-exit pid(1942) tid(1942)> - - +<__hipPushCallConfiguration id(46) correlation_id(237) on-enter pid(1942) tid(1942)> +<__hipPushCallConfiguration id(46) correlation_id(237) on-exit pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(238) on-enter pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(238) on-exit pid(1942) tid(1942)> + + rocTX <"after hipLaunchKernel pid(1942) tid(1942)"> rocTX <"hipMemcpy pid(1942) tid(1942)"> dst(0x22c5060) src(0x7f0595000000) size(0x400000) kind(2) - + rocTX <"(null) pid(1942) tid(1942)"> rocTX <"(null) pid(1942) tid(1942)"> Activity records: @@ -807,716 +807,716 @@ rocTX <"(null) pid(1942) tid(1942)"> CopyHostToDevice correlation_id(236) time_ns(3802689991781141:3802689993558264) device_id(0) queue_id(0) bytes(0x0) PASSED! ptr(0x7f0595600000) - + ptr(0x7f0595000000) - + # START (56) ############################# Device 0 name: Device 687f PASSED! # START (55) ############################# - - - - + + + + Device 0 name: Device 687f ptr(0x7fff13900c60) size(0x400000) *ptr(0x0x7f0595600000) ptr(0x7fff13900c58) size(0x400000) *ptr(0x0x7f0595000000) dst(0x7f0595600000) src(0x1ec5050) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(1942) tid(1942)"> rocTX <"hipLaunchKernel pid(1942) tid(1942)"> -<__hipPushCallConfiguration id(46) correlation_id(248) on-enter pid(1942) tid(1942)> -<__hipPushCallConfiguration id(46) correlation_id(248) on-exit pid(1942) tid(1942)> -<__hipPopCallConfiguration id(171) correlation_id(249) on-enter pid(1942) tid(1942)> -<__hipPopCallConfiguration id(171) correlation_id(249) on-exit pid(1942) tid(1942)> - - +<__hipPushCallConfiguration id(46) correlation_id(248) on-enter pid(1942) tid(1942)> +<__hipPushCallConfiguration id(46) correlation_id(248) on-exit pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(249) on-enter pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(249) on-exit pid(1942) tid(1942)> + + rocTX <"after hipLaunchKernel pid(1942) tid(1942)"> rocTX <"hipMemcpy pid(1942) tid(1942)"> dst(0x22c5060) src(0x7f0595000000) size(0x400000) kind(2) - + rocTX <"(null) pid(1942) tid(1942)"> rocTX <"(null) pid(1942) tid(1942)"> PASSED! ptr(0x7f0595600000) - + ptr(0x7f0595000000) - + # START (54) ############################# Device 0 name: Device 687f PASSED! # START (53) ############################# - - - - + + + + Device 0 name: Device 687f ptr(0x7fff13900c60) size(0x400000) *ptr(0x0x7f0595600000) ptr(0x7fff13900c58) size(0x400000) *ptr(0x0x7f0595000000) dst(0x7f0595600000) src(0x1ec5050) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(1942) tid(1942)"> rocTX <"hipLaunchKernel pid(1942) tid(1942)"> -<__hipPushCallConfiguration id(46) correlation_id(259) on-enter pid(1942) tid(1942)> -<__hipPushCallConfiguration id(46) correlation_id(259) on-exit pid(1942) tid(1942)> -<__hipPopCallConfiguration id(171) correlation_id(260) on-enter pid(1942) tid(1942)> -<__hipPopCallConfiguration id(171) correlation_id(260) on-exit pid(1942) tid(1942)> - - +<__hipPushCallConfiguration id(46) correlation_id(259) on-enter pid(1942) tid(1942)> +<__hipPushCallConfiguration id(46) correlation_id(259) on-exit pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(260) on-enter pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(260) on-exit pid(1942) tid(1942)> + + rocTX <"after hipLaunchKernel pid(1942) tid(1942)"> rocTX <"hipMemcpy pid(1942) tid(1942)"> dst(0x22c5060) src(0x7f0595000000) size(0x400000) kind(2) - + rocTX <"(null) pid(1942) tid(1942)"> rocTX <"(null) pid(1942) tid(1942)"> PASSED! ptr(0x7f0595600000) - + ptr(0x7f0595000000) - + # START (52) ############################# Device 0 name: Device 687f PASSED! # START (51) ############################# - - - - + + + + Device 0 name: Device 687f ptr(0x7fff13900c60) size(0x400000) *ptr(0x0x7f0595600000) ptr(0x7fff13900c58) size(0x400000) *ptr(0x0x7f0595000000) dst(0x7f0595600000) src(0x1ec5050) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(1942) tid(1942)"> rocTX <"hipLaunchKernel pid(1942) tid(1942)"> -<__hipPushCallConfiguration id(46) correlation_id(270) on-enter pid(1942) tid(1942)> -<__hipPushCallConfiguration id(46) correlation_id(270) on-exit pid(1942) tid(1942)> -<__hipPopCallConfiguration id(171) correlation_id(271) on-enter pid(1942) tid(1942)> -<__hipPopCallConfiguration id(171) correlation_id(271) on-exit pid(1942) tid(1942)> - - +<__hipPushCallConfiguration id(46) correlation_id(270) on-enter pid(1942) tid(1942)> +<__hipPushCallConfiguration id(46) correlation_id(270) on-exit pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(271) on-enter pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(271) on-exit pid(1942) tid(1942)> + + rocTX <"after hipLaunchKernel pid(1942) tid(1942)"> rocTX <"hipMemcpy pid(1942) tid(1942)"> dst(0x22c5060) src(0x7f0595000000) size(0x400000) kind(2) - + rocTX <"(null) pid(1942) tid(1942)"> rocTX <"(null) pid(1942) tid(1942)"> PASSED! ptr(0x7f0595600000) - + ptr(0x7f0595000000) - + # START (50) ############################# Device 0 name: Device 687f PASSED! # START (49) ############################# - - - - + + + + Device 0 name: Device 687f ptr(0x7fff13900c60) size(0x400000) *ptr(0x0x7f0595600000) ptr(0x7fff13900c58) size(0x400000) *ptr(0x0x7f0595000000) dst(0x7f0595600000) src(0x1ec5050) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(1942) tid(1942)"> rocTX <"hipLaunchKernel pid(1942) tid(1942)"> -<__hipPushCallConfiguration id(46) correlation_id(281) on-enter pid(1942) tid(1942)> -<__hipPushCallConfiguration id(46) correlation_id(281) on-exit pid(1942) tid(1942)> -<__hipPopCallConfiguration id(171) correlation_id(282) on-enter pid(1942) tid(1942)> -<__hipPopCallConfiguration id(171) correlation_id(282) on-exit pid(1942) tid(1942)> - - +<__hipPushCallConfiguration id(46) correlation_id(281) on-enter pid(1942) tid(1942)> +<__hipPushCallConfiguration id(46) correlation_id(281) on-exit pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(282) on-enter pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(282) on-exit pid(1942) tid(1942)> + + rocTX <"after hipLaunchKernel pid(1942) tid(1942)"> rocTX <"hipMemcpy pid(1942) tid(1942)"> dst(0x22c5060) src(0x7f0595000000) size(0x400000) kind(2) - + rocTX <"(null) pid(1942) tid(1942)"> rocTX <"(null) pid(1942) tid(1942)"> PASSED! ptr(0x7f0595600000) - + ptr(0x7f0595000000) - + # START (48) ############################# Device 0 name: Device 687f PASSED! # START (47) ############################# - - - - + + + + Device 0 name: Device 687f ptr(0x7fff13900c60) size(0x400000) *ptr(0x0x7f0595600000) ptr(0x7fff13900c58) size(0x400000) *ptr(0x0x7f0595000000) dst(0x7f0595600000) src(0x1ec5050) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(1942) tid(1942)"> rocTX <"hipLaunchKernel pid(1942) tid(1942)"> -<__hipPushCallConfiguration id(46) correlation_id(292) on-enter pid(1942) tid(1942)> -<__hipPushCallConfiguration id(46) correlation_id(292) on-exit pid(1942) tid(1942)> -<__hipPopCallConfiguration id(171) correlation_id(293) on-enter pid(1942) tid(1942)> -<__hipPopCallConfiguration id(171) correlation_id(293) on-exit pid(1942) tid(1942)> - - +<__hipPushCallConfiguration id(46) correlation_id(292) on-enter pid(1942) tid(1942)> +<__hipPushCallConfiguration id(46) correlation_id(292) on-exit pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(293) on-enter pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(293) on-exit pid(1942) tid(1942)> + + rocTX <"after hipLaunchKernel pid(1942) tid(1942)"> rocTX <"hipMemcpy pid(1942) tid(1942)"> dst(0x22c5060) src(0x7f0595000000) size(0x400000) kind(2) - + rocTX <"(null) pid(1942) tid(1942)"> rocTX <"(null) pid(1942) tid(1942)"> PASSED! ptr(0x7f0595600000) - + ptr(0x7f0595000000) - + # START (46) ############################# Device 0 name: Device 687f PASSED! # START (45) ############################# - - - - + + + + Device 0 name: Device 687f ptr(0x7fff13900c60) size(0x400000) *ptr(0x0x7f0595600000) ptr(0x7fff13900c58) size(0x400000) *ptr(0x0x7f0595000000) dst(0x7f0595600000) src(0x1ec5050) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(1942) tid(1942)"> rocTX <"hipLaunchKernel pid(1942) tid(1942)"> -<__hipPushCallConfiguration id(46) correlation_id(303) on-enter pid(1942) tid(1942)> -<__hipPushCallConfiguration id(46) correlation_id(303) on-exit pid(1942) tid(1942)> -<__hipPopCallConfiguration id(171) correlation_id(304) on-enter pid(1942) tid(1942)> -<__hipPopCallConfiguration id(171) correlation_id(304) on-exit pid(1942) tid(1942)> - - +<__hipPushCallConfiguration id(46) correlation_id(303) on-enter pid(1942) tid(1942)> +<__hipPushCallConfiguration id(46) correlation_id(303) on-exit pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(304) on-enter pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(304) on-exit pid(1942) tid(1942)> + + rocTX <"after hipLaunchKernel pid(1942) tid(1942)"> rocTX <"hipMemcpy pid(1942) tid(1942)"> dst(0x22c5060) src(0x7f0595000000) size(0x400000) kind(2) - + rocTX <"(null) pid(1942) tid(1942)"> rocTX <"(null) pid(1942) tid(1942)"> PASSED! ptr(0x7f0595600000) - + ptr(0x7f0595000000) - + # START (44) ############################# Device 0 name: Device 687f PASSED! # START (43) ############################# - - - - + + + + Device 0 name: Device 687f ptr(0x7fff13900c60) size(0x400000) *ptr(0x0x7f0595600000) ptr(0x7fff13900c58) size(0x400000) *ptr(0x0x7f0595000000) dst(0x7f0595600000) src(0x1ec5050) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(1942) tid(1942)"> rocTX <"hipLaunchKernel pid(1942) tid(1942)"> -<__hipPushCallConfiguration id(46) correlation_id(314) on-enter pid(1942) tid(1942)> -<__hipPushCallConfiguration id(46) correlation_id(314) on-exit pid(1942) tid(1942)> -<__hipPopCallConfiguration id(171) correlation_id(315) on-enter pid(1942) tid(1942)> -<__hipPopCallConfiguration id(171) correlation_id(315) on-exit pid(1942) tid(1942)> - - +<__hipPushCallConfiguration id(46) correlation_id(314) on-enter pid(1942) tid(1942)> +<__hipPushCallConfiguration id(46) correlation_id(314) on-exit pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(315) on-enter pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(315) on-exit pid(1942) tid(1942)> + + rocTX <"after hipLaunchKernel pid(1942) tid(1942)"> rocTX <"hipMemcpy pid(1942) tid(1942)"> dst(0x22c5060) src(0x7f0595000000) size(0x400000) kind(2) - + rocTX <"(null) pid(1942) tid(1942)"> rocTX <"(null) pid(1942) tid(1942)"> PASSED! ptr(0x7f0595600000) - + ptr(0x7f0595000000) - + # START (42) ############################# Device 0 name: Device 687f PASSED! # START (41) ############################# - - - - + + + + Device 0 name: Device 687f ptr(0x7fff13900c60) size(0x400000) *ptr(0x0x7f0595600000) ptr(0x7fff13900c58) size(0x400000) *ptr(0x0x7f0595000000) dst(0x7f0595600000) src(0x1ec5050) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(1942) tid(1942)"> rocTX <"hipLaunchKernel pid(1942) tid(1942)"> -<__hipPushCallConfiguration id(46) correlation_id(325) on-enter pid(1942) tid(1942)> -<__hipPushCallConfiguration id(46) correlation_id(325) on-exit pid(1942) tid(1942)> -<__hipPopCallConfiguration id(171) correlation_id(326) on-enter pid(1942) tid(1942)> -<__hipPopCallConfiguration id(171) correlation_id(326) on-exit pid(1942) tid(1942)> - - +<__hipPushCallConfiguration id(46) correlation_id(325) on-enter pid(1942) tid(1942)> +<__hipPushCallConfiguration id(46) correlation_id(325) on-exit pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(326) on-enter pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(326) on-exit pid(1942) tid(1942)> + + rocTX <"after hipLaunchKernel pid(1942) tid(1942)"> rocTX <"hipMemcpy pid(1942) tid(1942)"> dst(0x22c5060) src(0x7f0595000000) size(0x400000) kind(2) - + rocTX <"(null) pid(1942) tid(1942)"> rocTX <"(null) pid(1942) tid(1942)"> PASSED! ptr(0x7f0595600000) - + ptr(0x7f0595000000) - + # START (40) ############################# Device 0 name: Device 687f PASSED! # START (39) ############################# - - - - + + + + Device 0 name: Device 687f ptr(0x7fff13900c60) size(0x400000) *ptr(0x0x7f0595600000) ptr(0x7fff13900c58) size(0x400000) *ptr(0x0x7f0595000000) dst(0x7f0595600000) src(0x1ec5050) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(1942) tid(1942)"> rocTX <"hipLaunchKernel pid(1942) tid(1942)"> -<__hipPushCallConfiguration id(46) correlation_id(336) on-enter pid(1942) tid(1942)> -<__hipPushCallConfiguration id(46) correlation_id(336) on-exit pid(1942) tid(1942)> -<__hipPopCallConfiguration id(171) correlation_id(337) on-enter pid(1942) tid(1942)> -<__hipPopCallConfiguration id(171) correlation_id(337) on-exit pid(1942) tid(1942)> - - +<__hipPushCallConfiguration id(46) correlation_id(336) on-enter pid(1942) tid(1942)> +<__hipPushCallConfiguration id(46) correlation_id(336) on-exit pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(337) on-enter pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(337) on-exit pid(1942) tid(1942)> + + rocTX <"after hipLaunchKernel pid(1942) tid(1942)"> rocTX <"hipMemcpy pid(1942) tid(1942)"> dst(0x22c5060) src(0x7f0595000000) size(0x400000) kind(2) - + rocTX <"(null) pid(1942) tid(1942)"> rocTX <"(null) pid(1942) tid(1942)"> PASSED! ptr(0x7f0595600000) - + ptr(0x7f0595000000) - + # START (38) ############################# Device 0 name: Device 687f PASSED! # START (37) ############################# - - - - + + + + Device 0 name: Device 687f ptr(0x7fff13900c60) size(0x400000) *ptr(0x0x7f0595600000) ptr(0x7fff13900c58) size(0x400000) *ptr(0x0x7f0595000000) dst(0x7f0595600000) src(0x1ec5050) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(1942) tid(1942)"> rocTX <"hipLaunchKernel pid(1942) tid(1942)"> -<__hipPushCallConfiguration id(46) correlation_id(347) on-enter pid(1942) tid(1942)> -<__hipPushCallConfiguration id(46) correlation_id(347) on-exit pid(1942) tid(1942)> -<__hipPopCallConfiguration id(171) correlation_id(348) on-enter pid(1942) tid(1942)> -<__hipPopCallConfiguration id(171) correlation_id(348) on-exit pid(1942) tid(1942)> - - +<__hipPushCallConfiguration id(46) correlation_id(347) on-enter pid(1942) tid(1942)> +<__hipPushCallConfiguration id(46) correlation_id(347) on-exit pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(348) on-enter pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(348) on-exit pid(1942) tid(1942)> + + rocTX <"after hipLaunchKernel pid(1942) tid(1942)"> rocTX <"hipMemcpy pid(1942) tid(1942)"> dst(0x22c5060) src(0x7f0595000000) size(0x400000) kind(2) - + rocTX <"(null) pid(1942) tid(1942)"> rocTX <"(null) pid(1942) tid(1942)"> PASSED! ptr(0x7f0595600000) - + ptr(0x7f0595000000) - + # START (36) ############################# Device 0 name: Device 687f PASSED! # START (35) ############################# - - - - + + + + Device 0 name: Device 687f ptr(0x7fff13900c60) size(0x400000) *ptr(0x0x7f0595600000) ptr(0x7fff13900c58) size(0x400000) *ptr(0x0x7f0595000000) dst(0x7f0595600000) src(0x1ec5050) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(1942) tid(1942)"> rocTX <"hipLaunchKernel pid(1942) tid(1942)"> -<__hipPushCallConfiguration id(46) correlation_id(358) on-enter pid(1942) tid(1942)> -<__hipPushCallConfiguration id(46) correlation_id(358) on-exit pid(1942) tid(1942)> -<__hipPopCallConfiguration id(171) correlation_id(359) on-enter pid(1942) tid(1942)> -<__hipPopCallConfiguration id(171) correlation_id(359) on-exit pid(1942) tid(1942)> - - +<__hipPushCallConfiguration id(46) correlation_id(358) on-enter pid(1942) tid(1942)> +<__hipPushCallConfiguration id(46) correlation_id(358) on-exit pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(359) on-enter pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(359) on-exit pid(1942) tid(1942)> + + rocTX <"after hipLaunchKernel pid(1942) tid(1942)"> rocTX <"hipMemcpy pid(1942) tid(1942)"> dst(0x22c5060) src(0x7f0595000000) size(0x400000) kind(2) - + rocTX <"(null) pid(1942) tid(1942)"> rocTX <"(null) pid(1942) tid(1942)"> PASSED! ptr(0x7f0595600000) - + ptr(0x7f0595000000) - + # START (34) ############################# Device 0 name: Device 687f PASSED! # START (33) ############################# - - - - + + + + Device 0 name: Device 687f ptr(0x7fff13900c60) size(0x400000) *ptr(0x0x7f0595600000) ptr(0x7fff13900c58) size(0x400000) *ptr(0x0x7f0595000000) dst(0x7f0595600000) src(0x1ec5050) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(1942) tid(1942)"> rocTX <"hipLaunchKernel pid(1942) tid(1942)"> -<__hipPushCallConfiguration id(46) correlation_id(369) on-enter pid(1942) tid(1942)> -<__hipPushCallConfiguration id(46) correlation_id(369) on-exit pid(1942) tid(1942)> -<__hipPopCallConfiguration id(171) correlation_id(370) on-enter pid(1942) tid(1942)> -<__hipPopCallConfiguration id(171) correlation_id(370) on-exit pid(1942) tid(1942)> - - +<__hipPushCallConfiguration id(46) correlation_id(369) on-enter pid(1942) tid(1942)> +<__hipPushCallConfiguration id(46) correlation_id(369) on-exit pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(370) on-enter pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(370) on-exit pid(1942) tid(1942)> + + rocTX <"after hipLaunchKernel pid(1942) tid(1942)"> rocTX <"hipMemcpy pid(1942) tid(1942)"> dst(0x22c5060) src(0x7f0595000000) size(0x400000) kind(2) - + rocTX <"(null) pid(1942) tid(1942)"> rocTX <"(null) pid(1942) tid(1942)"> PASSED! ptr(0x7f0595600000) - + ptr(0x7f0595000000) - + # START (32) ############################# Device 0 name: Device 687f PASSED! # START (31) ############################# - - - - + + + + Device 0 name: Device 687f ptr(0x7fff13900c60) size(0x400000) *ptr(0x0x7f0595600000) ptr(0x7fff13900c58) size(0x400000) *ptr(0x0x7f0595000000) dst(0x7f0595600000) src(0x1ec5050) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(1942) tid(1942)"> rocTX <"hipLaunchKernel pid(1942) tid(1942)"> -<__hipPushCallConfiguration id(46) correlation_id(380) on-enter pid(1942) tid(1942)> -<__hipPushCallConfiguration id(46) correlation_id(380) on-exit pid(1942) tid(1942)> -<__hipPopCallConfiguration id(171) correlation_id(381) on-enter pid(1942) tid(1942)> -<__hipPopCallConfiguration id(171) correlation_id(381) on-exit pid(1942) tid(1942)> - - +<__hipPushCallConfiguration id(46) correlation_id(380) on-enter pid(1942) tid(1942)> +<__hipPushCallConfiguration id(46) correlation_id(380) on-exit pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(381) on-enter pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(381) on-exit pid(1942) tid(1942)> + + rocTX <"after hipLaunchKernel pid(1942) tid(1942)"> rocTX <"hipMemcpy pid(1942) tid(1942)"> dst(0x22c5060) src(0x7f0595000000) size(0x400000) kind(2) - + rocTX <"(null) pid(1942) tid(1942)"> rocTX <"(null) pid(1942) tid(1942)"> PASSED! ptr(0x7f0595600000) - + ptr(0x7f0595000000) - + # START (30) ############################# Device 0 name: Device 687f PASSED! # START (29) ############################# - - - - + + + + Device 0 name: Device 687f ptr(0x7fff13900c60) size(0x400000) *ptr(0x0x7f0595600000) ptr(0x7fff13900c58) size(0x400000) *ptr(0x0x7f0595000000) dst(0x7f0595600000) src(0x1ec5050) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(1942) tid(1942)"> rocTX <"hipLaunchKernel pid(1942) tid(1942)"> -<__hipPushCallConfiguration id(46) correlation_id(391) on-enter pid(1942) tid(1942)> -<__hipPushCallConfiguration id(46) correlation_id(391) on-exit pid(1942) tid(1942)> -<__hipPopCallConfiguration id(171) correlation_id(392) on-enter pid(1942) tid(1942)> -<__hipPopCallConfiguration id(171) correlation_id(392) on-exit pid(1942) tid(1942)> - - +<__hipPushCallConfiguration id(46) correlation_id(391) on-enter pid(1942) tid(1942)> +<__hipPushCallConfiguration id(46) correlation_id(391) on-exit pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(392) on-enter pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(392) on-exit pid(1942) tid(1942)> + + rocTX <"after hipLaunchKernel pid(1942) tid(1942)"> rocTX <"hipMemcpy pid(1942) tid(1942)"> dst(0x22c5060) src(0x7f0595000000) size(0x400000) kind(2) - + rocTX <"(null) pid(1942) tid(1942)"> rocTX <"(null) pid(1942) tid(1942)"> PASSED! ptr(0x7f0595600000) - + ptr(0x7f0595000000) - + # START (28) ############################# Device 0 name: Device 687f PASSED! # START (27) ############################# - - - - + + + + Device 0 name: Device 687f ptr(0x7fff13900c60) size(0x400000) *ptr(0x0x7f0595600000) ptr(0x7fff13900c58) size(0x400000) *ptr(0x0x7f0595000000) dst(0x7f0595600000) src(0x1ec5050) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(1942) tid(1942)"> rocTX <"hipLaunchKernel pid(1942) tid(1942)"> -<__hipPushCallConfiguration id(46) correlation_id(402) on-enter pid(1942) tid(1942)> -<__hipPushCallConfiguration id(46) correlation_id(402) on-exit pid(1942) tid(1942)> -<__hipPopCallConfiguration id(171) correlation_id(403) on-enter pid(1942) tid(1942)> -<__hipPopCallConfiguration id(171) correlation_id(403) on-exit pid(1942) tid(1942)> - - +<__hipPushCallConfiguration id(46) correlation_id(402) on-enter pid(1942) tid(1942)> +<__hipPushCallConfiguration id(46) correlation_id(402) on-exit pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(403) on-enter pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(403) on-exit pid(1942) tid(1942)> + + rocTX <"after hipLaunchKernel pid(1942) tid(1942)"> rocTX <"hipMemcpy pid(1942) tid(1942)"> dst(0x22c5060) src(0x7f0595000000) size(0x400000) kind(2) - + rocTX <"(null) pid(1942) tid(1942)"> rocTX <"(null) pid(1942) tid(1942)"> PASSED! ptr(0x7f0595600000) - + ptr(0x7f0595000000) - + # START (26) ############################# Device 0 name: Device 687f PASSED! # START (25) ############################# - - - - + + + + Device 0 name: Device 687f ptr(0x7fff13900c60) size(0x400000) *ptr(0x0x7f0595600000) ptr(0x7fff13900c58) size(0x400000) *ptr(0x0x7f0595000000) dst(0x7f0595600000) src(0x1ec5050) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(1942) tid(1942)"> rocTX <"hipLaunchKernel pid(1942) tid(1942)"> -<__hipPushCallConfiguration id(46) correlation_id(413) on-enter pid(1942) tid(1942)> -<__hipPushCallConfiguration id(46) correlation_id(413) on-exit pid(1942) tid(1942)> -<__hipPopCallConfiguration id(171) correlation_id(414) on-enter pid(1942) tid(1942)> -<__hipPopCallConfiguration id(171) correlation_id(414) on-exit pid(1942) tid(1942)> - - +<__hipPushCallConfiguration id(46) correlation_id(413) on-enter pid(1942) tid(1942)> +<__hipPushCallConfiguration id(46) correlation_id(413) on-exit pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(414) on-enter pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(414) on-exit pid(1942) tid(1942)> + + rocTX <"after hipLaunchKernel pid(1942) tid(1942)"> rocTX <"hipMemcpy pid(1942) tid(1942)"> dst(0x22c5060) src(0x7f0595000000) size(0x400000) kind(2) - + rocTX <"(null) pid(1942) tid(1942)"> rocTX <"(null) pid(1942) tid(1942)"> PASSED! ptr(0x7f0595600000) - + ptr(0x7f0595000000) - + # START (24) ############################# Device 0 name: Device 687f PASSED! # START (23) ############################# - - - - + + + + Device 0 name: Device 687f ptr(0x7fff13900c60) size(0x400000) *ptr(0x0x7f0595600000) ptr(0x7fff13900c58) size(0x400000) *ptr(0x0x7f0595000000) dst(0x7f0595600000) src(0x1ec5050) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(1942) tid(1942)"> rocTX <"hipLaunchKernel pid(1942) tid(1942)"> -<__hipPushCallConfiguration id(46) correlation_id(424) on-enter pid(1942) tid(1942)> -<__hipPushCallConfiguration id(46) correlation_id(424) on-exit pid(1942) tid(1942)> -<__hipPopCallConfiguration id(171) correlation_id(425) on-enter pid(1942) tid(1942)> -<__hipPopCallConfiguration id(171) correlation_id(425) on-exit pid(1942) tid(1942)> - - +<__hipPushCallConfiguration id(46) correlation_id(424) on-enter pid(1942) tid(1942)> +<__hipPushCallConfiguration id(46) correlation_id(424) on-exit pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(425) on-enter pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(425) on-exit pid(1942) tid(1942)> + + rocTX <"after hipLaunchKernel pid(1942) tid(1942)"> rocTX <"hipMemcpy pid(1942) tid(1942)"> dst(0x22c5060) src(0x7f0595000000) size(0x400000) kind(2) - + rocTX <"(null) pid(1942) tid(1942)"> rocTX <"(null) pid(1942) tid(1942)"> PASSED! ptr(0x7f0595600000) - + ptr(0x7f0595000000) - + # START (22) ############################# Device 0 name: Device 687f PASSED! # START (21) ############################# - - - - + + + + Device 0 name: Device 687f ptr(0x7fff13900c60) size(0x400000) *ptr(0x0x7f0595600000) ptr(0x7fff13900c58) size(0x400000) *ptr(0x0x7f0595000000) dst(0x7f0595600000) src(0x1ec5050) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(1942) tid(1942)"> rocTX <"hipLaunchKernel pid(1942) tid(1942)"> -<__hipPushCallConfiguration id(46) correlation_id(435) on-enter pid(1942) tid(1942)> -<__hipPushCallConfiguration id(46) correlation_id(435) on-exit pid(1942) tid(1942)> -<__hipPopCallConfiguration id(171) correlation_id(436) on-enter pid(1942) tid(1942)> -<__hipPopCallConfiguration id(171) correlation_id(436) on-exit pid(1942) tid(1942)> - - +<__hipPushCallConfiguration id(46) correlation_id(435) on-enter pid(1942) tid(1942)> +<__hipPushCallConfiguration id(46) correlation_id(435) on-exit pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(436) on-enter pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(436) on-exit pid(1942) tid(1942)> + + rocTX <"after hipLaunchKernel pid(1942) tid(1942)"> rocTX <"hipMemcpy pid(1942) tid(1942)"> dst(0x22c5060) src(0x7f0595000000) size(0x400000) kind(2) - + rocTX <"(null) pid(1942) tid(1942)"> rocTX <"(null) pid(1942) tid(1942)"> PASSED! ptr(0x7f0595600000) - + ptr(0x7f0595000000) - + # START (20) ############################# Device 0 name: Device 687f PASSED! # START (19) ############################# - - - - + + + + Device 0 name: Device 687f ptr(0x7fff13900c60) size(0x400000) *ptr(0x0x7f0595600000) ptr(0x7fff13900c58) size(0x400000) *ptr(0x0x7f0595000000) dst(0x7f0595600000) src(0x1ec5050) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(1942) tid(1942)"> rocTX <"hipLaunchKernel pid(1942) tid(1942)"> -<__hipPushCallConfiguration id(46) correlation_id(446) on-enter pid(1942) tid(1942)> -<__hipPushCallConfiguration id(46) correlation_id(446) on-exit pid(1942) tid(1942)> -<__hipPopCallConfiguration id(171) correlation_id(447) on-enter pid(1942) tid(1942)> -<__hipPopCallConfiguration id(171) correlation_id(447) on-exit pid(1942) tid(1942)> - - +<__hipPushCallConfiguration id(46) correlation_id(446) on-enter pid(1942) tid(1942)> +<__hipPushCallConfiguration id(46) correlation_id(446) on-exit pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(447) on-enter pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(447) on-exit pid(1942) tid(1942)> + + rocTX <"after hipLaunchKernel pid(1942) tid(1942)"> rocTX <"hipMemcpy pid(1942) tid(1942)"> dst(0x22c5060) src(0x7f0595000000) size(0x400000) kind(2) - + rocTX <"(null) pid(1942) tid(1942)"> rocTX <"(null) pid(1942) tid(1942)"> PASSED! ptr(0x7f0595600000) - + ptr(0x7f0595000000) - + # START (18) ############################# Device 0 name: Device 687f PASSED! # START (17) ############################# - - - - + + + + Device 0 name: Device 687f ptr(0x7fff13900c60) size(0x400000) *ptr(0x0x7f0595600000) ptr(0x7fff13900c58) size(0x400000) *ptr(0x0x7f0595000000) dst(0x7f0595600000) src(0x1ec5050) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(1942) tid(1942)"> rocTX <"hipLaunchKernel pid(1942) tid(1942)"> -<__hipPushCallConfiguration id(46) correlation_id(457) on-enter pid(1942) tid(1942)> -<__hipPushCallConfiguration id(46) correlation_id(457) on-exit pid(1942) tid(1942)> -<__hipPopCallConfiguration id(171) correlation_id(458) on-enter pid(1942) tid(1942)> -<__hipPopCallConfiguration id(171) correlation_id(458) on-exit pid(1942) tid(1942)> - - +<__hipPushCallConfiguration id(46) correlation_id(457) on-enter pid(1942) tid(1942)> +<__hipPushCallConfiguration id(46) correlation_id(457) on-exit pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(458) on-enter pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(458) on-exit pid(1942) tid(1942)> + + rocTX <"after hipLaunchKernel pid(1942) tid(1942)"> rocTX <"hipMemcpy pid(1942) tid(1942)"> dst(0x22c5060) src(0x7f0595000000) size(0x400000) kind(2) - + rocTX <"(null) pid(1942) tid(1942)"> rocTX <"(null) pid(1942) tid(1942)"> PASSED! ptr(0x7f0595600000) - + ptr(0x7f0595000000) - + # START (16) ############################# Device 0 name: Device 687f PASSED! # START (15) ############################# - - - - + + + + Device 0 name: Device 687f ptr(0x7fff13900c60) size(0x400000) *ptr(0x0x7f0595600000) ptr(0x7fff13900c58) size(0x400000) *ptr(0x0x7f0595000000) dst(0x7f0595600000) src(0x1ec5050) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(1942) tid(1942)"> rocTX <"hipLaunchKernel pid(1942) tid(1942)"> -<__hipPushCallConfiguration id(46) correlation_id(468) on-enter pid(1942) tid(1942)> -<__hipPushCallConfiguration id(46) correlation_id(468) on-exit pid(1942) tid(1942)> -<__hipPopCallConfiguration id(171) correlation_id(469) on-enter pid(1942) tid(1942)> -<__hipPopCallConfiguration id(171) correlation_id(469) on-exit pid(1942) tid(1942)> - - +<__hipPushCallConfiguration id(46) correlation_id(468) on-enter pid(1942) tid(1942)> +<__hipPushCallConfiguration id(46) correlation_id(468) on-exit pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(469) on-enter pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(469) on-exit pid(1942) tid(1942)> + + rocTX <"after hipLaunchKernel pid(1942) tid(1942)"> rocTX <"hipMemcpy pid(1942) tid(1942)"> dst(0x22c5060) src(0x7f0595000000) size(0x400000) kind(2) - + rocTX <"(null) pid(1942) tid(1942)"> rocTX <"(null) pid(1942) tid(1942)"> Activity records: @@ -1586,247 +1586,247 @@ rocTX <"(null) pid(1942) tid(1942)"> KernelExecution correlation_id(470) time_ns(3802690580319188:3802690581513467) device_id(0) queue_id(0) PASSED! ptr(0x7f0595600000) - + ptr(0x7f0595000000) - + # START (14) ############################# Device 0 name: Device 687f PASSED! # START (13) ############################# - - - - + + + + Device 0 name: Device 687f ptr(0x7fff13900c60) size(0x400000) *ptr(0x0x7f0595600000) ptr(0x7fff13900c58) size(0x400000) *ptr(0x0x7f0595000000) dst(0x7f0595600000) src(0x1ec5050) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(1942) tid(1942)"> rocTX <"hipLaunchKernel pid(1942) tid(1942)"> -<__hipPushCallConfiguration id(46) correlation_id(479) on-enter pid(1942) tid(1942)> -<__hipPushCallConfiguration id(46) correlation_id(479) on-exit pid(1942) tid(1942)> -<__hipPopCallConfiguration id(171) correlation_id(480) on-enter pid(1942) tid(1942)> -<__hipPopCallConfiguration id(171) correlation_id(480) on-exit pid(1942) tid(1942)> - - +<__hipPushCallConfiguration id(46) correlation_id(479) on-enter pid(1942) tid(1942)> +<__hipPushCallConfiguration id(46) correlation_id(479) on-exit pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(480) on-enter pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(480) on-exit pid(1942) tid(1942)> + + rocTX <"after hipLaunchKernel pid(1942) tid(1942)"> rocTX <"hipMemcpy pid(1942) tid(1942)"> dst(0x22c5060) src(0x7f0595000000) size(0x400000) kind(2) - + rocTX <"(null) pid(1942) tid(1942)"> rocTX <"(null) pid(1942) tid(1942)"> PASSED! ptr(0x7f0595600000) - + ptr(0x7f0595000000) - + # START (12) ############################# Device 0 name: Device 687f PASSED! # START (11) ############################# - - - - + + + + Device 0 name: Device 687f ptr(0x7fff13900c60) size(0x400000) *ptr(0x0x7f0595600000) ptr(0x7fff13900c58) size(0x400000) *ptr(0x0x7f0595000000) dst(0x7f0595600000) src(0x1ec5050) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(1942) tid(1942)"> rocTX <"hipLaunchKernel pid(1942) tid(1942)"> -<__hipPushCallConfiguration id(46) correlation_id(490) on-enter pid(1942) tid(1942)> -<__hipPushCallConfiguration id(46) correlation_id(490) on-exit pid(1942) tid(1942)> -<__hipPopCallConfiguration id(171) correlation_id(491) on-enter pid(1942) tid(1942)> -<__hipPopCallConfiguration id(171) correlation_id(491) on-exit pid(1942) tid(1942)> - - +<__hipPushCallConfiguration id(46) correlation_id(490) on-enter pid(1942) tid(1942)> +<__hipPushCallConfiguration id(46) correlation_id(490) on-exit pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(491) on-enter pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(491) on-exit pid(1942) tid(1942)> + + rocTX <"after hipLaunchKernel pid(1942) tid(1942)"> rocTX <"hipMemcpy pid(1942) tid(1942)"> dst(0x22c5060) src(0x7f0595000000) size(0x400000) kind(2) - + rocTX <"(null) pid(1942) tid(1942)"> rocTX <"(null) pid(1942) tid(1942)"> PASSED! ptr(0x7f0595600000) - + ptr(0x7f0595000000) - + # START (10) ############################# Device 0 name: Device 687f PASSED! # START (9) ############################# - - - - + + + + Device 0 name: Device 687f ptr(0x7fff13900c60) size(0x400000) *ptr(0x0x7f0595600000) ptr(0x7fff13900c58) size(0x400000) *ptr(0x0x7f0595000000) dst(0x7f0595600000) src(0x1ec5050) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(1942) tid(1942)"> rocTX <"hipLaunchKernel pid(1942) tid(1942)"> -<__hipPushCallConfiguration id(46) correlation_id(501) on-enter pid(1942) tid(1942)> -<__hipPushCallConfiguration id(46) correlation_id(501) on-exit pid(1942) tid(1942)> -<__hipPopCallConfiguration id(171) correlation_id(502) on-enter pid(1942) tid(1942)> -<__hipPopCallConfiguration id(171) correlation_id(502) on-exit pid(1942) tid(1942)> - - +<__hipPushCallConfiguration id(46) correlation_id(501) on-enter pid(1942) tid(1942)> +<__hipPushCallConfiguration id(46) correlation_id(501) on-exit pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(502) on-enter pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(502) on-exit pid(1942) tid(1942)> + + rocTX <"after hipLaunchKernel pid(1942) tid(1942)"> rocTX <"hipMemcpy pid(1942) tid(1942)"> dst(0x22c5060) src(0x7f0595000000) size(0x400000) kind(2) - + rocTX <"(null) pid(1942) tid(1942)"> rocTX <"(null) pid(1942) tid(1942)"> PASSED! ptr(0x7f0595600000) - + ptr(0x7f0595000000) - + # START (8) ############################# Device 0 name: Device 687f PASSED! # START (7) ############################# - - - - + + + + Device 0 name: Device 687f ptr(0x7fff13900c60) size(0x400000) *ptr(0x0x7f0595600000) ptr(0x7fff13900c58) size(0x400000) *ptr(0x0x7f0595000000) dst(0x7f0595600000) src(0x1ec5050) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(1942) tid(1942)"> rocTX <"hipLaunchKernel pid(1942) tid(1942)"> -<__hipPushCallConfiguration id(46) correlation_id(512) on-enter pid(1942) tid(1942)> -<__hipPushCallConfiguration id(46) correlation_id(512) on-exit pid(1942) tid(1942)> -<__hipPopCallConfiguration id(171) correlation_id(513) on-enter pid(1942) tid(1942)> -<__hipPopCallConfiguration id(171) correlation_id(513) on-exit pid(1942) tid(1942)> - - +<__hipPushCallConfiguration id(46) correlation_id(512) on-enter pid(1942) tid(1942)> +<__hipPushCallConfiguration id(46) correlation_id(512) on-exit pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(513) on-enter pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(513) on-exit pid(1942) tid(1942)> + + rocTX <"after hipLaunchKernel pid(1942) tid(1942)"> rocTX <"hipMemcpy pid(1942) tid(1942)"> dst(0x22c5060) src(0x7f0595000000) size(0x400000) kind(2) - + rocTX <"(null) pid(1942) tid(1942)"> rocTX <"(null) pid(1942) tid(1942)"> PASSED! ptr(0x7f0595600000) - + ptr(0x7f0595000000) - + # START (6) ############################# Device 0 name: Device 687f PASSED! # START (5) ############################# - - - - + + + + Device 0 name: Device 687f ptr(0x7fff13900c60) size(0x400000) *ptr(0x0x7f0595600000) ptr(0x7fff13900c58) size(0x400000) *ptr(0x0x7f0595000000) dst(0x7f0595600000) src(0x1ec5050) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(1942) tid(1942)"> rocTX <"hipLaunchKernel pid(1942) tid(1942)"> -<__hipPushCallConfiguration id(46) correlation_id(523) on-enter pid(1942) tid(1942)> -<__hipPushCallConfiguration id(46) correlation_id(523) on-exit pid(1942) tid(1942)> -<__hipPopCallConfiguration id(171) correlation_id(524) on-enter pid(1942) tid(1942)> -<__hipPopCallConfiguration id(171) correlation_id(524) on-exit pid(1942) tid(1942)> - - +<__hipPushCallConfiguration id(46) correlation_id(523) on-enter pid(1942) tid(1942)> +<__hipPushCallConfiguration id(46) correlation_id(523) on-exit pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(524) on-enter pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(524) on-exit pid(1942) tid(1942)> + + rocTX <"after hipLaunchKernel pid(1942) tid(1942)"> rocTX <"hipMemcpy pid(1942) tid(1942)"> dst(0x22c5060) src(0x7f0595000000) size(0x400000) kind(2) - + rocTX <"(null) pid(1942) tid(1942)"> rocTX <"(null) pid(1942) tid(1942)"> PASSED! ptr(0x7f0595600000) - + ptr(0x7f0595000000) - + # START (4) ############################# Device 0 name: Device 687f PASSED! # START (3) ############################# - - - - + + + + Device 0 name: Device 687f ptr(0x7fff13900c60) size(0x400000) *ptr(0x0x7f0595600000) ptr(0x7fff13900c58) size(0x400000) *ptr(0x0x7f0595000000) dst(0x7f0595600000) src(0x1ec5050) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(1942) tid(1942)"> rocTX <"hipLaunchKernel pid(1942) tid(1942)"> -<__hipPushCallConfiguration id(46) correlation_id(534) on-enter pid(1942) tid(1942)> -<__hipPushCallConfiguration id(46) correlation_id(534) on-exit pid(1942) tid(1942)> -<__hipPopCallConfiguration id(171) correlation_id(535) on-enter pid(1942) tid(1942)> -<__hipPopCallConfiguration id(171) correlation_id(535) on-exit pid(1942) tid(1942)> - - +<__hipPushCallConfiguration id(46) correlation_id(534) on-enter pid(1942) tid(1942)> +<__hipPushCallConfiguration id(46) correlation_id(534) on-exit pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(535) on-enter pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(535) on-exit pid(1942) tid(1942)> + + rocTX <"after hipLaunchKernel pid(1942) tid(1942)"> rocTX <"hipMemcpy pid(1942) tid(1942)"> dst(0x22c5060) src(0x7f0595000000) size(0x400000) kind(2) - + rocTX <"(null) pid(1942) tid(1942)"> rocTX <"(null) pid(1942) tid(1942)"> PASSED! ptr(0x7f0595600000) - + ptr(0x7f0595000000) - + # START (2) ############################# Device 0 name: Device 687f PASSED! # START (1) ############################# - - - - + + + + Device 0 name: Device 687f ptr(0x7fff13900c60) size(0x400000) *ptr(0x0x7f0595600000) ptr(0x7fff13900c58) size(0x400000) *ptr(0x0x7f0595000000) dst(0x7f0595600000) src(0x1ec5050) size(0x400000) kind(1) - + rocTX <"before hipLaunchKernel pid(1942) tid(1942)"> rocTX <"hipLaunchKernel pid(1942) tid(1942)"> -<__hipPushCallConfiguration id(46) correlation_id(545) on-enter pid(1942) tid(1942)> -<__hipPushCallConfiguration id(46) correlation_id(545) on-exit pid(1942) tid(1942)> -<__hipPopCallConfiguration id(171) correlation_id(546) on-enter pid(1942) tid(1942)> -<__hipPopCallConfiguration id(171) correlation_id(546) on-exit pid(1942) tid(1942)> - - +<__hipPushCallConfiguration id(46) correlation_id(545) on-enter pid(1942) tid(1942)> +<__hipPushCallConfiguration id(46) correlation_id(545) on-exit pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(546) on-enter pid(1942) tid(1942)> +<__hipPopCallConfiguration id(171) correlation_id(546) on-exit pid(1942) tid(1942)> + + rocTX <"after hipLaunchKernel pid(1942) tid(1942)"> rocTX <"hipMemcpy pid(1942) tid(1942)"> dst(0x22c5060) src(0x7f0595000000) size(0x400000) kind(2) - + rocTX <"(null) pid(1942) tid(1942)"> rocTX <"(null) pid(1942) tid(1942)"> PASSED! ptr(0x7f0595600000) - + ptr(0x7f0595000000) - + # START (0) ############################# Device 0 name: Device 687f PASSED! diff --git a/test/golden_traces/multi_pool_activities_trace.txt b/test/golden_traces/multi_pool_activities_trace.txt index fda368860b..8bf117b78d 100644 --- a/test/golden_traces/multi_pool_activities_trace.txt +++ b/test/golden_traces/multi_pool_activities_trace.txt @@ -1,13 +1,3 @@ - :KernelExecution : correlation_id(0) time_ns(109660011583441:109660011588241) - :KernelExecution : correlation_id(0) time_ns(109660011855280:109660011859600) - :KernelExecution : correlation_id(0) time_ns(109660011969840:109660011973679) - :KernelExecution : correlation_id(0) time_ns(109660012037039:109660012041199) - :KernelExecution : correlation_id(0) time_ns(109660012081199:109660012084559) - :KernelExecution : correlation_id(0) time_ns(109660012122799:109660012126159) - :KernelExecution : correlation_id(0) time_ns(109660012164399:109660012168239) - :KernelExecution : correlation_id(0) time_ns(109660012206158:109660012209838) - :KernelExecution : correlation_id(0) time_ns(109660012247118:109660012250478) - :KernelExecution : correlation_id(0) time_ns(109660012289678:109660012293518) :CopyHostToDevice : correlation_id(1) time_ns(109660008446578:109660008452178) :hipMemcpy : correlation_id(1) time_ns(109659777462237:109660008474607) :CopyHostToDevice : correlation_id(2) time_ns(109660011646881:109660011651041) From dbfe955d57d3bcde217f6b81dfc68670d290216a Mon Sep 17 00:00:00 2001 From: Ammar ELWazir Date: Mon, 30 Oct 2023 16:53:21 +0000 Subject: [PATCH 659/691] Fixing initialization of ROCTx for the tool in the default constructor Change-Id: I12a3bbde4420a9eb8d734c546169a11cb23237dd --- src/tracer_tool/tracer_tool.cpp | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/src/tracer_tool/tracer_tool.cpp b/src/tracer_tool/tracer_tool.cpp index 7898120f24..d8fdd9cdd1 100644 --- a/src/tracer_tool/tracer_tool.cpp +++ b/src/tracer_tool/tracer_tool.cpp @@ -53,6 +53,8 @@ #include "trace_buffer.h" #include "xml.h" +void initialize() __attribute__((constructor(101))); + namespace fs = std::experimental::filesystem; // Macro to check ROC-tracer calls status @@ -551,14 +553,6 @@ void tool_load() { if (is_loaded == true) return; is_loaded = true; - // Load output plugin - const char* plugin_name = getenv("ROCTRACER_PLUGIN_LIB"); - if (plugin_name == nullptr) plugin_name = "libfile_plugin.so"; - if (Dl_info dl_info; dladdr((void*)tool_load, &dl_info) != 0) { - if (!plugin.emplace(fs::path(dl_info.dli_fname).replace_filename(plugin_name)).is_valid()) - plugin.reset(); - } - // API traces switches const char* trace_domain = getenv("ROCTRACER_DOMAIN"); if (trace_domain != nullptr) { @@ -698,6 +692,14 @@ ROCTRACER_EXPORT bool OnLoad(HsaApiTable* table, uint64_t runtime_version, return true; } + // Load output plugin + const char* plugin_name = getenv("ROCTRACER_PLUGIN_LIB"); + if (plugin_name == nullptr) plugin_name = "libfile_plugin.so"; + if (Dl_info dl_info; dladdr((void*)tool_load, &dl_info) != 0) { + if (!plugin.emplace(fs::path(dl_info.dli_fname).replace_filename(plugin_name)).is_valid()) + plugin.reset(); + } + tool_load(); // OnUnload may not be called if the ROC runtime is not shutdown by the client @@ -786,3 +788,7 @@ ROCTRACER_EXPORT bool OnLoad(HsaApiTable* table, uint64_t runtime_version, ROCTRACER_EXPORT void OnUnload() { tool_unload(); } } // extern "C" + +void initialize() { + tool_load(); +} From a7d8bd521c2e1187cf6098fc5ab53dcce72ce07e Mon Sep 17 00:00:00 2001 From: Ammar ELWazir Date: Wed, 8 Nov 2023 16:33:01 +0000 Subject: [PATCH 660/691] SWDEV-430956: resolving the issue with V1 script reading long kernel names Change-Id: I30069e28dbcc8edf2b4b41a8afd6ca4014427da7 --- plugin/file/file.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugin/file/file.cpp b/plugin/file/file.cpp index 5c6860ee32..c00753cdb5 100644 --- a/plugin/file/file.cpp +++ b/plugin/file/file.cpp @@ -318,7 +318,7 @@ class file_plugin_t { ss << std::dec << begin->begin_ns << ":" << begin->end_ns << " " << begin->device_id << ":" << begin->queue_id << " " << ((begin->op == HIP_OP_ID_DISPATCH && begin->kernel_name != nullptr) - ? cxx_demangle(begin->kernel_name) + ? truncate_name(cxx_demangle(begin->kernel_name)) : name) << ":" << begin->correlation_id << ":" << GetPid() << "\n"; *output_file << ss.str(); From aa3c07c25713ab14ffba5450abed0ea96efadb6a Mon Sep 17 00:00:00 2001 From: Ammar ELWazir Date: Wed, 1 Nov 2023 15:06:54 +0000 Subject: [PATCH 661/691] Fixing ROCTracer to match versioning changes in HIP Runtime Change-Id: Ibde2419314824f12acb4cf51dc675cb14a51851c --- inc/roctracer_hip.h | 1 + script/gen_ostream_ops.py | 9 +- src/CMakeLists.txt | 2 +- src/roctracer/hip_full_api.h | 2 + .../MatrixTranspose_hip_flush_trace.txt | 2 +- .../MatrixTranspose_hip_period_trace.txt | 2 +- .../MatrixTranspose_hipaact_test_trace.txt | 300 +++++++++--------- .../MatrixTranspose_mgpu_trace.txt | 200 ++++++------ .../MatrixTranspose_sys_hsa_trace.txt | 4 +- .../MatrixTranspose_sys_trace.txt | 2 +- .../MatrixTranspose_test_trace.txt | 200 ++++++------ 11 files changed, 367 insertions(+), 357 deletions(-) create mode 100644 src/roctracer/hip_full_api.h diff --git a/inc/roctracer_hip.h b/inc/roctracer_hip.h index 5bfab84b23..a278382f43 100644 --- a/inc/roctracer_hip.h +++ b/inc/roctracer_hip.h @@ -24,6 +24,7 @@ #include "roctracer.h" #include +#include #include "hip_ostream_ops.h" #include diff --git a/script/gen_ostream_ops.py b/script/gen_ostream_ops.py index 8239f5860b..71db338490 100755 --- a/script/gen_ostream_ops.py +++ b/script/gen_ostream_ops.py @@ -197,7 +197,14 @@ def gen_cppheader(infilepath, outfilepath, rank): header_s = \ '#ifndef INC_' + apiname + '_OSTREAM_OPS_H_\n' + \ '#define INC_' + apiname + '_OSTREAM_OPS_H_\n' + \ - '\n' + \ + '\n' + if apiname.upper() == 'HIP': + header_s = \ + header_s + \ + '#include \n' + \ + '#include \n' + header_s = \ + header_s + \ '#include "roctracer.h"\n' + \ '\n' + \ '#ifdef __cplusplus\n' + \ diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 26cfc4bef7..0c15c4d120 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -84,7 +84,7 @@ find_file(HIP_RUNTIME_API_H hip_runtime_api.h add_custom_command( OUTPUT hip_ostream_ops.h COMMAND ${CMAKE_C_COMPILER} "$<$:-I$-I>>" - -E "${HIP_RUNTIME_API_H}" -D__HIP_PLATFORM_AMD__=1 -D__HIP_ROCclr__=1 -o hip_runtime_api.h.i + -E "${CMAKE_CURRENT_SOURCE_DIR}/roctracer/hip_full_api.h" -D__HIP_PLATFORM_AMD__=1 -D__HIP_ROCclr__=1 -o hip_runtime_api.h.i BYPRODUCTS hip_runtime_api.h.i COMMAND ${Python3_EXECUTABLE} ${PROJECT_SOURCE_DIR}/script/gen_ostream_ops.py -in hip_runtime_api.h.i -out hip_ostream_ops.h > /dev/null diff --git a/src/roctracer/hip_full_api.h b/src/roctracer/hip_full_api.h new file mode 100644 index 0000000000..ebbd68d5c4 --- /dev/null +++ b/src/roctracer/hip_full_api.h @@ -0,0 +1,2 @@ +#include +#include \ No newline at end of file diff --git a/test/golden_traces/MatrixTranspose_hip_flush_trace.txt b/test/golden_traces/MatrixTranspose_hip_flush_trace.txt index 630dc0ea25..3fd8136276 100644 --- a/test/golden_traces/MatrixTranspose_hip_flush_trace.txt +++ b/test/golden_traces/MatrixTranspose_hip_flush_trace.txt @@ -8,7 +8,7 @@ ROCtracer (35331): ROCtracer: trace control flush rate(100000us) HIP-trace(*) -6503209734529563:6503209734531917 35331:35331 hipGetDeviceProperties(props={pageableMemoryAccessUsesHostPageTables=0, pageableMemoryAccess=0, concurrentManagedAccess=1, directManagedMemAccessFromHost=0, managedMemory=1, asicRevision=1, isLargeBar=1, cooperativeMultiDeviceUnmatchedSharedMem=1, cooperativeMultiDeviceUnmatchedBlockDim=1, cooperativeMultiDeviceUnmatchedGridDim=1, cooperativeMultiDeviceUnmatchedFunc=1, tccDriver=0, ECCEnabled=0, kernelExecTimeoutEnabled=0, texturePitchAlignment=256, textureAlignment=256, memPitch=2147483647, hdpRegFlushCntl=0x7f1f3948c004, hdpMemFlushCntl=0x7f1f3948c000, maxTexture3D=0x7f1e76c31318, maxTexture2D=0x7f1e76c31310, maxTexture1D=16384, maxTexture1DLinear=2147483647, cooperativeMultiDeviceLaunch=1, cooperativeLaunch=1, integrated=0, gcnArchName="gfx90a:sramecc+:xnack-", gcnArch=910, canMapHostMemory=1, isMultiGpuBoard=0, maxSharedMemoryPerMultiProcessor=65536, pciDeviceID=0, pciBusID=74, pciDomainID=0, concurrentKernels=1, arch={}, clockInstructionRate=1000000, computeMode=0, maxThreadsPerMultiProcessor=2048, l2CacheSize=8388608, multiProcessorCount=104, minor=0, major=9, totalConstMem=2147483647, memoryBusWidth=4096, memoryClockRate=1600000, clockRate=1700000, maxGridSize=0x7f1e76c31198, maxThreadsDim=0x7f1e76c3118c, maxThreadsPerBlock=1024, warpSize=64, regsPerBlock=65536, sharedMemPerBlock=65536, totalGlobalMem=68702699520, name="AMD Instinct MI210"}, device=0) :1 +6503209734529563:6503209734531917 35331:35331 hipGetDevicePropertiesR0600(props={pageableMemoryAccessUsesHostPageTables=0, pageableMemoryAccess=0, concurrentManagedAccess=1, directManagedMemAccessFromHost=0, managedMemory=1, asicRevision=1, isLargeBar=1, cooperativeMultiDeviceUnmatchedSharedMem=1, cooperativeMultiDeviceUnmatchedBlockDim=1, cooperativeMultiDeviceUnmatchedGridDim=1, cooperativeMultiDeviceUnmatchedFunc=1, tccDriver=0, ECCEnabled=0, kernelExecTimeoutEnabled=0, texturePitchAlignment=256, textureAlignment=256, memPitch=2147483647, hdpRegFlushCntl=0x7f1f3948c004, hdpMemFlushCntl=0x7f1f3948c000, maxTexture3D=0x7f1e76c31318, maxTexture2D=0x7f1e76c31310, maxTexture1D=16384, maxTexture1DLinear=2147483647, cooperativeMultiDeviceLaunch=1, cooperativeLaunch=1, integrated=0, gcnArchName="gfx90a:sramecc+:xnack-", gcnArch=910, canMapHostMemory=1, isMultiGpuBoard=0, maxSharedMemoryPerMultiProcessor=65536, pciDeviceID=0, pciBusID=74, pciDomainID=0, concurrentKernels=1, arch={}, clockInstructionRate=1000000, computeMode=0, maxThreadsPerMultiProcessor=2048, l2CacheSize=8388608, multiProcessorCount=104, minor=0, major=9, totalConstMem=2147483647, memoryBusWidth=4096, memoryClockRate=1600000, clockRate=1700000, maxGridSize=0x7f1e76c31198, maxThreadsDim=0x7f1e76c3118c, maxThreadsPerBlock=1024, warpSize=64, regsPerBlock=65536, sharedMemPerBlock=65536, totalGlobalMem=68702699520, name="AMD Instinct MI210"}, device=0) :1 6503209735378958:6503209735406670 35331:35331 hipMalloc(ptr=0x7f19f7a00000, size=4194304) :2 6503209735407101:6503209735423080 35331:35331 hipMalloc(ptr=0x7f19f7400000, size=4194304) :3 6503209978814181:6503209979619458 2:0 CopyHostToDevice:4:35331 diff --git a/test/golden_traces/MatrixTranspose_hip_period_trace.txt b/test/golden_traces/MatrixTranspose_hip_period_trace.txt index b0b5689567..2779c71d6f 100644 --- a/test/golden_traces/MatrixTranspose_hip_period_trace.txt +++ b/test/golden_traces/MatrixTranspose_hip_period_trace.txt @@ -204,7 +204,7 @@ PASSED! PASSED! ## Iteration (0) ################# PASSED! -3802699751533941:3802699751541991 1983:1983 hipGetDeviceProperties(props=, device=0) +3802699751533941:3802699751541991 1983:1983 hipGetDevicePropertiesR0600(props=, device=0) 3802699752571489:3802699752686289 1983:1983 hipMalloc(ptr=0x7f6c121ff010, size=4194304) 3802699752688639:3802699752749390 1983:1983 hipMalloc(ptr=0x7fffefcadf28, size=4194304) 3802699752763840:3802700027958750 1983:1983 hipMemcpy(dst=0x7f6c11400000, src=0x7f6c121ff010, sizeBytes=4194304, kind=1) diff --git a/test/golden_traces/MatrixTranspose_hipaact_test_trace.txt b/test/golden_traces/MatrixTranspose_hipaact_test_trace.txt index 267b12c639..55b841e6e4 100644 --- a/test/golden_traces/MatrixTranspose_hipaact_test_trace.txt +++ b/test/golden_traces/MatrixTranspose_hipaact_test_trace.txt @@ -2,8 +2,8 @@ # START (99) ############################# - - + + Device 0 name: AMD Radeon VII ptr(0x7ffcb1cb2190) size(0x400000) *ptr(0x0x7fc7e1c00000) @@ -36,8 +36,8 @@ PASSED! # START (97) ############################# - - + + Device 0 name: AMD Radeon VII ptr(0x7ffcb1cb2190) size(0x400000) *ptr(0x0x7fc7e2800000) @@ -70,8 +70,8 @@ PASSED! # START (95) ############################# - - + + Device 0 name: AMD Radeon VII ptr(0x7ffcb1cb2190) size(0x400000) *ptr(0x0x7fc7e2800000) @@ -104,12 +104,12 @@ PASSED! # START (93) ############################# - - + + Device 0 name: AMD Radeon VII Activity records: hipSetDevice correlation_id(1) time_ns(4494964957948720:4494964958022520) process_id(877926) thread_id(877926) - hipGetDeviceProperties correlation_id(2) time_ns(4494964958028761:4494964958036436) process_id(877926) thread_id(877926) + hipGetDevicePropertiesR0600 correlation_id(2) time_ns(4494964958028761:4494964958036436) process_id(877926) thread_id(877926) hipMalloc correlation_id(3) time_ns(4494964959015642:4494964959188518) process_id(877926) thread_id(877926) hipMalloc correlation_id(4) time_ns(4494964959199288:4494964959347988) process_id(877926) thread_id(877926) CopyHostToDevice correlation_id(5) time_ns(4494965176650140:4494965176957179) device_id(0) queue_id(0) bytes(0x0) @@ -130,7 +130,7 @@ Device 0 name: AMD Radeon VII EXT_API correlation_id(11) time_ns(0:0) external_id(31) hipFree correlation_id(11) time_ns(4494965189829986:4494965189850174) process_id(877926) thread_id(877926) hipSetDevice correlation_id(12) time_ns(4494965204041685:4494965204066181) process_id(877926) thread_id(877926) - hipGetDeviceProperties correlation_id(13) time_ns(4494965204067864:4494965204073214) process_id(877926) thread_id(877926) + hipGetDevicePropertiesR0600 correlation_id(13) time_ns(4494965204067864:4494965204073214) process_id(877926) thread_id(877926) hipMalloc correlation_id(14) time_ns(4494965204682343:4494965204935060) process_id(877926) thread_id(877926) hipMalloc correlation_id(15) time_ns(4494965204936212:4494965205065065) process_id(877926) thread_id(877926) CopyHostToDevice correlation_id(16) time_ns(4494965206338939:4494965206640537) device_id(0) queue_id(0) bytes(0x0) @@ -151,7 +151,7 @@ Device 0 name: AMD Radeon VII EXT_API correlation_id(22) time_ns(0:0) external_id(31) hipFree correlation_id(22) time_ns(4494965217603739:4494965217626251) process_id(877926) thread_id(877926) hipSetDevice correlation_id(23) time_ns(4494965232061580:4494965232086868) process_id(877926) thread_id(877926) - hipGetDeviceProperties correlation_id(24) time_ns(4494965232088591:4494965232093450) process_id(877926) thread_id(877926) + hipGetDevicePropertiesR0600 correlation_id(24) time_ns(4494965232088591:4494965232093450) process_id(877926) thread_id(877926) hipMalloc correlation_id(25) time_ns(4494965232701416:4494965232956377) process_id(877926) thread_id(877926) hipMalloc correlation_id(26) time_ns(4494965232957760:4494965233086032) process_id(877926) thread_id(877926) CopyHostToDevice correlation_id(27) time_ns(4494965234316878:4494965234617997) device_id(0) queue_id(0) bytes(0x0) @@ -203,8 +203,8 @@ PASSED! # START (91) ############################# - - + + Device 0 name: AMD Radeon VII ptr(0x7ffcb1cb2190) size(0x400000) *ptr(0x0x7fc7e2800000) @@ -237,8 +237,8 @@ PASSED! # START (89) ############################# - - + + Device 0 name: AMD Radeon VII ptr(0x7ffcb1cb2190) size(0x400000) *ptr(0x0x7fc7e2800000) @@ -271,14 +271,14 @@ PASSED! # START (87) ############################# - - + + Device 0 name: AMD Radeon VII ptr(0x7ffcb1cb2190) size(0x400000) *ptr(0x0x7fc7e2800000) ptr(0x7ffcb1cb2188) size(0x400000) Activity records: - hipGetDeviceProperties correlation_id(35) time_ns(4494965260111582:4494965260116351) process_id(877926) thread_id(877926) + hipGetDevicePropertiesR0600 correlation_id(35) time_ns(4494965260111582:4494965260116351) process_id(877926) thread_id(877926) hipMalloc correlation_id(36) time_ns(4494965260763622:4494965261020185) process_id(877926) thread_id(877926) hipMalloc correlation_id(37) time_ns(4494965261021568:4494965261153887) process_id(877926) thread_id(877926) CopyHostToDevice correlation_id(38) time_ns(4494965262331477:4494965262632596) device_id(0) queue_id(0) bytes(0x0) @@ -299,7 +299,7 @@ Device 0 name: AMD Radeon VII EXT_API correlation_id(44) time_ns(0:0) external_id(31) hipFree correlation_id(44) time_ns(4494965273501501:4494965273515467) process_id(877926) thread_id(877926) hipSetDevice correlation_id(45) time_ns(4494965288028895:4494965288054393) process_id(877926) thread_id(877926) - hipGetDeviceProperties correlation_id(46) time_ns(4494965288055966:4494965288060875) process_id(877926) thread_id(877926) + hipGetDevicePropertiesR0600 correlation_id(46) time_ns(4494965288055966:4494965288060875) process_id(877926) thread_id(877926) hipMalloc correlation_id(47) time_ns(4494965288668321:4494965288923442) process_id(877926) thread_id(877926) hipMalloc correlation_id(48) time_ns(4494965288924564:4494965289062965) process_id(877926) thread_id(877926) CopyHostToDevice correlation_id(49) time_ns(4494965290315038:4494965290616797) device_id(0) queue_id(0) bytes(0x0) @@ -320,7 +320,7 @@ Device 0 name: AMD Radeon VII EXT_API correlation_id(55) time_ns(0:0) external_id(31) hipFree correlation_id(55) time_ns(4494965301519494:4494965301534202) process_id(877926) thread_id(877926) hipSetDevice correlation_id(56) time_ns(4494965316040194:4494965316064620) process_id(877926) thread_id(877926) - hipGetDeviceProperties correlation_id(57) time_ns(4494965316066413:4494965316071653) process_id(877926) thread_id(877926) + hipGetDevicePropertiesR0600 correlation_id(57) time_ns(4494965316066413:4494965316071653) process_id(877926) thread_id(877926) hipMalloc correlation_id(58) time_ns(4494965316681383:4494965316929451) process_id(877926) thread_id(877926) hipMalloc correlation_id(59) time_ns(4494965316930332:4494965317040380) process_id(877926) thread_id(877926) CopyHostToDevice correlation_id(60) time_ns(4494965318325943:4494965318627542) device_id(0) queue_id(0) bytes(0x0) @@ -341,7 +341,7 @@ Device 0 name: AMD Radeon VII EXT_API correlation_id(66) time_ns(0:0) external_id(31) hipFree correlation_id(66) time_ns(4494965329507309:4494965329521706) process_id(877926) thread_id(877926) hipSetDevice correlation_id(67) time_ns(4494965344065922:4494965344099144) process_id(877926) thread_id(877926) - hipGetDeviceProperties correlation_id(68) time_ns(4494965344100838:4494965344105797) process_id(877926) thread_id(877926) + hipGetDevicePropertiesR0600 correlation_id(68) time_ns(4494965344100838:4494965344105797) process_id(877926) thread_id(877926) *ptr(0x0x7fc7e0c00000) dst(0x7fc7e2800000) src(0x1bdfbf0) size(0x400000) kind(1) @@ -370,8 +370,8 @@ PASSED! # START (85) ############################# - - + + Device 0 name: AMD Radeon VII ptr(0x7ffcb1cb2190) size(0x400000) *ptr(0x0x7fc7e2800000) @@ -404,8 +404,8 @@ PASSED! # START (83) ############################# - - + + Device 0 name: AMD Radeon VII ptr(0x7ffcb1cb2190) size(0x400000) *ptr(0x0x7fc7e2800000) @@ -438,8 +438,8 @@ PASSED! # START (81) ############################# - - + + Device 0 name: AMD Radeon VII ptr(0x7ffcb1cb2190) size(0x400000) *ptr(0x0x7fc7e2800000) @@ -467,7 +467,7 @@ Device 0 name: AMD Radeon VII EXT_API correlation_id(77) time_ns(0:0) external_id(31) hipFree correlation_id(77) time_ns(4494965357400815:4494965357413810) process_id(877926) thread_id(877926) hipSetDevice correlation_id(78) time_ns(4494965372044830:4494965372069226) process_id(877926) thread_id(877926) - hipGetDeviceProperties correlation_id(79) time_ns(4494965372070919:4494965372075618) process_id(877926) thread_id(877926) + hipGetDevicePropertiesR0600 correlation_id(79) time_ns(4494965372070919:4494965372075618) process_id(877926) thread_id(877926) hipMalloc correlation_id(80) time_ns(4494965372687151:4494965372924548) process_id(877926) thread_id(877926) hipMalloc correlation_id(81) time_ns(4494965372925540:4494965373035207) process_id(877926) thread_id(877926) CopyHostToDevice correlation_id(82) time_ns(4494965374326776:4494965374627895) device_id(0) queue_id(0) bytes(0x0) @@ -488,7 +488,7 @@ Device 0 name: AMD Radeon VII EXT_API correlation_id(88) time_ns(0:0) external_id(31) hipFree correlation_id(88) time_ns(4494965385517184:4494965385532543) process_id(877926) thread_id(877926) hipSetDevice correlation_id(89) time_ns(4494965400054896:4494965400079142) process_id(877926) thread_id(877926) - hipGetDeviceProperties correlation_id(90) time_ns(4494965400080975:4494965400086295) process_id(877926) thread_id(877926) + hipGetDevicePropertiesR0600 correlation_id(90) time_ns(4494965400080975:4494965400086295) process_id(877926) thread_id(877926) hipMalloc correlation_id(91) time_ns(4494965400697037:4494965400935467) process_id(877926) thread_id(877926) hipMalloc correlation_id(92) time_ns(4494965400936508:4494965401045354) process_id(877926) thread_id(877926) CopyHostToDevice correlation_id(93) time_ns(4494965402318373:4494965402620132) device_id(0) queue_id(0) bytes(0x0) @@ -509,7 +509,7 @@ Device 0 name: AMD Radeon VII EXT_API correlation_id(99) time_ns(0:0) external_id(31) hipFree correlation_id(99) time_ns(4494965413484119:4494965413499949) process_id(877926) thread_id(877926) hipSetDevice correlation_id(100) time_ns(4494965428104369:4494965428129506) process_id(877926) thread_id(877926) - hipGetDeviceProperties correlation_id(101) time_ns(4494965428131289:4494965428136139) process_id(877926) thread_id(877926) + hipGetDevicePropertiesR0600 correlation_id(101) time_ns(4494965428131289:4494965428136139) process_id(877926) thread_id(877926) hipMalloc correlation_id(102) time_ns(4494965428755336:4494965428982905) process_id(877926) thread_id(877926) rocTX <"before hipLaunchKernel pid(877926) tid(877926)"> @@ -537,8 +537,8 @@ PASSED! # START (79) ############################# - - + + Device 0 name: AMD Radeon VII ptr(0x7ffcb1cb2190) size(0x400000) *ptr(0x0x7fc7e2800000) @@ -571,8 +571,8 @@ PASSED! # START (77) ############################# - - + + Device 0 name: AMD Radeon VII ptr(0x7ffcb1cb2190) size(0x400000) *ptr(0x0x7fc7e2800000) @@ -605,8 +605,8 @@ PASSED! # START (75) ############################# - - + + Device 0 name: AMD Radeon VII ptr(0x7ffcb1cb2190) size(0x400000) *ptr(0x0x7fc7e2800000) @@ -645,7 +645,7 @@ rocTX <"hipMemcpy pid(877926) tid(877926)"> EXT_API correlation_id(110) time_ns(0:0) external_id(31) hipFree correlation_id(110) time_ns(4494965441493084:4494965441513743) process_id(877926) thread_id(877926) hipSetDevice correlation_id(111) time_ns(4494965456099507:4494965456125165) process_id(877926) thread_id(877926) - hipGetDeviceProperties correlation_id(112) time_ns(4494965456127039:4494965456131888) process_id(877926) thread_id(877926) + hipGetDevicePropertiesR0600 correlation_id(112) time_ns(4494965456127039:4494965456131888) process_id(877926) thread_id(877926) hipMalloc correlation_id(113) time_ns(4494965456748481:4494965456980709) process_id(877926) thread_id(877926) hipMalloc correlation_id(114) time_ns(4494965456981640:4494965457090917) process_id(877926) thread_id(877926) CopyHostToDevice correlation_id(115) time_ns(4494965458327520:4494965458628800) device_id(0) queue_id(0) bytes(0x0) @@ -666,7 +666,7 @@ rocTX <"hipMemcpy pid(877926) tid(877926)"> EXT_API correlation_id(121) time_ns(0:0) external_id(31) hipFree correlation_id(121) time_ns(4494965469510316:4494965469529572) process_id(877926) thread_id(877926) hipSetDevice correlation_id(122) time_ns(4494965484086380:4494965484109844) process_id(877926) thread_id(877926) - hipGetDeviceProperties correlation_id(123) time_ns(4494965484111848:4494965484124832) process_id(877926) thread_id(877926) + hipGetDevicePropertiesR0600 correlation_id(123) time_ns(4494965484111848:4494965484124832) process_id(877926) thread_id(877926) hipMalloc correlation_id(124) time_ns(4494965484731116:4494965484970958) process_id(877926) thread_id(877926) hipMalloc correlation_id(125) time_ns(4494965484971930:4494965485082709) process_id(877926) thread_id(877926) CopyHostToDevice correlation_id(126) time_ns(4494965486321520:4494965486622640) device_id(0) queue_id(0) bytes(0x0) @@ -687,7 +687,7 @@ rocTX <"hipMemcpy pid(877926) tid(877926)"> EXT_API correlation_id(132) time_ns(0:0) external_id(31) hipFree correlation_id(132) time_ns(4494965497478082:4494965497493782) process_id(877926) thread_id(877926) hipSetDevice correlation_id(133) time_ns(4494965512111156:4494965512135522) process_id(877926) thread_id(877926) - hipGetDeviceProperties correlation_id(134) time_ns(4494965512137185:4494965512141994) process_id(877926) thread_id(877926) + hipGetDevicePropertiesR0600 correlation_id(134) time_ns(4494965512137185:4494965512141994) process_id(877926) thread_id(877926) hipMalloc correlation_id(135) time_ns(4494965512750121:4494965512993950) process_id(877926) thread_id(877926) hipMalloc correlation_id(136) time_ns(4494965512994862:4494965513104138) process_id(877926) thread_id(877926) @@ -704,8 +704,8 @@ PASSED! # START (73) ############################# - - + + Device 0 name: AMD Radeon VII ptr(0x7ffcb1cb2190) size(0x400000) *ptr(0x0x7fc7e2800000) @@ -738,8 +738,8 @@ PASSED! # START (71) ############################# - - + + Device 0 name: AMD Radeon VII ptr(0x7ffcb1cb2190) size(0x400000) *ptr(0x0x7fc7e2800000) @@ -772,8 +772,8 @@ PASSED! # START (69) ############################# - - + + Device 0 name: AMD Radeon VII ptr(0x7ffcb1cb2190) size(0x400000) *ptr(0x0x7fc7e2800000) @@ -811,7 +811,7 @@ rocTX <"hipMemcpy pid(877926) tid(877926)"> EXT_API correlation_id(143) time_ns(0:0) external_id(31) hipFree correlation_id(143) time_ns(4494965525839892:4494965525858648) process_id(877926) thread_id(877926) hipSetDevice correlation_id(144) time_ns(4494965540093971:4494965540120321) process_id(877926) thread_id(877926) - hipGetDeviceProperties correlation_id(145) time_ns(4494965540122354:4494965540127214) process_id(877926) thread_id(877926) + hipGetDevicePropertiesR0600 correlation_id(145) time_ns(4494965540122354:4494965540127214) process_id(877926) thread_id(877926) hipMalloc correlation_id(146) time_ns(4494965540734689:4494965540973179) process_id(877926) thread_id(877926) hipMalloc correlation_id(147) time_ns(4494965540974131:4494965541082906) process_id(877926) thread_id(877926) CopyHostToDevice correlation_id(148) time_ns(4494965542319629:4494965542621388) device_id(0) queue_id(0) bytes(0x0) @@ -832,7 +832,7 @@ rocTX <"hipMemcpy pid(877926) tid(877926)"> EXT_API correlation_id(154) time_ns(0:0) external_id(31) hipFree correlation_id(154) time_ns(4494965553776181:4494965553791450) process_id(877926) thread_id(877926) hipSetDevice correlation_id(155) time_ns(4494965568074301:4494965568099389) process_id(877926) thread_id(877926) - hipGetDeviceProperties correlation_id(156) time_ns(4494965568101833:4494965568106622) process_id(877926) thread_id(877926) + hipGetDevicePropertiesR0600 correlation_id(156) time_ns(4494965568101833:4494965568106622) process_id(877926) thread_id(877926) hipMalloc correlation_id(157) time_ns(4494965568722774:4494965568966153) process_id(877926) thread_id(877926) hipMalloc correlation_id(158) time_ns(4494965568967325:4494965569077553) process_id(877926) thread_id(877926) CopyHostToDevice correlation_id(159) time_ns(4494965570328365:4494965570629644) device_id(0) queue_id(0) bytes(0x0) @@ -853,7 +853,7 @@ rocTX <"hipMemcpy pid(877926) tid(877926)"> EXT_API correlation_id(165) time_ns(0:0) external_id(31) hipFree correlation_id(165) time_ns(4494965581520797:4494965581540064) process_id(877926) thread_id(877926) hipSetDevice correlation_id(166) time_ns(4494965596144443:4494965596170362) process_id(877926) thread_id(877926) - hipGetDeviceProperties correlation_id(167) time_ns(4494965596172115:4494965596176984) process_id(877926) thread_id(877926) + hipGetDevicePropertiesR0600 correlation_id(167) time_ns(4494965596172115:4494965596176984) process_id(877926) thread_id(877926) hipMalloc correlation_id(168) time_ns(4494965596785953:4494965597015626) process_id(877926) thread_id(877926) hipMalloc correlation_id(169) time_ns(4494965597016688:4494965597135452) process_id(877926) thread_id(877926) CopyHostToDevice correlation_id(170) time_ns(4494965598321624:4494965598622904) device_id(0) queue_id(0) bytes(0x0) @@ -871,8 +871,8 @@ PASSED! # START (67) ############################# - - + + Device 0 name: AMD Radeon VII ptr(0x7ffcb1cb2190) size(0x400000) *ptr(0x0x7fc7e2800000) @@ -905,8 +905,8 @@ PASSED! # START (65) ############################# - - + + Device 0 name: AMD Radeon VII ptr(0x7ffcb1cb2190) size(0x400000) *ptr(0x0x7fc7e2800000) @@ -939,8 +939,8 @@ PASSED! # START (63) ############################# - - + + Device 0 name: AMD Radeon VII ptr(0x7ffcb1cb2190) size(0x400000) *ptr(0x0x7fc7e2800000) @@ -977,7 +977,7 @@ rocTX <"hipMemcpy pid(877926) tid(877926)"> EXT_API correlation_id(176) time_ns(0:0) external_id(31) hipFree correlation_id(176) time_ns(4494965609996943:4494965610013754) process_id(877926) thread_id(877926) hipSetDevice correlation_id(177) time_ns(4494965624011941:4494965624036717) process_id(877926) thread_id(877926) - hipGetDeviceProperties correlation_id(178) time_ns(4494965624038471:4494965624051315) process_id(877926) thread_id(877926) + hipGetDevicePropertiesR0600 correlation_id(178) time_ns(4494965624038471:4494965624051315) process_id(877926) thread_id(877926) hipMalloc correlation_id(179) time_ns(4494965624660163:4494965624896969) process_id(877926) thread_id(877926) hipMalloc correlation_id(180) time_ns(4494965624897971:4494965625004332) process_id(877926) thread_id(877926) CopyHostToDevice correlation_id(181) time_ns(4494965625525884:4494965625827644) device_id(0) queue_id(0) bytes(0x0) @@ -998,7 +998,7 @@ rocTX <"hipMemcpy pid(877926) tid(877926)"> EXT_API correlation_id(187) time_ns(0:0) external_id(31) hipFree correlation_id(187) time_ns(4494965636989833:4494965637006925) process_id(877926) thread_id(877926) hipSetDevice correlation_id(188) time_ns(4494965650893900:4494965650918306) process_id(877926) thread_id(877926) - hipGetDeviceProperties correlation_id(189) time_ns(4494965650919959:4494965650924948) process_id(877926) thread_id(877926) + hipGetDevicePropertiesR0600 correlation_id(189) time_ns(4494965650919959:4494965650924948) process_id(877926) thread_id(877926) hipMalloc correlation_id(190) time_ns(4494965651533035:4494965651774250) process_id(877926) thread_id(877926) hipMalloc correlation_id(191) time_ns(4494965651775172:4494965651884027) process_id(877926) thread_id(877926) CopyHostToDevice correlation_id(192) time_ns(4494965652367342:4494965652669102) device_id(0) queue_id(0) bytes(0x0) @@ -1019,7 +1019,7 @@ rocTX <"hipMemcpy pid(877926) tid(877926)"> EXT_API correlation_id(198) time_ns(0:0) external_id(31) hipFree correlation_id(198) time_ns(4494965663549394:4494965663565004) process_id(877926) thread_id(877926) hipSetDevice correlation_id(199) time_ns(4494965678099832:4494965678124508) process_id(877926) thread_id(877926) - hipGetDeviceProperties correlation_id(200) time_ns(4494965678126192:4494965678130961) process_id(877926) thread_id(877926) + hipGetDevicePropertiesR0600 correlation_id(200) time_ns(4494965678126192:4494965678130961) process_id(877926) thread_id(877926) hipMalloc correlation_id(201) time_ns(4494965678735731:4494965678965735) process_id(877926) thread_id(877926) hipMalloc correlation_id(202) time_ns(4494965678966737:4494965679073468) process_id(877926) thread_id(877926) CopyHostToDevice correlation_id(203) time_ns(4494965680329683:4494965680630802) device_id(0) queue_id(0) bytes(0x0) @@ -1038,8 +1038,8 @@ PASSED! # START (61) ############################# - - + + Device 0 name: AMD Radeon VII ptr(0x7ffcb1cb2190) size(0x400000) *ptr(0x0x7fc7e2800000) @@ -1072,8 +1072,8 @@ PASSED! # START (59) ############################# - - + + Device 0 name: AMD Radeon VII ptr(0x7ffcb1cb2190) size(0x400000) *ptr(0x0x7fc7e2800000) @@ -1106,8 +1106,8 @@ PASSED! # START (57) ############################# - - + + Device 0 name: AMD Radeon VII ptr(0x7ffcb1cb2190) size(0x400000) *ptr(0x0x7fc7e2800000) @@ -1143,7 +1143,7 @@ rocTX <"hipMemcpy pid(877926) tid(877926)"> EXT_API correlation_id(209) time_ns(0:0) external_id(31) hipFree correlation_id(209) time_ns(4494965691532391:4494965691548591) process_id(877926) thread_id(877926) hipSetDevice correlation_id(210) time_ns(4494965706159863:4494965706184208) process_id(877926) thread_id(877926) - hipGetDeviceProperties correlation_id(211) time_ns(4494965706186252:4494965706190951) process_id(877926) thread_id(877926) + hipGetDevicePropertiesR0600 correlation_id(211) time_ns(4494965706186252:4494965706190951) process_id(877926) thread_id(877926) hipMalloc correlation_id(212) time_ns(4494965706798847:4494965707032348) process_id(877926) thread_id(877926) hipMalloc correlation_id(213) time_ns(4494965707033450:4494965707143628) process_id(877926) thread_id(877926) CopyHostToDevice correlation_id(214) time_ns(4494965708323704:4494965708624983) device_id(0) queue_id(0) bytes(0x0) @@ -1164,7 +1164,7 @@ rocTX <"hipMemcpy pid(877926) tid(877926)"> EXT_API correlation_id(220) time_ns(0:0) external_id(31) hipFree correlation_id(220) time_ns(4494965719489528:4494965719506600) process_id(877926) thread_id(877926) hipSetDevice correlation_id(221) time_ns(4494965734154912:4494965734179899) process_id(877926) thread_id(877926) - hipGetDeviceProperties correlation_id(222) time_ns(4494965734181723:4494965734186562) process_id(877926) thread_id(877926) + hipGetDevicePropertiesR0600 correlation_id(222) time_ns(4494965734181723:4494965734186562) process_id(877926) thread_id(877926) hipMalloc correlation_id(223) time_ns(4494965734796782:4494965735036665) process_id(877926) thread_id(877926) hipMalloc correlation_id(224) time_ns(4494965735037737:4494965735151671) process_id(877926) thread_id(877926) CopyHostToDevice correlation_id(225) time_ns(4494965736321130:4494965736622730) device_id(0) queue_id(0) bytes(0x0) @@ -1185,7 +1185,7 @@ rocTX <"hipMemcpy pid(877926) tid(877926)"> EXT_API correlation_id(231) time_ns(0:0) external_id(31) hipFree correlation_id(231) time_ns(4494965747421167:4494965747436596) process_id(877926) thread_id(877926) hipSetDevice correlation_id(232) time_ns(4494965761247679:4494965761273418) process_id(877926) thread_id(877926) - hipGetDeviceProperties correlation_id(233) time_ns(4494965761275231:4494965761280221) process_id(877926) thread_id(877926) + hipGetDevicePropertiesR0600 correlation_id(233) time_ns(4494965761275231:4494965761280221) process_id(877926) thread_id(877926) hipMalloc correlation_id(234) time_ns(4494965761901162:4494965762143068) process_id(877926) thread_id(877926) hipMalloc correlation_id(235) time_ns(4494965762144571:4494965762254408) process_id(877926) thread_id(877926) CopyHostToDevice correlation_id(236) time_ns(4494965763322041:4494965763623640) device_id(0) queue_id(0) bytes(0x0) @@ -1205,8 +1205,8 @@ PASSED! # START (55) ############################# - - + + Device 0 name: AMD Radeon VII ptr(0x7ffcb1cb2190) size(0x400000) *ptr(0x0x7fc7e2800000) @@ -1239,8 +1239,8 @@ PASSED! # START (53) ############################# - - + + Device 0 name: AMD Radeon VII ptr(0x7ffcb1cb2190) size(0x400000) *ptr(0x0x7fc7e2800000) @@ -1273,8 +1273,8 @@ PASSED! # START (51) ############################# - - + + Device 0 name: AMD Radeon VII ptr(0x7ffcb1cb2190) size(0x400000) *ptr(0x0x7fc7e2800000) @@ -1309,7 +1309,7 @@ rocTX <"hipMemcpy pid(877926) tid(877926)"> EXT_API correlation_id(242) time_ns(0:0) external_id(31) hipFree correlation_id(242) time_ns(4494965774493667:4494965774508846) process_id(877926) thread_id(877926) hipSetDevice correlation_id(243) time_ns(4494965789155423:4494965789181091) process_id(877926) thread_id(877926) - hipGetDeviceProperties correlation_id(244) time_ns(4494965789182664:4494965789187924) process_id(877926) thread_id(877926) + hipGetDevicePropertiesR0600 correlation_id(244) time_ns(4494965789182664:4494965789187924) process_id(877926) thread_id(877926) hipMalloc correlation_id(245) time_ns(4494965789803635:4494965790031695) process_id(877926) thread_id(877926) hipMalloc correlation_id(246) time_ns(4494965790032777:4494965790141102) process_id(877926) thread_id(877926) CopyHostToDevice correlation_id(247) time_ns(4494965791330887:4494965791632007) device_id(0) queue_id(0) bytes(0x0) @@ -1330,7 +1330,7 @@ rocTX <"hipMemcpy pid(877926) tid(877926)"> EXT_API correlation_id(253) time_ns(0:0) external_id(31) hipFree correlation_id(253) time_ns(4494965802481211:4494965802508202) process_id(877926) thread_id(877926) hipSetDevice correlation_id(254) time_ns(4494965817169068:4494965817193414) process_id(877926) thread_id(877926) - hipGetDeviceProperties correlation_id(255) time_ns(4494965817195127:4494965817200477) process_id(877926) thread_id(877926) + hipGetDevicePropertiesR0600 correlation_id(255) time_ns(4494965817195127:4494965817200477) process_id(877926) thread_id(877926) hipMalloc correlation_id(256) time_ns(4494965817824464:4494965818053966) process_id(877926) thread_id(877926) hipMalloc correlation_id(257) time_ns(4494965818054978:4494965818166979) process_id(877926) thread_id(877926) CopyHostToDevice correlation_id(258) time_ns(4494965819325393:4494965819626512) device_id(0) queue_id(0) bytes(0x0) @@ -1351,7 +1351,7 @@ rocTX <"hipMemcpy pid(877926) tid(877926)"> EXT_API correlation_id(264) time_ns(0:0) external_id(31) hipFree correlation_id(264) time_ns(4494965830450310:4494965830465800) process_id(877926) thread_id(877926) hipSetDevice correlation_id(265) time_ns(4494965844275019:4494965844301139) process_id(877926) thread_id(877926) - hipGetDeviceProperties correlation_id(266) time_ns(4494965844302872:4494965844307861) process_id(877926) thread_id(877926) + hipGetDevicePropertiesR0600 correlation_id(266) time_ns(4494965844302872:4494965844307861) process_id(877926) thread_id(877926) hipMalloc correlation_id(267) time_ns(4494965844917281:4494965845146242) process_id(877926) thread_id(877926) hipMalloc correlation_id(268) time_ns(4494965845147204:4494965845258294) process_id(877926) thread_id(877926) CopyHostToDevice correlation_id(269) time_ns(4494965846324701:4494965846626460) device_id(0) queue_id(0) bytes(0x0) @@ -1372,8 +1372,8 @@ PASSED! # START (49) ############################# - - + + Device 0 name: AMD Radeon VII ptr(0x7ffcb1cb2190) size(0x400000) *ptr(0x0x7fc7e2800000) @@ -1406,8 +1406,8 @@ PASSED! # START (47) ############################# - - + + Device 0 name: AMD Radeon VII ptr(0x7ffcb1cb2190) size(0x400000) *ptr(0x0x7fc7e2800000) @@ -1440,8 +1440,8 @@ PASSED! # START (45) ############################# - - + + Device 0 name: AMD Radeon VII ptr(0x7ffcb1cb2190) size(0x400000) *ptr(0x0x7fc7e2800000) @@ -1475,7 +1475,7 @@ rocTX <"hipMemcpy pid(877926) tid(877926)"> EXT_API correlation_id(275) time_ns(0:0) external_id(31) hipFree correlation_id(275) time_ns(4494965857469781:4494965857488857) process_id(877926) thread_id(877926) hipSetDevice correlation_id(276) time_ns(4494965871278969:4494965871303605) process_id(877926) thread_id(877926) - hipGetDeviceProperties correlation_id(277) time_ns(4494965871305459:4494965871310398) process_id(877926) thread_id(877926) + hipGetDevicePropertiesR0600 correlation_id(277) time_ns(4494965871305459:4494965871310398) process_id(877926) thread_id(877926) hipMalloc correlation_id(278) time_ns(4494965871918585:4494965872162194) process_id(877926) thread_id(877926) hipMalloc correlation_id(279) time_ns(4494965872163136:4494965872273715) process_id(877926) thread_id(877926) CopyHostToDevice correlation_id(280) time_ns(4494965873321382:4494965873623142) device_id(0) queue_id(0) bytes(0x0) @@ -1496,7 +1496,7 @@ rocTX <"hipMemcpy pid(877926) tid(877926)"> EXT_API correlation_id(286) time_ns(0:0) external_id(31) hipFree correlation_id(286) time_ns(4494965884465174:4494965884480743) process_id(877926) thread_id(877926) hipSetDevice correlation_id(287) time_ns(4494965898307456:4494965898332012) process_id(877926) thread_id(877926) - hipGetDeviceProperties correlation_id(288) time_ns(4494965898333696:4494965898338875) process_id(877926) thread_id(877926) + hipGetDevicePropertiesR0600 correlation_id(288) time_ns(4494965898333696:4494965898338875) process_id(877926) thread_id(877926) hipMalloc correlation_id(289) time_ns(4494965898941913:4494965899191042) process_id(877926) thread_id(877926) hipMalloc correlation_id(290) time_ns(4494965899192094:4494965899303424) process_id(877926) thread_id(877926) CopyHostToDevice correlation_id(291) time_ns(4494965900325973:4494965900627093) device_id(0) queue_id(0) bytes(0x0) @@ -1517,7 +1517,7 @@ rocTX <"hipMemcpy pid(877926) tid(877926)"> EXT_API correlation_id(297) time_ns(0:0) external_id(31) hipFree correlation_id(297) time_ns(4494965911437093:4494965911453494) process_id(877926) thread_id(877926) hipSetDevice correlation_id(298) time_ns(4494965925257554:4494965925283212) process_id(877926) thread_id(877926) - hipGetDeviceProperties correlation_id(299) time_ns(4494965925285176:4494965925298000) process_id(877926) thread_id(877926) + hipGetDevicePropertiesR0600 correlation_id(299) time_ns(4494965925285176:4494965925298000) process_id(877926) thread_id(877926) hipMalloc correlation_id(300) time_ns(4494965925936003:4494965926177829) process_id(877926) thread_id(877926) hipMalloc correlation_id(301) time_ns(4494965926179021:4494965926290502) process_id(877926) thread_id(877926) CopyHostToDevice correlation_id(302) time_ns(4494965927322611:4494965927623891) device_id(0) queue_id(0) bytes(0x0) @@ -1539,8 +1539,8 @@ PASSED! # START (43) ############################# - - + + Device 0 name: AMD Radeon VII ptr(0x7ffcb1cb2190) size(0x400000) *ptr(0x0x7fc7e2800000) @@ -1573,8 +1573,8 @@ PASSED! # START (41) ############################# - - + + Device 0 name: AMD Radeon VII ptr(0x7ffcb1cb2190) size(0x400000) *ptr(0x0x7fc7e2800000) @@ -1607,8 +1607,8 @@ PASSED! # START (39) ############################# - - + + Device 0 name: AMD Radeon VII ptr(0x7ffcb1cb2190) size(0x400000) *ptr(0x0x7fc7e2800000) @@ -1641,7 +1641,7 @@ rocTX <"hipMemcpy pid(877926) tid(877926)"> EXT_API correlation_id(308) time_ns(0:0) external_id(31) hipFree correlation_id(308) time_ns(4494965938475349:4494965938492651) process_id(877926) thread_id(877926) hipSetDevice correlation_id(309) time_ns(4494965953124190:4494965953156301) process_id(877926) thread_id(877926) - hipGetDeviceProperties correlation_id(310) time_ns(4494965953158214:4494965953162993) process_id(877926) thread_id(877926) + hipGetDevicePropertiesR0600 correlation_id(310) time_ns(4494965953158214:4494965953162993) process_id(877926) thread_id(877926) hipMalloc correlation_id(311) time_ns(4494965953777702:4494965954012876) process_id(877926) thread_id(877926) hipMalloc correlation_id(312) time_ns(4494965954013898:4494965954122202) process_id(877926) thread_id(877926) CopyHostToDevice correlation_id(313) time_ns(4494965955332481:4494965955634240) device_id(0) queue_id(0) bytes(0x0) @@ -1662,7 +1662,7 @@ rocTX <"hipMemcpy pid(877926) tid(877926)"> EXT_API correlation_id(319) time_ns(0:0) external_id(31) hipFree correlation_id(319) time_ns(4494965966467151:4494965966482810) process_id(877926) thread_id(877926) hipSetDevice correlation_id(320) time_ns(4494965980250892:4494965980275829) process_id(877926) thread_id(877926) - hipGetDeviceProperties correlation_id(321) time_ns(4494965980277583:4494965980282592) process_id(877926) thread_id(877926) + hipGetDevicePropertiesR0600 correlation_id(321) time_ns(4494965980277583:4494965980282592) process_id(877926) thread_id(877926) hipMalloc correlation_id(322) time_ns(4494965980892582:4494965981125151) process_id(877926) thread_id(877926) hipMalloc correlation_id(323) time_ns(4494965981126083:4494965981236962) process_id(877926) thread_id(877926) CopyHostToDevice correlation_id(324) time_ns(4494965982332433:4494965982634192) device_id(0) queue_id(0) bytes(0x0) @@ -1683,7 +1683,7 @@ rocTX <"hipMemcpy pid(877926) tid(877926)"> EXT_API correlation_id(330) time_ns(0:0) external_id(31) hipFree correlation_id(330) time_ns(4494965993493925:4494965993509434) process_id(877926) thread_id(877926) hipSetDevice correlation_id(331) time_ns(4494966008113952:4494966008138127) process_id(877926) thread_id(877926) - hipGetDeviceProperties correlation_id(332) time_ns(4494966008139851:4494966008144459) process_id(877926) thread_id(877926) + hipGetDevicePropertiesR0600 correlation_id(332) time_ns(4494966008139851:4494966008144459) process_id(877926) thread_id(877926) hipMalloc correlation_id(333) time_ns(4494966008752315:4494966008991256) process_id(877926) thread_id(877926) hipMalloc correlation_id(334) time_ns(4494966008992288:4494966009101223) process_id(877926) thread_id(877926) CopyHostToDevice correlation_id(335) time_ns(4494966010324034:4494966010625154) device_id(0) queue_id(0) bytes(0x0) @@ -1706,8 +1706,8 @@ PASSED! # START (37) ############################# - - + + Device 0 name: AMD Radeon VII ptr(0x7ffcb1cb2190) size(0x400000) *ptr(0x0x7fc7e2800000) @@ -1740,8 +1740,8 @@ PASSED! # START (35) ############################# - - + + Device 0 name: AMD Radeon VII ptr(0x7ffcb1cb2190) size(0x400000) *ptr(0x0x7fc7e2800000) @@ -1774,8 +1774,8 @@ PASSED! # START (33) ############################# - - + + Device 0 name: AMD Radeon VII ptr(0x7ffcb1cb2190) size(0x400000) *ptr(0x0x7fc7e2800000) @@ -1807,7 +1807,7 @@ rocTX <"hipMemcpy pid(877926) tid(877926)"> EXT_API correlation_id(341) time_ns(0:0) external_id(31) hipFree correlation_id(341) time_ns(4494966021487741:4494966021505454) process_id(877926) thread_id(877926) hipSetDevice correlation_id(342) time_ns(4494966035241786:4494966035267505) process_id(877926) thread_id(877926) - hipGetDeviceProperties correlation_id(343) time_ns(4494966035269238:4494966035274398) process_id(877926) thread_id(877926) + hipGetDevicePropertiesR0600 correlation_id(343) time_ns(4494966035269238:4494966035274398) process_id(877926) thread_id(877926) hipMalloc correlation_id(344) time_ns(4494966035882525:4494966036121966) process_id(877926) thread_id(877926) hipMalloc correlation_id(345) time_ns(4494966036122968:4494966036237123) process_id(877926) thread_id(877926) CopyHostToDevice correlation_id(346) time_ns(4494966037323670:4494966037624629) device_id(0) queue_id(0) bytes(0x0) @@ -1828,7 +1828,7 @@ rocTX <"hipMemcpy pid(877926) tid(877926)"> EXT_API correlation_id(352) time_ns(0:0) external_id(31) hipFree correlation_id(352) time_ns(4494966049174818:4494966049190778) process_id(877926) thread_id(877926) hipSetDevice correlation_id(353) time_ns(4494966063511292:4494966063537702) process_id(877926) thread_id(877926) - hipGetDeviceProperties correlation_id(354) time_ns(4494966063539475:4494966063544705) process_id(877926) thread_id(877926) + hipGetDevicePropertiesR0600 correlation_id(354) time_ns(4494966063539475:4494966063544705) process_id(877926) thread_id(877926) hipMalloc correlation_id(355) time_ns(4494966064161107:4494966064417200) process_id(877926) thread_id(877926) hipMalloc correlation_id(356) time_ns(4494966064418222:4494966064561893) process_id(877926) thread_id(877926) CopyHostToDevice correlation_id(357) time_ns(4494966065049847:4494966065351447) device_id(0) queue_id(0) bytes(0x0) @@ -1849,7 +1849,7 @@ rocTX <"hipMemcpy pid(877926) tid(877926)"> EXT_API correlation_id(363) time_ns(0:0) external_id(31) hipFree correlation_id(363) time_ns(4494966076444831:4494966076461282) process_id(877926) thread_id(877926) hipSetDevice correlation_id(364) time_ns(4494966090240594:4494966090266122) process_id(877926) thread_id(877926) - hipGetDeviceProperties correlation_id(365) time_ns(4494966090267835:4494966090272644) process_id(877926) thread_id(877926) + hipGetDevicePropertiesR0600 correlation_id(365) time_ns(4494966090267835:4494966090272644) process_id(877926) thread_id(877926) hipMalloc correlation_id(366) time_ns(4494966090890439:4494966091125131) process_id(877926) thread_id(877926) hipMalloc correlation_id(367) time_ns(4494966091126354:4494966091238245) process_id(877926) thread_id(877926) CopyHostToDevice correlation_id(368) time_ns(4494966092333641:4494966092635400) device_id(0) queue_id(0) bytes(0x0) @@ -1873,8 +1873,8 @@ PASSED! # START (31) ############################# - - + + Device 0 name: AMD Radeon VII ptr(0x7ffcb1cb2190) size(0x400000) *ptr(0x0x7fc7e2800000) @@ -1907,8 +1907,8 @@ PASSED! # START (29) ############################# - - + + Device 0 name: AMD Radeon VII ptr(0x7ffcb1cb2190) size(0x400000) *ptr(0x0x7fc7e2800000) @@ -1941,8 +1941,8 @@ PASSED! # START (27) ############################# - - + + Device 0 name: AMD Radeon VII ptr(0x7ffcb1cb2190) size(0x400000) *ptr(0x0x7fc7e2800000) @@ -1973,7 +1973,7 @@ rocTX <"hipMemcpy pid(877926) tid(877926)"> EXT_API correlation_id(374) time_ns(0:0) external_id(31) hipFree correlation_id(374) time_ns(4494966103517550:4494966103533239) process_id(877926) thread_id(877926) hipSetDevice correlation_id(375) time_ns(4494966118101030:4494966118125576) process_id(877926) thread_id(877926) - hipGetDeviceProperties correlation_id(376) time_ns(4494966118127289:4494966118132138) process_id(877926) thread_id(877926) + hipGetDevicePropertiesR0600 correlation_id(376) time_ns(4494966118127289:4494966118132138) process_id(877926) thread_id(877926) hipMalloc correlation_id(377) time_ns(4494966118742820:4494966118976260) process_id(877926) thread_id(877926) hipMalloc correlation_id(378) time_ns(4494966118977232:4494966119085616) process_id(877926) thread_id(877926) CopyHostToDevice correlation_id(379) time_ns(4494966120322714:4494966120623834) device_id(0) queue_id(0) bytes(0x0) @@ -1994,7 +1994,7 @@ rocTX <"hipMemcpy pid(877926) tid(877926)"> EXT_API correlation_id(385) time_ns(0:0) external_id(31) hipFree correlation_id(385) time_ns(4494966131517297:4494966131532976) process_id(877926) thread_id(877926) hipSetDevice correlation_id(386) time_ns(4494966146080048:4494966146105706) process_id(877926) thread_id(877926) - hipGetDeviceProperties correlation_id(387) time_ns(4494966146107479:4494966146112839) process_id(877926) thread_id(877926) + hipGetDevicePropertiesR0600 correlation_id(387) time_ns(4494966146107479:4494966146112839) process_id(877926) thread_id(877926) hipMalloc correlation_id(388) time_ns(4494966146720135:4494966146964315) process_id(877926) thread_id(877926) hipMalloc correlation_id(389) time_ns(4494966146965227:4494966147075144) process_id(877926) thread_id(877926) CopyHostToDevice correlation_id(390) time_ns(4494966148334541:4494966148635661) device_id(0) queue_id(0) bytes(0x0) @@ -2015,7 +2015,7 @@ rocTX <"hipMemcpy pid(877926) tid(877926)"> EXT_API correlation_id(396) time_ns(0:0) external_id(31) hipFree correlation_id(396) time_ns(4494966159537444:4494966159553334) process_id(877926) thread_id(877926) hipSetDevice correlation_id(397) time_ns(4494966174150248:4494966174175595) process_id(877926) thread_id(877926) - hipGetDeviceProperties correlation_id(398) time_ns(4494966174177779:4494966174182488) process_id(877926) thread_id(877926) + hipGetDevicePropertiesR0600 correlation_id(398) time_ns(4494966174177779:4494966174182488) process_id(877926) thread_id(877926) hipMalloc correlation_id(399) time_ns(4494966174791857:4494966175022462) process_id(877926) thread_id(877926) hipMalloc correlation_id(400) time_ns(4494966175023654:4494966175132249) process_id(877926) thread_id(877926) CopyHostToDevice correlation_id(401) time_ns(4494966176326019:4494966176627939) device_id(0) queue_id(0) bytes(0x0) @@ -2040,8 +2040,8 @@ PASSED! # START (25) ############################# - - + + Device 0 name: AMD Radeon VII ptr(0x7ffcb1cb2190) size(0x400000) *ptr(0x0x7fc7e2800000) @@ -2074,8 +2074,8 @@ PASSED! # START (23) ############################# - - + + Device 0 name: AMD Radeon VII ptr(0x7ffcb1cb2190) size(0x400000) *ptr(0x0x7fc7e2800000) @@ -2108,8 +2108,8 @@ PASSED! # START (21) ############################# - - + + Device 0 name: AMD Radeon VII ptr(0x7ffcb1cb2190) size(0x400000) *ptr(0x0x7fc7e2800000) @@ -2142,7 +2142,7 @@ rocTX <"(null) pid(877926) tid(877926)"> EXT_API correlation_id(407) time_ns(0:0) external_id(31) hipFree correlation_id(407) time_ns(4494966187546028:4494966187562910) process_id(877926) thread_id(877926) hipSetDevice correlation_id(408) time_ns(4494966202110582:4494966202136531) process_id(877926) thread_id(877926) - hipGetDeviceProperties correlation_id(409) time_ns(4494966202138364:4494966202143173) process_id(877926) thread_id(877926) + hipGetDevicePropertiesR0600 correlation_id(409) time_ns(4494966202138364:4494966202143173) process_id(877926) thread_id(877926) hipMalloc correlation_id(410) time_ns(4494966202748775:4494966202977517) process_id(877926) thread_id(877926) hipMalloc correlation_id(411) time_ns(4494966202978629:4494966203098715) process_id(877926) thread_id(877926) CopyHostToDevice correlation_id(412) time_ns(4494966204321996:4494966204623756) device_id(0) queue_id(0) bytes(0x0) @@ -2163,7 +2163,7 @@ rocTX <"(null) pid(877926) tid(877926)"> EXT_API correlation_id(418) time_ns(0:0) external_id(31) hipFree correlation_id(418) time_ns(4494966215468179:4494966215483457) process_id(877926) thread_id(877926) hipSetDevice correlation_id(419) time_ns(4494966229242062:4494966229267530) process_id(877926) thread_id(877926) - hipGetDeviceProperties correlation_id(420) time_ns(4494966229269433:4494966229274493) process_id(877926) thread_id(877926) + hipGetDevicePropertiesR0600 correlation_id(420) time_ns(4494966229269433:4494966229274493) process_id(877926) thread_id(877926) hipMalloc correlation_id(421) time_ns(4494966229898309:4494966230132511) process_id(877926) thread_id(877926) hipMalloc correlation_id(422) time_ns(4494966230133453:4494966230244913) process_id(877926) thread_id(877926) CopyHostToDevice correlation_id(423) time_ns(4494966231322435:4494966231623554) device_id(0) queue_id(0) bytes(0x0) @@ -2184,7 +2184,7 @@ rocTX <"(null) pid(877926) tid(877926)"> EXT_API correlation_id(429) time_ns(0:0) external_id(31) hipFree correlation_id(429) time_ns(4494966242488721:4494966242515321) process_id(877926) thread_id(877926) hipSetDevice correlation_id(430) time_ns(4494966256282390:4494966256306436) process_id(877926) thread_id(877926) - hipGetDeviceProperties correlation_id(431) time_ns(4494966256308149:4494966256313008) process_id(877926) thread_id(877926) + hipGetDevicePropertiesR0600 correlation_id(431) time_ns(4494966256308149:4494966256313008) process_id(877926) thread_id(877926) hipMalloc correlation_id(432) time_ns(4494966256917477:4494966257146850) process_id(877926) thread_id(877926) hipMalloc correlation_id(433) time_ns(4494966257147972:4494966257259262) process_id(877926) thread_id(877926) CopyHostToDevice correlation_id(434) time_ns(4494966258324315:4494966258625434) device_id(0) queue_id(0) bytes(0x0) @@ -2207,8 +2207,8 @@ PASSED! # START (19) ############################# - - + + Device 0 name: AMD Radeon VII ptr(0x7ffcb1cb2190) size(0x400000) *ptr(0x0x7fc7e2800000) @@ -2241,8 +2241,8 @@ PASSED! # START (17) ############################# - - + + Device 0 name: AMD Radeon VII ptr(0x7ffcb1cb2190) size(0x400000) *ptr(0x0x7fc7e2800000) @@ -2275,8 +2275,8 @@ PASSED! # START (15) ############################# - - + + Device 0 name: AMD Radeon VII ptr(0x7ffcb1cb2190) size(0x400000) *ptr(0x0x7fc7e2800000) @@ -2308,7 +2308,7 @@ rocTX <"(null) pid(877926) tid(877926)"> EXT_API correlation_id(440) time_ns(0:0) external_id(31) hipFree correlation_id(440) time_ns(4494966269514081:4494966269530552) process_id(877926) thread_id(877926) hipSetDevice correlation_id(441) time_ns(4494966283318912:4494966283343779) process_id(877926) thread_id(877926) - hipGetDeviceProperties correlation_id(442) time_ns(4494966283345492:4494966283350251) process_id(877926) thread_id(877926) + hipGetDevicePropertiesR0600 correlation_id(442) time_ns(4494966283345492:4494966283350251) process_id(877926) thread_id(877926) hipMalloc correlation_id(443) time_ns(4494966283956084:4494966284200064) process_id(877926) thread_id(877926) hipMalloc correlation_id(444) time_ns(4494966284201036:4494966284312205) process_id(877926) thread_id(877926) CopyHostToDevice correlation_id(445) time_ns(4494966285330357:4494966285632116) device_id(0) queue_id(0) bytes(0x0) @@ -2329,7 +2329,7 @@ rocTX <"(null) pid(877926) tid(877926)"> EXT_API correlation_id(451) time_ns(0:0) external_id(31) hipFree correlation_id(451) time_ns(4494966296486823:4494966296502673) process_id(877926) thread_id(877926) hipSetDevice correlation_id(452) time_ns(4494966310231519:4494966310255234) process_id(877926) thread_id(877926) - hipGetDeviceProperties correlation_id(453) time_ns(4494966310256847:4494966310262097) process_id(877926) thread_id(877926) + hipGetDevicePropertiesR0600 correlation_id(453) time_ns(4494966310256847:4494966310262097) process_id(877926) thread_id(877926) hipMalloc correlation_id(454) time_ns(4494966310867408:4494966311118161) process_id(877926) thread_id(877926) hipMalloc correlation_id(455) time_ns(4494966311119203:4494966311232737) process_id(877926) thread_id(877926) CopyHostToDevice correlation_id(456) time_ns(4494966312321357:4494966312622956) device_id(0) queue_id(0) bytes(0x0) @@ -2350,7 +2350,7 @@ rocTX <"(null) pid(877926) tid(877926)"> EXT_API correlation_id(462) time_ns(0:0) external_id(31) hipFree correlation_id(462) time_ns(4494966323493627:4494966323509648) process_id(877926) thread_id(877926) hipSetDevice correlation_id(463) time_ns(4494966338104158:4494966338129396) process_id(877926) thread_id(877926) - hipGetDeviceProperties correlation_id(464) time_ns(4494966338130999:4494966338136069) process_id(877926) thread_id(877926) + hipGetDevicePropertiesR0600 correlation_id(464) time_ns(4494966338130999:4494966338136069) process_id(877926) thread_id(877926) hipMalloc correlation_id(465) time_ns(4494966338742342:4494966338973969) process_id(877926) thread_id(877926) hipMalloc correlation_id(466) time_ns(4494966338974930:4494966339085449) process_id(877926) thread_id(877926) CopyHostToDevice correlation_id(467) time_ns(4494966340335418:4494966340636698) device_id(0) queue_id(0) bytes(0x0) @@ -2374,8 +2374,8 @@ PASSED! # START (13) ############################# - - + + Device 0 name: AMD Radeon VII ptr(0x7ffcb1cb2190) size(0x400000) *ptr(0x0x7fc7e2800000) @@ -2408,8 +2408,8 @@ PASSED! # START (11) ############################# - - + + Device 0 name: AMD Radeon VII ptr(0x7ffcb1cb2190) size(0x400000) *ptr(0x0x7fc7e2800000) @@ -2442,8 +2442,8 @@ PASSED! # START (9) ############################# - - + + Device 0 name: AMD Radeon VII ptr(0x7ffcb1cb2190) size(0x400000) *ptr(0x0x7fc7e2800000) @@ -2474,7 +2474,7 @@ rocTX <"(null) pid(877926) tid(877926)"> EXT_API correlation_id(473) time_ns(0:0) external_id(31) hipFree correlation_id(473) time_ns(4494966351487523:4494966351503153) process_id(877926) thread_id(877926) hipSetDevice correlation_id(474) time_ns(4494966366135655:4494966366161274) process_id(877926) thread_id(877926) - hipGetDeviceProperties correlation_id(475) time_ns(4494966366162997:4494966366168167) process_id(877926) thread_id(877926) + hipGetDevicePropertiesR0600 correlation_id(475) time_ns(4494966366162997:4494966366168167) process_id(877926) thread_id(877926) hipMalloc correlation_id(476) time_ns(4494966366776123:4494966367009042) process_id(877926) thread_id(877926) hipMalloc correlation_id(477) time_ns(4494966367009994:4494966367115343) process_id(877926) thread_id(877926) CopyHostToDevice correlation_id(478) time_ns(4494966368330579:4494966368631859) device_id(0) queue_id(0) bytes(0x0) @@ -2495,7 +2495,7 @@ rocTX <"(null) pid(877926) tid(877926)"> EXT_API correlation_id(484) time_ns(0:0) external_id(31) hipFree correlation_id(484) time_ns(4494966379483004:4494966379497962) process_id(877926) thread_id(877926) hipSetDevice correlation_id(485) time_ns(4494966393278436:4494966393311819) process_id(877926) thread_id(877926) - hipGetDeviceProperties correlation_id(486) time_ns(4494966393313583:4494966393318522) process_id(877926) thread_id(877926) + hipGetDevicePropertiesR0600 correlation_id(486) time_ns(4494966393313583:4494966393318522) process_id(877926) thread_id(877926) hipMalloc correlation_id(487) time_ns(4494966393938571:4494966394180107) process_id(877926) thread_id(877926) hipMalloc correlation_id(488) time_ns(4494966394181038:4494966394292368) process_id(877926) thread_id(877926) CopyHostToDevice correlation_id(489) time_ns(4494966395330703:4494966395632302) device_id(0) queue_id(0) bytes(0x0) @@ -2516,7 +2516,7 @@ rocTX <"(null) pid(877926) tid(877926)"> EXT_API correlation_id(495) time_ns(0:0) external_id(31) hipFree correlation_id(495) time_ns(4494966406492454:4494966406508815) process_id(877926) thread_id(877926) hipSetDevice correlation_id(496) time_ns(4494966420280684:4494966420305942) process_id(877926) thread_id(877926) - hipGetDeviceProperties correlation_id(497) time_ns(4494966420307585:4494966420312544) process_id(877926) thread_id(877926) + hipGetDevicePropertiesR0600 correlation_id(497) time_ns(4494966420307585:4494966420312544) process_id(877926) thread_id(877926) hipMalloc correlation_id(498) time_ns(4494966420919849:4494966421147138) process_id(877926) thread_id(877926) hipMalloc correlation_id(499) time_ns(4494966421148300:4494966421256224) process_id(877926) thread_id(877926) CopyHostToDevice correlation_id(500) time_ns(4494966422330404:4494966422632004) device_id(0) queue_id(0) bytes(0x0) @@ -2541,8 +2541,8 @@ PASSED! # START (7) ############################# - - + + Device 0 name: AMD Radeon VII ptr(0x7ffcb1cb2190) size(0x400000) *ptr(0x0x7fc7e2800000) @@ -2575,8 +2575,8 @@ PASSED! # START (5) ############################# - - + + Device 0 name: AMD Radeon VII ptr(0x7ffcb1cb2190) size(0x400000) *ptr(0x0x7fc7e2800000) @@ -2609,8 +2609,8 @@ PASSED! # START (3) ############################# - - + + Device 0 name: AMD Radeon VII ptr(0x7ffcb1cb2190) size(0x400000) *ptr(0x0x7fc7e2800000) @@ -2640,7 +2640,7 @@ rocTX <"(null) pid(877926) tid(877926)"> EXT_API correlation_id(506) time_ns(0:0) external_id(31) hipFree correlation_id(506) time_ns(4494966433520789:4494966433538142) process_id(877926) thread_id(877926) hipSetDevice correlation_id(507) time_ns(4494966448181986:4494966448207313) process_id(877926) thread_id(877926) - hipGetDeviceProperties correlation_id(508) time_ns(4494966448209247:4494966448213906) process_id(877926) thread_id(877926) + hipGetDevicePropertiesR0600 correlation_id(508) time_ns(4494966448209247:4494966448213906) process_id(877926) thread_id(877926) hipMalloc correlation_id(509) time_ns(4494966448825639:4494966449055343) process_id(877926) thread_id(877926) hipMalloc correlation_id(510) time_ns(4494966449056415:4494966449164789) process_id(877926) thread_id(877926) CopyHostToDevice correlation_id(511) time_ns(4494966450336285:4494966450637404) device_id(0) queue_id(0) bytes(0x0) @@ -2661,7 +2661,7 @@ rocTX <"(null) pid(877926) tid(877926)"> EXT_API correlation_id(517) time_ns(0:0) external_id(31) hipFree correlation_id(517) time_ns(4494966461546757:4494966461562076) process_id(877926) thread_id(877926) hipSetDevice correlation_id(518) time_ns(4494966476134273:4494966476159040) process_id(877926) thread_id(877926) - hipGetDeviceProperties correlation_id(519) time_ns(4494966476160943:4494966476165743) process_id(877926) thread_id(877926) + hipGetDevicePropertiesR0600 correlation_id(519) time_ns(4494966476160943:4494966476165743) process_id(877926) thread_id(877926) hipMalloc correlation_id(520) time_ns(4494966476771625:4494966477011157) process_id(877926) thread_id(877926) hipMalloc correlation_id(521) time_ns(4494966477012149:4494966477123328) process_id(877926) thread_id(877926) CopyHostToDevice correlation_id(522) time_ns(4494966478328173:4494966478629293) device_id(0) queue_id(0) bytes(0x0) @@ -2682,7 +2682,7 @@ rocTX <"(null) pid(877926) tid(877926)"> EXT_API correlation_id(528) time_ns(0:0) external_id(31) hipFree correlation_id(528) time_ns(4494966490064551:4494966490080872) process_id(877926) thread_id(877926) hipSetDevice correlation_id(529) time_ns(4494966504078407:4494966504102663) process_id(877926) thread_id(877926) - hipGetDeviceProperties correlation_id(530) time_ns(4494966504104406:4494966504109816) process_id(877926) thread_id(877926) + hipGetDevicePropertiesR0600 correlation_id(530) time_ns(4494966504104406:4494966504109816) process_id(877926) thread_id(877926) hipMalloc correlation_id(531) time_ns(4494966504723494:4494966504970780) process_id(877926) thread_id(877926) hipMalloc correlation_id(532) time_ns(4494966504971912:4494966505082501) process_id(877926) thread_id(877926) CopyHostToDevice correlation_id(533) time_ns(4494966506333094:4494966506634853) device_id(0) queue_id(0) bytes(0x0) @@ -2708,8 +2708,8 @@ PASSED! # START (1) ############################# - - + + Device 0 name: AMD Radeon VII ptr(0x7ffcb1cb2190) size(0x400000) *ptr(0x0x7fc7e2800000) @@ -2746,7 +2746,7 @@ PASSED! EXT_API correlation_id(539) time_ns(0:0) external_id(31) hipFree correlation_id(539) time_ns(4494966523219930:4494966523238024) process_id(877926) thread_id(877926) hipSetDevice correlation_id(540) time_ns(4494966537076139:4494966537101978) process_id(877926) thread_id(877926) - hipGetDeviceProperties correlation_id(541) time_ns(4494966537103701:4494966537117707) process_id(877926) thread_id(877926) + hipGetDevicePropertiesR0600 correlation_id(541) time_ns(4494966537103701:4494966537117707) process_id(877926) thread_id(877926) hipMalloc correlation_id(542) time_ns(4494966537741654:4494966537979853) process_id(877926) thread_id(877926) hipMalloc correlation_id(543) time_ns(4494966537981075:4494966538092966) process_id(877926) thread_id(877926) CopyHostToDevice correlation_id(544) time_ns(4494966539326649:4494966539628248) device_id(0) queue_id(0) bytes(0x0) diff --git a/test/golden_traces/MatrixTranspose_mgpu_trace.txt b/test/golden_traces/MatrixTranspose_mgpu_trace.txt index ece4aa1439..19d09203e6 100644 --- a/test/golden_traces/MatrixTranspose_mgpu_trace.txt +++ b/test/golden_traces/MatrixTranspose_mgpu_trace.txt @@ -6,8 +6,8 @@ Number of GPUs: 1 # START (99) ############################# - - + + Device 0 name: Device 687f ptr(0x7ffd4c5a7160) size(0x400000) *ptr(0x0x7f2290800000) @@ -40,8 +40,8 @@ PASSED! # START (97) ############################# - - + + Device 0 name: Device 687f ptr(0x7ffd4c5a7160) size(0x400000) *ptr(0x0x7f2291400000) @@ -74,8 +74,8 @@ PASSED! # START (95) ############################# - - + + Device 0 name: Device 687f ptr(0x7ffd4c5a7160) size(0x400000) *ptr(0x0x7f2291400000) @@ -108,8 +108,8 @@ PASSED! # START (93) ############################# - - + + Device 0 name: Device 687f ptr(0x7ffd4c5a7160) size(0x400000) *ptr(0x0x7f2291400000) @@ -142,8 +142,8 @@ PASSED! # START (91) ############################# - - + + Device 0 name: Device 687f ptr(0x7ffd4c5a7160) size(0x400000) *ptr(0x0x7f2291400000) @@ -176,8 +176,8 @@ PASSED! # START (89) ############################# - - + + Device 0 name: Device 687f ptr(0x7ffd4c5a7160) size(0x400000) *ptr(0x0x7f2291400000) @@ -210,8 +210,8 @@ PASSED! # START (87) ############################# - - + + Device 0 name: Device 687f ptr(0x7ffd4c5a7160) size(0x400000) *ptr(0x0x7f2291400000) @@ -244,8 +244,8 @@ PASSED! # START (85) ############################# - - + + Device 0 name: Device 687f ptr(0x7ffd4c5a7160) size(0x400000) *ptr(0x0x7f2291400000) @@ -278,8 +278,8 @@ PASSED! # START (83) ############################# - - + + Device 0 name: Device 687f ptr(0x7ffd4c5a7160) size(0x400000) *ptr(0x0x7f2291400000) @@ -312,8 +312,8 @@ PASSED! # START (81) ############################# - - + + Device 0 name: Device 687f ptr(0x7ffd4c5a7160) size(0x400000) *ptr(0x0x7f2291400000) @@ -346,8 +346,8 @@ PASSED! # START (79) ############################# - - + + Device 0 name: Device 687f ptr(0x7ffd4c5a7160) size(0x400000) *ptr(0x0x7f2291400000) @@ -380,8 +380,8 @@ PASSED! # START (77) ############################# - - + + Device 0 name: Device 687f ptr(0x7ffd4c5a7160) size(0x400000) *ptr(0x0x7f2291400000) @@ -414,8 +414,8 @@ PASSED! # START (75) ############################# - - + + Device 0 name: Device 687f ptr(0x7ffd4c5a7160) size(0x400000) *ptr(0x0x7f2291400000) @@ -448,8 +448,8 @@ PASSED! # START (73) ############################# - - + + Device 0 name: Device 687f ptr(0x7ffd4c5a7160) size(0x400000) *ptr(0x0x7f2291400000) @@ -482,8 +482,8 @@ PASSED! # START (71) ############################# - - + + Device 0 name: Device 687f ptr(0x7ffd4c5a7160) size(0x400000) *ptr(0x0x7f2291400000) @@ -516,8 +516,8 @@ PASSED! # START (69) ############################# - - + + Device 0 name: Device 687f ptr(0x7ffd4c5a7160) size(0x400000) *ptr(0x0x7f2291400000) @@ -550,8 +550,8 @@ PASSED! # START (67) ############################# - - + + Device 0 name: Device 687f ptr(0x7ffd4c5a7160) size(0x400000) *ptr(0x0x7f2291400000) @@ -584,8 +584,8 @@ PASSED! # START (65) ############################# - - + + Device 0 name: Device 687f ptr(0x7ffd4c5a7160) size(0x400000) *ptr(0x0x7f2291400000) @@ -618,8 +618,8 @@ PASSED! # START (63) ############################# - - + + Device 0 name: Device 687f ptr(0x7ffd4c5a7160) size(0x400000) *ptr(0x0x7f2291400000) @@ -652,8 +652,8 @@ PASSED! # START (61) ############################# - - + + Device 0 name: Device 687f ptr(0x7ffd4c5a7160) size(0x400000) *ptr(0x0x7f2291400000) @@ -686,8 +686,8 @@ PASSED! # START (59) ############################# - - + + Device 0 name: Device 687f ptr(0x7ffd4c5a7160) size(0x400000) *ptr(0x0x7f2291400000) @@ -720,8 +720,8 @@ PASSED! # START (57) ############################# - - + + Device 0 name: Device 687f ptr(0x7ffd4c5a7160) size(0x400000) *ptr(0x0x7f2291400000) @@ -798,8 +798,8 @@ PASSED! # START (55) ############################# - - + + Device 0 name: Device 687f ptr(0x7ffd4c5a7160) size(0x400000) *ptr(0x0x7f2291400000) @@ -832,8 +832,8 @@ PASSED! # START (53) ############################# - - + + Device 0 name: Device 687f ptr(0x7ffd4c5a7160) size(0x400000) *ptr(0x0x7f2291400000) @@ -866,8 +866,8 @@ PASSED! # START (51) ############################# - - + + Device 0 name: Device 687f ptr(0x7ffd4c5a7160) size(0x400000) *ptr(0x0x7f2291400000) @@ -900,8 +900,8 @@ PASSED! # START (49) ############################# - - + + Device 0 name: Device 687f ptr(0x7ffd4c5a7160) size(0x400000) *ptr(0x0x7f2291400000) @@ -934,8 +934,8 @@ PASSED! # START (47) ############################# - - + + Device 0 name: Device 687f ptr(0x7ffd4c5a7160) size(0x400000) *ptr(0x0x7f2291400000) @@ -968,8 +968,8 @@ PASSED! # START (45) ############################# - - + + Device 0 name: Device 687f ptr(0x7ffd4c5a7160) size(0x400000) *ptr(0x0x7f2291400000) @@ -1002,8 +1002,8 @@ PASSED! # START (43) ############################# - - + + Device 0 name: Device 687f ptr(0x7ffd4c5a7160) size(0x400000) *ptr(0x0x7f2291400000) @@ -1036,8 +1036,8 @@ PASSED! # START (41) ############################# - - + + Device 0 name: Device 687f ptr(0x7ffd4c5a7160) size(0x400000) *ptr(0x0x7f2291400000) @@ -1070,8 +1070,8 @@ PASSED! # START (39) ############################# - - + + Device 0 name: Device 687f ptr(0x7ffd4c5a7160) size(0x400000) *ptr(0x0x7f2291400000) @@ -1104,8 +1104,8 @@ PASSED! # START (37) ############################# - - + + Device 0 name: Device 687f ptr(0x7ffd4c5a7160) size(0x400000) *ptr(0x0x7f2291400000) @@ -1138,8 +1138,8 @@ PASSED! # START (35) ############################# - - + + Device 0 name: Device 687f ptr(0x7ffd4c5a7160) size(0x400000) *ptr(0x0x7f2291400000) @@ -1172,8 +1172,8 @@ PASSED! # START (33) ############################# - - + + Device 0 name: Device 687f ptr(0x7ffd4c5a7160) size(0x400000) *ptr(0x0x7f2291400000) @@ -1206,8 +1206,8 @@ PASSED! # START (31) ############################# - - + + Device 0 name: Device 687f ptr(0x7ffd4c5a7160) size(0x400000) *ptr(0x0x7f2291400000) @@ -1240,8 +1240,8 @@ PASSED! # START (29) ############################# - - + + Device 0 name: Device 687f ptr(0x7ffd4c5a7160) size(0x400000) *ptr(0x0x7f2291400000) @@ -1274,8 +1274,8 @@ PASSED! # START (27) ############################# - - + + Device 0 name: Device 687f ptr(0x7ffd4c5a7160) size(0x400000) *ptr(0x0x7f2291400000) @@ -1308,8 +1308,8 @@ PASSED! # START (25) ############################# - - + + Device 0 name: Device 687f ptr(0x7ffd4c5a7160) size(0x400000) *ptr(0x0x7f2291400000) @@ -1342,8 +1342,8 @@ PASSED! # START (23) ############################# - - + + Device 0 name: Device 687f ptr(0x7ffd4c5a7160) size(0x400000) *ptr(0x0x7f2291400000) @@ -1376,8 +1376,8 @@ PASSED! # START (21) ############################# - - + + Device 0 name: Device 687f ptr(0x7ffd4c5a7160) size(0x400000) *ptr(0x0x7f2291400000) @@ -1410,8 +1410,8 @@ PASSED! # START (19) ############################# - - + + Device 0 name: Device 687f ptr(0x7ffd4c5a7160) size(0x400000) *ptr(0x0x7f2291400000) @@ -1444,8 +1444,8 @@ PASSED! # START (17) ############################# - - + + Device 0 name: Device 687f ptr(0x7ffd4c5a7160) size(0x400000) *ptr(0x0x7f2291400000) @@ -1478,8 +1478,8 @@ PASSED! # START (15) ############################# - - + + Device 0 name: Device 687f ptr(0x7ffd4c5a7160) size(0x400000) *ptr(0x0x7f2291400000) @@ -1555,8 +1555,8 @@ PASSED! # START (13) ############################# - - + + Device 0 name: Device 687f ptr(0x7ffd4c5a7160) size(0x400000) *ptr(0x0x7f2291400000) @@ -1589,8 +1589,8 @@ PASSED! # START (11) ############################# - - + + Device 0 name: Device 687f ptr(0x7ffd4c5a7160) size(0x400000) *ptr(0x0x7f2291400000) @@ -1623,8 +1623,8 @@ PASSED! # START (9) ############################# - - + + Device 0 name: Device 687f ptr(0x7ffd4c5a7160) size(0x400000) *ptr(0x0x7f2291400000) @@ -1657,8 +1657,8 @@ PASSED! # START (7) ############################# - - + + Device 0 name: Device 687f ptr(0x7ffd4c5a7160) size(0x400000) *ptr(0x0x7f2291400000) @@ -1691,8 +1691,8 @@ PASSED! # START (5) ############################# - - + + Device 0 name: Device 687f ptr(0x7ffd4c5a7160) size(0x400000) *ptr(0x0x7f2291400000) @@ -1725,8 +1725,8 @@ PASSED! # START (3) ############################# - - + + Device 0 name: Device 687f ptr(0x7ffd4c5a7160) size(0x400000) *ptr(0x0x7f2291400000) @@ -1759,8 +1759,8 @@ PASSED! # START (1) ############################# - - + + Device 0 name: Device 687f ptr(0x7ffd4c5a7160) size(0x400000) *ptr(0x0x7f2291400000) diff --git a/test/golden_traces/MatrixTranspose_sys_hsa_trace.txt b/test/golden_traces/MatrixTranspose_sys_hsa_trace.txt index a92b7d58a9..1776a8552e 100644 --- a/test/golden_traces/MatrixTranspose_sys_hsa_trace.txt +++ b/test/golden_traces/MatrixTranspose_sys_hsa_trace.txt @@ -1,4 +1,4 @@ -ROCTracer (pid=158131): +ROCTracer (pid=158131): rocTX-trace() 0x1d2e480 agent cpu 0x1d66510 agent gpu @@ -5140,7 +5140,7 @@ ROCTracer (pid=158131): 337768634921569:337768634922000 158131:158131 hsa_amd_profiling_get_dispatch_time({handle=30827792}, {handle=139906362695424}, 0x7fff99cd0a10) = 0 337768644589292:337768644618006 158131:158131 hsa_amd_memory_pool_free(0x7f3e43000000) = 0 337768644624368:337768644637984 158131:158131 hsa_amd_memory_pool_free(0x7f3e42800000) = 0 -337766974801818:337766974804433 158131:158131 hipGetDeviceProperties(props={}, device=0) :1 +337766974801818:337766974804433 158131:158131 hipGetDevicePropertiesR0600(props={}, device=0) :1 337766975606005:337766975727544 158131:158131 hipMalloc(ptr=0x7f3e43000000, size=4194304) :2 337766975729067:337766975854995 158131:158131 hipMalloc(ptr=0x7f3e42800000, size=4194304) :3 337766975868801:337767194313754 158131:158131 hipMemcpy(dst=0x7f3e43000000, src=0x7f3e7c0ff010, sizeBytes=4194304, kind=1) :4 diff --git a/test/golden_traces/MatrixTranspose_sys_trace.txt b/test/golden_traces/MatrixTranspose_sys_trace.txt index 7bd3f66967..ae2b92cc08 100644 --- a/test/golden_traces/MatrixTranspose_sys_trace.txt +++ b/test/golden_traces/MatrixTranspose_sys_trace.txt @@ -309,7 +309,7 @@ ROCtracer (35231): 6503199952730655:6503199954384568 2:0 CopyHostToDevice:6603:35231 6503199954456768:6503199954562528 2:0 matrixTranspose(float*, float*, int):6621:35231 6503199954566208:6503199956009521 2:0 CopyDeviceToHost:6630:35231 -6503198510085789:6503198510087523 35231:35231 hipGetDeviceProperties(props={pageableMemoryAccessUsesHostPageTables=0, pageableMemoryAccess=0, concurrentManagedAccess=1, directManagedMemAccessFromHost=0, managedMemory=1, asicRevision=1, isLargeBar=1, cooperativeMultiDeviceUnmatchedSharedMem=1, cooperativeMultiDeviceUnmatchedBlockDim=1, cooperativeMultiDeviceUnmatchedGridDim=1, cooperativeMultiDeviceUnmatchedFunc=1, tccDriver=0, ECCEnabled=0, kernelExecTimeoutEnabled=0, texturePitchAlignment=256, textureAlignment=256, memPitch=2147483647, hdpRegFlushCntl=0x7fe666b6b004, hdpMemFlushCntl=0x7fe666b6b000, maxTexture3D=0x7fe5a4310318, maxTexture2D=0x7fe5a4310310, maxTexture1D=16384, maxTexture1DLinear=2147483647, cooperativeMultiDeviceLaunch=1, cooperativeLaunch=1, integrated=0, gcnArchName="gfx90a:sramecc+:xnack-", gcnArch=910, canMapHostMemory=1, isMultiGpuBoard=0, maxSharedMemoryPerMultiProcessor=65536, pciDeviceID=0, pciBusID=74, pciDomainID=0, concurrentKernels=1, arch={}, clockInstructionRate=1000000, computeMode=0, maxThreadsPerMultiProcessor=2048, l2CacheSize=8388608, multiProcessorCount=104, minor=0, major=9, totalConstMem=2147483647, memoryBusWidth=4096, memoryClockRate=1600000, clockRate=1700000, maxGridSize=0x7fe5a4310198, maxThreadsDim=0x7fe5a431018c, maxThreadsPerBlock=1024, warpSize=64, regsPerBlock=65536, sharedMemPerBlock=65536, totalGlobalMem=68702699520, name="AMD Instinct MI210"}, device=0) :306 +6503198510085789:6503198510087523 35231:35231 hipGetDevicePropertiesR0600(props={pageableMemoryAccessUsesHostPageTables=0, pageableMemoryAccess=0, concurrentManagedAccess=1, directManagedMemAccessFromHost=0, managedMemory=1, asicRevision=1, isLargeBar=1, cooperativeMultiDeviceUnmatchedSharedMem=1, cooperativeMultiDeviceUnmatchedBlockDim=1, cooperativeMultiDeviceUnmatchedGridDim=1, cooperativeMultiDeviceUnmatchedFunc=1, tccDriver=0, ECCEnabled=0, kernelExecTimeoutEnabled=0, texturePitchAlignment=256, textureAlignment=256, memPitch=2147483647, hdpRegFlushCntl=0x7fe666b6b004, hdpMemFlushCntl=0x7fe666b6b000, maxTexture3D=0x7fe5a4310318, maxTexture2D=0x7fe5a4310310, maxTexture1D=16384, maxTexture1DLinear=2147483647, cooperativeMultiDeviceLaunch=1, cooperativeLaunch=1, integrated=0, gcnArchName="gfx90a:sramecc+:xnack-", gcnArch=910, canMapHostMemory=1, isMultiGpuBoard=0, maxSharedMemoryPerMultiProcessor=65536, pciDeviceID=0, pciBusID=74, pciDomainID=0, concurrentKernels=1, arch={}, clockInstructionRate=1000000, computeMode=0, maxThreadsPerMultiProcessor=2048, l2CacheSize=8388608, multiProcessorCount=104, minor=0, major=9, totalConstMem=2147483647, memoryBusWidth=4096, memoryClockRate=1600000, clockRate=1700000, maxGridSize=0x7fe5a4310198, maxThreadsDim=0x7fe5a431018c, maxThreadsPerBlock=1024, warpSize=64, regsPerBlock=65536, sharedMemPerBlock=65536, totalGlobalMem=68702699520, name="AMD Instinct MI210"}, device=0) :306 6503198510945363:6503198510974227 35231:35231 hipMalloc(ptr=0x7fe129a00000, size=4194304) :307 6503198510974728:6503198510987111 35231:35231 hipMalloc(ptr=0x7fe129400000, size=4194304) :309 6503198510997400:6503198759089756 35231:35231 hipMemcpy(dst=0x7fe129a00000, src=0x7fe12a7ff010, sizeBytes=4194304, kind=1) :311 diff --git a/test/golden_traces/MatrixTranspose_test_trace.txt b/test/golden_traces/MatrixTranspose_test_trace.txt index 27cdaa67c7..605d01a9a5 100644 --- a/test/golden_traces/MatrixTranspose_test_trace.txt +++ b/test/golden_traces/MatrixTranspose_test_trace.txt @@ -3,8 +3,8 @@ # START (99) ############################# - - + + Device 0 name: Device 687f ptr(0x7fff13900c60) size(0x400000) *ptr(0x0x7f0594a00000) @@ -37,8 +37,8 @@ PASSED! # START (97) ############################# - - + + Device 0 name: Device 687f ptr(0x7fff13900c60) size(0x400000) *ptr(0x0x7f0595600000) @@ -71,8 +71,8 @@ PASSED! # START (95) ############################# - - + + Device 0 name: Device 687f ptr(0x7fff13900c60) size(0x400000) *ptr(0x0x7f0595600000) @@ -105,8 +105,8 @@ PASSED! # START (93) ############################# - - + + Device 0 name: Device 687f ptr(0x7fff13900c60) size(0x400000) *ptr(0x0x7f0595600000) @@ -139,8 +139,8 @@ PASSED! # START (91) ############################# - - + + Device 0 name: Device 687f ptr(0x7fff13900c60) size(0x400000) *ptr(0x0x7f0595600000) @@ -173,8 +173,8 @@ PASSED! # START (89) ############################# - - + + Device 0 name: Device 687f ptr(0x7fff13900c60) size(0x400000) *ptr(0x0x7f0595600000) @@ -207,8 +207,8 @@ PASSED! # START (87) ############################# - - + + Device 0 name: Device 687f ptr(0x7fff13900c60) size(0x400000) *ptr(0x0x7f0595600000) @@ -241,8 +241,8 @@ PASSED! # START (85) ############################# - - + + Device 0 name: Device 687f ptr(0x7fff13900c60) size(0x400000) *ptr(0x0x7f0595600000) @@ -275,8 +275,8 @@ PASSED! # START (83) ############################# - - + + Device 0 name: Device 687f ptr(0x7fff13900c60) size(0x400000) *ptr(0x0x7f0595600000) @@ -309,8 +309,8 @@ PASSED! # START (81) ############################# - - + + Device 0 name: Device 687f ptr(0x7fff13900c60) size(0x400000) *ptr(0x0x7f0595600000) @@ -343,8 +343,8 @@ PASSED! # START (79) ############################# - - + + Device 0 name: Device 687f ptr(0x7fff13900c60) size(0x400000) *ptr(0x0x7f0595600000) @@ -377,8 +377,8 @@ PASSED! # START (77) ############################# - - + + Device 0 name: Device 687f ptr(0x7fff13900c60) size(0x400000) *ptr(0x0x7f0595600000) @@ -411,8 +411,8 @@ PASSED! # START (75) ############################# - - + + Device 0 name: Device 687f ptr(0x7fff13900c60) size(0x400000) *ptr(0x0x7f0595600000) @@ -445,8 +445,8 @@ PASSED! # START (73) ############################# - - + + Device 0 name: Device 687f ptr(0x7fff13900c60) size(0x400000) *ptr(0x0x7f0595600000) @@ -479,8 +479,8 @@ PASSED! # START (71) ############################# - - + + Device 0 name: Device 687f ptr(0x7fff13900c60) size(0x400000) *ptr(0x0x7f0595600000) @@ -513,8 +513,8 @@ PASSED! # START (69) ############################# - - + + Device 0 name: Device 687f ptr(0x7fff13900c60) size(0x400000) *ptr(0x0x7f0595600000) @@ -547,8 +547,8 @@ PASSED! # START (67) ############################# - - + + Device 0 name: Device 687f ptr(0x7fff13900c60) size(0x400000) *ptr(0x0x7f0595600000) @@ -581,8 +581,8 @@ PASSED! # START (65) ############################# - - + + Device 0 name: Device 687f ptr(0x7fff13900c60) size(0x400000) *ptr(0x0x7f0595600000) @@ -615,8 +615,8 @@ PASSED! # START (63) ############################# - - + + Device 0 name: Device 687f ptr(0x7fff13900c60) size(0x400000) *ptr(0x0x7f0595600000) @@ -649,8 +649,8 @@ PASSED! # START (61) ############################# - - + + Device 0 name: Device 687f ptr(0x7fff13900c60) size(0x400000) *ptr(0x0x7f0595600000) @@ -683,8 +683,8 @@ PASSED! # START (59) ############################# - - + + Device 0 name: Device 687f ptr(0x7fff13900c60) size(0x400000) *ptr(0x0x7f0595600000) @@ -717,8 +717,8 @@ PASSED! # START (57) ############################# - - + + Device 0 name: Device 687f ptr(0x7fff13900c60) size(0x400000) *ptr(0x0x7f0595600000) @@ -816,8 +816,8 @@ PASSED! # START (55) ############################# - - + + Device 0 name: Device 687f ptr(0x7fff13900c60) size(0x400000) *ptr(0x0x7f0595600000) @@ -850,8 +850,8 @@ PASSED! # START (53) ############################# - - + + Device 0 name: Device 687f ptr(0x7fff13900c60) size(0x400000) *ptr(0x0x7f0595600000) @@ -884,8 +884,8 @@ PASSED! # START (51) ############################# - - + + Device 0 name: Device 687f ptr(0x7fff13900c60) size(0x400000) *ptr(0x0x7f0595600000) @@ -918,8 +918,8 @@ PASSED! # START (49) ############################# - - + + Device 0 name: Device 687f ptr(0x7fff13900c60) size(0x400000) *ptr(0x0x7f0595600000) @@ -952,8 +952,8 @@ PASSED! # START (47) ############################# - - + + Device 0 name: Device 687f ptr(0x7fff13900c60) size(0x400000) *ptr(0x0x7f0595600000) @@ -986,8 +986,8 @@ PASSED! # START (45) ############################# - - + + Device 0 name: Device 687f ptr(0x7fff13900c60) size(0x400000) *ptr(0x0x7f0595600000) @@ -1020,8 +1020,8 @@ PASSED! # START (43) ############################# - - + + Device 0 name: Device 687f ptr(0x7fff13900c60) size(0x400000) *ptr(0x0x7f0595600000) @@ -1054,8 +1054,8 @@ PASSED! # START (41) ############################# - - + + Device 0 name: Device 687f ptr(0x7fff13900c60) size(0x400000) *ptr(0x0x7f0595600000) @@ -1088,8 +1088,8 @@ PASSED! # START (39) ############################# - - + + Device 0 name: Device 687f ptr(0x7fff13900c60) size(0x400000) *ptr(0x0x7f0595600000) @@ -1122,8 +1122,8 @@ PASSED! # START (37) ############################# - - + + Device 0 name: Device 687f ptr(0x7fff13900c60) size(0x400000) *ptr(0x0x7f0595600000) @@ -1156,8 +1156,8 @@ PASSED! # START (35) ############################# - - + + Device 0 name: Device 687f ptr(0x7fff13900c60) size(0x400000) *ptr(0x0x7f0595600000) @@ -1190,8 +1190,8 @@ PASSED! # START (33) ############################# - - + + Device 0 name: Device 687f ptr(0x7fff13900c60) size(0x400000) *ptr(0x0x7f0595600000) @@ -1224,8 +1224,8 @@ PASSED! # START (31) ############################# - - + + Device 0 name: Device 687f ptr(0x7fff13900c60) size(0x400000) *ptr(0x0x7f0595600000) @@ -1258,8 +1258,8 @@ PASSED! # START (29) ############################# - - + + Device 0 name: Device 687f ptr(0x7fff13900c60) size(0x400000) *ptr(0x0x7f0595600000) @@ -1292,8 +1292,8 @@ PASSED! # START (27) ############################# - - + + Device 0 name: Device 687f ptr(0x7fff13900c60) size(0x400000) *ptr(0x0x7f0595600000) @@ -1326,8 +1326,8 @@ PASSED! # START (25) ############################# - - + + Device 0 name: Device 687f ptr(0x7fff13900c60) size(0x400000) *ptr(0x0x7f0595600000) @@ -1360,8 +1360,8 @@ PASSED! # START (23) ############################# - - + + Device 0 name: Device 687f ptr(0x7fff13900c60) size(0x400000) *ptr(0x0x7f0595600000) @@ -1394,8 +1394,8 @@ PASSED! # START (21) ############################# - - + + Device 0 name: Device 687f ptr(0x7fff13900c60) size(0x400000) *ptr(0x0x7f0595600000) @@ -1428,8 +1428,8 @@ PASSED! # START (19) ############################# - - + + Device 0 name: Device 687f ptr(0x7fff13900c60) size(0x400000) *ptr(0x0x7f0595600000) @@ -1462,8 +1462,8 @@ PASSED! # START (17) ############################# - - + + Device 0 name: Device 687f ptr(0x7fff13900c60) size(0x400000) *ptr(0x0x7f0595600000) @@ -1496,8 +1496,8 @@ PASSED! # START (15) ############################# - - + + Device 0 name: Device 687f ptr(0x7fff13900c60) size(0x400000) *ptr(0x0x7f0595600000) @@ -1595,8 +1595,8 @@ PASSED! # START (13) ############################# - - + + Device 0 name: Device 687f ptr(0x7fff13900c60) size(0x400000) *ptr(0x0x7f0595600000) @@ -1629,8 +1629,8 @@ PASSED! # START (11) ############################# - - + + Device 0 name: Device 687f ptr(0x7fff13900c60) size(0x400000) *ptr(0x0x7f0595600000) @@ -1663,8 +1663,8 @@ PASSED! # START (9) ############################# - - + + Device 0 name: Device 687f ptr(0x7fff13900c60) size(0x400000) *ptr(0x0x7f0595600000) @@ -1697,8 +1697,8 @@ PASSED! # START (7) ############################# - - + + Device 0 name: Device 687f ptr(0x7fff13900c60) size(0x400000) *ptr(0x0x7f0595600000) @@ -1731,8 +1731,8 @@ PASSED! # START (5) ############################# - - + + Device 0 name: Device 687f ptr(0x7fff13900c60) size(0x400000) *ptr(0x0x7f0595600000) @@ -1765,8 +1765,8 @@ PASSED! # START (3) ############################# - - + + Device 0 name: Device 687f ptr(0x7fff13900c60) size(0x400000) *ptr(0x0x7f0595600000) @@ -1799,8 +1799,8 @@ PASSED! # START (1) ############################# - - + + Device 0 name: Device 687f ptr(0x7fff13900c60) size(0x400000) *ptr(0x0x7f0595600000) From 5d066e52866f9830687de740e6fc8c7fa55ec65c Mon Sep 17 00:00:00 2001 From: David Galiffi Date: Thu, 1 Feb 2024 14:34:48 -0500 Subject: [PATCH 662/691] SWDEV-436568: Add CODEOWNERS file Add @ammarwa and @bgopesh as CODEOWNERS. This is for GitHub upstream. Signed-off-by: David Galiffi Change-Id: I788f5ad550f91e8d3ce45bbeb527283bf11c4fd7 --- CODEOWNERS | 1 + 1 file changed, 1 insertion(+) create mode 100644 CODEOWNERS diff --git a/CODEOWNERS b/CODEOWNERS new file mode 100644 index 0000000000..7c775e6dbe --- /dev/null +++ b/CODEOWNERS @@ -0,0 +1 @@ +* @ammarwa @bgopesh From 4bc8dbd029c433f060f9f0742c9b1c332e2e4b3a Mon Sep 17 00:00:00 2001 From: Giovanni LB Date: Wed, 28 Feb 2024 23:56:14 -0300 Subject: [PATCH 663/691] SWDEV-448279: Workaround for UB24 compiler errors Change-Id: I01e880502edac8e8b941d199e08bc8f1eded0a89 --- src/roctracer/registration_table.h | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/src/roctracer/registration_table.h b/src/roctracer/registration_table.h index f9f6efd478..7ead61aed4 100644 --- a/src/roctracer/registration_table.h +++ b/src/roctracer/registration_table.h @@ -54,9 +54,15 @@ struct False { // Generic callbacks table template class RegistrationTable { public: + struct table_element_t { + std::atomic enabled{false}; + mutable std::shared_mutex mutex; + T data; + }; + template void Register(uint32_t operation_id, Args... args) { assert(operation_id < N && "operation_id is out of range"); - auto& entry = table_[operation_id]; + table_element_t& entry = table_.at(operation_id); std::unique_lock lock(entry.mutex); if (!entry.enabled.exchange(true, std::memory_order_relaxed)) registered_count_.fetch_add(1, std::memory_order_relaxed); @@ -65,7 +71,7 @@ template class Regi void Unregister(uint32_t operation_id) { assert(operation_id < N && "id is out of range"); - auto& entry = table_[operation_id]; + table_element_t& entry = table_.at(operation_id); std::unique_lock lock(entry.mutex); if (entry.enabled.exchange(false, std::memory_order_relaxed)) registered_count_.fetch_sub(1, std::memory_order_relaxed); @@ -73,7 +79,7 @@ template class Regi std::optional Get(uint32_t operation_id) const { assert(operation_id < N && "id is out of range"); - auto& entry = table_[operation_id]; + const table_element_t& entry = table_.at(operation_id); if (!entry.enabled.load(std::memory_order_relaxed) || IsStopped{}()) return std::nullopt; std::shared_lock lock(entry.mutex); return entry.enabled.load(std::memory_order_relaxed) ? std::make_optional(entry.data) @@ -84,11 +90,7 @@ template class Regi private: std::atomic registered_count_{0}; - struct { - std::atomic enabled{false}; - mutable std::shared_mutex mutex; - T data; - } table_[N]{}; + std::array table_{}; }; #if IGNORE_GCC_ARRAY_BOUNDS_ERROR From 08341ded442d30f9abda84a360356c2ea89ca87f Mon Sep 17 00:00:00 2001 From: gobhardw Date: Mon, 1 Apr 2024 18:35:55 +0000 Subject: [PATCH 664/691] Fixiing roctracer tests for MI300 Change-Id: Id8d2bdd78c857ed40ba331db652177beb91d6230 --- build.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.sh b/build.sh index 81ac862933..d60c46c06a 100755 --- a/build.sh +++ b/build.sh @@ -45,7 +45,7 @@ if [ -z "$PACKAGE_PREFIX" ] ; then PACKAGE_PREFIX="$ROCM_PATH/$COMPONENT"; fi if [ -z "$PREFIX_PATH" ] ; then PREFIX_PATH=$PACKAGE_ROOT; fi if [ -z "$HIP_VDI" ] ; then HIP_VDI=0; fi if [ -n "$ROCM_RPATH" ] ; then LD_RUNPATH_FLAG=" -Wl,--enable-new-dtags -Wl,--rpath,${ROCM_RPATH}"; fi -if [ -z "$GPU_LIST" ] ; then GPU_LIST="gfx900 gfx906 gfx908 gfx90a gfx940 gfx1030 gfx1100 gfx1101 gfx1102"; fi +if [ -z "$GPU_LIST" ] ; then GPU_LIST="gfx900 gfx906 gfx908 gfx90a gfx940 gfx941 gfx942 gfx1030 gfx1100 gfx1101 gfx1102"; fi ROCTRACER_ROOT=$(cd $ROCTRACER_ROOT && echo $PWD) From f3cad4c05b15e03f7b1946430356f89bd5ab32a7 Mon Sep 17 00:00:00 2001 From: gobhardw Date: Tue, 14 May 2024 17:33:35 +0530 Subject: [PATCH 665/691] SWDEV-447472-updating tests Change-Id: I27b0cddc0eb0ec3f6ed30aaef0d88971cd674033 --- test/golden_traces/tests_trace_cmp_levels.txt | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/test/golden_traces/tests_trace_cmp_levels.txt b/test/golden_traces/tests_trace_cmp_levels.txt index f6ceb02c68..2bd994eb4c 100644 --- a/test/golden_traces/tests_trace_cmp_levels.txt +++ b/test/golden_traces/tests_trace_cmp_levels.txt @@ -2,13 +2,13 @@ MatrixTranspose_dryrun_trace --check-none copy_dryrun_trace --check-none MatrixTranspose_ctest_trace --check-count .* -MatrixTranspose_test_trace --check-count .* -MatrixTranspose_hipaact_test_trace --check-count .* --ignore-count hipMemcpy|__hipPushCallConfiguration|hipLaunchKernel|__hipPopCallConfiguration +MatrixTranspose_test_trace --check-count .* --ignore-count KernelExecution +MatrixTranspose_hipaact_test_trace --check-count .* --ignore-count KernelExecution|hipMemcpy|__hipPushCallConfiguration|hipLaunchKernel|__hipPopCallConfiguration MatrixTranspose_mgpu_trace --check-events .* -MatrixTranspose_sys_trace --check-count .* --ignore-count hsa_.* +MatrixTranspose_sys_trace --check-count .* --ignore-count matrixTranspose|hsa_.* MatrixTranspose_sys_hsa_trace --check-count .* --ignore-count hsa_.* MatrixTranspose_hip_period_trace --check-events .* --ignore-event hipMalloc|hipFree -MatrixTranspose_hip_flush_trace --check-order .* +MatrixTranspose_hip_flush_trace --check-count .* --ignore-count matrixTranspose MatrixTranspose_kfd_trace --check-events .* MatrixTranspose_hip_input_trace --check-events .* copy_hsa_trace --check-events .* @@ -21,4 +21,4 @@ activity_and_callback_trace --check-order .* multi_pool_activities_trace --check-order .* roctx_test_trace --check-count .* backward_compat_test_trace --check-none -dlopen --check-none \ No newline at end of file +dlopen --check-none From 228cd05a720b4a486a5eaa94d507988711fb9db8 Mon Sep 17 00:00:00 2001 From: amd-jmacaran Date: Tue, 21 May 2024 11:36:17 -0400 Subject: [PATCH 666/691] Enable ROCm External CI pipeline triggers Change-Id: Ibb246bb12ed5b0d36447b7a310cff95ade359b78 --- .azuredevops/rocm-ci.yml | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 .azuredevops/rocm-ci.yml diff --git a/.azuredevops/rocm-ci.yml b/.azuredevops/rocm-ci.yml new file mode 100644 index 0000000000..accd3da90c --- /dev/null +++ b/.azuredevops/rocm-ci.yml @@ -0,0 +1,40 @@ +resources: + repositories: + - repository: pipelines_repo + type: github + endpoint: ROCm + name: ROCm/ROCm + +variables: +- group: common +- template: /.azuredevops/variables-global.yml@pipelines_repo + +trigger: + batch: true + branches: + include: + - amd-master + - amd-staging + paths: + exclude: + - .github + - doc + - LICENSE + - README.md + +pr: + autoCancel: true + branches: + include: + - amd-master + - amd-staging + paths: + exclude: + - .github + - doc + - LICENSE + - README.md + drafts: false + +jobs: + - template: ${{ variables.CI_COMPONENT_PATH }}/roctracer.yml@pipelines_repo From 9755c71cfc49353e612982bdd510ed7ca53413da Mon Sep 17 00:00:00 2001 From: meserve-amd Date: Mon, 1 Jul 2024 13:55:53 -0500 Subject: [PATCH 667/691] SWDEV-470344: Fix build time parsing of unions - Fixes issue where types defined inside of a union were being skipped for ostream operator generation - Also fixes issue where these types were not correctly defined in the resulting operators' parameters - Fixes edge case where types with "union" in their name were being skipped as if they were union types Change-Id: I717e56c1d0250eeae402bb83e39dec9990cff70d --- script/gen_ostream_ops.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/script/gen_ostream_ops.py b/script/gen_ostream_ops.py index 71db338490..9b45cb4e3e 100755 --- a/script/gen_ostream_ops.py +++ b/script/gen_ostream_ops.py @@ -225,9 +225,17 @@ def gen_cppheader(infilepath, outfilepath, rank): output_filename_h.write(header_basic) output_filename_h.write("// End of basic ostream ops\n\n") + for c in cppHeader.classes.copy(): + # Types defined inside of unions are incorrectly prepended with "union " after parsing by CppHeaderParser + # Remove "union " from the beginning of the full class name to correct the eventual output + if "union " in c[0:6] and "::union" not in c[-8:]: + new_name = c[6:] + cppHeader.classes[new_name] = cppHeader.classes[c] + del cppHeader.classes[c] + for c in cppHeader.classes: if c[-2] == ':' and c[-1] == ':': continue #ostream operator cannot be overloaded for anonymous struct therefore it is skipped - if "union" in c: + if "::union" in c: continue if c in structs_analyzed: continue From fee1f00ddcbd6149cb246569a69a14d9a1575ff0 Mon Sep 17 00:00:00 2001 From: gobhardw Date: Thu, 18 Jul 2024 00:03:25 +0530 Subject: [PATCH 668/691] SWDEV-471998: roctracer test fix Change-Id: I8e88d087f66ecb265154b29f19e3544706578724 --- test/run.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/test/run.sh b/test/run.sh index 0e99c1fa97..c85c89292b 100755 --- a/test/run.sh +++ b/test/run.sh @@ -153,8 +153,8 @@ eval_test "tool period test" "ROCP_CTRL_RATE=10:50000:500000 ./test/MatrixTransp eval_test "tool flushing test" "ROCP_FLUSH_RATE=100000 ./test/MatrixTranspose" MatrixTranspose_hip_flush_trace #API records filtering -echo "" > test/input.xml -export ROCP_INPUT=test/input.xml +echo "" > /tmp/input.xml +export ROCP_INPUT=/tmp/input.xml eval_test "tool HIP test input" ./test/MatrixTranspose MatrixTranspose_hip_input_trace unset ROCP_INPUT @@ -175,8 +175,8 @@ export ROCP_THRS=1 eval_test "tool HSA test" ./test/copy copy_hsa_trace -echo "" > test/input.xml -export ROCP_INPUT=test/input.xml +echo "" > /tmp/input.xml +export ROCP_INPUT=/tmp/input.xml eval_test "tool HSA test input" ./test/copy copy_hsa_input_trace unset ROCP_INPUT From b42028fcc06a2398485a0393c83d15b9ae83f07a Mon Sep 17 00:00:00 2001 From: Ammar ELWazir Date: Wed, 28 Aug 2024 09:41:27 -0500 Subject: [PATCH 669/691] Adding rocm-llvm-dev package as req. Change-Id: I59ffaf952d53e1c27d6e9d0ab5b810a08ff3074f --- CMakeLists.txt | 4 ++-- README.md | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index afa1e3be57..c3e43b2708 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -119,7 +119,7 @@ set(CPACK_DEBIAN_FILE_NAME "DEB-DEFAULT") set(CPACK_DEBIAN_RUNTIME_PACKAGE_NAME "${PROJECT_NAME}") set(CPACK_DEBIAN_RUNTIME_PACKAGE_DEPENDS "rocm-core") set(CPACK_DEBIAN_DEV_PACKAGE_NAME "${PROJECT_NAME}-dev") -set(CPACK_DEBIAN_DEV_PACKAGE_DEPENDS "${PROJECT_NAME}, rocm-core") +set(CPACK_DEBIAN_DEV_PACKAGE_DEPENDS "${PROJECT_NAME}, hsa-rocr-dev, rocm-llvm-dev, rocm-core") set(CPACK_DEBIAN_TESTS_PACKAGE_NAME "${PROJECT_NAME}-tests") set(CPACK_DEBIAN_TESTS_PACKAGE_DEPENDS "${PROJECT_NAME}-dev") # Debian package specific variable for ASAN @@ -155,7 +155,7 @@ set(CPACK_RPM_DEV_PACKAGE_REQUIRES "${PROJECT_NAME}, rocm-core") set(CPACK_RPM_DEV_PACKAGE_PROVIDES "${PROJECT_NAME}-dev") set(CPACK_RPM_DEV_PACKAGE_OBSOLETES "${PROJECT_NAME}-dev") set(CPACK_RPM_TESTS_PACKAGE_NAME "${PROJECT_NAME}-tests") -set(CPACK_RPM_TESTS_PACKAGE_REQUIRES "${PROJECT_NAME}-devel") +set(CPACK_RPM_TESTS_PACKAGE_REQUIRES "${PROJECT_NAME}-devel, rocm-llvm-devel") message("CPACK_RPM_PACKAGE_RELEASE: ${CPACK_RPM_PACKAGE_RELEASE}") # RPM package specific variable for ASAN set(CPACK_RPM_ASAN_PACKAGE_NAME "${PROJECT_NAME}-asan" ) diff --git a/README.md b/README.md index 0698d18b5f..3dc14cfc34 100644 --- a/README.md +++ b/README.md @@ -55,11 +55,11 @@ To use the rocTX API you need the API header and to link your application with ` `rocTacer` library public API header. - `roctx.h` - + `rocTX` library public API header. - `src` - + Library sources. - `core` @@ -100,7 +100,7 @@ To use the rocTX API you need the API header and to link your application with ` ````shell apt install python3 python3-pip gcc g++ libatomic1 make \ - cmake doxygen graphviz texlive-full + cmake doxygen graphviz texlive-full rocm-llvm-dev ```` 2. For CentOS 8.1 and RHEL 8.1 the following adds the needed packages: @@ -109,7 +109,7 @@ To use the rocTX API you need the API header and to link your application with ` yum install -y python3 python3-pip gcc gcc-g++ make \ cmake libatomic doxygen graphviz texlive \ texlive-xtab texlive-multirow texlive-sectsty \ - texlive-tocloft texlive-tabu texlive-adjustbox + texlive-tocloft texlive-tabu texlive-adjustbox rocm-llvm-devel ```` 3. For SLES 15 Service Pack 15 the following adds the needed packages: From 725d289a2b2ea551958cc3dc59d9ff59f7baf9f1 Mon Sep 17 00:00:00 2001 From: Tim Date: Tue, 1 Oct 2024 09:30:27 -0400 Subject: [PATCH 670/691] Fix Issue [SWDEV-485618]: README Outdated: Include File Changes to the README.md: -Fixed the dead links in the examples. -Updated the example to point to the ones in roctracer_spec.md instead of tests. Changes to the roctracer_spec.md: -Changed #include from #include <*.h> to #include to reflect the latest code structure. Change-Id: Iab44fc327821c1a01f0b949d3c9a3c20ca587599 --- README.md | 8 ++++---- doc/roctracer_spec.md | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 3dc14cfc34..41afeccd65 100644 --- a/README.md +++ b/README.md @@ -32,7 +32,7 @@ To use the rocTracer API you need the API header and to link your application wi To use the rocTX API you need the API header and to link your application with `roctx` .so library: -- `/opt/rocm/roctracer/include/roctx.h` +- `/opt/rocm/include/roctracer/roctx.h` API header. @@ -52,7 +52,7 @@ To use the rocTX API you need the API header and to link your application with ` - `roctracer.h` - `rocTacer` library public API header. + `rocTracer` library public API header. - `roctx.h` @@ -87,8 +87,8 @@ To use the rocTX API you need the API header and to link your application with ` - API description: - ['roctracer' / 'rocTX' profiling C API specification](doc/roctracer_spec.md) - Code examples: - - [test/MatrixTranspose_test/MatrixTranspose.cpp](testMatrixTranspose_test/MatrixTranspose.cpp) - - [test/MatrixTranspose/MatrixTranspose.cpp](test/MatrixTranspose/MatrixTranspose.cpp) + - [HIP API ops, GPU Activity Tracing](doc/roctracer_spec.md#41-hip-api-ops-gpu-activity-tracing) + - [MatrixTranspose HIP sample with all APIs/activity tracing enabled](doc/roctracer_spec.md#42-matrixtranspose-hip-sample-with-all-apisactivity-tracing-enabled) ## Build and run tests diff --git a/doc/roctracer_spec.md b/doc/roctracer_spec.md index 4c80b6478e..7b2e1daf1d 100644 --- a/doc/roctracer_spec.md +++ b/doc/roctracer_spec.md @@ -389,7 +389,7 @@ void roctracer_stop(); ## 4. rocTracer Usage Code Examples ### 4.1. HIP API ops, GPU Activity Tracing ``` -#include +#include // HIP API callback function void hip_api_callback( @@ -609,7 +609,7 @@ int main() { ///////////////////////////////////////////////////////////////////////////// // HIP Callbacks/Activity tracing ///////////////////////////////////////////////////////////////////////////// -#include +#include // Macro to check ROC-tracer calls status #define ROCTRACER_CALL(call) \ From f3df78f7461043da968d76ce513bf7082ae62311 Mon Sep 17 00:00:00 2001 From: Pramendra Kumar Date: Thu, 10 Oct 2024 06:43:29 -0400 Subject: [PATCH 671/691] Revert "Adding rocm-llvm-dev package as req." This reverts commit b42028fcc06a2398485a0393c83d15b9ae83f07a. Reason for revert: Change-Id: If5d98341e9ac3e803965064e3f5dc435b9310a0b --- CMakeLists.txt | 2 +- README.md | 14 +++++++------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index c3e43b2708..32ab0ced18 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -119,7 +119,7 @@ set(CPACK_DEBIAN_FILE_NAME "DEB-DEFAULT") set(CPACK_DEBIAN_RUNTIME_PACKAGE_NAME "${PROJECT_NAME}") set(CPACK_DEBIAN_RUNTIME_PACKAGE_DEPENDS "rocm-core") set(CPACK_DEBIAN_DEV_PACKAGE_NAME "${PROJECT_NAME}-dev") -set(CPACK_DEBIAN_DEV_PACKAGE_DEPENDS "${PROJECT_NAME}, hsa-rocr-dev, rocm-llvm-dev, rocm-core") +set(CPACK_DEBIAN_DEV_PACKAGE_DEPENDS "${PROJECT_NAME}, hsa-rocr-dev, rocm-core") set(CPACK_DEBIAN_TESTS_PACKAGE_NAME "${PROJECT_NAME}-tests") set(CPACK_DEBIAN_TESTS_PACKAGE_DEPENDS "${PROJECT_NAME}-dev") # Debian package specific variable for ASAN diff --git a/README.md b/README.md index 41afeccd65..8ee36d2364 100644 --- a/README.md +++ b/README.md @@ -55,11 +55,11 @@ To use the rocTX API you need the API header and to link your application with ` `rocTracer` library public API header. - `roctx.h` - + `rocTX` library public API header. - `src` - + Library sources. - `core` @@ -99,23 +99,23 @@ To use the rocTX API you need the API header and to link your application with ` 1. For Ubuntu 18.04 and Ubuntu 20.04 the following adds the needed packages: ````shell - apt install python3 python3-pip gcc g++ libatomic1 make \ - cmake doxygen graphviz texlive-full rocm-llvm-dev + apt install python3 python3-pip gcc g++ libatomic1 make rocm-llvm-dev \ + cmake doxygen graphviz texlive-full ```` 2. For CentOS 8.1 and RHEL 8.1 the following adds the needed packages: ````shell - yum install -y python3 python3-pip gcc gcc-g++ make \ + yum install -y python3 python3-pip gcc gcc-g++ make rocm-llvm-devel \ cmake libatomic doxygen graphviz texlive \ texlive-xtab texlive-multirow texlive-sectsty \ - texlive-tocloft texlive-tabu texlive-adjustbox rocm-llvm-devel + texlive-tocloft texlive-tabu texlive-adjustbox ```` 3. For SLES 15 Service Pack 15 the following adds the needed packages: ````shell - zypper in python3 python3-pip gcc gcc-g++ make \ + zypper in python3 python3-pip gcc gcc-g++ make rocm-llvm-devel \ cmake libatomic doxygen graphviz \ texlive-scheme-medium texlive-hanging texlive-stackengine \ texlive-tocloft texlive-etoc texlive-tabu From d5bbc8aa777b83bf25b41e13756e4d337e95d993 Mon Sep 17 00:00:00 2001 From: gobhardw Date: Mon, 7 Oct 2024 21:04:26 +0530 Subject: [PATCH 672/691] SWDEV-479505 Updating ROCtracer spec for device ids Change-Id: I9b65d91b36b77183d5fa55f23e4926510e0b5832 --- doc/roctracer_spec.md | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/doc/roctracer_spec.md b/doc/roctracer_spec.md index 7b2e1daf1d..74ea1974d3 100644 --- a/doc/roctracer_spec.md +++ b/doc/roctracer_spec.md @@ -218,14 +218,16 @@ roctracer_status_t roctracer_disable_domain_callback( roctracer_status_t roctracer_disable_callback(); ``` + ### 3.4 Activity API -``` + The activity records are asynchronously logged to the pool and can be associated with the respective API callbacks using the correlation ID. Activity API can be used to enable collecting the records with timestamp data for API calls and GPU activity like kernel submits, memory copies, and barriers. +``` // Correlation id typedef uint64_t activity_correlation_id_t; @@ -254,7 +256,13 @@ struct activity_record_t { }; size_t bytes; // data size bytes }; +``` +> [!NOTE] +> rocprofiler reported device ids are in sync with node-ids reported by KFD(kernel). This can easily be verified by `rocm-smi` under `Node`. +> Please also note that this device id might not be in sync with the ones provided by `hipGetDeviceProperties` which includes CPU agents and starts from 0. + +``` Return next record: static inline int roctracer_next_record( const activity_record_t* record, // [in] record ptr From 4ca1a68fd91a6f076c85b88b1da1016d9af2db0e Mon Sep 17 00:00:00 2001 From: itrowbri Date: Fri, 13 Sep 2024 10:38:02 -0500 Subject: [PATCH 673/691] SWDEV-477849: Remove dependency of libatomic from roctracer Change-Id: I2d94218936d33d832d1fddfe14454de5c1bc64f5 --- README.md | 6 +++--- src/CMakeLists.txt | 2 +- test/CMakeLists.txt | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 8ee36d2364..b9682832c6 100644 --- a/README.md +++ b/README.md @@ -99,7 +99,7 @@ To use the rocTX API you need the API header and to link your application with ` 1. For Ubuntu 18.04 and Ubuntu 20.04 the following adds the needed packages: ````shell - apt install python3 python3-pip gcc g++ libatomic1 make rocm-llvm-dev \ + apt install python3 python3-pip gcc g++ make rocm-llvm-dev \ cmake doxygen graphviz texlive-full ```` @@ -107,7 +107,7 @@ To use the rocTX API you need the API header and to link your application with ` ````shell yum install -y python3 python3-pip gcc gcc-g++ make rocm-llvm-devel \ - cmake libatomic doxygen graphviz texlive \ + cmake doxygen graphviz texlive \ texlive-xtab texlive-multirow texlive-sectsty \ texlive-tocloft texlive-tabu texlive-adjustbox ```` @@ -116,7 +116,7 @@ To use the rocTX API you need the API header and to link your application with ` ````shell zypper in python3 python3-pip gcc gcc-g++ make rocm-llvm-devel \ - cmake libatomic doxygen graphviz \ + cmake doxygen graphviz \ texlive-scheme-medium texlive-hanging texlive-stackengine \ texlive-tocloft texlive-etoc texlive-tabu ```` diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 0c15c4d120..9572b8dc2e 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -229,7 +229,7 @@ target_include_directories(roctracer_tool ${PROJECT_SOURCE_DIR}/inc ${CMAKE_CURRENT_SOURCE_DIR}/roctracer ${CMAKE_CURRENT_SOURCE_DIR}) -target_link_libraries(roctracer_tool util roctracer hsa-runtime64::hsa-runtime64 stdc++fs Threads::Threads atomic dl) +target_link_libraries(roctracer_tool util roctracer hsa-runtime64::hsa-runtime64 stdc++fs Threads::Threads -Wl,-Bstatic atomic -Wl,-Bdynamic dl) target_link_options(roctracer_tool PRIVATE -Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/tracer_tool/exportmap -Wl,--no-undefined) install(TARGETS roctracer_tool LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}/${PROJECT_NAME} COMPONENT runtime) diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 95563d5b9f..aca9b27a42 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -141,13 +141,13 @@ add_dependencies(mytest load_unload_reload_test) ## Build the trace_buffer test add_executable(trace_buffer directed/trace_buffer.cpp) target_include_directories(trace_buffer PRIVATE ${PROJECT_SOURCE_DIR}/src/tracer_tool) -target_link_libraries(trace_buffer Threads::Threads atomic) +target_link_libraries(trace_buffer Threads::Threads -Wl,-Bstatic atomic -Wl,-Bdynamic) add_dependencies(mytest trace_buffer) ## Build the memory_pool test add_executable(memory_pool directed/memory_pool.cpp) target_include_directories(memory_pool PRIVATE ${PROJECT_SOURCE_DIR}/src/roctracer ${PROJECT_SOURCE_DIR}/inc) -target_link_libraries(memory_pool Threads::Threads atomic) +target_link_libraries(memory_pool Threads::Threads -Wl,-Bstatic atomic -Wl,-Bdynamic) add_dependencies(mytest memory_pool) ## Build the activity_and_callback test From 82ebb1c3ec7da240c6d476aaf4ed312a2049233a Mon Sep 17 00:00:00 2001 From: Gopesh Date: Mon, 28 Oct 2024 01:16:02 -0500 Subject: [PATCH 674/691] Revert " SWDEV-477849: Remove dependency of libatomic from roctracer" This reverts commit 4ca1a68fd91a6f076c85b88b1da1016d9af2db0e. Change-Id: I63a0166f629fa6f3b71f03b4e540e4d8ee160910 --- README.md | 6 +++--- src/CMakeLists.txt | 2 +- test/CMakeLists.txt | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index b9682832c6..8ee36d2364 100644 --- a/README.md +++ b/README.md @@ -99,7 +99,7 @@ To use the rocTX API you need the API header and to link your application with ` 1. For Ubuntu 18.04 and Ubuntu 20.04 the following adds the needed packages: ````shell - apt install python3 python3-pip gcc g++ make rocm-llvm-dev \ + apt install python3 python3-pip gcc g++ libatomic1 make rocm-llvm-dev \ cmake doxygen graphviz texlive-full ```` @@ -107,7 +107,7 @@ To use the rocTX API you need the API header and to link your application with ` ````shell yum install -y python3 python3-pip gcc gcc-g++ make rocm-llvm-devel \ - cmake doxygen graphviz texlive \ + cmake libatomic doxygen graphviz texlive \ texlive-xtab texlive-multirow texlive-sectsty \ texlive-tocloft texlive-tabu texlive-adjustbox ```` @@ -116,7 +116,7 @@ To use the rocTX API you need the API header and to link your application with ` ````shell zypper in python3 python3-pip gcc gcc-g++ make rocm-llvm-devel \ - cmake doxygen graphviz \ + cmake libatomic doxygen graphviz \ texlive-scheme-medium texlive-hanging texlive-stackengine \ texlive-tocloft texlive-etoc texlive-tabu ```` diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 9572b8dc2e..0c15c4d120 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -229,7 +229,7 @@ target_include_directories(roctracer_tool ${PROJECT_SOURCE_DIR}/inc ${CMAKE_CURRENT_SOURCE_DIR}/roctracer ${CMAKE_CURRENT_SOURCE_DIR}) -target_link_libraries(roctracer_tool util roctracer hsa-runtime64::hsa-runtime64 stdc++fs Threads::Threads -Wl,-Bstatic atomic -Wl,-Bdynamic dl) +target_link_libraries(roctracer_tool util roctracer hsa-runtime64::hsa-runtime64 stdc++fs Threads::Threads atomic dl) target_link_options(roctracer_tool PRIVATE -Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/tracer_tool/exportmap -Wl,--no-undefined) install(TARGETS roctracer_tool LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}/${PROJECT_NAME} COMPONENT runtime) diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index aca9b27a42..95563d5b9f 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -141,13 +141,13 @@ add_dependencies(mytest load_unload_reload_test) ## Build the trace_buffer test add_executable(trace_buffer directed/trace_buffer.cpp) target_include_directories(trace_buffer PRIVATE ${PROJECT_SOURCE_DIR}/src/tracer_tool) -target_link_libraries(trace_buffer Threads::Threads -Wl,-Bstatic atomic -Wl,-Bdynamic) +target_link_libraries(trace_buffer Threads::Threads atomic) add_dependencies(mytest trace_buffer) ## Build the memory_pool test add_executable(memory_pool directed/memory_pool.cpp) target_include_directories(memory_pool PRIVATE ${PROJECT_SOURCE_DIR}/src/roctracer ${PROJECT_SOURCE_DIR}/inc) -target_link_libraries(memory_pool Threads::Threads -Wl,-Bstatic atomic -Wl,-Bdynamic) +target_link_libraries(memory_pool Threads::Threads atomic) add_dependencies(mytest memory_pool) ## Build the activity_and_callback test From f9854f357a36646fe1b9433f168ca261e6750559 Mon Sep 17 00:00:00 2001 From: Swati Rawat Date: Tue, 24 Dec 2024 09:46:44 +0000 Subject: [PATCH 675/691] fixing license date Change-Id: I6d0eeaea6cfd91d9512a742d397852389b7b592e --- LICENSE | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/LICENSE b/LICENSE index d5c431d7ca..e4103ac887 100644 --- a/LICENSE +++ b/LICENSE @@ -1,4 +1,4 @@ -Copyright (c) 2018-2022 Advanced Micro Devices, Inc. All rights reserved. +Copyright (c) 2018-2025 Advanced Micro Devices, Inc. All rights reserved. [MITx11 License] Permission is hereby granted, free of charge, to any person obtaining a copy @@ -17,4 +17,4 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. \ No newline at end of file +THE SOFTWARE. From a73046d6b5f4d1aa6bb6844a6cd4284072d3361f Mon Sep 17 00:00:00 2001 From: Swati Rawat Date: Fri, 27 Dec 2024 09:30:46 +0000 Subject: [PATCH 676/691] adding link to rocm.docs Change-Id: I99e89c85838d54f2992eac10c1b5ee2ced3c9485 --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index 8ee36d2364..ad1f354cf0 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,8 @@ # ROC-tracer +> [!NOTE] +> The published documentation is available at [ROCTracer](https://rocm.docs.amd.com/projects/roctracer/en/latest/index.html) in an organized, easy-to-read format, with search and a table of contents. + - **ROC-tracer library: Runtimes Generic Callback/Activity APIs** The goal of the implementation is to provide a generic independent from specific runtime profiler to trace API and asynchronous activity. From 7c278f090a8bd42e859cad431a34ef55f8e4b304 Mon Sep 17 00:00:00 2001 From: "Mallya, Ameya Keshava" Date: Mon, 13 Jan 2025 13:43:22 -0800 Subject: [PATCH 677/691] Create rocm-ci-caller.yml --- .github/workflows/rocm-ci-caller.yml | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 .github/workflows/rocm-ci-caller.yml diff --git a/.github/workflows/rocm-ci-caller.yml b/.github/workflows/rocm-ci-caller.yml new file mode 100644 index 0000000000..e9caa97405 --- /dev/null +++ b/.github/workflows/rocm-ci-caller.yml @@ -0,0 +1,22 @@ +name: ROCm CI Caller + +on: + pull_request: + branches: [amd-staging] + types: [opened, reopened, synchronize] + push: + branches: [amd-master] + workflow_dispatch: + +jobs: + call-workflow: + uses: AMD-ROCm-Internal/rocm_ci_infra/.github/workflows/rocm_ci.yml@mainline + secrets: inherit + with: + input_sha: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} + input_pr_num: ${{ github.event_name == 'pull_request' && github.event.pull_request.number || 0 }} + input_pr_url: ${{ github.event_name == 'pull_request' && github.event.pull_request.html_url || '' }} + input_pr_title: ${{ github.event_name == 'pull_request' && github.event.pull_request.title || '' }} + repository_name: ${{ github.repository }} + base_ref: ${{ github.event_name == 'pull_request' && github.base_ref || github.ref }} + trigger_event_type: ${{ github.event_name }} From 074efe9f5002f41f525e4db8fb3c1f08bba14de0 Mon Sep 17 00:00:00 2001 From: "Mallya, Ameya Keshava" Date: Mon, 13 Jan 2025 18:53:44 -0800 Subject: [PATCH 678/691] Update rocm-ci-caller.yml --- .github/workflows/rocm-ci-caller.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/rocm-ci-caller.yml b/.github/workflows/rocm-ci-caller.yml index e9caa97405..d4c2438e91 100644 --- a/.github/workflows/rocm-ci-caller.yml +++ b/.github/workflows/rocm-ci-caller.yml @@ -5,7 +5,7 @@ on: branches: [amd-staging] types: [opened, reopened, synchronize] push: - branches: [amd-master] + branches: [amd-mainline] workflow_dispatch: jobs: From 0fdaf8aef256bb35da3373986568984900ef7c03 Mon Sep 17 00:00:00 2001 From: gobhardw Date: Wed, 15 Jan 2025 11:21:59 +0530 Subject: [PATCH 679/691] Tool deprecation message for rocprofiler v1,v2 and roctracer --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index ad1f354cf0..dbded634b7 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,8 @@ # ROC-tracer +> [!IMPORTANT] +We are phasing out development and support for roctracer/rocprofiler/rocprof/rocprofv2 in favor of rocprofiler-sdk/rocprofv3 in upcoming ROCm releases. Going forward, only critical defect fixes will be addressed for older versions of profiling tools and libraries. We encourage all users to upgrade to the latest version, rocprofiler-sdk library and rocprofv3 tool, to ensure continued support and access to new features. + > [!NOTE] > The published documentation is available at [ROCTracer](https://rocm.docs.amd.com/projects/roctracer/en/latest/index.html) in an organized, easy-to-read format, with search and a table of contents. From f8189fd60d6dafafaebbc5585e9d953974ed1438 Mon Sep 17 00:00:00 2001 From: "Mallya, Ameya Keshava" Date: Fri, 17 Jan 2025 08:23:51 -0800 Subject: [PATCH 680/691] Added KWS check --- .github/workflows/kws-caller.yml | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 .github/workflows/kws-caller.yml diff --git a/.github/workflows/kws-caller.yml b/.github/workflows/kws-caller.yml new file mode 100644 index 0000000000..ffcbff7b1e --- /dev/null +++ b/.github/workflows/kws-caller.yml @@ -0,0 +1,15 @@ +name: Rocm Validation Suite KWS +on: + push: + branches: [amd-staging] + pull_request: + types: [opened, synchronize, reopened] + workflow_dispatch: +jobs: + kws: + if: ${{ github.event_name == 'pull_request' }} + uses: AMD-ROCm-Internal/rocm_ci_infra/.github/workflows/kws.yml@mainline + secrets: inherit + with: + pr_number: ${{github.event.pull_request.number}} + base_branch: ${{github.base_ref}} From 3ac827eb872a10720785b2bd35c70179d0bed25c Mon Sep 17 00:00:00 2001 From: "Mallya, Ameya Keshava" Date: Thu, 23 Jan 2025 16:13:32 -0800 Subject: [PATCH 681/691] Added PSDB trigger for npi --- .github/workflows/rocm-ci-caller.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/rocm-ci-caller.yml b/.github/workflows/rocm-ci-caller.yml index d4c2438e91..c27f3dc728 100644 --- a/.github/workflows/rocm-ci-caller.yml +++ b/.github/workflows/rocm-ci-caller.yml @@ -2,7 +2,7 @@ name: ROCm CI Caller on: pull_request: - branches: [amd-staging] + branches: [amd-staging, amd-npi] types: [opened, reopened, synchronize] push: branches: [amd-mainline] From 3e1caf69aee5cf21976d271fc78a5c5a47f343c8 Mon Sep 17 00:00:00 2001 From: "Mallya, Ameya Keshava" Date: Thu, 23 Jan 2025 16:54:09 -0800 Subject: [PATCH 682/691] Added PSDB trigger for staging --- .github/workflows/rocm-ci-caller.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/rocm-ci-caller.yml b/.github/workflows/rocm-ci-caller.yml index c27f3dc728..b72048f5cf 100644 --- a/.github/workflows/rocm-ci-caller.yml +++ b/.github/workflows/rocm-ci-caller.yml @@ -5,7 +5,7 @@ on: branches: [amd-staging, amd-npi] types: [opened, reopened, synchronize] push: - branches: [amd-mainline] + branches: [amd-staging, amd-mainline] workflow_dispatch: jobs: From 5ed4863d76023d82360cbf8f66590865ea854063 Mon Sep 17 00:00:00 2001 From: "Mallya, Ameya Keshava" Date: Tue, 28 Jan 2025 20:21:27 -0800 Subject: [PATCH 683/691] Added !verify trigger --- .github/workflows/rocm-ci-caller.yml | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/.github/workflows/rocm-ci-caller.yml b/.github/workflows/rocm-ci-caller.yml index b72048f5cf..def27aac04 100644 --- a/.github/workflows/rocm-ci-caller.yml +++ b/.github/workflows/rocm-ci-caller.yml @@ -5,11 +5,14 @@ on: branches: [amd-staging, amd-npi] types: [opened, reopened, synchronize] push: - branches: [amd-staging, amd-mainline] - workflow_dispatch: + branches: [amd-mainline] + workflow_dispatch: + issue_comment: + types: [created] jobs: - call-workflow: + call-workflow: + if: ${{ github.event_name != 'issue_comment' || github.event.comment.body == '!verify' }} uses: AMD-ROCm-Internal/rocm_ci_infra/.github/workflows/rocm_ci.yml@mainline secrets: inherit with: From 5d6d089c53b1cc75ab7812c0ad7a40dc948842ec Mon Sep 17 00:00:00 2001 From: "Elwazir, Ammar" Date: Fri, 7 Feb 2025 20:20:48 -0600 Subject: [PATCH 684/691] Adding Public Sync GH Action (#6) Adding Public Sync to ROCTracer Co-authored-by: Ammar ELWazir --- .github/workflows/sync-mainline.yaml | 17 +++++++++++++++++ .github/workflows/sync-staging.yaml | 17 +++++++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 .github/workflows/sync-mainline.yaml create mode 100644 .github/workflows/sync-staging.yaml diff --git a/.github/workflows/sync-mainline.yaml b/.github/workflows/sync-mainline.yaml new file mode 100644 index 0000000000..dc872d0d79 --- /dev/null +++ b/.github/workflows/sync-mainline.yaml @@ -0,0 +1,17 @@ +name: Sync amd-mainline to public repository + +on: + push: + branches: [ amd-mainline ] + +jobs: + git-mirror: + runs-on: ubuntu-latest + steps: + - name: git-sync + uses: AMD-ROCm-Internal/rocprofiler-github-actions@git-sync-v3 + with: + source_repo: "https://${{ secrets.TOKEN }}@github.com/AMD-ROCm-Internal/roctracer.git" + source_branch: "amd-mainline" + destination_repo: "https://${{ secrets.EXT_TOKEN }}@github.com/ROCm/roctracer.git" + destination_branch: "amd-mainline" diff --git a/.github/workflows/sync-staging.yaml b/.github/workflows/sync-staging.yaml new file mode 100644 index 0000000000..d90030bc34 --- /dev/null +++ b/.github/workflows/sync-staging.yaml @@ -0,0 +1,17 @@ +name: Sync amd-staging to public repository + +on: + push: + branches: [ amd-staging ] + +jobs: + git-mirror: + runs-on: ubuntu-latest + steps: + - name: git-sync + uses: AMD-ROCm-Internal/rocprofiler-github-actions@git-sync-v3 + with: + source_repo: "https://${{ secrets.TOKEN }}@github.com/AMD-ROCm-Internal/roctracer.git" + source_branch: "amd-staging" + destination_repo: "https://${{ secrets.EXT_TOKEN }}@github.com/ROCm/roctracer.git" + destination_branch: "amd-staging" From a847d331ff2886d23fdb7946695df7fe440c5f57 Mon Sep 17 00:00:00 2001 From: "Mallya, Ameya Keshava" Date: Fri, 14 Mar 2025 14:07:29 -0700 Subject: [PATCH 685/691] Added release trigger for further releases --- .github/workflows/rocm-ci-caller.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/rocm-ci-caller.yml b/.github/workflows/rocm-ci-caller.yml index def27aac04..aea411640c 100644 --- a/.github/workflows/rocm-ci-caller.yml +++ b/.github/workflows/rocm-ci-caller.yml @@ -2,7 +2,7 @@ name: ROCm CI Caller on: pull_request: - branches: [amd-staging, amd-npi] + branches: [amd-staging, amd-npi, release/rocm-rel-*, amd-mainline] types: [opened, reopened, synchronize] push: branches: [amd-mainline] From 3d3b9ea4e2bae6c4a56ed6b6c70cefb4a0c0dc99 Mon Sep 17 00:00:00 2001 From: "Hila, Nino" Date: Wed, 23 Apr 2025 22:05:12 -0400 Subject: [PATCH 686/691] Add palamida.yml (#11) --- .github/palamida.yml | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 .github/palamida.yml diff --git a/.github/palamida.yml b/.github/palamida.yml new file mode 100644 index 0000000000..c34f60c67f --- /dev/null +++ b/.github/palamida.yml @@ -0,0 +1,6 @@ +disabled: false +scmId: gh-emu-rocm +branchesToScan: + - amd-staging + - amd-mainline +jenkinsUrl: https://palamidajenkinsvm.amd.com/job/palamida/job/pci/job/ScanInitiatorGitHub \ No newline at end of file From 5d3bcd3514f864ae10986d618052778c5195b0ed Mon Sep 17 00:00:00 2001 From: "Hila, Nino" Date: Tue, 13 May 2025 00:53:31 -0400 Subject: [PATCH 687/691] Update palamida.yml (#14) * Add palamida.yml - removing url --- .github/palamida.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/palamida.yml b/.github/palamida.yml index c34f60c67f..2a54378973 100644 --- a/.github/palamida.yml +++ b/.github/palamida.yml @@ -3,4 +3,3 @@ scmId: gh-emu-rocm branchesToScan: - amd-staging - amd-mainline -jenkinsUrl: https://palamidajenkinsvm.amd.com/job/palamida/job/pci/job/ScanInitiatorGitHub \ No newline at end of file From 9a620d64d9168d3ec0ef50e2e4cc25147925178e Mon Sep 17 00:00:00 2001 From: "Luu, Jonathan" Date: Wed, 18 Jun 2025 13:33:41 -0400 Subject: [PATCH 688/691] SWDEV-531400 - Remove File reorganization backward computability (roctracer) (#40) * SWDEV-531400 - Remove File reorganization backward computability (roctracer) * removing no longer needed files --------- Co-authored-by: Jonathan Luu --- header_template.hpp.in | 43 ------------ roctracer-backward-compat.cmake | 116 -------------------------------- src/CMakeLists.txt | 20 ------ 3 files changed, 179 deletions(-) delete mode 100644 header_template.hpp.in delete mode 100644 roctracer-backward-compat.cmake diff --git a/header_template.hpp.in b/header_template.hpp.in deleted file mode 100644 index 627fefd040..0000000000 --- a/header_template.hpp.in +++ /dev/null @@ -1,43 +0,0 @@ -/* - Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved. - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - THE SOFTWARE. - */ - -#ifndef @include_guard@ -#define @include_guard@ - -#ifndef ROCM_HEADER_WRAPPER_WERROR -#define ROCM_HEADER_WRAPPER_WERROR @deprecated_error@ -#endif -#if ROCM_HEADER_WRAPPER_WERROR /* ROCM_HEADER_WRAPPER_WERROR 1 */ -#error "This file is deprecated. Use file from include path /opt/rocm-ver/include/ and prefix with roctracer" -#else /* ROCM_HEADER_WRAPPER_WERROR 0 */ -#if defined(__GNUC__) -#warning "This file is deprecated. Use file from include path /opt/rocm-ver/include/ and prefix with roctracer" -#else -#pragma message("This file is deprecated. Use file from include path /opt/rocm-ver/include/ and prefix with roctracer") -#endif -#endif /* ROCM_HEADER_WRAPPER_WERROR */ - -@include_statements@ - -#endif - -@original_contents@ diff --git a/roctracer-backward-compat.cmake b/roctracer-backward-compat.cmake deleted file mode 100644 index 36b49ea7b9..0000000000 --- a/roctracer-backward-compat.cmake +++ /dev/null @@ -1,116 +0,0 @@ -# Copyright (c) 2022 Advanced Micro Devices, Inc. All Rights Reserved. -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in -# all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -# THE SOFTWARE. - -cmake_minimum_required(VERSION 3.16.8) - -set(ROCT_BUILD_DIR ${CMAKE_CURRENT_BINARY_DIR}) -set(ROCT_WRAPPER_DIR ${ROCT_BUILD_DIR}/wrapper_dir) -set(ROCT_WRAPPER_INC_DIR ${ROCT_WRAPPER_DIR}/include) -set(ROCT_WRAPPER_LIB_DIR ${ROCT_WRAPPER_DIR}/lib) -#set(ROCT_WRAPPER_TOOL_DIR ${ROCT_WRAPPER_DIR}/tool) - -#Function to set actual file contents in wrapper files -#Some components grep for the contents in the file -function(set_file_contents input_file) - set(hashzero_check "#if 0 //Area for original file dump\n -/* The following is a copy of the original file for the benefit of build systems which grep for values - * in this file rather than preprocess it. This is just for backward compatibility */") - - file(READ ${input_file} file_contents) - set(original_contents "${hashzero_check}\n -${file_contents} -#endif") - get_filename_component(file_name ${input_file} NAME) - configure_file(${PROJECT_SOURCE_DIR}/header_template.hpp.in ${ROCT_WRAPPER_INC_DIR}/${file_name}) -endfunction() - -#use header template file and generate wrapper header files -function(generate_wrapper_header) - file(MAKE_DIRECTORY ${ROCT_WRAPPER_INC_DIR}/ext) - #Get the header files from PUBLIC_HEADERS variable - foreach(header_file ${PUBLIC_HEADERS}) - #set include guard - get_filename_component(INC_GAURD_NAME ${header_file} NAME_WE) - string(TOUPPER ${INC_GAURD_NAME} INC_GAURD_NAME) - set(include_guard "ROCTRACER_WRAPPER_INCLUDE_${INC_GAURD_NAME}_H") - #set include statements - get_filename_component(file_name ${header_file} NAME) - get_filename_component ( header_subdir ${header_file} DIRECTORY ) - if(header_subdir) - set(include_statements "#include \"../../../${CMAKE_INSTALL_INCLUDEDIR}/${PROJECT_NAME}/${header_subdir}/${file_name}\"\n") - configure_file(${PROJECT_SOURCE_DIR}/header_template.hpp.in ${ROCT_WRAPPER_INC_DIR}/${header_subdir}/${file_name}) - else() - set(include_statements "#include \"../../${CMAKE_INSTALL_INCLUDEDIR}/${PROJECT_NAME}/${file_name}\"\n") - if(${file_name} STREQUAL "roctracer.h") - set_file_contents(${PROJECT_SOURCE_DIR}/inc/${file_name}) - else() - configure_file(${PROJECT_SOURCE_DIR}/header_template.hpp.in ${ROCT_WRAPPER_INC_DIR}/${file_name}) - endif() - endif() - endforeach() - - foreach(header_file ${GENERATED_HEADERS}) - #set include guard - get_filename_component(INC_GAURD_NAME ${header_file} NAME_WE) - string(TOUPPER ${INC_GAURD_NAME} INC_GAURD_NAME) - set(include_guard "ROCTRACER_WRAPPER_INCLUDE_${INC_GAURD_NAME}_H") - #set include statements - get_filename_component(file_name ${header_file} NAME) - set(include_statements "#include \"../../${CMAKE_INSTALL_INCLUDEDIR}/${PROJECT_NAME}/${file_name}\"\n") - configure_file(${PROJECT_SOURCE_DIR}/header_template.hpp.in ${ROCT_WRAPPER_INC_DIR}/${file_name}) - - endforeach() - -endfunction() - -#function to create symlink to libraries -function(create_library_symlink) - file(MAKE_DIRECTORY ${ROCT_WRAPPER_LIB_DIR}) - set(LIB_ROCT "libroctracer64.so") - set(MAJ_VERSION "${PROJECT_VERSION_MAJOR}") - set(SO_VERSION "${PROJECT_VERSION}") - set(library_files "${LIB_ROCT}") #"${LIB_ROCT}.${MAJ_VERSION}" "${LIB_ROCT}.${SO_VERSION}") - - set(LIB_ROCTX64 "libroctx64.so") - set(library_files "${library_files}" "${LIB_ROCTX64}") # "${LIB_ROCTX64}.${MAJ_VERSION}" "${LIB_ROCTX64}.${SO_VERSION}" ) - - foreach(file_name ${library_files}) - add_custom_target(link_${file_name} ALL - WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} - COMMAND ${CMAKE_COMMAND} -E create_symlink - ../../${CMAKE_INSTALL_LIBDIR}/${file_name} ${ROCT_WRAPPER_LIB_DIR}/${file_name}) - endforeach() - #set softlink for roctracer/tool/libtracer_tool.so - #The libray name is changed to libroctracer_tool.so with file reorg changes - #file(MAKE_DIRECTORY ${ROCT_WRAPPER_TOOL_DIR}) - #set(LIB_TRACERTOOL "libtracer_tool.so") - #set(LIB_ROCTRACERTOOL "libroctracer_tool.so") - #add_custom_target(link_${LIB_TRACERTOOL} ALL - # WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} - # COMMAND ${CMAKE_COMMAND} -E create_symlink - # ../../lib/${PROJECT_NAME}/${LIB_ROCTRACERTOOL} ${ROCT_WRAPPER_TOOL_DIR}/${LIB_TRACERTOOL}) -endfunction() - -#Use template header file and generater wrapper header files -generate_wrapper_header() -install(DIRECTORY ${ROCT_WRAPPER_INC_DIR} DESTINATION ${PROJECT_NAME} COMPONENT dev) -create_library_symlink() -install(DIRECTORY ${ROCT_WRAPPER_LIB_DIR} DESTINATION ${PROJECT_NAME} COMPONENT dev) -#install soft link to tool -#install(DIRECTORY ${ROCT_WRAPPER_TOOL_DIR} DESTINATION ${PROJECT_NAME}) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 0c15c4d120..eeb90c2d8b 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -243,23 +243,3 @@ install(TARGETS hip_stats LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}/${PROJECT_ install(TARGETS hip_stats LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}/${PROJECT_NAME} COMPONENT asan) endif() - -option(FILE_REORG_BACKWARD_COMPATIBILITY "Enable File Reorg with backward compatibility" OFF) - -if(FILE_REORG_BACKWARD_COMPATIBILITY) -## To enable/disable #error in wrapper header files - if(NOT DEFINED ROCM_HEADER_WRAPPER_WERROR) - if(DEFINED ENV{ROCM_HEADER_WRAPPER_WERROR}) - set(ROCM_HEADER_WRAPPER_WERROR "$ENV{ROCM_HEADER_WRAPPER_WERROR}" - CACHE STRING "Header wrapper warnings as errors.") - else() - set(ROCM_HEADER_WRAPPER_WERROR "OFF" CACHE STRING "Header wrapper warnings as errors.") - endif() - endif() - if(ROCM_HEADER_WRAPPER_WERROR) - set(deprecated_error 1) - else() - set(deprecated_error 0) - endif() - include(${PROJECT_SOURCE_DIR}/roctracer-backward-compat.cmake) -endif() From 074d9d95ec34197c7dd0c33f82272e692b9e3886 Mon Sep 17 00:00:00 2001 From: "Bhardwaj, Gopesh" Date: Fri, 27 Jun 2025 20:47:30 +0530 Subject: [PATCH 689/691] SWDEV-539836 Do not parse private/internal members (#56) --- script/gen_ostream_ops.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/script/gen_ostream_ops.py b/script/gen_ostream_ops.py index 9b45cb4e3e..dcc9914833 100755 --- a/script/gen_ostream_ops.py +++ b/script/gen_ostream_ops.py @@ -241,6 +241,8 @@ def gen_cppheader(infilepath, outfilepath, rank): continue if c == 'max_align_t' or c == '__fsid_t': # Skipping as it is defined in multiple domains continue + if c.startswith("_") or c.startswith("pthread_") or c.startswith("__pthread_"): + continue if len(cppHeader.classes[c]["properties"]["public"]) != 0: output_filename_h.write("inline static std::ostream& operator<<(std::ostream& out, const " + c + "& v)\n") output_filename_h.write("{\n") From 9cca903417e1920e5cfa2e85b68ff9582b981b21 Mon Sep 17 00:00:00 2001 From: "Su, Daniel" Date: Tue, 1 Jul 2025 19:22:05 -0400 Subject: [PATCH 690/691] External CI: change amd-master trigger to amd-mainline (#10) --- .azuredevops/rocm-ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.azuredevops/rocm-ci.yml b/.azuredevops/rocm-ci.yml index accd3da90c..87826afa87 100644 --- a/.azuredevops/rocm-ci.yml +++ b/.azuredevops/rocm-ci.yml @@ -13,7 +13,7 @@ trigger: batch: true branches: include: - - amd-master + - amd-mainline - amd-staging paths: exclude: @@ -26,7 +26,7 @@ pr: autoCancel: true branches: include: - - amd-master + - amd-mainline - amd-staging paths: exclude: From dd745ed9c731cf1c67a182a4ce41ce30afbfb8ca Mon Sep 17 00:00:00 2001 From: "Bhardwaj, Gopesh" Date: Mon, 7 Jul 2025 20:04:39 +0530 Subject: [PATCH 691/691] Ignoring aligned attribute warning (#70) ignoring aligned attribute warning --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 32ab0ced18..248ddd880a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -42,7 +42,7 @@ endif() set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) -add_compile_options(-Wall -Werror) +add_compile_options(-Wall -Wno-error=ignored-attributes -Werror) # To set addition RUNPATH in libraries # installed in /opt/rocm-ver/lib/roctracer set(ROCM_APPEND_PRIVLIB_RPATH "$ORIGIN/..")

      +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≷6CBpkT#sN3Wo!Q)rgzW+`g0^N`}Bm1f&= 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 z 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≷6CBpkT#sN3Wo!Q)rgzW+`g0^N`}Bm1f&= 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 z zUp(o4mDNl~;b^2QU%^qgrS=9}E=ogFoFc=uhWVv-r9tOZVc9zkGcMCdk+CX}l=aI) z_`fpH2y2#@7@J<)v`848B@-QwTVXYOeO1Q4iqSl?fp4Td0g2l5K;$Tr)vP-^jP*T~ zDf(mJ?4CMJQ3bBQp&XsI+q)wS*{f1LdZs=T+%UQ!apQz`=#8k=l|mYD>V1M%*E_kYV%BlevNvvOdJpyq?Te zC16CRqn%ooXWlTxZP1{CGVSod3JkbeD$839=;4k!yed=CR1N0#WFQoizX_p)?)Ybj zXKytG{<)Dk9U*!yva40iRkX0Cu4}~lvnqRtJIw9ds|DpyYs@%)V*`ITTFK-Z+~FB) zJom2;^O2qnmXQ>1JRIY2x~sf=fR)bpt7->{;c!}|D`80)SF;m#;3L#qk`3W6sL17| zvx-~oOI5p@sJ0nc426Ij-9k%OEHUv$3l`i$WwGpuTjG#=+cZIghUM;DV+S3bj-!Al zUA8vvEnw&o)#vnVGGa>w7wO5Pi#-IF0B_H-JOoqzrC(=#QS5obUK4*Wo7vx^`6g1w z5CY|phgrhl^DDx(gSW4DuG(z{Y#5H}dvOdJ?-xxc;Re!^3>)cuV11}9dU!h1@&fDT z_s;I0esZbxxd*N@A`zNS{iB-K)g^~l%x=8$OQRow_CF*CkLmSZ^VADOv-NSaf{{Mv z!nxkiRay#fh6?k%Qq?#~D!q|}WSrhcnc9-3CRXvCe!#`>r{~xZ;uAHPYeb~?2pswl zVEO`&uz;phQm*w)2*!JBR~lc8C(A2}-Wmb9*aC~d{#B99w};rQH*xELWLp%KCMB7* zQvH0C{9}0hpYdFJNiU#L#)1TCLqNI&IZ5D9;e|VKibq6cimt<3$^Ji=j=<~Zz;999 z=4nbiM}gN`?{k{^JY3yX>m@w7vPn7JYA*Yz7 z!zlyI{sgTv660|LsV*^Z7vE=0SypO5&$_9?58QwLtGtx25eAJ}Wt4mDEsxn`Bc(b2 zq~6De+<#u6CmV3Rsgj;-QFZeYU8Ud|z1zvk_`u=}z)C2fymWGwDRikdTdWF9P8 zWn+5r|85yJGHxR(g&(ReE`A(s&d@&$H}$z$Hcs_5?ML&-8`RwsQ)+vdIw9I+Cv4pQ z!4+-bkenT(MWg@JLz(8f6f>6{1WvOUD?s|N)ueRMI zC|UeBqvH|JjG6v(6rP>6JK$E}{U3uuUZGf1UYO?#Qd;A0x0YmF)r#S^VAi1n>ivj{ zm0texg|hgOBW{p9)h$JB-ydDrOuG}yA0QpL@ zjAU3>Y3qAo$+K=UWVETAM4^-!D5o}v1qaR8F(%3QqgGgw09k9c(I^V+L zN(YTmJ|%Q`QJn*3&~Zy{eUajl{7nPO6Hv(!%3eYpxYN(eqrD>+#C&h0n6jd_+QCy* zXGZwSp^QVudUQ0d94pis`>-OXLK1fDnh~>y(`Q)Pa^8GL?Cwh2ODiWGAIinpdkGC zL*X z8rgDTums3WjJP-}3kjB&8W$5aFON}vm<2c@!eJpgsW~A#_QvtwQcu$i)_E5_l~SjL zIMbUMrod(>+py=i?=DlPL|I^{kM!okf(4RuwoiB-EG%ecLf0GqDM|)>NgX_W(2ifV zZCt$1^>{qvuWG4#7%|@V zy6ow!;WaxQ^z#}ui#cz7j|t}Y(C=k%lfITwi{P|;zF(vz4NJkX$mSk#%T)@sG0Rs< zZPPtR`$VCu8oKgO-&xB`WlG7ns)&@71Mj37K^H;|ysMNCjuFu%A#wO`z{(O@$+@jJ zC5nV>A4U6SajNrMQ?ANT5HXK{UH}OVmEDoLEuK3696{Vy)_0IW#&bfNa8X=5o(=aV z&7Wx$W=SIxP9lh-aL3l2Fgs;zC^E;$^uVJE+!0w8^3Xpuw=wyzETfwuI>Djd0ak4y z&GJbR!W4*qWlWXE7FT&kP`rjwd54NFDLw!Jc@O+nL|yd-ex;)-yklvvt~9AD(pbUr zkOwf&X!HzPQl(j(8Yws_)y05w^+Y({bdiQlg+V-<4HwFuZFQYg(g{e<;V&m)a1c{p zW7Tx#3I=^)*5<*;Hsi3m*haO9wcmF#Y1e%aUBYgBN+rl?MKJh^20JLu*|itgoT;;m ze9GQ=;c%pm#IRyGZowCN=Yg!jJxPr(uT$@*=;Qq0O zE%WNQ{cF6RRgLBR?cTe;dcNGZ(_w=Stb|zP5W;#{F$q)yE>Pz=jZp15zjZKjwC{l_-H2YyrQreV)O@-5%XW4^cZf8FvoqP!>K(?PuF-Cf ztw->#|2wPw{IJ*R{YbOkgJU2g#*z*$)l-&HVY~V*LM>f{*i!;>OfqXj6O5ld|~=| zHwzbEV7^qwkRi_T$X5%Npkh3Do8q}6j#=*qnFWk2-w%&>p(|~Wv2g%+O4D5sle`X& zaetVWXxh;gtddK-_)nbTc3QrYqUI^4cs|x&#^`tl|LvQw^BJU1y2Bb(l5ghZQv@RH z%lhX~>mQ7@yHQJrAnj8jeN&O?Dnqp$;bqxZQ;#nX$y%3su9=6fCS|c)?a{187MPR# zDYrrIha|ez$w-TaROGYvqz>H06S2>TKDBoGn6SHVJGM(H{lU@N9ns77aBvEfT;_%D zeQ*lxFc;+@U69}G&@k^Kf8?%S)oB{XF7G5cZgeahFHXwa6K^uh7@VKGRoc#63U@qcleH%L3UB18qYi&=HJ9~`K4pQfNvSJ8vKCkqW4sn>ie|SHQcK5 zMK;X6vTDbmTV2~Hxs%N z{wYRk2~C^XX*&zex$?sY`4gJ?BZjQDS2pE0qf_yRfgtE#S_=5gV-*}j`JDD^h+4ya zFr@)I9NGM+LyVmqk~suYd0j9N6Gwg~{bid{0tz^xk4+=E*#V7noAdmGobI*Pt>F31 zY4{(+r>{)^8!ZA1MC8U~&cxRCkWdLLsfXIHSEY}}#?T3l0%^FOTPI;hV2roH=TqiP zmiTRQx5(9r98swvL&l750JpFw?Ic;q8nN*l!pMh!4W7t_CNiVvKSrohyAfIkQ-7U4O$g&%_b(U9%o>vFKAZ_ zSh`Sqs#UJ;#p!iwId{VKRi-)kWUmk9&u5k~DGwpju;ke3tdy@aauVE_(IE^35T1aZ zZHk3sKM56i@nv>oc~dEAvLV0z$Rarz6>ookPi1sj*-4UCWQaF zJ?r~S*de0cJ5Bqi>z8pKMMftq=aAlc?nP&dDn?Woo4`-4ErX}(3dXTB7Zy@`)Q)dF zhxDYz!TEcQvz&f8Tl*FIk~)Go^97o>eH?G9^q8H#YlQ{GIi{tn%l2>m58hp=qazAQ zGz0Cdtu>I5Ox%K*;AWU*s@cU=cc!p_AQ z^tZZhtz-XT^%CY`e?z{WoX~ zI*k?8D@T`wW8LB~4EdLI&94+)l2ZFr=k>AwwMQ<=D-E9tcy~{RwmPp8yw6nR1ndai z`CKJlO{7GF6lWs_=#a`RFYn!(3bGd@EkMEp#ol@X&Q9=uuaom^P^0&kvkO+PP?iyj z2`W@j6RG#d?8NB6am?M@?%*3%Ke1L42`Q_q_1D=*Xab160}PM`m$1Qk7(f|^hxyPo zX5c`UV!OLi=m$tQgZ!&98%DVy&zPA9D{0oZvX^92dgn%}IEcmsR~k%dCq!^b|CU=T zci%uNE}UzO0D)tqGpoIIh>xyy!7%%fucAgZio~HLxavbn^6-vpGln)~TqVP1=FO67 z>jv~FiS0sAl7RV{kfVBYM9 zGPGR&^k{=c^lR)bINO~5B}NO98pla<9`+`el_-o%1%b+)LfNL$iv9L$>5C+;G|;1JME z^=nEVFrZ*$sw@Cx&Ma~MX$JM3kF)LkySrj;vzW4+4T>+X7_n!j`Gc%E3Il?Ba$oxv z&cSuH+$owqOFoMq+wN-(R=R4@ke&IVDDbIQt1+{S45PYk5aWy_r*Gz60mO`3MS_?X%-tzJ;s_!VPN*Ig3{FJfxzAM&8DO zB(X~Voh!<0J4~Jvp6xit8vG(x4=)tNy1euuokiUGZ;;1*4`r-BaTxQ(&|EClZQSa$ z%+%wox=Pyq8Jxro$?hn0-U`RraFmC56*^AUyFp}_tG5nnxbi_7fsIdd!CSA-?!yZl zE;R&mwY7EQIfvGkcaExvPg#jsaLw|K?wIGgNQFJ}Or)@(Zq0Y_yUDYT=7mc>@Y=XU z!IA}L%Sd2z*^dn(H=6r7%o6BT}1f7*`R4QENaf}RmgK!qD)3tNC)2chvpJ8(wlXetQZSiF@ zx+5BmW!uC_@f1a{;atz%tDdl=9fdKdq|qe?O-yCbzNqzHz!IWx>rIZ8obdEDUDvY)M*ITQe;7g_f9d=aMa@W;|z0MLr!A}F+~`WM=-|mKCevG z7(-Dmq;k^zlH>Kyzg+fPSaGExIxXE^aO4x70tNXWc1Hg8Rvl+Udj}&fqlJ@s&ax8V z0;`*oCYk$Z#DRrzgj^g_ZRRiyoQU~5$l4IVT-I$_2ABNk^h9#m^2u|$3JT^oELq>~ z%!43`-;8g|+9YLjP4&eNegZ9*%0jP8#=x7EwGH18fMiDJhUD%mBSd)tb7G*j<~F4& zjctgsnzHl8)I49fB&ZHIP=HlXXjaB!ZP{W3a7P{(?K_|Sj8)~)Zwm`*swzY$IR>q2dWK9m@ z$}KwgJC#Z$fg6ljTlBrf7}A&jwRMpdlL4SI2Y4HB16nqWuZ-g(qQ~2Mm~^I>qpu-9H?QP+oZHafs)l*7GxI{Zs-$HsW+c)!@#T zO|;om>8Ymc9D~+9Q{t^0Z-r-dj(bvmt%@0l_43g1a%97yr~u9C)AWQrg^`2&)TLXd zgDF+1869(uBJvTqrrRM~P?*K&hs<)Xq`uR{`6;cA8-S&8AG)r2C)&R;*_(cK`k?>k z@!!+kS-D4-;G|ivPjAl0pSpHnN*|a#{GC+oyLtY^Eu{u&UK2p^9sSga?hbe-%(#jD z!|G;2Aq&tnQ*ok`L@dv`gdJH!v&A85ZS6K^XAa zw?`Oq^Pg^RfhSB_NOOuw1jL#OR%*TIH%2m#pV%sX@2S-zT=?nn0j-PqU8a#Vh%5&k zH8`Py4(Ov{Fcwca-@yuN!W5U7?r`}uIDr$N&)NqB4~g9%-R^mCn-VlhC1AW@YLn+M zmIho3^zWx-SkgMV3PB3jixt68g0vbv!mP{3;*AkN(?~d*`QE}d=!;vGp?iJ`@t`b# zaa}qz!YV6)697?;g{8uuy14-_$&Hxy!I(* zw!GF?oAOTYjwlhB28-)p#8erRRbCdGZB_0F&Mg4QzOGcQ+hs%->>nXt%tVt`(8+zpHvydYa@+4dzQ0O zslH!u6{ft`m&H|5WnE(@s1v~$qJeegS}RJ3O}}%i!*qAX{4-AA5zslco*GLfY$yqb z^7;cTS~J;Gj{9Mn(YOEc92A>e49_P}tNUt@biQ8E#cN6~6A;Ays;{JCriHb^Nl8nk zIc*ImRKXX`l;{P=L_!NdL}GmiF=`p)9gV(2@@91Y1m$cwwuyyQ({dgd%6H9QEI1gh zR=4Ivi7*v!%K~*yCKvk_Y@e93-@7ydG-AoYzjSFFE*)?D3bx)6R;Hf3Id0w;w;O+X z$$qQv0@8B12^V`Q!Di}ZmDc^B>yt}JFeH07jK?T9G#RGb*CD#}7BA>8CDq6f9JvlI zku}X4ytLU`aPjoE{0DO;EcV!-tlycZO5cs}K5{*k-x|KgEQc znt9)gxGD{7Q)6>M<2(+}mciK)4wMR+&B*&s0{#i$9H$XOtm#94cmeu*%MnWuX+W2; z<3j!}`NukY_61IBYn2G!YTVF8An#@{B~kjp<@<$VpC$$D_bN%Czg+Z6M|x?Zzu@zf z2PDE6eBNhXTx*Q2h3PN`gq{sWciLmf(a;GVQej zM!r_YOy6NjZlw{M3G8prkHf1-#9k!sbs2>clMZPH?k7YSmwXbCVI_-RQFAyY!nDJ2 zL#)m^kbm@<`$R~)*2iw!8?mCl)PJMcNEWk1BFjxm**SStyS**utDXhN=tghi4KyQ zt_hXuqdYk){hwth4tb<~rxJeo#sLp+fXg}%fJGSH1NjmZTyn@^#sn!UO(9#FIT9jS zEh=3TN^|?!1}g?=6ZAxAG2Z;J`KEd3>T)Y5DNE!}DsCjpG|~J216TjoA!WY{*Msk= zoJ+*^Wqsc3f}6n1Tu2s&d(qiTpTZ6UyR*%mHqO|JeUxz`{sPNmVV5lHG7z1I_pl<@2>_tqwmgBdTOTesIY7JGj>+FHLkI|(%i8eov|ft^$gm^gxdj12 z<8nA(GkYWK{uEIfQ{X*T^`tF;v#PYSH#I**YTbCRAdxuJhloxxBc;huvm z#rv6_Ue;Djiqt$?7Sidh7tbL2Q*pj*6!F&V1V|o$@($SEK~~;sq@Hi4r%<9&Mg~gJ z0oP>oHc_dZbtr3~qWhwvMI#kx>LUG>FFx#*d6PA?{4+wii0Vrujw%g&ekyiFr-yR$ zFwWU4Og>e{p@>5kzXeWT(yd;-DGw0avA^xO8wdE$wxJ-XTkG;S=k`lA`qPJ-r~2~u z48#Eu0y)QXdNSjsA@r)N!Yz}bp;t@)&p9#Zp!+q7L zMr0aS>G9gqv2es_Yz>#OY^VLx-^vF&{mQe60O8Ni$K}=L+rsa1f8t5yC)9G$aHv~5 z;ihH~%NgfFWQL|kz%!15=T^KgeyF?~>vXSu=&>cNH zXjyVfy-cH5Dy0$a=E*7d(UYdCAmb{aAr6WY5-dOs`=j_iBI5piP+c>`ROmyubosyH zK4Mv~%w#N;ogrGSd>_)-=%N%Gr~jbsmfT@+q$fdFgzvsM zby3MvmoP$rc8ZC@Zk?Q>M?3Lk!h|e~8a=(z?|zGBG*h(}ri7OLgrzi~-v{%+mTqDQ z+z57OIvz;aD@zy7{*J&8`d`hf*%*-?F##a67(tlQ?abON$j>0%FkASXnci}g=;uu3 zPyFPW=&h;(PaW-;Ts_knF)DQ-`^{QMW0BGzH0k2Ea4v?+BC zxm+~`vS1Q#*=)fDy?-~|Z~uO%-$?}K2!{N$t7<_W zKg=)&4A9h(sDi`B1gwAajpXa|Jr1yuhrAB;0CWkWwS3;vyIJM-+kIeS`gUyLU<|>qpah|f z5k~blglB%~+r!xG*X;71#sFaOH_^|777|KM;8`IBhW0#F^jA$wS0^cg@gIqeg3@EF-F$fDCyn0cRf~;5lgO}QX@CYkrWcp!crEAQSbXK3l!|9RQa5Y zeD`}!oq&hBG@ZQEN&N=K?SZdMbH?Z$(C??Oc@U;Y@fT?qpG=oq7QycV^)qC$j}Z6c z#=&i4>u=&GX9(pDWMB9 zVJ9D2=RvG|=Ays9XxQ0(1Fp})=_0TBQ2x+nw&{WQ(DuA?g&I!k!Oo|k09Wn_ovnGlMW+t0XCWN2lkmhS2Rxof|K!oFr<8VM^pG(te&rB4^7sBCp zv9+ZN%J4Fl>pTnuw$-d(4_Li_t|%B^V&r?=)U{8=bA_$_XxK16TNK(Cg7sf-ylu@d z{n!=DbV@C7K&^$X-;U2N_B8_u*XW=2XW8{X=_XF@iZz&k8+&{q5HOgX1_%A6T3&nE zX1&vflU%6QHLHtp0^Oo=I-@Xy?ps$tlJ%;>jr1KiX zzH3a2FopXTgLWy#!xuHV5V5@5?~l9tlKbLe>;IRF=5h@)V*Aa}FxwErkd4&3__?i2 zhubbJAmb0$;WVuGvL{qCink-g>8(vv$5zD|C&_8YI)bp&^K&)qpRnZzQ zn4y{gu$`Jlg9%`?*MZMwl8Ik!(MQ6HAIZGeZBGuvSGdgb*)9aXxZ z6?9$aeqEfy=rqf*p^>i7&5yqot{X5#n32#)V>=>_Lbi1pb9#8BE$rZ4;GLxzWIcmL zSMARlX$CmGcQiHDRM1JJ6cyIM_6!)G9-HcEVO6r^cXFhm`ZY?SI5GtEI~%7xAT@rs z=u!`cOrJEpMB#Z6dt`NFw&h|w?HS9i>_1=5IiXlhHCY35>wee0M#r~j`H3NGHmF=Nri3d?Ki#I zY0yttP$tNi{>Gvae-2#WrsiDsIn?YTw*k*&M$^%v0!u|LzVHh~0o}HB==hA8FJmi# zcVglnz3G410xyNtG^!KonIFGZ-t>NptrDvBeTg+SBv=)zil!V7!7_)E0Wkg0MFu)( z%s9y`;)CciY*_qkq;P$caN`1)o{a6a{d%*nFo6&&-txMx!^qRSURV|63Dm88n+F$2 zYS+<|AY&mR^2L;wSdoP5c3B%kNyN-cegdftZgw>iw@#(natY{?tBe0RR)!Q$fZ6Hs zLR}m(w2$3bhSSdg?$`$@9VE$$X1XFl@V9Pczoe9h(RNy(f8amNewXxRk6m&MjE^ni zn^i<^Ze6#MoqfhhDvc7PG{G$ziGiC+>HZa&*2w+s5ow>~*6bj-p~(D!tI+6bXAo<^ zT4^v_IjAJW$Kh#5>eY@4pzj-n1bXn}d{hJjsRX$h5{2V>Jb3^mdSK9Rh(}SO4*cqh z%*k38$u-GC&qyvlR$p~#_tU2)ZE;ey8cGIq*QgcXZf;d6q^f;4)R#p22e&MyppEMP zND@=xiqk#Yt}H+`F0}qsp4I)Mj|<@WLDTbw5KNA@U5(v-?hXvWsxk}5IIdm{nBs}{ z+`01i0^sQE7uuovR5}TCc0Z;@J8Ej6qk=zS#KSFZFCE}WW5s4u+A#*6#yl8ek)X&q zHW|&ffdE>Vwit@Mykwty1m0`9VO$X|>g_1%q-F|_p3=*+{Zjhx2K481e~MS1Sv(ov z8bOeoS9MBE23OOrrovrS`VsF&$|_rm1DFR?b(p++{I_4QwxF+ z3qFGu9r3=s6_{`BgQ*LK5>BYV5V>FNoE%_hoABo-HfKwv^s# zekT_w<9eE=P7oPDbVYuqk*?G7gVWU@sHLY~Yh2FYtgNl$9nDw_3P%|M9u&3zo=R6QA*3~o=@6>b6j&nRYF$@dHg1W*JucG^d#@G5Nme% zp|uKI@@1KQY}nfTjgwUa2UlXY7@57_UR`6GbYte`KjaM{Uq}2)+7-Jf2Ub8TfR)2- zUuZ`6b4AbF4F+@F?mN&27m&F8G)W(94CFf&a{(KtB^18ltie*8xEhu|Q(8vv>8B2Wb|sCS`nAqzn%(Hpq)T-JfV??RzR6>;R((ZUGI?0FUDm=cGqdo@u2>z4SZ`^?a4L{)yW=o)`CALd;_n zJbufR7&TXEV{U4V#|cH6TM=k%g+J@zgX?~UlLzYY9acghRHl+xOM8XPO~s(q-ZRTp*9(&j)}%`aqtv1@+Zl~IZX58+=fHt!)OYscaP5M#t~ z*4(WhOP!~Fo_C|*B?l*b>-T##+^$pJmmd`?)@cO}sgLG|t-CO^r;^VZ%+9>dn=8V+ zyxhbkZlR`dtsE+UbITKuu9%*}sxwEl!LT3xGSa@?Q2f2*DBvY8=Bp&8>|TYn?t$g` zi~mYJl5GI4ywm%9D~VXo+3!h{kjMwoxh-J7S~1af@$fqQ>M{Ir)i(Gg`i4~Qv})-8 z0L&OqA`8*XZ@T{8s_f??d*5{XUaZS>8tjJO2?z5*266FrC#h=S-7bk_&XEa!A2?$h zCAmKxPyTx4GGNR5^1Cor~fzkX}*!##exQ z`>mr$m1o^+w~Q6`_fVnlO;F69{S2qH@15RD>)$gPx_RpiPkY$k!3z{9l|13dxCsRf zKKG1|H$-s5qMI84btrl3I^2<2eRJ2T>ETgX_JU2F4pq9B6u=(OiW8KxvXIGHRQvB?Et(*v*&1>z))W4+a@F;jHeq|7_-LA|P7zz3Jv@@}+%Q zOObRMd^~AcLoY8lWNex=FI}6t2P{mZ2J52l2!M8M7|1I4v0>)Zq!#~%b5`MO0y1V% zr*x37wG%3s^B14$X~yRy{Sl>ABWY>KxE9nE5&DcRIu_aTTT5_*GyZOrJp>2H%`=2mb;FCtUlK?6oASx!5}*)nP=+`2RF zAcOxL-_n&M$oM8=EBB;-`5^nZsI`Y{^q9=;+J#(FE0n-##a07~E}HR(_o6E)-aa3= z@7l9>U~|(<@HA(cDss*C>Rnw0KwU#j_GNtMjQJ0?Z{2hE%hk7Yi4{_HFD!+Mjdp=S zzR|g(JE#I-b|@TwI1@og7pR=Qt0?-x;#hjP@xrlkd_rYjKO(r1-{^kl_1A}BDU1fl z-y`{#)Yu+zeh#3*1O*l^4%35DSGAB~<3Mbvx0UrLhl})&Dle$c(h{dQ0n^=W-+05) zuI!)8us%b5RlFijK%BJn=@sp-m86#!d53YNHGu?0^u|}wOE6HbxtuvSrZ#)%u#jL3 zD!*Zv2*W-G|CX73-zniora7g$mZLb#^=9B79;#e}Wh$$tP6s2e!jZ6blp1bNk<}10 z?h*f8go(gWR7BpAVF51UPEafg*6qusVs6K)u_#7+#%`dEi;^trog16Rd7tjE6YHkj z3yXa8Z;!7jw@EYY*^x`>{HEMd#gxl8*R9H8#FP#7-;oiqqp5))tMc!bgP!_-{t^PW z$lsIWY%stpm(cY%I>c-{568WFd-2bK0>nRFyd{z#q)^yLF5arX&>Gd4Zob{h_j+QK zOF}spL_Kb9vH8{$6d|fF&Z)PgT3lu#=K033HHD=0GZRM+Tz!YL3ZOC7j(8ZP2p&h9 zVtx4XUGzE?&95)Y>0to>y?aXfU5f=VP|gq5c#TIW2BOgFsZG|fPviUYpzu0^)wcP8 z_-OrM^SY*)_-dMF{hZPEX>=UJm%^emq$5-&IPNgE@sY8Wx&eleKTq`R+hLDzd5<_& zyJxJyC^DjI?~oi_?|u42;yapC@u<-(AbnUJ+DPQTGxEkIDdErF%Zu`MUhG`g1YuKU zbsewdw2Hs#;h*Do*t*n7##Y2#YAQi+v#6U=PjG8nD##;b19xUuO6(h9`7>08o=-v4 zu!T`MVp>N2WdH|FQ+`4Mq$zSme=^8o`r`-QwWpzBMfWNXA6lyr6;d_&fqLaDT|vrq zrOKT@8dZka(h%&RNJ7R?T};qKNrTbRsz{Q3yLiTGe_fzbKgH0uJ4PWd1NArA+j;mj z8I;o2d$hqZZ_Ylg2dl~6T-CdFc5{-DJ$tq3`0nC>vaS15q*)=jD+!bf*99TBISME2 zOS`{%0|QJKI4%SPa?$@{wYLzMxNVLxUfw;8^#M`-C;G9T|HgJk8YzPD&9-L3u6;Yg zgxCA)Y?IW~i*7SpF;yuiL|z3`Q+5H!#;09rZ@NE{s*nKFI=^I>jEPWW#SU^*`fvy2$>!2jigyVJxML^CCPs6o_4+^ ze4w3_Hj#!0OZ3j1xRHlVzw!3)p6ySXN~7iRuPj38%Nkev#MV?0)c8tp{1m*gWGj`P z#Cc9_-=l^7oE?Ku2rrSJ^i7&UnudyOhAKypIVcX&XUH}*z2q7Q3);}(LkI=yfK{Ch zMf$3V(qU9w-0z{Sr1xcMHAo+MAZ1~6o;G&*B9)(N^5uQXo|t#ur;V+zN*e}@Lszbz zsO_kC14vgv(rvxZs8+sIviMcWtrP4Re1gh&@=z&4N;u%G~^!Pg@j>szKo_duJOS|uwm}1jN%Y_mSp0dI;@@3Ls02$;D^b`wZO~- z4nvPZF+CAZJHf$>K*F1{qnzuqvx7qjM+r#TSxpX0v+5$&?#+zGdoVhIQ;zw+el}hO40sQ%t-IwF*dVrHbAgn)b)_MnplrrR7v|~GUs#t z4d44WThlXcL%yl->xb?yDWq%n%xbr+r5Lwue%jE ziI|17vg#L@odeV#w>UxAMrFGavGTW+4xuDB$_0pNwlu&4lKq)|ap5RoGk}=$j|gbS zzsA=z`5k6?ha9Ge5$Y>d>^_$}mT9+Qw$+{YD>8rl-2C^Qlw^C>^!0PujIheOGR=u1}3dO3yz z4hYU|fP*^=s@!>j=nyv#&-r24VQE!uh>rq!lMnE&)bz1HQ5Gk;(b0-tl;ePHrtj)OP}{N5 zqt}VMznd{>r$4tq2K$PJvgyc~p0a&1*lt{LqW#HPUI~h~&fYOf)37marEK-n7(c^` zLsA_)TZd6Ll(Hb5LuTRHu<>X=u|JyOLmzj5{@sm{;Aa+3_eo&U_k3=8I8w7hg|Ej` zkKn^zxkWz(Z-9)H?I;ThNWT!v-6z?dzXn6i_RQ9Cq^m|@g~eku9Qg(AKgB%*r7DX9 zT)T6zC94L#9=PdGdLQ2XauiFTAJdaKmxPGeSqT-07L+!Gyn-XYcM{ix6ACXUYMH$4 zR^HzMfOQV|@$rbFGtl`(0JYeRF7rgj772^bv&XRq<~Av}PPCV=6LW(@m1(~|skPF* z-{Yu6lg=^8MLr(gCk)v^!2x|qY`VS?lcY-6o-fOIfOpGmfE0kjvdTA^Mc{HlNb{uyQi$}ln1W5$wE3j76FLOX&lHI(+TY7YE z9)g*cWjiNbiO*UV>Jcyll4qSZTg_TX(k9a6N6gkmnrs*lX8Th@1kOF55u&P)`t;ol z9LBD%LWQ3Ee{7xgTaypiw>KIj6oyDQ10Hws^)AzdNA0P1vWR6&S z0vxic&(oiPOlSXoV;ej1w*lDc)K82Ea=qt(*;<8$)Y`&{^G6Vz-r1$G8t$pjB2>O+ zv9FE`$~Rnr7;Fc=Bfk+(C3UgOkq?3OUSi7B<9|#;+uw7_&A(kMWL|YJ$n6;`TOZVX zLe2E`RS+z~tJAy`xSY?|w~peFqvxyRX*dzV z;VsIPsw?-`6#)fEcDbZ3PF&TNLwh~JU%EDO9MhfFe-~tbpV8j@W$c6<|3hv3J88K8 z$1gi@{BVkYa|r>IF!~-ab|%iOd>p)cMSJ|NpteirnY3!&Ymc|c5k2$Go zy1atPFdV)OQG#a%vmW6a!@_Y?JDO7IfbaY-_^^OZNv~{(a;IIV!X5!<-JG#y7L;?su`8B>^@uyhq!@HxI zS~9QZa#?nU|w(m>$WUatnVbs2F56+6s0GacF2B#WP}HOr4?@Xtn0B z!Ze&DC7H|Q7ChbZvt`!KZ@NZ1l46w? zeRl(zTB$#=lJNytio}UHK}T{&NiZR-$UVjzVDy2O#8Q&f2ZA##a=j-q@4m1%qqb5l z=d>0-r%1s$T8aM^@0QF?Xr^uhFWosEI9FX2=uA`rH7TfqDj_kfS;TrK+g&9`DH;`sioB@Cr`|LXmXaZlv42Ld#0DE|tywBT|Ab5;P z?t_@!%BK!|3e0Nodk3jQ%bWkSpt_pS(q~7HaCpK`+SmFwur+ZbKl~z<-`WiATA~GP z#S;zXECdDgH(|lrK#Ha0QENbR4_v>N6Z%j6-rtN5k7!dRKoA=4xZcsI<2UV&QS(Pn zr^N+R^#jI?P6H7rWguEuzR$V9NjrSfDtA&HkmC!^>Mj+g5>f2((8hyXM4qj zXpQcOUZ=Tdtem-cJ2O@eR&VjBL<(`QbtfdbPuWw*pPtKMVg2n{n8XkcL837Uj~P)q z)jbw@&-scb+9>acs#QaK!6JlL92=!13nuUIQ`?h4Ut?ku(DzbYj<&GvA1^@$^(z(s z>#zg3%wM1R8~KJ;#5y3}VRhC4`Qx<&d%=DA$$o6{bvo<~oN1;A0c9?}WCyowx3aRr zgsd`o`6m17;)cA+y`8H#>`IAxlK7ng2U>w-HR=lNh&`_FxKla{C1~{uip_TCn6?h; zZtJV2ul=5+%FIm2?0dwk+ANR|Nex}@l*Za5;Jd%xDUOfv-^(gIOTUPbqY>GMm944w zWS{$TXyzaoyHkjkiR`^zM9q`94~(YwQHqkuW_6ZQn9MWgR2OoXHc@wzbwv_jybRkb zr7X=hlIy-lSoqL4kNvAHpt1tzkU*)T@m}S$FRKRaZIt^QjOE`T@hL7c4L9oJZnZ<+Q zq+;$2S8M~g3-sx4vY{Mg$$BzSPTAU=0FdIZiH%Xpci|AHdAt4;Q%vNQ8-76Tmt%YY zk`iBfC5&nzsls?cre{@!Ocya19d;24456Lf#h}7V5k?;cuxCOCYBZ4)Q9Mw2Ye}SA zROnd2ZWfBDkto_t#YLc0>C&ifLTSP&vgZIDPmu7Qjwlz z5>Vn_8@qpS?rxd?E!02wsRmm@T;NId)&-_!`+OWDMSwd4a?|B}T+~k10{yTS0=}7F z!~C}}2$V+zJ0phxH_Ok5ghJMgH#N?r8Hb-{yWUY*lw=<%v%w0)Dz|AXyimn&k~L0E zPa)>%J%!K1l?|V+a>*_~DtZeAf$^1$tV@8|+~*&vr=*irx_a%2gcf!~bT{9qVA?V* z`98K-B2$x0dIlM6yn4G6dO7^kLai6r*%5#jtemt$VgX-@Dk0`InefA+p^jkys(mP?mL%eH3NSmIbST2kBkG;)Uu z8JbMVA`i4^)A4Mou$Z4t4}=@TKZ=tDWF*-h_`;wiFIOj@K}&+O&akkeS_cF7dZT7u ze(56jQ~-zkj?DlnT*V4pq|vTxWc0upQQVd(#_yYk*-VfiEo$b%H}yCHFOasKh^ zpK7`L!K3iEm}mgLgCFp*pNjvY%(yM1LQ+IfXFm0jIEj14_doI`TOfg#AU@1Go8!$^IRRTlKc5q zkr~u^tSXn*Rb?P2re{+6!JbiXmh?uKHsGDebc7YI{nG7+&T`(w!=8@m@l%D|4Xh}H z0&5}Mb9K_iIi0wEO9k>e%44QSIoPbN-ry{KRM9udn!i^WI?HLUv+Af!C;}79$;63X zNqqZiJ7P)0JzHplE98Px7Ohbd-5#PO6K5DouW4hKAoh@!4FJEN|AjU8^i`bZ7s34i zXMBlwY>^{xK3p$fHmqHH?j#$o^xQ_{jzvX7yv6iQF}4`$Ojw?eys$6nb2McfzX5c8 zMm#7TE174Ysr8XVC$3>jZ_R5x$c$LrH&=%?Jdc(y0vFu9qyh7*!FRZ8%PTV7afF(IU$-u{MkAzFaPyPK>PJt_>3cUwsUaq)S>fD2 zqd!X=^1sbztsPI!@YID}j0sT<%LhmPB)J;C-{cIrs)8myaKHa|4VGzjwscQ?*vR8c zr$0z7Y0j_Pt>pf#1KhGc05VQ3k|O1~dovBOGZb{HUx5?) zsUms#B6i}~J^nq($$VQd8GH2l{F12IDV2QadlI^s<_!do$bckAe zNv5gPi(QD(k0%Vqk7dN%YRo+O2^e+9#HAD*qT(Jc~1K!p;Wiw&3B$=hp$t7e6PvQrjq36Gu_^dN)PAC z*1eHxhmf{S^7T~y#Ju?eq>@xVz-1tk^H94 zIj?Wtta5^%%5Y|X7H1|bZV`o+Sy-4-lPFw(tlWW9lUA6EL${`|*^VU!H$ND7w!ZoM zVQkr?dL|{?wq;TfA*sn#T&S(Ar=7(jSm*FkP_WMOrD5&2bgP$w1-ybf%?J5xlzT_% z;ty+Tm^^)JW7f}L&YPAFd&lMZVSoOnPJECQrgXM?TKMr;WnyhbMPR7(6R8T8So7s3 zv?~XDz*3jTCg4D9yjYs=upYFvrNoCs+-IqY!%`Hdb(np@Kd(inRi$}dW9LmH=S$P2 zz^un#%MpH<6?nd}uq9oY89o#85nzh&%O0C)+arH7Q2;X7O{+yz4+7_*#qVeDyvgdx z;wA5_R&w?Betl}GPzP_AoinBZZUlve-$h=l$Qu(ecc81!8O$bCF;qP>S|lQ?;|byV z@gLHQwA_-%P%S=nM-pvi`*)%z_AXm(Tr-3(1l=#<5-$oXysV&U*HPSrafE5Bn(qnY zNz!J~mM9$z+Jia?!+kQNLl|e-^jxoskl7Ot@mSP6Nv9jbZ`Nqnc zwDd&C%_w~bhl2V;UR7*r4Pn?0yAE%lT|;-0cT3)I^)j6PTN;uYI!=CKdy(n^%xW3* z-CJT}3!spTeINWL;rhE9!>q^Fa}OXbVbV-RP*aLdCYxyO#2xz+J6p6`Fr9_+ph3-ggwPC#IX z=DI>Y_YL}-x!2-I!G)3`N7HY6CvU$rVP{Ke>Tp5b-WqK=`4Ui~U*%4|LnY}aQixPG zLy$gLGIJjr>RzvX41@y1eu+qiL*_kf216RK8>Iv_P#^)L`~eB&&`HcJYu6ySpz*t@ zaW2nC!U89@^Z8p4hM>8=sip_%uP!^-3B%X`k)I?Ax%p~y;sk__mGfZSxftbMssyXK zsmYN~d7jVuRXzT~4-4xcvb}?9i%!APOpp|P(W~Dtz_H-!*N0P33ZHJF=Peq7Duth0o8GL7L0YTn7~o8lmDfK4@EMwwZ*7q_{r#y%n7E* zl@RfGsq6lD?lSSqHLgzxrPqnfswRv3P?pIAGBVliBP7W&VvAJjM%~ap1%Pj_Mkul? zf{!HGt2oOuw}O@H%PlxbIL`ujQ2H-eiE)JDDS5xE_k zPPHhKoxz*(+n@Lor`K~HK>I~XwDPSOEPt0Apt^EQ#H4bpGg~mcUjhS3nBfArbX&gK z?e+zx0@%Y}r&T1KpJbwxuot{7#_rEnycVEFH4lHNiXhW~=&H;-VEZpVXE zJdA_w{qG05s~85com%aoC6aj6+6riRWE=jmr`Zpx;GA7|Q=w#|G>^Y0^y2}@@NkQC zIF3xL@NkcLidwA50B8n`3I7Fdl;rg_&?jsWth8tA(_l!?W&Fg6G-!Jq;*(k6qM}+BY+5(+*Yk1MW@ynHG`mOYguKDWN zb6~?9^u*;$)o_j0*>{ewD|~UjxFjET0eL+9=d4TiY{^i5WNETi{ugT|Rm0A~H{2@4 z-ka`?k;fg;BS$GzTWM9D4gkdWpudl9*u^zuAH=;{yjPMS(2LfqAeNlmf9NcPw`Q?} z&dKO$7b*G|W8%(v2j1&CGbyFl?~K32XXX4h|1+dF|Ae3Xx?-aXRBelVudgYr@tty* zr!zApovV2u==!K4(rsrOyZP!jncK!Ty;Dx|qiDeToNfAn6O0Q4ft3)yrQx3E$T}kezeJ?PFn?P&9`mlQVs@o6)a{q$li- z;&Q!(OxYCNB#8{#yEd$zVbP**d{rF_5g>8KB$fkL;rjj**!RNm((!InH>eVqP@fg{ zzTl@ENfM8t>Umc2*<|++EgM3rF*h-8@lh~4yf(sP0UMLNt^am%#`69-7l)K-UABO& zCt)Wzih|zJCy(IEM<{fzi@12D?`GjXMl;U>XXh?J#LnL(SH{mniOihV+`~BIfbzpX*GoamFYG z5)Z?sCN-siadEa@c~2bxMVI899r#m|3}+Zkb)kOSA%Gc!ydFP}*OKMpnJ>6gU-l;R z)t2;?=KU=e=J-Icc7-o{D|Z=;qsAWTz__-GfBo+WPw{Z|?wSy~`x;|B4Z7lbe9@g& zz2^GY%q>@DPgXQz)w&=h=!sTB4o!3%G#Lm`D z&R^Z2Gg$E5%9zx73_h6NBxFPOw_sHTS!V-Y<1}iT=6bC%B)Dew;s^faoy=nO(iL;a z24jAJ+-dF*SRh9Vpt(G78K@=Wi>9r7<0lcle0KfEY=>wqaf;vEH;9h_b!xY#tI0Xt+So1bf<@03 zj1-I#(dhgDJEYBJr;eSmWXoXGb-amZKb8C z2vh6Ow<&^8O6|??mD#tWkbBNPe zSTgJZV*p&BQ$Z|0vJ?bH;qk4oBMA2w!&@gB6~(T%?rL2yUnZ*A!vW8hlT9)Ve}!d3 zs=~{@ByZY?Z}Bft$|U`+NhcS~@K{kx>f+pYN_$qh#OG>A*x@Tx;gb}7O8wTeHF2&z z`m}@Mcgn9zDNPL7wbGl()3Z3=b!6YmCe&>?IBH87(Svt(AK$Ru5k6bd7`Wm?zm*J; zlk7QTiYn|j+$i}y4LE(wXoGj6jJfgr6q^X!R3B*i9@-4dZaa8ZKku6x=Y}sOZa+$a z8XWojY8p04h?;!z*%xvMo*6{D?3fEJItntuDA$_xIfH-J(3kX%Cc)U%1r+m7c zRHiwM!_LxhVr}xidz+amsk0BKjGw{~Unym=Jfv{~B=SkT{pbli0lz)MLY+xSSFT7O z6PYYAYjl9*=>acnv;TXg2&sOj@4sYW9YIzr^#MazQ`R)0?|ez$AB3pz&Dig;N`?^S z3z^vKpGcnk3l!qU9jEQ6C$Nl@rk{6OQYM=Q&gk zg!hRo3~$?Nnj}1;aT#eUnSP;n`KhD<=?P`s=b32$l00)Iyi2nHZ!}UKnOHRwnHpgk zmfqTu_M+)h>up!3&}UgOlM%vF(Pv+YOJsB*@J(q?Z1_B(@X@-PB&sy9nuJoft{ymK zta}p{UKy9Lp_n?d`D*HXj%HpN#QCXU;G4<^I;XcHiZQV(nAFl}DvUqf(!L=fjQ?dLSSuiZ_t6 zGF8lbQ<=2QW$W@C3-R2~EVRSNuJ{^9J$_Wo~w&H;JlqTtL*Y`qVqEW?@}yDeBU z`F@!*#4j8?&nL|UMDebl0WFC|$&Dd~(wD7Ik~KnKtB1u+dWoVr+beD+v=u9LUR9&F z@05KbT9YlsFfZie?pY04U-9I_KmPb&83s?-%q>Www-`JV3%SQ<=K=_;adtB6No)Pi z8y{S;;GdpuC*N!`38-1QF+5J-6v)jF(bk&%)0O3wE4SF^>?$cYgabbyP25sMHO*zO zd@xho3h8yCT8KMzko3w6nE&_H`0$y7*fA% z$N6?yk@^f6>y?wI@;CYK{esZU-#ro@kC^X4xXJQbXCfOUm7Na@@2NjZB1_=2FxmB< zzutyNmsldCCoK!r`hj0qtTG$DYk7&U>XUbaYSRWxTWTBG$eb3Fo(H7O)Fki~SnJ}V zFH+c>TUt0~s(+X@S2GWn{L>#4H(3=G#E*IR>>&005lVk`qUcfD*7is%XD&@qC(qka z%0eaS)TTbPxp-O{XCUq%p7|cXN?K*P%PxySC4$F5(Zs&!yOaq{Qd7SDGRfCr!F*U<34~bZ8KFDhr!}@p93+_i9)>n*W=jIDx4|-^1OL z5y5*BBnMOS|Efr#geCQ~Cxx#z@O^(e(LBY#JMrf<{6$kBeh(VDZaF}>jKLJ9@kv(m z^AOe8oVi2)A-IW(a)sfY3D_+zcT~r7^2i%l74ZH-TvBuXa0By8TMkY%$2ie|wL%-p z{gKde?+{21pjZZ-#o2Wv8yu-z@b_*rxgq7CAodhS7W~{9%Z%`88dZ*H><&ok@AdnK ze?Q|N4rPP?6g;?o)`@#K?Up{Az1=jiH@7Eos0gVLJ_&t??d8AxKvKOcfJAhfytKCh zaH1h`IB)HaV2|oPE?bgbGyO6+0gWiJ*vJEQ@sb`U=}wBp4{&4-3okZ5D!*Y)sea)7 z`tOfA;hU5vCymJYyW$bi6;Lp2HjNwEq?t5PX> ziq9!erD#uKWL~L#qfXc&wnsXF{o=1r|DYpgusrNm|6TsG&{&L!p(}A`)!CF8QMuau zTu-d7jJ;Y~Qulsc_4%h{RVs)#|AE;hF$xBY_3@MV`aPc3j^n+untEau3r(Q}(4X<5tRteNabz9b+W)h#FDrZA{~^6Jyb!e|04E8Jvrz}vArxW3lstd9J?L(%u;!6yetKR4N82Hg2ome~ z*xXb6l|l3cf8qPkKK_-BbFAw6HK)HB^}J>rJ@;+(qwf-mch9wDo4F}Dvx!>!Hy!Sv zn~&qNjpLS%Jn)EKfFO_xuhEh*O>PXQUE1}Hg9aUW8S7o|-Z%pfW*Qk>3dMkR>Ba|l zdxBhXIdE;8n!XoYW5e$Wo?Us?kiUP|Pf-SstVjpuNNH*{)2JW{gqG;@6tlb}-Ou2f zlHyM+om8uvM%Li7ztzSEjr635{T=W`O5o+ybh9oej-&~{5?r5SjgbI)e>86`LyX*f zsiI2YNIw?LhHS8u9?IF5xAJ6r3Y2DcwiK)X#*$z`4DSEYVzidKVMgIO8gx*JxtmK<;HagP}!fi0~YW zpSrACb}NQ}kV*}U&AEQs!*ISp-mB=eUWU)nHA@z|7=4mlBrBdr)WtNnkNek00I@u` zC@bpdbuPk_2vOIPopKZ}e17ya*q&`B{8_YIsVNS;SVUc1v1!|E{d zPa(OV9G{z*!i6vh(Q8xr(t<|hFmg6e8uM^n6HsAreA_DDIF6^O&|Ti3a42>49-!m^ z(3%e6D=UHOYyB%Xmo{l>;(HY4z@HFUFQ+&mRN=hwNJl_vIw{W&L#ogB+uOo1`k}KU zM{C|rJxo9J3}Ez#8UyN3H;eo?-Y)hYtH;nI|0mpwcyiOx) z!gRbMIWzywhUu zP)ji;%0s)A^dG$V^SCDOG;)*YK&Y z6VUb2+nDdV+dj&;1x$Ktu=cF44T+1N9t}px&5^sQO}rjq6Yc662#R9f;bI?9o3L$& zK9%B0Jc`t$U`Q5o282DlRPK(V0)C2eS!RF9(+$+oIx4ZjB0XCSBoE`B+r5sQJ*bv` z8Di;u%_{!+%<91=%csC+o|I`8FJS&=uF4X;5bwCym~+^z#cQD13r5Wm`A=CGD_#Lh z;;{kOec{Q_>s;F)wKPIN99eu@7WAx5g#v_NYvfJ7q~{Wa=-?`L)1Du_;9Y z>Q%X#vy}g_Z%L4g&i>6_LAWfSZN@f9&pYuxgOzp5NI)rdQO@Y;UNH-G2{Q$f+TK1W z39TTmWL5|l`at2NLXcc6#wZ7iMEByWxC=OD0ZFw(SW1bXn|=fVH%fBty0U6!pYX(; zotI;Tgw|DAujn)En^gsD8+1;R`wwlZ`)x0EuzXdx9CTp7+tS%@!(G@#Vp2+O-`FHK z6lhB}UMgEjX1eUT6SAjGZk&s<`^-4AC9Pg7#VxT6-bcwOeiBRjJDUog&y%r|q%SYx zk1;H3S7SMX;p}6RkNEr4#-AG$QBd$@^lsvOannk2#1kk z%eUWR{a7Cx!j}z>^D;};suyBdY*oKJT8udSBiM1rI7xIfEsL5QmP6R&+F548I$+j1V5NATz>l71O*mT)%4PJ^k6D z;3`M^1E|D<&x;5lDrIJ<*JW3=&}i8#I2wGl1%tU7yG`m8ov4u-L2k5-;?@a&>*^=) z7sZ?jaQD}&Oij=kM7NYYz0kpo8%BB%RB@k%`~cyVlYsGwpKSt-y!4CD7jfla2k)H$ z@4YU&E09#t%=dgA?x&2MOg!%@*Ug>vI zTiO7)=e=or7W5BIcx;JYpi{mo)CfbYAbd8qpZl`XMmytarPAPu07lcJWq8`9`$TVriyAJp ztX`?gy0-54TvSsG<6(J<$&Jn*NIY}IiMw(Myu73^!ja;&uf)jyQi>vC-wQclUQwDb zUgzPf&P1(@)0XM$p9V)mt9`uUk?W4t=2b zsa7_11QHx;(Y3E&m;3qjE*Be|7-vZ6DE775THiGIsxeC!Iihjs710|k08M^eAVEVP%8;>9@-qffN=h)Le5vz%we*p{ zIsSOLebb1cNUopVUWo#3cvopB?&@-wHj=RHU4e&tyYpkzkHMP(;*jmxeU1=~N6&>$ zfePD%itq7~p1pQQqWMZLB}RC(8z`Dp`!M24?quB&kDI3|?A=GjbIOKGhVKg4HF%wo zpCZD1(S>izLw&$LTC7^4@l8-}UPm4TD5@sJ#qvbWo+uXiow*v(<@ z{+;bt8Op3Rg3qoqt2T$7vtRtVtlE0=V(;ZlC(7^Y%MND~rl*WjePGbD zPKzk6`e0zXDp_AG!a6C$ta0`?g9hJ&6g@QXNzlk-q~tKevgErWhay4HF=t9;3&{34 z^9t9>d!&0{VZ_$lqy|clic8HaRgka|1s3q{f+&eJL&A6C)X;{B(O!m00rARstGhyL z8$`L}f1w(NCjwZXzFx3>I4-vTXV5Apfng-WO-mJpa6*uBryp@}F<<9E_wjtcK!Z!vh3fC6 z-8{T<18Su@RLcj6=kdQ>(e zo7RF?k5jBHP(vv&w@3(Q+;}HYd#Ig&0{p3Menn-EwY^Xfrg?)l*#55+C{W1=n z9>YSH?`8d*gH^G-^0;j>vtk;gfcx%rxi7MmKUaq)cYg}#aw_)@OYT3BAly6&&o?Du zF_a2(Y?Z~d-WsM}2FxOEUi=_O1&u}i&8F2HPYeu~-V*^|S~cD?irWIj?+9@rM7d~f zn+g?M2AYu0;s-Y%Tvk(o=E^y z+;cS54<{m|^fZAD9xQJw{QYnK?SA}z9uSy?Eb{t&_i2>+$0bo_5PtH6rYnY_-3wE` z_(RMNzSs8(=6g$a+-vuCcmv!CE3niKI=Rd|vlke7*PC(0vbG_6HwTG1r9e$Wg72#$ z4v*$+vTx2MkJ}u7%=JB-he~bC-j4s@v81{IFE04sX#X}&T&DZDZKVhuDQ7uQv+-wY zGsCUY;xh|N{IFlS6pEN!p9;dGmTdwGF@ho-3LoZ1@!9_M*x>m@eY{lvp(Ey%EtLGk zD2UY1hTxInnyyO1r4f%8Zb{H6R_T3@?mezZ%>WV zIpGuR5`wYA)KG+!GOM|CRkJEL03sb06`zof?sPFiDyC`j#;R!Rq_HI}fpjJ~f1xtp zI5yhvrcJD|mol%ECTyiIQ_J_7#F)F9afoKY=mc`3BB%;&pFGbJnYZPb?Dd}r-p&3~ zeSk5{`9ex^ik$+u9&u)P@JQdcCmt3uZxCgRG_?VJ=EsXASJ8he_z6Ls%u6vq6zrW7 zYdn%L)2#QpRwyq3nfVSjCk+ELf!6Gt2S8ndnKV&*w@ zbpWwnL7NV^oZ1AQM20<{lF&r#)q(!qSz=&xu(uCnxQuKsW z-a?`ohl>tz(PXGeSP{5t%Oa4jVe*xOH;qWpIL1b^Axw`!wR0lrfEx2II|J3Y5_2D= zt0mh=e!m$I!{17!OE4)JB79K*7)qjeQD-KXfxV#hCh+q-p#sI6Mn7>hy*T9Oc3Ic% zEaKRuwF`5krgNnQe|jsXX>d{x3GEdpT&Pk3>taWKyO0L>U^3?~M*`Pd=J!DoyJAEx z0yGEpOZc;vP)<^`-eIAmS3gkQI;S)|J_byB3E4$`u&JMQ{a_vvtzTx9a5@Og9m7IFIf!PQZg%rDcYzse;rHo@SKa^C zoV~-gUKK3yp|=S3I1W6S_4|}a>r#B=y>(dVIjLOI77gWe>S^^^A(j3rjq+fPKW9mS z;=78cVMC>Ctft)VtVJzMTHI&V+>{)ujuuJvx|S;Vv0h6gHbp5er(VWo^BK`vk|`>0 z{nKNJMF#1NG+;2x!^eNx-c0`@;?AYa{Yj%~9r%$!lD<(wF2?%inH_k90V~(Exzrpt zB`!iAJJrJ%`))?Bz1-`C+>oBGcv=XL0q{9SVDSp=3!TDc`iYx6MKfJ%g@)jTwN!JT z+YbwL2(fn09x8gMk&DHh4dP_`5nmT_BQ(mrmT+>tNxrK}Ugle4C1qC6a{1U5^|jMm z=~6Ye@s+=6e|=~v={ZE8lJJB?(7>NQ2ePoYJ!2E|_z$}PydFL}Q1Bn$ngnYegKM9b zz!q{e-Xk7}=u+-(cU}|>VQuK(@@W~m)f_L3Z?0Tb2GVUvTuI~V%os5$UW@MkMm7#n ztGg4W*Q;w-#0_#FRtIokAntTsm5lEmIjPO9?=w)z%idSNcv-y%t4FDaI2eYn*X?yx zq4|-szdHb8frOgcO@Fowh?1eos3P!6Q1@09@oeF^awJBM1bIeO_@~yEFzf@Tj{sU5 zGVoR2)f4hSI+CDm-q+Na4r$2SPtd#+M@=3KvF-b$o?N<8_xFj5zgn2nq<4(sXqfzM z4$t$UIVereZme^wOfs#_*X-zjHK9qzQ$)?6ov=w9;3j~YoO@$37+se;`0FWdbsEU3 zSyhFg!sges;V}=Jq_&>c_Ptm6z}pRps1hFI@i}>Y;=Yv@` zJ)3pOa_l7pB}hVX8G-mg{nt1?|6XqB=w=<)#oh|17JVOR_NDsrr|f+POXt6>{j;+7 zyIUAfOCoFd#k(J{&t-uqzXh28;Ga8FuTKRGQK^m&_>(MBnt~U(E_*4@OD-zOZ##b+ z-v~4tQ2{E_pc*rTPdnQ_8*42b5*!E(xf{n-PrGRb{PkT7wgn@^#U-hq8-OZslCNQ;2O@^e`P@nqH z`rbM0yv6D@i?L|egl#dKjDv$B_C<~Pk7h-r3OZ&`I69$Sx3`3lO=+=T9%=N{AD$p@ zEWPg=KsnwHy>FE|a8jsz+jI=lj8X$*{TRc76J^Dz>b;Pgm`UB>=J}>pUpPLI@h0^h zCyMK_-0%L)?3ta;r@^^8Od~x{9I7aI$W(Y@3u?fPs&uSjvtdkeYb*dQX0_rl`n$zX z)sH@y9KYR$k@fq?9AIYwz8-P9=}m1Co1b9`AbT}lC6U~bNuB{K=A7rSVh^-L#Q`w~ zniF;y&r7_g{sj*O!?s=3hQC$p`ZV1)%dri5>P9(s(Nv9tcsgHtN%Z&B#bBJK!e)(a z&U}YI!qkY_V|w6YdY!2%jmDE_;VO5U7#N-{naii|+mb-IF0)n4d+ZW`vR@7oUO#nI znr|x^zYywYmt(D5Q-%IpvMqhM*4h}oW1G1|%CxHyu8%60ZadakMIURb?OumHZHs@8 zx!3FI$zsBk;t=D@kiWqzK?k14ouQxOQ~Sx53lg7<6Z!bvG~1}H?xr&i3&!N!Z@w+b z4q_XVzS8ks3%9Ax{dXVle1A()S0NZ*A&i+U{x=XZYm6<67CzyByAu3BS$BB6EY`fS z^f2}roA6`qXBT!!6!sL1KOOR~Khc)Lk|sh(D#;q|1JJGgtAU~r$I*ZyU}%6~8O_}; zKl^q24BKbeqKEEdg?$iI+3~|g z=AV54X%gil3FxaTdY#-f>@pWhnU8TW<=E1G0y+ag(GbEIrE9;E`^#@8YOgeQ+&LUV zg1wD#VdV*In?G7`8aUAT6sd9 zjwe>j9?3~iW@>3oBv-0tC-DhElbKXGr$=qt8qv{+D{`~c za;qL@7tUtYZL^|~no?oeLpWffYMYV`JZ44BPU_^D_@C;#<05PoGo!pmdJfI=IszC%Cv`- zfLxG7h3g&ps_ow8#{*yQqM)@TAiQO|Qgy6PJ>!~BdE-C=Wjpw6>*FKsh`rKk8&kI$ zV(S?|Uu`rSi?9J!!Rubylg+JN&Ucj}>qq9y48*ufqfizbXd>;jxIt~^eTeEyO9!j` zxMBNGsW=_1K~OLw3Pz@{%x_?F%2sIl1BQo-#Ifi-bk}S-4Fp*X5j;kf1k>^)y zT{_~`pWZ79##VVXsfB`(;%Xy(1e`w7_1L*!RGk(Y)1-hjp%q(M{Dpoa%+EJ((v`t| zpn4IQDE2~j=xc_^9JLCV^n{X|D`3JEgNiGz(4d4M-30K4xK%YkLfwP&niB1A{o#Yw zHn`>(D_{5NYX5rBA3@iRo*vwWP*QL%3>z#sYWdDKw<$Amzy7tAd6M|HS<`pLhF@!eXH)R*;U>W-d@1Hw;VI*RD5 z7T(CW==R2K6W9_o%y&7}v=M)4al?OB^f<~DSJRzv*6noK(|E0NNFue(%E9&#l>s3w z2A=l_^Gc$8*0avW>%O7*`}zfV7#Xnl!%bA^C8zXXRPhmBviisbiH|m53d;v+Z=Lxi zu)5*VqihVV6cWg4Ht{wW<7u)$ZuQ$%X0A6-5q3<|A=qn?`t>y$_?Wc@asui+VkZE| zv?vfP^^M^WA2FI3D}O5ZH%n16Yxf*Uqa2cG3wOX`C%M-r=(h=?8LdE;AgWwn=cWAO zvl+6UxImmJQK~@FILheqR{E0KI4}dXJ}%5!h#K&zF7Sw1Uu?tcUALx8;@BS$Ncw)F z(CHQ*iX|icPrqNZPn%LBUesAf?qbsf02=OJky#VCdP$56s=C2Na^YIwUHkdy9Gy`g zm+(G*hB<0JN41pU)VyzNVNs<51Vq$2%xlVyjN6I6TzFnEdxQrPBblObSYi5DU@03b z{HxlKSz6t9LO&5|$FEBh{rZ#LpEtjD*n4*?OL73UHK`>z4mGRd%IVzs0>C=0r%AAZ z9(7VLG{}ajqGGehNabBj3aHOe#g%8|lU#}5TL0jet|Y22^W(mVF#iJqlukmOe#g0_ z?9g$}xUC>lxX3&`-a9(r8^*P>mw?_<3dUis%N4#$|K7=z8?~S%<#M zRnYi4XTq%x;QAQ4!C2#XOT2&l*03n3-)rC7G&ml1NjB@${y@tF%G>BmN@Xh$hGeC0G3h;sB?~Mpq4hI>T6dxs%-sdSkWxrbNLdlVwEW{`AG)6Go(C?1xrC1s@-;P@oZ|GfJSK*aI7IAVR z44A?~Z_7N9LQjH1CMC|h?Q$t~XLuV+Q2Yfzwzaoi=`LXDXgnijv#>hCcW}}qYx#k) zf~6t>ZAU*D?a13YblQV=V|w_!?oQkixq=Sf!jwa6K@#D3yv4!+3D2J%#lz5{!AR30 zb2$s9@xio*e$9UmSl*qFpk3De4_YkjWQcUY7n?h}pyZDtPCCCqUwiq8@8EHdLFFBr zx71H1E}v8$P)Viho|<3hex3>dnKkSFB#*up zlRC_nmfS=g(ObgWnUA?G**A8naH3`7Cw8gJy<~4rJE_Na=WK%PHl^E74j@~sy4wEn zhY#np&TS6;g#G%f*JKyv_WSP6|3y16<3-SK`&G0}=ig0q+*Kuf_TSM8r9|mgAK}Sn zl+Xf+Z6kkFv5PJw4~qDrlk-xovDI<`UcYddYREtp{zvjUbmp0C8o_6d$$`h5v0$ca zHDof?ma>s+2WV?Y>E(E73{TPgo^dI1brV^vXlGwmgmjP{NaiCV_e#Ud5tlW#$q@GmHGLfgQ9#6f zVSSQBxqI_E6>X&F=<6)ggWlc|t+u~Xy`n;zA7C)Hf+kZUEykiLAr&RJs3xE0FRbbE zuTHhd!-e@^oz05f{RpZ-ixxIks>(!f%OS5l*8P$oJEIBOc{ZV!uNI|iPAn!L#gO7R zvMIBu@KN|^_v+xi+DK0_)nzN4^3iAknS2G-2xww7DYz4q_lL2 zJo`S+?>Thi0g}vye>0z)zH2 z{eBvZr>sb6bFNmW>Qpl!(S+F+&wABqVVp*6qraP<0d%j3m_cX60I{(Acu+3}%(2nY z^>;cS>vz_&ldIfwib^^$AY6MnMg^LN|H#F`l*dx zLy5s~{K0niZ$~O=yrzPAYQS4bO1d|oJa@l!a^`bSTm@k6QvGZ@PSz6H7z+uu?Pku< zF;(X|{uV*M1qkr6-zAA`kZ#bbCU?h`J6s}tQa(>!iei}<$y{{(gm1WolAWbh&8(V+ zx&h2b2#s5kzZvG@?OaVg7h2SZ@nD zM;O;u*an56I5evWaZgez5wA1rk6?ZGEkn-GsJ#tjk* z2VB}Dbe?b#p6P&JtMU6 zpNh(=%>JpGuBXJL6Jp`J`LY?C~lYG-QSwu`Box%u9jybQ(!(L}RqY5wV9xcnW{6Pw>TZ>*@4y&)trFt^CcA%f=;Wb=S7- z@7?DI;=FEyX%yetE^Csucd2ON9#5c=L>=o2p3L%3ZT@DC6^=*yjL$d0nI_p%HgQ$R z@w69=R5A6-7e!6`c#_G-qD$5l1w8a9)VTTQ{bru>{GmGN~ajsG@fPwrv< z>Fc6|mEXNmMnzZ=R`|g}Di;}hy~kf;LmUA771n&im+4)2Onll+$<8>VW8wOxBYs}# z>0JjEs1ycI9HxCBvA@wYhWw3+ZKTStg=bH*VB8YGfFG&f`hV6P4zX`z$G zf+fUd5;@n$xl(XIObV$VGtqf~qY4LC=n=dA-_}jhFHrUC{b*+=rqQ$?4EZ>t1{deV z?0X_DQpc2%|6B}YbX^|A4}FhOhv&dw<7{Eq=?4y-cH<|?0C6#a7TJ7Cx-Z$YUL402 zX@+A=SZO@*^!nhzd)K5yKVN%G_hR<0*wNjeI=z1;Qw4qXhfN>TbzD+qR>3l&E)^T{ z7l69=yhU))?;mky&kx+I6t7FT*3g)N1pLgk-t$Wq1lFiqi}mZ7ft+&E@pr zBAvWCXq-}*H{bE=BmeXTc&hHn+yz2u7^%pYhI&dS)S! zckJeKJQxB%F8sKHg`*a>FDrb>4W>A(r){u)Lpe94o2Gjm6!)79@eRIe9BAf(&4|IK zm><6fj?AILO_P$+x4MpmIOFOL_;-mGVY zh22Eu|N9m7B-Ah9k=*^nkFFNEhZ#ofOvB7&jj)SA@T%*s?B?jIwlMfs9wheu(>pyD zM#Y2Cm(CP~MK*Y*=u^JF2ti=u53UbmvD^7t2R2y-aO;5Xixj*s4_RM5in47IQ)Pq! zRoc;0)}>Wdyjw`dD3th68fIon*-wuXxNbblXl9oA>rKk-wyKlsb_<=NACq%w_#z`f zM+h%|R-##5=(2+@N*hqYPXi}gaGjlf)3hq)ccr0p%fkGEiAdhpRd$@^QG_U6`8t#PH>2e(dN>+N<{k;?#^1Z^|(DQ!B+F9kDR%(#yst0 z_<~1qx2Jvp^3p$RNMU;|V@R&4CJhqja!h<=2l>c;{@M#BgjSWsBXoK9$G714b*JB_ zxVUn@xc}P~DWGHSwuj%C-mgDa9mISP2Ez9Nyaw`o$jL1T!1;m$`Jvup=f$7htU@nm zPzKic2Dx5j+WD?^IEAJm*Fl|#a&X5-BydPA&T;Po>aQcfu{t`axoi4Z;zy}O5ray@ zZzn1D_M=L_TNS;F;O65;fQ>U=$5o~u7rY=5oB!7Q%!#RsSGT-=|0nqOF0k(Oe}2kS zcIzd$?0i1>z|VbC)@cS6cSGq3@5PJvlI+e$y=cbHTvfiKsu(Cp(ol^K8Z3S8Ph#CUbxF4x)! zTndK$dcCZ6&3Y>|sux)Ik<@~0G9*e1wdtTIm40jYzn(gajqc7=3(xWUtVozl-0g5q}8U7QF5_`-+^|u?oRPilSelyi3-0W%lwPAwP{p50H-0^QZ5leXxXD05u>Es6Dk3 zHL98>PNE9nZKc%&ygZT%>fO5Ya`85oP?!>;fz2XeW%bbKHuK}&Y+9Dt|WvYyK_cQX}O7-vp2djzRefzoEs&PKXn zOv~Ze4P|oYIo!Z9Xud>wvQ$xu3`at-EnJ83@}5R>*PAqr=CezOD?*FmIkB~(0g^|Ae^FJ0fQDBoBV-rJ zw26(lno`EcI0_+87m+ymxHNKxF3gMBKWN0=(7AE}4`lNM`nROdPsBmLN%BJPE}2f{ z#(nb}WEa1Sd&Ib3N#^}&Toy_$objSBC?rWOHtv~x)xWteGXn{wmYCVu+#Wdd+Bl7t z=?a0dE`I?@)Yn)7m)sqHWAThke^(@swW`CC9Gg4D^Hv-FO%M^yZcJTHet!^TiPO8c zynat6v*KHFWf@f_Pf3_lu)bl&b*|v&(bM$?L6}W$iHcWQRpt;TQp0;$ofiH9e)2Cu z-w6Zoa%+}8{CFG7(;3gJugf=?o1rbI-$7as;H*WO9L;aGcVi)Mou^9R>B3f^zk}7&)&` z7B$7uYh&$yctb%=*3FE;ud6W{-o$PpaRW97<;F}7eg5{)GeDQNKin@cNZPB-pjv+N z!5cOoEO3XHk@}2OwT3bxQ*A>d>`en%&V2t!X6hh|l#o35hS5)rYknJJ z9@`kL5^E!(rhu&e0LSJ>VyTw$L=%vaD?_(K)Ahoe4 zWv{9oWbTLS7Vm$nJ@7n}d5G`&Z^JU|MkO$6yVJ-j*f8`K6L$A+KL20##pCN#+x_DI zfBJ!4t~?GV`}>Fi#+G+|P$S?Vy>jze@A`T?S+@$(mrSiMzq#-dB$wtE* zh`#oCWT1;j8^Qak(%Qlri>$Xq*GInrl0HeElWJ}5pG99)R$<~nsXAHv`j3OrTPM@V z%E3I#tm6*SKU0#=`{>iK=ID>{9h7Tovw+KXIt~7+L4phcOC*{9Z4){ui;(10U(<4D@kQ)8rF?~zNTX5t;C0lmx|Jub_XC*cp82_H9);X6Da9+Cp z1zs>#(?Uu{C!cuezKqljT5Uz5L14v+0O^l@Vj?b^G8U=c0u{}}LC#z|m86{(zj{kH zQF;b=NnX2axs^joc60%5!?_SJbGFVjq(kycXthSknIdw z4Te=zZ6$4Hd$3yiQLvDOLeu8orv(L|hcMywU(TSFieeeKY~Xyh?X1XajsDziS(`;~ zneYw`AhjlF2UU?j?2pZzxCJKI$w)D;sAMm**2`7QLwiAA5|+QyndPGTKqVJ`6@>># zD5RR$s`=L~pP;{Ur-)Y`0H!84*p1@@(f*Ekp$~Py4nTrlf1j*d^hEeY+LVdQ=;Opl zCF`}7h|~|!huyX=laHP^>XPc3U%%{YkbMt<@yWz z2u|ja&nHiZ1~Eu@)=sKMErvny?HTdD(CFigK6CIJW5XvyT1tUgQ#MsD{8}R5+y!Uv z(i&md0@GPZRgHeoLR@KL?>1#twJPx@t3!N(@37#wuQ#ClX3I0v>}6B~1UDdyhcqY| z?x?R&5vqT0+tjwqq0U@2PwQrlJ4pX)CYyxK;C$(AN%}K`<>xdx04?mo3Nd6+Fr{N1 zkIr)k7}o;Kg-;;ZjLpk5Sa12XONL{s(n;i&J7wB5&6sVgBuOR_o|tS2U?3I(8(&4Tc(H1?dwxcO9w%3C4aGUJ<}A)Q`L>p zex{RhBKkPMlt(7#2eHRwS;rV&jMdY3d*FN{Auj?Nu&c)vX+epQXBiMK!nmQGsfkuZ z45R?_knZTq+a8e&eU=h&2)+(1dxw+)KL;_Eg)WJoks7zV-4n1*Sy&eZnD=*&7)<7r zjt{n%w}w=X@))o&{J80}d$)0GONO)4{mkUb%9&nr0&DZK#bv$6SYC;tdGKLYBHj29 z?3?l0`7~S4hB&_N(!Vb&S8s2iFQ?eLUnrys)5^)NHy@u|txg-t3cjCpyzBhWe~U*6 z`z}In^!f9cK>_AsU%=~Tw8+&w2Uq6f@Xc8hS1qt0oxslNAG0%dHfdZOpD^>&$0+fz zG3{ZMV3$oWIXq8>!F43Hdr(x$hzZ2vi~JB2)^~be(mrX`VfqRQ^Hi8s;41`vu4acb zqBlxfL~#}&Nd8s5tPkxqy+$N(=}PdPHcmV2X9ZbEI5c{JxU}pBWc*>I5`)DWj$R_k zq#wC9LhtHd91o;-%_4OyN!dcjEU`E4`uX`xy%yy3_wb?4cAR1Wj8Jzm`1_@%0Tk_b zODb8gwyXDrJpMXzY*FrK(n;$ki$3&t!sF^cX_>skY0Ct*OWdBsIdsyy^(irbX8Xy%V9(_TXjqH(brsO4!fNA^2!!X zC7>8|___q=;5L|{pvk(8UoUzTTsM<^=OeBGNs%e#m{JXD0SZ@30054~5K!jT%Y!I4sgJ@Q>2QzkmV+PRkBnYB_QG9oN7# zqG3spi~5=d)~$!PctF3VC)o1a5!~@~hu=UBt9bXZ;U84+MTH4mUnbEgYdnA2T8&x^b+RR_7qUyCHhDn?w+YTh%mw z1i)uqAbA^cH8qmWX^w^S-8=ucaU!j2z_NMo1{Zgc+t}f~l+zny{TP>jk}Ic~JpA7w z+sI|&+?8ooTxn@kS7Pb;7ptzP$A6j4_&$_Lj6@?Uuu+d6g+aG3CU%F6k1R`ekHiY5 z#x`Yk@1NOr>M^l8SG>u;`I(sDxpE>Oy0*h=#uoN}nzjF1zf`#N9yC5)HQGWAM-@eNnRyPx+v-8OB%I(Lmr*u*R7;;WVRmlZGkMmYxRv~x}(g!6EoLVP^K2~ z8a5aQR8dOMN1f^Gcw5N2`T82qWQD7bN4{&lJg2Uc2I$|uHg4n3%mP5&zTESuP+M1O zoaF>)3$%(&+8M!S^jQ8>CPa6({CnxN?x};@Klx$0)@`aJ!1>h_IZT}!T`m$C4@x)G zQrAq!i&O*VbcMs*o2mlU;mYrodAQUKP0~^eocSI9b06AzUxG(GG?Rva^R|=KsGcoJ z33@8c9Slm;QuBxEl}$Mi23IPUrXq_*L33tHf0qaHUCZlIl?DCU30z6aN1hSj!?@i1 ze?`U(ZSH8e+h(VpWa;#Kt9I)hkJ>v8pbZyZ@a)poq`1!QGjikCrJBYW)NJQ$rX1@( zdhcYhSs$5{UpOyZTW0Wzm@bjeg?*<|2a22L^%hj(?)Of$bDzM6@fB&22O@j9cls{+ z3)V9)Jxfflb|UI|riCjmv@$CQ!n7f8cZ*(hXEdv=GLTe=^y}$;;1%{k@gD6&{G=@C_2Paz|x1{Ko77=T^qXKAmIpKvhs^Np@I{kf<_vYHxH>} zX#D$tm|~W~b3eow8lNtGnhVfDBf+a~qrna93e!1to(57*ow*A~P~L#Ppx1-(b@+cY zKC`{1yRJZIAQjV{do~LGT^~;c4Y@7(NBmi)M)IM^U~aym_gLVXheBv7uD6K82U^j} zTa6fe2FCJ$T82bj1$&@R1G{|xhte8xs$FfddFF)dm+NR#ABSi&j?`^wDL^)jLS>O| z8uTb~f>B)Bt;u%AT*%M)^CM+S%2%IfAidPhs~nrX%I&PGTRwQd?Fc*?lJKmUG|pR- z@vy|pCdtxBDNV-4TZUxe6j~KIGR<;xq@MeSM4A%9qJUSi&1EIeqbae|%|qX)dW6oz z8?ws|0xVND4^lTL_S13}W68f98RHMkz5SjxMjt3lk~0YEBum4H9=0)@rOuYYDTM|9R(JY!7pE?o(xN1~3wAF&%ceOMe`{EuS4EMVw3Zh^!1XJdl4 z&Q9c#;)x5f)_e2BiW6$~^nXOf#RQe`67xCtE7ig=>`15I%ymV2LAvh0w=BU}7K#(i zT8YgTNv`T}bEY{xiea2Z@uDfn7i-jUD+r!+E!V=Ul z@PmWU+Tco*kF0CUh-`CTC5e+>njLQ+&9GBHbHOmtBkXUTWmA;l2O*>E5_2M)M|RS@ zbo?*(xHT9*!i5#3(OmMmMjR3aEfeHP)scA+Xr2nW!keDdtIF98M7ttNQKq}v{2&AI z5YTGK!%$dnc{%&u;_(A}&jW_-<6Zm-2tdQGNed^*XT|+`BoAzH+Gq8XW|?)jNM*vN zI68IM?{vE5C1y7F$n;?nPIz4nTud3-YfirSznh$KU@ihmUE+q9jZA)eN1Mw==y5@ji=YMS|cI%!wDG z8dZ;86Z{q`y^>tu)|1XI==;L>0Ksdo0bb;0z>9u8>6)Qns0Su# z*02D1$OMC%{yCq_UWE@_6ZHLm7 z{hdSVEMaMjR&Rfq;L7l&2IUQ5LoArHAOAKNU*`pGe|>xrZ2NzM9{(R$?8*K; z+ZSJKb5=s=D)>(r)C=s=AO1d?;?5he8MF2Mu~av)%uh?js9FI+d{$;?ES|{p66u#baQ;DlvWePj@?nDKW!mTa)n% zEcqadzx4IUJ{R@2+v9zx+NyPWWdb$}`YO+3&aAt7J<&~<&MZ_fwVR?{&=DPreS>+5 zL5&39Kng=47Ko=($nv5*8-0B((FKe2+IF%^9(|eonT~Ix;?+(yDV7*v20ICR7X^v* z4w;2LXQWKC_mfiR+b%obcukuB)_-p4P~nz*Fq+m2d4jGmNmZXaL5eQ}$|w~FVy2v9 zG_gK#wBH{4YNgv@Ixv5*RyJjeu!m64DM>OD3c=cR7j{ok@(eZ`B)KzitctYRtm7f= z+v*Ks`$#6GFs`*U^j`!`{C7<$H$SquL(`0B8vTC*{~7iT-hoOBnxEWRciI_Fsqe7Pa_@oTDeUtdV?F5Obuekb0P}FP^WYnNpZe*QV7?VDY@ga_hDo#$(QX(KX z0dWg7#moqii&${-NlAwsDDK>vB6W61Y4wj42z8w7 zATK(C+E~(J9F)kC$;7_e(keJXrzrNy`68xv98EFWRn1z)vBr;`pLLbYD9W{pV=DJF zL_U$yJ_+mL&piT9nL6U=2Kym@JPGzQ;Nc@eRGjzLb@0*LzNXGuSR=j5j`n^d{=M>* z23vV16qcs5@VvZEBjdJXL7^PDMv~y;~HCqv3w|dQ$NYD=A?IWPV+pZ|8TVsd3(g?^Xld!e?ASQF#0y(1bbIQf)zeF z=-Rx{ci~9yT%0?o#m%q9$*o1NYs{7sd|aJ4rn8x?$TKt=a)dE|?H1#ziVJDznh+Q} zTLxpv_t^su5@fDfeO?kVw+1%nV;cB_`9z13si(MyumO zn)L|_BS`ES29G&Z83p=?c^{*q72i~j`EqQGq{oApq^JYU8x%*5PUe()do&I=Rf=;3 zw5*3BA0J zMOr>@dpXX&Z9v869cuF)zGCu59*(_ic_tnHyA%01A2+|n^F|~!>v+=gN|*sAJ#Wb} zWVrKwa&(cvcztaDC$j4D%kt*Gg95j2;WaA9xd8gNW1Ae#XR7SQ%Jvy?x{WSBqHp7IGvz++Y>T7zd=nEe2UUcA~_G5Uqd4(s< zCq3?Z@CSo8O)WSVG@30PUb_NNtaQnt>jSgmVEsSC5)Fx8o6D(BeM+JLcg&5lfshKrYcq<$!E!O>*3`j(Jr#o)zfT-HOMxt*VhLj;q{6aPWI;GnHnR^RI( zTqfyv+_{GyG8B9`?=!x&NC7{k_6EfhC=B4@Pdj8N_B*C1f?8HJ0R3G1AynhyGN0Vu zPK_*Y${#9{H7h9wcI7XyWV-&b1M7<9Ea?seS+}0)kFnfQfi8veDvD?X=Uuv~XJPzs zoCV(J;GKtgk_x;2ht3Gz=4q+MFpL8P)SKp@=mc-0MhQcaAhH*;q`b|?yJt|Gm<05# zx`7T!V?Z}K8MQol4p`||6$4BSs7_LM?#F_Sqq1WM6UBOP>?*-7l7&E!1^$Tjvp@Fx z|GU!4e+`6B)_FJY?ZU-U8Nzz7ANhUYB32JZ62>LrpmT_SfbVb!C@8qeHEFZ|>uQNJZaYir?Rfc-g%s#|y5X zR}p#VpGCdo+6Ru~tkg_AP5*%Th0yMP$>((ro`P)+a3joS)ob-SeAOmD)AyX7AshI}o;%h#2T3!hOb;lZF{6U1$Bxk#NN8QG~;N;1jR> zx|E7NbOtUJMfsdHGmncB9iRwIBMpGO+p8*JgRAl&9!P*|yyfT3lU0y*wo*L?j$hL( zDdg&!+?{+q-pZqQ<)w@h29HblnM~3*%YdgR`@a;Q&u0>~ zt0_PQ%!ET*z-rkRbn)=JMVr83RcreLs{*ms^2Txf)IHD_!={UsAKpT-$U4LNg&II; z(>yeTq|lIv5qsyvMp#-p$NWnvuk|a!*WY0fQuXiGoprL1uxTX`#Dc6~)L*t7?%;cE zlXkl^mSH~ObXU{8$=zo+9=7o9xW~k=@5j6!(jN5O7 zkFrve>Kvi*$mm{>m34k6>c)X-MFT6!B1U@QDYO^(G#K{c1$a5MWwDixli#tdjSL6( zh3=?Ov{PreVTZZ9?8hTFyp3nQ+}ZbK3Z8^(sCSBdr@7T|nR(_38yt8!)_mj)PG|PW z7p=uIPA{cXwaeRdIHok*MRt%g=4@lW27H;GaQAkm=L6y042fcDl=iBIQ^e77gQ?SB z|C1uTa4r@}g)%=kJ2e-mUG#qH2&0Qx*mH#&nVc+$FYUxb#tdB=fI2hIpV?Oj(&pWb z45SKOy^JRC*e_-4wYut^+t`*lx+5_`o~P?7wJ0{wbD%iyQ_)%CX+3(sP9g~;^?$vd zBsr2cvMdpk8vjxE@~!+(MJVNRNlh3|8t-lStm&~%@X7zoz7$>!LzbtQyDC-WXvV!N z?MgK-|6o^HrOjb1Wx?p;_}N8P;IIaNa#=V2umXMy(F(`bK30vM;o5a+7x-jlvLu-( zetlvzSU+v^S+A73#(jTbyG+M@*3n04*C%Byj(P?9wr5(aJKgH$G%Ny^^syNbOUHDT>fmE#Vx-XZ-_MV<~P<6&=I_DE>lY^u^KQ@pMG_4XlfYV$bP! zTe7sh=#f(!1hB`kN)67d#Tp1A4bIRJyfpAxU3rV{F0Loy+jUFhqoX9Fr%s&*7J1B z80viW_dB7n#8MnU;kzv&ihU7-d;s5Muv_WpZbYqB*Ly}M)9)w~Kc@z*+CQD$n$%mg z1(W#t&U&tDuGxM5iwEPu}CZIbfT<%{6mitFSJbZQa!nXZp zYpo&}?G`dOeqt3hE%@l zK+NG5vdYkenJG=6YR8^ZQmn=;@UQrtOI%4OmtNUhQ~R!BQ-b|E-IPaSNCf&tx*N;Z zBL;=yuS#s1Q%9@nyz@FQvG~w}A5Il_2N_gNcS6L3k}8vu^h4^hm&sonzV$L@s67wh zN0*B#=Sl^O!7>z~@momVeo24TR zpfUWZ-+;y-u?MYb)vj5-DHzC?Hxh@=i)%fGiO8>cV2 z^GzEHoy+vlEsB)YVdei=W=J=DX|vq0(~@%O(<>#1gILKC!E?Yzf`;&$W!yz z+dDCvAG7)ibT9E^a zhT}C<(D_QawzzLtbt|@_9X*U}!rDl0_A+b`a z{ttV%1g(MSbYo-g7f!Fa*hM3(J;8awAzaUS)v5Fl;T&6t`1Q&TfAvvao7_sYVw4_F z)W-|NPYK?g^zXQN;&wCx7$RH1?F7#`*#pqKla4(aqOa@L>hc&KM3XM zn8tYclx+-GW`s(GauE}A!n7>+yuF5YN4L0BP~>yuEa~yjksT?F9RIKS6RP*6FBA-5 zcCt4v!)?W4bd(~+^U#>=0Gww4^P=CfT&XdC%5R7KlNS%}XwGl4U?o47;TN1pf)aM59u26F!_W8t4pC`m+6JN{fgqb?BPn?kSHV7kL&c4g1eS7pHOtJm^US1?8 z51lOz#2mLDvl({ibmju{uFbmdHrTeV!v3*#E?;%E?7k5tTN%6V!b^2=p!uWwZjfxB z-LH>u?)az*XYZdc&ftx(%@;lVsWgExf`AUM5CdVWftf(3^-{+AFAMFi5OPmnC6y4eW#kwOXvEbgrAoR?>7=KO zg2hHPp+kV2qIRKCRq!h}AZ$DGK_IdrJwP>8egMEr%Q@_*#g#3@{S#Kym$NB(=Vibf zG8%gCojOjEmw@>l_{nYYrGDZt?q}vAsC- zo4)D^DKA?eeX6^{Sj8Tn0T3$*pw7 zXf7wUD(-3vUv;Q=&*NA7WL*Dy^NoB|Wr1aO2%xG|(;y0ec4lnwB<9Bmj)_y8v7yl* zpz zh-ud~x$rv_XH!>LSP($@+TOucx$F~tc7B%ff2z{lI=&xAI8tf~S6q!SpMvAcUq1I- z?WFp$FG1D3?-sjolde2rnBj4)gq&m@;a=s#IP}=145fLWQjY-SxY=&tli_Nakc#fdOeOOfsC)lrFjf9B@!p7eo1MWmTZHee`ns>dMG19S(1Vjp zFB^X)5zRg&fS2tOA02RNySmob-H(?iC$0~L8c!@aPIx1%iy3s#1^D_Vz<6eOw=`}k z^L)=7&{vo*T26o=|plAkyXp1EE# z9THXf+aRXGj|*gHeT`3B(f3Qx!#~cCl}|P+0uAv>r1wfbqVq)`l8D(2$jnZbTL{bM z>sD9G=@fa2pa=KN0nS2dpJZ<1ZC4&UetDaJvN&t?st!-_{&f1uCbz5a+|K4}dHm;< zd&GavnJM;~pX4i@oOg8*IR>RK=8NgW?!LVgc7lyC;DYTVMN)TK&6ZTfb~nks$``m~!9KK_Pi^jJw*eR$o8A7_81 zH-$&ZJXE2K4qG`P$r3fsA&`thxRGQUw-hKMn)NuxX1Y0?*cioVU~T~N=7naPW*2xB z%ZG9tq?)Qy3>WbAI+hY42{ByyvOIuI=xA3h@1B$5${6JBXPANu(E*7f6>m=W%}T1@ zUFCk_m<##{_!9^A`<12bYL2UDkutgB*;o5RQ~!M{9_AYz8;kHsWo$}PF24q{+ygt& zKPg$`!>O`(o~e3b{0$)>z|AyZwER2goQi6t-?6Ol$aSZ}PQO*d)CqOcT4vCq?x56a zCw8UD7YOx5ZA$-S#}doe!=*HwjyM-9b^AzM;^WKXw?juj!CgMCDhqVsCIS*AiO)U9 z0~vcR@fl!N!vJK(s$*+s;?uo^^P(We?H5}9JueSS;KaZ2T(QBP2#|rC5bCC64J$tr zUlGEINN2z<&(e=VJ{}&$##`-Nd_Kwg8!{bSyYyX7@O@-6X2B@feHe)(dxugLu@>5I zO?l`<2xe@>r)(Rh+WV&H{4%QC*t0uMQF(UkK}B-JSMAKL-!(9Xk9 zBv*8Ggqhx+Kzq^^WWa3VZS7K%xS?Q03lnGFL@SO^8T&-wo>M#L+xlJe5^ks&a7SHy zN8p-E4Yy*uXETIe60QI!IsidrPYCd{-k!;u^+Zf43#V1}@!*8y-n=!}6%X|4`;{Qp z|HvgyqH!fWXX+YzP_$kbyOJnx(Rh&fqHaQo2_RA4Uew{ssmG)!uU-+TZ@Pmt zI_?YRt;%JX$y*uVx~7e?2LHpSVb@ZwkgFR-q<<2#n{rZpWUm$bdVSAB9GTm z0a2rcIhSH=j1Q)q36cVOx1RX`>_k5g4DVJwaqzWdavryGAf0^*I(OTtD_eEsh2|gz@W=7}iz3`VB_I7m zaC3R4QGLAn>?B!(qWa8mvB9mMnJ;#gI7-)?a>l$XDjW-x-A*E15VVFcp&S2$5QV5F}9-pXSHsmb{J z3vtSM129SajYuzQh448zRg3ZZ3vqN_1UtSZNihvOU)L?&*5om*B%kQ*SpL@IuzS>Q z2Y(pOrZ-D}P(rVNQ=3BCe2yP+bFVBseSC7`lSiTC)mE- zithCy63Ux99BTT>_0`nKrbl@ErNgKPXrfYpc0liG_-**4B{i>5S~tRKlh59S9P!DC zJ8+jSCBs>$op?J1_9?({ldqum<0iMM)_+c{sO>&m*%HbA+&`geBbs&G!)y~Jy;veX zBOz%5K233uCW%-^sw2~gj#u*aa~EjEV=W|gkM9RyiZ0J~PHdmEzoy^)(UXQpf0`bN z4ZrOD$$`XXF5WFVo+w{zzN*ik>2jMI?ZK|(R*Fa5AKa&&8GkM6tLEarE{VKhp;TM& zcnoAArxJBbdJ5i%>8o3*uqV{^{%bx@Z5 zr^9c?2K>il1zGedBi+K8jK6WIghxIuwr=&^c6>{S_gJNQh%s^$?&1-6l!|i>49RBH zMVy$a+)o)83CeEW81I8iWMvKah8qNY<@wv~oa{}(Ncq=rnbKEbV~}PG1e}o@%bA3- z{Zj{jYt>38vnFcG|5zhD^y__&id*`d9-|Kj{#tau_VIhGsCG6GUwKtS3`Z`T&Fv0 zcsOz<-vdmw!~&KQW#ri|O}Y<25pBzH_o-vz1*D$DhD~$x#Yiul30`KbClp_6!E0wQ zRJ#xb>gC`3>V5*4Y^!^Gy5>jN4T89aOVinfLA>V4ChUK7>rA)T&do8;CC=l#^})fU zYtRVfYTG$KMyBPV)Ye9lWjif7m+9uC@Yh>n3P%r^PAmw78ez9tiGG+})kx z4#C}nyF=091zOx)in|xMdG5GlJnx4$|KXgov-eta;%8oFtS;ttI`o_&M zdGBtOI(im-rMovW&n-t0=45T%d8F@&@H7OKZ~UJ2ZOU>ClCVBdSoc1V)Q-YDIP3nW zv|dDJGgG;biT_}^tXOy0x$?3-Z>+Lu{l}yyFnX;~wEV#T%A^E0smWmI$O?FK5?YU}Z3R<)*j>c@Xaj{=bX$p9xj=hC+RP)rr`nGv1xmh zcI3kbek%W#9)~#w(nO6cyM#F$)o_S_q%@Fgu)@5mQ&)U44IaZUhKOqj*g9N(nkr*Z zk=C_K^yqlJq&@Tms>I?J7=9P@^$;N1T;MxBFR0GTZKP<^YYjc3Z{FZGskSj~vd+rU z*$RXiORa~j7etHn$48o)0C|}}^1UC_NyrGJfZd-5`0^)*YLO9rH3XaN1u8gARc2#L zN8aVzx5S>YOo5t8teYseirm&v^Ip}dX@LwSP16uP=p~wFiH$!23F&Wo92u?-DyHJ5a#Tua z)l5RA)urD62%s&?WLg#|scI&3)9%Ed5~#ODhajPCfV^xKj&>$bIMF5e zG_Lzm%-^PuW(Qs6fqgEtjJg#5A|#`@nm!sRvB1$l_XE$%HqMXVbO3!@bva{#_H_ zh$vE?r0lTJ(g_J8JJ+Yghw)Py@aBiM)!)e-T>z&e zHr{0GboOOgT`2E77VywS>yV8byAl39{n6MHUr_;k?D?2Yidg7~O7BCHj00OdV2^)N z3Zv4GmrplOY$G!vO|fLR?u2Iz1kr2ha8$)$Uvl}cRJhA+nKIDE5DF?KOb3DZaqPj_ zyY#fs#~)B67cm6_UyU;SMwUs`ub22@@|vW-`Exh?ajjuJBF1Sw2yL|}Gxc1x900kq_U2{2BRtdCw&H6|8J9Q8bBevR@B&t6ze~Z=oDnzms0C-h z(ph^CO_y9{5v%c>QST$VG!k|lYG?j?f0DgG(|?g zVxHuiZKb9HajEdnOprC2ML%zixwYRp>d@=(Bf4EstTJKngk52_xHe!Y7~;F?f{l2U z*ALdT_zD6y4a;-6f89crk%YuXik z3v+j+N7Ot1c$OTQhux}@xUIkhe5#i%_O3}ot=HSBtKpuEFkm82&Jn)Ji8ULm$A$+cINkeVKIPoWEvEqe=4 zZZB{ZVDx7&3)Xwck@k_{;Fq+@F#Z-TV17SbmJI+Av-t;~rt>Gfd@wqs1dL%SpPssk z{lfB7`um`J)rkdAV<^lX{ey-AXOx4IFw>QX^~vl#Q~D3n#{ua@V)(#Xy)Rtcu3R6C#A~S+r&6S?q*)W6nh^hWV_39S4R`JKSUw@ zv1R9EL=qt2L`j&C_)2`&DY5dBbnGQJJ(?!BgEH+7-#r9PhcQSHiXE4XFl^0KT{p9-83&Uf=efPZO+lHM9F%X za!=~%ZifBa?eP@~i~{EWQsE0{`+^XC=+j%~vHsBBb<+<*^bE<`&Up|Nbv{;p8DyD4p&8ORi4f*j!TjREhn5m?@1hGvb zy|rZphjbkk!5W##4I>U#1V<`{|1djhN49vRQ$GYFBdY-<*%DfoxiLY;tyxF{#_c2- zNk^}r8R>cdqVvlTEuJPdUeN-5^j)1Be%2|BjU{rXxPcdVSy+Xj(v*76rx~(hIP`YoU{)E>3UV=f+aW# zM?9mZr4pQmd;)7bL-%698Fr5vRkis?I)fR$US^@>v&ESPF4E!in152$k zkHat?ZV+4jK4xCts9}^4cJWu)T32$44FVO8SrjRc;yJJoGJEc0SzNN13MV-=+N+MB z1XsEEqO4cx?LLO1yQl1CC;Q@u)V@CswlNO%J6Y`TuEB9fES(ifSIiYOJ;ZLRUbJ=P zU*+D#)SeTi#9i_e8UA2FYueMNQMLZwvxOV$&Fs;g>SUyi#nVl!W^D1`8=0|$OF+P~ z^%3?UTH@TeCW-PQH{`JVoVmk~b*CR3jN%bIamVCZ;RocM0OaG!vh?QMEu2XG@!6vKBK zUPB&`%#G`>O9nGAYfroLGf#Zm4qVl+@VV`Voe0P;DxOB2*okmu{;`fOdsaj>Ob2RU z?h=T=zL7v!se^O`R4+cai>ftU(AZu>>gof`5^7Gw^vR*8N6Tf%f$gner74YafceVz z^hB&#boxzI0MW;fTEbN6Zt?DPJBSzfwl3Incnd*_PT97D1$wjCmwZafJ1W8@VM~DQ zI(G>$;^b&NQp6X#`te97`WciIJkG1ZY|@lcM2IvVqdI>gSoT`g$vZvyKqB8YW=I5I zTG6+HYtCGbWNWKhEz^VRy$r~s#5Jcf!R0^>hND>?aU~x9#>+iJuWBlw$QDz$|8)u8 zQCsS(X|R$_nHSgh1Ki&SxE1t}h65_X&T)oZw$E(v7&YHAz>Cg1uVgx_XX9keOTs*T zMS{yl(1I1II#^(7b6k9=XySybC|1!WKBkHuhNw%KwF3+)_76Ht$5?2c+HZUk8{!>F z?kKy6^!5w|jV}V;H!azl0SBkcjB95UN@Z=GRIQt-8?DkIwunlqfFcx;4TN^ZfyF4K zaDmuW=%0*_8JmqZHL6%+amFm}PpihEDhx$o^#rkn!I|smteWFF>%9D-tPu-(!*QOk z9LG_&u7h=y6@DjlN9?LuFq0*ED10IF(_(fxY z3esh7e+oPx-KK?2ZgeXBe!ysl+1`0}YFgG3?_JNg+>B-w!`1`T?bo^~JNrq9&J2lVKOvrGVM7{P%McCgATxx@r;b9oXnGum0($xds( zr_13so>sw&Tw_aeymXYpZwFm+2~PVi`0IG<&Y1pPB?=@cV%6-hh7|vxN^0pevOVbr zXB_v5%#rElM(^giOVJLV6GZD1w{)&bNHdO@Q~2^|fs4pS-38!C1t|S77n|w^plJs( zRL^@wT8H=kccrAuFD;~tvD~NtC)Ci9k4i%z#t08CJk8FckobUip5D6d004`ZLP!tf zX9-e+;Vn%6NOPKhp6}WZmMn8)GTz%^9c(~l&?oA@lhWPeAd))>Dq}9vZxHcTV*6I# z=@u!}z^xXuGoY9EamQ-TvZS*s>PO;AZGl2Z0Ll2@L5wA>!9ouVW>y|yM39Z>f_f(T z!UINCbrtqMCBVP2%&N~Q4Ni&kqs?dyV{J|^_;BT8!!uELPC+id`i5#9Q0OrwU>-U~3?u1mMSz_Q8I z;4>$^3Y8#@&<JJBt+H@oS-)3DbIMf4@WG;8Kn4m zv3y3kcK@2!^pQ{2xUC1q$Q!X*8Nl_o?F{*}4dB``_o3Nkh#d^1H@su^?=2C%`)EDr zf=uJ3s!%Y-V3=(Ey6fxhxR!Tp{l`U(0H2n~{^TAX+zzzqQhxtvWkAVV-rY-%MW>Eg~#md#AC- z;T5`+(~bR=eMg+Gj19>ho%1}e`9N!}@KD=D=*kHVJX$DZ?+^U;=^2&zNgj8t6Z>$t zpo;J*yx6Jdf#Tx>Z%;BvyZd>3VbsfeLYX_G7ZMizRw+iK+KmTktj+iJCPYkLzTgV{ z=XK^2XWp4+u*naAzR!KmC`k3bEID|6?MM64`L-QBb+!Q(d7%Wgw}{;QH`?)+*m3n` z%YS_1hu<5%@wPbvOU3r6-1kANk4^`>OL;k-T#e93(!jkClg1qc?lhfSAw*F9dJYlrcKJ^G9D-gN&UB8d20P